summaryrefslogtreecommitdiff
path: root/asm/code_8092334.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-12-17 13:17:58 -0600
committerGitHub <noreply@github.com>2020-12-17 13:17:58 -0600
commit096de8d9b2ffd90c52e790296bfd7c5436d45ca3 (patch)
tree9c5af2e04dea05221c71946a5dfc06471f77801d /asm/code_8092334.s
parentbc504264f1e54b3c1e482710c592e5549828bfe1 (diff)
parentf90f3affeb9b0a66aa7df68f5fdecd692033faf9 (diff)
Merge pull request #12 from SethBarberee/master
Merge work from SethBarberee/pmd-red into pret.
Diffstat (limited to 'asm/code_8092334.s')
-rw-r--r--asm/code_8092334.s6169
1 files changed, 6169 insertions, 0 deletions
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
new file mode 100644
index 0000000..9048c87
--- /dev/null
+++ b/asm/code_8092334.s
@@ -0,0 +1,6169 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8092404
+sub_8092404:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ mov r10, r1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ lsls r3, 24
+ lsrs r7, r3, 24
+ movs r6, 0
+ movs r4, 0
+ mov r5, r10
+_08092426:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, _08092494
+ ldr r0, [r0]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08092472
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ beq _08092448
+ mov r0, r8
+ cmp r0, 0
+ beq _08092472
+_08092448:
+ movs r1, 0
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0x41
+ bne _08092452
+ movs r1, 0x1
+_08092452:
+ cmp r1, 0
+ beq _0809245A
+ cmp r7, 0
+ beq _08092472
+_0809245A:
+ adds r0, r4, 0
+ bl sub_80923D4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, r9
+ bne _08092472
+ cmp r6, 0xF
+ bgt _08092472
+ strh r4, [r5]
+ adds r5, 0x2
+ adds r6, 0x1
+_08092472:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08092426
+ lsls r0, r6, 1
+ add r0, r10
+ ldr r2, _08092498
+ adds r1, r2, 0
+ strh r1, [r0]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092494: .4byte gUnknown_203B45C
+_08092498: .4byte 0x0000ffff
+ thumb_func_end sub_8092404
+
+ thumb_func_start sub_809249C
+sub_809249C:
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldr r0, _080924F8
+ ldr r0, [r0]
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0809251A
+ movs r5, 0
+_080924B4:
+ ldr r2, _080924FC
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08092502
+ adds r0, r5, 0
+ bl sub_80923D4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, r6
+ bne _08092502
+ movs r1, 0
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0x41
+ bne _080924E2
+ movs r1, 0x1
+_080924E2:
+ cmp r1, 0
+ bne _080924F2
+ ldrb r1, [r4, 0x2]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ cmp r0, 0
+ beq _08092500
+_080924F2:
+ movs r7, 0
+ b _08092502
+ .align 2, 0
+_080924F8: .4byte gUnknown_203B468
+_080924FC: .4byte gUnknown_203B45C
+_08092500:
+ strh r0, [r4]
+_08092502:
+ adds r5, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r5, r0
+ ble _080924B4
+ cmp r7, 0
+ beq _0809251A
+ ldr r0, _08092520
+ ldr r0, [r0]
+ adds r0, r6
+ movs r1, 0
+ strb r1, [r0]
+_0809251A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092520: .4byte gUnknown_203B468
+ thumb_func_end sub_809249C
+
+ thumb_func_start sub_8092524
+sub_8092524:
+ lsls r0, 24
+ ldr r1, _08092530
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_08092530: .4byte gFriendAreaNames
+ thumb_func_end sub_8092524
+
+ thumb_func_start sub_8092534
+sub_8092534:
+ lsls r0, 24
+ ldr r1, _08092540
+ lsrs r0, 21
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08092540: .4byte gUnknown_810AA90
+ thumb_func_end sub_8092534
+
+ thumb_func_start sub_8092544
+sub_8092544:
+ lsls r0, 24
+ ldr r1, _08092554
+ lsrs r0, 21
+ adds r1, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_08092554: .4byte gUnknown_810AA90
+ thumb_func_end sub_8092544
+
+ thumb_func_start sub_8092558
+sub_8092558:
+ push {lr}
+ lsls r2, r1, 24
+ ldr r1, _08092570
+ ldr r3, _08092574
+ lsrs r2, 22
+ adds r2, r3
+ ldr r2, [r2]
+ bl sub_800D158
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092570: .4byte gUnknown_81098A4
+_08092574: .4byte gFriendAreaNames
+ thumb_func_end sub_8092558
+
+ thumb_func_start sub_8092578
+sub_8092578:
+ push {r4,r5,lr}
+ sub sp, 0x18
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ lsls r2, 24
+ cmp r2, 0
+ beq _080925C0
+ ldr r0, _080925B4
+ lsls r1, r4, 3
+ adds r0, 0x4
+ adds r1, r0
+ ldr r0, [r1]
+ add r1, sp, 0x4
+ movs r2, 0x1
+ bl sub_8090FEC
+ ldr r1, _080925B8
+ ldr r2, _080925BC
+ lsls r0, r4, 2
+ adds r0, r2
+ ldr r2, [r0]
+ add r0, sp, 0x4
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r3, 0x60
+ bl sub_800D158
+ b _080925CE
+ .align 2, 0
+_080925B4: .4byte gUnknown_810AA90
+_080925B8: .4byte gUnknown_81098AC
+_080925BC: .4byte gFriendAreaNames
+_080925C0:
+ ldr r0, _080925D8
+ lsls r1, r4, 2
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r5, 0
+ bl strcpy
+_080925CE:
+ add sp, 0x18
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080925D8: .4byte gFriendAreaNames
+ thumb_func_end sub_8092578
+
+ thumb_func_start sub_80925DC
+sub_80925DC:
+ lsls r0, 24
+ ldr r1, _080925E8
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_080925E8: .4byte gFriendAreaDescriptions
+ thumb_func_end sub_80925DC
+
+ thumb_func_start sub_80925EC
+sub_80925EC:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080925FC
+ ldr r1, [r1]
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080925FC: .4byte gUnknown_203B468
+ thumb_func_end sub_80925EC
+
+ thumb_func_start sub_8092600
+sub_8092600:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08092610
+ ldr r1, [r1]
+ adds r1, r0
+ ldrb r0, [r1]
+ bx lr
+ .align 2, 0
+_08092610: .4byte gUnknown_203B468
+ thumb_func_end sub_8092600
+
+ thumb_func_start sub_8092614
+sub_8092614:
+ push {lr}
+ movs r1, 0x1
+ ldr r0, _08092628
+ ldr r2, [r0]
+_0809261C:
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809262C
+ movs r0, 0
+ b _08092634
+ .align 2, 0
+_08092628: .4byte gUnknown_203B468
+_0809262C:
+ adds r1, 0x1
+ cmp r1, 0x39
+ ble _0809261C
+ movs r0, 0x1
+_08092634:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092614
+
+ thumb_func_start sub_8092638
+sub_8092638:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r12, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r8, r3
+ movs r6, 0
+ movs r3, 0
+ ldr r2, _080926DC
+ cmp r3, r5
+ bge _0809266E
+ ldr r1, _080926E0
+ adds r3, r5, 0
+_0809265E:
+ movs r7, 0
+ ldrsh r0, [r1, r7]
+ adds r6, r0
+ adds r1, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bne _0809265E
+ adds r3, r5, 0
+_0809266E:
+ str r6, [r4, 0x8]
+ ldr r0, [r2]
+ adds r0, r3
+ ldrb r0, [r0]
+ strb r0, [r4, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080926E8
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldr r1, _080926E0
+ lsls r0, r3, 3
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r3, 0
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r3, r0
+ bge _080926EC
+ ldr r5, _080926E4
+_0809269A:
+ movs r0, 0x58
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, [r5]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080926CC
+ mov r7, r12
+ cmp r7, 0
+ beq _080926BA
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ bne _080926CC
+_080926BA:
+ mov r0, r8
+ cmp r0, 0
+ beq _080926C6
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0x41
+ beq _080926CC
+_080926C6:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+_080926CC:
+ adds r3, 0x1
+ adds r6, 0x1
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r3, r0
+ blt _0809269A
+ b _080926EC
+ .align 2, 0
+_080926DC: .4byte gUnknown_203B468
+_080926E0: .4byte gUnknown_810AA90
+_080926E4: .4byte gUnknown_203B45C
+_080926E8:
+ strh r0, [r4, 0x2]
+ strh r0, [r4]
+_080926EC:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8092638
+
+ thumb_func_start sub_80926F8
+sub_80926F8:
+ push {r4-r7,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r2, 24
+ lsrs r7, r2, 24
+ movs r5, 0
+ movs r2, 0
+ ldr r0, _08092780
+ mov r12, r0
+ cmp r2, r3
+ bge _08092724
+ ldr r1, _08092784
+ adds r2, r3, 0
+_08092714:
+ movs r6, 0
+ ldrsh r0, [r1, r6]
+ adds r5, r0
+ adds r1, 0x8
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08092714
+ adds r2, r3, 0
+_08092724:
+ str r5, [r4, 0x8]
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r4, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _0809279C
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldr r1, _08092784
+ lsls r0, r2, 3
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r6, 0
+ ldrsh r0, [r4, r6]
+ cmp r0, 0
+ ble _080927A0
+ ldr r6, _08092788
+ adds r2, r0, 0
+_08092752:
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r6]
+ adds r3, r0, r1
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08092792
+ ldrb r0, [r3, 0x2]
+ cmp r0, 0
+ bne _08092776
+ cmp r7, 0
+ bne _0809278C
+ ldrb r0, [r3, 0x4]
+ cmp r0, 0x41
+ bne _0809278C
+_08092776:
+ ldrh r0, [r4]
+ subs r0, 0x1
+ strh r0, [r4]
+ b _08092792
+ .align 2, 0
+_08092780: .4byte gUnknown_203B468
+_08092784: .4byte gUnknown_810AA90
+_08092788: .4byte gUnknown_203B45C
+_0809278C:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+_08092792:
+ subs r2, 0x1
+ adds r5, 0x1
+ cmp r2, 0
+ bne _08092752
+ b _080927A0
+_0809279C:
+ strh r0, [r4, 0x2]
+ strh r0, [r4]
+_080927A0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80926F8
+
+ thumb_func_start sub_80927A8
+sub_80927A8:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809486C
+ movs r4, 0
+ add r5, sp, 0x10
+_080927BC:
+ ldr r0, _080927F0
+ ldr r0, [r0]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080927CC
+ movs r0, 0x1
+ negs r0, r0
+_080927CC:
+ str r0, [sp, 0x10]
+ mov r0, sp
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _080927BC
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080927F0: .4byte gUnknown_203B468
+ thumb_func_end sub_80927A8
+
+ thumb_func_start sub_80927F4
+sub_80927F4:
+ push {r4-r7,lr}
+ sub sp, 0x14
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809485C
+ movs r4, 0
+ add r7, sp, 0x10
+ movs r6, 0x1
+ ldr r5, _08092828
+_0809280C:
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [sp, 0x10]
+ ands r1, r6
+ cmp r1, 0
+ beq _0809282C
+ ldr r0, [r5]
+ adds r0, r4
+ strb r6, [r0]
+ b _08092832
+ .align 2, 0
+_08092828: .4byte gUnknown_203B468
+_0809282C:
+ ldr r0, [r5]
+ adds r0, r4
+ strb r1, [r0]
+_08092832:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _0809280C
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80927F4
+
+ thumb_func_start LoadWazaParameters
+LoadWazaParameters:
+ push {lr}
+ ldr r0, _08092868
+ ldr r1, _0809286C
+ bl OpenFileAndGetFileDataPtr
+ ldr r1, _08092870
+ str r0, [r1]
+ ldr r1, _08092874
+ ldr r2, [r0, 0x4]
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r1, _08092878
+ ldr r0, [r2, 0x4]
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092868: .4byte gUnknown_81098D0
+_0809286C: .4byte gUnknown_8300500
+_08092870: .4byte gWazaParametersFile
+_08092874: .4byte gUnknown_2038C68
+_08092878: .4byte gUnknown_2038C6C
+ thumb_func_end LoadWazaParameters
+
+ thumb_func_start sub_809287C
+sub_809287C:
+ push {lr}
+ adds r2, r0, 0
+ ldrb r1, [r2]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _08092894
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08092898
+_08092894:
+ movs r0, 0x32
+ b _0809289A
+_08092898:
+ movs r0, 0x34
+_0809289A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809287C
+
+ thumb_func_start sub_80928A0
+sub_80928A0:
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r2, 0
+ mov r0, sp
+ bl sub_8093F10
+ adds r0, r4, 0
+ mov r1, sp
+ adds r2, r5, 0
+ bl sub_80928C0
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80928A0
+
+ thumb_func_start sub_80928C0
+sub_80928C0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x20
+ adds r7, r0, 0
+ adds r4, r1, 0
+ adds r5, r2, 0
+ adds r0, r4, 0
+ bl sub_809287C
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r5, 0
+ bne _080928DE
+ ldr r5, _080928F0
+_080928DE:
+ ldrb r1, [r4, 0x5]
+ cmp r1, 0
+ beq _080928F8
+ ldr r1, _080928F4
+ ldrb r2, [r4, 0x5]
+ add r0, sp, 0x14
+ bl sub_800D158
+ b _080928FC
+ .align 2, 0
+_080928F0: .4byte gUnknown_81098C4
+_080928F4: .4byte gUnknown_81098DC
+_080928F8:
+ add r0, sp, 0x14
+ strb r1, [r0]
+_080928FC:
+ ldrb r0, [r5, 0x8]
+ cmp r0, 0
+ beq _08092904
+ movs r6, 0x2
+_08092904:
+ ldrb r0, [r5, 0x9]
+ cmp r0, 0
+ beq _08092918
+ ldrh r0, [r4, 0x2]
+ bl sub_809422C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08092918
+ movs r6, 0x2
+_08092918:
+ ldr r0, [r5]
+ cmp r0, 0x4
+ bls _08092920
+ b _08092A6A
+_08092920:
+ lsls r0, 2
+ ldr r1, _0809292C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809292C: .4byte _08092930
+ .align 2, 0
+_08092930:
+ .4byte _08092944
+ .4byte _0809296C
+ .4byte _08092998
+ .4byte _080929C4
+ .4byte _08092A20
+_08092944:
+ ldr r1, _08092964
+ ldrh r2, [r4, 0x2]
+ ldr r0, _08092968
+ ldr r3, [r0]
+ lsls r0, r2, 3
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ ldr r3, [r0]
+ add r0, sp, 0x14
+ str r0, [sp]
+ adds r0, r7, 0
+ adds r2, r6, 0
+ bl sub_800D158
+ b _08092A6A
+ .align 2, 0
+_08092964: .4byte gUnknown_81098E0
+_08092968: .4byte gUnknown_2038C68
+_0809296C:
+ adds r0, r4, 0
+ bl sub_8092BF4
+ adds r3, r0, 0
+ ldr r1, _0809298C
+ mov r8, r1
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ ldr r1, _08092990
+ mov r12, r1
+ cmp r0, 0
+ beq _080929E2
+ ldr r0, _08092994
+ b _080929E0
+ .align 2, 0
+_0809298C: .4byte gUnknown_81098EC
+_08092990: .4byte gUnknown_810990C
+_08092994: .4byte gUnknown_8109908
+_08092998:
+ adds r0, r4, 0
+ bl sub_8092BF4
+ adds r3, r0, 0
+ ldr r0, _080929B8
+ mov r8, r0
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ ldr r1, _080929BC
+ mov r12, r1
+ cmp r0, 0
+ beq _080929E2
+ ldr r0, _080929C0
+ b _080929E0
+ .align 2, 0
+_080929B8: .4byte gUnknown_8109910
+_080929BC: .4byte gUnknown_810990C
+_080929C0: .4byte gUnknown_8109908
+_080929C4:
+ adds r0, r4, 0
+ bl sub_8092BF4
+ adds r3, r0, 0
+ ldr r0, _08092A10
+ mov r8, r0
+ ldrb r1, [r4]
+ movs r0, 0x4
+ ands r0, r1
+ ldr r1, _08092A14
+ mov r12, r1
+ cmp r0, 0
+ beq _080929E2
+ ldr r0, _08092A18
+_080929E0:
+ mov r12, r0
+_080929E2:
+ ldrh r1, [r4, 0x2]
+ ldr r0, _08092A1C
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r0, [r0]
+ str r0, [sp]
+ add r1, sp, 0x14
+ str r1, [sp, 0x4]
+ ldr r0, [r5, 0x4]
+ str r0, [sp, 0x8]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0xC]
+ str r3, [sp, 0x10]
+ adds r0, r7, 0
+ mov r1, r8
+ adds r2, r6, 0
+ mov r3, r12
+ bl sub_800D158
+ b _08092A6A
+ .align 2, 0
+_08092A10: .4byte gUnknown_81098EC
+_08092A14: .4byte gUnknown_810990C
+_08092A18: .4byte gUnknown_8109928
+_08092A1C: .4byte gUnknown_2038C68
+_08092A20:
+ adds r0, r4, 0
+ bl sub_8092BF4
+ adds r3, r0, 0
+ ldr r0, _08092A78
+ mov r8, r0
+ ldrb r1, [r4]
+ movs r0, 0x4
+ ands r0, r1
+ ldr r1, _08092A7C
+ mov r12, r1
+ cmp r0, 0
+ beq _08092A3E
+ ldr r0, _08092A80
+ mov r12, r0
+_08092A3E:
+ ldrh r1, [r4, 0x2]
+ ldr r0, _08092A84
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r0, [r0]
+ str r0, [sp]
+ add r1, sp, 0x14
+ str r1, [sp, 0x4]
+ ldr r0, [r5, 0x4]
+ str r0, [sp, 0x8]
+ ldrb r0, [r4, 0x4]
+ str r0, [sp, 0xC]
+ str r3, [sp, 0x10]
+ adds r0, r7, 0
+ mov r1, r8
+ adds r2, r6, 0
+ mov r3, r12
+ bl sub_800D158
+_08092A6A:
+ add sp, 0x20
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092A78: .4byte gUnknown_8109910
+_08092A7C: .4byte gUnknown_810990C
+_08092A80: .4byte gUnknown_8109928
+_08092A84: .4byte gUnknown_2038C68
+ thumb_func_end sub_80928C0
+
+ thumb_func_start sub_8092A88
+sub_8092A88:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r2, 0
+ movs r0, 0x5
+ strb r0, [r4]
+ strb r2, [r4, 0x1]
+ movs r5, 0
+ strh r1, [r4, 0x2]
+ adds r0, r4, 0
+ bl sub_8092BF4
+ strb r0, [r4, 0x4]
+ strb r5, [r4, 0x5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8092A88
+
+ thumb_func_start sub_8092AA8
+sub_8092AA8:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 16
+ lsrs r2, r1, 16
+ cmp r2, 0
+ bne _08092AB8
+ strb r2, [r5]
+ b _08092ACE
+_08092AB8:
+ movs r1, 0
+ movs r0, 0x5
+ strb r0, [r5]
+ strb r1, [r5, 0x1]
+ movs r4, 0
+ strh r2, [r5, 0x2]
+ adds r0, r5, 0
+ bl sub_8092BF4
+ strb r0, [r5, 0x4]
+ strb r4, [r5, 0x5]
+_08092ACE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8092AA8
+
+ thumb_func_start sub_8092AD4
+sub_8092AD4:
+ movs r2, 0x5
+ strb r2, [r0]
+ movs r2, 0
+ strh r1, [r0, 0x2]
+ strb r2, [r0, 0x4]
+ bx lr
+ thumb_func_end sub_8092AD4
+
+ thumb_func_start sub_8092AE0
+sub_8092AE0:
+ ldrh r2, [r0, 0x2]
+ ldr r0, _08092AFC
+ ldr r3, [r0]
+ lsls r0, r2, 3
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ lsls r1, 1
+ adds r0, 0x8
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_08092AFC: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092AE0
+
+ thumb_func_start sub_8092B00
+sub_8092B00:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092B14
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x6]
+ bx lr
+ .align 2, 0
+_08092B14: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092B00
+
+ thumb_func_start sub_8092B18
+sub_8092B18:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r2, r1, 0
+ ldr r0, _08092B40
+ cmp r1, r0
+ beq _08092B48
+ cmp r1, 0
+ beq _08092B48
+ movs r0, 0xD2
+ lsls r0, 1
+ cmp r2, r0
+ beq _08092B48
+ ldr r0, _08092B44
+ ldr r1, [r0]
+ lsls r0, r2, 3
+ adds r0, r1
+ ldr r0, [r0]
+ b _08092B4A
+ .align 2, 0
+_08092B40: .4byte 0x000001a5
+_08092B44: .4byte gUnknown_2038C6C
+_08092B48:
+ ldr r0, _08092B50
+_08092B4A:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08092B50: .4byte gUnknown_810992B
+ thumb_func_end sub_8092B18
+
+ thumb_func_start sub_8092B54
+sub_8092B54:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r2, r1, 0
+ ldr r0, _08092B7C
+ cmp r1, r0
+ beq _08092B84
+ cmp r1, 0
+ beq _08092B84
+ movs r0, 0xD2
+ lsls r0, 1
+ cmp r2, r0
+ beq _08092B84
+ ldr r0, _08092B80
+ ldr r1, [r0]
+ lsls r0, r2, 3
+ adds r0, r1
+ ldr r0, [r0, 0x4]
+ b _08092B86
+ .align 2, 0
+_08092B7C: .4byte 0x000001a5
+_08092B80: .4byte gUnknown_2038C6C
+_08092B84:
+ ldr r0, _08092B8C
+_08092B86:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08092B8C: .4byte gUnknown_810992B
+ thumb_func_end sub_8092B54
+
+ thumb_func_start sub_8092B90
+sub_8092B90:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092BA4
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0xD]
+ bx lr
+ .align 2, 0
+_08092BA4: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092B90
+
+ thumb_func_start sub_8092BA8
+sub_8092BA8:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092BBC
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x11]
+ bx lr
+ .align 2, 0
+_08092BBC: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092BA8
+
+ thumb_func_start sub_8092BC0
+sub_8092BC0:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092BD4
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_08092BD4: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092BC0
+
+ thumb_func_start sub_8092BD8
+sub_8092BD8:
+ ldrh r2, [r0, 0x2]
+ ldr r0, _08092BF0
+ ldr r3, [r0]
+ lsls r0, r2, 3
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0xE
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_08092BF0: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092BD8
+
+ thumb_func_start sub_8092BF4
+sub_8092BF4:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092C08
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0xC]
+ bx lr
+ .align 2, 0
+_08092C08: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092BF4
+
+ thumb_func_start sub_8092C0C
+sub_8092C0C:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092C20
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x12]
+ bx lr
+ .align 2, 0
+_08092C20: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092C0C
+
+ thumb_func_start sub_8092C24
+sub_8092C24:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092C38
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x13]
+ bx lr
+ .align 2, 0
+_08092C38: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092C24
+
+ thumb_func_start sub_8092C3C
+sub_8092C3C:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092C50
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x17]
+ bx lr
+ .align 2, 0
+_08092C50: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092C3C
+
+ thumb_func_start sub_8092C54
+sub_8092C54:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092C68
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x18]
+ bx lr
+ .align 2, 0
+_08092C68: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092C54
+
+ thumb_func_start sub_8092C6C
+sub_8092C6C:
+ ldrh r1, [r0, 0x2]
+ ldr r0, _08092C80
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x19]
+ bx lr
+ .align 2, 0
+_08092C80: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092C6C
+
+ thumb_func_start sub_8092C84
+sub_8092C84:
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ mov r0, sp
+ bl sub_8092A88
+ adds r0, r4, 0
+ mov r1, sp
+ movs r2, 0
+ bl sub_80928C0
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8092C84
+
+ thumb_func_start sub_8092CA8
+sub_8092CA8:
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08092CBC
+ ldr r2, [r1]
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldr r0, [r1, 0x20]
+ bx lr
+ .align 2, 0
+_08092CBC: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092CA8
+
+ thumb_func_start sub_8092CC0
+sub_8092CC0:
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08092CD4
+ ldr r2, [r1]
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x14]
+ bx lr
+ .align 2, 0
+_08092CD4: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092CC0
+
+ thumb_func_start sub_8092CD8
+sub_8092CD8:
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08092CEC
+ ldr r2, [r1]
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x15]
+ bx lr
+ .align 2, 0
+_08092CEC: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092CD8
+
+ thumb_func_start sub_8092CF0
+sub_8092CF0:
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08092D04
+ ldr r2, [r1]
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x16]
+ bx lr
+ .align 2, 0
+_08092D04: .4byte gUnknown_2038C68
+ thumb_func_end sub_8092CF0
+
+ thumb_func_start sub_8092D08
+sub_8092D08:
+ push {lr}
+ adds r2, r0, 0
+ ldrh r1, [r2, 0x2]
+ cmp r1, 0xD9
+ beq _08092D4C
+ movs r0, 0x8E
+ lsls r0, 1
+ cmp r1, r0
+ beq _08092D4C
+ cmp r1, 0x53
+ beq _08092D4C
+ cmp r1, 0x22
+ beq _08092D4C
+ cmp r1, 0x54
+ beq _08092D4C
+ cmp r1, 0xAB
+ beq _08092D4C
+ ldr r0, _08092D48
+ cmp r1, r0
+ beq _08092D4C
+ cmp r1, 0x1B
+ beq _08092D4C
+ cmp r1, 0xF1
+ beq _08092D4C
+ cmp r1, 0x19
+ beq _08092D4C
+ ldrh r0, [r2, 0x2]
+ cmp r0, 0x1A
+ beq _08092D4C
+ movs r0, 0
+ b _08092D4E
+ .align 2, 0
+_08092D48: .4byte 0x00000125
+_08092D4C:
+ movs r0, 0x1
+_08092D4E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092D08
+
+ thumb_func_start sub_8092D54
+sub_8092D54:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r0, r1, 0
+ ldr r5, _08092D78
+ ldr r4, _08092D7C
+ bl sub_8092C6C
+ lsls r0, 2
+ adds r0, r4
+ ldr r2, [r0]
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_800D158
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092D78: .4byte gUnknown_810992C
+_08092D7C: .4byte gRangeNames
+ thumb_func_end sub_8092D54
+
+ thumb_func_start sub_8092D80
+sub_8092D80:
+ push {r4,r5,lr}
+ adds r3, r1, 0
+ movs r5, 0
+ lsls r1, r3, 3
+ adds r1, r0
+_08092D8A:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, 0x4
+ beq _08092DB0
+ ldrb r2, [r1]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092DB0
+ lsrs r0, r2, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092DAA
+ adds r0, r3, 0
+ b _08092DB2
+_08092DAA:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08092D8A
+_08092DB0:
+ movs r0, 0
+_08092DB2:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092D80
+
+ thumb_func_start sub_8092DB8
+sub_8092DB8:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ movs r6, 0x1
+_08092DC0:
+ subs r1, 0x1
+ cmp r1, 0
+ bge _08092DF0
+ movs r2, 0x3
+ ldrb r1, [r4, 0x18]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08092DD6
+ movs r1, 0x3
+ b _08092DEC
+_08092DD6:
+ subs r2, 0x1
+ cmp r2, 0
+ blt _08092E12
+ lsls r0, r2, 3
+ adds r0, r4
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08092DD6
+ adds r1, r2, 0
+_08092DEC:
+ cmp r2, 0
+ blt _08092E12
+_08092DF0:
+ lsls r0, r1, 3
+ adds r0, r4
+ ldrb r2, [r0]
+ movs r3, 0x1
+ adds r0, r3, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092E12
+ lsrs r0, r2, 1
+ ands r0, r3
+ cmp r0, 0
+ bne _08092E0C
+ adds r0, r1, 0
+ b _08092E14
+_08092E0C:
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08092DC0
+_08092E12:
+ movs r0, 0
+_08092E14:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092DB8
+
+ thumb_func_start sub_8092E1C
+sub_8092E1C:
+ push {r4,r5,lr}
+ adds r3, r1, 0
+ movs r5, 0
+ lsls r1, r3, 3
+ adds r1, r0
+_08092E26:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, 0x8
+ beq _08092E4C
+ ldrb r2, [r1]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092E4C
+ lsrs r0, r2, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092E46
+ adds r0, r3, 0
+ b _08092E4E
+_08092E46:
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _08092E26
+_08092E4C:
+ movs r0, 0
+_08092E4E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092E1C
+
+ thumb_func_start sub_8092E54
+sub_8092E54:
+ push {r4,r5,lr}
+ adds r3, r1, 0
+ movs r5, 0
+ lsls r1, r3, 3
+ adds r1, r0
+_08092E5E:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, 0x8
+ beq _08092E84
+ ldrb r2, [r1]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092E84
+ lsrs r0, r2, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092E7E
+ adds r0, r3, 0
+ b _08092E86
+_08092E7E:
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _08092E5E
+_08092E84:
+ movs r0, 0
+_08092E86:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092E54
+
+ thumb_func_start sub_8092E8C
+sub_8092E8C:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ lsls r0, r1, 3
+ adds r3, r0, r6
+_08092E96:
+ subs r3, 0x8
+ subs r1, 0x1
+ cmp r1, 0
+ bge _08092EC6
+ movs r3, 0x7
+ movs r4, 0x1
+ adds r2, r6, 0
+ adds r2, 0x38
+_08092EA6:
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08092EBC
+ lsrs r0, r1, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092EBC
+ adds r0, r3, 0
+ b _08092EE6
+_08092EBC:
+ subs r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bgt _08092EA6
+ b _08092EE4
+_08092EC6:
+ ldrb r2, [r3]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092EE4
+ lsrs r0, r2, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092EDE
+ adds r0, r1, 0
+ b _08092EE6
+_08092EDE:
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _08092E96
+_08092EE4:
+ movs r0, 0
+_08092EE6:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092E8C
+
+ thumb_func_start sub_8092EEC
+sub_8092EEC:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r5, 0
+ lsls r0, r1, 3
+ adds r3, r0, r6
+_08092EF6:
+ subs r3, 0x8
+ subs r1, 0x1
+ cmp r1, 0
+ bge _08092F26
+ movs r3, 0x7
+ movs r4, 0x1
+ adds r2, r6, 0
+ adds r2, 0x38
+_08092F06:
+ ldrb r1, [r2]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08092F1C
+ lsrs r0, r1, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092F1C
+ adds r0, r3, 0
+ b _08092F46
+_08092F1C:
+ subs r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bgt _08092F06
+ b _08092F44
+_08092F26:
+ ldrb r2, [r3]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092F44
+ lsrs r0, r2, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092F3E
+ adds r0, r1, 0
+ b _08092F46
+_08092F3E:
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _08092EF6
+_08092F44:
+ movs r0, 0
+_08092F46:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092EEC
+
+ thumb_func_start sub_8092F4C
+sub_8092F4C:
+ push {r4,lr}
+ adds r2, r0, 0
+ cmp r1, 0
+ ble _08092F78
+ movs r4, 0x1
+ lsls r0, r1, 3
+ adds r3, r0, r2
+_08092F5A:
+ ldrb r2, [r3]
+ adds r0, r4, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092F78
+ lsrs r0, r2, 1
+ ands r0, r4
+ cmp r0, 0
+ bne _08092F70
+ adds r0, r1, 0
+ b _08092F7A
+_08092F70:
+ subs r3, 0x8
+ subs r1, 0x1
+ cmp r1, 0
+ bgt _08092F5A
+_08092F78:
+ movs r0, 0
+_08092F7A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092F4C
+
+ thumb_func_start sub_8092F80
+sub_8092F80:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x80
+ adds r7, r0, 0
+ mov r8, r1
+ lsls r0, r1, 3
+ adds r0, r7, r0
+ ldrb r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093784
+ mov r0, sp
+ bl sub_8093744
+ adds r3, r0, 0
+ cmp r3, 0x2
+ bhi _08092FCC
+ lsls r1, r3, 5
+ adds r0, r3, 0x1
+ lsls r0, 5
+ mov r2, sp
+ adds r5, r0, r2
+ adds r4, r1, r2
+ movs r6, 0x3
+_08092FBA:
+ ldr r2, [r4]
+ ldr r3, [r4, 0x4]
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ stm r4!, {r0,r1}
+ stm r5!, {r2,r3}
+ subs r6, 0x1
+ cmp r6, 0
+ bge _08092FBA
+_08092FCC:
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_80937E0
+ movs r3, 0
+ movs r5, 0x80
+ movs r4, 0x7F
+ adds r1, r7, 0
+_08092FDC:
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08092FF0
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1]
+ mov r8, r3
+ b _08092FF8
+_08092FF0:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08092FDC
+_08092FF8:
+ mov r0, r8
+ add sp, 0x80
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8092F80
+
+ thumb_func_start sub_8093008
+sub_8093008:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0809307C
+ add sp, r4
+ adds r7, r0, 0
+ mov r8, r1
+ lsls r0, r1, 3
+ adds r0, r7, r0
+ ldrb r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093974
+ mov r0, sp
+ bl sub_80938F4
+ adds r3, r0, 0
+ cmp r3, 0x6
+ bhi _08093056
+ lsls r1, r3, 6
+ adds r0, r3, 0x1
+ lsls r0, 6
+ mov r2, sp
+ adds r5, r0, r2
+ adds r4, r1, r2
+ movs r6, 0x7
+_08093044:
+ ldr r2, [r4]
+ ldr r3, [r4, 0x4]
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ stm r4!, {r0,r1}
+ stm r5!, {r2,r3}
+ subs r6, 0x1
+ cmp r6, 0
+ bge _08093044
+_08093056:
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093A2C
+ movs r3, 0
+ movs r5, 0x80
+ movs r4, 0x7F
+ adds r1, r7, 0
+_08093066:
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08093080
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1]
+ mov r8, r3
+ b _08093088
+ .align 2, 0
+_0809307C: .4byte 0xfffffe00
+_08093080:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08093066
+_08093088:
+ mov r0, r8
+ movs r3, 0x80
+ lsls r3, 2
+ add sp, r3
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093008
+
+ thumb_func_start sub_809309C
+sub_809309C:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _08093110
+ add sp, r4
+ adds r7, r0, 0
+ mov r8, r1
+ lsls r0, r1, 3
+ adds r0, r7, r0
+ ldrb r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_80939D0
+ mov r0, sp
+ bl sub_8093934
+ adds r3, r0, 0
+ cmp r3, 0x6
+ bhi _080930EA
+ lsls r1, r3, 6
+ adds r0, r3, 0x1
+ lsls r0, 6
+ mov r2, sp
+ adds r5, r0, r2
+ adds r4, r1, r2
+ movs r6, 0x7
+_080930D8:
+ ldr r2, [r4]
+ ldr r3, [r4, 0x4]
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ stm r4!, {r0,r1}
+ stm r5!, {r2,r3}
+ subs r6, 0x1
+ cmp r6, 0
+ bge _080930D8
+_080930EA:
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093B40
+ movs r3, 0
+ movs r5, 0x80
+ movs r4, 0x7F
+ adds r1, r7, 0
+_080930FA:
+ ldrb r2, [r1]
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _08093114
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1]
+ mov r8, r3
+ b _0809311C
+ .align 2, 0
+_08093110: .4byte 0xfffffe00
+_08093114:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _080930FA
+_0809311C:
+ mov r0, r8
+ movs r3, 0x80
+ lsls r3, 2
+ add sp, r3
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809309C
+
+ thumb_func_start sub_8093130
+sub_8093130:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x80
+ adds r7, r0, 0
+ mov r8, r1
+ lsls r0, r1, 3
+ adds r0, r7, r0
+ ldrb r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093784
+ mov r0, sp
+ bl sub_8093744
+ adds r1, r0, 0
+ subs r0, r1, 0x1
+ cmp r0, 0x2
+ bhi _0809317C
+ lsls r1, 5
+ lsls r0, 5
+ mov r2, sp
+ adds r5, r0, r2
+ adds r4, r1, r2
+ movs r6, 0x3
+_0809316A:
+ ldr r2, [r4]
+ ldr r3, [r4, 0x4]
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ stm r4!, {r0,r1}
+ stm r5!, {r2,r3}
+ subs r6, 0x1
+ cmp r6, 0
+ bge _0809316A
+_0809317C:
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_80937E0
+ movs r1, 0
+ movs r5, 0x80
+ movs r4, 0x7F
+ adds r2, r7, 0
+_0809318C:
+ ldrb r3, [r2]
+ adds r0, r5, 0
+ ands r0, r3
+ cmp r0, 0
+ beq _080931A0
+ adds r0, r4, 0
+ ands r0, r3
+ strb r0, [r2]
+ mov r8, r1
+ b _080931A8
+_080931A0:
+ adds r2, 0x8
+ adds r1, 0x1
+ cmp r1, 0x3
+ ble _0809318C
+_080931A8:
+ mov r0, r8
+ add sp, 0x80
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093130
+
+ thumb_func_start sub_80931B8
+sub_80931B8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0809322C
+ add sp, r4
+ adds r7, r0, 0
+ mov r8, r1
+ lsls r0, r1, 3
+ adds r0, r7, r0
+ ldrb r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093974
+ mov r0, sp
+ bl sub_80938F4
+ adds r1, r0, 0
+ subs r0, r1, 0x1
+ cmp r0, 0x6
+ bhi _08093206
+ lsls r1, 6
+ lsls r0, 6
+ mov r2, sp
+ adds r5, r0, r2
+ adds r4, r1, r2
+ movs r6, 0x7
+_080931F4:
+ ldr r2, [r4]
+ ldr r3, [r4, 0x4]
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ stm r4!, {r0,r1}
+ stm r5!, {r2,r3}
+ subs r6, 0x1
+ cmp r6, 0
+ bge _080931F4
+_08093206:
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093A2C
+ movs r1, 0
+ movs r5, 0x80
+ movs r4, 0x7F
+ adds r2, r7, 0
+_08093216:
+ ldrb r3, [r2]
+ adds r0, r5, 0
+ ands r0, r3
+ cmp r0, 0
+ beq _08093230
+ adds r0, r4, 0
+ ands r0, r3
+ strb r0, [r2]
+ mov r8, r1
+ b _08093238
+ .align 2, 0
+_0809322C: .4byte 0xfffffe00
+_08093230:
+ adds r2, 0x8
+ adds r1, 0x1
+ cmp r1, 0x7
+ ble _08093216
+_08093238:
+ mov r0, r8
+ movs r3, 0x80
+ lsls r3, 2
+ add sp, r3
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80931B8
+
+ thumb_func_start sub_809324C
+sub_809324C:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _080932C0
+ add sp, r4
+ adds r7, r0, 0
+ mov r8, r1
+ lsls r0, r1, 3
+ adds r0, r7, r0
+ ldrb r2, [r0]
+ movs r1, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_80939D0
+ mov r0, sp
+ bl sub_8093934
+ adds r1, r0, 0
+ subs r0, r1, 0x1
+ cmp r0, 0x6
+ bhi _0809329A
+ lsls r1, 6
+ lsls r0, 6
+ mov r2, sp
+ adds r5, r0, r2
+ adds r4, r1, r2
+ movs r6, 0x7
+_08093288:
+ ldr r2, [r4]
+ ldr r3, [r4, 0x4]
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ stm r4!, {r0,r1}
+ stm r5!, {r2,r3}
+ subs r6, 0x1
+ cmp r6, 0
+ bge _08093288
+_0809329A:
+ adds r0, r7, 0
+ mov r1, sp
+ bl sub_8093B40
+ movs r1, 0
+ movs r5, 0x80
+ movs r4, 0x7F
+ adds r2, r7, 0
+_080932AA:
+ ldrb r3, [r2]
+ adds r0, r5, 0
+ ands r0, r3
+ cmp r0, 0
+ beq _080932C4
+ adds r0, r4, 0
+ ands r0, r3
+ strb r0, [r2]
+ mov r8, r1
+ b _080932CC
+ .align 2, 0
+_080932C0: .4byte 0xfffffe00
+_080932C4:
+ adds r2, 0x8
+ adds r1, 0x1
+ cmp r1, 0x7
+ ble _080932AA
+_080932CC:
+ mov r0, r8
+ movs r3, 0x80
+ lsls r3, 2
+ add sp, r3
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809324C
+
+ thumb_func_start sub_80932E0
+sub_80932E0:
+ push {lr}
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080932F4
+ movs r0, 0
+ b _080932F6
+_080932F4:
+ movs r0, 0x1
+_080932F6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80932E0
+
+ thumb_func_start sub_80932FC
+sub_80932FC:
+ push {lr}
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _08093310
+ movs r0, 0
+ b _08093312
+_08093310:
+ movs r0, 0x1
+_08093312:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80932FC
+
+ thumb_func_start sub_8093318
+sub_8093318:
+ push {r4,lr}
+ sub sp, 0x40
+ adds r4, r0, 0
+ mov r0, sp
+ movs r2, 0x40
+ bl MemoryCopy8
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_8093400
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x40
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093318
+
+ thumb_func_start sub_809333C
+sub_809333C:
+ push {r4,lr}
+ sub sp, 0x40
+ adds r4, r0, 0
+ mov r0, sp
+ movs r2, 0x40
+ bl MemoryCopy8
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_8093468
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x40
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809333C
+
+ thumb_func_start sub_8093360
+sub_8093360:
+ push {r4,lr}
+ sub sp, 0x40
+ adds r4, r0, 0
+ mov r0, sp
+ movs r2, 0x40
+ bl MemoryCopy8
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_80933D8
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x40
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093360
+
+ thumb_func_start sub_8093384
+sub_8093384:
+ push {lr}
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _08093398
+ movs r0, 0x1
+ b _0809339A
+_08093398:
+ movs r0, 0
+_0809339A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093384
+
+ thumb_func_start sub_80933A0
+sub_80933A0:
+ push {r4-r6,lr}
+ movs r4, 0
+ movs r6, 0x1
+ movs r5, 0x2
+ movs r3, 0x7
+_080933AA:
+ ldrb r2, [r1]
+ adds r0, r6, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _080933BE
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ bne _080933BE
+ adds r4, 0x1
+_080933BE:
+ adds r1, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _080933AA
+ cmp r4, 0x1
+ bgt _080933CE
+ movs r0, 0
+ b _080933D0
+_080933CE:
+ movs r0, 0x1
+_080933D0:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80933A0
+
+ thumb_func_start sub_80933D8
+sub_80933D8:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl sub_8093400
+ lsls r0, 24
+ cmp r0, 0
+ bne _080933F6
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8093468
+ lsls r0, 24
+ lsrs r0, 24
+ b _080933F8
+_080933F6:
+ movs r0, 0x1
+_080933F8:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80933D8
+
+ thumb_func_start sub_8093400
+sub_8093400:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ adds r7, r1, 0
+ lsls r0, r4, 3
+ adds r0, r7, r0
+ ldrh r0, [r0, 0x2]
+ bl sub_809422C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08093428
+ b _08093460
+_08093418:
+ adds r0, r1, 0
+ orrs r0, r2
+ strb r0, [r6]
+ adds r0, r7, 0
+ bl sub_809371C
+ movs r0, 0x1
+ b _08093462
+_08093428:
+ adds r5, r4, 0x1
+ cmp r5, 0x7
+ bgt _08093460
+ lsls r0, r5, 3
+ adds r4, r0, r7
+ adds r6, r4, 0
+_08093434:
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093460
+ ldrh r0, [r4, 0x2]
+ bl sub_809422C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08093460
+ ldrb r1, [r4]
+ movs r2, 0x2
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08093418
+ adds r4, 0x8
+ adds r6, 0x8
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _08093434
+_08093460:
+ movs r0, 0
+_08093462:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093400
+
+ thumb_func_start sub_8093468
+sub_8093468:
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ movs r5, 0
+ adds r1, r0, 0x1
+ movs r4, 0
+ cmp r1, 0x7
+ bgt _080934A0
+ movs r0, 0x2
+ mov r12, r0
+ movs r7, 0xFD
+ lsls r0, r1, 3
+ adds r3, r0, r6
+_08093480:
+ ldrb r2, [r3]
+ mov r0, r12
+ ands r0, r2
+ cmp r0, 0
+ beq _080934A0
+ adds r0, r7, 0
+ ands r0, r2
+ strb r0, [r3]
+ movs r5, 0x1
+ adds r3, 0x8
+ adds r1, 0x1
+ adds r4, 0x1
+ cmp r4, 0x7
+ bgt _080934A0
+ cmp r1, 0x7
+ ble _08093480
+_080934A0:
+ adds r0, r6, 0
+ bl sub_809371C
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093468
+
+ thumb_func_start sub_80934B0
+sub_80934B0:
+ push {lr}
+ adds r2, r0, 0
+ adds r0, r2, 0x1
+ cmp r0, 0x7
+ bgt _080934D2
+ lsls r0, r2, 3
+ adds r0, 0x8
+ adds r0, r1, r0
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080934D2
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080934D6
+_080934D2:
+ movs r0, 0
+ b _080934D8
+_080934D6:
+ movs r0, 0x1
+_080934D8:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80934B0
+
+ thumb_func_start sub_80934DC
+sub_80934DC:
+ push {r4-r7,lr}
+ adds r5, r1, 0
+ lsls r0, 3
+ adds r4, r5, r0
+ ldrb r1, [r4]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080934F4
+ movs r0, 0xF7
+ ands r0, r1
+ b _0809351A
+_080934F4:
+ movs r7, 0x1
+ movs r6, 0xF7
+ adds r1, r5, 0
+ movs r3, 0x3
+_080934FC:
+ ldrb r2, [r1]
+ adds r0, r7, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _0809350C
+ adds r0, r6, 0
+ ands r0, r2
+ strb r0, [r1]
+_0809350C:
+ adds r1, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _080934FC
+ ldrb r1, [r4]
+ movs r0, 0x8
+ orrs r0, r1
+_0809351A:
+ strb r0, [r4]
+ adds r0, r5, 0
+ bl sub_809371C
+ movs r0, 0x1
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80934DC
+
+ thumb_func_start sub_809352C
+sub_809352C:
+ push {lr}
+ lsls r0, 3
+ adds r0, r1, r0
+ ldrb r3, [r0]
+ movs r2, 0xF7
+ ands r2, r3
+ strb r2, [r0]
+ adds r0, r1, 0
+ bl sub_809371C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809352C
+
+ thumb_func_start sub_8093544
+sub_8093544:
+ push {lr}
+ lsls r0, 3
+ adds r0, r1, r0
+ ldrb r2, [r0]
+ movs r3, 0x4
+ eors r2, r3
+ strb r2, [r0]
+ adds r0, r1, 0
+ bl sub_809371C
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093544
+
+ thumb_func_start sub_8093560
+sub_8093560:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ movs r5, 0x1
+ lsls r0, r4, 3
+ adds r0, r6, r0
+ ldrh r0, [r0, 0x2]
+ strh r0, [r2]
+ movs r1, 0
+ adds r0, r2, 0x2
+ movs r3, 0x2
+_08093576:
+ strh r1, [r0]
+ adds r0, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093576
+ adds r4, 0x1
+ adds r2, 0x2
+ cmp r4, 0x7
+ bgt _080935B0
+ cmp r5, 0x3
+ bgt _080935B0
+ movs r7, 0x2
+ lsls r0, r4, 3
+ adds r3, r0, r6
+_08093592:
+ ldrb r1, [r3]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080935B0
+ ldrh r0, [r3, 0x2]
+ strh r0, [r2]
+ adds r2, 0x2
+ adds r5, 0x1
+ adds r3, 0x8
+ adds r4, 0x1
+ cmp r4, 0x7
+ bgt _080935B0
+ cmp r5, 0x3
+ ble _08093592
+_080935B0:
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093560
+
+ thumb_func_start sub_80935B8
+sub_80935B8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ movs r0, 0x63
+ mov r12, r0
+ movs r0, 0
+ mov r8, r0
+ movs r6, 0
+ adds r4, r1, 0
+ cmp r4, 0
+ blt _08093606
+ lsls r0, r4, 3
+ adds r2, r5, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093606
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08093606
+ movs r7, 0x1
+ movs r3, 0x2
+_080935EC:
+ subs r2, 0x8
+ subs r4, 0x1
+ cmp r4, 0
+ blt _08093606
+ ldrb r1, [r2]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093606
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080935EC
+_08093606:
+ adds r2, r4, 0x1
+ mov r9, r2
+ cmp r2, 0x3
+ bgt _08093642
+ lsls r0, r2, 3
+ adds r3, r5, r0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093642
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08093642
+ movs r6, 0x1
+ movs r7, 0x2
+_08093628:
+ adds r3, 0x8
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _08093642
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093642
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08093628
+_08093642:
+ cmp r6, 0
+ bne _0809364A
+ movs r0, 0x63
+ b _080936CC
+_0809364A:
+ movs r6, 0
+ b _08093668
+_0809364E:
+ ldrb r0, [r3, 0x4]
+ cmp r12, r0
+ ble _08093656
+ mov r12, r0
+_08093656:
+ cmp r0, 0
+ bne _0809365C
+ movs r6, 0x1
+_0809365C:
+ ldrb r1, [r3, 0x1]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08093668
+ movs r6, 0x1
+_08093668:
+ subs r2, 0x1
+ cmp r2, r4
+ blt _0809367C
+ lsls r0, r2, 3
+ adds r3, r5, r0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0809364E
+_0809367C:
+ cmp r6, 0
+ beq _080936C6
+ mov r2, r9
+ cmp r2, 0x3
+ bgt _080936C0
+ lsls r0, r2, 3
+ adds r3, r5, r0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080936C0
+ movs r6, 0x2
+ movs r4, 0xFD
+_08093698:
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080936C0
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r3]
+ movs r0, 0x1
+ mov r8, r0
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _080936C0
+ lsls r0, r2, 3
+ adds r3, r5, r0
+ ldrb r1, [r3]
+ mov r0, r8
+ ands r0, r1
+ cmp r0, 0
+ bne _08093698
+_080936C0:
+ mov r0, r8
+ cmp r0, 0
+ bne _080936CA
+_080936C6:
+ mov r0, r12
+ b _080936CC
+_080936CA:
+ movs r0, 0
+_080936CC:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80935B8
+
+ thumb_func_start sub_80936D8
+sub_80936D8:
+ push {r4,lr}
+ sub sp, 0x80
+ adds r4, r0, 0
+ mov r1, sp
+ bl sub_8093784
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_80937E0
+ add sp, 0x80
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80936D8
+
+ thumb_func_start sub_80936F4
+sub_80936F4:
+ push {r4,lr}
+ ldr r4, _08093718
+ add sp, r4
+ adds r4, r0, 0
+ mov r1, sp
+ bl sub_8093974
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_8093A2C
+ movs r3, 0x80
+ lsls r3, 2
+ add sp, r3
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08093718: .4byte 0xfffffe00
+ thumb_func_end sub_80936F4
+
+ thumb_func_start sub_809371C
+sub_809371C:
+ push {r4,lr}
+ ldr r4, _08093740
+ add sp, r4
+ adds r4, r0, 0
+ mov r1, sp
+ bl sub_80939D0
+ adds r0, r4, 0
+ mov r1, sp
+ bl sub_8093B40
+ movs r3, 0x80
+ lsls r3, 2
+ add sp, r3
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08093740: .4byte 0xfffffe00
+ thumb_func_end sub_809371C
+
+ thumb_func_start sub_8093744
+sub_8093744:
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r4, 0
+ movs r6, 0x1
+ movs r5, 0x80
+_0809374E:
+ movs r3, 0
+ lsls r0, r4, 5
+ adds r2, r0, r7
+_08093754:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809376A
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809376A
+ adds r0, r4, 0
+ b _0809377C
+_0809376A:
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08093754
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0809374E
+ movs r0, 0x1
+ negs r0, r0
+_0809377C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093744
+
+ thumb_func_start sub_8093784
+sub_8093784:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r2, 0
+ movs r4, 0
+_0809378C:
+ lsls r0, r2, 5
+ adds r2, 0x1
+ movs r3, 0x3
+ adds r0, r1
+ adds r0, 0x18
+_08093796:
+ strb r4, [r0]
+ subs r0, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093796
+ cmp r2, 0x3
+ ble _0809378C
+ movs r3, 0
+ movs r5, 0
+ adds r4, r1, 0
+ subs r4, 0x20
+ movs r7, 0x2
+_080937AE:
+ cmp r5, 0
+ beq _080937BC
+ ldrb r1, [r6]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080937C0
+_080937BC:
+ adds r4, 0x20
+ movs r3, 0
+_080937C0:
+ lsls r2, r3, 3
+ adds r2, r4
+ ldm r6!, {r0,r1}
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ strb r0, [r2]
+ adds r3, 0x1
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _080937AE
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093784
+
+ thumb_func_start sub_80937E0
+sub_80937E0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ str r0, [sp, 0x8]
+ mov r9, r1
+ movs r0, 0
+ mov r8, r0
+ movs r6, 0
+ add r1, sp, 0x4
+ mov r10, r1
+ mov r12, r6
+ movs r3, 0x1
+_080937FE:
+ mov r2, sp
+ adds r0, r2, r6
+ mov r7, r12
+ strb r7, [r0]
+ mov r1, sp
+ adds r1, r6
+ adds r1, 0x4
+ mov r2, r12
+ strb r2, [r1]
+ adds r7, r0, 0
+ lsls r0, r6, 5
+ adds r6, 0x1
+ adds r5, r1, 0
+ mov r1, r9
+ adds r2, r0, r1
+ movs r4, 0x3
+_0809381E:
+ ldrb r1, [r2]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809383E
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08093832
+ strb r3, [r7]
+_08093832:
+ ldrb r1, [r2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0809383E
+ strb r3, [r5]
+_0809383E:
+ adds r2, 0x8
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0809381E
+ cmp r6, 0x3
+ ble _080937FE
+ movs r6, 0
+ mov r2, r8
+ lsls r2, 3
+ str r2, [sp, 0xC]
+_08093852:
+ movs r4, 0
+ lsls r0, r6, 5
+ mov r7, r9
+ adds r5, r0, r7
+ ldr r0, [sp, 0xC]
+ ldr r1, [sp, 0x8]
+ adds r2, r0, r1
+ mov r7, r10
+ adds r7, r6
+ mov r12, r7
+_08093866:
+ ldrb r1, [r5]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080938D6
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ cmp r4, 0
+ bne _08093884
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ b _0809388A
+_08093884:
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+_0809388A:
+ strb r0, [r2]
+ ldrb r0, [r2]
+ movs r3, 0xF7
+ ands r3, r0
+ movs r1, 0
+ movs r0, 0xFB
+ ands r3, r0
+ strb r3, [r2]
+ mov r7, sp
+ adds r0, r7, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080938B0
+ cmp r4, 0
+ bne _080938B0
+ movs r1, 0x8
+ adds r0, r3, 0
+ orrs r0, r1
+ strb r0, [r2]
+_080938B0:
+ mov r1, r12
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _080938C4
+ cmp r4, 0
+ bne _080938C4
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_080938C4:
+ adds r2, 0x8
+ ldr r7, [sp, 0xC]
+ adds r7, 0x8
+ str r7, [sp, 0xC]
+ movs r0, 0x1
+ add r8, r0
+ mov r1, r8
+ cmp r1, 0x4
+ beq _080938E4
+_080938D6:
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08093866
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08093852
+_080938E4:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80937E0
+
+ thumb_func_start sub_80938F4
+sub_80938F4:
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r4, 0
+ movs r6, 0x1
+ movs r5, 0x80
+_080938FE:
+ movs r3, 0
+ lsls r0, r4, 6
+ adds r2, r0, r7
+_08093904:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809391A
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809391A
+ adds r0, r4, 0
+ b _0809392C
+_0809391A:
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08093904
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080938FE
+ movs r0, 0x1
+ negs r0, r0
+_0809392C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80938F4
+
+ thumb_func_start sub_8093934
+sub_8093934:
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r4, 0
+ movs r6, 0x1
+ movs r5, 0x80
+_0809393E:
+ movs r3, 0
+ lsls r0, r4, 6
+ adds r2, r0, r7
+_08093944:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809395A
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809395A
+ adds r0, r4, 0
+ b _0809396C
+_0809395A:
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08093944
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _0809393E
+ movs r0, 0x1
+ negs r0, r0
+_0809396C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093934
+
+ thumb_func_start sub_8093974
+sub_8093974:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r2, 0
+ movs r4, 0
+_0809397C:
+ lsls r0, r2, 6
+ adds r2, 0x1
+ movs r3, 0x7
+ adds r0, r1
+ adds r0, 0x38
+_08093986:
+ strb r4, [r0]
+ subs r0, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093986
+ cmp r2, 0x7
+ ble _0809397C
+ movs r3, 0
+ movs r5, 0
+ adds r4, r1, 0
+ subs r4, 0x40
+ movs r7, 0x2
+_0809399E:
+ cmp r5, 0
+ beq _080939AC
+ ldrb r1, [r6]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080939B0
+_080939AC:
+ adds r4, 0x40
+ movs r3, 0
+_080939B0:
+ lsls r2, r3, 3
+ adds r2, r4
+ ldm r6!, {r0,r1}
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ strb r0, [r2]
+ adds r3, 0x1
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _0809399E
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093974
+
+ thumb_func_start sub_80939D0
+sub_80939D0:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r2, 0
+ movs r4, 0
+_080939D8:
+ lsls r0, r2, 6
+ adds r2, 0x1
+ movs r3, 0x7
+ adds r0, r1
+ adds r0, 0x38
+_080939E2:
+ strb r4, [r0]
+ subs r0, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _080939E2
+ cmp r2, 0x7
+ ble _080939D8
+ movs r3, 0
+ movs r5, 0
+ adds r4, r1, 0
+ subs r4, 0x40
+ movs r7, 0x2
+_080939FA:
+ cmp r5, 0
+ beq _08093A08
+ ldrb r1, [r6]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08093A0C
+_08093A08:
+ adds r4, 0x40
+ movs r3, 0
+_08093A0C:
+ lsls r2, r3, 3
+ adds r2, r4
+ ldm r6!, {r0,r1}
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ strb r0, [r2]
+ adds r3, 0x1
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _080939FA
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80939D0
+
+ thumb_func_start sub_8093A2C
+sub_8093A2C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ str r0, [sp, 0x10]
+ mov r9, r1
+ movs r0, 0
+ mov r8, r0
+ movs r6, 0
+ add r1, sp, 0x8
+ mov r10, r1
+ mov r12, r6
+ movs r3, 0x1
+_08093A4A:
+ mov r2, sp
+ adds r0, r2, r6
+ mov r7, r12
+ strb r7, [r0]
+ mov r1, sp
+ adds r1, r6
+ adds r1, 0x8
+ mov r2, r12
+ strb r2, [r1]
+ adds r7, r0, 0
+ lsls r0, r6, 6
+ adds r6, 0x1
+ adds r5, r1, 0
+ mov r1, r9
+ adds r2, r0, r1
+ movs r4, 0x7
+_08093A6A:
+ ldrb r1, [r2]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093A8A
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08093A7E
+ strb r3, [r7]
+_08093A7E:
+ ldrb r1, [r2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08093A8A
+ strb r3, [r5]
+_08093A8A:
+ adds r2, 0x8
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08093A6A
+ cmp r6, 0x7
+ ble _08093A4A
+ movs r6, 0
+ mov r2, r8
+ lsls r2, 3
+ str r2, [sp, 0x14]
+_08093A9E:
+ movs r4, 0
+ lsls r0, r6, 6
+ mov r7, r9
+ adds r5, r0, r7
+ ldr r0, [sp, 0x14]
+ ldr r1, [sp, 0x10]
+ adds r2, r0, r1
+ mov r7, r10
+ adds r7, r6
+ mov r12, r7
+_08093AB2:
+ ldrb r1, [r5]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093B22
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ cmp r4, 0
+ bne _08093AD0
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ b _08093AD6
+_08093AD0:
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+_08093AD6:
+ strb r0, [r2]
+ ldrb r0, [r2]
+ movs r3, 0xF7
+ ands r3, r0
+ movs r1, 0
+ movs r0, 0xFB
+ ands r3, r0
+ strb r3, [r2]
+ mov r7, sp
+ adds r0, r7, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08093AFC
+ cmp r4, 0
+ bne _08093AFC
+ movs r1, 0x8
+ adds r0, r3, 0
+ orrs r0, r1
+ strb r0, [r2]
+_08093AFC:
+ mov r1, r12
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08093B10
+ cmp r4, 0
+ bne _08093B10
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_08093B10:
+ adds r2, 0x8
+ ldr r7, [sp, 0x14]
+ adds r7, 0x8
+ str r7, [sp, 0x14]
+ movs r0, 0x1
+ add r8, r0
+ mov r1, r8
+ cmp r1, 0x8
+ beq _08093B30
+_08093B22:
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08093AB2
+ adds r6, 0x1
+ cmp r6, 0x7
+ ble _08093A9E
+_08093B30:
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093A2C
+
+ thumb_func_start sub_8093B40
+sub_8093B40:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ str r0, [sp, 0x10]
+ mov r9, r1
+ movs r0, 0
+ mov r8, r0
+ movs r6, 0
+ add r1, sp, 0x8
+ mov r10, r1
+ mov r12, r6
+ movs r3, 0x1
+_08093B5E:
+ mov r2, sp
+ adds r0, r2, r6
+ mov r7, r12
+ strb r7, [r0]
+ mov r1, sp
+ adds r1, r6
+ adds r1, 0x8
+ mov r2, r12
+ strb r2, [r1]
+ adds r7, r0, 0
+ lsls r0, r6, 6
+ adds r6, 0x1
+ adds r5, r1, 0
+ mov r1, r9
+ adds r2, r0, r1
+ movs r4, 0x7
+_08093B7E:
+ ldrb r1, [r2]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093B9E
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08093B92
+ strb r3, [r7]
+_08093B92:
+ ldrb r1, [r2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08093B9E
+ strb r3, [r5]
+_08093B9E:
+ adds r2, 0x8
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08093B7E
+ cmp r6, 0x7
+ ble _08093B5E
+ movs r6, 0
+ mov r2, r8
+ lsls r2, 3
+ str r2, [sp, 0x14]
+_08093BB2:
+ movs r4, 0
+ lsls r0, r6, 6
+ mov r7, r9
+ adds r5, r0, r7
+ ldr r0, [sp, 0x14]
+ ldr r1, [sp, 0x10]
+ adds r2, r0, r1
+ mov r7, r10
+ adds r7, r6
+ mov r12, r7
+_08093BC6:
+ ldrb r1, [r5]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093C36
+ ldr r0, [r5]
+ ldr r1, [r5, 0x4]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ cmp r4, 0
+ bne _08093BE4
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ b _08093BEA
+_08093BE4:
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+_08093BEA:
+ strb r0, [r2]
+ ldrb r0, [r2]
+ movs r3, 0xF7
+ ands r3, r0
+ movs r1, 0
+ movs r0, 0xFB
+ ands r3, r0
+ strb r3, [r2]
+ mov r7, sp
+ adds r0, r7, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08093C10
+ cmp r4, 0
+ bne _08093C10
+ movs r1, 0x8
+ adds r0, r3, 0
+ orrs r0, r1
+ strb r0, [r2]
+_08093C10:
+ mov r1, r12
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08093C24
+ cmp r4, 0
+ bne _08093C24
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_08093C24:
+ adds r2, 0x8
+ ldr r7, [sp, 0x14]
+ adds r7, 0x8
+ str r7, [sp, 0x14]
+ movs r0, 0x1
+ add r8, r0
+ mov r1, r8
+ cmp r1, 0x8
+ beq _08093C44
+_08093C36:
+ adds r5, 0x8
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08093BC6
+ adds r6, 0x1
+ cmp r6, 0x7
+ ble _08093BB2
+_08093C44:
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093B40
+
+ thumb_func_start sub_8093C54
+sub_8093C54:
+ push {r4-r7,lr}
+ sub sp, 0x40
+ adds r6, r0, 0
+ lsls r0, r1, 3
+ adds r0, r6
+ movs r2, 0
+ strb r2, [r0]
+ adds r3, r1, 0x1
+ cmp r3, 0x7
+ bgt _08093CA6
+ lsls r0, r3, 3
+ adds r4, r6, r0
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093CA6
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08093CA6
+ mov r12, r2
+ movs r7, 0x1
+ adds r2, r4, 0
+ movs r5, 0x2
+_08093C86:
+ mov r0, r12
+ strb r0, [r4]
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ bgt _08093CA6
+ adds r4, r2, 0
+ ldrb r1, [r2]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093CA6
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08093C86
+_08093CA6:
+ movs r4, 0
+ movs r7, 0x1
+ adds r2, r6, 0
+ mov r5, sp
+ movs r3, 0x7
+_08093CB0:
+ ldrb r1, [r2]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093CC2
+ ldr r0, [r2]
+ ldr r1, [r2, 0x4]
+ stm r5!, {r0,r1}
+ adds r4, 0x1
+_08093CC2:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093CB0
+ cmp r4, 0x7
+ bgt _08093CDE
+ movs r1, 0
+ lsls r0, r4, 3
+ add r0, sp
+_08093CD4:
+ strb r1, [r0]
+ adds r0, 0x8
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08093CD4
+_08093CDE:
+ mov r4, sp
+ adds r2, r6, 0
+ movs r3, 0x7
+_08093CE4:
+ ldm r4!, {r0,r1}
+ stm r2!, {r0,r1}
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093CE4
+ add sp, 0x40
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093C54
+
+ thumb_func_start sub_8093CF8
+sub_8093CF8:
+ push {r4-r7,lr}
+ sub sp, 0x40
+ adds r6, r0, 0
+ lsls r0, r1, 3
+ adds r0, r6
+ movs r2, 0
+ strb r2, [r0]
+ adds r3, r1, 0x1
+ cmp r3, 0x7
+ bgt _08093D4A
+ lsls r0, r3, 3
+ adds r4, r6, r0
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093D4A
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08093D4A
+ mov r12, r2
+ movs r7, 0x1
+ adds r2, r4, 0
+ movs r5, 0x2
+_08093D2A:
+ mov r0, r12
+ strb r0, [r4]
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ bgt _08093D4A
+ adds r4, r2, 0
+ ldrb r1, [r2]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093D4A
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08093D2A
+_08093D4A:
+ movs r4, 0
+ movs r7, 0x1
+ adds r2, r6, 0
+ mov r5, sp
+ movs r3, 0x7
+_08093D54:
+ ldrb r1, [r2]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08093D66
+ ldr r0, [r2]
+ ldr r1, [r2, 0x4]
+ stm r5!, {r0,r1}
+ adds r4, 0x1
+_08093D66:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093D54
+ cmp r4, 0x7
+ bgt _08093D82
+ movs r1, 0
+ lsls r0, r4, 3
+ add r0, sp
+_08093D78:
+ strb r1, [r0]
+ adds r0, 0x8
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08093D78
+_08093D82:
+ mov r4, sp
+ adds r2, r6, 0
+ movs r3, 0x7
+_08093D88:
+ ldm r4!, {r0,r1}
+ stm r2!, {r0,r1}
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093D88
+ add sp, 0x40
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093CF8
+
+ thumb_func_start sub_8093D9C
+sub_8093D9C:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r2, 0
+ adds r6, r3, 0
+ lsls r1, 16
+ lsrs r1, 16
+ mov r0, sp
+ bl sub_8092A88
+ adds r0, r4, 0
+ mov r1, sp
+ adds r2, r5, 0
+ adds r3, r6, 0
+ bl sub_8093DE8
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093D9C
+
+ thumb_func_start sub_8093DC4
+sub_8093DC4:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r2, 0
+ adds r6, r3, 0
+ mov r0, sp
+ bl sub_8093F10
+ adds r0, r4, 0
+ mov r1, sp
+ adds r2, r5, 0
+ adds r3, r6, 0
+ bl sub_8093DE8
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8093DC4
+
+ thumb_func_start sub_8093DE8
+sub_8093DE8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _08093E80
+ add sp, r4
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r5, r2, 0
+ mov r8, r3
+ adds r0, r5, 0
+ bl sub_80073B8
+ ldr r0, _08093E84
+ adds r1, r6, 0
+ movs r2, 0
+ bl sub_80928C0
+ lsls r4, 3
+ adds r4, 0x10
+ ldr r2, _08093E88
+ movs r7, 0
+ str r7, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ adds r3, r5, 0
+ bl sub_8014FF0
+ movs r3, 0x13
+ ldrh r1, [r6, 0x2]
+ ldr r4, _08093E8C
+ ldr r2, [r4]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r2, [r0, 0x1C]
+ ldrb r0, [r2]
+ cmp r0, 0x2A
+ bne _08093E3A
+ movs r3, 0x10
+ adds r2, 0x1
+_08093E3A:
+ str r7, [sp]
+ movs r0, 0x4
+ adds r1, r3, 0
+ adds r3, r5, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_8093E90
+ adds r0, r5, 0
+ bl sub_80073E0
+ ldrh r1, [r6, 0x2]
+ ldr r2, [r4]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, [r0, 0x1C]
+ add r0, sp, 0x4
+ bl strcpy
+ add r0, sp, 0x4
+ mov r1, r8
+ bl sub_8097DF0
+ movs r3, 0xC9
+ lsls r3, 2
+ add sp, r3
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08093E80: .4byte 0xfffffcdc
+_08093E84: .4byte gUnknown_202DF98
+_08093E88: .4byte gUnknown_8109930
+_08093E8C: .4byte gUnknown_2038C68
+ thumb_func_end sub_8093DE8
+
+ thumb_func_start sub_8093E90
+sub_8093E90:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ adds r5, r1, 0
+ movs r0, 0x7
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0x4
+ movs r2, 0x48
+ movs r3, 0xC8
+ bl sub_80078A4
+ ldr r0, _08093F00
+ adds r1, r6, 0
+ bl sub_8092D54
+ ldr r0, _08093F04
+ ldr r2, [r0]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x4
+ movs r1, 0x4A
+ adds r3, r5, 0
+ bl sub_8014FF0
+ ldr r0, _08093F08
+ ldr r2, [r0]
+ str r4, [sp]
+ movs r0, 0x4
+ movs r1, 0x56
+ adds r3, r5, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ bl sub_8092B00
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetUnformattedTypeString
+ adds r2, r0, 0
+ str r4, [sp]
+ movs r0, 0x40
+ movs r1, 0x56
+ adds r3, r5, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ bl sub_8092BC0
+ ldr r1, _08093F0C
+ str r0, [r1]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08093F00: .4byte gUnknown_202DF98
+_08093F04: .4byte gUnknown_810CF00
+_08093F08: .4byte gUnknown_810CF0C
+_08093F0C: .4byte gUnknown_202DE30
+ thumb_func_end sub_8093E90
+
+ thumb_func_start sub_8093F10
+sub_8093F10:
+ push {r4,lr}
+ adds r3, r0, 0
+ adds r4, r1, 0
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093F48
+ movs r0, 0
+ strb r1, [r3]
+ strb r0, [r3, 0x1]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r3, 0x2]
+ ldrh r1, [r4, 0x2]
+ ldr r0, _08093F44
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0xC]
+ strb r0, [r3, 0x4]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r3, 0x5]
+ b _08093F4A
+ .align 2, 0
+_08093F44: .4byte gUnknown_2038C68
+_08093F48:
+ strb r0, [r3]
+_08093F4A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093F10
+
+ thumb_func_start sub_8093F50
+sub_8093F50:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r7, 0
+ adds r3, r6, 0
+ adds r4, r1, 0
+ movs r5, 0x3
+_08093F5C:
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08093F8C
+ strb r1, [r3]
+ strb r7, [r3, 0x1]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r3, 0x2]
+ ldrh r1, [r4, 0x2]
+ ldr r0, _08093F88
+ ldr r2, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0xC]
+ strb r0, [r3, 0x4]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r3, 0x5]
+ b _08093F8E
+ .align 2, 0
+_08093F88: .4byte gUnknown_2038C68
+_08093F8C:
+ strb r0, [r3]
+_08093F8E:
+ adds r3, 0x8
+ adds r4, 0x8
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08093F5C
+ adds r1, r6, 0
+ adds r1, 0x20
+ movs r0, 0
+ strb r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093F50
+
+ thumb_func_start sub_8093FA8
+sub_8093FA8:
+ push {lr}
+ adds r2, r0, 0
+ movs r3, 0x3
+_08093FAE:
+ ldrb r0, [r1]
+ strb r0, [r2]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r2, 0x2]
+ ldrb r0, [r1, 0x5]
+ strb r0, [r2, 0x4]
+ adds r2, 0x8
+ adds r1, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08093FAE
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093FA8
+
+ thumb_func_start sub_8093FC8
+sub_8093FC8:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r2, r1, 0
+ movs r3, 0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08094002
+ movs r7, 0xFB
+ movs r6, 0x1
+ adds r4, r2, 0
+ adds r2, r5, 0
+_08093FE2:
+ ldm r4!, {r0,r1}
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ ldrb r1, [r2, 0x1]
+ adds r0, r7, 0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, 0x3
+ bgt _08094002
+ ldrb r1, [r4]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08093FE2
+_08094002:
+ cmp r3, 0x7
+ bgt _08094016
+ movs r1, 0
+ lsls r0, r3, 3
+ adds r0, r5
+_0809400C:
+ strb r1, [r0]
+ adds r0, 0x8
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _0809400C
+_08094016:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8093FC8
+
+ thumb_func_start sub_809401C
+sub_809401C:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r3, r1, 0
+ movs r2, 0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08094046
+ movs r6, 0x1
+ adds r4, r5, 0
+_08094032:
+ ldm r3!, {r0,r1}
+ stm r4!, {r0,r1}
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _08094046
+ ldrb r1, [r3]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08094032
+_08094046:
+ cmp r2, 0x7
+ bgt _0809405A
+ movs r1, 0
+ lsls r0, r2, 3
+ adds r0, r5
+_08094050:
+ strb r1, [r0]
+ adds r0, 0x8
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _08094050
+_0809405A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809401C
+
+ thumb_func_start sub_8094060
+sub_8094060:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ movs r4, 0
+ movs r5, 0
+ adds r3, r6, 0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08094084
+_08094076:
+ lsls r2, r4, 3
+ adds r2, r7, r2
+ ldr r0, [r3]
+ ldr r1, [r3, 0x4]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ adds r4, 0x1
+_08094084:
+ adds r5, 0x1
+ cmp r5, 0x7
+ bgt _0809409C
+ lsls r0, r5, 3
+ adds r3, r6, r0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08094084
+ cmp r4, 0x3
+ ble _08094076
+_0809409C:
+ cmp r4, 0x3
+ bgt _080940B0
+ movs r1, 0
+ lsls r0, r4, 3
+ adds r0, r7
+_080940A6:
+ strb r1, [r0]
+ adds r0, 0x8
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080940A6
+_080940B0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094060
+
+ thumb_func_start sub_80940B8
+sub_80940B8:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0x2
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r5, 0x4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl sub_809488C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80940B8
+
+ thumb_func_start sub_80940E0
+sub_80940E0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0x2
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r5, 0x4
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl sub_8094924
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80940E0
+
+ thumb_func_start sub_8094108
+sub_8094108:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r4, r1, 0
+ movs r5, 0x3
+_08094110:
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_80940B8
+ adds r4, 0x8
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08094110
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094108
+
+ thumb_func_start sub_8094128
+sub_8094128:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r4, r1, 0
+ movs r5, 0x3
+_08094130:
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_80940E0
+ adds r4, 0x8
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08094130
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094128
+
+ thumb_func_start sub_8094148
+sub_8094148:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r4, 0x1
+ adds r0, r5, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r1, r4, 0x2
+ adds r0, r5, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r4, 0x4
+ adds r0, r5, 0
+ movs r2, 0x7
+ bl sub_809488C
+ adds r4, 0x5
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x7
+ bl sub_809488C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094148
+
+ thumb_func_start sub_8094184
+sub_8094184:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ adds r4, r7, 0
+ movs r5, 0x3
+_0809418E:
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_8094148
+ adds r4, 0x8
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0809418E
+ adds r1, r7, 0
+ adds r1, 0x20
+ adds r0, r6, 0
+ movs r2, 0x8
+ bl sub_809488C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094184
+
+ thumb_func_start sub_80941B0
+sub_80941B0:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x8
+ bl memset
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r4, 0x1
+ adds r0, r5, 0
+ movs r2, 0x1
+ bl sub_8094924
+ adds r1, r4, 0x2
+ adds r0, r5, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r4, 0x4
+ adds r0, r5, 0
+ movs r2, 0x7
+ bl sub_8094924
+ adds r4, 0x5
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x7
+ bl sub_8094924
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80941B0
+
+ thumb_func_start sub_80941FC
+sub_80941FC:
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ adds r4, r7, 0
+ movs r5, 0x3
+_08094206:
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl sub_80941B0
+ adds r4, 0x8
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08094206
+ adds r1, r7, 0
+ adds r1, 0x20
+ movs r0, 0
+ strb r0, [r1]
+ adds r0, r6, 0
+ movs r2, 0x8
+ bl sub_8094924
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80941FC
+
+ thumb_func_start sub_809422C
+sub_809422C:
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r2, r1, 0
+ cmp r1, 0x97
+ beq _08094260
+ cmp r1, 0x64
+ beq _08094260
+ cmp r1, 0x3C
+ beq _08094260
+ cmp r1, 0x4B
+ beq _08094260
+ movs r0, 0xAE
+ lsls r0, 1
+ cmp r1, r0
+ beq _08094260
+ cmp r1, 0x99
+ beq _08094260
+ cmp r1, 0xCD
+ beq _08094260
+ cmp r1, 0x9C
+ beq _08094260
+ cmp r2, 0x8
+ beq _08094260
+ movs r0, 0
+ b _08094262
+_08094260:
+ movs r0, 0x1
+_08094262:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809422C
+
+ thumb_func_start sub_8094268
+sub_8094268:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r3, r1, 0
+ asrs r0, r3, 16
+ asrs r1, r2, 16
+ adds r0, r1
+ lsls r0, 16
+ ldr r6, _080942B0
+ ands r3, r6
+ orrs r3, r0
+ adds r2, r3, r2
+ lsls r2, 16
+ lsrs r2, 16
+ ldr r4, _080942B4
+ ands r3, r4
+ orrs r3, r2
+ asrs r1, r3, 16
+ ldr r0, _080942B8
+ cmp r1, r0
+ ble _080942A6
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ ands r3, r4
+ orrs r3, r0
+ asrs r0, r3, 16
+ ldr r1, _080942BC
+ adds r0, r1
+ lsls r0, 16
+ ands r3, r6
+ orrs r3, r0
+_080942A6:
+ str r3, [r5]
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080942B0: .4byte 0x0000ffff
+_080942B4: .4byte 0xffff0000
+_080942B8: .4byte 0x000003e7
+_080942BC: .4byte 0xfffffc18
+ thumb_func_end sub_8094268
+
+ thumb_func_start sub_80942C0
+sub_80942C0:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r3, r1, 0
+ asrs r0, r3, 16
+ asrs r1, r2, 16
+ subs r0, r1
+ lsls r0, 16
+ ldr r4, _08094310
+ ands r3, r4
+ orrs r3, r0
+ subs r2, r3, r2
+ lsls r2, 16
+ lsrs r2, 16
+ ldr r1, _08094314
+ ands r3, r1
+ orrs r3, r2
+ cmp r3, 0
+ bge _080942FC
+ subs r0, r3, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ ands r3, r1
+ orrs r3, r0
+ asrs r0, r3, 16
+ movs r2, 0xFA
+ lsls r2, 2
+ adds r0, r2
+ lsls r0, 16
+ ands r3, r4
+ orrs r3, r0
+_080942FC:
+ lsls r0, r3, 16
+ cmp r0, 0
+ bge _08094304
+ movs r3, 0
+_08094304:
+ str r3, [r5]
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094310: .4byte 0x0000ffff
+_08094314: .4byte 0xffff0000
+ thumb_func_end sub_80942C0
+
+ thumb_func_start sub_8094318
+sub_8094318:
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r3, r1, 0
+ lsls r0, r3, 16
+ asrs r1, r0, 16
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r1, r0
+ bgt _08094336
+ cmp r1, r0
+ blt _0809433A
+ asrs r1, r3, 16
+ asrs r0, r2, 16
+ cmp r1, r0
+ ble _0809433A
+_08094336:
+ str r2, [r4]
+ b _0809433C
+_0809433A:
+ str r3, [r4]
+_0809433C:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094318
+
+ thumb_func_start sub_8094344
+sub_8094344:
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r3, r1, 0
+ lsls r0, r3, 16
+ asrs r1, r0, 16
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r1, r0
+ bgt _08094362
+ cmp r1, r0
+ blt _08094366
+ asrs r1, r3, 16
+ asrs r0, r2, 16
+ cmp r1, r0
+ ble _08094366
+_08094362:
+ str r3, [r4]
+ b _08094368
+_08094366:
+ str r2, [r4]
+_08094368:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094344
+
+ thumb_func_start sub_8094370
+sub_8094370:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 16
+ lsls r2, 16
+ ldr r4, _08094398
+ lsrs r3, r1, 16
+ orrs r3, r2
+ asrs r2, 16
+ ldr r1, _0809439C
+ asrs r0, r1, 16
+ cmp r2, r0
+ ble _0809438C
+ ands r3, r4
+ orrs r3, r1
+_0809438C:
+ str r3, [r5]
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094398: .4byte 0x0000ffff
+_0809439C: .4byte 0x03e70000
+ thumb_func_end sub_8094370
+
+ thumb_func_start sub_80943A0
+sub_80943A0:
+ lsls r1, 16
+ lsrs r2, r1, 16
+ str r2, [r0]
+ bx lr
+ thumb_func_end sub_80943A0
+
+ thumb_func_start sub_80943A8
+sub_80943A8:
+ push {r4,r5,lr}
+ ldr r3, [r1, 0x4]
+ lsrs r2, r3, 16
+ ldr r1, _080943D4
+ ands r5, r1
+ orrs r5, r2
+ ldr r4, _080943D8
+ adds r2, r4, 0
+ ands r2, r3
+ lsls r1, r2, 5
+ subs r1, r2
+ lsls r1, 2
+ adds r1, r2
+ lsls r1, 3
+ lsrs r1, 16
+ lsls r1, 16
+ ands r5, r4
+ orrs r5, r1
+ str r5, [r0]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080943D4: .4byte 0xffff0000
+_080943D8: .4byte 0x0000ffff
+ thumb_func_end sub_80943A8
+
+ thumb_func_start sub_80943DC
+sub_80943DC:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ mov r8, r0
+ adds r4, r1, 0
+ lsls r1, r4, 16
+ asrs r1, 16
+ lsls r0, r1, 5
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r1
+ lsls r0, 3
+ asrs r1, r4, 16
+ adds r0, r1
+ lsls r3, r2, 16
+ asrs r3, 16
+ lsls r1, r3, 5
+ subs r1, r3
+ lsls r1, 2
+ adds r1, r3
+ lsls r1, 3
+ asrs r2, 16
+ adds r1, r2
+ muls r0, r1
+ movs r5, 0xFA
+ lsls r5, 2
+ adds r1, r5, 0
+ bl __divsi3
+ adds r6, r0, 0
+ adds r1, r5, 0
+ bl __divsi3
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08094448
+ ands r4, r1
+ orrs r4, r0
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl __modsi3
+ lsls r0, 16
+ ldr r1, _0809444C
+ ands r1, r4
+ orrs r0, r1
+ mov r1, r8
+ str r0, [r1]
+ mov r0, r8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094448: .4byte 0xffff0000
+_0809444C: .4byte 0x0000ffff
+ thumb_func_end sub_80943DC
+
+ thumb_func_start sub_8094450
+sub_8094450:
+ push {lr}
+ adds r1, r0, 0
+ lsls r0, r1, 16
+ asrs r2, r0, 16
+ cmp r2, 0
+ bne _0809446A
+ asrs r0, r1, 16
+ cmp r0, 0
+ bne _08094466
+ movs r0, 0
+ b _08094476
+_08094466:
+ movs r0, 0x1
+ b _08094476
+_0809446A:
+ asrs r0, r1, 16
+ cmp r0, 0
+ bne _08094474
+ adds r0, r2, 0
+ b _08094476
+_08094474:
+ adds r0, r2, 0x1
+_08094476:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094450
+
+ thumb_func_start sub_809447C
+sub_809447C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x10
+ bl sub_8094924
+ adds r4, 0x2
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ bl sub_8094924
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809447C
+
+ thumb_func_start sub_809449C
+sub_809449C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x10
+ bl sub_809488C
+ adds r4, 0x2
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ bl sub_809488C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809449C
+
+ thumb_func_start sub_80944BC
+sub_80944BC:
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r1, 0
+ lsls r0, 16
+ asrs r1, r0, 16
+ ldr r0, _080944F4
+ cmp r1, r0
+ bgt _08094500
+ lsls r1, 16
+ lsrs r1, 16
+ mov r0, sp
+ bl sub_8092AA8
+ ldr r0, _080944F8
+ mov r1, sp
+ movs r2, 0
+ bl sub_80928C0
+ ldr r0, _080944FC
+ ldr r0, [r0]
+ adds r2, r4, 0
+ adds r2, 0xC8
+ adds r1, r4, 0
+ movs r3, 0
+ bl xxx_format_string
+ b _08094516
+ .align 2, 0
+_080944F4: .4byte 0x000001f3
+_080944F8: .4byte gUnknown_202DE58
+_080944FC: .4byte gUnknown_811383C
+_08094500:
+ ldr r0, _08094520
+ ldr r2, _08094524
+ adds r1, r2
+ lsls r1, 3
+ adds r0, 0x4
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r4, 0
+ movs r2, 0xC8
+ bl strncpy
+_08094516:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094520: .4byte gUnknown_8113080
+_08094524: .4byte 0xfffffe0c
+ thumb_func_end sub_80944BC
+
+ thumb_func_start sub_8094528
+sub_8094528:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ ldr r0, _08094544
+ cmp r1, r0
+ ble _08094550
+ ldr r0, _08094548
+ ldr r2, _0809454C
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrb r0, [r1]
+ b _08094552
+ .align 2, 0
+_08094544: .4byte 0x000001f3
+_08094548: .4byte gUnknown_8113080
+_0809454C: .4byte 0xfffffe0c
+_08094550:
+ movs r0, 0x1
+_08094552:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094528
+
+ thumb_func_start sub_8094558
+sub_8094558:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xCC
+ adds r7, r0, 0
+ adds r4, r1, 0
+ adds r6, r2, 0
+ bl sub_80073B8
+ movs r5, 0
+ str r5, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ adds r2, r4, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ ldr r4, _080945D0
+ adds r1, r6, 0
+ adds r1, 0x18
+ adds r0, r4, 0
+ bl sub_8090208
+ ldr r0, _080945D4
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x4
+ movs r1, 0x10
+ adds r3, r7, 0
+ bl sub_8014FF0
+ movs r5, 0x1A
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ adds r4, 0x50
+ adds r1, r6, 0
+ adds r1, 0xA
+ adds r0, r4, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ movs r1, 0x14
+ ldrsh r0, [r6, r1]
+ bl sub_8094528
+ lsls r0, 24
+ cmp r0, 0
+ beq _080945DC
+ ldr r0, _080945D8
+ ldr r0, [r0]
+ add r2, sp, 0xCC
+ add r1, sp, 0x4
+ movs r3, 0
+ bl xxx_format_string
+ b _080945EA
+ .align 2, 0
+_080945D0: .4byte gUnknown_202DF98
+_080945D4: .4byte gUnknown_8113850
+_080945D8: .4byte gUnknown_8113868
+_080945DC:
+ ldr r0, _0809465C
+ ldr r0, [r0]
+ add r2, sp, 0xCC
+ add r1, sp, 0x4
+ movs r3, 0
+ bl xxx_format_string
+_080945EA:
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ movs r4, 0xB0
+ subs r0, r4, r0
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r1, 0
+ mov r8, r1
+ str r1, [sp]
+ adds r1, r5, 0
+ add r2, sp, 0x4
+ adds r3, r7, 0
+ bl sub_8014FF0
+ adds r5, 0xA
+ movs r1, 0x14
+ ldrsh r0, [r6, r1]
+ add r1, sp, 0x4
+ bl sub_80944BC
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ subs r4, r0
+ lsrs r0, r4, 31
+ adds r4, r0
+ asrs r0, r4, 1
+ mov r1, r8
+ str r1, [sp]
+ adds r1, r5, 0
+ add r2, sp, 0x4
+ adds r3, r7, 0
+ bl sub_8014FF0
+ adds r5, 0x10
+ ldr r1, _08094660
+ ldr r0, [r6, 0x20]
+ str r0, [r1]
+ adds r0, r6, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ str r0, [r1, 0x4]
+ cmp r0, 0x63
+ ble _08094668
+ ldr r0, _08094664
+ ldr r2, [r0]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ b _0809467A
+ .align 2, 0
+_0809465C: .4byte gUnknown_8113870
+_08094660: .4byte gUnknown_202DE30
+_08094664: .4byte gUnknown_81138C0
+_08094668:
+ ldr r0, _080946CC
+ ldr r2, [r0]
+ mov r1, r8
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+_0809467A:
+ adds r5, 0xA
+ ldr r4, _080946D0
+ movs r1, 0x24
+ ldrsh r0, [r6, r1]
+ str r0, [r4]
+ ldr r0, _080946D4
+ ldr r2, [r0]
+ movs r0, 0
+ mov r8, r0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ adds r5, 0xA
+ adds r0, r6, 0
+ adds r0, 0x26
+ ldrb r2, [r0]
+ str r2, [r4]
+ adds r0, 0x2
+ ldrb r0, [r0]
+ str r0, [r4, 0x4]
+ adds r0, r6, 0
+ adds r0, 0x2B
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _080946DC
+ adds r0, r1, 0
+ adds r0, r2, r0
+ str r0, [r4]
+ ldr r0, _080946D8
+ ldr r2, [r0]
+ mov r1, r8
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ b _080946EC
+ .align 2, 0
+_080946CC: .4byte gUnknown_8113898
+_080946D0: .4byte gUnknown_202DE30
+_080946D4: .4byte gUnknown_81138D0
+_080946D8: .4byte gUnknown_8113950
+_080946DC:
+ ldr r0, _08094714
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+_080946EC:
+ adds r0, r6, 0
+ adds r0, 0x2D
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08094720
+ ldr r2, _08094718
+ ldr r0, [r2, 0x4]
+ adds r0, r1
+ str r0, [r2, 0x4]
+ ldr r0, _0809471C
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ b _08094730
+ .align 2, 0
+_08094714: .4byte gUnknown_81138E4
+_08094718: .4byte gUnknown_202DE30
+_0809471C: .4byte gUnknown_8113974
+_08094720:
+ ldr r0, _08094768
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+_08094730:
+ adds r5, 0xA
+ ldr r2, _0809476C
+ adds r0, r6, 0
+ adds r0, 0x27
+ ldrb r3, [r0]
+ str r3, [r2]
+ adds r0, 0x2
+ ldrb r0, [r0]
+ str r0, [r2, 0x4]
+ adds r0, r6, 0
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08094774
+ adds r0, r1, 0
+ adds r0, r3, r0
+ str r0, [r2]
+ ldr r0, _08094770
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ b _08094784
+ .align 2, 0
+_08094768: .4byte gUnknown_8113900
+_0809476C: .4byte gUnknown_202DE30
+_08094770: .4byte gUnknown_8113990
+_08094774:
+ ldr r0, _080947AC
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+_08094784:
+ adds r0, r6, 0
+ adds r0, 0x2E
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _080947B8
+ ldr r2, _080947B0
+ ldr r0, [r2, 0x4]
+ adds r0, r1
+ str r0, [r2, 0x4]
+ ldr r0, _080947B4
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ b _080947C8
+ .align 2, 0
+_080947AC: .4byte gUnknown_8113918
+_080947B0: .4byte gUnknown_202DE30
+_080947B4: .4byte gUnknown_81139B4
+_080947B8:
+ ldr r0, _080947E4
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+_080947C8:
+ adds r5, 0x10
+ adds r2, r6, 0
+ adds r2, 0x1C
+ ldrb r1, [r6, 0x1C]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080947EC
+ ldr r0, _080947E8
+ adds r1, r2, 0
+ movs r2, 0
+ bl sub_8090E14
+ b _080947F6
+ .align 2, 0
+_080947E4: .4byte gUnknown_8113934
+_080947E8: .4byte gUnknown_202DE58
+_080947EC:
+ ldr r0, _0809481C
+ ldr r1, _08094820
+ ldr r1, [r1]
+ bl strcpy
+_080947F6:
+ ldr r0, _08094824
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl sub_8014FF0
+ adds r0, r7, 0
+ bl sub_80073E0
+ add sp, 0xCC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809481C: .4byte gUnknown_202DE58
+_08094820: .4byte gUnknown_81139B8
+_08094824: .4byte gUnknown_81139CC
+ thumb_func_end sub_8094558
+
+ thumb_func_start sub_8094828
+sub_8094828:
+ push {lr}
+ lsls r0, 16
+ lsrs r2, r0, 16
+ lsls r1, 24
+ lsrs r0, r1, 24
+ cmp r0, 0
+ beq _08094852
+ bl sub_8090BD0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x9
+ bne _0809484C
+ ldr r0, _08094848
+ b _08094856
+ .align 2, 0
+_08094848: .4byte 0x00000223
+_0809484C:
+ movs r0, 0x89
+ lsls r0, 2
+ b _08094856
+_08094852:
+ lsls r0, r2, 16
+ asrs r0, 16
+_08094856:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094828
+
+ thumb_func_start sub_809485C
+sub_809485C:
+ str r1, [r0]
+ movs r3, 0
+ str r3, [r0, 0x8]
+ str r3, [r0, 0xC]
+ adds r1, r2
+ str r1, [r0, 0x4]
+ bx lr
+ thumb_func_end sub_809485C
+
+ thumb_func_start sub_809486C
+sub_809486C:
+ push {lr}
+ str r1, [r0]
+ movs r3, 0
+ str r3, [r0, 0x8]
+ str r3, [r0, 0xC]
+ adds r3, r1, r2
+ str r3, [r0, 0x4]
+ adds r0, r1, 0
+ adds r1, r2, 0
+ bl MemoryClear8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809486C
+
+ thumb_func_start nullsub_102
+nullsub_102:
+ bx lr
+ thumb_func_end nullsub_102
+
+ thumb_func_start sub_809488C
+sub_809488C:
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ adds r4, r2, 0
+ movs r5, 0
+ adds r6, r1, 0
+ cmp r4, 0
+ beq _080948DE
+ movs r7, 0x1
+_0809489C:
+ ldrb r0, [r6]
+ asrs r0, r5
+ ands r0, r7
+ cmp r0, 0
+ beq _080948B4
+ ldr r2, [r3]
+ ldr r1, [r3, 0x8]
+ adds r0, r7, 0
+ lsls r0, r1
+ ldrb r1, [r2]
+ orrs r0, r1
+ strb r0, [r2]
+_080948B4:
+ adds r5, 0x1
+ cmp r5, 0x8
+ bne _080948BE
+ adds r6, 0x1
+ movs r5, 0
+_080948BE:
+ ldr r0, [r3, 0x8]
+ adds r0, 0x1
+ str r0, [r3, 0x8]
+ cmp r0, 0x8
+ bne _080948D2
+ ldr r0, [r3]
+ adds r0, 0x1
+ str r0, [r3]
+ movs r0, 0
+ str r0, [r3, 0x8]
+_080948D2:
+ ldr r0, [r3, 0xC]
+ adds r0, 0x1
+ str r0, [r3, 0xC]
+ subs r4, 0x1
+ cmp r4, 0
+ bne _0809489C
+_080948DE:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809488C
+
+ thumb_func_start sub_80948E4
+sub_80948E4:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r2, 0
+ adds r6, r1, 0
+ cmp r5, 0
+ beq _0809491C
+_080948F0:
+ ldrb r1, [r6]
+ ldr r0, [r4, 0x8]
+ lsls r1, r0
+ ldr r3, [r4]
+ ldrb r2, [r3]
+ adds r0, r1, 0
+ orrs r0, r2
+ strb r0, [r3]
+ ldr r2, [r4]
+ adds r0, r2, 0x1
+ str r0, [r4]
+ asrs r1, 8
+ ldrb r0, [r2, 0x1]
+ orrs r1, r0
+ strb r1, [r2, 0x1]
+ adds r6, 0x1
+ ldr r0, [r4, 0xC]
+ adds r0, 0x8
+ str r0, [r4, 0xC]
+ subs r5, 0x1
+ cmp r5, 0
+ bne _080948F0
+_0809491C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80948E4
+
+ thumb_func_start sub_8094924
+sub_8094924:
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ adds r5, r2, 0
+ movs r6, 0
+ adds r2, r1, 0
+ cmp r5, 0
+ beq _08094978
+_08094932:
+ cmp r6, 0
+ bne _08094938
+ strb r6, [r2]
+_08094938:
+ ldr r7, [r3]
+ ldrb r0, [r7]
+ ldr r4, [r3, 0x8]
+ asrs r0, r4
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08094952
+ adds r0, r1, 0
+ lsls r0, r6
+ ldrb r1, [r2]
+ orrs r0, r1
+ strb r0, [r2]
+_08094952:
+ adds r6, 0x1
+ cmp r6, 0x8
+ bne _0809495C
+ adds r2, 0x1
+ movs r6, 0
+_0809495C:
+ adds r0, r4, 0x1
+ str r0, [r3, 0x8]
+ cmp r0, 0x8
+ bne _0809496C
+ adds r0, r7, 0x1
+ str r0, [r3]
+ movs r0, 0
+ str r0, [r3, 0x8]
+_0809496C:
+ ldr r0, [r3, 0xC]
+ adds r0, 0x1
+ str r0, [r3, 0xC]
+ subs r5, 0x1
+ cmp r5, 0
+ bne _08094932
+_08094978:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094924
+
+ thumb_func_start sub_8094980
+sub_8094980:
+ ldr r1, _08094988
+ ldr r0, _0809498C
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08094988: .4byte gUnknown_203B46C
+_0809498C: .4byte gUnknown_2038C70
+ thumb_func_end sub_8094980
+
+ thumb_func_start sub_8094990
+sub_8094990:
+ ldr r0, _08094994
+ bx lr
+ .align 2, 0
+_08094994: .4byte gUnknown_2038C70
+ thumb_func_end sub_8094990
+
+ thumb_func_start sub_8094998
+sub_8094998:
+ push {lr}
+ lsls r0, 24
+ ldr r2, _080949D8
+ ldr r1, [r2]
+ movs r3, 0
+ strb r3, [r1, 0x8]
+ cmp r0, 0
+ beq _080949AC
+ ldr r0, [r2]
+ strb r3, [r0, 0xB]
+_080949AC:
+ ldr r0, [r2]
+ strb r3, [r0, 0x9]
+ ldr r0, [r2]
+ strb r3, [r0, 0xA]
+ ldr r0, [r2]
+ strb r3, [r0]
+ ldr r0, [r2]
+ movs r1, 0x1
+ strb r1, [r0, 0x1]
+ ldr r0, [r2]
+ strb r1, [r0, 0x2]
+ ldr r0, [r2]
+ strb r1, [r0, 0x3]
+ ldr r0, [r2]
+ strb r1, [r0, 0x4]
+ ldr r0, [r2]
+ strb r3, [r0, 0xC]
+ bl sub_8094C14
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080949D8: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094998
+
+ thumb_func_start sub_80949DC
+sub_80949DC:
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, _08094A38
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x8]
+ ldrb r3, [r2, 0x8]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x9]
+ ldrb r3, [r2, 0x9]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0xA]
+ ldrb r3, [r2, 0xA]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0xB]
+ ldrb r3, [r2, 0xB]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1]
+ ldrb r3, [r2]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x1]
+ ldrb r3, [r2, 0x1]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x2]
+ ldrb r3, [r2, 0x2]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x3]
+ ldrb r3, [r2, 0x3]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x4]
+ ldrb r3, [r2, 0x4]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0xC]
+ ldrb r2, [r2, 0xC]
+ cmp r0, r2
+ bne _08094A3C
+ movs r0, 0x1
+ b _08094A3E
+ .align 2, 0
+_08094A38: .4byte gUnknown_203B46C
+_08094A3C:
+ movs r0, 0
+_08094A3E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80949DC
+
+ thumb_func_start sub_8094A44
+sub_8094A44:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0xFF
+ mov r0, sp
+ strb r1, [r0]
+ mov r7, sp
+ adds r7, 0x1
+ movs r0, 0
+ strb r0, [r7]
+ ldr r5, _08094B14
+ ldr r1, [r5]
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x2
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x9]
+ mov r1, sp
+ adds r6, r7, 0
+ cmp r0, 0
+ bne _08094A74
+ adds r1, r6, 0
+_08094A74:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0xA]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094A88
+ mov r1, sp
+_08094A88:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0xB]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094A9C
+ mov r1, sp
+_08094A9C:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094AB0
+ mov r1, sp
+_08094AB0:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x1]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094AC4
+ mov r1, sp
+_08094AC4:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x2]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094AD8
+ mov r1, sp
+_08094AD8:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x3]
+ adds r1, r7, 0
+ cmp r0, 0
+ beq _08094AEC
+ mov r1, sp
+_08094AEC:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r1, [r5]
+ adds r1, 0x4
+ adds r0, r4, 0
+ movs r2, 0x3
+ bl sub_809488C
+ ldr r1, [r5]
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x2
+ bl sub_809488C
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094B14: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094A44
+
+ thumb_func_start sub_8094B18
+sub_8094B18:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x4
+ adds r6, r0, 0
+ mov r1, sp
+ movs r2, 0x2
+ bl sub_8094924
+ ldr r5, _08094C10
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r0, 0x3
+ mov r8, r0
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0x9]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0xA]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0xB]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0x2]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [r5]
+ mov r0, sp
+ ldrb r0, [r0]
+ ands r4, r0
+ strb r4, [r1, 0x3]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x3
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r0, 0x7
+ ands r0, r1
+ strb r0, [r2, 0x4]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x2
+ bl sub_8094924
+ ldr r1, [r5]
+ mov r0, sp
+ ldrb r0, [r0]
+ mov r2, r8
+ ands r2, r0
+ strb r2, [r1, 0xC]
+ bl sub_8094C14
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094C10: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094B18
+
+ thumb_func_start sub_8094C14
+sub_8094C14:
+ push {r4,lr}
+ sub sp, 0x10
+ mov r1, sp
+ ldr r0, _08094C40
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, _08094C44
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x8]
+ movs r0, 0x3
+ ands r0, r1
+ lsls r0, 2
+ add r0, sp
+ ldr r0, [r0]
+ bl sub_80099F0
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094C40: .4byte gUnknown_8109954
+_08094C44: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094C14
+
+ thumb_func_start sub_8094C48
+sub_8094C48:
+ push {lr}
+ ldr r0, _08094C5C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _08094C60
+ cmp r0, 0x3
+ beq _08094C60
+ movs r0, 0x1
+ b _08094C62
+ .align 2, 0
+_08094C5C: .4byte gUnknown_203B46C
+_08094C60:
+ movs r0, 0
+_08094C62:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094C48
+
+ thumb_func_start sub_8094C68
+sub_8094C68:
+ push {lr}
+ ldr r0, _08094C7C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0x2
+ beq _08094C80
+ cmp r0, 0x5
+ beq _08094C80
+ movs r0, 0x1
+ b _08094C82
+ .align 2, 0
+_08094C7C: .4byte gUnknown_203B46C
+_08094C80:
+ movs r0, 0
+_08094C82:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094C68
+
+ thumb_func_start sub_8094C88
+sub_8094C88:
+ push {lr}
+ ldr r0, _08094C98
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x2
+ bhi _08094C9C
+ movs r0, 0x1
+ b _08094CA8
+ .align 2, 0
+_08094C98: .4byte gUnknown_203B46C
+_08094C9C:
+ subs r0, 0x3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bhi _08094CAA
+ movs r0, 0x4
+_08094CA8:
+ strb r0, [r1, 0x4]
+_08094CAA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094C88
+
+ thumb_func_start sub_8094CB0
+sub_8094CB0:
+ ldr r1, _08094CBC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CBC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CB0
+
+ thumb_func_start sub_8094CC0
+sub_8094CC0:
+ ldr r1, _08094CCC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CCC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CC0
+
+ thumb_func_start sub_8094CD0
+sub_8094CD0:
+ ldr r1, _08094CDC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CDC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CD0
+
+ thumb_func_start sub_8094CE0
+sub_8094CE0:
+ ldr r1, _08094CEC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CEC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CE0
+
+ thumb_func_start sub_8094CF0
+sub_8094CF0:
+ ldr r1, _08094CFC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CFC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CF0
+
+ thumb_func_start sub_8094D00
+sub_8094D00:
+ ldr r1, _08094D0C
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094D0C: .4byte 0x0000ffff
+ thumb_func_end sub_8094D00
+
+ thumb_func_start sub_8094D10
+sub_8094D10:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D10
+
+ thumb_func_start sub_8094D14
+sub_8094D14:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D14
+
+ thumb_func_start sub_8094D18
+sub_8094D18:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D18
+
+ thumb_func_start sub_8094D1C
+sub_8094D1C:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D1C
+
+ thumb_func_start sub_8094D20
+sub_8094D20:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D20
+
+ thumb_func_start sub_8094D24
+sub_8094D24:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D24
+
+ thumb_func_start sub_8094D28
+sub_8094D28:
+ push {r4-r7,lr}
+ ldr r2, _08094D64
+ str r0, [r2]
+ ldr r1, _08094D68
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r7, _08094D6C
+ adds r5, r2, 0
+ adds r4, r1, 0
+ ldr r6, _08094D70
+_08094D3C:
+ ldr r2, [r4]
+ lsls r3, r2, 2
+ adds r3, r5
+ subs r0, r2, 0x1
+ lsls r0, 2
+ adds r0, r5
+ ldr r0, [r0]
+ lsrs r1, r0, 30
+ eors r0, r1
+ muls r0, r6
+ adds r0, r2
+ str r0, [r3]
+ adds r2, 0x1
+ str r2, [r4]
+ cmp r2, r7
+ ble _08094D3C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094D64: .4byte gUnknown_3001198
+_08094D68: .4byte gUnknown_203B470
+_08094D6C: .4byte 0x0000026f
+_08094D70: .4byte 0x6c078965
+ thumb_func_end sub_8094D28
+
+ thumb_func_start sub_8094D74
+sub_8094D74:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ mov r8, r0
+ adds r7, r1, 0
+ ldr r0, _08094E34
+ bl sub_8094D28
+ movs r4, 0x1
+ movs r5, 0
+ adds r3, r7, 0
+ movs r0, 0x9C
+ lsls r0, 2
+ cmp r3, r0
+ bge _08094D96
+ adds r3, r0, 0
+_08094D96:
+ ldr r6, _08094E38
+ cmp r3, 0
+ beq _08094DE2
+ mov r9, r6
+ ldr r0, _08094E3C
+ adds r0, r6
+ mov r12, r0
+ adds r2, r6, 0
+_08094DA6:
+ ldr r1, [r2]
+ lsrs r0, r1, 30
+ eors r1, r0
+ ldr r0, _08094E40
+ muls r0, r1
+ ldr r1, [r2, 0x4]
+ eors r1, r0
+ lsls r0, r5, 2
+ add r0, r8
+ ldr r0, [r0]
+ adds r1, r0
+ adds r1, r5
+ str r1, [r2, 0x4]
+ adds r2, 0x4
+ adds r4, 0x1
+ adds r5, 0x1
+ ldr r0, _08094E44
+ cmp r4, r0
+ ble _08094DD6
+ mov r1, r12
+ ldr r0, [r1]
+ str r0, [r6]
+ mov r2, r9
+ movs r4, 0x1
+_08094DD6:
+ cmp r5, r7
+ blt _08094DDC
+ movs r5, 0
+_08094DDC:
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08094DA6
+_08094DE2:
+ ldr r3, _08094E44
+ ldr r5, _08094E38
+ ldr r0, _08094E3C
+ adds r0, r5
+ mov r8, r0
+ lsls r0, r4, 2
+ subs r0, 0x4
+ adds r2, r0, r5
+ ldr r1, _08094E48
+ mov r12, r1
+ adds r7, r3, 0
+_08094DF8:
+ ldr r0, [r2]
+ lsrs r1, r0, 30
+ eors r0, r1
+ mov r1, r12
+ muls r1, r0
+ ldr r0, [r2, 0x4]
+ eors r0, r1
+ subs r0, r4
+ str r0, [r2, 0x4]
+ adds r2, 0x4
+ adds r4, 0x1
+ cmp r4, r7
+ ble _08094E1C
+ mov r1, r8
+ ldr r0, [r1]
+ str r0, [r6]
+ adds r2, r5, 0
+ movs r4, 0x1
+_08094E1C:
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08094DF8
+ movs r0, 0x80
+ lsls r0, 24
+ str r0, [r6]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094E34: .4byte 0x012bd6aa
+_08094E38: .4byte gUnknown_3001198
+_08094E3C: .4byte 0x000009bc
+_08094E40: .4byte 0x0019660d
+_08094E44: .4byte 0x0000026f
+_08094E48: .4byte 0x5d588b65
+ thumb_func_end sub_8094D74
+
+ thumb_func_start sub_8094E4C
+sub_8094E4C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r0, _08094F54
+ ldr r2, [r0]
+ ldr r1, _08094F58
+ mov r8, r0
+ cmp r2, r1
+ ble _08094F1C
+ ldr r0, _08094F5C
+ cmp r2, r0
+ bne _08094E6C
+ ldr r0, _08094F60
+ bl sub_8094D28
+_08094E6C:
+ movs r3, 0
+ ldr r0, _08094F64
+ mov r9, r0
+ ldr r7, _08094F68
+ mov r12, r9
+ adds r5, r7, 0
+_08094E78:
+ ldr r4, [r5]
+ movs r6, 0x80
+ lsls r6, 24
+ ands r4, r6
+ ldr r0, [r5, 0x4]
+ ldr r1, _08094F6C
+ ands r0, r1
+ orrs r4, r0
+ ldr r1, _08094F70
+ adds r0, r3, r1
+ lsls r0, 2
+ adds r0, r7
+ lsrs r2, r4, 1
+ ldr r1, [r0]
+ eors r1, r2
+ movs r0, 0x1
+ ands r4, r0
+ lsls r0, r4, 2
+ add r0, r12
+ ldr r0, [r0]
+ eors r1, r0
+ stm r5!, {r1}
+ adds r3, 0x1
+ cmp r3, 0xE2
+ ble _08094E78
+ ldr r5, _08094F74
+ cmp r3, r5
+ bgt _08094EE6
+ ldr r1, _08094F68
+ ldr r4, _08094F64
+ mov r12, r4
+ lsls r0, r3, 2
+ adds r2, r0, r1
+ ldr r4, _08094F78
+ adds r0, r4
+ adds r7, r0, r1
+_08094EC0:
+ ldr r4, [r2]
+ ands r4, r6
+ ldr r0, [r2, 0x4]
+ ldr r1, _08094F6C
+ ands r0, r1
+ orrs r4, r0
+ lsrs r0, r4, 1
+ ldm r7!, {r1}
+ eors r1, r0
+ movs r0, 0x1
+ ands r4, r0
+ lsls r0, r4, 2
+ add r0, r12
+ ldr r0, [r0]
+ eors r1, r0
+ stm r2!, {r1}
+ adds r3, 0x1
+ cmp r3, r5
+ ble _08094EC0
+_08094EE6:
+ ldr r2, _08094F68
+ ldr r0, _08094F7C
+ adds r3, r2, r0
+ ldr r4, [r3]
+ movs r0, 0x80
+ lsls r0, 24
+ ands r4, r0
+ ldr r0, [r2]
+ ldr r1, _08094F6C
+ ands r0, r1
+ orrs r4, r0
+ movs r1, 0xC6
+ lsls r1, 3
+ adds r2, r1
+ lsrs r0, r4, 1
+ ldr r1, [r2]
+ eors r1, r0
+ movs r0, 0x1
+ ands r4, r0
+ lsls r0, r4, 2
+ add r0, r9
+ ldr r0, [r0]
+ eors r1, r0
+ str r1, [r3]
+ movs r0, 0
+ mov r4, r8
+ str r0, [r4]
+_08094F1C:
+ ldr r2, _08094F68
+ mov r0, r8
+ ldr r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r2
+ ldr r4, [r0]
+ adds r1, 0x1
+ mov r0, r8
+ str r1, [r0]
+ lsrs r0, r4, 11
+ eors r4, r0
+ lsls r0, r4, 7
+ ldr r1, _08094F80
+ ands r0, r1
+ eors r4, r0
+ lsls r0, r4, 15
+ ldr r1, _08094F84
+ ands r0, r1
+ eors r4, r0
+ lsrs r0, r4, 18
+ eors r4, r0
+ adds r0, r4, 0
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094F54: .4byte gUnknown_203B470
+_08094F58: .4byte 0x0000026f
+_08094F5C: .4byte 0x00000271
+_08094F60: .4byte 0x00001571
+_08094F64: .4byte gUnknown_203B474
+_08094F68: .4byte gUnknown_3001198
+_08094F6C: .4byte 0x7fffffff
+_08094F70: .4byte 0x0000018d
+_08094F74: .4byte 0x0000026e
+_08094F78: .4byte 0xfffffc74
+_08094F7C: .4byte 0x000009bc
+_08094F80: .4byte 0x9d2c5680
+_08094F84: .4byte 0xefc60000
+ thumb_func_end sub_8094E4C
+
+ .align 2,0 @ Don't pad with nop