Initial commit

This commit is contained in:
PikalaxALT 2021-06-18 08:29:26 -04:00
commit 0f39869694
725 changed files with 639870 additions and 0 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
*.sha1 text eol=lf
charmap.txt text eol=crlf

1
.github/calcrom/.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
webhook.sh text eol=lf

2
.github/calcrom/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
calcrom
*.exe

17
.github/calcrom/Makefile vendored Normal file
View File

@ -0,0 +1,17 @@
CXX := g++
CXXFLAGS := -O3 -std=c++11
ifeq ($(OS),Windows_NT)
EXE := .exe
else
EXE :=
endif
TARGET := calcrom$(EXE)
.PHONY: all
all: $(TARGET)
$(TARGET): calcrom.cpp
$(CXX) $(CXXFLAGS) -o $@ $^

153
.github/calcrom/calcrom.cpp vendored Normal file
View File

@ -0,0 +1,153 @@
/*
* CALCROM.CPP
* © PikalaxALT 2020
*
* Simple C++ executable to measure the completion rate of Pokémon Diamond
* reverse engineering (decompilation).
*
* Requirements:
* - Must have C++11 compliant compiler.
* - MacOS X: Must provide elf.h on the include (-I) path.
* - Must be placed in ".travis/calcrom/".
*
* Changelog:
* - 0.1.0 (26 May 2020):
* Initial implementation
* - 0.1.1 (26 May 2020):
* Allow program to be run from wherever
* - 0.1.2 (27 May 2020):
* Extra security on ELF header
* - 0.1.3 (30 Jun 2020):
* Account for diamond/pearl split
*/
#include <iostream>
#include <fstream>
#include <sstream>
#include <elf.h>
#include <glob.h>
#include <string.h>
#include <vector>
#include <string>
using namespace std;
struct Glob : public vector<char const *> {
glob_t glob_result;
public:
Glob(string const & pattern) {
int result = glob(pattern.c_str(), GLOB_TILDE | GLOB_BRACE, NULL, &glob_result);
if (result) {
stringstream ss;
ss << "Glob(" << pattern << ") failed with error " << result << endl;
throw runtime_error(ss.str());
}
assign(glob_result.gl_pathv, glob_result.gl_pathv + glob_result.gl_pathc);
};
void operator~() {
globfree(&glob_result);
}
};
void analyze(string basedir, string subdir, string version) {
fstream elf;
Elf32_Ehdr ehdr;
vector<Elf32_Shdr> shdr;
stringstream pattern;
// Accumulate sizes
// src asm
// data _____|_____
// text |
unsigned sizes[2][2] = {{0, 0}, {0, 0}};
char * shstrtab = NULL;
size_t shstrsz = 0;
stringstream builddir;
builddir << subdir << "/build/" << version;
pattern << basedir << "/" << subdir << "/{src,asm,lib/{src,asm},modules/*/{src,asm}}/*.{c,s,cpp}";
for (char const * & fname : Glob(pattern.str()))
{
string fname_s(fname);
string ext = fname_s.substr(fname_s.rfind('.'), 4);
bool is_asm = ext == ".s";
fname_s = fname_s.replace(fname_s.find(subdir), 4, builddir.str());
fname_s = fname_s.replace(fname_s.rfind('.'), 4, ".o");
elf.open(fname_s, ios_base::in | ios_base::binary);
if (!elf.good()) {
cerr << "Error: file not found: " << fname_s << endl;
return;
}
elf.read((char *)&ehdr, sizeof(ehdr));
if (memcmp(ehdr.e_ident, ELFMAG, SELFMAG) != 0
|| ehdr.e_ehsize != sizeof(Elf32_Ehdr)
|| ehdr.e_shentsize != sizeof(Elf32_Shdr))
{
elf.close();
stringstream ss;
ss << "Error validating " << fname_s << " as an ELF file" << endl;
throw runtime_error(ss.str());
}
// Read ELF sections
elf.seekg(ehdr.e_shoff);
shdr.resize(ehdr.e_shnum);
elf.read((char *)shdr.data(), ehdr.e_shnum * ehdr.e_shentsize);
// Read .shstrtab
if (shstrsz < shdr[ehdr.e_shstrndx].sh_size) {
shstrtab = (char *)realloc(shstrtab, shdr[ehdr.e_shstrndx].sh_size);
shstrsz = shdr[ehdr.e_shstrndx].sh_size;
}
elf.seekg(shdr[ehdr.e_shstrndx].sh_offset);
elf.read(shstrtab, shdr[ehdr.e_shstrndx].sh_size);
elf.close();
// Analyze sections
for (Elf32_Shdr & hdr : shdr) {
string shname = shstrtab + hdr.sh_name;
bool is_text = (shname == ".text" || shname == ".init" || shname == ".itcm");
bool is_data = (shname == ".data" || shname == ".rodata" || shname == ".sdata" || shname == ".dtcm");
size_t size = hdr.sh_size + (hdr.sh_size & 3 ? 4 - (hdr.sh_size & 3) : 0);
if (is_text || is_data)
{
sizes[is_text][is_asm] += size;
}
}
}
free(shstrtab);
cout << "Analysis of " << (version.empty() ? subdir : version) << " binary:" << endl;
// Report code
unsigned total_text = sizes[1][0] + sizes[1][1];
double total_text_d = total_text;
double src_text_d = sizes[1][0];
double asm_text_d = sizes[1][1];
cout << " " << total_text << " total bytes of code" << endl;
cout << " " << sizes[1][0] << " bytes of code in src (" << (src_text_d / total_text_d * 100.0) << "%)" << endl;
cout << " " << sizes[1][1] << " bytes of code in asm (" << (asm_text_d / total_text_d * 100.0) << "%)" << endl;
cout << endl;
// Report data
unsigned total_data = sizes[0][0] + sizes[0][1];
double total_data_d = total_data;
double src_data_d = sizes[0][0];
double asm_data_d = sizes[0][1];
cout << " " << total_data << " total bytes of data" << endl;
cout << " " << sizes[0][0] << " bytes of data in src (" << (src_data_d / total_data_d * 100.0) << "%)" << endl;
cout << " " << sizes[0][1] << " bytes of data in asm (" << (asm_data_d / total_data_d * 100.0) << "%)" << endl;
// Let vectors fall to gc
}
int main(int argc, char ** argv)
{
if (argc < 2) {
cout << "usage: calcrom PROJECT_DIR" << endl;
throw invalid_argument("missing required argument: PROJECT_DIR\n");
}
analyze(argv[1], "arm9", "diamond.us");
cout << endl;
analyze(argv[1], "arm9", "pearl.us");
cout << endl;
analyze(argv[1], "arm7", "");
return 0;
}

18
.github/calcrom/webhook.sh vendored Normal file
View File

