summaryrefslogtreecommitdiff
path: root/asm/moves_1.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/moves_1.s')
-rw-r--r--asm/moves_1.s2790
1 files changed, 2790 insertions, 0 deletions
diff --git a/asm/moves_1.s b/asm/moves_1.s
new file mode 100644
index 0000000..c9f1ce8
--- /dev/null
+++ b/asm/moves_1.s
@@ -0,0 +1,2790 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ 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 DoesMoveCharge
+ 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 DoesMoveCharge
+ 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 InitPokemonMove
+ 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 xxx_format_and_draw
+ 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 xxx_format_and_draw
+ 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 gAvailablePokemonNames
+_08093E88: .4byte gUnknown_8109930
+_08093E8C: .4byte gMovesData
+ 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 xxx_format_and_draw
+ ldr r0, _08093F08
+ ldr r2, [r0]
+ str r4, [sp]
+ movs r0, 0x4
+ movs r1, 0x56
+ adds r3, r5, 0
+ bl xxx_format_and_draw
+ adds r0, r6, 0
+ bl GetMoveType
+ 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 xxx_format_and_draw
+ adds r0, r6, 0
+ bl GetMovePower
+ ldr r1, _08093F0C
+ str r0, [r1]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08093F00: .4byte gAvailablePokemonNames
+_08093F04: .4byte gUnknown_810CF00
+_08093F08: .4byte gPtrTypeText
+_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 gMovesData
+_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 gMovesData
+_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
+
+ .align 2,0