first commit
This commit is contained in:
@@ -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
@@ -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/
|
||||
@@ -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 $< $@
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+13887
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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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
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
+2180
File diff suppressed because it is too large
Load Diff
+3664
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+12796
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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.
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+897
@@ -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.
|
||||
@@ -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
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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.
|
||||
@@ -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
@@ -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.
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+227
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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.
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+1820
File diff suppressed because it is too large
Load Diff
@@ -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
File diff suppressed because it is too large
Load Diff
+1299
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
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
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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
@@ -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.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2400
File diff suppressed because it is too large
Load Diff
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+118
@@ -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
File diff suppressed because it is too large
Load Diff
+1853
File diff suppressed because it is too large
Load Diff
+7021
File diff suppressed because it is too large
Load Diff
@@ -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
Reference in New Issue
Block a user