@ -0,0 +1,18 @@
#!/bin/bash -ex
# Only run this script if it's the master branch build.
if [[ "$GITHUB_REF" != "refs/heads/master" || "$GITHUB_EVENT_NAME" != "push" ]]; then
exit 0
fi
build_name=$1
url=$2
map_file=$(dirname "$0")/../../arm9/build/diamond.us/arm9.elf.xMAP
if [ ! -f $map_file ]; then
echo "$map_file does not exist!"
exit 1
fi
make -C ${GITHUB_WORKSPACE}/.github/calcrom
output=$(${GITHUB_WORKSPACE}/.github/calcrom/calcrom ${GITHUB_WORKSPACE} | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL\", \"content\":\"\`\`\`$build_name progress:\\n$output\`\`\`\"}" -H "Content-Type: application/json" -X POST $url

51
.github/workflows/build.yml.staging vendored Normal file
View File

@ -0,0 +1,51 @@
name: build
on: [push, pull_request]
env:
LM_LICENSE_FILE: "$GITHUB_WORKSPACE/tools/mwccarm/license.dat"
CC: gcc-8
CXX: g++-8
CALCROM_DISCORD_WEBHOOK_AVATAR_URL: "https://i.imgur.com/38BQHdd.png"
CALCROM_DISCORD_WEBHOOK_USERNAME: OK
CALCROM_WEBHOOK_URL: ${{ secrets.WEBHOOKURL }}
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Update and Install Software
run: |
sudo apt update
sudo ACCEPT_EULA=Y apt -y --fix-missing --allow-downgrades upgrade
sudo apt -y --allow-downgrades install g++-8-multilib linux-libc-dev binutils-arm-none-eabi p7zip-full
sudo dpkg --add-architecture i386
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport
sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main"
sudo apt -y --allow-downgrades install --install-recommends winehq-stable
- name: Checkout Repo
uses: actions/checkout@v2
- name: Setup Repo
run: |
mkdir -p ~/download
cd ~/download
wget https://cdn.discordapp.com/attachments/698589325620936736/845499146982129684/mwccarm.zip
wget https://cdn.discordapp.com/attachments/698589325620936736/722822401963851797/NitroSDK-3_2-060901.7z
unzip mwccarm.zip
mv mwccarm $GITHUB_WORKSPACE/tools
7z x NitroSDK-3_2-060901.7z
mv NitroSDK-3_2-060901/tools/bin $GITHUB_WORKSPACE/tools
mv NitroSDK-3_2-060901/include/nitro/specfiles/ARM7-TS.lcf.template $GITHUB_WORKSPACE/arm7
mv NitroSDK-3_2-060901/include/nitro/specfiles/ARM9-TS.lcf.template $GITHUB_WORKSPACE/arm9
working-directory: ~
- name: Build Diamond
run: make diamond
- name: Build Pearl
run: make pearl
- name: Webhook
run: |
sudo chmod 755 $GITHUB_WORKSPACE/.github/calcrom/webhook.sh
$GITHUB_WORKSPACE/.github/calcrom/webhook.sh pokediamond "$CALCROM_WEBHOOK_URL"
continue-on-error: true

52
.gitignore vendored Normal file
View File

@ -0,0 +1,52 @@
# Object files
*.nds
# Compilers
tools/mwccarm/**
# SDK
tools/bin/**
# Build folder
build/**
arm*/build/**
# CLion folders
.idea/
cmake-build-debug/
# ROM
*.srl
# Tool executables
*.exe
# Generated files
*.4bpp
*.lz
*.gbapal
# For asmdiff
arm*/baserom.*
*.dump
*.lcf.template
# Working files
arm9/modules/module_*.s
arm9/modules/module_*.sbin
arm9/modules/module_*.cfg
# Dism scripts
dism.sh
asmdiff.sh
# Symbols CSV
symbols.csv
# NARCs
*.narc
*.arc
files/**/*.c
*.o
*.naix

34
README.md Normal file
View File

@ -0,0 +1,34 @@
# Pokemon HeartGold
This is a WIP disassembly of Pokemon HeartGold. It currently does not compile anything.
The target ROM is:
* [**pokeheartgold.nds**](https://datomatic.no-intro.org/index.php?page=show_record&s=28&n=4787) `sha1: 30793e274fb4c7ba070ae226edbdfe355504b1f5`
Other disassembly and/or decompilation projects:
* [**Pokémon Red and Blue**](https://github.com/pret/pokered)
* [**Pokémon Gold and Silver (Space World '97 demo)**](https://github.com/pret/pokegold-spaceworld)
* [**Pokémon Yellow**](https://github.com/pret/pokeyellow)
* [**Pokémon Trading Card Game**](https://github.com/pret/poketcg)
* [**Pokémon Pinball**](https://github.com/pret/pokepinball)
* [**Pokémon Stadium**](https://github.com/pret/pokestadium)
* [**Pokémon Gold and Silver**](https://github.com/pret/pokegold)
* [**Pokémon Crystal**](https://github.com/pret/pokecrystal)
* [**Pokémon Ruby and Sapphire**](https://github.com/pret/pokeruby)
* [**Pokémon Pinball: Ruby & Sapphire**](https://github.com/pret/pokepinballrs)
* [**Pokémon FireRed and LeafGreen**](https://github.com/pret/pokefirered)
* [**Pokémon Emerald**](https://github.com/pret/pokeemerald)
* [**Pokémon Mystery Dungeon: Red Rescue Team**](https://github.com/pret/pmd-red)
Gen 4 decompilation projects:
* [**Pokémon Diamond and Pearl (pret)**](https://github.com/pret/pokediamond)
* [**Pokémon Platinum (JimB16)**](https://github.com/JimB16/PokePlat)
* [**Pokémon Platinum (Ganix)**](https://github.com/KernelEquinox/PokePlatinum)
## Contacts
You can find us on:
* [Discord (VoidMatrix, #decomp)](https://discord.gg/prUAgd5).
* [Discord (PRET, #pokediamond)](https://discord.gg/d5dubZ3)

1
arm9/asm/macros.inc Normal file
View File

@ -0,0 +1 @@
.include "asm/macros/function.inc"

View File

@ -0,0 +1,24 @@
.macro arm_func_start name
.balign 4, 0
.global \name
.arm
.endm
.macro arm_func_end name
.size \name, .-\name
.endm
.macro thumb_func_start name
.balign 4, 0
.global \name
.thumb
.endm
.macro non_word_aligned_thumb_func_start name
.global \name
.thumb
.endm
.macro thumb_func_end name
.size \name, .-\name
.endm

326235
arm9/asm/main.s Normal file

File diff suppressed because it is too large Load Diff

332
arm9/lib/asm/crt0.s Normal file
View File

@ -0,0 +1,332 @@
.include "asm/macros.inc"
.text
.syntax unified
arm_func_start _start
_start: @ 0x02000800
mov ip, #0x4000000
str ip, [ip, #0x208]
_02000808:
ldrh r0, [ip, #6]
cmp r0, #0
bne _02000808
bl init_cp15
mov r0, #0x13
msr cpsr_c, r0
ldr r0, _02000930 @ =OSi_IntrTable
add r0, r0, #0x3fc0
mov sp, r0
mov r0, #0x12
msr cpsr_c, r0
ldr r0, _02000930 @ =OSi_IntrTable
add r0, r0, #0x3fc0
sub r0, r0, #0x40
sub sp, r0, #4
tst sp, #4
beq _02000850
b _02000854
_02000850:
sub sp, sp, #4
_02000854:
ldr r1, _02000934 @ =0x00000800
sub r1, r0, r1
mov r0, #0x1f
msr cpsr_fsxc, r0
sub sp, r1, #4
mov r0, #0
ldr r1, _02000930 @ =OSi_IntrTable
mov r2, #0x4000
bl INITi_CpuClear32
mov r0, #0
ldr r1, _02000938 @ =0x05000000
mov r2, #0x400
bl INITi_CpuClear32
mov r0, #0x200
ldr r1, _0200093C @ =0x07000000
mov r2, #0x400
bl INITi_CpuClear32
ldr r1, _02000940 @ =_start_ModuleParams
ldr r0, [r1, #0x14]
bl MIi_UncompressBackward
bl do_autoload
ldr r0, _02000940 @ =_start_ModuleParams
ldr r1, [r0, #0xc]
ldr r2, [r0, #0x10]
mov r3, r1
mov r0, #0
_020008BC:
cmp r1, r2
blo _020008C8
b _020008CC
_020008C8:
str r0, [r1], #4
_020008CC:
blo _020008BC
bic r1, r3, #0x1f
_020008D4:
mcr p15, #0, r0, c7, c10, #4
mcr p15, #0, r1, c7, c5, #1
mcr p15, #0, r1, c7, c14, #1
add r1, r1, #0x20
cmp r1, r2
blt _020008D4
ldr r1, _02000944 @ =0x027FFF9C
str r0, [r1]
ldr r1, _02000930 @ =OSi_IntrTable
add r1, r1, #0x3fc0
add r1, r1, #0x3c
ldr r0, _02000948 @ =FUN_01FF8000
str r0, [r1]
bl _fp_init
bl NitroStartUp
bl __call_static_initializers
ldr r1, _0200094C @ =NitroMain
ldr lr, _02000950 @ =0xFFFF0000
tst sp, #4
bne _02000928
b _0200092C
_02000928:
sub sp, sp, #4
_0200092C:
bx r1
.align 2, 0
_02000930: .4byte OSi_IntrTable
_02000934: .4byte 0x00000800
_02000938: .4byte 0x05000000
_0200093C: .4byte 0x07000000
_02000940: .4byte _start_ModuleParams
_02000944: .4byte 0x027FFF9C
_02000948: .4byte FUN_01FF8000
_0200094C: .4byte NitroMain
_02000950: .4byte 0xFFFF0000
arm_func_end _start
arm_func_start INITi_CpuClear32
INITi_CpuClear32: @ 0x02000954
add ip, r1, r2
_02000958:
cmp r1, ip
blt _02000964
b _02000968
_02000964:
stm r1!, {r0}
_02000968:
blt _02000958
bx lr
arm_func_end INITi_CpuClear32
arm_func_start MIi_UncompressBackward
MIi_UncompressBackward: @ 0x02000970
cmp r0, #0
beq _02000A18
push {r4, r5, r6, r7}
ldmdb r0, {r1, r2}
add r2, r0, r2
sub r3, r0, r1, lsr #24
bic r1, r1, #0xff000000
sub r1, r0, r1
mov r4, r2
_02000994:
cmp r3, r1
ble _020009F4
ldrb r5, [r3, #-1]!
mov r6, #8
_020009A4:
subs r6, r6, #1
blt _02000994
tst r5, #0x80
bne _020009C0
ldrb r0, [r3, #-1]!
strb r0, [r2, #-1]!
b _020009E8
_020009C0:
ldrb ip, [r3, #-1]!
ldrb r7, [r3, #-1]!
orr r7, r7, ip, lsl #8
bic r7, r7, #0xf000
add r7, r7, #2
add ip, ip, #0x20
_020009D8:
ldrb r0, [r2, r7]
strb r0, [r2, #-1]!
subs ip, ip, #0x10
bge _020009D8
_020009E8:
cmp r3, r1
lsl r5, r5, #1
bgt _020009A4
_020009F4:
mov r0, #0
bic r3, r1, #0x1f
_020009FC:
mcr p15, #0, r0, c7, c10, #4
mcr p15, #0, r3, c7, c5, #1
mcr p15, #0, r3, c7, c14, #1
add r3, r3, #0x20
cmp r3, r4
blt _020009FC
pop {r4, r5, r6, r7}
_02000A18:
bx lr
arm_func_end MIi_UncompressBackward
arm_func_start do_autoload
do_autoload: @ 0x02000A1C
ldr r0, _02000AA8 @ =_start_ModuleParams
ldr r1, [r0]
ldr r2, [r0, #4]
ldr r3, [r0, #8]
_02000A2C:
cmp r1, r2
beq _02000AA4
ldr r5, [r1], #4
ldr r7, [r1], #4
add r6, r5, r7
mov r4, r5
_02000A44:
cmp r4, r6
bmi _02000A50
b _02000A54
_02000A50:
ldr r7, [r3], #4
_02000A54:
bmi _02000A5C
b _02000A60
_02000A5C:
str r7, [r4], #4
_02000A60:
bmi _02000A44
ldr r7, [r1], #4
add r6, r4, r7
mov r7, #0
_02000A70:
cmp r4, r6
blo _02000A7C
b _02000A80
_02000A7C:
str r7, [r4], #4
_02000A80:
blo _02000A70
bic r4, r5, #0x1f
_02000A88:
mcr p15, #0, r7, c7, c10, #4
mcr p15, #0, r4, c7, c5, #1
mcr p15, #0, r4, c7, c14, #1
add r4, r4, #0x20
cmp r4, r6
blt _02000A88
b _02000A2C
_02000AA4:
b _02000AAC
.align 2, 0
_02000AA8: .4byte _start_ModuleParams
arm_func_end do_autoload
_02000AAC:
bx lr
arm_func_end do_autoload
arm_func_start init_cp15
init_cp15: @ 0x02000AB0
mrc p15, #0, r0, c1, c0, #0
ldr r1, _02000B68 @ =0x000F9005
bic r0, r0, r1
mcr p15, #0, r0, c1, c0, #0
mov r0, #0
mcr p15, #0, r0, c7, c5, #0
mcr p15, #0, r0, c7, c6, #0
mcr p15, #0, r0, c7, c10, #4
ldr r0, _02000B6C @ =0x04000033
mcr p15, #0, r0, c6, c0, #0
ldr r0, _02000B70 @ =0x0200002D
mcr p15, #0, r0, c6, c1, #0
ldr r0, _02000B74 @ =0x027E0021
mcr p15, #0, r0, c6, c2, #0
ldr r0, _02000B78 @ =0x08000035
mcr p15, #0, r0, c6, c3, #0
ldr r0, _02000B7C @ =OSi_IntrTable
orr r0, r0, #0x1a
orr r0, r0, #1
mcr p15, #0, r0, c6, c4, #0
ldr r0, _02000B80 @ =0x0100002F
mcr p15, #0, r0, c6, c5, #0
ldr r0, _02000B84 @ =0xFFFF001D
mcr p15, #0, r0, c6, c6, #0
ldr r0, _02000B88 @ =0x027FF017
mcr p15, #0, r0, c6, c7, #0
mov r0, #0x20
mcr p15, #0, r0, c9, c1, #1
ldr r0, _02000B7C @ =OSi_IntrTable
orr r0, r0, #0xa
mcr p15, #0, r0, c9, c1, #0
mov r0, #0x42
mcr p15, #0, r0, c2, c0, #1
mov r0, #0x42
mcr p15, #0, r0, c2, c0, #0
mov r0, #2
mcr p15, #0, r0, c3, c0, #0
ldr r0, _02000B8C @ =0x05100011
mcr p15, #0, r0, c5, c0, #3
ldr r0, _02000B90 @ =0x15111011
mcr p15, #0, r0, c5, c0, #2
mrc p15, #0, r0, c1, c0, #0
ldr r1, _02000B94 @ =0x0005707D
orr r0, r0, r1
mcr p15, #0, r0, c1, c0, #0
bx lr
.align 2, 0
_02000B68: .4byte 0x000F9005
_02000B6C: .4byte 0x04000033
_02000B70: .4byte 0x0200002D
_02000B74: .4byte 0x027E0021
_02000B78: .4byte 0x08000035
_02000B7C: .4byte OSi_IntrTable
_02000B80: .4byte 0x0100002F
_02000B84: .4byte 0xFFFF001D
_02000B88: .4byte 0x027FF017
_02000B8C: .4byte 0x05100011
_02000B90: .4byte 0x15111011
_02000B94: .4byte 0x0005707D
arm_func_end init_cp15
arm_func_start NitroStartUp
NitroStartUp: @ 0x02000B98
bx lr
arm_func_end NitroStartUp
arm_func_start OSi_ReferSymbol
OSi_ReferSymbol: @ 0x02000B9C
bx lr
arm_func_end OSi_ReferSymbol
.rodata
_start_ModuleParams: @ 0x02000BA0
.byte 0xE0, 0x1E, 0x11, 0x02, 0xF8, 0x1E, 0x11, 0x02, 0x60, 0x18, 0x11, 0x02, 0x60, 0x18, 0x11, 0x02
.byte 0x00, 0x59, 0x1E, 0x02, 0x14, 0xA3, 0x0B, 0x02, 0x33, 0x75, 0x02, 0x04, 0x21, 0x06, 0xC0, 0xDE
.byte 0xDE, 0xC0, 0x06, 0x21
_version_NINTENDO_DWC: @ 0x02000BC4
.byte 0x5B, 0x53, 0x44, 0x4B, 0x2B, 0x4E, 0x49, 0x4E, 0x54, 0x45, 0x4E, 0x44
.byte 0x4F, 0x3A, 0x44, 0x57, 0x43, 0x32, 0x2E, 0x32, 0x2E, 0x33, 0x30, 0x30, 0x30, 0x38, 0x2E, 0x30
.byte 0x38, 0x30, 0x36, 0x33, 0x30, 0x2E, 0x31, 0x39, 0x30, 0x36, 0x5F, 0x44, 0x57, 0x43, 0x5F, 0x32
.byte 0x5F, 0x32, 0x5F, 0x50, 0x4C, 0x55, 0x53, 0x38, 0x5D, 0x00, 0x00, 0x00
_version_NINTENDO_WiFi: @ 0x02000BFC
.byte 0x5B, 0x53, 0x44, 0x4B
.byte 0x2B, 0x4E, 0x49, 0x4E, 0x54, 0x45, 0x4E, 0x44, 0x4F, 0x3A, 0x57, 0x69, 0x46, 0x69, 0x32, 0x2E
.byte 0x31, 0x2E, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2E, 0x30, 0x37, 0x30, 0x39, 0x32, 0x30, 0x30, 0x32
.byte 0x32, 0x39, 0x5D, 0x00
_version_UBIQUITOUS_CPS: @ 0x02000C24
.byte 0x5B, 0x53, 0x44, 0x4B, 0x2B, 0x55, 0x42, 0x49, 0x51, 0x55, 0x49, 0x54
.byte 0x4F, 0x55, 0x53, 0x3A, 0x43, 0x50, 0x53, 0x5D, 0x00, 0x00, 0x00, 0x00
_version_UBIQUITOUS_SSL: @ 0x02000C3C
.byte 0x5B, 0x53, 0x44, 0x4B
.byte 0x2B, 0x55, 0x42, 0x49, 0x51, 0x55, 0x49, 0x54, 0x4F, 0x55, 0x53, 0x3A, 0x53, 0x53, 0x4C, 0x5D
.byte 0x00, 0x00, 0x00, 0x00
_version_Abiosso_libVCT: @ 0x02000C54
.byte 0x5B, 0x53, 0x44, 0x4B, 0x2B, 0x41, 0x62, 0x69, 0x6F, 0x73, 0x73, 0x6F
.byte 0x3A, 0x6C, 0x69, 0x62, 0x56, 0x43, 0x54, 0x20, 0x31, 0x2E, 0x33, 0x2E, 0x31, 0x5D, 0x00, 0x00
_version_NINTENDO_BACKUP: @ 0x02000C70
.byte 0x5B, 0x53, 0x44, 0x4B, 0x2B, 0x4E, 0x49, 0x4E, 0x54, 0x45, 0x4E, 0x44, 0x4F, 0x3A, 0x42, 0x41
.byte 0x43, 0x4B, 0x55, 0x50, 0x5D, 0x00, 0x00, 0x00
_version_NINTENDO_DWC_LOBBY: @ 0x02000C88
.byte 0x5B, 0x53, 0x44, 0x4B, 0x2B, 0x4E, 0x49, 0x4E
.byte 0x54, 0x45, 0x4E, 0x44, 0x4F, 0x3A, 0x44, 0x57, 0x43, 0x5F, 0x4C, 0x4F, 0x42, 0x42, 0x59, 0x5D
.byte 0x00, 0x00, 0x00, 0x00

112513
arm9/lib/asm/sdk.s Normal file

File diff suppressed because it is too large Load Diff

258
arm9/lib/syscall/_secure.s Normal file
View File

@ -0,0 +1,258 @@
.include "asm/macros.inc"
.text
.syntax unified
_secure: @ 0x02000000
.byte 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xE2, 0x31
.byte 0xA3, 0xE9, 0xAE, 0x7B, 0x92, 0x75, 0x75, 0xB1, 0x69, 0x82, 0x1D, 0xE3, 0x22, 0xCB, 0x55, 0xAE
.byte 0xCE, 0xDC, 0x4D, 0x18, 0x1B, 0x3A, 0x9E, 0x4D, 0x42, 0x9F, 0x0C, 0xFF, 0xDF, 0x85, 0x90, 0x80
.byte 0xFC, 0xF6, 0xBE, 0xE9, 0x74, 0x88, 0x1D, 0xE2, 0x39, 0x0B, 0xA0, 0x65, 0xCB, 0x7A, 0x61, 0x3B
.byte 0x8D, 0xAD, 0x12, 0x65, 0x19, 0x5C, 0xCA, 0x77, 0x43, 0xD1, 0x5E, 0xA4, 0x29, 0x0F, 0xF5, 0xDC
.byte 0x3E, 0xB5, 0x56, 0x6F, 0x5E, 0xCC, 0x41, 0x1F, 0x60, 0x01, 0xA0, 0x8C, 0x33, 0x0E, 0x56, 0x34
.byte 0x87, 0x78, 0xFA, 0xE1, 0x87, 0xD4, 0xDE, 0x01, 0x70, 0x0E, 0x3C, 0xE5, 0x2F, 0x62, 0xDD, 0xAB
.byte 0x8F, 0xB2, 0x7D, 0x3F, 0x00, 0xEF, 0x10, 0x4E, 0xDE, 0x36, 0x0A, 0x5B, 0x70, 0x23, 0x45, 0x5F
.byte 0xD1, 0x90, 0xBB, 0xDF, 0x9E, 0x69, 0xC9, 0x5C, 0x2F, 0xE3
non_word_aligned_thumb_func_start SVC_DivRem
SVC_DivRem: @ 0x0200008A
svc #9
adds r0, r1, #0
bx lr
thumb_func_end SVC_DivRem
_02000090:
.byte 0xEC, 0x4E, 0xB6, 0xEC, 0xE6, 0xB3, 0xFD, 0x76, 0x95, 0x7C, 0x06, 0x89, 0x0F, 0x08, 0xC1, 0x9D
.byte 0x32, 0x10, 0xBE, 0x63, 0xE6, 0x0D, 0x9E, 0x9D, 0x93, 0x67, 0x7B, 0x9B, 0x9D, 0xD1, 0xD6, 0xE4
.byte 0xF3, 0x4C, 0xA6, 0xF0, 0xE6, 0xCD, 0xBD, 0xE3, 0x13, 0x9B, 0x3B, 0x88, 0x0F, 0x8D, 0xE1, 0x82
.byte 0xD4, 0xAD, 0x89, 0xE0, 0xA1, 0x33, 0x5D, 0x89, 0x37, 0xA9, 0x4F, 0x34
thumb_func_start SVC_UncompressLZ8
SVC_UncompressLZ8: @ 0x020000CC
svc #0x11
bx lr
thumb_func_end SVC_UncompressLZ8
_020000D0:
.byte 0xE8, 0x6B, 0x87, 0x9A, 0x54, 0x5D, 0xB1, 0xA4, 0x1C, 0x52, 0xE0, 0xDC, 0xCD, 0x9A, 0x8A, 0x5A
.byte 0xEA, 0x09, 0xC1, 0x5A, 0x30, 0xB8, 0x1A, 0x0A, 0xB8, 0x70, 0x2C, 0x2E, 0x0B, 0x77, 0xF2, 0x05
.byte 0x12, 0xFC, 0xCF, 0xF2, 0x4A, 0x93, 0x27, 0x71, 0xE8, 0x88, 0x5E, 0xEA, 0x90, 0x3A, 0x94, 0x9E
.byte 0x25, 0xA2, 0x92, 0x81, 0x04, 0x8C, 0xAB, 0x4E, 0xFF, 0x82, 0x0D, 0x1E, 0xDB, 0x0F, 0x3F, 0x4D
.byte 0xCE, 0x7C, 0x4D, 0x1C, 0x18, 0x1F, 0x5B, 0x07, 0x84, 0x68, 0xED, 0xF3, 0x67, 0x7A, 0xEF, 0x9A
.byte 0x35, 0x8B, 0xCE, 0x52, 0xB8, 0x16, 0x9F, 0xD9, 0x02, 0x22, 0xA6, 0xB5, 0x17, 0x61, 0x20, 0xAB
.byte 0x42, 0x62, 0xFF, 0xFD, 0x8D, 0xCD, 0x6B, 0xBB, 0x63, 0xB0, 0xF4, 0x8A, 0x52, 0x8C
non_word_aligned_thumb_func_start SVC_UnpackBits
SVC_UnpackBits: @ 0x0200013E
svc #0x10
bx lr
thumb_func_end SVC_UnpackBits
_02000142:
.byte 0xD3, 0xE4, 0x3A, 0x28, 0x25, 0xE3, 0x88, 0x6A, 0x4B, 0x9D, 0x72, 0x4B, 0xF0, 0x3B
.byte 0xC3, 0xA6, 0xB5, 0x19, 0x85, 0x01, 0xE5, 0x27, 0xA6, 0x30, 0x29, 0xEC, 0x40, 0x34, 0xEC, 0x13
.byte 0x1D, 0x8B, 0x0E, 0xE8, 0xC2, 0xA4, 0x88, 0x13, 0xD9, 0x40, 0x5A, 0x2A, 0xA2, 0x09, 0x56, 0x03
.byte 0xAE, 0x00, 0xF9, 0x59, 0xA8, 0xA0, 0x86, 0x15, 0x48, 0x4B, 0x6C, 0xE2, 0xE6, 0x6C, 0x0A, 0x2F
.byte 0x36, 0xBD, 0x85, 0x0D, 0x6D, 0x13, 0xD3, 0xDA, 0x43, 0x9E, 0x5A, 0xD1, 0xA9, 0xC9, 0xA3, 0xCD
.byte 0x65, 0x36, 0x0B, 0x90, 0xFB, 0xCB, 0x30, 0x0D, 0x21, 0xC0, 0x20, 0xE0, 0x75, 0xAA, 0xDE, 0x8D
.byte 0x5E, 0x78, 0x4E, 0x3D, 0x58, 0xE7, 0xFC, 0xFB, 0x1F, 0x30, 0x6C, 0x0D, 0xEC, 0x8A, 0xB4, 0xFF
.byte 0xDD, 0x25, 0xF4, 0x04, 0xD4, 0x1F, 0x24, 0xB2, 0xEA, 0x40
non_word_aligned_thumb_func_start SVC_CpuSet
SVC_CpuSet: @ 0x020001BA
svc #0xb
bx lr
thumb_func_end SVC_CpuSet
_020001BE:
.byte 0xB1, 0x82
.byte 0x1C, 0x5A, 0xC0, 0xBC, 0x96, 0x71, 0x03, 0xA2, 0x8D, 0x34, 0x87, 0x56, 0x54, 0x17, 0x73, 0xF6
.byte 0x90, 0xAE, 0x66, 0xAB, 0x18, 0x1F, 0xC7, 0xCB, 0x4D, 0x79, 0x30, 0xF8, 0x10, 0x8E, 0xA3, 0x44
.byte 0x5B, 0x44, 0x8D, 0xBC, 0x98, 0xAD, 0xF6, 0x3E, 0x08, 0x16, 0x02, 0x74, 0x34, 0x51, 0x17, 0x11
.byte 0x23, 0x63, 0x13, 0x48, 0xF2, 0xE9, 0xEB, 0xC7, 0x10, 0xF3, 0x88, 0xC2, 0x1B, 0xF3, 0xE8, 0xB0
.byte 0x24, 0x3B, 0xD4, 0x2A, 0x37, 0x00, 0xFA, 0x1C, 0x94, 0x11, 0xCF, 0x9C, 0x35, 0x87, 0x41, 0xD4
.byte 0x9F, 0x72, 0x8C, 0xA3, 0x40, 0x26, 0x89, 0xCC, 0xBE, 0x6E, 0x05, 0x8C, 0xB8, 0x1F, 0x7C, 0xBA
.byte 0x3C, 0x25, 0xDE, 0x03
thumb_func_start SVC_Halt
SVC_Halt: @ 0x02000224
svc #6
bx lr
thumb_func_end SVC_Halt
_02000228:
.byte 0x11, 0x48, 0x74, 0x75, 0xE9, 0x38, 0xAA, 0xB2
.byte 0x4C, 0xE7, 0x90, 0xCE, 0x9B, 0xE9, 0x5E, 0x7C, 0x0C, 0x8F, 0x8F, 0x65, 0xE8, 0xB9, 0x76, 0x76
.byte 0x1E, 0xC3, 0xFC, 0x7B, 0x9E, 0x8D, 0xB2, 0x7B, 0x2C, 0x39, 0x0C, 0x0C, 0x6C, 0xAB, 0x86, 0x0A
.byte 0x78, 0x6E, 0x6E, 0x07, 0xAD, 0xAB, 0xA9, 0x8D, 0x11, 0xAE, 0xCD, 0x03, 0x20, 0x88, 0x3E, 0x31
.byte 0x73, 0x55, 0x9B, 0x33, 0x42, 0xDE, 0xDD, 0xB7, 0xF8, 0x2F, 0x4C, 0x0E, 0x47, 0x46, 0x56, 0x08
.byte 0x9F, 0xA0, 0x3A, 0x36, 0x01, 0x02, 0x65, 0xC1, 0x01, 0x18, 0xB4, 0xC0, 0xD9, 0xB8, 0x92, 0x65
.byte 0xA2, 0xF8, 0x90, 0x72
thumb_func_start SVC_CpuSetFast
SVC_CpuSetFast: @ 0x02000284
svc #0xc
bx lr
thumb_func_end SVC_CpuSetFast
_02000288:
.byte 0x48, 0xEE, 0xCB, 0x4A, 0xCA, 0xE4, 0x5B, 0xA3
.byte 0x9B, 0x86, 0xFD, 0x37, 0xDE, 0x99, 0xC1, 0x5F, 0x35, 0xB7, 0x33, 0x63, 0x4C, 0x77, 0xC0, 0x49
.byte 0x46, 0x77, 0x78, 0xFB, 0x67, 0xEA, 0x83, 0x85, 0x31, 0x0A, 0xCD, 0x46, 0x1D, 0xB1, 0xD8, 0x4B
.byte 0x17, 0x19, 0x84, 0x6C, 0x1F, 0x92, 0x6D, 0x23, 0xFF, 0x37, 0xBA, 0x84, 0x1E, 0x60, 0x73, 0x6A
.byte 0x06, 0xFB, 0x3A, 0x4B, 0xEC, 0x73, 0xA9, 0x71, 0xF0, 0x55, 0x27, 0xAE, 0xD9, 0x83, 0x40, 0x2C
thumb_func_start SVC_GetCRC16
SVC_GetCRC16: @ 0x020002D0
svc #0xe
bx lr
thumb_func_end SVC_GetCRC16
_020002D4:
.byte 0xFB, 0xB6, 0x8A, 0x9C, 0xAB, 0xAA, 0xB3, 0x7C, 0xFD, 0xE5, 0x6E, 0x10
.byte 0xB4, 0x9C, 0xC5, 0x6F, 0x8F, 0x1F, 0x8A, 0x47, 0xDE, 0xF3, 0xD4, 0xD6, 0x3F, 0xAC, 0x3A, 0x10
.byte 0xA5, 0xA9, 0x9B, 0x98, 0xAA, 0xE9, 0x65, 0x61, 0xA6, 0xBD, 0x9D, 0x1E, 0x53, 0xF2, 0x74, 0xCC
.byte 0x04, 0x47, 0xD1, 0x61, 0xB5, 0x63, 0x5D, 0xC3, 0xB0, 0xB1, 0x17, 0x48, 0x6D, 0x4C, 0x0B, 0x5B
.byte 0xFD, 0x11, 0x66, 0xE9, 0x70, 0xAD, 0xF4, 0x5C, 0x45, 0xA7, 0xE3, 0x9C, 0x3D, 0x29, 0xA2, 0x78
.byte 0xE4, 0xDA, 0xD9, 0x1A, 0x9E, 0x55, 0x83, 0x72, 0x5B, 0x0F, 0x64, 0x27, 0x82, 0x54, 0xE7, 0x16
.byte 0xAD, 0x88
non_word_aligned_thumb_func_start SVC_UncompressRL16FromDevice
SVC_UncompressRL16FromDevice: @ 0x02000332
svc #0x15
bx lr
thumb_func_end SVC_UncompressRL16FromDevice
_02000336:
.byte 0xE9, 0x99, 0xB1, 0x39, 0x72, 0x17, 0x25, 0x9F, 0xA6, 0x3D
.byte 0xA4, 0xF2, 0xAF, 0xEE, 0xE3, 0xF2, 0xB4, 0x1E, 0x15, 0x32, 0x41, 0x60, 0xDC, 0x19, 0x06, 0x07
.byte 0xDE, 0xA3, 0x74, 0x91, 0x52, 0x9A, 0x03, 0x0C, 0x4B, 0xE2, 0xCB, 0x8B, 0x48, 0x79, 0x00, 0x77
.byte 0xE5, 0xF5, 0x39, 0xA7, 0xFE, 0xF2, 0x4F, 0x7B, 0x7E, 0x36, 0x51, 0xF0, 0x31, 0xCA, 0x3A, 0xAF
.byte 0xC0, 0x2E, 0xA4, 0x84, 0x57, 0xFD, 0x03, 0x08, 0xC9, 0x40, 0xEA, 0x75, 0xCE, 0x1E, 0x70, 0x47
.byte 0xDA, 0x5B, 0x55, 0xCC, 0x5F, 0x4B, 0x45, 0xA4, 0xD7, 0x5E, 0x3A, 0x49, 0x91, 0xE3, 0xFB, 0x0D
.byte 0xDE, 0xCF, 0x0A, 0x3E, 0x5D, 0x6B
non_word_aligned_thumb_func_start SVC_Div
SVC_Div: @ 0x02000396
svc #9
bx lr
thumb_func_end SVC_Div
_0200039A:
.byte 0x9A, 0xC3, 0x05, 0x3C, 0x9A, 0xFF
.byte 0x18, 0x1D, 0x2E, 0x0B, 0x90, 0x30, 0xFD, 0x4E, 0x87, 0x05, 0xA4, 0xFB, 0x49, 0x51, 0x33, 0x7E
.byte 0xCA, 0x19, 0x85, 0x88, 0x99, 0x06, 0x84, 0x64, 0xB9, 0x50, 0x11, 0xDC, 0xD6, 0x4A, 0xCB, 0x0A
.byte 0xF0, 0x32, 0x46, 0x61, 0x0B, 0x9D, 0x8C, 0x48, 0x35, 0x5D, 0x34, 0x57, 0x4F, 0xAF, 0x49, 0x13
.byte 0xA1, 0x41, 0x63, 0x13, 0xB1, 0x61, 0x21, 0x3F, 0x44, 0xFA, 0xB2, 0x1F, 0xA8, 0x2C, 0x68, 0x72
.byte 0x57, 0xEC, 0x5F, 0xF0, 0x7F, 0xDE, 0x02, 0x88, 0x86, 0xDD, 0x77, 0x4C, 0x0D, 0x44, 0x29, 0x2B
.byte 0xE2, 0x23, 0x58, 0xA5, 0x6D, 0x0B, 0xEF, 0x4E, 0x68, 0xA9, 0x4D, 0xDA, 0xEA, 0xB5, 0x04, 0x81
.byte 0x30, 0xAA, 0x0E, 0xAE, 0xE4, 0xC2, 0x1D, 0xDC, 0x80, 0xF1, 0x14, 0xDF, 0x70, 0x47, 0x54, 0x13
.byte 0xE2, 0x2C, 0x4F, 0x7C, 0x73, 0x45, 0x19, 0xC6, 0xCC, 0x58, 0xDB, 0xB4, 0x68, 0x81, 0x59, 0x57
.byte 0x4A, 0x6A, 0xDB, 0xD9, 0x72, 0x35, 0x80, 0xAE, 0x20, 0xD8, 0x26, 0x1D, 0xF6, 0xA7, 0x31, 0x53
.byte 0x87, 0x44, 0x9D, 0x69, 0x32, 0xE5, 0x1E, 0x87, 0x79, 0x4D, 0x50, 0xCB, 0x26, 0xA1, 0xCD, 0xE1
.byte 0xF3, 0x38, 0x7A, 0x36, 0xE3, 0xAD, 0x36, 0x06, 0x0B, 0x24, 0x60, 0xFD, 0xA7, 0x4F, 0x24, 0xE8
.byte 0x0C, 0xB0, 0xCC, 0xC0, 0xBC, 0xA0, 0xA1, 0x34, 0x59, 0x63, 0x0B, 0x6B, 0x4F, 0xF1, 0xE9, 0x44
.byte 0xFA, 0xE6, 0x14, 0x1E, 0x55, 0xDE, 0xD6, 0x8B, 0x13, 0x6E, 0xDE, 0x0A, 0x43, 0xA6, 0x41, 0xEC
.byte 0xD7, 0x9B, 0x80, 0x1B, 0x1A, 0x85, 0x9F, 0x23, 0xC3, 0xF5, 0x05, 0x90, 0xFB, 0x81, 0x4D, 0x42
.byte 0x2A, 0xE2, 0x33, 0x74, 0x05, 0xA2, 0xCE, 0xF1, 0x35, 0x66
non_word_aligned_thumb_func_start SVC_Sqrt
SVC_Sqrt: @ 0x0200048A
svc #0xd
bx lr
thumb_func_end SVC_Sqrt
_0200048E:
.byte 0x7D, 0x41
.byte 0x10, 0x29, 0x8A, 0x9B, 0xB9, 0xBE, 0xD5, 0x48, 0xDC, 0xFD, 0x02, 0x68, 0xC6, 0x3A, 0x5D, 0x13
.byte 0x61, 0x7D, 0x4E, 0x5E, 0x5D, 0xB2, 0x15, 0xDB, 0x6E, 0x17, 0x2C, 0x3C, 0x24, 0x33, 0x5F, 0x35
.byte 0x96, 0x74, 0xA1, 0xCD, 0x4E, 0x57, 0x49, 0x8F, 0xA3, 0xF2, 0x7B, 0x45, 0x23, 0x7C, 0x53, 0x04
.byte 0x60, 0xFB, 0x9F, 0x8B, 0x1F, 0x2A, 0x40, 0x40, 0xF5, 0x46, 0x92, 0x25, 0xB0, 0xE3, 0x1D, 0x1C
.byte 0xE4, 0xD6, 0x52, 0x5C, 0x3B, 0xE0, 0xB6, 0xC2, 0x19, 0x2C, 0xF9, 0x3B, 0xB7, 0x1D, 0x10, 0x2C
.byte 0x4F, 0x37, 0xB0, 0x22, 0xEA, 0xB9, 0x47, 0x3B, 0x4C, 0xDC, 0x36, 0x37, 0xED, 0x76, 0xB7, 0x64
.byte 0xAE, 0x78, 0x59, 0x54, 0x0A, 0xDB, 0x29, 0x67, 0xAD, 0x7E, 0x6E, 0xEF, 0x69, 0xCE, 0x5D, 0xAA
.byte 0x00, 0xFA
non_word_aligned_thumb_func_start SVC_WaitIntr
SVC_WaitIntr: @ 0x02000502
movs r2, #0
svc #4
bx lr
thumb_func_end SVC_WaitIntr
_02000508:
.byte 0x46, 0x81, 0x53, 0x54, 0x41, 0xE6, 0x2A, 0x04
.byte 0x77, 0x51, 0x24, 0x13, 0xEB, 0xBE, 0xBC, 0x69, 0x1D, 0x73, 0xB8, 0x0B, 0x02, 0x87, 0xC2, 0xB8
.byte 0xB1, 0x36, 0x8A, 0xEA, 0xA0, 0x9F, 0x88, 0x39, 0x46, 0x0B, 0xC4, 0xFC, 0xFB, 0xE6, 0x5B, 0xCC
.byte 0x92, 0xA5, 0x0C, 0x23, 0x68, 0x8F, 0xB2, 0x45, 0x6D, 0x6D, 0x26, 0xE0, 0xFF, 0x92, 0x6B, 0x6B
.byte 0x5D, 0xC9, 0xBE, 0x61, 0xA4, 0xCC, 0x88, 0x3A, 0x6E, 0xCC, 0x19, 0x44, 0xD6, 0xB1, 0x62, 0x86
.byte 0xC7, 0xE6, 0xF4, 0x6C, 0xC0, 0x9D, 0xE5, 0xD0, 0x28, 0x9A, 0xEE, 0x4E, 0x79, 0x03, 0xDE, 0x6D
.byte 0xDA, 0xD3, 0x31, 0x6C, 0x65, 0x8B, 0x07, 0x11, 0x95, 0xD8, 0xBF, 0x6C, 0xEB, 0xD3, 0x54, 0x4D
.byte 0x7E, 0x84
non_word_aligned_thumb_func_start IsMmemExpanded
IsMmemExpanded: @ 0x02000572
svc #0xf
bx lr
thumb_func_end IsMmemExpanded
_02000576:
.byte 0x02, 0x1C, 0x1B, 0xF9, 0x04, 0x6B, 0x64, 0x43, 0x95, 0xE8
.byte 0xF4, 0x00, 0x0B, 0x2D, 0xDF, 0xB8, 0x2D, 0x70, 0xEA, 0xB0, 0x34, 0x5E, 0x06, 0x5F, 0xE4, 0xF9
.byte 0x1E, 0xB6, 0x1E, 0xE8, 0x92, 0xB5, 0x87, 0x32, 0x76, 0x62, 0xF6, 0x6A, 0x49, 0x2A, 0x34, 0xE2
.byte 0x27, 0xC7, 0x03, 0x3D, 0x92, 0x57, 0x09, 0x13, 0xC8, 0x18, 0xE8, 0x3B, 0x05, 0x44, 0x13, 0x48
.byte 0xCB, 0xAD, 0x39, 0xA0, 0x70, 0x68, 0x55, 0x1B, 0xD8, 0x97, 0xB9, 0xCE, 0x2A, 0x26, 0x3E, 0x88
.byte 0xC3, 0x93, 0x4E, 0x3D, 0xB1, 0x0E, 0xDD, 0x0A, 0xB1, 0x85, 0x80, 0x6F, 0x45, 0x9F, 0x8F, 0x46
.byte 0xB5, 0x78, 0x47, 0xD8, 0x05, 0x21, 0x34, 0xDE, 0x1E, 0x52, 0x99, 0xDC, 0xF4, 0x34, 0xCC, 0x1E
.byte 0xEC, 0x35, 0x73, 0x95, 0xC0, 0x76, 0x6A, 0x11, 0xAA, 0xEB, 0xC2, 0xCE, 0x03, 0x6A
non_word_aligned_thumb_func_start SVC_SoftReset
SVC_SoftReset: @ 0x020005EE
svc #0
bx lr
thumb_func_end SVC_SoftReset
_020005F2:
.byte 0x02, 0xE0, 0xE1, 0x40, 0xF7, 0xE9, 0x95, 0x60, 0x45, 0x7E, 0x70, 0x9D, 0xAD, 0x87
.byte 0xF2, 0xF9, 0x30, 0x54, 0x0C, 0xA5, 0xFB, 0x9F, 0x20, 0x0F, 0xB6, 0x91, 0x8F, 0x28, 0xE1, 0xE0
.byte 0x65, 0x76, 0xDA, 0x77, 0x7E, 0xDA, 0xAE, 0xCE, 0x7E, 0xB3, 0x04, 0x4A, 0x39, 0x21, 0x7A, 0x88
.byte 0x3C, 0x18, 0x18, 0x15, 0x9B, 0x51, 0x6C, 0x17, 0x8A, 0x50, 0x72, 0x2E, 0x52, 0xF6, 0x63, 0xD9
.byte 0x10, 0x90, 0xAE, 0xAC, 0xA6, 0xD4, 0x95, 0x1D, 0x12, 0xBF, 0x40, 0x0B, 0x64, 0xF7, 0xF7, 0x91
.byte 0x09, 0x4F
non_word_aligned_thumb_func_start SVC_UncompressHuffmanFromDevice
SVC_UncompressHuffmanFromDevice: @ 0x02000642
svc #0x13
bx lr
thumb_func_end SVC_UncompressHuffmanFromDevice
_02000646:
.byte 0xB8, 0xBD, 0xAD, 0x13, 0x43, 0xE7, 0x15, 0x99, 0xC9, 0x67
.byte 0x73, 0xA2, 0x13, 0x46, 0xA6, 0x3B, 0x74, 0x23, 0x8E, 0x58, 0xA6, 0x94, 0x26, 0x77, 0x6E, 0x4D
.byte 0x90, 0xEA, 0xDD, 0xAD, 0x92, 0x7F, 0x2A, 0xAA, 0x86, 0xBC, 0x55, 0x8E, 0xFC, 0xD7, 0x3E, 0x4C
.byte 0x4C, 0xE7, 0x07, 0xC6, 0xB0, 0xAB, 0x6E, 0xC7, 0x23, 0xC0, 0x71, 0x25, 0x76, 0x52, 0x5F, 0x60
.byte 0xBA, 0x1B, 0x10, 0x9C, 0x0E, 0xFD, 0x6E, 0xD9, 0x03, 0xF2, 0x50, 0x7F, 0xCD, 0x22, 0xFB, 0x02
.byte 0xF8, 0x59, 0x69, 0xE4, 0x4F, 0x5F, 0xE7, 0x58, 0x34, 0x47, 0x2B, 0x01, 0xB9, 0xCC, 0x69, 0xF2
.byte 0xA4, 0x6C, 0xB3, 0x6B, 0x94, 0xA0, 0xAB, 0xC0, 0x98, 0x66, 0x16, 0xFC, 0xDE, 0x28, 0xDA, 0x5B
.byte 0x69, 0x8F, 0x81, 0xB4, 0xF3, 0xA7, 0x05, 0x64
thumb_func_start SVC_WaitVBlankIntr
SVC_WaitVBlankIntr: @ 0x020006B8
movs r2, #0
svc #5
bx lr
thumb_func_end SVC_WaitVBlankIntr
_020006BE:
.byte 0xC8, 0xBF
.byte 0x87, 0xB7, 0x93, 0x0E, 0xCD, 0x5B, 0xA8, 0x91, 0xE0, 0x90, 0x20, 0xB6, 0x7B, 0x2C, 0x25, 0xDE
.byte 0x15, 0x98, 0x44, 0xA3, 0x32, 0x11, 0x32, 0x60, 0x11, 0xF9, 0x9C, 0x36, 0x63, 0xB9, 0x38, 0x0F
.byte 0x6B, 0xB1, 0xBC, 0x1C, 0x26, 0x58, 0x1C, 0x2A, 0x3E, 0x17, 0xC1, 0x3D, 0x50, 0x22, 0x7F, 0x04
.byte 0x8D, 0x55, 0x66, 0x28, 0x6F, 0x08, 0x80, 0xE1, 0x4C, 0xDC, 0x6F, 0x4F, 0x30, 0x37, 0xBC, 0x9C
.byte 0xA5, 0x62, 0x98, 0x68, 0xE8, 0x54, 0x87, 0xDB, 0x92, 0xB6, 0xFE, 0x32, 0x97, 0x06, 0x5D, 0x60
.byte 0x69, 0x64, 0x02, 0xFC, 0x31, 0x0A, 0xE3, 0x35, 0x48, 0xA4, 0x5D, 0x87, 0x9E, 0xFB, 0x15, 0xCF
.byte 0x8F, 0x49, 0x5B, 0xCE, 0xCD, 0xBF, 0x82, 0xCA, 0x9A, 0x1D, 0x12, 0xDF, 0x70, 0x47, 0x5B, 0xA8
.byte 0xB8, 0x25, 0xCD, 0xFB, 0x2E, 0xA5, 0xDD, 0x1A, 0xEA, 0x5A, 0xBC, 0xB9, 0x57, 0xB2, 0x45, 0xA2
.byte 0x22, 0x6E, 0xB3, 0x6E, 0xCA, 0x7A, 0x23, 0x56, 0x36, 0x93, 0xE2, 0xD6, 0x3A, 0x77, 0xCE, 0x1A
.byte 0xF6, 0xE0, 0xA9, 0x73, 0xEC, 0xE3, 0x70, 0x9D, 0x19, 0xFB, 0x41, 0x5F, 0x92, 0x58, 0xBC, 0xC8
.byte 0x79, 0xE1, 0xD8, 0x8E, 0x46, 0x39, 0x7F, 0x42, 0x7B, 0xCF, 0xD2, 0xC6, 0x73, 0xA3, 0x9D, 0x02
.byte 0x93, 0xED, 0x19, 0xAD, 0x8F, 0xD7, 0xC2, 0x6D, 0xE6, 0x2F, 0xD1, 0xA3, 0x0E, 0xD1, 0x76, 0xB0
.byte 0xB4, 0x7F, 0xB9, 0x09, 0x37, 0x1C, 0xDE, 0x4F, 0xB2, 0xF9, 0x02, 0xC7, 0xC2, 0x39, 0x46, 0xDD
.byte 0x63, 0xA7, 0xAE, 0xFB, 0x20, 0x24, 0x7D, 0x23, 0x10, 0x8C, 0x62, 0x5C, 0x00, 0xD7
non_word_aligned_thumb_func_start SVC_WaitByLoop
SVC_WaitByLoop: @ 0x0200079E
svc #3
bx lr
thumb_func_end SVC_WaitByLoop
_020007A2:
.byte 0x17, 0xE1, 0xC2, 0x4D, 0xCE, 0xC6, 0x16, 0xA9, 0x57, 0xD5, 0x29, 0xA4, 0x43, 0xE1
.byte 0x4B, 0x09, 0xE9, 0xE4, 0x1D, 0xC4, 0x1D, 0xCE, 0x4B, 0xB8, 0x5B, 0x06, 0x2F, 0x46, 0x70, 0x05
.byte 0x19, 0xE6, 0x88, 0x29, 0x4E, 0xCC, 0xFF, 0xB5, 0x24, 0x10, 0x37, 0x36, 0xE9, 0x30, 0xAC, 0xF6
.byte 0x0F, 0xAC, 0xCD, 0x25, 0x35, 0x57, 0x8F, 0xB0, 0x56, 0xC3, 0x98, 0x6B, 0x96, 0x96, 0x92, 0x11
.byte 0x69, 0x81, 0x4B, 0x60, 0x42, 0x67, 0x27, 0x40, 0xA9, 0xF9, 0xE3, 0x8C, 0x8B, 0x8F, 0xA0, 0x55
.byte 0x80, 0x23, 0xB6, 0x63, 0x4F, 0xBF, 0x2F, 0x02, 0x54, 0x8B, 0xAB, 0x1F, 0x3A, 0x09, 0x00, 0x00

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD00_021E5900

View File

@ -0,0 +1,627 @@
thumb_func_start MOD00_021E5900
MOD00_021E5900: @ 0x021E5900
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp, #4]
ldr r0, _021E5AC4 @ =0x0221A680
adds r5, r1, #0
ldr r0, [r0]
adds r4, r2, #0
str r3, [sp]
cmp r0, #0
beq _021E5918
bl FUN_0202551C
_021E5918:
ldr r1, _021E5AC8 @ =0x00001108
adds r0, r5, #0
bl FUN_0201AA8C
ldr r2, _021E5AC8 @ =0x00001108
adds r6, r0, #0
movs r1, #0
blx FUN_020D4994
adds r2, r6, #0
adds r2, #0x1f
movs r0, #0x1f
bics r2, r0
ldr r1, _021E5AC4 @ =0x0221A680
ldr r0, _021E5ACC @ =0x00000F7C
str r2, [r1]
str r6, [r2, r0]
ldr r6, [r1]
ldr r2, [sp, #4]
subs r3, r0, #4
str r2, [r6, r3]
adds r3, r0, #0
ldr r6, [r1]
movs r2, #0
adds r3, #0x28
str r2, [r6, r3]
adds r3, r0, #0
ldr r6, [r1]
adds r3, #0x2c
str r2, [r6, r3]
adds r3, r0, #0
ldr r6, [r1]
adds r3, #0x44
str r2, [r6, r3]
ldr r3, [r1]
adds r0, #0xf4
str r2, [r3, r0]
ldr r0, [r1]
ldr r2, _021E5AD0 @ =0x00001084
str r5, [r0, r2]
adds r0, r2, #4
ldr r3, [r1]
adds r2, #8
str r5, [r3, r0]
ldr r0, [r1]
ldr r1, _021E5AD4 @ =0x00003020
str r4, [r0, r2]
adds r0, r5, #0
adds r1, r4, r1
bl FUN_0201AA8C
ldr r3, _021E5AC4 @ =0x0221A680
movs r1, #0xf9
ldr r2, [r3]
lsls r1, r1, #4
str r0, [r2, r1]
adds r0, r1, #0
ldr r5, [r3]
movs r2, #0
adds r0, #8
str r2, [r5, r0]
ldr r0, [r3]
ldr r0, [r0, r1]
movs r1, #0x1f
adds r0, #0x1f
bics r0, r1
adds r1, r4, #0
blx FUN_020B535C
ldr r4, _021E5AC4 @ =0x0221A680
movs r6, #0
ldr r2, [r4]
ldr r1, _021E5AD8 @ =0x00000F94
subs r7, r6, #1
str r0, [r2, r1]
adds r0, r1, #0
ldr r2, [r4]
adds r0, #8
str r6, [r2, r0]
ldr r0, [r4]
ldr r2, _021E5ADC @ =0x000010A4
str r6, [r0, r2]
adds r0, r2, #0
ldr r3, [r4]
subs r0, #0x10
str r7, [r3, r0]
adds r0, r2, #0
ldr r3, [r4]
subs r0, #0x38
str r6, [r3, r0]
adds r3, r2, #0
ldr r5, [r4]
ldr r0, [sp]
subs r3, #0x28
str r0, [r5, r3]
adds r0, r2, #0
ldr r3, [r4]
subs r0, #0x24
str r6, [r3, r0]
adds r0, r2, #0
ldr r3, [r4]
adds r0, #0x34
str r6, [r3, r0]
adds r0, r2, #0
ldr r3, [r4]
subs r0, #0xc
str r7, [r3, r0]
adds r3, r2, #0
ldr r5, [r4]
movs r0, #1
subs r3, #8
str r0, [r5, r3]
adds r3, r2, #0
ldr r5, [r4]
adds r3, #0x3a
strb r6, [r5, r3]
adds r3, r2, #0
ldr r5, [r4]
adds r3, #0x28
str r6, [r5, r3]
adds r3, r2, #0
ldr r5, [r4]
adds r3, #0x38
strb r6, [r5, r3]
adds r3, r2, #0
ldr r5, [r4]
adds r3, #0x39
strb r6, [r5, r3]
adds r3, r2, #0
ldr r5, [r4]
adds r3, #0x30
strh r0, [r5, r3]
adds r3, r2, #0
ldr r5, [r4]
adds r3, #0x2c
str r0, [r5, r3]
ldr r3, [r4]
adds r2, #0x32
strh r0, [r3, r2]
ldr r0, [sp, #4]
cmp r0, #0
beq _021E5A66
ldr r0, [r4]
subs r1, #0x1c
ldr r0, [r0, r1]
bl FUN_0202C6F4
bl FUN_0202C08C
adds r2, r4, #0
movs r1, #0xf1
ldr r3, [r2]
lsls r1, r1, #4
str r0, [r3, r1]
ldr r0, [r2]
adds r1, #0x68
ldr r0, [r0, r1]
bl FUN_0202C6F4
adds r1, r6, #0
bl FUN_0202C23C
adds r1, r4, #0
ldr r2, [r1]
movs r1, #1
lsls r1, r1, #8
str r0, [r2, r1]
_021E5A66:
ldr r2, _021E5AC4 @ =0x0221A680
ldr r1, _021E5AE0 @ =0x000010E5
ldr r0, [r2]
movs r3, #1
strb r3, [r0, r1]
movs r0, #0
ldr r3, [r2]
subs r1, #0x81
str r0, [r3, r1]
ldr r1, _021E5AE4 @ =0x00001044
adds r4, r0, #0
_021E5A7C:
ldr r3, [r2]
adds r3, r3, r0
adds r0, r0, #1
strb r4, [r3, r1]
cmp r0, #0x20
blt _021E5A7C
bl FUN_021E700C
ldr r0, _021E5AC4 @ =0x0221A680
ldr r1, [r0]
movs r0, #0xf1
lsls r0, r0, #4
ldr r0, [r1, r0]
blx FUN_020A0100
cmp r0, #0
bne _021E5AA4
add sp, #8
movs r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021E5AA4:
ldr r0, _021E5AC4 @ =0x0221A680
ldr r1, [r0]
movs r0, #0xf1
lsls r0, r0, #4
ldr r0, [r1, r0]
blx FUN_020A0130
cmp r0, #0
beq _021E5ABC
add sp, #8
movs r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E5ABC:
movs r0, #2
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021E5AC4: .4byte 0x0221A680
_021E5AC8: .4byte 0x00001108
_021E5ACC: .4byte 0x00000F7C
_021E5AD0: .4byte 0x00001084
_021E5AD4: .4byte 0x00003020
_021E5AD8: .4byte 0x00000F94
_021E5ADC: .4byte 0x000010A4
_021E5AE0: .4byte 0x000010E5
_021E5AE4: .4byte 0x00001044
thumb_func_end MOD00_021E5900
_021E5AE8:
.byte 0x08, 0xB5, 0x1B, 0x48, 0x00, 0x68, 0x00, 0x28
.byte 0x2F, 0xD0, 0x01, 0xF0, 0x05, 0xFC, 0x18, 0x48, 0x02, 0x68, 0x18, 0x48, 0x11, 0x58, 0x00, 0x29
.byte 0x0E, 0xD0, 0x00, 0x1D, 0x10, 0x58, 0xCF, 0xF6, 0x46, 0xEC, 0x13, 0x48, 0x01, 0x68, 0x13, 0x48
.byte 0x08, 0x58, 0x34, 0xF6, 0xFB, 0xFF, 0x10, 0x48, 0x00, 0x22, 0x01, 0x68, 0x0F, 0x48, 0x0A, 0x50
.byte 0x0D, 0x48, 0x01, 0x68, 0x0E, 0x48, 0x08, 0x58, 0xCF, 0xF6, 0x34, 0xEC, 0x0A, 0x48, 0x0D, 0x49
.byte 0x02, 0x68, 0x50, 0x58, 0xF4, 0x39, 0x51, 0x58, 0x35, 0xF6, 0x22, 0xF8, 0x06, 0x48, 0x0A, 0x49
.byte 0x02, 0x68, 0x08, 0x48, 0x51, 0x58, 0x10, 0x58, 0x35, 0xF6, 0x1A, 0xF8, 0x02, 0x48, 0x00, 0x21
.byte 0x01, 0x60, 0x06, 0xF0, 0x5E, 0xEB, 0x08, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x98, 0x0F, 0x00, 0x00
.byte 0x94, 0x0F, 0x00, 0x00, 0x84, 0x10, 0x00, 0x00, 0x7C, 0x0F, 0x00, 0x00, 0x08, 0xB5, 0x9A, 0xB0
.byte 0x3B, 0x48, 0x01, 0x68, 0x3B, 0x48, 0x08, 0x58, 0x04, 0x28, 0x6C, 0xD8, 0x00, 0x18, 0x78, 0x44
.byte 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00, 0x3E, 0x00, 0x6C, 0x00, 0xBC, 0x00
.byte 0xC2, 0x00, 0x35, 0x48, 0x35, 0x49, 0x06, 0xF0, 0x7E, 0xEB, 0x31, 0x48, 0x01, 0x22, 0x01, 0x68
.byte 0x33, 0x48, 0x14, 0x23, 0x08, 0x18, 0x02, 0x21, 0x06, 0xF0, 0x22, 0xEC, 0x02, 0x20, 0x06, 0xF0
.byte 0x52, 0xEC, 0x06, 0xF0, 0x78, 0xEC, 0x2A, 0x49, 0x2A, 0x48, 0x0A, 0x68, 0x01, 0x23, 0x13, 0x50
.byte 0x09, 0x68, 0x00, 0x22, 0x20, 0x30, 0x0A, 0x50, 0x06, 0xF0, 0xF4, 0xEC, 0x00, 0x28, 0x0F, 0xD0
.byte 0x06, 0xF0, 0xA8, 0xED, 0x04, 0x28, 0x05, 0xD1, 0x21, 0x48, 0x02, 0x22, 0x01, 0x68, 0x21, 0x48
.byte 0x0A, 0x50, 0x08, 0xE0, 0x1E, 0x48, 0x0C, 0x22, 0x01, 0x68, 0x1E, 0x48, 0x0A, 0x50, 0x02, 0xE0
.byte 0x06, 0xF0, 0x0C, 0xED, 0x2F, 0xE0, 0x00, 0xF0, 0x4B, 0xFD, 0x00, 0x28, 0x2D, 0xD1, 0x18, 0x48
.byte 0xF1, 0x22, 0x01, 0x68, 0x1B, 0x48, 0x12, 0x01, 0x00, 0x90, 0x00, 0x20, 0x01, 0x90, 0x02, 0x90
.byte 0x01, 0x20, 0x00, 0x02, 0x08, 0x58, 0x18, 0x4B, 0x03, 0x90, 0x20, 0x20, 0x04, 0x90, 0xE4, 0x30
.byte 0x08, 0x18, 0x89, 0x58, 0x15, 0x4A, 0x07, 0xF0, 0x84, 0xED, 0x05, 0xA8, 0xEE, 0xF6, 0x16, 0xE8
.byte 0x00, 0x21, 0x13, 0x4A, 0x06, 0xA8, 0x0B, 0x1C, 0x08, 0xF0, 0x98, 0xE8, 0x08, 0x48, 0x03, 0x22
.byte 0x01, 0x68, 0x08, 0x48, 0x0A, 0x50, 0x07, 0xF0, 0x6A, 0xEF, 0x04, 0xE0, 0x07, 0xF0, 0x66, 0xEF
.byte 0x1A, 0xB0, 0x1B, 0x20, 0x08, 0xBD, 0x00, 0xF0, 0x1B, 0xFD, 0x1A, 0xB0, 0x08, 0xBD, 0xC0, 0x46
.byte 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0xD5, 0x65, 0x1E, 0x02, 0x39, 0x66, 0x1E, 0x02
.byte 0x14, 0x0F, 0x00, 0x00, 0x0C, 0x64, 0x21, 0x02, 0x00, 0x64, 0x21, 0x02, 0xE7, 0x29, 0x00, 0x00
.byte 0xA9, 0x61, 0x1E, 0x02, 0x18, 0xB4, 0x04, 0x4B, 0x04, 0x4A, 0x1C, 0x68, 0xA0, 0x50, 0x1B, 0x68
.byte 0x10, 0x1D, 0x19, 0x50, 0x18, 0xBC, 0x70, 0x47, 0x80, 0xA6, 0x21, 0x02, 0xA4, 0x0F, 0x00, 0x00
.byte 0x18, 0xB4, 0x04, 0x4B, 0x04, 0x4A, 0x1C, 0x68, 0xA0, 0x50, 0x1B, 0x68, 0x10, 0x1D, 0x19, 0x50
.byte 0x18, 0xBC, 0x70, 0x47, 0x80, 0xA6, 0x21, 0x02, 0xAC, 0x0F, 0x00, 0x00, 0x02, 0x49, 0x0A, 0x68
.byte 0x02, 0x49, 0x50, 0x50, 0x70, 0x47, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02, 0xBC, 0x0F, 0x00, 0x00
.byte 0x18, 0xB4, 0x04, 0x4B, 0x04, 0x4A, 0x1C, 0x68, 0xA0, 0x50, 0x1B, 0x68, 0x10, 0x1D, 0x19, 0x50
.byte 0x18, 0xBC, 0x70, 0x47, 0x80, 0xA6, 0x21, 0x02, 0xB4, 0x0F, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0
.byte 0x05, 0x1C, 0x42, 0x48, 0x0C, 0x1C, 0x00, 0x68, 0x16, 0x1C, 0x1F, 0x1C, 0x00, 0x28, 0x01, 0xD1
.byte 0x3F, 0xF6, 0x0C, 0xFC, 0x3D, 0x48, 0x01, 0x68, 0x3D, 0x48, 0x08, 0x58, 0x04, 0x28, 0x02, 0xD0
.byte 0x04, 0xB0, 0x00, 0x20, 0xF8, 0xBD, 0x01, 0xF0, 0xF3, 0xFA, 0x3A, 0x4A, 0x02, 0xA9, 0x05, 0xCA
.byte 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x03, 0x92, 0x78, 0x43, 0x03, 0x90, 0x00, 0x20, 0x08, 0x22
.byte 0x0B, 0xF0, 0xD0, 0xEB, 0x00, 0x28, 0x01, 0xD0, 0x3F, 0xF6, 0xF0, 0xFB, 0x32, 0x49, 0x00, 0x20
.byte 0x2A, 0x1C, 0x0B, 0xF0, 0x30, 0xEB, 0x00, 0x28, 0x01, 0xD1, 0x3F, 0xF6, 0xE7, 0xFB, 0x2B, 0x48
.byte 0x80, 0x22, 0x01, 0x68, 0x2D, 0x48, 0x08, 0x18, 0x00, 0x21, 0xEE, 0xF6, 0x1C, 0xEE, 0x27, 0x48
.byte 0x29, 0x4A, 0x01, 0x68, 0x29, 0x48, 0x2B, 0x1C, 0x08, 0x18, 0x29, 0x49, 0x02, 0xF7, 0xE0, 0xE8
.byte 0x22, 0x48, 0x01, 0x68, 0x25, 0x48, 0x08, 0x18, 0x03, 0xF7, 0x02, 0xEC, 0x80, 0x28, 0x01, 0xD3
.byte 0x3F, 0xF6, 0xCC, 0xFB, 0x00, 0x2E, 0x07, 0xD0, 0x1C, 0x48, 0x20, 0x4A, 0x03, 0x68, 0x01, 0x20
.byte 0x99, 0x18, 0x9A, 0x18, 0x0B, 0xF0, 0x06, 0xEB, 0x18, 0x4A, 0x19, 0x49, 0x10, 0x68, 0x05, 0x23
.byte 0x43, 0x50, 0x08, 0x1C, 0x13, 0x68, 0x0C, 0x30, 0x1C, 0x50, 0x1A, 0x48, 0x00, 0x23, 0x00, 0x90
.byte 0x01, 0x93, 0x20, 0x06, 0x12, 0x68, 0xAC, 0x39, 0x51, 0x18, 0x17, 0x4A, 0x00, 0x0E, 0x08, 0xF0
.byte 0xAE, 0xE8, 0x0E, 0x48, 0x00, 0x22, 0x01, 0x68, 0x14, 0x48, 0x0A, 0x50, 0x14, 0x48, 0x13, 0xF0
.byte 0x66, 0xED, 0x14, 0x48, 0x13, 0xF0, 0x72, 0xED, 0x13, 0x48, 0x00, 0x21, 0x08, 0xF0, 0x36, 0xEA
.byte 0x12, 0x48, 0x13, 0xF0, 0x7C, 0xED, 0x05, 0x4A, 0x11, 0x49, 0x10, 0x68, 0x00, 0x23, 0x43, 0x50
.byte 0x12, 0x68, 0x01, 0x20, 0x6D, 0x31, 0x50, 0x54, 0x04, 0xB0, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02
.byte 0x70, 0x10, 0x00, 0x00, 0x2C, 0x60, 0x21, 0x02, 0x14, 0x64, 0x21, 0x02, 0xC4, 0x0F, 0x00, 0x00
.byte 0x34, 0x60, 0x21, 0x02, 0x25, 0x64, 0x1E, 0x02, 0xCD, 0x63, 0x1E, 0x02, 0x74, 0x10, 0x00, 0x00
.byte 0x29, 0x64, 0x1E, 0x02, 0x85, 0x64, 0x1E, 0x02, 0x55, 0x65, 0x1E, 0x02, 0x41, 0x62, 0x1E, 0x02
.byte 0x78, 0x10, 0x00, 0x00, 0x05, 0x48, 0x02, 0x68, 0x05, 0x48, 0x11, 0x58, 0x0A, 0x29, 0x02, 0xD1
.byte 0x0B, 0x21, 0x11, 0x50, 0x70, 0x47, 0x09, 0x21, 0x11, 0x50, 0x70, 0x47, 0x80, 0xA6, 0x21, 0x02
.byte 0x70, 0x10, 0x00, 0x00, 0x10, 0xB5, 0x46, 0x4A, 0x46, 0x49, 0x13, 0x68, 0x5C, 0x58, 0x10, 0x2C
.byte 0x00, 0xD9, 0x81, 0xE0, 0x24, 0x19, 0x7C, 0x44, 0xE4, 0x88, 0x24, 0x04, 0x24, 0x14, 0xA7, 0x44
.byte 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0x20, 0x00, 0x52, 0x00, 0x6A, 0x00
.byte 0xF6, 0x00, 0xA6, 0x00, 0x52, 0x00, 0xC0, 0x00, 0xDA, 0x00, 0xF6, 0x00, 0xF6, 0x00, 0xF6, 0x00
.byte 0xE0, 0x00, 0x00, 0x28, 0x01, 0xD0, 0x06, 0x20, 0x58, 0x50, 0x35, 0x48, 0x36, 0x4A, 0x00, 0x68
.byte 0x81, 0x58, 0x02, 0x29, 0x60, 0xD1, 0x11, 0x1C, 0x20, 0x31, 0x41, 0x58, 0x00, 0x29, 0x5B, 0xDB
.byte 0x43, 0x18, 0x11, 0x1C, 0x30, 0x39, 0x59, 0x5C, 0x06, 0x29, 0x55, 0xD0, 0x0A, 0x23, 0x11, 0x1F
.byte 0x43, 0x50, 0x51, 0xE0, 0x08, 0x1D, 0x18, 0x58, 0x00, 0x28, 0x02, 0xD1, 0x0B, 0xF0, 0xDA, 0xE9
.byte 0x4A, 0xE0, 0x08, 0xF0, 0xD2, 0xE9, 0xFF, 0xF7, 0xAD, 0xFF, 0x45, 0xE0, 0x53, 0xF6, 0x2E, 0xFD
.byte 0x4E, 0xF6, 0xD0, 0xF8, 0x00, 0x28, 0x05, 0xD1, 0x21, 0x48, 0x01, 0x68, 0x23, 0x48, 0x08, 0x58
.byte 0x00, 0xF0, 0x5A, 0xFD, 0x1E, 0x48, 0x02, 0x68, 0x21, 0x48, 0x11, 0x58, 0x00, 0x29, 0x01, 0xD0
.byte 0x01, 0x21, 0x00, 0xE0, 0x00, 0x21, 0x38, 0x30, 0x11, 0x52, 0x19, 0x48, 0x08, 0x22, 0x01, 0x68
.byte 0x18, 0x48, 0x0A, 0x50, 0x14, 0x20, 0x10, 0xBD, 0x04, 0x20, 0x58, 0x50, 0x08, 0x1C, 0x13, 0x68
.byte 0x00, 0x24, 0x08, 0x30, 0x1C, 0x50, 0x10, 0x68, 0x63, 0x1E, 0x28, 0x31, 0x43, 0x50, 0x15, 0x20
.byte 0x10, 0xBD, 0x04, 0x20, 0x58, 0x50, 0x08, 0x1C, 0x13, 0x68, 0x00, 0x24, 0x08, 0x30, 0x1C, 0x50
.byte 0x10, 0x68, 0x63, 0x1E, 0x28, 0x31, 0x43, 0x50, 0x16, 0x20, 0x10, 0xBD, 0x00, 0xF0, 0xA0, 0xFB
.byte 0x10, 0xBD, 0x20, 0x31, 0x58, 0x58, 0x00, 0x28, 0x06, 0xD1, 0x08, 0xF0, 0x8E, 0xE9, 0x04, 0x48
.byte 0x11, 0x22, 0x01, 0x68, 0x03, 0x48, 0x0A, 0x50, 0x00, 0xF0, 0x72, 0xFC, 0x10, 0xBD, 0xC0, 0x46
.byte 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0x74, 0x10, 0x00, 0x00, 0x84, 0x10, 0x00, 0x00
.byte 0x9C, 0x10, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x01, 0x20, 0x0C, 0x1C, 0x00, 0x02, 0x84, 0x42
.byte 0x01, 0xDB, 0x00, 0x20, 0x70, 0xBD, 0x08, 0xF0, 0x7C, 0xEA, 0x00, 0x28, 0x0C, 0xD1, 0x1F, 0x48
.byte 0x01, 0x68, 0x1F, 0x48, 0x0B, 0x58, 0x00, 0x2B, 0x04, 0xD0, 0x22, 0x04, 0x00, 0x20, 0x29, 0x1C
.byte 0x12, 0x0C, 0x98, 0x47, 0x01, 0x20, 0x70, 0xBD, 0x18, 0x48, 0x01, 0x68, 0x19, 0x48, 0x08, 0x58
.byte 0x00, 0x28, 0x03, 0xD1, 0x00, 0xF0, 0xE4, 0xFB, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD
.byte 0x12, 0x49, 0x15, 0x48, 0x0A, 0x68, 0x13, 0x5A, 0x1E, 0x02, 0x01, 0x23, 0x33, 0x43, 0x13, 0x60
.byte 0x03, 0x1C, 0x0A, 0x68, 0x08, 0x33, 0xD3, 0x5C, 0x5E, 0x1C, 0x03, 0x1C, 0x08, 0x33, 0xD6, 0x54
.byte 0x0A, 0x68, 0x08, 0x30, 0x10, 0x5C, 0x90, 0x70, 0x09, 0x68, 0x28, 0x1C, 0x09, 0x1D, 0x22, 0x1C
.byte 0xEE, 0xF6, 0x26, 0xED, 0x05, 0x4A, 0x07, 0x49, 0x13, 0x68, 0x01, 0x20, 0x58, 0x50, 0x11, 0x68
.byte 0x22, 0x1D, 0x13, 0xF0, 0x9E, 0xEB, 0x01, 0x20, 0x70, 0xBD, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02
.byte 0xA4, 0x0F, 0x00, 0x00, 0x78, 0x10, 0x00, 0x00, 0xD4, 0x10, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C
.byte 0x01, 0x20, 0x0C, 0x1C, 0x00, 0x02, 0x84, 0x42, 0x01, 0xDB, 0x00, 0x20, 0x70, 0xBD, 0x08, 0xF0
.byte 0x28, 0xEA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x70, 0xBD, 0x23, 0x48, 0x01, 0x68, 0x23, 0x48
.byte 0x08, 0x58, 0x00, 0x28, 0x03, 0xD1, 0x00, 0xF0, 0x9B, 0xFB, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20
.byte 0x70, 0xBD, 0x1D, 0x49, 0x1E, 0x48, 0x0A, 0x68, 0x13, 0x5A, 0x1E, 0x02, 0x01, 0x23, 0x33, 0x43
.byte 0x13, 0x60, 0x03, 0x1C, 0x0A, 0x68, 0x08, 0x33, 0xD3, 0x5C, 0x5E, 0x1C, 0x03, 0x1C, 0x08, 0x33
.byte 0xD6, 0x54, 0x0A, 0x68, 0x08, 0x30, 0x10, 0x5C, 0x90, 0x70, 0x09, 0x68, 0x28, 0x1C, 0x09, 0x1D
.byte 0x22, 0x1C, 0xEE, 0xF6, 0xDE, 0xEC, 0x10, 0x48, 0x01, 0x22, 0x01, 0x68, 0x0F, 0x48, 0x0A, 0x50
.byte 0x08, 0xF0, 0x2C, 0xEA, 0x0C, 0x49, 0x22, 0x1D, 0x09, 0x68, 0x13, 0xF0, 0x52, 0xEB, 0x00, 0x28
.byte 0x05, 0xD1, 0x09, 0x49, 0x00, 0x20, 0x0A, 0x68, 0x08, 0x49, 0x50, 0x50, 0x70, 0xBD, 0x06, 0x48
.byte 0x01, 0x68, 0x08, 0x48, 0x0B, 0x58, 0x00, 0x2B, 0x04, 0xD0, 0x22, 0x04, 0x00, 0x20, 0x29, 0x1C
.byte 0x12, 0x0C, 0x98, 0x47, 0x01, 0x20, 0x70, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x78, 0x10, 0x00, 0x00
.byte 0xD4, 0x10, 0x00, 0x00, 0xA8, 0x0F, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x01, 0x20, 0x0C, 0x1C
.byte 0x00, 0x02, 0x84, 0x42, 0x01, 0xDB, 0x00, 0x20, 0x70, 0xBD, 0x27, 0x48, 0x01, 0x68, 0x27, 0x48
.byte 0x08, 0x58, 0x00, 0x28, 0x03, 0xD1, 0x00, 0xF0, 0x43, 0xFB, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20
.byte 0x70, 0xBD, 0x21, 0x49, 0x22, 0x48, 0x0A, 0x68, 0x13, 0x5A, 0x1E, 0x02, 0x01, 0x23, 0x33, 0x43
.byte 0x13, 0x60, 0x03, 0x1C, 0x0A, 0x68, 0x08, 0x33, 0xD3, 0x5C, 0x5E, 0x1C, 0x03, 0x1C, 0x08, 0x33
.byte 0xD6, 0x54, 0x0A, 0x68, 0x08, 0x30, 0x10, 0x5C, 0x90, 0x70, 0x09, 0x68, 0x28, 0x1C, 0x09, 0x1D
.byte 0x22, 0x1C, 0xEE, 0xF6, 0x86, 0xEC, 0x14, 0x48, 0x01, 0x22, 0x01, 0x68, 0x13, 0x48, 0x0A, 0x50
.byte 0x08, 0xF0, 0xD4, 0xE9, 0x10, 0x49, 0x00, 0x04, 0x06, 0x0C, 0x09, 0x68, 0x30, 0x1C, 0x22, 0x1D
.byte 0x13, 0xF0, 0xF6, 0xEA, 0x86, 0x42, 0x05, 0xD0, 0x0B, 0x49, 0x00, 0x20, 0x0A, 0x68, 0x0B, 0x49
.byte 0x50, 0x50, 0x70, 0xBD, 0x08, 0x48, 0x01, 0x68, 0x0A, 0x48, 0x08, 0x58, 0x00, 0x28, 0x09, 0xD0
.byte 0x08, 0xF0, 0x86, 0xE9, 0x22, 0x04, 0x04, 0x4B, 0x29, 0x1C, 0x1C, 0x68, 0x05, 0x4B, 0x12, 0x0C
.byte 0xE3, 0x58, 0x98, 0x47, 0x01, 0x20, 0x70, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x78, 0x10, 0x00, 0x00
.byte 0xD4, 0x10, 0x00, 0x00, 0xA8, 0x0F, 0x00, 0x00, 0x30, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0x1D, 0x48
.byte 0x14, 0x1C, 0x01, 0x68, 0xF1, 0x20, 0x00, 0x01, 0x08, 0x58, 0xBA, 0xF6, 0x1A, 0xE8, 0x00, 0x28
.byte 0x0B, 0xD0, 0x18, 0x48, 0x01, 0x68, 0xF1, 0x20, 0x00, 0x01, 0x08, 0x58, 0xBA, 0xF6, 0x22, 0xE8
.byte 0x14, 0x48, 0x01, 0x22, 0x01, 0x68, 0x14, 0x48, 0x0A, 0x54, 0x00, 0x2D, 0x1A, 0xD1, 0x13, 0x48
.byte 0x00, 0x94, 0x01, 0x90, 0x0F, 0x4A, 0x02, 0x94, 0x13, 0x68, 0xF1, 0x22, 0x12, 0x01, 0x9A, 0x58
.byte 0x0F, 0x49, 0x10, 0x4B, 0x00, 0x20, 0x07, 0xF0, 0x3E, 0xEE, 0x00, 0x28, 0x04, 0xD1, 0x01, 0x20
.byte 0x53, 0xF6, 0x6A, 0xFC, 0x03, 0xB0, 0x30, 0xBD, 0x0B, 0x48, 0x00, 0x21, 0x09, 0xF0, 0x7A, 0xEE
.byte 0x03, 0xB0, 0x30, 0xBD, 0x03, 0x48, 0x0C, 0x22, 0x01, 0x68, 0x08, 0x48, 0x0A, 0x50, 0x03, 0xB0
.byte 0x30, 0xBD, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02, 0xE6, 0x10, 0x00, 0x00, 0x9D, 0x62, 0x1E, 0x02
.byte 0x75, 0x62, 0x1E, 0x02, 0x99, 0x62, 0x1E, 0x02, 0xD5, 0x62, 0x1E, 0x02, 0x70, 0x10, 0x00, 0x00
.byte 0x08, 0xB5, 0x09, 0x48, 0x01, 0x68, 0x09, 0x48, 0x08, 0x58, 0x00, 0x28, 0x0B, 0xD0, 0x08, 0xF0
.byte 0x14, 0xE8, 0x05, 0x49, 0x00, 0x23, 0x0A, 0x68, 0x05, 0x48, 0xDB, 0x43, 0x13, 0x50, 0x09, 0x68
.byte 0x12, 0x22, 0x28, 0x38, 0x0A, 0x50, 0x08, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0xA8, 0x10, 0x00, 0x00
.byte 0x98, 0x10, 0x00, 0x00, 0x00, 0x28, 0x05, 0xD1, 0x05, 0x48, 0x04, 0x22, 0x01, 0x68, 0x05, 0x48
.byte 0x0A, 0x50, 0x70, 0x47, 0x02, 0x48, 0x0C, 0x22, 0x01, 0x68, 0x02, 0x48, 0x0A, 0x50, 0x70, 0x47
.byte 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C
.byte 0x0A, 0x48, 0x0C, 0x1C, 0x01, 0x68, 0x0A, 0x48, 0x08, 0x58, 0x46, 0xF6, 0x23, 0xFA, 0x29, 0x1C
.byte 0x22, 0x1C, 0x46, 0xF6, 0x97, 0xF9, 0x05, 0x48, 0x01, 0x68, 0x05, 0x48, 0x08, 0x58, 0x4A, 0xF6
.byte 0xDD, 0xFE, 0x29, 0x1C, 0x22, 0x1C, 0x4A, 0xF6, 0xA5, 0xFF, 0x38, 0xBD, 0x80, 0xA6, 0x21, 0x02
.byte 0x78, 0x0F, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00, 0x03, 0x48, 0x04, 0x4B, 0x01, 0x68, 0x04, 0x48
.byte 0x20, 0x22, 0x08, 0x18, 0x00, 0x21, 0x18, 0x47, 0x80, 0xA6, 0x21, 0x02, 0x94, 0x49, 0x0D, 0x02
.byte 0xAC, 0x10, 0x00, 0x00, 0xF8, 0xB5, 0x00, 0x25, 0x2C, 0x1C, 0x28, 0x06, 0x00, 0x0E, 0x21, 0x1C
.byte 0x13, 0xF0, 0x42, 0xEB, 0x6D, 0x1C, 0x04, 0x2D, 0xF7, 0xDB, 0x08, 0xF0, 0xC2, 0xE8, 0x00, 0x28
.byte 0x21, 0xD1, 0x19, 0x4E, 0x19, 0x48, 0x31, 0x68, 0x00, 0x25, 0x08, 0x58, 0x00, 0x28, 0x22, 0xDD
.byte 0x16, 0x4F, 0x01, 0x24, 0x08, 0xF0, 0xB4, 0xE8, 0x85, 0x42, 0x0E, 0xD0, 0x08, 0xF0, 0xE6, 0xE8
.byte 0x21, 0x1C, 0xA9, 0x40, 0x08, 0x42, 0x08, 0xD0, 0x28, 0x06, 0x11, 0x49, 0x00, 0x0E, 0x13, 0xF0
.byte 0x24, 0xEB, 0x00, 0x28, 0x01, 0xD1, 0x3F, 0xF6, 0xE9, 0xF8, 0x30, 0x68, 0x6D, 0x1C, 0xC0, 0x59
.byte 0x85, 0x42, 0xE7, 0xDB, 0x07, 0xE0, 0x0A, 0x49, 0x00, 0x20, 0x13, 0xF0, 0x16, 0xEB, 0x00, 0x28
.byte 0x01, 0xD1, 0x3F, 0xF6, 0xDB, 0xF8, 0x04, 0x48, 0x01, 0x22, 0x01, 0x68, 0x05, 0x48, 0x0A, 0x50
.byte 0xFF, 0xF7, 0xB2, 0xFF, 0xF8, 0xBD, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02, 0x7C, 0x10, 0x00, 0x00
.byte 0x10, 0x27, 0x00, 0x00, 0xA8, 0x10, 0x00, 0x00, 0x70, 0xB5, 0x0D, 0x4C, 0x0D, 0x48, 0x21, 0x68
.byte 0x07, 0x22, 0x0A, 0x50, 0x21, 0x68, 0x0C, 0x30, 0x08, 0x58, 0x00, 0x25, 0x00, 0x28, 0x0C, 0xDD
.byte 0x09, 0x4E, 0x08, 0xF0, 0x76, 0xE8, 0x85, 0x42, 0x02, 0xD0, 0x28, 0x1C, 0x00, 0xF0, 0x66, 0xFF
.byte 0x20, 0x68, 0x6D, 0x1C, 0x80, 0x59, 0x85, 0x42, 0xF3, 0xDB, 0xFF, 0xF7, 0x9B, 0xFF, 0x70, 0xBD
.byte 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0x7C, 0x10, 0x00, 0x00, 0x10, 0xB5, 0x00, 0x28
.byte 0x0B, 0xD1, 0x00, 0x29, 0x06, 0xD1, 0x08, 0xF0, 0x5C, 0xE8, 0x01, 0x21, 0x08, 0x1A, 0xFF, 0xF7
.byte 0xD3, 0xFF, 0x07, 0xE0, 0xFF, 0xF7, 0x26, 0xFD, 0x04, 0xE0, 0x0A, 0x48, 0x0C, 0x22, 0x01, 0x68
.byte 0x09, 0x48, 0x0A, 0x50, 0x07, 0x48, 0x04, 0x68, 0x08, 0x48, 0x20, 0x58, 0x00, 0x28, 0x08, 0xD0
.byte 0x08, 0xF0, 0x46, 0xE8, 0x03, 0x4B, 0x06, 0x4A, 0x1B, 0x68, 0xA1, 0x58, 0x12, 0x1F, 0x9A, 0x58
.byte 0x90, 0x47, 0x10, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0xB4, 0x0F, 0x00, 0x00
.byte 0xB8, 0x0F, 0x00, 0x00, 0x01, 0x20, 0x70, 0x47, 0x18, 0xB4, 0x06, 0x4A, 0x06, 0x48, 0x13, 0x68
.byte 0x00, 0x24, 0x1C, 0x50, 0x12, 0x68, 0x89, 0x00, 0x51, 0x18, 0x34, 0x30, 0x0C, 0x50, 0x18, 0xBC
.byte 0x70, 0x47, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02, 0x78, 0x10, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C
.byte 0x53, 0xF6, 0x74, 0xFA, 0x4D, 0xF6, 0x16, 0xFE, 0x00, 0x28, 0x0E, 0xD1, 0x01, 0x20, 0x00, 0x02
.byte 0x20, 0x42, 0x05, 0xD0, 0x05, 0x48, 0x01, 0x22, 0x01, 0x68, 0x05, 0x48, 0x0A, 0x50, 0x10, 0xBD
.byte 0x02, 0x48, 0x00, 0x22, 0x01, 0x68, 0x02, 0x48, 0x0A, 0x50, 0x10, 0xBD, 0x80, 0xA6, 0x21, 0x02
.byte 0xD0, 0x10, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0, 0x00, 0x90, 0x0C, 0x1C, 0x63, 0x78, 0x26, 0x78
.byte 0x17, 0x1C, 0x1B, 0x02, 0x9C, 0x46, 0xE3, 0x78, 0x1D, 0x06, 0xA3, 0x78, 0x1B, 0x04, 0x2B, 0x43
.byte 0x65, 0x46, 0x2B, 0x43, 0x33, 0x43, 0x01, 0x93, 0x26, 0x4B, 0x27, 0x4D, 0x1E, 0x68, 0x01, 0x23
.byte 0x73, 0x51, 0x01, 0x9B, 0x1B, 0x06, 0x1B, 0x0E, 0x01, 0x2B, 0x09, 0xD1, 0x01, 0x98, 0xFF, 0xF7
.byte 0xC5, 0xFF, 0x20, 0x48, 0xA2, 0x78, 0x01, 0x68, 0x28, 0x1C, 0x35, 0x30, 0x0A, 0x54, 0x08, 0xE0
.byte 0x01, 0xF0, 0x68, 0xF9, 0x00, 0x28, 0x33, 0xD1, 0x01, 0x98, 0xFF, 0xF7, 0xB7, 0xFF, 0x02, 0xB0
.byte 0xF8, 0xBD, 0x3E, 0x1F, 0x00, 0x20, 0x31, 0x1C, 0x04, 0x22, 0x00, 0xF0, 0x73, 0xF8, 0x05, 0x1C
.byte 0x26, 0xD0, 0x20, 0x1D, 0x29, 0x1C, 0x32, 0x1C, 0xEE, 0xF6, 0xAA, 0xEA, 0x07, 0xF0, 0xC8, 0xEF
.byte 0x00, 0x28, 0x0C, 0xD1, 0x0F, 0x48, 0x01, 0x68, 0x10, 0x48, 0x0B, 0x58, 0x00, 0x2B, 0x12, 0xD0
.byte 0x32, 0x1C, 0x12, 0x04, 0x00, 0x98, 0x29, 0x1C, 0x12, 0x0C, 0x98, 0x47, 0x0B, 0xE0, 0x09, 0x48
.byte 0x01, 0x68, 0x0B, 0x48, 0x0B, 0x58, 0x00, 0x2B, 0x05, 0xD0, 0x32, 0x1C, 0x12, 0x04, 0x00, 0x98
.byte 0x29, 0x1C, 0x12, 0x0C, 0x98, 0x47, 0x00, 0x20, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x7C, 0xF8
.byte 0x02, 0xB0, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0xA8, 0x10, 0x00, 0x00, 0xA4, 0x0F, 0x00, 0x00
.byte 0xA8, 0x0F, 0x00, 0x00, 0x70, 0xB5, 0x1A, 0x4D, 0x1C, 0x1C, 0x2B, 0x68, 0x19, 0x4A, 0x00, 0x21
.byte 0x99, 0x50, 0x13, 0x1C, 0x2E, 0x68, 0x54, 0x33, 0xF1, 0x50, 0x13, 0x1C, 0x28, 0x33, 0x2E, 0x68
.byte 0x00, 0x28, 0xF1, 0x50, 0x18, 0xD1, 0x28, 0x68, 0x6D, 0x32, 0x80, 0x5C, 0x01, 0x28, 0x13, 0xD1
.byte 0x07, 0xF0, 0x62, 0xEF, 0x01, 0x28, 0x0F, 0xD1, 0x28, 0x1C, 0x02, 0x68, 0x0E, 0x48, 0x11, 0x58
.byte 0x06, 0x29, 0x01, 0xD0, 0x10, 0x21, 0x11, 0x50, 0x09, 0x48, 0x01, 0x68, 0x0B, 0x48, 0x08, 0x58
.byte 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x52, 0xFA, 0x05, 0x48, 0x09, 0x49, 0x03, 0x68, 0x5A, 0x58
.byte 0x00, 0x2A, 0x03, 0xD0, 0x09, 0x1D, 0x59, 0x58, 0x20, 0x1C, 0x90, 0x47, 0x70, 0xBD, 0xC0, 0x46
.byte 0x80, 0xA6, 0x21, 0x02, 0x78, 0x10, 0x00, 0x00, 0x70, 0x10, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00
.byte 0xAC, 0x0F, 0x00, 0x00, 0xF8, 0xB5, 0x0D, 0x1C, 0x16, 0x1C, 0xED, 0xF6, 0x2E, 0xEA, 0x07, 0x1C
.byte 0x12, 0x48, 0x32, 0x1C, 0x01, 0x68, 0x12, 0x48, 0x08, 0x58, 0x29, 0x1C, 0xCE, 0xF6, 0xD8, 0xEE
.byte 0x04, 0x1C, 0x0C, 0xD1, 0x0D, 0x48, 0x0F, 0x49, 0x00, 0x68, 0x42, 0x58, 0x00, 0x2A, 0x06, 0xD0
.byte 0x09, 0x1D, 0x40, 0x58, 0x29, 0x1C, 0x32, 0x1C, 0xCE, 0xF6, 0xCA, 0xEE, 0x04, 0x1C, 0x00, 0x2C
.byte 0x07, 0xD1, 0x01, 0x20, 0x53, 0xF6, 0x60, 0xFA, 0x38, 0x1C, 0xED, 0xF6, 0x18, 0xEA, 0x00, 0x20
.byte 0xF8, 0xBD, 0x38, 0x1C, 0xED, 0xF6, 0x12, 0xEA, 0x20, 0x1C, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02
.byte 0x94, 0x0F, 0x00, 0x00, 0x98, 0x0F, 0x00, 0x00, 0x38, 0xB5, 0x0D, 0x1C, 0x21, 0xD0, 0xED, 0xF6
.byte 0xFC, 0xE9, 0x04, 0x1C, 0x28, 0x1C, 0xCE, 0xF6, 0xB2, 0xEF, 0x10, 0x28, 0x0F, 0xD1, 0x0D, 0x48
.byte 0x02, 0x68, 0x0D, 0x48, 0x11, 0x58, 0x00, 0x29, 0x03, 0xD1, 0x01, 0x20, 0x53, 0xF6, 0x3C, 0xFA
.byte 0x38, 0xBD, 0x00, 0x1D, 0x10, 0x58, 0x29, 0x1C, 0xCE, 0xF6, 0x62, 0xEF, 0x06, 0xE0, 0x05, 0x48
.byte 0x01, 0x68, 0x06, 0x48, 0x08, 0x58, 0x29, 0x1C, 0xCE, 0xF6, 0x5A, 0xEF, 0x20, 0x1C, 0xED, 0xF6
.byte 0xE6, 0xE9, 0x38, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x98, 0x0F, 0x00, 0x00, 0x94, 0x0F, 0x00, 0x00
.byte 0x38, 0xB5, 0x82, 0xB0, 0x01, 0xA8, 0x00, 0xA9, 0x00, 0x24, 0x05, 0xF0, 0x40, 0xED, 0x05, 0x1C
.byte 0x5F, 0xD0, 0x01, 0x9C, 0x00, 0x2C, 0x02, 0xD0, 0x00, 0x98, 0x01, 0x28, 0x00, 0xD1, 0x2C, 0x1C
.byte 0x00, 0x98, 0x07, 0x28, 0x55, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14
.byte 0x87, 0x44, 0x9E, 0x00, 0x0E, 0x00, 0x14, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00
.byte 0x80, 0x00, 0x05, 0xF0, 0x9E, 0xED, 0x44, 0xE0, 0x05, 0xF0, 0x9A, 0xED, 0x41, 0xE0, 0x29, 0x48
.byte 0x01, 0x68, 0x00, 0x29, 0x26, 0xD0, 0x28, 0x48, 0x08, 0x58, 0x12, 0x28, 0x20, 0xD8, 0x00, 0x18
.byte 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00
.byte 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x34, 0x00
.byte 0x34, 0x00, 0x24, 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00
.byte 0x07, 0xF0, 0x48, 0xE9, 0x53, 0xF6, 0x0A, 0xF9, 0x21, 0x28, 0x01, 0xD0, 0x06, 0xF0, 0xD4, 0xE8
.byte 0x05, 0xF0, 0x6E, 0xED, 0x13, 0x48, 0x02, 0x68, 0x00, 0x2A, 0x12, 0xD0, 0x12, 0x48, 0x0E, 0x21
.byte 0x11, 0x50, 0x0E, 0xE0, 0x0F, 0x49, 0x0B, 0x68, 0x00, 0x2B, 0x0A, 0xD0, 0x0E, 0x48, 0x0F, 0x22
.byte 0x1A, 0x50, 0x09, 0x68, 0xB0, 0x38, 0x09, 0x58, 0x00, 0x29, 0x02, 0xD0, 0x01, 0x98, 0x40, 0x42
.byte 0x88, 0x47, 0x08, 0x48, 0x01, 0x68, 0x09, 0x48, 0x08, 0x5C, 0x00, 0x28, 0x00, 0xD0, 0x1A, 0x24
.byte 0x00, 0x2D, 0x04, 0xD0, 0x01, 0x98, 0x00, 0x99, 0x2A, 0x1C, 0x52, 0xF6, 0xFB, 0xFB, 0x20, 0x1C
.byte 0x02, 0xB0, 0x38, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0xDE, 0x10, 0x00, 0x00
.byte 0xF8, 0xB5, 0x11, 0x4E, 0x00, 0x25, 0x31, 0x68, 0x10, 0x48, 0x2C, 0x1C, 0x08, 0x58, 0x00, 0x28
.byte 0x18, 0xDD, 0x0E, 0x4F, 0x07, 0xF0, 0x74, 0xEE, 0x84, 0x42, 0x0E, 0xD0, 0x20, 0x06, 0x00, 0x0E
.byte 0x07, 0xF0, 0xBE, 0xEE, 0x00, 0x28, 0x08, 0xD0, 0x20, 0x06, 0x00, 0x0E, 0x01, 0x25, 0x12, 0xF0
.byte 0xE0, 0xEE, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0xF8, 0xBD, 0x30, 0x68, 0x64, 0x1C, 0xC0, 0x59
.byte 0x84, 0x42, 0xE7, 0xDB, 0x28, 0x1C, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x7C, 0x10, 0x00, 0x00
.byte 0x10, 0xB5, 0x04, 0x1C, 0x16, 0x48, 0x01, 0x68, 0x16, 0x48, 0x08, 0x58, 0x00, 0x28, 0x24, 0xD1
.byte 0xFF, 0xF7, 0xCE, 0xFF, 0x00, 0x28, 0x20, 0xD0, 0x07, 0xF0, 0x80, 0xEE, 0x12, 0x49, 0x08, 0x42
.byte 0x1B, 0xD0, 0x0F, 0x49, 0x0F, 0x48, 0x0A, 0x68, 0x01, 0x23, 0x13, 0x50, 0x0A, 0x68, 0x5C, 0x30
.byte 0x10, 0x5A, 0x01, 0x02, 0x02, 0x20, 0x08, 0x43, 0x10, 0x60, 0x07, 0xF0, 0x70, 0xEE, 0x08, 0x49
.byte 0x04, 0x22, 0x09, 0x68, 0x12, 0xF0, 0x94, 0xEF, 0x05, 0x48, 0x00, 0x22, 0x01, 0x68, 0xA0, 0x00
.byte 0x09, 0x18, 0x06, 0x48, 0x0A, 0x50, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x20, 0x10, 0xBD, 0xC0, 0x46
.byte 0x80, 0xA6, 0x21, 0x02, 0x78, 0x10, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0xAC, 0x10, 0x00, 0x00
.byte 0xF8, 0xB5, 0x07, 0xF0, 0x64, 0xE9, 0x00, 0xF0, 0x47, 0xFA, 0x3C, 0x48, 0x3C, 0x49, 0x02, 0x68
.byte 0x50, 0x58, 0x00, 0x28, 0x38, 0xD0, 0x08, 0x1C, 0x44, 0x30, 0x10, 0x5A, 0x01, 0x28, 0x0B, 0xD1
.byte 0x08, 0x1C, 0x40, 0x30, 0x10, 0x58, 0x01, 0x28, 0x06, 0xD1, 0x46, 0x31, 0x50, 0x5A, 0x01, 0x28
.byte 0x02, 0xD1, 0x01, 0xF0, 0x2D, 0xF9, 0x01, 0xE0, 0x01, 0xF0, 0x20, 0xF9, 0x00, 0xF0, 0xE6, 0xFE
.byte 0x2E, 0x48, 0x04, 0x68, 0x07, 0xF0, 0x32, 0xEE, 0x42, 0x21, 0x89, 0x01, 0x62, 0x58, 0x82, 0x42
.byte 0x1A, 0xD0, 0x08, 0x1C, 0x5F, 0x30, 0x20, 0x5C, 0x00, 0x28, 0x15, 0xD1, 0x1C, 0x31, 0x60, 0x58
.byte 0x00, 0x28, 0x11, 0xD0, 0x07, 0xF0, 0x22, 0xEE, 0x04, 0x1C, 0x07, 0xF0, 0xEA, 0xED, 0x01, 0x1C
.byte 0x20, 0x1C, 0x01, 0xF0, 0x17, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0x07, 0xF0, 0x18, 0xEE, 0x1F, 0x49
.byte 0x0A, 0x68, 0x42, 0x21, 0x89, 0x01, 0x50, 0x50, 0x1C, 0x4E, 0x1E, 0x49, 0x30, 0x68, 0x42, 0x58
.byte 0x12, 0x2A, 0x05, 0xD1, 0xFF, 0xF7, 0xD4, 0xFE, 0x00, 0x28, 0x2E, 0xD1, 0x17, 0x20, 0xF8, 0xBD
.byte 0x11, 0x2A, 0x01, 0xD1, 0x18, 0x20, 0xF8, 0xBD, 0xD2, 0x1F, 0x01, 0x2A, 0x23, 0xD8, 0x0C, 0x31
.byte 0x41, 0x58, 0x00, 0x24, 0x00, 0x29, 0x1E, 0xDD, 0x13, 0x4F, 0x25, 0x1C, 0x12, 0x4A, 0x41, 0x19
.byte 0x11, 0x48, 0x8A, 0x58, 0x08, 0x58, 0x52, 0x1C, 0xCA, 0x51, 0x78, 0x28, 0x0C, 0xDB, 0x31, 0x68
.byte 0x0E, 0x48, 0x08, 0x58, 0x00, 0x28, 0x07, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x59, 0xFF, 0x00, 0x28
.byte 0x02, 0xD0, 0xFF, 0xF7, 0xD1, 0xFC, 0x06, 0xE0, 0x30, 0x68, 0x09, 0x49, 0x64, 0x1C, 0x41, 0x58
.byte 0x2D, 0x1D, 0x8C, 0x42, 0xE2, 0xDB, 0xFF, 0xF7, 0xA3, 0xFE, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02
.byte 0x90, 0x10, 0x00, 0x00, 0x70, 0x10, 0x00, 0x00, 0xAC, 0x10, 0x00, 0x00, 0x78, 0x10, 0x00, 0x00
.byte 0x7C, 0x10, 0x00, 0x00, 0x08, 0xB5, 0x09, 0x48, 0x01, 0x68, 0x00, 0x29, 0x0A, 0xD0, 0x08, 0x48
.byte 0x08, 0x58, 0x07, 0x28, 0x03, 0xD0, 0x08, 0x28, 0x01, 0xD0, 0x10, 0x28, 0x02, 0xD1, 0x07, 0xF0
.byte 0x88, 0xED, 0x08, 0xBD, 0x00, 0x20, 0xC0, 0x43, 0x08, 0xBD, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02
.byte 0x70, 0x10, 0x00, 0x00, 0x02, 0x48, 0x00, 0x22, 0x01, 0x68, 0x02, 0x48, 0x0A, 0x50, 0x70, 0x47
.byte 0x80, 0xA6, 0x21, 0x02, 0x90, 0x10, 0x00, 0x00, 0xF8, 0xB5, 0x07, 0x1C, 0x01, 0x24, 0x52, 0xF6
.byte 0xC5, 0xFF, 0x4D, 0xF6, 0x67, 0xFB, 0x05, 0x1C, 0x10, 0xD0, 0x50, 0xF6, 0x4B, 0xFD, 0x44, 0x1E
.byte 0x01, 0x2C, 0x00, 0xDA, 0x01, 0x24, 0x1D, 0x49, 0x1D, 0x4E, 0x08, 0x68, 0x01, 0x23, 0x83, 0x53
.byte 0x0A, 0x68, 0x30, 0x1F, 0x13, 0x50, 0x08, 0x68, 0xB1, 0x1C, 0x43, 0x52, 0x17, 0x48, 0x02, 0x68
.byte 0x18, 0x48, 0x11, 0x58, 0x00, 0x29, 0x28, 0xD1, 0x14, 0x30, 0x10, 0x58, 0x05, 0x28, 0x13, 0xD8
.byte 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x1A, 0x00, 0x1A, 0x00
.byte 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x16, 0x00, 0x01, 0x21, 0x0A, 0xE0, 0x02, 0x21, 0x08, 0xE0
.byte 0x03, 0x21, 0x06, 0xE0, 0x04, 0x21, 0x04, 0xE0, 0x00, 0x2D, 0x01, 0xD1, 0x04, 0x21, 0x00, 0xE0
.byte 0x03, 0x21, 0x38, 0x1C, 0x22, 0x1C, 0x00, 0xF0, 0xE5, 0xFE, 0x07, 0x48, 0x00, 0xF0, 0xF6, 0xFF
.byte 0x02, 0x48, 0x01, 0x22, 0x01, 0x68, 0x03, 0x48, 0x0A, 0x50, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02
.byte 0xD4, 0x10, 0x00, 0x00, 0x90, 0x10, 0x00, 0x00, 0x95, 0x69, 0x1E, 0x02, 0x08, 0xB5, 0x00, 0xF0
.byte 0xEF, 0xFF, 0x05, 0x49, 0x0B, 0x68, 0x00, 0x2B, 0x05, 0xD0, 0x04, 0x48, 0x00, 0x22, 0x1A, 0x50
.byte 0x09, 0x68, 0x10, 0x38, 0x0A, 0x50, 0x08, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x90, 0x10, 0x00, 0x00
.byte 0x70, 0xB5, 0x0E, 0x1C, 0x64, 0x21, 0x04, 0x1C, 0x0B, 0xF7, 0x8E, 0xEF, 0xFA, 0x21, 0x05, 0x1C
.byte 0x20, 0x1C, 0x89, 0x00, 0x0B, 0xF7, 0x88, 0xEF, 0x4F, 0x4A, 0x94, 0x42, 0x01, 0xD1, 0x01, 0x20
.byte 0x70, 0xBD, 0x17, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0xBD, 0xD1, 0x1D, 0x8C, 0x42, 0x01, 0xD1
.byte 0x02, 0x20, 0x70, 0xBD, 0x09, 0x32, 0x94, 0x42, 0x01, 0xD1, 0x03, 0x20, 0x70, 0xBD, 0x02, 0x21
.byte 0x09, 0x02, 0x8D, 0x42, 0x01, 0xD1, 0x04, 0x20, 0x70, 0xBD, 0x0A, 0x1C, 0x0C, 0x3A, 0x95, 0x42
.byte 0x01, 0xD1, 0x05, 0x20, 0x70, 0xBD, 0x41, 0x4A, 0x94, 0x42, 0x01, 0xD1, 0x07, 0x20, 0x70, 0xBD
.byte 0x8A, 0x1E, 0x95, 0x42, 0x01, 0xD1, 0x06, 0x20, 0x70, 0xBD, 0x4A, 0x1E, 0x95, 0x42, 0x01, 0xD1
.byte 0x06, 0x20, 0x70, 0xBD, 0x49, 0x1C, 0x8D, 0x42, 0x01, 0xD1, 0x06, 0x20, 0x70, 0xBD, 0x38, 0x49
.byte 0x8C, 0x42, 0x04, 0xDB, 0xC9, 0x1C, 0x8C, 0x42, 0x01, 0xDC, 0x08, 0x20, 0x70, 0xBD, 0x35, 0x49
.byte 0x8C, 0x42, 0x04, 0xDB, 0xC9, 0x1C, 0x8C, 0x42, 0x01, 0xDC, 0x08, 0x20, 0x70, 0xBD, 0x32, 0x49
.byte 0x8C, 0x42, 0x04, 0xDB, 0xC9, 0x1C, 0x8C, 0x42, 0x01, 0xDC, 0x08, 0x20, 0x70, 0xBD, 0x2F, 0x49
.byte 0x8C, 0x42, 0x01, 0xD1, 0x09, 0x20, 0x70, 0xBD, 0x14, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD
.byte 0x82, 0x21, 0x89, 0x00, 0x8D, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD, 0x4A, 0x1C, 0x95, 0x42
.byte 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD, 0x8A, 0x1C, 0x95, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD
.byte 0xCA, 0x1C, 0x95, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD, 0x0A, 0x1C, 0x0A, 0x32, 0x95, 0x42
.byte 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD, 0x0A, 0x1C, 0x0B, 0x32, 0x95, 0x42, 0x01, 0xD1, 0x00, 0x20
.byte 0x70, 0xBD, 0x0C, 0x31, 0x8D, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD, 0x18, 0x49, 0x8C, 0x42
.byte 0x01, 0xDA, 0x0E, 0x20, 0x70, 0xBD, 0x1F, 0x28, 0x01, 0xD1, 0x0C, 0x20, 0x70, 0xBD, 0x07, 0x2E
.byte 0x11, 0xD8, 0xB0, 0x19, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x0E, 0x00
.byte 0x0E, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x1C, 0x00, 0x0B, 0x20
.byte 0x70, 0xBD, 0x0A, 0x20, 0x70, 0xBD, 0x3E, 0xF6, 0xB1, 0xFC, 0x01, 0xE0, 0x0F, 0x20, 0x70, 0xBD
.byte 0x00, 0x20, 0xC0, 0x43, 0x70, 0xBD, 0xC0, 0x46, 0x85, 0x4E, 0x00, 0x00, 0x9F, 0xC7, 0x00, 0x00
.byte 0x20, 0xCB, 0x00, 0x00, 0x84, 0xCB, 0x00, 0x00, 0xE8, 0xCB, 0x00, 0x00, 0x2E, 0x3A, 0x01, 0x00
.byte 0x10, 0x27, 0x00, 0x00, 0x08, 0xB5, 0x00, 0x28, 0x2C, 0xD1, 0x1D, 0x48, 0x1D, 0x4A, 0x00, 0x68
.byte 0x81, 0x58, 0x12, 0x29, 0x32, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14
.byte 0x8F, 0x44, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x3C, 0x00, 0x24, 0x00, 0x58, 0x00
.byte 0x24, 0x00, 0x24, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x3C, 0x00
.byte 0x58, 0x00, 0x58, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x20, 0x32, 0x80, 0x58, 0x00, 0x28, 0x01, 0xD0
.byte 0x00, 0xF0, 0xCC, 0xFE, 0x0A, 0x48, 0x10, 0x22, 0x01, 0x68, 0x0A, 0x48, 0x0A, 0x50, 0x0D, 0xE0
.byte 0x01, 0x20, 0x08, 0xBD, 0x06, 0x48, 0x01, 0x68, 0x06, 0x48, 0x08, 0x58, 0x04, 0x28, 0x03, 0xD0
.byte 0x11, 0x28, 0x01, 0xD0, 0x12, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD
.byte 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0x08, 0xB5, 0x0C, 0x48, 0x02, 0x68, 0x0C, 0x48
.byte 0x10, 0x58, 0x11, 0x28, 0x03, 0xD0, 0x12, 0x28, 0x01, 0xD0, 0x04, 0x28, 0x0B, 0xD1, 0x08, 0x48
.byte 0x04, 0x21, 0x11, 0x50, 0x4A, 0x1F, 0x05, 0x49, 0x28, 0x30, 0x09, 0x68, 0x0A, 0x50, 0x00, 0xF0
.byte 0x4F, 0xFA, 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02
.byte 0x70, 0x10, 0x00, 0x00, 0x03, 0x49, 0x0A, 0x68, 0x00, 0x2A, 0x02, 0xD0, 0x3F, 0x21, 0x89, 0x01
.byte 0x50, 0x50, 0x70, 0x47, 0x80, 0xA6, 0x21, 0x02, 0x08, 0xB5, 0x06, 0xF0, 0x7C, 0xEE, 0x05, 0xF0
.byte 0x0C, 0xEE, 0xFF, 0xF7, 0xC3, 0xFE, 0xFE, 0xF7, 0x0F, 0xFF, 0x08, 0xBD, 0x18, 0xB4, 0x04, 0x4B
.byte 0x04, 0x4A, 0x1C, 0x68, 0xA0, 0x50, 0x1B, 0x68, 0x10, 0x1D, 0x19, 0x50, 0x18, 0xBC, 0x70, 0x47
.byte 0x80, 0xA6, 0x21, 0x02, 0x64, 0x10, 0x00, 0x00, 0x38, 0xB5, 0x19, 0x48, 0x19, 0x49, 0x00, 0x68
.byte 0x42, 0x58, 0x00, 0x2A, 0x2B, 0xD0, 0x08, 0x31, 0x42, 0x58, 0x1F, 0x21, 0x15, 0x1C, 0x0D, 0x40
.byte 0x0C, 0x21, 0x2C, 0x1C, 0x4C, 0x43, 0xF4, 0x31, 0x40, 0x58, 0x00, 0x19, 0xB8, 0xF6, 0x86, 0xEF
.byte 0x00, 0x28, 0x14, 0xD0, 0x0E, 0x48, 0x0F, 0x4B, 0x02, 0x68, 0x01, 0x20, 0x00, 0x02, 0xD1, 0x58
.byte 0x10, 0x58, 0x1B, 0x1D, 0xD2, 0x58, 0x00, 0x19, 0x13, 0x1C, 0x6B, 0x43, 0xC9, 0x18, 0x00, 0xAA
.byte 0x09, 0xF0, 0x4C, 0xE8, 0x06, 0x49, 0x09, 0x68, 0x4A, 0x19, 0x07, 0x49, 0x50, 0x54, 0x04, 0x48
.byte 0x06, 0x49, 0x03, 0x68, 0x58, 0x58, 0x42, 0x1C, 0x1F, 0x20, 0x10, 0x40, 0x58, 0x50, 0x38, 0xBD
.byte 0x80, 0xA6, 0x21, 0x02, 0x64, 0x10, 0x00, 0x00, 0x44, 0x10, 0x00, 0x00, 0x6C, 0x10, 0x00, 0x00
.byte 0x00, 0x4B, 0x18, 0x47, 0x78, 0xFE, 0x1E, 0x02, 0x02, 0x49, 0x09, 0x68, 0x09, 0x18, 0x02, 0x48
.byte 0x08, 0x5C, 0x70, 0x47, 0x80, 0xA6, 0x21, 0x02, 0x44, 0x10, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C
.byte 0x0C, 0x1C, 0x17, 0x1C, 0x00, 0xF0, 0xC6, 0xFA, 0x00, 0x28, 0x02, 0xD0, 0x03, 0x20, 0xC0, 0x43
.byte 0xF8, 0xBD, 0x3C, 0x49, 0x3C, 0x48, 0x0A, 0x68, 0x13, 0x58, 0x04, 0x2B, 0x11, 0xD0, 0x03, 0x1C
.byte 0x5C, 0x33, 0xD3, 0x58, 0x5C, 0x1C, 0x03, 0x1C, 0x5C, 0x33, 0xD4, 0x50, 0x09, 0x68, 0x5C, 0x30
.byte 0x08, 0x58, 0x78, 0x28, 0x02, 0xDD, 0x02, 0x20, 0xC0, 0x43, 0xF8, 0xBD, 0x00, 0x20, 0xC0, 0x43
.byte 0xF8, 0xBD, 0x00, 0xF0, 0x9D, 0xFA, 0x2F, 0x4A, 0x30, 0x49, 0x10, 0x68, 0x00, 0x23, 0x43, 0x50
.byte 0x08, 0x1C, 0x13, 0x68, 0x01, 0x26, 0x0D, 0x30, 0x1E, 0x54, 0x08, 0x1C, 0x13, 0x68, 0x44, 0x38
.byte 0x1D, 0x50, 0x5C, 0x39, 0x10, 0x68, 0x00, 0x2F, 0x44, 0x50, 0x00, 0xD0, 0x02, 0x24, 0x25, 0x48
.byte 0x01, 0x22, 0x01, 0x68, 0x26, 0x48, 0x00, 0x2D, 0x0A, 0x50, 0x0A, 0xDA, 0x20, 0x06, 0x00, 0x22
.byte 0x24, 0x49, 0x25, 0x4B, 0x00, 0x0E, 0x00, 0x92, 0x07, 0xF0, 0xD8, 0xE8, 0x01, 0x23, 0x1D, 0x49
.byte 0x08, 0xE0, 0x22, 0x49, 0x00, 0x22, 0x20, 0x4B, 0x28, 0x1C, 0x00, 0x92, 0x07, 0xF0, 0x1A, 0xE9
.byte 0x18, 0x49, 0x02, 0x23, 0x0A, 0x68, 0x1E, 0x49, 0x00, 0x28, 0x53, 0x50, 0x1D, 0x48, 0x0E, 0xD1
.byte 0x14, 0x49, 0x0B, 0x68, 0x1A, 0x58, 0x52, 0x1C, 0x1A, 0x50, 0x09, 0x68, 0x08, 0x58, 0x78, 0x28
.byte 0x02, 0xDD, 0x02, 0x20, 0xC0, 0x43, 0xF8, 0xBD, 0x01, 0x20, 0xC0, 0x43, 0xF8, 0xBD, 0x0D, 0x49
.byte 0x00, 0x23, 0x0A, 0x68, 0x13, 0x50, 0x09, 0x68, 0x05, 0x22, 0x5C, 0x38, 0x0A, 0x50, 0x12, 0x48
.byte 0x12, 0xF0, 0x1C, 0xED, 0x11, 0x48, 0x12, 0xF0, 0x2A, 0xED, 0x11, 0x48, 0x00, 0x21, 0x07, 0xF0
.byte 0xEE, 0xE9, 0x10, 0x48, 0x12, 0xF0, 0x32, 0xED, 0x02, 0x49, 0x00, 0x20, 0x0A, 0x68, 0x0E, 0x49
.byte 0x50, 0x50, 0xF8, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0x70, 0x10, 0x00, 0x00, 0xD8, 0x10, 0x00, 0x00
.byte 0xA0, 0x10, 0x00, 0x00, 0xD9, 0x6E, 0x1E, 0x02, 0xE1, 0x6F, 0x1E, 0x02, 0xBD, 0x6F, 0x1E, 0x02
.byte 0x74, 0x10, 0x00, 0x00, 0xCC, 0x10, 0x00, 0x00, 0x29, 0x64, 0x1E, 0x02, 0x85, 0x64, 0x1E, 0x02
.byte 0x55, 0x65, 0x1E, 0x02, 0x41, 0x62, 0x1E, 0x02, 0x78, 0x10, 0x00, 0x00, 0x04, 0x48, 0x01, 0x68
.byte 0x00, 0x29, 0x02, 0xD0, 0x03, 0x48, 0x08, 0x58, 0x70, 0x47, 0x00, 0x20, 0xC0, 0x43, 0x70, 0x47
.byte 0x80, 0xA6, 0x21, 0x02, 0x94, 0x10, 0x00, 0x00, 0xF8, 0xB5, 0x31, 0x4F, 0x03, 0x1C, 0x08, 0x1C
.byte 0x16, 0x1C, 0x00, 0x24, 0x3A, 0x68, 0x2F, 0x49, 0x06, 0x9D, 0x54, 0x50, 0x00, 0x2B, 0x56, 0xD1
.byte 0x00, 0x28, 0x4E, 0xD1, 0x52, 0xF6, 0x22, 0xFD, 0x4D, 0xF6, 0xCE, 0xF8, 0x00, 0x28, 0x03, 0xD0
.byte 0x60, 0x1E, 0x85, 0x42, 0x00, 0xD1, 0x01, 0x24, 0x25, 0x48, 0x01, 0x68, 0x26, 0x48, 0x09, 0x58
.byte 0x00, 0x29, 0x04, 0xD0, 0x28, 0x1C, 0x88, 0x47, 0x00, 0x28, 0x00, 0xD1, 0x01, 0x24, 0x20, 0x48
.byte 0x01, 0x68, 0x22, 0x48, 0x08, 0x5C, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x2C, 0x1B, 0xD0, 0x07, 0xF0
.byte 0xE6, 0xEA, 0x1B, 0x49, 0x0A, 0x68, 0x1E, 0x49, 0x51, 0x58, 0xC9, 0x43, 0x08, 0x40, 0x00, 0x90
.byte 0x07, 0xF0, 0xDC, 0xEA, 0x04, 0x1C, 0x00, 0x98, 0x00, 0x28, 0x0C, 0xD0, 0x00, 0xA8, 0x07, 0xF0
.byte 0x1A, 0xEA, 0x00, 0x98, 0x60, 0x40, 0x01, 0x28, 0x21, 0xD1, 0x11, 0x48, 0x06, 0x22, 0x01, 0x68
.byte 0x14, 0x48, 0x0A, 0x50, 0xF8, 0xBD, 0x0E, 0x48, 0x01, 0x68, 0x13, 0x48, 0x0D, 0x50, 0x07, 0xF0
.byte 0xC6, 0xEA, 0x0B, 0x4A, 0x0E, 0x49, 0x13, 0x68, 0x58, 0x50, 0x12, 0x68, 0x50, 0x58, 0x01, 0x28
.byte 0x03, 0xD1, 0x06, 0x20, 0x68, 0x39, 0x50, 0x50, 0xF8, 0xBD, 0x28, 0x1C, 0xFF, 0xF7, 0xFC, 0xF9
.byte 0xF8, 0xBD, 0x00, 0x2E, 0x03, 0xD1, 0x38, 0x68, 0x62, 0x1E, 0x08, 0x39, 0x42, 0x50, 0xF8, 0xBD
.byte 0x80, 0xA6, 0x21, 0x02, 0xA0, 0x10, 0x00, 0x00, 0xBC, 0x0F, 0x00, 0x00, 0xE0, 0x10, 0x00, 0x00
.byte 0xD8, 0x10, 0x00, 0x00, 0x70, 0x10, 0x00, 0x00, 0x94, 0x10, 0x00, 0x00, 0x10, 0xB5, 0x06, 0x4A
.byte 0x00, 0x24, 0x13, 0x68, 0x05, 0x4A, 0x00, 0x28, 0x9C, 0x50, 0x04, 0xD1, 0x00, 0x29, 0x02, 0xD1
.byte 0x02, 0x98, 0xFF, 0xF7, 0xD9, 0xF9, 0x10, 0xBD, 0x80, 0xA6, 0x21, 0x02, 0xA0, 0x10, 0x00, 0x00
.byte 0x08, 0xB5, 0x08, 0x4A, 0x08, 0x49, 0x13, 0x68, 0x58, 0x50, 0x13, 0x68, 0x0A, 0x1C, 0xE4, 0x3A
.byte 0x9A, 0x58, 0x00, 0x2A, 0x04, 0xD0, 0xE0, 0x39, 0x00, 0x04, 0x59, 0x58, 0x00, 0x0C, 0x90, 0x47
.byte 0x08, 0xBD, 0xC0, 0x46, 0x80, 0xA6, 0x21, 0x02, 0x98, 0x10, 0x00, 0x00
thumb_func_start FUN_021E700C
FUN_021E700C: @ 0x021E700C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r0, _021E7074 @ =0x0221A680
ldr r1, [r0]
movs r0, #0xf1
lsls r0, r0, #4
ldr r0, [r1, r0]
blx FUN_020A0100
cmp r0, #0
bne _021E7034
ldr r0, _021E7074 @ =0x0221A680
ldr r1, [r0]
movs r0, #0xf1
lsls r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0xc
blx FUN_020A037C
b _021E7044
_021E7034:
ldr r0, _021E7074 @ =0x0221A680
ldr r1, [r0]
movs r0, #0xf1
lsls r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
blx FUN_020A037C
_021E7044:
movs r4, #0
movs r7, #1
ldr r6, _021E7074 @ =0x0221A680
adds r5, r4, #0
lsls r7, r7, #8
_021E704E:
movs r0, #1
ldr r1, [r6]
lsls r0, r0, #8
ldr r0, [r1, r0]
adds r0, r0, r5
blx FUN_0209FC54
ldr r0, [r6]
ldr r0, [r0, r7]
adds r0, r0, r5
blx FUN_0209FC1C
adds r4, r4, #1
adds r5, #0xc
cmp r4, #0x20
blt _021E704E
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021E7074: .4byte 0x0221A680
thumb_func_end FUN_021E700C

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD01_021E5900

5284
arm9/overlays/01/module_01.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x02245B80 MOD02_02245B80

View File

@ -0,0 +1,39 @@
thumb_func_start MOD02_02245B80
MOD02_02245B80: @ 0x02245B80
push {r4, lr}
adds r4, r0, #0
bl FUN_0205064C
bl FUN_02245B9C
adds r2, r0, #0
ldr r1, _02245B98 @ =0x02245BC9
adds r0, r4, #0
bl FUN_02050530
pop {r4, pc}
.align 2, 0
_02245B98: .4byte 0x02245BC9
thumb_func_end MOD02_02245B80
thumb_func_start FUN_02245B9C
FUN_02245B9C: @ 0x02245B9C
push {r3, r4, r5, lr}
adds r5, r0, #0
movs r0, #4
movs r1, #0xd0
bl FUN_0201AA8C
adds r4, r0, #0
bne _02245BB4
bl FUN_0202551C
movs r0, #0
pop {r3, r4, r5, pc}
_02245BB4:
movs r1, #0
movs r2, #0xd0
blx FUN_020D4994
str r5, [r4, #4]
movs r0, #4
str r0, [r4]
adds r0, r4, #0
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end FUN_02245B9C

View File

@ -0,0 +1 @@
thumb_func 0x02253E20 MOD03_02253E20

View File

@ -0,0 +1,85 @@
thumb_func_start MOD03_02253E20
MOD03_02253E20: @ 0x02253E20
push {r3, r4, r5, lr}
adds r5, r0, #0
ldr r0, _02253ECC @ =0x022598A0
adds r4, r1, #0
ldr r0, [r0]
adds r0, #0x94
ldrb r0, [r0]
bl FUN_0205B624
cmp r0, #0
bne _02253E42
ldr r0, _02253ECC @ =0x022598A0
ldr r0, [r0]
adds r0, #0x94
ldrb r0, [r0]
bl FUN_020200A0
_02253E42:
cmp r4, #0
beq _02253E64
ldr r0, _02253ECC @ =0x022598A0
adds r1, r5, #0
ldr r2, [r0]
ldr r0, [r2, #0x74]
ldr r2, [r2, #0x10]
bl FUN_0200BB6C
ldr r0, _02253ECC @ =0x022598A0
ldr r2, [r0]
ldr r0, [r2, #0x58]
ldr r1, [r2, #0x14]
ldr r2, [r2, #0x10]
bl FUN_0200CBBC
b _02253E72
_02253E64:
ldr r0, _02253ECC @ =0x022598A0
adds r1, r5, #0
ldr r2, [r0]
ldr r0, [r2, #0x74]
ldr r2, [r2, #0x14]
bl FUN_0200BB6C
_02253E72:
ldr r0, _02253ECC @ =0x022598A0
ldr r0, [r0]
adds r0, #0x40
bl FUN_0201D3F0
cmp r0, #0
bne _02253E90
ldr r0, _02253ECC @ =0x022598A0
movs r2, #3
ldr r1, [r0]
ldr r0, [r1, #0x68]
adds r1, #0x40
ldr r0, [r0, #8]
bl FUN_0205B514
_02253E90:
ldr r0, _02253ECC @ =0x022598A0
ldr r0, [r0]
ldr r0, [r0, #0x68]
ldr r0, [r0, #0xc]
bl FUN_02028EA8
adds r1, r0, #0
ldr r0, _02253ECC @ =0x022598A0
ldr r0, [r0]
adds r0, #0x40
bl FUN_0205B564
ldr r0, _02253ECC @ =0x022598A0
ldr r4, [r0]
ldr r0, [r4, #0x68]
ldr r0, [r0, #0xc]
bl FUN_02028EA8
adds r2, r0, #0
adds r0, r4, #0
ldr r1, [r4, #0x14]
adds r0, #0x40
movs r3, #1
bl FUN_0205B5B4
ldr r1, _02253ECC @ =0x022598A0
ldr r1, [r1]
adds r1, #0x94
strb r0, [r1]
pop {r3, r4, r5, pc}
.align 2, 0
_02253ECC: .4byte 0x022598A0
thumb_func_end MOD03_02253E20

View File

@ -0,0 +1 @@
thumb_func 0x02253E20 MOD04_02253E20

View File

@ -0,0 +1,85 @@
thumb_func_start MOD04_02253E20
MOD04_02253E20: @ 0x02253E20
push {r3, r4, r5, r6, lr}
sub sp, #0x24
adds r5, r0, #0
bl FUN_0203E344
bl FUN_0202A998
movs r1, #4
bl FUN_0202AEA8
add r3, sp, #0x18
ldr r6, _02253ECC @ =0x02257328
adds r4, r0, #0
ldm r6!, {r0, r1}
adds r2, r3, #0
stm r3!, {r0, r1}
ldr r0, [r6]
movs r1, #0x6f
str r0, [r3]
ldr r0, [r5, #0x54]
movs r3, #0
str r0, [sp]
adds r0, r5, #0
adds r0, #0x9c
ldr r0, [r0]
bl FUN_021F3C0C
movs r3, #3
movs r0, #2
str r3, [sp]
lsls r0, r0, #0x10
str r0, [sp, #4]
adds r0, r5, #0
adds r0, #0x98
ldr r0, [r0]
movs r1, #0xe
str r0, [sp, #8]
movs r0, #0
movs r2, #0x13
bl FUN_021FB3E4
ldr r0, [r4]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
beq _02253E80
cmp r0, #1
beq _02253E86
b _02253E8C
_02253E80:
movs r4, #2
lsls r4, r4, #0x10
b _02253E94
_02253E86:
movs r4, #0x1f
lsls r4, r4, #0x10
b _02253E94
_02253E8C:
bl FUN_0202551C
movs r4, #2
lsls r4, r4, #0x10
_02253E94:
adds r0, r5, #0
adds r0, #0x9c
ldr r0, [r0]
movs r1, #0x6f
bl FUN_021F3B4C
adds r6, r0, #0
add r0, sp, #0xc
adds r1, r6, #0
bl FUN_021F3B0C
adds r0, r6, #0
add r1, sp, #0xc
str r4, [sp, #0x10]
bl FUN_021F3B1C
adds r5, #0x98
ldr r2, [r5]
movs r0, #0
adds r1, r4, #0
bl FUN_021FB4A0
ldr r0, _02253ED0 @ =0x02257334
blx FUN_020CF8E4
add sp, #0x24
pop {r3, r4, r5, r6, pc}
nop
_02253ECC: .4byte 0x02257328
_02253ED0: .4byte 0x02257334
thumb_func_end MOD04_02253E20

View File

@ -0,0 +1 @@
thumb_func 0x0221BA00 MOD05_0221BA00

View File

@ -0,0 +1,50 @@
thumb_func_start MOD05_0221BA00
MOD05_0221BA00: @ 0x0221BA00
push {r3, r4, r5, lr}
adds r5, r0, #0
ldr r0, _0221BA5C @ =0x0221BA71
ldr r1, _0221BA60 @ =0x00000BD4
ldr r3, [r5, #0x24]
movs r2, #0x64
bl FUN_02007200
bl FUN_0201F988
ldr r2, _0221BA60 @ =0x00000BD4
movs r1, #0
adds r4, r0, #0
blx FUN_020E5B44
ldr r0, _0221BA64 @ =0x00000B7F
str r5, [r4]
movs r1, #0
strb r1, [r4, r0]
bl FUN_020304B4
ldr r1, _0221BA68 @ =0x00000BC8
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #1
bne _0221BA58
ldr r0, [r4]
ldr r1, [r0]
cmp r1, #0
beq _0221BA58
movs r0, #7
lsls r0, r0, #6
ldr r0, [r1, r0]
cmp r0, #0
beq _0221BA58
bl FUN_0207879C
ldr r1, _0221BA6C @ =0x000001D1
ldr r3, [r5, #0x24]
movs r2, #1
bl FUN_020784B0
ldr r1, _0221BA68 @ =0x00000BC8
str r0, [r4, r1]
_0221BA58:
pop {r3, r4, r5, pc}
nop
_0221BA5C: .4byte 0x0221BA71
_0221BA60: .4byte 0x00000BD4
_0221BA64: .4byte 0x00000B7F
_0221BA68: .4byte 0x00000BC8
_0221BA6C: .4byte 0x000001D1
thumb_func_end MOD05_0221BA00

View File

@ -0,0 +1 @@
thumb_func 0x0221BA00 MOD06_0221BA00

View File

@ -0,0 +1,18 @@
thumb_func_start MOD06_0221BA00
MOD06_0221BA00: @ 0x0221BA00
movs r1, #0
mvns r1, r1
cmp r0, r1
beq _0221BA10
lsls r1, r0, #2
ldr r0, _0221BA14 @ =0x0221BDD0
ldr r0, [r0, r1]
bx lr
_0221BA10:
ldr r0, _0221BA18 @ =0x0221BB6C
bx lr
.align 2, 0
_0221BA14: .4byte 0x0221BDD0
_0221BA18: .4byte 0x0221BB6C
thumb_func_end MOD06_0221BA00

View File

@ -0,0 +1 @@
thumb_func 0x0221BE20 MOD07_0221BE20

View File

@ -0,0 +1,23 @@
thumb_func_start MOD07_0221BE20
MOD07_0221BE20: @ 0x0221BE20
adds r1, r0, #0
adds r1, #0x8d
ldrb r1, [r1]
cmp r1, #0
bne _0221BE32
ldr r1, _0221BE40 @ =0x0221BE45
adds r0, #0xbc
str r1, [r0]
bx lr
_0221BE32:
adds r1, r0, #0
adds r1, #0x8d
ldrb r1, [r1]
adds r0, #0x8d
subs r1, r1, #1
strb r1, [r0]
bx lr
.align 2, 0
_0221BE40: .4byte 0x0221BE45
thumb_func_end MOD07_0221BE20

View File

@ -0,0 +1 @@
thumb_func 0x0221BE20 MOD08_0221BE20

2628
arm9/overlays/08/module_08.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x0221BE20 MOD09_0221BE20

View File

@ -0,0 +1,20 @@
thumb_func_start MOD09_0221BE20
MOD09_0221BE20: @ 0x0221BE20
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD09_0221BE20

View File

@ -0,0 +1 @@
thumb_func 0x0221BE20 MOD10_0221BE20

4014
arm9/overlays/10/module_10.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD100_021E5900

View File

@ -0,0 +1,21 @@
thumb_func_start MOD100_021E5900
MOD100_021E5900: @ 0x021E5900
ldr r1, [r0, #0xc]
str r1, [r0, #0x10]
ldr r1, _021E591C @ =0x021D110C
ldr r2, [r1, #0x48]
ldr r1, _021E5920 @ =0x00000CF3
tst r1, r2
beq _021E5916
movs r1, #0
str r1, [r0, #0xc]
movs r0, #1
bx lr
_021E5916:
movs r0, #0
bx lr
nop
_021E591C: .4byte 0x021D110C
_021E5920: .4byte 0x00000CF3
thumb_func_end MOD100_021E5900

View File

@ -0,0 +1 @@
thumb_func 0x021E7740 MOD101_021E7740

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x021E7740 MOD102_021E7740

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x021EC940 MOD103_021EC940

View File

@ -0,0 +1,34 @@
thumb_func_start MOD103_021EC940
MOD103_021EC940: @ 0x021EC940
push {r3, r4, r5, lr}
movs r2, #1
adds r5, r0, #0
movs r0, #3
movs r1, #0x9c
lsls r2, r2, #0x10
bl FUN_0201A910
adds r0, r5, #0
movs r1, #0x2c
movs r2, #0x9c
bl FUN_02007280
movs r1, #0
movs r2, #0x2c
adds r4, r0, #0
blx FUN_020D4994
adds r0, r5, #0
bl FUN_020072A4
str r0, [r4, #8]
ldr r0, [r0]
bl FUN_02028EA8
str r0, [r4]
ldr r0, [r4, #8]
ldr r0, [r0]
bl FUN_0202B50C
str r0, [r4, #4]
movs r0, #8
str r0, [r4, #0x28]
movs r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD103_021EC940

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD104_021E5900

View File

@ -0,0 +1,491 @@
thumb_func_start MOD104_021E5900
MOD104_021E5900: @ 0x021E5900
push {r4, r5, r6, r7, lr}
sub sp, #0xc
movs r2, #0x31
adds r5, r0, #0
movs r0, #3
movs r1, #0x95
lsls r2, r2, #0xc
bl FUN_0201A910
movs r1, #0x17
adds r0, r5, #0
lsls r1, r1, #4
movs r2, #0x95
bl FUN_02007280
movs r2, #0x17
movs r1, #0
lsls r2, r2, #4
adds r4, r0, #0
blx FUN_020E5B44
adds r0, r5, #0
bl FUN_020072A4
adds r5, r0, #0
movs r0, #0x59
ldrb r1, [r5]
lsls r0, r0, #2
strb r1, [r4, r0]
ldrb r2, [r5, #1]
adds r1, r0, #1
strb r2, [r4, r1]
adds r1, r0, #2
ldrb r2, [r5, #2]
adds r0, r0, #3
strb r2, [r4, r1]
movs r1, #0
strb r1, [r4, r0]
movs r0, #0x95
bl FUN_02023114
str r0, [r4]
bl FUN_021E5B88
adds r0, r4, #0
bl FUN_021E5CC8
adds r0, r4, #0
bl FUN_021E5BEC
movs r4, #0
movs r7, #2
movs r6, #4
_021E596A:
ldr r2, [r5, #4]
movs r0, #6
adds r1, r4, #0
muls r1, r0, r1
adds r3, r2, r1
ldrsh r1, [r2, r1]
ldrsh r2, [r3, r7]
ldrsh r3, [r3, r6]
adds r0, r4, #0
blx FUN_020BF034
ldr r2, [r5, #4]
lsls r1, r4, #1
adds r1, r2, r1
ldrh r1, [r1, #0x18]
adds r0, r4, #0
blx FUN_020BF070
adds r0, r4, #1
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
cmp r4, #4
blo _021E596A
ldr r2, [r5, #4]
ldrh r0, [r2, #0x20]
ldrh r1, [r2, #0x22]
ldr r2, [r2, #0x28]
blx FUN_020BF084
ldr r2, [r5, #4]
ldrh r0, [r2, #0x24]
ldrh r1, [r2, #0x26]
ldr r2, [r2, #0x2c]
blx FUN_020BF0A8
ldr r3, [r5, #4]
ldr r0, [r3, #0x40]
str r0, [sp]
ldr r0, [r3, #0x44]
str r0, [sp, #4]
ldr r0, [r3, #0x30]
ldr r1, [r3, #0x34]
ldr r2, [r3, #0x38]
ldr r3, [r3, #0x3c]
blx FUN_020BF0CC
movs r0, #6
str r0, [sp]
movs r1, #1
str r1, [sp, #4]
movs r0, #0x95
str r0, [sp, #8]
movs r0, #3
adds r2, r1, #0
movs r3, #0
bl FUN_0200FA24
movs r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD104_021E5900
_021E59E4:
.byte 0xF0, 0xB5, 0x8F, 0xB0, 0x0E, 0x1C, 0x21, 0xF6, 0x51, 0xFC, 0x05, 0x1C
.byte 0x5A, 0x20, 0x80, 0x00, 0x29, 0x5C, 0x6C, 0x20, 0x2A, 0x1D, 0x48, 0x43, 0x14, 0x18, 0x30, 0x68
.byte 0x00, 0x27, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x0F, 0xD0, 0x2B, 0xE0, 0x20, 0x1C, 0x00, 0xF0
.byte 0x33, 0xFA, 0x00, 0x28, 0x26, 0xD0, 0x5A, 0x20, 0x80, 0x00, 0x28, 0x5C, 0x95, 0x21, 0x00, 0xF0
.byte 0x47, 0xFA, 0x30, 0x68, 0x40, 0x1C, 0x30, 0x60, 0x1C, 0xE0, 0x2A, 0xF6, 0x97, 0xF8, 0x00, 0x28
.byte 0x18, 0xD0, 0x5A, 0x20, 0x80, 0x00, 0x29, 0x5C, 0x49, 0x1C, 0x29, 0x54, 0x41, 0x1C, 0x69, 0x5C
.byte 0x4A, 0x1C, 0x41, 0x1C, 0x6A, 0x54, 0x40, 0x1C, 0x28, 0x5C, 0x03, 0x28, 0x01, 0xD3, 0x01, 0x27
.byte 0x08, 0xE0, 0x28, 0x1C, 0x00, 0xF0, 0xCA, 0xF8, 0x38, 0x1C, 0x95, 0x21, 0xA2, 0xF6, 0x36, 0xFB
.byte 0x38, 0x1C, 0x30, 0x60, 0x60, 0x6E, 0x00, 0x68, 0x00, 0x28, 0x14, 0xD1, 0x5B, 0x21, 0x89, 0x00
.byte 0x68, 0x58, 0x09, 0x1F, 0x69, 0x5C, 0x89, 0x00, 0x40, 0x58, 0x00, 0x04, 0x00, 0x0C, 0x20, 0xF6
.byte 0xE5, 0xFA, 0x5A, 0x20, 0x80, 0x00, 0x28, 0x5C, 0x02, 0x28, 0x04, 0xD1, 0x1E, 0x49, 0x44, 0x20
.byte 0x01, 0x22, 0x1F, 0xF6, 0x17, 0xFA, 0x01, 0x23, 0x00, 0x22, 0x1B, 0x03, 0x90, 0x00, 0x20, 0x18
.byte 0x41, 0x6E, 0x8D, 0x68, 0x08, 0x68, 0xAD, 0x88, 0xC0, 0x18, 0x2D, 0x03, 0xA8, 0x42, 0x00, 0xDA
.byte 0x08, 0x60, 0x50, 0x1C, 0x00, 0x06, 0x02, 0x0E, 0x02, 0x2A, 0xEF, 0xD3, 0x13, 0x4D, 0x06, 0xAB
.byte 0x04, 0x22, 0x03, 0xCD, 0x03, 0xC3, 0x52, 0x1E, 0xFB, 0xD1, 0x28, 0x68, 0x03, 0xAA, 0x18, 0x60
.byte 0x0F, 0x4B, 0x03, 0xCB, 0x03, 0xC2, 0x18, 0x68, 0x00, 0xA9, 0x10, 0x60, 0x00, 0x20, 0x08, 0x60
.byte 0x48, 0x60, 0x88, 0x60, 0x41, 0xF6, 0xB0, 0xF9, 0x3D, 0xF6, 0x34, 0xFB, 0x20, 0x1C, 0x00, 0xA9
.byte 0x06, 0xAA, 0x03, 0xAB, 0x39, 0xF6, 0x2E, 0xFD, 0x01, 0x20, 0x01, 0x1C, 0x41, 0xF6, 0xA8, 0xF9
.byte 0x38, 0x1C, 0x0F, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, 0x47, 0x04, 0x00, 0x00, 0x3C, 0x5F, 0x1E, 0x02
.byte 0xFC, 0x5E, 0x1E, 0x02, 0xF0, 0xB5, 0x83, 0xB0, 0x00, 0x90, 0x21, 0xF6, 0xB9, 0xFB, 0x07, 0x1C
.byte 0x00, 0x20, 0x01, 0x90, 0x38, 0x1D, 0x02, 0x90, 0x01, 0x99, 0x6C, 0x20, 0x0A, 0x1C, 0x42, 0x43
.byte 0x02, 0x98, 0x00, 0x24, 0x86, 0x18, 0xA0, 0x00, 0x35, 0x18, 0x52, 0x20, 0x80, 0x00, 0x69, 0x6E
.byte 0x38, 0x18, 0xDD, 0xF6, 0x2E, 0xE8, 0xE8, 0x6D, 0x34, 0xF6, 0xE0, 0xFF, 0x60, 0x1C, 0x00, 0x06
.byte 0x04, 0x0E, 0x02, 0x2C, 0xEF, 0xD3, 0xB0, 0x6D, 0x34, 0xF6, 0xD8, 0xFF, 0x01, 0x98, 0x40, 0x1C
.byte 0x00, 0x06, 0x00, 0x0E, 0x01, 0x90, 0x03, 0x28, 0xDE, 0xD3, 0x38, 0x68, 0x3D, 0xF6, 0xD8, 0xFA
.byte 0x00, 0x98, 0x21, 0xF6, 0x8F, 0xFB, 0x39, 0xF6, 0x61, 0xFD, 0x95, 0x20, 0x34, 0xF6, 0x22, 0xFF
.byte 0x01, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00
thumb_func_start FUN_021E5B88
FUN_021E5B88: @ 0x021E5B88
push {r3, lr}
movs r0, #0
adds r1, r0, #0
bl FUN_0201A0FC
bl FUN_0201A108
bl FUN_02022C54
bl FUN_02022CBC
movs r2, #1
lsls r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _021E5BD8 @ =0xFFFFE0FF
ands r1, r0
str r1, [r2]
ldr r2, _021E5BDC @ =0x04001000
ldr r1, [r2]
ands r0, r1
str r0, [r2]
bl FUN_021E5CA8
movs r0, #0x95
bl FUN_0201F590
ldr r2, _021E5BE0 @ =0x04000060
ldr r0, _021E5BE4 @ =0xFFFFCFFF
ldrh r1, [r2]
ands r1, r0
movs r0, #0x20
orrs r0, r1
strh r0, [r2]
ldr r0, _021E5BE8 @ =0x021E5F14
blx FUN_020CF8E4
bl FUN_02022D3C
pop {r3, pc}
nop
_021E5BD8: .4byte 0xFFFFE0FF
_021E5BDC: .4byte 0x04001000
_021E5BE0: .4byte 0x04000060
_021E5BE4: .4byte 0xFFFFCFFF
_021E5BE8: .4byte 0x021E5F14
thumb_func_end FUN_021E5B88
thumb_func_start FUN_021E5BEC
FUN_021E5BEC: @ 0x021E5BEC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
adds r4, r0, #0
add r6, sp, #0xc
movs r0, #0
str r0, [r6]
str r0, [r6, #4]
movs r2, #0x56
str r0, [r6, #8]
lsls r2, r2, #2
adds r5, r4, r2
ldm r6!, {r0, r1}
adds r3, r5, #0
stm r5!, {r0, r1}
ldr r0, [r6]
str r0, [r5]
adds r0, r2, #0
adds r0, #0x10
ldrb r7, [r4, r0]
adds r2, #0xc
ldrb r1, [r4, r2]
movs r0, #0x14
adds r6, r7, #0
muls r6, r0, r6
movs r0, #0x3c
adds r5, r1, #0
muls r5, r0, r5
ldr r0, _021E5C90 @ =0x021E5FD0
adds r1, r0, r5
ldr r0, _021E5C94 @ =0x021E5FDC
adds r2, r1, r6
adds r0, r0, r5
ldrb r0, [r6, r0]
adds r2, r2, #4
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
ldr r0, [r4]
str r0, [sp, #8]
adds r0, r3, #0
ldr r3, _021E5C98 @ =0x021E5FDE
ldr r1, [r1, r6]
adds r3, r3, r5
ldrh r3, [r6, r3]
bl FUN_02023254
movs r0, #0x59
lsls r0, r0, #2
ldrb r1, [r4, r0]
movs r0, #0x24
ldr r2, _021E5C9C @ =0x021E5F88
muls r0, r1, r0
adds r1, r2, r0
movs r0, #0xc
muls r0, r7, r0
adds r0, r1, r0
ldr r1, [r4]
bl FUN_02023514
movs r0, #0x59
lsls r0, r0, #2
ldrb r3, [r4, r0]
movs r0, #0xc
lsls r2, r7, #2
adds r1, r3, #0
muls r1, r0, r1
ldr r0, _021E5CA0 @ =0x021E5F24
ldr r3, _021E5CA4 @ =0x021E5F26
adds r0, r0, r1
adds r1, r3, r1
ldrh r0, [r2, r0]
ldrh r1, [r2, r1]
ldr r2, [r4]
lsls r0, r0, #0xc
lsls r1, r1, #0xc
bl FUN_02023240
ldr r0, [r4]
bl FUN_0202313C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021E5C90: .4byte 0x021E5FD0
_021E5C94: .4byte 0x021E5FDC
_021E5C98: .4byte 0x021E5FDE
_021E5C9C: .4byte 0x021E5F88
_021E5CA0: .4byte 0x021E5F24
_021E5CA4: .4byte 0x021E5F26
thumb_func_end FUN_021E5BEC
thumb_func_start FUN_021E5CA8
FUN_021E5CA8: @ 0x021E5CA8
push {r4, lr}
sub sp, #0x28
ldr r4, _021E5CC4 @ =0x021E5F60
add r3, sp, #0
movs r2, #5
_021E5CB2:
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
subs r2, r2, #1
bne _021E5CB2
add r0, sp, #0
bl FUN_02022BE8
add sp, #0x28
pop {r4, pc}
.align 2, 0
_021E5CC4: .4byte 0x021E5F60
thumb_func_end FUN_021E5CA8
thumb_func_start FUN_021E5CC8
FUN_021E5CC8: @ 0x021E5CC8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r0, [sp]
movs r0, #0xeb
movs r1, #0x95
bl FUN_02007688
str r0, [sp, #8]
movs r1, #0x52
ldr r0, [sp]
lsls r1, r1, #2
adds r0, r0, r1
movs r1, #0x95
movs r2, #4
bl FUN_0201AC14
movs r2, #0x59
ldr r0, [sp]
lsls r2, r2, #2
ldrb r0, [r0, r2]
cmp r0, #0
bne _021E5D34
ldr r0, [sp]
adds r1, r2, #2
ldrb r0, [r0, r1]
cmp r0, #0
bne _021E5D14
ldr r0, [sp]
adds r1, r2, #1
ldrb r0, [r0, r1]
cmp r0, #0
bne _021E5D0E
ldr r0, _021E5E50 @ =0x021E60C0
str r0, [sp, #0x10]
b _021E5D28
_021E5D0E:
ldr r0, _021E5E54 @ =0x021E60D8
str r0, [sp, #0x10]
b _021E5D28
_021E5D14:
ldr r0, [sp]
adds r1, r2, #1
ldrb r0, [r0, r1]
cmp r0, #0
bne _021E5D24
ldr r0, _021E5E58 @ =0x021E6090
str r0, [sp, #0x10]
b _021E5D28
_021E5D24:
ldr r0, _021E5E5C @ =0x021E60F0
str r0, [sp, #0x10]
_021E5D28:
movs r1, #0x5b
ldr r2, _021E5E60 @ =0x021E5EF0
ldr r0, [sp]
lsls r1, r1, #2
str r2, [r0, r1]
b _021E5D72
_021E5D34:
ldr r0, [sp]
adds r1, r2, #2
ldrb r0, [r0, r1]
cmp r0, #0
bne _021E5D54
ldr r0, [sp]
adds r1, r2, #1
ldrb r0, [r0, r1]
cmp r0, #0
bne _021E5D4E
ldr r0, _021E5E64 @ =0x021E6060
str r0, [sp, #0x10]
b _021E5D68
_021E5D4E:
ldr r0, _021E5E68 @ =0x021E60A8
str r0, [sp, #0x10]
b _021E5D68
_021E5D54:
ldr r0, [sp]
adds r1, r2, #1
ldrb r0, [r0, r1]
cmp r0, #0
bne _021E5D64
ldr r0, _021E5E6C @ =0x021E6078
str r0, [sp, #0x10]
b _021E5D68
_021E5D64:
ldr r0, _021E5E70 @ =0x021E6108
str r0, [sp, #0x10]
_021E5D68:
movs r1, #0x5b
ldr r2, _021E5E74 @ =0x021E5F08
ldr r0, [sp]
lsls r1, r1, #2
str r2, [r0, r1]
_021E5D72:
movs r0, #0
str r0, [sp, #0x14]
_021E5D76:
ldr r0, [sp, #0x14]
movs r1, #0x6c
adds r4, r0, #0
ldr r0, [sp]
muls r4, r1, r4
adds r0, r0, #4
adds r5, r0, r4
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x10]
lsls r2, r0, #3
ldr r0, [sp, #0x10]
ldr r1, [r1, r2]
adds r0, r0, r2
str r0, [sp, #4]
ldr r0, [sp, #8]
movs r2, #0x95
bl FUN_0200771C
adds r1, r5, #0
adds r2, r5, #0
str r0, [r5, #0x58]
adds r0, r5, #0
adds r1, #0x54
adds r2, #0x58
bl FUN_0201F51C
ldr r0, [sp]
adds r0, r0, r4
ldr r0, [r0, #0x5c]
blx FUN_020C3B50
str r0, [sp, #0xc]
ldr r0, [sp, #0x14]
cmp r0, #2
bne _021E5DE8
ldr r0, [r5, #0x54]
movs r1, #0
movs r2, #0x40
blx FUN_020C2BAC
ldr r0, [r5, #0x54]
movs r1, #0
movs r2, #0x80
blx FUN_020C2BAC
movs r2, #2
ldr r0, [r5, #0x54]
movs r1, #0
lsls r2, r2, #8
blx FUN_020C2BAC
movs r2, #1
ldr r0, [r5, #0x54]
movs r1, #0
lsls r2, r2, #0xa
blx FUN_020C2BAC
_021E5DE8:
movs r4, #0
_021E5DEA:
ldr r1, [sp, #4]
lsls r2, r4, #1
adds r1, r1, r2
lsls r0, r4, #2
adds r6, r5, r0
ldrh r1, [r1, #4]
ldr r0, [sp, #8]
movs r2, #0x95
bl FUN_0200771C
movs r1, #0
str r0, [r6, #0x5c]
blx FUN_020C3B90
adds r7, r0, #0
movs r0, #0x52
ldr r1, [sp]
lsls r0, r0, #2
adds r0, r1, r0
ldr r2, [r5, #0x54]
adds r1, r7, #0
blx FUN_020C2B7C
str r0, [r6, #0x64]
ldr r2, [r5, #0x54]
ldr r3, [sp, #0xc]
adds r1, r7, #0
blx FUN_020BE008
ldr r1, [r6, #0x64]
adds r0, r5, #0
blx FUN_020BE294
adds r0, r4, #1
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
cmp r4, #2
blo _021E5DEA
ldr r0, [sp, #0x14]
adds r0, r0, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
str r0, [sp, #0x14]
cmp r0, #3
blo _021E5D76
ldr r0, [sp, #8]
bl FUN_0200770C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021E5E50: .4byte 0x021E60C0
_021E5E54: .4byte 0x021E60D8
_021E5E58: .4byte 0x021E6090
_021E5E5C: .4byte 0x021E60F0
_021E5E60: .4byte 0x021E5EF0
_021E5E64: .4byte 0x021E6060
_021E5E68: .4byte 0x021E60A8
_021E5E6C: .4byte 0x021E6078
_021E5E70: .4byte 0x021E6108
_021E5E74: .4byte 0x021E5F08
thumb_func_end FUN_021E5CC8

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD105_021E5900

View File

@ -0,0 +1,409 @@
thumb_func_start MOD105_021E5900
MOD105_021E5900: @ 0x021E5900
push {r4, r5, r6, r7, lr}
sub sp, #0xc
movs r2, #0x31
adds r5, r0, #0
movs r0, #3
movs r1, #0x97
lsls r2, r2, #0xc
bl FUN_0201A910
adds r0, r5, #0
movs r1, #0xa8
movs r2, #0x97
bl FUN_02007280
movs r1, #0
movs r2, #0xa8
adds r4, r0, #0
blx FUN_020E5B44
adds r0, r5, #0
bl FUN_020072A4
adds r5, r0, #0
adds r0, r4, #0
ldrb r1, [r5]
adds r0, #0x9c
strb r1, [r0]
adds r0, r4, #0
ldrb r1, [r5, #1]
adds r0, #0x9d
strb r1, [r0]
adds r0, r4, #0
movs r1, #0
adds r0, #0x9e
strb r1, [r0]
movs r0, #0x97
bl FUN_02023114
str r0, [r4]
bl FUN_021E5B68
adds r0, r4, #0
bl FUN_021E5CA4
adds r0, r4, #0
bl FUN_021E5BCC
movs r4, #0
movs r7, #2
movs r6, #4
_021E5964:
ldr r2, [r5, #4]
movs r0, #6
adds r1, r4, #0
muls r1, r0, r1
adds r3, r2, r1
ldrsh r1, [r2, r1]
ldrsh r2, [r3, r7]
ldrsh r3, [r3, r6]
adds r0, r4, #0
blx FUN_020BF034
ldr r2, [r5, #4]
lsls r1, r4, #1
adds r1, r2, r1
ldrh r1, [r1, #0x18]
adds r0, r4, #0
blx FUN_020BF070
adds r0, r4, #1
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
cmp r4, #4
blo _021E5964
ldr r2, [r5, #4]
ldrh r0, [r2, #0x20]
ldrh r1, [r2, #0x22]
ldr r2, [r2, #0x28]
blx FUN_020BF084
ldr r2, [r5, #4]
ldrh r0, [r2, #0x24]
ldrh r1, [r2, #0x26]
ldr r2, [r2, #0x2c]
blx FUN_020BF0A8
ldr r3, [r5, #4]
ldr r0, [r3, #0x40]
str r0, [sp]
ldr r0, [r3, #0x44]
str r0, [sp, #4]
ldr r0, [r3, #0x30]
ldr r1, [r3, #0x34]
ldr r2, [r3, #0x38]
ldr r3, [r3, #0x3c]
blx FUN_020BF0CC
movs r0, #6
str r0, [sp]
movs r1, #1
str r1, [sp, #4]
movs r0, #0x97
str r0, [sp, #8]
movs r0, #3
adds r2, r1, #0
movs r3, #0
bl FUN_0200FA24
movs r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end MOD105_021E5900
_021E59DC:
.byte 0xF0, 0xB5, 0x8F, 0xB0
.byte 0x0E, 0x1C, 0x21, 0xF6, 0x55, 0xFC, 0x05, 0x1C, 0x29, 0x1C, 0x9F, 0x31, 0x0A, 0x78, 0x7C, 0x21
.byte 0x28, 0x1D, 0x51, 0x43, 0x44, 0x18, 0x30, 0x68, 0x00, 0x27, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28
.byte 0x12, 0xD0, 0x33, 0xE0, 0xE1, 0x6E, 0x01, 0x20, 0x0A, 0x68, 0x89, 0x68, 0x00, 0x03, 0x89, 0x88
.byte 0x10, 0x18, 0x09, 0x03, 0x88, 0x42, 0x29, 0xD1, 0x01, 0x20, 0x97, 0x21, 0xA2, 0xF6, 0x56, 0xFB
.byte 0x30, 0x68, 0x40, 0x1C, 0x30, 0x60, 0x21, 0xE0, 0x2A, 0xF6, 0x98, 0xF8, 0x00, 0x28, 0x1D, 0xD0
.byte 0x28, 0x1C, 0x9F, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x28, 0x1C, 0x9F, 0x30, 0x01, 0x70, 0x28, 0x1C
.byte 0xA0, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x28, 0x1C, 0xA0, 0x30, 0x01, 0x70, 0x28, 0x1C, 0xA0, 0x30
.byte 0x00, 0x78, 0x01, 0x28, 0x01, 0xD3, 0x01, 0x27, 0x08, 0xE0, 0x28, 0x1C, 0x00, 0xF0, 0xB6, 0xF8
.byte 0x38, 0x1C, 0x97, 0x21, 0xA2, 0xF6, 0x32, 0xFB, 0x38, 0x1C, 0x30, 0x60, 0x28, 0x1C, 0xA1, 0x30
.byte 0x00, 0x78, 0x41, 0x1C, 0x28, 0x1C, 0xA1, 0x30, 0x01, 0x70, 0x28, 0x1C, 0xA1, 0x30, 0x00, 0x78
.byte 0x1E, 0x28, 0x0A, 0xD1, 0x28, 0x1C, 0xA4, 0x30, 0x9F, 0x35, 0x01, 0x68, 0x28, 0x78, 0x80, 0x00
.byte 0x08, 0x58, 0x00, 0x04, 0x00, 0x0C, 0x20, 0xF6, 0xD9, 0xFA, 0x01, 0x23, 0x00, 0x22, 0x1B, 0x03
.byte 0x90, 0x00, 0x20, 0x18, 0xC1, 0x6E, 0x8D, 0x68, 0x08, 0x68, 0xAD, 0x88, 0xC0, 0x18, 0x2D, 0x03
.byte 0xA8, 0x42, 0x00, 0xDA, 0x08, 0x60, 0x50, 0x1C, 0x00, 0x06, 0x02, 0x0E, 0x04, 0x2A, 0xEF, 0xD3
.byte 0x12, 0x4D, 0x06, 0xAB, 0x04, 0x22, 0x03, 0xCD, 0x03, 0xC3, 0x52, 0x1E, 0xFB, 0xD1, 0x28, 0x68
.byte 0x03, 0xAA, 0x18, 0x60, 0x0E, 0x4B, 0x03, 0xCB, 0x03, 0xC2, 0x18, 0x68, 0x00, 0xA9, 0x10, 0x60
.byte 0x00, 0x20, 0x08, 0x60, 0x48, 0x60, 0x88, 0x60, 0x41, 0xF6, 0xAE, 0xF9, 0x3D, 0xF6, 0x32, 0xFB
.byte 0x20, 0x1C, 0x00, 0xA9, 0x06, 0xAA, 0x03, 0xAB, 0x39, 0xF6, 0x2C, 0xFD, 0x01, 0x20, 0x01, 0x1C
.byte 0x41, 0xF6, 0xA6, 0xF9, 0x38, 0x1C, 0x0F, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, 0x08, 0x5E, 0x1E, 0x02
.byte 0xD4, 0x5D, 0x1E, 0x02, 0xF8, 0xB5, 0x82, 0xB0, 0x00, 0x90, 0x21, 0xF6, 0xB9, 0xFB, 0x07, 0x1C
.byte 0x01, 0x90, 0x06, 0x1D, 0x00, 0x24, 0x80, 0x37, 0xA0, 0x00, 0x35, 0x18, 0xE9, 0x6E, 0x38, 0x1C
.byte 0xDD, 0xF6, 0x36, 0xE8, 0xE8, 0x6D, 0x34, 0xF6, 0xE9, 0xFF, 0x60, 0x1C, 0x00, 0x06, 0x04, 0x0E
.byte 0x04, 0x2C, 0xF1, 0xD3, 0xB0, 0x6D, 0x34, 0xF6, 0xE1, 0xFF, 0x01, 0x98, 0x00, 0x68, 0x3D, 0xF6
.byte 0xE7, 0xFA, 0x00, 0x98, 0x21, 0xF6, 0x9E, 0xFB, 0x39, 0xF6, 0x70, 0xFD, 0x97, 0x20, 0x34, 0xF6
.byte 0x31, 0xFF, 0x01, 0x20, 0x02, 0xB0, 0xF8, 0xBD
thumb_func_start FUN_021E5B68
FUN_021E5B68: @ 0x021E5B68
push {r3, lr}
movs r0, #0
adds r1, r0, #0
bl FUN_0201A0FC
bl FUN_0201A108
bl FUN_02022C54
bl FUN_02022CBC
movs r2, #1
lsls r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _021E5BB8 @ =0xFFFFE0FF
ands r1, r0
str r1, [r2]
ldr r2, _021E5BBC @ =0x04001000
ldr r1, [r2]
ands r0, r1
str r0, [r2]
bl FUN_021E5C84
movs r0, #0x97
bl FUN_0201F590
ldr r2, _021E5BC0 @ =0x04000060
ldr r0, _021E5BC4 @ =0xFFFFCFFF
ldrh r1, [r2]
ands r1, r0
movs r0, #0x20
orrs r0, r1
strh r0, [r2]
ldr r0, _021E5BC8 @ =0x021E5DE0
blx FUN_020CF8E4
bl FUN_02022D3C
pop {r3, pc}
nop
_021E5BB8: .4byte 0xFFFFE0FF
_021E5BBC: .4byte 0x04001000
_021E5BC0: .4byte 0x04000060
_021E5BC4: .4byte 0xFFFFCFFF
_021E5BC8: .4byte 0x021E5DE0
thumb_func_end FUN_021E5B68
thumb_func_start FUN_021E5BCC
FUN_021E5BCC: @ 0x021E5BCC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
adds r4, r0, #0
add r5, sp, #0xc
movs r0, #0
str r0, [r5]
str r0, [r5, #4]
str r0, [r5, #8]
adds r2, r4, #0
adds r2, #0x90
ldm r5!, {r0, r1}
adds r3, r2, #0
stm r2!, {r0, r1}
ldr r0, [r5]
movs r1, #0x14
str r0, [r2]
adds r0, r4, #0
adds r0, #0x9f
ldrb r7, [r0]
adds r0, r4, #0
adds r0, #0x9c
ldrb r0, [r0]
adds r6, r7, #0
muls r6, r1, r6
adds r5, r0, #0
ldr r0, _021E5C6C @ =0x021E5E2C
muls r5, r1, r5
adds r1, r0, r5
ldr r0, _021E5C70 @ =0x021E5E38
adds r2, r1, r6
adds r0, r0, r5
ldrb r0, [r6, r0]
adds r2, r2, #4
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
ldr r0, [r4]
str r0, [sp, #8]
adds r0, r3, #0
ldr r3, _021E5C74 @ =0x021E5E3A
ldr r1, [r1, r6]
adds r3, r3, r5
ldrh r3, [r6, r3]
bl FUN_02023254
adds r0, r4, #0
adds r0, #0x9c
ldrb r1, [r0]
ldr r3, _021E5C78 @ =0x021E5DF0
movs r0, #0xc
adds r2, r1, #0
muls r2, r0, r2
adds r1, r3, r2
muls r0, r7, r0
adds r0, r1, r0
ldr r1, [r4]
bl FUN_02023514
adds r0, r4, #0
adds r0, #0x9c
ldrb r0, [r0]
ldr r3, _021E5C7C @ =0x021E5DCE
lsls r2, r7, #2
lsls r1, r0, #2
ldr r0, _021E5C80 @ =0x021E5DCC
adds r0, r0, r1
adds r1, r3, r1
ldrh r0, [r2, r0]
ldrh r1, [r2, r1]
ldr r2, [r4]
lsls r0, r0, #0xc
lsls r1, r1, #0xc
bl FUN_02023240
ldr r0, [r4]
bl FUN_0202313C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021E5C6C: .4byte 0x021E5E2C
_021E5C70: .4byte 0x021E5E38
_021E5C74: .4byte 0x021E5E3A
_021E5C78: .4byte 0x021E5DF0
_021E5C7C: .4byte 0x021E5DCE
_021E5C80: .4byte 0x021E5DCC
thumb_func_end FUN_021E5BCC
thumb_func_start FUN_021E5C84
FUN_021E5C84: @ 0x021E5C84
push {r4, lr}
sub sp, #0x28
ldr r4, _021E5CA0 @ =0x021E5E54
add r3, sp, #0
movs r2, #5
_021E5C8E:
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
subs r2, r2, #1
bne _021E5C8E
add r0, sp, #0
bl FUN_02022BE8
add sp, #0x28
pop {r4, pc}
.align 2, 0
_021E5CA0: .4byte 0x021E5E54
thumb_func_end FUN_021E5C84
thumb_func_start FUN_021E5CA4
FUN_021E5CA4: @ 0x021E5CA4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
adds r7, r0, #0
movs r0, #0xf0
movs r1, #0x97
bl FUN_02007688
str r0, [sp, #4]
adds r0, r7, #0
adds r0, #0x80
movs r1, #0x97
movs r2, #4
bl FUN_0201AC14
adds r0, r7, #0
adds r0, #0x9c
ldrb r0, [r0]
cmp r0, #0
bne _021E5CE8
adds r0, r7, #0
adds r0, #0x9d
ldrb r0, [r0]
cmp r0, #0
bne _021E5CDA
ldr r0, _021E5DAC @ =0x021E5E8C
str r0, [sp]
b _021E5CDE
_021E5CDA:
ldr r0, _021E5DB0 @ =0x021E5E80
str r0, [sp]
_021E5CDE:
adds r0, r7, #0
ldr r1, _021E5DB4 @ =0x021E5DC8
adds r0, #0xa4
str r1, [r0]
b _021E5D04
_021E5CE8:
adds r0, r7, #0
adds r0, #0x9d
ldrb r0, [r0]
cmp r0, #0
bne _021E5CF8
ldr r0, _021E5DB8 @ =0x021E5EA4
str r0, [sp]
b _021E5CFC
_021E5CF8:
ldr r0, _021E5DBC @ =0x021E5E98
str r0, [sp]
_021E5CFC:
adds r0, r7, #0
ldr r1, _021E5DC0 @ =0x021E5DC4
adds r0, #0xa4
str r1, [r0]
_021E5D04:
ldr r1, [sp]
ldr r0, [sp, #4]
ldr r1, [r1]
adds r5, r7, #4
movs r2, #0x97
bl FUN_0200771C
adds r1, r5, #0
adds r2, r5, #0
str r0, [r5, #0x58]
adds r0, r5, #0
adds r1, #0x54
adds r2, #0x58
bl FUN_0201F51C
ldr r0, [r7, #0x5c]
blx FUN_020C3B50
str r0, [sp, #8]
ldr r0, [r5, #0x54]
movs r1, #0
movs r2, #0x40
blx FUN_020C2BAC
ldr r0, [r5, #0x54]
movs r1, #0
movs r2, #0x80
blx FUN_020C2BAC
movs r2, #2
ldr r0, [r5, #0x54]
movs r1, #0
lsls r2, r2, #8
blx FUN_020C2BAC
movs r2, #1
ldr r0, [r5, #0x54]
movs r1, #0
lsls r2, r2, #0xa
blx FUN_020C2BAC
movs r4, #0
adds r7, #0x80
_021E5D5A:
ldr r1, [sp]
lsls r2, r4, #1
adds r1, r1, r2
lsls r0, r4, #2
adds r6, r5, r0
ldrh r1, [r1, #4]
ldr r0, [sp, #4]
movs r2, #0x97
bl FUN_0200771C
movs r1, #0
str r0, [r6, #0x5c]
blx FUN_020C3B90
str r0, [sp, #0xc]
ldr r1, [sp, #0xc]
ldr r2, [r5, #0x54]
adds r0, r7, #0
blx FUN_020C2B7C
str r0, [r6, #0x6c]
ldr r1, [sp, #0xc]
ldr r2, [r5, #0x54]
ldr r3, [sp, #8]
blx FUN_020BE008
ldr r1, [r6, #0x6c]
adds r0, r5, #0
blx FUN_020BE294
adds r0, r4, #1
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
cmp r4, #4
blo _021E5D5A
ldr r0, [sp, #4]
bl FUN_0200770C
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_021E5DAC: .4byte 0x021E5E8C
_021E5DB0: .4byte 0x021E5E80
_021E5DB4: .4byte 0x021E5DC8
_021E5DB8: .4byte 0x021E5EA4
_021E5DBC: .4byte 0x021E5E98
_021E5DC0: .4byte 0x021E5DC4
thumb_func_end FUN_021E5CA4

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD106_021E5900

View File

@ -0,0 +1,192 @@
thumb_func_start MOD106_021E5900
MOD106_021E5900: @ 0x021E5900
push {r4, lr}
adds r4, r0, #0
movs r0, #0
adds r1, r0, #0
bl FUN_0201A0FC
bl FUN_0201A108
movs r0, #0
bl FUN_02022C9C
movs r0, #0
bl FUN_02022D04
ldr r0, _021E5940 @ =0x04000050
movs r1, #0
strh r1, [r0]
ldr r0, _021E5944 @ =0x04001050
ldr r2, _021E5948 @ =0x04000304
strh r1, [r0]
ldrh r1, [r2]
lsrs r0, r2, #0xb
orrs r0, r1
strh r0, [r2]
bl FUN_021E5D38
bl FUN_021E5D48
adds r0, r4, #0
bl FUN_021E5D70
pop {r4, pc}
.align 2, 0
_021E5940: .4byte 0x04000050
_021E5944: .4byte 0x04001050
_021E5948: .4byte 0x04000304
thumb_func_end MOD106_021E5900
_021E594C:
.byte 0x00, 0x4B, 0x18, 0x47
.byte 0xFD, 0x5D, 0x1E, 0x02, 0x30, 0xB5, 0x83, 0xB0, 0x00, 0x91, 0x05, 0x1C, 0x01, 0x92, 0x99, 0x20
.byte 0x02, 0x90, 0x01, 0x21, 0x00, 0x20, 0x1C, 0x1C, 0x0A, 0x1C, 0x03, 0x1C, 0x2A, 0xF6, 0x5A, 0xF8
.byte 0x41, 0x20, 0x00, 0x01, 0x2C, 0x50, 0x03, 0xB0, 0x30, 0xBD, 0x00, 0x00, 0x30, 0xB5, 0x83, 0xB0
.byte 0x00, 0x91, 0x05, 0x1C, 0x01, 0x92, 0x99, 0x20, 0x02, 0x90, 0x00, 0x20, 0x1C, 0x1C, 0x01, 0x1C
.byte 0x02, 0x1C, 0x03, 0x1C, 0x2A, 0xF6, 0x46, 0xF8, 0x41, 0x20, 0x00, 0x01, 0x2C, 0x50, 0x03, 0xB0
.byte 0x30, 0xBD, 0x00, 0x00, 0x30, 0xB5, 0x83, 0xB0, 0x00, 0x91, 0x05, 0x1C, 0x1C, 0x1C, 0x01, 0x92
.byte 0x99, 0x20, 0x01, 0x21, 0x02, 0x90, 0x05, 0x4B, 0x00, 0x20, 0x0A, 0x1C, 0x2A, 0xF6, 0x32, 0xF8
.byte 0x41, 0x20, 0x00, 0x01, 0x2C, 0x50, 0x03, 0xB0, 0x30, 0xBD, 0xC0, 0x46, 0xFF, 0x7F, 0x00, 0x00
.byte 0x30, 0xB5, 0x83, 0xB0, 0x00, 0x91, 0x05, 0x1C, 0x1C, 0x1C, 0x01, 0x92, 0x99, 0x20, 0x02, 0x90
.byte 0x00, 0x20, 0x05, 0x4B, 0x01, 0x1C, 0x02, 0x1C, 0x2A, 0xF6, 0x1C, 0xF8, 0x41, 0x20, 0x00, 0x01
.byte 0x2C, 0x50, 0x03, 0xB0, 0x30, 0xBD, 0xC0, 0x46, 0xFF, 0x7F, 0x00, 0x00, 0x78, 0xB5, 0x83, 0xB0
.byte 0x0C, 0x1C, 0x05, 0x1C, 0x26, 0x1C, 0x01, 0x20, 0x80, 0x02, 0x2B, 0x18, 0x14, 0x36, 0x03, 0xCE
.byte 0x1A, 0x1C, 0x03, 0xC3, 0x30, 0x68, 0x18, 0x60, 0x20, 0x7B, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90
.byte 0xA8, 0x69, 0x02, 0x90, 0x10, 0x1C, 0xE3, 0x89, 0x21, 0x68, 0x22, 0x1D, 0x3D, 0xF6, 0x12, 0xFC
.byte 0x20, 0x6A, 0x61, 0x6A, 0xAA, 0x69, 0x3D, 0xF6, 0x03, 0xFC, 0xA8, 0x69, 0x3D, 0xF6, 0x7E, 0xFB
.byte 0x03, 0xB0, 0x78, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x00, 0x24, 0x2E, 0x1C, 0x04, 0x27, 0x00, 0x21
.byte 0x02, 0x22, 0x69, 0x5E, 0xAA, 0x5E, 0xEB, 0x5F, 0x20, 0x1C, 0xD9, 0xF6, 0xEC, 0xEA, 0x31, 0x8B
.byte 0x20, 0x1C, 0xD9, 0xF6, 0x06, 0xEB, 0x64, 0x1C, 0xAD, 0x1D, 0xB6, 0x1C, 0x04, 0x2C, 0xEE, 0xD3
.byte 0xF8, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x00, 0x28, 0x05, 0xD1, 0x08, 0x4A, 0x08, 0x48, 0x11, 0x88
.byte 0x08, 0x40, 0x10, 0x80, 0x08, 0xBD, 0x05, 0x4B, 0x06, 0x49, 0x1A, 0x88, 0x0A, 0x40, 0x20, 0x21
.byte 0x11, 0x43, 0x19, 0x80, 0xE9, 0xF6, 0x26, 0xEF, 0x08, 0xBD, 0xC0, 0x46, 0x60, 0x00, 0x00, 0x04
.byte 0xDF, 0xCF, 0x00, 0x00, 0xFF, 0xCF, 0xFF, 0xFF, 0xF0, 0xB5, 0x89, 0xB0, 0x01, 0x90, 0x02, 0x91
.byte 0x03, 0x92, 0x08, 0x30, 0x99, 0x21, 0x04, 0x22, 0x04, 0x93, 0x35, 0xF6, 0xAB, 0xF8, 0x00, 0x20
.byte 0x06, 0x90, 0x04, 0x98, 0x00, 0x28, 0x72, 0xD9, 0x01, 0x9A, 0x06, 0x98, 0x7C, 0x21, 0x1C, 0x32
.byte 0x41, 0x43, 0x54, 0x18, 0x0C, 0x21, 0x41, 0x43, 0x03, 0x98, 0x01, 0x22, 0x40, 0x18, 0x05, 0x90
.byte 0x03, 0x9B, 0x00, 0x92, 0x59, 0x58, 0x02, 0x98, 0x99, 0x23, 0x21, 0xF6, 0xAB, 0xFF, 0x21, 0x1C
.byte 0x22, 0x1C, 0xA0, 0x65, 0x20, 0x1C, 0x54, 0x31, 0x58, 0x32, 0x39, 0xF6, 0x0F, 0xFD, 0xA0, 0x6D
.byte 0xDE, 0xF6, 0x26, 0xE8, 0x07, 0x90, 0x05, 0x98, 0x80, 0x68, 0x01, 0x28, 0x15, 0xD1, 0x60, 0x6D
.byte 0x00, 0x21, 0x40, 0x22, 0xDD, 0xF6, 0x4A, 0xE8, 0x60, 0x6D, 0x00, 0x21, 0x80, 0x22, 0xDD, 0xF6
.byte 0x46, 0xE8, 0x02, 0x22, 0x60, 0x6D, 0x00, 0x21, 0x12, 0x02, 0xDD, 0xF6, 0x40, 0xE8, 0x01, 0x22
.byte 0x60, 0x6D, 0x00, 0x21, 0x92, 0x02, 0xDD, 0xF6, 0x3A, 0xE8, 0x01, 0x98, 0x00, 0x25, 0x08, 0x90
.byte 0x08, 0x30, 0x08, 0x90, 0x05, 0x98, 0x40, 0x19, 0x01, 0x79, 0xFF, 0x29, 0x05, 0xD1, 0xA8, 0x00
.byte 0x21, 0x18, 0x00, 0x20, 0xC8, 0x65, 0xC8, 0x66, 0x1C, 0xE0, 0xA8, 0x00, 0x26, 0x18, 0x01, 0x20
.byte 0x00, 0x90, 0x02, 0x98, 0x01, 0x22, 0x99, 0x23, 0x21, 0xF6, 0x6C, 0xFF, 0xF0, 0x65, 0x00, 0x21
.byte 0xDE, 0xF6, 0x0E, 0xE8, 0x07, 0x1C, 0x08, 0x98, 0x62, 0x6D, 0x39, 0x1C, 0xDC, 0xF6, 0xFE, 0xEF
.byte 0xF0, 0x66, 0x62, 0x6D, 0x07, 0x9B, 0x39, 0x1C, 0xD8, 0xF6, 0x3E, 0xEA, 0xF1, 0x6E, 0x20, 0x1C
.byte 0xD8, 0xF6, 0x80, 0xEB, 0x68, 0x1C, 0x00, 0x04, 0x05, 0x0C, 0x04, 0x2D, 0xD2, 0xD3, 0x06, 0x98
.byte 0x40, 0x1C, 0x00, 0x04, 0x01, 0x0C, 0x04, 0x98, 0x06, 0x91, 0x81, 0x42, 0x8C, 0xD3, 0xFF, 0x22
.byte 0x04, 0x99, 0x01, 0x98, 0x92, 0x00, 0x81, 0x50, 0x09, 0xB0, 0xF0, 0xBD, 0xF0, 0xB5, 0x83, 0xB0
.byte 0x00, 0x90, 0x00, 0x20, 0x01, 0x90, 0xFF, 0x21, 0x00, 0x98, 0x89, 0x00, 0x40, 0x58, 0x00, 0x28
.byte 0x2C, 0xD9, 0x00, 0x98, 0x00, 0x9F, 0x02, 0x90, 0x1C, 0x30, 0x08, 0x37, 0x02, 0x90, 0x01, 0x99
.byte 0x7C, 0x20, 0x0A, 0x1C, 0x42, 0x43, 0x02, 0x98, 0x00, 0x24, 0x86, 0x18, 0xA0, 0x00, 0x35, 0x18
.byte 0xE8, 0x6D, 0x00, 0x28, 0x06, 0xD0, 0xE9, 0x6E, 0x38, 0x1C, 0xDC, 0xF6, 0xD2, 0xEF, 0xE8, 0x6D
.byte 0x34, 0xF6, 0x84, 0xFF, 0x60, 0x1C, 0x00, 0x04, 0x04, 0x0C, 0x04, 0x2C, 0xEE, 0xD3, 0xB0, 0x6D
.byte 0x34, 0xF6, 0x7C, 0xFF, 0x01, 0x98, 0x00, 0x99, 0x40, 0x1C, 0x00, 0x04, 0x00, 0x0C, 0x01, 0x90
.byte 0xFF, 0x20, 0x80, 0x00, 0x09, 0x58, 0x01, 0x98, 0x88, 0x42, 0xD8, 0xD3, 0x03, 0xB0, 0xF0, 0xBD
.byte 0xF8, 0xB5, 0x90, 0xB0, 0x24, 0x4C, 0x00, 0x90, 0x07, 0xAB, 0x04, 0x22, 0x03, 0xCC, 0x03, 0xC3
.byte 0x52, 0x1E, 0xFB, 0xD1, 0x20, 0x68, 0x04, 0xAA, 0x18, 0x60, 0x20, 0x4B, 0x03, 0xCB, 0x03, 0xC2
.byte 0x18, 0x68, 0x01, 0xA9, 0x10, 0x60, 0x00, 0x20, 0x08, 0x60, 0x48, 0x60, 0x88, 0x60, 0x41, 0xF6
.byte 0xF3, 0xF8, 0x3D, 0xF6, 0x77, 0xFA, 0xFF, 0x21, 0x00, 0x98, 0x89, 0x00, 0x40, 0x58, 0x00, 0x27
.byte 0x00, 0x28, 0x22, 0xD9, 0x00, 0x9C, 0x01, 0x25, 0x1C, 0x34, 0x2D, 0x03, 0x00, 0x22, 0x23, 0x1C
.byte 0xD9, 0x6E, 0x00, 0x29, 0x07, 0xD0, 0x8E, 0x68, 0x08, 0x68, 0xB6, 0x88, 0x40, 0x19, 0x36, 0x03
.byte 0xB0, 0x42, 0x00, 0xDA, 0x08, 0x60, 0x52, 0x1C, 0x1B, 0x1D, 0x04, 0x2A, 0xF0, 0xD3, 0x20, 0x1C
.byte 0x01, 0xA9, 0x07, 0xAA, 0x04, 0xAB, 0x39, 0xF6, 0x55, 0xFC, 0xFF, 0x20, 0x00, 0x99, 0x80, 0x00
.byte 0x08, 0x58, 0x7F, 0x1C, 0x7C, 0x34, 0x87, 0x42, 0xE0, 0xD3, 0x00, 0x20, 0x01, 0x1C, 0x41, 0xF6
.byte 0xC7, 0xF8, 0x10, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0x8C, 0x6D, 0x1E, 0x02, 0x70, 0x6D, 0x1E, 0x02
.byte 0x30, 0xB4, 0x7C, 0x23, 0x4B, 0x43, 0x1C, 0x30, 0x01, 0x21, 0x00, 0x22, 0xC0, 0x18, 0x09, 0x03
.byte 0xC5, 0x6E, 0x00, 0x2D, 0x09, 0xD0, 0x2B, 0x68, 0x5C, 0x18, 0xAB, 0x68, 0x9B, 0x88, 0x1B, 0x03
.byte 0x9C, 0x42, 0x02, 0xDA, 0x01, 0x20, 0x30, 0xBC, 0x70, 0x47, 0x52, 0x1C, 0x00, 0x1D, 0x04, 0x2A
.byte 0xEE, 0xD3, 0x00, 0x20, 0x30, 0xBC, 0x70, 0x47, 0x70, 0xB5, 0x05, 0x1C, 0xFF, 0x20, 0x80, 0x00
.byte 0x28, 0x58, 0x00, 0x24, 0x00, 0x28, 0x0D, 0xD9, 0xFF, 0x26, 0xB6, 0x00, 0x28, 0x1C, 0x21, 0x1C
.byte 0xFF, 0xF7, 0xD6, 0xFF, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0xBD, 0xA8, 0x59, 0x64, 0x1C
.byte 0x84, 0x42, 0xF3, 0xD3, 0x00, 0x20, 0x70, 0xBD
thumb_func_start FUN_021E5D38
FUN_021E5D38: @ 0x021E5D38
ldr r3, _021E5D40 @ =FUN_02022BE8
ldr r0, _021E5D44 @ =0x021E6DB0
bx r3
nop
_021E5D40: .4byte FUN_02022BE8
_021E5D44: .4byte 0x021E6DB0
thumb_func_end FUN_021E5D38
thumb_func_start FUN_021E5D48
FUN_021E5D48: @ 0x021E5D48
push {r4, lr}
sub sp, #0x10
ldr r4, _021E5D6C @ =0x021E6D7C
add r3, sp, #0
adds r2, r3, #0
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
adds r0, r2, #0
bl FUN_0201ACB0
movs r0, #4
movs r1, #0
bl FUN_0201C2D8
add sp, #0x10
pop {r4, pc}
.align 2, 0
_021E5D6C: .4byte 0x021E6D7C
thumb_func_end FUN_021E5D48
thumb_func_start FUN_021E5D70
FUN_021E5D70: @ 0x021E5D70
push {r4, lr}
sub sp, #8
adds r4, r0, #0
movs r0, #0x99
bl FUN_02023114
str r0, [r4, #0x18]
movs r0, #0x99
bl FUN_0201F590
ldr r2, _021E5DF0 @ =0x04000060
ldr r0, _021E5DF4 @ =0xFFFFCFFF
ldrh r1, [r2]
ands r1, r0
movs r0, #0x10
orrs r0, r1
strh r0, [r2]
movs r0, #0
adds r1, r0, #0
adds r2, r0, #0
adds r3, r0, #0
blx FUN_020CF82C
movs r1, #0
ldr r2, _021E5DF8 @ =0x00007FFF
str r1, [sp]
movs r0, #0x1f
movs r3, #0x3f
blx FUN_020CF910
ldr r2, [r4]
ldrh r0, [r2, #0x24]
ldrh r1, [r2, #0x26]
ldr r2, [r2, #0x2c]
blx FUN_020BF084
ldr r2, [r4]
ldrh r0, [r2, #0x28]
ldrh r1, [r2, #0x2a]
ldr r2, [r2, #0x30]
blx FUN_020BF0A8
ldr r3, [r4]
ldr r0, [r3, #0x44]
str r0, [sp]
ldr r0, [r3, #0x48]
str r0, [sp, #4]
ldr r0, [r3, #0x34]
ldr r1, [r3, #0x38]
ldr r2, [r3, #0x3c]
ldr r3, [r3, #0x40]
blx FUN_020BF0CC
movs r0, #0
adds r1, r0, #0
bl FUN_0201BB68
movs r0, #1
adds r1, r0, #0
bl FUN_02022C60
add sp, #8
pop {r4, pc}
nop
_021E5DF0: .4byte 0x04000060
_021E5DF4: .4byte 0xFFFFCFFF
_021E5DF8: .4byte 0x00007FFF
thumb_func_end FUN_021E5D70

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD107_021E5900

View File

@ -0,0 +1,20 @@
thumb_func_start MOD107_021E5900
MOD107_021E5900: @ 0x021E5900
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD107_021E5900

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD108_021E5900

View File

@ -0,0 +1,91 @@
thumb_func_start MOD108_021E5900
MOD108_021E5900: @ 0x021E5900
push {r3, r4, r5, lr}
adds r4, r0, #0
bl FUN_020072A4
movs r2, #5
adds r5, r0, #0
movs r0, #3
movs r1, #0x5f
lsls r2, r2, #0x10
bl FUN_0201A910
ldr r1, _021E5944 @ =0x000184EC
adds r0, r4, #0
movs r2, #0x5f
bl FUN_02007280
ldr r2, _021E5944 @ =0x000184EC
movs r1, #0
adds r4, r0, #0
blx FUN_020D4994
movs r0, #0x5f
str r0, [r4]
adds r0, r4, #0
adds r1, r5, #0
bl FUN_021E59E4
movs r1, #0
movs r0, #0x43
adds r2, r1, #0
bl FUN_02004EC4
movs r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
_021E5944: .4byte 0x000184EC
thumb_func_end MOD108_021E5900
_021E5948:
.byte 0x70, 0xB5, 0x05, 0x1C, 0x21, 0xF6, 0xA0, 0xFC
.byte 0x06, 0x1C, 0x00, 0xF0, 0x79, 0xF8, 0x07, 0x4A, 0x34, 0x68, 0x30, 0x1C, 0x00, 0x21, 0xEF, 0xF6
.byte 0x1A, 0xE8, 0x28, 0x1C, 0x21, 0xF6, 0x96, 0xFC, 0x20, 0x1C, 0x35, 0xF6, 0x2B, 0xF8, 0x01, 0x20
.byte 0x70, 0xBD, 0xC0, 0x46, 0xEC, 0x84, 0x01, 0x00, 0x10, 0xB5, 0x0C, 0x1C, 0x21, 0xF6, 0x88, 0xFC
.byte 0x21, 0x68, 0x07, 0x29, 0x2B, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14
.byte 0x8F, 0x44, 0x0E, 0x00, 0x16, 0x00, 0x1E, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x36, 0x00, 0x3E, 0x00
.byte 0x46, 0x00, 0x00, 0xF0, 0x69, 0xF8, 0x20, 0x60, 0x19, 0xE0, 0x00, 0xF0, 0x6F, 0xF8, 0x20, 0x60
.byte 0x15, 0xE0, 0x00, 0xF0, 0x75, 0xF8, 0x20, 0x60, 0x11, 0xE0, 0x00, 0xF0, 0x99, 0xF8, 0x20, 0x60
.byte 0x0D, 0xE0, 0x00, 0xF0, 0xC1, 0xF8, 0x20, 0x60, 0x09, 0xE0, 0x00, 0xF0, 0xE5, 0xF8, 0x20, 0x60
.byte 0x05, 0xE0, 0x00, 0xF0, 0x13, 0xF9, 0x20, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x20
.byte 0x10, 0xBD, 0x00, 0x00
thumb_func_start FUN_021E59E4
FUN_021E59E4: @ 0x021E59E4
push {r4, r5, r6, lr}
adds r4, r1, #0
adds r5, r0, #0
ldr r0, [r4]
bl FUN_0202F57C
adds r2, r5, #0
str r0, [r5, #0x18]
movs r1, #0
adds r2, #0x1c
bl FUN_0202F658
ldr r0, [r4]
bl FUN_02028EA8
adds r6, r0, #0
bl FUN_0202AD20
ldr r1, _021E5A38 @ =0x000184DC
strb r0, [r5, r1]
adds r0, r6, #0
bl FUN_0202ADCC
ldr r1, _021E5A3C @ =0x000184DD
strb r0, [r5, r1]
ldr r0, [r4, #4]
bl FUN_020183F0
str r0, [r5, #0x10]
ldr r0, _021E5A40 @ =0x000184E8
movs r1, #0
str r1, [r5, r0]
str r4, [r5, #0x14]
ldr r0, [r5, #0x18]
bl FUN_0202F720
cmp r0, #0
beq _021E5A36
ldr r0, _021E5A44 @ =0x000184E3
movs r1, #1
strb r1, [r5, r0]
_021E5A36:
pop {r4, r5, r6, pc}
.align 2, 0
_021E5A38: .4byte 0x000184DC
_021E5A3C: .4byte 0x000184DD
_021E5A40: .4byte 0x000184E8
_021E5A44: .4byte 0x000184E3
thumb_func_end FUN_021E59E4

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD109_021E5900

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD11_021E5900

View File

@ -0,0 +1,20 @@
thumb_func_start MOD11_021E5900
MOD11_021E5900: @ 0x021E5900
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD11_021E5900

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD110_021E5900

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD111_021E5900

View File

@ -0,0 +1,880 @@
thumb_func_start MOD111_021E5900
MOD111_021E5900: @ 0x021E5900
push {r3, r4, lr}
sub sp, #0xc
adds r4, r1, #0
ldr r1, [r4]
cmp r1, #0
beq _021E5916
cmp r1, #1
beq _021E5922
cmp r1, #2
beq _021E5944
b _021E5956
_021E5916:
bl FUN_021E5E34
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _021E595A
_021E5922:
bl FUN_02007290
movs r1, #6
str r1, [sp]
movs r1, #1
str r1, [sp, #4]
ldr r0, [r0]
adds r2, r1, #0
str r0, [sp, #8]
movs r0, #0
adds r3, r0, #0
bl FUN_0200FA24
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _021E595A
_021E5944:
bl FUN_0200FB5C
cmp r0, #0
beq _021E595A
movs r0, #0
str r0, [r4]
add sp, #0xc
movs r0, #1
pop {r3, r4, pc}
_021E5956:
bl FUN_0202551C
_021E595A:
movs r0, #0
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end MOD111_021E5900
_021E5960:
.byte 0x30, 0xB5, 0x83, 0xB0, 0x0C, 0x1C, 0x05, 0x1C, 0x21, 0xF6, 0x92, 0xFC, 0x21, 0x68, 0x00, 0x29
.byte 0x02, 0xD0, 0x01, 0x29, 0x10, 0xD0, 0x19, 0xE0, 0x06, 0x21, 0x00, 0x91, 0x01, 0x21, 0x01, 0x91
.byte 0x00, 0x68, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0x2A, 0xF6, 0x4A, 0xF8
.byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x2A, 0xF6, 0xE0, 0xF8, 0x00, 0x28, 0x07, 0xD0
.byte 0x28, 0x1C, 0x00, 0xF0, 0xAF, 0xFA, 0x03, 0xB0, 0x01, 0x20, 0x30, 0xBD, 0x3F, 0xF6, 0xB6, 0xFD
.byte 0x00, 0x20, 0x03, 0xB0, 0x30, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x21, 0xF6, 0x69, 0xFC, 0x04, 0x1C
.byte 0x01, 0xD1, 0x3F, 0xF6, 0xAB, 0xFD, 0xE1, 0x6A, 0x20, 0x1C, 0x8A, 0x00, 0x04, 0x49, 0x89, 0x58
.byte 0x88, 0x47, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x20, 0x10, 0xBD, 0xC0, 0x46
.byte 0x40, 0x6D, 0x1E, 0x02, 0x78, 0xB5, 0x81, 0xB0, 0x04, 0x1C, 0x60, 0x6A, 0x00, 0x25, 0xED, 0x43
.byte 0x01, 0xF0, 0x1C, 0xF8, 0x06, 0x1C, 0x60, 0x6A, 0x00, 0xF0, 0x46, 0xFF, 0x00, 0x28, 0x02, 0xD0
.byte 0x01, 0xB0, 0x00, 0x20, 0x78, 0xBD, 0x20, 0x6B, 0x03, 0x28, 0x38, 0xD8, 0x00, 0x18, 0x78, 0x44
.byte 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00, 0x30, 0x00, 0x40, 0x00, 0x5E, 0x00
.byte 0x60, 0x68, 0x00, 0x21, 0x05, 0x68, 0x80, 0x22, 0x00, 0x95, 0x20, 0x6A, 0x48, 0x23, 0x00, 0xF0
.byte 0x83, 0xFE, 0x28, 0x1C, 0x8B, 0xF6, 0xBC, 0xF9, 0x02, 0x1C, 0x30, 0x1C, 0x00, 0x21, 0x26, 0xF6
.byte 0x6D, 0xFA, 0x02, 0x20, 0x00, 0x25, 0x20, 0x63, 0x1B, 0xE0, 0x60, 0x6A, 0x00, 0xF0, 0x1C, 0xFF
.byte 0x00, 0x28, 0x16, 0xD1, 0x02, 0x20, 0x20, 0x63, 0x13, 0xE0, 0x3F, 0xF6, 0x7D, 0xFC, 0x00, 0x28
.byte 0x04, 0xD1, 0x0D, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x0A, 0xD0, 0x0B, 0x48, 0x20, 0xF6
.byte 0xED, 0xFA, 0x03, 0x20, 0x20, 0x63, 0x04, 0xE0, 0x01, 0xB0, 0x01, 0x20, 0x78, 0xBD, 0x3F, 0xF6
.byte 0x4D, 0xFD, 0x00, 0x20, 0xC0, 0x43, 0x85, 0x42, 0x03, 0xD0, 0x60, 0x6A, 0x29, 0x1C, 0x00, 0xF0
.byte 0x35, 0xFF, 0x00, 0x20, 0x01, 0xB0, 0x78, 0xBD, 0x0C, 0x11, 0x1D, 0x02, 0xDC, 0x05, 0x00, 0x00
.byte 0x38, 0xB5, 0x04, 0x1C, 0x60, 0x6A, 0x00, 0x25, 0xED, 0x43, 0x00, 0xF0, 0xBF, 0xFF, 0x60, 0x6A
.byte 0x00, 0xF0, 0xEA, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x38, 0xBD, 0x20, 0x6B, 0x06, 0x28
.byte 0x7F, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x0C, 0x00
.byte 0x1A, 0x00, 0x26, 0x00, 0xA0, 0x00, 0xB8, 0x00, 0xD0, 0x00, 0xEE, 0x00, 0x01, 0x25, 0x20, 0x1C
.byte 0x00, 0xF0, 0x80, 0xF8, 0x28, 0x1C, 0x20, 0x63, 0x6D, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xB2, 0xF8
.byte 0x02, 0x20, 0x20, 0x63, 0x67, 0xE0, 0xA0, 0x69, 0x30, 0xF6, 0xFC, 0xFE, 0x01, 0x28, 0x02, 0xD0
.byte 0x02, 0x28, 0x1A, 0xD0, 0x5F, 0xE0, 0xA0, 0x69, 0x30, 0xF6, 0x60, 0xFF, 0x60, 0x69, 0x00, 0x21
.byte 0x28, 0xF6, 0xEA, 0xF8, 0x20, 0x6A, 0x00, 0x21, 0x01, 0x22, 0x48, 0x23, 0x00, 0xF0, 0x28, 0xFE
.byte 0x01, 0x21, 0x20, 0x6A, 0x0A, 0x1C, 0xF2, 0x23, 0x00, 0xF0, 0x22, 0xFE, 0x20, 0x1C, 0x01, 0x21
.byte 0x00, 0xF0, 0xEA, 0xF8, 0x03, 0x20, 0x20, 0x63, 0x45, 0xE0, 0xA0, 0x69, 0x30, 0xF6, 0x46, 0xFF
.byte 0x60, 0x69, 0x00, 0x21, 0x28, 0xF6, 0xD0, 0xF8, 0x01, 0x22, 0x13, 0x1C, 0x20, 0x6A, 0x00, 0x21
.byte 0x33, 0x3B, 0x00, 0xF0, 0x0D, 0xFE, 0x01, 0x21, 0x20, 0x6A, 0x0A, 0x1C, 0x48, 0x23, 0x00, 0xF0
.byte 0x07, 0xFE, 0x20, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0xCF, 0xF8, 0x04, 0x20, 0x20, 0x63, 0x2A, 0xE0
.byte 0x20, 0x6A, 0x00, 0xF0, 0x07, 0xFE, 0x20, 0x6A, 0x00, 0xF0, 0x14, 0xFE, 0x00, 0x28, 0x22, 0xD0
.byte 0x05, 0x20, 0x02, 0x25, 0x20, 0x63, 0x1E, 0xE0, 0x20, 0x6A, 0x00, 0xF0, 0xFB, 0xFD, 0x20, 0x6A
.byte 0x00, 0xF0, 0x08, 0xFE, 0x00, 0x28, 0x16, 0xD0, 0x05, 0x20, 0x03, 0x25, 0x20, 0x63, 0x12, 0xE0
.byte 0x3F, 0xF6, 0xDA, 0xFB, 0x00, 0x28, 0x04, 0xD1, 0x0C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42
.byte 0x09, 0xD0, 0x0B, 0x48, 0x20, 0xF6, 0x4A, 0xFA, 0x06, 0x20, 0x20, 0x63, 0x03, 0xE0, 0x01, 0x20
.byte 0x38, 0xBD, 0x3F, 0xF6, 0xAB, 0xFC, 0x00, 0x20, 0xC0, 0x43, 0x85, 0x42, 0x03, 0xD0, 0x60, 0x6A
.byte 0x29, 0x1C, 0x00, 0xF0, 0x93, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0xC0, 0x46, 0x0C, 0x11, 0x1D, 0x02
.byte 0xDC, 0x05, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0, 0x05, 0x1C, 0x68, 0x6A, 0x00, 0xF0, 0x1E, 0xFF
.byte 0x07, 0x1C, 0x68, 0x68, 0x00, 0x21, 0x06, 0x68, 0x44, 0x68, 0x80, 0x22, 0x00, 0x96, 0x28, 0x6A
.byte 0x20, 0x23, 0x00, 0xF0, 0x99, 0xFD, 0x00, 0x94, 0x28, 0x6A, 0x01, 0x21, 0x80, 0x22, 0x70, 0x23
.byte 0x00, 0xF0, 0x92, 0xFD, 0x30, 0x1C, 0x8B, 0xF6, 0xCB, 0xF8, 0x02, 0x1C, 0x38, 0x1C, 0x00, 0x21
.byte 0x26, 0xF6, 0x7C, 0xF9, 0x20, 0x1C, 0x8B, 0xF6, 0xC3, 0xF8, 0x02, 0x1C, 0x38, 0x1C, 0x01, 0x21
.byte 0x26, 0xF6, 0x74, 0xF9, 0x01, 0x20, 0x00, 0x90, 0x00, 0x20, 0x01, 0x90, 0xE8, 0x68, 0x29, 0x69
.byte 0x80, 0x22, 0x48, 0x23, 0x00, 0xF0, 0x74, 0xFB, 0x01, 0x21, 0x68, 0x61, 0x28, 0xF6, 0x60, 0xF8
.byte 0x02, 0xB0, 0xF8, 0xBD, 0x18, 0xB5, 0x85, 0xB0, 0x00, 0xA9, 0x00, 0x22, 0x0A, 0x60, 0x4A, 0x60
.byte 0x8A, 0x60, 0xCA, 0x60, 0x0A, 0x61, 0x82, 0x68, 0x00, 0xAB, 0x00, 0x92, 0x01, 0x22, 0x01, 0x92
.byte 0xC8, 0x22, 0x02, 0x92, 0x06, 0x22, 0x03, 0x92, 0x19, 0x22, 0x1A, 0x74, 0x0A, 0x22, 0x5A, 0x74
.byte 0x9C, 0x7C, 0xF0, 0x22, 0x94, 0x43, 0x9C, 0x74, 0x80, 0x69, 0x30, 0xF6, 0x37, 0xFD, 0x05, 0xB0
.byte 0x18, 0xBD, 0x00, 0x00
thumb_func_start FUN_021E5C94
FUN_021E5C94: @ 0x021E5C94
push {r3, lr}
cmp r0, #0
beq _021E5CA0
cmp r0, #1
beq _021E5CA4
b _021E5CA8
_021E5CA0:
movs r0, #1
pop {r3, pc}
_021E5CA4:
movs r0, #0
pop {r3, pc}
_021E5CA8:
bl FUN_0202551C
bl FUN_0202551C
movs r0, #0
pop {r3, pc}
thumb_func_end FUN_021E5C94
thumb_func_start FUN_021E5CB4
FUN_021E5CB4: @ 0x021E5CB4
push {r4, lr}
sub sp, #0x28
ldr r4, _021E5CD0 @ =0x021E6BD8
add r3, sp, #0
movs r2, #5
_021E5CBE:
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
subs r2, r2, #1
bne _021E5CBE
add r0, sp, #0
bl FUN_02022BE8
add sp, #0x28
pop {r4, pc}
.align 2, 0
_021E5CD0: .4byte 0x021E6BD8
thumb_func_end FUN_021E5CB4
thumb_func_start FUN_021E5CD4
FUN_021E5CD4: @ 0x021E5CD4
push {r3, lr}
movs r0, #0
adds r1, r0, #0
bl FUN_0201A0FC
bl FUN_0201A108
bl FUN_02022C54
bl FUN_02022CBC
movs r2, #1
lsls r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _021E5D00 @ =0xFFFFE0FF
ands r1, r0
str r1, [r2]
ldr r2, _021E5D04 @ =0x04001000
ldr r1, [r2]
ands r0, r1
str r0, [r2]
pop {r3, pc}
.align 2, 0
_021E5D00: .4byte 0xFFFFE0FF
_021E5D04: .4byte 0x04001000
thumb_func_end FUN_021E5CD4
_021E5D08:
.byte 0x08, 0xB5, 0x01, 0x29, 0x02, 0xD0, 0x02, 0x29
.byte 0x04, 0xD0, 0x07, 0xE0, 0x41, 0x68, 0x08, 0x68, 0x08, 0x61, 0x08, 0xBD, 0x41, 0x68, 0x48, 0x68
.byte 0x08, 0x61, 0x08, 0xBD, 0x3F, 0xF6, 0xFA, 0xFB, 0x08, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x88, 0xB0
.byte 0x04, 0x1C, 0x0D, 0x1C, 0x17, 0x1C, 0x39, 0xF6, 0xA7, 0xF8, 0x07, 0x90, 0x20, 0x1C, 0x39, 0xF6
.byte 0xA5, 0xF8, 0x06, 0x90, 0x20, 0x1C, 0x39, 0xF6, 0xA7, 0xF8, 0x04, 0x90, 0x20, 0x1C, 0x39, 0xF6
.byte 0xA5, 0xF8, 0x05, 0x90, 0x28, 0x1C, 0x39, 0x1C, 0x30, 0x22, 0xA2, 0xF6, 0x85, 0xF9, 0x04, 0x1C
.byte 0x28, 0x1C, 0x39, 0x1C, 0x30, 0x22, 0xA2, 0xF6, 0xA3, 0xF9, 0x04, 0x28, 0x10, 0xD8, 0x00, 0x18
.byte 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00, 0x10, 0x00, 0x0C, 0x00
.byte 0x08, 0x00, 0x08, 0x00, 0x01, 0x26, 0x05, 0xE0, 0x0A, 0x26, 0x03, 0xE0, 0x13, 0x26, 0x01, 0xE0
.byte 0x3F, 0xF6, 0xC4, 0xFB, 0x30, 0x1C, 0x08, 0x30, 0x00, 0x04, 0x00, 0x25, 0x07, 0x0C, 0x08, 0x2C
.byte 0x01, 0xD3, 0x3A, 0x1C, 0x02, 0xE0, 0x30, 0x19, 0x00, 0x04, 0x02, 0x0C, 0x05, 0x98, 0x04, 0x9B
.byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x02, 0x90, 0x11, 0x20, 0x03, 0x90, 0x5B, 0x19, 0x1B, 0x06
.byte 0x07, 0x98, 0x06, 0x99, 0x1B, 0x0E, 0x36, 0xF6, 0x7D, 0xFD, 0x08, 0x2C, 0x01, 0xD2, 0x00, 0x24
.byte 0x02, 0xE0, 0x08, 0x3C, 0x20, 0x06, 0x04, 0x0E, 0x68, 0x1C, 0x00, 0x06, 0x05, 0x0E, 0x06, 0x2D
.byte 0xDD, 0xD3, 0x07, 0x98, 0x06, 0x99, 0x39, 0xF6, 0xE9, 0xF8, 0x08, 0xB0, 0xF8, 0xBD, 0x00, 0x00
.byte 0x10, 0xB5, 0x04, 0x1C, 0x01, 0xD1, 0x3F, 0xF6, 0x91, 0xFB, 0x20, 0x69, 0x00, 0x28, 0x01, 0xD1
.byte 0x3F, 0xF6, 0x8C, 0xFB, 0xA0, 0x68, 0x00, 0x28, 0x01, 0xD1, 0x3F, 0xF6, 0x87, 0xFB, 0x20, 0x69
.byte 0x27, 0xF6, 0x06, 0xF9, 0x27, 0xF6, 0x0E, 0xF9, 0xA0, 0x68, 0x39, 0xF6, 0x4B, 0xF8, 0x03, 0x4B
.byte 0x03, 0x49, 0x01, 0x20, 0x5A, 0x58, 0x10, 0x43, 0x58, 0x50, 0x10, 0xBD, 0x00, 0x00, 0x7E, 0x02
.byte 0xF8, 0x3F, 0x00, 0x00
thumb_func_start FUN_021E5E34
FUN_021E5E34: @ 0x021E5E34
push {r3, r4, r5, lr}
sub sp, #8
adds r4, r0, #0
bl FUN_020072A4
adds r5, r0, #0
bne _021E5E46
bl FUN_0202551C
_021E5E46:
movs r0, #3
movs r1, #0x94
lsls r2, r0, #0x10
bl FUN_0201A910
adds r0, r4, #0
movs r1, #0x34
movs r2, #0x94
bl FUN_02007280
movs r1, #0
movs r2, #0x34
adds r4, r0, #0
blx FUN_020D4994
movs r0, #0x94
str r0, [r4]
str r5, [r4, #4]
ldr r0, [r5, #8]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
bl FUN_021E5C94
str r0, [r4, #0x2c]
bl FUN_021E5CD4
ldr r2, _021E5EF8 @ =0x04000304
ldr r0, _021E5EFC @ =0xFFFF7FFF
ldrh r1, [r2]
ands r0, r1
strh r0, [r2]
bl FUN_021E5CB4
adds r0, r4, #0
bl FUN_021E5F50
adds r0, r4, #0
bl FUN_021E6000
adds r0, r4, #0
bl FUN_021E60D4
adds r0, r4, #0
bl FUN_021E6180
ldr r0, [r4]
bl FUN_0201660C
str r0, [r4, #0x18]
ldr r0, [r4]
bl FUN_021E67C4
str r0, [r4, #0x24]
ldr r1, [r4, #8]
ldr r3, [r5, #0xc]
movs r2, #1
bl FUN_021E67EC
ldr r0, [r4, #0x10]
str r0, [sp]
movs r0, #0x28
ldrsb r0, [r4, r0]
str r0, [sp, #4]
ldr r0, [r4]
ldr r1, [r4, #8]
ldr r2, [r4, #0x24]
ldr r3, [r4, #0xc]
bl FUN_021E66DC
str r0, [r4, #0x20]
movs r0, #0
bl FUN_0200FBDC
movs r0, #1
bl FUN_0200FBDC
movs r0, #1
bl FUN_02002B34
movs r0, #1
bl FUN_02002B8C
ldr r0, _021E5F00 @ =0x021E5DF1
adds r1, r4, #0
bl FUN_0201A0FC
add sp, #8
pop {r3, r4, r5, pc}
nop
_021E5EF8: .4byte 0x04000304
_021E5EFC: .4byte 0xFFFF7FFF
_021E5F00: .4byte 0x021E5DF1
thumb_func_end FUN_021E5E34
_021E5F04:
.byte 0x38, 0xB5, 0x05, 0x1C, 0x21, 0xF6, 0xC2, 0xF9, 0x04, 0x1C, 0xA0, 0x69
.byte 0x30, 0xF6, 0x88, 0xFB, 0x20, 0x6A, 0x00, 0xF0, 0xFB, 0xFB, 0x60, 0x6A, 0x00, 0xF0, 0x9E, 0xFC
.byte 0x60, 0x69, 0x00, 0x28, 0x03, 0xD0, 0x27, 0xF6, 0x59, 0xFD, 0x00, 0x20, 0x60, 0x61, 0xE0, 0x68
.byte 0x21, 0x69, 0x00, 0xF0, 0x1D, 0xF9, 0x20, 0x1C, 0x00, 0xF0, 0x4C, 0xF8, 0xFF, 0xF7, 0xCA, 0xFE
.byte 0x28, 0x1C, 0x21, 0xF6, 0xA7, 0xF9, 0x94, 0x20, 0x34, 0xF6, 0x3C, 0xFD, 0x38, 0xBD, 0x00, 0x00
thumb_func_start FUN_021E5F50
FUN_021E5F50: @ 0x021E5F50
push {r3, r4, r5, r6, r7, lr}
sub sp, #0xa0
adds r5, r0, #0
ldr r0, [r5]
bl FUN_0201AC88
add r3, sp, #4
ldr r4, _021E5FC8 @ =0x021E6B7C
str r0, [r5, #8]
adds r2, r3, #0
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
adds r0, r2, #0
bl FUN_0201ACB0
ldr r4, _021E5FCC @ =0x021E6CA4
add r3, sp, #0x14
movs r2, #0x11
_021E5F78:
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
subs r2, r2, #1
bne _021E5F78
ldr r0, [r4]
ldr r4, _021E5FD0 @ =0x021E6B74
str r0, [r3]
movs r7, #0
add r6, sp, #0x14
_021E5F8A:
ldrb r1, [r4]
ldr r0, [r5, #8]
adds r2, r6, #0
movs r3, #0
bl FUN_0201B1E4
ldrb r1, [r4]
ldr r0, [r5, #8]
bl FUN_0201CAE0
movs r0, #0
str r0, [sp]
ldrb r1, [r4]
ldr r0, [r5, #8]
movs r2, #0
movs r3, #1
bl FUN_0201C1F4
adds r7, r7, #1
adds r6, #0x1c
adds r4, r4, #1
cmp r7, #5
blt _021E5F8A
ldr r1, [r5]
movs r0, #0xad
bl FUN_02007688
str r0, [r5, #0x1c]
add sp, #0xa0
pop {r3, r4, r5, r6, r7, pc}
nop
_021E5FC8: .4byte 0x021E6B7C
_021E5FCC: .4byte 0x021E6CA4
_021E5FD0: .4byte 0x021E6B74
thumb_func_end FUN_021E5F50
_021E5FD4:
.byte 0x70, 0xB5, 0x06, 0x1C, 0xF0, 0x69, 0x21, 0xF6, 0x97, 0xFB, 0x07, 0x4D
.byte 0x00, 0x24, 0x29, 0x78, 0xB0, 0x68, 0x35, 0xF6, 0xB1, 0xFD, 0x64, 0x1C, 0x6D, 0x1C, 0x05, 0x2C
.byte 0xF7, 0xDB, 0xB0, 0x68, 0x34, 0xF6, 0x8A, 0xFD, 0x70, 0xBD, 0xC0, 0x46, 0x74, 0x6B, 0x1E, 0x02
thumb_func_start FUN_021E6000
FUN_021E6000: @ 0x021E6000
push {r4, lr}
sub sp, #0x10
adds r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
bne _021E6010
bl FUN_0202551C
_021E6010:
movs r0, #2
lsls r0, r0, #8
str r0, [sp]
ldr r0, [r4]
movs r1, #0
str r0, [sp, #4]
ldr r0, [r4, #0x1c]
adds r2, r1, #0
adds r3, r1, #0
bl FUN_02007B8C
movs r3, #0
str r3, [sp]
str r3, [sp, #4]
movs r1, #1
str r1, [sp, #8]
ldr r0, [r4]
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #8]
bl FUN_02007B44
movs r3, #0
str r3, [sp]
str r3, [sp, #4]
movs r0, #1
str r0, [sp, #8]
ldr r0, [r4]
movs r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #8]
bl FUN_02007B68
movs r1, #1
str r1, [sp]
movs r0, #0
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, [r4]
movs r1, #4
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #8]
movs r3, #2
bl FUN_02007B44
movs r1, #1
str r1, [sp]
movs r0, #0
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, [r4]
movs r1, #4
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #8]
movs r3, #3
bl FUN_02007B44
movs r0, #2
lsls r0, r0, #8
str r0, [sp]
ldr r0, [r4]
movs r1, #0
str r0, [sp, #4]
ldr r0, [r4, #0x1c]
movs r2, #4
adds r3, r1, #0
bl FUN_02007B8C
movs r0, #0
str r0, [sp]
str r0, [sp, #4]
movs r1, #1
str r1, [sp, #8]
ldr r0, [r4]
movs r3, #4
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #8]
bl FUN_02007B44
movs r0, #0
str r0, [sp]
str r0, [sp, #4]
movs r0, #1
str r0, [sp, #8]
ldr r0, [r4]
movs r1, #3
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #8]
movs r3, #4
bl FUN_02007B68
add sp, #0x10
pop {r4, pc}
thumb_func_end FUN_021E6000
thumb_func_start FUN_021E60D4
FUN_021E60D4: @ 0x021E60D4
push {r3, r4, r5, r6, lr}
sub sp, #0x4c
adds r5, r0, #0
ldr r0, [r5]
bl FUN_0200CF18
str r0, [r5, #0xc]
bl FUN_0200CF38
add r2, sp, #0x2c
ldr r3, _021E6164 @ =0x021E6BB8
str r0, [r5, #0x10]
ldm r3!, {r0, r1}
adds r4, r2, #0
stm r2!, {r0, r1}
ldm r3!, {r0, r1}
stm r2!, {r0, r1}
ldm r3!, {r0, r1}
stm r2!, {r0, r1}
ldm r3!, {r0, r1}
ldr r6, _021E6168 @ =0x021E6B8C
stm r2!, {r0, r1}
add r3, sp, #0x18
ldm r6!, {r0, r1}
adds r2, r3, #0
stm r3!, {r0, r1}
ldm r6!, {r0, r1}
stm r3!, {r0, r1}
ldr r0, [r6]
adds r1, r4, #0
str r0, [r3]
movs r3, #0x20
str r3, [sp, #0x18]
ldr r0, [r5, #0xc]
bl FUN_0200CF70
ldr r0, [r5, #0xc]
ldr r1, [r5, #0x10]
movs r2, #0x20
bl FUN_0200CFF4
ldr r4, _021E616C @ =0x021E6BA0
add r3, sp, #0
adds r2, r3, #0
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
ldm r4!, {r0, r1}
stm r3!, {r0, r1}
ldr r0, [r5, #0xc]
ldr r1, [r5, #0x10]
bl FUN_0200D3F8
ldr r0, [r5, #0xc]
bl FUN_0200CF6C
movs r2, #0x83
movs r1, #0
lsls r2, r2, #0xe
bl FUN_02009FC8
movs r0, #0x10
movs r1, #1
bl FUN_02022C60
movs r0, #0x10
movs r1, #1
bl FUN_02022CC8
add sp, #0x4c
pop {r3, r4, r5, r6, pc}
.align 2, 0
_021E6164: .4byte 0x021E6BB8
_021E6168: .4byte 0x021E6B8C
_021E616C: .4byte 0x021E6BA0
thumb_func_end FUN_021E60D4
_021E6170:
.byte 0x10, 0xB5, 0x04, 0x1C, 0x27, 0xF6, 0x10, 0xFC, 0x20, 0x1C, 0x26, 0xF6, 0xC5, 0xFF, 0x10, 0xBD
thumb_func_start FUN_021E6180
FUN_021E6180: @ 0x021E6180
push {r4, r5, r6, r7, lr}
sub sp, #0x14
adds r5, r0, #0
ldr r7, [r5, #0xc]
ldr r6, [r5, #0x10]
movs r1, #0
str r1, [sp]
movs r0, #2
str r0, [sp, #4]
movs r0, #1
str r0, [sp, #8]
str r1, [sp, #0xc]
ldr r2, [r5, #0x1c]
adds r0, r7, #0
adds r1, r6, #0
movs r3, #5
bl FUN_0200D5D4
movs r0, #1
str r0, [sp]
str r0, [sp, #4]
movs r0, #0
str r0, [sp, #8]
ldr r2, [r5, #0x1c]
adds r0, r7, #0
adds r1, r6, #0
movs r3, #6
bl FUN_0200D504
movs r0, #1
str r0, [sp]
movs r0, #0
str r0, [sp, #4]
ldr r2, [r5, #0x1c]
adds r0, r7, #0
adds r1, r6, #0
movs r3, #7
bl FUN_0200D6EC
movs r0, #1
str r0, [sp]
movs r0, #0
str r0, [sp, #4]
ldr r2, [r5, #0x1c]
adds r0, r7, #0
adds r1, r6, #0
movs r3, #8
bl FUN_0200D71C
ldr r1, [r5]
movs r0, #0x14
bl FUN_02007688
str r0, [sp, #0x10]
movs r4, #0
_021E61EE:
movs r0, #0
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
adds r0, r4, #1
str r0, [sp, #8]
ldr r2, [r5, #0x1c]
adds r0, r7, #0
adds r1, r6, #0
movs r3, #9
bl FUN_0200D504
adds r4, r4, #1
cmp r4, #2
blt _021E61EE
bl FUN_02074490
adds r3, r0, #0
movs r0, #0
str r0, [sp]
movs r0, #3
str r0, [sp, #4]
movs r0, #1
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r2, [sp, #0x10]
adds r0, r7, #0
adds r1, r6, #0
bl FUN_0200D5D4
adds r5, #0x28
strb r0, [r5]
bl FUN_0207449C
adds r3, r0, #0
movs r0, #0
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
ldr r2, [sp, #0x10]
adds r0, r7, #0
adds r1, r6, #0
bl FUN_0200D6EC
bl FUN_020744A8
adds r3, r0, #0
movs r0, #0
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
ldr r2, [sp, #0x10]
adds r0, r7, #0
adds r1, r6, #0
bl FUN_0200D71C
ldr r0, [sp, #0x10]
bl FUN_0200770C
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end FUN_021E6180
_021E6268:
.byte 0xF8, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0x0C, 0x1C
.byte 0x14, 0x20, 0x19, 0x1C, 0x16, 0x1C, 0x01, 0x93, 0x21, 0xF6, 0x06, 0xFA, 0x07, 0x1C, 0x20, 0x1C
.byte 0x8D, 0xF6, 0x96, 0xFF, 0x01, 0x1C, 0x01, 0x98, 0x00, 0x22, 0x00, 0x90, 0x38, 0x1C, 0x03, 0xAB
.byte 0x21, 0xF6, 0xBE, 0xFC, 0x03, 0x99, 0x01, 0x22, 0x02, 0x90, 0x49, 0x69, 0x28, 0x1C, 0x92, 0x02
.byte 0x00, 0xF0, 0x1E, 0xF8, 0x02, 0x98, 0x34, 0xF6, 0x31, 0xFC, 0x20, 0x1C, 0x8E, 0xF6, 0xEA, 0xF8
.byte 0x30, 0x18, 0x00, 0x06, 0x01, 0x0E, 0x28, 0x1C, 0x27, 0xF6, 0x2A, 0xFD, 0x28, 0x1C, 0x01, 0x21
.byte 0x27, 0xF6, 0xC4, 0xFC, 0x01, 0x21, 0x28, 0x1C, 0x09, 0x03, 0x27, 0xF6, 0xDF, 0xFC, 0x28, 0x1C
.byte 0x01, 0x21, 0x27, 0xF6, 0xD1, 0xFC, 0x38, 0x1C, 0x21, 0xF6, 0x18, 0xFA, 0x04, 0xB0, 0xF8, 0xBD
.byte 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0E, 0x1C, 0x17, 0x1C, 0x3E, 0xF6, 0x39, 0xFC, 0x04, 0x1C
.byte 0x28, 0x68, 0x3E, 0xF6, 0x13, 0xFC, 0x21, 0x1C, 0xD1, 0xF6, 0x98, 0xEE, 0x05, 0x1C, 0x30, 0x1C
.byte 0x39, 0x1C, 0xEC, 0xF6, 0xC8, 0xEA, 0x01, 0x2C, 0x02, 0xD0, 0x02, 0x2C, 0x06, 0xD0, 0x0B, 0xE0
.byte 0x30, 0x1C, 0x29, 0x1C, 0x3A, 0x1C, 0xE9, 0xF6, 0xAE, 0xED, 0xF8, 0xBD, 0x30, 0x1C, 0x29, 0x1C
.byte 0x3A, 0x1C, 0xE9, 0xF6, 0xD4, 0xED, 0xF8, 0xBD, 0x3F, 0xF6, 0xF8, 0xF8, 0xF8, 0xBD, 0x00, 0x00
.byte 0xF0, 0xB5, 0x8D, 0xB0, 0x11, 0x4C, 0x16, 0x1C, 0x1D, 0x1C, 0x07, 0x1C, 0x8C, 0x46, 0x00, 0xAB
.byte 0x06, 0x22, 0x03, 0xCC, 0x03, 0xC3, 0x52, 0x1E, 0xFB, 0xD1, 0x20, 0x68, 0x00, 0xA9, 0x18, 0x60
.byte 0x0E, 0x80, 0x4D, 0x80, 0x0E, 0xA8, 0x02, 0x7D, 0x83, 0x23, 0x9B, 0x03, 0x02, 0x92, 0x00, 0x7C
.byte 0x00, 0xAA, 0xC8, 0x80, 0x38, 0x1C, 0x61, 0x46, 0x27, 0xF6, 0xEA, 0xF9, 0x01, 0x21, 0x04, 0x1C
.byte 0x27, 0xF6, 0x82, 0xFC, 0x20, 0x1C, 0x0D, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, 0x34, 0x6C, 0x1E, 0x02
.byte 0xF8, 0xB5, 0x8E, 0xB0, 0x11, 0x4E, 0x15, 0x1C, 0x1C, 0x1C, 0x07, 0x1C, 0x00, 0x91, 0x01, 0xAB
.byte 0x06, 0x22, 0x03, 0xCE, 0x03, 0xC3, 0x52, 0x1E, 0xFB, 0xD1, 0x30, 0x68, 0x18, 0x60, 0x10, 0xA8
.byte 0x00, 0x7C, 0x02, 0x28, 0x01, 0xD3, 0x3F, 0xF6, 0xB9, 0xF8, 0x10, 0xA8, 0x00, 0x7C, 0x83, 0x23
.byte 0x00, 0x99, 0x40, 0x1C, 0x06, 0x90, 0x01, 0xA8, 0x05, 0x80, 0x44, 0x80, 0x38, 0x1C, 0x01, 0xAA
.byte 0x9B, 0x03, 0x27, 0xF6, 0xBD, 0xF9, 0x0E, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0x00, 0x6C, 0x1E, 0x02
.byte 0xF8, 0xB5, 0x8C, 0xB0, 0x05, 0x91, 0x0B, 0x90, 0x06, 0x92, 0x1C, 0x1C, 0x01, 0xD1, 0x02, 0x20
.byte 0x00, 0xE0, 0x03, 0x20, 0x00, 0x06, 0x00, 0x0E, 0x09, 0x90, 0x0B, 0x98, 0x78, 0x21, 0x00, 0x68
.byte 0x34, 0xF6, 0x4C, 0xFB, 0x0A, 0x90, 0x00, 0x21, 0x78, 0x22, 0xEE, 0xF6, 0xCC, 0xEA, 0x12, 0x99
.byte 0x0A, 0x98, 0x0A, 0x9A, 0x01, 0x60, 0x01, 0x1C, 0x05, 0x98, 0x72, 0x31, 0x08, 0x80, 0x0A, 0x99
.byte 0x06, 0x98, 0x74, 0x31, 0x08, 0x80, 0x00, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x72, 0x23
.byte 0xD2, 0x5E, 0x0B, 0x98, 0x0B, 0x99, 0x0A, 0x9B, 0x74, 0x25, 0x5B, 0x5F, 0xC0, 0x68, 0x09, 0x69
.byte 0xFF, 0xF7, 0x7E, 0xFF, 0x0A, 0x99, 0x0A, 0x9A, 0x48, 0x60, 0x20, 0x06, 0x00, 0x0E, 0x00, 0x90
.byte 0x72, 0x23, 0xD2, 0x5E, 0x0B, 0x98, 0x0B, 0x99, 0x2C, 0x3A, 0x12, 0x04, 0x0A, 0x9B, 0x2C, 0x1C
.byte 0x1B, 0x5F, 0xC0, 0x68, 0x09, 0x69, 0x08, 0x3B, 0x1B, 0x04, 0x12, 0x14, 0x1B, 0x14, 0xFF, 0xF7
.byte 0x8F, 0xFF, 0x0A, 0x99, 0x17, 0x4C, 0x88, 0x60, 0x06, 0x98, 0x0D, 0x1C, 0x40, 0x05, 0x00, 0x0E
.byte 0x08, 0x90, 0x05, 0x98, 0x00, 0x27, 0x40, 0x05, 0x00, 0x0E, 0x0C, 0x35, 0x07, 0x90, 0x02, 0x20
.byte 0x21, 0x5E, 0x08, 0x98, 0x00, 0x23, 0x40, 0x18, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x90, 0x20, 0x79
.byte 0x29, 0x1C, 0x01, 0x90, 0x60, 0x79, 0x02, 0x90, 0xA0, 0x79, 0x03, 0x90, 0x20, 0x89, 0x04, 0x90
.byte 0xE6, 0x5E, 0x07, 0x9B, 0x0B, 0x98, 0x9B, 0x19, 0x1B, 0x06, 0x40, 0x68, 0x09, 0x9A, 0x1B, 0x0E
.byte 0x36, 0xF6, 0xAC, 0xFF, 0x7F, 0x1C, 0x0A, 0x34, 0x10, 0x35, 0x06, 0x2F, 0xDF, 0xDB, 0x0A, 0x98
.byte 0x0C, 0xB0, 0xF8, 0xBD, 0x68, 0x6C, 0x1E, 0x02, 0xF0, 0xB5, 0x85, 0xB0, 0x0C, 0x1C, 0x05, 0x1C
.byte 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xFA, 0x07, 0x1C, 0x2E, 0x68, 0x00, 0x2D, 0x01, 0xD1, 0x3F, 0xF6
.byte 0x1D, 0xF8, 0x00, 0x2C, 0x01, 0xD1, 0x3F, 0xF6, 0x19, 0xF8, 0x30, 0x1C, 0xA3, 0x21, 0x00, 0x22
.byte 0x88, 0xF6, 0x26, 0xF8, 0x04, 0x90, 0x30, 0x1C, 0xA4, 0x21, 0x00, 0x22, 0x88, 0xF6, 0x20, 0xF8
.byte 0x03, 0x90, 0x30, 0x1C, 0x8A, 0xF6, 0x54, 0xFC, 0x02, 0x1C, 0x38, 0x1C, 0x00, 0x21, 0x25, 0xF6
.byte 0x05, 0xFD, 0x01, 0x20, 0x29, 0x1C, 0x04, 0x22, 0x00, 0x90, 0x20, 0x1C, 0x0C, 0x31, 0x13, 0x1C
.byte 0x00, 0xF0, 0x08, 0xFA, 0x30, 0x1C, 0x28, 0x4F, 0x89, 0xF6, 0x2E, 0xFD, 0x00, 0x28, 0x04, 0xD0
.byte 0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x08, 0xD0, 0x0A, 0xE0, 0x05, 0x20, 0x02, 0x90, 0x09, 0xE0
.byte 0x06, 0x20, 0xC1, 0x27, 0x02, 0x90, 0xBF, 0x02, 0x04, 0xE0, 0x07, 0x20, 0x02, 0x90, 0x01, 0xE0
.byte 0x3E, 0xF6, 0xE4, 0xFF, 0x01, 0x20, 0x00, 0x90, 0x29, 0x1C, 0x02, 0x9A, 0x20, 0x1C, 0x1C, 0x31
.byte 0x00, 0x23, 0x01, 0x97, 0x00, 0xF0, 0x02, 0xFA, 0x30, 0x1C, 0xA1, 0x21, 0x00, 0x22, 0x87, 0xF6
.byte 0xE7, 0xFF, 0x02, 0x1C, 0x01, 0x20, 0x00, 0x90, 0x29, 0x1C, 0x01, 0x90, 0x20, 0x1C, 0x2C, 0x31
.byte 0x03, 0x23, 0x00, 0xF0, 0x0D, 0xFA, 0x00, 0x20, 0x00, 0x90, 0x29, 0x1C, 0x01, 0x90, 0x04, 0x9A
.byte 0x20, 0x1C, 0x3C, 0x31, 0x03, 0x23, 0x00, 0xF0, 0x03, 0xFA, 0x01, 0x20, 0x00, 0x90, 0x00, 0x20
.byte 0x29, 0x1C, 0x01, 0x90, 0x03, 0x9A, 0x20, 0x1C, 0x4C, 0x31, 0x03, 0x23, 0x00, 0xF0, 0xF8, 0xF9
.byte 0x04, 0x99, 0x03, 0x9A, 0x5C, 0x35, 0x09, 0x04, 0x12, 0x04, 0x28, 0x1C, 0x09, 0x0C, 0x12, 0x0C
.byte 0xFF, 0xF7, 0xB4, 0xFB, 0x05, 0xB0, 0xF0, 0xBD, 0x00, 0x08, 0x07, 0x00, 0xC1, 0x66, 0x70, 0x30
.byte 0x02, 0x80, 0x70, 0x47, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0x01, 0xD1, 0x3E, 0xF6, 0x9E, 0xFF
.byte 0x2C, 0x1C, 0x0C, 0x34, 0x20, 0x1C, 0x38, 0xF6, 0x4F, 0xFC, 0x01, 0x90, 0x20, 0x1C, 0x38, 0xF6
.byte 0x4D, 0xFC, 0x00, 0x90, 0x74, 0x20, 0x29, 0x5E, 0x70, 0x20, 0x2A, 0x5E, 0x88, 0x1A, 0x00, 0xD5
.byte 0x40, 0x42, 0x00, 0x04, 0x00, 0x14, 0x86, 0x10, 0x01, 0x28, 0x01, 0xDD, 0x00, 0x2E, 0x02, 0xD1
.byte 0x00, 0x20, 0xE8, 0x66, 0x30, 0xE0, 0x91, 0x42, 0x04, 0xDD, 0x00, 0x20, 0xC0, 0x43, 0x70, 0x43
.byte 0x00, 0x04, 0x06, 0x14, 0x74, 0x21, 0x68, 0x5E, 0x82, 0x19, 0x28, 0x1C, 0x74, 0x30, 0x02, 0x80
.byte 0x68, 0x5E, 0xE8, 0x28, 0x20, 0xDA, 0x01, 0x98, 0x00, 0x99, 0x05, 0x22, 0x33, 0x1C, 0x38, 0xF6
.byte 0xFB, 0xFD, 0x00, 0x27, 0x02, 0xAC, 0x02, 0xA9, 0x83, 0x23, 0x68, 0x68, 0x02, 0x31, 0x02, 0xAA
.byte 0x9B, 0x03, 0x27, 0xF6, 0x1F, 0xFC, 0x00, 0x20, 0x20, 0x5E, 0x83, 0x23, 0x02, 0x21, 0x80, 0x19
.byte 0x20, 0x80, 0x00, 0x22, 0x61, 0x5E, 0xA2, 0x5E, 0x68, 0x68, 0x9B, 0x03, 0x27, 0xF6, 0xC2, 0xFB
.byte 0x7F, 0x1C, 0x2D, 0x1D, 0x02, 0x2F, 0xE6, 0xDB, 0x01, 0x98, 0x00, 0x99, 0x35, 0xF6, 0x7E, 0xFC
.byte 0x03, 0xB0, 0xF0, 0xBD, 0xC0, 0x6E, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20
.byte 0x70, 0x47, 0x00, 0x00, 0xF8, 0xB5, 0x07, 0x1C, 0x01, 0xD1, 0x3E, 0xF6, 0x3F, 0xFF, 0x00, 0x24
.byte 0x3D, 0x1C, 0x26, 0x1C, 0x68, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x27, 0xF6, 0x97, 0xF9, 0x6E, 0x60
.byte 0x64, 0x1C, 0x2D, 0x1D, 0x02, 0x2C, 0xF5, 0xDB, 0x3C, 0x1C, 0x00, 0x25, 0x0C, 0x34, 0x20, 0x1C
.byte 0x37, 0xF6, 0x02, 0xF9, 0x20, 0x1C, 0x36, 0xF6, 0x2B, 0xFF, 0x6D, 0x1C, 0x10, 0x34, 0x06, 0x2D
.byte 0xF5, 0xDB, 0x38, 0x1C, 0x34, 0xF6, 0x1A, 0xFA, 0xF8, 0xBD, 0x00, 0x00
thumb_func_start FUN_021E66DC
FUN_021E66DC: @ 0x021E66DC
push {r3, r4, r5, r6, r7, lr}
adds r6, r1, #0
movs r1, #0x20
adds r5, r0, #0
adds r7, r2, #0
str r3, [sp]
bl FUN_0201AA8C
adds r4, r0, #0
movs r1, #0
movs r2, #0x20
blx FUN_020D4994
str r6, [r4, #4]
str r5, [r4]
ldr r0, [sp]
str r7, [r4, #8]
str r0, [r4, #0xc]
ldr r0, [sp, #0x18]
add r1, sp, #8
str r0, [r4, #0x10]
movs r0, #0x14
ldrsb r0, [r1, r0]
strb r0, [r4, #0x14]
adds r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end FUN_021E66DC
_021E6710:
.byte 0x70, 0xB5, 0x06, 0x1C, 0x01, 0xD1, 0x3E, 0xF6, 0x01, 0xFF, 0x00, 0x24, 0x35, 0x1C, 0xA8, 0x69
.byte 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7, 0xB6, 0xFF, 0x64, 0x1C, 0x2D, 0x1D, 0x02, 0x2C, 0xF6, 0xDB
.byte 0x30, 0x1C, 0x34, 0xF6, 0xEB, 0xF9, 0x70, 0xBD, 0x78, 0xB5, 0x81, 0xB0, 0x0C, 0x1C, 0x06, 0x99
.byte 0x05, 0x1C, 0x00, 0x91, 0x11, 0x1C, 0x1A, 0x1C, 0x23, 0x1C, 0xFF, 0xF7, 0x41, 0xFE, 0x06, 0x1C
.byte 0x14, 0x22, 0xAA, 0x56, 0xB0, 0x68, 0x31, 0x68, 0x2B, 0x68, 0xFF, 0xF7, 0x85, 0xFD, 0xA9, 0x68
.byte 0x30, 0x1C, 0xFF, 0xF7, 0xB1, 0xFE, 0xA0, 0x00, 0x28, 0x18, 0x86, 0x61, 0x01, 0xB0, 0x78, 0xBD
.byte 0x89, 0x00, 0x40, 0x18, 0x11, 0x1C, 0x1A, 0x1C, 0x01, 0x4B, 0x80, 0x69, 0x18, 0x47, 0xC0, 0x46
.byte 0xCD, 0x65, 0x1E, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x00, 0x24, 0xA8, 0x69, 0xFF, 0xF7, 0x7A, 0xFF
.byte 0x00, 0x28, 0x02, 0xD1, 0xA8, 0x69, 0xFF, 0xF7, 0x1D, 0xFF, 0x64, 0x1C, 0x2D, 0x1D, 0x02, 0x2C
.byte 0xF3, 0xDB, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x00, 0x24, 0xA8, 0x69, 0xFF, 0xF7, 0x6A, 0xFF
.byte 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD, 0x64, 0x1C, 0x2D, 0x1D, 0x02, 0x2C, 0xF4, 0xDB
.byte 0x01, 0x20, 0x38, 0xBD
thumb_func_start FUN_021E67C4
FUN_021E67C4: @ 0x021E67C4
push {r3, r4, r5, lr}
movs r1, #0x34
adds r5, r0, #0
bl FUN_0201AA8C
movs r1, #0
movs r2, #0x34
adds r4, r0, #0
blx FUN_020D4994
movs r0, #1
movs r1, #2
movs r2, #0
adds r3, r5, #0
str r5, [r4, #0x18]
bl FUN_0200CC74
str r0, [r4, #4]
adds r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end FUN_021E67C4
thumb_func_start FUN_021E67EC
FUN_021E67EC: @ 0x021E67EC
push {r3, r4, lr}
sub sp, #4
adds r4, r0, #0
movs r0, #0
str r1, [r4]
mvns r0, r0
str r0, [r4, #0x2c]
ldr r1, [r4, #0x30]
ldr r0, _021E6858 @ =0xFFF8FFFF
ands r1, r0
lsls r0, r2, #0x1d
lsrs r0, r0, #0xd
orrs r0, r1
str r0, [r4, #0x30]
str r3, [r4, #0x14]
ldr r3, [r4, #0x18]
movs r0, #1
movs r1, #0x1b
movs r2, #0x1d
bl FUN_0200BAF8
str r0, [r4, #0xc]
ldr r0, [r4, #0x18]
bl FUN_0200BD08
str r0, [r4, #8]
bl FUN_02020080
ldr r1, [r4, #0x30]
ldr r0, [r4]
lsls r1, r1, #0xd
lsrs r1, r1, #0x1d
lsls r1, r1, #0x18
ldr r2, [r4, #0x18]
lsrs r1, r1, #0x18
bl FUN_021E6A44
movs r1, #0x1e
ldr r2, [r4, #0x18]
movs r0, #0
lsls r1, r1, #4
bl FUN_02003030
movs r2, #0
str r2, [sp]
ldr r1, [r4, #0x30]
ldr r0, [r4]
lsls r1, r1, #0xd
lsrs r1, r1, #0x1d
movs r3, #1
bl FUN_0201C1F4
add sp, #4
pop {r3, r4, pc}
.align 2, 0
_021E6858: .4byte 0xFFF8FFFF
thumb_func_end FUN_021E67EC
_021E685C:
.byte 0x10, 0xB5, 0x04, 0x1C
.byte 0x00, 0xF0, 0xC8, 0xF8, 0xE0, 0x68, 0x25, 0xF6, 0x6D, 0xF9, 0xA0, 0x68, 0x25, 0xF6, 0x98, 0xFA
.byte 0x20, 0x69, 0x00, 0x28, 0x01, 0xD0, 0x3F, 0xF6, 0x83, 0xFD, 0x60, 0x68, 0x26, 0xF6, 0x8A, 0xFA
.byte 0x20, 0x1C, 0x34, 0xF6, 0x43, 0xF9, 0x10, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0x00, 0x20, 0xE1, 0x6A
.byte 0xC0, 0x43, 0x81, 0x42, 0x12, 0xD0, 0x08, 0x06, 0x00, 0x0E, 0x39, 0xF6, 0xFB, 0xFB, 0x00, 0x28
.byte 0x0A, 0xD1, 0x21, 0x6B, 0x13, 0x48, 0x08, 0x40, 0x20, 0x63, 0x20, 0x69, 0x3F, 0xF6, 0x68, 0xFD
.byte 0x00, 0x20, 0x20, 0x61, 0x40, 0x1E, 0xE0, 0x62, 0x01, 0x20, 0x10, 0xBD, 0x22, 0x6B, 0x11, 0x04
.byte 0x0B, 0x0C, 0x14, 0xD0, 0x11, 0x03, 0xC9, 0x0F, 0x01, 0x29, 0x06, 0xD1, 0x00, 0x04, 0x11, 0x1C
.byte 0x01, 0x40, 0x09, 0x48, 0x08, 0x40, 0x20, 0x63, 0x09, 0xE0, 0x00, 0x04, 0x11, 0x1C, 0x01, 0x40
.byte 0x58, 0x1E, 0x00, 0x04, 0x00, 0x0C, 0x08, 0x43, 0x20, 0x63, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x20
.byte 0x10, 0xBD, 0xC0, 0x46, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x18, 0xB5, 0x85, 0xB0
.byte 0x04, 0x1C, 0xE0, 0x68, 0x22, 0x1C, 0x00, 0x90, 0x01, 0x91, 0x20, 0x6B, 0x21, 0x1C, 0x40, 0x03
.byte 0x40, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x02, 0x90, 0xA0, 0x69, 0x1C, 0x31, 0x03, 0x90, 0x60, 0x69
.byte 0x10, 0x32, 0x04, 0x90, 0x20, 0x68, 0xA3, 0x68, 0x00, 0xF0, 0xA4, 0xF8, 0xE0, 0x62, 0x05, 0xB0
.byte 0x18, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x86, 0xB0, 0x04, 0x1C, 0x00, 0x92, 0x20, 0x6B, 0x40, 0x03
.byte 0x40, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x01, 0x90, 0x02, 0x93, 0x04, 0xA8, 0x00, 0x7C, 0x03, 0x90
.byte 0x05, 0x48, 0x04, 0x90, 0xA0, 0x69, 0x05, 0x90, 0x20, 0x68, 0xA2, 0x68, 0xE3, 0x68, 0x00, 0xF0
.byte 0xE7, 0xF8, 0x06, 0xB0, 0x10, 0xBD, 0xC0, 0x46, 0x00, 0x02, 0x01, 0x00, 0x10, 0xB5, 0x86, 0xB0
.byte 0x04, 0x1C, 0x00, 0x92, 0x20, 0x6B, 0x40, 0x03, 0x40, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x01, 0x90
.byte 0x02, 0x93, 0x04, 0xA8, 0x00, 0x7C, 0x03, 0x90, 0x09, 0x98, 0x04, 0x90, 0xA0, 0x69, 0x05, 0x90
.byte 0x20, 0x68, 0xA2, 0x68, 0xE3, 0x68, 0x00, 0xF0, 0xCB, 0xF8, 0x06, 0xB0, 0x10, 0xBD, 0x00, 0x00
.byte 0xF8, 0xB5, 0x84, 0xB0, 0x0C, 0x1C, 0x05, 0x1C, 0x20, 0x1C, 0x00, 0x21, 0x16, 0x1C, 0x1F, 0x1C
.byte 0x36, 0xF6, 0xE2, 0xFF, 0x0A, 0x98, 0x00, 0x28, 0x0C, 0xD0, 0x01, 0x20, 0x00, 0x90, 0x01, 0x94
.byte 0x00, 0x20, 0x02, 0x90, 0x03, 0x90, 0x68, 0x68, 0x0B, 0x99, 0x32, 0x1C, 0x3B, 0x1C, 0x26, 0xF6
.byte 0x55, 0xFA, 0x09, 0xE0, 0x00, 0x94, 0x00, 0x20, 0x01, 0x90, 0x02, 0x90, 0x68, 0x68, 0x31, 0x1C
.byte 0x3A, 0x1C, 0x01, 0x23, 0x26, 0xF6, 0x04, 0xFA, 0x20, 0x1C, 0x36, 0xF6, 0xED, 0xFD, 0x04, 0xB0
.byte 0xF8, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x00, 0x20, 0xE1, 0x6A, 0xC0, 0x43, 0x81, 0x42
.byte 0x03, 0xD0, 0x08, 0x06, 0x00, 0x0E, 0x39, 0xF6, 0x4B, 0xFB, 0xE0, 0x69, 0x00, 0x28, 0x0C, 0xD0
.byte 0x20, 0x1C, 0x1C, 0x30, 0x00, 0x21, 0x27, 0xF6, 0xD1, 0xFF, 0x20, 0x1C, 0x1C, 0x30, 0x36, 0xF6
.byte 0x53, 0xFF, 0x1C, 0x34, 0x20, 0x1C, 0x36, 0xF6, 0x7B, 0xFD, 0x10, 0xBD, 0x10, 0xB5, 0x04, 0x1C
.byte 0x01, 0xD1, 0x3E, 0xF6, 0x73, 0xFD, 0xA0, 0x68, 0x00, 0x28, 0x01, 0xD1, 0x3E, 0xF6, 0x6E, 0xFD
.byte 0xA0, 0x68, 0x10, 0xBD
thumb_func_start FUN_021E6A44
FUN_021E6A44: @ 0x021E6A44
push {r4, r5, r6, lr}
sub sp, #8
adds r6, r1, #0
movs r1, #7
adds r5, r0, #0
movs r0, #0
lsls r1, r1, #6
adds r4, r2, #0
bl FUN_02003030
movs r0, #0
str r0, [sp]
ldr r2, _021E6A70 @ =0x000003D2
adds r0, r5, #0
adds r1, r6, #0
movs r3, #0xd
str r4, [sp, #4]
bl FUN_0200E644
add sp, #8
pop {r4, r5, r6, pc}
nop
_021E6A70: .4byte 0x000003D2
thumb_func_end FUN_021E6A44

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD112_021E5900

View File

@ -0,0 +1,36 @@
thumb_func_start MOD112_021E5900
MOD112_021E5900: @ 0x021E5900
push {r3, r4, r5, r6}
movs r5, #2
movs r6, #0
cmp r1, #0
bls _021E5924
movs r2, #1
_021E590C:
adds r3, r6, #0
ldrb r4, [r0]
adds r0, r0, #1
tst r3, r2
beq _021E591A
adds r5, r5, r4
b _021E591E
_021E591A:
lsls r3, r4, #8
adds r5, r5, r3
_021E591E:
adds r6, r6, #1
cmp r6, r1
blo _021E590C
_021E5924:
lsls r0, r5, #0x10
lsrs r1, r5, #0x10
lsrs r0, r0, #0x10
adds r1, r1, r0
lsrs r0, r1, #0x10
adds r0, r1, r0
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
pop {r3, r4, r5, r6}
bx lr
thumb_func_end MOD112_021E5900

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD113_021E5900

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD114_0225F020

View File

@ -0,0 +1,289 @@
thumb_func_start MOD114_0225F020
MOD114_0225F020: @ 0x0225F020
push {r4, r5, r6, r7, lr}
sub sp, #0x44
adds r4, r1, #0
adds r6, r0, #0
ldr r0, [r4]
ldr r5, [r4, #0xc]
cmp r0, #7
bls _0225F032
b _0225F260
_0225F032:
adds r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsls r1, r1, #0x10
asrs r1, r1, #0x10
add pc, r1
_0225F03E: @ jump table
.2byte _0225F04E - _0225F03E - 2 @ case 0
.2byte _0225F0DE - _0225F03E - 2 @ case 1
.2byte _0225F0F8 - _0225F03E - 2 @ case 2
.2byte _0225F104 - _0225F03E - 2 @ case 3
.2byte _0225F136 - _0225F03E - 2 @ case 4
.2byte _0225F168 - _0225F03E - 2 @ case 5
.2byte _0225F1D8 - _0225F03E - 2 @ case 6
.2byte _0225F21C - _0225F03E - 2 @ case 7
_0225F04E:
movs r1, #0x69
movs r0, #4
lsls r1, r1, #2
bl FUN_0201AA8C
movs r2, #0x69
str r0, [r4, #0xc]
movs r1, #0
lsls r2, r2, #2
blx FUN_020E5B44
ldr r5, [r4, #0xc]
movs r1, #1
adds r0, r5, #0
adds r0, #0x2c
adds r2, r1, #0
bl FUN_021F05C4
movs r0, #1
str r0, [sp]
movs r0, #7
str r0, [sp, #4]
movs r0, #9
str r0, [sp, #8]
movs r0, #8
str r0, [sp, #0xc]
ldr r0, _0225F270 @ =0x000927C0
movs r2, #0x5a
str r0, [sp, #0x10]
adds r1, r5, #0
lsls r2, r2, #2
ldr r0, [r4, #0x20]
adds r1, #0x2c
adds r2, r5, r2
movs r3, #0
bl FUN_021F0614
movs r0, #0
str r0, [sp]
movs r1, #0x5a
str r0, [sp, #4]
adds r0, r5, #0
lsls r1, r1, #2
movs r2, #2
movs r3, #6
adds r0, #0x2c
adds r1, r5, r1
lsls r2, r2, #0x12
lsls r3, r3, #0x10
bl FUN_021F0718
movs r1, #0x67
lsls r1, r1, #2
str r0, [r5, r1]
ldr r0, [r5, r1]
movs r1, #0
bl FUN_02024830
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
movs r1, #1
bl FUN_02024B78
movs r0, #0x10
movs r1, #1
bl FUN_02022C60
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F0DE:
movs r1, #0x10
movs r0, #2
adds r2, r1, #0
str r0, [sp]
movs r0, #1
subs r2, #0x20
adds r3, r4, #4
bl FUN_021EFCF8
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F0F8:
ldr r1, [r4, #4]
cmp r1, #0
beq _0225F14E
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F104:
adds r0, r5, #0
movs r1, #0
movs r2, #0x10
movs r3, #0xc
bl FUN_021EFE34
ldr r3, [r5]
movs r0, #0x10
subs r0, r0, r3
str r0, [sp]
ldr r0, _0225F274 @ =0x04000050
movs r1, #0
movs r2, #0xf
blx FUN_020CF15C
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
movs r1, #1
bl FUN_02024830
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F136:
adds r0, r5, #0
bl FUN_021EFE44
ldr r2, [r5]
movs r1, #0x10
subs r1, r1, r2
lsls r1, r1, #8
orrs r1, r2
ldr r2, _0225F278 @ =0x04000052
cmp r0, #1
strh r1, [r2]
beq _0225F150
_0225F14E:
b _0225F260
_0225F150:
movs r1, #0
subs r0, r2, #2
strh r1, [r0]
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02024B78
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F168:
movs r0, #6
str r0, [sp]
adds r0, r5, #0
movs r1, #1
ldr r2, _0225F27C @ =0x0000019A
adds r0, #0x14
lsls r1, r1, #0xc
movs r3, #1
bl FUN_021EFEC8
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
movs r1, #2
bl FUN_0202487C
ldr r1, [r5, #0x14]
add r0, sp, #0x20
adds r2, r1, #0
adds r3, r1, #0
bl FUN_021F074C
add r6, sp, #0x20
add r3, sp, #0x38
ldm r6!, {r0, r1}
adds r2, r3, #0
stm r3!, {r0, r1}
ldr r0, [r6]
adds r1, r2, #0
str r0, [r3]
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
bl FUN_020247F4
ldr r0, [r4, #0x10]
ldr r0, [r0, #4]
ldr r0, [r0, #0x1c]
bl FUN_021FB514
movs r0, #6
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
movs r0, #4
movs r2, #0
str r0, [sp, #8]
movs r0, #3
movs r1, #0x10
adds r3, r2, #0
bl FUN_0200FA24
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F1D8:
adds r0, r5, #0
adds r0, #0x14
bl FUN_021EFF28
ldr r1, [r5, #0x14]
adds r6, r0, #0
add r0, sp, #0x14
adds r2, r1, #0
adds r3, r1, #0
bl FUN_021F074C
add r3, sp, #0x14
add r2, sp, #0x2c
ldm r3!, {r0, r1}
adds r7, r2, #0
stm r2!, {r0, r1}
ldr r0, [r3]
adds r1, r7, #0
str r0, [r2]
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
bl FUN_020247F4
cmp r6, #1
bne _0225F260
bl FUN_0200FB5C
cmp r0, #1
bne _0225F260
ldr r0, [r4]
adds r0, r0, #1
str r0, [r4]
b _0225F260
_0225F21C:
movs r0, #1
movs r1, #0
bl FUN_0200FBF4
ldr r0, [r4, #0x10]
ldr r0, [r0, #4]
ldr r0, [r0, #0x1c]
bl FUN_021FB4F4
ldr r1, [r4, #0x14]
cmp r1, #0
beq _0225F238
movs r0, #1
str r0, [r1]
_0225F238:
movs r0, #0x67
lsls r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02024758
movs r1, #0x5a
adds r0, r5, #0
lsls r1, r1, #2
adds r0, #0x2c
adds r1, r5, r1
bl FUN_021F06EC
adds r0, r5, #0
adds r0, #0x2c
bl FUN_021F05F4
adds r0, r4, #0
adds r1, r6, #0
bl FUN_021EFCDC
_0225F260:
ldr r0, [r4]
cmp r0, #7
beq _0225F26C
ldr r0, [r5, #0x2c]
bl FUN_0202457C
_0225F26C:
add sp, #0x44
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0225F270: .4byte 0x000927C0
_0225F274: .4byte 0x04000050
_0225F278: .4byte 0x04000052
_0225F27C: .4byte 0x0000019A
thumb_func_end MOD114_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD115_0225F020

View File

@ -0,0 +1,62 @@
thumb_func_start MOD115_0225F020
MOD115_0225F020: @ 0x0225F020
push {r4, r5, r6, r7, lr}
sub sp, #0x14
adds r5, r0, #0
movs r6, #0
strh r6, [r5]
adds r4, r5, #0
ldr r7, [sp, #0x28]
str r1, [sp, #8]
str r2, [sp, #0xc]
str r3, [sp, #0x10]
strh r6, [r5, #2]
adds r4, #0x14
_0225F038:
movs r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x10]
adds r3, r7, #0
bl FUN_021F0718
str r0, [r5, #4]
movs r1, #0
bl FUN_02024830
ldr r0, [r5, #4]
movs r1, #1
bl FUN_0202484C
cmp r6, #3
beq _0225F07E
ldr r0, [r5, #4]
movs r1, #2
bl FUN_0202487C
ldr r0, [r5, #4]
movs r1, #1
bl FUN_020248F0
movs r1, #2
lsls r1, r1, #0xc
adds r0, r4, #0
lsrs r2, r1, #1
movs r3, #6
bl FUN_021EFE70
b _0225F08C
_0225F07E:
movs r1, #1
lsls r1, r1, #0xc
adds r0, r4, #0
adds r2, r1, #0
movs r3, #6
bl FUN_021EFE70
_0225F08C:
adds r6, r6, #1
adds r5, r5, #4
adds r4, #0x14
cmp r6, #4
blt _0225F038
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD115_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD116_0225F020

View File

@ -0,0 +1,27 @@
thumb_func_start MOD116_0225F020
MOD116_0225F020: @ 0x0225F020
push {r3, r4, r5, lr}
sub sp, #8
adds r4, r1, #0
adds r5, r0, #0
ldrh r0, [r4, #8]
ldr r1, [r5, #0x24]
bl FUN_02023494
ldr r0, [r4]
ldr r1, [r5, #0x24]
bl FUN_020235D4
ldrh r1, [r4, #4]
add r0, sp, #0
strh r1, [r0]
ldrh r1, [r4, #6]
strh r1, [r0, #2]
movs r1, #0
strh r1, [r0, #4]
ldr r1, [r5, #0x24]
add r0, sp, #0
bl FUN_02023558
add sp, #8
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD116_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD117_0225F020

View File

@ -0,0 +1,491 @@
thumb_func_start MOD117_0225F020
MOD117_0225F020: @ 0x0225F020
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
str r0, [sp, #0x14]
adds r0, r1, #0
ldr r0, [r0]
str r1, [sp, #0x18]
ldr r4, [r1, #0xc]
cmp r0, #7
bls _0225F034
b _0225F330
_0225F034:
adds r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsls r1, r1, #0x10
asrs r1, r1, #0x10
add pc, r1
_0225F040: @ jump table
.2byte _0225F050 - _0225F040 - 2 @ case 0
.2byte _0225F0E0 - _0225F040 - 2 @ case 1
.2byte _0225F100 - _0225F040 - 2 @ case 2
.2byte _0225F124 - _0225F040 - 2 @ case 3
.2byte _0225F262 - _0225F040 - 2 @ case 4
.2byte _0225F274 - _0225F040 - 2 @ case 5
.2byte _0225F2A4 - _0225F040 - 2 @ case 6
.2byte _0225F2E0 - _0225F040 - 2 @ case 7
_0225F050:
movs r1, #0x3d
movs r0, #4
lsls r1, r1, #4
bl FUN_0201AA8C
ldr r1, [sp, #0x18]
movs r2, #0x3d
str r0, [r1, #0xc]
movs r1, #0
lsls r2, r2, #4
blx FUN_020E5B44
ldr r0, [sp, #0x18]
movs r1, #6
ldr r4, [r0, #0xc]
movs r2, #1
adds r0, r4, #0
bl FUN_021F05C4
movs r0, #1
str r0, [sp]
movs r0, #0x9c
str r0, [sp, #4]
movs r0, #0x9e
str r0, [sp, #8]
movs r2, #0x9d
str r2, [sp, #0xc]
ldr r0, _0225F2B8 @ =0x000927C0
adds r2, #0x9f
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
adds r1, r4, #0
ldr r0, [r0, #0x20]
adds r2, r4, r2
movs r3, #3
bl FUN_021F0614
movs r7, #0x4f
movs r6, #0
adds r5, r4, #0
lsls r7, r7, #2
_0225F0A2:
movs r0, #0
str r0, [sp]
movs r2, #0
str r0, [sp, #4]
adds r0, r4, #0
adds r1, r4, r7
adds r3, r2, #0
bl FUN_021F0718
movs r1, #0x17
lsls r1, r1, #4
str r0, [r5, r1]
adds r0, r1, #0
ldr r0, [r5, r0]
movs r1, #0
bl FUN_02024830
adds r6, r6, #1
adds r5, r5, #4
cmp r6, #6
blt _0225F0A2
movs r0, #0x10
movs r1, #1
bl FUN_02022C60
ldr r0, [sp, #0x18]
ldr r0, [r0]
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
b _0225F330
_0225F0E0:
movs r0, #2
str r0, [sp]
movs r0, #1
adds r1, r0, #0
ldr r3, [sp, #0x18]
subs r1, #0x11
adds r2, r1, #0
adds r3, r3, #4
bl FUN_021EFCF8
ldr r0, [sp, #0x18]
ldr r0, [r0]
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
b _0225F330
_0225F100:
ldr r1, [sp, #0x18]
ldr r1, [r1, #4]
cmp r1, #0
beq _0225F134
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
movs r0, #0xf2
movs r1, #0
lsls r0, r0, #2
str r1, [r4, r0]
ldr r1, [r4, r0]
adds r0, r0, #4
lsls r2, r1, #5
ldr r1, _0225F2BC @ =0x0225FB0C
ldr r1, [r1, r2]
str r1, [r4, r0]
b _0225F330
_0225F124:
movs r0, #0xf3
lsls r0, r0, #2
ldr r1, [r4, r0]
subs r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #0
blt _0225F136
_0225F134:
b _0225F330
_0225F136:
subs r0, r0, #4
ldr r0, [r4, r0]
movs r1, #8
str r1, [sp]
movs r1, #0x86
lsls r1, r1, #2
adds r2, r4, r1
movs r1, #0x18
muls r1, r0, r1
lsls r3, r0, #5
adds r0, r2, r1
ldr r1, _0225F2C0 @ =0x0225FAF4
ldr r2, _0225F2C4 @ =0x0225FAF8
ldr r5, _0225F2C8 @ =0x0225FAFC
ldr r1, [r1, r3]
ldr r2, [r2, r3]
ldr r3, [r5, r3]
bl FUN_021EFEC8
movs r0, #0xf2
lsls r0, r0, #2
ldr r0, [r4, r0]
movs r1, #8
str r1, [sp]
movs r1, #0xaa
lsls r1, r1, #2
adds r2, r4, r1
movs r1, #0x18
muls r1, r0, r1
lsls r3, r0, #5
adds r0, r2, r1
ldr r1, _0225F2CC @ =0x0225FB00
ldr r2, _0225F2D0 @ =0x0225FB04
ldr r5, _0225F2D4 @ =0x0225FB08
ldr r1, [r1, r3]
ldr r2, [r2, r3]
ldr r3, [r5, r3]
bl FUN_021EFEC8
movs r0, #0x62
lsls r0, r0, #2
movs r1, #8
adds r3, r4, r0
movs r0, #0xf2
str r1, [sp]
lsls r0, r0, #2
ldr r2, [r4, r0]
movs r0, #0x18
muls r0, r2, r0
adds r0, r3, r0
ldr r3, _0225F2D8 @ =0xFFFFF99A
lsls r1, r1, #0xa
movs r2, #0x29
bl FUN_021EFEC8
movs r0, #0xf2
lsls r0, r0, #2
ldr r2, [r4, r0]
subs r0, #0x90
adds r1, r4, r0
movs r0, #0x14
muls r0, r2, r0
lsls r3, r2, #5
ldr r2, _0225F2DC @ =0x0225FB10
adds r0, r1, r0
ldr r2, [r2, r3]
movs r1, #0
movs r3, #8
bl FUN_021EFE34
movs r0, #0xf2
lsls r0, r0, #2
ldr r0, [r4, r0]
lsls r0, r0, #2
adds r1, r4, r0
movs r0, #0x17
lsls r0, r0, #4
ldr r0, [r1, r0]
movs r1, #1
bl FUN_02024830
movs r0, #0xf2
lsls r0, r0, #2
ldr r0, [r4, r0]
ldr r1, _0225F2C0 @ =0x0225FAF4
lsls r3, r0, #5
ldr r2, _0225F2CC @ =0x0225FB00
ldr r1, [r1, r3]
ldr r2, [r2, r3]
add r0, sp, #0x40
movs r3, #0
bl FUN_021F074C
movs r0, #0xf2
lsls r0, r0, #2
ldr r0, [r4, r0]
lsls r0, r0, #2
adds r1, r4, r0
movs r0, #0x17
lsls r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0x40
bl FUN_020247D4
movs r1, #2
lsls r1, r1, #0xc
add r0, sp, #0x34
adds r2, r1, #0
movs r3, #0
bl FUN_021F074C
movs r0, #0xf2
lsls r0, r0, #2
ldr r0, [r4, r0]
movs r2, #2
lsls r0, r0, #2
adds r1, r4, r0
movs r0, #0x17
lsls r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0x34
bl FUN_02024804
movs r1, #0xf2
lsls r1, r1, #2
ldr r0, [r4, r1]
movs r3, #1
lsls r0, r0, #2
adds r2, r4, r0
adds r0, r1, #0
subs r0, #0x18
str r3, [r2, r0]
ldr r0, [r4, r1]
adds r0, r0, #1
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #6
blt _0225F256
ldr r0, [sp, #0x18]
ldr r0, [r0]
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
b _0225F330
_0225F256:
lsls r2, r0, #5
ldr r0, _0225F2BC @ =0x0225FB0C
ldr r2, [r0, r2]
adds r0, r1, #4
str r2, [r4, r0]
b _0225F330
_0225F262:
movs r1, #0xf1
lsls r1, r1, #2
ldr r1, [r4, r1]
cmp r1, #0
bne _0225F330
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
b _0225F330
_0225F274:
ldr r0, [sp, #0x18]
ldr r0, [r0, #0x10]
ldr r0, [r0, #4]
ldr r0, [r0, #0x1c]
bl FUN_021FB514
movs r0, #0xc
str r0, [sp]
movs r0, #1
str r0, [sp, #4]
movs r0, #4
movs r2, #0
str r0, [sp, #8]
movs r0, #3
movs r1, #0x22
adds r3, r2, #0
bl FUN_0200FA24
ldr r0, [sp, #0x18]
ldr r0, [r0]
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
b _0225F330
_0225F2A4:
bl FUN_0200FB5C
cmp r0, #0
beq _0225F330
ldr r0, [sp, #0x18]
ldr r0, [r0]
adds r1, r0, #1
ldr r0, [sp, #0x18]
str r1, [r0]
b _0225F330
.align 2, 0
_0225F2B8: .4byte 0x000927C0
_0225F2BC: .4byte 0x0225FB0C
_0225F2C0: .4byte 0x0225FAF4
_0225F2C4: .4byte 0x0225FAF8
_0225F2C8: .4byte 0x0225FAFC
_0225F2CC: .4byte 0x0225FB00
_0225F2D0: .4byte 0x0225FB04
_0225F2D4: .4byte 0x0225FB08
_0225F2D8: .4byte 0xFFFFF99A
_0225F2DC: .4byte 0x0225FB10
_0225F2E0:
movs r0, #1
movs r1, #0
bl FUN_0200FBF4
ldr r0, [sp, #0x18]
ldr r0, [r0, #0x10]
ldr r0, [r0, #4]
ldr r0, [r0, #0x1c]
bl FUN_021FB4F4
ldr r0, [sp, #0x18]
ldr r1, [r0, #0x14]
cmp r1, #0
beq _0225F300
movs r0, #1
str r0, [r1]
_0225F300:
movs r7, #0x17
movs r6, #0
adds r5, r4, #0
lsls r7, r7, #4
_0225F308:
ldr r0, [r5, r7]
bl FUN_02024758
adds r6, r6, #1
adds r5, r5, #4
cmp r6, #6
blt _0225F308
movs r1, #0x4f
lsls r1, r1, #2
adds r0, r4, #0
adds r1, r4, r1
bl FUN_021F06EC
adds r0, r4, #0
bl FUN_021F05F4
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x14]
bl FUN_021EFCDC
_0225F330:
movs r1, #0x86
movs r0, #0
lsls r1, r1, #2
str r0, [sp, #0x1c]
adds r0, r4, r1
str r0, [sp, #0x2c]
adds r0, r1, #0
adds r0, #0x90
adds r0, r4, r0
subs r1, #0x90
str r0, [sp, #0x28]
adds r0, r4, r1
str r0, [sp, #0x24]
movs r0, #0xce
lsls r0, r0, #2
adds r0, r4, r0
adds r5, r4, #0
str r0, [sp, #0x20]
adds r6, r4, #0
adds r7, r4, #0
_0225F358:
movs r0, #0x3b
lsls r0, r0, #4
ldr r0, [r5, r0]
cmp r0, #1
bne _0225F3E4
ldr r0, [sp, #0x2c]
bl FUN_021EFF28
str r0, [sp, #0x30]
ldr r0, [sp, #0x28]
bl FUN_021EFF28
ldr r0, [sp, #0x24]
bl FUN_021EFF28
ldr r0, [sp, #0x20]
bl FUN_021EFE44
ldr r0, [sp, #0x30]
cmp r0, #0
beq _0225F394
movs r0, #0x3b
movs r1, #0
lsls r0, r0, #4
str r1, [r5, r0]
movs r0, #0x17
lsls r0, r0, #4
ldr r0, [r5, r0]
bl FUN_02024830
_0225F394:
movs r1, #0x86
movs r2, #0xaa
lsls r1, r1, #2
lsls r2, r2, #2
ldr r1, [r6, r1]
ldr r2, [r6, r2]
add r0, sp, #0x40
movs r3, #0
bl FUN_021F074C
movs r0, #0x17
lsls r0, r0, #4
ldr r0, [r5, r0]
add r1, sp, #0x40
bl FUN_020247D4
movs r0, #0x62
lsls r0, r0, #2
ldr r1, [r6, r0]
add r0, sp, #0x34
adds r2, r1, #0
movs r3, #0
bl FUN_021F074C
movs r0, #0x17
lsls r0, r0, #4
ldr r0, [r5, r0]
add r1, sp, #0x34
bl FUN_020247F4
movs r1, #0xce
lsls r1, r1, #2
movs r0, #0x17
ldr r1, [r7, r1]
lsls r0, r0, #4
lsls r1, r1, #0x10
ldr r0, [r5, r0]
lsrs r1, r1, #0x10
bl FUN_02024818
_0225F3E4:
ldr r0, [sp, #0x2c]
adds r5, r5, #4
adds r0, #0x18
str r0, [sp, #0x2c]
ldr r0, [sp, #0x28]
adds r6, #0x18
adds r0, #0x18
str r0, [sp, #0x28]
ldr r0, [sp, #0x24]
adds r7, #0x14
adds r0, #0x18
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
adds r0, #0x14
str r0, [sp, #0x20]
ldr r0, [sp, #0x1c]
adds r0, r0, #1
str r0, [sp, #0x1c]
cmp r0, #6
blt _0225F358
ldr r0, [sp, #0x18]
ldr r0, [r0]
cmp r0, #7
beq _0225F41A
ldr r0, [r4]
bl FUN_0202457C
_0225F41A:
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD117_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD118_0225F020

View File

@ -0,0 +1,278 @@
thumb_func_start MOD118_0225F020
MOD118_0225F020: @ 0x0225F020
push {r3, r4, r5, r6, lr}
sub sp, #0x14
adds r4, r1, #0
adds r6, r0, #0
ldr r0, [r4]
ldr r5, [r4, #0xc]
cmp r0, #8
bls _0225F032
b _0225F218
_0225F032:
adds r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
add pc, r0
_0225F03E: @ jump table
.2byte _0225F050 - _0225F03E - 2 @ case 0
.2byte _0225F12C - _0225F03E - 2 @ case 1
.2byte _0225F144 - _0225F03E - 2 @ case 2
.2byte _0225F150 - _0225F03E - 2 @ case 3
.2byte _0225F17E - _0225F03E - 2 @ case 4
.2byte _0225F18E - _0225F03E - 2 @ case 5
.2byte _0225F1CC - _0225F03E - 2 @ case 6
.2byte _0225F1EA - _0225F03E - 2 @ case 7
.2byte _0225F1FA - _0225F03E - 2 @ case 8
_0225F050:
movs r0, #4
movs r1, #0x20
bl FUN_0201AA8C
movs r1, #0
movs r2, #0x20
str r0, [r4, #0xc]
blx FUN_020E5B44
movs r0, #2
movs r1, #1
ldr r5, [r4, #0xc]
bl FUN_02022C60
movs r0, #8
movs r1, #1
bl FUN_02022C60
movs r2, #1
lsls r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _0225F264 @ =0xFFFFE0FF
ands r1, r0
movs r0, #0x15
lsls r0, r0, #8
orrs r0, r1
str r0, [r2]
ldr r0, [r4, #0x10]
movs r1, #1
ldr r0, [r0, #8]
bl FUN_0201BB4C
ldr r0, [r4, #0x10]
ldr r2, _0225F268 @ =0x0225F270
ldr r0, [r0, #8]
movs r1, #1
movs r3, #0
bl FUN_0201B1E4
ldr r0, [r4, #0x10]
movs r1, #1
ldr r0, [r0, #8]
bl FUN_0201CAE0
ldr r0, [r4, #0x10]
movs r1, #3
ldr r0, [r0, #8]
bl FUN_0201BB4C
ldr r0, [r4, #0x10]
ldr r2, _0225F26C @ =0x0225F28C
ldr r0, [r0, #8]
movs r1, #3
movs r3, #0
bl FUN_0201B1E4
ldr r0, [r4, #0x10]
movs r1, #3
ldr r0, [r0, #8]
bl FUN_0201CAE0
movs r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [r4, #0x10]
movs r1, #0xa8
ldr r0, [r0, #8]
movs r2, #0xa7
str r0, [sp, #8]
movs r0, #1
str r0, [sp, #0xc]
movs r0, #3
str r0, [sp, #0x10]
ldr r0, [r4, #0x20]
movs r3, #0xa6
bl FUN_021F0500
movs r0, #2
movs r1, #0
bl FUN_0201BB68
movs r0, #8
movs r1, #0
bl FUN_0201BB68
movs r0, #1
movs r1, #0
bl FUN_0201C2D8
ldr r0, [r4, #0x10]
movs r1, #1
ldr r0, [r0, #8]
movs r2, #0
movs r3, #0x80
bl FUN_0201BC8C
ldr r0, [r4, #0x10]
movs r1, #3
adds r3, r1, #0
ldr r0, [r0, #8]
movs r2, #0
adds r3, #0xfd
bl FUN_0201BC8C
movs r0, #0x15
bl FUN_02022C9C
movs r0, #1
str r0, [r4]
b _0225F218
_0225F12C:
movs r0, #2
str r0, [sp]
movs r0, #1
adds r1, r0, #0
subs r1, #0x11
adds r2, r1, #0
adds r3, r4, #4
bl FUN_021EFCF8
movs r0, #2
str r0, [r4]
b _0225F218
_0225F144:
ldr r0, [r4, #4]
cmp r0, #0
beq _0225F218
movs r0, #3
str r0, [r4]
b _0225F218
_0225F150:
movs r0, #0x12
movs r1, #2
movs r3, #5
str r0, [sp]
adds r0, r5, #0
lsls r1, r1, #0x12
movs r2, #0
lsls r3, r3, #0xc
bl FUN_021EFEC8
movs r0, #2
movs r1, #1
bl FUN_02022C60
movs r0, #8
movs r1, #1
bl FUN_02022C60
movs r0, #1
str r0, [r5, #0x1c]
movs r0, #4
str r0, [r4]
b _0225F218
_0225F17E:
adds r0, r5, #0
bl FUN_021EFF28
cmp r0, #0
beq _0225F218
movs r0, #5
str r0, [r4]
b _0225F218
_0225F18E:
ldr r0, [r4, #0x10]
movs r2, #0
ldr r0, [r0, #8]
movs r1, #1
adds r3, r2, #0
bl FUN_0201BC8C
ldr r0, [r4, #0x10]
movs r1, #3
ldr r0, [r0, #8]
movs r2, #0
lsls r3, r1, #7
bl FUN_0201BC8C
movs r1, #0
str r1, [r5, #0x1c]
ldr r2, [r5, #0x18]
adds r0, r2, #1
str r0, [r5, #0x18]
cmp r2, #5
bls _0225F218
movs r0, #1
bl FUN_02022C60
movs r0, #1
str r0, [r5, #0x1c]
movs r0, #0
str r0, [r5, #0x18]
movs r0, #6
str r0, [r4]
b _0225F218
_0225F1CC:
movs r0, #0x12
movs r2, #2
movs r3, #5
str r0, [sp]
adds r0, r5, #0
movs r1, #0
lsls r2, r2, #0x12
lsls r3, r3, #0xc
bl FUN_021EFEC8
movs r0, #1
str r0, [r5, #0x1c]
movs r0, #7
str r0, [r4]
b _0225F218
_0225F1EA:
adds r0, r5, #0
bl FUN_021EFF28
cmp r0, #0
beq _0225F218
movs r0, #8
str r0, [r4]
b _0225F218
_0225F1FA:
movs r0, #0
str r0, [r5, #0x1c]
bl FUN_0200FC20
ldr r1, [r4, #0x14]
cmp r1, #0
beq _0225F20C
movs r0, #1
str r0, [r1]
_0225F20C:
adds r0, r4, #0
adds r1, r6, #0
bl FUN_021EFCDC
add sp, #0x14
pop {r3, r4, r5, r6, pc}
_0225F218:
ldr r0, [r5, #0x1c]
cmp r0, #0
beq _0225F25E
ldr r0, [r4, #0x10]
ldr r3, [r5]
ldr r0, [r0, #8]
movs r1, #1
movs r2, #0
asrs r3, r3, #0xc
bl FUN_0201F238
ldr r0, [r4, #0x10]
movs r1, #1
ldr r0, [r0, #8]
movs r2, #3
movs r3, #0
bl FUN_0201F238
ldr r0, [r4, #0x10]
ldr r3, [r5]
movs r1, #3
asrs r5, r3, #0xc
lsls r3, r1, #7
ldr r0, [r0, #8]
movs r2, #0
subs r3, r3, r5
bl FUN_0201F238
ldr r0, [r4, #0x10]
movs r1, #3
ldr r0, [r0, #8]
adds r2, r1, #0
movs r3, #0
bl FUN_0201F238
_0225F25E:
add sp, #0x14
pop {r3, r4, r5, r6, pc}
nop
_0225F264: .4byte 0xFFFFE0FF
_0225F268: .4byte 0x0225F270
_0225F26C: .4byte 0x0225F28C
thumb_func_end MOD118_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD119_0225F020

View File

@ -0,0 +1,405 @@
thumb_func_start MOD119_0225F020
MOD119_0225F020: @ 0x0225F020
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x60
adds r7, r1, #0
str r0, [sp, #0x14]
ldr r0, [r7]
ldr r4, [r7, #0xc]
cmp r0, #7
bls _0225F032
b _0225F35E
_0225F032:
adds r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsls r1, r1, #0x10
asrs r1, r1, #0x10
add pc, r1
_0225F03E: @ jump table
.2byte _0225F04E - _0225F03E - 2 @ case 0
.2byte _0225F10C - _0225F03E - 2 @ case 1
.2byte _0225F126 - _0225F03E - 2 @ case 2
.2byte _0225F132 - _0225F03E - 2 @ case 3
.2byte _0225F196 - _0225F03E - 2 @ case 4
.2byte _0225F1FE - _0225F03E - 2 @ case 5
.2byte _0225F28A - _0225F03E - 2 @ case 6
.2byte _0225F314 - _0225F03E - 2 @ case 7
_0225F04E:
movs r1, #0x1e
movs r0, #4
lsls r1, r1, #4
bl FUN_0201AA8C
movs r2, #0x1e
str r0, [r7, #0xc]
movs r1, #0
lsls r2, r2, #4
blx FUN_020E5B44
ldr r0, [r7, #0x10]
ldr r4, [r7, #0xc]
ldr r1, [r0, #0x24]
movs r0, #7
lsls r0, r0, #6
str r1, [r4, r0]
bl FUN_021EFFEC
str r0, [r4, #0x44]
adds r0, r4, #0
adds r0, #0x48
movs r1, #2
movs r2, #1
bl FUN_021F05C4
movs r0, #1
str r0, [sp]
movs r0, #7
str r0, [sp, #4]
movs r0, #9
str r0, [sp, #8]
movs r0, #8
str r0, [sp, #0xc]
ldr r0, _0225F370 @ =0x000927C0
movs r2, #0x61
str r0, [sp, #0x10]
adds r1, r4, #0
lsls r2, r2, #2
ldr r0, [r7, #0x20]
adds r1, #0x48
adds r2, r4, r2
movs r3, #0
bl FUN_021F0614
movs r0, #0
str r0, [sp, #0x18]
adds r6, r0, #0
adds r0, r4, #0
str r0, [sp, #0x20]
adds r0, #0x48
adds r5, r4, #0
str r0, [sp, #0x20]
_0225F0B8:
movs r0, #0
str r0, [sp]
movs r1, #0x61
str r0, [sp, #4]
lsls r1, r1, #2
movs r2, #2
movs r3, #6
ldr r0, [sp, #0x20]
adds r1, r4, r1
lsls r2, r2, #0x12
lsls r3, r3, #0x10
bl FUN_021F0718
movs r1, #0x6e
lsls r1, r1, #2
str r0, [r5, r1]
adds r0, r1, #0
ldr r0, [r5, r0]
movs r1, #0
bl FUN_02024830
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r5, r0]
adds r1, r6, #0
bl FUN_02024ADC
ldr r0, [sp, #0x18]
adds r5, r5, #4
adds r0, r0, #1
adds r6, r6, #2
str r0, [sp, #0x18]
cmp r0, #2
blt _0225F0B8
movs r0, #0x10
movs r1, #1
bl FUN_02022C60
ldr r0, [r7]
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F10C:
movs r0, #2
str r0, [sp]
movs r0, #1
adds r1, r0, #0
subs r1, #0x11
adds r2, r1, #0
adds r3, r7, #4
bl FUN_021EFCF8
ldr r0, [r7]
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F126:
ldr r1, [r7, #4]
cmp r1, #0
beq _0225F1F4
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F132:
movs r0, #0xa
movs r2, #1
str r0, [sp]
adds r0, r4, #0
movs r1, #0x29
lsls r2, r2, #0xc
movs r3, #2
bl FUN_021EFEC8
ldr r1, [r4]
add r0, sp, #0x54
adds r2, r1, #0
adds r3, r1, #0
bl FUN_021F074C
movs r6, #0
adds r5, r4, #0
_0225F154:
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r5, r0]
movs r1, #1
bl FUN_02024830
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r5, r0]
movs r1, #2
bl FUN_0202487C
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r5, r0]
add r1, sp, #0x54
bl FUN_020247F4
adds r6, r6, #1
adds r5, r5, #4
cmp r6, #2
blt _0225F154
adds r0, r4, #0
ldr r2, _0225F374 @ =0x0000FFFF
adds r0, #0x18
movs r1, #0
movs r3, #0xa
bl FUN_021EFE34
ldr r0, [r7]
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F196:
adds r0, r4, #0
bl FUN_021EFF28
ldr r1, [r4]
str r0, [sp, #0x1c]
add r0, sp, #0x54
adds r2, r1, #0
adds r3, r1, #0
bl FUN_021F074C
adds r0, r4, #0
adds r0, #0x18
bl FUN_021EFE44
movs r6, #0
adds r5, r4, #0
_0225F1B6:
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r5, r0]
add r1, sp, #0x54
bl FUN_020247F4
adds r6, r6, #1
adds r5, r5, #4
cmp r6, #2
blt _0225F1B6
movs r0, #0x6e
ldr r1, [r4, #0x18]
lsls r0, r0, #2
lsls r1, r1, #0x10
ldr r0, [r4, r0]
lsrs r1, r1, #0x10
bl FUN_02024818
movs r1, #0x6f
lsls r1, r1, #2
ldr r0, [r4, r1]
ldr r2, [r4, #0x18]
subs r1, #0xbc
subs r1, r2, r1
lsls r1, r1, #0x10
lsrs r1, r1, #0x10
bl FUN_02024818
ldr r0, [sp, #0x1c]
cmp r0, #1
beq _0225F1F6
_0225F1F4:
b _0225F35E
_0225F1F6:
ldr r0, [r7]
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F1FE:
movs r0, #0
str r0, [sp]
movs r0, #0xff
lsls r0, r0, #0xc
str r0, [sp, #4]
movs r0, #0xa
lsls r0, r0, #0xc
str r0, [sp, #8]
ldr r1, [r4, #0x44]
adds r0, r7, #0
movs r2, #0x60
movs r3, #6
bl FUN_021F0050
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r4, r0]
movs r1, #1
bl FUN_020248F0
movs r0, #0x6f
lsls r0, r0, #2
ldr r0, [r4, r0]
movs r1, #2
bl FUN_020248F0
movs r0, #6
str r0, [sp]
adds r0, r4, #0
movs r2, #0xff
movs r3, #0xa
adds r0, #0x2c
movs r1, #0
lsls r2, r2, #0xc
lsls r3, r3, #0xc
bl FUN_021EFEC8
movs r0, #7
lsls r0, r0, #6
ldr r0, [r4, r0]
bl FUN_02023614
adds r1, r0, #0
movs r0, #6
str r0, [sp]
movs r0, #0x71
movs r2, #0x7d
lsls r0, r0, #2
lsls r2, r2, #0xe
ldr r3, _0225F378 @ =0xFFFF6000
adds r0, r4, r0
subs r2, r1, r2
bl FUN_021EFEC8
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r4, r0]
movs r1, #0
bl FUN_02024818
movs r0, #0x6f
lsls r0, r0, #2
ldr r0, [r4, r0]
movs r1, #0
bl FUN_02024818
ldr r0, [r7]
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F28A:
adds r0, r4, #0
adds r0, #0x2c
bl FUN_021EFF28
movs r1, #2
ldr r2, [r4, #0x2c]
lsls r1, r1, #0x12
subs r1, r1, r2
movs r2, #6
add r0, sp, #0x30
lsls r2, r2, #0x10
movs r3, #0
bl FUN_021F074C
add r3, sp, #0x30
ldm r3!, {r0, r1}
add r2, sp, #0x48
stm r2!, {r0, r1}
ldr r0, [r3]
movs r1, #2
str r0, [r2]
ldr r2, [r4, #0x2c]
lsls r1, r1, #0x12
adds r1, r2, r1
movs r2, #6
add r0, sp, #0x24
lsls r2, r2, #0x10
movs r3, #0
bl FUN_021F074C
add r3, sp, #0x24
ldm r3!, {r0, r1}
add r2, sp, #0x3c
stm r2!, {r0, r1}
ldr r0, [r3]
add r1, sp, #0x48
str r0, [r2]
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r4, r0]
bl FUN_020247D4
movs r0, #0x6f
lsls r0, r0, #2
ldr r0, [r4, r0]
add r1, sp, #0x3c
bl FUN_020247D4
movs r0, #0x71
lsls r0, r0, #2
adds r0, r4, r0
bl FUN_021EFF28
movs r1, #0x71
lsls r1, r1, #2
ldr r0, [r4, r1]
subs r1, r1, #4
ldr r1, [r4, r1]
bl FUN_020235D4
adds r0, r7, #0
bl FUN_021EFE30
cmp r0, #0
beq _0225F35E
ldr r0, [r7]
adds r0, r0, #1
str r0, [r7]
b _0225F35E
_0225F314:
movs r0, #0
bl FUN_0200FC20
ldr r1, [r7, #0x14]
cmp r1, #0
beq _0225F324
movs r0, #1
str r0, [r1]
_0225F324:
movs r6, #0
adds r5, r4, #0
_0225F328:
movs r0, #0x6e
lsls r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02024758
adds r6, r6, #1
adds r5, r5, #4
cmp r6, #2
blt _0225F328
movs r1, #0x61
adds r0, r4, #0
lsls r1, r1, #2
adds r0, #0x48
adds r1, r4, r1
bl FUN_021F06EC
adds r0, r4, #0
adds r0, #0x48
bl FUN_021F05F4
ldr r0, [r4, #0x44]
bl FUN_021F0028
ldr r1, [sp, #0x14]
adds r0, r7, #0
bl FUN_021EFCDC
_0225F35E:
ldr r0, [r7]
cmp r0, #7
beq _0225F36A
ldr r0, [r4, #0x48]
bl FUN_0202457C
_0225F36A:
add sp, #0x60
pop {r3, r4, r5, r6, r7, pc}
nop
_0225F370: .4byte 0x000927C0
_0225F374: .4byte 0x0000FFFF
_0225F378: .4byte 0xFFFF6000
thumb_func_end MOD119_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x022378C0 MOD12_022378C0

21908
arm9/overlays/12/module_12.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD120_0225F020

View File

@ -0,0 +1,14 @@
thumb_func_start MOD120_0225F020
MOD120_0225F020: @ 0x0225F020
push {r4, lr}
movs r1, #0x34
bl FUN_0201AA8C
movs r1, #0
movs r2, #0x34
adds r4, r0, #0
blx FUN_020E5B44
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD120_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD121_021E5900

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x021E5900 MOD122_021E5900

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
thumb_func 0x0225F020 MOD123_0225F020

View File

@ -0,0 +1,5 @@
thumb_func_start MOD123_0225F020
MOD123_0225F020: @ 0x0225F020
stm r7!, {r1, r2, r3, r4}
thumb_func_end MOD123_0225F020

View File

@ -0,0 +1 @@
thumb_func 0x02260C20 MOD124_02260C20

View File

@ -0,0 +1,144 @@
thumb_func_start MOD124_02260C20
MOD124_02260C20: @ 0x02260C20
push {r3, r4, r5, r6, r7, lr}
ldr r7, _02260CF8 @ =0x0000007B
adds r6, r0, #0
adds r5, r1, #0
movs r0, #0
adds r1, r7, #0
ldr r4, _02260CFC @ =0x0097B4B1
blx FUN_020D8D60
ldr r0, _02260D00 @ =0x02260D69
blx FUN_0225F4A8
cmp r0, #0
bne _02260C40
movs r1, #1
b _02260C42
_02260C40:
movs r1, #0
_02260C42:
ldr r0, _02260D04 @ =0x00000301
muls r0, r1, r0
adds r4, r4, r0
adds r0, r6, #0
bl FUN_020072A4
ldr r0, [r0, #8]
str r0, [r5, #0xc]
movs r0, #0
str r0, [r5, #0x10]
ldr r0, _02260D08 @ =0x02260D6D
blx FUN_0225F688
cmp r0, #0
bne _02260C64
movs r1, #1
b _02260C66
_02260C64:
movs r1, #0
_02260C66:
movs r0, #0x2f
muls r0, r1, r0
adds r4, r4, r0
ldr r0, [r5, #0xc]
bl FUN_0203B9C4
bl FUN_0203B958
str r0, [r5, #0x20]
bl FUN_0203AF9C
str r0, [r5, #0x30]
ldr r0, _02260D0C @ =0x02260D59
blx FUN_0225F520
adds r6, r0, #0
ldr r1, _02260D10 @ =0x000003A1
adds r0, r5, #0
muls r6, r1, r6
movs r1, #0xb
bl FUN_0203B610
movs r0, #0xb
bl FUN_020787A8
adds r1, r5, #0
adds r1, #0x94
str r0, [r1]
movs r0, #0
adds r1, r7, #0
blx FUN_020D8DB4
ldr r1, _02260D14 @ =0x00000989
adds r0, r4, r6
blx FUN_020F2BA4
cmp r1, #0
beq _02260CB8
adds r0, r5, #0
bl FUN_02260D1C
_02260CB8:
movs r0, #0xb
bl FUN_02092BB8
adds r1, r5, #0
adds r1, #0xa8
str r0, [r1]
movs r0, #0xb
bl FUN_0206A1D4
movs r1, #0x42
lsls r1, r1, #2
str r0, [r5, r1]
movs r0, #0xb
adds r1, r5, #0
bl FUN_02092D98
movs r1, #0x45
lsls r1, r1, #2
str r0, [r5, r1]
movs r0, #0
adds r1, #0x10
str r0, [r5, r1]
ldr r1, _02260D18 @ =0x00000FE9
adds r0, r4, r6
blx FUN_020F2BA4
cmp r1, #0
beq _02260CF6
adds r0, r5, #0
bl FUN_02260D1C
_02260CF6:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02260CF8: .4byte 0x0000007B
_02260CFC: .4byte 0x0097B4B1
_02260D00: .4byte 0x02260D69
_02260D04: .4byte 0x00000301
_02260D08: .4byte 0x02260D6D
_02260D0C: .4byte 0x02260D59
_02260D10: .4byte 0x000003A1
_02260D14: .4byte 0x00000989
_02260D18: .4byte 0x00000FE9
thumb_func_end MOD124_02260C20
thumb_func_start FUN_02260D1C
FUN_02260D1C: @ 0x02260D1C
push {r4, r5, r6, lr}
movs r5, #0
adds r6, r0, #0
adds r4, r5, #0
_02260D24:
ldr r0, [r6, #0xc]
bl FUN_02028E9C
adds r1, r4, #0
bl FUN_02028F98
cmp r0, #1
bne _02260D36
adds r5, r5, #1
_02260D36:
adds r4, r4, #1
cmp r4, #0x10
blt _02260D24
cmp r5, #0
bne _02260D44
ldr r1, _02260D54 @ =0x00004E20
b _02260D4A
_02260D44:
ldr r0, _02260D54 @ =0x00004E20
adds r1, r5, #0
muls r1, r0, r1
_02260D4A:
movs r0, #3
bl FUN_0201AACC
pop {r4, r5, r6, pc}
nop
_02260D54: .4byte 0x00004E20
thumb_func_end FUN_02260D1C

View File

@ -0,0 +1 @@
thumb_func 0x02260C20 MOD125_02260C20

View File

@ -0,0 +1,20 @@
thumb_func_start MOD125_02260C20
MOD125_02260C20: @ 0x02260C20
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD125_02260C20

View File

@ -0,0 +1 @@
thumb_func 0x02260C20 MOD126_02260C20

View File

@ -0,0 +1,20 @@
thumb_func_start MOD126_02260C20
MOD126_02260C20: @ 0x02260C20
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD126_02260C20

View File

@ -0,0 +1 @@
thumb_func 0x02260C20 MOD127_02260C20

View File

@ -0,0 +1,20 @@
thumb_func_start MOD127_02260C20
MOD127_02260C20: @ 0x02260C20
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD127_02260C20

View File

@ -0,0 +1 @@
thumb_func 0x02260C20 MOD128_02260C20

View File

@ -0,0 +1,20 @@
thumb_func_start MOD128_02260C20
MOD128_02260C20: @ 0x02260C20
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
movs r0, r0
thumb_func_end MOD128_02260C20

View File

@ -0,0 +1 @@
thumb_func 0x0221BA00 MOD13_0221BA00

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