first commit

This commit is contained in:
sceptillion
2017-12-16 23:54:22 -08:00
commit 670fef77ac
305 changed files with 758939 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
*.pal text eol=crlf
*.s text eol=lf
*.txt text eol=lf
Makefile text eol=lf
*.mk text eol=lf
*.c text eol=lf
*.h text eol=lf
*.pl text eol=lf
*.inc text eol=lf
*.sha1 text eol=lf
*.sed text eol=lf
*.png binary
*.bin binary
+42
View File
@@ -0,0 +1,42 @@
*.exe
*.o
*.i
*.elf
*.gba
*.1bpp
*.4bpp
*.8bpp
*.gbapal
*.lz
*.rl
*.pcm
*.latfont
*.hwjpnfont
*.fwjpnfont
*.bat
sound/**/*.bin
src/*.s
tools/agbcc
ld_script_ruby.txt
ld_script_sapphire.txt
*.map
*.id0
*.id1
*.id2
*.nam
*.til
*.ld
tags
types_*.taghl
*.swp
*.swo
*.s.old
*.s.old2
*.dump
*.sa*
Thumbs.db
build/
.idea/
*.DS_Store
*.pl
tools/
+108
View File
@@ -0,0 +1,108 @@
AS := $(DEVKITARM)/bin/arm-none-eabi-as
ASFLAGS := -mcpu=arm7tdmi
CC1 := tools/agbcc/bin/agbcc
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm
CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp
CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef
LD := $(DEVKITARM)/bin/arm-none-eabi-ld
OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy
LIBGCC := tools/agbcc/lib/libgcc.a
LIBC := tools/agbcc/lib/libc.a
SHA1 := sha1sum -c
GFX := tools/gbagfx/gbagfx
AIF := tools/aif2pcm/aif2pcm
MID := tools/mid2agb/mid2agb
SCANINC := tools/scaninc/scaninc
PREPROC := tools/preproc/preproc
RAMSCRGEN := tools/ramscrgen/ramscrgen
REVISION := 0
# Clear the default suffixes.
.SUFFIXES:
# Secondary expansion is required for dependency variables in object rules.
.SECONDEXPANSION:
.PRECIOUS: %.1bpp %.4bpp %.8bpp %.gbapal %.lz %.rl %.pcm %.bin
.PHONY: all clean tidy
C_SRCS := $(wildcard src/*.c)
C_OBJS := $(C_SRCS:%.c=%.o)
ASM_SRCS := $(wildcard asm/*.s)
ASM_OBJS := $(ASM_SRCS:%.s=%.o)
DATA_ASM_SRCS := $(wildcard data/*.s)
DATA_ASM_OBJS := $(DATA_ASM_SRCS:%.s=%.o)
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS)
all: pokefirered.gba
# For contributors to make sure a change didn't affect the contents of the ROM.
compare: all
@$(SHA1) firered.sha1
clean: tidy
tidy:
rm -f pokefirered.gba pokefirered.elf pokefirered.map
rm -f $(ASM_OBJS)
rm -f $(DATA_ASM_OBJS)
rm -f $(C_OBJS)
rm -f $(ASM_OBJS)
rm -f $(DATA_ASM_OBJS)
rm -f $(C_SRCS:%.c=%.i)
rm -f $(C_SRCS:%.c=%.s)
rm -f *.ld
src/agb_flash.o: CFLAGS := -O -mthumb-interwork
src/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
src/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
src/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc
src/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
src/isagbprn.o: CC1 := tools/agbcc/bin/old_agbcc
src/isagbprn.o: CFLAGS := -mthumb-interwork
$(C_OBJS): %.o : %.c
@$(CPP) $(CPPFLAGS) $< -o $*.i
@$(CC1) $(CFLAGS) $*.i -o $*.s
@printf ".text\n\t.align\t2, 0\n" >> $*.s
$(AS) $(ASFLAGS) -o $@ $*.s
$(ASM_OBJS): %.o: %.s
$(AS) $(ASFLAGS) --defsym REVISION=$(REVISION) -o $@ $<
$(DATA_ASM_OBJS): %.o: %.s
$(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) --defsym REVISION=$(REVISION) -o $@
sym_bss.ld: sym_bss.txt
$(RAMSCRGEN) .bss $< ENGLISH > $@
sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt)
$(RAMSCRGEN) COMMON $< ENGLISH -c src,common_syms > $@
sym_ewram.ld: sym_ewram.txt
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
ld_script.ld: ld_script.txt sym_bss.ld sym_common.ld sym_ewram.ld
sed -f ld_script.sed ld_script.txt >ld_script.ld
pokefirered.elf: ld_script.ld $(OBJS)
$(LD) -T ld_script.ld -Map pokefirered.map -o $@ $(OBJS) $(LIBGCC) $(LIBC)
pokefirered.gba: pokefirered.elf
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@
+431
View File
@@ -0,0 +1,431 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_810B858
sub_810B858: @ 810B858
push {r4,lr}
ldr r0, _0810B86C @ =gUnknown_203ACFC
ldrb r0, [r0, 0x4]
cmp r0, 0x3
beq _0810B874
ldr r0, _0810B870 @ =gUnknown_84530C4
bl sub_8003B24
b _0810B87A
.align 2, 0
_0810B86C: .4byte gUnknown_203ACFC
_0810B870: .4byte gUnknown_84530C4
_0810B874:
ldr r0, _0810B8E4 @ =gUnknown_84530E4
bl sub_8003B24
_0810B87A:
bl sub_8002C28
movs r0, 0
movs r1, 0x64
movs r2, 0xE0
bl sub_815001C
movs r0, 0
movs r1, 0x6D
movs r2, 0xD0
bl sub_814FEAC
movs r0, 0
movs r1, 0x81
movs r2, 0xC0
bl sub_814FF2C
ldr r0, _0810B8E8 @ =gUnknown_8453098
movs r1, 0xF0
movs r2, 0x20
bl sub_80703EC
movs r4, 0
_0810B8A8:
adds r0, r4, 0
movs r1, 0
bl sub_800445C
adds r0, r4, 0
bl sub_8003FA0
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _0810B8A8
movs r0, 0
bl sub_80F67A4
movs r4, 0
ldr r3, _0810B8EC @ =gUnknown_203AD34
movs r2, 0xFF
_0810B8CC:
adds r0, r4, r3
ldrb r1, [r0]
orrs r1, r2
strb r1, [r0]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xA
bls _0810B8CC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810B8E4: .4byte gUnknown_84530E4
_0810B8E8: .4byte gUnknown_8453098
_0810B8EC: .4byte gUnknown_203AD34
thumb_func_end sub_810B858
thumb_func_start sub_810B8F0
sub_810B8F0: @ 810B8F0
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
mov r9, r3
ldr r3, [sp, 0x30]
ldr r4, [sp, 0x34]
ldr r6, [sp, 0x38]
ldr r5, [sp, 0x3C]
mov r8, r5
ldr r5, [sp, 0x40]
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
mov r7, r9
lsls r7, 24
lsrs r7, 24
mov r9, r7
lsls r3, 24
lsrs r3, 24
lsls r4, 24
lsrs r4, 24
lsls r6, 24
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
str r4, [sp]
str r6, [sp, 0x4]
lsls r4, r5, 1
adds r4, r5
ldr r5, _0810B954 @ =gUnknown_84530B8
adds r4, r5
str r4, [sp, 0x8]
mov r4, r8
lsls r4, 24
asrs r4, 24
str r4, [sp, 0xC]
str r2, [sp, 0x10]
mov r2, r9
bl sub_812E5A4
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0810B954: .4byte gUnknown_84530B8
thumb_func_end sub_810B8F0
thumb_func_start sub_810B958
sub_810B958: @ 810B958
push {r4,lr}
sub sp, 0xC
adds r4, r0, 0
movs r0, 0x1
adds r1, r4, 0
movs r2, 0
bl sub_8005ED4
movs r2, 0x48
subs r2, r0
lsrs r2, 1
lsls r2, 24
lsrs r2, 24
ldr r0, _0810B990 @ =gUnknown_84530B8
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x2
movs r1, 0x1
movs r3, 0x1
bl sub_812E51C
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810B990: .4byte gUnknown_84530B8
thumb_func_end sub_810B958
thumb_func_start sub_810B994
sub_810B994: @ 810B994
push {r4,lr}
sub sp, 0xC
movs r0, 0x2
movs r1, 0
movs r2, 0x81
movs r3, 0xC
bl sub_810F2E8
ldr r4, _0810B9D8 @ =gUnknown_84162E8
movs r0, 0
adds r1, r4, 0
movs r2, 0
bl sub_8005ED4
movs r3, 0x40
subs r3, r0
lsrs r3, 1
lsls r3, 24
lsrs r3, 24
movs r0, 0x1
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
str r0, [sp, 0x8]
movs r0, 0x2
movs r1, 0
adds r2, r4, 0
bl sub_8002C48
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810B9D8: .4byte gUnknown_84162E8
thumb_func_end sub_810B994
thumb_func_start sub_810B9DC
sub_810B9DC: @ 810B9DC
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r1, 24
lsrs r1, 24
ldr r6, _0810BA10 @ =gUnknown_203AD34
adds r4, r5, r6
ldrb r0, [r4]
cmp r0, 0xFF
bne _0810BA2A
adds r0, r5, r1
lsls r0, 3
ldr r1, _0810BA14 @ =gUnknown_8453104
adds r0, r1
bl sub_8003CE4
strb r0, [r4]
cmp r5, 0x6
beq _0810BA18
ldrb r0, [r4]
movs r1, 0
movs r2, 0x64
movs r3, 0xE
bl sub_810F2E8
b _0810BA24
.align 2, 0
_0810BA10: .4byte gUnknown_203AD34
_0810BA14: .4byte gUnknown_8453104
_0810BA18:
ldrb r0, [r6, 0x6]
movs r1, 0
movs r2, 0x81
movs r3, 0xC
bl sub_810F2E8
_0810BA24:
movs r0, 0
bl sub_80F67A4
_0810BA2A:
ldr r0, _0810BA38 @ =gUnknown_203AD34
adds r0, r5, r0
ldrb r0, [r0]
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0810BA38: .4byte gUnknown_203AD34
thumb_func_end sub_810B9DC
thumb_func_start sub_810BA3C
sub_810BA3C: @ 810BA3C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _0810BA6C @ =gUnknown_203AD34
adds r4, r0
ldrb r0, [r4]
movs r1, 0
bl sub_810F4D8
ldrb r0, [r4]
bl sub_80040B8
ldrb r0, [r4]
bl sub_8003E3C
movs r0, 0
bl sub_80F67A4
movs r0, 0xFF
strb r0, [r4]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810BA6C: .4byte gUnknown_203AD34
thumb_func_end sub_810BA3C
thumb_func_start sub_810BA70
sub_810BA70: @ 810BA70
push {r4,lr}
lsls r0, 24
lsrs r1, r0, 24
ldr r0, _0810BA94 @ =gUnknown_203AD34
adds r4, r1, r0
ldrb r0, [r4]
cmp r0, 0xFF
bne _0810BA8C
lsls r0, r1, 3
ldr r1, _0810BA98 @ =gUnknown_8453104
adds r0, r1
bl sub_8003CE4
strb r0, [r4]
_0810BA8C:
ldrb r0, [r4]
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0810BA94: .4byte gUnknown_203AD34
_0810BA98: .4byte gUnknown_8453104
thumb_func_end sub_810BA70
thumb_func_start sub_810BA9C
sub_810BA9C: @ 810BA9C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _0810BAD4 @ =gUnknown_203AD34
adds r4, r0, r1
ldrb r0, [r4]
cmp r0, 0xFF
beq _0810BACE
movs r1, 0
bl sub_810F260
ldrb r0, [r4]
bl sub_80040B8
ldrb r0, [r4]
bl sub_8003E3C
movs r0, 0x1
bl sub_8003FA0
movs r0, 0
bl sub_80F67A4
movs r0, 0xFF
strb r0, [r4]
_0810BACE:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810BAD4: .4byte gUnknown_203AD34
thumb_func_end sub_810BA9C
thumb_func_start sub_810BAD8
sub_810BAD8: @ 810BAD8
lsls r0, 24
lsrs r0, 24
ldr r1, _0810BAE4 @ =gUnknown_203AD34
adds r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
_0810BAE4: .4byte gUnknown_203AD34
thumb_func_end sub_810BAD8
thumb_func_start sub_810BAE8
sub_810BAE8: @ 810BAE8
push {lr}
sub sp, 0x10
adds r3, r1, 0
lsls r0, 24
lsrs r0, 24
ldr r1, _0810BB10 @ =gUnknown_845311C
movs r2, 0x2
str r2, [sp]
movs r2, 0x64
str r2, [sp, 0x4]
movs r2, 0xE
str r2, [sp, 0x8]
str r3, [sp, 0xC]
movs r2, 0x2
movs r3, 0
bl sub_80BF5D0
add sp, 0x10
pop {r0}
bx r0
.align 2, 0
_0810BB10: .4byte gUnknown_845311C
thumb_func_end sub_810BAE8
thumb_func_start sub_810BB14
sub_810BB14: @ 810BB14
push {lr}
sub sp, 0x10
adds r3, r1, 0
lsls r0, 24
lsrs r0, 24
ldr r1, _0810BB3C @ =gUnknown_8453124
movs r2, 0x2
str r2, [sp]
movs r2, 0x64
str r2, [sp, 0x4]
movs r2, 0xE
str r2, [sp, 0x8]
str r3, [sp, 0xC]
movs r2, 0x2
movs r3, 0
bl sub_80BF5D0
add sp, 0x10
pop {r0}
bx r0
.align 2, 0
_0810BB3C: .4byte gUnknown_8453124
thumb_func_end sub_810BB14
thumb_func_start sub_810BB40
sub_810BB40: @ 810BB40
push {r4,lr}
movs r0, 0x2
movs r1, 0
bl sub_810B9DC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _0810BB70 @ =gUnknown_3005008
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
bl sub_809FD58
adds r3, r0, 0
adds r0, r4, 0
movs r1, 0x81
movs r2, 0xC
bl sub_809FF48
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810BB70: .4byte gUnknown_3005008
thumb_func_end sub_810BB40
thumb_func_start sub_810BB74
sub_810BB74: @ 810BB74
push {lr}
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
movs r2, 0xE
bl sub_8150048
pop {r0}
bx r0
thumb_func_end sub_810BB74
.align 2, 0 @ Don't pad with nop.
+1473
View File
File diff suppressed because it is too large Load Diff
+13887
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4107
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+977
View File
@@ -0,0 +1,977 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8078178
sub_8078178: @ 8078178
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r4, r0, 0
adds r5, r1, 0
lsls r4, 24
lsrs r4, 24
lsls r5, 24
lsrs r5, 24
ldr r0, _0807821C @ =gUnknown_2023D44
adds r0, r4, r0
ldrb r6, [r0]
ldr r0, _08078220 @ =sub_80782BC
movs r1, 0xA
bl sub_807741C
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r0, _08078224 @ =gUnknown_83AD048
bl sub_800F034
ldr r0, _08078228 @ =gUnknown_83AD950
bl sub_800F078
ldr r1, _0807822C @ =gUnknown_3005090
mov r2, r8
lsls r0, r2, 2
add r0, r8
lsls r0, 3
adds r1, r0, r1
strh r4, [r1, 0x8]
cmp r5, 0
beq _08078238
movs r0, 0x1F
strh r0, [r1, 0xA]
movs r5, 0
lsls r0, r6, 4
ldr r7, _08078230 @ =gUnknown_202063C
adds r0, r6
lsls r0, 2
adds r6, r0, r7
_080781CC:
movs r0, 0x20
ldrsh r1, [r6, r0]
ldrh r2, [r6, 0x22]
adds r2, 0x20
lsls r2, 16
asrs r2, 16
ldr r0, _08078234 @ =gUnknown_83BF574
movs r3, 0
bl sub_8006F8C
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r4, 4
adds r0, r4
lsls r0, 2
adds r3, r0, r7
lsls r0, r5, 1
adds r0, r5
lsls r1, r0, 4
adds r0, r1
strh r0, [r3, 0x2E]
movs r0, 0xFF
lsls r0, 8
strh r0, [r3, 0x30]
adds r2, r3, 0
adds r2, 0x3E
ldrb r0, [r2]
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
cmp r5, 0x4
bls _08078210
movs r0, 0x15
strh r0, [r3, 0x3A]
_08078210:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x9
bls _080781CC
b _08078298
.align 2, 0
_0807821C: .4byte gUnknown_2023D44
_08078220: .4byte sub_80782BC
_08078224: .4byte gUnknown_83AD048
_08078228: .4byte gUnknown_83AD950
_0807822C: .4byte gUnknown_3005090
_08078230: .4byte gUnknown_202063C
_08078234: .4byte gUnknown_83BF574
_08078238:
movs r0, 0xF8
lsls r0, 7
strh r0, [r1, 0xA]
movs r5, 0
lsls r0, r6, 4
ldr r7, _080782B4 @ =gUnknown_202063C
adds r0, r6
lsls r0, 2
adds r6, r0, r7
_0807824A:
movs r2, 0x20
ldrsh r1, [r6, r2]
ldrh r2, [r6, 0x22]
subs r2, 0x20
lsls r2, 16
asrs r2, 16
ldr r0, _080782B8 @ =gUnknown_83BF574
movs r3, 0
bl sub_8006F8C
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r4, 4
adds r0, r4
lsls r0, 2
adds r3, r0, r7
lsls r0, r5, 1
adds r0, r5
lsls r1, r0, 4
adds r0, r1
strh r0, [r3, 0x2E]
movs r0, 0x80
lsls r0, 1
strh r0, [r3, 0x30]
adds r2, r3, 0
adds r2, 0x3E
ldrb r0, [r2]
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
cmp r5, 0x4
bls _0807828E
movs r0, 0x15
strh r0, [r3, 0x3A]
_0807828E:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x9
bls _0807824A
_08078298:
ldr r0, _080782B4 @ =gUnknown_202063C
lsls r1, r4, 4
adds r1, r4
lsls r1, 2
adds r1, r0
movs r0, 0x1
strh r0, [r1, 0x3C]
mov r0, r8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080782B4: .4byte gUnknown_202063C
_080782B8: .4byte gUnknown_83BF574
thumb_func_end sub_8078178
thumb_func_start sub_80782BC
sub_80782BC: @ 80782BC
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _08078314 @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
ldrh r1, [r4, 0xC]
movs r2, 0xC
ldrsh r0, [r4, r2]
cmp r0, 0x2
bne _08078342
movs r0, 0
strh r0, [r4, 0xC]
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 20
movs r2, 0x80
lsls r2, 17
adds r0, r2
lsrs r0, 16
ldrb r2, [r4, 0x10]
ldrh r3, [r4, 0xA]
movs r1, 0x10
bl sub_8045274
ldrh r2, [r4, 0x12]
movs r1, 0x12
ldrsh r0, [r4, r1]
cmp r0, 0
bne _08078318
ldrh r0, [r4, 0x10]
adds r0, 0x1
strh r0, [r4, 0x10]
lsls r0, 16
asrs r0, 16
cmp r0, 0x8
ble _08078346
movs r0, 0x1
eors r0, r2
strh r0, [r4, 0x12]
b _08078346
.align 2, 0
_08078314: .4byte gUnknown_3005090
_08078318:
ldrh r1, [r4, 0x10]
subs r0, r1, 0x1
strh r0, [r4, 0x10]
lsls r0, 16
cmp r0, 0
bge _08078346
strh r1, [r4, 0x10]
movs r0, 0x1
eors r0, r2
strh r0, [r4, 0x12]
ldrh r0, [r4, 0xE]
adds r0, 0x1
strh r0, [r4, 0xE]
lsls r0, 16
asrs r0, 16
cmp r0, 0x2
bne _08078346
adds r0, r5, 0
bl sub_8077508
b _08078346
_08078342:
adds r0, r1, 0x1
strh r0, [r4, 0xC]
_08078346:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80782BC
thumb_func_start sub_807834C
sub_807834C: @ 807834C
push {lr}
adds r2, r0, 0
ldrh r1, [r2, 0x3A]
movs r3, 0x3A
ldrsh r0, [r2, r3]
cmp r0, 0
bne _08078378
adds r3, r2, 0
adds r3, 0x3E
ldrb r0, [r3]
movs r1, 0x5
negs r1, r1
ands r1, r0
strb r1, [r3]
ldr r1, _08078374 @ =sub_8078380
str r1, [r2, 0x1C]
adds r0, r2, 0
bl _call_via_r1
b _0807837C
.align 2, 0
_08078374: .4byte sub_8078380
_08078378:
subs r0, r1, 0x1
strh r0, [r2, 0x3A]
_0807837C:
pop {r0}
bx r0
thumb_func_end sub_807834C
thumb_func_start sub_8078380
sub_8078380: @ 8078380
push {r4,lr}
adds r4, r0, 0
movs r1, 0x2E
ldrsh r0, [r4, r1]
movs r1, 0x20
bl sub_8044E4C
strh r0, [r4, 0x24]
movs r1, 0x2E
ldrsh r0, [r4, r1]
movs r1, 0x8
bl sub_8044E30
strh r0, [r4, 0x26]
movs r1, 0x2E
ldrsh r0, [r4, r1]
cmp r0, 0x7F
bgt _080783AC
adds r1, r4, 0
adds r1, 0x43
movs r0, 0x1D
b _080783B2
_080783AC:
adds r1, r4, 0
adds r1, 0x43
movs r0, 0x1F
_080783B2:
strb r0, [r1]
ldrh r0, [r4, 0x2E]
adds r0, 0x8
movs r1, 0xFF
ands r0, r1
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x30]
ldrh r1, [r4, 0x38]
adds r0, r1
strh r0, [r4, 0x38]
lsls r0, 16
asrs r0, 24
ldrh r1, [r4, 0x26]
adds r0, r1
strh r0, [r4, 0x26]
ldrh r0, [r4, 0x32]
adds r0, 0x1
strh r0, [r4, 0x32]
lsls r0, 16
asrs r0, 16
cmp r0, 0x34
bne _080783F4
movs r1, 0x3C
ldrsh r0, [r4, r1]
cmp r0, 0
beq _080783EE
adds r0, r4, 0
bl sub_8007804
b _080783F4
_080783EE:
adds r0, r4, 0
bl sub_8007280
_080783F4:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8078380
thumb_func_start sub_80783FC
sub_80783FC: @ 80783FC
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
ldr r4, _080784AC @ =gUnknown_2037F1B
ldrb r0, [r4]
movs r1, 0x2
bl sub_8074480
lsls r0, 24
lsrs r0, 8
ldr r1, _080784B0 @ =0xffe00000
adds r0, r1
lsrs r5, r0, 16
ldrb r0, [r4]
movs r1, 0x3
bl sub_8074480
lsls r0, 24
lsrs r0, 8
ldr r1, _080784B4 @ =0xffdc0000
adds r0, r1
lsrs r4, r0, 16
bl sub_8073788
lsls r0, 24
cmp r0, 0
beq _0807843A
lsls r0, r5, 16
ldr r1, _080784B8 @ =0xfffa0000
adds r0, r1
lsrs r5, r0, 16
_0807843A:
movs r1, 0xFD
lsls r1, 6
movs r0, 0x50
bl sub_8000A38
movs r1, 0x80
lsls r1, 5
movs r0, 0x52
bl sub_8000A38
ldr r0, _080784BC @ =gUnknown_83BF55C
lsls r1, r5, 16
asrs r1, 16
lsls r2, r4, 16
asrs r2, 16
movs r3, 0x4
bl sub_8006F8C
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080784C0 @ =0x0000271a
bl sub_8008804
lsls r0, 16
ldr r1, _080784C4 @ =0xffff0000
cmp r0, r1
bne _08078484
ldr r1, _080784C8 @ =gUnknown_202063C
lsls r0, r4, 4
adds r0, r4
lsls r0, 2
adds r0, r1
adds r0, 0x3E
ldrb r1, [r0]
movs r2, 0x4
orrs r1, r2
strb r1, [r0]
_08078484:
lsls r0, r4, 4
adds r0, r4
lsls r0, 2
ldr r1, _080784C8 @ =gUnknown_202063C
adds r0, r1
ldr r1, _080784CC @ =gUnknown_83BF554
bl sub_8008A58
ldr r1, _080784D0 @ =gUnknown_3005090
lsls r0, r6, 2
adds r0, r6
lsls r0, 3
adds r0, r1
strh r4, [r0, 0x26]
ldr r1, _080784D4 @ =sub_80784D8
str r1, [r0]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080784AC: .4byte gUnknown_2037F1B
_080784B0: .4byte 0xffe00000
_080784B4: .4byte 0xffdc0000
_080784B8: .4byte 0xfffa0000
_080784BC: .4byte gUnknown_83BF55C
_080784C0: .4byte 0x0000271a
_080784C4: .4byte 0xffff0000
_080784C8: .4byte gUnknown_202063C
_080784CC: .4byte gUnknown_83BF554
_080784D0: .4byte gUnknown_3005090
_080784D4: .4byte sub_80784D8
thumb_func_end sub_80783FC
thumb_func_start sub_80784D8
sub_80784D8: @ 80784D8
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _08078504 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldrh r0, [r1, 0xA]
adds r0, 0x1
adds r2, r0, 0
strh r0, [r1, 0xA]
lsls r0, 16
asrs r0, 16
cmp r0, 0xA
bne _0807850C
ldr r0, _08078508 @ =sub_8078528
str r0, [r1]
movs r0, 0
strh r0, [r1, 0xA]
b _08078522
.align 2, 0
_08078504: .4byte gUnknown_3005090
_08078508: .4byte sub_8078528
_0807850C:
lsls r0, r2, 24
lsrs r0, 24
movs r1, 0x10
subs r1, r0
lsls r1, 8
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x52
bl sub_8000A38
_08078522:
pop {r0}
bx r0
thumb_func_end sub_80784D8
thumb_func_start sub_8078528
sub_8078528: @ 8078528
push {r4-r6,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _080785C0 @ =0x0000271a
bl sub_80089E8
lsls r0, 24
lsrs r2, r0, 24
ldr r1, _080785C4 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r5, r0, r1
ldrh r0, [r5, 0xA]
adds r1, r0, 0x1
strh r1, [r5, 0xA]
lsls r0, 16
asrs r0, 16
cmp r0, 0xD
ble _080785B8
ldrh r0, [r5, 0xC]
adds r0, 0x1
movs r6, 0
strh r0, [r5, 0xC]
lsls r0, 16
asrs r0, 16
cmp r0, 0x3
bne _080785B8
ldr r3, _080785C8 @ =gUnknown_20375F8
lsls r2, 4
mov r12, r2
ldr r1, _080785CC @ =0x0000010d
add r1, r12
lsls r1, 1
adds r1, r3
ldrh r4, [r1]
movs r2, 0x87
lsls r2, 1
add r2, r12
lsls r2, 1
adds r2, r3
ldrh r0, [r2]
strh r0, [r1]
ldr r0, _080785D0 @ =0x0000010f
add r0, r12
lsls r0, 1
adds r0, r3
ldrh r1, [r0]
strh r1, [r2]
strh r4, [r0]
strh r6, [r5, 0xC]
ldrh r0, [r5, 0xE]
adds r0, 0x1
strh r0, [r5, 0xE]
lsls r0, 16
asrs r0, 16
cmp r0, 0x3
bne _080785B8
strh r6, [r5, 0xE]
strh r6, [r5, 0xA]
ldrh r0, [r5, 0x10]
adds r0, 0x1
strh r0, [r5, 0x10]
lsls r0, 16
asrs r0, 16
cmp r0, 0x2
bne _080785B8
movs r0, 0x9
strh r0, [r5, 0xA]
ldr r0, _080785D4 @ =sub_80785D8
str r0, [r5]
_080785B8:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080785C0: .4byte 0x0000271a
_080785C4: .4byte gUnknown_3005090
_080785C8: .4byte gUnknown_20375F8
_080785CC: .4byte 0x0000010d
_080785D0: .4byte 0x0000010f
_080785D4: .4byte sub_80785D8
thumb_func_end sub_8078528
thumb_func_start sub_80785D8
sub_80785D8: @ 80785D8
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _08078608 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r2, r1, r2
ldrh r0, [r2, 0xA]
subs r0, 0x1
adds r3, r0, 0
strh r0, [r2, 0xA]
lsls r0, 16
asrs r0, 16
movs r1, 0x1
negs r1, r1
cmp r0, r1
bne _08078610
ldr r0, _0807860C @ =sub_807862C
str r0, [r2]
movs r0, 0
strh r0, [r2, 0xA]
b _08078626
.align 2, 0
_08078608: .4byte gUnknown_3005090
_0807860C: .4byte sub_807862C
_08078610:
lsls r0, r3, 24
lsrs r0, 24
movs r1, 0x10
subs r1, r0
lsls r1, 8
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x52
bl sub_8000A38
_08078626:
pop {r0}
bx r0
thumb_func_end sub_80785D8
thumb_func_start sub_807862C
sub_807862C: @ 807862C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
ldr r1, _0807866C @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r1, r0, r1
ldrh r0, [r1, 0xA]
adds r0, 0x1
strh r0, [r1, 0xA]
lsls r0, 16
asrs r0, 16
cmp r0, 0x25
bne _08078674
ldrh r0, [r1, 0x26]
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 4
adds r4, r0
lsls r4, 2
ldr r0, _08078670 @ =gUnknown_202063C
adds r4, r0
adds r0, r4, 0
bl sub_80077D8
adds r0, r4, 0
bl sub_8007280
b _0807868E
.align 2, 0
_0807866C: .4byte gUnknown_3005090
_08078670: .4byte gUnknown_202063C
_08078674:
cmp r0, 0x27
bne _0807868E
movs r0, 0x50
movs r1, 0
bl sub_8000A38
movs r0, 0x52
movs r1, 0
bl sub_8000A38
adds r0, r4, 0
bl sub_8072760
_0807868E:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_807862C
thumb_func_start sub_8078694
sub_8078694: @ 8078694
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
movs r3, 0
ldr r0, _080786B8 @ =gUnknown_2024018
ldr r0, [r0]
ldr r0, [r0, 0x8]
ldrh r0, [r0]
subs r0, 0xF
cmp r0, 0x2B
bls _080786AC
b _08078830
_080786AC:
lsls r0, 2
ldr r1, _080786BC @ =_080786C0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080786B8: .4byte gUnknown_2024018
_080786BC: .4byte _080786C0
.align 2, 0
_080786C0:
.4byte _08078770
.4byte _08078776
.4byte _0807877C
.4byte _08078782
.4byte _08078788
.4byte _0807878E
.4byte _08078794
.4byte _0807879A
.4byte _080787A0
.4byte _080787A6
.4byte _080787AC
.4byte _080787B2
.4byte _080787B8
.4byte _080787BE
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _08078830
.4byte _080787C4
.4byte _080787C8
.4byte _080787CC
.4byte _080787D0
.4byte _080787D4
.4byte _080787D8
.4byte _080787DC
.4byte _080787E0
.4byte _080787E8
.4byte _080787F0
.4byte _080787F8
.4byte _08078800
.4byte _08078808
.4byte _08078810
.4byte _08078830
.4byte _08078830
.4byte _08078818
.4byte _0807881C
.4byte _08078820
.4byte _08078828
_08078770:
movs r5, 0
movs r2, 0
b _08078838
_08078776:
movs r5, 0
movs r2, 0x1
b _08078838
_0807877C:
movs r5, 0
movs r2, 0x3
b _08078838
_08078782:
movs r5, 0
movs r2, 0x5
b _08078838
_08078788:
movs r5, 0
movs r2, 0x6
b _08078838
_0807878E:
movs r5, 0
movs r2, 0x2
b _08078838
_08078794:
movs r5, 0
movs r2, 0x4
b _08078838
_0807879A:
movs r5, 0x1
movs r2, 0
b _08078838
_080787A0:
movs r5, 0x1
movs r2, 0x1
b _08078838
_080787A6:
movs r5, 0x1
movs r2, 0x3
b _08078838
_080787AC:
movs r5, 0x1
movs r2, 0x5
b _08078838
_080787B2:
movs r5, 0x1
movs r2, 0x6
b _08078838
_080787B8:
movs r5, 0x1
movs r2, 0x2
b _08078838
_080787BE:
movs r5, 0x1
movs r2, 0x4
b _08078838
_080787C4:
movs r5, 0
b _080787E2
_080787C8:
movs r5, 0
b _080787EA
_080787CC:
movs r5, 0
b _080787F2
_080787D0:
movs r5, 0
b _080787FA
_080787D4:
movs r5, 0
b _08078802
_080787D8:
movs r5, 0
b _0807880A
_080787DC:
movs r5, 0
b _08078812
_080787E0:
movs r5, 0x1
_080787E2:
movs r2, 0
movs r3, 0x1
b _08078838
_080787E8:
movs r5, 0x1
_080787EA:
movs r2, 0x1
movs r3, 0x1
b _08078838
_080787F0:
movs r5, 0x1
_080787F2:
movs r2, 0x3
movs r3, 0x1
b _08078838
_080787F8:
movs r5, 0x1
_080787FA:
movs r2, 0x5
movs r3, 0x1
b _08078838
_08078800:
movs r5, 0x1
_08078802:
movs r2, 0x6
movs r3, 0x1
b _08078838
_08078808:
movs r5, 0x1
_0807880A:
movs r2, 0x2
movs r3, 0x1
b _08078838
_08078810:
movs r5, 0x1
_08078812:
movs r2, 0x4
movs r3, 0x1
b _08078838
_08078818:
movs r5, 0
b _08078822
_0807881C:
movs r5, 0
b _0807882A
_08078820:
movs r5, 0x1
_08078822:
movs r2, 0xFF
movs r3, 0
b _08078838
_08078828:
movs r5, 0x1
_0807882A:
movs r2, 0xFF
movs r3, 0x1
b _08078838
_08078830:
adds r0, r4, 0
bl sub_8072760
b _0807885A
_08078838:
ldr r0, _08078860 @ =gUnknown_2037F02
movs r1, 0
strh r5, [r0]
strh r2, [r0, 0x2]
strh r1, [r0, 0x4]
strh r1, [r0, 0x6]
strh r3, [r0, 0x8]
ldr r1, _08078864 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _08078868 @ =sub_80BB088
str r1, [r0]
adds r0, r4, 0
bl _call_via_r1
_0807885A:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08078860: .4byte gUnknown_2037F02
_08078864: .4byte gUnknown_3005090
_08078868: .4byte sub_80BB088
thumb_func_end sub_8078694
thumb_func_start sub_807886C
sub_807886C: @ 807886C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
lsls r1, 24
lsrs r1, 24
ldr r0, _080788A8 @ =gUnknown_2037F1A
strb r4, [r0]
ldr r0, _080788AC @ =gUnknown_2037F1B
strb r4, [r0]
ldr r0, _080788B0 @ =gUnknown_81C6E84
movs r2, 0
bl sub_80725D4
ldr r0, _080788B4 @ =sub_80788BC
movs r1, 0xA
bl sub_807741C
lsls r0, 24
lsrs r0, 24
ldr r2, _080788B8 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r4, [r1, 0x8]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080788A8: .4byte gUnknown_2037F1A
_080788AC: .4byte gUnknown_2037F1B
_080788B0: .4byte gUnknown_81C6E84
_080788B4: .4byte sub_80788BC
_080788B8: .4byte gUnknown_3005090
thumb_func_end sub_807886C
thumb_func_start sub_80788BC
sub_80788BC: @ 80788BC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _08078904 @ =gUnknown_2037EDC
ldr r0, [r0]
bl _call_via_r0
ldr r0, _08078908 @ =gUnknown_2037EE1
ldrb r0, [r0]
cmp r0, 0
bne _080788FE
ldr r0, _0807890C @ =gUnknown_2024018
ldr r2, [r0]
ldr r1, _08078910 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
movs r1, 0x8
ldrsh r0, [r0, r1]
ldr r2, [r2, 0x4]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r2, [r1]
movs r0, 0x11
negs r0, r0
ands r0, r2
strb r0, [r1]
adds r0, r4, 0
bl sub_8077508
_080788FE:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08078904: .4byte gUnknown_2037EDC
_08078908: .4byte gUnknown_2037EE1
_0807890C: .4byte gUnknown_2024018
_08078910: .4byte gUnknown_3005090
thumb_func_end sub_80788BC
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+927
View File
@@ -0,0 +1,927 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80DCE10
sub_80DCE10: @ 80DCE10
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _080DCE6C @ =gUnknown_3005090
lsls r6, r0, 2
adds r6, r0
lsls r6, 3
adds r6, r1
ldr r1, _080DCE70 @ =gUnknown_2037F02
ldrh r0, [r1]
strh r0, [r6, 0x8]
ldrh r0, [r1, 0x2]
strh r0, [r6, 0xA]
movs r0, 0x40
negs r0, r0
bl sub_8073A44
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0x3F
bl sub_8073A44
adds r5, r0, 0
lsls r4, 24
asrs r4, 24
lsls r5, 24
asrs r5, 24
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0x2
bl sub_8073B88
strh r4, [r6, 0xC]
strh r5, [r6, 0xE]
lsls r0, 24
asrs r0, 24
strh r0, [r6, 0x10]
movs r0, 0xA
strh r0, [r6, 0x1C]
ldr r0, _080DCE74 @ =sub_80DCE78
str r0, [r6]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080DCE6C: .4byte gUnknown_3005090
_080DCE70: .4byte gUnknown_2037F02
_080DCE74: .4byte sub_80DCE78
thumb_func_end sub_80DCE10
thumb_func_start sub_80DCE78
sub_80DCE78: @ 80DCE78
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _080DCEA8 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
ldrh r5, [r4, 0xC]
ldrb r6, [r4, 0x10]
ldrh r0, [r4, 0x1E]
adds r0, 0x1
movs r1, 0
strh r0, [r4, 0x1E]
lsls r0, 16
asrs r0, 16
cmp r0, 0x6F
bne _080DCEB0
movs r0, 0x5
strh r0, [r4, 0x1C]
strh r1, [r4, 0x1E]
ldr r0, _080DCEAC @ =sub_80DCEE4
str r0, [r4]
b _080DCEDE
.align 2, 0
_080DCEA8: .4byte gUnknown_3005090
_080DCEAC: .4byte sub_80DCEE4
_080DCEB0:
ldrh r0, [r4, 0x1C]
adds r0, 0x1
strh r0, [r4, 0x1C]
lsls r0, 16
asrs r0, 16
cmp r0, 0xB
bne _080DCECA
strh r1, [r4, 0x1C]
ldrh r0, [r4, 0x8]
lsls r1, r5, 24
asrs r1, 24
bl sub_80722F4
_080DCECA:
lsls r1, r6, 24
asrs r1, 24
lsls r0, r5, 16
asrs r0, 16
adds r0, r1
lsls r0, 16
asrs r0, 16
bl sub_8073B60
strh r0, [r4, 0xC]
_080DCEDE:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80DCE78
thumb_func_start sub_80DCEE4
sub_80DCEE4: @ 80DCEE4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _080DCF34 @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
ldrh r0, [r4, 0x1C]
adds r0, 0x1
strh r0, [r4, 0x1C]
lsls r0, 16
asrs r0, 16
cmp r0, 0x6
bne _080DCF2C
movs r0, 0
strh r0, [r4, 0x1C]
movs r0, 0x3F
bl sub_8073A44
adds r1, r0, 0
ldrh r0, [r4, 0xA]
lsls r1, 24
asrs r1, 24
bl sub_80722F4
ldrh r0, [r4, 0x1E]
adds r0, 0x1
strh r0, [r4, 0x1E]
lsls r0, 16
asrs r0, 16
cmp r0, 0x2
bne _080DCF2C
adds r0, r5, 0
bl sub_807277C
_080DCF2C:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DCF34: .4byte gUnknown_3005090
thumb_func_end sub_80DCEE4
thumb_func_start sub_80DCF38
sub_80DCF38: @ 80DCF38
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
mov r8, r0
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r0, _080DCFDC @ =gUnknown_2037F02
ldrh r1, [r0]
str r1, [sp]
ldrb r5, [r0, 0x4]
ldrb r6, [r0, 0x6]
ldrb r3, [r0, 0x8]
mov r10, r3
ldrb r7, [r0, 0xA]
ldrb r1, [r0, 0xC]
mov r9, r1
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
bl sub_8073A44
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
lsls r5, 24
asrs r5, 24
adds r0, r5, 0
bl sub_8073A44
adds r5, r0, 0
lsls r4, 24
asrs r4, 24
lsls r5, 24
asrs r5, 24
lsls r6, 24
asrs r6, 24
adds r0, r4, 0
adds r1, r5, 0
adds r2, r6, 0
bl sub_8073B88
ldr r2, _080DCFE0 @ =gUnknown_3005090
mov r3, r8
lsls r1, r3, 2
add r1, r8
lsls r1, 3
adds r1, r2
movs r2, 0
mov r6, sp
ldrh r6, [r6]
strh r6, [r1, 0x8]
strh r4, [r1, 0xA]
strh r5, [r1, 0xC]
lsls r0, 24
asrs r0, 24
strh r0, [r1, 0xE]
mov r0, r10
strh r0, [r1, 0x10]
strh r7, [r1, 0x12]
mov r3, r9
strh r3, [r1, 0x14]
strh r2, [r1, 0x1C]
strh r4, [r1, 0x1E]
strh r3, [r1, 0x20]
ldr r2, _080DCFE4 @ =sub_80DCFE8
str r2, [r1]
mov r0, r8
bl _call_via_r2
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080DCFDC: .4byte gUnknown_2037F02
_080DCFE0: .4byte gUnknown_3005090
_080DCFE4: .4byte sub_80DCFE8
thumb_func_end sub_80DCF38
thumb_func_start sub_80DCFE8
sub_80DCFE8: @ 80DCFE8
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _080DD02C @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
ldrh r0, [r4, 0x20]
adds r1, r0, 0x1
strh r1, [r4, 0x20]
lsls r0, 16
asrs r0, 16
movs r2, 0x14
ldrsh r1, [r4, r2]
cmp r0, r1
bne _080DD030
movs r0, 0
strh r0, [r4, 0x20]
ldrh r0, [r4, 0x8]
movs r1, 0x1E
ldrsb r1, [r4, r1]
bl sub_80722F4
ldrh r0, [r4, 0x10]
subs r0, 0x1
strh r0, [r4, 0x10]
lsls r0, 16
cmp r0, 0
bne _080DD030
adds r0, r5, 0
bl sub_807277C
b _080DD062
.align 2, 0
_080DD02C: .4byte gUnknown_3005090
_080DD030:
ldr r1, _080DD068 @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
ldrh r0, [r4, 0x1C]
adds r1, r0, 0x1
strh r1, [r4, 0x1C]
lsls r0, 16
asrs r0, 16
movs r2, 0x12
ldrsh r1, [r4, r2]
cmp r0, r1
bne _080DD062
movs r0, 0
strh r0, [r4, 0x1C]
ldrh r0, [r4, 0xE]
ldrh r1, [r4, 0x1E]
adds r0, r1
strh r0, [r4, 0x1E]
movs r2, 0x1E
ldrsh r0, [r4, r2]
bl sub_8073B60
strh r0, [r4, 0x1E]
_080DD062:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DD068: .4byte gUnknown_3005090
thumb_func_end sub_80DCFE8
thumb_func_start sub_80DD06C
sub_80DD06C: @ 80DD06C
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
movs r0, 0x40
negs r0, r0
bl sub_8073A44
lsls r0, 24
lsrs r6, r0, 24
ldr r0, _080DD090 @ =gUnknown_2037F02
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080DD098
ldr r0, _080DD094 @ =gUnknown_2037F1A
ldrb r4, [r0]
b _080DD0BE
.align 2, 0
_080DD090: .4byte gUnknown_2037F02
_080DD094: .4byte gUnknown_2037F1A
_080DD098:
cmp r0, 0x1
bne _080DD0A8
ldr r0, _080DD0A4 @ =gUnknown_2037F1B
ldrb r4, [r0]
b _080DD0BE
.align 2, 0
_080DD0A4: .4byte gUnknown_2037F1B
_080DD0A8:
cmp r0, 0x2
bne _080DD0B4
ldr r0, _080DD0B0 @ =gUnknown_2037F1A
b _080DD0B6
.align 2, 0
_080DD0B0: .4byte gUnknown_2037F1A
_080DD0B4:
ldr r0, _080DD0E0 @ =gUnknown_2037F1B
_080DD0B6:
ldrb r1, [r0]
movs r0, 0x2
adds r4, r0, 0
eors r4, r1
_080DD0BE:
ldr r0, _080DD0E4 @ =gUnknown_2037F02
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0x1
beq _080DD0CC
cmp r0, 0x3
bne _080DD0E8
_080DD0CC:
adds r0, r4, 0
bl sub_8072DF0
lsls r0, 24
cmp r0, 0
bne _080DD0E8
adds r0, r5, 0
bl sub_8072760
b _080DD13A
.align 2, 0
_080DD0E0: .4byte gUnknown_2037F1B
_080DD0E4: .4byte gUnknown_2037F02
_080DD0E8:
adds r0, r4, 0
bl sub_80751C4
lsls r0, 24
cmp r0, 0
beq _080DD10C
ldr r1, _080DD104 @ =gUnknown_2023BCE
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080DD108 @ =gUnknown_202402C
b _080DD11A
.align 2, 0
_080DD104: .4byte gUnknown_2023BCE
_080DD108: .4byte gUnknown_202402C
_080DD10C:
ldr r1, _080DD140 @ =gUnknown_2023BCE
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080DD144 @ =gUnknown_2024284
_080DD11A:
adds r0, r1
movs r1, 0xB
bl sub_803FBE8
lsls r0, 16
lsrs r0, 16
cmp r0, 0
beq _080DD134
lsls r1, r6, 24
asrs r1, 24
movs r2, 0x3
bl sub_8071E60
_080DD134:
adds r0, r5, 0
bl sub_8072760
_080DD13A:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080DD140: .4byte gUnknown_2023BCE
_080DD144: .4byte gUnknown_2024284
thumb_func_end sub_80DD06C
thumb_func_start sub_80DD148
sub_80DD148: @ 80DD148
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0x40
negs r0, r0
bl sub_8073A44
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _080DD16C @ =gUnknown_2037F02
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080DD174
ldr r0, _080DD170 @ =gUnknown_2037F1A
ldrb r4, [r0]
b _080DD19A
.align 2, 0
_080DD16C: .4byte gUnknown_2037F02
_080DD170: .4byte gUnknown_2037F1A
_080DD174:
cmp r0, 0x1
bne _080DD184
ldr r0, _080DD180 @ =gUnknown_2037F1B
ldrb r4, [r0]
b _080DD19A
.align 2, 0
_080DD180: .4byte gUnknown_2037F1B
_080DD184:
cmp r0, 0x2
bne _080DD190
ldr r0, _080DD18C @ =gUnknown_2037F1A
b _080DD192
.align 2, 0
_080DD18C: .4byte gUnknown_2037F1A
_080DD190:
ldr r0, _080DD1BC @ =gUnknown_2037F1B
_080DD192:
ldrb r1, [r0]
movs r0, 0x2
adds r4, r0, 0
eors r4, r1
_080DD19A:
ldr r0, _080DD1C0 @ =gUnknown_2037F02
movs r2, 0
ldrsh r0, [r0, r2]
cmp r0, 0x1
beq _080DD1A8
cmp r0, 0x3
bne _080DD1C4
_080DD1A8:
adds r0, r4, 0
bl sub_8072DF0
lsls r0, 24
cmp r0, 0
bne _080DD1C4
adds r0, r6, 0
bl sub_8072760
b _080DD26A
.align 2, 0
_080DD1BC: .4byte gUnknown_2037F1B
_080DD1C0: .4byte gUnknown_2037F02
_080DD1C4:
adds r0, r4, 0
bl sub_80751C4
lsls r0, 24
cmp r0, 0
beq _080DD1E8
ldr r1, _080DD1E0 @ =gUnknown_2023BCE
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080DD1E4 @ =gUnknown_202402C
b _080DD1F6
.align 2, 0
_080DD1E0: .4byte gUnknown_2023BCE
_080DD1E4: .4byte gUnknown_202402C
_080DD1E8:
ldr r1, _080DD234 @ =gUnknown_2023BCE
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080DD238 @ =gUnknown_2024284
_080DD1F6:
adds r0, r1
movs r1, 0xB
bl sub_803FBE8
lsls r0, 16
lsrs r3, r0, 16
ldr r1, _080DD23C @ =gUnknown_3005090
lsls r2, r6, 2
adds r0, r2, r6
lsls r0, 3
adds r0, r1
ldr r4, _080DD240 @ =gUnknown_2037F02
ldrh r1, [r4, 0x2]
strh r1, [r0, 0x8]
strh r3, [r0, 0xA]
lsls r1, r5, 24
asrs r1, 24
strh r1, [r0, 0xC]
adds r5, r2, 0
cmp r3, 0
beq _080DD264
movs r2, 0x2
ldrsh r0, [r4, r2]
cmp r0, 0xFF
bne _080DD244
adds r0, r3, 0
movs r2, 0x9
bl sub_8071E60
b _080DD24C
.align 2, 0
_080DD234: .4byte gUnknown_2023BCE
_080DD238: .4byte gUnknown_2024284
_080DD23C: .4byte gUnknown_3005090
_080DD240: .4byte gUnknown_2037F02
_080DD244:
adds r0, r3, 0
movs r2, 0x7
bl sub_8071E60
_080DD24C:
ldr r0, _080DD25C @ =gUnknown_3005090
adds r1, r5, r6
lsls r1, 3
adds r1, r0
ldr r0, _080DD260 @ =sub_80DD270
str r0, [r1]
b _080DD26A
.align 2, 0
_080DD25C: .4byte gUnknown_3005090
_080DD260: .4byte sub_80DD270
_080DD264:
adds r0, r6, 0
bl sub_8072760
_080DD26A:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80DD148
thumb_func_start sub_80DD270
sub_80DD270: @ 80DD270
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
lsls r0, 24
lsrs r4, r0, 24
mov r9, r4
ldr r1, _080DD2A0 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r1, r0, r1
ldrh r6, [r1, 0xA]
mov r8, r6
ldrb r5, [r1, 0xC]
adds r7, r5, 0
ldrh r2, [r1, 0x1A]
movs r3, 0x1A
ldrsh r0, [r1, r3]
cmp r0, 0x1
bgt _080DD2A4
adds r0, r2, 0x1
strh r0, [r1, 0x1A]
b _080DD2E6
.align 2, 0
_080DD2A0: .4byte gUnknown_3005090
_080DD2A4:
movs r2, 0x8
ldrsh r0, [r1, r2]
cmp r0, 0xFF
bne _080DD2CA
bl sub_8072214
lsls r0, 24
cmp r0, 0
bne _080DD2E6
lsls r1, r5, 24
asrs r1, 24
adds r0, r6, 0
movs r2, 0xA
bl sub_8071E60
adds r0, r4, 0
bl sub_8072760
b _080DD2E6
_080DD2CA:
bl sub_8072214
lsls r0, 24
cmp r0, 0
bne _080DD2E6
lsls r1, r7, 24
asrs r1, 24
mov r0, r8
movs r2, 0x8
bl sub_8071E60
mov r0, r9
bl sub_8072760
_080DD2E6:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80DD270
thumb_func_start sub_80DD2F4
sub_80DD2F4: @ 80DD2F4
push {r4,lr}
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
ldr r1, _080DD318 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r1, r0, r1
ldrh r2, [r1, 0x1A]
movs r3, 0x1A
ldrsh r0, [r1, r3]
cmp r0, 0x1
bgt _080DD31C
adds r0, r2, 0x1
strh r0, [r1, 0x1A]
b _080DD32C
.align 2, 0
_080DD318: .4byte gUnknown_3005090
_080DD31C:
bl sub_8072214
lsls r0, 24
cmp r0, 0
bne _080DD32C
adds r0, r4, 0
bl sub_8072760
_080DD32C:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80DD2F4
thumb_func_start sub_80DD334
sub_80DD334: @ 80DD334
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
movs r0, 0x40
negs r0, r0
bl sub_8073A44
ldr r2, _080DD374 @ =gUnknown_2037F1C
ldr r1, _080DD378 @ =gUnknown_2037F1A
ldrb r1, [r1]
lsls r1, 1
adds r1, r2
ldrh r3, [r1]
ldr r2, _080DD37C @ =gUnknown_3005090
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r4, r1, r2
strh r3, [r4, 0xA]
lsls r0, 24
asrs r1, r0, 24
strh r1, [r4, 0xC]
cmp r3, 0
beq _080DD384
adds r0, r3, 0
movs r2, 0x4
bl sub_8071E60
ldr r0, _080DD380 @ =sub_80DD390
str r0, [r4]
b _080DD38A
.align 2, 0
_080DD374: .4byte gUnknown_2037F1C
_080DD378: .4byte gUnknown_2037F1A
_080DD37C: .4byte gUnknown_3005090
_080DD380: .4byte sub_80DD390
_080DD384:
adds r0, r5, 0
bl sub_8072760
_080DD38A:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80DD334
thumb_func_start sub_80DD390
sub_80DD390: @ 80DD390
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
ldr r1, _080DD3B4 @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
ldrh r1, [r4, 0x1A]
movs r2, 0x1A
ldrsh r0, [r4, r2]
cmp r0, 0x1
bgt _080DD3B8
adds r0, r1, 0x1
strh r0, [r4, 0x1A]
b _080DD3D4
.align 2, 0
_080DD3B4: .4byte gUnknown_3005090
_080DD3B8:
bl sub_8072214
lsls r0, 24
cmp r0, 0
bne _080DD3D4
ldrh r0, [r4, 0xA]
movs r1, 0xC
ldrsb r1, [r4, r1]
movs r2, 0x6
bl sub_8071E60
adds r0, r5, 0
bl sub_8072760
_080DD3D4:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80DD390
thumb_func_start sub_80DD3DC
sub_80DD3DC: @ 80DD3DC
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _080DD40C @ =gUnknown_2037F02
ldrh r5, [r0]
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
bl sub_8073A44
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
adds r0, r5, 0
bl sub_8072348
adds r0, r4, 0
bl sub_8072760
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DD40C: .4byte gUnknown_2037F02
thumb_func_end sub_80DD3DC
thumb_func_start sub_80DD410
sub_80DD410: @ 80DD410
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _080DD440 @ =gUnknown_2037F02
ldrh r5, [r0]
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
bl sub_8073A44
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
adds r0, r5, 0
bl sub_807237C
adds r0, r4, 0
bl sub_8072760
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DD440: .4byte gUnknown_2037F02
thumb_func_end sub_80DD410
thumb_func_start sub_80DD444
sub_80DD444: @ 80DD444
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
mov r8, r0
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r0, _080DD4C8 @ =gUnknown_2037F02
ldrb r5, [r0, 0x2]
ldrb r6, [r0, 0x4]
ldrh r1, [r0, 0x6]
mov r9, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
bl sub_8073A44
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
lsls r5, 24
asrs r5, 24
adds r0, r5, 0
bl sub_8073A44
adds r5, r0, 0
lsls r4, 24
asrs r4, 24
lsls r5, 24
asrs r5, 24
lsls r6, 24
asrs r6, 24
adds r0, r4, 0
adds r1, r5, 0
adds r2, r6, 0
bl sub_8073B88
ldr r2, _080DD4CC @ =gUnknown_3005090
mov r3, r8
lsls r1, r3, 2
add r1, r8
lsls r1, 3
adds r1, r2
movs r2, 0
strh r4, [r1, 0xA]
strh r5, [r1, 0xC]
lsls r0, 24
asrs r0, 24
strh r0, [r1, 0xE]
mov r0, r9
strh r0, [r1, 0x12]
strh r2, [r1, 0x1C]
strh r4, [r1, 0x1E]
ldr r2, _080DD4D0 @ =sub_80DD4D4
str r2, [r1]
mov r0, r8
bl _call_via_r2
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080DD4C8: .4byte gUnknown_2037F02
_080DD4CC: .4byte gUnknown_3005090
_080DD4D0: .4byte sub_80DD4D4
thumb_func_end sub_80DD444
thumb_func_start sub_80DD4D4
sub_80DD4D4: @ 80DD4D4
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
ldr r1, _080DD52C @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r4, r0, r1
ldrh r2, [r4, 0xE]
ldrh r0, [r4, 0x1C]
adds r1, r0, 0x1
strh r1, [r4, 0x1C]
lsls r0, 16
asrs r0, 16
movs r3, 0x12
ldrsh r1, [r4, r3]
cmp r0, r1
bne _080DD50E
movs r0, 0
strh r0, [r4, 0x1C]
ldrh r1, [r4, 0x1E]
adds r0, r2, r1
strh r0, [r4, 0x1E]
movs r2, 0x1E
ldrsh r0, [r4, r2]
bl sub_8073B60
strh r0, [r4, 0x1E]
_080DD50E:
ldr r1, _080DD530 @ =gUnknown_2037F24
ldrh r0, [r4, 0x1E]
strb r0, [r1]
movs r3, 0x1E
ldrsh r1, [r4, r3]
movs r2, 0xC
ldrsh r0, [r4, r2]
cmp r1, r0
bne _080DD526
adds r0, r5, 0
bl sub_8072760
_080DD526:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DD52C: .4byte gUnknown_3005090
_080DD530: .4byte gUnknown_2037F24
thumb_func_end sub_80DD4D4
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3043
View File
File diff suppressed because it is too large Load Diff
+1398
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2180
View File
File diff suppressed because it is too large Load Diff
+3664
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+12796
View File
File diff suppressed because it is too large Load Diff
+333
View File
@@ -0,0 +1,333 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_802E03C
sub_802E03C: @ 802E03C
push {r4,r5,lr}
ldr r4, _0802E118 @ =gUnknown_2022B4C
ldr r0, [r4]
movs r1, 0x80
lsls r1, 12
ands r0, r1
cmp r0, 0
beq _0802E050
bl sub_815DA54
_0802E050:
ldr r0, [r4]
movs r1, 0x80
lsls r1, 9
ands r0, r1
cmp r0, 0
beq _0802E06E
ldr r5, _0802E11C @ =gUnknown_3005EE0
movs r4, 0x3
_0802E060:
movs r0, 0x8
bl sub_8002BB0
stm r5!, {r0}
subs r4, 0x1
cmp r4, 0
bge _0802E060
_0802E06E:
ldr r4, _0802E120 @ =gUnknown_2023FE8
movs r0, 0x80
lsls r0, 2
bl sub_8002BB0
str r0, [r4]
ldr r4, _0802E124 @ =gUnknown_2023FF4
movs r0, 0x20
bl sub_8002BB0
str r0, [r4]
movs r0, 0xA0
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1]
movs r0, 0x10
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0x4]
movs r0, 0x24
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0x8]
movs r0, 0x24
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0xC]
movs r0, 0xC
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0x10]
movs r0, 0x1C
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0x14]
movs r0, 0x30
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0x18]
movs r0, 0x24
bl sub_8002BB0
ldr r1, [r4]
str r0, [r1, 0x1C]
ldr r4, _0802E128 @ =gUnknown_2023FEC
movs r5, 0x80
lsls r5, 5
adds r0, r5, 0
bl sub_8002BB0
str r0, [r4]
ldr r4, _0802E12C @ =gUnknown_2023FF0
adds r0, r5, 0
bl sub_8002BB0
str r0, [r4]
ldr r4, _0802E130 @ =gUnknown_2022BB8
movs r0, 0x80
lsls r0, 6
bl sub_8002BB0
str r0, [r4]
ldr r4, _0802E134 @ =gUnknown_2022BBC
adds r0, r5, 0
bl sub_8002BB0
adds r1, r0, 0
str r1, [r4]
movs r0, 0x1
bl sub_8001FA0
ldr r1, [r4]
movs r0, 0x2
bl sub_8001FA0
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0802E118: .4byte gUnknown_2022B4C
_0802E11C: .4byte gUnknown_3005EE0
_0802E120: .4byte gUnknown_2023FE8
_0802E124: .4byte gUnknown_2023FF4
_0802E128: .4byte gUnknown_2023FEC
_0802E12C: .4byte gUnknown_2023FF0
_0802E130: .4byte gUnknown_2022BB8
_0802E134: .4byte gUnknown_2022BBC
thumb_func_end sub_802E03C
thumb_func_start sub_802E138
sub_802E138: @ 802E138
push {r4-r6,lr}
ldr r4, _0802E208 @ =gUnknown_2022B4C
ldr r0, [r4]
movs r1, 0x80
lsls r1, 12
ands r0, r1
cmp r0, 0
beq _0802E14C
bl sub_815DBDC
_0802E14C:
ldr r0, [r4]
movs r1, 0x80
lsls r1, 9
ands r0, r1
cmp r0, 0
beq _0802E16C
ldr r5, _0802E20C @ =gUnknown_3005EE0
movs r6, 0
movs r4, 0x3
_0802E15E:
ldr r0, [r5]
bl sub_8002BC4
stm r5!, {r6}
subs r4, 0x1
cmp r4, 0
bge _0802E15E
_0802E16C:
ldr r6, _0802E210 @ =gUnknown_2023FF4
ldr r0, [r6]
cmp r0, 0
beq _0802E200
ldr r4, _0802E214 @ =gUnknown_2023FE8
ldr r0, [r4]
bl sub_8002BC4
movs r5, 0
str r5, [r4]
ldr r0, [r6]
ldr r0, [r0]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0]
ldr r0, [r0, 0x4]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0x4]
ldr r0, [r0, 0x8]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0x8]
ldr r0, [r0, 0xC]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0xC]
ldr r0, [r0, 0x10]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0x10]
ldr r0, [r0, 0x14]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0x14]
ldr r0, [r0, 0x18]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0x18]
ldr r0, [r0, 0x1C]
bl sub_8002BC4
ldr r0, [r6]
str r5, [r0, 0x1C]
bl sub_8002BC4
str r5, [r6]
ldr r4, _0802E218 @ =gUnknown_2023FEC
ldr r0, [r4]
bl sub_8002BC4
str r5, [r4]
ldr r4, _0802E21C @ =gUnknown_2023FF0
ldr r0, [r4]
bl sub_8002BC4
str r5, [r4]
ldr r4, _0802E220 @ =gUnknown_2022BB8
ldr r0, [r4]
bl sub_8002BC4
str r5, [r4]
ldr r4, _0802E224 @ =gUnknown_2022BBC
ldr r0, [r4]
bl sub_8002BC4
str r5, [r4]
_0802E200:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0802E208: .4byte gUnknown_2022B4C
_0802E20C: .4byte gUnknown_3005EE0
_0802E210: .4byte gUnknown_2023FF4
_0802E214: .4byte gUnknown_2023FE8
_0802E218: .4byte gUnknown_2023FEC
_0802E21C: .4byte gUnknown_2023FF0
_0802E220: .4byte gUnknown_2022BB8
_0802E224: .4byte gUnknown_2022BBC
thumb_func_end sub_802E138
thumb_func_start sub_802E228
sub_802E228: @ 802E228
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _0802E26C @ =gUnknown_2022B4C
ldr r0, [r0]
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0802E274
movs r0, 0x1
bl sub_80751E8
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x3
bl sub_80751E8
lsls r0, 24
lsrs r3, r0, 24
ldr r2, _0802E270 @ =gUnknown_2023BE4
movs r0, 0x58
adds r1, r3, 0
muls r1, r0
adds r1, r2
adds r1, 0x2A
muls r0, r4
adds r0, r2
adds r0, 0x2A
ldrb r1, [r1]
ldrb r0, [r0]
cmp r1, r0
bls _0802E27E
adds r4, r3, 0
b _0802E27E
.align 2, 0
_0802E26C: .4byte gUnknown_2022B4C
_0802E270: .4byte gUnknown_2023BE4
_0802E274:
movs r0, 0x1
bl sub_80751E8
lsls r0, 24
lsrs r4, r0, 24
_0802E27E:
ldr r2, _0802E2C0 @ =gUnknown_2023BE4
movs r1, 0x58
adds r0, r4, 0
muls r0, r1
adds r0, r2
adds r3, r0, 0
adds r3, 0x2A
adds r0, r5, 0
muls r0, r1
adds r0, r2
adds r1, r0, 0
adds r1, 0x2A
ldrb r0, [r3]
ldrb r2, [r1]
cmp r0, r2
bls _0802E2EC
ldrb r1, [r1]
subs r0, r1
cmp r0, 0x1D
ble _0802E2CC
ldr r1, _0802E2C4 @ =gUnknown_2023BCE
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _0802E2C8 @ =gUnknown_2024284
adds r0, r1
movs r1, 0x9
bl sub_80436F8
b _0802E302
.align 2, 0
_0802E2C0: .4byte gUnknown_2023BE4
_0802E2C4: .4byte gUnknown_2023BCE
_0802E2C8: .4byte gUnknown_2024284
_0802E2CC:
ldr r1, _0802E2E4 @ =gUnknown_2023BCE
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _0802E2E8 @ =gUnknown_2024284
adds r0, r1
movs r1, 0x7
bl sub_80436F8
b _0802E302
.align 2, 0
_0802E2E4: .4byte gUnknown_2023BCE
_0802E2E8: .4byte gUnknown_2024284
_0802E2EC:
ldr r1, _0802E308 @ =gUnknown_2023BCE
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _0802E30C @ =gUnknown_2024284
adds r0, r1
movs r1, 0x7
bl sub_80436F8
_0802E302:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0802E308: .4byte gUnknown_2023BCE
_0802E30C: .4byte gUnknown_2024284
thumb_func_end sub_802E228
.align 2, 0 @ Don't pad with nop.
+311
View File
@@ -0,0 +1,311 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_809C718
sub_809C718: @ 809C718
push {r4,r5,lr}
ldr r2, _0809C778 @ =gUnknown_3005008
ldr r1, [r2]
ldr r0, _0809C77C @ =gUnknown_83DF7E8
ldr r3, _0809C780 @ =0x000030ec
adds r1, r3
movs r4, 0x93
lsls r4, 3
adds r0, r4
ldm r0!, {r3-r5}
stm r1!, {r3-r5}
ldm r0!, {r3-r5}
stm r1!, {r3-r5}
ldr r0, [r0]
str r0, [r1]
movs r1, 0
adds r4, r2, 0
adds r5, r4, 0
ldr r3, _0809C784 @ =0x00003108
movs r2, 0
_0809C740:
ldr r0, [r5]
adds r0, r3
adds r0, r1
strb r2, [r0]
adds r1, 0x1
cmp r1, 0x11
ble _0809C740
ldr r0, [r4]
ldr r5, _0809C788 @ =0x0000311a
adds r0, r5
movs r1, 0
strb r1, [r0]
ldr r0, [r4]
ldr r2, _0809C78C @ =0x0000311b
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
ldr r3, _0809C780 @ =0x000030ec
adds r0, r3
bl sub_809C838
ldr r1, [r4]
ldr r4, _0809C790 @ =0x0000311c
adds r1, r4
str r0, [r1]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0809C778: .4byte gUnknown_3005008
_0809C77C: .4byte gUnknown_83DF7E8
_0809C780: .4byte 0x000030ec
_0809C784: .4byte 0x00003108
_0809C788: .4byte 0x0000311a
_0809C78C: .4byte 0x0000311b
_0809C790: .4byte 0x0000311c
thumb_func_end sub_809C718
thumb_func_start sub_809C794
sub_809C794: @ 809C794
push {lr}
sub sp, 0x4
mov r1, sp
movs r0, 0
strh r0, [r1]
ldr r0, _0809C7B8 @ =gUnknown_3005008
ldr r1, [r0]
ldr r0, _0809C7BC @ =0x000030ec
adds r1, r0
ldr r2, _0809C7C0 @ =0x0100001a
mov r0, sp
bl CpuSet
bl sub_809C718
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_0809C7B8: .4byte gUnknown_3005008
_0809C7BC: .4byte 0x000030ec
_0809C7C0: .4byte 0x0100001a
thumb_func_end sub_809C794
thumb_func_start sub_809C7C4
sub_809C7C4: @ 809C7C4
push {r4-r7,lr}
adds r4, r0, 0
bl sub_809C794
adds r5, r4, 0
ldr r0, _0809C824 @ =gUnknown_3005008
ldr r2, [r0]
ldr r0, _0809C828 @ =0x000030ec
adds r4, r2, r0
adds r1, r4, 0
adds r0, r5, 0
ldm r0!, {r3,r6,r7}
stm r1!, {r3,r6,r7}
ldm r0!, {r3,r6,r7}
stm r1!, {r3,r6,r7}
ldr r0, [r0]
str r0, [r1]
movs r3, 0
ldr r0, _0809C82C @ =0x00003108
adds r6, r2, r0
ldr r1, _0809C830 @ =0x00000516
adds r2, r5, r1
_0809C7F0:
adds r0, r6, r3
adds r1, r2, r3
ldrb r1, [r1]
strb r1, [r0]
adds r3, 0x1
cmp r3, 0x11
ble _0809C7F0
movs r3, 0xA5
lsls r3, 3
adds r0, r5, r3
ldrb r0, [r0]
adds r1, r4, 0
adds r1, 0x2E
strb r0, [r1]
ldr r6, _0809C834 @ =0x00000529
adds r0, r5, r6
ldrb r0, [r0]
adds r1, 0x1
strb r0, [r1]
adds r0, r4, 0
bl sub_809C838
str r0, [r4, 0x30]
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0809C824: .4byte gUnknown_3005008
_0809C828: .4byte 0x000030ec
_0809C82C: .4byte 0x00003108
_0809C830: .4byte 0x00000516
_0809C834: .4byte 0x00000529
thumb_func_end sub_809C7C4
thumb_func_start sub_809C838
sub_809C838: @ 809C838
push {lr}
adds r3, r0, 0
movs r2, 0
movs r1, 0
_0809C840:
adds r0, r3, r1
ldrb r0, [r0]
adds r2, r0
adds r1, 0x1
cmp r1, 0x2F
bls _0809C840
adds r0, r2, 0
pop {r1}
bx r1
thumb_func_end sub_809C838
thumb_func_start sub_809C854
sub_809C854: @ 809C854
push {r4,lr}
ldr r4, _0809C888 @ =gUnknown_3005008
ldr r1, [r4]
movs r2, 0xC4
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _0809C898
ldr r2, _0809C88C @ =0x000030f6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _0809C898
ldr r2, _0809C890 @ =0x000030ec
adds r0, r1, r2
bl sub_809C838
ldr r1, [r4]
ldr r2, _0809C894 @ =0x0000311c
adds r1, r2
ldr r1, [r1]
cmp r0, r1
bne _0809C898
movs r0, 0x1
b _0809C89A
.align 2, 0
_0809C888: .4byte gUnknown_3005008
_0809C88C: .4byte 0x000030f6
_0809C890: .4byte 0x000030ec
_0809C894: .4byte 0x0000311c
_0809C898:
movs r0, 0
_0809C89A:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_809C854
thumb_func_start sub_809C8A0
sub_809C8A0: @ 809C8A0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2B
bne _0809C8C4
bl sub_809C854
cmp r0, 0
beq _0809C8C4
ldr r0, _0809C8BC @ =gUnknown_3005008
ldr r0, [r0]
ldr r1, _0809C8C0 @ =0x000030ec
b _0809C8D8
.align 2, 0
_0809C8BC: .4byte gUnknown_3005008
_0809C8C0: .4byte 0x000030ec
_0809C8C4:
subs r0, r4, 0x1
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2A
bls _0809C8D0
movs r4, 0x1
_0809C8D0:
lsls r0, r4, 3
subs r0, r4
lsls r0, 2
ldr r1, _0809C8E0 @ =gUnknown_83DF7CC
_0809C8D8:
adds r0, r1
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0809C8E0: .4byte gUnknown_83DF7CC
thumb_func_end sub_809C8A0
thumb_func_start sub_809C8E4
sub_809C8E4: @ 809C8E4
push {lr}
lsls r0, 16
lsrs r1, r0, 16
ldr r2, _0809C900 @ =0xff7b0000
adds r0, r2
lsrs r0, 16
cmp r0, 0x2A
bhi _0809C904
adds r0, r1, 0
adds r0, 0x7C
lsls r0, 24
lsrs r0, 24
b _0809C906
.align 2, 0
_0809C900: .4byte 0xff7b0000
_0809C904:
movs r0, 0x1
_0809C906:
pop {r1}
bx r1
thumb_func_end sub_809C8E4
thumb_func_start sub_809C90C
sub_809C90C: @ 809C90C
push {lr}
lsls r0, 16
lsrs r1, r0, 16
ldr r2, _0809C928 @ =0xffff0000
adds r0, r2
lsrs r0, 16
cmp r0, 0x2A
bhi _0809C92C
adds r0, r1, 0
adds r0, 0x84
lsls r0, 16
lsrs r0, 16
b _0809C92E
.align 2, 0
_0809C928: .4byte 0xffff0000
_0809C92C:
movs r0, 0x85
_0809C92E:
pop {r1}
bx r1
thumb_func_end sub_809C90C
thumb_func_start sub_809C934
sub_809C934: @ 809C934
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
lsrs r0, 24
bl sub_809C8A0
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0x6
bl memcpy
movs r0, 0xFF
strb r0, [r4, 0x6]
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_809C934
.align 2, 0 @ Don't pad with nop.
+344
View File
@@ -0,0 +1,344 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_815F6E0
sub_815F6E0: @ 815F6E0
push {r4-r6,lr}
movs r6, 0x80
lsls r6, 19
movs r2, 0
strh r2, [r6]
ldr r1, _0815F73C @ =0x04000010
strh r2, [r1]
adds r1, 0x2
strh r2, [r1]
adds r1, 0x3E
strh r2, [r1]
ldr r5, _0815F740 @ =gUnknown_847A890
lsls r4, r0, 1
adds r4, r0
lsls r4, 2
adds r0, r4, r5
ldr r0, [r0]
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
adds r0, r5, 0x4
adds r0, r4, r0
ldr r0, [r0]
ldr r1, _0815F744 @ =0x0600f800
bl LZ77UnCompVram
adds r5, 0x8
adds r4, r5
ldr r0, [r4]
movs r1, 0xA0
lsls r1, 19
movs r4, 0x80
lsls r4, 1
adds r2, r4, 0
bl CpuSet
ldr r1, _0815F748 @ =0x04000008
movs r2, 0xF8
lsls r2, 5
adds r0, r2, 0
strh r0, [r1]
strh r4, [r6]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0815F73C: .4byte 0x04000010
_0815F740: .4byte gUnknown_847A890
_0815F744: .4byte 0x0600f800
_0815F748: .4byte 0x04000008
thumb_func_end sub_815F6E0
thumb_func_start sub_815F74C
sub_815F74C: @ 815F74C
push {r4,lr}
sub sp, 0x4
ldr r0, _0815F7C4 @ =0x0000ffff
bl sub_8000B94
movs r0, 0x1
bl sub_8000B68
bl m4aSoundVSyncOff
movs r0, 0
bl sub_80006F4
movs r4, 0
str r4, [sp]
ldr r0, _0815F7C8 @ =0x040000d4
mov r1, sp
str r1, [r0]
movs r1, 0xC0
lsls r1, 19
str r1, [r0, 0x4]
ldr r1, _0815F7CC @ =0x85006000
str r1, [r0, 0x8]
ldr r1, [r0, 0x8]
str r4, [sp]
mov r1, sp
str r1, [r0]
movs r1, 0xA0
lsls r1, 19
str r1, [r0, 0x4]
ldr r1, _0815F7D0 @ =0x85000100
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
bl sub_8006B10
bl sub_80773BC
bl sub_8087E64
ldr r0, _0815F7D4 @ =gUnknown_3005ECC
strb r4, [r0]
ldr r0, _0815F7D8 @ =sub_815F7F0
movs r1, 0
bl sub_807741C
lsls r0, 24
lsrs r0, 24
ldr r2, _0815F7DC @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r4, [r1, 0x8]
ldr r0, _0815F7E0 @ =sub_815F7E4
bl sub_8000544
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0815F7C4: .4byte 0x0000ffff
_0815F7C8: .4byte 0x040000d4
_0815F7CC: .4byte 0x85006000
_0815F7D0: .4byte 0x85000100
_0815F7D4: .4byte gUnknown_3005ECC
_0815F7D8: .4byte sub_815F7F0
_0815F7DC: .4byte gUnknown_3005090
_0815F7E0: .4byte sub_815F7E4
thumb_func_end sub_815F74C
thumb_func_start sub_815F7E4
sub_815F7E4: @ 815F7E4
push {lr}
bl sub_8077578
pop {r0}
bx r0
thumb_func_end sub_815F7E4
thumb_func_start sub_815F7F0
sub_815F7F0: @ 815F7F0
push {r4-r6,lr}
sub sp, 0x4
lsls r0, 24
lsrs r2, r0, 24
lsls r0, r2, 2
adds r0, r2
lsls r0, 3
ldr r1, _0815F818 @ =gUnknown_3005098
adds r5, r0, r1
movs r1, 0
ldrsh r0, [r5, r1]
cmp r0, 0xA
bls _0815F80C
b _0815F9A6
_0815F80C:
lsls r0, 2
ldr r1, _0815F81C @ =_0815F820
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0815F818: .4byte gUnknown_3005098
_0815F81C: .4byte _0815F820
.align 2, 0
_0815F820:
.4byte _0815F84C
.4byte _0815F856
.4byte _0815F874
.4byte _0815F9A6
.4byte _0815F890
.4byte _0815F8C8
.4byte _0815F934
.4byte _0815F96A
.4byte _0815F96E
.4byte _0815F98C
.4byte _0815F996
_0815F84C:
movs r0, 0x5
bl sub_815F6E0
movs r0, 0x1
b _0815F9A4
_0815F856:
ldr r0, _0815F870 @ =gUnknown_30030F0
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0815F864
b _0815F9A6
_0815F864:
movs r0, 0
bl sub_815F6E0
movs r0, 0x2
b _0815F9A4
.align 2, 0
_0815F870: .4byte gUnknown_30030F0
_0815F874:
ldr r0, _0815F88C @ =gUnknown_30030F0
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0815F882
b _0815F9A6
_0815F882:
movs r0, 0x1
bl sub_815F6E0
movs r0, 0x4
b _0815F9A4
.align 2, 0
_0815F88C: .4byte gUnknown_30030F0
_0815F890:
ldr r0, _0815F8B4 @ =gUnknown_3005EF0
ldr r1, _0815F8B8 @ =gMultiBootProgram_BerryGlitchFix_Start
str r1, [r0]
ldr r2, _0815F8BC @ =gUnknown_3005EF8
ldr r0, _0815F8C0 @ =gMultiBootProgram_BerryGlitchFix_End
subs r0, r1
str r0, [r2]
ldr r0, _0815F8C4 @ =gUnknown_3005F00
str r1, [r0, 0x28]
adds r1, r0, 0
adds r1, 0x4B
movs r4, 0
strb r4, [r1]
bl sub_800BC20
strh r4, [r5, 0x2]
movs r0, 0x5
b _0815F9A4
.align 2, 0
_0815F8B4: .4byte gUnknown_3005EF0
_0815F8B8: .4byte gMultiBootProgram_BerryGlitchFix_Start
_0815F8BC: .4byte gUnknown_3005EF8
_0815F8C0: .4byte gMultiBootProgram_BerryGlitchFix_End
_0815F8C4: .4byte gUnknown_3005F00
_0815F8C8:
ldr r0, _0815F910 @ =gUnknown_3005F00
ldrb r6, [r0, 0x18]
adds r4, r0, 0
cmp r6, 0
bne _0815F920
ldr r0, [r4, 0x1C]
ldr r1, _0815F914 @ =0x00020200
ands r0, r1
cmp r0, r1
bne _0815F920
ldrh r0, [r5, 0x2]
adds r0, 0x1
strh r0, [r5, 0x2]
lsls r0, 16
asrs r0, 16
cmp r0, 0xB4
ble _0815F924
movs r0, 0x2
bl sub_815F6E0
ldr r0, _0815F918 @ =gUnknown_3005EF0
ldr r1, [r0]
adds r1, 0xC0
ldr r0, _0815F91C @ =gUnknown_3005EF8
ldr r2, [r0]
subs r2, 0xC0
movs r0, 0x1
str r0, [sp]
adds r0, r4, 0
movs r3, 0x4
bl sub_800C0BC
strh r6, [r5, 0x2]
movs r0, 0x6
b _0815F9A4
.align 2, 0
_0815F910: .4byte gUnknown_3005F00
_0815F914: .4byte 0x00020200
_0815F918: .4byte gUnknown_3005EF0
_0815F91C: .4byte gUnknown_3005EF8
_0815F920:
movs r0, 0
strh r0, [r5, 0x2]
_0815F924:
adds r0, r4, 0
bl sub_800BC5C
ldr r1, _0815F930 @ =gUnknown_3005EF4
str r0, [r1]
b _0815F9A6
.align 2, 0
_0815F930: .4byte gUnknown_3005EF4
_0815F934:
ldr r4, _0815F954 @ =gUnknown_3005F00
adds r0, r4, 0
bl sub_800BC5C
ldr r1, _0815F958 @ =gUnknown_3005EF4
str r0, [r1]
adds r0, r4, 0
bl sub_800C180
cmp r0, 0
beq _0815F95C
movs r0, 0x3
bl sub_815F6E0
movs r0, 0x7
b _0815F9A4
.align 2, 0
_0815F954: .4byte gUnknown_3005F00
_0815F958: .4byte gUnknown_3005EF4
_0815F95C:
ldrb r1, [r4, 0x1E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _0815F9A6
movs r0, 0x9
b _0815F9A4
_0815F96A:
movs r0, 0x8
b _0815F9A4
_0815F96E:
ldr r0, _0815F988 @ =gUnknown_30030F0
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0815F9A6
adds r0, r2, 0
bl sub_8077508
bl sub_80008D8
b _0815F9A6
.align 2, 0
_0815F988: .4byte gUnknown_30030F0
_0815F98C:
movs r0, 0x4
bl sub_815F6E0
movs r0, 0xA
b _0815F9A4
_0815F996:
ldr r0, _0815F9B0 @ =gUnknown_30030F0
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0815F9A6
movs r0, 0
_0815F9A4:
strh r0, [r5]
_0815F9A6:
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0815F9B0: .4byte gUnknown_30030F0
thumb_func_end sub_815F7F0
.align 2, 0 @ Don't pad with nop.
+3819
View File
File diff suppressed because it is too large Load Diff
+3421
View File
File diff suppressed because it is too large Load Diff
+897
View File
@@ -0,0 +1,897 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80BD09C
sub_80BD09C: @ 80BD09C
push {r4,lr}
sub sp, 0x4
mov r3, sp
strb r0, [r3]
lsls r1, 16
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
ldr r4, _080BD0D0 @ =gUnknown_83E7CFC
mov r0, sp
bl sub_80BD0D4
lsls r0, 24
lsrs r0, 22
adds r0, r4
mov r1, sp
ldrb r1, [r1]
ldr r2, [r0]
adds r0, r1, 0
bl _call_via_r2
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080BD0D0: .4byte gUnknown_83E7CFC
thumb_func_end sub_80BD09C
thumb_func_start sub_80BD0D4
sub_80BD0D4: @ 80BD0D4
push {r4,lr}
lsls r1, 16
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
ldr r4, _080BD0F8 @ =gUnknown_83E7D10
ldr r3, _080BD0FC @ =gUnknown_2037078
ldrb r3, [r3, 0x8]
lsls r3, 2
adds r3, r4
ldr r3, [r3]
bl _call_via_r3
lsls r0, 24
lsrs r0, 24
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080BD0F8: .4byte gUnknown_83E7D10
_080BD0FC: .4byte gUnknown_2037078
thumb_func_end sub_80BD0D4
thumb_func_start sub_80BD100
sub_80BD100: @ 80BD100
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r6, r0, 0
lsls r1, 16
lsrs r1, 16
mov r10, r1
lsls r2, 16
lsrs r2, 16
mov r9, r2
ldr r5, _080BD15C @ =gUnknown_2037078
ldrb r0, [r5, 0x5]
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
ldr r0, _080BD160 @ =gUnknown_2036E38
adds r4, r0
bl sub_805C6E4
lsls r0, 24
lsrs r7, r0, 24
movs r0, 0
mov r8, r0
mov r0, r8
strb r0, [r5, 0xA]
ldrb r0, [r4, 0x1E]
bl sub_805A1DC
cmp r0, 0x1
bne _080BD176
ldr r0, _080BD164 @ =gUnknown_30030F0
ldrh r1, [r0, 0x2C]
movs r2, 0x2
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _080BD168
strb r2, [r5, 0x8]
strb r2, [r5, 0x2]
ldrb r0, [r6]
cmp r0, 0x1
bhi _080BD172
movs r0, 0x3
b _080BD1B6
.align 2, 0
_080BD15C: .4byte gUnknown_2037078
_080BD160: .4byte gUnknown_2036E38
_080BD164: .4byte gUnknown_30030F0
_080BD168:
ldrb r0, [r6]
cmp r0, 0
beq _080BD17E
strb r2, [r5, 0x8]
strb r2, [r5, 0x2]
_080BD172:
movs r0, 0x4
b _080BD1B6
_080BD176:
ldrb r1, [r6]
adds r0, r1, 0
cmp r0, 0
bne _080BD18C
_080BD17E:
strb r7, [r6]
ldr r1, _080BD188 @ =gUnknown_2037078
movs r0, 0
b _080BD1B4
.align 2, 0
_080BD188: .4byte gUnknown_2037078
_080BD18C:
cmp r0, r7
beq _080BD1B0
ldrb r0, [r5, 0x2]
cmp r0, 0x2
beq _080BD1B0
movs r0, 0x1
strb r0, [r5, 0x8]
strb r1, [r5, 0x9]
mov r0, r8
strb r0, [r5, 0x2]
adds r0, r6, 0
mov r1, r10
mov r2, r9
bl sub_80BD0D4
lsls r0, 24
lsrs r0, 24
b _080BD1B6
_080BD1B0:
ldr r1, _080BD1C4 @ =gUnknown_2037078
movs r0, 0x2
_080BD1B4:
strb r0, [r1, 0x2]
_080BD1B6:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080BD1C4: .4byte gUnknown_2037078
thumb_func_end sub_80BD100
thumb_func_start sub_80BD1C8
sub_80BD1C8: @ 80BD1C8
push {lr}
ldr r2, _080BD1E4 @ =gUnknown_2037078
ldrb r1, [r2, 0x9]
strb r1, [r0]
movs r1, 0
movs r0, 0x1
strb r0, [r2, 0x2]
strb r1, [r2, 0x8]
bl sub_80BD664
movs r0, 0x1
pop {r1}
bx r1
.align 2, 0
_080BD1E4: .4byte gUnknown_2037078
thumb_func_end sub_80BD1C8
thumb_func_start sub_80BD1E8
sub_80BD1E8: @ 80BD1E8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
adds r6, r0, 0
lsls r1, 16
lsrs r1, 16
mov r9, r1
lsls r2, 16
lsrs r2, 16
mov r8, r2
bl sub_805C6E4
lsls r0, 24
lsrs r5, r0, 24
adds r7, r5, 0
ldr r4, _080BD240 @ =gUnknown_2037078
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080BD244 @ =gUnknown_2036E38
adds r0, r1
ldrb r0, [r0, 0x1E]
bl sub_805A1DC
adds r2, r0, 0
cmp r2, 0x1
bne _080BD25A
ldrb r1, [r6]
cmp r1, r5
beq _080BD248
movs r0, 0
strb r2, [r4, 0x8]
strb r1, [r4, 0x9]
strb r0, [r4, 0x2]
adds r0, r6, 0
mov r1, r9
mov r2, r8
bl sub_80BD0D4
lsls r0, 24
lsrs r0, 24
b _080BD270
.align 2, 0
_080BD240: .4byte gUnknown_2037078
_080BD244: .4byte gUnknown_2036E38
_080BD248:
movs r0, 0x2
strb r0, [r4, 0x2]
strb r0, [r4, 0x8]
cmp r5, 0x1
bhi _080BD256
movs r0, 0x3
b _080BD270
_080BD256:
movs r0, 0x4
b _080BD270
_080BD25A:
movs r0, 0
strb r0, [r4, 0x8]
ldrb r0, [r6]
cmp r0, 0
beq _080BD26A
movs r0, 0x2
strb r0, [r4, 0x2]
b _080BD270
_080BD26A:
strb r7, [r6]
strb r0, [r4, 0x2]
movs r0, 0
_080BD270:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80BD1E8
thumb_func_start sub_80BD27C
sub_80BD27C: @ 80BD27C
push {lr}
lsls r0, 24
lsrs r0, 24
bl sub_805C1F4
pop {r0}
bx r0
thumb_func_end sub_80BD27C
thumb_func_start sub_80BD28C
sub_80BD28C: @ 80BD28C
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080BD2C0 @ =gUnknown_2037078
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080BD2C4 @ =gUnknown_2036E38
adds r5, r0, r1
ldrb r1, [r5, 0x1E]
adds r0, r4, 0
bl sub_80BD4F0
lsls r0, 24
cmp r0, 0
bne _080BD2B2
ldrb r0, [r5, 0x18]
lsrs r4, r0, 4
_080BD2B2:
adds r0, r4, 0
bl sub_805C1F4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080BD2C0: .4byte gUnknown_2037078
_080BD2C4: .4byte gUnknown_2036E38
thumb_func_end sub_80BD28C
thumb_func_start sub_80BD2C8
sub_80BD2C8: @ 80BD2C8
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
ldr r0, _080BD2F8 @ =gUnknown_2037078
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080BD2FC @ =gUnknown_2036E38
adds r5, r0, r1
ldrb r1, [r5, 0x1E]
adds r0, r4, 0
bl sub_80BD4F0
lsls r0, 24
cmp r0, 0
bne _080BD300
ldrb r0, [r5, 0x18]
lsrs r0, 4
bl sub_80BD27C
b _080BD350
.align 2, 0
_080BD2F8: .4byte gUnknown_2037078
_080BD2FC: .4byte gUnknown_2036E38
_080BD300:
adds r0, r4, 0
bl sub_80BD3A0
lsls r0, 24
lsrs r1, r0, 24
movs r2, 0xFF
lsls r2, 24
adds r0, r2
lsrs r0, 24
cmp r0, 0xA
bhi _080BD334
cmp r1, 0x6
bne _080BD322
adds r0, r4, 0
bl sub_805C23C
b _080BD350
_080BD322:
subs r0, r1, 0x5
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
bls _080BD350
adds r0, r4, 0
bl sub_805C1AC
b _080BD350
_080BD334:
cmp r1, 0xE
beq _080BD342
adds r0, r4, 0
bl sub_805BAAC
cmp r0, 0
beq _080BD34A
_080BD342:
adds r0, r4, 0
bl sub_805C11C
b _080BD350
_080BD34A:
adds r0, r6, 0
bl sub_805C14C
_080BD350:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80BD2C8
thumb_func_start sub_80BD358
sub_80BD358: @ 80BD358
push {lr}
movs r0, 0x1
bl sub_80BD3A0
lsls r0, 24
lsrs r0, 24
cmp r0, 0
bne _080BD370
movs r0, 0x1
bl sub_805C164
b _080BD37A
_080BD370:
cmp r0, 0x6
bne _080BD37A
movs r0, 0x1
bl sub_805C23C
_080BD37A:
pop {r0}
bx r0
thumb_func_end sub_80BD358
thumb_func_start sub_80BD380
sub_80BD380: @ 80BD380
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
bl sub_80BD3A0
lsls r0, 24
cmp r0, 0
bne _080BD398
adds r0, r4, 0
bl sub_805C104
_080BD398:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80BD380
thumb_func_start sub_80BD3A0
sub_80BD3A0: @ 80BD3A0
push {r4-r6,lr}
sub sp, 0x8
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
ldr r0, _080BD404 @ =gUnknown_2037078
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
ldr r0, _080BD408 @ =gUnknown_2036E38
adds r4, r0
ldrh r1, [r4, 0x10]
add r0, sp, 0x4
strh r1, [r0]
ldrh r0, [r4, 0x12]
mov r5, sp
adds r5, 0x6
strh r0, [r5]
adds r0, r6, 0
add r1, sp, 0x4
adds r2, r5, 0
bl sub_8063A20
add r0, sp, 0x4
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r5, r2]
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
add r1, sp, 0x4
movs r3, 0
ldrsh r1, [r1, r3]
movs r3, 0
ldrsh r2, [r5, r3]
str r0, [sp]
adds r0, r4, 0
adds r3, r6, 0
bl sub_80BD40C
lsls r0, 24
lsrs r0, 24
add sp, 0x8
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_080BD404: .4byte gUnknown_2037078
_080BD408: .4byte gUnknown_2036E38
thumb_func_end sub_80BD3A0
thumb_func_start sub_80BD40C
sub_80BD40C: @ 80BD40C
push {r4-r6,lr}
sub sp, 0x4
ldr r4, [sp, 0x14]
lsls r3, 24
lsrs r3, 24
lsls r4, 24
lsrs r5, r4, 24
adds r6, r5, 0
lsls r1, 16
asrs r1, 16
lsls r2, 16
asrs r2, 16
str r5, [sp]
bl sub_805BBA8
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x4
bhi _080BD456
adds r0, r5, 0
bl sub_805A008
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080BD444
movs r0, 0xE
b _080BD458
_080BD444:
cmp r4, 0
bne _080BD456
adds r0, r6, 0
bl sub_80BD4B8
lsls r0, 24
cmp r0, 0
beq _080BD456
movs r4, 0x2
_080BD456:
adds r0, r4, 0
_080BD458:
add sp, 0x4
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80BD40C
thumb_func_start sub_80BD460
sub_80BD460: @ 80BD460
push {lr}
lsls r0, 24
lsrs r0, 24
bl sub_80BD4B8
lsls r0, 24
cmp r0, 0
bne _080BD478
ldr r0, _080BD47C @ =gUnknown_2036DFC
ldrb r0, [r0, 0x17]
cmp r0, 0x8
bne _080BD480
_080BD478:
movs r0, 0x1
b _080BD482
.align 2, 0
_080BD47C: .4byte gUnknown_2036DFC
_080BD480:
movs r0, 0
_080BD482:
pop {r1}
bx r1
thumb_func_end sub_80BD460
thumb_func_start sub_80BD488
sub_80BD488: @ 80BD488
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080BD4AC @ =gUnknown_2036DFC
ldrb r1, [r0, 0x19]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080BD4A8
adds r0, r2, 0
bl sub_80BD4B8
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080BD4B0
_080BD4A8:
movs r0, 0x1
b _080BD4B2
.align 2, 0
_080BD4AC: .4byte gUnknown_2036DFC
_080BD4B0:
movs r0, 0
_080BD4B2:
pop {r1}
bx r1
thumb_func_end sub_80BD488
thumb_func_start sub_80BD4B8
sub_80BD4B8: @ 80BD4B8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
bl sub_805A234
lsls r0, 24
cmp r0, 0
bne _080BD4E2
adds r0, r4, 0
bl sub_805A118
lsls r0, 24
cmp r0, 0
beq _080BD4E6
bl sub_805C700
movs r1, 0x1
ands r1, r0
cmp r1, 0
bne _080BD4E6
_080BD4E2:
movs r0, 0x1
b _080BD4E8
_080BD4E6:
movs r0, 0
_080BD4E8:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80BD4B8
thumb_func_start sub_80BD4F0
sub_80BD4F0: @ 80BD4F0
push {r4,r5,lr}
lsls r0, 24
lsls r1, 24
lsrs r4, r1, 24
adds r5, r4, 0
movs r1, 0xFD
lsls r1, 24
adds r0, r1
lsrs r0, 24
cmp r0, 0x1
bhi _080BD51A
adds r0, r4, 0
bl sub_805A210
lsls r0, 24
cmp r0, 0
bne _080BD532
adds r0, r4, 0
bl sub_805A218
b _080BD52C
_080BD51A:
adds r0, r5, 0
bl sub_805A214
lsls r0, 24
cmp r0, 0
bne _080BD532
adds r0, r5, 0
bl sub_805A21C
_080BD52C:
lsls r0, 24
cmp r0, 0
beq _080BD536
_080BD532:
movs r0, 0
b _080BD538
_080BD536:
movs r0, 0x1
_080BD538:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80BD4F0
thumb_func_start sub_80BD540
sub_80BD540: @ 80BD540
push {r4,lr}
sub sp, 0x4
ldr r0, _080BD57C @ =gUnknown_2037078
ldrb r1, [r0]
movs r0, 0x18
ands r0, r1
cmp r0, 0
bne _080BD580
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl sub_805C538
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_80BD4B8
lsls r0, 24
cmp r0, 0
bne _080BD580
movs r0, 0
b _080BD582
.align 2, 0
_080BD57C: .4byte gUnknown_2037078
_080BD580:
movs r0, 0x1
_080BD582:
add sp, 0x4
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80BD540
thumb_func_start sub_80BD58C
sub_80BD58C: @ 80BD58C
push {lr}
movs r0, 0x4
bl sub_805C74C
lsls r0, 24
cmp r0, 0
beq _080BD5C0
ldr r2, _080BD5B8 @ =gUnknown_2036E38
ldr r0, _080BD5BC @ =gUnknown_2037078
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r2
ldrb r0, [r0, 0x1E]
bl sub_805A20C
lsls r0, 24
cmp r0, 0
beq _080BD5C0
movs r0, 0
b _080BD5C2
.align 2, 0
_080BD5B8: .4byte gUnknown_2036E38
_080BD5BC: .4byte gUnknown_2037078
_080BD5C0:
movs r0, 0x1
_080BD5C2:
pop {r1}
bx r1
thumb_func_end sub_80BD58C
thumb_func_start sub_80BD5C8
sub_80BD5C8: @ 80BD5C8
push {r4,lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r1, _080BD5F0 @ =gUnknown_2036E2C
movs r0, 0
strb r0, [r1]
ldr r0, _080BD5F4 @ =gUnknown_2037078
ldrb r1, [r0]
movs r0, 0x6
ands r0, r1
cmp r0, 0
beq _080BD5F8
movs r0, 0x1
bl sub_805BDEC
bl sub_8055E84
bl sub_8055DC4
b _080BD618
.align 2, 0
_080BD5F0: .4byte gUnknown_2036E2C
_080BD5F4: .4byte gUnknown_2037078
_080BD5F8:
adds r0, r2, 0
bl sub_805BDEC
movs r4, 0x8D
lsls r4, 1
adds r0, r4, 0
bl sub_8056124
cmp r0, 0
beq _080BD618
adds r0, r4, 0
bl sub_8055E78
adds r0, r4, 0
bl sub_8055F48
_080BD618:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80BD5C8
thumb_func_start sub_80BD620
sub_80BD620: @ 80BD620
push {lr}
ldr r2, _080BD64C @ =gUnknown_2037078
movs r3, 0
strb r3, [r2, 0x8]
strb r3, [r2, 0x9]
strb r3, [r2, 0xA]
strb r3, [r2, 0xB]
str r0, [r2, 0xC]
str r1, [r2, 0x10]
strh r3, [r2, 0x1C]
movs r1, 0
adds r2, 0x14
_080BD638:
adds r0, r1, r2
strb r3, [r0]
adds r0, r1, 0x1
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x7
bls _080BD638
pop {r0}
bx r0
.align 2, 0
_080BD64C: .4byte gUnknown_2037078
thumb_func_end sub_80BD620
thumb_func_start sub_80BD650
sub_80BD650: @ 80BD650
lsls r0, 24
lsrs r0, 24
ldr r2, _080BD660 @ =gUnknown_2037078
strb r0, [r2, 0xA]
lsrs r1, r0, 1
adds r0, r1
strb r0, [r2, 0xB]
bx lr
.align 2, 0
_080BD660: .4byte gUnknown_2037078
thumb_func_end sub_80BD650
thumb_func_start sub_80BD664
sub_80BD664: @ 80BD664
ldr r1, _080BD670 @ =gUnknown_2037078
movs r0, 0
strb r0, [r1, 0xA]
strb r0, [r1, 0xB]
bx lr
.align 2, 0
_080BD670: .4byte gUnknown_2037078
thumb_func_end sub_80BD664
thumb_func_start sub_80BD674
sub_80BD674: @ 80BD674
push {lr}
sub sp, 0x8
ldr r1, _080BD69C @ =gUnknown_83E7D1C
mov r0, sp
movs r2, 0x6
bl memcpy
ldr r2, _080BD6A0 @ =gUnknown_2037078
ldrb r1, [r2]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080BD6A4
ldrb r0, [r2, 0xA]
lsls r0, 1
add r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
b _080BD6BE
.align 2, 0
_080BD69C: .4byte gUnknown_83E7D1C
_080BD6A0: .4byte gUnknown_2037078
_080BD6A4:
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _080BD6B0
movs r0, 0x3
b _080BD6BE
_080BD6B0:
movs r0, 0x88
ands r0, r1
cmp r0, 0
bne _080BD6BC
movs r0, 0x1
b _080BD6BE
_080BD6BC:
movs r0, 0x2
_080BD6BE:
add sp, 0x8
pop {r1}
bx r1
thumb_func_end sub_80BD674
thumb_func_start sub_80BD6C4
sub_80BD6C4: @ 80BD6C4
push {r4,r5,lr}
sub sp, 0x4
ldr r5, _080BD714 @ =gUnknown_2037078
ldrb r1, [r5]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _080BD70C
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl sub_805C538
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_805A20C
lsls r0, 24
cmp r0, 0
beq _080BD70C
movs r0, 0x2
strb r0, [r5, 0x8]
bl sub_805C6E4
lsls r0, 24
lsrs r0, 24
bl nullsub_24
_080BD70C:
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080BD714: .4byte gUnknown_2037078
thumb_func_end sub_80BD6C4
.align 2, 0 @ Don't pad with nop.
+186
View File
@@ -0,0 +1,186 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8045274
sub_8045274: @ 8045274
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
lsls r0, 16
lsrs r0, 16
mov r8, r0
lsls r1, 16
lsrs r1, 16
mov r12, r1
lsls r2, 24
lsrs r7, r2, 24
mov r0, sp
strh r3, [r0]
movs r6, 0
cmp r6, r12
bcs _080452FA
ldr r0, _0804530C @ =gUnknown_20371F8
mov r10, r0
ldr r1, _08045310 @ =gUnknown_20375F8
mov r9, r1
_080452A2:
mov r0, r8
adds r5, r6, r0
lsls r5, 16
lsrs r5, 15
mov r1, r10
adds r0, r5, r1
ldr r3, [r0]
lsls r4, r3, 27
lsls r2, r3, 22
lsls r3, 17
add r5, r9
lsrs r4, 27
ldr r1, [sp]
lsls r0, r1, 27
lsrs r0, 27
subs r0, r4
muls r0, r7
asrs r0, 4
adds r4, r0
lsrs r2, 27
lsls r0, r1, 22
lsrs r0, 27
subs r0, r2
muls r0, r7
asrs r0, 4
adds r2, r0
lsls r2, 5
orrs r4, r2
lsrs r3, 27
lsls r1, 17
lsrs r1, 27
subs r1, r3
adds r0, r1, 0
muls r0, r7
asrs r0, 4
adds r3, r0
lsls r3, 10
orrs r4, r3
strh r4, [r5]
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
cmp r6, r12
bcc _080452A2
_080452FA:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0804530C: .4byte gUnknown_20371F8
_08045310: .4byte gUnknown_20375F8
thumb_func_end sub_8045274
thumb_func_start sub_8045314
sub_8045314: @ 8045314
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r5, r0, 0
adds r6, r2, 0
adds r4, r3, 0
lsls r1, 16
lsrs r2, r1, 16
cmp r6, 0x10
bne _08045342
subs r4, 0x1
movs r0, 0x1
negs r0, r0
cmp r4, r0
beq _080453B2
_08045336:
strh r2, [r5]
adds r5, 0x2
subs r4, 0x1
cmp r4, r0
bne _08045336
b _080453B2
_08045342:
movs r0, 0x1F
movs r3, 0x1F
mov r9, r3
mov r7, r9
ands r7, r2
mov r9, r7
lsrs r2, r1, 21
ands r2, r0
mov r12, r2
lsrs r1, 26
mov r10, r1
mov r3, r10
ands r3, r0
mov r10, r3
subs r4, 0x1
movs r0, 0x1
negs r0, r0
cmp r4, r0
beq _080453B2
movs r7, 0x1F
mov r8, r7
_0804536C:
ldrh r2, [r5]
movs r3, 0x1F
ands r3, r2
lsls r2, 16
lsrs r1, r2, 21
mov r0, r8
ands r1, r0
lsrs r2, 26
ands r2, r0
mov r7, r9
subs r0, r7, r3
muls r0, r6
lsrs r0, 4
adds r3, r0
mov r7, r12
subs r0, r7, r1
muls r0, r6
lsrs r0, 4
adds r1, r0
lsls r1, 5
orrs r3, r1
mov r1, r10
subs r0, r1, r2
muls r0, r6
lsrs r0, 4
adds r2, r0
lsls r2, 10
orrs r3, r2
strh r3, [r5]
adds r5, 0x2
subs r4, 0x1
movs r0, 0x1
negs r0, r0
cmp r4, r0
bne _0804536C
_080453B2:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8045314
.align 2, 0 @ Don't pad with nop.
+813
View File
@@ -0,0 +1,813 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8004A60
sub_8004A60: @ 8004A60
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
ldr r4, [sp, 0x2C]
ldr r5, [sp, 0x30]
ldr r6, [sp, 0x34]
ldr r7, [sp, 0x38]
lsls r2, 16
lsrs r2, 16
lsls r3, 16
lsrs r3, 16
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
lsls r6, 16
lsrs r6, 16
lsls r7, 16
lsrs r7, 16
str r4, [sp]
str r5, [sp, 0x4]
str r6, [sp, 0x8]
str r7, [sp, 0xC]
movs r4, 0xFF
str r4, [sp, 0x10]
bl sub_8004AA4
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8004A60
thumb_func_start sub_8004AA4
sub_8004AA4: @ 8004AA4
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x2C
str r0, [sp]
str r1, [sp, 0x4]
ldr r0, [sp, 0x4C]
ldr r1, [sp, 0x50]
ldr r4, [sp, 0x54]
ldr r5, [sp, 0x58]
ldr r6, [sp, 0x5C]
lsls r2, 16
lsrs r2, 16
str r2, [sp, 0x8]
lsls r3, 16
lsrs r7, r3, 16
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0xC]
lsls r1, 16
lsrs r1, 16
mov r9, r1
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
lsls r6, 24
lsrs r6, 24
str r6, [sp, 0x10]
ldr r0, [sp, 0x4]
ldrh r3, [r0, 0x4]
ldr r1, [sp, 0xC]
subs r0, r3, r1
adds r2, r4
mov r8, r2
cmp r0, r4
bge _08004AF8
ldr r2, [sp, 0x8]
adds r0, r2
mov r8, r0
_08004AF8:
ldr r4, [sp, 0x4]
ldrh r0, [r4, 0x6]
mov r1, r9
subs r0, r1
adds r2, r5, r7
str r2, [sp, 0x14]
cmp r0, r5
bge _08004B0C
adds r0, r7
str r0, [sp, 0x14]
_08004B0C:
ldr r4, [sp]
ldrh r1, [r4, 0x4]
movs r2, 0x7
adds r0, r1, 0
ands r0, r2
adds r1, r0
asrs r1, 3
str r1, [sp, 0x18]
adds r0, r3, 0
ands r0, r2
adds r0, r3, r0
asrs r0, 3
str r0, [sp, 0x1C]
ldr r0, [sp, 0x10]
cmp r0, 0xFF
bne _08004BCA
adds r3, r7, 0
mov r1, r9
ldr r2, [sp, 0x14]
cmp r3, r2
blt _08004B38
b _08004C72
_08004B38:
ldr r5, [sp, 0x8]
ldr r6, [sp, 0xC]
adds r4, r3, 0x1
str r4, [sp, 0x24]
adds r0, r1, 0x1
str r0, [sp, 0x28]
cmp r5, r8
bge _08004BBE
movs r7, 0x3
asrs r0, r3, 3
ldr r2, [sp, 0x18]
muls r0, r2
lsls r0, 5
mov r10, r0
lsls r0, r3, 29
lsrs r0, 27
mov r9, r0
asrs r0, r1, 3
ldr r4, [sp, 0x1C]
muls r0, r4
lsls r0, 5
mov r12, r0
lsls r0, r1, 29
lsrs r3, r0, 27
_08004B68:
asrs r0, r5, 1
ands r0, r7
ldr r2, [sp]
ldr r1, [r2]
adds r1, r0
asrs r0, r5, 3
lsls r0, 5
adds r1, r0
add r1, r10
mov r4, r9
adds r2, r1, r4
asrs r0, r6, 1
ands r0, r7
ldr r4, [sp, 0x4]
ldr r1, [r4]
adds r1, r0
asrs r0, r6, 3
lsls r0, 5
adds r1, r0
add r1, r12
adds r4, r1, r3
ldrb r2, [r2]
adds r0, r5, 0
movs r1, 0x1
ands r0, r1
lsls r0, 2
asrs r2, r0
movs r0, 0xF
ands r2, r0
adds r0, r6, 0
ands r0, r1
lsls r1, r0, 2
lsls r2, r1
movs r0, 0xF0
asrs r0, r1
ldrb r1, [r4]
ands r0, r1
orrs r2, r0
strb r2, [r4]
adds r5, 0x1
adds r6, 0x1
cmp r5, r8
blt _08004B68
_08004BBE:
ldr r3, [sp, 0x24]
ldr r1, [sp, 0x28]
ldr r2, [sp, 0x14]
cmp r3, r2
blt _08004B38
b _08004C72
_08004BCA:
adds r3, r7, 0
mov r1, r9
ldr r4, [sp, 0x14]
cmp r3, r4
bge _08004C72
_08004BD4:
ldr r5, [sp, 0x8]
ldr r6, [sp, 0xC]
adds r0, r3, 0x1
str r0, [sp, 0x24]
adds r2, r1, 0x1
str r2, [sp, 0x28]
cmp r5, r8
bge _08004C68
movs r4, 0x3
mov r9, r4
asrs r0, r3, 3
ldr r2, [sp, 0x18]
muls r0, r2
lsls r0, 5
str r0, [sp, 0x20]
lsls r0, r3, 29
lsrs r0, 27
mov r10, r0
movs r3, 0x1
asrs r0, r1, 3
ldr r4, [sp, 0x1C]
muls r0, r4
lsls r0, 5
mov r12, r0
lsls r0, r1, 29
lsrs r7, r0, 27
_08004C08:
asrs r0, r5, 1
mov r1, r9
ands r0, r1
ldr r2, [sp]
ldr r1, [r2]
adds r1, r0
asrs r0, r5, 3
lsls r0, 5
adds r1, r0
ldr r4, [sp, 0x20]
adds r1, r4
mov r0, r10
adds r2, r1, r0
asrs r0, r6, 1
mov r1, r9
ands r0, r1
ldr r4, [sp, 0x4]
ldr r1, [r4]
adds r1, r0
asrs r0, r6, 3
lsls r0, 5
adds r1, r0
add r1, r12
adds r4, r1, r7
ldrb r2, [r2]
adds r0, r5, 0
ands r0, r3
lsls r0, 2
asrs r2, r0
movs r0, 0xF
ands r2, r0
ldr r0, [sp, 0x10]
cmp r2, r0
beq _08004C60
adds r0, r6, 0
ands r0, r3
lsls r1, r0, 2
lsls r2, r1
movs r0, 0xF0
asrs r0, r1
ldrb r1, [r4]
ands r0, r1
orrs r2, r0
strb r2, [r4]
_08004C60:
adds r5, 0x1
adds r6, 0x1
cmp r5, r8
blt _08004C08
_08004C68:
ldr r3, [sp, 0x24]
ldr r1, [sp, 0x28]
ldr r2, [sp, 0x14]
cmp r3, r2
blt _08004BD4
_08004C72:
add sp, 0x2C
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8004AA4
thumb_func_start sub_8004C84
sub_8004C84: @ 8004C84
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
mov r9, r0
ldr r0, [sp, 0x24]
ldr r4, [sp, 0x28]
lsls r1, 16
lsrs r1, 16
mov r10, r1
lsls r2, 16
lsrs r2, 16
adds r5, r2, 0
lsls r3, 16
lsrs r3, 16
lsls r0, 16
lsrs r0, 16
lsls r4, 24
lsrs r7, r4, 24
adds r4, r1, r3
mov r3, r9
ldrh r1, [r3, 0x4]
cmp r4, r1
ble _08004CBA
adds r4, r1, 0
_08004CBA:
adds r2, r0
mov r12, r2
mov r2, r9
ldrh r0, [r2, 0x6]
cmp r12, r0
ble _08004CC8
mov r12, r0
_08004CC8:
movs r0, 0x7
ands r0, r1
adds r0, r1, r0
asrs r0, 3
str r0, [sp]
adds r1, r5, 0
cmp r1, r12
bge _08004D30
_08004CD8:
mov r3, r10
adds r0, r1, 0x1
mov r8, r0
cmp r3, r4
bge _08004D2A
asrs r0, r1, 3
ldr r2, [sp]
muls r0, r2
lsls r6, r0, 5
lsls r0, r1, 29
lsrs r5, r0, 27
_08004CEE:
asrs r2, r3, 1
movs r0, 0x3
ands r2, r0
mov r0, r9
ldr r1, [r0]
adds r1, r2
asrs r0, r3, 3
lsls r0, 5
adds r1, r0
adds r1, r6
adds r2, r1, r5
movs r0, 0x1
ands r0, r3
cmp r0, 0
beq _08004D1A
ldrb r0, [r2]
movs r1, 0xF
ands r1, r0
lsls r0, r7, 4
orrs r1, r0
strb r1, [r2]
b _08004D24
_08004D1A:
ldrb r1, [r2]
movs r0, 0xF0
ands r0, r1
orrs r0, r7
strb r0, [r2]
_08004D24:
adds r3, 0x1
cmp r3, r4
blt _08004CEE
_08004D2A:
mov r1, r8
cmp r1, r12
blt _08004CD8
_08004D30:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8004C84
thumb_func_start sub_8004D40
sub_8004D40: @ 8004D40
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x3C
str r0, [sp]
str r1, [sp, 0x4]
ldr r0, [sp, 0x5C]
ldr r1, [sp, 0x60]
ldr r5, [sp, 0x64]
ldr r4, [sp, 0x68]
ldr r6, [sp, 0x6C]
ldr r7, [sp, 0x70]
mov r8, r7
lsls r2, 16
lsrs r2, 16
str r2, [sp, 0x8]
lsls r3, 16
lsrs r3, 16
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0xC]
lsls r1, 16
lsrs r7, r1, 16
lsls r5, 16
lsrs r5, 16
lsls r4, 16
lsrs r4, 16
lsls r6, 24
lsrs r6, 24
str r6, [sp, 0x10]
mov r0, r8
lsls r0, 28
lsrs r0, 24
str r0, [sp, 0x14]
lsls r0, r6, 28
lsrs r0, 24
str r0, [sp, 0x28]
ldr r1, [sp, 0x4]
ldrh r0, [r1, 0x4]
ldr r2, [sp, 0xC]
subs r0, r2
ldr r1, [sp, 0x8]
adds r1, r5, r1
str r1, [sp, 0x18]
cmp r0, r5
bge _08004DA6
ldr r2, [sp, 0x8]
adds r0, r2
str r0, [sp, 0x18]
_08004DA6:
ldr r5, [sp, 0x4]
ldrh r1, [r5, 0x6]
subs r0, r1, r7
cmp r0, r4
bge _08004DB8
adds r0, r3, r1
subs r0, r7
str r0, [sp, 0x1C]
b _08004DBC
_08004DB8:
adds r4, r3, r4
str r4, [sp, 0x1C]
_08004DBC:
ldr r0, [sp]
ldrh r1, [r0, 0x4]
movs r2, 0x7
adds r0, r1, 0
ands r0, r2
adds r1, r0
asrs r1, 3
str r1, [sp, 0x20]
ldr r5, [sp, 0x4]
ldrh r1, [r5, 0x4]
adds r0, r1, 0
ands r0, r2
adds r1, r0
asrs r1, 3
str r1, [sp, 0x24]
ldr r0, [sp, 0x10]
cmp r0, 0xFF
bne _08004E9C
adds r2, r3, 0
adds r5, r7, 0
ldr r1, [sp, 0x1C]
cmp r2, r1
blt _08004DEC
b _08004F7E
_08004DEC:
ldr r3, [sp, 0x8]
lsrs r3, 1
str r3, [sp, 0x2C]
movs r0, 0x3
ands r3, r0
str r3, [sp, 0x2C]
ldr r7, [sp, 0x8]
lsrs r0, r7, 3
lsls r0, 5
str r0, [sp, 0x30]
_08004E00:
ldr r0, [sp]
ldr r1, [r0]
ldr r3, [sp, 0x2C]
adds r1, r3
ldr r7, [sp, 0x30]
adds r1, r7
asrs r0, r2, 3
ldr r3, [sp, 0x20]
muls r0, r3
lsls r0, 5
mov r8, r0
add r1, r8
lsls r0, r2, 29
lsrs r7, r0, 27
adds r6, r1, r7
ldr r3, [sp, 0x8]
ldr r4, [sp, 0xC]
adds r2, 0x1
mov r10, r2
adds r0, r5, 0x1
str r0, [sp, 0x38]
ldr r1, [sp, 0x18]
cmp r3, r1
bge _08004E90
asrs r0, r5, 3
ldr r2, [sp, 0x24]
muls r0, r2
lsls r0, 6
mov r12, r0
lsls r0, r5, 29
lsrs r0, 26
mov r9, r0
_08004E40:
movs r0, 0x7
ands r0, r4
ldr r5, [sp, 0x4]
ldr r1, [r5]
adds r1, r0
asrs r0, r4, 3
lsls r0, 6
adds r1, r0
add r1, r12
mov r0, r9
adds r5, r1, r0
movs r0, 0x1
ands r0, r3
cmp r0, 0
beq _08004E64
ldrb r0, [r6]
lsrs r0, 4
b _08004E80
_08004E64:
asrs r2, r3, 1
movs r0, 0x3
ands r2, r0
ldr r0, [sp]
ldr r1, [r0]
adds r1, r2
asrs r0, r3, 3
lsls r0, 5
adds r1, r0
add r1, r8
adds r6, r1, r7
ldrb r1, [r6]
movs r0, 0xF
ands r0, r1
_08004E80:
ldr r1, [sp, 0x14]
adds r0, r1, r0
strb r0, [r5]
adds r3, 0x1
adds r4, 0x1
ldr r2, [sp, 0x18]
cmp r3, r2
blt _08004E40
_08004E90:
mov r2, r10
ldr r5, [sp, 0x38]
ldr r3, [sp, 0x1C]
cmp r2, r3
blt _08004E00
b _08004F7E
_08004E9C:
adds r2, r3, 0
adds r5, r7, 0
ldr r7, [sp, 0x1C]
cmp r2, r7
bge _08004F7E
ldr r0, [sp, 0x8]
lsrs r0, 1
str r0, [sp, 0x34]
movs r0, 0x3
ldr r1, [sp, 0x34]
ands r1, r0
str r1, [sp, 0x34]
_08004EB4:
ldr r3, [sp]
ldr r1, [r3]
ldr r7, [sp, 0x34]
adds r1, r7
ldr r3, [sp, 0x8]
lsrs r0, r3, 3
lsls r0, 5
adds r1, r0
asrs r0, r2, 3
ldr r7, [sp, 0x20]
muls r0, r7
lsls r0, 5
mov r8, r0
add r1, r8
lsls r0, r2, 29
lsrs r7, r0, 27
adds r6, r1, r7
ldr r4, [sp, 0xC]
adds r2, 0x1
mov r10, r2
adds r0, r5, 0x1
str r0, [sp, 0x38]
ldr r1, [sp, 0x18]
cmp r3, r1
bge _08004F74
asrs r0, r5, 3
ldr r2, [sp, 0x24]
muls r0, r2
lsls r0, 6
mov r9, r0
lsls r0, r5, 29
lsrs r0, 26
mov r12, r0
_08004EF6:
movs r0, 0x1
ands r0, r3
cmp r0, 0
beq _08004F2A
ldrb r2, [r6]
movs r0, 0xF0
ands r0, r2
ldr r5, [sp, 0x28]
cmp r0, r5
beq _08004F6A
adds r0, r4, 0
movs r1, 0x7
ands r0, r1
ldr r5, [sp, 0x4]
ldr r1, [r5]
adds r1, r0
asrs r0, r4, 3
lsls r0, 6
adds r1, r0
add r1, r9
mov r0, r12
adds r5, r1, r0
lsrs r0, r2, 4
ldr r1, [sp, 0x14]
adds r0, r1, r0
b _08004F68
_08004F2A:
asrs r2, r3, 1
movs r0, 0x3
ands r2, r0
ldr r5, [sp]
ldr r1, [r5]
adds r1, r2
asrs r0, r3, 3
lsls r0, 5
adds r1, r0
add r1, r8
adds r6, r1, r7
ldrb r0, [r6]
movs r2, 0xF
ands r2, r0
ldr r0, [sp, 0x10]
cmp r2, r0
beq _08004F6A
adds r0, r4, 0
movs r1, 0x7
ands r0, r1
ldr r5, [sp, 0x4]
ldr r1, [r5]
adds r1, r0
asrs r0, r4, 3
lsls r0, 6
adds r1, r0
add r1, r9
mov r0, r12
adds r5, r1, r0
ldr r1, [sp, 0x14]
adds r0, r1, r2
_08004F68:
strb r0, [r5]
_08004F6A:
adds r3, 0x1
adds r4, 0x1
ldr r2, [sp, 0x18]
cmp r3, r2
blt _08004EF6
_08004F74:
mov r2, r10
ldr r5, [sp, 0x38]
ldr r3, [sp, 0x1C]
cmp r2, r3
blt _08004EB4
_08004F7E:
add sp, 0x3C
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8004D40
thumb_func_start sub_8004F90
sub_8004F90: @ 8004F90
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
mov r8, r0
ldr r0, [sp, 0x28]
ldr r4, [sp, 0x2C]
lsls r1, 16
lsrs r1, 16
mov r10, r1
lsls r2, 16
lsrs r2, 16
adds r6, r2, 0
lsls r3, 16
lsrs r3, 16
lsls r0, 16
lsrs r0, 16
lsls r4, 24
lsrs r4, 24
mov r9, r4
adds r5, r1, r3
mov r3, r8
ldrh r1, [r3, 0x4]
cmp r5, r1
ble _08004FC8
adds r5, r1, 0
_08004FC8:
adds r7, r2, r0
mov r2, r8
ldrh r0, [r2, 0x6]
cmp r7, r0
ble _08004FD4
adds r7, r0, 0
_08004FD4:
movs r0, 0x7
ands r0, r1
adds r0, r1, r0
asrs r0, 3
str r0, [sp]
adds r1, r6, 0
cmp r1, r7
bge _08005024
_08004FE4:
mov r3, r10
adds r6, r1, 0x1
str r6, [sp, 0x4]
cmp r3, r5
bge _0800501E
movs r0, 0x7
mov r12, r0
asrs r0, r1, 3
ldr r2, [sp]
muls r0, r2
lsls r4, r0, 6
lsls r0, r1, 29
lsrs r2, r0, 26
_08004FFE:
adds r0, r3, 0
mov r6, r12
ands r0, r6
mov r6, r8
ldr r1, [r6]
adds r1, r0
asrs r0, r3, 3
lsls r0, 6
adds r1, r0
adds r1, r4
adds r1, r2
mov r0, r9
strb r0, [r1]
adds r3, 0x1
cmp r3, r5
blt _08004FFE
_0800501E:
ldr r1, [sp, 0x4]
cmp r1, r7
blt _08004FE4
_08005024:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8004F90
.align 2, 0 @ Don't pad with nop.
+690
View File
@@ -0,0 +1,690 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80F7AD8
sub_80F7AD8: @ 80F7AD8
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r6, _080F7B24 @ =gUnknown_203ABE4
lsls r0, r4, 1
adds r0, r4
lsls r0, 4
bl sub_8002B9C
str r0, [r6]
ldr r5, _080F7B28 @ =gUnknown_203ABE8
movs r1, 0
cmp r0, 0
beq _080F7AF6
adds r1, r4, 0
_080F7AF6:
strh r1, [r5]
movs r2, 0
cmp r2, r1
bcs _080F7B1E
movs r3, 0
adds r4, r5, 0
_080F7B02:
ldr r0, [r6]
lsls r1, r2, 1
adds r1, r2
lsls r1, 4
adds r1, r0
str r3, [r1, 0x18]
adds r1, 0x2C
strb r3, [r1]
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
ldrh r0, [r4]
cmp r2, r0
bcc _080F7B02
_080F7B1E:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F7B24: .4byte gUnknown_203ABE4
_080F7B28: .4byte gUnknown_203ABE8
thumb_func_end sub_80F7AD8
thumb_func_start sub_80F7B2C
sub_80F7B2C: @ 80F7B2C
push {lr}
ldr r0, _080F7B3C @ =gUnknown_203ABE4
ldr r0, [r0]
bl sub_8002BC4
pop {r0}
bx r0
.align 2, 0
_080F7B3C: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7B2C
thumb_func_start sub_80F7B40
sub_80F7B40: @ 80F7B40
push {r4,r5,lr}
movs r4, 0
ldr r0, _080F7B78 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r4, r0
bge _080F7B70
movs r5, 0
_080F7B4E:
ldr r0, _080F7B7C @ =gUnknown_203ABE4
ldr r0, [r0]
adds r0, r5, r0
adds r0, 0x2C
ldrb r0, [r0]
cmp r0, 0x1
bne _080F7B64
lsls r0, r4, 24
lsrs r0, 24
bl sub_80F7E54
_080F7B64:
adds r5, 0x30
adds r4, 0x1
ldr r0, _080F7B78 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r4, r0
blt _080F7B4E
_080F7B70:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080F7B78: .4byte gUnknown_203ABE8
_080F7B7C: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7B40
thumb_func_start sub_80F7B80
sub_80F7B80: @ 80F7B80
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
adds r4, r2, 0
ldr r2, [sp, 0x24]
lsls r0, 24
lsrs r6, r0, 24
lsls r1, 24
lsrs r7, r1, 24
lsls r3, 16
lsrs r3, 16
mov r10, r3
lsls r2, 16
lsrs r2, 16
str r2, [sp]
ldr r0, _080F7C18 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r6, r0
bcs _080F7C68
ldr r0, _080F7C1C @ =gUnknown_203ABE4
mov r9, r0
ldr r0, [r0]
lsls r1, r6, 1
mov r8, r1
adds r5, r1, r6
lsls r5, 4
adds r0, r5, r0
movs r1, 0
str r1, [r0, 0x18]
str r4, [r0, 0x1C]
adds r0, 0x2B
strb r7, [r0]
mov r2, r9
ldr r0, [r2]
adds r0, r5, r0
mov r3, r10
strh r3, [r0, 0x24]
mov r1, sp
ldrh r1, [r1]
strh r1, [r0, 0x26]
adds r0, r7, 0
movs r1, 0x3
bl sub_8001AA8
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
adds r0, r7, 0
movs r1, 0x9
bl sub_8001AA8
lsls r0, 16
lsrs r0, 16
mov r2, r9
ldr r1, [r2]
adds r5, r1
ldr r2, _080F7C20 @ =gUnknown_841F4B4
lsls r4, 2
lsls r1, r0, 4
adds r4, r1
adds r4, r2
ldrh r1, [r4]
strh r1, [r5, 0x20]
ldrh r1, [r4, 0x2]
strh r1, [r5, 0x22]
mov r2, r8
cmp r0, 0
beq _080F7C24
adds r1, r5, 0
adds r1, 0x2A
movs r0, 0x1
b _080F7C2A
.align 2, 0
_080F7C18: .4byte gUnknown_203ABE8
_080F7C1C: .4byte gUnknown_203ABE4
_080F7C20: .4byte gUnknown_841F4B4
_080F7C24:
adds r1, r5, 0
adds r1, 0x2A
movs r0, 0x2
_080F7C2A:
strb r0, [r1]
ldr r4, _080F7C78 @ =gUnknown_203ABE4
ldr r1, [r4]
adds r2, r6
lsls r2, 4
adds r1, r2, r1
adds r0, r1, 0
adds r0, 0x2A
ldrb r0, [r0]
mov r3, r10
muls r3, r0
movs r0, 0
strh r3, [r1, 0x28]
mov r3, r10
strh r3, [r1, 0x10]
mov r5, sp
ldrh r5, [r5]
strh r5, [r1, 0x12]
strh r0, [r1, 0xC]
strh r0, [r1, 0xE]
strh r0, [r1, 0x14]
strh r0, [r1, 0x16]
adds r0, r1, 0
adds r0, 0xC
ldm r0!, {r3,r5,r6}
stm r1!, {r3,r5,r6}
ldr r0, [r4]
adds r2, r0
adds r2, 0x2C
movs r0, 0x1
strb r0, [r2]
_080F7C68:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F7C78: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7B80
thumb_func_start sub_80F7C7C
sub_80F7C7C: @ 80F7C7C
push {lr}
adds r3, r1, 0
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080F7CA4 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r2, r0
bcs _080F7CA0
ldr r0, _080F7CA8 @ =gUnknown_203ABE4
ldr r1, [r0]
lsls r0, r2, 1
adds r0, r2
lsls r0, 4
adds r0, r1
str r3, [r0, 0x18]
adds r0, 0x2C
movs r1, 0x1
strb r1, [r0]
_080F7CA0:
pop {r0}
bx r0
.align 2, 0
_080F7CA4: .4byte gUnknown_203ABE8
_080F7CA8: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7C7C
thumb_func_start sub_80F7CAC
sub_80F7CAC: @ 80F7CAC
push {r4,lr}
lsls r0, 24
lsrs r3, r0, 24
lsls r1, 16
lsrs r4, r1, 16
lsls r2, 16
lsrs r2, 16
ldr r0, _080F7CE0 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r3, r0
bcs _080F7CD8
ldr r0, _080F7CE4 @ =gUnknown_203ABE4
ldr r1, [r0]
lsls r0, r3, 1
adds r0, r3
lsls r0, 4
adds r0, r1
strh r4, [r0, 0x14]
strh r2, [r0, 0x16]
adds r0, 0x2C
movs r1, 0x1
strb r1, [r0]
_080F7CD8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F7CE0: .4byte gUnknown_203ABE8
_080F7CE4: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7CAC
thumb_func_start sub_80F7CE8
sub_80F7CE8: @ 80F7CE8
push {r4-r6,lr}
ldr r4, [sp, 0x10]
lsls r0, 24
lsrs r5, r0, 24
lsls r1, 16
lsrs r6, r1, 16
lsls r2, 16
lsrs r2, 16
lsls r3, 16
lsrs r3, 16
lsls r4, 16
lsrs r4, 16
ldr r0, _080F7D28 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r5, r0
bcs _080F7D22
ldr r0, _080F7D2C @ =gUnknown_203ABE4
ldr r1, [r0]
lsls r0, r5, 1
adds r0, r5
lsls r0, 4
adds r0, r1
strh r6, [r0, 0xC]
strh r2, [r0, 0xE]
strh r3, [r0, 0x10]
strh r4, [r0, 0x12]
adds r0, 0x2C
movs r1, 0x1
strb r1, [r0]
_080F7D22:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F7D28: .4byte gUnknown_203ABE8
_080F7D2C: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7CE8
thumb_func_start sub_80F7D30
sub_80F7D30: @ 80F7D30
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r6, r2, 24
ldr r0, _080F7D5C @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r5, r0
bcc _080F7D48
b _080F7E4A
_080F7D48:
ldr r4, _080F7D60 @ =gUnknown_203ABE4
lsls r2, r5, 1
cmp r1, 0x5
bls _080F7D52
b _080F7E3C
_080F7D52:
lsls r0, r1, 2
ldr r1, _080F7D64 @ =_080F7D68
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080F7D5C: .4byte gUnknown_203ABE8
_080F7D60: .4byte gUnknown_203ABE4
_080F7D64: .4byte _080F7D68
.align 2, 0
_080F7D68:
.4byte _080F7D80
.4byte _080F7DA0
.4byte _080F7DC4
.4byte _080F7DE4
.4byte _080F7E08
.4byte _080F7E24
_080F7D80:
ldr r4, _080F7D9C @ =gUnknown_203ABE4
ldr r0, [r4]
lsls r3, r5, 1
adds r1, r3, r5
lsls r1, 4
adds r1, r0
lsls r2, r6, 24
asrs r2, 24
ldrh r0, [r1, 0x14]
adds r0, r2
strh r0, [r1, 0x14]
ldrh r0, [r1, 0x10]
subs r0, r2
b _080F7DBA
.align 2, 0
_080F7D9C: .4byte gUnknown_203ABE4
_080F7DA0:
ldr r4, _080F7DC0 @ =gUnknown_203ABE4
ldr r0, [r4]
lsls r3, r5, 1
adds r1, r3, r5
lsls r1, 4
adds r1, r0
lsls r2, r6, 24
asrs r2, 24
ldrh r0, [r1, 0xC]
adds r0, r2
strh r0, [r1, 0xC]
ldrh r0, [r1, 0x10]
adds r0, r2
_080F7DBA:
strh r0, [r1, 0x10]
adds r2, r3, 0
b _080F7E3C
.align 2, 0
_080F7DC0: .4byte gUnknown_203ABE4
_080F7DC4:
ldr r4, _080F7DE0 @ =gUnknown_203ABE4
ldr r0, [r4]
lsls r3, r5, 1
adds r1, r3, r5
lsls r1, 4
adds r1, r0
lsls r2, r6, 24
asrs r2, 24
ldrh r0, [r1, 0x16]
adds r0, r2
strh r0, [r1, 0x16]
ldrh r0, [r1, 0x12]
subs r0, r2
b _080F7DFE
.align 2, 0
_080F7DE0: .4byte gUnknown_203ABE4
_080F7DE4:
ldr r4, _080F7E04 @ =gUnknown_203ABE4
ldr r0, [r4]
lsls r3, r5, 1
adds r1, r3, r5
lsls r1, 4
adds r1, r0
lsls r2, r6, 24
asrs r2, 24
ldrh r0, [r1, 0xE]
subs r0, r2
strh r0, [r1, 0xE]
ldrh r0, [r1, 0x12]
adds r0, r2
_080F7DFE:
strh r0, [r1, 0x12]
adds r2, r3, 0
b _080F7E3C
.align 2, 0
_080F7E04: .4byte gUnknown_203ABE4
_080F7E08:
ldr r3, _080F7E20 @ =gUnknown_203ABE4
ldr r0, [r3]
lsls r2, r5, 1
adds r1, r2, r5
lsls r1, 4
adds r1, r0
lsls r0, r6, 24
asrs r0, 24
ldrh r4, [r1, 0x14]
adds r0, r4
strh r0, [r1, 0x14]
b _080F7E3A
.align 2, 0
_080F7E20: .4byte gUnknown_203ABE4
_080F7E24:
ldr r3, _080F7E50 @ =gUnknown_203ABE4
ldr r0, [r3]
lsls r2, r5, 1
adds r1, r2, r5
lsls r1, 4
adds r1, r0
lsls r0, r6, 24
asrs r0, 24
ldrh r4, [r1, 0x16]
adds r0, r4
strh r0, [r1, 0x16]
_080F7E3A:
adds r4, r3, 0
_080F7E3C:
ldr r0, [r4]
adds r1, r2, r5
lsls r1, 4
adds r1, r0
adds r1, 0x2C
movs r0, 0x1
strb r0, [r1]
_080F7E4A:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F7E50: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7D30
thumb_func_start sub_80F7E54
sub_80F7E54: @ 80F7E54
push {r4-r6,lr}
lsls r0, 24
lsrs r2, r0, 24
adds r6, r2, 0
ldr r0, _080F7E94 @ =gUnknown_203ABE8
ldrh r0, [r0]
cmp r2, r0
bcs _080F7E8E
ldr r5, _080F7E98 @ =gUnknown_203ABE4
ldr r0, [r5]
lsls r1, r2, 1
adds r1, r2
lsls r4, r1, 4
adds r0, r4, r0
ldr r0, [r0, 0x18]
cmp r0, 0
beq _080F7E7C
adds r0, r2, 0
bl sub_80F7E9C
_080F7E7C:
adds r0, r6, 0
bl sub_80F7F34
ldr r1, [r5]
adds r1, r4, r1
adds r0, r1, 0
adds r0, 0xC
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
_080F7E8E:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F7E94: .4byte gUnknown_203ABE8
_080F7E98: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7E54
thumb_func_start sub_80F7E9C
sub_80F7E9C: @ 80F7E9C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r4, _080F7F30 @ =gUnknown_203ABE4
ldr r1, [r4]
lsls r5, r0, 1
adds r0, r5, r0
lsls r0, 4
adds r0, r1
adds r1, r0, 0
adds r1, 0x2A
ldrb r3, [r1]
ldrh r1, [r0, 0x20]
adds r2, r3, 0
muls r2, r1
mov r9, r2
movs r6, 0xA
ldrsh r1, [r0, r6]
mov r2, r9
muls r2, r1
ldr r1, [r0, 0x18]
adds r1, r2
movs r6, 0x8
ldrsh r2, [r0, r6]
muls r2, r3
adds r7, r1, r2
movs r6, 0
ldrh r0, [r0, 0x6]
cmp r6, r0
bge _080F7F20
mov r10, r4
_080F7EE6:
mov r0, r10
ldr r1, [r0]
mov r2, r8
adds r4, r5, r2
lsls r4, 4
adds r1, r4, r1
adds r0, r1, 0
adds r0, 0x2B
ldrb r0, [r0]
ldrb r2, [r1, 0x8]
ldrb r3, [r1, 0xA]
adds r3, r6
lsls r3, 24
lsrs r3, 24
ldrb r1, [r1, 0x4]
str r1, [sp]
movs r1, 0x1
str r1, [sp, 0x4]
adds r1, r7, 0
bl sub_8002124
add r7, r9
adds r6, 0x1
mov r1, r10
ldr r0, [r1]
adds r4, r0
ldrh r4, [r4, 0x6]
cmp r6, r4
blt _080F7EE6
_080F7F20:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F7F30: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7E9C
thumb_func_start sub_80F7F34
sub_80F7F34: @ 80F7F34
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r4, _080F7FC8 @ =gUnknown_203ABE4
ldr r1, [r4]
lsls r5, r0, 1
adds r0, r5, r0
lsls r0, 4
adds r0, r1
adds r1, r0, 0
adds r1, 0x2A
ldrb r3, [r1]
ldrh r1, [r0, 0x24]
adds r2, r3, 0
muls r2, r1
mov r9, r2
movs r6, 0xE
ldrsh r1, [r0, r6]
mov r2, r9
muls r2, r1
ldr r1, [r0, 0x1C]
adds r1, r2
movs r6, 0xC
ldrsh r2, [r0, r6]
muls r2, r3
adds r7, r1, r2
movs r6, 0
ldrh r0, [r0, 0x12]
cmp r6, r0
bge _080F7FB8
mov r10, r4
_080F7F7E:
mov r0, r10
ldr r1, [r0]
mov r2, r8
adds r4, r5, r2
lsls r4, 4
adds r1, r4, r1
adds r0, r1, 0
adds r0, 0x2B
ldrb r0, [r0]
ldrb r2, [r1, 0x14]
ldrb r3, [r1, 0x16]
adds r3, r6
lsls r3, 24
lsrs r3, 24
ldrb r1, [r1, 0x10]
str r1, [sp]
movs r1, 0x1
str r1, [sp, 0x4]
adds r1, r7, 0
bl sub_8002124
add r7, r9
adds r6, 0x1
mov r1, r10
ldr r0, [r1]
adds r4, r0
ldrh r4, [r4, 0x12]
cmp r6, r4
blt _080F7F7E
_080F7FB8:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F7FC8: .4byte gUnknown_203ABE4
thumb_func_end sub_80F7F34
.align 2, 0 @ Don't pad with nop.
+595
View File
@@ -0,0 +1,595 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_814F884
sub_814F884: @ 814F884
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r6, 0
adds r4, 0x14
ldrb r0, [r6, 0x1C]
cmp r0, 0x6
bls _0814F894
b _0814FC94
_0814F894:
lsls r0, 2
ldr r1, _0814F8A0 @ =_0814F8A4
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0814F8A0: .4byte _0814F8A4
.align 2, 0
_0814F8A4:
.4byte _0814F8C0
.4byte _0814FB88
.4byte _0814FB9A
.4byte _0814FBC4
.4byte _0814FBFC
.4byte _0814FC70
.4byte _0814FC82
_0814F8C0:
ldr r2, _0814F914 @ =gUnknown_30030F0
ldrh r1, [r2, 0x2C]
movs r0, 0x3
ands r0, r1
cmp r0, 0
beq _0814F8DA
ldrb r1, [r4]
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _0814F8DA
movs r0, 0
strb r0, [r6, 0x1E]
_0814F8DA:
ldrb r1, [r6, 0x1E]
cmp r1, 0
beq _0814F91C
ldrb r0, [r6, 0x1D]
cmp r0, 0
beq _0814F91C
subs r0, r1, 0x1
strb r0, [r6, 0x1E]
ldr r0, _0814F918 @ =gUnknown_3003E50
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0814F8F8
b _0814FB42
_0814F8F8:
ldrh r1, [r2, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
bne _0814F904
b _0814FB42
_0814F904:
ldrb r0, [r4]
movs r1, 0x10
orrs r0, r1
strb r0, [r4]
movs r0, 0
strb r0, [r6, 0x1E]
b _0814FB42
.align 2, 0
_0814F914: .4byte gUnknown_30030F0
_0814F918: .4byte gUnknown_3003E50
_0814F91C:
ldr r2, _0814F92C @ =gUnknown_3003E50
ldrb r1, [r2]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0814F930
movs r0, 0x1
b _0814F932
.align 2, 0
_0814F92C: .4byte gUnknown_3003E50
_0814F930:
ldrb r0, [r6, 0x1D]
_0814F932:
strb r0, [r6, 0x1E]
ldr r0, [r6]
ldrb r3, [r0]
adds r0, 0x1
str r0, [r6]
adds r0, r3, 0
subs r0, 0xF8
cmp r0, 0x7
bls _0814F946
b _0814FB62
_0814F946:
lsls r0, 2
ldr r1, _0814F950 @ =_0814F954
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0814F950: .4byte _0814F954
.align 2, 0
_0814F954:
.4byte _0814FB58
.4byte _0814FB46
.4byte _0814FB38
.4byte _0814FB34
.4byte _0814F9A2
.4byte _0814F99C
.4byte _0814F974
.4byte _0814FC94
_0814F974:
ldrb r0, [r6, 0x6]
strb r0, [r6, 0x8]
ldrb r1, [r6, 0x5]
ldr r0, _0814F998 @ =gUnknown_3003D90
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r2
ldrb r1, [r6, 0xB]
ldrb r0, [r0, 0x5]
adds r1, r0
ldrb r0, [r6, 0x9]
adds r0, r1
strb r0, [r6, 0x9]
_0814F992:
movs r0, 0x2
b _0814FC96
.align 2, 0
_0814F998: .4byte gUnknown_3003D90
_0814F99C:
ldr r0, [r6]
adds r0, 0x1
b _0814FAF8
_0814F9A2:
ldr r0, [r6]
ldrb r3, [r0]
adds r0, 0x1
str r0, [r6]
subs r0, r3, 0x1
cmp r0, 0xF
bls _0814F9B2
b _0814FB62
_0814F9B2:
lsls r0, 2
ldr r1, _0814F9BC @ =_0814F9C0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0814F9BC: .4byte _0814F9C0
.align 2, 0
_0814F9C0:
.4byte _0814FA00
.4byte _0814FA22
.4byte _0814FA46
.4byte _0814FA60
.4byte _0814FAAC
.4byte _0814FAB2
.4byte _0814F992
.4byte _0814FACC
.4byte _0814FADC
.4byte _0814FAF0
.4byte _0814FAF4
.4byte _0814FAFC
.4byte _0814FB06
.4byte _0814FB12
.4byte _0814FB22
.4byte _0814FAF4
_0814FA00:
ldr r2, [r6]
ldrb r1, [r2]
lsls r1, 4
ldrb r3, [r6, 0xC]
movs r0, 0xF
ands r0, r3
orrs r0, r1
strb r0, [r6, 0xC]
adds r2, 0x1
str r2, [r6]
lsls r0, 24
lsrs r0, 28
ldrb r2, [r6, 0xD]
lsls r1, r2, 28
lsrs r1, 28
lsrs r2, 4
b _0814FAA6
_0814FA22:
ldr r1, [r6]
ldrb r2, [r1]
movs r0, 0xF
ands r0, r2
ldrb r3, [r6, 0xD]
movs r2, 0x10
negs r2, r2
ands r2, r3
orrs r2, r0
strb r2, [r6, 0xD]
adds r1, 0x1
str r1, [r6]
ldrb r0, [r6, 0xC]
lsrs r0, 4
lsls r1, r2, 28
lsrs r1, 28
lsrs r2, 4
b _0814FAA6
_0814FA46:
ldr r1, [r6]
ldrb r0, [r1]
lsls r0, 4
ldrb r3, [r6, 0xD]
movs r2, 0xF
ands r2, r3
orrs r2, r0
strb r2, [r6, 0xD]
adds r1, 0x1
str r1, [r6]
ldrb r0, [r6, 0xC]
lsrs r0, 4
b _0814FA9E
_0814FA60:
ldr r3, [r6]
ldrb r1, [r3]
lsls r1, 4
ldrb r4, [r6, 0xC]
movs r2, 0xF
adds r0, r2, 0
ands r0, r4
orrs r0, r1
strb r0, [r6, 0xC]
adds r5, r3, 0x1
str r5, [r6]
ldrb r3, [r3, 0x1]
adds r1, r2, 0
ands r1, r3
ldrb r4, [r6, 0xD]
movs r3, 0x10
negs r3, r3
ands r3, r4
orrs r3, r1
strb r3, [r6, 0xD]
adds r4, r5, 0x1
str r4, [r6]
ldrb r1, [r5, 0x1]
lsls r1, 4
ands r2, r3
orrs r2, r1
strb r2, [r6, 0xD]
adds r4, 0x1
str r4, [r6]
lsls r0, 24
lsrs r0, 28
_0814FA9E:
lsls r1, r2, 28
lsrs r1, 28
lsls r2, 24
lsrs r2, 28
_0814FAA6:
bl sub_8002EA8
b _0814F992
_0814FAAC:
ldr r0, [r6]
adds r0, 0x1
b _0814FAF8
_0814FAB2:
ldr r0, [r6]
ldrb r0, [r0]
movs r1, 0xF
ands r1, r0
ldrb r2, [r4]
movs r0, 0x10
negs r0, r0
ands r0, r2
orrs r0, r1
strb r0, [r4]
ldr r0, [r6]
adds r0, 0x1
b _0814FAF8
_0814FACC:
ldr r0, [r6]
ldrb r1, [r0]
strb r1, [r6, 0x1E]
adds r0, 0x1
str r0, [r6]
movs r0, 0x6
strb r0, [r6, 0x1C]
b _0814F992
_0814FADC:
movs r0, 0x1
strb r0, [r6, 0x1C]
ldrb r1, [r2]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0814FB42
movs r0, 0
strb r0, [r4, 0x2]
b _0814FB42
_0814FAF0:
movs r0, 0x5
b _0814FC7E
_0814FAF4:
ldr r0, [r6]
adds r0, 0x2
_0814FAF8:
str r0, [r6]
b _0814F992
_0814FAFC:
ldr r1, [r6]
adds r0, r1, 0x1
str r0, [r6]
ldrb r3, [r1, 0x1]
b _0814FB62
_0814FB06:
ldr r1, [r6]
ldrb r0, [r1]
ldrb r2, [r6, 0x6]
adds r0, r2
strb r0, [r6, 0x8]
b _0814FB1C
_0814FB12:
ldr r1, [r6]
ldrb r0, [r1]
ldrb r2, [r6, 0x7]
adds r0, r2
strb r0, [r6, 0x9]
_0814FB1C:
adds r1, 0x1
str r1, [r6]
b _0814F992
_0814FB22:
ldrb r0, [r6, 0x4]
ldrb r2, [r6, 0xD]
lsls r2, 28
lsrs r1, r2, 4
orrs r1, r2
lsrs r1, 24
bl sub_800445C
b _0814F992
_0814FB34:
movs r0, 0x2
b _0814FB3A
_0814FB38:
movs r0, 0x3
_0814FB3A:
strb r0, [r6, 0x1C]
adds r0, r6, 0
bl sub_80054C8
_0814FB42:
movs r0, 0x3
b _0814FC96
_0814FB46:
ldr r0, [r6]
ldrb r3, [r0]
movs r2, 0x80
lsls r2, 1
adds r1, r2, 0
orrs r3, r1
adds r0, 0x1
str r0, [r6]
b _0814FB62
_0814FB58:
ldr r0, [r6]
adds r0, 0x1
str r0, [r6]
movs r0, 0
b _0814FC96
_0814FB62:
adds r0, r3, 0
bl sub_814FC9C
adds r0, r6, 0
bl sub_8003014
ldr r0, _0814FB84 @ =gUnknown_3003DA0
adds r0, 0x80
ldrb r1, [r6, 0xA]
ldrb r0, [r0]
adds r1, r0
ldrb r0, [r6, 0x8]
adds r0, r1
strb r0, [r6, 0x8]
movs r0, 0
b _0814FC96
.align 2, 0
_0814FB84: .4byte gUnknown_3003DA0
_0814FB88:
adds r0, r6, 0
bl sub_8005680
lsls r0, 16
cmp r0, 0
beq _0814FB42
movs r0, 0
strb r0, [r6, 0x1C]
b _0814FB42
_0814FB9A:
adds r0, r6, 0
bl sub_8005634
lsls r0, 16
cmp r0, 0
beq _0814FB42
ldrb r0, [r6, 0x4]
ldrb r2, [r6, 0xD]
lsls r2, 28
lsrs r1, r2, 4
orrs r1, r2
lsrs r1, 24
bl sub_800445C
ldrb r0, [r6, 0x6]
movs r1, 0
strb r0, [r6, 0x8]
ldrb r0, [r6, 0x7]
strb r0, [r6, 0x9]
strb r1, [r6, 0x1C]
b _0814FB42
_0814FBC4:
adds r0, r6, 0
bl sub_8005634
lsls r0, 16
cmp r0, 0
beq _0814FB42
adds r0, r6, 0
bl sub_80055D4
ldrb r1, [r6, 0x5]
ldr r0, _0814FBF8 @ =gUnknown_3003D90
ldr r2, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r2
ldrb r1, [r6, 0xB]
ldrb r0, [r0, 0x5]
adds r1, r0
strb r1, [r6, 0x1F]
ldrb r0, [r6, 0x6]
strb r0, [r6, 0x8]
movs r0, 0x4
strb r0, [r6, 0x1C]
b _0814FB42
.align 2, 0
_0814FBF8: .4byte gUnknown_3003D90
_0814FBFC:
ldrb r2, [r6, 0x1F]
cmp r2, 0
beq _0814FC6C
ldr r4, _0814FC30 @ =gUnknown_846FB08
ldr r5, _0814FC34 @ =gUnknown_300500C
ldr r0, [r5]
ldrb r0, [r0, 0x14]
lsls r1, r0, 29
lsrs r0, r1, 29
adds r0, r4
ldrb r0, [r0]
cmp r2, r0
bcs _0814FC38
ldrb r0, [r6, 0x4]
ldrb r1, [r6, 0xD]
lsls r1, 28
lsrs r3, r1, 4
orrs r3, r1
lsrs r3, 24
movs r1, 0
bl sub_80044A8
movs r0, 0
strb r0, [r6, 0x1F]
b _0814FC62
.align 2, 0
_0814FC30: .4byte gUnknown_846FB08
_0814FC34: .4byte gUnknown_300500C
_0814FC38:
ldrb r0, [r6, 0x4]
lsrs r1, 29
adds r1, r4
ldrb r2, [r1]
ldrb r1, [r6, 0xD]
lsls r1, 28
lsrs r3, r1, 4
orrs r3, r1
lsrs r3, 24
movs r1, 0
bl sub_80044A8
ldr r0, [r5]
ldrb r0, [r0, 0x14]
lsls r0, 29
lsrs r0, 29
adds r0, r4
ldrb r1, [r6, 0x1F]
ldrb r0, [r0]
subs r1, r0
strb r1, [r6, 0x1F]
_0814FC62:
ldrb r0, [r6, 0x4]
movs r1, 0x2
bl sub_8003F20
b _0814FB42
_0814FC6C:
strb r2, [r6, 0x1C]
b _0814FB42
_0814FC70:
bl sub_80723E0
lsls r0, 24
lsrs r0, 24
cmp r0, 0
beq _0814FC7E
b _0814FB42
_0814FC7E:
strb r0, [r6, 0x1C]
b _0814FB42
_0814FC82:
ldrb r0, [r6, 0x1E]
adds r1, r0, 0
cmp r1, 0
beq _0814FC90
subs r0, 0x1
strb r0, [r6, 0x1E]
b _0814FB42
_0814FC90:
strb r1, [r6, 0x1C]
b _0814FB42
_0814FC94:
movs r0, 0x1
_0814FC96:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_814F884
thumb_func_start sub_814FC9C
sub_814FC9C: @ 814FC9C
push {r4,r5,lr}
lsls r0, 16
lsrs r2, r0, 19
lsls r2, 9
movs r1, 0xE0
lsls r1, 11
ands r1, r0
lsrs r1, 11
ldr r0, _0814FCF8 @ =gUnknown_846FB0C
adds r1, r0
adds r5, r2, r1
ldr r4, _0814FCFC @ =gUnknown_3003DA0
adds r0, r5, 0
adds r1, r4, 0
bl sub_8002F8C
adds r0, r5, 0
adds r0, 0x10
adds r1, r4, 0
adds r1, 0x20
bl sub_8002F8C
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x40
bl sub_8002F8C
movs r1, 0x88
lsls r1, 1
adds r0, r5, r1
adds r1, r4, 0
adds r1, 0x60
bl sub_8002F8C
adds r0, r4, 0
adds r0, 0x80
movs r1, 0x10
strb r1, [r0]
adds r0, 0x1
strb r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0814FCF8: .4byte gUnknown_846FB0C
_0814FCFC: .4byte gUnknown_3003DA0
thumb_func_end sub_814FC9C
thumb_func_start sub_814FD00
sub_814FD00: @ 814FD00
movs r0, 0x10
bx lr
thumb_func_end sub_814FD00
.align 2, 0 @ Don't pad with nop.
+220
View File
@@ -0,0 +1,220 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_813F66C
sub_813F66C: @ 813F66C
push {r4,lr}
adds r4, r0, 0
cmp r4, 0x1
beq _0813F680
ldr r0, _0813F67C @ =gUnknown_8464804
bl sub_8003B24
b _0813F686
.align 2, 0
_0813F67C: .4byte gUnknown_8464804
_0813F680:
ldr r0, _0813F6CC @ =gUnknown_846483C
bl sub_8003B24
_0813F686:
bl sub_8002C28
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
bl sub_815001C
movs r0, 0
movs r1, 0x13
movs r2, 0xE0
bl sub_814FEAC
movs r0, 0
movs r1, 0xA
movs r2, 0xF0
bl sub_814FF2C
movs r0, 0
bl sub_8003FA0
movs r0, 0x4
bl sub_8003FA0
movs r0, 0x5
bl sub_8003FA0
cmp r4, 0x1
bne _0813F6C4
movs r0, 0x6
bl sub_8003FA0
_0813F6C4:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813F6CC: .4byte gUnknown_846483C
thumb_func_end sub_813F66C
thumb_func_start sub_813F6D0
sub_813F6D0: @ 813F6D0
push {lr}
ldr r0, _0813F6F0 @ =gUnknown_3005008
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
bl sub_809FD58
adds r3, r0, 0
movs r0, 0
movs r1, 0xA
movs r2, 0xF
bl sub_809FF48
pop {r0}
bx r0
.align 2, 0
_0813F6F0: .4byte gUnknown_3005008
thumb_func_end sub_813F6D0
thumb_func_start sub_813F6F4
sub_813F6F4: @ 813F6F4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
mov r9, r3
ldr r3, [sp, 0x30]
ldr r4, [sp, 0x34]
ldr r6, [sp, 0x38]
ldr r5, [sp, 0x3C]
mov r8, r5
ldr r5, [sp, 0x40]
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
mov r7, r9
lsls r7, 24
lsrs r7, 24
mov r9, r7
lsls r3, 24
lsrs r3, 24
lsls r4, 24
lsrs r4, 24
lsls r6, 24
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
str r4, [sp]
str r6, [sp, 0x4]
lsls r4, r5, 1
adds r4, r5
ldr r5, _0813F758 @ =gUnknown_8464884
adds r4, r5
str r4, [sp, 0x8]
mov r4, r8
lsls r4, 24
asrs r4, 24
str r4, [sp, 0xC]
str r2, [sp, 0x10]
mov r2, r9
bl sub_812E5A4
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813F758: .4byte gUnknown_8464884
thumb_func_end sub_813F6F4
thumb_func_start sub_813F75C
sub_813F75C: @ 813F75C
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x10
adds r5, r0, 0
adds r6, r1, 0
mov r8, r2
lsls r5, 24
lsrs r5, 24
bl sub_809B56C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl sub_80F78A8
lsls r0, 24
lsrs r0, 24
str r4, [sp]
str r0, [sp, 0x4]
str r6, [sp, 0x8]
mov r0, r8
str r0, [sp, 0xC]
adds r0, r5, 0
movs r1, 0x2
movs r2, 0x13
movs r3, 0xE
bl sub_80BF474
movs r0, 0
bl sub_80F67A4
add sp, 0x10
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_813F75C
thumb_func_start sub_813F7A8
sub_813F7A8: @ 813F7A8
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
movs r2, 0x1
movs r3, 0xD
bl sub_810F2E8
pop {r0}
bx r0
thumb_func_end sub_813F7A8
thumb_func_start sub_813F7C0
sub_813F7C0: @ 813F7C0
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
movs r2, 0xA
movs r3, 0xF
bl sub_810F2E8
pop {r0}
bx r0
thumb_func_end sub_813F7C0
thumb_func_start sub_813F7D8
sub_813F7D8: @ 813F7D8
push {lr}
sub sp, 0x10
adds r3, r1, 0
lsls r0, 24
lsrs r0, 24
ldr r1, _0813F800 @ =gUnknown_846487C
movs r2, 0x2
str r2, [sp]
movs r2, 0x1
str r2, [sp, 0x4]
movs r2, 0xD
str r2, [sp, 0x8]
str r3, [sp, 0xC]
movs r2, 0x2
movs r3, 0
bl sub_80BF5D0
add sp, 0x10
pop {r0}
bx r0
.align 2, 0
_0813F800: .4byte gUnknown_846487C
thumb_func_end sub_813F7D8
.align 2, 0 @ Don't pad with nop.
+162
View File
@@ -0,0 +1,162 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80D9614
sub_80D9614: @ 80D9614
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
mov r10, r0
ldr r0, [sp, 0x24]
ldr r4, [sp, 0x28]
lsls r1, 16
lsrs r1, 16
mov r9, r1
lsls r2, 24
lsrs r2, 24
str r2, [sp]
lsls r3, 24
lsls r0, 24
lsrs r7, r0, 24
lsls r4, 24
lsrs r4, 24
mov r8, r4
movs r0, 0
lsrs r4, r3, 24
cmp r0, r8
bcs _080D968E
_080D9646:
ldr r2, [sp]
movs r3, 0
adds r6, r4, 0x1
adds r0, 0x1
mov r12, r0
cmp r3, r7
bcs _080D9678
lsls r5, r4, 6
_080D9656:
lsls r0, r2, 1
adds r0, r5
add r0, r10
mov r1, r9
strh r1, [r0]
adds r1, r2, 0x1
adds r0, r1, 0
asrs r0, 5
lsls r0, 5
subs r0, r1, r0
lsls r0, 24
lsrs r2, r0, 24
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, r7
bcc _080D9656
_080D9678:
adds r0, r6, 0
asrs r0, 5
lsls r0, 5
subs r0, r6, r0
lsls r0, 24
lsrs r4, r0, 24
mov r1, r12
lsls r0, r1, 24
lsrs r0, 24
cmp r0, r8
bcc _080D9646
_080D968E:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80D9614
thumb_func_start sub_80D96A0
sub_80D96A0: @ 80D96A0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
mov r10, r0
ldr r0, [sp, 0x24]
ldr r4, [sp, 0x28]
lsls r2, 24
lsrs r2, 24
str r2, [sp]
lsls r3, 24
lsls r0, 24
lsrs r0, 24
mov r12, r0
lsls r4, 24
lsrs r4, 24
mov r9, r4
movs r0, 0
adds r5, r1, 0
lsrs r4, r3, 24
cmp r0, r9
bcs _080D971A
_080D96D0:
ldr r2, [sp]
movs r3, 0
adds r7, r4, 0x1
adds r0, 0x1
mov r8, r0
cmp r3, r12
bcs _080D9704
lsls r6, r4, 6
_080D96E0:
lsls r0, r2, 1
adds r0, r6
add r0, r10
ldrh r1, [r5]
strh r1, [r0]
adds r5, 0x2
adds r1, r2, 0x1
adds r0, r1, 0
asrs r0, 5
lsls r0, 5
subs r0, r1, r0
lsls r0, 24
lsrs r2, r0, 24
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, r12
bcc _080D96E0
_080D9704:
adds r0, r7, 0
asrs r0, 5
lsls r0, 5
subs r0, r7, r0
lsls r0, 24
lsrs r4, r0, 24
mov r1, r8
lsls r0, r1, 24
lsrs r0, 24
cmp r0, r9
bcc _080D96D0
_080D971A:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80D96A0
.align 2, 0 @ Don't pad with nop.
+2526
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+196
View File
@@ -0,0 +1,196 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_815D654
sub_815D654: @ 815D654
push {lr}
ldr r0, _0815D674 @ =gUnknown_3005008
ldr r0, [r0]
ldr r1, _0815D678 @ =0x00003d41
adds r0, r1
ldrb r1, [r0]
adds r2, r1, 0x1
adds r0, r2, 0
asrs r0, 8
lsls r0, 8
subs r0, r2, r0
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_0815D674: .4byte gUnknown_3005008
_0815D678: .4byte 0x00003d41
thumb_func_end sub_815D654
thumb_func_start sub_815D67C
sub_815D67C: @ 815D67C
push {r4,r5,lr}
adds r5, r0, 0
ldrb r0, [r5, 0x1]
subs r0, 0x1
lsls r0, 24
lsrs r0, 24
cmp r0, 0x7
bhi _0815D6AA
ldrb r0, [r5, 0x2]
cmp r0, 0x2
bhi _0815D6AA
movs r4, 0xF7
lsls r4, 2
adds r0, r5, 0
adds r1, r4, 0
bl sub_8045254
adds r4, r5, r4
ldr r1, [r4]
cmp r0, r1
bne _0815D6AA
movs r0, 0x1
b _0815D6AC
_0815D6AA:
movs r0, 0
_0815D6AC:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_815D67C
thumb_func_start sub_815D6B4
sub_815D6B4: @ 815D6B4
push {r4-r7,lr}
adds r7, r0, 0
ldrb r6, [r7]
subs r0, r6, 0x1
cmp r0, 0x7
bhi _0815D6F8
movs r5, 0
cmp r5, r6
bcs _0815D6E0
adds r4, r7, 0
adds r4, 0x8
_0815D6CA:
adds r0, r4, 0
bl sub_815D67C
cmp r0, 0
beq _0815D6F8
movs r0, 0xF8
lsls r0, 2
adds r4, r0
adds r5, 0x1
cmp r5, r6
bcc _0815D6CA
_0815D6E0:
adds r0, r7, 0
adds r0, 0x8
lsls r1, r6, 5
subs r1, r6
lsls r1, 5
bl sub_8045254
ldr r1, [r7, 0x4]
cmp r0, r1
bne _0815D6F8
movs r0, 0x1
b _0815D6FA
_0815D6F8:
movs r0, 0
_0815D6FA:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_815D6B4
thumb_func_start sub_815D700
sub_815D700: @ 815D700
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
ldrh r0, [r5, 0x2]
cmp r0, 0
beq _0815D718
ldr r0, _0815D77C @ =gUnknown_8479CD8
ldr r2, _0815D780 @ =gUnknown_8479D10
movs r1, 0xC6
movs r3, 0x1
bl AGBAssert
_0815D718:
ldrb r0, [r5, 0x1]
cmp r0, 0
beq _0815D72A
ldr r0, _0815D77C @ =gUnknown_8479CD8
ldr r2, _0815D784 @ =gUnknown_8479D24
movs r1, 0xC7
movs r3, 0x1
bl AGBAssert
_0815D72A:
movs r6, 0x80
lsls r6, 5
adds r0, r4, 0
movs r1, 0
adds r2, r6, 0
bl memset
ldr r2, _0815D788 @ =0x00000f88
adds r0, r4, 0
adds r1, r5, 0
bl memcpy
bl sub_815D654
strb r0, [r4, 0x1]
movs r0, 0x1E
adds r1, r4, 0
bl sub_80DA5E0
cmp r0, 0x1
bne _0815D78C
adds r0, r4, 0
movs r1, 0
adds r2, r6, 0
bl memset
ldr r0, _0815D788 @ =0x00000f88
adds r1, r5, r0
movs r2, 0xF8
lsls r2, 4
adds r0, r4, 0
bl memcpy
movs r0, 0x1F
adds r1, r4, 0
bl sub_80DA5E0
cmp r0, 0x1
bne _0815D78C
movs r0, 0x1
b _0815D78E
.align 2, 0
_0815D77C: .4byte gUnknown_8479CD8
_0815D780: .4byte gUnknown_8479D10
_0815D784: .4byte gUnknown_8479D24
_0815D788: .4byte 0x00000f88
_0815D78C:
movs r0, 0
_0815D78E:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_815D700
thumb_func_start sub_815D794
sub_815D794: @ 815D794
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x80
lsls r0, 5
bl sub_8002BB0
adds r5, r0, 0
adds r0, r4, 0
adds r1, r5, 0
bl sub_815D700
adds r4, r0, 0
adds r0, r5, 0
bl sub_8002BC4
adds r0, r4, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_815D794
.align 2, 0 @ Don't pad with nop.
+474
View File
@@ -0,0 +1,474 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80F5574
sub_80F5574: @ 80F5574
push {lr}
bl sub_8077578
bl sub_8006B5C
bl sub_8006BA8
bl sub_80704D0
pop {r0}
bx r0
thumb_func_end sub_80F5574
thumb_func_start sub_80F558C
sub_80F558C: @ 80F558C
push {lr}
bl sub_8007320
bl sub_8007610
bl sub_8070474
pop {r0}
bx r0
thumb_func_end sub_80F558C
thumb_func_start sub_80F55A0
sub_80F55A0: @ 80F55A0
push {r4,lr}
ldr r4, _080F55D0 @ =gUnknown_203AB54
movs r0, 0x4
bl sub_8002BB0
str r0, [r4]
movs r1, 0
strb r1, [r0, 0x1]
ldr r0, [r4]
strb r1, [r0]
ldr r0, [r4]
strb r1, [r0, 0x2]
bl sub_80F580C
ldr r0, _080F55D4 @ =sub_80F55DC
movs r1, 0
bl sub_807741C
ldr r0, _080F55D8 @ =sub_80F5574
bl sub_8000544
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F55D0: .4byte gUnknown_203AB54
_080F55D4: .4byte sub_80F55DC
_080F55D8: .4byte sub_80F5574
thumb_func_end sub_80F55A0
thumb_func_start sub_80F55DC
sub_80F55DC: @ 80F55DC
push {r4,lr}
sub sp, 0x14
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080F55F8 @ =gUnknown_203AB54
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x5
bhi _080F56C0
lsls r0, 2
ldr r1, _080F55FC @ =_080F5600
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080F55F8: .4byte gUnknown_203AB54
_080F55FC: .4byte _080F5600
.align 2, 0
_080F5600:
.4byte _080F5618
.4byte _080F562A
.4byte _080F5644
.4byte _080F564A
.4byte _080F5660
.4byte _080F569C
_080F5618:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl sub_8070588
b _080F56E2
_080F562A:
ldr r0, _080F5640 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080F56EC
movs r0, 0
bl sub_80006F4
b _080F56E2
.align 2, 0
_080F5640: .4byte gUnknown_2037AB8
_080F5644:
bl sub_80F5820
b _080F56E2
_080F564A:
movs r0, 0
movs r1, 0x1
movs r2, 0xF0
bl sub_814FF2C
movs r0, 0x1
movs r1, 0x1
movs r2, 0xF0
bl sub_814FF2C
b _080F56E2
_080F5660:
movs r0, 0x1
movs r1, 0x1
movs r2, 0x1
movs r3, 0xF
bl sub_810F2E8
movs r0, 0x1
str r0, [sp]
str r0, [sp, 0x4]
ldr r0, _080F5694 @ =gUnknown_841EE80
str r0, [sp, 0x8]
movs r0, 0
str r0, [sp, 0xC]
ldr r0, _080F5698 @ =gUnknown_841B69E
str r0, [sp, 0x10]
movs r0, 0x1
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl sub_812E5A4
movs r0, 0x1
movs r1, 0x2
bl sub_8003F20
b _080F56E2
.align 2, 0
_080F5694: .4byte gUnknown_841EE80
_080F5698: .4byte gUnknown_841B69E
_080F569C:
ldr r0, _080F56BC @ =gUnknown_841EE68
movs r2, 0x1
str r2, [sp]
movs r1, 0xF
str r1, [sp, 0x4]
str r2, [sp, 0x8]
movs r1, 0x2
movs r2, 0
movs r3, 0x2
bl sub_810FF60
movs r0, 0
bl sub_80020BC
b _080F56E2
.align 2, 0
_080F56BC: .4byte gUnknown_841EE68
_080F56C0:
ldr r0, _080F56F4 @ =0x0000ffff
str r0, [sp]
movs r1, 0
movs r2, 0x10
movs r3, 0
bl sub_8070588
ldr r0, _080F56F8 @ =sub_80F558C
bl sub_80006F4
ldr r1, _080F56FC @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _080F5700 @ =sub_80F5708
str r1, [r0]
_080F56E2:
ldr r0, _080F5704 @ =gUnknown_203AB54
ldr r1, [r0]
ldrb r0, [r1, 0x1]
adds r0, 0x1
strb r0, [r1, 0x1]
_080F56EC:
add sp, 0x14
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F56F4: .4byte 0x0000ffff
_080F56F8: .4byte sub_80F558C
_080F56FC: .4byte gUnknown_3005090
_080F5700: .4byte sub_80F5708
_080F5704: .4byte gUnknown_203AB54
thumb_func_end sub_80F55DC
thumb_func_start sub_80F5708
sub_80F5708: @ 80F5708
push {r4,r5,lr}
sub sp, 0x14
lsls r0, 24
lsrs r1, r0, 24
ldr r5, _080F5740 @ =gUnknown_203AB54
ldr r0, [r5]
ldrb r0, [r0]
cmp r0, 0
bne _080F578C
bl sub_81100C8
lsls r0, 24
asrs r4, r0, 24
movs r0, 0x1
negs r0, r0
cmp r4, r0
beq _080F5736
cmp r4, r0
ble _080F5792
cmp r4, 0
beq _080F5744
cmp r4, 0x1
bne _080F5792
_080F5736:
movs r0, 0x5
bl sub_80722CC
b _080F577A
.align 2, 0
_080F5740: .4byte gUnknown_203AB54
_080F5744:
movs r0, 0x5
bl sub_80722CC
movs r0, 0x1
movs r1, 0x11
bl sub_800445C
movs r0, 0x1
str r0, [sp]
str r0, [sp, 0x4]
ldr r0, _080F5784 @ =gUnknown_841EE80
str r0, [sp, 0x8]
str r4, [sp, 0xC]
ldr r0, _080F5788 @ =gUnknown_841B6B9
str r0, [sp, 0x10]
movs r0, 0x1
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl sub_812E5A4
movs r0, 0x1
movs r1, 0x3
bl sub_8003F20
bl sub_80D972C
_080F577A:
ldr r1, [r5]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _080F5792
.align 2, 0
_080F5784: .4byte gUnknown_841EE80
_080F5788: .4byte gUnknown_841B6B9
_080F578C:
adds r0, r1, 0
bl sub_80F579C
_080F5792:
add sp, 0x14
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80F5708
thumb_func_start sub_80F579C
sub_80F579C: @ 80F579C
push {r4-r6,lr}
sub sp, 0x4
lsls r0, 24
lsrs r6, r0, 24
ldr r5, _080F57B4 @ =gUnknown_203AB54
ldr r0, [r5]
ldrb r0, [r0, 0x2]
cmp r0, 0
beq _080F57B8
cmp r0, 0x1
beq _080F57D4
b _080F57FE
.align 2, 0
_080F57B4: .4byte gUnknown_203AB54
_080F57B8:
ldr r0, _080F57D0 @ =0x0000ffff
str r0, [sp]
movs r1, 0
movs r2, 0
movs r3, 0x10
bl sub_8070588
ldr r1, [r5]
ldrb r0, [r1, 0x2]
adds r0, 0x1
strb r0, [r1, 0x2]
b _080F57FE
.align 2, 0
_080F57D0: .4byte 0x0000ffff
_080F57D4:
ldr r0, _080F5808 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
bne _080F57FE
bl sub_81100E8
adds r0, r6, 0
bl sub_8077508
bl sub_8003ECC
ldr r0, [r5]
bl sub_8002BC4
str r4, [r5]
bl sub_80008D8
_080F57FE:
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F5808: .4byte gUnknown_2037AB8
thumb_func_end sub_80F579C
thumb_func_start sub_80F580C
sub_80F580C: @ 80F580C
push {lr}
bl sub_8006B10
bl sub_8070528
bl sub_80773BC
pop {r0}
bx r0
thumb_func_end sub_80F580C
thumb_func_start sub_80F5820
sub_80F5820: @ 80F5820
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x8
movs r3, 0xC0
lsls r3, 19
movs r4, 0xC0
lsls r4, 9
add r0, sp, 0x4
mov r8, r0
mov r2, sp
movs r6, 0
ldr r1, _080F593C @ =0x040000d4
movs r5, 0x80
lsls r5, 5
ldr r7, _080F5940 @ =0x81000800
movs r0, 0x81
lsls r0, 24
mov r12, r0
_080F5846:
strh r6, [r2]
mov r0, sp
str r0, [r1]
str r3, [r1, 0x4]
str r7, [r1, 0x8]
ldr r0, [r1, 0x8]
adds r3, r5
subs r4, r5
cmp r4, r5
bhi _080F5846
strh r6, [r2]
mov r2, sp
str r2, [r1]
str r3, [r1, 0x4]
lsrs r0, r4, 1
mov r2, r12
orrs r0, r2
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r0, 0xE0
lsls r0, 19
movs r3, 0x80
lsls r3, 3
movs r4, 0
str r4, [sp, 0x4]
ldr r2, _080F593C @ =0x040000d4
mov r1, r8
str r1, [r2]
str r0, [r2, 0x4]
lsrs r0, r3, 2
movs r1, 0x85
lsls r1, 24
orrs r0, r1
str r0, [r2, 0x8]
ldr r0, [r2, 0x8]
movs r1, 0xA0
lsls r1, 19
mov r0, sp
strh r4, [r0]
str r0, [r2]
str r1, [r2, 0x4]
lsrs r3, 1
movs r0, 0x81
lsls r0, 24
orrs r3, r0
str r3, [r2, 0x8]
ldr r0, [r2, 0x8]
movs r0, 0
movs r1, 0
bl sub_8000A38
movs r0, 0x54
movs r1, 0
bl sub_8000A38
movs r0, 0
bl sub_8001618
ldr r1, _080F5944 @ =gUnknown_841EE64
movs r0, 0
movs r2, 0x1
bl sub_8001658
movs r0, 0
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0
movs r1, 0
movs r2, 0
bl sub_8001D08
movs r0, 0x1
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0x1
movs r1, 0
movs r2, 0
bl sub_8001D08
movs r0, 0x2
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0x2
movs r1, 0
movs r2, 0
bl sub_8001D08
movs r0, 0x3
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0x3
movs r1, 0
movs r2, 0
bl sub_8001D08
ldr r0, _080F5948 @ =gUnknown_841EE68
bl sub_8003B24
bl sub_8002C28
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl sub_8000A38
movs r0, 0
bl sub_80019BC
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F593C: .4byte 0x040000d4
_080F5940: .4byte 0x81000800
_080F5944: .4byte gUnknown_841EE64
_080F5948: .4byte gUnknown_841EE68
thumb_func_end sub_80F5820
thumb_func_start nullsub_85
nullsub_85: @ 80F594C
bx lr
thumb_func_end nullsub_85
.align 2, 0 @ Don't pad with nop.
+346
View File
@@ -0,0 +1,346 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80D0554
sub_80D0554: @ 80D0554
ldr r0, _080D0574 @ =gUnknown_3005008
ldr r1, [r0]
movs r0, 0xA5
lsls r0, 2
adds r1, r0
ldr r0, _080D0578 @ =gUnknown_300500C
ldr r0, [r0]
movs r2, 0xF2
lsls r2, 4
adds r0, r2
ldr r0, [r0]
ldrh r1, [r1]
eors r0, r1
lsls r0, 16
lsrs r0, 16
bx lr
.align 2, 0
_080D0574: .4byte gUnknown_3005008
_080D0578: .4byte gUnknown_300500C
thumb_func_end sub_80D0554
thumb_func_start sub_80D057C
sub_80D057C: @ 80D057C
lsls r0, 16
lsrs r0, 16
ldr r1, _080D059C @ =gUnknown_3005008
ldr r2, [r1]
ldr r1, _080D05A0 @ =gUnknown_300500C
ldr r1, [r1]
movs r3, 0xF2
lsls r3, 4
adds r1, r3
ldr r1, [r1]
eors r0, r1
movs r1, 0xA5
lsls r1, 2
adds r2, r1
strh r0, [r2]
bx lr
.align 2, 0
_080D059C: .4byte gUnknown_3005008
_080D05A0: .4byte gUnknown_300500C
thumb_func_end sub_80D057C
thumb_func_start sub_80D05A4
sub_80D05A4: @ 80D05A4
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
bl sub_80D0554
lsls r0, 16
lsrs r1, r0, 16
ldr r0, _080D05BC @ =0x0000270e
cmp r1, r0
bls _080D05C0
movs r0, 0
b _080D05DA
.align 2, 0
_080D05BC: .4byte 0x0000270e
_080D05C0:
adds r0, r1, r4
cmp r1, r0
bgt _080D05D0
lsls r0, 16
lsrs r1, r0, 16
ldr r0, _080D05E0 @ =0x0000270f
cmp r1, r0
bls _080D05D2
_080D05D0:
ldr r1, _080D05E0 @ =0x0000270f
_080D05D2:
adds r0, r1, 0
bl sub_80D057C
movs r0, 0x1
_080D05DA:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080D05E0: .4byte 0x0000270f
thumb_func_end sub_80D05A4
thumb_func_start sub_80D05E4
sub_80D05E4: @ 80D05E4
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
bl sub_80D0554
lsls r0, 16
lsrs r0, 16
cmp r0, r4
bcs _080D05FA
movs r0, 0
b _080D0606
_080D05FA:
subs r0, r4
lsls r0, 16
lsrs r0, 16
bl sub_80D057C
movs r0, 0x1
_080D0606:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80D05E4
thumb_func_start sub_80D060C
sub_80D060C: @ 80D060C
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0xC
adds r6, r0, 0
mov r8, r2
adds r4, r3, 0
ldr r5, [sp, 0x24]
lsls r6, 24
lsrs r6, 24
mov r0, r8
lsls r0, 24
lsrs r0, 24
mov r8, r0
lsls r4, 24
lsrs r4, 24
lsls r5, 24
lsrs r5, 24
ldr r0, _080D0668 @ =gUnknown_2021CD0
movs r2, 0x1
movs r3, 0x4
bl sub_8008E78
ldr r0, _080D066C @ =gUnknown_2021D18
mov r9, r0
ldr r1, _080D0670 @ =gUnknown_84162C4
bl sub_8008FCC
str r4, [sp]
str r5, [sp, 0x4]
movs r0, 0
str r0, [sp, 0x8]
adds r0, r6, 0
movs r1, 0
mov r2, r9
mov r3, r8
bl sub_8002C48
add sp, 0xC
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080D0668: .4byte gUnknown_2021CD0
_080D066C: .4byte gUnknown_2021D18
_080D0670: .4byte gUnknown_84162C4
thumb_func_end sub_80D060C
thumb_func_start sub_80D0674
sub_80D0674: @ 80D0674
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0xC
adds r6, r0, 0
adds r4, r1, 0
adds r5, r2, 0
mov r8, r3
lsls r6, 24
lsrs r6, 24
lsls r4, 16
lsrs r4, 16
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
movs r1, 0
adds r2, r4, 0
adds r3, r5, 0
bl sub_810F2E8
ldr r2, _080D06CC @ =gUnknown_8417C2D
movs r4, 0
str r4, [sp]
movs r0, 0xFF
str r0, [sp, 0x4]
str r4, [sp, 0x8]
adds r0, r6, 0
movs r1, 0x2
movs r3, 0
bl sub_8002C48
str r4, [sp]
adds r0, r6, 0
mov r1, r8
movs r2, 0x10
movs r3, 0xC
bl sub_80D060C
add sp, 0xC
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080D06CC: .4byte gUnknown_8417C2D
thumb_func_end sub_80D0674
thumb_func_start sub_80D06D0
sub_80D06D0: @ 80D06D0
push {r4,lr}
sub sp, 0xC
adds r1, r0, 0
ldr r0, _080D071C @ =gUnknown_2021CD0
movs r2, 0x1
movs r3, 0x4
bl sub_8008E78
ldr r4, _080D0720 @ =gUnknown_2021D18
ldr r1, _080D0724 @ =gUnknown_84162C4
adds r0, r4, 0
bl sub_8008FCC
movs r0, 0
adds r1, r4, 0
movs r2, 0
bl sub_8005ED4
ldr r1, _080D0728 @ =gUnknown_2039A28
ldrb r1, [r1]
movs r3, 0x40
subs r3, r0
lsls r3, 24
lsrs r3, 24
movs r0, 0xC
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
str r0, [sp, 0x8]
adds r0, r1, 0
movs r1, 0
adds r2, r4, 0
bl sub_8002C48
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080D071C: .4byte gUnknown_2021CD0
_080D0720: .4byte gUnknown_2021D18
_080D0724: .4byte gUnknown_84162C4
_080D0728: .4byte gUnknown_2039A28
thumb_func_end sub_80D06D0
thumb_func_start sub_80D072C
sub_80D072C: @ 80D072C
push {r4-r6,lr}
sub sp, 0x20
adds r6, r0, 0
adds r4, r1, 0
adds r3, r2, 0
lsls r4, 24
lsls r3, 24
movs r0, 0x80
lsls r0, 17
adds r4, r0
lsrs r4, 24
adds r3, r0
lsrs r3, 24
movs r0, 0x8
str r0, [sp]
movs r0, 0x3
str r0, [sp, 0x4]
movs r0, 0xF
str r0, [sp, 0x8]
movs r0, 0x20
str r0, [sp, 0xC]
add r0, sp, 0x10
movs r1, 0
adds r2, r4, 0
bl sub_810FE50
ldr r0, [sp, 0x10]
ldr r1, [sp, 0x14]
str r0, [sp, 0x18]
str r1, [sp, 0x1C]
ldr r4, _080D07BC @ =gUnknown_2039A28
add r0, sp, 0x18
bl sub_8003CE4
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
bl sub_800445C
ldrb r0, [r4]
bl sub_8003FA0
ldrb r0, [r4]
ldr r5, _080D07C0 @ =0x0000021d
adds r1, r5, 0
movs r2, 0xD0
bl sub_814FF2C
ldrb r0, [r4]
movs r1, 0
adds r2, r5, 0
movs r3, 0xD
bl sub_810F2E8
ldrb r0, [r4]
ldr r2, _080D07C4 @ =gUnknown_8417C2D
movs r3, 0
str r3, [sp]
movs r1, 0xFF
str r1, [sp, 0x4]
str r3, [sp, 0x8]
movs r1, 0x2
bl sub_8002C48
adds r0, r6, 0
bl sub_80D06D0
add sp, 0x20
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080D07BC: .4byte gUnknown_2039A28
_080D07C0: .4byte 0x0000021d
_080D07C4: .4byte gUnknown_8417C2D
thumb_func_end sub_80D072C
thumb_func_start sub_80D07C8
sub_80D07C8: @ 80D07C8
push {r4,lr}
ldr r4, _080D07E8 @ =gUnknown_2039A28
ldrb r0, [r4]
bl sub_80040B8
ldrb r0, [r4]
movs r1, 0x1
bl sub_810F4D8
ldrb r0, [r4]
bl sub_8003E3C
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080D07E8: .4byte gUnknown_2039A28
thumb_func_end sub_80D07C8
.align 2, 0 @ Don't pad with nop.
+105
View File
@@ -0,0 +1,105 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start nullsub_27
nullsub_27: @ 806E7A8
bx lr
thumb_func_end nullsub_27
thumb_func_start nullsub_28
nullsub_28: @ 806E7AC
bx lr
thumb_func_end nullsub_28
thumb_func_start nullsub_29
nullsub_29: @ 806E7B0
bx lr
thumb_func_end nullsub_29
thumb_func_start nullsub_30
nullsub_30: @ 806E7B4
bx lr
thumb_func_end nullsub_30
thumb_func_start nullsub_31
nullsub_31: @ 806E7B8
bx lr
thumb_func_end nullsub_31
thumb_func_start nullsub_32
nullsub_32: @ 806E7BC
bx lr
thumb_func_end nullsub_32
thumb_func_start nullsub_33
nullsub_33: @ 806E7C0
bx lr
thumb_func_end nullsub_33
thumb_func_start nullsub_34
nullsub_34: @ 806E7C4
bx lr
thumb_func_end nullsub_34
thumb_func_start nullsub_35
nullsub_35: @ 806E7C8
bx lr
thumb_func_end nullsub_35
thumb_func_start nullsub_36
nullsub_36: @ 806E7CC
bx lr
thumb_func_end nullsub_36
thumb_func_start nullsub_37
nullsub_37: @ 806E7D0
bx lr
thumb_func_end nullsub_37
thumb_func_start nullsub_38
nullsub_38: @ 806E7D4
bx lr
thumb_func_end nullsub_38
thumb_func_start nullsub_39
nullsub_39: @ 806E7D8
bx lr
thumb_func_end nullsub_39
thumb_func_start sub_806E7DC
sub_806E7DC: @ 806E7DC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
movs r2, 0
ldr r3, _0806E7FC @ =gUnknown_83A72A8
_0806E7E6:
lsls r1, r2, 3
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, r4
bne _0806E800
adds r0, r3, 0x4
adds r0, r1, r0
ldr r0, [r0]
bl _call_via_r0
b _0806E80A
.align 2, 0
_0806E7FC: .4byte gUnknown_83A72A8
_0806E800:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xC
bls _0806E7E6
_0806E80A:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_806E7DC
.align 2, 0 @ Don't pad with nop.
+2222
View File
File diff suppressed because it is too large Load Diff
+227
View File
@@ -0,0 +1,227 @@
.include "constants/gba_constants.inc"
.syntax unified
.global Start
.text
.arm
Start: @ 8000000
b Init
.include "asm/rom_header.inc"
@ 80000C0
.word 0
.global GPIOPortData
GPIOPortData: @ 80000C4
.hword 0
.global GPIOPortDirection
GPIOPortDirection: @ 80000C6
.hword 0
.global GPIOPortReadEnable
GPIOPortReadEnable: @ 80000C8
.hword 0
.space 6
@ 80000D0
@ TODO: figure out what this data is
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 4
.4byte 2
.ascii "pokemon red version"
.space 13
.4byte 0x82350AC @ gMonFrontPicTable
.4byte 0x823654C @ gMonBackPicTable
.4byte 0x823730C @ gMonPaletteTable
.4byte 0x82380CC @ gMonShinyPaletteTable
.4byte 0x83D37A0 @ gMonIconTable
.4byte 0x83D3E80 @ gMonIconPaletteIndices
.4byte 0x83D4038 @ gMonIconPaletteTable
.4byte 0x8245EE0 @ gSpeciesNames
.4byte 0x8247094 @ gMoveNames
.4byte 0x84556F8 @ gDecorations
.4byte 0xEE0
.4byte 0x1000
.4byte 0x18
.4byte 0x5F8
.4byte 0x3A18
.4byte 0x3C
.4byte 0x838
.4byte 0x839
.4byte 0x182
.4byte 0xA0A0A07
.4byte 0xC060C0C
.4byte 0xC121006
.4byte 0x8010B0F
.4byte 0xC
.4byte 0xF24
.4byte 0x3D68
.4byte 0x34
.4byte 0x38
.4byte 9
.4byte 0xA
.4byte 0
.4byte 8
.4byte 0xAD
.4byte 0xAD
.4byte 0x30BB
.4byte 0x30A7
.4byte 0
.4byte 0x8254784
.4byte 0x824FC40
.4byte 0x824FB08
.4byte 0x83DB028
.4byte 0x8250C04
.4byte 0x826056C
.4byte 0x82605CC
.4byte 0xA8
.4byte 0x82C
.4byte 0x83B
.4byte 0x3A0D1E2A
.4byte 0x1E2B
.4byte 0x298
.4byte 0x309C
.4byte 0x30EC
.4byte 0x34
.4byte 0
.4byte 0xFFFFFFFF
.arm
.align 2, 0
.global Init
Init:
mov r0, PSR_IRQ_MODE
msr cpsr_cf, r0
ldr sp, sp_irq
mov r0, PSR_SYS_MODE
msr cpsr_cf, r0
ldr sp, sp_sys
ldr r1, =INTR_VECTOR
adr r0, IntrMain
str r0, [r1]
ldr r1, =AgbMain
mov lr, pc
bx r1
b Init
.align 2, 0
sp_sys: .word IWRAM_END - 0x1C0
sp_irq: .word IWRAM_END - 0x60
.pool
.arm
.align 2, 0
.global IntrMain
IntrMain:
mov r3, REG_BASE
add r3, r3, 0x200
ldr r2, [r3, OFFSET_REG_IE - 0x200]
ldrh r1, [r3, OFFSET_REG_IME - 0x200]
mrs r0, spsr
stmdb sp!, {r0-r3,lr}
mov r0, 0
strh r0, [r3, OFFSET_REG_IME - 0x200]
and r1, r2, r2, lsr 16
mov r12, 0
ands r0, r1, INTR_FLAG_VCOUNT
bne IntrMain_FoundIntr
add r12, r12, 0x4
mov r0, 0x1
strh r0, [r3, OFFSET_REG_IME - 0x200]
ands r0, r1, INTR_FLAG_SERIAL
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER3
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_HBLANK
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_VBLANK
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER0
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER1
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER2
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA0
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA1
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA2
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA3
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_KEYPAD
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_GAMEPAK
strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200]
bne . @ spin
IntrMain_FoundIntr:
strh r0, [r3, OFFSET_REG_IF - 0x200]
bic r2, r2, r0
ldr r0, =gRfuState
ldr r0, [r0]
ldrb r0, [r0, 0xA]
mov r1, 0x8
mov r0, r1, lsl r0
orr r0, r0, INTR_FLAG_GAMEPAK
orr r1, r0, INTR_FLAG_SERIAL | INTR_FLAG_TIMER3 | INTR_FLAG_VCOUNT | INTR_FLAG_HBLANK
and r1, r1, r2
strh r1, [r3, OFFSET_REG_IE - 0x200]
mrs r3, cpsr
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
orr r3, r3, PSR_SYS_MODE
msr cpsr_cf, r3
ldr r1, =gIntrTable
add r1, r1, r12
ldr r0, [r1]
stmdb sp!, {lr}
adr lr, IntrMain_RetAddr
bx r0
IntrMain_RetAddr:
ldmia sp!, {lr}
mrs r3, cpsr
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
orr r3, r3, PSR_I_BIT | PSR_IRQ_MODE
msr cpsr_cf, r3
ldmia sp!, {r0-r3,lr}
strh r2, [r3, OFFSET_REG_IE - 0x200]
strh r1, [r3, OFFSET_REG_IME - 0x200]
msr spsr_cf, r0
bx lr
.pool
.align 2, 0 @ Don't pad with nop.
+3216
View File
File diff suppressed because it is too large Load Diff
+887
View File
@@ -0,0 +1,887 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_800EBB4
sub_800EBB4: @ 800EBB4
push {lr}
bl LZ77UnCompWram
pop {r0}
bx r0
thumb_func_end sub_800EBB4
thumb_func_start sub_800EBC0
sub_800EBC0: @ 800EBC0
push {lr}
bl LZ77UnCompVram
pop {r0}
bx r0
thumb_func_end sub_800EBC0
thumb_func_start sub_800EBCC
sub_800EBCC: @ 800EBCC
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
ldr r0, [r4]
ldr r5, _0800EBFC @ =gUnknown_201C000
adds r1, r5, 0
bl LZ77UnCompWram
str r5, [sp]
ldrh r1, [r4, 0x6]
lsls r1, 16
ldrh r0, [r4, 0x4]
orrs r0, r1
str r0, [sp, 0x4]
mov r0, sp
bl sub_80086DC
lsls r0, 16
lsrs r0, 16
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0800EBFC: .4byte gUnknown_201C000
thumb_func_end sub_800EBCC
thumb_func_start sub_800EC00
sub_800EC00: @ 800EC00
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
adds r5, r1, 0
ldr r0, [r4]
bl LZ77UnCompWram
str r5, [sp]
ldrh r1, [r4, 0x6]
lsls r1, 16
ldrh r0, [r4, 0x4]
orrs r0, r1
str r0, [sp, 0x4]
mov r0, sp
bl sub_80086DC
add sp, 0x8
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_800EC00
thumb_func_start sub_800EC28
sub_800EC28: @ 800EC28
push {r4,r5,lr}
sub sp, 0x8
adds r5, r0, 0
ldr r0, [r5]
ldr r4, _0800EC54 @ =gUnknown_201C000
adds r1, r4, 0
bl LZ77UnCompWram
str r4, [sp]
ldrh r2, [r5, 0x4]
ldr r1, _0800EC58 @ =0xffff0000
ldr r0, [sp, 0x4]
ands r0, r1
orrs r0, r2
str r0, [sp, 0x4]
mov r0, sp
bl sub_8008928
add sp, 0x8
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800EC54: .4byte gUnknown_201C000
_0800EC58: .4byte 0xffff0000
thumb_func_end sub_800EC28
thumb_func_start sub_800EC5C
sub_800EC5C: @ 800EC5C
push {r4,r5,lr}
sub sp, 0x8
adds r5, r0, 0
adds r4, r1, 0
ldr r0, [r5]
bl LZ77UnCompWram
str r4, [sp]
ldrh r2, [r5, 0x4]
ldr r1, _0800EC88 @ =0xffff0000
ldr r0, [sp, 0x4]
ands r0, r1
orrs r0, r2
str r0, [sp, 0x4]
mov r0, sp
bl sub_8008928
add sp, 0x8
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800EC88: .4byte 0xffff0000
thumb_func_end sub_800EC5C
thumb_func_start sub_800EC8C
sub_800EC8C: @ 800EC8C
push {r4,r5,lr}
adds r3, r0, 0
adds r4, r1, 0
adds r5, r2, 0
movs r0, 0xCE
lsls r0, 1
cmp r5, r0
ble _0800ECAC
ldr r0, _0800ECA8 @ =gUnknown_82350AC
ldr r0, [r0]
bl LZ77UnCompWram
b _0800ECB4
.align 2, 0
_0800ECA8: .4byte gUnknown_82350AC
_0800ECAC:
ldr r0, [r3]
adds r1, r4, 0
bl LZ77UnCompWram
_0800ECB4:
adds r0, r4, 0
adds r1, r5, 0
bl sub_800EDAC
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_800EC8C
thumb_func_start sub_800ECC4
sub_800ECC4: @ 800ECC4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r2, 3
ldr r1, _0800ECEC @ =gUnknown_82350AC
adds r0, r1
movs r1, 0
cmp r4, r0
bne _0800ECDA
movs r1, 0x1
_0800ECDA:
str r1, [sp]
adds r0, r4, 0
adds r1, r5, 0
bl sub_800ECF0
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800ECEC: .4byte gUnknown_82350AC
thumb_func_end sub_800ECC4
thumb_func_start sub_800ECF0
sub_800ECF0: @ 800ECF0
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r6, r0, 0
adds r4, r1, 0
adds r7, r2, 0
adds r5, r3, 0
ldr r0, [sp, 0x18]
lsls r0, 24
lsrs r0, 24
mov r8, r0
cmp r7, 0xC9
bne _0800ED6C
movs r0, 0xC0
lsls r0, 18
ands r0, r5
lsrs r0, 18
movs r1, 0xC0
lsls r1, 10
ands r1, r5
lsrs r1, 12
orrs r0, r1
movs r1, 0xC0
lsls r1, 2
ands r1, r5
lsrs r1, 6
orrs r0, r1
movs r1, 0x3
ands r1, r5
orrs r0, r1
movs r1, 0x1C
bl __umodsi3
lsls r0, 16
lsrs r1, r0, 16
cmp r1, 0
bne _0800ED3E
movs r1, 0xC9
b _0800ED48
_0800ED3E:
movs r2, 0xCE
lsls r2, 1
adds r0, r1, r2
lsls r0, 16
lsrs r1, r0, 16
_0800ED48:
mov r0, r8
cmp r0, 0
bne _0800ED5C
ldr r0, _0800ED58 @ =gUnknown_823654C
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800ED78
.align 2, 0
_0800ED58: .4byte gUnknown_823654C
_0800ED5C:
ldr r0, _0800ED68 @ =gUnknown_82350AC
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800ED78
.align 2, 0
_0800ED68: .4byte gUnknown_82350AC
_0800ED6C:
movs r0, 0xCE
lsls r0, 1
cmp r7, r0
ble _0800ED84
ldr r0, _0800ED80 @ =gUnknown_82350AC
ldr r0, [r0]
_0800ED78:
adds r1, r4, 0
bl LZ77UnCompWram
b _0800ED8C
.align 2, 0
_0800ED80: .4byte gUnknown_82350AC
_0800ED84:
ldr r0, [r6]
adds r1, r4, 0
bl LZ77UnCompWram
_0800ED8C:
adds r0, r4, 0
adds r1, r7, 0
bl sub_800EDAC
lsls r0, r7, 16
lsrs r0, 16
adds r1, r5, 0
adds r2, r4, 0
mov r3, r8
bl sub_8043458
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_800ECF0
thumb_func_start sub_800EDAC
sub_800EDAC: @ 800EDAC
push {lr}
adds r3, r0, 0
movs r0, 0xCD
lsls r0, 1
cmp r1, r0
bne _0800EDC6
movs r1, 0x80
lsls r1, 4
adds r0, r3, r1
ldr r2, _0800EDCC @ =0x04000200
adds r1, r3, 0
bl CpuSet
_0800EDC6:
pop {r0}
bx r0
.align 2, 0
_0800EDCC: .4byte 0x04000200
thumb_func_end sub_800EDAC
thumb_func_start sub_800EDD0
sub_800EDD0: @ 800EDD0
push {lr}
ldr r0, [r0]
bl LZ77UnCompWram
pop {r0}
bx r0
thumb_func_end sub_800EDD0
thumb_func_start sub_800EDDC
sub_800EDDC: @ 800EDDC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x24
mov r9, r0
str r1, [sp]
str r2, [sp, 0x4]
adds r5, r3, 0
movs r0, 0x1
mov r1, r9
ands r0, r1
cmp r0, 0
bne _0800EDFC
b _0800EF94
_0800EDFC:
asrs r0, r1, 1
adds r0, 0x4
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x8]
movs r0, 0
ldr r2, [sp]
cmp r0, r2
blt _0800EE10
b _0800F024
_0800EE10:
movs r4, 0x8
subs r1, r4, r1
str r1, [sp, 0x10]
_0800EE16:
movs r7, 0
adds r0, 0x1
str r0, [sp, 0x14]
ldr r0, [sp, 0x10]
cmp r7, r0
bge _0800EE92
ldr r1, [sp, 0x8]
lsls r1, 8
str r1, [sp, 0x18]
movs r2, 0
mov r10, r2
mov r0, r9
movs r4, 0x8
subs r0, r4, r0
str r0, [sp, 0xC]
_0800EE34:
movs r3, 0
asrs r0, r7, 1
adds r1, r7, 0
movs r2, 0x1
ands r1, r2
str r1, [sp, 0x20]
lsls r0, 8
mov r8, r0
mov r12, r5
_0800EE46:
lsls r1, r3, 5
ldr r4, [sp, 0x18]
adds r0, r5, r4
adds r0, r1
mov r1, r8
adds r2, r0, r1
mov r1, r12
add r1, r8
movs r6, 0xF
_0800EE58:
ldr r4, [sp, 0x20]
cmp r4, 0
bne _0800EE68
strb r4, [r1]
add r4, sp, 0x20
ldrb r4, [r4]
strb r4, [r2, 0x10]
b _0800EE76
_0800EE68:
mov r0, r10
strb r0, [r1, 0x10]
movs r4, 0x80
lsls r4, 1
adds r4, r2, r4
str r4, [sp, 0x1C]
strb r0, [r4]
_0800EE76:
adds r2, 0x1
adds r1, 0x1
subs r6, 0x1
cmp r6, 0
bge _0800EE58
movs r0, 0x20
add r12, r0
adds r3, 0x1
cmp r3, 0x7
ble _0800EE46
adds r7, 0x1
ldr r1, [sp, 0xC]
cmp r7, r1
blt _0800EE34
_0800EE92:
movs r7, 0
movs r2, 0
_0800EE96:
movs r6, 0
adds r4, r7, 0x1
mov r8, r4
lsls r4, r7, 5
_0800EE9E:
adds r0, r6, 0x1
mov r10, r0
lsls r1, r6, 8
adds r0, r1, 0
adds r0, 0xC0
adds r0, r5, r0
adds r0, r4
adds r1, r5, r1
adds r1, r4
movs r3, 0x1F
_0800EEB2:
strb r2, [r1]
strb r2, [r0]
adds r0, 0x1
adds r1, 0x1
subs r3, 0x1
cmp r3, 0
bge _0800EEB2
mov r6, r10
cmp r6, 0x7
ble _0800EE9E
mov r7, r8
cmp r7, 0x1
ble _0800EE96
mov r1, r9
cmp r1, 0x5
bne _0800EED8
movs r2, 0x90
lsls r2, 1
adds r5, r2
_0800EED8:
movs r7, 0
cmp r7, r9
bge _0800EF6E
_0800EEDE:
movs r3, 0
adds r7, 0x1
mov r8, r7
cmp r3, r9
bge _0800EF4E
_0800EEE8:
adds r3, 0x1
mov r10, r3
ldr r4, [sp, 0x4]
adds r4, 0x20
adds r7, r5, 0
adds r7, 0x20
movs r0, 0x12
adds r0, r5
mov r12, r0
ldr r2, [sp, 0x4]
adds r3, r5, 0
movs r6, 0x3
_0800EF00:
ldrb r0, [r2]
mov r1, r12
strb r0, [r1]
ldrb r0, [r2, 0x1]
strb r0, [r1, 0x1]
ldrb r0, [r2, 0x2]
strb r0, [r1, 0x1E]
ldrb r0, [r2, 0x3]
strb r0, [r1, 0x1F]
movs r0, 0x81
lsls r0, 1
adds r1, r3, r0
ldrb r0, [r2, 0x10]
strb r0, [r1]
ldr r0, _0800EF58 @ =0x00000103
adds r1, r3, r0
ldrb r0, [r2, 0x11]
strb r0, [r1]
movs r0, 0x90
lsls r0, 1
adds r1, r3, r0
ldrb r0, [r2, 0x12]
strb r0, [r1]
ldr r0, _0800EF5C @ =0x00000121
adds r1, r3, r0
ldrb r0, [r2, 0x13]
strb r0, [r1]
movs r1, 0x4
add r12, r1
adds r2, 0x4
adds r3, 0x4
subs r6, 0x1
cmp r6, 0
bge _0800EF00
str r4, [sp, 0x4]
adds r5, r7, 0
mov r3, r10
cmp r3, r9
blt _0800EEE8
_0800EF4E:
mov r2, r9
cmp r2, 0x7
bne _0800EF60
adds r5, 0x20
b _0800EF68
.align 2, 0
_0800EF58: .4byte 0x00000103
_0800EF5C: .4byte 0x00000121
_0800EF60:
mov r4, r9
cmp r4, 0x5
bne _0800EF68
adds r5, 0x60
_0800EF68:
mov r7, r8
cmp r7, r9
blt _0800EEDE
_0800EF6E:
mov r0, r9
cmp r0, 0x7
bne _0800EF7C
movs r1, 0x80
lsls r1, 1
adds r5, r1
b _0800EF88
_0800EF7C:
mov r2, r9
cmp r2, 0x5
bne _0800EF88
movs r4, 0xF0
lsls r4, 1
adds r5, r4
_0800EF88:
ldr r0, [sp, 0x14]
ldr r1, [sp]
cmp r0, r1
bge _0800EF92
b _0800EE16
_0800EF92:
b _0800F024
_0800EF94:
movs r6, 0
ldr r2, [sp]
cmp r6, r2
bge _0800F024
_0800EF9C:
adds r6, 0x1
mov r10, r6
mov r4, r9
cmp r4, 0x6
bne _0800EFB4
movs r0, 0
movs r3, 0xFF
_0800EFAA:
strb r0, [r5]
adds r5, 0x1
subs r3, 0x1
cmp r3, 0
bge _0800EFAA
_0800EFB4:
movs r7, 0
cmp r7, r9
bge _0800F008
_0800EFBA:
adds r7, 0x1
mov r8, r7
mov r1, r9
lsls r0, r1, 5
cmp r1, 0x6
bne _0800EFD4
movs r1, 0
movs r3, 0x1F
_0800EFCA:
strb r1, [r5]
adds r5, 0x1
subs r3, 0x1
cmp r3, 0
bge _0800EFCA
_0800EFD4:
adds r1, r0, 0
cmp r1, 0
ble _0800EFEE
adds r3, r1, 0
_0800EFDC:
ldr r2, [sp, 0x4]
ldrb r0, [r2]
strb r0, [r5]
adds r2, 0x1
str r2, [sp, 0x4]
adds r5, 0x1
subs r3, 0x1
cmp r3, 0
bne _0800EFDC
_0800EFEE:
mov r4, r9
cmp r4, 0x6
bne _0800F002
movs r0, 0
movs r3, 0x1F
_0800EFF8:
strb r0, [r5]
adds r5, 0x1
subs r3, 0x1
cmp r3, 0
bge _0800EFF8
_0800F002:
mov r7, r8
cmp r7, r9
blt _0800EFBA
_0800F008:
mov r0, r9
cmp r0, 0x6
bne _0800F01C
movs r0, 0
movs r3, 0xFF
_0800F012:
strb r0, [r5]
adds r5, 0x1
subs r3, 0x1
cmp r3, 0
bge _0800F012
_0800F01C:
mov r6, r10
ldr r1, [sp]
cmp r6, r1
blt _0800EF9C
_0800F024:
add sp, 0x24
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_800EDDC
thumb_func_start sub_800F034
sub_800F034: @ 800F034
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
ldr r0, [r4]
ldr r0, [r0]
lsrs r0, 8
bl sub_8002BB0
adds r5, r0, 0
cmp r5, 0
beq _0800F06E
ldr r0, [r4]
adds r1, r5, 0
bl LZ77UnCompWram
str r5, [sp]
ldrh r1, [r4, 0x6]
lsls r1, 16
ldrh r0, [r4, 0x4]
orrs r0, r1
str r0, [sp, 0x4]
mov r0, sp
bl sub_80086DC
adds r0, r5, 0
bl sub_8002BC4
movs r0, 0
b _0800F070
_0800F06E:
movs r0, 0x1
_0800F070:
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_800F034
thumb_func_start sub_800F078
sub_800F078: @ 800F078
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
ldr r0, [r4]
ldr r0, [r0]
lsrs r0, 8
bl sub_8002BB0
adds r5, r0, 0
cmp r5, 0
beq _0800F0B8
ldr r0, [r4]
adds r1, r5, 0
bl LZ77UnCompWram
str r5, [sp]
ldrh r2, [r4, 0x4]
ldr r1, _0800F0B4 @ =0xffff0000
ldr r0, [sp, 0x4]
ands r0, r1
orrs r0, r2
str r0, [sp, 0x4]
mov r0, sp
bl sub_8008928
adds r0, r5, 0
bl sub_8002BC4
movs r0, 0
b _0800F0BA
.align 2, 0
_0800F0B4: .4byte 0xffff0000
_0800F0B8:
movs r0, 0x1
_0800F0BA:
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_800F078
thumb_func_start sub_800F0C4
sub_800F0C4: @ 800F0C4
sub sp, 0x4
mov r3, sp
ldrb r2, [r0, 0x1]
mov r1, sp
strb r2, [r1]
ldrb r1, [r0, 0x2]
strb r1, [r3, 0x1]
ldrb r0, [r0, 0x3]
strb r0, [r3, 0x2]
movs r0, 0
strb r0, [r3, 0x3]
ldr r0, [sp]
add sp, 0x4
bx lr
thumb_func_end sub_800F0C4
thumb_func_start sub_800F0E0
sub_800F0E0: @ 800F0E0
push {lr}
adds r3, r0, 0
movs r0, 0xCE
lsls r0, 1
cmp r2, r0
ble _0800F0FC
ldr r0, _0800F0F8 @ =gUnknown_82350AC
ldr r0, [r0]
bl LZ77UnCompWram
b _0800F102
.align 2, 0
_0800F0F8: .4byte gUnknown_82350AC
_0800F0FC:
ldr r0, [r3]
bl LZ77UnCompWram
_0800F102:
pop {r0}
bx r0
thumb_func_end sub_800F0E0
thumb_func_start sub_800F108
sub_800F108: @ 800F108
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r2, 3
ldr r1, _0800F130 @ =gUnknown_82350AC
adds r0, r1
movs r1, 0
cmp r4, r0
bne _0800F11E
movs r1, 0x1
_0800F11E:
str r1, [sp]
adds r0, r4, 0
adds r1, r5, 0
bl sub_800F134
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800F130: .4byte gUnknown_82350AC
thumb_func_end sub_800F108
thumb_func_start sub_800F134
sub_800F134: @ 800F134
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r6, r0, 0
adds r5, r1, 0
adds r7, r2, 0
adds r4, r3, 0
ldr r0, [sp, 0x18]
lsls r0, 24
lsrs r0, 24
mov r8, r0
cmp r7, 0xC9
bne _0800F1B0
movs r0, 0xC0
lsls r0, 18
ands r0, r4
lsrs r0, 18
movs r1, 0xC0
lsls r1, 10
ands r1, r4
lsrs r1, 12
orrs r0, r1
movs r1, 0xC0
lsls r1, 2
ands r1, r4
lsrs r1, 6
orrs r0, r1
movs r1, 0x3
ands r1, r4
orrs r0, r1
movs r1, 0x1C
bl __umodsi3
lsls r0, 16
lsrs r1, r0, 16
cmp r1, 0
bne _0800F182
movs r1, 0xC9
b _0800F18C
_0800F182:
movs r2, 0xCE
lsls r2, 1
adds r0, r1, r2
lsls r0, 16
lsrs r1, r0, 16
_0800F18C:
mov r0, r8
cmp r0, 0
bne _0800F1A0
ldr r0, _0800F19C @ =gUnknown_823654C
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800F1BC
.align 2, 0
_0800F19C: .4byte gUnknown_823654C
_0800F1A0:
ldr r0, _0800F1AC @ =gUnknown_82350AC
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800F1BC
.align 2, 0
_0800F1AC: .4byte gUnknown_82350AC
_0800F1B0:
movs r0, 0xCE
lsls r0, 1
cmp r7, r0
ble _0800F1C8
ldr r0, _0800F1C4 @ =gUnknown_82350AC
ldr r0, [r0]
_0800F1BC:
adds r1, r5, 0
bl LZ77UnCompWram
b _0800F1D0
.align 2, 0
_0800F1C4: .4byte gUnknown_82350AC
_0800F1C8:
ldr r0, [r6]
adds r1, r5, 0
bl LZ77UnCompWram
_0800F1D0:
lsls r0, r7, 16
lsrs r0, 16
adds r1, r4, 0
adds r2, r5, 0
mov r3, r8
bl sub_8043458
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_800F134
.align 2, 0 @ Don't pad with nop.
+607
View File
@@ -0,0 +1,607 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80F4BFC
sub_80F4BFC: @ 80F4BFC
push {lr}
bl sub_8007320
bl sub_8007610
bl sub_8070474
pop {r0}
bx r0
thumb_func_end sub_80F4BFC
thumb_func_start sub_80F4C10
sub_80F4C10: @ 80F4C10
push {r4,lr}
ldr r4, _080F4C40 @ =gUnknown_203AB48
ldr r0, _080F4C44 @ =0x00001004
bl sub_8002BB0
str r0, [r4]
movs r1, 0
strb r1, [r0]
ldr r0, [r4]
strb r1, [r0, 0x1]
ldr r0, [r4]
strb r1, [r0, 0x2]
bl sub_80F4E24
ldr r0, _080F4C48 @ =sub_80F4C68
movs r1, 0
bl sub_807741C
ldr r0, _080F4C4C @ =sub_80F4C50
bl sub_8000544
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F4C40: .4byte gUnknown_203AB48
_080F4C44: .4byte 0x00001004
_080F4C48: .4byte sub_80F4C68
_080F4C4C: .4byte sub_80F4C50
thumb_func_end sub_80F4C10
thumb_func_start sub_80F4C50
sub_80F4C50: @ 80F4C50
push {lr}
bl sub_8077578
bl sub_8006B5C
bl sub_8006BA8
bl sub_80704D0
pop {r0}
bx r0
thumb_func_end sub_80F4C50
thumb_func_start sub_80F4C68
sub_80F4C68: @ 80F4C68
push {r4,lr}
sub sp, 0x4
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080F4C84 @ =gUnknown_203AB48
ldr r0, [r0]
ldrb r0, [r0, 0x2]
cmp r0, 0x8
bhi _080F4D30
lsls r0, 2
ldr r1, _080F4C88 @ =_080F4C8C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080F4C84: .4byte gUnknown_203AB48
_080F4C88: .4byte _080F4C8C
.align 2, 0
_080F4C8C:
.4byte _080F4CB0
.4byte _080F4CB8
.4byte _080F4CBE
.4byte _080F4CCA
.4byte _080F4CDC
.4byte _080F4CFC
.4byte _080F4D02
.4byte _080F4D10
.4byte _080F4D22
_080F4CB0:
movs r0, 0
bl sub_80006F4
b _080F4D50
_080F4CB8:
bl sub_80F4E40
b _080F4D50
_080F4CBE:
bl sub_80F4F9C
lsls r0, 24
cmp r0, 0
beq _080F4D5A
b _080F4D50
_080F4CCA:
ldr r1, _080F4CD8 @ =gUnknown_84154E8
movs r0, 0x1
movs r2, 0
movs r3, 0
bl sub_8002040
b _080F4D50
.align 2, 0
_080F4CD8: .4byte gUnknown_84154E8
_080F4CDC:
bl sub_8088F84
lsls r0, 16
cmp r0, 0
beq _080F4CF2
movs r1, 0x80
lsls r1, 1
movs r0, 0x14
bl sub_8000A38
b _080F4D50
_080F4CF2:
movs r0, 0x14
movs r1, 0
bl sub_8000A38
b _080F4D50
_080F4CFC:
bl sub_80F5018
b _080F4D50
_080F4D02:
movs r0, 0
bl sub_80020BC
movs r0, 0x1
bl sub_80020BC
b _080F4D50
_080F4D10:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl sub_8070588
b _080F4D50
_080F4D22:
ldr r0, _080F4D2C @ =sub_80F4BFC
bl sub_80006F4
b _080F4D50
.align 2, 0
_080F4D2C: .4byte sub_80F4BFC
_080F4D30:
ldr r0, _080F4D64 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080F4D50
movs r0, 0x5
bl sub_8071BC4
ldr r0, _080F4D68 @ =gUnknown_3005090
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r0
ldr r0, _080F4D6C @ =sub_80F4D74
str r0, [r1]
_080F4D50:
ldr r0, _080F4D70 @ =gUnknown_203AB48
ldr r1, [r0]
ldrb r0, [r1, 0x2]
adds r0, 0x1
strb r0, [r1, 0x2]
_080F4D5A:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F4D64: .4byte gUnknown_2037AB8
_080F4D68: .4byte gUnknown_3005090
_080F4D6C: .4byte sub_80F4D74
_080F4D70: .4byte gUnknown_203AB48
thumb_func_end sub_80F4C68
thumb_func_start sub_80F4D74
sub_80F4D74: @ 80F4D74
push {r4,lr}
sub sp, 0x4
lsls r0, 24
lsrs r2, r0, 24
ldr r4, _080F4D90 @ =gUnknown_203AB48
ldr r0, [r4]
ldrb r1, [r0]
cmp r1, 0x1
beq _080F4DA8
cmp r1, 0x1
bgt _080F4D94
cmp r1, 0
beq _080F4D9A
b _080F4DD6
.align 2, 0
_080F4D90: .4byte gUnknown_203AB48
_080F4D94:
cmp r1, 0x2
beq _080F4DD0
b _080F4DD6
_080F4D9A:
movs r0, 0
bl sub_8071C10
lsls r0, 24
cmp r0, 0
beq _080F4DD6
b _080F4DC2
_080F4DA8:
ldr r0, _080F4DCC @ =gUnknown_30030F0
ldrh r0, [r0, 0x2E]
ands r1, r0
cmp r1, 0
beq _080F4DD6
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl sub_8070588
_080F4DC2:
ldr r1, [r4]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _080F4DD6
.align 2, 0
_080F4DCC: .4byte gUnknown_30030F0
_080F4DD0:
adds r0, r2, 0
bl sub_80F4DE0
_080F4DD6:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80F4D74
thumb_func_start sub_80F4DE0
sub_80F4DE0: @ 80F4DE0
push {r4,r5,lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080F4E18 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
bne _080F4E10
adds r0, r2, 0
bl sub_8077508
bl sub_8003ECC
ldr r4, _080F4E1C @ =gUnknown_203AB48
ldr r0, [r4]
bl sub_8002BC4
str r5, [r4]
ldr r0, _080F4E20 @ =sub_80568FC
bl sub_8000544
_080F4E10:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080F4E18: .4byte gUnknown_2037AB8
_080F4E1C: .4byte gUnknown_203AB48
_080F4E20: .4byte sub_80568FC
thumb_func_end sub_80F4DE0
thumb_func_start sub_80F4E24
sub_80F4E24: @ 80F4E24
push {lr}
bl sub_8006B10
bl sub_8070528
bl sub_80088F0
bl sub_80773BC
bl sub_8087E64
pop {r0}
bx r0
thumb_func_end sub_80F4E24
thumb_func_start sub_80F4E40
sub_80F4E40: @ 80F4E40
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x10
movs r3, 0xC0
lsls r3, 19
movs r4, 0xC0
lsls r4, 9
add r0, sp, 0xC
mov r8, r0
add r2, sp, 0x8
movs r6, 0
ldr r1, _080F4F88 @ =0x040000d4
movs r5, 0x80
lsls r5, 5
ldr r7, _080F4F8C @ =0x81000800
movs r0, 0x81
lsls r0, 24
mov r12, r0
_080F4E66:
strh r6, [r2]
add r0, sp, 0x8
str r0, [r1]
str r3, [r1, 0x4]
str r7, [r1, 0x8]
ldr r0, [r1, 0x8]
adds r3, r5
subs r4, r5
cmp r4, r5
bhi _080F4E66
strh r6, [r2]
add r2, sp, 0x8
str r2, [r1]
str r3, [r1, 0x4]
lsrs r0, r4, 1
mov r2, r12
orrs r0, r2
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r0, 0xE0
lsls r0, 19
movs r3, 0x80
lsls r3, 3
movs r4, 0
str r4, [sp, 0xC]
ldr r2, _080F4F88 @ =0x040000d4
mov r1, r8
str r1, [r2]
str r0, [r2, 0x4]
lsrs r0, r3, 2
movs r1, 0x85
lsls r1, 24
orrs r0, r1
str r0, [r2, 0x8]
ldr r0, [r2, 0x8]
movs r1, 0xA0
lsls r1, 19
add r0, sp, 0x8
strh r4, [r0]
str r0, [r2]
str r1, [r2, 0x4]
lsrs r3, 1
movs r0, 0x81
lsls r0, 24
orrs r3, r0
str r3, [r2, 0x8]
ldr r0, [r2, 0x8]
movs r0, 0
movs r1, 0
bl sub_8000A38
movs r0, 0
bl sub_8001618
ldr r1, _080F4F90 @ =gUnknown_8415A08
movs r0, 0
movs r2, 0x2
bl sub_8001658
movs r0, 0
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0
movs r1, 0
movs r2, 0
bl sub_8001D08
movs r0, 0x1
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0x1
movs r1, 0
movs r2, 0
bl sub_8001D08
movs r0, 0x2
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0x2
movs r1, 0
movs r2, 0
bl sub_8001D08
movs r0, 0x3
movs r1, 0
movs r2, 0
bl sub_8001B90
movs r0, 0x3
movs r1, 0
movs r2, 0
bl sub_8001D08
ldr r0, _080F4F94 @ =gUnknown_8415A10
bl sub_8003B24
bl sub_8002C28
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl sub_8000A38
ldr r0, _080F4F98 @ =gUnknown_203AB48
ldr r1, [r0]
adds r1, 0x4
movs r0, 0x1
bl sub_8001FA0
movs r0, 0
bl sub_80019BC
movs r0, 0x1
bl sub_80019BC
movs r5, 0x1E
str r5, [sp]
movs r4, 0x14
str r4, [sp, 0x4]
movs r0, 0
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_8002454
str r5, [sp]
str r4, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_8002454
add sp, 0x10
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F4F88: .4byte 0x040000d4
_080F4F8C: .4byte 0x81000800
_080F4F90: .4byte gUnknown_8415A08
_080F4F94: .4byte gUnknown_8415A10
_080F4F98: .4byte gUnknown_203AB48
thumb_func_end sub_80F4E40
thumb_func_start sub_80F4F9C
sub_80F4F9C: @ 80F4F9C
push {lr}
sub sp, 0x4
ldr r0, _080F4FB4 @ =gUnknown_203AB48
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x1
beq _080F4FC8
cmp r0, 0x1
bgt _080F4FB8
cmp r0, 0
beq _080F4FC2
b _080F4FF8
.align 2, 0
_080F4FB4: .4byte gUnknown_203AB48
_080F4FB8:
cmp r0, 0x2
beq _080F4FE0
cmp r0, 0x3
beq _080F4FEE
b _080F4FF8
_080F4FC2:
bl sub_80F6808
b _080F5000
_080F4FC8:
ldr r1, _080F4FDC @ =gUnknown_84147C0
movs r0, 0
str r0, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl sub_80F6878
b _080F5000
.align 2, 0
_080F4FDC: .4byte gUnknown_84147C0
_080F4FE0:
bl sub_80F682C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080F5000
b _080F500A
_080F4FEE:
ldr r0, _080F4FFC @ =gUnknown_8415954
movs r1, 0
movs r2, 0x40
bl sub_80703EC
_080F4FF8:
movs r0, 0x1
b _080F500C
.align 2, 0
_080F4FFC: .4byte gUnknown_8415954
_080F5000:
ldr r0, _080F5014 @ =gUnknown_203AB48
ldr r1, [r0]
ldrb r0, [r1, 0x1]
adds r0, 0x1
strb r0, [r1, 0x1]
_080F500A:
movs r0, 0
_080F500C:
add sp, 0x4
pop {r1}
bx r1
.align 2, 0
_080F5014: .4byte gUnknown_203AB48
thumb_func_end sub_80F4F9C
thumb_func_start sub_80F5018
sub_80F5018: @ 80F5018
push {r4-r6,lr}
sub sp, 0xAC
bl sub_813CC90
ldr r0, _080F5040 @ =gUnknown_300500C
ldr r1, [r0]
movs r0, 0
bl sub_813CCAC
bl sub_8088F84
lsls r0, 16
cmp r0, 0
beq _080F5048
ldr r1, _080F5044 @ =gUnknown_841B68F
movs r0, 0x1
bl sub_813CCAC
b _080F5050
.align 2, 0
_080F5040: .4byte gUnknown_300500C
_080F5044: .4byte gUnknown_841B68F
_080F5048:
ldr r1, _080F50E0 @ =gUnknown_841B698
movs r0, 0x1
bl sub_813CCAC
_080F5050:
movs r0, 0
movs r1, 0
bl sub_800445C
ldr r1, _080F50E4 @ =gUnknown_841B60E
add r0, sp, 0xC
bl sub_813CCC8
movs r5, 0x1
negs r5, r5
movs r0, 0x2
add r1, sp, 0xC
adds r2, r5, 0
bl sub_8005ED4
lsrs r2, r0, 1
movs r4, 0x78
subs r2, r4, r2
lsls r2, 24
lsrs r2, 24
ldr r6, _080F50E8 @ =gUnknown_8415A04
str r6, [sp]
str r5, [sp, 0x4]
add r0, sp, 0xC
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x2
movs r3, 0x4
bl sub_812E51C
ldr r1, _080F50EC @ =gUnknown_841B619
add r0, sp, 0xC
bl sub_813CCC8
movs r0, 0x2
add r1, sp, 0xC
adds r2, r5, 0
bl sub_8005ED4
lsrs r0, 1
subs r4, r0
lsls r4, 24
lsrs r4, 24
str r6, [sp]
str r5, [sp, 0x4]
add r0, sp, 0xC
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x2
adds r2, r4, 0
movs r3, 0x1E
bl sub_812E51C
str r6, [sp]
movs r0, 0
str r0, [sp, 0x4]
ldr r0, _080F50F0 @ =gUnknown_841B684
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x2
movs r2, 0x78
movs r3, 0x69
bl sub_812E51C
movs r0, 0
bl sub_8003FA0
add sp, 0xAC
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F50E0: .4byte gUnknown_841B698
_080F50E4: .4byte gUnknown_841B60E
_080F50E8: .4byte gUnknown_8415A04
_080F50EC: .4byte gUnknown_841B619
_080F50F0: .4byte gUnknown_841B684
thumb_func_end sub_80F5018
.align 2, 0 @ Don't pad with nop.
+578
View File
@@ -0,0 +1,578 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8000BFC
sub_8000BFC: @ 8000BFC
push {lr}
ldr r2, _08000C28 @ =gUnknown_30008C8
movs r0, 0x1
strb r0, [r2]
ldr r1, _08000C2C @ =gUnknown_30008C9
movs r0, 0
strb r0, [r1]
movs r3, 0
ldr r0, _08000C30 @ =gUnknown_30000C8
movs r1, 0x7F
_08000C10:
strh r3, [r0, 0x8]
str r3, [r0]
str r3, [r0, 0x4]
adds r0, 0x10
subs r1, 0x1
cmp r1, 0
bge _08000C10
movs r0, 0
strb r0, [r2]
pop {r0}
bx r0
.align 2, 0
_08000C28: .4byte gUnknown_30008C8
_08000C2C: .4byte gUnknown_30008C9
_08000C30: .4byte gUnknown_30000C8
thumb_func_end sub_8000BFC
thumb_func_start sub_8000C34
sub_8000C34: @ 8000C34
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
ldr r0, _08000CB0 @ =gUnknown_30008C8
ldrb r0, [r0]
cmp r0, 0
beq _08000C4A
b _08000E8A
_08000C4A:
movs r0, 0
str r0, [sp, 0x8]
ldr r1, _08000CB4 @ =gUnknown_30000C8
ldr r2, _08000CB8 @ =gUnknown_30008C9
ldrb r0, [r2]
lsls r0, 4
adds r0, r1
ldrh r0, [r0, 0x8]
mov r12, r2
cmp r0, 0
bne _08000C62
b _08000E8A
_08000C62:
mov r8, r1
adds r1, 0x4
mov r10, r1
movs r6, 0x80
lsls r6, 5
ldr r7, _08000CBC @ =0x040000d4
movs r2, 0
mov r9, r2
_08000C72:
mov r3, r12
ldrb r0, [r3]
lsls r5, r0, 4
mov r0, r8
adds r1, r5, r0
ldrh r0, [r1, 0x8]
ldr r2, [sp, 0x8]
adds r0, r2, r0
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x8]
movs r0, 0xA0
lsls r0, 8
ldr r3, [sp, 0x8]
cmp r3, r0
bls _08000C94
b _08000E8A
_08000C94:
ldr r0, _08000CC0 @ =0x04000006
ldrb r0, [r0]
cmp r0, 0xE0
bls _08000C9E
b _08000E8A
_08000C9E:
ldrh r0, [r1, 0xA]
cmp r0, 0x2
beq _08000D14
cmp r0, 0x2
bgt _08000CC4
cmp r0, 0x1
beq _08000CD0
b _08000E34
.align 2, 0
_08000CB0: .4byte gUnknown_30008C8
_08000CB4: .4byte gUnknown_30000C8
_08000CB8: .4byte gUnknown_30008C9
_08000CBC: .4byte 0x040000d4
_08000CC0: .4byte 0x04000006
_08000CC4:
cmp r0, 0x3
beq _08000D80
cmp r0, 0x4
bne _08000CCE
b _08000DCC
_08000CCE:
b _08000E34
_08000CD0:
ldr r3, [r1]
mov r2, r10
adds r0, r5, r2
ldr r2, [r0]
ldrh r1, [r1, 0x8]
cmp r1, r6
bhi _08000CEA
str r3, [r7]
str r2, [r7, 0x4]
lsrs r0, r1, 2
movs r1, 0x84
lsls r1, 24
b _08000DEE
_08000CEA:
ldr r4, _08000D0C @ =0x040000d4
str r3, [r4]
str r2, [r4, 0x4]
ldr r0, _08000D10 @ =0x84000400
str r0, [r4, 0x8]
ldr r0, [r4, 0x8]
adds r3, r6
adds r2, r6
subs r1, r6
cmp r1, r6
bhi _08000CEA
str r3, [r4]
str r2, [r4, 0x4]
lsrs r0, r1, 2
movs r1, 0x84
lsls r1, 24
b _08000DBA
.align 2, 0
_08000D0C: .4byte 0x040000d4
_08000D10: .4byte 0x84000400
_08000D14:
mov r3, r10
adds r0, r5, r3
ldr r4, [r0]
ldrh r1, [r1, 0x8]
cmp r1, r6
bhi _08000D38
mov r0, r8
adds r0, 0xC
adds r0, r5, r0
ldr r0, [r0]
str r0, [sp]
mov r5, sp
str r5, [r7]
str r4, [r7, 0x4]
lsrs r0, r1, 2
movs r1, 0x85
lsls r1, 24
b _08000DEE
_08000D38:
mov r2, r12
ldrb r0, [r2]
lsls r0, 4
mov r5, r8
adds r5, 0xC
adds r0, r5
ldr r0, [r0]
str r0, [sp]
ldr r3, _08000D78 @ =0x040000d4
mov r0, sp
str r0, [r3]
str r4, [r3, 0x4]
ldr r0, _08000D7C @ =0x85000400
str r0, [r3, 0x8]
ldr r0, [r3, 0x8]
adds r4, r6
subs r1, r6
cmp r1, r6
bhi _08000D38
ldrb r0, [r2]
lsls r0, 4
adds r0, r5
ldr r0, [r0]
str r0, [sp]
mov r2, sp
str r2, [r3]
str r4, [r3, 0x4]
lsrs r0, r1, 2
movs r1, 0x85
lsls r1, 24
b _08000E2E
.align 2, 0
_08000D78: .4byte 0x040000d4
_08000D7C: .4byte 0x85000400
_08000D80:
ldr r3, [r1]
mov r2, r10
adds r0, r5, r2
ldr r2, [r0]
ldrh r1, [r1, 0x8]
cmp r1, r6
bhi _08000D9A
str r3, [r7]
str r2, [r7, 0x4]
lsrs r0, r1, 1
movs r1, 0x80
lsls r1, 24
b _08000DEE
_08000D9A:
ldr r4, _08000DC4 @ =0x040000d4
str r3, [r4]
str r2, [r4, 0x4]
ldr r0, _08000DC8 @ =0x80000800
str r0, [r4, 0x8]
ldr r0, [r4, 0x8]
adds r3, r6
adds r2, r6
subs r1, r6
cmp r1, r6
bhi _08000D9A
str r3, [r4]
str r2, [r4, 0x4]
lsrs r0, r1, 1
movs r1, 0x80
lsls r1, 24
_08000DBA:
orrs r0, r1
str r0, [r4, 0x8]
ldr r0, [r4, 0x8]
b _08000E34
.align 2, 0
_08000DC4: .4byte 0x040000d4
_08000DC8: .4byte 0x80000800
_08000DCC:
mov r3, r10
adds r0, r5, r3
ldr r2, [r0]
ldrh r4, [r1, 0x8]
add r1, sp, 0x4
cmp r4, r6
bhi _08000DF6
mov r0, r8
adds r0, 0xC
adds r0, r5, r0
ldr r0, [r0]
strh r0, [r1]
str r1, [r7]
str r2, [r7, 0x4]
lsrs r0, r4, 1
movs r1, 0x81
lsls r1, 24
_08000DEE:
orrs r0, r1
str r0, [r7, 0x8]
ldr r0, [r7, 0x8]
b _08000E34
_08000DF6:
mov r5, r12
ldrb r0, [r5]
lsls r0, 4
ldr r3, _08000E9C @ =gUnknown_30000D4
adds r0, r3
ldr r0, [r0]
strh r0, [r1]
ldr r3, _08000EA0 @ =0x040000d4
str r1, [r3]
str r2, [r3, 0x4]
ldr r0, _08000EA4 @ =0x81000800
str r0, [r3, 0x8]
ldr r0, [r3, 0x8]
adds r2, r6
subs r4, r6
cmp r4, r6
bhi _08000DF6
ldrb r0, [r5]
lsls r0, 4
ldr r5, _08000E9C @ =gUnknown_30000D4
adds r0, r5
ldr r0, [r0]
strh r0, [r1]
str r1, [r3]
str r2, [r3, 0x4]
lsrs r0, r4, 1
movs r1, 0x81
lsls r1, 24
_08000E2E:
orrs r0, r1
str r0, [r3, 0x8]
ldr r0, [r3, 0x8]
_08000E34:
ldr r1, _08000EA8 @ =gUnknown_30000C8
mov r3, r12
ldrb r0, [r3]
lsls r0, 4
adds r0, r1
mov r2, r9
str r2, [r0]
ldrb r0, [r3]
lsls r0, 4
add r0, r10
str r2, [r0]
ldrb r0, [r3]
lsls r0, 4
adds r0, r1
movs r4, 0
strh r2, [r0, 0x8]
ldrb r0, [r3]
lsls r0, 4
adds r0, r1
mov r5, r9
strh r5, [r0, 0xA]
ldrb r0, [r3]
lsls r0, 4
adds r1, 0xC
adds r0, r1
mov r1, r9
str r1, [r0]
ldrb r0, [r3]
adds r0, 0x1
strb r0, [r3]
lsls r0, 24
cmp r0, 0
bge _08000E78
strb r4, [r3]
_08000E78:
mov r2, r12
ldrb r0, [r2]
lsls r0, 4
ldr r3, _08000EA8 @ =gUnknown_30000C8
adds r0, r3
ldrh r0, [r0, 0x8]
cmp r0, 0
beq _08000E8A
b _08000C72
_08000E8A:
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08000E9C: .4byte gUnknown_30000D4
_08000EA0: .4byte 0x040000d4
_08000EA4: .4byte 0x81000800
_08000EA8: .4byte gUnknown_30000C8
thumb_func_end sub_8000C34
thumb_func_start sub_8000EAC
sub_8000EAC: @ 8000EAC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
mov r12, r0
mov r8, r1
lsls r2, 16
lsrs r7, r2, 16
lsls r3, 24
lsrs r4, r3, 24
movs r5, 0
ldr r1, _08000EF8 @ =gUnknown_30008C8
movs r0, 0x1
strb r0, [r1]
ldr r0, _08000EFC @ =gUnknown_30008C9
ldrb r2, [r0]
mov r10, r1
ldr r6, _08000F00 @ =gUnknown_30000C8
mov r9, r6
lsls r0, r2, 4
adds r1, r0, r6
_08000ED8:
lsls r3, r2, 4
ldrh r0, [r1, 0x8]
cmp r0, 0
bne _08000F18
mov r0, r12
str r0, [r1]
mov r0, r9
adds r0, 0x4
adds r0, r3, r0
mov r3, r8
str r3, [r0]
strh r7, [r1, 0x8]
cmp r4, 0x1
bne _08000F04
strh r4, [r1, 0xA]
b _08000F08
.align 2, 0
_08000EF8: .4byte gUnknown_30008C8
_08000EFC: .4byte gUnknown_30008C9
_08000F00: .4byte gUnknown_30000C8
_08000F04:
movs r0, 0x3
strh r0, [r1, 0xA]
_08000F08:
movs r0, 0
ldr r1, _08000F14 @ =gUnknown_30008C8
strb r0, [r1]
lsls r0, r2, 16
asrs r0, 16
b _08000F34
.align 2, 0
_08000F14: .4byte gUnknown_30008C8
_08000F18:
adds r1, 0x10
adds r2, 0x1
cmp r2, 0x7F
ble _08000F24
adds r1, r6, 0
movs r2, 0
_08000F24:
adds r5, 0x1
cmp r5, 0x7F
ble _08000ED8
movs r0, 0
mov r3, r10
strb r0, [r3]
movs r0, 0x1
negs r0, r0
_08000F34:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8000EAC
thumb_func_start sub_8000F44
sub_8000F44: @ 8000F44
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
mov r9, r0
mov r8, r1
lsls r2, 16
lsrs r7, r2, 16
lsls r3, 24
lsrs r5, r3, 24
movs r6, 0
ldr r0, _08000F9C @ =gUnknown_30008C9
ldrb r2, [r0]
ldr r1, _08000FA0 @ =gUnknown_30008C8
movs r0, 0x1
strb r0, [r1]
mov r10, r1
ldr r0, _08000FA4 @ =gUnknown_30000C8
mov r12, r0
mov r4, r12
lsls r0, r2, 4
adds r0, 0x8
adds r1, r0, r4
_08000F74:
lsls r3, r2, 4
ldrh r0, [r1]
cmp r0, 0
bne _08000FBC
adds r0, r4, 0x4
adds r0, r3, r0
mov r6, r8
str r6, [r0]
strh r7, [r1]
strh r5, [r1, 0x2]
adds r0, r4, 0
adds r0, 0xC
adds r0, r3, r0
mov r3, r9
str r3, [r0]
cmp r5, 0x1
bne _08000FA8
movs r0, 0x2
b _08000FAA
.align 2, 0
_08000F9C: .4byte gUnknown_30008C9
_08000FA0: .4byte gUnknown_30008C8
_08000FA4: .4byte gUnknown_30000C8
_08000FA8:
movs r0, 0x4
_08000FAA:
strh r0, [r1, 0x2]
movs r0, 0
ldr r6, _08000FB8 @ =gUnknown_30008C8
strb r0, [r6]
lsls r0, r2, 16
asrs r0, 16
b _08000FDA
.align 2, 0
_08000FB8: .4byte gUnknown_30008C8
_08000FBC:
adds r1, 0x10
adds r2, 0x1
cmp r2, 0x7F
ble _08000FCA
mov r1, r12
adds r1, 0x8
movs r2, 0
_08000FCA:
adds r6, 0x1
cmp r6, 0x7F
ble _08000F74
movs r0, 0
mov r1, r10
strb r0, [r1]
movs r0, 0x1
negs r0, r0
_08000FDA:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8000F44
thumb_func_start sub_8000FE8
sub_8000FE8: @ 8000FE8
push {lr}
movs r2, 0
lsls r0, 16
asrs r1, r0, 16
movs r3, 0x1
negs r3, r3
cmp r1, r3
bne _08001010
ldr r1, _0800100C @ =gUnknown_30000C8
_08000FFA:
ldrh r0, [r1, 0x8]
cmp r0, 0
bne _0800101C
adds r1, 0x10
adds r2, 0x1
cmp r2, 0x7F
ble _08000FFA
_08001008:
movs r0, 0
b _08001020
.align 2, 0
_0800100C: .4byte gUnknown_30000C8
_08001010:
ldr r0, _08001024 @ =gUnknown_30000C8
lsls r1, 4
adds r1, r0
ldrh r0, [r1, 0x8]
cmp r0, 0
beq _08001008
_0800101C:
movs r0, 0x1
negs r0, r0
_08001020:
pop {r1}
bx r1
.align 2, 0
_08001024: .4byte gUnknown_30000C8
thumb_func_end sub_8000FE8
.align 2, 0 @ Don't pad with nop.
+1863
View File
File diff suppressed because it is too large Load Diff
+1820
View File
File diff suppressed because it is too large Load Diff
+867
View File
@@ -0,0 +1,867 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_806E0D0
sub_806E0D0: @ 806E0D0
push {r4,lr}
ldr r4, _0806E108 @ =gUnknown_3005008
ldr r0, [r4]
movs r1, 0xEE
lsls r1, 4
adds r0, r1
movs r2, 0x90
lsls r2, 1
movs r1, 0
bl memset
ldr r0, [r4]
movs r1, 0x80
lsls r1, 5
adds r0, r1
movs r2, 0x80
lsls r2, 2
movs r1, 0
bl memset
ldr r0, _0806E10C @ =gUnknown_20370E0
movs r1, 0
movs r2, 0x10
bl memset
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0806E108: .4byte gUnknown_3005008
_0806E10C: .4byte gUnknown_20370E0
thumb_func_end sub_806E0D0
thumb_func_start sub_806E110
sub_806E110: @ 806E110
push {lr}
ldr r0, _0806E150 @ =gUnknown_3005008
ldr r0, [r0]
movs r1, 0xEE
lsls r1, 4
adds r2, r0, r1
movs r1, 0
str r1, [r2]
movs r1, 0x80
lsls r1, 5
adds r0, r1
movs r1, 0
movs r2, 0x20
bl memset
ldr r0, _0806E154 @ =0x00000803
bl sub_806E6A8
ldr r0, _0806E158 @ =0x00000804
bl sub_806E6A8
ldr r0, _0806E15C @ =0x00000805
bl sub_806E6A8
ldr r0, _0806E160 @ =0x00000807
bl sub_806E6A8
ldr r0, _0806E164 @ =0x00000842
bl sub_806E6A8
pop {r0}
bx r0
.align 2, 0
_0806E150: .4byte gUnknown_3005008
_0806E154: .4byte 0x00000803
_0806E158: .4byte 0x00000804
_0806E15C: .4byte 0x00000805
_0806E160: .4byte 0x00000807
_0806E164: .4byte 0x00000842
thumb_func_end sub_806E110
thumb_func_start sub_806E168
sub_806E168: @ 806E168
push {lr}
ldr r0, _0806E184 @ =0x0000403c
bl sub_806E454
ldr r1, _0806E188 @ =gUnknown_300500C
ldr r2, [r1]
movs r1, 0
strb r1, [r2, 0x1A]
strh r1, [r0]
ldr r0, _0806E18C @ =0x00000838
bl sub_806E6A8
pop {r0}
bx r0
.align 2, 0
_0806E184: .4byte 0x0000403c
_0806E188: .4byte gUnknown_300500C
_0806E18C: .4byte 0x00000838
thumb_func_end sub_806E168
thumb_func_start sub_806E190
sub_806E190: @ 806E190
push {lr}
ldr r0, _0806E1B0 @ =0x0000403c
bl sub_806E454
ldr r1, _0806E1B4 @ =gUnknown_300500C
ldr r2, [r1]
movs r1, 0xDA
strb r1, [r2, 0x1A]
ldr r2, _0806E1B8 @ =0x00000302
adds r1, r2, 0
strh r1, [r0]
ldr r0, _0806E1BC @ =0x00000838
bl sub_806E680
pop {r0}
bx r0
.align 2, 0
_0806E1B0: .4byte 0x0000403c
_0806E1B4: .4byte gUnknown_300500C
_0806E1B8: .4byte 0x00000302
_0806E1BC: .4byte 0x00000838
thumb_func_end sub_806E190
thumb_func_start sub_806E1C0
sub_806E1C0: @ 806E1C0
push {lr}
ldr r0, _0806E1EC @ =gUnknown_300500C
ldr r0, [r0]
ldrb r0, [r0, 0x1A]
cmp r0, 0xDA
bne _0806E1FC
ldr r0, _0806E1F0 @ =0x0000403c
bl sub_806E568
lsls r0, 16
ldr r1, _0806E1F4 @ =0x03020000
cmp r0, r1
bne _0806E1FC
ldr r0, _0806E1F8 @ =0x00000838
bl sub_806E6D0
lsls r0, 24
cmp r0, 0
beq _0806E1FC
movs r0, 0x1
b _0806E1FE
.align 2, 0
_0806E1EC: .4byte gUnknown_300500C
_0806E1F0: .4byte 0x0000403c
_0806E1F4: .4byte 0x03020000
_0806E1F8: .4byte 0x00000838
_0806E1FC:
movs r0, 0
_0806E1FE:
pop {r1}
bx r1
thumb_func_end sub_806E1C0
thumb_func_start sub_806E204
sub_806E204: @ 806E204
push {lr}
ldr r0, _0806E224 @ =0x0000404e
bl sub_806E454
ldr r1, _0806E228 @ =gUnknown_300500C
ldr r2, [r1]
movs r1, 0
strb r1, [r2, 0x1B]
strh r1, [r0]
movs r0, 0x84
lsls r0, 4
bl sub_806E6A8
pop {r0}
bx r0
.align 2, 0
_0806E224: .4byte 0x0000404e
_0806E228: .4byte gUnknown_300500C
thumb_func_end sub_806E204
thumb_func_start sub_806E22C
sub_806E22C: @ 806E22C
push {lr}
ldr r0, _0806E250 @ =0x0000404e
bl sub_806E454
ldr r1, _0806E254 @ =gUnknown_300500C
ldr r2, [r1]
movs r1, 0xB9
strb r1, [r2, 0x1B]
ldr r2, _0806E258 @ =0x00006258
adds r1, r2, 0
strh r1, [r0]
movs r0, 0x84
lsls r0, 4
bl sub_806E680
pop {r0}
bx r0
.align 2, 0
_0806E250: .4byte 0x0000404e
_0806E254: .4byte gUnknown_300500C
_0806E258: .4byte 0x00006258
thumb_func_end sub_806E22C
thumb_func_start sub_806E25C
sub_806E25C: @ 806E25C
push {lr}
ldr r0, _0806E288 @ =gUnknown_300500C
ldr r0, [r0]
ldrb r0, [r0, 0x1B]
cmp r0, 0xB9
bne _0806E294
ldr r0, _0806E28C @ =0x0000404e
bl sub_806E568
lsls r0, 16
ldr r1, _0806E290 @ =0x62580000
cmp r0, r1
bne _0806E294
movs r0, 0x84
lsls r0, 4
bl sub_806E6D0
lsls r0, 24
cmp r0, 0
beq _0806E294
movs r0, 0x1
b _0806E296
.align 2, 0
_0806E288: .4byte gUnknown_300500C
_0806E28C: .4byte 0x0000404e
_0806E290: .4byte 0x62580000
_0806E294:
movs r0, 0
_0806E296:
pop {r1}
bx r1
thumb_func_end sub_806E25C
thumb_func_start sub_806E29C
sub_806E29C: @ 806E29C
push {lr}
ldr r0, _0806E2A8 @ =0x00000839
bl sub_806E6A8
pop {r0}
bx r0
.align 2, 0
_0806E2A8: .4byte 0x00000839
thumb_func_end sub_806E29C
thumb_func_start sub_806E2AC
sub_806E2AC: @ 806E2AC
push {lr}
ldr r0, _0806E2B8 @ =0x00000839
bl sub_806E680
pop {r0}
bx r0
.align 2, 0
_0806E2B8: .4byte 0x00000839
thumb_func_end sub_806E2AC
thumb_func_start sub_806E2BC
sub_806E2BC: @ 806E2BC
push {lr}
ldr r0, _0806E2CC @ =0x00000839
bl sub_806E6D0
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_0806E2CC: .4byte 0x00000839
thumb_func_end sub_806E2BC
thumb_func_start sub_806E2D0
sub_806E2D0: @ 806E2D0
push {lr}
movs r0, 0xF6
lsls r0, 2
bl sub_806E6A8
ldr r0, _0806E340 @ =0x000003d9
bl sub_806E6A8
ldr r0, _0806E344 @ =0x000003da
bl sub_806E6A8
ldr r0, _0806E348 @ =0x000003db
bl sub_806E6A8
movs r0, 0xF7
lsls r0, 2
bl sub_806E6A8
ldr r0, _0806E34C @ =0x000003dd
bl sub_806E6A8
ldr r0, _0806E350 @ =0x000003de
bl sub_806E6A8
ldr r0, _0806E354 @ =0x000003df
bl sub_806E6A8
movs r0, 0xF8
lsls r0, 2
bl sub_806E6A8
ldr r0, _0806E358 @ =0x000003e1
bl sub_806E6A8
ldr r0, _0806E35C @ =0x000003e2
bl sub_806E6A8
ldr r0, _0806E360 @ =0x000003e3
bl sub_806E6A8
movs r0, 0xF9
lsls r0, 2
bl sub_806E6A8
ldr r0, _0806E364 @ =0x000003e5
bl sub_806E6A8
ldr r0, _0806E368 @ =0x000003e6
bl sub_806E6A8
ldr r0, _0806E36C @ =0x000003e7
bl sub_806E6A8
pop {r0}
bx r0
.align 2, 0
_0806E340: .4byte 0x000003d9
_0806E344: .4byte 0x000003da
_0806E348: .4byte 0x000003db
_0806E34C: .4byte 0x000003dd
_0806E350: .4byte 0x000003de
_0806E354: .4byte 0x000003df
_0806E358: .4byte 0x000003e1
_0806E35C: .4byte 0x000003e2
_0806E360: .4byte 0x000003e3
_0806E364: .4byte 0x000003e5
_0806E368: .4byte 0x000003e6
_0806E36C: .4byte 0x000003e7
thumb_func_end sub_806E2D0
thumb_func_start sub_806E370
sub_806E370: @ 806E370
push {lr}
ldr r0, _0806E3C0 @ =0x000040b5
movs r1, 0
bl sub_806E584
ldr r0, _0806E3C4 @ =0x000040b6
movs r1, 0
bl sub_806E584
ldr r0, _0806E3C8 @ =0x000040b7
movs r1, 0
bl sub_806E584
ldr r0, _0806E3CC @ =0x000040b8
movs r1, 0
bl sub_806E584
ldr r0, _0806E3D0 @ =0x000040b9
movs r1, 0
bl sub_806E584
ldr r0, _0806E3D4 @ =0x000040ba
movs r1, 0
bl sub_806E584
ldr r0, _0806E3D8 @ =0x000040bb
movs r1, 0
bl sub_806E584
ldr r0, _0806E3DC @ =0x000040bc
movs r1, 0
bl sub_806E584
ldr r0, _0806E3E0 @ =0x00004024
movs r1, 0
bl sub_806E584
pop {r0}
bx r0
.align 2, 0
_0806E3C0: .4byte 0x000040b5
_0806E3C4: .4byte 0x000040b6
_0806E3C8: .4byte 0x000040b7
_0806E3CC: .4byte 0x000040b8
_0806E3D0: .4byte 0x000040b9
_0806E3D4: .4byte 0x000040ba
_0806E3D8: .4byte 0x000040bb
_0806E3DC: .4byte 0x000040bc
_0806E3E0: .4byte 0x00004024
thumb_func_end sub_806E370
thumb_func_start sub_806E3E4
sub_806E3E4: @ 806E3E4
push {lr}
ldr r0, _0806E3F8 @ =0x00004032
movs r1, 0
bl sub_806E584
ldr r0, _0806E3FC @ =0x00000837
bl sub_806E6A8
pop {r0}
bx r0
.align 2, 0
_0806E3F8: .4byte 0x00004032
_0806E3FC: .4byte 0x00000837
thumb_func_end sub_806E3E4
thumb_func_start sub_806E400
sub_806E400: @ 806E400
push {lr}
ldr r0, _0806E418 @ =0x00004032
movs r1, 0x92
lsls r1, 4
bl sub_806E584
ldr r0, _0806E41C @ =0x00000837
bl sub_806E680
pop {r0}
bx r0
.align 2, 0
_0806E418: .4byte 0x00004032
_0806E41C: .4byte 0x00000837
thumb_func_end sub_806E400
thumb_func_start sub_806E420
sub_806E420: @ 806E420
push {lr}
ldr r0, _0806E444 @ =0x00000837
bl sub_806E6D0
lsls r0, 24
cmp r0, 0
beq _0806E44C
ldr r0, _0806E448 @ =0x00004032
bl sub_806E568
lsls r0, 16
movs r1, 0x92
lsls r1, 20
cmp r0, r1
bne _0806E44C
movs r0, 0x1
b _0806E44E
.align 2, 0
_0806E444: .4byte 0x00000837
_0806E448: .4byte 0x00004032
_0806E44C:
movs r0, 0
_0806E44E:
pop {r1}
bx r1
thumb_func_end sub_806E420
thumb_func_start sub_806E454
sub_806E454: @ 806E454
push {r4-r6,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r6, r4, 0
ldr r0, _0806E468 @ =0x00003fff
cmp r4, r0
bhi _0806E46C
movs r0, 0
b _0806E518
.align 2, 0
_0806E468: .4byte 0x00003fff
_0806E46C:
lsls r0, r4, 16
cmp r0, 0
blt _0806E50C
ldr r0, _0806E484 @ =gUnknown_3005E88
ldrb r0, [r0]
cmp r0, 0x1
beq _0806E488
cmp r0, 0x1
ble _0806E4EE
cmp r0, 0x2
beq _0806E4B8
b _0806E4EE
.align 2, 0
_0806E484: .4byte gUnknown_3005E88
_0806E488:
movs r0, 0
adds r1, r4, 0
bl sub_8112D40
adds r2, r0, 0
cmp r2, 0
beq _0806E4EE
ldr r0, _0806E4B0 @ =gUnknown_3005008
ldr r1, [r0]
ldr r3, _0806E4B4 @ =0xffffc000
adds r0, r4, r3
lsls r0, 1
movs r3, 0x80
lsls r3, 5
adds r1, r3
adds r1, r0
ldrh r0, [r2]
strh r0, [r1]
b _0806E4EE
.align 2, 0
_0806E4B0: .4byte gUnknown_3005008
_0806E4B4: .4byte 0xffffc000
_0806E4B8:
ldr r0, _0806E4FC @ =0xffffc000
adds r5, r4, r0
lsls r0, r5, 16
lsrs r0, 16
movs r1, 0x1
bl sub_806E528
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0806E4EE
ldr r0, _0806E500 @ =gUnknown_300507C
strh r5, [r0]
ldr r0, _0806E504 @ =gUnknown_3005008
ldr r1, [r0]
ldr r2, _0806E4FC @ =0xffffc000
adds r0, r4, r2
lsls r0, 1
movs r3, 0x80
lsls r3, 5
adds r1, r3
adds r1, r0
ldrh r2, [r1]
movs r0, 0
adds r1, r4, 0
bl sub_8112DB0
_0806E4EE:
ldr r0, _0806E504 @ =gUnknown_3005008
lsls r1, r6, 1
ldr r2, _0806E508 @ =0xffff9000
adds r1, r2
ldr r0, [r0]
adds r0, r1
b _0806E518
.align 2, 0
_0806E4FC: .4byte 0xffffc000
_0806E500: .4byte gUnknown_300507C
_0806E504: .4byte gUnknown_3005008
_0806E508: .4byte 0xffff9000
_0806E50C:
ldr r0, _0806E520 @ =gUnknown_815FD0C
ldr r3, _0806E524 @ =0xffff8000
adds r1, r6, r3
lsls r1, 2
adds r1, r0
ldr r0, [r1]
_0806E518:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0806E520: .4byte gUnknown_815FD0C
_0806E524: .4byte 0xffff8000
thumb_func_end sub_806E454
thumb_func_start sub_806E528
sub_806E528: @ 806E528
push {lr}
lsls r0, 16
lsrs r2, r0, 16
adds r0, r2, 0
lsls r1, 24
cmp r1, 0
bne _0806E554
ldr r0, _0806E54C @ =0x0000022f
cmp r2, r0
bls _0806E548
ldr r1, _0806E550 @ =0xfffff800
adds r0, r2, r1
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1F
bhi _0806E562
_0806E548:
movs r0, 0
b _0806E564
.align 2, 0
_0806E54C: .4byte 0x0000022f
_0806E550: .4byte 0xfffff800
_0806E554:
cmp r2, 0x2F
bls _0806E548
subs r0, 0x50
lsls r0, 16
lsrs r0, 16
cmp r0, 0x63
bls _0806E548
_0806E562:
movs r0, 0x1
_0806E564:
pop {r1}
bx r1
thumb_func_end sub_806E528
thumb_func_start sub_806E568
sub_806E568: @ 806E568
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl sub_806E454
cmp r0, 0
beq _0806E57C
ldrh r0, [r0]
b _0806E57E
_0806E57C:
adds r0, r4, 0
_0806E57E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806E568
thumb_func_start sub_806E584
sub_806E584: @ 806E584
push {r4,lr}
lsls r0, 16
lsrs r0, 16
lsls r1, 16
lsrs r4, r1, 16
bl sub_806E454
cmp r0, 0
beq _0806E59C
strh r4, [r0]
movs r0, 0x1
b _0806E59E
_0806E59C:
movs r0, 0
_0806E59E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806E584
thumb_func_start sub_806E5A4
sub_806E5A4: @ 806E5A4
push {lr}
lsls r0, 24
lsrs r0, 8
ldr r1, _0806E5BC @ =0x40100000
adds r0, r1
lsrs r0, 16
bl sub_806E568
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_0806E5BC: .4byte 0x40100000
thumb_func_end sub_806E5A4
thumb_func_start sub_806E5C0
sub_806E5C0: @ 806E5C0
push {r4-r6,lr}
lsls r5, r0, 16
lsrs r4, r5, 16
adds r6, r4, 0
cmp r4, 0
bne _0806E5D0
movs r0, 0
b _0806E66E
_0806E5D0:
ldr r0, _0806E5E8 @ =0x00003fff
cmp r4, r0
bhi _0806E65C
ldr r0, _0806E5EC @ =gUnknown_3005E88
ldrb r0, [r0]
cmp r0, 0x1
beq _0806E5F0
cmp r0, 0x1
ble _0806E644
cmp r0, 0x2
beq _0806E618
b _0806E644
.align 2, 0
_0806E5E8: .4byte 0x00003fff
_0806E5EC: .4byte gUnknown_3005E88
_0806E5F0:
movs r0, 0x1
adds r1, r4, 0
bl sub_8112D40
adds r2, r0, 0
cmp r2, 0
beq _0806E644
ldr r0, _0806E614 @ =gUnknown_3005008
ldr r0, [r0]
lsrs r1, r5, 19
movs r3, 0xEE
lsls r3, 4
adds r0, r3
adds r0, r1
ldrb r1, [r2]
strb r1, [r0]
b _0806E644
.align 2, 0
_0806E614: .4byte gUnknown_3005008
_0806E618:
adds r0, r4, 0
movs r1, 0
bl sub_806E528
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0806E644
ldr r0, _0806E654 @ =gUnknown_300507C
strh r4, [r0]
ldr r0, _0806E658 @ =gUnknown_3005008
ldr r0, [r0]
lsrs r1, r5, 19
movs r2, 0xEE
lsls r2, 4
adds r0, r2
adds r0, r1
ldrb r2, [r0]
movs r0, 0x1
adds r1, r4, 0
bl sub_8112DB0
_0806E644:
ldr r0, _0806E658 @ =gUnknown_3005008
lsrs r1, r6, 3
movs r3, 0xEE
lsls r3, 4
adds r1, r3
ldr r0, [r0]
b _0806E66C
.align 2, 0
_0806E654: .4byte gUnknown_300507C
_0806E658: .4byte gUnknown_3005008
_0806E65C:
ldr r1, _0806E674 @ =0xffffc000
adds r0, r6, r1
cmp r0, 0
bge _0806E668
ldr r2, _0806E678 @ =0xffffc007
adds r0, r6, r2
_0806E668:
asrs r0, 3
ldr r1, _0806E67C @ =gUnknown_20370E0
_0806E66C:
adds r0, r1
_0806E66E:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0806E674: .4byte 0xffffc000
_0806E678: .4byte 0xffffc007
_0806E67C: .4byte gUnknown_20370E0
thumb_func_end sub_806E5C0
thumb_func_start sub_806E680
sub_806E680: @ 806E680
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl sub_806E5C0
adds r2, r0, 0
cmp r2, 0
beq _0806E6A0
movs r0, 0x7
ands r0, r4
movs r1, 0x1
lsls r1, r0
ldrb r0, [r2]
orrs r1, r0
strb r1, [r2]
_0806E6A0:
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806E680
thumb_func_start sub_806E6A8
sub_806E6A8: @ 806E6A8
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl sub_806E5C0
adds r2, r0, 0
cmp r2, 0
beq _0806E6C8
movs r0, 0x7
ands r0, r4
movs r1, 0x1
lsls r1, r0
ldrb r0, [r2]
bics r0, r1
strb r0, [r2]
_0806E6C8:
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806E6A8
thumb_func_start sub_806E6D0
sub_806E6D0: @ 806E6D0
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl sub_806E5C0
cmp r0, 0
beq _0806E6F4
ldrb r0, [r0]
movs r1, 0x7
ands r1, r4
asrs r0, r1
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0806E6F4
movs r0, 0x1
b _0806E6F6
_0806E6F4:
movs r0, 0
_0806E6F6:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806E6D0
thumb_func_start sub_806E6FC
sub_806E6FC: @ 806E6FC
ldr r1, _0806E754 @ =gUnknown_20370B8
movs r0, 0
strh r0, [r1]
ldr r1, _0806E758 @ =gUnknown_20370BA
strh r0, [r1]
ldr r1, _0806E75C @ =gUnknown_20370BC
strh r0, [r1]
ldr r1, _0806E760 @ =gUnknown_20370BE
strh r0, [r1]
ldr r1, _0806E764 @ =gUnknown_20370C0
strh r0, [r1]
ldr r1, _0806E768 @ =gUnknown_20370C2
strh r0, [r1]
ldr r1, _0806E76C @ =gUnknown_20370C4
strh r0, [r1]
ldr r1, _0806E770 @ =gUnknown_20370C6
strh r0, [r1]
ldr r1, _0806E774 @ =gUnknown_20370C8
strh r0, [r1]
ldr r1, _0806E778 @ =gUnknown_20370CA
strh r0, [r1]
ldr r1, _0806E77C @ =gUnknown_20370CC
strh r0, [r1]
ldr r1, _0806E780 @ =gUnknown_20370CE
strh r0, [r1]
ldr r1, _0806E784 @ =gUnknown_20370D4
strh r0, [r1]
ldr r1, _0806E788 @ =gUnknown_20370D0
strh r0, [r1]
ldr r1, _0806E78C @ =gUnknown_203AD30
strh r0, [r1]
ldr r1, _0806E790 @ =gUnknown_20370D2
strh r0, [r1]
ldr r1, _0806E794 @ =gUnknown_20370D6
strh r0, [r1]
ldr r1, _0806E798 @ =gUnknown_20370D8
strh r0, [r1]
ldr r1, _0806E79C @ =gUnknown_20370DA
strh r0, [r1]
ldr r1, _0806E7A0 @ =gUnknown_20370DC
strh r0, [r1]
ldr r1, _0806E7A4 @ =gUnknown_20370DE
strh r0, [r1]
bx lr
.align 2, 0
_0806E754: .4byte gUnknown_20370B8
_0806E758: .4byte gUnknown_20370BA
_0806E75C: .4byte gUnknown_20370BC
_0806E760: .4byte gUnknown_20370BE
_0806E764: .4byte gUnknown_20370C0
_0806E768: .4byte gUnknown_20370C2
_0806E76C: .4byte gUnknown_20370C4
_0806E770: .4byte gUnknown_20370C6
_0806E774: .4byte gUnknown_20370C8
_0806E778: .4byte gUnknown_20370CA
_0806E77C: .4byte gUnknown_20370CC
_0806E780: .4byte gUnknown_20370CE
_0806E784: .4byte gUnknown_20370D4
_0806E788: .4byte gUnknown_20370D0
_0806E78C: .4byte gUnknown_203AD30
_0806E790: .4byte gUnknown_20370D2
_0806E794: .4byte gUnknown_20370D6
_0806E798: .4byte gUnknown_20370D8
_0806E79C: .4byte gUnknown_20370DA
_0806E7A0: .4byte gUnknown_20370DC
_0806E7A4: .4byte gUnknown_20370DE
thumb_func_end sub_806E6FC
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4171
View File
File diff suppressed because it is too large Load Diff
+1299
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+667
View File
@@ -0,0 +1,667 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_805AF14
sub_805AF14: @ 805AF14
push {r4-r7,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r7, r3, 0
ldrh r1, [r5, 0x2]
ldr r0, _0805AF34 @ =0x0000ffff
cmp r1, r0
bne _0805AF38
adds r0, r4, 0
adds r1, r6, 0
adds r2, r7, 0
bl sub_805AF54
b _0805AF4E
.align 2, 0
_0805AF34: .4byte 0x0000ffff
_0805AF38:
ldrh r1, [r5, 0x2]
ldr r0, [r4, 0x4]
adds r0, r1
bl sub_805AF80
ldr r3, [r4, 0x8]
adds r0, r4, 0
adds r1, r6, 0
adds r2, r7, 0
bl sub_805AF94
_0805AF4E:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_805AF14
thumb_func_start sub_805AF54
sub_805AF54: @ 805AF54
push {r4,r5,lr}
adds r5, r1, 0
adds r4, r2, 0
ldrb r0, [r0, 0x3]
cmp r0, 0
bne _0805AF6A
adds r0, r5, 0
adds r1, r4, 0
bl sub_805A8E8
b _0805AF7A
_0805AF6A:
adds r0, r5, 0
adds r1, r4, 0
bl sub_805A8E8
subs r1, r4, 0x1
adds r0, r5, 0
bl sub_805A8E8
_0805AF7A:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_805AF54
thumb_func_start sub_805AF80
sub_805AF80: @ 805AF80
push {lr}
ldr r1, _0805AF90 @ =0x06007f00
movs r2, 0x40
bl CpuFastSet
pop {r0}
bx r0
.align 2, 0
_0805AF90: .4byte 0x06007f00
thumb_func_end sub_805AF80
thumb_func_start sub_805AF94
sub_805AF94: @ 805AF94
push {r4-r6,lr}
sub sp, 0x10
adds r5, r1, 0
adds r6, r2, 0
adds r4, r3, 0
ldrb r0, [r0, 0x3]
cmp r0, 0
bne _0805AFB2
movs r1, 0xFE
lsls r1, 2
mov r0, sp
adds r2, r4, 0
bl sub_805AFE8
b _0805AFD4
_0805AFB2:
movs r1, 0xFE
lsls r1, 2
mov r0, sp
adds r2, r4, 0
bl sub_805AFE8
subs r1, r6, 0x1
adds r0, r5, 0
mov r2, sp
bl sub_805A91C
movs r1, 0xFF
lsls r1, 2
adds r2, r4, 0x4
mov r0, sp
bl sub_805AFE8
_0805AFD4:
adds r0, r5, 0
adds r1, r6, 0
mov r2, sp
bl sub_805A91C
add sp, 0x10
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_805AF94
thumb_func_start sub_805AFE8
sub_805AFE8: @ 805AFE8
push {r4-r6,lr}
adds r6, r0, 0
lsls r1, 16
lsrs r5, r1, 16
movs r4, 0
adds r1, r6, 0
_0805AFF4:
ldrb r0, [r2]
lsls r0, 28
lsrs r3, r0, 16
adds r2, 0x1
adds r0, r5, r4
orrs r3, r0
strh r3, [r1]
adds r1, 0x2
adds r4, 0x1
cmp r4, 0x3
ble _0805AFF4
cmp r4, 0x7
bgt _0805B022
lsls r0, r4, 1
adds r1, r0, r6
_0805B012:
ldrb r0, [r2]
lsls r3, r0, 12
adds r2, 0x1
strh r3, [r1]
adds r1, 0x2
adds r4, 0x1
cmp r4, 0x7
ble _0805B012
_0805B022:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_805AFE8
thumb_func_start sub_805B028
sub_805B028: @ 805B028
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
lsls r2, r4, 2
adds r2, r4
lsls r2, 3
ldr r0, _0805B05C @ =gUnknown_3005098
adds r2, r0
ldrh r1, [r2]
lsls r1, 16
ldrh r0, [r2, 0x2]
orrs r1, r0
ldrh r0, [r2, 0x4]
lsls r0, 16
ldrh r3, [r2, 0x6]
orrs r0, r3
bl sub_805B060
cmp r0, 0
bne _0805B056
adds r0, r4, 0
bl sub_8077508
_0805B056:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0805B05C: .4byte gUnknown_3005098
thumb_func_end sub_805B028
thumb_func_start sub_805B060
sub_805B060: @ 805B060
push {r4-r6,lr}
adds r6, r0, 0
adds r5, r1, 0
adds r4, r2, 0
movs r1, 0xA
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0805B086
movs r2, 0x8
ldrsh r1, [r4, r2]
lsls r1, 2
adds r1, r5, r1
movs r0, 0xC
ldrsh r2, [r4, r0]
movs r0, 0xE
ldrsh r3, [r4, r0]
adds r0, r6, 0
bl sub_805AF14
_0805B086:
movs r2, 0xA
ldrsh r1, [r4, r2]
movs r2, 0x8
ldrsh r0, [r4, r2]
lsls r0, 2
adds r0, r5
ldrb r0, [r0]
cmp r1, r0
bne _0805B0B4
movs r0, 0
strh r0, [r4, 0xA]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldrb r0, [r0]
cmp r0, 0
bne _0805B0BA
movs r0, 0
b _0805B0BC
_0805B0B4:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
_0805B0BA:
movs r0, 0x1
_0805B0BC:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_805B060
thumb_func_start sub_805B0C4
sub_805B0C4: @ 805B0C4
push {lr}
adds r2, r0, 0
lsls r1, 16
lsrs r1, 16
b _0805B0DA
_0805B0CE:
ldrh r0, [r2]
cmp r0, r1
bne _0805B0D8
adds r0, r2, 0
b _0805B0E2
_0805B0D8:
adds r2, 0xC
_0805B0DA:
ldr r0, [r2, 0x4]
cmp r0, 0
bne _0805B0CE
movs r0, 0
_0805B0E2:
pop {r1}
bx r1
thumb_func_end sub_805B0C4
thumb_func_start sub_805B0E8
sub_805B0E8: @ 805B0E8
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r6, r0, 0
adds r5, r1, 0
adds r7, r2, 0
mov r8, r3
ldr r4, _0805B134 @ =sub_805B028
adds r0, r4, 0
bl sub_8077650
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0805B13C
adds r0, r4, 0
movs r1, 0x50
bl sub_807741C
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r2, _0805B138 @ =gUnknown_3005098
adds r1, r2
strh r7, [r1, 0xC]
mov r2, r8
strh r2, [r1, 0xE]
strh r5, [r1, 0x2]
lsrs r2, r5, 16
strh r2, [r1]
strh r6, [r1, 0x6]
lsrs r2, r6, 16
strh r2, [r1, 0x4]
lsls r0, 24
asrs r0, 24
b _0805B140
.align 2, 0
_0805B134: .4byte sub_805B028
_0805B138: .4byte gUnknown_3005098
_0805B13C:
movs r0, 0x1
negs r0, r0
_0805B140:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_805B0E8
thumb_func_start sub_805B14C
sub_805B14C: @ 805B14C
push {lr}
bl sub_805AF54
pop {r0}
bx r0
thumb_func_end sub_805B14C
thumb_func_start sub_805B158
sub_805B158: @ 805B158
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r0, r5, 0
adds r1, r6, 0
bl sub_8058E48
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl sub_805B0C4
adds r4, r0, 0
cmp r0, 0
beq _0805B196
ldrb r0, [r0, 0x3]
ldr r1, _0805B19C @ =gUnknown_835B49C
cmp r0, 0
bne _0805B184
ldr r1, _0805B1A0 @ =gUnknown_835B488
_0805B184:
adds r0, r1, 0
bl sub_805B1A4
adds r1, r0, 0
adds r0, r4, 0
adds r2, r5, 0
adds r3, r6, 0
bl sub_805AF14
_0805B196:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0805B19C: .4byte gUnknown_835B49C
_0805B1A0: .4byte gUnknown_835B488
thumb_func_end sub_805B158
thumb_func_start sub_805B1A4
sub_805B1A4: @ 805B1A4
push {lr}
adds r1, r0, 0
b _0805B1AC
_0805B1AA:
adds r1, 0x4
_0805B1AC:
ldrb r0, [r1]
cmp r0, 0
bne _0805B1AA
subs r0, r1, 0x4
pop {r1}
bx r1
thumb_func_end sub_805B1A4
thumb_func_start sub_805B1B8
sub_805B1B8: @ 805B1B8
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r0, r5, 0
adds r1, r6, 0
bl sub_8058E48
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl sub_805B0C4
adds r2, r0, 0
adds r4, r2, 0
cmp r2, 0
bne _0805B1E2
movs r0, 0x1
negs r0, r0
b _0805B204
_0805B1E2:
ldrb r0, [r2, 0x3]
cmp r0, 0
beq _0805B1F4
ldr r1, _0805B1F0 @ =gUnknown_835B49C
adds r0, r2, 0
b _0805B1F8
.align 2, 0
_0805B1F0: .4byte gUnknown_835B49C
_0805B1F4:
ldr r1, _0805B20C @ =gUnknown_835B488
adds r0, r4, 0
_0805B1F8:
adds r2, r5, 0
adds r3, r6, 0
bl sub_805B0E8
lsls r0, 24
asrs r0, 24
_0805B204:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0805B20C: .4byte gUnknown_835B488
thumb_func_end sub_805B1B8
thumb_func_start sub_805B210
sub_805B210: @ 805B210
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
adds r0, r5, 0
adds r1, r6, 0
bl sub_8058E48
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl sub_805B0C4
adds r2, r0, 0
adds r4, r2, 0
cmp r2, 0
bne _0805B23A
movs r0, 0x1
negs r0, r0
b _0805B25C
_0805B23A:
ldrb r0, [r2, 0x3]
cmp r0, 0
beq _0805B24C
ldr r1, _0805B248 @ =gUnknown_835B4C4
adds r0, r2, 0
b _0805B250
.align 2, 0
_0805B248: .4byte gUnknown_835B4C4
_0805B24C:
ldr r1, _0805B264 @ =gUnknown_835B4B0
adds r0, r4, 0
_0805B250:
adds r2, r5, 0
adds r3, r6, 0
bl sub_805B0E8
lsls r0, 24
asrs r0, 24
_0805B25C:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0805B264: .4byte gUnknown_835B4B0
thumb_func_end sub_805B210
thumb_func_start sub_805B268
sub_805B268: @ 805B268
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r4, 16
asrs r0, 16
lsls r1, r5, 16
asrs r1, 16
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_8059BDC
lsls r0, 24
cmp r0, 0
beq _0805B292
ldr r0, _0805B298 @ =gUnknown_835B5D8
adds r1, r4, 0
adds r2, r5, 0
bl sub_805B158
_0805B292:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0805B298: .4byte gUnknown_835B5D8
thumb_func_end sub_805B268
thumb_func_start sub_805B29C
sub_805B29C: @ 805B29C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r4, 16
asrs r0, 16
lsls r1, r5, 16
asrs r1, 16
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_8059BDC
lsls r0, 24
cmp r0, 0
beq _0805B2C6
ldr r0, _0805B2CC @ =gUnknown_835B5D8
adds r1, r4, 0
adds r2, r5, 0
bl sub_805B14C
_0805B2C6:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0805B2CC: .4byte gUnknown_835B5D8
thumb_func_end sub_805B29C
thumb_func_start sub_805B2D0
sub_805B2D0: @ 805B2D0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r4, 16
asrs r0, 16
lsls r1, r5, 16
asrs r1, 16
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_8059BDC
lsls r0, 24
cmp r0, 0
beq _0805B304
ldr r0, _0805B300 @ =gUnknown_835B5D8
adds r1, r4, 0
adds r2, r5, 0
bl sub_805B210
lsls r0, 24
asrs r0, 24
b _0805B308
.align 2, 0
_0805B300: .4byte gUnknown_835B5D8
_0805B304:
movs r0, 0x1
negs r0, r0
_0805B308:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_805B2D0
thumb_func_start sub_805B310
sub_805B310: @ 805B310
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r4, 16
asrs r0, 16
lsls r1, r5, 16
asrs r1, 16
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_8059BDC
lsls r0, 24
cmp r0, 0
beq _0805B344
ldr r0, _0805B340 @ =gUnknown_835B5D8
adds r1, r4, 0
adds r2, r5, 0
bl sub_805B1B8
lsls r0, 24
asrs r0, 24
b _0805B348
.align 2, 0
_0805B340: .4byte gUnknown_835B5D8
_0805B344:
movs r0, 0x1
negs r0, r0
_0805B348:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_805B310
thumb_func_start sub_805B350
sub_805B350: @ 805B350
push {lr}
ldr r0, _0805B360 @ =sub_805B028
bl sub_8077650
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_0805B360: .4byte sub_805B028
thumb_func_end sub_805B350
thumb_func_start sub_805B364
sub_805B364: @ 805B364
push {lr}
adds r3, r0, 0
adds r2, r1, 0
ldr r0, _0805B37C @ =gUnknown_835B5D8
adds r1, r3, 0
bl sub_805B388
lsls r0, 24
cmp r0, 0
beq _0805B380
movs r0, 0x12
b _0805B382
.align 2, 0
_0805B37C: .4byte gUnknown_835B5D8
_0805B380:
movs r0, 0xF1
_0805B382:
pop {r1}
bx r1
thumb_func_end sub_805B364
thumb_func_start sub_805B388
sub_805B388: @ 805B388
push {r4,lr}
adds r4, r0, 0
adds r0, r1, 0
adds r1, r2, 0
bl sub_8058E48
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl sub_805B0C4
cmp r0, 0
beq _0805B3AC
ldrb r0, [r0, 0x2]
lsls r0, 24
asrs r0, 24
b _0805B3B0
_0805B3AC:
movs r0, 0x1
negs r0, r0
_0805B3B0:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_805B388
.align 2, 0 @ Don't pad with nop.
+9666
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+22062
View File
File diff suppressed because it is too large Load Diff
+306
View File
@@ -0,0 +1,306 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8069348
sub_8069348: @ 8069348
ldr r1, _08069368 @ =gUnknown_203709C
movs r0, 0
strb r0, [r1]
ldr r2, _0806936C @ =gUnknown_3003E50
ldrb r1, [r2]
movs r0, 0x2
negs r0, r0
ands r0, r1
movs r1, 0x3
negs r1, r1
ands r0, r1
subs r1, 0x2
ands r0, r1
strb r0, [r2]
bx lr
.align 2, 0
_08069368: .4byte gUnknown_203709C
_0806936C: .4byte gUnknown_3003E50
thumb_func_end sub_8069348
thumb_func_start sub_8069370
sub_8069370: @ 8069370
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
ldr r1, _08069394 @ =gUnknown_3005090
adds r5, r0, r1
movs r1, 0x8
ldrsh r0, [r5, r1]
cmp r0, 0x1
beq _080693DA
cmp r0, 0x1
bgt _08069398
cmp r0, 0
beq _0806939E
b _08069402
.align 2, 0
_08069394: .4byte gUnknown_3005090
_08069398:
cmp r0, 0x2
beq _080693EA
b _08069402
_0806939E:
ldr r0, _080693BC @ =gUnknown_203ADFA
ldrb r0, [r0]
cmp r0, 0x2
bne _080693C4
ldr r2, _080693C0 @ =gUnknown_3003E50
ldrb r0, [r2]
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
movs r1, 0x80
lsls r1, 2
movs r0, 0
bl sub_814FF98
b _080693E2
.align 2, 0
_080693BC: .4byte gUnknown_203ADFA
_080693C0: .4byte gUnknown_3003E50
_080693C4:
bl sub_8069A38
lsls r0, 24
cmp r0, 0
bne _080693D4
bl sub_80F6E9C
b _080693E2
_080693D4:
bl sub_80F79A4
b _080693E2
_080693DA:
movs r0, 0
movs r1, 0x1
bl sub_80F6EE4
_080693E2:
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
b _08069402
_080693EA:
bl sub_80F6CBC
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
beq _08069402
ldr r1, _08069408 @ =gUnknown_203709C
movs r0, 0
strb r0, [r1]
adds r0, r4, 0
bl sub_8077508
_08069402:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08069408: .4byte gUnknown_203709C
thumb_func_end sub_8069370
thumb_func_start sub_806940C
sub_806940C: @ 806940C
push {lr}
ldr r0, _0806941C @ =sub_8069370
movs r1, 0x50
bl sub_807741C
pop {r0}
bx r0
.align 2, 0
_0806941C: .4byte sub_8069370
thumb_func_end sub_806940C
thumb_func_start sub_8069420
sub_8069420: @ 8069420
push {lr}
ldr r0, _08069438 @ =sub_8069370
bl sub_8077688
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
beq _08069434
bl sub_8077508
_08069434:
pop {r0}
bx r0
.align 2, 0
_08069438: .4byte sub_8069370
thumb_func_end sub_8069420
thumb_func_start sub_806943C
sub_806943C: @ 806943C
push {r4,lr}
adds r1, r0, 0
ldr r4, _08069458 @ =gUnknown_203709C
ldrb r0, [r4]
cmp r0, 0
bne _0806945C
adds r0, r1, 0
bl sub_80694C8
movs r0, 0x2
strb r0, [r4]
movs r0, 0x1
b _0806945E
.align 2, 0
_08069458: .4byte gUnknown_203709C
_0806945C:
movs r0, 0
_0806945E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806943C
thumb_func_start sub_8069464
sub_8069464: @ 8069464
push {lr}
adds r1, r0, 0
ldr r2, _08069480 @ =gUnknown_203709C
ldrb r0, [r2]
cmp r0, 0
bne _08069484
movs r0, 0x3
strb r0, [r2]
adds r0, r1, 0
bl sub_80694C8
movs r0, 0x1
b _08069486
.align 2, 0
_08069480: .4byte gUnknown_203709C
_08069484:
movs r0, 0
_08069486:
pop {r1}
bx r1
thumb_func_end sub_8069464
thumb_func_start sub_806948C
sub_806948C: @ 806948C
push {lr}
ldr r2, _080694A0 @ =gUnknown_203709C
movs r1, 0x3
strb r1, [r2]
bl sub_80694C8
movs r0, 0x1
pop {r1}
bx r1
.align 2, 0
_080694A0: .4byte gUnknown_203709C
thumb_func_end sub_806948C
thumb_func_start sub_80694A4
sub_80694A4: @ 80694A4
push {lr}
ldr r1, _080694BC @ =gUnknown_203709C
ldrb r0, [r1]
cmp r0, 0
bne _080694C0
movs r0, 0x2
strb r0, [r1]
bl sub_80694E4
movs r0, 0x1
b _080694C2
.align 2, 0
_080694BC: .4byte gUnknown_203709C
_080694C0:
movs r0, 0
_080694C2:
pop {r1}
bx r1
thumb_func_end sub_80694A4
thumb_func_start sub_80694C8
sub_80694C8: @ 80694C8
push {lr}
adds r1, r0, 0
ldr r0, _080694E0 @ =gUnknown_2021D18
bl sub_8008FCC
movs r0, 0x1
bl sub_80F6D5C
bl sub_806940C
pop {r0}
bx r0
.align 2, 0
_080694E0: .4byte gUnknown_2021D18
thumb_func_end sub_80694C8
thumb_func_start sub_80694E4
sub_80694E4: @ 80694E4
push {lr}
movs r0, 0x1
bl sub_80F6D5C
bl sub_806940C
pop {r0}
bx r0
thumb_func_end sub_80694E4
thumb_func_start sub_80694F4
sub_80694F4: @ 80694F4
push {lr}
bl sub_8069420
movs r0, 0
movs r1, 0x1
bl sub_80F6F54
ldr r1, _0806950C @ =gUnknown_203709C
movs r0, 0
strb r0, [r1]
pop {r0}
bx r0
.align 2, 0
_0806950C: .4byte gUnknown_203709C
thumb_func_end sub_80694F4
thumb_func_start sub_8069510
sub_8069510: @ 8069510
ldr r0, _08069518 @ =gUnknown_203709C
ldrb r0, [r0]
bx lr
.align 2, 0
_08069518: .4byte gUnknown_203709C
thumb_func_end sub_8069510
thumb_func_start sub_806951C
sub_806951C: @ 806951C
push {lr}
ldr r0, _0806952C @ =gUnknown_203709C
ldrb r0, [r0]
cmp r0, 0
beq _08069530
movs r0, 0
b _08069532
.align 2, 0
_0806952C: .4byte gUnknown_203709C
_08069530:
movs r0, 0x1
_08069532:
pop {r1}
bx r1
thumb_func_end sub_806951C
thumb_func_start sub_8069538
sub_8069538: @ 8069538
push {lr}
bl sub_8069420
movs r0, 0
movs r1, 0x1
bl sub_80F6F1C
ldr r1, _08069550 @ =gUnknown_203709C
movs r0, 0
strb r0, [r1]
pop {r0}
bx r0
.align 2, 0
_08069550: .4byte gUnknown_203709C
thumb_func_end sub_8069538
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
+316
View File
@@ -0,0 +1,316 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80A0460
sub_80A0460: @ 80A0460
push {lr}
movs r1, 0x41
bl sub_803FBE8
lsls r0, 16
lsrs r1, r0, 16
cmp r1, 0
beq _080A0478
movs r0, 0xCE
lsls r0, 1
cmp r1, r0
bne _080A047C
_080A0478:
movs r0, 0
b _080A047E
_080A047C:
movs r0, 0x1
_080A047E:
pop {r1}
bx r1
thumb_func_end sub_80A0460
thumb_func_start sub_80A0484
sub_80A0484: @ 80A0484
push {r4,r5,lr}
ldr r4, _080A04A4 @ =gUnknown_2024284
movs r5, 0
_080A048A:
adds r0, r4, 0
bl sub_80A0460
cmp r0, 0
beq _080A04A8
adds r0, r4, 0
movs r1, 0x39
bl sub_803FBE8
cmp r0, 0
beq _080A04A8
movs r0, 0
b _080A04B2
.align 2, 0
_080A04A4: .4byte gUnknown_2024284
_080A04A8:
adds r5, 0x1
adds r4, 0x64
cmp r5, 0x5
ble _080A048A
movs r0, 0x1
_080A04B2:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80A0484
thumb_func_start sub_80A04B8
sub_80A04B8: @ 80A04B8
push {r4,r5,lr}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
adds r4, r0, 0
muls r4, r1
ldr r0, _080A04FC @ =gUnknown_2024284
adds r4, r0
movs r0, 0
str r0, [sp]
adds r0, r4, 0
movs r1, 0x8
bl sub_80436F8
adds r0, r4, 0
movs r1, 0x37
mov r2, sp
bl sub_804037C
ldr r5, _080A0500 @ =gUnknown_2021CD0
adds r0, r4, 0
movs r1, 0x2
adds r2, r5, 0
bl sub_803FBE8
adds r0, r5, 0
bl sub_8008D28
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080A04FC: .4byte gUnknown_2024284
_080A0500: .4byte gUnknown_2021CD0
thumb_func_end sub_80A04B8
thumb_func_start sub_80A0504
sub_80A0504: @ 80A0504
push {r4,lr}
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r1, r0
ldr r0, _080A0540 @ =gUnknown_2024284
adds r4, r1, r0
adds r0, r4, 0
bl sub_80A0460
cmp r0, 0
beq _080A0544
adds r0, r4, 0
movs r1, 0x39
bl sub_803FBE8
cmp r0, 0
bne _080A0544
adds r0, r4, 0
movs r1, 0x37
bl sub_803FBE8
bl sub_812085C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080A0544
movs r0, 0x1
b _080A0546
.align 2, 0
_080A0540: .4byte gUnknown_2024284
_080A0544:
movs r0, 0
_080A0546:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80A0504
thumb_func_start sub_80A054C
sub_80A054C: @ 80A054C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _080A0570 @ =gUnknown_3005098
adds r4, r0, r1
movs r1, 0
ldrsh r0, [r4, r1]
cmp r0, 0x1
beq _080A05A6
cmp r0, 0x1
bgt _080A0574
cmp r0, 0
beq _080A057A
b _080A05F6
.align 2, 0
_080A0570: .4byte gUnknown_3005098
_080A0574:
cmp r0, 0x2
beq _080A05B8
b _080A05F6
_080A057A:
ldrh r1, [r4, 0x2]
movs r2, 0x2
ldrsh r0, [r4, r2]
cmp r0, 0x5
bgt _080A05A0
_080A0584:
lsls r0, r1, 24
lsrs r0, 24
bl sub_80A0504
cmp r0, 0
bne _080A05D0
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
adds r1, r0, 0
lsls r0, 16
asrs r0, 16
cmp r0, 0x5
ble _080A0584
_080A05A0:
movs r0, 0x2
strh r0, [r4]
b _080A05F6
_080A05A6:
bl sub_806951C
lsls r0, 24
cmp r0, 0
beq _080A05F6
ldrh r0, [r4]
subs r0, 0x1
strh r0, [r4]
b _080A05F6
_080A05B8:
bl sub_80A0484
adds r1, r0, 0
cmp r1, 0
beq _080A05E8
ldr r1, _080A05CC @ =gUnknown_20370D0
movs r0, 0x1
strh r0, [r1]
b _080A05EC
.align 2, 0
_080A05CC: .4byte gUnknown_20370D0
_080A05D0:
ldrb r0, [r4, 0x2]
bl sub_80A04B8
ldr r0, _080A05E4 @ =gUnknown_81A5476
bl sub_806943C
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
b _080A05F6
.align 2, 0
_080A05E4: .4byte gUnknown_81A5476
_080A05E8:
ldr r0, _080A05FC @ =gUnknown_20370D0
strh r1, [r0]
_080A05EC:
bl sub_8069B34
adds r0, r5, 0
bl sub_8077508
_080A05F6:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080A05FC: .4byte gUnknown_20370D0
thumb_func_end sub_80A054C
thumb_func_start sub_80A0600
sub_80A0600: @ 80A0600
push {lr}
ldr r0, _080A0614 @ =sub_80A054C
movs r1, 0x50
bl sub_807741C
bl sub_8069B28
pop {r0}
bx r0
.align 2, 0
_080A0614: .4byte sub_80A054C
thumb_func_end sub_80A0600
thumb_func_start sub_80A0618
sub_80A0618: @ 80A0618
push {r4-r7,lr}
sub sp, 0x4
ldr r4, _080A0684 @ =gUnknown_2024284
movs r7, 0
movs r6, 0
movs r5, 0x5
_080A0624:
adds r0, r4, 0
movs r1, 0x5
bl sub_803FBE8
cmp r0, 0
beq _080A0668
adds r0, r4, 0
movs r1, 0x37
bl sub_803FBE8
bl sub_812085C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080A0668
adds r0, r4, 0
movs r1, 0x39
bl sub_803FBE8
str r0, [sp]
cmp r0, 0
beq _080A065A
subs r0, 0x1
str r0, [sp]
cmp r0, 0
bne _080A065C
_080A065A:
adds r6, 0x1
_080A065C:
adds r0, r4, 0
movs r1, 0x39
mov r2, sp
bl sub_804037C
adds r7, 0x1
_080A0668:
adds r4, 0x64
subs r5, 0x1
cmp r5, 0
bge _080A0624
cmp r6, 0
bne _080A0678
cmp r7, 0
beq _080A067C
_080A0678:
bl sub_80A0E48
_080A067C:
cmp r6, 0
beq _080A0688
movs r0, 0x2
b _080A0692
.align 2, 0
_080A0684: .4byte gUnknown_2024284
_080A0688:
cmp r7, 0
bne _080A0690
movs r0, 0
b _080A0692
_080A0690:
movs r0, 0x1
_080A0692:
add sp, 0x4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80A0618
.align 2, 0 @ Don't pad with nop.
File diff suppressed because it is too large Load Diff
+39
View File
@@ -0,0 +1,39 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80A0E78
sub_80A0E78: @ 80A0E78
movs r0, 0
bx lr
thumb_func_end sub_80A0E78
thumb_func_start nullsub_57
nullsub_57: @ 80A0E7C
bx lr
thumb_func_end nullsub_57
thumb_func_start nullsub_58
nullsub_58: @ 80A0E80
bx lr
thumb_func_end nullsub_58
thumb_func_start nullsub_59
nullsub_59: @ 80A0E84
bx lr
thumb_func_end nullsub_59
thumb_func_start nullsub_60
nullsub_60: @ 80A0E88
bx lr
thumb_func_end nullsub_60
thumb_func_start nullsub_61
nullsub_61: @ 80A0E8C
bx lr
thumb_func_end nullsub_61
.align 2, 0 @ Don't pad with nop.
+5728
View File
File diff suppressed because it is too large Load Diff
+697
View File
@@ -0,0 +1,697 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_806E810
sub_806E810: @ 806E810
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _0806E834 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
movs r2, 0x8
ldrsh r1, [r1, r2]
ldr r2, _0806E838 @ =gUnknown_83A7310
lsls r1, 2
adds r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {r0}
bx r0
.align 2, 0
_0806E834: .4byte gUnknown_3005090
_0806E838: .4byte gUnknown_83A7310
thumb_func_end sub_806E810
thumb_func_start sub_806E83C
sub_806E83C: @ 806E83C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0806E874 @ =gUnknown_3005098
adds r4, r1, r0
bl sub_8069958
lsls r0, 24
cmp r0, 0
bne _0806E86C
ldr r0, _0806E878 @ =gUnknown_203ADFA
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bls _0806E86C
adds r0, r4, 0x2
adds r1, r4, 0x4
bl sub_8056078
_0806E86C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0806E874: .4byte gUnknown_3005098
_0806E878: .4byte gUnknown_203ADFA
thumb_func_end sub_806E83C
thumb_func_start sub_806E87C
sub_806E87C: @ 806E87C
push {r4,r5,lr}
ldr r5, _0806E8C4 @ =sub_806E810
adds r0, r5, 0
bl sub_8077650
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
bne _0806E8A6
adds r0, r5, 0
movs r1, 0x50
bl sub_807741C
lsls r0, 24
lsrs r0, 24
ldr r2, _0806E8C8 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r4, [r1, 0x8]
_0806E8A6:
ldr r4, _0806E8CC @ =sub_806E83C
adds r0, r4, 0
bl sub_8077650
lsls r0, 24
cmp r0, 0
bne _0806E8BC
adds r0, r4, 0
movs r1, 0x50
bl sub_807741C
_0806E8BC:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0806E8C4: .4byte sub_806E810
_0806E8C8: .4byte gUnknown_3005090
_0806E8CC: .4byte sub_806E83C
thumb_func_end sub_806E87C
thumb_func_start sub_806E8D0
sub_806E8D0: @ 806E8D0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _0806E908 @ =sub_806E810
bl sub_8077688
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0xFF
beq _0806E912
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
ldr r1, _0806E90C @ =gUnknown_3005098
adds r1, r0, r1
movs r2, 0
adds r0, r1, 0
adds r0, 0x1E
_0806E8F4:
strh r2, [r0]
subs r0, 0x2
cmp r0, r1
bge _0806E8F4
cmp r4, 0x7
bls _0806E910
movs r0, 0
strh r0, [r1]
b _0806E912
.align 2, 0
_0806E908: .4byte sub_806E810
_0806E90C: .4byte gUnknown_3005098
_0806E910:
strh r4, [r1]
_0806E912:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_806E8D0
thumb_func_start sub_806E918
sub_806E918: @ 806E918
push {lr}
ldr r0, _0806E948 @ =sub_806E810
bl sub_8077688
lsls r0, 24
lsrs r1, r0, 24
ldr r0, _0806E94C @ =sub_806E83C
bl sub_8077688
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0xFF
beq _0806E942
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
ldr r1, _0806E950 @ =gUnknown_3005098
adds r0, r1
movs r1, 0
strh r1, [r0, 0x2]
strh r1, [r0, 0x4]
_0806E942:
pop {r0}
bx r0
.align 2, 0
_0806E948: .4byte sub_806E810
_0806E94C: .4byte sub_806E83C
_0806E950: .4byte gUnknown_3005098
thumb_func_end sub_806E918
thumb_func_start nullsub_40
nullsub_40: @ 806E954
bx lr
thumb_func_end nullsub_40
thumb_func_start sub_806E958
sub_806E958: @ 806E958
push {r4,r5,lr}
movs r3, 0
ldr r4, _0806E988 @ =gUnknown_83A7330
lsls r0, 16
asrs r5, r0, 16
lsls r1, 16
asrs r1, 16
_0806E966:
lsls r2, r3, 1
adds r0, r2, r4
ldrb r0, [r0]
adds r0, 0x7
cmp r0, r5
bne _0806E98C
adds r0, r4, 0x1
adds r0, r2, r0
ldrb r0, [r0]
adds r0, 0x7
cmp r0, r1
bne _0806E98C
adds r0, r3, 0x1
bl sub_806E680
b _0806E996
.align 2, 0
_0806E988: .4byte gUnknown_83A7330
_0806E98C:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x8
bls _0806E966
_0806E996:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_806E958
thumb_func_start sub_806E99C
sub_806E99C: @ 806E99C
push {r4-r7,lr}
movs r4, 0
ldr r6, _0806E9D8 @ =gUnknown_83A7330
adds r7, r6, 0x1
_0806E9A4:
adds r5, r4, 0x1
adds r0, r5, 0
bl sub_806E6D0
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0806E9C8
lsls r1, r4, 1
adds r0, r1, r6
ldrb r0, [r0]
adds r0, 0x7
adds r1, r7
ldrb r1, [r1]
adds r1, 0x7
ldr r2, _0806E9DC @ =0x0000035a
bl sub_8058FA4
_0806E9C8:
lsls r0, r5, 24
lsrs r4, r0, 24
cmp r4, 0x8
bls _0806E9A4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0806E9D8: .4byte gUnknown_83A7330
_0806E9DC: .4byte 0x0000035a
thumb_func_end sub_806E99C
thumb_func_start sub_806E9E0
sub_806E9E0: @ 806E9E0
push {r4-r6,lr}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0806EA04 @ =gUnknown_3005098
adds r5, r1, r0
movs r1, 0x2
ldrsh r0, [r5, r1]
cmp r0, 0x1
beq _0806EA2A
cmp r0, 0x1
bgt _0806EA08
cmp r0, 0
beq _0806EA12
b _0806EB42
.align 2, 0
_0806EA04: .4byte gUnknown_3005098
_0806EA08:
cmp r0, 0x2
beq _0806EAB0
cmp r0, 0x3
beq _0806EAF4
b _0806EB42
_0806EA12:
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl sub_805C538
mov r0, sp
ldrh r0, [r0]
strh r0, [r5, 0x4]
ldrh r0, [r4]
strh r0, [r5, 0x6]
b _0806EB3E
_0806EA2A:
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl sub_805C538
mov r0, sp
ldrh r2, [r0]
movs r3, 0
ldrsh r1, [r0, r3]
movs r3, 0x4
ldrsh r0, [r5, r3]
cmp r1, r0
bne _0806EA52
movs r0, 0
ldrsh r1, [r4, r0]
movs r3, 0x6
ldrsh r0, [r5, r3]
cmp r1, r0
beq _0806EB42
_0806EA52:
strh r2, [r5, 0x4]
ldrh r0, [r4]
strh r0, [r5, 0x6]
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_8058F78
lsls r0, 24
lsrs r6, r0, 24
adds r0, r6, 0
bl sub_8059FF4
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0806EA8E
mov r0, sp
movs r3, 0
ldrsh r0, [r0, r3]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_806E958
movs r0, 0x4
strh r0, [r5, 0xC]
movs r0, 0x2
b _0806EAA2
_0806EA8E:
adds r0, r6, 0
bl sub_805A008
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0806EB42
movs r0, 0x4
strh r0, [r5, 0xC]
movs r0, 0x3
_0806EAA2:
strh r0, [r5, 0x2]
mov r0, sp
ldrh r0, [r0]
strh r0, [r5, 0x8]
ldrh r0, [r4]
strh r0, [r5, 0xA]
b _0806EB42
_0806EAB0:
ldrh r1, [r5, 0xC]
movs r3, 0xC
ldrsh r0, [r5, r3]
cmp r0, 0
bne _0806EAFE
mov r1, sp
ldrh r0, [r5, 0x8]
strh r0, [r1]
mov r4, sp
adds r4, 0x2
ldrh r0, [r5, 0xA]
strh r0, [r4]
movs r0, 0x24
bl sub_80722CC
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
ldr r2, _0806EAF0 @ =0x0000035a
bl sub_8058FA4
mov r0, sp
movs r3, 0
ldrsh r0, [r0, r3]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_805A8E8
b _0806EB3E
.align 2, 0
_0806EAF0: .4byte 0x0000035a
_0806EAF4:
ldrh r1, [r5, 0xC]
movs r3, 0xC
ldrsh r0, [r5, r3]
cmp r0, 0
beq _0806EB04
_0806EAFE:
subs r0, r1, 0x1
strh r0, [r5, 0xC]
b _0806EB42
_0806EB04:
mov r1, sp
ldrh r0, [r5, 0x8]
strh r0, [r1]
mov r4, sp
adds r4, 0x2
ldrh r0, [r5, 0xA]
strh r0, [r4]
movs r0, 0x23
bl sub_80722CC
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
ldr r2, _0806EB4C @ =0x0000035b
bl sub_8058FA4
mov r0, sp
movs r3, 0
ldrsh r0, [r0, r3]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_805A8E8
ldr r0, _0806EB50 @ =0x00004001
movs r1, 0x1
bl sub_806E584
_0806EB3E:
movs r0, 0x1
strh r0, [r5, 0x2]
_0806EB42:
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0806EB4C: .4byte 0x0000035b
_0806EB50: .4byte 0x00004001
thumb_func_end sub_806E9E0
thumb_func_start sub_806EB54
sub_806EB54: @ 806EB54
push {r4,r5,lr}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0806EBD8 @ =gUnknown_3005098
adds r5, r1, r0
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl sub_805C538
mov r0, sp
ldrh r2, [r0]
movs r3, 0
ldrsh r1, [r0, r3]
movs r3, 0x2
ldrsh r0, [r5, r3]
cmp r1, r0
bne _0806EB8E
movs r0, 0
ldrsh r1, [r4, r0]
movs r3, 0x4
ldrsh r0, [r5, r3]
cmp r1, r0
beq _0806EBF6
_0806EB8E:
strh r2, [r5, 0x2]
ldrh r0, [r4]
strh r0, [r5, 0x4]
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_8058F78
lsls r0, 24
lsrs r0, 24
bl sub_8059F50
lsls r0, 24
cmp r0, 0
beq _0806EBF6
mov r0, sp
movs r3, 0
ldrsh r0, [r0, r3]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_8058E48
ldr r1, _0806EBDC @ =0x0000020a
cmp r0, r1
bne _0806EBE4
mov r0, sp
movs r3, 0
ldrsh r0, [r0, r3]
movs r2, 0
ldrsh r1, [r4, r2]
ldr r2, _0806EBE0 @ =0x00000212
movs r3, 0x4
bl sub_80DC23C
b _0806EBF6
.align 2, 0
_0806EBD8: .4byte gUnknown_3005098
_0806EBDC: .4byte 0x0000020a
_0806EBE0: .4byte 0x00000212
_0806EBE4:
mov r0, sp
movs r3, 0
ldrsh r0, [r0, r3]
movs r2, 0
ldrsh r1, [r4, r2]
ldr r2, _0806EC00 @ =0x00000206
movs r3, 0x4
bl sub_80DC23C
_0806EBF6:
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0806EC00: .4byte 0x00000206
thumb_func_end sub_806EB54
thumb_func_start sub_806EC04
sub_806EC04: @ 806EC04
push {r4,r5,lr}
lsls r0, 16
asrs r5, r0, 16
lsls r1, 16
asrs r4, r1, 16
adds r0, r5, 0
adds r1, r4, 0
bl sub_8058E48
ldr r1, _0806EC38 @ =0x0000022f
ldr r2, _0806EC3C @ =0x00000237
cmp r0, r1
bne _0806EC20
subs r2, 0x31
_0806EC20:
adds r0, r5, 0
adds r1, r4, 0
bl sub_8058FA4
adds r0, r5, 0
adds r1, r4, 0
bl sub_805A8E8
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0806EC38: .4byte 0x0000022f
_0806EC3C: .4byte 0x00000237
thumb_func_end sub_806EC04
thumb_func_start sub_806EC40
sub_806EC40: @ 806EC40
push {r4-r7,lr}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _0806ED10 @ =gUnknown_3005098
adds r5, r1, r0
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl sub_805C538
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r4, r2]
bl sub_8058F78
lsls r0, 16
lsrs r7, r0, 16
ldrh r1, [r5, 0x8]
movs r3, 0x8
ldrsh r0, [r5, r3]
adds r6, r4, 0
cmp r0, 0
beq _0806EC92
subs r0, r1, 0x1
strh r0, [r5, 0x8]
lsls r0, 16
cmp r0, 0
bne _0806EC92
movs r1, 0xA
ldrsh r0, [r5, r1]
movs r2, 0xC
ldrsh r1, [r5, r2]
bl sub_806EC04
_0806EC92:
ldrh r1, [r5, 0xE]
movs r3, 0xE
ldrsh r0, [r5, r3]
cmp r0, 0
beq _0806ECB2
subs r0, r1, 0x1
strh r0, [r5, 0xE]
lsls r0, 16
cmp r0, 0
bne _0806ECB2
movs r1, 0x10
ldrsh r0, [r5, r1]
movs r2, 0x12
ldrsh r1, [r5, r2]
bl sub_806EC04
_0806ECB2:
mov r0, sp
ldrh r2, [r0]
movs r3, 0
ldrsh r1, [r0, r3]
movs r3, 0x4
ldrsh r0, [r5, r3]
cmp r1, r0
bne _0806ECCE
movs r0, 0
ldrsh r1, [r6, r0]
movs r3, 0x6
ldrsh r0, [r5, r3]
cmp r1, r0
beq _0806ED2E
_0806ECCE:
strh r2, [r5, 0x4]
adds r4, r6, 0
ldrh r0, [r4]
strh r0, [r5, 0x6]
lsls r0, r7, 24
lsrs r0, 24
bl sub_805A1D8
lsls r0, 24
cmp r0, 0
beq _0806ED2E
bl sub_80BD674
lsls r0, 16
asrs r0, 16
cmp r0, 0x4
beq _0806ECF8
ldr r0, _0806ED14 @ =0x00004030
movs r1, 0
bl sub_806E584
_0806ECF8:
movs r1, 0x8
ldrsh r0, [r5, r1]
cmp r0, 0
bne _0806ED18
movs r0, 0x3
strh r0, [r5, 0x8]
mov r0, sp
ldrh r0, [r0]
strh r0, [r5, 0xA]
ldrh r0, [r4]
strh r0, [r5, 0xC]
b _0806ED2E
.align 2, 0
_0806ED10: .4byte gUnknown_3005098
_0806ED14: .4byte 0x00004030
_0806ED18:
movs r2, 0xE
ldrsh r0, [r5, r2]
cmp r0, 0
bne _0806ED2E
movs r0, 0x3
strh r0, [r5, 0xE]
mov r0, sp
ldrh r0, [r0]
strh r0, [r5, 0x10]
ldrh r0, [r6]
strh r0, [r5, 0x12]
_0806ED2E:
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_806EC40
thumb_func_start sub_806ED38
sub_806ED38: @ 806ED38
push {lr}
ldr r0, _0806ED4C @ =0x00000829
bl sub_806E680
ldr r0, _0806ED50 @ =0x00000828
bl sub_806E680
pop {r0}
bx r0
.align 2, 0
_0806ED4C: .4byte 0x00000829
_0806ED50: .4byte 0x00000828
thumb_func_end sub_806ED38
.align 2, 0 @ Don't pad with nop.
+3024
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2400
View File
File diff suppressed because it is too large Load Diff
+13
View File
@@ -0,0 +1,13 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start nullsub_56
nullsub_56: @ 80A0E74
bx lr
thumb_func_end nullsub_56
.align 2, 0 @ Don't pad with nop.
+535
View File
@@ -0,0 +1,535 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8097874
sub_8097874: @ 8097874
push {lr}
lsls r0, 16
asrs r0, 16
lsls r1, 16
asrs r1, 16
movs r2, 0x1
bl sub_8058F48
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl sub_805A2BC
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
thumb_func_end sub_8097874
thumb_func_start sub_8097898
sub_8097898: @ 8097898
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x4
ldr r4, _080978CC @ =gUnknown_2039874
movs r0, 0
strb r0, [r4]
bl sub_80CCD84
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080978E0
movs r0, 0x5F
bl sub_80C97A8
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08097904
ldr r1, _080978D0 @ =gUnknown_3005024
ldr r0, _080978D4 @ =sub_81248B0
str r0, [r1]
ldr r1, _080978D8 @ =gUnknown_203B0C4
ldr r0, _080978DC @ =sub_80979D0
b _080978EC
.align 2, 0
_080978CC: .4byte gUnknown_2039874
_080978D0: .4byte gUnknown_3005024
_080978D4: .4byte sub_81248B0
_080978D8: .4byte gUnknown_203B0C4
_080978DC: .4byte sub_80979D0
_080978E0:
strb r0, [r4]
_080978E2:
ldr r1, _080978F4 @ =gUnknown_3005024
ldr r0, _080978F8 @ =sub_81248B0
str r0, [r1]
ldr r1, _080978FC @ =gUnknown_203B0C4
ldr r0, _08097900 @ =sub_8097984
_080978EC:
str r0, [r1]
movs r0, 0x1
b _08097970
.align 2, 0
_080978F4: .4byte gUnknown_3005024
_080978F8: .4byte sub_81248B0
_080978FC: .4byte gUnknown_203B0C4
_08097900: .4byte sub_8097984
_08097904:
ldr r4, _0809797C @ =gUnknown_2039A04
adds r1, r4, 0x2
adds r0, r4, 0
bl sub_805C538
movs r7, 0
adds r2, r4, 0
ldr r0, _08097980 @ =0x0000ffff
mov r8, r0
_08097916:
mov r1, r8
adds r0, r1, r7
ldrh r1, [r2, 0x2]
adds r0, r1
movs r6, 0
lsls r0, 16
asrs r5, r0, 16
_08097924:
mov r1, r8
adds r0, r1, r6
ldrh r1, [r2]
adds r0, r1
lsls r0, 16
asrs r4, r0, 16
adds r0, r4, 0
adds r1, r5, 0
str r2, [sp]
bl sub_8058D44
lsls r0, 24
lsrs r0, 24
ldr r2, [sp]
movs r1, 0x4
ldrsb r1, [r2, r1]
cmp r0, r1
bne _0809795A
adds r0, r4, 0
adds r1, r5, 0
bl sub_8097874
lsls r0, 24
lsrs r0, 24
ldr r2, [sp]
cmp r0, 0x1
beq _080978E2
_0809795A:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x2
bls _08097924
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x2
bls _08097916
movs r0, 0
_08097970:
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0809797C: .4byte gUnknown_2039A04
_08097980: .4byte 0x0000ffff
thumb_func_end sub_8097898
thumb_func_start sub_8097984
sub_8097984: @ 8097984
push {lr}
movs r0, 0x1
bl sub_8083444
bl sub_811FB0C
ldr r1, _0809799C @ =gUnknown_20386E0
lsls r0, 24
lsrs r0, 24
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_0809799C: .4byte gUnknown_20386E0
thumb_func_end sub_8097984
thumb_func_start sub_80979A0
sub_80979A0: @ 80979A0
push {lr}
bl sub_80C97FC
lsls r0, 24
lsrs r0, 24
ldr r2, _080979C8 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, _080979CC @ =sub_8097A20
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x12
bl sub_8054E90
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_080979C8: .4byte gUnknown_3005090
_080979CC: .4byte sub_8097A20
thumb_func_end sub_80979A0
thumb_func_start sub_80979D0
sub_80979D0: @ 80979D0
push {lr}
bl sub_811FB0C
ldr r1, _080979E8 @ =gUnknown_20386E0
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r0, _080979EC @ =gUnknown_81BDF6B
bl sub_8069AE4
pop {r0}
bx r0
.align 2, 0
_080979E8: .4byte gUnknown_20386E0
_080979EC: .4byte gUnknown_81BDF6B
thumb_func_end sub_80979D0
thumb_func_start sub_80979F0
sub_80979F0: @ 80979F0
push {lr}
bl sub_80C97FC
lsls r0, 24
lsrs r0, 24
ldr r2, _08097A18 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, _08097A1C @ =sub_8097C6C
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x12
bl sub_8054E90
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_08097A18: .4byte gUnknown_3005090
_08097A1C: .4byte sub_8097C6C
thumb_func_end sub_80979F0
thumb_func_start sub_8097A20
sub_8097A20: @ 8097A20
push {lr}
movs r0, 0x1
bl sub_80837FC
ldr r0, _08097A38 @ =gUnknown_2039874
ldrb r0, [r0]
cmp r0, 0x1
bne _08097A3C
bl sub_80CCDD0
b _08097A42
.align 2, 0
_08097A38: .4byte gUnknown_2039874
_08097A3C:
movs r0, 0x3A
bl sub_8083444
_08097A42:
pop {r0}
bx r0
thumb_func_end sub_8097A20
thumb_func_start sub_8097A48
sub_8097A48: @ 8097A48
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
movs r7, 0
movs r0, 0x79
bl sub_80722CC
ldr r4, _08097B38 @ =gUnknown_2039A04
adds r1, r4, 0x2
adds r0, r4, 0
bl sub_805C538
mov r8, r4
ldr r0, _08097B3C @ =0x0000ffff
mov r9, r0
_08097A68:
mov r1, r9
adds r0, r1, r7
mov r2, r8
ldrh r2, [r2, 0x2]
adds r0, r2
movs r6, 0
lsls r0, 16
asrs r5, r0, 16
_08097A78:
mov r1, r9
adds r0, r1, r6
mov r2, r8
ldrh r2, [r2]
adds r0, r2
lsls r0, 16
asrs r4, r0, 16
adds r0, r4, 0
adds r1, r5, 0
bl sub_8058D44
lsls r0, 24
lsrs r0, 24
mov r2, r8
movs r1, 0x4
ldrsb r1, [r2, r1]
cmp r0, r1
bne _08097ABC
adds r0, r4, 0
adds r1, r5, 0
bl sub_8097874
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08097ABC
adds r0, r4, 0
adds r1, r5, 0
bl sub_8097B50
adds r0, r4, 0
adds r1, r5, 0
bl sub_805F378
_08097ABC:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x2
bls _08097A78
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x2
bls _08097A68
bl sub_805A684
ldr r4, _08097B40 @ =gUnknown_2039870
movs r0, 0x8
bl sub_8002B9C
str r0, [r4]
movs r7, 0
ldr r5, _08097B44 @ =gUnknown_202063C
_08097AE2:
ldr r0, _08097B48 @ =gUnknown_2037078
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldrh r1, [r0, 0x2]
lsls r1, 23
lsrs r1, 7
movs r2, 0x80
lsls r2, 12
adds r1, r2
asrs r1, 16
ldrb r2, [r0]
adds r2, 0x14
ldr r0, _08097B4C @ =gUnknown_83D414C
movs r3, 0
bl sub_8006F8C
ldr r1, [r4]
adds r1, r7
strb r0, [r1]
ldr r0, [r4]
adds r0, r7
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
lsls r1, r7, 5
strh r1, [r0, 0x32]
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x7
bls _08097AE2
movs r0, 0
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08097B38: .4byte gUnknown_2039A04
_08097B3C: .4byte 0x0000ffff
_08097B40: .4byte gUnknown_2039870
_08097B44: .4byte gUnknown_202063C
_08097B48: .4byte gUnknown_2037078
_08097B4C: .4byte gUnknown_83D414C
thumb_func_end sub_8097A48
thumb_func_start sub_8097B50
sub_8097B50: @ 8097B50
push {r4-r7,lr}
lsls r0, 16
lsls r1, 16
movs r4, 0
lsrs r6, r0, 16
asrs r0, 16
lsrs r7, r1, 16
asrs r1, 16
bl sub_8058E48
lsls r0, 16
lsrs r2, r0, 16
ldr r1, _08097B84 @ =gUnknown_83D4100
ldr r5, _08097B88 @ =0x0000ffff
mov r12, r1
_08097B6E:
lsls r3, r4, 2
adds r0, r3, r1
ldrh r0, [r0]
cmp r0, r5
beq _08097BA0
cmp r0, r2
beq _08097B8C
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
b _08097B6E
.align 2, 0
_08097B84: .4byte gUnknown_83D4100
_08097B88: .4byte 0x0000ffff
_08097B8C:
lsls r0, r6, 16
asrs r0, 16
lsls r1, r7, 16
asrs r1, 16
mov r2, r12
adds r2, 0x2
adds r2, r3, r2
ldrh r2, [r2]
bl sub_8058FA4
_08097BA0:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8097B50
thumb_func_start sub_8097BA8
sub_8097BA8: @ 8097BA8
movs r2, 0
movs r1, 0x8
strh r1, [r0, 0x2E]
strh r2, [r0, 0x30]
strh r2, [r0, 0x34]
ldr r1, _08097BB8 @ =sub_8097BBC
str r1, [r0, 0x1C]
bx lr
.align 2, 0
_08097BB8: .4byte sub_8097BBC
thumb_func_end sub_8097BA8
thumb_func_start sub_8097BBC
sub_8097BBC: @ 8097BBC
push {r4,lr}
adds r4, r0, 0
movs r1, 0x32
ldrsh r0, [r4, r1]
movs r2, 0x2E
ldrsh r1, [r4, r2]
bl sub_8044E30
strh r0, [r4, 0x24]
movs r1, 0x32
ldrsh r0, [r4, r1]
movs r2, 0x2E
ldrsh r1, [r4, r2]
bl sub_8044E4C
strh r0, [r4, 0x26]
ldrh r0, [r4, 0x32]
adds r0, 0x8
movs r1, 0xFF
ands r0, r1
strh r0, [r4, 0x32]
ldrh r1, [r4, 0x2E]
adds r1, 0x1
ldrh r2, [r4, 0x34]
lsls r0, r2, 16
asrs r0, 18
adds r1, r0
strh r1, [r4, 0x2E]
adds r2, 0x1
strh r2, [r4, 0x34]
ldrh r1, [r4, 0x30]
movs r2, 0x30
ldrsh r0, [r4, r2]
cmp r0, 0x1C
beq _08097C08
adds r0, r1, 0x1
strh r0, [r4, 0x30]
b _08097C0C
_08097C08:
ldr r0, _08097C14 @ =sub_8097C18
str r0, [r4, 0x1C]
_08097C0C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08097C14: .4byte sub_8097C18
thumb_func_end sub_8097BBC
thumb_func_start sub_8097C18
sub_8097C18: @ 8097C18
push {r4-r6,lr}
movs r4, 0x1
_08097C1C:
ldr r6, _08097C64 @ =gUnknown_2039870
ldr r0, [r6]
adds r0, r4
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r5, _08097C68 @ =gUnknown_202063C
adds r0, r5
bl sub_8007280
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x7
bls _08097C1C
ldr r0, [r6]
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
movs r1, 0x3A
bl sub_80836D8
ldr r0, [r6]
bl sub_8002BC4
bl sub_80696C0
bl sub_806994C
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08097C64: .4byte gUnknown_2039870
_08097C68: .4byte gUnknown_202063C
thumb_func_end sub_8097C18
thumb_func_start sub_8097C6C
sub_8097C6C: @ 8097C6C
push {lr}
movs r0, 0x79
bl sub_80722CC
movs r0, 0x2
bl sub_80837FC
bl sub_8069B34
pop {r0}
bx r0
thumb_func_end sub_8097C6C
.align 2, 0 @ Don't pad with nop.
+964
View File
@@ -0,0 +1,964 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80C9B2C
sub_80C9B2C: @ 80C9B2C
push {lr}
ldr r0, _080C9B54 @ =gUnknown_2036DFC
ldrb r0, [r0, 0x15]
cmp r0, 0x1
bne _080C9B6C
ldr r0, _080C9B58 @ =0x00000806
bl sub_806E6D0
lsls r0, 24
cmp r0, 0
bne _080C9B6C
ldr r1, _080C9B5C @ =gUnknown_3005024
ldr r0, _080C9B60 @ =sub_81248B0
str r0, [r1]
ldr r1, _080C9B64 @ =gUnknown_203B0C4
ldr r0, _080C9B68 @ =sub_80C9B74
str r0, [r1]
movs r0, 0x1
b _080C9B6E
.align 2, 0
_080C9B54: .4byte gUnknown_2036DFC
_080C9B58: .4byte 0x00000806
_080C9B5C: .4byte gUnknown_3005024
_080C9B60: .4byte sub_81248B0
_080C9B64: .4byte gUnknown_203B0C4
_080C9B68: .4byte sub_80C9B74
_080C9B6C:
movs r0, 0
_080C9B6E:
pop {r1}
bx r1
thumb_func_end sub_80C9B2C
thumb_func_start sub_80C9B74
sub_80C9B74: @ 80C9B74
push {r4,lr}
bl sub_80C97FC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl sub_811FB0C
ldr r1, _080C9BA4 @ =gUnknown_20386E0
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r1, _080C9BA8 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r2, _080C9BAC @ =sub_80C9BB0
lsrs r1, r2, 16
strh r1, [r0, 0x18]
strh r2, [r0, 0x1A]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080C9BA4: .4byte gUnknown_20386E0
_080C9BA8: .4byte gUnknown_3005090
_080C9BAC: .4byte sub_80C9BB0
thumb_func_end sub_80C9B74
thumb_func_start sub_80C9BB0
sub_80C9BB0: @ 80C9BB0
push {lr}
movs r0, 0xC8
bl sub_80722CC
ldr r0, _080C9BC8 @ =0x00000806
bl sub_806E680
ldr r0, _080C9BCC @ =gUnknown_81BFB5F
bl sub_8069AE4
pop {r0}
bx r0
.align 2, 0
_080C9BC8: .4byte 0x00000806
_080C9BCC: .4byte gUnknown_81BFB5F
thumb_func_end sub_80C9BB0
thumb_func_start sub_80C9BD0
sub_80C9BD0: @ 80C9BD0
push {lr}
bl sub_8077578
bl sub_8006B5C
bl sub_8006BA8
bl sub_80704D0
pop {r0}
bx r0
thumb_func_end sub_80C9BD0
thumb_func_start sub_80C9BE8
sub_80C9BE8: @ 80C9BE8
push {lr}
bl sub_8007320
bl sub_8007610
bl sub_8070474
pop {r0}
bx r0
thumb_func_end sub_80C9BE8
thumb_func_start sub_80C9BFC
sub_80C9BFC: @ 80C9BFC
push {lr}
sub sp, 0x8
movs r0, 0
bl sub_80006F4
movs r0, 0
movs r1, 0
bl sub_8000A38
movs r0, 0xC
movs r1, 0
bl sub_8000A38
movs r0, 0xA
movs r1, 0
bl sub_8000A38
movs r0, 0x8
movs r1, 0
bl sub_8000A38
movs r0, 0x18
movs r1, 0
bl sub_8000A38
movs r0, 0x1A
movs r1, 0
bl sub_8000A38
movs r0, 0x14
movs r1, 0
bl sub_8000A38
movs r0, 0x16
movs r1, 0
bl sub_8000A38
movs r0, 0x10
movs r1, 0
bl sub_8000A38
movs r0, 0x12
movs r1, 0
bl sub_8000A38
mov r1, sp
movs r0, 0
strh r0, [r1]
ldr r1, _080C9CC8 @ =0x040000d4
mov r0, sp
str r0, [r1]
movs r0, 0xC0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080C9CCC @ =0x8100c000
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r2, 0
str r2, [sp, 0x4]
add r0, sp, 0x4
str r0, [r1]
movs r0, 0xE0
lsls r0, 19
str r0, [r1, 0x4]
ldr r0, _080C9CD0 @ =0x85000100
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
mov r0, sp
strh r2, [r0]
str r0, [r1]
ldr r0, _080C9CD4 @ =0x05000002
str r0, [r1, 0x4]
ldr r0, _080C9CD8 @ =0x810001ff
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl sub_8070528
bl sub_80773BC
bl sub_8006B10
movs r0, 0x1
bl sub_8000B68
ldr r0, _080C9CDC @ =sub_80C9BE8
bl sub_80006F4
ldr r0, _080C9CE0 @ =sub_80C9BD0
bl sub_8000544
bl sub_80C9CE8
lsls r0, 24
cmp r0, 0
bne _080C9CC2
ldr r0, _080C9CE4 @ =gUnknown_30030F0
ldr r0, [r0, 0x8]
bl sub_8000544
_080C9CC2:
add sp, 0x8
pop {r0}
bx r0
.align 2, 0
_080C9CC8: .4byte 0x040000d4
_080C9CCC: .4byte 0x8100c000
_080C9CD0: .4byte 0x85000100
_080C9CD4: .4byte 0x05000002
_080C9CD8: .4byte 0x810001ff
_080C9CDC: .4byte sub_80C9BE8
_080C9CE0: .4byte sub_80C9BD0
_080C9CE4: .4byte gUnknown_30030F0
thumb_func_end sub_80C9BFC
thumb_func_start sub_80C9CE8
sub_80C9CE8: @ 80C9CE8
push {r4-r7,lr}
bl sub_80561A0
lsls r0, 24
lsrs r7, r0, 24
bl sub_8056188
lsls r0, 24
lsrs r6, r0, 24
movs r4, 0
bl sub_80561B4
ldr r5, _080C9D24 @ =gUnknown_2036DFC
lsls r0, 24
lsrs r0, 24
ldrb r1, [r5, 0x14]
cmp r0, r1
beq _080C9D36
ldrb r0, [r5, 0x14]
movs r1, 0
bl sub_80F8154
cmp r0, 0x1
bne _080C9D36
ldrb r0, [r5, 0x14]
bl sub_80CA160
movs r0, 0x1
b _080C9D70
.align 2, 0
_080C9D24: .4byte gUnknown_2036DFC
_080C9D28:
adds r0, r3, 0x4
adds r0, r2, r0
ldr r0, [r0]
bl _call_via_r0
movs r0, 0x1
b _080C9D70
_080C9D36:
ldr r5, _080C9D78 @ =gUnknown_83F5738
lsls r1, r4, 1
adds r0, r1, r4
lsls r0, 2
adds r0, r5
ldrb r0, [r0]
cmp r0, 0
beq _080C9D6E
adds r3, r5, 0
_080C9D48:
adds r0, r1, r4
lsls r2, r0, 2
adds r1, r2, r3
ldrb r0, [r1]
cmp r0, r7
bne _080C9D5A
ldrb r0, [r1, 0x1]
cmp r0, r6
beq _080C9D28
_080C9D5A:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
lsls r1, r4, 1
adds r0, r1, r4
lsls r0, 2
adds r0, r5
ldrb r0, [r0]
cmp r0, 0
bne _080C9D48
_080C9D6E:
movs r0, 0
_080C9D70:
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080C9D78: .4byte gUnknown_83F5738
thumb_func_end sub_80C9CE8
thumb_func_start sub_80C9D7C
sub_80C9D7C: @ 80C9D7C
push {r4-r6,lr}
lsls r0, 24
lsls r1, 24
lsrs r5, r0, 24
lsrs r4, r1, 24
movs r3, 0
ldr r1, _080C9DAC @ =gUnknown_83F5738
ldrb r0, [r1]
cmp r0, 0
beq _080C9DC4
adds r6, r1, 0
_080C9D92:
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
adds r2, r0, r6
ldrb r0, [r2]
cmp r0, r5
bne _080C9DB0
ldrb r0, [r2, 0x1]
cmp r0, r4
bne _080C9DB0
ldrb r0, [r2, 0x2]
b _080C9DC6
.align 2, 0
_080C9DAC: .4byte gUnknown_83F5738
_080C9DB0:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _080C9D92
_080C9DC4:
movs r0, 0
_080C9DC6:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80C9D7C
thumb_func_start sub_80C9DCC
sub_80C9DCC: @ 80C9DCC
push {r4-r6,lr}
lsls r0, 24
lsls r1, 24
lsrs r5, r0, 24
lsrs r4, r1, 24
movs r3, 0
ldr r1, _080C9DFC @ =gUnknown_83F5738
ldrb r0, [r1]
cmp r0, 0
beq _080C9E14
adds r6, r1, 0
_080C9DE2:
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
adds r2, r0, r6
ldrb r0, [r2]
cmp r0, r5
bne _080C9E00
ldrb r0, [r2, 0x1]
cmp r0, r4
bne _080C9E00
ldrb r0, [r2, 0x3]
b _080C9E16
.align 2, 0
_080C9DFC: .4byte gUnknown_83F5738
_080C9E00:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _080C9DE2
_080C9E14:
movs r0, 0
_080C9E16:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80C9DCC
thumb_func_start sub_80C9E1C
sub_80C9E1C: @ 80C9E1C
push {lr}
ldr r0, _080C9E2C @ =sub_80C9E30
movs r1, 0
bl sub_807741C
pop {r0}
bx r0
.align 2, 0
_080C9E2C: .4byte sub_80C9E30
thumb_func_end sub_80C9E1C
thumb_func_start sub_80C9E30
sub_80C9E30: @ 80C9E30
lsls r0, 24
lsrs r0, 24
ldr r2, _080C9E44 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, _080C9E48 @ =sub_80C9E4C
str r0, [r1]
bx lr
.align 2, 0
_080C9E44: .4byte gUnknown_3005090
_080C9E48: .4byte sub_80C9E4C
thumb_func_end sub_80C9E30
thumb_func_start sub_80C9E4C
sub_80C9E4C: @ 80C9E4C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
movs r1, 0
bl sub_8000A38
ldr r0, _080C9EC8 @ =gUnknown_83F5A44
ldr r1, _080C9ECC @ =0x0600c000
bl LZ77UnCompVram
ldr r0, _080C9ED0 @ =gUnknown_83F5864
ldr r1, _080C9ED4 @ =0x0600f800
bl LZ77UnCompVram
ldr r0, _080C9ED8 @ =gUnknown_83F5804
movs r1, 0xE0
movs r2, 0x20
bl sub_80703EC
ldr r0, _080C9EDC @ =gUnknown_83F5854
movs r1, 0xE0
movs r2, 0x10
bl sub_80703EC
ldr r1, _080C9EE0 @ =0x00003e41
movs r0, 0x50
bl sub_8000A38
movs r0, 0x52
movs r1, 0
bl sub_8000A38
movs r0, 0x54
movs r1, 0
bl sub_8000A38
ldr r1, _080C9EE4 @ =0x00001f0c
movs r0, 0x8
bl sub_8000A38
movs r1, 0x8A
lsls r1, 5
movs r0, 0
bl sub_8000A38
ldr r1, _080C9EE8 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _080C9EEC @ =sub_80C9EF0
str r1, [r0]
movs r2, 0
movs r1, 0x10
strh r1, [r0, 0x8]
strh r2, [r0, 0xA]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080C9EC8: .4byte gUnknown_83F5A44
_080C9ECC: .4byte 0x0600c000
_080C9ED0: .4byte gUnknown_83F5864
_080C9ED4: .4byte 0x0600f800
_080C9ED8: .4byte gUnknown_83F5804
_080C9EDC: .4byte gUnknown_83F5854
_080C9EE0: .4byte 0x00003e41
_080C9EE4: .4byte 0x00001f0c
_080C9EE8: .4byte gUnknown_3005090
_080C9EEC: .4byte sub_80C9EF0
thumb_func_end sub_80C9E4C
thumb_func_start sub_80C9EF0
sub_80C9EF0: @ 80C9EF0
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _080C9F20 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r5, r1, r2
ldrh r4, [r5, 0xA]
movs r0, 0x80
lsls r0, 5
adds r1, r4, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x52
bl sub_8000A38
cmp r4, 0x10
bhi _080C9F24
ldrh r0, [r5, 0xA]
adds r0, 0x1
strh r0, [r5, 0xA]
b _080C9F2C
.align 2, 0
_080C9F20: .4byte gUnknown_3005090
_080C9F24:
movs r0, 0
strh r0, [r5, 0xC]
ldr r0, _080C9F34 @ =sub_80C9F38
str r0, [r5]
_080C9F2C:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080C9F34: .4byte sub_80C9F38
thumb_func_end sub_80C9EF0
thumb_func_start sub_80C9F38
sub_80C9F38: @ 80C9F38
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r1, _080C9F74 @ =0x00001010
movs r0, 0x52
bl sub_8000A38
ldr r1, _080C9F78 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r4, r0, r1
ldrh r1, [r4, 0xC]
cmp r1, 0x7
bhi _080C9F80
adds r0, r1, 0x1
strh r0, [r4, 0xC]
lsls r1, 1
ldr r0, _080C9F7C @ =gUnknown_83F5854
adds r0, r1, r0
movs r2, 0x10
subs r2, r1
lsls r2, 16
lsrs r2, 16
movs r1, 0xE0
bl sub_80703EC
b _080C9F92
.align 2, 0
_080C9F74: .4byte 0x00001010
_080C9F78: .4byte gUnknown_3005090
_080C9F7C: .4byte gUnknown_83F5854
_080C9F80:
ldr r0, _080C9F98 @ =gUnknown_83F5804
movs r1, 0
movs r2, 0x20
bl sub_80703EC
ldr r0, _080C9F9C @ =sub_80C9FA0
str r0, [r4]
movs r0, 0x8
strh r0, [r4, 0xC]
_080C9F92:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080C9F98: .4byte gUnknown_83F5804
_080C9F9C: .4byte sub_80C9FA0
thumb_func_end sub_80C9F38
thumb_func_start sub_80C9FA0
sub_80C9FA0: @ 80C9FA0
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _080C9FC0 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldrh r2, [r1, 0xC]
movs r3, 0xC
ldrsh r0, [r1, r3]
cmp r0, 0
beq _080C9FC4
subs r0, r2, 0x1
strh r0, [r1, 0xC]
b _080C9FCC
.align 2, 0
_080C9FC0: .4byte gUnknown_3005090
_080C9FC4:
ldr r0, _080C9FD0 @ =gUnknown_30030F0
ldr r0, [r0, 0x8]
bl sub_8000544
_080C9FCC:
pop {r0}
bx r0
.align 2, 0
_080C9FD0: .4byte gUnknown_30030F0
thumb_func_end sub_80C9FA0
thumb_func_start sub_80C9FD4
sub_80C9FD4: @ 80C9FD4
push {lr}
ldr r0, _080C9FE4 @ =sub_80C9FE8
movs r1, 0
bl sub_807741C
pop {r0}
bx r0
.align 2, 0
_080C9FE4: .4byte sub_80C9FE8
thumb_func_end sub_80C9FD4
thumb_func_start sub_80C9FE8
sub_80C9FE8: @ 80C9FE8
lsls r0, 24
lsrs r0, 24
ldr r2, _080C9FFC @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r0, _080CA000 @ =sub_80CA004
str r0, [r1]
bx lr
.align 2, 0
_080C9FFC: .4byte gUnknown_3005090
_080CA000: .4byte sub_80CA004
thumb_func_end sub_80C9FE8
thumb_func_start sub_80CA004
sub_80CA004: @ 80CA004
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
movs r1, 0
bl sub_8000A38
ldr r0, _080CA080 @ =gUnknown_83F5A44
ldr r1, _080CA084 @ =0x0600c000
bl LZ77UnCompVram
ldr r0, _080CA088 @ =gUnknown_83F5864
ldr r1, _080CA08C @ =0x0600f800
bl LZ77UnCompVram
movs r0, 0x50
movs r1, 0
bl sub_8000A38
movs r0, 0x52
movs r1, 0
bl sub_8000A38
movs r0, 0x54
movs r1, 0
bl sub_8000A38
ldr r1, _080CA090 @ =0x00001f0c
movs r0, 0x8
bl sub_8000A38
movs r1, 0x8A
lsls r1, 5
movs r0, 0
bl sub_8000A38
ldr r0, _080CA094 @ =gUnknown_83F5804
movs r1, 0xE0
movs r2, 0x20
bl sub_80703EC
ldr r0, _080CA098 @ =gUnknown_83F5824
movs r1, 0
movs r2, 0x20
bl sub_80703EC
ldr r1, _080CA09C @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _080CA0A0 @ =sub_80CA0A4
str r1, [r0]
movs r2, 0
movs r1, 0x10
strh r1, [r0, 0x8]
strh r2, [r0, 0xA]
strh r2, [r0, 0xC]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080CA080: .4byte gUnknown_83F5A44
_080CA084: .4byte 0x0600c000
_080CA088: .4byte gUnknown_83F5864
_080CA08C: .4byte 0x0600f800
_080CA090: .4byte 0x00001f0c
_080CA094: .4byte gUnknown_83F5804
_080CA098: .4byte gUnknown_83F5824
_080CA09C: .4byte gUnknown_3005090
_080CA0A0: .4byte sub_80CA0A4
thumb_func_end sub_80CA004
thumb_func_start sub_80CA0A4
sub_80CA0A4: @ 80CA0A4
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _080CA0D8 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
ldrh r1, [r4, 0xC]
cmp r1, 0xF
bhi _080CA0E0
adds r2, r1, 0x1
adds r0, r2, 0x1
strh r0, [r4, 0xC]
movs r0, 0xF
subs r0, r1
lsls r0, 1
ldr r1, _080CA0DC @ =gUnknown_83F5844
adds r0, r1
lsls r2, 17
lsrs r2, 16
movs r1, 0xE0
bl sub_80703EC
b _080CA0F4
.align 2, 0
_080CA0D8: .4byte gUnknown_3005090
_080CA0DC: .4byte gUnknown_83F5844
_080CA0E0:
ldr r1, _080CA0FC @ =0x00001010
movs r0, 0x52
bl sub_8000A38
ldr r1, _080CA100 @ =0x00003e41
movs r0, 0x50
bl sub_8000A38
ldr r0, _080CA104 @ =sub_80CA108
str r0, [r4]
_080CA0F4:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080CA0FC: .4byte 0x00001010
_080CA100: .4byte 0x00003e41
_080CA104: .4byte sub_80CA108
thumb_func_end sub_80CA0A4
thumb_func_start sub_80CA108
sub_80CA108: @ 80CA108
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _080CA13C @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r5, r1, r2
ldrh r0, [r5, 0xA]
movs r1, 0x10
subs r1, r0
lsls r1, 16
lsrs r4, r1, 16
movs r0, 0x80
lsls r0, 21
adds r1, r0
lsrs r1, 16
movs r0, 0x52
bl sub_8000A38
cmp r4, 0
beq _080CA140
ldrh r0, [r5, 0xA]
adds r0, 0x1
strh r0, [r5, 0xA]
b _080CA152
.align 2, 0
_080CA13C: .4byte gUnknown_3005090
_080CA140:
ldr r0, _080CA158 @ =gUnknown_83F5824
movs r1, 0
movs r2, 0x20
bl sub_80703EC
ldr r0, _080CA15C @ =gUnknown_30030F0
ldr r0, [r0, 0x8]
bl sub_8000544
_080CA152:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080CA158: .4byte gUnknown_83F5824
_080CA15C: .4byte gUnknown_30030F0
thumb_func_end sub_80CA108
thumb_func_start sub_80CA160
sub_80CA160: @ 80CA160
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _080CA188 @ =sub_80CA190
movs r1, 0
bl sub_807741C
lsls r0, 24
lsrs r0, 24
ldr r2, _080CA18C @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r4, [r1, 0xE]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080CA188: .4byte sub_80CA190
_080CA18C: .4byte gUnknown_3005090
thumb_func_end sub_80CA160
thumb_func_start sub_80CA190
sub_80CA190: @ 80CA190
push {r4-r6,lr}
sub sp, 0x4
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _080CA1B8 @ =gUnknown_3005098
adds r4, r0, r1
movs r1, 0
ldrsh r0, [r4, r1]
cmp r0, 0x5
bls _080CA1AC
b _080CA2D2
_080CA1AC:
lsls r0, 2
ldr r1, _080CA1BC @ =_080CA1C0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080CA1B8: .4byte gUnknown_3005098
_080CA1BC: .4byte _080CA1C0
.align 2, 0
_080CA1C0:
.4byte _080CA1D8
.4byte _080CA208
.4byte _080CA224
.4byte _080CA24E
.4byte _080CA262
.4byte _080CA2A4
_080CA1D8:
ldr r0, _080CA204 @ =gUnknown_30030F0
ldr r2, [r0, 0xC]
adds r0, r5, 0
movs r1, 0x5
bl sub_80776E8
movs r0, 0
bl sub_80006F4
bl sub_80F8180
ldrb r0, [r4, 0x6]
bl sub_80F819C
movs r0, 0x1
negs r0, r0
movs r1, 0x10
movs r2, 0
bl sub_80714D4
b _080CA294
.align 2, 0
_080CA204: .4byte gUnknown_30030F0
_080CA208:
bl sub_80F8258
cmp r0, 0
bne _080CA2D2
ldrb r0, [r4, 0x6]
bl sub_80F8318
strh r0, [r4, 0x8]
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
bl sub_8003F20
b _080CA294
_080CA224:
bl sub_8001960
lsls r0, 24
lsrs r0, 24
cmp r0, 0
bne _080CA2D2
movs r1, 0x1
negs r1, r1
str r0, [sp]
adds r0, r1, 0
movs r2, 0x10
movs r3, 0
bl sub_8070588
adds r0, r5, 0
movs r1, 0x5
bl sub_8077720
bl sub_80006F4
b _080CA294
_080CA24E:
bl sub_80704D0
lsls r0, 24
cmp r0, 0
bne _080CA2D2
ldrb r0, [r4, 0x6]
bl sub_80F856C
strh r0, [r4, 0x4]
b _080CA294
_080CA262:
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
lsls r0, 16
asrs r0, 16
movs r2, 0x4
ldrsh r1, [r4, r2]
cmp r0, r1
bgt _080CA280
ldr r0, _080CA29C @ =gUnknown_30030F0
ldrh r1, [r0, 0x2C]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080CA2D2
_080CA280:
movs r0, 0x1
negs r0, r0
movs r1, 0x2
negs r1, r1
ldr r2, _080CA2A0 @ =0x00007fff
str r2, [sp]
movs r2, 0
movs r3, 0x10
bl sub_8070588
_080CA294:
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
b _080CA2D2
.align 2, 0
_080CA29C: .4byte gUnknown_30030F0
_080CA2A0: .4byte 0x00007fff
_080CA2A4:
bl sub_80704D0
lsls r0, 24
cmp r0, 0
bne _080CA2D2
lsls r6, r5, 2
movs r1, 0
adds r0, r4, 0
adds r0, 0x1E
_080CA2B6:
strh r1, [r0]
subs r0, 0x2
cmp r0, r4
bge _080CA2B6
movs r1, 0x8
ldrsh r0, [r4, r1]
bl sub_80F8234
ldr r1, _080CA2DC @ =gUnknown_3005090
adds r0, r6, r5
lsls r0, 3
adds r0, r1
ldr r1, _080CA2E0 @ =sub_80CA004
str r1, [r0]
_080CA2D2:
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080CA2DC: .4byte gUnknown_3005090
_080CA2E0: .4byte sub_80CA004
thumb_func_end sub_80CA190
.align 2, 0 @ Don't pad with nop.
+98
View File
@@ -0,0 +1,98 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80A0DD8
sub_80A0DD8: @ 80A0DD8
push {lr}
lsls r0, 24
lsrs r2, r0, 24
lsls r0, r2, 2
adds r0, r2
lsls r0, 3
ldr r1, _080A0DFC @ =gUnknown_3005098
adds r1, r0, r1
movs r3, 0
ldrsh r0, [r1, r3]
cmp r0, 0x1
beq _080A0E16
cmp r0, 0x1
bgt _080A0E00
cmp r0, 0
beq _080A0E06
b _080A0E32
.align 2, 0
_080A0DFC: .4byte gUnknown_3005098
_080A0E00:
cmp r0, 0x2
beq _080A0E2A
b _080A0E32
_080A0E06:
ldrh r0, [r1, 0x2]
adds r0, 0x1
strh r0, [r1, 0x2]
lsls r0, 16
asrs r0, 16
cmp r0, 0x4
ble _080A0E32
b _080A0E22
_080A0E16:
ldrh r0, [r1, 0x2]
subs r0, 0x1
strh r0, [r1, 0x2]
lsls r0, 16
cmp r0, 0
bne _080A0E32
_080A0E22:
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _080A0E32
_080A0E2A:
adds r0, r2, 0
bl sub_8077508
b _080A0E42
_080A0E32:
ldrb r1, [r1, 0x2]
lsls r0, r1, 4
orrs r0, r1
lsls r0, 24
lsrs r0, 24
movs r1, 0
bl sub_8001EC0
_080A0E42:
pop {r0}
bx r0
thumb_func_end sub_80A0DD8
thumb_func_start sub_80A0E48
sub_80A0E48: @ 80A0E48
push {lr}
movs r0, 0x48
bl sub_80722CC
ldr r0, _080A0E5C @ =sub_80A0DD8
movs r1, 0x50
bl sub_807741C
pop {r0}
bx r0
.align 2, 0
_080A0E5C: .4byte sub_80A0DD8
thumb_func_end sub_80A0E48
thumb_func_start sub_80A0E60
sub_80A0E60: @ 80A0E60
push {lr}
ldr r0, _080A0E70 @ =sub_80A0DD8
bl sub_8077650
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_080A0E70: .4byte sub_80A0DD8
thumb_func_end sub_80A0E60
.align 2, 0 @ Don't pad with nop.
+366
View File
@@ -0,0 +1,366 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80E5684
sub_80E5684: @ 80E5684
push {r4-r6,lr}
bl sub_811FB0C
lsls r0, 24
lsrs r0, 24
movs r6, 0x64
muls r0, r6
ldr r4, _080E56D0 @ =gUnknown_2024284
adds r0, r4
movs r1, 0x3A
bl sub_803FBE8
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
bl sub_811FB0C
lsls r0, 24
lsrs r0, 24
muls r0, r6
adds r0, r4
movs r1, 0x39
bl sub_803FBE8
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
adds r0, r5, 0
movs r1, 0x5
bl __udivsi3
lsls r0, 16
lsrs r0, 16
cmp r4, r0
bhi _080E56D4
movs r0, 0
b _080E56D6
.align 2, 0
_080E56D0: .4byte gUnknown_2024284
_080E56D4:
movs r0, 0x1
_080E56D6:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80E5684
thumb_func_start sub_80E56DC
sub_80E56DC: @ 80E56DC
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _080E5718 @ =gUnknown_203B0A0
movs r1, 0xA
strb r1, [r0, 0xB]
ldrb r1, [r0, 0x9]
strb r1, [r0, 0xA]
bl sub_811FB0C
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
bl sub_811F818
movs r0, 0x5
bl sub_8121D0C
ldr r1, _080E571C @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _080E5720 @ =sub_811FB28
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E5718: .4byte gUnknown_203B0A0
_080E571C: .4byte gUnknown_3005090
_080E5720: .4byte sub_811FB28
thumb_func_end sub_80E56DC
thumb_func_start sub_80E5724
sub_80E5724: @ 80E5724
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
str r4, [sp, 0x4]
ldr r1, _080E575C @ =gUnknown_203B0A0
ldrb r7, [r1, 0x9]
mov r8, r7
ldrb r0, [r1, 0xA]
adds r5, r0, 0
cmp r5, 0x6
bls _080E5768
movs r0, 0
strb r0, [r1, 0xB]
bl sub_8121D0C
ldr r1, _080E5760 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _080E5764 @ =sub_811FB28
str r1, [r0]
b _080E57D4
.align 2, 0
_080E575C: .4byte gUnknown_203B0A0
_080E5760: .4byte gUnknown_3005090
_080E5764: .4byte sub_811FB28
_080E5768:
movs r0, 0x64
mov r10, r0
mov r0, r10
muls r0, r5
ldr r1, _080E57A0 @ =gUnknown_2024284
mov r9, r1
adds r6, r0, r1
adds r0, r6, 0
movs r1, 0x39
bl sub_803FBE8
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
beq _080E5796
cmp r7, r5
beq _080E5796
adds r0, r6, 0
movs r1, 0x3A
bl sub_803FBE8
cmp r0, r4
bne _080E57A4
_080E5796:
ldr r0, [sp, 0x4]
bl sub_80E5934
b _080E57D4
.align 2, 0
_080E57A0: .4byte gUnknown_2024284
_080E57A4:
movs r0, 0x1
bl sub_80722CC
mov r1, r10
mov r0, r8
muls r0, r1
add r0, r9
movs r1, 0x3A
bl sub_803FBE8
movs r1, 0x5
bl __udivsi3
adds r3, r0, 0
lsls r3, 16
asrs r3, 16
movs r2, 0x1
negs r2, r2
ldr r0, _080E57E4 @ =sub_80E57E8
str r0, [sp]
ldr r0, [sp, 0x4]
mov r1, r8
bl sub_8120760
_080E57D4:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E57E4: .4byte sub_80E57E8
thumb_func_end sub_80E5724
thumb_func_start sub_80E57E8
sub_80E57E8: @ 80E57E8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
bl sub_80722CC
ldr r5, _080E5830 @ =gUnknown_203B0A0
movs r1, 0x9
ldrsb r1, [r5, r1]
movs r0, 0x64
muls r0, r1
ldr r1, _080E5834 @ =gUnknown_2024284
adds r0, r1
movs r1, 0x3A
bl sub_803FBE8
movs r1, 0x5
bl __udivsi3
adds r3, r0, 0
lsls r3, 16
asrs r3, 16
ldrb r1, [r5, 0xA]
ldr r0, _080E5838 @ =sub_80E583C
str r0, [sp]
adds r0, r4, 0
movs r2, 0x1
bl sub_8120760
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E5830: .4byte gUnknown_203B0A0
_080E5834: .4byte gUnknown_2024284
_080E5838: .4byte sub_80E583C
thumb_func_end sub_80E57E8
thumb_func_start sub_80E583C
sub_80E583C: @ 80E583C
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldr r0, _080E5884 @ =gUnknown_203B0A0
movs r1, 0xA
ldrsb r1, [r0, r1]
movs r0, 0x64
muls r0, r1
ldr r1, _080E5888 @ =gUnknown_2024284
adds r0, r1
ldr r1, _080E588C @ =gUnknown_2021CD0
bl sub_81202E0
ldr r4, _080E5890 @ =gUnknown_2021D18
ldr r1, _080E5894 @ =gUnknown_8416F27
adds r0, r4, 0
bl sub_8008FCC
adds r0, r4, 0
movs r1, 0
bl sub_81202F8
movs r0, 0x2
bl sub_80F67A4
ldr r1, _080E5898 @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r0, r1
ldr r1, _080E589C @ =sub_80E58A0
str r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E5884: .4byte gUnknown_203B0A0
_080E5888: .4byte gUnknown_2024284
_080E588C: .4byte gUnknown_2021CD0
_080E5890: .4byte gUnknown_2021D18
_080E5894: .4byte gUnknown_8416F27
_080E5898: .4byte gUnknown_3005090
_080E589C: .4byte sub_80E58A0
thumb_func_end sub_80E583C
thumb_func_start sub_80E58A0
sub_80E58A0: @ 80E58A0
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
bl sub_8120370
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080E58EE
ldr r4, _080E58F4 @ =gUnknown_203B0A0
movs r0, 0
strb r0, [r4, 0xB]
ldrb r0, [r4, 0x9]
movs r1, 0
bl sub_811F818
ldrb r0, [r4, 0xA]
strb r0, [r4, 0x9]
ldrb r0, [r4, 0xA]
movs r1, 0x1
bl sub_811F818
movs r0, 0x6
movs r1, 0
bl sub_810F4D8
movs r0, 0x6
bl sub_80040B8
movs r0, 0
bl sub_8121D0C
ldr r1, _080E58F8 @ =gUnknown_3005090
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
adds r0, r1
ldr r1, _080E58FC @ =sub_811FB28
str r1, [r0]
_080E58EE:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E58F4: .4byte gUnknown_203B0A0
_080E58F8: .4byte gUnknown_3005090
_080E58FC: .4byte sub_811FB28
thumb_func_end sub_80E58A0
thumb_func_start sub_80E5900
sub_80E5900: @ 80E5900
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
bl sub_8120370
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080E5926
movs r0, 0x5
bl sub_8121D0C
ldr r0, _080E592C @ =gUnknown_3005090
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r0
ldr r0, _080E5930 @ =sub_811FB28
str r0, [r1]
_080E5926:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E592C: .4byte gUnknown_3005090
_080E5930: .4byte sub_811FB28
thumb_func_end sub_80E5900
thumb_func_start sub_80E5934
sub_80E5934: @ 80E5934
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0x5
bl sub_80722CC
ldr r0, _080E5964 @ =gUnknown_84169F8
movs r1, 0
bl sub_81202F8
movs r0, 0x2
bl sub_80F67A4
ldr r1, _080E5968 @ =gUnknown_3005090
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _080E596C @ =sub_80E5900
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E5964: .4byte gUnknown_84169F8
_080E5968: .4byte gUnknown_3005090
_080E596C: .4byte sub_80E5900
thumb_func_end sub_80E5934
.align 2, 0 @ Don't pad with nop.
+111
View File
@@ -0,0 +1,111 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80D07EC
sub_80D07EC: @ 80D07EC
push {r4,lr}
movs r0, 0x8
bl sub_805C74C
lsls r0, 24
cmp r0, 0
bne _080D0808
movs r0, 0x61
bl sub_80C97A8
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080D080C
_080D0808:
movs r0, 0
b _080D0826
_080D080C:
ldr r4, _080D082C @ =gUnknown_20370D0
bl sub_811FB0C
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
ldr r1, _080D0830 @ =gUnknown_3005024
ldr r0, _080D0834 @ =sub_81248B0
str r0, [r1]
ldr r1, _080D0838 @ =gUnknown_203B0C4
ldr r0, _080D083C @ =sub_80D0840
str r0, [r1]
movs r0, 0x1
_080D0826:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080D082C: .4byte gUnknown_20370D0
_080D0830: .4byte gUnknown_3005024
_080D0834: .4byte sub_81248B0
_080D0838: .4byte gUnknown_203B0C4
_080D083C: .4byte sub_80D0840
thumb_func_end sub_80D07EC
thumb_func_start sub_80D0840
sub_80D0840: @ 80D0840
push {lr}
bl sub_811FB0C
ldr r1, _080D0858 @ =gUnknown_20386E0
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r0, _080D085C @ =gUnknown_81BE16E
bl sub_8069AE4
pop {r0}
bx r0
.align 2, 0
_080D0858: .4byte gUnknown_20386E0
_080D085C: .4byte gUnknown_81BE16E
thumb_func_end sub_80D0840
thumb_func_start sub_80D0860
sub_80D0860: @ 80D0860
push {lr}
bl sub_80C97FC
lsls r0, 24
lsrs r0, 24
ldr r2, _080D0894 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, _080D0898 @ =sub_80D08A8
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
ldr r0, _080D089C @ =gUnknown_20386E0
ldr r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080D08A0 @ =gUnknown_2024284
adds r0, r1
ldr r1, _080D08A4 @ =gUnknown_2021CD0
bl sub_81202E0
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_080D0894: .4byte gUnknown_3005090
_080D0898: .4byte sub_80D08A8
_080D089C: .4byte gUnknown_20386E0
_080D08A0: .4byte gUnknown_2024284
_080D08A4: .4byte gUnknown_2021CD0
thumb_func_end sub_80D0860
thumb_func_start sub_80D08A8
sub_80D08A8: @ 80D08A8
push {lr}
movs r0, 0x28
bl sub_80837FC
bl sub_8069B34
pop {r0}
bx r0
thumb_func_end sub_80D08A8
.align 2, 0 @ Don't pad with nop.
+262
View File
@@ -0,0 +1,262 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80DE0B4
sub_80DE0B4: @ 80DE0B4
push {lr}
ldr r1, _080DE0C4 @ =gUnknown_203B0A0
movs r0, 0
strb r0, [r1, 0x9]
bl sub_80DE0E8
pop {r0}
bx r0
.align 2, 0
_080DE0C4: .4byte gUnknown_203B0A0
thumb_func_end sub_80DE0B4
thumb_func_start sub_80DE0C8
sub_80DE0C8: @ 80DE0C8
ldr r1, _080DE0D8 @ =gUnknown_3005024
ldr r0, _080DE0DC @ =sub_81248B0
str r0, [r1]
ldr r1, _080DE0E0 @ =gUnknown_203B0C4
ldr r0, _080DE0E4 @ =sub_80DE0E8
str r0, [r1]
movs r0, 0x1
bx lr
.align 2, 0
_080DE0D8: .4byte gUnknown_3005024
_080DE0DC: .4byte sub_81248B0
_080DE0E0: .4byte gUnknown_203B0C4
_080DE0E4: .4byte sub_80DE0E8
thumb_func_end sub_80DE0C8
thumb_func_start sub_80DE0E8
sub_80DE0E8: @ 80DE0E8
push {lr}
movs r0, 0x33
bl sub_8083444
bl sub_811FB0C
ldr r1, _080DE100 @ =gUnknown_20386E0
lsls r0, 24
lsrs r0, 24
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080DE100: .4byte gUnknown_20386E0
thumb_func_end sub_80DE0E8
thumb_func_start sub_80DE104
sub_80DE104: @ 80DE104
push {lr}
bl sub_807B05C
bl sub_80C97FC
lsls r0, 24
lsrs r0, 24
ldr r2, _080DE12C @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, _080DE130 @ =sub_80DE134
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_080DE12C: .4byte gUnknown_3005090
_080DE130: .4byte sub_80DE134
thumb_func_end sub_80DE104
thumb_func_start sub_80DE134
sub_80DE134: @ 80DE134
push {r4,r5,lr}
sub sp, 0x4
movs r0, 0xE5
bl sub_80722CC
ldr r4, _080DE1B8 @ =gUnknown_203AAB0
movs r0, 0x80
lsls r0, 3
bl sub_8002B9C
adds r1, r0, 0
str r1, [r4]
ldr r4, _080DE1BC @ =gUnknown_20371F8
movs r5, 0x80
lsls r5, 1
adds r0, r4, 0
adds r2, r5, 0
bl CpuFastSet
ldr r0, _080DE1C0 @ =gUnknown_20375F8
adds r1, r4, 0
adds r2, r5, 0
bl CpuFastSet
bl sub_805C768
ldr r2, _080DE1C4 @ =gUnknown_202063C
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r1, [r1, 0x5]
lsrs r1, 4
adds r1, 0x10
movs r0, 0x1
lsls r0, r1
mvns r0, r0
movs r1, 0x1F
str r1, [sp]
movs r1, 0x4
movs r2, 0
movs r3, 0x8
bl sub_8070588
ldr r0, _080DE1C8 @ =sub_80DE1D0
movs r1, 0
bl sub_807741C
lsls r0, 24
lsrs r0, 24
ldr r2, _080DE1CC @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
movs r0, 0
strh r0, [r1, 0x8]
movs r0, 0x33
bl sub_80837FC
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DE1B8: .4byte gUnknown_203AAB0
_080DE1BC: .4byte gUnknown_20371F8
_080DE1C0: .4byte gUnknown_20375F8
_080DE1C4: .4byte gUnknown_202063C
_080DE1C8: .4byte sub_80DE1D0
_080DE1CC: .4byte gUnknown_3005090
thumb_func_end sub_80DE134
thumb_func_start sub_80DE1D0
sub_80DE1D0: @ 80DE1D0
push {r4-r7,lr}
sub sp, 0x4
lsls r0, 24
lsrs r4, r0, 24
lsls r0, r4, 2
adds r0, r4
lsls r5, r0, 3
ldr r6, _080DE21C @ =gUnknown_3005098
adds r2, r5, r6
ldr r0, _080DE220 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _080DE26C
ldrh r3, [r2]
movs r7, 0
ldrsh r0, [r2, r7]
cmp r0, 0x40
bne _080DE268
strh r1, [r2]
bl sub_8082EC0
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080DE228
ldr r0, _080DE224 @ =gUnknown_203AAB0
ldr r0, [r0]
bl sub_8002BC4
adds r0, r4, 0
bl sub_8077508
b _080DE26C
.align 2, 0
_080DE21C: .4byte gUnknown_3005098
_080DE220: .4byte gUnknown_2037AB8
_080DE224: .4byte gUnknown_203AAB0
_080DE228:
adds r0, r6, 0
subs r0, 0x8
adds r0, r5, r0
ldr r1, _080DE260 @ =sub_80DE274
str r1, [r0]
bl sub_805C768
ldr r2, _080DE264 @ =gUnknown_202063C
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r1, [r1, 0x5]
lsrs r1, 4
adds r1, 0x10
movs r0, 0x1
lsls r0, r1
mvns r0, r0
movs r1, 0x1F
str r1, [sp]
movs r1, 0x4
movs r2, 0x8
movs r3, 0
bl sub_8070588
b _080DE26C
.align 2, 0
_080DE260: .4byte sub_80DE274
_080DE264: .4byte gUnknown_202063C
_080DE268:
adds r0, r3, 0x1
strh r0, [r2]
_080DE26C:
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80DE1D0
thumb_func_start sub_80DE274
sub_80DE274: @ 80DE274
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _080DE2B0 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080DE2AA
ldr r4, _080DE2B4 @ =gUnknown_203AAB0
ldr r0, [r4]
ldr r1, _080DE2B8 @ =gUnknown_20371F8
movs r2, 0x80
lsls r2, 1
bl CpuFastSet
bl sub_807B070
ldr r0, [r4]
bl sub_8002BC4
ldr r0, _080DE2BC @ =gUnknown_81BE564
bl sub_8069AE4
adds r0, r5, 0
bl sub_8077508
_080DE2AA:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080DE2B0: .4byte gUnknown_2037AB8
_080DE2B4: .4byte gUnknown_203AAB0
_080DE2B8: .4byte gUnknown_20371F8
_080DE2BC: .4byte gUnknown_81BE564
thumb_func_end sub_80DE274
.align 2, 0 @ Don't pad with nop.
+92
View File
@@ -0,0 +1,92 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80F66F0
sub_80F66F0: @ 80F66F0
push {lr}
ldr r0, _080F6708 @ =gUnknown_2036DFC
ldrb r0, [r0, 0x17]
bl sub_80561FC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080F670C
movs r0, 0
b _080F671A
.align 2, 0
_080F6708: .4byte gUnknown_2036DFC
_080F670C:
ldr r1, _080F6720 @ =gUnknown_3005024
ldr r0, _080F6724 @ =sub_81248B0
str r0, [r1]
ldr r1, _080F6728 @ =gUnknown_203B0C4
ldr r0, _080F672C @ =sub_80F6730
str r0, [r1]
movs r0, 0x1
_080F671A:
pop {r1}
bx r1
.align 2, 0
_080F6720: .4byte gUnknown_3005024
_080F6724: .4byte sub_81248B0
_080F6728: .4byte gUnknown_203B0C4
_080F672C: .4byte sub_80F6730
thumb_func_end sub_80F66F0
thumb_func_start sub_80F6730
sub_80F6730: @ 80F6730
push {lr}
bl sub_8054D08
movs r0, 0x3F
bl sub_8083444
bl sub_811FB0C
ldr r1, _080F674C @ =gUnknown_20386E0
lsls r0, 24
lsrs r0, 24
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080F674C: .4byte gUnknown_20386E0
thumb_func_end sub_80F6730
thumb_func_start sub_80F6750
sub_80F6750: @ 80F6750
push {lr}
bl sub_80C97FC
lsls r0, 24
lsrs r0, 24
ldr r2, _080F6778 @ =gUnknown_3005090
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, _080F677C @ =sub_80F6780
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x1
bl sub_805BDEC
movs r0, 0
pop {r1}
bx r1
.align 2, 0
_080F6778: .4byte gUnknown_3005090
_080F677C: .4byte sub_80F6780
thumb_func_end sub_80F6750
thumb_func_start sub_80F6780
sub_80F6780: @ 80F6780
push {lr}
movs r0, 0x3F
bl sub_80837FC
bl sub_8085B64
pop {r0}
bx r0
thumb_func_end sub_80F6780
.align 2, 0 @ Don't pad with nop.
+373
View File
@@ -0,0 +1,373 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8000968
sub_8000968: @ 8000968
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r2, 0
ldr r7, _080009AC @ =gUnknown_30000C0
ldr r0, _080009B0 @ =gUnknown_30000C1
mov r12, r0
ldr r1, _080009B4 @ =gUnknown_30000C2
mov r8, r1
ldr r6, _080009B8 @ =gUnknown_3000000
movs r5, 0
ldr r4, _080009BC @ =gUnknown_3000060
movs r3, 0xFF
_08000982:
adds r0, r2, r6
strb r5, [r0]
adds r1, r2, r4
ldrb r0, [r1]
orrs r0, r3
strb r0, [r1]
adds r2, 0x1
cmp r2, 0x5F
ble _08000982
movs r0, 0
strb r0, [r7]
mov r1, r12
strb r0, [r1]
movs r0, 0
mov r1, r8
strh r0, [r1]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080009AC: .4byte gUnknown_30000C0
_080009B0: .4byte gUnknown_30000C1
_080009B4: .4byte gUnknown_30000C2
_080009B8: .4byte gUnknown_3000000
_080009BC: .4byte gUnknown_3000060
thumb_func_end sub_8000968
thumb_func_start sub_80009C0
sub_80009C0: @ 80009C0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x4
bne _080009EC
ldr r2, _080009E0 @ =0x04000004
ldrh r1, [r2]
ldr r0, _080009E4 @ =0x0000ffe7
ands r0, r1
strh r0, [r2]
ldr r1, _080009E8 @ =gUnknown_3000004
ldrh r0, [r2]
ldrh r1, [r1]
orrs r0, r1
strh r0, [r2]
b _080009FA
.align 2, 0
_080009E0: .4byte 0x04000004
_080009E4: .4byte 0x0000ffe7
_080009E8: .4byte gUnknown_3000004
_080009EC:
movs r0, 0x80
lsls r0, 19
adds r0, r2, r0
ldr r1, _08000A00 @ =gUnknown_3000000
adds r1, r2, r1
ldrh r1, [r1]
strh r1, [r0]
_080009FA:
pop {r0}
bx r0
.align 2, 0
_08000A00: .4byte gUnknown_3000000
thumb_func_end sub_80009C0
thumb_func_start sub_8000A04
sub_8000A04: @ 8000A04
push {r4,r5,lr}
ldr r0, _08000A30 @ =gUnknown_30000C0
ldrb r0, [r0]
cmp r0, 0
bne _08000A28
movs r5, 0
_08000A10:
ldr r0, _08000A34 @ =gUnknown_3000060
adds r4, r5, r0
ldrb r0, [r4]
cmp r0, 0xFF
beq _08000A28
bl sub_80009C0
movs r0, 0xFF
strb r0, [r4]
adds r5, 0x1
cmp r5, 0x5F
ble _08000A10
_08000A28:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08000A30: .4byte gUnknown_30000C0
_08000A34: .4byte gUnknown_3000060
thumb_func_end sub_8000A04
thumb_func_start sub_8000A38
sub_8000A38: @ 8000A38
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
lsls r1, 16
lsrs r1, 16
cmp r4, 0x5F
bhi _08000AB4
ldr r0, _08000A74 @ =gUnknown_3000000
adds r0, r4, r0
strh r1, [r0]
ldr r0, _08000A78 @ =0x04000006
ldrh r1, [r0]
movs r0, 0xFF
ands r0, r1
subs r0, 0xA1
lsls r0, 16
lsrs r0, 16
cmp r0, 0x40
bls _08000A6C
movs r0, 0x80
lsls r0, 19
ldrh r1, [r0]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _08000A82
_08000A6C:
adds r0, r4, 0
bl sub_80009C0
b _08000AB4
.align 2, 0
_08000A74: .4byte gUnknown_3000000
_08000A78: .4byte 0x04000006
_08000A7C:
movs r0, 0
strb r0, [r5]
b _08000AB4
_08000A82:
ldr r2, _08000ABC @ =gUnknown_30000C0
movs r0, 0x1
strb r0, [r2]
movs r3, 0
ldr r0, _08000AC0 @ =gUnknown_3000060
ldrb r1, [r0]
adds r5, r2, 0
adds r2, r0, 0
cmp r1, 0xFF
beq _08000AAC
adds r1, r2, 0
_08000A98:
ldrb r0, [r1]
cmp r0, r4
beq _08000A7C
adds r1, 0x1
adds r3, 0x1
cmp r3, 0x5F
bgt _08000AAC
ldrb r0, [r1]
cmp r0, 0xFF
bne _08000A98
_08000AAC:
adds r0, r3, r2
movs r1, 0
strb r4, [r0]
strb r1, [r5]
_08000AB4:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08000ABC: .4byte gUnknown_30000C0
_08000AC0: .4byte gUnknown_3000060
thumb_func_end sub_8000A38
thumb_func_start sub_8000AC4
sub_8000AC4: @ 8000AC4
push {lr}
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r1, 0x4
bne _08000AD8
ldr r0, _08000AD4 @ =0x04000004
b _08000AEA
.align 2, 0
_08000AD4: .4byte 0x04000004
_08000AD8:
cmp r1, 0x6
beq _08000AE8
ldr r0, _08000AE4 @ =gUnknown_3000000
adds r0, r1, r0
ldrh r0, [r0]
b _08000AEC
.align 2, 0
_08000AE4: .4byte gUnknown_3000000
_08000AE8:
ldr r0, _08000AF0 @ =0x04000006
_08000AEA:
ldrh r0, [r0]
_08000AEC:
pop {r1}
bx r1
.align 2, 0
_08000AF0: .4byte 0x04000006
thumb_func_end sub_8000AC4
thumb_func_start sub_8000AF4
sub_8000AF4: @ 8000AF4
push {lr}
adds r2, r1, 0
lsls r0, 24
lsrs r0, 24
ldr r1, _08000B10 @ =gUnknown_3000000
adds r1, r0, r1
ldrh r1, [r1]
orrs r1, r2
lsls r1, 16
lsrs r1, 16
bl sub_8000A38
pop {r0}
bx r0
.align 2, 0
_08000B10: .4byte gUnknown_3000000
thumb_func_end sub_8000AF4
thumb_func_start sub_8000B14
sub_8000B14: @ 8000B14
push {lr}
adds r2, r1, 0
lsls r0, 24
lsrs r0, 24
lsls r2, 16
ldr r1, _08000B30 @ =gUnknown_3000000
adds r1, r0, r1
ldrh r1, [r1]
lsrs r2, 16
bics r1, r2
bl sub_8000A38
pop {r0}
bx r0
.align 2, 0
_08000B30: .4byte gUnknown_3000000
thumb_func_end sub_8000B14
thumb_func_start sub_8000B34
sub_8000B34: @ 8000B34
push {r4,r5,lr}
ldr r5, _08000B58 @ =gUnknown_30000C1
ldrb r0, [r5]
cmp r0, 0
beq _08000B52
ldr r2, _08000B5C @ =0x04000208
ldrh r1, [r2]
movs r4, 0
strh r4, [r2]
ldr r3, _08000B60 @ =0x04000200
ldr r0, _08000B64 @ =gUnknown_30000C2
ldrh r0, [r0]
strh r0, [r3]
strh r1, [r2]
strb r4, [r5]
_08000B52:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08000B58: .4byte gUnknown_30000C1
_08000B5C: .4byte 0x04000208
_08000B60: .4byte 0x04000200
_08000B64: .4byte gUnknown_30000C2
thumb_func_end sub_8000B34
thumb_func_start sub_8000B68
sub_8000B68: @ 8000B68
push {r4,lr}
lsls r0, 16
lsrs r0, 16
ldr r4, _08000B8C @ =gUnknown_30000C2
ldrh r1, [r4]
orrs r0, r1
strh r0, [r4]
ldr r1, _08000B90 @ =gUnknown_30000C1
movs r0, 0x1
strb r0, [r1]
bl sub_8000B34
ldrh r0, [r4]
bl sub_8000BC0
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08000B8C: .4byte gUnknown_30000C2
_08000B90: .4byte gUnknown_30000C1
thumb_func_end sub_8000B68
thumb_func_start sub_8000B94
sub_8000B94: @ 8000B94
push {r4,lr}
lsls r0, 16
lsrs r0, 16
ldr r4, _08000BB8 @ =gUnknown_30000C2
ldrh r1, [r4]
bics r1, r0
strh r1, [r4]
ldr r1, _08000BBC @ =gUnknown_30000C1
movs r0, 0x1
strb r0, [r1]
bl sub_8000B34
ldrh r0, [r4]
bl sub_8000BC0
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08000BB8: .4byte gUnknown_30000C2
_08000BBC: .4byte gUnknown_30000C1
thumb_func_end sub_8000B94
thumb_func_start sub_8000BC0
sub_8000BC0: @ 8000BC0
push {r4,lr}
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
movs r0, 0x4
bl sub_8000AC4
movs r2, 0x18
ands r2, r0
movs r1, 0x1
ands r1, r4
negs r0, r1
orrs r0, r1
asrs r1, r0, 31
movs r0, 0x8
ands r1, r0
movs r0, 0x2
ands r0, r4
cmp r0, 0
beq _08000BEC
movs r0, 0x10
orrs r1, r0
_08000BEC:
cmp r2, r1
beq _08000BF6
movs r0, 0x4
bl sub_8000A38
_08000BF6:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8000BC0
.align 2, 0 @ Don't pad with nop.
+3442
View File
File diff suppressed because it is too large Load Diff
+254
View File
@@ -0,0 +1,254 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80BFC50
sub_80BFC50: @ 80BFC50
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
lsls r1, 16
lsrs r1, 16
movs r3, 0
ldr r2, _080BFC74 @ =gUnknown_83EEBF8
_080BFC5E:
movs r0, 0
ldrsb r0, [r2, r0]
cmp r0, r4
bne _080BFC78
movs r0, 0x1
ldrsb r0, [r2, r0]
cmp r0, r1
bne _080BFC78
adds r0, r3, 0x1
b _080BFC82
.align 2, 0
_080BFC74: .4byte gUnknown_83EEBF8
_080BFC78:
adds r2, 0x8
adds r3, 0x1
cmp r3, 0x13
bls _080BFC5E
movs r0, 0
_080BFC82:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80BFC50
thumb_func_start sub_80BFC88
sub_80BFC88: @ 80BFC88
push {lr}
lsls r0, 16
lsrs r0, 16
lsls r1, 16
lsrs r1, 16
bl sub_80BFC50
cmp r0, 0
beq _080BFCA8
lsls r0, 3
ldr r1, _080BFCA4 @ =gUnknown_83EEBF0
adds r0, r1
b _080BFCAA
.align 2, 0
_080BFCA4: .4byte gUnknown_83EEBF0
_080BFCA8:
movs r0, 0
_080BFCAA:
pop {r1}
bx r1
thumb_func_end sub_80BFC88
thumb_func_start sub_80BFCB0
sub_80BFCB0: @ 80BFCB0
push {lr}
cmp r0, 0
beq _080BFCC8
cmp r0, 0x14
bhi _080BFCC8
lsls r0, 3
ldr r1, _080BFCC4 @ =gUnknown_83EEBF0
adds r0, r1
b _080BFCCA
.align 2, 0
_080BFCC4: .4byte gUnknown_83EEBF0
_080BFCC8:
movs r0, 0
_080BFCCA:
pop {r1}
bx r1
thumb_func_end sub_80BFCB0
thumb_func_start sub_80BFCD0
sub_80BFCD0: @ 80BFCD0
push {r4-r6,lr}
adds r4, r0, 0
ldr r6, _080BFD24 @ =0x00004082
adds r0, r6, 0
bl sub_806E568
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x1
bne _080BFD38
ldr r0, _080BFD28 @ =gUnknown_3005008
ldr r1, [r0]
ldr r2, _080BFD2C @ =0x00003d34
adds r0, r1, r2
ldr r2, [r0]
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
adds r1, r0
ldr r0, _080BFD30 @ =0x00003d42
adds r1, r0
ldrb r0, [r1]
lsls r0, 29
cmp r0, 0
blt _080BFD0A
adds r0, r6, 0
movs r1, 0
bl sub_806E584
_080BFD0A:
ldr r0, _080BFD34 @ =gUnknown_20370D2
strh r5, [r0]
movs r0, 0x4
strh r0, [r4, 0x4]
movs r0, 0xB
strh r0, [r4, 0x6]
movs r0, 0x2
strb r0, [r4]
movs r0, 0xA
strb r0, [r4, 0x1]
movs r0, 0xFF
strb r0, [r4, 0x2]
b _080BFDFA
.align 2, 0
_080BFD24: .4byte 0x00004082
_080BFD28: .4byte gUnknown_3005008
_080BFD2C: .4byte 0x00003d34
_080BFD30: .4byte 0x00003d42
_080BFD34: .4byte gUnknown_20370D2
_080BFD38:
ldr r0, _080BFD7C @ =gUnknown_3005008
ldr r1, [r0]
movs r0, 0x1C
ldrsb r0, [r1, r0]
lsls r0, 16
lsrs r0, 16
ldrb r1, [r1, 0x1D]
lsls r1, 24
asrs r1, 24
lsls r1, 16
lsrs r1, 16
bl sub_80BFC50
adds r6, r0, 0
ldr r2, _080BFD80 @ =gUnknown_83EEC98
subs r0, r6, 0x1
lsls r0, 2
adds r1, r0, r2
ldrh r1, [r1]
strb r1, [r4]
adds r2, 0x2
adds r0, r2
ldrh r2, [r0]
strb r2, [r4, 0x1]
movs r0, 0xFF
strb r0, [r4, 0x2]
cmp r1, 0x4
bne _080BFD84
cmp r2, 0
bne _080BFD84
movs r0, 0x8
strh r0, [r4, 0x4]
movs r0, 0x5
b _080BFDF2
.align 2, 0
_080BFD7C: .4byte gUnknown_3005008
_080BFD80: .4byte gUnknown_83EEC98
_080BFD84:
ldr r0, _080BFDA4 @ =gUnknown_83EEC98
subs r2, r6, 0x1
lsls r3, r2, 2
adds r1, r3, r0
ldrh r1, [r1]
adds r5, r0, 0
cmp r1, 0xD
bne _080BFDA8
adds r0, r5, 0x2
adds r0, r3, r0
ldrh r0, [r0]
cmp r0, 0
bne _080BFDA8
strh r1, [r4, 0x4]
movs r0, 0xC
b _080BFDF2
.align 2, 0
_080BFDA4: .4byte gUnknown_83EEC98
_080BFDA8:
lsls r1, r2, 2
adds r0, r1, r5
ldrh r0, [r0]
cmp r0, 0x20
bne _080BFDC0
adds r0, r5, 0x2
adds r0, r1, r0
ldrh r0, [r0]
cmp r0, 0
bne _080BFDC0
movs r0, 0x5
b _080BFDEE
_080BFDC0:
lsls r2, 2
adds r0, r2, r5
ldrh r0, [r0]
cmp r0, 0x2
bne _080BFDEC
adds r0, r5, 0x2
adds r0, r2, r0
ldrh r0, [r0]
cmp r0, 0xA
bne _080BFDEC
movs r0, 0x4
strh r0, [r4, 0x4]
movs r0, 0xB
strh r0, [r4, 0x6]
ldr r0, _080BFDE8 @ =0x00004082
movs r1, 0
bl sub_806E584
b _080BFDF4
.align 2, 0
_080BFDE8: .4byte 0x00004082
_080BFDEC:
movs r0, 0x7
_080BFDEE:
strh r0, [r4, 0x4]
movs r0, 0x4
_080BFDF2:
strh r0, [r4, 0x6]
_080BFDF4:
adds r0, r6, 0
bl sub_80BFE00
_080BFDFA:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80BFCD0
thumb_func_start sub_80BFE00
sub_80BFE00: @ 80BFE00
ldr r2, _080BFE10 @ =gUnknown_20370D2
ldr r1, _080BFE14 @ =gUnknown_83EECE8
subs r0, 0x1
adds r0, r1
ldrb r0, [r0]
strh r0, [r2]
bx lr
.align 2, 0
_080BFE10: .4byte gUnknown_20370D2
_080BFE14: .4byte gUnknown_83EECE8
thumb_func_end sub_80BFE00
.align 2, 0 @ Don't pad with nop.
+2254
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+118
View File
@@ -0,0 +1,118 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80CA53C
sub_80CA53C: @ 80CA53C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080CA56C @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080CA564
bl sub_8003ECC
movs r0, 0
bl sub_8001618
adds r0, r4, 0
bl sub_8077508
ldr r0, _080CA570 @ =sub_80F2978
bl sub_8000544
_080CA564:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080CA56C: .4byte gUnknown_2037AB8
_080CA570: .4byte sub_80F2978
thumb_func_end sub_80CA53C
thumb_func_start sub_80CA574
sub_80CA574: @ 80CA574
push {lr}
sub sp, 0x4
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl sub_8070588
bl sub_8069940
ldr r0, _080CA59C @ =sub_80CA53C
movs r1, 0
bl sub_807741C
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080CA59C: .4byte sub_80CA53C
thumb_func_end sub_80CA574
thumb_func_start sub_80CA5A0
sub_80CA5A0: @ 80CA5A0
push {lr}
ldr r0, _080CA5B4 @ =sub_80567DC
bl sub_8000544
ldr r1, _080CA5B8 @ =gUnknown_3005020
ldr r0, _080CA5BC @ =sub_80CA5C0
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080CA5B4: .4byte sub_80567DC
_080CA5B8: .4byte gUnknown_3005020
_080CA5BC: .4byte sub_80CA5C0
thumb_func_end sub_80CA5A0
thumb_func_start sub_80CA5C0
sub_80CA5C0: @ 80CA5C0
push {lr}
sub sp, 0x4
bl sub_8069940
bl sub_8055DC4
bl sub_809D040
bl sub_809D254
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl sub_8070588
ldr r0, _080CA5F4 @ =sub_80CA5F8
movs r1, 0xA
bl sub_807741C
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080CA5F4: .4byte sub_80CA5F8
thumb_func_end sub_80CA5C0
thumb_func_start sub_80CA5F8
sub_80CA5F8: @ 80CA5F8
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080CA614 @ =gUnknown_2037AB8
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080CA610
adds r0, r2, 0
bl sub_8077508
_080CA610:
pop {r0}
bx r0
.align 2, 0
_080CA614: .4byte gUnknown_2037AB8
thumb_func_end sub_80CA5F8
.align 2, 0 @ Don't pad with nop.
+4841
View File
File diff suppressed because it is too large Load Diff
+1853
View File
File diff suppressed because it is too large Load Diff
+7021
View File
File diff suppressed because it is too large Load Diff
+680
View File
@@ -0,0 +1,680 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80984D8
sub_80984D8: @ 80984D8
push {r4,lr}
movs r2, 0
ldr r4, _080984F8 @ =gUnknown_2039878
movs r3, 0xFF
_080984E0:
adds r0, r2, r4
ldrb r1, [r0]
orrs r1, r3
strb r1, [r0]
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0xB
bls _080984E0
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080984F8: .4byte gUnknown_2039878
thumb_func_end sub_80984D8
thumb_func_start sub_80984FC
sub_80984FC: @ 80984FC
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _08098520 @ =gUnknown_83D41FC
movs r1, 0x28
movs r2, 0x44
movs r3, 0
bl sub_8006F8C
ldr r1, _08098524 @ =gUnknown_2039878
strb r0, [r1]
adds r0, r4, 0
bl sub_8098528
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08098520: .4byte gUnknown_83D41FC
_08098524: .4byte gUnknown_2039878
thumb_func_end sub_80984FC
thumb_func_start sub_8098528
sub_8098528: @ 8098528
push {lr}
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r0, _08098550 @ =gUnknown_2039878
ldrb r2, [r0]
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
ldr r2, _08098554 @ =gUnknown_202063C
adds r0, r2
ldr r2, _08098558 @ =0x0000fffb
strh r2, [r0, 0x26]
ldr r2, _0809855C @ =sub_8098560
str r2, [r0, 0x1C]
bl sub_800838C
pop {r0}
bx r0
.align 2, 0
_08098550: .4byte gUnknown_2039878
_08098554: .4byte gUnknown_202063C
_08098558: .4byte 0x0000fffb
_0809855C: .4byte sub_8098560
thumb_func_end sub_8098528
thumb_func_start sub_8098560
sub_8098560: @ 8098560
push {lr}
adds r1, r0, 0
ldrh r2, [r1, 0x26]
movs r3, 0x26
ldrsh r0, [r1, r3]
cmp r0, 0
beq _08098574
adds r0, r2, 0x1
strh r0, [r1, 0x26]
b _08098578
_08098574:
ldr r0, _0809857C @ =nullsub_8
str r0, [r1, 0x1C]
_08098578:
pop {r0}
bx r0
.align 2, 0
_0809857C: .4byte nullsub_8
thumb_func_end sub_8098560
thumb_func_start sub_8098580
sub_8098580: @ 8098580
push {r4,lr}
ldr r0, _080985B0 @ =gUnknown_2039878
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _080985B4 @ =gUnknown_202063C
adds r4, r0, r1
adds r0, r4, 0
adds r0, 0x3F
ldrb r1, [r0]
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _080985AA
adds r0, r4, 0
movs r1, 0x1
bl sub_800843C
ldr r0, _080985B8 @ =sub_80985BC
str r0, [r4, 0x1C]
_080985AA:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080985B0: .4byte gUnknown_2039878
_080985B4: .4byte gUnknown_202063C
_080985B8: .4byte sub_80985BC
thumb_func_end sub_8098580
thumb_func_start sub_80985BC
sub_80985BC: @ 80985BC
push {r4,lr}
adds r4, r0, 0
adds r0, 0x3F
ldrb r1, [r0]
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _080985D8
adds r0, r4, 0
movs r1, 0
bl sub_800843C
ldr r0, _080985E0 @ =nullsub_8
str r0, [r4, 0x1C]
_080985D8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080985E0: .4byte nullsub_8
thumb_func_end sub_80985BC
thumb_func_start sub_80985E4
sub_80985E4: @ 80985E4
push {r4-r7,lr}
ldr r7, _08098620 @ =gUnknown_2039879
movs r5, 0
ldr r6, _08098624 @ =gUnknown_202063C
_080985EC:
lsls r1, r5, 20
movs r0, 0xC0
lsls r0, 15
adds r1, r0
asrs r1, 16
ldr r0, _08098628 @ =gUnknown_83D4250
movs r2, 0x7
movs r3, 0
bl sub_8006F8C
adds r1, r7, r5
strb r0, [r1]
adds r4, r1, 0
cmp r5, 0
beq _0809863C
cmp r5, 0x8
bne _0809862C
ldrb r1, [r7, 0x8]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r6
movs r1, 0x2
bl sub_800838C
b _0809863C
.align 2, 0
_08098620: .4byte gUnknown_2039879
_08098624: .4byte gUnknown_202063C
_08098628: .4byte gUnknown_83D4250
_0809862C:
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r6
movs r1, 0x1
bl sub_800838C
_0809863C:
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r6
adds r0, 0x3E
ldrb r1, [r0]
movs r2, 0x4
orrs r1, r2
strb r1, [r0]
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x8
bls _080985EC
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80985E4
thumb_func_start sub_8098660
sub_8098660: @ 8098660
push {r4-r7,lr}
lsls r0, 24
lsrs r0, 24
ldr r7, _080986A0 @ =gUnknown_2039879
movs r3, 0
ldr r6, _080986A4 @ =gUnknown_202063C
movs r1, 0x1
ands r0, r1
lsls r4, r0, 2
movs r5, 0x5
negs r5, r5
_08098676:
adds r0, r7, r3
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r6
adds r1, 0x3E
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
orrs r0, r4
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x8
bls _08098676
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080986A0: .4byte gUnknown_2039879
_080986A4: .4byte gUnknown_202063C
thumb_func_end sub_8098660
thumb_func_start sub_80986A8
sub_80986A8: @ 80986A8
push {r4-r7,lr}
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 16
lsrs r1, 16
ldr r7, _080986E4 @ =gUnknown_2039879
movs r3, 0
ldr r4, _080986E8 @ =gUnknown_202063C
adds r5, r1, 0x7
_080986BA:
adds r2, r7, r3
ldrb r1, [r2]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
strh r6, [r0, 0x24]
ldrb r1, [r2]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
strh r5, [r0, 0x22]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x8
bls _080986BA
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080986E4: .4byte gUnknown_2039879
_080986E8: .4byte gUnknown_202063C
thumb_func_end sub_80986A8
thumb_func_start sub_80986EC
sub_80986EC: @ 80986EC
push {r4,r5,lr}
ldr r5, _08098714 @ =gUnknown_2039884
movs r0, 0x90
lsls r0, 1
bl sub_8002B9C
str r0, [r5]
cmp r0, 0
beq _08098722
ldr r4, _08098718 @ =gUnknown_2039888
movs r0, 0x80
lsls r0, 2
bl sub_8002BB0
str r0, [r4]
cmp r0, 0
beq _0809871C
movs r0, 0x1
b _08098724
.align 2, 0
_08098714: .4byte gUnknown_2039884
_08098718: .4byte gUnknown_2039888
_0809871C:
ldr r0, [r5]
bl sub_8002BC4
_08098722:
movs r0, 0
_08098724:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80986EC
thumb_func_start sub_809872C
sub_809872C: @ 809872C
push {r4-r6,lr}
adds r6, r0, 0
adds r5, r1, 0
movs r4, 0
_08098734:
lsls r0, r4, 1
adds r0, r4
lsls r0, 5
adds r0, r6, r0
lsls r1, r4, 7
adds r1, r5, r1
movs r2, 0x30
bl CpuSet
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _08098734
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_809872C
thumb_func_start sub_8098758
sub_8098758: @ 8098758
push {r4-r7,lr}
sub sp, 0x28
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 16
lsrs r5, r1, 16
lsls r2, 16
lsrs r7, r2, 16
bl sub_80986EC
lsls r0, 24
cmp r0, 0
beq _08098810
adds r0, r7, 0
movs r1, 0
bl sub_8098974
ldr r2, _080987FC @ =gUnknown_2039884
ldr r1, [r2]
bl sub_800EBB4
ldr r1, _080987FC @ =gUnknown_2039884
ldr r0, [r1]
ldr r2, _08098800 @ =gUnknown_2039888
ldr r1, [r2]
bl sub_809872C
ldr r1, _08098800 @ =gUnknown_2039888
ldr r0, [r1]
str r0, [sp, 0x18]
ldr r4, _08098804 @ =0xffff0000
add r0, sp, 0x18
ldr r1, [r0, 0x4]
ands r1, r4
movs r2, 0x80
lsls r2, 2
orrs r1, r2
lsls r3, r6, 16
ldr r2, _08098808 @ =0x0000ffff
ands r1, r2
orrs r1, r3
str r1, [r0, 0x4]
bl sub_80086DC
adds r0, r7, 0
movs r1, 0x1
bl sub_8098974
str r0, [sp, 0x20]
add r0, sp, 0x20
ldr r1, [r0, 0x4]
ands r1, r4
orrs r1, r5
str r1, [r0, 0x4]
bl sub_800EC28
ldr r0, _0809880C @ =gUnknown_83D427C
mov r1, sp
movs r2, 0xC
bl CpuSet
mov r0, sp
strh r6, [r0]
strh r5, [r0, 0x2]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_8006F8C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r2, _080987FC @ =gUnknown_2039884
ldr r0, [r2]
bl sub_8002BC4
ldr r1, _08098800 @ =gUnknown_2039888
ldr r0, [r1]
bl sub_8002BC4
adds r0, r4, 0
b _08098812
.align 2, 0
_080987FC: .4byte gUnknown_2039884
_08098800: .4byte gUnknown_2039888
_08098804: .4byte 0xffff0000
_08098808: .4byte 0x0000ffff
_0809880C: .4byte gUnknown_83D427C
_08098810:
movs r0, 0x40
_08098812:
add sp, 0x28
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8098758
thumb_func_start sub_809881C
sub_809881C: @ 809881C
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x28
mov r8, r0
lsls r1, 16
lsrs r6, r1, 16
lsls r2, 16
lsrs r5, r2, 16
lsls r3, 16
lsrs r7, r3, 16
bl sub_80986EC
lsls r0, 24
cmp r0, 0
beq _080988D8
adds r0, r7, 0
movs r1, 0
bl sub_8098974
ldr r2, _080988C8 @ =gUnknown_2039884
ldr r1, [r2]
bl sub_800EBB4
ldr r1, _080988C8 @ =gUnknown_2039884
ldr r0, [r1]
ldr r2, _080988CC @ =gUnknown_2039888
ldr r1, [r2]
bl sub_809872C
ldr r1, _080988CC @ =gUnknown_2039888
ldr r0, [r1]
str r0, [sp, 0x18]
ldr r4, _080988D0 @ =0xffff0000
add r0, sp, 0x18
ldr r1, [r0, 0x4]
ands r1, r4
movs r2, 0x80
lsls r2, 2
orrs r1, r2
lsls r3, r6, 16
ldr r2, _080988D4 @ =0x0000ffff
ands r1, r2
orrs r1, r3
str r1, [r0, 0x4]
bl sub_80086DC
adds r0, r7, 0
movs r1, 0x1
bl sub_8098974
str r0, [sp, 0x20]
add r0, sp, 0x20
ldr r1, [r0, 0x4]
ands r1, r4
orrs r1, r5
str r1, [r0, 0x4]
bl sub_800EC28
mov r0, r8
mov r1, sp
movs r2, 0xC
bl CpuSet
mov r0, sp
strh r6, [r0]
strh r5, [r0, 0x2]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_8006F8C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r2, _080988C8 @ =gUnknown_2039884
ldr r0, [r2]
bl sub_8002BC4
ldr r1, _080988CC @ =gUnknown_2039888
ldr r0, [r1]
bl sub_8002BC4
adds r0, r4, 0
b _080988DA
.align 2, 0
_080988C8: .4byte gUnknown_2039884
_080988CC: .4byte gUnknown_2039888
_080988D0: .4byte 0xffff0000
_080988D4: .4byte 0x0000ffff
_080988D8:
movs r0, 0x40
_080988DA:
add sp, 0x28
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_809881C
thumb_func_start sub_80988E8
sub_80988E8: @ 80988E8
push {r4-r6,lr}
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 24
lsrs r1, 24
ldr r0, _08098938 @ =gUnknown_2039882
adds r5, r1, r0
ldrb r0, [r5]
cmp r0, 0xFF
bne _08098932
adds r4, r1, 0
adds r4, 0x66
adds r0, r4, 0
bl sub_800874C
adds r0, r4, 0
bl sub_8008A30
adds r0, r4, 0
adds r1, r4, 0
adds r2, r6, 0
bl sub_8098758
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
beq _08098932
strb r2, [r5]
ldr r1, _0809893C @ =gUnknown_202063C
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
adds r0, r1
movs r1, 0x18
strh r1, [r0, 0x24]
movs r1, 0x8C
strh r1, [r0, 0x26]
_08098932:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08098938: .4byte gUnknown_2039882
_0809893C: .4byte gUnknown_202063C
thumb_func_end sub_80988E8
thumb_func_start sub_8098940
sub_8098940: @ 8098940
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _0809896C @ =gUnknown_2039882
adds r4, r0, r1
ldrb r0, [r4]
cmp r0, 0xFF
beq _08098964
adds r1, r0, 0
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _08098970 @ =gUnknown_202063C
adds r0, r1
bl sub_8007804
movs r0, 0xFF
strb r0, [r4]
_08098964:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0809896C: .4byte gUnknown_2039882
_08098970: .4byte gUnknown_202063C
thumb_func_end sub_8098940
thumb_func_start sub_8098974
sub_8098974: @ 8098974
push {lr}
lsls r0, 16
lsrs r3, r0, 16
lsls r1, 24
lsrs r1, 24
ldr r0, _08098998 @ =0x00000177
cmp r3, r0
bls _08098986
movs r3, 0
_08098986:
ldr r2, _0809899C @ =gUnknown_83D4294
lsls r0, r1, 2
lsls r1, r3, 3
adds r0, r1
adds r0, r2
ldr r0, [r0]
pop {r1}
bx r1
.align 2, 0
_08098998: .4byte 0x00000177
_0809899C: .4byte gUnknown_83D4294
thumb_func_end sub_8098974
thumb_func_start sub_80989A0
sub_80989A0: @ 80989A0
push {r4-r6,lr}
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 24
lsrs r1, 24
ldr r0, _080989F0 @ =gUnknown_2039882
adds r5, r1, r0
ldrb r0, [r5]
cmp r0, 0xFF
bne _080989EA
adds r4, r1, 0
adds r4, 0x66
adds r0, r4, 0
bl sub_800874C
adds r0, r4, 0
bl sub_8008A30
adds r0, r4, 0
adds r1, r4, 0
adds r2, r6, 0
bl sub_8098758
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
beq _080989EA
strb r2, [r5]
ldr r1, _080989F4 @ =gUnknown_202063C
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
adds r0, r1
movs r1, 0x18
strh r1, [r0, 0x24]
movs r1, 0x93
strh r1, [r0, 0x26]
_080989EA:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080989F0: .4byte gUnknown_2039882
_080989F4: .4byte gUnknown_202063C
thumb_func_end sub_80989A0
.align 2, 0 @ Don't pad with nop.

Some files were not shown because too many files have changed in this diff Show More