summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-05-02 21:01:39 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-05-02 21:01:39 -0400
commitdbf663964e522006a2b9a37ce1f88bc3f262209e (patch)
tree4df2e238e5652d7f75d358342a1796a918e0f959
parente8bd5c9a9cb6b78755a6821783db9e6b5ec74d08 (diff)
Disassemble module 11
-rw-r--r--arm9/arm9.lcf16
-rw-r--r--arm9/global.inc162
-rw-r--r--arm9/modules/11/asm/module_11.s98637
-rw-r--r--arm9/undefined_syms.txt24
4 files changed, 98837 insertions, 2 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf
index d0270d58..67ff4228 100644
--- a/arm9/arm9.lcf
+++ b/arm9/arm9.lcf
@@ -21,7 +21,7 @@ MEMORY {
MODULE_08 (RWX) : ORIGIN=0x02211E60, LENGTH=0
MODULE_09 (RWX) : ORIGIN=0x02211E60, LENGTH=0
MODULE_10 (RWX) : ORIGIN=0x021D74E0, LENGTH=0
- MODULE_11 (RWX) : ORIGIN=0, LENGTH=0
+ MODULE_11 (RWX) : ORIGIN=0x0222D5C0, LENGTH=0
MODULE_12 (RWX) : ORIGIN=0, LENGTH=0
MODULE_13 (RWX) : ORIGIN=0, LENGTH=0
MODULE_14 (RWX) : ORIGIN=0, LENGTH=0
@@ -483,7 +483,19 @@ SECTIONS {
module_10_dummy.o (.bss)
} >> MODULE_10
- OVERLAY_FILE(11, 0x1A9400, FILE_1AD400.o)
+ .MODULE.11 : AT (0x1A9400)
+ {
+ module_11.o (.text)
+ module_11.o (.sdata)
+ module_11.o (.data)
+ } > MODULE_11
+
+ .MODULE.11.bss :
+ {
+ module_11.o (.sbss)
+ module_11.o (.bss)
+ } >> MODULE_11
+
OVERLAY_FILE(12, 0x1DBE00, FILE_1DFE00.o)
OVERLAY_FILE(13, 0x1F5200, FILE_1F9200.o)
OVERLAY_FILE(14, 0x223E00, FILE_227E00.o)
diff --git a/arm9/global.inc b/arm9/global.inc
index f4a01650..e615e5c8 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -4737,3 +4737,165 @@
.extern FUN_0225D80C
.extern FUN_0225D820
.extern FUN_0225D824
+.extern FUN_02002BD4
+.extern FUN_02002BE4
+.extern FUN_02002BF4
+.extern FUN_02002C04
+.extern FUN_02003914
+.extern FUN_02005EE0
+.extern FUN_02006BDC
+.extern FUN_020073E8
+.extern FUN_02007540
+.extern FUN_02007F34
+.extern FUN_020081B4
+.extern FUN_02008284
+.extern FUN_02008290
+.extern FUN_02008D44
+.extern FUN_02008DDC
+.extern FUN_0200AA14
+.extern FUN_0200B0D4
+.extern FUN_0200BAAC
+.extern FUN_0200BC38
+.extern FUN_0200C344
+.extern FUN_0200C650
+.extern FUN_0200C720
+.extern FUN_0200C750
+.extern FUN_0200C978
+.extern FUN_02011898
+.extern FUN_020119A4
+.extern FUN_02011AC0
+.extern FUN_02012EAC
+.extern FUN_0201C328
+.extern FUN_0201C350
+.extern FUN_0201D568
+.extern FUN_0201D5E8
+.extern FUN_0201D658
+.extern FUN_0201D674
+.extern FUN_020202DC
+.extern FUN_0202502C
+.extern FUN_02033590
+.extern FUN_02033778
+.extern FUN_02061028
+.extern FUN_02066F04
+.extern FUN_02068018
+.extern FUN_0206851C
+.extern FUN_02068538
+.extern FUN_02068640
+.extern FUN_02068654
+.extern FUN_02068698
+.extern FUN_02068734
+.extern FUN_02068FE0
+.extern FUN_02069010
+.extern FUN_02069038
+.extern FUN_020697CC
+.extern FUN_02069AEC
+.extern FUN_02069BE4
+.extern FUN_02069C4C
+.extern FUN_02069CF4
+.extern FUN_02069DC8
+.extern FUN_02069F24
+.extern FUN_0206A014
+.extern FUN_0206A94C
+.extern FUN_0206AA30
+.extern FUN_0206AB04
+.extern FUN_0206AB58
+.extern FUN_0206ACD4
+.extern FUN_0206ADE0
+.extern FUN_0206ADF0
+.extern FUN_0206B244
+.extern FUN_0206B330
+.extern FUN_0206B428
+.extern FUN_0206B87C
+.extern FUN_0206B894
+.extern FUN_0206B8A0
+.extern FUN_0206B8AC
+.extern FUN_0206BAD0
+.extern FUN_0206BB34
+.extern FUN_0206BF90
+.extern FUN_0206BFF0
+.extern FUN_0206C0C8
+.extern FUN_0206C1A0
+.extern FUN_0206C1FC
+.extern FUN_0206C224
+.extern FUN_0206C268
+.extern FUN_0206C294
+.extern FUN_0206C2D4
+.extern FUN_0206C2F8
+.extern FUN_0206C33C
+.extern FUN_0206C364
+.extern FUN_0206C398
+.extern FUN_0206C3F4
+.extern FUN_0206C438
+.extern FUN_0206C46C
+.extern FUN_0206C4C4
+.extern FUN_0206C4F0
+.extern FUN_0206E21C
+.extern FUN_0206E224
+.extern FUN_0206E22C
+.extern FUN_0206E240
+.extern FUN_0206E270
+.extern FUN_0206E2E0
+.extern FUN_0206E2E8
+.extern FUN_0206EAEC
+.extern FUN_0206EB50
+.extern FUN_0206EB78
+.extern FUN_0206EB88
+.extern FUN_0206EBB4
+.extern FUN_0206F1C0
+.extern FUN_020799E8
+.extern FUN_02079A24
+.extern FUN_02087B78
+.extern FUN_021EEF0C
+.extern FUN_021EEF68
+.extern FUN_021EEF84
+.extern FUN_021EEF98
+.extern FUN_021EEF9C
+.extern FUN_021EFBF4
+.extern FUN_021EFD8C
+.extern FUN_021F45A4
+.extern FUN_021F4698
+.extern FUN_021F4A30
+.extern FUN_02211E7C
+.extern FUN_02211F5C
+.extern FUN_02212024
+.extern FUN_02212048
+.extern FUN_02212384
+.extern FUN_022123A0
+.extern FUN_022123B0
+.extern FUN_022156C0
+.extern FUN_0221590C
+.extern FUN_02215918
+.extern FUN_0221594C
+.extern FUN_02215988
+.extern FUN_02215A44
+.extern FUN_022186F0
+.extern FX_ModS32
+.extern MOD08_02228218
+.extern MOD08_02228524
+.extern MOD08_02228570
+.extern MOD08_022285A4
+.extern MOD08_022285B4
+.extern MOD08_02228618
+.extern MOD08_02228AB8
+.extern MOD08_02228AC0
+.extern MOD08_02229918
+.extern MOD08_022299E8
+.extern MOD08_02229A00
+.extern MOD08_02229A2C
+.extern MOD08_02229A5C
+.extern MOD08_02229A80
+.extern MOD08_02229FE4
+.extern MOD08_02229FF0
+.extern MOD08_0222A008
+.extern MOD08_0222A00C
+.extern MOD08_0222A018
+.extern MOD08_0222A024
+.extern MOD08_0222A0D4
+.extern MOD08_0222A110
+.extern MOD08_0222A14C
+.extern MOD08_0222A170
+.extern MOD08_0222A1DC
+.extern MOD08_0222A204
+.extern MOD08_0222A494
+.extern MOD08_0222A568
+.extern MOD08_0222A6A4
diff --git a/arm9/modules/11/asm/module_11.s b/arm9/modules/11/asm/module_11.s
new file mode 100644
index 00000000..7f7ae7cf
--- /dev/null
+++ b/arm9/modules/11/asm/module_11.s
@@ -0,0 +1,98637 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD11_0222D5C0
+MOD11_0222D5C0: ; 0x0222D5C0
+ push {r4, r5, r6, lr}
+ sub sp, #0x28
+ add r4, r1, #0
+ add r6, r0, #0
+ bl FUN_0200628C
+ ldr r1, [r4]
+ add r5, r0, #0
+ cmp r1, #0xf
+ bhi _0222D6D2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0222D5E0: ; jump table
+ .short _0222D600 - _0222D5E0 - 2 ; case 0
+ .short _0222D620 - _0222D5E0 - 2 ; case 1
+ .short _0222D65A - _0222D5E0 - 2 ; case 2
+ .short _0222D670 - _0222D5E0 - 2 ; case 3
+ .short _0222D686 - _0222D5E0 - 2 ; case 4
+ .short _0222D696 - _0222D5E0 - 2 ; case 5
+ .short _0222D6AC - _0222D5E0 - 2 ; case 6
+ .short _0222D6C8 - _0222D5E0 - 2 ; case 7
+ .short _0222D6DA - _0222D5E0 - 2 ; case 8
+ .short _0222D6EE - _0222D5E0 - 2 ; case 9
+ .short _0222D704 - _0222D5E0 - 2 ; case 10
+ .short _0222D720 - _0222D5E0 - 2 ; case 11
+ .short _0222D742 - _0222D5E0 - 2 ; case 12
+ .short _0222D752 - _0222D5E0 - 2 ; case 13
+ .short _0222D7C2 - _0222D5E0 - 2 ; case 14
+ .short _0222D7E4 - _0222D5E0 - 2 ; case 15
+_0222D600:
+ mov r2, #0xb
+ mov r0, #3
+ mov r1, #5
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ ldr r1, [r5]
+ mov r0, #4
+ tst r0, r1
+ beq _0222D61A
+ mov r0, #1
+ str r0, [r4]
+ b _0222D7EA
+_0222D61A:
+ mov r0, #3
+ str r0, [r4]
+ b _0222D7EA
+_0222D620:
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0222F29C
+ mov r0, #0x4b
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ bl FUN_02033778
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0222D648
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ mov r1, #0x14
+ bl FUN_0202A0E8
+ b _0222D654
+_0222D648:
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ mov r1, #0x19
+ bl FUN_0202A0E8
+_0222D654:
+ mov r0, #2
+ str r0, [r4]
+ b _0222D7EA
+_0222D65A:
+ add r0, r6, #0
+ bl MOD11_0222F4E4
+ cmp r0, #1
+ bne _0222D6D2
+ add r0, r6, #0
+ bl MOD11_0222F93C
+ mov r0, #3
+ str r0, [r4]
+ b _0222D7EA
+_0222D670:
+ add r0, r6, #0
+ bl MOD11_0222F988
+ cmp r0, #1
+ bne _0222D680
+ mov r0, #4
+ str r0, [r4]
+ b _0222D7EA
+_0222D680:
+ mov r0, #5
+ str r0, [r4]
+ b _0222D7EA
+_0222D686:
+ add r0, r6, #0
+ bl MOD11_0222FABC
+ cmp r0, #1
+ bne _0222D6D2
+ mov r0, #5
+ str r0, [r4]
+ b _0222D7EA
+_0222D696:
+ add r0, r6, #0
+ bl MOD11_0222FB04
+ cmp r0, #1
+ bne _0222D6A6
+ mov r0, #6
+ str r0, [r4]
+ b _0222D7EA
+_0222D6A6:
+ mov r0, #8
+ str r0, [r4]
+ b _0222D7EA
+_0222D6AC:
+ add r0, r6, #0
+ bl MOD11_0222FC38
+ cmp r0, #1
+ bne _0222D6D2
+ ldr r0, _0222D7F0 ; =0x00000007
+ bl FUN_02005F60
+ mov r0, #7
+ str r0, [r4]
+ mov r0, #0x3d
+ bl FUN_02031588
+ b _0222D7EA
+_0222D6C8:
+ mov r0, #0x3d
+ bl FUN_020315D8
+ cmp r0, #0
+ bne _0222D6D4
+_0222D6D2:
+ b _0222D7EA
+_0222D6D4:
+ mov r0, #8
+ str r0, [r4]
+ b _0222D7EA
+_0222D6DA:
+ ldr r0, _0222D7F4 ; =0x00000008
+ mov r1, #2
+ bl FUN_02005FDC
+ add r0, r6, #0
+ bl MOD11_0222DB50
+ mov r0, #9
+ str r0, [r4]
+ b _0222D7EA
+_0222D6EE:
+ add r0, r6, #0
+ bl MOD11_0222DF4C
+ cmp r0, #1
+ bne _0222D7EA
+ add r0, r6, #0
+ bl MOD11_0222DFA4
+ mov r0, #0xa
+ str r0, [r4]
+ b _0222D7EA
+_0222D704:
+ add r0, r6, #0
+ bl MOD11_0222FC80
+ cmp r0, #1
+ bne _0222D714
+ mov r0, #0xb
+ str r0, [r4]
+ b _0222D7EA
+_0222D714:
+ mov r0, #5
+ bl FUN_020168D0
+ mov r0, #0xd
+ str r0, [r4]
+ b _0222D7EA
+_0222D720:
+ add r0, r6, #0
+ bl MOD11_0222FE58
+ cmp r0, #1
+ bne _0222D7EA
+ ldr r0, _0222D7F0 ; =0x00000007
+ bl FUN_02005F60
+ mov r0, #5
+ bl FUN_020168D0
+ mov r0, #0x3e
+ bl FUN_02031588
+ mov r0, #0xc
+ str r0, [r4]
+ b _0222D7EA
+_0222D742:
+ mov r0, #0x3e
+ bl FUN_020315D8
+ cmp r0, #0
+ beq _0222D7EA
+ mov r0, #0xf
+ str r0, [r4]
+ b _0222D7EA
+_0222D752:
+ add r1, sp, #0x24
+ add r2, sp, #0x20
+ bl MOD11_02230D38
+ add r6, r0, #0
+ beq _0222D7BC
+ mov r0, #3
+ mov r1, #0x49
+ lsl r2, r0, #0x10
+ bl FUN_0201681C
+ ldr r0, [r5, #4]
+ ldr r1, [sp, #0x24]
+ bl FUN_0206B9B0
+ add r1, r0, #0
+ mov r0, #0x5a
+ lsl r0, r0, #2
+ ldr r2, [r5, r0]
+ mov r3, #0x49
+ str r2, [sp]
+ add r2, r0, #0
+ sub r2, #0x58
+ ldr r2, [r5, r2]
+ str r2, [sp, #4]
+ add r2, r0, #0
+ sub r2, #0x60
+ ldr r2, [r5, r2]
+ str r2, [sp, #8]
+ add r2, r0, #0
+ sub r2, #0x24
+ ldr r2, [r5, r2]
+ sub r0, #0x40
+ str r2, [sp, #0xc]
+ ldr r0, [r5, r0]
+ add r2, r6, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x20]
+ str r0, [sp, #0x14]
+ mov r0, #3
+ str r0, [sp, #0x18]
+ str r3, [sp, #0x1c]
+ add r3, #0xe7
+ ldr r0, [r5, #4]
+ ldr r3, [r5, r3]
+ bl FUN_0206C700
+ mov r1, #0x66
+ lsl r1, r1, #2
+ str r0, [r5, r1]
+ mov r0, #0xe
+ str r0, [r4]
+ b _0222D7EA
+_0222D7BC:
+ mov r0, #0xf
+ str r0, [r4]
+ b _0222D7EA
+_0222D7C2:
+ mov r0, #0x66
+ lsl r0, r0, #2
+ ldr r5, [r5, r0]
+ add r0, r5, #0
+ bl FUN_0206C91C
+ cmp r0, #1
+ bne _0222D7EA
+ add r0, r5, #0
+ bl FUN_0206C92C
+ mov r0, #0x49
+ bl FUN_020168D0
+ mov r0, #0xd
+ str r0, [r4]
+ b _0222D7EA
+_0222D7E4:
+ add sp, #0x28
+ mov r0, #1
+ pop {r4, r5, r6, pc}
+_0222D7EA:
+ mov r0, #0
+ add sp, #0x28
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0222D7F0: .word 0x00000007
+_0222D7F4: .word 0x00000008
+
+ thumb_func_start MOD11_0222D7F8
+MOD11_0222D7F8: ; 0x0222D7F8
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl MOD11_02258658
+ ldr r0, [r4, #4]
+ bl MOD11_022584AC
+ ldr r1, _0222D834 ; =0x000023FB
+ mov r0, #4
+ ldrb r2, [r4, r1]
+ orr r0, r2
+ strb r0, [r4, r1]
+ mov r0, #2
+ bl FUN_02002CF8
+ add r0, r4, #0
+ mov r1, #3
+ bl MOD11_02231338
+ ldr r0, _0222D838 ; =0x00000008
+ bl FUN_02005F60
+ ldr r0, _0222D83C ; =0x00000009
+ mov r1, #2
+ bl FUN_02005FDC
+ pop {r4, pc}
+ .align 2, 0
+_0222D834: .word 0x000023FB
+_0222D838: .word 0x00000008
+_0222D83C: .word 0x00000009
+
+ thumb_func_start MOD11_0222D840
+MOD11_0222D840: ; 0x0222D840
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #0
+ add r1, r0, #0
+ bl FUN_02015F10
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl MOD11_02258658
+ ldr r0, [r4, #8]
+ bl FUN_02019178
+ ldr r0, [r4, #4]
+ bl MOD11_0222E4E8
+ add r0, r4, #0
+ bl MOD11_0222E51C
+ add r0, r4, #0
+ add r1, r4, #0
+ add r0, #0x90
+ add r1, #0x94
+ ldr r0, [r0]
+ ldr r1, [r1]
+ bl FUN_0200C398
+ add r4, #0x90
+ ldr r0, [r4]
+ bl FUN_0200BD04
+ bl FUN_0201C29C
+ mov r0, #2
+ bl FUN_02002CF8
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0222D88C
+MOD11_0222D88C: ; 0x0222D88C
+ push {r3, r4, r5, lr}
+ add r4, r0, #0
+ ldr r0, _0222D938 ; =0x00000009
+ bl FUN_02005F60
+ ldr r0, _0222D93C ; =0x00000008
+ mov r1, #2
+ bl FUN_02005FDC
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_02231338
+ bl FUN_02022300
+ add r5, r0, #0
+ bl FUN_020222F8
+ add r1, r0, #0
+ mov r0, #0
+ add r2, r5, #0
+ blx MIi_CpuClear16
+ bl FUN_02031190
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223021C
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_022584D4
+ mov r1, #0x67
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #2
+ mov r1, #5
+ bl FUN_02002C50
+ ldr r1, _0222D940 ; =0x000023FB
+ mov r0, #2
+ ldrb r2, [r4, r1]
+ orr r0, r2
+ strb r0, [r4, r1]
+ ldr r0, [r4, #4]
+ bl MOD11_02258450
+ mov r0, #0x10
+ mov r1, #1
+ bl FUN_0201E74C
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl MOD11_022586BC
+ mov r0, #0x67
+ lsl r0, r0, #2
+ mov r1, #0
+ ldr r0, [r4, r0]
+ mov r2, #1
+ add r3, r1, #0
+ bl MOD11_02258820
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl MOD11_02258958
+ mov r0, #1
+ bl FUN_02002840
+ add r0, r4, #0
+ bl MOD11_0222FE94
+ add r4, #0x90
+ ldr r0, [r4]
+ bl FUN_0200BB68
+ mov r2, #0x11
+ mov r1, #0
+ lsl r2, r2, #0x10
+ bl FUN_02008D24
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0222D938: .word 0x00000009
+_0222D93C: .word 0x00000008
+_0222D940: .word 0x000023FB
+
+ thumb_func_start MOD11_0222D944
+MOD11_0222D944: ; 0x0222D944
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ bl FUN_02019178
+ mov r0, #1
+ mov r1, #0
+ bl FUN_0201E6E4
+ mov r0, #2
+ mov r1, #0
+ bl FUN_0201E6E4
+ ldr r0, [r4, #4]
+ mov r1, #1
+ bl FUN_020178A0
+ ldr r0, [r4, #4]
+ mov r1, #2
+ bl FUN_020178A0
+ ldr r0, [r4, #4]
+ mov r1, #3
+ bl FUN_020178A0
+ add r0, r4, #0
+ bl MOD11_02231410
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0222D980
+MOD11_0222D980: ; 0x0222D980
+ push {r4, r5, r6, lr}
+ sub sp, #0x68
+ ldr r1, _0222DB38 ; =0x000023FB
+ add r5, r0, #0
+ ldrb r2, [r5, r1]
+ mov r0, #1
+ ldr r4, _0222DB3C ; =0x0225DAE0
+ bic r2, r0
+ mov r0, #1
+ orr r0, r2
+ strb r0, [r5, r1]
+ add r3, sp, #0x14
+ mov r2, #0xa
+_0222D99A:
+ ldmia r4!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0222D99A
+ ldr r0, [r4]
+ mov r1, #1
+ str r0, [r3]
+ ldr r0, [r5, #4]
+ add r2, sp, #0x14
+ mov r3, #0
+ bl FUN_02016C18
+ ldr r0, [r5, #4]
+ mov r1, #1
+ bl FUN_02018744
+ ldr r0, [r5, #4]
+ mov r1, #2
+ add r2, sp, #0x30
+ mov r3, #0
+ bl FUN_02016C18
+ ldr r0, [r5, #4]
+ mov r1, #2
+ bl FUN_02018744
+ ldr r0, [r5, #4]
+ mov r1, #3
+ add r2, sp, #0x4c
+ mov r3, #0
+ bl FUN_02016C18
+ ldr r0, [r5, #4]
+ mov r1, #3
+ bl FUN_02018744
+ ldr r1, _0222DB40 ; =0x04000008
+ mov r0, #3
+ ldrh r2, [r1]
+ bic r2, r0
+ mov r0, #1
+ orr r2, r0
+ strh r2, [r1]
+ add r1, r0, #0
+ bl FUN_0201E6E4
+ add r0, r5, #0
+ bl MOD11_02230E44
+ add r4, r0, #0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ mov r0, #5
+ str r0, [sp, #4]
+ mov r1, #1
+ ldr r0, [r5, #4]
+ add r2, r1, #0
+ mov r3, #0xa
+ bl FUN_0200D274
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ mov r0, #1
+ str r0, [sp, #8]
+ mov r0, #5
+ str r0, [sp, #0xc]
+ mov r1, #9
+ lsl r1, r1, #0xa
+ ldr r1, [r5, r1]
+ ldr r2, [r5, #4]
+ mov r0, #7
+ add r1, r1, #3
+ mov r3, #3
+ bl FUN_0200687C
+ add r0, r5, #0
+ bl MOD11_02230C68
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ mov r3, #9
+ str r0, [sp, #8]
+ lsl r3, r3, #0xa
+ ldr r6, [r5, r3]
+ ldr r0, [r5, #0x28]
+ lsl r3, r6, #1
+ add r3, r6, r3
+ add r3, #0x9e
+ add r2, r3, r2
+ mov r1, #7
+ mov r3, #5
+ bl FUN_020030E8
+ add r0, r4, #0
+ bl FUN_0200CD64
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0xa0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x28]
+ mov r1, #0x26
+ mov r3, #5
+ bl FUN_020030E8
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0xb0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x28]
+ mov r1, #0xe
+ mov r2, #7
+ mov r3, #5
+ bl FUN_020030E8
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ mov r0, #1
+ str r0, [sp, #8]
+ mov r0, #5
+ str r0, [sp, #0xc]
+ ldr r2, [r5, #4]
+ mov r0, #7
+ mov r1, #2
+ mov r3, #3
+ bl FUN_020068C8
+ mov r0, #1
+ lsl r0, r0, #0x1a
+ ldr r2, [r0]
+ ldr r1, _0222DB44 ; =0xFFFF1FFF
+ ldr r3, _0222DB48 ; =0x04001000
+ and r2, r1
+ str r2, [r0]
+ ldr r2, [r3]
+ and r1, r2
+ add r2, r0, #0
+ str r1, [r3]
+ add r2, #0x48
+ ldrh r3, [r2]
+ mov r1, #0x3f
+ add r0, #0x4a
+ bic r3, r1
+ strh r3, [r2]
+ ldrh r2, [r0]
+ bic r2, r1
+ strh r2, [r0]
+ bl FUN_0201E788
+ mov r0, #0x10
+ mov r1, #1
+ bl FUN_0201E6E4
+ mov r0, #0x10
+ mov r1, #1
+ bl FUN_0201E74C
+ ldr r0, _0222DB4C ; =MOD11_0222F01C
+ add r1, r5, #0
+ bl FUN_02015F10
+ ldr r0, _0222DB38 ; =0x000023FB
+ mov r3, #2
+ ldrb r1, [r5, r0]
+ mov r2, #1
+ orr r1, r3
+ strb r1, [r5, r0]
+ mov r0, #0x13
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #4]
+ mov r0, #4
+ str r0, [sp, #8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #4]
+ ldr r1, [r5, #8]
+ bl FUN_02019064
+ ldr r0, [r5, #8]
+ mov r1, #0xff
+ bl FUN_02019620
+ ldr r0, [r5, #8]
+ mov r1, #0
+ mov r2, #1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ add r0, r5, #0
+ bl MOD11_0222FE94
+ add sp, #0x68
+ pop {r4, r5, r6, pc}
+ nop
+_0222DB38: .word 0x000023FB
+_0222DB3C: .word 0x0225DAE0
+_0222DB40: .word 0x04000008
+_0222DB44: .word 0xFFFF1FFF
+_0222DB48: .word 0x04001000
+_0222DB4C: .word MOD11_0222F01C
+
+ thumb_func_start MOD11_0222DB50
+MOD11_0222DB50: ; 0x0222DB50
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x30
+ bl FUN_02006278
+ add r4, r0, #0
+ bl FUN_020222F0
+ add r5, r0, #0
+ bl FUN_020222E8
+ add r1, r0, #0
+ mov r0, #0
+ add r2, r5, #0
+ blx MIi_CpuClear16
+ bl FUN_02022300
+ add r5, r0, #0
+ bl FUN_020222F8
+ add r1, r0, #0
+ mov r0, #0
+ add r2, r5, #0
+ blx MIi_CpuClear16
+ bl FUN_0201B9D4
+ ldr r1, _0222DF0C ; =0x00002430
+ str r0, [r4, r1]
+ add r0, sp, #0x20
+ add r1, sp, #0x14
+ bl FUN_0201265C
+ ldr r0, _0222DF10 ; =0x021C48B8
+ ldr r6, [sp, #0x24]
+ ldr r5, [r0, #0x2c]
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0x1c]
+ lsl r6, r6, #8
+ add r0, r1, r0
+ lsl r3, r0, #0x18
+ ldr r0, [sp, #0x14]
+ ldr r1, [sp, #0x20]
+ lsl r2, r0, #0x10
+ ldr r0, [sp, #0x28]
+ mul r6, r0
+ lsl r0, r6, #0x10
+ add r0, r1, r0
+ add r0, r2, r0
+ add r0, r3, r0
+ add r0, r5, r0
+ bl FUN_0201B9E0
+ bl MOD11_0222EF30
+ str r0, [r4]
+ bl FUN_02015F1C
+ mov r0, #2
+ mov r1, #5
+ bl FUN_02002C50
+ mov r0, #0xe
+ mov r1, #1
+ mov r2, #0xf
+ mov r3, #5
+ bl FUN_0200B870
+ mov r1, #0x6a
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ ldr r2, [r4, r1]
+ add r0, r1, #4
+ str r2, [r4, r0]
+ mov r0, #5
+ bl FUN_02002FD0
+ str r0, [r4, #0x28]
+ mov r1, #1
+ bl FUN_020038F0
+ mov r2, #2
+ ldr r0, [r4, #0x28]
+ mov r1, #0
+ lsl r2, r2, #8
+ mov r3, #5
+ bl FUN_02003008
+ mov r1, #1
+ ldr r0, [r4, #0x28]
+ lsl r2, r1, #9
+ mov r3, #5
+ bl FUN_02003008
+ mov r2, #7
+ ldr r0, [r4, #0x28]
+ mov r1, #2
+ lsl r2, r2, #6
+ mov r3, #5
+ bl FUN_02003008
+ mov r2, #2
+ ldr r0, [r4, #0x28]
+ mov r1, #3
+ lsl r2, r2, #8
+ mov r3, #5
+ bl FUN_02003008
+ mov r0, #5
+ bl FUN_02016B94
+ str r0, [r4, #4]
+ mov r0, #5
+ mov r1, #3
+ bl FUN_02018FF4
+ mov r7, #0x73
+ str r0, [r4, #8]
+ mov r6, #0
+ add r5, r4, #0
+ lsl r7, r7, #2
+_0222DC42:
+ mov r1, #0x32
+ mov r0, #5
+ lsl r1, r1, #6
+ bl FUN_02016998
+ str r0, [r5, r7]
+ add r6, r6, #1
+ add r5, #0x10
+ cmp r6, #4
+ blt _0222DC42
+ mov r0, #0x40
+ mov r1, #5
+ bl FUN_0201C24C
+ bl FUN_02031190
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223021C
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_022584D4
+ mov r1, #0x67
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ ldr r1, [r4, #4]
+ add r0, r4, #0
+ bl MOD11_0222E264
+ mov r0, #0x13
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #4]
+ mov r0, #4
+ str r0, [sp, #8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ str r0, [sp, #0x10]
+ ldr r0, [r4, #4]
+ ldr r1, [r4, #8]
+ mov r2, #1
+ mov r3, #2
+ bl FUN_02019064
+ ldr r0, [r4, #8]
+ mov r1, #0xff
+ bl FUN_02019620
+ ldr r0, [r4, #8]
+ mov r1, #0
+ mov r2, #1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ mov r0, #5
+ bl FUN_0200BB14
+ add r1, r4, #0
+ add r1, #0x90
+ str r0, [r1]
+ add r0, r4, #0
+ add r0, #0x90
+ ldr r0, [r0]
+ ldr r1, _0222DF14 ; =0x0225DA20
+ ldr r2, _0222DF18 ; =0x0225D9D8
+ mov r3, #0x20
+ bl FUN_0200BB6C
+ ldr r1, _0222DF1C ; =0x00100010
+ mov r0, #1
+ bl FUN_02008D44
+ mov r0, #1
+ bl FUN_02008DDC
+ add r0, r4, #0
+ add r0, #0x90
+ ldr r0, [r0]
+ bl FUN_0200BB34
+ add r1, r4, #0
+ add r1, #0x94
+ str r0, [r1]
+ add r0, r4, #0
+ add r1, r4, #0
+ add r0, #0x90
+ add r1, #0x94
+ ldr r0, [r0]
+ ldr r1, [r1]
+ mov r2, #0x80
+ bl FUN_0200BBF0
+ add r0, r4, #0
+ add r1, r4, #0
+ add r0, #0x90
+ add r1, #0x94
+ ldr r0, [r0]
+ ldr r1, [r1]
+ ldr r2, _0222DF20 ; =0x0225D9EC
+ bl FUN_0200BF60
+ add r0, r4, #0
+ add r0, #0x90
+ ldr r0, [r0]
+ bl FUN_0200BB68
+ mov r2, #0x11
+ mov r1, #0
+ lsl r2, r2, #0x10
+ bl FUN_02008D24
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl MOD11_022586BC
+ mov r0, #0x67
+ lsl r0, r0, #2
+ mov r1, #0
+ ldr r0, [r4, r0]
+ mov r2, #1
+ add r3, r1, #0
+ bl MOD11_02258820
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl MOD11_02258958
+ mov r0, #5
+ bl FUN_02006D98
+ add r1, r4, #0
+ add r1, #0x88
+ str r0, [r1]
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #0
+ mov r2, #0xc0
+ bl FUN_020081B4
+ add r0, r4, #0
+ bl MOD11_02231390
+ bl MOD11_0222EFDC
+ mov r0, #5
+ bl FUN_02211F5C
+ add r1, r4, #0
+ add r1, #0x8c
+ str r0, [r1]
+ add r0, r4, #0
+ bl MOD11_0222E470
+ bl FUN_0201CC08
+ mov r0, #4
+ bl FUN_0201CC24
+ mov r2, #0x51
+ mov r0, #1
+ mov r1, #0x1a
+ lsl r2, r2, #2
+ mov r3, #5
+ bl FUN_0200A86C
+ str r0, [r4, #0xc]
+ mov r0, #1
+ mov r1, #0x1a
+ mov r2, #0
+ mov r3, #5
+ bl FUN_0200A86C
+ str r0, [r4, #0x10]
+ mov r0, #5
+ bl FUN_0200AA80
+ str r0, [r4, #0x14]
+ mov r0, #5
+ lsl r0, r0, #6
+ mov r1, #5
+ bl FUN_020219F4
+ str r0, [r4, #0x18]
+ ldr r0, [r4, #0x28]
+ mov r1, #0
+ bl FUN_020031FC
+ ldr r1, _0222DF24 ; =0x00002224
+ mov r2, #0xe0
+ add r1, r4, r1
+ blx MIi_CpuCopy16
+ ldr r0, [r4, #0x28]
+ mov r1, #2
+ bl FUN_020031FC
+ ldr r1, _0222DF28 ; =0x00002304
+ mov r2, #0xe0
+ add r1, r4, r1
+ blx MIi_CpuCopy16
+ add r0, r4, #0
+ bl MOD11_02230C68
+ mov r1, #0
+ lsl r5, r0, #2
+ mov r3, #9
+ str r1, [sp]
+ mov r0, #0x70
+ str r0, [sp, #4]
+ lsl r3, r3, #0xa
+ ldr r3, [r4, r3]
+ mov r6, #0xc
+ mul r6, r3
+ ldr r3, _0222DF2C ; =0x0225DB88
+ ldr r0, [r4, #0x28]
+ add r3, r3, r6
+ ldr r3, [r5, r3]
+ mov r2, #2
+ lsl r3, r3, #0x10
+ lsr r3, r3, #0x10
+ bl FUN_02003914
+ mov r0, #0xc0
+ str r0, [sp]
+ add r0, #0x40
+ mov r3, #9
+ str r0, [sp, #4]
+ lsl r3, r3, #0xa
+ ldr r3, [r4, r3]
+ mov r6, #0xc
+ mul r6, r3
+ ldr r3, _0222DF2C ; =0x0225DB88
+ ldr r0, [r4, #0x28]
+ add r3, r3, r6
+ ldr r3, [r5, r3]
+ mov r1, #0
+ lsl r3, r3, #0x10
+ mov r2, #2
+ lsr r3, r3, #0x10
+ bl FUN_02003914
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0xdf
+ mov r3, #9
+ str r0, [sp, #4]
+ lsl r3, r3, #0xa
+ mov r1, #2
+ ldr r3, [r4, r3]
+ mov r6, #0xc
+ mul r6, r3
+ ldr r3, _0222DF2C ; =0x0225DB88
+ ldr r0, [r4, #0x28]
+ add r3, r3, r6
+ ldr r3, [r5, r3]
+ add r2, r1, #0
+ lsl r3, r3, #0x10
+ lsr r3, r3, #0x10
+ bl FUN_02003914
+ mov r1, #0
+ mov r0, #0xa0
+ str r0, [sp]
+ mov r0, #0xc0
+ str r0, [sp, #4]
+ ldr r0, [r4, #0x28]
+ add r2, r1, #0
+ add r3, r1, #0
+ bl FUN_02003914
+ mov r2, #0
+ str r2, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, [r4, #0x28]
+ ldr r3, _0222DF30 ; =0x0000FFFF
+ mov r1, #1
+ bl FUN_02003914
+ mov r2, #0
+ str r2, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, [r4, #0x28]
+ ldr r3, _0222DF30 ; =0x0000FFFF
+ mov r1, #3
+ bl FUN_02003914
+ ldr r0, [r4, #0x28]
+ mov r1, #0
+ mov r2, #0xb
+ mov r3, #5
+ bl FUN_020142EC
+ mov r1, #0x1b
+ lsl r1, r1, #4
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ mov r1, #1
+ bl FUN_020143A8
+ ldr r0, _0222DF34 ; =MOD11_0222F100
+ ldr r2, _0222DF38 ; =0x0000EA60
+ add r1, r4, #0
+ bl FUN_0200CA44
+ str r0, [r4, #0x1c]
+ ldr r0, _0222DF3C ; =MOD11_0222F144
+ ldr r2, _0222DF40 ; =0x0000C350
+ add r1, r4, #0
+ bl FUN_0200CA44
+ str r0, [r4, #0x20]
+ mov r2, #0x4b
+ ldr r0, _0222DF44 ; =MOD11_0222F254
+ add r1, r4, #0
+ lsl r2, r2, #4
+ bl FUN_0200CA60
+ str r0, [r4, #0x24]
+ mov r1, #0x32
+ ldr r0, _0222DF48 ; =0x00002434
+ mvn r1, r1
+ str r1, [r4, r0]
+ add r0, r4, #0
+ bl MOD11_0222FE94
+ add r0, r4, #0
+ bl MOD11_02230218
+ bl FUN_0206F1C0
+ mov r0, #5
+ mov r1, #4
+ mov r2, #0
+ bl FUN_02014BF4
+ mov r1, #0x71
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #2
+ mov r1, #5
+ bl FUN_0201C328
+ mov r1, #0x72
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0222DF0C: .word 0x00002430
+_0222DF10: .word 0x021C48B8
+_0222DF14: .word 0x0225DA20
+_0222DF18: .word 0x0225D9D8
+_0222DF1C: .word 0x00100010
+_0222DF20: .word 0x0225D9EC
+_0222DF24: .word 0x00002224
+_0222DF28: .word 0x00002304
+_0222DF2C: .word 0x0225DB88
+_0222DF30: .word 0x0000FFFF
+_0222DF34: .word MOD11_0222F100
+_0222DF38: .word 0x0000EA60
+_0222DF3C: .word MOD11_0222F144
+_0222DF40: .word 0x0000C350
+_0222DF44: .word MOD11_0222F254
+_0222DF48: .word 0x00002434
+
+ thumb_func_start MOD11_0222DF4C
+MOD11_0222DF4C: ; 0x0222DF4C
+ push {r4, r5, r6, lr}
+ bl FUN_02006278
+ ldr r1, _0222DF9C ; =0x000023F8
+ add r4, r0, #0
+ ldrb r1, [r4, r1]
+ cmp r1, #0
+ beq _0222DF7A
+ ldr r2, [r4, #0x2c]
+ mov r1, #4
+ tst r1, r2
+ ldr r1, [r4, #0x30]
+ beq _0222DF6C
+ bl MOD11_0223D238
+ b _0222DF7A
+_0222DF6C:
+ bl MOD11_0223D238
+ ldr r1, _0222DFA0 ; =0x000023FA
+ strb r0, [r4, r1]
+ add r0, r4, #0
+ bl MOD11_02254820
+_0222DF7A:
+ ldr r0, [r4, #0x44]
+ mov r6, #0
+ cmp r0, #0
+ ble _0222DF96
+ add r5, r4, #0
+_0222DF84:
+ ldr r1, [r5, #0x34]
+ add r0, r4, #0
+ bl MOD11_0224CB38
+ ldr r0, [r4, #0x44]
+ add r6, r6, #1
+ add r5, r5, #4
+ cmp r6, r0
+ blt _0222DF84
+_0222DF96:
+ ldr r0, _0222DFA0 ; =0x000023FA
+ ldrb r0, [r4, r0]
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0222DF9C: .word 0x000023F8
+_0222DFA0: .word 0x000023FA
+
+ thumb_func_start MOD11_0222DFA4
+MOD11_0222DFA4: ; 0x0222DFA4
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ bl FUN_02006278
+ add r4, r0, #0
+ add r0, r5, #0
+ bl FUN_0200628C
+ add r7, r0, #0
+ mov r0, #0
+ add r1, r0, #0
+ bl FUN_0200E3A0
+ mov r0, #1
+ mov r1, #0
+ bl FUN_0200E3A0
+ add r0, r4, #0
+ bl MOD11_02230EC8
+ ldr r0, _0222E248 ; =0x0000241C
+ ldrb r0, [r4, r0]
+ cmp r0, #4
+ beq _0222DFE4
+ ldr r0, [r4, #0x6c]
+ mov r1, #0
+ bl FUN_0206B9B0
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_02230FA8
+_0222DFE4:
+ mov r0, #0
+ str r0, [sp]
+ add r6, r7, #0
+ add r5, r4, #0
+_0222DFEC:
+ ldr r0, [r5, #0x68]
+ ldr r1, [r6, #4]
+ bl FUN_0206BAD0
+ ldr r0, [r5, #0x68]
+ bl FUN_02016A18
+ add r1, r6, #0
+ add r1, #0xf8
+ ldr r0, [r5, #0x48]
+ ldr r1, [r1]
+ bl FUN_0202393C
+ ldr r0, [r5, #0x48]
+ bl FUN_02016A18
+ ldr r0, [sp]
+ add r6, r6, #4
+ add r0, r0, #1
+ add r5, r5, #4
+ str r0, [sp]
+ cmp r0, #4
+ blt _0222DFEC
+ mov r0, #0x1b
+ lsl r0, r0, #4
+ ldr r0, [r4, r0]
+ bl FUN_020143D0
+ mov r1, #0x42
+ lsl r1, r1, #2
+ ldr r0, [r4, #0x58]
+ ldr r1, [r7, r1]
+ bl FUN_0206EBB4
+ ldr r0, [r4, #0x58]
+ bl FUN_02016A18
+ mov r1, #0x11
+ lsl r1, r1, #4
+ ldr r0, [r4, #0x60]
+ ldr r1, [r7, r1]
+ bl FUN_02023D80
+ ldr r0, [r4, #0x60]
+ bl FUN_02016A18
+ mov r0, #0x45
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ str r1, [r7, r0]
+ add r1, r0, #0
+ ldr r2, [r4, #0x5c]
+ sub r1, #8
+ str r2, [r7, r1]
+ add r1, r4, #0
+ add r1, #0x98
+ ldr r2, [r1]
+ add r1, r0, #0
+ add r1, #0x14
+ str r2, [r7, r1]
+ add r1, r4, #0
+ add r1, #0x9c
+ ldr r2, [r1]
+ add r1, r0, #0
+ add r1, #0x20
+ str r2, [r7, r1]
+ add r1, r0, #0
+ ldr r2, _0222E24C ; =0x00002410
+ add r1, #0x7c
+ ldr r3, [r4, r2]
+ add r0, #0x5c
+ str r3, [r7, r1]
+ add r1, r2, #0
+ add r1, #0xc
+ ldrb r3, [r4, r1]
+ mov r1, #0x3f
+ add r2, #0x28
+ and r1, r3
+ str r1, [r7, #0x14]
+ ldr r1, [r4, r2]
+ mov r2, #4
+ str r1, [r7, r0]
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r3, #0
+ bl MOD11_0224C474
+ mov r1, #0x5e
+ lsl r1, r1, #2
+ str r0, [r7, r1]
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #3
+ mov r3, #0
+ bl MOD11_0224C474
+ mov r1, #0x4e
+ lsl r1, r1, #2
+ ldr r2, [r7, r1]
+ mov r3, #0
+ add r0, r2, r0
+ str r0, [r7, r1]
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #6
+ bl MOD11_0224C474
+ add r5, r0, #0
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #6
+ mov r3, #2
+ bl MOD11_0224C474
+ mov r1, #0x4f
+ lsl r1, r1, #2
+ ldr r2, [r7, r1]
+ add r0, r5, r0
+ add r0, r2, r0
+ str r0, [r7, r1]
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #7
+ mov r3, #0
+ bl MOD11_0224C474
+ add r5, r0, #0
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #7
+ mov r3, #2
+ bl MOD11_0224C474
+ mov r1, #5
+ lsl r1, r1, #6
+ ldr r2, [r7, r1]
+ add r0, r5, r0
+ add r0, r2, r0
+ str r0, [r7, r1]
+ add r7, r1, #0
+ mov r6, #0
+ add r5, r4, #0
+ add r7, #0x8c
+_0222E10A:
+ ldr r0, [r5, r7]
+ bl FUN_02016A18
+ add r6, r6, #1
+ add r5, #0x10
+ cmp r6, #4
+ blt _0222E10A
+ ldr r0, [r4, #0x18]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x28]
+ mov r1, #0
+ bl FUN_02003038
+ ldr r0, [r4, #0x28]
+ mov r1, #1
+ bl FUN_02003038
+ ldr r0, [r4, #0x28]
+ mov r1, #2
+ bl FUN_02003038
+ ldr r0, [r4, #0x28]
+ mov r1, #3
+ bl FUN_02003038
+ ldr r0, [r4, #0x28]
+ bl FUN_02002FEC
+ ldr r0, [r4, #0xc]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x10]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x14]
+ bl FUN_0200AB18
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl FUN_02014C28
+ bl FUN_02012EAC
+ add r0, r4, #0
+ add r0, #0x8c
+ ldr r0, [r0]
+ bl FUN_02212024
+ ldr r0, [r4, #0x30]
+ bl MOD11_0223D284
+ ldr r0, [r4, #0x44]
+ mov r6, #0
+ cmp r0, #0
+ ble _0222E194
+ ldr r7, _0222E250 ; =0x000023F9
+ add r5, r4, #0
+_0222E180:
+ ldrb r2, [r4, r7]
+ ldr r1, [r5, #0x34]
+ add r0, r4, #0
+ bl MOD11_0224CB54
+ ldr r0, [r4, #0x44]
+ add r6, r6, #1
+ add r5, r5, #4
+ cmp r6, r0
+ blt _0222E180
+_0222E194:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl FUN_020072E8
+ ldr r0, _0222E250 ; =0x000023F9
+ ldrb r0, [r4, r0]
+ cmp r0, #2
+ beq _0222E1AC
+ add r0, r4, #0
+ bl MOD11_0222D840
+_0222E1AC:
+ mov r0, #0
+ bl FUN_02002B60
+ mov r0, #0
+ bl FUN_02002B7C
+ mov r0, #0
+ bl FUN_02002BB8
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_020191A4
+ ldr r0, [r4, #4]
+ bl FUN_02016A18
+ mov r0, #0x87
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ mov r0, #0x22
+ lsl r0, r0, #4
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ mov r0, #0x6a
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl FUN_0200B990
+ mov r0, #2
+ bl FUN_02002CF8
+ ldr r0, [r4, #0x1c]
+ bl FUN_0200CAB4
+ ldr r0, [r4, #0x20]
+ bl FUN_0200CAB4
+ bl FUN_0201CD04
+ ldr r0, [r4]
+ bl MOD11_0222EFD4
+ ldr r0, _0222E254 ; =0x00002430
+ ldr r0, [r4, r0]
+ bl FUN_0201B9E0
+ add r0, r4, #0
+ bl MOD11_02231474
+ cmp r0, #0
+ beq _0222E220
+ ldr r0, _0222E258 ; =0x00000704
+ mov r1, #0
+ bl FUN_020054F0
+_0222E220:
+ mov r0, #0x72
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ bl FUN_0201C350
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, _0222E25C ; =0x00000008
+ bl FUN_02005F60
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0222E244
+ ldr r0, _0222E260 ; =0x00000010
+ bl FUN_02005F60
+_0222E244:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0222E248: .word 0x0000241C
+_0222E24C: .word 0x00002410
+_0222E250: .word 0x000023F9
+_0222E254: .word 0x00002430
+_0222E258: .word 0x00000704
+_0222E25C: .word 0x00000008
+_0222E260: .word 0x00000010
+
+ thumb_func_start MOD11_0222E264
+MOD11_0222E264: ; 0x0222E264
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x9c
+ add r5, r0, #0
+ add r4, r1, #0
+ bl FUN_0201E6D8
+ mov r0, #0
+ bl FUN_0200E394
+ mov r0, #1
+ bl FUN_0200E394
+ ldr r6, _0222E450 ; =0x0225DA68
+ add r3, sp, #0x20
+ mov r2, #5
+_0222E282:
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0222E282
+ add r0, sp, #0x20
+ bl FUN_0201E66C
+ mov r1, #6
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x12
+ blx MIi_CpuClear32
+ mov r1, #0x62
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ blx MIi_CpuClear32
+ mov r1, #0x19
+ mov r2, #1
+ mov r0, #0
+ lsl r1, r1, #0x16
+ lsl r2, r2, #0x12
+ blx MIi_CpuClear32
+ mov r1, #0x66
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ blx MIi_CpuClear32
+ ldr r6, _0222E454 ; =0x0225D9A8
+ add r3, sp, #0x10
+ add r2, r3, #0
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ add r0, r2, #0
+ bl FUN_02016BBC
+ ldr r1, _0222E458 ; =0x000023FB
+ mov r0, #1
+ ldrb r2, [r5, r1]
+ ldr r6, _0222E45C ; =0x0225DB34
+ add r3, sp, #0x48
+ bic r2, r0
+ mov r0, #1
+ orr r0, r2
+ strb r0, [r5, r1]
+ mov r2, #0xa
+_0222E2F0:
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0222E2F0
+ ldr r0, [r6]
+ mov r1, #1
+ str r0, [r3]
+ add r0, r4, #0
+ add r2, sp, #0x48
+ mov r3, #0
+ bl FUN_02016C18
+ add r0, r4, #0
+ mov r1, #1
+ bl FUN_02018744
+ add r0, r4, #0
+ mov r1, #2
+ add r2, sp, #0x64
+ mov r3, #0
+ bl FUN_02016C18
+ add r0, r4, #0
+ mov r1, #2
+ bl FUN_02018744
+ add r0, r4, #0
+ mov r1, #3
+ add r2, sp, #0x80
+ mov r3, #0
+ bl FUN_02016C18
+ add r0, r4, #0
+ mov r1, #3
+ bl FUN_02018744
+ ldr r1, _0222E460 ; =0x04000008
+ mov r0, #3
+ ldrh r2, [r1]
+ bic r2, r0
+ mov r0, #1
+ orr r2, r0
+ strh r2, [r1]
+ add r1, r0, #0
+ bl FUN_0201E6E4
+ add r0, r4, #0
+ bl MOD11_02258450
+ add r0, r5, #0
+ bl MOD11_02230E44
+ add r7, r0, #0
+ lsl r0, r7, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #1
+ str r0, [sp, #4]
+ add r0, r4, #0
+ add r2, r1, #0
+ mov r3, #0xa
+ bl FUN_0200D274
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ mov r0, #1
+ str r0, [sp, #8]
+ mov r0, #5
+ mov r1, #9
+ str r0, [sp, #0xc]
+ lsl r1, r1, #0xa
+ ldr r1, [r5, r1]
+ mov r0, #7
+ add r1, r1, #3
+ add r2, r4, #0
+ mov r3, #3
+ bl FUN_0200687C
+ add r0, r5, #0
+ bl MOD11_02230C68
+ add r6, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ mov r2, #9
+ str r0, [sp, #8]
+ lsl r2, r2, #0xa
+ ldr r3, [r5, r2]
+ ldr r0, [r5, #0x28]
+ lsl r2, r3, #1
+ add r2, r3, r2
+ add r2, #0x9e
+ mov r1, #7
+ add r2, r2, r6
+ mov r3, #5
+ bl FUN_020030E8
+ add r0, r7, #0
+ bl FUN_0200CD64
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0xa0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x28]
+ mov r1, #0x26
+ mov r3, #5
+ bl FUN_020030E8
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0xb0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x28]
+ mov r1, #0xe
+ mov r2, #7
+ mov r3, #5
+ bl FUN_020030E8
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ mov r0, #1
+ str r0, [sp, #8]
+ mov r0, #5
+ str r0, [sp, #0xc]
+ mov r0, #7
+ mov r1, #2
+ add r2, r4, #0
+ mov r3, #3
+ bl FUN_020068C8
+ mov r0, #1
+ lsl r0, r0, #0x1a
+ ldr r2, [r0]
+ ldr r1, _0222E464 ; =0xFFFF1FFF
+ ldr r3, _0222E468 ; =0x04001000
+ and r2, r1
+ str r2, [r0]
+ ldr r2, [r3]
+ and r1, r2
+ add r2, r0, #0
+ str r1, [r3]
+ add r2, #0x48
+ ldrh r3, [r2]
+ mov r1, #0x3f
+ add r0, #0x4a
+ bic r3, r1
+ strh r3, [r2]
+ ldrh r2, [r0]
+ bic r2, r1
+ strh r2, [r0]
+ bl FUN_0201E788
+ mov r0, #0x10
+ mov r1, #1
+ bl FUN_0201E6E4
+ mov r0, #0x10
+ mov r1, #1
+ bl FUN_0201E74C
+ ldr r0, _0222E46C ; =MOD11_0222F01C
+ add r1, r5, #0
+ bl FUN_02015F10
+ add sp, #0x9c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0222E450: .word 0x0225DA68
+_0222E454: .word 0x0225D9A8
+_0222E458: .word 0x000023FB
+_0222E45C: .word 0x0225DB34
+_0222E460: .word 0x04000008
+_0222E464: .word 0xFFFF1FFF
+_0222E468: .word 0x04001000
+_0222E46C: .word MOD11_0222F01C
+
+ thumb_func_start MOD11_0222E470
+MOD11_0222E470: ; 0x0222E470
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ bl MOD11_02230294
+ add r4, r0, #0
+ mov r0, #0x5f
+ lsl r0, r0, #2
+ add r0, r5, r0
+ add r1, r5, #0
+ mov r2, #0
+ add r3, r4, #0
+ bl MOD11_022583D8
+ mov r0, #0x63
+ lsl r0, r0, #2
+ add r0, r5, r0
+ add r1, r5, #0
+ mov r2, #1
+ add r3, r4, #0
+ bl MOD11_022583D8
+ add r0, r5, #0
+ bl MOD11_0222FF78
+ str r0, [sp]
+ ldr r0, [r5, #0x44]
+ mov r4, #0
+ cmp r0, #0
+ ble _0222E4E2
+ add r6, r5, #0
+_0222E4AC:
+ ldr r1, [sp]
+ add r0, r5, #0
+ mov r2, #2
+ add r3, r4, #0
+ bl MOD11_0224C474
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_02230014
+ mov r1, #0x9a
+ mov r2, #0
+ bl FUN_020671BC
+ add r2, r0, #0
+ ldr r1, [r6, #0x34]
+ add r0, r5, #0
+ add r3, r7, #0
+ bl MOD11_0224CA94
+ ldr r0, [r5, #0x44]
+ add r4, r4, #1
+ add r6, r6, #4
+ cmp r4, r0
+ blt _0222E4AC
+_0222E4E2:
+ bl FUN_02033E74
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0222E4E8
+MOD11_0222E4E8: ; 0x0222E4E8
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #1
+ mov r1, #0
+ bl FUN_0201E6E4
+ mov r0, #2
+ mov r1, #0
+ bl FUN_0201E6E4
+ add r0, r4, #0
+ mov r1, #1
+ bl FUN_020178A0
+ add r0, r4, #0
+ mov r1, #2
+ bl FUN_020178A0
+ add r0, r4, #0
+ mov r1, #3
+ bl FUN_020178A0
+ add r0, r4, #0
+ bl MOD11_022584AC
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0222E51C
+MOD11_0222E51C: ; 0x0222E51C
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0222E520
+MOD11_0222E520: ; 0x0222E520
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x40
+ add r4, r0, #0
+ ldr r0, [r1]
+ str r1, [sp, #4]
+ str r0, [r4, #0x2c]
+ mov r7, #0
+ add r6, r4, #0
+ add r5, r1, #0
+_0222E532:
+ mov r0, #5
+ bl FUN_02023928
+ add r1, r0, #0
+ add r0, r5, #0
+ str r1, [r6, #0x48]
+ add r0, #0xf8
+ ldr r0, [r0]
+ bl FUN_0202393C
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ add r7, r7, #1
+ str r0, [r6, #0x78]
+ add r6, r6, #4
+ add r5, r5, #4
+ cmp r7, #4
+ blt _0222E532
+ mov r0, #5
+ bl FUN_0206EB88
+ str r0, [r4, #0x58]
+ mov r1, #0x42
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ ldr r1, [r4, #0x58]
+ bl FUN_0206EBB4
+ mov r0, #5
+ bl FUN_02023D6C
+ str r0, [r4, #0x60]
+ mov r1, #0x11
+ ldr r0, [sp, #4]
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+ ldr r1, [r4, #0x60]
+ bl FUN_02023D80
+ mov r1, #0x45
+ lsl r1, r1, #2
+ ldr r0, [sp, #4]
+ add r2, r1, #0
+ ldr r0, [r0, r1]
+ add r3, r1, #0
+ str r0, [r4, #0x64]
+ ldr r0, [sp, #4]
+ add r2, #0x1c
+ ldr r2, [r0, r2]
+ add r0, r1, #0
+ add r0, #0xa0
+ str r2, [r4, r0]
+ add r2, r1, #0
+ ldr r0, [sp, #4]
+ add r2, #0x38
+ ldr r2, [r0, r2]
+ add r0, r1, #0
+ add r0, #0xa4
+ str r2, [r4, r0]
+ add r2, r1, #0
+ ldr r0, [sp, #4]
+ sub r2, #8
+ ldr r0, [r0, r2]
+ add r2, r1, #0
+ str r0, [r4, #0x5c]
+ ldr r0, [sp, #4]
+ add r2, #0x14
+ ldr r2, [r0, r2]
+ add r0, r4, #0
+ add r0, #0x98
+ str r2, [r0]
+ add r2, r1, #0
+ ldr r0, [sp, #4]
+ add r2, #0x50
+ ldr r2, [r0, r2]
+ ldr r0, _0222E8BC ; =0x00002420
+ add r3, #0x20
+ str r2, [r4, r0]
+ ldr r2, [sp, #4]
+ ldr r3, [r2, r3]
+ add r2, r4, #0
+ add r2, #0x9c
+ str r3, [r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x7c
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #0x10
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x40
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #0x24
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x3c
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #0x20
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x44
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #0x1c
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x4c
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #0x14
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x78
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #0x18
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x80
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ sub r2, #8
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x54
+ ldr r3, [r2, r3]
+ add r2, r0, #4
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x58
+ ldr r3, [r2, r3]
+ add r2, r0, #0
+ add r2, #0xc
+ str r3, [r4, r2]
+ add r3, r1, #0
+ ldr r2, [sp, #4]
+ add r3, #0x60
+ ldr r2, [r2, r3]
+ add r0, #8
+ str r2, [r4, r0]
+ ldr r0, [sp, #4]
+ add r1, #0x30
+ ldr r0, [r0, r1]
+ mov r1, #0x86
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ ldr r0, [sp, #4]
+ sub r1, #0xd4
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ bne _0222E67E
+ bl ErrorHandling
+_0222E67E:
+ ldr r5, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ str r4, [sp, #0x30]
+ add r6, r5, #0
+ add r7, r4, #0
+_0222E68A:
+ ldr r0, [sp, #0x30]
+ ldr r1, [r5, #0x18]
+ add r0, #0xa0
+ strh r1, [r0]
+ add r3, r6, #0
+ add r2, r7, #0
+ mov r0, #6
+ add r3, #0x28
+ add r2, #0xac
+ mov ip, r0
+_0222E69E:
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ mov r0, ip
+ sub r0, r0, #1
+ mov ip, r0
+ bne _0222E69E
+ ldr r0, [r3]
+ add r5, r5, #4
+ str r0, [r2]
+ ldr r0, [sp, #0x30]
+ add r6, #0x34
+ add r0, r0, #2
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #8]
+ add r7, #0x34
+ add r0, r0, #1
+ str r0, [sp, #8]
+ cmp r0, #4
+ blt _0222E68A
+ add r0, r4, #0
+ bl MOD11_0223D1DC
+ str r0, [r4, #0x30]
+ mov r6, #0
+ add r5, r4, #0
+ mov r7, #5
+_0222E6D2:
+ add r0, r7, #0
+ bl FUN_0206B8AC
+ str r0, [r5, #0x68]
+ add r6, r6, #1
+ add r5, r5, #4
+ cmp r6, #4
+ blt _0222E6D2
+ ldr r0, [r4, #0x2c]
+ mov r1, #4
+ tst r1, r0
+ bne _0222E6EC
+ b _0222EA8A
+_0222E6EC:
+ add r0, r4, #0
+ bl FUN_0206BF90
+ bl FUN_02031190
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x34]
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0222FEC0
+ ldr r1, [r4, #0x2c]
+ mov r0, #0x80
+ tst r0, r1
+ beq _0222E7D0
+ ldr r6, _0222E8C0 ; =0x0225DC18
+ mov r5, #0
+ add r7, r4, #0
+_0222E712:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ str r0, [r7, #0x34]
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #4
+ blt _0222E712
+ str r5, [r4, #0x44]
+ mov r6, #0
+ add r5, r4, #0
+_0222E734:
+ ldr r1, [r5, #0x34]
+ add r0, r4, #0
+ bl MOD11_0225377C
+ ldr r0, [sp, #4]
+ ldr r1, [r5, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r0, r0, #4
+ add r5, r5, #4
+ str r0, [sp, #4]
+ cmp r6, #4
+ blt _0222E734
+ mov r0, #0
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x44]
+ cmp r0, #0
+ ble _0222E7C6
+ add r7, r4, #0
+_0222E760:
+ ldr r0, [r7, #0x68]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222E7AA
+_0222E76C:
+ ldr r0, [r7, #0x68]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222E79E
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E79E
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E7AA
+_0222E79E:
+ ldr r0, [r7, #0x68]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222E76C
+_0222E7AA:
+ str r5, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0xc]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #0xc]
+ ldr r1, [r4, #0x44]
+ add r0, r0, #1
+ add r7, r7, #4
+ str r0, [sp, #0xc]
+ cmp r0, r1
+ blt _0222E760
+_0222E7C6:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ b _0222EA80
+_0222E7D0:
+ mov r0, #8
+ tst r0, r1
+ beq _0222E8AC
+ mov r5, #0
+ add r6, r4, #0
+_0222E7DA:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldr r0, [sp, #0x34]
+ bl FUN_020313CC
+ add r7, r0, #0
+ add r0, r5, #0
+ bl FUN_020313CC
+ ldr r1, _0222E8C4 ; =0x0225D9C8
+ lsl r2, r7, #2
+ add r1, r1, r2
+ ldrb r1, [r0, r1]
+ add r0, sp, #0x3c
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ str r0, [r6, #0x34]
+ add r5, r5, #1
+ add r6, r6, #4
+ cmp r5, #4
+ blt _0222E7DA
+ str r5, [r4, #0x44]
+ mov r6, #0
+ add r5, r4, #0
+_0222E810:
+ ldr r1, [r5, #0x34]
+ add r0, r4, #0
+ bl MOD11_0225377C
+ ldr r0, [sp, #4]
+ ldr r1, [r5, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r0, r0, #4
+ add r5, r5, #4
+ str r0, [sp, #4]
+ cmp r6, #4
+ blt _0222E810
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [r4, #0x44]
+ cmp r0, #0
+ ble _0222E8A2
+ add r7, r4, #0
+_0222E83C:
+ ldr r0, [r7, #0x68]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222E886
+_0222E848:
+ ldr r0, [r7, #0x68]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222E87A
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E87A
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E886
+_0222E87A:
+ ldr r0, [r7, #0x68]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222E848
+_0222E886:
+ str r5, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x10]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #0x10]
+ ldr r1, [r4, #0x44]
+ add r0, r0, #1
+ add r7, r7, #4
+ str r0, [sp, #0x10]
+ cmp r0, r1
+ blt _0222E83C
+_0222E8A2:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ b _0222EA80
+_0222E8AC:
+ mov r0, #2
+ tst r0, r1
+ bne _0222E8B4
+ b _0222E9D4
+_0222E8B4:
+ ldr r0, [sp, #0x34]
+ ldr r1, _0222E8C8 ; =0x0225D9A0
+ b _0222E8CC
+ nop
+_0222E8BC: .word 0x00002420
+_0222E8C0: .word 0x0225DC18
+_0222E8C4: .word 0x0225D9C8
+_0222E8C8: .word 0x0225D9A0
+_0222E8CC:
+ lsl r0, r0, #2
+ mov r5, #0
+ add r6, r1, r0
+ add r7, r4, #0
+_0222E8D4:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ add r1, r0, #0
+ add r0, r4, #0
+ str r1, [r7, #0x34]
+ bl MOD11_0225377C
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #4
+ blt _0222E8D4
+ str r5, [r4, #0x44]
+ mov r6, #0
+ add r5, r4, #0
+_0222E8FE:
+ ldr r0, [sp, #4]
+ ldr r1, [r5, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r0, r0, #4
+ add r5, r5, #4
+ str r0, [sp, #4]
+ cmp r6, #4
+ blt _0222E8FE
+ mov r0, #0
+ str r0, [sp, #0x14]
+ ldr r0, [r4, #0x44]
+ cmp r0, #0
+ ble _0222E9D2
+_0222E920:
+ ldr r0, [sp, #0x14]
+ mov r1, #1
+ and r0, r1
+ str r0, [sp, #0x2c]
+ lsl r0, r0, #2
+ add r7, r4, r0
+ ldr r0, [r7, #0x68]
+ mov r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222E9B8
+_0222E938:
+ ldr r0, [r7, #0x68]
+ add r1, r6, #0
+ bl FUN_0206B9B0
+ ldr r1, [sp, #0x14]
+ add r5, r0, #0
+ cmp r1, #1
+ ble _0222E984
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x2c]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C474
+ cmp r6, r0
+ beq _0222E9AC
+ add r0, r5, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222E9AC
+ add r0, r5, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E9AC
+ add r0, r5, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E9B8
+ b _0222E9AC
+_0222E984:
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222E9AC
+ add r0, r5, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E9AC
+ add r0, r5, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222E9B8
+_0222E9AC:
+ ldr r0, [r7, #0x68]
+ add r6, r6, #1
+ bl FUN_0206B9AC
+ cmp r6, r0
+ blt _0222E938
+_0222E9B8:
+ str r6, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x14]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #0x14]
+ ldr r1, [r4, #0x44]
+ add r0, r0, #1
+ str r0, [sp, #0x14]
+ cmp r0, r1
+ blt _0222E920
+_0222E9D2:
+ b _0222EA80
+_0222E9D4:
+ ldr r0, [sp, #0x34]
+ ldr r1, _0222EC6C ; =0x0225D99C
+ lsl r0, r0, #1
+ mov r5, #0
+ add r6, r1, r0
+ add r7, r4, #0
+_0222E9E0:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ add r1, r0, #0
+ add r0, r4, #0
+ str r1, [r7, #0x34]
+ bl MOD11_0225377C
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #2
+ blt _0222E9E0
+ mov r0, #0
+ str r5, [r4, #0x44]
+ str r0, [sp, #0x18]
+ add r7, r4, #0
+_0222EA0C:
+ ldr r0, [sp, #4]
+ ldr r1, [r7, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [r7, #0x68]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222EA60
+_0222EA22:
+ ldr r0, [r7, #0x68]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222EA54
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EA54
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EA60
+_0222EA54:
+ ldr r0, [r7, #0x68]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222EA22
+_0222EA60:
+ str r5, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x18]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #4]
+ add r7, r7, #4
+ add r0, r0, #4
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ add r0, r0, #1
+ str r0, [sp, #0x18]
+ cmp r0, #4
+ blt _0222EA0C
+_0222EA80:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ b _0222EE3E
+_0222EA8A:
+ mov r1, #0x10
+ tst r1, r0
+ beq _0222EB90
+ ldr r6, _0222EC70 ; =0x0225DC18
+ mov r5, #0
+ add r7, r4, #0
+_0222EA96:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ add r1, r0, #0
+ add r0, r4, #0
+ str r1, [r7, #0x34]
+ bl MOD11_0225377C
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #4
+ blt _0222EA96
+ str r5, [r4, #0x44]
+ mov r6, #0
+ add r5, r4, #0
+_0222EAC0:
+ ldr r0, [sp, #4]
+ ldr r1, [r5, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r0, r0, #4
+ add r5, r5, #4
+ str r0, [sp, #4]
+ cmp r6, #4
+ blt _0222EAC0
+ ldr r0, [r4, #0x44]
+ mov r7, #0
+ cmp r0, #0
+ ble _0222EB80
+_0222EAE0:
+ add r0, r4, #0
+ add r1, r7, #0
+ mov r5, #0
+ bl MOD11_0222FFC8
+ cmp r0, #0
+ ble _0222EB64
+_0222EAEE:
+ add r0, r4, #0
+ add r1, r7, #0
+ add r2, r5, #0
+ bl MOD11_02230014
+ add r6, r0, #0
+ cmp r7, #2
+ bne _0222EB2E
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222EB56
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EB56
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222EB56
+ ldr r0, [sp, #0x38]
+ cmp r0, r5
+ bne _0222EB64
+ b _0222EB56
+_0222EB2E:
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222EB56
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EB56
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EB64
+_0222EB56:
+ add r0, r4, #0
+ add r1, r7, #0
+ add r5, r5, #1
+ bl MOD11_0222FFC8
+ cmp r5, r0
+ blt _0222EAEE
+_0222EB64:
+ str r5, [sp]
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #2
+ add r3, r7, #0
+ bl MOD11_0224C54C
+ cmp r7, #0
+ bne _0222EB78
+ str r5, [sp, #0x38]
+_0222EB78:
+ ldr r0, [r4, #0x44]
+ add r7, r7, #1
+ cmp r7, r0
+ blt _0222EAE0
+_0222EB80:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ ldr r0, _0222EC74 ; =0x000023F8
+ mov r1, #1
+ strb r1, [r4, r0]
+ b _0222EE3E
+_0222EB90:
+ mov r1, #8
+ tst r1, r0
+ beq _0222EC60
+ ldr r6, _0222EC70 ; =0x0225DC18
+ mov r5, #0
+ add r7, r4, #0
+_0222EB9C:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ add r1, r0, #0
+ add r0, r4, #0
+ str r1, [r7, #0x34]
+ bl MOD11_0225377C
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #4
+ blt _0222EB9C
+ str r5, [r4, #0x44]
+ mov r6, #0
+ add r5, r4, #0
+_0222EBC6:
+ ldr r0, [sp, #4]
+ ldr r1, [r5, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r0, r0, #4
+ add r5, r5, #4
+ str r0, [sp, #4]
+ cmp r6, #4
+ blt _0222EBC6
+ mov r0, #0
+ str r0, [sp, #0x1c]
+ ldr r0, [r4, #0x44]
+ cmp r0, #0
+ ble _0222EC50
+ add r7, r4, #0
+_0222EBEA:
+ ldr r0, [r7, #0x68]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222EC34
+_0222EBF6:
+ ldr r0, [r7, #0x68]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222EC28
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EC28
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EC34
+_0222EC28:
+ ldr r0, [r7, #0x68]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222EBF6
+_0222EC34:
+ str r5, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x1c]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #0x1c]
+ ldr r1, [r4, #0x44]
+ add r0, r0, #1
+ add r7, r7, #4
+ str r0, [sp, #0x1c]
+ cmp r0, r1
+ blt _0222EBEA
+_0222EC50:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ ldr r0, _0222EC74 ; =0x000023F8
+ mov r1, #1
+ strb r1, [r4, r0]
+ b _0222EE3E
+_0222EC60:
+ mov r1, #2
+ tst r0, r1
+ bne _0222EC68
+ b _0222ED8A
+_0222EC68:
+ ldr r6, _0222EC70 ; =0x0225DC18
+ b _0222EC78
+ .align 2, 0
+_0222EC6C: .word 0x0225D99C
+_0222EC70: .word 0x0225DC18
+_0222EC74: .word 0x000023F8
+_0222EC78:
+ mov r5, #0
+ add r7, r4, #0
+_0222EC7C:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ add r1, r0, #0
+ add r0, r4, #0
+ str r1, [r7, #0x34]
+ bl MOD11_0225377C
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #4
+ blt _0222EC7C
+ str r5, [r4, #0x44]
+ mov r6, #0
+ add r5, r4, #0
+_0222ECA6:
+ ldr r0, [sp, #4]
+ ldr r1, [r5, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r0, r0, #4
+ add r5, r5, #4
+ str r0, [sp, #4]
+ cmp r6, #4
+ blt _0222ECA6
+ mov r0, #0
+ str r0, [sp, #0x20]
+ ldr r0, [r4, #0x44]
+ cmp r0, #0
+ ble _0222ED7A
+_0222ECC8:
+ ldr r0, [sp, #0x20]
+ mov r1, #1
+ and r0, r1
+ str r0, [sp, #0x28]
+ lsl r0, r0, #2
+ add r7, r4, r0
+ ldr r0, [r7, #0x68]
+ mov r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222ED60
+_0222ECE0:
+ ldr r0, [r7, #0x68]
+ add r1, r6, #0
+ bl FUN_0206B9B0
+ ldr r1, [sp, #0x20]
+ add r5, r0, #0
+ cmp r1, #1
+ ble _0222ED2C
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x28]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C474
+ cmp r6, r0
+ beq _0222ED54
+ add r0, r5, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222ED54
+ add r0, r5, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222ED54
+ add r0, r5, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222ED60
+ b _0222ED54
+_0222ED2C:
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222ED54
+ add r0, r5, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222ED54
+ add r0, r5, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222ED60
+_0222ED54:
+ ldr r0, [r7, #0x68]
+ add r6, r6, #1
+ bl FUN_0206B9AC
+ cmp r6, r0
+ blt _0222ECE0
+_0222ED60:
+ str r6, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x20]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #0x20]
+ ldr r1, [r4, #0x44]
+ add r0, r0, #1
+ str r0, [sp, #0x20]
+ cmp r0, r1
+ blt _0222ECC8
+_0222ED7A:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ ldr r0, _0222EEE0 ; =0x000023F8
+ mov r1, #1
+ strb r1, [r4, r0]
+ b _0222EE3E
+_0222ED8A:
+ ldr r6, _0222EEE4 ; =0x0225D998
+ mov r5, #0
+ add r7, r4, #0
+_0222ED90:
+ add r0, sp, #0x3c
+ strb r5, [r0]
+ ldrb r1, [r6]
+ strb r1, [r0, #1]
+ add r0, r4, #0
+ add r1, sp, #0x3c
+ bl MOD11_0224CA64
+ add r1, r0, #0
+ add r0, r4, #0
+ str r1, [r7, #0x34]
+ bl MOD11_0225377C
+ add r5, r5, #1
+ add r6, r6, #1
+ add r7, r7, #4
+ cmp r5, #2
+ blt _0222ED90
+ mov r0, #0
+ str r5, [r4, #0x44]
+ str r0, [sp, #0x24]
+ add r7, r4, #0
+_0222EDBC:
+ ldr r0, [sp, #4]
+ ldr r1, [r7, #0x68]
+ ldr r0, [r0, #4]
+ bl FUN_0206BAD0
+ ldr r0, [r7, #0x68]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222EE10
+_0222EDD2:
+ ldr r0, [r7, #0x68]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0222EE04
+ add r0, r6, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EE04
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0222EE10
+_0222EE04:
+ ldr r0, [r7, #0x68]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222EDD2
+_0222EE10:
+ str r5, [sp]
+ ldr r1, [r4, #0x30]
+ ldr r3, [sp, #0x24]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C54C
+ ldr r0, [sp, #4]
+ add r7, r7, #4
+ add r0, r0, #4
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x24]
+ add r0, r0, #1
+ str r0, [sp, #0x24]
+ cmp r0, #4
+ blt _0222EDBC
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_0224B240
+ ldr r0, _0222EEE0 ; =0x000023F8
+ mov r1, #1
+ strb r1, [r4, r0]
+_0222EE3E:
+ mov r0, #2
+ ldr r1, [r4, #0x2c]
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _0222EE5A
+ ldr r0, [r4, #0x6c]
+ mov r1, #0
+ bl FUN_0206B9B0
+ add r2, r4, #0
+ mov r1, #0x8f
+ add r2, #0xf4
+ bl FUN_020671BC
+_0222EE5A:
+ ldr r1, [r4, #0x2c]
+ mov r0, #1
+ tst r0, r1
+ beq _0222EEDC
+ add r0, r4, #0
+ add r0, #0xe1
+ ldrb r0, [r0]
+ bl MOD11_0222EEF0
+ cmp r0, #1
+ beq _0222EE7C
+ ldr r0, _0222EEE8 ; =0x00000149
+ ldrb r0, [r4, r0]
+ bl MOD11_0222EEF0
+ cmp r0, #1
+ bne _0222EEDC
+_0222EE7C:
+ ldr r0, [r4, #0x68]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222EEAC
+ ldr r6, _0222EEEC ; =0x00002404
+ mov r7, #3
+_0222EE8C:
+ ldr r0, [r4, #0x68]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ ldr r2, [r4, r6]
+ add r1, r7, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+ ldr r0, [r4, #0x68]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222EE8C
+_0222EEAC:
+ ldr r0, [r4, #0x70]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0222EEDC
+ ldr r6, _0222EEEC ; =0x00002404
+ mov r7, #3
+_0222EEBC:
+ ldr r0, [r4, #0x70]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ ldr r2, [r4, r6]
+ add r1, r7, #0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+ ldr r0, [r4, #0x70]
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0222EEBC
+_0222EEDC:
+ add sp, #0x40
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0222EEE0: .word 0x000023F8
+_0222EEE4: .word 0x0225D998
+_0222EEE8: .word 0x00000149
+_0222EEEC: .word 0x00002404
+
+ thumb_func_start MOD11_0222EEF0
+MOD11_0222EEF0: ; 0x0222EEF0
+ sub r0, #0x3e
+ cmp r0, #0x11
+ bhi _0222EF2A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0222EF02: ; jump table
+ .short _0222EF26 - _0222EF02 - 2 ; case 0
+ .short _0222EF2A - _0222EF02 - 2 ; case 1
+ .short _0222EF26 - _0222EF02 - 2 ; case 2
+ .short _0222EF26 - _0222EF02 - 2 ; case 3
+ .short _0222EF26 - _0222EF02 - 2 ; case 4
+ .short _0222EF26 - _0222EF02 - 2 ; case 5
+ .short _0222EF26 - _0222EF02 - 2 ; case 6
+ .short _0222EF26 - _0222EF02 - 2 ; case 7
+ .short _0222EF2A - _0222EF02 - 2 ; case 8
+ .short _0222EF2A - _0222EF02 - 2 ; case 9
+ .short _0222EF2A - _0222EF02 - 2 ; case 10
+ .short _0222EF2A - _0222EF02 - 2 ; case 11
+ .short _0222EF26 - _0222EF02 - 2 ; case 12
+ .short _0222EF26 - _0222EF02 - 2 ; case 13
+ .short _0222EF26 - _0222EF02 - 2 ; case 14
+ .short _0222EF26 - _0222EF02 - 2 ; case 15
+ .short _0222EF26 - _0222EF02 - 2 ; case 16
+ .short _0222EF26 - _0222EF02 - 2 ; case 17
+_0222EF26:
+ mov r0, #1
+ bx lr
+_0222EF2A:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0222EF30
+MOD11_0222EF30: ; 0x0222EF30
+ push {r3, lr}
+ sub sp, #8
+ mov r2, #2
+ mov r1, #0
+ ldr r0, _0222EF4C ; =MOD11_0222EF50
+ str r2, [sp]
+ str r0, [sp, #4]
+ mov r0, #5
+ add r3, r1, #0
+ bl FUN_02022318
+ add sp, #8
+ pop {r3, pc}
+ nop
+_0222EF4C: .word MOD11_0222EF50
+
+ thumb_func_start MOD11_0222EF50
+MOD11_0222EF50: ; 0x0222EF50
+ push {r3, lr}
+ mov r0, #1
+ add r1, r0, #0
+ bl FUN_0201E6E4
+ ldr r0, _0222EFBC ; =0x04000008
+ mov r1, #3
+ ldrh r2, [r0]
+ bic r2, r1
+ mov r1, #1
+ orr r1, r2
+ strh r1, [r0]
+ add r0, #0x58
+ ldrh r2, [r0]
+ ldr r1, _0222EFC0 ; =0xFFFFCFFD
+ and r2, r1
+ strh r2, [r0]
+ add r2, r1, #2
+ ldrh r3, [r0]
+ add r1, r1, #2
+ and r3, r2
+ mov r2, #0x10
+ orr r2, r3
+ strh r2, [r0]
+ ldrh r3, [r0]
+ ldr r2, _0222EFC4 ; =0x0000CFFB
+ and r3, r2
+ strh r3, [r0]
+ ldrh r3, [r0]
+ sub r2, #0x1c
+ and r3, r1
+ mov r1, #8
+ orr r1, r3
+ strh r1, [r0]
+ ldrh r1, [r0]
+ and r1, r2
+ strh r1, [r0]
+ mov r0, #0
+ add r1, r0, #0
+ add r2, r0, #0
+ add r3, r0, #0
+ blx G3X_SetFog
+ mov r0, #0
+ ldr r2, _0222EFC8 ; =0x00007FFF
+ add r1, r0, #0
+ mov r3, #0x3f
+ str r0, [sp]
+ blx G3X_SetClearColor
+ ldr r1, _0222EFCC ; =0xBFFF0000
+ ldr r0, _0222EFD0 ; =0x04000580
+ str r1, [r0]
+ pop {r3, pc}
+ .align 2, 0
+_0222EFBC: .word 0x04000008
+_0222EFC0: .word 0xFFFFCFFD
+_0222EFC4: .word 0x0000CFFB
+_0222EFC8: .word 0x00007FFF
+_0222EFCC: .word 0xBFFF0000
+_0222EFD0: .word 0x04000580
+
+ thumb_func_start MOD11_0222EFD4
+MOD11_0222EFD4: ; 0x0222EFD4
+ ldr r3, _0222EFD8 ; =0x020223BD
+ bx r3
+ .align 2, 0
+_0222EFD8: .word 0x020223BD
+
+ thumb_func_start MOD11_0222EFDC
+MOD11_0222EFDC: ; 0x0222EFDC
+ push {r3, r4, r5, lr}
+ ldr r3, _0222F014 ; =0x021064B8
+ mov r0, #2
+ mov r1, #0
+ ldr r3, [r3]
+ lsl r0, r0, #0xe
+ add r2, r1, #0
+ blx r3
+ ldr r3, _0222F018 ; =0x021064C0
+ mov r1, #0
+ add r4, r0, #0
+ ldr r3, [r3]
+ mov r0, #0xc0
+ add r2, r1, #0
+ blx r3
+ add r5, r0, #0
+ cmp r4, #0
+ bne _0222F004
+ bl ErrorHandling
+_0222F004:
+ cmp r5, #0
+ bne _0222F00C
+ bl ErrorHandling
+_0222F00C:
+ bl FUN_02012CC8
+ pop {r3, r4, r5, pc}
+ nop
+_0222F014: .word 0x021064B8
+_0222F018: .word 0x021064C0
+
+ thumb_func_start MOD11_0222F01C
+MOD11_0222F01C: ; 0x0222F01C
+ push {r3, r4, r5, lr}
+ sub sp, #0x50
+ add r4, r0, #0
+ bl FUN_0201B9EC
+ ldr r1, _0222F0B8 ; =0x000023FB
+ ldrb r2, [r4, r1]
+ lsl r0, r2, #0x1f
+ lsr r0, r0, #0x1f
+ beq _0222F040
+ mov r0, #1
+ bic r2, r0
+ strb r2, [r4, r1]
+ ldr r0, _0222F0BC ; =0x04000050
+ mov r1, #0
+ strh r1, [r0]
+ ldr r0, _0222F0C0 ; =0x04001050
+ strh r1, [r0]
+_0222F040:
+ ldr r1, _0222F0B8 ; =0x000023FB
+ ldrb r2, [r4, r1]
+ lsl r0, r2, #0x1e
+ lsr r0, r0, #0x1f
+ beq _0222F064
+ mov r0, #2
+ bic r2, r0
+ strb r2, [r4, r1]
+ ldr r5, _0222F0C4 ; =0x0225DA90
+ add r3, sp, #0x28
+ mov r2, #5
+_0222F056:
+ ldmia r5!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0222F056
+ add r0, sp, #0x28
+ bl FUN_0201E66C
+_0222F064:
+ ldr r1, _0222F0B8 ; =0x000023FB
+ ldrb r2, [r4, r1]
+ lsl r0, r2, #0x1d
+ lsr r0, r0, #0x1f
+ beq _0222F088
+ mov r0, #4
+ bic r2, r0
+ strb r2, [r4, r1]
+ ldr r5, _0222F0C8 ; =0x0225DAB8
+ add r3, sp, #0
+ mov r2, #5
+_0222F07A:
+ ldmia r5!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0222F07A
+ add r0, sp, #0
+ bl FUN_0201E66C
+_0222F088:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl FUN_020081C4
+ bl FUN_0201C30C
+ bl FUN_0200BC30
+ ldr r0, [r4, #0x28]
+ bl FUN_0200372C
+ ldr r0, [r4, #4]
+ bl FUN_0201AB60
+ ldr r3, _0222F0CC ; =0x027E0000
+ ldr r1, _0222F0D0 ; =0x00003FF8
+ mov r0, #1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ add sp, #0x50
+ pop {r3, r4, r5, pc}
+ nop
+_0222F0B8: .word 0x000023FB
+_0222F0BC: .word 0x04000050
+_0222F0C0: .word 0x04001050
+_0222F0C4: .word 0x0225DA90
+_0222F0C8: .word 0x0225DAB8
+_0222F0CC: .word 0x027E0000
+_0222F0D0: .word 0x00003FF8
+
+ thumb_func_start MOD11_0222F0D4
+MOD11_0222F0D4: ; 0x0222F0D4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0xc]
+ bl FUN_0200372C
+ bl FUN_0201C30C
+ ldr r0, [r4, #4]
+ bl FUN_0201AB60
+ ldr r3, _0222F0F8 ; =0x027E0000
+ ldr r1, _0222F0FC ; =0x00003FF8
+ mov r0, #1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ pop {r4, pc}
+ nop
+_0222F0F8: .word 0x027E0000
+_0222F0FC: .word 0x00003FF8
+
+ thumb_func_start MOD11_0222F100
+MOD11_0222F100: ; 0x0222F100
+ push {r4, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #4]
+ mov r0, #5
+ bl FUN_020335F0
+ ldr r0, _0222F140 ; =0x000023F9
+ ldrb r0, [r4, r0]
+ cmp r0, #0
+ beq _0222F118
+ cmp r0, #3
+ bne _0222F13E
+_0222F118:
+ cmp r0, #0
+ bne _0222F120
+ bl FUN_02215A44
+_0222F120:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl FUN_02006ED4
+ add r4, #0x94
+ ldr r0, [r4]
+ bl FUN_0200BC1C
+ bl FUN_0200BC38
+ mov r0, #1
+ mov r1, #0
+ bl FUN_020222B4
+_0222F13E:
+ pop {r4, pc}
+ .align 2, 0
+_0222F140: .word 0x000023F9
+
+ thumb_func_start MOD11_0222F144
+MOD11_0222F144: ; 0x0222F144
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r0, r6, #0
+ bl MOD11_0222FF84
+ str r0, [sp]
+ add r0, r6, #0
+ mov r5, #0
+ bl MOD11_02231474
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _0222F24E
+ mov r0, #2
+ tst r0, r4
+ beq _0222F186
+ mov r0, #1
+ tst r0, r4
+ beq _0222F24E
+ ldr r0, _0222F250 ; =0x00000704
+ add r1, r5, #0
+ bl FUN_020054F0
+ add r0, r6, #0
+ mov r1, #2
+ bl MOD11_02231484
+ pop {r3, r4, r5, r6, r7, pc}
+_0222F186:
+ ldr r0, [sp]
+ add r4, r5, #0
+ cmp r0, #0
+ ble _0222F1D0
+_0222F18E:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0222FF7C
+ add r7, r0, #0
+ bl MOD11_02253A58
+ cmp r0, #0
+ bne _0222F1C8
+ add r0, r7, #0
+ bl MOD11_02253A70
+ add r1, r0, #0
+ beq _0222F1C8
+ ldr r0, [r1, #0x28]
+ ldr r1, [r1, #0x2c]
+ lsl r0, r0, #0x10
+ lsl r1, r1, #0x10
+ lsr r0, r0, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x30
+ bl FUN_02079A54
+ cmp r0, #1
+ bne _0222F1C8
+ add r0, r4, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_0222F1C8:
+ ldr r0, [sp]
+ add r4, r4, #1
+ cmp r4, r0
+ blt _0222F18E
+_0222F1D0:
+ cmp r5, #0
+ beq _0222F1F6
+ add r0, r6, #0
+ bl MOD11_02231474
+ cmp r0, #0
+ bne _0222F1F6
+ ldr r0, _0222F250 ; =0x00000704
+ bl FUN_020054C8
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_02231484
+ add r0, r6, #0
+ mov r1, #4
+ bl MOD11_022314B0
+ b _0222F214
+_0222F1F6:
+ cmp r5, #0
+ bne _0222F214
+ add r0, r6, #0
+ bl MOD11_02231474
+ cmp r0, #0
+ beq _0222F214
+ ldr r0, _0222F250 ; =0x00000704
+ mov r1, #0
+ bl FUN_020054F0
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_02231484
+_0222F214:
+ add r0, r6, #0
+ bl MOD11_02231474
+ cmp r0, #0
+ beq _0222F24E
+ add r0, r6, #0
+ bl MOD11_022314A0
+ add r4, r0, #0
+ ldr r0, _0222F250 ; =0x00000704
+ bl FUN_02005508
+ cmp r0, #0
+ bne _0222F24E
+ sub r1, r4, #1
+ bne _0222F244
+ ldr r0, _0222F250 ; =0x00000704
+ bl FUN_020054C8
+ add r0, r6, #0
+ mov r1, #4
+ bl MOD11_022314B0
+ pop {r3, r4, r5, r6, r7, pc}
+_0222F244:
+ lsl r1, r1, #0x18
+ add r0, r6, #0
+ lsr r1, r1, #0x18
+ bl MOD11_022314B0
+_0222F24E:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0222F250: .word 0x00000704
+
+ thumb_func_start MOD11_0222F254
+MOD11_0222F254: ; 0x0222F254
+ push {r3, r4, r5, lr}
+ ldr r3, _0222F280 ; =0x00002434
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4, r3]
+ mov r1, #1
+ add r0, r0, #3
+ str r0, [r4, r3]
+ ldr r0, [r4, #4]
+ ldr r3, [r4, r3]
+ mov r2, #3
+ bl FUN_020179E0
+ ldr r0, _0222F280 ; =0x00002434
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _0222F27C
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0222F27C:
+ pop {r3, r4, r5, pc}
+ nop
+_0222F280: .word 0x00002434
+
+ thumb_func_start MOD11_0222F284
+MOD11_0222F284: ; 0x0222F284
+ push {r3, lr}
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0222F296
+ ldr r0, _0222F298 ; =0x00000010
+ mov r1, #2
+ bl FUN_02005FDC
+_0222F296:
+ pop {r3, pc}
+ .align 2, 0
+_0222F298: .word 0x00000010
+
+ thumb_func_start MOD11_0222F29C
+MOD11_0222F29C: ; 0x0222F29C
+ push {r4, r5, r6, lr}
+ sub sp, #0x68
+ add r4, r1, #0
+ ldr r1, _0222F4C0 ; =0x00001028
+ mov r2, #5
+ bl FUN_02006268
+ add r5, r0, #0
+ ldr r0, _0222F4C4 ; =0x00001020
+ str r4, [r5]
+ mov r2, #0
+ strb r2, [r5, r0]
+ add r1, r0, #1
+ strb r2, [r5, r1]
+ add r0, r0, #2
+ strh r2, [r5, r0]
+ mov r0, #5
+ bl FUN_02002FD0
+ str r0, [r5, #0xc]
+ mov r1, #1
+ bl FUN_020038F0
+ mov r2, #2
+ ldr r0, [r5, #0xc]
+ mov r1, #0
+ lsl r2, r2, #8
+ mov r3, #5
+ bl FUN_02003008
+ mov r1, #0
+ mov r0, #1
+ str r1, [sp]
+ lsl r0, r0, #8
+ str r0, [sp, #4]
+ ldr r0, [r5, #0xc]
+ mov r2, #2
+ add r3, r1, #0
+ bl FUN_02003914
+ mov r0, #5
+ bl FUN_02016B94
+ str r0, [r5, #4]
+ mov r0, #5
+ mov r1, #1
+ bl FUN_02018FF4
+ str r0, [r5, #8]
+ add r0, r5, #0
+ bl FUN_0206BFF0
+ bl FUN_0201E6D8
+ ldr r6, _0222F4C8 ; =0x0225DA40
+ add r3, sp, #0x40
+ mov r2, #5
+_0222F30E:
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0222F30E
+ add r0, sp, #0x40
+ bl FUN_0201E66C
+ mov r1, #6
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x12
+ blx MIi_CpuClear32
+ mov r1, #0x62
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ blx MIi_CpuClear32
+ mov r1, #0x19
+ mov r2, #1
+ mov r0, #0
+ lsl r1, r1, #0x16
+ lsl r2, r2, #0x12
+ blx MIi_CpuClear32
+ mov r1, #0x66
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ blx MIi_CpuClear32
+ mov r1, #5
+ mov r2, #2
+ mov r0, #0
+ lsl r1, r1, #0x18
+ lsl r2, r2, #8
+ blx MIi_CpuClear16
+ ldr r6, _0222F4CC ; =0x0225D9B8
+ add r3, sp, #0x30
+ add r2, r3, #0
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ add r0, r2, #0
+ bl FUN_02016BBC
+ ldr r6, _0222F4D0 ; =0x0225DA04
+ add r3, sp, #0x14
+ ldmia r6!, {r0, r1}
+ add r2, r3, #0
+ stmia r3!, {r0, r1}
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldr r0, [r6]
+ mov r1, #1
+ str r0, [r3]
+ ldr r0, [r5, #4]
+ mov r3, #0
+ bl FUN_02016C18
+ ldr r0, [r5, #4]
+ mov r1, #1
+ bl FUN_02018744
+ mov r0, #0x13
+ lsl r0, r0, #4
+ ldr r0, [r4, r0]
+ bl FUN_02025084
+ add r4, r0, #0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ mov r0, #5
+ str r0, [sp, #4]
+ mov r1, #1
+ ldr r0, [r5, #4]
+ add r2, r1, #0
+ mov r3, #0xa
+ bl FUN_0200D274
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0xb0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0xc]
+ mov r1, #0xe
+ mov r2, #7
+ mov r3, #5
+ bl FUN_020030E8
+ add r0, r4, #0
+ bl FUN_0200CD64
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0xa0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0xc]
+ mov r1, #0x26
+ mov r3, #5
+ bl FUN_020030E8
+ mov r1, #0
+ mov r0, #1
+ str r1, [sp]
+ lsl r0, r0, #8
+ str r0, [sp, #4]
+ ldr r0, [r5, #0xc]
+ add r2, r1, #0
+ add r3, r1, #0
+ bl FUN_02003914
+ bl FUN_0201E788
+ mov r0, #0x10
+ mov r1, #1
+ bl FUN_0201E6E4
+ mov r0, #0x13
+ str r0, [sp]
+ mov r0, #0x1b
+ str r0, [sp, #4]
+ mov r0, #4
+ str r0, [sp, #8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #4]
+ ldr r1, [r5, #8]
+ mov r2, #1
+ mov r3, #2
+ bl FUN_02019064
+ ldr r0, [r5, #8]
+ mov r1, #0xff
+ bl FUN_02019620
+ ldr r0, [r5, #8]
+ mov r1, #0
+ mov r2, #1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ mov r2, #0x51
+ mov r0, #1
+ mov r1, #0x1a
+ lsl r2, r2, #2
+ mov r3, #5
+ bl FUN_0200A86C
+ add r4, r0, #0
+ mov r0, #1
+ lsl r0, r0, #8
+ mov r1, #5
+ bl FUN_020219F4
+ add r6, r0, #0
+ ldr r1, _0222F4D4 ; =0x0000039B
+ add r0, r4, #0
+ add r2, r6, #0
+ bl FUN_0200A8E0
+ mov r3, #0
+ str r3, [sp]
+ str r3, [sp, #4]
+ str r3, [sp, #8]
+ ldr r0, [r5, #8]
+ mov r1, #1
+ add r2, r6, #0
+ bl FUN_0201BD84
+ add r0, r6, #0
+ bl FUN_02021A20
+ add r0, r4, #0
+ bl FUN_0200A8B8
+ ldr r0, _0222F4D8 ; =MOD11_0222F0D4
+ add r1, r5, #0
+ bl FUN_02015F10
+ mov r0, #0x10
+ str r0, [sp]
+ mov r3, #0
+ str r3, [sp, #4]
+ str r3, [sp, #8]
+ ldr r0, [r5, #0xc]
+ ldr r2, _0222F4DC ; =0x0000FFFF
+ mov r1, #5
+ bl FUN_02003210
+ ldr r0, [r5, #8]
+ mov r1, #1
+ bl FUN_0200D858
+ ldr r1, _0222F4E0 ; =0x00001024
+ str r0, [r5, r1]
+ bl FUN_02033E74
+ add sp, #0x68
+ pop {r4, r5, r6, pc}
+ nop
+_0222F4C0: .word 0x00001028
+_0222F4C4: .word 0x00001020
+_0222F4C8: .word 0x0225DA40
+_0222F4CC: .word 0x0225D9B8
+_0222F4D0: .word 0x0225DA04
+_0222F4D4: .word 0x0000039B
+_0222F4D8: .word MOD11_0222F0D4
+_0222F4DC: .word 0x0000FFFF
+_0222F4E0: .word 0x00001024
+
+ thumb_func_start MOD11_0222F4E4
+MOD11_0222F4E4: ; 0x0222F4E4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ bl FUN_02006278
+ add r4, r0, #0
+ ldr r1, [r4, #4]
+ mov r0, #5
+ bl FUN_020335F0
+ ldr r0, _0222F804 ; =0x00001021
+ mov r7, #0
+ ldrb r1, [r4, r0]
+ cmp r1, #0x21
+ bls _0222F502
+ b _0222F922
+_0222F502:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0222F50E: ; jump table
+ .short _0222F552 - _0222F50E - 2 ; case 0
+ .short _0222F562 - _0222F50E - 2 ; case 1
+ .short _0222F576 - _0222F50E - 2 ; case 2
+ .short _0222F586 - _0222F50E - 2 ; case 3
+ .short _0222F5C0 - _0222F50E - 2 ; case 4
+ .short _0222F898 - _0222F50E - 2 ; case 5
+ .short _0222F5D8 - _0222F50E - 2 ; case 6
+ .short _0222F5F2 - _0222F50E - 2 ; case 7
+ .short _0222F898 - _0222F50E - 2 ; case 8
+ .short _0222F606 - _0222F50E - 2 ; case 9
+ .short _0222F622 - _0222F50E - 2 ; case 10
+ .short _0222F898 - _0222F50E - 2 ; case 11
+ .short _0222F636 - _0222F50E - 2 ; case 12
+ .short _0222F650 - _0222F50E - 2 ; case 13
+ .short _0222F898 - _0222F50E - 2 ; case 14
+ .short _0222F664 - _0222F50E - 2 ; case 15
+ .short _0222F67E - _0222F50E - 2 ; case 16
+ .short _0222F898 - _0222F50E - 2 ; case 17
+ .short _0222F692 - _0222F50E - 2 ; case 18
+ .short _0222F6AC - _0222F50E - 2 ; case 19
+ .short _0222F898 - _0222F50E - 2 ; case 20
+ .short _0222F6C0 - _0222F50E - 2 ; case 21
+ .short _0222F704 - _0222F50E - 2 ; case 22
+ .short _0222F898 - _0222F50E - 2 ; case 23
+ .short _0222F740 - _0222F50E - 2 ; case 24
+ .short _0222F774 - _0222F50E - 2 ; case 25
+ .short _0222F898 - _0222F50E - 2 ; case 26
+ .short _0222F7AE - _0222F50E - 2 ; case 27
+ .short _0222F7E2 - _0222F50E - 2 ; case 28
+ .short _0222F898 - _0222F50E - 2 ; case 29
+ .short _0222F82A - _0222F50E - 2 ; case 30
+ .short _0222F85E - _0222F50E - 2 ; case 31
+ .short _0222F898 - _0222F50E - 2 ; case 32
+ .short _0222F908 - _0222F50E - 2 ; case 33
+_0222F552:
+ add r0, r7, #0
+ bl FUN_0200E394
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F562:
+ ldr r0, [r4, #0xc]
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _0222F610
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F576:
+ mov r0, #0x32
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F586:
+ mov r0, #0x32
+ bl FUN_020315D8
+ cmp r0, #0
+ beq _0222F5A8
+ mov r0, #0x33
+ bl FUN_02031588
+ ldr r0, _0222F808 ; =0x00001022
+ add r1, r7, #0
+ strh r1, [r4, r0]
+ sub r1, r0, #1
+ ldrb r1, [r4, r1]
+ sub r0, r0, #1
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F5A8:
+ ldr r0, _0222F808 ; =0x00001022
+ ldrh r1, [r4, r0]
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ ldrh r1, [r4, r0]
+ ldr r0, _0222F80C ; =0x00000708
+ cmp r1, r0
+ bls _0222F610
+ mov r0, #1
+ bl FUN_020336A0
+ b _0222F922
+_0222F5C0:
+ mov r1, #0x11
+ add r0, r4, #0
+ lsl r1, r1, #4
+ bl FUN_0206C1A0
+ cmp r0, #1
+ bne _0222F610
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F5D8:
+ add r0, r4, #0
+ bl FUN_0206C1FC
+ cmp r0, #1
+ bne _0222F610
+ mov r0, #0x34
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F5F2:
+ add r0, r4, #0
+ bl FUN_0206C224
+ cmp r0, #1
+ bne _0222F610
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F606:
+ add r0, r4, #0
+ bl FUN_0206C268
+ cmp r0, #1
+ beq _0222F612
+_0222F610:
+ b _0222F922
+_0222F612:
+ mov r0, #0x35
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F622:
+ add r0, r4, #0
+ bl FUN_0206C294
+ cmp r0, #1
+ bne _0222F71C
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F636:
+ add r0, r4, #0
+ bl FUN_0206C2D4
+ cmp r0, #1
+ bne _0222F71C
+ mov r0, #0x36
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F650:
+ add r0, r4, #0
+ bl FUN_0206C2F8
+ cmp r0, #1
+ bne _0222F71C
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F664:
+ add r0, r4, #0
+ bl FUN_0206C33C
+ cmp r0, #1
+ bne _0222F71C
+ mov r0, #0x37
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F67E:
+ add r0, r4, #0
+ bl FUN_0206C364
+ cmp r0, #1
+ bne _0222F71C
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F692:
+ add r0, r4, #0
+ bl FUN_0206C398
+ cmp r0, #1
+ bne _0222F71C
+ mov r0, #0x38
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F6AC:
+ add r0, r4, #0
+ bl FUN_0206C3F4
+ cmp r0, #1
+ bne _0222F71C
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F6C0:
+ ldr r1, [r4]
+ ldr r2, [r1]
+ mov r1, #0x80
+ tst r1, r2
+ bne _0222F6D0
+ mov r1, #0x21
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F6D0:
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F6E8
+ mov r0, #0x39
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F6E8:
+ add r0, r4, #0
+ mov r1, #1
+ bl FUN_0206C438
+ cmp r0, #1
+ bne _0222F71C
+ mov r0, #0x39
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F704:
+ mov r1, #1
+ sub r0, r0, #1
+ strb r1, [r4, r0]
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F728
+ mov r0, #0x39
+ bl FUN_020315D8
+ cmp r0, #1
+ beq _0222F71E
+_0222F71C:
+ b _0222F922
+_0222F71E:
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F728:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x39
+ bl FUN_0206C46C
+ cmp r0, #1
+ bne _0222F81E
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F740:
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F758
+ mov r0, #0x3a
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F758:
+ add r0, r4, #0
+ mov r1, #3
+ bl FUN_0206C438
+ cmp r0, #1
+ bne _0222F81E
+ mov r0, #0x3a
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F774:
+ mov r1, #1
+ sub r0, r0, #1
+ strb r1, [r4, r0]
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F796
+ mov r0, #0x3a
+ bl FUN_020315D8
+ cmp r0, #1
+ bne _0222F81E
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F796:
+ add r0, r4, #0
+ mov r1, #3
+ mov r2, #0x3a
+ bl FUN_0206C46C
+ cmp r0, #1
+ bne _0222F81E
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F7AE:
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F7C6
+ mov r0, #0x3b
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F7C6:
+ add r0, r4, #0
+ mov r1, #1
+ bl FUN_0206C4C4
+ cmp r0, #1
+ bne _0222F81E
+ mov r0, #0x3b
+ bl FUN_02031588
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F7E2:
+ mov r1, #1
+ sub r0, r0, #1
+ strb r1, [r4, r0]
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F810
+ mov r0, #0x3b
+ bl FUN_020315D8
+ cmp r0, #1
+ bne _0222F81E
+ ldr r0, _0222F804 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+ .align 2, 0
+_0222F804: .word 0x00001021
+_0222F808: .word 0x00001022
+_0222F80C: .word 0x00000708
+_0222F810:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x3b
+ bl FUN_0206C4F0
+ cmp r0, #1
+ beq _0222F820
+_0222F81E:
+ b _0222F922
+_0222F820:
+ ldr r0, _0222F928 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F82A:
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F842
+ mov r0, #0x3c
+ bl FUN_02031588
+ ldr r0, _0222F928 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F842:
+ add r0, r4, #0
+ mov r1, #3
+ bl FUN_0206C4C4
+ cmp r0, #1
+ bne _0222F922
+ mov r0, #0x3c
+ bl FUN_02031588
+ ldr r0, _0222F928 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F85E:
+ mov r1, #1
+ sub r0, r0, #1
+ strb r1, [r4, r0]
+ bl FUN_02031190
+ cmp r0, #0
+ beq _0222F880
+ mov r0, #0x3c
+ bl FUN_020315D8
+ cmp r0, #1
+ bne _0222F922
+ ldr r0, _0222F928 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F880:
+ add r0, r4, #0
+ mov r1, #3
+ mov r2, #0x3c
+ bl FUN_0206C4F0
+ cmp r0, #1
+ bne _0222F922
+ ldr r0, _0222F928 ; =0x00001021
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0222F922
+_0222F898:
+ bl FUN_02030F20
+ ldr r1, _0222F92C ; =0x00001020
+ ldrb r2, [r4, r1]
+ cmp r2, r0
+ bne _0222F8EE
+ add r0, r1, #1
+ ldrb r0, [r4, r0]
+ cmp r0, #0x14
+ bne _0222F8BE
+ add r6, r7, #0
+ add r5, r4, #0
+_0222F8B0:
+ ldr r0, [r5, #0x10]
+ bl FUN_02016A18
+ add r6, r6, #1
+ add r5, r5, #4
+ cmp r6, #4
+ blt _0222F8B0
+_0222F8BE:
+ ldr r0, _0222F92C ; =0x00001020
+ mov r3, #0
+ strb r3, [r4, r0]
+ add r1, r0, #2
+ strh r3, [r4, r1]
+ add r1, r0, #1
+ ldrb r1, [r4, r1]
+ add r2, r1, #1
+ add r1, r0, #1
+ strb r2, [r4, r1]
+ add r0, r0, #1
+ ldrb r0, [r4, r0]
+ cmp r0, #0x21
+ bne _0222F922
+ str r3, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r3, [sp, #8]
+ ldr r0, [r4, #0xc]
+ ldr r2, _0222F930 ; =0x0000FFFF
+ mov r1, #5
+ bl FUN_02003210
+ b _0222F922
+_0222F8EE:
+ add r0, r1, #2
+ ldrh r0, [r4, r0]
+ add r2, r0, #1
+ add r0, r1, #2
+ strh r2, [r4, r0]
+ ldrh r1, [r4, r0]
+ ldr r0, _0222F934 ; =0x00000708
+ cmp r1, r0
+ bls _0222F922
+ mov r0, #1
+ bl FUN_020336A0
+ b _0222F922
+_0222F908:
+ ldr r0, [r4, #0xc]
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _0222F922
+ ldr r0, _0222F938 ; =0x00001024
+ mov r7, #1
+ ldr r0, [r4, r0]
+ bl FUN_0200DBFC
+ mov r0, #0
+ bl FUN_02031400
+_0222F922:
+ add r0, r7, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0222F928: .word 0x00001021
+_0222F92C: .word 0x00001020
+_0222F930: .word 0x0000FFFF
+_0222F934: .word 0x00000708
+_0222F938: .word 0x00001024
+
+ thumb_func_start MOD11_0222F93C
+MOD11_0222F93C: ; 0x0222F93C
+ push {r4, lr}
+ bl FUN_02006278
+ add r4, r0, #0
+ mov r0, #0
+ add r1, r0, #0
+ bl FUN_02015F10
+ mov r0, #0
+ add r1, r0, #0
+ bl FUN_0200E3A0
+ ldr r0, [r4, #0xc]
+ mov r1, #0
+ bl FUN_02003038
+ ldr r0, [r4, #0xc]
+ bl FUN_02002FEC
+ ldr r0, [r4, #8]
+ mov r1, #1
+ bl FUN_020191A4
+ mov r0, #2
+ mov r1, #0
+ bl FUN_0201E6E4
+ ldr r0, [r4, #4]
+ mov r1, #1
+ bl FUN_020178A0
+ ldr r0, [r4, #4]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0222F988
+MOD11_0222F988: ; 0x0222F988
+ push {r4, r5, r6, lr}
+ ldr r1, _0222FAB4 ; =0x00002444
+ add r5, r0, #0
+ mov r2, #5
+ bl FUN_02006268
+ add r4, r0, #0
+ add r0, r5, #0
+ bl FUN_0200628C
+ add r6, r0, #0
+ bl FUN_02031190
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r2, _0222FAB4 ; =0x00002444
+ mov r0, #0
+ add r1, r4, #0
+ blx MIi_CpuClearFast
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222E520
+ ldr r1, [r4, #0x2c]
+ mov r0, #4
+ tst r0, r1
+ beq _0222F9C6
+ mov r0, #0x80
+ tst r0, r1
+ beq _0222F9CA
+_0222F9C6:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+_0222F9CA:
+ ldr r0, _0222FAB8 ; =0x00000007
+ mov r1, #2
+ bl FUN_02005FDC
+ ldr r1, [r4, #0x2c]
+ mov r0, #8
+ tst r0, r1
+ bne _0222F9DE
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+_0222F9DE:
+ mov r0, #5
+ mov r1, #0x2c
+ bl FUN_02016998
+ mov r1, #7
+ lsl r1, r1, #6
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ mov r0, #0
+ mov r2, #0x2c
+ blx MIi_CpuClearFast
+ add r0, r5, #0
+ bl FUN_020313CC
+ cmp r0, #3
+ bhi _0222FA5A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0222FA0C: ; jump table
+ .short _0222FA14 - _0222FA0C - 2 ; case 0
+ .short _0222FA3A - _0222FA0C - 2 ; case 1
+ .short _0222FA3A - _0222FA0C - 2 ; case 2
+ .short _0222FA14 - _0222FA0C - 2 ; case 3
+_0222FA14:
+ lsl r0, r5, #2
+ add r0, r4, r0
+ ldr r1, [r0, #0x68]
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ str r1, [r0, #4]
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022302BC
+ lsl r0, r0, #2
+ add r0, r4, r0
+ ldr r1, [r0, #0x68]
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ str r1, [r0, #0xc]
+ b _0222FA5A
+_0222FA3A:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022302BC
+ lsl r0, r0, #2
+ add r0, r4, r0
+ ldr r2, [r0, #0x68]
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ str r2, [r1, #4]
+ lsl r1, r5, #2
+ add r1, r4, r1
+ ldr r1, [r1, #0x68]
+ ldr r0, [r4, r0]
+ str r1, [r0, #0xc]
+_0222FA5A:
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r2, #5
+ str r2, [r1, #0x24]
+ ldr r0, [r4, r0]
+ mov r1, #0
+ add r0, #0x28
+ strb r1, [r0]
+ add r0, r5, #0
+ bl FUN_020313CC
+ cmp r0, #3
+ bhi _0222FAA4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0222FA82: ; jump table
+ .short _0222FA8A - _0222FA82 - 2 ; case 0
+ .short _0222FA98 - _0222FA82 - 2 ; case 1
+ .short _0222FA98 - _0222FA82 - 2 ; case 2
+ .short _0222FA8A - _0222FA82 - 2 ; case 3
+_0222FA8A:
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ mov r1, #0
+ add r0, #0x29
+ strb r1, [r0]
+ b _0222FAA4
+_0222FA98:
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ mov r1, #1
+ add r0, #0x29
+ strb r1, [r0]
+_0222FAA4:
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ bl FUN_02211E60
+ mov r0, #1
+ pop {r4, r5, r6, pc}
+ nop
+_0222FAB4: .word 0x00002444
+_0222FAB8: .word 0x00000007
+
+ thumb_func_start MOD11_0222FABC
+MOD11_0222FABC: ; 0x0222FABC
+ push {r3, r4, r5, r6, r7, lr}
+ bl FUN_02006278
+ add r6, r0, #0
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r6, r0]
+ add r0, #0x2b
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0222FAFE
+ mov r4, #0
+ mov r7, #7
+ add r5, r4, #0
+ lsl r7, r7, #6
+_0222FADA:
+ ldr r0, [r6, r7]
+ add r0, r0, r5
+ ldr r0, [r0, #0x14]
+ cmp r0, #0
+ beq _0222FAE8
+ bl FUN_02016A18
+_0222FAE8:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0222FADA
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r6, r0]
+ bl FUN_02016A18
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0222FAFE:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0222FB04
+MOD11_0222FB04: ; 0x0222FB04
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ bl FUN_02006278
+ add r4, r0, #0
+ add r0, r5, #0
+ bl FUN_0200628C
+ bl FUN_02031190
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r1, [r4, #0x2c]
+ mov r0, #4
+ tst r0, r1
+ beq _0222FB2A
+ mov r0, #0x80
+ tst r0, r1
+ beq _0222FB2E
+_0222FB2A:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0222FB2E:
+ mov r0, #5
+ mov r1, #0x2c
+ bl FUN_02016998
+ mov r1, #7
+ lsl r1, r1, #6
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ mov r0, #0
+ mov r2, #0x2c
+ blx MIi_CpuClearFast
+ ldr r1, [r4, #0x2c]
+ mov r0, #8
+ tst r0, r1
+ beq _0222FBA4
+ mov r6, #0
+ add r5, r4, #0
+_0222FB52:
+ add r0, r6, #0
+ bl FUN_020313CC
+ mov r2, #7
+ lsl r2, r2, #6
+ ldr r2, [r4, r2]
+ lsl r0, r0, #2
+ ldr r1, [r5, #0x68]
+ add r0, r2, r0
+ str r1, [r0, #4]
+ add r0, r6, #0
+ bl FUN_020313CC
+ add r7, r0, #0
+ ldr r0, [r5, #0x48]
+ mov r1, #5
+ bl FUN_020239A0
+ mov r1, #7
+ lsl r1, r1, #6
+ ldr r2, [r4, r1]
+ lsl r1, r7, #2
+ add r1, r2, r1
+ add r6, r6, #1
+ add r5, r5, #4
+ str r0, [r1, #0x14]
+ cmp r6, #4
+ blt _0222FB52
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r2, #5
+ str r2, [r1, #0x24]
+ ldr r1, [r4, r0]
+ mov r2, #1
+ add r1, #0x28
+ strb r2, [r1]
+ ldr r0, [r4, r0]
+ add r0, #0x29
+ strb r2, [r0]
+ b _0222FC2A
+_0222FBA4:
+ add r0, r7, #0
+ lsl r6, r7, #2
+ bl FUN_020313CC
+ mov r2, #7
+ lsl r2, r2, #6
+ add r1, r4, r6
+ ldr r2, [r4, r2]
+ lsl r0, r0, #2
+ ldr r1, [r1, #0x68]
+ add r0, r2, r0
+ str r1, [r0, #4]
+ mov r0, #1
+ eor r0, r7
+ lsl r5, r0, #2
+ str r0, [sp]
+ bl FUN_020313CC
+ add r1, r4, r5
+ ldr r2, [r1, #0x68]
+ mov r1, #7
+ lsl r1, r1, #6
+ ldr r1, [r4, r1]
+ lsl r0, r0, #2
+ add r0, r1, r0
+ str r2, [r0, #4]
+ add r0, r7, #0
+ bl FUN_020313CC
+ add r7, r0, #0
+ add r0, r4, r6
+ ldr r0, [r0, #0x48]
+ mov r1, #5
+ bl FUN_020239A0
+ mov r1, #7
+ lsl r1, r1, #6
+ ldr r2, [r4, r1]
+ lsl r1, r7, #2
+ add r1, r2, r1
+ str r0, [r1, #0x14]
+ ldr r0, [sp]
+ bl FUN_020313CC
+ add r6, r0, #0
+ add r0, r4, r5
+ ldr r0, [r0, #0x48]
+ mov r1, #5
+ bl FUN_020239A0
+ mov r1, #7
+ lsl r1, r1, #6
+ ldr r3, [r4, r1]
+ lsl r2, r6, #2
+ add r2, r3, r2
+ str r0, [r2, #0x14]
+ ldr r0, [r4, r1]
+ mov r2, #5
+ str r2, [r0, #0x24]
+ ldr r0, [r4, r1]
+ mov r2, #1
+ add r0, #0x28
+ strb r2, [r0]
+ ldr r0, [r4, r1]
+ mov r2, #0
+ add r0, #0x29
+ strb r2, [r0]
+_0222FC2A:
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ bl FUN_02211E60
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0222FC38
+MOD11_0222FC38: ; 0x0222FC38
+ push {r3, r4, r5, r6, r7, lr}
+ bl FUN_02006278
+ add r6, r0, #0
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r6, r0]
+ add r0, #0x2b
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0222FC7A
+ mov r4, #0
+ mov r7, #7
+ add r5, r4, #0
+ lsl r7, r7, #6
+_0222FC56:
+ ldr r0, [r6, r7]
+ add r0, r0, r5
+ ldr r0, [r0, #0x14]
+ cmp r0, #0
+ beq _0222FC64
+ bl FUN_02016A18
+_0222FC64:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0222FC56
+ mov r0, #7
+ lsl r0, r0, #6
+ ldr r0, [r6, r0]
+ bl FUN_02016A18
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0222FC7A:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0222FC80
+MOD11_0222FC80: ; 0x0222FC80
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ bl FUN_0200628C
+ add r7, r0, #0
+ bl FUN_02031190
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #4]
+ ldr r1, [r7]
+ mov r0, #4
+ tst r0, r1
+ beq _0222FCA2
+ mov r0, #0x80
+ tst r0, r1
+ beq _0222FCA8
+_0222FCA2:
+ add sp, #0x10
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0222FCA8:
+ ldr r0, _0222FE54 ; =0x00000007
+ mov r1, #2
+ bl FUN_02005FDC
+ mov r0, #5
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r6, r0, #0
+ mov r0, #0x66
+ lsl r0, r0, #2
+ str r6, [r7, r0]
+ mov r0, #0
+ add r1, r6, #0
+ mov r2, #0x2c
+ blx MIi_CpuClearFast
+ str r7, [r6]
+ ldr r0, [r7, #0x14]
+ cmp r0, #5
+ bhi _0222FD54
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0222FCDE: ; jump table
+ .short _0222FD54 - _0222FCDE - 2 ; case 0
+ .short _0222FCEA - _0222FCDE - 2 ; case 1
+ .short _0222FD0E - _0222FCDE - 2 ; case 2
+ .short _0222FD32 - _0222FCDE - 2 ; case 3
+ .short _0222FD54 - _0222FCDE - 2 ; case 4
+ .short _0222FD32 - _0222FCDE - 2 ; case 5
+_0222FCEA:
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0222FD00
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r7, r0]
+ mov r1, #0x15
+ bl FUN_0202A0E8
+ b _0222FD54
+_0222FD00:
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r7, r0]
+ mov r1, #0x1a
+ bl FUN_0202A0E8
+ b _0222FD54
+_0222FD0E:
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0222FD24
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r7, r0]
+ mov r1, #0x16
+ bl FUN_0202A0E8
+ b _0222FD54
+_0222FD24:
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r7, r0]
+ mov r1, #0x1b
+ bl FUN_0202A0E8
+ b _0222FD54
+_0222FD32:
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0222FD48
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r7, r0]
+ mov r1, #0x17
+ bl FUN_0202A0E8
+ b _0222FD54
+_0222FD48:
+ mov r0, #0x51
+ lsl r0, r0, #2
+ ldr r0, [r7, r0]
+ mov r1, #0x1c
+ bl FUN_0202A0E8
+_0222FD54:
+ ldr r1, [r7]
+ mov r0, #8
+ tst r0, r1
+ beq _0222FDBE
+ mov r4, #0
+ add r5, r7, #0
+_0222FD60:
+ add r0, r4, #0
+ bl FUN_020313CC
+ lsl r0, r0, #2
+ ldr r1, [r5, #4]
+ add r0, r6, r0
+ str r1, [r0, #4]
+ add r0, r4, #0
+ bl FUN_020313CC
+ str r0, [sp, #8]
+ add r0, r5, #0
+ add r0, #0xf8
+ ldr r0, [r0]
+ mov r1, #5
+ bl FUN_020239A0
+ ldr r1, [sp, #8]
+ add r4, r4, #1
+ lsl r1, r1, #2
+ add r1, r6, r1
+ add r5, r5, #4
+ str r0, [r1, #0x14]
+ cmp r4, #4
+ blt _0222FD60
+ mov r0, #5
+ str r0, [r6, #0x24]
+ add r0, r6, #0
+ mov r1, #2
+ add r0, #0x28
+ strb r1, [r0]
+ add r0, r6, #0
+ mov r1, #1
+ add r0, #0x29
+ strb r1, [r0]
+ ldr r1, [r7, #0x14]
+ cmp r1, #5
+ beq _0222FDB4
+ add r0, r6, #0
+ add r0, #0x2a
+ strb r1, [r0]
+ b _0222FE48
+_0222FDB4:
+ add r0, r6, #0
+ mov r1, #3
+ add r0, #0x2a
+ strb r1, [r0]
+ b _0222FE48
+_0222FDBE:
+ ldr r0, [sp, #4]
+ lsl r5, r0, #2
+ bl FUN_020313CC
+ add r1, r7, r5
+ lsl r0, r0, #2
+ ldr r1, [r1, #4]
+ add r0, r6, r0
+ str r1, [r0, #4]
+ ldr r0, [sp, #4]
+ mov r1, #1
+ eor r0, r1
+ lsl r4, r0, #2
+ str r0, [sp]
+ bl FUN_020313CC
+ add r1, r7, r4
+ lsl r0, r0, #2
+ ldr r1, [r1, #4]
+ add r0, r6, r0
+ str r1, [r0, #4]
+ ldr r0, [sp, #4]
+ bl FUN_020313CC
+ str r0, [sp, #0xc]
+ add r0, r7, r5
+ add r0, #0xf8
+ ldr r0, [r0]
+ mov r1, #5
+ bl FUN_020239A0
+ ldr r1, [sp, #0xc]
+ lsl r1, r1, #2
+ add r1, r6, r1
+ str r0, [r1, #0x14]
+ ldr r0, [sp]
+ bl FUN_020313CC
+ add r5, r0, #0
+ add r0, r7, r4
+ add r0, #0xf8
+ ldr r0, [r0]
+ mov r1, #5
+ bl FUN_020239A0
+ lsl r1, r5, #2
+ add r1, r6, r1
+ str r0, [r1, #0x14]
+ mov r0, #5
+ str r0, [r6, #0x24]
+ add r0, r6, #0
+ mov r1, #2
+ add r0, #0x28
+ strb r1, [r0]
+ add r0, r6, #0
+ mov r1, #0
+ add r0, #0x29
+ strb r1, [r0]
+ ldr r1, [r7, #0x14]
+ cmp r1, #5
+ beq _0222FE40
+ add r0, r6, #0
+ add r0, #0x2a
+ strb r1, [r0]
+ b _0222FE48
+_0222FE40:
+ add r0, r6, #0
+ mov r1, #3
+ add r0, #0x2a
+ strb r1, [r0]
+_0222FE48:
+ add r0, r6, #0
+ bl FUN_02211E60
+ mov r0, #1
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0222FE54: .word 0x00000007
+
+ thumb_func_start MOD11_0222FE58
+MOD11_0222FE58: ; 0x0222FE58
+ push {r4, r5, r6, lr}
+ bl FUN_0200628C
+ mov r1, #0x66
+ lsl r1, r1, #2
+ ldr r6, [r0, r1]
+ add r0, r6, #0
+ add r0, #0x2b
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0222FE8E
+ mov r4, #0
+ add r5, r6, #0
+_0222FE72:
+ ldr r0, [r5, #0x14]
+ cmp r0, #0
+ beq _0222FE7C
+ bl FUN_02016A18
+_0222FE7C:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0222FE72
+ add r0, r6, #0
+ bl FUN_02016A18
+ mov r0, #1
+ pop {r4, r5, r6, pc}
+_0222FE8E:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0222FE94
+MOD11_0222FE94: ; 0x0222FE94
+ push {r3, lr}
+ ldr r1, [r0, #0x2c]
+ ldr r0, _0222FEBC ; =0x00000404
+ tst r0, r1
+ beq _0222FEA6
+ mov r0, #1
+ bl FUN_02002B7C
+ pop {r3, pc}
+_0222FEA6:
+ mov r0, #3
+ bl FUN_02002B7C
+ mov r0, #1
+ bl FUN_02002B60
+ mov r0, #1
+ bl FUN_02002BB8
+ pop {r3, pc}
+ nop
+_0222FEBC: .word 0x00000404
+
+ thumb_func_start MOD11_0222FEC0
+MOD11_0222FEC0: ; 0x0222FEC0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x40
+ str r0, [sp]
+ mov r0, #0x5f
+ mov r3, #0
+ add r4, sp, #0x30
+ add r5, sp, #0x20
+ lsl r0, r0, #2
+_0222FED0:
+ stmia r4!, {r3}
+ ldr r2, [r1, r0]
+ add r3, r3, #1
+ add r1, r1, #4
+ stmia r5!, {r2}
+ cmp r3, #4
+ blt _0222FED0
+ bl FUN_02031190
+ str r0, [sp, #0x10]
+ bl FUN_02030F20
+ str r0, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0xc]
+ sub r0, r0, #1
+ str r0, [sp, #0x14]
+ cmp r0, #0
+ ble _0222FF50
+ add r0, sp, #0x30
+ add r3, sp, #0x20
+ str r0, [sp, #8]
+ str r3, [sp, #0x18]
+ mov ip, r0
+_0222FF02:
+ ldr r0, [sp, #4]
+ add r2, r0, #1
+ ldr r0, [sp, #0xc]
+ cmp r2, r0
+ bge _0222FF3C
+ ldr r0, [sp, #0x18]
+ lsl r1, r2, #2
+ add r4, r0, r1
+ mov r0, ip
+ add r5, r0, r1
+_0222FF16:
+ ldr r0, [r4]
+ ldr r6, [r3]
+ str r0, [sp, #0x1c]
+ cmp r6, r0
+ bge _0222FF30
+ ldr r0, [sp, #8]
+ ldr r1, [r5]
+ ldr r7, [r0]
+ str r1, [r0]
+ ldr r0, [sp, #0x1c]
+ str r7, [r5]
+ str r0, [r3]
+ str r6, [r4]
+_0222FF30:
+ ldr r0, [sp, #0xc]
+ add r2, r2, #1
+ add r4, r4, #4
+ add r5, r5, #4
+ cmp r2, r0
+ blt _0222FF16
+_0222FF3C:
+ ldr r0, [sp, #8]
+ add r3, r3, #4
+ add r0, r0, #4
+ str r0, [sp, #8]
+ ldr r0, [sp, #4]
+ add r1, r0, #1
+ ldr r0, [sp, #0x14]
+ str r1, [sp, #4]
+ cmp r1, r0
+ blt _0222FF02
+_0222FF50:
+ ldr r1, [sp, #0x30]
+ ldr r0, [sp, #0x10]
+ cmp r1, r0
+ bne _0222FF60
+ ldr r1, _0222FF64 ; =0x000023F8
+ ldr r0, [sp]
+ mov r2, #1
+ strb r2, [r0, r1]
+_0222FF60:
+ add sp, #0x40
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0222FF64: .word 0x000023F8
+
+ thumb_func_start MOD11_0222FF68
+MOD11_0222FF68: ; 0x0222FF68
+ ldr r0, [r0, #4]
+ bx lr
+
+ thumb_func_start MOD11_0222FF6C
+MOD11_0222FF6C: ; 0x0222FF6C
+ ldr r2, [r0, #8]
+ lsl r0, r1, #4
+ add r0, r2, r0
+ bx lr
+
+ thumb_func_start MOD11_0222FF74
+MOD11_0222FF74: ; 0x0222FF74
+ ldr r0, [r0, #0x2c]
+ bx lr
+
+ thumb_func_start MOD11_0222FF78
+MOD11_0222FF78: ; 0x0222FF78
+ ldr r0, [r0, #0x30]
+ bx lr
+
+ thumb_func_start MOD11_0222FF7C
+MOD11_0222FF7C: ; 0x0222FF7C
+ lsl r1, r1, #2
+ add r0, r0, r1
+ ldr r0, [r0, #0x34]
+ bx lr
+
+ thumb_func_start MOD11_0222FF84
+MOD11_0222FF84: ; 0x0222FF84
+ ldr r0, [r0, #0x44]
+ bx lr
+
+ thumb_func_start MOD11_0222FF88
+MOD11_0222FF88: ; 0x0222FF88
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _0222FFA6
+ mov r3, #0x10
+ tst r2, r3
+ beq _0222FFAE
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _0222FFAE
+_0222FFA6:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ pop {r3, r4, r5, pc}
+_0222FFAE:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _0222FFC0
+ lsl r0, r4, #0x1f
+ lsr r0, r0, #0x1d
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ pop {r3, r4, r5, pc}
+_0222FFC0:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0222FFC8
+MOD11_0222FFC8: ; 0x0222FFC8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _0222FFE6
+ mov r3, #0x10
+ tst r2, r3
+ beq _0222FFF2
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _0222FFF2
+_0222FFE6:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ bl FUN_0206B9AC
+ pop {r3, r4, r5, pc}
+_0222FFF2:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _02230008
+ lsl r0, r4, #0x1f
+ lsr r0, r0, #0x1d
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ bl FUN_0206B9AC
+ pop {r3, r4, r5, pc}
+_02230008:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ bl FUN_0206B9AC
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02230014
+MOD11_02230014: ; 0x02230014
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r6, r2, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _02230034
+ mov r3, #0x10
+ tst r2, r3
+ beq _02230042
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _02230042
+_02230034:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ add r1, r6, #0
+ bl FUN_0206B9B0
+ pop {r4, r5, r6, pc}
+_02230042:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _0223005A
+ lsl r0, r4, #0x1f
+ lsr r0, r0, #0x1d
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ add r1, r6, #0
+ bl FUN_0206B9B0
+ pop {r4, r5, r6, pc}
+_0223005A:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x68]
+ add r1, r6, #0
+ bl FUN_0206B9B0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02230068
+MOD11_02230068: ; 0x02230068
+ add r0, #0x88
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02230070
+MOD11_02230070: ; 0x02230070
+ add r0, #0x8c
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02230078
+MOD11_02230078: ; 0x02230078
+ add r0, #0x90
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02230080
+MOD11_02230080: ; 0x02230080
+ add r0, #0x94
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02230088
+MOD11_02230088: ; 0x02230088
+ mov r2, #0x5f
+ lsl r2, r2, #2
+ add r2, r0, r2
+ lsl r0, r1, #4
+ add r0, r2, r0
+ bx lr
+
+ thumb_func_start MOD11_02230094
+MOD11_02230094: ; 0x02230094
+ mov r1, #0x67
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_0223009C
+MOD11_0223009C: ; 0x0223009C
+ lsl r1, r1, #2
+ add r1, r0, r1
+ mov r0, #0x1a
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ bx lr
+
+ thumb_func_start MOD11_022300A8
+MOD11_022300A8: ; 0x022300A8
+ lsl r1, r1, #2
+ add r1, r0, r1
+ mov r0, #0x1a
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ bx lr
+
+ thumb_func_start MOD11_022300B4
+MOD11_022300B4: ; 0x022300B4
+ mov r1, #0x6a
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_022300BC
+MOD11_022300BC: ; 0x022300BC
+ mov r1, #0x6b
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_022300C4
+MOD11_022300C4: ; 0x022300C4
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start MOD11_022300C8
+MOD11_022300C8: ; 0x022300C8
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start MOD11_022300CC
+MOD11_022300CC: ; 0x022300CC
+ ldr r0, [r0, #0x28]
+ bx lr
+
+ thumb_func_start MOD11_022300D0
+MOD11_022300D0: ; 0x022300D0
+ ldr r0, [r0, #0x60]
+ bx lr
+
+ thumb_func_start MOD11_022300D4
+MOD11_022300D4: ; 0x022300D4
+ mov r1, #0x89
+ lsl r1, r1, #2
+ add r0, r0, r1
+ bx lr
+
+ thumb_func_start MOD11_022300DC
+MOD11_022300DC: ; 0x022300DC
+ ldr r1, _022300E4 ; =0x00001224
+ add r0, r0, r1
+ bx lr
+ nop
+_022300E4: .word 0x00001224
+
+ thumb_func_start MOD11_022300E8
+MOD11_022300E8: ; 0x022300E8
+ ldr r1, _022300F0 ; =0x000023E4
+ add r0, r0, r1
+ bx lr
+ nop
+_022300F0: .word 0x000023E4
+
+ thumb_func_start MOD11_022300F4
+MOD11_022300F4: ; 0x022300F4
+ ldr r1, _022300FC ; =0x000023E6
+ add r0, r0, r1
+ bx lr
+ nop
+_022300FC: .word 0x000023E6
+
+ thumb_func_start MOD11_02230100
+MOD11_02230100: ; 0x02230100
+ ldr r1, _02230108 ; =0x000023E8
+ add r0, r0, r1
+ bx lr
+ nop
+_02230108: .word 0x000023E8
+
+ thumb_func_start MOD11_0223010C
+MOD11_0223010C: ; 0x0223010C
+ ldr r1, _02230114 ; =0x000023EA
+ add r0, r0, r1
+ bx lr
+ nop
+_02230114: .word 0x000023EA
+
+ thumb_func_start MOD11_02230118
+MOD11_02230118: ; 0x02230118
+ ldr r1, _02230120 ; =0x000023EC
+ add r0, r0, r1
+ bx lr
+ nop
+_02230120: .word 0x000023EC
+
+ thumb_func_start MOD11_02230124
+MOD11_02230124: ; 0x02230124
+ ldr r1, _0223012C ; =0x000023EE
+ add r0, r0, r1
+ bx lr
+ nop
+_0223012C: .word 0x000023EE
+
+ thumb_func_start MOD11_02230130
+MOD11_02230130: ; 0x02230130
+ mov r1, #0x73
+ lsl r1, r1, #2
+ add r0, r0, r1
+ bx lr
+
+ thumb_func_start MOD11_02230138
+MOD11_02230138: ; 0x02230138
+ ldr r0, [r0, #0x14]
+ bx lr
+
+ thumb_func_start MOD11_0223013C
+MOD11_0223013C: ; 0x0223013C
+ ldr r0, [r0, #0x18]
+ bx lr
+
+ thumb_func_start MOD11_02230140
+MOD11_02230140: ; 0x02230140
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _0223015E
+ mov r3, #0x10
+ tst r2, r3
+ beq _02230168
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _02230168
+_0223015E:
+ lsl r0, r4, #1
+ add r0, r5, r0
+ add r0, #0xa0
+ ldrh r0, [r0]
+ pop {r3, r4, r5, pc}
+_02230168:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _0223017C
+ lsl r0, r4, #0x1f
+ lsr r0, r0, #0x1e
+ add r0, r5, r0
+ add r0, #0xa0
+ ldrh r0, [r0]
+ pop {r3, r4, r5, pc}
+_0223017C:
+ lsl r0, r4, #1
+ add r0, r5, r0
+ add r0, #0xa0
+ ldrh r0, [r0]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230188
+MOD11_02230188: ; 0x02230188
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _022301A6
+ mov r3, #0x10
+ tst r2, r3
+ beq _022301B0
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _022301B0
+_022301A6:
+ mov r0, #0x34
+ add r5, #0xac
+ mul r0, r4
+ add r0, r5, r0
+ pop {r3, r4, r5, pc}
+_022301B0:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _022301C8
+ mov r0, #1
+ add r1, r4, #0
+ and r1, r0
+ mov r0, #0x34
+ add r5, #0xac
+ mul r0, r1
+ add r0, r5, r0
+ pop {r3, r4, r5, pc}
+_022301C8:
+ mov r0, #0x34
+ add r5, #0xac
+ mul r0, r4
+ add r0, r5, r0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022301D4
+MOD11_022301D4: ; 0x022301D4
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _022301F2
+ mov r3, #0x10
+ tst r2, r3
+ beq _022301FA
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _022301FA
+_022301F2:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x48]
+ pop {r3, r4, r5, pc}
+_022301FA:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _0223020C
+ lsl r0, r4, #0x1f
+ lsr r0, r0, #0x1d
+ add r0, r5, r0
+ ldr r0, [r0, #0x48]
+ pop {r3, r4, r5, pc}
+_0223020C:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x48]
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02230214
+MOD11_02230214: ; 0x02230214
+ ldr r0, [r0, #0x58]
+ bx lr
+
+ thumb_func_start MOD11_02230218
+MOD11_02230218: ; 0x02230218
+ ldr r0, [r0, #0x5c]
+ bx lr
+
+ thumb_func_start MOD11_0223021C
+MOD11_0223021C: ; 0x0223021C
+ lsl r1, r1, #2
+ add r0, r0, r1
+ ldr r3, _02230228 ; =0x020239CD
+ ldr r0, [r0, #0x48]
+ bx r3
+ nop
+_02230228: .word 0x020239CD
+
+ thumb_func_start MOD11_0223022C
+MOD11_0223022C: ; 0x0223022C
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ add r7, r1, #0
+ mov r4, #0
+ cmp r0, #0
+ ble _02230250
+ add r5, r6, #0
+_0223023C:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A4C
+ cmp r7, r0
+ beq _02230250
+ ldr r0, [r6, #0x44]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, r0
+ blt _0223023C
+_02230250:
+ ldr r0, [r6, #0x44]
+ cmp r4, r0
+ blt _0223025A
+ bl ErrorHandling
+_0223025A:
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230260
+MOD11_02230260: ; 0x02230260
+ lsl r1, r1, #2
+ add r0, r0, r1
+ ldr r3, _0223026C ; =MOD11_02253A4C
+ ldr r0, [r0, #0x34]
+ bx r3
+ nop
+_0223026C: .word MOD11_02253A4C
+
+ thumb_func_start MOD11_02230270
+MOD11_02230270: ; 0x02230270
+ push {r3, lr}
+ lsl r1, r1, #2
+ add r0, r0, r1
+ ldr r0, [r0, #0x34]
+ bl MOD11_02253A4C
+ mov r1, #1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230288
+MOD11_02230288: ; 0x02230288
+ mov r1, #0x1b
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_02230290
+MOD11_02230290: ; 0x02230290
+ ldr r0, [r0, #0x64]
+ bx lr
+
+ thumb_func_start MOD11_02230294
+MOD11_02230294: ; 0x02230294
+ ldr r1, _022302A4 ; =0x000023FC
+ ldr r0, [r0, r1]
+ cmp r0, #0xc
+ bgt _022302A0
+ cmp r0, #0
+ bge _022302A2
+_022302A0:
+ mov r0, #0xc
+_022302A2:
+ bx lr
+ .align 2, 0
+_022302A4: .word 0x000023FC
+
+ thumb_func_start MOD11_022302A8
+MOD11_022302A8: ; 0x022302A8
+ mov r1, #9
+ lsl r1, r1, #0xa
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_022302B0
+MOD11_022302B0: ; 0x022302B0
+ ldr r1, _022302B8 ; =0x00002404
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_022302B8: .word 0x00002404
+
+ thumb_func_start MOD11_022302BC
+MOD11_022302BC: ; 0x022302BC
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ str r0, [sp]
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _022302D8
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022302D8:
+ ldr r0, [sp]
+ mov r4, #0
+ cmp r0, #0
+ ble _02230302
+_022302E0:
+ cmp r4, r5
+ beq _022302FA
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_02230270
+ add r7, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ cmp r7, r0
+ beq _02230302
+_022302FA:
+ ldr r0, [sp]
+ add r4, r4, #1
+ cmp r4, r0
+ blt _022302E0
+_02230302:
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230308
+MOD11_02230308: ; 0x02230308
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r6, r1, #0
+ str r2, [sp]
+ bl MOD11_0222FF84
+ str r0, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _0223032C
+ mov r0, #1
+ add sp, #8
+ eor r0, r6
+ pop {r3, r4, r5, r6, r7, pc}
+_0223032C:
+ ldr r0, [sp, #4]
+ mov r4, #0
+ cmp r0, #0
+ ble _02230368
+_02230334:
+ cmp r4, r6
+ beq _02230360
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02230260
+ mov r1, #2
+ and r1, r0
+ ldr r0, [sp]
+ cmp r0, r1
+ bne _02230360
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02230270
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02230270
+ cmp r7, r0
+ bne _02230368
+_02230360:
+ ldr r0, [sp, #4]
+ add r4, r4, #1
+ cmp r4, r0
+ blt _02230334
+_02230368:
+ add r0, r4, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230370
+MOD11_02230370: ; 0x02230370
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r6, r1, #0
+ ldr r1, [sp, #0x38]
+ add r5, r2, #0
+ str r1, [sp, #0x38]
+ add r1, r0, #0
+ ldr r1, [r1, #0x30]
+ add r4, r3, #0
+ str r1, [sp, #0x1c]
+ mov r1, #0
+ str r1, [sp, #0x14]
+ ldr r1, [sp, #0x1c]
+ str r0, [sp, #4]
+ mov r2, #2
+ add r3, r6, #0
+ bl MOD11_0224C474
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ cmp r0, #3
+ beq _022303BA
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ tst r0, r1
+ beq _022303E0
+ ldr r0, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ bne _022303E0
+_022303BA:
+ ldr r0, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_022302BC
+ add r3, r0, #0
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x1c]
+ mov r2, #2
+ bl MOD11_0224C474
+ str r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022303E4
+ ldr r0, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_022302BC
+ add r6, r0, #0
+ b _022303E4
+_022303E0:
+ ldr r0, [sp, #0x10]
+ str r0, [sp, #0xc]
+_022303E4:
+ ldr r0, [sp, #4]
+ add r1, r6, #0
+ add r2, r5, #0
+ bl MOD11_02230014
+ str r0, [sp, #0x18]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x38]
+ mov r1, #0xf
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230478
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ mov r1, #7
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _02230478
+ mov r1, #7
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ add r2, sp, #0x20
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230434
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230474
+_02230434:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #7
+ str r0, [sp, #0x20]
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, _02230688 ; =0xF7FFFFFF
+ str r0, [sp, #0x20]
+ and r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+_02230474:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230478:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x10
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022304DC
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _0223068C ; =0x00000F88
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _022304DC
+ ldr r1, _02230690 ; =0xFFFFF077
+ add r2, sp, #0x20
+ and r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _022304B8
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022304D8
+_022304B8:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, _02230690 ; =0xFFFFF077
+ str r0, [sp, #0x20]
+ and r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+_022304D8:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022304DC:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x11
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230540
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ mov r1, #0x10
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _02230540
+ mov r1, #0x10
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ add r2, sp, #0x20
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _0223051C
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _0223053C
+_0223051C:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #0x10
+ str r0, [sp, #0x20]
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+_0223053C:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230540:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x12
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022305A4
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ mov r1, #0x20
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _022305A4
+ mov r1, #0x20
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ add r2, sp, #0x20
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230580
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022305A0
+_02230580:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #0x20
+ str r0, [sp, #0x20]
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+_022305A0:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022305A4:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x13
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230608
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ mov r1, #0x40
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _02230608
+ mov r1, #0x40
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ add r2, sp, #0x20
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _022305E4
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230604
+_022305E4:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #0x40
+ str r0, [sp, #0x20]
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x34
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+_02230604:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230608:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x14
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230650
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230626
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230650
+_02230626:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #7
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _02230650
+ mov r1, #7
+ bic r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230650:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x15
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022306AC
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _0223066E
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022306AC
+_0223066E:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #0xf
+ lsl r1, r1, #0x10
+ str r0, [sp, #0x20]
+ tst r1, r0
+ beq _022306AC
+ ldr r1, _02230694 ; =0xFFF0FFFF
+ b _02230698
+ .align 2, 0
+_02230688: .word 0xF7FFFFFF
+_0223068C: .word 0x00000F88
+_02230690: .word 0xFFFFF077
+_02230694: .word 0xFFF0FFFF
+_02230698:
+ mov r2, #0x35
+ and r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022306AC:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x16
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230706
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x1c]
+ mov r2, #1
+ add r3, r6, #0
+ bl MOD11_0224C474
+ str r0, [sp, #0x20]
+ cmp r0, #0
+ bne _02230706
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x1c]
+ mov r2, #0
+ add r3, r6, #0
+ bl MOD11_0224C474
+ mov r1, #0x40
+ str r0, [sp, #0x20]
+ orr r0, r1
+ str r0, [sp, #0x20]
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x1c]
+ mov r2, #0
+ add r3, r6, #0
+ bl MOD11_0224C54C
+ mov r0, #5
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x1c]
+ mov r2, #1
+ add r3, r6, #0
+ bl MOD11_0224C54C
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230706:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x1b
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230744
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230724
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230744
+_02230724:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x13
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0xc
+ bge _02230744
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x13
+ mov r3, #1
+ bl MOD11_02243DB0
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230744:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x1c
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230782
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230762
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230782
+_02230762:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x14
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0xc
+ bge _02230782
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x14
+ mov r3, #1
+ bl MOD11_02243DB0
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230782:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x1d
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022307C0
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _022307A0
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022307C0
+_022307A0:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x16
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0xc
+ bge _022307C0
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x16
+ mov r3, #1
+ bl MOD11_02243DB0
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022307C0:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x1e
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022307FE
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _022307DE
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022307FE
+_022307DE:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x17
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0xc
+ bge _022307FE
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x17
+ mov r3, #1
+ bl MOD11_02243DB0
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022307FE:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x1f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _0223083C
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _0223081C
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _0223083C
+_0223081C:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x15
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0xc
+ bge _0223083C
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x15
+ mov r3, #1
+ bl MOD11_02243DB0
+ mov r0, #1
+ str r0, [sp, #0x14]
+_0223083C:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x20
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _0223087A
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _0223085A
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _0223087A
+_0223085A:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x18
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0xc
+ bge _0223087A
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x18
+ mov r3, #1
+ bl MOD11_02243DB0
+ mov r0, #1
+ str r0, [sp, #0x14]
+_0223087A:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x21
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022308C4
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230898
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022308C4
+_02230898:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #1
+ lsl r1, r1, #0x14
+ add r2, r0, #0
+ str r0, [sp, #0x20]
+ tst r2, r1
+ bne _022308C4
+ orr r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022308C4:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x24
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _0223095A
+ ldr r0, [sp, #0x38]
+ mov r1, #0x37
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #0x20]
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ add r1, #0x3a
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r0, #0
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ add r1, #0x42
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r7, r0
+ beq _0223095A
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ ldr r2, [sp, #0x20]
+ add r1, #0x3a
+ bl FUN_02068018
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _0223091C
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230956
+_0223091C:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #2
+ lsl r1, r1, #0x14
+ tst r0, r1
+ bne _02230956
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x4b
+ mov r3, #0
+ bl MOD11_02243420
+ add r7, r0, #0
+ add r0, r4, #0
+ bl FUN_0206A92C
+ tst r0, r7
+ bne _02230956
+ add r4, #0x1f
+ ldr r0, [sp, #0x1c]
+ ldr r3, [sp, #0x20]
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02243DB0
+_02230956:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_0223095A:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x25
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _022309F8
+ ldr r0, [sp, #0x38]
+ mov r1, #0x37
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #0x20]
+ mov r4, #0
+_0223097E:
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ add r1, #0x3a
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r0, #0
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ add r1, #0x42
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r7, r0
+ beq _022309F2
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ ldr r2, [sp, #0x20]
+ add r1, #0x3a
+ bl FUN_02068018
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _022309B4
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _022309EE
+_022309B4:
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x35
+ mov r3, #0
+ bl MOD11_02243420
+ mov r1, #2
+ lsl r1, r1, #0x14
+ tst r0, r1
+ bne _022309EE
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x4b
+ mov r3, #0
+ bl MOD11_02243420
+ add r7, r0, #0
+ add r0, r4, #0
+ bl FUN_0206A92C
+ tst r0, r7
+ bne _022309EE
+ add r2, r4, #0
+ ldr r0, [sp, #0x1c]
+ ldr r3, [sp, #0x20]
+ add r1, r6, #0
+ add r2, #0x1f
+ bl MOD11_02243DB0
+_022309EE:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_022309F2:
+ add r4, r4, #1
+ cmp r4, #4
+ blt _0223097E
+_022309F8:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x26
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ bne _02230A0C
+ b _02230B14
+_02230A0C:
+ mov r0, #0
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x38]
+ mov r1, #0x17
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230A36
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _02230A42
+ mov r0, #1
+ str r0, [sp, #0x20]
+ b _02230A42
+_02230A36:
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0x20]
+_02230A42:
+ ldr r0, [sp, #0x20]
+ cmp r0, #0
+ beq _02230B14
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r4, r0, #0
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa3
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r4, r0
+ beq _02230B14
+ ldr r0, [sp, #0x38]
+ mov r1, #0x36
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #0x20]
+ cmp r0, #0xfd
+ beq _02230AA2
+ cmp r0, #0xfe
+ beq _02230A8C
+ cmp r0, #0xff
+ bne _02230AC2
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa3
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0x20]
+ b _02230AC2
+_02230A8C:
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa3
+ mov r2, #0
+ bl FUN_020671BC
+ lsr r0, r0, #1
+ str r0, [sp, #0x20]
+ bne _02230AC2
+ mov r0, #1
+ str r0, [sp, #0x20]
+ b _02230AC2
+_02230AA2:
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa3
+ mov r2, #0
+ bl FUN_020671BC
+ mov r1, #0x19
+ mul r1, r0
+ add r0, r1, #0
+ mov r1, #0x64
+ blx _u32_div_f
+ str r0, [sp, #0x20]
+ cmp r0, #0
+ bne _02230AC2
+ mov r0, #1
+ str r0, [sp, #0x20]
+_02230AC2:
+ ldr r0, [sp, #0x18]
+ ldr r2, [sp, #0x20]
+ mov r1, #0xa2
+ bl FUN_02068018
+ ldr r0, [sp, #0x38]
+ mov r1, #0x17
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ bne _02230B10
+ ldr r0, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02230AF8
+ ldr r0, [sp, #0x1c]
+ add r1, r6, #0
+ mov r2, #0x5f
+ add r3, sp, #0x20
+ bl MOD11_0224379C
+ b _02230B10
+_02230AF8:
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230B04
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230B10
+_02230B04:
+ ldr r0, [sp, #0x1c]
+ ldr r3, [sp, #0x20]
+ add r1, r6, #0
+ mov r2, #0x2f
+ bl MOD11_02243DB0
+_02230B10:
+ mov r0, #1
+ str r0, [sp, #0x14]
+_02230B14:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x2d
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230B4A
+ ldr r0, [sp, #0x18]
+ mov r1, #9
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0x64
+ bhs _02230B4A
+ ldr r0, [sp, #0x14]
+ cmp r0, #1
+ bne _02230B4A
+ ldr r0, [sp, #0x38]
+ mov r1, #0x38
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #8]
+_02230B4A:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x2e
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230B8E
+ ldr r0, [sp, #0x18]
+ mov r1, #9
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0x64
+ blo _02230B8E
+ ldr r0, [sp, #0x18]
+ mov r1, #9
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0xc8
+ bhs _02230B8E
+ ldr r0, [sp, #0x14]
+ cmp r0, #1
+ bne _02230B8E
+ ldr r0, [sp, #0x38]
+ mov r1, #0x39
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #8]
+_02230B8E:
+ ldr r0, [sp, #0x38]
+ mov r1, #0x2f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02230BC4
+ ldr r0, [sp, #0x18]
+ mov r1, #9
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0xc8
+ blo _02230BC4
+ ldr r0, [sp, #0x14]
+ cmp r0, #1
+ bne _02230BC4
+ ldr r0, [sp, #0x38]
+ mov r1, #0x3a
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #8]
+_02230BC4:
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _02230C4A
+ ble _02230C28
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9a
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0xb
+ bne _02230BE0
+ ldr r0, [sp, #8]
+ add r0, r0, #1
+ str r0, [sp, #8]
+_02230BE0:
+ ldr r0, [sp, #0x18]
+ mov r1, #0x97
+ mov r2, #0
+ bl FUN_020671BC
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ bl MOD11_022302B0
+ cmp r4, r0
+ bne _02230BFC
+ ldr r0, [sp, #8]
+ add r0, r0, #1
+ str r0, [sp, #8]
+_02230BFC:
+ ldr r0, [sp, #0x18]
+ mov r1, #6
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x38]
+ mov r1, #1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0x34
+ bne _02230C28
+ ldr r1, [sp, #8]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ str r0, [sp, #8]
+_02230C28:
+ ldr r0, [sp, #0x18]
+ ldr r2, [sp, #8]
+ mov r1, #9
+ bl FUN_02068018
+ ldr r0, [sp, #0x10]
+ cmp r0, r5
+ beq _02230C3E
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ bne _02230C4A
+_02230C3E:
+ ldr r0, [sp, #0x1c]
+ ldr r3, [sp, #8]
+ add r1, r6, #0
+ mov r2, #0x2c
+ bl MOD11_02243DB0
+_02230C4A:
+ ldr r0, [sp, #0x14]
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02230C50
+MOD11_02230C50: ; 0x02230C50
+ ldr r1, _02230C58 ; =0x00002408
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_02230C58: .word 0x00002408
+
+ thumb_func_start MOD11_02230C5C
+MOD11_02230C5C: ; 0x02230C5C
+ ldr r1, _02230C64 ; =0x0000240C
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_02230C64: .word 0x0000240C
+
+ thumb_func_start MOD11_02230C68
+MOD11_02230C68: ; 0x02230C68
+ mov r2, #9
+ lsl r2, r2, #0xa
+ ldr r1, [r0, r2]
+ cmp r1, #5
+ bhi _02230CB4
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02230C7E: ; jump table
+ .short _02230C8A - _02230C7E - 2 ; case 0
+ .short _02230C8A - _02230C7E - 2 ; case 1
+ .short _02230C8A - _02230C7E - 2 ; case 2
+ .short _02230C8A - _02230C7E - 2 ; case 3
+ .short _02230C8A - _02230C7E - 2 ; case 4
+ .short _02230C8A - _02230C7E - 2 ; case 5
+_02230C8A:
+ add r2, #0xc
+ ldr r1, [r0, r2]
+ cmp r1, #4
+ bhi _02230CB6
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02230C9E: ; jump table
+ .short _02230CA8 - _02230C9E - 2 ; case 0
+ .short _02230CA8 - _02230C9E - 2 ; case 1
+ .short _02230CAC - _02230C9E - 2 ; case 2
+ .short _02230CB0 - _02230C9E - 2 ; case 3
+ .short _02230CB0 - _02230C9E - 2 ; case 4
+_02230CA8:
+ mov r0, #0
+ bx lr
+_02230CAC:
+ mov r0, #1
+ bx lr
+_02230CB0:
+ mov r0, #2
+ bx lr
+_02230CB4:
+ mov r0, #0
+_02230CB6:
+ bx lr
+
+ thumb_func_start MOD11_02230CB8
+MOD11_02230CB8: ; 0x02230CB8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_02230260
+ cmp r0, #4
+ bne _02230D32
+ ldr r1, [r5, #0x2c]
+ mov r0, #8
+ tst r0, r1
+ bne _02230D32
+ mov r0, #4
+ tst r0, r1
+ beq _02230CEE
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022302BC
+ bl FUN_0206A92C
+ mov r1, #0x91
+ lsl r1, r1, #6
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _02230D32
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_02230CEE:
+ ldr r1, [r5, #0x30]
+ add r0, r5, #0
+ mov r2, #0xc
+ mov r3, #0
+ bl MOD11_0224C474
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r1, [r5, #0x30]
+ add r0, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_0224C474
+ cmp r0, #0xe
+ bne _02230D12
+ cmp r4, #0x10
+ bhi _02230D2A
+_02230D12:
+ ldr r1, [r5, #0x30]
+ add r0, r5, #0
+ mov r2, #0xa
+ mov r3, #0
+ bl MOD11_0224C474
+ add r4, r0, #0
+ mov r0, #0
+ bl FUN_0206A92C
+ tst r0, r4
+ beq _02230D2E
+_02230D2A:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+_02230D2E:
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_02230D32:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230D38
+MOD11_02230D38: ; 0x02230D38
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r0, [r5, #0x14]
+ add r4, r1, #0
+ add r7, r2, #0
+ cmp r0, #1
+ beq _02230D5A
+ cmp r0, #4
+ beq _02230D5A
+ cmp r0, #5
+ beq _02230D5A
+ ldr r0, [sp, #4]
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+_02230D5A:
+ mov r0, #0x5e
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _02230DCE
+_02230D64:
+ mov r0, #0
+ str r0, [r4]
+ cmp r0, #6
+ bge _02230D9C
+ mov r6, #0x5e
+ lsl r6, r6, #2
+_02230D70:
+ bl FUN_0206A92C
+ ldr r1, [r5, r6]
+ tst r0, r1
+ beq _02230D92
+ ldr r0, [r4]
+ bl FUN_0206A92C
+ mov r3, #0x5e
+ lsl r3, r3, #2
+ mov r2, #0
+ mvn r2, r2
+ ldr r1, [r5, r3]
+ eor r0, r2
+ and r0, r1
+ str r0, [r5, r3]
+ b _02230D9C
+_02230D92:
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ cmp r0, #6
+ blt _02230D70
+_02230D9C:
+ ldr r1, [r4]
+ cmp r1, #6
+ bge _02230DC4
+ ldr r0, [r5, #4]
+ bl FUN_0206B9B0
+ mov r3, #0x59
+ str r7, [sp]
+ lsl r3, r3, #2
+ ldr r3, [r5, r3]
+ add r1, r0, #0
+ lsl r3, r3, #0x10
+ ldr r0, [r5, #4]
+ mov r2, #0
+ lsr r3, r3, #0x10
+ bl FUN_02069168
+ str r0, [sp, #4]
+ cmp r0, #0
+ bne _02230DD0
+_02230DC4:
+ mov r0, #0x5e
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ bne _02230D64
+_02230DCE:
+ ldr r0, [sp, #4]
+_02230DD0:
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02230DD4
+MOD11_02230DD4: ; 0x02230DD4
+ ldr r1, _02230DDC ; =0x000023F8
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_02230DDC: .word 0x000023F8
+
+ thumb_func_start MOD11_02230DE0
+MOD11_02230DE0: ; 0x02230DE0
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x30]
+ cmp r0, #0
+ bne _02230DEE
+ bl ErrorHandling
+_02230DEE:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ mov r2, #5
+ mov r3, #0
+ bl MOD11_0224C474
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02230E00
+MOD11_02230E00: ; 0x02230E00
+ ldr r1, _02230E08 ; =0x00002410
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_02230E08: .word 0x00002410
+
+ thumb_func_start MOD11_02230E0C
+MOD11_02230E0C: ; 0x02230E0C
+ ldr r2, _02230E14 ; =0x00002410
+ str r1, [r0, r2]
+ bx lr
+ nop
+_02230E14: .word 0x00002410
+
+ thumb_func_start MOD11_02230E18
+MOD11_02230E18: ; 0x02230E18
+ mov r1, #0x6d
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_02230E20
+MOD11_02230E20: ; 0x02230E20
+ push {r3, lr}
+ ldr r2, [r0, #0x2c]
+ mov r1, #4
+ tst r1, r2
+ beq _02230E2E
+ mov r0, #1
+ pop {r3, pc}
+_02230E2E:
+ mov r1, #0x6d
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bl FUN_0202502C
+ cmp r0, #0
+ bne _02230E40
+ mov r0, #1
+ pop {r3, pc}
+_02230E40:
+ mov r0, #0
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02230E44
+MOD11_02230E44: ; 0x02230E44
+ mov r1, #0x6d
+ lsl r1, r1, #2
+ ldr r3, _02230E50 ; =0x02025085
+ ldr r0, [r0, r1]
+ bx r3
+ nop
+_02230E50: .word 0x02025085
+
+ thumb_func_start MOD11_02230E54
+MOD11_02230E54: ; 0x02230E54
+ push {r3, lr}
+ ldr r2, [r0, #0x2c]
+ mov r1, #4
+ tst r1, r2
+ beq _02230E62
+ mov r0, #1
+ pop {r3, pc}
+_02230E62:
+ mov r1, #0x6d
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bl FUN_02024FF4
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230E70
+MOD11_02230E70: ; 0x02230E70
+ mov r1, #0x6d
+ lsl r1, r1, #2
+ ldr r3, _02230E7C ; =0x02025049
+ ldr r0, [r0, r1]
+ bx r3
+ nop
+_02230E7C: .word 0x02025049
+
+ thumb_func_start MOD11_02230E80
+MOD11_02230E80: ; 0x02230E80
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_02230E88
+MOD11_02230E88: ; 0x02230E88
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r2, [r5, #0x2c]
+ mov r3, #8
+ add r4, r1, #0
+ tst r3, r2
+ bne _02230EA6
+ mov r3, #0x10
+ tst r2, r3
+ beq _02230EAE
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _02230EAE
+_02230EA6:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x78]
+ pop {r3, r4, r5, pc}
+_02230EAE:
+ ldr r1, [r5, #0x2c]
+ mov r0, #2
+ tst r0, r1
+ beq _02230EC0
+ lsl r0, r4, #0x1f
+ lsr r0, r0, #0x1d
+ add r0, r5, r0
+ ldr r0, [r0, #0x78]
+ pop {r3, r4, r5, pc}
+_02230EC0:
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x78]
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02230EC8
+MOD11_02230EC8: ; 0x02230EC8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ mov r1, #0xa9
+ ldr r2, [r5, #0x2c]
+ lsl r1, r1, #2
+ tst r1, r2
+ bne _02230F66
+ mov r4, #0
+ add r1, r4, #0
+ bl MOD11_0222FFC8
+ cmp r0, #0
+ ble _02230F66
+ add r7, r4, #0
+_02230EE4:
+ add r0, r5, #0
+ mov r1, #0
+ add r2, r4, #0
+ bl MOD11_02230014
+ mov r1, #0xad
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ mov r0, #0x67
+ lsl r0, r0, #2
+ cmp r1, r0
+ bne _02230F58
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, _02230F68 ; =0x00002414
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ beq _02230F58
+ add r0, r5, #0
+ bl MOD11_02230294
+ cmp r0, #0xb
+ bhi _02230F40
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02230F28: ; jump table
+ .short _02230F44 - _02230F28 - 2 ; case 0
+ .short _02230F44 - _02230F28 - 2 ; case 1
+ .short _02230F40 - _02230F28 - 2 ; case 2
+ .short _02230F40 - _02230F28 - 2 ; case 3
+ .short _02230F44 - _02230F28 - 2 ; case 4
+ .short _02230F44 - _02230F28 - 2 ; case 5
+ .short _02230F40 - _02230F28 - 2 ; case 6
+ .short _02230F40 - _02230F28 - 2 ; case 7
+ .short _02230F40 - _02230F28 - 2 ; case 8
+ .short _02230F4A - _02230F28 - 2 ; case 9
+ .short _02230F40 - _02230F28 - 2 ; case 10
+ .short _02230F4A - _02230F28 - 2 ; case 11
+_02230F40:
+ str r7, [sp]
+ b _02230F4E
+_02230F44:
+ mov r0, #1
+ str r0, [sp]
+ b _02230F4E
+_02230F4A:
+ mov r0, #2
+ str r0, [sp]
+_02230F4E:
+ add r0, r6, #0
+ mov r1, #0x70
+ add r2, sp, #0
+ bl FUN_02067830
+_02230F58:
+ add r0, r5, #0
+ mov r1, #0
+ add r4, r4, #1
+ bl MOD11_0222FFC8
+ cmp r4, r0
+ blt _02230EE4
+_02230F66:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02230F68: .word 0x00002414
+
+ thumb_func_start MOD11_02230F6C
+MOD11_02230F6C: ; 0x02230F6C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, r2, #0
+ add r4, r1, #0
+ bl FUN_0206A92C
+ ldr r1, _02230F84 ; =0x00002414
+ add r2, r5, r1
+ ldrb r1, [r2, r4]
+ orr r0, r1
+ strb r0, [r2, r4]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02230F84: .word 0x00002414
+
+ thumb_func_start MOD11_02230F88
+MOD11_02230F88: ; 0x02230F88
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, #0x98
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _02230FA4
+ add r0, r1, #0
+ bl FUN_020690E4
+ add r4, #0x98
+ add r1, r0, #0
+ ldr r0, [r4]
+ bl FUN_0204C104
+_02230FA4:
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02230FA8
+MOD11_02230FA8: ; 0x02230FA8
+ push {r3, r4, lr}
+ sub sp, #4
+ add r3, r0, #0
+ mov r0, #5
+ str r0, [sp]
+ ldr r4, _02230FC8 ; =0x0000241C
+ add r0, r3, #0
+ ldrb r2, [r3, r4]
+ add r4, r4, #2
+ add r0, #0x9c
+ ldrh r3, [r3, r4]
+ ldr r0, [r0]
+ bl FUN_02061028
+ add sp, #4
+ pop {r3, r4, pc}
+ .align 2, 0
+_02230FC8: .word 0x0000241C
+
+ thumb_func_start MOD11_02230FCC
+MOD11_02230FCC: ; 0x02230FCC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ mov r1, #1
+ add r4, r0, #0
+ mov r0, #5
+ lsl r1, r1, #0x10
+ bl FUN_02016998
+ mov r1, #0x87
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #5
+ sub r1, #0x1c
+ bl FUN_02016998
+ mov r1, #0x22
+ lsl r1, r1, #4
+ str r0, [r4, r1]
+ sub r1, r1, #4
+ mov r2, #1
+ ldr r0, _02231224 ; =0x06010000
+ ldr r1, [r4, r1]
+ lsl r2, r2, #0x10
+ blx MIi_CpuCopy32
+ mov r0, #0x22
+ lsl r0, r0, #4
+ ldr r5, [r4, r0]
+ ldr r0, [r4, #0x28]
+ mov r1, #0
+ bl FUN_020031FC
+ mov r2, #2
+ add r1, r5, #0
+ lsl r2, r2, #8
+ blx MIi_CpuCopy32
+ mov r0, #0x19
+ lsl r0, r0, #0x16
+ str r0, [sp, #0x24]
+ mov r0, #0x63
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ ldr r0, [r0]
+ bl FUN_02020350
+ ldr r1, [r0, #4]
+ ldr r0, [sp, #0x24]
+ add r0, r0, r1
+ str r0, [sp, #0x24]
+ mov r0, #0x14
+ str r0, [sp, #0x28]
+ lsl r0, r0, #0xb
+ str r0, [sp, #0xc]
+_02231038:
+ mov r0, #0x10
+ mov ip, r0
+ lsl r0, r0, #6
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x28]
+ mov r7, #1
+ sub r0, #0x14
+ lsl r1, r0, #8
+ ldr r0, [sp, #0x24]
+ add r0, r0, r1
+ str r0, [sp, #0x10]
+_0223104E:
+ mov r0, ip
+ sub r0, #0x10
+ ldr r1, [sp, #0x10]
+ lsl r3, r0, #5
+ add r3, r1, r3
+ ldr r5, [sp, #0xc]
+ ldr r1, [sp, #0x14]
+ mov r2, #0
+ add r6, r5, r1
+_02231060:
+ cmp r0, #8
+ bge _02231088
+ add r1, r2, #0
+ tst r1, r7
+ beq _0223107A
+ lsr r1, r2, #0x1f
+ add r1, r2, r1
+ asr r1, r1, #1
+ ldrb r5, [r3, r1]
+ mov r1, #0xf0
+ and r1, r5
+ asr r1, r1, #4
+ b _022310B6
+_0223107A:
+ lsr r1, r2, #0x1f
+ add r1, r2, r1
+ asr r1, r1, #1
+ ldrb r5, [r3, r1]
+ mov r1, #0xf
+ and r1, r5
+ b _022310B6
+_02231088:
+ mov r1, #1
+ tst r1, r2
+ beq _022310A4
+ lsr r1, r2, #0x1f
+ add r1, r2, r1
+ asr r1, r1, #1
+ add r5, r3, r1
+ mov r1, #7
+ lsl r1, r1, #8
+ ldrb r5, [r5, r1]
+ mov r1, #0xf0
+ and r1, r5
+ asr r1, r1, #4
+ b _022310B6
+_022310A4:
+ lsr r1, r2, #0x1f
+ add r1, r2, r1
+ asr r1, r1, #1
+ add r5, r3, r1
+ mov r1, #7
+ lsl r1, r1, #8
+ ldrb r5, [r5, r1]
+ mov r1, #0xf
+ and r1, r5
+_022310B6:
+ cmp r1, #0
+ beq _022310C6
+ mov r5, #0x87
+ lsl r5, r5, #2
+ ldr r5, [r4, r5]
+ add r1, #0x70
+ add r5, r6, r5
+ strb r1, [r2, r5]
+_022310C6:
+ add r2, r2, #1
+ cmp r2, #0x40
+ blt _02231060
+ ldr r0, [sp, #0x14]
+ add r0, #0x40
+ str r0, [sp, #0x14]
+ mov r0, ip
+ add r0, r0, #1
+ mov ip, r0
+ cmp r0, #0x20
+ blt _0223104E
+ mov r1, #2
+ ldr r0, [sp, #0xc]
+ lsl r1, r1, #0xa
+ add r0, r0, r1
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x28]
+ add r0, r0, #1
+ str r0, [sp, #0x28]
+ cmp r0, #0x1c
+ blt _02231038
+ mov r0, #0x19
+ lsl r0, r0, #0x16
+ str r0, [sp, #8]
+ mov r0, #0x5f
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ ldr r0, [r0]
+ bl FUN_02020350
+ ldr r1, [r0, #4]
+ ldr r0, [sp, #8]
+ mov r7, #0x26
+ add r0, r0, r1
+ str r0, [sp, #8]
+ mov r3, #0
+ mov r0, #0xf
+ mov r1, #0xf0
+ lsl r7, r7, #0xa
+ mov r2, #1
+_02231116:
+ add r5, r3, #0
+ tst r5, r2
+ beq _0223112C
+ lsr r5, r3, #0x1f
+ add r5, r3, r5
+ asr r6, r5, #1
+ ldr r5, [sp, #8]
+ ldrb r5, [r5, r6]
+ and r5, r1
+ asr r5, r5, #4
+ b _02231138
+_0223112C:
+ lsr r5, r3, #0x1f
+ add r5, r3, r5
+ asr r6, r5, #1
+ ldr r5, [sp, #8]
+ ldrb r5, [r5, r6]
+ and r5, r0
+_02231138:
+ cmp r5, #0
+ beq _02231148
+ mov r6, #0x87
+ lsl r6, r6, #2
+ ldr r6, [r4, r6]
+ add r5, #0x70
+ add r6, r6, r3
+ strb r5, [r6, r7]
+_02231148:
+ mov r5, #2
+ add r3, r3, #1
+ lsl r5, r5, #0xa
+ cmp r3, r5
+ blt _02231116
+ mov r0, #0x1c
+ str r0, [sp, #4]
+ lsl r0, r0, #0xb
+ str r0, [sp, #0x18]
+_0223115A:
+ ldr r0, [sp, #4]
+ mov r2, #0
+ sub r0, #0x1c
+ lsl r1, r0, #8
+ ldr r0, [sp, #8]
+ str r2, [sp, #0x20]
+ add r0, r0, r1
+ str r0, [sp, #0x1c]
+ mov r7, #1
+_0223116C:
+ asr r0, r2, #2
+ lsr r0, r0, #0x1d
+ add r0, r2, r0
+ asr r0, r0, #3
+ lsl r1, r0, #0xa
+ ldr r0, [sp, #0x1c]
+ lsr r5, r2, #0x1f
+ add r6, r0, r1
+ lsl r1, r2, #0x1d
+ sub r1, r1, r5
+ mov r0, #0x1d
+ ror r1, r0
+ add r0, r5, r1
+ lsl r0, r0, #5
+ ldr r5, [sp, #0x18]
+ ldr r1, [sp, #0x20]
+ mov r3, #0
+ add r0, r6, r0
+ add r1, r5, r1
+_02231192:
+ add r5, r3, #0
+ tst r5, r7
+ beq _022311AE
+ lsr r5, r3, #0x1f
+ add r5, r3, r5
+ asr r5, r5, #1
+ add r6, r0, r5
+ mov r5, #1
+ lsl r5, r5, #0xa
+ ldrb r6, [r6, r5]
+ mov r5, #0xf0
+ and r5, r6
+ asr r5, r5, #4
+ b _022311C0
+_022311AE:
+ lsr r5, r3, #0x1f
+ add r5, r3, r5
+ asr r5, r5, #1
+ add r6, r0, r5
+ mov r5, #1
+ lsl r5, r5, #0xa
+ ldrb r6, [r6, r5]
+ mov r5, #0xf
+ and r5, r6
+_022311C0:
+ cmp r5, #0
+ beq _022311D0
+ mov r6, #0x87
+ lsl r6, r6, #2
+ ldr r6, [r4, r6]
+ add r5, #0x70
+ add r6, r1, r6
+ strb r5, [r3, r6]
+_022311D0:
+ add r3, r3, #1
+ cmp r3, #0x40
+ blt _02231192
+ ldr r0, [sp, #0x20]
+ add r2, r2, #1
+ add r0, #0x40
+ str r0, [sp, #0x20]
+ cmp r2, #0x18
+ blt _0223116C
+ mov r3, #2
+ ldr r0, [sp, #0x18]
+ lsl r3, r3, #0xa
+ add r0, r0, r3
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+ cmp r0, #0x20
+ blt _0223115A
+ mov r0, #0
+ mov r2, #0x87
+ str r0, [sp]
+ lsl r2, r2, #2
+ ldr r0, [r4, #4]
+ ldr r2, [r4, r2]
+ mov r1, #3
+ lsl r3, r3, #5
+ bl FUN_02017E14
+ mov r0, #0x5f
+ lsl r0, r0, #2
+ add r0, r4, r0
+ bl MOD11_0225840C
+ mov r0, #0x63
+ lsl r0, r0, #2
+ add r0, r4, r0
+ bl MOD11_0225840C
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02231224: .word 0x06010000
+
+ thumb_func_start MOD11_02231228
+MOD11_02231228: ; 0x02231228
+ mov r1, #0x87
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_02231230
+MOD11_02231230: ; 0x02231230
+ mov r1, #0x22
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_02231238
+MOD11_02231238: ; 0x02231238
+ ldr r1, _02231240 ; =0x00002424
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_02231240: .word 0x00002424
+
+ thumb_func_start MOD11_02231244
+MOD11_02231244: ; 0x02231244
+ ldr r1, _0223124C ; =0x00002224
+ add r0, r0, r1
+ bx lr
+ nop
+_0223124C: .word 0x00002224
+
+ thumb_func_start MOD11_02231250
+MOD11_02231250: ; 0x02231250
+ ldr r1, _02231258 ; =0x00002304
+ add r0, r0, r1
+ bx lr
+ nop
+_02231258: .word 0x00002304
+
+ thumb_func_start MOD11_0223125C
+MOD11_0223125C: ; 0x0223125C
+ ldr r1, _02231264 ; =0x00002428
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_02231264: .word 0x00002428
+
+ thumb_func_start MOD11_02231268
+MOD11_02231268: ; 0x02231268
+ ldr r1, _02231270 ; =0x0000241D
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_02231270: .word 0x0000241D
+
+ thumb_func_start MOD11_02231274
+MOD11_02231274: ; 0x02231274
+ ldr r2, _0223127C ; =0x0000241D
+ strb r1, [r0, r2]
+ bx lr
+ nop
+_0223127C: .word 0x0000241D
+
+ thumb_func_start MOD11_02231280
+MOD11_02231280: ; 0x02231280
+ ldr r1, _02231288 ; =0x0000242C
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_02231288: .word 0x0000242C
+
+ thumb_func_start MOD11_0223128C
+MOD11_0223128C: ; 0x0223128C
+ mov r2, #0x86
+ lsl r2, r2, #2
+ ldr r3, _02231298 ; =0x0202A0E9
+ ldr r0, [r0, r2]
+ bx r3
+ nop
+_02231298: .word 0x0202A0E9
+
+ thumb_func_start MOD11_0223129C
+MOD11_0223129C: ; 0x0223129C
+ mov r1, #0x86
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ ldr r3, _022312A8 ; =0x0202A171
+ mov r1, #0x16
+ bx r3
+ .align 2, 0
+_022312A8: .word 0x0202A171
+
+ thumb_func_start MOD11_022312AC
+MOD11_022312AC: ; 0x022312AC
+ ldr r2, _022312B4 ; =0x0000243C
+ str r1, [r0, r2]
+ bx lr
+ nop
+_022312B4: .word 0x0000243C
+
+ thumb_func_start MOD11_022312B8
+MOD11_022312B8: ; 0x022312B8
+ mov r2, #0x91
+ lsl r2, r2, #6
+ strb r1, [r0, r2]
+ bx lr
+
+ thumb_func_start MOD11_022312C0
+MOD11_022312C0: ; 0x022312C0
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start MOD11_022312C8
+MOD11_022312C8: ; 0x022312C8
+ mov r2, #0x6f
+ lsl r2, r2, #2
+ str r1, [r0, r2]
+ bx lr
+
+ thumb_func_start MOD11_022312D0
+MOD11_022312D0: ; 0x022312D0
+ mov r2, #0x73
+ lsl r2, r2, #2
+ add r2, r0, r2
+ lsl r0, r1, #4
+ add r0, r2, r0
+ bx lr
+
+ thumb_func_start MOD11_022312DC
+MOD11_022312DC: ; 0x022312DC
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ cmp r5, #4
+ blt _022312EA
+ bl ErrorHandling
+_022312EA:
+ lsl r0, r5, #4
+ ldr r0, [r4, r0]
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022312F0
+MOD11_022312F0: ; 0x022312F0
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r6, r2, #0
+ cmp r4, #4
+ blt _02231300
+ bl ErrorHandling
+_02231300:
+ lsl r0, r4, #4
+ add r0, r5, r0
+ str r6, [r0, #4]
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02231308
+MOD11_02231308: ; 0x02231308
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r6, r2, #0
+ cmp r4, #4
+ blt _02231318
+ bl ErrorHandling
+_02231318:
+ lsl r0, r4, #4
+ add r0, r5, r0
+ str r6, [r0, #8]
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02231320
+MOD11_02231320: ; 0x02231320
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r6, r2, #0
+ cmp r4, #4
+ blt _02231330
+ bl ErrorHandling
+_02231330:
+ lsl r0, r4, #4
+ add r0, r5, r0
+ str r6, [r0, #0xc]
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02231338
+MOD11_02231338: ; 0x02231338
+ ldr r2, _02231340 ; =0x000023F9
+ strb r1, [r0, r2]
+ bx lr
+ nop
+_02231340: .word 0x000023F9
+
+ thumb_func_start MOD11_02231344
+MOD11_02231344: ; 0x02231344
+ ldr r2, _0223134C ; =0x000023F0
+ str r1, [r0, r2]
+ bx lr
+ nop
+_0223134C: .word 0x000023F0
+
+ thumb_func_start MOD11_02231350
+MOD11_02231350: ; 0x02231350
+ ldr r2, _02231358 ; =0x000023F4
+ str r1, [r0, r2]
+ bx lr
+ nop
+_02231358: .word 0x000023F4
+
+ thumb_func_start MOD11_0223135C
+MOD11_0223135C: ; 0x0223135C
+ ldr r2, _02231364 ; =0x000023F0
+ ldr r0, [r0, r2]
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_02231364: .word 0x000023F0
+
+ thumb_func_start MOD11_02231368
+MOD11_02231368: ; 0x02231368
+ ldr r2, _02231370 ; =0x000023F4
+ ldr r0, [r0, r2]
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_02231370: .word 0x000023F4
+
+ thumb_func_start MOD11_02231374
+MOD11_02231374: ; 0x02231374
+ ldr r2, _0223137C ; =0x000023FA
+ strb r1, [r0, r2]
+ bx lr
+ nop
+_0223137C: .word 0x000023FA
+
+ thumb_func_start MOD11_02231380
+MOD11_02231380: ; 0x02231380
+ lsl r1, r1, #2
+ add r0, r0, r1
+ ldr r3, _0223138C ; =MOD11_02253A70
+ ldr r0, [r0, #0x34]
+ bx r3
+ nop
+_0223138C: .word MOD11_02253A70
+
+ thumb_func_start MOD11_02231390
+MOD11_02231390: ; 0x02231390
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ mov r7, #0
+ cmp r0, #0
+ ble _022313DC
+ add r5, r6, #0
+_0223139E:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A70
+ add r4, r0, #0
+ str r6, [r4, #0xc]
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A4C
+ str r0, [sp]
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ add r1, r0, #0
+ ldr r0, [sp]
+ bl MOD11_02257F6C
+ add r1, r4, #0
+ add r1, #0x25
+ strb r0, [r1]
+ add r0, r4, #0
+ bl MOD11_02256FB0
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_022572AC
+ ldr r0, [r6, #0x44]
+ add r7, r7, #1
+ add r5, r5, #4
+ cmp r7, r0
+ blt _0223139E
+_022313DC:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022313E0
+MOD11_022313E0: ; 0x022313E0
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ mov r4, #0
+ cmp r0, #0
+ ble _0223140C
+ add r5, r6, #0
+ mov r7, #1
+_022313F0:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A70
+ ldr r1, [r0, #0x28]
+ cmp r1, #0
+ beq _02231402
+ add r1, r7, #0
+ bl MOD11_022572AC
+_02231402:
+ ldr r0, [r6, #0x44]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, r0
+ blt _022313F0
+_0223140C:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02231410
+MOD11_02231410: ; 0x02231410
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ mov r4, #0
+ cmp r0, #0
+ ble _02231436
+ add r5, r6, #0
+ add r7, r4, #0
+_02231420:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A70
+ add r1, r7, #0
+ bl MOD11_022572AC
+ ldr r0, [r6, #0x44]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, r0
+ blt _02231420
+_02231436:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02231438
+MOD11_02231438: ; 0x02231438
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ mov r4, #0
+ cmp r0, #0
+ ble _0223145A
+ add r5, r6, #0
+_02231446:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A70
+ bl MOD11_02257030
+ ldr r0, [r6, #0x44]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, r0
+ blt _02231446
+_0223145A:
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0223145C
+MOD11_0223145C: ; 0x0223145C
+ ldr r1, _02231464 ; =0x0000241C
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_02231464: .word 0x0000241C
+
+ thumb_func_start MOD11_02231468
+MOD11_02231468: ; 0x02231468
+ ldr r2, _02231470 ; =0x0000241C
+ strb r1, [r0, r2]
+ bx lr
+ nop
+_02231470: .word 0x0000241C
+
+ thumb_func_start MOD11_02231474
+MOD11_02231474: ; 0x02231474
+ ldr r1, _02231480 ; =0x000023FB
+ ldrb r0, [r0, r1]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1e
+ bx lr
+ nop
+_02231480: .word 0x000023FB
+
+ thumb_func_start MOD11_02231484
+MOD11_02231484: ; 0x02231484
+ push {r3, r4}
+ ldr r3, _0223149C ; =0x000023FB
+ lsl r1, r1, #0x1e
+ ldrb r4, [r0, r3]
+ mov r2, #0x18
+ lsr r1, r1, #0x1b
+ bic r4, r2
+ orr r1, r4
+ strb r1, [r0, r3]
+ pop {r3, r4}
+ bx lr
+ nop
+_0223149C: .word 0x000023FB
+
+ thumb_func_start MOD11_022314A0
+MOD11_022314A0: ; 0x022314A0
+ ldr r1, _022314AC ; =0x000023FB
+ ldrb r0, [r0, r1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ bx lr
+ nop
+_022314AC: .word 0x000023FB
+
+ thumb_func_start MOD11_022314B0
+MOD11_022314B0: ; 0x022314B0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ cmp r4, #0xf
+ blo _022314BE
+ bl ErrorHandling
+_022314BE:
+ ldr r1, _022314D0 ; =0x000023FB
+ mov r0, #0xe0
+ ldrb r2, [r5, r1]
+ bic r2, r0
+ lsl r0, r4, #0x1d
+ lsr r0, r0, #0x18
+ orr r0, r2
+ strb r0, [r5, r1]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022314D0: .word 0x000023FB
+
+ thumb_func_start MOD11_022314D4
+MOD11_022314D4: ; 0x022314D4
+ ldr r2, _022314DC ; =0x00002438
+ str r1, [r0, r2]
+ bx lr
+ nop
+_022314DC: .word 0x00002438
+
+ thumb_func_start MOD11_022314E0
+MOD11_022314E0: ; 0x022314E0
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ add r7, r1, #0
+ mov r4, #0
+ cmp r0, #0
+ ble _02231502
+ add r5, r6, #0
+_022314F0:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A4C
+ strb r4, [r7, r0]
+ ldr r0, [r6, #0x44]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, r0
+ blt _022314F0
+_02231502:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02231504
+MOD11_02231504: ; 0x02231504
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r6, r1, #0
+ mov r1, #0
+ mov r0, #0xff
+_0223150E:
+ strb r0, [r6, r1]
+ add r1, r1, #1
+ cmp r1, #4
+ blt _0223150E
+ ldr r0, [r7, #0x44]
+ mov r5, #0
+ cmp r0, #0
+ ble _02231532
+ add r4, r7, #0
+_02231520:
+ ldr r0, [r4, #0x34]
+ bl MOD11_02253A4C
+ strb r0, [r6, r5]
+ ldr r0, [r7, #0x44]
+ add r5, r5, #1
+ add r4, r4, #4
+ cmp r5, r0
+ blt _02231520
+_02231532:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02231534
+MOD11_02231534: ; 0x02231534
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ mov r0, #0
+ add r6, r1, #0
+ add r5, r0, #0
+_0223153E:
+ add r0, r0, #1
+ stmia r1!, {r5}
+ cmp r0, #4
+ blt _0223153E
+ ldr r0, [r7, #0x44]
+ cmp r0, #0
+ ble _02231560
+ add r4, r7, #0
+_0223154E:
+ ldr r0, [r4, #0x34]
+ bl MOD11_02253A64
+ stmia r6!, {r0}
+ ldr r0, [r7, #0x44]
+ add r5, r5, #1
+ add r4, r4, #4
+ cmp r5, r0
+ blt _0223154E
+_02231560:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02231564
+MOD11_02231564: ; 0x02231564
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, [r6, #0x44]
+ add r7, r1, #0
+ mov r4, #0
+ cmp r0, #0
+ ble _0223158A
+ add r5, r6, #0
+_02231574:
+ ldr r0, [r5, #0x34]
+ bl MOD11_02253A70
+ add r1, r7, #0
+ bl MOD11_02257264
+ ldr r0, [r6, #0x44]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, r0
+ blt _02231574
+_0223158A:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0223158C
+MOD11_0223158C: ; 0x0223158C
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ add r5, r0, #0
+ add r0, r6, #0
+ bl FUN_020239F4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0
+ bl FUN_02069AEC
+ ldr r1, _022315BC ; =0x0225DC1C
+ lsl r0, r0, #2
+ ldrb r1, [r1, r4]
+ add r4, r1, #0
+ mul r4, r0
+ add r0, r6, #0
+ bl FUN_02023A10
+ cmp r4, r0
+ bls _022315B8
+ add r4, r0, #0
+_022315B8:
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_022315BC: .word 0x0225DC1C
+
+ thumb_func_start MOD11_022315C0
+MOD11_022315C0: ; 0x022315C0
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ add r5, r0, #0
+ lsl r0, r6, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x34]
+ bl MOD11_02253A4C
+ add r4, r0, #0
+ ldr r1, [r5, #0x30]
+ add r0, r5, #0
+ mov r2, #2
+ add r3, r6, #0
+ bl MOD11_0224C474
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02230014
+ add r6, r0, #0
+ ldr r0, [r5, #0x2c]
+ mov r1, #0x84
+ tst r1, r0
+ bne _02231606
+ mov r1, #1
+ tst r1, r4
+ bne _022315FE
+ sub r0, #0x4a
+ cmp r0, #1
+ bhi _02231606
+_022315FE:
+ ldr r0, [r5, #0x60]
+ add r1, r6, #0
+ bl FUN_0202498C
+_02231606:
+ mov r0, #1
+ tst r0, r4
+ bne _02231626
+ add r0, r6, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ mov r1, #0x67
+ lsl r1, r1, #2
+ cmp r0, r1
+ bne _02231626
+ ldr r0, [r5, #0x60]
+ add r1, r6, #0
+ bl FUN_02024AF0
+_02231626:
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02231628
+MOD11_02231628: ; 0x02231628
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x34]
+ bl MOD11_02253A4C
+ ldr r2, [r5, #0x2c]
+ mov r1, #0x84
+ tst r1, r2
+ bne _02231664
+ mov r1, #1
+ tst r0, r1
+ beq _02231664
+ ldr r1, [r5, #0x30]
+ add r0, r5, #0
+ mov r2, #2
+ add r3, r4, #0
+ bl MOD11_0224C474
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02230014
+ add r1, r0, #0
+ ldr r0, [r5, #0x60]
+ bl FUN_02024AF0
+_02231664:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02231668
+MOD11_02231668: ; 0x02231668
+ ldr r3, _02231674 ; =0x02024595
+ lsl r1, r1, #0x10
+ ldr r0, [r0, #0x60]
+ lsr r1, r1, #0x10
+ bx r3
+ nop
+_02231674: .word 0x02024595
+
+ thumb_func_start MOD11_02231678
+MOD11_02231678: ; 0x02231678
+ ldr r0, _02231680 ; =0x04000050
+ mov r1, #0
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_02231680: .word 0x04000050
+
+ thumb_func_start MOD11_02231684
+MOD11_02231684: ; 0x02231684
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ add r5, r0, #0
+ mov r1, #0
+ str r2, [sp, #0xc]
+ add r7, r3, #0
+ bl MOD11_0222FF6C
+ add r6, r0, #0
+ ldr r1, [r5, #0x2c]
+ mov r0, #0x80
+ tst r0, r1
+ beq _0223174C
+ ldr r0, _02231780 ; =0x00002710
+ cmp r4, r0
+ bne _022316F6
+ cmp r7, #0x64
+ bne _022316BC
+ ldr r0, [sp, #0xc]
+ mov r1, #0x34
+ add r5, #0xd0
+ mul r1, r0
+ add r0, r5, r1
+ mov r1, #5
+ bl FUN_020137D4
+ b _022316CC
+_022316BC:
+ ldr r0, [sp, #0xc]
+ mov r1, #0x34
+ add r5, #0xd8
+ mul r1, r0
+ add r0, r5, r1
+ mov r1, #5
+ bl FUN_020137D4
+_022316CC:
+ add r4, r0, #0
+ add r0, r6, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0
+ ldr r0, [sp, #0x28]
+ str r3, [sp]
+ str r0, [sp, #4]
+ ldr r0, _02231784 ; =MOD11_0223220C
+ mov r1, #1
+ str r0, [sp, #8]
+ add r0, r6, #0
+ add r2, r4, #0
+ bl FUN_0201BD84
+ add r5, r0, #0
+ add r0, r4, #0
+ bl FUN_02021A20
+ b _02231778
+_022316F6:
+ cmp r7, #0x64
+ bne _02231702
+ lsl r0, r4, #1
+ add r0, r4, r0
+ add r4, r0, #1
+ b _02231708
+_02231702:
+ lsl r0, r4, #1
+ add r0, r4, r0
+ add r4, r0, #2
+_02231708:
+ ldr r2, _02231788 ; =0x0000022B
+ mov r0, #0
+ mov r1, #0x1a
+ mov r3, #5
+ bl FUN_0200A86C
+ add r1, r4, #0
+ add r7, r0, #0
+ bl FUN_0200A914
+ add r4, r0, #0
+ add r0, r6, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0
+ ldr r0, [sp, #0x28]
+ str r3, [sp]
+ str r0, [sp, #4]
+ ldr r0, _02231784 ; =MOD11_0223220C
+ mov r1, #1
+ str r0, [sp, #8]
+ add r0, r6, #0
+ add r2, r4, #0
+ bl FUN_0201BD84
+ add r5, r0, #0
+ add r0, r4, #0
+ bl FUN_02021A20
+ add r0, r7, #0
+ bl FUN_0200A8B8
+ b _02231778
+_0223174C:
+ ldr r2, [r5, #0x18]
+ add r0, r4, #0
+ add r1, r7, #0
+ mov r3, #5
+ bl FUN_0206AD4C
+ add r0, r6, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0
+ ldr r0, [sp, #0x28]
+ str r3, [sp]
+ str r0, [sp, #4]
+ ldr r0, _02231784 ; =MOD11_0223220C
+ mov r1, #1
+ str r0, [sp, #8]
+ ldr r2, [r5, #0x18]
+ add r0, r6, #0
+ bl FUN_0201BD84
+ add r5, r0, #0
+_02231778:
+ lsl r0, r5, #0x18
+ lsr r0, r0, #0x18
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02231780: .word 0x00002710
+_02231784: .word MOD11_0223220C
+_02231788: .word 0x0000022B
+
+ thumb_func_start MOD11_0223178C
+MOD11_0223178C: ; 0x0223178C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ str r1, [sp, #0xc]
+ add r5, r0, #0
+ add r4, r2, #0
+ mov r1, #0
+ add r6, r3, #0
+ bl MOD11_0222FF6C
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02231850
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02231A4C
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ add r2, r4, #0
+ bl MOD11_022321EC
+ add r0, r7, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0
+ str r3, [sp]
+ ldr r0, _022317DC ; =MOD11_0223220C
+ str r6, [sp, #4]
+ str r0, [sp, #8]
+ ldr r2, [r5, #0x18]
+ add r0, r7, #0
+ mov r1, #1
+ bl FUN_0201BD84
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022317DC: .word MOD11_0223220C
+
+ thumb_func_start MOD11_022317E0
+MOD11_022317E0: ; 0x022317E0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r7, r3, #0
+ add r4, r1, #0
+ add r5, r0, #0
+ add r1, r7, #0
+ add r6, r2, #0
+ bl MOD11_02231850
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02231A4C
+ add r0, r5, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_022321EC
+ ldr r1, [sp, #0x28]
+ mov r0, #1
+ tst r0, r1
+ beq _02231814
+ add r0, r4, #0
+ mov r1, #0xff
+ bl FUN_02019620
+_02231814:
+ ldr r1, [sp, #0x28]
+ mov r0, #2
+ tst r0, r1
+ beq _0223182C
+ mov r0, #0
+ ldr r1, [r5, #0x18]
+ add r2, r0, #0
+ bl FUN_02002E14
+ ldr r1, [sp, #0x2c]
+ sub r3, r1, r0
+ b _0223182E
+_0223182C:
+ mov r3, #0
+_0223182E:
+ ldr r0, [sp, #0x24]
+ mov r1, #0
+ str r0, [sp]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #4]
+ ldr r0, _0223184C ; =MOD11_0223220C
+ str r0, [sp, #8]
+ add r0, r4, #0
+ ldr r4, [sp, #0x20]
+ ldr r2, [r5, #0x18]
+ add r3, r4, r3
+ bl FUN_0201BD84
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223184C: .word MOD11_0223220C
+
+ thumb_func_start MOD11_02231850
+MOD11_02231850: ; 0x02231850
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r0, #0
+ bl MOD11_0222FF74
+ add r5, r0, #0
+ ldrb r0, [r4, #1]
+ mov r1, #0x80
+ tst r1, r0
+ bne _02231876
+ mov r1, #0x40
+ tst r1, r0
+ beq _02231880
+ ldr r1, [r4, #0x20]
+ add r0, r6, #0
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _02231878
+_02231876:
+ b _02231A4A
+_02231878:
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02231880:
+ mov r1, #0x3f
+ and r0, r1
+ cmp r0, #0x3c
+ bls _0223188A
+ b _02231A46
+_0223188A:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02231896: ; jump table
+ .short _02231A4A - _02231896 - 2 ; case 0
+ .short _02231910 - _02231896 - 2 ; case 1
+ .short _02231928 - _02231896 - 2 ; case 2
+ .short _02231A4A - _02231896 - 2 ; case 3
+ .short _02231A4A - _02231896 - 2 ; case 4
+ .short _02231A4A - _02231896 - 2 ; case 5
+ .short _02231A4A - _02231896 - 2 ; case 6
+ .short _02231A4A - _02231896 - 2 ; case 7
+ .short _02231A4A - _02231896 - 2 ; case 8
+ .short _0223198A - _02231896 - 2 ; case 9
+ .short _02231928 - _02231896 - 2 ; case 10
+ .short _02231928 - _02231896 - 2 ; case 11
+ .short _02231928 - _02231896 - 2 ; case 12
+ .short _02231928 - _02231896 - 2 ; case 13
+ .short _02231928 - _02231896 - 2 ; case 14
+ .short _02231928 - _02231896 - 2 ; case 15
+ .short _02231928 - _02231896 - 2 ; case 16
+ .short _02231928 - _02231896 - 2 ; case 17
+ .short _02231928 - _02231896 - 2 ; case 18
+ .short _02231928 - _02231896 - 2 ; case 19
+ .short _0223194E - _02231896 - 2 ; case 20
+ .short _02231966 - _02231896 - 2 ; case 21
+ .short _02231A4A - _02231896 - 2 ; case 22
+ .short _02231966 - _02231896 - 2 ; case 23
+ .short _02231A4A - _02231896 - 2 ; case 24
+ .short _02231A4A - _02231896 - 2 ; case 25
+ .short _02231A4A - _02231896 - 2 ; case 26
+ .short _02231A4A - _02231896 - 2 ; case 27
+ .short _02231A4A - _02231896 - 2 ; case 28
+ .short _02231A4A - _02231896 - 2 ; case 29
+ .short _02231A4A - _02231896 - 2 ; case 30
+ .short _0223198A - _02231896 - 2 ; case 31
+ .short _0223198A - _02231896 - 2 ; case 32
+ .short _0223198A - _02231896 - 2 ; case 33
+ .short _02231928 - _02231896 - 2 ; case 34
+ .short _02231928 - _02231896 - 2 ; case 35
+ .short _022319E8 - _02231896 - 2 ; case 36
+ .short _02231928 - _02231896 - 2 ; case 37
+ .short _02231928 - _02231896 - 2 ; case 38
+ .short _02231928 - _02231896 - 2 ; case 39
+ .short _02231928 - _02231896 - 2 ; case 40
+ .short _02231928 - _02231896 - 2 ; case 41
+ .short _02231928 - _02231896 - 2 ; case 42
+ .short _022319E8 - _02231896 - 2 ; case 43
+ .short _02231928 - _02231896 - 2 ; case 44
+ .short _02231928 - _02231896 - 2 ; case 45
+ .short _02231928 - _02231896 - 2 ; case 46
+ .short _02231928 - _02231896 - 2 ; case 47
+ .short _02231966 - _02231896 - 2 ; case 48
+ .short _02231A4A - _02231896 - 2 ; case 49
+ .short _02231A4A - _02231896 - 2 ; case 50
+ .short _02231A4A - _02231896 - 2 ; case 51
+ .short _022319E8 - _02231896 - 2 ; case 52
+ .short _022319E8 - _02231896 - 2 ; case 53
+ .short _022319E8 - _02231896 - 2 ; case 54
+ .short _022319E8 - _02231896 - 2 ; case 55
+ .short _02231A4A - _02231896 - 2 ; case 56
+ .short _02231A4A - _02231896 - 2 ; case 57
+ .short _02231A4A - _02231896 - 2 ; case 58
+ .short _02231A4A - _02231896 - 2 ; case 59
+ .short _02231A4A - _02231896 - 2 ; case 60
+_02231910:
+ ldr r1, [r4, #4]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231944
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02231928:
+ ldr r1, [r4, #4]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231944
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ mov r0, #1
+ tst r0, r5
+ bne _02231946
+_02231944:
+ b _02231A4A
+_02231946:
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_0223194E:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02231966:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ mov r0, #1
+ tst r0, r5
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_0223198A:
+ ldr r1, [r4, #4]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _022319C4
+ ldrh r0, [r4, #2]
+ add r0, r0, #3
+ strh r0, [r4, #2]
+ mov r0, #1
+ tst r0, r5
+ beq _022319AC
+ ldrh r0, [r4, #2]
+ add r0, r0, #2
+ strh r0, [r4, #2]
+_022319AC:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_022319C4:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ mov r0, #1
+ tst r0, r5
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_022319E8:
+ ldr r1, [r4, #4]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A22
+ ldrh r0, [r4, #2]
+ add r0, r0, #3
+ strh r0, [r4, #2]
+ mov r0, #1
+ tst r0, r5
+ beq _02231A0A
+ ldrh r0, [r4, #2]
+ add r0, r0, #2
+ strh r0, [r4, #2]
+_02231A0A:
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02231A22:
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ mov r0, #1
+ tst r0, r5
+ beq _02231A4A
+ ldrh r0, [r4, #2]
+ add r0, r0, #1
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02231A46:
+ bl ErrorHandling
+_02231A4A:
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02231A4C
+MOD11_02231A4C: ; 0x02231A4C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r2, [r4, #1]
+ mov r1, #0x3f
+ add r5, r0, #0
+ and r1, r2
+ cmp r1, #0x3c
+ bls _02231A5E
+ b _022320C2
+_02231A5E:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02231A6A: ; jump table
+ .short _022320C6 - _02231A6A - 2 ; case 0
+ .short _022320C6 - _02231A6A - 2 ; case 1
+ .short _02231AE4 - _02231A6A - 2 ; case 2
+ .short _02231AEE - _02231A6A - 2 ; case 3
+ .short _02231AF8 - _02231A6A - 2 ; case 4
+ .short _02231B02 - _02231A6A - 2 ; case 5
+ .short _02231B0C - _02231A6A - 2 ; case 6
+ .short _02231B16 - _02231A6A - 2 ; case 7
+ .short _02231B22 - _02231A6A - 2 ; case 8
+ .short _02231B2C - _02231A6A - 2 ; case 9
+ .short _02231B40 - _02231A6A - 2 ; case 10
+ .short _02231B54 - _02231A6A - 2 ; case 11
+ .short _02231B68 - _02231A6A - 2 ; case 12
+ .short _02231B7C - _02231A6A - 2 ; case 13
+ .short _02231B90 - _02231A6A - 2 ; case 14
+ .short _02231BA4 - _02231A6A - 2 ; case 15
+ .short _02231BB8 - _02231A6A - 2 ; case 16
+ .short _02231BCC - _02231A6A - 2 ; case 17
+ .short _02231BE0 - _02231A6A - 2 ; case 18
+ .short _02231BF4 - _02231A6A - 2 ; case 19
+ .short _02231AEE - _02231A6A - 2 ; case 20
+ .short _02231C08 - _02231A6A - 2 ; case 21
+ .short _02231C1C - _02231A6A - 2 ; case 22
+ .short _02231C30 - _02231A6A - 2 ; case 23
+ .short _02231C44 - _02231A6A - 2 ; case 24
+ .short _02231C58 - _02231A6A - 2 ; case 25
+ .short _02231C6C - _02231A6A - 2 ; case 26
+ .short _02231C80 - _02231A6A - 2 ; case 27
+ .short _02231C94 - _02231A6A - 2 ; case 28
+ .short _02231CA8 - _02231A6A - 2 ; case 29
+ .short _02231CBC - _02231A6A - 2 ; case 30
+ .short _02231CD0 - _02231A6A - 2 ; case 31
+ .short _02231CEE - _02231A6A - 2 ; case 32
+ .short _02231D0C - _02231A6A - 2 ; case 33
+ .short _02231D2A - _02231A6A - 2 ; case 34
+ .short _02231D48 - _02231A6A - 2 ; case 35
+ .short _02231D66 - _02231A6A - 2 ; case 36
+ .short _02231D84 - _02231A6A - 2 ; case 37
+ .short _02231DA2 - _02231A6A - 2 ; case 38
+ .short _02231DC0 - _02231A6A - 2 ; case 39
+ .short _02231DDE - _02231A6A - 2 ; case 40
+ .short _02231DFC - _02231A6A - 2 ; case 41
+ .short _02231E1A - _02231A6A - 2 ; case 42
+ .short _02231E38 - _02231A6A - 2 ; case 43
+ .short _02231E56 - _02231A6A - 2 ; case 44
+ .short _02231E74 - _02231A6A - 2 ; case 45
+ .short _02231E92 - _02231A6A - 2 ; case 46
+ .short _02231EB0 - _02231A6A - 2 ; case 47
+ .short _02231ECE - _02231A6A - 2 ; case 48
+ .short _02231EEC - _02231A6A - 2 ; case 49
+ .short _02231F0A - _02231A6A - 2 ; case 50
+ .short _02231F28 - _02231A6A - 2 ; case 51
+ .short _02231F46 - _02231A6A - 2 ; case 52
+ .short _02231F6E - _02231A6A - 2 ; case 53
+ .short _02231F96 - _02231A6A - 2 ; case 54
+ .short _02231FBE - _02231A6A - 2 ; case 55
+ .short _02231FE6 - _02231A6A - 2 ; case 56
+ .short _0223200E - _02231A6A - 2 ; case 57
+ .short _02232036 - _02231A6A - 2 ; case 58
+ .short _0223205E - _02231A6A - 2 ; case 59
+ .short _02232086 - _02231A6A - 2 ; case 60
+_02231AE4:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231AEE:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231AF8:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_02232160
+ pop {r3, r4, r5, pc}
+_02231B02:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231B0C:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_02232104
+ pop {r3, r4, r5, pc}
+_02231B16:
+ ldr r2, [r4, #4]
+ ldr r3, [r4, #0x1c]
+ mov r1, #0
+ bl MOD11_0223211C
+ pop {r3, r4, r5, pc}
+_02231B22:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ pop {r3, r4, r5, pc}
+_02231B2C:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231B40:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231B54:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ pop {r3, r4, r5, pc}
+_02231B68:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232160
+ pop {r3, r4, r5, pc}
+_02231B7C:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232148
+ pop {r3, r4, r5, pc}
+_02231B90:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232178
+ pop {r3, r4, r5, pc}
+_02231BA4:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231BB8:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223219C
+ pop {r3, r4, r5, pc}
+_02231BCC:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232104
+ pop {r3, r4, r5, pc}
+_02231BE0:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ pop {r3, r4, r5, pc}
+_02231BF4:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321DC
+ pop {r3, r4, r5, pc}
+_02231C08:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320EC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231C1C:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320EC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231C30:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_02232154
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231C44:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320F8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231C58:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_02232104
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232104
+ pop {r3, r4, r5, pc}
+_02231C6C:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ pop {r3, r4, r5, pc}
+_02231C80:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231C94:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231CA8:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232104
+ pop {r3, r4, r5, pc}
+_02231CBC:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ pop {r3, r4, r5, pc}
+_02231CD0:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231CEE:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_02232154
+ pop {r3, r4, r5, pc}
+_02231D0C:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231D2A:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320EC
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231D48:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320EC
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_02232104
+ pop {r3, r4, r5, pc}
+_02231D66:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231D84:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231DA2:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231DC0:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_02232160
+ pop {r3, r4, r5, pc}
+_02231DDE:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_02232148
+ pop {r3, r4, r5, pc}
+_02231DFC:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0223216C
+ pop {r3, r4, r5, pc}
+_02231E1A:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_02232104
+ pop {r3, r4, r5, pc}
+_02231E38:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231E56:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231E74:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_02232160
+ pop {r3, r4, r5, pc}
+_02231E92:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0223216C
+ pop {r3, r4, r5, pc}
+_02231EB0:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321DC
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022321DC
+ pop {r3, r4, r5, pc}
+_02231ECE:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320F8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022321A0
+ pop {r3, r4, r5, pc}
+_02231EEC:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231F0A:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02231F28:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231F46:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022320EC
+ pop {r3, r4, r5, pc}
+_02231F6E:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_02232154
+ pop {r3, r4, r5, pc}
+_02231F96:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02232154
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_02232160
+ pop {r3, r4, r5, pc}
+_02231FBE:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022320C8
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320F8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022320F8
+ pop {r3, r4, r5, pc}
+_02231FE6:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321C4
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022320C8
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022321C4
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_0223200E:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_02232036:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022321C4
+ pop {r3, r4, r5, pc}
+_0223205E:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022321AC
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022321C4
+ pop {r3, r4, r5, pc}
+_02232086:
+ ldr r2, [r4, #4]
+ mov r1, #0
+ bl MOD11_022321AC
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022321C4
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_022320C8
+ ldr r2, [r4, #0x10]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_022321AC
+ ldr r2, [r4, #0x14]
+ add r0, r5, #0
+ mov r1, #4
+ bl MOD11_022321C4
+ ldr r2, [r4, #0x18]
+ add r0, r5, #0
+ mov r1, #5
+ bl MOD11_022320C8
+ pop {r3, r4, r5, pc}
+_022320C2:
+ bl ErrorHandling
+_022320C6:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022320C8
+MOD11_022320C8: ; 0x022320C8
+ push {r3, r4, r5, lr}
+ mov r3, #0xff
+ lsl r3, r3, #8
+ add r4, r1, #0
+ lsl r1, r2, #0x18
+ and r2, r3
+ add r5, r0, #0
+ lsr r1, r1, #0x18
+ asr r2, r2, #8
+ bl MOD11_02230014
+ add r2, r0, #0
+ ldr r0, [r5, #0x14]
+ add r1, r4, #0
+ bl FUN_0200ACF8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022320EC
+MOD11_022320EC: ; 0x022320EC
+ ldr r3, _022320F4 ; =0x0200AD5D
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_022320F4: .word 0x0200AD5D
+
+ thumb_func_start MOD11_022320F8
+MOD11_022320F8: ; 0x022320F8
+ ldr r3, _02232100 ; =0x0200AE39
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_02232100: .word 0x0200AE39
+
+ thumb_func_start MOD11_02232104
+MOD11_02232104: ; 0x02232104
+ push {r3, lr}
+ sub sp, #8
+ mov r3, #0
+ str r3, [sp]
+ mov r3, #1
+ str r3, [sp, #4]
+ ldr r0, [r0, #0x14]
+ mov r3, #5
+ bl FUN_0200AD38
+ add sp, #8
+ pop {r3, pc}
+
+ thumb_func_start MOD11_0223211C
+MOD11_0223211C: ; 0x0223211C
+ push {r4, lr}
+ sub sp, #8
+ cmp r3, #0
+ beq _02232134
+ mov r4, #1
+ str r4, [sp]
+ str r4, [sp, #4]
+ ldr r0, [r0, #0x14]
+ bl FUN_0200AD38
+ add sp, #8
+ pop {r4, pc}
+_02232134:
+ mov r3, #1
+ str r3, [sp]
+ str r3, [sp, #4]
+ ldr r0, [r0, #0x14]
+ mov r3, #5
+ bl FUN_0200AD38
+ add sp, #8
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02232148
+MOD11_02232148: ; 0x02232148
+ ldr r3, _02232150 ; =0x0200AF19
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_02232150: .word 0x0200AF19
+
+ thumb_func_start MOD11_02232154
+MOD11_02232154: ; 0x02232154
+ ldr r3, _0223215C ; =0x0200ADCD
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_0223215C: .word 0x0200ADCD
+
+ thumb_func_start MOD11_02232160
+MOD11_02232160: ; 0x02232160
+ ldr r3, _02232168 ; =0x0200AF51
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_02232168: .word 0x0200AF51
+
+ thumb_func_start MOD11_0223216C
+MOD11_0223216C: ; 0x0223216C
+ ldr r3, _02232174 ; =0x0200AF89
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_02232174: .word 0x0200AF89
+
+ thumb_func_start MOD11_02232178
+MOD11_02232178: ; 0x02232178
+ push {r3, r4, r5, lr}
+ mov r3, #0xff
+ lsl r3, r3, #8
+ add r4, r1, #0
+ lsl r1, r2, #0x18
+ and r2, r3
+ add r5, r0, #0
+ lsr r1, r1, #0x18
+ asr r2, r2, #8
+ bl MOD11_02230014
+ add r2, r0, #0
+ ldr r0, [r5, #0x14]
+ add r1, r4, #0
+ bl FUN_0200AC60
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223219C
+MOD11_0223219C: ; 0x0223219C
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_022321A0
+MOD11_022321A0: ; 0x022321A0
+ ldr r3, _022321A8 ; =0x0200AFBD
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_022321A8: .word 0x0200AFBD
+
+ thumb_func_start MOD11_022321AC
+MOD11_022321AC: ; 0x022321AC
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r1, r2, #0
+ bl MOD11_02230188
+ add r2, r0, #0
+ ldr r0, [r5, #0x14]
+ add r1, r4, #0
+ bl FUN_0200B0D4
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022321C4
+MOD11_022321C4: ; 0x022321C4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r1, r2, #0
+ bl MOD11_02230188
+ add r2, r0, #0
+ ldr r0, [r5, #0x14]
+ add r1, r4, #0
+ bl FUN_0200B144
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022321DC
+MOD11_022321DC: ; 0x022321DC
+ push {r4, lr}
+ add r4, r0, #0
+ add r3, r2, #0
+ ldr r0, [r4, #0x14]
+ ldr r2, [r4, #0x64]
+ bl FUN_0200B410
+ pop {r4, pc}
+
+ thumb_func_start MOD11_022321EC
+MOD11_022321EC: ; 0x022321EC
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, r1, #0
+ ldrh r1, [r2, #2]
+ bl FUN_0200A914
+ add r4, r0, #0
+ ldr r0, [r5, #0x14]
+ ldr r1, [r5, #0x18]
+ add r2, r4, #0
+ bl FUN_0200B7B8
+ add r0, r4, #0
+ bl FUN_02021A20
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0223220C
+MOD11_0223220C: ; 0x0223220C
+ push {r4, lr}
+ mov r4, #0
+ cmp r1, #5
+ bhi _02232252
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02232220: ; jump table
+ .short _02232252 - _02232220 - 2 ; case 0
+ .short _0223222C - _02232220 - 2 ; case 1
+ .short _02232234 - _02232220 - 2 ; case 2
+ .short _0223223C - _02232220 - 2 ; case 3
+ .short _02232244 - _02232220 - 2 ; case 4
+ .short _0223224C - _02232220 - 2 ; case 5
+_0223222C:
+ bl FUN_02005514
+ add r4, r0, #0
+ b _02232252
+_02232234:
+ bl FUN_02005CBC
+ add r4, r0, #0
+ b _02232252
+_0223223C:
+ ldr r0, _02232258 ; =0x00000484
+ bl FUN_02005C28
+ b _02232252
+_02232244:
+ ldr r0, _0223225C ; =0x000005E6
+ bl FUN_020054C8
+ b _02232252
+_0223224C:
+ ldr r0, _02232260 ; =0x00000483
+ bl FUN_02005C28
+_02232252:
+ add r0, r4, #0
+ pop {r4, pc}
+ nop
+_02232258: .word 0x00000484
+_0223225C: .word 0x000005E6
+_02232260: .word 0x00000483
+
+ thumb_func_start MOD11_02232264
+MOD11_02232264: ; 0x02232264
+ push {r3, lr}
+ add r2, r1, #0
+ add r2, #0xb4
+ ldr r2, [r2]
+ lsl r2, r2, #2
+ add r3, r1, r2
+ mov r2, #0x27
+ lsl r2, r2, #8
+ ldr r2, [r3, r2]
+ lsl r3, r2, #2
+ ldr r2, _02232280 ; =0x0225DDE4
+ ldr r2, [r2, r3]
+ blx r2
+ pop {r3, pc}
+ .align 2, 0
+_02232280: .word 0x0225DDE4
+
+ thumb_func_start MOD11_02232284
+MOD11_02232284: ; 0x02232284
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_022548F0
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0223229C
+MOD11_0223229C: ; 0x0223229C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ cmp r0, #0
+ beq _022322C2
+ cmp r0, #3
+ beq _0223230E
+ cmp r0, #4
+ beq _022322E0
+_022322C2:
+ mov r5, #0
+ cmp r6, #0
+ ble _0223230E
+_022322C8:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254908
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+ add r5, r5, #1
+ cmp r5, r6
+ blt _022322C8
+ b _0223230E
+_022322E0:
+ mov r5, #0
+ cmp r6, #0
+ ble _0223230E
+ mov r7, #1
+_022322E8:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232314 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _02232308
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254908
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+_02232308:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _022322E8
+_0223230E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02232314: .word 0x00000195
+
+ thumb_func_start MOD11_02232318
+MOD11_02232318: ; 0x02232318
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ cmp r0, #6
+ bhi _02232350
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02232342: ; jump table
+ .short _02232350 - _02232342 - 2 ; case 0
+ .short _022323F4 - _02232342 - 2 ; case 1
+ .short _0223243E - _02232342 - 2 ; case 2
+ .short _0223236E - _02232342 - 2 ; case 3
+ .short _022323B2 - _02232342 - 2 ; case 4
+ .short _02232350 - _02232342 - 2 ; case 5
+ .short _02232488 - _02232342 - 2 ; case 6
+_02232350:
+ mov r5, #0
+ cmp r7, #0
+ ble _0223236C
+_02232356:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254A0C
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+ add r5, r5, #1
+ cmp r5, r7
+ blt _02232356
+_0223236C:
+ b _022324D0
+_0223236E:
+ mov r5, #0
+ cmp r7, #0
+ ble _0223239C
+_02232374:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022324D4 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232396
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254A0C
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+_02232396:
+ add r5, r5, #1
+ cmp r5, r7
+ blt _02232374
+_0223239C:
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #1
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _022324D0
+_022323B2:
+ mov r5, #0
+ cmp r7, #0
+ ble _022323F2
+_022323B8:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022324D4 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _022323EC
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022448BC
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r5, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254A0C
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+_022323EC:
+ add r5, r5, #1
+ cmp r5, r7
+ blt _022323B8
+_022323F2:
+ b _022324D0
+_022323F4:
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022324D4 ; =0x00000195
+ mov r2, #1
+ ldrb r0, [r0, r1]
+ tst r0, r2
+ bne _0223241A
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _0223242C
+_0223241A:
+ ldr r1, [r6, #0x64]
+ add r0, r6, #0
+ bl MOD11_022448BC
+ ldr r2, [r6, #0x64]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+_0223242C:
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ bl MOD11_022315C0
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ bl MOD11_02254A0C
+ b _022324D0
+_0223243E:
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022324D4 ; =0x00000195
+ mov r2, #1
+ ldrb r0, [r0, r1]
+ tst r0, r2
+ bne _02232464
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _02232476
+_02232464:
+ ldr r1, [r6, #0x6c]
+ add r0, r6, #0
+ bl MOD11_022448BC
+ ldr r2, [r6, #0x6c]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+_02232476:
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ bl MOD11_022315C0
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02254A0C
+ b _022324D0
+_02232488:
+ ldr r1, [r6, #0x78]
+ add r0, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022324D4 ; =0x00000195
+ mov r2, #1
+ ldrb r0, [r0, r1]
+ tst r0, r2
+ bne _022324AE
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _022324C0
+_022324AE:
+ ldr r1, [r6, #0x78]
+ add r0, r6, #0
+ bl MOD11_022448BC
+ ldr r2, [r6, #0x78]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+_022324C0:
+ ldr r1, [r6, #0x78]
+ add r0, r4, #0
+ bl MOD11_022315C0
+ ldr r1, [r6, #0x78]
+ add r0, r4, #0
+ bl MOD11_02254A0C
+_022324D0:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022324D4: .word 0x00000195
+
+ thumb_func_start MOD11_022324D8
+MOD11_022324D8: ; 0x022324D8
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ cmp r0, #6
+ bhi _02232510
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02232502: ; jump table
+ .short _02232510 - _02232502 - 2 ; case 0
+ .short _022325C2 - _02232502 - 2 ; case 1
+ .short _02232610 - _02232502 - 2 ; case 2
+ .short _02232534 - _02232502 - 2 ; case 3
+ .short _0223257C - _02232502 - 2 ; case 4
+ .short _02232510 - _02232502 - 2 ; case 5
+ .short _0223265E - _02232502 - 2 ; case 6
+_02232510:
+ mov r5, #0
+ cmp r7, #0
+ ble _02232532
+ add r6, r5, #0
+_02232518:
+ add r0, r4, #0
+ add r1, r5, #0
+ add r2, r6, #0
+ add r3, r6, #0
+ bl MOD11_02254B40
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+ add r5, r5, #1
+ cmp r5, r7
+ blt _02232518
+_02232532:
+ b _022326AA
+_02232534:
+ mov r5, #0
+ cmp r7, #0
+ ble _02232566
+_0223253A:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022326B0 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232560
+ mov r2, #0
+ add r0, r4, #0
+ add r1, r5, #0
+ add r3, r2, #0
+ bl MOD11_02254B40
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+_02232560:
+ add r5, r5, #1
+ cmp r5, r7
+ blt _0223253A
+_02232566:
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #1
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _022326AA
+_0223257C:
+ mov r5, #0
+ cmp r7, #0
+ ble _022325C0
+_02232582:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022326B0 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _022325BA
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022448BC
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r5, #0
+ bl MOD11_022448CC
+ mov r2, #0
+ add r0, r4, #0
+ add r1, r5, #0
+ add r3, r2, #0
+ bl MOD11_02254B40
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022315C0
+_022325BA:
+ add r5, r5, #1
+ cmp r5, r7
+ blt _02232582
+_022325C0:
+ b _022326AA
+_022325C2:
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022326B0 ; =0x00000195
+ mov r2, #1
+ ldrb r0, [r0, r1]
+ tst r0, r2
+ bne _022325E8
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _022325FA
+_022325E8:
+ ldr r1, [r6, #0x64]
+ add r0, r6, #0
+ bl MOD11_022448BC
+ ldr r2, [r6, #0x64]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+_022325FA:
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ bl MOD11_022315C0
+ mov r2, #0
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ add r3, r2, #0
+ bl MOD11_02254B40
+ b _022326AA
+_02232610:
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022326B0 ; =0x00000195
+ mov r2, #1
+ ldrb r0, [r0, r1]
+ tst r0, r2
+ bne _02232636
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _02232648
+_02232636:
+ ldr r1, [r6, #0x6c]
+ add r0, r6, #0
+ bl MOD11_022448BC
+ ldr r2, [r6, #0x6c]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+_02232648:
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ bl MOD11_022315C0
+ mov r2, #0
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ add r3, r2, #0
+ bl MOD11_02254B40
+ b _022326AA
+_0223265E:
+ ldr r1, [r6, #0x78]
+ add r0, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022326B0 ; =0x00000195
+ mov r2, #1
+ ldrb r0, [r0, r1]
+ tst r0, r2
+ bne _02232684
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+ add r0, r4, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_022448CC
+ b _02232696
+_02232684:
+ ldr r1, [r6, #0x78]
+ add r0, r6, #0
+ bl MOD11_022448BC
+ ldr r2, [r6, #0x78]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_022448CC
+_02232696:
+ ldr r1, [r6, #0x78]
+ add r0, r4, #0
+ bl MOD11_022315C0
+ mov r2, #0
+ ldr r1, [r6, #0x78]
+ add r0, r4, #0
+ add r3, r2, #0
+ bl MOD11_02254B40
+_022326AA:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022326B0: .word 0x00000195
+
+ thumb_func_start MOD11_022326B4
+MOD11_022326B4: ; 0x022326B4
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r5, r0, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ beq _022326DC
+ cmp r2, #3
+ beq _022326F4
+ cmp r2, #4
+ beq _0223271E
+ b _02232756
+_022326DC:
+ mov r4, #0
+ cmp r7, #0
+ ble _02232768
+_022326E2:
+ add r0, r5, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02254D50
+ add r4, r4, #1
+ cmp r4, r7
+ blt _022326E2
+ b _02232768
+_022326F4:
+ mov r4, #0
+ cmp r7, #0
+ ble _02232768
+_022326FA:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _0223276C ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232716
+ add r0, r5, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02254D50
+_02232716:
+ add r4, r4, #1
+ cmp r4, r7
+ blt _022326FA
+ b _02232768
+_0223271E:
+ mov r4, #0
+ cmp r7, #0
+ ble _02232768
+_02232724:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0222FF7C
+ ldr r1, _0223276C ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _0223274E
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, _02232770 ; =0x00003108
+ ldrb r1, [r6, r1]
+ tst r0, r1
+ bne _0223274E
+ add r0, r5, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02254D50
+_0223274E:
+ add r4, r4, #1
+ cmp r4, r7
+ blt _02232724
+ b _02232768
+_02232756:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02254D50
+_02232768:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223276C: .word 0x00000195
+_02232770: .word 0x00003108
+
+ thumb_func_start MOD11_02232774
+MOD11_02232774: ; 0x02232774
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_02254F60
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022327A0
+MOD11_022327A0: ; 0x022327A0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ cmp r0, #0
+ beq _022327C6
+ cmp r0, #3
+ beq _0223282A
+ cmp r0, #4
+ beq _0223286A
+_022327C6:
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ tst r0, r1
+ beq _022327F8
+ mov r5, #0
+ cmp r6, #0
+ ble _022328B4
+ ldr r7, _022328B8 ; =0x00000195
+_022327DA:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #4
+ beq _022327F0
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254F7C
+_022327F0:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _022327DA
+ b _022328B4
+_022327F8:
+ mov r5, #0
+ cmp r6, #0
+ ble _022328B4
+ mov r7, #8
+_02232800:
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ tst r0, r7
+ bne _0223281A
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _0223281A
+ cmp r5, #1
+ bgt _022328B4
+_0223281A:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254F7C
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232800
+ b _022328B4
+_0223282A:
+ mov r5, #0
+ cmp r6, #0
+ ble _022328B4
+ mov r7, #1
+_02232832:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022328B8 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ bne _02232862
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254F7C
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _02232862
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _022328B4
+_02232862:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232832
+ b _022328B4
+_0223286A:
+ mov r5, #0
+ cmp r6, #0
+ ble _022328B4
+ mov r7, #1
+_02232872:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022328B8 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _022328AE
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02254F7C
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _022328AE
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ tst r0, r1
+ bne _022328AE
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _022328B4
+_022328AE:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232872
+_022328B4:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022328B8: .word 0x00000195
+
+ thumb_func_start MOD11_022328BC
+MOD11_022328BC: ; 0x022328BC
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r7, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r7, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ add r0, r7, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ cmp r5, #0
+ beq _022328EC
+ cmp r5, #3
+ beq _02232920
+ cmp r5, #4
+ beq _02232962
+_022328EC:
+ mov r5, #0
+ cmp r6, #0
+ ble _022329AE
+_022328F2:
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _0223290E
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _0223290E
+ cmp r5, #1
+ bgt _022329AE
+_0223290E:
+ add r0, r4, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_02254FAC
+ add r5, r5, #1
+ cmp r5, r6
+ blt _022328F2
+ b _022329AE
+_02232920:
+ mov r5, #0
+ cmp r6, #0
+ ble _022329AE
+_02232926:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022329B4 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _0223295A
+ add r0, r4, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_02254FAC
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _0223295A
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _022329AE
+_0223295A:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232926
+ b _022329AE
+_02232962:
+ mov r5, #0
+ cmp r6, #0
+ ble _022329AE
+_02232968:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _022329B4 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _022329A8
+ add r0, r4, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_02254FAC
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _022329A8
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ tst r0, r1
+ bne _022329A8
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _022329AE
+_022329A8:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232968
+_022329AE:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022329B4: .word 0x00000195
+
+ thumb_func_start MOD11_022329B8
+MOD11_022329B8: ; 0x022329B8
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r5, r0, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ cmp r0, #0xc
+ bhi _022329FC
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_022329E2: ; jump table
+ .short _022329FC - _022329E2 - 2 ; case 0
+ .short _022329FC - _022329E2 - 2 ; case 1
+ .short _022329FC - _022329E2 - 2 ; case 2
+ .short _02232A2E - _022329E2 - 2 ; case 3
+ .short _02232A6E - _022329E2 - 2 ; case 4
+ .short _022329FC - _022329E2 - 2 ; case 5
+ .short _022329FC - _022329E2 - 2 ; case 6
+ .short _022329FC - _022329E2 - 2 ; case 7
+ .short _022329FC - _022329E2 - 2 ; case 8
+ .short _02232ABA - _022329E2 - 2 ; case 9
+ .short _02232AE6 - _022329E2 - 2 ; case 10
+ .short _02232B12 - _022329E2 - 2 ; case 11
+ .short _02232B3A - _022329E2 - 2 ; case 12
+_022329FC:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232A2C
+ mov r7, #8
+_02232A04:
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ tst r0, r7
+ bne _02232A1E
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02232A1E
+ cmp r6, #1
+ bgt _02232A2C
+_02232A1E:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232A04
+_02232A2C:
+ b _02232B60
+_02232A2E:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232A6C
+ mov r7, #1
+_02232A36:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232B64 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ bne _02232A66
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _02232A66
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02232B60
+_02232A66:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232A36
+_02232A6C:
+ b _02232B60
+_02232A6E:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232B60
+ mov r7, #1
+_02232A76:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232B64 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _02232AB2
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _02232AB2
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ tst r0, r1
+ bne _02232AB2
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02232B60
+_02232AB2:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232A76
+ b _02232B60
+_02232ABA:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232B60
+ ldr r7, _02232B64 ; =0x00000195
+_02232AC2:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #0
+ beq _02232AD4
+ cmp r0, #2
+ bne _02232ADE
+_02232AD4:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ b _02232B60
+_02232ADE:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232AC2
+ b _02232B60
+_02232AE6:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232B60
+ ldr r7, _02232B64 ; =0x00000195
+_02232AEE:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #1
+ beq _02232B00
+ cmp r0, #3
+ bne _02232B0A
+_02232B00:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ b _02232B60
+_02232B0A:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232AEE
+ b _02232B60
+_02232B12:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232B60
+ ldr r7, _02232B64 ; =0x00000195
+_02232B1A:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #4
+ bne _02232B32
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ b _02232B60
+_02232B32:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232B1A
+ b _02232B60
+_02232B3A:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232B60
+ ldr r7, _02232B64 ; =0x00000195
+_02232B42:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #5
+ bne _02232B5A
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02254FE4
+ b _02232B60
+_02232B5A:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232B42
+_02232B60:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02232B64: .word 0x00000195
+
+ thumb_func_start MOD11_02232B68
+MOD11_02232B68: ; 0x02232B68
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r5, r0, #0
+ add r0, r7, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r7, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r7, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ cmp r6, #0xc
+ bhi _02232BB6
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02232B9C: ; jump table
+ .short _02232BB6 - _02232B9C - 2 ; case 0
+ .short _02232BB6 - _02232B9C - 2 ; case 1
+ .short _02232BB6 - _02232B9C - 2 ; case 2
+ .short _02232BDE - _02232B9C - 2 ; case 3
+ .short _02232C14 - _02232B9C - 2 ; case 4
+ .short _02232BB6 - _02232B9C - 2 ; case 5
+ .short _02232BB6 - _02232B9C - 2 ; case 6
+ .short _02232BB6 - _02232B9C - 2 ; case 7
+ .short _02232BB6 - _02232B9C - 2 ; case 8
+ .short _02232C4A - _02232B9C - 2 ; case 9
+ .short _02232C78 - _02232B9C - 2 ; case 10
+ .short _02232CA6 - _02232B9C - 2 ; case 11
+ .short _02232CD0 - _02232B9C - 2 ; case 12
+_02232BB6:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232BDC
+_02232BBC:
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02232BCC
+ cmp r6, #1
+ bgt _02232BDC
+_02232BCC:
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232BBC
+_02232BDC:
+ b _02232CF8
+_02232BDE:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232C12
+_02232BE4:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232CFC ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232C0C
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02232CF8
+_02232C0C:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232BE4
+_02232C12:
+ b _02232CF8
+_02232C14:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232CF8
+_02232C1A:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232CFC ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _02232C42
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02232CF8
+_02232C42:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232C1A
+ b _02232CF8
+_02232C4A:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232CF8
+_02232C50:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232CFC ; =0x00000195
+ ldrb r0, [r0, r1]
+ cmp r0, #0
+ beq _02232C64
+ cmp r0, #2
+ bne _02232C70
+_02232C64:
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ b _02232CF8
+_02232C70:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232C50
+ b _02232CF8
+_02232C78:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232CF8
+_02232C7E:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232CFC ; =0x00000195
+ ldrb r0, [r0, r1]
+ cmp r0, #1
+ beq _02232C92
+ cmp r0, #3
+ bne _02232C9E
+_02232C92:
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ b _02232CF8
+_02232C9E:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232C7E
+ b _02232CF8
+_02232CA6:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232CF8
+_02232CAC:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232CFC ; =0x00000195
+ ldrb r0, [r0, r1]
+ cmp r0, #4
+ bne _02232CC8
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ b _02232CF8
+_02232CC8:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232CAC
+ b _02232CF8
+_02232CD0:
+ mov r6, #0
+ cmp r5, #0
+ ble _02232CF8
+_02232CD6:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232CFC ; =0x00000195
+ ldrb r0, [r0, r1]
+ cmp r0, #5
+ bne _02232CF2
+ add r0, r4, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02255000
+ b _02232CF8
+_02232CF2:
+ add r6, r6, #1
+ cmp r6, r5
+ blt _02232CD6
+_02232CF8:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02232CFC: .word 0x00000195
+
+ thumb_func_start MOD11_02232D00
+MOD11_02232D00: ; 0x02232D00
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r0, #0
+ bl MOD11_0222FF84
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r4, #0
+ cmp r5, #0
+ ble _02232D28
+_02232D1A:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0225624C
+ add r4, r4, #1
+ cmp r4, r5
+ blt _02232D1A
+_02232D28:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02232D2C
+MOD11_02232D2C: ; 0x02232D2C
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r7, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r7, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ beq _02232D54
+ cmp r2, #3
+ beq _02232D6E
+ cmp r2, #4
+ beq _02232D9A
+ b _02232DC6
+_02232D54:
+ mov r5, #0
+ cmp r6, #0
+ ble _02232DDA
+_02232D5A:
+ add r0, r4, #0
+ add r1, r7, #0
+ add r2, r5, #0
+ mov r3, #0
+ bl MOD11_02255034
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232D5A
+ b _02232DDA
+_02232D6E:
+ mov r5, #0
+ cmp r6, #0
+ ble _02232DDA
+_02232D74:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232DE0 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232D92
+ add r0, r4, #0
+ add r1, r7, #0
+ add r2, r5, #0
+ mov r3, #0
+ bl MOD11_02255034
+_02232D92:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232D74
+ b _02232DDA
+_02232D9A:
+ mov r5, #0
+ cmp r6, #0
+ ble _02232DDA
+_02232DA0:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232DE0 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _02232DBE
+ add r0, r4, #0
+ add r1, r7, #0
+ add r2, r5, #0
+ mov r3, #0
+ bl MOD11_02255034
+_02232DBE:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232DA0
+ b _02232DDA
+_02232DC6:
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r4, #0
+ add r1, r7, #0
+ mov r3, #0
+ bl MOD11_02255034
+_02232DDA:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02232DE0: .word 0x00000195
+
+ thumb_func_start MOD11_02232DE4
+MOD11_02232DE4: ; 0x02232DE4
+ push {r3, r4, r5, r6, r7, lr}
+ str r1, [sp]
+ add r5, r0, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ ldr r0, [sp]
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [sp]
+ bl MOD11_0223A404
+ add r2, r0, #0
+ ldr r4, _02232EA4 ; =0x00000000
+ beq _02232E0E
+ cmp r2, #3
+ beq _02232E28
+ cmp r2, #4
+ beq _02232E5A
+ b _02232E8C
+_02232E0E:
+ cmp r7, #0
+ ble _02232EA0
+ add r6, r4, #0
+_02232E14:
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, r4, #0
+ add r3, r6, #0
+ bl MOD11_02255034
+ add r4, r4, #1
+ cmp r4, r7
+ blt _02232E14
+ b _02232EA0
+_02232E28:
+ add r6, r4, #0
+ cmp r7, #0
+ ble _02232EA0
+_02232E2E:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232EA8 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232E52
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl MOD11_02255034
+ add r0, r4, #4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02232E52:
+ add r6, r6, #1
+ cmp r6, r7
+ blt _02232E2E
+ b _02232EA0
+_02232E5A:
+ add r6, r4, #0
+ cmp r7, #0
+ ble _02232EA0
+_02232E60:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232EA8 ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _02232E84
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl MOD11_02255034
+ add r0, r4, #4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02232E84:
+ add r6, r6, #1
+ cmp r6, r7
+ blt _02232E60
+ b _02232EA0
+_02232E8C:
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r3, r4, #0
+ bl MOD11_02255034
+_02232EA0:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02232EA4: .word 0x00000000
+_02232EA8: .word 0x00000195
+
+ thumb_func_start MOD11_02232EAC
+MOD11_02232EAC: ; 0x02232EAC
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r7, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r7, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ beq _02232ED4
+ cmp r2, #3
+ beq _02232EEA
+ cmp r2, #4
+ beq _02232F20
+ b _02232F48
+_02232ED4:
+ mov r5, #0
+ cmp r6, #0
+ ble _02232F58
+_02232EDA:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0225516C
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232EDA
+ b _02232F58
+_02232EEA:
+ mov r5, #0
+ cmp r6, #0
+ ble _02232F58
+_02232EF0:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232F5C ; =0x00000195
+ ldrb r1, [r0, r1]
+ mov r0, #1
+ tst r0, r1
+ bne _02232F18
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, _02232F60 ; =0x00003108
+ ldrb r1, [r7, r1]
+ tst r0, r1
+ bne _02232F18
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0225516C
+_02232F18:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232EF0
+ b _02232F58
+_02232F20:
+ mov r5, #0
+ cmp r6, #0
+ ble _02232F58
+ mov r7, #1
+_02232F28:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02232F5C ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _02232F40
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0225516C
+_02232F40:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02232F28
+ b _02232F58
+_02232F48:
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_0225516C
+_02232F58:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02232F5C: .word 0x00000195
+_02232F60: .word 0x00003108
+
+ thumb_func_start MOD11_02232F64
+MOD11_02232F64: ; 0x02232F64
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ bl MOD11_02243388
+ cmp r0, #0
+ beq _02232F7C
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ b _02232F82
+_02232F7C:
+ add r0, r4, #0
+ bl MOD11_022433DC
+_02232F82:
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02232F88
+MOD11_02232F88: ; 0x02232F88
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r5, r1, #0
+ ldr r1, [r5, #0x64]
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ bne _02232FA0
+ mov r4, #0
+ b _02232FB4
+_02232FA0:
+ ldr r0, _022330D4 ; =0x00002160
+ ldr r4, [r5, r0]
+ cmp r4, #0
+ bne _02232FB4
+ ldr r0, _022330D8 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _022330DC ; =0x000003E2
+ ldrb r4, [r1, r0]
+_02232FB4:
+ ldr r0, [r5, #0x6c]
+ str r0, [sp, #0x18]
+ ldr r1, [sp, #0x18]
+ add r0, r7, #0
+ bl MOD11_02230270
+ mov r3, #6
+ lsl r3, r3, #6
+ add r6, r0, #0
+ ldr r0, [r5, r3]
+ ldr r1, _022330E0 ; =0x00002154
+ str r0, [sp]
+ ldr r0, [r5, r1]
+ ldr r2, _022330D8 ; =0x00003044
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #4]
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x64]
+ lsl r4, r6, #2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x18]
+ add r4, r5, r4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x10]
+ sub r0, r1, #4
+ ldr r0, [r5, r0]
+ add r3, #0x3c
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x14]
+ ldr r2, [r5, r2]
+ ldr r3, [r4, r3]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_0224B310
+ ldr r1, _022330E4 ; =0x00002144
+ str r0, [r5, r1]
+ add r0, r1, #0
+ add r0, #0xc
+ ldr r2, [r5, r1]
+ ldr r0, [r5, r0]
+ mul r0, r2
+ str r0, [r5, r1]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ cmp r0, #0x61
+ bne _02233040
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ ldr r1, _022330E4 ; =0x00002144
+ add r0, #0x64
+ ldr r1, [r5, r1]
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ ldr r1, _022330E4 ; =0x00002144
+ str r0, [r5, r1]
+_02233040:
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ cmp r0, #0x68
+ bne _0223306E
+ ldr r0, _022330E4 ; =0x00002144
+ ldr r2, [r5, #0x64]
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r5, r0
+ ldr r0, _022330E8 ; =0x00002DCC
+ ldr r0, [r2, r0]
+ lsl r0, r0, #5
+ lsr r0, r0, #0x1c
+ add r0, #0xa
+ mul r0, r1
+ mov r1, #0xa
+ blx _u32_div_f
+ ldr r1, _022330E4 ; =0x00002144
+ str r0, [r5, r1]
+_0223306E:
+ ldr r2, [r5, #0x64]
+ mov r1, #0xc0
+ add r0, r2, #0
+ mul r0, r1
+ ldr r2, _022330E8 ; =0x00002DCC
+ add r3, r5, r0
+ ldr r3, [r3, r2]
+ lsl r3, r3, #1
+ lsr r3, r3, #0x1f
+ beq _022330CE
+ add r2, #0x10
+ add r3, r5, r2
+ add r1, #0xb4
+ ldr r2, [r5, r1]
+ ldr r1, [r3, r0]
+ cmp r2, r1
+ bne _02233094
+ sub r1, r1, #1
+ str r1, [r3, r0]
+_02233094:
+ ldr r2, [r5, #0x64]
+ mov r1, #0xc0
+ add r0, r2, #0
+ mul r0, r1
+ add r1, #0xb4
+ ldr r3, [r5, r1]
+ ldr r1, _022330EC ; =0x00002DDC
+ add r2, r5, r0
+ ldr r2, [r2, r1]
+ sub r2, r3, r2
+ cmp r2, #2
+ bge _022330C2
+ ldr r0, _022330E4 ; =0x00002144
+ ldr r1, [r5, r0]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ ldr r1, _022330E4 ; =0x00002144
+ add sp, #0x1c
+ str r0, [r5, r1]
+ pop {r4, r5, r6, r7, pc}
+_022330C2:
+ sub r1, #0x10
+ add r3, r5, r1
+ ldr r2, [r3, r0]
+ ldr r1, _022330F0 ; =0xBFFFFFFF
+ and r1, r2
+ str r1, [r3, r0]
+_022330CE:
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_022330D4: .word 0x00002160
+_022330D8: .word 0x00003044
+_022330DC: .word 0x000003E2
+_022330E0: .word 0x00002154
+_022330E4: .word 0x00002144
+_022330E8: .word 0x00002DCC
+_022330EC: .word 0x00002DDC
+_022330F0: .word 0xBFFFFFFF
+
+ thumb_func_start MOD11_022330F4
+MOD11_022330F4: ; 0x022330F4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02232F88
+ ldr r1, _02233128 ; =0x00002144
+ add r0, r4, #0
+ ldr r1, [r4, r1]
+ bl MOD11_0224BF10
+ ldr r1, _02233128 ; =0x00002144
+ str r0, [r4, r1]
+ mov r0, #0
+ ldr r2, [r4, r1]
+ mvn r0, r0
+ mul r0, r2
+ str r0, [r4, r1]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02233128: .word 0x00002144
+
+ thumb_func_start MOD11_0223312C
+MOD11_0223312C: ; 0x0223312C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02232F88
+ ldr r1, _02233154 ; =0x00002144
+ mov r0, #0
+ ldr r2, [r4, r1]
+ mvn r0, r0
+ mul r0, r2
+ str r0, [r4, r1]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02233154: .word 0x00002144
+
+ thumb_func_start MOD11_02233158
+MOD11_02233158: ; 0x02233158
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, _02233194 ; =0x0000213C
+ ldr r1, [r4, r0]
+ mov r0, #1
+ tst r0, r1
+ bne _02233178
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022559BC
+_02233178:
+ ldr r1, _02233194 ; =0x0000213C
+ mov r0, #1
+ ldr r2, [r4, r1]
+ orr r0, r2
+ str r0, [r4, r1]
+ add r0, r1, #4
+ ldr r2, [r4, r0]
+ mov r0, #4
+ orr r2, r0
+ add r0, r1, #4
+ str r2, [r4, r0]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02233194: .word 0x0000213C
+
+ thumb_func_start MOD11_02233198
+MOD11_02233198: ; 0x02233198
+ push {r4, r5, lr}
+ sub sp, #0x44
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ add r1, sp, #0x24
+ bl MOD11_0223C490
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0x24
+ add r3, sp, #0
+ bl MOD11_0223C55C
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0
+ bl MOD11_022559F4
+ mov r0, #0
+ add sp, #0x44
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD11_022331CC
+MOD11_022331CC: ; 0x022331CC
+ push {r4, r5, lr}
+ sub sp, #0x44
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ add r1, sp, #0x24
+ bl MOD11_0223C490
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0x24
+ add r3, sp, #0
+ bl MOD11_0223C55C
+ add r1, sp, #0
+ ldrb r2, [r1, #1]
+ mov r0, #0x80
+ orr r0, r2
+ strb r0, [r1, #1]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0
+ bl MOD11_022559F4
+ mov r0, #0
+ add sp, #0x44
+ pop {r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223320C
+MOD11_0223320C: ; 0x0223320C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r1, r4, #0
+ add r4, #0xf4
+ add r0, r5, #0
+ add r2, r4, #0
+ bl MOD11_022559F4
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223322C
+MOD11_0223322C: ; 0x0223322C
+ push {r3, r4, r5, lr}
+ sub sp, #0x20
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ add r1, sp, #0
+ bl MOD11_0223C490
+ add r1, r4, #0
+ add r4, #0xf4
+ add r0, r5, #0
+ add r2, sp, #0
+ add r3, r4, #0
+ bl MOD11_0223C55C
+ mov r0, #0
+ add sp, #0x20
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02233258
+MOD11_02233258: ; 0x02233258
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x44
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ add r1, sp, #0x24
+ bl MOD11_0223C490
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0x24
+ add r3, sp, #0
+ bl MOD11_0223C55C
+ add r1, sp, #0
+ ldrb r2, [r1, #1]
+ mov r0, #0x40
+ orr r0, r2
+ strb r0, [r1, #1]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ str r0, [sp, #0x20]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0
+ bl MOD11_022559F4
+ mov r0, #0
+ add sp, #0x44
+ pop {r3, r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022332AC
+MOD11_022332AC: ; 0x022332AC
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ cmp r0, #0xff
+ bne _022332CA
+ mov r0, #0x49
+ lsl r0, r0, #2
+ b _022332CC
+_022332CA:
+ ldr r0, _0223331C ; =0x00003044
+_022332CC:
+ ldr r0, [r5, r0]
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, _02233320 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #1
+ lsl r0, r0, #0xe
+ tst r0, r1
+ bne _022332E8
+ add r0, r6, #0
+ bl MOD11_02230E20
+ cmp r0, #1
+ beq _022332EC
+_022332E8:
+ cmp r4, #0x90
+ bne _02233302
+_022332EC:
+ ldr r1, _02233320 ; =0x0000213C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ lsl r0, r0, #0xe
+ orr r0, r2
+ str r0, [r5, r1]
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_02255A10
+_02233302:
+ add r0, r6, #0
+ bl MOD11_02230E20
+ cmp r0, #0
+ bne _02233316
+ ldr r2, _02233324 ; =0x00000123
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A43C
+_02233316:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_0223331C: .word 0x00003044
+_02233320: .word 0x0000213C
+_02233324: .word 0x00000123
+
+ thumb_func_start MOD11_02233328
+MOD11_02233328: ; 0x02233328
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ cmp r6, #0xff
+ bne _0223335A
+ mov r0, #0x49
+ lsl r0, r0, #2
+ b _0223335C
+_0223335A:
+ ldr r0, _022333C8 ; =0x00003044
+_0223335C:
+ ldr r0, [r4, r0]
+ add r1, r4, #0
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ str r0, [sp, #4]
+ ldr r2, [sp, #8]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r7, r0, #0
+ ldr r0, _022333CC ; =0x0000213C
+ ldr r1, [r4, r0]
+ mov r0, #1
+ lsl r0, r0, #0xe
+ tst r0, r1
+ bne _02233390
+ add r0, r5, #0
+ bl MOD11_02230E20
+ cmp r0, #1
+ beq _02233394
+_02233390:
+ cmp r6, #0x90
+ bne _022333AE
+_02233394:
+ ldr r1, _022333CC ; =0x0000213C
+ mov r0, #1
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0xe
+ orr r0, r2
+ str r0, [r4, r1]
+ ldr r3, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ str r7, [sp]
+ bl MOD11_02255A40
+_022333AE:
+ add r0, r5, #0
+ bl MOD11_02230E20
+ cmp r0, #0
+ bne _022333C2
+ ldr r2, _022333D0 ; =0x00000123
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A43C
+_022333C2:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_022333C8: .word 0x00003044
+_022333CC: .word 0x0000213C
+_022333D0: .word 0x00000123
+
+ thumb_func_start MOD11_022333D4
+MOD11_022333D4: ; 0x022333D4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ ldr r2, _02233404 ; =0x0000216C
+ add r1, r0, #0
+ ldr r2, [r4, r2]
+ add r0, r5, #0
+ bl MOD11_02255A70
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02233404: .word 0x0000216C
+
+ thumb_func_start MOD11_02233408
+MOD11_02233408: ; 0x02233408
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ str r0, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ ldr r0, _0223349C ; =0x00002D8C
+ add r7, r2, #0
+ add r5, r4, r0
+ mov r0, #0xc0
+ mul r7, r0
+ ldr r0, _022334A0 ; =0x0000215C
+ ldr r6, [r5, r7]
+ ldr r3, [r4, r0]
+ add r1, r3, r6
+ cmp r1, #0
+ bgt _02233446
+ neg r1, r6
+ sub r0, #0x14
+ str r1, [r4, r0]
+ b _0223344A
+_02233446:
+ sub r0, #0x14
+ str r3, [r4, r0]
+_0223344A:
+ ldr r0, _022334A4 ; =0x00002148
+ ldr r6, [r4, r0]
+ cmp r6, #0
+ bge _02233460
+ mov r0, #0x59
+ lsl r0, r0, #2
+ add r3, r4, r0
+ lsl r1, r2, #2
+ ldr r0, [r3, r1]
+ sub r0, r0, r6
+ str r0, [r3, r1]
+_02233460:
+ mov r0, #0xc0
+ add r3, r2, #0
+ mul r3, r0
+ ldr r0, _0223349C ; =0x00002D8C
+ ldr r6, _022334A0 ; =0x0000215C
+ add r1, r4, r0
+ ldr r0, [r1, r3]
+ ldr r6, [r4, r6]
+ add r0, r0, r6
+ str r0, [r1, r3]
+ ldr r1, [r1, r3]
+ cmp r1, #0
+ bge _02233480
+ mov r0, #0
+ str r0, [r5, r7]
+ b _0223348E
+_02233480:
+ add r0, r4, r3
+ ldr r3, _0223349C ; =0x00002D8C
+ add r3, r3, #4
+ ldr r0, [r0, r3]
+ cmp r1, r0
+ bls _0223348E
+ str r0, [r5, r7]
+_0223348E:
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02245190
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223349C: .word 0x00002D8C
+_022334A0: .word 0x0000215C
+_022334A4: .word 0x00002148
+
+ thumb_func_start MOD11_022334A8
+MOD11_022334A8: ; 0x022334A8
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02255A8C
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022334D4
+MOD11_022334D4: ; 0x022334D4
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ mov r1, #0xc0
+ mul r1, r4
+ add r2, r5, r1
+ ldr r1, _02233530 ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ bne _0223352A
+ str r4, [r5, #0x74]
+ bl FUN_0206A92C
+ ldr r1, _02233534 ; =0x0000213C
+ lsl r0, r0, #0x18
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+ mov r0, #0x55
+ lsl r0, r0, #2
+ add r2, r5, r0
+ lsl r1, r4, #2
+ ldr r0, [r2, r1]
+ add r0, r0, #1
+ str r0, [r2, r1]
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223D0EC
+_0223352A:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_02233530: .word 0x00002D8C
+_02233534: .word 0x0000213C
+
+ thumb_func_start MOD11_02233538
+MOD11_02233538: ; 0x02233538
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r2, [r4, #0x74]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02255BEC
+ ldr r0, [r4, #0x74]
+ bl FUN_0206A92C
+ ldr r2, _02233594 ; =0x0000213C
+ lsl r3, r0, #0x18
+ mov r0, #0
+ mvn r0, r0
+ ldr r1, [r4, r2]
+ eor r0, r3
+ and r0, r1
+ str r0, [r4, r2]
+ ldr r0, [r4, #0x74]
+ bl FUN_0206A92C
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0x1c
+ orr r0, r2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x74]
+ mov r2, #0x27
+ lsl r0, r0, #4
+ add r0, r4, r0
+ add r1, #0x68
+ str r2, [r0, r1]
+ ldr r2, [r4, #0x74]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02245A10
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02233594: .word 0x0000213C
+
+ thumb_func_start MOD11_02233598
+MOD11_02233598: ; 0x02233598
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ bne _022335D2
+ ldr r0, _022335FC ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ ldr r0, _02233600 ; =0x00000C03
+ tst r0, r1
+ bne _022335CC
+ bl FUN_02020AA4
+ cmp r0, #0
+ beq _022335D2
+_022335CC:
+ add r0, r5, #0
+ add r0, #0xf0
+ str r4, [r0]
+_022335D2:
+ add r0, r5, #0
+ add r0, #0xf0
+ ldr r0, [r0]
+ cmp r4, r0
+ beq _022335F0
+ mov r1, #1
+ add r0, r5, #0
+ mvn r1, r1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ add r0, #0xf0
+ ldr r0, [r0]
+ add r0, r0, #1
+ b _022335F2
+_022335F0:
+ mov r0, #0
+_022335F2:
+ add r5, #0xf0
+ str r0, [r5]
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_022335FC: .word 0x021C48B8
+_02233600: .word 0x00000C03
+
+ thumb_func_start MOD11_02233604
+MOD11_02233604: ; 0x02233604
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r3, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_02255D00
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0223363C
+MOD11_0223363C: ; 0x0223363C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r6, r1, #0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_0223A444
+ cmp r7, #6
+ bhi _022336DA
+ add r1, r7, r7
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02233686: ; jump table
+ .short _02233694 - _02233686 - 2 ; case 0
+ .short _0223369E - _02233686 - 2 ; case 1
+ .short _022336A8 - _02233686 - 2 ; case 2
+ .short _022336B2 - _02233686 - 2 ; case 3
+ .short _022336BC - _02233686 - 2 ; case 4
+ .short _022336C6 - _02233686 - 2 ; case 5
+ .short _022336D0 - _02233686 - 2 ; case 6
+_02233694:
+ ldr r0, [r0]
+ cmp r0, r4
+ beq _022336DA
+ mov r5, #0
+ b _022336DA
+_0223369E:
+ ldr r0, [r0]
+ cmp r0, r4
+ bne _022336DA
+ mov r5, #0
+ b _022336DA
+_022336A8:
+ ldr r0, [r0]
+ cmp r0, r4
+ bgt _022336DA
+ mov r5, #0
+ b _022336DA
+_022336B2:
+ ldr r0, [r0]
+ cmp r0, r4
+ ble _022336DA
+ mov r5, #0
+ b _022336DA
+_022336BC:
+ ldr r0, [r0]
+ tst r0, r4
+ bne _022336DA
+ mov r5, #0
+ b _022336DA
+_022336C6:
+ ldr r0, [r0]
+ tst r0, r4
+ beq _022336DA
+ mov r5, #0
+ b _022336DA
+_022336D0:
+ ldr r0, [r0]
+ and r0, r4
+ cmp r4, r0
+ beq _022336DA
+ mov r5, #0
+_022336DA:
+ cmp r5, #0
+ beq _022336E6
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223A424
+_022336E6:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_022336EC
+MOD11_022336EC: ; 0x022336EC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r6, r1, #0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ ldr r2, [sp, #8]
+ add r0, r6, #0
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r7, #6
+ bhi _02233790
+ add r1, r7, r7
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0223374A: ; jump table
+ .short _02233758 - _0223374A - 2 ; case 0
+ .short _02233760 - _0223374A - 2 ; case 1
+ .short _02233768 - _0223374A - 2 ; case 2
+ .short _02233770 - _0223374A - 2 ; case 3
+ .short _02233778 - _0223374A - 2 ; case 4
+ .short _02233780 - _0223374A - 2 ; case 5
+ .short _02233788 - _0223374A - 2 ; case 6
+_02233758:
+ cmp r0, r4
+ beq _02233790
+ mov r5, #0
+ b _02233790
+_02233760:
+ cmp r0, r4
+ bne _02233790
+ mov r5, #0
+ b _02233790
+_02233768:
+ cmp r0, r4
+ bgt _02233790
+ mov r5, #0
+ b _02233790
+_02233770:
+ cmp r0, r4
+ ble _02233790
+ mov r5, #0
+ b _02233790
+_02233778:
+ tst r0, r4
+ bne _02233790
+ mov r5, #0
+ b _02233790
+_02233780:
+ tst r0, r4
+ beq _02233790
+ mov r5, #0
+ b _02233790
+_02233788:
+ and r0, r4
+ cmp r4, r0
+ beq _02233790
+ mov r5, #0
+_02233790:
+ cmp r5, #0
+ beq _0223379C
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223A424
+_0223379C:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022337A4
+MOD11_022337A4: ; 0x022337A4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02255D20
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022337C0
+MOD11_022337C0: ; 0x022337C0
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A434
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD11_022337E0
+MOD11_022337E0: ; 0x022337E0
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r2, _02233804 ; =0x00003044
+ add r0, r4, #0
+ ldr r2, [r4, r2]
+ mov r1, #0x1e
+ lsl r2, r2, #4
+ add r3, r4, r2
+ ldr r2, _02233808 ; =0x000003DE
+ ldrh r2, [r3, r2]
+ bl MOD11_0223A434
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+_02233804: .word 0x00003044
+_02233808: .word 0x000003DE
+
+ thumb_func_start MOD11_0223380C
+MOD11_0223380C: ; 0x0223380C
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ ldr r2, _02233890 ; =0x0000213C
+ mov r1, #1
+ ldr r3, [r4, r2]
+ bic r3, r1
+ str r3, [r4, r2]
+ ldr r3, [r4, r2]
+ ldr r1, _02233894 ; =0xFFFFBFFF
+ and r1, r3
+ mov r3, #0x49
+ lsl r3, r3, #2
+ str r1, [r4, r2]
+ ldr r2, [r4, r3]
+ ldr r1, _02233898 ; =0x00003044
+ cmp r0, #0
+ str r2, [r4, r1]
+ bne _02233866
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r3, [r4, r3]
+ ldr r2, [r4, #0x64]
+ lsl r3, r3, #0x10
+ add r0, r5, #0
+ add r1, r4, #0
+ lsr r3, r3, #0x10
+ bl MOD11_02244C28
+ str r0, [r4, #0x6c]
+ ldr r1, [r4, #0x64]
+ lsl r1, r1, #4
+ add r2, r4, r1
+ ldr r1, _0223389C ; =0x000021AC
+ str r0, [r2, r1]
+_02233866:
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0xff
+ bne _0223387C
+ mov r2, #0x26
+ str r2, [r4, #0xc]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, #0xf3
+ bl MOD11_0223A434
+ b _02233888
+_0223387C:
+ ldr r2, _02233898 ; =0x00003044
+ add r0, r4, #0
+ ldr r2, [r4, r2]
+ mov r1, #0
+ bl MOD11_0223A434
+_02233888:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ nop
+_02233890: .word 0x0000213C
+_02233894: .word 0xFFFFBFFF
+_02233898: .word 0x00003044
+_0223389C: .word 0x000021AC
+
+ thumb_func_start MOD11_022338A0
+MOD11_022338A0: ; 0x022338A0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #1
+ lsl r1, r1, #0xa
+ tst r0, r1
+ bne _022338C8
+ add r0, r5, #0
+ bl MOD11_02230C50
+ mov r1, #1
+ tst r0, r1
+ beq _022338D0
+_022338C8:
+ ldr r0, _022338F4 ; =0x00002150
+ mov r1, #1
+ str r1, [r4, r0]
+ b _022338F0
+_022338D0:
+ ldr r3, [r4, #0x6c]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0
+ bl MOD11_0224C474
+ str r0, [sp]
+ ldr r3, _022338F8 ; =0x0000214C
+ ldr r1, [r4, #0x64]
+ ldr r2, [r4, #0x6c]
+ ldr r3, [r4, r3]
+ add r0, r4, #0
+ bl MOD11_0224BF3C
+ ldr r1, _022338F4 ; =0x00002150
+ str r0, [r4, r1]
+_022338F0:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022338F4: .word 0x00002150
+_022338F8: .word 0x0000214C
+
+ thumb_func_start MOD11_022338FC
+MOD11_022338FC: ; 0x022338FC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ add r7, r0, #0
+ bl MOD11_0222FF74
+ add r4, r0, #0
+ ldr r1, [r5, #0x74]
+ add r0, r7, #0
+ bl MOD11_0222FF7C
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ ldr r0, _02233A70 ; =0x00000195
+ ldrb r2, [r6, r0]
+ mov r0, #1
+ tst r0, r2
+ beq _02233936
+ mov r0, #0xa9
+ lsl r0, r0, #2
+ tst r0, r4
+ beq _02233938
+_02233936:
+ b _02233A64
+_02233938:
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r1, [sp, #4]
+ str r0, [sp]
+ add r4, r0, #0
+ add r0, r7, #0
+ bl MOD11_0222FF88
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _022339C6
+_02233950:
+ add r0, r7, #0
+ mov r1, #0
+ add r2, r4, #0
+ bl MOD11_02230014
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022339B4
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022339B4
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, [r5, #0x74]
+ asr r1, r1, #1
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1d
+ add r1, r5, r1
+ add r1, #0xa4
+ ldr r1, [r1]
+ tst r0, r1
+ beq _02233994
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+_02233994:
+ add r0, r6, #0
+ mov r1, #6
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ add r0, r5, #0
+ mov r2, #1
+ bl MOD11_0224C12C
+ cmp r0, #0x32
+ bne _022339B4
+ ldr r0, [sp]
+ add r0, r0, #1
+ str r0, [sp]
+_022339B4:
+ add r0, r7, #0
+ mov r1, #0
+ add r4, r4, #1
+ bl MOD11_0222FF88
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02233950
+_022339C6:
+ ldr r1, [r5, #0x74]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r1, r0]
+ mov r1, #9
+ bl FUN_02068678
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r2, [r5, #0x74]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r5, r0
+ ldr r0, _02233A74 ; =0x00002D74
+ ldrb r0, [r2, r0]
+ mul r0, r1
+ mov r1, #7
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ ldr r1, [sp]
+ lsr r0, r0, #0x10
+ cmp r1, #0
+ beq _02233A3E
+ lsr r4, r0, #1
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ blx _s32_div_f
+ add r1, r5, #0
+ add r1, #0x9c
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x9c
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _02233A1E
+ add r0, r5, #0
+ mov r1, #1
+ add r0, #0x9c
+ str r1, [r0]
+_02233A1E:
+ ldr r1, [sp]
+ add r0, r4, #0
+ blx _s32_div_f
+ add r1, r5, #0
+ add r1, #0xa0
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0xa0
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _02233A6A
+ mov r0, #1
+ add r5, #0xa0
+ str r0, [r5]
+ b _02233A6A
+_02233A3E:
+ ldr r1, [sp, #4]
+ blx _s32_div_f
+ add r1, r5, #0
+ add r1, #0x9c
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x9c
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _02233A5C
+ add r0, r5, #0
+ mov r1, #1
+ add r0, #0x9c
+ str r1, [r0]
+_02233A5C:
+ mov r0, #0
+ add r5, #0xa0
+ str r0, [r5]
+ b _02233A6A
+_02233A64:
+ add r0, r5, #0
+ bl MOD11_0223A424
+_02233A6A:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02233A70: .word 0x00000195
+_02233A74: .word 0x00002D74
+
+ thumb_func_start MOD11_02233A78
+MOD11_02233A78: ; 0x02233A78
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r0, #5
+ mov r1, #0x58
+ bl FUN_02016998
+ mov r1, #0x5e
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ mov r2, #0
+ str r5, [r0]
+ ldr r0, [r4, r1]
+ str r4, [r0, #4]
+ ldr r0, [r4, r1]
+ str r2, [r0, #0x28]
+ ldr r0, [r4, r1]
+ str r2, [r0, #0x48]
+ ldr r0, _02233AB4 ; =MOD11_0223A79C
+ ldr r1, [r4, r1]
+ bl FUN_0200CA44
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02233AB4: .word MOD11_0223A79C
+
+ thumb_func_start MOD11_02233AB8
+MOD11_02233AB8: ; 0x02233AB8
+ push {r3, lr}
+ mov r0, #0x5e
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02233ACC
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+_02233ACC:
+ mov r0, #0
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02233AD0
+MOD11_02233AD0: ; 0x02233AD0
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02233AE8
+MOD11_02233AE8: ; 0x02233AE8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ str r1, [sp, #8]
+ add r6, r0, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ ldr r0, [sp, #8]
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r4, #0
+ add r5, r4, #0
+ cmp r7, #0
+ ble _02233B40
+ ldr r0, [sp, #8]
+ str r0, [sp, #0xc]
+_02233B0A:
+ mov r0, #0x4f
+ ldr r1, [sp, #0xc]
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02233B34
+ add r0, r5, #0
+ bl FUN_0206A92C
+ orr r4, r0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #6
+ str r0, [sp, #4]
+ ldr r1, [sp, #8]
+ add r0, r6, #0
+ add r2, r5, #0
+ mov r3, #1
+ bl MOD11_022558E0
+_02233B34:
+ ldr r0, [sp, #0xc]
+ add r5, r5, #1
+ add r0, r0, #4
+ str r0, [sp, #0xc]
+ cmp r5, r7
+ blt _02233B0A
+_02233B40:
+ mov r5, #0
+ cmp r7, #0
+ ble _02233B98
+_02233B46:
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ cmp r0, #7
+ bne _02233B80
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022302BC
+ str r0, [sp, #0x10]
+ add r0, r5, #0
+ bl FUN_0206A92C
+ tst r0, r4
+ bne _02233B92
+ ldr r0, [sp, #0x10]
+ bl FUN_0206A92C
+ tst r0, r4
+ bne _02233B92
+ add r0, r5, #0
+ bl FUN_0206A92C
+ orr r4, r0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022564CC
+ b _02233B92
+_02233B80:
+ add r0, r5, #0
+ bl FUN_0206A92C
+ tst r0, r4
+ bne _02233B92
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022564CC
+_02233B92:
+ add r5, r5, #1
+ cmp r5, r7
+ blt _02233B46
+_02233B98:
+ mov r0, #0
+ cmp r7, #0
+ ble _02233BBA
+ mov r1, #0x4f
+ ldr r4, [sp, #8]
+ lsl r1, r1, #2
+ mov r2, #1
+_02233BA6:
+ ldr r3, [r4, r1]
+ tst r3, r2
+ beq _02233BB2
+ ldr r1, [sp, #8]
+ str r0, [r1, #0x78]
+ b _02233BBA
+_02233BB2:
+ add r0, r0, #1
+ add r4, r4, #4
+ cmp r0, r7
+ blt _02233BA6
+_02233BBA:
+ mov r0, #0
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02233BC0
+MOD11_02233BC0: ; 0x02233BC0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp]
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #8]
+ mov r6, #0
+ ldr r1, [sp, #8]
+ add r0, r6, #0
+ cmp r1, #0
+ ble _02233BF2
+ mov r3, #0x4f
+ add r1, r5, #0
+ lsl r3, r3, #2
+ mov r4, #1
+_02233BE0:
+ ldr r2, [r1, r3]
+ tst r2, r4
+ beq _02233BE8
+ add r6, r6, #1
+_02233BE8:
+ ldr r2, [sp, #8]
+ add r0, r0, #1
+ add r1, r1, #4
+ cmp r0, r2
+ blt _02233BE0
+_02233BF2:
+ ldr r0, [sp, #8]
+ mov r4, #0
+ cmp r0, #0
+ ble _02233C6C
+ str r5, [sp, #4]
+ add r7, r5, #0
+_02233BFE:
+ mov r0, #0x4f
+ ldr r1, [sp, #4]
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02233C58
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _02233C58
+ mov r0, #0x23
+ lsl r0, r0, #8
+ ldrb r0, [r7, r0]
+ add r1, r5, r4
+ sub r6, r6, #1
+ sub r2, r0, #1
+ ldr r0, _02233C8C ; =0x000021A0
+ strb r2, [r1, r0]
+ add r0, r4, #0
+ bl FUN_0206A92C
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r1, [r5, r1]
+ lsl r0, r0, #0x18
+ tst r0, r1
+ bne _02233C58
+ add r0, r4, #0
+ bl FUN_0206A92C
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r1, [r5, r1]
+ lsl r0, r0, #0x18
+ orr r1, r0
+ mov r0, #0x85
+ lsl r0, r0, #6
+ str r1, [r5, r0]
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_022564CC
+_02233C58:
+ ldr r0, [sp, #4]
+ add r4, r4, #1
+ add r0, r0, #4
+ str r0, [sp, #4]
+ mov r0, #1
+ lsl r0, r0, #8
+ add r7, r7, r0
+ ldr r0, [sp, #8]
+ cmp r4, r0
+ blt _02233BFE
+_02233C6C:
+ cmp r6, #0
+ bne _02233C84
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r2, [r5, r1]
+ ldr r0, _02233C90 ; =0xF0FFFFFF
+ and r0, r2
+ str r0, [r5, r1]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+_02233C84:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02233C8C: .word 0x000021A0
+_02233C90: .word 0xF0FFFFFF
+
+ thumb_func_start MOD11_02233C94
+MOD11_02233C94: ; 0x02233C94
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ cmp r0, #1
+ beq _02233CB6
+ cmp r0, #6
+ beq _02233CBA
+ cmp r0, #0x12
+ beq _02233CBE
+ b _02233CC0
+_02233CB6:
+ ldr r4, [r5, #0x64]
+ b _02233CC0
+_02233CBA:
+ ldr r4, [r5, #0x78]
+ b _02233CC0
+_02233CBE:
+ ldr r4, [r5, #0x6c]
+_02233CC0:
+ mov r0, #0x4f
+ lsl r0, r0, #2
+ add r3, r5, r0
+ lsl r2, r4, #2
+ ldr r1, [r3, r2]
+ mov r0, #1
+ bic r1, r0
+ add r0, r4, #0
+ str r1, [r3, r2]
+ bl FUN_0206A92C
+ ldr r3, _02233D24 ; =0x00003108
+ mov r2, #0
+ mvn r2, r2
+ eor r0, r2
+ ldrb r1, [r5, r3]
+ add r2, r4, #0
+ and r0, r1
+ ldr r1, _02233D28 ; =0x000021A0
+ strb r0, [r5, r3]
+ add r0, r5, r1
+ sub r1, r1, #4
+ add r6, r5, r1
+ ldrb r1, [r0, r4]
+ strb r1, [r6, r4]
+ mov r1, #6
+ strb r1, [r0, r4]
+ ldrb r3, [r6, r4]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02242B78
+ ldrb r3, [r6, r4]
+ add r0, r7, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0224B290
+ ldr r0, _02233D2C ; =0x00002E4C
+ add r2, r4, #0
+ ldr r1, [r5, r0]
+ ldr r0, _02233D30 ; =0x00003122
+ strh r1, [r5, r0]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02245608
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02233D24: .word 0x00003108
+_02233D28: .word 0x000021A0
+_02233D2C: .word 0x00002E4C
+_02233D30: .word 0x00003122
+
+ thumb_func_start MOD11_02233D34
+MOD11_02233D34: ; 0x02233D34
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ mov r0, #0
+ cmp r4, #0
+ ble _02233D76
+ mov r2, #0x4f
+ add r1, r5, #0
+ lsl r2, r2, #2
+ mov r3, #1
+_02233D5C:
+ ldr r6, [r1, r2]
+ tst r6, r3
+ beq _02233D6E
+ str r0, [r5, #0x78]
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+ b _02233D76
+_02233D6E:
+ add r0, r0, #1
+ add r1, r1, #4
+ cmp r0, r4
+ blt _02233D5C
+_02233D76:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02233D7C
+MOD11_02233D7C: ; 0x02233D7C
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ mov r0, #5
+ mov r1, #0x58
+ bl FUN_02016998
+ mov r1, #0x5e
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ mov r2, #0
+ str r5, [r0]
+ ldr r0, [r4, r1]
+ str r4, [r0, #4]
+ ldr r0, [r4, r1]
+ str r2, [r0, #0x28]
+ ldr r0, [r4, r1]
+ str r6, [r0, #0x24]
+ add r0, r1, #0
+ sub r0, #0x50
+ ldr r3, [r4, r0]
+ ldr r0, [r4, r1]
+ str r3, [r0, #0x2c]
+ ldr r0, _02233DC8 ; =MOD11_0223B49C
+ ldr r1, [r4, r1]
+ bl FUN_0200CA44
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02233DC8: .word MOD11_0223B49C
+
+ thumb_func_start MOD11_02233DCC
+MOD11_02233DCC: ; 0x02233DCC
+ push {r3, lr}
+ mov r0, #0x5e
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02233DE0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+_02233DE0:
+ mov r0, #0
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02233DE4
+MOD11_02233DE4: ; 0x02233DE4
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r0, _02233E4C ; =0x0000217D
+ ldrb r0, [r5, r0]
+ cmp r0, #0
+ bne _02233E46
+ cmp r4, #0
+ bne _02233E36
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x5c
+ bne _02233E1C
+ mov r4, #5
+ b _02233E36
+_02233E1C:
+ bl FUN_0201B9EC
+ mov r1, #3
+ and r0, r1
+ cmp r0, #2
+ bge _02233E2C
+ add r4, r0, #2
+ b _02233E36
+_02233E2C:
+ bl FUN_0201B9EC
+ mov r1, #3
+ and r0, r1
+ add r4, r0, #2
+_02233E36:
+ lsl r0, r4, #0x18
+ ldr r1, _02233E50 ; =0x0000217C
+ lsr r2, r0, #0x18
+ strb r2, [r5, r1]
+ add r0, r1, #1
+ strb r2, [r5, r0]
+ add r1, #0xc
+ str r6, [r5, r1]
+_02233E46:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_02233E4C: .word 0x0000217D
+_02233E50: .word 0x0000217C
+
+ thumb_func_start MOD11_02233E54
+MOD11_02233E54: ; 0x02233E54
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r2, [sp]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0223A444
+ add r4, r0, #0
+ cmp r6, #0x14
+ bhi _02233F3E
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02233E96: ; jump table
+ .short _02233F3E - _02233E96 - 2 ; case 0
+ .short _02233F3E - _02233E96 - 2 ; case 1
+ .short _02233F3E - _02233E96 - 2 ; case 2
+ .short _02233F3E - _02233E96 - 2 ; case 3
+ .short _02233F3E - _02233E96 - 2 ; case 4
+ .short _02233F3E - _02233E96 - 2 ; case 5
+ .short _02233F3E - _02233E96 - 2 ; case 6
+ .short _02233EC0 - _02233E96 - 2 ; case 7
+ .short _02233EC4 - _02233E96 - 2 ; case 8
+ .short _02233ECC - _02233E96 - 2 ; case 9
+ .short _02233ED4 - _02233E96 - 2 ; case 10
+ .short _02233EDC - _02233E96 - 2 ; case 11
+ .short _02233EEA - _02233E96 - 2 ; case 12
+ .short _02233EF4 - _02233E96 - 2 ; case 13
+ .short _02233F00 - _02233E96 - 2 ; case 14
+ .short _02233F08 - _02233E96 - 2 ; case 15
+ .short _02233F10 - _02233E96 - 2 ; case 16
+ .short _02233F1A - _02233E96 - 2 ; case 17
+ .short _02233F20 - _02233E96 - 2 ; case 18
+ .short _02233F2E - _02233E96 - 2 ; case 19
+ .short _02233F36 - _02233E96 - 2 ; case 20
+_02233EC0:
+ str r5, [r4]
+ b _02233F42
+_02233EC4:
+ ldr r0, [r4]
+ add r0, r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233ECC:
+ ldr r0, [r4]
+ sub r0, r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233ED4:
+ ldr r0, [r4]
+ orr r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233EDC:
+ mov r0, #0
+ mvn r0, r0
+ ldr r1, [r4]
+ eor r0, r5
+ and r0, r1
+ str r0, [r4]
+ b _02233F42
+_02233EEA:
+ ldr r0, [r4]
+ add r1, r0, #0
+ mul r1, r5
+ str r1, [r4]
+ b _02233F42
+_02233EF4:
+ ldr r0, [r4]
+ add r1, r5, #0
+ blx _s32_div_f
+ str r0, [r4]
+ b _02233F42
+_02233F00:
+ ldr r0, [r4]
+ lsl r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233F08:
+ ldr r0, [r4]
+ asr r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233F10:
+ add r0, r5, #0
+ bl FUN_0206A92C
+ str r0, [r4]
+ b _02233F42
+_02233F1A:
+ bl ErrorHandling
+ b _02233F42
+_02233F20:
+ ldr r0, [r4]
+ sub r0, r0, r5
+ str r0, [r4]
+ bpl _02233F42
+ mov r0, #0
+ str r0, [r4]
+ b _02233F42
+_02233F2E:
+ ldr r0, [r4]
+ eor r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233F36:
+ ldr r0, [r4]
+ and r0, r5
+ str r0, [r4]
+ b _02233F42
+_02233F3E:
+ bl ErrorHandling
+_02233F42:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02233F48
+MOD11_02233F48: ; 0x02233F48
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ str r0, [sp]
+ mov r0, #0xb5
+ add r5, r1, #0
+ lsl r0, r0, #6
+ add r2, r5, r0
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r6, r2, r0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #0x14]
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_0223A404
+ ldr r1, _022342D0 ; =0x0000213C
+ str r0, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r2, [r5, r1]
+ ldr r0, _022342D4 ; =0xFFFDFFFF
+ and r2, r0
+ str r2, [r5, r1]
+ add r1, r5, #0
+ add r1, #0x8c
+ ldr r4, [r1]
+ cmp r4, #0x2e
+ blt _02233FA8
+ asr r7, r0, #0x11
+ mov r0, #0x4e
+ mov r1, #0xd
+ lsl r0, r0, #2
+ sub r4, #0x2e
+ str r1, [r5, r0]
+ b _02233FD8
+_02233FA8:
+ cmp r4, #0x27
+ blt _02233FBA
+ mov r0, #0x4e
+ mov r1, #0xc
+ lsl r0, r0, #2
+ sub r4, #0x27
+ mov r7, #2
+ str r1, [r5, r0]
+ b _02233FD8
+_02233FBA:
+ cmp r4, #0x16
+ blt _02233FCC
+ asr r7, r0, #0x12
+ mov r0, #0x4e
+ mov r1, #0xd
+ lsl r0, r0, #2
+ sub r4, #0x16
+ str r1, [r5, r0]
+ b _02233FD8
+_02233FCC:
+ mov r0, #0x4e
+ mov r1, #0xc
+ lsl r0, r0, #2
+ sub r4, #0xf
+ mov r7, #1
+ str r1, [r5, r0]
+_02233FD8:
+ cmp r7, #0
+ bgt _02233FDE
+ b _02234116
+_02233FDE:
+ add r1, r4, #1
+ add r6, #0x18
+ add r0, r6, r1
+ str r0, [sp, #4]
+ ldrsb r0, [r6, r1]
+ cmp r0, #0xc
+ bne _02234042
+ ldr r1, _022342D0 ; =0x0000213C
+ mov r0, #2
+ ldr r2, [r5, r1]
+ lsl r0, r0, #0x10
+ orr r0, r2
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ sub r0, r0, #2
+ cmp r0, #1
+ bhi _0223400E
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ b _02234538
+_0223400E:
+ add r0, r5, #0
+ mov r1, #0x8e
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0xc
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r1, r4, #1
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r1, [sp, #0x14]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ b _02234538
+_02234042:
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #3
+ bne _0223408E
+ add r0, r5, #0
+ ldr r1, _022342D8 ; =0x0000026E
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x27
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r0, [r0]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _022342DC ; =0x00002D67
+ add r2, r5, r2
+ ldrb r2, [r2, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r2, [r0]
+ add r0, r4, #1
+ add r1, #0x40
+ str r0, [r5, r1]
+ b _022340FA
+_0223408E:
+ cmp r0, #5
+ bne _022340CA
+ mov r1, #0xbd
+ add r0, r5, #0
+ lsl r1, r1, #2
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x2d
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ ldr r2, [r5, r1]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r2, [r0]
+ add r0, r4, #1
+ sub r1, #0x28
+ str r0, [r5, r1]
+ b _022340FA
+_022340CA:
+ cmp r7, #1
+ bne _022340D2
+ ldr r1, _022342E0 ; =0x000002EE
+ b _022340D4
+_022340D2:
+ ldr r1, _022342E4 ; =0x000002F1
+_022340D4:
+ add r0, r5, #0
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0xc
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r4, #1
+ add r5, #0xfc
+ str r0, [r5]
+_022340FA:
+ ldr r0, [sp, #4]
+ mov r1, #0
+ ldrsb r0, [r0, r1]
+ add r2, r0, r7
+ ldr r0, [sp, #4]
+ strb r2, [r0]
+ ldrsb r0, [r0, r1]
+ cmp r0, #0xc
+ bgt _0223410E
+ b _02234538
+_0223410E:
+ ldr r0, [sp, #4]
+ mov r1, #0xc
+ strb r1, [r0]
+ b _02234538
+_02234116:
+ add r0, r5, #0
+ add r0, #0x90
+ ldr r1, [r0]
+ mov r0, #2
+ lsl r0, r0, #0x1a
+ tst r1, r0
+ beq _02234126
+ b _0223449C
+_02234126:
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ ldr r2, [r5, #0x64]
+ cmp r2, r1
+ bne _02234134
+ b _022343E4
+_02234134:
+ ldr r0, [sp]
+ bl MOD11_02230270
+ lsl r0, r0, #3
+ mov r1, #0x71
+ add r0, r5, r0
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1d
+ beq _02234172
+ add r0, r5, #0
+ sub r1, #0xb3
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #2
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ mov r0, #1
+ str r0, [sp, #8]
+ b _0223444C
+_02234172:
+ add r2, r5, #0
+ add r2, #0x94
+ ldr r1, [r5, #0x64]
+ ldr r2, [r2]
+ add r0, r5, #0
+ mov r3, #0x1d
+ bl MOD11_02246D84
+ cmp r0, #1
+ beq _0223419A
+ add r2, r5, #0
+ add r2, #0x94
+ ldr r1, [r5, #0x64]
+ ldr r2, [r2]
+ add r0, r5, #0
+ mov r3, #0x49
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0223423C
+_0223419A:
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #3
+ bne _022341FE
+ add r0, r5, #0
+ ldr r1, _022342E8 ; =0x000002D7
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x35
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022342DC ; =0x00002D67
+ ldrb r1, [r1, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ mov r1, #1
+ lsl r1, r1, #8
+ str r0, [r5, r1]
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _022342DC ; =0x00002D67
+ add r2, r5, r2
+ ldrb r0, [r2, r0]
+ add r1, #0x44
+ str r0, [r5, r1]
+ b _02234236
+_022341FE:
+ add r0, r5, #0
+ ldr r1, _022342EC ; =0x0000029D
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0xb
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022342DC ; =0x00002D67
+ ldrb r1, [r1, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r1, [r0]
+_02234236:
+ mov r0, #1
+ str r0, [sp, #8]
+ b _0223444C
+_0223423C:
+ add r2, r5, #0
+ add r2, #0x94
+ ldr r1, [r5, #0x64]
+ ldr r2, [r2]
+ add r0, r5, #0
+ mov r3, #0x33
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02234256
+ add r0, r4, #1
+ cmp r0, #6
+ beq _0223426E
+_02234256:
+ add r2, r5, #0
+ add r2, #0x94
+ ldr r1, [r5, #0x64]
+ ldr r2, [r2]
+ add r0, r5, #0
+ mov r3, #0x34
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02234338
+ cmp r4, #0
+ bne _02234338
+_0223426E:
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #3
+ bne _022342F0
+ add r0, r5, #0
+ ldr r1, _022342E8 ; =0x000002D7
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x35
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022342DC ; =0x00002D67
+ ldrb r1, [r1, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ mov r1, #1
+ lsl r1, r1, #8
+ str r0, [r5, r1]
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _022342DC ; =0x00002D67
+ add r2, r5, r2
+ ldrb r0, [r2, r0]
+ add r1, #0x44
+ b _02234330
+ .align 2, 0
+_022342D0: .word 0x0000213C
+_022342D4: .word 0xFFFDFFFF
+_022342D8: .word 0x0000026E
+_022342DC: .word 0x00002D67
+_022342E0: .word 0x000002EE
+_022342E4: .word 0x000002F1
+_022342E8: .word 0x000002D7
+_022342EC: .word 0x0000029D
+_022342F0:
+ mov r1, #0xb
+ add r0, r5, #0
+ lsl r1, r1, #6
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x27
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r0, [r0]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _02234540 ; =0x00002D67
+ add r2, r5, r2
+ ldrb r2, [r2, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r2, [r0]
+ add r0, r4, #1
+ add r1, #0x40
+_02234330:
+ str r0, [r5, r1]
+ mov r0, #1
+ str r0, [sp, #8]
+ b _0223444C
+_02234338:
+ add r0, r4, #1
+ add r1, r6, r0
+ mov r0, #0x18
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bne _022343A2
+ ldr r1, _02234544 ; =0x0000213C
+ mov r0, #2
+ ldr r2, [r5, r1]
+ lsl r0, r0, #0x10
+ orr r0, r2
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ sub r0, r0, #2
+ cmp r0, #1
+ bhi _0223436A
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223436A:
+ add r0, r5, #0
+ mov r1, #0x91
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0xc
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r1, r4, #1
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r1, [sp, #0x14]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022343A2:
+ add r2, r5, #0
+ add r2, #0x94
+ ldr r1, [r5, #0x64]
+ ldr r2, [r2]
+ add r0, r5, #0
+ mov r3, #0x13
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022343C6
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #2
+ bne _022343C6
+ mov r0, #1
+ str r0, [sp, #8]
+ b _0223444C
+_022343C6:
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02234548 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x18
+ tst r0, r1
+ beq _0223444C
+ mov r0, #2
+ str r0, [sp, #8]
+ b _0223444C
+_022343E4:
+ add r1, r4, #1
+ add r2, r6, r1
+ mov r1, #0x18
+ ldrsb r1, [r2, r1]
+ cmp r1, #0
+ bne _0223444C
+ ldr r1, _02234544 ; =0x0000213C
+ lsr r0, r0, #0xa
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ sub r0, r0, #2
+ cmp r0, #1
+ bhi _02234414
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02234414:
+ add r0, r5, #0
+ mov r1, #0x91
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0xc
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r5, #0
+ add r1, r4, #1
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r1, [sp, #0x14]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223444C:
+ ldr r0, [sp, #8]
+ cmp r0, #2
+ bne _0223446A
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #1
+ bne _0223446A
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223446A:
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _02234488
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #2
+ bne _02234488
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02234488:
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _0223449C
+ ldr r1, [sp, #0x14]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add sp, #0x18
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223449C:
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #3
+ bne _022344F0
+ add r0, r5, #0
+ ldr r1, _0223454C ; =0x00000296
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x36
+ add r0, #0xf5
+ strb r1, [r0]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02234540 ; =0x00002D67
+ ldrb r1, [r1, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ mov r1, #1
+ lsl r1, r1, #8
+ str r0, [r5, r1]
+ add r2, r4, #1
+ add r0, r1, #4
+ str r2, [r5, r0]
+ b _02234524
+_022344F0:
+ mov r0, #0
+ mvn r0, r0
+ cmp r7, r0
+ bne _022344FC
+ ldr r1, _02234550 ; =0x000002FA
+ b _022344FE
+_022344FC:
+ ldr r1, _02234554 ; =0x000002FD
+_022344FE:
+ add r0, r5, #0
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0xc
+ add r0, #0xf5
+ strb r1, [r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ add r0, r4, #1
+ add r5, #0xfc
+ str r0, [r5]
+_02234524:
+ add r6, #0x18
+ add r1, r4, #1
+ ldrsb r0, [r6, r1]
+ add r0, r0, r7
+ strb r0, [r6, r1]
+ ldrsb r0, [r6, r1]
+ cmp r0, #0
+ bge _02234538
+ mov r0, #0
+ strb r0, [r6, r1]
+_02234538:
+ mov r0, #0
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02234540: .word 0x00002D67
+_02234544: .word 0x0000213C
+_02234548: .word 0x00002DB0
+_0223454C: .word 0x00000296
+_02234550: .word 0x000002FA
+_02234554: .word 0x000002FD
+
+ thumb_func_start MOD11_02234558
+MOD11_02234558: ; 0x02234558
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ ldr r0, [sp]
+ ldr r2, [sp, #8]
+ add r1, r5, #0
+ bl MOD11_0223C230
+ str r0, [sp, #4]
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02243420
+ str r0, [sp, #0xc]
+ cmp r7, #0x14
+ bhi _02234644
+ add r1, r7, r7
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022345B2: ; jump table
+ .short _02234644 - _022345B2 - 2 ; case 0
+ .short _02234644 - _022345B2 - 2 ; case 1
+ .short _02234644 - _022345B2 - 2 ; case 2
+ .short _02234644 - _022345B2 - 2 ; case 3
+ .short _02234644 - _022345B2 - 2 ; case 4
+ .short _02234644 - _022345B2 - 2 ; case 5
+ .short _02234644 - _022345B2 - 2 ; case 6
+ .short _022345DC - _022345B2 - 2 ; case 7
+ .short _022345E0 - _022345B2 - 2 ; case 8
+ .short _022345E6 - _022345B2 - 2 ; case 9
+ .short _022345EC - _022345B2 - 2 ; case 10
+ .short _022345F2 - _022345B2 - 2 ; case 11
+ .short _022345FE - _022345B2 - 2 ; case 12
+ .short _02234606 - _022345B2 - 2 ; case 13
+ .short _02234610 - _022345B2 - 2 ; case 14
+ .short _02234616 - _022345B2 - 2 ; case 15
+ .short _0223461C - _022345B2 - 2 ; case 16
+ .short _02234626 - _022345B2 - 2 ; case 17
+ .short _0223462C - _022345B2 - 2 ; case 18
+ .short _02234638 - _022345B2 - 2 ; case 19
+ .short _0223463E - _022345B2 - 2 ; case 20
+_022345DC:
+ str r4, [sp, #0xc]
+ b _02234648
+_022345E0:
+ add r0, r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_022345E6:
+ sub r0, r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_022345EC:
+ orr r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_022345F2:
+ mov r1, #0
+ mvn r1, r1
+ eor r1, r4
+ and r0, r1
+ str r0, [sp, #0xc]
+ b _02234648
+_022345FE:
+ add r1, r0, #0
+ mul r1, r4
+ str r1, [sp, #0xc]
+ b _02234648
+_02234606:
+ add r1, r4, #0
+ blx _s32_div_f
+ str r0, [sp, #0xc]
+ b _02234648
+_02234610:
+ lsl r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_02234616:
+ asr r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_0223461C:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ str r0, [sp, #0xc]
+ b _02234648
+_02234626:
+ bl ErrorHandling
+ b _02234648
+_0223462C:
+ sub r0, r0, r4
+ str r0, [sp, #0xc]
+ bpl _02234648
+ mov r0, #0
+ str r0, [sp, #0xc]
+ b _02234648
+_02234638:
+ eor r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_0223463E:
+ and r0, r4
+ str r0, [sp, #0xc]
+ b _02234648
+_02234644:
+ bl ErrorHandling
+_02234648:
+ cmp r6, #0x1a
+ bne _0223465E
+ ldr r1, [sp, #4]
+ ldr r2, [sp, #0xc]
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x18
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl MOD11_0223D1C4
+_0223465E:
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ add r2, r6, #0
+ add r3, sp, #0xc
+ bl MOD11_0224379C
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r5, #0
+ bl MOD11_02245190
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223467C
+MOD11_0223467C: ; 0x0223467C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ ldr r1, _022346B4 ; =0x0000218C
+ add r2, r5, r1
+ lsl r1, r0, #2
+ ldr r0, [r2, r1]
+ orr r0, r4
+ str r0, [r2, r1]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022346B4: .word 0x0000218C
+
+ thumb_func_start MOD11_022346B8
+MOD11_022346B8: ; 0x022346B8
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_02255D3C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022346F0
+MOD11_022346F0: ; 0x022346F0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ cmp r4, #0
+ bne _02234766
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ mov r4, #0
+ str r0, [sp, #4]
+ cmp r0, #0
+ ble _022347A8
+_02234732:
+ cmp r7, #0
+ bne _02234750
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _0223475C
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+ b _022347A8
+_02234750:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ beq _022347A8
+_0223475C:
+ ldr r0, [sp, #4]
+ add r4, r4, #1
+ cmp r4, r0
+ blt _02234732
+ b _022347A8
+_02234766:
+ ldr r0, [sp]
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ cmp r7, #0
+ bne _02234790
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _022347A8
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+ b _022347A8
+_02234790:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ beq _022347A8
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+_022347A8:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022347B0
+MOD11_022347B0: ; 0x022347B0
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ bl FUN_0201B9EC
+ add r1, r4, #1
+ blx _s32_div_f
+ mov r0, #0x4d
+ add r1, r6, r1
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022347E4
+MOD11_022347E4: ; 0x022347E4
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223A444
+ add r4, r0, #0
+ ldr r2, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_0223A444
+ add r1, r0, #0
+ cmp r6, #0x14
+ bhi _022348F2
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02234832: ; jump table
+ .short _022348F2 - _02234832 - 2 ; case 0
+ .short _022348F2 - _02234832 - 2 ; case 1
+ .short _022348F2 - _02234832 - 2 ; case 2
+ .short _022348F2 - _02234832 - 2 ; case 3
+ .short _022348F2 - _02234832 - 2 ; case 4
+ .short _022348F2 - _02234832 - 2 ; case 5
+ .short _022348F2 - _02234832 - 2 ; case 6
+ .short _0223485C - _02234832 - 2 ; case 7
+ .short _02234862 - _02234832 - 2 ; case 8
+ .short _0223486C - _02234832 - 2 ; case 9
+ .short _02234876 - _02234832 - 2 ; case 10
+ .short _02234880 - _02234832 - 2 ; case 11
+ .short _02234890 - _02234832 - 2 ; case 12
+ .short _0223489A - _02234832 - 2 ; case 13
+ .short _022348A6 - _02234832 - 2 ; case 14
+ .short _022348B2 - _02234832 - 2 ; case 15
+ .short _022348BE - _02234832 - 2 ; case 16
+ .short _022348C8 - _02234832 - 2 ; case 17
+ .short _022348CE - _02234832 - 2 ; case 18
+ .short _022348DE - _02234832 - 2 ; case 19
+ .short _022348E8 - _02234832 - 2 ; case 20
+_0223485C:
+ ldr r0, [r1]
+ str r0, [r4]
+ b _022348F6
+_02234862:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ add r0, r2, r0
+ str r0, [r4]
+ b _022348F6
+_0223486C:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ sub r0, r2, r0
+ str r0, [r4]
+ b _022348F6
+_02234876:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ orr r0, r2
+ str r0, [r4]
+ b _022348F6
+_02234880:
+ mov r0, #0
+ ldr r1, [r1]
+ mvn r0, r0
+ ldr r2, [r4]
+ eor r0, r1
+ and r0, r2
+ str r0, [r4]
+ b _022348F6
+_02234890:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ mul r0, r2
+ str r0, [r4]
+ b _022348F6
+_0223489A:
+ ldr r0, [r4]
+ ldr r1, [r1]
+ blx _s32_div_f
+ str r0, [r4]
+ b _022348F6
+_022348A6:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ add r1, r2, #0
+ lsl r1, r0
+ str r1, [r4]
+ b _022348F6
+_022348B2:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ add r1, r2, #0
+ asr r1, r0
+ str r1, [r4]
+ b _022348F6
+_022348BE:
+ ldr r0, [r1]
+ bl FUN_0206A92C
+ str r0, [r4]
+ b _022348F6
+_022348C8:
+ ldr r0, [r4]
+ str r0, [r1]
+ b _022348F6
+_022348CE:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ sub r0, r2, r0
+ str r0, [r4]
+ bpl _022348F6
+ mov r0, #0
+ str r0, [r4]
+ b _022348F6
+_022348DE:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ eor r0, r2
+ str r0, [r4]
+ b _022348F6
+_022348E8:
+ ldr r2, [r4]
+ ldr r0, [r1]
+ and r0, r2
+ str r0, [r4]
+ b _022348F6
+_022348F2:
+ bl ErrorHandling
+_022348F6:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022348FC
+MOD11_022348FC: ; 0x022348FC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ ldr r2, [sp, #4]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ str r0, [sp]
+ ldr r1, [sp]
+ add r0, r4, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02243420
+ str r0, [sp, #0xc]
+ ldr r2, [sp, #8]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0223A444
+ add r1, r0, #0
+ cmp r5, #0x14
+ bhi _02234A22
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02234962: ; jump table
+ .short _02234A22 - _02234962 - 2 ; case 0
+ .short _02234A22 - _02234962 - 2 ; case 1
+ .short _02234A22 - _02234962 - 2 ; case 2
+ .short _02234A22 - _02234962 - 2 ; case 3
+ .short _02234A22 - _02234962 - 2 ; case 4
+ .short _02234A22 - _02234962 - 2 ; case 5
+ .short _02234A22 - _02234962 - 2 ; case 6
+ .short _0223498C - _02234962 - 2 ; case 7
+ .short _02234992 - _02234962 - 2 ; case 8
+ .short _0223499C - _02234962 - 2 ; case 9
+ .short _022349A6 - _02234962 - 2 ; case 10
+ .short _022349B0 - _02234962 - 2 ; case 11
+ .short _022349C0 - _02234962 - 2 ; case 12
+ .short _022349CA - _02234962 - 2 ; case 13
+ .short _022349D6 - _02234962 - 2 ; case 14
+ .short _022349E2 - _02234962 - 2 ; case 15
+ .short _022349EE - _02234962 - 2 ; case 16
+ .short _022349F8 - _02234962 - 2 ; case 17
+ .short _022349FE - _02234962 - 2 ; case 18
+ .short _02234A0E - _02234962 - 2 ; case 19
+ .short _02234A18 - _02234962 - 2 ; case 20
+_0223498C:
+ ldr r0, [r1]
+ str r0, [sp, #0xc]
+ b _02234A26
+_02234992:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ add r0, r2, r0
+ str r0, [sp, #0xc]
+ b _02234A26
+_0223499C:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ sub r0, r2, r0
+ str r0, [sp, #0xc]
+ b _02234A26
+_022349A6:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ orr r0, r2
+ str r0, [sp, #0xc]
+ b _02234A26
+_022349B0:
+ ldr r2, [r1]
+ mov r1, #0
+ mvn r1, r1
+ ldr r0, [sp, #0xc]
+ eor r1, r2
+ and r0, r1
+ str r0, [sp, #0xc]
+ b _02234A26
+_022349C0:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ mul r0, r2
+ str r0, [sp, #0xc]
+ b _02234A26
+_022349CA:
+ ldr r0, [sp, #0xc]
+ ldr r1, [r1]
+ blx _s32_div_f
+ str r0, [sp, #0xc]
+ b _02234A26
+_022349D6:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ add r1, r2, #0
+ lsl r1, r0
+ str r1, [sp, #0xc]
+ b _02234A26
+_022349E2:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ add r1, r2, #0
+ asr r1, r0
+ str r1, [sp, #0xc]
+ b _02234A26
+_022349EE:
+ ldr r0, [r1]
+ bl FUN_0206A92C
+ str r0, [sp, #0xc]
+ b _02234A26
+_022349F8:
+ ldr r0, [sp, #0xc]
+ str r0, [r1]
+ b _02234A26
+_022349FE:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ sub r0, r2, r0
+ str r0, [sp, #0xc]
+ bpl _02234A26
+ mov r0, #0
+ str r0, [sp, #0xc]
+ b _02234A26
+_02234A0E:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ eor r0, r2
+ str r0, [sp, #0xc]
+ b _02234A26
+_02234A18:
+ ldr r2, [sp, #0xc]
+ ldr r0, [r1]
+ and r0, r2
+ str r0, [sp, #0xc]
+ b _02234A26
+_02234A22:
+ bl ErrorHandling
+_02234A26:
+ cmp r5, #0x11
+ beq _02234A56
+ cmp r6, #0x1a
+ bne _02234A40
+ ldr r1, [sp]
+ ldr r2, [sp, #0xc]
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x18
+ add r0, r4, #0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl MOD11_0223D1C4
+_02234A40:
+ ldr r1, [sp]
+ add r0, r4, #0
+ add r2, r6, #0
+ add r3, sp, #0xc
+ bl MOD11_0224379C
+ ldr r2, [sp]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02245190
+_02234A56:
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02234A5C
+MOD11_02234A5C: ; 0x02234A5C
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A424
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234A7C
+MOD11_02234A7C: ; 0x02234A7C
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02234A9C
+MOD11_02234A9C: ; 0x02234A9C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A444
+ add r2, r0, #0
+ ldr r2, [r2]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234ACC
+MOD11_02234ACC: ; 0x02234ACC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ str r0, [sp, #8]
+ mov r4, #0
+ bl MOD11_0222FF74
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r5, #0x64]
+ lsl r0, r1, #1
+ add r2, r5, r0
+ ldr r0, _02234BCC ; =0x00003084
+ ldrh r2, [r2, r0]
+ cmp r2, #0
+ beq _02234AF6
+ add r4, r2, #0
+ b _02234B40
+_02234AF6:
+ mov r2, #2
+ tst r2, r6
+ beq _02234B40
+ lsl r1, r1, #3
+ add r3, r5, r1
+ add r1, r0, #0
+ add r1, #0xe
+ add r4, r0, #0
+ ldrh r2, [r3, r1]
+ add r1, r0, #0
+ add r4, #8
+ add r0, #0xa
+ add r1, #0xc
+ ldrh r4, [r3, r4]
+ ldrh r0, [r3, r0]
+ ldrh r1, [r3, r1]
+ add r0, r4, r0
+ add r0, r1, r0
+ add r4, r2, r0
+ beq _02234B40
+ ldr r6, _02234BD0 ; =0x0000308C
+ mov r7, #0x1e
+_02234B22:
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r0, r0, #0x1e
+ ldr r1, [r5, #0x64]
+ sub r0, r0, r2
+ ror r0, r7
+ add r0, r2, r0
+ lsl r1, r1, #3
+ lsl r2, r0, #1
+ add r0, r5, r1
+ add r0, r2, r0
+ ldrh r4, [r0, r6]
+ cmp r4, #0
+ beq _02234B22
+_02234B40:
+ cmp r4, #0
+ beq _02234BAA
+ lsl r1, r4, #0x10
+ add r0, r5, #0
+ lsr r1, r1, #0x10
+ bl MOD11_0224C0B4
+ cmp r0, #1
+ bne _02234BAA
+ ldr r1, _02234BD4 ; =0x0000213C
+ lsl r3, r4, #0x10
+ ldr r2, [r5, r1]
+ mov r0, #1
+ bic r2, r0
+ str r2, [r5, r1]
+ ldr r2, [r5, r1]
+ ldr r0, _02234BD8 ; =0xFFFFBFFF
+ lsr r3, r3, #0x10
+ and r0, r2
+ str r0, [r5, r1]
+ ldr r0, _02234BDC ; =0x00003044
+ add r1, r5, #0
+ str r4, [r5, r0]
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #8]
+ ldr r2, [r5, #0x64]
+ bl MOD11_02244C28
+ str r0, [r5, #0x6c]
+ cmp r0, #0xff
+ bne _02234B94
+ mov r2, #0x26
+ str r2, [r5, #0xc]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, #0xf3
+ bl MOD11_0223A434
+ b _02234BC4
+_02234B94:
+ ldr r1, [r5, #0x64]
+ lsl r1, r1, #4
+ add r2, r5, r1
+ ldr r1, _02234BE0 ; =0x000021AC
+ str r0, [r2, r1]
+ add r0, r5, #0
+ mov r1, #0
+ add r2, r4, #0
+ bl MOD11_0223A434
+ b _02234BC4
+_02234BAA:
+ ldr r2, [r5, #0x64]
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ mov r1, #0x1c
+ add r3, r2, #0
+ mul r3, r1
+ add r0, r5, r0
+ ldr r2, [r0, r3]
+ mov r1, #1
+ bic r2, r1
+ mov r1, #1
+ orr r1, r2
+ str r1, [r0, r3]
+_02234BC4:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02234BCC: .word 0x00003084
+_02234BD0: .word 0x0000308C
+_02234BD4: .word 0x0000213C
+_02234BD8: .word 0xFFFFBFFF
+_02234BDC: .word 0x00003044
+_02234BE0: .word 0x000021AC
+
+ thumb_func_start MOD11_02234BE4
+MOD11_02234BE4: ; 0x02234BE4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ mov r2, #0
+ cmp r0, #0
+ ble _02234C24
+ ldr r6, _02234C28 ; =0x00002D58
+ mov r1, #6
+ add r5, r6, #0
+ add r5, #0x58
+_02234C06:
+ mov r7, #0
+_02234C08:
+ add r3, r4, r7
+ add r7, r7, #1
+ strb r1, [r3, r6]
+ cmp r7, #8
+ blt _02234C08
+ ldr r3, _02234C2C ; =0x00002DB0
+ add r2, r2, #1
+ ldr r7, [r4, r3]
+ ldr r3, _02234C30 ; =0xFFEFFFFF
+ and r3, r7
+ str r3, [r4, r5]
+ add r4, #0xc0
+ cmp r2, r0
+ blt _02234C06
+_02234C24:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02234C28: .word 0x00002D58
+_02234C2C: .word 0x00002DB0
+_02234C30: .word 0xFFEFFFFF
+
+ thumb_func_start MOD11_02234C34
+MOD11_02234C34: ; 0x02234C34
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022451C0
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02234C60
+MOD11_02234C60: ; 0x02234C60
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022451F0
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02234C8C
+MOD11_02234C8C: ; 0x02234C8C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_02255E0C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234CC4
+MOD11_02234CC4: ; 0x02234CC4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_02255E2C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234CFC
+MOD11_02234CFC: ; 0x02234CFC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x3c
+ add r7, r0, #0
+ add r5, r1, #0
+ str r2, [sp]
+ mov r0, #5
+ mov r1, #0x60
+ bl FUN_02016998
+ add r4, r0, #0
+ ldr r0, [sp]
+ add r6, r7, #0
+ lsl r0, r0, #1
+ add r6, #0xa0
+ str r0, [sp, #4]
+ ldrh r0, [r6, r0]
+ add r1, sp, #8
+ bl FUN_0206ADE0
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ ldrh r0, [r6, r0]
+ bl FUN_0206ADF0
+ add r0, sp, #8
+ ldrb r1, [r0]
+ cmp r1, #3
+ bhi _02234D48
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02234D40: ; jump table
+ .short _02234D48 - _02234D40 - 2 ; case 0
+ .short _02234D5C - _02234D40 - 2 ; case 1
+ .short _02234D6E - _02234D40 - 2 ; case 2
+ .short _02234D7E - _02234D40 - 2 ; case 3
+_02234D48:
+ add r0, sp, #8
+ ldrb r0, [r0, #3]
+ sub r1, r0, #1
+ mov r0, #6
+ mul r0, r1
+ add r0, r4, r0
+ ldrh r0, [r0, #2]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ b _02234D8C
+_02234D5C:
+ ldrb r0, [r0, #3]
+ sub r1, r0, #1
+ mov r0, #0xe
+ mul r0, r1
+ add r0, r4, r0
+ ldrh r0, [r0, #2]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ b _02234D8C
+_02234D6E:
+ ldrb r0, [r0, #3]
+ sub r0, r0, #1
+ lsl r0, r0, #3
+ add r0, r4, r0
+ ldrh r0, [r0, #2]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ b _02234D8C
+_02234D7E:
+ ldrb r0, [r0, #3]
+ sub r0, r0, #1
+ lsl r0, r0, #4
+ add r0, r4, r0
+ ldrh r0, [r0, #2]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+_02234D8C:
+ ldr r2, [r7, #0x2c]
+ mov r0, #0x10
+ tst r0, r2
+ bne _02234D98
+ cmp r2, #0x4b
+ bne _02234DAE
+_02234D98:
+ add r0, sp, #8
+ ldrb r2, [r0, #1]
+ ldr r0, _02234DEC ; =0x0225FF20
+ lsl r1, r1, #2
+ ldrb r0, [r0, r2]
+ ldr r2, _02234DF0 ; =0x00002168
+ ldr r2, [r5, r2]
+ add r5, r0, #0
+ mul r1, r2
+ mul r5, r1
+ b _02234DDE
+_02234DAE:
+ mov r0, #2
+ tst r0, r2
+ add r0, sp, #8
+ beq _02234DCC
+ ldrb r2, [r0, #1]
+ ldr r0, _02234DEC ; =0x0225FF20
+ lsl r1, r1, #2
+ ldrb r0, [r0, r2]
+ ldr r2, _02234DF0 ; =0x00002168
+ ldr r2, [r5, r2]
+ add r5, r0, #0
+ mul r1, r2
+ lsl r1, r1, #1
+ mul r5, r1
+ b _02234DDE
+_02234DCC:
+ ldrb r2, [r0, #1]
+ ldr r0, _02234DEC ; =0x0225FF20
+ lsl r1, r1, #2
+ ldrb r0, [r0, r2]
+ ldr r2, _02234DF0 ; =0x00002168
+ ldr r2, [r5, r2]
+ add r5, r0, #0
+ mul r1, r2
+ mul r5, r1
+_02234DDE:
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ add sp, #0x3c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02234DEC: .word 0x0225FF20
+_02234DF0: .word 0x00002168
+
+ thumb_func_start MOD11_02234DF4
+MOD11_02234DF4: ; 0x02234DF4
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ add r5, r0, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, _02234E70 ; =0x0000241C
+ ldrb r0, [r5, r0]
+ cmp r0, #1
+ bne _02234E3E
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #1
+ bl MOD11_02234CFC
+ add r4, r0, #0
+ ldr r1, [r5, #0x2c]
+ mov r0, #0x10
+ tst r0, r1
+ bne _02234E22
+ cmp r1, #0x4b
+ bne _02234E2E
+_02234E22:
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #3
+ bl MOD11_02234CFC
+ add r4, r4, r0
+_02234E2E:
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_022301D4
+ add r1, r4, #0
+ bl FUN_02023A30
+ b _02234E56
+_02234E3E:
+ ldr r0, [r5, #0x68]
+ ldr r1, [r5, #0x48]
+ bl MOD11_0223158C
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_022301D4
+ add r1, r4, #0
+ bl FUN_02023A54
+_02234E56:
+ cmp r4, #0
+ beq _02234E62
+ mov r0, #0x13
+ lsl r0, r0, #4
+ str r4, [r6, r0]
+ b _02234E6A
+_02234E62:
+ mov r0, #0x13
+ mov r1, #0
+ lsl r0, r0, #4
+ str r1, [r6, r0]
+_02234E6A:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_02234E70: .word 0x0000241C
+
+ thumb_func_start MOD11_02234E74
+MOD11_02234E74: ; 0x02234E74
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_02230E20
+ cmp r0, #1
+ beq _02234EAC
+ cmp r4, #0xf
+ beq _02234EAC
+ cmp r4, #0x10
+ beq _02234EAC
+ add r0, r4, #0
+ sub r0, #0x19
+ cmp r0, #1
+ bhi _02234ED2
+_02234EAC:
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ bl MOD11_0224C20C
+ cmp r0, #1
+ bne _02234ED2
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ add r3, r4, #0
+ bl MOD11_02255E4C
+_02234ED2:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234ED8
+MOD11_02234ED8: ; 0x02234ED8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_02230E20
+ cmp r0, #1
+ beq _02234F1A
+ cmp r4, #0xf
+ beq _02234F1A
+ cmp r4, #0x10
+ beq _02234F1A
+ add r0, r4, #0
+ sub r0, #0x19
+ cmp r0, #1
+ bhi _02234F5C
+_02234F1A:
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ add r7, r0, #0
+ ldr r2, [sp, #4]
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223C230
+ str r0, [sp, #8]
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ bl MOD11_0224C20C
+ cmp r0, #1
+ bne _02234F5C
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ add r2, r4, #0
+ bl MOD11_0224C20C
+ cmp r0, #1
+ bne _02234F5C
+ ldr r3, [sp, #8]
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ str r4, [sp]
+ bl MOD11_02255E7C
+_02234F5C:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234F64
+MOD11_02234F64: ; 0x02234F64
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r7, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ add r2, r6, #0
+ bl MOD11_0223A444
+ add r4, r0, #0
+ add r0, r7, #0
+ bl MOD11_02230E20
+ cmp r0, #1
+ beq _02234FB4
+ cmp r6, #0xf
+ beq _02234FB4
+ cmp r6, #0x10
+ beq _02234FB4
+ ldr r0, [r4]
+ sub r0, #0x19
+ cmp r0, #1
+ bhi _02234FCE
+_02234FB4:
+ ldr r1, [sp]
+ ldr r2, [r4]
+ add r0, r5, #0
+ bl MOD11_0224C20C
+ cmp r0, #1
+ bne _02234FCE
+ ldr r2, [sp]
+ ldr r3, [r4]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02255E4C
+_02234FCE:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02234FD4
+MOD11_02234FD4: ; 0x02234FD4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r1, r4, #0
+ ldr r3, _02235008 ; =0x0000219C
+ add r4, r4, r2
+ ldrb r3, [r4, r3]
+ add r0, r5, #0
+ bl MOD11_02255EAC
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02235008: .word 0x0000219C
+
+ thumb_func_start MOD11_0223500C
+MOD11_0223500C: ; 0x0223500C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r1, r4, #0
+ ldr r3, _02235040 ; =0x0000219C
+ add r4, r4, r2
+ ldrb r3, [r4, r3]
+ add r0, r5, #0
+ bl MOD11_02255EF0
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02235040: .word 0x0000219C
+
+ thumb_func_start MOD11_02235044
+MOD11_02235044: ; 0x02235044
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02255F3C
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02235070
+MOD11_02235070: ; 0x02235070
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02255F54
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0223509C
+MOD11_0223509C: ; 0x0223509C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ mov r2, #0x13
+ lsl r2, r2, #4
+ add r1, r0, #0
+ ldr r2, [r4, r2]
+ add r0, r5, #0
+ bl MOD11_02255E2C
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022350CC
+MOD11_022350CC: ; 0x022350CC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x79
+ bne _022350FC
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+ add sp, #8
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022350FC:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _02235238 ; =0x00002D4C
+ mov r6, #0
+_02235108:
+ ldrh r1, [r2, r0]
+ cmp r1, #0
+ beq _02235116
+ add r6, r6, #1
+ add r2, r2, #2
+ cmp r6, #4
+ blt _02235108
+_02235116:
+ mov r0, #0
+ str r0, [sp, #4]
+ cmp r6, #0
+ ble _0223518E
+ add r7, r0, #0
+_02235120:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r0, r4, r0
+ add r2, r7, r0
+ ldr r0, _02235238 ; =0x00002D4C
+ ldrh r0, [r2, r0]
+ cmp r0, #0xa0
+ beq _02235182
+ lsl r0, r0, #4
+ add r2, r4, r0
+ ldr r0, _0223523C ; =0x000003E2
+ ldrb r5, [r2, r0]
+ cmp r5, #9
+ bne _02235162
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #7
+ beq _0223515C
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #7
+ bne _02235160
+_0223515C:
+ mov r5, #7
+ b _02235162
+_02235160:
+ mov r5, #0
+_02235162:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _02235182
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ bne _0223518E
+_02235182:
+ ldr r0, [sp, #4]
+ add r7, r7, #2
+ add r0, r0, #1
+ str r0, [sp, #4]
+ cmp r0, r6
+ blt _02235120
+_0223518E:
+ ldr r0, [sp, #4]
+ cmp r0, r6
+ bne _0223519E
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+ b _02235230
+_0223519E:
+ ldr r7, _02235238 ; =0x00002D4C
+_022351A0:
+ bl FUN_0201B9EC
+ add r1, r6, #0
+ blx _s32_div_f
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ lsl r1, r1, #1
+ add r0, r4, r0
+ add r0, r1, r0
+ ldrh r0, [r0, r7]
+ cmp r0, #0xa0
+ beq _022351A0
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _0223523C ; =0x000003E2
+ ldrb r5, [r1, r0]
+ cmp r5, #9
+ bne _022351EE
+ add r1, r2, #0
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #7
+ beq _022351E8
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #7
+ bne _022351EC
+_022351E8:
+ mov r5, #7
+ b _022351EE
+_022351EC:
+ mov r5, #0
+_022351EE:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _022351A0
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _022351A0
+ ldr r1, [r4, #0x64]
+ lsl r0, r5, #0x18
+ add r3, r1, #0
+ mov r2, #0xc0
+ mul r3, r2
+ ldr r1, _02235240 ; =0x00002D64
+ lsr r0, r0, #0x18
+ add r3, r4, r3
+ strb r0, [r3, r1]
+ ldr r3, [r4, #0x64]
+ add r1, r1, #1
+ add r6, r3, #0
+ mul r6, r2
+ add r3, r4, r6
+ strb r0, [r3, r1]
+ add r2, #0x70
+ str r5, [r4, r2]
+_02235230:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02235238: .word 0x00002D4C
+_0223523C: .word 0x000003E2
+_02235240: .word 0x00002D64
+
+ thumb_func_start MOD11_02235244
+MOD11_02235244: ; 0x02235244
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r6, r1, #0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r0, [sp]
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_0223A444
+ add r4, r0, #0
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r6, #0
+ bl MOD11_0223A444
+ cmp r7, #6
+ bhi _022352FC
+ add r1, r7, r7
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0223529A: ; jump table
+ .short _022352A8 - _0223529A - 2 ; case 0
+ .short _022352B4 - _0223529A - 2 ; case 1
+ .short _022352C0 - _0223529A - 2 ; case 2
+ .short _022352CC - _0223529A - 2 ; case 3
+ .short _022352D8 - _0223529A - 2 ; case 4
+ .short _022352E4 - _0223529A - 2 ; case 5
+ .short _022352F0 - _0223529A - 2 ; case 6
+_022352A8:
+ ldr r1, [r4]
+ ldr r0, [r0]
+ cmp r1, r0
+ beq _022352FC
+ mov r5, #0
+ b _022352FC
+_022352B4:
+ ldr r1, [r4]
+ ldr r0, [r0]
+ cmp r1, r0
+ bne _022352FC
+ mov r5, #0
+ b _022352FC
+_022352C0:
+ ldr r1, [r4]
+ ldr r0, [r0]
+ cmp r1, r0
+ bhi _022352FC
+ mov r5, #0
+ b _022352FC
+_022352CC:
+ ldr r1, [r4]
+ ldr r0, [r0]
+ cmp r1, r0
+ bls _022352FC
+ mov r5, #0
+ b _022352FC
+_022352D8:
+ ldr r1, [r4]
+ ldr r0, [r0]
+ tst r0, r1
+ bne _022352FC
+ mov r5, #0
+ b _022352FC
+_022352E4:
+ ldr r1, [r4]
+ ldr r0, [r0]
+ tst r0, r1
+ beq _022352FC
+ mov r5, #0
+ b _022352FC
+_022352F0:
+ ldr r1, [r0]
+ ldr r0, [r4]
+ and r0, r1
+ cmp r1, r0
+ beq _022352FC
+ mov r5, #0
+_022352FC:
+ cmp r5, #0
+ beq _02235308
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223A424
+_02235308:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02235310
+MOD11_02235310: ; 0x02235310
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r6, r1, #0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r6, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r0, [sp]
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ ldr r2, [sp, #4]
+ add r0, r6, #0
+ mov r3, #0
+ bl MOD11_02243420
+ add r4, r0, #0
+ ldr r0, [sp]
+ ldr r2, [sp, #8]
+ add r1, r6, #0
+ bl MOD11_0223A444
+ cmp r7, #6
+ bhi _022353D0
+ add r1, r7, r7
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0223537A: ; jump table
+ .short _02235388 - _0223537A - 2 ; case 0
+ .short _02235392 - _0223537A - 2 ; case 1
+ .short _0223539C - _0223537A - 2 ; case 2
+ .short _022353A6 - _0223537A - 2 ; case 3
+ .short _022353B0 - _0223537A - 2 ; case 4
+ .short _022353BA - _0223537A - 2 ; case 5
+ .short _022353C4 - _0223537A - 2 ; case 6
+_02235388:
+ ldr r0, [r0]
+ cmp r4, r0
+ beq _022353D0
+ mov r5, #0
+ b _022353D0
+_02235392:
+ ldr r0, [r0]
+ cmp r4, r0
+ bne _022353D0
+ mov r5, #0
+ b _022353D0
+_0223539C:
+ ldr r0, [r0]
+ cmp r4, r0
+ bhi _022353D0
+ mov r5, #0
+ b _022353D0
+_022353A6:
+ ldr r0, [r0]
+ cmp r4, r0
+ bls _022353D0
+ mov r5, #0
+ b _022353D0
+_022353B0:
+ ldr r0, [r0]
+ tst r0, r4
+ bne _022353D0
+ mov r5, #0
+ b _022353D0
+_022353BA:
+ ldr r0, [r0]
+ tst r0, r4
+ beq _022353D0
+ mov r5, #0
+ b _022353D0
+_022353C4:
+ ldr r1, [r0]
+ add r0, r1, #0
+ and r0, r4
+ cmp r1, r0
+ beq _022353D0
+ mov r5, #0
+_022353D0:
+ cmp r5, #0
+ beq _022353DC
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223A424
+_022353DC:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022353E4
+MOD11_022353E4: ; 0x022353E4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r0, #0x53
+ lsl r0, r0, #2
+ ldr r1, _0223542C ; =0x00002168
+ ldr r2, [r4, r0]
+ ldr r1, [r4, r1]
+ add r3, r2, #0
+ mul r3, r1
+ add r1, r0, #0
+ sub r1, #0x1c
+ str r3, [r4, r1]
+ add r1, r0, #0
+ sub r1, #0x1c
+ ldr r2, [r4, r1]
+ ldr r1, _02235430 ; =0x0000FFFF
+ cmp r2, r1
+ ble _02235416
+ sub r0, #0x1c
+ str r1, [r4, r0]
+_02235416:
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_022301D4
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r1, [r4, r1]
+ bl FUN_02023A30
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223542C: .word 0x00002168
+_02235430: .word 0x0000FFFF
+
+ thumb_func_start MOD11_02235434
+MOD11_02235434: ; 0x02235434
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r1, [r5, #0x64]
+ add r0, r7, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ add r3, r5, r0
+ lsl r2, r6, #2
+ ldr r1, [r3, r2]
+ mov r4, #2
+ tst r4, r1
+ beq _02235478
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ ldr r1, _02235508 ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+ b _02235504
+_02235478:
+ mov r4, #2
+ orr r1, r4
+ str r1, [r3, r2]
+ add r1, r0, #0
+ add r1, #8
+ add r4, r5, r1
+ lsl r6, r6, #3
+ ldr r2, [r4, r6]
+ ldr r1, _0223550C ; =0xFFFFFC7F
+ add r0, #0xc4
+ and r1, r2
+ orr r0, r1
+ str r0, [r4, r6]
+ ldr r0, [r4, r6]
+ mov r1, #0x60
+ bic r0, r1
+ ldr r1, [r5, #0x64]
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x19
+ orr r0, r1
+ str r0, [r4, r6]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ cmp r0, #0x60
+ bne _022354CC
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ ldr r1, [r4, r6]
+ ldr r2, _0223550C ; =0xFFFFFC7F
+ and r2, r1
+ lsl r1, r1, #0x16
+ lsr r1, r1, #0x1d
+ add r0, r1, r0
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x16
+ orr r0, r2
+ str r0, [r4, r6]
+_022354CC:
+ add r0, r5, #0
+ mov r1, #0x14
+ add r0, #0xf5
+ strb r1, [r0]
+ ldr r0, _02235510 ; =0x00003044
+ mov r2, #1
+ ldr r1, [r5, r0]
+ add r0, r5, #0
+ add r0, #0xf8
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r3, [r5, #0x64]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_022467AC
+ cmp r0, #2
+ bne _022354FE
+ mov r0, #0xc0
+ add r5, #0xf6
+ strh r0, [r5]
+ b _02235504
+_022354FE:
+ mov r0, #0xbe
+ add r5, #0xf6
+ strh r0, [r5]
+_02235504:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02235508: .word 0x0000216C
+_0223550C: .word 0xFFFFFC7F
+_02235510: .word 0x00003044
+
+ thumb_func_start MOD11_02235514
+MOD11_02235514: ; 0x02235514
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r1, [r5, #0x64]
+ add r0, r7, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ add r3, r5, r0
+ lsl r2, r6, #2
+ ldr r1, [r3, r2]
+ mov r4, #1
+ tst r4, r1
+ beq _02235558
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ ldr r1, _022355EC ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+ b _022355E6
+_02235558:
+ mov r4, #1
+ orr r1, r4
+ add r0, #8
+ add r4, r5, r0
+ lsl r6, r6, #3
+ str r1, [r3, r2]
+ ldr r1, [r4, r6]
+ mov r0, #0x1c
+ bic r1, r0
+ mov r0, #0x14
+ orr r0, r1
+ str r0, [r4, r6]
+ ldr r0, [r4, r6]
+ mov r1, #3
+ bic r0, r1
+ ldr r2, [r5, #0x64]
+ mov r1, #3
+ and r1, r2
+ orr r0, r1
+ str r0, [r4, r6]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ cmp r0, #0x60
+ bne _022355AE
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ ldr r1, [r4, r6]
+ add r3, r0, #0
+ mov r0, #0x1c
+ add r2, r1, #0
+ bic r2, r0
+ lsl r0, r1, #0x1b
+ lsr r0, r0, #0x1d
+ add r0, r0, r3
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1b
+ orr r0, r2
+ str r0, [r4, r6]
+_022355AE:
+ add r0, r5, #0
+ mov r1, #0x14
+ add r0, #0xf5
+ strb r1, [r0]
+ ldr r0, _022355F0 ; =0x00003044
+ mov r2, #1
+ ldr r1, [r5, r0]
+ add r0, r5, #0
+ add r0, #0xf8
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0xfc
+ str r1, [r0]
+ ldr r3, [r5, #0x64]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_022467AC
+ cmp r0, #2
+ bne _022355E0
+ mov r0, #0xc4
+ add r5, #0xf6
+ strh r0, [r5]
+ b _022355E6
+_022355E0:
+ mov r0, #0xc2
+ add r5, #0xf6
+ strh r0, [r5]
+_022355E6:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022355EC: .word 0x0000216C
+_022355F0: .word 0x00003044
+
+ thumb_func_start MOD11_022355F4
+MOD11_022355F4: ; 0x022355F4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ mov r5, #0x6f
+ add r2, r0, #0
+ lsl r5, r5, #2
+ add r1, r4, r5
+ lsl r0, r2, #2
+ ldr r6, [r1, r0]
+ mov r3, #0x40
+ tst r3, r6
+ beq _02235638
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+ ldr r1, _02235668 ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r4, r1]
+ orr r0, r2
+ str r0, [r4, r1]
+ b _02235662
+_02235638:
+ mov r3, #0x40
+ orr r3, r6
+ str r3, [r1, r0]
+ add r5, #8
+ lsl r0, r2, #3
+ add r1, r4, r5
+ ldr r3, [r1, r0]
+ ldr r2, _0223566C ; =0xFFFF8FFF
+ and r3, r2
+ mov r2, #5
+ lsl r2, r2, #0xc
+ orr r2, r3
+ str r2, [r1, r0]
+ ldr r3, [r1, r0]
+ ldr r2, _02235670 ; =0xFFFFF3FF
+ and r3, r2
+ ldr r2, [r4, #0x64]
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #0x14
+ orr r2, r3
+ str r2, [r1, r0]
+_02235662:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02235668: .word 0x0000216C
+_0223566C: .word 0xFFFF8FFF
+_02235670: .word 0xFFFFF3FF
+
+ thumb_func_start MOD11_02235674
+MOD11_02235674: ; 0x02235674
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, _02235844 ; =0x0000213C
+ mov r0, #1
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0xa
+ orr r0, r2
+ str r0, [r4, r1]
+ ldr r1, [r4, #0x64]
+ ldr r2, [r4, #0x6c]
+ add r0, r4, #0
+ mov r3, #5
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022356AA
+ ldr r1, _02235848 ; =0x0000216C
+ mov r0, #2
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0x12
+ orr r0, r2
+ str r0, [r4, r1]
+ b _0223583E
+_022356AA:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r1, [r1, r0]
+ mov r0, #0x18
+ tst r0, r1
+ bne _02235730
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x63
+ beq _02235730
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x63
+ beq _02235730
+ ldr r0, _0223584C ; =0x00003044
+ mov r2, #0xc0
+ ldr r0, [r4, r0]
+ ldr r5, [r4, #0x6c]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _02235850 ; =0x000003E3
+ ldrb r1, [r1, r0]
+ ldr r0, [r4, #0x64]
+ add r3, r0, #0
+ mul r3, r2
+ add r0, r4, r3
+ ldr r3, _02235854 ; =0x00002D74
+ mul r2, r5
+ add r2, r4, r2
+ ldrb r0, [r0, r3]
+ ldrb r2, [r2, r3]
+ sub r0, r0, r2
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r5
+ bge _0223572C
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _02235854 ; =0x00002D74
+ add r2, r4, r2
+ ldrb r3, [r2, r1]
+ ldr r2, [r4, #0x6c]
+ mul r0, r2
+ add r0, r4, r0
+ ldrb r0, [r0, r1]
+ cmp r3, r0
+ blo _0223572C
+ mov r3, #1
+ b _022357E8
+_0223572C:
+ mov r3, #0
+ b _022357E8
+_02235730:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r3, r4, r0
+ ldr r0, _02235858 ; =0x00002DCC
+ ldr r1, [r4, #0x64]
+ ldr r2, [r3, r0]
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #0x1e
+ cmp r1, r2
+ bne _02235750
+ sub r0, #0xc
+ ldr r2, [r3, r0]
+ mov r0, #0x18
+ tst r0, r2
+ bne _02235766
+_02235750:
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x63
+ beq _02235766
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x63
+ bne _02235784
+_02235766:
+ ldr r0, [r4, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r3, [r4, #0x6c]
+ add r0, r4, r2
+ ldr r2, _02235854 ; =0x00002D74
+ mul r1, r3
+ add r1, r4, r1
+ ldrb r0, [r0, r2]
+ ldrb r1, [r1, r2]
+ cmp r0, r1
+ blo _02235784
+ mov r3, #1
+ b _022357DC
+_02235784:
+ ldr r0, _0223584C ; =0x00003044
+ mov r2, #0xc0
+ ldr r0, [r4, r0]
+ ldr r5, [r4, #0x6c]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _02235850 ; =0x000003E3
+ ldrb r1, [r1, r0]
+ ldr r0, [r4, #0x64]
+ add r3, r0, #0
+ mul r3, r2
+ add r0, r4, r3
+ ldr r3, _02235854 ; =0x00002D74
+ mul r2, r5
+ add r2, r4, r2
+ ldrb r0, [r0, r3]
+ ldrb r2, [r2, r3]
+ sub r0, r0, r2
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r5
+ bge _022357DA
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _02235854 ; =0x00002D74
+ add r2, r4, r2
+ ldrb r3, [r2, r1]
+ ldr r2, [r4, #0x6c]
+ mul r0, r2
+ add r0, r4, r0
+ ldrb r0, [r0, r1]
+ cmp r3, r0
+ blo _022357DA
+ mov r3, #1
+ b _022357DC
+_022357DA:
+ mov r3, #0
+_022357DC:
+ ldr r1, _02235848 ; =0x0000216C
+ mov r0, #1
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0xa
+ orr r0, r2
+ str r0, [r4, r1]
+_022357E8:
+ cmp r3, #0
+ beq _0223580E
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0223585C ; =0x00002D8C
+ ldr r0, [r1, r0]
+ ldr r1, _02235860 ; =0x00002144
+ neg r0, r0
+ str r0, [r4, r1]
+ add r0, r1, #0
+ add r0, #0x28
+ ldr r2, [r4, r0]
+ mov r0, #0x20
+ orr r0, r2
+ add r1, #0x28
+ str r0, [r4, r1]
+ b _0223583E
+_0223580E:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _02235854 ; =0x00002D74
+ add r2, r4, r2
+ ldrb r3, [r2, r1]
+ ldr r2, [r4, #0x6c]
+ mul r0, r2
+ add r0, r4, r0
+ ldrb r0, [r0, r1]
+ cmp r3, r0
+ ldr r1, _02235848 ; =0x0000216C
+ blo _02235834
+ ldr r2, [r4, r1]
+ mov r0, #1
+ orr r0, r2
+ str r0, [r4, r1]
+ b _0223583E
+_02235834:
+ mov r0, #1
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0xc
+ orr r0, r2
+ str r0, [r4, r1]
+_0223583E:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02235844: .word 0x0000213C
+_02235848: .word 0x0000216C
+_0223584C: .word 0x00003044
+_02235850: .word 0x000003E3
+_02235854: .word 0x00002D74
+_02235858: .word 0x00002DCC
+_0223585C: .word 0x00002D8C
+_02235860: .word 0x00002144
+
+ thumb_func_start MOD11_02235864
+MOD11_02235864: ; 0x02235864
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223A444
+ add r4, r0, #0
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_022476C0
+ str r0, [r4]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0223589C
+MOD11_0223589C: ; 0x0223589C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223A444
+ add r4, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_0223A444
+ add r1, r0, #0
+ ldr r0, [r4]
+ cmp r0, #0
+ bge _022358DE
+ mov r5, #0
+ mvn r5, r5
+ b _022358E0
+_022358DE:
+ mov r5, #1
+_022358E0:
+ ldr r0, [r4]
+ ldr r1, [r1]
+ blx _s32_div_f
+ str r0, [r4]
+ cmp r0, #0
+ bne _022358F0
+ str r5, [r4]
+_022358F0:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_022358F4
+MOD11_022358F4: ; 0x022358F4
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r0, [r6, #0x6c]
+ lsl r0, r0, #1
+ add r1, r6, r0
+ ldr r0, _02235A18 ; =0x0000307C
+ ldrh r0, [r1, r0]
+ bl MOD11_0224C044
+ cmp r0, #0
+ beq _0223594E
+ ldr r0, [r6, #0x64]
+ mov r2, #2
+ mov r3, #0xc0
+ add r1, r0, #0
+ mul r1, r3
+ add r0, r6, r1
+ ldr r1, _02235A1C ; =0x00002DB0
+ mov ip, r0
+ ldr r0, [r0, r1]
+ lsl r2, r2, #0x14
+ tst r0, r2
+ bne _0223594E
+ ldr r0, [r6, #0x6c]
+ add r4, r0, #0
+ mul r4, r3
+ add r4, r6, r4
+ ldr r4, [r4, r1]
+ lsl r1, r2, #3
+ tst r1, r4
+ bne _0223594E
+ lsl r0, r0, #1
+ add r1, r6, r0
+ ldr r0, _02235A18 ; =0x0000307C
+ ldrh r7, [r1, r0]
+ cmp r7, #0
+ bne _02235958
+_0223594E:
+ ldr r1, [sp]
+ add r0, r6, #0
+ bl MOD11_0223A424
+ b _02235A14
+_02235958:
+ mov r2, #0
+ sub r3, #0xc1
+ mov r4, ip
+ add r5, r2, #0
+_02235960:
+ ldr r0, _02235A20 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ cmp r7, r0
+ beq _02235988
+ mov r0, ip
+ add r1, r0, r5
+ ldr r0, _02235A20 ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ cmp r0, #0x66
+ bne _0223597E
+ mov r0, #0
+ mvn r0, r0
+ cmp r3, r0
+ bne _0223597E
+ add r3, r2, #0
+_0223597E:
+ add r2, r2, #1
+ add r4, r4, #2
+ add r5, r5, #2
+ cmp r2, #4
+ blt _02235960
+_02235988:
+ cmp r2, #4
+ bne _02235A0C
+ mov r4, #0x49
+ lsl r4, r4, #2
+ str r7, [r6, r4]
+ ldr r2, [r6, #0x64]
+ mov r1, #0xc0
+ add r5, r2, #0
+ mul r5, r1
+ add r5, r6, r5
+ lsl r2, r3, #1
+ add r5, r5, r2
+ ldr r0, [r6, r4]
+ ldr r2, _02235A20 ; =0x00002D4C
+ strh r0, [r5, r2]
+ ldr r0, [r6, r4]
+ lsl r0, r0, #4
+ add r4, r6, r0
+ mov r0, #0xf9
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ cmp r0, #5
+ bhs _022359B8
+ b _022359BA
+_022359B8:
+ mov r0, #5
+_022359BA:
+ ldr r4, [r6, #0x64]
+ add r2, #0x20
+ mul r1, r4
+ add r1, r6, r1
+ add r1, r1, r3
+ strb r0, [r1, r2]
+ add r0, r3, #0
+ bl FUN_0206A92C
+ ldr r1, _02235A24 ; =0x00002DCC
+ mov r4, #0xc0
+ add r3, r6, r1
+ ldr r1, [r6, #0x64]
+ mov r5, #0x3c
+ add r2, r1, #0
+ mul r2, r4
+ ldr r7, [r3, r2]
+ add r1, r7, #0
+ bic r1, r5
+ lsl r5, r7, #0x1a
+ lsr r5, r5, #0x1c
+ orr r0, r5
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1a
+ orr r0, r1
+ str r0, [r3, r2]
+ add r0, r4, #0
+ add r0, #0x64
+ ldr r1, [r6, r0]
+ add r0, r4, #0
+ add r0, #0xc3
+ cmp r1, r0
+ bne _02235A14
+ ldr r0, [r6, #0x64]
+ add r2, r0, #0
+ mul r2, r4
+ ldr r1, [r3, r2]
+ ldr r0, _02235A28 ; =0xFFFFE3FF
+ and r0, r1
+ str r0, [r3, r2]
+ b _02235A14
+_02235A0C:
+ ldr r1, [sp]
+ add r0, r6, #0
+ bl MOD11_0223A424
+_02235A14:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02235A18: .word 0x0000307C
+_02235A1C: .word 0x00002DB0
+_02235A20: .word 0x00002D4C
+_02235A24: .word 0x00002DCC
+_02235A28: .word 0xFFFFE3FF
+
+ thumb_func_start MOD11_02235A2C
+MOD11_02235A2C: ; 0x02235A2C
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r4, _02235A7C ; =0x00002D4C
+ mov r7, #0xc0
+_02235A3C:
+ bl FUN_0201B9EC
+ ldr r1, _02235A80 ; =0x000001D3
+ blx _s32_div_f
+ add r0, r1, #1
+ ldr r1, [r6, #0x64]
+ lsl r0, r0, #0x10
+ add r2, r1, #0
+ mul r2, r7
+ lsr r5, r0, #0x10
+ mov r0, #0
+ add r2, r6, r2
+_02235A56:
+ ldrh r1, [r2, r4]
+ cmp r5, r1
+ beq _02235A64
+ add r0, r0, #1
+ add r2, r2, #2
+ cmp r0, #4
+ blt _02235A56
+_02235A64:
+ cmp r0, #4
+ bne _02235A3C
+ add r0, r5, #0
+ bl MOD11_0224C07C
+ cmp r0, #0
+ beq _02235A3C
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r5, [r6, r0]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02235A7C: .word 0x00002D4C
+_02235A80: .word 0x000001D3
+
+ thumb_func_start MOD11_02235A84
+MOD11_02235A84: ; 0x02235A84
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r2, r5, r0
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ lsl r1, r1, #1
+ add r0, r2, r0
+ add r2, r5, r1
+ ldr r1, _02235B34 ; =0x0000307C
+ ldrh r1, [r2, r1]
+ bl MOD11_022461AC
+ ldr r3, [r5, #0x6c]
+ add r6, r0, #0
+ mov r7, #0xc0
+ add r0, r3, #0
+ mul r0, r7
+ add r2, r5, r0
+ ldr r0, _02235B38 ; =0x00002DE8
+ ldrh r1, [r2, r0]
+ cmp r1, #0
+ bne _02235B26
+ cmp r6, #4
+ beq _02235B26
+ add r1, r0, #0
+ add r2, r2, r6
+ sub r1, #0x7c
+ ldrb r1, [r2, r1]
+ cmp r1, #0
+ beq _02235B26
+ lsl r1, r3, #1
+ add r2, r5, r1
+ ldr r1, _02235B34 ; =0x0000307C
+ ldrh r2, [r2, r1]
+ cmp r2, #0
+ beq _02235B26
+ add r1, r7, #0
+ add r1, #0x64
+ str r2, [r5, r1]
+ add r1, r7, #0
+ add r1, #0x64
+ ldr r3, [r5, r1]
+ ldr r1, [r5, #0x6c]
+ add r2, r1, #0
+ mul r2, r7
+ add r1, r5, r2
+ strh r3, [r1, r0]
+ bl FUN_0201B9EC
+ ldr r1, _02235B3C ; =0x00002DC8
+ ldr r4, [r5, #0x6c]
+ add r3, r5, r1
+ add r2, r4, #0
+ add r1, r7, #0
+ mul r2, r1
+ ldr r1, [r3, r2]
+ mov r4, #7
+ bic r1, r4
+ lsr r5, r0, #0x1f
+ lsl r4, r0, #0x1e
+ sub r4, r4, r5
+ mov r0, #0x1e
+ ror r4, r0
+ add r0, r5, r4
+ add r4, r0, #3
+ mov r0, #7
+ and r0, r4
+ orr r0, r1
+ str r0, [r3, r2]
+ b _02235B2E
+_02235B26:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+_02235B2E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02235B34: .word 0x0000307C
+_02235B38: .word 0x00002DE8
+_02235B3C: .word 0x00002DC8
+
+ thumb_func_start MOD11_02235B40
+MOD11_02235B40: ; 0x02235B40
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r5, #0x64]
+ lsl r0, r1, #6
+ add r2, r5, r0
+ mov r0, #0x7a
+ lsl r0, r0, #2
+ ldr r4, [r2, r0]
+ ldr r0, [sp]
+ bl MOD11_02230270
+ str r0, [sp, #4]
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02230270
+ ldr r6, [r5, #0x64]
+ add r3, r0, #0
+ lsl r0, r6, #6
+ add r1, r5, r0
+ lsl r0, r4, #2
+ add r0, r1, r0
+ mov r1, #0x76
+ lsl r1, r1, #2
+ ldr r7, [r0, r1]
+ cmp r7, #0
+ beq _02235C06
+ ldr r0, [sp, #4]
+ cmp r0, r3
+ beq _02235C06
+ mov r0, #0xc0
+ mul r0, r4
+ add r2, r5, r0
+ ldr r0, _02235C30 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02235C06
+ ldr r0, _02235C34 ; =0x00002144
+ lsl r2, r7, #1
+ sub r1, #0x14
+ str r2, [r5, r0]
+ add r1, r5, r1
+ lsl r0, r3, #3
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02235BC0
+ lsl r0, r0, #9
+ lsr r0, r0, #0x1e
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r5, r1
+ ldr r1, _02235C30 ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02235BC0
+ str r0, [r5, #0x6c]
+ b _02235BC2
+_02235BC0:
+ str r4, [r5, #0x6c]
+_02235BC2:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02235C30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02235BFA
+ ldr r0, [sp]
+ ldr r2, [r5, #0x64]
+ add r1, r5, #0
+ bl MOD11_022482A4
+ mov r1, #0xc0
+ mul r1, r0
+ str r0, [r5, #0x6c]
+ ldr r0, _02235C30 ; =0x00002D8C
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02235BFA
+ mov r2, #0x26
+ str r2, [r5, #0xc]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, #0xf3
+ bl MOD11_0223A434
+_02235BFA:
+ ldr r1, [r5, #0x64]
+ ldr r2, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_0224C438
+ b _02235C28
+_02235C06:
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ mov r1, #0x1c
+ add r3, r6, #0
+ mul r3, r1
+ add r0, r5, r0
+ ldr r2, [r0, r3]
+ mov r1, #1
+ bic r2, r1
+ mov r1, #1
+ orr r1, r2
+ str r1, [r0, r3]
+ ldr r1, _02235C38 ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+_02235C28:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02235C30: .word 0x00002D8C
+_02235C34: .word 0x00002144
+_02235C38: .word 0x0000216C
+
+ thumb_func_start MOD11_02235C3C
+MOD11_02235C3C: ; 0x02235C3C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r5, #0x64]
+ lsl r0, r1, #6
+ add r2, r5, r0
+ mov r0, #2
+ lsl r0, r0, #8
+ ldr r4, [r2, r0]
+ ldr r0, [sp]
+ bl MOD11_02230270
+ str r0, [sp, #4]
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02230270
+ ldr r6, [r5, #0x64]
+ add r3, r0, #0
+ lsl r0, r6, #6
+ add r1, r5, r0
+ lsl r0, r4, #2
+ add r0, r1, r0
+ mov r1, #0x1f
+ lsl r1, r1, #4
+ ldr r7, [r0, r1]
+ cmp r7, #0
+ beq _02235D02
+ ldr r0, [sp, #4]
+ cmp r0, r3
+ beq _02235D02
+ mov r0, #0xc0
+ mul r0, r4
+ add r2, r5, r0
+ ldr r0, _02235D2C ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02235D02
+ ldr r0, _02235D30 ; =0x00002144
+ lsl r2, r7, #1
+ sub r1, #0x2c
+ str r2, [r5, r0]
+ add r1, r5, r1
+ lsl r0, r3, #3
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02235CBC
+ lsl r0, r0, #9
+ lsr r0, r0, #0x1e
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r5, r1
+ ldr r1, _02235D2C ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02235CBC
+ str r0, [r5, #0x6c]
+ b _02235CBE
+_02235CBC:
+ str r4, [r5, #0x6c]
+_02235CBE:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02235D2C ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02235CF6
+ ldr r0, [sp]
+ ldr r2, [r5, #0x64]
+ add r1, r5, #0
+ bl MOD11_022482A4
+ mov r1, #0xc0
+ mul r1, r0
+ str r0, [r5, #0x6c]
+ ldr r0, _02235D2C ; =0x00002D8C
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02235CF6
+ mov r2, #0x26
+ str r2, [r5, #0xc]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, #0xf3
+ bl MOD11_0223A434
+_02235CF6:
+ ldr r1, [r5, #0x64]
+ ldr r2, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_0224C438
+ b _02235D24
+_02235D02:
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ mov r1, #0x1c
+ add r3, r6, #0
+ mul r3, r1
+ add r0, r5, r0
+ ldr r2, [r0, r3]
+ mov r1, #1
+ bic r2, r1
+ mov r1, #1
+ orr r1, r2
+ str r1, [r0, r3]
+ ldr r1, _02235D34 ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+_02235D24:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02235D2C: .word 0x00002D8C
+_02235D30: .word 0x00002144
+_02235D34: .word 0x0000216C
+
+ thumb_func_start MOD11_02235D38
+MOD11_02235D38: ; 0x02235D38
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r2, r5, r0
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ lsl r1, r1, #1
+ add r0, r2, r0
+ add r2, r5, r1
+ ldr r1, _02235E0C ; =0x0000307C
+ ldrh r1, [r2, r1]
+ bl MOD11_022461AC
+ ldr r1, [r5, #0x6c]
+ add r4, r0, #0
+ lsl r1, r1, #1
+ add r2, r5, r1
+ ldr r1, _02235E0C ; =0x0000307C
+ add r0, r5, #0
+ ldrh r1, [r2, r1]
+ bl MOD11_0224C0B4
+ cmp r0, #0
+ bne _02235D7E
+ mov r4, #4
+_02235D7E:
+ ldr r0, [r5, #0x6c]
+ mov r2, #0xc0
+ add r1, r0, #0
+ mul r1, r2
+ ldr r3, _02235E10 ; =0x00002DEC
+ add r6, r5, r1
+ ldrh r1, [r6, r3]
+ cmp r1, #0
+ bne _02235DF6
+ cmp r4, #4
+ beq _02235DF6
+ add r1, r3, #0
+ add r6, r6, r4
+ sub r1, #0x80
+ ldrb r1, [r6, r1]
+ cmp r1, #0
+ beq _02235DF6
+ lsl r0, r0, #1
+ add r1, r5, r0
+ ldr r0, _02235E0C ; =0x0000307C
+ ldrh r1, [r1, r0]
+ cmp r1, #0
+ beq _02235DF6
+ add r0, r2, #0
+ add r0, #0x64
+ str r1, [r5, r0]
+ ldr r1, [r5, #0x6c]
+ add r0, r2, #0
+ add r0, #0x64
+ add r6, r1, #0
+ mul r6, r2
+ ldr r0, [r5, r0]
+ add r1, r5, r6
+ strh r0, [r1, r3]
+ ldr r0, [r5, #0x6c]
+ add r1, r0, #0
+ mul r1, r2
+ add r1, r5, r1
+ add r0, r3, #2
+ strh r4, [r1, r0]
+ bl FUN_0201B9EC
+ ldr r1, _02235E14 ; =0x00002DC8
+ ldr r2, [r5, #0x6c]
+ add r4, r5, r1
+ mov r1, #0xc0
+ add r5, r2, #0
+ mul r5, r1
+ mov r1, #5
+ blx _s32_div_f
+ ldr r2, [r4, r5]
+ mov r0, #0x38
+ bic r2, r0
+ add r0, r1, #3
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1a
+ orr r0, r2
+ str r0, [r4, r5]
+ b _02235E08
+_02235DF6:
+ ldr r1, _02235E18 ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_02235E08:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02235E0C: .word 0x0000307C
+_02235E10: .word 0x00002DEC
+_02235E14: .word 0x00002DC8
+_02235E18: .word 0x0000216C
+
+ thumb_func_start MOD11_02235E1C
+MOD11_02235E1C: ; 0x02235E1C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x79
+ bne _02235E4C
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+ add sp, #8
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02235E4C:
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #1
+ add r2, r4, r0
+ ldr r0, _02235FB4 ; =0x000030C4
+ ldrh r1, [r2, r0]
+ cmp r1, #0
+ beq _02235E62
+ add r0, #8
+ ldrh r0, [r2, r0]
+ cmp r0, #0xff
+ bne _02235E64
+_02235E62:
+ b _02235FA6
+_02235E64:
+ add r0, r4, #0
+ bl MOD11_02246AF8
+ cmp r0, #0
+ beq _02235E98
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #1
+ add r1, r4, r0
+ ldr r0, _02235FB8 ; =0x000030CC
+ ldrh r1, [r1, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02235FBC ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02235E98
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+ add sp, #8
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02235E98:
+ ldr r0, [r4, #0x64]
+ mov r7, #0
+ lsl r0, r0, #1
+ add r1, r4, r0
+ ldr r0, _02235FC0 ; =0x000030D4
+ ldrh r6, [r1, r0]
+_02235EA4:
+ add r1, sp, #4
+ add r2, sp, #4
+ ldr r0, _02235FC4 ; =0x0000FFFF
+ add r1, #2
+ add r2, #1
+ add r3, sp, #4
+ bl MOD11_02246B58
+ add r0, sp, #4
+ ldrb r0, [r0, #2]
+ cmp r0, r6
+ bne _02235F12
+ add r0, sp, #4
+ ldrb r0, [r0]
+ cmp r0, #5
+ bhi _02235F12
+ add r0, sp, #4
+ ldrb r5, [r0, #1]
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _02235F12
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _02235F12
+ ldr r0, [r4, #0x64]
+ add r3, sp, #4
+ mov r2, #0xc0
+ add r1, r0, #0
+ mul r1, r2
+ add r0, r4, r1
+ ldr r1, _02235FC8 ; =0x00002D64
+ add sp, #8
+ strb r5, [r0, r1]
+ ldr r5, [r4, #0x64]
+ ldrb r0, [r3, #1]
+ add r6, r5, #0
+ mul r6, r2
+ add r5, r4, r6
+ add r1, r1, #1
+ strb r0, [r5, r1]
+ ldrb r0, [r3, #1]
+ add r2, #0x70
+ str r0, [r4, r2]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02235F12:
+ mov r0, #0xfa
+ add r7, r7, #1
+ lsl r0, r0, #2
+ cmp r7, r0
+ blt _02235EA4
+ mov r7, #0
+ add r1, sp, #4
+ add r2, sp, #4
+ add r0, r7, #0
+ add r1, #2
+ add r2, #1
+ add r3, sp, #4
+ bl MOD11_02246B58
+ cmp r0, #1
+ bne _02235FA6
+_02235F32:
+ add r0, sp, #4
+ ldrb r0, [r0, #2]
+ cmp r0, r6
+ bne _02235F90
+ add r0, sp, #4
+ ldrb r0, [r0]
+ cmp r0, #5
+ bhi _02235F90
+ add r0, sp, #4
+ ldrb r5, [r0, #1]
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _02235F90
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r5, r0
+ beq _02235F90
+ ldr r0, [r4, #0x64]
+ add r3, sp, #4
+ mov r2, #0xc0
+ add r1, r0, #0
+ mul r1, r2
+ add r0, r4, r1
+ ldr r1, _02235FC8 ; =0x00002D64
+ add sp, #8
+ strb r5, [r0, r1]
+ ldr r5, [r4, #0x64]
+ ldrb r0, [r3, #1]
+ add r6, r5, #0
+ mul r6, r2
+ add r5, r4, r6
+ add r1, r1, #1
+ strb r0, [r5, r1]
+ ldrb r0, [r3, #1]
+ add r2, #0x70
+ str r0, [r4, r2]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02235F90:
+ add r7, r7, #1
+ add r1, sp, #4
+ add r2, sp, #4
+ add r0, r7, #0
+ add r1, #2
+ add r2, #1
+ add r3, sp, #4
+ bl MOD11_02246B58
+ cmp r0, #1
+ beq _02235F32
+_02235FA6:
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02235FB4: .word 0x000030C4
+_02235FB8: .word 0x000030CC
+_02235FBC: .word 0x00002DB0
+_02235FC0: .word 0x000030D4
+_02235FC4: .word 0x0000FFFF
+_02235FC8: .word 0x00002D64
+
+ thumb_func_start MOD11_02235FCC
+MOD11_02235FCC: ; 0x02235FCC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp]
+ mov r0, #0
+ add r6, r1, #0
+ mvn r0, r0
+ str r0, [sp, #8]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ mov ip, r0
+ ldr r1, [r6, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ str r0, [sp, #4]
+ add r3, r6, r0
+ ldr r0, _022360DC ; =0x00002DB0
+ ldr r1, [r3, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r1
+ bne _0223601E
+ ldr r0, [r6, #0x6c]
+ lsl r0, r0, #1
+ add r1, r6, r0
+ ldr r0, _022360E0 ; =0x000030AC
+ ldrh r7, [r1, r0]
+ cmp r7, #0xa5
+ beq _0223601E
+ cmp r7, #0xa6
+ beq _0223601E
+ mov r0, #7
+ lsl r0, r0, #6
+ cmp r7, r0
+ beq _0223601E
+ cmp r7, #0
+ bne _02236028
+_0223601E:
+ add r0, r6, #0
+ mov r1, ip
+ bl MOD11_0223A424
+ b _022360D6
+_02236028:
+ mov r0, #0
+ add r1, r3, #0
+ add r2, r0, #0
+_0223602E:
+ ldr r4, _022360E4 ; =0x00002D4C
+ ldrh r4, [r1, r4]
+ cmp r4, #0xa6
+ beq _02236040
+ ldr r4, _022360E4 ; =0x00002D4C
+ add r5, r3, r2
+ ldrh r4, [r5, r4]
+ cmp r7, r4
+ beq _02236060
+_02236040:
+ ldr r4, _022360E4 ; =0x00002D4C
+ add r5, r3, r2
+ ldrh r4, [r5, r4]
+ cmp r4, #0xa6
+ bne _02236056
+ mov r5, #0
+ ldr r4, [sp, #8]
+ mvn r5, r5
+ cmp r4, r5
+ bne _02236056
+ str r0, [sp, #8]
+_02236056:
+ add r0, r0, #1
+ add r1, r1, #2
+ add r2, r2, #2
+ cmp r0, #4
+ blt _0223602E
+_02236060:
+ cmp r0, #4
+ bne _022360CE
+ ldr r0, [sp, #4]
+ add r1, r6, r0
+ ldr r0, [sp, #8]
+ lsl r0, r0, #1
+ add r1, r1, r0
+ ldr r0, _022360E4 ; =0x00002D4C
+ strh r7, [r1, r0]
+ ldr r1, [r6, #0x6c]
+ ldr r3, [r6, #0x64]
+ lsl r1, r1, #1
+ add r2, r6, r1
+ ldr r1, _022360E0 ; =0x000030AC
+ add r0, #0x20
+ ldrh r1, [r2, r1]
+ lsl r1, r1, #4
+ add r2, r6, r1
+ mov r1, #0xf9
+ lsl r1, r1, #2
+ ldrb r1, [r2, r1]
+ mov r2, #0xc0
+ mul r2, r3
+ add r3, r6, r2
+ ldr r2, [sp, #8]
+ add r2, r3, r2
+ strb r1, [r2, r0]
+ ldr r0, [sp]
+ ldr r2, [r6, #0x64]
+ add r1, r6, #0
+ bl MOD11_02256150
+ ldr r0, [r6, #0x6c]
+ lsl r0, r0, #1
+ add r1, r6, r0
+ ldr r0, _022360E0 ; =0x000030AC
+ ldrh r1, [r1, r0]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r1, [r6, r0]
+ ldr r1, [r6, r0]
+ add r0, #0x5f
+ cmp r1, r0
+ bne _022360D6
+ ldr r0, _022360E8 ; =0x00002DCC
+ ldr r1, [r6, #0x64]
+ add r3, r6, r0
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ ldr r0, _022360EC ; =0xFFFFE3FF
+ and r0, r1
+ str r0, [r3, r2]
+ b _022360D6
+_022360CE:
+ add r0, r6, #0
+ mov r1, ip
+ bl MOD11_0223A424
+_022360D6:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_022360DC: .word 0x00002DB0
+_022360E0: .word 0x000030AC
+_022360E4: .word 0x00002D4C
+_022360E8: .word 0x00002DCC
+_022360EC: .word 0xFFFFE3FF
+
+ thumb_func_start MOD11_022360F0
+MOD11_022360F0: ; 0x022360F0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ mov r7, #0
+ str r0, [sp, #8]
+ add r6, r7, #0
+ add r4, r7, #0
+_0223610E:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r0, r5, r0
+ add r1, r4, r0
+ ldr r0, _022361B8 ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ bl MOD11_02246BE8
+ cmp r0, #0
+ bne _0223614E
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r0, r5, r0
+ add r1, r4, r0
+ ldr r0, _022361B8 ; =0x00002D4C
+ ldrh r1, [r1, r0]
+ mov r0, #0x42
+ lsl r0, r0, #2
+ cmp r1, r0
+ beq _0223614E
+ cmp r1, #0xfd
+ beq _0223614E
+ add r0, #0xb8
+ cmp r1, r0
+ beq _0223614E
+ add r0, r5, #0
+ bl MOD11_02246AF8
+ cmp r0, #0
+ beq _02236156
+_0223614E:
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r7, r0
+_02236156:
+ add r6, r6, #1
+ add r4, r4, #2
+ cmp r6, #4
+ blt _0223610E
+ mov r0, #2
+ mvn r0, r0
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [r5, #0x64]
+ add r1, r5, #0
+ add r3, r7, #0
+ bl MOD11_02245D38
+ add r4, r0, #0
+ cmp r4, #0xf
+ bne _02236180
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ b _022361B0
+_02236180:
+ mov r7, #0x1e
+_02236182:
+ bl FUN_0201B9EC
+ lsr r1, r0, #0x1f
+ lsl r0, r0, #0x1e
+ sub r0, r0, r1
+ ror r0, r7
+ add r6, r1, r0
+ add r0, r6, #0
+ bl FUN_0206A92C
+ tst r0, r4
+ bne _02236182
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ add r2, r5, r2
+ lsl r0, r6, #1
+ add r2, r2, r0
+ ldr r0, _022361B8 ; =0x00002D4C
+ add r1, #0x64
+ ldrh r0, [r2, r0]
+ str r0, [r5, r1]
+_022361B0:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_022361B8: .word 0x00002D4C
+
+ thumb_func_start MOD11_022361BC
+MOD11_022361BC: ; 0x022361BC
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _02236200 ; =0x00002D8C
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ add r1, r1, #4
+ ldr r1, [r2, r1]
+ mov r2, #0x40
+ bl FUN_02079A0C
+ ldr r3, _02236204 ; =0x0225DC3C
+ mov r2, #0
+_022361E2:
+ ldrb r1, [r3]
+ cmp r0, r1
+ ble _022361F0
+ add r2, r2, #1
+ add r3, r3, #2
+ cmp r2, #6
+ blo _022361E2
+_022361F0:
+ ldr r0, _02236208 ; =0x0225DC3D
+ lsl r1, r2, #1
+ ldrb r1, [r0, r1]
+ ldr r0, _0223620C ; =0x00002154
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r4, pc}
+ nop
+_02236200: .word 0x00002D8C
+_02236204: .word 0x0225DC3C
+_02236208: .word 0x0225DC3D
+_0223620C: .word 0x00002154
+
+ thumb_func_start MOD11_02236210
+MOD11_02236210: ; 0x02236210
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ ldr r2, [r5, #0x6c]
+ add r4, r0, #0
+ lsl r0, r2, #1
+ add r1, r5, r0
+ ldr r0, _022362AC ; =0x0000307C
+ ldrh r1, [r1, r0]
+ cmp r1, #0
+ beq _0223629E
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ mov r3, #0xc0
+ add r0, r5, r0
+ mul r3, r2
+ add r0, r0, r3
+ bl MOD11_022461AC
+ add r2, r0, #0
+ cmp r2, #4
+ beq _0223625C
+ ldr r0, [r5, #0x6c]
+ mov r1, #0xc0
+ mul r1, r0
+ add r1, r5, r1
+ add r3, r1, r2
+ ldr r1, _022362B0 ; =0x00002D6C
+ ldrb r3, [r3, r1]
+ cmp r3, #0
+ bne _02236266
+_0223625C:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+ b _022362A6
+_02236266:
+ mov r1, #4
+ cmp r3, #4
+ bge _0223626E
+ add r1, r3, #0
+_0223626E:
+ lsl r0, r0, #1
+ add r3, r5, r0
+ ldr r0, _022362AC ; =0x0000307C
+ ldrh r3, [r3, r0]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r3, [r5, r0]
+ add r0, #0xc
+ str r1, [r5, r0]
+ ldr r0, _022362B0 ; =0x00002D6C
+ ldr r4, [r5, #0x6c]
+ mov r3, #0xc0
+ add r0, r5, r0
+ mul r3, r4
+ add r3, r0, r3
+ ldrb r0, [r3, r2]
+ sub r0, r0, r1
+ strb r0, [r3, r2]
+ ldr r2, [r5, #0x6c]
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_02245190
+ b _022362A6
+_0223629E:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+_022362A6:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_022362AC: .word 0x0000307C
+_022362B0: .word 0x00002D6C
+
+ thumb_func_start MOD11_022362B4
+MOD11_022362B4: ; 0x022362B4
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ bl MOD11_0222FF74
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r1, #0x4d
+ mov r0, #0
+ lsl r1, r1, #2
+ ldr r2, _022363F4 ; =0x00003044
+ str r0, [r5, r1]
+ ldr r2, [r5, r2]
+ cmp r2, #0xd7
+ bne _02236382
+ sub r1, #0x10
+ str r2, [r5, r1]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2b
+ beq _0223630A
+ ldr r2, [r5, #0x64]
+ mov r0, #0xc0
+ add r3, r2, #0
+ mul r3, r0
+ ldr r2, _022363F8 ; =0x00002DAC
+ mov r1, #0
+ add r3, r5, r3
+ str r1, [r3, r2]
+ add r1, r2, #4
+ ldr r2, [r5, #0x64]
+ add r1, r5, r1
+ mul r0, r2
+ ldr r3, [r1, r0]
+ ldr r2, _022363FC ; =0xF7FFFFFF
+ and r2, r3
+ str r2, [r1, r0]
+ b _02236316
+_0223630A:
+ mov r1, #0x4d
+ lsl r1, r1, #2
+ ldr r2, [r5, r1]
+ mov r0, #5
+ orr r0, r2
+ str r0, [r5, r1]
+_02236316:
+ mov r0, #2
+ tst r0, r4
+ beq _02236374
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #0x10
+ bl MOD11_0223C230
+ add r4, r0, #0
+ bl FUN_0206A92C
+ ldr r1, _02236400 ; =0x00003108
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _022363E2
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r4, #0
+ mov r3, #0x2b
+ bl MOD11_02246D84
+ cmp r0, #0
+ bne _0223635E
+ mov r0, #0xc0
+ mul r0, r4
+ ldr r1, _022363F8 ; =0x00002DAC
+ mov r3, #0
+ add r2, r5, r0
+ str r3, [r2, r1]
+ add r1, r1, #4
+ add r3, r5, r1
+ ldr r2, [r3, r0]
+ ldr r1, _022363FC ; =0xF7FFFFFF
+ and r1, r2
+ str r1, [r3, r0]
+ b _022363E2
+_0223635E:
+ mov r1, #0x46
+ lsl r1, r1, #2
+ add r0, r1, #0
+ str r4, [r5, r1]
+ add r0, #0x1c
+ ldr r2, [r5, r0]
+ mov r0, #0xa
+ orr r0, r2
+ add r1, #0x1c
+ str r0, [r5, r1]
+ b _022363E2
+_02236374:
+ mov r1, #0x4d
+ lsl r1, r1, #2
+ ldr r2, [r5, r1]
+ mov r0, #8
+ orr r0, r2
+ str r0, [r5, r1]
+ b _022363E2
+_02236382:
+ ldr r3, [r5, #0x64]
+ mov r2, #0xc0
+ mul r2, r3
+ add r3, r5, r2
+ ldr r2, _022363F8 ; =0x00002DAC
+ str r0, [r3, r2]
+ add r0, r2, #4
+ add r6, r5, r0
+ ldr r0, [r5, #0x64]
+ mov r2, #0xc0
+ add r3, r0, #0
+ mul r3, r2
+ ldr r2, [r6, r3]
+ ldr r0, _022363FC ; =0xF7FFFFFF
+ and r0, r2
+ str r0, [r6, r3]
+ mov r0, #2
+ tst r0, r4
+ beq _022363DA
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #0x10
+ bl MOD11_0223C230
+ add r4, r0, #0
+ bl FUN_0206A92C
+ ldr r1, _02236400 ; =0x00003108
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _022363E2
+ mov r0, #0xc0
+ mul r0, r4
+ ldr r1, _022363F8 ; =0x00002DAC
+ mov r3, #0
+ add r2, r5, r0
+ str r3, [r2, r1]
+ add r1, r1, #4
+ add r3, r5, r1
+ ldr r2, [r3, r0]
+ ldr r1, _022363FC ; =0xF7FFFFFF
+ and r1, r2
+ str r1, [r3, r0]
+ b _022363E2
+_022363DA:
+ ldr r2, [r5, r1]
+ mov r0, #8
+ orr r0, r2
+ str r0, [r5, r1]
+_022363E2:
+ ldr r3, _022363F4 ; =0x00003044
+ ldr r2, [r5, #0x64]
+ ldr r3, [r5, r3]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02256284
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022363F4: .word 0x00003044
+_022363F8: .word 0x00002DAC
+_022363FC: .word 0xF7FFFFFF
+_02236400: .word 0x00003108
+
+ thumb_func_start MOD11_02236404
+MOD11_02236404: ; 0x02236404
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ str r0, [sp, #4]
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ add r7, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02236454
+ ldr r0, [sp, #4]
+ mov r1, #0x84
+ tst r0, r1
+ bne _02236454
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _022364EC
+_02236454:
+ ldr r0, [r4, #0x64]
+ add r1, r4, r0
+ ldr r0, _022364F4 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ lsl r1, r7, #3
+ add r2, r4, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #3
+ lsr r1, r1, #0x1a
+ tst r0, r1
+ beq _0223647C
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _022364EC
+_0223647C:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x79
+ beq _02236494
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x79
+ bne _0223649E
+_02236494:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _022364EC
+_0223649E:
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _022364F8 ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ beq _022364C6
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r3, #0x3c
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022364C6
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+ b _022364EC
+_022364C6:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _022364F8 ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ bne _022364E4
+ ldr r2, [r4, #0x6c]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246C50
+ cmp r0, #0
+ bne _022364EC
+_022364E4:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_022364EC:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022364F4: .word 0x0000219C
+_022364F8: .word 0x00002DB8
+
+ thumb_func_start MOD11_022364FC
+MOD11_022364FC: ; 0x022364FC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r6, r1, #0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ ldr r1, [r6, #0x64]
+ str r0, [sp, #8]
+ lsl r0, r1, #1
+ add r2, r6, r0
+ ldr r0, _02236640 ; =0x0000305C
+ ldrh r0, [r2, r0]
+ cmp r0, #0xb6
+ beq _0223653C
+ cmp r0, #0xc5
+ beq _0223653C
+ cmp r0, #0xcb
+ beq _0223653C
+ ldr r0, _02236644 ; =0x00002DC8
+ add r3, r1, #0
+ mov r2, #0xc0
+ add r0, r6, r0
+ mul r3, r2
+ ldr r2, [r0, r3]
+ ldr r1, _02236648 ; =0xFFFFE7FF
+ and r1, r2
+ str r1, [r0, r3]
+_0223653C:
+ ldr r0, [sp]
+ mov r7, #0
+ add r4, r7, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _02236564
+ add r5, r6, #0
+_0223654C:
+ ldr r0, _0223664C ; =0x000021A8
+ ldr r0, [r5, r0]
+ cmp r0, #0x27
+ beq _02236556
+ add r7, r7, #1
+_02236556:
+ ldr r0, [sp]
+ add r5, #0x10
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _0223654C
+_02236564:
+ cmp r7, #1
+ beq _0223656E
+ mov r0, #1
+ str r0, [sp, #4]
+ b _02236572
+_0223656E:
+ mov r0, #0
+ str r0, [sp, #4]
+_02236572:
+ ldr r7, [r6, #0x64]
+ ldr r0, _02236644 ; =0x00002DC8
+ add r5, r7, #0
+ add r4, r6, r0
+ mov r0, #0xc0
+ mul r5, r0
+ bl FUN_0201B9EC
+ ldr r1, [r4, r5]
+ lsl r1, r1, #0x13
+ lsr r1, r1, #0x1e
+ lsl r2, r1, #1
+ ldr r1, _02236650 ; =0x0225DC34
+ ldrh r1, [r1, r2]
+ cmp r1, r0
+ blo _02236628
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ beq _02236628
+ ldr r0, _02236654 ; =0x00003044
+ ldr r0, [r6, r0]
+ lsl r0, r0, #4
+ add r1, r6, r0
+ ldr r0, _02236658 ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x6f
+ bne _022365C0
+ mov r2, #0x75
+ lsl r2, r2, #2
+ add r0, r6, r2
+ lsl r4, r7, #6
+ ldr r3, [r0, r4]
+ mov r1, #4
+ orr r1, r3
+ str r1, [r0, r4]
+ add r0, r6, #0
+ sub r2, #0xba
+ add r0, #0xf6
+ strh r2, [r0]
+_022365C0:
+ ldr r0, _02236654 ; =0x00003044
+ ldr r0, [r6, r0]
+ lsl r0, r0, #4
+ add r1, r6, r0
+ ldr r0, _02236658 ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x74
+ bne _022365EC
+ mov r2, #0x75
+ ldr r1, [r6, #0x64]
+ lsl r2, r2, #2
+ lsl r4, r1, #6
+ add r0, r6, r2
+ add r1, r2, #0
+ ldr r3, [r0, r4]
+ add r1, #0x2c
+ orr r1, r3
+ str r1, [r0, r4]
+ add r0, r6, #0
+ sub r2, #0x1a
+ add r0, #0xf6
+ strh r2, [r0]
+_022365EC:
+ add r0, r6, #0
+ mov r1, #2
+ add r0, #0xf5
+ strb r1, [r0]
+ ldr r1, [r6, #0x64]
+ add r0, r6, #0
+ bl MOD11_0224682C
+ add r1, r6, #0
+ add r1, #0xf8
+ str r0, [r1]
+ ldr r2, [r6, #0x64]
+ mov r0, #0xc0
+ add r1, r2, #0
+ mul r1, r0
+ ldr r0, _02236644 ; =0x00002DC8
+ add r0, r6, r0
+ ldr r3, [r0, r1]
+ lsl r2, r3, #0x13
+ lsr r4, r2, #0x1e
+ cmp r4, #3
+ bhs _02236638
+ ldr r2, _02236648 ; =0xFFFFE7FF
+ and r3, r2
+ add r2, r4, #1
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #0x13
+ orr r2, r3
+ str r2, [r0, r1]
+ b _02236638
+_02236628:
+ ldr r1, [r4, r5]
+ ldr r0, _02236648 ; =0xFFFFE7FF
+ and r0, r1
+ str r0, [r4, r5]
+ ldr r1, [sp, #8]
+ add r0, r6, #0
+ bl MOD11_0223A424
+_02236638:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02236640: .word 0x0000305C
+_02236644: .word 0x00002DC8
+_02236648: .word 0xFFFFE7FF
+_0223664C: .word 0x000021A8
+_02236650: .word 0x0225DC34
+_02236654: .word 0x00003044
+_02236658: .word 0x000003DE
+
+ thumb_func_start MOD11_0223665C
+MOD11_0223665C: ; 0x0223665C
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022366C8 ; =0x00002D90
+ ldr r0, [r1, r0]
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, [r5, #0x64]
+ mov r2, #0xc0
+ add r3, r1, #0
+ mul r3, r2
+ add r1, r5, r3
+ ldr r3, _022366CC ; =0x00002D8C
+ ldr r1, [r1, r3]
+ cmp r1, r0
+ bgt _0223669E
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+ b _022366C2
+_0223669E:
+ ldr r1, _022366D0 ; =0x0000215C
+ neg r4, r0
+ str r4, [r5, r1]
+ ldr r1, [r5, #0x64]
+ add r4, r1, #0
+ add r1, r3, #0
+ mul r4, r2
+ add r3, #0x24
+ add r4, r5, r4
+ add r1, #0x54
+ str r0, [r4, r1]
+ ldr r0, [r5, #0x64]
+ add r3, r5, r3
+ mul r2, r0
+ ldr r1, [r3, r2]
+ ldr r0, _022366D4 ; =0xFFFF1FFF
+ and r0, r1
+ str r0, [r3, r2]
+_022366C2:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_022366C8: .word 0x00002D90
+_022366CC: .word 0x00002D8C
+_022366D0: .word 0x0000215C
+_022366D4: .word 0xFFFF1FFF
+
+ thumb_func_start MOD11_022366D8
+MOD11_022366D8: ; 0x022366D8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r5, r0, #0
+ str r1, [sp]
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [sp]
+ bl MOD11_0223A404
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ add r4, r0, #0
+ mov r0, #1
+ tst r0, r4
+ bne _02236700
+ b _0223684E
+_02236700:
+ ldr r1, [sp]
+ add r0, r5, #0
+ ldr r1, [r1, #0x6c]
+ mov r7, #0
+ bl MOD11_0222FF88
+ ldr r1, [sp]
+ str r0, [sp, #0x14]
+ ldr r1, [r1, #0x6c]
+ add r0, r5, #0
+ bl MOD11_0222FFC8
+ add r6, r0, #0
+ mov r0, #8
+ tst r0, r4
+ bne _02236734
+ mov r0, #0x10
+ tst r0, r4
+ beq _0223674C
+ ldr r1, [sp]
+ add r0, r5, #0
+ ldr r1, [r1, #0x6c]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0223674C
+_02236734:
+ mov r0, #0
+ str r0, [sp, #0xc]
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, [sp]
+ ldr r1, [r0, #0x6c]
+ add r1, r0, r1
+ ldr r0, _02236868 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #8]
+ str r0, [sp, #4]
+ b _0223678C
+_0223674C:
+ mov r0, #2
+ str r0, [sp, #0x10]
+ tst r0, r4
+ beq _02236776
+ mov r0, #0
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ ldr r1, [r0, #0x6c]
+ add r2, r0, r1
+ ldr r0, _02236868 ; =0x0000219C
+ ldrb r0, [r2, r0]
+ str r0, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_022302BC
+ ldr r1, [sp]
+ add r1, r1, r0
+ ldr r0, _02236868 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #4]
+ b _0223678C
+_02236776:
+ mov r0, #0
+ str r0, [sp, #0xc]
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, [sp]
+ ldr r1, [r0, #0x6c]
+ add r1, r0, r1
+ ldr r0, _02236868 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #8]
+ str r0, [sp, #4]
+_0223678C:
+ ldr r5, [sp, #0xc]
+ add r0, r5, #0
+ cmp r0, r6
+ bge _022367CE
+_02236794:
+ ldr r0, [sp, #0x14]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022367C8
+ add r0, r4, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _022367C8
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022367C8
+ add r7, r7, #1
+_022367C8:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02236794
+_022367CE:
+ ldr r0, [sp, #0x10]
+ cmp r7, r0
+ bgt _022367DE
+ ldr r0, [sp]
+ ldr r1, [sp, #0x18]
+ bl MOD11_0223A424
+ b _02236860
+_022367DE:
+ ldr r0, [sp]
+ bl MOD11_02246CCC
+ cmp r0, #0
+ beq _02236844
+ mov r7, #5
+_022367EA:
+ bl FUN_0201B9EC
+ add r1, r6, #0
+ blx _s32_div_f
+ ldr r0, [sp, #0xc]
+ add r5, r1, #0
+ add r5, r5, r0
+ ldr r0, [sp, #8]
+ cmp r5, r0
+ beq _022367EA
+ ldr r0, [sp, #4]
+ cmp r5, r0
+ beq _022367EA
+ ldr r0, [sp, #0x14]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ add r1, r7, #0
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022367EA
+ add r0, r4, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #1
+ beq _022367EA
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022367EA
+ ldr r0, [sp]
+ ldr r1, [r0, #0x6c]
+ add r1, r0, r1
+ ldr r0, _0223686C ; =0x000021A0
+ strb r5, [r1, r0]
+ b _02236860
+_02236844:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x18]
+ bl MOD11_0223A424
+ b _02236860
+_0223684E:
+ ldr r0, [sp]
+ bl MOD11_02246CCC
+ cmp r0, #0
+ bne _02236860
+ ldr r0, [sp]
+ ldr r1, [sp, #0x18]
+ bl MOD11_0223A424
+_02236860:
+ mov r0, #0
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02236868: .word 0x0000219C
+_0223686C: .word 0x000021A0
+
+ thumb_func_start MOD11_02236870
+MOD11_02236870: ; 0x02236870
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r5, [r4, #0x64]
+ ldr r1, _02236A40 ; =0x00002DB0
+ add r0, r5, #0
+ mov r2, #0xc0
+ mov r5, #2
+ add r3, r4, r1
+ mul r0, r2
+ ldr r6, [r3, r0]
+ lsl r5, r5, #0x14
+ orr r5, r6
+ str r5, [r3, r0]
+ ldr r3, [r4, #0x64]
+ mov r0, #0
+ add r5, r3, #0
+ mul r5, r2
+ add r3, r1, #0
+ add r5, r4, r5
+ add r3, #0x38
+ strh r0, [r5, r3]
+ add r3, r1, #0
+ add r3, #0x18
+ ldr r6, [r4, #0x64]
+ add r5, r4, r3
+ add r3, r6, #0
+ mul r3, r2
+ ldr r7, [r5, r3]
+ mov r6, #7
+ bic r7, r6
+ str r7, [r5, r3]
+ ldr r3, [r4, #0x6c]
+ add r5, r3, #0
+ mul r5, r2
+ add r3, r1, #0
+ add r5, r4, r5
+ sub r3, #8
+ ldr r3, [r5, r3]
+ ldr r5, [r4, #0x64]
+ add r6, r5, #0
+ mul r6, r2
+ add r5, r1, #0
+ add r6, r4, r6
+ add r5, #0x34
+ str r3, [r6, r5]
+ ldr r3, [r4, #0x6c]
+ add r5, r3, #0
+ mul r5, r2
+ add r3, r1, #0
+ add r5, r4, r5
+ add r3, #0xe
+ ldrb r3, [r5, r3]
+ ldr r5, [r4, #0x64]
+ add r6, r5, #0
+ lsl r3, r3, #0x1c
+ mul r6, r2
+ add r5, r1, #0
+ lsr r3, r3, #0x1c
+ add r6, r4, r6
+ add r5, #0x4a
+ strh r3, [r6, r5]
+ add r3, r1, #0
+ add r3, #0x1c
+ ldr r6, [r4, #0x64]
+ add r5, r4, r3
+ add r3, r6, #0
+ mul r3, r2
+ ldr r7, [r5, r3]
+ mov r6, #0x3c
+ bic r7, r6
+ str r7, [r5, r3]
+ ldr r6, [r4, #0x64]
+ sub r1, #0x70
+ add r3, r6, #0
+ mul r3, r2
+ ldr r7, [r5, r3]
+ ldr r6, _02236A44 ; =0xFFFFE3FF
+ and r6, r7
+ str r6, [r5, r3]
+ add r5, r4, r1
+ ldr r1, [r4, #0x64]
+ add r3, r1, #0
+ mul r3, r2
+ ldr r1, [r4, #0x6c]
+ add r3, r5, r3
+ mul r2, r1
+ add r2, r5, r2
+_02236926:
+ ldrb r1, [r2, r0]
+ strb r1, [r3, r0]
+ add r0, r0, #1
+ cmp r0, #0x28
+ blo _02236926
+ ldr r3, [r4, #0x64]
+ ldr r1, _02236A48 ; =0x00002D68
+ add r6, r3, #0
+ mov r2, #0xc0
+ add r0, r4, r1
+ mul r6, r2
+ ldr r5, [r0, r6]
+ mov r3, #1
+ bic r5, r3
+ str r5, [r0, r6]
+ ldr r3, [r4, #0x64]
+ add r6, r3, #0
+ mul r6, r2
+ ldr r5, [r0, r6]
+ mov r3, #2
+ bic r5, r3
+ str r5, [r0, r6]
+ ldr r3, [r4, #0x64]
+ add r6, r3, #0
+ mul r6, r2
+ ldr r5, [r0, r6]
+ mov r3, #4
+ bic r5, r3
+ str r5, [r0, r6]
+ ldr r3, [r4, #0x64]
+ add r6, r3, #0
+ mul r6, r2
+ ldr r5, [r0, r6]
+ mov r3, #8
+ bic r5, r3
+ str r5, [r0, r6]
+ ldr r3, [r4, #0x64]
+ add r6, r3, #0
+ mul r6, r2
+ ldr r5, [r0, r6]
+ mov r3, #0x10
+ bic r5, r3
+ str r5, [r0, r6]
+ ldr r3, [r4, #0x64]
+ add r6, r3, #0
+ mul r6, r2
+ ldr r5, [r0, r6]
+ mov r3, #0x20
+ bic r5, r3
+ str r5, [r0, r6]
+ ldr r5, [r4, #0x64]
+ add r3, r5, #0
+ mul r3, r2
+ ldr r6, [r0, r3]
+ ldr r5, _02236A4C ; =0xFFFFFEFF
+ and r5, r6
+ str r5, [r0, r3]
+ ldr r5, [r4, #0x64]
+ add r3, r5, #0
+ mul r3, r2
+ ldr r6, [r0, r3]
+ ldr r5, _02236A50 ; =0xFFFFFDFF
+ and r5, r6
+ str r5, [r0, r3]
+ ldr r5, [r4, #0x64]
+ add r3, r5, #0
+ mul r3, r2
+ ldr r6, [r0, r3]
+ ldr r5, _02236A54 ; =0xFFFFFBFF
+ and r5, r6
+ str r5, [r0, r3]
+ add r3, r1, #0
+ add r3, #0x60
+ add r6, r4, r3
+ ldr r3, [r4, #0x64]
+ add r1, #0x70
+ add r5, r3, #0
+ mul r5, r2
+ ldr r7, [r6, r5]
+ ldr r3, _02236A58 ; =0xBFFFFFFF
+ and r3, r7
+ add r7, r2, #0
+ add r7, #0x90
+ ldr r7, [r4, r7]
+ lsl r7, r7, #0x1f
+ lsr r7, r7, #1
+ orr r3, r7
+ str r3, [r6, r5]
+ add r3, r2, #0
+ add r3, #0x90
+ ldr r3, [r4, r3]
+ add r6, r3, #1
+ ldr r3, [r4, #0x64]
+ add r5, r3, #0
+ mul r5, r2
+ add r3, r4, r5
+ str r6, [r3, r1]
+ ldr r1, [r4, #0x64]
+ add r5, r1, #0
+ mul r5, r2
+ ldr r3, [r0, r5]
+ mov r1, #0x40
+ bic r3, r1
+ str r3, [r0, r5]
+ ldr r1, [r4, #0x64]
+ mov r6, #0
+ add r3, r1, #0
+ mul r3, r2
+ ldr r2, [r0, r3]
+ mov r1, #0x80
+ bic r2, r1
+ str r2, [r0, r3]
+ mov r0, #0xf9
+ add r5, r6, #0
+ mov r1, #5
+ lsl r0, r0, #2
+_02236A0E:
+ ldr r3, [r4, #0x64]
+ mov r2, #0xc0
+ mul r2, r3
+ add r3, r4, r2
+ ldr r2, _02236A5C ; =0x00002D4C
+ add r7, r3, r5
+ ldrh r2, [r7, r2]
+ lsl r2, r2, #4
+ add r2, r4, r2
+ ldrb r2, [r2, r0]
+ cmp r2, #5
+ bhs _02236A2E
+ add r7, r3, r6
+ ldr r3, _02236A60 ; =0x00002D6C
+ strb r2, [r7, r3]
+ b _02236A34
+_02236A2E:
+ ldr r2, _02236A60 ; =0x00002D6C
+ add r3, r3, r6
+ strb r1, [r3, r2]
+_02236A34:
+ add r6, r6, #1
+ add r5, r5, #2
+ cmp r6, #4
+ blt _02236A0E
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02236A40: .word 0x00002DB0
+_02236A44: .word 0xFFFFE3FF
+_02236A48: .word 0x00002D68
+_02236A4C: .word 0xFFFFFEFF
+_02236A50: .word 0xFFFFFDFF
+_02236A54: .word 0xFFFFFBFF
+_02236A58: .word 0xBFFFFFFF
+_02236A5C: .word 0x00002D4C
+_02236A60: .word 0x00002D6C
+
+ thumb_func_start MOD11_02236A64
+MOD11_02236A64: ; 0x02236A64
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ mov r2, #0x72
+ mov r1, #1
+ add r3, r0, #0
+ eor r3, r1
+ lsl r0, r3, #3
+ add r5, r4, r0
+ lsl r2, r2, #2
+ ldr r5, [r5, r2]
+ lsl r5, r5, #0x1e
+ lsr r5, r5, #0x1e
+ cmp r5, #3
+ bne _02236ABA
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r2, r4, r0
+ ldr r3, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r3
+ ldr r5, [r2, r0]
+ mov r3, #1
+ bic r5, r3
+ orr r1, r5
+ str r1, [r2, r0]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _02236AE2
+_02236ABA:
+ add r1, r2, #0
+ sub r1, #0xc
+ lsl r6, r3, #2
+ add r1, r4, r1
+ ldr r5, [r1, r6]
+ mov r3, #4
+ orr r3, r5
+ str r3, [r1, r6]
+ add r2, r4, r2
+ ldr r4, [r2, r0]
+ mov r3, #3
+ add r1, r4, #0
+ bic r1, r3
+ lsl r3, r4, #0x1e
+ lsr r3, r3, #0x1e
+ add r4, r3, #1
+ mov r3, #3
+ and r3, r4
+ orr r1, r3
+ str r1, [r2, r0]
+_02236AE2:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02236AE8
+MOD11_02236AE8: ; 0x02236AE8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_02230270
+ lsl r0, r0, #3
+ add r1, r5, r0
+ mov r0, #0x72
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1e
+ lsr r1, r0, #0x1e
+ beq _02236B56
+ mov r0, #0xc0
+ mul r0, r4
+ ldr r4, _02236B64 ; =0x00002D8C
+ add r0, r5, r0
+ ldr r2, [r0, r4]
+ cmp r2, #0
+ beq _02236B56
+ mov r2, #5
+ sub r1, r2, r1
+ ldr r3, _02236B68 ; =0x0000215C
+ lsl r1, r1, #1
+ str r1, [r5, r3]
+ add r1, r4, #4
+ ldr r1, [r0, r1]
+ sub r0, r2, #6
+ mul r0, r1
+ ldr r1, [r5, r3]
+ bl MOD11_022476C0
+ ldr r1, _02236B68 ; =0x0000215C
+ str r0, [r5, r1]
+ b _02236B5E
+_02236B56:
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_02236B5E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02236B64: .word 0x00002D8C
+_02236B68: .word 0x0000215C
+
+ thumb_func_start MOD11_02236B6C
+MOD11_02236B6C: ; 0x02236B6C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0
+ str r1, [sp]
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [sp]
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r4, #0
+ bl MOD11_0222FF84
+ mov r2, #0x4d
+ mov r7, #0
+ str r0, [sp, #4]
+ add r1, r0, #0
+ ldr r0, [sp]
+ lsl r2, r2, #2
+ str r1, [r0, r2]
+ ldr r0, [sp, #4]
+ add r6, r7, #0
+ cmp r0, #0
+ ble _02236BFC
+ ldr r4, [sp]
+ ldr r1, _02236C10 ; =0x00002DC8
+ add r0, r4, #0
+ add r5, r0, r1
+_02236BA8:
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _02236BCE
+ ldr r0, _02236C14 ; =0x00002D8C
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _02236BCE
+ ldr r0, [sp]
+ add r2, r6, #0
+ add r1, r0, #0
+ ldr r1, [r1, #0x64]
+ mov r3, #0x2b
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02236BD2
+_02236BCE:
+ add r7, r7, #1
+ b _02236BF0
+_02236BD2:
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x20
+ orr r1, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ str r1, [r4, r0]
+ ldr r1, [r5]
+ ldr r0, _02236C18 ; =0xFFFF9FFF
+ and r1, r0
+ mov r0, #6
+ lsl r0, r0, #0xc
+ orr r0, r1
+ str r0, [r5]
+_02236BF0:
+ ldr r0, [sp, #4]
+ add r6, r6, #1
+ add r4, #0xc0
+ add r5, #0xc0
+ cmp r6, r0
+ blt _02236BA8
+_02236BFC:
+ ldr r0, [sp, #4]
+ cmp r7, r0
+ bne _02236C0A
+ ldr r0, [sp]
+ ldr r1, [sp, #8]
+ bl MOD11_0223A424
+_02236C0A:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02236C10: .word 0x00002DC8
+_02236C14: .word 0x00002D8C
+_02236C18: .word 0xFFFF9FFF
+
+ thumb_func_start MOD11_02236C1C
+MOD11_02236C1C: ; 0x02236C1C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A444
+ ldr r1, _02236C4C ; =0x00003104
+ ldr r1, [r4, r1]
+ add r2, r4, r1
+ ldr r1, _02236C50 ; =0x000021EC
+ ldrb r1, [r2, r1]
+ str r1, [r0]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02236C4C: .word 0x00003104
+_02236C50: .word 0x000021EC
+
+ thumb_func_start MOD11_02236C54
+MOD11_02236C54: ; 0x02236C54
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223A444
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r1, [r6]
+ cmp r1, r0
+ bhs _02236C92
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_02236C92:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02236C98
+MOD11_02236C98: ; 0x02236C98
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ mov r0, #0x4e
+ mov r3, #0
+ lsl r0, r0, #2
+ str r3, [r5, r0]
+ ldr r0, _02236F40 ; =0x0000215C
+ add r1, r4, #0
+ str r3, [r5, r0]
+ add r0, r5, #0
+ mov r2, #0x1b
+ bl MOD11_02243420
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ add r7, r0, #0
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _02236D08
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _02236D0A
+_02236D08:
+ b _02236F38
+_02236D0A:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0xc
+ tst r0, r1
+ beq _02236D74
+ ldr r0, [sp, #4]
+ cmp r0, #5
+ beq _02236D74
+ cmp r7, #5
+ beq _02236D74
+ cmp r0, #8
+ beq _02236D74
+ cmp r7, #8
+ beq _02236D74
+ cmp r0, #4
+ beq _02236D74
+ cmp r7, #4
+ beq _02236D74
+ mov r0, #0xc0
+ add r6, r4, #0
+ mul r6, r0
+ ldr r0, _02236F44 ; =0x00002D8C
+ add r1, r5, r6
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02236D74
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #8
+ beq _02236D74
+ mov r3, #0xb7
+ add r1, r5, r6
+ lsl r3, r3, #6
+ ldr r2, [r1, r3]
+ ldr r0, _02236F48 ; =0x00040080
+ tst r0, r2
+ bne _02236D74
+ mov r0, #0xc9
+ add r2, r0, #0
+ add r2, #0x5b
+ str r0, [r5, r2]
+ sub r3, #0x30
+ ldr r1, [r1, r3]
+ sub r0, #0xca
+ mul r0, r1
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _02236F40 ; =0x0000215C
+ str r0, [r5, r1]
+_02236D74:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0x30
+ tst r0, r1
+ beq _02236DDC
+ mov r0, #0xc0
+ add r6, r4, #0
+ mul r6, r0
+ ldr r0, _02236F44 ; =0x00002D8C
+ add r2, r5, r6
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ beq _02236DDC
+ add r0, #0x34
+ ldr r1, [r2, r0]
+ ldr r0, _02236F48 ; =0x00040080
+ tst r0, r1
+ bne _02236DDC
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x57
+ beq _02236DB2
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x5e
+ bne _02236DC8
+_02236DB2:
+ ldr r0, _02236F4C ; =0x00002D90
+ add r1, r5, r6
+ ldr r1, [r1, r0]
+ mov r0, #0
+ mvn r0, r0
+ mul r0, r1
+ mov r1, #8
+ bl MOD11_022476C0
+ ldr r1, _02236F40 ; =0x0000215C
+ str r0, [r5, r1]
+_02236DC8:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x5e
+ bne _02236DDC
+ mov r0, #0x4e
+ mov r1, #2
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+_02236DDC:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ tst r1, r0
+ beq _02236E5E
+ ldr r1, _02236F44 ; =0x00002D8C
+ add r6, r4, #0
+ mul r6, r0
+ add r0, r5, r1
+ str r0, [sp, #8]
+ ldr r0, [r0, r6]
+ cmp r0, #0
+ beq _02236E5E
+ add r0, r5, r6
+ add r1, #0x34
+ ldr r1, [r0, r1]
+ ldr r0, _02236F48 ; =0x00040080
+ tst r0, r1
+ bne _02236E5E
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x73
+ bne _02236E2A
+ ldr r0, _02236F4C ; =0x00002D90
+ add r1, r5, r6
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #8]
+ ldr r1, [r1, r6]
+ cmp r1, r0
+ bhs _02236E5E
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _02236F40 ; =0x0000215C
+ str r0, [r5, r1]
+ b _02236E5E
+_02236E2A:
+ ldr r0, [sp, #4]
+ cmp r0, #0xf
+ beq _02236E5E
+ cmp r7, #0xf
+ beq _02236E5E
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x51
+ beq _02236E5E
+ ldr r1, _02236F50 ; =0x00000102
+ add r0, r1, #0
+ add r0, #0x22
+ str r1, [r5, r0]
+ ldr r0, _02236F4C ; =0x00002D90
+ add r1, r5, r6
+ ldr r1, [r1, r0]
+ mov r0, #0
+ mvn r0, r0
+ mul r0, r1
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _02236F40 ; =0x0000215C
+ str r0, [r5, r1]
+_02236E5E:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #3
+ tst r0, r1
+ beq _02236F38
+ ldr r1, _02236F44 ; =0x00002D8C
+ mov r0, #0xc0
+ add r6, r4, #0
+ mul r6, r0
+ add r7, r5, r1
+ ldr r0, [r7, r6]
+ cmp r0, #0
+ beq _02236EA0
+ add r1, r1, #4
+ add r1, r5, r1
+ str r1, [sp, #0xc]
+ ldr r1, [r1, r6]
+ cmp r0, r1
+ bhs _02236EA0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2c
+ bne _02236EA0
+ ldr r0, [sp, #0xc]
+ mov r1, #0x10
+ ldr r0, [r0, r6]
+ bl MOD11_022476C0
+ ldr r1, _02236F40 ; =0x0000215C
+ str r0, [r5, r1]
+_02236EA0:
+ ldr r0, [r7, r6]
+ cmp r0, #0
+ beq _02236ECC
+ ldr r1, _02236F4C ; =0x00002D90
+ add r1, r5, r1
+ str r1, [sp, #0x10]
+ ldr r1, [r1, r6]
+ cmp r0, r1
+ bhs _02236ECC
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x57
+ bne _02236ECC
+ ldr r0, [sp, #0x10]
+ mov r1, #8
+ ldr r0, [r0, r6]
+ bl MOD11_022476C0
+ ldr r1, _02236F40 ; =0x0000215C
+ str r0, [r5, r1]
+_02236ECC:
+ ldr r0, [r7, r6]
+ cmp r0, #0
+ beq _02236F38
+ ldr r0, _02236F54 ; =0x00002DAC
+ add r7, r5, r0
+ ldr r0, [r7, r6]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ beq _02236F38
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x5d
+ bne _02236F38
+ ldr r0, [r7, r6]
+ mov r1, #7
+ tst r1, r0
+ beq _02236EFC
+ mov r0, #0x13
+ mov r1, #0
+ lsl r0, r0, #4
+ str r1, [r5, r0]
+ b _02236F30
+_02236EFC:
+ ldr r1, _02236F58 ; =0x00000F88
+ tst r1, r0
+ beq _02236F0C
+ mov r0, #0x13
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r5, r0]
+ b _02236F30
+_02236F0C:
+ mov r1, #0x10
+ tst r1, r0
+ beq _02236F1C
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r5, r0]
+ b _02236F30
+_02236F1C:
+ mov r1, #0x40
+ tst r0, r1
+ beq _02236F2A
+ mov r0, #3
+ add r1, #0xf0
+ str r0, [r5, r1]
+ b _02236F30
+_02236F2A:
+ mov r0, #4
+ add r1, #0xf0
+ str r0, [r5, r1]
+_02236F30:
+ mov r0, #0x4e
+ mov r1, #1
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+_02236F38:
+ mov r0, #0
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02236F40: .word 0x0000215C
+_02236F44: .word 0x00002D8C
+_02236F48: .word 0x00040080
+_02236F4C: .word 0x00002D90
+_02236F50: .word 0x00000102
+_02236F54: .word 0x00002DAC
+_02236F58: .word 0x00000F88
+
+ thumb_func_start MOD11_02236F5C
+MOD11_02236F5C: ; 0x02236F5C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r6, [r4, #0x64]
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r2, r4, r0
+ mov r0, #0x1c
+ add r1, r6, #0
+ mul r1, r0
+ ldr r3, [r2, r1]
+ ldr r0, _0223705C ; =0xFFFFFE3F
+ mov r7, #0xc0
+ and r0, r3
+ add r3, r6, #0
+ mul r3, r7
+ add r6, r4, r3
+ ldr r3, _02237060 ; =0x00002DC8
+ ldr r6, [r6, r3]
+ sub r3, #0x18
+ lsl r6, r6, #0xe
+ lsr r6, r6, #0x1d
+ lsl r6, r6, #0x1d
+ lsr r6, r6, #0x17
+ orr r0, r6
+ str r0, [r2, r1]
+ ldr r2, [r4, #0x64]
+ add r0, r2, #0
+ mul r0, r7
+ add r0, r4, r0
+ ldr r1, [r0, r3]
+ mov r0, #1
+ lsl r0, r0, #0xc
+ tst r0, r1
+ bne _02236FCA
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022451C0
+ ldr r0, _02237060 ; =0x00002DC8
+ ldr r2, [r4, #0x64]
+ add r1, r4, r0
+ add r0, r7, #0
+ mul r0, r2
+ ldr r3, [r1, r0]
+ ldr r2, _02237064 ; =0xFFFC7FFF
+ and r3, r2
+ mov r2, #0xa
+ lsl r2, r2, #0xe
+ orr r2, r3
+ str r2, [r1, r0]
+_02236FCA:
+ ldr r1, [r4, #0x64]
+ ldr r0, _02237060 ; =0x00002DC8
+ mov r7, #0xc0
+ add r3, r1, #0
+ add r6, r4, r0
+ mul r3, r7
+ ldr r1, [r6, r3]
+ ldr r2, _02237064 ; =0xFFFC7FFF
+ and r2, r1
+ lsl r1, r1, #0xe
+ lsr r1, r1, #0x1d
+ sub r1, r1, #1
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0xe
+ orr r1, r2
+ str r1, [r6, r3]
+ ldr r2, [r4, #0x64]
+ add r1, r2, #0
+ mul r1, r7
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0xe
+ lsr r0, r0, #0x1d
+ bne _02237002
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022451F0
+_02237002:
+ ldr r0, _02237068 ; =0x00003044
+ mov r2, #1
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _0223706C ; =0x000003E1
+ ldrb r1, [r1, r0]
+ ldr r0, _02237070 ; =0x00002154
+ str r1, [r4, r0]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02237060 ; =0x00002DC8
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0xe
+ lsr r1, r0, #0x1d
+ mov r0, #5
+ sub r3, r0, r1
+ cmp r3, #1
+ ble _0223703A
+ ldr r0, _02237070 ; =0x00002154
+_0223702E:
+ ldr r1, [r4, r0]
+ add r2, r2, #1
+ lsl r1, r1, #1
+ str r1, [r4, r0]
+ cmp r2, r3
+ blt _0223702E
+_0223703A:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02237074 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x1e
+ tst r0, r1
+ beq _02237056
+ ldr r0, _02237070 ; =0x00002154
+ ldr r1, [r4, r0]
+ lsl r1, r1, #1
+ str r1, [r4, r0]
+_02237056:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223705C: .word 0xFFFFFE3F
+_02237060: .word 0x00002DC8
+_02237064: .word 0xFFFC7FFF
+_02237068: .word 0x00003044
+_0223706C: .word 0x000003E1
+_02237070: .word 0x00002154
+_02237074: .word 0x00002DB0
+
+ thumb_func_start MOD11_02237078
+MOD11_02237078: ; 0x02237078
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ add r1, r2, #0
+ mul r1, r0
+ ldr r0, _022370F4 ; =0x00002DC8
+ add r0, r4, r0
+ ldr r3, [r0, r1]
+ lsl r2, r3, #0xb
+ lsr r5, r2, #0x1d
+ cmp r5, #5
+ bhs _022370A8
+ ldr r2, _022370F8 ; =0xFFE3FFFF
+ and r3, r2
+ add r2, r5, #1
+ lsl r2, r2, #0x1d
+ lsr r2, r2, #0xb
+ orr r2, r3
+ str r2, [r0, r1]
+_022370A8:
+ ldr r0, _022370FC ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _02237100 ; =0x000003E1
+ ldrb r1, [r1, r0]
+ ldr r0, _02237104 ; =0x00002154
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _022370F4 ; =0x00002DC8
+ mov r0, #1
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0xb
+ lsr r1, r1, #0x1d
+ cmp r1, #1
+ bls _022370EE
+ ldr r3, _02237104 ; =0x00002154
+ ldr r2, _022370F4 ; =0x00002DC8
+ mov r1, #0xc0
+_022370D4:
+ ldr r5, [r4, r3]
+ add r0, r0, #1
+ lsl r5, r5, #1
+ str r5, [r4, r3]
+ ldr r5, [r4, #0x64]
+ add r6, r5, #0
+ mul r6, r1
+ add r5, r4, r6
+ ldr r5, [r5, r2]
+ lsl r5, r5, #0xb
+ lsr r5, r5, #0x1d
+ cmp r0, r5
+ blo _022370D4
+_022370EE:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_022370F4: .word 0x00002DC8
+_022370F8: .word 0xFFE3FFFF
+_022370FC: .word 0x00003044
+_02237100: .word 0x000003E1
+_02237104: .word 0x00002154
+
+ thumb_func_start MOD11_02237108
+MOD11_02237108: ; 0x02237108
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r3, r0, #0
+ add r0, r4, #0
+ add r0, #0x94
+ ldr r0, [r0]
+ mov r5, #0xc0
+ add r1, r0, #0
+ mul r1, r5
+ ldr r6, _02237184 ; =0x00002DBE
+ add r1, r4, r1
+ ldrb r0, [r1, r6]
+ lsl r0, r0, #0x1c
+ lsr r2, r0, #0x1c
+ add r0, r5, #0
+ add r0, #0x58
+ ldr r0, [r4, r0]
+ mul r5, r0
+ add r5, r4, r5
+ ldrb r5, [r5, r6]
+ lsl r5, r5, #0x1c
+ lsr r5, r5, #0x1c
+ cmp r5, r2
+ beq _0223715A
+ sub r6, #0xe
+ ldr r6, [r1, r6]
+ mov r1, #0xf
+ lsl r1, r1, #0x10
+ tst r1, r6
+ bne _0223715A
+ cmp r5, #2
+ beq _0223715A
+ cmp r2, #2
+ bne _02237164
+_0223715A:
+ add r0, r4, #0
+ add r1, r3, #0
+ bl MOD11_0223A424
+ b _0223717E
+_02237164:
+ bl FUN_0206A92C
+ ldr r1, _02237188 ; =0x00002DB0
+ mov r2, #0xc0
+ add r1, r4, r1
+ add r4, #0x94
+ ldr r3, [r4]
+ lsl r0, r0, #0x10
+ add r4, r3, #0
+ mul r4, r2
+ ldr r2, [r1, r4]
+ orr r0, r2
+ str r0, [r1, r4]
+_0223717E:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_02237184: .word 0x00002DBE
+_02237188: .word 0x00002DB0
+
+ thumb_func_start MOD11_0223718C
+MOD11_0223718C: ; 0x0223718C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ mov r5, #0x6f
+ add r2, r0, #0
+ lsl r5, r5, #2
+ add r1, r4, r5
+ lsl r0, r2, #2
+ ldr r6, [r1, r0]
+ mov r3, #8
+ tst r3, r6
+ beq _022371D0
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+ ldr r1, _02237214 ; =0x0000216C
+ mov r0, #0x40
+ ldr r2, [r4, r1]
+ orr r0, r2
+ str r0, [r4, r1]
+ b _02237210
+_022371D0:
+ mov r3, #8
+ orr r3, r6
+ str r3, [r1, r0]
+ add r5, #8
+ lsl r0, r2, #3
+ add r1, r4, r5
+ ldr r3, [r1, r0]
+ ldr r2, _02237218 ; =0xFFF1FFFF
+ and r3, r2
+ mov r2, #0xa
+ lsl r2, r2, #0x10
+ orr r2, r3
+ str r2, [r1, r0]
+ ldr r3, [r1, r0]
+ ldr r2, _0223721C ; =0xFFFE7FFF
+ and r3, r2
+ ldr r2, [r4, #0x64]
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #0xf
+ orr r2, r3
+ str r2, [r1, r0]
+ add r0, r4, #0
+ mov r1, #1
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ ldr r1, [r4, #0x64]
+ add r0, #0xf8
+ str r1, [r0]
+ mov r0, #0xc6
+ add r4, #0xf6
+ strh r0, [r4]
+_02237210:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02237214: .word 0x0000216C
+_02237218: .word 0xFFF1FFFF
+_0223721C: .word 0xFFFE7FFF
+
+ thumb_func_start MOD11_02237220
+MOD11_02237220: ; 0x02237220
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ bl FUN_0201B9EC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x66
+ bge _02237248
+ ldr r0, _02237284 ; =0x00002154
+ mov r1, #0x28
+ str r1, [r5, r0]
+ b _0223727E
+_02237248:
+ cmp r0, #0xb2
+ bge _02237254
+ ldr r0, _02237284 ; =0x00002154
+ mov r1, #0x50
+ str r1, [r5, r0]
+ b _0223727E
+_02237254:
+ cmp r0, #0xcc
+ bge _02237260
+ ldr r0, _02237284 ; =0x00002154
+ mov r1, #0x78
+ str r1, [r5, r0]
+ b _0223727E
+_02237260:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02237288 ; =0x00002D90
+ ldr r0, [r1, r0]
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, _0223728C ; =0x0000215C
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+_0223727E:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02237284: .word 0x00002154
+_02237288: .word 0x00002D90
+_0223728C: .word 0x0000215C
+
+ thumb_func_start MOD11_02237290
+MOD11_02237290: ; 0x02237290
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, _0223732C ; =0x00003120
+ ldrb r0, [r4, r0]
+ cmp r0, #0
+ bne _0223731C
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ ldr r0, _0223732C ; =0x00003120
+ strb r1, [r4, r0]
+ ldrb r1, [r4, r0]
+ cmp r1, #5
+ bhs _022372C4
+ ldr r1, _02237330 ; =0x00002154
+ mov r2, #0xa
+ str r2, [r4, r1]
+ mov r1, #4
+ strb r1, [r4, r0]
+ b _0223731C
+_022372C4:
+ cmp r1, #0xf
+ bhs _022372D4
+ ldr r1, _02237330 ; =0x00002154
+ mov r2, #0x1e
+ str r2, [r4, r1]
+ mov r1, #5
+ strb r1, [r4, r0]
+ b _0223731C
+_022372D4:
+ cmp r1, #0x23
+ bhs _022372E4
+ ldr r1, _02237330 ; =0x00002154
+ mov r2, #0x32
+ str r2, [r4, r1]
+ mov r1, #6
+ strb r1, [r4, r0]
+ b _0223731C
+_022372E4:
+ cmp r1, #0x41
+ bhs _022372F4
+ ldr r1, _02237330 ; =0x00002154
+ mov r2, #0x46
+ str r2, [r4, r1]
+ mov r1, #7
+ strb r1, [r4, r0]
+ b _0223731C
+_022372F4:
+ cmp r1, #0x55
+ bhs _02237304
+ ldr r1, _02237330 ; =0x00002154
+ mov r2, #0x5a
+ str r2, [r4, r1]
+ mov r1, #8
+ strb r1, [r4, r0]
+ b _0223731C
+_02237304:
+ cmp r1, #0x5f
+ ldr r1, _02237330 ; =0x00002154
+ bhs _02237314
+ mov r2, #0x6e
+ str r2, [r4, r1]
+ mov r1, #9
+ strb r1, [r4, r0]
+ b _0223731C
+_02237314:
+ mov r2, #0x96
+ str r2, [r4, r1]
+ mov r1, #0xa
+ strb r1, [r4, r0]
+_0223731C:
+ ldr r0, _0223732C ; =0x00003120
+ ldrb r1, [r4, r0]
+ mov r0, #0x13
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r4, pc}
+ nop
+_0223732C: .word 0x00003120
+_02237330: .word 0x00002154
+
+ thumb_func_start MOD11_02237334
+MOD11_02237334: ; 0x02237334
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_02246DE0
+ cmp r0, #0
+ bne _0223737E
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ b _02237392
+_0223737E:
+ cmp r7, #1
+ bne _02237392
+ mov r0, #0x4f
+ lsl r0, r0, #2
+ add r3, r5, r0
+ lsl r2, r4, #2
+ ldr r1, [r3, r2]
+ mov r0, #1
+ orr r0, r1
+ str r0, [r3, r2]
+_02237392:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02237398
+MOD11_02237398: ; 0x02237398
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x64]
+ bl MOD11_02230270
+ ldr r1, [r4, #0x64]
+ mov r6, #0xe
+ ldr r5, _022374D4 ; =0x00002DB0
+ add r2, r1, #0
+ mov r3, #0xc0
+ mul r2, r3
+ add r1, r4, r5
+ ldr r7, [r1, r2]
+ lsl r6, r6, #0xc
+ tst r6, r7
+ beq _022373F4
+ ldr r0, _022374D8 ; =0xFFFF1FFF
+ and r0, r7
+ str r0, [r1, r2]
+ ldr r0, [r4, #0x64]
+ mov r2, #0x74
+ add r1, r0, #0
+ add r0, r5, #0
+ mul r1, r3
+ add r1, r4, r1
+ add r0, #0x1c
+ ldr r0, [r1, r0]
+ add r5, #0x3a
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x1e
+ add r0, r3, #0
+ add r0, #0x58
+ str r1, [r4, r0]
+ ldr r0, [r4, #0x64]
+ add r1, r0, #0
+ mul r1, r3
+ add r0, r4, r1
+ ldrh r0, [r0, r5]
+ add r3, #0x64
+ mov r1, #1
+ str r0, [r4, r3]
+ add r0, r4, #0
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022373F4:
+ add r5, #0x10
+ add r5, r4, r5
+ ldr r1, [r5, r2]
+ mov r6, #4
+ tst r6, r1
+ beq _0223742A
+ mov r0, #4
+ bic r1, r0
+ str r1, [r5, r2]
+ ldr r0, [r4, #0x64]
+ add r2, r0, #0
+ mul r2, r3
+ ldr r1, [r5, r2]
+ mov r0, #3
+ bic r1, r0
+ str r1, [r5, r2]
+ mov r1, #0x49
+ add r0, r1, #0
+ add r0, #0xdb
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x75
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223742A:
+ mov r1, #0x72
+ lsl r1, r1, #2
+ add r6, r4, r1
+ lsl r5, r0, #3
+ ldr r2, [r6, r5]
+ lsl r3, r2, #0x1e
+ lsr r3, r3, #0x1e
+ beq _02237466
+ sub r1, #0xc
+ lsl r3, r0, #2
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #4
+ bic r2, r0
+ str r2, [r1, r3]
+ ldr r1, [r6, r5]
+ mov r0, #3
+ bic r1, r0
+ str r1, [r6, r5]
+ mov r1, #0xbf
+ add r0, r1, #0
+ add r0, #0x65
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x75
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02237466:
+ lsl r2, r2, #0x1c
+ lsr r2, r2, #0x1e
+ beq _0223749A
+ add r2, r1, #0
+ sub r2, #0xc
+ lsl r7, r0, #2
+ add r3, r4, r2
+ ldr r2, [r3, r7]
+ ldr r0, _022374DC ; =0xFFFFFBFF
+ and r0, r2
+ str r0, [r3, r7]
+ ldr r2, [r6, r5]
+ mov r0, #0xc
+ bic r2, r0
+ add r0, r1, #0
+ str r2, [r6, r5]
+ sub r0, #0x42
+ sub r1, #0xa4
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x75
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223749A:
+ add r2, r1, #0
+ sub r2, #0xc
+ add r2, r4, r2
+ lsl r0, r0, #2
+ ldr r6, [r2, r0]
+ mov r5, #0x80
+ add r3, r6, #0
+ tst r3, r5
+ beq _022374C6
+ mov r3, #0x80
+ bic r6, r3
+ str r6, [r2, r0]
+ sub r1, #0xa
+ add r5, #0xa4
+ str r1, [r4, r5]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x75
+ bl MOD11_0223A43C
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022374C6:
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022374D4: .word 0x00002DB0
+_022374D8: .word 0xFFFF1FFF
+_022374DC: .word 0xFFFFFBFF
+
+ thumb_func_start MOD11_022374E0
+MOD11_022374E0: ; 0x022374E0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ ldr r0, _02237578 ; =0x000080FF
+ tst r0, r1
+ beq _02237522
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _02237522
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _02237536
+_02237522:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0223757C ; =0x00002D90
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ ldr r0, _02237580 ; =0x0000215C
+ str r1, [r4, r0]
+ b _02237572
+_02237536:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x30
+ tst r0, r1
+ ldr r1, [r4, #0x64]
+ beq _0223755E
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0223757C ; =0x00002D90
+ ldr r1, [r1, r0]
+ mov r0, #0x14
+ mul r0, r1
+ mov r1, #0x1e
+ bl MOD11_022476C0
+ ldr r1, _02237580 ; =0x0000215C
+ str r0, [r4, r1]
+ b _02237572
+_0223755E:
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0223757C ; =0x00002D90
+ ldr r0, [r1, r0]
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, _02237580 ; =0x0000215C
+ str r0, [r4, r1]
+_02237572:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02237578: .word 0x000080FF
+_0223757C: .word 0x00002D90
+_02237580: .word 0x0000215C
+
+ thumb_func_start MOD11_02237584
+MOD11_02237584: ; 0x02237584
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, _02237664 ; =0x00002D54
+ ldr r1, [r4, #0x64]
+ add r3, r4, r0
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, [r3, r0]
+ mov r5, #2
+ lsl r0, r1, #2
+ lsr r0, r0, #0x1b
+ and r0, r5
+ lsl r2, r0, #4
+ lsl r0, r1, #7
+ lsr r0, r0, #0x1b
+ and r0, r5
+ lsl r7, r0, #3
+ lsl r0, r1, #0xc
+ lsr r0, r0, #0x1b
+ and r0, r5
+ lsl r0, r0, #2
+ mov ip, r0
+ lsl r0, r1, #0x11
+ lsr r0, r0, #0x1b
+ and r0, r5
+ lsl r6, r0, #1
+ lsl r0, r1, #0x1b
+ lsr r0, r0, #0x1b
+ lsl r1, r1, #0x16
+ and r0, r5
+ lsr r1, r1, #0x1b
+ lsr r0, r0, #1
+ and r1, r5
+ orr r0, r1
+ add r1, r6, #0
+ orr r1, r0
+ mov r0, ip
+ orr r0, r1
+ orr r0, r7
+ add r1, r2, #0
+ orr r1, r0
+ ldr r0, _02237668 ; =0x00002154
+ str r1, [r4, r0]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r5, [r3, r0]
+ lsl r0, r5, #2
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r6, r0, #0x1a
+ lsl r0, r5, #7
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r3, r0, #0x1b
+ lsl r0, r5, #0xc
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r2, r0, #0x1c
+ lsl r0, r5, #0x11
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r7, r0, #0x1d
+ lsl r0, r5, #0x1b
+ lsr r1, r0, #0x1b
+ mov r0, #1
+ and r0, r1
+ lsl r1, r5, #0x16
+ lsr r1, r1, #0x1b
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1e
+ orr r0, r1
+ orr r0, r7
+ orr r0, r2
+ orr r0, r3
+ add r1, r6, #0
+ orr r1, r0
+ ldr r0, _02237668 ; =0x00002154
+ add r0, #0xc
+ str r1, [r4, r0]
+ ldr r0, _02237668 ; =0x00002154
+ ldr r1, [r4, r0]
+ mov r0, #0x28
+ mul r0, r1
+ mov r1, #0x3f
+ blx _s32_div_f
+ ldr r1, _02237668 ; =0x00002154
+ add r0, #0x1e
+ str r0, [r4, r1]
+ add r1, #0xc
+ ldr r1, [r4, r1]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0x3f
+ blx _s32_div_f
+ add r1, r0, #1
+ ldr r0, _0223766C ; =0x00002160
+ str r1, [r4, r0]
+ ldr r1, [r4, r0]
+ cmp r1, #9
+ blt _0223765E
+ add r1, r1, #1
+ str r1, [r4, r0]
+_0223765E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02237664: .word 0x00002D54
+_02237668: .word 0x00002154
+_0223766C: .word 0x00002160
+
+ thumb_func_start MOD11_02237670
+MOD11_02237670: ; 0x02237670
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r2, _022376C8 ; =0x00002D58
+ mov r1, #0
+ mov r3, #0xc0
+ add r5, r2, #0
+_02237684:
+ ldr r6, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r6
+ ldr r6, [r4, #0x64]
+ add r0, r4, r0
+ add r0, r1, r0
+ add r7, r6, #0
+ mul r7, r3
+ add r6, r4, r7
+ add r6, r1, r6
+ ldrsb r0, [r0, r2]
+ add r1, r1, #1
+ cmp r1, #8
+ strb r0, [r6, r5]
+ blt _02237684
+ ldr r0, [r4, #0x64]
+ ldr r6, [r4, #0x6c]
+ mov r3, #0xc0
+ add r1, r0, #0
+ ldr r5, _022376CC ; =0x00002DB0
+ mul r1, r3
+ mul r3, r6
+ add r2, r4, r5
+ add r3, r4, r3
+ ldr r4, [r3, r5]
+ mov r3, #1
+ lsl r3, r3, #0x14
+ ldr r0, [r2, r1]
+ and r3, r4
+ orr r0, r3
+ str r0, [r2, r1]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022376C8: .word 0x00002D58
+_022376CC: .word 0x00002DB0
+
+ thumb_func_start MOD11_022376D0
+MOD11_022376D0: ; 0x022376D0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ ldr r1, [r4, #0x6c]
+ add r2, r0, #0
+ mov r0, #0x62
+ add r3, r4, r1
+ lsl r0, r0, #2
+ ldrb r0, [r3, r0]
+ cmp r0, #0
+ bne _022377A4
+ add r0, r5, #0
+ bl MOD11_02230270
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ lsl r3, r0, #2
+ add r6, r4, r1
+ add r7, r1, #0
+ ldr r2, [r6, r3]
+ mov r0, #0x10
+ orr r0, r2
+ str r0, [r6, r3]
+ ldr r0, [r4, #0x6c]
+ sub r7, #0x34
+ add r2, r4, r0
+ mov r0, #3
+ strb r0, [r2, r7]
+ add r7, r1, #0
+ ldr r0, _022377B4 ; =0x00003044
+ sub r7, #0x2c
+ ldr r2, [r4, r0]
+ ldr r0, [r4, #0x6c]
+ sub r1, #0x24
+ lsl r0, r0, #1
+ add r0, r4, r0
+ strh r2, [r0, r7]
+ ldr r2, [r4, #0x6c]
+ ldr r0, [r4, #0x64]
+ lsl r2, r2, #2
+ add r2, r4, r2
+ str r0, [r2, r1]
+ mov r0, #3
+ lsl r0, r0, #7
+ ldr r0, [r4, r0]
+ ldr r2, _022377B4 ; =0x00003044
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, [r4, #0x64]
+ add r1, r4, #0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x6c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r2, [r4, r2]
+ ldr r3, [r6, r3]
+ add r0, r5, #0
+ bl MOD11_0224B310
+ mov r1, #0
+ mvn r1, r1
+ mul r1, r0
+ add r0, r4, #0
+ bl MOD11_0224BF10
+ ldr r1, [r4, #0x6c]
+ lsl r1, r1, #2
+ add r2, r4, r1
+ mov r1, #0x6a
+ lsl r1, r1, #2
+ str r0, [r2, r1]
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #6
+ add r2, r4, r0
+ add r0, r1, #0
+ add r0, #0x2c
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ beq _022377AC
+ ldr r0, [r4, #0x6c]
+ add r5, r4, r1
+ lsl r4, r0, #2
+ ldr r1, [r5, r4]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ str r0, [r5, r4]
+ b _022377AC
+_022377A4:
+ add r0, r4, #0
+ add r1, r2, #0
+ bl MOD11_0223A424
+_022377AC:
+ mov r0, #0
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022377B4: .word 0x00003044
+
+ thumb_func_start MOD11_022377B8
+MOD11_022377B8: ; 0x022377B8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ str r0, [sp, #0xc]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ add r6, r0, #0
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0223CC8C
+ str r0, [sp]
+ ldr r2, [sp, #0xc]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, r6, #0
+ bl MOD11_0223D29C
+ ldr r0, _02237830 ; =0x0000216C
+ ldr r1, [r4, r0]
+ ldr r0, _02237834 ; =0x001FD849
+ tst r0, r1
+ beq _02237828
+ ldr r1, [sp, #8]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02237828:
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02237830: .word 0x0000216C
+_02237834: .word 0x001FD849
+
+ thumb_func_start MOD11_02237838
+MOD11_02237838: ; 0x02237838
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r3, #0
+ bl MOD11_02246ED0
+ cmp r0, #0
+ beq _02237866
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02237866:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223786C
+MOD11_0223786C: ; 0x0223786C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r5, #0x64]
+ add r0, r7, #0
+ bl MOD11_0222FFC8
+ ldr r1, _02237AA0 ; =0x0000217D
+ str r0, [sp]
+ ldrb r0, [r5, r1]
+ cmp r0, #0
+ bne _02237900
+ mov r0, #2
+ strb r0, [r5, r1]
+ add r0, r1, #0
+ mov r2, #0xfd
+ add r0, #0xb
+ str r2, [r5, r0]
+ mov r2, #0
+ add r0, r1, #2
+ strb r2, [r5, r0]
+ add r6, r1, #2
+_022378A2:
+ ldr r2, _02237AA4 ; =0x0000217F
+ ldr r1, [r5, #0x64]
+ ldrb r2, [r5, r2]
+ add r0, r7, #0
+ bl MOD11_02230014
+ ldr r1, _02237AA4 ; =0x0000217F
+ add r4, r0, #0
+ ldrb r3, [r5, r1]
+ ldr r1, [r5, #0x64]
+ add r2, r5, r1
+ ldr r1, _02237AA8 ; =0x0000219C
+ ldrb r1, [r2, r1]
+ cmp r3, r1
+ beq _02237900
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022378F8
+ add r0, r4, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022378F8
+ add r0, r4, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02237AAC ; =0x000001EE
+ cmp r0, r1
+ beq _022378F8
+ add r0, r4, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02237900
+_022378F8:
+ ldrb r0, [r5, r6]
+ add r0, r0, #1
+ strb r0, [r5, r6]
+ b _022378A2
+_02237900:
+ ldr r2, _02237AA4 ; =0x0000217F
+ ldr r1, [r5, #0x64]
+ ldrb r2, [r5, r2]
+ add r0, r7, #0
+ bl MOD11_02230014
+ add r4, r0, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #4]
+ add r0, r4, #0
+ mov r1, #0x70
+ mov r2, #0
+ bl FUN_020671BC
+ add r6, r0, #0
+ add r0, r4, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ add r1, r6, #0
+ mov r2, #1
+ bl FUN_02068654
+ ldr r1, _02237AB0 ; =0x00002144
+ ldr r2, _02237AB4 ; =0x00003044
+ str r0, [r5, r1]
+ ldr r2, [r5, r2]
+ ldr r0, [r5, r1]
+ lsl r2, r2, #4
+ add r3, r5, r2
+ ldr r2, _02237AB8 ; =0x000003E1
+ ldrb r2, [r3, r2]
+ mul r2, r0
+ str r2, [r5, r1]
+ lsl r0, r4, #1
+ mov r1, #5
+ blx _s32_div_f
+ ldr r1, _02237AB0 ; =0x00002144
+ add r0, r0, #2
+ ldr r2, [r5, r1]
+ mul r0, r2
+ str r0, [r5, r1]
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ mov r1, #0xb5
+ add r2, r5, r0
+ lsl r1, r1, #6
+ ldrh r0, [r2, r1]
+ add r1, #0x26
+ ldrb r1, [r2, r1]
+ mov r2, #2
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1b
+ bl FUN_02068654
+ add r1, r0, #0
+ ldr r0, _02237AB0 ; =0x00002144
+ ldr r0, [r5, r0]
+ blx _u32_div_f
+ ldr r1, _02237AB0 ; =0x00002144
+ str r0, [r5, r1]
+ ldr r0, [r5, r1]
+ mov r1, #0x32
+ blx _s32_div_f
+ ldr r1, _02237AB0 ; =0x00002144
+ str r0, [r5, r1]
+ ldr r0, [r5, r1]
+ add r0, r0, #2
+ str r0, [r5, r1]
+ add r0, r1, #0
+ add r0, #0xc
+ ldr r2, [r5, r1]
+ ldr r0, [r5, r0]
+ mul r0, r2
+ str r0, [r5, r1]
+ ldr r0, [r5, #0x64]
+ lsl r0, r0, #6
+ add r2, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ beq _022379CC
+ ldr r1, [r5, r1]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ ldr r1, _02237AB0 ; =0x00002144
+ str r0, [r5, r1]
+_022379CC:
+ ldr r1, _02237AB0 ; =0x00002144
+ add r0, r5, #0
+ ldr r1, [r5, r1]
+ bl MOD11_0224BF10
+ ldr r1, _02237AB0 ; =0x00002144
+ str r0, [r5, r1]
+ mov r0, #0
+ ldr r2, [r5, r1]
+ mvn r0, r0
+ mul r0, r2
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r3, r1, #0
+ ldr r2, _02237ABC ; =0x000001E1
+ add r0, #0xf6
+ strh r2, [r0]
+ add r0, r5, #0
+ mov r2, #2
+ add r0, #0xf5
+ strb r2, [r0]
+ add r3, #0x3b
+ ldrb r3, [r5, r3]
+ ldr r0, [r5, #0x64]
+ add r6, r1, #0
+ lsl r3, r3, #8
+ orr r3, r0
+ add r0, r5, #0
+ add r0, #0xf8
+ str r3, [r0]
+ add r0, r1, #0
+ add r0, #0x3b
+ ldrb r0, [r5, r0]
+ add r6, #0x3b
+ add r3, r0, #1
+ add r0, r1, #0
+ add r0, #0x3b
+ strb r3, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x38
+ strb r2, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x3b
+ ldrb r2, [r5, r0]
+ ldr r0, [sp]
+ cmp r2, r0
+ bge _02237A94
+_02237A2A:
+ ldr r1, [r5, #0x64]
+ add r0, r7, #0
+ bl MOD11_02230014
+ ldr r1, _02237AA4 ; =0x0000217F
+ add r4, r0, #0
+ ldrb r3, [r5, r1]
+ ldr r1, [r5, #0x64]
+ add r2, r5, r1
+ ldr r1, _02237AA8 ; =0x0000219C
+ ldrb r1, [r2, r1]
+ cmp r3, r1
+ beq _02237A9A
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02237A7C
+ add r0, r4, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02237A7C
+ add r0, r4, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02237AAC ; =0x000001EE
+ cmp r0, r1
+ beq _02237A7C
+ add r0, r4, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02237A9A
+_02237A7C:
+ ldrb r0, [r5, r6]
+ add r0, r0, #1
+ strb r0, [r5, r6]
+ ldr r0, _02237AA4 ; =0x0000217F
+ ldrb r2, [r5, r0]
+ ldr r0, [sp]
+ cmp r2, r0
+ blt _02237A2A
+ ldr r0, _02237AC0 ; =0x0000217C
+ mov r1, #1
+ strb r1, [r5, r0]
+ b _02237A9A
+_02237A94:
+ mov r0, #1
+ add r1, #0x38
+ strb r0, [r5, r1]
+_02237A9A:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02237AA0: .word 0x0000217D
+_02237AA4: .word 0x0000217F
+_02237AA8: .word 0x0000219C
+_02237AAC: .word 0x000001EE
+_02237AB0: .word 0x00002144
+_02237AB4: .word 0x00003044
+_02237AB8: .word 0x000003E1
+_02237ABC: .word 0x000001E1
+_02237AC0: .word 0x0000217C
+
+ thumb_func_start MOD11_02237AC4
+MOD11_02237AC4: ; 0x02237AC4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ mov r1, #0x71
+ lsl r1, r1, #2
+ mov r2, #1
+ add r1, r4, r1
+ lsl r0, r0, #3
+ ldr r3, [r1, r0]
+ lsl r2, r2, #0x14
+ orr r2, r3
+ str r2, [r1, r0]
+ ldr r3, [r1, r0]
+ ldr r2, _02237B00 ; =0xFF9FFFFF
+ and r3, r2
+ ldr r2, [r4, #0x64]
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #9
+ orr r2, r3
+ str r2, [r1, r0]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02237B00: .word 0xFF9FFFFF
+
+ thumb_func_start MOD11_02237B04
+MOD11_02237B04: ; 0x02237B04
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02237B82
+ add r0, r4, #0
+ add r1, r5, #0
+ mov r2, #0x10
+ bl MOD11_0223C230
+ add r4, r0, #0
+ bl FUN_0206A92C
+ ldr r1, _02237B90 ; =0x00003108
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _02237B78
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _02237B94 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02237B78
+ ldr r0, [r5, #0x64]
+ mov r2, #0x75
+ lsl r0, r0, #6
+ add r0, r5, r0
+ lsl r2, r2, #2
+ ldr r0, [r0, r2]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bne _02237B78
+ add r1, r5, r2
+ lsl r0, r4, #6
+ ldr r3, [r1, r0]
+ lsl r3, r3, #0x1c
+ lsr r3, r3, #0x1f
+ bne _02237B78
+ sub r2, #0xbc
+ str r4, [r5, r2]
+ ldr r3, [r1, r0]
+ mov r2, #8
+ orr r2, r3
+ str r2, [r1, r0]
+ b _02237B8A
+_02237B78:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _02237B8A
+_02237B82:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02237B8A:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_02237B90: .word 0x00003108
+_02237B94: .word 0x00002D8C
+
+ thumb_func_start MOD11_02237B98
+MOD11_02237B98: ; 0x02237B98
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ str r0, [sp, #8]
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ str r0, [sp]
+ ldr r1, [r4, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02230270
+ add r7, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02237BF2
+ ldr r0, [sp, #8]
+ mov r1, #0x84
+ tst r0, r1
+ bne _02237BF2
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _02237C90
+_02237BF2:
+ ldr r0, [r4, #0x64]
+ add r1, r4, r0
+ ldr r0, _02237C98 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ ldr r1, [sp]
+ lsl r1, r1, #3
+ add r2, r4, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #3
+ lsr r1, r1, #0x1a
+ tst r0, r1
+ bne _02237C30
+ ldr r0, [r4, #0x6c]
+ add r1, r4, r0
+ ldr r0, _02237C98 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ lsl r1, r7, #3
+ add r2, r4, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #3
+ lsr r1, r1, #0x1a
+ tst r0, r1
+ beq _02237C3A
+_02237C30:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _02237C90
+_02237C3A:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ add r3, r4, r2
+ ldr r2, _02237C9C ; =0x00002DB8
+ ldrh r3, [r3, r2]
+ cmp r3, #0
+ bne _02237C58
+ ldr r3, [r4, #0x6c]
+ mul r0, r3
+ add r0, r4, r0
+ ldrh r0, [r0, r2]
+ cmp r0, #0
+ beq _02237C6E
+_02237C58:
+ add r0, r4, #0
+ bl MOD11_02246CAC
+ cmp r0, #0
+ beq _02237C6E
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02246CAC
+ cmp r0, #0
+ bne _02237C78
+_02237C6E:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _02237C90
+_02237C78:
+ ldr r1, [r4, #0x64]
+ ldr r2, [r4, #0x6c]
+ add r0, r4, #0
+ mov r3, #0x3c
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02237C90
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02237C90:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02237C98: .word 0x0000219C
+_02237C9C: .word 0x00002DB8
+
+ thumb_func_start MOD11_02237CA0
+MOD11_02237CA0: ; 0x02237CA0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ mov r2, #0x63
+ lsl r2, r2, #2
+ ldr r3, [r4, #0x64]
+ add r5, r4, r2
+ add r1, r0, #0
+ ldrb r0, [r5, r3]
+ cmp r0, #0
+ beq _02237CCA
+ add r0, r4, #0
+ bl MOD11_0223A424
+ b _02237CDA
+_02237CCA:
+ mov r0, #2
+ strb r0, [r5, r3]
+ ldr r0, [r4, #0x64]
+ add r2, #0x2c
+ add r1, r4, r0
+ ldr r0, _02237CE0 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ strb r0, [r1, r2]
+_02237CDA:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02237CE0: .word 0x0000219C
+
+ thumb_func_start MOD11_02237CE4
+MOD11_02237CE4: ; 0x02237CE4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x48
+ str r0, [sp]
+ str r1, [sp, #4]
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [sp, #4]
+ bl MOD11_0223A404
+ ldr r1, [sp, #4]
+ str r0, [sp, #0x14]
+ ldr r0, [sp]
+ ldr r1, [r1, #0x64]
+ mov r7, #0
+ bl MOD11_0222FFC8
+ str r0, [sp, #0xc]
+ add r0, r7, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ ble _02237D8A
+ add r5, sp, #0x18
+_02237D16:
+ ldr r0, [sp, #4]
+ ldr r1, [r0, #0x64]
+ add r2, r0, r1
+ ldr r0, _02237DB8 ; =0x0000219C
+ ldrb r2, [r2, r0]
+ ldr r0, [sp, #0x10]
+ cmp r0, r2
+ beq _02237D7E
+ ldr r0, [sp]
+ ldr r2, [sp, #0x10]
+ bl MOD11_02230014
+ mov r1, #0xad
+ mov r2, #0
+ str r0, [sp, #8]
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02237D7E
+ ldr r0, [sp, #8]
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02237DBC ; =0x000001EE
+ cmp r0, r1
+ beq _02237D7E
+ mov r4, #0
+_02237D4E:
+ add r1, r4, #0
+ ldr r0, [sp, #8]
+ add r1, #0x36
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r6, #0
+ bl MOD11_02246BE8
+ cmp r0, #0
+ bne _02237D78
+ add r0, r6, #0
+ bl MOD11_0224C07C
+ cmp r0, #1
+ bne _02237D78
+ strh r6, [r5]
+ add r5, r5, #2
+ add r7, r7, #1
+_02237D78:
+ add r4, r4, #1
+ cmp r4, #4
+ blt _02237D4E
+_02237D7E:
+ ldr r0, [sp, #0x10]
+ add r1, r0, #1
+ ldr r0, [sp, #0xc]
+ str r1, [sp, #0x10]
+ cmp r1, r0
+ blt _02237D16
+_02237D8A:
+ cmp r7, #0
+ beq _02237DA8
+ bl FUN_0201B9EC
+ add r1, r7, #0
+ blx _s32_div_f
+ lsl r1, r1, #1
+ add r0, sp, #0x18
+ ldrh r2, [r0, r1]
+ mov r1, #0x49
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ str r2, [r0, r1]
+ b _02237DB0
+_02237DA8:
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x14]
+ bl MOD11_0223A424
+_02237DB0:
+ mov r0, #0
+ add sp, #0x48
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02237DB8: .word 0x0000219C
+_02237DBC: .word 0x000001EE
+
+ thumb_func_start MOD11_02237DC0
+MOD11_02237DC0: ; 0x02237DC0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r7, r0, #0
+ str r1, [sp]
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [sp]
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ mov r6, #0
+ add r0, r7, #0
+ add r4, r6, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _02237E00
+ ldr r5, [sp]
+_02237DE8:
+ ldr r0, _02237E30 ; =0x00002D8C
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _02237DF2
+ add r6, r6, #1
+_02237DF2:
+ add r0, r7, #0
+ add r5, #0xc0
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _02237DE8
+_02237E00:
+ ldr r0, [sp]
+ add r0, #0xec
+ ldr r1, [r0]
+ sub r0, r6, #1
+ cmp r1, r0
+ bne _02237E16
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ bl MOD11_0223A424
+ b _02237E2A
+_02237E16:
+ mov r1, #0x75
+ ldr r0, [sp]
+ lsl r1, r1, #2
+ add r3, r0, r1
+ ldr r0, [r0, #0x64]
+ lsl r2, r0, #6
+ ldr r1, [r3, r2]
+ mov r0, #0x10
+ orr r0, r1
+ str r0, [r3, r2]
+_02237E2A:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02237E30: .word 0x00002D8C
+
+ thumb_func_start MOD11_02237E34
+MOD11_02237E34: ; 0x02237E34
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r5, #0x64]
+ add r0, r6, #0
+ bl MOD11_02230270
+ add r1, r5, #0
+ ldr r4, [r5, #0x64]
+ add r1, #0x84
+ str r4, [r1]
+ ldr r1, [r5, #0x6c]
+ lsl r0, r0, #3
+ str r1, [r5, #0x64]
+ mov r1, #0x71
+ lsl r1, r1, #2
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02237E7E
+ lsl r0, r0, #9
+ lsr r0, r0, #0x1e
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r5, r1
+ ldr r1, _02237EDC ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02237E7E
+ str r0, [r5, #0x6c]
+ b _02237ECA
+_02237E7E:
+ ldr r0, _02237EE0 ; =0x00003044
+ ldr r3, [r5, r0]
+ lsl r0, r3, #4
+ add r1, r5, r0
+ ldr r0, _02237EE4 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ cmp r0, #4
+ beq _02237E92
+ cmp r0, #8
+ bne _02237E96
+_02237E92:
+ str r4, [r5, #0x6c]
+ b _02237ECA
+_02237E96:
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ lsl r3, r3, #0x10
+ ldr r2, [r5, #0x64]
+ add r0, r6, #0
+ add r1, r5, #0
+ lsr r3, r3, #0x10
+ bl MOD11_02244C28
+ mov r1, #0xb5
+ lsl r1, r1, #2
+ add r2, r5, r1
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r1, [r2, r1]
+ lsl r2, r1, #0x1e
+ lsr r2, r2, #0x1f
+ bne _02237EC4
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x1f
+ beq _02237EC8
+_02237EC4:
+ str r0, [r5, #0x6c]
+ b _02237ECA
+_02237EC8:
+ str r4, [r5, #0x6c]
+_02237ECA:
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r2, [r5, r1]
+ mov r0, #8
+ orr r0, r2
+ str r0, [r5, r1]
+ mov r0, #0
+ add sp, #8
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02237EDC: .word 0x00002D8C
+_02237EE0: .word 0x00003044
+_02237EE4: .word 0x000003E6
+
+ thumb_func_start MOD11_02237EE8
+MOD11_02237EE8: ; 0x02237EE8
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r5, #0x64]
+ ldr r0, [r5, #0x6c]
+ lsl r4, r1, #6
+ add r2, r5, r4
+ lsl r1, r0, #2
+ add r2, r2, r1
+ mov r1, #0x76
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02237F1A
+ bl FUN_0206A92C
+ mov r1, #0x7b
+ add r2, r5, r4
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ tst r0, r1
+ bne _02237F40
+_02237F1A:
+ ldr r0, [r5, #0x6c]
+ add r2, r5, r4
+ lsl r1, r0, #2
+ add r2, r2, r1
+ mov r1, #0x1f
+ lsl r1, r1, #4
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02237F48
+ bl FUN_0206A92C
+ ldr r1, [r5, #0x64]
+ lsl r1, r1, #6
+ add r2, r5, r1
+ mov r1, #0x81
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ tst r0, r1
+ beq _02237F48
+_02237F40:
+ ldr r0, _02237F54 ; =0x00002158
+ mov r1, #0x14
+ str r1, [r5, r0]
+ b _02237F4E
+_02237F48:
+ ldr r0, _02237F54 ; =0x00002158
+ mov r1, #0xa
+ str r1, [r5, r0]
+_02237F4E:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02237F54: .word 0x00002158
+
+ thumb_func_start MOD11_02237F58
+MOD11_02237F58: ; 0x02237F58
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r4, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02230270
+ lsl r1, r0, #2
+ add r2, r4, r1
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ ldr r2, [r2, r1]
+ mov r1, #1
+ tst r1, r2
+ bne _02237F8C
+ mov r1, #2
+ tst r1, r2
+ beq _02237FBC
+_02237F8C:
+ mov r5, #0x6f
+ lsl r5, r5, #2
+ add r2, r4, r5
+ lsl r1, r0, #2
+ ldr r6, [r2, r1]
+ mov r3, #1
+ bic r6, r3
+ str r6, [r2, r1]
+ ldr r6, [r2, r1]
+ mov r3, #2
+ bic r6, r3
+ add r5, #8
+ str r6, [r2, r1]
+ lsl r2, r0, #3
+ add r3, r4, r5
+ ldr r1, [r3, r2]
+ mov r0, #0x1c
+ bic r1, r0
+ str r1, [r3, r2]
+ ldr r1, [r3, r2]
+ ldr r0, _02237FC8 ; =0xFFFFFC7F
+ and r0, r1
+ str r0, [r3, r2]
+ b _02237FC4
+_02237FBC:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02237FC4:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02237FC8: .word 0xFFFFFC7F
+
+ thumb_func_start MOD11_02237FCC
+MOD11_02237FCC: ; 0x02237FCC
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ add r3, r4, r0
+ ldr r0, [r4, #0x6c]
+ mov r5, #0xc0
+ add r2, r0, #0
+ mul r2, r5
+ ldr r0, [r3, r2]
+ lsl r5, r5, #5
+ tst r5, r0
+ beq _02237FFE
+ add r0, r4, #0
+ bl MOD11_0223A424
+ b _02238006
+_02237FFE:
+ mov r1, #1
+ lsl r1, r1, #0xc
+ orr r0, r1
+ str r0, [r3, r2]
+_02238006:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223800C
+MOD11_0223800C: ; 0x0223800C
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r5, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02230270
+ add r4, r0, #0
+ ldr r2, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r5, r0
+ ldr r0, _02238118 ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ beq _02238086
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r3, #0x3c
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02238086
+ add r0, r5, #0
+ ldr r1, _0223811C ; =0x000002CA
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x25
+ add r0, #0xf5
+ strb r1, [r0]
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ ldr r0, [r5, #0x6c]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _02238120 ; =0x00002D67
+ add r2, r5, r2
+ ldrb r2, [r2, r0]
+ add r0, r5, #0
+ add r0, #0xfc
+ str r2, [r0]
+ ldr r0, _02238124 ; =0x00003044
+ add r1, #0x40
+ ldr r0, [r5, r0]
+ str r0, [r5, r1]
+ b _02238114
+_02238086:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02238118 ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ beq _0223810C
+ mov r1, #0x8a
+ add r0, r5, #0
+ lsl r1, r1, #2
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0x21
+ add r0, #0xf5
+ strb r1, [r0]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xf8
+ str r0, [r1]
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ add r1, r5, #0
+ add r1, #0xfc
+ str r0, [r1]
+ ldr r0, [r5, #0x6c]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ add r0, r5, r2
+ ldr r2, _02238118 ; =0x00002DB8
+ ldrh r3, [r0, r2]
+ add r0, r1, #0
+ add r0, #0x40
+ str r3, [r5, r0]
+ ldr r3, [r5, #0x6c]
+ mov r0, #0
+ mul r1, r3
+ add r1, r5, r1
+ strh r0, [r1, r2]
+ ldr r0, [r5, #0x6c]
+ add r1, r5, r0
+ ldr r0, _02238128 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ mov r1, #0x71
+ lsl r1, r1, #2
+ add r3, r5, r1
+ lsl r2, r4, #3
+ ldr r4, [r3, r2]
+ ldr r1, _0223812C ; =0xE07FFFFF
+ and r1, r4
+ lsl r4, r4, #3
+ lsr r4, r4, #0x1a
+ orr r0, r4
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #3
+ orr r0, r1
+ str r0, [r3, r2]
+ b _02238114
+_0223810C:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02238114:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02238118: .word 0x00002DB8
+_0223811C: .word 0x000002CA
+_02238120: .word 0x00002D67
+_02238124: .word 0x00003044
+_02238128: .word 0x0000219C
+_0223812C: .word 0xE07FFFFF
+
+ thumb_func_start MOD11_02238130
+MOD11_02238130: ; 0x02238130
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, _02238178 ; =0x00002154
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _02238174
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0223817C ; =0x00003044
+ ldr r1, [r4, r1]
+ lsl r1, r1, #4
+ add r2, r4, r1
+ ldr r1, _02238180 ; =0x000003E1
+ ldrb r3, [r2, r1]
+ ldr r1, _02238184 ; =0x00002D8C
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ add r1, r1, #4
+ ldr r1, [r2, r1]
+ mul r0, r3
+ blx _u32_div_f
+ ldr r1, _02238178 ; =0x00002154
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ cmp r0, #0
+ bne _02238174
+ mov r0, #1
+ str r0, [r4, r1]
+_02238174:
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+_02238178: .word 0x00002154
+_0223817C: .word 0x00003044
+_02238180: .word 0x000003E1
+_02238184: .word 0x00002D8C
+
+ thumb_func_start MOD11_02238188
+MOD11_02238188: ; 0x02238188
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r7, r1, #0
+ str r0, [sp]
+ add r0, r7, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r7, #0
+ bl MOD11_0223A404
+ str r0, [sp, #0x14]
+ ldr r0, [sp]
+ ldr r1, [r7, #0x64]
+ mov r2, #0
+ bl MOD11_02230308
+ add r4, r0, #0
+ ldr r0, [sp]
+ ldr r1, [r7, #0x64]
+ mov r2, #2
+ bl MOD11_02230308
+ mov r6, #0xb7
+ add r3, r0, #0
+ lsl r6, r6, #6
+ add r1, r4, #0
+ mov r0, #0xc0
+ mov r4, #1
+ add r2, r7, r6
+ mul r1, r0
+ ldr r5, [r2, r1]
+ lsl r4, r4, #0x1e
+ orr r5, r4
+ str r5, [r2, r1]
+ add r1, r3, #0
+ mul r1, r0
+ ldr r3, [r2, r1]
+ orr r3, r4
+ str r3, [r2, r1]
+ ldr r1, [r7, #0x64]
+ mul r0, r1
+ add r0, r7, r0
+ ldr r2, [r0, r6]
+ lsr r0, r4, #0x11
+ tst r0, r2
+ beq _022381F0
+ ldr r1, [sp, #0x14]
+ add r0, r7, #0
+ bl MOD11_0223A424
+ b _02238294
+_022381F0:
+ ldr r0, [sp]
+ bl MOD11_02230270
+ str r0, [sp, #0x10]
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ str r0, [sp, #8]
+ mov r0, #0
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ ble _0223826A
+ str r7, [sp, #4]
+_0223820C:
+ ldr r0, [sp]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x10]
+ cmp r1, r0
+ beq _02238258
+ mov r2, #0
+ ldr r0, _0223829C ; =0x00002D4C
+ add r4, r2, #0
+_02238220:
+ ldr r1, [r7, #0x64]
+ mov r6, #0xc0
+ mul r6, r1
+ add r1, r7, r6
+ add r6, r1, r4
+ ldr r1, _0223829C ; =0x00002D4C
+ ldr r5, [sp, #4]
+ ldrh r6, [r6, r1]
+ mov r3, #0
+_02238232:
+ ldrh r1, [r5, r0]
+ cmp r6, r1
+ bne _02238240
+ cmp r6, #0
+ beq _02238240
+ cmp r1, #0
+ bne _02238248
+_02238240:
+ add r3, r3, #1
+ add r5, r5, #2
+ cmp r3, #4
+ blt _02238232
+_02238248:
+ cmp r3, #4
+ bne _02238254
+ add r2, r2, #1
+ add r4, r4, #2
+ cmp r2, #4
+ blt _02238220
+_02238254:
+ cmp r3, #4
+ bne _0223826A
+_02238258:
+ ldr r0, [sp, #4]
+ add r0, #0xc0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0xc]
+ add r1, r0, #1
+ ldr r0, [sp, #8]
+ str r1, [sp, #0xc]
+ cmp r1, r0
+ blt _0223820C
+_0223826A:
+ ldr r1, [sp, #0xc]
+ ldr r0, [sp, #8]
+ cmp r1, r0
+ bne _0223827C
+ ldr r1, [sp, #0x14]
+ add r0, r7, #0
+ bl MOD11_0223A424
+ b _02238294
+_0223827C:
+ mov r0, #0xb7
+ ldr r1, [r7, #0x64]
+ lsl r0, r0, #6
+ add r3, r7, r0
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ mov r0, #2
+ ldr r1, [r3, r2]
+ lsl r0, r0, #0xc
+ orr r0, r1
+ str r0, [r3, r2]
+_02238294:
+ mov r0, #0
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223829C: .word 0x00002D4C
+
+ thumb_func_start MOD11_022382A0
+MOD11_022382A0: ; 0x022382A0
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r1, [r4, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02230270
+ ldr r6, [r4, #0x74]
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r4, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0xe
+ tst r0, r1
+ beq _0223833C
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02230270
+ cmp r7, r0
+ beq _0223833C
+ ldr r0, [r4, #0x64]
+ mov r2, #0xc0
+ add r1, r0, #0
+ mul r1, r2
+ ldr r3, _02238348 ; =0x00002D8C
+ add r0, r4, r1
+ ldr r0, [r0, r3]
+ cmp r0, #0
+ beq _0223833C
+ mov r1, #0xc1
+ lsl r1, r1, #6
+ ldr r6, [r4, r1]
+ cmp r6, #0xa5
+ beq _0223833C
+ add r0, r2, #0
+ add r0, #0x64
+ str r6, [r4, r0]
+ ldr r0, [r4, #0x64]
+ ldr r1, [r4, r1]
+ sub r3, #0x4c
+ lsl r1, r1, #0x10
+ add r3, r4, r3
+ mul r2, r0
+ add r0, r3, r2
+ lsr r1, r1, #0x10
+ bl MOD11_022461AC
+ ldr r3, [r4, #0x64]
+ mov r2, #0xc0
+ mul r2, r3
+ add r2, r4, r2
+ add r2, r2, r0
+ ldr r0, _0223834C ; =0x00002D6C
+ mov r1, #0
+ strb r1, [r2, r0]
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02245190
+ b _02238344
+_0223833C:
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02238344:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02238348: .word 0x00002D8C
+_0223834C: .word 0x00002D6C
+
+ thumb_func_start MOD11_02238350
+MOD11_02238350: ; 0x02238350
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r7, r0, #0
+ str r1, [sp]
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [sp]
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ mov r6, #0
+ add r0, r7, #0
+ add r4, r6, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _02238390
+ ldr r5, [sp]
+_02238378:
+ ldr r0, _022383C0 ; =0x00002D8C
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _02238382
+ add r6, r6, #1
+_02238382:
+ add r0, r7, #0
+ add r5, #0xc0
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _02238378
+_02238390:
+ ldr r0, [sp]
+ add r0, #0xec
+ ldr r1, [r0]
+ sub r0, r6, #1
+ cmp r1, r0
+ bne _022383A6
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ bl MOD11_0223A424
+ b _022383BA
+_022383A6:
+ mov r1, #0x75
+ ldr r0, [sp]
+ lsl r1, r1, #2
+ add r3, r0, r1
+ ldr r0, [r0, #0x64]
+ lsl r2, r0, #6
+ ldr r1, [r3, r2]
+ mov r0, #0x20
+ orr r0, r1
+ str r0, [r3, r2]
+_022383BA:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022383C0: .word 0x00002D8C
+
+ thumb_func_start MOD11_022383C4
+MOD11_022383C4: ; 0x022383C4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _02238410 ; =0x00002D60
+ ldr r5, _02238414 ; =0x0225DCA8
+ ldr r3, [r2, r1]
+ ldr r1, _02238418 ; =0x0000FFFF
+ mov r0, #0
+_022383E2:
+ ldrh r2, [r5]
+ cmp r2, r3
+ bge _022383F2
+ add r5, r5, #4
+ ldrh r2, [r5]
+ add r0, r0, #1
+ cmp r2, r1
+ bne _022383E2
+_022383F2:
+ lsl r2, r0, #2
+ ldr r0, _02238414 ; =0x0225DCA8
+ ldrh r1, [r0, r2]
+ ldr r0, _02238418 ; =0x0000FFFF
+ cmp r1, r0
+ beq _02238404
+ ldr r0, _0223841C ; =0x0225DCAA
+ ldrh r1, [r0, r2]
+ b _02238406
+_02238404:
+ mov r1, #0x78
+_02238406:
+ ldr r0, _02238420 ; =0x00002154
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02238410: .word 0x00002D60
+_02238414: .word 0x0225DCA8
+_02238418: .word 0x0000FFFF
+_0223841C: .word 0x0225DCAA
+_02238420: .word 0x00002154
+
+ thumb_func_start MOD11_02238424
+MOD11_02238424: ; 0x02238424
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022384CC
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022384CC
+ mov r1, #6
+ lsl r1, r1, #6
+ ldr r2, [r4, r1]
+ ldr r0, _022384D0 ; =0x000080FF
+ tst r0, r2
+ ldr r0, _022384D4 ; =0x00003044
+ beq _022384BE
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r2, r4, r0
+ ldr r0, _022384D8 ; =0x000003E1
+ ldrb r0, [r2, r0]
+ lsl r2, r0, #1
+ ldr r0, _022384DC ; =0x00002154
+ str r2, [r4, r0]
+ ldr r2, [r4, r1]
+ mov r1, #3
+ tst r1, r2
+ beq _02238486
+ mov r1, #0xb
+ add r0, #0xc
+ str r1, [r4, r0]
+_02238486:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0xc
+ tst r0, r1
+ beq _02238498
+ ldr r0, _022384E0 ; =0x00002160
+ mov r1, #5
+ str r1, [r4, r0]
+_02238498:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x30
+ tst r0, r1
+ beq _022384AA
+ ldr r0, _022384E0 ; =0x00002160
+ mov r1, #0xa
+ str r1, [r4, r0]
+_022384AA:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0xc0
+ tst r0, r1
+ beq _022384CC
+ ldr r0, _022384E0 ; =0x00002160
+ mov r1, #0xf
+ str r1, [r4, r0]
+ b _022384CC
+_022384BE:
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _022384D8 ; =0x000003E1
+ ldrb r1, [r1, r0]
+ ldr r0, _022384DC ; =0x00002154
+ str r1, [r4, r0]
+_022384CC:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022384D0: .word 0x000080FF
+_022384D4: .word 0x00003044
+_022384D8: .word 0x000003E1
+_022384DC: .word 0x00002154
+_022384E0: .word 0x00002160
+
+ thumb_func_start MOD11_022384E4
+MOD11_022384E4: ; 0x022384E4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r6, r1, #0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ str r0, [sp, #0x10]
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ mov r7, #0
+ str r0, [sp, #0xc]
+ cmp r0, #0
+ bgt _0223850C
+ b _02238612
+_0223850C:
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r0, r6, r0
+ str r6, [sp, #8]
+ add r5, r6, #0
+ str r0, [sp, #4]
+_02238518:
+ ldr r1, [sp, #8]
+ ldr r0, _02238654 ; =0x000021A8
+ ldr r0, [r1, r0]
+ cmp r0, #0x27
+ beq _022385FC
+ ldr r0, _02238658 ; =0x00002D8C
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _022385FC
+ ldr r0, _0223865C ; =0x00002DAC
+ ldr r1, [r5, r0]
+ mov r0, #0x27
+ tst r0, r1
+ bne _022385FC
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_02247190
+ cmp r0, #0
+ bne _022385FC
+ ldr r0, [sp]
+ add r1, r7, #0
+ bl MOD11_02230270
+ str r0, [sp, #0x14]
+ ldr r0, [sp]
+ ldr r1, [r6, #0x78]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x14]
+ cmp r1, r0
+ beq _022385FC
+ ldr r0, _02238660 ; =0x00002DEC
+ ldrh r4, [r5, r0]
+ cmp r4, #0
+ beq _02238570
+ add r0, r0, #2
+ ldrh r0, [r5, r0]
+ lsl r0, r0, #1
+ add r1, r5, r0
+ ldr r0, _02238664 ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ cmp r4, r0
+ beq _0223857A
+_02238570:
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_0224683C
+ add r4, r0, #0
+_0223857A:
+ cmp r4, #0
+ beq _022385FC
+ lsl r1, r4, #0x10
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x10
+ bl MOD11_022461AC
+ str r0, [sp, #0x18]
+ lsl r0, r4, #4
+ add r1, r6, r0
+ ldr r0, _02238668 ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x80
+ bne _022385FC
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _0223866C ; =0x00002D6C
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ beq _022385FC
+ ldr r0, _0223866C ; =0x00002D6C
+ add r1, r6, r0
+ mov r0, #0xc0
+ mul r0, r7
+ add r5, r1, r0
+ ldr r0, [sp, #0x18]
+ ldrb r0, [r5, r0]
+ sub r1, r0, #1
+ ldr r0, [sp, #0x18]
+ strb r1, [r5, r0]
+ ldr r1, [r6, #0x78]
+ add r0, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2e
+ bne _022385D0
+ ldr r0, [sp, #0x18]
+ ldrb r0, [r5, r0]
+ cmp r0, #0
+ beq _022385D0
+ sub r1, r0, #1
+ ldr r0, [sp, #0x18]
+ strb r1, [r5, r0]
+_022385D0:
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_02247264
+ str r7, [r6, #0x64]
+ ldr r0, [r6, #0x78]
+ lsl r2, r7, #1
+ str r0, [r6, #0x6c]
+ ldr r1, _02238670 ; =0x00002158
+ mov r0, #0x14
+ str r0, [r6, r1]
+ ldr r0, _02238674 ; =0x00003044
+ add r2, r6, r2
+ str r4, [r6, r0]
+ add r0, #0x38
+ strh r4, [r2, r0]
+ lsl r0, r7, #4
+ mov r2, #0x27
+ add r0, r6, r0
+ add r1, #0x50
+ str r2, [r0, r1]
+ b _02238612
+_022385FC:
+ ldr r0, [sp, #8]
+ add r7, r7, #1
+ add r0, #0x10
+ str r0, [sp, #8]
+ ldr r0, [sp, #4]
+ add r5, #0xc0
+ add r0, #0xc0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0xc]
+ cmp r7, r0
+ blt _02238518
+_02238612:
+ ldr r0, [sp, #0xc]
+ cmp r7, r0
+ bne _02238622
+ ldr r1, [sp, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223A424
+ b _0223864E
+_02238622:
+ ldr r1, [r6, #0x64]
+ add r0, r6, #0
+ bl MOD11_02249D90
+ add r5, r0, #0
+ ldr r1, [r6, #0x64]
+ add r0, r6, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ cmp r5, #0x36
+ beq _02238642
+ cmp r5, #0x72
+ beq _02238642
+ cmp r5, #0x7c
+ bne _0223864E
+_02238642:
+ ldr r1, [r6, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r6, r0
+ ldr r0, _02238678 ; =0x00002DF8
+ strh r4, [r1, r0]
+_0223864E:
+ mov r0, #0
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02238654: .word 0x000021A8
+_02238658: .word 0x00002D8C
+_0223865C: .word 0x00002DAC
+_02238660: .word 0x00002DEC
+_02238664: .word 0x00002D4C
+_02238668: .word 0x000003DE
+_0223866C: .word 0x00002D6C
+_02238670: .word 0x00002158
+_02238674: .word 0x00003044
+_02238678: .word 0x00002DF8
+
+ thumb_func_start MOD11_0223867C
+MOD11_0223867C: ; 0x0223867C
+ push {r3, r4, r5, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [r4, #0x64]
+ ldr r3, _022386BC ; =0x00002144
+ str r0, [sp]
+ ldr r0, [r4, #0x6c]
+ ldr r2, _022386C0 ; =0x00003044
+ str r0, [sp, #4]
+ ldr r0, [r4, r3]
+ add r1, r4, #0
+ str r0, [sp, #8]
+ add r0, r3, #0
+ add r0, #0x28
+ add r0, r4, r0
+ str r0, [sp, #0xc]
+ add r3, #0x1c
+ ldr r2, [r4, r2]
+ ldr r3, [r4, r3]
+ add r0, r5, #0
+ bl MOD11_02246274
+ ldr r1, _022386BC ; =0x00002144
+ str r0, [r4, r1]
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022386BC: .word 0x00002144
+_022386C0: .word 0x00003044
+
+ thumb_func_start MOD11_022386C4
+MOD11_022386C4: ; 0x022386C4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ str r0, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ mov r6, #0
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ ldr r0, [sp]
+ ldr r2, [sp, #8]
+ add r1, r4, #0
+ bl MOD11_0223C230
+ cmp r7, #6
+ bhi _022387B6
+ add r1, r7, r7
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02238710: ; jump table
+ .short _0223871E - _02238710 - 2 ; case 0
+ .short _02238734 - _02238710 - 2 ; case 1
+ .short _0223874A - _02238710 - 2 ; case 2
+ .short _02238760 - _02238710 - 2 ; case 3
+ .short _02238776 - _02238710 - 2 ; case 4
+ .short _0223878C - _02238710 - 2 ; case 5
+ .short _022387A2 - _02238710 - 2 ; case 6
+_0223871E:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+ b _022387B6
+_02238734:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+ b _022387B6
+_0223874A:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+ b _022387B6
+_02238760:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+ b _022387B6
+_02238776:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+ b _022387B6
+_0223878C:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+ b _022387B6
+_022387A2:
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ cmp r5, r0
+ bne _022387B6
+ mov r6, #1
+_022387B6:
+ cmp r6, #0
+ beq _022387C2
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_022387C2:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_022387C8
+MOD11_022387C8: ; 0x022387C8
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r2, [sp]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ cmp r6, #6
+ bhi _022388BC
+ add r1, r6, r6
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02238808: ; jump table
+ .short _02238816 - _02238808 - 2 ; case 0
+ .short _0223882E - _02238808 - 2 ; case 1
+ .short _02238846 - _02238808 - 2 ; case 2
+ .short _0223885E - _02238808 - 2 ; case 3
+ .short _02238876 - _02238808 - 2 ; case 4
+ .short _0223888E - _02238808 - 2 ; case 5
+ .short _022388A6 - _02238808 - 2 ; case 6
+_02238816:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #1
+ bic r2, r0
+ mov r0, #1
+ and r0, r5
+ orr r0, r2
+ str r0, [r1, r3]
+ b _022388BC
+_0223882E:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #2
+ bic r2, r0
+ lsl r0, r5, #0x1f
+ lsr r0, r0, #0x1e
+ orr r0, r2
+ str r0, [r1, r3]
+ b _022388BC
+_02238846:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #4
+ bic r2, r0
+ lsl r0, r5, #0x1f
+ lsr r0, r0, #0x1d
+ orr r0, r2
+ str r0, [r1, r3]
+ b _022388BC
+_0223885E:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #8
+ bic r2, r0
+ lsl r0, r5, #0x1f
+ lsr r0, r0, #0x1c
+ orr r0, r2
+ str r0, [r1, r3]
+ b _022388BC
+_02238876:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #0x10
+ bic r2, r0
+ lsl r0, r5, #0x1f
+ lsr r0, r0, #0x1b
+ orr r0, r2
+ str r0, [r1, r3]
+ b _022388BC
+_0223888E:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #0x20
+ bic r2, r0
+ lsl r0, r5, #0x1f
+ lsr r0, r0, #0x1a
+ orr r0, r2
+ str r0, [r1, r3]
+ b _022388BC
+_022388A6:
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r3, r0, #6
+ add r1, r4, r1
+ ldr r2, [r1, r3]
+ mov r0, #0x40
+ bic r2, r0
+ lsl r0, r5, #0x1f
+ lsr r0, r0, #0x19
+ orr r0, r2
+ str r0, [r1, r3]
+_022388BC:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_022388C0
+MOD11_022388C0: ; 0x022388C0
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [r4, #0x6c]
+ ldr r1, _022388FC ; =0x000021F0
+ lsl r0, r0, #2
+ add r0, r4, r0
+ ldr r2, [r0, r1]
+ mov r0, #0x19
+ mul r0, r2
+ ldr r2, [r4, #0x64]
+ lsl r2, r2, #2
+ add r2, r4, r2
+ ldr r1, [r2, r1]
+ blx _u32_div_f
+ add r1, r0, #1
+ ldr r0, _02238900 ; =0x00002154
+ str r1, [r4, r0]
+ ldr r1, [r4, r0]
+ cmp r1, #0x96
+ ble _022388F6
+ mov r1, #0x96
+ str r1, [r4, r0]
+_022388F6:
+ mov r0, #0
+ pop {r4, pc}
+ nop
+_022388FC: .word 0x000021F0
+_02238900: .word 0x00002154
+
+ thumb_func_start MOD11_02238904
+MOD11_02238904: ; 0x02238904
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r1, [r5, #0x64]
+ add r0, r6, #0
+ bl MOD11_02230270
+ ldr r1, [r5, #0x64]
+ add r7, r0, #0
+ lsl r1, r1, #6
+ add r2, r5, r1
+ mov r1, #0x83
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ add r0, r6, #0
+ bl MOD11_02230270
+ add r4, r0, #0
+ ldr r0, [r5, #0x64]
+ mov r2, #0x82
+ lsl r0, r0, #6
+ add r0, r5, r0
+ lsl r2, r2, #2
+ ldr r1, [r0, r2]
+ cmp r1, #0
+ beq _022389E4
+ cmp r7, r4
+ beq _022389E4
+ add r2, r2, #4
+ ldr r2, [r0, r2]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r5, r0
+ ldr r0, _022389F0 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _022389E4
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ ldr r1, _022389F4 ; =0x00002144
+ str r0, [r5, r1]
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r1, r5, r0
+ lsl r0, r4, #3
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02238992
+ lsl r0, r0, #9
+ lsr r0, r0, #0x1e
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r5, r1
+ ldr r1, _022389F0 ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02238992
+ str r0, [r5, #0x6c]
+ b _022389A0
+_02238992:
+ ldr r0, [r5, #0x64]
+ lsl r0, r0, #6
+ add r1, r5, r0
+ mov r0, #0x83
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ str r0, [r5, #0x6c]
+_022389A0:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022389F0 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _022389D8
+ ldr r2, [r5, #0x64]
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022482A4
+ mov r1, #0xc0
+ mul r1, r0
+ str r0, [r5, #0x6c]
+ ldr r0, _022389F0 ; =0x00002D8C
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _022389D8
+ mov r2, #0x26
+ str r2, [r5, #0xc]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, #0xf3
+ bl MOD11_0223A434
+_022389D8:
+ ldr r1, [r5, #0x64]
+ ldr r2, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_0224C438
+ b _022389EC
+_022389E4:
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223A424
+_022389EC:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022389F0: .word 0x00002D8C
+_022389F4: .word 0x00002144
+
+ thumb_func_start MOD11_022389F8
+MOD11_022389F8: ; 0x022389F8
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r0, [r4, #0x6c]
+ ldr r1, _02238A34 ; =0x000021A8
+ lsl r0, r0, #4
+ add r0, r4, r0
+ ldr r0, [r0, r1]
+ cmp r0, #0x27
+ ldr r0, _02238A38 ; =0x00003044
+ bne _02238A22
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r2, r4, r0
+ ldr r0, _02238A3C ; =0x000003E1
+ ldrb r0, [r2, r0]
+ lsl r0, r0, #1
+ b _02238A2C
+_02238A22:
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r2, r4, r0
+ ldr r0, _02238A3C ; =0x000003E1
+ ldrb r0, [r2, r0]
+_02238A2C:
+ sub r1, #0x54
+ str r0, [r4, r1]
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+_02238A34: .word 0x000021A8
+_02238A38: .word 0x00003044
+_02238A3C: .word 0x000003E1
+
+ thumb_func_start MOD11_02238A40
+MOD11_02238A40: ; 0x02238A40
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ lsl r0, r1, #1
+ add r1, r4, r0
+ ldr r0, _02238A74 ; =0x000030BC
+ ldrh r0, [r1, r0]
+ add r1, r2, r0
+ ldr r0, _02238A78 ; =0x00002D6C
+ ldrb r1, [r1, r0]
+ cmp r1, #4
+ bls _02238A68
+ mov r1, #4
+_02238A68:
+ ldr r0, _02238A7C ; =0x0225DC2C
+ ldrb r1, [r0, r1]
+ ldr r0, _02238A80 ; =0x00002154
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+_02238A74: .word 0x000030BC
+_02238A78: .word 0x00002D6C
+_02238A7C: .word 0x0225DC2C
+_02238A80: .word 0x00002154
+
+ thumb_func_start MOD11_02238A84
+MOD11_02238A84: ; 0x02238A84
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r3, r4, r0
+ ldr r1, _02238AB4 ; =0x00002D8C
+ mov r0, #0x78
+ ldr r2, [r3, r1]
+ add r1, r1, #4
+ ldr r1, [r3, r1]
+ mul r0, r2
+ blx _u32_div_f
+ add r1, r0, #1
+ ldr r0, _02238AB8 ; =0x00002154
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r4, pc}
+ nop
+_02238AB4: .word 0x00002D8C
+_02238AB8: .word 0x00002154
+
+ thumb_func_start MOD11_02238ABC
+MOD11_02238ABC: ; 0x02238ABC
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r3, _02238B68 ; =0x00002DEC
+ add r0, r5, r0
+ ldrh r4, [r0, r3]
+ cmp r4, #0
+ beq _02238AF0
+ add r2, r3, #2
+ ldrh r2, [r0, r2]
+ sub r3, #0xa0
+ lsl r2, r2, #1
+ add r0, r0, r2
+ ldrh r0, [r0, r3]
+ cmp r4, r0
+ beq _02238AF8
+_02238AF0:
+ add r0, r5, #0
+ bl MOD11_0224683C
+ add r4, r0, #0
+_02238AF8:
+ ldr r0, [r5, #0x6c]
+ lsl r1, r0, #4
+ add r2, r5, r1
+ ldr r1, _02238B6C ; =0x000021A8
+ ldr r1, [r2, r1]
+ cmp r1, #0x27
+ beq _02238B5C
+ lsl r0, r0, #6
+ add r1, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _02238B5C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224C0F0
+ cmp r0, #1
+ bne _02238B5C
+ lsl r0, r4, #4
+ add r1, r5, r0
+ ldr r0, _02238B70 ; =0x000003E1
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ beq _02238B5C
+ ldr r2, [r5, #0x64]
+ ldr r3, _02238B74 ; =0x00002DCC
+ add r0, r2, #0
+ mov r6, #0xc0
+ add r1, r5, r3
+ mul r0, r6
+ mov r2, #1
+ ldr r7, [r1, r0]
+ lsl r2, r2, #0x1e
+ orr r2, r7
+ str r2, [r1, r0]
+ add r0, r6, #0
+ add r0, #0xb4
+ ldr r2, [r5, r0]
+ ldr r0, [r5, #0x64]
+ add r3, #0x10
+ add r1, r0, #0
+ mul r1, r6
+ add r0, r5, r1
+ str r2, [r0, r3]
+ add r6, #0x64
+ str r4, [r5, r6]
+ b _02238B64
+_02238B5C:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02238B64:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02238B68: .word 0x00002DEC
+_02238B6C: .word 0x000021A8
+_02238B70: .word 0x000003E1
+_02238B74: .word 0x00002DCC
+
+ thumb_func_start MOD11_02238B78
+MOD11_02238B78: ; 0x02238B78
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ ldr r0, _02238BC8 ; =0x00003048
+ ldr r0, [r5, r0]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl MOD11_02246BE8
+ cmp r0, #0
+ bne _02238BBC
+ ldr r0, _02238BC8 ; =0x00003048
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _02238BBC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl MOD11_0224C07C
+ cmp r0, #1
+ bne _02238BBC
+ ldr r0, _02238BC8 ; =0x00003048
+ ldr r1, [r5, r0]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ b _02238BC4
+_02238BBC:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+_02238BC4:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02238BC8: .word 0x00003048
+
+ thumb_func_start MOD11_02238BCC
+MOD11_02238BCC: ; 0x02238BCC
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ ldr r5, _02238C1C ; =0x00002D58
+ mov r1, #0
+ ldr r3, [r4, #0x6c]
+ mov r2, #0xc0
+ mul r2, r3
+ add r3, r4, r2
+ add r0, r1, #0
+ add r2, r3, #0
+ add r6, r5, #0
+_02238BEA:
+ ldrsb r7, [r2, r6]
+ cmp r7, #6
+ ble _02238BF8
+ add r7, r3, r0
+ ldrsb r7, [r7, r5]
+ sub r7, r7, #6
+ add r1, r1, r7
+_02238BF8:
+ add r0, r0, #1
+ add r2, r2, #1
+ cmp r0, #8
+ blt _02238BEA
+ mov r0, #0x14
+ add r2, r1, #0
+ mul r2, r0
+ ldr r0, _02238C20 ; =0x00002154
+ add r2, #0x3c
+ str r2, [r4, r0]
+ ldr r1, [r4, r0]
+ cmp r1, #0xc8
+ ble _02238C16
+ mov r1, #0xc8
+ str r1, [r4, r0]
+_02238C16:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02238C1C: .word 0x00002D58
+_02238C20: .word 0x00002154
+
+ thumb_func_start MOD11_02238C24
+MOD11_02238C24: ; 0x02238C24
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r6, _02238C94 ; =0x00002DEC
+ add r2, r5, r0
+ ldrh r0, [r2, r6]
+ cmp r0, #0
+ beq _02238C58
+ add r3, r6, #2
+ ldrh r3, [r2, r3]
+ sub r6, #0xa0
+ lsl r3, r3, #1
+ add r2, r2, r3
+ ldrh r2, [r2, r6]
+ cmp r0, r2
+ beq _02238C5E
+_02238C58:
+ add r0, r5, #0
+ bl MOD11_0224683C
+_02238C5E:
+ ldr r1, [r5, #0x6c]
+ lsl r2, r1, #4
+ add r3, r5, r2
+ ldr r2, _02238C98 ; =0x000021A8
+ ldr r2, [r3, r2]
+ cmp r2, #0x27
+ beq _02238C88
+ lsl r0, r0, #4
+ add r2, r5, r0
+ ldr r0, _02238C9C ; =0x000003E1
+ ldrb r0, [r2, r0]
+ cmp r0, #0
+ bne _02238C90
+ lsl r0, r1, #6
+ add r1, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _02238C90
+_02238C88:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A424
+_02238C90:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02238C94: .word 0x00002DEC
+_02238C98: .word 0x000021A8
+_02238C9C: .word 0x000003E1
+
+ thumb_func_start MOD11_02238CA0
+MOD11_02238CA0: ; 0x02238CA0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ ldr r2, [sp, #8]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r7, #0
+ bl MOD11_02230270
+ ldr r1, [sp, #4]
+ cmp r1, #0
+ beq _02238CF2
+ cmp r1, #1
+ beq _02238CF2
+ cmp r1, #2
+ beq _02238D70
+ b _02238E4A
+_02238CF2:
+ cmp r6, #5
+ bls _02238CF8
+ b _02238E4A
+_02238CF8:
+ add r1, r6, r6
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02238D04: ; jump table
+ .short _02238D10 - _02238D04 - 2 ; case 0
+ .short _02238D20 - _02238D04 - 2 ; case 1
+ .short _02238D30 - _02238D04 - 2 ; case 2
+ .short _02238D40 - _02238D04 - 2 ; case 3
+ .short _02238D50 - _02238D04 - 2 ; case 4
+ .short _02238D60 - _02238D04 - 2 ; case 5
+_02238D10:
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1b
+ lsr r5, r0, #0x1d
+ b _02238E4A
+_02238D20:
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x16
+ lsr r5, r0, #0x1d
+ b _02238E4A
+_02238D30:
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x11
+ lsr r5, r0, #0x1d
+ b _02238E4A
+_02238D40:
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0xc
+ lsr r5, r0, #0x1d
+ b _02238E4A
+_02238D50:
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x72
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1e
+ lsr r5, r0, #0x1e
+ b _02238E4A
+_02238D60:
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x72
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r5, r0, #0x1e
+ b _02238E4A
+_02238D70:
+ cmp r6, #5
+ bhi _02238E4A
+ add r1, r6, r6
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02238D80: ; jump table
+ .short _02238D8C - _02238D80 - 2 ; case 0
+ .short _02238DAC - _02238D80 - 2 ; case 1
+ .short _02238DCC - _02238D80 - 2 ; case 2
+ .short _02238DEC - _02238D80 - 2 ; case 3
+ .short _02238E0C - _02238D80 - 2 ; case 4
+ .short _02238E2C - _02238D80 - 2 ; case 5
+_02238D8C:
+ mov r2, #0x71
+ lsl r2, r2, #2
+ add r6, r4, r2
+ lsl r3, r0, #3
+ ldr r7, [r6, r3]
+ mov r1, #0x1c
+ bic r7, r1
+ sub r2, #8
+ str r7, [r6, r3]
+ add r3, r4, r2
+ lsl r2, r0, #2
+ ldr r1, [r3, r2]
+ mov r0, #1
+ bic r1, r0
+ str r1, [r3, r2]
+ b _02238E4A
+_02238DAC:
+ mov r2, #0x71
+ lsl r2, r2, #2
+ add r6, r4, r2
+ lsl r7, r0, #3
+ ldr r3, [r6, r7]
+ ldr r1, _02238E74 ; =0xFFFFFC7F
+ sub r2, #8
+ and r1, r3
+ add r3, r4, r2
+ lsl r2, r0, #2
+ str r1, [r6, r7]
+ ldr r1, [r3, r2]
+ mov r0, #2
+ bic r1, r0
+ str r1, [r3, r2]
+ b _02238E4A
+_02238DCC:
+ mov r2, #0x71
+ lsl r2, r2, #2
+ add r6, r4, r2
+ lsl r7, r0, #3
+ ldr r3, [r6, r7]
+ ldr r1, _02238E78 ; =0xFFFF8FFF
+ sub r2, #8
+ and r1, r3
+ add r3, r4, r2
+ lsl r2, r0, #2
+ str r1, [r6, r7]
+ ldr r1, [r3, r2]
+ mov r0, #0x40
+ bic r1, r0
+ str r1, [r3, r2]
+ b _02238E4A
+_02238DEC:
+ mov r2, #0x71
+ lsl r2, r2, #2
+ add r6, r4, r2
+ lsl r7, r0, #3
+ ldr r3, [r6, r7]
+ ldr r1, _02238E7C ; =0xFFF1FFFF
+ sub r2, #8
+ and r1, r3
+ add r3, r4, r2
+ lsl r2, r0, #2
+ str r1, [r6, r7]
+ ldr r1, [r3, r2]
+ mov r0, #8
+ bic r1, r0
+ str r1, [r3, r2]
+ b _02238E4A
+_02238E0C:
+ mov r2, #0x72
+ lsl r2, r2, #2
+ add r6, r4, r2
+ lsl r3, r0, #3
+ ldr r7, [r6, r3]
+ mov r1, #3
+ bic r7, r1
+ sub r2, #0xc
+ str r7, [r6, r3]
+ add r3, r4, r2
+ lsl r2, r0, #2
+ ldr r1, [r3, r2]
+ mov r0, #4
+ bic r1, r0
+ str r1, [r3, r2]
+ b _02238E4A
+_02238E2C:
+ mov r2, #0x72
+ lsl r2, r2, #2
+ add r6, r4, r2
+ lsl r3, r0, #3
+ ldr r7, [r6, r3]
+ mov r1, #0xc
+ bic r7, r1
+ sub r2, #0xc
+ str r7, [r6, r3]
+ lsl r3, r0, #2
+ add r1, r4, r2
+ ldr r2, [r1, r3]
+ ldr r0, _02238E80 ; =0xFFFFFBFF
+ and r0, r2
+ str r0, [r1, r3]
+_02238E4A:
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ bne _02238E5C
+ cmp r5, #0
+ bne _02238E5C
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02238E5C:
+ ldr r0, [sp, #4]
+ cmp r0, #1
+ bne _02238E6E
+ cmp r5, #0
+ beq _02238E6E
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02238E6E:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02238E74: .word 0xFFFFFC7F
+_02238E78: .word 0xFFFF8FFF
+_02238E7C: .word 0xFFF1FFFF
+_02238E80: .word 0xFFFFFBFF
+
+ thumb_func_start MOD11_02238E84
+MOD11_02238E84: ; 0x02238E84
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ ldr r0, [r4, #0x6c]
+ lsl r0, r0, #6
+ add r2, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bne _02238EB0
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02238EB0:
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02238EB4
+MOD11_02238EB4: ; 0x02238EB4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ ldr r0, [r4, #0x6c]
+ mov r2, #0xc0
+ add r3, r0, #0
+ mul r3, r2
+ add r5, r4, r3
+ ldr r3, _02238EFC ; =0x00002DAC
+ ldr r0, [r5, r3]
+ cmp r0, #0
+ bne _02238EF2
+ add r0, r3, #4
+ ldr r5, [r5, r0]
+ mov r0, #1
+ lsl r0, r0, #0x18
+ tst r0, r5
+ bne _02238EF2
+ ldr r0, [r4, #0x64]
+ mul r2, r0
+ add r0, r4, r2
+ ldr r0, [r0, r3]
+ cmp r0, #0
+ bne _02238EF8
+_02238EF2:
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02238EF8:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02238EFC: .word 0x00002DAC
+
+ thumb_func_start MOD11_02238F00
+MOD11_02238F00: ; 0x02238F00
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022473F8
+ ldr r2, [r4, #0x64]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _02238F48 ; =0x00002DCC
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0x13
+ lsr r2, r1, #0x1d
+ sub r1, r0, #1
+ cmp r2, r1
+ blo _02238F3A
+ cmp r0, #2
+ bge _02238F42
+_02238F3A:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02238F42:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_02238F48: .word 0x00002DCC
+
+ thumb_func_start MOD11_02238F4C
+MOD11_02238F4C: ; 0x02238F4C
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ mov r2, #0x72
+ mov r1, #1
+ add r3, r0, #0
+ eor r3, r1
+ lsl r0, r3, #3
+ add r5, r4, r0
+ lsl r2, r2, #2
+ ldr r5, [r5, r2]
+ lsl r5, r5, #0x1c
+ lsr r5, r5, #0x1e
+ cmp r5, #2
+ bne _02238FA2
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r2, r4, r0
+ ldr r3, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r3
+ ldr r5, [r2, r0]
+ mov r3, #1
+ bic r5, r3
+ orr r1, r5
+ str r1, [r2, r0]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _02238FCA
+_02238FA2:
+ add r5, r2, #0
+ sub r5, #0xc
+ add r5, r4, r5
+ lsl r3, r3, #2
+ ldr r6, [r5, r3]
+ lsl r1, r1, #0xa
+ orr r1, r6
+ str r1, [r5, r3]
+ add r2, r4, r2
+ ldr r4, [r2, r0]
+ mov r3, #0xc
+ add r1, r4, #0
+ bic r1, r3
+ lsl r3, r4, #0x1c
+ lsr r3, r3, #0x1e
+ add r3, r3, #1
+ lsl r3, r3, #0x1e
+ lsr r3, r3, #0x1c
+ orr r1, r3
+ str r1, [r2, r0]
+_02238FCA:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02238FD0
+MOD11_02238FD0: ; 0x02238FD0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r4, #0
+ add r1, r5, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r7, r0, #0
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_02230270
+ mov r1, #0x72
+ lsl r1, r1, #2
+ add r4, r5, r1
+ lsl r6, r0, #3
+ str r0, [sp]
+ ldr r0, [r4, r6]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1e
+ beq _0223906A
+ sub r1, #0x94
+ str r0, [r5, r1]
+ add r0, r5, #0
+ mov r1, #6
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ add r0, #0x94
+ str r7, [r0]
+ ldr r1, [r5, #0x78]
+ add r0, r5, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #3
+ beq _02239048
+ ldr r1, [r5, #0x78]
+ add r0, r5, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #3
+ bne _02239072
+_02239048:
+ mov r0, #0x6f
+ ldr r1, [sp]
+ lsl r0, r0, #2
+ add r2, r5, r0
+ lsl r1, r1, #2
+ ldr r7, [r2, r1]
+ ldr r3, _02239078 ; =0xFFFFFBFF
+ sub r0, #0x88
+ and r3, r7
+ str r3, [r2, r1]
+ ldr r2, [r4, r6]
+ mov r1, #0xc
+ bic r2, r1
+ str r2, [r4, r6]
+ mov r1, #0
+ str r1, [r5, r0]
+ b _02239072
+_0223906A:
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A424
+_02239072:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02239078: .word 0xFFFFFBFF
+
+ thumb_func_start MOD11_0223907C
+MOD11_0223907C: ; 0x0223907C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ cmp r4, #0
+ bne _0223912C
+ add r0, r6, #0
+ bl MOD11_0222FF84
+ mov r6, #0
+ str r0, [sp]
+ cmp r0, #0
+ ble _02239194
+_022390BE:
+ ldr r0, _0223919C ; =0x000021EC
+ add r1, r5, r6
+ ldrb r4, [r1, r0]
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ bne _022390F6
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r4, #0
+ add r3, r7, #0
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02239122
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022391A0 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02239122
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+ b _02239194
+_022390F6:
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r4, #0
+ add r3, r7, #0
+ bl MOD11_02246D84
+ cmp r0, #0
+ beq _02239114
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022391A0 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02239122
+_02239114:
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+ b _02239194
+_02239122:
+ ldr r0, [sp]
+ add r6, r6, #1
+ cmp r6, r0
+ blt _022390BE
+ b _02239194
+_0223912C:
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ bne _0223916A
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r4, #0
+ add r3, r7, #0
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02239194
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022391A0 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02239194
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+ b _02239194
+_0223916A:
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r4, #0
+ add r3, r7, #0
+ bl MOD11_02246D84
+ cmp r0, #0
+ beq _02239188
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022391A0 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02239194
+_02239188:
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ add r5, #0x80
+ str r4, [r5]
+_02239194:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0223919C: .word 0x000021EC
+_022391A0: .word 0x00002D8C
+
+ thumb_func_start MOD11_022391A4
+MOD11_022391A4: ; 0x022391A4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02230270
+ cmp r6, r0
+ bne _02239200
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_0223A424
+_02239200:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02239204
+MOD11_02239204: ; 0x02239204
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ str r0, [sp]
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r7, #0
+ ldr r0, [sp]
+ add r1, r7, #0
+ bl MOD11_0222FFC8
+ cmp r0, #0
+ bgt _02239222
+ b _02239360
+_02239222:
+ ldr r0, [sp]
+ mov r1, #0
+ add r2, r7, #0
+ bl MOD11_02230014
+ mov r1, #0xad
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r4, #0
+ mov r1, #6
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #8]
+ add r0, r4, #0
+ mov r1, #0xa
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #4]
+ cmp r0, #0x35
+ bne _022392EC
+ cmp r6, #0
+ beq _022392EC
+ ldr r0, _02239368 ; =0x000001EE
+ cmp r6, r0
+ beq _022392EC
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ bne _022392EC
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #0
+ bne _022392EC
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ add r5, r1, #0
+ add r0, r4, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ sub r0, r0, #1
+ mov r1, #0xa
+ blx _u32_div_f
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0xa
+ blo _022392A4
+ mov r2, #9
+_022392A4:
+ mov r1, #0
+ ldr r3, _0223936C ; =0x0225E150
+ str r1, [sp, #0xc]
+_022392AA:
+ ldrb r0, [r3]
+ cmp r0, r5
+ ble _022392C4
+ ldr r3, [sp, #0xc]
+ ldr r5, _02239370 ; =0x0225DD24
+ add r2, r2, r3
+ lsl r2, r2, #1
+ add r0, r4, #0
+ mov r1, #6
+ add r2, r5, r2
+ bl FUN_02067830
+ b _022392EC
+_022392C4:
+ cmp r5, #0x62
+ blt _022392E2
+ cmp r5, #0x63
+ bgt _022392E2
+ mov r3, #0x63
+ sub r3, r3, r5
+ add r2, r2, r3
+ lsl r3, r2, #1
+ ldr r2, _02239374 ; =0x0225DC48
+ add r0, r4, #0
+ mov r1, #6
+ add r2, r2, r3
+ bl FUN_02067830
+ b _022392EC
+_022392E2:
+ add r1, r1, #1
+ add r3, r3, #1
+ str r1, [sp, #0xc]
+ cmp r1, #9
+ blt _022392AA
+_022392EC:
+ ldr r0, [sp, #4]
+ cmp r0, #0x76
+ bne _02239350
+ cmp r6, #0
+ beq _02239350
+ ldr r0, _02239368 ; =0x000001EE
+ cmp r6, r0
+ beq _02239350
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ bne _02239350
+ mov r2, #0
+ add r0, r4, #0
+ mov r1, #0xa0
+ str r2, [sp, #0xc]
+ mov r5, #0xa
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0xa
+ ble _02239324
+ ldr r0, [sp, #0xc]
+_0223931A:
+ add r5, #0xa
+ add r0, r0, #1
+ cmp r5, r1
+ blt _0223931A
+ str r0, [sp, #0xc]
+_02239324:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0xa
+ blt _0223932E
+ bl ErrorHandling
+_0223932E:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ ldr r2, [sp, #0xc]
+ ldr r0, _02239378 ; =0x0225E15C
+ ldrb r0, [r0, r2]
+ cmp r1, r0
+ bge _02239350
+ mov r0, #0x5e
+ str r0, [sp, #0xc]
+ add r0, r4, #0
+ mov r1, #6
+ add r2, sp, #0xc
+ bl FUN_02067830
+_02239350:
+ ldr r0, [sp]
+ mov r1, #0
+ add r7, r7, #1
+ bl MOD11_0222FFC8
+ cmp r7, r0
+ bge _02239360
+ b _02239222
+_02239360:
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02239368: .word 0x000001EE
+_0223936C: .word 0x0225E150
+_02239370: .word 0x0225DD24
+_02239374: .word 0x0225DC48
+_02239378: .word 0x0225E15C
+
+ thumb_func_start MOD11_0223937C
+MOD11_0223937C: ; 0x0223937C
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r0, #0xb5
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ add r3, r4, r0
+ mov r0, #0x1c
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ mov r0, #0x10
+ orr r0, r1
+ str r0, [r3, r2]
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022393A4
+MOD11_022393A4: ; 0x022393A4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_02249B7C
+ cmp r0, #1
+ bne _022393E0
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_022393E0:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_022393E4
+MOD11_022393E4: ; 0x022393E4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r5, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ cmp r6, #0
+ bne _02239438
+ add r0, r5, #0
+ bl MOD11_02249D90
+ cmp r4, r0
+ bne _0223944A
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+ b _0223944A
+_02239438:
+ add r0, r5, #0
+ bl MOD11_02249D90
+ cmp r4, r0
+ beq _0223944A
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_0223944A:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02239450
+MOD11_02239450: ; 0x02239450
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A444
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ add r0, r4, #0
+ mov r2, #1
+ bl MOD11_0224C12C
+ str r0, [r6]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223949C
+MOD11_0223949C: ; 0x0223949C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223A444
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C12C
+ str r0, [r6]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022394E8
+MOD11_022394E8: ; 0x022394E8
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x79
+ bne _02239516
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+_02239516:
+ add r0, r4, #0
+ bl MOD11_02230294
+ ldr r1, _02239570 ; =0x0225E168
+ mov r2, #0x1b
+ ldrb r4, [r1, r0]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r4, r0
+ beq _02239564
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r4, r0
+ beq _02239564
+ ldr r1, [r5, #0x64]
+ lsl r0, r4, #0x18
+ add r3, r1, #0
+ mov r2, #0xc0
+ mul r3, r2
+ ldr r1, _02239574 ; =0x00002D64
+ lsr r0, r0, #0x18
+ add r3, r5, r3
+ strb r0, [r3, r1]
+ ldr r3, [r5, #0x64]
+ add r1, r1, #1
+ add r6, r3, #0
+ mul r6, r2
+ add r3, r5, r6
+ strb r0, [r3, r1]
+ add r2, #0x70
+ str r4, [r5, r2]
+ b _0223956C
+_02239564:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_0223956C:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02239570: .word 0x0225E168
+_02239574: .word 0x00002D64
+
+ thumb_func_start MOD11_02239578
+MOD11_02239578: ; 0x02239578
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_02230294
+ lsl r1, r0, #1
+ ldr r0, _0223959C ; =0x0225DD0A
+ ldrh r1, [r0, r1]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223959C: .word 0x0225DD0A
+
+ thumb_func_start MOD11_022395A0
+MOD11_022395A0: ; 0x022395A0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_02230294
+ lsl r1, r0, #2
+ ldr r0, _022395C4 ; =0x0225DD48
+ ldr r1, [r0, r1]
+ ldr r0, _022395C8 ; =0x00002174
+ str r1, [r4, r0]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_022395C4: .word 0x0225DD48
+_022395C8: .word 0x00002174
+
+ thumb_func_start MOD11_022395CC
+MOD11_022395CC: ; 0x022395CC
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r5, r0, #0
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02249DF0
+ cmp r0, #0
+ beq _022395FE
+ ldr r1, _0223960C ; =0x00002154
+ str r0, [r4, r1]
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02249E04
+ ldr r1, _02239610 ; =0x00002160
+ str r0, [r4, r1]
+ b _02239606
+_022395FE:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0223A424
+_02239606:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_0223960C: .word 0x00002154
+_02239610: .word 0x00002160
+
+ thumb_func_start MOD11_02239614
+MOD11_02239614: ; 0x02239614
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02239674 ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ beq _0223965A
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ mov r3, #0x3c
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0223965A
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+ b _02239670
+_0223965A:
+ ldr r2, [r4, #0x6c]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02249F8C
+ cmp r0, #1
+ beq _02239670
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02239670:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02239674: .word 0x00002DB8
+
+ thumb_func_start MOD11_02239678
+MOD11_02239678: ; 0x02239678
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224A4E0
+ cmp r0, #1
+ beq _022396A4
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_022396A4:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_022396A8
+MOD11_022396A8: ; 0x022396A8
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ mov r2, #0
+ str r2, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, r2, #0
+ str r2, [sp, #8]
+ bl MOD11_02255980
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022396D8
+MOD11_022396D8: ; 0x022396D8
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_0224AD90
+ add r4, r0, #0
+ beq _02239714
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ cmp r4, #0xff
+ bne _0223970C
+ add r0, r5, #0
+ bl MOD11_0223A424
+ b _02239714
+_0223970C:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02239714:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02239718
+MOD11_02239718: ; 0x02239718
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r5, r0, #0
+ bl MOD11_0222FF84
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ mov r2, #0
+ str r2, [sp]
+ mov r0, #6
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, r2, #0
+ bl MOD11_022558E0
+ mov r0, #0
+ str r0, [r4, #0x78]
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239748
+MOD11_02239748: ; 0x02239748
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_0224AD90
+ add r5, r0, #0
+ beq _0223977A
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ cmp r5, #0xff
+ bne _02239774
+ add r0, r4, #0
+ bl MOD11_0223A424
+ b _0223977A
+_02239774:
+ ldr r0, _02239780 ; =0x000021A0
+ sub r1, r5, #1
+ strb r1, [r4, r0]
+_0223977A:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02239780: .word 0x000021A0
+
+ thumb_func_start MOD11_02239784
+MOD11_02239784: ; 0x02239784
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ beq _022397A2
+ add r0, r4, #0
+ bl MOD11_02256774
+_022397A2:
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022397A8
+MOD11_022397A8: ; 0x022397A8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r4, r0, #0
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ add r2, r0, #0
+ lsl r0, r6, #2
+ add r1, r5, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #0x80
+ tst r0, r1
+ beq _0223989C
+ mov r0, #0xc0
+ add r6, r4, #0
+ mul r6, r0
+ ldr r0, _022398A8 ; =0x00002D8C
+ add r1, r5, r6
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0223989C
+ lsl r1, r7, #0x18
+ lsl r2, r2, #0x18
+ mov r0, #5
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl MOD11_02246B9C
+ cmp r0, #0x14
+ bgt _0223983A
+ bge _02239862
+ cmp r0, #0
+ bgt _02239834
+ beq _02239872
+ b _0223987E
+_02239834:
+ cmp r0, #0xa
+ beq _0223986A
+ b _0223987E
+_0223983A:
+ cmp r0, #0x50
+ bgt _02239846
+ bge _02239852
+ cmp r0, #0x28
+ beq _0223985A
+ b _0223987E
+_02239846:
+ cmp r0, #0xa0
+ bne _0223987E
+ ldr r0, _022398AC ; =0x0000215C
+ mov r1, #2
+ str r1, [r5, r0]
+ b _02239882
+_02239852:
+ ldr r0, _022398AC ; =0x0000215C
+ mov r1, #4
+ str r1, [r5, r0]
+ b _02239882
+_0223985A:
+ ldr r0, _022398AC ; =0x0000215C
+ mov r1, #8
+ str r1, [r5, r0]
+ b _02239882
+_02239862:
+ ldr r0, _022398AC ; =0x0000215C
+ mov r1, #0x10
+ str r1, [r5, r0]
+ b _02239882
+_0223986A:
+ ldr r0, _022398AC ; =0x0000215C
+ mov r1, #0x20
+ str r1, [r5, r0]
+ b _02239882
+_02239872:
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223A424
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223987E:
+ bl ErrorHandling
+_02239882:
+ ldr r0, _022398B0 ; =0x00002D90
+ add r1, r5, r6
+ ldr r1, [r1, r0]
+ mov r0, #0
+ mvn r0, r0
+ mul r0, r1
+ ldr r1, _022398AC ; =0x0000215C
+ ldr r1, [r5, r1]
+ bl MOD11_022476C0
+ ldr r1, _022398AC ; =0x0000215C
+ str r0, [r5, r1]
+ b _022398A4
+_0223989C:
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_0223A424
+_022398A4:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022398A8: .word 0x00002D8C
+_022398AC: .word 0x0000215C
+_022398B0: .word 0x00002D90
+
+ thumb_func_start MOD11_022398B4
+MOD11_022398B4: ; 0x022398B4
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x20
+ ldr r0, _0223992C ; =0x00003044
+ bne _022398E6
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02239930 ; =0x000003E5
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x11
+ lsr r4, r0, #0x10
+ b _022398F0
+_022398E6:
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02239930 ; =0x000003E5
+ ldrb r4, [r1, r0]
+_022398F0:
+ cmp r4, #0
+ bne _022398F8
+ bl ErrorHandling
+_022398F8:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r4
+ bge _0223991E
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02239934 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0223991E
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+_0223991E:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ nop
+_0223992C: .word 0x00003044
+_02239930: .word 0x000003E5
+_02239934: .word 0x00002D8C
+
+ thumb_func_start MOD11_02239938
+MOD11_02239938: ; 0x02239938
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ mov r3, #0xb5
+ mov r2, #0xc0
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r0, r5, r0
+ lsl r3, r3, #6
+ ldrh r4, [r0, r3]
+ add r2, #0xf9
+ cmp r4, r2
+ bne _022399BA
+ ldr r4, [r5, #0x6c]
+ mov r2, #0xc0
+ mul r2, r4
+ add r4, r5, r2
+ add r2, r3, #0
+ add r2, #0x4c
+ ldr r2, [r4, r2]
+ cmp r2, #0
+ beq _022399BA
+ add r3, #0x70
+ ldr r2, [r0, r3]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r2
+ bne _022399BA
+ add r0, r7, #0
+ bl MOD11_02230E88
+ bl FUN_02005EE0
+ cmp r0, #0
+ beq _02239998
+ cmp r0, #1
+ beq _0223999C
+ cmp r0, #2
+ beq _022399A0
+_02239998:
+ mov r4, #0
+ b _022399A2
+_0223999C:
+ mov r4, #0xa
+ b _022399A2
+_022399A0:
+ mov r4, #0x1e
+_022399A2:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r4
+ ble _022399C2
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+ b _022399C2
+_022399BA:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_022399C2:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022399C8
+MOD11_022399C8: ; 0x022399C8
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ ldr r0, _022399F8 ; =0x000003DE
+ add r2, r4, r0
+ ldr r0, _022399FC ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r0, r2, r0
+ bl FUN_0206AB58
+ mov r1, #0x4d
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #0
+ pop {r4, pc}
+ nop
+_022399F8: .word 0x000003DE
+_022399FC: .word 0x00003044
+
+ thumb_func_start MOD11_02239A00
+MOD11_02239A00: ; 0x02239A00
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ ldr r3, [sp]
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_022562E4
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02239A40
+MOD11_02239A40: ; 0x02239A40
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_02256308
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239A6C
+MOD11_02239A6C: ; 0x02239A6C
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_02256398
+ mov r0, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02239A84
+MOD11_02239A84: ; 0x02239A84
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ ldr r2, _02239AC0 ; =0x0000219C
+ str r0, [sp]
+ add r3, r4, r1
+ ldrb r2, [r3, r2]
+ add r0, r5, #0
+ mov r3, #0
+ bl MOD11_02230370
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02239AC0: .word 0x0000219C
+
+ thumb_func_start MOD11_02239AC4
+MOD11_02239AC4: ; 0x02239AC4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022470B8
+ cmp r0, #0
+ beq _02239B02
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_02239B02:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239B08
+MOD11_02239B08: ; 0x02239B08
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_022563D0
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239B34
+MOD11_02239B34: ; 0x02239B34
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_022563F8
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239B60
+MOD11_02239B60: ; 0x02239B60
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_02256420
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239B8C
+MOD11_02239B8C: ; 0x02239B8C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_02256448
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239BB8
+MOD11_02239BB8: ; 0x02239BB8
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_02256470
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239BD0
+MOD11_02239BD0: ; 0x02239BD0
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0225648C
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02239BE8
+MOD11_02239BE8: ; 0x02239BE8
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ ldr r3, [sp]
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_022564A8
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02239C28
+MOD11_02239C28: ; 0x02239C28
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022564F4
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02239C54
+MOD11_02239C54: ; 0x02239C54
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ mov r2, #0x4e
+ lsl r2, r2, #2
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r4, r2
+ bl MOD11_02248308
+ cmp r0, #0
+ bne _02239C84
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_02239C84:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02239C88
+MOD11_02239C88: ; 0x02239C88
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ cmp r2, #3
+ beq _02239CAE
+ cmp r2, #4
+ beq _02239CD6
+ b _02239CFE
+_02239CAE:
+ mov r5, #0
+ cmp r6, #0
+ ble _02239D0E
+ mov r7, #1
+_02239CB6:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02239D14 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ bne _02239CCE
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022565A0
+_02239CCE:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02239CB6
+ b _02239D0E
+_02239CD6:
+ mov r5, #0
+ cmp r6, #0
+ ble _02239D0E
+ mov r7, #1
+_02239CDE:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02239D14 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _02239CF6
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022565A0
+_02239CF6:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02239CDE
+ b _02239D0E
+_02239CFE:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_022565A0
+_02239D0E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02239D14: .word 0x00000195
+
+ thumb_func_start MOD11_02239D18
+MOD11_02239D18: ; 0x02239D18
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ cmp r2, #3
+ beq _02239D3E
+ cmp r2, #4
+ beq _02239D66
+ b _02239D8E
+_02239D3E:
+ mov r5, #0
+ cmp r6, #0
+ ble _02239D9E
+ mov r7, #1
+_02239D46:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02239DA4 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ bne _02239D5E
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022565BC
+_02239D5E:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02239D46
+ b _02239D9E
+_02239D66:
+ mov r5, #0
+ cmp r6, #0
+ ble _02239D9E
+ mov r7, #1
+_02239D6E:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _02239DA4 ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _02239D86
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022565BC
+_02239D86:
+ add r5, r5, #1
+ cmp r5, r6
+ blt _02239D6E
+ b _02239D9E
+_02239D8E:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r4, #0
+ bl MOD11_022565BC
+_02239D9E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02239DA4: .word 0x00000195
+
+ thumb_func_start MOD11_02239DA8
+MOD11_02239DA8: ; 0x02239DA8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ str r0, [sp]
+ str r1, [sp, #4]
+ add r0, r1, #0
+ mov r1, #1
+ mov r5, #0
+ bl MOD11_0223A424
+ ldr r0, [sp, #4]
+ bl MOD11_0223A404
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ bl MOD11_0223A404
+ str r0, [sp, #0x14]
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ add r2, r4, #0
+ bl MOD11_0223C230
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0xc]
+ mov r1, #8
+ tst r0, r1
+ bne _02239DFA
+ ldr r0, [sp, #0xc]
+ mov r1, #0x10
+ tst r0, r1
+ beq _02239EDA
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02239EDA
+_02239DFA:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_0222FF88
+ add r7, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldr r0, [sp]
+ bl MOD11_0222FF88
+ str r0, [sp, #8]
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_0222FF7C
+ add r0, r7, #0
+ mov r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02239E68
+_02239E2A:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02239E5C
+ add r0, r6, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02239F48 ; =0x000001EE
+ cmp r0, r1
+ beq _02239E5C
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r5, r5, r0
+_02239E5C:
+ add r0, r7, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02239E2A
+_02239E68:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x4b
+ beq _02239E76
+ cmp r0, #0xcb
+ beq _02239E76
+ cmp r0, #0x4a
+ bne _02239E82
+_02239E76:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02239ECC
+_02239E82:
+ ldr r0, [sp, #8]
+ mov r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02239ECC
+ ldr r7, _02239F48 ; =0x000001EE
+_02239E90:
+ ldr r0, [sp, #8]
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02239EC0
+ add r0, r6, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, r7
+ beq _02239EC0
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r5, r5, r0
+_02239EC0:
+ ldr r0, [sp, #8]
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02239E90
+_02239ECC:
+ cmp r5, #0
+ bne _02239F42
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x14]
+ bl MOD11_0223A424
+ b _02239F42
+_02239EDA:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_0222FF88
+ add r7, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_0222FF7C
+ add r0, r7, #0
+ mov r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02239F36
+_02239EF8:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02239F2A
+ add r0, r6, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02239F48 ; =0x000001EE
+ cmp r0, r1
+ beq _02239F2A
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r5, r5, r0
+_02239F2A:
+ add r0, r7, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02239EF8
+_02239F36:
+ cmp r5, #0
+ bne _02239F42
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0x14]
+ bl MOD11_0223A424
+_02239F42:
+ mov r0, #0
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02239F48: .word 0x000001EE
+
+ thumb_func_start MOD11_02239F4C
+MOD11_02239F4C: ; 0x02239F4C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ add r6, r1, #0
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r6, #0
+ bl MOD11_0223A404
+ mov ip, r0
+ ldr r1, [r6, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r0, r6, r0
+ add r5, r0, #1
+ ldr r7, _02239FC0 ; =0x00002D58
+ mov r4, #0
+ mov r3, #1
+ add r0, sp, #0
+_02239F74:
+ ldrsb r1, [r5, r7]
+ cmp r1, #0xc
+ bge _02239F82
+ lsl r1, r4, #2
+ sub r2, r3, #1
+ add r4, r4, #1
+ str r2, [r0, r1]
+_02239F82:
+ add r3, r3, #1
+ add r5, r5, #1
+ cmp r3, #8
+ blt _02239F74
+ cmp r4, #0
+ beq _02239FB0
+ bl FUN_0201B9EC
+ add r1, r4, #0
+ blx _s32_div_f
+ lsl r1, r1, #2
+ add r0, sp, #0
+ ldr r0, [r0, r1]
+ ldr r1, _02239FC4 ; =0x00002170
+ add r0, #0x27
+ str r0, [r6, r1]
+ mov r0, #2
+ ldr r2, [r6, r1]
+ lsl r0, r0, #0x1e
+ orr r0, r2
+ str r0, [r6, r1]
+ b _02239FB8
+_02239FB0:
+ add r0, r6, #0
+ mov r1, ip
+ bl MOD11_0223A424
+_02239FB8:
+ mov r0, #0
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02239FC0: .word 0x00002D58
+_02239FC4: .word 0x00002170
+
+ thumb_func_start MOD11_02239FC8
+MOD11_02239FC8: ; 0x02239FC8
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ ldr r0, _0223A00C ; =0x00002DB8
+ add r5, r2, #0
+ add r6, r4, r0
+ mov r0, #0xc0
+ mul r5, r0
+ lsl r0, r2, #1
+ add r1, r4, r0
+ ldrh r3, [r6, r5]
+ ldr r0, _0223A010 ; =0x00003124
+ strh r3, [r1, r0]
+ mov r0, #0
+ strh r0, [r6, r5]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02245190
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223A00C: .word 0x00002DB8
+_0223A010: .word 0x00003124
+
+ thumb_func_start MOD11_0223A014
+MOD11_0223A014: ; 0x0223A014
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r1, r0, #0
+ ldr r0, [r4, #0x64]
+ ldr r2, _0223A054 ; =0x00003124
+ lsl r0, r0, #1
+ add r0, r4, r0
+ ldrh r3, [r0, r2]
+ cmp r3, #0
+ beq _0223A048
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r3, [r4, r0]
+ ldr r0, [r4, #0x64]
+ mov r1, #0
+ lsl r0, r0, #1
+ add r0, r4, r0
+ strh r1, [r0, r2]
+ b _0223A04E
+_0223A048:
+ add r0, r4, #0
+ bl MOD11_0223A424
+_0223A04E:
+ mov r0, #0
+ pop {r4, pc}
+ nop
+_0223A054: .word 0x00003124
+
+ thumb_func_start MOD11_0223A058
+MOD11_0223A058: ; 0x0223A058
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ mov r2, #0x4e
+ lsl r2, r2, #2
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r4, r2
+ bl MOD11_02249B94
+ cmp r0, #0
+ bne _0223A088
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_0223A088:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0223A08C
+MOD11_0223A08C: ; 0x0223A08C
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_022565D8
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A0A4
+MOD11_0223A0A4: ; 0x0223A0A4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022565F4
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A0C0
+MOD11_0223A0C0: ; 0x0223A0C0
+ push {r4, lr}
+ add r4, r0, #0
+ add r0, r1, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0225664C
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A0D8
+MOD11_0223A0D8: ; 0x0223A0D8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ mov r4, #0
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0223C230
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02249D90
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ bl MOD11_02249DA4
+ str r0, [sp]
+ cmp r6, #0x40
+ bne _0223A126
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ ldr r0, [sp]
+ cmp r1, r0
+ bge _0223A126
+ mov r4, #1
+_0223A126:
+ cmp r6, #0x66
+ bne _0223A13E
+ mov r0, #0xc0
+ mul r0, r7
+ add r2, r5, r0
+ ldr r0, _0223A170 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ add r0, r0, #4
+ ldr r0, [r2, r0]
+ cmp r1, r0
+ bne _0223A13E
+ mov r4, #1
+_0223A13E:
+ cmp r4, #0
+ beq _0223A16C
+ mov r1, #0xc0
+ add r0, r7, #0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _0223A170 ; =0x00002D8C
+ ldr r3, [r2, r0]
+ ldr r2, _0223A174 ; =0x0000215C
+ ldr r0, [r5, r2]
+ add r0, r0, r3
+ cmp r0, #0
+ bgt _0223A16C
+ sub r0, r3, #1
+ neg r0, r0
+ str r0, [r5, r2]
+ add r0, r2, #0
+ add r0, #0x10
+ ldr r0, [r5, r0]
+ add r1, #0x40
+ orr r0, r1
+ add r2, #0x10
+ str r0, [r5, r2]
+_0223A16C:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223A170: .word 0x00002D8C
+_0223A174: .word 0x0000215C
+
+ thumb_func_start MOD11_0223A178
+MOD11_0223A178: ; 0x0223A178
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ mov r0, #0xc0
+ add r4, r1, #0
+ mul r4, r0
+ ldr r0, _0223A208 ; =0x00002D8C
+ add r2, r5, r4
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _0223A1FA
+ ldr r0, _0223A20C ; =0x0000219C
+ add r2, r5, r1
+ ldrb r2, [r2, r0]
+ cmp r2, #6
+ beq _0223A1FA
+ add r0, r6, #0
+ bl MOD11_02230014
+ add r6, r0, #0
+ mov r1, #0xa
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ add r2, r0, #0
+ ldr r0, _0223A210 ; =0x00002D67
+ add r1, r5, r4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1e
+ beq _0223A202
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_02248A14
+ cmp r0, #0
+ bne _0223A202
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+ b _0223A202
+_0223A1FA:
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0223A424
+_0223A202:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223A208: .word 0x00002D8C
+_0223A20C: .word 0x0000219C
+_0223A210: .word 0x00002D67
+
+ thumb_func_start MOD11_0223A214
+MOD11_0223A214: ; 0x0223A214
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_0223C230
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _0223A26C ; =0x00002DB0
+ ldr r2, [r2, r1]
+ mov r1, #1
+ lsl r1, r1, #0x18
+ tst r1, r2
+ bne _0223A260
+ mov r1, #0x1c
+ mul r1, r0
+ mov r0, #0xba
+ add r1, r4, r1
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #8
+ tst r0, r1
+ beq _0223A268
+_0223A260:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_0223A268:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223A26C: .word 0x00002DB0
+
+ thumb_func_start MOD11_0223A270
+MOD11_0223A270: ; 0x0223A270
+ push {r3, r4, r5, r6, lr}
+ sub sp, #4
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0223A2B0
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _0223A2B8
+_0223A2B0:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_0223A2B8:
+ mov r0, #0
+ add sp, #4
+ pop {r3, r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A2C0
+MOD11_0223A2C0: ; 0x0223A2C0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022482A4
+ str r0, [r4, #0x6c]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A2F0
+MOD11_0223A2F0: ; 0x0223A2F0
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ mov r2, #0x4e
+ lsl r2, r2, #2
+ add r6, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r4, r2
+ bl MOD11_0224C258
+ cmp r0, #0
+ bne _0223A320
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_0223A320:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0223A324
+MOD11_0223A324: ; 0x0223A324
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02256668
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0223A350
+MOD11_0223A350: ; 0x0223A350
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223C230
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02256714
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0223A37C
+MOD11_0223A37C: ; 0x0223A37C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223C230
+ add r1, r0, #0
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_02256754
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A3B4
+MOD11_0223A3B4: ; 0x0223A3B4
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_0223A424
+ add r0, r4, #0
+ bl MOD11_0223A404
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_0222FFC8
+ cmp r0, #6
+ bne _0223A3E0
+ ldr r0, [r5, #0x64]
+ bl FUN_0206B334
+ cmp r0, #0x12
+ beq _0223A3F0
+_0223A3E0:
+ ldr r0, _0223A3F4 ; =0x00002410
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _0223A3F0
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0223A424
+_0223A3F0:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0223A3F4: .word 0x00002410
+
+ thumb_func_start MOD11_0223A3F8
+MOD11_0223A3F8: ; 0x0223A3F8
+ ldr r3, _0223A400 ; =MOD11_022432B4
+ add r0, r1, #0
+ bx r3
+ nop
+_0223A400: .word MOD11_022432B4
+
+ thumb_func_start MOD11_0223A404
+MOD11_0223A404: ; 0x0223A404
+ add r1, r0, #0
+ add r1, #0xb4
+ ldr r1, [r1]
+ lsl r1, r1, #2
+ add r2, r0, r1
+ mov r1, #0x27
+ lsl r1, r1, #8
+ ldr r2, [r2, r1]
+ add r1, r0, #0
+ add r1, #0xb4
+ ldr r1, [r1]
+ add r0, #0xb4
+ add r1, r1, #1
+ str r1, [r0]
+ add r0, r2, #0
+ bx lr
+
+ thumb_func_start MOD11_0223A424
+MOD11_0223A424: ; 0x0223A424
+ add r2, r0, #0
+ add r2, #0xb4
+ ldr r2, [r2]
+ add r0, #0xb4
+ add r1, r2, r1
+ str r1, [r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0223A434
+MOD11_0223A434: ; 0x0223A434
+ ldr r3, _0223A438 ; =MOD11_022431DC
+ bx r3
+ .align 2, 0
+_0223A438: .word MOD11_022431DC
+
+ thumb_func_start MOD11_0223A43C
+MOD11_0223A43C: ; 0x0223A43C
+ ldr r3, _0223A440 ; =MOD11_0224321C
+ bx r3
+ .align 2, 0
+_0223A440: .word MOD11_0224321C
+
+ thumb_func_start MOD11_0223A444
+MOD11_0223A444: ; 0x0223A444
+ push {r4, lr}
+ add r4, r1, #0
+ cmp r2, #0x44
+ bls _0223A44E
+ b _0223A738
+_0223A44E:
+ add r1, r2, r2
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0223A45A: ; jump table
+ .short _0223A4E4 - _0223A45A - 2 ; case 0
+ .short _0223A4E8 - _0223A45A - 2 ; case 1
+ .short _0223A4EE - _0223A45A - 2 ; case 2
+ .short _0223A4F4 - _0223A45A - 2 ; case 3
+ .short _0223A4FA - _0223A45A - 2 ; case 4
+ .short _0223A500 - _0223A45A - 2 ; case 5
+ .short _0223A506 - _0223A45A - 2 ; case 6
+ .short _0223A50C - _0223A45A - 2 ; case 7
+ .short _0223A514 - _0223A45A - 2 ; case 8
+ .short _0223A51A - _0223A45A - 2 ; case 9
+ .short _0223A522 - _0223A45A - 2 ; case 10
+ .short _0223A528 - _0223A45A - 2 ; case 11
+ .short _0223A53A - _0223A45A - 2 ; case 12
+ .short _0223A54C - _0223A45A - 2 ; case 13
+ .short _0223A562 - _0223A45A - 2 ; case 14
+ .short _0223A568 - _0223A45A - 2 ; case 15
+ .short _0223A56E - _0223A45A - 2 ; case 16
+ .short _0223A574 - _0223A45A - 2 ; case 17
+ .short _0223A57A - _0223A45A - 2 ; case 18
+ .short _0223A580 - _0223A45A - 2 ; case 19
+ .short _0223A586 - _0223A45A - 2 ; case 20
+ .short _0223A58E - _0223A45A - 2 ; case 21
+ .short _0223A59A - _0223A45A - 2 ; case 22
+ .short _0223A5A2 - _0223A45A - 2 ; case 23
+ .short _0223A5AA - _0223A45A - 2 ; case 24
+ .short _0223A5B0 - _0223A45A - 2 ; case 25
+ .short _0223A5B8 - _0223A45A - 2 ; case 26
+ .short _0223A5C0 - _0223A45A - 2 ; case 27
+ .short _0223A5C8 - _0223A45A - 2 ; case 28
+ .short _0223A5D0 - _0223A45A - 2 ; case 29
+ .short _0223A5D6 - _0223A45A - 2 ; case 30
+ .short _0223A5DC - _0223A45A - 2 ; case 31
+ .short _0223A5E2 - _0223A45A - 2 ; case 32
+ .short _0223A5E8 - _0223A45A - 2 ; case 33
+ .short _0223A5EE - _0223A45A - 2 ; case 34
+ .short _0223A5F4 - _0223A45A - 2 ; case 35
+ .short _0223A5FC - _0223A45A - 2 ; case 36
+ .short _0223A604 - _0223A45A - 2 ; case 37
+ .short _0223A60C - _0223A45A - 2 ; case 38
+ .short _0223A614 - _0223A45A - 2 ; case 39
+ .short _0223A61A - _0223A45A - 2 ; case 40
+ .short _0223A622 - _0223A45A - 2 ; case 41
+ .short _0223A630 - _0223A45A - 2 ; case 42
+ .short _0223A63E - _0223A45A - 2 ; case 43
+ .short _0223A646 - _0223A45A - 2 ; case 44
+ .short _0223A64C - _0223A45A - 2 ; case 45
+ .short _0223A65A - _0223A45A - 2 ; case 46
+ .short _0223A668 - _0223A45A - 2 ; case 47
+ .short _0223A678 - _0223A45A - 2 ; case 48
+ .short _0223A688 - _0223A45A - 2 ; case 49
+ .short _0223A69A - _0223A45A - 2 ; case 50
+ .short _0223A6A0 - _0223A45A - 2 ; case 51
+ .short _0223A6A6 - _0223A45A - 2 ; case 52
+ .short _0223A6AC - _0223A45A - 2 ; case 53
+ .short _0223A6B8 - _0223A45A - 2 ; case 54
+ .short _0223A6BE - _0223A45A - 2 ; case 55
+ .short _0223A6C4 - _0223A45A - 2 ; case 56
+ .short _0223A6CA - _0223A45A - 2 ; case 57
+ .short _0223A6D0 - _0223A45A - 2 ; case 58
+ .short _0223A6D6 - _0223A45A - 2 ; case 59
+ .short _0223A6DC - _0223A45A - 2 ; case 60
+ .short _0223A6E4 - _0223A45A - 2 ; case 61
+ .short _0223A6EA - _0223A45A - 2 ; case 62
+ .short _0223A6EE - _0223A45A - 2 ; case 63
+ .short _0223A6F4 - _0223A45A - 2 ; case 64
+ .short _0223A6FA - _0223A45A - 2 ; case 65
+ .short _0223A70A - _0223A45A - 2 ; case 66
+ .short _0223A71A - _0223A45A - 2 ; case 67
+ .short _0223A728 - _0223A45A - 2 ; case 68
+_0223A4E4:
+ add r0, #0x2c
+ pop {r4, pc}
+_0223A4E8:
+ ldr r0, _0223A73C ; =0x0000214C
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A4EE:
+ ldr r0, _0223A740 ; =0x00002170
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A4F4:
+ ldr r0, _0223A744 ; =0x00002174
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A4FA:
+ ldr r0, _0223A748 ; =0x00002178
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A500:
+ add r4, #0x88
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A506:
+ ldr r0, _0223A74C ; =0x0000213C
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A50C:
+ mov r0, #6
+ lsl r0, r0, #6
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A514:
+ ldr r0, _0223A750 ; =0x00002158
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A51A:
+ mov r0, #0x4d
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A522:
+ ldr r0, _0223A754 ; =0x0000216C
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A528:
+ ldr r1, [r4, #0x64]
+ bl MOD11_02230270
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ add r1, r4, r1
+ lsl r0, r0, #2
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A53A:
+ ldr r1, [r4, #0x6c]
+ bl MOD11_02230270
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ add r1, r4, r1
+ lsl r0, r0, #2
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A54C:
+ add r1, r4, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ bl MOD11_02230270
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ add r1, r4, r1
+ lsl r0, r0, #2
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A562:
+ ldr r0, _0223A758 ; =0x00002144
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A568:
+ add r4, #0x64
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A56E:
+ add r4, #0x6c
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A574:
+ add r4, #0x94
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A57A:
+ add r4, #0x74
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A580:
+ add r4, #0x78
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A586:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A58E:
+ ldr r0, _0223A75C ; =0x000030E4
+ add r1, r4, r0
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #2
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A59A:
+ mov r0, #0x13
+ lsl r0, r0, #4
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5A2:
+ mov r0, #0x53
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5AA:
+ ldr r0, _0223A760 ; =0x00003044
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5B0:
+ mov r0, #0x15
+ lsl r0, r0, #4
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5B8:
+ mov r0, #0x47
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5C0:
+ mov r0, #0x12
+ lsl r0, r0, #4
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5C8:
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5D0:
+ add r4, #0x98
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A5D6:
+ ldr r0, _0223A764 ; =0x00002154
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5DC:
+ add r4, #0x38
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A5E2:
+ ldr r0, _0223A768 ; =0x0000215C
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5E8:
+ ldr r1, _0223A76C ; =0x0000241C
+ add r0, r0, r1
+ pop {r4, pc}
+_0223A5EE:
+ add r4, #0x8c
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A5F4:
+ mov r0, #0x49
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A5FC:
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A604:
+ mov r0, #0x4b
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A60C:
+ mov r0, #0x61
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A614:
+ ldr r0, _0223A770 ; =0x00003104
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A61A:
+ mov r0, #0x86
+ lsl r0, r0, #6
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A622:
+ mov r0, #0x7b
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #6
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A630:
+ mov r0, #0x81
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #6
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A63E:
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A646:
+ ldr r0, _0223A774 ; =0x00002150
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A64C:
+ mov r0, #0x82
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #6
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A65A:
+ mov r0, #0x82
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, [r4, #0x6c]
+ lsl r0, r0, #6
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A668:
+ mov r0, #0xba
+ lsl r0, r0, #2
+ add r2, r4, r0
+ ldr r1, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0223A678:
+ mov r0, #0xba
+ lsl r0, r0, #2
+ add r2, r4, r0
+ ldr r1, [r4, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0223A688:
+ mov r0, #0xba
+ lsl r0, r0, #2
+ add r2, r4, r0
+ add r4, #0x94
+ ldr r1, [r4]
+ mov r0, #0x1c
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0223A69A:
+ ldr r0, _0223A778 ; =0x00003114
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A6A0:
+ ldr r0, _0223A77C ; =0x00003118
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A6A6:
+ ldr r1, _0223A780 ; =0x00002408
+ add r0, r0, r1
+ pop {r4, pc}
+_0223A6AC:
+ ldr r0, _0223A784 ; =0x0000304C
+ add r1, r4, r0
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #2
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A6B8:
+ ldr r0, _0223A788 ; =0x00002148
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A6BE:
+ ldr r1, _0223A78C ; =0x00002410
+ add r0, r0, r1
+ pop {r4, pc}
+_0223A6C4:
+ add r4, #0x7c
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A6CA:
+ ldr r0, _0223A790 ; =0x00002160
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A6D0:
+ ldr r0, _0223A794 ; =0x00002164
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A6D6:
+ ldr r1, _0223A798 ; =0x00002418
+ add r0, r0, r1
+ pop {r4, pc}
+_0223A6DC:
+ mov r0, #0x85
+ lsl r0, r0, #6
+ add r0, r4, r0
+ pop {r4, pc}
+_0223A6E4:
+ add r4, #0xec
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A6EA:
+ add r0, #0x44
+ pop {r4, pc}
+_0223A6EE:
+ add r4, #0x68
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A6F4:
+ add r4, #0x70
+ add r0, r4, #0
+ pop {r4, pc}
+_0223A6FA:
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ add r2, r4, r0
+ ldr r1, [r4, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0223A70A:
+ mov r0, #0x21
+ lsl r0, r0, #4
+ add r1, r4, r0
+ sub r0, #0xf8
+ ldr r0, [r4, r0]
+ lsl r0, r0, #6
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A71A:
+ mov r0, #0x21
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, [r4, #0x6c]
+ lsl r0, r0, #6
+ add r0, r1, r0
+ pop {r4, pc}
+_0223A728:
+ mov r0, #0xbb
+ lsl r0, r0, #2
+ add r2, r4, r0
+ ldr r1, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0223A738:
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+_0223A73C: .word 0x0000214C
+_0223A740: .word 0x00002170
+_0223A744: .word 0x00002174
+_0223A748: .word 0x00002178
+_0223A74C: .word 0x0000213C
+_0223A750: .word 0x00002158
+_0223A754: .word 0x0000216C
+_0223A758: .word 0x00002144
+_0223A75C: .word 0x000030E4
+_0223A760: .word 0x00003044
+_0223A764: .word 0x00002154
+_0223A768: .word 0x0000215C
+_0223A76C: .word 0x0000241C
+_0223A770: .word 0x00003104
+_0223A774: .word 0x00002150
+_0223A778: .word 0x00003114
+_0223A77C: .word 0x00003118
+_0223A780: .word 0x00002408
+_0223A784: .word 0x0000304C
+_0223A788: .word 0x00002148
+_0223A78C: .word 0x00002410
+_0223A790: .word 0x00002160
+_0223A794: .word 0x00002164
+_0223A798: .word 0x00002418
+
+ thumb_func_start MOD11_0223A79C
+MOD11_0223A79C: ; 0x0223A79C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xd4
+ add r4, r1, #0
+ str r0, [sp, #0x14]
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ str r0, [sp, #0x3c]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ str r0, [sp, #0x38]
+ ldr r0, [r4, #4]
+ mov r7, #0
+ ldr r0, [r0, #0x74]
+ ldr r5, [r4, #0x48]
+ asr r1, r0, #1
+ mov r0, #1
+ and r0, r1
+ str r0, [sp, #0x40]
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_0222FFC8
+ cmp r5, r0
+ bge _0223A81E
+ ldr r0, [sp, #0x40]
+ lsl r0, r0, #2
+ str r0, [sp, #0x24]
+_0223A7D6:
+ ldr r0, [r4]
+ mov r1, #0
+ add r2, r5, #0
+ bl MOD11_02230014
+ mov r1, #6
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #1
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0x32
+ beq _0223A81E
+ add r0, r5, #0
+ bl FUN_0206A92C
+ add r2, r0, #0
+ ldr r1, [r4, #4]
+ ldr r0, [sp, #0x24]
+ add r0, r0, r1
+ add r0, #0xa4
+ ldr r0, [r0]
+ tst r0, r2
+ bne _0223A81E
+ ldr r0, [r4]
+ mov r1, #0
+ add r5, r5, #1
+ bl MOD11_0222FFC8
+ cmp r5, r0
+ blt _0223A7D6
+_0223A81E:
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_0222FFC8
+ cmp r5, r0
+ bne _0223A830
+ mov r0, #0x26
+ str r0, [r4, #0x28]
+ b _0223A84C
+_0223A830:
+ ldr r0, [sp, #0x38]
+ mov r2, #2
+ tst r0, r2
+ beq _0223A84C
+ ldr r0, [sp, #0x38]
+ mov r1, #0x40
+ tst r0, r1
+ bne _0223A84C
+ ldr r1, [r4, #4]
+ ldr r0, _0223AB98 ; =0x0000219E
+ ldrb r0, [r1, r0]
+ cmp r0, r5
+ bne _0223A84C
+ add r7, r2, #0
+_0223A84C:
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x26
+ bls _0223A856
+ bl _0223B2AE
+_0223A856:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223A862: ; jump table
+ .short _0223A8B0 - _0223A862 - 2 ; case 0
+ .short _0223AA74 - _0223A862 - 2 ; case 1
+ .short _0223AA8C - _0223A862 - 2 ; case 2
+ .short _0223AA9E - _0223A862 - 2 ; case 3
+ .short _0223AACA - _0223A862 - 2 ; case 4
+ .short _0223AADE - _0223A862 - 2 ; case 5
+ .short _0223AB16 - _0223A862 - 2 ; case 6
+ .short _0223AC16 - _0223A862 - 2 ; case 7
+ .short _0223AC32 - _0223A862 - 2 ; case 8
+ .short _0223AC50 - _0223A862 - 2 ; case 9
+ .short _0223ACF8 - _0223A862 - 2 ; case 10
+ .short _0223AE3C - _0223A862 - 2 ; case 11
+ .short _0223ADBA - _0223A862 - 2 ; case 12
+ .short _0223AE3C - _0223A862 - 2 ; case 13
+ .short _0223AE5E - _0223A862 - 2 ; case 14
+ .short _0223AEC0 - _0223A862 - 2 ; case 15
+ .short _0223AF42 - _0223A862 - 2 ; case 16
+ .short _0223AFDA - _0223A862 - 2 ; case 17
+ .short _0223AFAC - _0223A862 - 2 ; case 18
+ .short _0223AFDA - _0223A862 - 2 ; case 19
+ .short _0223AFF2 - _0223A862 - 2 ; case 20
+ .short _0223B012 - _0223A862 - 2 ; case 21
+ .short _0223B05A - _0223A862 - 2 ; case 22
+ .short _0223B07E - _0223A862 - 2 ; case 23
+ .short _0223B16A - _0223A862 - 2 ; case 24
+ .short _0223AFDA - _0223A862 - 2 ; case 25
+ .short _0223B192 - _0223A862 - 2 ; case 26
+ .short _0223AFDA - _0223A862 - 2 ; case 27
+ .short _0223B1CE - _0223A862 - 2 ; case 28
+ .short _0223AFDA - _0223A862 - 2 ; case 29
+ .short _0223B1F6 - _0223A862 - 2 ; case 30
+ .short _0223B0B6 - _0223A862 - 2 ; case 31
+ .short _0223AFDA - _0223A862 - 2 ; case 32
+ .short _0223B0E0 - _0223A862 - 2 ; case 33
+ .short _0223B102 - _0223A862 - 2 ; case 34
+ .short _0223B152 - _0223A862 - 2 ; case 35
+ .short _0223B25C - _0223A862 - 2 ; case 36
+ .short _0223B272 - _0223A862 - 2 ; case 37
+ .short _0223B298 - _0223A862 - 2 ; case 38
+_0223A8B0:
+ add r0, r6, #0
+ mov r1, #6
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #1
+ mov r2, #5
+ bl FUN_0206E7B8
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x38]
+ mov r1, #1
+ and r0, r1
+ str r0, [sp, #0x1c]
+ bne _0223A90E
+ ldr r1, [r4, #4]
+ ldr r0, _0223AB9C ; =0x00002E4C
+ ldr r2, _0223ABA0 ; =0x00002FCC
+ ldr r0, [r1, r0]
+ ldr r1, [r1, r2]
+ add r0, r0, r1
+ bne _0223A90E
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0223A90E
+ ldr r1, [r4, #4]
+ ldr r0, _0223ABA4 ; =0x00003144
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _0223A90E
+ ldr r0, _0223ABA8 ; =0x00000467
+ bl FUN_0200521C
+ ldr r1, [r4, #4]
+ ldr r0, _0223ABA4 ; =0x00003144
+ mov r2, #1
+ str r2, [r1, r0]
+ ldr r0, [r4]
+ mov r1, #2
+ bl MOD11_02231484
+_0223A90E:
+ mov r0, #0
+ str r0, [sp, #0x34]
+ mov r1, #1
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ ldr r2, [sp, #0x34]
+ add r0, r6, #0
+ mov r1, #0xa2
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0223A928
+ b _0223AA34
+_0223A928:
+ add r0, r6, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0x64
+ beq _0223AA34
+ ldr r0, [r4, #4]
+ str r0, [sp, #0x20]
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x40]
+ lsl r2, r1, #2
+ ldr r1, [sp, #0x20]
+ add r1, r1, r2
+ add r1, #0xa4
+ ldr r1, [r1]
+ tst r0, r1
+ beq _0223A958
+ ldr r0, [sp, #0x20]
+ add r0, #0x9c
+ ldr r0, [r0]
+ str r0, [sp, #0x34]
+_0223A958:
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x32
+ bne _0223A96C
+ ldr r0, [sp, #0x20]
+ add r0, #0xa0
+ str r0, [sp, #0x20]
+ ldr r1, [r0]
+ ldr r0, [sp, #0x34]
+ add r0, r0, r1
+ str r0, [sp, #0x34]
+_0223A96C:
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x41
+ bne _0223A980
+ ldr r1, [sp, #0x34]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _u32_div_f
+ str r0, [sp, #0x34]
+_0223A980:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _0223A994
+ ldr r1, [sp, #0x34]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _u32_div_f
+ str r0, [sp, #0x34]
+_0223A994:
+ ldr r0, [r4]
+ add r1, r6, #0
+ bl MOD11_0224AE14
+ cmp r0, #0
+ bne _0223A9D6
+ add r0, r6, #0
+ mov r1, #0xc
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _0223ABAC ; =0x020ECAC4
+ ldrb r1, [r1]
+ cmp r1, r0
+ beq _0223A9C2
+ ldr r1, [sp, #0x34]
+ mov r0, #0xaa
+ mul r0, r1
+ mov r1, #0x64
+ blx _u32_div_f
+ str r0, [sp, #0x34]
+ b _0223A9D0
+_0223A9C2:
+ ldr r1, [sp, #0x34]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _u32_div_f
+ str r0, [sp, #0x34]
+_0223A9D0:
+ mov r1, #2
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+_0223A9D6:
+ add r0, r6, #0
+ mov r1, #8
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0x48]
+ add r0, r6, #0
+ bl FUN_02068734
+ ldr r1, [sp, #0x48]
+ sub r0, r1, r0
+ str r0, [r4, #0x3c]
+ ldr r1, [sp, #0x48]
+ ldr r0, [sp, #0x34]
+ add r2, r1, r0
+ str r2, [sp, #0x48]
+ ldr r3, [r4, #4]
+ ldr r0, _0223ABB0 ; =0x0000219C
+ add r1, r3, r7
+ ldrb r0, [r1, r0]
+ cmp r5, r0
+ bne _0223AA0C
+ mov r0, #0xc0
+ mul r0, r7
+ add r1, r3, r0
+ ldr r0, _0223ABB4 ; =0x00002DA4
+ str r2, [r1, r0]
+_0223AA0C:
+ add r0, r6, #0
+ mov r1, #8
+ add r2, sp, #0x48
+ bl FUN_02067830
+ ldr r6, [r4, #4]
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_0222FF88
+ ldr r3, [r6, #0x74]
+ mov r2, #0xc0
+ mul r2, r3
+ add r3, r6, r2
+ mov r2, #0xb5
+ lsl r2, r2, #6
+ ldrh r2, [r3, r2]
+ add r1, r5, #0
+ bl MOD11_0223B2DC
+_0223AA34:
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ beq _0223AA6C
+ mov r1, #0x11
+ add r0, sp, #0xb0
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r0, [sp, #0x34]
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AA6C:
+ mov r0, #0x25
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AA74:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223AB20
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AA8C:
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223AB20
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AA9E:
+ ldr r1, [r4, #4]
+ ldr r0, _0223ABB0 ; =0x0000219C
+ add r2, r1, r7
+ ldrb r0, [r2, r0]
+ cmp r5, r0
+ bne _0223AAC2
+ ldr r0, [r4]
+ ldr r3, [r4, #0x3c]
+ add r2, r7, #0
+ bl MOD11_02255B68
+ mov r0, #0
+ str r0, [r4, #0x3c]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AAC2:
+ mov r0, #5
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AACA:
+ ldr r0, [r4, #4]
+ bl MOD11_02243388
+ cmp r0, #0
+ beq _0223AB20
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AADE:
+ add r0, r6, #0
+ bl FUN_020690E8
+ cmp r0, #0
+ beq _0223AB0E
+ ldr r1, [r4, #4]
+ ldr r0, _0223ABB0 ; =0x0000219C
+ add r2, r1, r7
+ ldrb r0, [r2, r0]
+ cmp r5, r0
+ bne _0223AB06
+ ldr r0, [r4]
+ add r2, r7, #0
+ mov r3, #8
+ bl MOD11_02255E4C
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_02255FA0
+_0223AB06:
+ mov r0, #6
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AB0E:
+ mov r0, #0x25
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AB16:
+ ldr r0, [r4, #4]
+ bl MOD11_02243388
+ cmp r0, #0
+ bne _0223AB22
+_0223AB20:
+ b _0223B2AE
+_0223AB22:
+ ldr r3, _0223ABB8 ; =0x0225DCC0
+ add r2, sp, #0x98
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ add r0, r6, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0x30]
+ mov r0, #5
+ mov r1, #0x18
+ bl FUN_02016998
+ mov r1, #0x5f
+ ldr r2, [r4, #4]
+ lsl r1, r1, #2
+ str r0, [r2, r1]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, r1]
+ mov r1, #0
+ str r0, [sp, #0x2c]
+ str r1, [sp, #0x4c]
+_0223AB58:
+ lsl r2, r1, #2
+ add r1, sp, #0x98
+ ldr r1, [r1, r2]
+ add r0, r6, #0
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x4c]
+ lsl r2, r1, #2
+ ldr r1, [sp, #0x2c]
+ str r0, [r1, r2]
+ ldr r0, [sp, #0x4c]
+ add r1, r0, #1
+ str r1, [sp, #0x4c]
+ cmp r1, #6
+ blt _0223AB58
+ ldr r0, [r4]
+ bl MOD11_022302B0
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ add r0, r6, #0
+ mov r1, #0
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+ add r0, r6, #0
+ bl FUN_02066F04
+ ldr r1, [r4, #4]
+ ldr r0, _0223ABB0 ; =0x0000219C
+ b _0223ABBC
+ .align 2, 0
+_0223AB98: .word 0x0000219E
+_0223AB9C: .word 0x00002E4C
+_0223ABA0: .word 0x00002FCC
+_0223ABA4: .word 0x00003144
+_0223ABA8: .word 0x00000467
+_0223ABAC: .word 0x020ECAC4
+_0223ABB0: .word 0x0000219C
+_0223ABB4: .word 0x00002DA4
+_0223ABB8: .word 0x0225DCC0
+_0223ABBC:
+ add r2, r1, r7
+ ldrb r3, [r2, r0]
+ cmp r5, r3
+ bne _0223ABCC
+ ldr r0, [r4]
+ add r2, r7, #0
+ bl MOD11_02243054
+_0223ABCC:
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, [r4, #4]
+ ldr r2, _0223AF48 ; =0x00003109
+ ldrb r3, [r1, r2]
+ orr r0, r3
+ strb r0, [r1, r2]
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r7, #0
+ bl MOD11_02256020
+ mov r1, #3
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0x11
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #7
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AC16:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ beq _0223AC26
+ b _0223B2AE
+_0223AC26:
+ mov r0, #8
+ str r0, [r4, #0x28]
+ mov r0, #0
+ add sp, #0xd4
+ str r0, [r4, #0x38]
+ pop {r4, r5, r6, r7, pc}
+_0223AC32:
+ ldr r0, [r4, #4]
+ add r1, r0, r7
+ ldr r0, _0223AF4C ; =0x0000219C
+ ldrb r0, [r1, r0]
+ cmp r5, r0
+ beq _0223AC48
+ ldr r0, [r4]
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0223CDC4
+_0223AC48:
+ mov r0, #9
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AC50:
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ add r6, r0, #0
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_0222FF6C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ add r7, r0, #0
+ ldr r0, _0223AF50 ; =0x04000008
+ mov r2, #3
+ ldrh r1, [r0]
+ bic r1, r2
+ mov r2, #2
+ orr r1, r2
+ strh r1, [r0]
+ mov r0, #1
+ add r1, r0, #0
+ bl FUN_020178BC
+ mov r0, #2
+ mov r1, #0
+ bl FUN_020178BC
+ ldr r0, [r4]
+ mov r1, #2
+ bl MOD11_02231564
+ mov r0, #5
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #2
+ mov r2, #1
+ mov r3, #0
+ bl FUN_0200CABC
+ bl FUN_0200CAFC
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #0x80
+ str r0, [sp, #8]
+ add r0, r7, #0
+ mov r1, #0x26
+ mov r3, #5
+ bl FUN_020030E8
+ mov r0, #7
+ str r0, [sp]
+ mov r0, #0xe
+ str r0, [sp, #4]
+ mov r0, #0xc
+ str r0, [sp, #8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ mov r0, #0xa
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, #2
+ mov r3, #0x11
+ bl FUN_02019064
+ add r0, r5, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ add r0, r5, #0
+ mov r1, #0
+ mov r2, #1
+ mov r3, #8
+ bl FUN_0200CCA4
+ mov r0, #0xa
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223ACF8:
+ ldr r3, _0223AF54 ; =0x0225DCD8
+ add r2, sp, #0x80
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldr r3, _0223AF58 ; =0x0225DC60
+ add r2, sp, #0x68
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_0222FF6C
+ add r7, r0, #0
+ mov r0, #0x5f
+ ldr r1, [r4, #4]
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ str r0, [sp, #0x28]
+ mov r0, #0
+ str r0, [sp, #0x4c]
+_0223AD30:
+ ldr r2, _0223AF5C ; =0x000003B3
+ add r1, sp, #0xb0
+ strh r2, [r1, #2]
+ mov r2, #4
+ strb r2, [r1, #1]
+ lsl r2, r0, #2
+ add r1, sp, #0x80
+ ldr r1, [r1, r2]
+ lsl r0, r0, #4
+ str r1, [sp, #0xb4]
+ mov r1, #0
+ str r1, [sp]
+ str r0, [sp, #4]
+ add r0, r1, #0
+ str r0, [sp, #8]
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, [r4]
+ ldr r2, [sp, #0x3c]
+ add r1, r7, #0
+ add r3, sp, #0xb0
+ bl MOD11_022317E0
+ mov r1, #0xed
+ ldr r5, [sp, #0x4c]
+ lsl r1, r1, #2
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #7
+ strb r1, [r0, #1]
+ lsl r2, r5, #2
+ add r1, sp, #0x68
+ ldr r1, [r1, r2]
+ add r0, r6, #0
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x28]
+ lsl r2, r5, #2
+ ldr r1, [r1, r2]
+ ldr r2, [sp, #0x3c]
+ sub r0, r0, r1
+ str r0, [sp, #0xb4]
+ mov r0, #2
+ str r0, [sp, #0xcc]
+ mov r0, #0x50
+ str r0, [sp]
+ lsl r0, r5, #4
+ str r0, [sp, #4]
+ mov r0, #2
+ str r0, [sp, #8]
+ mov r0, #0x1c
+ str r0, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [r4]
+ add r1, r7, #0
+ add r3, sp, #0xb0
+ bl MOD11_022317E0
+ ldr r0, [sp, #0x4c]
+ add r0, r0, #1
+ str r0, [sp, #0x4c]
+ cmp r0, #6
+ blt _0223AD30
+ mov r0, #0xb
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223ADBA:
+ ldr r3, _0223AF60 ; =0x0225DC90
+ add r2, sp, #0x50
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_0222FF6C
+ mov r1, #0x24
+ str r1, [sp]
+ mov r1, #0x60
+ str r1, [sp, #4]
+ mov r1, #0xf
+ mov r2, #0x50
+ mov r3, #0
+ add r7, r0, #0
+ bl FUN_020196F4
+ mov r1, #0
+ str r1, [sp, #0x4c]
+ add r5, sp, #0xb0
+_0223ADEC:
+ ldr r0, _0223AF64 ; =0x000003B5
+ lsl r2, r1, #2
+ add r1, sp, #0x50
+ strh r0, [r5, #2]
+ mov r0, #7
+ ldr r1, [r1, r2]
+ strb r0, [r5, #1]
+ add r0, r6, #0
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0xb4]
+ mov r0, #3
+ str r0, [sp, #0xcc]
+ mov r0, #0x48
+ str r0, [sp]
+ ldr r0, [sp, #0x4c]
+ ldr r2, [sp, #0x3c]
+ lsl r0, r0, #4
+ str r0, [sp, #4]
+ mov r0, #2
+ str r0, [sp, #8]
+ mov r0, #0x24
+ str r0, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [r4]
+ add r1, r7, #0
+ add r3, r5, #0
+ bl MOD11_022317E0
+ ldr r0, [sp, #0x4c]
+ add r1, r0, #1
+ str r1, [sp, #0x4c]
+ cmp r1, #6
+ blt _0223ADEC
+ mov r0, #0xd
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AE3C:
+ ldr r0, _0223AF68 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ ldr r0, _0223AF6C ; =0x00000C03
+ tst r0, r1
+ bne _0223AE4E
+ bl FUN_02020AA4
+ cmp r0, #0
+ beq _0223AEDC
+_0223AE4E:
+ ldr r0, _0223AF70 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AE5E:
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_0222FF6C
+ add r6, r0, #0
+ mov r1, #0
+ bl FUN_0200CCF8
+ add r0, r6, #0
+ bl FUN_02019178
+ ldr r1, _0223AF50 ; =0x04000008
+ mov r0, #3
+ ldrh r2, [r1]
+ bic r2, r0
+ mov r0, #1
+ orr r2, r0
+ strh r2, [r1]
+ mov r1, #0
+ bl FUN_020178BC
+ mov r0, #2
+ mov r1, #1
+ bl FUN_020178BC
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_02231564
+ ldr r0, [r4, #4]
+ add r1, r0, r7
+ ldr r0, _0223AF4C ; =0x0000219C
+ ldrb r0, [r1, r0]
+ cmp r5, r0
+ beq _0223AEAC
+ ldr r0, [r4]
+ add r1, r4, #0
+ bl MOD11_0223D068
+_0223AEAC:
+ mov r0, #0x5f
+ ldr r1, [r4, #4]
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ bl FUN_02016A18
+ mov r0, #0xf
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AEC0:
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ add r1, r4, #0
+ add r0, r6, #0
+ add r1, #0x38
+ add r2, sp, #0x44
+ bl FUN_02069818
+ cmp r0, #0
+ beq _0223AEE6
+ ldr r1, _0223AF74 ; =0x0000FFFE
+ cmp r0, r1
+ bne _0223AEDE
+_0223AEDC:
+ b _0223B2AE
+_0223AEDE:
+ add r1, r1, #1
+ cmp r0, r1
+ beq _0223AEEE
+ b _0223AEFC
+_0223AEE6:
+ mov r0, #3
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AEEE:
+ add r0, sp, #0x44
+ ldrh r0, [r0]
+ add sp, #0xd4
+ str r0, [r4, #0x40]
+ mov r0, #0x10
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AEFC:
+ ldr r1, [r4, #4]
+ ldr r0, _0223AF4C ; =0x0000219C
+ add r2, r1, r7
+ ldrb r3, [r2, r0]
+ cmp r5, r3
+ bne _0223AF10
+ ldr r0, [r4]
+ add r2, r7, #0
+ bl MOD11_02243054
+_0223AF10:
+ mov r1, #4
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0xa
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ add r0, sp, #0x44
+ ldrh r0, [r0]
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x24
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AF42:
+ ldr r1, _0223AF78 ; =0x0000049A
+ b _0223AF7C
+ nop
+_0223AF48: .word 0x00003109
+_0223AF4C: .word 0x0000219C
+_0223AF50: .word 0x04000008
+_0223AF54: .word 0x0225DCD8
+_0223AF58: .word 0x0225DC60
+_0223AF5C: .word 0x000003B3
+_0223AF60: .word 0x0225DC90
+_0223AF64: .word 0x000003B5
+_0223AF68: .word 0x021C48B8
+_0223AF6C: .word 0x00000C03
+_0223AF70: .word 0x000005DC
+_0223AF74: .word 0x0000FFFE
+_0223AF78: .word 0x0000049A
+_0223AF7C:
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0xa
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r0, [r4, #0x40]
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AFAC:
+ ldr r1, _0223B2B4 ; =0x0000049B
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #2
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AFDA:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223B01E
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223AFF2:
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r3, _0223B2B8 ; =0x0000049C
+ add r2, r7, #0
+ bl MOD11_02255980
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B012:
+ ldr r0, [r4, #4]
+ add r1, r7, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ bne _0223B020
+_0223B01E:
+ b _0223B2AE
+_0223B020:
+ ldr r0, [r4, #4]
+ add r1, r7, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223B034
+ mov r0, #0x1f
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B034:
+ ldr r1, _0223B2BC ; =0x0000049F
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0
+ strb r1, [r0, #1]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x16
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B05A:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223B160
+ ldr r0, [r4]
+ ldr r2, [r4, #0x40]
+ add r1, r7, #0
+ add r3, r5, #0
+ bl MOD11_022562B0
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B07E:
+ ldr r0, [r4, #4]
+ add r1, r7, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223B092
+ mov r0, #0x1f
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B092:
+ ldr r0, [r4, #4]
+ add r1, r7, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223B160
+ ldr r1, [r4, #4]
+ lsl r0, r7, #8
+ add r1, r1, r0
+ mov r0, #0x23
+ lsl r0, r0, #8
+ ldrb r0, [r1, r0]
+ add sp, #0xd4
+ sub r0, r0, #1
+ str r0, [r4, #0x44]
+ mov r0, #0x18
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B0B6:
+ mov r1, #0x4a
+ lsl r1, r1, #4
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0
+ strb r1, [r0, #1]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B0E0:
+ mov r0, #2
+ str r0, [sp]
+ ldr r0, [r4, #0x40]
+ ldr r3, _0223B2C0 ; =0x000004A1
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r7, #0
+ bl MOD11_02255980
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B102:
+ ldr r0, [r4, #4]
+ add r1, r7, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223B160
+ ldr r0, [r4, #4]
+ add r1, r7, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223B122
+ mov r0, #0x10
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B122:
+ ldr r1, _0223B2C4 ; =0x000004A4
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0xa
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r0, [r4, #0x40]
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x23
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B152:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ beq _0223B162
+_0223B160:
+ b _0223B2AE
+_0223B162:
+ mov r0, #0xf
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B16A:
+ ldr r1, _0223B2C8 ; =0x000004A5
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0
+ strb r1, [r0, #1]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B192:
+ ldr r1, _0223B2CC ; =0x000004A6
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0xa
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r1, [r4, #0x44]
+ add r0, r6, #0
+ add r1, #0x36
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B1CE:
+ ldr r1, _0223B2D0 ; =0x000004A7
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0
+ strb r1, [r0, #1]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ ldr r0, [r4, #0x28]
+ add sp, #0xd4
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B1F6:
+ ldr r1, _0223B2D4 ; =0x000004A8
+ add r0, sp, #0xb0
+ strh r1, [r0, #2]
+ mov r1, #0xa
+ strb r1, [r0, #1]
+ lsl r0, r5, #8
+ orr r0, r7
+ str r0, [sp, #0xb4]
+ ldr r0, [r4, #0x40]
+ str r0, [sp, #0xb8]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x3c]
+ add r2, sp, #0xb0
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0
+ str r0, [sp, #0x4c]
+ ldr r1, [r4, #0x44]
+ add r0, r6, #0
+ add r1, #0x3e
+ add r2, sp, #0x4c
+ bl FUN_02067830
+ ldr r1, [r4, #0x40]
+ ldr r2, [r4, #0x44]
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x18
+ add r0, r6, #0
+ lsr r1, r1, #0x10
+ lsr r2, r2, #0x18
+ bl FUN_020697CC
+ ldr r1, [r4, #4]
+ ldr r0, _0223B2D8 ; =0x0000219C
+ add r2, r1, r7
+ ldrb r3, [r2, r0]
+ cmp r5, r3
+ bne _0223B254
+ ldr r0, [r4]
+ add r2, r7, #0
+ bl MOD11_02243054
+_0223B254:
+ mov r0, #0x24
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B25C:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223B2AE
+ mov r0, #0xf
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B272:
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x40]
+ ldr r2, [r4, #4]
+ mov r3, #0
+ mvn r3, r3
+ add r2, #0xa4
+ lsl r1, r1, #2
+ ldr r6, [r2, r1]
+ eor r0, r3
+ and r0, r6
+ str r0, [r2, r1]
+ add r0, r5, #1
+ str r0, [r4, #0x48]
+ mov r0, #0
+ add sp, #0xd4
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, r7, pc}
+_0223B298:
+ mov r0, #0x5e
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #2
+ str r2, [r1, r0]
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x14]
+ bl FUN_0200CAB4
+_0223B2AE:
+ add sp, #0xd4
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0223B2B4: .word 0x0000049B
+_0223B2B8: .word 0x0000049C
+_0223B2BC: .word 0x0000049F
+_0223B2C0: .word 0x000004A1
+_0223B2C4: .word 0x000004A4
+_0223B2C8: .word 0x000004A5
+_0223B2CC: .word 0x000004A6
+_0223B2D0: .word 0x000004A7
+_0223B2D4: .word 0x000004A8
+_0223B2D8: .word 0x0000219C
+
+ thumb_func_start MOD11_0223B2DC
+MOD11_0223B2DC: ; 0x0223B2DC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ str r0, [sp]
+ str r1, [sp, #4]
+ add r0, r2, #0
+ mov r1, #5
+ mov r4, #0
+ bl FUN_0206851C
+ add r7, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ bl FUN_0206B9B0
+ mov r1, #6
+ add r2, r4, #0
+ str r0, [sp, #0x14]
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r6, #0
+ mov r1, #1
+ mov r2, #5
+ bl FUN_0206E7B8
+ add r5, r0, #0
+ add r0, r6, #0
+ mov r1, #2
+ mov r2, #5
+ bl FUN_0206E7B8
+ add r6, r0, #0
+ add r0, r4, #0
+ str r0, [sp, #0x18]
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x20
+ str r0, [sp, #0xc]
+_0223B328:
+ ldr r1, [sp, #0x1c]
+ ldr r0, [sp, #0x14]
+ add r1, #0xd
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, [sp, #0xc]
+ strb r0, [r1]
+ add r0, r1, #0
+ ldrb r1, [r0]
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0xc]
+ add r0, r0, #1
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x1c]
+ add r0, r0, #1
+ str r0, [sp, #0x1c]
+ cmp r0, #6
+ blt _0223B328
+ mov r0, #0
+ str r0, [sp, #8]
+ add r0, sp, #0x20
+ str r0, [sp, #0x10]
+_0223B35E:
+ ldr r1, [sp, #0x18]
+ ldr r0, _0223B498 ; =0x000001FE
+ cmp r1, r0
+ blo _0223B368
+ b _0223B48C
+_0223B368:
+ ldr r0, [sp, #8]
+ cmp r0, #5
+ bhi _0223B414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223B37A: ; jump table
+ .short _0223B386 - _0223B37A - 2 ; case 0
+ .short _0223B39E - _0223B37A - 2 ; case 1
+ .short _0223B3B6 - _0223B37A - 2 ; case 2
+ .short _0223B3CE - _0223B37A - 2 ; case 3
+ .short _0223B3E6 - _0223B37A - 2 ; case 4
+ .short _0223B3FE - _0223B37A - 2 ; case 5
+_0223B386:
+ add r0, r7, #0
+ mov r1, #0xa
+ bl FUN_02068538
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ cmp r5, #0x79
+ bne _0223B414
+ add r0, r4, r6
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ b _0223B414
+_0223B39E:
+ add r0, r7, #0
+ mov r1, #0xb
+ bl FUN_02068538
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ cmp r5, #0x74
+ bne _0223B414
+ add r0, r4, r6
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ b _0223B414
+_0223B3B6:
+ add r0, r7, #0
+ mov r1, #0xc
+ bl FUN_02068538
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ cmp r5, #0x75
+ bne _0223B414
+ add r0, r4, r6
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ b _0223B414
+_0223B3CE:
+ add r0, r7, #0
+ mov r1, #0xd
+ bl FUN_02068538
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ cmp r5, #0x78
+ bne _0223B414
+ add r0, r4, r6
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ b _0223B414
+_0223B3E6:
+ add r0, r7, #0
+ mov r1, #0xe
+ bl FUN_02068538
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ cmp r5, #0x76
+ bne _0223B414
+ add r0, r4, r6
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ b _0223B414
+_0223B3FE:
+ add r0, r7, #0
+ mov r1, #0xf
+ bl FUN_02068538
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+ cmp r5, #0x77
+ bne _0223B414
+ add r0, r4, r6
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+_0223B414:
+ ldr r0, [sp, #4]
+ bl FUN_0206A92C
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ ldr r0, [sp]
+ lsr r1, r1, #0x18
+ bl FUN_02069CF4
+ cmp r0, #0
+ beq _0223B42E
+ lsl r0, r4, #0x11
+ asr r4, r0, #0x10
+_0223B42E:
+ cmp r5, #0x31
+ bne _0223B436
+ lsl r0, r4, #0x11
+ asr r4, r0, #0x10
+_0223B436:
+ ldr r0, [sp, #0x18]
+ ldr r1, _0223B498 ; =0x000001FE
+ add r0, r0, r4
+ cmp r0, r1
+ ble _0223B448
+ sub r0, r0, r1
+ sub r0, r4, r0
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+_0223B448:
+ ldr r0, [sp, #0x10]
+ ldrb r0, [r0]
+ add r0, r0, r4
+ cmp r0, #0xff
+ ble _0223B45A
+ sub r0, #0xff
+ sub r0, r4, r0
+ lsl r0, r0, #0x10
+ asr r4, r0, #0x10
+_0223B45A:
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0x10]
+ ldrb r0, [r0]
+ add r1, r0, r4
+ ldr r0, [sp, #0x10]
+ strb r1, [r0]
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #8]
+ add r0, r0, r4
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x14]
+ add r1, #0xd
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ add r0, r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #8]
+ add r0, r0, #1
+ str r0, [sp, #8]
+ cmp r0, #6
+ bge _0223B48C
+ b _0223B35E
+_0223B48C:
+ add r0, r7, #0
+ bl FUN_02068640
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223B498: .word 0x000001FE
+
+ thumb_func_start MOD11_0223B49C
+MOD11_0223B49C: ; 0x0223B49C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x158
+ add r4, r1, #0
+ str r0, [sp, #0x10]
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ str r0, [sp, #0x20]
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230068
+ mov r7, #1
+ str r0, [sp, #0x24]
+ add r0, r7, #0
+ ldr r6, [r4, #4]
+ bl FUN_0206A92C
+ ldr r1, _0223B7F0 ; =0x00003108
+ ldrb r1, [r6, r1]
+ tst r0, r1
+ beq _0223B4D0
+ mov r7, #3
+_0223B4D0:
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x20
+ bls _0223B4DA
+ bl _0223BFD0
+_0223B4DA:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223B4E6: ; jump table
+ .short _0223B528 - _0223B4E6 - 2 ; case 0
+ .short _0223B5E8 - _0223B4E6 - 2 ; case 1
+ .short _0223B634 - _0223B4E6 - 2 ; case 2
+ .short _0223B662 - _0223B4E6 - 2 ; case 3
+ .short _0223B68C - _0223B4E6 - 2 ; case 4
+ .short _0223B6A0 - _0223B4E6 - 2 ; case 5
+ .short _0223B6D4 - _0223B4E6 - 2 ; case 6
+ .short _0223B6F6 - _0223B4E6 - 2 ; case 7
+ .short _0223B716 - _0223B4E6 - 2 ; case 8
+ .short _0223B75C - _0223B4E6 - 2 ; case 9
+ .short _0223B77A - _0223B4E6 - 2 ; case 10
+ .short _0223B8BC - _0223B4E6 - 2 ; case 11
+ .short _0223B90A - _0223B4E6 - 2 ; case 12
+ .short _0223B990 - _0223B4E6 - 2 ; case 13
+ .short _0223B9E4 - _0223B4E6 - 2 ; case 14
+ .short _0223BA12 - _0223B4E6 - 2 ; case 15
+ .short _0223BA42 - _0223B4E6 - 2 ; case 16
+ .short _0223BAC4 - _0223B4E6 - 2 ; case 17
+ .short _0223BAEA - _0223B4E6 - 2 ; case 18
+ .short _0223BB12 - _0223B4E6 - 2 ; case 19
+ .short _0223BB6A - _0223B4E6 - 2 ; case 20
+ .short _0223BC38 - _0223B4E6 - 2 ; case 21
+ .short _0223BC7E - _0223B4E6 - 2 ; case 22
+ .short _0223BC7E - _0223B4E6 - 2 ; case 23
+ .short _0223BDD8 - _0223B4E6 - 2 ; case 24
+ .short _0223BE26 - _0223B4E6 - 2 ; case 25
+ .short _0223BE62 - _0223B4E6 - 2 ; case 26
+ .short _0223BEA6 - _0223B4E6 - 2 ; case 27
+ .short _0223BED8 - _0223B4E6 - 2 ; case 28
+ .short _0223BEF0 - _0223B4E6 - 2 ; case 29
+ .short _0223BF06 - _0223B4E6 - 2 ; case 30
+ .short _0223BF5E - _0223B4E6 - 2 ; case 31
+ .short _0223BF8E - _0223B4E6 - 2 ; case 32
+_0223B528:
+ ldr r0, [r4, #0x24]
+ cmp r0, #0
+ bne _0223B5A4
+ mov r0, #3
+ str r0, [sp, #0x138]
+ mov r0, #5
+ str r0, [sp, #0x134]
+ ldr r0, _0223B7F4 ; =0x00004E20
+ add r0, r7, r0
+ str r0, [sp, #0x13c]
+ ldr r0, [r4, #0x2c]
+ str r0, [sp, #0x140]
+ ldr r0, [r4]
+ bl MOD11_02230078
+ str r0, [sp, #0x14c]
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ str r0, [sp, #0x150]
+ mov r0, #1
+ str r0, [sp, #0x144]
+ mov r0, #0
+ str r0, [sp, #0x148]
+ ldr r0, [r4]
+ str r0, [sp, #0x154]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _0223B578
+ cmp r7, #1
+ bne _0223B572
+ mov r0, #0x10
+ str r0, [sp, #0x130]
+ b _0223B57C
+_0223B572:
+ mov r0, #0x11
+ str r0, [sp, #0x130]
+ b _0223B57C
+_0223B578:
+ mov r0, #0xf
+ str r0, [sp, #0x130]
+_0223B57C:
+ add r0, sp, #0x130
+ bl MOD08_02229918
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [r4, #0x28]
+ ldr r0, _0223B7F8 ; =0x0000070A
+ bl FUN_020054C8
+ ldr r2, [r4]
+ ldr r0, _0223B7FC ; =0x0000241E
+ ldrh r1, [r2, r0]
+ add r1, r1, #1
+ strh r1, [r2, r0]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl MOD08_02228AB8
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B5A4:
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A80
+ cmp r0, #4
+ beq _0223B678
+ add r0, r5, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ add r5, #0x88
+ str r0, [r4, #8]
+ mov r0, #0
+ str r0, [r5]
+ mov r0, #1
+ str r0, [r4, #0x28]
+ ldr r0, _0223B7F8 ; =0x0000070A
+ bl FUN_020054C8
+ ldr r2, [r4]
+ ldr r0, _0223B7FC ; =0x0000241E
+ ldrh r1, [r2, r0]
+ add r1, r1, #1
+ strh r1, [r2, r0]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl MOD08_02228AB8
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B5E8:
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223B678
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ beq _0223B618
+ ldr r0, _0223B800 ; =0x000005E6
+ mov r1, #0x75
+ bl FUN_020054A8
+ ldr r0, [r4, #8]
+ mov r1, #2
+ bl MOD08_02228AB8
+ mov r0, #0x19
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B618:
+ ldr r0, _0223B804 ; =0x00000708
+ mov r1, #0x75
+ bl FUN_020054A8
+ ldr r0, [r4, #8]
+ mov r1, #1
+ bl MOD08_02228AB8
+ mov r0, #2
+ str r0, [r4, #0x28]
+ mov r0, #0x17
+ add sp, #0x158
+ str r0, [r4, #0x34]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B634:
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223B678
+ ldr r0, [r4]
+ ldr r2, [r4, #0x2c]
+ add r1, r7, #0
+ bl MOD11_02254EA8
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ bl MOD11_0223BFD8
+ str r0, [r4, #0x38]
+ cmp r0, #4
+ bge _0223B656
+ b _0223B658
+_0223B656:
+ mov r0, #3
+_0223B658:
+ str r0, [r4, #0x3c]
+ mov r0, #3
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B662:
+ ldr r0, [r4, #8]
+ mov r1, #1
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223B678
+ ldr r0, [r4, #4]
+ bl MOD11_02243388
+ cmp r0, #0
+ bne _0223B67C
+_0223B678:
+ bl _0223BFD0
+_0223B67C:
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl MOD08_02228AB8
+ mov r0, #4
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B68C:
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223B78E
+ mov r0, #5
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B6A0:
+ ldr r0, [r4, #0x3c]
+ cmp r0, #0
+ bne _0223B6C0
+ ldr r0, [r4, #0x38]
+ cmp r0, #4
+ bne _0223B6B8
+ mov r0, #7
+ str r0, [r4, #0x28]
+ mov r0, #0xc
+ add sp, #0x158
+ str r0, [r4, #0x34]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B6B8:
+ mov r0, #0x1c
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B6C0:
+ ldr r0, [r4, #8]
+ mov r1, #4
+ bl MOD08_02228AB8
+ mov r0, #6
+ str r0, [r4, #0x28]
+ mov r0, #0xc
+ add sp, #0x158
+ str r0, [r4, #0x34]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B6D4:
+ ldr r0, [r4, #8]
+ mov r1, #4
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223B78E
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223B78E
+ ldr r0, [r4, #0x3c]
+ add sp, #0x158
+ sub r0, r0, #1
+ str r0, [r4, #0x3c]
+ mov r0, #5
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B6F6:
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223B78E
+ ldr r0, [r4, #8]
+ mov r1, #6
+ bl MOD08_02228AB8
+ ldr r0, _0223B808 ; =0x00000709
+ mov r1, #0x75
+ bl FUN_020054A8
+ mov r0, #8
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B716:
+ ldr r0, [r4, #8]
+ mov r1, #6
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223B78E
+ ldr r1, _0223B80C ; =0x00000363
+ add r0, sp, #0x10c
+ strh r1, [r0, #2]
+ mov r1, #0x82
+ strb r1, [r0, #1]
+ str r7, [sp, #0x110]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x20]
+ add r2, sp, #0x10c
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ mov r0, #9
+ str r0, [r4, #0x28]
+ ldr r0, _0223B810 ; =0x00000467
+ bl FUN_0200521C
+ ldr r0, [r4]
+ mov r1, #2
+ bl MOD11_02231484
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B75C:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223B78E
+ mov r0, #0xa
+ str r0, [r4, #0x28]
+ ldr r0, [r4, #8]
+ mov r1, #7
+ bl MOD08_02228AB8
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B77A:
+ ldr r0, [r4, #8]
+ mov r1, #7
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223B78E
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ beq _0223B792
+_0223B78E:
+ bl _0223BFD0
+_0223B792:
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_022314D4
+ ldr r2, [r4, #4]
+ ldr r0, [r4]
+ add r3, r2, r7
+ ldr r2, _0223B814 ; =0x0000219C
+ add r1, r7, #0
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #6
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _0223B83C
+ ldr r2, [r4, #4]
+ ldr r0, [r4]
+ add r3, r2, r7
+ ldr r2, _0223B814 ; =0x0000219C
+ add r1, r7, #0
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ add r2, r0, #0
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ bl MOD11_0224AD38
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223B818 ; =0x0000FFFF
+ b _0223B81C
+ nop
+_0223B7F0: .word 0x00003108
+_0223B7F4: .word 0x00004E20
+_0223B7F8: .word 0x0000070A
+_0223B7FC: .word 0x0000241E
+_0223B800: .word 0x000005E6
+_0223B804: .word 0x00000708
+_0223B808: .word 0x00000709
+_0223B80C: .word 0x00000363
+_0223B810: .word 0x00000467
+_0223B814: .word 0x0000219C
+_0223B818: .word 0x0000FFFF
+_0223B81C:
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ ldr r0, [sp, #0x24]
+ mov r2, #0x10
+ add r3, r1, #0
+ str r1, [sp]
+ bl FUN_02007E98
+ mov r0, #0x20
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B83C:
+ add r0, r6, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ add r1, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231668
+ cmp r0, #0
+ beq _0223B88A
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223BBD4 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #5
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ ldr r0, [sp, #0x24]
+ mov r2, #0x10
+ add r3, r1, #0
+ str r1, [sp]
+ bl FUN_02007E98
+ mov r0, #0x10
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B88A:
+ ldr r1, _0223BBD8 ; =0x00000367
+ add r0, sp, #0xe8
+ strh r1, [r0, #2]
+ mov r1, #0x82
+ strb r1, [r0, #1]
+ str r7, [sp, #0xec]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x20]
+ add r2, sp, #0xe8
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ mov r0, #0xb
+ str r0, [r4, #0x28]
+ ldr r0, [r4]
+ bl MOD11_0223129C
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B8BC:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223B914
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223B914
+ mov r0, #0xc
+ str r0, [r4, #0x28]
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223BBD4 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #5
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ ldr r0, [sp, #0x24]
+ str r1, [sp]
+ mov r2, #0x10
+ add r3, r1, #0
+ bl FUN_02007E98
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B90A:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ beq _0223B916
+_0223B914:
+ b _0223BFD0
+_0223B916:
+ ldr r0, [r4, #8]
+ bl MOD08_02229A2C
+ ldr r0, [sp, #0x24]
+ bl FUN_02007540
+ ldr r0, [r4]
+ bl MOD11_0222D944
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_02230088
+ mov r1, #0
+ bl MOD11_022583C8
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_02230088
+ mov r1, #0
+ bl MOD11_022583C8
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ str r0, [sp, #0xd0]
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ str r0, [sp, #0xd4]
+ ldr r0, [sp, #0x24]
+ add r1, r7, #0
+ str r0, [sp, #0xd8]
+ mov r0, #5
+ str r0, [sp, #0xdc]
+ ldr r2, [r4, #4]
+ ldr r0, [r4]
+ add r3, r2, r7
+ ldr r2, _0223BBDC ; =0x0000219C
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ str r0, [sp, #0xe0]
+ ldr r0, [r4]
+ bl MOD11_022300D0
+ bl FUN_0206BB34
+ str r0, [sp, #0xe4]
+ bl FUN_0201D658
+ str r0, [r4, #0x54]
+ add r0, sp, #0xd0
+ bl FUN_021EEF0C
+ str r0, [r4, #0x50]
+ mov r0, #0xd
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B990:
+ ldr r0, [r4, #0x50]
+ bl FUN_021EEF84
+ cmp r0, #0
+ beq _0223BA4C
+ ldr r0, _0223BBE0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #1
+ tst r0, r1
+ beq _0223B9AA
+ mov r0, #0xe
+ str r0, [r4, #0x28]
+ b _0223B9BC
+_0223B9AA:
+ bl FUN_02020AA4
+ cmp r0, #0
+ beq _0223B9BC
+ ldr r0, _0223BBE4 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xe
+ str r0, [r4, #0x28]
+_0223B9BC:
+ ldr r0, [r4, #0x28]
+ cmp r0, #0xe
+ bne _0223BA4C
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223BBD4 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #5
+ mov r3, #1
+ bl FUN_02003210
+ ldr r0, [r4, #0x50]
+ mov r1, #0
+ bl FUN_021EEF9C
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223B9E4:
+ ldr r0, [r4, #0x50]
+ bl FUN_021EEF98
+ add r5, r0, #0
+ mov r1, #0
+ mov r2, #4
+ bl FUN_020079E0
+ add r0, r5, #0
+ mov r1, #0
+ bl FUN_0200782C
+ cmp r0, #0x80
+ blt _0223BA4C
+ add r0, r5, #0
+ mov r1, #0
+ mov r2, #0x80
+ bl FUN_02007558
+ mov r0, #0xf
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BA12:
+ ldr r0, [r4, #0x50]
+ bl FUN_021EEF68
+ ldr r0, [r4, #0x54]
+ bl FUN_0201D674
+ ldr r0, [r4]
+ bl MOD11_0222D980
+ mov r0, #0x10
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r2, _0223BBD4 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #5
+ mov r3, #1
+ bl FUN_02003210
+ mov r0, #0x11
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BA42:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ beq _0223BA4E
+_0223BA4C:
+ b _0223BFD0
+_0223BA4E:
+ ldr r2, [r4, #4]
+ ldr r0, [r4]
+ add r3, r2, r7
+ ldr r2, _0223BBDC ; =0x0000219C
+ add r1, r7, #0
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ add r6, r0, #0
+ ldr r0, [r4, #8]
+ bl MOD08_02229A2C
+ ldr r0, [sp, #0x24]
+ bl FUN_02007540
+ ldr r0, [r4]
+ bl MOD11_0222D944
+ ldr r0, [r4]
+ bl MOD11_0222D980
+ add r0, sp, #0xc0
+ add r1, r6, #0
+ mov r2, #2
+ bl FUN_02068B68
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x24]
+ add r1, sp, #0xc0
+ mov r2, #0x80
+ mov r3, #0x48
+ bl FUN_020073A0
+ mov r0, #0x10
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r2, _0223BBD4 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #5
+ mov r3, #1
+ bl FUN_02003210
+ mov r2, #0
+ ldr r0, [sp, #0x24]
+ mov r1, #0x10
+ add r3, r2, #0
+ str r2, [sp]
+ bl FUN_02007E98
+ mov r0, #0x11
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BAC4:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _0223BB74
+ mov r0, #0x12
+ str r0, [r4, #0x28]
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #0
+ bl FUN_020143A8
+ add r0, r5, #0
+ mov r1, #1
+ bl FUN_020038F0
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BAEA:
+ ldr r1, [r4, #4]
+ mov r0, #5
+ str r0, [sp]
+ mov r2, #0
+ ldr r0, _0223BBDC ; =0x0000219C
+ str r2, [sp, #4]
+ add r3, r1, r7
+ ldrb r0, [r3, r0]
+ mov r3, #0xd9
+ lsl r3, r3, #2
+ orr r0, r7
+ str r0, [sp, #8]
+ ldr r0, [r4]
+ bl MOD11_02255980
+ ldr r0, [r4, #0x28]
+ add sp, #0x158
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BB12:
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223BB74
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223BB32
+ mov r0, #0x16
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BB32:
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223BBD4 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ ldr r0, [sp, #0x24]
+ mov r2, #0x10
+ add r3, r1, #0
+ str r1, [sp]
+ bl FUN_02007E98
+ mov r0, #0x14
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BB6A:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ beq _0223BB76
+_0223BB74:
+ b _0223BFD0
+_0223BB76:
+ mov r0, #0
+ add r1, r0, #0
+ bl FUN_0200E3A0
+ mov r0, #1
+ mov r1, #0
+ bl FUN_0200E3A0
+ ldr r2, [r4, #4]
+ ldr r0, [r4]
+ add r3, r2, r7
+ ldr r2, _0223BBDC ; =0x0000219C
+ add r1, r7, #0
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ mov r1, #5
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230E18
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #1
+ add r2, r5, #0
+ mov r3, #0xa
+ bl FUN_02077A84
+ add r5, r0, #0
+ str r5, [r4, #0x54]
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_0222FFC8
+ cmp r0, #6
+ bge _0223BBCA
+ mov r0, #0
+ b _0223BBEE
+_0223BBCA:
+ ldr r0, [r4]
+ bl MOD11_02231280
+ ldr r1, _0223BBE8 ; =0x00000496
+ b _0223BBEC
+ .align 2, 0
+_0223BBD4: .word 0x0000FFFF
+_0223BBD8: .word 0x00000367
+_0223BBDC: .word 0x0000219C
+_0223BBE0: .word 0x021C48B8
+_0223BBE4: .word 0x000005DC
+_0223BBE8: .word 0x00000496
+_0223BBEC:
+ add r0, r0, r1
+_0223BBEE:
+ str r0, [r5, #0x44]
+ add r0, r6, #0
+ mov r1, #0x70
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [r5, #8]
+ ldr r0, [r4]
+ bl MOD11_02230290
+ str r0, [r5, #0x48]
+ add r0, r6, #0
+ mov r1, #0x6f
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [r5, #0x10]
+ ldr r0, _0223BF18 ; =0x020FA5FC
+ add r1, r5, #0
+ mov r2, #5
+ bl FUN_02006234
+ str r0, [r4, #0x50]
+ mov r0, #0x15
+ str r0, [r4, #0x28]
+ ldr r0, [r4]
+ bl MOD11_02231438
+ ldr r0, [r4]
+ bl MOD11_0222D840
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_02231338
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BC38:
+ ldr r0, [r4, #0x50]
+ bl FUN_02006290
+ cmp r0, #0
+ beq _0223BC88
+ ldr r2, [r4, #4]
+ ldr r5, [r4, #0x54]
+ add r3, r2, r7
+ ldr r2, _0223BF1C ; =0x0000219C
+ ldr r0, [r4]
+ ldrb r2, [r3, r2]
+ add r1, r7, #0
+ bl MOD11_02230014
+ ldr r1, [r5, #0x14]
+ cmp r1, #0
+ bne _0223BC62
+ ldr r2, [r5, #0x18]
+ mov r1, #0x77
+ bl FUN_02067830
+_0223BC62:
+ add r0, r5, #0
+ bl FUN_02077AC4
+ ldr r0, [r4, #0x50]
+ bl FUN_02006260
+ ldr r0, [r4]
+ mov r1, #2
+ bl MOD11_02231338
+ mov r0, #0x17
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BC7E:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ beq _0223BC8A
+_0223BC88:
+ b _0223BFD0
+_0223BC8A:
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_0222FF88
+ ldr r2, [r4, #4]
+ str r0, [sp, #0x28]
+ add r3, r2, r7
+ ldr r2, _0223BF1C ; =0x0000219C
+ ldr r0, [r4]
+ ldrb r2, [r3, r2]
+ add r1, r7, #0
+ bl MOD11_02230014
+ add r6, r0, #0
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_02231628
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r6, #0
+ bl MOD11_0224AD38
+ ldr r0, [r4]
+ add r1, r6, #0
+ bl MOD11_02230F88
+ ldr r0, [r4]
+ add r1, r6, #0
+ bl MOD11_02230FA8
+ mov r1, #0
+ ldr r0, [r4]
+ add r2, r1, #0
+ mov r3, #9
+ bl MOD11_022564A8
+ ldr r0, [sp, #0x28]
+ add r1, r6, #0
+ bl FUN_0206B900
+ cmp r0, #1
+ bne _0223BD1E
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x16
+ bne _0223BD16
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223BF20 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ ldr r0, [sp, #0x24]
+ mov r2, #0x10
+ add r3, r1, #0
+ str r1, [sp]
+ bl FUN_02007E98
+_0223BD16:
+ mov r0, #0x20
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BD1E:
+ ldr r0, [r4]
+ bl MOD11_02230290
+ str r0, [sp, #0x1c]
+ bl FUN_0206B330
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x1c]
+ bl FUN_0206B334
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x14]
+ bl FUN_0206B428
+ mov r5, #0
+_0223BD3E:
+ add r1, r5, #0
+ add r0, r6, #0
+ add r1, #0x42
+ mov r2, #0
+ bl FUN_020671BC
+ add r1, r5, #0
+ str r0, [sp, #0x2c]
+ add r0, r6, #0
+ add r1, #0x3a
+ add r2, sp, #0x2c
+ bl FUN_02067830
+ add r5, r5, #1
+ cmp r5, #4
+ blt _0223BD3E
+ add r0, r6, #0
+ bl FUN_020690E4
+ add r2, r0, #0
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x14]
+ bl FUN_0206B244
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x16
+ bne _0223BDD0
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ ldr r0, [r4]
+ bne _0223BD96
+ bl MOD11_02231280
+ ldr r1, _0223BF24 ; =0x00000496
+ add r1, r0, r1
+ add r0, sp, #0x9c
+ strh r1, [r0, #2]
+ mov r1, #0x93
+ strb r1, [r0, #1]
+ ldr r0, [sp, #0x18]
+ str r7, [sp, #0xa0]
+ str r0, [sp, #0xa4]
+ b _0223BDB0
+_0223BD96:
+ bl MOD11_02231280
+ ldr r1, _0223BF28 ; =0x00000498
+ add r1, r0, r1
+ add r0, sp, #0x9c
+ strh r1, [r0, #2]
+ mov r1, #0xaf
+ strb r1, [r0, #1]
+ ldr r0, [sp, #0x18]
+ str r7, [sp, #0xa0]
+ str r0, [sp, #0xa4]
+ ldr r0, [sp, #0x14]
+ str r0, [sp, #0xa8]
+_0223BDB0:
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x20]
+ add r2, sp, #0x9c
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ mov r0, #0x18
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BDD0:
+ mov r0, #0x20
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BDD8:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223BEBC
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223BEBC
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _0223BF20 ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ ldr r0, [sp, #0x24]
+ mov r2, #0x10
+ add r3, r1, #0
+ str r1, [sp]
+ bl FUN_02007E98
+ mov r0, #0x20
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BE26:
+ ldr r0, [r4, #8]
+ mov r1, #2
+ bl MOD08_02228AC0
+ cmp r0, #0
+ bne _0223BEBC
+ ldr r0, [r4, #8]
+ bl MOD08_02229A2C
+ ldr r1, _0223BF2C ; =0x0000035B
+ add r0, sp, #0x78
+ strh r1, [r0, #2]
+ mov r1, #0
+ strb r1, [r0, #1]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x20]
+ add r2, sp, #0x78
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ mov r0, #0x1a
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BE62:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223BEBC
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223BEBC
+ mov r1, #0xd7
+ lsl r1, r1, #2
+ add r0, sp, #0x2c
+ strh r1, [r0, #0x2a]
+ mov r1, #0
+ add r0, sp, #0x54
+ strb r1, [r0, #1]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x20]
+ add r2, sp, #0x54
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ mov r0, #0x1b
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BEA6:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223BEBC
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ beq _0223BEBE
+_0223BEBC:
+ b _0223BFD0
+_0223BEBE:
+ mov r0, #0x5e
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #2
+ str r2, [r1, r0]
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x10]
+ bl FUN_0200CAB4
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BED8:
+ ldr r0, [r4]
+ ldr r2, [r4, #0x2c]
+ add r1, r7, #0
+ mov r3, #1
+ bl MOD11_02254B40
+ mov r0, #0x1d
+ str r0, [r4, #0x28]
+ mov r0, #2
+ add sp, #0x158
+ str r0, [r4, #0x34]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BEF0:
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223BFD0
+ ldr r0, [r4, #8]
+ bl MOD08_02229A2C
+ mov r0, #0x1e
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BF06:
+ add r0, r6, #0
+ bl MOD11_02243388
+ cmp r0, #0
+ beq _0223BFD0
+ ldr r1, [r4, #0x38]
+ ldr r0, _0223BF30 ; =0x0000035F
+ b _0223BF34
+ nop
+_0223BF18: .word 0x020FA5FC
+_0223BF1C: .word 0x0000219C
+_0223BF20: .word 0x0000FFFF
+_0223BF24: .word 0x00000496
+_0223BF28: .word 0x00000498
+_0223BF2C: .word 0x0000035B
+_0223BF30: .word 0x0000035F
+_0223BF34:
+ add r1, r1, r0
+ add r0, sp, #0x2c
+ strh r1, [r0, #6]
+ mov r1, #0
+ strb r1, [r0, #5]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ ldr r1, [sp, #0x20]
+ add r2, sp, #0x30
+ bl MOD11_0223178C
+ str r0, [r4, #0x30]
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ mov r0, #0x1f
+ add sp, #0x158
+ str r0, [r4, #0x28]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BF5E:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0223BFD0
+ ldr r0, [r4, #0x34]
+ sub r0, r0, #1
+ str r0, [r4, #0x34]
+ bne _0223BFD0
+ mov r0, #0x5e
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #2
+ str r2, [r1, r0]
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x10]
+ bl FUN_0200CAB4
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BF8E:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _0223BFD0
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #6
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _0223BFB2
+ ldr r0, [r4, #8]
+ bl MOD08_02229A2C
+ ldr r0, [sp, #0x24]
+ bl FUN_02007540
+_0223BFB2:
+ ldr r1, [r4]
+ ldr r0, _0223BFD4 ; =0x0000241C
+ mov r2, #4
+ strb r2, [r1, r0]
+ mov r0, #0x5e
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #2
+ str r2, [r1, r0]
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x10]
+ bl FUN_0200CAB4
+_0223BFD0:
+ add sp, #0x158
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223BFD4: .word 0x0000241C
+
+ thumb_func_start MOD11_0223BFD8
+MOD11_0223BFD8: ; 0x0223BFD8
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ add r4, r1, #0
+ bl MOD11_0222FF74
+ mov r1, #6
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _0223BFEE
+ mov r0, #4
+ pop {r3, r4, r5, r6, r7, pc}
+_0223BFEE:
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ ldr r1, [r4, #0x6c]
+ cmp r0, #5
+ bne _0223C026
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r1, r0]
+ mov r1, #8
+ bl FUN_02068678
+ ldr r1, _0223C200 ; =0x0000311C
+ ldr r2, _0223C204 ; =0x0225DCF0
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #1
+ ldrb r2, [r2, r1]
+ mul r2, r0
+ add r0, r2, #0
+ ldr r2, _0223C208 ; =0x0225DCF1
+ ldrb r1, [r2, r1]
+ blx _u32_div_f
+ str r0, [sp]
+ b _0223C03A
+_0223C026:
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r1, r0]
+ mov r1, #8
+ bl FUN_02068678
+ str r0, [sp]
+_0223C03A:
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ mov r5, #0xa
+ bl MOD11_02243420
+ add r7, r0, #0
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ add r1, r0, #0
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ ldr r2, [r4, r0]
+ cmp r2, #5
+ ble _0223C128
+ cmp r2, #0xf
+ bhi _0223C12E
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0223C072: ; jump table
+ .short _0223C12E - _0223C072 - 2 ; case 0
+ .short _0223C12E - _0223C072 - 2 ; case 1
+ .short _0223C12E - _0223C072 - 2 ; case 2
+ .short _0223C12E - _0223C072 - 2 ; case 3
+ .short _0223C12E - _0223C072 - 2 ; case 4
+ .short _0223C12E - _0223C072 - 2 ; case 5
+ .short _0223C092 - _0223C072 - 2 ; case 6
+ .short _0223C0A6 - _0223C072 - 2 ; case 7
+ .short _0223C0B4 - _0223C072 - 2 ; case 8
+ .short _0223C0D0 - _0223C072 - 2 ; case 9
+ .short _0223C0EC - _0223C072 - 2 ; case 10
+ .short _0223C12E - _0223C072 - 2 ; case 11
+ .short _0223C12E - _0223C072 - 2 ; case 12
+ .short _0223C0FA - _0223C072 - 2 ; case 13
+ .short _0223C12E - _0223C072 - 2 ; case 14
+ .short _0223C11C - _0223C072 - 2 ; case 15
+_0223C092:
+ cmp r7, #0xb
+ beq _0223C0A2
+ cmp r1, #0xb
+ beq _0223C0A2
+ cmp r7, #6
+ beq _0223C0A2
+ cmp r1, #6
+ bne _0223C12E
+_0223C0A2:
+ mov r5, #0x1e
+ b _0223C12E
+_0223C0A6:
+ add r0, r6, #0
+ bl MOD11_02230294
+ cmp r0, #7
+ bne _0223C12E
+ mov r5, #0x23
+ b _0223C12E
+_0223C0B4:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0223C20C ; =0x00002D74
+ ldrb r1, [r1, r0]
+ cmp r1, #0x28
+ bhs _0223C12E
+ mov r0, #0x28
+ sub r5, r0, r1
+ cmp r5, #0xa
+ bhs _0223C12E
+ mov r5, #0xa
+ b _0223C12E
+_0223C0D0:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ ldrh r1, [r2, r1]
+ add r0, r6, #0
+ bl MOD11_02231668
+ cmp r0, #1
+ bne _0223C12E
+ mov r5, #0x1e
+ b _0223C12E
+_0223C0EC:
+ add r0, #0x28
+ ldr r5, [r4, r0]
+ add r5, #0xa
+ cmp r5, #0x28
+ bls _0223C12E
+ mov r5, #0x28
+ b _0223C12E
+_0223C0FA:
+ add r0, r6, #0
+ bl MOD11_02230C5C
+ cmp r0, #3
+ beq _0223C118
+ add r0, r6, #0
+ bl MOD11_02230C5C
+ cmp r0, #4
+ beq _0223C118
+ add r0, r6, #0
+ bl MOD11_02230294
+ cmp r0, #5
+ bne _0223C12E
+_0223C118:
+ mov r5, #0x23
+ b _0223C12E
+_0223C11C:
+ add r0, #0x28
+ ldr r0, [r4, r0]
+ cmp r0, #1
+ bge _0223C12E
+ mov r5, #0x28
+ b _0223C12E
+_0223C128:
+ ldr r0, _0223C210 ; =0x0225DC28
+ sub r1, r2, #2
+ ldrb r5, [r0, r1]
+_0223C12E:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ add r6, r1, #0
+ mul r6, r0
+ ldr r0, _0223C214 ; =0x00002D90
+ add r1, r4, r6
+ ldr r1, [r1, r0]
+ lsl r0, r1, #1
+ add r7, r1, r0
+ ldr r1, [sp]
+ add r0, r1, #0
+ mul r0, r5
+ mov r1, #0xa
+ blx _u32_div_f
+ ldr r1, _0223C218 ; =0x00002D8C
+ add r2, r4, r6
+ ldr r1, [r2, r1]
+ lsl r1, r1, #1
+ sub r1, r7, r1
+ mul r1, r0
+ add r0, r1, #0
+ add r1, r7, #0
+ blx _u32_div_f
+ add r1, r0, #0
+ ldr r0, _0223C21C ; =0x00002DAC
+ add r2, r4, r6
+ ldr r2, [r2, r0]
+ mov r0, #0x27
+ tst r0, r2
+ beq _0223C170
+ lsl r1, r1, #1
+_0223C170:
+ mov r0, #0xd8
+ tst r0, r2
+ beq _0223C182
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _u32_div_f
+ add r1, r0, #0
+_0223C182:
+ cmp r1, #0xff
+ blo _0223C18A
+ mov r5, #4
+ b _0223C1FA
+_0223C18A:
+ ldr r0, _0223C220 ; =0x040002B0
+ mov r2, #0
+ strh r2, [r0]
+ mov r0, #0xff
+ lsl r0, r0, #0x10
+ blx _u32_div_f
+ ldr r1, _0223C224 ; =0x040002B8
+ add r2, r1, #0
+ str r0, [r1]
+ sub r2, #8
+ lsr r0, r1, #0xb
+_0223C1A2:
+ ldrh r1, [r2]
+ tst r1, r0
+ bne _0223C1A2
+ ldr r3, _0223C220 ; =0x040002B0
+ lsr r0, r3, #0xb
+_0223C1AC:
+ ldrh r1, [r3]
+ tst r1, r0
+ bne _0223C1AC
+ ldr r2, _0223C228 ; =0x040002B4
+ mov r0, #0
+ ldr r1, [r2]
+ strh r0, [r3]
+ mov r0, #2
+ str r1, [r2, #4]
+ sub r2, r2, #4
+ lsl r0, r0, #0xe
+_0223C1C2:
+ ldrh r1, [r2]
+ tst r1, r0
+ bne _0223C1C2
+ ldr r2, _0223C220 ; =0x040002B0
+ lsr r0, r2, #0xb
+_0223C1CC:
+ ldrh r1, [r2]
+ tst r1, r0
+ bne _0223C1CC
+ ldr r1, _0223C228 ; =0x040002B4
+ ldr r0, _0223C22C ; =0x000FFFF0
+ ldr r1, [r1]
+ blx _u32_div_f
+ add r6, r0, #0
+ mov r5, #0
+_0223C1E0:
+ bl FUN_0201B9EC
+ cmp r0, r6
+ bhs _0223C1EE
+ add r5, r5, #1
+ cmp r5, #4
+ blt _0223C1E0
+_0223C1EE:
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ cmp r0, #1
+ bne _0223C1FA
+ mov r5, #4
+_0223C1FA:
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223C200: .word 0x0000311C
+_0223C204: .word 0x0225DCF0
+_0223C208: .word 0x0225DCF1
+_0223C20C: .word 0x00002D74
+_0223C210: .word 0x0225DC28
+_0223C214: .word 0x00002D90
+_0223C218: .word 0x00002D8C
+_0223C21C: .word 0x00002DAC
+_0223C220: .word 0x040002B0
+_0223C224: .word 0x040002B8
+_0223C228: .word 0x040002B4
+_0223C22C: .word 0x000FFFF0
+
+ thumb_func_start MOD11_0223C230
+MOD11_0223C230: ; 0x0223C230
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0
+ add r6, r1, #0
+ cmp r2, #0x16
+ bgt _0223C27A
+ cmp r2, #0
+ blt _0223C280
+ add r1, r2, r2
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0223C24C: ; jump table
+ .short _0223C280 - _0223C24C - 2 ; case 0
+ .short _0223C280 - _0223C24C - 2 ; case 1
+ .short _0223C284 - _0223C24C - 2 ; case 2
+ .short _0223C320 - _0223C24C - 2 ; case 3
+ .short _0223C29C - _0223C24C - 2 ; case 4
+ .short _0223C288 - _0223C24C - 2 ; case 5
+ .short _0223C28C - _0223C24C - 2 ; case 6
+ .short _0223C290 - _0223C24C - 2 ; case 7
+ .short _0223C296 - _0223C24C - 2 ; case 8
+ .short _0223C346 - _0223C24C - 2 ; case 9
+ .short _0223C2C2 - _0223C24C - 2 ; case 10
+ .short _0223C36E - _0223C24C - 2 ; case 11
+ .short _0223C2EA - _0223C24C - 2 ; case 12
+ .short _0223C280 - _0223C24C - 2 ; case 13
+ .short _0223C3A4 - _0223C24C - 2 ; case 14
+ .short _0223C3AC - _0223C24C - 2 ; case 15
+ .short _0223C3B4 - _0223C24C - 2 ; case 16
+ .short _0223C3F0 - _0223C24C - 2 ; case 17
+ .short _0223C280 - _0223C24C - 2 ; case 18
+ .short _0223C42C - _0223C24C - 2 ; case 19
+ .short _0223C456 - _0223C24C - 2 ; case 20
+ .short _0223C480 - _0223C24C - 2 ; case 21
+ .short _0223C28C - _0223C24C - 2 ; case 22
+_0223C27A:
+ cmp r2, #0xff
+ bne _0223C280
+ b _0223C480
+_0223C280:
+ ldr r5, [r6, #0x64]
+ b _0223C486
+_0223C284:
+ ldr r5, [r6, #0x6c]
+ b _0223C486
+_0223C288:
+ ldr r5, [r6, #0x74]
+ b _0223C486
+_0223C28C:
+ ldr r5, [r6, #0x78]
+ b _0223C486
+_0223C290:
+ add r6, #0x94
+ ldr r5, [r6]
+ b _0223C486
+_0223C296:
+ add r6, #0x80
+ ldr r5, [r6]
+ b _0223C486
+_0223C29C:
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ mov r5, #0
+ cmp r6, #0
+ ble _0223C2C0
+ mov r7, #1
+_0223C2AA:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _0223C48C ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ bne _0223C2C0
+ add r5, r5, #1
+ cmp r5, r6
+ blt _0223C2AA
+_0223C2C0:
+ b _0223C486
+_0223C2C2:
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ mov r5, #0
+ cmp r6, #0
+ ble _0223C2E8
+ ldr r7, _0223C48C ; =0x00000195
+_0223C2D0:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #3
+ beq _0223C2E8
+ cmp r0, #1
+ beq _0223C2E8
+ add r5, r5, #1
+ cmp r5, r6
+ blt _0223C2D0
+_0223C2E8:
+ b _0223C486
+_0223C2EA:
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _0223C2F8
+ mov r6, #5
+ b _0223C2FA
+_0223C2F8:
+ mov r6, #1
+_0223C2FA:
+ add r0, r4, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ mov r5, #0
+ cmp r7, #0
+ ble _0223C31E
+_0223C308:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _0223C48C ; =0x00000195
+ ldrb r0, [r0, r1]
+ cmp r0, r6
+ beq _0223C31E
+ add r5, r5, #1
+ cmp r5, r7
+ blt _0223C308
+_0223C31E:
+ b _0223C486
+_0223C320:
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ mov r5, #0
+ cmp r6, #0
+ ble _0223C344
+ mov r7, #1
+_0223C32E:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _0223C48C ; =0x00000195
+ ldrb r0, [r0, r1]
+ tst r0, r7
+ beq _0223C344
+ add r5, r5, #1
+ cmp r5, r6
+ blt _0223C32E
+_0223C344:
+ b _0223C486
+_0223C346:
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ mov r5, #0
+ cmp r6, #0
+ ble _0223C36C
+ ldr r7, _0223C48C ; =0x00000195
+_0223C354:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldrb r0, [r0, r7]
+ cmp r0, #2
+ beq _0223C36C
+ cmp r0, #0
+ beq _0223C36C
+ add r5, r5, #1
+ cmp r5, r6
+ blt _0223C354
+_0223C36C:
+ b _0223C486
+_0223C36E:
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _0223C37C
+ mov r6, #4
+ b _0223C37E
+_0223C37C:
+ mov r6, #0
+_0223C37E:
+ add r0, r4, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ mov r5, #0
+ cmp r7, #0
+ ble _0223C486
+_0223C38C:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ ldr r1, _0223C48C ; =0x00000195
+ ldrb r0, [r0, r1]
+ cmp r0, r6
+ beq _0223C486
+ add r5, r5, #1
+ cmp r5, r7
+ blt _0223C38C
+ b _0223C486
+_0223C3A4:
+ mov r0, #0x47
+ lsl r0, r0, #2
+ ldr r5, [r6, r0]
+ b _0223C486
+_0223C3AC:
+ mov r0, #0x12
+ lsl r0, r0, #4
+ ldr r5, [r6, r0]
+ b _0223C486
+_0223C3B4:
+ bl MOD11_0222FF84
+ mov r5, #0
+ str r0, [sp, #4]
+ cmp r0, #0
+ ble _0223C3E6
+_0223C3C0:
+ ldr r7, [r6, #0x64]
+ cmp r5, r7
+ beq _0223C3DE
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ str r0, [sp, #8]
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_02230270
+ ldr r1, [sp, #8]
+ cmp r1, r0
+ beq _0223C3E6
+_0223C3DE:
+ ldr r0, [sp, #4]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _0223C3C0
+_0223C3E6:
+ ldr r0, [sp, #4]
+ cmp r5, r0
+ bne _0223C486
+ mov r5, #0
+ b _0223C486
+_0223C3F0:
+ bl MOD11_0222FF84
+ mov r5, #0
+ str r0, [sp]
+ cmp r0, #0
+ ble _0223C422
+_0223C3FC:
+ ldr r7, [r6, #0x6c]
+ cmp r5, r7
+ beq _0223C41A
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ str r0, [sp, #0xc]
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_02230270
+ ldr r1, [sp, #0xc]
+ cmp r1, r0
+ beq _0223C422
+_0223C41A:
+ ldr r0, [sp]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _0223C3FC
+_0223C422:
+ ldr r0, [sp]
+ cmp r5, r0
+ bne _0223C486
+ mov r5, #0
+ b _0223C486
+_0223C42C:
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ ldr r1, [r6, #0x64]
+ add r0, r4, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ mov r5, #0
+ cmp r7, #0
+ ble _0223C486
+_0223C442:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ cmp r6, r0
+ bne _0223C486
+ add r5, r5, #1
+ cmp r5, r7
+ blt _0223C442
+ b _0223C486
+_0223C456:
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ ldr r1, [r6, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ mov r5, #0
+ cmp r7, #0
+ ble _0223C486
+_0223C46C:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ cmp r6, r0
+ bne _0223C486
+ add r5, r5, #1
+ cmp r5, r7
+ blt _0223C46C
+ b _0223C486
+_0223C480:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r5, [r6, r0]
+_0223C486:
+ add r0, r5, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223C48C: .word 0x00000195
+
+ thumb_func_start MOD11_0223C490
+MOD11_0223C490: ; 0x0223C490
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r4, r1, #0
+ mov r6, #0
+ bl MOD11_0223A404
+ str r0, [r4]
+ add r0, r7, #0
+ bl MOD11_0223A404
+ str r0, [r4, #4]
+ cmp r0, #0x3c
+ bhi _0223C544
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223C4B6: ; jump table
+ .short _0223C530 - _0223C4B6 - 2 ; case 0
+ .short _0223C532 - _0223C4B6 - 2 ; case 1
+ .short _0223C532 - _0223C4B6 - 2 ; case 2
+ .short _0223C532 - _0223C4B6 - 2 ; case 3
+ .short _0223C532 - _0223C4B6 - 2 ; case 4
+ .short _0223C532 - _0223C4B6 - 2 ; case 5
+ .short _0223C532 - _0223C4B6 - 2 ; case 6
+ .short _0223C532 - _0223C4B6 - 2 ; case 7
+ .short _0223C532 - _0223C4B6 - 2 ; case 8
+ .short _0223C536 - _0223C4B6 - 2 ; case 9
+ .short _0223C536 - _0223C4B6 - 2 ; case 10
+ .short _0223C536 - _0223C4B6 - 2 ; case 11
+ .short _0223C536 - _0223C4B6 - 2 ; case 12
+ .short _0223C536 - _0223C4B6 - 2 ; case 13
+ .short _0223C536 - _0223C4B6 - 2 ; case 14
+ .short _0223C536 - _0223C4B6 - 2 ; case 15
+ .short _0223C536 - _0223C4B6 - 2 ; case 16
+ .short _0223C536 - _0223C4B6 - 2 ; case 17
+ .short _0223C536 - _0223C4B6 - 2 ; case 18
+ .short _0223C536 - _0223C4B6 - 2 ; case 19
+ .short _0223C536 - _0223C4B6 - 2 ; case 20
+ .short _0223C536 - _0223C4B6 - 2 ; case 21
+ .short _0223C536 - _0223C4B6 - 2 ; case 22
+ .short _0223C536 - _0223C4B6 - 2 ; case 23
+ .short _0223C536 - _0223C4B6 - 2 ; case 24
+ .short _0223C536 - _0223C4B6 - 2 ; case 25
+ .short _0223C536 - _0223C4B6 - 2 ; case 26
+ .short _0223C536 - _0223C4B6 - 2 ; case 27
+ .short _0223C536 - _0223C4B6 - 2 ; case 28
+ .short _0223C536 - _0223C4B6 - 2 ; case 29
+ .short _0223C536 - _0223C4B6 - 2 ; case 30
+ .short _0223C53A - _0223C4B6 - 2 ; case 31
+ .short _0223C53A - _0223C4B6 - 2 ; case 32
+ .short _0223C53A - _0223C4B6 - 2 ; case 33
+ .short _0223C53A - _0223C4B6 - 2 ; case 34
+ .short _0223C53A - _0223C4B6 - 2 ; case 35
+ .short _0223C53A - _0223C4B6 - 2 ; case 36
+ .short _0223C53A - _0223C4B6 - 2 ; case 37
+ .short _0223C53A - _0223C4B6 - 2 ; case 38
+ .short _0223C53A - _0223C4B6 - 2 ; case 39
+ .short _0223C53A - _0223C4B6 - 2 ; case 40
+ .short _0223C53A - _0223C4B6 - 2 ; case 41
+ .short _0223C53A - _0223C4B6 - 2 ; case 42
+ .short _0223C53A - _0223C4B6 - 2 ; case 43
+ .short _0223C53A - _0223C4B6 - 2 ; case 44
+ .short _0223C53A - _0223C4B6 - 2 ; case 45
+ .short _0223C53A - _0223C4B6 - 2 ; case 46
+ .short _0223C53A - _0223C4B6 - 2 ; case 47
+ .short _0223C53A - _0223C4B6 - 2 ; case 48
+ .short _0223C53A - _0223C4B6 - 2 ; case 49
+ .short _0223C53A - _0223C4B6 - 2 ; case 50
+ .short _0223C53A - _0223C4B6 - 2 ; case 51
+ .short _0223C53E - _0223C4B6 - 2 ; case 52
+ .short _0223C53E - _0223C4B6 - 2 ; case 53
+ .short _0223C53E - _0223C4B6 - 2 ; case 54
+ .short _0223C53E - _0223C4B6 - 2 ; case 55
+ .short _0223C53E - _0223C4B6 - 2 ; case 56
+ .short _0223C53E - _0223C4B6 - 2 ; case 57
+ .short _0223C53E - _0223C4B6 - 2 ; case 58
+ .short _0223C53E - _0223C4B6 - 2 ; case 59
+ .short _0223C542 - _0223C4B6 - 2 ; case 60
+_0223C530:
+ b _0223C544
+_0223C532:
+ mov r6, #1
+ b _0223C544
+_0223C536:
+ mov r6, #2
+ b _0223C544
+_0223C53A:
+ mov r6, #3
+ b _0223C544
+_0223C53E:
+ mov r6, #4
+ b _0223C544
+_0223C542:
+ mov r6, #6
+_0223C544:
+ mov r5, #0
+ cmp r6, #0
+ ble _0223C55A
+_0223C54A:
+ add r0, r7, #0
+ bl MOD11_0223A404
+ str r0, [r4, #8]
+ add r5, r5, #1
+ add r4, r4, #4
+ cmp r5, r6
+ blt _0223C54A
+_0223C55A:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0223C55C
+MOD11_0223C55C: ; 0x0223C55C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r2, #0
+ ldr r2, [r4]
+ add r5, r3, #0
+ strh r2, [r5, #2]
+ ldr r2, [r4, #4]
+ add r7, r0, #0
+ strb r2, [r5, #1]
+ ldrb r2, [r5, #1]
+ add r6, r1, #0
+ cmp r2, #0x3c
+ bls _0223C576
+ b _0223CC58
+_0223C576:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0223C582: ; jump table
+ .short _0223CC58 - _0223C582 - 2 ; case 0
+ .short _0223C5FC - _0223C582 - 2 ; case 1
+ .short _0223C606 - _0223C582 - 2 ; case 2
+ .short _0223C610 - _0223C582 - 2 ; case 3
+ .short _0223C61C - _0223C582 - 2 ; case 4
+ .short _0223C628 - _0223C582 - 2 ; case 5
+ .short _0223C634 - _0223C582 - 2 ; case 6
+ .short _0223C634 - _0223C582 - 2 ; case 7
+ .short _0223C640 - _0223C582 - 2 ; case 8
+ .short _0223C64A - _0223C582 - 2 ; case 9
+ .short _0223C660 - _0223C582 - 2 ; case 10
+ .short _0223C674 - _0223C582 - 2 ; case 11
+ .short _0223C68A - _0223C582 - 2 ; case 12
+ .short _0223C69E - _0223C582 - 2 ; case 13
+ .short _0223C6B2 - _0223C582 - 2 ; case 14
+ .short _0223C6C8 - _0223C582 - 2 ; case 15
+ .short _0223C6DC - _0223C582 - 2 ; case 16
+ .short _0223C6F0 - _0223C582 - 2 ; case 17
+ .short _0223C704 - _0223C582 - 2 ; case 18
+ .short _0223C71A - _0223C582 - 2 ; case 19
+ .short _0223C728 - _0223C582 - 2 ; case 20
+ .short _0223C740 - _0223C582 - 2 ; case 21
+ .short _0223C758 - _0223C582 - 2 ; case 22
+ .short _0223C76E - _0223C582 - 2 ; case 23
+ .short _0223C784 - _0223C582 - 2 ; case 24
+ .short _0223C79A - _0223C582 - 2 ; case 25
+ .short _0223C7B0 - _0223C582 - 2 ; case 26
+ .short _0223C7C6 - _0223C582 - 2 ; case 27
+ .short _0223C7DC - _0223C582 - 2 ; case 28
+ .short _0223C7F0 - _0223C582 - 2 ; case 29
+ .short _0223C804 - _0223C582 - 2 ; case 30
+ .short _0223C81A - _0223C582 - 2 ; case 31
+ .short _0223C83A - _0223C582 - 2 ; case 32
+ .short _0223C85C - _0223C582 - 2 ; case 33
+ .short _0223C87C - _0223C582 - 2 ; case 34
+ .short _0223C89A - _0223C582 - 2 ; case 35
+ .short _0223C8B8 - _0223C582 - 2 ; case 36
+ .short _0223C8DA - _0223C582 - 2 ; case 37
+ .short _0223C8FA - _0223C582 - 2 ; case 38
+ .short _0223C91A - _0223C582 - 2 ; case 39
+ .short _0223C93A - _0223C582 - 2 ; case 40
+ .short _0223C95A - _0223C582 - 2 ; case 41
+ .short _0223C97A - _0223C582 - 2 ; case 42
+ .short _0223C99A - _0223C582 - 2 ; case 43
+ .short _0223C9BA - _0223C582 - 2 ; case 44
+ .short _0223C9D8 - _0223C582 - 2 ; case 45
+ .short _0223C9F6 - _0223C582 - 2 ; case 46
+ .short _0223CA14 - _0223C582 - 2 ; case 47
+ .short _0223CA26 - _0223C582 - 2 ; case 48
+ .short _0223CA48 - _0223C582 - 2 ; case 49
+ .short _0223CA6A - _0223C582 - 2 ; case 50
+ .short _0223CA8C - _0223C582 - 2 ; case 51
+ .short _0223CAAC - _0223C582 - 2 ; case 52
+ .short _0223CAD8 - _0223C582 - 2 ; case 53
+ .short _0223CB06 - _0223C582 - 2 ; case 54
+ .short _0223CB32 - _0223C582 - 2 ; case 55
+ .short _0223CB5C - _0223C582 - 2 ; case 56
+ .short _0223CB8A - _0223C582 - 2 ; case 57
+ .short _0223CBB8 - _0223C582 - 2 ; case 58
+ .short _0223CBE6 - _0223C582 - 2 ; case 59
+ .short _0223CC14 - _0223C582 - 2 ; case 60
+_0223C5FC:
+ ldr r2, [r4, #8]
+ bl MOD11_0223C230
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C606:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C610:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C61C:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CD6C
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C628:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C634:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C640:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C64A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C660:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C674:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C68A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CD6C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C69E:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CD2C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C6B2:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD84
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C6C8:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C6DC:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CD9C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C6F0:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C704:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C71A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r0, [r4, #0xc]
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C728:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223C230
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C740:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C758:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C76E:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CD38
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C784:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C79A:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C7B0:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C7C6:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C7DC:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C7F0:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C804:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C81A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C83A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C85C:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C87C:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C89A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C8B8:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C8DA:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C8FA:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C91A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD6C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C93A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD2C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C95A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD78
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C97A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD20
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C99A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C9BA:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C9D8:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD6C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223C9F6:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CD78
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CA14:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r0, [r4, #0xc]
+ str r0, [r5, #8]
+ ldr r0, [r4, #0x10]
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CA26:
+ ldr r1, [r4, #8]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CDA8
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CA48:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CA6A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CA8C:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CAAC:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r1, [r4, #0x14]
+ add r0, r6, #0
+ bl MOD11_0223CC8C
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CAD8:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r2, [r4, #0x14]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CB06:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CD38
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r1, [r4, #0x14]
+ add r0, r6, #0
+ bl MOD11_0223CD6C
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CB32:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CC5C
+ str r0, [r5, #4]
+ ldr r1, [r4, #0xc]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r1, [r4, #0x14]
+ add r0, r6, #0
+ bl MOD11_0223CCA8
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CB5C:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDBC
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #0xc]
+ ldr r2, [r4, #0x14]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CB8A:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r2, [r4, #0x14]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CBB8:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r2, [r4, #0x14]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CBE6:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDB4
+ str r0, [r5, #0xc]
+ ldr r2, [r4, #0x14]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223CC14:
+ ldr r2, [r4, #8]
+ bl MOD11_0223CDB4
+ str r0, [r5, #4]
+ ldr r2, [r4, #0xc]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #8]
+ ldr r2, [r4, #0x10]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0xc]
+ ldr r2, [r4, #0x14]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDB4
+ str r0, [r5, #0x10]
+ ldr r2, [r4, #0x18]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CDBC
+ str r0, [r5, #0x14]
+ ldr r2, [r4, #0x1c]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_0223CC5C
+ str r0, [r5, #0x18]
+_0223CC58:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223CC5C
+MOD11_0223CC5C: ; 0x0223CC5C
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r4, r2, #0
+ bl MOD11_0223C230
+ cmp r4, #0x16
+ bne _0223CC76
+ ldr r1, _0223CC84 ; =0x000021A0
+ add r2, r5, r0
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #8
+ orr r0, r1
+ pop {r3, r4, r5, pc}
+_0223CC76:
+ ldr r1, _0223CC88 ; =0x0000219C
+ add r2, r5, r0
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #8
+ orr r0, r1
+ pop {r3, r4, r5, pc}
+ nop
+_0223CC84: .word 0x000021A0
+_0223CC88: .word 0x0000219C
+
+ thumb_func_start MOD11_0223CC8C
+MOD11_0223CC8C: ; 0x0223CC8C
+ cmp r1, #1
+ beq _0223CC96
+ cmp r1, #0xff
+ beq _0223CC9C
+ bx lr
+_0223CC96:
+ ldr r1, _0223CCA4 ; =0x00003044
+ ldr r0, [r0, r1]
+ bx lr
+_0223CC9C:
+ mov r1, #0x49
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0223CCA4: .word 0x00003044
+
+ thumb_func_start MOD11_0223CCA8
+MOD11_0223CCA8: ; 0x0223CCA8
+ push {r4, lr}
+ cmp r1, #0x15
+ bgt _0223CCC0
+ bge _0223CCF6
+ cmp r1, #2
+ bgt _0223CD18
+ cmp r1, #1
+ blt _0223CD18
+ beq _0223CCC6
+ cmp r1, #2
+ beq _0223CCDE
+ b _0223CD18
+_0223CCC0:
+ cmp r1, #0xff
+ beq _0223CD12
+ b _0223CD18
+_0223CCC6:
+ ldr r3, [r0, #0x64]
+ mov r1, #0xc0
+ mul r1, r3
+ add r2, r0, r1
+ ldr r1, _0223CD1C ; =0x00002DB8
+ ldrh r4, [r2, r1]
+ lsl r1, r3, #0x18
+ lsr r1, r1, #0x18
+ add r2, r4, #0
+ bl MOD11_0223D1D0
+ b _0223CD18
+_0223CCDE:
+ ldr r3, [r0, #0x6c]
+ mov r1, #0xc0
+ mul r1, r3
+ add r2, r0, r1
+ ldr r1, _0223CD1C ; =0x00002DB8
+ ldrh r4, [r2, r1]
+ lsl r1, r3, #0x18
+ lsr r1, r1, #0x18
+ add r2, r4, #0
+ bl MOD11_0223D1D0
+ b _0223CD18
+_0223CCF6:
+ mov r1, #0x46
+ lsl r1, r1, #2
+ ldr r3, [r0, r1]
+ mov r1, #0xc0
+ mul r1, r3
+ add r2, r0, r1
+ ldr r1, _0223CD1C ; =0x00002DB8
+ ldrh r4, [r2, r1]
+ lsl r1, r3, #0x18
+ lsr r1, r1, #0x18
+ add r2, r4, #0
+ bl MOD11_0223D1D0
+ b _0223CD18
+_0223CD12:
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ ldr r4, [r0, r1]
+_0223CD18:
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+_0223CD1C: .word 0x00002DB8
+
+ thumb_func_start MOD11_0223CD20
+MOD11_0223CD20: ; 0x0223CD20
+ cmp r1, #0xff
+ bne _0223CD2A
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+_0223CD2A:
+ bx lr
+
+ thumb_func_start MOD11_0223CD2C
+MOD11_0223CD2C: ; 0x0223CD2C
+ cmp r1, #0xff
+ bne _0223CD36
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+_0223CD36:
+ bx lr
+
+ thumb_func_start MOD11_0223CD38
+MOD11_0223CD38: ; 0x0223CD38
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ cmp r2, #0xff
+ bne _0223CD48
+ mov r0, #0x4b
+ lsl r0, r0, #2
+ ldr r4, [r5, r0]
+ b _0223CD64
+_0223CD48:
+ bl MOD11_0223C230
+ add r1, r0, #0
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _0223CD68 ; =0x00002D67
+ lsl r1, r1, #0x18
+ ldrb r4, [r2, r0]
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ add r2, r4, #0
+ bl MOD11_0223D1C4
+_0223CD64:
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223CD68: .word 0x00002D67
+
+ thumb_func_start MOD11_0223CD6C
+MOD11_0223CD6C: ; 0x0223CD6C
+ cmp r1, #0xff
+ bne _0223CD76
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+_0223CD76:
+ bx lr
+
+ thumb_func_start MOD11_0223CD78
+MOD11_0223CD78: ; 0x0223CD78
+ cmp r1, #0xff
+ bne _0223CD82
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+_0223CD82:
+ bx lr
+
+ thumb_func_start MOD11_0223CD84
+MOD11_0223CD84: ; 0x0223CD84
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0223C230
+ ldr r1, _0223CD98 ; =0x0000219C
+ add r2, r4, r0
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #8
+ orr r0, r1
+ pop {r4, pc}
+ .align 2, 0
+_0223CD98: .word 0x0000219C
+
+ thumb_func_start MOD11_0223CD9C
+MOD11_0223CD9C: ; 0x0223CD9C
+ cmp r1, #0xff
+ bne _0223CDA6
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+_0223CDA6:
+ bx lr
+
+ thumb_func_start MOD11_0223CDA8
+MOD11_0223CDA8: ; 0x0223CDA8
+ cmp r1, #0xff
+ bne _0223CDB2
+ mov r1, #0x13
+ lsl r1, r1, #4
+ ldr r0, [r0, r1]
+_0223CDB2:
+ bx lr
+
+ thumb_func_start MOD11_0223CDB4
+MOD11_0223CDB4: ; 0x0223CDB4
+ ldr r3, _0223CDB8 ; =MOD11_0223C230
+ bx r3
+ .align 2, 0
+_0223CDB8: .word MOD11_0223C230
+
+ thumb_func_start MOD11_0223CDBC
+MOD11_0223CDBC: ; 0x0223CDBC
+ ldr r3, _0223CDC0 ; =MOD11_0223C230
+ bx r3
+ .align 2, 0
+_0223CDC0: .word MOD11_0223C230
+
+ thumb_func_start MOD11_0223CDC4
+MOD11_0223CDC4: ; 0x0223CDC4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x78
+ add r7, r0, #0
+ add r5, r1, #0
+ str r2, [sp, #0x18]
+ bl MOD11_022300C4
+ str r0, [sp, #0x28]
+ add r0, r7, #0
+ bl MOD11_0223013C
+ str r0, [sp, #0x20]
+ add r0, r7, #0
+ bl MOD11_02230138
+ str r0, [sp, #0x24]
+ add r0, r7, #0
+ bl MOD11_0222FF68
+ str r0, [sp, #0x1c]
+ add r0, r7, #0
+ bl MOD11_02230078
+ add r6, r0, #0
+ add r0, r7, #0
+ bl MOD11_02230080
+ add r4, r0, #0
+ add r0, r7, #0
+ bl MOD11_022300CC
+ add r7, r0, #0
+ mov r0, #1
+ str r0, [sp]
+ str r0, [sp, #4]
+ ldr r0, _0223D03C ; =0x00004E31
+ add r1, r4, #0
+ str r0, [sp, #8]
+ add r0, r6, #0
+ mov r2, #0x1b
+ mov r3, #0xc0
+ bl FUN_0200C00C
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x2e
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r1, #2
+ str r1, [sp, #0xc]
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, _0223D040 ; =0x00004E2C
+ add r2, r6, #0
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _0223D044 ; =0x00004E29
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r6, #0
+ mov r2, #0x1b
+ mov r3, #0xc1
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _0223D044 ; =0x00004E29
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r6, #0
+ mov r2, #0x1b
+ mov r3, #0xc2
+ bl FUN_0200C13C
+ ldr r2, _0223D048 ; =0x0225DD7C
+ add r0, r6, #0
+ add r1, r4, #0
+ bl FUN_0200C154
+ str r0, [r5, #0xc]
+ bl FUN_0200C5A8
+ ldr r0, [sp, #0x18]
+ bl FUN_0206B6C8
+ add r3, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ ldr r0, _0223D04C ; =0x00004E32
+ add r1, r4, #0
+ str r0, [sp, #8]
+ add r0, r6, #0
+ mov r2, #0x13
+ bl FUN_0200C978
+ bl FUN_0206B888
+ mov r1, #0x13
+ str r1, [sp]
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #3
+ str r0, [sp, #0xc]
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, _0223D050 ; =0x00004E2D
+ mov r1, #2
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ bl FUN_0206B894
+ add r3, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, _0223D054 ; =0x00004E2A
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r6, #0
+ mov r2, #0x13
+ bl FUN_0200C124
+ bl FUN_0206B8A0
+ add r3, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, _0223D054 ; =0x00004E2A
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r6, #0
+ mov r2, #0x13
+ bl FUN_0200C13C
+ ldr r2, _0223D058 ; =0x0225DDB0
+ add r0, r6, #0
+ add r1, r4, #0
+ bl FUN_0200C154
+ str r0, [r5, #0x10]
+ ldr r0, [sp, #0x18]
+ bl FUN_0206B87C
+ add r1, r0, #0
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0]
+ bl FUN_020202DC
+ ldr r0, [r5, #0x10]
+ bl FUN_0200C5A8
+ mov r0, #1
+ mov r1, #5
+ bl FUN_02011744
+ str r0, [r5, #0x50]
+ ldr r0, [sp, #0x18]
+ mov r1, #0xaf
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0223CF26
+ mov r0, #2
+ b _0223CF30
+_0223CF26:
+ ldr r0, [sp, #0x18]
+ mov r1, #0x6f
+ mov r2, #0
+ bl FUN_020671BC
+_0223CF30:
+ cmp r0, #0
+ bne _0223CF42
+ mov r1, #0x3b
+ ldr r0, [sp, #0x28]
+ lsl r1, r1, #4
+ bl FUN_0200A914
+ add r6, r0, #0
+ b _0223CF5C
+_0223CF42:
+ cmp r0, #1
+ bne _0223CF52
+ ldr r0, [sp, #0x28]
+ ldr r1, _0223D05C ; =0x000003B1
+ bl FUN_0200A914
+ add r6, r0, #0
+ b _0223CF5C
+_0223CF52:
+ ldr r0, [sp, #0x28]
+ ldr r1, _0223D060 ; =0x000003B2
+ bl FUN_0200A914
+ add r6, r0, #0
+_0223CF5C:
+ ldr r0, [sp, #0x18]
+ bl FUN_020690E4
+ add r2, r0, #0
+ ldr r0, [sp, #0x24]
+ mov r1, #0
+ bl FUN_0200ACF8
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r1, #1
+ ldr r0, [sp, #0x24]
+ mov r3, #3
+ str r1, [sp, #4]
+ bl FUN_0200AD38
+ ldr r0, [sp, #0x24]
+ ldr r1, [sp, #0x20]
+ add r2, r6, #0
+ bl FUN_0200B7B8
+ add r0, r6, #0
+ bl FUN_02021A20
+ add r0, sp, #0x68
+ bl FUN_0201901C
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x1c]
+ add r1, sp, #0x68
+ mov r2, #0xc
+ mov r3, #4
+ bl FUN_020190EC
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, _0223D064 ; =0x00010200
+ ldr r2, [sp, #0x20]
+ str r0, [sp, #8]
+ add r0, sp, #0x68
+ add r3, r1, #0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+ add r0, sp, #0x68
+ mov r1, #1
+ mov r2, #5
+ bl FUN_02011898
+ mov r1, #1
+ add r2, r1, #0
+ add r3, sp, #0x5c
+ bl FUN_0201D568
+ ldr r0, [r5, #0x50]
+ str r0, [sp, #0x2c]
+ add r0, sp, #0x68
+ str r0, [sp, #0x30]
+ add r0, r4, #0
+ bl FUN_0200CA40
+ str r0, [sp, #0x34]
+ ldr r1, _0223D040 ; =0x00004E2C
+ add r0, r4, #0
+ bl FUN_0200C334
+ mov r1, #0
+ str r0, [sp, #0x38]
+ ldr r0, [sp, #0x60]
+ str r1, [sp, #0x3c]
+ str r0, [sp, #0x40]
+ mov r0, #0xb0
+ str r0, [sp, #0x44]
+ mov r0, #8
+ str r0, [sp, #0x48]
+ mov r0, #0x64
+ str r0, [sp, #0x50]
+ mov r0, #1
+ str r0, [sp, #0x54]
+ mov r0, #5
+ str r0, [sp, #0x58]
+ add r0, sp, #0x2c
+ str r1, [sp, #0x4c]
+ bl FUN_020117E8
+ add r2, r5, #0
+ add r3, sp, #0x5c
+ str r0, [r5, #0x14]
+ ldmia r3!, {r0, r1}
+ add r2, #0x18
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ mov r1, #1
+ str r0, [r2]
+ ldr r0, [r5, #0x14]
+ bl FUN_02011AC0
+ add r0, sp, #0x68
+ bl FUN_02019178
+ add sp, #0x78
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223D03C: .word 0x00004E31
+_0223D040: .word 0x00004E2C
+_0223D044: .word 0x00004E29
+_0223D048: .word 0x0225DD7C
+_0223D04C: .word 0x00004E32
+_0223D050: .word 0x00004E2D
+_0223D054: .word 0x00004E2A
+_0223D058: .word 0x0225DDB0
+_0223D05C: .word 0x000003B1
+_0223D060: .word 0x000003B2
+_0223D064: .word 0x00010200
+
+ thumb_func_start MOD11_0223D068
+MOD11_0223D068: ; 0x0223D068
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ bl MOD11_02230080
+ add r4, r0, #0
+ ldr r0, [r5, #0xc]
+ bl FUN_0200C3DC
+ ldr r0, [r5, #0x10]
+ bl FUN_0200C3DC
+ ldr r0, [r5, #0x14]
+ bl FUN_02011870
+ add r0, r5, #0
+ add r0, #0x18
+ bl FUN_0201D5E8
+ ldr r1, _0223D0D4 ; =0x00004E31
+ add r0, r4, #0
+ bl FUN_0200C358
+ ldr r1, _0223D0D8 ; =0x00004E2C
+ add r0, r4, #0
+ bl FUN_0200C368
+ ldr r1, _0223D0DC ; =0x00004E29
+ add r0, r4, #0
+ bl FUN_0200C378
+ ldr r1, _0223D0DC ; =0x00004E29
+ add r0, r4, #0
+ bl FUN_0200C388
+ ldr r1, _0223D0E0 ; =0x00004E32
+ add r0, r4, #0
+ bl FUN_0200C358
+ ldr r1, _0223D0E4 ; =0x00004E2D
+ add r0, r4, #0
+ bl FUN_0200C368
+ ldr r1, _0223D0E8 ; =0x00004E2A
+ add r0, r4, #0
+ bl FUN_0200C378
+ ldr r1, _0223D0E8 ; =0x00004E2A
+ add r0, r4, #0
+ bl FUN_0200C388
+ ldr r0, [r5, #0x50]
+ bl FUN_020117BC
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223D0D4: .word 0x00004E31
+_0223D0D8: .word 0x00004E2C
+_0223D0DC: .word 0x00004E29
+_0223D0E0: .word 0x00004E32
+_0223D0E4: .word 0x00004E2D
+_0223D0E8: .word 0x00004E2A
+
+ thumb_func_start MOD11_0223D0EC
+MOD11_0223D0EC: ; 0x0223D0EC
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r1, r2, #0
+ add r5, r0, #0
+ str r2, [sp]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _0223D1B8
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _0223D13C
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_0223022C
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0
+ mov r1, #5
+ bl MOD11_0223022C
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r2, #0xc0
+ add r0, r1, #0
+ mul r0, r2
+ mul r2, r6
+ ldr r3, _0223D1BC ; =0x00002D74
+ add r0, r4, r0
+ add r2, r4, r2
+ ldrb r0, [r0, r3]
+ ldrb r2, [r2, r3]
+ cmp r0, r2
+ bls _0223D148
+ add r6, r1, #0
+ b _0223D148
+_0223D13C:
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223022C
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_0223D148:
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, r1, #0
+ add r3, r4, r2
+ ldr r2, _0223D1C0 ; =0x0000219C
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ add r7, r0, #0
+ ldr r0, [sp]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ add r0, r4, r2
+ ldr r2, _0223D1BC ; =0x00002D74
+ mul r1, r6
+ add r1, r4, r1
+ ldrb r0, [r0, r2]
+ ldrb r1, [r1, r2]
+ cmp r1, r0
+ bls _0223D1A4
+ sub r0, r1, r0
+ cmp r0, #0x1e
+ blt _0223D18E
+ add r0, r5, #0
+ bl MOD11_022302B0
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ add r0, r7, #0
+ mov r1, #8
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+ pop {r3, r4, r5, r6, r7, pc}
+_0223D18E:
+ add r0, r5, #0
+ bl MOD11_022302B0
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ add r0, r7, #0
+ mov r1, #6
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+ pop {r3, r4, r5, r6, r7, pc}
+_0223D1A4:
+ add r0, r5, #0
+ bl MOD11_022302B0
+ add r2, r0, #0
+ lsl r2, r2, #0x10
+ add r0, r7, #0
+ mov r1, #6
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+_0223D1B8:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223D1BC: .word 0x00002D74
+_0223D1C0: .word 0x0000219C
+
+ thumb_func_start MOD11_0223D1C4
+MOD11_0223D1C4: ; 0x0223D1C4
+ add r1, r0, r1
+ mov r0, #0x39
+ lsl r0, r0, #4
+ strb r2, [r1, r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0223D1D0
+MOD11_0223D1D0: ; 0x0223D1D0
+ lsl r1, r1, #1
+ add r1, r0, r1
+ mov r0, #0xe5
+ lsl r0, r0, #2
+ strh r2, [r1, r0]
+ bx lr
+
+ thumb_func_start MOD11_0223D1DC
+MOD11_0223D1DC: ; 0x0223D1DC
+ push {r3, r4, r5, lr}
+ ldr r1, _0223D22C ; =0x0000314C
+ add r5, r0, #0
+ mov r0, #5
+ bl FUN_02016998
+ add r4, r0, #0
+ ldr r2, _0223D22C ; =0x0000314C
+ mov r0, #0
+ add r1, r4, #0
+ blx MIi_CpuClearFast
+ add r0, r4, #0
+ bl MOD11_02245494
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02245588
+ bl FUN_02033590
+ cmp r0, #0
+ bne _0223D216
+ mov r2, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, r2, #0
+ bl FUN_021EFBF4
+_0223D216:
+ ldr r0, _0223D230 ; =0x000003DE
+ add r0, r4, r0
+ bl FUN_0206AB04
+ mov r0, #5
+ bl FUN_0206EB50
+ ldr r1, _0223D234 ; =0x00002120
+ str r0, [r4, r1]
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223D22C: .word 0x0000314C
+_0223D230: .word 0x000003DE
+_0223D234: .word 0x00002120
+
+ thumb_func_start MOD11_0223D238
+MOD11_0223D238: ; 0x0223D238
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r1, _0223D27C ; =0x0000311F
+ add r5, r0, #0
+ ldrb r1, [r4, r1]
+ cmp r1, #0
+ bne _0223D25E
+ bl MOD11_0223145C
+ cmp r0, #0
+ beq _0223D25E
+ add r0, r5, #0
+ bl MOD11_0223145C
+ mov r1, #0x40
+ tst r0, r1
+ bne _0223D25E
+ mov r0, #0x29
+ str r0, [r4, #8]
+_0223D25E:
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ lsl r3, r2, #2
+ ldr r2, _0223D280 ; =0x0225E194
+ add r1, r4, #0
+ ldr r2, [r2, r3]
+ blx r2
+ ldr r0, [r4, #8]
+ cmp r0, #0x2b
+ bne _0223D276
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_0223D276:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ nop
+_0223D27C: .word 0x0000311F
+_0223D280: .word 0x0225E194
+
+ thumb_func_start MOD11_0223D284
+MOD11_0223D284: ; 0x0223D284
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _0223D298 ; =0x00002120
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .align 2, 0
+_0223D298: .word 0x00002120
+
+ thumb_func_start MOD11_0223D29C
+MOD11_0223D29C: ; 0x0223D29C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ ldr r6, [sp, #0x20]
+ add r5, r0, #0
+ add r4, r1, #0
+ add r7, r2, #0
+ str r3, [sp, #4]
+ str r6, [sp]
+ bl MOD11_0224053C
+ ldr r0, [sp, #0x20]
+ ldr r3, [sp, #4]
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_02240890
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0223D2C4
+MOD11_0223D2C4: ; 0x0223D2C4
+ push {r3, r4, r5, r6, r7, lr}
+ str r0, [sp]
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ mov r4, #0
+ cmp r7, #0
+ ble _0223D2EC
+_0223D2D6:
+ ldr r3, _0223D2FC ; =0x0000219C
+ add r6, r5, r4
+ ldrb r3, [r6, r3]
+ ldr r0, [sp]
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_02242B78
+ add r4, r4, #1
+ cmp r4, r7
+ blt _0223D2D6
+_0223D2EC:
+ ldr r0, _0223D300 ; =0x00002E4C
+ ldr r1, [r5, r0]
+ ldr r0, _0223D304 ; =0x00003122
+ strh r1, [r5, r0]
+ mov r0, #1
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223D2FC: .word 0x0000219C
+_0223D300: .word 0x00002E4C
+_0223D304: .word 0x00003122
+
+ thumb_func_start MOD11_0223D308
+MOD11_0223D308: ; 0x0223D308
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #2
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0223D320
+MOD11_0223D320: ; 0x0223D320
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_0224529C
+ cmp r0, #0
+ beq _0223D342
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x29
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #3
+ str r0, [r4, #0xc]
+ b _0223D346
+_0223D342:
+ mov r0, #3
+ str r0, [r4, #8]
+_0223D346:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224728C
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0223D350
+MOD11_0223D350: ; 0x0223D350
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_022476DC
+ add r2, r0, #0
+ beq _0223D370
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_0223D370:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224728C
+ mov r0, #4
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223D380
+MOD11_0223D380: ; 0x0223D380
+ push {r3, r4, r5, r6, r7, lr}
+ str r0, [sp]
+ add r4, r1, #0
+ bl MOD11_0222FF84
+ add r5, r0, #0
+ mov r3, #0
+ cmp r5, #0
+ ble _0223D3AA
+ mov r7, #0xb7
+ lsl r7, r7, #6
+ add r6, r4, #0
+ add r2, r3, #0
+ add r0, r7, #4
+_0223D39C:
+ strb r2, [r4, r3]
+ ldr r1, [r6, r7]
+ add r3, r3, #1
+ str r1, [r6, r0]
+ add r6, #0xc0
+ cmp r3, r5
+ blt _0223D39C
+_0223D3AA:
+ ldr r0, [sp]
+ mov r1, #0
+ bl MOD11_022312AC
+ mov r0, #5
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0223D3B8
+MOD11_0223D3B8: ; 0x0223D3B8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0xb8
+ add r7, r0, #0
+ add r6, r1, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #0x64]
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ str r0, [sp, #0x24]
+ mov r4, #0
+ ldr r0, [sp, #0x64]
+ str r4, [sp, #0x60]
+ cmp r0, #0
+ bgt _0223D3DA
+ b _0223DB58
+_0223D3DA:
+ mov r0, #0x75
+ lsl r0, r0, #2
+ add r0, r6, r0
+ str r0, [sp, #0x50]
+ ldr r0, _0223D710 ; =0x000021AC
+ mov r1, #2
+ add r0, r6, r0
+ str r0, [sp, #0x40]
+ mov r0, #0x23
+ lsl r0, r0, #8
+ add r0, r6, r0
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x24]
+ str r6, [sp, #0x54]
+ and r0, r1
+ str r0, [sp, #0x38]
+ ldr r0, [sp, #0x24]
+ mov r1, #8
+ and r0, r1
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #0x24]
+ lsl r1, r1, #6
+ and r0, r1
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x20
+ and r0, r1
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x24]
+ mov r1, #4
+ and r0, r1
+ str r0, [sp, #0x28]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x80
+ and r0, r1
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x24]
+ mov r1, #1
+ and r0, r1
+ str r6, [sp, #0x4c]
+ str r6, [sp, #0x48]
+ str r6, [sp, #0x44]
+ str r0, [sp, #0x1c]
+_0223D430:
+ ldrb r0, [r6, r4]
+ add r5, r6, r4
+ cmp r0, #0x10
+ bhi _0223D50A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223D444: ; jump table
+ .short _0223D466 - _0223D444 - 2 ; case 0
+ .short _0223D4DA - _0223D444 - 2 ; case 1
+ .short _0223D6EE - _0223D444 - 2 ; case 2
+ .short _0223D6FC - _0223D444 - 2 ; case 3
+ .short _0223D7DA - _0223D444 - 2 ; case 4
+ .short _0223D814 - _0223D444 - 2 ; case 5
+ .short _0223D848 - _0223D444 - 2 ; case 6
+ .short _0223D856 - _0223D444 - 2 ; case 7
+ .short _0223D884 - _0223D444 - 2 ; case 8
+ .short _0223D8FC - _0223D444 - 2 ; case 9
+ .short _0223D93C - _0223D444 - 2 ; case 10
+ .short _0223D9F8 - _0223D444 - 2 ; case 11
+ .short _0223DA46 - _0223D444 - 2 ; case 12
+ .short _0223DA94 - _0223D444 - 2 ; case 13
+ .short _0223DA9C - _0223D444 - 2 ; case 14
+ .short _0223DAB6 - _0223D444 - 2 ; case 15
+ .short _0223DB14 - _0223D444 - 2 ; case 16
+_0223D466:
+ ldr r0, [sp, #0x38]
+ cmp r0, #0
+ beq _0223D486
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ bne _0223D486
+ cmp r4, #2
+ bne _0223D47C
+ ldrb r0, [r6]
+ cmp r0, #0xd
+ bne _0223D50A
+_0223D47C:
+ cmp r4, #3
+ bne _0223D486
+ ldrb r0, [r6, #1]
+ cmp r0, #0xd
+ bne _0223D50A
+_0223D486:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, _0223D714 ; =0x00003108
+ ldrb r1, [r6, r1]
+ tst r0, r1
+ beq _0223D4A2
+ mov r0, #0xc
+ strb r0, [r5]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x27
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D4A2:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD04
+ cmp r0, #0
+ bne _0223D4C8
+ ldr r0, [sp, #0x50]
+ mov r2, #0xd
+ ldr r1, [r0]
+ mov r0, #2
+ orr r1, r0
+ ldr r0, [sp, #0x50]
+ str r1, [r0]
+ mov r0, #0xc
+ strb r0, [r5]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D4C8:
+ ldr r3, _0223D71C ; =0x0000219C
+ add r0, r7, #0
+ ldrb r3, [r5, r3]
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02255188
+ mov r0, #1
+ strb r0, [r5]
+_0223D4DA:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223D50A
+ mov r1, #0x23
+ ldr r0, [sp, #0x4c]
+ lsl r1, r1, #8
+ ldrb r2, [r0, r1]
+ ldr r1, _0223D720 ; =0x000021B4
+ ldr r0, [sp, #0x54]
+ str r2, [r0, r1]
+ ldr r0, [sp, #0x30]
+ cmp r0, #0
+ beq _0223D52E
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #1
+ beq _0223D50C
+ cmp r0, #4
+ beq _0223D51E
+_0223D50A:
+ b _0223DB20
+_0223D50C:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5, #4]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x11
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D51E:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r1, #0xc
+ strb r1, [r5, #4]
+ ldr r2, _0223D718 ; =0x000021A8
+ ldr r1, [sp, #0x54]
+ str r0, [r1, r2]
+ b _0223DB20
+_0223D52E:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0
+ beq _0223D5B0
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #5
+ bhi _0223D5DA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223D54C: ; jump table
+ .short _0223DB20 - _0223D54C - 2 ; case 0
+ .short _0223D558 - _0223D54C - 2 ; case 1
+ .short _0223D56A - _0223D54C - 2 ; case 2
+ .short _0223D57C - _0223D54C - 2 ; case 3
+ .short _0223D58E - _0223D54C - 2 ; case 4
+ .short _0223D59E - _0223D54C - 2 ; case 5
+_0223D558:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5, #4]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x11
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D56A:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5, #4]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x12
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D57C:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5, #4]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x13
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D58E:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r1, #0xc
+ strb r1, [r5, #4]
+ ldr r2, _0223D718 ; =0x000021A8
+ ldr r1, [sp, #0x54]
+ str r0, [r1, r2]
+ b _0223DB20
+_0223D59E:
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5]
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x14
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D5B0:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #4
+ bgt _0223D5D6
+ cmp r0, #0
+ blt _0223D5DA
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0223D5CC: ; jump table
+ .short _0223DB20 - _0223D5CC - 2 ; case 0
+ .short _0223D5DC - _0223D5CC - 2 ; case 1
+ .short _0223D63C - _0223D5CC - 2 ; case 2
+ .short _0223D698 - _0223D5CC - 2 ; case 3
+ .short _0223D6A6 - _0223D5CC - 2 ; case 4
+_0223D5D6:
+ cmp r0, #0xff
+ beq _0223D6B4
+_0223D5DA:
+ b _0223DB20
+_0223D5DC:
+ mov r0, #0
+ mvn r0, r0
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ cmp r0, #0xf
+ bne _0223D5FC
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xf
+ strb r0, [r5, #4]
+ b _0223D632
+_0223D5FC:
+ ldr r3, _0223D724 ; =0x00002DEC
+ ldr r0, [sp, #0x48]
+ ldrh r0, [r0, r3]
+ cmp r0, #0
+ beq _0223D62E
+ ldr r0, [sp, #0x48]
+ add r1, r3, #2
+ ldrh r1, [r0, r1]
+ ldr r2, _0223D728 ; =0x000030BC
+ ldr r0, [sp, #0x44]
+ strh r1, [r0, r2]
+ ldr r0, [sp, #0x48]
+ sub r2, #8
+ ldrh r1, [r0, r3]
+ ldr r0, [sp, #0x44]
+ strh r1, [r0, r2]
+ ldr r1, _0223D72C ; =0x000021B0
+ ldr r0, [sp, #0x54]
+ mov r2, #0
+ str r2, [r0, r1]
+ mov r0, #0x10
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5, #4]
+ b _0223D632
+_0223D62E:
+ mov r0, #2
+ strb r0, [r5]
+_0223D632:
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0xd
+ str r2, [r0, r1]
+ b _0223DB20
+_0223D63C:
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ mov r1, #0x84
+ tst r0, r1
+ beq _0223D68A
+ ldr r1, _0223D730 ; =0x00000251
+ add r0, sp, #0x90
+ strh r1, [r0, #6]
+ mov r1, #0
+ strb r1, [r0, #5]
+ mov r0, sp
+ str r0, [sp, #0x68]
+ sub r0, #8
+ str r0, [sp, #0x68]
+ add r3, r0, #0
+ mov r0, #4
+ add r2, sp, #0x94
+ str r0, [sp, #0x6c]
+_0223D662:
+ ldmia r2!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldr r0, [sp, #0x6c]
+ sub r0, r0, #1
+ str r0, [sp, #0x6c]
+ bne _0223D662
+ ldr r0, [r2]
+ add r1, r4, #0
+ str r0, [r3]
+ ldr r0, [sp, #0x68]
+ ldmia r0!, {r2, r3}
+ str r0, [sp, #0x68]
+ add r0, r7, #0
+ bl MOD11_02255FBC
+ mov r0, #0xe
+ strb r0, [r5]
+ mov r0, #0
+ strb r0, [r5, #4]
+ b _0223DB20
+_0223D68A:
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0xe
+ str r2, [r0, r1]
+ mov r0, #6
+ strb r0, [r5]
+ b _0223DB20
+_0223D698:
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0xf
+ str r2, [r0, r1]
+ mov r0, #8
+ strb r0, [r5]
+ b _0223DB20
+_0223D6A6:
+ ldr r1, _0223D718 ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x10
+ str r2, [r0, r1]
+ mov r0, #0xa
+ strb r0, [r5]
+ b _0223DB20
+_0223D6B4:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0
+ beq _0223D6D4
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02256268
+ mov r0, #0
+ strb r0, [r5]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022302BC
+ mov r1, #0
+ strb r1, [r6, r0]
+ b _0223DB20
+_0223D6D4:
+ ldr r0, [sp, #0x38]
+ cmp r0, #0
+ beq _0223D740
+ cmp r4, #2
+ bne _0223D740
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02256268
+ mov r0, #0
+ strb r0, [r6]
+ strb r0, [r6, #2]
+ b _0223DB20
+_0223D6EE:
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02255544
+ mov r0, #3
+ strb r0, [r5]
+_0223D6FC:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223D734
+ mov r0, #0
+ strb r0, [r5]
+ b _0223DB20
+ nop
+_0223D710: .word 0x000021AC
+_0223D714: .word 0x00003108
+_0223D718: .word 0x000021A8
+_0223D71C: .word 0x0000219C
+_0223D720: .word 0x000021B4
+_0223D724: .word 0x00002DEC
+_0223D728: .word 0x000030BC
+_0223D72C: .word 0x000021B0
+_0223D730: .word 0x00000251
+_0223D734:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ bne _0223D742
+_0223D740:
+ b _0223DB20
+_0223D742:
+ mov r1, #0x23
+ ldr r0, [sp, #0x4c]
+ lsl r1, r1, #8
+ ldrb r0, [r0, r1]
+ sub r3, r0, #1
+ cmp r3, #4
+ bne _0223D75E
+ ldr r1, _0223DA6C ; =0x000021A8
+ ldr r0, [sp, #0x54]
+ mov r2, #0x10
+ str r2, [r0, r1]
+ mov r0, #0xa
+ strb r0, [r5]
+ b _0223DB20
+_0223D75E:
+ add r0, sp, #0x94
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02245F74
+ cmp r0, #0
+ bne _0223D7A8
+ mov r0, sp
+ str r0, [sp, #0x70]
+ sub r0, #8
+ str r0, [sp, #0x70]
+ add r3, r0, #0
+ mov r0, #4
+ add r2, sp, #0x94
+ str r0, [sp, #0x74]
+_0223D780:
+ ldmia r2!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldr r0, [sp, #0x74]
+ sub r0, r0, #1
+ str r0, [sp, #0x74]
+ bne _0223D780
+ ldr r0, [r2]
+ add r1, r4, #0
+ str r0, [r3]
+ ldr r0, [sp, #0x70]
+ ldmia r0!, {r2, r3}
+ str r0, [sp, #0x70]
+ add r0, r7, #0
+ bl MOD11_02255FBC
+ mov r0, #0xe
+ strb r0, [r5]
+ mov r0, #2
+ strb r0, [r5, #4]
+ b _0223DB20
+_0223D7A8:
+ mov r3, #0x23
+ ldr r0, [sp, #0x4c]
+ lsl r3, r3, #8
+ ldrb r2, [r0, r3]
+ ldr r1, _0223DA70 ; =0x000021B0
+ ldr r0, [sp, #0x54]
+ str r2, [r0, r1]
+ ldr r0, [sp, #0x4c]
+ ldr r2, _0223DA74 ; =0x000030BC
+ ldrb r0, [r0, r3]
+ sub r1, r0, #1
+ ldr r0, [sp, #0x44]
+ strh r1, [r0, r2]
+ ldrh r0, [r0, r2]
+ sub r2, #8
+ lsl r1, r0, #1
+ ldr r0, [sp, #0x48]
+ add r1, r0, r1
+ ldr r0, _0223DA78 ; =0x00002D4C
+ ldrh r1, [r1, r0]
+ ldr r0, [sp, #0x44]
+ strh r1, [r0, r2]
+ mov r0, #4
+ strb r0, [r5]
+ b _0223DB20
+_0223D7DA:
+ add r0, sp, #0x90
+ str r0, [sp]
+ ldr r1, _0223DA74 ; =0x000030BC
+ ldr r0, [sp, #0x44]
+ lsl r2, r4, #0x18
+ ldrh r0, [r0, r1]
+ ldr r3, [sp, #0x24]
+ add r1, r6, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x40]
+ lsr r2, r2, #0x18
+ str r0, [sp, #8]
+ add r0, r7, #0
+ bl MOD11_0224235C
+ cmp r0, #0
+ beq _0223D80E
+ ldr r2, [sp, #0x90]
+ add r0, r7, #0
+ add r1, r6, #0
+ add r3, r4, #0
+ bl MOD11_02255600
+ mov r0, #5
+ strb r0, [r5]
+ b _0223DB20
+_0223D80E:
+ mov r0, #0xc
+ strb r0, [r5]
+ b _0223DB20
+_0223D814:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223D826
+ mov r0, #2
+ strb r0, [r5]
+ b _0223DB20
+_0223D826:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223D91A
+ mov r1, #0x23
+ ldr r0, [sp, #0x4c]
+ lsl r1, r1, #8
+ ldrb r0, [r0, r1]
+ ldr r1, _0223DA7C ; =0x000021AC
+ sub r2, r0, #1
+ ldr r0, [sp, #0x54]
+ str r2, [r0, r1]
+ mov r0, #0xc
+ strb r0, [r5]
+ b _0223DB20
+_0223D848:
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_0225573C
+ mov r0, #7
+ strb r0, [r5]
+_0223D856:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223D868
+ mov r0, #0
+ strb r0, [r5]
+ b _0223DB20
+_0223D868:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223D91A
+ ldr r0, [sp, #0x3c]
+ ldr r1, _0223DA70 ; =0x000021B0
+ ldr r2, [r0]
+ ldr r0, [sp, #0x54]
+ str r2, [r0, r1]
+ mov r0, #0xc
+ strb r0, [r5]
+ b _0223DB20
+_0223D884:
+ mov r0, #6
+ str r0, [sp, #0x58]
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02249E80
+ str r0, [sp, #0x5c]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02230260
+ cmp r0, #4
+ beq _0223D8AC
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02230260
+ cmp r0, #5
+ bne _0223D8E4
+_0223D8AC:
+ ldr r0, [sp, #0x24]
+ cmp r0, #3
+ beq _0223D8CA
+ cmp r0, #7
+ beq _0223D8CA
+ cmp r0, #0x83
+ beq _0223D8CA
+ cmp r0, #0x13
+ bne _0223D8E4
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02230260
+ cmp r0, #4
+ bne _0223D8E4
+_0223D8CA:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022302BC
+ lsl r0, r0, #4
+ add r2, r6, r0
+ ldr r0, _0223DA6C ; =0x000021A8
+ ldr r1, [r2, r0]
+ cmp r1, #0xf
+ bne _0223D8E4
+ add r0, #8
+ ldr r0, [r2, r0]
+ str r0, [sp, #0x58]
+_0223D8E4:
+ ldr r0, [sp, #0x5c]
+ add r1, r6, #0
+ str r0, [sp]
+ ldr r0, [sp, #0x58]
+ add r2, r4, #0
+ str r0, [sp, #4]
+ add r0, r7, #0
+ mov r3, #0
+ bl MOD11_022558E0
+ mov r0, #9
+ strb r0, [r5]
+_0223D8FC:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223D90E
+ mov r0, #0
+ strb r0, [r5]
+ b _0223DB20
+_0223D90E:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ bne _0223D91C
+_0223D91A:
+ b _0223DB20
+_0223D91C:
+ mov r3, #0x23
+ ldr r0, [sp, #0x4c]
+ lsl r3, r3, #8
+ ldrb r0, [r0, r3]
+ ldr r2, _0223DA70 ; =0x000021B0
+ sub r1, r0, #1
+ ldr r0, [sp, #0x54]
+ str r1, [r0, r2]
+ ldr r0, [sp, #0x4c]
+ sub r2, #0x10
+ ldrb r0, [r0, r3]
+ sub r0, r0, #1
+ strb r0, [r5, r2]
+ mov r0, #0xc
+ strb r0, [r5]
+ b _0223DB20
+_0223D93C:
+ ldr r0, [sp, #0x20]
+ cmp r0, #0
+ beq _0223D95C
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r3, _0223DA80 ; =0x000003BB
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ bl MOD11_02255980
+ mov r0, #0xb
+ strb r0, [r5]
+ b _0223DB20
+_0223D95C:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _0223D9AA
+ ldr r0, [sp, #0x28]
+ cmp r0, #0
+ bne _0223D9AA
+ mov r1, #0
+ add r0, sp, #0x90
+ strb r1, [r0, #5]
+ ldr r1, _0223DA84 ; =0x00000319
+ add r2, sp, #0x94
+ strh r1, [r0, #6]
+ mov r0, sp
+ str r0, [sp, #0x78]
+ sub r0, #8
+ str r0, [sp, #0x78]
+ add r3, r0, #0
+ mov r0, #4
+ str r0, [sp, #0x7c]
+_0223D982:
+ ldmia r2!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldr r0, [sp, #0x7c]
+ sub r0, r0, #1
+ str r0, [sp, #0x7c]
+ bne _0223D982
+ ldr r0, [r2]
+ add r1, r4, #0
+ str r0, [r3]
+ ldr r0, [sp, #0x78]
+ ldmia r0!, {r2, r3}
+ str r0, [sp, #0x78]
+ add r0, r7, #0
+ bl MOD11_02255FBC
+ mov r0, #0xe
+ strb r0, [r5]
+ mov r0, #0
+ strb r0, [r5, #4]
+ b _0223DB20
+_0223D9AA:
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r4, #0
+ add r3, sp, #0x94
+ bl MOD11_02246ED0
+ cmp r0, #0
+ beq _0223D9F2
+ mov r0, sp
+ str r0, [sp, #0x80]
+ sub r0, #8
+ str r0, [sp, #0x80]
+ add r3, r0, #0
+ mov r0, #4
+ add r2, sp, #0x94
+ str r0, [sp, #0x84]
+_0223D9CA:
+ ldmia r2!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldr r0, [sp, #0x84]
+ sub r0, r0, #1
+ str r0, [sp, #0x84]
+ bne _0223D9CA
+ ldr r0, [r2]
+ add r1, r4, #0
+ str r0, [r3]
+ ldr r0, [sp, #0x80]
+ ldmia r0!, {r2, r3}
+ str r0, [sp, #0x80]
+ add r0, r7, #0
+ bl MOD11_02255FBC
+ mov r0, #0xe
+ strb r0, [r5]
+ mov r0, #0
+ strb r0, [r5, #4]
+ b _0223DB20
+_0223D9F2:
+ mov r0, #0xb
+ strb r0, [r5]
+ b _0223DB20
+_0223D9F8:
+ ldr r0, [sp, #0x20]
+ cmp r0, #0
+ beq _0223DA22
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223DA26
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0xff
+ bne _0223DA1C
+ mov r0, #0
+ strb r0, [r5]
+ b _0223DA26
+_0223DA1C:
+ mov r0, #0xc
+ strb r0, [r5]
+ b _0223DA26
+_0223DA22:
+ mov r0, #0xc
+ strb r0, [r5]
+_0223DA26:
+ ldr r0, [sp, #0x38]
+ cmp r0, #0
+ beq _0223DB20
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ bne _0223DB20
+ ldrb r0, [r5]
+ cmp r0, #0xc
+ bne _0223DB20
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022302BC
+ mov r1, #0xc
+ strb r1, [r6, r0]
+ b _0223DB20
+_0223DA46:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02256268
+ ldr r0, [sp, #0x24]
+ cmp r0, #7
+ bne _0223DA88
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022302BC
+ ldrb r0, [r6, r0]
+ cmp r0, #0xd
+ bne _0223DA90
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022564CC
+ b _0223DA90
+ .align 2, 0
+_0223DA6C: .word 0x000021A8
+_0223DA70: .word 0x000021B0
+_0223DA74: .word 0x000030BC
+_0223DA78: .word 0x00002D4C
+_0223DA7C: .word 0x000021AC
+_0223DA80: .word 0x000003BB
+_0223DA84: .word 0x00000319
+_0223DA88:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022564CC
+_0223DA90:
+ mov r0, #0xd
+ strb r0, [r5]
+_0223DA94:
+ ldr r0, [sp, #0x60]
+ add r0, r0, #1
+ str r0, [sp, #0x60]
+ b _0223DB20
+_0223DA9C:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224AD90
+ cmp r0, #0
+ beq _0223DB20
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_02243400
+ ldrb r0, [r5, #4]
+ strb r0, [r5]
+ b _0223DB20
+_0223DAB6:
+ mov r1, #2
+ add r0, sp, #0x90
+ strb r1, [r0, #5]
+ mov r1, #0x26
+ lsl r1, r1, #4
+ strh r1, [r0, #6]
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0224682C
+ str r0, [sp, #0x98]
+ mov r0, sp
+ str r0, [sp, #0x88]
+ sub r0, #8
+ str r0, [sp, #0x88]
+ add r3, r0, #0
+ mov r0, #4
+ add r2, sp, #0x94
+ mov ip, r0
+_0223DADC:
+ ldmia r2!, {r0, r1}
+ stmia r3!, {r0, r1}
+ mov r0, ip
+ sub r0, r0, #1
+ mov ip, r0
+ bne _0223DADC
+ ldr r0, [r2]
+ add r1, r4, #0
+ str r0, [r3]
+ ldr r0, [sp, #0x88]
+ ldmia r0!, {r2, r3}
+ str r0, [sp, #0x88]
+ add r0, r7, #0
+ bl MOD11_02255FBC
+ ldr r0, [sp, #0x50]
+ mov r1, #1
+ ldr r0, [r0]
+ bic r0, r1
+ mov r1, #1
+ orr r1, r0
+ ldr r0, [sp, #0x50]
+ str r1, [r0]
+ mov r0, #0xe
+ strb r0, [r5]
+ mov r0, #0xc
+ strb r0, [r5, #4]
+ b _0223DB20
+_0223DB14:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022563B4
+ ldrb r0, [r5, #4]
+ strb r0, [r5]
+_0223DB20:
+ ldr r0, [sp, #0x54]
+ ldr r1, [sp, #0x4c]
+ add r0, #0x10
+ str r0, [sp, #0x54]
+ ldr r0, [sp, #0x50]
+ add r4, r4, #1
+ add r0, #0x40
+ str r0, [sp, #0x50]
+ mov r0, #1
+ lsl r0, r0, #8
+ add r1, r1, r0
+ str r1, [sp, #0x4c]
+ ldr r1, [sp, #0x48]
+ add r1, #0xc0
+ str r1, [sp, #0x48]
+ ldr r1, [sp, #0x44]
+ add r1, r1, #2
+ str r1, [sp, #0x44]
+ ldr r1, [sp, #0x40]
+ add r1, #0x10
+ str r1, [sp, #0x40]
+ ldr r1, [sp, #0x3c]
+ add r0, r1, r0
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x64]
+ cmp r4, r0
+ bge _0223DB58
+ b _0223D430
+_0223DB58:
+ ldr r1, [sp, #0x60]
+ ldr r0, [sp, #0x64]
+ cmp r1, r0
+ bne _0223DB96
+ mov r0, #6
+ str r0, [r6, #8]
+ ldr r0, [sp, #0x64]
+ mov r5, #0
+ cmp r0, #0
+ ble _0223DB96
+ str r6, [sp, #0x8c]
+_0223DB6E:
+ ldr r1, _0223DB9C ; =0x000021A8
+ ldr r0, [sp, #0x8c]
+ ldr r0, [r0, r1]
+ cmp r0, #0xf
+ bne _0223DB88
+ ldr r3, _0223DBA0 ; =0x000021A0
+ add r4, r6, r5
+ ldrb r3, [r4, r3]
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r5, #0
+ bl MOD11_0224B290
+_0223DB88:
+ ldr r0, [sp, #0x8c]
+ add r5, r5, #1
+ add r0, #0x10
+ str r0, [sp, #0x8c]
+ ldr r0, [sp, #0x64]
+ cmp r5, r0
+ blt _0223DB6E
+_0223DB96:
+ add sp, #0xb8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223DB9C: .word 0x000021A8
+_0223DBA0: .word 0x000021A0
+
+ thumb_func_start MOD11_0223DBA4
+MOD11_0223DBA4: ; 0x0223DBA4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ str r0, [sp, #4]
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ mov r2, #0x22
+ lsl r2, r2, #4
+ mov r1, #0
+ tst r2, r0
+ beq _0223DBDA
+ ldr r0, [sp, #0x14]
+ add r4, r1, #0
+ cmp r0, #0
+ ble _0223DBD8
+ ldr r1, _0223DD14 ; =0x000021E8
+_0223DBCC:
+ add r0, r5, r4
+ strb r4, [r0, r1]
+ ldr r0, [sp, #0x14]
+ add r4, r4, #1
+ cmp r4, r0
+ blt _0223DBCC
+_0223DBD8:
+ b _0223DD0C
+_0223DBDA:
+ mov r2, #4
+ tst r0, r2
+ beq _0223DC02
+ ldr r0, [sp, #0x14]
+ add r4, r1, #0
+ cmp r0, #0
+ ble _0223DC1A
+ ldr r2, _0223DD18 ; =0x000021B4
+ add r3, r5, #0
+_0223DBEC:
+ ldr r0, [r3, r2]
+ cmp r0, #4
+ bne _0223DBF6
+ mov r1, #5
+ b _0223DC1A
+_0223DBF6:
+ ldr r0, [sp, #0x14]
+ add r4, r4, #1
+ add r3, #0x10
+ cmp r4, r0
+ blt _0223DBEC
+ b _0223DC1A
+_0223DC02:
+ ldr r0, _0223DD18 ; =0x000021B4
+ ldr r0, [r5, r0]
+ cmp r0, #4
+ bne _0223DC0E
+ add r4, r1, #0
+ mov r1, #5
+_0223DC0E:
+ ldr r0, _0223DD1C ; =0x000021D4
+ ldr r0, [r5, r0]
+ cmp r0, #4
+ bne _0223DC1A
+ mov r4, #2
+ mov r1, #5
+_0223DC1A:
+ cmp r1, #5
+ bne _0223DC42
+ ldr r0, _0223DD14 ; =0x000021E8
+ ldr r2, [sp, #0x14]
+ strb r4, [r5, r0]
+ mov r1, #1
+ mov r0, #0
+ cmp r2, #0
+ ble _0223DD0C
+ ldr r3, _0223DD14 ; =0x000021E8
+_0223DC2E:
+ cmp r0, r4
+ beq _0223DC38
+ add r2, r5, r1
+ strb r0, [r2, r3]
+ add r1, r1, #1
+_0223DC38:
+ ldr r2, [sp, #0x14]
+ add r0, r0, #1
+ cmp r0, r2
+ blt _0223DC2E
+ b _0223DD0C
+_0223DC42:
+ ldr r0, [sp, #0x14]
+ mov r2, #0
+ cmp r0, #0
+ ble _0223DC6A
+ ldr r4, _0223DD14 ; =0x000021E8
+ add r0, r5, #0
+ add r6, r4, #0
+ sub r6, #0x34
+_0223DC52:
+ ldr r3, [r0, r6]
+ sub r3, r3, #2
+ cmp r3, #1
+ bhi _0223DC60
+ add r3, r5, r1
+ strb r2, [r3, r4]
+ add r1, r1, #1
+_0223DC60:
+ ldr r3, [sp, #0x14]
+ add r2, r2, #1
+ add r0, #0x10
+ cmp r2, r3
+ blt _0223DC52
+_0223DC6A:
+ ldr r0, [sp, #0x14]
+ mov r2, #0
+ cmp r0, #0
+ ble _0223DC94
+ ldr r4, _0223DD14 ; =0x000021E8
+ add r0, r5, #0
+ add r6, r4, #0
+ sub r6, #0x34
+_0223DC7A:
+ ldr r3, [r0, r6]
+ cmp r3, #2
+ beq _0223DC8A
+ cmp r3, #3
+ beq _0223DC8A
+ add r3, r5, r1
+ strb r2, [r3, r4]
+ add r1, r1, #1
+_0223DC8A:
+ ldr r3, [sp, #0x14]
+ add r2, r2, #1
+ add r0, #0x10
+ cmp r2, r3
+ blt _0223DC7A
+_0223DC94:
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x14]
+ sub r0, r0, #1
+ str r0, [sp, #0x18]
+ cmp r0, #0
+ ble _0223DD0C
+_0223DCA2:
+ ldr r0, [sp, #8]
+ add r7, r0, #1
+ ldr r0, [sp, #0x14]
+ cmp r7, r0
+ bge _0223DD00
+ ldr r0, [sp, #8]
+ add r0, r5, r0
+ str r0, [sp, #0x10]
+_0223DCB2:
+ ldr r1, [sp, #0x10]
+ ldr r0, _0223DD14 ; =0x000021E8
+ ldrb r6, [r1, r0]
+ add r1, r5, r7
+ ldrb r4, [r1, r0]
+ lsl r0, r6, #4
+ str r1, [sp, #0xc]
+ add r1, r5, r0
+ ldr r0, _0223DD18 ; =0x000021B4
+ ldr r0, [r1, r0]
+ lsl r1, r4, #4
+ add r2, r5, r1
+ ldr r1, _0223DD18 ; =0x000021B4
+ ldr r1, [r2, r1]
+ cmp r0, r1
+ bne _0223DCF8
+ cmp r0, #1
+ beq _0223DCDA
+ mov r0, #1
+ b _0223DCDC
+_0223DCDA:
+ mov r0, #0
+_0223DCDC:
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl MOD11_02244248
+ cmp r0, #0
+ beq _0223DCF8
+ ldr r1, [sp, #0x10]
+ ldr r0, _0223DD14 ; =0x000021E8
+ strb r4, [r1, r0]
+ ldr r1, [sp, #0xc]
+ strb r6, [r1, r0]
+_0223DCF8:
+ ldr r0, [sp, #0x14]
+ add r7, r7, #1
+ cmp r7, r0
+ blt _0223DCB2
+_0223DD00:
+ ldr r0, [sp, #8]
+ add r1, r0, #1
+ ldr r0, [sp, #0x18]
+ str r1, [sp, #8]
+ cmp r1, r0
+ blt _0223DCA2
+_0223DD0C:
+ mov r0, #7
+ str r0, [r5, #8]
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223DD14: .word 0x000021E8
+_0223DD18: .word 0x000021B4
+_0223DD1C: .word 0x000021D4
+
+ thumb_func_start MOD11_0223DD20
+MOD11_0223DD20: ; 0x0223DD20
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r1, #0
+ str r0, [sp]
+ str r1, [sp, #4]
+ bl MOD11_0222FF84
+ add r7, r0, #0
+_0223DD32:
+ ldr r0, [r4, #0x28]
+ cmp r0, #3
+ bls _0223DD3A
+ b _0223DE4A
+_0223DD3A:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223DD46: ; jump table
+ .short _0223DD4E - _0223DD46 - 2 ; case 0
+ .short _0223DDE8 - _0223DD46 - 2 ; case 1
+ .short _0223DE26 - _0223DD46 - 2 ; case 2
+ .short _0223DE42 - _0223DD46 - 2 ; case 3
+_0223DD4E:
+ ldr r0, [r4, #0x2c]
+ cmp r0, r7
+ bge _0223DDDC
+ add r6, r4, #0
+ add r6, #0x2c
+_0223DD58:
+ add r1, r4, r0
+ ldr r0, _0223DE60 ; =0x000021E8
+ ldrb r5, [r1, r0]
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, _0223DE64 ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ ldr r0, [r6]
+ beq _0223DD74
+ add r0, r0, #1
+ str r0, [r6]
+ b _0223DDD6
+_0223DD74:
+ add r0, r0, #1
+ str r0, [r6]
+ mov r0, #0xc0
+ mul r0, r5
+ add r1, r4, r0
+ ldr r0, _0223DE68 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ bne _0223DDD6
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0224683C
+ mov r1, #0x42
+ lsl r1, r1, #2
+ cmp r0, r1
+ bne _0223DDD6
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02247190
+ cmp r0, #0
+ bne _0223DDD6
+ lsl r0, r5, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _0223DDD6
+ ldr r0, [sp]
+ bl MOD11_0225679C
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xe8
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #8
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223DDD6:
+ ldr r0, [r4, #0x2c]
+ cmp r0, r7
+ blt _0223DD58
+_0223DDDC:
+ mov r0, #0
+ str r0, [r4, #0x2c]
+ ldr r0, [r4, #0x28]
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ b _0223DE4A
+_0223DDE8:
+ mov r6, #0
+ cmp r7, #0
+ ble _0223DE1E
+ add r5, r4, #0
+_0223DDF0:
+ ldr r0, _0223DE6C ; =0x00002DB0
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0x16
+ tst r0, r1
+ beq _0223DE16
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0224683C
+ cmp r0, #0x63
+ beq _0223DE16
+ ldr r0, _0223DE6C ; =0x00002DB0
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0x16
+ and r1, r0
+ ldr r0, _0223DE6C ; =0x00002DB0
+ str r1, [r5, r0]
+_0223DE16:
+ add r6, r6, #1
+ add r5, #0xc0
+ cmp r6, r7
+ blt _0223DDF0
+_0223DE1E:
+ ldr r0, [r4, #0x28]
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ b _0223DE4A
+_0223DE26:
+ mov r6, #0
+ add r5, r4, #0
+_0223DE2A:
+ bl FUN_0201B9EC
+ ldr r1, _0223DE70 ; =0x0000310C
+ add r6, r6, #1
+ strh r0, [r5, r1]
+ add r5, r5, #2
+ cmp r6, #4
+ blt _0223DE2A
+ ldr r0, [r4, #0x28]
+ add r0, r0, #1
+ str r0, [r4, #0x28]
+ b _0223DE4A
+_0223DE42:
+ mov r0, #0
+ str r0, [r4, #0x28]
+ mov r0, #2
+ str r0, [sp, #4]
+_0223DE4A:
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ bne _0223DE52
+ b _0223DD32
+_0223DE52:
+ cmp r0, #2
+ bne _0223DE5A
+ mov r0, #8
+ str r0, [r4, #8]
+_0223DE5A:
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223DE60: .word 0x000021E8
+_0223DE64: .word 0x00003108
+_0223DE68: .word 0x00002DAC
+_0223DE6C: .word 0x00002DB0
+_0223DE70: .word 0x0000310C
+
+ thumb_func_start MOD11_0223DE74
+MOD11_0223DE74: ; 0x0223DE74
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ add r4, r0, #0
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0224728C
+ add r0, r5, #0
+ add r0, #0xec
+ ldr r0, [r0]
+ cmp r0, r4
+ bne _0223DEA0
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0xec
+ str r1, [r0]
+ mov r0, #9
+ str r0, [r5, #8]
+ pop {r4, r5, r6, pc}
+_0223DEA0:
+ add r1, r5, r0
+ ldr r0, _0223DEB4 ; =0x000021E8
+ ldrb r1, [r1, r0]
+ sub r0, #0x40
+ lsl r1, r1, #4
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ str r0, [r5, #8]
+ pop {r4, r5, r6, pc}
+ nop
+_0223DEB4: .word 0x000021E8
+
+ thumb_func_start MOD11_0223DEB8
+MOD11_0223DEB8: ; 0x0223DEB8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x3c
+ str r0, [sp]
+ add r4, r1, #0
+ mov r5, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #4]
+_0223DEC8:
+ ldr r1, [r4, #8]
+ add r0, r4, #0
+ add r2, r1, #0
+ mov r3, #1
+ bl MOD11_0224246C
+ cmp r0, #1
+ beq _0223DEF2
+ ldr r1, [r4, #8]
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_02242510
+ cmp r0, #1
+ beq _0223DEF2
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02241FD8
+ cmp r0, #1
+ bne _0223DEF4
+_0223DEF2:
+ b _0223E684
+_0223DEF4:
+ ldr r0, [r4, #0x10]
+ cmp r0, #0xd
+ bhi _0223DFCE
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223DF06: ; jump table
+ .short _0223DF22 - _0223DF06 - 2 ; case 0
+ .short _0223DFDC - _0223DF06 - 2 ; case 1
+ .short _0223E086 - _0223DF06 - 2 ; case 2
+ .short _0223E132 - _0223DF06 - 2 ; case 3
+ .short _0223E1E0 - _0223DF06 - 2 ; case 4
+ .short _0223E25C - _0223DF06 - 2 ; case 5
+ .short _0223E2D8 - _0223DF06 - 2 ; case 6
+ .short _0223E3A0 - _0223DF06 - 2 ; case 7
+ .short _0223E430 - _0223DF06 - 2 ; case 8
+ .short _0223E4C0 - _0223DF06 - 2 ; case 9
+ .short _0223E554 - _0223DF06 - 2 ; case 10
+ .short _0223E5EA - _0223DF06 - 2 ; case 11
+ .short _0223E62C - _0223DF06 - 2 ; case 12
+ .short _0223E666 - _0223DF06 - 2 ; case 13
+_0223DF22:
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ bge _0223DFCA
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r0, r4, r0
+ str r0, [sp, #0x38]
+ add r0, r4, #0
+ str r0, [sp, #8]
+ add r0, #0x14
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0x1c]
+ mov r0, #0x1c
+ str r0, [sp, #0x18]
+_0223DF40:
+ lsl r0, r6, #2
+ mov r1, #0x6f
+ add r0, r4, r0
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r1, #1
+ tst r1, r2
+ beq _0223DFB6
+ ldr r1, [sp, #0x38]
+ lsl r3, r6, #3
+ ldr r7, [r1, r3]
+ ldr r2, [sp, #0x18]
+ add r1, r7, #0
+ str r7, [sp, #0x2c]
+ bic r1, r2
+ str r1, [sp, #0x2c]
+ lsl r1, r7, #0x1b
+ lsr r1, r1, #0x1d
+ sub r1, r1, #1
+ lsl r1, r1, #0x1d
+ lsr r2, r1, #0x1b
+ ldr r1, [sp, #0x2c]
+ orr r2, r1
+ ldr r1, [sp, #0x38]
+ str r2, [r1, r3]
+ ldr r1, [r1, r3]
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1d
+ bne _0223DFB6
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ ldr r1, [sp, #0x1c]
+ bic r2, r1
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ str r2, [r0, r1]
+ mov r1, #0x73
+ add r0, r1, #0
+ add r0, #0xb1
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x32
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r4, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r0, [sp]
+ add r2, r6, #0
+ bl MOD11_0224C150
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r5, #1
+_0223DFB6:
+ ldr r0, [sp, #8]
+ ldr r0, [r0]
+ add r1, r0, #1
+ ldr r0, [sp, #8]
+ cmp r5, #0
+ str r1, [r0]
+ bne _0223DFCA
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ blt _0223DF40
+_0223DFCA:
+ cmp r5, #0
+ beq _0223DFD0
+_0223DFCE:
+ b _0223E668
+_0223DFD0:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223DFDC:
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ bge _0223E076
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r7, r4, r0
+ add r0, r4, #0
+ str r0, [sp, #0xc]
+ add r0, #0x14
+ str r0, [sp, #0xc]
+ mov r0, #2
+ str r0, [sp, #0x20]
+_0223DFF4:
+ lsl r0, r6, #2
+ add r3, r4, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r1, [r3, r0]
+ mov r0, #2
+ tst r0, r1
+ beq _0223E062
+ lsl r2, r6, #3
+ ldr r1, [r7, r2]
+ ldr r0, _0223E340 ; =0xFFFFFC7F
+ and r0, r1
+ str r0, [sp, #0x30]
+ lsl r0, r1, #0x16
+ lsr r0, r0, #0x1d
+ sub r0, r0, #1
+ lsl r0, r0, #0x1d
+ lsr r1, r0, #0x16
+ ldr r0, [sp, #0x30]
+ orr r0, r1
+ str r0, [r7, r2]
+ ldr r0, [r7, r2]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1d
+ bne _0223E062
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r0, [r3, r0]
+ ldr r1, [sp, #0x20]
+ mov r2, #0x32
+ bic r0, r1
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ str r0, [r3, r1]
+ mov r1, #0x71
+ add r0, r1, #0
+ add r0, #0xb3
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r4, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r0, [sp]
+ add r2, r6, #0
+ bl MOD11_0224C150
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r5, #1
+_0223E062:
+ ldr r0, [sp, #0xc]
+ ldr r0, [r0]
+ add r1, r0, #1
+ ldr r0, [sp, #0xc]
+ cmp r5, #0
+ str r1, [r0]
+ bne _0223E076
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ blt _0223DFF4
+_0223E076:
+ cmp r5, #0
+ bne _0223E124
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223E086:
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ bge _0223E120
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r7, r4, r0
+ add r0, r4, #0
+ str r0, [sp, #0x10]
+ add r0, #0x14
+ str r0, [sp, #0x10]
+ mov r0, #0x40
+ str r0, [sp, #0x24]
+_0223E09E:
+ lsl r0, r6, #2
+ add r3, r4, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r1, [r3, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _0223E10C
+ lsl r2, r6, #3
+ ldr r1, [r7, r2]
+ ldr r0, _0223E344 ; =0xFFFF8FFF
+ and r0, r1
+ str r0, [sp, #0x34]
+ lsl r0, r1, #0x11
+ lsr r0, r0, #0x1d
+ sub r0, r0, #1
+ lsl r0, r0, #0x1d
+ lsr r1, r0, #0x11
+ ldr r0, [sp, #0x34]
+ orr r0, r1
+ str r0, [r7, r2]
+ ldr r0, [r7, r2]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1d
+ bne _0223E10C
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r0, [r3, r0]
+ ldr r1, [sp, #0x24]
+ mov r2, #0x32
+ bic r0, r1
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ str r0, [r3, r1]
+ mov r1, #0x36
+ add r0, r1, #0
+ add r0, #0xee
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r4, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r0, [sp]
+ add r2, r6, #0
+ bl MOD11_0224C150
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r5, #1
+_0223E10C:
+ ldr r0, [sp, #0x10]
+ ldr r0, [r0]
+ add r1, r0, #1
+ ldr r0, [sp, #0x10]
+ cmp r5, #0
+ str r1, [r0]
+ bne _0223E120
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ blt _0223E09E
+_0223E120:
+ cmp r5, #0
+ beq _0223E126
+_0223E124:
+ b _0223E668
+_0223E126:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223E132:
+ ldr r7, [r4, #0x14]
+ cmp r7, #2
+ bge _0223E1D0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r6, r4, r0
+ add r0, r4, #0
+ str r0, [sp, #0x14]
+ add r0, #0x14
+ str r0, [sp, #0x14]
+ mov r0, #8
+ str r0, [sp, #0x28]
+_0223E14A:
+ lsl r0, r7, #2
+ add r3, r4, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r1, [r3, r0]
+ mov r0, #8
+ tst r0, r1
+ beq _0223E1BC
+ lsl r0, r7, #3
+ ldr r2, [r6, r0]
+ ldr r1, _0223E348 ; =0xFFF1FFFF
+ and r1, r2
+ mov ip, r1
+ lsl r1, r2, #0xc
+ lsr r1, r1, #0x1d
+ sub r1, r1, #1
+ lsl r1, r1, #0x1d
+ lsr r2, r1, #0xc
+ mov r1, ip
+ orr r1, r2
+ str r1, [r6, r0]
+ ldr r1, [r6, r0]
+ lsl r1, r1, #0xc
+ lsr r1, r1, #0x1d
+ bne _0223E1BC
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ ldr r1, [r3, r1]
+ ldr r2, [sp, #0x28]
+ bic r1, r2
+ mov r2, #0x6f
+ lsl r2, r2, #2
+ str r1, [r3, r2]
+ ldr r0, [r6, r0]
+ lsl r0, r0, #0xf
+ lsr r1, r0, #0x1e
+ add r0, r2, #0
+ sub r0, #0xa4
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x6e
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r4, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r0, [sp]
+ add r2, r7, #0
+ bl MOD11_0224C150
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r5, #1
+_0223E1BC:
+ ldr r0, [sp, #0x14]
+ ldr r0, [r0]
+ add r1, r0, #1
+ ldr r0, [sp, #0x14]
+ cmp r5, #0
+ str r1, [r0]
+ bne _0223E1D0
+ ldr r7, [r4, #0x14]
+ cmp r7, #2
+ blt _0223E14A
+_0223E1D0:
+ cmp r5, #0
+ bne _0223E24E
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223E1E0:
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ bge _0223E24A
+ add r7, r4, #0
+ add r7, #0x14
+_0223E1EA:
+ lsl r0, r6, #2
+ mov r1, #0x6f
+ add r0, r4, r0
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r1, #3
+ lsl r1, r1, #8
+ tst r1, r2
+ beq _0223E23A
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ sub r1, #0xbc
+ sub r2, r2, r1
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ str r2, [r0, r1]
+ ldr r1, [r0, r1]
+ mov r0, #3
+ lsl r0, r0, #8
+ tst r0, r1
+ bne _0223E23A
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xe9
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r4, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r0, [sp]
+ add r2, r6, #0
+ bl MOD11_0224C150
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r5, #1
+_0223E23A:
+ ldr r0, [r7]
+ add r0, r0, #1
+ str r0, [r7]
+ cmp r5, #0
+ bne _0223E24A
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ blt _0223E1EA
+_0223E24A:
+ cmp r5, #0
+ beq _0223E250
+_0223E24E:
+ b _0223E668
+_0223E250:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223E25C:
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ bge _0223E2C8
+ add r7, r4, #0
+ add r7, #0x14
+_0223E266:
+ lsl r0, r6, #2
+ mov r1, #0x6f
+ add r0, r4, r0
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r1, #7
+ lsl r1, r1, #0xc
+ tst r1, r2
+ beq _0223E2B8
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r1, #1
+ lsl r1, r1, #0xc
+ sub r2, r2, r1
+ mov r1, #0x6f
+ lsl r1, r1, #2
+ str r2, [r0, r1]
+ ldr r1, [r0, r1]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r1
+ bne _0223E2B8
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xfa
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r4, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r0, [sp]
+ add r2, r6, #0
+ bl MOD11_0224C150
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r5, #1
+_0223E2B8:
+ ldr r0, [r7]
+ add r0, r0, #1
+ str r0, [r7]
+ cmp r5, #0
+ bne _0223E2C8
+ ldr r6, [r4, #0x14]
+ cmp r6, #2
+ blt _0223E266
+_0223E2C8:
+ cmp r5, #0
+ bne _0223E392
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223E2D8:
+ ldr r0, [r4, #0x14]
+ ldr r1, [sp, #4]
+ cmp r0, r1
+ bge _0223E38E
+ add r6, r4, #0
+ mov r7, #2
+ add r6, #0x14
+_0223E2E6:
+ add r1, r4, r0
+ ldr r0, _0223E34C ; =0x000021EC
+ ldrb r2, [r1, r0]
+ mov r0, #0x63
+ lsl r0, r0, #2
+ add r1, r4, r2
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ beq _0223E37C
+ mov r0, #0x63
+ lsl r0, r0, #2
+ ldrb r0, [r1, r0]
+ sub r3, r0, #1
+ mov r0, #0x63
+ lsl r0, r0, #2
+ strb r3, [r1, r0]
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ bne _0223E37C
+ mov r0, #0xc0
+ mul r0, r2
+ ldr r3, _0223E350 ; =0x00002D8C
+ add r0, r4, r0
+ ldr r3, [r0, r3]
+ cmp r3, #0
+ beq _0223E37C
+ mov r3, #0x46
+ lsl r3, r3, #2
+ str r2, [r4, r3]
+ add r3, r4, #0
+ add r3, #0xf5
+ strb r7, [r3]
+ add r5, r4, #0
+ ldr r3, _0223E354 ; =0x00000215
+ add r5, #0xf6
+ strh r3, [r5]
+ sub r3, #0x5d
+ ldrb r1, [r1, r3]
+ lsl r1, r1, #8
+ orr r2, r1
+ add r1, r4, #0
+ add r1, #0xf8
+ str r2, [r1]
+ ldr r1, _0223E358 ; =0x00002D90
+ b _0223E35C
+ .align 2, 0
+_0223E340: .word 0xFFFFFC7F
+_0223E344: .word 0xFFFF8FFF
+_0223E348: .word 0xFFF1FFFF
+_0223E34C: .word 0x000021EC
+_0223E350: .word 0x00002D8C
+_0223E354: .word 0x00000215
+_0223E358: .word 0x00002D90
+_0223E35C:
+ ldr r0, [r0, r1]
+ add r1, r7, #0
+ bl MOD11_022476C0
+ ldr r1, _0223E688 ; =0x0000215C
+ mov r2, #0x88
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r5, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223E37C:
+ ldr r0, [r6]
+ add r0, r0, #1
+ str r0, [r6]
+ cmp r5, #0
+ bne _0223E38E
+ ldr r0, [r4, #0x14]
+ ldr r1, [sp, #4]
+ cmp r0, r1
+ blt _0223E2E6
+_0223E38E:
+ cmp r5, #0
+ beq _0223E394
+_0223E392:
+ b _0223E668
+_0223E394:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ mov r0, #0
+ str r0, [r4, #0x14]
+ b _0223E668
+_0223E3A0:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r2, #3
+ tst r2, r1
+ beq _0223E428
+ mov r2, #2
+ tst r1, r2
+ beq _0223E3D6
+ add r0, r4, #0
+ ldr r1, _0223E68C ; =0x00000321
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E41E
+_0223E3D6:
+ add r1, r0, #4
+ ldr r1, [r4, r1]
+ sub r2, r1, #1
+ add r1, r0, #4
+ str r2, [r4, r1]
+ add r0, r0, #4
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _0223E3FC
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xea
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E41E
+_0223E3FC:
+ add r0, r4, #0
+ ldr r1, _0223E68C ; =0x00000321
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223E41E:
+ mov r0, #0x4e
+ mov r1, #0x13
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r5, #1
+_0223E428:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ b _0223E668
+_0223E430:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r2, #0xc
+ tst r2, r1
+ beq _0223E4B8
+ mov r2, #8
+ tst r1, r2
+ beq _0223E466
+ add r0, r4, #0
+ ldr r1, _0223E690 ; =0x00000325
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E4AE
+_0223E466:
+ add r1, r0, #4
+ ldr r1, [r4, r1]
+ sub r2, r1, #1
+ add r1, r0, #4
+ str r2, [r4, r1]
+ add r0, r0, #4
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _0223E48C
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xeb
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E4AE
+_0223E48C:
+ add r0, r4, #0
+ ldr r1, _0223E690 ; =0x00000325
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223E4AE:
+ mov r0, #0x4e
+ mov r1, #0x15
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r5, #1
+_0223E4B8:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ b _0223E668
+_0223E4C0:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r2, #0x30
+ tst r2, r1
+ beq _0223E54C
+ mov r2, #0x20
+ tst r1, r2
+ beq _0223E4F8
+ mov r1, #0xca
+ add r0, r4, #0
+ lsl r1, r1, #2
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E542
+_0223E4F8:
+ add r1, r0, #4
+ ldr r1, [r4, r1]
+ sub r2, r1, #1
+ add r1, r0, #4
+ str r2, [r4, r1]
+ add r0, r0, #4
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _0223E51E
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xec
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E542
+_0223E51E:
+ mov r1, #0xca
+ add r0, r4, #0
+ lsl r1, r1, #2
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223E542:
+ mov r0, #0x4e
+ mov r1, #0x16
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r5, #1
+_0223E54C:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ b _0223E668
+_0223E554:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r2, [r4, r0]
+ mov r1, #0xc0
+ add r0, r2, #0
+ tst r0, r1
+ beq _0223E5E2
+ mov r0, #0x80
+ tst r0, r2
+ beq _0223E58C
+ add r0, r4, #0
+ ldr r1, _0223E694 ; =0x0000032B
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E5D8
+_0223E58C:
+ add r0, r1, #0
+ add r0, #0xc4
+ ldr r0, [r4, r0]
+ sub r2, r0, #1
+ add r0, r1, #0
+ add r0, #0xc4
+ add r1, #0xc4
+ str r2, [r4, r0]
+ ldr r0, [r4, r1]
+ cmp r0, #0
+ bne _0223E5B6
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xed
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223E5D8
+_0223E5B6:
+ add r0, r4, #0
+ ldr r1, _0223E694 ; =0x0000032B
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223E5D8:
+ mov r0, #0x4e
+ mov r1, #0x14
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r5, #1
+_0223E5E2:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ b _0223E668
+_0223E5EA:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0xe
+ tst r0, r1
+ beq _0223E624
+ add r0, r4, #0
+ ldr r1, _0223E698 ; =0x0000032D
+ add r0, #0xf6
+ strh r1, [r0]
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x68
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r1, #0x12
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r5, #1
+_0223E624:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ b _0223E668
+_0223E62C:
+ mov r1, #6
+ lsl r1, r1, #6
+ ldr r3, [r4, r1]
+ mov r2, #7
+ lsl r2, r2, #0xc
+ add r0, r3, #0
+ tst r0, r2
+ beq _0223E65E
+ mov r0, #1
+ lsl r0, r0, #0xc
+ sub r0, r3, r0
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ tst r0, r2
+ bne _0223E65E
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xee
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r5, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223E65E:
+ ldr r0, [r4, #0x10]
+ add r0, r0, #1
+ str r0, [r4, #0x10]
+ b _0223E668
+_0223E666:
+ mov r5, #2
+_0223E668:
+ cmp r5, #0
+ bne _0223E66E
+ b _0223DEC8
+_0223E66E:
+ cmp r5, #1
+ bne _0223E678
+ ldr r0, [sp]
+ bl MOD11_0225679C
+_0223E678:
+ cmp r5, #2
+ bne _0223E684
+ mov r0, #0
+ str r0, [r4, #0x10]
+ mov r0, #0xa
+ str r0, [r4, #8]
+_0223E684:
+ add sp, #0x3c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223E688: .word 0x0000215C
+_0223E68C: .word 0x00000321
+_0223E690: .word 0x00000325
+_0223E694: .word 0x0000032B
+_0223E698: .word 0x0000032D
+
+ thumb_func_start MOD11_0223E69C
+MOD11_0223E69C: ; 0x0223E69C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r4, r1, #0
+ mov r1, #0
+ str r1, [sp, #0x10]
+ str r0, [sp, #4]
+ bl MOD11_0222FF84
+ ldr r1, [r4, #8]
+ str r0, [sp, #0xc]
+ add r0, r4, #0
+ add r2, r1, #0
+ mov r3, #1
+ bl MOD11_0224246C
+ cmp r0, #1
+ beq _0223E6D8
+ ldr r1, [r4, #8]
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_02242510
+ cmp r0, #1
+ beq _0223E6D8
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_02241FD8
+ cmp r0, #1
+ bne _0223E6DC
+_0223E6D8:
+ bl _0223F0B2
+_0223E6DC:
+ ldr r1, [r4, #0x1c]
+ ldr r0, [sp, #0xc]
+ cmp r1, r0
+ blt _0223E6E8
+ bl _0223F0A8
+_0223E6E8:
+ ldr r0, _0223EA14 ; =0x000021EC
+ add r1, r4, r1
+ ldrb r5, [r1, r0]
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, _0223EA18 ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ beq _0223E706
+ ldr r0, [r4, #0x1c]
+ add r0, r0, #1
+ str r0, [r4, #0x1c]
+ bl _0223F09C
+_0223E706:
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x1a
+ bls _0223E710
+ bl _0223F08C
+_0223E710:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223E71C: ; jump table
+ .short _0223E752 - _0223E71C - 2 ; case 0
+ .short _0223E7BA - _0223E71C - 2 ; case 1
+ .short _0223E83C - _0223E71C - 2 ; case 2
+ .short _0223E856 - _0223E71C - 2 ; case 3
+ .short _0223E872 - _0223E71C - 2 ; case 4
+ .short _0223E88C - _0223E71C - 2 ; case 5
+ .short _0223E8F6 - _0223E71C - 2 ; case 6
+ .short _0223E948 - _0223E71C - 2 ; case 7
+ .short _0223E9C8 - _0223E71C - 2 ; case 8
+ .short _0223EA04 - _0223E71C - 2 ; case 9
+ .short _0223EA72 - _0223E71C - 2 ; case 10
+ .short _0223EAB0 - _0223E71C - 2 ; case 11
+ .short _0223EB2A - _0223E71C - 2 ; case 12
+ .short _0223EBAE - _0223E71C - 2 ; case 13
+ .short _0223ECA6 - _0223E71C - 2 ; case 14
+ .short _0223ED0E - _0223E71C - 2 ; case 15
+ .short _0223ED90 - _0223E71C - 2 ; case 16
+ .short _0223EE56 - _0223E71C - 2 ; case 17
+ .short _0223EE74 - _0223E71C - 2 ; case 18
+ .short _0223EEBA - _0223E71C - 2 ; case 19
+ .short _0223EF06 - _0223E71C - 2 ; case 20
+ .short _0223EF50 - _0223E71C - 2 ; case 21
+ .short _0223EF9A - _0223E71C - 2 ; case 22
+ .short _0223EFE4 - _0223E71C - 2 ; case 23
+ .short _0223F034 - _0223E71C - 2 ; case 24
+ .short _0223F068 - _0223E71C - 2 ; case 25
+ .short _0223F082 - _0223E71C - 2 ; case 26
+_0223E752:
+ mov r6, #0xc0
+ add r0, r5, #0
+ mul r0, r6
+ add r3, r4, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ mov r1, #1
+ ldr r2, [r3, r0]
+ lsl r1, r1, #0xa
+ tst r1, r2
+ beq _0223E7B0
+ add r1, r0, #0
+ sub r1, #0x34
+ ldr r2, [r3, r1]
+ add r1, r0, #0
+ sub r1, #0x30
+ ldr r1, [r3, r1]
+ cmp r2, r1
+ beq _0223E7B0
+ cmp r2, #0
+ beq _0223E7B0
+ add r0, #0xc
+ ldr r0, [r3, r0]
+ lsl r0, r0, #0xd
+ lsr r0, r0, #0x1d
+ beq _0223E796
+ add r6, #0x58
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xef
+ str r5, [r4, r6]
+ bl MOD11_022431DC
+ b _0223E7A4
+_0223E796:
+ add r6, #0x58
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x89
+ str r5, [r4, r6]
+ bl MOD11_022431DC
+_0223E7A4:
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E7B0:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ bl _0223F08C
+_0223E7BA:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r6, r4, r1
+ mov r1, #0xb7
+ lsl r1, r1, #6
+ mov r2, #1
+ ldr r3, [r6, r1]
+ lsl r2, r2, #0x18
+ tst r2, r3
+ beq _0223E832
+ add r2, r1, #0
+ sub r2, #0x34
+ ldr r3, [r6, r2]
+ add r2, r1, #0
+ sub r2, #0x30
+ ldr r2, [r6, r2]
+ cmp r3, r2
+ beq _0223E832
+ cmp r3, #0
+ beq _0223E832
+ add r2, r1, #0
+ add r2, #0xc
+ ldr r2, [r6, r2]
+ lsl r2, r2, #0xd
+ lsr r2, r2, #0x1d
+ beq _0223E800
+ add r0, #0x58
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xef
+ bl MOD11_022431DC
+ b _0223E826
+_0223E800:
+ add r2, r0, #0
+ add r2, #0x58
+ str r5, [r4, r2]
+ add r2, r0, #0
+ add r2, #0xc8
+ add r0, #0x64
+ sub r1, #0x30
+ str r2, [r4, r0]
+ ldr r0, [r6, r1]
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _0223EA1C ; =0x0000215C
+ mov r2, #0xa9
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+_0223E826:
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E832:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ bl _0223F08C
+_0223E83C:
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_022475B8
+ cmp r0, #1
+ bne _0223E84C
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E84C:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ bl _0223F08C
+_0223E856:
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_02248C0C
+ cmp r0, #1
+ bne _0223E868
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E868:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ bl _0223F08C
+_0223E872:
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_022492A4
+ cmp r0, #1
+ bne _0223E884
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E884:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223E88C:
+ mov r3, #0xc0
+ add r0, r5, #0
+ mul r0, r3
+ mov r2, #0xb7
+ add r6, r4, r0
+ lsl r2, r2, #6
+ ldr r0, [r6, r2]
+ mov r1, #4
+ tst r1, r0
+ beq _0223E8EE
+ mov r1, #3
+ and r0, r1
+ add r1, r0, #0
+ mul r1, r3
+ add r0, r4, r1
+ sub r2, #0x34
+ ldr r0, [r0, r2]
+ cmp r0, #0
+ beq _0223E8EE
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _0223E8EE
+ ldr r0, _0223EA20 ; =0x00002D8C
+ ldr r1, [r6, r0]
+ cmp r1, #0
+ beq _0223E8EE
+ add r0, #0x34
+ ldr r1, [r6, r0]
+ mov r0, #3
+ and r1, r0
+ mov r0, #0x47
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ add r0, r0, #4
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x45
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E8EE:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223E8F6:
+ mov r2, #0xc0
+ add r0, r5, #0
+ mul r0, r2
+ ldr r3, _0223EA24 ; =0x00002DAC
+ add r0, r4, r0
+ ldr r1, [r0, r3]
+ mov r6, #8
+ tst r1, r6
+ beq _0223E940
+ add r1, r3, #0
+ sub r1, #0x20
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ beq _0223E940
+ add r2, #0x58
+ str r5, [r4, r2]
+ sub r3, #0x1c
+ ldr r1, [r0, r3]
+ add r0, r6, #0
+ sub r0, #9
+ mul r0, r1
+ add r1, r6, #0
+ bl MOD11_022476C0
+ ldr r1, _0223EA1C ; =0x0000215C
+ mov r2, #0x17
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E940:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223E948:
+ mov r0, #0xc0
+ mul r0, r5
+ ldr r1, _0223EA24 ; =0x00002DAC
+ add r6, r4, r0
+ ldr r0, [r6, r1]
+ mov r2, #0x80
+ tst r0, r2
+ beq _0223E9C0
+ add r0, r1, #0
+ sub r0, #0x20
+ ldr r0, [r6, r0]
+ cmp r0, #0
+ beq _0223E9C0
+ add r2, #0x98
+ str r5, [r4, r2]
+ sub r1, #0x1c
+ ldr r0, [r6, r1]
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _0223EA1C ; =0x0000215C
+ str r0, [r4, r1]
+ ldr r1, _0223EA24 ; =0x00002DAC
+ mov r0, #0xf
+ ldr r2, [r6, r1]
+ lsl r0, r0, #8
+ add r3, r2, #0
+ and r3, r0
+ cmp r3, r0
+ beq _0223E98C
+ mov r0, #1
+ lsl r0, r0, #8
+ add r0, r2, r0
+ str r0, [r6, r1]
+_0223E98C:
+ ldr r2, _0223EA24 ; =0x00002DAC
+ ldr r0, _0223EA1C ; =0x0000215C
+ ldr r3, [r6, r2]
+ mov r2, #0xf
+ lsl r2, r2, #8
+ and r2, r3
+ ldr r1, [r4, r0]
+ lsr r2, r2, #8
+ mul r2, r1
+ str r2, [r4, r0]
+ mov r1, #0
+ ldr r2, [r4, r0]
+ mvn r1, r1
+ mul r1, r2
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x17
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E9C0:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223E9C8:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r6, r4, r1
+ ldr r1, _0223EA24 ; =0x00002DAC
+ mov r2, #0x10
+ ldr r3, [r6, r1]
+ tst r2, r3
+ beq _0223E9FC
+ sub r1, #0x20
+ ldr r1, [r6, r1]
+ cmp r1, #0
+ beq _0223E9FC
+ add r0, #0x58
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x1a
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223E9FC:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EA04:
+ mov r6, #0xc0
+ add r0, r5, #0
+ mul r0, r6
+ add r3, r4, r0
+ ldr r7, _0223EA28 ; =0x00002DB0
+ ldr r0, _0223EA18 ; =0x00003108
+ b _0223EA2C
+ nop
+_0223EA14: .word 0x000021EC
+_0223EA18: .word 0x00003108
+_0223EA1C: .word 0x0000215C
+_0223EA20: .word 0x00002D8C
+_0223EA24: .word 0x00002DAC
+_0223EA28: .word 0x00002DB0
+_0223EA2C:
+ ldr r2, [r3, r7]
+ lsl r0, r0, #0x18
+ tst r0, r2
+ beq _0223EA6A
+ add r0, r7, #0
+ sub r0, #0x24
+ ldr r0, [r3, r0]
+ cmp r0, #0
+ beq _0223EA6A
+ sub r0, r7, #4
+ ldr r1, [r3, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0223EA64
+ add r6, #0x58
+ str r5, [r4, r6]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x5e
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+ b _0223EA6A
+_0223EA64:
+ ldr r0, _0223ED9C ; =0xF7FFFFFF
+ and r0, r2
+ str r0, [r3, r7]
+_0223EA6A:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EA72:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r6, r4, r1
+ ldr r1, _0223EDA0 ; =0x00002DB0
+ mov r2, #1
+ ldr r3, [r6, r1]
+ lsl r2, r2, #0x1c
+ tst r2, r3
+ beq _0223EAA8
+ sub r1, #0x24
+ ldr r1, [r6, r1]
+ cmp r1, #0
+ beq _0223EAA8
+ add r0, #0x58
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x62
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EAA8:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EAB0:
+ mov r1, #0xc0
+ add r0, r5, #0
+ mul r0, r1
+ ldr r2, _0223EDA0 ; =0x00002DB0
+ add r6, r4, r0
+ ldr r3, [r6, r2]
+ mov r7, #0xe
+ lsl r7, r7, #0xc
+ add r0, r3, #0
+ tst r0, r7
+ beq _0223EB22
+ add r0, r2, #0
+ sub r0, #0x24
+ ldr r0, [r6, r0]
+ cmp r0, #0
+ beq _0223EB22
+ mov r0, #2
+ lsl r0, r0, #0xc
+ sub r0, r3, r0
+ str r0, [r6, r2]
+ ldr r0, [r6, r2]
+ tst r0, r7
+ beq _0223EAFE
+ sub r2, #0x20
+ ldr r2, [r6, r2]
+ sub r1, #0xc1
+ add r0, r2, #0
+ mul r0, r1
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _0223EDA4 ; =0x0000215C
+ mov r2, #0x3b
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ b _0223EB08
+_0223EAFE:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x3c
+ bl MOD11_022431DC
+_0223EB08:
+ ldr r0, _0223EDA8 ; =0x00002DEA
+ ldrh r1, [r6, r0]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ sub r0, #0xc
+ str r5, [r4, r0]
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EB22:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EB2A:
+ mov r0, #0x7b
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ mov r2, #4
+ add r3, r5, #0
+ bl MOD11_02246870
+ mov r1, #0x4e
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #0xc0
+ mul r0, r5
+ add r6, r4, r0
+ ldr r0, _0223EDAC ; =0x00002DAC
+ ldr r1, [r6, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0223EBA6
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _0223EBA6
+ ldr r1, _0223EDB0 ; =0x00002D8C
+ ldr r0, [r6, r1]
+ cmp r0, #0
+ beq _0223EBA6
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _0223EBA6
+ add r0, r1, #4
+ ldr r1, [r6, r0]
+ mov r0, #0
+ mvn r0, r0
+ mul r0, r1
+ mov r1, #8
+ bl MOD11_022476C0
+ ldr r1, _0223EDA4 ; =0x0000215C
+ ldr r2, _0223EDB4 ; =0x00000107
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, _0223EDB8 ; =0x0000213C
+ mov r1, #0x40
+ ldr r2, [r4, r0]
+ orr r2, r1
+ str r2, [r4, r0]
+ add r1, #0xd8
+ str r5, [r4, r1]
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EBA6:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EBAE:
+ mov r0, #0xc0
+ mul r0, r5
+ add r7, r4, r0
+ ldr r0, _0223EDA0 ; =0x00002DB0
+ ldr r1, [r7, r0]
+ mov r0, #0x70
+ tst r0, r1
+ beq _0223EC96
+ ldr r0, [sp, #0xc]
+ mov r6, #0
+ cmp r0, #0
+ ble _0223EC08
+_0223EBC6:
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r4, r0
+ ldr r0, _0223EDAC ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0223EBFC
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2b
+ beq _0223EBFC
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r6, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x13
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223EC08
+_0223EBFC:
+ add r0, r6, #1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r0, [sp, #0xc]
+ cmp r6, r0
+ blt _0223EBC6
+_0223EC08:
+ ldr r0, [sp, #0xc]
+ cmp r6, r0
+ beq _0223EC14
+ mov r0, #2
+ str r0, [sp, #0x10]
+ b _0223F08C
+_0223EC14:
+ ldr r0, _0223EDA0 ; =0x00002DB0
+ ldr r1, [r7, r0]
+ sub r1, #0x10
+ str r1, [r7, r0]
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246764
+ cmp r0, #0
+ ldr r2, _0223EDA0 ; =0x00002DB0
+ beq _0223EC4E
+ ldr r1, [r7, r2]
+ mov r0, #0x70
+ bic r1, r0
+ mov r6, #0xf1
+ add r0, r5, #0
+ str r1, [r7, r2]
+ bl FUN_0206A92C
+ add r3, r6, #0
+ add r3, #0x8f
+ lsl r2, r0, #8
+ add r0, r6, #0
+ sub r0, #0xf2
+ ldr r1, [r4, r3]
+ eor r0, r2
+ and r0, r1
+ str r0, [r4, r3]
+ b _0223EC7A
+_0223EC4E:
+ ldr r1, [r7, r2]
+ mov r0, #0x70
+ tst r0, r1
+ beq _0223EC5A
+ mov r6, #0xf0
+ b _0223EC7A
+_0223EC5A:
+ mov r0, #0x70
+ bic r1, r0
+ mov r6, #0xf1
+ add r0, r5, #0
+ str r1, [r7, r2]
+ bl FUN_0206A92C
+ add r3, r6, #0
+ add r3, #0x8f
+ lsl r2, r0, #8
+ add r0, r6, #0
+ sub r0, #0xf2
+ ldr r1, [r4, r3]
+ eor r0, r2
+ and r0, r1
+ str r0, [r4, r3]
+_0223EC7A:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, r6, #0
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EC96:
+ ldr r0, [sp, #0x10]
+ cmp r0, #2
+ bne _0223EC9E
+ b _0223F08C
+_0223EC9E:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223ECA6:
+ mov r2, #0xc0
+ add r0, r5, #0
+ mul r0, r2
+ add r6, r4, r0
+ ldr r0, _0223EDA0 ; =0x00002DB0
+ lsl r2, r2, #4
+ ldr r1, [r6, r0]
+ tst r2, r1
+ beq _0223ED06
+ mov r2, #1
+ lsl r2, r2, #0xa
+ sub r1, r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246764
+ cmp r0, #0
+ beq _0223ECD8
+ ldr r1, _0223EDA0 ; =0x00002DB0
+ ldr r0, _0223EDBC ; =0xFFFFF3FF
+ ldr r2, [r6, r1]
+ and r0, r2
+ str r0, [r6, r1]
+ b _0223ED06
+_0223ECD8:
+ ldr r0, _0223EDA0 ; =0x00002DB0
+ ldr r1, [r6, r0]
+ mov r0, #3
+ lsl r0, r0, #0xa
+ tst r0, r1
+ bne _0223ED06
+ mov r0, #7
+ tst r0, r1
+ bne _0223ED06
+ add r0, r4, #0
+ add r0, #0x94
+ str r5, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x33
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223ED06:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223ED0E:
+ mov r0, #0xc0
+ add r6, r5, #0
+ mul r6, r0
+ add r0, r4, r6
+ ldr r1, _0223EDC0 ; =0x00002DE8
+ mov ip, r0
+ ldrh r3, [r0, r1]
+ cmp r3, #0
+ beq _0223ED88
+ ldr r7, _0223EDC4 ; =0x00002D4C
+ mov r2, #0
+ mov r1, ip
+_0223ED26:
+ ldrh r0, [r1, r7]
+ cmp r3, r0
+ beq _0223ED34
+ add r2, r2, #1
+ add r1, r1, #2
+ cmp r2, #4
+ blt _0223ED26
+_0223ED34:
+ cmp r2, #4
+ bne _0223ED44
+ ldr r0, _0223EDC8 ; =0x00002DC8
+ add r1, r4, r0
+ ldr r2, [r1, r6]
+ mov r0, #7
+ bic r2, r0
+ str r2, [r1, r6]
+_0223ED44:
+ ldr r1, _0223EDC8 ; =0x00002DC8
+ add r0, r4, r6
+ ldr r0, [r0, r1]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1d
+ beq _0223ED64
+ add r2, r4, r1
+ ldr r1, [r2, r6]
+ mov r3, #7
+ bic r1, r3
+ sub r3, r0, #1
+ mov r0, #7
+ and r0, r3
+ orr r0, r1
+ str r0, [r2, r6]
+ b _0223ED88
+_0223ED64:
+ mov r2, #0
+ add r1, #0x20
+ mov r0, ip
+ strh r2, [r0, r1]
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x48
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223ED88:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223ED90:
+ mov r0, #0xc0
+ add r6, r5, #0
+ mul r6, r0
+ add r0, r4, r6
+ ldr r1, _0223EDCC ; =0x00002DEC
+ b _0223EDD0
+ .align 2, 0
+_0223ED9C: .word 0xF7FFFFFF
+_0223EDA0: .word 0x00002DB0
+_0223EDA4: .word 0x0000215C
+_0223EDA8: .word 0x00002DEA
+_0223EDAC: .word 0x00002DAC
+_0223EDB0: .word 0x00002D8C
+_0223EDB4: .word 0x00000107
+_0223EDB8: .word 0x0000213C
+_0223EDBC: .word 0xFFFFF3FF
+_0223EDC0: .word 0x00002DE8
+_0223EDC4: .word 0x00002D4C
+_0223EDC8: .word 0x00002DC8
+_0223EDCC: .word 0x00002DEC
+_0223EDD0:
+ str r0, [sp, #8]
+ ldrh r2, [r0, r1]
+ cmp r2, #0
+ beq _0223EE4E
+ ldr r7, _0223F0B8 ; =0x00002D4C
+ mov r3, #0
+ add r1, r0, #0
+_0223EDDE:
+ ldrh r0, [r1, r7]
+ cmp r2, r0
+ beq _0223EDEC
+ add r3, r3, #1
+ add r1, r1, #2
+ cmp r3, #4
+ blt _0223EDDE
+_0223EDEC:
+ cmp r3, #4
+ beq _0223EDFE
+ beq _0223EE0A
+ ldr r0, [sp, #8]
+ add r1, r0, r3
+ ldr r0, _0223F0BC ; =0x00002D6C
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ bne _0223EE0A
+_0223EDFE:
+ ldr r0, _0223F0C0 ; =0x00002DC8
+ add r2, r4, r0
+ ldr r1, [r2, r6]
+ mov r0, #0x38
+ bic r1, r0
+ str r1, [r2, r6]
+_0223EE0A:
+ ldr r1, _0223F0C0 ; =0x00002DC8
+ add r0, r4, r6
+ ldr r0, [r0, r1]
+ lsl r0, r0, #0x1a
+ lsr r2, r0, #0x1d
+ beq _0223EE2A
+ add r1, r4, r1
+ sub r2, r2, #1
+ lsl r2, r2, #0x1d
+ ldr r0, [r1, r6]
+ mov r3, #0x38
+ bic r0, r3
+ lsr r2, r2, #0x1a
+ orr r0, r2
+ str r0, [r1, r6]
+ b _0223EE4E
+_0223EE2A:
+ ldr r0, [sp, #8]
+ mov r2, #0
+ add r1, #0x24
+ strh r2, [r0, r1]
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x4a
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EE4E:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EE56:
+ mov r0, #0xc0
+ mul r0, r5
+ add r3, r4, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r2, [r3, r0]
+ mov r1, #0x18
+ tst r1, r2
+ beq _0223EE6C
+ sub r2, #8
+ str r2, [r3, r0]
+_0223EE6C:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EE74:
+ mov r0, #0xc0
+ mul r0, r5
+ ldr r2, _0223F0C0 ; =0x00002DC8
+ add r5, r4, r0
+ ldr r1, [r5, r2]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1e
+ beq _0223EEB2
+ add r3, r4, r2
+ ldr r6, [r3, r0]
+ mov r1, #0xc0
+ add r7, r6, #0
+ bic r7, r1
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x1e
+ sub r1, r1, #1
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x18
+ orr r1, r7
+ str r1, [r3, r0]
+ ldr r0, [r3, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1e
+ bne _0223EEB2
+ add r0, r2, #0
+ sub r0, #8
+ ldr r1, [r5, r0]
+ ldr r0, _0223F0C4 ; =0xFFFFFDFF
+ sub r2, #8
+ and r0, r1
+ str r0, [r5, r2]
+_0223EEB2:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EEBA:
+ ldr r0, _0223F0C0 ; =0x00002DC8
+ mov r2, #0xc0
+ add r3, r5, #0
+ mul r3, r2
+ add r1, r4, r0
+ ldr r7, [r1, r3]
+ lsl r0, r7, #0x15
+ lsr r6, r0, #0x1d
+ beq _0223EEFE
+ ldr r0, _0223F0C8 ; =0xFFFFF8FF
+ and r7, r0
+ sub r0, r6, #1
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x15
+ orr r0, r7
+ str r0, [r1, r3]
+ ldr r0, [r1, r3]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1d
+ bne _0223EEFE
+ add r0, r2, #0
+ add r0, #0x58
+ str r5, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, #0x60
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EEFE:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EF06:
+ ldr r0, _0223F0CC ; =0x00002DCC
+ mov r1, #0xc0
+ add r3, r5, #0
+ mul r3, r1
+ add r2, r4, r0
+ ldr r7, [r2, r3]
+ lsl r0, r7, #0x10
+ lsr r6, r0, #0x1d
+ beq _0223EF48
+ ldr r0, _0223F0D0 ; =0xFFFF1FFF
+ and r7, r0
+ sub r0, r6, #1
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x10
+ orr r0, r7
+ str r0, [r2, r3]
+ ldr r0, [r2, r3]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1d
+ bne _0223EF48
+ add r1, #0x58
+ str r5, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xf2
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EF48:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EF50:
+ ldr r0, _0223F0CC ; =0x00002DCC
+ mov r1, #0xc0
+ add r3, r5, #0
+ mul r3, r1
+ add r2, r4, r0
+ ldr r7, [r2, r3]
+ lsl r0, r7, #0xd
+ lsr r6, r0, #0x1d
+ beq _0223EF92
+ ldr r0, _0223F0D4 ; =0xFFF8FFFF
+ and r7, r0
+ sub r0, r6, #1
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0xd
+ orr r0, r7
+ str r0, [r2, r3]
+ ldr r0, [r2, r3]
+ lsl r0, r0, #0xd
+ lsr r0, r0, #0x1d
+ bne _0223EF92
+ add r1, #0x58
+ str r5, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xf3
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EF92:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EF9A:
+ ldr r0, _0223F0CC ; =0x00002DCC
+ mov r1, #0xc0
+ add r3, r5, #0
+ mul r3, r1
+ add r2, r4, r0
+ ldr r7, [r2, r3]
+ lsl r0, r7, #0xa
+ lsr r6, r0, #0x1d
+ beq _0223EFDC
+ ldr r0, _0223F0D8 ; =0xFFC7FFFF
+ and r7, r0
+ sub r0, r6, #1
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0xa
+ orr r0, r7
+ str r0, [r2, r3]
+ ldr r0, [r2, r3]
+ lsl r0, r0, #0xa
+ lsr r0, r0, #0x1d
+ bne _0223EFDC
+ add r1, #0x58
+ str r5, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xf4
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223EFDC:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223EFE4:
+ mov r6, #0xc0
+ add r0, r5, #0
+ mul r0, r6
+ mov r3, #0xb7
+ add r1, r4, r0
+ lsl r3, r3, #6
+ ldr r0, [r1, r3]
+ lsl r2, r6, #5
+ tst r2, r0
+ beq _0223F02C
+ mov r2, #2
+ lsl r2, r2, #0xa
+ sub r0, r0, r2
+ str r0, [r1, r3]
+ ldr r1, [r1, r3]
+ lsl r0, r6, #5
+ tst r0, r1
+ bne _0223F02C
+ add r0, r4, #0
+ add r0, #0x94
+ str r5, [r0]
+ add r0, r4, #0
+ mov r1, #4
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x12
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223F02C:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223F034:
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ add r2, r5, #0
+ add r3, sp, #0x14
+ bl MOD11_022493A0
+ cmp r0, #1
+ bne _0223F060
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ ldr r2, [sp, #0x14]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223F060:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223F068:
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_02249A7C
+ cmp r0, #1
+ bne _0223F07A
+ mov r0, #1
+ str r0, [sp, #0x10]
+_0223F07A:
+ ldr r0, [r4, #0x18]
+ add r0, r0, #1
+ str r0, [r4, #0x18]
+ b _0223F08C
+_0223F082:
+ mov r0, #0
+ str r0, [r4, #0x18]
+ ldr r0, [r4, #0x1c]
+ add r0, r0, #1
+ str r0, [r4, #0x1c]
+_0223F08C:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _0223F09C
+ ldr r0, [sp, #4]
+ bl MOD11_0225679C
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F09C:
+ ldr r1, [r4, #0x1c]
+ ldr r0, [sp, #0xc]
+ cmp r1, r0
+ bge _0223F0A8
+ bl _0223E6E8
+_0223F0A8:
+ mov r0, #0
+ str r0, [r4, #0x18]
+ str r0, [r4, #0x1c]
+ mov r0, #0xb
+ str r0, [r4, #8]
+_0223F0B2:
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223F0B8: .word 0x00002D4C
+_0223F0BC: .word 0x00002D6C
+_0223F0C0: .word 0x00002DC8
+_0223F0C4: .word 0xFFFFFDFF
+_0223F0C8: .word 0xFFFFF8FF
+_0223F0CC: .word 0x00002DCC
+_0223F0D0: .word 0xFFFF1FFF
+_0223F0D4: .word 0xFFF8FFFF
+_0223F0D8: .word 0xFFC7FFFF
+
+ thumb_func_start MOD11_0223F0DC
+MOD11_0223F0DC: ; 0x0223F0DC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ str r0, [sp]
+ bl MOD11_0222FF84
+ ldr r1, [r4, #8]
+ add r7, r0, #0
+ add r0, r4, #0
+ add r2, r1, #0
+ mov r3, #1
+ bl MOD11_0224246C
+ cmp r0, #1
+ bne _0223F0FC
+ b _0223F30C
+_0223F0FC:
+ ldr r0, [sp]
+ bl MOD11_0225679C
+ ldr r0, [r4, #0x20]
+ cmp r0, #0
+ beq _0223F114
+ cmp r0, #1
+ beq _0223F1FE
+ cmp r0, #2
+ bne _0223F112
+ b _0223F2C4
+_0223F112:
+ b _0223F302
+_0223F114:
+ ldr r0, [r4, #0x24]
+ cmp r0, r7
+ bge _0223F1F4
+ add r5, r4, #0
+ add r5, #0x24
+_0223F11E:
+ add r1, r4, r0
+ ldr r0, _0223F310 ; =0x000021EC
+ ldrb r6, [r1, r0]
+ add r0, r6, #0
+ bl FUN_0206A92C
+ ldr r1, _0223F314 ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ ldr r0, [r5]
+ beq _0223F13A
+ add r0, r0, #1
+ str r0, [r5]
+ b _0223F1EE
+_0223F13A:
+ add r0, r0, #1
+ mov r1, #0x62
+ str r0, [r5]
+ add r0, r4, r6
+ lsl r1, r1, #2
+ ldrb r1, [r0, r1]
+ cmp r1, #0
+ beq _0223F1EE
+ mov r1, #0x62
+ lsl r1, r1, #2
+ ldrb r1, [r0, r1]
+ sub r2, r1, #1
+ mov r1, #0x62
+ lsl r1, r1, #2
+ strb r2, [r0, r1]
+ ldrb r0, [r0, r1]
+ cmp r0, #0
+ bne _0223F1EE
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r4, r0
+ ldr r0, _0223F318 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0223F1EE
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_02230270
+ mov r2, #0x6f
+ lsl r2, r2, #2
+ add r1, r4, r2
+ lsl r5, r0, #2
+ ldr r3, [r1, r5]
+ mov r0, #0x10
+ bic r3, r0
+ add r0, r4, #0
+ str r3, [r1, r5]
+ add r2, #0x1f
+ add r0, #0xf6
+ strh r2, [r0]
+ add r0, r4, #0
+ mov r1, #0xa
+ add r0, #0xf5
+ strb r1, [r0]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_0224682C
+ add r1, r4, #0
+ add r1, #0xf8
+ str r0, [r1]
+ mov r0, #0x19
+ lsl r0, r0, #4
+ add r1, r4, #0
+ add r3, r4, r0
+ lsl r2, r6, #1
+ ldrh r5, [r3, r2]
+ add r1, #0xfc
+ str r5, [r1]
+ add r1, r0, #0
+ sub r1, #0x78
+ str r6, [r4, r1]
+ lsl r1, r6, #2
+ add r5, r0, #0
+ add r1, r4, r1
+ add r5, #8
+ ldr r6, [r1, r5]
+ add r5, r0, #0
+ sub r5, #0x74
+ str r6, [r4, r5]
+ ldrh r3, [r3, r2]
+ add r2, r0, #0
+ sub r2, #0x6c
+ str r3, [r4, r2]
+ add r0, #0x18
+ ldr r1, [r1, r0]
+ ldr r0, _0223F31C ; =0x0000215C
+ mov r2, #0x79
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #8
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F1EE:
+ ldr r0, [r4, #0x24]
+ cmp r0, r7
+ blt _0223F11E
+_0223F1F4:
+ ldr r0, [r4, #0x20]
+ add r0, r0, #1
+ str r0, [r4, #0x20]
+ mov r0, #0
+ str r0, [r4, #0x24]
+_0223F1FE:
+ ldr r0, [r4, #0x24]
+ cmp r0, r7
+ bge _0223F2BA
+ add r5, r4, #0
+ add r5, #0x24
+_0223F208:
+ add r1, r4, r0
+ ldr r0, _0223F310 ; =0x000021EC
+ ldrb r6, [r1, r0]
+ add r0, r6, #0
+ bl FUN_0206A92C
+ ldr r1, _0223F314 ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ ldr r0, [r5]
+ beq _0223F224
+ add r0, r0, #1
+ str r0, [r5]
+ b _0223F2B4
+_0223F224:
+ add r0, r0, #1
+ str r0, [r5]
+ mov r0, #0xc0
+ mul r0, r6
+ mov r1, #0xb7
+ add r3, r4, r0
+ lsl r1, r1, #6
+ ldr r2, [r3, r1]
+ mov r1, #0x20
+ tst r1, r2
+ beq _0223F2B4
+ ldr r7, _0223F320 ; =0x00002DC8
+ add r2, r4, r7
+ ldr r1, [r2, r0]
+ lsl r1, r1, #0x11
+ lsr r1, r1, #0x1e
+ bne _0223F27E
+ add r1, r7, #0
+ sub r1, #8
+ add r1, r4, r1
+ str r1, [sp, #4]
+ ldr r1, [r1, r0]
+ mov r5, #0x20
+ bic r1, r5
+ ldr r5, [sp, #4]
+ sub r7, #0x3c
+ str r1, [r5, r0]
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0x11
+ lsr r1, r0, #0x1e
+ mov r0, #0x13
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, [r3, r7]
+ ldr r1, _0223F31C ; =0x0000215C
+ neg r0, r0
+ str r0, [r4, r1]
+ add r0, r1, #0
+ sub r0, #0x20
+ ldr r2, [r4, r0]
+ mov r0, #0x40
+ orr r0, r2
+ sub r1, #0x20
+ str r0, [r4, r1]
+ b _0223F298
+_0223F27E:
+ mov r3, #0x13
+ lsl r3, r3, #4
+ str r1, [r4, r3]
+ ldr r3, [r2, r0]
+ ldr r1, _0223F324 ; =0xFFFF9FFF
+ and r1, r3
+ lsl r3, r3, #0x11
+ lsr r3, r3, #0x1e
+ sub r3, r3, #1
+ lsl r3, r3, #0x1e
+ lsr r3, r3, #0x11
+ orr r1, r3
+ str r1, [r2, r0]
+_0223F298:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r6, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x66
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #8
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F2B4:
+ ldr r0, [r4, #0x24]
+ cmp r0, r7
+ blt _0223F208
+_0223F2BA:
+ ldr r0, [r4, #0x20]
+ add r0, r0, #1
+ str r0, [r4, #0x20]
+ mov r0, #0
+ str r0, [r4, #0x24]
+_0223F2C4:
+ mov r1, #6
+ lsl r1, r1, #6
+ ldr r3, [r4, r1]
+ mov r2, #7
+ lsl r2, r2, #0x10
+ add r0, r3, #0
+ tst r0, r2
+ beq _0223F2F8
+ mov r0, #1
+ lsl r0, r0, #0x10
+ sub r0, r3, r0
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ tst r0, r2
+ bne _0223F2F8
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xfb
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #8
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F2F8:
+ ldr r0, [r4, #0x20]
+ add r0, r0, #1
+ str r0, [r4, #0x20]
+ mov r0, #0
+ str r0, [r4, #0x24]
+_0223F302:
+ mov r0, #0
+ str r0, [r4, #0x20]
+ str r0, [r4, #0x24]
+ mov r0, #0xc
+ str r0, [r4, #8]
+_0223F30C:
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223F310: .word 0x000021EC
+_0223F314: .word 0x00003108
+_0223F318: .word 0x00002D8C
+_0223F31C: .word 0x0000215C
+_0223F320: .word 0x00002DC8
+_0223F324: .word 0xFFFF9FFF
+
+ thumb_func_start MOD11_0223F328
+MOD11_0223F328: ; 0x0223F328
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #8]
+ add r5, r0, #0
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_02242510
+ cmp r0, #1
+ beq _0223F37C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02241FD8
+ cmp r0, #1
+ beq _0223F37C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02241D2C
+ cmp r0, #1
+ beq _0223F37C
+ mov r1, #0x15
+ lsl r1, r1, #4
+ ldr r0, [r4, r1]
+ add r0, r0, #1
+ str r0, [r4, r1]
+ add r0, r1, #0
+ add r0, #0x24
+ ldr r0, [r4, r0]
+ add r1, #0x24
+ add r0, r0, #1
+ str r0, [r4, r1]
+ add r0, r4, #0
+ bl MOD11_02245494
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02245C5C
+ mov r0, #2
+ str r0, [r4, #8]
+_0223F37C:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0223F380
+MOD11_0223F380: ; 0x0223F380
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ str r0, [sp, #8]
+ add r0, r5, #0
+ add r0, #0xec
+ ldr r0, [r0]
+ mov r4, #0
+ add r1, r5, r0
+ ldr r0, _0223F4A8 ; =0x000021E8
+ ldrb r2, [r1, r0]
+ lsl r0, r2, #6
+ add r1, r5, r0
+ mov r0, #0x75
+ str r2, [r5, #0x64]
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ beq _0223F3B4
+ mov r0, #0xc1
+ mov r1, #0xa5
+ lsl r0, r0, #6
+ str r1, [r5, r0]
+ mov r4, #1
+ b _0223F478
+_0223F3B4:
+ mov r0, #0xc0
+ mul r0, r2
+ ldr r6, _0223F4AC ; =0x00002DEC
+ add r0, r5, r0
+ ldrh r1, [r0, r6]
+ cmp r1, #0
+ beq _0223F3DC
+ add r3, r6, #2
+ ldrh r3, [r0, r3]
+ sub r6, #0xa0
+ lsl r3, r3, #1
+ add r0, r0, r3
+ ldrh r0, [r0, r6]
+ cmp r1, r0
+ bne _0223F3DC
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ str r1, [r5, r0]
+ mov r4, #1
+ b _0223F478
+_0223F3DC:
+ cmp r1, #0
+ beq _0223F42E
+ mov r7, #0xc0
+ add r0, r2, #0
+ mul r0, r7
+ ldr r3, _0223F4B0 ; =0x00002DEE
+ add r0, r5, r0
+ ldrh r6, [r0, r3]
+ lsl r6, r6, #1
+ add r0, r0, r6
+ add r6, r3, #0
+ sub r6, #0xa2
+ ldrh r0, [r0, r6]
+ cmp r1, r0
+ beq _0223F42E
+ mov r1, #0xc1
+ lsl r1, r1, #6
+ str r0, [r5, r1]
+ ldr r1, [r5, #0x64]
+ mov r0, #0
+ add r2, r1, #0
+ mul r2, r7
+ add r2, r5, r2
+ sub r1, r3, #2
+ strh r0, [r2, r1]
+ ldr r1, [r5, #0x64]
+ mov r4, #1
+ add r2, r1, #0
+ mul r2, r7
+ add r1, r5, r2
+ strh r0, [r1, r3]
+ ldr r0, [r5, #0x64]
+ sub r3, #0x26
+ add r2, r0, #0
+ add r3, r5, r3
+ mul r2, r7
+ ldr r1, [r3, r2]
+ mov r0, #0x38
+ bic r1, r0
+ str r1, [r3, r2]
+ b _0223F478
+_0223F42E:
+ add r0, r5, #0
+ add r1, r2, #0
+ bl MOD11_0224AD04
+ cmp r0, #0
+ bne _0223F44A
+ ldr r0, [r5, #0x64]
+ lsl r0, r0, #2
+ add r1, r5, r0
+ ldr r0, _0223F4B4 ; =0x0000304C
+ ldr r1, [r1, r0]
+ sub r0, #0xc
+ str r1, [r5, r0]
+ b _0223F478
+_0223F44A:
+ ldr r2, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ lsl r1, r2, #1
+ add r3, r5, r0
+ add r0, r5, r1
+ ldr r1, _0223F4B8 ; =0x000030BC
+ ldrh r2, [r0, r1]
+ lsl r2, r2, #1
+ add r3, r3, r2
+ ldr r2, _0223F4BC ; =0x00002D4C
+ ldrh r3, [r3, r2]
+ add r2, r1, #0
+ sub r2, #8
+ ldrh r0, [r0, r2]
+ cmp r0, r3
+ beq _0223F474
+ sub r1, #0x7c
+ str r3, [r5, r1]
+ mov r4, #1
+ b _0223F478
+_0223F474:
+ sub r1, #0x7c
+ str r3, [r5, r1]
+_0223F478:
+ mov r3, #0xc1
+ lsl r3, r3, #6
+ ldr r1, [r5, r3]
+ add r0, r3, #4
+ str r1, [r5, r0]
+ mov r0, #0x16
+ str r0, [r5, #8]
+ str r4, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r3, [r5, r3]
+ ldr r0, [sp, #8]
+ lsl r3, r3, #0x10
+ ldr r2, [r5, #0x64]
+ add r1, r5, #0
+ lsr r3, r3, #0x10
+ bl MOD11_02244C28
+ str r0, [r5, #0x6c]
+ ldr r0, [sp, #8]
+ bl MOD11_0225679C
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223F4A8: .word 0x000021E8
+_0223F4AC: .word 0x00002DEC
+_0223F4B0: .word 0x00002DEE
+_0223F4B4: .word 0x0000304C
+_0223F4B8: .word 0x000030BC
+_0223F4BC: .word 0x00002D4C
+
+ thumb_func_start MOD11_0223F4C0
+MOD11_0223F4C0: ; 0x0223F4C0
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0xec
+ ldr r2, [r2]
+ add r7, r0, #0
+ add r3, r4, r2
+ ldr r2, _0223F5FC ; =0x000021E8
+ ldrb r2, [r3, r2]
+ str r2, [r4, #0x64]
+ bl MOD11_022482A4
+ str r0, [r4, #0x6c]
+ ldr r0, _0223F600 ; =0x000021B0
+ ldr r1, [r4, #0x64]
+ add r2, r4, r0
+ lsl r0, r1, #4
+ add r6, r2, r0
+ add r0, r7, #0
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0223F568
+ ldr r0, [r4, #0x64]
+ asr r0, r0, #1
+ add r1, r4, r0
+ ldr r0, _0223F604 ; =0x000003D1
+ ldrb r2, [r1, r0]
+ cmp r2, #4
+ bhi _0223F554
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0223F508: ; jump table
+ .short _0223F512 - _0223F508 - 2 ; case 0
+ .short _0223F516 - _0223F508 - 2 ; case 1
+ .short _0223F51A - _0223F508 - 2 ; case 2
+ .short _0223F544 - _0223F508 - 2 ; case 3
+ .short _0223F552 - _0223F508 - 2 ; case 4
+_0223F512:
+ ldr r5, _0223F608 ; =0x00000121
+ b _0223F554
+_0223F516:
+ ldr r5, _0223F60C ; =0x0000010B
+ b _0223F554
+_0223F51A:
+ add r0, r0, #2
+ ldrb r0, [r1, r0]
+ mov r1, #1
+ tst r1, r0
+ beq _0223F534
+ mov r1, #0x3e
+ add r2, r0, #0
+ tst r2, r1
+ beq _0223F534
+ mov r0, #6
+ add r1, #0xf2
+ str r0, [r4, r1]
+ b _0223F53E
+_0223F534:
+ bl FUN_0206A94C
+ mov r1, #0x13
+ lsl r1, r1, #4
+ str r0, [r4, r1]
+_0223F53E:
+ mov r5, #0x43
+ lsl r5, r5, #2
+ b _0223F554
+_0223F544:
+ add r0, r0, #2
+ ldrb r0, [r1, r0]
+ mov r5, #0x13
+ lsl r5, r5, #4
+ str r0, [r4, r5]
+ sub r5, #0x23
+ b _0223F554
+_0223F552:
+ ldr r5, _0223F610 ; =0x0000010E
+_0223F554:
+ ldr r1, [r4, #0x64]
+ mov r0, #1
+ bic r1, r0
+ ldr r0, _0223F614 ; =0x000003D6
+ add r1, r4, r1
+ ldrh r1, [r1, r0]
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ b _0223F5DA
+_0223F568:
+ ldrb r0, [r6, #2]
+ cmp r0, #3
+ bhi _0223F5D2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223F57A: ; jump table
+ .short _0223F582 - _0223F57A - 2 ; case 0
+ .short _0223F582 - _0223F57A - 2 ; case 1
+ .short _0223F598 - _0223F57A - 2 ; case 2
+ .short _0223F582 - _0223F57A - 2 ; case 3
+_0223F582:
+ ldrh r1, [r6]
+ ldr r0, _0223F618 ; =0x0000FFC1
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _0223F594
+ mov r5, #0xde
+ b _0223F5D2
+_0223F594:
+ mov r5, #0xdf
+ b _0223F5D2
+_0223F598:
+ add r0, r7, #0
+ mov r5, #0xb
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ bne _0223F5D2
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ mov r1, #1
+ lsl r1, r1, #0xa
+ tst r0, r1
+ bne _0223F5D2
+ add r0, r7, #0
+ bl MOD11_02230214
+ ldrh r1, [r6]
+ mov r2, #1
+ mov r3, #5
+ bl FUN_0206EDD4
+ add r0, r7, #0
+ bl MOD11_02230218
+ ldrh r1, [r6]
+ ldrb r2, [r6, #2]
+ bl FUN_0206F1E4
+_0223F5D2:
+ ldrh r1, [r6]
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+_0223F5DA:
+ add r0, r4, #0
+ mov r1, #1
+ add r2, r5, #0
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ ldr r1, _0223F61C ; =0x0000216C
+ mov r0, #2
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0x1e
+ orr r0, r2
+ str r0, [r4, r1]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223F5FC: .word 0x000021E8
+_0223F600: .word 0x000021B0
+_0223F604: .word 0x000003D1
+_0223F608: .word 0x00000121
+_0223F60C: .word 0x0000010B
+_0223F610: .word 0x0000010E
+_0223F614: .word 0x000003D6
+_0223F618: .word 0x0000FFC1
+_0223F61C: .word 0x0000216C
+
+ thumb_func_start MOD11_0223F620
+MOD11_0223F620: ; 0x0223F620
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #9
+ bl MOD11_022431DC
+ add r0, r4, #0
+ add r0, #0xec
+ ldr r0, [r0]
+ ldr r1, _0223F660 ; =0x000021E8
+ add r0, r4, r0
+ ldrb r0, [r0, r1]
+ mov r2, #0
+ str r0, [r4, #0x64]
+ str r0, [r4, #0x78]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x28
+ str r0, [r4, #0xc]
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ str r2, [r4, r0]
+ add r0, r1, #0
+ sub r0, #0x7c
+ ldr r2, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0x1e
+ orr r0, r2
+ sub r1, #0x7c
+ str r0, [r4, r1]
+ pop {r4, pc}
+ .align 2, 0
+_0223F660: .word 0x000021E8
+
+ thumb_func_start MOD11_0223F664
+MOD11_0223F664: ; 0x0223F664
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r1, #0xec
+ ldr r1, [r1]
+ add r5, r0, #0
+ add r2, r4, r1
+ ldr r1, _0223F71C ; =0x000021E8
+ ldrb r1, [r2, r1]
+ str r1, [r4, #0x64]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0223F6D6
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ bne _0223F6D6
+ ldr r0, [r4, #0x64]
+ mov r2, #0xc0
+ add r1, r0, #0
+ mul r1, r2
+ ldr r0, _0223F720 ; =0x00002DB0
+ add r1, r4, r1
+ ldr r1, [r1, r0]
+ ldr r0, _0223F724 ; =0x0400E000
+ tst r0, r1
+ beq _0223F6BA
+ add r0, r4, #0
+ mov r1, #1
+ add r2, #0x5e
+ bl MOD11_022431DC
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, pc}
+_0223F6BA:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xe6
+ bl MOD11_022431DC
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x2a
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, pc}
+_0223F6D6:
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022470B8
+ cmp r0, #0
+ beq _0223F700
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #3
+ bl MOD11_022431DC
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x2a
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, pc}
+_0223F700:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #8
+ bl MOD11_022431DC
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223F71C: .word 0x000021E8
+_0223F720: .word 0x00002DB0
+_0223F724: .word 0x0400E000
+
+ thumb_func_start MOD11_0223F728
+MOD11_0223F728: ; 0x0223F728
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r2, _0223F76C ; =0x00000113
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0
+ str r0, [r4, #0x64]
+ mov r0, #1
+ str r0, [r4, #0x6c]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ mov r0, #0x4a
+ mov r1, #5
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ add r0, r5, #0
+ bl MOD11_02230E00
+ sub r1, r0, #1
+ add r0, r5, #0
+ bl MOD11_02230E0C
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0
+ bl MOD11_02256020
+ pop {r3, r4, r5, pc}
+ nop
+_0223F76C: .word 0x00000113
+
+ thumb_func_start MOD11_0223F770
+MOD11_0223F770: ; 0x0223F770
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xe3
+ bl MOD11_022431DC
+ mov r0, #0
+ str r0, [r4, #0x64]
+ mov r0, #1
+ str r0, [r4, #0x6c]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ ldr r0, _0223F7C4 ; =0x0000311C
+ ldrb r1, [r4, r0]
+ cmp r1, #0xc
+ bhs _0223F7AA
+ add r1, r1, #1
+ strb r1, [r4, r0]
+_0223F7AA:
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _0223F7C0
+ ldr r0, _0223F7C8 ; =0x0000311D
+ ldrb r1, [r4, r0]
+ cmp r1, #0xc
+ bhs _0223F7C0
+ add r1, r1, #1
+ strb r1, [r4, r0]
+_0223F7C0:
+ pop {r4, pc}
+ nop
+_0223F7C4: .word 0x0000311C
+_0223F7C8: .word 0x0000311D
+
+ thumb_func_start MOD11_0223F7CC
+MOD11_0223F7CC: ; 0x0223F7CC
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xe4
+ bl MOD11_022431DC
+ mov r0, #0
+ str r0, [r4, #0x64]
+ mov r0, #1
+ str r0, [r4, #0x6c]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ ldr r0, _0223F824 ; =0x0000311D
+ ldrb r1, [r4, r0]
+ cmp r1, #0
+ beq _0223F806
+ sub r1, r1, #1
+ strb r1, [r4, r0]
+_0223F806:
+ mov r0, #0x4e
+ lsl r0, r0, #2
+ ldr r1, [r4, r0]
+ cmp r1, #0
+ beq _0223F822
+ mov r1, #1
+ sub r0, #8
+ str r1, [r4, r0]
+ ldr r0, _0223F828 ; =0x0000311C
+ ldrb r1, [r4, r0]
+ cmp r1, #0
+ beq _0223F822
+ sub r1, r1, #1
+ strb r1, [r4, r0]
+_0223F822:
+ pop {r4, pc}
+ .align 2, 0
+_0223F824: .word 0x0000311D
+_0223F828: .word 0x0000311C
+
+ thumb_func_start MOD11_0223F82C
+MOD11_0223F82C: ; 0x0223F82C
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xe5
+ bl MOD11_022431DC
+ mov r0, #0
+ str r0, [r4, #0x64]
+ mov r0, #1
+ str r0, [r4, #0x6c]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x27
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0223F84C
+MOD11_0223F84C: ; 0x0223F84C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ str r0, [sp, #0x18]
+ add r4, r1, #0
+ add r6, r2, #0
+ bl MOD11_0222FF74
+ add r5, r0, #0
+ ldr r0, [sp, #0x18]
+ mov r1, #0
+ bl MOD11_022301D4
+ add r7, r0, #0
+ mov r0, #0x84
+ tst r0, r5
+ beq _0223F872
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F872:
+ ldr r0, [sp, #0x18]
+ ldr r1, [r4, #0x64]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0223F884
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F884:
+ mov r0, #0x40
+ tst r0, r5
+ beq _0223F89C
+ ldr r0, [sp, #0x18]
+ ldr r1, [r4, #0x64]
+ bl MOD11_02230260
+ cmp r0, #4
+ bne _0223F89C
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F89C:
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0
+ bl MOD11_0224ADB8
+ cmp r0, #1
+ bne _0223F8AE
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F8AE:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_0224AD04
+ cmp r0, #0
+ bne _0223F8C0
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F8C0:
+ add r0, r7, #0
+ bl FUN_020239F4
+ cmp r0, #8
+ blt _0223F8D0
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F8D0:
+ add r0, r7, #0
+ mov r5, #0xa
+ bl FUN_020239F4
+ cmp r0, #2
+ blt _0223F8DE
+ mov r5, #0x1e
+_0223F8DE:
+ add r0, r7, #0
+ bl FUN_020239F4
+ cmp r0, #4
+ blt _0223F8EA
+ mov r5, #0x32
+_0223F8EA:
+ add r0, r7, #0
+ bl FUN_020239F4
+ cmp r0, #6
+ blt _0223F8F6
+ mov r5, #0x46
+_0223F8F6:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r7, r1, #0
+ mul r7, r0
+ ldr r0, _0223FAEC ; =0x00002D74
+ add r1, r4, r7
+ ldrb r0, [r1, r0]
+ cmp r0, r5
+ bhi _0223F90E
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F90E:
+ bl FUN_0201B9EC
+ lsl r0, r0, #0x18
+ ldr r1, _0223FAEC ; =0x00002D74
+ add r2, r4, r7
+ ldrb r2, [r2, r1]
+ lsr r0, r0, #0x18
+ add r2, r5, r2
+ mul r0, r2
+ asr r0, r0, #8
+ cmp r0, r5
+ bge _0223F92C
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F92C:
+ ldr r0, _0223FAF0 ; =0x00003044
+ ldr r0, [r4, r0]
+ cmp r0, #0x63
+ bne _0223F940
+ add r1, #0x3c
+ add r0, r4, r1
+ ldr r2, [r0, r7]
+ ldr r1, _0223FAF4 ; =0xFF7FFFFF
+ and r1, r2
+ str r1, [r0, r7]
+_0223F940:
+ ldr r7, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r7
+ add r1, r4, r0
+ ldr r0, _0223FAF8 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0223F968
+ ldr r0, _0223FAF0 ; =0x00003044
+ ldr r0, [r4, r0]
+ cmp r0, #0xad
+ beq _0223F95E
+ cmp r0, #0xd6
+ bne _0223F968
+_0223F95E:
+ mov r0, #0xfe
+ str r0, [r6]
+ add sp, #0x20
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F968:
+ mov r0, #0xc0
+ mul r0, r7
+ add r1, r4, r0
+ ldr r0, _0223FAEC ; =0x00002D74
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0x1c]
+ bl FUN_0201B9EC
+ ldr r1, [sp, #0x1c]
+ lsl r0, r0, #0x18
+ add r1, r5, r1
+ lsr r0, r0, #0x18
+ mul r0, r1
+ asr r0, r0, #8
+ cmp r0, r5
+ bge _0223FA2E
+ lsl r0, r7, #1
+ add r1, r4, r0
+ ldr r0, _0223FAFC ; =0x000030BC
+ ldrh r0, [r1, r0]
+ bl FUN_0206A92C
+ add r3, r0, #0
+ mov r0, #0
+ mvn r0, r0
+ str r0, [sp]
+ ldr r0, [sp, #0x18]
+ ldr r2, [r4, #0x64]
+ add r1, r4, #0
+ bl MOD11_02245D38
+ add r5, r0, #0
+ cmp r5, #0xf
+ bne _0223F9B6
+ mov r0, #0xff
+ str r0, [r6]
+ add sp, #0x20
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0223F9B6:
+ bl FUN_0201B9EC
+ mov r1, #3
+ add r7, r0, #0
+ and r7, r1
+ add r0, r7, #0
+ bl FUN_0206A92C
+ tst r0, r5
+ bne _0223F9B6
+ ldr r0, [r4, #0x64]
+ ldr r3, _0223FAFC ; =0x000030BC
+ lsl r0, r0, #1
+ add r0, r4, r0
+ strh r7, [r0, r3]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ lsl r1, r1, #1
+ add r1, r4, r1
+ ldrh r1, [r1, r3]
+ add r0, r4, r0
+ lsl r1, r1, #1
+ add r1, r0, r1
+ ldr r0, _0223FB00 ; =0x00002D4C
+ ldrh r1, [r1, r0]
+ add r0, r3, #0
+ sub r0, #0x7c
+ str r1, [r4, r0]
+ add r0, r3, #0
+ sub r0, #0x7c
+ ldr r1, [r4, r0]
+ add r0, r3, #0
+ sub r0, #0x78
+ str r1, [r4, r0]
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ sub r3, #0x7c
+ ldr r3, [r4, r3]
+ ldr r0, [sp, #0x18]
+ lsl r3, r3, #0x10
+ ldr r2, [r4, #0x64]
+ add r1, r4, #0
+ lsr r3, r3, #0x10
+ bl MOD11_02244C28
+ str r0, [r4, #0x6c]
+ mov r0, #1
+ lsl r0, r0, #8
+ str r0, [r6]
+ ldr r1, _0223FB04 ; =0x00002184
+ mov r0, #1
+ ldr r2, [r4, r1]
+ add sp, #0x20
+ orr r0, r2
+ str r0, [r4, r1]
+ mov r0, #2
+ pop {r3, r4, r5, r6, r7, pc}
+_0223FA2E:
+ ldr r0, [sp, #0x1c]
+ sub r0, r0, r5
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ bl FUN_0201B9EC
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ cmp r7, r5
+ bge _0223FA8E
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _0223FAF8 ; =0x00002DAC
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bne _0223FA8E
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x48
+ beq _0223FA8E
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0xf
+ beq _0223FA8E
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x66
+ beq _0223FA8E
+ mov r1, #6
+ lsl r1, r1, #6
+ mov r0, #0xf
+ ldr r2, [r4, r1]
+ lsl r0, r0, #8
+ tst r0, r2
+ bne _0223FA8E
+ sub r1, #0x7f
+ add sp, #0x20
+ str r1, [r6]
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0223FA8E:
+ sub r0, r7, r5
+ cmp r0, r5
+ bge _0223FAE2
+ ldr r1, [r4, #0x64]
+ mov r0, #0x46
+ str r1, [r4, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ ldr r1, [r4, #0x64]
+ mov r3, #0
+ str r3, [sp]
+ mov r0, #0x28
+ str r0, [sp, #4]
+ lsl r0, r1, #0x18
+ str r3, [sp, #8]
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ mov r2, #1
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0
+ str r2, [sp, #0x14]
+ bl MOD11_0224B310
+ ldr r1, _0223FB08 ; =0x0000215C
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ add r0, r4, #0
+ bl MOD11_0224BF10
+ ldr r1, _0223FB08 ; =0x0000215C
+ add sp, #0x20
+ str r0, [r4, r1]
+ mov r0, #0
+ ldr r2, [r4, r1]
+ mvn r0, r0
+ mul r0, r2
+ str r0, [r4, r1]
+ ldr r0, _0223FB0C ; =0x00000102
+ str r0, [r6]
+ mov r0, #3
+ pop {r3, r4, r5, r6, r7, pc}
+_0223FAE2:
+ mov r0, #0xff
+ str r0, [r6]
+ mov r0, #1
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0223FAEC: .word 0x00002D74
+_0223FAF0: .word 0x00003044
+_0223FAF4: .word 0xFF7FFFFF
+_0223FAF8: .word 0x00002DAC
+_0223FAFC: .word 0x000030BC
+_0223FB00: .word 0x00002D4C
+_0223FB04: .word 0x00002184
+_0223FB08: .word 0x0000215C
+_0223FB0C: .word 0x00000102
+
+ thumb_func_start MOD11_0223FB10
+MOD11_0223FB10: ; 0x0223FB10
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ ldr r3, [r5, #0x64]
+ mov r2, #0x1c
+ mul r2, r3
+ add r6, r5, r2
+ mov r2, #0xb5
+ lsl r2, r2, #2
+ ldr r2, [r6, r2]
+ str r0, [sp, #4]
+ lsl r2, r2, #0x1f
+ mov r4, #1
+ lsr r2, r2, #0x1f
+ bne _0223FBCA
+ ldr r6, [r5, #0x6c]
+ cmp r6, #0xff
+ beq _0223FBCA
+ mov r2, #0xc1
+ lsl r2, r2, #6
+ ldr r7, [r5, r2]
+ ldr r2, _0223FC98 ; =0x0000011E
+ cmp r7, r2
+ bne _0223FB4E
+ mov r2, #0x2e
+ str r2, [sp]
+ mov r2, #3
+ bl MOD11_02246870
+ add r4, r4, r0
+ b _0223FBCA
+_0223FB4E:
+ lsl r0, r7, #4
+ add r1, r5, r0
+ ldr r0, _0223FC9C ; =0x000003E6
+ ldrh r1, [r1, r0]
+ cmp r1, #0x40
+ bgt _0223FB78
+ bge _0223FB94
+ cmp r1, #0x10
+ bgt _0223FB72
+ bge _0223FBCA
+ cmp r1, #8
+ bgt _0223FBB8
+ cmp r1, #4
+ blt _0223FBB8
+ beq _0223FBA6
+ cmp r1, #8
+ beq _0223FB94
+ b _0223FBB8
+_0223FB72:
+ cmp r1, #0x20
+ beq _0223FBCA
+ b _0223FBB8
+_0223FB78:
+ add r0, r2, #0
+ sub r0, #0x1e
+ cmp r1, r0
+ bgt _0223FB8C
+ sub r2, #0x1e
+ cmp r1, r2
+ bge _0223FBCA
+ cmp r1, #0x80
+ beq _0223FBA6
+ b _0223FBB8
+_0223FB8C:
+ add r2, #0xe2
+ cmp r1, r2
+ beq _0223FBCA
+ b _0223FBB8
+_0223FB94:
+ mov r0, #0x2e
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #9
+ bl MOD11_02246870
+ add r4, r4, r0
+ b _0223FBCA
+_0223FBA6:
+ mov r0, #0x2e
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #3
+ bl MOD11_02246870
+ add r4, r4, r0
+ b _0223FBCA
+_0223FBB8:
+ cmp r3, r6
+ beq _0223FBCA
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2e
+ bne _0223FBCA
+ add r4, r4, #1
+_0223FBCA:
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r2, r5, r0
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ mov r1, #0xc1
+ lsl r1, r1, #6
+ ldr r1, [r5, r1]
+ add r0, r2, r0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl MOD11_022461AC
+ add r6, r0, #0
+ ldr r1, [r5, #0x64]
+ mov r0, #0x75
+ lsl r0, r0, #2
+ add r0, r5, r0
+ lsl r7, r1, #6
+ ldr r3, [r0, r7]
+ lsl r2, r3, #0x1e
+ lsr r2, r2, #0x1f
+ bne _0223FC42
+ lsl r2, r3, #0x1f
+ lsr r2, r2, #0x1f
+ bne _0223FC42
+ mov r1, #2
+ orr r1, r3
+ str r1, [r0, r7]
+ ldr r0, _0223FCA0 ; =0x00002D6C
+ ldr r1, [r5, #0x64]
+ add r2, r5, r0
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r2, r0
+ ldrb r0, [r1, r6]
+ cmp r0, #0
+ beq _0223FC34
+ cmp r6, #4
+ bge _0223FC34
+ cmp r0, r4
+ ble _0223FC24
+ sub r0, r0, r4
+ b _0223FC26
+_0223FC24:
+ mov r0, #0
+_0223FC26:
+ strb r0, [r1, r6]
+ ldr r0, [sp, #4]
+ ldr r2, [r5, #0x64]
+ add r1, r5, #0
+ bl MOD11_02245190
+ b _0223FC90
+_0223FC34:
+ ldr r1, _0223FCA4 ; =0x0000216C
+ mov r0, #2
+ ldr r2, [r5, r1]
+ lsl r0, r0, #8
+ orr r0, r2
+ str r0, [r5, r1]
+ b _0223FC90
+_0223FC42:
+ mov r2, #0xc0
+ add r0, r1, #0
+ mul r0, r2
+ add r0, r5, r0
+ ldr r3, _0223FCA0 ; =0x00002D6C
+ add r4, r0, r6
+ ldrb r4, [r4, r3]
+ cmp r4, #0
+ bne _0223FC90
+ ldr r4, _0223FCA8 ; =0x0000213C
+ mov r7, #2
+ ldr r4, [r5, r4]
+ lsl r7, r7, #8
+ tst r4, r7
+ bne _0223FC90
+ add r3, #0x44
+ ldr r0, [r0, r3]
+ lsl r3, r7, #3
+ tst r3, r0
+ bne _0223FC90
+ lsl r2, r2, #4
+ tst r0, r2
+ bne _0223FC90
+ add r0, r1, #0
+ bl FUN_0206A92C
+ add r1, r7, #0
+ sub r1, #0x80
+ ldr r2, [r5, r1]
+ lsl r0, r0, #8
+ tst r0, r2
+ bne _0223FC90
+ cmp r6, #4
+ bge _0223FC90
+ ldr r0, _0223FCA4 ; =0x0000216C
+ add r1, #0x80
+ ldr r2, [r5, r0]
+ orr r1, r2
+ str r1, [r5, r0]
+_0223FC90:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0223FC98: .word 0x0000011E
+_0223FC9C: .word 0x000003E6
+_0223FCA0: .word 0x00002D6C
+_0223FCA4: .word 0x0000216C
+_0223FCA8: .word 0x0000213C
+
+ thumb_func_start MOD11_0223FCAC
+MOD11_0223FCAC: ; 0x0223FCAC
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ ldr r0, [r5, #0x6c]
+ mov r4, #0
+ cmp r0, #0xff
+ bne _0223FCC6
+ ldr r1, _0223FD10 ; =0x00003044
+ add r0, r5, #0
+ ldr r1, [r5, r1]
+ bl MOD11_02246AF8
+ cmp r0, #0
+ beq _0223FCF8
+_0223FCC6:
+ ldr r0, [r5, #0x6c]
+ cmp r0, #0xff
+ bne _0223FD0C
+ ldr r1, _0223FD10 ; =0x00003044
+ add r0, r5, #0
+ ldr r1, [r5, r1]
+ bl MOD11_02246AF8
+ cmp r0, #1
+ bne _0223FD0C
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _0223FD14 ; =0x00002DB0
+ ldr r0, [r1, r0]
+ mov r1, #1
+ lsl r1, r1, #0xc
+ tst r0, r1
+ bne _0223FCF8
+ ldr r0, _0223FD18 ; =0x0000213C
+ ldr r2, [r5, r0]
+ lsr r0, r1, #3
+ tst r0, r2
+ beq _0223FD0C
+_0223FCF8:
+ ldr r2, _0223FD1C ; =0x00000119
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0x26
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+ mov r4, #1
+_0223FD0C:
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0223FD10: .word 0x00003044
+_0223FD14: .word 0x00002DB0
+_0223FD18: .word 0x0000213C
+_0223FD1C: .word 0x00000119
+
+ thumb_func_start MOD11_0223FD20
+MOD11_0223FD20: ; 0x0223FD20
+ push {r3, r4, r5, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ ldr r1, _0223FDA0 ; =0x00003044
+ ldr r2, [r4, r1]
+ lsl r1, r2, #4
+ add r5, r4, r1
+ ldr r1, _0223FDA4 ; =0x000003E6
+ ldrh r3, [r5, r1]
+ cmp r3, #0x10
+ beq _0223FD54
+ cmp r3, #0x20
+ beq _0223FD54
+ sub r1, r1, #5
+ ldrb r1, [r5, r1]
+ cmp r1, #0
+ beq _0223FD54
+ ldr r1, _0223FDA8 ; =0x0000213C
+ ldr r3, [r4, r1]
+ mov r1, #2
+ lsl r1, r1, #0xe
+ tst r1, r3
+ bne _0223FD54
+ mov r1, #0x20
+ tst r1, r3
+ beq _0223FD58
+_0223FD54:
+ cmp r2, #0x56
+ bne _0223FD98
+_0223FD58:
+ ldr r1, [r4, #0x64]
+ ldr r3, _0223FDAC ; =0x00002144
+ str r1, [sp]
+ ldr r1, [r4, #0x6c]
+ str r1, [sp, #4]
+ ldr r1, [r4, r3]
+ str r1, [sp, #8]
+ add r1, r3, #0
+ add r1, #0x28
+ add r1, r4, r1
+ str r1, [sp, #0xc]
+ add r3, #0x1c
+ ldr r3, [r4, r3]
+ add r1, r4, #0
+ bl MOD11_02246274
+ ldr r1, _0223FDAC ; =0x00002144
+ str r0, [r4, r1]
+ add r1, #0x28
+ ldr r1, [r4, r1]
+ mov r0, #8
+ tst r0, r1
+ beq _0223FD98
+ mov r0, #0xd1
+ lsl r0, r0, #2
+ add r3, r4, r0
+ ldr r0, [r4, #0x64]
+ lsl r2, r0, #2
+ ldr r1, [r3, r2]
+ mov r0, #2
+ orr r0, r1
+ str r0, [r3, r2]
+_0223FD98:
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, pc}
+ nop
+_0223FDA0: .word 0x00003044
+_0223FDA4: .word 0x000003E6
+_0223FDA8: .word 0x0000213C
+_0223FDAC: .word 0x00002144
+
+ thumb_func_start MOD11_0223FDB0
+MOD11_0223FDB0: ; 0x0223FDB0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ str r0, [sp, #0x18]
+ add r4, r1, #0
+ ldr r0, _022400D8 ; =0x00003044
+ add r5, r4, #0
+ ldr r0, [r4, r0]
+ mov r7, #0
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _022400DC ; =0x000003DE
+ add r5, #0x50
+ ldrh r0, [r1, r0]
+ str r0, [sp, #0x1c]
+ mov r0, #0xd1
+ lsl r0, r0, #2
+ add r6, r4, r0
+ mov r0, #7
+ str r0, [sp, #0x20]
+ mov r0, #8
+ str r0, [sp, #0x24]
+ mov r0, #1
+ str r0, [sp, #0x28]
+_0223FDDE:
+ ldr r0, [r4, #0x50]
+ cmp r0, #0x10
+ bls _0223FDE6
+ b _0224043C
+_0223FDE6:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0223FDF2: ; jump table
+ .short _0223FE14 - _0223FDF2 - 2 ; case 0
+ .short _0223FE48 - _0223FDF2 - 2 ; case 1
+ .short _0223FF42 - _0223FDF2 - 2 ; case 2
+ .short _0223FFA6 - _0223FDF2 - 2 ; case 3
+ .short _0223FFCE - _0223FDF2 - 2 ; case 4
+ .short _0224000A - _0223FDF2 - 2 ; case 5
+ .short _02240050 - _0223FDF2 - 2 ; case 6
+ .short _0224008C - _0223FDF2 - 2 ; case 7
+ .short _022400D4 - _0223FDF2 - 2 ; case 8
+ .short _02240138 - _0223FDF2 - 2 ; case 9
+ .short _02240174 - _0223FDF2 - 2 ; case 10
+ .short _022401B0 - _0223FDF2 - 2 ; case 11
+ .short _0224028C - _0223FDF2 - 2 ; case 12
+ .short _022402E8 - _0223FDF2 - 2 ; case 13
+ .short _0224034E - _0223FDF2 - 2 ; case 14
+ .short _022403FE - _0223FDF2 - 2 ; case 15
+ .short _02240436 - _0223FDF2 - 2 ; case 16
+_0223FE14:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _022400E0 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ ldr r0, _022400E4 ; =0xFDFFFFFF
+ and r1, r0
+ ldr r0, _022400E0 ; =0x00002DB0
+ str r1, [r2, r0]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r1, [r2, r0]
+ ldr r0, _022400E8 ; =0xFFFFBFFF
+ and r1, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ str r1, [r2, r0]
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0223FE48:
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _022400EC ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0223FF3A
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0xf
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _0223FE92
+ add r0, r4, #0
+ add r1, r2, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2b
+ beq _0223FE92
+ mov r0, #0x46
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x13
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0223FF3A
+_0223FE92:
+ ldr r0, _022400D8 ; =0x00003044
+ ldr r0, [r4, r0]
+ cmp r0, #0xd6
+ beq _0223FEA8
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ cmp r0, #0xd6
+ bne _0223FEA8
+ mov r0, #1
+ b _0223FEAA
+_0223FEA8:
+ mov r0, #0
+_0223FEAA:
+ cmp r0, #0
+ bne _0223FF3A
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x30
+ bne _0223FEBE
+ mov r3, #2
+ b _0223FEC0
+_0223FEBE:
+ mov r3, #1
+_0223FEC0:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _022400EC ; =0x00002DAC
+ ldr r1, [r2, r0]
+ mov r0, #7
+ and r0, r1
+ cmp r0, r3
+ ldr r0, _022400EC ; =0x00002DAC
+ bhs _0223FEDE
+ ldr r1, [r2, r0]
+ ldr r0, [sp, #0x20]
+ bic r1, r0
+ b _0223FEE2
+_0223FEDE:
+ ldr r0, [r2, r0]
+ sub r1, r0, r3
+_0223FEE2:
+ ldr r0, _022400EC ; =0x00002DAC
+ str r1, [r2, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _022400EC ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0223FF20
+ ldr r0, _022400D8 ; =0x00003044
+ ldr r0, [r4, r0]
+ cmp r0, #0xad
+ beq _0223FF3A
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ cmp r0, #0xd6
+ beq _0223FF3A
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x14
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #2
+ b _0223FF3A
+_0223FF20:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r2, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x13
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223FF3A:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0223FF42:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _022400EC ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0223FF9E
+ bl FUN_0201B9EC
+ mov r1, #5
+ blx _s32_div_f
+ cmp r1, #0
+ beq _0223FF82
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x7d
+ beq _0223FF9E
+ cmp r0, #0xfd
+ beq _0223FF9E
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x1c
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+ b _0223FF9E
+_0223FF82:
+ mov r0, #0x46
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x1d
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0223FF9E:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0223FFA6:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02247190
+ cmp r0, #1
+ bne _0223FFC6
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xbf
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_0223FFC6:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0223FFCE:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _022400E0 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ mov r0, #1
+ lsl r0, r0, #0x16
+ tst r0, r1
+ beq _02240002
+ ldr r0, _022400E0 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ ldr r0, _022400F0 ; =0xFFBFFFFF
+ and r1, r0
+ ldr r0, _022400E0 ; =0x00002DB0
+ str r1, [r2, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x41
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_02240002:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0224000A:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _022400E0 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ mov r0, #8
+ tst r0, r1
+ beq _02240048
+ ldr r0, _022400E0 ; =0x00002DB0
+ ldr r1, [sp, #0x24]
+ ldr r0, [r2, r0]
+ bic r0, r1
+ ldr r1, _022400E0 ; =0x00002DB0
+ str r0, [r2, r1]
+ ldr r0, [r4, #0x64]
+ mov r1, #0x40
+ lsl r0, r0, #2
+ ldr r2, [r6, r0]
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xf
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_02240048:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_02240050:
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ ldr r3, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _022400F4 ; =0x00002DE8
+ ldrh r0, [r1, r0]
+ cmp r3, r0
+ bne _02240084
+ lsl r0, r2, #2
+ ldr r2, [r6, r0]
+ mov r1, #0x10
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x47
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_02240084:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0224008C:
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _022400F8 ; =0x00002DC8
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1d
+ beq _022400CC
+ ldr r0, _022400D8 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _022400FC ; =0x000003E1
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ bne _022400CC
+ lsl r0, r2, #2
+ ldr r2, [r6, r0]
+ mov r1, #0x20
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x85
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_022400CC:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_022400D4:
+ ldr r3, _022400D8 ; =0x00003044
+ b _02240100
+ .align 2, 0
+_022400D8: .word 0x00003044
+_022400DC: .word 0x000003DE
+_022400E0: .word 0x00002DB0
+_022400E4: .word 0xFDFFFFFF
+_022400E8: .word 0xFFFFBFFF
+_022400EC: .word 0x00002DAC
+_022400F0: .word 0xFFBFFFFF
+_022400F4: .word 0x00002DE8
+_022400F8: .word 0x00002DC8
+_022400FC: .word 0x000003E1
+_02240100:
+ ldr r0, [sp, #0x18]
+ ldr r2, [r4, #0x64]
+ ldr r3, [r4, r3]
+ add r1, r4, #0
+ bl MOD11_022471C4
+ cmp r0, #0
+ beq _02240130
+ ldr r0, [r4, #0x64]
+ mov r1, #4
+ lsl r0, r0, #2
+ ldr r2, [r6, r0]
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x90
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_02240130:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_02240138:
+ ldr r3, _0224047C ; =0x00003044
+ ldr r0, [sp, #0x18]
+ ldr r2, [r4, #0x64]
+ ldr r3, [r4, r3]
+ add r1, r4, #0
+ bl MOD11_02247314
+ cmp r0, #0
+ beq _0224016C
+ ldr r0, [r4, #0x64]
+ mov r1, #1
+ lsl r0, r0, #2
+ ldr r2, [r6, r0]
+ lsl r1, r1, #8
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x9d
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_0224016C:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_02240174:
+ ldr r3, _0224047C ; =0x00003044
+ ldr r0, [sp, #0x18]
+ ldr r2, [r4, #0x64]
+ ldr r3, [r4, r3]
+ add r1, r4, #0
+ bl MOD11_02247348
+ cmp r0, #0
+ beq _022401A8
+ ldr r0, [r4, #0x64]
+ mov r1, #2
+ lsl r0, r0, #2
+ ldr r2, [r6, r0]
+ lsl r1, r1, #8
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xae
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_022401A8:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_022401B0:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _02240480 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ mov r0, #7
+ tst r0, r1
+ bne _022401CA
+ b _0224043C
+_022401CA:
+ ldr r0, _02240480 ; =0x00002DB0
+ ldr r0, [r2, r0]
+ sub r1, r0, #1
+ ldr r0, _02240480 ; =0x00002DB0
+ str r1, [r2, r0]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02240480 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _02240276
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _02240204
+ add r0, r4, #0
+ mov r2, #0x26
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0224043C
+_02240204:
+ ldr r0, [r4, #0x64]
+ mov r1, #0x80
+ lsl r0, r0, #2
+ ldr r2, [r6, r0]
+ mov r3, #0
+ orr r1, r2
+ str r1, [r6, r0]
+ ldr r1, [r4, #0x64]
+ mov r0, #0x46
+ str r1, [r4, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ ldr r0, [r4, #0x64]
+ mov r1, #0
+ str r1, [sp]
+ mov r1, #0x28
+ str r1, [sp, #4]
+ mov r1, #0
+ lsl r0, r0, #0x18
+ str r1, [sp, #8]
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0
+ mov r2, #0xa5
+ bl MOD11_0224B310
+ ldr r1, _02240484 ; =0x0000215C
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ add r0, r4, #0
+ bl MOD11_0224BF10
+ ldr r1, _02240484 ; =0x0000215C
+ str r0, [r4, r1]
+ add r0, r1, #0
+ ldr r1, [r4, r0]
+ mov r0, #0
+ add r2, r1, #0
+ mvn r0, r0
+ mul r2, r0
+ ldr r0, _02240484 ; =0x0000215C
+ mov r1, #1
+ str r2, [r4, r0]
+ add r0, r4, #0
+ mov r2, #0x27
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x21
+ str r0, [r4, #0xc]
+ mov r7, #1
+ b _0224043C
+_02240276:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x28
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0224043C
+_0224028C:
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02240488 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _022402E0
+ add r0, r4, #0
+ add r1, r2, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _022402E0
+ bl FUN_0201B9EC
+ lsr r1, r0, #0x1f
+ lsl r2, r0, #0x1e
+ sub r2, r2, r1
+ mov r0, #0x1e
+ ror r2, r0
+ add r0, r1, r2
+ bne _022402E0
+ ldr r0, [r4, #0x64]
+ ldr r2, [sp, #0x28]
+ lsl r1, r0, #2
+ ldr r0, [r6, r1]
+ bic r0, r2
+ mov r2, #1
+ orr r0, r2
+ str r0, [r6, r1]
+ add r1, r2, #0
+ add r0, r4, #0
+ mov r2, #0x20
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_022402E0:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_022402E8:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02240480 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #0xf
+ lsl r0, r0, #0x10
+ and r0, r1
+ beq _02240346
+ lsr r0, r0, #0x10
+ bl FUN_0206A94C
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _02240326
+ add r0, r4, #0
+ mov r2, #0x6b
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _02240346
+_02240326:
+ ldr r0, [r4, #0x64]
+ mov r1, #8
+ lsl r0, r0, #2
+ ldr r2, [r6, r0]
+ orr r1, r2
+ str r1, [r6, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x6c
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r7, #1
+_02240346:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_0224034E:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _02240480 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ mov r0, #3
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _0224043C
+ ldr r0, _02240480 ; =0x00002DB0
+ ldr r1, [r2, r0]
+ mov r0, #1
+ lsl r0, r0, #8
+ sub r1, r1, r0
+ ldr r0, _02240480 ; =0x00002DB0
+ str r1, [r2, r0]
+ ldr r0, [r4, #0x64]
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02240480 ; =0x00002DB0
+ ldr r2, [r2, r1]
+ mov r1, #3
+ lsl r1, r1, #8
+ tst r1, r2
+ bne _022403E8
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, _0224048C ; =0x000030E4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022403E8
+ lsl r1, r0, #1
+ ldr r0, _02240490 ; =0x00002144
+ str r1, [r4, r0]
+ ldr r3, [r4, #0x64]
+ lsl r0, r3, #2
+ add r1, r4, r0
+ ldr r0, _02240494 ; =0x000030F4
+ ldr r2, [r1, r0]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02240498 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022403B8
+ str r2, [r4, #0x6c]
+ b _022403E8
+_022403B8:
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0
+ add r2, r3, #0
+ bl MOD11_022482A4
+ mov r1, #0xc0
+ mul r1, r0
+ str r0, [r4, #0x6c]
+ ldr r0, _02240498 ; =0x00002D8C
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _022403E8
+ ldr r2, _0224049C ; =0x0000011A
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r7, #2
+ b _0224043C
+_022403E8:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x24
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ b _0224043C
+_022403FE:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02240488 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0224042E
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x7d
+ beq _0224041A
+ cmp r0, #0xfd
+ bne _0224042E
+_0224041A:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x1e
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r7, #2
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0224042E:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _0224043C
+_02240436:
+ mov r0, #0
+ str r0, [r4, #0x50]
+ mov r7, #3
+_0224043C:
+ cmp r7, #0
+ bne _02240442
+ b _0223FDDE
+_02240442:
+ ldr r0, [sp, #0x18]
+ ldr r2, [r4, #0x64]
+ add r1, r4, #0
+ bl MOD11_02245190
+ cmp r7, #1
+ bne _0224046A
+ ldr r1, _022404A0 ; =0x0000213C
+ mov r0, #2
+ ldr r2, [r4, r1]
+ orr r0, r2
+ str r0, [r4, r1]
+ add r0, r1, #0
+ add r0, #0x30
+ ldr r2, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0x1e
+ orr r0, r2
+ add r1, #0x30
+ str r0, [r4, r1]
+_0224046A:
+ cmp r7, #3
+ beq _02240474
+ add sp, #0x2c
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02240474:
+ mov r0, #0
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224047C: .word 0x00003044
+_02240480: .word 0x00002DB0
+_02240484: .word 0x0000215C
+_02240488: .word 0x00002DAC
+_0224048C: .word 0x000030E4
+_02240490: .word 0x00002144
+_02240494: .word 0x000030F4
+_02240498: .word 0x00002D8C
+_0224049C: .word 0x0000011A
+_022404A0: .word 0x0000213C
+
+ thumb_func_start MOD11_022404A4
+MOD11_022404A4: ; 0x022404A4
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r5, #0
+ ldr r7, _02240514 ; =0x0000216C
+ mov r4, #0
+ add r6, #0x54
+_022404B0:
+ ldr r0, [r5, #0x54]
+ cmp r0, #0
+ beq _022404BC
+ cmp r0, #1
+ beq _022404FC
+ b _02240502
+_022404BC:
+ ldr r1, [r5, #0x64]
+ ldr r2, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02247418
+ add r2, r0, #0
+ beq _022404D4
+ ldr r0, _02240514 ; =0x0000216C
+ ldr r1, [r5, r0]
+ ldr r0, _02240518 ; =0x001FD849
+ tst r0, r1
+ beq _022404D8
+_022404D4:
+ cmp r2, #0xb5
+ bne _022404F4
+_022404D8:
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r5, #8]
+ mov r4, #1
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+ mov r0, #2
+ ldr r1, [r5, r7]
+ lsl r0, r0, #0x1e
+ orr r0, r1
+ str r0, [r5, r7]
+_022404F4:
+ ldr r0, [r6]
+ add r0, r0, #1
+ str r0, [r6]
+ b _02240502
+_022404FC:
+ mov r0, #0
+ str r0, [r5, #0x54]
+ mov r4, #2
+_02240502:
+ cmp r4, #0
+ beq _022404B0
+ cmp r4, #2
+ beq _0224050E
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0224050E:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02240514: .word 0x0000216C
+_02240518: .word 0x001FD849
+
+ thumb_func_start MOD11_0224051C
+MOD11_0224051C: ; 0x0224051C
+ push {r4, lr}
+ add r4, r1, #0
+ ldr r2, _02240538 ; =0x00000116
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ pop {r4, pc}
+ nop
+_02240538: .word 0x00000116
+
+ thumb_func_start MOD11_0224053C
+MOD11_0224053C: ; 0x0224053C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ str r0, [sp, #4]
+ add r5, r1, #0
+ add r6, r2, #0
+ str r3, [sp, #8]
+ bl MOD11_0222FF74
+ mov r1, #1
+ lsl r1, r1, #0xa
+ tst r0, r1
+ beq _0224055A
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0224055A:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ ldr r0, [sp, #0x38]
+ ldr r2, _02240868 ; =0x00002D5E
+ lsl r0, r0, #4
+ str r0, [sp, #0x10]
+ add r1, r5, r0
+ mov r0, #0x3e
+ lsl r0, r0, #4
+ ldrb r0, [r1, r0]
+ add r1, r6, #0
+ str r0, [sp, #0x18]
+ mov r0, #0xc0
+ mul r1, r0
+ str r1, [sp, #0xc]
+ add r1, r5, r1
+ ldrsb r1, [r1, r2]
+ sub r1, r1, #6
+ lsl r1, r1, #0x18
+ asr r7, r1, #0x18
+ ldr r1, [sp, #8]
+ mul r0, r1
+ str r0, [sp, #0x14]
+ add r1, r5, r0
+ add r0, r2, #1
+ ldrsb r1, [r1, r0]
+ mov r0, #6
+ sub r0, r0, r1
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x56
+ bne _022405AA
+ lsl r0, r7, #0x19
+ asr r7, r0, #0x18
+_022405AA:
+ ldr r2, [sp, #8]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r3, #0x56
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022405BE
+ lsl r0, r4, #0x19
+ asr r4, r0, #0x18
+_022405BE:
+ ldr r2, [sp, #8]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r3, #0x6d
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022405D0
+ mov r7, #0
+_022405D0:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x6d
+ bne _022405DE
+ mov r4, #0
+_022405DE:
+ ldr r0, _0224086C ; =0x00002DB0
+ ldr r1, [sp, #0x14]
+ add r2, r5, r0
+ str r2, [sp, #0x1c]
+ ldr r1, [r2, r1]
+ mov r2, #2
+ lsl r2, r2, #0x1c
+ tst r1, r2
+ bne _022405FE
+ ldr r1, [sp, #0x14]
+ add r0, #0x10
+ add r1, r5, r1
+ ldr r1, [r1, r0]
+ lsr r0, r2, #7
+ tst r0, r1
+ beq _02240604
+_022405FE:
+ cmp r4, #0
+ bge _02240604
+ mov r4, #0
+_02240604:
+ add r0, r4, #6
+ add r0, r0, r7
+ lsl r0, r0, #0x18
+ asr r7, r0, #0x18
+ bpl _02240610
+ mov r7, #0
+_02240610:
+ cmp r7, #0xc
+ ble _02240616
+ mov r7, #0xc
+_02240616:
+ ldr r0, _02240870 ; =0x000003E3
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ ldrb r4, [r1, r0]
+ cmp r4, #0
+ bne _02240628
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02240628:
+ ldr r0, _02240874 ; =0x0000213C
+ mov r1, #0x20
+ ldr r0, [r5, r0]
+ add r2, r0, #0
+ tst r2, r1
+ beq _0224063A
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0224063A:
+ lsl r1, r1, #5
+ tst r0, r1
+ beq _02240646
+ add sp, #0x20
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02240646:
+ mov r0, #0xd
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _02240688
+ mov r0, #0x4c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _02240688
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0x30
+ tst r0, r1
+ beq _02240688
+ ldr r0, [sp, #0x10]
+ add r1, r5, r0
+ ldr r0, _02240878 ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x98
+ bne _02240688
+ mov r4, #0x32
+_02240688:
+ ldr r0, _0224087C ; =0x0225E178
+ lsl r1, r7, #1
+ ldrb r0, [r0, r1]
+ ldr r2, _02240880 ; =0x0225E179
+ ldrb r1, [r2, r1]
+ mul r0, r4
+ blx _u32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0xe
+ bne _022406B6
+ mov r0, #0x82
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_022406B6:
+ mov r0, #0xd
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224074E
+ mov r0, #0x4c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224074E
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0xc
+ tst r0, r1
+ beq _02240708
+ ldr r2, [sp, #8]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r3, #8
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02240708
+ mov r0, #0x50
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02240708:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ tst r0, r1
+ beq _02240732
+ ldr r2, [sp, #8]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r3, #0x51
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02240732
+ mov r0, #0x50
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02240732:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0xe
+ tst r0, r1
+ beq _0224074E
+ mov r0, #6
+ mul r0, r4
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224074E:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x37
+ bne _0224076E
+ ldr r0, [sp, #0x18]
+ cmp r0, #0
+ bne _0224076E
+ mov r0, #0x50
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224076E:
+ ldr r2, [sp, #8]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r3, #0x4d
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02240798
+ ldr r1, [sp, #0x1c]
+ ldr r0, [sp, #0x14]
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _02240798
+ mov r0, #0x32
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02240798:
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ add r7, r0, #0
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ cmp r7, #0x2f
+ bne _022407BE
+ mov r1, #0x64
+ sub r0, r1, r0
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_022407BE:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02249D90
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ add r6, r0, #0
+ cmp r7, #0x5c
+ bne _022407E6
+ add r0, #0x64
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_022407E6:
+ cmp r7, #0x67
+ bne _02240806
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_02249B7C
+ cmp r0, #1
+ bne _02240806
+ add r6, #0x64
+ add r0, r4, #0
+ mul r0, r6
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02240806:
+ ldr r0, _02240884 ; =0x00002DCC
+ ldr r1, [sp, #0xc]
+ add r0, r5, r0
+ ldr r2, [r0, r1]
+ lsl r1, r2, #4
+ lsr r1, r1, #0x1f
+ beq _0224082A
+ ldr r1, _02240888 ; =0xF7FFFFFF
+ and r2, r1
+ ldr r1, [sp, #0xc]
+ str r2, [r0, r1]
+ mov r0, #0x78
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224082A:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02240846
+ mov r0, #0xa
+ mul r0, r4
+ mov r1, #6
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02240846:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ add r0, r1, #1
+ cmp r0, r4
+ ble _02240860
+ ldr r1, _0224088C ; =0x0000216C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ orr r0, r2
+ str r0, [r5, r1]
+_02240860:
+ mov r0, #0
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02240868: .word 0x00002D5E
+_0224086C: .word 0x00002DB0
+_02240870: .word 0x000003E3
+_02240874: .word 0x0000213C
+_02240878: .word 0x000003DE
+_0224087C: .word 0x0225E178
+_02240880: .word 0x0225E179
+_02240884: .word 0x00002DCC
+_02240888: .word 0xF7FFFFFF
+_0224088C: .word 0x0000216C
+
+ thumb_func_start MOD11_02240890
+MOD11_02240890: ; 0x02240890
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ str r0, [sp, #4]
+ add r5, r1, #0
+ ldr r0, _02240A54 ; =0x0000213C
+ add r6, r3, #0
+ ldr r3, [r5, r0]
+ mov r1, #0x20
+ add r7, r2, #0
+ ldr r4, [sp, #0x20]
+ tst r1, r3
+ beq _022408AE
+ add sp, #8
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022408AE:
+ lsl r1, r6, #6
+ add r3, r5, r1
+ mov r1, #0x75
+ lsl r1, r1, #2
+ ldr r1, [r3, r1]
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x1f
+ beq _0224091C
+ lsl r1, r4, #4
+ add r3, r5, r1
+ ldr r1, _02240A58 ; =0x000003E9
+ ldrb r3, [r3, r1]
+ mov r1, #2
+ tst r1, r3
+ beq _0224091C
+ add r0, #0x30
+ ldr r1, [r5, r0]
+ ldr r0, _02240A5C ; =0x801FDA49
+ tst r0, r1
+ bne _0224091C
+ cmp r4, #0xae
+ bne _022408E8
+ lsl r1, r4, #0x10
+ add r0, r5, #0
+ lsr r1, r1, #0x10
+ bl MOD11_02246C20
+ cmp r0, #1
+ bne _0224091C
+_022408E8:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246AF8
+ cmp r0, #0
+ beq _02240900
+ ldr r0, _02240A54 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _0224091C
+_02240900:
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r7, #0
+ bl MOD11_022451F0
+ ldr r1, _02240A60 ; =0x0000216C
+ mov r0, #2
+ ldr r2, [r5, r1]
+ lsl r0, r0, #0xe
+ orr r0, r2
+ str r0, [r5, r1]
+ add sp, #8
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0224091C:
+ ldr r0, _02240A54 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #1
+ lsl r0, r0, #0xa
+ tst r0, r1
+ bne _0224096E
+ mov r0, #0xc0
+ mul r0, r6
+ add r3, r5, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r2, [r3, r0]
+ mov r1, #0x18
+ tst r1, r2
+ beq _02240946
+ add r0, #0xc
+ ldr r0, [r3, r0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1e
+ cmp r7, r0
+ beq _0224095E
+_02240946:
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x63
+ beq _0224095E
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x63
+ bne _0224096E
+_0224095E:
+ ldr r1, _02240A60 ; =0x0000216C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ add sp, #8
+ bic r2, r0
+ str r2, [r5, r1]
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0224096E:
+ mov r0, #0xd
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022409DC
+ mov r0, #0x4c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022409DC
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #3
+ tst r0, r1
+ beq _022409B8
+ lsl r0, r4, #4
+ add r1, r5, r0
+ ldr r0, _02240A64 ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x98
+ bne _022409B8
+ ldr r1, _02240A60 ; =0x0000216C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ bic r2, r0
+ str r2, [r5, r1]
+_022409B8:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r0, [r5, r0]
+ mov r1, #0xc0
+ tst r0, r1
+ beq _022409DC
+ lsl r0, r4, #4
+ add r2, r5, r0
+ ldr r0, _02240A64 ; =0x000003DE
+ add r1, #0x44
+ ldrh r0, [r2, r0]
+ cmp r0, r1
+ bne _022409DC
+ ldr r1, _02240A60 ; =0x0000216C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ bic r2, r0
+ str r2, [r5, r1]
+_022409DC:
+ ldr r1, _02240A60 ; =0x0000216C
+ mov r2, #1
+ ldr r0, [r5, r1]
+ lsl r2, r2, #0xa
+ tst r0, r2
+ bne _02240A4C
+ ldr r0, _02240A68 ; =0x00003044
+ sub r2, #0x1a
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r0, r5, r0
+ ldrh r0, [r0, r2]
+ cmp r0, #0x80
+ beq _02240A4C
+ sub r1, #0x30
+ ldr r0, [r5, r1]
+ mov r1, #4
+ tst r1, r0
+ bne _02240A14
+ mov r1, #0xc0
+ mul r1, r6
+ add r2, r5, r1
+ mov r1, #0xb7
+ lsl r1, r1, #6
+ ldr r2, [r2, r1]
+ mov r1, #0x40
+ tst r1, r2
+ bne _02240A40
+_02240A14:
+ mov r1, #0xc0
+ mul r1, r6
+ add r2, r5, r1
+ mov r1, #0xb7
+ lsl r1, r1, #6
+ ldr r1, [r2, r1]
+ mov r2, #2
+ lsl r2, r2, #0x1c
+ tst r2, r1
+ bne _02240A40
+ mov r2, #8
+ tst r2, r0
+ bne _02240A34
+ mov r2, #0x80
+ tst r2, r1
+ bne _02240A40
+_02240A34:
+ mov r2, #0x10
+ tst r0, r2
+ bne _02240A4C
+ lsl r0, r2, #0xe
+ tst r0, r1
+ beq _02240A4C
+_02240A40:
+ ldr r1, _02240A60 ; =0x0000216C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ lsl r0, r0, #0x10
+ orr r0, r2
+ str r0, [r5, r1]
+_02240A4C:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02240A54: .word 0x0000213C
+_02240A58: .word 0x000003E9
+_02240A5C: .word 0x801FDA49
+_02240A60: .word 0x0000216C
+_02240A64: .word 0x000003DE
+_02240A68: .word 0x00003044
+
+ thumb_func_start MOD11_02240A6C
+MOD11_02240A6C: ; 0x02240A6C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ bl MOD11_0222FF84
+ add r2, r0, #0
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0xff
+ bne _02240A80
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02240A80:
+ ldr r6, _02240BBC ; =0x0000216C
+ ldr r1, _02240BC0 ; =0x801FDA49
+ ldr r3, [r4, r6]
+ add r7, r3, #0
+ and r7, r1
+ bne _02240B12
+ mov r1, #0x75
+ lsl r1, r1, #2
+ lsl r0, r0, #6
+ add r5, r4, r1
+ ldr r3, [r5, r0]
+ mov ip, r0
+ lsl r0, r3, #0x1b
+ lsr r0, r0, #0x1f
+ beq _02240B12
+ ldr r0, _02240BC4 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _02240BC8 ; =0x000003E9
+ ldrb r0, [r1, r0]
+ mov r1, #4
+ tst r0, r1
+ beq _02240B12
+ mov r0, #0x10
+ bic r3, r0
+ mov r0, ip
+ str r3, [r5, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0
+ lsl r2, r2, #1
+ add r3, r4, r2
+ ldr r2, _02240BC4 ; =0x00003044
+ add r2, #0x18
+ strh r0, [r3, r2]
+ ldr r2, [r4, #0x64]
+ ldr r0, _02240BC4 ; =0x00003044
+ lsl r2, r2, #1
+ sub r0, r0, #4
+ add r3, r4, r2
+ ldr r2, _02240BC4 ; =0x00003044
+ ldr r0, [r4, r0]
+ add r2, #0x38
+ strh r0, [r3, r2]
+ ldr r0, _02240BC4 ; =0x00003044
+ sub r0, r0, #4
+ ldr r2, [r4, r0]
+ ldr r0, _02240BC4 ; =0x00003044
+ add r0, r0, #4
+ str r2, [r4, r0]
+ add r0, r6, #0
+ sub r0, #0x30
+ ldr r2, [r4, r0]
+ lsl r0, r1, #0x12
+ orr r0, r2
+ sub r6, #0x30
+ str r0, [r4, r6]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x8b
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r1, [r4, #0x6c]
+ ldr r2, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_0224C438
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_02240B12:
+ mov r1, #0
+ cmp r2, #0
+ ble _02240BB8
+ mov r0, #0x75
+ lsl r0, r0, #2
+ add r0, r4, r0
+_02240B1E:
+ ldr r3, _02240BCC ; =0x000021EC
+ add r5, r4, r1
+ ldrb r5, [r5, r3]
+ cmp r7, #0
+ bne _02240BB2
+ lsl r3, r5, #6
+ str r3, [sp]
+ ldr r3, [r0, r3]
+ lsl r3, r3, #0x1a
+ lsr r3, r3, #0x1f
+ beq _02240BB2
+ ldr r3, _02240BC4 ; =0x00003044
+ ldr r3, [r4, r3]
+ lsl r3, r3, #4
+ add r6, r4, r3
+ ldr r3, _02240BC8 ; =0x000003E9
+ ldrb r6, [r6, r3]
+ mov r3, #8
+ tst r3, r6
+ beq _02240BB2
+ mov r1, #0x46
+ lsl r1, r1, #2
+ str r5, [r4, r1]
+ ldr r1, [sp]
+ mov r7, #1
+ ldr r2, [r0, r1]
+ mov r1, #0x20
+ bic r2, r1
+ ldr r1, [sp]
+ lsl r7, r7, #0x14
+ str r2, [r0, r1]
+ ldr r2, _02240BD0 ; =0x0000213C
+ ldr r0, [r4, r2]
+ tst r0, r7
+ bne _02240B92
+ ldr r1, [r4, #0x64]
+ mov r0, #0
+ lsl r1, r1, #1
+ add r3, r4, r1
+ ldr r1, _02240BD4 ; =0x0000305C
+ strh r0, [r3, r1]
+ add r0, r1, #0
+ sub r0, #0x1c
+ ldr r6, [r4, r0]
+ ldr r0, [r4, #0x64]
+ lsl r0, r0, #1
+ add r3, r4, r0
+ add r0, r1, #0
+ add r0, #0x20
+ strh r6, [r3, r0]
+ add r0, r1, #0
+ sub r0, #0x1c
+ ldr r0, [r4, r0]
+ sub r1, #0x14
+ str r0, [r4, r1]
+ ldr r0, [r4, r2]
+ orr r0, r7
+ str r0, [r4, r2]
+_02240B92:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x92
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add r1, r5, #0
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r2, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_0224C438
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_02240BB2:
+ add r1, r1, #1
+ cmp r1, r2
+ blt _02240B1E
+_02240BB8:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02240BBC: .word 0x0000216C
+_02240BC0: .word 0x801FDA49
+_02240BC4: .word 0x00003044
+_02240BC8: .word 0x000003E9
+_02240BCC: .word 0x000021EC
+_02240BD0: .word 0x0000213C
+_02240BD4: .word 0x0000305C
+
+ thumb_func_start MOD11_02240BD8
+MOD11_02240BD8: ; 0x02240BD8
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_02232264
+ cmp r0, #1
+ bne _02240BF0
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ ldr r0, [r4, #0xc]
+ str r0, [r4, #8]
+_02240BF0:
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02240BF4
+MOD11_02240BF4: ; 0x02240BF4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r2, [r4, #0x48]
+ add r5, r0, #0
+ cmp r2, #6
+ bhi _02240CEA
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02240C0C: ; jump table
+ .short _02240C1A - _02240C0C - 2 ; case 0
+ .short _02240C26 - _02240C0C - 2 ; case 1
+ .short _02240C3E - _02240C0C - 2 ; case 2
+ .short _02240C8A - _02240C0C - 2 ; case 3
+ .short _02240CA6 - _02240C0C - 2 ; case 4
+ .short _02240CB8 - _02240C0C - 2 ; case 5
+ .short _02240CD4 - _02240C0C - 2 ; case 6
+_02240C1A:
+ bl MOD11_0224051C
+ ldr r0, [r4, #0x48]
+ add r0, r0, #1
+ str r0, [r4, #0x48]
+ pop {r3, r4, r5, pc}
+_02240C26:
+ ldr r2, _02240D30 ; =0x00002184
+ ldr r3, [r4, r2]
+ mov r2, #4
+ tst r2, r3
+ bne _02240C38
+ bl MOD11_0223FDB0
+ cmp r0, #1
+ beq _02240D2C
+_02240C38:
+ ldr r0, [r4, #0x48]
+ add r0, r0, #1
+ str r0, [r4, #0x48]
+_02240C3E:
+ ldr r0, _02240D30 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #1
+ tst r0, r1
+ bne _02240C84
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, sp, #0
+ bl MOD11_0223F84C
+ cmp r0, #0
+ beq _02240C84
+ cmp r0, #1
+ beq _02240C64
+ cmp r0, #2
+ beq _02240C6A
+ cmp r0, #3
+ beq _02240C70
+ b _02240C74
+_02240C64:
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ b _02240C74
+_02240C6A:
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ b _02240C74
+_02240C70:
+ mov r0, #0x21
+ str r0, [r4, #0xc]
+_02240C74:
+ mov r0, #0x15
+ str r0, [r4, #8]
+ ldr r2, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ pop {r3, r4, r5, pc}
+_02240C84:
+ ldr r0, [r4, #0x48]
+ add r0, r0, #1
+ str r0, [r4, #0x48]
+_02240C8A:
+ ldr r0, _02240D30 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #8
+ tst r0, r1
+ bne _02240CA0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223FB10
+ cmp r0, #1
+ beq _02240D2C
+_02240CA0:
+ ldr r0, [r4, #0x48]
+ add r0, r0, #1
+ str r0, [r4, #0x48]
+_02240CA6:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223FCAC
+ cmp r0, #1
+ beq _02240D2C
+ ldr r0, [r4, #0x48]
+ add r0, r0, #1
+ str r0, [r4, #0x48]
+_02240CB8:
+ ldr r0, _02240D30 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #0x80
+ tst r0, r1
+ bne _02240CCE
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02240A6C
+ cmp r0, #1
+ beq _02240D2C
+_02240CCE:
+ ldr r0, [r4, #0x48]
+ add r0, r0, #1
+ str r0, [r4, #0x48]
+_02240CD4:
+ ldr r3, _02240D34 ; =0x00003044
+ ldr r2, [r4, #0x64]
+ ldr r3, [r4, r3]
+ add r0, r5, #0
+ lsl r3, r3, #0x10
+ add r1, r4, #0
+ lsr r3, r3, #0x10
+ bl MOD11_02244F68
+ mov r0, #0
+ str r0, [r4, #0x48]
+_02240CEA:
+ ldr r1, _02240D38 ; =0x0000216C
+ ldr r0, _02240D3C ; =0x801FDA49
+ ldr r2, [r4, r1]
+ tst r0, r2
+ beq _02240CFA
+ mov r0, #0x19
+ str r0, [r4, #8]
+ b _02240D24
+_02240CFA:
+ add r0, r1, #0
+ sub r0, #0x2c
+ ldr r2, [r4, r0]
+ mov r0, #0x40
+ orr r0, r2
+ sub r1, #0x2c
+ str r0, [r4, r1]
+ ldr r2, _02240D34 ; =0x00003044
+ add r0, r4, #0
+ ldr r2, [r4, r2]
+ mov r1, #0
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x17
+ str r0, [r4, #0xc]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02247380
+_02240D24:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224AB44
+_02240D2C:
+ pop {r3, r4, r5, pc}
+ nop
+_02240D30: .word 0x00002184
+_02240D34: .word 0x00003044
+_02240D38: .word 0x0000216C
+_02240D3C: .word 0x801FDA49
+
+ thumb_func_start MOD11_02240D40
+MOD11_02240D40: ; 0x02240D40
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r2, [r4, #0x4c]
+ add r5, r0, #0
+ cmp r2, #6
+ bhi _02240E20
+ add r3, r2, r2
+ add r3, pc
+ ldrh r3, [r3, #6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_02240D58: ; jump table
+ .short _02240D66 - _02240D58 - 2 ; case 0
+ .short _02240D72 - _02240D58 - 2 ; case 1
+ .short _02240D84 - _02240D58 - 2 ; case 2
+ .short _02240DAE - _02240D58 - 2 ; case 3
+ .short _02240DD8 - _02240D58 - 2 ; case 4
+ .short _02240DFA - _02240D58 - 2 ; case 5
+ .short _02240E1C - _02240D58 - 2 ; case 6
+_02240D66:
+ add r2, r2, #1
+ str r2, [r4, #0x4c]
+ bl MOD11_0223FCAC
+ cmp r0, #1
+ beq _02240E24
+_02240D72:
+ ldr r0, [r4, #0x4c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x4c]
+ add r0, r5, #0
+ bl MOD11_0224510C
+ cmp r0, #1
+ beq _02240E24
+_02240D84:
+ ldr r0, _02240E28 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _02240DA8
+ ldr r3, [r4, #0x6c]
+ cmp r3, #0xff
+ beq _02240DA8
+ ldr r0, _02240E2C ; =0x00003044
+ add r1, r4, #0
+ ldr r0, [r4, r0]
+ str r0, [sp]
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_0224053C
+ cmp r0, #1
+ beq _02240E24
+_02240DA8:
+ ldr r0, [r4, #0x4c]
+ add r0, r0, #1
+ str r0, [r4, #0x4c]
+_02240DAE:
+ ldr r0, _02240E28 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #0x40
+ tst r0, r1
+ bne _02240DD2
+ ldr r3, [r4, #0x6c]
+ cmp r3, #0xff
+ beq _02240DD2
+ ldr r0, _02240E2C ; =0x00003044
+ add r1, r4, #0
+ ldr r0, [r4, r0]
+ str r0, [sp]
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02240890
+ cmp r0, #1
+ beq _02240E24
+_02240DD2:
+ ldr r0, [r4, #0x4c]
+ add r0, r0, #1
+ str r0, [r4, #0x4c]
+_02240DD8:
+ ldr r0, _02240E28 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #2
+ tst r0, r1
+ bne _02240DF4
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0xff
+ beq _02240DF4
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0223FD20
+ cmp r0, #1
+ beq _02240E24
+_02240DF4:
+ ldr r0, [r4, #0x4c]
+ add r0, r0, #1
+ str r0, [r4, #0x4c]
+_02240DFA:
+ ldr r0, _02240E28 ; =0x00002184
+ ldr r1, [r4, r0]
+ mov r0, #0x10
+ tst r0, r1
+ bne _02240E16
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0xff
+ beq _02240E16
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022404A4
+ cmp r0, #1
+ beq _02240E24
+_02240E16:
+ ldr r0, [r4, #0x4c]
+ add r0, r0, #1
+ str r0, [r4, #0x4c]
+_02240E1C:
+ mov r0, #0
+ str r0, [r4, #0x4c]
+_02240E20:
+ mov r0, #0x18
+ str r0, [r4, #8]
+_02240E24:
+ pop {r3, r4, r5, pc}
+ nop
+_02240E28: .word 0x00002184
+_02240E2C: .word 0x00003044
+
+ thumb_func_start MOD11_02240E30
+MOD11_02240E30: ; 0x02240E30
+ push {r3, r4, lr}
+ sub sp, #4
+ add r2, sp, #0
+ add r4, r1, #0
+ bl MOD11_02244948
+ cmp r0, #1
+ bne _02240E56
+ ldr r2, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x19
+ add sp, #4
+ str r0, [r4, #0xc]
+ pop {r3, r4, pc}
+_02240E56:
+ mov r0, #0x19
+ str r0, [r4, #8]
+ add sp, #4
+ pop {r3, r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02240E60
+MOD11_02240E60: ; 0x02240E60
+ push {r4, lr}
+ ldr r0, _02240ED8 ; =0x0000216C
+ add r4, r1, #0
+ ldr r1, [r4, r0]
+ mov r2, #2
+ lsl r2, r2, #0x1e
+ add r3, r1, #0
+ tst r3, r2
+ beq _02240E78
+ mov r0, #0x22
+ str r0, [r4, #8]
+ pop {r4, pc}
+_02240E78:
+ lsr r2, r2, #0x16
+ tst r2, r1
+ beq _02240E92
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x2a
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x26
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+_02240E92:
+ add r2, r0, #0
+ add r2, #0x14
+ ldr r2, [r4, r2]
+ cmp r2, #0
+ beq _02240EB8
+ mov r3, #1
+ add r2, r1, #0
+ tst r2, r3
+ beq _02240EB8
+ mov r2, #1
+ bic r1, r2
+ str r1, [r4, r0]
+ ldr r2, [r4, r0]
+ lsl r1, r3, #0xe
+ orr r1, r2
+ str r1, [r4, r0]
+ mov r0, #0x1c
+ str r0, [r4, #8]
+ pop {r4, pc}
+_02240EB8:
+ ldr r0, _02240EDC ; =0x001FD849
+ tst r0, r1
+ beq _02240ED2
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #7
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x21
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+_02240ED2:
+ mov r0, #0x1a
+ str r0, [r4, #8]
+ pop {r4, pc}
+ .align 2, 0
+_02240ED8: .word 0x0000216C
+_02240EDC: .word 0x001FD849
+
+ thumb_func_start MOD11_02240EE0
+MOD11_02240EE0: ; 0x02240EE0
+ push {r4, lr}
+ add r4, r1, #0
+ mov r1, #1
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x1b
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02240EF8
+MOD11_02240EF8: ; 0x02240EF8
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r2, _02241260 ; =0x0000216C
+ add r4, r1, #0
+ ldr r1, [r4, r2]
+ add r5, r0, #0
+ mov r0, #0x20
+ tst r0, r1
+ beq _02240F1E
+ ldr r0, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r0, #0
+ mul r3, r1
+ ldr r0, _02241264 ; =0x00002D90
+ add r3, r4, r3
+ ldr r0, [r3, r0]
+ sub r1, #0xc1
+ mul r1, r0
+ sub r2, #0x28
+ str r1, [r4, r2]
+_02240F1E:
+ ldr r0, _02241268 ; =0x00002144
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _02240F28
+ b _022412E8
+_02240F28:
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02249D90
+ add r7, r0, #0
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ str r0, [sp]
+ ldr r0, _02241268 ; =0x00002144
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ blt _02240F4A
+ bl ErrorHandling
+_02240F4A:
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ ldr r1, [r4, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02230270
+ cmp r6, r0
+ bne _02240F6C
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ mov r2, #0
+ mov r3, #0x46
+ bl MOD11_022564A8
+_02240F6C:
+ ldr r0, [r4, #0x6c]
+ ldr r2, [r4, #0x64]
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, _0224126C ; =0x000030F4
+ str r2, [r1, r0]
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ add r6, r1, #0
+ mul r6, r0
+ mov r2, #1
+ ldr r1, _02241270 ; =0x00002DB0
+ add r5, r4, r6
+ ldr r3, [r5, r1]
+ lsl r2, r2, #0x18
+ tst r2, r3
+ beq _02241044
+ ldr r2, _02241268 ; =0x00002144
+ ldr r2, [r4, r2]
+ cmp r2, #0
+ bge _02241044
+ add r3, r1, #0
+ add r3, #0x30
+ ldr r3, [r5, r3]
+ add r5, r2, r3
+ cmp r5, #0
+ bgt _02240FE8
+ mov r2, #0xbb
+ lsl r2, r2, #2
+ add r6, r4, r2
+ ldr r2, [r4, #0x64]
+ mov r5, #0x1c
+ mul r5, r2
+ ldr r2, [r6, r5]
+ sub r2, r2, r3
+ str r2, [r6, r5]
+ ldr r5, [r4, #0x6c]
+ add r3, r4, r1
+ add r2, r5, #0
+ mul r2, r0
+ ldr r6, [r3, r2]
+ ldr r5, _02241274 ; =0xFEFFFFFF
+ and r5, r6
+ str r5, [r3, r2]
+ ldr r2, [r4, #0x6c]
+ add r3, r2, #0
+ add r2, r1, #0
+ mul r3, r0
+ add r3, r4, r3
+ add r2, #0x30
+ ldr r2, [r3, r2]
+ add r1, #0x30
+ neg r3, r2
+ ldr r2, _02241268 ; =0x00002144
+ add r2, r2, #4
+ str r3, [r4, r2]
+ ldr r2, [r4, #0x6c]
+ mov r3, #0
+ mul r0, r2
+ add r0, r4, r0
+ str r3, [r0, r1]
+ b _02241014
+_02240FE8:
+ mov r3, #0xbb
+ lsl r3, r3, #2
+ add r6, r4, r3
+ ldr r3, [r4, #0x64]
+ mov r5, #0x1c
+ mul r5, r3
+ ldr r3, [r6, r5]
+ add r1, #0x30
+ add r2, r3, r2
+ str r2, [r6, r5]
+ ldr r2, [r4, #0x6c]
+ add r1, r4, r1
+ mul r0, r2
+ ldr r2, _02241268 ; =0x00002144
+ ldr r3, [r1, r0]
+ ldr r2, [r4, r2]
+ add r2, r3, r2
+ str r2, [r1, r0]
+ ldr r0, _02241268 ; =0x00002144
+ ldr r1, [r4, r0]
+ add r0, r0, #4
+ str r1, [r4, r0]
+_02241014:
+ mov r0, #0xba
+ lsl r0, r0, #2
+ ldr r2, [r4, #0x6c]
+ add r1, r4, r0
+ add r0, r2, #0
+ mov r3, #0x1c
+ mul r0, r3
+ ldr r5, [r1, r0]
+ mov r2, #8
+ orr r2, r5
+ str r2, [r1, r0]
+ ldr r0, [r4, #0x6c]
+ add r3, #0xfc
+ str r0, [r4, r3]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x5a
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x1c
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_02241044:
+ ldr r0, _02241278 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _0224127C ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x65
+ bne _0224106A
+ ldr r0, _02241280 ; =0x00002D8C
+ add r1, r4, r6
+ ldr r2, [r1, r0]
+ ldr r0, _02241268 ; =0x00002144
+ ldr r1, [r4, r0]
+ add r1, r1, r2
+ cmp r1, #0
+ bgt _0224106A
+ sub r1, r2, #1
+ neg r1, r1
+ str r1, [r4, r0]
+_0224106A:
+ ldr r0, [r4, #0x6c]
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1f
+ bne _022410D0
+ cmp r7, #0x40
+ bne _022410A4
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ ldr r0, [sp]
+ cmp r1, r0
+ bge _022410A4
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r2, [r4, #0x6c]
+ mov r0, #0x1c
+ mul r0, r2
+ ldr r3, [r1, r0]
+ mov r2, #0x20
+ orr r2, r3
+ str r2, [r1, r0]
+_022410A4:
+ cmp r7, #0x66
+ bne _022410D0
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r3, r4, r0
+ ldr r0, _02241280 ; =0x00002D8C
+ ldr r2, [r3, r0]
+ add r0, r0, #4
+ ldr r0, [r3, r0]
+ cmp r2, r0
+ bne _022410D0
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r3, r1, #0
+ mov r2, #0x1c
+ add r0, r4, r0
+ mul r3, r2
+ ldr r2, [r0, r3]
+ mov r1, #0x20
+ orr r1, r2
+ str r1, [r0, r3]
+_022410D0:
+ ldr r0, [r4, #0x6c]
+ lsl r1, r0, #6
+ add r2, r4, r1
+ mov r1, #0x75
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0x16
+ lsr r1, r1, #0x1f
+ bne _022410F4
+ mov r1, #0x1c
+ mul r1, r0
+ add r2, r4, r1
+ mov r1, #0xb5
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1f
+ beq _0224113E
+_022410F4:
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02241280 ; =0x00002D8C
+ add r1, r4, r1
+ ldr r2, _02241268 ; =0x00002144
+ ldr r1, [r1, r0]
+ ldr r0, [r4, r2]
+ add r0, r0, r1
+ cmp r0, #0
+ bgt _0224113E
+ sub r0, r1, #1
+ neg r0, r0
+ str r0, [r4, r2]
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x75
+ lsl r0, r0, #6
+ add r0, r4, r0
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1f
+ beq _02241130
+ add r0, r2, #0
+ add r0, #0x28
+ ldr r1, [r4, r0]
+ mov r0, #0x80
+ orr r0, r1
+ add r2, #0x28
+ str r0, [r4, r2]
+ b _0224113E
+_02241130:
+ add r0, r2, #0
+ add r0, #0x28
+ ldr r0, [r4, r0]
+ sub r1, #0xd4
+ orr r0, r1
+ add r2, #0x28
+ str r0, [r4, r2]
+_0224113E:
+ ldr r1, [r4, #0x6c]
+ ldr r0, _02241284 ; =0x000030E4
+ lsl r3, r1, #2
+ ldr r1, _02241268 ; =0x00002144
+ add r0, r4, r0
+ ldr r2, [r0, r3]
+ ldr r1, [r4, r1]
+ add r1, r2, r1
+ str r1, [r0, r3]
+ ldr r0, _02241288 ; =0x00002DBC
+ ldr r1, [r4, #0x6c]
+ add r3, r4, r0
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldrb r0, [r3, r2]
+ cmp r0, #0xff
+ bhs _02241166
+ add r0, r0, #1
+ strb r0, [r3, r2]
+_02241166:
+ ldr r0, _02241278 ; =0x00003044
+ mov r1, #0x3e
+ ldr r0, [r4, r0]
+ lsl r1, r1, #4
+ lsl r0, r0, #4
+ add r0, r4, r0
+ ldrb r0, [r0, r1]
+ cmp r0, #0
+ bne _022411D4
+ ldr r1, [r4, #0x6c]
+ ldr r0, _02241268 ; =0x00002144
+ lsl r1, r1, #6
+ add r2, r4, r1
+ ldr r1, [r4, #0x64]
+ ldr r0, [r4, r0]
+ lsl r1, r1, #2
+ add r2, r2, r1
+ mov r1, #0x76
+ lsl r1, r1, #2
+ str r0, [r2, r1]
+ ldr r0, [r4, #0x6c]
+ ldr r2, [r4, #0x64]
+ lsl r0, r0, #6
+ add r0, r4, r0
+ add r1, #0x10
+ str r2, [r0, r1]
+ ldr r0, [r4, #0x64]
+ bl FUN_0206A92C
+ mov r1, #0x7b
+ ldr r3, [r4, #0x6c]
+ lsl r1, r1, #2
+ add r2, r4, r1
+ lsl r5, r3, #6
+ ldr r3, [r2, r5]
+ orr r0, r3
+ str r0, [r2, r5]
+ ldr r2, [r4, #0x6c]
+ ldr r0, _02241268 ; =0x00002144
+ add r5, r2, #0
+ add r2, r1, #0
+ mov r3, #0x1c
+ mul r5, r3
+ ldr r0, [r4, r0]
+ add r5, r4, r5
+ add r2, #0xec
+ str r0, [r5, r2]
+ ldr r0, [r4, #0x6c]
+ ldr r5, [r4, #0x64]
+ add r2, r0, #0
+ mul r2, r3
+ add r0, r4, r2
+ add r1, #0xf0
+ str r5, [r0, r1]
+ b _02241232
+_022411D4:
+ cmp r0, #1
+ bne _02241232
+ ldr r2, [r4, #0x6c]
+ ldr r0, _02241268 ; =0x00002144
+ lsl r2, r2, #6
+ add r3, r4, r2
+ ldr r2, [r4, #0x64]
+ ldr r0, [r4, r0]
+ lsl r2, r2, #2
+ add r2, r3, r2
+ lsr r1, r1, #1
+ str r0, [r2, r1]
+ ldr r0, [r4, #0x6c]
+ ldr r2, [r4, #0x64]
+ lsl r0, r0, #6
+ add r1, r4, r0
+ mov r0, #2
+ lsl r0, r0, #8
+ str r2, [r1, r0]
+ ldr r0, [r4, #0x64]
+ bl FUN_0206A92C
+ mov r1, #0x81
+ ldr r3, [r4, #0x6c]
+ lsl r1, r1, #2
+ add r2, r4, r1
+ lsl r5, r3, #6
+ ldr r3, [r2, r5]
+ orr r0, r3
+ str r0, [r2, r5]
+ ldr r2, [r4, #0x6c]
+ ldr r0, _02241268 ; =0x00002144
+ add r5, r2, #0
+ add r2, r1, #0
+ mov r3, #0x1c
+ mul r5, r3
+ ldr r0, [r4, r0]
+ add r5, r4, r5
+ add r2, #0xdc
+ str r0, [r5, r2]
+ ldr r0, [r4, #0x6c]
+ ldr r5, [r4, #0x64]
+ add r2, r0, #0
+ mul r2, r3
+ add r0, r4, r2
+ add r1, #0xe0
+ str r5, [r0, r1]
+_02241232:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02241280 ; =0x00002D8C
+ ldr r2, [r1, r0]
+ ldr r0, _02241268 ; =0x00002144
+ ldr r1, [r4, r0]
+ add r0, r1, r2
+ cmp r0, #0
+ bgt _0224128C
+ mov r0, #0xbb
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r3, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r3
+ ldr r3, [r1, r0]
+ neg r2, r2
+ add r2, r3, r2
+ str r2, [r1, r0]
+ b _022412A0
+ nop
+_02241260: .word 0x0000216C
+_02241264: .word 0x00002D90
+_02241268: .word 0x00002144
+_0224126C: .word 0x000030F4
+_02241270: .word 0x00002DB0
+_02241274: .word 0xFEFFFFFF
+_02241278: .word 0x00003044
+_0224127C: .word 0x000003DE
+_02241280: .word 0x00002D8C
+_02241284: .word 0x000030E4
+_02241288: .word 0x00002DBC
+_0224128C:
+ ldr r3, [r4, #0x64]
+ mov r0, #0xbb
+ lsl r0, r0, #2
+ mov r2, #0x1c
+ add r5, r3, #0
+ add r0, r4, r0
+ mul r5, r2
+ ldr r2, [r0, r5]
+ add r1, r2, r1
+ str r1, [r0, r5]
+_022412A0:
+ ldr r3, _022412F0 ; =0x00002144
+ ldr r0, [r4, #0x6c]
+ mov r2, #0x82
+ lsl r0, r0, #6
+ ldr r1, [r4, r3]
+ add r0, r4, r0
+ lsl r2, r2, #2
+ str r1, [r0, r2]
+ ldr r1, [r4, #0x6c]
+ ldr r0, [r4, #0x64]
+ lsl r1, r1, #6
+ add r5, r4, r1
+ add r1, r2, #4
+ str r0, [r5, r1]
+ ldr r0, [r4, #0x6c]
+ sub r2, #0xf0
+ str r0, [r4, r2]
+ ldr r0, [r4, r3]
+ add r3, #0x18
+ str r0, [r4, r3]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #2
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x1c
+ str r0, [r4, #0xc]
+ ldr r1, _022412F4 ; =0x0000213C
+ mov r0, #2
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0xc
+ orr r0, r2
+ str r0, [r4, r1]
+ pop {r3, r4, r5, r6, r7, pc}
+_022412E8:
+ mov r0, #0x1c
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022412F0: .word 0x00002144
+_022412F4: .word 0x0000213C
+
+ thumb_func_start MOD11_022412F8
+MOD11_022412F8: ; 0x022412F8
+ push {r3, r4, r5, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ ldr r2, [r4, #0x38]
+ add r5, r0, #0
+ cmp r2, #0
+ beq _0224130C
+ cmp r2, #1
+ beq _022413D2
+ b _02241490
+_0224130C:
+ ldr r2, [r4, #0x3c]
+ cmp r2, #5
+ bls _02241314
+ b _02241490
+_02241314:
+ add r3, r2, r2
+ add r3, pc
+ ldrh r3, [r3, #6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_02241320: ; jump table
+ .short _0224132C - _02241320 - 2 ; case 0
+ .short _02241338 - _02241320 - 2 ; case 1
+ .short _0224134A - _02241320 - 2 ; case 2
+ .short _0224137E - _02241320 - 2 ; case 3
+ .short _02241392 - _02241320 - 2 ; case 4
+ .short _022413BC - _02241320 - 2 ; case 5
+_0224132C:
+ add r2, r2, #1
+ str r2, [r4, #0x3c]
+ bl MOD11_02242774
+ cmp r0, #1
+ beq _02241390
+_02241338:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ bl MOD11_02242790
+ cmp r0, #1
+ beq _02241390
+_0224134A:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ add r2, sp, #0xc
+ bl MOD11_022449EC
+ cmp r0, #1
+ bne _0224137E
+ ldr r0, _0224149C ; =0x0000216C
+ ldr r1, [r4, r0]
+ ldr r0, _022414A0 ; =0x001FD849
+ tst r0, r1
+ bne _0224137E
+ ldr r2, [sp, #0xc]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_0224137E:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ bl MOD11_022427E4
+ cmp r0, #1
+ bne _02241392
+_02241390:
+ b _02241498
+_02241392:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ add r2, sp, #8
+ bl MOD11_02248308
+ cmp r0, #1
+ bne _022413BC
+ ldr r2, [sp, #8]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_022413BC:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ bl MOD11_02242870
+ cmp r0, #1
+ bne _02241490
+ add sp, #0x10
+ pop {r3, r4, r5, pc}
+_022413D2:
+ ldr r2, [r4, #0x3c]
+ cmp r2, #5
+ bhi _02241490
+ add r3, r2, r2
+ add r3, pc
+ ldrh r3, [r3, #6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_022413E4: ; jump table
+ .short _022413F0 - _022413E4 - 2 ; case 0
+ .short _022413FC - _022413E4 - 2 ; case 1
+ .short _02241430 - _022413E4 - 2 ; case 2
+ .short _02241442 - _022413E4 - 2 ; case 3
+ .short _0224146C - _022413E4 - 2 ; case 4
+ .short _0224147E - _022413E4 - 2 ; case 5
+_022413F0:
+ add r2, r2, #1
+ str r2, [r4, #0x3c]
+ bl MOD11_02242774
+ cmp r0, #1
+ beq _02241498
+_022413FC:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ add r2, sp, #4
+ bl MOD11_022449EC
+ cmp r0, #1
+ bne _02241430
+ ldr r0, _0224149C ; =0x0000216C
+ ldr r1, [r4, r0]
+ ldr r0, _022414A0 ; =0x001FD849
+ tst r0, r1
+ bne _02241430
+ ldr r2, [sp, #4]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_02241430:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ bl MOD11_022427E4
+ cmp r0, #1
+ beq _02241498
+_02241442:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ add r2, sp, #0
+ bl MOD11_02248308
+ cmp r0, #1
+ bne _0224146C
+ ldr r2, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_0224146C:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ bl MOD11_02242790
+ cmp r0, #1
+ beq _02241498
+_0224147E:
+ ldr r0, [r4, #0x3c]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x3c]
+ add r0, r5, #0
+ bl MOD11_02242870
+ cmp r0, #1
+ beq _02241498
+_02241490:
+ mov r0, #0
+ str r0, [r4, #0x3c]
+ mov r0, #0x1e
+ str r0, [r4, #8]
+_02241498:
+ add sp, #0x10
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224149C: .word 0x0000216C
+_022414A0: .word 0x001FD849
+
+ thumb_func_start MOD11_022414A4
+MOD11_022414A4: ; 0x022414A4
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_022414A8
+MOD11_022414A8: ; 0x022414A8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ ldr r1, [r4, #0x40]
+ add r7, r0, #0
+ cmp r1, #7
+ bls _022414B8
+ b _022416F2
+_022414B8:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022414C4: ; jump table
+ .short _022414D4 - _022414C4 - 2 ; case 0
+ .short _0224154E - _022414C4 - 2 ; case 1
+ .short _02241562 - _022414C4 - 2 ; case 2
+ .short _02241588 - _022414C4 - 2 ; case 3
+ .short _0224159C - _022414C4 - 2 ; case 4
+ .short _022415B6 - _022414C4 - 2 ; case 5
+ .short _022415E0 - _022414C4 - 2 ; case 6
+ .short _02241674 - _022414C4 - 2 ; case 7
+_022414D4:
+ mov r1, #0
+ ldr r5, [r4, #0x44]
+ str r1, [sp, #4]
+ bl MOD11_0222FF84
+ cmp r5, r0
+ bge _02241544
+ add r6, r4, #0
+ add r6, #0x44
+_022414E6:
+ mov r0, #0xc0
+ mul r0, r5
+ mov r1, #0xb7
+ add r0, r4, r0
+ lsl r1, r1, #6
+ ldr r2, [r0, r1]
+ ldr r1, _02241700 ; =0x200400C0
+ tst r1, r2
+ bne _0224152C
+ ldr r1, _02241704 ; =0x00002DC4
+ ldr r2, [r0, r1]
+ ldr r1, _02241700 ; =0x200400C0
+ tst r1, r2
+ beq _0224152C
+ ldr r1, _02241704 ; =0x00002DC4
+ ldr r2, [r0, r1]
+ ldr r1, _02241708 ; =0xDFFBFF3F
+ and r2, r1
+ ldr r1, _02241704 ; =0x00002DC4
+ str r2, [r0, r1]
+ ldr r2, _0224170C ; =0x0000011F
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0x46
+ ldr r1, [r4, #0x44]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp, #4]
+_0224152C:
+ ldr r0, [r6]
+ add r0, r0, #1
+ str r0, [r6]
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ bne _022415B4
+ ldr r5, [r4, #0x44]
+ add r0, r7, #0
+ bl MOD11_0222FF84
+ cmp r5, r0
+ blt _022414E6
+_02241544:
+ ldr r0, [r4, #0x40]
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ mov r0, #0
+ str r0, [r4, #0x44]
+_0224154E:
+ ldr r0, [r4, #0x40]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ ldr r2, [r4, #8]
+ add r0, r7, #0
+ bl MOD11_02248A78
+ cmp r0, #1
+ beq _022415B4
+_02241562:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022476DC
+ add r2, r0, #0
+ beq _02241582
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02241582:
+ ldr r0, [r4, #0x40]
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+_02241588:
+ ldr r0, [r4, #0x40]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ ldr r2, [r4, #0x64]
+ add r0, r7, #0
+ bl MOD11_02248C0C
+ cmp r0, #1
+ beq _022415B4
+_0224159C:
+ ldr r0, [r4, #0x40]
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ ldr r2, [r4, #0x6c]
+ cmp r2, #0xff
+ beq _022415B6
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02248C0C
+ cmp r0, #1
+ bne _022415B6
+_022415B4:
+ b _022416FC
+_022415B6:
+ ldr r0, [r4, #0x40]
+ add r1, r4, #0
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ add r0, r7, #0
+ add r2, sp, #0xc
+ bl MOD11_02249B94
+ cmp r0, #1
+ bne _022415E0
+ ldr r2, [sp, #0xc]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_022415E0:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ bne _022415F0
+ mov r2, #0
+ b _02241604
+_022415F0:
+ ldr r0, _02241710 ; =0x00002160
+ ldr r2, [r4, r0]
+ cmp r2, #0
+ bne _02241604
+ ldr r0, _02241714 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _02241718 ; =0x000003E2
+ ldrb r2, [r1, r0]
+_02241604:
+ ldr r0, [r4, #0x40]
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ ldr r3, [r4, #0x6c]
+ cmp r3, #0xff
+ beq _02241674
+ mov r0, #0xc0
+ add r5, r3, #0
+ mul r5, r0
+ ldr r0, _0224171C ; =0x00002DAC
+ add r1, r4, r5
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r1, r0
+ beq _02241674
+ ldr r1, _02241720 ; =0x0000216C
+ lsl r0, r0, #9
+ ldr r1, [r4, r1]
+ tst r0, r1
+ bne _02241674
+ ldr r0, [r4, #0x64]
+ cmp r3, r0
+ beq _02241674
+ mov r0, #0x1c
+ mul r0, r3
+ add r6, r4, r0
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ ldr r1, [r6, r0]
+ cmp r1, #0
+ bne _0224164A
+ add r0, #8
+ ldr r0, [r6, r0]
+ cmp r0, #0
+ beq _02241674
+_0224164A:
+ ldr r0, _02241724 ; =0x00002D8C
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02241674
+ cmp r2, #0xa
+ bne _02241674
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r3, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x1d
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ add sp, #0x10
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02241674:
+ mov r0, #0
+ str r0, [sp]
+ ldr r6, [r4, #0x44]
+ add r0, r7, #0
+ bl MOD11_0222FF84
+ cmp r6, r0
+ bge _022416E2
+ add r5, r4, #0
+ add r5, #0x44
+_02241688:
+ ldr r0, _02241728 ; =0x000021EC
+ add r1, r4, r6
+ ldrb r6, [r1, r0]
+ add r0, r6, #0
+ bl FUN_0206A92C
+ ldr r1, _0224172C ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ ldr r0, [r5]
+ beq _022416A4
+ add r0, r0, #1
+ str r0, [r5]
+ b _022416D6
+_022416A4:
+ add r0, r0, #1
+ str r0, [r5]
+ add r0, r7, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ add r3, sp, #8
+ bl MOD11_022493A0
+ cmp r0, #1
+ bne _022416D6
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r6, [r4, r0]
+ ldr r2, [sp, #8]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ str r0, [sp]
+ b _022416E2
+_022416D6:
+ ldr r6, [r4, #0x44]
+ add r0, r7, #0
+ bl MOD11_0222FF84
+ cmp r6, r0
+ blt _02241688
+_022416E2:
+ ldr r0, [sp]
+ cmp r0, #0
+ bne _022416F2
+ ldr r0, [r4, #0x40]
+ add r0, r0, #1
+ str r0, [r4, #0x40]
+ mov r0, #0
+ str r0, [r4, #0x44]
+_022416F2:
+ mov r0, #0
+ str r0, [r4, #0x40]
+ str r0, [r4, #0x44]
+ mov r0, #0x1f
+ str r0, [r4, #8]
+_022416FC:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02241700: .word 0x200400C0
+_02241704: .word 0x00002DC4
+_02241708: .word 0xDFFBFF3F
+_0224170C: .word 0x0000011F
+_02241710: .word 0x00002160
+_02241714: .word 0x00003044
+_02241718: .word 0x000003E2
+_0224171C: .word 0x00002DAC
+_02241720: .word 0x0000216C
+_02241724: .word 0x00002D8C
+_02241728: .word 0x000021EC
+_0224172C: .word 0x00003108
+
+ thumb_func_start MOD11_02241730
+MOD11_02241730: ; 0x02241730
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02241734
+MOD11_02241734: ; 0x02241734
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r6, _02241820 ; =0x0000217D
+ add r4, r1, #0
+ ldrb r2, [r4, r6]
+ str r0, [sp]
+ cmp r2, #0
+ beq _0224181A
+ ldr r3, [r4, #0x74]
+ mov ip, r3
+ cmp r3, #0xff
+ bne _022417CC
+ ldr r3, [r4, #0x64]
+ mov r7, #0xc0
+ add r5, r3, #0
+ mul r5, r7
+ ldr r3, _02241824 ; =0x00002DAC
+ add r5, r4, r5
+ ldr r5, [r5, r3]
+ mov r3, #7
+ tst r3, r5
+ bne _022417CC
+ add r3, r6, #0
+ sub r3, #0x11
+ ldr r5, [r4, r3]
+ mov r3, #1
+ lsl r3, r3, #0xe
+ tst r3, r5
+ bne _022417CC
+ sub r2, r6, #1
+ ldrb r2, [r4, r2]
+ sub r3, r2, #1
+ sub r2, r6, #1
+ strb r3, [r4, r2]
+ ldrb r2, [r4, r2]
+ cmp r2, #0
+ beq _022417B2
+ mov r3, #1
+ add r2, r6, #3
+ str r3, [r4, r2]
+ bl MOD11_02247264
+ add r1, r6, #0
+ sub r1, #0x41
+ ldr r2, [r4, r1]
+ ldr r0, _02241828 ; =0xFFFFBFFF
+ and r0, r2
+ str r0, [r4, r1]
+ add r0, r1, #0
+ add r0, #0x4c
+ ldr r0, [r4, r0]
+ add r1, #0x48
+ str r0, [r4, r1]
+ ldr r2, _0224182C ; =0x00003044
+ add r0, r4, #0
+ ldr r2, [r4, r2]
+ mov r1, #0
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x17
+ str r0, [r4, #0xc]
+ b _02241812
+_022417B2:
+ ldrb r0, [r4, r6]
+ add r7, #0x70
+ mov r1, #1
+ str r0, [r4, r7]
+ add r0, r4, #0
+ mov r2, #0x11
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x21
+ str r0, [r4, #0xc]
+ b _02241812
+_022417CC:
+ mov r0, ip
+ cmp r0, #0xff
+ bne _022417E6
+ ldr r0, [r4, #0x64]
+ mov r1, #0xc0
+ add r3, r0, #0
+ mul r3, r1
+ ldr r0, _02241824 ; =0x00002DAC
+ add r3, r4, r3
+ ldr r3, [r3, r0]
+ mov r0, #7
+ tst r0, r3
+ beq _022417F6
+_022417E6:
+ ldr r0, _02241830 ; =0x0000217C
+ ldrb r0, [r4, r0]
+ sub r0, r2, r0
+ add r1, r0, #1
+ mov r0, #0x13
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ b _02241800
+_022417F6:
+ ldr r0, _02241830 ; =0x0000217C
+ add r1, #0x70
+ ldrb r0, [r4, r0]
+ sub r0, r2, r0
+ str r0, [r4, r1]
+_02241800:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x11
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x21
+ str r0, [r4, #0xc]
+_02241812:
+ ldr r0, [sp]
+ bl MOD11_0225679C
+ pop {r3, r4, r5, r6, r7, pc}
+_0224181A:
+ mov r0, #0x21
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02241820: .word 0x0000217D
+_02241824: .word 0x00002DAC
+_02241828: .word 0xFFFFBFFF
+_0224182C: .word 0x00003044
+_02241830: .word 0x0000217C
+
+ thumb_func_start MOD11_02241834
+MOD11_02241834: ; 0x02241834
+ push {r3, lr}
+ ldr r0, _02241858 ; =0x0000213C
+ ldr r2, [r1, r0]
+ mov r0, #0xf
+ lsl r0, r0, #0x18
+ tst r0, r2
+ beq _02241850
+ add r0, r1, #0
+ mov r1, #0x21
+ add r2, r1, #0
+ mov r3, #0
+ bl MOD11_0224246C
+ pop {r3, pc}
+_02241850:
+ mov r0, #0x22
+ str r0, [r1, #8]
+ pop {r3, pc}
+ nop
+_02241858: .word 0x0000213C
+
+ thumb_func_start MOD11_0224185C
+MOD11_0224185C: ; 0x0224185C
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ mov r1, #0x85
+ lsl r1, r1, #6
+ add r5, r0, #0
+ ldr r2, [r4, r1]
+ mov r0, #8
+ tst r0, r2
+ beq _02241880
+ mov r0, #8
+ bic r2, r0
+ str r2, [r4, r1]
+ ldr r0, [r4, #0x64]
+ str r0, [r4, #0x6c]
+ add r0, r4, #0
+ add r0, #0x84
+ ldr r0, [r0]
+ str r0, [r4, #0x64]
+_02241880:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224256C
+ ldr r0, _022419E0 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _022419E4 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ cmp r0, #4
+ bne _0224194C
+ ldr r0, _022419E8 ; =0x0000213C
+ ldr r1, [r4, r0]
+ mov r0, #2
+ tst r0, r1
+ bne _0224194C
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r1, _022419EC ; =0x0000217E
+ ldrb r2, [r4, r1]
+ cmp r2, r0
+ bge _0224194C
+ mov r2, #0xd
+ add r0, r1, #6
+ str r2, [r4, r0]
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r1, [r4, #0x64]
+ add r0, r5, #0
+ bl MOD11_0222FF7C
+ bl MOD11_02253A4C
+ mov r1, #1
+ add r7, r0, #0
+ and r7, r1
+_022418CE:
+ ldr r1, _022419EC ; =0x0000217E
+ ldr r0, _022419EC ; =0x0000217E
+ ldrb r1, [r4, r1]
+ ldrb r0, [r4, r0]
+ add r2, r1, #1
+ ldr r1, _022419EC ; =0x0000217E
+ strb r2, [r4, r1]
+ add r1, r4, r0
+ ldr r0, _022419F0 ; =0x000021EC
+ ldrb r6, [r1, r0]
+ add r0, r6, #0
+ bl FUN_0206A92C
+ ldr r1, _022419F4 ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ bne _02241936
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r4, r0
+ ldr r0, _022419F8 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02241936
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ str r0, [sp]
+ cmp r7, #0
+ beq _02241916
+ bl MOD11_02253A4C
+ mov r1, #1
+ tst r0, r1
+ beq _02241926
+_02241916:
+ cmp r7, #0
+ bne _02241936
+ ldr r0, [sp]
+ bl MOD11_02253A4C
+ mov r1, #1
+ tst r0, r1
+ beq _02241936
+_02241926:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02247264
+ str r6, [r4, #0x6c]
+ mov r0, #0x16
+ str r0, [r4, #8]
+ b _02241944
+_02241936:
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r1, _022419EC ; =0x0000217E
+ ldrb r1, [r4, r1]
+ cmp r1, r0
+ blt _022418CE
+_02241944:
+ add r0, r5, #0
+ bl MOD11_0225679C
+ pop {r3, r4, r5, r6, r7, pc}
+_0224194C:
+ ldr r0, _022419E0 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _022419E4 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ cmp r0, #8
+ bne _022419DA
+ ldr r0, _022419E8 ; =0x0000213C
+ ldr r1, [r4, r0]
+ mov r0, #2
+ tst r0, r1
+ bne _022419DA
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r1, _022419EC ; =0x0000217E
+ ldrb r2, [r4, r1]
+ cmp r2, r0
+ bge _022419DA
+ mov r2, #0xd
+ add r0, r1, #6
+ str r2, [r4, r0]
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r7, _022419EC ; =0x0000217E
+_02241982:
+ ldr r0, _022419EC ; =0x0000217E
+ ldrb r1, [r4, r0]
+ ldrb r0, [r4, r7]
+ add r1, r4, r1
+ add r0, r0, #1
+ strb r0, [r4, r7]
+ ldr r0, _022419F0 ; =0x000021EC
+ ldrb r6, [r1, r0]
+ add r0, r6, #0
+ bl FUN_0206A92C
+ ldr r1, _022419F4 ; =0x00003108
+ ldrb r1, [r4, r1]
+ tst r0, r1
+ bne _022419C4
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r4, r0
+ ldr r0, _022419F8 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022419C4
+ ldr r0, [r4, #0x64]
+ cmp r6, r0
+ beq _022419C4
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02247264
+ str r6, [r4, #0x6c]
+ mov r0, #0x16
+ str r0, [r4, #8]
+ b _022419D2
+_022419C4:
+ add r0, r5, #0
+ bl MOD11_0222FF84
+ ldr r1, _022419EC ; =0x0000217E
+ ldrb r1, [r4, r1]
+ cmp r1, r0
+ blt _02241982
+_022419D2:
+ add r0, r5, #0
+ bl MOD11_0225679C
+ pop {r3, r4, r5, r6, r7, pc}
+_022419DA:
+ mov r0, #0x23
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022419E0: .word 0x00003044
+_022419E4: .word 0x000003E6
+_022419E8: .word 0x0000213C
+_022419EC: .word 0x0000217E
+_022419F0: .word 0x000021EC
+_022419F4: .word 0x00003108
+_022419F8: .word 0x00002D8C
+
+ thumb_func_start MOD11_022419FC
+MOD11_022419FC: ; 0x022419FC
+ push {r4, lr}
+ ldr r0, _02241A38 ; =0x0000213C
+ add r4, r1, #0
+ ldr r1, [r4, r0]
+ mov r0, #0xf
+ lsl r0, r0, #0x1c
+ and r0, r1
+ beq _02241A32
+ lsr r0, r0, #0x1c
+ bl FUN_0206A94C
+ str r0, [r4, #0x74]
+ ldr r1, _02241A38 ; =0x0000213C
+ ldr r0, _02241A3C ; =0x0FFFFFFF
+ ldr r2, [r4, r1]
+ and r0, r2
+ str r0, [r4, r1]
+ ldr r2, _02241A40 ; =0x00000115
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x24
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+_02241A32:
+ mov r0, #0x24
+ str r0, [r4, #8]
+ pop {r4, pc}
+ .align 2, 0
+_02241A38: .word 0x0000213C
+_02241A3C: .word 0x0FFFFFFF
+_02241A40: .word 0x00000115
+
+ thumb_func_start MOD11_02241A44
+MOD11_02241A44: ; 0x02241A44
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_022429B0
+ cmp r0, #1
+ beq _02241A54
+ mov r0, #0x26
+ str r0, [r4, #8]
+_02241A54:
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02241A58
+MOD11_02241A58: ; 0x02241A58
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02241A5C
+MOD11_02241A5C: ; 0x02241A5C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x64]
+ add r5, r0, #0
+ add r0, r4, #0
+ bl MOD11_02249D90
+ ldr r1, _02241B60 ; =0x0000213C
+ lsl r0, r0, #0x18
+ ldr r3, [r4, r1]
+ mov r2, #0x20
+ lsr r0, r0, #0x18
+ tst r2, r3
+ bne _02241A82
+ add r1, r1, #4
+ ldr r2, [r4, r1]
+ mov r1, #4
+ tst r1, r2
+ beq _02241AC4
+_02241A82:
+ cmp r0, #0x36
+ beq _02241A8E
+ cmp r0, #0x72
+ beq _02241A8E
+ cmp r0, #0x7c
+ bne _02241AB6
+_02241A8E:
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ cmp r0, #0xa5
+ beq _02241AC4
+ cmp r0, #0xe2
+ bne _02241AA8
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r2, [r4, r1]
+ mov r1, #0x40
+ tst r1, r2
+ bne _02241AC4
+_02241AA8:
+ ldr r2, [r4, #0x64]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _02241B64 ; =0x00002DF8
+ strh r0, [r2, r1]
+ b _02241AC4
+_02241AB6:
+ ldr r2, [r4, #0x64]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _02241B64 ; =0x00002DF8
+ mov r0, #0
+ strh r0, [r2, r1]
+_02241AC4:
+ ldr r0, _02241B60 ; =0x0000213C
+ mov r1, #1
+ ldr r2, [r4, r0]
+ lsl r1, r1, #0x14
+ tst r1, r2
+ bne _02241B2C
+ add r0, r0, #4
+ ldr r1, [r4, r0]
+ mov r0, #4
+ tst r0, r1
+ beq _02241AF2
+ ldr r2, [r4, #0x64]
+ ldr r1, _02241B68 ; =0x00003044
+ lsl r2, r2, #1
+ add r3, r4, r2
+ add r2, r1, #0
+ ldr r0, [r4, r1]
+ add r2, #0x18
+ strh r0, [r3, r2]
+ sub r0, r1, #4
+ ldr r2, [r4, r0]
+ add r0, r1, #4
+ b _02241B00
+_02241AF2:
+ ldr r0, [r4, #0x64]
+ mov r2, #0
+ lsl r0, r0, #1
+ add r1, r4, r0
+ ldr r0, _02241B6C ; =0x0000305C
+ strh r2, [r1, r0]
+ sub r0, #0x14
+_02241B00:
+ str r2, [r4, r0]
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _02241B20
+ mov r0, #0xc1
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #6
+ ldr r2, [r4, r0]
+ lsl r1, r1, #1
+ add r1, r4, r1
+ add r0, #0x3c
+ strh r2, [r1, r0]
+ b _02241B2C
+_02241B20:
+ ldr r0, [r4, #0x64]
+ mov r2, #0
+ lsl r0, r0, #1
+ add r1, r4, r0
+ ldr r0, _02241B70 ; =0x0000307C
+ strh r2, [r1, r0]
+_02241B2C:
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #4
+ tst r0, r1
+ beq _02241B48
+ mov r0, #0xc1
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #6
+ ldr r2, [r4, r0]
+ lsl r1, r1, #1
+ add r1, r4, r1
+ add r0, #0x6c
+ strh r2, [r1, r0]
+_02241B48:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224256C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224ABF8
+ mov r0, #0x27
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+ nop
+_02241B60: .word 0x0000213C
+_02241B64: .word 0x00002DF8
+_02241B68: .word 0x00003044
+_02241B6C: .word 0x0000305C
+_02241B70: .word 0x0000307C
+
+ thumb_func_start MOD11_02241B74
+MOD11_02241B74: ; 0x02241B74
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _02241BF6
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r3, #0
+ bl MOD11_02248898
+ cmp r0, #1
+ beq _02241C4C
+ ldr r2, [r4, #0x6c]
+ cmp r2, #0xff
+ beq _02241BAA
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r3, #0
+ bl MOD11_02248898
+ cmp r0, #1
+ beq _02241C4C
+_02241BAA:
+ ldr r1, [r4, #8]
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_02242510
+ cmp r0, #1
+ beq _02241C4C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02241FD8
+ cmp r0, #1
+ beq _02241C4C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022476DC
+ add r2, r0, #0
+ beq _02241BE2
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_02241BE2:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02242924
+ cmp r0, #1
+ beq _02241C4C
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02242404
+_02241BF6:
+ add r1, r4, #0
+ add r1, #0xec
+ ldr r1, [r1]
+ mov r0, #0x27
+ add r2, r4, r1
+ ldr r1, _02241C50 ; =0x000021E8
+ ldrb r2, [r2, r1]
+ sub r1, #0x40
+ lsl r2, r2, #4
+ add r2, r4, r2
+ str r0, [r2, r1]
+ ldr r1, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r1
+ add r1, r4, r0
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ beq _02241C34
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224C178
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224728C
+ mov r1, #0
+ b _02241C3C
+_02241C34:
+ add r0, r4, #0
+ add r0, #0xec
+ ldr r0, [r0]
+ add r1, r0, #1
+_02241C3C:
+ add r0, r4, #0
+ add r0, #0xec
+ str r1, [r0]
+ add r0, r4, #0
+ bl MOD11_02245494
+ mov r0, #8
+ str r0, [r4, #8]
+_02241C4C:
+ pop {r3, r4, r5, pc}
+ nop
+_02241C50: .word 0x000021E8
+
+ thumb_func_start MOD11_02241C54
+MOD11_02241C54: ; 0x02241C54
+ push {r4, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #8]
+ add r0, r4, #0
+ add r2, r1, #0
+ mov r3, #1
+ bl MOD11_0224246C
+ cmp r0, #1
+ beq _02241C6C
+ mov r0, #0x27
+ str r0, [r4, #8]
+_02241C6C:
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02241C70
+MOD11_02241C70: ; 0x02241C70
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_0223145C
+ mov r1, #0x80
+ tst r0, r1
+ beq _02241C86
+ mov r0, #0x2a
+ str r0, [r4, #8]
+ b _02241CE4
+_02241C86:
+ add r0, r5, #0
+ bl MOD11_0223145C
+ cmp r0, #2
+ beq _02241C9A
+ add r0, r5, #0
+ bl MOD11_0223145C
+ cmp r0, #3
+ bne _02241CAE
+_02241C9A:
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #5
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x2a
+ str r0, [r4, #0xc]
+ b _02241CE4
+_02241CAE:
+ add r0, r5, #0
+ bl MOD11_0223145C
+ cmp r0, #1
+ bne _02241CCC
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #4
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #0x2a
+ str r0, [r4, #0xc]
+ b _02241CE4
+_02241CCC:
+ add r0, r5, #0
+ bl MOD11_0223145C
+ cmp r0, #4
+ beq _02241CE0
+ add r0, r5, #0
+ bl MOD11_0223145C
+ cmp r0, #5
+ bne _02241CE4
+_02241CE0:
+ mov r0, #0x2a
+ str r0, [r4, #8]
+_02241CE4:
+ ldr r0, _02241CEC ; =0x0000311F
+ mov r1, #1
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02241CEC: .word 0x0000311F
+
+ thumb_func_start MOD11_02241CF0
+MOD11_02241CF0: ; 0x02241CF0
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ bl MOD11_0222FF74
+ mov r1, #4
+ add r4, r0, #0
+ and r4, r1
+ bne _02241D16
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_0222FF88
+ add r6, r0, #0
+ bl FUN_02069C4C
+ add r0, r6, #0
+ bl FUN_02069DC8
+_02241D16:
+ cmp r4, #0
+ beq _02241D20
+ mov r0, #0x16
+ bl FUN_020311DC
+_02241D20:
+ mov r0, #0x2b
+ str r0, [r5, #8]
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02241D28
+MOD11_02241D28: ; 0x02241D28
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02241D2C
+MOD11_02241D2C: ; 0x02241D2C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x34
+ str r1, [sp, #4]
+ mov r1, #0
+ str r0, [sp]
+ str r1, [sp, #0x30]
+ bl MOD11_0222FF84
+ str r0, [sp, #0x28]
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #4]
+ ldr r0, [r0, #8]
+ str r0, [sp, #0x20]
+ mov r0, #0
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x28]
+ cmp r0, #0
+ bgt _02241D58
+ b _02241F4A
+_02241D58:
+ ldr r0, [sp, #4]
+ mov r1, #2
+ str r0, [sp, #0x1c]
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x24]
+ and r0, r1
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x18
+ and r0, r1
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x10
+ and r0, r1
+ str r0, [sp, #0xc]
+_02241D76:
+ mov r1, #0x4f
+ ldr r0, [sp, #0x1c]
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r0, #1
+ bic r2, r0
+ ldr r0, [sp, #0x1c]
+ str r2, [r0, r1]
+ ldr r0, [sp, #0x14]
+ cmp r0, #0
+ beq _02241D92
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _02241DA4
+_02241D92:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ beq _02241E8A
+ ldr r0, [sp]
+ ldr r1, [sp, #0x2c]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _02241E8A
+_02241DA4:
+ ldr r3, _02241FC8 ; =0x00002D8C
+ ldr r0, [sp, #0x18]
+ ldr r0, [r0, r3]
+ cmp r0, #0
+ bne _02241DCC
+ ldr r1, [sp, #0x2c]
+ mov r2, #2
+ add r4, r1, #0
+ eor r4, r2
+ mov r1, #0xc0
+ add r5, r4, #0
+ mul r5, r1
+ ldr r1, [sp, #4]
+ add r1, r1, r5
+ ldr r1, [r1, r3]
+ cmp r1, #0
+ bne _02241DCC
+ ldr r1, [sp, #0x2c]
+ tst r1, r2
+ bne _02241DD0
+_02241DCC:
+ cmp r0, #0
+ beq _02241DD2
+_02241DD0:
+ b _02241F30
+_02241DD2:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x2c]
+ mov r7, #0
+ bl MOD11_0222FF88
+ add r6, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x2c]
+ bl MOD11_0222FF7C
+ add r0, r6, #0
+ add r5, r7, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02241E4A
+ ldr r0, [sp, #0x2c]
+ mov r1, #2
+ eor r1, r0
+ ldr r0, [sp, #4]
+ add r0, r0, r1
+ str r0, [sp, #8]
+_02241DFE:
+ add r0, r6, #0
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02241E3E
+ add r0, r4, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02241FCC ; =0x000001EE
+ cmp r0, r1
+ beq _02241E3E
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02241E3E
+ ldr r2, [sp, #8]
+ ldr r1, _02241FD0 ; =0x0000219C
+ ldrb r1, [r2, r1]
+ cmp r5, r1
+ beq _02241E3E
+ add r7, r7, r0
+_02241E3E:
+ add r0, r6, #0
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _02241DFE
+_02241E4A:
+ cmp r7, #0
+ bne _02241E6E
+ ldr r0, [sp, #0x2c]
+ bl FUN_0206A92C
+ ldr r2, _02241FD4 ; =0x00003108
+ ldr r1, [sp, #4]
+ ldrb r1, [r1, r2]
+ orr r1, r0
+ ldr r0, [sp, #4]
+ strb r1, [r0, r2]
+ add r1, r0, #0
+ ldr r0, [sp, #0x2c]
+ mov r2, #6
+ add r1, r1, r0
+ ldr r0, _02241FD0 ; =0x0000219C
+ strb r2, [r1, r0]
+ b _02241F30
+_02241E6E:
+ ldr r1, [sp, #0x20]
+ ldr r0, [sp, #4]
+ str r1, [r0, #0xc]
+ mov r1, #0x15
+ str r1, [r0, #8]
+ mov r1, #0x4f
+ ldr r0, [sp, #0x1c]
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r0, #1
+ orr r2, r0
+ ldr r0, [sp, #0x1c]
+ str r2, [r0, r1]
+ b _02241F30
+_02241E8A:
+ ldr r1, _02241FC8 ; =0x00002D8C
+ ldr r0, [sp, #0x18]
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ bne _02241F30
+ ldr r0, [sp]
+ ldr r1, [sp, #0x2c]
+ mov r7, #0
+ bl MOD11_0222FF88
+ add r6, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x2c]
+ bl MOD11_0222FF7C
+ add r0, r6, #0
+ add r5, r7, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02241EF2
+_02241EB4:
+ add r0, r6, #0
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02241EE6
+ add r0, r4, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02241FCC ; =0x000001EE
+ cmp r0, r1
+ beq _02241EE6
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r7, r0
+_02241EE6:
+ add r0, r6, #0
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _02241EB4
+_02241EF2:
+ cmp r7, #0
+ bne _02241F16
+ ldr r0, [sp, #0x2c]
+ bl FUN_0206A92C
+ ldr r2, _02241FD4 ; =0x00003108
+ ldr r1, [sp, #4]
+ ldrb r1, [r1, r2]
+ orr r1, r0
+ ldr r0, [sp, #4]
+ strb r1, [r0, r2]
+ add r1, r0, #0
+ ldr r0, [sp, #0x2c]
+ mov r2, #6
+ add r1, r1, r0
+ ldr r0, _02241FD0 ; =0x0000219C
+ strb r2, [r1, r0]
+ b _02241F30
+_02241F16:
+ ldr r1, [sp, #0x20]
+ ldr r0, [sp, #4]
+ str r1, [r0, #0xc]
+ mov r1, #0x15
+ str r1, [r0, #8]
+ mov r1, #0x4f
+ ldr r0, [sp, #0x1c]
+ lsl r1, r1, #2
+ ldr r2, [r0, r1]
+ mov r0, #1
+ orr r2, r0
+ ldr r0, [sp, #0x1c]
+ str r2, [r0, r1]
+_02241F30:
+ ldr r0, [sp, #0x1c]
+ add r0, r0, #4
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x18]
+ add r0, #0xc0
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x2c]
+ add r1, r0, #1
+ ldr r0, [sp, #0x28]
+ str r1, [sp, #0x2c]
+ cmp r1, r0
+ bge _02241F4A
+ b _02241D76
+_02241F4A:
+ ldr r0, [sp, #4]
+ ldr r0, [r0, #8]
+ cmp r0, #0x15
+ bne _02241FC0
+ ldr r0, [sp, #0x24]
+ mov r1, #0x86
+ tst r0, r1
+ bne _02241FB2
+ ldr r0, [sp]
+ bl MOD11_02230E70
+ cmp r0, #0
+ bne _02241FB2
+ mov r1, #0x4f
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ mov r2, #1
+ tst r0, r2
+ beq _02241F7C
+ ldr r0, [sp, #4]
+ add r1, r1, #4
+ ldr r0, [r0, r1]
+ tst r0, r2
+ bne _02241FB2
+_02241F7C:
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ mov r2, #0
+ bl MOD11_02246DE0
+ cmp r0, #0
+ beq _02241FB2
+ mov r1, #0x4f
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ ldr r0, [r0, r1]
+ mov r2, #1
+ tst r0, r2
+ beq _02241FA0
+ mov r2, #0
+ sub r1, r1, #4
+ ldr r0, [sp, #4]
+ b _02241FA4
+_02241FA0:
+ ldr r0, [sp, #4]
+ sub r1, r1, #4
+_02241FA4:
+ str r2, [r0, r1]
+ ldr r0, [sp, #4]
+ mov r1, #1
+ mov r2, #0xe7
+ bl MOD11_022431DC
+ b _02241FBC
+_02241FB2:
+ ldr r0, [sp, #4]
+ mov r1, #1
+ mov r2, #0xa
+ bl MOD11_022431DC
+_02241FBC:
+ mov r0, #1
+ str r0, [sp, #0x30]
+_02241FC0:
+ ldr r0, [sp, #0x30]
+ add sp, #0x34
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02241FC8: .word 0x00002D8C
+_02241FCC: .word 0x000001EE
+_02241FD0: .word 0x0000219C
+_02241FD4: .word 0x00003108
+
+ thumb_func_start MOD11_02241FD8
+MOD11_02241FD8: ; 0x02241FD8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ str r0, [sp]
+ str r1, [sp, #4]
+ bl MOD11_0222FF84
+ str r0, [sp, #0x24]
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ str r0, [sp, #0x20]
+ mov r0, #0
+ str r0, [sp, #0x1c]
+ str r0, [sp, #0x28]
+ ldr r0, [sp, #0x24]
+ cmp r0, #0
+ bgt _02241FFC
+ b _02242256
+_02241FFC:
+ ldr r0, [sp, #0x20]
+ mov r1, #8
+ and r0, r1
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x20]
+ mov r1, #0x10
+ and r0, r1
+ str r0, [sp, #8]
+_0224200C:
+ ldr r0, [sp, #0x20]
+ sub r0, #0x4a
+ cmp r0, #1
+ bhi _022420A6
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _022420A6
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_02230260
+ cmp r0, #2
+ bne _022420C8
+ ldr r1, _0224233C ; =0x00002D8C
+ ldr r0, [sp, #4]
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ bne _022420C8
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ mov r7, #0
+ bl MOD11_0222FF88
+ add r6, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_0222FF7C
+ add r0, r6, #0
+ add r4, r7, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02242094
+_02242056:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r5, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02242088
+ add r0, r5, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242340 ; =0x000001EE
+ cmp r0, r1
+ beq _02242088
+ add r0, r5, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r7, r0
+_02242088:
+ add r0, r6, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02242056
+_02242094:
+ cmp r7, #0
+ bne _022420C8
+ ldr r0, [sp, #0x1c]
+ mov r1, #2
+ orr r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+ b _02242242
+_022420A6:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ bne _022420BE
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _022421B0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _022421B0
+_022420BE:
+ ldr r1, _0224233C ; =0x00002D8C
+ ldr r0, [sp, #4]
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ beq _022420CA
+_022420C8:
+ b _02242242
+_022420CA:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ mov r5, #0
+ bl MOD11_0222FF88
+ add r7, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldr r0, [sp]
+ bl MOD11_0222FF88
+ str r0, [sp, #0x18]
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_0222FF7C
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r4, r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0224213C
+_022420FE:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02242130
+ add r0, r6, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242340 ; =0x000001EE
+ cmp r0, r1
+ beq _02242130
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r5, r5, r0
+_02242130:
+ add r0, r7, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _022420FE
+_0224213C:
+ ldr r0, [sp, #0x18]
+ mov r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02242186
+ ldr r7, _02242340 ; =0x000001EE
+_0224214A:
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0224217A
+ add r0, r6, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, r7
+ beq _0224217A
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r5, r5, r0
+_0224217A:
+ ldr r0, [sp, #0x18]
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _0224214A
+_02242186:
+ cmp r5, #0
+ bne _02242242
+ ldr r0, [sp, #0x14]
+ bl MOD11_02253A4C
+ mov r1, #1
+ tst r0, r1
+ beq _022421A2
+ ldr r0, [sp, #0x1c]
+ orr r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+ b _02242242
+_022421A2:
+ ldr r0, [sp, #0x1c]
+ mov r1, #2
+ orr r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+ b _02242242
+_022421B0:
+ ldr r1, _0224233C ; =0x00002D8C
+ ldr r0, [sp, #4]
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ bne _02242242
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ mov r7, #0
+ bl MOD11_0222FF88
+ add r6, r0, #0
+ ldr r0, [sp]
+ ldr r1, [sp, #0x28]
+ bl MOD11_0222FF7C
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ add r4, r7, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0224221A
+_022421DC:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r5, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0224220E
+ add r0, r5, #0
+ mov r1, #0xad
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242340 ; =0x000001EE
+ cmp r0, r1
+ beq _0224220E
+ add r0, r5, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r7, r0
+_0224220E:
+ add r0, r6, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _022421DC
+_0224221A:
+ cmp r7, #0
+ bne _02242242
+ ldr r0, [sp, #0x10]
+ bl MOD11_02253A4C
+ mov r1, #1
+ tst r0, r1
+ beq _02242236
+ ldr r0, [sp, #0x1c]
+ orr r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+ b _02242242
+_02242236:
+ ldr r0, [sp, #0x1c]
+ mov r1, #2
+ orr r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+_02242242:
+ ldr r0, [sp, #4]
+ add r0, #0xc0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x28]
+ add r1, r0, #1
+ ldr r0, [sp, #0x24]
+ str r1, [sp, #0x28]
+ cmp r1, r0
+ bge _02242256
+ b _0224200C
+_02242256:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #1
+ bne _0224226C
+ ldr r0, [sp, #0x20]
+ mov r1, #1
+ tst r0, r1
+ beq _0224226C
+ ldr r0, [sp, #0x20]
+ mov r1, #4
+ tst r0, r1
+ beq _02242282
+_0224226C:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #1
+ bne _0224231C
+ ldr r0, [sp, #0x20]
+ mov r1, #0x80
+ tst r0, r1
+ beq _0224231C
+ ldr r0, [sp, #0x20]
+ mov r1, #4
+ tst r0, r1
+ bne _0224231C
+_02242282:
+ ldr r0, [sp]
+ mov r1, #1
+ bl MOD11_02230188
+ ldrb r0, [r0, #1]
+ sub r0, #0x3e
+ cmp r0, #0x23
+ bhi _0224230E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0224229E: ; jump table
+ .short _022422E6 - _0224229E - 2 ; case 0
+ .short _0224230E - _0224229E - 2 ; case 1
+ .short _022422E6 - _0224229E - 2 ; case 2
+ .short _02242306 - _0224229E - 2 ; case 3
+ .short _02242306 - _0224229E - 2 ; case 4
+ .short _02242306 - _0224229E - 2 ; case 5
+ .short _02242306 - _0224229E - 2 ; case 6
+ .short _022422EE - _0224229E - 2 ; case 7
+ .short _0224230E - _0224229E - 2 ; case 8
+ .short _0224230E - _0224229E - 2 ; case 9
+ .short _022422F6 - _0224229E - 2 ; case 10
+ .short _022422F6 - _0224229E - 2 ; case 11
+ .short _022422E6 - _0224229E - 2 ; case 12
+ .short _022422E6 - _0224229E - 2 ; case 13
+ .short _022422E6 - _0224229E - 2 ; case 14
+ .short _022422E6 - _0224229E - 2 ; case 15
+ .short _022422E6 - _0224229E - 2 ; case 16
+ .short _022422E6 - _0224229E - 2 ; case 17
+ .short _0224230E - _0224229E - 2 ; case 18
+ .short _0224230E - _0224229E - 2 ; case 19
+ .short _0224230E - _0224229E - 2 ; case 20
+ .short _0224230E - _0224229E - 2 ; case 21
+ .short _0224230E - _0224229E - 2 ; case 22
+ .short _0224230E - _0224229E - 2 ; case 23
+ .short _022422FE - _0224229E - 2 ; case 24
+ .short _022422F6 - _0224229E - 2 ; case 25
+ .short _022422F6 - _0224229E - 2 ; case 26
+ .short _022422F6 - _0224229E - 2 ; case 27
+ .short _0224230E - _0224229E - 2 ; case 28
+ .short _0224230E - _0224229E - 2 ; case 29
+ .short _0224230E - _0224229E - 2 ; case 30
+ .short _0224230E - _0224229E - 2 ; case 31
+ .short _0224230E - _0224229E - 2 ; case 32
+ .short _0224230E - _0224229E - 2 ; case 33
+ .short _0224230E - _0224229E - 2 ; case 34
+ .short _022422E6 - _0224229E - 2 ; case 35
+_022422E6:
+ ldr r0, _02242344 ; =0x00000469
+ bl FUN_0200521C
+ b _02242314
+_022422EE:
+ ldr r0, _02242348 ; =0x0000046A
+ bl FUN_0200521C
+ b _02242314
+_022422F6:
+ ldr r0, _0224234C ; =0x0000046B
+ bl FUN_0200521C
+ b _02242314
+_022422FE:
+ ldr r0, _02242350 ; =0x0000046C
+ bl FUN_0200521C
+ b _02242314
+_02242306:
+ ldr r0, _02242354 ; =0x0000046D
+ bl FUN_0200521C
+ b _02242314
+_0224230E:
+ ldr r0, _02242358 ; =0x00000468
+ bl FUN_0200521C
+_02242314:
+ ldr r0, [sp]
+ mov r1, #2
+ bl MOD11_02231484
+_0224231C:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _0224232A
+ ldr r0, [sp]
+ ldr r1, [sp, #0x1c]
+ bl MOD11_02231468
+_0224232A:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _02242336
+ add sp, #0x2c
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02242336:
+ mov r0, #0
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224233C: .word 0x00002D8C
+_02242340: .word 0x000001EE
+_02242344: .word 0x00000469
+_02242348: .word 0x0000046A
+_0224234C: .word 0x0000046B
+_02242350: .word 0x0000046C
+_02242354: .word 0x0000046D
+_02242358: .word 0x00000468
+
+ thumb_func_start MOD11_0224235C
+MOD11_0224235C: ; 0x0224235C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ str r0, [sp]
+ add r5, r1, #0
+ ldr r0, _022423F4 ; =0x00002D4C
+ add r6, r2, #0
+ mov r1, #0xc0
+ add r0, r5, r0
+ mul r1, r6
+ add r0, r0, r1
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x2c]
+ ldr r1, [sp, #8]
+ lsl r0, r0, #1
+ ldrh r1, [r1, r0]
+ str r3, [sp, #4]
+ ldr r4, [sp, #0x28]
+ ldr r7, [sp, #0x30]
+ str r0, [sp, #0xc]
+ cmp r1, #0xae
+ bne _02242396
+ add r0, r5, #0
+ bl MOD11_02246C20
+ cmp r0, #0
+ bne _02242396
+ mov r0, #0x10
+ str r0, [r4]
+ b _022423A6
+_02242396:
+ ldr r1, [sp, #8]
+ ldr r0, [sp, #0xc]
+ ldrh r0, [r1, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _022423F8 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ str r0, [r4]
+_022423A6:
+ ldr r0, [sp, #4]
+ mov r1, #2
+ tst r0, r1
+ beq _022423DC
+ ldr r0, [r4]
+ add r1, #0xfe
+ cmp r0, r1
+ bne _022423D6
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_022302BC
+ bl FUN_0206A92C
+ ldr r1, _022423FC ; =0x00003108
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _022423D0
+ add sp, #0x10
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_022423D0:
+ add sp, #0x10
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022423D6:
+ add sp, #0x10
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_022423DC:
+ ldr r1, [r4]
+ ldr r0, _02242400 ; =0x00000251
+ tst r0, r1
+ beq _022423E8
+ str r6, [r7]
+ b _022423EE
+_022423E8:
+ mov r0, #1
+ eor r0, r6
+ str r0, [r7]
+_022423EE:
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022423F4: .word 0x00002D4C
+_022423F8: .word 0x000003E6
+_022423FC: .word 0x00003108
+_02242400: .word 0x00000251
+
+ thumb_func_start MOD11_02242404
+MOD11_02242404: ; 0x02242404
+ push {r3, r4, r5, r6, r7, lr}
+ str r1, [sp]
+ bl MOD11_0222FF84
+ add r4, r0, #0
+ mov r3, #0
+ cmp r4, #0
+ ble _0224243E
+ ldr r5, [sp]
+ add r7, r3, #0
+ add r6, r5, #0
+_0224241A:
+ ldr r0, _02242460 ; =0x00002DB0
+ add r3, r3, #1
+ ldr r2, [r6, r0]
+ ldr r0, _02242464 ; =0x0000218C
+ ldr r1, [r5, r0]
+ mov r0, #0
+ mvn r0, r0
+ eor r0, r1
+ add r1, r2, #0
+ and r1, r0
+ ldr r0, _02242460 ; =0x00002DB0
+ str r1, [r6, r0]
+ ldr r0, _02242464 ; =0x0000218C
+ add r6, #0xc0
+ str r7, [r5, r0]
+ add r5, r5, #4
+ cmp r3, r4
+ blt _0224241A
+_0224243E:
+ ldr r1, [sp]
+ mov r0, #0
+ ldr r1, [r1, #0x64]
+ lsl r2, r1, #1
+ ldr r1, [sp]
+ add r1, r1, r2
+ ldr r2, _02242468 ; =0x00003064
+ strh r0, [r1, r2]
+ ldr r1, [sp]
+ add r2, #0x60
+ ldr r1, [r1, #0x64]
+ lsl r3, r1, #1
+ ldr r1, [sp]
+ add r1, r1, r3
+ strh r0, [r1, r2]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02242460: .word 0x00002DB0
+_02242464: .word 0x0000218C
+_02242468: .word 0x00003064
+
+ thumb_func_start MOD11_0224246C
+MOD11_0224246C: ; 0x0224246C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ ldr r0, _02242504 ; =0x000021EC
+ str r1, [sp]
+ ldrb r0, [r5, r0]
+ add r6, r2, #0
+ str r3, [sp, #4]
+ mov r4, #0
+ bl FUN_0206A92C
+ ldr r1, _02242508 ; =0x0000213C
+ lsl r0, r0, #0x18
+ ldr r2, [r5, r1]
+ mov r1, #0xf
+ lsl r1, r1, #0x18
+ tst r1, r2
+ beq _022424FA
+ add r1, r2, #0
+ tst r1, r0
+ bne _022424AE
+ ldr r7, _02242504 ; =0x000021EC
+ add r6, r7, #0
+ sub r6, #0xb0
+_0224249C:
+ add r4, r4, #1
+ add r0, r5, r4
+ ldrb r0, [r0, r7]
+ bl FUN_0206A92C
+ ldr r1, [r5, r6]
+ lsl r0, r0, #0x18
+ tst r1, r0
+ beq _0224249C
+_022424AE:
+ ldr r2, _02242508 ; =0x0000213C
+ mov r1, #0
+ mvn r1, r1
+ eor r1, r0
+ ldr r3, [r5, r2]
+ asr r0, r0, #0x18
+ and r1, r3
+ str r1, [r5, r2]
+ bl FUN_0206A94C
+ str r0, [r5, #0x74]
+ ldr r0, [sp, #4]
+ cmp r0, #1
+ bne _022424D6
+ add r0, r5, #0
+ mov r1, #1
+ mov r2, #6
+ bl MOD11_022431DC
+ b _022424E0
+_022424D6:
+ add r0, r5, #0
+ mov r1, #1
+ mov r2, #0x53
+ bl MOD11_022431DC
+_022424E0:
+ mov r0, #0x15
+ str r0, [r5, #8]
+ ldr r0, [sp]
+ mov r2, #0x27
+ str r0, [r5, #0xc]
+ ldr r0, [r5, #0x74]
+ add sp, #8
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224250C ; =0x000021A8
+ str r2, [r1, r0]
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_022424FA:
+ str r6, [r5, #8]
+ add r0, r4, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02242504: .word 0x000021EC
+_02242508: .word 0x0000213C
+_0224250C: .word 0x000021A8
+
+ thumb_func_start MOD11_02242510
+MOD11_02242510: ; 0x02242510
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ mov r0, #0x85
+ lsl r0, r0, #6
+ add r4, r1, #0
+ ldr r1, [r5, r0]
+ mov r0, #0xf
+ lsl r0, r0, #0x1c
+ tst r0, r1
+ beq _02242564
+ mov r0, #1
+ lsl r0, r0, #0x1c
+ add r2, r1, #0
+ tst r2, r0
+ bne _02242536
+_0224252E:
+ lsl r0, r0, #1
+ add r2, r1, #0
+ tst r2, r0
+ beq _0224252E
+_02242536:
+ mov r2, #0x85
+ lsl r2, r2, #6
+ mov r1, #0
+ mvn r1, r1
+ eor r1, r0
+ ldr r3, [r5, r2]
+ asr r0, r0, #0x1c
+ and r1, r3
+ str r1, [r5, r2]
+ bl FUN_0206A94C
+ mov r2, #0x45
+ str r0, [r5, #0x74]
+ add r0, r5, #0
+ mov r1, #1
+ lsl r2, r2, #2
+ bl MOD11_022431DC
+ mov r0, #0x15
+ str r0, [r5, #8]
+ str r4, [r5, #0xc]
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_02242564:
+ str r2, [r5, #8]
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224256C
+MOD11_0224256C: ; 0x0224256C
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ bne _02242580
+ mov r4, #0
+ b _02242594
+_02242580:
+ ldr r0, _0224274C ; =0x00002160
+ ldr r4, [r5, r0]
+ cmp r4, #0
+ bne _02242594
+ ldr r0, _02242750 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02242754 ; =0x000003E2
+ ldrb r4, [r1, r0]
+_02242594:
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ ldr r2, [r5, r0]
+ mov r6, #0x10
+ lsl r1, r2, #4
+ add r3, r5, r1
+ ldr r1, _02242758 ; =0x000003E9
+ ldrb r1, [r3, r1]
+ tst r1, r6
+ beq _022425DE
+ ldr r3, _0224275C ; =0x0000213C
+ lsl r6, r6, #0x10
+ ldr r1, [r5, r3]
+ tst r1, r6
+ bne _022425DE
+ ldr r1, [r5, #0x6c]
+ cmp r1, #0xff
+ beq _022425DE
+ add r3, r3, #4
+ ldr r6, [r5, r3]
+ mov r3, #4
+ tst r3, r6
+ beq _022425DE
+ lsl r1, r1, #1
+ add r3, r5, r1
+ add r1, r0, #0
+ add r1, #0x44
+ strh r2, [r3, r1]
+ ldr r2, [r5, #0x6c]
+ ldr r1, [r5, r0]
+ lsl r2, r2, #3
+ add r3, r5, r2
+ ldr r2, [r5, #0x64]
+ add r0, #0x4c
+ lsl r2, r2, #1
+ add r2, r3, r2
+ strh r1, [r2, r0]
+_022425DE:
+ ldr r1, [r5, #0x6c]
+ cmp r1, #0xff
+ beq _02242628
+ add r0, r5, #0
+ bl MOD11_02249D90
+ ldr r1, _0224275C ; =0x0000213C
+ lsl r0, r0, #0x18
+ ldr r3, [r5, r1]
+ mov r2, #0x20
+ lsr r0, r0, #0x18
+ tst r2, r3
+ bne _02242602
+ add r1, r1, #4
+ ldr r2, [r5, r1]
+ mov r1, #4
+ tst r1, r2
+ beq _0224261C
+_02242602:
+ cmp r0, #0x36
+ beq _0224261C
+ cmp r0, #0x72
+ beq _0224261C
+ cmp r0, #0x7c
+ beq _0224261C
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02242760 ; =0x00002DF8
+ mov r2, #0
+ strh r2, [r1, r0]
+_0224261C:
+ ldr r0, _0224275C ; =0x0000213C
+ mov r1, #1
+ ldr r2, [r5, r0]
+ lsl r1, r1, #0x14
+ tst r1, r2
+ beq _0224262A
+_02242628:
+ b _0224274A
+_0224262A:
+ add r0, r0, #4
+ ldr r1, [r5, r0]
+ mov r0, #4
+ tst r0, r1
+ beq _02242668
+ ldr r1, [r5, #0x6c]
+ ldr r0, _02242750 ; =0x00003044
+ lsl r1, r1, #1
+ add r2, r5, r1
+ add r1, r0, #0
+ ldr r3, [r5, r0]
+ add r1, #0x20
+ strh r3, [r2, r1]
+ ldr r1, [r5, #0x6c]
+ ldr r3, [r5, #0x64]
+ lsl r1, r1, #1
+ add r2, r5, r1
+ add r1, r0, #0
+ add r1, #0x28
+ strh r3, [r2, r1]
+ ldr r1, [r5, #0x6c]
+ lsl r1, r1, #1
+ add r2, r5, r1
+ add r1, r0, #0
+ add r1, #0x30
+ strh r4, [r2, r1]
+ sub r1, r0, #4
+ ldr r1, [r5, r1]
+ add r0, r0, #4
+ str r1, [r5, r0]
+ b _02242692
+_02242668:
+ ldr r0, [r5, #0x6c]
+ ldr r3, _02242764 ; =0x00003064
+ lsl r0, r0, #1
+ mov r1, #0
+ add r0, r5, r0
+ strh r1, [r0, r3]
+ ldr r2, [r5, #0x6c]
+ mov r0, #0xff
+ lsl r2, r2, #1
+ add r6, r5, r2
+ add r2, r3, #0
+ add r2, #8
+ strh r0, [r6, r2]
+ ldr r0, [r5, #0x6c]
+ lsl r0, r0, #1
+ add r2, r5, r0
+ add r0, r3, #0
+ add r0, #0x10
+ strh r1, [r2, r0]
+ sub r3, #0x1c
+ str r1, [r5, r3]
+_02242692:
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r2, [r5, r0]
+ mov r1, #0x40
+ tst r1, r2
+ beq _02242726
+ add r0, #0x2c
+ ldr r0, [r5, r0]
+ ldr r2, _02242768 ; =0x801FDA49
+ tst r0, r2
+ bne _02242726
+ ldr r0, _02242750 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r1, r0, #4
+ add r3, r5, r1
+ ldr r1, _0224276C ; =0x000003E6
+ ldrh r3, [r3, r1]
+ cmp r3, #0x40
+ bgt _022426C8
+ bge _022426DC
+ cmp r3, #0x10
+ bgt _022426C2
+ beq _022426DC
+ b _02242702
+_022426C2:
+ cmp r3, #0x20
+ beq _022426DC
+ b _02242702
+_022426C8:
+ lsr r1, r2, #0x17
+ cmp r3, r1
+ bgt _022426D6
+ bge _022426DC
+ cmp r3, #0x80
+ beq _022426DC
+ b _02242702
+_022426D6:
+ lsr r1, r2, #0x16
+ cmp r3, r1
+ bne _02242702
+_022426DC:
+ ldr r1, [r5, #0x6c]
+ ldr r2, _02242770 ; =0x000030C4
+ lsl r1, r1, #1
+ mov r0, #0
+ add r1, r5, r1
+ strh r0, [r1, r2]
+ ldr r1, [r5, #0x6c]
+ mov r4, #0xff
+ lsl r1, r1, #1
+ add r3, r5, r1
+ add r1, r2, #0
+ add r1, #8
+ strh r4, [r3, r1]
+ ldr r1, [r5, #0x6c]
+ add r2, #0x10
+ lsl r1, r1, #1
+ add r1, r5, r1
+ strh r0, [r1, r2]
+ pop {r4, r5, r6, pc}
+_02242702:
+ ldr r1, [r5, #0x6c]
+ lsl r1, r1, #1
+ add r2, r5, r1
+ ldr r1, _02242770 ; =0x000030C4
+ strh r0, [r2, r1]
+ ldr r0, [r5, #0x6c]
+ ldr r3, [r5, #0x64]
+ lsl r0, r0, #1
+ add r2, r5, r0
+ add r0, r1, #0
+ add r0, #8
+ strh r3, [r2, r0]
+ ldr r0, [r5, #0x6c]
+ add r1, #0x10
+ lsl r0, r0, #1
+ add r0, r5, r0
+ strh r4, [r0, r1]
+ pop {r4, r5, r6, pc}
+_02242726:
+ ldr r1, [r5, #0x6c]
+ ldr r2, _02242770 ; =0x000030C4
+ lsl r1, r1, #1
+ mov r0, #0
+ add r1, r5, r1
+ strh r0, [r1, r2]
+ ldr r1, [r5, #0x6c]
+ mov r4, #0xff
+ lsl r1, r1, #1
+ add r3, r5, r1
+ add r1, r2, #0
+ add r1, #8
+ strh r4, [r3, r1]
+ ldr r1, [r5, #0x6c]
+ add r2, #0x10
+ lsl r1, r1, #1
+ add r1, r5, r1
+ strh r0, [r1, r2]
+_0224274A:
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224274C: .word 0x00002160
+_02242750: .word 0x00003044
+_02242754: .word 0x000003E2
+_02242758: .word 0x000003E9
+_0224275C: .word 0x0000213C
+_02242760: .word 0x00002DF8
+_02242764: .word 0x00003064
+_02242768: .word 0x801FDA49
+_0224276C: .word 0x000003E6
+_02242770: .word 0x000030C4
+
+ thumb_func_start MOD11_02242774
+MOD11_02242774: ; 0x02242774
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x10
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ mov r0, #1
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02242790
+MOD11_02242790: ; 0x02242790
+ push {r3, r4, r5, lr}
+ ldr r2, _022427E0 ; =0x0000216C
+ add r5, r1, #0
+ ldr r0, [r5, r2]
+ mov r4, #0
+ cmp r0, #0
+ beq _022427C4
+ add r1, r2, #0
+ add r1, #0x11
+ ldrb r1, [r5, r1]
+ cmp r1, #0
+ beq _022427C2
+ ldr r1, [r5, #0x74]
+ cmp r1, #0xff
+ bne _022427BE
+ add r2, #0x10
+ ldrb r1, [r5, r2]
+ cmp r1, #1
+ beq _022427BE
+ mov r1, #1
+ lsl r1, r1, #0xe
+ tst r0, r1
+ beq _022427C4
+_022427BE:
+ mov r4, #1
+ b _022427C4
+_022427C2:
+ mov r4, #1
+_022427C4:
+ cmp r4, #1
+ bne _022427DA
+ add r0, r5, #0
+ mov r1, #1
+ mov r2, #0x15
+ bl MOD11_022431DC
+ ldr r0, [r5, #8]
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+_022427DA:
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ nop
+_022427E0: .word 0x0000216C
+
+ thumb_func_start MOD11_022427E4
+MOD11_022427E4: ; 0x022427E4
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ ldr r2, [r4, #0x6c]
+ mov r3, #0
+ cmp r2, #0xff
+ bne _022427F4
+ add r0, r3, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022427F4:
+ mov r0, #0xc0
+ add r5, r2, #0
+ mul r5, r0
+ mov r1, #2
+ ldr r0, _02242864 ; =0x00002DB0
+ add r7, r4, r5
+ ldr r6, [r7, r0]
+ lsl r1, r1, #0x16
+ tst r1, r6
+ beq _0224285E
+ ldr r1, _02242868 ; =0x0000216C
+ mov r6, #2
+ lsl r6, r6, #0x16
+ ldr r1, [r4, r1]
+ lsr r6, r6, #9
+ tst r1, r6
+ bne _0224285E
+ ldr r1, [r4, #0x64]
+ cmp r2, r1
+ beq _0224285E
+ sub r0, #0x24
+ ldr r0, [r7, r0]
+ cmp r0, #0
+ beq _0224285E
+ mov r0, #0x1c
+ mul r0, r2
+ add r2, r4, r0
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ bne _0224283C
+ add r0, #8
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _0224285E
+_0224283C:
+ ldr r0, _0224286C ; =0x00002D59
+ add r1, r4, r0
+ ldrsb r0, [r1, r5]
+ cmp r0, #0xc
+ bge _0224285E
+ add r0, r0, #1
+ strb r0, [r1, r5]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xf5
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r3, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0224285E:
+ add r0, r3, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02242864: .word 0x00002DB0
+_02242868: .word 0x0000216C
+_0224286C: .word 0x00002D59
+
+ thumb_func_start MOD11_02242870
+MOD11_02242870: ; 0x02242870
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ mov r4, #0
+ bl MOD11_02249D90
+ add r7, r0, #0
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r4, #0
+ bl MOD11_02249DA4
+ add r6, r0, #0
+ ldr r0, [r5, #0x6c]
+ cmp r0, #0xff
+ beq _0224290A
+ cmp r7, #0x37
+ bne _0224290A
+ ldr r1, _02242910 ; =0x0000216C
+ ldr r2, [r5, r1]
+ ldr r1, _02242914 ; =0x801FDA49
+ tst r1, r2
+ bne _0224290A
+ mov r1, #0x1c
+ mul r1, r0
+ mov r0, #0xb6
+ add r2, r5, r1
+ lsl r0, r0, #2
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ bne _022428B8
+ add r0, #8
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _0224290A
+_022428B8:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r6
+ bge _0224290A
+ ldr r0, _02242918 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224291C ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0224290A
+ ldr r0, [r5, #0x6c]
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r5, r1
+ ldr r1, _02242920 ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _0224290A
+ add r1, r5, #0
+ add r1, #0x94
+ str r0, [r1]
+ add r0, r5, #0
+ mov r1, #2
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ mov r1, #1
+ mov r2, #0xe
+ bl MOD11_022431DC
+ ldr r0, [r5, #8]
+ mov r4, #1
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+_0224290A:
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02242910: .word 0x0000216C
+_02242914: .word 0x801FDA49
+_02242918: .word 0x00003044
+_0224291C: .word 0x000003E9
+_02242920: .word 0x00002D8C
+
+ thumb_func_start MOD11_02242924
+MOD11_02242924: ; 0x02242924
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r4, [r5, #0x5c]
+ str r0, [sp]
+ mov r7, #0
+ bl MOD11_0222FF84
+ cmp r4, r0
+ bge _02242994
+ add r6, r5, #0
+ add r6, #0x5c
+_0224293A:
+ mov r0, #0xc0
+ mul r0, r4
+ mov r1, #0xb7
+ add r0, r5, r0
+ lsl r1, r1, #6
+ ldr r2, [r0, r1]
+ ldr r1, _022429A0 ; =0x200400C0
+ tst r1, r2
+ bne _0224297E
+ ldr r1, _022429A4 ; =0x00002DC4
+ ldr r2, [r0, r1]
+ ldr r1, _022429A0 ; =0x200400C0
+ tst r1, r2
+ beq _0224297E
+ ldr r1, _022429A4 ; =0x00002DC4
+ ldr r2, [r0, r1]
+ ldr r1, _022429A8 ; =0xDFFBFF3F
+ and r2, r1
+ ldr r1, _022429A4 ; =0x00002DC4
+ str r2, [r0, r1]
+ ldr r2, _022429AC ; =0x0000011F
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ mov r0, #0x46
+ ldr r1, [r5, #0x5c]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ ldr r0, [r5, #8]
+ mov r7, #1
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+_0224297E:
+ ldr r0, [r6]
+ add r0, r0, #1
+ str r0, [r6]
+ cmp r7, #1
+ beq _02242994
+ ldr r0, [sp]
+ ldr r4, [r5, #0x5c]
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _0224293A
+_02242994:
+ cmp r7, #0
+ bne _0224299C
+ mov r0, #0
+ str r0, [r5, #0x5c]
+_0224299C:
+ add r0, r7, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022429A0: .word 0x200400C0
+_022429A4: .word 0x00002DC4
+_022429A8: .word 0xDFFBFF3F
+_022429AC: .word 0x0000011F
+
+ thumb_func_start MOD11_022429B0
+MOD11_022429B0: ; 0x022429B0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r6, #0
+ bl MOD11_0222FF84
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02249D90
+ str r0, [sp, #4]
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ add r2, r6, #0
+ bl MOD11_02249DA4
+ ldr r1, [r4, #8]
+ str r0, [sp]
+ add r0, r4, #0
+ add r2, r1, #0
+ mov r3, #1
+ bl MOD11_0224246C
+ cmp r0, #1
+ bne _022429E8
+ add sp, #8
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_022429E8:
+ add r5, r4, #0
+ add r5, #0x30
+_022429EC:
+ ldr r0, [r4, #0x30]
+ cmp r0, #3
+ bls _022429F4
+ b _02242B44
+_022429F4:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02242A00: ; jump table
+ .short _02242A08 - _02242A00 - 2 ; case 0
+ .short _02242A38 - _02242A00 - 2 ; case 1
+ .short _02242AB8 - _02242A00 - 2 ; case 2
+ .short _02242B3C - _02242A00 - 2 ; case 3
+_02242A08:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _02242B5C ; =0x00002DB0
+ add r0, r4, r0
+ ldr r2, [r0, r1]
+ mov r1, #2
+ lsl r1, r1, #0x16
+ tst r1, r2
+ beq _02242A30
+ ldr r1, _02242B60 ; =0x00003044
+ ldr r1, [r4, r1]
+ cmp r1, #0x63
+ beq _02242A30
+ ldr r1, _02242B5C ; =0x00002DB0
+ ldr r2, [r0, r1]
+ ldr r1, _02242B64 ; =0xFF7FFFFF
+ and r2, r1
+ ldr r1, _02242B5C ; =0x00002DB0
+ str r2, [r0, r1]
+_02242A30:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _02242B44
+_02242A38:
+ ldr r3, [r4, #0x6c]
+ cmp r3, #0xff
+ beq _02242AB0
+ ldr r0, [sp, #4]
+ cmp r0, #0x57
+ bne _02242AB0
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x10
+ tst r0, r1
+ bne _02242AB0
+ ldr r0, _02242B68 ; =0x0000213C
+ ldr r1, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02242AB0
+ ldr r2, [r4, #0x64]
+ mov r0, #0x1c
+ mul r0, r2
+ add r1, r4, r0
+ mov r0, #0xbb
+ lsl r0, r0, #2
+ ldr r7, [r1, r0]
+ cmp r7, #0
+ beq _02242AB0
+ cmp r2, r3
+ beq _02242AB0
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _02242B6C ; =0x00002D8C
+ ldr r1, [r2, r0]
+ add r0, r0, #4
+ ldr r0, [r2, r0]
+ cmp r1, r0
+ bhs _02242AB0
+ cmp r1, #0
+ beq _02242AB0
+ ldr r1, [sp]
+ neg r0, r7
+ bl MOD11_022476C0
+ ldr r1, _02242B70 ; =0x0000215C
+ mov r2, #0xd5
+ str r0, [r4, r1]
+ mov r0, #0x46
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r6, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_02242AB0:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _02242B44
+_02242AB8:
+ ldr r0, [sp, #4]
+ cmp r0, #0x61
+ bne _02242B34
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _02242B34
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x10
+ tst r0, r1
+ bne _02242B34
+ ldr r0, _02242B68 ; =0x0000213C
+ ldr r1, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02242B34
+ ldr r0, _02242B60 ; =0x00003044
+ ldr r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ mov r0, #0x3e
+ lsl r0, r0, #4
+ ldrb r0, [r1, r0]
+ cmp r0, #2
+ beq _02242B34
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _02242B6C ; =0x00002D8C
+ add r0, r4, r0
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ beq _02242B34
+ ldr r1, _02242B74 ; =0x00002D90
+ ldr r1, [r0, r1]
+ mov r0, #0
+ mvn r0, r0
+ mul r0, r1
+ mov r1, #0xa
+ bl MOD11_022476C0
+ ldr r1, _02242B70 ; =0x0000215C
+ mov r2, #0xd6
+ str r0, [r4, r1]
+ mov r0, #0x46
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r6, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_02242B34:
+ ldr r0, [r5]
+ add r0, r0, #1
+ str r0, [r5]
+ b _02242B44
+_02242B3C:
+ mov r0, #0
+ str r0, [r4, #0x30]
+ str r0, [r4, #0x34]
+ mov r6, #2
+_02242B44:
+ cmp r6, #0
+ bne _02242B4A
+ b _022429EC
+_02242B4A:
+ cmp r6, #1
+ bne _02242B54
+ add sp, #8
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_02242B54:
+ mov r0, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02242B5C: .word 0x00002DB0
+_02242B60: .word 0x00003044
+_02242B64: .word 0xFF7FFFFF
+_02242B68: .word 0x0000213C
+_02242B6C: .word 0x00002D8C
+_02242B70: .word 0x0000215C
+_02242B74: .word 0x00002D90
+
+ thumb_func_start MOD11_02242B78
+MOD11_02242B78: ; 0x02242B78
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r7, r1, #0
+ str r2, [sp, #4]
+ add r1, r2, #0
+ add r2, r3, #0
+ str r0, [sp]
+ bl MOD11_02230014
+ ldr r1, [sp, #4]
+ mov r2, #0xc0
+ add r5, r1, #0
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ add r1, r7, r1
+ mul r5, r2
+ str r1, [sp, #0x18]
+ mov r1, #5
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x18]
+ mov r2, #0
+ strh r0, [r1, r5]
+ add r0, r4, #0
+ mov r1, #0xa4
+ bl FUN_020671BC
+ ldr r1, _02242F4C ; =0x00002D42
+ add r2, r7, r5
+ strh r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xa5
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242F50 ; =0x00002D44
+ add r2, r7, r5
+ strh r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xa6
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242F54 ; =0x00002D46
+ add r2, r7, r5
+ strh r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xa7
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242F58 ; =0x00002D48
+ add r2, r7, r5
+ strh r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xa8
+ mov r2, #0
+ bl FUN_020671BC
+ add r1, r7, r5
+ ldr r2, _02242F5C ; =0x00002D4A
+ str r1, [sp, #0xc]
+ strh r0, [r1, r2]
+ add r0, r1, #0
+ mov r6, #0
+ str r0, [sp, #0x14]
+ str r0, [sp, #0x10]
+_02242C02:
+ add r1, r6, #0
+ add r0, r4, #0
+ add r1, #0x36
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp, #0x14]
+ ldr r1, _02242F60 ; =0x00002D4C
+ strh r0, [r2, r1]
+ add r1, r6, #0
+ add r0, r4, #0
+ add r1, #0x3a
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp, #0x10]
+ ldr r1, _02242F64 ; =0x00002D6C
+ strb r0, [r2, r1]
+ add r1, r6, #0
+ add r0, r4, #0
+ add r1, #0x3e
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp, #0x10]
+ ldr r1, _02242F68 ; =0x00002D70
+ add r6, r6, #1
+ strb r0, [r2, r1]
+ ldr r0, [sp, #0x14]
+ add r0, r0, #2
+ str r0, [sp, #0x14]
+ add r0, r2, #0
+ add r0, r0, #1
+ str r0, [sp, #0x10]
+ cmp r6, #4
+ blt _02242C02
+ add r0, r1, #0
+ sub r0, #0x1c
+ add r6, r7, r0
+ add r0, r4, #0
+ mov r1, #0x46
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, [r6, r5]
+ mov r2, #0x1f
+ bic r1, r2
+ mov r2, #0x1f
+ and r0, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x47
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x1b
+ ldr r2, [r6, r5]
+ ldr r1, _02242F6C ; =0xFFFFFC1F
+ lsr r0, r0, #0x16
+ and r1, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x48
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x1b
+ ldr r2, [r6, r5]
+ ldr r1, _02242F70 ; =0xFFFF83FF
+ lsr r0, r0, #0x11
+ and r1, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x49
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x1b
+ ldr r2, [r6, r5]
+ ldr r1, _02242F74 ; =0xFFF07FFF
+ lsr r0, r0, #0xc
+ and r1, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x4a
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x1b
+ ldr r2, [r6, r5]
+ ldr r1, _02242F78 ; =0xFE0FFFFF
+ lsr r0, r0, #7
+ and r1, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x4b
+ mov r2, #0
+ bl FUN_020671BC
+ lsl r0, r0, #0x1b
+ ldr r2, [r6, r5]
+ ldr r1, _02242F7C ; =0xC1FFFFFF
+ lsr r0, r0, #2
+ and r1, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [r6, r5]
+ ldr r1, _02242F80 ; =0xBFFFFFFF
+ lsl r0, r0, #0x1f
+ and r1, r2
+ lsr r0, r0, #1
+ orr r0, r1
+ str r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x4d
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [r6, r5]
+ ldr r1, _02242F84 ; =0x7FFFFFFF
+ lsl r0, r0, #0x1f
+ and r1, r2
+ orr r0, r1
+ str r0, [r6, r5]
+ ldr r0, _02242F88 ; =0x0000213C
+ ldr r1, [r7, r0]
+ mov r0, #1
+ lsl r0, r0, #8
+ tst r0, r1
+ bne _02242D2E
+ ldr r0, _02242F8C ; =0x00002D58
+ mov r2, #0
+ mov r1, #6
+_02242D20:
+ ldr r3, [sp, #0xc]
+ add r2, r2, #1
+ strb r1, [r3, r0]
+ add r3, r3, #1
+ str r3, [sp, #0xc]
+ cmp r2, #8
+ blt _02242D20
+_02242D2E:
+ ldr r0, _02242F90 ; =0x00002D68
+ mov r1, #1
+ add r0, r7, r0
+ ldr r2, [r0, r5]
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #2
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #4
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #8
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #0x10
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #0x20
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #0x40
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ mov r1, #0x80
+ bic r2, r1
+ str r2, [r0, r5]
+ ldr r2, [r0, r5]
+ ldr r1, _02242F94 ; =0xFFFFFEFF
+ and r1, r2
+ str r1, [r0, r5]
+ ldr r2, [r0, r5]
+ ldr r1, _02242F98 ; =0xFFFFFDFF
+ and r1, r2
+ str r1, [r0, r5]
+ ldr r2, [r0, r5]
+ ldr r1, _02242F9C ; =0xFFFFFBFF
+ and r1, r2
+ str r1, [r0, r5]
+ add r0, r4, #0
+ mov r1, #0xb0
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FA0 ; =0x00002D64
+ add r2, r7, r5
+ strb r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xb1
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FA4 ; =0x00002D65
+ add r2, r7, r5
+ strb r0, [r2, r1]
+ add r1, #0x59
+ add r0, r7, r1
+ str r0, [sp, #0x1c]
+ add r0, r4, #0
+ bl FUN_020689E0
+ ldr r1, [sp, #0x1c]
+ mov r2, #0xf
+ ldrb r1, [r1, r5]
+ bic r1, r2
+ mov r2, #0xf
+ and r0, r2
+ orr r1, r0
+ ldr r0, [sp, #0x1c]
+ strb r1, [r0, r5]
+ ldr r0, _02242FA8 ; =0x00002D66
+ add r6, r7, r0
+ add r0, r4, #0
+ bl FUN_02068A80
+ ldrb r1, [r6, r5]
+ mov r2, #0x20
+ lsl r0, r0, #0x1f
+ bic r1, r2
+ lsr r0, r0, #0x1a
+ orr r0, r1
+ strb r0, [r6, r5]
+ add r0, r4, #0
+ mov r1, #0x70
+ mov r2, #0
+ bl FUN_020671BC
+ ldrb r1, [r6, r5]
+ mov r2, #0x1f
+ lsl r0, r0, #0x18
+ bic r1, r2
+ lsr r2, r0, #0x18
+ mov r0, #0x1f
+ and r0, r2
+ orr r0, r1
+ strb r0, [r6, r5]
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ beq _02242E24
+ ldr r2, _02242FAC ; =0x00002D67
+ mov r0, #0
+ add r3, r7, r5
+ add r1, r2, #0
+ strb r0, [r3, r2]
+ add r2, #0x51
+ add r1, #0x45
+ add r2, r7, r2
+ str r0, [r3, r1]
+ add r1, r2, r5
+ str r1, [sp, #8]
+ strh r0, [r2, r5]
+ b _02242E58
+_02242E24:
+ add r0, r4, #0
+ mov r1, #0xa
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FAC ; =0x00002D67
+ add r2, r7, r5
+ strb r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FB0 ; =0x00002DAC
+ add r2, r7, r5
+ str r0, [r2, r1]
+ add r1, #0xc
+ add r6, r7, r1
+ add r0, r6, r5
+ str r0, [sp, #8]
+ add r0, r4, #0
+ mov r1, #6
+ mov r2, #0
+ bl FUN_020671BC
+ strh r0, [r6, r5]
+_02242E58:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ add r6, r0, #0
+ mul r6, r1
+ add r0, r4, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FB4 ; =0x00002D74
+ add r2, r7, r6
+ strb r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #9
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FB8 ; =0x00002D75
+ add r2, r7, r6
+ strb r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FBC ; =0x00002D8C
+ add r2, r7, r6
+ str r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0xa3
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FC0 ; =0x00002D90
+ add r2, r7, r6
+ str r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #8
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FC4 ; =0x00002DA4
+ add r2, r7, r6
+ str r0, [r2, r1]
+ mov r1, #0
+ add r0, r4, #0
+ add r2, r1, #0
+ bl FUN_020671BC
+ ldr r1, _02242FC8 ; =0x00002DA8
+ add r2, r7, r6
+ str r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #7
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _02242FCC ; =0x00002DB4
+ add r2, r7, r6
+ str r0, [r2, r1]
+ add r0, r4, #0
+ mov r1, #0x9c
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x1c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1c
+ ldrb r1, [r1, r5]
+ mov r2, #0xf0
+ lsr r0, r0, #0x18
+ bic r1, r2
+ orr r1, r0
+ ldr r0, [sp, #0x1c]
+ mov r2, #0
+ strb r1, [r0, r5]
+ add r0, r4, #0
+ mov r1, #0x9a
+ bl FUN_020671BC
+ ldr r1, _02242FD0 ; =0x00002DBF
+ add r2, r7, r6
+ strb r0, [r2, r1]
+ mov r0, #5
+ bl FUN_02087A6C
+ mov r1, #0
+ mov r2, #5
+ str r0, [sp, #0x20]
+ bl FUN_02087A98
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0x20]
+ ldrh r1, [r1, r5]
+ bl FUN_02087B78
+ ldr r1, _02242FD4 ; =0x00002D60
+ add r2, r7, r6
+ str r0, [r2, r1]
+ ldr r0, [sp, #0x20]
+ bl FUN_02087B0C
+ ldr r0, [sp, #0x20]
+ bl FUN_02087A84
+ ldr r2, _02242FD8 ; =0x00002D76
+ add r0, r4, #0
+ add r2, r7, r2
+ mov r1, #0x74
+ add r2, r2, r6
+ bl FUN_020671BC
+ ldr r2, _02242FDC ; =0x00002D94
+ add r0, r4, #0
+ add r2, r7, r2
+ mov r1, #0x8f
+ add r2, r2, r6
+ bl FUN_020671BC
+ ldr r0, _02242FE0 ; =0x00002DBC
+ b _02242FE4
+ .align 2, 0
+_02242F4C: .word 0x00002D42
+_02242F50: .word 0x00002D44
+_02242F54: .word 0x00002D46
+_02242F58: .word 0x00002D48
+_02242F5C: .word 0x00002D4A
+_02242F60: .word 0x00002D4C
+_02242F64: .word 0x00002D6C
+_02242F68: .word 0x00002D70
+_02242F6C: .word 0xFFFFFC1F
+_02242F70: .word 0xFFFF83FF
+_02242F74: .word 0xFFF07FFF
+_02242F78: .word 0xFE0FFFFF
+_02242F7C: .word 0xC1FFFFFF
+_02242F80: .word 0xBFFFFFFF
+_02242F84: .word 0x7FFFFFFF
+_02242F88: .word 0x0000213C
+_02242F8C: .word 0x00002D58
+_02242F90: .word 0x00002D68
+_02242F94: .word 0xFFFFFEFF
+_02242F98: .word 0xFFFFFDFF
+_02242F9C: .word 0xFFFFFBFF
+_02242FA0: .word 0x00002D64
+_02242FA4: .word 0x00002D65
+_02242FA8: .word 0x00002D66
+_02242FAC: .word 0x00002D67
+_02242FB0: .word 0x00002DAC
+_02242FB4: .word 0x00002D74
+_02242FB8: .word 0x00002D75
+_02242FBC: .word 0x00002D8C
+_02242FC0: .word 0x00002D90
+_02242FC4: .word 0x00002DA4
+_02242FC8: .word 0x00002DA8
+_02242FCC: .word 0x00002DB4
+_02242FD0: .word 0x00002DBF
+_02242FD4: .word 0x00002D60
+_02242FD8: .word 0x00002D76
+_02242FDC: .word 0x00002D94
+_02242FE0: .word 0x00002DBC
+_02242FE4:
+ mov r2, #0
+ add r1, r7, r6
+ strb r2, [r1, r0]
+ add r0, r0, #1
+ strb r2, [r1, r0]
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ bl MOD11_02230270
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ add r1, r7, r0
+ ldr r0, _02243048 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ lsl r1, r4, #3
+ add r2, r7, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #3
+ lsr r1, r1, #0x1a
+ tst r0, r1
+ beq _0224302C
+ ldr r0, [sp, #8]
+ mov r1, #0
+ strh r1, [r0]
+ ldr r0, _0224304C ; =0x00002DCC
+ add sp, #0x24
+ add r2, r7, r0
+ ldr r1, [r2, r5]
+ ldr r0, _02243050 ; =0xFFBFFFFF
+ and r0, r1
+ str r0, [r2, r5]
+ pop {r4, r5, r6, r7, pc}
+_0224302C:
+ ldr r0, [sp, #8]
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _02243042
+ ldr r0, _0224304C ; =0x00002DCC
+ add r2, r7, r0
+ mov r0, #1
+ ldr r1, [r2, r5]
+ lsl r0, r0, #0x16
+ orr r0, r1
+ str r0, [r2, r5]
+_02243042:
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02243048: .word 0x0000219C
+_0224304C: .word 0x00002DCC
+_02243050: .word 0xFFBFFFFF
+
+ thumb_func_start MOD11_02243054
+MOD11_02243054: ; 0x02243054
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r5, r2, #0
+ str r1, [sp]
+ add r1, r5, #0
+ add r2, r3, #0
+ bl MOD11_02230014
+ mov r1, #0xc0
+ mul r1, r5
+ str r1, [sp, #4]
+ mov r1, #0xa4
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431A8 ; =0x00002D42
+ strh r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa5
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431AC ; =0x00002D44
+ strh r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa6
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431B0 ; =0x00002D46
+ strh r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa7
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431B4 ; =0x00002D48
+ strh r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa8
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431B8 ; =0x00002D4A
+ strh r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431BC ; =0x00002D74
+ strb r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #9
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431C0 ; =0x00002D75
+ strb r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431C4 ; =0x00002D8C
+ str r0, [r2, r1]
+ add r0, r6, #0
+ mov r1, #0xa3
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431C8 ; =0x00002D90
+ str r0, [r2, r1]
+ add r0, r1, #0
+ add r0, #0x20
+ ldr r2, [r2, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r2
+ bne _022431A4
+ mov r0, #0xc0
+ mul r0, r5
+ ldr r2, [sp]
+ str r0, [sp, #8]
+ add r7, r2, r0
+ add r1, #0x3c
+ add r0, r2, #0
+ add r0, r0, r1
+ mov r4, #0
+ add r5, r7, #0
+ str r0, [sp, #0xc]
+_02243142:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r2, [sp, #0xc]
+ ldr r1, [sp, #8]
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1c
+ tst r0, r1
+ bne _02243186
+ add r1, r4, #0
+ add r0, r6, #0
+ add r1, #0x36
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, _022431CC ; =0x00002D4C
+ mov r2, #0
+ strh r0, [r7, r1]
+ add r1, r4, #0
+ add r0, r6, #0
+ add r1, #0x3a
+ bl FUN_020671BC
+ ldr r1, _022431D0 ; =0x00002D6C
+ mov r2, #0
+ strb r0, [r5, r1]
+ add r1, r4, #0
+ add r0, r6, #0
+ add r1, #0x3e
+ bl FUN_020671BC
+ ldr r1, _022431D4 ; =0x00002D70
+ strb r0, [r5, r1]
+_02243186:
+ add r4, r4, #1
+ add r7, r7, #2
+ add r5, r5, #1
+ cmp r4, #4
+ blt _02243142
+ add r0, r6, #0
+ mov r1, #8
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r2, [sp]
+ ldr r1, [sp, #4]
+ add r2, r2, r1
+ ldr r1, _022431D8 ; =0x00002DA4
+ str r0, [r2, r1]
+_022431A4:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022431A8: .word 0x00002D42
+_022431AC: .word 0x00002D44
+_022431B0: .word 0x00002D46
+_022431B4: .word 0x00002D48
+_022431B8: .word 0x00002D4A
+_022431BC: .word 0x00002D74
+_022431C0: .word 0x00002D75
+_022431C4: .word 0x00002D8C
+_022431C8: .word 0x00002D90
+_022431CC: .word 0x00002D4C
+_022431D0: .word 0x00002D6C
+_022431D4: .word 0x00002D70
+_022431D8: .word 0x00002DA4
+
+ thumb_func_start MOD11_022431DC
+MOD11_022431DC: ; 0x022431DC
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r2, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ add r1, r6, #0
+ bl LoadFromNARC_7
+ mov r1, #0x19
+ lsl r1, r1, #6
+ cmp r0, r1
+ blo _022431F8
+ bl ErrorHandling
+_022431F8:
+ add r0, r5, #0
+ add r0, #0xac
+ str r4, [r0]
+ add r0, r5, #0
+ add r0, #0xb0
+ str r6, [r0]
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ mov r0, #0x27
+ lsl r0, r0, #8
+ add r0, r5, r0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl LoadFromNARC
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0224321C
+MOD11_0224321C: ; 0x0224321C
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r2, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ add r1, r6, #0
+ bl LoadFromNARC_7
+ mov r1, #0x19
+ lsl r1, r1, #6
+ cmp r0, r1
+ blo _02243238
+ bl ErrorHandling
+_02243238:
+ add r0, r5, #0
+ add r0, #0xb8
+ ldr r0, [r0]
+ cmp r0, #4
+ blt _02243246
+ bl ErrorHandling
+_02243246:
+ add r1, r5, #0
+ add r1, #0xb8
+ ldr r1, [r1]
+ add r0, r5, #0
+ add r0, #0xac
+ lsl r1, r1, #2
+ add r1, r5, r1
+ ldr r0, [r0]
+ add r1, #0xbc
+ str r0, [r1]
+ add r1, r5, #0
+ add r1, #0xb8
+ ldr r1, [r1]
+ add r0, r5, #0
+ add r0, #0xb0
+ lsl r1, r1, #2
+ add r1, r5, r1
+ ldr r0, [r0]
+ add r1, #0xcc
+ str r0, [r1]
+ add r1, r5, #0
+ add r1, #0xb8
+ ldr r1, [r1]
+ add r0, r5, #0
+ add r0, #0xb4
+ lsl r1, r1, #2
+ add r1, r5, r1
+ ldr r0, [r0]
+ add r1, #0xdc
+ str r0, [r1]
+ add r0, r5, #0
+ add r0, #0xb8
+ ldr r0, [r0]
+ add r2, r6, #0
+ add r1, r0, #1
+ add r0, r5, #0
+ add r0, #0xb8
+ str r1, [r0]
+ add r0, r5, #0
+ add r0, #0xac
+ str r4, [r0]
+ add r0, r5, #0
+ add r0, #0xb0
+ str r6, [r0]
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0xb4
+ str r1, [r0]
+ mov r0, #0x27
+ lsl r0, r0, #8
+ add r0, r5, r0
+ add r1, r4, #0
+ bl LoadFromNARC
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_022432B4
+MOD11_022432B4: ; 0x022432B4
+ push {r4, lr}
+ add r4, r0, #0
+ add r1, r4, #0
+ add r1, #0xb8
+ ldr r1, [r1]
+ cmp r1, #0
+ beq _022432FE
+ add r1, r4, #0
+ add r1, #0xb8
+ ldr r1, [r1]
+ sub r2, r1, #1
+ add r1, r4, #0
+ add r1, #0xb8
+ str r2, [r1]
+ add r1, r4, #0
+ add r1, #0xb8
+ ldr r1, [r1]
+ lsl r2, r1, #2
+ add r1, r4, r2
+ add r2, r4, r2
+ add r1, #0xbc
+ add r2, #0xcc
+ ldr r1, [r1]
+ ldr r2, [r2]
+ bl MOD11_022431DC
+ add r0, r4, #0
+ add r0, #0xb8
+ ldr r0, [r0]
+ lsl r0, r0, #2
+ add r0, r4, r0
+ add r0, #0xdc
+ ldr r0, [r0]
+ add r4, #0xb4
+ str r0, [r4]
+ mov r0, #0
+ pop {r4, pc}
+_022432FE:
+ mov r0, #1
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02243304
+MOD11_02243304: ; 0x02243304
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r0, #0
+ lsl r0, r1, #6
+ lsl r6, r2, #4
+ add r1, r4, r0
+ add r5, r1, r6
+ mov r1, #0x22
+ add r7, r3, #0
+ mov r3, #0
+ lsl r1, r1, #8
+_02243318:
+ ldrb r2, [r5, r1]
+ cmp r2, #0
+ bne _0224332C
+ add r0, r4, r0
+ add r0, r0, r6
+ add r1, r0, r3
+ mov r0, #0x22
+ lsl r0, r0, #8
+ strb r7, [r1, r0]
+ b _02243334
+_0224332C:
+ add r3, r3, #1
+ add r5, r5, #1
+ cmp r3, #0x10
+ blt _02243318
+_02243334:
+ cmp r3, #0x10
+ blt _0224333C
+ bl ErrorHandling
+_0224333C:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02243340
+MOD11_02243340: ; 0x02243340
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r5, r1, #0
+ str r2, [sp]
+ add r4, r3, #0
+ bne _02243350
+ bl ErrorHandling
+_02243350:
+ ldr r0, [sp]
+ lsl r6, r5, #6
+ lsl r5, r0, #4
+ add r0, r7, r6
+ add r3, r0, r5
+ mov r0, #0x22
+ mov r2, #0
+ lsl r0, r0, #8
+_02243360:
+ ldrb r1, [r3, r0]
+ cmp r4, r1
+ bne _02243376
+ add r1, r7, r6
+ add r1, r1, r5
+ add r3, r1, r2
+ mov r1, #0x22
+ mov r0, #0
+ lsl r1, r1, #8
+ strb r0, [r3, r1]
+ b _0224337E
+_02243376:
+ add r2, r2, #1
+ add r3, r3, #1
+ cmp r2, #0x10
+ blt _02243360
+_0224337E:
+ cmp r2, #0x10
+ blt _02243386
+ bl ErrorHandling
+_02243386:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02243388
+MOD11_02243388: ; 0x02243388
+ push {r3, r4, r5, r6, r7, lr}
+ mov r2, #0
+ mov r4, #0x22
+ mov lr, r0
+ mov ip, r2
+ add r7, r0, #0
+ add r6, r2, #0
+ lsl r4, r4, #8
+_02243398:
+ mov r0, #0
+ add r3, r7, #0
+_0224339C:
+ add r1, r6, #0
+_0224339E:
+ add r5, r3, r1
+ ldrb r5, [r5, r4]
+ add r1, r1, #1
+ add r2, r2, r5
+ cmp r1, #0x10
+ blt _0224339E
+ add r0, r0, #1
+ add r3, #0x10
+ cmp r0, #4
+ blt _0224339C
+ mov r0, ip
+ add r0, r0, #1
+ add r7, #0x40
+ mov ip, r0
+ cmp r0, #4
+ blt _02243398
+ cmp r2, #0
+ bne _022433CA
+ ldr r1, _022433D8 ; =0x00003148
+ mov r3, #0
+ mov r0, lr
+ str r3, [r0, r1]
+_022433CA:
+ cmp r2, #0
+ bne _022433D2
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_022433D2:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022433D8: .word 0x00003148
+
+ thumb_func_start MOD11_022433DC
+MOD11_022433DC: ; 0x022433DC
+ push {r3, lr}
+ ldr r1, _022433F8 ; =0x00003148
+ ldr r2, [r0, r1]
+ add r2, r2, #1
+ str r2, [r0, r1]
+ ldr r1, [r0, r1]
+ ldr r0, _022433FC ; =0x00000708
+ cmp r1, r0
+ ble _022433F4
+ mov r0, #1
+ bl FUN_020336A0
+_022433F4:
+ pop {r3, pc}
+ nop
+_022433F8: .word 0x00003148
+_022433FC: .word 0x00000708
+
+ thumb_func_start MOD11_02243400
+MOD11_02243400: ; 0x02243400
+ push {r3, r4}
+ lsl r1, r1, #8
+ add r4, r0, r1
+ mov r3, #0
+ mov r0, #0x23
+ mov r1, #1
+ add r2, r3, #0
+ lsl r0, r0, #8
+ lsl r1, r1, #8
+_02243412:
+ add r3, r3, #1
+ strb r2, [r4, r0]
+ add r4, r4, #1
+ cmp r3, r1
+ blt _02243412
+ pop {r3, r4}
+ bx lr
+
+ thumb_func_start MOD11_02243420
+MOD11_02243420: ; 0x02243420
+ push {r4, r5, r6, lr}
+ mov r4, #0xb5
+ lsl r4, r4, #6
+ add r5, r0, r4
+ mov r6, #0xc0
+ add r4, r1, #0
+ mul r4, r6
+ add r4, r5, r4
+ cmp r2, #0x64
+ bls _02243436
+ b _02243794
+_02243436:
+ add r5, r2, r2
+ add r5, pc
+ ldrh r5, [r5, #6]
+ lsl r5, r5, #0x10
+ asr r5, r5, #0x10
+ add pc, r5
+_02243442: ; jump table
+ .short _0224350C - _02243442 - 2 ; case 0
+ .short _02243510 - _02243442 - 2 ; case 1
+ .short _02243514 - _02243442 - 2 ; case 2
+ .short _02243518 - _02243442 - 2 ; case 3
+ .short _0224351C - _02243442 - 2 ; case 4
+ .short _02243520 - _02243442 - 2 ; case 5
+ .short _02243524 - _02243442 - 2 ; case 6
+ .short _02243524 - _02243442 - 2 ; case 7
+ .short _02243524 - _02243442 - 2 ; case 8
+ .short _02243524 - _02243442 - 2 ; case 9
+ .short _0224352E - _02243442 - 2 ; case 10
+ .short _02243536 - _02243442 - 2 ; case 11
+ .short _0224353E - _02243442 - 2 ; case 12
+ .short _02243546 - _02243442 - 2 ; case 13
+ .short _0224354E - _02243442 - 2 ; case 14
+ .short _02243556 - _02243442 - 2 ; case 15
+ .short _0224355E - _02243442 - 2 ; case 16
+ .short _02243566 - _02243442 - 2 ; case 17
+ .short _0224356C - _02243442 - 2 ; case 18
+ .short _0224356C - _02243442 - 2 ; case 19
+ .short _0224356C - _02243442 - 2 ; case 20
+ .short _0224356C - _02243442 - 2 ; case 21
+ .short _0224356C - _02243442 - 2 ; case 22
+ .short _0224356C - _02243442 - 2 ; case 23
+ .short _0224356C - _02243442 - 2 ; case 24
+ .short _0224356C - _02243442 - 2 ; case 25
+ .short _02243576 - _02243442 - 2 ; case 26
+ .short _0224357C - _02243442 - 2 ; case 27
+ .short _0224357C - _02243442 - 2 ; case 28
+ .short _02243582 - _02243442 - 2 ; case 29
+ .short _0224358C - _02243442 - 2 ; case 30
+ .short _02243596 - _02243442 - 2 ; case 31
+ .short _02243596 - _02243442 - 2 ; case 32
+ .short _02243596 - _02243442 - 2 ; case 33
+ .short _02243596 - _02243442 - 2 ; case 34
+ .short _022435A0 - _02243442 - 2 ; case 35
+ .short _022435A0 - _02243442 - 2 ; case 36
+ .short _022435A0 - _02243442 - 2 ; case 37
+ .short _022435A0 - _02243442 - 2 ; case 38
+ .short _022435AA - _02243442 - 2 ; case 39
+ .short _022435AA - _02243442 - 2 ; case 40
+ .short _022435AA - _02243442 - 2 ; case 41
+ .short _022435AA - _02243442 - 2 ; case 42
+ .short _022435BE - _02243442 - 2 ; case 43
+ .short _022435C4 - _02243442 - 2 ; case 44
+ .short _022435CA - _02243442 - 2 ; case 45
+ .short _022435DC - _02243442 - 2 ; case 46
+ .short _022435E8 - _02243442 - 2 ; case 47
+ .short _022435EC - _02243442 - 2 ; case 48
+ .short _022435F0 - _02243442 - 2 ; case 49
+ .short _02243606 - _02243442 - 2 ; case 50
+ .short _0224360A - _02243442 - 2 ; case 51
+ .short _0224360E - _02243442 - 2 ; case 52
+ .short _02243612 - _02243442 - 2 ; case 53
+ .short _02243616 - _02243442 - 2 ; case 54
+ .short _0224361A - _02243442 - 2 ; case 55
+ .short _02243620 - _02243442 - 2 ; case 56
+ .short _02243626 - _02243442 - 2 ; case 57
+ .short _0224362C - _02243442 - 2 ; case 58
+ .short _02243636 - _02243442 - 2 ; case 59
+ .short _0224363C - _02243442 - 2 ; case 60
+ .short _02243642 - _02243442 - 2 ; case 61
+ .short _0224364C - _02243442 - 2 ; case 62
+ .short _02243656 - _02243442 - 2 ; case 63
+ .short _02243660 - _02243442 - 2 ; case 64
+ .short _0224366A - _02243442 - 2 ; case 65
+ .short _02243674 - _02243442 - 2 ; case 66
+ .short _0224367E - _02243442 - 2 ; case 67
+ .short _02243688 - _02243442 - 2 ; case 68
+ .short _02243692 - _02243442 - 2 ; case 69
+ .short _0224369C - _02243442 - 2 ; case 70
+ .short _022436A6 - _02243442 - 2 ; case 71
+ .short _022436B0 - _02243442 - 2 ; case 72
+ .short _022436BA - _02243442 - 2 ; case 73
+ .short _022436C2 - _02243442 - 2 ; case 74
+ .short _022436CC - _02243442 - 2 ; case 75
+ .short _022436D6 - _02243442 - 2 ; case 76
+ .short _022436E0 - _02243442 - 2 ; case 77
+ .short _022436EA - _02243442 - 2 ; case 78
+ .short _022436F4 - _02243442 - 2 ; case 79
+ .short _022436FE - _02243442 - 2 ; case 80
+ .short _02243708 - _02243442 - 2 ; case 81
+ .short _02243712 - _02243442 - 2 ; case 82
+ .short _0224371C - _02243442 - 2 ; case 83
+ .short _02243726 - _02243442 - 2 ; case 84
+ .short _02243730 - _02243442 - 2 ; case 85
+ .short _0224373A - _02243442 - 2 ; case 86
+ .short _02243744 - _02243442 - 2 ; case 87
+ .short _0224374A - _02243442 - 2 ; case 88
+ .short _02243750 - _02243442 - 2 ; case 89
+ .short _02243756 - _02243442 - 2 ; case 90
+ .short _0224375C - _02243442 - 2 ; case 91
+ .short _02243762 - _02243442 - 2 ; case 92
+ .short _02243768 - _02243442 - 2 ; case 93
+ .short _0224376E - _02243442 - 2 ; case 94
+ .short _02243774 - _02243442 - 2 ; case 95
+ .short _0224377A - _02243442 - 2 ; case 96
+ .short _02243782 - _02243442 - 2 ; case 97
+ .short _02243794 - _02243442 - 2 ; case 98
+ .short _02243794 - _02243442 - 2 ; case 99
+ .short _0224378A - _02243442 - 2 ; case 100
+_0224350C:
+ ldrh r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243510:
+ ldrh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02243514:
+ ldrh r0, [r4, #4]
+ pop {r4, r5, r6, pc}
+_02243518:
+ ldrh r0, [r4, #6]
+ pop {r4, r5, r6, pc}
+_0224351C:
+ ldrh r0, [r4, #8]
+ pop {r4, r5, r6, pc}
+_02243520:
+ ldrh r0, [r4, #0xa]
+ pop {r4, r5, r6, pc}
+_02243524:
+ sub r0, r2, #6
+ lsl r0, r0, #1
+ add r0, r4, r0
+ ldrh r0, [r0, #0xc]
+ pop {r4, r5, r6, pc}
+_0224352E:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ pop {r4, r5, r6, pc}
+_02243536:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1b
+ pop {r4, r5, r6, pc}
+_0224353E:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1b
+ pop {r4, r5, r6, pc}
+_02243546:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #0xc
+ lsr r0, r0, #0x1b
+ pop {r4, r5, r6, pc}
+_0224354E:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #7
+ lsr r0, r0, #0x1b
+ pop {r4, r5, r6, pc}
+_02243556:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #2
+ lsr r0, r0, #0x1b
+ pop {r4, r5, r6, pc}
+_0224355E:
+ ldr r0, [r4, #0x14]
+ lsl r0, r0, #1
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_02243566:
+ ldr r0, [r4, #0x14]
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_0224356C:
+ sub r2, #0x12
+ add r1, r4, r2
+ mov r0, #0x18
+ ldrsb r0, [r1, r0]
+ pop {r4, r5, r6, pc}
+_02243576:
+ add r4, #0x27
+ ldrb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224357C:
+ bl MOD11_0224C740
+ pop {r4, r5, r6, pc}
+_02243582:
+ add r4, #0x7e
+ ldrb r0, [r4]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ pop {r4, r5, r6, pc}
+_0224358C:
+ add r4, #0x26
+ ldrb r0, [r4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_02243596:
+ sub r2, #0x1f
+ add r0, r4, r2
+ add r0, #0x2c
+ ldrb r0, [r0]
+ pop {r4, r5, r6, pc}
+_022435A0:
+ sub r2, #0x23
+ add r0, r4, r2
+ add r0, #0x30
+ ldrb r0, [r0]
+ pop {r4, r5, r6, pc}
+_022435AA:
+ sub r2, #0x27
+ lsl r0, r2, #1
+ add r1, r4, r2
+ add r0, r4, r0
+ add r1, #0x30
+ ldrh r0, [r0, #0xc]
+ ldrb r1, [r1]
+ bl FUN_0206AB30
+ pop {r4, r5, r6, pc}
+_022435BE:
+ add r4, #0x34
+ ldrb r0, [r4]
+ pop {r4, r5, r6, pc}
+_022435C4:
+ add r4, #0x35
+ ldrb r0, [r4]
+ pop {r4, r5, r6, pc}
+_022435CA:
+ mov r1, #0
+_022435CC:
+ ldrh r0, [r4, #0x36]
+ add r1, r1, #1
+ add r4, r4, #2
+ strh r0, [r3]
+ add r3, r3, #2
+ cmp r1, #0xb
+ blt _022435CC
+ b _02243798
+_022435DC:
+ add r4, #0x36
+ add r0, r3, #0
+ add r1, r4, #0
+ bl FUN_02021E28
+ b _02243798
+_022435E8:
+ ldr r0, [r4, #0x4c]
+ pop {r4, r5, r6, pc}
+_022435EC:
+ ldr r0, [r4, #0x50]
+ pop {r4, r5, r6, pc}
+_022435F0:
+ mov r1, #0
+_022435F2:
+ add r0, r4, #0
+ add r0, #0x54
+ ldrh r0, [r0]
+ add r1, r1, #1
+ add r4, r4, #2
+ strh r0, [r3]
+ add r3, r3, #2
+ cmp r1, #0xb
+ blt _022435F2
+ b _02243798
+_02243606:
+ ldr r0, [r4, #0x64]
+ pop {r4, r5, r6, pc}
+_0224360A:
+ ldr r0, [r4, #0x68]
+ pop {r4, r5, r6, pc}
+_0224360E:
+ ldr r0, [r4, #0x6c]
+ pop {r4, r5, r6, pc}
+_02243612:
+ ldr r0, [r4, #0x70]
+ pop {r4, r5, r6, pc}
+_02243616:
+ ldr r0, [r4, #0x74]
+ pop {r4, r5, r6, pc}
+_0224361A:
+ add r4, #0x78
+ ldrh r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243620:
+ add r4, #0x7c
+ ldrb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243626:
+ add r4, #0x7d
+ ldrb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224362C:
+ add r4, #0x7e
+ ldrb r0, [r4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ pop {r4, r5, r6, pc}
+_02243636:
+ add r4, #0x80
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224363C:
+ add r4, #0x84
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243642:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_0224364C:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_02243656:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1e
+ pop {r4, r5, r6, pc}
+_02243660:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_0224366A:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x1e
+ pop {r4, r5, r6, pc}
+_02243674:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1e
+ pop {r4, r5, r6, pc}
+_0224367E:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0xe
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_02243688:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #0xb
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_02243692:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #8
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_0224369C:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #5
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_022436A6:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #2
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_022436B0:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsl r0, r0, #1
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_022436BA:
+ add r4, #0x88
+ ldr r0, [r4]
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_022436C2:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1e
+ pop {r4, r5, r6, pc}
+_022436CC:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1c
+ pop {r4, r5, r6, pc}
+_022436D6:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1e
+ pop {r4, r5, r6, pc}
+_022436E0:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1e
+ pop {r4, r5, r6, pc}
+_022436EA:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_022436F4:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_022436FE:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0xd
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_02243708:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #0xa
+ lsr r0, r0, #0x1d
+ pop {r4, r5, r6, pc}
+_02243712:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #9
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_0224371C:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #5
+ lsr r0, r0, #0x1c
+ pop {r4, r5, r6, pc}
+_02243726:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #4
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_02243730:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #3
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_0224373A:
+ add r4, #0x8c
+ ldr r0, [r4]
+ lsl r0, r0, #2
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_02243744:
+ add r4, #0x90
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224374A:
+ add r4, #0x94
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243750:
+ add r4, #0x98
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243756:
+ add r4, #0xa0
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224375C:
+ add r4, #0xa4
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243762:
+ add r4, #0xa8
+ ldrh r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243768:
+ add r4, #0xac
+ ldrh r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224376E:
+ add r4, #0xaa
+ ldrh r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243774:
+ add r4, #0xbc
+ ldr r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224377A:
+ ldr r0, [r4, #0x28]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_02243782:
+ ldr r0, [r4, #0x28]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ pop {r4, r5, r6, pc}
+_0224378A:
+ add r6, #0x78
+ ldr r2, [r0, r6]
+ bl MOD11_02243420
+ pop {r4, r5, r6, pc}
+_02243794:
+ bl ErrorHandling
+_02243798:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0224379C
+MOD11_0224379C: ; 0x0224379C
+ push {r4, r5, r6, lr}
+ add r5, r2, #0
+ mov r2, #0xb5
+ lsl r2, r2, #6
+ add r4, r0, r2
+ mov r6, #0xc0
+ add r2, r1, #0
+ mul r2, r6
+ add r2, r4, r2
+ cmp r5, #0x64
+ bls _022437B4
+ b _02243D9E
+_022437B4:
+ add r4, r5, r5
+ add r4, pc
+ ldrh r4, [r4, #6]
+ lsl r4, r4, #0x10
+ asr r4, r4, #0x10
+ add pc, r4
+_022437C0: ; jump table
+ .short _0224388A - _022437C0 - 2 ; case 0
+ .short _02243890 - _022437C0 - 2 ; case 1
+ .short _02243896 - _022437C0 - 2 ; case 2
+ .short _0224389C - _022437C0 - 2 ; case 3
+ .short _022438A2 - _022437C0 - 2 ; case 4
+ .short _022438A8 - _022437C0 - 2 ; case 5
+ .short _022438AE - _022437C0 - 2 ; case 6
+ .short _022438AE - _022437C0 - 2 ; case 7
+ .short _022438AE - _022437C0 - 2 ; case 8
+ .short _022438AE - _022437C0 - 2 ; case 9
+ .short _022438BA - _022437C0 - 2 ; case 10
+ .short _022438CC - _022437C0 - 2 ; case 11
+ .short _022438DE - _022437C0 - 2 ; case 12
+ .short _022438F0 - _022437C0 - 2 ; case 13
+ .short _02243902 - _022437C0 - 2 ; case 14
+ .short _02243914 - _022437C0 - 2 ; case 15
+ .short _02243926 - _022437C0 - 2 ; case 16
+ .short _02243938 - _022437C0 - 2 ; case 17
+ .short _02243948 - _022437C0 - 2 ; case 18
+ .short _02243948 - _022437C0 - 2 ; case 19
+ .short _02243948 - _022437C0 - 2 ; case 20
+ .short _02243948 - _022437C0 - 2 ; case 21
+ .short _02243948 - _022437C0 - 2 ; case 22
+ .short _02243948 - _022437C0 - 2 ; case 23
+ .short _02243948 - _022437C0 - 2 ; case 24
+ .short _02243948 - _022437C0 - 2 ; case 25
+ .short _02243954 - _022437C0 - 2 ; case 26
+ .short _0224395C - _022437C0 - 2 ; case 27
+ .short _02243964 - _022437C0 - 2 ; case 28
+ .short _0224396C - _022437C0 - 2 ; case 29
+ .short _02243984 - _022437C0 - 2 ; case 30
+ .short _0224399C - _022437C0 - 2 ; case 31
+ .short _0224399C - _022437C0 - 2 ; case 32
+ .short _0224399C - _022437C0 - 2 ; case 33
+ .short _0224399C - _022437C0 - 2 ; case 34
+ .short _022439A8 - _022437C0 - 2 ; case 35
+ .short _022439A8 - _022437C0 - 2 ; case 36
+ .short _022439A8 - _022437C0 - 2 ; case 37
+ .short _022439A8 - _022437C0 - 2 ; case 38
+ .short _022439B4 - _022437C0 - 2 ; case 39
+ .short _022439B4 - _022437C0 - 2 ; case 40
+ .short _022439B4 - _022437C0 - 2 ; case 41
+ .short _022439B4 - _022437C0 - 2 ; case 42
+ .short _022439BA - _022437C0 - 2 ; case 43
+ .short _022439C2 - _022437C0 - 2 ; case 44
+ .short _022439CA - _022437C0 - 2 ; case 45
+ .short _02243D9E - _022437C0 - 2 ; case 46
+ .short _022439DC - _022437C0 - 2 ; case 47
+ .short _022439E4 - _022437C0 - 2 ; case 48
+ .short _022439EA - _022437C0 - 2 ; case 49
+ .short _02243A00 - _022437C0 - 2 ; case 50
+ .short _02243A06 - _022437C0 - 2 ; case 51
+ .short _02243A0C - _022437C0 - 2 ; case 52
+ .short _02243A12 - _022437C0 - 2 ; case 53
+ .short _02243A18 - _022437C0 - 2 ; case 54
+ .short _02243A1E - _022437C0 - 2 ; case 55
+ .short _02243A26 - _022437C0 - 2 ; case 56
+ .short _02243A2E - _022437C0 - 2 ; case 57
+ .short _02243A36 - _022437C0 - 2 ; case 58
+ .short _02243A4E - _022437C0 - 2 ; case 59
+ .short _02243A56 - _022437C0 - 2 ; case 60
+ .short _02243A5E - _022437C0 - 2 ; case 61
+ .short _02243A76 - _022437C0 - 2 ; case 62
+ .short _02243A8E - _022437C0 - 2 ; case 63
+ .short _02243AA6 - _022437C0 - 2 ; case 64
+ .short _02243ABE - _022437C0 - 2 ; case 65
+ .short _02243AD6 - _022437C0 - 2 ; case 66
+ .short _02243AEE - _022437C0 - 2 ; case 67
+ .short _02243B06 - _022437C0 - 2 ; case 68
+ .short _02243B1E - _022437C0 - 2 ; case 69
+ .short _02243B36 - _022437C0 - 2 ; case 70
+ .short _02243B4E - _022437C0 - 2 ; case 71
+ .short _02243B66 - _022437C0 - 2 ; case 72
+ .short _02243B7E - _022437C0 - 2 ; case 73
+ .short _02243B94 - _022437C0 - 2 ; case 74
+ .short _02243BAC - _022437C0 - 2 ; case 75
+ .short _02243BC4 - _022437C0 - 2 ; case 76
+ .short _02243BDC - _022437C0 - 2 ; case 77
+ .short _02243BF4 - _022437C0 - 2 ; case 78
+ .short _02243C0C - _022437C0 - 2 ; case 79
+ .short _02243C24 - _022437C0 - 2 ; case 80
+ .short _02243C3C - _022437C0 - 2 ; case 81
+ .short _02243C54 - _022437C0 - 2 ; case 82
+ .short _02243C6C - _022437C0 - 2 ; case 83
+ .short _02243CE0 - _022437C0 - 2 ; case 84
+ .short _02243CF8 - _022437C0 - 2 ; case 85
+ .short _02243D10 - _022437C0 - 2 ; case 86
+ .short _02243D28 - _022437C0 - 2 ; case 87
+ .short _02243D30 - _022437C0 - 2 ; case 88
+ .short _02243D38 - _022437C0 - 2 ; case 89
+ .short _02243D40 - _022437C0 - 2 ; case 90
+ .short _02243D48 - _022437C0 - 2 ; case 91
+ .short _02243D50 - _022437C0 - 2 ; case 92
+ .short _02243D58 - _022437C0 - 2 ; case 93
+ .short _02243D60 - _022437C0 - 2 ; case 94
+ .short _02243D68 - _022437C0 - 2 ; case 95
+ .short _02243D70 - _022437C0 - 2 ; case 96
+ .short _02243D82 - _022437C0 - 2 ; case 97
+ .short _02243D9E - _022437C0 - 2 ; case 98
+ .short _02243D9E - _022437C0 - 2 ; case 99
+ .short _02243D94 - _022437C0 - 2 ; case 100
+_0224388A:
+ ldrh r0, [r3]
+ strh r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243890:
+ ldrh r0, [r3]
+ strh r0, [r2, #2]
+ pop {r4, r5, r6, pc}
+_02243896:
+ ldrh r0, [r3]
+ strh r0, [r2, #4]
+ pop {r4, r5, r6, pc}
+_0224389C:
+ ldrh r0, [r3]
+ strh r0, [r2, #6]
+ pop {r4, r5, r6, pc}
+_022438A2:
+ ldrh r0, [r3]
+ strh r0, [r2, #8]
+ pop {r4, r5, r6, pc}
+_022438A8:
+ ldrh r0, [r3]
+ strh r0, [r2, #0xa]
+ pop {r4, r5, r6, pc}
+_022438AE:
+ sub r0, r5, #6
+ lsl r0, r0, #1
+ ldrh r1, [r3]
+ add r0, r2, r0
+ strh r1, [r0, #0xc]
+ pop {r4, r5, r6, pc}
+_022438BA:
+ ldr r4, [r2, #0x14]
+ mov r0, #0x1f
+ bic r4, r0
+ ldrb r1, [r3]
+ mov r0, #0x1f
+ and r0, r1
+ orr r0, r4
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_022438CC:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C78 ; =0xFFFFFC1F
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x16
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_022438DE:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C7C ; =0xFFFF83FF
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x11
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_022438F0:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C80 ; =0xFFF07FFF
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0xc
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_02243902:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C84 ; =0xFE0FFFFF
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #7
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_02243914:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C88 ; =0xC1FFFFFF
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #2
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_02243926:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C8C ; =0xBFFFFFFF
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #1
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_02243938:
+ ldr r1, [r2, #0x14]
+ ldr r0, _02243C90 ; =0x7FFFFFFF
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ orr r0, r1
+ str r0, [r2, #0x14]
+ pop {r4, r5, r6, pc}
+_02243948:
+ mov r0, #0
+ ldrsb r1, [r3, r0]
+ sub r5, #0x12
+ add r0, r2, r5
+ strb r1, [r0, #0x18]
+ pop {r4, r5, r6, pc}
+_02243954:
+ ldrb r0, [r3]
+ add r2, #0x27
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_0224395C:
+ ldrb r0, [r3]
+ add r2, #0x24
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243964:
+ ldrb r0, [r3]
+ add r2, #0x25
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_0224396C:
+ add r0, r2, #0
+ add r0, #0x7e
+ ldrb r4, [r0]
+ ldrb r1, [r3]
+ mov r0, #0xf
+ bic r4, r0
+ mov r0, #0xf
+ and r0, r1
+ orr r0, r4
+ add r2, #0x7e
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243984:
+ add r0, r2, #0
+ add r0, #0x26
+ ldrb r1, [r0]
+ mov r0, #0x20
+ add r2, #0x26
+ bic r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1a
+ orr r0, r1
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_0224399C:
+ sub r5, #0x1f
+ add r0, r2, r5
+ ldrb r1, [r3]
+ add r0, #0x2c
+ strb r1, [r0]
+ pop {r4, r5, r6, pc}
+_022439A8:
+ sub r5, #0x23
+ add r0, r2, r5
+ ldrb r1, [r3]
+ add r0, #0x30
+ strb r1, [r0]
+ pop {r4, r5, r6, pc}
+_022439B4:
+ bl ErrorHandling
+ pop {r4, r5, r6, pc}
+_022439BA:
+ ldrb r0, [r3]
+ add r2, #0x34
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_022439C2:
+ ldrb r0, [r3]
+ add r2, #0x35
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_022439CA:
+ mov r1, #0
+_022439CC:
+ ldrh r0, [r3]
+ add r1, r1, #1
+ add r3, r3, #2
+ strh r0, [r2, #0x36]
+ add r2, r2, #2
+ cmp r1, #0xb
+ blt _022439CC
+ pop {r4, r5, r6, pc}
+_022439DC:
+ mov r0, #0
+ ldrsh r0, [r3, r0]
+ str r0, [r2, #0x4c]
+ pop {r4, r5, r6, pc}
+_022439E4:
+ ldrh r0, [r3]
+ str r0, [r2, #0x50]
+ pop {r4, r5, r6, pc}
+_022439EA:
+ mov r4, #0
+_022439EC:
+ ldrh r1, [r3]
+ add r0, r2, #0
+ add r0, #0x54
+ add r4, r4, #1
+ strh r1, [r0]
+ add r3, r3, #2
+ add r2, r2, #2
+ cmp r4, #0xb
+ blt _022439EC
+ pop {r4, r5, r6, pc}
+_02243A00:
+ ldr r0, [r3]
+ str r0, [r2, #0x64]
+ pop {r4, r5, r6, pc}
+_02243A06:
+ ldr r0, [r3]
+ str r0, [r2, #0x68]
+ pop {r4, r5, r6, pc}
+_02243A0C:
+ ldr r0, [r3]
+ str r0, [r2, #0x6c]
+ pop {r4, r5, r6, pc}
+_02243A12:
+ ldr r0, [r3]
+ str r0, [r2, #0x70]
+ pop {r4, r5, r6, pc}
+_02243A18:
+ ldr r0, [r3]
+ str r0, [r2, #0x74]
+ pop {r4, r5, r6, pc}
+_02243A1E:
+ ldrh r0, [r3]
+ add r2, #0x78
+ strh r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A26:
+ ldrb r0, [r3]
+ add r2, #0x7c
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A2E:
+ ldrb r0, [r3]
+ add r2, #0x7d
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A36:
+ add r0, r2, #0
+ add r0, #0x7e
+ ldrb r1, [r0]
+ mov r0, #0xf0
+ add r2, #0x7e
+ bic r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x18
+ orr r0, r1
+ strb r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A4E:
+ ldr r0, [r3]
+ add r2, #0x80
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A56:
+ ldr r0, [r3]
+ add r2, #0x84
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A5E:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r4, [r0]
+ mov r0, #7
+ bic r4, r0
+ ldrb r1, [r3]
+ mov r0, #7
+ add r2, #0x88
+ and r0, r1
+ orr r0, r4
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A76:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ mov r0, #0x38
+ bic r1, r0
+ ldrb r0, [r3]
+ add r2, #0x88
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1a
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243A8E:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ mov r0, #0xc0
+ bic r1, r0
+ ldrb r0, [r3]
+ add r2, #0x88
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x18
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243AA6:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243C94 ; =0xFFFFF8FF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x15
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243ABE:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243C98 ; =0xFFFFE7FF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x13
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243AD6:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243C9C ; =0xFFFF9FFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x11
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243AEE:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243CA0 ; =0xFFFC7FFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0xe
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B06:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243CA4 ; =0xFFE3FFFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0xb
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B1E:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243CA8 ; =0xFF1FFFFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #8
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B36:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243CAC ; =0xF8FFFFFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #5
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B4E:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243CB0 ; =0xC7FFFFFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #2
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B66:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243C8C ; =0xBFFFFFFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #1
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B7E:
+ add r0, r2, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02243C90 ; =0x7FFFFFFF
+ add r2, #0x88
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243B94:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r4, [r0]
+ mov r0, #3
+ bic r4, r0
+ ldrb r1, [r3]
+ mov r0, #3
+ add r2, #0x8c
+ and r0, r1
+ orr r0, r4
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243BAC:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ mov r0, #0x3c
+ bic r1, r0
+ ldrb r0, [r3]
+ add r2, #0x8c
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1a
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243BC4:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ mov r0, #0xc0
+ bic r1, r0
+ ldrb r0, [r3]
+ add r2, #0x8c
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x18
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243BDC:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CB4 ; =0xFFFFFCFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x16
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243BF4:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CB8 ; =0xFFFFE3FF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x13
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243C0C:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CBC ; =0xFFFF1FFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x10
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243C24:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CC0 ; =0xFFF8FFFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0xd
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243C3C:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CC4 ; =0xFFC7FFFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0xa
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243C54:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CC8 ; =0xFFBFFFFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #9
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243C6C:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243CCC ; =0xF87FFFFF
+ b _02243CD0
+ nop
+_02243C78: .word 0xFFFFFC1F
+_02243C7C: .word 0xFFFF83FF
+_02243C80: .word 0xFFF07FFF
+_02243C84: .word 0xFE0FFFFF
+_02243C88: .word 0xC1FFFFFF
+_02243C8C: .word 0xBFFFFFFF
+_02243C90: .word 0x7FFFFFFF
+_02243C94: .word 0xFFFFF8FF
+_02243C98: .word 0xFFFFE7FF
+_02243C9C: .word 0xFFFF9FFF
+_02243CA0: .word 0xFFFC7FFF
+_02243CA4: .word 0xFFE3FFFF
+_02243CA8: .word 0xFF1FFFFF
+_02243CAC: .word 0xF8FFFFFF
+_02243CB0: .word 0xC7FFFFFF
+_02243CB4: .word 0xFFFFFCFF
+_02243CB8: .word 0xFFFFE3FF
+_02243CBC: .word 0xFFFF1FFF
+_02243CC0: .word 0xFFF8FFFF
+_02243CC4: .word 0xFFC7FFFF
+_02243CC8: .word 0xFFBFFFFF
+_02243CCC: .word 0xF87FFFFF
+_02243CD0:
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #5
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243CE0:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243DA4 ; =0xF7FFFFFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #4
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243CF8:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243DA8 ; =0xEFFFFFFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #3
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D10:
+ add r0, r2, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02243DAC ; =0xDFFFFFFF
+ add r2, #0x8c
+ and r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #2
+ orr r0, r1
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D28:
+ ldr r0, [r3]
+ add r2, #0x90
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D30:
+ ldr r0, [r3]
+ add r2, #0x94
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D38:
+ ldr r0, [r3]
+ add r2, #0x98
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D40:
+ ldr r0, [r3]
+ add r2, #0xa0
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D48:
+ ldr r0, [r3]
+ add r2, #0xa4
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D50:
+ ldrh r0, [r3]
+ add r2, #0xa8
+ strh r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D58:
+ ldrh r0, [r3]
+ add r2, #0xac
+ strh r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D60:
+ ldrh r0, [r3]
+ add r2, #0xaa
+ strh r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D68:
+ ldr r0, [r3]
+ add r2, #0xbc
+ str r0, [r2]
+ pop {r4, r5, r6, pc}
+_02243D70:
+ ldr r1, [r2, #0x28]
+ mov r0, #0x40
+ bic r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x19
+ orr r0, r1
+ str r0, [r2, #0x28]
+ pop {r4, r5, r6, pc}
+_02243D82:
+ ldr r1, [r2, #0x28]
+ mov r0, #0x80
+ bic r1, r0
+ ldrb r0, [r3]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x18
+ orr r0, r1
+ str r0, [r2, #0x28]
+ pop {r4, r5, r6, pc}
+_02243D94:
+ add r6, #0x78
+ ldr r2, [r0, r6]
+ bl MOD11_0224379C
+ pop {r4, r5, r6, pc}
+_02243D9E:
+ bl ErrorHandling
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02243DA4: .word 0xF7FFFFFF
+_02243DA8: .word 0xEFFFFFFF
+_02243DAC: .word 0xDFFFFFFF
+
+ thumb_func_start MOD11_02243DB0
+MOD11_02243DB0: ; 0x02243DB0
+ push {r4, lr}
+ mov r4, #0xb5
+ lsl r4, r4, #6
+ add r4, r0, r4
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r2, #0
+ add r0, r4, r0
+ add r2, r3, #0
+ bl MOD11_02243DC8
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02243DC8
+MOD11_02243DC8: ; 0x02243DC8
+ push {r4, r5, r6, lr}
+ add r4, r0, #0
+ add r5, r2, #0
+ cmp r1, #0x61
+ bls _02243DD4
+ b _02244200
+_02243DD4:
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02243DE0: ; jump table
+ .short _02244200 - _02243DE0 - 2 ; case 0
+ .short _02243EA4 - _02243DE0 - 2 ; case 1
+ .short _02243EAC - _02243DE0 - 2 ; case 2
+ .short _02243EB4 - _02243DE0 - 2 ; case 3
+ .short _02243EBC - _02243DE0 - 2 ; case 4
+ .short _02243EC4 - _02243DE0 - 2 ; case 5
+ .short _02244200 - _02243DE0 - 2 ; case 6
+ .short _02244200 - _02243DE0 - 2 ; case 7
+ .short _02244200 - _02243DE0 - 2 ; case 8
+ .short _02244200 - _02243DE0 - 2 ; case 9
+ .short _02243ECC - _02243DE0 - 2 ; case 10
+ .short _02243EE4 - _02243DE0 - 2 ; case 11
+ .short _02243EFA - _02243DE0 - 2 ; case 12
+ .short _02243F10 - _02243DE0 - 2 ; case 13
+ .short _02243F26 - _02243DE0 - 2 ; case 14
+ .short _02243F3C - _02243DE0 - 2 ; case 15
+ .short _02244200 - _02243DE0 - 2 ; case 16
+ .short _02244200 - _02243DE0 - 2 ; case 17
+ .short _02243F52 - _02243DE0 - 2 ; case 18
+ .short _02243F52 - _02243DE0 - 2 ; case 19
+ .short _02243F52 - _02243DE0 - 2 ; case 20
+ .short _02243F52 - _02243DE0 - 2 ; case 21
+ .short _02243F52 - _02243DE0 - 2 ; case 22
+ .short _02243F52 - _02243DE0 - 2 ; case 23
+ .short _02243F52 - _02243DE0 - 2 ; case 24
+ .short _02243F52 - _02243DE0 - 2 ; case 25
+ .short _02244200 - _02243DE0 - 2 ; case 26
+ .short _02244200 - _02243DE0 - 2 ; case 27
+ .short _02244200 - _02243DE0 - 2 ; case 28
+ .short _02244200 - _02243DE0 - 2 ; case 29
+ .short _02244200 - _02243DE0 - 2 ; case 30
+ .short _02243F70 - _02243DE0 - 2 ; case 31
+ .short _02243F70 - _02243DE0 - 2 ; case 32
+ .short _02243F70 - _02243DE0 - 2 ; case 33
+ .short _02243F70 - _02243DE0 - 2 ; case 34
+ .short _02243F96 - _02243DE0 - 2 ; case 35
+ .short _02243F96 - _02243DE0 - 2 ; case 36
+ .short _02243F96 - _02243DE0 - 2 ; case 37
+ .short _02243F96 - _02243DE0 - 2 ; case 38
+ .short _02244200 - _02243DE0 - 2 ; case 39
+ .short _02244200 - _02243DE0 - 2 ; case 40
+ .short _02244200 - _02243DE0 - 2 ; case 41
+ .short _02244200 - _02243DE0 - 2 ; case 42
+ .short _02243FA2 - _02243DE0 - 2 ; case 43
+ .short _02243FB0 - _02243DE0 - 2 ; case 44
+ .short _02244200 - _02243DE0 - 2 ; case 45
+ .short _02244200 - _02243DE0 - 2 ; case 46
+ .short _02243FD2 - _02243DE0 - 2 ; case 47
+ .short _02243FE4 - _02243DE0 - 2 ; case 48
+ .short _02244200 - _02243DE0 - 2 ; case 49
+ .short _02243FEC - _02243DE0 - 2 ; case 50
+ .short _02243FF4 - _02243DE0 - 2 ; case 51
+ .short _02244200 - _02243DE0 - 2 ; case 52
+ .short _02244200 - _02243DE0 - 2 ; case 53
+ .short _02244200 - _02243DE0 - 2 ; case 54
+ .short _02244200 - _02243DE0 - 2 ; case 55
+ .short _02244200 - _02243DE0 - 2 ; case 56
+ .short _02244200 - _02243DE0 - 2 ; case 57
+ .short _02244200 - _02243DE0 - 2 ; case 58
+ .short _02244200 - _02243DE0 - 2 ; case 59
+ .short _02244200 - _02243DE0 - 2 ; case 60
+ .short _02243FFC - _02243DE0 - 2 ; case 61
+ .short _0224401A - _02243DE0 - 2 ; case 62
+ .short _02244038 - _02243DE0 - 2 ; case 63
+ .short _02244056 - _02243DE0 - 2 ; case 64
+ .short _02244072 - _02243DE0 - 2 ; case 65
+ .short _0224408E - _02243DE0 - 2 ; case 66
+ .short _022440AA - _02243DE0 - 2 ; case 67
+ .short _022440C6 - _02243DE0 - 2 ; case 68
+ .short _022440E2 - _02243DE0 - 2 ; case 69
+ .short _022440FE - _02243DE0 - 2 ; case 70
+ .short _0224411A - _02243DE0 - 2 ; case 71
+ .short _02244200 - _02243DE0 - 2 ; case 72
+ .short _02244200 - _02243DE0 - 2 ; case 73
+ .short _02244200 - _02243DE0 - 2 ; case 74
+ .short _02244200 - _02243DE0 - 2 ; case 75
+ .short _02244200 - _02243DE0 - 2 ; case 76
+ .short _02244200 - _02243DE0 - 2 ; case 77
+ .short _02244136 - _02243DE0 - 2 ; case 78
+ .short _02244152 - _02243DE0 - 2 ; case 79
+ .short _0224416E - _02243DE0 - 2 ; case 80
+ .short _02244200 - _02243DE0 - 2 ; case 81
+ .short _02244200 - _02243DE0 - 2 ; case 82
+ .short _02244200 - _02243DE0 - 2 ; case 83
+ .short _02244200 - _02243DE0 - 2 ; case 84
+ .short _02244200 - _02243DE0 - 2 ; case 85
+ .short _02244200 - _02243DE0 - 2 ; case 86
+ .short _0224418A - _02243DE0 - 2 ; case 87
+ .short _02244198 - _02243DE0 - 2 ; case 88
+ .short _022441A6 - _02243DE0 - 2 ; case 89
+ .short _022441B4 - _02243DE0 - 2 ; case 90
+ .short _02244200 - _02243DE0 - 2 ; case 91
+ .short _02244200 - _02243DE0 - 2 ; case 92
+ .short _02244200 - _02243DE0 - 2 ; case 93
+ .short _02244200 - _02243DE0 - 2 ; case 94
+ .short _022441C2 - _02243DE0 - 2 ; case 95
+ .short _022441D0 - _02243DE0 - 2 ; case 96
+ .short _022441E8 - _02243DE0 - 2 ; case 97
+_02243EA4:
+ ldrh r0, [r4, #2]
+ add r0, r0, r5
+ strh r0, [r4, #2]
+ pop {r4, r5, r6, pc}
+_02243EAC:
+ ldrh r0, [r4, #4]
+ add r0, r0, r5
+ strh r0, [r4, #4]
+ pop {r4, r5, r6, pc}
+_02243EB4:
+ ldrh r0, [r4, #6]
+ add r0, r0, r5
+ strh r0, [r4, #6]
+ pop {r4, r5, r6, pc}
+_02243EBC:
+ ldrh r0, [r4, #8]
+ add r0, r0, r5
+ strh r0, [r4, #8]
+ pop {r4, r5, r6, pc}
+_02243EC4:
+ ldrh r0, [r4, #0xa]
+ add r0, r0, r5
+ strh r0, [r4, #0xa]
+ pop {r4, r5, r6, pc}
+_02243ECC:
+ ldr r2, [r4, #0x14]
+ mov r1, #0x1f
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x1b
+ add r2, r1, r5
+ mov r1, #0x1f
+ and r1, r2
+ orr r0, r1
+ str r0, [r4, #0x14]
+ pop {r4, r5, r6, pc}
+_02243EE4:
+ ldr r1, [r4, #0x14]
+ ldr r0, _02244208 ; =0xFFFFFC1F
+ and r0, r1
+ lsl r1, r1, #0x16
+ lsr r1, r1, #0x1b
+ add r1, r1, r5
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x16
+ orr r0, r1
+ str r0, [r4, #0x14]
+ pop {r4, r5, r6, pc}
+_02243EFA:
+ ldr r1, [r4, #0x14]
+ ldr r0, _0224420C ; =0xFFFF83FF
+ and r0, r1
+ lsl r1, r1, #0x11
+ lsr r1, r1, #0x1b
+ add r1, r1, r5
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x11
+ orr r0, r1
+ str r0, [r4, #0x14]
+ pop {r4, r5, r6, pc}
+_02243F10:
+ ldr r1, [r4, #0x14]
+ ldr r0, _02244210 ; =0xFFF07FFF
+ and r0, r1
+ lsl r1, r1, #0xc
+ lsr r1, r1, #0x1b
+ add r1, r1, r5
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0xc
+ orr r0, r1
+ str r0, [r4, #0x14]
+ pop {r4, r5, r6, pc}
+_02243F26:
+ ldr r1, [r4, #0x14]
+ ldr r0, _02244214 ; =0xFE0FFFFF
+ and r0, r1
+ lsl r1, r1, #7
+ lsr r1, r1, #0x1b
+ add r1, r1, r5
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #7
+ orr r0, r1
+ str r0, [r4, #0x14]
+ pop {r4, r5, r6, pc}
+_02243F3C:
+ ldr r1, [r4, #0x14]
+ ldr r0, _02244218 ; =0xC1FFFFFF
+ and r0, r1
+ lsl r1, r1, #2
+ lsr r1, r1, #0x1b
+ add r1, r1, r5
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #2
+ orr r0, r1
+ str r0, [r4, #0x14]
+ pop {r4, r5, r6, pc}
+_02243F52:
+ add r4, #0x18
+ sub r1, #0x12
+ ldrsb r0, [r4, r1]
+ add r0, r5, r0
+ bpl _02243F62
+ mov r0, #0
+ strb r0, [r4, r1]
+ pop {r4, r5, r6, pc}
+_02243F62:
+ cmp r0, #0xc
+ ble _02243F6C
+ mov r0, #0xc
+ strb r0, [r4, r1]
+ pop {r4, r5, r6, pc}
+_02243F6C:
+ strb r0, [r4, r1]
+ pop {r4, r5, r6, pc}
+_02243F70:
+ add r6, r1, #0
+ sub r6, #0x1f
+ lsl r0, r6, #1
+ add r1, r4, r6
+ add r0, r4, r0
+ add r1, #0x30
+ ldrh r0, [r0, #0xc]
+ ldrb r1, [r1]
+ bl FUN_0206AB30
+ add r4, #0x2c
+ ldrb r1, [r4, r6]
+ add r1, r5, r1
+ cmp r1, r0
+ ble _02243F92
+ strb r0, [r4, r6]
+ pop {r4, r5, r6, pc}
+_02243F92:
+ strb r1, [r4, r6]
+ pop {r4, r5, r6, pc}
+_02243F96:
+ add r4, #0x30
+ sub r1, #0x23
+ ldrb r0, [r4, r1]
+ add r0, r0, r5
+ strb r0, [r4, r1]
+ pop {r4, r5, r6, pc}
+_02243FA2:
+ add r0, r4, #0
+ add r0, #0x34
+ ldrb r0, [r0]
+ add r4, #0x34
+ add r0, r0, r5
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243FB0:
+ add r0, r4, #0
+ add r0, #0x35
+ ldrb r0, [r0]
+ add r0, r0, r5
+ cmp r0, #0xff
+ ble _02243FC4
+ mov r0, #0xff
+ add r4, #0x35
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243FC4:
+ add r0, r4, #0
+ add r0, #0x35
+ ldrb r0, [r0]
+ add r4, #0x35
+ add r0, r0, r5
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02243FD2:
+ ldr r0, [r4, #0x4c]
+ ldr r1, [r4, #0x50]
+ add r0, r0, r5
+ cmp r0, r1
+ bls _02243FE0
+ str r1, [r4, #0x4c]
+ pop {r4, r5, r6, pc}
+_02243FE0:
+ str r0, [r4, #0x4c]
+ pop {r4, r5, r6, pc}
+_02243FE4:
+ ldr r0, [r4, #0x50]
+ add r0, r0, r5
+ str r0, [r4, #0x50]
+ pop {r4, r5, r6, pc}
+_02243FEC:
+ ldr r0, [r4, #0x64]
+ add r0, r0, r5
+ str r0, [r4, #0x64]
+ pop {r4, r5, r6, pc}
+_02243FF4:
+ ldr r0, [r4, #0x68]
+ add r0, r0, r5
+ str r0, [r4, #0x68]
+ pop {r4, r5, r6, pc}
+_02243FFC:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r2, [r0]
+ mov r1, #7
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x1d
+ lsr r1, r1, #0x1d
+ add r2, r1, r5
+ mov r1, #7
+ and r1, r2
+ orr r0, r1
+ add r4, #0x88
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224401A:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r2, [r0]
+ mov r1, #0x38
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x1a
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x1a
+ orr r0, r1
+ add r4, #0x88
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_02244038:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r2, [r0]
+ mov r1, #0xc0
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x1e
+ add r1, r1, r5
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x18
+ orr r0, r1
+ add r4, #0x88
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_02244056:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _0224421C ; =0xFFFFF8FF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #0x15
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x15
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_02244072:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02244220 ; =0xFFFFE7FF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #0x13
+ lsr r1, r1, #0x1e
+ add r1, r1, r5
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x13
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224408E:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02244224 ; =0xFFFF9FFF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #0x11
+ lsr r1, r1, #0x1e
+ add r1, r1, r5
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x11
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022440AA:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02244228 ; =0xFFFC7FFF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #0xe
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0xe
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022440C6:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _0224422C ; =0xFFE3FFFF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #0xb
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0xb
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022440E2:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02244230 ; =0xFF1FFFFF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #8
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #8
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022440FE:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02244234 ; =0xF8FFFFFF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #5
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #5
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224411A:
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r1, [r0]
+ ldr r0, _02244238 ; =0xC7FFFFFF
+ add r4, #0x88
+ and r0, r1
+ lsl r1, r1, #2
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #2
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_02244136:
+ add r0, r4, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _0224423C ; =0xFFFFE3FF
+ add r4, #0x8c
+ and r0, r1
+ lsl r1, r1, #0x13
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x13
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_02244152:
+ add r0, r4, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02244240 ; =0xFFFF1FFF
+ add r4, #0x8c
+ and r0, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x10
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224416E:
+ add r0, r4, #0
+ add r0, #0x8c
+ ldr r1, [r0]
+ ldr r0, _02244244 ; =0xFFF8FFFF
+ add r4, #0x8c
+ and r0, r1
+ lsl r1, r1, #0xd
+ lsr r1, r1, #0x1d
+ add r1, r1, r5
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0xd
+ orr r0, r1
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224418A:
+ add r0, r4, #0
+ add r0, #0x90
+ ldr r0, [r0]
+ add r4, #0x90
+ add r0, r0, r5
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_02244198:
+ add r0, r4, #0
+ add r0, #0x94
+ ldr r0, [r0]
+ add r4, #0x94
+ add r0, r0, r5
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022441A6:
+ add r0, r4, #0
+ add r0, #0x98
+ ldr r0, [r0]
+ add r4, #0x98
+ add r0, r0, r5
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022441B4:
+ add r0, r4, #0
+ add r0, #0xa0
+ ldr r0, [r0]
+ add r4, #0xa0
+ add r0, r0, r5
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022441C2:
+ add r0, r4, #0
+ add r0, #0xbc
+ ldr r0, [r0]
+ add r4, #0xbc
+ add r0, r0, r5
+ str r0, [r4]
+ pop {r4, r5, r6, pc}
+_022441D0:
+ ldr r2, [r4, #0x28]
+ mov r1, #0x40
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x19
+ lsr r1, r1, #0x1f
+ add r1, r1, r5
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x19
+ orr r0, r1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, pc}
+_022441E8:
+ ldr r2, [r4, #0x28]
+ mov r1, #0x80
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x1f
+ add r1, r1, r5
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x18
+ orr r0, r1
+ str r0, [r4, #0x28]
+ pop {r4, r5, r6, pc}
+_02244200:
+ bl ErrorHandling
+ pop {r4, r5, r6, pc}
+ nop
+_02244208: .word 0xFFFFFC1F
+_0224420C: .word 0xFFFF83FF
+_02244210: .word 0xFFF07FFF
+_02244214: .word 0xFE0FFFFF
+_02244218: .word 0xC1FFFFFF
+_0224421C: .word 0xFFFFF8FF
+_02244220: .word 0xFFFFE7FF
+_02244224: .word 0xFFFF9FFF
+_02244228: .word 0xFFFC7FFF
+_0224422C: .word 0xFFE3FFFF
+_02244230: .word 0xFF1FFFFF
+_02244234: .word 0xF8FFFFFF
+_02244238: .word 0xC7FFFFFF
+_0224423C: .word 0xFFFFE3FF
+_02244240: .word 0xFFFF1FFF
+_02244244: .word 0xFFF8FFFF
+
+ thumb_func_start MOD11_02244248
+MOD11_02244248: ; 0x02244248
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x68
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #0x64]
+ str r0, [sp, #0x60]
+ ldr r0, [sp, #0x64]
+ str r2, [sp, #8]
+ str r0, [sp, #0x5c]
+ ldr r0, [sp, #0x64]
+ str r3, [sp, #0xc]
+ str r0, [sp, #0x48]
+ ldr r0, [sp, #0x64]
+ add r5, r1, #0
+ str r0, [sp, #0x44]
+ ldr r0, [sp, #0x64]
+ mov r2, #0xc0
+ str r0, [sp, #0x40]
+ ldr r0, [sp, #0x64]
+ ldr r3, _0224455C ; =0x00002D8C
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x64]
+ str r0, [sp, #0x38]
+ ldr r0, [sp, #0x64]
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #8]
+ add r1, r0, #0
+ mul r1, r2
+ add r0, r5, r1
+ ldr r0, [r0, r3]
+ str r1, [sp, #0x18]
+ cmp r0, #0
+ bne _0224429C
+ ldr r1, [sp, #0xc]
+ mul r2, r1
+ add r1, r5, r2
+ ldr r1, [r1, r3]
+ cmp r1, #0
+ beq _0224429C
+ add sp, #0x68
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0224429C:
+ cmp r0, #0
+ beq _022442B6
+ ldr r0, [sp, #0xc]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224455C ; =0x00002D8C
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _022442B6
+ add sp, #0x68
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_022442B6:
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ str r0, [sp, #0x2c]
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ str r0, [sp, #0x28]
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x58]
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x54]
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x50]
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4c]
+ ldr r0, [sp, #0x18]
+ ldr r2, _02244560 ; =0x00002D5B
+ add r0, r5, r0
+ ldrsb r4, [r0, r2]
+ ldr r0, [sp, #0xc]
+ mov r1, #0xc0
+ mul r1, r0
+ add r0, r5, r1
+ str r1, [sp, #0x14]
+ ldrsb r7, [r0, r2]
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x56
+ bne _02244338
+ sub r0, r4, #6
+ lsl r0, r0, #1
+ add r4, r0, #6
+ cmp r4, #0xc
+ ble _02244332
+ mov r4, #0xc
+_02244332:
+ cmp r4, #0
+ bge _02244338
+ mov r4, #0
+_02244338:
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x56
+ bne _02244356
+ sub r0, r7, #6
+ lsl r0, r0, #1
+ add r7, r0, #6
+ cmp r7, #0xc
+ ble _02244350
+ mov r7, #0xc
+_02244350:
+ cmp r7, #0
+ bge _02244356
+ mov r7, #0
+_02244356:
+ ldr r0, [sp, #0x18]
+ lsl r1, r4, #1
+ add r2, r5, r0
+ ldr r0, _02244564 ; =0x00002D46
+ ldrh r2, [r2, r0]
+ ldr r0, _02244568 ; =0x0225E284
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224456C ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ add r6, r0, #0
+ ldr r0, [sp, #0x14]
+ lsl r1, r7, #1
+ add r2, r5, r0
+ ldr r0, _02244564 ; =0x00002D46
+ ldrh r2, [r2, r0]
+ ldr r0, _02244568 ; =0x0225E284
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224456C ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ add r4, r0, #0
+ mov r0, #0xd
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022443FE
+ mov r0, #0x4c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022443FE
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x21
+ bne _022443C4
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #3
+ tst r0, r1
+ bne _022443D6
+_022443C4:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x22
+ bne _022443D8
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0x30
+ tst r0, r1
+ beq _022443D8
+_022443D6:
+ lsl r6, r6, #1
+_022443D8:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x21
+ bne _022443EA
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #3
+ tst r0, r1
+ bne _022443FC
+_022443EA:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x22
+ bne _022443FE
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0x30
+ tst r0, r1
+ beq _022443FE
+_022443FC:
+ lsl r4, r4, #1
+_022443FE:
+ mov r0, #0
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #0x18]
+ ldr r7, _02244570 ; =0x0225E24C
+ add r0, r5, r0
+ str r0, [sp, #0x1c]
+_0224440A:
+ ldr r2, [sp, #0x1c]
+ ldr r1, _02244574 ; =0x00002DB8
+ add r0, r5, #0
+ ldrh r1, [r2, r1]
+ mov r2, #1
+ bl MOD11_0224C12C
+ ldrb r1, [r7]
+ cmp r1, r0
+ bne _02244422
+ lsr r6, r6, #1
+ b _0224442E
+_02244422:
+ ldr r0, [sp, #0x24]
+ add r7, r7, #1
+ add r0, r0, #1
+ str r0, [sp, #0x24]
+ cmp r0, #8
+ blo _0224440A
+_0224442E:
+ ldr r0, [sp, #0x58]
+ cmp r0, #0x72
+ bne _02244440
+ mov r0, #0xf
+ mul r0, r6
+ mov r1, #0xa
+ blx _u32_div_f
+ add r6, r0, #0
+_02244440:
+ ldr r0, [sp, #0x58]
+ cmp r0, #0x65
+ bne _02244456
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r1, r0]
+ cmp r0, #0x84
+ bne _02244456
+ lsl r6, r6, #1
+_02244456:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x5f
+ bne _02244478
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _02244578 ; =0x00002DAC
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ beq _02244478
+ mov r0, #0xf
+ mul r0, r6
+ mov r1, #0xa
+ blx _u32_div_f
+ add r6, r0, #0
+ b _02244488
+_02244478:
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _02244578 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _02244488
+ lsr r6, r6, #2
+_02244488:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x70
+ bne _022444A4
+ ldr r1, [sp, #0x18]
+ mov r0, #0x15
+ add r2, r5, r1
+ ldr r1, _0224457C ; =0x00002DD8
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ ldr r1, [r2, r1]
+ sub r0, r0, r1
+ cmp r0, #5
+ bge _022444A4
+ lsr r6, r6, #1
+_022444A4:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x54
+ bne _022444C2
+ ldr r0, [sp, #0x18]
+ add r2, r5, r0
+ ldr r0, _02244580 ; =0x00002DCC
+ ldr r1, [r2, r0]
+ lsl r1, r1, #9
+ lsr r1, r1, #0x1f
+ beq _022444C2
+ sub r0, #0x14
+ ldrh r0, [r2, r0]
+ cmp r0, #0
+ bne _022444C2
+ lsl r6, r6, #1
+_022444C2:
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ lsl r0, r0, #2
+ add r1, r5, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #3
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _022444DE
+ lsl r6, r6, #1
+_022444DE:
+ ldr r0, [sp, #0x58]
+ cmp r0, #0x33
+ bne _0224451C
+ ldr r1, [sp, #0x54]
+ mov r0, #0x64
+ blx _s32_div_f
+ add r1, r0, #0
+ ldr r0, [sp, #8]
+ lsl r0, r0, #1
+ add r2, r5, r0
+ ldr r0, _02244584 ; =0x0000310C
+ ldrh r0, [r2, r0]
+ blx _s32_div_f
+ cmp r1, #0
+ bne _0224451C
+ mov r0, #1
+ str r0, [sp, #0x40]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bne _0224451C
+ ldr r0, _02244580 ; =0x00002DCC
+ ldr r1, [sp, #0x18]
+ add r0, r5, r0
+ ldr r2, [r0, r1]
+ mov r1, #2
+ lsl r1, r1, #0x1c
+ orr r2, r1
+ ldr r1, [sp, #0x18]
+ str r2, [r0, r1]
+_0224451C:
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _02244580 ; =0x00002DCC
+ ldr r0, [r1, r0]
+ lsl r0, r0, #3
+ lsr r0, r0, #0x1f
+ beq _0224452E
+ mov r0, #1
+ str r0, [sp, #0x40]
+_0224452E:
+ ldr r0, [sp, #0x58]
+ cmp r0, #0x6a
+ bne _02244538
+ mov r0, #1
+ str r0, [sp, #0x38]
+_02244538:
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x14]
+ ldr r7, _02244570 ; =0x0225E24C
+ add r0, r5, r0
+ str r0, [sp, #0x20]
+_02244544:
+ ldr r2, [sp, #0x20]
+ ldr r1, _02244574 ; =0x00002DB8
+ add r0, r5, #0
+ ldrh r1, [r2, r1]
+ mov r2, #1
+ bl MOD11_0224C12C
+ ldrb r1, [r7]
+ cmp r1, r0
+ bne _02244588
+ lsr r4, r4, #1
+ b _02244594
+ .align 2, 0
+_0224455C: .word 0x00002D8C
+_02244560: .word 0x00002D5B
+_02244564: .word 0x00002D46
+_02244568: .word 0x0225E284
+_0224456C: .word 0x0225E285
+_02244570: .word 0x0225E24C
+_02244574: .word 0x00002DB8
+_02244578: .word 0x00002DAC
+_0224457C: .word 0x00002DD8
+_02244580: .word 0x00002DCC
+_02244584: .word 0x0000310C
+_02244588:
+ ldr r0, [sp, #0x10]
+ add r7, r7, #1
+ add r0, r0, #1
+ str r0, [sp, #0x10]
+ cmp r0, #8
+ blo _02244544
+_02244594:
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x72
+ bne _022445A6
+ mov r0, #0xf
+ mul r0, r4
+ mov r1, #0xa
+ blx _u32_div_f
+ add r4, r0, #0
+_022445A6:
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x65
+ bne _022445BC
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r1, r0]
+ cmp r0, #0x84
+ bne _022445BC
+ lsl r4, r4, #1
+_022445BC:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x5f
+ bne _022445DE
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, _02244894 ; =0x00002DAC
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ beq _022445DE
+ mov r0, #0xf
+ mul r0, r4
+ mov r1, #0xa
+ blx _u32_div_f
+ add r4, r0, #0
+ b _022445EE
+_022445DE:
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, _02244894 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _022445EE
+ lsr r4, r4, #2
+_022445EE:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x70
+ bne _0224460A
+ ldr r1, [sp, #0x14]
+ mov r0, #0x15
+ add r2, r5, r1
+ ldr r1, _02244898 ; =0x00002DD8
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ ldr r1, [r2, r1]
+ sub r0, r0, r1
+ cmp r0, #5
+ bge _0224460A
+ lsr r4, r4, #1
+_0224460A:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x54
+ bne _02244628
+ ldr r0, [sp, #0x14]
+ add r2, r5, r0
+ ldr r0, _0224489C ; =0x00002DCC
+ ldr r1, [r2, r0]
+ lsl r1, r1, #9
+ lsr r1, r1, #0x1f
+ beq _02244628
+ sub r0, #0x14
+ ldrh r0, [r2, r0]
+ cmp r0, #0
+ bne _02244628
+ lsl r4, r4, #1
+_02244628:
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02230270
+ lsl r0, r0, #2
+ add r1, r5, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #3
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _02244644
+ lsl r4, r4, #1
+_02244644:
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x33
+ bne _02244682
+ ldr r1, [sp, #0x4c]
+ mov r0, #0x64
+ blx _s32_div_f
+ add r1, r0, #0
+ ldr r0, [sp, #0xc]
+ lsl r0, r0, #1
+ add r2, r5, r0
+ ldr r0, _022448A0 ; =0x0000310C
+ ldrh r0, [r2, r0]
+ blx _s32_div_f
+ cmp r1, #0
+ bne _02244682
+ mov r0, #1
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bne _02244682
+ ldr r0, _0224489C ; =0x00002DCC
+ ldr r1, [sp, #0x14]
+ add r0, r5, r0
+ ldr r2, [r0, r1]
+ mov r1, #2
+ lsl r1, r1, #0x1c
+ orr r2, r1
+ ldr r1, [sp, #0x14]
+ str r2, [r0, r1]
+_02244682:
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, _0224489C ; =0x00002DCC
+ ldr r0, [r1, r0]
+ lsl r0, r0, #3
+ lsr r0, r0, #0x1f
+ beq _02244694
+ mov r0, #1
+ str r0, [sp, #0x3c]
+_02244694:
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x6a
+ bne _0224469E
+ mov r0, #1
+ str r0, [sp, #0x34]
+_0224469E:
+ ldr r0, [sp, #8]
+ lsl r0, r0, #2
+ add r1, r5, r0
+ ldr r0, _022448A4 ; =0x000021F0
+ str r6, [r1, r0]
+ ldr r1, [sp, #0xc]
+ lsl r1, r1, #2
+ add r1, r5, r1
+ str r4, [r1, r0]
+ ldr r1, [sp, #0x80]
+ cmp r1, #0
+ bne _02244756
+ ldr r1, [sp, #0xc]
+ ldr r3, _022448A8 ; =0x000030BC
+ lsl r1, r1, #4
+ add r2, r5, r1
+ add r1, r0, #0
+ sub r1, #0x3c
+ ldr r1, [r2, r1]
+ sub r0, #0x3c
+ str r1, [sp, #0x30]
+ ldr r1, [sp, #8]
+ lsl r1, r1, #1
+ add r1, r5, r1
+ ldrh r2, [r1, r3]
+ ldr r1, [sp, #0xc]
+ lsl r1, r1, #1
+ add r1, r5, r1
+ ldrh r7, [r1, r3]
+ ldr r1, [sp, #8]
+ lsl r1, r1, #4
+ add r1, r5, r1
+ ldr r0, [r1, r0]
+ cmp r0, #1
+ bne _0224470E
+ ldr r0, [sp, #8]
+ lsl r0, r0, #6
+ add r1, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ beq _022446FC
+ mov r0, #0xa5
+ str r0, [sp, #0x60]
+ b _0224470E
+_022446FC:
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ add r2, r2, #6
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x60]
+_0224470E:
+ ldr r0, [sp, #0x30]
+ cmp r0, #1
+ bne _0224473E
+ ldr r0, [sp, #0xc]
+ lsl r0, r0, #6
+ add r1, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ beq _0224472C
+ mov r0, #0xa5
+ str r0, [sp, #0x5c]
+ b _0224473E
+_0224472C:
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0
+ add r2, r7, #6
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x5c]
+_0224473E:
+ ldr r0, [sp, #0x60]
+ mov r1, #0xfa
+ lsl r0, r0, #4
+ add r0, r5, r0
+ lsl r1, r1, #2
+ ldrsb r0, [r0, r1]
+ str r0, [sp, #0x48]
+ ldr r0, [sp, #0x5c]
+ lsl r0, r0, #4
+ add r0, r5, r0
+ ldrsb r0, [r0, r1]
+ str r0, [sp, #0x44]
+_02244756:
+ ldr r1, [sp, #0x48]
+ ldr r0, [sp, #0x44]
+ cmp r1, r0
+ beq _02244760
+ b _022448AC
+_02244760:
+ ldr r0, [sp, #0x40]
+ cmp r0, #0
+ beq _0224478C
+ ldr r0, [sp, #0x3c]
+ cmp r0, #0
+ beq _0224478C
+ cmp r6, r4
+ bhs _02244776
+ mov r0, #1
+ str r0, [sp, #0x64]
+ b _022448B4
+_02244776:
+ cmp r6, r4
+ bne _02244784
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ bne _02244786
+_02244784:
+ b _022448B4
+_02244786:
+ mov r0, #2
+ str r0, [sp, #0x64]
+ b _022448B4
+_0224478C:
+ ldr r0, [sp, #0x40]
+ cmp r0, #0
+ bne _0224479E
+ ldr r0, [sp, #0x3c]
+ cmp r0, #0
+ beq _0224479E
+ mov r0, #1
+ str r0, [sp, #0x64]
+ b _022448B4
+_0224479E:
+ ldr r0, [sp, #0x40]
+ cmp r0, #0
+ beq _022447B0
+ ldr r0, [sp, #0x3c]
+ cmp r0, #0
+ bne _022447B0
+ mov r0, #0
+ str r0, [sp, #0x64]
+ b _022448B4
+_022447B0:
+ ldr r0, [sp, #0x38]
+ cmp r0, #0
+ beq _022447DA
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ beq _022447DA
+ cmp r6, r4
+ bls _022447C6
+ mov r0, #1
+ str r0, [sp, #0x64]
+ b _022448B4
+_022447C6:
+ cmp r6, r4
+ bne _022448B4
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _022448B4
+ mov r0, #2
+ str r0, [sp, #0x64]
+ b _022448B4
+_022447DA:
+ ldr r0, [sp, #0x38]
+ cmp r0, #0
+ beq _022447EC
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ bne _022447EC
+ mov r0, #1
+ str r0, [sp, #0x64]
+ b _022448B4
+_022447EC:
+ ldr r0, [sp, #0x38]
+ cmp r0, #0
+ bne _022447FE
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ beq _022447FE
+ mov r0, #0
+ str r0, [sp, #0x64]
+ b _022448B4
+_022447FE:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x64
+ bne _02244828
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x64
+ bne _02244828
+ cmp r6, r4
+ bls _02244814
+ mov r0, #1
+ str r0, [sp, #0x64]
+ b _022448B4
+_02244814:
+ cmp r6, r4
+ bne _022448B4
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _022448B4
+ mov r0, #2
+ str r0, [sp, #0x64]
+ b _022448B4
+_02244828:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x64
+ bne _0224483A
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x64
+ beq _0224483A
+ mov r0, #1
+ str r0, [sp, #0x64]
+ b _022448B4
+_0224483A:
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x64
+ beq _0224484C
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x64
+ bne _0224484C
+ mov r0, #0
+ str r0, [sp, #0x64]
+ b _022448B4
+_0224484C:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #7
+ lsl r0, r0, #0x10
+ tst r0, r1
+ beq _02244876
+ cmp r6, r4
+ bls _02244862
+ mov r0, #1
+ str r0, [sp, #0x64]
+_02244862:
+ cmp r6, r4
+ bne _022448B4
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _022448B4
+ mov r0, #2
+ str r0, [sp, #0x64]
+ b _022448B4
+_02244876:
+ cmp r6, r4
+ bhs _0224487E
+ mov r0, #1
+ str r0, [sp, #0x64]
+_0224487E:
+ cmp r6, r4
+ bne _022448B4
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _022448B4
+ mov r0, #2
+ str r0, [sp, #0x64]
+ b _022448B4
+ nop
+_02244894: .word 0x00002DAC
+_02244898: .word 0x00002DD8
+_0224489C: .word 0x00002DCC
+_022448A0: .word 0x0000310C
+_022448A4: .word 0x000021F0
+_022448A8: .word 0x000030BC
+_022448AC:
+ cmp r1, r0
+ bge _022448B4
+ mov r0, #1
+ str r0, [sp, #0x64]
+_022448B4:
+ ldr r0, [sp, #0x64]
+ add sp, #0x68
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022448BC
+MOD11_022448BC: ; 0x022448BC
+ asr r1, r1, #1
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1d
+ add r0, r0, r1
+ mov r2, #0
+ add r0, #0xa4
+ str r2, [r0]
+ bx lr
+
+ thumb_func_start MOD11_022448CC
+MOD11_022448CC: ; 0x022448CC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ str r2, [sp]
+ add r5, r1, #0
+ mov r4, #0
+ bl MOD11_0222FF74
+ add r7, r0, #0
+ ldr r0, [sp]
+ mov r1, #0xc0
+ mul r1, r0
+ add r0, r5, r1
+ str r0, [sp, #4]
+ ldr r0, [sp]
+ asr r0, r0, #1
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1d
+ add r6, r5, r0
+ add r6, #0xa4
+_022448F2:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, _0224493C ; =0x00003108
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _02244928
+ ldr r0, [sp]
+ bl FUN_0206A92C
+ ldr r1, _0224493C ; =0x00003108
+ ldrb r1, [r5, r1]
+ tst r0, r1
+ bne _02244928
+ ldr r1, [sp, #4]
+ ldr r0, _02244940 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244928
+ ldr r0, _02244944 ; =0x0000219C
+ add r1, r5, r4
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ ldr r1, [r6]
+ orr r0, r1
+ str r0, [r6]
+_02244928:
+ add r4, r4, #2
+ cmp r7, #0x4a
+ beq _02244936
+ cmp r7, #0x4b
+ beq _02244936
+ cmp r4, #2
+ ble _022448F2
+_02244936:
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224493C: .word 0x00003108
+_02244940: .word 0x00002D8C
+_02244944: .word 0x0000219C
+
+ thumb_func_start MOD11_02244948
+MOD11_02244948: ; 0x02244948
+ push {r4, r5, r6, lr}
+ ldr r0, _022449D4 ; =0x00002170
+ add r5, r1, #0
+ add r4, r2, #0
+ ldr r2, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0x1c
+ mov r6, #0
+ tst r0, r2
+ beq _0224497A
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _022449D4 ; =0x00002170
+ add r1, r6, #0
+ str r1, [r5, r0]
+ sub r0, r0, #4
+ ldr r1, [r5, r0]
+ ldr r0, _022449D8 ; =0x801FDA49
+ tst r0, r1
+ bne _022449CE
+ mov r6, #1
+ b _022449CE
+_0224497A:
+ cmp r2, #0
+ beq _022449CE
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022449DC ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022449C8
+ ldr r1, _022449E0 ; =0x0000216C
+ ldr r2, _022449D8 ; =0x801FDA49
+ ldr r0, [r5, r1]
+ tst r2, r0
+ beq _022449C6
+ add r1, r1, #4
+ mov r2, #2
+ ldr r1, [r5, r1]
+ lsl r2, r2, #0x16
+ tst r2, r1
+ beq _022449B8
+ ldr r2, _022449E4 ; =0x00040008
+ tst r2, r0
+ bne _022449C6
+_022449B8:
+ mov r2, #1
+ lsl r2, r2, #0x1c
+ tst r1, r2
+ beq _022449C8
+ ldr r1, _022449E8 ; =0x00010001
+ tst r0, r1
+ beq _022449C8
+_022449C6:
+ mov r6, #1
+_022449C8:
+ ldr r0, _022449D4 ; =0x00002170
+ mov r1, #0
+ str r1, [r5, r0]
+_022449CE:
+ add r0, r6, #0
+ pop {r4, r5, r6, pc}
+ nop
+_022449D4: .word 0x00002170
+_022449D8: .word 0x801FDA49
+_022449DC: .word 0x00002D8C
+_022449E0: .word 0x0000216C
+_022449E4: .word 0x00040008
+_022449E8: .word 0x00010001
+
+ thumb_func_start MOD11_022449EC
+MOD11_022449EC: ; 0x022449EC
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r0, _02244C04 ; =0x00002174
+ add r5, r1, #0
+ add r4, r2, #0
+ ldr r2, [r5, r0]
+ mov r1, #2
+ lsl r1, r1, #0x1c
+ add r3, r2, #0
+ mov r6, #0
+ tst r3, r1
+ beq _02244A20
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _02244C04 ; =0x00002174
+ add r1, r6, #0
+ str r1, [r5, r0]
+ sub r0, #8
+ ldr r1, [r5, r0]
+ ldr r0, _02244C08 ; =0x801FDA49
+ tst r0, r1
+ bne _02244AC0
+ mov r6, #1
+ b _02244C00
+_02244A20:
+ lsr r3, r1, #5
+ tst r3, r2
+ beq _02244A54
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _02244C04 ; =0x00002174
+ add r1, r6, #0
+ str r1, [r5, r0]
+ add r1, r5, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ add r0, r5, #0
+ bl MOD11_0224AD9C
+ cmp r0, #0
+ bne _02244AC0
+ ldr r0, _02244C0C ; =0x0000216C
+ ldr r1, [r5, r0]
+ ldr r0, _02244C08 ; =0x801FDA49
+ tst r0, r1
+ bne _02244AC0
+ mov r6, #1
+ b _02244C00
+_02244A54:
+ lsr r3, r1, #4
+ tst r3, r2
+ beq _02244A96
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _02244C04 ; =0x00002174
+ add r1, r6, #0
+ str r1, [r5, r0]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02244C10 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02244AC0
+ add r0, r5, #0
+ bl MOD11_0224AD9C
+ cmp r0, #0
+ bne _02244AC0
+ ldr r0, _02244C0C ; =0x0000216C
+ ldr r1, [r5, r0]
+ ldr r0, _02244C08 ; =0x801FDA49
+ tst r0, r1
+ bne _02244AC0
+ mov r6, #1
+ b _02244C00
+_02244A96:
+ lsr r3, r1, #1
+ tst r3, r2
+ beq _02244AC6
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _02244C04 ; =0x00002174
+ add r1, r6, #0
+ str r1, [r5, r0]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02244C10 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02244AC2
+_02244AC0:
+ b _02244C00
+_02244AC2:
+ mov r6, #1
+ b _02244C00
+_02244AC6:
+ lsr r1, r1, #3
+ tst r1, r2
+ beq _02244B50
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x20
+ ldr r0, _02244C14 ; =0x00003044
+ bne _02244AEA
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02244C18 ; =0x000003E5
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x11
+ lsr r6, r0, #0x10
+ b _02244AF4
+_02244AEA:
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02244C18 ; =0x000003E5
+ ldrb r6, [r1, r0]
+_02244AF4:
+ cmp r6, #0
+ bne _02244AFC
+ bl ErrorHandling
+_02244AFC:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r6
+ bge _02244B16
+ ldr r1, _02244C1C ; =0x0000213C
+ mov r0, #1
+ ldr r2, [r5, r1]
+ lsl r0, r0, #0x16
+ orr r0, r2
+ str r0, [r5, r1]
+_02244B16:
+ ldr r2, _02244C04 ; =0x00002174
+ add r0, r5, #0
+ ldr r2, [r5, r2]
+ mov r1, #2
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r1, _02244C04 ; =0x00002174
+ mov r0, #0
+ str r0, [r5, r1]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r2, [r0]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r5, r0
+ ldr r0, _02244C10 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ bne _02244B4C
+ add r0, r1, #0
+ sub r0, #0x38
+ ldr r2, [r5, r0]
+ ldr r0, _02244C20 ; =0xFFBFFFFF
+ sub r1, #0x38
+ and r0, r2
+ str r0, [r5, r1]
+_02244B4C:
+ mov r6, #1
+ b _02244C00
+_02244B50:
+ cmp r2, #0
+ beq _02244BD2
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x20
+ ldr r0, _02244C14 ; =0x00003044
+ bne _02244B72
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02244C18 ; =0x000003E5
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x11
+ lsr r7, r0, #0x10
+ b _02244B7C
+_02244B72:
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02244C18 ; =0x000003E5
+ ldrb r7, [r1, r0]
+_02244B7C:
+ cmp r7, #0
+ bne _02244B84
+ bl ErrorHandling
+_02244B84:
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx _s32_div_f
+ cmp r1, r7
+ bge _02244C00
+ ldr r2, _02244C04 ; =0x00002174
+ add r0, r5, #0
+ ldr r2, [r5, r2]
+ mov r1, #2
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _02244C04 ; =0x00002174
+ mov r1, #0
+ str r1, [r5, r0]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02244C10 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02244C00
+ add r0, r5, #0
+ bl MOD11_0224AD9C
+ cmp r0, #0
+ bne _02244C00
+ ldr r0, _02244C0C ; =0x0000216C
+ ldr r1, [r5, r0]
+ ldr r0, _02244C08 ; =0x801FDA49
+ tst r0, r1
+ bne _02244C00
+ mov r6, #1
+ b _02244C00
+_02244BD2:
+ add r0, r0, #4
+ ldr r2, [r5, r0]
+ cmp r2, #0
+ beq _02244C00
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_0224C5DC
+ str r0, [r4]
+ ldr r0, _02244C24 ; =0x00002178
+ add r1, r6, #0
+ str r1, [r5, r0]
+ add r0, r5, #0
+ add r0, #0x94
+ ldr r1, [r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02244C10 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244C00
+ mov r6, #1
+_02244C00:
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02244C04: .word 0x00002174
+_02244C08: .word 0x801FDA49
+_02244C0C: .word 0x0000216C
+_02244C10: .word 0x00002D8C
+_02244C14: .word 0x00003044
+_02244C18: .word 0x000003E5
+_02244C1C: .word 0x0000213C
+_02244C20: .word 0xFFBFFFFF
+_02244C24: .word 0x00002178
+
+ thumb_func_start MOD11_02244C28
+MOD11_02244C28: ; 0x02244C28
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r6, r0, #0
+ mov r0, #0xff
+ add r4, r1, #0
+ add r5, r2, #0
+ str r0, [sp, #0xc]
+ cmp r3, #0
+ beq _02244C44
+ lsl r0, r3, #4
+ add r1, r4, r0
+ ldr r0, _02244F24 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ b _02244C46
+_02244C44:
+ ldr r0, [sp, #0x34]
+_02244C46:
+ cmp r0, #4
+ bne _02244CD6
+ add r0, r6, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #8]
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ bl MOD11_02253A4C
+ ldr r1, _02244F28 ; =0x0000217E
+ mov r2, #0
+ strb r2, [r4, r1]
+ ldrb r1, [r4, r1]
+ ldr r2, [sp, #8]
+ cmp r1, r2
+ bge _02244CC4
+ mov r2, #1
+ add r5, r0, #0
+ and r5, r2
+_02244C72:
+ ldr r0, _02244F2C ; =0x000021EC
+ add r1, r4, r1
+ ldrb r7, [r1, r0]
+ mov r0, #0xc0
+ mul r0, r7
+ add r1, r4, r0
+ ldr r0, _02244F30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244CB2
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_0222FF7C
+ str r0, [sp]
+ cmp r5, #0
+ beq _02244C9E
+ bl MOD11_02253A4C
+ mov r1, #1
+ tst r0, r1
+ beq _02244CAE
+_02244C9E:
+ cmp r5, #0
+ bne _02244CB2
+ ldr r0, [sp]
+ bl MOD11_02253A4C
+ mov r1, #1
+ tst r0, r1
+ beq _02244CB2
+_02244CAE:
+ str r7, [sp, #0xc]
+ b _02244CC4
+_02244CB2:
+ ldr r0, _02244F28 ; =0x0000217E
+ ldrb r0, [r4, r0]
+ add r1, r0, #1
+ ldr r0, _02244F28 ; =0x0000217E
+ strb r1, [r4, r0]
+ ldrb r1, [r4, r0]
+ ldr r0, [sp, #8]
+ cmp r1, r0
+ blt _02244C72
+_02244CC4:
+ ldr r1, _02244F28 ; =0x0000217E
+ ldr r0, [sp, #8]
+ ldrb r2, [r4, r1]
+ cmp r2, r0
+ bne _02244CD0
+ b _02244F5C
+_02244CD0:
+ add r0, r2, #1
+ strb r0, [r4, r1]
+ b _02244F5C
+_02244CD6:
+ cmp r0, #8
+ bne _02244D26
+ add r0, r6, #0
+ bl MOD11_0222FF84
+ add r2, r0, #0
+ ldr r0, _02244F28 ; =0x0000217E
+ mov r1, #0
+ strb r1, [r4, r0]
+ ldrb r3, [r4, r0]
+ cmp r3, r2
+ bge _02244D18
+ ldr r7, _02244F30 ; =0x00002D8C
+_02244CF0:
+ ldr r1, _02244F2C ; =0x000021EC
+ add r6, r4, r3
+ ldrb r1, [r6, r1]
+ mov r6, #0xc0
+ mul r6, r1
+ add r6, r4, r6
+ ldr r6, [r6, r7]
+ cmp r6, #0
+ beq _02244D0A
+ cmp r1, r5
+ beq _02244D0A
+ str r1, [sp, #0xc]
+ b _02244D18
+_02244D0A:
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ ldr r1, _02244F28 ; =0x0000217E
+ ldrb r3, [r4, r1]
+ cmp r3, r2
+ blt _02244CF0
+_02244D18:
+ cmp r3, r2
+ beq _02244E02
+ ldr r0, _02244F28 ; =0x0000217E
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _02244F5C
+_02244D26:
+ mov r1, #2
+ lsl r1, r1, #8
+ cmp r0, r1
+ bne _02244D72
+ ldr r1, [sp, #0x30]
+ cmp r1, #1
+ bne _02244D72
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02244D6E
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1f
+ sub r1, r1, r2
+ mov r0, #0x1f
+ ror r1, r0
+ add r0, r2, r1
+ bne _02244D6E
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022302BC
+ mov r1, #0xc0
+ mul r1, r0
+ str r0, [sp, #0xc]
+ ldr r0, _02244F30 ; =0x00002D8C
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02244E02
+ str r5, [sp, #0xc]
+ b _02244F5C
+_02244D6E:
+ str r5, [sp, #0xc]
+ b _02244F5C
+_02244D72:
+ mov r1, #1
+ lsl r1, r1, #0xa
+ cmp r0, r1
+ bne _02244D8E
+ ldr r1, [sp, #0x30]
+ cmp r1, #1
+ bne _02244D8E
+ add r0, r6, #0
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_022482A4
+ str r0, [sp, #0xc]
+ b _02244F5C
+_02244D8E:
+ cmp r0, #0x80
+ bne _02244DA0
+ add r0, r6, #0
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_022482A4
+ str r0, [sp, #0xc]
+ b _02244F5C
+_02244DA0:
+ cmp r0, #0x10
+ beq _02244DB0
+ cmp r0, #0x20
+ beq _02244DB0
+ cmp r0, #1
+ beq _02244DB0
+ cmp r0, #0x40
+ bne _02244DB4
+_02244DB0:
+ str r5, [sp, #0xc]
+ b _02244F5C
+_02244DB4:
+ mov r1, #1
+ lsl r1, r1, #8
+ cmp r0, r1
+ bne _02244DD8
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02244DD4
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_022302BC
+ str r0, [sp, #0xc]
+ b _02244F5C
+_02244DD4:
+ str r5, [sp, #0xc]
+ b _02244F5C
+_02244DD8:
+ lsl r1, r1, #1
+ cmp r0, r1
+ bne _02244E0C
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02244E08
+ lsl r0, r5, #4
+ add r1, r4, r0
+ ldr r0, _02244F34 ; =0x000021AC
+ ldr r0, [r1, r0]
+ mov r1, #0xc0
+ mul r1, r0
+ str r0, [sp, #0xc]
+ ldr r0, _02244F30 ; =0x00002D8C
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244E04
+_02244E02:
+ b _02244F5C
+_02244E04:
+ str r5, [sp, #0xc]
+ b _02244F5C
+_02244E08:
+ str r5, [sp, #0xc]
+ b _02244F5C
+_02244E0C:
+ cmp r0, #2
+ beq _02244E16
+ ldr r0, [sp, #0x30]
+ cmp r0, #1
+ bne _02244ED6
+_02244E16:
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ add r7, r0, #0
+ mov r1, #1
+ eor r7, r1
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, #0
+ bl MOD11_02230308
+ str r0, [sp, #0x14]
+ add r0, r6, #0
+ add r1, r5, #0
+ mov r2, #2
+ bl MOD11_02230308
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x10]
+ mov r1, #2
+ tst r0, r1
+ beq _02244EBE
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r1, r4, r0
+ lsl r0, r7, #3
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02244E72
+ lsl r0, r0, #9
+ lsr r2, r0, #0x1e
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02244F30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244E72
+ str r2, [sp, #0xc]
+ b _02244F5C
+_02244E72:
+ ldr r0, [sp, #0x14]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ add r0, r4, r2
+ ldr r2, _02244F30 ; =0x00002D8C
+ ldr r0, [r0, r2]
+ cmp r0, #0
+ beq _02244EA0
+ ldr r3, [sp, #0x18]
+ mul r1, r3
+ add r1, r4, r1
+ ldr r1, [r1, r2]
+ cmp r1, #0
+ beq _02244EA0
+ bl FUN_0201B9EC
+ lsl r0, r0, #0x1f
+ lsr r1, r0, #0x1d
+ add r0, sp, #0x14
+ ldr r0, [r0, r1]
+ str r0, [sp, #0xc]
+ b _02244F5C
+_02244EA0:
+ cmp r0, #0
+ beq _02244EAA
+ ldr r0, [sp, #0x14]
+ str r0, [sp, #0xc]
+ b _02244F5C
+_02244EAA:
+ ldr r2, [sp, #0x18]
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02244F30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244F5C
+ str r2, [sp, #0xc]
+ b _02244F5C
+_02244EBE:
+ mov r0, #1
+ add r2, r5, #0
+ eor r2, r0
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02244F30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244F5C
+ str r2, [sp, #0xc]
+ b _02244F5C
+_02244ED6:
+ add r0, r6, #0
+ add r1, r5, #0
+ bl MOD11_02230270
+ mov r1, #1
+ eor r0, r1
+ str r0, [sp, #4]
+ lsl r0, r5, #4
+ add r1, r4, r0
+ ldr r0, _02244F34 ; =0x000021AC
+ ldr r7, [r1, r0]
+ add r0, r6, #0
+ bl MOD11_0222FF84
+ mov r0, #0x71
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r0, [sp, #4]
+ lsl r0, r0, #3
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02244F1A
+ lsl r0, r0, #9
+ lsr r0, r0, #0x1e
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02244F30 ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02244F1A
+ str r0, [sp, #0xc]
+ b _02244F5C
+_02244F1A:
+ mov r0, #0xc0
+ mul r0, r7
+ add r1, r4, r0
+ ldr r0, _02244F30 ; =0x00002D8C
+ b _02244F38
+ .align 2, 0
+_02244F24: .word 0x000003E6
+_02244F28: .word 0x0000217E
+_02244F2C: .word 0x000021EC
+_02244F30: .word 0x00002D8C
+_02244F34: .word 0x000021AC
+_02244F38:
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244F42
+ str r7, [sp, #0xc]
+ b _02244F5C
+_02244F42:
+ add r0, r6, #0
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_022482A4
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02244F64 ; =0x00002D8C
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ beq _02244F5C
+ str r0, [sp, #0xc]
+_02244F5C:
+ ldr r0, [sp, #0xc]
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02244F64: .word 0x00002D8C
+
+ thumb_func_start MOD11_02244F68
+MOD11_02244F68: ; 0x02244F68
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r5, r1, #0
+ str r0, [sp, #4]
+ ldr r0, [r5, #0x6c]
+ add r7, r2, #0
+ add r6, r3, #0
+ cmp r0, #0xff
+ beq _02244FC2
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ beq _02244FC2
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x68
+ beq _02244FC2
+ ldr r0, [sp, #4]
+ add r1, r7, #0
+ bl MOD11_02230270
+ add r2, r0, #0
+ mov r1, #1
+ mov r0, #0x71
+ eor r2, r1
+ lsl r0, r0, #2
+ add r1, r5, r0
+ lsl r0, r2, #3
+ ldr r0, [r1, r0]
+ lsl r1, r0, #0xb
+ lsr r1, r1, #0x1f
+ beq _02244FC4
+ lsl r0, r0, #9
+ lsr r1, r0, #0x1e
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _022450F8 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02244FC4
+_02244FC2:
+ b _022450F4
+_02244FC4:
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r7, #0
+ add r3, r6, #0
+ bl MOD11_0224C8EC
+ str r0, [sp, #0xc]
+ cmp r0, #0
+ bne _02244FE0
+ lsl r0, r6, #4
+ add r1, r5, r0
+ ldr r0, _022450FC ; =0x000003E2
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0xc]
+_02244FE0:
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF84
+ str r0, [sp, #8]
+ ldr r0, [sp, #0xc]
+ cmp r0, #0xd
+ bne _02245070
+ lsl r0, r6, #4
+ add r1, r5, r0
+ ldr r0, _02245100 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ beq _02244FFE
+ cmp r0, #2
+ bne _02245070
+_02244FFE:
+ ldr r0, _02245104 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _02245070
+ mov r0, #0x1f
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #9
+ add r3, r7, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _02245070
+ ldr r0, [sp, #8]
+ mov r6, #0
+ cmp r0, #0
+ ble _02245050
+_02245024:
+ ldr r0, _02245108 ; =0x000021EC
+ add r1, r5, r6
+ ldrb r4, [r1, r0]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x1f
+ bne _02245048
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022450F8 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02245048
+ cmp r7, r4
+ bne _02245050
+_02245048:
+ ldr r0, [sp, #8]
+ add r6, r6, #1
+ cmp r6, r0
+ blt _02245024
+_02245050:
+ ldr r0, [r5, #0x6c]
+ cmp r4, r0
+ beq _022450F4
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r3, r5, r0
+ mov r0, #0x1c
+ add r2, r4, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ mov r0, #2
+ orr r0, r1
+ str r0, [r3, r2]
+ add sp, #0x10
+ str r4, [r5, #0x6c]
+ pop {r3, r4, r5, r6, r7, pc}
+_02245070:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0xb
+ bne _022450F4
+ lsl r0, r6, #4
+ add r1, r5, r0
+ ldr r0, _02245100 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ beq _02245086
+ cmp r0, #2
+ bne _022450F4
+_02245086:
+ ldr r0, _02245104 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _022450F4
+ mov r0, #0x72
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #9
+ add r3, r7, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _022450F4
+ ldr r0, [sp, #8]
+ mov r6, #0
+ cmp r0, #0
+ ble _022450D8
+_022450AC:
+ ldr r0, _02245108 ; =0x000021EC
+ add r1, r5, r6
+ ldrb r4, [r1, r0]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x72
+ bne _022450D0
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022450F8 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022450D0
+ cmp r7, r4
+ bne _022450D8
+_022450D0:
+ ldr r0, [sp, #8]
+ add r6, r6, #1
+ cmp r6, r0
+ blt _022450AC
+_022450D8:
+ ldr r0, [r5, #0x6c]
+ cmp r4, r0
+ beq _022450F4
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r3, r5, r0
+ mov r0, #0x1c
+ add r2, r4, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ mov r0, #4
+ orr r0, r1
+ str r0, [r3, r2]
+ str r4, [r5, #0x6c]
+_022450F4:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022450F8: .word 0x00002D8C
+_022450FC: .word 0x000003E2
+_02245100: .word 0x000003E6
+_02245104: .word 0x0000213C
+_02245108: .word 0x000021EC
+
+ thumb_func_start MOD11_0224510C
+MOD11_0224510C: ; 0x0224510C
+ push {r3, r4, r5, lr}
+ ldr r0, _02245188 ; =0x0000216C
+ add r4, r1, #0
+ ldr r1, [r4, r0]
+ ldr r0, _0224518C ; =0x801FDA49
+ mov r2, #0
+ tst r0, r1
+ bne _0224514A
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r3, [r4, #0x6c]
+ mov r0, #0x1c
+ mul r0, r3
+ ldr r3, [r1, r0]
+ lsl r5, r3, #0x1e
+ lsr r5, r5, #0x1f
+ beq _0224514A
+ mov r2, #2
+ bic r3, r2
+ str r3, [r1, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xb4
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r2, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_0224514A:
+ ldr r0, _02245188 ; =0x0000216C
+ ldr r1, [r4, r0]
+ ldr r0, _0224518C ; =0x801FDA49
+ tst r0, r1
+ bne _02245182
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r1, r4, r0
+ ldr r3, [r4, #0x6c]
+ mov r0, #0x1c
+ mul r0, r3
+ ldr r3, [r1, r0]
+ lsl r5, r3, #0x1d
+ lsr r5, r5, #0x1f
+ beq _02245182
+ mov r2, #4
+ bic r3, r2
+ str r3, [r1, r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xb4
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ mov r2, #1
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_02245182:
+ add r0, r2, #0
+ pop {r3, r4, r5, pc}
+ nop
+_02245188: .word 0x0000216C
+_0224518C: .word 0x801FDA49
+
+ thumb_func_start MOD11_02245190
+MOD11_02245190: ; 0x02245190
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r4, r2, #0
+ mov r0, #0xc0
+ add r5, r1, #0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022451BC ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ cmp r0, #0
+ bne _022451B0
+ lsl r1, r4, #0x18
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ bl MOD11_0224C83C
+_022451B0:
+ add r0, r6, #0
+ add r1, r5, #0
+ add r2, r4, #0
+ bl MOD11_02256150
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_022451BC: .word 0x00002DB8
+
+ thumb_func_start MOD11_022451C0
+MOD11_022451C0: ; 0x022451C0
+ push {r4, r5}
+ ldr r0, _022451E8 ; =0x00002DB0
+ add r4, r2, #0
+ add r5, r1, r0
+ mov r0, #0xc0
+ mul r4, r0
+ mov r0, #1
+ ldr r3, [r5, r4]
+ lsl r0, r0, #0xc
+ orr r0, r3
+ str r0, [r5, r4]
+ ldr r0, _022451EC ; =0x00003044
+ lsl r2, r2, #2
+ ldr r3, [r1, r0]
+ add r1, r1, r2
+ add r0, #8
+ str r3, [r1, r0]
+ pop {r4, r5}
+ bx lr
+ nop
+_022451E8: .word 0x00002DB0
+_022451EC: .word 0x00003044
+
+ thumb_func_start MOD11_022451F0
+MOD11_022451F0: ; 0x022451F0
+ push {r4, r5}
+ ldr r4, _02245234 ; =0x00002DB0
+ add r3, r2, #0
+ mov r0, #0xc0
+ mul r3, r0
+ add r0, r1, r4
+ ldr r5, [r0, r3]
+ ldr r2, _02245238 ; =0xFFFFEFFF
+ and r2, r5
+ str r2, [r0, r3]
+ ldr r5, [r0, r3]
+ ldr r2, _0224523C ; =0xFFFFFCFF
+ and r2, r5
+ str r2, [r0, r3]
+ add r0, r4, #0
+ add r0, #0x10
+ add r5, r1, r0
+ ldr r2, [r5, r3]
+ ldr r0, _02245240 ; =0xDFFBFF3F
+ add r4, #0x18
+ and r0, r2
+ str r0, [r5, r3]
+ add r2, r1, r4
+ ldr r1, [r2, r3]
+ ldr r0, _02245244 ; =0xFFFC7FFF
+ and r0, r1
+ str r0, [r2, r3]
+ ldr r1, [r2, r3]
+ ldr r0, _02245248 ; =0xFFE3FFFF
+ and r0, r1
+ str r0, [r2, r3]
+ pop {r4, r5}
+ bx lr
+ nop
+_02245234: .word 0x00002DB0
+_02245238: .word 0xFFFFEFFF
+_0224523C: .word 0xFFFFFCFF
+_02245240: .word 0xDFFBFF3F
+_02245244: .word 0xFFFC7FFF
+_02245248: .word 0xFFE3FFFF
+
+ thumb_func_start MOD11_0224524C
+MOD11_0224524C: ; 0x0224524C
+ mov r2, #0xc0
+ mul r2, r1
+ add r1, r0, r2
+ ldr r0, _02245298 ; =0x00002DAC
+ ldr r0, [r1, r0]
+ mov r1, #7
+ tst r1, r0
+ beq _02245260
+ mov r0, #1
+ bx lr
+_02245260:
+ mov r1, #8
+ tst r1, r0
+ beq _0224526A
+ mov r0, #2
+ bx lr
+_0224526A:
+ mov r1, #0x10
+ tst r1, r0
+ beq _02245274
+ mov r0, #3
+ bx lr
+_02245274:
+ mov r1, #0x20
+ tst r1, r0
+ beq _0224527E
+ mov r0, #4
+ bx lr
+_0224527E:
+ mov r1, #0x40
+ tst r1, r0
+ beq _02245288
+ mov r0, #5
+ bx lr
+_02245288:
+ mov r1, #0x80
+ tst r0, r1
+ beq _02245292
+ mov r0, #2
+ bx lr
+_02245292:
+ mov r0, #0
+ bx lr
+ nop
+_02245298: .word 0x00002DAC
+
+ thumb_func_start MOD11_0224529C
+MOD11_0224529C: ; 0x0224529C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp]
+ add r7, r1, #0
+ bl MOD11_0222FF74
+ mov r1, #0x84
+ tst r1, r0
+ beq _022452B4
+ add sp, #0xc
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_022452B4:
+ mov r1, #1
+ add r2, r0, #0
+ tst r2, r1
+ bne _022452C2
+ add sp, #0xc
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_022452C2:
+ mov r2, #2
+ tst r0, r2
+ beq _022452CE
+ add sp, #0xc
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_022452CE:
+ ldr r0, [sp]
+ bl MOD11_02230140
+ str r0, [sp, #8]
+ mov r0, #0
+ str r0, [sp, #4]
+_022452DA:
+ ldr r0, [sp, #4]
+ cmp r0, #4
+ bls _022452E2
+ b _02245478
+_022452E2:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_022452EE: ; jump table
+ .short _022452F8 - _022452EE - 2 ; case 0
+ .short _0224533C - _022452EE - 2 ; case 1
+ .short _02245384 - _022452EE - 2 ; case 2
+ .short _022453F8 - _022452EE - 2 ; case 3
+ .short _02245478 - _022452EE - 2 ; case 4
+_022452F8:
+ ldr r0, _02245488 ; =0x00002E7C
+ ldrb r0, [r7, r0]
+ cmp r0, #1
+ bne _02245334
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r1, [r7, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _02245334
+ ldr r0, [sp, #8]
+ mov r1, #0xd
+ mov r2, #5
+ bl FUN_0206ACD4
+ cmp r0, #0
+ beq _02245334
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r2, [r7, r1]
+ mov r0, #0x20
+ orr r0, r2
+ str r0, [r7, r1]
+ mov r0, #0x13
+ mov r1, #0xd
+ lsl r0, r0, #4
+ str r1, [r7, r0]
+ add sp, #0xc
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02245334:
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+ b _02245478
+_0224533C:
+ ldr r1, _0224548C ; =0x00002E7D
+ mov r0, #2
+ ldrb r2, [r7, r1]
+ tst r0, r2
+ bne _0224537C
+ add r0, r1, #0
+ sub r0, #0x31
+ sub r1, #0x2d
+ ldr r2, [r7, r0]
+ ldr r0, [r7, r1]
+ lsr r0, r0, #1
+ cmp r2, r0
+ bhi _0224537C
+ ldr r0, [sp, #8]
+ mov r1, #0xe
+ mov r2, #5
+ bl FUN_0206ACD4
+ cmp r0, #0
+ beq _0224537C
+ ldr r1, _0224548C ; =0x00002E7D
+ mov r0, #2
+ ldrb r2, [r7, r1]
+ add sp, #0xc
+ orr r0, r2
+ strb r0, [r7, r1]
+ mov r0, #0x13
+ mov r1, #0xe
+ lsl r0, r0, #4
+ str r1, [r7, r0]
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_0224537C:
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+ b _02245478
+_02245384:
+ ldr r0, _0224548C ; =0x00002E7D
+ ldrb r1, [r7, r0]
+ mov r0, #3
+ tst r0, r1
+ bne _022453F0
+ ldr r0, [sp]
+ mov r1, #1
+ bl MOD11_0222FF88
+ mov r6, #0
+ add r5, r0, #0
+ add r4, r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _022453C6
+_022453A4:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022453BA
+ add r6, r6, #1
+_022453BA:
+ add r0, r5, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _022453A4
+_022453C6:
+ cmp r6, #1
+ bne _022453F0
+ ldr r0, [sp, #8]
+ mov r1, #0xf
+ mov r2, #5
+ bl FUN_0206ACD4
+ cmp r0, #0
+ beq _022453F0
+ ldr r1, _0224548C ; =0x00002E7D
+ mov r0, #3
+ ldrb r2, [r7, r1]
+ add sp, #0xc
+ orr r0, r2
+ strb r0, [r7, r1]
+ mov r0, #0x13
+ mov r1, #0xf
+ lsl r0, r0, #4
+ str r1, [r7, r0]
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_022453F0:
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+ b _02245478
+_022453F8:
+ ldr r0, _0224548C ; =0x00002E7D
+ ldrb r1, [r7, r0]
+ mov r0, #4
+ tst r0, r1
+ bne _02245472
+ ldr r0, [sp]
+ mov r1, #1
+ bl MOD11_0222FF88
+ mov r6, #0
+ add r5, r0, #0
+ add r4, r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0224543A
+_02245418:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl FUN_0206B9B0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0224542E
+ add r6, r6, #1
+_0224542E:
+ add r0, r5, #0
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02245418
+_0224543A:
+ cmp r6, #1
+ bne _02245472
+ ldr r0, _02245490 ; =0x00002E4C
+ ldr r1, [r7, r0]
+ add r0, r0, #4
+ ldr r0, [r7, r0]
+ lsr r0, r0, #1
+ cmp r1, r0
+ bhi _02245472
+ ldr r0, [sp, #8]
+ mov r1, #0x10
+ mov r2, #5
+ bl FUN_0206ACD4
+ cmp r0, #0
+ beq _02245472
+ ldr r1, _0224548C ; =0x00002E7D
+ mov r0, #4
+ ldrb r2, [r7, r1]
+ add sp, #0xc
+ orr r0, r2
+ strb r0, [r7, r1]
+ mov r0, #0x13
+ mov r1, #0x10
+ lsl r0, r0, #4
+ str r1, [r7, r0]
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02245472:
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+_02245478:
+ ldr r0, [sp, #4]
+ cmp r0, #4
+ beq _02245480
+ b _022452DA
+_02245480:
+ mov r0, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02245488: .word 0x00002E7C
+_0224548C: .word 0x00002E7D
+_02245490: .word 0x00002E4C
+
+ thumb_func_start MOD11_02245494
+MOD11_02245494: ; 0x02245494
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r1, _02245574 ; =0x00002144
+ add r5, r0, #0
+ mov r4, #0
+ add r0, r1, #0
+ str r4, [r5, r1]
+ mov r2, #1
+ add r0, #0xc
+ str r2, [r5, r0]
+ add r0, r1, #0
+ add r0, #8
+ str r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x10
+ str r4, [r5, r0]
+ add r0, r1, #0
+ mov r2, #0xa
+ add r0, #0x14
+ str r2, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x1c
+ str r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x20
+ str r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x28
+ str r4, [r5, r0]
+ mov r0, #0xff
+ add r2, r1, #0
+ str r0, [r5, #0x74]
+ add r2, #0x2c
+ str r4, [r5, r2]
+ add r2, r1, #0
+ add r2, #0x30
+ str r4, [r5, r2]
+ add r2, r1, #0
+ add r2, #0x34
+ str r4, [r5, r2]
+ add r2, r5, #0
+ add r2, #0x88
+ str r4, [r2]
+ add r2, r5, #0
+ add r2, #0x8c
+ str r4, [r2]
+ add r2, r5, #0
+ add r2, #0x94
+ str r0, [r2]
+ add r0, r1, #0
+ add r0, #0x38
+ strb r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x39
+ strb r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x3a
+ strb r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x3c
+ str r4, [r5, r0]
+ add r0, r1, #0
+ str r4, [r5, #0x38]
+ add r0, #0x40
+ str r4, [r5, r0]
+ add r0, r1, #0
+ add r0, #0x44
+ str r4, [r5, r0]
+ str r4, [r5, #0x10]
+ str r4, [r5, #0x18]
+ str r4, [r5, #0x20]
+ str r4, [r5, #0x28]
+ str r4, [r5, #0x30]
+ str r4, [r5, #0x3c]
+ str r4, [r5, #0x40]
+ str r4, [r5, #0x48]
+ str r4, [r5, #0x4c]
+ str r4, [r5, #0x50]
+ add r0, r1, #0
+ str r4, [r5, #0x54]
+ sub r0, #8
+ ldr r2, [r5, r0]
+ ldr r0, _02245578 ; =0xFF880000
+ mov r7, #6
+ and r2, r0
+ add r0, r1, #0
+ sub r0, #8
+ str r2, [r5, r0]
+ sub r0, r1, #4
+ ldr r2, [r5, r0]
+ ldr r0, _0224557C ; =0xFFFFFEA1
+ and r2, r0
+ sub r0, r1, #4
+ str r2, [r5, r0]
+ ldr r0, _02245580 ; =0x00003120
+ strb r4, [r5, r0]
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r6, r5, r0
+_02245558:
+ mov r0, #0
+ add r1, r6, #0
+ mov r2, #0x1c
+ blx MIi_CpuClearFast
+ add r1, r5, r4
+ ldr r0, _02245584 ; =0x000021A4
+ add r4, r4, #1
+ add r6, #0x1c
+ strb r7, [r1, r0]
+ cmp r4, #4
+ blt _02245558
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02245574: .word 0x00002144
+_02245578: .word 0xFF880000
+_0224557C: .word 0xFFFFFEA1
+_02245580: .word 0x00003120
+_02245584: .word 0x000021A4
+
+ thumb_func_start MOD11_02245588
+MOD11_02245588: ; 0x02245588
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ str r0, [sp]
+ mov r4, #0
+ add r5, r6, #0
+ mov r7, #0xff
+_02245594:
+ ldr r0, _022455F0 ; =0x0000306C
+ add r2, r6, r4
+ strh r7, [r5, r0]
+ ldr r0, _022455F4 ; =0x000021A0
+ mov r1, #6
+ strb r1, [r2, r0]
+ bl FUN_0201B9EC
+ ldr r1, _022455F8 ; =0x0000310C
+ add r4, r4, #1
+ strh r0, [r5, r1]
+ add r5, r5, #2
+ cmp r4, #4
+ blt _02245594
+ ldr r0, _022455FC ; =0x00002168
+ mov r1, #1
+ str r1, [r6, r0]
+ mov r0, #0x5d
+ lsl r0, r0, #2
+ str r1, [r6, r0]
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _022455E4
+ add r0, r1, #0
+ bl FUN_0206A92C
+ ldr r1, _02245600 ; =0x00003108
+ ldrb r2, [r6, r1]
+ orr r0, r2
+ strb r0, [r6, r1]
+ mov r0, #3
+ bl FUN_0206A92C
+ ldr r1, _02245600 ; =0x00003108
+ ldrb r2, [r6, r1]
+ orr r0, r2
+ strb r0, [r6, r1]
+_022455E4:
+ ldr r0, _02245604 ; =0x0000311C
+ mov r1, #6
+ strb r1, [r6, r0]
+ add r0, r0, #1
+ strb r1, [r6, r0]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022455F0: .word 0x0000306C
+_022455F4: .word 0x000021A0
+_022455F8: .word 0x0000310C
+_022455FC: .word 0x00002168
+_02245600: .word 0x00003108
+_02245604: .word 0x0000311C
+
+ thumb_func_start MOD11_02245608
+MOD11_02245608: ; 0x02245608
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x58
+ str r1, [sp, #4]
+ str r0, [sp]
+ ldr r1, _0224594C ; =0x00002DC8
+ ldr r0, [sp, #4]
+ add r4, r2, #0
+ add r1, r0, r1
+ mov r0, #0xc0
+ mul r0, r4
+ add r5, r1, r0
+ str r5, [sp, #0x14]
+ add r3, sp, #0x20
+ mov r2, #7
+_02245624:
+ ldmia r5!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _02245624
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ ldr r1, [sp, #4]
+ lsl r2, r4, #4
+ add r1, r1, r2
+ ldr r2, _02245950 ; =0x000021A8
+ mov r0, #0x27
+ str r0, [r1, r2]
+ ldr r1, [sp, #4]
+ sub r2, #0x6c
+ ldr r1, [r1, r2]
+ add r0, #0xd9
+ tst r0, r1
+ bne _022456E2
+ mov r5, #0
+ cmp r6, #0
+ ble _022456BE
+ ldr r1, [sp, #4]
+ ldr r2, _02245954 ; =0x00002DCC
+ add r0, r1, #0
+ add r2, r0, r2
+ mov r0, #0x18
+ mov ip, r0
+ mov r7, #3
+_02245666:
+ ldr r0, _02245958 ; =0x00002DB0
+ ldr r3, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x1a
+ tst r0, r3
+ beq _02245688
+ ldr r0, [r2]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1e
+ cmp r4, r0
+ bne _02245688
+ ldr r0, _02245958 ; =0x00002DB0
+ ldr r3, [r1, r0]
+ ldr r0, _0224595C ; =0xFBFFFFFF
+ and r3, r0
+ ldr r0, _02245958 ; =0x00002DB0
+ str r3, [r1, r0]
+_02245688:
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r3, [r1, r0]
+ mov r0, #0x18
+ tst r0, r3
+ beq _022456B4
+ ldr r0, [r2]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1e
+ cmp r4, r0
+ bne _022456B4
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r0, [r1, r0]
+ mov r3, ip
+ bic r0, r3
+ mov r3, #0xb7
+ lsl r3, r3, #6
+ str r0, [r1, r3]
+ ldr r0, [r2]
+ bic r0, r7
+ str r0, [r2]
+_022456B4:
+ add r5, r5, #1
+ add r1, #0xc0
+ add r2, #0xc0
+ cmp r5, r6
+ blt _02245666
+_022456BE:
+ mov r0, #0xc0
+ mul r0, r4
+ str r0, [sp, #0xc]
+ ldr r2, [sp, #4]
+ ldr r1, [sp, #0xc]
+ mov r0, #0
+ add r1, r2, r1
+ ldr r2, _02245958 ; =0x00002DB0
+ str r0, [r1, r2]
+ ldr r1, [sp, #4]
+ add r2, #0x10
+ add r2, r1, r2
+ ldr r1, [sp, #0xc]
+ add r1, r2, r1
+ str r1, [sp, #0x10]
+ ldr r1, [sp, #0xc]
+ str r0, [r2, r1]
+ b _0224575A
+_022456E2:
+ mov r0, #0xc0
+ mul r0, r4
+ str r0, [sp, #0xc]
+ ldr r1, _02245958 ; =0x00002DB0
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0xc]
+ add r0, r0, r1
+ ldr r3, [r0, r2]
+ ldr r2, _02245960 ; =0x15100007
+ and r3, r2
+ ldr r2, [sp, #0xc]
+ str r3, [r0, r2]
+ add r2, r1, #0
+ ldr r0, [sp, #4]
+ add r2, #0x10
+ add r0, r0, r2
+ ldr r2, [sp, #0xc]
+ add r2, r0, r2
+ str r2, [sp, #0x10]
+ ldr r2, [sp, #0xc]
+ ldr r3, [r0, r2]
+ ldr r2, _02245964 ; =0x0FA3843F
+ and r3, r2
+ ldr r2, [sp, #0xc]
+ str r3, [r0, r2]
+ mov r2, #0
+ cmp r6, #0
+ ble _0224575A
+ ldr r0, [sp, #4]
+ add r1, #0x1c
+ add r3, r0, #0
+ add r1, r3, r1
+ mov r7, #0x18
+_02245724:
+ mov r3, #0xb7
+ lsl r3, r3, #6
+ ldr r5, [r0, r3]
+ mov r3, #0x18
+ tst r3, r5
+ beq _02245750
+ ldr r3, [r1]
+ lsl r3, r3, #0x1e
+ lsr r3, r3, #0x1e
+ cmp r4, r3
+ bne _02245750
+ mov r3, #0xb7
+ lsl r3, r3, #6
+ ldr r5, [r0, r3]
+ bic r5, r7
+ str r5, [r0, r3]
+ ldr r5, [r0, r3]
+ mov r3, #0x10
+ orr r5, r3
+ mov r3, #0xb7
+ lsl r3, r3, #6
+ str r5, [r0, r3]
+_02245750:
+ add r2, r2, #1
+ add r0, #0xc0
+ add r1, #0xc0
+ cmp r2, r6
+ blt _02245724
+_0224575A:
+ mov r0, #0
+ str r0, [sp, #8]
+ cmp r6, #0
+ ble _022457C2
+ ldr r5, [sp, #4]
+ ldr r1, _02245954 ; =0x00002DCC
+ add r0, r5, #0
+ add r7, r0, r1
+_0224576A:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, _02245958 ; =0x00002DB0
+ lsl r0, r0, #0x10
+ ldr r1, [r5, r1]
+ tst r0, r1
+ beq _02245792
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, _02245958 ; =0x00002DB0
+ lsl r2, r0, #0x10
+ mov r0, #0
+ mvn r0, r0
+ ldr r1, [r5, r1]
+ eor r0, r2
+ and r1, r0
+ ldr r0, _02245958 ; =0x00002DB0
+ str r1, [r5, r0]
+_02245792:
+ ldr r0, _02245958 ; =0x00002DB0
+ ldr r1, [r5, r0]
+ mov r0, #0xe
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _022457B4
+ ldr r0, [r7]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1e
+ cmp r4, r0
+ bne _022457B4
+ ldr r0, _02245958 ; =0x00002DB0
+ ldr r1, [r5, r0]
+ ldr r0, _02245968 ; =0xFFFF1FFF
+ and r1, r0
+ ldr r0, _02245958 ; =0x00002DB0
+ str r1, [r5, r0]
+_022457B4:
+ ldr r0, [sp, #8]
+ add r5, #0xc0
+ add r0, r0, #1
+ add r7, #0xc0
+ str r0, [sp, #8]
+ cmp r0, r6
+ blt _0224576A
+_022457C2:
+ mov r2, #0
+ add r1, r2, #0
+_022457C6:
+ ldr r0, [sp, #0x14]
+ strb r1, [r0, r2]
+ add r2, r2, #1
+ cmp r2, #0x38
+ blo _022457C6
+ ldr r1, _0224596C ; =0x0000213C
+ ldr r0, [sp, #4]
+ ldr r1, [r0, r1]
+ mov r0, #1
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _0224587A
+ ldr r1, [sp, #4]
+ ldr r0, [sp, #0xc]
+ ldr r2, [sp, #0x38]
+ add r0, r1, r0
+ ldr r1, _02245970 ; =0x00002DE0
+ str r2, [r0, r1]
+ ldr r0, [sp, #4]
+ sub r1, #0x14
+ add r0, r0, r1
+ ldr r1, [sp, #0xc]
+ mov r2, #3
+ ldr r1, [r0, r1]
+ bic r1, r2
+ ldr r2, [sp, #0x24]
+ lsl r2, r2, #0x1e
+ lsr r3, r2, #0x1e
+ mov r2, #3
+ and r2, r3
+ orr r2, r1
+ ldr r1, [sp, #0xc]
+ str r2, [r0, r1]
+ ldr r3, [sp, #0x20]
+ ldr r1, [sp, #0x14]
+ lsl r3, r3, #0x11
+ lsr r3, r3, #0x1e
+ lsl r3, r3, #0x1e
+ ldr r1, [r1]
+ ldr r2, _02245974 ; =0xFFFF9FFF
+ lsr r3, r3, #0x11
+ and r1, r2
+ orr r3, r1
+ ldr r1, [sp, #0x14]
+ str r3, [r1]
+ ldr r1, [sp, #0xc]
+ ldr r3, [r0, r1]
+ asr r1, r2, #5
+ ldr r2, [sp, #0x24]
+ and r1, r3
+ lsl r2, r2, #0x16
+ lsr r2, r2, #0x1e
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #0x16
+ orr r2, r1
+ ldr r1, [sp, #0xc]
+ str r2, [r0, r1]
+ ldr r2, [r0, r1]
+ ldr r1, _02245968 ; =0xFFFF1FFF
+ and r1, r2
+ ldr r2, [sp, #0x24]
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x1d
+ lsl r2, r2, #0x1d
+ lsr r2, r2, #0x10
+ orr r2, r1
+ ldr r1, [sp, #0xc]
+ str r2, [r0, r1]
+ ldr r3, [sp, #0x24]
+ ldr r1, [r0, r1]
+ lsl r3, r3, #0xa
+ ldr r2, _02245978 ; =0xFFC7FFFF
+ lsr r3, r3, #0x1d
+ lsl r3, r3, #0x1d
+ and r1, r2
+ lsr r3, r3, #0xa
+ orr r3, r1
+ ldr r1, [sp, #0xc]
+ str r3, [r0, r1]
+ ldr r3, [r0, r1]
+ asr r1, r2, #3
+ ldr r2, [sp, #0x24]
+ and r1, r3
+ lsl r2, r2, #0xd
+ lsr r2, r2, #0x1d
+ lsl r2, r2, #0x1d
+ lsr r2, r2, #0xd
+ orr r2, r1
+ ldr r1, [sp, #0xc]
+ str r2, [r0, r1]
+_0224587A:
+ mov r0, #0xc0
+ add r3, r0, #0
+ ldr r2, [sp, #4]
+ add r3, #0x90
+ ldr r2, [r2, r3]
+ add r1, r4, #0
+ ldr r3, [sp, #4]
+ mul r1, r0
+ add r5, r0, #0
+ add r1, r3, r1
+ ldr r3, _0224597C ; =0x00002DD4
+ add r2, r2, #1
+ str r2, [r1, r3]
+ ldr r2, [sp, #4]
+ add r5, #0x90
+ ldr r2, [r2, r5]
+ add r0, #0x90
+ add r5, r2, #1
+ add r2, r3, #4
+ str r5, [r1, r2]
+ ldr r1, [sp, #0x14]
+ lsl r7, r4, #1
+ ldr r2, [r1]
+ ldr r1, _02245980 ; =0xBFFFFFFF
+ mov r5, #0
+ and r1, r2
+ ldr r2, [sp, #4]
+ ldr r0, [r2, r0]
+ add r0, r0, #1
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #1
+ orr r1, r0
+ ldr r0, [sp, #0x14]
+ str r1, [r0]
+ add r0, r2, #0
+ ldr r1, _02245984 ; =0x0000305C
+ add r3, r0, r7
+ add r0, r1, #0
+ strh r5, [r3, r1]
+ add r0, #8
+ strh r5, [r3, r0]
+ add r0, r1, #0
+ mov r2, #0xff
+ add r0, #0x10
+ strh r2, [r3, r0]
+ add r0, r1, #0
+ add r0, #0x18
+ strh r5, [r3, r0]
+ add r0, r1, #0
+ add r0, #0x20
+ strh r5, [r3, r0]
+ add r0, r1, #0
+ add r0, #0x28
+ strh r5, [r3, r0]
+ ldr r0, [sp, #4]
+ lsl r2, r4, #3
+ add r0, r0, r2
+ add r2, r1, #0
+ add r2, #0x30
+ strh r5, [r0, r2]
+ add r2, r1, #0
+ add r2, #0x32
+ strh r5, [r0, r2]
+ add r2, r1, #0
+ add r2, #0x34
+ strh r5, [r0, r2]
+ add r2, r1, #0
+ add r2, #0x36
+ strh r5, [r0, r2]
+ add r0, r1, #0
+ add r0, #0x50
+ strh r5, [r3, r0]
+ add r0, r1, #0
+ add r0, #0x68
+ strh r5, [r3, r0]
+ add r0, r1, #0
+ add r0, #0x70
+ strh r5, [r3, r0]
+ add r0, r1, #0
+ add r0, #0x78
+ strh r5, [r3, r0]
+ add r1, #0x80
+ add r0, r4, #0
+ strh r5, [r3, r1]
+ bl FUN_0206A92C
+ mov r1, #6
+ lsl r3, r0, #8
+ sub r0, r5, #1
+ ldr r2, [sp, #4]
+ lsl r1, r1, #6
+ ldr r2, [r2, r1]
+ eor r0, r3
+ and r2, r0
+ ldr r0, [sp, #4]
+ str r2, [r0, r1]
+ ldr r0, [sp, #0x10]
+ ldr r1, [r0]
+ mov r0, #2
+ lsl r0, r0, #0x16
+ tst r0, r1
+ beq _022459A2
+ ldr r0, _02245988 ; =0x00002D42
+ b _0224598C
+ nop
+_0224594C: .word 0x00002DC8
+_02245950: .word 0x000021A8
+_02245954: .word 0x00002DCC
+_02245958: .word 0x00002DB0
+_0224595C: .word 0xFBFFFFFF
+_02245960: .word 0x15100007
+_02245964: .word 0x0FA3843F
+_02245968: .word 0xFFFF1FFF
+_0224596C: .word 0x0000213C
+_02245970: .word 0x00002DE0
+_02245974: .word 0xFFFF9FFF
+_02245978: .word 0xFFC7FFFF
+_0224597C: .word 0x00002DD4
+_02245980: .word 0xBFFFFFFF
+_02245984: .word 0x0000305C
+_02245988: .word 0x00002D42
+_0224598C:
+ ldr r1, [sp, #4]
+ add r5, r1, r0
+ ldr r1, [sp, #0xc]
+ ldrh r3, [r5, r1]
+ add r1, r0, #2
+ ldr r0, [sp, #4]
+ add r2, r0, r1
+ ldr r0, [sp, #0xc]
+ ldrh r1, [r2, r0]
+ strh r1, [r5, r0]
+ strh r3, [r2, r0]
+_022459A2:
+ mov r5, #0
+ cmp r6, #0
+ ble _022459E6
+ ldr r0, [sp, #4]
+ str r0, [sp, #0x18]
+ add r7, r0, r7
+_022459AE:
+ cmp r5, r4
+ beq _022459D2
+ ldr r0, [sp]
+ add r1, r5, #0
+ bl MOD11_02230270
+ str r0, [sp, #0x1c]
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02230270
+ ldr r1, [sp, #0x1c]
+ cmp r1, r0
+ beq _022459D2
+ ldr r1, [sp, #0x18]
+ ldr r0, _02245A08 ; =0x00003084
+ mov r2, #0
+ strh r2, [r1, r0]
+_022459D2:
+ ldr r0, _02245A0C ; =0x0000308C
+ mov r1, #0
+ strh r1, [r7, r0]
+ ldr r0, [sp, #0x18]
+ add r5, r5, #1
+ add r0, r0, #2
+ str r0, [sp, #0x18]
+ add r7, #8
+ cmp r5, r6
+ blt _022459AE
+_022459E6:
+ lsl r1, r4, #0x18
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x18
+ bl MOD11_0224C818
+ lsl r1, r4, #0x18
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x18
+ bl MOD11_0224C830
+ lsl r1, r4, #0x18
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x18
+ bl MOD11_0224C83C
+ add sp, #0x58
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02245A08: .word 0x00003084
+_02245A0C: .word 0x0000308C
+
+ thumb_func_start MOD11_02245A10
+MOD11_02245A10: ; 0x02245A10
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ str r1, [sp, #4]
+ str r0, [sp]
+ add r5, r2, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #0xc]
+ mov r0, #0xc0
+ mul r0, r5
+ ldr r1, [sp, #4]
+ str r0, [sp, #8]
+ add r3, r1, r0
+ ldr r0, _02245C34 ; =0x00002D58
+ mov r2, #0
+ mov r1, #6
+_02245A30:
+ add r2, r2, #1
+ strb r1, [r3, r0]
+ add r3, r3, #1
+ cmp r2, #8
+ blt _02245A30
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ ldr r0, [sp, #4]
+ mov r7, #0
+ add r2, r0, r1
+ ldr r1, _02245C38 ; =0x00002DB0
+ add r0, r1, #0
+ str r7, [r2, r1]
+ add r0, #0x10
+ str r7, [r2, r0]
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ ble _02245AD6
+ ldr r4, [sp, #4]
+ add r1, #0x1c
+ add r0, r4, #0
+ add r6, r0, r1
+_02245A5E:
+ ldr r0, _02245C38 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ mov r0, #1
+ lsl r0, r0, #0x1a
+ tst r0, r1
+ beq _02245A80
+ ldr r0, [r6]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1e
+ cmp r5, r0
+ bne _02245A80
+ ldr r0, _02245C38 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ ldr r0, _02245C3C ; =0xFBFFFFFF
+ and r1, r0
+ ldr r0, _02245C38 ; =0x00002DB0
+ str r1, [r4, r0]
+_02245A80:
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, _02245C38 ; =0x00002DB0
+ lsl r0, r0, #0x10
+ ldr r1, [r4, r1]
+ tst r0, r1
+ beq _02245AA8
+ add r0, r5, #0
+ bl FUN_0206A92C
+ ldr r1, _02245C38 ; =0x00002DB0
+ lsl r2, r0, #0x10
+ mov r0, #0
+ mvn r0, r0
+ ldr r1, [r4, r1]
+ eor r0, r2
+ and r1, r0
+ ldr r0, _02245C38 ; =0x00002DB0
+ str r1, [r4, r0]
+_02245AA8:
+ ldr r0, _02245C38 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ mov r0, #0xe
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02245ACA
+ ldr r0, [r6]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1e
+ cmp r5, r0
+ bne _02245ACA
+ ldr r0, _02245C38 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ ldr r0, _02245C40 ; =0xFFFF1FFF
+ and r1, r0
+ ldr r0, _02245C38 ; =0x00002DB0
+ str r1, [r4, r0]
+_02245ACA:
+ ldr r0, [sp, #0xc]
+ add r7, r7, #1
+ add r4, #0xc0
+ add r6, #0xc0
+ cmp r7, r0
+ blt _02245A5E
+_02245AD6:
+ ldr r1, _02245C44 ; =0x00002DC8
+ ldr r0, [sp, #4]
+ add r1, r0, r1
+ ldr r0, [sp, #8]
+ add r6, r1, r0
+ mov r1, #0
+ add r0, r1, #0
+_02245AE4:
+ strb r0, [r6, r1]
+ add r1, r1, #1
+ cmp r1, #0x38
+ blo _02245AE4
+ mov r2, #0x75
+ ldr r1, [sp, #4]
+ lsl r2, r2, #2
+ add r2, r1, r2
+ lsl r1, r5, #6
+ add r1, r2, r1
+ mov r4, #0
+_02245AFA:
+ strb r4, [r1, r0]
+ add r0, r0, #1
+ cmp r0, #0x40
+ blo _02245AFA
+ mov r2, #0xc0
+ add r3, r2, #0
+ ldr r0, [sp, #4]
+ add r3, #0x90
+ ldr r0, [r0, r3]
+ add r1, r5, #0
+ ldr r3, [sp, #4]
+ mul r1, r2
+ add r3, r3, r1
+ add r1, r2, #0
+ ldr r7, _02245C48 ; =0x00002DD4
+ add r0, r0, #1
+ str r0, [r3, r7]
+ ldr r0, [sp, #4]
+ add r1, #0x90
+ ldr r0, [r0, r1]
+ add r1, r7, #4
+ add r0, r0, #1
+ str r0, [r3, r1]
+ ldr r1, [r6]
+ ldr r0, _02245C4C ; =0xBFFFFFFF
+ add r2, #0x90
+ and r0, r1
+ ldr r1, [sp, #4]
+ mov r3, #0xff
+ ldr r1, [r1, r2]
+ add r1, r1, #1
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #1
+ orr r0, r1
+ str r0, [r6]
+ ldr r0, [sp, #4]
+ lsl r6, r5, #1
+ add r2, r0, r6
+ ldr r0, _02245C50 ; =0x0000305C
+ add r1, r0, #0
+ strh r4, [r2, r0]
+ add r1, #8
+ strh r4, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x10
+ strh r3, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x18
+ strh r4, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x20
+ strh r4, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x28
+ strh r4, [r2, r1]
+ ldr r1, [sp, #4]
+ lsl r3, r5, #3
+ add r1, r1, r3
+ add r3, r0, #0
+ add r3, #0x30
+ strh r4, [r1, r3]
+ add r3, r0, #0
+ add r3, #0x32
+ strh r4, [r1, r3]
+ add r3, r0, #0
+ add r3, #0x34
+ strh r4, [r1, r3]
+ add r3, r0, #0
+ add r3, #0x36
+ strh r4, [r1, r3]
+ add r1, r0, #0
+ add r1, #0x50
+ strh r4, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x68
+ strh r4, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x70
+ strh r4, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x78
+ strh r4, [r2, r1]
+ add r0, #0x80
+ strh r4, [r2, r0]
+ add r0, r5, #0
+ bl FUN_0206A92C
+ mov r1, #6
+ lsl r3, r0, #8
+ mov r0, #0
+ mvn r0, r0
+ ldr r2, [sp, #4]
+ lsl r1, r1, #6
+ ldr r2, [r2, r1]
+ eor r0, r3
+ and r2, r0
+ ldr r0, [sp, #4]
+ mov r4, #0
+ str r2, [r0, r1]
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ ble _02245C00
+ ldr r7, [sp, #4]
+ add r0, r7, #0
+ add r6, r0, r6
+_02245BCC:
+ cmp r4, r5
+ beq _02245BEE
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02230270
+ str r0, [sp, #0x10]
+ ldr r0, [sp]
+ add r1, r5, #0
+ bl MOD11_02230270
+ ldr r1, [sp, #0x10]
+ cmp r1, r0
+ beq _02245BEE
+ ldr r0, _02245C54 ; =0x00003084
+ mov r1, #0
+ strh r1, [r7, r0]
+_02245BEE:
+ ldr r0, _02245C58 ; =0x0000308C
+ mov r1, #0
+ strh r1, [r6, r0]
+ ldr r0, [sp, #0xc]
+ add r4, r4, #1
+ add r7, r7, #2
+ add r6, #8
+ cmp r4, r0
+ blt _02245BCC
+_02245C00:
+ mov r1, #0x4f
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ add r3, r0, r1
+ lsl r2, r5, #2
+ ldr r1, [r3, r2]
+ mov r0, #1
+ bic r1, r0
+ str r1, [r3, r2]
+ lsl r1, r5, #0x18
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x18
+ bl MOD11_0224C818
+ lsl r1, r5, #0x18
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x18
+ bl MOD11_0224C830
+ lsl r1, r5, #0x18
+ ldr r0, [sp, #4]
+ lsr r1, r1, #0x18
+ bl MOD11_0224C83C
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02245C34: .word 0x00002D58
+_02245C38: .word 0x00002DB0
+_02245C3C: .word 0xFBFFFFFF
+_02245C40: .word 0xFFFF1FFF
+_02245C44: .word 0x00002DC8
+_02245C48: .word 0x00002DD4
+_02245C4C: .word 0xBFFFFFFF
+_02245C50: .word 0x0000305C
+_02245C54: .word 0x00003084
+_02245C58: .word 0x0000308C
+
+ thumb_func_start MOD11_02245C5C
+MOD11_02245C5C: ; 0x02245C5C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ mov r0, #0x75
+ add r5, r1, #0
+ lsl r0, r0, #2
+ add r7, r5, r0
+ mov r0, #0xd1
+ lsl r0, r0, #2
+ add r6, r5, r0
+ mov r0, #8
+ add r4, r5, #0
+ str r0, [sp, #8]
+_02245C7A:
+ mov r0, #0
+ add r1, r7, #0
+ mov r2, #0x40
+ blx MIi_CpuClearFast
+ mov r0, #0
+ add r1, r6, #0
+ mov r2, #4
+ blx MIi_CpuClearFast
+ ldr r0, _02245D24 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ ldr r0, [sp, #8]
+ bic r1, r0
+ ldr r0, _02245D24 ; =0x00002DB0
+ str r1, [r4, r0]
+ add r0, #0x20
+ ldr r0, [r4, r0]
+ add r1, r0, #1
+ mov r0, #0x15
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ cmp r1, r0
+ bge _02245CB6
+ ldr r0, _02245D24 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ ldr r0, _02245D28 ; =0xFFBFFFFF
+ and r1, r0
+ ldr r0, _02245D24 ; =0x00002DB0
+ str r1, [r4, r0]
+_02245CB6:
+ ldr r0, _02245D2C ; =0x00002DAC
+ ldr r1, [r4, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _02245CD6
+ ldr r0, _02245D24 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ mov r0, #1
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02245CD6
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r5, #0
+ bl MOD11_022451F0
+_02245CD6:
+ ldr r0, _02245D2C ; =0x00002DAC
+ ldr r1, [r4, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _02245CF8
+ ldr r0, _02245D24 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ mov r0, #3
+ lsl r0, r0, #0xa
+ tst r0, r1
+ beq _02245CF8
+ ldr r0, _02245D24 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ ldr r0, _02245D30 ; =0xFFFFF3FF
+ and r1, r0
+ ldr r0, _02245D24 ; =0x00002DB0
+ str r1, [r4, r0]
+_02245CF8:
+ ldr r0, [sp, #4]
+ add r7, #0x40
+ add r0, r0, #1
+ add r6, r6, #4
+ add r4, #0xc0
+ str r0, [sp, #4]
+ cmp r0, #4
+ blt _02245C7A
+ mov r2, #0x71
+ lsl r2, r2, #2
+ ldr r0, [r5, r2]
+ ldr r1, _02245D34 ; =0xFFEFFFFF
+ and r0, r1
+ str r0, [r5, r2]
+ add r0, r2, #0
+ add r0, #8
+ ldr r0, [r5, r0]
+ add r2, #8
+ and r0, r1
+ str r0, [r5, r2]
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02245D24: .word 0x00002DB0
+_02245D28: .word 0xFFBFFFFF
+_02245D2C: .word 0x00002DAC
+_02245D30: .word 0xFFFFF3FF
+_02245D34: .word 0xFFEFFFFF
+
+ thumb_func_start MOD11_02245D38
+MOD11_02245D38: ; 0x02245D38
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x5c
+ str r0, [sp]
+ ldr r0, [sp, #0x70]
+ add r7, r1, #0
+ str r0, [sp, #0x70]
+ str r2, [sp, #4]
+ add r0, r7, #0
+ add r1, r2, #0
+ add r5, r3, #0
+ bl MOD11_02249D90
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ add r4, r7, r1
+ str r1, [sp, #0x38]
+ ldr r0, [sp, #0x70]
+ mov r1, #1
+ and r0, r1
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x70]
+ mov r1, #2
+ and r0, r1
+ str r0, [sp, #0x28]
+ ldr r0, [sp, #0x70]
+ mov r1, #4
+ and r0, r1
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #4]
+ mov r1, #8
+ lsl r0, r0, #1
+ add r0, r7, r0
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x70]
+ mov r2, #0x10
+ and r0, r1
+ ldr r1, _02245F50 ; =0x00002DC8
+ str r0, [sp, #0x1c]
+ add r0, r7, r1
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x70]
+ sub r1, #0x88
+ and r0, r2
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x70]
+ mov r2, #0x20
+ and r0, r2
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x70]
+ mov r2, #0x40
+ and r0, r2
+ str r0, [sp, #0x10]
+ ldr r2, [sp, #0x70]
+ mov r0, #0x80
+ and r2, r0
+ str r2, [sp, #0xc]
+ lsl r2, r0, #2
+ ldr r0, [sp, #0x70]
+ mov r6, #0
+ and r0, r2
+ str r0, [sp, #8]
+ add r0, r7, r1
+ str r0, [sp, #0x40]
+ ldr r0, _02245F54 ; =0x00002DE8
+ str r4, [sp, #0x30]
+ add r0, r4, r0
+ str r0, [sp, #0x44]
+ ldr r0, _02245F58 ; =0x00002DB0
+ add r0, r4, r0
+ str r0, [sp, #0x48]
+ ldr r0, _02245F5C ; =0x00002DEC
+ add r0, r4, r0
+ str r0, [sp, #0x4c]
+ ldr r0, _02245F60 ; =0x00002DF8
+ add r0, r4, r0
+ str r0, [sp, #0x50]
+ ldr r0, _02245F60 ; =0x00002DF8
+ add r0, r4, r0
+ str r0, [sp, #0x58]
+ ldr r0, _02245F60 ; =0x00002DF8
+ add r0, r4, r0
+ str r0, [sp, #0x54]
+_02245DE0:
+ ldr r0, _02245F64 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ cmp r0, #0
+ bne _02245DF6
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0
+ beq _02245DF6
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245DF6:
+ ldr r1, [sp, #0x30]
+ ldr r0, _02245F68 ; =0x00002D6C
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ bne _02245E0E
+ ldr r0, [sp, #0x28]
+ cmp r0, #0
+ beq _02245E0E
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245E0E:
+ ldr r0, [sp, #0x44]
+ ldrh r1, [r0]
+ ldr r0, _02245F64 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ cmp r1, r0
+ bne _02245E28
+ ldr r0, [sp, #0x24]
+ cmp r0, #0
+ beq _02245E28
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245E28:
+ ldr r1, [sp, #0x20]
+ ldr r0, _02245F6C ; =0x0000307C
+ ldrh r1, [r1, r0]
+ ldr r0, _02245F64 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ cmp r1, r0
+ bne _02245E50
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _02245E50
+ ldr r0, [sp, #0x48]
+ ldr r1, [r0]
+ mov r0, #2
+ lsl r0, r0, #0x1e
+ tst r0, r1
+ beq _02245E50
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245E50:
+ ldr r1, [sp, #0x3c]
+ ldr r0, [sp, #0x38]
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1d
+ beq _02245E7A
+ ldr r0, [sp, #0x18]
+ cmp r0, #0
+ beq _02245E7A
+ ldr r0, _02245F64 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ lsl r0, r0, #4
+ add r1, r7, r0
+ ldr r0, _02245F70 ; =0x000003E1
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ bne _02245E7A
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245E7A:
+ ldr r3, _02245F64 ; =0x00002D4C
+ ldr r0, [sp]
+ ldrh r3, [r4, r3]
+ ldr r2, [sp, #4]
+ add r1, r7, #0
+ bl MOD11_022471C4
+ cmp r0, #0
+ beq _02245E9A
+ ldr r0, [sp, #0x14]
+ cmp r0, #0
+ beq _02245E9A
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245E9A:
+ ldr r3, _02245F64 ; =0x00002D4C
+ ldr r0, [sp]
+ ldrh r3, [r4, r3]
+ ldr r2, [sp, #4]
+ add r1, r7, #0
+ bl MOD11_02247314
+ cmp r0, #0
+ beq _02245EBA
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _02245EBA
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245EBA:
+ ldr r3, _02245F64 ; =0x00002D4C
+ ldr r0, [sp]
+ ldrh r3, [r4, r3]
+ ldr r2, [sp, #4]
+ add r1, r7, #0
+ bl MOD11_02247348
+ cmp r0, #0
+ beq _02245EDA
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ beq _02245EDA
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245EDA:
+ ldr r0, [sp, #0x4c]
+ ldrh r1, [r0]
+ cmp r1, #0
+ beq _02245EF2
+ ldr r0, _02245F64 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ cmp r1, r0
+ beq _02245EF2
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245EF2:
+ ldr r0, [sp, #0x34]
+ cmp r0, #0x36
+ beq _02245F00
+ cmp r0, #0x72
+ beq _02245F00
+ cmp r0, #0x7c
+ bne _02245F38
+_02245F00:
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _02245F38
+ ldr r1, [sp, #0x40]
+ ldr r0, [sp, #0x38]
+ add r0, r1, r0
+ ldr r1, [sp, #0x50]
+ ldrh r1, [r1]
+ bl MOD11_022461AC
+ cmp r0, #4
+ bne _02245F20
+ ldr r0, [sp, #0x54]
+ mov r1, #0
+ strh r1, [r0]
+ b _02245F38
+_02245F20:
+ ldr r0, [sp, #0x58]
+ ldrh r1, [r0]
+ cmp r1, #0
+ beq _02245F38
+ ldr r0, _02245F64 ; =0x00002D4C
+ ldrh r0, [r4, r0]
+ cmp r1, r0
+ beq _02245F38
+ add r0, r6, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_02245F38:
+ ldr r0, [sp, #0x30]
+ add r6, r6, #1
+ add r0, r0, #1
+ add r4, r4, #2
+ str r0, [sp, #0x30]
+ cmp r6, #4
+ bge _02245F48
+ b _02245DE0
+_02245F48:
+ add r0, r5, #0
+ add sp, #0x5c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02245F50: .word 0x00002DC8
+_02245F54: .word 0x00002DE8
+_02245F58: .word 0x00002DB0
+_02245F5C: .word 0x00002DEC
+_02245F60: .word 0x00002DF8
+_02245F64: .word 0x00002D4C
+_02245F68: .word 0x00002D6C
+_02245F6C: .word 0x0000307C
+_02245F70: .word 0x000003E1
+
+ thumb_func_start MOD11_02245F74
+MOD11_02245F74: ; 0x02245F74
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ add r7, r3, #0
+ mov r3, #1
+ str r3, [sp, #8]
+ mov r3, #4
+ str r3, [sp]
+ mov r3, #0
+ str r0, [sp, #4]
+ add r5, r1, #0
+ add r6, r2, #0
+ ldr r4, [sp, #0x40]
+ bl MOD11_02245D38
+ str r0, [sp, #0xc]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0xc]
+ tst r0, r1
+ beq _02245FC6
+ mov r0, #0xa
+ strb r0, [r4, #1]
+ ldr r0, _02246188 ; =0x00000261
+ add r1, r6, #0
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ lsl r0, r7, #1
+ add r1, r1, r0
+ ldr r0, _0224618C ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ str r0, [r4, #8]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_02245FC6:
+ mov r0, #8
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ str r0, [sp, #0x10]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x10]
+ tst r0, r1
+ beq _02245FFE
+ mov r0, #2
+ strb r0, [r4, #1]
+ mov r0, #0x99
+ lsl r0, r0, #2
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_02245FFE:
+ mov r0, #0x10
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x14]
+ tst r0, r1
+ beq _02246044
+ mov r0, #0xa
+ strb r0, [r4, #1]
+ ldr r0, _02246190 ; =0x00000265
+ add r1, r6, #0
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ lsl r0, r7, #1
+ add r1, r1, r0
+ ldr r0, _0224618C ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ str r0, [r4, #8]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_02246044:
+ mov r0, #0x20
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ str r0, [sp, #0x18]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x18]
+ tst r0, r1
+ beq _0224608C
+ mov r0, #0xa
+ strb r0, [r4, #1]
+ mov r0, #0x9a
+ lsl r0, r0, #2
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ lsl r0, r7, #1
+ add r1, r1, r0
+ ldr r0, _0224618C ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ str r0, [r4, #8]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_0224608C:
+ mov r0, #0x40
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ str r0, [sp, #0x1c]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x1c]
+ tst r0, r1
+ beq _022460D2
+ mov r0, #0xa
+ strb r0, [r4, #1]
+ ldr r0, _02246194 ; =0x000003E9
+ add r1, r6, #0
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ lsl r0, r7, #1
+ add r1, r1, r0
+ ldr r0, _0224618C ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ str r0, [r4, #8]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_022460D2:
+ mov r0, #0x80
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ str r0, [sp, #0x20]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x20]
+ tst r0, r1
+ beq _0224611C
+ mov r0, #0x22
+ strb r0, [r4, #1]
+ ldr r0, _02246198 ; =0x00000421
+ add r1, r6, #0
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ ldr r0, _0224619C ; =0x00000179
+ str r0, [r4, #8]
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ lsl r0, r7, #1
+ add r1, r1, r0
+ ldr r0, _0224618C ; =0x00002D4C
+ ldrh r0, [r1, r0]
+ str r0, [r4, #0xc]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_0224611C:
+ mov r0, #2
+ lsl r0, r0, #8
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ str r0, [sp, #0x24]
+ add r0, r7, #0
+ bl FUN_0206A92C
+ ldr r1, [sp, #0x24]
+ tst r0, r1
+ beq _0224615C
+ mov r0, #0x18
+ strb r0, [r4, #1]
+ ldr r0, _022461A0 ; =0x0000038F
+ strh r0, [r4, #2]
+ mov r0, #0xc0
+ mul r0, r6
+ add r2, r5, r0
+ ldr r0, _022461A4 ; =0x00002DB8
+ ldrh r1, [r2, r0]
+ add r0, #0x40
+ str r1, [r4, #4]
+ ldrh r0, [r2, r0]
+ str r0, [r4, #8]
+ mov r0, #0
+ str r0, [sp, #8]
+ b _02246182
+_0224615C:
+ mov r0, #2
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ mov r3, #0
+ bl MOD11_02245D38
+ add r5, r0, #0
+ add r0, r7, #0
+ bl FUN_0206A92C
+ tst r0, r5
+ beq _02246182
+ mov r0, #0
+ str r0, [sp, #8]
+ strb r0, [r4, #1]
+ ldr r0, _022461A8 ; =0x00000337
+ strh r0, [r4, #2]
+_02246182:
+ ldr r0, [sp, #8]
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02246188: .word 0x00000261
+_0224618C: .word 0x00002D4C
+_02246190: .word 0x00000265
+_02246194: .word 0x000003E9
+_02246198: .word 0x00000421
+_0224619C: .word 0x00000179
+_022461A0: .word 0x0000038F
+_022461A4: .word 0x00002DB8
+_022461A8: .word 0x00000337
+
+ thumb_func_start MOD11_022461AC
+MOD11_022461AC: ; 0x022461AC
+ mov r3, #0
+_022461AE:
+ ldrh r2, [r0, #0xc]
+ cmp r1, r2
+ beq _022461BC
+ add r3, r3, #1
+ add r0, r0, #2
+ cmp r3, #4
+ blt _022461AE
+_022461BC:
+ add r0, r3, #0
+ bx lr
+
+ thumb_func_start MOD11_022461C0
+MOD11_022461C0: ; 0x022461C0
+ push {r4, r5, r6, lr}
+ add r6, r2, #0
+ add r1, r6, #0
+ add r5, r0, #0
+ add r4, r3, #0
+ bl MOD11_02249D90
+ mov r1, #1
+ cmp r0, #0x69
+ beq _022461E6
+ mov r0, #0xc0
+ mul r0, r6
+ add r2, r5, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r2, [r2, r0]
+ lsl r0, r1, #0xa
+ tst r0, r2
+ beq _022461FC
+_022461E6:
+ lsl r0, r4, #1
+ add r2, r4, r0
+ ldr r0, _0224626C ; =0x0225E379
+ ldrb r0, [r0, r2]
+ cmp r0, #2
+ bne _022461FC
+ ldr r0, _02246270 ; =0x0225E37A
+ ldrb r0, [r0, r2]
+ cmp r0, #0
+ bne _022461FC
+ mov r1, #0
+_022461FC:
+ lsl r0, r6, #6
+ add r2, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ beq _0224621A
+ lsl r0, r4, #1
+ add r2, r4, r0
+ ldr r0, _0224626C ; =0x0225E379
+ ldrb r0, [r0, r2]
+ cmp r0, #2
+ bne _0224621A
+ mov r1, #0
+_0224621A:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r2, [r5, r0]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r2
+ beq _0224623E
+ lsl r0, r4, #1
+ add r2, r4, r0
+ ldr r0, _0224626C ; =0x0225E379
+ ldrb r0, [r0, r2]
+ cmp r0, #2
+ bne _0224623E
+ ldr r0, _02246270 ; =0x0225E37A
+ ldrb r0, [r0, r2]
+ cmp r0, #0
+ bne _0224623E
+ mov r1, #0
+_0224623E:
+ mov r0, #0xc0
+ mul r0, r6
+ add r2, r5, r0
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r2, [r2, r0]
+ mov r0, #1
+ lsl r0, r0, #0x16
+ tst r0, r2
+ beq _02246268
+ lsl r0, r4, #1
+ add r2, r4, r0
+ ldr r0, _0224626C ; =0x0225E379
+ ldrb r0, [r0, r2]
+ cmp r0, #0x11
+ bne _02246268
+ ldr r0, _02246270 ; =0x0225E37A
+ ldrb r0, [r0, r2]
+ cmp r0, #0
+ bne _02246268
+ mov r1, #0
+_02246268:
+ add r0, r1, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224626C: .word 0x0225E379
+_02246270: .word 0x0225E37A
+
+ thumb_func_start MOD11_02246274
+MOD11_02246274: ; 0x02246274
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x30
+ ldr r0, [sp, #0x50]
+ add r5, r1, #0
+ str r0, [sp, #0x50]
+ ldr r0, [sp, #0x54]
+ str r2, [sp, #8]
+ str r0, [sp, #0x54]
+ add r0, r2, #0
+ add r4, r3, #0
+ ldr r7, [sp, #0x48]
+ ldr r6, [sp, #0x4c]
+ cmp r0, #0xa5
+ bne _02246296
+ ldr r0, [sp, #0x50]
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+_02246296:
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02249D90
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x24]
+ add r0, r5, #0
+ add r1, r7, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02249D90
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x20]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ bne _022462DE
+ mov r0, #0
+ str r0, [sp, #0x28]
+ b _022462F6
+_022462DE:
+ cmp r4, #0
+ beq _022462EA
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x28]
+ b _022462F6
+_022462EA:
+ ldr r0, [sp, #8]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02246588 ; =0x000003E2
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0x28]
+_022462F6:
+ ldr r0, [sp, #8]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224658C ; =0x000003E1
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0x14]
+ ldr r0, _02246590 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0xa
+ tst r0, r1
+ bne _02246354
+ add r0, r5, #0
+ add r1, r7, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x28]
+ cmp r1, r0
+ beq _02246332
+ add r0, r5, #0
+ add r1, r7, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x28]
+ cmp r1, r0
+ bne _02246354
+_02246332:
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x5b
+ bne _02246346
+ ldr r0, [sp, #0x50]
+ lsl r0, r0, #1
+ str r0, [sp, #0x50]
+ b _02246354
+_02246346:
+ ldr r1, [sp, #0x50]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ str r0, [sp, #0x50]
+_02246354:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r6, #0
+ mov r3, #0x1a
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02246380
+ ldr r0, [sp, #0x28]
+ cmp r0, #4
+ bne _02246380
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x69
+ beq _02246380
+ ldr r0, [sp, #0x54]
+ ldr r1, [r0]
+ mov r0, #2
+ lsl r0, r0, #0xa
+ orr r1, r0
+ ldr r0, [sp, #0x54]
+ str r1, [r0]
+ b _0224649C
+_02246380:
+ mov r0, #0xc0
+ add r1, r6, #0
+ mul r1, r0
+ ldr r0, _02246594 ; =0x00002DCC
+ add r3, r5, r1
+ ldr r2, [r3, r0]
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x1d
+ beq _022463B8
+ sub r0, #0xc
+ ldr r2, [r3, r0]
+ mov r0, #1
+ lsl r0, r0, #0xa
+ tst r2, r0
+ bne _022463B8
+ ldr r2, [sp, #0x28]
+ cmp r2, #4
+ bne _022463B8
+ ldr r2, [sp, #0x20]
+ cmp r2, #0x69
+ beq _022463B8
+ ldr r1, [sp, #0x54]
+ lsl r0, r0, #0xa
+ ldr r1, [r1]
+ orr r1, r0
+ ldr r0, [sp, #0x54]
+ str r1, [r0]
+ b _0224649C
+_022463B8:
+ add r0, r5, r1
+ mov r4, #0
+ str r0, [sp, #0x18]
+_022463BE:
+ lsl r0, r4, #1
+ ldr r1, _02246598 ; =0x0225E378
+ add r0, r4, r0
+ add r1, r1, r0
+ str r1, [sp, #0xc]
+ ldr r1, _02246598 ; =0x0225E378
+ ldrb r1, [r1, r0]
+ cmp r1, #0xfe
+ bne _022463EE
+ ldr r1, [sp, #0x18]
+ ldr r0, _0224659C ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #2
+ lsl r0, r0, #0x1c
+ tst r0, r1
+ bne _0224649C
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x71
+ beq _0224649C
+ add r4, r4, #1
+ b _02246490
+_022463EE:
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _0224648E
+ ldr r0, [sp, #0xc]
+ add r1, r6, #0
+ ldrb r0, [r0, #1]
+ mov r2, #0x1b
+ mov r3, #0
+ str r0, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x10]
+ cmp r1, r0
+ bne _02246434
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl MOD11_022461C0
+ cmp r0, #1
+ bne _02246434
+ ldr r0, [sp, #0x14]
+ ldr r2, [sp, #0xc]
+ str r0, [sp]
+ ldr r0, [sp, #0x54]
+ ldr r3, [sp, #0x50]
+ str r0, [sp, #4]
+ ldrb r2, [r2, #2]
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0224C648
+ str r0, [sp, #0x50]
+_02246434:
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x10]
+ cmp r1, r0
+ bne _0224648E
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ str r0, [sp, #0x2c]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x2c]
+ cmp r1, r0
+ beq _0224648E
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl MOD11_022461C0
+ cmp r0, #1
+ bne _0224648E
+ ldr r0, [sp, #0x14]
+ ldr r2, [sp, #0xc]
+ str r0, [sp]
+ ldr r0, [sp, #0x54]
+ ldr r3, [sp, #0x50]
+ str r0, [sp, #4]
+ ldrb r2, [r2, #2]
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0224C648
+ str r0, [sp, #0x50]
+_0224648E:
+ add r4, r4, #1
+_02246490:
+ lsl r0, r4, #1
+ add r1, r4, r0
+ ldr r0, _02246598 ; =0x0225E378
+ ldrb r0, [r0, r1]
+ cmp r0, #0xff
+ bne _022463BE
+_0224649C:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r6, #0
+ mov r3, #0x19
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022464E0
+ ldr r1, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_0224C6D4
+ cmp r0, #0
+ beq _022464E0
+ ldr r0, [sp, #0x54]
+ ldr r1, [r0]
+ mov r0, #2
+ tst r0, r1
+ beq _022464CA
+ mov r0, #6
+ and r0, r1
+ cmp r0, #6
+ bne _022464E0
+_022464CA:
+ ldr r0, [sp, #0x14]
+ cmp r0, #0
+ beq _022464E0
+ ldr r0, [sp, #0x54]
+ ldr r1, [r0]
+ mov r0, #1
+ lsl r0, r0, #0x12
+ orr r1, r0
+ ldr r0, [sp, #0x54]
+ str r1, [r0]
+ b _02246582
+_022464E0:
+ ldr r0, _02246590 ; =0x0000213C
+ ldr r2, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0xa
+ add r1, r2, #0
+ tst r1, r0
+ bne _0224656E
+ lsl r0, r0, #4
+ tst r0, r2
+ bne _0224656E
+ ldr r0, [sp, #0x54]
+ ldr r1, [r0]
+ mov r0, #2
+ tst r0, r1
+ beq _0224654A
+ ldr r0, [sp, #0x14]
+ cmp r0, #0
+ beq _0224654A
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r6, #0
+ mov r3, #0x6f
+ bl MOD11_02246D84
+ cmp r0, #1
+ beq _02246524
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r6, #0
+ mov r3, #0x74
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02246532
+_02246524:
+ ldr r0, [sp, #0x50]
+ lsl r1, r0, #1
+ add r0, r0, r1
+ mov r1, #4
+ bl MOD11_022476C0
+ str r0, [sp, #0x50]
+_02246532:
+ ldr r0, [sp, #0x24]
+ cmp r0, #0x5f
+ bne _0224654A
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x50]
+ add r0, #0x64
+ str r0, [sp, #0x1c]
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ str r0, [sp, #0x50]
+_0224654A:
+ ldr r0, [sp, #0x54]
+ ldr r1, [r0]
+ mov r0, #4
+ tst r0, r1
+ beq _02246582
+ ldr r0, [sp, #0x14]
+ cmp r0, #0
+ beq _02246582
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x6e
+ bne _02246582
+ ldr r0, [sp, #0x50]
+ lsl r0, r0, #1
+ str r0, [sp, #0x50]
+ b _02246582
+_0224656E:
+ ldr r0, [sp, #0x54]
+ ldr r1, [r0]
+ mov r0, #2
+ bic r1, r0
+ ldr r0, [sp, #0x54]
+ str r1, [r0]
+ mov r0, #4
+ bic r1, r0
+ ldr r0, [sp, #0x54]
+ str r1, [r0]
+_02246582:
+ ldr r0, [sp, #0x50]
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02246588: .word 0x000003E2
+_0224658C: .word 0x000003E1
+_02246590: .word 0x0000213C
+_02246594: .word 0x00002DCC
+_02246598: .word 0x0225E378
+_0224659C: .word 0x00002DB0
+
+ thumb_func_start MOD11_022465A0
+MOD11_022465A0: ; 0x022465A0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r7, r0, #0
+ ldr r0, [sp, #0x2c]
+ str r1, [sp]
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x30]
+ str r3, [sp, #4]
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0x34]
+ ldr r6, [sp, #0x38]
+ str r0, [sp, #0x34]
+ add r0, r1, #0
+ cmp r0, #0xa5
+ beq _022466B6
+ add r0, r3, #0
+ cmp r0, #0x60
+ bne _022465CA
+ mov r0, #0
+ str r0, [sp, #0xc]
+ b _022465E2
+_022465CA:
+ cmp r2, #0
+ beq _022465D6
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ b _022465E2
+_022465D6:
+ add r0, r1, #0
+ lsl r0, r0, #4
+ add r1, r7, r0
+ ldr r0, _022466BC ; =0x000003E2
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0xc]
+_022465E2:
+ ldr r0, [sp, #4]
+ cmp r0, #0x68
+ beq _02246612
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x1a
+ bne _02246612
+ ldr r0, [sp, #0xc]
+ cmp r0, #4
+ bne _02246612
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r7, r0]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r1
+ bne _02246612
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x69
+ beq _02246612
+ ldr r1, [r6]
+ mov r0, #8
+ orr r0, r1
+ str r0, [r6]
+ b _02246686
+_02246612:
+ mov r4, #0
+_02246614:
+ lsl r0, r4, #1
+ add r1, r4, r0
+ ldr r0, _022466C0 ; =0x0225E378
+ add r5, r0, r1
+ ldrb r1, [r0, r1]
+ cmp r1, #0xfe
+ bne _0224662C
+ ldr r0, [sp, #4]
+ cmp r0, #0x71
+ beq _02246686
+ add r4, r4, #1
+ b _0224667A
+_0224662C:
+ ldr r0, [sp, #0xc]
+ cmp r0, r1
+ bne _02246678
+ ldrb r0, [r5, #1]
+ ldr r1, [sp, #0x30]
+ str r0, [sp, #8]
+ cmp r1, r0
+ bne _02246652
+ ldr r1, [sp, #0x2c]
+ add r0, r7, #0
+ add r2, r4, #0
+ bl MOD11_022466C4
+ cmp r0, #1
+ bne _02246652
+ ldrb r0, [r5, #2]
+ add r1, r6, #0
+ bl MOD11_02246714
+_02246652:
+ ldr r1, [sp, #0x34]
+ ldr r0, [sp, #8]
+ cmp r1, r0
+ bne _02246678
+ ldr r1, [sp, #0x30]
+ ldr r0, [sp, #0x34]
+ cmp r1, r0
+ beq _02246678
+ ldr r1, [sp, #0x2c]
+ add r0, r7, #0
+ add r2, r4, #0
+ bl MOD11_022466C4
+ cmp r0, #1
+ bne _02246678
+ ldrb r0, [r5, #2]
+ add r1, r6, #0
+ bl MOD11_02246714
+_02246678:
+ add r4, r4, #1
+_0224667A:
+ lsl r0, r4, #1
+ add r1, r4, r0
+ ldr r0, _022466C0 ; =0x0225E378
+ ldrb r0, [r0, r1]
+ cmp r0, #0xff
+ bne _02246614
+_02246686:
+ ldr r0, [sp, #4]
+ cmp r0, #0x68
+ beq _022466B6
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x19
+ bne _022466B6
+ ldr r1, [sp]
+ add r0, r7, #0
+ bl MOD11_0224C6D4
+ cmp r0, #0
+ beq _022466B6
+ ldr r1, [r6]
+ mov r0, #2
+ tst r0, r1
+ beq _022466AE
+ mov r0, #6
+ and r0, r1
+ cmp r0, #6
+ bne _022466B6
+_022466AE:
+ ldr r1, [r6]
+ mov r0, #8
+ orr r0, r1
+ str r0, [r6]
+_022466B6:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022466BC: .word 0x000003E2
+_022466C0: .word 0x0225E378
+
+ thumb_func_start MOD11_022466C4
+MOD11_022466C4: ; 0x022466C4
+ push {r3, r4}
+ mov r3, #1
+ cmp r1, #0x69
+ bne _022466E2
+ lsl r1, r2, #1
+ add r4, r2, r1
+ ldr r1, _0224670C ; =0x0225E379
+ ldrb r1, [r1, r4]
+ cmp r1, #2
+ bne _022466E2
+ ldr r1, _02246710 ; =0x0225E37A
+ ldrb r1, [r1, r4]
+ cmp r1, #0
+ bne _022466E2
+ mov r3, #0
+_022466E2:
+ mov r1, #6
+ lsl r1, r1, #6
+ ldr r1, [r0, r1]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02246706
+ lsl r0, r2, #1
+ add r1, r2, r0
+ ldr r0, _0224670C ; =0x0225E379
+ ldrb r0, [r0, r1]
+ cmp r0, #2
+ bne _02246706
+ ldr r0, _02246710 ; =0x0225E37A
+ ldrb r0, [r0, r1]
+ cmp r0, #0
+ bne _02246706
+ mov r3, #0
+_02246706:
+ add r0, r3, #0
+ pop {r3, r4}
+ bx lr
+ .align 2, 0
+_0224670C: .word 0x0225E379
+_02246710: .word 0x0225E37A
+
+ thumb_func_start MOD11_02246714
+MOD11_02246714: ; 0x02246714
+ cmp r0, #0
+ beq _02246722
+ cmp r0, #5
+ beq _02246734
+ cmp r0, #0x14
+ beq _0224674C
+ bx lr
+_02246722:
+ ldr r2, [r1]
+ mov r0, #8
+ orr r2, r0
+ mov r0, #4
+ bic r2, r0
+ mov r0, #2
+ bic r2, r0
+ str r2, [r1]
+ bx lr
+_02246734:
+ ldr r2, [r1]
+ mov r0, #2
+ tst r0, r2
+ beq _02246744
+ mov r0, #2
+ bic r2, r0
+ str r2, [r1]
+ bx lr
+_02246744:
+ mov r0, #4
+ orr r0, r2
+ str r0, [r1]
+ bx lr
+_0224674C:
+ ldr r2, [r1]
+ mov r0, #4
+ tst r0, r2
+ beq _0224675C
+ mov r0, #4
+ bic r2, r0
+ str r2, [r1]
+ bx lr
+_0224675C:
+ mov r0, #2
+ orr r0, r2
+ str r0, [r1]
+ bx lr
+
+ thumb_func_start MOD11_02246764
+MOD11_02246764: ; 0x02246764
+ mov r2, #0xd1
+ lsl r2, r2, #2
+ add r2, r0, r2
+ lsl r0, r1, #2
+ ldr r0, [r2, r0]
+ lsl r1, r0, #0x1f
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x1e
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x1d
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x1c
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x1b
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x1a
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x19
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r1, r0, #0x17
+ lsr r1, r1, #0x1f
+ bne _022467A4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ beq _022467A8
+_022467A4:
+ mov r0, #1
+ bx lr
+_022467A8:
+ mov r0, #0
+ bx lr
+
+ thumb_func_start MOD11_022467AC
+MOD11_022467AC: ; 0x022467AC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp]
+ add r5, r1, #0
+ add r6, r2, #0
+ str r3, [sp, #4]
+ mov r4, #0
+ bl MOD11_0222FF84
+ add r7, r0, #0
+ cmp r6, #0
+ beq _022467CA
+ cmp r6, #1
+ beq _022467EE
+ b _02246822
+_022467CA:
+ add r0, r4, #0
+ cmp r7, #0
+ ble _02246822
+ ldr r2, _02246828 ; =0x00002D8C
+_022467D2:
+ ldr r1, [sp, #4]
+ cmp r0, r1
+ beq _022467E4
+ ldr r1, [r5, r2]
+ cmp r1, #0
+ beq _022467E4
+ add r1, r4, #1
+ lsl r1, r1, #0x18
+ lsr r4, r1, #0x18
+_022467E4:
+ add r0, r0, #1
+ add r5, #0xc0
+ cmp r0, r7
+ blt _022467D2
+ b _02246822
+_022467EE:
+ add r6, r4, #0
+ cmp r7, #0
+ ble _02246822
+_022467F4:
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_02230270
+ str r0, [sp, #8]
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ bl MOD11_02230270
+ ldr r1, [sp, #8]
+ cmp r1, r0
+ bne _0224681A
+ ldr r0, _02246828 ; =0x00002D8C
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _0224681A
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_0224681A:
+ add r6, r6, #1
+ add r5, #0xc0
+ cmp r6, r7
+ blt _022467F4
+_02246822:
+ add r0, r4, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02246828: .word 0x00002D8C
+
+ thumb_func_start MOD11_0224682C
+MOD11_0224682C: ; 0x0224682C
+ add r2, r0, r1
+ ldr r0, _02246838 ; =0x0000219C
+ ldrb r0, [r2, r0]
+ lsl r0, r0, #8
+ orr r0, r1
+ bx lr
+ .align 2, 0
+_02246838: .word 0x0000219C
+
+ thumb_func_start MOD11_0224683C
+MOD11_0224683C: ; 0x0224683C
+ push {r4, r5}
+ lsl r3, r1, #4
+ add r5, r0, r3
+ ldr r3, _02246868 ; =0x000021B4
+ mov r2, #0
+ ldr r4, [r5, r3]
+ cmp r4, #1
+ bne _02246862
+ sub r3, r3, #4
+ ldr r3, [r5, r3]
+ cmp r3, #0
+ beq _02246862
+ mov r2, #0xc0
+ mul r2, r1
+ add r1, r0, r2
+ lsl r0, r3, #1
+ add r1, r1, r0
+ ldr r0, _0224686C ; =0x00002D4A
+ ldrh r2, [r1, r0]
+_02246862:
+ add r0, r2, #0
+ pop {r4, r5}
+ bx lr
+ .align 2, 0
+_02246868: .word 0x000021B4
+_0224686C: .word 0x00002D4A
+
+ thumb_func_start MOD11_02246870
+MOD11_02246870: ; 0x02246870
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x5c
+ str r2, [sp, #4]
+ str r0, [sp]
+ add r7, r1, #0
+ str r3, [sp, #8]
+ ldr r6, [sp, #0x70]
+ mov r4, #0
+ bl MOD11_0222FF84
+ add r5, r0, #0
+ ldr r0, [sp, #4]
+ cmp r0, #9
+ bhi _022468E4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02246898: ; jump table
+ .short _022468AC - _02246898 - 2 ; case 0
+ .short _022468E6 - _02246898 - 2 ; case 1
+ .short _02246932 - _02246898 - 2 ; case 2
+ .short _0224696C - _02246898 - 2 ; case 3
+ .short _022469B8 - _02246898 - 2 ; case 4
+ .short _02246A0A - _02246898 - 2 ; case 5
+ .short _02246A2C - _02246898 - 2 ; case 6
+ .short _02246A54 - _02246898 - 2 ; case 7
+ .short _02246A80 - _02246898 - 2 ; case 8
+ .short _02246AB4 - _02246898 - 2 ; case 9
+_022468AC:
+ add r0, r4, #0
+ str r0, [sp, #0x44]
+ cmp r5, #0
+ ble _022468E4
+_022468B4:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x44]
+ bl MOD11_02230270
+ str r0, [sp, #0x48]
+ ldr r0, [sp]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x48]
+ cmp r1, r0
+ bne _022468DA
+ ldr r1, [sp, #0x44]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _022468DA
+ add r4, r4, #1
+_022468DA:
+ ldr r0, [sp, #0x44]
+ add r0, r0, #1
+ str r0, [sp, #0x44]
+ cmp r0, r5
+ blt _022468B4
+_022468E4:
+ b _02246AEC
+_022468E6:
+ add r0, r4, #0
+ str r0, [sp, #0xc]
+ cmp r5, #0
+ ble _02246930
+ str r7, [sp, #0x30]
+_022468F0:
+ ldr r0, [sp]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02230270
+ str r0, [sp, #0x4c]
+ ldr r0, [sp]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x4c]
+ cmp r1, r0
+ bne _02246920
+ ldr r1, [sp, #0x30]
+ ldr r0, _02246AF4 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02246920
+ ldr r1, [sp, #0xc]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246920
+ add r4, r4, #1
+_02246920:
+ ldr r0, [sp, #0x30]
+ add r0, #0xc0
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0xc]
+ add r0, r0, #1
+ str r0, [sp, #0xc]
+ cmp r0, r5
+ blt _022468F0
+_02246930:
+ b _02246AEC
+_02246932:
+ add r0, r4, #0
+ str r0, [sp, #0x10]
+ cmp r5, #0
+ ble _0224696A
+_0224693A:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x10]
+ bl MOD11_02230270
+ str r0, [sp, #0x50]
+ ldr r0, [sp]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x50]
+ cmp r1, r0
+ beq _02246960
+ ldr r1, [sp, #0x10]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246960
+ add r4, r4, #1
+_02246960:
+ ldr r0, [sp, #0x10]
+ add r0, r0, #1
+ str r0, [sp, #0x10]
+ cmp r0, r5
+ blt _0224693A
+_0224696A:
+ b _02246AEC
+_0224696C:
+ add r0, r4, #0
+ str r0, [sp, #0x14]
+ cmp r5, #0
+ ble _022469B6
+ str r7, [sp, #0x34]
+_02246976:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x14]
+ bl MOD11_02230270
+ str r0, [sp, #0x54]
+ ldr r0, [sp]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x54]
+ cmp r1, r0
+ beq _022469A6
+ ldr r1, [sp, #0x34]
+ ldr r0, _02246AF4 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022469A6
+ ldr r1, [sp, #0x14]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _022469A6
+ add r4, r4, #1
+_022469A6:
+ ldr r0, [sp, #0x34]
+ add r0, #0xc0
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #0x14]
+ add r0, r0, #1
+ str r0, [sp, #0x14]
+ cmp r0, r5
+ blt _02246976
+_022469B6:
+ b _02246AEC
+_022469B8:
+ add r0, r4, #0
+ str r0, [sp, #0x18]
+ cmp r5, #0
+ ble _02246A08
+ str r7, [sp, #0x38]
+_022469C2:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x18]
+ bl MOD11_02230270
+ str r0, [sp, #0x58]
+ ldr r0, [sp]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ ldr r1, [sp, #0x58]
+ cmp r1, r0
+ beq _022469F8
+ ldr r1, [sp, #0x38]
+ ldr r0, _02246AF4 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022469F8
+ ldr r1, [sp, #0x18]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _022469F8
+ ldr r0, [sp, #0x18]
+ bl FUN_0206A92C
+ orr r4, r0
+_022469F8:
+ ldr r0, [sp, #0x38]
+ add r0, #0xc0
+ str r0, [sp, #0x38]
+ ldr r0, [sp, #0x18]
+ add r0, r0, #1
+ str r0, [sp, #0x18]
+ cmp r0, r5
+ blt _022469C2
+_02246A08:
+ b _02246AEC
+_02246A0A:
+ add r0, r4, #0
+ str r0, [sp, #0x1c]
+ cmp r5, #0
+ ble _02246AEC
+_02246A12:
+ ldr r1, [sp, #0x1c]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246A20
+ add r4, r4, #1
+_02246A20:
+ ldr r0, [sp, #0x1c]
+ add r0, r0, #1
+ str r0, [sp, #0x1c]
+ cmp r0, r5
+ blt _02246A12
+ b _02246AEC
+_02246A2C:
+ add r0, r4, #0
+ str r0, [sp, #0x20]
+ cmp r5, #0
+ ble _02246AEC
+_02246A34:
+ ldr r1, [sp, #0x20]
+ ldr r0, [sp, #8]
+ cmp r1, r0
+ beq _02246A48
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246A48
+ add r4, r4, #1
+_02246A48:
+ ldr r0, [sp, #0x20]
+ add r0, r0, #1
+ str r0, [sp, #0x20]
+ cmp r0, r5
+ blt _02246A34
+ b _02246AEC
+_02246A54:
+ add r0, r4, #0
+ str r0, [sp, #0x24]
+ cmp r5, #0
+ ble _02246AEC
+_02246A5C:
+ ldr r1, [sp, #0x24]
+ ldr r0, [sp, #8]
+ cmp r1, r0
+ beq _02246A74
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246A74
+ ldr r0, [sp, #0x24]
+ add r4, r0, #1
+ b _02246AEC
+_02246A74:
+ ldr r0, [sp, #0x24]
+ add r0, r0, #1
+ str r0, [sp, #0x24]
+ cmp r0, r5
+ blt _02246A5C
+ b _02246AEC
+_02246A80:
+ add r0, r4, #0
+ str r0, [sp, #0x28]
+ cmp r5, #0
+ ble _02246AEC
+ str r7, [sp, #0x3c]
+_02246A8A:
+ ldr r1, [sp, #0x28]
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246AA2
+ ldr r1, [sp, #0x3c]
+ ldr r0, _02246AF4 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02246AA2
+ add r4, r4, #1
+_02246AA2:
+ ldr r0, [sp, #0x3c]
+ add r0, #0xc0
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x28]
+ add r0, r0, #1
+ str r0, [sp, #0x28]
+ cmp r0, r5
+ blt _02246A8A
+ b _02246AEC
+_02246AB4:
+ add r0, r4, #0
+ str r0, [sp, #0x2c]
+ cmp r5, #0
+ ble _02246AEC
+ str r7, [sp, #0x40]
+_02246ABE:
+ ldr r1, [sp, #0x2c]
+ ldr r0, [sp, #8]
+ cmp r1, r0
+ beq _02246ADC
+ add r0, r7, #0
+ bl MOD11_02246D1C
+ cmp r6, r0
+ bne _02246ADC
+ ldr r1, [sp, #0x40]
+ ldr r0, _02246AF4 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02246ADC
+ add r4, r4, #1
+_02246ADC:
+ ldr r0, [sp, #0x40]
+ add r0, #0xc0
+ str r0, [sp, #0x40]
+ ldr r0, [sp, #0x2c]
+ add r0, r0, #1
+ str r0, [sp, #0x2c]
+ cmp r0, r5
+ blt _02246ABE
+_02246AEC:
+ add r0, r4, #0
+ add sp, #0x5c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02246AF4: .word 0x00002D8C
+
+ thumb_func_start MOD11_02246AF8
+MOD11_02246AF8: ; 0x02246AF8
+ lsl r1, r1, #4
+ add r1, r0, r1
+ ldr r0, _02246B54 ; =0x000003DE
+ ldrh r2, [r1, r0]
+ cmp r2, #0x9b
+ bgt _02246B2A
+ cmp r2, #0x97
+ blt _02246B10
+ beq _02246B4A
+ cmp r2, #0x9b
+ beq _02246B4A
+ b _02246B4E
+_02246B10:
+ cmp r2, #0x27
+ bgt _02246B1C
+ bge _02246B4A
+ cmp r2, #0x1a
+ beq _02246B4A
+ b _02246B4E
+_02246B1C:
+ cmp r2, #0x4b
+ bgt _02246B24
+ beq _02246B4A
+ b _02246B4E
+_02246B24:
+ cmp r2, #0x91
+ beq _02246B4A
+ b _02246B4E
+_02246B2A:
+ mov r1, #1
+ lsl r1, r1, #8
+ cmp r2, r1
+ bgt _02246B3A
+ bge _02246B4A
+ cmp r2, #0xff
+ beq _02246B4A
+ b _02246B4E
+_02246B3A:
+ add r0, r1, #7
+ cmp r2, r0
+ bgt _02246B44
+ beq _02246B4A
+ b _02246B4E
+_02246B44:
+ add r1, #0x10
+ cmp r2, r1
+ bne _02246B4E
+_02246B4A:
+ mov r0, #1
+ bx lr
+_02246B4E:
+ mov r0, #0
+ bx lr
+ nop
+_02246B54: .word 0x000003DE
+
+ thumb_func_start MOD11_02246B58
+MOD11_02246B58: ; 0x02246B58
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ add r4, r2, #0
+ add r7, r3, #0
+ mov r0, #1
+ cmp r6, #0x70
+ blo _02246B76
+ bl FUN_0201B9EC
+ mov r1, #0x70
+ blx _u32_div_f
+ add r6, r1, #0
+ mov r0, #0
+_02246B76:
+ lsl r1, r6, #1
+ ldr r2, _02246B90 ; =0x0225E378
+ add r1, r6, r1
+ ldrb r2, [r2, r1]
+ strb r2, [r5]
+ ldr r2, _02246B94 ; =0x0225E379
+ ldrb r2, [r2, r1]
+ strb r2, [r4]
+ ldr r2, _02246B98 ; =0x0225E37A
+ ldrb r1, [r2, r1]
+ strb r1, [r7]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02246B90: .word 0x0225E378
+_02246B94: .word 0x0225E379
+_02246B98: .word 0x0225E37A
+
+ thumb_func_start MOD11_02246B9C
+MOD11_02246B9C: ; 0x02246B9C
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r4, _02246BE4 ; =0x0225E378
+ add r5, r1, #0
+ str r0, [sp]
+ add r6, r2, #0
+ mov r1, #0x28
+_02246BA8:
+ ldrb r2, [r4]
+ ldr r0, [sp]
+ cmp r0, r2
+ bne _02246BD6
+ ldrb r7, [r4, #1]
+ cmp r5, r7
+ bne _02246BC2
+ ldrb r0, [r4, #2]
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ add r1, r0, #0
+_02246BC2:
+ cmp r6, r7
+ bne _02246BD6
+ cmp r5, r6
+ beq _02246BD6
+ ldrb r0, [r4, #2]
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ add r1, r0, #0
+_02246BD6:
+ add r4, r4, #3
+ ldrb r0, [r4]
+ cmp r0, #0xff
+ bne _02246BA8
+ add r0, r1, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02246BE4: .word 0x0225E378
+
+ thumb_func_start MOD11_02246BE8
+MOD11_02246BE8: ; 0x02246BE8
+ cmp r0, #0
+ beq _02246C10
+ cmp r0, #0xd6
+ beq _02246C10
+ ldr r2, _02246C18 ; =0x0000017F
+ cmp r0, r2
+ beq _02246C10
+ add r1, r2, #0
+ sub r1, #0x6d
+ cmp r0, r1
+ beq _02246C10
+ sub r1, r2, #1
+ cmp r0, r1
+ beq _02246C10
+ ldr r1, _02246C1C ; =0x0000FF8A
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _02246C14
+_02246C10:
+ mov r0, #1
+ bx lr
+_02246C14:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+_02246C18: .word 0x0000017F
+_02246C1C: .word 0x0000FF8A
+
+ thumb_func_start MOD11_02246C20
+MOD11_02246C20: ; 0x02246C20
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r2, #0
+ cmp r1, #0xae
+ bne _02246C4C
+ add r1, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #7
+ beq _02246C48
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #7
+ bne _02246C4C
+_02246C48:
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+_02246C4C:
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02246C50
+MOD11_02246C50: ; 0x02246C50
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r6, r2, #0
+ add r5, r1, #0
+ add r1, r6, #0
+ mov r7, #0
+ bl MOD11_02230270
+ str r0, [sp]
+ ldr r0, _02246CA4 ; =0x00002DB8
+ add r4, r5, r0
+ mov r0, #0xc0
+ mul r0, r6
+ str r0, [sp, #4]
+ ldrh r0, [r4, r0]
+ cmp r0, #0
+ beq _02246C9E
+ ldr r0, _02246CA8 ; =0x0000219C
+ add r1, r5, r6
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ ldr r1, [sp]
+ lsl r1, r1, #3
+ add r2, r5, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #3
+ lsr r1, r1, #0x1a
+ tst r0, r1
+ bne _02246C9E
+ ldr r0, [sp, #4]
+ ldrh r0, [r4, r0]
+ bl FUN_0206EA98
+ cmp r0, #0
+ bne _02246C9E
+ mov r7, #1
+_02246C9E:
+ add r0, r7, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02246CA4: .word 0x00002DB8
+_02246CA8: .word 0x0000219C
+
+ thumb_func_start MOD11_02246CAC
+MOD11_02246CAC: ; 0x02246CAC
+ push {r3, lr}
+ mov r2, #0xc0
+ mul r2, r1
+ add r1, r0, r2
+ ldr r0, _02246CC8 ; =0x00002DB8
+ ldrh r0, [r1, r0]
+ bl FUN_0206EA98
+ cmp r0, #0
+ bne _02246CC4
+ mov r0, #1
+ pop {r3, pc}
+_02246CC4:
+ mov r0, #0
+ pop {r3, pc}
+ .align 2, 0
+_02246CC8: .word 0x00002DB8
+
+ thumb_func_start MOD11_02246CCC
+MOD11_02246CCC: ; 0x02246CCC
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ add r3, r1, #0
+ ldr r1, _02246D18 ; =0x00002D74
+ mul r3, r0
+ add r2, r5, r1
+ ldrb r4, [r2, r3]
+ ldr r2, [r5, #0x64]
+ mov r6, #0
+ mul r0, r2
+ add r0, r5, r0
+ ldrb r0, [r0, r1]
+ cmp r0, r4
+ blo _02246CF0
+ mov r6, #1
+ b _02246D14
+_02246CF0:
+ bl FUN_0201B9EC
+ ldr r2, [r5, #0x64]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r5, r1
+ ldr r1, _02246D18 ; =0x00002D74
+ lsl r0, r0, #0x18
+ ldrb r1, [r2, r1]
+ lsr r0, r0, #0x18
+ add r1, r1, r4
+ mul r0, r1
+ asr r0, r0, #8
+ add r1, r0, #1
+ lsr r0, r4, #2
+ cmp r1, r0
+ ble _02246D14
+ mov r6, #1
+_02246D14:
+ add r0, r6, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02246D18: .word 0x00002D74
+
+ thumb_func_start MOD11_02246D1C
+MOD11_02246D1C: ; 0x02246D1C
+ push {r4, r5}
+ mov r2, #0xc0
+ mul r2, r1
+ mov r3, #0xb7
+ mov r4, #2
+ add r5, r0, r2
+ lsl r3, r3, #6
+ ldr r1, [r5, r3]
+ lsl r4, r4, #0x14
+ tst r4, r1
+ beq _02246D40
+ sub r3, #0x59
+ ldrb r3, [r5, r3]
+ cmp r3, #0x79
+ beq _02246D40
+ mov r0, #0
+ pop {r4, r5}
+ bx lr
+_02246D40:
+ mov r3, #6
+ lsl r3, r3, #6
+ ldr r4, [r0, r3]
+ mov r3, #7
+ lsl r3, r3, #0xc
+ tst r3, r4
+ beq _02246D5E
+ ldr r3, _02246D80 ; =0x00002D67
+ add r4, r0, r2
+ ldrb r3, [r4, r3]
+ cmp r3, #0x1a
+ bne _02246D5E
+ mov r0, #0
+ pop {r4, r5}
+ bx lr
+_02246D5E:
+ mov r3, #1
+ lsl r3, r3, #0xa
+ tst r1, r3
+ beq _02246D76
+ ldr r1, _02246D80 ; =0x00002D67
+ add r3, r0, r2
+ ldrb r1, [r3, r1]
+ cmp r1, #0x1a
+ bne _02246D76
+ mov r0, #0
+ pop {r4, r5}
+ bx lr
+_02246D76:
+ add r1, r0, r2
+ ldr r0, _02246D80 ; =0x00002D67
+ ldrb r0, [r1, r0]
+ pop {r4, r5}
+ bx lr
+ .align 2, 0
+_02246D80: .word 0x00002D67
+
+ thumb_func_start MOD11_02246D84
+MOD11_02246D84: ; 0x02246D84
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r7, r1, #0
+ str r2, [sp]
+ add r4, r3, #0
+ mov r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x68
+ beq _02246DA8
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r4, r0
+ bne _02246DD6
+ mov r6, #1
+ b _02246DD6
+_02246DA8:
+ ldr r1, [sp]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r4, r0
+ bne _02246DD6
+ mov r0, #0xb5
+ lsl r0, r0, #2
+ add r1, r5, r0
+ mov r0, #0x1c
+ mul r0, r7
+ ldr r3, [r1, r0]
+ lsl r2, r3, #0x1c
+ lsr r2, r2, #0x1f
+ bne _02246DD6
+ mov r2, #8
+ orr r3, r2
+ str r3, [r1, r0]
+ ldr r1, _02246DDC ; =0x0000213C
+ lsl r0, r2, #0x14
+ ldr r3, [r5, r1]
+ orr r0, r3
+ str r0, [r5, r1]
+_02246DD6:
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02246DDC: .word 0x0000213C
+
+ thumb_func_start MOD11_02246DE0
+MOD11_02246DE0: ; 0x02246DE0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ mov r6, #0
+ str r0, [sp]
+ str r1, [sp, #4]
+ add r4, r2, #0
+ str r6, [sp, #0x18]
+ bl MOD11_0222FF74
+ add r5, r0, #0
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_0222FF88
+ str r0, [sp, #0x14]
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_0222FFC8
+ add r7, r0, #0
+ mov r0, #8
+ tst r0, r5
+ bne _02246E22
+ mov r0, #0x10
+ tst r0, r5
+ beq _02246E36
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ beq _02246E36
+_02246E22:
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #4]
+ mov r5, #0
+ add r1, r0, r4
+ ldr r0, _02246ECC ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0xc]
+ str r0, [sp, #8]
+ b _02246E72
+_02246E36:
+ mov r0, #2
+ tst r0, r5
+ beq _02246E60
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #4]
+ mov r5, #0
+ add r1, r0, r4
+ ldr r0, _02246ECC ; =0x0000219C
+ ldrb r0, [r1, r0]
+ add r1, r4, #0
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ bl MOD11_022302BC
+ ldr r1, [sp, #4]
+ add r1, r1, r0
+ ldr r0, _02246ECC ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #8]
+ b _02246E72
+_02246E60:
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #4]
+ mov r5, #0
+ add r1, r0, r4
+ ldr r0, _02246ECC ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0xc]
+ str r0, [sp, #8]
+_02246E72:
+ cmp r5, r7
+ bge _02246EBC
+_02246E76:
+ ldr r0, [sp, #0x14]
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02246EB6
+ add r0, r4, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _02246EB6
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02246EB6
+ ldr r0, [sp, #0xc]
+ cmp r0, r5
+ beq _02246EB6
+ ldr r0, [sp, #8]
+ cmp r0, r5
+ beq _02246EB6
+ add r6, r6, #1
+_02246EB6:
+ add r5, r5, #1
+ cmp r5, r7
+ blt _02246E76
+_02246EBC:
+ ldr r0, [sp, #0x10]
+ cmp r6, r0
+ blt _02246EC6
+ mov r0, #1
+ str r0, [sp, #0x18]
+_02246EC6:
+ ldr r0, [sp, #0x18]
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02246ECC: .word 0x0000219C
+
+ thumb_func_start MOD11_02246ED0
+MOD11_02246ED0: ; 0x02246ED0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r1, #0
+ add r6, r2, #0
+ add r7, r0, #0
+ add r4, r3, #0
+ bl MOD11_0222FF74
+ str r0, [sp, #0xc]
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02249D90
+ str r0, [sp, #8]
+ cmp r0, #0x3e
+ beq _02246F06
+ mov r1, #0xa9
+ ldr r0, [sp, #0xc]
+ lsl r1, r1, #2
+ tst r0, r1
+ bne _02246F06
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x32
+ bne _02246F0C
+_02246F06:
+ add sp, #0x14
+ mov r0, #0
+ pop {r4, r5, r6, r7, pc}
+_02246F0C:
+ add r0, r7, #0
+ add r1, r6, #0
+ bl MOD11_02230270
+ add r0, r7, #0
+ bl MOD11_0222FF84
+ mov r0, #0x17
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #9
+ add r3, r6, #0
+ bl MOD11_02246870
+ str r0, [sp, #0x10]
+ cmp r0, #0
+ beq _02246F62
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x17
+ beq _02246F62
+ cmp r4, #0
+ bne _02246F46
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02246F46:
+ mov r0, #0xb
+ strb r0, [r4, #1]
+ mov r0, #0x27
+ strh r0, [r4, #2]
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0x17
+ str r0, [r4, #8]
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02246F62:
+ mov r0, #0x47
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #3
+ add r3, r6, #0
+ bl MOD11_02246870
+ str r0, [sp, #4]
+ cmp r0, #0
+ beq _02247014
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r1
+ bne _02246FEE
+ ldr r0, [sp, #8]
+ cmp r0, #0x69
+ beq _02246FEE
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x1a
+ beq _02247014
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ ldr r0, _022470A8 ; =0x00002DCC
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1d
+ bne _02247014
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #2
+ beq _02247014
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #2
+ beq _02247014
+ cmp r4, #0
+ bne _02246FD2
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02246FD2:
+ mov r0, #0xb
+ strb r0, [r4, #1]
+ mov r0, #0x27
+ strh r0, [r4, #2]
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0x47
+ str r0, [r4, #8]
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02246FEE:
+ cmp r4, #0
+ bne _02246FF8
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02246FF8:
+ mov r0, #0xb
+ strb r0, [r4, #1]
+ mov r0, #0x27
+ strh r0, [r4, #2]
+ ldr r1, [sp, #4]
+ add r0, r5, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0x47
+ str r0, [r4, #8]
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02247014:
+ mov r0, #0x2a
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #3
+ add r3, r6, #0
+ bl MOD11_02246870
+ add r7, r0, #0
+ beq _0224706E
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #8
+ beq _02247048
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #8
+ bne _0224706E
+_02247048:
+ cmp r4, #0
+ bne _02247052
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02247052:
+ mov r0, #0xb
+ strb r0, [r4, #1]
+ mov r0, #0x27
+ strh r0, [r4, #2]
+ add r0, r5, #0
+ add r1, r7, #0
+ bl MOD11_0224682C
+ str r0, [r4, #4]
+ mov r0, #0x2a
+ str r0, [r4, #8]
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_0224706E:
+ mov r0, #0xc0
+ mul r0, r6
+ add r3, r5, r0
+ ldr r0, _022470AC ; =0x00002DB0
+ ldr r1, _022470B0 ; =0x0400E000
+ ldr r2, [r3, r0]
+ tst r2, r1
+ bne _02247088
+ add r0, #0x10
+ ldr r2, [r3, r0]
+ lsr r0, r1, #0x10
+ tst r0, r2
+ beq _022470A0
+_02247088:
+ cmp r4, #0
+ bne _02247092
+ add sp, #0x14
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_02247092:
+ mov r0, #0
+ strb r0, [r4, #1]
+ ldr r0, _022470B4 ; =0x0000031A
+ add sp, #0x14
+ strh r0, [r4, #2]
+ mov r0, #1
+ pop {r4, r5, r6, r7, pc}
+_022470A0:
+ mov r0, #0
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_022470A8: .word 0x00002DCC
+_022470AC: .word 0x00002DB0
+_022470B0: .word 0x0400E000
+_022470B4: .word 0x0000031A
+
+ thumb_func_start MOD11_022470B8
+MOD11_022470B8: ; 0x022470B8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r4, r2, #0
+ str r0, [sp]
+ bl MOD11_0222FF74
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02249D90
+ mov r6, #0
+ cmp r0, #0x3e
+ bne _022470EC
+ mov r0, #0x75
+ lsl r0, r0, #2
+ add r3, r5, r0
+ lsl r2, r4, #6
+ ldr r1, [r3, r2]
+ ldr r0, _02247184 ; =0xFFFFFE7F
+ mov r6, #1
+ and r1, r0
+ mov r0, #0x80
+ orr r0, r1
+ str r0, [r3, r2]
+ b _0224717E
+_022470EC:
+ mov r0, #0xa9
+ lsl r0, r0, #2
+ tst r0, r7
+ beq _022470F8
+ mov r6, #1
+ b _0224717E
+_022470F8:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x32
+ bne _0224711C
+ mov r1, #0x75
+ lsl r1, r1, #2
+ add r5, r5, r1
+ lsl r3, r4, #6
+ ldr r2, [r5, r3]
+ ldr r0, _02247184 ; =0xFFFFFE7F
+ sub r1, #0xd4
+ and r0, r2
+ orr r0, r1
+ str r0, [r5, r3]
+ mov r6, #1
+ b _0224717E
+_0224711C:
+ mov r0, #1
+ add r1, r4, #0
+ eor r1, r0
+ mov r2, #0xc0
+ add r3, r1, #0
+ mul r3, r2
+ add r1, r5, r3
+ ldr r3, _02247188 ; =0x00002D46
+ mul r2, r4
+ add r2, r5, r2
+ ldrh r1, [r1, r3]
+ ldrh r2, [r2, r3]
+ cmp r2, r1
+ bhs _02247164
+ lsl r0, r2, #7
+ blx _s32_div_f
+ ldr r1, _0224718C ; =0x0000311E
+ ldrb r2, [r5, r1]
+ mov r1, #0x1e
+ mul r1, r2
+ add r0, r1, r0
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ bl FUN_0201B9EC
+ lsr r1, r0, #0x1f
+ lsl r2, r0, #0x18
+ sub r2, r2, r1
+ mov r0, #0x18
+ ror r2, r0
+ add r0, r1, r2
+ cmp r7, r0
+ ble _02247166
+ mov r6, #1
+ b _02247166
+_02247164:
+ add r6, r0, #0
+_02247166:
+ cmp r6, #0
+ bne _02247176
+ ldr r0, [sp]
+ add r1, r4, #0
+ mov r2, #0
+ mov r3, #0x47
+ bl MOD11_022564A8
+_02247176:
+ ldr r0, _0224718C ; =0x0000311E
+ ldrb r1, [r5, r0]
+ add r1, r1, #1
+ strb r1, [r5, r0]
+_0224717E:
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02247184: .word 0xFFFFFE7F
+_02247188: .word 0x00002D46
+_0224718C: .word 0x0000311E
+
+ thumb_func_start MOD11_02247190
+MOD11_02247190: ; 0x02247190
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x36
+ bne _022471BA
+ mov r2, #0xc0
+ mul r2, r4
+ add r3, r5, r2
+ ldr r2, _022471C0 ; =0x00002DC8
+ mov r0, #0x15
+ lsl r0, r0, #4
+ ldr r2, [r3, r2]
+ ldr r1, [r5, r0]
+ mov r0, #1
+ lsl r2, r2, #1
+ and r1, r0
+ lsr r2, r2, #0x1f
+ cmp r1, r2
+ bne _022471BC
+_022471BA:
+ mov r0, #0
+_022471BC:
+ pop {r3, r4, r5, pc}
+ nop
+_022471C0: .word 0x00002DC8
+
+ thumb_func_start MOD11_022471C4
+MOD11_022471C4: ; 0x022471C4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r6, r1, #0
+ mov r1, #0
+ str r0, [sp]
+ add r4, r2, #0
+ add r5, r3, #0
+ str r1, [sp, #4]
+ bl MOD11_0222FF84
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_02230270
+ str r0, [sp, #8]
+ ldr r0, [sp, #0xc]
+ mov r7, #0
+ cmp r0, #0
+ ble _0224722E
+ ldr r4, _02247234 ; =0x00002D4C
+_022471EE:
+ ldr r0, [sp]
+ add r1, r7, #0
+ bl MOD11_02230270
+ ldr r1, [sp, #8]
+ cmp r1, r0
+ beq _02247224
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r1, [r6, r0]
+ mov r0, #2
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02247224
+ mov r1, #0
+ add r2, r6, #0
+_0224720E:
+ ldrh r0, [r2, r4]
+ cmp r5, r0
+ beq _0224721C
+ add r1, r1, #1
+ add r2, r2, #2
+ cmp r1, #4
+ blt _0224720E
+_0224721C:
+ cmp r1, #4
+ beq _02247224
+ mov r0, #1
+ str r0, [sp, #4]
+_02247224:
+ ldr r0, [sp, #0xc]
+ add r7, r7, #1
+ add r6, #0xc0
+ cmp r7, r0
+ blt _022471EE
+_0224722E:
+ ldr r0, [sp, #4]
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02247234: .word 0x00002D4C
+
+ thumb_func_start MOD11_02247238
+MOD11_02247238: ; 0x02247238
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r2, #0
+ mov r6, #0
+ bl MOD11_0222FF84
+ add r3, r6, #0
+ cmp r0, #0
+ ble _02247260
+ mov r1, #0xb7
+ lsl r1, r1, #6
+_0224724E:
+ ldr r2, [r5, r1]
+ tst r2, r4
+ beq _02247258
+ mov r6, #1
+ b _02247260
+_02247258:
+ add r3, r3, #1
+ add r5, #0xc0
+ cmp r3, r0
+ blt _0224724E
+_02247260:
+ add r0, r6, #0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02247264
+MOD11_02247264: ; 0x02247264
+ ldr r2, _02247284 ; =0x0000216C
+ mov r0, #0
+ str r0, [r1, r2]
+ add r0, r2, #0
+ mov r3, #1
+ sub r0, #0x1c
+ str r3, [r1, r0]
+ add r0, r2, #0
+ sub r0, #0x30
+ ldr r3, [r1, r0]
+ ldr r0, _02247288 ; =0xFFEFFFFF
+ sub r2, #0x30
+ and r0, r3
+ str r0, [r1, r2]
+ bx lr
+ nop
+_02247284: .word 0x0000216C
+_02247288: .word 0xFFEFFFFF
+
+ thumb_func_start MOD11_0224728C
+MOD11_0224728C: ; 0x0224728C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ bl MOD11_0222FF84
+ mov r2, #0
+ str r0, [sp, #0x14]
+ cmp r0, #0
+ ble _022472B0
+ ldr r1, _02247310 ; =0x000021EC
+_022472A2:
+ ldr r0, [sp, #8]
+ add r0, r0, r2
+ strb r2, [r0, r1]
+ ldr r0, [sp, #0x14]
+ add r2, r2, #1
+ cmp r2, r0
+ blt _022472A2
+_022472B0:
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x14]
+ sub r0, r0, #1
+ str r0, [sp, #0x18]
+ cmp r0, #0
+ ble _0224730C
+_022472BE:
+ ldr r0, [sp, #0x10]
+ add r4, r0, #1
+ ldr r0, [sp, #0x14]
+ cmp r4, r0
+ bge _02247300
+ ldr r1, [sp, #8]
+ ldr r0, [sp, #0x10]
+ add r6, r1, r0
+_022472CE:
+ ldr r0, _02247310 ; =0x000021EC
+ ldr r1, [sp, #8]
+ ldrb r0, [r6, r0]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #8]
+ ldr r2, [sp, #0xc]
+ add r7, r0, r4
+ ldr r0, _02247310 ; =0x000021EC
+ ldrb r5, [r7, r0]
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r3, r5, #0
+ bl MOD11_02244248
+ cmp r0, #0
+ beq _022472F8
+ ldr r0, _02247310 ; =0x000021EC
+ ldr r1, [sp, #0xc]
+ strb r5, [r6, r0]
+ strb r1, [r7, r0]
+_022472F8:
+ ldr r0, [sp, #0x14]
+ add r4, r4, #1
+ cmp r4, r0
+ blt _022472CE
+_02247300:
+ ldr r0, [sp, #0x10]
+ add r1, r0, #1
+ ldr r0, [sp, #0x18]
+ str r1, [sp, #0x10]
+ cmp r1, r0
+ blt _022472BE
+_0224730C:
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02247310: .word 0x000021EC
+
+ thumb_func_start MOD11_02247314
+MOD11_02247314: ; 0x02247314
+ push {r3, r4}
+ mov r2, #6
+ lsl r2, r2, #6
+ ldr r2, [r1, r2]
+ mov r1, #7
+ lsl r1, r1, #0xc
+ mov r0, #0
+ tst r1, r2
+ beq _0224733E
+ ldr r4, _02247344 ; =0x0225E278
+ add r2, r0, #0
+_0224732A:
+ ldrh r1, [r4]
+ cmp r3, r1
+ bne _02247336
+ mov r0, #1
+ pop {r3, r4}
+ bx lr
+_02247336:
+ add r2, r2, #1
+ add r4, r4, #2
+ cmp r2, #6
+ blo _0224732A
+_0224733E:
+ pop {r3, r4}
+ bx lr
+ nop
+_02247344: .word 0x0225E278
+
+ thumb_func_start MOD11_02247348
+MOD11_02247348: ; 0x02247348
+ push {r3, r4}
+ mov r4, #0xc0
+ mul r4, r2
+ add r2, r1, r4
+ ldr r1, _02247378 ; =0x00002DCC
+ mov r0, #0
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0xd
+ lsr r1, r1, #0x1d
+ beq _02247374
+ ldr r4, _0224737C ; =0x0225E29E
+ add r2, r0, #0
+_02247360:
+ ldrh r1, [r4]
+ cmp r3, r1
+ bne _0224736C
+ mov r0, #1
+ pop {r3, r4}
+ bx lr
+_0224736C:
+ add r2, r2, #1
+ add r4, r4, #2
+ cmp r2, #0xe
+ blo _02247360
+_02247374:
+ pop {r3, r4}
+ bx lr
+ .align 2, 0
+_02247378: .word 0x00002DCC
+_0224737C: .word 0x0225E29E
+
+ thumb_func_start MOD11_02247380
+MOD11_02247380: ; 0x02247380
+ push {r4, r5, r6, r7}
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ ldr r3, [r1, r0]
+ ldr r0, _022473E8 ; =0x00000183
+ cmp r3, r0
+ beq _022473E4
+ ldr r4, [r1, #0x64]
+ mov r0, #0xc0
+ add r2, r4, #0
+ mul r2, r0
+ ldr r4, _022473EC ; =0x00002DCC
+ add r0, r1, r2
+ ldr r4, [r0, r4]
+ lsl r4, r4, #0x13
+ lsr r7, r4, #0x1d
+ cmp r7, #4
+ beq _022473E4
+ mov r6, #0
+ cmp r7, #0
+ bls _022473BA
+ ldr r4, _022473F0 ; =0x00002DF0
+_022473AC:
+ ldrh r5, [r0, r4]
+ cmp r3, r5
+ beq _022473E4
+ add r6, r6, #1
+ add r0, r0, #2
+ cmp r6, r7
+ blo _022473AC
+_022473BA:
+ add r2, r1, r2
+ lsl r0, r6, #1
+ add r2, r2, r0
+ ldr r0, _022473F0 ; =0x00002DF0
+ strh r3, [r2, r0]
+ sub r0, #0x24
+ add r2, r1, r0
+ ldr r3, [r1, #0x64]
+ mov r0, #0xc0
+ add r1, r3, #0
+ mul r1, r0
+ ldr r3, [r2, r1]
+ ldr r0, _022473F4 ; =0xFFFFE3FF
+ and r0, r3
+ lsl r3, r3, #0x13
+ lsr r3, r3, #0x1d
+ add r3, r3, #1
+ lsl r3, r3, #0x1d
+ lsr r3, r3, #0x13
+ orr r0, r3
+ str r0, [r2, r1]
+_022473E4:
+ pop {r4, r5, r6, r7}
+ bx lr
+ .align 2, 0
+_022473E8: .word 0x00000183
+_022473EC: .word 0x00002DCC
+_022473F0: .word 0x00002DF0
+_022473F4: .word 0xFFFFE3FF
+
+ thumb_func_start MOD11_022473F8
+MOD11_022473F8: ; 0x022473F8
+ mov r3, #0xc0
+ mul r3, r2
+ add r3, r1, r3
+ ldr r1, _02247414 ; =0x00002D4C
+ mov r0, #0
+_02247402:
+ ldrh r2, [r3, r1]
+ cmp r2, #0
+ beq _02247410
+ add r0, r0, #1
+ add r3, r3, #2
+ cmp r0, #4
+ blt _02247402
+_02247410:
+ bx lr
+ nop
+_02247414: .word 0x00002D4C
+
+ thumb_func_start MOD11_02247418
+MOD11_02247418: ; 0x02247418
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r2, #0
+ mov r2, #0
+ add r5, r0, #0
+ add r7, r1, #0
+ str r2, [sp]
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ bne _02247430
+ mov r6, #0
+ b _02247444
+_02247430:
+ ldr r0, _02247594 ; =0x00002160
+ ldr r6, [r5, r0]
+ cmp r6, #0
+ bne _02247444
+ ldr r0, _02247598 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224759C ; =0x000003E2
+ ldrb r6, [r1, r0]
+_02247444:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ mov r3, #0xa
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02247474
+ cmp r6, #0xd
+ bne _02247474
+ cmp r7, r4
+ beq _02247474
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022475A0 ; =0x00002D90
+ ldr r0, [r1, r0]
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, _022475A4 ; =0x0000215C
+ str r0, [r5, r1]
+ mov r0, #0xb2
+ str r0, [sp]
+_02247474:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ mov r3, #0xb
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _022474BA
+ cmp r6, #0xb
+ bne _022474BA
+ ldr r0, _022475A8 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _022474BA
+ ldr r0, _02247598 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _022475AC ; =0x000003E1
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ beq _022474BA
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022475A0 ; =0x00002D90
+ ldr r0, [r1, r0]
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, _022475A4 ; =0x0000215C
+ str r0, [r5, r1]
+ mov r0, #0xb2
+ str r0, [sp]
+_022474BA:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ mov r3, #0x12
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02247500
+ cmp r6, #0xa
+ bne _02247500
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022475B0 ; =0x00002DAC
+ ldr r0, [r1, r0]
+ mov r1, #0x20
+ tst r0, r1
+ bne _02247500
+ ldr r0, _022475A8 ; =0x0000213C
+ ldr r0, [r5, r0]
+ tst r0, r1
+ bne _02247500
+ ldr r0, _02247598 ; =0x00003044
+ ldr r3, [r5, r0]
+ lsl r0, r3, #4
+ add r2, r5, r0
+ ldr r0, _022475AC ; =0x000003E1
+ ldrb r0, [r2, r0]
+ cmp r0, #0
+ bne _022474FC
+ add r1, #0xe5
+ cmp r3, r1
+ bne _02247500
+_022474FC:
+ mov r0, #0xb3
+ str r0, [sp]
+_02247500:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ mov r3, #0x2b
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224752C
+ ldr r0, _02247598 ; =0x00003044
+ ldr r2, _022475B4 ; =0x0225FF84
+ ldr r3, [r5, r0]
+ mov r1, #0
+_02247518:
+ ldrh r0, [r2]
+ cmp r3, r0
+ bne _02247524
+ mov r0, #0xb5
+ str r0, [sp]
+ b _0224752C
+_02247524:
+ add r1, r1, #1
+ add r2, r2, #2
+ cmp r1, #0xc
+ blo _02247518
+_0224752C:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ mov r3, #0x4e
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _02247548
+ cmp r6, #0xd
+ bne _02247548
+ cmp r7, r4
+ beq _02247548
+ mov r0, #0xb6
+ str r0, [sp]
+_02247548:
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, r4, #0
+ mov r3, #0x57
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224758E
+ cmp r6, #0xb
+ bne _0224758E
+ ldr r0, _022475A8 ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _0224758E
+ ldr r0, _02247598 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _022475AC ; =0x000003E1
+ ldrb r0, [r1, r0]
+ cmp r0, #0
+ beq _0224758E
+ mov r0, #0xc0
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _022475A0 ; =0x00002D90
+ ldr r0, [r1, r0]
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, _022475A4 ; =0x0000215C
+ str r0, [r5, r1]
+ mov r0, #0xb2
+ str r0, [sp]
+_0224758E:
+ ldr r0, [sp]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02247594: .word 0x00002160
+_02247598: .word 0x00003044
+_0224759C: .word 0x000003E2
+_022475A0: .word 0x00002D90
+_022475A4: .word 0x0000215C
+_022475A8: .word 0x0000213C
+_022475AC: .word 0x000003E1
+_022475B0: .word 0x00002DAC
+_022475B4: .word 0x0225FF84
+
+ thumb_func_start MOD11_022475B8
+MOD11_022475B8: ; 0x022475B8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #3
+ beq _022475D0
+ cmp r0, #0x3d
+ beq _02247616
+ b _02247696
+_022475D0:
+ mov r2, #0xc0
+ add r0, r4, #0
+ mul r0, r2
+ ldr r3, _022476B4 ; =0x00002D8C
+ add r0, r5, r0
+ ldr r1, [r0, r3]
+ cmp r1, #0
+ beq _02247696
+ add r1, r3, #0
+ sub r1, #0x31
+ ldrsb r1, [r0, r1]
+ cmp r1, #0xc
+ bge _02247696
+ add r2, #0x90
+ ldr r1, [r5, r2]
+ add r3, #0x48
+ ldr r0, [r0, r3]
+ add r1, r1, #1
+ cmp r1, r0
+ beq _02247696
+ add r0, r5, #0
+ mov r1, #0x11
+ add r0, #0x8c
+ str r1, [r0]
+ add r0, r5, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ add r0, #0x94
+ str r4, [r0]
+ mov r0, #0xc
+ str r0, [sp]
+ mov r6, #1
+ b _02247696
+_02247616:
+ ldr r1, _022476B8 ; =0x00002DAC
+ mov r0, #0xc0
+ add r7, r4, #0
+ mul r7, r0
+ add r0, r5, r1
+ str r0, [sp, #4]
+ ldr r0, [r0, r7]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ beq _02247696
+ add r0, r5, r7
+ sub r1, #0x20
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ beq _02247696
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #3
+ bge _02247696
+ ldr r0, [sp, #4]
+ mov r1, #7
+ ldr r0, [r0, r7]
+ tst r1, r0
+ beq _02247656
+ mov r0, #0x13
+ add r1, r6, #0
+ lsl r0, r0, #4
+ str r1, [r5, r0]
+ b _0224768A
+_02247656:
+ ldr r1, _022476BC ; =0x00000F88
+ tst r1, r0
+ beq _02247666
+ mov r0, #0x13
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r5, r0]
+ b _0224768A
+_02247666:
+ mov r1, #0x10
+ tst r1, r0
+ beq _02247676
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r5, r0]
+ b _0224768A
+_02247676:
+ mov r1, #0x40
+ tst r0, r1
+ beq _02247684
+ mov r0, #3
+ add r1, #0xf0
+ str r0, [r5, r1]
+ b _0224768A
+_02247684:
+ mov r0, #4
+ add r1, #0xf0
+ str r0, [r5, r1]
+_0224768A:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r4, [r5, r0]
+ mov r0, #0xbe
+ str r0, [sp]
+ mov r6, #1
+_02247696:
+ cmp r6, #1
+ bne _022476AC
+ ldr r2, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r5, #8]
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+_022476AC:
+ add r0, r6, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022476B4: .word 0x00002D8C
+_022476B8: .word 0x00002DAC
+_022476BC: .word 0x00000F88
+
+ thumb_func_start MOD11_022476C0
+MOD11_022476C0: ; 0x022476C0
+ push {r4, lr}
+ cmp r0, #0
+ bge _022476CC
+ mov r4, #0
+ mvn r4, r4
+ b _022476CE
+_022476CC:
+ mov r4, #1
+_022476CE:
+ blx _s32_div_f
+ cmp r0, #0
+ bne _022476D8
+ add r0, r4, #0
+_022476D8:
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022476DC
+MOD11_022476DC: ; 0x022476DC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0xd0
+ add r7, r0, #0
+ add r4, r1, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #0x80]
+ mov r0, #0
+ str r0, [sp, #0x84]
+ str r0, [sp, #0xcc]
+
+ thumb_func_start MOD11_022476F0
+MOD11_022476F0: ; 0x022476F0
+ ldr r0, [r4, #0x58]
+ cmp r0, #0xf
+ bls _022476FA
+ bl _02248282
+_022476FA:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02247706: ; jump table
+ .short _02247726 - _02247706 - 2 ; case 0
+ .short _022477A2 - _02247706 - 2 ; case 1
+ .short _0224785A - _02247706 - 2 ; case 2
+ .short _0224796A - _02247706 - 2 ; case 3
+ .short _022479E0 - _02247706 - 2 ; case 4
+ .short _02247B34 - _02247706 - 2 ; case 5
+ .short _02247C74 - _02247706 - 2 ; case 6
+ .short _02247E76 - _02247706 - 2 ; case 7
+ .short _02247FCC - _02247706 - 2 ; case 8
+ .short _022480A4 - _02247706 - 2 ; case 9
+ .short _02248118 - _02247706 - 2 ; case 10
+ .short _022481A6 - _02247706 - 2 ; case 11
+ .short _022481C4 - _02247706 - 2 ; case 12
+ .short _022481FE - _02247706 - 2 ; case 13
+ .short _0224823A - _02247706 - 2 ; case 14
+ .short _0224827A - _02247706 - 2 ; case 15
+_02247726:
+ ldr r0, _02247A18 ; =0x00003121
+ ldrb r0, [r4, r0]
+ cmp r0, #0
+ bne _02247798
+ add r0, r7, #0
+ bl MOD11_0223125C
+ cmp r0, #0xf
+ bhi _0224778C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02247744: ; jump table
+ .short _0224778C - _02247744 - 2 ; case 0
+ .short _0224778C - _02247744 - 2 ; case 1
+ .short _02247764 - _02247744 - 2 ; case 2
+ .short _02247764 - _02247744 - 2 ; case 3
+ .short _02247764 - _02247744 - 2 ; case 4
+ .short _0224776E - _02247744 - 2 ; case 5
+ .short _0224776E - _02247744 - 2 ; case 6
+ .short _0224776E - _02247744 - 2 ; case 7
+ .short _0224778C - _02247744 - 2 ; case 8
+ .short _0224778C - _02247744 - 2 ; case 9
+ .short _0224777A - _02247744 - 2 ; case 10
+ .short _0224778C - _02247744 - 2 ; case 11
+ .short _0224778C - _02247744 - 2 ; case 12
+ .short _0224778C - _02247744 - 2 ; case 13
+ .short _02247784 - _02247744 - 2 ; case 14
+ .short _02247784 - _02247744 - 2 ; case 15
+_02247764:
+ ldr r0, _02247A1C ; =0x0000010F
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224778C
+_0224776E:
+ mov r0, #0x11
+ lsl r0, r0, #4
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224778C
+_0224777A:
+ ldr r0, _02247A20 ; =0x00000111
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224778C
+_02247784:
+ ldr r0, _02247A24 ; =0x00000112
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+_0224778C:
+ ldr r0, [sp, #0x84]
+ cmp r0, #1
+ bne _02247798
+ ldr r0, _02247A18 ; =0x00003121
+ mov r1, #1
+ strb r1, [r4, r0]
+_02247798:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ bl _02248282
+_022477A2:
+ ldr r0, [sp, #0x80]
+ mov r6, #0
+ cmp r0, #0
+ ble _02247846
+ ldr r0, _02247A28 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0x90]
+_022477B0:
+ ldr r0, _02247A2C ; =0x000021EC
+ add r1, r4, r6
+ ldrb r5, [r1, r0]
+ add r0, r7, #0
+ mov r2, #0
+ add r1, r5, #0
+ bl MOD11_02230308
+ str r0, [sp, #0x88]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #2
+ bl MOD11_02230308
+ add r2, r0, #0
+ ldr r1, [sp, #0x88]
+ add r0, r4, #0
+ bl MOD11_0224C84C
+ mov r1, #0x12
+ lsl r1, r1, #4
+ str r0, [r4, r1]
+ mov r0, #0xc0
+ mul r0, r5
+ ldr r1, [sp, #0x90]
+ str r0, [sp, #0x8c]
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bne _0224783E
+ mov r0, #0x12
+ lsl r0, r0, #4
+ ldr r2, [r4, r0]
+ cmp r2, #0xff
+ beq _0224783E
+ ldr r0, [sp, #0x8c]
+ add r1, r4, r0
+ ldr r0, _02247A30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0224783E
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r4, r0
+ ldr r0, _02247A30 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0224783E
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x24
+ bne _0224783E
+ ldr r1, [sp, #0x90]
+ ldr r0, [sp, #0x8c]
+ ldr r1, [r1, r0]
+ mov r0, #4
+ add r2, r1, #0
+ orr r2, r0
+ ldr r1, [sp, #0x90]
+ ldr r0, [sp, #0x8c]
+ str r2, [r1, r0]
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ mov r0, #0xbb
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247846
+_0224783E:
+ ldr r0, [sp, #0x80]
+ add r6, r6, #1
+ cmp r6, r0
+ blt _022477B0
+_02247846:
+ ldr r0, [sp, #0x80]
+ cmp r6, r0
+ beq _02247850
+ bl _02248282
+_02247850:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ bl _02248282
+_0224785A:
+ mov r0, #0
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ ble _02247958
+ ldr r0, _02247A28 ; =0x00002D68
+ add r6, r4, r0
+ mov r0, #1
+ str r0, [sp, #0xbc]
+ str r0, [sp, #0xb8]
+ str r0, [sp, #0xb4]
+ str r0, [sp, #0xb0]
+_02247872:
+ ldr r0, [sp, #0x2c]
+ add r1, r4, r0
+ ldr r0, _02247A2C ; =0x000021EC
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ add r5, r1, #0
+ mul r5, r0
+ ldr r0, [r6, r5]
+ str r1, [sp, #0x10]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _0224793C
+ ldr r0, _02247A30 ; =0x00002D8C
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0224793C
+ ldr r1, [sp, #0x10]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2d
+ bgt _022478A8
+ bge _022478D8
+ cmp r0, #2
+ beq _022478B6
+ b _0224793C
+_022478A8:
+ cmp r0, #0x46
+ bgt _022478B0
+ beq _022478FA
+ b _0224793C
+_022478B0:
+ cmp r0, #0x75
+ beq _0224791C
+ b _0224793C
+_022478B6:
+ ldr r0, [r6, r5]
+ ldr r1, [sp, #0xb0]
+ bic r0, r1
+ mov r1, #1
+ orr r0, r1
+ str r0, [r6, r5]
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #2
+ tst r0, r1
+ bne _0224793C
+ mov r0, #0xb7
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224793C
+_022478D8:
+ ldr r0, [r6, r5]
+ ldr r1, [sp, #0xb4]
+ bic r0, r1
+ mov r1, #1
+ orr r0, r1
+ str r0, [r6, r5]
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #8
+ tst r0, r1
+ bne _0224793C
+ mov r0, #0xb8
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224793C
+_022478FA:
+ ldr r0, [r6, r5]
+ ldr r1, [sp, #0xb8]
+ bic r0, r1
+ mov r1, #1
+ orr r0, r1
+ str r0, [r6, r5]
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x20
+ tst r0, r1
+ bne _0224793C
+ mov r0, #0xb9
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224793C
+_0224791C:
+ ldr r0, [r6, r5]
+ ldr r1, [sp, #0xbc]
+ bic r0, r1
+ mov r1, #1
+ orr r0, r1
+ str r0, [r6, r5]
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r4, r0]
+ mov r0, #0x80
+ tst r0, r1
+ bne _0224793C
+ mov r0, #0xfc
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+_0224793C:
+ ldr r0, [sp, #0x84]
+ cmp r0, #1
+ bne _0224794C
+ mov r1, #0x46
+ ldr r0, [sp, #0x10]
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ b _02247958
+_0224794C:
+ ldr r0, [sp, #0x2c]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x2c]
+ cmp r1, r0
+ blt _02247872
+_02247958:
+ ldr r1, [sp, #0x2c]
+ ldr r0, [sp, #0x80]
+ cmp r1, r0
+ bne _022479D2
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ bl _02248282
+_0224796A:
+ ldr r0, [sp, #0x80]
+ mov r5, #0
+ cmp r0, #0
+ ble _022479CC
+ ldr r0, _02247A28 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0x94]
+_02247978:
+ ldr r0, _02247A2C ; =0x000021EC
+ add r1, r4, r5
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ add r6, r1, #0
+ mul r6, r0
+ ldr r0, [sp, #0x94]
+ str r1, [sp, #0x14]
+ ldr r0, [r0, r6]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bne _022479C4
+ ldr r0, _02247A30 ; =0x00002D8C
+ add r1, r4, r6
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022479C4
+ ldr r1, [sp, #0x14]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x16
+ bne _022479C4
+ ldr r0, [sp, #0x94]
+ ldr r1, [r0, r6]
+ mov r0, #2
+ orr r1, r0
+ ldr r0, [sp, #0x94]
+ str r1, [r0, r6]
+ mov r1, #0x46
+ ldr r0, [sp, #0x14]
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #0xba
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _022479CC
+_022479C4:
+ ldr r0, [sp, #0x80]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _02247978
+_022479CC:
+ ldr r0, [sp, #0x80]
+ cmp r5, r0
+ beq _022479D6
+_022479D2:
+ bl _02248282
+_022479D6:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ bl _02248282
+_022479E0:
+ mov r0, #0
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bgt _022479EC
+ b _02247B22
+_022479EC:
+ ldr r0, _02247A28 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0x9c]
+_022479F2:
+ ldr r0, [sp, #0x30]
+ add r1, r4, r0
+ ldr r0, _02247A2C ; =0x000021EC
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ str r1, [sp, #0x18]
+ ldr r1, [sp, #0x9c]
+ str r0, [sp, #0x98]
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ beq _02247A0E
+ b _02247B14
+_02247A0E:
+ ldr r0, [sp, #0x98]
+ add r1, r4, r0
+ ldr r0, _02247A30 ; =0x00002D8C
+ b _02247A34
+ nop
+_02247A18: .word 0x00003121
+_02247A1C: .word 0x0000010F
+_02247A20: .word 0x00000111
+_02247A24: .word 0x00000112
+_02247A28: .word 0x00002D68
+_02247A2C: .word 0x000021EC
+_02247A30: .word 0x00002D8C
+_02247A34:
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02247B14
+ ldr r1, [sp, #0x18]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x58
+ bne _02247B14
+ mov r0, #0
+ str r0, [sp, #0x78]
+ str r0, [sp, #0x74]
+ str r0, [sp, #0x7c]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ ble _02247ACE
+ add r5, r4, #0
+_02247A56:
+ ldr r1, [sp, #0x18]
+ add r0, r7, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ ldr r1, [sp, #0x7c]
+ add r0, r7, #0
+ bl MOD11_02230270
+ cmp r6, r0
+ beq _02247AC0
+ ldr r0, _02247D60 ; =0x00002DB0
+ ldr r1, [r5, r0]
+ mov r0, #1
+ lsl r0, r0, #0x18
+ tst r0, r1
+ bne _02247AC0
+ ldr r0, _02247D64 ; =0x00002D8C
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _02247AC0
+ ldr r0, _02247D68 ; =0x00002D5A
+ ldrsb r0, [r5, r0]
+ lsl r2, r0, #1
+ ldr r0, _02247D6C ; =0x0225E284
+ add r1, r0, r2
+ ldr r0, _02247D70 ; =0x00002D44
+ ldrb r1, [r1, #1]
+ ldrh r3, [r5, r0]
+ ldr r0, _02247D6C ; =0x0225E284
+ ldrb r0, [r0, r2]
+ mul r0, r3
+ blx _s32_div_f
+ ldr r1, [sp, #0x78]
+ add r0, r1, r0
+ str r0, [sp, #0x78]
+ ldr r0, _02247D74 ; =0x00002D5D
+ ldrsb r0, [r5, r0]
+ lsl r2, r0, #1
+ ldr r0, _02247D6C ; =0x0225E284
+ add r1, r0, r2
+ ldr r0, _02247D78 ; =0x00002D4A
+ ldrb r1, [r1, #1]
+ ldrh r3, [r5, r0]
+ ldr r0, _02247D6C ; =0x0225E284
+ ldrb r0, [r0, r2]
+ mul r0, r3
+ blx _s32_div_f
+ ldr r1, [sp, #0x74]
+ add r0, r1, r0
+ str r0, [sp, #0x74]
+_02247AC0:
+ ldr r0, [sp, #0x7c]
+ add r5, #0xc0
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x7c]
+ cmp r1, r0
+ blt _02247A56
+_02247ACE:
+ ldr r1, [sp, #0x9c]
+ ldr r0, [sp, #0x98]
+ ldr r1, [r1, r0]
+ mov r0, #8
+ add r2, r1, #0
+ orr r2, r0
+ ldr r1, [sp, #0x9c]
+ ldr r0, [sp, #0x98]
+ str r2, [r1, r0]
+ ldr r1, [sp, #0x78]
+ ldr r0, [sp, #0x74]
+ add r0, r1, r0
+ beq _02247B14
+ ldr r0, [sp, #0x74]
+ cmp r1, r0
+ blt _02247AF2
+ mov r1, #0x12
+ b _02247AF4
+_02247AF2:
+ mov r1, #0xf
+_02247AF4:
+ add r0, r4, #0
+ add r0, #0x8c
+ str r1, [r0]
+ add r0, r4, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r1, r4, #0
+ ldr r0, [sp, #0x18]
+ add r1, #0x94
+ str r0, [r1]
+ mov r0, #0xc
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247B22
+_02247B14:
+ ldr r0, [sp, #0x30]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x30]
+ cmp r1, r0
+ bge _02247B22
+ b _022479F2
+_02247B22:
+ ldr r1, [sp, #0x30]
+ ldr r0, [sp, #0x80]
+ cmp r1, r0
+ beq _02247B2C
+ b _02248282
+_02247B2C:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_02247B34:
+ mov r0, #0
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bgt _02247B40
+ b _02247C62
+_02247B40:
+ ldr r0, _02247D7C ; =0x00002D68
+ add r6, r4, r0
+_02247B44:
+ ldr r0, [sp, #0x34]
+ add r1, r4, r0
+ ldr r0, _02247D80 ; =0x000021EC
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ add r5, r1, #0
+ mul r5, r0
+ ldr r0, [r6, r5]
+ str r1, [sp, #0x1c]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ bne _02247C54
+ ldr r0, _02247D64 ; =0x00002D8C
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02247C54
+ ldr r1, [sp, #0x1c]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x6b
+ bne _02247C54
+ ldr r1, [r6, r5]
+ mov r0, #0x10
+ orr r0, r1
+ str r0, [r6, r5]
+ mov r0, #0
+ str r0, [sp, #0x70]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ ble _02247C40
+ add r0, r4, r5
+ str r4, [sp, #0x50]
+ str r0, [sp, #0x4c]
+_02247B8A:
+ ldr r1, [sp, #0x1c]
+ add r0, r7, #0
+ bl MOD11_02230270
+ add r5, r0, #0
+ ldr r1, [sp, #0x70]
+ add r0, r7, #0
+ bl MOD11_02230270
+ cmp r5, r0
+ beq _02247C2E
+ ldr r1, [sp, #0x50]
+ ldr r0, _02247D64 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02247C2E
+ mov r0, #0
+ str r0, [sp, #0x6c]
+ add r6, r1, #0
+_02247BB0:
+ ldr r0, _02247D84 ; =0x00002D4C
+ ldrh r5, [r6, r0]
+ cmp r5, #0
+ beq _02247C1C
+ mov r0, #0
+ str r0, [sp, #0xc8]
+ ldr r0, [sp, #0x70]
+ add r1, r4, #0
+ str r0, [sp]
+ ldr r0, [sp, #0x1c]
+ add r2, r5, #0
+ str r0, [sp, #4]
+ ldr r0, _02247D88 ; =0x00002144
+ mov r3, #0
+ ldr r0, [r4, r0]
+ str r0, [sp, #8]
+ add r0, sp, #0xc8
+ str r0, [sp, #0xc]
+ add r0, r7, #0
+ bl MOD11_02246274
+ ldr r1, _02247D88 ; =0x00002144
+ str r0, [r4, r1]
+ ldr r1, [sp, #0xc8]
+ mov r0, #8
+ tst r0, r1
+ bne _02247C1C
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0224C8C0
+ cmp r0, #0
+ bne _02247C1C
+ ldr r1, [sp, #0xc8]
+ mov r0, #2
+ tst r0, r1
+ bne _02247C16
+ lsl r0, r5, #4
+ add r1, r4, r0
+ ldr r0, _02247D8C ; =0x000003DE
+ ldrh r0, [r1, r0]
+ cmp r0, #0x26
+ bne _02247C1C
+ ldr r1, [sp, #0x4c]
+ ldr r0, _02247D90 ; =0x00002D74
+ ldr r2, [sp, #0x50]
+ ldrb r0, [r1, r0]
+ ldr r1, _02247D90 ; =0x00002D74
+ ldrb r1, [r2, r1]
+ cmp r0, r1
+ bhi _02247C1C
+_02247C16:
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247C28
+_02247C1C:
+ ldr r0, [sp, #0x6c]
+ add r6, r6, #2
+ add r0, r0, #1
+ str r0, [sp, #0x6c]
+ cmp r0, #4
+ blt _02247BB0
+_02247C28:
+ ldr r0, [sp, #0x84]
+ cmp r0, #1
+ beq _02247C40
+_02247C2E:
+ ldr r0, [sp, #0x50]
+ add r0, #0xc0
+ str r0, [sp, #0x50]
+ ldr r0, [sp, #0x70]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x70]
+ cmp r1, r0
+ blt _02247B8A
+_02247C40:
+ ldr r0, [sp, #0x84]
+ cmp r0, #1
+ bne _02247C62
+ mov r1, #0x46
+ ldr r0, [sp, #0x1c]
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #0xc2
+ str r0, [sp, #0xcc]
+ b _02247C62
+_02247C54:
+ ldr r0, [sp, #0x34]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x34]
+ cmp r1, r0
+ bge _02247C62
+ b _02247B44
+_02247C62:
+ ldr r1, [sp, #0x34]
+ ldr r0, [sp, #0x80]
+ cmp r1, r0
+ beq _02247C6C
+ b _02248282
+_02247C6C:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_02247C74:
+ mov r0, #0
+ str r0, [sp, #0x38]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bgt _02247C80
+ b _02247E64
+_02247C80:
+ ldr r0, _02247D7C ; =0x00002D68
+ add r6, r4, r0
+_02247C84:
+ ldr r0, [sp, #0x38]
+ add r1, r4, r0
+ ldr r0, _02247D80 ; =0x000021EC
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ add r5, r1, #0
+ mul r5, r0
+ ldr r0, [r6, r5]
+ str r1, [sp, #0x20]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ bne _02247CB2
+ ldr r0, _02247D64 ; =0x00002D8C
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02247CB2
+ ldr r1, [sp, #0x20]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x6c
+ beq _02247CB4
+_02247CB2:
+ b _02247E56
+_02247CB4:
+ ldr r1, [r6, r5]
+ mov r0, #0x20
+ orr r0, r1
+ str r0, [r6, r5]
+ mov r5, #0
+ ldr r0, [sp, #0x80]
+ str r5, [sp, #0x5c]
+ str r5, [sp, #0x68]
+ cmp r0, #0
+ bgt _02247CCA
+ b _02247DF2
+_02247CCA:
+ str r4, [sp, #0x58]
+_02247CCC:
+ ldr r1, [sp, #0x20]
+ add r0, r7, #0
+ bl MOD11_02230270
+ add r6, r0, #0
+ ldr r1, [sp, #0x68]
+ add r0, r7, #0
+ bl MOD11_02230270
+ cmp r6, r0
+ beq _02247DDE
+ ldr r1, [sp, #0x58]
+ ldr r0, _02247D64 ; =0x00002D8C
+ ldr r1, [r1, r0]
+ cmp r1, #0
+ beq _02247DDE
+ ldr r0, [sp, #0x5c]
+ add r0, r0, r1
+ str r0, [sp, #0x5c]
+ mov r0, #0
+ str r0, [sp, #0x64]
+ ldr r0, [sp, #0x58]
+ str r0, [sp, #0x54]
+_02247CFA:
+ ldr r1, [sp, #0x54]
+ ldr r0, _02247D84 ; =0x00002D4C
+ ldrh r6, [r1, r0]
+ ldr r1, _02247D94 ; =0x000003E1
+ lsl r0, r6, #4
+ add r0, r4, r0
+ ldrb r1, [r0, r1]
+ str r1, [sp, #0x60]
+ cmp r1, #1
+ bne _02247DB2
+ ldr r1, _02247D8C ; =0x000003DE
+ ldrh r0, [r0, r1]
+ cmp r0, #0x59
+ bgt _02247D1E
+ bge _02247D46
+ cmp r0, #0x26
+ beq _02247D2C
+ b _02247D98
+_02247D1E:
+ cmp r0, #0x90
+ bgt _02247D26
+ beq _02247D46
+ b _02247D98
+_02247D26:
+ cmp r0, #0xe3
+ beq _02247D46
+ b _02247D98
+_02247D2C:
+ cmp r5, #0x96
+ blo _02247D3C
+ bne _02247DCE
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _02247DCE
+_02247D3C:
+ mov r5, #0x96
+ add r0, r5, #0
+ add r0, #0x8e
+ str r6, [r4, r0]
+ b _02247DCE
+_02247D46:
+ cmp r5, #0x78
+ blo _02247D56
+ bne _02247DCE
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _02247DCE
+_02247D56:
+ mov r5, #0x78
+ add r0, r5, #0
+ add r0, #0xac
+ str r6, [r4, r0]
+ b _02247DCE
+ .align 2, 0
+_02247D60: .word 0x00002DB0
+_02247D64: .word 0x00002D8C
+_02247D68: .word 0x00002D5A
+_02247D6C: .word 0x0225E284
+_02247D70: .word 0x00002D44
+_02247D74: .word 0x00002D5D
+_02247D78: .word 0x00002D4A
+_02247D7C: .word 0x00002D68
+_02247D80: .word 0x000021EC
+_02247D84: .word 0x00002D4C
+_02247D88: .word 0x00002144
+_02247D8C: .word 0x000003DE
+_02247D90: .word 0x00002D74
+_02247D94: .word 0x000003E1
+_02247D98:
+ cmp r5, #0x50
+ blo _02247DA8
+ bne _02247DCE
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _02247DCE
+_02247DA8:
+ mov r5, #0x50
+ add r0, r5, #0
+ add r0, #0xd4
+ str r6, [r4, r0]
+ b _02247DCE
+_02247DB2:
+ add r0, r1, #0
+ cmp r5, r0
+ blo _02247DC6
+ cmp r5, r0
+ bne _02247DCE
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _02247DCE
+_02247DC6:
+ mov r0, #0x49
+ lsl r0, r0, #2
+ ldr r5, [sp, #0x60]
+ str r6, [r4, r0]
+_02247DCE:
+ ldr r0, [sp, #0x54]
+ add r0, r0, #2
+ str r0, [sp, #0x54]
+ ldr r0, [sp, #0x64]
+ add r0, r0, #1
+ str r0, [sp, #0x64]
+ cmp r0, #4
+ blt _02247CFA
+_02247DDE:
+ ldr r0, [sp, #0x58]
+ add r0, #0xc0
+ str r0, [sp, #0x58]
+ ldr r0, [sp, #0x68]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x68]
+ cmp r1, r0
+ bge _02247DF2
+ b _02247CCC
+_02247DF2:
+ cmp r5, #0
+ beq _02247E08
+ mov r1, #0x46
+ ldr r0, [sp, #0x20]
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ mov r0, #0xc3
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247E64
+_02247E08:
+ ldr r0, [sp, #0x5c]
+ cmp r0, #0
+ beq _02247E64
+ ldr r2, [sp, #0x20]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_022482A4
+ add r5, r0, #0
+ add r0, r7, #0
+ add r1, r4, #0
+ add r2, r5, #0
+ bl MOD11_022473F8
+ add r6, r0, #0
+ bl FUN_0201B9EC
+ add r1, r6, #0
+ blx _s32_div_f
+ mov r0, #0xc0
+ add r2, r5, #0
+ mul r2, r0
+ lsl r3, r1, #1
+ add r1, r4, r2
+ add r2, r3, r1
+ ldr r1, _02248144 ; =0x00002D4C
+ ldrh r2, [r2, r1]
+ add r1, r0, #0
+ add r1, #0x64
+ str r2, [r4, r1]
+ ldr r1, [sp, #0x20]
+ add r0, #0x58
+ str r1, [r4, r0]
+ mov r0, #0xc3
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247E64
+_02247E56:
+ ldr r0, [sp, #0x38]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x38]
+ cmp r1, r0
+ bge _02247E64
+ b _02247C84
+_02247E64:
+ ldr r1, [sp, #0x38]
+ ldr r0, [sp, #0x80]
+ cmp r1, r0
+ beq _02247E6E
+ b _02248282
+_02247E6E:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_02247E76:
+ mov r0, #0
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bgt _02247E82
+ b _02247FBA
+_02247E82:
+ ldr r0, _02248148 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0xa0]
+_02247E88:
+ ldr r0, [sp, #0x3c]
+ add r1, r4, r0
+ ldr r0, _0224814C ; =0x000021EC
+ ldrb r5, [r1, r0]
+ mov r0, #0xc0
+ add r6, r5, #0
+ mul r6, r0
+ ldr r0, [sp, #0xa0]
+ ldr r0, [r0, r6]
+ lsl r0, r0, #0x17
+ lsr r0, r0, #0x1f
+ bne _02247F9A
+ ldr r0, _02248150 ; =0x00002D8C
+ add r1, r4, r6
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02247F9A
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x77
+ bne _02247F9A
+ ldr r0, [sp, #0xa0]
+ ldr r1, [r0, r6]
+ mov r0, #1
+ lsl r0, r0, #8
+ orr r1, r0
+ ldr r0, [sp, #0xa0]
+ str r1, [r0, r6]
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02247F74
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #0
+ bl MOD11_02230308
+ str r0, [sp, #0xc0]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #2
+ bl MOD11_02230308
+ ldr r2, [sp, #0xc0]
+ mov r1, #0xc0
+ mul r1, r2
+ ldr r2, _02248150 ; =0x00002D8C
+ add r1, r4, r1
+ ldr r3, [r1, r2]
+ str r0, [sp, #0xc4]
+ cmp r3, #0
+ beq _02247F38
+ add r2, #0x2c
+ ldrh r2, [r1, r2]
+ cmp r2, #0
+ beq _02247F38
+ mov r2, #0xc0
+ mul r2, r0
+ add r0, r4, r2
+ ldr r2, _02248150 ; =0x00002D8C
+ ldr r2, [r0, r2]
+ cmp r2, #0
+ beq _02247F38
+ ldr r2, _02248154 ; =0x00002DB8
+ ldrh r0, [r0, r2]
+ cmp r0, #0
+ beq _02247F38
+ bl FUN_0201B9EC
+ lsl r0, r0, #0x1f
+ lsr r1, r0, #0x1d
+ add r0, sp, #0xc0
+ ldr r1, [r0, r1]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02248154 ; =0x00002DB8
+ ldrh r1, [r1, r0]
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247F9A
+_02247F38:
+ cmp r3, #0
+ beq _02247F50
+ ldr r0, _02248154 ; =0x00002DB8
+ ldrh r1, [r1, r0]
+ cmp r1, #0
+ beq _02247F50
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247F9A
+_02247F50:
+ ldr r1, [sp, #0xc4]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _02248150 ; =0x00002D8C
+ add r0, r4, r0
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ beq _02247F9A
+ ldr r1, _02248154 ; =0x00002DB8
+ ldrh r1, [r0, r1]
+ cmp r1, #0
+ beq _02247F9A
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02247F9A
+_02247F74:
+ mov r0, #1
+ add r1, r5, #0
+ eor r1, r0
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _02248150 ; =0x00002D8C
+ add r0, r4, r0
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ beq _02247F9A
+ ldr r1, _02248154 ; =0x00002DB8
+ ldrh r1, [r0, r1]
+ cmp r1, #0
+ beq _02247F9A
+ mov r0, #0x4a
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0x84]
+_02247F9A:
+ ldr r0, [sp, #0x84]
+ cmp r0, #1
+ bne _02247FAC
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ mov r0, #0xfd
+ str r0, [sp, #0xcc]
+ b _02247FBA
+_02247FAC:
+ ldr r0, [sp, #0x3c]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x3c]
+ cmp r1, r0
+ bge _02247FBA
+ b _02247E88
+_02247FBA:
+ ldr r1, [sp, #0x3c]
+ ldr r0, [sp, #0x80]
+ cmp r1, r0
+ beq _02247FC4
+ b _02248282
+_02247FC4:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_02247FCC:
+ mov r0, #0
+ str r0, [sp, #0x40]
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ ble _02248094
+ ldr r0, _02248148 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0xa4]
+_02247FDC:
+ ldr r0, [sp, #0x40]
+ add r1, r4, r0
+ ldr r0, _0224814C ; =0x000021EC
+ ldrb r6, [r1, r0]
+ mov r0, #0xc0
+ add r5, r6, #0
+ mul r5, r0
+ ldr r0, [sp, #0xa4]
+ ldr r0, [r0, r5]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bne _02248038
+ ldr r0, _02248150 ; =0x00002D8C
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ str r1, [sp, #0x48]
+ cmp r0, #0
+ beq _02248038
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x70
+ bne _02248038
+ mov r0, #0x15
+ lsl r0, r0, #4
+ ldr r2, [r4, r0]
+ ldr r1, [sp, #0x48]
+ ldr r0, _02248158 ; =0x00002DD8
+ ldr r0, [r1, r0]
+ cmp r2, r0
+ bgt _02248038
+ ldr r0, [sp, #0xa4]
+ mov r2, #0x40
+ ldr r0, [r0, r5]
+ add r1, r0, #0
+ orr r1, r2
+ ldr r0, [sp, #0xa4]
+ add r2, #0xd8
+ str r1, [r0, r5]
+ str r6, [r4, r2]
+ mov r0, #0xc4
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02248094
+_02248038:
+ ldr r0, [sp, #0xa4]
+ ldr r0, [r0, r5]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _02248088
+ ldr r0, _02248150 ; =0x00002D8C
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ str r1, [sp, #0x44]
+ cmp r0, #0
+ beq _02248088
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x70
+ bne _02248088
+ mov r0, #0x15
+ lsl r0, r0, #4
+ ldr r2, [r4, r0]
+ ldr r1, [sp, #0x44]
+ ldr r0, _02248158 ; =0x00002DD8
+ ldr r0, [r1, r0]
+ sub r0, r2, r0
+ cmp r0, #5
+ bne _02248088
+ ldr r0, [sp, #0xa4]
+ mov r2, #0x80
+ ldr r0, [r0, r5]
+ add r1, r0, #0
+ orr r1, r2
+ ldr r0, [sp, #0xa4]
+ add r2, #0x98
+ str r1, [r0, r5]
+ str r6, [r4, r2]
+ mov r0, #0xc5
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02248094
+_02248088:
+ ldr r0, [sp, #0x40]
+ add r1, r0, #1
+ ldr r0, [sp, #0x80]
+ str r1, [sp, #0x40]
+ cmp r1, r0
+ blt _02247FDC
+_02248094:
+ ldr r1, [sp, #0x40]
+ ldr r0, [sp, #0x80]
+ cmp r1, r0
+ bne _0224810E
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_022480A4:
+ ldr r0, [sp, #0x80]
+ mov r5, #0
+ cmp r0, #0
+ ble _02248108
+ ldr r0, _02248148 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0xa8]
+_022480B2:
+ ldr r0, _0224814C ; =0x000021EC
+ add r1, r4, r5
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ add r6, r1, #0
+ mul r6, r0
+ ldr r0, [sp, #0xa8]
+ str r1, [sp, #0x24]
+ ldr r0, [r0, r6]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1f
+ bne _02248100
+ ldr r0, _02248150 ; =0x00002D8C
+ add r1, r4, r6
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02248100
+ ldr r1, [sp, #0x24]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x68
+ bne _02248100
+ ldr r0, [sp, #0xa8]
+ mov r2, #2
+ ldr r0, [r0, r6]
+ lsl r2, r2, #8
+ add r1, r0, #0
+ orr r1, r2
+ ldr r0, [sp, #0xa8]
+ sub r2, #0xe8
+ str r1, [r0, r6]
+ ldr r0, [sp, #0x24]
+ str r0, [r4, r2]
+ mov r0, #0xb1
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02248108
+_02248100:
+ ldr r0, [sp, #0x80]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _022480B2
+_02248108:
+ ldr r0, [sp, #0x80]
+ cmp r5, r0
+ beq _02248110
+_0224810E:
+ b _02248282
+_02248110:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_02248118:
+ ldr r0, [sp, #0x80]
+ mov r5, #0
+ cmp r0, #0
+ ble _02248198
+ ldr r0, _02248148 ; =0x00002D68
+ add r0, r4, r0
+ str r0, [sp, #0xac]
+_02248126:
+ ldr r0, _0224814C ; =0x000021EC
+ add r1, r4, r5
+ ldrb r1, [r1, r0]
+ mov r0, #0xc0
+ add r6, r1, #0
+ mul r6, r0
+ ldr r0, [sp, #0xac]
+ str r1, [sp, #0x28]
+ ldr r0, [r0, r6]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1f
+ bne _02248190
+ ldr r0, _02248150 ; =0x00002D8C
+ b _0224815C
+ nop
+_02248144: .word 0x00002D4C
+_02248148: .word 0x00002D68
+_0224814C: .word 0x000021EC
+_02248150: .word 0x00002D8C
+_02248154: .word 0x00002DB8
+_02248158: .word 0x00002DD8
+_0224815C:
+ add r1, r4, r6
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02248190
+ ldr r1, [sp, #0x28]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2e
+ bne _02248190
+ ldr r0, [sp, #0xac]
+ ldr r1, [r0, r6]
+ mov r0, #1
+ lsl r0, r0, #0xa
+ orr r1, r0
+ ldr r0, [sp, #0xac]
+ str r1, [r0, r6]
+ mov r1, #0x46
+ ldr r0, [sp, #0x28]
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ add r0, r1, #5
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02248198
+_02248190:
+ ldr r0, [sp, #0x80]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _02248126
+_02248198:
+ ldr r0, [sp, #0x80]
+ cmp r5, r0
+ bne _02248282
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_022481A6:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_0224AE78
+ cmp r0, #1
+ bne _022481BC
+ ldr r0, _02248294 ; =0x00000106
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _02248282
+_022481BC:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_022481C4:
+ ldr r0, [sp, #0x80]
+ mov r5, #0
+ cmp r0, #0
+ ble _022481F6
+ mov r6, #2
+_022481CE:
+ ldr r1, _02248298 ; =0x000021EC
+ add r2, r4, r5
+ ldrb r2, [r2, r1]
+ mov r1, #0xc0
+ add r0, r4, #0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224829C ; =0x00002DB8
+ ldrh r1, [r2, r1]
+ mov r2, #1
+ bl MOD11_0224C12C
+ cmp r0, #0x39
+ bne _022481EE
+ ldr r0, _022482A0 ; =0x00002168
+ str r6, [r4, r0]
+_022481EE:
+ ldr r0, [sp, #0x80]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _022481CE
+_022481F6:
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_022481FE:
+ ldr r0, [sp, #0x80]
+ mov r5, #0
+ cmp r0, #0
+ ble _0224822C
+ ldr r6, _02248298 ; =0x000021EC
+_02248208:
+ add r2, r4, r5
+ ldrb r2, [r2, r6]
+ add r0, r7, #0
+ add r1, r4, #0
+ mov r3, #1
+ bl MOD11_02248898
+ cmp r0, #1
+ bne _02248224
+ mov r0, #0xdd
+ str r0, [sp, #0xcc]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224822C
+_02248224:
+ ldr r0, [sp, #0x80]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _02248208
+_0224822C:
+ ldr r0, [sp, #0x80]
+ cmp r5, r0
+ bne _02248282
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_0224823A:
+ ldr r0, [sp, #0x80]
+ mov r5, #0
+ cmp r0, #0
+ ble _0224826C
+_02248242:
+ ldr r0, _02248298 ; =0x000021EC
+ add r1, r4, r5
+ ldrb r6, [r1, r0]
+ add r0, r7, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ add r3, sp, #0xcc
+ bl MOD11_022493A0
+ cmp r0, #1
+ bne _02248264
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r6, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0x84]
+ b _0224826C
+_02248264:
+ ldr r0, [sp, #0x80]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _02248242
+_0224826C:
+ ldr r0, [sp, #0x80]
+ cmp r5, r0
+ bne _02248282
+ ldr r0, [r4, #0x58]
+ add r0, r0, #1
+ str r0, [r4, #0x58]
+ b _02248282
+_0224827A:
+ mov r0, #0
+ str r0, [r4, #0x58]
+ mov r0, #2
+ str r0, [sp, #0x84]
+_02248282:
+ ldr r0, [sp, #0x84]
+ cmp r0, #0
+ bne _0224828C
+ bl MOD11_022476F0
+_0224828C:
+ ldr r0, [sp, #0xcc]
+ add sp, #0xd0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02248294: .word 0x00000106
+_02248298: .word 0x000021EC
+_0224829C: .word 0x00002DB8
+_022482A0: .word 0x00002168
+
+ thumb_func_start MOD11_022482A4
+MOD11_022482A4: ; 0x022482A4
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r6, r1, #0
+ add r4, r2, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _022482FA
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0
+ bl MOD11_02230308
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #2
+ bl MOD11_02230308
+ str r0, [sp, #4]
+ bl FUN_0201B9EC
+ mov r3, #1
+ add r2, r0, #0
+ and r2, r3
+ lsl r0, r2, #2
+ add r1, sp, #0
+ ldr r0, [r1, r0]
+ mov r4, #0xc0
+ mul r4, r0
+ add r5, r6, r4
+ ldr r4, _02248304 ; =0x00002D8C
+ ldr r4, [r5, r4]
+ cmp r4, #0
+ bne _022482FE
+ add r0, r2, #0
+ eor r0, r3
+ lsl r0, r0, #2
+ add sp, #8
+ ldr r0, [r1, r0]
+ pop {r4, r5, r6, pc}
+_022482FA:
+ mov r0, #1
+ eor r0, r4
+_022482FE:
+ add sp, #8
+ pop {r4, r5, r6, pc}
+ nop
+_02248304: .word 0x00002D8C
+
+ thumb_func_start MOD11_02248308
+MOD11_02248308: ; 0x02248308
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r1, [r5, #0x6c]
+ add r7, r0, #0
+ add r4, r2, #0
+ mov r6, #0
+ cmp r1, #0xff
+ bne _0224831C
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0224831C:
+ add r0, r5, #0
+ bl MOD11_0224AD9C
+ cmp r0, #1
+ bne _0224832A
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0224832A:
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x26
+ bgt _0224835A
+ blt _0224833A
+ b _022485FC
+_0224833A:
+ cmp r0, #0x10
+ bgt _02248346
+ bge _02248408
+ cmp r0, #9
+ beq _02248372
+ b _0224887A
+_02248346:
+ cmp r0, #0x1b
+ bgt _02248358
+ cmp r0, #0x18
+ blt _02248358
+ bne _02248352
+ b _022484B0
+_02248352:
+ cmp r0, #0x1b
+ bne _02248358
+ b _02248546
+_02248358:
+ b _0224887A
+_0224835A:
+ cmp r0, #0x38
+ bgt _0224836A
+ blt _02248362
+ b _02248752
+_02248362:
+ cmp r0, #0x31
+ bne _02248368
+ b _022486BE
+_02248368:
+ b _0224887A
+_0224836A:
+ cmp r0, #0x6a
+ bne _02248370
+ b _022487FA
+_02248370:
+ b _0224887A
+_02248372:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248660 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ beq _022483E6
+ add r1, r0, #0
+ add r1, #0x20
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ bne _022483E6
+ ldr r2, _02248664 ; =0x0000216C
+ ldr r1, _02248668 ; =0x801FDA49
+ ldr r3, [r5, r2]
+ tst r1, r3
+ bne _022483E6
+ add r1, r2, #0
+ sub r1, #0x30
+ ldr r3, [r5, r1]
+ mov r1, #0x20
+ tst r1, r3
+ bne _022483E6
+ sub r2, #0x2c
+ ldr r2, [r5, r2]
+ mov r1, #0x10
+ tst r1, r2
+ bne _022483E6
+ ldr r2, [r5, #0x6c]
+ mov r1, #0x1c
+ mul r1, r2
+ add r1, r5, r1
+ lsr r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _022483C6
+ mov r0, #0x2e
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _022483E6
+_022483C6:
+ ldr r0, _0224866C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248670 ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _022483E6
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #3
+ blt _022483E8
+_022483E6:
+ b _0224887A
+_022483E8:
+ add r0, r5, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r0, #0x46
+ ldr r1, [r5, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0x1f
+ str r0, [r4]
+ mov r6, #1
+ b _0224887A
+_02248408:
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x60
+ bne _02248418
+ add r7, r6, #0
+ b _02248432
+_02248418:
+ ldr r0, _02248674 ; =0x00002160
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _02248426
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ b _02248432
+_02248426:
+ ldr r0, _0224866C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248678 ; =0x000003E2
+ ldrb r7, [r1, r0]
+_02248432:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248660 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02248516
+ ldr r0, _02248664 ; =0x0000216C
+ ldr r2, [r5, r0]
+ ldr r0, _02248668 ; =0x801FDA49
+ tst r0, r2
+ bne _02248516
+ ldr r0, _0224866C ; =0x00003044
+ ldr r3, [r5, r0]
+ cmp r3, #0xa5
+ beq _02248516
+ mov r0, #0x1c
+ ldr r2, _02248660 ; =0x00002D8C
+ mul r0, r1
+ add r0, r5, r0
+ lsr r2, r2, #4
+ ldr r2, [r0, r2]
+ cmp r2, #0
+ bne _0224846E
+ mov r2, #0x2e
+ lsl r2, r2, #4
+ ldr r0, [r0, r2]
+ cmp r0, #0
+ beq _02248516
+_0224846E:
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r2, [r5, r0]
+ mov r0, #0x10
+ tst r0, r2
+ bne _02248516
+ lsl r0, r3, #4
+ add r2, r5, r0
+ ldr r0, _0224867C ; =0x000003E1
+ ldrb r0, [r2, r0]
+ cmp r0, #0
+ beq _02248516
+ add r0, r5, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r7, r0
+ beq _02248516
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r7, r0
+ beq _02248516
+ mov r0, #0xbc
+ str r0, [r4]
+ add r0, #0x74
+ str r7, [r5, r0]
+ mov r6, #1
+ b _0224887A
+_022484B0:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248660 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02248516
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _02248516
+ ldr r1, _02248664 ; =0x0000216C
+ ldr r0, _02248668 ; =0x801FDA49
+ ldr r2, [r5, r1]
+ tst r0, r2
+ bne _02248516
+ add r0, r1, #0
+ sub r0, #0x30
+ ldr r2, [r5, r0]
+ mov r0, #0x20
+ tst r0, r2
+ bne _02248516
+ sub r1, #0x2c
+ ldr r1, [r5, r1]
+ mov r0, #0x10
+ tst r0, r1
+ bne _02248516
+ ldr r1, [r5, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r2, r5, r0
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ bne _02248504
+ add r0, #8
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02248516
+_02248504:
+ ldr r0, _0224866C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248670 ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ bne _02248518
+_02248516:
+ b _0224887A
+_02248518:
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _02248680 ; =0x00002D90
+ add r2, r5, r2
+ ldr r2, [r2, r0]
+ sub r1, #0xc1
+ add r0, r2, #0
+ mul r0, r1
+ mov r1, #8
+ bl MOD11_022476C0
+ ldr r1, _02248684 ; =0x0000215C
+ mov r6, #1
+ str r0, [r5, r1]
+ mov r0, #0x46
+ ldr r1, [r5, #0x64]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0xbd
+ str r0, [r4]
+ b _0224887A
+_02248546:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248660 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ beq _02248650
+ add r1, r0, #0
+ add r1, #0x20
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ bne _02248650
+ ldr r2, _02248664 ; =0x0000216C
+ ldr r1, _02248668 ; =0x801FDA49
+ ldr r3, [r5, r2]
+ tst r1, r3
+ bne _02248650
+ add r1, r2, #0
+ sub r1, #0x30
+ ldr r3, [r5, r1]
+ mov r1, #0x20
+ tst r1, r3
+ bne _02248650
+ sub r2, #0x2c
+ ldr r2, [r5, r2]
+ mov r1, #0x10
+ tst r1, r2
+ bne _02248650
+ ldr r2, [r5, #0x6c]
+ mov r1, #0x1c
+ mul r1, r2
+ add r1, r5, r1
+ lsr r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _0224859A
+ mov r0, #0x2e
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02248650
+_0224859A:
+ ldr r0, _0224866C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248670 ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02248650
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #3
+ bge _02248650
+ bl FUN_0201B9EC
+ mov r1, #3
+ blx _s32_div_f
+ cmp r1, #0
+ beq _022485D0
+ cmp r1, #1
+ beq _022485D6
+ cmp r1, #2
+ beq _022485DC
+_022485D0:
+ mov r0, #0x16
+ str r0, [r4]
+ b _022485E0
+_022485D6:
+ mov r0, #0x1f
+ str r0, [r4]
+ b _022485E0
+_022485DC:
+ mov r0, #0x12
+ str r0, [r4]
+_022485E0:
+ add r0, r5, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r0, #0x46
+ ldr r1, [r5, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r6, #1
+ b _0224887A
+_022485FC:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248660 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ beq _02248650
+ add r1, r0, #0
+ add r1, #0x20
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ bne _02248650
+ ldr r2, _02248664 ; =0x0000216C
+ ldr r1, _02248668 ; =0x801FDA49
+ ldr r3, [r5, r2]
+ tst r1, r3
+ bne _02248650
+ add r1, r2, #0
+ sub r1, #0x30
+ ldr r3, [r5, r1]
+ mov r1, #0x20
+ tst r1, r3
+ bne _02248650
+ sub r2, #0x2c
+ ldr r2, [r5, r2]
+ mov r1, #0x10
+ tst r1, r2
+ bne _02248650
+ ldr r2, [r5, #0x6c]
+ mov r1, #0x1c
+ mul r1, r2
+ add r1, r5, r1
+ lsr r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02248652
+ mov r0, #0x2e
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02248652
+_02248650:
+ b _0224887A
+_02248652:
+ ldr r0, _0224866C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248670 ; =0x000003E9
+ b _02248688
+ nop
+_02248660: .word 0x00002D8C
+_02248664: .word 0x0000216C
+_02248668: .word 0x801FDA49
+_0224866C: .word 0x00003044
+_02248670: .word 0x000003E9
+_02248674: .word 0x00002160
+_02248678: .word 0x000003E2
+_0224867C: .word 0x000003E1
+_02248680: .word 0x00002D90
+_02248684: .word 0x0000215C
+_02248688:
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02248770
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #3
+ bge _02248770
+ add r0, r5, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r0, #0x46
+ ldr r1, [r5, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0x16
+ str r0, [r4]
+ mov r6, #1
+ b _0224887A
+_022486BE:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248880 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ beq _02248770
+ add r1, r0, #0
+ add r1, #0x20
+ ldr r1, [r2, r1]
+ cmp r1, #0
+ bne _02248770
+ ldr r2, _02248884 ; =0x0000216C
+ ldr r1, _02248888 ; =0x801FDA49
+ ldr r3, [r5, r2]
+ tst r1, r3
+ bne _02248770
+ add r1, r2, #0
+ sub r1, #0x30
+ ldr r3, [r5, r1]
+ mov r1, #0x20
+ tst r1, r3
+ bne _02248770
+ sub r2, #0x2c
+ ldr r2, [r5, r2]
+ mov r1, #0x10
+ tst r1, r2
+ bne _02248770
+ ldr r2, [r5, #0x6c]
+ mov r1, #0x1c
+ mul r1, r2
+ add r1, r5, r1
+ lsr r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02248712
+ mov r0, #0x2e
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02248770
+_02248712:
+ ldr r0, _0224888C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248890 ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02248770
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #3
+ bge _02248770
+ add r0, r5, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r0, #0x46
+ ldr r1, [r5, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0x19
+ str r0, [r4]
+ mov r6, #1
+ b _0224887A
+_02248752:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02248880 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ beq _02248770
+ add r1, r0, #0
+ add r1, #0x24
+ ldr r2, [r2, r1]
+ mov r1, #0xf
+ lsl r1, r1, #0x10
+ tst r1, r2
+ beq _02248772
+_02248770:
+ b _0224887A
+_02248772:
+ ldr r2, _02248884 ; =0x0000216C
+ ldr r1, _02248888 ; =0x801FDA49
+ ldr r3, [r5, r2]
+ tst r1, r3
+ bne _0224887A
+ add r1, r2, #0
+ sub r1, #0x30
+ ldr r3, [r5, r1]
+ mov r1, #0x20
+ tst r1, r3
+ bne _0224887A
+ sub r2, #0x2c
+ ldr r2, [r5, r2]
+ mov r1, #0x10
+ tst r1, r2
+ bne _0224887A
+ ldr r2, [r5, #0x6c]
+ mov r1, #0x1c
+ mul r1, r2
+ add r1, r5, r1
+ lsr r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _022487AC
+ mov r0, #0x2e
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0224887A
+_022487AC:
+ ldr r0, _0224888C ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02248890 ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _0224887A
+ mov r0, #0xc0
+ mul r0, r2
+ add r1, r5, r0
+ ldr r0, _02248880 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0224887A
+ bl FUN_0201B9EC
+ mov r1, #0xa
+ blx _s32_div_f
+ cmp r1, #3
+ bge _0224887A
+ add r0, r5, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r5, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r0, #0x46
+ ldr r1, [r5, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0x6a
+ str r0, [r4]
+ mov r6, #1
+ b _0224887A
+_022487FA:
+ ldr r1, [r5, #0x6c]
+ ldr r0, [r5, #0x74]
+ cmp r1, r0
+ bne _0224887A
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _0224887A
+ mov r0, #6
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #8
+ add r3, r6, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224887A
+ mov r2, #0x85
+ lsl r2, r2, #6
+ ldr r1, [r5, r2]
+ mov r0, #0x10
+ tst r0, r1
+ bne _0224887A
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02248880 ; =0x00002D8C
+ ldr r3, [r1, r0]
+ cmp r3, #0
+ beq _0224887A
+ add r2, #0x2c
+ ldr r3, [r5, r2]
+ ldr r2, _02248888 ; =0x801FDA49
+ tst r2, r3
+ bne _0224887A
+ ldr r2, _0224888C ; =0x00003044
+ ldr r2, [r5, r2]
+ lsl r2, r2, #4
+ add r3, r5, r2
+ ldr r2, _02248890 ; =0x000003E9
+ ldrb r3, [r3, r2]
+ mov r2, #1
+ tst r3, r2
+ beq _0224887A
+ add r0, r0, #4
+ ldr r1, [r1, r0]
+ sub r0, r2, #2
+ mul r0, r1
+ mov r1, #4
+ bl MOD11_022476C0
+ ldr r1, _02248894 ; =0x0000215C
+ mov r6, #1
+ str r0, [r5, r1]
+ mov r0, #0x46
+ ldr r1, [r5, #0x64]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0xc1
+ str r0, [r4]
+_0224887A:
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02248880: .word 0x00002D8C
+_02248884: .word 0x0000216C
+_02248888: .word 0x801FDA49
+_0224888C: .word 0x00003044
+_02248890: .word 0x000003E9
+_02248894: .word 0x0000215C
+
+ thumb_func_start MOD11_02248898
+MOD11_02248898: ; 0x02248898
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r2, #0
+ add r0, r4, #0
+ add r1, r5, #0
+ add r7, r3, #0
+ mov r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x28
+ bgt _022488DE
+ bge _02248978
+ cmp r0, #7
+ bgt _022488B8
+ beq _02248926
+ b _022489D0
+_022488B8:
+ add r1, r0, #0
+ sub r1, #0xc
+ cmp r1, #8
+ bhi _022488E8
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022488CC: ; jump table
+ .short _02248994 - _022488CC - 2 ; case 0
+ .short _022489D0 - _022488CC - 2 ; case 1
+ .short _022489D0 - _022488CC - 2 ; case 2
+ .short _02248940 - _022488CC - 2 ; case 3
+ .short _022489D0 - _022488CC - 2 ; case 4
+ .short _022488F0 - _022488CC - 2 ; case 5
+ .short _022489D0 - _022488CC - 2 ; case 6
+ .short _022489D0 - _022488CC - 2 ; case 7
+ .short _0224890A - _022488CC - 2 ; case 8
+_022488DE:
+ cmp r0, #0x48
+ bgt _022488EA
+ bge _02248940
+ cmp r0, #0x29
+ beq _0224895C
+_022488E8:
+ b _022489D0
+_022488EA:
+ cmp r0, #0x54
+ beq _022489B2
+ b _022489D0
+_022488F0:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02248A04 ; =0x00002DAC
+ ldr r2, [r2, r1]
+ ldr r1, _02248A08 ; =0x00000F88
+ tst r1, r2
+ beq _022489D0
+ mov r6, #1
+ add r0, #0x70
+ str r6, [r4, r0]
+ b _022489D0
+_0224890A:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02248A0C ; =0x00002DB0
+ ldr r2, [r2, r1]
+ mov r1, #7
+ tst r1, r2
+ beq _022489D0
+ mov r1, #5
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r6, #1
+ b _022489D0
+_02248926:
+ mov r0, #0xc0
+ mul r0, r5
+ add r1, r4, r0
+ ldr r0, _02248A04 ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r1, r0
+ beq _022489D0
+ mov r1, #3
+ add r0, #0xf0
+ str r1, [r4, r0]
+ mov r6, #1
+ b _022489D0
+_02248940:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02248A04 ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #7
+ tst r1, r2
+ beq _022489D0
+ mov r1, #0
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r6, #1
+ b _022489D0
+_0224895C:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02248A04 ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #0x10
+ tst r1, r2
+ beq _022489D0
+ mov r1, #2
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r6, #1
+ b _022489D0
+_02248978:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02248A04 ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #0x20
+ tst r1, r2
+ beq _022489D0
+ mov r1, #4
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r6, #1
+ b _022489D0
+_02248994:
+ mov r0, #0xc0
+ add r1, r5, #0
+ mul r1, r0
+ add r2, r4, r1
+ ldr r1, _02248A0C ; =0x00002DB0
+ ldr r2, [r2, r1]
+ mov r1, #0xf
+ lsl r1, r1, #0x10
+ tst r1, r2
+ beq _022489D0
+ mov r1, #6
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r6, #1
+ b _022489D0
+_022489B2:
+ mov r0, #0xc0
+ add r3, r5, #0
+ mul r3, r0
+ ldr r0, _02248A10 ; =0x00002DB8
+ add r1, r4, r3
+ ldrh r1, [r1, r0]
+ cmp r1, #0
+ beq _022489D0
+ add r0, #0x14
+ add r2, r4, r0
+ mov r0, #1
+ ldr r1, [r2, r3]
+ lsl r0, r0, #0x16
+ orr r0, r1
+ str r0, [r2, r3]
+_022489D0:
+ cmp r6, #1
+ bne _022489FE
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r5, [r4, r0]
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_02246D1C
+ mov r1, #0x4b
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ cmp r7, #0
+ bne _022489FE
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0xdd
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_022489FE:
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02248A04: .word 0x00002DAC
+_02248A08: .word 0x00000F88
+_02248A0C: .word 0x00002DB0
+_02248A10: .word 0x00002DB8
+
+ thumb_func_start MOD11_02248A14
+MOD11_02248A14: ; 0x02248A14
+ mov r0, #0
+ cmp r1, #0x28
+ bgt _02248A34
+ bge _02248A6A
+ cmp r1, #7
+ bgt _02248A24
+ beq _02248A4C
+ bx lr
+_02248A24:
+ cmp r1, #0x11
+ bgt _02248A72
+ cmp r1, #0xf
+ blt _02248A72
+ beq _02248A56
+ cmp r1, #0x11
+ beq _02248A42
+ bx lr
+_02248A34:
+ cmp r1, #0x29
+ bgt _02248A3C
+ beq _02248A60
+ bx lr
+_02248A3C:
+ cmp r1, #0x48
+ beq _02248A56
+ bx lr
+_02248A42:
+ ldr r1, _02248A74 ; =0x00000F88
+ tst r1, r2
+ beq _02248A72
+ mov r0, #1
+ bx lr
+_02248A4C:
+ mov r1, #0x40
+ tst r1, r2
+ beq _02248A72
+ mov r0, #1
+ bx lr
+_02248A56:
+ mov r1, #7
+ tst r1, r2
+ beq _02248A72
+ mov r0, #1
+ bx lr
+_02248A60:
+ mov r1, #0x10
+ tst r1, r2
+ beq _02248A72
+ mov r0, #1
+ bx lr
+_02248A6A:
+ mov r1, #0x20
+ tst r1, r2
+ beq _02248A72
+ mov r0, #1
+_02248A72:
+ bx lr
+ .align 2, 0
+_02248A74: .word 0x00000F88
+
+ thumb_func_start MOD11_02248A78
+MOD11_02248A78: ; 0x02248A78
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x6c]
+ str r0, [sp]
+ mov r7, #0
+ add r0, r4, #0
+ add r6, r2, #0
+ add r5, r7, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x1c
+ bne _02248ABA
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0xff
+ beq _02248ABA
+ add r1, r4, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ cmp r0, r1
+ bne _02248ABA
+ ldr r1, _02248BFC ; =0x0000213C
+ ldr r2, [r4, r1]
+ mov r1, #0x80
+ tst r2, r1
+ beq _02248ABA
+ add r1, #0x98
+ str r0, [r4, r1]
+ add r0, r4, #0
+ ldr r1, [r4, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r7, #1
+ b _02248AEA
+_02248ABA:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x1c
+ bne _02248AEA
+ add r1, r4, #0
+ add r1, #0x94
+ ldr r0, [r4, #0x64]
+ ldr r1, [r1]
+ cmp r0, r1
+ bne _02248AEA
+ ldr r1, _02248BFC ; =0x0000213C
+ ldr r2, [r4, r1]
+ mov r1, #0x80
+ tst r2, r1
+ beq _02248AEA
+ add r1, #0x98
+ str r0, [r4, r1]
+ add r0, r4, #0
+ ldr r1, [r4, #0x6c]
+ add r0, #0x94
+ str r1, [r0]
+ mov r7, #1
+_02248AEA:
+ cmp r7, #1
+ bne _02248B3A
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r1, [r4, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02248C00 ; =0x00002DAC
+ ldr r0, [r1, r0]
+ ldr r1, _02248C04 ; =0x00000F88
+ tst r1, r0
+ beq _02248B08
+ mov r5, #0x16
+ b _02248B1A
+_02248B08:
+ mov r1, #0x10
+ tst r1, r0
+ beq _02248B12
+ mov r5, #0x19
+ b _02248B1A
+_02248B12:
+ mov r1, #0x40
+ tst r0, r1
+ beq _02248B1A
+ mov r5, #0x1f
+_02248B1A:
+ cmp r5, #0
+ beq _02248B3A
+ add r0, r4, #0
+ mov r1, #3
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, r5, #0
+ bl MOD11_022431DC
+ str r6, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ add r0, r7, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02248B3A:
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_0224AE78
+ add r5, r0, #0
+ cmp r5, #1
+ bne _02248B5C
+ ldr r2, _02248C08 ; =0x00000106
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ str r6, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02248B5C:
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_02249D90
+ cmp r0, #0x6b
+ bne _02248B9C
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0xff
+ beq _02248B9C
+ add r1, r4, #0
+ add r1, #0x94
+ ldr r1, [r1]
+ cmp r0, r1
+ bne _02248B9C
+ mov r1, #0x1c
+ add r2, r0, #0
+ mul r2, r1
+ add r3, r4, r2
+ mov r2, #0xba
+ lsl r2, r2, #2
+ ldr r3, [r3, r2]
+ mov r2, #4
+ tst r2, r3
+ beq _02248B9C
+ add r1, #0xfc
+ str r0, [r4, r1]
+ add r0, r4, #0
+ ldr r1, [r4, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ mov r5, #1
+ b _02248BD6
+_02248B9C:
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02249D90
+ cmp r0, #0x6b
+ bne _02248BD6
+ add r1, r4, #0
+ add r1, #0x94
+ ldr r0, [r4, #0x64]
+ ldr r1, [r1]
+ cmp r0, r1
+ bne _02248BD6
+ mov r1, #0x1c
+ add r2, r0, #0
+ mul r2, r1
+ add r3, r4, r2
+ mov r2, #0xba
+ lsl r2, r2, #2
+ ldr r3, [r3, r2]
+ mov r2, #4
+ tst r2, r3
+ beq _02248BD6
+ add r1, #0xfc
+ str r0, [r4, r1]
+ add r0, r4, #0
+ ldr r1, [r4, #0x6c]
+ add r0, #0x94
+ str r1, [r0]
+ mov r5, #1
+_02248BD6:
+ cmp r5, #1
+ bne _02248BF6
+ add r0, r4, #0
+ mov r1, #5
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0x6a
+ bl MOD11_022431DC
+ str r6, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02248BF6:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02248BFC: .word 0x0000213C
+_02248C00: .word 0x00002DAC
+_02248C04: .word 0x00000F88
+_02248C08: .word 0x00000106
+
+ thumb_func_start MOD11_02248C0C
+MOD11_02248C0C: ; 0x02248C0C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ str r0, [sp]
+ add r4, r1, #0
+ mov r0, #0
+ str r0, [sp, #0xc]
+ str r2, [sp, #4]
+ add r0, r4, #0
+ add r1, r2, #0
+ bl MOD11_02249D90
+ str r0, [sp, #0x10]
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ add r6, r0, #0
+ ldr r0, [sp, #4]
+ mov r3, #0xc0
+ add r5, r0, #0
+ ldr r0, _02248F50 ; =0x00002D8C
+ mul r5, r3
+ add r1, r4, r0
+ ldr r2, [r1, r5]
+ str r1, [sp, #0x14]
+ cmp r2, #0
+ bne _02248C46
+ b _02249274
+_02248C46:
+ ldr r1, [sp, #0x10]
+ cmp r1, #0x35
+ bhi _02248CE8
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02248C58: ; jump table
+ .short _02249246 - _02248C58 - 2 ; case 0
+ .short _02248CC4 - _02248C58 - 2 ; case 1
+ .short _02249246 - _02248C58 - 2 ; case 2
+ .short _02249246 - _02248C58 - 2 ; case 3
+ .short _02248D00 - _02248C58 - 2 ; case 4
+ .short _02248D14 - _02248C58 - 2 ; case 5
+ .short _02248D28 - _02248C58 - 2 ; case 6
+ .short _02248D3C - _02248C58 - 2 ; case 7
+ .short _02248D50 - _02248C58 - 2 ; case 8
+ .short _02248D64 - _02248C58 - 2 ; case 9
+ .short _02248DC6 - _02248C58 - 2 ; case 10
+ .short _02248DDA - _02248C58 - 2 ; case 11
+ .short _02248CDC - _02248C58 - 2 ; case 12
+ .short _02248E3A - _02248C58 - 2 ; case 13
+ .short _02248E76 - _02248C58 - 2 ; case 14
+ .short _02248EB2 - _02248C58 - 2 ; case 15
+ .short _02248EEE - _02248C58 - 2 ; case 16
+ .short _02248F2C - _02248C58 - 2 ; case 17
+ .short _02249246 - _02248C58 - 2 ; case 18
+ .short _02249246 - _02248C58 - 2 ; case 19
+ .short _02249246 - _02248C58 - 2 ; case 20
+ .short _02249246 - _02248C58 - 2 ; case 21
+ .short _02249246 - _02248C58 - 2 ; case 22
+ .short _02249246 - _02248C58 - 2 ; case 23
+ .short _02249246 - _02248C58 - 2 ; case 24
+ .short _02249246 - _02248C58 - 2 ; case 25
+ .short _02249246 - _02248C58 - 2 ; case 26
+ .short _02249246 - _02248C58 - 2 ; case 27
+ .short _02249246 - _02248C58 - 2 ; case 28
+ .short _02249246 - _02248C58 - 2 ; case 29
+ .short _02249246 - _02248C58 - 2 ; case 30
+ .short _02249246 - _02248C58 - 2 ; case 31
+ .short _02249246 - _02248C58 - 2 ; case 32
+ .short _02249246 - _02248C58 - 2 ; case 33
+ .short _02249246 - _02248C58 - 2 ; case 34
+ .short _02248F86 - _02248C58 - 2 ; case 35
+ .short _02248FCA - _02248C58 - 2 ; case 36
+ .short _02249012 - _02248C58 - 2 ; case 37
+ .short _02249058 - _02248C58 - 2 ; case 38
+ .short _0224909E - _02248C58 - 2 ; case 39
+ .short _022490E4 - _02248C58 - 2 ; case 40
+ .short _02249128 - _02248C58 - 2 ; case 41
+ .short _02249246 - _02248C58 - 2 ; case 42
+ .short _022491D8 - _02248C58 - 2 ; case 43
+ .short _0224920C - _02248C58 - 2 ; case 44
+ .short _02249246 - _02248C58 - 2 ; case 45
+ .short _02249246 - _02248C58 - 2 ; case 46
+ .short _02249246 - _02248C58 - 2 ; case 47
+ .short _02249194 - _02248C58 - 2 ; case 48
+ .short _02249246 - _02248C58 - 2 ; case 49
+ .short _02249246 - _02248C58 - 2 ; case 50
+ .short _02249246 - _02248C58 - 2 ; case 51
+ .short _02249246 - _02248C58 - 2 ; case 52
+ .short _022491BC - _02248C58 - 2 ; case 53
+_02248CC4:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r0, r0, #1
+ cmp r2, r0
+ bhi _02248CE8
+ ldr r0, _02248F54 ; =0x0000215C
+ mov r7, #0xc6
+ str r6, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248CDC:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r1, [r1, r0]
+ lsr r0, r1, #1
+ cmp r2, r0
+ bls _02248CEA
+_02248CE8:
+ b _02249246
+_02248CEA:
+ add r0, r6, #0
+ mul r0, r1
+ mov r1, #0x64
+ bl MOD11_022476C0
+ ldr r1, _02248F54 ; =0x0000215C
+ mov r7, #0xc6
+ str r0, [r4, r1]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248D00:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _02248DF2
+ mov r0, #1
+ mov r7, #0xc7
+ str r0, [sp, #0xc]
+ b _02249246
+_02248D14:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _02248DF2
+ mov r0, #1
+ mov r7, #0xc8
+ str r0, [sp, #0xc]
+ b _02249246
+_02248D28:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ ldr r0, _02248F58 ; =0x00000F88
+ tst r0, r1
+ beq _02248DF2
+ mov r0, #1
+ mov r7, #0xc9
+ str r0, [sp, #0xc]
+ b _02249246
+_02248D3C:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #0x10
+ tst r0, r1
+ beq _02248DF2
+ mov r0, #1
+ mov r7, #0xca
+ str r0, [sp, #0xc]
+ b _02249246
+_02248D50:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _02248DF2
+ mov r0, #1
+ mov r7, #0xcb
+ str r0, [sp, #0xc]
+ b _02249246
+_02248D64:
+ mov r0, #0
+ str r0, [sp, #8]
+ add r0, r4, r5
+ ldr r3, _02248F5C ; =0x00002D4C
+ add r1, r0, #0
+_02248D6E:
+ ldrh r2, [r0, r3]
+ cmp r2, #0
+ beq _02248D7C
+ ldr r2, _02248F60 ; =0x00002D6C
+ ldrb r2, [r1, r2]
+ cmp r2, #0
+ beq _02248D8A
+_02248D7C:
+ ldr r2, [sp, #8]
+ add r0, r0, #2
+ add r2, r2, #1
+ add r1, r1, #1
+ str r2, [sp, #8]
+ cmp r2, #4
+ blt _02248D6E
+_02248D8A:
+ ldr r0, [sp, #8]
+ cmp r0, #4
+ beq _02248DF2
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldr r1, [sp, #8]
+ add r0, r4, r0
+ add r0, r0, r5
+ add r1, #0x1f
+ add r2, r6, #0
+ bl MOD11_02243DC8
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_02245190
+ ldr r0, [sp, #8]
+ add r1, r4, r5
+ lsl r0, r0, #1
+ add r1, r1, r0
+ ldr r0, _02248F5C ; =0x00002D4C
+ mov r7, #0xcc
+ ldrh r1, [r1, r0]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248DC6:
+ add r1, r4, r5
+ add r0, #0x24
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _02248DF2
+ mov r0, #1
+ mov r7, #0xcd
+ str r0, [sp, #0xc]
+ b _02249246
+_02248DDA:
+ add r2, r0, #0
+ add r1, r4, r5
+ add r2, #0x20
+ ldr r2, [r1, r2]
+ lsl r3, r2, #0x18
+ lsr r3, r3, #0x18
+ bne _02248DF4
+ add r0, #0x24
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ bne _02248DF4
+_02248DF2:
+ b _02249246
+_02248DF4:
+ mov r0, #0x40
+ tst r0, r2
+ beq _02248DFC
+ mov r7, #0xc7
+_02248DFC:
+ mov r0, #7
+ tst r0, r2
+ beq _02248E04
+ mov r7, #0xc8
+_02248E04:
+ ldr r0, _02248F58 ; =0x00000F88
+ tst r0, r2
+ beq _02248E0C
+ mov r7, #0xc9
+_02248E0C:
+ mov r0, #0x10
+ tst r0, r2
+ beq _02248E14
+ mov r7, #0xca
+_02248E14:
+ mov r0, #0x20
+ tst r0, r2
+ beq _02248E1C
+ mov r7, #0xcb
+_02248E1C:
+ ldr r0, _02248F64 ; =0x00002DB0
+ add r1, r4, r5
+ ldr r1, [r1, r0]
+ mov r0, #7
+ and r0, r1
+ beq _02248E2A
+ mov r7, #0xcd
+_02248E2A:
+ cmp r3, #0
+ beq _02248E34
+ cmp r0, #0
+ beq _02248E34
+ mov r7, #0xce
+_02248E34:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248E3A:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _02248EFA
+ add r1, r6, #0
+ bl MOD11_022476C0
+ ldr r1, _02248F54 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #0
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02248F68 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02248E6E
+ mov r7, #0xcf
+ b _02248E70
+_02248E6E:
+ mov r7, #0xc6
+_02248E70:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248E76:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _02248EFA
+ add r1, r6, #0
+ bl MOD11_022476C0
+ ldr r1, _02248F54 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02248F68 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02248EAA
+ mov r7, #0xcf
+ b _02248EAC
+_02248EAA:
+ mov r7, #0xc6
+_02248EAC:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248EB2:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _02248EFA
+ add r1, r6, #0
+ bl MOD11_022476C0
+ ldr r1, _02248F54 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02248F68 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02248EE6
+ mov r7, #0xcf
+ b _02248EE8
+_02248EE6:
+ mov r7, #0xc6
+_02248EE8:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248EEE:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bls _02248EFC
+_02248EFA:
+ b _02249246
+_02248EFC:
+ add r1, r6, #0
+ bl MOD11_022476C0
+ ldr r1, _02248F54 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #3
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02248F68 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02248F24
+ mov r7, #0xcf
+ b _02248F26
+_02248F24:
+ mov r7, #0xc6
+_02248F26:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248F2C:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _02249000
+ add r1, r6, #0
+ bl MOD11_022476C0
+ ldr r1, _02248F54 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #4
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02248F68 ; =0x00002DA8
+ b _02248F6C
+ .align 2, 0
+_02248F50: .word 0x00002D8C
+_02248F54: .word 0x0000215C
+_02248F58: .word 0x00000F88
+_02248F5C: .word 0x00002D4C
+_02248F60: .word 0x00002D6C
+_02248F64: .word 0x00002DB0
+_02248F68: .word 0x00002DA8
+_02248F6C:
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02248F7E
+ mov r7, #0xcf
+ b _02248F80
+_02248F7E:
+ mov r7, #0xc6
+_02248F80:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249246
+_02248F86:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _02248F98
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_02248F98:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249000
+ ldr r0, _02249280 ; =0x00002D59
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _02249000
+ mov r1, #0x13
+ mov r0, #1
+ lsl r1, r1, #4
+ str r0, [sp, #0xc]
+ str r0, [r4, r1]
+ mov r7, #0xd0
+ b _02249246
+_02248FCA:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _02248FDC
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_02248FDC:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249000
+ ldr r0, _02249284 ; =0x00002D5A
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ blt _02249002
+_02249000:
+ b _02249246
+_02249002:
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #1
+ mov r7, #0xd0
+ str r0, [sp, #0xc]
+ b _02249246
+_02249012:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _02249024
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_02249024:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _0224911E
+ ldr r0, _02249288 ; =0x00002D5B
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _0224911E
+ mov r0, #0x13
+ mov r1, #3
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #1
+ mov r7, #0xd0
+ str r0, [sp, #0xc]
+ b _02249246
+_02249058:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _0224906A
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_0224906A:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _0224911E
+ ldr r0, _0224928C ; =0x00002D5C
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _0224911E
+ mov r0, #0x13
+ mov r1, #4
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #1
+ mov r7, #0xd0
+ str r0, [sp, #0xc]
+ b _02249246
+_0224909E:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _022490B0
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_022490B0:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _0224911E
+ ldr r0, _02249290 ; =0x00002D5D
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _0224911E
+ mov r0, #0x13
+ mov r1, #5
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #1
+ mov r7, #0xd0
+ str r0, [sp, #0xc]
+ b _02249246
+_022490E4:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _022490F6
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_022490F6:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _0224911E
+ ldr r0, _02249294 ; =0x00002DB0
+ add r1, r4, r5
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x14
+ tst r0, r1
+ beq _02249120
+_0224911E:
+ b _02249246
+_02249120:
+ mov r0, #1
+ mov r7, #0xd1
+ str r0, [sp, #0xc]
+ b _02249246
+_02249128:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _0224913A
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_0224913A:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249246
+ ldr r0, _02249280 ; =0x00002D59
+ mov r2, #0
+ add r3, r4, r5
+_0224915A:
+ ldrsb r1, [r3, r0]
+ cmp r1, #0xc
+ blt _02249168
+ add r2, r2, #1
+ add r3, r3, #1
+ cmp r2, #5
+ blt _0224915A
+_02249168:
+ cmp r2, #5
+ beq _02249246
+ ldr r6, _02249280 ; =0x00002D59
+ add r5, r4, r5
+ mov r7, #5
+_02249172:
+ bl FUN_0201B9EC
+ add r1, r7, #0
+ blx _s32_div_f
+ add r0, r5, r1
+ ldrsb r0, [r0, r6]
+ cmp r0, #0xc
+ beq _02249172
+ mov r0, #0x13
+ add r1, r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #1
+ mov r7, #0xd2
+ str r0, [sp, #0xc]
+ b _02249246
+_02249194:
+ ldr r6, _02249298 ; =0x00002D58
+ add r1, r4, r5
+ mov r0, #0
+ mov r5, #6
+ add r3, r6, #0
+_0224919E:
+ ldrsb r2, [r1, r3]
+ cmp r2, #6
+ bge _022491AA
+ mov r2, #1
+ strb r5, [r1, r6]
+ str r2, [sp, #0xc]
+_022491AA:
+ add r0, r0, #1
+ add r1, r1, #1
+ cmp r0, #8
+ blt _0224919E
+ ldr r0, [sp, #0xc]
+ cmp r0, #1
+ bne _02249246
+ mov r7, #0xd3
+ b _02249246
+_022491BC:
+ add r1, r4, r5
+ add r0, #0x24
+ ldr r1, [r1, r0]
+ mov r0, #0xf
+ lsl r0, r0, #0x10
+ tst r0, r1
+ beq _02249246
+ mov r0, #6
+ add r3, #0x70
+ str r0, [r4, r3]
+ mov r0, #1
+ mov r7, #0xd4
+ str r0, [sp, #0xc]
+ b _02249246
+_022491D8:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _022491EA
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_022491EA:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249246
+ mov r0, #1
+ ldr r7, _0224929C ; =0x00000109
+ str r0, [sp, #0xc]
+ b _02249246
+_0224920C:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _0224921E
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r6, r0, #1
+_0224921E:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224927C ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r6, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249246
+ ldr r0, _022492A0 ; =0x00002DCC
+ add r2, r4, r0
+ mov r0, #1
+ ldr r1, [r2, r5]
+ lsl r0, r0, #0x1c
+ orr r0, r1
+ str r0, [r2, r5]
+_02249246:
+ ldr r0, [sp, #0xc]
+ cmp r0, #1
+ bne _02249274
+ mov r1, #0x46
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02249B4C
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, r7, #0
+ bl MOD11_022431DC
+ ldr r0, [r4, #8]
+ str r0, [r4, #0xc]
+ mov r0, #0x15
+ str r0, [r4, #8]
+_02249274:
+ ldr r0, [sp, #0xc]
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224927C: .word 0x00002D90
+_02249280: .word 0x00002D59
+_02249284: .word 0x00002D5A
+_02249288: .word 0x00002D5B
+_0224928C: .word 0x00002D5C
+_02249290: .word 0x00002D5D
+_02249294: .word 0x00002DB0
+_02249298: .word 0x00002D58
+_0224929C: .word 0x00000109
+_022492A0: .word 0x00002DCC
+
+ thumb_func_start MOD11_022492A4
+MOD11_022492A4: ; 0x022492A4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ add r6, r2, #0
+ mov r7, #0
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02249D90
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02249DA4
+ mov r0, #0xc0
+ add r4, r6, #0
+ mul r4, r0
+ ldr r0, _02249394 ; =0x00002D8C
+ add r1, r5, r0
+ str r1, [sp, #8]
+ ldr r1, [r1, r4]
+ cmp r1, #0
+ beq _0224938E
+ ldr r2, [sp, #4]
+ cmp r2, #0x44
+ beq _022492E2
+ add r0, r2, #0
+ cmp r0, #0x6c
+ beq _022492FE
+ b _02249364
+_022492E2:
+ add r2, r5, r4
+ add r0, r0, #4
+ ldr r0, [r2, r0]
+ cmp r1, r0
+ bhs _02249364
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _02249398 ; =0x0000215C
+ mov r7, #1
+ str r0, [r5, r1]
+ mov r0, #0xd5
+ str r0, [sp]
+ b _02249364
+_022492FE:
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ add r3, r7, #0
+ bl MOD11_02243420
+ cmp r0, #3
+ beq _0224931E
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1c
+ add r3, r7, #0
+ bl MOD11_02243420
+ cmp r0, #3
+ bne _0224933E
+_0224931E:
+ ldr r0, _0224939C ; =0x00002D90
+ add r1, r5, r4
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #8]
+ ldr r1, [r1, r4]
+ cmp r1, r0
+ bhs _02249364
+ mov r1, #0x10
+ bl MOD11_022476C0
+ ldr r1, _02249398 ; =0x0000215C
+ mov r7, #1
+ str r0, [r5, r1]
+ mov r0, #0xd5
+ str r0, [sp]
+ b _02249364
+_0224933E:
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _02249364
+ ldr r0, _0224939C ; =0x00002D90
+ add r1, r5, r4
+ ldr r1, [r1, r0]
+ sub r0, r7, #1
+ mul r0, r1
+ mov r1, #8
+ bl MOD11_022476C0
+ ldr r1, _02249398 ; =0x0000215C
+ mov r7, #1
+ str r0, [r5, r1]
+ mov r0, #0xd7
+ str r0, [sp]
+_02249364:
+ cmp r7, #1
+ bne _0224938E
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r6, [r5, r0]
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_02249B4C
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ str r0, [r5, r1]
+ ldr r2, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r5, #8]
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+_0224938E:
+ add r0, r7, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02249394: .word 0x00002D8C
+_02249398: .word 0x0000215C
+_0224939C: .word 0x00002D90
+
+ thumb_func_start MOD11_022493A0
+MOD11_022493A0: ; 0x022493A0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ str r0, [sp]
+ add r4, r1, #0
+ mov r0, #0
+ str r0, [sp, #0xc]
+ str r2, [sp, #4]
+ add r0, r4, #0
+ add r1, r2, #0
+ add r6, r3, #0
+ bl MOD11_02249D90
+ str r0, [sp, #0x10]
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ mov r2, #0
+ bl MOD11_02249DA4
+ add r7, r0, #0
+ ldr r0, [sp, #4]
+ mov r3, #0xc0
+ add r5, r0, #0
+ ldr r0, _022496E4 ; =0x00002D8C
+ mul r5, r3
+ add r1, r4, r0
+ ldr r2, [r1, r5]
+ str r1, [sp, #0x14]
+ cmp r2, #0
+ bne _022493DC
+ b _02249A50
+_022493DC:
+ ldr r1, [sp, #0x10]
+ cmp r1, #0x35
+ bhi _02249480
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022493EE: ; jump table
+ .short _02249A3C - _022493EE - 2 ; case 0
+ .short _0224945A - _022493EE - 2 ; case 1
+ .short _02249A3C - _022493EE - 2 ; case 2
+ .short _02249A3C - _022493EE - 2 ; case 3
+ .short _0224949A - _022493EE - 2 ; case 4
+ .short _022494B0 - _022493EE - 2 ; case 5
+ .short _022494C6 - _022493EE - 2 ; case 6
+ .short _022494DC - _022493EE - 2 ; case 7
+ .short _022494F2 - _022493EE - 2 ; case 8
+ .short _02249508 - _022493EE - 2 ; case 9
+ .short _0224956C - _022493EE - 2 ; case 10
+ .short _02249582 - _022493EE - 2 ; case 11
+ .short _02249474 - _022493EE - 2 ; case 12
+ .short _022496BC - _022493EE - 2 ; case 13
+ .short _0224972C - _022493EE - 2 ; case 14
+ .short _0224976A - _022493EE - 2 ; case 15
+ .short _022497A8 - _022493EE - 2 ; case 16
+ .short _022497E6 - _022493EE - 2 ; case 17
+ .short _02249A3C - _022493EE - 2 ; case 18
+ .short _02249A3C - _022493EE - 2 ; case 19
+ .short _02249A3C - _022493EE - 2 ; case 20
+ .short _02249A3C - _022493EE - 2 ; case 21
+ .short _02249A3C - _022493EE - 2 ; case 22
+ .short _02249A3C - _022493EE - 2 ; case 23
+ .short _02249A3C - _022493EE - 2 ; case 24
+ .short _02249A3C - _022493EE - 2 ; case 25
+ .short _02249A3C - _022493EE - 2 ; case 26
+ .short _02249A3C - _022493EE - 2 ; case 27
+ .short _02249A3C - _022493EE - 2 ; case 28
+ .short _02249A3C - _022493EE - 2 ; case 29
+ .short _02249A3C - _022493EE - 2 ; case 30
+ .short _02249A3C - _022493EE - 2 ; case 31
+ .short _02249A3C - _022493EE - 2 ; case 32
+ .short _02249A3C - _022493EE - 2 ; case 33
+ .short _02249A3C - _022493EE - 2 ; case 34
+ .short _02249826 - _022493EE - 2 ; case 35
+ .short _0224986C - _022493EE - 2 ; case 36
+ .short _022498B4 - _022493EE - 2 ; case 37
+ .short _022498FC - _022493EE - 2 ; case 38
+ .short _02249946 - _022493EE - 2 ; case 39
+ .short _0224998E - _022493EE - 2 ; case 40
+ .short _022499D2 - _022493EE - 2 ; case 41
+ .short _02249A3C - _022493EE - 2 ; case 42
+ .short _0224964A - _022493EE - 2 ; case 43
+ .short _02249680 - _022493EE - 2 ; case 44
+ .short _02249A3C - _022493EE - 2 ; case 45
+ .short _02249A3C - _022493EE - 2 ; case 46
+ .short _02249A3C - _022493EE - 2 ; case 47
+ .short _02249602 - _022493EE - 2 ; case 48
+ .short _02249A3C - _022493EE - 2 ; case 49
+ .short _02249A3C - _022493EE - 2 ; case 50
+ .short _02249A3C - _022493EE - 2 ; case 51
+ .short _02249A3C - _022493EE - 2 ; case 52
+ .short _0224962C - _022493EE - 2 ; case 53
+_0224945A:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r0, r0, #1
+ cmp r2, r0
+ bhi _02249480
+ ldr r0, _022496E8 ; =0x0000215C
+ str r7, [r4, r0]
+ mov r0, #0xc6
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249474:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r1, [r1, r0]
+ lsr r0, r1, #1
+ cmp r2, r0
+ bls _02249482
+_02249480:
+ b _02249A3C
+_02249482:
+ add r0, r7, #0
+ mul r0, r1
+ mov r1, #0x64
+ bl MOD11_022476C0
+ ldr r1, _022496E8 ; =0x0000215C
+ str r0, [r4, r1]
+ mov r0, #0xc6
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_0224949A:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _0224959C
+ mov r0, #0xc7
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022494B0:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0224959C
+ mov r0, #0xc8
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022494C6:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ ldr r0, _022496EC ; =0x00000F88
+ tst r0, r1
+ beq _0224959C
+ mov r0, #0xc9
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022494DC:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #0x10
+ tst r0, r1
+ beq _0224959C
+ mov r0, #0xca
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022494F2:
+ add r1, r4, r5
+ add r0, #0x20
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0224959C
+ mov r0, #0xcb
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249508:
+ mov r0, #0
+ str r0, [sp, #8]
+ add r0, r4, r5
+ ldr r3, _022496F0 ; =0x00002D4C
+ add r1, r0, #0
+_02249512:
+ ldrh r2, [r0, r3]
+ cmp r2, #0
+ beq _02249520
+ ldr r2, _022496F4 ; =0x00002D6C
+ ldrb r2, [r1, r2]
+ cmp r2, #0
+ beq _0224952E
+_02249520:
+ ldr r2, [sp, #8]
+ add r0, r0, #2
+ add r2, r2, #1
+ add r1, r1, #1
+ str r2, [sp, #8]
+ cmp r2, #4
+ blt _02249512
+_0224952E:
+ ldr r0, [sp, #8]
+ cmp r0, #4
+ beq _0224959C
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldr r1, [sp, #8]
+ add r0, r4, r0
+ add r0, r0, r5
+ add r1, #0x1f
+ add r2, r7, #0
+ bl MOD11_02243DC8
+ ldr r0, [sp]
+ ldr r2, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_02245190
+ ldr r0, [sp, #8]
+ add r1, r4, r5
+ lsl r0, r0, #1
+ add r1, r1, r0
+ ldr r0, _022496F0 ; =0x00002D4C
+ ldrh r1, [r1, r0]
+ mov r0, #0x49
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ mov r0, #0xcc
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_0224956C:
+ add r1, r4, r5
+ add r0, #0x24
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0224959C
+ mov r0, #0xcd
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249582:
+ add r1, r0, #0
+ add r1, #0x20
+ add r1, r4, r1
+ ldr r2, [r1, r5]
+ lsl r3, r2, #0x18
+ lsr r3, r3, #0x18
+ bne _0224959E
+ add r3, r4, r5
+ add r0, #0x24
+ ldr r3, [r3, r0]
+ mov r0, #7
+ tst r0, r3
+ bne _0224959E
+_0224959C:
+ b _02249A3C
+_0224959E:
+ mov r0, #0x40
+ tst r0, r2
+ beq _022495A8
+ mov r0, #0xc7
+ str r0, [r6]
+_022495A8:
+ ldr r2, [r1, r5]
+ mov r0, #7
+ tst r0, r2
+ beq _022495B4
+ mov r0, #0xc8
+ str r0, [r6]
+_022495B4:
+ ldr r2, [r1, r5]
+ ldr r0, _022496EC ; =0x00000F88
+ tst r0, r2
+ beq _022495C0
+ mov r0, #0xc9
+ str r0, [r6]
+_022495C0:
+ ldr r2, [r1, r5]
+ mov r0, #0x10
+ tst r0, r2
+ beq _022495CC
+ mov r0, #0xca
+ str r0, [r6]
+_022495CC:
+ ldr r2, [r1, r5]
+ mov r0, #0x20
+ tst r0, r2
+ beq _022495D8
+ mov r0, #0xcb
+ str r0, [r6]
+_022495D8:
+ ldr r0, _022496F8 ; =0x00002DB0
+ mov r2, #7
+ add r0, r4, r0
+ ldr r3, [r0, r5]
+ tst r2, r3
+ beq _022495E8
+ mov r2, #0xcd
+ str r2, [r6]
+_022495E8:
+ ldr r1, [r1, r5]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ beq _022495FC
+ ldr r1, [r0, r5]
+ mov r0, #7
+ tst r0, r1
+ beq _022495FC
+ mov r0, #0xce
+ str r0, [r6]
+_022495FC:
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249602:
+ ldr r7, _022496FC ; =0x00002D58
+ add r1, r4, r5
+ mov r0, #0
+ mov r5, #6
+ add r3, r7, #0
+_0224960C:
+ ldrsb r2, [r1, r3]
+ cmp r2, #6
+ bge _02249618
+ mov r2, #1
+ strb r5, [r1, r7]
+ str r2, [sp, #0xc]
+_02249618:
+ add r0, r0, #1
+ add r1, r1, #1
+ cmp r0, #8
+ blt _0224960C
+ ldr r0, [sp, #0xc]
+ cmp r0, #1
+ bne _022496C8
+ mov r0, #0xd3
+ str r0, [r6]
+ b _02249A3C
+_0224962C:
+ add r1, r4, r5
+ add r0, #0x24
+ ldr r1, [r1, r0]
+ mov r0, #0xf
+ lsl r0, r0, #0x10
+ tst r0, r1
+ beq _022496C8
+ mov r0, #6
+ add r3, #0x70
+ str r0, [r4, r3]
+ mov r0, #0xd4
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_0224964A:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _0224965C
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_0224965C:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249700 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _022496C8
+ ldr r0, _02249704 ; =0x00000109
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249680:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _02249692
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_02249692:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249700 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _022496C8
+ ldr r0, _02249708 ; =0x00002DCC
+ add r2, r4, r0
+ mov r0, #1
+ ldr r1, [r2, r5]
+ lsl r0, r0, #0x1c
+ orr r0, r1
+ str r0, [r2, r5]
+ b _02249A3C
+_022496BC:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bls _022496CA
+_022496C8:
+ b _02249A3C
+_022496CA:
+ add r1, r7, #0
+ bl MOD11_022476C0
+ ldr r1, _022496E8 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #0
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _0224970C ; =0x00002DA8
+ b _02249710
+ nop
+_022496E4: .word 0x00002D8C
+_022496E8: .word 0x0000215C
+_022496EC: .word 0x00000F88
+_022496F0: .word 0x00002D4C
+_022496F4: .word 0x00002D6C
+_022496F8: .word 0x00002DB0
+_022496FC: .word 0x00002D58
+_02249700: .word 0x00002D90
+_02249704: .word 0x00000109
+_02249708: .word 0x00002DCC
+_0224970C: .word 0x00002DA8
+_02249710:
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02249722
+ mov r0, #0xcf
+ b _02249724
+_02249722:
+ mov r0, #0xc6
+_02249724:
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_0224972C:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _022497F2
+ add r1, r7, #0
+ bl MOD11_022476C0
+ ldr r1, _02249A58 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02249A5C ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02249760
+ mov r0, #0xcf
+ b _02249762
+_02249760:
+ mov r0, #0xc6
+_02249762:
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_0224976A:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _022497F2
+ add r1, r7, #0
+ bl MOD11_022476C0
+ ldr r1, _02249A58 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02249A5C ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _0224979E
+ mov r0, #0xcf
+ b _022497A0
+_0224979E:
+ mov r0, #0xc6
+_022497A0:
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022497A8:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bhi _022497F2
+ add r1, r7, #0
+ bl MOD11_022476C0
+ ldr r1, _02249A58 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #3
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02249A5C ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _022497DC
+ mov r0, #0xcf
+ b _022497DE
+_022497DC:
+ mov r0, #0xc6
+_022497DE:
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022497E6:
+ add r1, r4, r5
+ add r0, r0, #4
+ ldr r0, [r1, r0]
+ lsr r1, r0, #1
+ cmp r2, r1
+ bls _022497F4
+_022497F2:
+ b _02249A3C
+_022497F4:
+ add r1, r7, #0
+ bl MOD11_022476C0
+ ldr r1, _02249A58 ; =0x0000215C
+ add r2, r4, r5
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #4
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _02249A5C ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _0224981C
+ mov r0, #0xcf
+ b _0224981E
+_0224981C:
+ mov r0, #0xc6
+_0224981E:
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249826:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _02249838
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_02249838:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249932
+ ldr r0, _02249A64 ; =0x00002D59
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _02249932
+ mov r1, #0x13
+ mov r0, #1
+ lsl r1, r1, #4
+ str r0, [sp, #0xc]
+ str r0, [r4, r1]
+ mov r0, #0xd0
+ str r0, [r6]
+ b _02249A3C
+_0224986C:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _0224987E
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_0224987E:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249932
+ ldr r0, _02249A68 ; =0x00002D5A
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _02249932
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #0xd0
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022498B4:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _022498C6
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_022498C6:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249932
+ ldr r0, _02249A6C ; =0x00002D5B
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _02249932
+ mov r0, #0x13
+ mov r1, #3
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #0xd0
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022498FC:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _0224990E
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_0224990E:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249932
+ ldr r0, _02249A70 ; =0x00002D5C
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ blt _02249934
+_02249932:
+ b _02249A3C
+_02249934:
+ mov r0, #0x13
+ mov r1, #4
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #0xd0
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_02249946:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _02249958
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_02249958:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249A3C
+ ldr r0, _02249A74 ; =0x00002D5D
+ add r1, r4, r5
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xc
+ bge _02249A3C
+ mov r0, #0x13
+ mov r1, #5
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #0xd0
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_0224998E:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _022499A0
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_022499A0:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249A3C
+ ldr r0, _02249A78 ; =0x00002DB0
+ add r1, r4, r5
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x14
+ tst r0, r1
+ bne _02249A3C
+ mov r0, #0xd1
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ b _02249A3C
+_022499D2:
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x52
+ bne _022499E4
+ lsr r0, r7, #0x1f
+ add r0, r7, r0
+ asr r7, r0, #1
+_022499E4:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _02249A60 ; =0x00002D90
+ add r1, r4, r1
+ ldr r0, [r1, r0]
+ add r1, r7, #0
+ blx _u32_div_f
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, r5]
+ cmp r1, r0
+ bhi _02249A3C
+ ldr r0, _02249A64 ; =0x00002D59
+ mov r2, #0
+ add r3, r4, r5
+_02249A04:
+ ldrsb r1, [r3, r0]
+ cmp r1, #0xc
+ blt _02249A12
+ add r2, r2, #1
+ add r3, r3, #1
+ cmp r2, #5
+ blt _02249A04
+_02249A12:
+ cmp r2, #5
+ beq _02249A3C
+ ldr r7, _02249A64 ; =0x00002D59
+ add r5, r4, r5
+_02249A1A:
+ bl FUN_0201B9EC
+ mov r1, #5
+ blx _s32_div_f
+ add r0, r5, r1
+ ldrsb r0, [r0, r7]
+ cmp r0, #0xc
+ beq _02249A1A
+ mov r0, #0x13
+ add r1, r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r0, #0xd2
+ str r0, [r6]
+ mov r0, #1
+ str r0, [sp, #0xc]
+_02249A3C:
+ ldr r0, [sp, #0xc]
+ cmp r0, #1
+ bne _02249A50
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02249B4C
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+_02249A50:
+ ldr r0, [sp, #0xc]
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02249A58: .word 0x0000215C
+_02249A5C: .word 0x00002DA8
+_02249A60: .word 0x00002D90
+_02249A64: .word 0x00002D59
+_02249A68: .word 0x00002D5A
+_02249A6C: .word 0x00002D5B
+_02249A70: .word 0x00002D5C
+_02249A74: .word 0x00002D5D
+_02249A78: .word 0x00002DB0
+
+ thumb_func_start MOD11_02249A7C
+MOD11_02249A7C: ; 0x02249A7C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ add r4, r2, #0
+ mov r6, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02249D90
+ add r7, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_02249DA4
+ str r0, [sp, #8]
+ mov r0, #0xc0
+ mul r0, r4
+ str r0, [sp]
+ add r1, r5, r0
+ ldr r0, _02249B40 ; =0x00002D8C
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02249B38
+ cmp r7, #0x63
+ beq _02249ABA
+ cmp r7, #0x64
+ beq _02249AD0
+ cmp r7, #0x73
+ beq _02249AE6
+ b _02249B0E
+_02249ABA:
+ add r0, r5, #0
+ add r0, #0x94
+ str r4, [r0]
+ add r0, r5, #0
+ mov r1, #5
+ add r0, #0x88
+ str r1, [r0]
+ mov r0, #0x2f
+ str r0, [sp, #4]
+ mov r6, #1
+ b _02249B0E
+_02249AD0:
+ add r0, r5, #0
+ add r0, #0x94
+ str r4, [r0]
+ add r0, r5, #0
+ mov r1, #5
+ add r0, #0x88
+ str r1, [r0]
+ mov r0, #0x19
+ str r0, [sp, #4]
+ mov r6, #1
+ b _02249B0E
+_02249AE6:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _02249B0E
+ ldr r0, [sp]
+ add r1, r5, r0
+ ldr r0, _02249B44 ; =0x00002D90
+ ldr r1, [r1, r0]
+ sub r0, r6, #1
+ mul r0, r1
+ ldr r1, [sp, #8]
+ bl MOD11_022476C0
+ ldr r1, _02249B48 ; =0x0000215C
+ mov r6, #1
+ str r0, [r5, r1]
+ mov r0, #0xd7
+ str r0, [sp, #4]
+_02249B0E:
+ cmp r6, #1
+ bne _02249B38
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r4, [r5, r0]
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02249B4C
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ str r0, [r5, r1]
+ ldr r2, [sp, #4]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_022431DC
+ ldr r0, [r5, #8]
+ str r0, [r5, #0xc]
+ mov r0, #0x15
+ str r0, [r5, #8]
+_02249B38:
+ add r0, r6, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02249B40: .word 0x00002D8C
+_02249B44: .word 0x00002D90
+_02249B48: .word 0x0000215C
+
+ thumb_func_start MOD11_02249B4C
+MOD11_02249B4C: ; 0x02249B4C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x67
+ bne _02249B5E
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+_02249B5E:
+ mov r0, #0xc0
+ mul r0, r4
+ add r2, r5, r0
+ ldr r0, _02249B78 ; =0x00002DCC
+ ldr r1, [r2, r0]
+ lsl r1, r1, #0xa
+ lsr r1, r1, #0x1d
+ beq _02249B72
+ mov r0, #0
+ pop {r3, r4, r5, pc}
+_02249B72:
+ sub r0, #0x14
+ ldrh r0, [r2, r0]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02249B78: .word 0x00002DCC
+
+ thumb_func_start MOD11_02249B7C
+MOD11_02249B7C: ; 0x02249B7C
+ lsl r1, r1, #4
+ add r1, r0, r1
+ ldr r0, _02249B90 ; =0x000021A8
+ ldr r0, [r1, r0]
+ cmp r0, #0x27
+ bne _02249B8C
+ mov r0, #1
+ bx lr
+_02249B8C:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+_02249B90: .word 0x000021A8
+
+ thumb_func_start MOD11_02249B94
+MOD11_02249B94: ; 0x02249B94
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ ldr r1, [r5, #0x6c]
+ str r0, [sp]
+ add r6, r2, #0
+ mov r7, #0
+ cmp r1, #0xff
+ bne _02249BAC
+ add sp, #0xc
+ add r0, r7, #0
+ pop {r4, r5, r6, r7, pc}
+_02249BAC:
+ add r0, r5, #0
+ bl MOD11_0224AD9C
+ cmp r0, #1
+ bne _02249BBC
+ add sp, #0xc
+ add r0, r7, #0
+ pop {r4, r5, r6, r7, pc}
+_02249BBC:
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ add r4, r0, #0
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_02249DA4
+ str r0, [sp, #4]
+ ldr r0, [sp]
+ ldr r1, [r5, #0x64]
+ bl MOD11_02230270
+ str r0, [sp, #8]
+ cmp r4, #0x2e
+ bgt _02249BF2
+ cmp r4, #0x2a
+ blt _02249BF0
+ bne _02249BE8
+ b _02249D24
+_02249BE8:
+ cmp r4, #0x2d
+ beq _02249C74
+ cmp r4, #0x2e
+ beq _02249CD2
+_02249BF0:
+ b _02249D6A
+_02249BF2:
+ cmp r4, #0x73
+ bne _02249C5C
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ mul r1, r0
+ add r3, r5, r1
+ ldr r1, _02249D70 ; =0x00002D8C
+ ldr r2, [r3, r1]
+ cmp r2, #0
+ beq _02249C5C
+ add r1, #0x2c
+ ldrh r1, [r3, r1]
+ cmp r1, #0
+ bne _02249C5C
+ add r1, r5, r0
+ ldr r0, _02249D74 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ ldr r1, [sp, #8]
+ lsl r1, r1, #3
+ add r2, r5, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r2, [r2, r1]
+ lsl r2, r2, #3
+ lsr r2, r2, #0x1a
+ tst r0, r2
+ bne _02249C5C
+ ldr r0, _02249D78 ; =0x00003044
+ sub r1, #0xaa
+ ldr r0, [r5, r0]
+ cmp r0, r1
+ beq _02249C5C
+ ldr r2, [r5, #0x6c]
+ mov r1, #0x1c
+ mul r1, r2
+ add r3, r5, r1
+ mov r1, #0xb6
+ lsl r1, r1, #2
+ ldr r2, [r3, r1]
+ cmp r2, #0
+ bne _02249C50
+ add r1, #8
+ ldr r1, [r3, r1]
+ cmp r1, #0
+ beq _02249C5C
+_02249C50:
+ mov r1, #0x85
+ lsl r1, r1, #6
+ ldr r2, [r5, r1]
+ mov r1, #0x10
+ tst r1, r2
+ beq _02249C5E
+_02249C5C:
+ b _02249D6A
+_02249C5E:
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _02249D7C ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r1, r0
+ beq _02249D6A
+ mov r1, #0xd8
+ str r1, [r6]
+ add r7, r0, #0
+ b _02249D6A
+_02249C74:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02249D70 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02249D6A
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _02249D6A
+ mov r0, #0x85
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #0x10
+ tst r0, r1
+ bne _02249D6A
+ ldr r1, [r5, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r1, r5, r0
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02249D6A
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _02249D80 ; =0x00002D90
+ add r2, r5, r2
+ ldr r2, [r2, r0]
+ sub r1, #0xc1
+ add r0, r2, #0
+ mul r0, r1
+ ldr r1, [sp, #4]
+ bl MOD11_022476C0
+ ldr r1, _02249D84 ; =0x0000215C
+ mov r7, #1
+ str r0, [r5, r1]
+ lsr r0, r1, #5
+ str r0, [r6]
+ b _02249D6A
+_02249CD2:
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02249D70 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _02249D6A
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _02249D6A
+ ldr r1, [r5, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r1, r5, r0
+ mov r0, #0x2e
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _02249D6A
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _02249D80 ; =0x00002D90
+ add r2, r5, r2
+ ldr r2, [r2, r0]
+ sub r1, #0xc1
+ add r0, r2, #0
+ mul r0, r1
+ ldr r1, [sp, #4]
+ bl MOD11_022476C0
+ ldr r1, _02249D84 ; =0x0000215C
+ mov r7, #1
+ str r0, [r5, r1]
+ lsr r0, r1, #5
+ str r0, [r6]
+ b _02249D6A
+_02249D24:
+ ldr r1, [r5, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r2, _02249D70 ; =0x00002D8C
+ add r0, r5, r0
+ ldr r1, [r0, r2]
+ cmp r1, #0
+ beq _02249D6A
+ ldr r1, _02249D88 ; =0x0000216C
+ ldr r3, [r5, r1]
+ mov r1, #2
+ tst r1, r3
+ beq _02249D6A
+ add r1, r2, #4
+ ldr r0, [r0, r1]
+ ldr r1, [sp, #4]
+ bl MOD11_022476C0
+ ldr r1, _02249D84 ; =0x0000215C
+ mov r7, #1
+ str r0, [r5, r1]
+ mov r1, #0xc6
+ str r1, [r6]
+ ldr r0, [r5, #0x6c]
+ add r1, #0x52
+ str r0, [r5, r1]
+ ldr r0, [r5, #0x6c]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _02249D8C ; =0x00002DB8
+ add r2, r5, r2
+ ldrh r0, [r2, r0]
+ add r1, #0x68
+ str r0, [r5, r1]
+_02249D6A:
+ add r0, r7, #0
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02249D70: .word 0x00002D8C
+_02249D74: .word 0x0000219C
+_02249D78: .word 0x00003044
+_02249D7C: .word 0x000003E9
+_02249D80: .word 0x00002D90
+_02249D84: .word 0x0000215C
+_02249D88: .word 0x0000216C
+_02249D8C: .word 0x00002DB8
+
+ thumb_func_start MOD11_02249D90
+MOD11_02249D90: ; 0x02249D90
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ add r0, r4, #0
+ mov r2, #1
+ bl MOD11_0224C12C
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02249DA4
+MOD11_02249DA4: ; 0x02249DA4
+ push {r4, lr}
+ add r4, r0, #0
+ cmp r2, #0
+ beq _02249DB6
+ cmp r2, #1
+ beq _02249DD2
+ cmp r2, #2
+ beq _02249DBE
+ b _02249DDC
+_02249DB6:
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ b _02249DDC
+_02249DBE:
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _02249DE8 ; =0x00002DCC
+ ldr r0, [r2, r0]
+ lsl r0, r0, #0xa
+ lsr r0, r0, #0x1d
+ beq _02249DD2
+ mov r0, #0
+ pop {r4, pc}
+_02249DD2:
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02249DEC ; =0x00002DB8
+ ldrh r1, [r1, r0]
+_02249DDC:
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_0224C12C
+ pop {r4, pc}
+ nop
+_02249DE8: .word 0x00002DCC
+_02249DEC: .word 0x00002DB8
+
+ thumb_func_start MOD11_02249DF0
+MOD11_02249DF0: ; 0x02249DF0
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ add r0, r4, #0
+ mov r2, #0xb
+ bl MOD11_0224C12C
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02249E04
+MOD11_02249E04: ; 0x02249E04
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ add r0, r4, #0
+ mov r2, #0xc
+ bl MOD11_0224C12C
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02249E18
+MOD11_02249E18: ; 0x02249E18
+ mov r2, #0xc0
+ mul r2, r1
+ ldr r1, _02249E28 ; =0x00002DB8
+ add r2, r0, r2
+ ldrh r1, [r2, r1]
+ ldr r3, _02249E2C ; =MOD11_0224C12C
+ mov r2, #8
+ bx r3
+ .align 2, 0
+_02249E28: .word 0x00002DB8
+_02249E2C: .word MOD11_0224C12C
+
+ thumb_func_start MOD11_02249E30
+MOD11_02249E30: ; 0x02249E30
+ push {r3, lr}
+ mov r2, #0xc0
+ mul r2, r1
+ ldr r1, _02249E54 ; =0x00002DCC
+ add r3, r0, r2
+ ldr r2, [r3, r1]
+ lsl r2, r2, #0xa
+ lsr r2, r2, #0x1d
+ beq _02249E46
+ mov r0, #0
+ pop {r3, pc}
+_02249E46:
+ sub r1, #0x14
+ ldrh r1, [r3, r1]
+ mov r2, #9
+ bl MOD11_0224C12C
+ pop {r3, pc}
+ nop
+_02249E54: .word 0x00002DCC
+
+ thumb_func_start MOD11_02249E58
+MOD11_02249E58: ; 0x02249E58
+ push {r3, lr}
+ mov r2, #0xc0
+ mul r2, r1
+ ldr r1, _02249E7C ; =0x00002DCC
+ add r3, r0, r2
+ ldr r2, [r3, r1]
+ lsl r2, r2, #0xa
+ lsr r2, r2, #0x1d
+ beq _02249E6E
+ mov r0, #0
+ pop {r3, pc}
+_02249E6E:
+ sub r1, #0x14
+ ldrh r1, [r3, r1]
+ mov r2, #0xa
+ bl MOD11_0224C12C
+ pop {r3, pc}
+ nop
+_02249E7C: .word 0x00002DCC
+
+ thumb_func_start MOD11_02249E80
+MOD11_02249E80: ; 0x02249E80
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ add r4, r2, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r6, #0
+ bl MOD11_02249D90
+ cmp r0, #0x7a
+ bne _02249E9E
+ add sp, #8
+ add r0, r6, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02249E9E:
+ mov r0, #0xc0
+ add r7, r4, #0
+ mul r7, r0
+ ldr r0, _02249F80 ; =0x00002DB0
+ add r2, r5, r7
+ ldr r1, [r2, r0]
+ ldr r3, _02249F84 ; =0x0400E000
+ tst r1, r3
+ bne _02249EBA
+ add r0, #0x10
+ ldr r1, [r2, r0]
+ lsr r0, r3, #0x10
+ tst r0, r1
+ beq _02249EBC
+_02249EBA:
+ mov r6, #1
+_02249EBC:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x17
+ beq _02249EDC
+ mov r0, #0x17
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #3
+ add r3, r4, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _02249F10
+_02249EDC:
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #8
+ beq _02249EFC
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #8
+ bne _02249F12
+_02249EFC:
+ mov r0, #0x2a
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #3
+ add r3, r4, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _02249F12
+_02249F10:
+ mov r6, #1
+_02249F12:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x1a
+ beq _02249F4A
+ ldr r0, _02249F88 ; =0x00002DCC
+ add r1, r5, r7
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1d
+ bne _02249F4A
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #2
+ beq _02249F4A
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #2
+ bne _02249F64
+_02249F4A:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02249D90
+ cmp r0, #0x69
+ beq _02249F64
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r1, [r5, r0]
+ mov r0, #7
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _02249F7A
+_02249F64:
+ mov r0, #0x47
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #3
+ add r3, r4, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _02249F7A
+ mov r6, #1
+_02249F7A:
+ add r0, r6, #0
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02249F80: .word 0x00002DB0
+_02249F84: .word 0x0400E000
+_02249F88: .word 0x00002DCC
+
+ thumb_func_start MOD11_02249F8C
+MOD11_02249F8C: ; 0x02249F8C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r4, r1, #0
+ str r0, [sp]
+ mov r6, #0
+ str r2, [sp, #4]
+ add r0, r4, #0
+ add r1, r2, #0
+ add r5, r6, #0
+ bl MOD11_02249E18
+ add r7, r0, #0
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ mov r2, #1
+ bl MOD11_02249DA4
+ str r0, [sp, #0x10]
+ ldr r1, [r4, #0x6c]
+ add r0, r4, #0
+ bl MOD11_0224AD9C
+ cmp r0, #1
+ bne _02249FC2
+ add sp, #0x14
+ add r0, r6, #0
+ pop {r4, r5, r6, r7, pc}
+_02249FC2:
+ cmp r7, #0x17
+ bls _02249FC8
+ b _0224A444
+_02249FC8:
+ add r0, r7, r7
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02249FD4: ; jump table
+ .short _0224A444 - _02249FD4 - 2 ; case 0
+ .short _0224A04E - _02249FD4 - 2 ; case 1
+ .short _0224A066 - _02249FD4 - 2 ; case 2
+ .short _0224A07E - _02249FD4 - 2 ; case 3
+ .short _0224A096 - _02249FD4 - 2 ; case 4
+ .short _0224A0AE - _02249FD4 - 2 ; case 5
+ .short _0224A0C6 - _02249FD4 - 2 ; case 6
+ .short _0224A004 - _02249FD4 - 2 ; case 7
+ .short _0224A13C - _02249FD4 - 2 ; case 8
+ .short _0224A154 - _02249FD4 - 2 ; case 9
+ .short _0224A024 - _02249FD4 - 2 ; case 10
+ .short _0224A1B6 - _02249FD4 - 2 ; case 11
+ .short _0224A1FC - _02249FD4 - 2 ; case 12
+ .short _0224A242 - _02249FD4 - 2 ; case 13
+ .short _0224A288 - _02249FD4 - 2 ; case 14
+ .short _0224A2CE - _02249FD4 - 2 ; case 15
+ .short _0224A314 - _02249FD4 - 2 ; case 16
+ .short _0224A360 - _02249FD4 - 2 ; case 17
+ .short _0224A37E - _02249FD4 - 2 ; case 18
+ .short _0224A39C - _02249FD4 - 2 ; case 19
+ .short _0224A3BA - _02249FD4 - 2 ; case 20
+ .short _0224A424 - _02249FD4 - 2 ; case 21
+ .short _0224A3D8 - _02249FD4 - 2 ; case 22
+ .short _0224A43E - _02249FD4 - 2 ; case 23
+_0224A004:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _0224A320 ; =0x00002D8C
+ ldr r1, [r2, r0]
+ add r0, r0, #4
+ ldr r0, [r2, r0]
+ cmp r1, r0
+ beq _0224A020
+ ldr r1, _0224A324 ; =0x0000215C
+ ldr r0, [sp, #0x10]
+ mov r5, #0xc6
+ str r0, [r4, r1]
+_0224A020:
+ mov r6, #1
+ b _0224A45A
+_0224A024:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A328 ; =0x00002D90
+ ldr r2, [r1, r0]
+ sub r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, r2
+ beq _0224A04A
+ ldr r1, [sp, #0x10]
+ add r0, r1, #0
+ mul r0, r2
+ mov r1, #0x64
+ bl MOD11_022476C0
+ ldr r1, _0224A324 ; =0x0000215C
+ mov r5, #0xc6
+ str r0, [r4, r1]
+_0224A04A:
+ mov r6, #1
+ b _0224A45A
+_0224A04E:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A32C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x40
+ tst r0, r1
+ beq _0224A062
+ mov r5, #0xc7
+_0224A062:
+ mov r6, #1
+ b _0224A45A
+_0224A066:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A32C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0224A07A
+ mov r5, #0xc8
+_0224A07A:
+ mov r6, #1
+ b _0224A45A
+_0224A07E:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A32C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ ldr r0, _0224A330 ; =0x00000F88
+ tst r0, r1
+ beq _0224A092
+ mov r5, #0xc9
+_0224A092:
+ mov r6, #1
+ b _0224A45A
+_0224A096:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A32C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x10
+ tst r0, r1
+ beq _0224A0AA
+ mov r5, #0xca
+_0224A0AA:
+ mov r6, #1
+ b _0224A45A
+_0224A0AE:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A32C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0224A0C2
+ mov r5, #0xcb
+_0224A0C2:
+ mov r6, #1
+ b _0224A45A
+_0224A0C6:
+ str r5, [sp, #0xc]
+_0224A0C8:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r7, r1, #0
+ mul r7, r0
+ add r1, r4, r7
+ ldr r0, _0224A334 ; =0x00002D4C
+ add r2, r6, r1
+ ldrh r0, [r2, r0]
+ cmp r0, #0
+ beq _0224A0FA
+ add r2, r5, r1
+ ldr r1, _0224A338 ; =0x00002D70
+ ldrb r1, [r2, r1]
+ bl FUN_0206AB30
+ add r1, r4, r7
+ add r2, r5, r1
+ ldr r1, _0224A33C ; =0x00002D6C
+ ldrb r1, [r2, r1]
+ sub r1, r0, r1
+ ldr r0, [sp, #0xc]
+ cmp r1, r0
+ ble _0224A0FA
+ str r1, [sp, #0xc]
+ str r5, [sp, #8]
+_0224A0FA:
+ add r5, r5, #1
+ add r6, r6, #2
+ cmp r5, #4
+ blt _0224A0C8
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldr r1, [sp, #8]
+ add r0, r4, r0
+ ldr r2, [sp, #0x10]
+ add r0, r0, r7
+ add r1, #0x1f
+ bl MOD11_02243DC8
+ ldr r0, [sp]
+ ldr r2, [r4, #0x64]
+ add r1, r4, #0
+ bl MOD11_02245190
+ ldr r0, [r4, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, [sp, #8]
+ add r2, r4, r2
+ lsl r0, r0, #1
+ add r2, r2, r0
+ ldr r0, _0224A334 ; =0x00002D4C
+ add r1, #0x64
+ ldrh r0, [r2, r0]
+ mov r5, #0xcc
+ mov r6, #1
+ str r0, [r4, r1]
+ b _0224A45A
+_0224A13C:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A340 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0224A150
+ mov r5, #0xcd
+_0224A150:
+ mov r6, #1
+ b _0224A45A
+_0224A154:
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ add r1, r2, #0
+ mul r1, r0
+ ldr r6, _0224A32C ; =0x00002DAC
+ add r0, r4, r1
+ ldr r2, [r0, r6]
+ lsl r3, r2, #0x18
+ lsr r3, r3, #0x18
+ bne _0224A172
+ add r6, r6, #4
+ ldr r6, [r0, r6]
+ mov r0, #7
+ tst r0, r6
+ beq _0224A1B2
+_0224A172:
+ mov r0, #0x40
+ tst r0, r2
+ beq _0224A17A
+ mov r5, #0xc7
+_0224A17A:
+ mov r0, #7
+ tst r0, r2
+ beq _0224A182
+ mov r5, #0xc8
+_0224A182:
+ ldr r0, _0224A330 ; =0x00000F88
+ tst r0, r2
+ beq _0224A18A
+ mov r5, #0xc9
+_0224A18A:
+ mov r0, #0x10
+ tst r0, r2
+ beq _0224A192
+ mov r5, #0xca
+_0224A192:
+ mov r0, #0x20
+ tst r0, r2
+ beq _0224A19A
+ mov r5, #0xcb
+_0224A19A:
+ ldr r0, _0224A340 ; =0x00002DB0
+ add r1, r4, r1
+ ldr r1, [r1, r0]
+ mov r0, #7
+ and r0, r1
+ beq _0224A1A8
+ mov r5, #0xcd
+_0224A1A8:
+ cmp r3, #0
+ beq _0224A1B2
+ cmp r0, #0
+ beq _0224A1B2
+ mov r5, #0xce
+_0224A1B2:
+ mov r6, #1
+ b _0224A45A
+_0224A1B6:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224A328 ; =0x00002D90
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ sub r1, r1, #4
+ ldr r1, [r2, r1]
+ cmp r1, r0
+ beq _0224A1F8
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A324 ; =0x0000215C
+ str r0, [r4, r1]
+ mov r0, #0x13
+ add r1, r6, #0
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A344 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r6, #1
+ cmp r0, r1
+ bne _0224A1F6
+ mov r5, #0xcf
+ b _0224A1F8
+_0224A1F6:
+ mov r5, #0xc6
+_0224A1F8:
+ mov r6, #1
+ b _0224A45A
+_0224A1FC:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224A328 ; =0x00002D90
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ sub r1, r1, #4
+ ldr r1, [r2, r1]
+ cmp r1, r0
+ beq _0224A23E
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A324 ; =0x0000215C
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A344 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r6, #1
+ cmp r0, r1
+ bne _0224A23C
+ mov r5, #0xcf
+ b _0224A23E
+_0224A23C:
+ mov r5, #0xc6
+_0224A23E:
+ mov r6, #1
+ b _0224A45A
+_0224A242:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224A328 ; =0x00002D90
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ sub r1, r1, #4
+ ldr r1, [r2, r1]
+ cmp r1, r0
+ beq _0224A284
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A324 ; =0x0000215C
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A344 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r6, #1
+ cmp r0, r1
+ bne _0224A282
+ mov r5, #0xcf
+ b _0224A284
+_0224A282:
+ mov r5, #0xc6
+_0224A284:
+ mov r6, #1
+ b _0224A45A
+_0224A288:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224A328 ; =0x00002D90
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ sub r1, r1, #4
+ ldr r1, [r2, r1]
+ cmp r1, r0
+ beq _0224A2CA
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A324 ; =0x0000215C
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #3
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A344 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r6, #1
+ cmp r0, r1
+ bne _0224A2C8
+ mov r5, #0xcf
+ b _0224A2CA
+_0224A2C8:
+ mov r5, #0xc6
+_0224A2CA:
+ mov r6, #1
+ b _0224A45A
+_0224A2CE:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224A328 ; =0x00002D90
+ add r2, r4, r0
+ ldr r0, [r2, r1]
+ sub r1, r1, #4
+ ldr r1, [r2, r1]
+ cmp r1, r0
+ beq _0224A310
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A324 ; =0x0000215C
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #4
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A344 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r6, #1
+ cmp r0, r1
+ bne _0224A30E
+ mov r5, #0xcf
+ b _0224A310
+_0224A30E:
+ mov r5, #0xc6
+_0224A310:
+ mov r6, #1
+ b _0224A45A
+_0224A314:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _0224A348 ; =0x00002D59
+ b _0224A34C
+ .align 2, 0
+_0224A320: .word 0x00002D8C
+_0224A324: .word 0x0000215C
+_0224A328: .word 0x00002D90
+_0224A32C: .word 0x00002DAC
+_0224A330: .word 0x00000F88
+_0224A334: .word 0x00002D4C
+_0224A338: .word 0x00002D70
+_0224A33C: .word 0x00002D6C
+_0224A340: .word 0x00002DB0
+_0224A344: .word 0x00002DA8
+_0224A348: .word 0x00002D59
+_0224A34C:
+ add r2, r4, r2
+ ldrsb r1, [r2, r1]
+ cmp r1, #0xc
+ bge _0224A35C
+ mov r1, #1
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r5, #0xd0
+_0224A35C:
+ mov r6, #1
+ b _0224A45A
+_0224A360:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _0224A4C0 ; =0x00002D5A
+ add r2, r4, r2
+ ldrsb r1, [r2, r1]
+ cmp r1, #0xc
+ bge _0224A37A
+ mov r1, #2
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r5, #0xd0
+_0224A37A:
+ mov r6, #1
+ b _0224A45A
+_0224A37E:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _0224A4C4 ; =0x00002D5B
+ add r2, r4, r2
+ ldrsb r1, [r2, r1]
+ cmp r1, #0xc
+ bge _0224A398
+ mov r1, #3
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r5, #0xd0
+_0224A398:
+ mov r6, #1
+ b _0224A45A
+_0224A39C:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _0224A4C8 ; =0x00002D5C
+ add r2, r4, r2
+ ldrsb r1, [r2, r1]
+ cmp r1, #0xc
+ bge _0224A3B6
+ mov r1, #4
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r5, #0xd0
+_0224A3B6:
+ mov r6, #1
+ b _0224A45A
+_0224A3BA:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, _0224A4CC ; =0x00002D5D
+ add r2, r4, r2
+ ldrsb r1, [r2, r1]
+ cmp r1, #0xc
+ bge _0224A3D4
+ mov r1, #5
+ add r0, #0x70
+ str r1, [r4, r0]
+ mov r5, #0xd0
+_0224A3D4:
+ mov r6, #1
+ b _0224A45A
+_0224A3D8:
+ ldr r2, [r4, #0x64]
+ mov r1, #0xc0
+ mul r1, r2
+ add r3, r4, r1
+ ldr r1, _0224A4D0 ; =0x00002D59
+ add r0, r6, #0
+_0224A3E4:
+ ldrsb r2, [r3, r1]
+ cmp r2, #0xc
+ blt _0224A3F2
+ add r0, r0, #1
+ add r3, r3, #1
+ cmp r0, #5
+ blt _0224A3E4
+_0224A3F2:
+ cmp r0, #5
+ beq _0224A420
+ ldr r5, _0224A4D0 ; =0x00002D59
+ mov r7, #5
+ mov r6, #0xc0
+_0224A3FC:
+ bl FUN_0201B9EC
+ add r1, r7, #0
+ blx _s32_div_f
+ ldr r0, [r4, #0x64]
+ add r2, r0, #0
+ mul r2, r6
+ add r0, r4, r2
+ add r0, r1, r0
+ ldrsb r0, [r0, r5]
+ cmp r0, #0xc
+ beq _0224A3FC
+ mov r0, #0x13
+ add r1, r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ mov r5, #0xd2
+_0224A420:
+ mov r6, #1
+ b _0224A45A
+_0224A424:
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A4D4 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x14
+ tst r0, r1
+ bne _0224A43A
+ mov r5, #0xd1
+_0224A43A:
+ mov r6, #1
+ b _0224A45A
+_0224A43E:
+ ldr r5, _0224A4D8 ; =0x00000109
+ mov r6, #1
+ b _0224A45A
+_0224A444:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, _0224A4DC ; =0x00002DB8
+ add r1, r4, r1
+ ldrh r0, [r1, r0]
+ bl FUN_0206EAEC
+ cmp r0, #1
+ bne _0224A45A
+ mov r6, #1
+_0224A45A:
+ cmp r6, #1
+ bne _0224A4B8
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x67
+ beq _0224A482
+ ldr r1, [r4, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ mov r1, #0xb7
+ add r2, r4, r2
+ lsl r1, r1, #6
+ ldr r2, [r2, r1]
+ mov r1, #1
+ lsl r1, r1, #0x1a
+ tst r1, r2
+ beq _0224A48C
+_0224A482:
+ mov r0, #0x4e
+ mov r1, #0
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+ b _0224A490
+_0224A48C:
+ add r0, #0x78
+ str r5, [r4, r0]
+_0224A490:
+ ldr r0, [sp, #4]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _0224A4DC ; =0x00002DB8
+ add r2, r4, r2
+ ldrh r0, [r2, r0]
+ add r1, #0x68
+ str r0, [r4, r1]
+ ldr r2, [r4, #0x64]
+ mov r0, #0xba
+ lsl r0, r0, #2
+ mov r1, #0x1c
+ add r3, r2, #0
+ mul r3, r1
+ add r0, r4, r0
+ ldr r2, [r0, r3]
+ mov r1, #2
+ orr r1, r2
+ str r1, [r0, r3]
+_0224A4B8:
+ add r0, r6, #0
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224A4C0: .word 0x00002D5A
+_0224A4C4: .word 0x00002D5B
+_0224A4C8: .word 0x00002D5C
+_0224A4CC: .word 0x00002D5D
+_0224A4D0: .word 0x00002D59
+_0224A4D4: .word 0x00002DB0
+_0224A4D8: .word 0x00000109
+_0224A4DC: .word 0x00002DB8
+
+ thumb_func_start MOD11_0224A4E0
+MOD11_0224A4E0: ; 0x0224A4E0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r4, r1, #0
+ str r0, [sp]
+ str r2, [sp, #4]
+ add r0, r4, #0
+ add r1, r2, #0
+ bl MOD11_02249E30
+ add r6, r0, #0
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ mov r2, #2
+ bl MOD11_02249DA4
+ str r0, [sp, #0x10]
+ ldr r1, [sp, #4]
+ add r0, r4, #0
+ bl MOD11_02249E58
+ ldr r1, _0224A84C ; =0x00002154
+ add r2, r4, #0
+ str r0, [r4, r1]
+ ldr r0, _0224A850 ; =0x00003118
+ mov r5, #0
+ str r5, [r4, r0]
+ add r2, #0x88
+ str r5, [r2]
+ ldr r1, [r4, r1]
+ cmp r1, #0
+ bne _0224A524
+ add sp, #0x14
+ add r0, r5, #0
+ pop {r4, r5, r6, r7, pc}
+_0224A524:
+ cmp r6, #0x1e
+ bls _0224A52A
+ b _0224AAAC
+_0224A52A:
+ add r1, r6, r6
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0224A536: ; jump table
+ .short _0224AAAC - _0224A536 - 2 ; case 0
+ .short _0224A5A2 - _0224A536 - 2 ; case 1
+ .short _0224A5BA - _0224A536 - 2 ; case 2
+ .short _0224A5D2 - _0224A536 - 2 ; case 3
+ .short _0224A5EA - _0224A536 - 2 ; case 4
+ .short _0224A602 - _0224A536 - 2 ; case 5
+ .short _0224A61A - _0224A536 - 2 ; case 6
+ .short _0224A574 - _0224A536 - 2 ; case 7
+ .short _0224A69C - _0224A536 - 2 ; case 8
+ .short _0224A6B4 - _0224A536 - 2 ; case 9
+ .short _0224A580 - _0224A536 - 2 ; case 10
+ .short _0224A77A - _0224A536 - 2 ; case 11
+ .short _0224A7BC - _0224A536 - 2 ; case 12
+ .short _0224A7FE - _0224A536 - 2 ; case 13
+ .short _0224A840 - _0224A536 - 2 ; case 14
+ .short _0224A8B0 - _0224A536 - 2 ; case 15
+ .short _0224A9AC - _0224A536 - 2 ; case 16
+ .short _0224A9CA - _0224A536 - 2 ; case 17
+ .short _0224A9E8 - _0224A536 - 2 ; case 18
+ .short _0224AA06 - _0224A536 - 2 ; case 19
+ .short _0224AA24 - _0224A536 - 2 ; case 20
+ .short _0224AA8E - _0224A536 - 2 ; case 21
+ .short _0224AA42 - _0224A536 - 2 ; case 22
+ .short _0224AAA8 - _0224A536 - 2 ; case 23
+ .short _0224A8F2 - _0224A536 - 2 ; case 24
+ .short _0224A91A - _0224A536 - 2 ; case 25
+ .short _0224A93E - _0224A536 - 2 ; case 26
+ .short _0224A954 - _0224A536 - 2 ; case 27
+ .short _0224A96A - _0224A536 - 2 ; case 28
+ .short _0224A980 - _0224A536 - 2 ; case 29
+ .short _0224A996 - _0224A536 - 2 ; case 30
+_0224A574:
+ ldr r1, [sp, #0x10]
+ sub r2, r0, #4
+ str r1, [r4, r2]
+ mov r1, #0xc6
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A580:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A854 ; =0x00002D90
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0x10]
+ mul r0, r1
+ mov r1, #0x64
+ bl MOD11_022476C0
+ ldr r1, _0224A858 ; =0x00003114
+ mov r2, #0xc6
+ str r0, [r4, r1]
+ add r0, r1, #4
+ str r2, [r4, r0]
+ b _0224AAAC
+_0224A5A2:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224A85C ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #0x40
+ tst r1, r2
+ beq _0224A65C
+ mov r1, #0xc7
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A5BA:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224A85C ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #7
+ tst r1, r2
+ beq _0224A65C
+ mov r1, #0xc8
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A5D2:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224A85C ; =0x00002DAC
+ ldr r2, [r2, r1]
+ ldr r1, _0224A860 ; =0x00000F88
+ tst r1, r2
+ beq _0224A65C
+ mov r1, #0xc9
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A5EA:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224A85C ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #0x10
+ tst r1, r2
+ beq _0224A65C
+ mov r1, #0xca
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A602:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224A85C ; =0x00002DAC
+ ldr r2, [r2, r1]
+ mov r1, #0x20
+ tst r1, r2
+ beq _0224A65C
+ mov r1, #0xcb
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A61A:
+ add r6, r5, #0
+ add r7, r5, #0
+_0224A61E:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ str r0, [sp, #8]
+ ldr r0, _0224A864 ; =0x00002D4C
+ add r2, r7, r1
+ ldrh r0, [r2, r0]
+ cmp r0, #0
+ beq _0224A650
+ add r2, r6, r1
+ ldr r1, _0224A868 ; =0x00002D70
+ ldrb r1, [r2, r1]
+ bl FUN_0206AB30
+ ldr r1, [sp, #8]
+ add r1, r4, r1
+ add r2, r6, r1
+ ldr r1, _0224A86C ; =0x00002D6C
+ ldrb r1, [r2, r1]
+ sub r0, r0, r1
+ cmp r0, r5
+ ble _0224A650
+ add r5, r0, #0
+ str r6, [sp, #0xc]
+_0224A650:
+ add r6, r6, #1
+ add r7, r7, #2
+ cmp r6, #4
+ blt _0224A61E
+ cmp r5, #0
+ bne _0224A65E
+_0224A65C:
+ b _0224AAAC
+_0224A65E:
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r1, r4, r0
+ ldr r0, [sp, #8]
+ ldr r2, [sp, #0x10]
+ add r0, r1, r0
+ ldr r1, [sp, #0xc]
+ add r1, #0x1f
+ bl MOD11_02243DC8
+ ldr r0, [sp]
+ ldr r2, [r4, #0x6c]
+ add r1, r4, #0
+ bl MOD11_02245190
+ ldr r0, [r4, #0x6c]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, [sp, #0xc]
+ add r2, r4, r2
+ lsl r0, r0, #1
+ add r2, r2, r0
+ ldr r0, _0224A864 ; =0x00002D4C
+ add r1, #0x64
+ ldrh r0, [r2, r0]
+ str r0, [r4, r1]
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xcc
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A69C:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224A870 ; =0x00002DB0
+ ldr r2, [r2, r1]
+ mov r1, #7
+ tst r1, r2
+ beq _0224A770
+ mov r1, #0xcd
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A6B4:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224A85C ; =0x00002DAC
+ add r3, r4, r0
+ ldr r0, [r3, r1]
+ lsl r2, r0, #0x18
+ lsr r2, r2, #0x18
+ bne _0224A6D0
+ add r1, r1, #4
+ ldr r2, [r3, r1]
+ mov r1, #7
+ tst r1, r2
+ beq _0224A770
+_0224A6D0:
+ mov r1, #0x40
+ tst r0, r1
+ beq _0224A6DC
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xc7
+ str r1, [r4, r0]
+_0224A6DC:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A85C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0224A6F4
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xc8
+ str r1, [r4, r0]
+_0224A6F4:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A85C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ ldr r0, _0224A860 ; =0x00000F88
+ tst r0, r1
+ beq _0224A70C
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xc9
+ str r1, [r4, r0]
+_0224A70C:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A85C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x10
+ tst r0, r1
+ beq _0224A724
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xca
+ str r1, [r4, r0]
+_0224A724:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A85C ; =0x00002DAC
+ ldr r1, [r1, r0]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0224A73C
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xcb
+ str r1, [r4, r0]
+_0224A73C:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A870 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #7
+ tst r0, r1
+ beq _0224A754
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xcd
+ str r1, [r4, r0]
+_0224A754:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _0224A85C ; =0x00002DAC
+ ldr r1, [r2, r0]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ beq _0224A770
+ add r0, r0, #4
+ ldr r1, [r2, r0]
+ mov r0, #7
+ tst r0, r1
+ bne _0224A772
+_0224A770:
+ b _0224AAAC
+_0224A772:
+ ldr r0, _0224A850 ; =0x00003118
+ mov r1, #0xce
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A77A:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A854 ; =0x00002D90
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A858 ; =0x00003114
+ str r0, [r4, r1]
+ mov r0, #0x13
+ add r1, r5, #0
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A874 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r5, #1
+ cmp r0, r1
+ ldr r0, _0224A850 ; =0x00003118
+ bne _0224A7B6
+ mov r1, #0xcf
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A7B6:
+ mov r1, #0xc6
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A7BC:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A854 ; =0x00002D90
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A858 ; =0x00003114
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A874 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r5, #1
+ cmp r0, r1
+ ldr r0, _0224A850 ; =0x00003118
+ bne _0224A7F8
+ mov r1, #0xcf
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A7F8:
+ mov r1, #0xc6
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A7FE:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A854 ; =0x00002D90
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224A858 ; =0x00003114
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #2
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224A874 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r5, #1
+ cmp r0, r1
+ ldr r0, _0224A850 ; =0x00003118
+ bne _0224A83A
+ mov r1, #0xcf
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A83A:
+ mov r1, #0xc6
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A840:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224A854 ; =0x00002D90
+ b _0224A878
+ .align 2, 0
+_0224A84C: .word 0x00002154
+_0224A850: .word 0x00003118
+_0224A854: .word 0x00002D90
+_0224A858: .word 0x00003114
+_0224A85C: .word 0x00002DAC
+_0224A860: .word 0x00000F88
+_0224A864: .word 0x00002D4C
+_0224A868: .word 0x00002D70
+_0224A86C: .word 0x00002D6C
+_0224A870: .word 0x00002DB0
+_0224A874: .word 0x00002DA8
+_0224A878:
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224AB14 ; =0x00003114
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #3
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224AB18 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r5, #1
+ cmp r0, r1
+ ldr r0, _0224AB1C ; =0x00003118
+ bne _0224A8AA
+ mov r1, #0xcf
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A8AA:
+ mov r1, #0xc6
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A8B0:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0224AB20 ; =0x00002D90
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0x10]
+ bl MOD11_022476C0
+ ldr r1, _0224AB14 ; =0x00003114
+ str r0, [r4, r1]
+ mov r0, #0x13
+ mov r1, #4
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r2, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _0224AB18 ; =0x00002DA8
+ ldr r0, [r2, r0]
+ bl FUN_02069BE4
+ sub r1, r5, #1
+ cmp r0, r1
+ ldr r0, _0224AB1C ; =0x00003118
+ bne _0224A8EC
+ mov r1, #0xcf
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A8EC:
+ mov r1, #0xc6
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A8F2:
+ ldr r2, _0224AB24 ; =0x00002D58
+ mov r6, #6
+ mov r3, #0xd3
+ mov r7, #0xc0
+_0224A8FA:
+ ldr r0, [r4, #0x6c]
+ add r1, r0, #0
+ mul r1, r7
+ add r0, r4, r1
+ add r0, r0, r5
+ ldrsb r1, [r0, r2]
+ cmp r1, #6
+ bge _0224A912
+ ldr r1, _0224AB24 ; =0x00002D58
+ strb r6, [r0, r1]
+ ldr r0, _0224AB1C ; =0x00003118
+ str r3, [r4, r0]
+_0224A912:
+ add r5, r5, #1
+ cmp r5, #8
+ blt _0224A8FA
+ b _0224AAAC
+_0224A91A:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r2, #0
+ mul r3, r1
+ ldr r2, _0224AB28 ; =0x00002DB0
+ add r3, r4, r3
+ ldr r3, [r3, r2]
+ mov r2, #0xf
+ lsl r2, r2, #0x10
+ tst r2, r3
+ bne _0224A932
+ b _0224AAAC
+_0224A932:
+ mov r2, #6
+ add r1, #0x70
+ str r2, [r4, r1]
+ mov r1, #0xd4
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A93E:
+ add r2, r4, #0
+ ldr r1, [sp, #4]
+ add r2, #0x94
+ str r1, [r2]
+ add r1, r4, #0
+ mov r2, #2
+ add r1, #0x88
+ str r2, [r1]
+ mov r1, #0xe
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A954:
+ add r2, r4, #0
+ ldr r1, [sp, #4]
+ add r2, #0x94
+ str r1, [r2]
+ add r1, r4, #0
+ mov r2, #2
+ add r1, #0x88
+ str r2, [r1]
+ mov r1, #0x1f
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A96A:
+ add r2, r4, #0
+ ldr r1, [sp, #4]
+ add r2, #0x94
+ str r1, [r2]
+ add r1, r4, #0
+ mov r2, #2
+ add r1, #0x88
+ str r2, [r1]
+ mov r1, #0x16
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A980:
+ add r2, r4, #0
+ ldr r1, [sp, #4]
+ add r2, #0x94
+ str r1, [r2]
+ add r1, r4, #0
+ mov r2, #2
+ add r1, #0x88
+ str r2, [r1]
+ mov r1, #0x2f
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A996:
+ add r2, r4, #0
+ ldr r1, [sp, #4]
+ add r2, #0x94
+ str r1, [r2]
+ add r1, r4, #0
+ mov r2, #2
+ add r1, #0x88
+ str r2, [r1]
+ mov r1, #0x19
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A9AC:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r2, #0
+ mul r3, r1
+ ldr r2, _0224AB2C ; =0x00002D59
+ add r3, r4, r3
+ ldrsb r2, [r3, r2]
+ cmp r2, #0xc
+ bge _0224AAAC
+ mov r2, #1
+ add r1, #0x70
+ str r2, [r4, r1]
+ mov r1, #0xd0
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A9CA:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r2, #0
+ mul r3, r1
+ ldr r2, _0224AB30 ; =0x00002D5A
+ add r3, r4, r3
+ ldrsb r2, [r3, r2]
+ cmp r2, #0xc
+ bge _0224AAAC
+ mov r2, #2
+ add r1, #0x70
+ str r2, [r4, r1]
+ mov r1, #0xd0
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224A9E8:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r2, #0
+ mul r3, r1
+ ldr r2, _0224AB34 ; =0x00002D5B
+ add r3, r4, r3
+ ldrsb r2, [r3, r2]
+ cmp r2, #0xc
+ bge _0224AAAC
+ mov r2, #3
+ add r1, #0x70
+ str r2, [r4, r1]
+ mov r1, #0xd0
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224AA06:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r2, #0
+ mul r3, r1
+ ldr r2, _0224AB38 ; =0x00002D5C
+ add r3, r4, r3
+ ldrsb r2, [r3, r2]
+ cmp r2, #0xc
+ bge _0224AAAC
+ mov r2, #4
+ add r1, #0x70
+ str r2, [r4, r1]
+ mov r1, #0xd0
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224AA24:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ add r3, r2, #0
+ mul r3, r1
+ ldr r2, _0224AB3C ; =0x00002D5D
+ add r3, r4, r3
+ ldrsb r2, [r3, r2]
+ cmp r2, #0xc
+ bge _0224AAAC
+ mov r2, #5
+ add r1, #0x70
+ str r2, [r4, r1]
+ mov r1, #0xd0
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224AA42:
+ ldr r1, [r4, #0x6c]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r4, r0
+ ldr r0, _0224AB2C ; =0x00002D59
+_0224AA4C:
+ ldrsb r1, [r2, r0]
+ cmp r1, #0xc
+ blt _0224AA5A
+ add r5, r5, #1
+ add r2, r2, #1
+ cmp r5, #5
+ blt _0224AA4C
+_0224AA5A:
+ cmp r5, #5
+ beq _0224AAAC
+ ldr r5, _0224AB2C ; =0x00002D59
+ mov r7, #5
+ mov r6, #0xc0
+_0224AA64:
+ bl FUN_0201B9EC
+ add r1, r7, #0
+ blx _s32_div_f
+ ldr r0, [r4, #0x6c]
+ add r2, r0, #0
+ mul r2, r6
+ add r0, r4, r2
+ add r0, r1, r0
+ ldrsb r0, [r0, r5]
+ cmp r0, #0xc
+ beq _0224AA64
+ mov r0, #0x13
+ add r1, r1, #1
+ lsl r0, r0, #4
+ str r1, [r4, r0]
+ ldr r0, _0224AB1C ; =0x00003118
+ mov r1, #0xd2
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224AA8E:
+ ldr r2, [r4, #0x6c]
+ mov r1, #0xc0
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _0224AB28 ; =0x00002DB0
+ ldr r2, [r2, r1]
+ mov r1, #1
+ lsl r1, r1, #0x14
+ tst r1, r2
+ bne _0224AAAC
+ mov r1, #0xd1
+ str r1, [r4, r0]
+ b _0224AAAC
+_0224AAA8:
+ ldr r1, _0224AB40 ; =0x00000109
+ str r1, [r4, r0]
+_0224AAAC:
+ ldr r0, [r4, #0x6c]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ add r0, r4, r2
+ mov r2, #0xb7
+ lsl r2, r2, #6
+ ldr r3, [r0, r2]
+ mov r0, #1
+ lsl r0, r0, #0x1a
+ tst r0, r3
+ beq _0224AACC
+ ldr r0, _0224AB1C ; =0x00003118
+ mov r1, #0
+ str r1, [r4, r0]
+ b _0224AB0C
+_0224AACC:
+ ldr r0, [sp, #4]
+ sub r2, #8
+ add r3, r0, #0
+ mul r3, r1
+ add r0, r4, r3
+ ldrh r0, [r0, r2]
+ add r1, #0x68
+ str r0, [r4, r1]
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _0224AB04
+ ldr r0, _0224AB1C ; =0x00003118
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _0224AB04
+ mov r0, #0xba
+ ldr r1, [r4, #0x64]
+ lsl r0, r0, #2
+ add r3, r4, r0
+ mov r0, #0x1c
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ mov r0, #2
+ orr r0, r1
+ str r0, [r3, r2]
+_0224AB04:
+ mov r0, #0x46
+ ldr r1, [r4, #0x6c]
+ lsl r0, r0, #2
+ str r1, [r4, r0]
+_0224AB0C:
+ mov r0, #1
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224AB14: .word 0x00003114
+_0224AB18: .word 0x00002DA8
+_0224AB1C: .word 0x00003118
+_0224AB20: .word 0x00002D90
+_0224AB24: .word 0x00002D58
+_0224AB28: .word 0x00002DB0
+_0224AB2C: .word 0x00002D59
+_0224AB30: .word 0x00002D5A
+_0224AB34: .word 0x00002D5B
+_0224AB38: .word 0x00002D5C
+_0224AB3C: .word 0x00002D5D
+_0224AB40: .word 0x00000109
+
+ thumb_func_start MOD11_0224AB44
+MOD11_0224AB44: ; 0x0224AB44
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02249D90
+ cmp r0, #0x68
+ bne _0224ABD2
+ ldr r5, [r4, #0x64]
+ mov r6, #0xc0
+ add r3, r5, #0
+ mul r3, r6
+ ldr r0, _0224ABE8 ; =0x00002DB0
+ add r2, r4, r3
+ ldr r1, [r2, r0]
+ lsl r6, r6, #4
+ tst r6, r1
+ bne _0224ABE6
+ mov r6, #0x70
+ tst r6, r1
+ bne _0224ABE6
+ ldr r6, _0224ABEC ; =0x0000213C
+ ldr r7, [r4, r6]
+ mov r6, #2
+ lsl r6, r6, #8
+ tst r7, r6
+ bne _0224ABE6
+ lsl r6, r6, #3
+ tst r1, r6
+ bne _0224ABE6
+ mov r6, #0xc1
+ lsl r6, r6, #6
+ lsl r5, r5, #1
+ add r7, r4, r5
+ add r5, r6, #0
+ add r5, #0x9c
+ ldrh r5, [r7, r5]
+ ldr r1, [r4, r6]
+ cmp r1, r5
+ bne _0224ABB8
+ add r1, r0, #0
+ add r1, #0x1c
+ ldr r1, [r2, r1]
+ lsl r1, r1, #5
+ lsr r5, r1, #0x1c
+ cmp r5, #0xa
+ bhs _0224ABE6
+ add r0, #0x1c
+ add r0, r4, r0
+ ldr r2, [r0, r3]
+ ldr r1, _0224ABF0 ; =0xF87FFFFF
+ and r2, r1
+ add r1, r5, #1
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #5
+ orr r1, r2
+ str r1, [r0, r3]
+ pop {r3, r4, r5, r6, r7, pc}
+_0224ABB8:
+ add r0, #0x1c
+ add r2, r4, r0
+ ldr r1, [r2, r3]
+ ldr r0, _0224ABF0 ; =0xF87FFFFF
+ and r0, r1
+ str r0, [r2, r3]
+ ldr r0, [r4, #0x64]
+ ldr r1, [r4, r6]
+ lsl r0, r0, #1
+ add r0, r4, r0
+ add r6, #0x9c
+ strh r1, [r0, r6]
+ pop {r3, r4, r5, r6, r7, pc}
+_0224ABD2:
+ ldr r0, _0224ABF4 ; =0x00002DCC
+ ldr r1, [r4, #0x64]
+ add r3, r4, r0
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ ldr r0, _0224ABF0 ; =0xF87FFFFF
+ and r0, r1
+ str r0, [r3, r2]
+_0224ABE6:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224ABE8: .word 0x00002DB0
+_0224ABEC: .word 0x0000213C
+_0224ABF0: .word 0xF87FFFFF
+_0224ABF4: .word 0x00002DCC
+
+ thumb_func_start MOD11_0224ABF8
+MOD11_0224ABF8: ; 0x0224ABF8
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x64]
+ add r0, r4, #0
+ bl MOD11_02249D90
+ cmp r0, #0x68
+ bne _0224AC84
+ ldr r5, _0224AC9C ; =0x0000216C
+ ldr r0, _0224ACA0 ; =0x801FDA49
+ ldr r1, [r4, r5]
+ tst r0, r1
+ beq _0224AC98
+ ldr r2, [r4, #0x64]
+ mov r0, #0xc1
+ lsl r0, r0, #6
+ lsl r1, r2, #1
+ ldr r3, [r4, r0]
+ add r1, r4, r1
+ add r0, #0x9c
+ ldrh r0, [r1, r0]
+ cmp r3, r0
+ bne _0224AC98
+ mov r0, #0xc0
+ add r1, r2, #0
+ mul r1, r0
+ ldr r3, _0224ACA4 ; =0x00002DCC
+ add r6, r4, r1
+ ldr r0, [r6, r3]
+ lsl r0, r0, #5
+ lsr r0, r0, #0x1c
+ beq _0224AC98
+ mov r7, #0x1c
+ mul r7, r2
+ mov r2, #0xb5
+ add r7, r4, r7
+ lsl r2, r2, #2
+ ldr r7, [r7, r2]
+ lsl r7, r7, #0x17
+ lsr r7, r7, #0x1d
+ bne _0224AC98
+ add r7, r3, #0
+ sub r7, #0x1c
+ ldr r6, [r6, r7]
+ mov r7, #0xc0
+ lsl r7, r7, #4
+ tst r7, r6
+ bne _0224AC98
+ mov r7, #0x70
+ tst r7, r6
+ bne _0224AC98
+ sub r5, #0x30
+ ldr r5, [r4, r5]
+ sub r2, #0xd4
+ tst r2, r5
+ bne _0224AC98
+ mov r2, #1
+ lsl r2, r2, #0xc
+ tst r2, r6
+ bne _0224AC98
+ add r2, r4, r3
+ sub r0, r0, #1
+ lsl r0, r0, #0x1c
+ ldr r4, [r2, r1]
+ ldr r3, _0224ACA8 ; =0xF87FFFFF
+ lsr r0, r0, #5
+ and r3, r4
+ orr r0, r3
+ str r0, [r2, r1]
+ pop {r3, r4, r5, r6, r7, pc}
+_0224AC84:
+ ldr r0, _0224ACA4 ; =0x00002DCC
+ ldr r1, [r4, #0x64]
+ add r3, r4, r0
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r1, [r3, r2]
+ ldr r0, _0224ACA8 ; =0xF87FFFFF
+ and r0, r1
+ str r0, [r3, r2]
+_0224AC98:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224AC9C: .word 0x0000216C
+_0224ACA0: .word 0x801FDA49
+_0224ACA4: .word 0x00002DCC
+_0224ACA8: .word 0xF87FFFFF
+
+ thumb_func_start MOD11_0224ACAC
+MOD11_0224ACAC: ; 0x0224ACAC
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ cmp r3, #1
+ bne _0224ACBE
+ sub r0, r2, #2
+ cmp r0, #1
+ bhi _0224ACBE
+ mov r0, #1
+ b _0224ACC0
+_0224ACBE:
+ mov r0, #0
+_0224ACC0:
+ cmp r0, #1
+ mov r0, #0xc0
+ add r4, r1, #0
+ mul r4, r0
+ ldr r2, _0224ACFC ; =0x00002D8C
+ add r1, r5, r4
+ ldr r0, [r1, r2]
+ add r2, r2, #4
+ ldr r1, [r1, r2]
+ lsl r0, r0, #0x10
+ lsl r1, r1, #0x10
+ lsr r0, r0, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x30
+ mov r6, #0
+ bl FUN_02079A54
+ ldr r1, _0224AD00 ; =0x00002DAC
+ add r2, r5, r4
+ ldr r1, [r2, r1]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bne _0224ACF6
+ cmp r0, #4
+ beq _0224ACF8
+ cmp r0, #3
+ beq _0224ACF8
+_0224ACF6:
+ mov r6, #0xb
+_0224ACF8:
+ add r0, r6, #0
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224ACFC: .word 0x00002D8C
+_0224AD00: .word 0x00002DAC
+
+ thumb_func_start MOD11_0224AD04
+MOD11_0224AD04: ; 0x0224AD04
+ push {r3, r4}
+ mov r3, #0xc0
+ add r4, r1, #0
+ mul r4, r3
+ add r1, r0, r4
+ ldr r0, _0224AD34 ; =0x00002DB0
+ mov r2, #1
+ ldr r0, [r1, r0]
+ lsl r1, r2, #0x16
+ tst r1, r0
+ bne _0224AD2C
+ lsl r1, r3, #4
+ tst r1, r0
+ bne _0224AD2C
+ mov r1, #0x70
+ tst r1, r0
+ bne _0224AD2C
+ lsl r1, r2, #0xc
+ tst r0, r1
+ beq _0224AD2E
+_0224AD2C:
+ mov r2, #0
+_0224AD2E:
+ add r0, r2, #0
+ pop {r3, r4}
+ bx lr
+ .align 2, 0
+_0224AD34: .word 0x00002DB0
+
+ thumb_func_start MOD11_0224AD38
+MOD11_0224AD38: ; 0x0224AD38
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ add r5, r0, #0
+ mov r1, #0
+ add r6, r2, #0
+ bl MOD11_022301D4
+ str r0, [sp, #0xc]
+ add r0, r5, #0
+ bl MOD11_022302B0
+ str r0, [sp, #8]
+ add r0, r5, #0
+ bl MOD11_02230294
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _0224AD76
+ add r0, r6, #0
+ mov r1, #0x9a
+ mov r2, #0
+ bl FUN_020671BC
+ add r2, r0, #0
+ b _0224AD7A
+_0224AD76:
+ sub r1, #0xd8
+ ldr r2, [r4, r1]
+_0224AD7A:
+ str r7, [sp]
+ mov r0, #5
+ str r0, [sp, #4]
+ ldr r1, [sp, #0xc]
+ ldr r3, [sp, #8]
+ add r0, r6, #0
+ bl FUN_0206A014
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224AD90
+MOD11_0224AD90: ; 0x0224AD90
+ lsl r1, r1, #8
+ add r1, r0, r1
+ mov r0, #0x23
+ lsl r0, r0, #8
+ ldrb r0, [r1, r0]
+ bx lr
+
+ thumb_func_start MOD11_0224AD9C
+MOD11_0224AD9C: ; 0x0224AD9C
+ mov r3, #0x1c
+ mul r3, r1
+ add r1, r0, r3
+ mov r0, #0xba
+ lsl r0, r0, #2
+ ldr r1, [r1, r0]
+ mov r0, #8
+ mov r2, #0
+ tst r0, r1
+ beq _0224ADB2
+ mov r2, #1
+_0224ADB2:
+ add r0, r2, #0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0224ADB8
+MOD11_0224ADB8: ; 0x0224ADB8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ mov r1, #0
+ bl MOD11_022301D4
+ add r4, r0, #0
+ bl FUN_020239BC
+ add r6, r0, #0
+ add r0, r4, #0
+ bl FUN_020239CC
+ add r7, r0, #0
+ add r0, r4, #0
+ bl FUN_0202398C
+ ldr r2, [r5, #0x64]
+ mov r1, #0xc0
+ add r4, r2, #0
+ mul r4, r1
+ ldr r1, _0224AE10 ; =0x00002DB4
+ add r3, r5, r4
+ ldr r2, [r3, r1]
+ cmp r6, r2
+ bne _0224AE0C
+ add r2, r1, #0
+ add r2, #0xa
+ ldrb r2, [r3, r2]
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x1c
+ cmp r7, r2
+ bne _0224AE0C
+ sub r1, #0x20
+ add r1, r5, r1
+ add r1, r1, r4
+ mov r2, #7
+ bl StringNotEqualN
+ cmp r0, #0
+ bne _0224AE0C
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0224AE0C:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224AE10: .word 0x00002DB4
+
+ thumb_func_start MOD11_0224AE14
+MOD11_0224AE14: ; 0x0224AE14
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r5, r1, #0
+ mov r1, #0
+ bl MOD11_022301D4
+ add r4, r0, #0
+ bl FUN_020239BC
+ add r6, r0, #0
+ add r0, r4, #0
+ bl FUN_020239CC
+ add r7, r0, #0
+ add r0, r4, #0
+ bl FUN_0202398C
+ add r4, r0, #0
+ add r0, r5, #0
+ mov r1, #0x8f
+ add r2, sp, #0
+ bl FUN_020671BC
+ add r0, r5, #0
+ mov r1, #7
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r6, r0
+ bne _0224AE72
+ add r0, r5, #0
+ mov r1, #0x9c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r7, r0
+ bne _0224AE72
+ add r0, r4, #0
+ add r1, sp, #0
+ mov r2, #7
+ bl StringNotEqualN
+ cmp r0, #0
+ bne _0224AE72
+ add sp, #0x10
+ mov r0, #1
+ pop {r3, r4, r5, r6, r7, pc}
+_0224AE72:
+ mov r0, #0
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0224AE78
+MOD11_0224AE78: ; 0x0224AE78
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ mov r4, #0
+ add r7, r0, #0
+ add r5, r1, #0
+ str r4, [sp, #4]
+ bl MOD11_0222FF84
+ cmp r0, #0
+ bgt _0224AE8E
+ b _0224B232
+_0224AE8E:
+ ldr r0, _0224B1B8 ; =0x00002D66
+ add r6, r5, r0
+_0224AE92:
+ ldr r0, _0224B1BC ; =0x000021EC
+ add r1, r5, r4
+ ldrb r1, [r1, r0]
+ mov r0, #0x46
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ ldr r3, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r3
+ add r2, r5, r0
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r1, [r2, r0]
+ ldr r0, _0224B1C0 ; =0x0000015F
+ cmp r1, r0
+ bne _0224AEC6
+ ldr r0, _0224B1C4 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _0224AEC6
+ add r0, r5, #0
+ add r1, r3, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x3b
+ beq _0224AEC8
+_0224AEC6:
+ b _0224B096
+_0224AEC8:
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224AEF0
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _0224AEF2
+_0224AEF0:
+ b _0224B04A
+_0224AEF2:
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r0, [r5, r0]
+ mov r1, #0xf3
+ tst r1, r0
+ bne _0224AF4A
+ mov r1, #0x46
+ lsl r1, r1, #2
+ ldr r2, [r5, r1]
+ mov r1, #0xc0
+ mul r1, r2
+ ldr r2, _0224B1C8 ; =0x00002D64
+ add r1, r5, r1
+ ldrb r2, [r1, r2]
+ cmp r2, #0
+ beq _0224AF4A
+ ldr r2, _0224B1CC ; =0x00002D65
+ ldrb r2, [r1, r2]
+ cmp r2, #0
+ beq _0224AF4A
+ ldr r3, _0224B1C8 ; =0x00002D64
+ mov r2, #0
+ mov r0, #0x46
+ strb r2, [r1, r3]
+ lsl r0, r0, #2
+ ldr r4, [r5, r0]
+ mov r1, #0xc0
+ add r6, r4, #0
+ mul r6, r1
+ add r6, r5, r6
+ add r4, r3, #1
+ strb r2, [r6, r4]
+ add r2, r3, #2
+ ldr r0, [r5, r0]
+ add r2, r5, r2
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r1, [r2, r3]
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #1
+ strb r1, [r2, r3]
+ str r0, [sp, #4]
+ b _0224B232
+_0224AF4A:
+ mov r1, #0x30
+ tst r1, r0
+ beq _0224AF9E
+ mov r1, #0x46
+ lsl r1, r1, #2
+ ldr r2, [r5, r1]
+ mov r1, #0xc0
+ mul r1, r2
+ ldr r2, _0224B1C8 ; =0x00002D64
+ add r1, r5, r1
+ ldrb r2, [r1, r2]
+ cmp r2, #0xa
+ beq _0224AF9E
+ ldr r2, _0224B1CC ; =0x00002D65
+ ldrb r2, [r1, r2]
+ cmp r2, #0xa
+ beq _0224AF9E
+ ldr r3, _0224B1C8 ; =0x00002D64
+ mov r2, #0xa
+ mov r0, #0x46
+ strb r2, [r1, r3]
+ lsl r0, r0, #2
+ ldr r4, [r5, r0]
+ mov r1, #0xc0
+ add r6, r4, #0
+ mul r6, r1
+ add r6, r5, r6
+ add r4, r3, #1
+ strb r2, [r6, r4]
+ add r2, r3, #2
+ ldr r0, [r5, r0]
+ add r2, r5, r2
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r1, [r2, r3]
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #1
+ str r0, [sp, #4]
+ orr r0, r1
+ strb r0, [r2, r3]
+ b _0224B232
+_0224AF9E:
+ mov r1, #3
+ tst r1, r0
+ beq _0224AFF4
+ mov r1, #0x46
+ lsl r1, r1, #2
+ ldr r2, [r5, r1]
+ mov r1, #0xc0
+ mul r1, r2
+ ldr r2, _0224B1C8 ; =0x00002D64
+ add r1, r5, r1
+ ldrb r2, [r1, r2]
+ cmp r2, #0xb
+ beq _0224AFF4
+ ldr r2, _0224B1CC ; =0x00002D65
+ ldrb r2, [r1, r2]
+ cmp r2, #0xb
+ beq _0224AFF4
+ ldr r3, _0224B1C8 ; =0x00002D64
+ mov r2, #0xb
+ mov r0, #0x46
+ strb r2, [r1, r3]
+ lsl r0, r0, #2
+ ldr r4, [r5, r0]
+ mov r1, #0xc0
+ add r6, r4, #0
+ mul r6, r1
+ add r6, r5, r6
+ add r4, r3, #1
+ strb r2, [r6, r4]
+ add r2, r3, #2
+ ldr r0, [r5, r0]
+ add r2, r5, r2
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r1, [r2, r3]
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #2
+ orr r0, r1
+ strb r0, [r2, r3]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224AFF4:
+ mov r1, #0xc0
+ tst r0, r1
+ beq _0224B096
+ add r0, r1, #0
+ add r0, #0x58
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224B1C8 ; =0x00002D64
+ add r0, r5, r0
+ ldrb r1, [r0, r1]
+ cmp r1, #0xf
+ beq _0224B096
+ ldr r1, _0224B1CC ; =0x00002D65
+ ldrb r1, [r0, r1]
+ cmp r1, #0xf
+ beq _0224B096
+ ldr r3, _0224B1C8 ; =0x00002D64
+ mov r2, #0xf
+ strb r2, [r0, r3]
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r4, [r5, r0]
+ mov r1, #0xc0
+ add r6, r4, #0
+ mul r6, r1
+ add r6, r5, r6
+ add r4, r3, #1
+ strb r2, [r6, r4]
+ add r2, r3, #2
+ ldr r0, [r5, r0]
+ add r2, r5, r2
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r1, [r2, r3]
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #3
+ orr r0, r1
+ strb r0, [r2, r3]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224B04A:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ ldr r1, _0224B1C8 ; =0x00002D64
+ add r0, r5, r0
+ ldrb r1, [r0, r1]
+ cmp r1, #0
+ beq _0224B096
+ ldr r1, _0224B1CC ; =0x00002D65
+ ldrb r1, [r0, r1]
+ cmp r1, #0
+ beq _0224B096
+ ldr r3, _0224B1C8 ; =0x00002D64
+ mov r2, #0
+ strb r2, [r0, r3]
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r4, [r5, r0]
+ mov r1, #0xc0
+ add r6, r4, #0
+ mul r6, r1
+ add r6, r5, r6
+ add r4, r3, #1
+ strb r2, [r6, r4]
+ add r2, r3, #2
+ ldr r0, [r5, r0]
+ add r2, r5, r2
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r1, [r2, r3]
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #1
+ strb r1, [r2, r3]
+ str r0, [sp, #4]
+ b _0224B232
+_0224B096:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ mov r1, #0xb5
+ add r0, r5, r0
+ lsl r1, r1, #6
+ ldrh r2, [r0, r1]
+ ldr r1, _0224B1D0 ; =0x000001A5
+ cmp r2, r1
+ bne _0224B1A2
+ ldr r1, _0224B1C4 ; =0x00002D8C
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ beq _0224B1A2
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224B182
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224B182
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r2, [r5, r0]
+ mov r0, #0xf3
+ tst r0, r2
+ bne _0224B10C
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ mov r1, #0xc0
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r0, [r6, r3]
+ lsl r1, r0, #0x1b
+ lsr r1, r1, #0x1b
+ cmp r1, #1
+ bne _0224B10C
+ mov r1, #0x1f
+ bic r0, r1
+ strb r0, [r6, r3]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224B10C:
+ mov r0, #0x30
+ tst r0, r2
+ beq _0224B134
+ mov r0, #0x46
+ lsl r0, r0, #2
+_0224B116:
+ ldr r0, [r5, r0]
+ mov r1, #0xc0
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r0, [r6, r3]
+ lsl r1, r0, #0x1b
+ lsr r1, r1, #0x1b
+ bne _0224B134
+ mov r1, #0x1f
+ bic r0, r1
+ mov r1, #1
+ orr r0, r1
+ str r1, [sp, #4]
+ strb r0, [r6, r3]
+ b _0224B232
+_0224B134:
+ mov r0, #3
+ tst r0, r2
+ beq _0224B15C
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r0, [r5, r0]
+ mov r1, #0xc0
+ add r3, r0, #0
+ mul r3, r1
+ ldrb r0, [r6, r3]
+ lsl r1, r0, #0x1b
+ lsr r1, r1, #0x1b
+ cmp r1, #1
+ bne _0224B15C
+ mov r1, #0x1f
+ bic r0, r1
+ strb r0, [r6, r3]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224B15C:
+ mov r0, #0xc0
+ tst r0, r2
+ beq _0224B1A2
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ ldrb r2, [r6, r0]
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x1b
+ cmp r1, #1
+ bne _0224B1A2
+ mov r1, #0x1f
+ bic r2, r1
+ strb r2, [r6, r0]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224B182:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ ldrb r2, [r6, r0]
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x1b
+ cmp r1, #1
+ bne _0224B1A2
+ mov r1, #0x1f
+ bic r2, r1
+ strb r2, [r6, r0]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224B1A2:
+ mov r0, #0x46
+ lsl r0, r0, #2
+ ldr r1, [r5, r0]
+ mov r0, #0xc0
+ mul r0, r1
+ mov r1, #0xb5
+ add r0, r5, r0
+ lsl r1, r1, #6
+ ldrh r2, [r0, r1]
+ ldr r1, _0224B1D4 ; =0x000001ED
+ b _0224B1D8
+ .align 2, 0
+_0224B1B8: .word 0x00002D66
+_0224B1BC: .word 0x000021EC
+_0224B1C0: .word 0x0000015F
+_0224B1C4: .word 0x00002D8C
+_0224B1C8: .word 0x00002D64
+_0224B1CC: .word 0x00002D65
+_0224B1D0: .word 0x000001A5
+_0224B1D4: .word 0x000001ED
+_0224B1D8:
+ cmp r2, r1
+ bne _0224B224
+ ldr r1, _0224B238 ; =0x00002D8C
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ beq _0224B224
+ ldr r1, _0224B23C ; =0x00002DB8
+ mov r2, #5
+ ldrh r0, [r0, r1]
+ mov r1, #1
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069F24
+ mov r1, #0x46
+ lsl r1, r1, #2
+ ldr r1, [r5, r1]
+ mov r2, #0xc0
+ add r3, r1, #0
+ mul r3, r2
+ ldrb r1, [r6, r3]
+ lsl r2, r1, #0x1b
+ lsr r2, r2, #0x1b
+ cmp r0, r2
+ beq _0224B224
+ mov r2, #0x1f
+ lsl r0, r0, #0x18
+ bic r1, r2
+ lsr r2, r0, #0x18
+ mov r0, #0x1f
+ and r0, r2
+ orr r0, r1
+ strb r0, [r6, r3]
+ mov r0, #1
+ str r0, [sp, #4]
+ b _0224B232
+_0224B224:
+ add r0, r7, #0
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ bge _0224B232
+ b _0224AE92
+_0224B232:
+ ldr r0, [sp, #4]
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224B238: .word 0x00002D8C
+_0224B23C: .word 0x00002DB8
+
+ thumb_func_start MOD11_0224B240
+MOD11_0224B240: ; 0x0224B240
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ str r0, [sp, #4]
+ str r1, [sp]
+ mov r7, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _0224B282
+ ldr r5, [sp]
+ ldr r4, _0224B288 ; =0x0000312C
+_0224B256:
+ mov r1, #0
+_0224B258:
+ add r0, r5, r1
+ strb r1, [r0, r4]
+ add r1, r1, #1
+ cmp r1, #6
+ blt _0224B258
+ ldr r1, [sp]
+ ldr r0, [sp, #4]
+ add r3, r1, #0
+ add r6, r3, r7
+ ldr r3, _0224B28C ; =0x0000219C
+ add r2, r7, #0
+ ldrb r3, [r6, r3]
+ bl MOD11_0224B290
+ ldr r0, [sp, #4]
+ add r5, r5, #6
+ add r7, r7, #1
+ bl MOD11_0222FF84
+ cmp r7, r0
+ blt _0224B256
+_0224B282:
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224B288: .word 0x0000312C
+_0224B28C: .word 0x0000219C
+
+ thumb_func_start MOD11_0224B290
+MOD11_0224B290: ; 0x0224B290
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r6, r1, #0
+ add r5, r2, #0
+ add r4, r3, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r1, r0
+ beq _0224B2AA
+ mov r1, #0x18
+ tst r1, r0
+ beq _0224B2BE
+_0224B2AA:
+ mov r1, #0x10
+ tst r0, r1
+ beq _0224B2E2
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02230260
+ mov r1, #1
+ tst r0, r1
+ bne _0224B2E2
+_0224B2BE:
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02230260
+ cmp r0, #4
+ beq _0224B2D6
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_02230260
+ cmp r0, #5
+ bne _0224B2DA
+_0224B2D6:
+ mov r1, #1
+ b _0224B2DC
+_0224B2DA:
+ mov r1, #0
+_0224B2DC:
+ mov r0, #1
+ and r5, r0
+ b _0224B2E4
+_0224B2E2:
+ mov r1, #0
+_0224B2E4:
+ mov r2, #6
+ mul r2, r5
+ ldr r3, _0224B30C ; =0x0000312C
+ mov r0, #0
+ add r7, r6, r2
+_0224B2EE:
+ ldrb r5, [r7, r3]
+ cmp r4, r5
+ beq _0224B2FC
+ add r0, r0, #1
+ add r7, r7, #1
+ cmp r0, #6
+ blt _0224B2EE
+_0224B2FC:
+ ldr r3, _0224B30C ; =0x0000312C
+ add r3, r6, r3
+ add r4, r3, r2
+ ldrb r3, [r4, r1]
+ ldrb r2, [r4, r0]
+ strb r2, [r4, r1]
+ strb r3, [r4, r0]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224B30C: .word 0x0000312C
+
+ thumb_func_start MOD11_0224B310
+MOD11_0224B310: ; 0x0224B310
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x8c
+ str r0, [sp, #4]
+ ldr r0, [sp, #0xa0]
+ add r5, r1, #0
+ str r0, [sp, #0xa0]
+ ldr r0, [sp, #0xb4]
+ str r2, [sp, #8]
+ str r0, [sp, #0xb4]
+ mov r0, #0
+ str r0, [sp, #0x84]
+ ldr r0, [sp, #0xb4]
+ str r3, [sp, #0xc]
+ cmp r0, #1
+ beq _0224B334
+ bhi _0224B334
+ bl ErrorHandling
+_0224B334:
+ add r0, sp, #0x90
+ ldrb r0, [r0, #0x1c]
+ mov r2, #1
+ mov r3, #0
+ str r0, [sp, #0x24]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+ add r0, sp, #0xb0
+ ldrb r0, [r0]
+ mov r2, #2
+ mov r3, #0
+ str r0, [sp, #0x20]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x78]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #4
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #5
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x13
+ mov r3, #0
+ bl MOD11_02243420
+ sub r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x70]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x14
+ mov r3, #0
+ bl MOD11_02243420
+ sub r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x6c]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x16
+ mov r3, #0
+ bl MOD11_02243420
+ sub r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x68]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x17
+ mov r3, #0
+ bl MOD11_02243420
+ sub r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x64]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x2b
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r2, #0
+ str r0, [sp, #0x60]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ add r3, r2, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #0
+ str r0, [sp, #0x58]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ add r3, r2, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x54]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x2f
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ str r0, [sp, #0x50]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x2f
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x30
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4c]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x30
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ str r0, [sp, #0x48]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x34
+ mov r3, #0
+ bl MOD11_02243420
+ str r0, [sp, #0x44]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ add r7, r0, #0
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x1d
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x40]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x1d
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x3c]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x1b
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x38]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ mov r2, #0x1c
+ mov r3, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x34]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ bl MOD11_02249B4C
+ add r4, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #1
+ bl MOD11_0224C12C
+ str r0, [sp, #0x30]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #2
+ bl MOD11_0224C12C
+ str r0, [sp, #0x2c]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0
+ bl MOD11_02249B4C
+ add r4, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #1
+ bl MOD11_0224C12C
+ str r0, [sp, #0x28]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #2
+ bl MOD11_0224C12C
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ str r0, [sp, #0x5c]
+ add r0, sp, #0x90
+ ldrh r4, [r0, #0x14]
+ cmp r4, #0
+ bne _0224B534
+ ldr r0, [sp, #8]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224B754 ; =0x000003E1
+ ldrb r4, [r1, r0]
+_0224B534:
+ cmp r7, #0x60
+ bne _0224B53C
+ mov r6, #0
+ b _0224B558
+_0224B53C:
+ add r0, sp, #0x90
+ ldrb r1, [r0, #0x18]
+ cmp r1, #0
+ bne _0224B550
+ ldr r0, [sp, #8]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224B758 ; =0x000003E2
+ ldrb r6, [r1, r0]
+ b _0224B558
+_0224B550:
+ mov r0, #0x3f
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_0224B558:
+ ldr r0, _0224B75C ; =0x00002158
+ ldr r0, [r5, r0]
+ cmp r0, #0xa
+ bge _0224B564
+ bl ErrorHandling
+_0224B564:
+ ldr r0, _0224B75C ; =0x00002158
+ mov r1, #0xa
+ ldr r0, [r5, r0]
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, sp, #0x90
+ ldrb r0, [r0, #0x1c]
+ mov r1, #0xc0
+ mul r1, r0
+ add r2, r5, r1
+ mov r1, #0xb7
+ lsl r1, r1, #6
+ ldr r2, [r2, r1]
+ mov r1, #2
+ lsl r1, r1, #8
+ tst r1, r2
+ beq _0224B594
+ cmp r6, #0xd
+ bne _0224B594
+ lsl r1, r4, #0x11
+ lsr r4, r1, #0x10
+_0224B594:
+ lsl r0, r0, #6
+ add r1, r5, r0
+ mov r0, #0x75
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ beq _0224B5B2
+ mov r0, #0xf
+ mul r0, r4
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B5B2:
+ cmp r7, #0x65
+ bne _0224B5CE
+ ldr r0, [sp, #8]
+ cmp r0, #0xa5
+ beq _0224B5CE
+ cmp r4, #0x3c
+ bhi _0224B5CE
+ mov r0, #0xf
+ mul r0, r4
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B5CE:
+ ldr r0, [sp, #8]
+ lsl r0, r0, #4
+ str r0, [sp, #0x18]
+ add r1, r5, r0
+ mov r0, #0x3e
+ lsl r0, r0, #4
+ ldrb r0, [r1, r0]
+ cmp r7, #0x25
+ str r0, [sp, #0x80]
+ beq _0224B5E6
+ cmp r7, #0x4a
+ bne _0224B5EE
+_0224B5E6:
+ ldr r0, [sp, #0x7c]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224B5EE:
+ cmp r7, #0x70
+ bne _0224B61C
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #3
+ mov r3, #0
+ bl MOD11_0224C474
+ str r0, [sp, #0x88]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x59
+ mov r3, #0
+ bl MOD11_02243420
+ ldr r1, [sp, #0x88]
+ sub r0, r1, r0
+ cmp r0, #5
+ bge _0224B61C
+ ldr r0, [sp, #0x7c]
+ lsl r0, r0, #0xf
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224B61C:
+ ldr r3, _0224B760 ; =0x0225E336
+ mov r2, #0
+_0224B620:
+ ldrb r1, [r3]
+ ldr r0, [sp, #0x30]
+ cmp r0, r1
+ bne _0224B640
+ ldrb r0, [r3, #1]
+ cmp r6, r0
+ bne _0224B640
+ ldr r0, [sp, #0x2c]
+ mov r1, #0x64
+ add r0, #0x64
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ b _0224B648
+_0224B640:
+ add r2, r2, #1
+ add r3, r3, #2
+ cmp r2, #0x21
+ blo _0224B620
+_0224B648:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x36
+ bne _0224B660
+ ldr r1, [sp, #0x7c]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224B660:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x7c
+ bne _0224B678
+ ldr r1, [sp, #0x74]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+_0224B678:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x3b
+ bne _0224B6A6
+ ldr r0, [sp, #0x5c]
+ mov r1, #0x80
+ tst r0, r1
+ bne _0224B6A6
+ ldr r1, _0224B764 ; =0x0000FE84
+ ldr r0, [sp, #0x58]
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _0224B6A6
+ ldr r1, [sp, #0x74]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+_0224B6A6:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x3b
+ bne _0224B6D4
+ ldr r0, [sp, #0x5c]
+ mov r1, #0x80
+ tst r0, r1
+ bne _0224B6D4
+ ldr r1, _0224B764 ; =0x0000FE84
+ ldr r0, [sp, #0x54]
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _0224B6D4
+ ldr r1, [sp, #0x10]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+_0224B6D4:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x3c
+ bne _0224B6EA
+ ldr r1, _0224B768 ; =0x0000016E
+ ldr r0, [sp, #0x58]
+ cmp r0, r1
+ bne _0224B6EA
+ ldr r0, [sp, #0x74]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+_0224B6EA:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x3d
+ bne _0224B700
+ ldr r1, _0224B768 ; =0x0000016E
+ ldr r0, [sp, #0x54]
+ cmp r0, r1
+ bne _0224B700
+ ldr r0, [sp, #0x10]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+_0224B700:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x46
+ bne _0224B710
+ ldr r0, [sp, #0x58]
+ cmp r0, #0x19
+ bne _0224B710
+ lsl r0, r4, #0x11
+ lsr r4, r0, #0x10
+_0224B710:
+ ldr r0, [sp, #0x28]
+ cmp r0, #0x59
+ bne _0224B724
+ ldr r0, [sp, #0x54]
+ cmp r0, #0x84
+ bne _0224B724
+ ldr r0, [sp, #0x78]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x78]
+_0224B724:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x5a
+ bne _0224B740
+ ldr r1, _0224B76C ; =0x0000FF98
+ ldr r0, [sp, #0x58]
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _0224B740
+ ldr r0, [sp, #0x7c]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224B740:
+ ldr r0, [sp, #0x30]
+ cmp r0, #2
+ bne _0224B78A
+ cmp r6, #0x10
+ beq _0224B74E
+ cmp r6, #8
+ bne _0224B78A
+_0224B74E:
+ ldr r1, _0224B770 ; =0x000001E3
+ b _0224B774
+ nop
+_0224B754: .word 0x000003E1
+_0224B758: .word 0x000003E2
+_0224B75C: .word 0x00002158
+_0224B760: .word 0x0225E336
+_0224B764: .word 0x0000FE84
+_0224B768: .word 0x0000016E
+_0224B76C: .word 0x0000FF98
+_0224B770: .word 0x000001E3
+_0224B774:
+ ldr r0, [sp, #0x58]
+ cmp r0, r1
+ bne _0224B78A
+ ldr r0, [sp, #0x2c]
+ mov r1, #0x64
+ add r0, #0x64
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B78A:
+ ldr r0, [sp, #0x30]
+ cmp r0, #3
+ bne _0224B7B2
+ cmp r6, #0x10
+ beq _0224B798
+ cmp r6, #0xb
+ bne _0224B7B2
+_0224B798:
+ mov r1, #0x79
+ ldr r0, [sp, #0x58]
+ lsl r1, r1, #2
+ cmp r0, r1
+ bne _0224B7B2
+ ldr r0, [sp, #0x2c]
+ mov r1, #0x64
+ add r0, #0x64
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B7B2:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x5d
+ bne _0224B7CE
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bne _0224B7CE
+ ldr r0, [sp, #0x2c]
+ mov r1, #0x64
+ add r0, #0x64
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B7CE:
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x5e
+ bne _0224B7EC
+ ldr r0, [sp, #0x80]
+ cmp r0, #1
+ bne _0224B7EC
+ ldr r0, [sp, #0x2c]
+ mov r1, #0x64
+ add r0, #0x64
+ str r0, [sp, #0x2c]
+ mul r0, r4
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B7EC:
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ mov r3, #0x2f
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224B808
+ cmp r6, #0xa
+ beq _0224B804
+ cmp r6, #0xf
+ bne _0224B808
+_0224B804:
+ lsl r0, r4, #0xf
+ lsr r4, r0, #0x10
+_0224B808:
+ cmp r7, #0x37
+ bne _0224B81E
+ ldr r1, [sp, #0x7c]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224B81E:
+ cmp r7, #0x3e
+ bne _0224B83A
+ ldr r0, [sp, #0x48]
+ cmp r0, #0
+ beq _0224B83A
+ ldr r1, [sp, #0x7c]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224B83A:
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ mov r3, #0x3f
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224B862
+ ldr r0, [sp, #0x44]
+ cmp r0, #0
+ beq _0224B862
+ ldr r1, [sp, #0x78]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x78]
+_0224B862:
+ cmp r7, #0x39
+ bne _0224B88C
+ mov r0, #0x3a
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x24]
+ add r1, r5, #0
+ mov r2, #1
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _0224B88C
+ ldr r1, [sp, #0x74]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+_0224B88C:
+ cmp r7, #0x3a
+ bne _0224B8B6
+ mov r0, #0x39
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x24]
+ add r1, r5, #0
+ mov r2, #1
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _0224B8B6
+ ldr r1, [sp, #0x74]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+_0224B8B6:
+ cmp r6, #0xd
+ bne _0224B8CE
+ mov r2, #1
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ lsl r2, r2, #0x10
+ bl MOD11_02247238
+ cmp r0, #0
+ beq _0224B8CE
+ lsl r0, r4, #0xf
+ lsr r4, r0, #0x10
+_0224B8CE:
+ cmp r6, #0xa
+ bne _0224B8E6
+ mov r2, #2
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ lsl r2, r2, #0x10
+ bl MOD11_02247238
+ cmp r0, #0
+ beq _0224B8E6
+ lsl r0, r4, #0xf
+ lsr r4, r0, #0x10
+_0224B8E6:
+ cmp r6, #0xc
+ bne _0224B90A
+ cmp r7, #0x41
+ bne _0224B90A
+ ldr r0, [sp, #0x4c]
+ mov r1, #3
+ blx _s32_div_f
+ ldr r1, [sp, #0x50]
+ cmp r1, r0
+ bgt _0224B90A
+ mov r0, #0x96
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B90A:
+ cmp r6, #0xa
+ bne _0224B92E
+ cmp r7, #0x42
+ bne _0224B92E
+ ldr r0, [sp, #0x4c]
+ mov r1, #3
+ blx _s32_div_f
+ ldr r1, [sp, #0x50]
+ cmp r1, r0
+ bgt _0224B92E
+ mov r0, #0x96
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B92E:
+ cmp r6, #0xb
+ bne _0224B952
+ cmp r7, #0x43
+ bne _0224B952
+ ldr r0, [sp, #0x4c]
+ mov r1, #3
+ blx _s32_div_f
+ ldr r1, [sp, #0x50]
+ cmp r1, r0
+ bgt _0224B952
+ mov r0, #0x96
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B952:
+ cmp r6, #6
+ bne _0224B976
+ cmp r7, #0x44
+ bne _0224B976
+ ldr r0, [sp, #0x4c]
+ mov r1, #3
+ blx _s32_div_f
+ ldr r1, [sp, #0x50]
+ cmp r1, r0
+ bgt _0224B976
+ mov r0, #0x96
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B976:
+ cmp r6, #0xa
+ bne _0224B98E
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ mov r3, #0x55
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224B98E
+ lsl r0, r4, #0xf
+ lsr r4, r0, #0x10
+_0224B98E:
+ cmp r6, #0xa
+ bne _0224B9B0
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ mov r3, #0x57
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224B9B0
+ mov r0, #0x7d
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224B9B0:
+ cmp r7, #0x56
+ bne _0224B9F0
+ ldr r0, [sp, #0x70]
+ mov r1, #5
+ lsl r0, r0, #0x19
+ asr r0, r0, #0x18
+ str r0, [sp, #0x70]
+ ldr r0, [sp, #0x70]
+ mvn r1, r1
+ cmp r0, r1
+ bge _0224B9C8
+ str r1, [sp, #0x70]
+_0224B9C8:
+ ldr r0, [sp, #0x70]
+ cmp r0, #6
+ ble _0224B9D2
+ mov r0, #6
+ str r0, [sp, #0x70]
+_0224B9D2:
+ ldr r0, [sp, #0x68]
+ mov r1, #5
+ lsl r0, r0, #0x19
+ asr r0, r0, #0x18
+ str r0, [sp, #0x68]
+ ldr r0, [sp, #0x68]
+ mvn r1, r1
+ cmp r0, r1
+ bge _0224B9E6
+ str r1, [sp, #0x68]
+_0224B9E6:
+ ldr r0, [sp, #0x68]
+ cmp r0, #6
+ ble _0224B9F0
+ mov r0, #6
+ str r0, [sp, #0x68]
+_0224B9F0:
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ mov r3, #0x56
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224BA3C
+ ldr r0, [sp, #0x6c]
+ mov r1, #5
+ lsl r0, r0, #0x19
+ asr r0, r0, #0x18
+ str r0, [sp, #0x6c]
+ ldr r0, [sp, #0x6c]
+ mvn r1, r1
+ cmp r0, r1
+ bge _0224BA14
+ str r1, [sp, #0x6c]
+_0224BA14:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #6
+ ble _0224BA1E
+ mov r0, #6
+ str r0, [sp, #0x6c]
+_0224BA1E:
+ ldr r0, [sp, #0x64]
+ mov r1, #5
+ lsl r0, r0, #0x19
+ asr r0, r0, #0x18
+ str r0, [sp, #0x64]
+ ldr r0, [sp, #0x64]
+ mvn r1, r1
+ cmp r0, r1
+ bge _0224BA32
+ str r1, [sp, #0x64]
+_0224BA32:
+ ldr r0, [sp, #0x64]
+ cmp r0, #6
+ ble _0224BA3C
+ mov r0, #6
+ str r0, [sp, #0x64]
+_0224BA3C:
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ mov r3, #0x6d
+ bl MOD11_02246D84
+ cmp r0, #1
+ bne _0224BA52
+ mov r0, #0
+ str r0, [sp, #0x70]
+ str r0, [sp, #0x68]
+_0224BA52:
+ cmp r7, #0x6d
+ bne _0224BA5C
+ mov r0, #0
+ str r0, [sp, #0x6c]
+ str r0, [sp, #0x64]
+_0224BA5C:
+ ldr r0, [sp, #0x70]
+ add r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x70]
+ ldr r0, [sp, #0x6c]
+ add r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x6c]
+ ldr r0, [sp, #0x68]
+ add r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x68]
+ ldr r0, [sp, #0x64]
+ add r0, r0, #6
+ lsl r0, r0, #0x18
+ asr r0, r0, #0x18
+ str r0, [sp, #0x64]
+ cmp r7, #0x4f
+ bne _0224BAAA
+ ldr r1, [sp, #0x40]
+ ldr r0, [sp, #0x3c]
+ cmp r1, r0
+ bne _0224BAAA
+ add r0, r1, #0
+ cmp r0, #2
+ beq _0224BAAA
+ ldr r0, [sp, #0x3c]
+ cmp r0, #2
+ beq _0224BAAA
+ mov r0, #0x7d
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224BAAA:
+ cmp r7, #0x4f
+ bne _0224BAD0
+ ldr r1, [sp, #0x40]
+ ldr r0, [sp, #0x3c]
+ cmp r1, r0
+ beq _0224BAD0
+ add r0, r1, #0
+ cmp r0, #2
+ beq _0224BAD0
+ ldr r0, [sp, #0x3c]
+ cmp r0, #2
+ beq _0224BAD0
+ mov r0, #0x4b
+ mul r0, r4
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0224BAD0:
+ ldr r2, _0224BDDC ; =0x0225E2BA
+ mov r3, #0
+_0224BAD4:
+ ldrh r1, [r2]
+ ldr r0, [sp, #8]
+ cmp r0, r1
+ bne _0224BAF0
+ cmp r7, #0x59
+ bne _0224BAF0
+ mov r0, #0xc
+ mul r0, r4
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ b _0224BAF8
+_0224BAF0:
+ add r3, r3, #1
+ add r2, r2, #2
+ cmp r3, #0xf
+ blo _0224BAD4
+_0224BAF8:
+ mov r0, #0xd
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224BBCA
+ mov r0, #0x4c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224BBCA
+ ldr r0, [sp, #0xa0]
+ mov r1, #0x30
+ and r0, r1
+ str r0, [sp, #0x1c]
+ beq _0224BB40
+ cmp r7, #0x5e
+ bne _0224BB40
+ ldr r1, [sp, #0x74]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x74]
+_0224BB40:
+ ldr r0, [sp, #0xa0]
+ mov r1, #0xc
+ tst r0, r1
+ beq _0224BB66
+ ldr r0, [sp, #0x38]
+ cmp r0, #5
+ beq _0224BB54
+ ldr r0, [sp, #0x34]
+ cmp r0, #5
+ bne _0224BB66
+_0224BB54:
+ ldr r1, [sp, #0x10]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+_0224BB66:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _0224BB92
+ mov r0, #0x7a
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x24]
+ add r1, r5, #0
+ mov r2, #1
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _0224BB92
+ ldr r1, [sp, #0x7c]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x7c]
+_0224BB92:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _0224BBCA
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x68
+ beq _0224BBCA
+ mov r0, #0x7a
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x20]
+ add r1, r5, #0
+ mov r2, #1
+ bl MOD11_02246870
+ cmp r0, #0
+ beq _0224BBCA
+ ldr r1, [sp, #0x10]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+_0224BBCA:
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _0224BDE0 ; =0x000003DE
+ ldrh r0, [r1, r0]
+ str r0, [sp, #0x14]
+ cmp r0, #7
+ bne _0224BBE0
+ ldr r0, [sp, #0x78]
+ lsl r0, r0, #0xf
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x78]
+_0224BBE0:
+ ldr r0, [sp, #0x80]
+ cmp r0, #0
+ bne _0224BCE2
+ ldr r0, [sp, #0xb4]
+ cmp r0, #1
+ bls _0224BC0E
+ ldr r0, [sp, #0x70]
+ cmp r0, #6
+ ble _0224BC08
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldr r2, [sp, #0x7c]
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ b _0224BC24
+_0224BC08:
+ ldr r0, [sp, #0x7c]
+ str r0, [sp, #0x84]
+ b _0224BC24
+_0224BC0E:
+ ldr r0, [sp, #0x70]
+ ldr r2, [sp, #0x7c]
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+_0224BC24:
+ ldr r0, [sp, #0x84]
+ add r1, r0, #0
+ ldr r0, [sp, #0x60]
+ mul r1, r4
+ str r1, [sp, #0x84]
+ lsl r0, r0, #1
+ mov r1, #5
+ blx _s32_div_f
+ add r1, r0, #2
+ ldr r0, [sp, #0x84]
+ mul r1, r0
+ ldr r0, [sp, #0xb4]
+ str r1, [sp, #0x84]
+ cmp r0, #1
+ bls _0224BC60
+ ldr r0, [sp, #0x6c]
+ cmp r0, #6
+ bge _0224BC76
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldr r2, [sp, #0x78]
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x78]
+ b _0224BC76
+_0224BC60:
+ ldr r0, [sp, #0x6c]
+ ldr r2, [sp, #0x78]
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x78]
+_0224BC76:
+ ldr r0, [sp, #0x84]
+ ldr r1, [sp, #0x78]
+ blx _s32_div_f
+ mov r1, #0x32
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ ldr r0, [sp, #0x48]
+ mov r1, #0x10
+ tst r0, r1
+ beq _0224BC9C
+ cmp r7, #0x3e
+ beq _0224BC9C
+ ldr r0, [sp, #0x84]
+ lsr r1, r0, #0x1f
+ add r1, r0, r1
+ asr r0, r1, #1
+ str r0, [sp, #0x84]
+_0224BC9C:
+ ldr r0, [sp, #0xc]
+ mov r2, #1
+ tst r0, r2
+ beq _0224BCB0
+ ldr r0, [sp, #0xb4]
+ cmp r0, #1
+ bne _0224BCB0
+ ldr r0, [sp, #0x14]
+ cmp r0, #0xba
+ bne _0224BCB2
+_0224BCB0:
+ b _0224BDC8
+_0224BCB2:
+ ldr r0, [sp, #0x5c]
+ mov r1, #2
+ tst r0, r1
+ beq _0224BCD6
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x20]
+ add r1, r5, #0
+ bl MOD11_022467AC
+ cmp r0, #2
+ bne _0224BCD6
+ ldr r0, [sp, #0x84]
+ mov r1, #3
+ lsl r0, r0, #1
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ b _0224BDC8
+_0224BCD6:
+ ldr r0, [sp, #0x84]
+ lsr r1, r0, #0x1f
+ add r1, r0, r1
+ asr r0, r1, #1
+ str r0, [sp, #0x84]
+ b _0224BDC8
+_0224BCE2:
+ cmp r0, #1
+ bne _0224BDC8
+ ldr r0, [sp, #0xb4]
+ cmp r0, #1
+ bls _0224BD0E
+ ldr r0, [sp, #0x68]
+ cmp r0, #6
+ ble _0224BD08
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldr r2, [sp, #0x74]
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ b _0224BD24
+_0224BD08:
+ ldr r0, [sp, #0x74]
+ str r0, [sp, #0x84]
+ b _0224BD24
+_0224BD0E:
+ ldr r0, [sp, #0x68]
+ ldr r2, [sp, #0x74]
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+_0224BD24:
+ ldr r0, [sp, #0x84]
+ add r1, r0, #0
+ ldr r0, [sp, #0x60]
+ mul r1, r4
+ str r1, [sp, #0x84]
+ lsl r0, r0, #1
+ mov r1, #5
+ blx _s32_div_f
+ add r1, r0, #2
+ ldr r0, [sp, #0x84]
+ mul r1, r0
+ ldr r0, [sp, #0xb4]
+ str r1, [sp, #0x84]
+ cmp r0, #1
+ bls _0224BD60
+ ldr r0, [sp, #0x64]
+ cmp r0, #6
+ bge _0224BD76
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldr r2, [sp, #0x10]
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x10]
+ b _0224BD76
+_0224BD60:
+ ldr r0, [sp, #0x64]
+ ldr r2, [sp, #0x10]
+ lsl r1, r0, #1
+ ldr r0, _0224BDE4 ; =0x0225E284
+ ldrb r0, [r0, r1]
+ mul r0, r2
+ ldr r2, _0224BDE8 ; =0x0225E285
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ str r0, [sp, #0x10]
+_0224BD76:
+ ldr r0, [sp, #0x84]
+ ldr r1, [sp, #0x10]
+ blx _s32_div_f
+ mov r1, #0x32
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ ldr r0, [sp, #0xc]
+ mov r1, #2
+ tst r0, r1
+ beq _0224BDC8
+ ldr r0, [sp, #0xb4]
+ cmp r0, #1
+ bne _0224BDC8
+ ldr r0, [sp, #0x14]
+ cmp r0, #0xba
+ beq _0224BDC8
+ ldr r0, [sp, #0x5c]
+ tst r0, r1
+ beq _0224BDBE
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x20]
+ add r1, r5, #0
+ mov r2, #1
+ bl MOD11_022467AC
+ cmp r0, #2
+ bne _0224BDBE
+ ldr r0, [sp, #0x84]
+ mov r1, #3
+ lsl r0, r0, #1
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ b _0224BDC8
+_0224BDBE:
+ ldr r0, [sp, #0x84]
+ lsr r1, r0, #0x1f
+ add r1, r0, r1
+ asr r0, r1, #1
+ str r0, [sp, #0x84]
+_0224BDC8:
+ ldr r0, [sp, #0x5c]
+ mov r1, #2
+ add r4, r0, #0
+ and r4, r1
+ beq _0224BE16
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _0224BDEC ; =0x000003E6
+ b _0224BDF0
+ nop
+_0224BDDC: .word 0x0225E2BA
+_0224BDE0: .word 0x000003DE
+_0224BDE4: .word 0x0225E284
+_0224BDE8: .word 0x0225E285
+_0224BDEC: .word 0x000003E6
+_0224BDF0:
+ ldrh r0, [r1, r0]
+ cmp r0, #4
+ bne _0224BE16
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x20]
+ add r1, r5, #0
+ mov r2, #1
+ bl MOD11_022467AC
+ cmp r0, #2
+ bne _0224BE16
+ ldr r0, [sp, #0x84]
+ lsl r1, r0, #1
+ add r1, r0, r1
+ asr r0, r1, #1
+ lsr r0, r0, #0x1e
+ add r0, r1, r0
+ asr r0, r0, #2
+ str r0, [sp, #0x84]
+_0224BE16:
+ cmp r4, #0
+ beq _0224BE46
+ ldr r0, [sp, #0x18]
+ add r1, r5, r0
+ ldr r0, _0224BF08 ; =0x000003E6
+ ldrh r0, [r1, r0]
+ cmp r0, #8
+ bne _0224BE46
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #0x20]
+ add r1, r5, #0
+ mov r2, #0
+ bl MOD11_022467AC
+ cmp r0, #2
+ blo _0224BE46
+ ldr r0, [sp, #0x84]
+ lsl r1, r0, #1
+ add r1, r0, r1
+ asr r0, r1, #1
+ lsr r0, r0, #0x1e
+ add r0, r1, r0
+ asr r0, r0, #2
+ str r0, [sp, #0x84]
+_0224BE46:
+ mov r0, #0xd
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224BEDE
+ mov r0, #0x4c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224BEDE
+ ldr r0, [sp, #0xa0]
+ mov r1, #3
+ tst r0, r1
+ beq _0224BE9A
+ cmp r6, #0xa
+ beq _0224BE80
+ cmp r6, #0xb
+ beq _0224BE8C
+ b _0224BE9A
+_0224BE80:
+ ldr r0, [sp, #0x84]
+ lsr r1, r0, #0x1f
+ add r1, r0, r1
+ asr r0, r1, #1
+ str r0, [sp, #0x84]
+ b _0224BE9A
+_0224BE8C:
+ ldr r1, [sp, #0x84]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+_0224BE9A:
+ ldr r1, _0224BF0C ; =0x000080CF
+ ldr r0, [sp, #0xa0]
+ tst r0, r1
+ beq _0224BEB2
+ ldr r0, [sp, #8]
+ cmp r0, #0x4c
+ bne _0224BEB2
+ ldr r0, [sp, #0x84]
+ lsr r1, r0, #0x1f
+ add r1, r0, r1
+ asr r0, r1, #1
+ str r0, [sp, #0x84]
+_0224BEB2:
+ ldr r0, [sp, #0xa0]
+ mov r1, #0x30
+ tst r0, r1
+ beq _0224BEDE
+ cmp r6, #0xa
+ beq _0224BEC4
+ cmp r6, #0xb
+ beq _0224BED4
+ b _0224BEDE
+_0224BEC4:
+ ldr r1, [sp, #0x84]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+ b _0224BEDE
+_0224BED4:
+ ldr r0, [sp, #0x84]
+ lsr r1, r0, #0x1f
+ add r1, r0, r1
+ asr r0, r1, #1
+ str r0, [sp, #0x84]
+_0224BEDE:
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0
+ mov r2, #0x49
+ mov r3, #0
+ bl MOD11_02243420
+ cmp r0, #0
+ beq _0224BF00
+ cmp r6, #0xa
+ bne _0224BF00
+ ldr r1, [sp, #0x84]
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0xa
+ blx _s32_div_f
+ str r0, [sp, #0x84]
+_0224BF00:
+ ldr r0, [sp, #0x84]
+ add r0, r0, #2
+ add sp, #0x8c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224BF08: .word 0x000003E6
+_0224BF0C: .word 0x000080CF
+
+ thumb_func_start MOD11_0224BF10
+MOD11_0224BF10: ; 0x0224BF10
+ push {r4, lr}
+ add r4, r1, #0
+ beq _0224BF36
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1c
+ sub r1, r1, r2
+ mov r0, #0x1c
+ ror r1, r0
+ add r0, r2, r1
+ mov r1, #0x64
+ sub r0, r1, r0
+ mul r0, r4
+ blx _s32_div_f
+ add r4, r0, #0
+ bne _0224BF36
+ mov r4, #1
+_0224BF36:
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224BF3C
+MOD11_0224BF3C: ; 0x0224BF3C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r4, r0, #0
+ mov r7, #1
+ str r1, [sp]
+ str r2, [sp, #4]
+ str r3, [sp, #8]
+ bl MOD11_02249B4C
+ add r1, r0, #0
+ add r0, r4, #0
+ add r2, r7, #0
+ bl MOD11_0224C12C
+ add r3, r0, #0
+ ldr r1, [sp]
+ mov r0, #0xc0
+ mul r0, r1
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ add r2, r4, r0
+ add r0, r1, #0
+ add r0, #0x70
+ ldr r0, [r2, r0]
+ ldr r6, [sp, #4]
+ str r0, [sp, #0x10]
+ mov r0, #0xc0
+ mul r0, r6
+ add r6, r4, r0
+ add r0, r1, #0
+ add r0, #0x80
+ ldr r0, [r6, r0]
+ ldrh r5, [r2, r1]
+ add r1, #0x27
+ str r0, [sp, #0xc]
+ ldrb r0, [r2, r1]
+ cmp r0, #0x69
+ bne _0224BF8C
+ add r2, r7, #0
+ b _0224BF8E
+_0224BF8C:
+ mov r2, #0
+_0224BF8E:
+ cmp r3, #0x42
+ bne _0224BF96
+ mov r6, #1
+ b _0224BF98
+_0224BF96:
+ mov r6, #0
+_0224BF98:
+ mov r1, #1
+ ldr r0, [sp, #0x10]
+ lsl r1, r1, #0x14
+ tst r0, r1
+ beq _0224BFA6
+ mov r0, #1
+ b _0224BFA8
+_0224BFA6:
+ mov r0, #0
+_0224BFA8:
+ cmp r3, #0x58
+ bne _0224BFB4
+ cmp r5, #0x71
+ bne _0224BFB4
+ mov r1, #1
+ b _0224BFB6
+_0224BFB4:
+ mov r1, #0
+_0224BFB6:
+ cmp r3, #0x5b
+ bne _0224BFC2
+ cmp r5, #0x53
+ bne _0224BFC2
+ mov r3, #1
+ b _0224BFC4
+_0224BFC2:
+ mov r3, #0
+_0224BFC4:
+ lsl r0, r0, #1
+ add r5, r6, r0
+ ldr r0, [sp, #8]
+ add r0, r0, r5
+ add r2, r2, r0
+ lsl r0, r1, #1
+ add r1, r2, r0
+ lsl r0, r3, #1
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #4
+ bls _0224BFE0
+ mov r5, #4
+_0224BFE0:
+ bl FUN_0201B9EC
+ ldr r1, _0224C040 ; =0x0225E244
+ ldrb r1, [r1, r5]
+ blx _s32_div_f
+ cmp r1, #0
+ bne _0224C026
+ ldr r1, [sp]
+ ldr r2, [sp, #4]
+ add r0, r4, #0
+ mov r3, #4
+ bl MOD11_02246D84
+ cmp r0, #0
+ bne _0224C026
+ ldr r1, [sp]
+ ldr r2, [sp, #4]
+ add r0, r4, #0
+ mov r3, #0x4b
+ bl MOD11_02246D84
+ cmp r0, #0
+ bne _0224C026
+ mov r0, #7
+ ldr r1, [sp, #0x28]
+ lsl r0, r0, #0xc
+ tst r0, r1
+ bne _0224C026
+ mov r1, #2
+ ldr r0, [sp, #0xc]
+ lsl r1, r1, #0xe
+ tst r0, r1
+ bne _0224C026
+ mov r7, #2
+_0224C026:
+ cmp r7, #2
+ bne _0224C038
+ ldr r1, [sp]
+ add r0, r4, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x61
+ bne _0224C038
+ mov r7, #3
+_0224C038:
+ add r0, r7, #0
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224C040: .word 0x0225E244
+
+ thumb_func_start MOD11_0224C044
+MOD11_0224C044: ; 0x0224C044
+ push {r3, r4}
+ ldr r4, _0224C074 ; =0x0225E300
+ ldr r1, _0224C078 ; =0x0000FFFE
+ mov r3, #0
+_0224C04C:
+ ldrh r2, [r4]
+ cmp r0, r2
+ beq _0224C05C
+ add r4, r4, #2
+ ldrh r2, [r4]
+ add r3, r3, #1
+ cmp r2, r1
+ bne _0224C04C
+_0224C05C:
+ ldr r0, _0224C074 ; =0x0225E300
+ lsl r1, r3, #1
+ ldrh r1, [r0, r1]
+ ldr r0, _0224C078 ; =0x0000FFFE
+ cmp r1, r0
+ bne _0224C06E
+ mov r0, #1
+ pop {r3, r4}
+ bx lr
+_0224C06E:
+ mov r0, #0
+ pop {r3, r4}
+ bx lr
+ .align 2, 0
+_0224C074: .word 0x0225E300
+_0224C078: .word 0x0000FFFE
+
+ thumb_func_start MOD11_0224C07C
+MOD11_0224C07C: ; 0x0224C07C
+ push {r3, r4}
+ ldr r4, _0224C0AC ; =0x0225E300
+ ldr r1, _0224C0B0 ; =0x0000FFFF
+ mov r3, #0
+_0224C084:
+ ldrh r2, [r4]
+ cmp r0, r2
+ beq _0224C094
+ add r4, r4, #2
+ ldrh r2, [r4]
+ add r3, r3, #1
+ cmp r2, r1
+ bne _0224C084
+_0224C094:
+ ldr r0, _0224C0AC ; =0x0225E300
+ lsl r1, r3, #1
+ ldrh r1, [r0, r1]
+ ldr r0, _0224C0B0 ; =0x0000FFFF
+ cmp r1, r0
+ bne _0224C0A6
+ mov r0, #1
+ pop {r3, r4}
+ bx lr
+_0224C0A6:
+ mov r0, #0
+ pop {r3, r4}
+ bx lr
+ .align 2, 0
+_0224C0AC: .word 0x0225E300
+_0224C0B0: .word 0x0000FFFF
+
+ thumb_func_start MOD11_0224C0B4
+MOD11_0224C0B4: ; 0x0224C0B4
+ push {r4, r5}
+ lsl r1, r1, #4
+ add r4, r0, r1
+ ldr r1, _0224C0E8 ; =0x000003DE
+ ldr r3, _0224C0EC ; =0x0225E254
+ ldrh r1, [r4, r1]
+ ldr r4, _0224C0E8 ; =0x000003DE
+ mov r2, #0
+_0224C0C4:
+ ldrh r5, [r3]
+ lsl r5, r5, #4
+ add r5, r0, r5
+ ldrh r5, [r5, r4]
+ cmp r1, r5
+ beq _0224C0D8
+ add r2, r2, #1
+ add r3, r3, #2
+ cmp r2, #6
+ blo _0224C0C4
+_0224C0D8:
+ cmp r2, #6
+ bne _0224C0E2
+ mov r0, #1
+ pop {r4, r5}
+ bx lr
+_0224C0E2:
+ mov r0, #0
+ pop {r4, r5}
+ bx lr
+ .align 2, 0
+_0224C0E8: .word 0x000003DE
+_0224C0EC: .word 0x0225E254
+
+ thumb_func_start MOD11_0224C0F0
+MOD11_0224C0F0: ; 0x0224C0F0
+ push {r4, r5}
+ lsl r1, r1, #4
+ add r4, r0, r1
+ ldr r1, _0224C124 ; =0x000003DE
+ ldr r3, _0224C128 ; =0x0225E26C
+ ldrh r1, [r4, r1]
+ ldr r4, _0224C124 ; =0x000003DE
+ mov r2, #0
+_0224C100:
+ ldrh r5, [r3]
+ lsl r5, r5, #4
+ add r5, r0, r5
+ ldrh r5, [r5, r4]
+ cmp r1, r5
+ beq _0224C114
+ add r2, r2, #1
+ add r3, r3, #2
+ cmp r2, #6
+ blo _0224C100
+_0224C114:
+ cmp r2, #6
+ bne _0224C11E
+ mov r0, #1
+ pop {r4, r5}
+ bx lr
+_0224C11E:
+ mov r0, #0
+ pop {r4, r5}
+ bx lr
+ .align 2, 0
+_0224C124: .word 0x000003DE
+_0224C128: .word 0x0225E26C
+
+ thumb_func_start MOD11_0224C12C
+MOD11_0224C12C: ; 0x0224C12C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, r1, #0
+ mov r1, #0
+ add r4, r2, #0
+ bl FUN_0206E640
+ add r1, r0, #0
+ ldr r0, _0224C14C ; =0x00002120
+ ldr r0, [r5, r0]
+ bl FUN_0206EB78
+ add r1, r4, #0
+ bl FUN_0206E7DC
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224C14C: .word 0x00002120
+
+ thumb_func_start MOD11_0224C150
+MOD11_0224C150: ; 0x0224C150
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r5, r2, #0
+ bl MOD11_0222FF84
+ add r6, r0, #0
+ mov r4, #0
+ cmp r6, #0
+ ble _0224C174
+_0224C162:
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02230270
+ cmp r5, r0
+ beq _0224C174
+ add r4, r4, #1
+ cmp r4, r6
+ blt _0224C162
+_0224C174:
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0224C178
+MOD11_0224C178: ; 0x0224C178
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ str r0, [sp, #4]
+ add r5, r1, #0
+ bl MOD11_0222FF84
+ str r0, [sp, #0x10]
+ mov r0, #0
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ sub r0, r0, #1
+ str r0, [sp, #0x18]
+ cmp r0, #0
+ ble _0224C1FE
+_0224C194:
+ ldr r0, [sp, #0x14]
+ add r7, r0, #1
+ ldr r0, [sp, #0x10]
+ cmp r7, r0
+ bge _0224C1F2
+ ldr r0, [sp, #0x14]
+ add r0, r5, r0
+ str r0, [sp, #0xc]
+_0224C1A4:
+ ldr r1, [sp, #0xc]
+ ldr r0, _0224C204 ; =0x000021E8
+ ldrb r6, [r1, r0]
+ add r1, r5, r7
+ ldrb r4, [r1, r0]
+ lsl r0, r6, #4
+ str r1, [sp, #8]
+ add r1, r5, r0
+ ldr r0, _0224C208 ; =0x000021B4
+ ldr r0, [r1, r0]
+ lsl r1, r4, #4
+ add r2, r5, r1
+ ldr r1, _0224C208 ; =0x000021B4
+ ldr r1, [r2, r1]
+ cmp r0, r1
+ bne _0224C1EA
+ cmp r0, #1
+ beq _0224C1CC
+ mov r0, #1
+ b _0224C1CE
+_0224C1CC:
+ mov r0, #0
+_0224C1CE:
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ add r1, r5, #0
+ add r2, r6, #0
+ add r3, r4, #0
+ bl MOD11_02244248
+ cmp r0, #0
+ beq _0224C1EA
+ ldr r1, [sp, #0xc]
+ ldr r0, _0224C204 ; =0x000021E8
+ strb r4, [r1, r0]
+ ldr r1, [sp, #8]
+ strb r6, [r1, r0]
+_0224C1EA:
+ ldr r0, [sp, #0x10]
+ add r7, r7, #1
+ cmp r7, r0
+ blt _0224C1A4
+_0224C1F2:
+ ldr r0, [sp, #0x14]
+ add r1, r0, #1
+ ldr r0, [sp, #0x18]
+ str r1, [sp, #0x14]
+ cmp r1, r0
+ blt _0224C194
+_0224C1FE:
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224C204: .word 0x000021E8
+_0224C208: .word 0x000021B4
+
+ thumb_func_start MOD11_0224C20C
+MOD11_0224C20C: ; 0x0224C20C
+ push {r4, r5}
+ mov r4, #0xc0
+ mul r4, r1
+ add r5, r0, r4
+ ldr r0, _0224C24C ; =0x00002DB0
+ mov r1, #1
+ ldr r4, [r5, r0]
+ lsl r1, r1, #0x18
+ mov r3, #0
+ tst r1, r4
+ bne _0224C22C
+ add r0, #0x10
+ ldr r1, [r5, r0]
+ ldr r0, _0224C250 ; =0x200400C0
+ tst r0, r1
+ beq _0224C244
+_0224C22C:
+ ldr r4, _0224C254 ; =0x0225E2D8
+ mov r1, #0
+_0224C230:
+ ldr r0, [r4]
+ cmp r2, r0
+ bne _0224C23A
+ mov r3, #1
+ b _0224C246
+_0224C23A:
+ add r1, r1, #1
+ add r4, r4, #4
+ cmp r1, #0xa
+ blo _0224C230
+ b _0224C246
+_0224C244:
+ mov r3, #1
+_0224C246:
+ add r0, r3, #0
+ pop {r4, r5}
+ bx lr
+ .align 2, 0
+_0224C24C: .word 0x00002DB0
+_0224C250: .word 0x200400C0
+_0224C254: .word 0x0225E2D8
+
+ thumb_func_start MOD11_0224C258
+MOD11_0224C258: ; 0x0224C258
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r1, #0
+ ldr r1, [r5, #0x64]
+ str r0, [sp]
+ add r0, r5, #0
+ add r4, r2, #0
+ mov r6, #0
+ bl MOD11_02249D90
+ str r0, [sp, #0xc]
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ add r2, r6, #0
+ bl MOD11_02249DA4
+ str r0, [sp, #0x10]
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ bl MOD11_02249D90
+ add r7, r0, #0
+ ldr r1, [r5, #0x6c]
+ add r0, r5, #0
+ add r2, r6, #0
+ bl MOD11_02249DA4
+ str r0, [sp, #8]
+ ldr r0, [sp]
+ ldr r1, [r5, #0x64]
+ bl MOD11_02230270
+ str r0, [sp, #4]
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x57
+ bne _0224C2F4
+ ldr r0, _0224C41C ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _0224C2F4
+ ldr r0, [r5, #0x64]
+ mov r1, #0x1c
+ mul r1, r0
+ add r2, r5, r1
+ mov r1, #0xbb
+ lsl r1, r1, #2
+ ldr r2, [r2, r1]
+ cmp r2, #0
+ beq _0224C2F4
+ ldr r1, [r5, #0x6c]
+ cmp r0, r1
+ beq _0224C2F4
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r3, _0224C420 ; =0x00002D8C
+ add r1, r5, r1
+ ldr r0, [r1, r3]
+ add r3, r3, #4
+ ldr r1, [r1, r3]
+ cmp r0, r1
+ bhs _0224C2F4
+ cmp r0, #0
+ beq _0224C2F4
+ ldr r1, [sp, #0x10]
+ neg r0, r2
+ bl MOD11_022476C0
+ ldr r1, _0224C424 ; =0x0000215C
+ mov r6, #1
+ str r0, [r5, r1]
+ mov r0, #0x46
+ ldr r1, [r5, #0x64]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0xd5
+ str r0, [r4]
+_0224C2F4:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x61
+ bne _0224C356
+ ldr r1, [r5, #0x64]
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _0224C356
+ ldr r0, _0224C41C ; =0x0000213C
+ ldr r1, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #0xc
+ tst r0, r1
+ beq _0224C356
+ ldr r0, _0224C428 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ mov r0, #0x3e
+ lsl r0, r0, #4
+ ldrb r0, [r1, r0]
+ cmp r0, #2
+ beq _0224C356
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ add r2, r1, #0
+ mul r2, r0
+ ldr r3, _0224C420 ; =0x00002D8C
+ add r2, r5, r2
+ ldr r1, [r2, r3]
+ cmp r1, #0
+ beq _0224C356
+ add r1, r3, #4
+ ldr r1, [r2, r1]
+ sub r0, #0xc1
+ mul r0, r1
+ mov r1, #0xa
+ bl MOD11_022476C0
+ ldr r1, _0224C424 ; =0x0000215C
+ mov r6, #1
+ str r0, [r5, r1]
+ mov r0, #0x46
+ ldr r1, [r5, #0x64]
+ lsl r0, r0, #2
+ str r1, [r5, r0]
+ mov r0, #0xd6
+ str r0, [r4]
+_0224C356:
+ cmp r7, #0x2d
+ bne _0224C3AA
+ ldr r1, [r5, #0x64]
+ mov r0, #0xc0
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _0224C420 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _0224C3AA
+ add r0, r5, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x62
+ beq _0224C3AA
+ ldr r1, [r5, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r1, r5, r0
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0224C3AA
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ add r2, r0, #0
+ mul r2, r1
+ ldr r0, _0224C42C ; =0x00002D90
+ add r2, r5, r2
+ ldr r2, [r2, r0]
+ sub r1, #0xc1
+ add r0, r2, #0
+ mul r0, r1
+ ldr r1, [sp, #8]
+ bl MOD11_022476C0
+ ldr r1, _0224C424 ; =0x0000215C
+ mov r6, #1
+ str r0, [r5, r1]
+ lsr r0, r1, #5
+ str r0, [r4]
+_0224C3AA:
+ cmp r7, #0x73
+ bne _0224C416
+ ldr r0, [r5, #0x64]
+ mov r1, #0xc0
+ mul r1, r0
+ add r3, r5, r1
+ ldr r1, _0224C420 ; =0x00002D8C
+ ldr r2, [r3, r1]
+ cmp r2, #0
+ beq _0224C416
+ add r1, #0x2c
+ ldrh r1, [r3, r1]
+ cmp r1, #0
+ bne _0224C416
+ add r1, r5, r0
+ ldr r0, _0224C430 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ bl FUN_0206A92C
+ ldr r1, [sp, #4]
+ lsl r1, r1, #3
+ add r2, r5, r1
+ mov r1, #0x71
+ lsl r1, r1, #2
+ ldr r1, [r2, r1]
+ lsl r1, r1, #3
+ lsr r1, r1, #0x1a
+ tst r0, r1
+ bne _0224C416
+ ldr r1, [r5, #0x6c]
+ mov r0, #0x1c
+ mul r0, r1
+ add r2, r5, r0
+ mov r0, #0xb6
+ lsl r0, r0, #2
+ ldr r1, [r2, r0]
+ cmp r1, #0
+ bne _0224C3FE
+ add r0, #8
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _0224C416
+_0224C3FE:
+ ldr r0, _0224C428 ; =0x00003044
+ ldr r0, [r5, r0]
+ lsl r0, r0, #4
+ add r1, r5, r0
+ ldr r0, _0224C434 ; =0x000003E9
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r1, r0
+ beq _0224C416
+ mov r1, #0xd8
+ str r1, [r4]
+ add r6, r0, #0
+_0224C416:
+ add r0, r6, #0
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224C41C: .word 0x0000213C
+_0224C420: .word 0x00002D8C
+_0224C424: .word 0x0000215C
+_0224C428: .word 0x00003044
+_0224C42C: .word 0x00002D90
+_0224C430: .word 0x0000219C
+_0224C434: .word 0x000003E9
+
+ thumb_func_start MOD11_0224C438
+MOD11_0224C438: ; 0x0224C438
+ push {r4, r5, r6, lr}
+ add r6, r2, #0
+ add r4, r1, #0
+ add r1, r6, #0
+ add r5, r0, #0
+ bl MOD11_02246D1C
+ cmp r0, #0x2e
+ bne _0224C46A
+ cmp r6, #0xff
+ beq _0224C46A
+ ldr r0, _0224C46C ; =0x00002D6C
+ add r1, r5, r0
+ mov r0, #0xc0
+ mul r0, r4
+ add r0, r1, r0
+ lsl r1, r4, #1
+ add r2, r5, r1
+ ldr r1, _0224C470 ; =0x000030BC
+ ldrh r2, [r2, r1]
+ ldrb r1, [r0, r2]
+ cmp r1, #0
+ beq _0224C46A
+ sub r1, r1, #1
+ strb r1, [r0, r2]
+_0224C46A:
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224C46C: .word 0x00002D6C
+_0224C470: .word 0x000030BC
+
+ thumb_func_start MOD11_0224C474
+MOD11_0224C474: ; 0x0224C474
+ push {r4, lr}
+ add r4, r1, #0
+ cmp r2, #0xc
+ bhi _0224C528
+ add r1, r2, r2
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0224C488: ; jump table
+ .short _0224C4A2 - _0224C488 - 2 ; case 0
+ .short _0224C4B4 - _0224C488 - 2 ; case 1
+ .short _0224C4CA - _0224C488 - 2 ; case 2
+ .short _0224C4D2 - _0224C488 - 2 ; case 3
+ .short _0224C4DA - _0224C488 - 2 ; case 4
+ .short _0224C4E0 - _0224C488 - 2 ; case 5
+ .short _0224C4E6 - _0224C488 - 2 ; case 6
+ .short _0224C4F2 - _0224C488 - 2 ; case 7
+ .short _0224C4FE - _0224C488 - 2 ; case 8
+ .short _0224C508 - _0224C488 - 2 ; case 9
+ .short _0224C510 - _0224C488 - 2 ; case 10
+ .short _0224C516 - _0224C488 - 2 ; case 11
+ .short _0224C51E - _0224C488 - 2 ; case 12
+_0224C4A2:
+ add r1, r3, #0
+ bl MOD11_02230270
+ lsl r0, r0, #2
+ add r1, r4, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+_0224C4B4:
+ add r1, r3, #0
+ bl MOD11_02230270
+ lsl r0, r0, #3
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1d
+ pop {r4, pc}
+_0224C4CA:
+ ldr r0, _0224C530 ; =0x0000219C
+ add r1, r4, r3
+ ldrb r0, [r1, r0]
+ pop {r4, pc}
+_0224C4D2:
+ mov r0, #0x15
+ lsl r0, r0, #4
+ ldr r0, [r4, r0]
+ pop {r4, pc}
+_0224C4DA:
+ ldr r0, _0224C534 ; =0x00003109
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+_0224C4E0:
+ ldr r0, _0224C538 ; =0x0000311D
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+_0224C4E6:
+ lsl r0, r3, #2
+ add r1, r4, r0
+ mov r0, #0x55
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+_0224C4F2:
+ lsl r0, r3, #2
+ add r1, r4, r0
+ mov r0, #0x59
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+_0224C4FE:
+ lsl r0, r3, #4
+ add r1, r4, r0
+ ldr r0, _0224C53C ; =0x000021A8
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+_0224C508:
+ mov r0, #0x3d
+ lsl r0, r0, #4
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+_0224C510:
+ ldr r0, _0224C540 ; =0x00003108
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+_0224C516:
+ ldr r0, _0224C544 ; =0x000003DA
+ add r1, r4, r3
+ ldrb r0, [r1, r0]
+ pop {r4, pc}
+_0224C51E:
+ lsl r0, r3, #4
+ add r1, r4, r0
+ ldr r0, _0224C548 ; =0x000021B0
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+_0224C528:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r4, pc}
+ .align 2, 0
+_0224C530: .word 0x0000219C
+_0224C534: .word 0x00003109
+_0224C538: .word 0x0000311D
+_0224C53C: .word 0x000021A8
+_0224C540: .word 0x00003108
+_0224C544: .word 0x000003DA
+_0224C548: .word 0x000021B0
+
+ thumb_func_start MOD11_0224C54C
+MOD11_0224C54C: ; 0x0224C54C
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ ldr r4, [sp, #0x10]
+ cmp r2, #0xb
+ bhi _0224C5CA
+ add r1, r2, r2
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0224C562: ; jump table
+ .short _0224C57A - _0224C562 - 2 ; case 0
+ .short _0224C58C - _0224C562 - 2 ; case 1
+ .short _0224C5AA - _0224C562 - 2 ; case 2
+ .short _0224C5B2 - _0224C562 - 2 ; case 3
+ .short _0224C5CA - _0224C562 - 2 ; case 4
+ .short _0224C5CA - _0224C562 - 2 ; case 5
+ .short _0224C5CA - _0224C562 - 2 ; case 6
+ .short _0224C5CA - _0224C562 - 2 ; case 7
+ .short _0224C5CA - _0224C562 - 2 ; case 8
+ .short _0224C5BA - _0224C562 - 2 ; case 9
+ .short _0224C5CA - _0224C562 - 2 ; case 10
+ .short _0224C5C2 - _0224C562 - 2 ; case 11
+_0224C57A:
+ add r1, r3, #0
+ bl MOD11_02230270
+ lsl r0, r0, #2
+ add r1, r5, r0
+ mov r0, #0x6f
+ lsl r0, r0, #2
+ str r4, [r1, r0]
+ pop {r3, r4, r5, pc}
+_0224C58C:
+ add r1, r3, #0
+ bl MOD11_02230270
+ mov r1, #0x71
+ lsl r1, r1, #2
+ add r1, r5, r1
+ lsl r0, r0, #3
+ ldr r3, [r1, r0]
+ ldr r2, _0224C5D0 ; =0xFFFF8FFF
+ and r3, r2
+ lsl r2, r4, #0x1d
+ lsr r2, r2, #0x11
+ orr r2, r3
+ str r2, [r1, r0]
+ pop {r3, r4, r5, pc}
+_0224C5AA:
+ ldr r0, _0224C5D4 ; =0x0000219C
+ add r1, r5, r3
+ strb r4, [r1, r0]
+ pop {r3, r4, r5, pc}
+_0224C5B2:
+ mov r0, #0x15
+ lsl r0, r0, #4
+ str r4, [r5, r0]
+ pop {r3, r4, r5, pc}
+_0224C5BA:
+ mov r0, #0x3d
+ lsl r0, r0, #4
+ strb r4, [r5, r0]
+ pop {r3, r4, r5, pc}
+_0224C5C2:
+ ldr r0, _0224C5D8 ; =0x000003DA
+ add r1, r5, r3
+ strb r4, [r1, r0]
+ pop {r3, r4, r5, pc}
+_0224C5CA:
+ bl ErrorHandling
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224C5D0: .word 0xFFFF8FFF
+_0224C5D4: .word 0x0000219C
+_0224C5D8: .word 0x000003DA
+
+ thumb_func_start MOD11_0224C5DC
+MOD11_0224C5DC: ; 0x0224C5DC
+ push {r4, lr}
+ add r3, r0, #0
+ add r3, #0x88
+ str r1, [r3]
+ add r3, r0, #0
+ ldr r1, _0224C640 ; =0x007FFFFF
+ add r4, r2, #0
+ and r4, r1
+ add r3, #0x8c
+ str r4, [r3]
+ lsl r1, r1, #0x17
+ add r3, r2, #0
+ and r3, r1
+ add r1, r0, #0
+ add r1, #0x90
+ str r3, [r1]
+ mov r3, #1
+ lsl r3, r3, #0x1e
+ add r1, r2, #0
+ tst r1, r3
+ beq _0224C60E
+ ldr r1, [r0, #0x64]
+ add r0, #0x94
+ str r1, [r0]
+ b _0224C62E
+_0224C60E:
+ lsl r1, r3, #1
+ tst r1, r2
+ beq _0224C61C
+ ldr r1, [r0, #0x6c]
+ add r0, #0x94
+ str r1, [r0]
+ b _0224C62E
+_0224C61C:
+ lsr r1, r3, #1
+ tst r1, r2
+ bne _0224C628
+ lsr r1, r3, #2
+ tst r1, r2
+ beq _0224C62E
+_0224C628:
+ mov r1, #0
+ add r0, #0x94
+ str r1, [r0]
+_0224C62E:
+ cmp r4, #0x91
+ blo _0224C636
+ bl ErrorHandling
+_0224C636:
+ ldr r0, _0224C644 ; =0x0225E4C8
+ lsl r1, r4, #2
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_0224C640: .word 0x007FFFFF
+_0224C644: .word 0x0225E4C8
+
+ thumb_func_start MOD11_0224C648
+MOD11_0224C648: ; 0x0224C648
+ push {r3, r4, r5, lr}
+ ldr r1, _0224C6D0 ; =0x0000213C
+ add r5, r2, #0
+ ldr r2, [r0, r1]
+ mov r0, #2
+ lsl r0, r0, #0xa
+ add r1, r2, #0
+ ldr r4, [sp, #0x14]
+ tst r1, r0
+ bne _0224C672
+ lsl r0, r0, #4
+ tst r0, r2
+ bne _0224C672
+ cmp r3, #0
+ beq _0224C672
+ add r0, r3, #0
+ mul r0, r5
+ mov r1, #0xa
+ bl MOD11_022476C0
+ add r3, r0, #0
+_0224C672:
+ cmp r5, #0
+ beq _0224C680
+ cmp r5, #5
+ beq _0224C692
+ cmp r5, #0x14
+ beq _0224C6B0
+ b _0224C6CC
+_0224C680:
+ ldr r1, [r4]
+ mov r0, #8
+ orr r1, r0
+ mov r0, #4
+ bic r1, r0
+ mov r0, #2
+ bic r1, r0
+ str r1, [r4]
+ b _0224C6CC
+_0224C692:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _0224C6CC
+ ldr r1, [r4]
+ mov r0, #2
+ tst r0, r1
+ beq _0224C6A8
+ mov r0, #2
+ bic r1, r0
+ str r1, [r4]
+ b _0224C6CC
+_0224C6A8:
+ mov r0, #4
+ orr r0, r1
+ str r0, [r4]
+ b _0224C6CC
+_0224C6B0:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _0224C6CC
+ ldr r1, [r4]
+ mov r0, #4
+ tst r0, r1
+ beq _0224C6C6
+ mov r0, #4
+ bic r1, r0
+ str r1, [r4]
+ b _0224C6CC
+_0224C6C6:
+ mov r0, #2
+ orr r0, r1
+ str r0, [r4]
+_0224C6CC:
+ add r0, r3, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224C6D0: .word 0x0000213C
+
+ thumb_func_start MOD11_0224C6D4
+MOD11_0224C6D4: ; 0x0224C6D4
+ lsl r1, r1, #4
+ add r2, r0, r1
+ ldr r1, _0224C738 ; =0x000003DE
+ ldrh r3, [r2, r1]
+ cmp r3, #0x9b
+ bgt _0224C706
+ cmp r3, #0x97
+ blt _0224C6EC
+ beq _0224C726
+ cmp r3, #0x9b
+ beq _0224C726
+ b _0224C732
+_0224C6EC:
+ cmp r3, #0x27
+ bgt _0224C6F8
+ bge _0224C726
+ cmp r3, #0x1a
+ beq _0224C726
+ b _0224C732
+_0224C6F8:
+ cmp r3, #0x4b
+ bgt _0224C700
+ beq _0224C726
+ b _0224C732
+_0224C700:
+ cmp r3, #0x91
+ beq _0224C726
+ b _0224C732
+_0224C706:
+ mov r2, #1
+ lsl r2, r2, #8
+ cmp r3, r2
+ bgt _0224C716
+ bge _0224C726
+ cmp r3, #0xff
+ beq _0224C726
+ b _0224C732
+_0224C716:
+ add r1, r2, #7
+ cmp r3, r1
+ bgt _0224C720
+ beq _0224C726
+ b _0224C732
+_0224C720:
+ add r2, #0x11
+ cmp r3, r2
+ bne _0224C732
+_0224C726:
+ ldr r1, _0224C73C ; =0x0000213C
+ ldr r1, [r0, r1]
+ mov r0, #2
+ lsl r0, r0, #8
+ and r0, r1
+ bx lr
+_0224C732:
+ mov r0, #1
+ bx lr
+ nop
+_0224C738: .word 0x000003DE
+_0224C73C: .word 0x0000213C
+
+ thumb_func_start MOD11_0224C740
+MOD11_0224C740: ; 0x0224C740
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ cmp r2, #0x1b
+ bne _0224C756
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ ldr r0, _0224C80C ; =0x00002D64
+ ldrb r4, [r1, r0]
+ b _0224C76A
+_0224C756:
+ cmp r2, #0x1c
+ bne _0224C766
+ mov r0, #0xc0
+ mul r0, r6
+ add r1, r5, r0
+ ldr r0, _0224C810 ; =0x00002D65
+ ldrb r4, [r1, r0]
+ b _0224C76A
+_0224C766:
+ bl ErrorHandling
+_0224C76A:
+ mov r0, #0xc0
+ mul r0, r6
+ mov r2, #0xb5
+ add r1, r5, r0
+ lsl r2, r2, #6
+ ldrh r3, [r1, r2]
+ ldr r0, _0224C814 ; =0x000001ED
+ cmp r3, r0
+ bne _0224C806
+ add r0, r2, #0
+ add r0, #0x27
+ ldrb r0, [r1, r0]
+ cmp r0, #0x79
+ bne _0224C806
+ add r2, #0x78
+ ldrh r1, [r1, r2]
+ add r0, r5, #0
+ mov r2, #1
+ bl MOD11_0224C12C
+ sub r0, #0x7d
+ cmp r0, #0xf
+ bhi _0224C804
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0224C7A4: ; jump table
+ .short _0224C7C4 - _0224C7A4 - 2 ; case 0
+ .short _0224C7C8 - _0224C7A4 - 2 ; case 1
+ .short _0224C7CC - _0224C7A4 - 2 ; case 2
+ .short _0224C7D0 - _0224C7A4 - 2 ; case 3
+ .short _0224C7D4 - _0224C7A4 - 2 ; case 4
+ .short _0224C7D8 - _0224C7A4 - 2 ; case 5
+ .short _0224C7DC - _0224C7A4 - 2 ; case 6
+ .short _0224C7E0 - _0224C7A4 - 2 ; case 7
+ .short _0224C7E4 - _0224C7A4 - 2 ; case 8
+ .short _0224C7E8 - _0224C7A4 - 2 ; case 9
+ .short _0224C7EC - _0224C7A4 - 2 ; case 10
+ .short _0224C7F0 - _0224C7A4 - 2 ; case 11
+ .short _0224C7F4 - _0224C7A4 - 2 ; case 12
+ .short _0224C7F8 - _0224C7A4 - 2 ; case 13
+ .short _0224C7FC - _0224C7A4 - 2 ; case 14
+ .short _0224C800 - _0224C7A4 - 2 ; case 15
+_0224C7C4:
+ mov r4, #0xa
+ b _0224C806
+_0224C7C8:
+ mov r4, #0xb
+ b _0224C806
+_0224C7CC:
+ mov r4, #0xd
+ b _0224C806
+_0224C7D0:
+ mov r4, #0xc
+ b _0224C806
+_0224C7D4:
+ mov r4, #0xf
+ b _0224C806
+_0224C7D8:
+ mov r4, #1
+ b _0224C806
+_0224C7DC:
+ mov r4, #3
+ b _0224C806
+_0224C7E0:
+ mov r4, #4
+ b _0224C806
+_0224C7E4:
+ mov r4, #2
+ b _0224C806
+_0224C7E8:
+ mov r4, #0xe
+ b _0224C806
+_0224C7EC:
+ mov r4, #6
+ b _0224C806
+_0224C7F0:
+ mov r4, #5
+ b _0224C806
+_0224C7F4:
+ mov r4, #7
+ b _0224C806
+_0224C7F8:
+ mov r4, #0x10
+ b _0224C806
+_0224C7FC:
+ mov r4, #0x11
+ b _0224C806
+_0224C800:
+ mov r4, #8
+ b _0224C806
+_0224C804:
+ mov r4, #0
+_0224C806:
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+ nop
+_0224C80C: .word 0x00002D64
+_0224C810: .word 0x00002D65
+_0224C814: .word 0x000001ED
+
+ thumb_func_start MOD11_0224C818
+MOD11_0224C818: ; 0x0224C818
+ lsl r1, r1, #3
+ add r3, r0, r1
+ mov r2, #0
+ mov r0, #0x37
+ add r1, r2, #0
+ lsl r0, r0, #4
+_0224C824:
+ add r2, r2, #1
+ strh r1, [r3, r0]
+ add r3, r3, #2
+ cmp r2, #4
+ blt _0224C824
+ bx lr
+
+ thumb_func_start MOD11_0224C830
+MOD11_0224C830: ; 0x0224C830
+ add r1, r0, r1
+ mov r0, #0x39
+ mov r2, #0
+ lsl r0, r0, #4
+ strb r2, [r1, r0]
+ bx lr
+
+ thumb_func_start MOD11_0224C83C
+MOD11_0224C83C: ; 0x0224C83C
+ lsl r1, r1, #1
+ add r1, r0, r1
+ mov r0, #0xe5
+ mov r2, #0
+ lsl r0, r0, #2
+ strh r2, [r1, r0]
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0224C84C
+MOD11_0224C84C: ; 0x0224C84C
+ push {r4, r5, r6, lr}
+ add r4, r2, #0
+ add r3, r0, #0
+ mov r2, #0xc0
+ add r5, r1, #0
+ mul r1, r2
+ ldr r6, _0224C8BC ; =0x00002D67
+ add r1, r3, r1
+ ldrb r1, [r1, r6]
+ mov r0, #0xff
+ cmp r1, #0x3b
+ beq _0224C890
+ cmp r1, #0x24
+ beq _0224C890
+ cmp r1, #0x79
+ beq _0224C890
+ mul r2, r4
+ add r2, r3, r2
+ ldrb r2, [r2, r6]
+ cmp r2, #0x3b
+ beq _0224C890
+ cmp r2, #0x24
+ beq _0224C890
+ cmp r2, #0x79
+ beq _0224C890
+ bl FUN_0201B9EC
+ mov r1, #1
+ tst r0, r1
+ beq _0224C88C
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+_0224C88C:
+ add r0, r5, #0
+ pop {r4, r5, r6, pc}
+_0224C890:
+ cmp r1, #0x3b
+ beq _0224C8A0
+ cmp r1, #0x24
+ beq _0224C8A0
+ cmp r1, #0x79
+ beq _0224C8A0
+ add r0, r5, #0
+ pop {r4, r5, r6, pc}
+_0224C8A0:
+ mov r1, #0xc0
+ mul r1, r4
+ add r2, r3, r1
+ ldr r1, _0224C8BC ; =0x00002D67
+ ldrb r1, [r2, r1]
+ cmp r1, #0x3b
+ beq _0224C8B8
+ cmp r1, #0x24
+ beq _0224C8B8
+ cmp r1, #0x79
+ beq _0224C8B8
+ add r0, r4, #0
+_0224C8B8:
+ pop {r4, r5, r6, pc}
+ nop
+_0224C8BC: .word 0x00002D67
+
+ thumb_func_start MOD11_0224C8C0
+MOD11_0224C8C0: ; 0x0224C8C0
+ lsl r1, r1, #4
+ add r1, r0, r1
+ ldr r0, _0224C8E4 ; =0x000003DE
+ ldr r3, _0224C8E8 ; =0x0225E260
+ ldrh r1, [r1, r0]
+ mov r2, #0
+_0224C8CC:
+ ldrh r0, [r3]
+ cmp r0, r1
+ bne _0224C8D6
+ mov r0, #1
+ bx lr
+_0224C8D6:
+ add r2, r2, #1
+ add r3, r3, #2
+ cmp r2, #6
+ blo _0224C8CC
+ mov r0, #0
+ bx lr
+ nop
+_0224C8E4: .word 0x000003DE
+_0224C8E8: .word 0x0225E260
+
+ thumb_func_start MOD11_0224C8EC
+MOD11_0224C8EC: ; 0x0224C8EC
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r2, #0
+ ldr r2, _0224CA58 ; =0x00000137
+ add r7, r0, #0
+ add r4, r1, #0
+ cmp r3, r2
+ bgt _0224C904
+ blt _0224C8FE
+ b _0224CA00
+_0224C8FE:
+ cmp r3, #0xed
+ beq _0224C9A6
+ b _0224CA52
+_0224C904:
+ add r0, r2, #0
+ add r0, #0x34
+ cmp r3, r0
+ bgt _0224C914
+ add r2, #0x34
+ cmp r3, r2
+ beq _0224C91C
+ b _0224CA52
+_0224C914:
+ add r2, #0x8a
+ cmp r3, r2
+ beq _0224C928
+ b _0224CA52
+_0224C91C:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02249E04
+ add r5, r0, #0
+ b _0224CA54
+_0224C928:
+ add r0, r4, #0
+ add r1, r6, #0
+ bl MOD11_02249D90
+ sub r0, #0x7d
+ cmp r0, #0xf
+ bhi _0224C9A2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0224C942: ; jump table
+ .short _0224C982 - _0224C942 - 2 ; case 0
+ .short _0224C986 - _0224C942 - 2 ; case 1
+ .short _0224C98E - _0224C942 - 2 ; case 2
+ .short _0224C98A - _0224C942 - 2 ; case 3
+ .short _0224C996 - _0224C942 - 2 ; case 4
+ .short _0224C962 - _0224C942 - 2 ; case 5
+ .short _0224C96A - _0224C942 - 2 ; case 6
+ .short _0224C96E - _0224C942 - 2 ; case 7
+ .short _0224C966 - _0224C942 - 2 ; case 8
+ .short _0224C992 - _0224C942 - 2 ; case 9
+ .short _0224C976 - _0224C942 - 2 ; case 10
+ .short _0224C972 - _0224C942 - 2 ; case 11
+ .short _0224C97A - _0224C942 - 2 ; case 12
+ .short _0224C99A - _0224C942 - 2 ; case 13
+ .short _0224C99E - _0224C942 - 2 ; case 14
+ .short _0224C97E - _0224C942 - 2 ; case 15
+_0224C962:
+ mov r5, #1
+ b _0224CA54
+_0224C966:
+ mov r5, #2
+ b _0224CA54
+_0224C96A:
+ mov r5, #3
+ b _0224CA54
+_0224C96E:
+ mov r5, #4
+ b _0224CA54
+_0224C972:
+ mov r5, #5
+ b _0224CA54
+_0224C976:
+ mov r5, #6
+ b _0224CA54
+_0224C97A:
+ mov r5, #7
+ b _0224CA54
+_0224C97E:
+ mov r5, #8
+ b _0224CA54
+_0224C982:
+ mov r5, #0xa
+ b _0224CA54
+_0224C986:
+ mov r5, #0xb
+ b _0224CA54
+_0224C98A:
+ mov r5, #0xc
+ b _0224CA54
+_0224C98E:
+ mov r5, #0xd
+ b _0224CA54
+_0224C992:
+ mov r5, #0xe
+ b _0224CA54
+_0224C996:
+ mov r5, #0xf
+ b _0224CA54
+_0224C99A:
+ mov r5, #0x10
+ b _0224CA54
+_0224C99E:
+ mov r5, #0x11
+ b _0224CA54
+_0224C9A2:
+ mov r5, #0
+ b _0224CA54
+_0224C9A6:
+ ldr r0, _0224CA5C ; =0x00002D54
+ add r1, r4, r0
+ mov r0, #0xc0
+ mul r0, r6
+ ldr r4, [r1, r0]
+ lsl r0, r4, #2
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r5, r0, #0x1a
+ lsl r0, r4, #7
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r3, r0, #0x1b
+ lsl r0, r4, #0xc
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r2, r0, #0x1c
+ lsl r0, r4, #0x11
+ lsr r0, r0, #0x1b
+ lsl r0, r0, #0x1f
+ lsr r1, r0, #0x1d
+ lsl r0, r4, #0x1b
+ lsl r4, r4, #0x16
+ lsr r4, r4, #0x1b
+ lsr r6, r0, #0x1b
+ mov r0, #1
+ lsl r4, r4, #0x1f
+ and r0, r6
+ lsr r4, r4, #0x1e
+ orr r0, r4
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ add r1, r5, #0
+ orr r1, r0
+ mov r0, #0xf
+ mul r0, r1
+ mov r1, #0x3f
+ blx _s32_div_f
+ add r5, r0, #1
+ cmp r5, #9
+ blt _0224CA54
+ add r5, r5, #1
+ b _0224CA54
+_0224CA00:
+ mov r2, #0xd
+ str r2, [sp]
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224CA54
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _0224CA54
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ ldr r1, _0224CA60 ; =0x000080FF
+ tst r1, r0
+ beq _0224CA54
+ mov r1, #3
+ tst r1, r0
+ beq _0224CA38
+ mov r5, #0xb
+_0224CA38:
+ mov r1, #0xc
+ tst r1, r0
+ beq _0224CA40
+ mov r5, #5
+_0224CA40:
+ mov r1, #0x30
+ tst r1, r0
+ beq _0224CA48
+ mov r5, #0xa
+_0224CA48:
+ mov r1, #0xc0
+ tst r0, r1
+ beq _0224CA54
+ mov r5, #0xf
+ b _0224CA54
+_0224CA52:
+ mov r5, #0
+_0224CA54:
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224CA58: .word 0x00000137
+_0224CA5C: .word 0x00002D54
+_0224CA60: .word 0x000080FF
+
+ thumb_func_start MOD11_0224CA64
+MOD11_0224CA64: ; 0x0224CA64
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ mov r1, #0x69
+ mov r0, #5
+ lsl r1, r1, #2
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r2, #0x69
+ mov r0, #0
+ add r1, r4, #0
+ lsl r2, r2, #2
+ blx MIi_CpuClearFast
+ mov r0, #0x65
+ ldrb r1, [r5]
+ lsl r0, r0, #2
+ strb r1, [r4, r0]
+ ldrb r1, [r5, #1]
+ add r0, r0, #1
+ strb r1, [r4, r0]
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CA94
+MOD11_0224CA94: ; 0x0224CA94
+ push {r4, r5, r6, lr}
+ sub sp, #0x28
+ add r5, r0, #0
+ add r4, r1, #0
+ add r6, r2, #0
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _0224CB2C
+ sub r1, #0x8b
+ ldrb r1, [r4, r1]
+ mov r0, #1
+ tst r0, r1
+ beq _0224CAC0
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ beq _0224CB2C
+_0224CAC0:
+ ldr r0, _0224CB30 ; =0x00000195
+ ldr r1, _0224CB34 ; =0x0225E818
+ ldrb r2, [r4, r0]
+ sub r0, r0, #1
+ ldrb r1, [r1, r2]
+ str r1, [sp]
+ mov r1, #5
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp, #8]
+ ldrb r0, [r4, r0]
+ str r0, [sp, #0xc]
+ add r0, r5, #0
+ str r6, [sp, #0x10]
+ bl MOD11_02230078
+ str r0, [sp, #0x1c]
+ add r0, r5, #0
+ bl MOD11_022300CC
+ str r0, [sp, #0x20]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ add r0, sp, #0
+ bl MOD08_02229918
+ add r1, r4, #0
+ add r1, #0x88
+ str r0, [r1]
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #0x64
+ bl MOD08_0222A00C
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #2
+ bl MOD08_0222A018
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #0
+ bl MOD08_02229FE4
+ add r4, #0x88
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD08_0222A008
+_0224CB2C:
+ add sp, #0x28
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224CB30: .word 0x00000195
+_0224CB34: .word 0x0225E818
+
+ thumb_func_start MOD11_0224CB38
+MOD11_0224CB38: ; 0x0224CB38
+ push {r3, lr}
+ add r2, r1, #0
+ add r2, #0x94
+ ldrb r2, [r2]
+ cmp r2, #0
+ beq _0224CB4C
+ lsl r3, r2, #2
+ ldr r2, _0224CB50 ; =0x0225E70C
+ ldr r2, [r2, r3]
+ blx r2
+_0224CB4C:
+ pop {r3, pc}
+ nop
+_0224CB50: .word 0x0225E70C
+
+ thumb_func_start MOD11_0224CB54
+MOD11_0224CB54: ; 0x0224CB54
+ push {r4, lr}
+ add r4, r1, #0
+ cmp r2, #2
+ beq _0224CB64
+ add r0, r4, #0
+ add r0, #0x28
+ bl MOD11_02257030
+_0224CB64:
+ add r0, r4, #0
+ bl MOD11_0225468C
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CB74
+MOD11_0224CB74: ; 0x0224CB74
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CB78
+MOD11_0224CB78: ; 0x0224CB78
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_0224D550
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #1
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0224CB98
+MOD11_0224CB98: ; 0x0224CB98
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224D574
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CBAC
+MOD11_0224CBAC: ; 0x0224CBAC
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224D738
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CBC0
+MOD11_0224CBC0: ; 0x0224CBC0
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224D87C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CBD4
+MOD11_0224CBD4: ; 0x0224CBD4
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224DA2C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CBE8
+MOD11_0224CBE8: ; 0x0224CBE8
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224DAE8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CBFC
+MOD11_0224CBFC: ; 0x0224CBFC
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4, #0x20]
+ bl FUN_02007534
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #7
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CC20
+MOD11_0224CC20: ; 0x0224CC20
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224DB4C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CC34
+MOD11_0224CC34: ; 0x0224CC34
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224DCE4
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CC48
+MOD11_0224CC48: ; 0x0224CC48
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224DD44
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CC58
+MOD11_0224CC58: ; 0x0224CC58
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224DD8C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CC6C
+MOD11_0224CC6C: ; 0x0224CC6C
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224DE50
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CC80
+MOD11_0224CC80: ; 0x0224CC80
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224DF18
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CC90
+MOD11_0224CC90: ; 0x0224CC90
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r4, #0
+ add r6, #0x94
+ add r1, r6, #0
+ add r1, #0x29
+ ldrb r1, [r1]
+ add r5, r0, #0
+ bl MOD11_022312B8
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0224DF60
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CCB8
+MOD11_0224CCB8: ; 0x0224CCB8
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E034
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CCCC
+MOD11_0224CCCC: ; 0x0224CCCC
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E0A4
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CCE0
+MOD11_0224CCE0: ; 0x0224CCE0
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E130
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CCF4
+MOD11_0224CCF4: ; 0x0224CCF4
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E1DC
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CD08
+MOD11_0224CD08: ; 0x0224CD08
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E248
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CD1C
+MOD11_0224CD1C: ; 0x0224CD1C
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E28C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CD30
+MOD11_0224CD30: ; 0x0224CD30
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E2F4
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CD44
+MOD11_0224CD44: ; 0x0224CD44
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E344
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CD58
+MOD11_0224CD58: ; 0x0224CD58
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4, #0x20]
+ mov r1, #6
+ bl FUN_0200782C
+ cmp r0, #1
+ bne _0224CD7A
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x17
+ bl MOD11_022567B8
+ b _0224CD82
+_0224CD7A:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0224E3E0
+_0224CD82:
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CD8C
+MOD11_0224CD8C: ; 0x0224CD8C
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E410
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CDA0
+MOD11_0224CDA0: ; 0x0224CDA0
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E49C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CDB4
+MOD11_0224CDB4: ; 0x0224CDB4
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E510
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CDC8
+MOD11_0224CDC8: ; 0x0224CDC8
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E5F8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CDDC
+MOD11_0224CDDC: ; 0x0224CDDC
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224E628
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CDEC
+MOD11_0224CDEC: ; 0x0224CDEC
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E65C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE00
+MOD11_0224CE00: ; 0x0224CE00
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E6FC
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE14
+MOD11_0224CE14: ; 0x0224CE14
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E734
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE28
+MOD11_0224CE28: ; 0x0224CE28
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E790
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE3C
+MOD11_0224CE3C: ; 0x0224CE3C
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E7E8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE50
+MOD11_0224CE50: ; 0x0224CE50
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224E840
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE60
+MOD11_0224CE60: ; 0x0224CE60
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E894
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE74
+MOD11_0224CE74: ; 0x0224CE74
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224E8EC
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE84
+MOD11_0224CE84: ; 0x0224CE84
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E924
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CE98
+MOD11_0224CE98: ; 0x0224CE98
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224E9C0
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224CEAC
+MOD11_0224CEAC: ; 0x0224CEAC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r6, r1, #0
+ mov r2, #0x65
+ add r6, #0x94
+ lsl r2, r2, #2
+ str r1, [sp, #4]
+ ldrb r1, [r1, r2]
+ ldrb r2, [r6, #1]
+ str r0, [sp]
+ lsl r2, r2, #0x1c
+ lsr r2, r2, #0x1c
+ bl MOD11_02230014
+ add r7, r0, #0
+ mov r0, #2
+ ldr r1, [r6, #0x1c]
+ lsl r0, r0, #0x14
+ tst r0, r1
+ bne _0224CF14
+ add r0, r6, #0
+ add r5, r6, #0
+ str r0, [sp, #8]
+ add r0, #0x16
+ mov r4, #0
+ add r5, #0xe
+ str r0, [sp, #8]
+_0224CEE2:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldrb r1, [r6, #1]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1c
+ tst r0, r1
+ bne _0224CF0C
+ add r1, r4, #0
+ add r0, r7, #0
+ add r1, #0x36
+ add r2, r5, #0
+ bl FUN_02067830
+ ldr r2, [sp, #8]
+ add r1, r4, #0
+ add r0, r7, #0
+ add r1, #0x3a
+ add r2, r2, r4
+ bl FUN_02067830
+_0224CF0C:
+ add r4, r4, #1
+ add r5, r5, #2
+ cmp r4, #4
+ blt _0224CEE2
+_0224CF14:
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bl FUN_0206A92C
+ ldr r1, [r6, #8]
+ tst r0, r1
+ bne _0224CF30
+ add r2, r6, #0
+ add r0, r7, #0
+ mov r1, #6
+ add r2, #0xc
+ bl FUN_02067830
+_0224CF30:
+ add r0, r7, #0
+ mov r1, #0xa2
+ add r2, r6, #2
+ bl FUN_02067830
+ add r0, r7, #0
+ mov r1, #0x9f
+ add r2, r6, #4
+ bl FUN_02067830
+ mov r2, #0x65
+ ldr r1, [sp, #4]
+ lsl r2, r2, #2
+ ldrb r1, [r1, r2]
+ ldrb r2, [r6]
+ ldr r0, [sp]
+ bl MOD11_022567B8
+ ldr r0, [sp, #4]
+ bl MOD11_0224D548
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CF60
+MOD11_0224CF60: ; 0x0224CF60
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_0222FF74
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_02230094
+ ldr r2, _0224CFB0 ; =0x00000196
+ ldrb r1, [r4, r2]
+ cmp r1, #0
+ bne _0224CF94
+ mov r1, #8
+ and r1, r6
+ bne _0224CF8C
+ cmp r1, #0
+ bne _0224CF94
+ sub r1, r2, #1
+ ldrb r1, [r4, r1]
+ cmp r1, #4
+ beq _0224CF94
+_0224CF8C:
+ ldr r1, _0224CFB4 ; =0xFFFFF300
+ mov r2, #0
+ bl MOD11_02259098
+_0224CF94:
+ mov r1, #0x65
+ add r2, r4, #0
+ lsl r1, r1, #2
+ add r2, #0x94
+ ldrb r1, [r4, r1]
+ ldrb r2, [r2]
+ add r0, r5, #0
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+ nop
+_0224CFB0: .word 0x00000196
+_0224CFB4: .word 0xFFFFF300
+
+ thumb_func_start MOD11_0224CFB8
+MOD11_0224CFB8: ; 0x0224CFB8
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ add r0, #0x28
+ bl MOD11_02257238
+ add r0, r4, #0
+ bl MOD11_0225468C
+ mov r1, #0x65
+ add r2, r4, #0
+ lsl r1, r1, #2
+ add r2, #0x94
+ ldrb r1, [r4, r1]
+ ldrb r2, [r2]
+ add r0, r5, #0
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224CFE8
+MOD11_0224CFE8: ; 0x0224CFE8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r7, r1, #0
+ mov r1, #0
+ str r1, [sp, #8]
+ mov r1, #0x65
+ lsl r1, r1, #2
+ add r4, r7, #0
+ ldrb r1, [r7, r1]
+ str r0, [sp]
+ add r4, #0x94
+ bl MOD11_0222FFC8
+ mov r5, #0
+ str r0, [sp, #4]
+ cmp r0, #0
+ ble _0224D04A
+_0224D00A:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r7, r1]
+ ldr r0, [sp]
+ add r2, r5, #0
+ bl MOD11_02230014
+ ldrb r1, [r4, #1]
+ add r6, r0, #0
+ cmp r1, #0x68
+ bne _0224D024
+ mov r0, #0
+ b _0224D02C
+_0224D024:
+ mov r1, #0xa
+ mov r2, #0
+ bl FUN_020671BC
+_0224D02C:
+ ldrh r1, [r4, #2]
+ cmp r1, #0xd7
+ bne _0224D038
+ bne _0224D042
+ cmp r0, #0x2b
+ beq _0224D042
+_0224D038:
+ add r0, r6, #0
+ mov r1, #0x9f
+ add r2, sp, #8
+ bl FUN_02067830
+_0224D042:
+ ldr r0, [sp, #4]
+ add r5, r5, #1
+ cmp r5, r0
+ blt _0224D00A
+_0224D04A:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r7, r1]
+ ldrb r2, [r4]
+ ldr r0, [sp]
+ bl MOD11_022567B8
+ add r0, r7, #0
+ bl MOD11_0224D548
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224D064
+MOD11_0224D064: ; 0x0224D064
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EA74
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D078
+MOD11_0224D078: ; 0x0224D078
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EAAC
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D08C
+MOD11_0224D08C: ; 0x0224D08C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ str r0, [sp, #0x10]
+ add r5, r1, #0
+ ldr r0, _0224D180 ; =0x00000195
+ add r4, r5, #0
+ ldrb r1, [r5, r0]
+ mov r0, #1
+ add r4, #0x94
+ tst r0, r1
+ beq _0224D0A6
+ mov r6, #2
+ b _0224D0A8
+_0224D0A6:
+ mov r6, #0
+_0224D0A8:
+ ldrb r0, [r4, #5]
+ lsl r3, r6, #0x18
+ lsr r3, r3, #0x18
+ str r0, [sp]
+ ldrb r0, [r4, #1]
+ str r0, [sp, #4]
+ ldr r0, [r4, #8]
+ str r0, [sp, #8]
+ ldrh r1, [r4, #2]
+ ldrb r2, [r4, #4]
+ add r0, sp, #0x14
+ bl FUN_02068C00
+ ldr r0, [r5, #0x20]
+ bl FUN_020081C0
+ add r7, r0, #0
+ add r3, sp, #0x14
+ add r2, r7, #0
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldr r0, [r5, #0x20]
+ bl FUN_020080D0
+ ldr r0, [sp, #0x10]
+ bl MOD11_02230130
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ bl MOD11_022312DC
+ add r3, r0, #0
+ ldr r0, [r4, #8]
+ mov r2, #5
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r6, [sp, #8]
+ ldrh r0, [r7, #6]
+ str r0, [sp, #0xc]
+ ldrh r0, [r7]
+ ldrh r1, [r7, #2]
+ bl FUN_02012560
+ ldr r0, [sp, #0x10]
+ bl MOD11_02230130
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrh r2, [r7]
+ bl MOD11_022312F0
+ ldr r0, [sp, #0x10]
+ bl MOD11_02230130
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrh r2, [r7, #4]
+ bl MOD11_02231308
+ ldr r0, [r4, #8]
+ lsl r2, r6, #0x18
+ str r0, [sp]
+ ldrh r0, [r4, #2]
+ ldrb r1, [r4, #4]
+ ldrb r3, [r4, #1]
+ lsr r2, r2, #0x18
+ bl FUN_02068E88
+ add r6, r0, #0
+ ldr r0, [sp, #0x10]
+ bl MOD11_02230130
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ add r2, r6, #0
+ bl MOD11_02231320
+ ldr r0, _0224D180 ; =0x00000195
+ mov r1, #1
+ ldrb r0, [r5, r0]
+ bl MOD08_0222A6A4
+ add r2, r0, #0
+ ldr r0, [r5, #0x20]
+ mov r1, #1
+ add r2, r6, r2
+ bl FUN_02007558
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ ldr r0, [sp, #0x10]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl MOD11_0224D548
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224D180: .word 0x00000195
+
+ thumb_func_start MOD11_0224D184
+MOD11_0224D184: ; 0x0224D184
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_02230FCC
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x2e
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0224D1A4
+MOD11_0224D1A4: ; 0x0224D1A4
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ ldr r1, _0224D218 ; =0x00000196
+ add r5, r0, #0
+ ldrb r1, [r4, r1]
+ cmp r1, #0
+ bne _0224D200
+ bl MOD11_02230094
+ mov r1, #0
+ add r6, r0, #0
+ add r2, r1, #0
+ add r3, r1, #0
+ bl MOD11_02258820
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ bl MOD11_022302BC
+ add r1, r0, #0
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ cmp r1, r0
+ beq _0224D1EC
+ add r0, r5, #0
+ bl MOD11_02231380
+ bl MOD11_02258184
+_0224D1EC:
+ add r0, r4, #0
+ add r0, #0x28
+ bl MOD11_02257238
+ add r0, r6, #0
+ bl MOD11_02258E30
+ add r0, r4, #0
+ bl MOD11_0225468C
+_0224D200:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x2f
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+ nop
+_0224D218: .word 0x00000196
+
+ thumb_func_start MOD11_0224D21C
+MOD11_0224D21C: ; 0x0224D21C
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EAEC
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D230
+MOD11_0224D230: ; 0x0224D230
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EB34
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D244
+MOD11_0224D244: ; 0x0224D244
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r6, r4, #0
+ add r5, r0, #0
+ add r6, #0x94
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0224D268
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0224EB6C
+ b _0224D276
+_0224D268:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x32
+ bl MOD11_022567B8
+_0224D276:
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224D280
+MOD11_0224D280: ; 0x0224D280
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r6, r4, #0
+ add r5, r0, #0
+ add r6, #0x94
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0224D2A4
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r6, #0
+ bl MOD11_0224EBB8
+ b _0224D2B2
+_0224D2A4:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x33
+ bl MOD11_022567B8
+_0224D2B2:
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224D2BC
+MOD11_0224D2BC: ; 0x0224D2BC
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_02230078
+ add r6, r0, #0
+ add r0, r5, #0
+ bl MOD11_02230080
+ add r7, r0, #0
+ add r0, r5, #0
+ bl MOD11_022300CC
+ add r2, r0, #0
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_0225C91C
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x34
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224D2F8
+MOD11_0224D2F8: ; 0x0224D2F8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_02230080
+ bl MOD11_0225C9A0
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x35
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0224D31C
+MOD11_0224D31C: ; 0x0224D31C
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r5, #0
+ add r4, #0x94
+ ldrb r1, [r4, #1]
+ add r6, r0, #0
+ cmp r1, #0
+ ldr r1, _0224D360 ; =0x00000196
+ bne _0224D33C
+ ldrb r1, [r5, r1]
+ cmp r1, #0
+ bne _0224D348
+ ldrh r1, [r4, #2]
+ bl MOD11_0223128C
+ b _0224D348
+_0224D33C:
+ ldrb r1, [r5, r1]
+ cmp r1, #0
+ beq _0224D348
+ ldrh r1, [r4, #2]
+ bl MOD11_0223128C
+_0224D348:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ add r0, r6, #0
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+ nop
+_0224D360: .word 0x00000196
+
+ thumb_func_start MOD11_0224D364
+MOD11_0224D364: ; 0x0224D364
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224EBF4
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D374
+MOD11_0224D374: ; 0x0224D374
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EC4C
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D388
+MOD11_0224D388: ; 0x0224D388
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224EC80
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D398
+MOD11_0224D398: ; 0x0224D398
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224ECB8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D3A8
+MOD11_0224D3A8: ; 0x0224D3A8
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224ECF0
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D3B8
+MOD11_0224D3B8: ; 0x0224D3B8
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224ED44
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D3CC
+MOD11_0224D3CC: ; 0x0224D3CC
+ push {r4, lr}
+ add r4, r1, #0
+ bl MOD11_0224ED98
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D3DC
+MOD11_0224D3DC: ; 0x0224D3DC
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EDEC
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D3F0
+MOD11_0224D3F0: ; 0x0224D3F0
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EE20
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D404
+MOD11_0224D404: ; 0x0224D404
+ push {r4, lr}
+ add r4, r1, #0
+ add r2, r4, #0
+ add r2, #0x94
+ bl MOD11_0224EE80
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0224D418
+MOD11_0224D418: ; 0x0224D418
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ mov r7, #0
+ str r1, [sp, #4]
+ str r1, [sp, #0x10]
+ add r1, #0x94
+ str r0, [sp]
+ str r1, [sp, #0x10]
+ str r7, [sp, #8]
+ bl MOD11_0222FF74
+ mov r1, #0x80
+ tst r0, r1
+ beq _0224D444
+ ldr r1, [sp, #0x10]
+ ldr r0, [sp]
+ ldr r1, [r1, #4]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl MOD11_02231468
+ b _0224D4FC
+_0224D444:
+ add r0, r7, #0
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _0224D4D2
+_0224D452:
+ ldr r0, [sp]
+ ldr r1, [sp, #0xc]
+ bl MOD11_0222FF88
+ add r6, r0, #0
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0224D4C0
+_0224D466:
+ add r0, r6, #0
+ add r1, r5, #0
+ bl FUN_0206B9B0
+ mov r1, #5
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0224D4B4
+ add r0, r4, #0
+ mov r1, #0x4c
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _0224D4B4
+ ldr r0, [sp]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _0224D4A8
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ ldr r1, [sp, #8]
+ add r0, r1, r0
+ str r0, [sp, #8]
+ b _0224D4B4
+_0224D4A8:
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r7, r0
+_0224D4B4:
+ add r0, r6, #0
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _0224D466
+_0224D4C0:
+ ldr r0, [sp, #0xc]
+ add r0, r0, #1
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ ldr r1, [sp, #0xc]
+ cmp r1, r0
+ blt _0224D452
+_0224D4D2:
+ cmp r7, #0
+ bne _0224D4E6
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ bne _0224D4E6
+ ldr r0, [sp]
+ mov r1, #3
+ bl MOD11_02231468
+ b _0224D4FC
+_0224D4E6:
+ cmp r7, #0
+ bne _0224D4F4
+ ldr r0, [sp]
+ mov r1, #2
+ bl MOD11_02231468
+ b _0224D4FC
+_0224D4F4:
+ ldr r0, [sp]
+ mov r1, #1
+ bl MOD11_02231468
+_0224D4FC:
+ mov r2, #0x65
+ ldr r1, [sp, #4]
+ lsl r2, r2, #2
+ ldrb r1, [r1, r2]
+ ldr r2, [sp, #0x10]
+ ldr r0, [sp]
+ ldrb r2, [r2]
+ bl MOD11_022567B8
+ ldr r0, [sp, #4]
+ bl MOD11_0224D548
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0224D518
+MOD11_0224D518: ; 0x0224D518
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ mov r1, #0
+ add r5, r0, #0
+ bl MOD11_0222FF6C
+ add r6, r0, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ add r0, r6, #0
+ bl FUN_02019548
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x42
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl MOD11_0224D548
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0224D548
+MOD11_0224D548: ; 0x0224D548
+ mov r1, #0
+ add r0, #0x94
+ strb r1, [r0]
+ bx lr
+
+ thumb_func_start MOD11_0224D550
+MOD11_0224D550: ; 0x0224D550
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #5
+ mov r1, #0x18
+ bl FUN_02016998
+ add r1, r0, #0
+ str r4, [r1]
+ mov r2, #0
+ strb r2, [r1, #0x14]
+ ldr r0, _0224D570 ; =MOD11_022530A0
+ strb r2, [r1, #0x15]
+ bl FUN_0200CA44
+ pop {r4, pc}
+ nop
+_0224D570: .word MOD11_022530A0
+
+ thumb_func_start MOD11_0224D574
+MOD11_0224D574: ; 0x0224D574
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x58
+ str r0, [sp, #0x24]
+ add r6, r1, #0
+ add r5, r2, #0
+ bl MOD11_02230068
+ str r0, [sp, #0x28]
+ ldr r0, [sp, #0x24]
+ bl MOD11_0222FF74
+ mov r0, #5
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r2, #0
+ ldr r0, _0224D720 ; =0x00000195
+ strb r2, [r4, #0x12]
+ ldrb r0, [r6, r0]
+ mov r1, #1
+ tst r0, r1
+ beq _0224D5CA
+ mov r0, #2
+ strb r0, [r4, #0x13]
+ ldr r0, [sp, #0x24]
+ bl MOD11_02230088
+ str r0, [r4, #0xc]
+ ldr r1, _0224D720 ; =0x00000195
+ ldr r0, [r0]
+ ldrb r2, [r6, r1]
+ mov r1, #1
+ and r2, r1
+ add r3, r2, #0
+ mov r1, #6
+ mul r3, r1
+ ldr r1, _0224D724 ; =0x0222D550
+ mov r2, #0x58
+ ldrsh r1, [r1, r3]
+ bl FUN_0200C714
+ b _0224D5F0
+_0224D5CA:
+ ldr r0, [sp, #0x24]
+ add r1, r2, #0
+ strb r2, [r4, #0x13]
+ bl MOD11_02230088
+ str r0, [r4, #0xc]
+ ldr r1, _0224D720 ; =0x00000195
+ ldr r0, [r0]
+ ldrb r2, [r6, r1]
+ mov r1, #1
+ and r2, r1
+ add r3, r2, #0
+ mov r1, #6
+ mul r3, r1
+ ldr r1, _0224D724 ; =0x0222D550
+ mov r2, #0x88
+ ldrsh r1, [r1, r3]
+ bl FUN_0200C714
+_0224D5F0:
+ ldrb r0, [r5, #1]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _0224D5FC
+ mov r0, #1
+ b _0224D5FE
+_0224D5FC:
+ mov r0, #0
+_0224D5FE:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ ldrb r0, [r5, #1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1b
+ str r0, [sp, #4]
+ ldr r0, [r5, #4]
+ str r0, [sp, #8]
+ ldrb r2, [r5, #1]
+ ldrh r1, [r5, #2]
+ ldrb r3, [r4, #0x13]
+ lsl r2, r2, #0x1e
+ add r0, sp, #0x48
+ lsr r2, r2, #0x1e
+ bl FUN_02068C00
+ ldr r0, [r5, #4]
+ str r0, [sp]
+ ldrb r3, [r5, #1]
+ ldrh r0, [r5, #2]
+ ldrb r2, [r4, #0x13]
+ lsl r1, r3, #0x1e
+ lsl r3, r3, #0x18
+ lsr r1, r1, #0x1e
+ lsr r3, r3, #0x1b
+ bl FUN_02068E88
+ str r0, [sp, #0x2c]
+ mov r0, #1
+ str r0, [sp]
+ add r0, sp, #0x30
+ ldrh r3, [r5, #2]
+ add r0, #2
+ mov r1, #0x8a
+ mov r2, #0
+ bl FUN_02006548
+ mov r0, #1
+ str r0, [sp]
+ add r0, sp, #0x30
+ ldrh r3, [r5, #2]
+ add r0, #1
+ mov r1, #0x90
+ mov r2, #0
+ bl FUN_02006548
+ mov r0, #1
+ str r0, [sp]
+ ldrh r3, [r5, #2]
+ add r0, sp, #0x30
+ mov r1, #0x8e
+ mov r2, #0
+ bl FUN_02006548
+ add r0, sp, #0x30
+ ldrh r1, [r5, #2]
+ add r0, #3
+ bl FUN_02069010
+ ldr r1, _0224D720 ; =0x00000195
+ mov r0, #6
+ ldrb r2, [r6, r1]
+ ldr r3, _0224D724 ; =0x0222D550
+ add r7, r2, #0
+ mul r7, r0
+ ldr r0, _0224D728 ; =0x0222D552
+ mov r2, #2
+ ldrsh r0, [r0, r7]
+ ldrsh r3, [r3, r7]
+ str r0, [sp]
+ ldr r0, _0224D72C ; =0x0222D554
+ ldrsh r0, [r0, r7]
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x2c]
+ str r0, [sp, #8]
+ add r0, sp, #0x30
+ ldrsb r2, [r0, r2]
+ str r2, [sp, #0xc]
+ mov r2, #1
+ ldrsb r2, [r0, r2]
+ str r2, [sp, #0x10]
+ ldrb r0, [r0]
+ add r2, sp, #0x48
+ str r0, [sp, #0x14]
+ sub r0, r1, #1
+ ldrb r0, [r6, r0]
+ ldr r1, [sp, #0x28]
+ str r0, [sp, #0x18]
+ add r0, sp, #0x30
+ add r0, #3
+ str r0, [sp, #0x1c]
+ mov r0, #0
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x24]
+ bl MOD11_02253A88
+ str r0, [r6, #0x20]
+ str r0, [r4, #8]
+ ldrb r0, [r4, #0x13]
+ cmp r0, #2
+ bne _0224D6D8
+ mov r3, #0
+ str r3, [sp]
+ mov r1, #8
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ bl FUN_02007E68
+_0224D6D8:
+ ldr r1, _0224D720 ; =0x00000195
+ ldrb r0, [r6, r1]
+ lsl r2, r0, #2
+ ldr r0, _0224D730 ; =0x0222D538
+ ldrsh r0, [r0, r2]
+ strh r0, [r4, #0x14]
+ ldr r0, [sp, #0x24]
+ str r0, [r4]
+ str r6, [r4, #4]
+ ldrb r0, [r5]
+ strb r0, [r4, #0x10]
+ sub r0, r1, #1
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #0x11]
+ ldrh r0, [r5, #2]
+ strh r0, [r4, #0x16]
+ ldr r0, [r5, #8]
+ str r0, [r4, #0x18]
+ ldrb r0, [r6, r1]
+ str r0, [r4, #0x1c]
+ ldr r0, [r5, #4]
+ bl FUN_02068884
+ str r0, [r4, #0x24]
+ ldrb r0, [r5, #1]
+ add r1, r4, #0
+ mov r2, #0
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ str r0, [r4, #0x28]
+ ldr r0, _0224D734 ; =MOD11_0224EEA0
+ bl FUN_0200CA44
+ add sp, #0x58
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224D720: .word 0x00000195
+_0224D724: .word 0x0222D550
+_0224D728: .word 0x0222D552
+_0224D72C: .word 0x0222D554
+_0224D730: .word 0x0222D538
+_0224D734: .word MOD11_0224EEA0
+
+ thumb_func_start MOD11_0224D738
+MOD11_0224D738: ; 0x0224D738
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0
+ add r6, r1, #0
+ add r5, r2, #0
+ bl MOD11_0222FF74
+ mov r0, #5
+ mov r1, #0x9c
+ bl FUN_02016998
+ add r4, r0, #0
+ ldr r0, _0224D874 ; =0x00000195
+ ldrb r1, [r6, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _0224D75E
+ mov r1, #2
+ b _0224D760
+_0224D75E:
+ mov r1, #0
+_0224D760:
+ add r0, r4, #0
+ add r0, #0x84
+ strb r1, [r0]
+ ldrb r0, [r5, #1]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _0224D772
+ mov r0, #1
+ b _0224D774
+_0224D772:
+ mov r0, #0
+_0224D774:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ ldrb r0, [r5, #1]
+ add r3, r4, #0
+ add r3, #0x84
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1b
+ str r0, [sp, #4]
+ ldr r0, [r5, #4]
+ str r0, [sp, #8]
+ ldrb r2, [r5, #1]
+ add r0, r4, #0
+ ldrh r1, [r5, #2]
+ lsl r2, r2, #0x1e
+ ldrb r3, [r3]
+ add r0, #0x14
+ lsr r2, r2, #0x1e
+ bl FUN_02068C00
+ ldr r0, [r5, #4]
+ add r2, r4, #0
+ str r0, [sp]
+ ldrb r3, [r5, #1]
+ add r2, #0x84
+ ldrh r0, [r5, #2]
+ lsl r1, r3, #0x1e
+ lsl r3, r3, #0x18
+ ldrb r2, [r2]
+ lsr r1, r1, #0x1e
+ lsr r3, r3, #0x1b
+ bl FUN_02068E88
+ add r1, r4, #0
+ add r1, #0x85
+ strb r0, [r1]
+ mov r0, #1
+ str r0, [sp]
+ add r0, r4, #0
+ ldrh r3, [r5, #2]
+ add r0, #0x90
+ mov r1, #0x8a
+ mov r2, #0
+ bl FUN_02006548
+ mov r0, #1
+ str r0, [sp]
+ add r0, r4, #0
+ ldrh r3, [r5, #2]
+ add r0, #0x91
+ mov r1, #0x90
+ mov r2, #0
+ bl FUN_02006548
+ mov r0, #1
+ str r0, [sp]
+ add r0, r4, #0
+ ldrh r3, [r5, #2]
+ add r0, #0x93
+ mov r1, #0x8e
+ mov r2, #0
+ bl FUN_02006548
+ add r0, r6, #0
+ bl MOD11_02253A78
+ str r7, [r4]
+ add r0, r4, #0
+ str r6, [r4, #4]
+ mov r1, #0
+ add r0, #0x83
+ strb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x96
+ strb r1, [r0]
+ add r0, r4, #0
+ ldrb r1, [r5]
+ add r0, #0x80
+ strb r1, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r2, [r6, r0]
+ add r1, r4, #0
+ add r1, #0x81
+ strb r2, [r1]
+ add r1, r4, #0
+ ldrh r2, [r5, #2]
+ add r1, #0x86
+ add r0, r0, #1
+ strh r2, [r1]
+ ldrb r1, [r6, r0]
+ add r0, r4, #0
+ add r0, #0x82
+ strb r1, [r0]
+ add r0, r4, #0
+ ldr r1, [r5, #8]
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r4, #0
+ ldr r1, [r5, #0xc]
+ add r0, #0x8c
+ strb r1, [r0]
+ ldr r0, [r5, #4]
+ bl FUN_02068884
+ add r1, r4, #0
+ add r1, #0x8d
+ strb r0, [r1]
+ add r0, r4, #0
+ ldr r1, [r5, #0x10]
+ add r0, #0x8e
+ strh r1, [r0]
+ ldrb r0, [r5, #1]
+ lsl r0, r0, #0x1d
+ lsr r1, r0, #0x1f
+ add r0, r4, #0
+ add r0, #0x92
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r2, #0
+ add r0, #0x94
+ strh r2, [r0]
+ ldr r0, _0224D878 ; =MOD11_0224F2DC
+ add r1, r4, #0
+ bl FUN_0200CA44
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224D874: .word 0x00000195
+_0224D878: .word MOD11_0224F2DC
+
+ thumb_func_start MOD11_0224D87C
+MOD11_0224D87C: ; 0x0224D87C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r7, r0, #0
+ add r6, r1, #0
+ add r4, r2, #0
+ bl MOD11_0222FF74
+ mov r0, #5
+ mov r1, #0x9c
+ bl FUN_02016998
+ add r5, r0, #0
+ add r1, r5, #0
+ mov r0, #0
+ add r1, #0x83
+ strb r0, [r1]
+ ldr r1, _0224DA24 ; =0x00000195
+ ldrb r2, [r6, r1]
+ mov r1, #1
+ tst r1, r2
+ beq _0224D8B0
+ add r0, r5, #0
+ mov r1, #2
+ add r0, #0x84
+ strb r1, [r0]
+ b _0224D8B6
+_0224D8B0:
+ add r1, r5, #0
+ add r1, #0x84
+ strb r0, [r1]
+_0224D8B6:
+ ldrb r0, [r4, #1]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _0224D8C2
+ mov r0, #1
+ b _0224D8C4
+_0224D8C2:
+ mov r0, #0
+_0224D8C4:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ ldrb r0, [r4, #1]
+ add r3, r5, #0
+ add r3, #0x84
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1b
+ str r0, [sp, #4]
+ ldr r0, [r4, #4]
+ str r0, [sp, #8]
+ ldrb r2, [r4, #1]
+ add r0, r5, #0
+ ldrh r1, [r4, #2]
+ lsl r2, r2, #0x1e
+ ldrb r3, [r3]
+ add r0, #0x14
+ lsr r2, r2, #0x1e
+ bl FUN_02068C00
+ ldr r0, [r4, #4]
+ add r2, r5, #0
+ str r0, [sp]
+ ldrb r3, [r4, #1]
+ add r2, #0x84
+ ldrh r0, [r4, #2]
+ lsl r1, r3, #0x1e
+ lsl r3, r3, #0x18
+ ldrb r2, [r2]
+ lsr r1, r1, #0x1e
+ lsr r3, r3, #0x1b
+ bl FUN_02068E88
+ add r1, r5, #0
+ add r1, #0x85
+ strb r0, [r1]
+ mov r0, #1
+ str r0, [sp]
+ add r0, r5, #0
+ ldrh r3, [r4, #2]
+ add r0, #0x90
+ mov r1, #0x8a
+ mov r2, #0
+ bl FUN_02006548
+ mov r0, #1
+ str r0, [sp]
+ add r0, r5, #0
+ ldrh r3, [r4, #2]
+ add r0, #0x91
+ mov r1, #0x90
+ mov r2, #0
+ bl FUN_02006548
+ mov r0, #1
+ str r0, [sp]
+ add r0, r5, #0
+ ldrh r3, [r4, #2]
+ add r0, #0x93
+ mov r1, #0x8e
+ mov r2, #0
+ bl FUN_02006548
+ add r0, r6, #0
+ bl MOD11_02253A78
+ str r7, [r5]
+ str r6, [r5, #4]
+ add r0, r5, #0
+ ldrb r1, [r4]
+ add r0, #0x80
+ strb r1, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r2, [r6, r0]
+ add r1, r5, #0
+ add r1, #0x81
+ strb r2, [r1]
+ add r1, r5, #0
+ ldrh r2, [r4, #2]
+ add r1, #0x86
+ add r0, r0, #1
+ strh r2, [r1]
+ ldrb r1, [r6, r0]
+ add r0, r5, #0
+ add r0, #0x82
+ strb r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r4, #8]
+ add r0, #0x88
+ str r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r4, #0xc]
+ add r0, #0x8c
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ bl FUN_02068884
+ add r1, r5, #0
+ add r1, #0x8d
+ strb r0, [r1]
+ add r0, r5, #0
+ ldr r1, [r4, #0x10]
+ add r0, #0x8e
+ strh r1, [r0]
+ ldrb r0, [r4, #1]
+ lsl r0, r0, #0x1d
+ lsr r1, r0, #0x1f
+ add r0, r5, #0
+ add r0, #0x92
+ strb r1, [r0]
+ add r0, r5, #0
+ ldr r1, [r4, #0x14]
+ add r0, #0x94
+ strh r1, [r0]
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0x96
+ strb r1, [r0]
+ add r0, r5, #0
+ ldr r2, [r4, #0x4c]
+ add r0, #0x98
+ str r2, [r0]
+ str r4, [sp, #0x18]
+ add r7, r5, #0
+ add r2, r4, #0
+ add r3, r5, #0
+_0224D9C2:
+ ldr r0, [sp, #0x18]
+ add r0, #0x50
+ ldrh r6, [r0]
+ add r0, r7, #0
+ add r0, #0x40
+ strh r6, [r0]
+ add r0, r4, r1
+ add r0, #0x58
+ ldrb r6, [r0]
+ add r0, r5, r1
+ str r0, [sp, #0x14]
+ add r0, #0x48
+ str r0, [sp, #0x14]
+ strb r6, [r0]
+ add r0, r4, r1
+ add r0, #0x5c
+ ldrb r6, [r0]
+ add r0, r5, r1
+ str r0, [sp, #0x10]
+ add r0, #0x4c
+ str r0, [sp, #0x10]
+ strb r6, [r0]
+ add r0, r4, r1
+ add r0, #0x60
+ ldrb r6, [r0]
+ add r0, r5, r1
+ str r0, [sp, #0xc]
+ add r0, #0x50
+ str r0, [sp, #0xc]
+ strb r6, [r0]
+ ldr r0, [r2, #0x64]
+ add r1, r1, #1
+ str r0, [r3, #0x54]
+ ldr r0, [sp, #0x18]
+ add r7, r7, #2
+ add r0, r0, #2
+ str r0, [sp, #0x18]
+ add r2, r2, #4
+ add r3, r3, #4
+ cmp r1, #4
+ blt _0224D9C2
+ ldr r0, _0224DA28 ; =MOD11_0224F7C4
+ add r1, r5, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224DA24: .word 0x00000195
+_0224DA28: .word MOD11_0224F7C4
+
+ thumb_func_start MOD11_0224DA2C
+MOD11_0224DA2C: ; 0x0224DA2C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x74
+ str r2, [sp]
+ bl FUN_02016998
+ add r2, r0, #0
+ str r5, [r2]
+ str r4, [r2, #4]
+ ldr r0, [r4, #0x20]
+ add r7, r2, #0
+ str r0, [r2, #8]
+ ldr r0, [sp]
+ add r5, r2, #0
+ ldrb r1, [r0]
+ add r0, r2, #0
+ add r0, #0x68
+ strb r1, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r3, [r4, r0]
+ add r1, r2, #0
+ add r1, #0x69
+ add r0, r0, #1
+ strb r3, [r1]
+ ldrb r1, [r4, r0]
+ add r0, r2, #0
+ add r0, #0x6a
+ strb r1, [r0]
+ add r0, r2, #0
+ mov r1, #0
+ add r0, #0x6b
+ strb r1, [r0]
+ ldr r0, [sp]
+ ldrb r3, [r0, #1]
+ add r0, r2, #0
+ add r0, #0x6c
+ strb r3, [r0]
+ ldr r0, [sp]
+ ldrh r3, [r0, #2]
+ add r0, r2, #0
+ add r0, #0x6e
+ strh r3, [r0]
+ ldr r0, [sp]
+ ldr r3, [sp]
+ ldr r0, [r0, #4]
+ add r4, r3, #0
+ str r0, [r2, #0x70]
+_0224DA92:
+ ldrh r0, [r3, #8]
+ add r3, r3, #2
+ strh r0, [r7, #0x28]
+ ldr r0, [sp]
+ add r7, r7, #2
+ add r0, r0, r1
+ str r0, [sp, #0x10]
+ ldrb r0, [r0, #0x10]
+ str r0, [sp, #8]
+ add r0, r2, r1
+ ldr r6, [sp, #8]
+ add r0, #0x30
+ strb r6, [r0]
+ ldr r0, [sp, #0x10]
+ add r6, r2, r1
+ ldrb r0, [r0, #0x14]
+ str r6, [sp, #4]
+ add r6, #0x34
+ str r0, [sp, #0xc]
+ strb r0, [r6]
+ ldr r0, [sp, #0x10]
+ str r6, [sp, #4]
+ add r6, r2, r1
+ ldrb r0, [r0, #0x18]
+ add r6, #0x38
+ add r1, r1, #1
+ strb r0, [r6]
+ ldr r0, [r4, #0x1c]
+ add r4, r4, #4
+ str r0, [r5, #0x3c]
+ add r5, r5, #4
+ cmp r1, #4
+ blt _0224DA92
+ ldr r0, _0224DAE4 ; =MOD11_0224FD90
+ add r1, r2, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224DAE4: .word MOD11_0224FD90
+
+ thumb_func_start MOD11_0224DAE8
+MOD11_0224DAE8: ; 0x0224DAE8
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r5, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r6, r2, #0
+ bl FUN_02016998
+ add r4, r0, #0
+ str r7, [r4]
+ ldr r0, [r5, #0x20]
+ str r0, [r4, #4]
+ ldrb r0, [r6]
+ strb r0, [r4, #8]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ add r0, r0, #1
+ strb r1, [r4, #9]
+ ldrb r0, [r5, r0]
+ mov r1, #0
+ add r3, r1, #0
+ strb r0, [r4, #0xa]
+ strb r1, [r4, #0xb]
+ ldrb r0, [r6, #1]
+ strb r0, [r4, #0xc]
+ ldrh r0, [r6, #2]
+ lsl r2, r0, #1
+ ldr r0, _0224DB44 ; =0x0225E84A
+ ldrh r0, [r0, r2]
+ mov r2, #0x10
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ bl FUN_02007E68
+ ldr r0, [r4, #4]
+ mov r1, #0x2d
+ mov r2, #1
+ bl FUN_02007558
+ ldr r0, _0224DB48 ; =MOD11_0224FFF0
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224DB44: .word 0x0225E84A
+_0224DB48: .word MOD11_0224FFF0
+
+ thumb_func_start MOD11_0224DB4C
+MOD11_0224DB4C: ; 0x0224DB4C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x40
+ add r6, r0, #0
+ add r5, r1, #0
+ str r2, [sp, #0x24]
+ bl MOD11_02230068
+ str r0, [sp, #0x2c]
+ mov r0, #5
+ mov r1, #0x24
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r2, #0
+ ldr r0, _0224DCCC ; =0x00000195
+ strb r2, [r4, #0x12]
+ ldrb r0, [r5, r0]
+ mov r1, #1
+ tst r0, r1
+ beq _0224DB9C
+ mov r0, #2
+ strb r0, [r4, #0x13]
+ add r0, r6, #0
+ bl MOD11_02230088
+ str r0, [r4, #8]
+ ldr r1, _0224DCCC ; =0x00000195
+ ldr r0, [r0]
+ ldrb r2, [r5, r1]
+ mov r1, #1
+ and r2, r1
+ add r3, r2, #0
+ mov r1, #6
+ mul r3, r1
+ ldr r1, _0224DCD0 ; =0x0222D550
+ mov r2, #0x58
+ ldrsh r1, [r1, r3]
+ bl FUN_0200C714
+ b _0224DBC2
+_0224DB9C:
+ add r0, r6, #0
+ add r1, r2, #0
+ strb r2, [r4, #0x13]
+ bl MOD11_02230088
+ str r0, [r4, #8]
+ ldr r1, _0224DCCC ; =0x00000195
+ ldr r0, [r0]
+ ldrb r2, [r5, r1]
+ mov r1, #1
+ and r2, r1
+ add r3, r2, #0
+ mov r1, #6
+ mul r3, r1
+ ldr r1, _0224DCD0 ; =0x0222D550
+ mov r2, #0x88
+ ldrsh r1, [r1, r3]
+ bl FUN_0200C714
+_0224DBC2:
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _0224DBE4
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ tst r0, r1
+ beq _0224DBEC
+ ldr r0, _0224DCCC ; =0x00000195
+ ldrb r1, [r5, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _0224DBEC
+_0224DBE4:
+ ldr r0, _0224DCCC ; =0x00000195
+ ldrb r0, [r5, r0]
+ str r0, [sp, #0x28]
+ b _0224DBF6
+_0224DBEC:
+ ldr r0, _0224DCCC ; =0x00000195
+ ldrb r1, [r5, r0]
+ mov r0, #1
+ and r0, r1
+ str r0, [sp, #0x28]
+_0224DBF6:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ add r0, r6, #0
+ bl MOD11_0223021C
+ add r3, r0, #0
+ ldr r1, [sp, #0x24]
+ lsl r3, r3, #0x18
+ ldrh r1, [r1, #2]
+ ldrb r2, [r4, #0x13]
+ add r0, sp, #0x30
+ lsr r3, r3, #0x18
+ bl FUN_02068FE0
+ ldr r0, [sp, #0x28]
+ mov r1, #6
+ add r7, r0, #0
+ mul r7, r1
+ ldr r0, _0224DCD4 ; =0x0222D552
+ mov r1, #0
+ ldrsh r0, [r0, r7]
+ ldr r3, _0224DCD0 ; =0x0222D550
+ add r2, sp, #0x30
+ str r0, [sp]
+ ldr r0, _0224DCD8 ; =0x0222D554
+ ldrsh r3, [r3, r7]
+ ldrsh r0, [r0, r7]
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ mov r0, #0x65
+ str r1, [sp, #0x14]
+ lsl r0, r0, #2
+ ldrb r0, [r5, r0]
+ str r0, [sp, #0x18]
+ str r1, [sp, #0x1c]
+ str r1, [sp, #0x20]
+ ldr r1, [sp, #0x2c]
+ add r0, r6, #0
+ bl MOD11_02253A88
+ str r0, [r5, #0x1c]
+ str r0, [r4, #4]
+ ldrb r0, [r4, #0x13]
+ cmp r0, #0
+ bne _0224DC80
+ add r0, r6, #0
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _0224DC80
+ ldr r0, [sp, #0x24]
+ ldrh r0, [r0, #2]
+ bl FUN_0206AA30
+ ldr r3, _0224DCCC ; =0x00000195
+ add r2, r0, #0
+ ldrb r3, [r5, r3]
+ ldr r1, [sp, #0x28]
+ add r0, r6, #0
+ asr r3, r3, #1
+ bl MOD11_02254308
+ str r0, [r5, #0x18]
+ str r0, [r4, #0xc]
+_0224DC80:
+ ldr r0, [sp, #0x28]
+ lsl r1, r0, #2
+ ldr r0, _0224DCDC ; =0x0222D538
+ ldrsh r0, [r0, r1]
+ strh r0, [r4, #0x14]
+ ldr r0, [sp, #0x24]
+ str r6, [r4]
+ ldrb r0, [r0]
+ strb r0, [r4, #0x10]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ add r0, r0, #1
+ strb r1, [r4, #0x11]
+ ldrb r0, [r5, r0]
+ str r0, [r4, #0x18]
+ mov r0, #0
+ str r0, [r4, #0x20]
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ beq _0224DCAE
+ cmp r0, #2
+ bne _0224DCBE
+_0224DCAE:
+ add r0, r6, #0
+ bl MOD11_0222FF68
+ mov r1, #3
+ mov r2, #2
+ mov r3, #0x84
+ bl FUN_020179E0
+_0224DCBE:
+ ldr r0, _0224DCE0 ; =MOD11_02250060
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x40
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224DCCC: .word 0x00000195
+_0224DCD0: .word 0x0222D550
+_0224DCD4: .word 0x0222D552
+_0224DCD8: .word 0x0222D554
+_0224DCDC: .word 0x0222D538
+_0224DCE0: .word MOD11_02250060
+
+ thumb_func_start MOD11_0224DCE4
+MOD11_0224DCE4: ; 0x0224DCE4
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r5, r1, #0
+ mov r0, #5
+ mov r1, #0x1c
+ add r6, r2, #0
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r0, #0
+ strb r0, [r4, #0xa]
+ str r7, [r4]
+ ldrb r1, [r6]
+ strb r1, [r4, #8]
+ ldrb r1, [r6, #1]
+ str r1, [r4, #0x10]
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r2, [r5, r1]
+ strb r2, [r4, #9]
+ str r5, [r4, #4]
+ add r2, r1, #1
+ ldrb r3, [r5, r2]
+ mov r2, #1
+ tst r2, r3
+ beq _0224DD1E
+ mov r1, #2
+ strb r1, [r4, #0xb]
+ b _0224DD30
+_0224DD1E:
+ ldrb r1, [r5, r1]
+ add r0, r7, #0
+ bl MOD11_02230188
+ mov r1, #0
+ strb r1, [r4, #0xb]
+ ldrb r0, [r0, #1]
+ bl FUN_0206AA30
+_0224DD30:
+ str r0, [r4, #0xc]
+ ldr r0, _0224DD40 ; =MOD11_02250338
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224DD40: .word MOD11_02250338
+
+ thumb_func_start MOD11_0224DD44
+MOD11_0224DD44: ; 0x0224DD44
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r0, #0
+ strb r0, [r1, #0xa]
+ add r2, r4, #0
+ str r5, [r1]
+ add r2, #0x94
+ ldrb r2, [r2]
+ strb r2, [r1, #8]
+ mov r2, #0x65
+ lsl r2, r2, #2
+ ldrb r3, [r4, r2]
+ add r2, r2, #1
+ strb r3, [r1, #9]
+ str r4, [r1, #4]
+ ldrb r3, [r4, r2]
+ mov r2, #1
+ tst r2, r3
+ beq _0224DD7A
+ mov r0, #2
+ b _0224DD7A
+_0224DD7A:
+ strb r0, [r1, #0xb]
+ ldr r0, _0224DD88 ; =MOD11_022508A4
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ nop
+_0224DD88: .word MOD11_022508A4
+
+ thumb_func_start MOD11_0224DD8C
+MOD11_0224DD8C: ; 0x0224DD8C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ str r0, [sp, #0x10]
+ add r5, r1, #0
+ add r7, r2, #0
+ bl MOD11_02230068
+ str r0, [sp, #0x14]
+ mov r0, #5
+ mov r1, #0x10
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r0, #0
+ ldr r1, _0224DE38 ; =0x00000195
+ strb r0, [r4, #0xa]
+ ldrb r2, [r5, r1]
+ mov r1, #1
+ tst r1, r2
+ beq _0224DDB8
+ mov r0, #2
+ b _0224DDB8
+_0224DDB8:
+ mov r1, #0x65
+ strb r0, [r4, #0xb]
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldr r0, [sp, #0x10]
+ bl MOD11_0223021C
+ add r3, r0, #0
+ lsl r3, r3, #0x18
+ ldrh r1, [r7, #2]
+ ldrb r2, [r4, #0xb]
+ add r0, sp, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_02068FE0
+ ldr r0, _0224DE38 ; =0x00000195
+ mov r1, #6
+ ldrb r2, [r5, r0]
+ sub r0, r0, #1
+ ldr r3, _0224DE3C ; =0x0222D576
+ add r6, r2, #0
+ mul r6, r1
+ ldr r1, _0224DE40 ; =0x0222D578
+ ldr r2, _0224DE44 ; =0x0222D574
+ ldrsh r1, [r1, r6]
+ ldrsh r2, [r2, r6]
+ ldrsh r3, [r3, r6]
+ str r1, [sp]
+ ldrb r0, [r5, r0]
+ add r1, sp, #0x18
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x14]
+ bl FUN_020073A0
+ str r0, [r5, #0x1c]
+ str r0, [r4, #4]
+ ldr r0, _0224DE38 ; =0x00000195
+ ldr r2, _0224DE48 ; =0x0222D538
+ ldrb r1, [r5, r0]
+ sub r0, r0, #1
+ lsl r1, r1, #0x1f
+ lsr r3, r1, #0x1d
+ ldr r1, [r7, #4]
+ add r2, r2, r3
+ lsl r1, r1, #1
+ ldrsh r1, [r1, r2]
+ mov r2, #0
+ strh r1, [r4, #0xc]
+ ldr r1, [sp, #0x10]
+ str r1, [r4]
+ ldrb r1, [r7]
+ strb r1, [r4, #8]
+ ldrb r0, [r5, r0]
+ add r1, r4, #0
+ strb r0, [r4, #9]
+ ldr r0, _0224DE4C ; =MOD11_0225092C
+ bl FUN_0200CA44
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224DE38: .word 0x00000195
+_0224DE3C: .word 0x0222D576
+_0224DE40: .word 0x0222D578
+_0224DE44: .word 0x0222D574
+_0224DE48: .word 0x0222D538
+_0224DE4C: .word MOD11_0225092C
+
+ thumb_func_start MOD11_0224DE50
+MOD11_0224DE50: ; 0x0224DE50
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r4, r6, #0
+ add r4, #0x28
+ add r7, r0, #0
+ add r5, r2, #0
+ mov r0, #0
+ add r1, r4, #0
+ mov r2, #1
+ blx MIi_CpuClearFast
+ mov r0, #0x65
+ str r7, [r4, #0xc]
+ lsl r0, r0, #2
+ ldrb r1, [r6, r0]
+ add r0, r4, #0
+ add r0, #0x24
+ strb r1, [r0]
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ add r1, r0, #0
+ ldr r0, _0224DF10 ; =0x00000195
+ ldrb r0, [r6, r0]
+ bl MOD11_02257F6C
+ add r1, r4, #0
+ add r1, #0x25
+ strb r0, [r1]
+ add r0, r4, #0
+ ldrb r1, [r5]
+ add r0, #0x4c
+ strb r1, [r0]
+ mov r0, #2
+ ldrsh r0, [r5, r0]
+ str r0, [r4, #0x28]
+ ldrh r0, [r5, #4]
+ str r0, [r4, #0x2c]
+ add r0, r4, #0
+ ldrb r1, [r5, #1]
+ add r0, #0x48
+ strb r1, [r0]
+ ldrb r0, [r5, #7]
+ lsl r0, r0, #0x19
+ lsr r1, r0, #0x1e
+ add r0, r4, #0
+ add r0, #0x49
+ strb r1, [r0]
+ mov r1, #0
+ str r1, [r4, #0x30]
+ ldr r0, [r5, #8]
+ str r0, [r4, #0x38]
+ ldr r0, [r5, #0xc]
+ str r0, [r4, #0x3c]
+ add r0, r4, #0
+ ldrb r2, [r5, #6]
+ add r0, #0x26
+ strb r2, [r0]
+ ldrb r0, [r5, #7]
+ lsl r0, r0, #0x1b
+ lsr r2, r0, #0x1b
+ add r0, r4, #0
+ add r0, #0x4a
+ strb r2, [r0]
+ ldrb r0, [r5, #7]
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x1f
+ add r0, r4, #0
+ add r0, #0x4b
+ strb r2, [r0]
+ add r0, r4, #0
+ ldrb r2, [r5, #0x14]
+ add r0, #0x4d
+ strb r2, [r0]
+ add r0, r4, #0
+ ldr r2, [r5, #0x10]
+ add r0, #0x27
+ strb r2, [r0]
+ add r0, r4, #0
+ bl MOD11_022572AC
+ mov r2, #0
+ ldr r1, [r4, #0x28]
+ add r0, r4, #0
+ mvn r2, r2
+ bl MOD11_02256D70
+ mov r2, #0xfa
+ ldr r0, _0224DF14 ; =MOD11_022509B4
+ add r1, r4, #0
+ lsl r2, r2, #2
+ bl FUN_0200CA44
+ str r0, [r4, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224DF10: .word 0x00000195
+_0224DF14: .word MOD11_022509B4
+
+ thumb_func_start MOD11_0224DF18
+MOD11_0224DF18: ; 0x0224DF18
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r4, r5, #0
+ add r4, #0x28
+ add r6, r0, #0
+ mov r0, #0
+ add r1, r4, #0
+ mov r2, #1
+ blx MIi_CpuClearFast
+ mov r0, #0x65
+ str r6, [r4, #0xc]
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ add r0, r4, #0
+ add r0, #0x24
+ strb r1, [r0]
+ add r5, #0x94
+ add r0, r4, #0
+ ldrb r1, [r5]
+ add r0, #0x4c
+ strb r1, [r0]
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_02257334
+ mov r2, #0xfa
+ ldr r0, _0224DF5C ; =MOD11_02250A28
+ add r1, r4, #0
+ lsl r2, r2, #2
+ bl FUN_0200CA44
+ str r0, [r4, #0x10]
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224DF5C: .word MOD11_02250A28
+
+ thumb_func_start MOD11_0224DF60
+MOD11_0224DF60: ; 0x0224DF60
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ str r1, [sp]
+ mov r0, #5
+ mov r1, #0x3c
+ add r5, r2, #0
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r0, #0
+ add r1, r4, #0
+ mov r2, #0x3c
+ blx MIi_CpuClearFast
+ mov r7, #0
+ strb r7, [r4, #0xa]
+ strb r7, [r4, #0xb]
+ str r6, [r4]
+ ldrb r0, [r5]
+ mov r1, #0x65
+ lsl r1, r1, #2
+ strb r0, [r4, #8]
+ ldr r0, [sp]
+ add r3, r5, #0
+ ldrb r0, [r0, r1]
+ add r1, r1, #1
+ add r6, r4, #0
+ strb r0, [r4, #9]
+ ldr r0, [sp]
+ ldrb r1, [r0, r1]
+ add r0, r4, #0
+ add r0, #0x34
+ strb r1, [r0]
+ ldr r0, [sp]
+ add r0, #0x28
+ str r0, [r4, #4]
+ add r0, r4, #0
+ ldrb r1, [r5, #1]
+ add r0, #0x23
+ strb r1, [r0]
+ mov r0, #0x24
+ ldrsh r0, [r5, r0]
+ strh r0, [r4, #0x36]
+ ldrh r0, [r5, #0x26]
+ strh r0, [r4, #0x38]
+ add r0, r5, #0
+ add r0, #0x28
+ ldrb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x3a
+ strb r1, [r0]
+_0224DFC6:
+ mov r2, #0
+_0224DFC8:
+ add r0, r3, r2
+ ldrb r1, [r0, #8]
+ add r0, r6, r2
+ add r2, r2, #1
+ strb r1, [r0, #0x10]
+ cmp r2, #6
+ blt _0224DFC8
+ add r7, r7, #1
+ add r3, r3, #6
+ add r6, r6, #6
+ cmp r7, #2
+ blt _0224DFC6
+ mov r0, #0
+ add r3, r0, #0
+_0224DFE4:
+ add r2, r5, r0
+ ldrb r1, [r2, #8]
+ cmp r1, #2
+ bne _0224DFF2
+ add r1, r4, r0
+ strb r3, [r1, #0x1c]
+ b _0224DFF8
+_0224DFF2:
+ ldrb r2, [r2, #2]
+ add r1, r4, r0
+ strb r2, [r1, #0x1c]
+_0224DFF8:
+ add r0, r0, #1
+ cmp r0, #6
+ blt _0224DFE4
+ mov r2, #0
+ add r3, r5, #0
+ add r6, r4, #0
+_0224E004:
+ ldrh r0, [r3, #0x14]
+ add r7, r4, r2
+ add r1, r5, r2
+ strh r0, [r6, #0x24]
+ ldrb r0, [r1, #0x1c]
+ add r7, #0x2c
+ add r1, #0x20
+ strb r0, [r7]
+ add r0, r4, r2
+ ldrb r1, [r1]
+ add r0, #0x30
+ add r2, r2, #1
+ strb r1, [r0]
+ add r3, r3, #2
+ add r6, r6, #2
+ cmp r2, #4
+ blt _0224E004
+ ldr r0, [sp]
+ add r1, r4, #0
+ ldr r0, [r0]
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0224E034
+MOD11_0224E034: ; 0x0224E034
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ str r1, [sp]
+ mov r0, #5
+ mov r1, #0x24
+ add r7, r2, #0
+ bl FUN_02016998
+ add r3, r0, #0
+ mov r1, #0x65
+ mov r4, #0
+ add r0, #0x20
+ strb r4, [r0]
+ ldr r0, [sp]
+ str r5, [r3]
+ add r0, #0x94
+ ldrb r0, [r0]
+ lsl r1, r1, #2
+ add r5, r7, #0
+ strb r0, [r3, #0x1c]
+ ldr r0, [sp]
+ add r6, r3, #0
+ ldrb r0, [r0, r1]
+ add r1, r1, #1
+ strb r0, [r3, #0x1d]
+ ldr r0, [sp]
+ ldrb r0, [r0, r1]
+ strb r0, [r3, #0x1e]
+ ldr r0, [sp]
+ add r0, #0x28
+ str r0, [r3, #4]
+ ldrb r0, [r7, #1]
+ strb r0, [r3, #0x1f]
+_0224E076:
+ ldrh r0, [r5, #4]
+ add r2, r7, r4
+ add r1, r3, r4
+ strh r0, [r6, #0xc]
+ ldrb r0, [r2, #0xc]
+ add r4, r4, #1
+ add r5, r5, #2
+ strb r0, [r1, #0x14]
+ ldrb r0, [r2, #0x10]
+ add r6, r6, #2
+ cmp r4, #4
+ strb r0, [r1, #0x18]
+ blt _0224E076
+ ldrh r0, [r7, #2]
+ add r1, r3, #0
+ mov r2, #0
+ strh r0, [r3, #0x22]
+ ldr r0, [sp]
+ ldr r0, [r0, #4]
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224E0A4
+MOD11_0224E0A4: ; 0x0224E0A4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp]
+ add r7, r1, #0
+ mov r0, #5
+ mov r1, #0x34
+ add r5, r2, #0
+ bl FUN_02016998
+ add r6, r0, #0
+ mov r0, #0
+ strb r0, [r6, #0xf]
+ ldr r0, [sp]
+ str r0, [r6]
+ add r0, r7, #0
+ add r0, #0x94
+ ldrb r0, [r0]
+ strb r0, [r6, #0xc]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r7, r0]
+ add r0, r0, #1
+ strb r1, [r6, #0xd]
+ ldrb r0, [r7, r0]
+ strb r0, [r6, #0xe]
+ ldrh r0, [r5, #2]
+ strh r0, [r6, #0x30]
+ add r0, r7, #0
+ add r0, #0x28
+ str r0, [r6, #4]
+ add r0, r6, #0
+ ldrb r1, [r5, #1]
+ add r0, #0x32
+ strb r1, [r0]
+ ldr r0, [sp]
+ add r1, sp, #4
+ bl MOD11_02231504
+ ldr r0, [sp]
+ bl MOD11_0222FF84
+ add r4, r0, #0
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ mov r0, #0
+ cmp r4, #0
+ ble _0224E120
+ add r1, r6, #0
+_0224E106:
+ ldrh r2, [r5, #4]
+ add r0, r0, #1
+ strh r2, [r1, #0x10]
+ ldrh r2, [r5, #6]
+ strh r2, [r1, #0x12]
+ ldrh r2, [r5, #8]
+ strh r2, [r1, #0x14]
+ ldrh r2, [r5, #0xa]
+ add r5, #8
+ strh r2, [r1, #0x16]
+ add r1, #8
+ cmp r0, r4
+ blt _0224E106
+_0224E120:
+ ldr r0, [r7, #8]
+ add r1, r6, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224E130
+MOD11_0224E130: ; 0x0224E130
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ str r1, [sp]
+ mov r0, #5
+ mov r1, #0x34
+ str r2, [sp, #4]
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r0, #5
+ mov r1, #0x34
+ bl FUN_02016998
+ str r0, [r4, #8]
+ mov r0, #5
+ mov r1, #0x38
+ bl FUN_02016998
+ ldr r1, [r4, #8]
+ str r0, [r1, #4]
+ mov r0, #5
+ bl FUN_0206B8AC
+ ldr r1, [r4, #8]
+ mov r6, #0
+ ldr r1, [r1, #4]
+ ldr r3, [sp, #4]
+ str r0, [r1]
+ strb r6, [r4, #0xe]
+ str r5, [r4]
+ ldr r0, [sp, #4]
+ mov r1, #0x65
+ ldrb r0, [r0]
+ lsl r1, r1, #2
+ add r5, r4, #0
+ strb r0, [r4, #0xc]
+ ldr r0, [sp]
+ ldrb r0, [r0, r1]
+ add r1, r1, #1
+ strb r0, [r4, #0xd]
+ ldr r0, [sp]
+ ldrb r0, [r0, r1]
+ strb r0, [r4, #0xf]
+ ldr r0, [sp, #4]
+ ldrb r0, [r0, #1]
+ strb r0, [r4, #0x14]
+ ldr r0, [sp, #4]
+ ldrb r0, [r0, #2]
+ strb r0, [r4, #0x15]
+ ldr r0, [sp, #4]
+ ldrb r0, [r0, #3]
+ strb r0, [r4, #0x16]
+_0224E19A:
+ ldr r0, [sp, #4]
+ ldr r1, [r4, #8]
+ add r7, r0, r6
+ ldrb r0, [r7, #4]
+ add r1, r1, r6
+ mov r2, #0
+ strb r0, [r1, #0xc]
+_0224E1A8:
+ add r0, r3, r2
+ ldrb r1, [r0, #8]
+ add r0, r5, r2
+ add r2, r2, #1
+ strb r1, [r0, #0x18]
+ cmp r2, #6
+ blt _0224E1A8
+ add r7, #0x20
+ ldrb r1, [r7]
+ add r0, r4, r6
+ add r0, #0x30
+ add r6, r6, #1
+ strb r1, [r0]
+ add r3, r3, #6
+ add r5, r5, #6
+ cmp r6, #4
+ blt _0224E19A
+ ldr r0, [sp]
+ add r1, r4, #0
+ ldr r0, [r0, #0xc]
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224E1DC
+MOD11_0224E1DC: ; 0x0224E1DC
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r0, #0
+ str r1, [sp]
+ mov r0, #5
+ mov r1, #0x34
+ add r7, r2, #0
+ bl FUN_02016998
+ add r2, r0, #0
+ mov r3, #0
+ strb r3, [r2, #0xa]
+ str r4, [r2]
+ ldrb r0, [r7]
+ add r5, r7, #0
+ add r6, r2, #0
+ strb r0, [r2, #8]
+ ldrb r0, [r7, #1]
+ strb r0, [r2, #9]
+ ldrb r0, [r7, #2]
+ strb r0, [r2, #0xb]
+ ldr r0, [r7, #0x20]
+ str r0, [r2, #0x10]
+ ldrb r0, [r7, #3]
+ strb r0, [r2, #0x16]
+ add r0, r7, #0
+ strh r3, [r2, #0x14]
+ add r0, #0x24
+ ldrb r0, [r0]
+ strb r0, [r2, #0x18]
+_0224E216:
+ add r0, r7, r3
+ ldrb r1, [r0, #4]
+ add r0, r2, r3
+ mov r4, #0
+ strb r1, [r0, #0xc]
+_0224E220:
+ add r0, r5, r4
+ ldrb r1, [r0, #8]
+ add r0, r6, r4
+ add r4, r4, #1
+ strb r1, [r0, #0x1c]
+ cmp r4, #6
+ blt _0224E220
+ add r3, r3, #1
+ add r5, r5, #6
+ add r6, r6, #6
+ cmp r3, #4
+ blt _0224E216
+ ldr r0, [sp]
+ add r1, r2, #0
+ ldr r0, [r0, #0x10]
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224E248
+MOD11_0224E248: ; 0x0224E248
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ mov r0, #5
+ mov r1, #0x1c
+ add r4, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #0xe]
+ str r6, [r1]
+ ldrb r0, [r4]
+ strb r0, [r1, #0xc]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r5, r0]
+ strb r0, [r1, #0xd]
+ add r0, r5, #0
+ add r0, #0x28
+ str r0, [r1, #4]
+ ldrh r0, [r4, #2]
+ str r0, [r1, #0x10]
+ ldrb r0, [r4, #1]
+ strb r0, [r1, #0xf]
+ ldr r0, [r4, #4]
+ strh r0, [r1, #0x18]
+ ldr r0, [r4, #8]
+ str r0, [r1, #0x14]
+ ldr r0, [r5, #0x14]
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224E28C
+MOD11_0224E28C: ; 0x0224E28C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ add r6, r0, #0
+ add r7, r1, #0
+ add r5, r2, #0
+ bl MOD11_022300C8
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r6, [r4]
+ ldrb r0, [r5]
+ mov r1, #0x65
+ lsl r1, r1, #2
+ strb r0, [r4, #4]
+ ldrb r0, [r7, r1]
+ strb r0, [r4, #5]
+ ldrh r2, [r5, #2]
+ lsl r0, r2, #1
+ add r2, r2, r0
+ add r0, sp, #4
+ strh r2, [r0, #2]
+ mov r2, #2
+ strb r2, [r0, #1]
+ ldrb r0, [r5, #1]
+ ldrb r1, [r7, r1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [sp, #8]
+ add r0, r6, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r1, [sp]
+ add r0, r6, #0
+ add r2, sp, #4
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224E2F0 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224E2F0: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E2F4
+MOD11_0224E2F4: ; 0x0224E2F4
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ add r7, r2, #0
+ bl MOD11_022300C4
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ add r0, r6, #0
+ str r5, [r4]
+ add r0, #0x94
+ ldrb r0, [r0]
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, r7, #0
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224E340 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224E340: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E344
+MOD11_0224E344: ; 0x0224E344
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r6, r1, #0
+ mov r0, #5
+ mov r1, #0x70
+ add r5, r2, #0
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r1, #0
+ add r0, #0x6a
+ strb r1, [r0]
+ str r7, [r4]
+ add r0, r6, #0
+ str r6, [r4, #4]
+ add r0, #0x94
+ ldrb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x68
+ strb r1, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r6, r0]
+ add r0, r4, #0
+ add r0, #0x69
+ strb r1, [r0]
+ add r0, r7, #0
+ bl MOD11_02230070
+ add r3, r4, #0
+ str r0, [r4, #0xc]
+ add r7, r5, #0
+ add r3, #0x10
+ mov r2, #0xb
+_0224E388:
+ ldmia r7!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0224E388
+ ldr r0, [r6, #0x20]
+ str r0, [r4, #8]
+ ldr r0, [r5, #0x4c]
+ cmp r0, #1
+ bne _0224E3A8
+ ldr r0, [r5, #0x50]
+ cmp r0, #0x19
+ bne _0224E3A8
+ mov r0, #0x1a
+ mov r1, #1
+ lsl r0, r0, #4
+ str r1, [r6, r0]
+_0224E3A8:
+ ldr r0, [r5, #0x4c]
+ cmp r0, #1
+ bne _0224E3BC
+ ldr r0, [r5, #0x50]
+ cmp r0, #0x1a
+ bne _0224E3BC
+ mov r0, #0x1a
+ mov r1, #0
+ lsl r0, r0, #4
+ str r1, [r6, r0]
+_0224E3BC:
+ ldrh r0, [r5, #2]
+ add r1, r4, #0
+ add r1, #0x6c
+ str r0, [sp]
+ add r0, r4, #0
+ ldr r2, [r5, #0x4c]
+ ldr r3, [r5, #0x50]
+ add r0, #0x6b
+ bl MOD11_022545B4
+ ldr r0, _0224E3DC ; =MOD11_02252754
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224E3DC: .word MOD11_02252754
+
+ thumb_func_start MOD11_0224E3E0
+MOD11_0224E3E0: ; 0x0224E3E0
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0xc
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #9]
+ str r5, [r1]
+ ldr r0, [r4, #0x20]
+ str r0, [r1, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ strb r0, [r1, #8]
+ ldr r0, _0224E40C ; =MOD11_022529C0
+ strb r2, [r1, #0xa]
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224E40C: .word MOD11_022529C0
+
+ thumb_func_start MOD11_0224E410
+MOD11_0224E410: ; 0x0224E410
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r7, r0, #0
+ ldr r0, [r6, #0x2c]
+ add r5, r2, #0
+ cmp r0, #0
+ bne _0224E422
+ bl ErrorHandling
+_0224E422:
+ add r4, r6, #0
+ add r4, #0x28
+ add r0, r4, #0
+ mov r1, #0
+ mov r2, #1
+ blx MI_CpuFill8
+ str r7, [r4, #0xc]
+ add r0, r4, #0
+ ldrb r1, [r5]
+ add r0, #0x4c
+ strb r1, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r6, r0]
+ add r0, r4, #0
+ add r0, #0x24
+ strb r1, [r0]
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ add r1, r0, #0
+ ldr r0, _0224E490 ; =0x00000195
+ ldrb r0, [r6, r0]
+ bl MOD11_02257F6C
+ add r1, r4, #0
+ add r1, #0x25
+ strb r0, [r1]
+ mov r0, #2
+ ldrsh r0, [r5, r0]
+ str r0, [r4, #0x28]
+ ldrh r0, [r5, #4]
+ str r0, [r4, #0x2c]
+ ldr r0, [r5, #8]
+ str r0, [r4, #0x30]
+ add r0, r4, #0
+ ldrb r1, [r5, #1]
+ add r0, #0x48
+ strb r1, [r0]
+ ldr r1, [r5, #8]
+ ldr r0, _0224E494 ; =0x00007FFF
+ cmp r1, r0
+ bne _0224E480
+ mov r0, #0
+ str r0, [r4, #0x28]
+ str r0, [r4, #0x30]
+_0224E480:
+ mov r2, #0xfa
+ ldr r0, _0224E498 ; =MOD11_02252A1C
+ add r1, r4, #0
+ lsl r2, r2, #2
+ bl FUN_0200CA44
+ str r0, [r4, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224E490: .word 0x00000195
+_0224E494: .word 0x00007FFF
+_0224E498: .word MOD11_02252A1C
+
+ thumb_func_start MOD11_0224E49C
+MOD11_0224E49C: ; 0x0224E49C
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r7, r0, #0
+ ldr r0, [r6, #0x2c]
+ add r5, r2, #0
+ cmp r0, #0
+ bne _0224E4AE
+ bl ErrorHandling
+_0224E4AE:
+ add r4, r6, #0
+ add r4, #0x28
+ add r0, r4, #0
+ mov r1, #0
+ mov r2, #1
+ blx MI_CpuFill8
+ str r7, [r4, #0xc]
+ add r0, r4, #0
+ ldrb r1, [r5]
+ add r0, #0x4c
+ strb r1, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r2, [r6, r0]
+ add r1, r4, #0
+ add r1, #0x24
+ strb r2, [r1]
+ ldr r1, [r5, #4]
+ add r0, r0, #1
+ str r1, [r4, #0x38]
+ ldr r1, [r5, #0xc]
+ str r1, [r4, #0x3c]
+ ldr r2, [r5, #8]
+ ldr r1, [r4, #0x38]
+ sub r1, r2, r1
+ str r1, [r4, #0x40]
+ ldrb r0, [r6, r0]
+ cmp r0, #0
+ bne _0224E4FA
+ mov r2, #0xfa
+ ldr r0, _0224E50C ; =MOD11_02252A70
+ add r1, r4, #0
+ lsl r2, r2, #2
+ bl FUN_0200CA44
+ str r0, [r4, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_0224E4FA:
+ add r1, r4, #0
+ ldr r0, [r4, #0xc]
+ add r1, #0x24
+ add r4, #0x4c
+ ldrb r1, [r1]
+ ldrb r2, [r4]
+ bl MOD11_022567B8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224E50C: .word MOD11_02252A70
+
+ thumb_func_start MOD11_0224E510
+MOD11_0224E510: ; 0x0224E510
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x74
+ str r2, [sp]
+ bl FUN_02016998
+ add r1, r0, #0
+ ldr r0, _0224E5F0 ; =0x00000195
+ ldrb r2, [r4, r0]
+ mov r0, #1
+ tst r0, r2
+ beq _0224E532
+ mov r2, #2
+ b _0224E534
+_0224E532:
+ mov r2, #0
+_0224E534:
+ add r0, r1, #0
+ add r0, #0x67
+ strb r2, [r0]
+ add r0, r1, #0
+ mov r2, #0
+ add r0, #0x66
+ strb r2, [r0]
+ str r5, [r1]
+ ldr r0, [sp]
+ str r4, [r1, #4]
+ ldrb r3, [r0]
+ add r0, r1, #0
+ add r0, #0x64
+ strb r3, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r3, [r4, r0]
+ add r0, r1, #0
+ add r0, #0x65
+ strb r3, [r0]
+ ldr r0, [r4, #0x20]
+ add r7, r1, #0
+ str r0, [r1, #8]
+ ldr r0, [sp]
+ add r5, r1, #0
+ ldrh r3, [r0, #2]
+ add r0, r1, #0
+ add r0, #0x68
+ strh r3, [r0]
+ ldr r0, [sp]
+ ldrb r3, [r0, #1]
+ add r0, r1, #0
+ add r0, #0x6a
+ strb r3, [r0]
+ ldr r0, [sp]
+ ldrb r3, [r0, #8]
+ add r0, r1, #0
+ add r0, #0x6b
+ strb r3, [r0]
+ ldr r0, [sp]
+ ldr r0, [r0, #4]
+ str r0, [r1, #0x6c]
+ ldr r0, [sp]
+ ldrb r3, [r0, #9]
+ add r0, r1, #0
+ add r0, #0x70
+ strh r3, [r0]
+ ldr r0, [sp]
+ ldrb r3, [r0, #0xa]
+ add r0, r1, #0
+ add r0, #0x72
+ strh r3, [r0]
+ ldr r3, [sp]
+ add r4, r3, #0
+_0224E5A0:
+ ldrh r0, [r3, #0xc]
+ add r3, r3, #2
+ strh r0, [r7, #0x24]
+ ldr r0, [sp]
+ add r7, r7, #2
+ add r0, r0, r2
+ str r0, [sp, #0x10]
+ ldrb r0, [r0, #0x14]
+ str r0, [sp, #8]
+ add r0, r1, r2
+ ldr r6, [sp, #8]
+ add r0, #0x2c
+ strb r6, [r0]
+ ldr r0, [sp, #0x10]
+ add r6, r1, r2
+ ldrb r0, [r0, #0x18]
+ str r6, [sp, #4]
+ add r6, #0x30
+ str r0, [sp, #0xc]
+ strb r0, [r6]
+ ldr r0, [sp, #0x10]
+ str r6, [sp, #4]
+ add r6, r1, r2
+ ldrb r0, [r0, #0x1c]
+ add r6, #0x34
+ add r2, r2, #1
+ strb r0, [r6]
+ ldr r0, [r4, #0x20]
+ add r4, r4, #4
+ str r0, [r5, #0x38]
+ add r5, r5, #4
+ cmp r2, #4
+ blt _0224E5A0
+ ldr r0, _0224E5F4 ; =MOD11_02252B30
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0224E5F0: .word 0x00000195
+_0224E5F4: .word MOD11_02252B30
+
+ thumb_func_start MOD11_0224E5F8
+MOD11_0224E5F8: ; 0x0224E5F8
+ push {r3, r4, r5, lr}
+ add r5, r2, #0
+ ldr r2, _0224E624 ; =0x00000195
+ mov r4, #1
+ ldrb r2, [r1, r2]
+ tst r2, r4
+ beq _0224E60A
+ mov r4, #0x75
+ b _0224E60C
+_0224E60A:
+ sub r4, #0x76
+_0224E60C:
+ mov r2, #0x65
+ lsl r2, r2, #2
+ ldrb r1, [r1, r2]
+ ldrb r2, [r5]
+ bl MOD11_022567B8
+ ldrh r0, [r5, #2]
+ add r1, r4, #0
+ bl FUN_020054A8
+ pop {r3, r4, r5, pc}
+ nop
+_0224E624: .word 0x00000195
+
+ thumb_func_start MOD11_0224E628
+MOD11_0224E628: ; 0x0224E628
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #6]
+ add r0, r4, #0
+ str r5, [r1]
+ add r0, #0x94
+ ldrb r0, [r0]
+ strb r0, [r1, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ strb r0, [r1, #5]
+ ldr r0, _0224E658 ; =MOD11_02252DB4
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ nop
+_0224E658: .word MOD11_02252DB4
+
+ thumb_func_start MOD11_0224E65C
+MOD11_0224E65C: ; 0x0224E65C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x68
+ str r2, [sp]
+ bl FUN_02016998
+ add r1, r0, #0
+ str r5, [r1]
+ ldr r0, [sp]
+ str r4, [r1, #4]
+ ldrb r2, [r0]
+ add r0, r1, #0
+ add r0, #0x60
+ strb r2, [r0]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r2, [r4, r0]
+ add r0, r1, #0
+ add r0, #0x61
+ strb r2, [r0]
+ add r0, r1, #0
+ mov r2, #0
+ add r0, #0x62
+ strb r2, [r0]
+ ldr r0, [sp]
+ add r7, r1, #0
+ ldrb r3, [r0, #1]
+ add r0, r1, #0
+ add r0, #0x63
+ strb r3, [r0]
+ ldr r0, [sp]
+ ldr r3, [sp]
+ ldrb r0, [r0, #2]
+ add r4, r3, #0
+ add r5, r1, #0
+ str r0, [r1, #0x64]
+_0224E6AA:
+ ldrh r0, [r3, #4]
+ add r3, r3, #2
+ strh r0, [r7, #0x20]
+ ldr r0, [sp]
+ add r7, r7, #2
+ add r0, r0, r2
+ str r0, [sp, #0x10]
+ ldrb r0, [r0, #0xc]
+ str r0, [sp, #8]
+ add r0, r1, r2
+ ldr r6, [sp, #8]
+ add r0, #0x28
+ strb r6, [r0]
+ ldr r0, [sp, #0x10]
+ add r6, r1, r2
+ ldrb r0, [r0, #0x10]
+ str r6, [sp, #4]
+ add r6, #0x2c
+ str r0, [sp, #0xc]
+ strb r0, [r6]
+ ldr r0, [sp, #0x10]
+ str r6, [sp, #4]
+ add r6, r1, r2
+ ldrb r0, [r0, #0x14]
+ add r6, #0x30
+ add r2, r2, #1
+ strb r0, [r6]
+ ldr r0, [r4, #0x18]
+ add r4, r4, #4
+ str r0, [r5, #0x34]
+ add r5, r5, #4
+ cmp r2, #4
+ blt _0224E6AA
+ ldr r0, _0224E6F8 ; =MOD11_02252E50
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224E6F8: .word MOD11_02252E50
+
+ thumb_func_start MOD11_0224E6FC
+MOD11_0224E6FC: ; 0x0224E6FC
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ ldr r0, [r5, #0x2c]
+ add r4, r2, #0
+ cmp r0, #0
+ bne _0224E70E
+ bl ErrorHandling
+_0224E70E:
+ ldrb r1, [r4, #1]
+ add r0, r5, #0
+ add r0, #0x72
+ strb r1, [r0]
+ add r0, r5, #0
+ mov r2, #1
+ ldr r1, [r5, #0x50]
+ add r0, #0x28
+ lsl r2, r2, #8
+ bl MOD11_02256D70
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ add r0, r6, #0
+ bl MOD11_022567B8
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0224E734
+MOD11_0224E734: ; 0x0224E734
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ add r6, r0, #0
+ add r7, r2, #0
+ bl MOD11_02230140
+ str r0, [sp, #4]
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r6, [r4]
+ ldrb r0, [r7]
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r5, r0]
+ strb r0, [r4, #5]
+ add r0, r6, #0
+ bl MOD11_02230E54
+ str r0, [sp]
+ mov r2, #0x65
+ lsl r2, r2, #2
+ ldrb r2, [r5, r2]
+ ldrb r3, [r7, #1]
+ ldr r1, [sp, #4]
+ add r0, r6, #0
+ bl MOD11_02231684
+ strb r0, [r4, #6]
+ ldr r0, _0224E78C ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224E78C: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E790
+MOD11_0224E790: ; 0x0224E790
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ add r5, r0, #0
+ add r3, sp, #4
+ add r6, r1, #0
+ add r7, r2, #0
+ bl MOD11_02253B74
+ add r0, r5, #0
+ bl MOD11_022300C4
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ ldrb r0, [r7]
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, sp, #4
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224E7E4 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224E7E4: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E7E8
+MOD11_0224E7E8: ; 0x0224E7E8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ add r5, r0, #0
+ add r3, sp, #4
+ add r6, r1, #0
+ add r7, r2, #0
+ bl MOD11_02253C48
+ add r0, r5, #0
+ bl MOD11_022300C4
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ ldrb r0, [r7]
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, sp, #4
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224E83C ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224E83C: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E840
+MOD11_0224E840: ; 0x0224E840
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ add r2, sp, #0
+ add r6, r1, #0
+ bl MOD11_02253D28
+ add r0, r5, #0
+ bl MOD11_022300C4
+ add r7, r0, #0
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ mov r0, #0x22
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, sp, #0
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224E890 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224E890: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E894
+MOD11_0224E894: ; 0x0224E894
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ add r5, r0, #0
+ add r3, sp, #4
+ add r6, r1, #0
+ add r7, r2, #0
+ bl MOD11_02253DD4
+ add r0, r5, #0
+ bl MOD11_022300C4
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ ldrb r0, [r7]
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r1, [sp]
+ add r0, r5, #0
+ add r2, sp, #4
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224E8E8 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0224E8E8: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224E8EC
+MOD11_0224E8EC: ; 0x0224E8EC
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0xc
+ bl FUN_02016998
+ add r1, r0, #0
+ add r0, r4, #0
+ str r5, [r1]
+ add r0, #0x94
+ ldrb r0, [r0]
+ mov r2, #0
+ strb r0, [r1, #8]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ add r4, #0x28
+ strb r0, [r1, #9]
+ strb r2, [r1, #0xa]
+ ldr r0, _0224E920 ; =MOD11_02252FBC
+ str r4, [r1, #4]
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ nop
+_0224E920: .word MOD11_02252FBC
+
+ thumb_func_start MOD11_0224E924
+MOD11_0224E924: ; 0x0224E924
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r1, _0224E9B8 ; =0x00000196
+ add r4, r2, #0
+ ldrb r2, [r5, r1]
+ add r6, r0, #0
+ cmp r2, #0
+ bne _0224E976
+ bl MOD11_022300C4
+ str r0, [sp]
+ mov r0, #5
+ mov r1, #0xc
+ bl FUN_02016998
+ add r7, r0, #0
+ str r6, [r7]
+ ldrb r0, [r4]
+ strb r0, [r7, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r5, r0]
+ strb r0, [r7, #5]
+ mov r0, #0
+ strb r0, [r7, #7]
+ add r0, r6, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r1, [sp]
+ add r0, r6, #0
+ add r2, r4, #4
+ bl MOD11_0223178C
+ strb r0, [r7, #6]
+ ldr r0, _0224E9BC ; =MOD11_0225304C
+ add r1, r7, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, r6, r7, pc}
+_0224E976:
+ cmp r2, #1
+ bne _0224E992
+ sub r1, r1, #2
+ ldrb r1, [r5, r1]
+ bl MOD11_02256004
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ add r0, r6, #0
+ bl MOD11_022567B8
+ pop {r3, r4, r5, r6, r7, pc}
+_0224E992:
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ bne _0224E9A8
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ add r0, r6, #0
+ bl MOD11_02256004
+_0224E9A8:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ add r0, r6, #0
+ bl MOD11_022567B8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224E9B8: .word 0x00000196
+_0224E9BC: .word MOD11_0225304C
+
+ thumb_func_start MOD11_0224E9C0
+MOD11_0224E9C0: ; 0x0224E9C0
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r1, #0
+ add r4, r6, #0
+ add r4, #0x28
+ add r7, r0, #0
+ add r5, r2, #0
+ mov r0, #0
+ add r1, r4, #0
+ mov r2, #1
+ blx MIi_CpuClearFast
+ mov r0, #0x65
+ str r7, [r4, #0xc]
+ lsl r0, r0, #2
+ ldrb r1, [r6, r0]
+ add r0, r4, #0
+ add r0, #0x24
+ strb r1, [r0]
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ add r1, r0, #0
+ ldr r0, _0224EA70 ; =0x00000195
+ ldrb r0, [r6, r0]
+ bl MOD11_02257F6C
+ add r1, r4, #0
+ add r1, #0x25
+ strb r0, [r1]
+ add r0, r4, #0
+ ldrb r1, [r5]
+ add r0, #0x4c
+ mov r2, #0
+ strb r1, [r0]
+ mov r0, #2
+ ldrsh r0, [r5, r0]
+ str r0, [r4, #0x28]
+ ldrh r0, [r5, #4]
+ str r0, [r4, #0x2c]
+ add r0, r4, #0
+ ldrb r1, [r5, #1]
+ add r0, #0x48
+ strb r1, [r0]
+ ldrb r0, [r5, #7]
+ lsl r0, r0, #0x19
+ lsr r1, r0, #0x1e
+ add r0, r4, #0
+ add r0, #0x49
+ strb r1, [r0]
+ str r2, [r4, #0x30]
+ ldr r0, [r5, #8]
+ sub r2, #0x21
+ str r0, [r4, #0x38]
+ ldr r0, [r5, #0xc]
+ str r0, [r4, #0x3c]
+ add r0, r4, #0
+ ldrb r1, [r5, #6]
+ add r0, #0x26
+ strb r1, [r0]
+ ldrb r0, [r5, #7]
+ lsl r0, r0, #0x1b
+ lsr r1, r0, #0x1b
+ add r0, r4, #0
+ add r0, #0x4a
+ strb r1, [r0]
+ ldrb r0, [r5, #7]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x1f
+ add r0, r4, #0
+ add r0, #0x4b
+ strb r1, [r0]
+ add r0, r4, #0
+ ldr r1, [r5, #0x10]
+ add r0, #0x27
+ strb r1, [r0]
+ ldr r1, [r4, #0x28]
+ add r0, r4, #0
+ bl MOD11_02256D70
+ add r1, r4, #0
+ ldr r0, [r4, #0xc]
+ add r1, #0x24
+ add r4, #0x4c
+ ldrb r1, [r1]
+ ldrb r2, [r4]
+ bl MOD11_022567B8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224EA70: .word 0x00000195
+
+ thumb_func_start MOD11_0224EA74
+MOD11_0224EA74: ; 0x0224EA74
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r4, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #0xa]
+ str r5, [r1]
+ ldrb r0, [r4]
+ strb r0, [r1, #8]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r1, #9]
+ ldrh r0, [r4, #2]
+ strh r0, [r1, #0xc]
+ ldrb r0, [r4, #1]
+ strb r0, [r1, #0xe]
+ ldr r0, _0224EAA8 ; =MOD11_022533F4
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224EAA8: .word MOD11_022533F4
+
+ thumb_func_start MOD11_0224EAAC
+MOD11_0224EAAC: ; 0x0224EAAC
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r4, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #0xa]
+ str r6, [r1]
+ ldr r0, [r5, #0x20]
+ str r0, [r1, #4]
+ ldrb r0, [r4]
+ strb r0, [r1, #8]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r5, r0]
+ strb r0, [r1, #9]
+ ldrb r0, [r4, #1]
+ strb r0, [r1, #0xb]
+ strb r2, [r1, #0xc]
+ ldrb r0, [r4, #2]
+ strb r0, [r1, #0xd]
+ ldr r0, _0224EAE8 ; =MOD11_0225352C
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ nop
+_0224EAE8: .word MOD11_0225352C
+
+ thumb_func_start MOD11_0224EAEC
+MOD11_0224EAEC: ; 0x0224EAEC
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r4, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r0, #0
+ strb r0, [r1, #7]
+ str r6, [r1]
+ ldrb r2, [r4]
+ strb r2, [r1, #4]
+ mov r2, #0x65
+ lsl r2, r2, #2
+ ldrb r3, [r5, r2]
+ add r2, r2, #1
+ strb r3, [r1, #5]
+ ldrb r2, [r5, r2]
+ strb r2, [r1, #6]
+_0224EB16:
+ add r2, r4, r0
+ ldrb r3, [r2, #2]
+ add r2, r1, r0
+ add r0, r0, #1
+ strb r3, [r2, #8]
+ cmp r0, #6
+ blt _0224EB16
+ ldr r0, _0224EB30 ; =MOD11_0225359C
+ mov r2, #0
+ strb r2, [r1, #0xe]
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224EB30: .word MOD11_0225359C
+
+ thumb_func_start MOD11_0224EB34
+MOD11_0224EB34: ; 0x0224EB34
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r6, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #7]
+ str r5, [r1]
+ ldrb r0, [r6]
+ strb r0, [r1, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r3, [r4, r0]
+ add r0, r0, #1
+ strb r3, [r1, #5]
+ ldrb r0, [r4, r0]
+ strb r0, [r1, #6]
+ ldr r0, _0224EB68 ; =MOD11_02253650
+ strb r2, [r1, #0xe]
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0224EB68: .word MOD11_02253650
+
+ thumb_func_start MOD11_0224EB6C
+MOD11_0224EB6C: ; 0x0224EB6C
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r4, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r0, #0
+ strb r0, [r1, #7]
+ str r6, [r1]
+ ldrb r2, [r4]
+ strb r2, [r1, #4]
+ mov r2, #0x65
+ lsl r2, r2, #2
+ ldrb r3, [r5, r2]
+ add r2, r2, #1
+ strb r3, [r1, #5]
+ ldrb r2, [r5, r2]
+ strb r2, [r1, #6]
+_0224EB96:
+ add r2, r4, r0
+ ldrb r3, [r2, #2]
+ add r2, r1, r0
+ add r0, r0, #1
+ strb r3, [r2, #8]
+ cmp r0, #6
+ blt _0224EB96
+ mov r0, #1
+ strb r0, [r1, #0xe]
+ ldr r0, _0224EBB4 ; =MOD11_0225359C
+ mov r2, #0
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ nop
+_0224EBB4: .word MOD11_0225359C
+
+ thumb_func_start MOD11_0224EBB8
+MOD11_0224EBB8: ; 0x0224EBB8
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ add r6, r2, #0
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #7]
+ str r5, [r1]
+ ldrb r0, [r6]
+ strb r0, [r1, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r3, [r4, r0]
+ add r0, r0, #1
+ strb r3, [r1, #5]
+ ldrb r0, [r4, r0]
+ strb r0, [r1, #6]
+ mov r0, #1
+ strb r0, [r1, #0xe]
+ ldr r0, _0224EBF0 ; =MOD11_02253650
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ nop
+_0224EBF0: .word MOD11_02253650
+
+ thumb_func_start MOD11_0224EBF4
+MOD11_0224EBF4: ; 0x0224EBF4
+ push {r4, r5, lr}
+ sub sp, #0x24
+ add r4, r1, #0
+ ldr r1, _0224EC44 ; =0x00000196
+ add r5, r0, #0
+ ldrb r1, [r4, r1]
+ cmp r1, #0
+ bne _0224EC32
+ bl MOD11_022300C4
+ add r1, r0, #0
+ ldr r2, _0224EC48 ; =0x0000039B
+ add r0, sp, #0
+ strh r2, [r0, #2]
+ mov r3, #0
+ strb r3, [r0, #1]
+ add r0, r5, #0
+ add r2, sp, #0
+ bl MOD11_0223178C
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_0222FF6C
+ mov r1, #1
+ bl FUN_0200D858
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_022312C8
+_0224EC32:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ add r0, r5, #0
+ mov r2, #0x37
+ bl MOD11_022567B8
+ add sp, #0x24
+ pop {r4, r5, pc}
+ .align 2, 0
+_0224EC44: .word 0x00000196
+_0224EC48: .word 0x0000039B
+
+ thumb_func_start MOD11_0224EC4C
+MOD11_0224EC4C: ; 0x0224EC4C
+ push {r4, r5, r6, lr}
+ sub sp, #0x50
+ mov r3, #0x65
+ add r4, r1, #0
+ lsl r3, r3, #2
+ add r6, r2, #0
+ ldrb r3, [r4, r3]
+ add r1, r6, #0
+ add r2, sp, #0
+ add r5, r0, #0
+ bl MOD11_0225452C
+ add r0, sp, #0
+ mov r1, #5
+ bl MOD08_0222A494
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ ldrb r2, [r6]
+ add r0, r5, #0
+ bl MOD11_022567B8
+ add sp, #0x50
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224EC80
+MOD11_0224EC80: ; 0x0224EC80
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #0xe]
+ str r5, [r1]
+ add r0, r4, #0
+ str r4, [r1, #4]
+ add r0, #0x94
+ ldrb r0, [r0]
+ strb r0, [r1, #0xc]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ strb r0, [r1, #0xd]
+ ldr r0, [r4, #0x20]
+ str r0, [r1, #8]
+ ldr r0, _0224ECB4 ; =MOD11_022536D4
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224ECB4: .word MOD11_022536D4
+
+ thumb_func_start MOD11_0224ECB8
+MOD11_0224ECB8: ; 0x0224ECB8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #5
+ mov r1, #0x10
+ bl FUN_02016998
+ add r1, r0, #0
+ mov r2, #0
+ strb r2, [r1, #0xe]
+ str r5, [r1]
+ add r0, r4, #0
+ str r4, [r1, #4]
+ add r0, #0x94
+ ldrb r0, [r0]
+ strb r0, [r1, #0xc]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r4, r0]
+ strb r0, [r1, #0xd]
+ ldr r0, [r4, #0x20]
+ str r0, [r1, #8]
+ ldr r0, _0224ECEC ; =MOD11_02253720
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0224ECEC: .word MOD11_02253720
+
+ thumb_func_start MOD11_0224ECF0
+MOD11_0224ECF0: ; 0x0224ECF0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ add r2, sp, #0
+ add r6, r1, #0
+ bl MOD11_02254108
+ add r0, r5, #0
+ bl MOD11_022300C4
+ add r7, r0, #0
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ mov r0, #0x3b
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, sp, #0
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224ED40 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224ED40: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224ED44
+MOD11_0224ED44: ; 0x0224ED44
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ add r3, sp, #0
+ add r6, r1, #0
+ bl MOD11_022541C4
+ add r0, r5, #0
+ bl MOD11_022300C4
+ add r7, r0, #0
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ mov r0, #0x3c
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, sp, #0
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224ED94 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224ED94: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224ED98
+MOD11_0224ED98: ; 0x0224ED98
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ add r2, sp, #0
+ add r6, r1, #0
+ bl MOD11_022542B4
+ add r0, r5, #0
+ bl MOD11_022300C4
+ add r7, r0, #0
+ mov r0, #5
+ mov r1, #8
+ bl FUN_02016998
+ add r4, r0, #0
+ str r5, [r4]
+ mov r0, #0x3d
+ strb r0, [r4, #4]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ strb r0, [r4, #5]
+ add r0, r5, #0
+ bl MOD11_02230E54
+ add r3, r0, #0
+ add r0, r5, #0
+ add r1, r7, #0
+ add r2, sp, #0
+ bl MOD11_0223178C
+ strb r0, [r4, #6]
+ ldr r0, _0224EDE8 ; =MOD11_02253008
+ add r1, r4, #0
+ mov r2, #0
+ bl FUN_0200CA44
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0224EDE8: .word MOD11_02253008
+
+ thumb_func_start MOD11_0224EDEC
+MOD11_0224EDEC: ; 0x0224EDEC
+ push {r4, r5, r6, lr}
+ sub sp, #0x50
+ mov r3, #0x65
+ add r4, r1, #0
+ lsl r3, r3, #2
+ add r6, r2, #0
+ ldrb r3, [r4, r3]
+ add r1, r6, #0
+ add r2, sp, #0
+ add r5, r0, #0
+ bl MOD11_0225452C
+ add r0, sp, #0
+ mov r1, #5
+ bl MOD08_0222A568
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r4, r1]
+ ldrb r2, [r6]
+ add r0, r5, #0
+ bl MOD11_022567B8
+ add sp, #0x50
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224EE20
+MOD11_0224EE20: ; 0x0224EE20
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ add r5, r1, #0
+ ldr r0, _0224EE70 ; =0x00000195
+ mov r1, #1
+ ldrb r0, [r5, r0]
+ add r4, r2, #0
+ tst r0, r1
+ beq _0224EE36
+ mov r1, #0x75
+ b _0224EE38
+_0224EE36:
+ sub r1, #0x76
+_0224EE38:
+ ldrb r0, [r4, #1]
+ cmp r0, #0
+ beq _0224EE48
+ cmp r0, #1
+ beq _0224EE58
+ cmp r0, #2
+ beq _0224EE50
+ b _0224EE5E
+_0224EE48:
+ ldr r0, _0224EE74 ; =0x000006FE
+ bl FUN_020054A8
+ b _0224EE5E
+_0224EE50:
+ ldr r0, _0224EE78 ; =0x000006FC
+ bl FUN_020054A8
+ b _0224EE5E
+_0224EE58:
+ ldr r0, _0224EE7C ; =0x000006FD
+ bl FUN_020054A8
+_0224EE5E:
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ add r0, r6, #0
+ bl MOD11_022567B8
+ pop {r4, r5, r6, pc}
+ nop
+_0224EE70: .word 0x00000195
+_0224EE74: .word 0x000006FE
+_0224EE78: .word 0x000006FC
+_0224EE7C: .word 0x000006FD
+
+ thumb_func_start MOD11_0224EE80
+MOD11_0224EE80: ; 0x0224EE80
+ push {r4, r5, r6, lr}
+ add r4, r2, #0
+ add r6, r0, #0
+ ldrh r0, [r4, #2]
+ add r5, r1, #0
+ bl FUN_0200521C
+ mov r1, #0x65
+ lsl r1, r1, #2
+ ldrb r1, [r5, r1]
+ ldrb r2, [r4]
+ add r0, r6, #0
+ bl MOD11_022567B8
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0224EEA0
+MOD11_0224EEA0: ; 0x0224EEA0
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x6c
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ ldrb r1, [r4, #0x12]
+ add r5, r0, #0
+ cmp r1, #5
+ bls _0224EEB8
+ b _0224F2C2
+_0224EEB8:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0224EEC4: ; jump table
+ .short _0224EED0 - _0224EEC4 - 2 ; case 0
+ .short _0224EEDA - _0224EEC4 - 2 ; case 1
+ .short _0224EEE8 - _0224EEC4 - 2 ; case 2
+ .short _0224F15E - _0224EEC4 - 2 ; case 3
+ .short _0224F1B2 - _0224EEC4 - 2 ; case 4
+ .short _0224F1D0 - _0224EEC4 - 2 ; case 5
+_0224EED0:
+ mov r0, #0x1c
+ str r0, [r4, #0x20]
+ ldrb r0, [r4, #0x12]
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+_0224EEDA:
+ ldr r0, [r4, #0x20]
+ sub r0, r0, #1
+ str r0, [r4, #0x20]
+ bne _0224EFAE
+ ldrb r0, [r4, #0x12]
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+_0224EEE8:
+ ldrb r0, [r4, #0x13]
+ add r1, sp, #0x10
+ cmp r0, #2
+ ldr r0, [r4, #0xc]
+ beq _0224EEF4
+ b _0224F040
+_0224EEF4:
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0x10
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #1
+ beq _0224EF08
+ cmp r0, #3
+ bne _0224EF2A
+_0224EF08:
+ add r1, sp, #0x10
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ cmp r0, #0xc0
+ ldr r0, [r4, #0xc]
+ bge _0224EF20
+ ldr r0, [r0]
+ mov r1, #8
+ mov r2, #0
+ bl FUN_0200C82C
+ b _0224EF2A
+_0224EF20:
+ ldr r0, [r0]
+ mov r1, #0xc0
+ mov r2, #0x58
+ bl FUN_0200C714
+_0224EF2A:
+ ldr r0, [r4, #0xc]
+ add r1, sp, #0x10
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0x10
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #1
+ bne _0224EF4E
+ add r3, sp, #0x10
+ mov r2, #2
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_02007558
+ b _0224EF9E
+_0224EF4E:
+ cmp r0, #3
+ bne _0224EF78
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0x10
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r0, r1
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x18
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #8]
+ neg r2, r2
+ bl FUN_020079E0
+ b _0224EF9E
+_0224EF78:
+ cmp r0, #5
+ bne _0224EF9E
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0x10
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r1, r0
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x10
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #8]
+ bl FUN_020079E0
+_0224EF9E:
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_0200782C
+ mov r1, #0x14
+ ldrsh r1, [r4, r1]
+ cmp r0, r1
+ bge _0224EFB0
+_0224EFAE:
+ b _0224F2D8
+_0224EFB0:
+ ldr r0, [r4, #8]
+ mov r1, #1
+ bl FUN_02007314
+ ldr r0, [r4, #8]
+ mov r1, #0x2c
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #8]
+ mov r1, #0x2d
+ mov r2, #0
+ bl FUN_02007558
+ mov r2, #0x14
+ ldrsh r2, [r4, r2]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_02007558
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ ldr r1, [r4, #0x24]
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ ldrb r1, [r4, #0x11]
+ str r1, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldrb r3, [r4, #0x13]
+ ldr r1, [r4, #8]
+ bl FUN_02069038
+ ldrb r1, [r4, #0x11]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r1, #5
+ str r1, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldr r1, [r4, #0x18]
+ mov r3, #0x75
+ bl FUN_02069FB0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #1
+ beq _0224F01C
+ cmp r0, #3
+ bne _0224F028
+_0224F01C:
+ ldr r0, [r4, #0xc]
+ mov r1, #0xc0
+ ldr r0, [r0]
+ mov r2, #0x58
+ bl FUN_0200C714
+_0224F028:
+ mov r2, #0
+ str r2, [sp]
+ ldr r0, [r4, #8]
+ mov r1, #8
+ add r3, r2, #0
+ bl FUN_02007E68
+ ldrb r0, [r4, #0x12]
+ add sp, #0x6c
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_0224F040:
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0x10
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #0
+ beq _0224F054
+ cmp r0, #2
+ bne _0224F076
+_0224F054:
+ add r0, sp, #0x10
+ mov r1, #2
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x40
+ ldr r0, [r4, #0xc]
+ ble _0224F06C
+ ldr r0, [r0]
+ sub r1, #0xa
+ mov r2, #0
+ bl FUN_0200C82C
+ b _0224F076
+_0224F06C:
+ ldr r0, [r0]
+ mov r1, #0x40
+ mov r2, #0x88
+ bl FUN_0200C714
+_0224F076:
+ ldr r0, [r4, #0xc]
+ add r1, sp, #0x10
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0x10
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #0
+ bne _0224F09A
+ add r3, sp, #0x10
+ mov r2, #2
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_02007558
+ b _0224F0EA
+_0224F09A:
+ cmp r0, #2
+ bne _0224F0C2
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0x10
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r1, r0
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x18
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #8]
+ bl FUN_020079E0
+ b _0224F0EA
+_0224F0C2:
+ cmp r0, #4
+ bne _0224F0EA
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0x10
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r0, r1
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x10
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #8]
+ neg r2, r2
+ bl FUN_020079E0
+_0224F0EA:
+ mov r0, #0x14
+ ldrsh r5, [r4, r0]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_0200782C
+ cmp r0, r5
+ bgt _0224F1C0
+ ldr r0, [r4, #8]
+ mov r1, #0
+ add r2, r5, #0
+ bl FUN_02007558
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ ldr r1, [r4, #0x24]
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ ldrb r1, [r4, #0x11]
+ str r1, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldrb r3, [r4, #0x13]
+ ldr r1, [r4, #8]
+ bl FUN_02069038
+ ldrb r1, [r4, #0x11]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r3, #5
+ str r3, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldr r1, [r4, #0x18]
+ sub r3, #0x7a
+ bl FUN_02069FB0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #0
+ beq _0224F148
+ cmp r0, #2
+ bne _0224F154
+_0224F148:
+ ldr r0, [r4, #0xc]
+ mov r1, #0x40
+ ldr r0, [r0]
+ mov r2, #0x88
+ bl FUN_0200C714
+_0224F154:
+ ldrb r0, [r4, #0x12]
+ add sp, #0x6c
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_0224F15E:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ ldrb r1, [r4, #0x11]
+ bl FUN_02014D7C
+ cmp r0, #1
+ bne _0224F1C0
+ ldr r0, [r4, #8]
+ bl FUN_02007390
+ cmp r0, #0
+ bne _0224F1C0
+ ldr r0, [r4, #0x28]
+ cmp r0, #0
+ beq _0224F1AA
+ ldrb r1, [r4, #0x11]
+ mov r0, #0xb
+ add r2, sp, #0x14
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x14
+ bl MOD11_02254404
+ mov r0, #4
+ add sp, #0x6c
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_0224F1AA:
+ mov r0, #0xff
+ add sp, #0x6c
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_0224F1B2:
+ bl FUN_02212384
+ add r0, r5, #0
+ bl FUN_022123A0
+ cmp r0, #0
+ beq _0224F1C2
+_0224F1C0:
+ b _0224F2D8
+_0224F1C2:
+ add r0, r5, #0
+ bl FUN_022123B0
+ mov r0, #0xff
+ add sp, #0x6c
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_0224F1D0:
+ ldrb r5, [r4, #0x13]
+ cmp r5, #2
+ bne _0224F25E
+ ldr r0, [r4, #8]
+ mov r1, #1
+ bl FUN_02007314
+ ldr r0, [r4, #8]
+ mov r1, #0x2c
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #8]
+ mov r1, #0x2d
+ mov r2, #0
+ bl FUN_02007558
+ mov r2, #0x14
+ ldrsh r2, [r4, r2]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_02007558
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ ldr r1, [r4, #0x24]
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ ldrb r1, [r4, #0x11]
+ str r1, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldrb r3, [r4, #0x13]
+ ldr r1, [r4, #8]
+ bl FUN_02069038
+ ldrb r1, [r4, #0x11]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r1, #5
+ str r1, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldr r1, [r4, #0x18]
+ mov r3, #0x75
+ bl FUN_02069FB0
+ ldr r0, [r4, #0x1c]
+ cmp r0, #1
+ beq _0224F242
+ cmp r0, #3
+ bne _0224F24E
+_0224F242:
+ ldr r0, [r4, #0xc]
+ mov r1, #0xc0
+ ldr r0, [r0]
+ mov r2, #0x58
+ bl FUN_0200C714
+_0224F24E:
+ mov r2, #0
+ str r2, [sp]
+ ldr r0, [r4, #8]
+ mov r1, #8
+ add r3, r2, #0
+ bl FUN_02007E68
+ b _0224F2BA
+_0224F25E:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ ldr r1, [r4, #0x24]
+ add r3, r5, #0
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ ldrb r1, [r4, #0x11]
+ str r1, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldr r1, [r4, #8]
+ bl FUN_02069038
+ ldrb r1, [r4, #0x11]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r3, #5
+ str r3, [sp, #8]
+ ldrh r2, [r4, #0x16]
+ ldr r1, [r4, #0x18]
+ sub r3, #0x7a
+ bl FUN_02069FB0
+ mov r2, #0x14
+ ldrsh r2, [r4, r2]
+ ldr r0, [r4, #8]
+ mov r1, #0
+ bl FUN_02007558
+ ldr r0, [r4, #0x1c]
+ cmp r0, #0
+ beq _0224F2AE
+ cmp r0, #2
+ bne _0224F2BA
+_0224F2AE:
+ ldr r0, [r4, #0xc]
+ mov r1, #0x40
+ ldr r0, [r0]
+ mov r2, #0x88
+ bl FUN_0200C714
+_0224F2BA:
+ mov r0, #3
+ add sp, #0x6c
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_0224F2C2:
+ ldrb r1, [r4, #0x11]
+ ldrb r2, [r4, #0x10]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_0224F2D8:
+ add sp, #0x6c
+ pop {r3, r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0224F2DC
+MOD11_0224F2DC: ; 0x0224F2DC
+ push {r4, r5, lr}
+ sub sp, #0x9c
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ cmp r0, #7
+ bls _0224F2F0
+ b _0224F7A2
+_0224F2F0:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0224F2FC: ; jump table
+ .short _0224F30C - _0224F2FC - 2 ; case 0
+ .short _0224F322 - _0224F2FC - 2 ; case 1
+ .short _0224F366 - _0224F2FC - 2 ; case 2
+ .short _0224F4B0 - _0224F2FC - 2 ; case 3
+ .short _0224F4CC - _0224F2FC - 2 ; case 4
+ .short _0224F6E2 - _0224F2FC - 2 ; case 5
+ .short _0224F6F6 - _0224F2FC - 2 ; case 6
+ .short _0224F77C - _0224F2FC - 2 ; case 7
+_0224F30C:
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0x96
+ strb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x83
+ strb r1, [r0]
+_0224F322:
+ add r1, sp, #0x38
+ mov r0, #0
+ str r0, [r1]
+ str r0, [r1, #4]
+ str r0, [r1, #8]
+ add r0, r4, #0
+ add r0, #0x82
+ ldrb r0, [r0]
+ add r1, r4, #0
+ add r2, r4, #0
+ str r0, [sp, #0x38]
+ add r1, #0x81
+ add r2, #0x8c
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_02230014
+ str r0, [sp, #0x40]
+ mov r0, #5
+ add r1, sp, #0x38
+ bl MOD08_02228218
+ str r0, [r4, #8]
+ bl MOD08_02228524
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x9c
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F366:
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A80
+ cmp r0, #0
+ bne _0224F3AE
+ ldr r0, [r4, #8]
+ bl MOD08_02228570
+ cmp r0, #1
+ bne _0224F3AE
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A00
+ cmp r0, #1
+ bne _0224F3AE
+ add r0, r4, #0
+ add r0, #0x82
+ ldrb r0, [r0]
+ cmp r0, #4
+ bne _0224F3B8
+ add r0, r4, #0
+ add r0, #0x96
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x96
+ strb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x96
+ ldrb r0, [r0]
+ cmp r0, #0xc
+ bhs _0224F3B0
+_0224F3AE:
+ b _0224F7C0
+_0224F3B0:
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0x96
+ strb r1, [r0]
+_0224F3B8:
+ ldr r0, [r4]
+ bl MOD11_02230068
+ add r1, r4, #0
+ add r1, #0x86
+ add r5, r0, #0
+ ldrh r1, [r1]
+ add r0, sp, #0x24
+ bl FUN_02069010
+ add r0, r4, #0
+ add r0, #0x82
+ ldrb r3, [r0]
+ mov r0, #6
+ add r2, r4, #0
+ add r1, r3, #0
+ mul r1, r0
+ ldr r0, _0224F690 ; =0x0222D552
+ add r2, #0x14
+ ldrsh r0, [r0, r1]
+ str r0, [sp]
+ ldr r0, _0224F694 ; =0x0222D554
+ ldrsh r0, [r0, r1]
+ add r1, r5, #0
+ lsl r5, r3, #2
+ str r0, [sp, #4]
+ add r0, r4, #0
+ add r0, #0x85
+ ldrb r0, [r0]
+ ldr r3, _0224F698 ; =0x0222D538
+ str r0, [sp, #8]
+ mov r0, #0x90
+ ldrsb r0, [r4, r0]
+ ldrsh r3, [r3, r5]
+ str r0, [sp, #0xc]
+ mov r0, #0x91
+ ldrsb r0, [r4, r0]
+ str r0, [sp, #0x10]
+ add r0, r4, #0
+ add r0, #0x93
+ ldrb r0, [r0]
+ str r0, [sp, #0x14]
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r0, [r0]
+ str r0, [sp, #0x18]
+ add r0, sp, #0x24
+ str r0, [sp, #0x1c]
+ mov r0, #0
+ str r0, [sp, #0x20]
+ ldr r0, [r4]
+ bl MOD11_02253A88
+ ldr r1, [r4, #4]
+ mov r2, #0
+ str r0, [r1, #0x20]
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ ldr r0, [r0, #0x20]
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #0xd
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #0x2c
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #6
+ ldr r0, [r0, #0x20]
+ mov r2, #1
+ bl FUN_02007558
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ mov r3, #0
+ lsl r1, r0, #1
+ ldr r0, _0224F69C ; =0x0225E84A
+ ldrh r0, [r0, r1]
+ mov r1, #0x10
+ add r2, r1, #0
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007E68
+ ldr r0, [r4, #4]
+ mov r1, #6
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #8]
+ bl MOD08_022285A4
+ add r0, r4, #0
+ add r0, #0x84
+ ldrb r0, [r0]
+ cmp r0, #2
+ ldr r0, _0224F6A0 ; =0x00000706
+ bne _0224F498
+ mov r1, #0x75
+ bl FUN_020054A8
+ b _0224F4A0
+_0224F498:
+ mov r1, #0x74
+ mvn r1, r1
+ bl FUN_020054A8
+_0224F4A0:
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x9c
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F4B0:
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_022299E8
+ cmp r0, #1
+ beq _0224F4CC
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x83
+ strb r1, [r0]
+_0224F4CC:
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ ldr r0, [r0, #0x20]
+ bl FUN_0200782C
+ mov r1, #1
+ lsl r1, r1, #8
+ cmp r0, r1
+ bne _0224F5B2
+ ldr r0, [r4, #8]
+ bl MOD08_022285B4
+ cmp r0, #0
+ bne _0224F5B2
+ add r0, r4, #0
+ add r0, #0x84
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _0224F534
+ ldr r0, [r4, #4]
+ mov r1, #1
+ ldr r0, [r0, #0x20]
+ bl FUN_02007314
+ ldr r0, [r4, #4]
+ mov r1, #0x2d
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r1, #5
+ add r2, r4, #0
+ str r1, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ mov r3, #0x75
+ bl FUN_02069FB0
+ b _0224F55E
+_0224F534:
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r3, #5
+ add r2, r4, #0
+ str r3, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ sub r3, #0x7a
+ bl FUN_02069FB0
+_0224F55E:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ add r1, r4, #0
+ add r1, #0x8d
+ ldrb r1, [r1]
+ add r2, r4, #0
+ add r3, r4, #0
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ add r2, #0x86
+ add r3, #0x84
+ str r1, [sp, #8]
+ ldr r1, [r4, #4]
+ ldrh r2, [r2]
+ ldrb r3, [r3]
+ ldr r1, [r1, #0x20]
+ bl FUN_02069038
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ mov r2, #0
+ add r3, r2, #0
+ lsl r1, r0, #1
+ ldr r0, _0224F69C ; =0x0225E84A
+ ldrh r0, [r0, r1]
+ mov r1, #0x10
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007E68
+ mov r0, #5
+ add r4, #0x83
+ add sp, #0x9c
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F5B2:
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ ldr r0, [r0, #0x20]
+ bl FUN_0200782C
+ mov r2, #1
+ lsl r2, r2, #8
+ cmp r0, r2
+ ldr r0, [r4, #4]
+ blt _0224F6BC
+ ldr r0, [r0, #0x20]
+ mov r1, #0xc
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #0xd
+ add r2, r1, #0
+ ldr r0, [r0, #0x20]
+ add r2, #0xf3
+ bl FUN_02007558
+ add r0, r4, #0
+ add r0, #0x84
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _0224F628
+ ldr r0, [r4, #4]
+ mov r1, #1
+ ldr r0, [r0, #0x20]
+ bl FUN_02007314
+ ldr r0, [r4, #4]
+ mov r1, #0x2d
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r1, #5
+ add r2, r4, #0
+ str r1, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ mov r3, #0x75
+ bl FUN_02069FB0
+ b _0224F652
+_0224F628:
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r3, #5
+ add r2, r4, #0
+ str r3, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ sub r3, #0x7a
+ bl FUN_02069FB0
+_0224F652:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ add r1, r4, #0
+ add r1, #0x8d
+ ldrb r1, [r1]
+ add r2, r4, #0
+ add r3, r4, #0
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ add r2, #0x86
+ add r3, #0x84
+ str r1, [sp, #8]
+ ldr r1, [r4, #4]
+ ldrh r2, [r2]
+ ldrb r3, [r3]
+ ldr r1, [r1, #0x20]
+ bl FUN_02069038
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ mov r2, #0
+ mov r3, #1
+ lsl r1, r0, #1
+ ldr r0, _0224F69C ; =0x0225E84A
+ b _0224F6A4
+ .align 2, 0
+_0224F690: .word 0x0222D552
+_0224F694: .word 0x0222D554
+_0224F698: .word 0x0222D538
+_0224F69C: .word 0x0225E84A
+_0224F6A0: .word 0x00000706
+_0224F6A4:
+ ldrh r0, [r0, r1]
+ mov r1, #0x10
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007E68
+ mov r0, #5
+ add r4, #0x83
+ add sp, #0x9c
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F6BC:
+ ldr r0, [r0, #0x20]
+ mov r1, #0xc
+ mov r2, #0x20
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0xd
+ ldr r0, [r0, #0x20]
+ mov r2, #0x20
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0x90
+ ldrsb r1, [r4, r1]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007F34
+ add sp, #0x9c
+ pop {r4, r5, pc}
+_0224F6E2:
+ ldr r0, [r4, #8]
+ bl MOD08_022285B4
+ cmp r0, #0
+ bne _0224F7C0
+ mov r0, #6
+ add r4, #0x83
+ add sp, #0x9c
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F6F6:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ bl FUN_02014D7C
+ cmp r0, #1
+ bne _0224F7C0
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007390
+ cmp r0, #0
+ bne _0224F7C0
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A2C
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x88
+ str r1, [r0]
+ ldr r0, [r4, #8]
+ bl MOD08_02228618
+ add r0, r4, #0
+ add r0, #0x92
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0224F772
+ mov r0, #5
+ bl FUN_02211F5C
+ str r0, [r4, #0x24]
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r1, [r0]
+ mov r0, #0xb
+ add r2, sp, #0x44
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r2, [r4, #0x24]
+ add r3, sp, #0x44
+ bl MOD11_02254404
+ mov r0, #7
+ add r4, #0x83
+ add sp, #0x9c
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F772:
+ mov r0, #0xff
+ add r4, #0x83
+ add sp, #0x9c
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F77C:
+ ldr r0, [r4, #0x24]
+ bl FUN_02212384
+ ldr r0, [r4, #0x24]
+ bl FUN_022123A0
+ cmp r0, #0
+ bne _0224F7C0
+ ldr r0, [r4, #0x24]
+ bl FUN_022123B0
+ ldr r0, [r4, #0x24]
+ bl FUN_02212024
+ mov r0, #0xff
+ add r4, #0x83
+ add sp, #0x9c
+ strb r0, [r4]
+ pop {r4, r5, pc}
+_0224F7A2:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x81
+ add r2, #0x80
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0224F7C0:
+ add sp, #0x9c
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD11_0224F7C4
+MOD11_0224F7C4: ; 0x0224F7C4
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x1c4
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r1, r4, #0
+ add r1, #0x83
+ ldrb r1, [r1]
+ add r5, r0, #0
+ cmp r1, #0xb
+ bls _0224F7E0
+ b _0224FD68
+_0224F7E0:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0224F7EC: ; jump table
+ .short _0224F804 - _0224F7EC - 2 ; case 0
+ .short _0224F90C - _0224F7EC - 2 ; case 1
+ .short _0224F958 - _0224F7EC - 2 ; case 2
+ .short _0224F9E2 - _0224F7EC - 2 ; case 3
+ .short _0224F9FA - _0224F7EC - 2 ; case 4
+ .short _0224FC14 - _0224F7EC - 2 ; case 5
+ .short _0224FC28 - _0224F7EC - 2 ; case 6
+ .short _0224FC9C - _0224F7EC - 2 ; case 7
+ .short _0224FCC0 - _0224F7EC - 2 ; case 8
+ .short _0224FC9C - _0224F7EC - 2 ; case 9
+ .short _0224FD0C - _0224F7EC - 2 ; case 10
+ .short _0224FC9C - _0224F7EC - 2 ; case 11
+_0224F804:
+ add r0, r4, #0
+ add r0, #0x82
+ ldrb r1, [r0]
+ ldr r0, _0224FB58 ; =0x0225E818
+ ldrb r0, [r0, r1]
+ str r0, [sp, #0x44]
+ mov r0, #5
+ str r0, [sp, #0x48]
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r0, [r0]
+ str r0, [sp, #0x50]
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ str r0, [sp, #0x54]
+ ldr r0, [r4]
+ bl MOD11_02230078
+ str r0, [sp, #0x60]
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ str r0, [sp, #0x64]
+ mov r2, #1
+ mov r1, #0
+ add r0, r4, #0
+ str r2, [sp, #0x58]
+ str r1, [sp, #0x5c]
+ add r0, #0x94
+ ldrh r0, [r0]
+ cmp r0, #1
+ bne _0224F84A
+ str r2, [sp, #0x4c]
+ b _0224F84C
+_0224F84A:
+ str r1, [sp, #0x4c]
+_0224F84C:
+ add r0, sp, #0x44
+ bl MOD08_02229918
+ str r0, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_02230068
+ add r1, r4, #0
+ add r1, #0x86
+ add r5, r0, #0
+ ldrh r1, [r1]
+ add r0, sp, #0x30
+ bl FUN_02069010
+ add r0, r4, #0
+ add r0, #0x82
+ ldrb r3, [r0]
+ mov r0, #6
+ add r2, r4, #0
+ add r1, r3, #0
+ mul r1, r0
+ ldr r0, _0224FB5C ; =0x0222D552
+ add r2, #0x14
+ ldrsh r0, [r0, r1]
+ str r0, [sp]
+ ldr r0, _0224FB60 ; =0x0222D554
+ ldrsh r0, [r0, r1]
+ add r1, r5, #0
+ lsl r5, r3, #2
+ str r0, [sp, #4]
+ add r0, r4, #0
+ add r0, #0x85
+ ldrb r0, [r0]
+ ldr r3, _0224FB64 ; =0x0222D538
+ str r0, [sp, #8]
+ mov r0, #0x90
+ ldrsb r0, [r4, r0]
+ ldrsh r3, [r3, r5]
+ str r0, [sp, #0xc]
+ mov r0, #0x91
+ ldrsb r0, [r4, r0]
+ str r0, [sp, #0x10]
+ add r0, r4, #0
+ add r0, #0x93
+ ldrb r0, [r0]
+ str r0, [sp, #0x14]
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r0, [r0]
+ str r0, [sp, #0x18]
+ add r0, sp, #0x30
+ str r0, [sp, #0x1c]
+ mov r0, #0
+ str r0, [sp, #0x20]
+ ldr r0, [r4]
+ bl MOD11_02253A88
+ ldr r1, [r4, #4]
+ mov r2, #0
+ str r0, [r1, #0x20]
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ ldr r0, [r0, #0x20]
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #0xd
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #0x2c
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #6
+ ldr r0, [r0, #0x20]
+ mov r2, #1
+ bl FUN_02007558
+ ldr r0, [r4]
+ mov r1, #5
+ bl FUN_0221590C
+ str r0, [r4, #0x10]
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x1c4
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224F90C:
+ add r1, sp, #0x24
+ mov r0, #0
+ str r0, [r1]
+ str r0, [r1, #4]
+ str r0, [r1, #8]
+ add r0, r4, #0
+ add r0, #0x82
+ ldrb r0, [r0]
+ add r1, r4, #0
+ add r2, r4, #0
+ str r0, [sp, #0x24]
+ add r1, #0x81
+ add r2, #0x8c
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_02230014
+ str r0, [sp, #0x2c]
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ add r1, sp, #0x24
+ str r0, [sp, #0x28]
+ mov r0, #5
+ bl MOD08_02228218
+ str r0, [r4, #8]
+ bl MOD08_02228524
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x1c4
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224F958:
+ ldr r0, [r4, #0xc]
+ bl MOD08_02229A80
+ cmp r0, #0
+ beq _0224F96C
+ add r0, r4, #0
+ add r0, #0x94
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _0224F980
+_0224F96C:
+ ldr r0, [r4, #8]
+ bl MOD08_02228570
+ cmp r0, #1
+ bne _0224F980
+ ldr r0, [r4, #0xc]
+ bl MOD08_02229A00
+ cmp r0, #1
+ beq _0224F982
+_0224F980:
+ b _0224FD86
+_0224F982:
+ ldr r0, [r4, #0x10]
+ bl FUN_02215918
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ mov r3, #0
+ lsl r1, r0, #1
+ ldr r0, _0224FB68 ; =0x0225E84A
+ ldrh r0, [r0, r1]
+ mov r1, #0x10
+ add r2, r1, #0
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007E68
+ ldr r0, [r4, #4]
+ mov r1, #6
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #8]
+ bl MOD08_022285A4
+ add r0, r4, #0
+ add r0, #0x84
+ ldrb r0, [r0]
+ cmp r0, #2
+ ldr r0, _0224FB6C ; =0x00000706
+ bne _0224F9CA
+ mov r1, #0x75
+ bl FUN_020054A8
+ b _0224F9D2
+_0224F9CA:
+ mov r1, #0x74
+ mvn r1, r1
+ bl FUN_020054A8
+_0224F9D2:
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x1c4
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224F9E2:
+ ldr r0, [r4, #0xc]
+ bl MOD08_022299E8
+ cmp r0, #1
+ beq _0224F9FA
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x83
+ strb r1, [r0]
+_0224F9FA:
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ ldr r0, [r0, #0x20]
+ bl FUN_0200782C
+ mov r1, #1
+ lsl r1, r1, #8
+ cmp r0, r1
+ bne _0224FAE0
+ ldr r0, [r4, #8]
+ bl MOD08_022285B4
+ cmp r0, #0
+ bne _0224FAE0
+ add r0, r4, #0
+ add r0, #0x84
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _0224FA62
+ ldr r0, [r4, #4]
+ mov r1, #1
+ ldr r0, [r0, #0x20]
+ bl FUN_02007314
+ ldr r0, [r4, #4]
+ mov r1, #0x2d
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r1, #5
+ add r2, r4, #0
+ str r1, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ mov r3, #0x75
+ bl FUN_02069FB0
+ b _0224FA8C
+_0224FA62:
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r3, #5
+ add r2, r4, #0
+ str r3, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ sub r3, #0x7a
+ bl FUN_02069FB0
+_0224FA8C:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ add r1, r4, #0
+ add r1, #0x8d
+ ldrb r1, [r1]
+ add r2, r4, #0
+ add r3, r4, #0
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ add r2, #0x86
+ add r3, #0x84
+ str r1, [sp, #8]
+ ldr r1, [r4, #4]
+ ldrh r2, [r2]
+ ldrb r3, [r3]
+ ldr r1, [r1, #0x20]
+ bl FUN_02069038
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ mov r2, #0
+ add r3, r2, #0
+ lsl r1, r0, #1
+ ldr r0, _0224FB68 ; =0x0225E84A
+ ldrh r0, [r0, r1]
+ mov r1, #0x10
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007E68
+ mov r0, #5
+ add r4, #0x83
+ add sp, #0x1c4
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FAE0:
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ ldr r0, [r0, #0x20]
+ bl FUN_0200782C
+ mov r2, #1
+ lsl r2, r2, #8
+ cmp r0, r2
+ ldr r0, [r4, #4]
+ blt _0224FBEE
+ ldr r0, [r0, #0x20]
+ mov r1, #0xc
+ bl FUN_02007558
+ ldr r0, [r4, #4]
+ mov r1, #0xd
+ add r2, r1, #0
+ ldr r0, [r0, #0x20]
+ add r2, #0xf3
+ bl FUN_02007558
+ add r0, r4, #0
+ add r0, #0x84
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _0224FB70
+ ldr r0, [r4, #4]
+ mov r1, #1
+ ldr r0, [r0, #0x20]
+ bl FUN_02007314
+ ldr r0, [r4, #4]
+ mov r1, #0x2d
+ ldr r0, [r0, #0x20]
+ mov r2, #0
+ bl FUN_02007558
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r1, #5
+ add r2, r4, #0
+ str r1, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ mov r3, #0x75
+ bl FUN_02069FB0
+ b _0224FB9A
+ nop
+_0224FB58: .word 0x0225E818
+_0224FB5C: .word 0x0222D552
+_0224FB60: .word 0x0222D554
+_0224FB64: .word 0x0222D538
+_0224FB68: .word 0x0225E84A
+_0224FB6C: .word 0x00000706
+_0224FB70:
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ mov r3, #5
+ add r2, r4, #0
+ str r3, [sp, #8]
+ add r1, r4, #0
+ add r2, #0x86
+ add r1, #0x88
+ ldrh r2, [r2]
+ ldr r1, [r1]
+ sub r3, #0x7a
+ bl FUN_02069FB0
+_0224FB9A:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ add r1, r4, #0
+ add r1, #0x8d
+ ldrb r1, [r1]
+ add r2, r4, #0
+ add r3, r4, #0
+ str r1, [sp]
+ mov r1, #0
+ str r1, [sp, #4]
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ add r2, #0x86
+ add r3, #0x84
+ str r1, [sp, #8]
+ ldr r1, [r4, #4]
+ ldrh r2, [r2]
+ ldrb r3, [r3]
+ ldr r1, [r1, #0x20]
+ bl FUN_02069038
+ add r0, r4, #0
+ add r0, #0x8e
+ ldrh r0, [r0]
+ mov r2, #0
+ mov r3, #1
+ lsl r1, r0, #1
+ ldr r0, _0224FD8C ; =0x0225E84A
+ ldrh r0, [r0, r1]
+ mov r1, #0x10
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007E68
+ mov r0, #5
+ add r4, #0x83
+ add sp, #0x1c4
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FBEE:
+ ldr r0, [r0, #0x20]
+ mov r1, #0xc
+ mov r2, #0x20
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0xd
+ ldr r0, [r0, #0x20]
+ mov r2, #0x20
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0x90
+ ldrsb r1, [r4, r1]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007F34
+ add sp, #0x1c4
+ pop {r3, r4, r5, r6, pc}
+_0224FC14:
+ ldr r0, [r4, #8]
+ bl MOD08_022285B4
+ cmp r0, #0
+ bne _0224FC48
+ mov r0, #6
+ add r4, #0x83
+ add sp, #0x1c4
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FC28:
+ ldr r0, [r4]
+ bl MOD11_02230E80
+ add r1, r4, #0
+ add r1, #0x81
+ ldrb r1, [r1]
+ bl FUN_02014D7C
+ cmp r0, #1
+ bne _0224FC48
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ bl FUN_02007390
+ cmp r0, #0
+ beq _0224FC4A
+_0224FC48:
+ b _0224FD86
+_0224FC4A:
+ ldr r0, [r4, #0xc]
+ bl MOD08_02229A2C
+ ldr r0, [r4, #8]
+ bl MOD08_02228618
+ add r0, r4, #0
+ add r0, #0x92
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0224FC92
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r1, [r0]
+ mov r0, #0xb
+ add r2, sp, #0x16c
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x16c
+ bl MOD11_02254404
+ mov r0, #7
+ add r4, #0x83
+ add sp, #0x1c4
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FC92:
+ mov r0, #8
+ add r4, #0x83
+ add sp, #0x1c4
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FC9C:
+ bl FUN_02212384
+ add r0, r5, #0
+ bl FUN_022123A0
+ cmp r0, #0
+ bne _0224FD86
+ add r0, r5, #0
+ bl FUN_022123B0
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x1c4
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FCC0:
+ add r0, r4, #0
+ add r0, #0x98
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0224FD02
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r1, [r0]
+ mov r0, #0xf
+ add r2, sp, #0x114
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x114
+ bl MOD11_02254404
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x1c4
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FD02:
+ mov r0, #0xff
+ add r4, #0x83
+ add sp, #0x1c4
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FD0C:
+ add r3, r4, #0
+ add r3, #0x81
+ ldrb r3, [r3]
+ add r1, r4, #0
+ ldr r0, [r4]
+ add r1, #0x28
+ add r2, sp, #0xc4
+ bl MOD11_0225452C
+ add r0, sp, #0xc4
+ mov r1, #5
+ bl MOD08_0222A568
+ add r0, r4, #0
+ add r0, #0x81
+ ldrb r1, [r0]
+ mov r0, #0x10
+ add r2, sp, #0x6c
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x6c
+ bl MOD11_02254404
+ mov r0, #0x1a
+ ldr r1, [r4, #4]
+ mov r2, #1
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ add r0, r4, #0
+ add r0, #0x83
+ ldrb r0, [r0]
+ add r4, #0x83
+ add sp, #0x1c4
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, r6, pc}
+_0224FD68:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x81
+ add r2, #0x80
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_0224FD86:
+ add sp, #0x1c4
+ pop {r3, r4, r5, r6, pc}
+ nop
+_0224FD8C: .word 0x0225E84A
+
+ thumb_func_start MOD11_0224FD90
+MOD11_0224FD90: ; 0x0224FD90
+ push {r4, r5, r6, lr}
+ sub sp, #0x138
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r1, r4, #0
+ add r1, #0x6b
+ ldrb r1, [r1]
+ add r5, r0, #0
+ cmp r1, #8
+ bhi _0224FE7A
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0224FDB6: ; jump table
+ .short _0224FDC8 - _0224FDB6 - 2 ; case 0
+ .short _0224FE6C - _0224FDB6 - 2 ; case 1
+ .short _0224FE10 - _0224FDB6 - 2 ; case 2
+ .short _0224FE6C - _0224FDB6 - 2 ; case 3
+ .short _0224FE92 - _0224FDB6 - 2 ; case 4
+ .short _0224FF36 - _0224FDB6 - 2 ; case 5
+ .short _0224FF50 - _0224FDB6 - 2 ; case 6
+ .short _0224FFA6 - _0224FDB6 - 2 ; case 7
+ .short _0224FFC0 - _0224FDB6 - 2 ; case 8
+_0224FDC8:
+ ldr r0, [r4, #0x70]
+ cmp r0, #0
+ beq _0224FE06
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r1, [r0]
+ mov r0, #0xf
+ add r2, sp, #0xe0
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0xe0
+ bl MOD11_02254404
+ add r0, r4, #0
+ add r0, #0x6b
+ ldrb r0, [r0]
+ add r4, #0x6b
+ add sp, #0x138
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FE06:
+ mov r0, #4
+ add r4, #0x6b
+ add sp, #0x138
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FE10:
+ add r3, r4, #0
+ add r3, #0x69
+ ldrb r3, [r3]
+ add r1, r4, #0
+ ldr r0, [r4]
+ add r1, #0x10
+ add r2, sp, #0x90
+ bl MOD11_0225452C
+ add r0, sp, #0x90
+ mov r1, #5
+ bl MOD08_0222A494
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r1, [r0]
+ mov r0, #0x10
+ add r2, sp, #0x38
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x38
+ bl MOD11_02254404
+ mov r0, #0x1a
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ add r0, r4, #0
+ add r0, #0x6b
+ ldrb r0, [r0]
+ add r4, #0x6b
+ add sp, #0x138
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FE6C:
+ bl FUN_02212384
+ add r0, r5, #0
+ bl FUN_022123A0
+ cmp r0, #0
+ beq _0224FE7C
+_0224FE7A:
+ b _0224FFDE
+_0224FE7C:
+ add r0, r5, #0
+ bl FUN_022123B0
+ add r0, r4, #0
+ add r0, #0x6b
+ ldrb r0, [r0]
+ add r4, #0x6b
+ add sp, #0x138
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FE92:
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r1, [r0]
+ mov r0, #1
+ tst r0, r1
+ beq _0224FEDA
+ ldr r0, _0224FFE4 ; =0x0225E818
+ ldrb r0, [r0, r1]
+ str r0, [sp, #0x10]
+ mov r0, #5
+ str r0, [sp, #0x14]
+ str r0, [sp, #0x18]
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r0, [r0]
+ str r0, [sp, #0x1c]
+ add r0, r4, #0
+ add r0, #0x6e
+ ldrh r0, [r0]
+ str r0, [sp, #0x20]
+ ldr r0, [r4]
+ bl MOD11_02230078
+ str r0, [sp, #0x2c]
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ str r0, [sp, #0x30]
+ mov r0, #1
+ str r0, [sp, #0x24]
+ mov r0, #0
+ str r0, [sp, #0x28]
+ add r0, sp, #0x10
+ bl MOD08_02229918
+ str r0, [r4, #0xc]
+_0224FEDA:
+ add r0, r4, #0
+ mov r1, #5
+ add r0, #0x6b
+ strb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x6e
+ ldrh r0, [r0]
+ mov r2, #0x10
+ lsl r1, r0, #1
+ ldr r0, _0224FFE8 ; =0x0225E84A
+ ldrh r0, [r0, r1]
+ mov r1, #0
+ add r3, r1, #0
+ str r0, [sp]
+ ldr r0, [r4, #8]
+ bl FUN_02007E68
+ add r4, #0x6a
+ ldrb r0, [r4]
+ cmp r0, #5
+ bhi _0224FFDE
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0224FF10: ; jump table
+ .short _0224FF1C - _0224FF10 - 2 ; case 0
+ .short _0224FF2A - _0224FF10 - 2 ; case 1
+ .short _0224FF1C - _0224FF10 - 2 ; case 2
+ .short _0224FF2A - _0224FF10 - 2 ; case 3
+ .short _0224FF1C - _0224FF10 - 2 ; case 4
+ .short _0224FF2A - _0224FF10 - 2 ; case 5
+_0224FF1C:
+ mov r1, #0x74
+ ldr r0, _0224FFEC ; =0x00000706
+ mvn r1, r1
+ bl FUN_020054A8
+ add sp, #0x138
+ pop {r4, r5, r6, pc}
+_0224FF2A:
+ ldr r0, _0224FFEC ; =0x00000706
+ mov r1, #0x75
+ bl FUN_020054A8
+ add sp, #0x138
+ pop {r4, r5, r6, pc}
+_0224FF36:
+ ldr r0, [r4, #8]
+ bl FUN_02007F20
+ cmp r0, #0
+ bne _0224FFDE
+ add r0, r4, #0
+ add r0, #0x6b
+ ldrb r0, [r0]
+ add r4, #0x6b
+ add sp, #0x138
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FF50:
+ mov r1, #0xc
+ add r2, r1, #0
+ ldr r0, [r4, #8]
+ sub r2, #0x2c
+ bl FUN_020079E0
+ mov r1, #0xd
+ add r2, r1, #0
+ ldr r0, [r4, #8]
+ sub r2, #0x2d
+ bl FUN_020079E0
+ add r1, r4, #0
+ add r1, #0x6c
+ ldrb r1, [r1]
+ ldr r0, [r4, #8]
+ bl FUN_02007F34
+ ldr r0, [r4, #8]
+ mov r1, #0xc
+ bl FUN_0200782C
+ cmp r0, #0
+ bgt _0224FFDE
+ ldr r0, [r4, #8]
+ bl FUN_02007534
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r1, [r0]
+ mov r0, #1
+ tst r0, r1
+ beq _0224FF9C
+ mov r0, #7
+ add r4, #0x6b
+ add sp, #0x138
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FF9C:
+ mov r0, #8
+ add r4, #0x6b
+ add sp, #0x138
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FFA6:
+ ldr r0, [r4, #0xc]
+ bl MOD08_022299E8
+ cmp r0, #0
+ bne _0224FFDE
+ ldr r0, [r4, #0xc]
+ bl MOD08_02229A2C
+ mov r0, #8
+ add r4, #0x6b
+ add sp, #0x138
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_0224FFC0:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x69
+ add r2, #0x68
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_0224FFDE:
+ add sp, #0x138
+ pop {r4, r5, r6, pc}
+ nop
+_0224FFE4: .word 0x0225E818
+_0224FFE8: .word 0x0225E84A
+_0224FFEC: .word 0x00000706
+
+ thumb_func_start MOD11_0224FFF0
+MOD11_0224FFF0: ; 0x0224FFF0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #0xb]
+ cmp r0, #0
+ beq _02250002
+ cmp r0, #1
+ beq _02250048
+ pop {r3, r4, r5, pc}
+_02250002:
+ mov r1, #0xc
+ add r2, r1, #0
+ ldr r0, [r4, #4]
+ sub r2, #0x2c
+ bl FUN_020079E0
+ mov r1, #0xd
+ add r2, r1, #0
+ ldr r0, [r4, #4]
+ sub r2, #0x2d
+ bl FUN_020079E0
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0
+ beq _0225002E
+ sub r0, r0, #1
+ strb r0, [r4, #0xc]
+ mov r1, #1
+ ldr r0, [r4, #4]
+ sub r2, r1, #2
+ bl FUN_020079E0
+_0225002E:
+ ldr r0, [r4, #4]
+ mov r1, #0xc
+ bl FUN_0200782C
+ cmp r0, #0
+ bgt _0225005E
+ ldr r0, [r4, #4]
+ bl FUN_02007534
+ ldrb r0, [r4, #0xb]
+ add r0, r0, #1
+ strb r0, [r4, #0xb]
+ pop {r3, r4, r5, pc}
+_02250048:
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0225005E:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02250060
+MOD11_02250060: ; 0x02250060
+ push {r3, r4, r5, r6, lr}
+ sub sp, #4
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ add r5, r0, #0
+ ldr r0, [r4, #0x20]
+ cmp r0, #0x21
+ bge _0225009C
+ ldrb r0, [r4, #0x12]
+ cmp r0, #2
+ blo _0225009C
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ beq _02250086
+ cmp r0, #2
+ bne _0225009C
+_02250086:
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ mov r1, #3
+ mov r2, #1
+ mov r3, #4
+ bl FUN_020179E0
+ ldr r0, [r4, #0x20]
+ add r0, r0, #1
+ str r0, [r4, #0x20]
+_0225009C:
+ ldrb r0, [r4, #0x12]
+ cmp r0, #4
+ bls _022500A4
+ b _02250332
+_022500A4:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_022500B0: ; jump table
+ .short _022500BA - _022500B0 - 2 ; case 0
+ .short _022500C4 - _022500B0 - 2 ; case 1
+ .short _022500D2 - _022500B0 - 2 ; case 2
+ .short _022502CA - _022500B0 - 2 ; case 3
+ .short _022502E4 - _022500B0 - 2 ; case 4
+_022500BA:
+ mov r0, #0x1c
+ str r0, [r4, #0x1c]
+ ldrb r0, [r4, #0x12]
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+_022500C4:
+ ldr r0, [r4, #0x1c]
+ sub r0, r0, #1
+ str r0, [r4, #0x1c]
+ bne _022501A6
+ ldrb r0, [r4, #0x12]
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+_022500D2:
+ ldrb r0, [r4, #0x13]
+ add r1, sp, #0
+ cmp r0, #2
+ ldr r0, [r4, #8]
+ bne _022501D2
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x18]
+ cmp r0, #1
+ beq _022500F0
+ cmp r0, #3
+ bne _02250112
+_022500F0:
+ add r1, sp, #0
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ cmp r0, #0xc0
+ ldr r0, [r4, #8]
+ bge _02250108
+ ldr r0, [r0]
+ mov r1, #8
+ mov r2, #0
+ bl FUN_0200C82C
+ b _02250112
+_02250108:
+ ldr r0, [r0]
+ mov r1, #0xc0
+ mov r2, #0x58
+ bl FUN_0200C714
+_02250112:
+ ldr r0, [r4, #8]
+ add r1, sp, #0
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x18]
+ cmp r0, #1
+ beq _02250136
+ cmp r0, #3
+ bne _02250146
+ cmp r5, #3
+ beq _02250136
+ cmp r5, #0x83
+ beq _02250136
+ cmp r5, #7
+ bne _02250146
+_02250136:
+ add r3, sp, #0
+ mov r2, #2
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_02007558
+ b _02250196
+_02250146:
+ cmp r0, #3
+ bne _02250170
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r0, r1
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x18
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #4]
+ neg r2, r2
+ bl FUN_020079E0
+ b _02250196
+_02250170:
+ cmp r0, #5
+ bne _02250196
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r1, r0
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x10
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #4]
+ bl FUN_020079E0
+_02250196:
+ mov r0, #0x14
+ ldrsh r5, [r4, r0]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ cmp r0, r5
+ bge _022501A8
+_022501A6:
+ b _02250332
+_022501A8:
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r2, r5, #0
+ bl FUN_02007558
+ ldr r0, [r4, #0x18]
+ cmp r0, #1
+ beq _022501BC
+ cmp r0, #3
+ bne _022501C8
+_022501BC:
+ ldr r0, [r4, #8]
+ mov r1, #0xc0
+ ldr r0, [r0]
+ mov r2, #0x58
+ bl FUN_0200C714
+_022501C8:
+ ldrb r0, [r4, #0x12]
+ add sp, #4
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_022501D2:
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ beq _022501E6
+ cmp r0, #2
+ bne _02250208
+_022501E6:
+ add r0, sp, #0
+ mov r1, #2
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x40
+ ldr r0, [r4, #8]
+ ble _022501FE
+ ldr r0, [r0]
+ sub r1, #0xa
+ mov r2, #0
+ bl FUN_0200C82C
+ b _02250208
+_022501FE:
+ ldr r0, [r0]
+ mov r1, #0x40
+ mov r2, #0x88
+ bl FUN_0200C714
+_02250208:
+ ldr r0, [r4, #8]
+ add r1, sp, #0
+ ldr r0, [r0]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ beq _02250230
+ cmp r0, #2
+ bne _02250240
+ cmp r5, #3
+ beq _02250230
+ cmp r5, #0x83
+ beq _02250230
+ cmp r5, #0x13
+ beq _02250230
+ cmp r5, #7
+ bne _02250240
+_02250230:
+ add r3, sp, #0
+ mov r2, #2
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_02007558
+ b _02250290
+_02250240:
+ cmp r0, #2
+ bne _02250268
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r1, r0
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x18
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #4]
+ bl FUN_020079E0
+ b _02250290
+_02250268:
+ cmp r0, #4
+ bne _02250290
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ add r3, sp, #0
+ mov r2, #2
+ ldrsh r1, [r3, r2]
+ sub r0, r0, r1
+ strh r0, [r3, #2]
+ ldrsh r0, [r3, r2]
+ mov r1, #0
+ sub r0, #0x10
+ strh r0, [r3, #2]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, #4]
+ neg r2, r2
+ bl FUN_020079E0
+_02250290:
+ mov r0, #0x14
+ ldrsh r5, [r4, r0]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ cmp r0, r5
+ bgt _02250332
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r2, r5, #0
+ bl FUN_02007558
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ beq _022502B4
+ cmp r0, #2
+ bne _022502C0
+_022502B4:
+ ldr r0, [r4, #8]
+ mov r1, #0x40
+ ldr r0, [r0]
+ mov r2, #0x88
+ bl FUN_0200C714
+_022502C0:
+ ldrb r0, [r4, #0x12]
+ add sp, #4
+ add r0, r0, #1
+ strb r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, pc}
+_022502CA:
+ ldrb r1, [r4, #0x11]
+ ldrb r2, [r4, #0x10]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+ add sp, #4
+ pop {r3, r4, r5, r6, pc}
+_022502E4:
+ ldrb r0, [r4, #0x13]
+ cmp r0, #2
+ ldr r0, [r4, #4]
+ bne _0225030E
+ mov r2, #0x14
+ ldrsh r2, [r4, r2]
+ mov r1, #0
+ bl FUN_02007558
+ ldr r0, [r4, #0x18]
+ cmp r0, #1
+ beq _02250300
+ cmp r0, #3
+ bne _0225032E
+_02250300:
+ ldr r0, [r4, #8]
+ mov r1, #0xc0
+ ldr r0, [r0]
+ mov r2, #0x58
+ bl FUN_0200C714
+ b _0225032E
+_0225030E:
+ mov r2, #0x14
+ ldrsh r2, [r4, r2]
+ mov r1, #0
+ bl FUN_02007558
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ beq _02250322
+ cmp r0, #2
+ bne _0225032E
+_02250322:
+ ldr r0, [r4, #8]
+ mov r1, #0x40
+ ldr r0, [r0]
+ mov r2, #0x88
+ bl FUN_0200C714
+_0225032E:
+ mov r0, #3
+ strb r0, [r4, #0x12]
+_02250332:
+ add sp, #4
+ pop {r3, r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02250338
+MOD11_02250338: ; 0x02250338
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0xd0
+ ldr r3, _022505EC ; =0x0225E8D0
+ add r4, r1, #0
+ add r5, r0, #0
+ add r2, sp, #0x30
+ mov r1, #0x50
+_02250346:
+ ldrh r0, [r3]
+ add r3, r3, #2
+ strh r0, [r2]
+ add r2, r2, #2
+ sub r1, r1, #1
+ bne _02250346
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ add r6, r0, #0
+ ldrb r0, [r4, #0xa]
+ cmp r0, #6
+ bls _02250362
+ b _0225088A
+_02250362:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225036E: ; jump table
+ .short _0225037C - _0225036E - 2 ; case 0
+ .short _02250494 - _0225036E - 2 ; case 1
+ .short _0225059E - _0225036E - 2 ; case 2
+ .short _0225073C - _0225036E - 2 ; case 3
+ .short _022507F2 - _0225036E - 2 ; case 4
+ .short _0225084C - _0225036E - 2 ; case 5
+ .short _02250874 - _0225036E - 2 ; case 6
+_0225037C:
+ ldr r0, [r4, #0x10]
+ cmp r0, #0
+ bne _0225038A
+ mov r0, #1
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225038A:
+ cmp r0, #4
+ bhi _022503A4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225039A: ; jump table
+ .short _022503A4 - _0225039A - 2 ; case 0
+ .short _022503A4 - _0225039A - 2 ; case 1
+ .short _022503B2 - _0225039A - 2 ; case 2
+ .short _022503C0 - _0225039A - 2 ; case 3
+ .short _022503CE - _0225039A - 2 ; case 4
+_022503A4:
+ mov r0, #0xf
+ str r0, [sp, #8]
+ mov r0, #3
+ str r0, [r4, #0x18]
+ mov r0, #5
+ str r0, [sp, #0x18]
+ b _022503DC
+_022503B2:
+ mov r0, #0xc
+ str r0, [sp, #8]
+ mov r0, #0
+ str r0, [r4, #0x18]
+ ldr r0, _022505F0 ; =0x00000111
+ str r0, [sp, #0x18]
+ b _022503DC
+_022503C0:
+ mov r0, #0xd
+ str r0, [sp, #8]
+ mov r0, #0
+ str r0, [r4, #0x18]
+ ldr r0, _022505F4 ; =0x00000112
+ str r0, [sp, #0x18]
+ b _022503DC
+_022503CE:
+ mov r0, #0xf
+ str r0, [sp, #8]
+ mov r0, #3
+ str r0, [r4, #0x18]
+ mov r0, #0x11
+ lsl r0, r0, #4
+ str r0, [sp, #0x18]
+_022503DC:
+ mov r0, #5
+ str r0, [sp, #0xc]
+ mov r0, #4
+ str r0, [sp, #0x10]
+ ldrb r0, [r4, #9]
+ str r0, [sp, #0x14]
+ ldr r0, [r4]
+ bl MOD11_02230078
+ str r0, [sp, #0x24]
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ str r0, [sp, #0x28]
+ mov r0, #0
+ str r0, [sp, #0x20]
+ ldr r0, [r4]
+ str r0, [sp, #0x2c]
+ add r0, sp, #8
+ bl MOD08_02229918
+ ldr r1, [r4, #4]
+ add r1, #0x88
+ str r0, [r1]
+ ldr r0, [r4, #4]
+ mov r1, #0x64
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_0222A00C
+ ldr r0, [r4, #4]
+ mov r1, #2
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_0222A018
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_0222A008
+ mov r1, #0
+ ldr r0, [r4]
+ ldr r2, [r4, #0xc]
+ add r3, r1, #0
+ bl MOD11_02254308
+ ldr r1, [r4, #4]
+ str r0, [r1, #0x18]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ add r1, sp, #4
+ strh r0, [r1, #2]
+ ldr r0, [r4, #4]
+ mov r1, #1
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ add r3, sp, #4
+ strh r0, [r3]
+ ldr r0, [r4, #4]
+ mov r1, #2
+ mov r2, #0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C714
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C61C
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C5C0
+ ldr r0, [r4, #4]
+ mov r1, #6
+ ldr r0, [r0, #0x1c]
+ mov r2, #1
+ bl FUN_02007558
+ mov r0, #3
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_02250494:
+ ldrb r0, [r4, #0xb]
+ cmp r0, #2
+ ldr r0, [r4, #4]
+ bne _0225054A
+ ldr r0, [r0, #0x1c]
+ mov r1, #0
+ mov r2, #5
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ mov r1, #0x45
+ lsl r1, r1, #2
+ cmp r0, r1
+ blt _02250520
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A80
+ cmp r0, #0
+ beq _02250520
+ ldr r0, [r4, #4]
+ mov r1, #1
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229FE4
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A5C
+ mov r0, #2
+ tst r0, r6
+ beq _02250532
+ mov r0, #8
+ tst r0, r6
+ bne _02250532
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ add r4, r0, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #1
+ bl MOD08_02229FE4
+ add r0, r4, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #0
+ bl MOD08_02229A5C
+ add r4, #0x88
+ ldr r0, [r4]
+ mov r1, #0xc
+ bl MOD08_0222A024
+ add sp, #0xd0
+ pop {r3, r4, r5, r6, r7, pc}
+_02250520:
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ cmp r0, r1
+ bge _02250534
+_02250532:
+ b _0225088A
+_02250534:
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x1c]
+ bl FUN_02007534
+ ldr r0, [r4, #4]
+ mov r1, #0
+ str r1, [r0, #0x1c]
+ mov r0, #6
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225054A:
+ ldr r0, [r0, #0x1c]
+ mov r1, #0
+ bl FUN_0200782C
+ add r1, sp, #4
+ strh r0, [r1, #2]
+ ldr r0, [r4, #4]
+ mov r1, #1
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ add r3, sp, #4
+ strh r0, [r3]
+ ldr r0, [r4, #4]
+ mov r1, #2
+ mov r2, #0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C714
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C61C
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C5C0
+ mov r0, #2
+ strb r0, [r4, #0xa]
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x1c]
+ bl FUN_02007534
+ ldr r0, [r4, #4]
+ mov r1, #0
+ str r1, [r0, #0x1c]
+ add sp, #0xd0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225059E:
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C5A8
+ ldr r0, [r4, #4]
+ mov r1, #4
+ ldr r0, [r0, #0x18]
+ mvn r1, r1
+ mov r2, #0
+ bl FUN_0200C82C
+ ldr r0, [r4, #4]
+ add r1, sp, #4
+ ldr r0, [r0, #0x18]
+ add r1, #2
+ add r2, sp, #4
+ bl FUN_0200C7A0
+ ldr r1, [r4, #4]
+ add r0, r1, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _022505D0
+ b _022506E4
+_022505D0:
+ ldr r0, [r1, #0x18]
+ bl FUN_0200C630
+ ldr r1, [r4, #0xc]
+ str r0, [sp]
+ lsl r5, r0, #2
+ mov r0, #0x14
+ add r2, r1, #0
+ mul r2, r0
+ add r0, sp, #0x30
+ add r0, r0, r2
+ ldrsh r1, [r5, r0]
+ ldr r0, _022505F8 ; =0x00007FFF
+ b _022505FC
+ .align 2, 0
+_022505EC: .word 0x0225E8D0
+_022505F0: .word 0x00000111
+_022505F4: .word 0x00000112
+_022505F8: .word 0x00007FFF
+_022505FC:
+ cmp r1, r0
+ beq _022506E4
+ ldr r0, [r4, #4]
+ mov r1, #1
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229FE4
+ ldr r1, [r4, #0xc]
+ mov r0, #0x14
+ add r3, r1, #0
+ mul r3, r0
+ add r2, sp, #0x30
+ add r2, r2, r3
+ add r7, sp, #4
+ mov r1, #2
+ ldrsh r1, [r7, r1]
+ ldrsh r2, [r5, r2]
+ ldr r0, [r4, #4]
+ add r1, r1, r2
+ mov r2, #0
+ ldrsh r7, [r7, r2]
+ add r2, sp, #0x30
+ add r2, #2
+ add r2, r2, r3
+ ldrsh r2, [r5, r2]
+ add r0, #0x88
+ lsl r1, r1, #0x10
+ add r2, r7, r2
+ lsl r2, r2, #0x10
+ ldr r0, [r0]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl MOD08_02229FF0
+ ldr r0, [sp]
+ cmp r0, #3
+ bne _022506E4
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A80
+ cmp r0, #0
+ beq _022506E4
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A5C
+ ldr r0, [r4, #4]
+ mov r1, #1
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_0222A008
+ mov r0, #2
+ tst r0, r6
+ beq _022506E4
+ mov r0, #8
+ tst r0, r6
+ bne _022506E4
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ ldr r1, [r4, #0xc]
+ add r6, r0, #0
+ add r3, r1, #0
+ mov r0, #0x14
+ mul r3, r0
+ add r2, sp, #0x30
+ add r2, r2, r3
+ add r0, r6, #0
+ add r0, #0x88
+ add r7, sp, #4
+ mov r1, #2
+ ldrsh r1, [r7, r1]
+ ldrsh r2, [r5, r2]
+ ldr r0, [r0]
+ add r1, r1, r2
+ mov r2, #0
+ ldrsh r7, [r7, r2]
+ add r2, sp, #0x30
+ add r2, #2
+ add r2, r2, r3
+ ldrsh r2, [r5, r2]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add r2, r7, r2
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ bl MOD08_02229FF0
+ add r0, r6, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #1
+ bl MOD08_02229FE4
+ add r0, r6, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ mov r1, #0
+ bl MOD08_02229A5C
+ add r6, #0x88
+ ldr r0, [r6]
+ mov r1, #1
+ bl MOD08_0222A008
+_022506E4:
+ add r1, sp, #4
+ mov r0, #2
+ ldrsh r1, [r1, r0]
+ sub r0, #0x2a
+ cmp r1, r0
+ ble _022506F2
+ b _0225088A
+_022506F2:
+ ldr r0, [r4]
+ bl MOD11_02230080
+ add r6, r0, #0
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02230260
+ asr r5, r0, #1
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C3DC
+ ldr r1, _02250890 ; =0x00004E2F
+ add r0, r6, #0
+ add r1, r5, r1
+ bl FUN_0200C358
+ ldr r1, _02250894 ; =0x00004E2A
+ add r0, r6, #0
+ add r1, r5, r1
+ bl FUN_0200C368
+ ldr r1, _02250898 ; =0x00004E27
+ add r0, r6, #0
+ add r1, r5, r1
+ bl FUN_0200C378
+ ldr r1, _02250898 ; =0x00004E27
+ add r0, r6, #0
+ add r1, r5, r1
+ bl FUN_0200C388
+ mov r0, #6
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225073C:
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C5A8
+ ldr r0, [r4, #4]
+ add r1, sp, #4
+ ldr r0, [r0, #0x18]
+ add r1, #2
+ add r2, sp, #4
+ bl FUN_0200C7A0
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C630
+ add r5, r0, #0
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _022507E2
+ ldr r2, [r4, #0xc]
+ mov r1, #0x14
+ add r3, r2, #0
+ mul r3, r1
+ add r1, sp, #0x30
+ lsl r6, r5, #2
+ add r1, r1, r3
+ ldrsh r1, [r6, r1]
+ ldr r2, _0225089C ; =0x00007FFF
+ cmp r1, r2
+ beq _022507E2
+ add r7, sp, #4
+ mov r2, #2
+ ldrsh r2, [r7, r2]
+ add r1, r2, r1
+ mov r2, #0
+ ldrsh r7, [r7, r2]
+ add r2, sp, #0x30
+ add r2, #2
+ add r2, r2, r3
+ ldrsh r2, [r6, r2]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add r2, r7, r2
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ bl MOD08_02229FF0
+ cmp r5, #3
+ bne _022507E2
+ ldr r0, [r4, #4]
+ ldr r6, [r4, #0x18]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A80
+ cmp r6, r0
+ beq _022507E2
+ ldr r0, [r4, #4]
+ add r1, r6, #0
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A5C
+ ldr r0, [r4, #4]
+ mov r1, #1
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_0222A018
+ ldr r0, [r4, #4]
+ mov r1, #1
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_0222A008
+ ldr r0, [r4, #0x18]
+ cmp r0, #3
+ beq _022507E2
+ ldr r0, _022508A0 ; =0x0000070A
+ bl FUN_020054C8
+_022507E2:
+ cmp r5, #4
+ bne _0225088A
+ mov r0, #8
+ str r0, [r4, #0x14]
+ mov r0, #4
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_022507F2:
+ ldr r0, [r4, #0x14]
+ sub r0, r0, #1
+ str r0, [r4, #0x14]
+ bne _0225088A
+ ldr r0, [r4]
+ bl MOD11_02230080
+ add r5, r0, #0
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x18]
+ bl FUN_0200C3DC
+ ldr r1, _02250890 ; =0x00004E2F
+ add r0, r5, #0
+ bl FUN_0200C358
+ ldr r1, _02250894 ; =0x00004E2A
+ add r0, r5, #0
+ bl FUN_0200C368
+ ldr r1, _02250898 ; =0x00004E27
+ add r0, r5, #0
+ bl FUN_0200C378
+ ldr r1, _02250898 ; =0x00004E27
+ add r0, r5, #0
+ bl FUN_0200C388
+ ldr r0, [r4, #4]
+ mov r1, #6
+ ldr r0, [r0, #0x1c]
+ mov r2, #0
+ bl FUN_02007558
+ ldr r0, [r4, #0x18]
+ cmp r0, #3
+ bne _02250844
+ mov r0, #6
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_02250844:
+ mov r0, #5
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225084C:
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_022299E8
+ cmp r0, #1
+ beq _0225088A
+ ldr r0, [r4, #4]
+ add r0, #0x88
+ ldr r0, [r0]
+ bl MOD08_02229A2C
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x88
+ str r1, [r0]
+ mov r0, #6
+ add sp, #0xd0
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, r7, pc}
+_02250874:
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0225088A:
+ add sp, #0xd0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02250890: .word 0x00004E2F
+_02250894: .word 0x00004E2A
+_02250898: .word 0x00004E27
+_0225089C: .word 0x00007FFF
+_022508A0: .word 0x0000070A
+
+ thumb_func_start MOD11_022508A4
+MOD11_022508A4: ; 0x022508A4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #0xa]
+ cmp r0, #0
+ beq _022508B6
+ cmp r0, #1
+ beq _02250906
+ pop {r3, r4, r5, pc}
+_022508B6:
+ ldrb r0, [r4, #0xb]
+ cmp r0, #2
+ ldr r0, [r4, #4]
+ bne _022508E2
+ ldr r0, [r0, #0x1c]
+ mov r1, #0
+ mov r2, #5
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ mov r1, #0x4a
+ lsl r1, r1, #2
+ cmp r0, r1
+ blt _0225092A
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, pc}
+_022508E2:
+ mov r1, #0
+ ldr r0, [r0, #0x1c]
+ sub r2, r1, #5
+ bl FUN_020079E0
+ ldr r0, [r4, #4]
+ mov r1, #0
+ ldr r0, [r0, #0x1c]
+ bl FUN_0200782C
+ mov r1, #0x27
+ mvn r1, r1
+ cmp r0, r1
+ bgt _0225092A
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, pc}
+_02250906:
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x1c]
+ bl FUN_02007534
+ ldr r0, [r4, #4]
+ mov r1, #0
+ str r1, [r0, #0x1c]
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0225092A:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0225092C
+MOD11_0225092C: ; 0x0225092C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #0xa]
+ cmp r0, #0
+ beq _0225093E
+ cmp r0, #1
+ beq _0225099A
+ pop {r3, r4, r5, pc}
+_0225093E:
+ ldrb r0, [r4, #0xb]
+ cmp r0, #0
+ ldr r0, [r4, #4]
+ bne _02250970
+ mov r1, #0
+ mov r2, #5
+ bl FUN_020079E0
+ mov r0, #0xc
+ ldrsh r5, [r4, r0]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ cmp r0, r5
+ blt _022509B0
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r2, r5, #0
+ bl FUN_02007558
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, pc}
+_02250970:
+ mov r1, #0
+ sub r2, r1, #5
+ bl FUN_020079E0
+ mov r0, #0xc
+ ldrsh r5, [r4, r0]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ bl FUN_0200782C
+ cmp r0, r5
+ bgt _022509B0
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r2, r5, #0
+ bl FUN_02007558
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, pc}
+_0225099A:
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_022509B0:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022509B4
+MOD11_022509B4: ; 0x022509B4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4]
+ add r5, r0, #0
+ cmp r1, #0
+ beq _022509C6
+ cmp r1, #1
+ beq _022509F6
+ b _02250A0A
+_022509C6:
+ add r0, r4, #0
+ add r0, #0x4d
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _022509DE
+ add r0, r4, #0
+ add r0, #0x4d
+ ldrb r0, [r0]
+ add r4, #0x4d
+ sub r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_022509DE:
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_02257334
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_022572AC
+ ldrb r0, [r4]
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_022509F6:
+ add r0, r4, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ cmp r0, #1
+ bne _02250A26
+ add r0, r1, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02250A0A:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x24
+ add r2, #0x4c
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4, #0xc]
+ bl MOD11_022567B8
+ mov r0, #0
+ str r0, [r4, #0x10]
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_02250A26:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02250A28
+MOD11_02250A28: ; 0x02250A28
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4]
+ add r5, r0, #0
+ cmp r1, #0
+ bne _02250A48
+ add r0, r4, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ cmp r0, #1
+ bne _02250A6C
+ add r0, r1, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02250A48:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x24
+ add r2, #0x4c
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4, #0xc]
+ bl MOD11_022567B8
+ mov r0, #0
+ str r0, [r4, #0x10]
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_022572AC
+_02250A6C:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02250A70
+MOD11_02250A70: ; 0x02250A70
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x4c
+ add r4, r1, #0
+ str r0, [sp]
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldr r0, [r4]
+ bl MOD11_02230094
+ add r6, r0, #0
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ str r0, [sp, #4]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ add r7, r0, #0
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldrb r0, [r4, #9]
+ cmp r1, r0
+ beq _02250AB2
+ ldr r0, [r4]
+ bl MOD11_02231380
+ add r5, r0, #0
+ b _02250AB4
+_02250AB2:
+ mov r5, #0
+_02250AB4:
+ ldrb r0, [r4, #0xa]
+ cmp r0, #8
+ bls _02250ABC
+ b _02250F3E
+_02250ABC:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02250AC8: ; jump table
+ .short _02250ADA - _02250AC8 - 2 ; case 0
+ .short _02250B16 - _02250AC8 - 2 ; case 1
+ .short _02250C04 - _02250AC8 - 2 ; case 2
+ .short _02250C1A - _02250AC8 - 2 ; case 3
+ .short _02250C2C - _02250AC8 - 2 ; case 4
+ .short _02250DA0 - _02250AC8 - 2 ; case 5
+ .short _02250DF2 - _02250AC8 - 2 ; case 6
+ .short _02250ED6 - _02250AC8 - 2 ; case 7
+ .short _02250F14 - _02250AC8 - 2 ; case 8
+_02250ADA:
+ mov r0, #0
+ add r1, r4, #0
+ add r2, sp, #0x34
+_02250AE0:
+ ldrh r3, [r1, #0x24]
+ add r1, r1, #2
+ strh r3, [r2]
+ add r3, r4, r0
+ add r3, #0x2c
+ ldrb r3, [r3]
+ strh r3, [r2, #8]
+ add r3, r4, r0
+ add r3, #0x30
+ ldrb r3, [r3]
+ add r0, r0, #1
+ strh r3, [r2, #0x10]
+ add r2, r2, #2
+ cmp r0, #4
+ blt _02250AE0
+ ldr r0, [r4]
+ bl MOD11_02230094
+ add r1, r4, #0
+ add r1, #0x34
+ ldrb r1, [r1]
+ add r2, sp, #0x34
+ bl MOD11_0225A760
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+_02250B16:
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r5, r0, #0
+ mov r0, #1
+ lsl r0, r0, #0xa
+ add r1, r7, #0
+ tst r1, r0
+ beq _02250B9A
+ ldr r0, [r4]
+ bl MOD11_02231268
+ cmp r0, #0
+ beq _02250B3A
+ cmp r0, #1
+ beq _02250B66
+ add sp, #0x4c
+ pop {r4, r5, r6, r7, pc}
+_02250B3A:
+ mov r0, #2
+ add r1, sp, #8
+ strb r0, [r1, #9]
+ add r0, r4, #0
+ add r0, #0x23
+ ldrb r0, [r0]
+ ldrb r2, [r4, #9]
+ mov r3, #0
+ lsl r0, r0, #8
+ orr r0, r2
+ str r0, [sp, #0x14]
+ ldr r0, _02250E84 ; =0x00000399
+ add r2, sp, #0x10
+ strh r0, [r1, #0xa]
+ ldr r0, [r4]
+ add r1, r5, #0
+ bl MOD11_0223178C
+ mov r0, #3
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250B66:
+ mov r1, #0
+ add r0, sp, #8
+ strb r1, [r0, #9]
+ ldr r0, [r4]
+ bl MOD11_0223021C
+ ldr r1, _02250E88 ; =0x000004CA
+ add r1, r0, r1
+ add r0, sp, #8
+ strh r1, [r0, #0xa]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #0x10
+ bl MOD11_0223178C
+ add r1, r4, #0
+ add r1, #0x35
+ strb r0, [r1]
+ mov r0, #2
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250B9A:
+ mov r1, #0x20
+ add r2, r7, #0
+ tst r2, r1
+ beq _02250BBA
+ mov r1, #8
+ add r0, sp, #8
+ strb r1, [r0, #9]
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02230140
+ str r0, [sp, #0x14]
+ ldr r1, _02250E8C ; =0x0000039A
+ add r0, sp, #8
+ strh r1, [r0, #0xa]
+ b _02250BF0
+_02250BBA:
+ lsl r1, r1, #4
+ tst r1, r7
+ beq _02250BD8
+ mov r1, #8
+ add r0, sp, #8
+ strb r1, [r0, #9]
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02230140
+ str r0, [sp, #0x14]
+ ldr r1, _02250E90 ; =0x000004C6
+ add r0, sp, #8
+ strh r1, [r0, #0xa]
+ b _02250BF0
+_02250BD8:
+ add r2, r4, #0
+ mov r1, #2
+ add r3, sp, #8
+ strb r1, [r3, #9]
+ add r2, #0x23
+ ldrb r2, [r2]
+ ldrb r1, [r4, #9]
+ sub r0, #0x67
+ lsl r2, r2, #8
+ orr r1, r2
+ str r1, [sp, #0x14]
+ strh r0, [r3, #0xa]
+_02250BF0:
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #0x10
+ mov r3, #0
+ bl MOD11_0223178C
+ mov r0, #3
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250C04:
+ add r0, r4, #0
+ add r0, #0x35
+ ldrb r0, [r0]
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _02250C36
+ mov r0, #3
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250C1A:
+ ldr r0, [r4, #4]
+ bl MOD11_02257208
+ ldr r0, [sp, #4]
+ ldr r1, [r4]
+ bl MOD11_0225464C
+ mov r0, #4
+ strb r0, [r4, #0xa]
+_02250C2C:
+ add r0, r6, #0
+ bl MOD11_02258F5C
+ cmp r0, #0
+ bne _02250C38
+_02250C36:
+ b _02250F3E
+_02250C38:
+ ldrb r1, [r4, #9]
+ add r0, sp, #8
+ strb r1, [r0, #1]
+ add r1, r4, #0
+ add r1, #0x34
+ ldrb r1, [r1]
+ strb r1, [r0]
+ add r1, r4, #0
+ add r1, #0x23
+ ldrb r1, [r1]
+ strb r1, [r0, #2]
+ mov r1, #0x36
+ ldrsh r1, [r4, r1]
+ strh r1, [r0, #4]
+ ldrh r1, [r4, #0x38]
+ strh r1, [r0, #6]
+ add r1, r4, #0
+ add r1, #0x3a
+ ldrb r1, [r1]
+ strb r1, [r0, #3]
+ ldr r1, _02250E94 ; =0x00000197
+ ldr r0, [sp, #4]
+ ldrb r0, [r0, r1]
+ cmp r0, #0
+ beq _02250CFA
+ add r0, r6, #0
+ mov r1, #1
+ bl MOD11_0225B77C
+ ldr r0, [r4]
+ bl MOD11_02230C50
+ mov r1, #1
+ tst r0, r1
+ beq _02250C8C
+ add r0, r6, #0
+ mov r1, #6
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+ b _02250CF0
+_02250C8C:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _02250CA8
+ add r0, r6, #0
+ mov r1, #0xa
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+ b _02250CF0
+_02250CA8:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #0x20
+ tst r0, r1
+ beq _02250CC2
+ add r0, r6, #0
+ mov r1, #8
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+ b _02250CF0
+_02250CC2:
+ add r0, sp, #8
+ ldrb r0, [r0]
+ cmp r0, #4
+ bne _02250CE4
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _02250CE4
+ add r0, r6, #0
+ mov r1, #4
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+ b _02250CF0
+_02250CE4:
+ add r0, r6, #0
+ mov r1, #3
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+_02250CF0:
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_022312AC
+ b _02250D70
+_02250CFA:
+ ldr r0, [r4]
+ bl MOD11_02230C50
+ mov r1, #1
+ tst r0, r1
+ beq _02250D14
+ add r0, r6, #0
+ mov r1, #5
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+ b _02250D68
+_02250D14:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _02250D30
+ add r0, r6, #0
+ mov r1, #9
+ mov r2, #0
+ add r3, sp, #8
+ bl MOD11_02258820
+ b _02250D68
+_02250D30:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #0x20
+ tst r0, r1
+ add r3, sp, #8
+ beq _02250D4A
+ add r0, r6, #0
+ mov r1, #7
+ mov r2, #0
+ bl MOD11_02258820
+ b _02250D68
+_02250D4A:
+ add r0, sp, #8
+ ldrb r0, [r0]
+ cmp r0, #4
+ beq _02250D5E
+ add r0, r6, #0
+ mov r1, #1
+ mov r2, #0
+ bl MOD11_02258820
+ b _02250D68
+_02250D5E:
+ add r0, r6, #0
+ mov r1, #2
+ mov r2, #0
+ bl MOD11_02258820
+_02250D68:
+ ldr r1, _02250E94 ; =0x00000197
+ ldr r0, [sp, #4]
+ mov r2, #1
+ strb r2, [r0, r1]
+_02250D70:
+ add r1, r4, #0
+ add r0, r6, #0
+ add r1, #0x1c
+ bl MOD11_02258D60
+ add r1, r4, #0
+ add r2, r4, #0
+ add r0, r6, #0
+ add r1, #0x10
+ add r2, #0x16
+ bl MOD11_02258D7C
+ add r0, r6, #0
+ bl MOD11_02258DD0
+ cmp r5, #0
+ beq _02250D98
+ add r0, r5, #0
+ bl MOD11_02258180
+_02250D98:
+ mov r0, #5
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250DA0:
+ ldr r0, _02250E98 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #8
+ tst r0, r1
+ beq _02250DD0
+ ldr r0, [r4]
+ mov r5, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _02250DD0
+_02250DB6:
+ ldr r0, [r4]
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ add r0, #0x28
+ bl MOD11_0225704C
+ ldr r0, [r4]
+ add r5, r5, #1
+ bl MOD11_0222FF84
+ cmp r5, r0
+ blt _02250DB6
+_02250DD0:
+ add r0, r6, #0
+ bl MOD11_02258E74
+ mov r1, #0
+ mvn r1, r1
+ str r0, [r4, #0xc]
+ cmp r0, r1
+ beq _02250E02
+ mov r0, #0xa
+ strb r0, [r4, #0xb]
+ ldr r0, _02250E9C ; =0x000005DD
+ bl FUN_020054C8
+ mov r0, #6
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250DF2:
+ add r0, r6, #0
+ bl MOD11_02258F5C
+ cmp r0, #1
+ beq _02250E04
+ ldr r0, [r4, #0xc]
+ cmp r0, #1
+ beq _02250E04
+_02250E02:
+ b _02250F3E
+_02250E04:
+ ldr r0, [r4, #0xc]
+ cmp r0, #4
+ bhi _02250EC4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02250E16: ; jump table
+ .short _02250EC4 - _02250E16 - 2 ; case 0
+ .short _02250E20 - _02250E16 - 2 ; case 1
+ .short _02250E34 - _02250E16 - 2 ; case 2
+ .short _02250E5C - _02250E16 - 2 ; case 3
+ .short _02250EA0 - _02250E16 - 2 ; case 4
+_02250E20:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ beq _02250EC8
+ mov r0, #7
+ strb r0, [r4, #0xa]
+ b _02250EC8
+_02250E34:
+ mov r1, #0
+ add r0, r6, #0
+ add r2, r1, #0
+ add r3, r1, #0
+ bl MOD11_02258820
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+ add r0, r5, #0
+ bl MOD11_02258184
+ ldr r0, [r4, #4]
+ bl MOD11_02257238
+ ldr r0, [sp, #4]
+ bl MOD11_0225468C
+ b _02250EC8
+_02250E5C:
+ mov r1, #0
+ add r0, r6, #0
+ add r2, r1, #0
+ add r3, r1, #0
+ bl MOD11_02258820
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+ add r0, r5, #0
+ bl MOD11_02258184
+ ldr r0, [r4, #4]
+ bl MOD11_02257238
+ ldr r0, [sp, #4]
+ bl MOD11_0225468C
+ b _02250EC8
+ .align 2, 0
+_02250E84: .word 0x00000399
+_02250E88: .word 0x000004CA
+_02250E8C: .word 0x0000039A
+_02250E90: .word 0x000004C6
+_02250E94: .word 0x00000197
+_02250E98: .word 0x021C48B8
+_02250E9C: .word 0x000005DD
+_02250EA0:
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02230CB8
+ cmp r0, #1
+ bne _02250EB6
+ add r0, r5, #0
+ bl MOD11_02258184
+ mov r0, #0xff
+ str r0, [r4, #0xc]
+_02250EB6:
+ mov r1, #0
+ add r0, r6, #0
+ add r2, r1, #0
+ add r3, r1, #0
+ bl MOD11_02258820
+ b _02250EC8
+_02250EC4:
+ bl ErrorHandling
+_02250EC8:
+ add r0, r6, #0
+ bl MOD11_02258E30
+ mov r0, #8
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250ED6:
+ add r0, r6, #0
+ bl MOD11_02258F5C
+ cmp r0, #1
+ bne _02250F3E
+ mov r1, #0
+ add r0, r6, #0
+ add r2, r1, #0
+ add r3, r1, #0
+ bl MOD11_02258820
+ add r0, r6, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+ add r0, r5, #0
+ bl MOD11_02258184
+ ldr r0, [r4, #4]
+ bl MOD11_02257238
+ ldr r0, [sp, #4]
+ bl MOD11_0225468C
+ add r0, r6, #0
+ bl MOD11_02258E30
+ mov r0, #8
+ add sp, #0x4c
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_02250F14:
+ add r0, r6, #0
+ bl MOD11_0225B780
+ cmp r0, #1
+ bne _02250F3E
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ ldr r2, [r4, #0xc]
+ bl MOD11_02255528
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp]
+ bl FUN_0200CAB4
+_02250F3E:
+ add sp, #0x4c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02250F44
+MOD11_02250F44: ; 0x02250F44
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #9]
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl FUN_021F45A4
+ add r2, r0, #0
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02255528
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02250F74
+MOD11_02250F74: ; 0x02250F74
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #9]
+ add r5, r0, #0
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02250F94
+MOD11_02250F94: ; 0x02250F94
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230DE0
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF78
+ mov r2, #0
+ ldrb r1, [r4, #9]
+ add r3, r2, #0
+ bl MOD11_02243420
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x1a
+ bl FUN_02068678
+ ldr r2, _0225100C ; =0x0225E830
+ lsl r1, r5, #1
+ ldrb r2, [r2, r1]
+ mul r2, r0
+ add r0, r2, #0
+ ldr r2, _02251010 ; =0x0225E831
+ ldrb r1, [r2, r1]
+ blx _s32_div_f
+ add r5, r0, #0
+ bl FUN_0201B9EC
+ mov r1, #0xff
+ blx _s32_div_f
+ cmp r1, r5
+ ldr r0, [r4]
+ bgt _02250FEA
+ ldrb r1, [r4, #9]
+ mov r2, #4
+ bl MOD11_02255528
+ b _02250FF2
+_02250FEA:
+ ldrb r1, [r4, #9]
+ mov r2, #5
+ bl MOD11_02255528
+_02250FF2:
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+ pop {r4, r5, r6, pc}
+ nop
+_0225100C: .word 0x0225E830
+_02251010: .word 0x0225E831
+
+ thumb_func_start MOD11_02251014
+MOD11_02251014: ; 0x02251014
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #9]
+ add r5, r0, #0
+ ldr r0, [r4]
+ mov r2, #4
+ bl MOD11_02255528
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0225103C
+MOD11_0225103C: ; 0x0225103C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x3c
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldr r0, [r4]
+ bl MOD11_02230094
+ add r7, r0, #0
+ ldrb r1, [r4, #0x1d]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ str r0, [sp]
+ ldrb r1, [r4, #0x1d]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldrb r0, [r4, #0x1d]
+ cmp r1, r0
+ beq _02251076
+ ldr r0, [r4]
+ bl MOD11_02231380
+ add r5, r0, #0
+ b _02251078
+_02251076:
+ mov r5, #0
+_02251078:
+ add r0, r4, #0
+ add r0, #0x20
+ ldrb r0, [r0]
+ cmp r0, #3
+ bls _02251084
+ b _0225118E
+_02251084:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02251090: ; jump table
+ .short _02251098 - _02251090 - 2 ; case 0
+ .short _02251114 - _02251090 - 2 ; case 1
+ .short _0225113A - _02251090 - 2 ; case 2
+ .short _02251180 - _02251090 - 2 ; case 3
+_02251098:
+ add r0, r7, #0
+ bl MOD11_02258F5C
+ cmp r0, #0
+ bne _022510A4
+ b _022511B6
+_022510A4:
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r1, r0, #0
+ mov r2, #2
+ add r0, sp, #4
+ strb r2, [r0, #0x15]
+ ldrb r2, [r4, #0x1f]
+ ldrb r3, [r4, #0x1d]
+ lsl r2, r2, #8
+ orr r2, r3
+ str r2, [sp, #0x1c]
+ ldr r2, _022511BC ; =0x00000399
+ mov r3, #0
+ strh r2, [r0, #0x16]
+ ldr r0, [r4]
+ add r2, sp, #0x18
+ bl MOD11_0223178C
+ add r0, r7, #0
+ bl MOD11_02258E30
+ add r5, sp, #4
+ mov r2, #0
+ add r3, r4, #0
+ add r6, r5, #0
+_022510D8:
+ ldrh r0, [r3, #0xc]
+ add r1, r4, r2
+ add r2, r2, #1
+ strh r0, [r5]
+ ldrb r0, [r1, #0x14]
+ add r3, r3, #2
+ add r5, r5, #2
+ strb r0, [r6, #8]
+ ldrb r0, [r1, #0x18]
+ strb r0, [r6, #0xc]
+ add r6, r6, #1
+ cmp r2, #4
+ blt _022510D8
+ ldrb r1, [r4, #0x1e]
+ add r0, sp, #4
+ mov r2, #0
+ strb r1, [r0, #0x10]
+ add r0, r7, #0
+ mov r1, #0xb
+ add r3, sp, #4
+ bl MOD11_02258820
+ add r0, r4, #0
+ add r0, #0x20
+ ldrb r0, [r0]
+ add r4, #0x20
+ add sp, #0x3c
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, r7, pc}
+_02251114:
+ add r0, r7, #0
+ bl MOD11_02258E74
+ mov r1, #0
+ mvn r1, r1
+ str r0, [r4, #8]
+ cmp r0, r1
+ beq _022511B6
+ ldr r0, _022511C0 ; =0x000005DD
+ bl FUN_020054C8
+ add r0, r4, #0
+ add r0, #0x20
+ ldrb r0, [r0]
+ add r4, #0x20
+ add sp, #0x3c
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, r7, pc}
+_0225113A:
+ ldr r0, [r4, #8]
+ cmp r0, #0xff
+ beq _02251166
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02251166
+ add r0, r7, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+ add r0, r5, #0
+ bl MOD11_02258184
+ ldr r0, [r4, #4]
+ bl MOD11_02257238
+ ldr r0, [sp]
+ bl MOD11_0225468C
+_02251166:
+ ldrb r1, [r4, #0x1d]
+ ldr r0, [r4]
+ ldr r2, [r4, #8]
+ bl MOD11_022555E4
+ add r0, r4, #0
+ add r0, #0x20
+ ldrb r0, [r0]
+ add r4, #0x20
+ add sp, #0x3c
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, r7, pc}
+_02251180:
+ add r0, r4, #0
+ add r0, #0x20
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x20
+ strb r1, [r0]
+_0225118E:
+ add r0, r7, #0
+ bl MOD11_0225B780
+ cmp r0, #1
+ bne _022511B6
+ ldr r0, [r4]
+ mov r1, #1
+ bl MOD11_02231274
+ ldrb r1, [r4, #0x1d]
+ ldrb r2, [r4, #0x1c]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_022511B6:
+ add sp, #0x3c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_022511BC: .word 0x00000399
+_022511C0: .word 0x000005DD
+
+ thumb_func_start MOD11_022511C4
+MOD11_022511C4: ; 0x022511C4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ add r6, r1, #0
+ str r0, [sp, #8]
+ ldr r0, [r6]
+ bl MOD11_0222FF74
+ add r4, r0, #0
+ ldr r0, [r6]
+ bl MOD11_0222FF78
+ str r0, [sp, #0xc]
+ ldr r0, _02251290 ; =0x00000101
+ tst r0, r4
+ bne _022511FA
+ ldr r0, [r6]
+ bl MOD11_02230C50
+ mov r1, #1
+ tst r0, r1
+ bne _022511FA
+ ldrb r1, [r6, #0x1d]
+ ldr r0, [r6]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _02251216
+_022511FA:
+ bl FUN_02033590
+ cmp r0, #0
+ beq _02251206
+ bl ErrorHandling
+_02251206:
+ ldrb r1, [r6, #0x1d]
+ ldr r0, [r6]
+ bl FUN_021EFD8C
+ cmp r0, #0xff
+ beq _0225128C
+ add r4, r0, #1
+ b _0225126C
+_02251216:
+ mov r7, #0
+ add r4, r7, #0
+ add r5, sp, #0x10
+_0225121C:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldrh r1, [r6, #0x22]
+ tst r0, r1
+ bne _0225122E
+ add r0, r4, #1
+ stmia r5!, {r0}
+ add r7, r7, #1
+_0225122E:
+ add r4, r4, #1
+ cmp r4, #4
+ blt _0225121C
+ bl FUN_0201B9EC
+ add r1, r7, #0
+ blx _s32_div_f
+ lsl r1, r1, #2
+ add r0, sp, #0x10
+ ldr r4, [r0, r1]
+ mov r0, #1
+ sub r3, r4, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ lsl r3, r3, #1
+ add r3, r6, r3
+ ldrb r2, [r6, #0x1d]
+ ldrh r3, [r3, #0xc]
+ ldr r0, [r6]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02244C28
+ str r0, [sp]
+ ldrb r3, [r6, #0x1d]
+ ldr r0, [r6]
+ ldr r1, [sp, #0xc]
+ mov r2, #0xb
+ bl MOD11_0224C54C
+_0225126C:
+ ldrb r1, [r6, #0x1d]
+ ldr r0, [r6]
+ add r2, r4, #0
+ bl MOD11_022555E4
+ ldrb r1, [r6, #0x1d]
+ ldrb r2, [r6, #0x1c]
+ ldr r0, [r6]
+ bl MOD11_022567B8
+ add r0, r6, #0
+ bl FUN_02016A18
+ ldr r0, [sp, #8]
+ bl FUN_0200CAB4
+_0225128C:
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02251290: .word 0x00000101
+
+ thumb_func_start MOD11_02251294
+MOD11_02251294: ; 0x02251294
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #0x1d]
+ add r5, r0, #0
+ ldrb r2, [r4, #0x1c]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022512B4
+MOD11_022512B4: ; 0x022512B4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ add r4, r1, #0
+ str r0, [sp]
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230094
+ add r5, r0, #0
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldrb r0, [r4, #0xd]
+ cmp r1, r0
+ beq _022512EE
+ ldr r0, [r4]
+ bl MOD11_02231380
+ add r6, r0, #0
+ b _022512F0
+_022512EE:
+ mov r6, #0
+_022512F0:
+ ldrb r0, [r4, #0xf]
+ cmp r0, #3
+ bhi _022513BE
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02251302: ; jump table
+ .short _0225130A - _02251302 - 2 ; case 0
+ .short _02251366 - _02251302 - 2 ; case 1
+ .short _02251386 - _02251302 - 2 ; case 2
+ .short _022513BA - _02251302 - 2 ; case 3
+_0225130A:
+ add r0, r5, #0
+ bl MOD11_02258F5C
+ cmp r0, #0
+ bne _02251316
+ b _02251418
+_02251316:
+ add r2, sp, #8
+ mov r0, #0
+ add r1, r4, #0
+ add r2, #2
+_0225131E:
+ ldrh r3, [r1, #0x10]
+ add r0, r0, #1
+ strh r3, [r2]
+ ldrh r3, [r1, #0x12]
+ strh r3, [r2, #2]
+ ldrh r3, [r1, #0x14]
+ strh r3, [r2, #4]
+ ldrh r3, [r1, #0x16]
+ add r1, #8
+ strh r3, [r2, #6]
+ add r2, #8
+ cmp r0, #4
+ blt _0225131E
+ ldrb r1, [r4, #0xe]
+ add r0, sp, #0x28
+ add r0, #2
+ strb r1, [r0]
+ ldrh r0, [r4, #0x30]
+ ldrb r1, [r4, #0xe]
+ bl MOD11_02258F88
+ add r1, sp, #0x28
+ add r1, #2
+ strb r0, [r1, #1]
+ add r3, sp, #8
+ add r0, r5, #0
+ mov r1, #0xc
+ mov r2, #0
+ add r3, #2
+ bl MOD11_02258820
+ ldrb r0, [r4, #0xf]
+ add sp, #0x2c
+ add r0, r0, #1
+ strb r0, [r4, #0xf]
+ pop {r4, r5, r6, r7, pc}
+_02251366:
+ add r0, r5, #0
+ bl MOD11_02258E74
+ mov r1, #0
+ mvn r1, r1
+ str r0, [r4, #8]
+ cmp r0, r1
+ beq _02251418
+ ldr r0, _0225141C ; =0x000005DD
+ bl FUN_020054C8
+ ldrb r0, [r4, #0xf]
+ add sp, #0x2c
+ add r0, r0, #1
+ strb r0, [r4, #0xf]
+ pop {r4, r5, r6, r7, pc}
+_02251386:
+ ldr r0, [r4, #8]
+ cmp r0, #0xff
+ beq _022513B0
+ ldr r0, [r4, #4]
+ bl MOD11_02257238
+ add r0, r7, #0
+ bl MOD11_0225468C
+ add r0, r6, #0
+ bl MOD11_02258184
+ add r0, r4, #0
+ add r0, #0x32
+ ldrb r0, [r0]
+ cmp r0, #1
+ bne _022513B0
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+_022513B0:
+ ldrb r0, [r4, #0xf]
+ add sp, #0x2c
+ add r0, r0, #1
+ strb r0, [r4, #0xf]
+ pop {r4, r5, r6, r7, pc}
+_022513BA:
+ add r0, r0, #1
+ strb r0, [r4, #0xf]
+_022513BE:
+ add r0, r5, #0
+ bl MOD11_0225B780
+ cmp r0, #1
+ bne _02251418
+ ldr r0, [r4]
+ ldr r5, [r4, #8]
+ bl MOD11_0222FF74
+ add r6, r0, #0
+ cmp r5, #0xff
+ beq _022513F8
+ ldr r0, [r4]
+ add r1, sp, #4
+ bl MOD11_022314E0
+ mov r0, #2
+ tst r0, r6
+ ldr r0, [r4, #8]
+ beq _022513F0
+ add r1, r0, #1
+ add r0, sp, #4
+ ldrb r0, [r0, r1]
+ add r5, r0, #1
+ b _022513F8
+_022513F0:
+ sub r1, r0, #1
+ add r0, sp, #4
+ ldrb r0, [r0, r1]
+ add r5, r0, #1
+_022513F8:
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ add r2, r5, #0
+ bl MOD11_02255720
+ ldrb r1, [r4, #0xd]
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp]
+ bl FUN_0200CAB4
+_02251418:
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225141C: .word 0x000005DD
+
+ thumb_func_start MOD11_02251420
+MOD11_02251420: ; 0x02251420
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_0222FF78
+ add r1, r0, #0
+ ldrb r3, [r5, #0xd]
+ ldr r0, [r5]
+ mov r2, #0xb
+ bl MOD11_0224C474
+ add r4, r0, #1
+ cmp r4, #5
+ blt _02251442
+ bl ErrorHandling
+_02251442:
+ ldrb r1, [r5, #0xd]
+ ldr r0, [r5]
+ add r2, r4, #0
+ bl MOD11_02255720
+ ldrb r1, [r5, #0xd]
+ ldrb r2, [r5, #0xc]
+ ldr r0, [r5]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02251464
+MOD11_02251464: ; 0x02251464
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #0xd]
+ add r5, r0, #0
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02251484
+MOD11_02251484: ; 0x02251484
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x1fc
+ sub sp, #0x14
+ add r4, r1, #0
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ ldrb r1, [r4, #0xe]
+ add r5, r0, #0
+ cmp r1, #0x1e
+ bls _022514A0
+ bl _02251FEA
+_022514A0:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022514AC: ; jump table
+ .short _022514EA - _022514AC - 2 ; case 0
+ .short _02251540 - _022514AC - 2 ; case 1
+ .short _022515C2 - _022514AC - 2 ; case 2
+ .short _022515D6 - _022514AC - 2 ; case 3
+ .short _02251634 - _022514AC - 2 ; case 4
+ .short _0225177C - _022514AC - 2 ; case 5
+ .short _022517B8 - _022514AC - 2 ; case 6
+ .short _02251808 - _022514AC - 2 ; case 7
+ .short _022519DC - _022514AC - 2 ; case 8
+ .short _02251A5A - _022514AC - 2 ; case 9
+ .short _02251A96 - _022514AC - 2 ; case 10
+ .short _02251AB8 - _022514AC - 2 ; case 11
+ .short _02251FA2 - _022514AC - 2 ; case 12
+ .short _02251B3E - _022514AC - 2 ; case 13
+ .short _02251FA2 - _022514AC - 2 ; case 14
+ .short _02251BF2 - _022514AC - 2 ; case 15
+ .short _02251FD0 - _022514AC - 2 ; case 16
+ .short _02251AF8 - _022514AC - 2 ; case 17
+ .short _02251FA2 - _022514AC - 2 ; case 18
+ .short _02251CA6 - _022514AC - 2 ; case 19
+ .short _02251FA2 - _022514AC - 2 ; case 20
+ .short _02251CEC - _022514AC - 2 ; case 21
+ .short _02251D86 - _022514AC - 2 ; case 22
+ .short _02251DBC - _022514AC - 2 ; case 23
+ .short _02251FD0 - _022514AC - 2 ; case 24
+ .short _02251AF8 - _022514AC - 2 ; case 25
+ .short _02251FA2 - _022514AC - 2 ; case 26
+ .short _02251CA6 - _022514AC - 2 ; case 27
+ .short _02251FA2 - _022514AC - 2 ; case 28
+ .short _02251E2E - _022514AC - 2 ; case 29
+ .short _02251FD0 - _022514AC - 2 ; case 30
+_022514EA:
+ ldr r0, [r4]
+ bl MOD11_02230094
+ bl MOD11_0225C76C
+ strb r0, [r4, #0x10]
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ mov r2, #3
+ str r1, [sp]
+ mov r0, #7
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #5
+ add r3, r1, #0
+ add r0, r5, #0
+ lsl r2, r2, #0xa
+ sub r3, #0xd
+ bl FUN_02003210
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0xa
+ add r3, r1, #0
+ ldr r2, _02251850 ; =0x0000FFFF
+ add r0, r5, #0
+ sub r3, #0x12
+ bl FUN_02003210
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251540:
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _022515FE
+ ldr r0, [r4]
+ bl MOD11_0222D7F8
+ mov r0, #5
+ mov r1, #0x34
+ bl FUN_02016998
+ str r0, [r4, #4]
+ ldr r1, [r4]
+ str r1, [r0]
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_022301D4
+ ldr r1, [r4, #4]
+ str r0, [r1, #4]
+ ldr r0, [r4, #4]
+ mov r1, #5
+ str r1, [r0, #0xc]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x26
+ strb r1, [r0]
+ ldr r0, [r4]
+ bl MOD11_02230214
+ ldr r1, [r4, #4]
+ str r0, [r1, #8]
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4, #4]
+ str r1, [r0, #0x10]
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0x10]
+ add r0, #0x25
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0x14]
+ add r0, #0x22
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0x15]
+ add r0, #0x23
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0x16]
+ add r0, #0x24
+ strb r1, [r0]
+ ldrb r0, [r4, #0xd]
+ add r0, r4, r0
+ add r0, #0x30
+ ldrb r1, [r0]
+ ldr r0, [r4, #4]
+ str r1, [r0, #0x18]
+ ldr r0, [r4, #4]
+ bl FUN_022186F0
+ add sp, #0x1fc
+ mov r0, #3
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_022515C2:
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0x10]
+ add r0, #0x25
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ bl FUN_022186F0
+ ldrb r0, [r4, #0xe]
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+_022515D6:
+ ldr r1, [r4, #4]
+ add r0, r1, #0
+ add r0, #0x26
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _022515FE
+ mov r0, #0
+ add r1, #0x26
+ strb r0, [r1]
+ ldr r0, [r4, #4]
+ add r0, #0x25
+ ldrb r0, [r0]
+ strb r0, [r4, #0x10]
+ ldr r1, [r4, #4]
+ ldrh r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _0225162A
+ ldrb r0, [r1, #0x1e]
+ cmp r0, #3
+ bls _02251602
+_022515FE:
+ bl _02251FEA
+_02251602:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225160E: ; jump table
+ .short _02251616 - _0225160E - 2 ; case 0
+ .short _02251616 - _0225160E - 2 ; case 1
+ .short _02251620 - _0225160E - 2 ; case 2
+ .short _02251620 - _0225160E - 2 ; case 3
+_02251616:
+ add sp, #0x1fc
+ mov r0, #4
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251620:
+ add sp, #0x1fc
+ mov r0, #6
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225162A:
+ add sp, #0x1fc
+ mov r0, #6
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251634:
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF88
+ str r0, [sp, #0x14]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02251660
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _02251660
+ ldrb r1, [r4, #0xd]
+ mov r0, #1
+ add r7, r1, #0
+ and r7, r0
+ b _02251662
+_02251660:
+ ldrb r7, [r4, #0xd]
+_02251662:
+ ldr r0, [r4, #8]
+ mov r1, #6
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_0206B8CC
+ ldr r0, [sp, #0x14]
+ mov r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _022516B0
+ mov r0, #6
+ mul r0, r7
+ add r5, r4, r0
+_02251680:
+ ldrb r2, [r5, #0x18]
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_02230014
+ add r1, r0, #0
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_0206B900
+ ldr r1, [r4, #8]
+ ldrb r0, [r5, #0x18]
+ ldr r1, [r1, #4]
+ add r5, r5, #1
+ add r1, r1, r6
+ add r1, #0x2c
+ strb r0, [r1]
+ ldr r0, [sp, #0x14]
+ add r6, r6, #1
+ bl FUN_0206B9AC
+ cmp r6, r0
+ blt _02251680
+_022516B0:
+ ldr r0, [r4, #8]
+ ldr r1, [r4]
+ ldr r0, [r0, #4]
+ str r1, [r0, #8]
+ ldr r0, [r4, #8]
+ mov r1, #5
+ ldr r0, [r0, #4]
+ str r1, [r0, #0xc]
+ ldr r1, [r4, #8]
+ mov r0, #0
+ ldr r1, [r1, #4]
+ strb r0, [r1, #0x11]
+ ldr r1, [r4, #8]
+ ldr r1, [r1, #4]
+ add r1, #0x36
+ strb r0, [r1]
+ ldr r1, [r4, #8]
+ ldr r1, [r1, #4]
+ strh r0, [r1, #0x24]
+ ldr r0, [r4, #8]
+ mov r1, #2
+ ldr r0, [r0, #4]
+ add r0, #0x35
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ ldrh r1, [r0, #0x1c]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ strh r1, [r0, #0x22]
+ ldr r0, [r4, #4]
+ ldrb r1, [r0, #0x1e]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ add r0, #0x33
+ strb r1, [r0]
+ ldr r0, [r4, #4]
+ ldr r1, [r0, #0x10]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ str r1, [r0, #0x28]
+ ldr r0, [r4, #8]
+ ldrb r1, [r4, #0x10]
+ ldr r0, [r0, #4]
+ add r0, #0x32
+ strb r1, [r0]
+ ldrb r0, [r4, #0xd]
+ ldr r2, [r4, #8]
+ add r0, r2, r0
+ ldrb r1, [r0, #0xc]
+ ldr r0, [r2, #4]
+ strb r1, [r0, #0x14]
+ ldrb r1, [r4, #0xd]
+ ldr r5, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r0, r5, r0
+ ldrb r1, [r0, #0xc]
+ ldr r0, [r5, #4]
+ strb r1, [r0, #0x15]
+ ldrb r0, [r4, #0xf]
+ cmp r0, #4
+ bne _02251746
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r0, r4, r0
+ add r0, #0x30
+ ldrb r1, [r0]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ str r1, [r0, #0x18]
+ ldrb r0, [r4, #0xd]
+ b _0225175C
+_02251746:
+ ldrb r0, [r4, #0xd]
+ add r0, r4, r0
+ add r0, #0x30
+ ldrb r1, [r0]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ str r1, [r0, #0x18]
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+_0225175C:
+ add r0, r4, r0
+ add r0, #0x30
+ ldrb r1, [r0]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ str r1, [r0, #0x1c]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ bl FUN_02211E60
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225177C:
+ ldr r0, [r4, #8]
+ ldr r1, [r0, #4]
+ add r0, r1, #0
+ add r0, #0x36
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _02251832
+ add r1, #0x32
+ ldrb r0, [r1]
+ mov r1, #0
+ strb r0, [r4, #0x10]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ add r0, #0x36
+ strb r1, [r0]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #6
+ bne _022517AE
+ add sp, #0x1fc
+ mov r0, #2
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_022517AE:
+ add sp, #0x1fc
+ mov r0, #6
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_022517B8:
+ ldr r0, [r4]
+ bl MOD11_0222D88C
+ ldr r0, [r4]
+ bl MOD11_02230094
+ ldrb r1, [r4, #0x10]
+ bl MOD11_0225C778
+ mov r0, #7
+ str r0, [sp]
+ mov r0, #0
+ mov r1, #5
+ str r0, [sp, #4]
+ mov r2, #3
+ add r3, r1, #0
+ str r0, [sp, #8]
+ add r0, r5, #0
+ lsl r2, r2, #0xa
+ sub r3, #0xd
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp]
+ mov r0, #0
+ mov r1, #0xa
+ str r0, [sp, #4]
+ add r3, r1, #0
+ str r0, [sp, #8]
+ ldr r2, _02251850 ; =0x0000FFFF
+ add r0, r5, #0
+ sub r3, #0x12
+ bl FUN_02003210
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251808:
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _02251832
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #0
+ bl FUN_020143A8
+ ldr r0, [r4, #4]
+ ldrh r0, [r0, #0x1c]
+ cmp r0, #0
+ bne _02251826
+ b _022519D2
+_02251826:
+ mov r0, #9
+ strb r0, [r4, #0xe]
+ ldr r0, [r4, #4]
+ ldrb r1, [r0, #0x1e]
+ cmp r1, #3
+ bls _02251834
+_02251832:
+ b _02251FEA
+_02251834:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02251840: ; jump table
+ .short _022518F4 - _02251840 - 2 ; case 0
+ .short _02251848 - _02251840 - 2 ; case 1
+ .short _022519C8 - _02251840 - 2 ; case 2
+ .short _0225195E - _02251840 - 2 ; case 3
+_02251848:
+ ldrh r1, [r0, #0x1c]
+ ldr r0, _02251854 ; =0x0000FFE4
+ b _02251858
+ nop
+_02251850: .word 0x0000FFFF
+_02251854: .word 0x0000FFE4
+_02251858:
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _0225186C
+ add sp, #0x1fc
+ mov r0, #8
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225186C:
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #2
+ bhs _0225188A
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #3
+ beq _02251894
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #0x13
+ beq _02251894
+_0225188A:
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #1
+ bhs _022518EA
+_02251894:
+ ldr r0, [r4, #4]
+ ldrh r0, [r0, #0x1c]
+ cmp r0, #0x17
+ ldr r0, [r4]
+ bne _022518C4
+ bl MOD11_02230E20
+ cmp r0, #1
+ bne _022518B0
+ add sp, #0x1fc
+ mov r0, #0x11
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022518B0:
+ mov r1, #0x74
+ ldr r0, _02251BF8 ; =0x000005EC
+ mvn r1, r1
+ bl FUN_020054A8
+ add sp, #0x1fc
+ mov r0, #0x15
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022518C4:
+ bl MOD11_02230E20
+ cmp r0, #1
+ bne _022518D6
+ add sp, #0x1fc
+ mov r0, #0x19
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022518D6:
+ mov r1, #0x74
+ ldr r0, _02251BF8 ; =0x000005EC
+ mvn r1, r1
+ bl FUN_020054A8
+ add sp, #0x1fc
+ mov r0, #0x1d
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022518EA:
+ add sp, #0x1fc
+ mov r0, #8
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_022518F4:
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #2
+ bhs _02251912
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #3
+ beq _0225191C
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #0x13
+ beq _0225191C
+_02251912:
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #1
+ bhs _02251954
+_0225191C:
+ ldr r0, [r4, #4]
+ mov r1, #0x26
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251954
+ ldr r0, [r4]
+ bl MOD11_02230E20
+ cmp r0, #1
+ bne _02251940
+ add sp, #0x1fc
+ mov r0, #0x11
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251940:
+ mov r1, #0x74
+ ldr r0, _02251BF8 ; =0x000005EC
+ mvn r1, r1
+ bl FUN_020054A8
+ add sp, #0x1fc
+ mov r0, #0x15
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251954:
+ add sp, #0x1fc
+ mov r0, #8
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225195E:
+ ldrh r1, [r0, #0x1c]
+ ldr r0, _02251BFC ; =0x0000FFC1
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #1
+ bhi _02251976
+ add sp, #0x1fc
+ mov r0, #8
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251976:
+ cmp r1, #0x37
+ ldr r0, [r4]
+ bne _022519A2
+ bl MOD11_02230E20
+ cmp r0, #1
+ bne _0225198E
+ add sp, #0x1fc
+ mov r0, #0xd
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225198E:
+ mov r1, #0x74
+ ldr r0, _02251BF8 ; =0x000005EC
+ mvn r1, r1
+ bl FUN_020054A8
+ add sp, #0x1fc
+ mov r0, #0xf
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022519A2:
+ bl MOD11_02230E20
+ cmp r0, #1
+ bne _022519B4
+ add sp, #0x1fc
+ mov r0, #0xb
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022519B4:
+ mov r1, #0x74
+ ldr r0, _02251BF8 ; =0x000005EC
+ mvn r1, r1
+ bl FUN_020054A8
+ add sp, #0x1fc
+ mov r0, #0xf
+ add sp, #0x14
+ strh r0, [r4, #0x12]
+ pop {r3, r4, r5, r6, r7, pc}
+_022519C8:
+ add sp, #0x1fc
+ mov r0, #8
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_022519D2:
+ add sp, #0x1fc
+ mov r0, #8
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_022519DC:
+ ldr r2, [r4, #4]
+ ldrh r0, [r2, #0x1c]
+ cmp r0, #0
+ bne _022519EC
+ mov r1, #0xff
+ add r0, sp, #0x1c
+ strh r1, [r0]
+ b _02251A08
+_022519EC:
+ add r1, sp, #0x1c
+ strh r0, [r1]
+ ldrb r0, [r2, #0x1e]
+ strb r0, [r1, #2]
+ cmp r0, #1
+ bhi _02251A08
+ ldr r0, [r4, #8]
+ ldr r2, [r0, #4]
+ ldrb r0, [r2, #0x11]
+ add r0, r2, r0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r0, r0, #1
+ strb r0, [r1, #3]
+_02251A08:
+ add r3, sp, #0x1c
+ ldrb r1, [r4, #0xd]
+ mov r2, sp
+ ldrh r5, [r3]
+ ldr r0, [r4]
+ sub r2, r2, #4
+ strh r5, [r2]
+ ldrh r3, [r3, #2]
+ strh r3, [r2, #2]
+ ldr r2, [r2]
+ bl MOD11_022558C4
+ ldrb r1, [r4, #0xd]
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_02016A18
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ bl FUN_02016A18
+ ldr r0, [r4, #8]
+ bl FUN_02016A18
+ ldr r0, [r4, #4]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r7, #0
+ bl FUN_0200CAB4
+ add sp, #0x1fc
+ add sp, #0x14
+ pop {r3, r4, r5, r6, r7, pc}
+_02251A5A:
+ ldr r1, _02251C00 ; =0x000004B6
+ add r0, sp, #0x8c
+ strh r1, [r0, #2]
+ mov r1, #5
+ strb r1, [r0, #1]
+ ldr r0, [r4, #4]
+ ldrh r0, [r0, #0x1c]
+ str r0, [sp, #0x90]
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #0x8c
+ bl MOD11_0223178C
+ strb r0, [r4, #0x11]
+ mov r0, #0x14
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251A96:
+ ldrb r0, [r4, #0x11]
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _02251AAC
+ ldrb r0, [r4, #0x17]
+ sub r0, r0, #1
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0x17]
+ cmp r0, #0
+ beq _02251AAE
+_02251AAC:
+ b _02251FEA
+_02251AAE:
+ ldrh r0, [r4, #0x12]
+ add sp, #0x1fc
+ add sp, #0x14
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251AB8:
+ ldrb r1, [r4, #0xd]
+ mov r0, #9
+ add r2, sp, #0x1b8
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r3, sp, #0x1b8
+ bl MOD11_02254404
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251AF8:
+ ldr r0, [r4, #8]
+ mov r1, #0
+ ldr r0, [r0, #4]
+ add r2, sp, #0x160
+ ldrb r0, [r0, #0x11]
+ mov r3, #1
+ lsl r5, r0, #1
+ mov r0, #9
+ str r0, [sp]
+ str r5, [sp, #4]
+ str r5, [sp, #8]
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ bl MOD11_02256854
+ ldr r0, [r4]
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r3, sp, #0x160
+ bl MOD11_02254404
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251B3E:
+ ldr r0, [r4, #4]
+ add r2, sp, #0x108
+ ldrh r0, [r0, #0x1c]
+ cmp r0, #0x37
+ bne _02251B7C
+ ldrb r0, [r4, #0xd]
+ mov r1, #0
+ add r3, r1, #0
+ str r1, [sp]
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x36
+ str r0, [sp, #0xc]
+ ldr r0, [r4]
+ bl MOD11_02256854
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r3, sp, #0x108
+ bl MOD11_02254404
+ b _02251BE6
+_02251B7C:
+ cmp r0, #0x38
+ bne _02251BB4
+ ldrb r0, [r4, #0xd]
+ mov r1, #0
+ add r3, r1, #0
+ str r1, [sp]
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x74
+ str r0, [sp, #0xc]
+ ldr r0, [r4]
+ bl MOD11_02256854
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r3, sp, #0x108
+ bl MOD11_02254404
+ b _02251BE6
+_02251BB4:
+ ldrb r1, [r4, #0xd]
+ mov r0, #0xc
+ mov r3, #1
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ bl MOD11_02256854
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r3, sp, #0x108
+ bl MOD11_02254404
+_02251BE6:
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251BF2:
+ ldr r2, _02251C04 ; =0x000004B3
+ b _02251C08
+ nop
+_02251BF8: .word 0x000005EC
+_02251BFC: .word 0x0000FFC1
+_02251C00: .word 0x000004B6
+_02251C04: .word 0x000004B3
+_02251C08:
+ add r0, sp, #0x68
+ strh r2, [r0, #2]
+ mov r1, #0xc
+ strb r1, [r0, #1]
+ ldrb r1, [r4, #0xd]
+ ldr r3, [r4, #8]
+ add r3, r3, r1
+ ldrb r3, [r3, #0xc]
+ lsl r3, r3, #8
+ orr r1, r3
+ str r1, [sp, #0x6c]
+ ldr r1, [r4, #4]
+ ldrh r1, [r1, #0x1c]
+ sub r1, #0x37
+ cmp r1, #7
+ bhi _02251C7A
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02251C34: ; jump table
+ .short _02251C68 - _02251C34 - 2 ; case 0
+ .short _02251C72 - _02251C34 - 2 ; case 1
+ .short _02251C44 - _02251C34 - 2 ; case 2
+ .short _02251C4A - _02251C34 - 2 ; case 3
+ .short _02251C50 - _02251C34 - 2 ; case 4
+ .short _02251C56 - _02251C34 - 2 ; case 5
+ .short _02251C5C - _02251C34 - 2 ; case 6
+ .short _02251C62 - _02251C34 - 2 ; case 7
+_02251C44:
+ mov r0, #1
+ str r0, [sp, #0x70]
+ b _02251C7A
+_02251C4A:
+ mov r0, #2
+ str r0, [sp, #0x70]
+ b _02251C7A
+_02251C50:
+ mov r0, #3
+ str r0, [sp, #0x70]
+ b _02251C7A
+_02251C56:
+ mov r0, #6
+ str r0, [sp, #0x70]
+ b _02251C7A
+_02251C5C:
+ mov r0, #4
+ str r0, [sp, #0x70]
+ b _02251C7A
+_02251C62:
+ mov r0, #5
+ str r0, [sp, #0x70]
+ b _02251C7A
+_02251C68:
+ add r1, r2, #1
+ strh r1, [r0, #2]
+ mov r1, #0
+ strb r1, [r0, #1]
+ b _02251C7A
+_02251C72:
+ add r1, r2, #2
+ strh r1, [r0, #2]
+ mov r1, #2
+ strb r1, [r0, #1]
+_02251C7A:
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #0x68
+ bl MOD11_0223178C
+ strb r0, [r4, #0x11]
+ mov r0, #0x14
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251CA6:
+ ldr r0, [r4, #8]
+ mov r1, #0
+ ldr r0, [r0, #4]
+ add r2, sp, #0xb0
+ ldrb r0, [r0, #0x11]
+ mov r3, #1
+ lsl r5, r0, #1
+ mov r0, #0xe
+ str r0, [sp]
+ str r5, [sp, #4]
+ str r5, [sp, #8]
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ bl MOD11_02256854
+ ldr r0, [r4]
+ add r1, r5, #0
+ bl MOD11_0222FF7C
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r2, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r3, sp, #0xb0
+ bl MOD11_02254404
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251CEC:
+ ldr r0, [r4, #8]
+ ldr r1, [r0, #4]
+ ldrb r0, [r1, #0x11]
+ lsl r6, r0, #1
+ add r0, r1, r0
+ add r0, #0x2c
+ ldrb r7, [r0]
+ ldr r0, [r4]
+ add r1, r6, #0
+ bl MOD11_02231380
+ mov r1, #0
+ mov r2, #1
+ add r5, r0, #0
+ blx MI_CpuFill8
+ ldr r0, [r4]
+ add r1, r6, #0
+ bl MOD11_02230260
+ str r0, [sp, #0x18]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ add r1, r0, #0
+ ldr r0, [sp, #0x18]
+ bl MOD11_02257F6C
+ add r1, r5, #0
+ add r1, #0x25
+ strb r0, [r1]
+ ldr r0, [r4]
+ add r1, r6, #0
+ add r2, r7, #0
+ bl MOD11_02230014
+ mov r1, #0xa2
+ mov r2, #0
+ add r6, r0, #0
+ bl FUN_020671BC
+ ldr r1, [r4, #8]
+ mov r2, #0
+ ldr r1, [r1, #4]
+ ldrh r1, [r1, #0x20]
+ sub r0, r0, r1
+ str r0, [r5, #0x28]
+ add r0, r6, #0
+ mov r1, #0xa3
+ bl FUN_020671BC
+ str r0, [r5, #0x2c]
+ ldr r0, [r4, #8]
+ mov r1, #0x9f
+ ldr r0, [r0, #4]
+ mov r2, #0
+ ldrh r0, [r0, #0x20]
+ str r0, [r5, #0x30]
+ add r0, r6, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _02251D72
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0x4a
+ strb r1, [r0]
+_02251D72:
+ ldr r1, [r5, #0x30]
+ add r0, r5, #0
+ bl MOD11_02257150
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251D86:
+ ldr r1, [r4, #8]
+ ldr r0, [r4]
+ ldr r1, [r1, #4]
+ ldrb r1, [r1, #0x11]
+ lsl r1, r1, #1
+ bl MOD11_02231380
+ add r5, r0, #0
+ bl MOD11_02257184
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ beq _02251DA4
+ b _02251FEA
+_02251DA4:
+ mov r2, #1
+ add r0, r5, #0
+ mov r1, #0
+ lsl r2, r2, #8
+ bl MOD11_02256D70
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251DBC:
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r5, r0, #0
+ ldr r0, [r4, #8]
+ ldr r1, [r0, #4]
+ ldrb r0, [r1, #0x11]
+ ldrh r1, [r1, #0x20]
+ lsl r0, r0, #1
+ cmp r1, #0
+ add r1, sp, #0x1c
+ beq _02251DF4
+ ldr r2, _02251FF0 ; =0x000004BE
+ strh r2, [r1, #0x2a]
+ mov r2, #0x11
+ add r1, sp, #0x44
+ strb r2, [r1, #1]
+ ldr r1, [r4, #8]
+ add r1, r1, r0
+ ldrb r1, [r1, #0xc]
+ lsl r1, r1, #8
+ orr r0, r1
+ str r0, [sp, #0x48]
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldrh r0, [r0, #0x20]
+ str r0, [sp, #0x4c]
+ b _02251E0A
+_02251DF4:
+ ldr r2, _02251FF4 ; =0x000004E2
+ strh r2, [r1, #0x2a]
+ mov r2, #2
+ add r1, sp, #0x44
+ strb r2, [r1, #1]
+ ldr r1, [r4, #8]
+ add r1, r1, r0
+ ldrb r1, [r1, #0xc]
+ lsl r1, r1, #8
+ orr r0, r1
+ str r0, [sp, #0x48]
+_02251E0A:
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #0x44
+ bl MOD11_0223178C
+ strb r0, [r4, #0x11]
+ mov r0, #0x14
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251E2E:
+ ldr r0, [r4, #8]
+ mov r5, #0
+ ldr r0, [r0, #4]
+ ldrb r0, [r0, #0x11]
+ lsl r7, r0, #1
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_02231380
+ str r0, [sp, #0x10]
+ ldr r0, [r4, #8]
+ add r1, r7, #0
+ ldr r3, [r0, #4]
+ ldr r0, [r4]
+ ldrb r2, [r3, #0x11]
+ add r2, r3, r2
+ add r2, #0x2c
+ ldrb r2, [r2]
+ bl MOD11_02230014
+ mov r1, #0x9f
+ add r2, r5, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ bne _02251E6A
+ ldr r0, [sp, #0x10]
+ add r1, r5, #0
+ add r0, #0x4a
+ strb r1, [r0]
+_02251E6A:
+ ldr r0, [sp, #0x10]
+ mov r2, #1
+ add r1, r0, #0
+ ldr r1, [r1, #0x28]
+ lsl r2, r2, #8
+ bl MOD11_02256D70
+ mov r1, #2
+ add r0, sp, #0x1c
+ strb r1, [r0, #5]
+ ldr r0, [r4, #8]
+ mov r1, #0xf
+ add r0, r0, r7
+ ldrb r0, [r0, #0xc]
+ mov r2, #5
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [sp, #0x24]
+ ldr r0, [r4, #4]
+ ldrh r0, [r0, #0x1c]
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251E9E
+ mov r6, #0
+ add r5, r5, #1
+_02251E9E:
+ ldr r0, [r4, #4]
+ mov r1, #0x10
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251EB2
+ mov r6, #1
+ add r5, r5, #1
+_02251EB2:
+ ldr r0, [r4, #4]
+ mov r1, #0x11
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251EC6
+ mov r6, #2
+ add r5, r5, #1
+_02251EC6:
+ ldr r0, [r4, #4]
+ mov r1, #0x12
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251EDA
+ mov r6, #3
+ add r5, r5, #1
+_02251EDA:
+ ldr r0, [r4, #4]
+ mov r1, #0x13
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251EEE
+ mov r6, #4
+ add r5, r5, #1
+_02251EEE:
+ ldr r0, [r4, #4]
+ mov r1, #0x14
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251F02
+ mov r6, #5
+ add r5, r5, #1
+_02251F02:
+ ldr r0, [r4, #4]
+ mov r1, #0x15
+ ldrh r0, [r0, #0x1c]
+ mov r2, #5
+ bl FUN_0206E7B8
+ cmp r0, #0
+ beq _02251F16
+ mov r6, #6
+ add r5, r5, #1
+_02251F16:
+ cmp r5, #1
+ beq _02251F22
+ ldr r1, _02251FF8 ; =0x000004CD
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F22:
+ cmp r6, #6
+ bhi _02251F76
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02251F32: ; jump table
+ .short _02251F40 - _02251F32 - 2 ; case 0
+ .short _02251F48 - _02251F32 - 2 ; case 1
+ .short _02251F50 - _02251F32 - 2 ; case 2
+ .short _02251F58 - _02251F32 - 2 ; case 3
+ .short _02251F60 - _02251F32 - 2 ; case 4
+ .short _02251F68 - _02251F32 - 2 ; case 5
+ .short _02251F70 - _02251F32 - 2 ; case 6
+_02251F40:
+ ldr r1, _02251FFC ; =0x000004BA
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F48:
+ ldr r1, _02252000 ; =0x000004B7
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F50:
+ ldr r1, _02252004 ; =0x000004B9
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F58:
+ ldr r1, _02252008 ; =0x000004BB
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F60:
+ ldr r1, _0225200C ; =0x000004B8
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F68:
+ ldr r1, _02252010 ; =0x000004BC
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+ b _02251F76
+_02251F70:
+ ldr r1, _02252014 ; =0x000004BD
+ add r0, sp, #0x1c
+ strh r1, [r0, #6]
+_02251F76:
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #0x20
+ bl MOD11_0223178C
+ strb r0, [r4, #0x11]
+ mov r0, #0x14
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251FA2:
+ ldr r0, [r4]
+ bl MOD11_02230070
+ bl FUN_02212384
+ ldr r0, [r4]
+ bl MOD11_02230070
+ bl FUN_022123A0
+ cmp r0, #0
+ bne _02251FEA
+ ldr r0, [r4]
+ bl MOD11_02230070
+ bl FUN_022123B0
+ ldrb r0, [r4, #0xe]
+ add sp, #0x1fc
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, r6, r7, pc}
+_02251FD0:
+ ldrb r0, [r4, #0x11]
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _02251FEA
+ ldrb r0, [r4, #0x17]
+ sub r0, r0, #1
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0x17]
+ cmp r0, #0
+ bne _02251FEA
+ mov r0, #8
+ strb r0, [r4, #0xe]
+_02251FEA:
+ add sp, #0x1fc
+ add sp, #0x14
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02251FF0: .word 0x000004BE
+_02251FF4: .word 0x000004E2
+_02251FF8: .word 0x000004CD
+_02251FFC: .word 0x000004BA
+_02252000: .word 0x000004B7
+_02252004: .word 0x000004B9
+_02252008: .word 0x000004BB
+_0225200C: .word 0x000004B8
+_02252010: .word 0x000004BC
+_02252014: .word 0x000004BD
+
+ thumb_func_start MOD11_02252018
+MOD11_02252018: ; 0x02252018
+ push {r3, r4, r5, r6, lr}
+ sub sp, #4
+ add r5, r0, #0
+ mov r0, #1
+ add r3, sp, #0
+ strh r0, [r3]
+ add r4, r1, #0
+ mov r2, sp
+ ldrb r1, [r4, #0xd]
+ ldrh r6, [r3]
+ ldr r0, [r4]
+ sub r2, r2, #4
+ strh r6, [r2]
+ ldrh r3, [r3, #2]
+ strh r3, [r2, #2]
+ ldr r2, [r2]
+ bl MOD11_022558C4
+ ldrb r1, [r4, #0xd]
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_02016A18
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ bl FUN_02016A18
+ ldr r0, [r4, #8]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ add sp, #4
+ pop {r3, r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252070
+MOD11_02252070: ; 0x02252070
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #0xd]
+ add r5, r0, #0
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_02016A18
+ ldr r0, [r4, #8]
+ ldr r0, [r0, #4]
+ bl FUN_02016A18
+ ldr r0, [r4, #8]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022520A8
+MOD11_022520A8: ; 0x022520A8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ ldrb r1, [r4, #0xa]
+ add r5, r0, #0
+ cmp r1, #3
+ bhi _02252144
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022520CA: ; jump table
+ .short _022520D2 - _022520CA - 2 ; case 0
+ .short _0225213C - _022520CA - 2 ; case 1
+ .short _022523B2 - _022520CA - 2 ; case 2
+ .short _0225240E - _022520CA - 2 ; case 3
+_022520D2:
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_0222FF6C
+ add r6, r0, #0
+ mov r1, #0xff
+ bl FUN_02019620
+ add r0, r6, #0
+ bl FUN_02019548
+ ldr r0, [r4]
+ bl MOD11_02230094
+ bl MOD11_0225C76C
+ strb r0, [r4, #0x17]
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ mov r2, #3
+ str r1, [sp]
+ mov r0, #7
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #5
+ add r3, r1, #0
+ add r0, r5, #0
+ lsl r2, r2, #0xa
+ sub r3, #0xd
+ bl FUN_02003210
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0xa
+ add r3, r1, #0
+ ldr r2, _0225246C ; =0x0000FFFF
+ add r0, r5, #0
+ sub r3, #0x12
+ bl FUN_02003210
+ ldrb r0, [r4, #0xa]
+ add sp, #0x24
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_0225213C:
+ bl FUN_020038E4
+ cmp r0, #0
+ beq _02252146
+_02252144:
+ b _02252468
+_02252146:
+ ldr r0, [r4]
+ bl MOD11_0222D7F8
+ mov r0, #5
+ mov r1, #0x38
+ bl FUN_02016998
+ str r0, [r4, #4]
+ mov r0, #5
+ bl FUN_0206B8AC
+ ldr r1, [r4, #4]
+ str r0, [r1]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #0xc
+ and r0, r1
+ cmp r0, #0xc
+ beq _0225217A
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #0xcb
+ beq _0225217A
+ b _0225228E
+_0225217A:
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02230260
+ cmp r0, #2
+ bne _02252196
+ ldrb r0, [r4, #9]
+ str r0, [sp, #0x18]
+ ldr r0, [r4]
+ ldr r1, [sp, #0x18]
+ bl MOD11_022302BC
+ str r0, [sp, #0x14]
+ b _022521A4
+_02252196:
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ str r0, [sp, #0x18]
+ ldrb r0, [r4, #9]
+ str r0, [sp, #0x14]
+_022521A4:
+ mov r0, #5
+ bl FUN_020669C0
+ add r6, r0, #0
+ mov r5, #0
+_022521AE:
+ ldr r0, [r4, #4]
+ add r1, r6, #0
+ ldr r0, [r0]
+ bl FUN_0206B900
+ add r5, r5, #1
+ cmp r5, #6
+ blt _022521AE
+ add r0, r6, #0
+ bl FUN_02016A18
+ ldr r0, [r4]
+ ldr r1, [sp, #0x18]
+ mov r7, #0
+ bl MOD11_0222FFC8
+ cmp r0, #0
+ ble _02252216
+ ldr r0, [sp, #0x18]
+ mov r1, #6
+ mul r1, r0
+ add r5, r4, r1
+ add r6, r7, #0
+_022521DC:
+ ldrb r2, [r5, #0x1c]
+ ldr r0, [r4]
+ ldr r1, [sp, #0x18]
+ bl MOD11_02230014
+ str r0, [sp, #0x1c]
+ ldr r0, [r4, #4]
+ add r1, r6, #0
+ ldr r0, [r0]
+ bl FUN_0206B9B0
+ add r1, r0, #0
+ ldr r0, [sp, #0x1c]
+ bl FUN_02069B88
+ ldr r0, [r4, #4]
+ ldrb r1, [r5, #0x1c]
+ add r0, r0, r6
+ add r0, #0x2c
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, [sp, #0x18]
+ add r5, r5, #1
+ add r6, r6, #2
+ add r7, r7, #1
+ bl MOD11_0222FFC8
+ cmp r7, r0
+ blt _022521DC
+_02252216:
+ ldr r0, [r4]
+ ldr r1, [sp, #0x14]
+ mov r6, #0
+ bl MOD11_0222FFC8
+ cmp r0, #0
+ ble _02252272
+ ldr r0, [sp, #0x14]
+ mov r1, #6
+ mul r1, r0
+ mov r0, #1
+ add r5, r4, r1
+ str r0, [sp, #0xc]
+ add r7, r6, #0
+_02252232:
+ ldrb r2, [r5, #0x1c]
+ ldr r0, [r4]
+ ldr r1, [sp, #0x14]
+ bl MOD11_02230014
+ str r0, [sp, #0x20]
+ ldr r0, [r4, #4]
+ ldr r1, [sp, #0xc]
+ ldr r0, [r0]
+ bl FUN_0206B9B0
+ add r1, r0, #0
+ ldr r0, [sp, #0x20]
+ bl FUN_02069B88
+ ldr r0, [r4, #4]
+ ldrb r1, [r5, #0x1c]
+ add r0, r0, r7
+ add r0, #0x2d
+ strb r1, [r0]
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x14]
+ add r0, r0, #2
+ str r0, [sp, #0xc]
+ ldr r0, [r4]
+ add r5, r5, #1
+ add r7, r7, #2
+ add r6, r6, #1
+ bl MOD11_0222FFC8
+ cmp r6, r0
+ blt _02252232
+_02252272:
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_02230260
+ cmp r0, #4
+ bne _02252286
+ ldr r0, [r4, #4]
+ mov r1, #1
+ strb r1, [r0, #0x11]
+ b _0225230E
+_02252286:
+ ldr r0, [r4, #4]
+ mov r1, #0
+ strb r1, [r0, #0x11]
+ b _0225230E
+_0225228E:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _022522B0
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ bne _022522B0
+ ldrb r1, [r4, #9]
+ mov r0, #1
+ add r7, r1, #0
+ and r7, r0
+ b _022522B4
+_022522B0:
+ ldrb r1, [r4, #9]
+ add r7, r1, #0
+_022522B4:
+ ldr r0, [r4]
+ bl MOD11_02230260
+ cmp r0, #4
+ bne _022522C2
+ mov r1, #1
+ b _022522C4
+_022522C2:
+ mov r1, #0
+_022522C4:
+ ldr r0, [r4, #4]
+ strb r1, [r0, #0x11]
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_0222FF88
+ str r0, [sp, #0x10]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0225230E
+ mov r0, #6
+ mul r0, r7
+ add r6, r4, r0
+_022522E2:
+ ldrb r2, [r6, #0x1c]
+ ldr r0, [r4]
+ add r1, r7, #0
+ bl MOD11_02230014
+ add r1, r0, #0
+ ldr r0, [r4, #4]
+ ldr r0, [r0]
+ bl FUN_0206B900
+ ldr r0, [r4, #4]
+ ldrb r1, [r6, #0x1c]
+ add r0, r0, r5
+ add r0, #0x2c
+ strb r1, [r0]
+ ldr r0, [sp, #0x10]
+ add r6, r6, #1
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _022522E2
+_0225230E:
+ ldr r1, [r4]
+ ldr r0, [r4, #4]
+ str r1, [r0, #8]
+ ldr r0, [r4, #4]
+ mov r1, #5
+ str r1, [r0, #0xc]
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x36
+ strb r1, [r0]
+ ldr r1, [r4, #0x10]
+ ldr r0, [r4, #4]
+ strh r1, [r0, #0x24]
+ ldrb r1, [r4, #0x16]
+ ldr r0, [r4, #4]
+ strb r1, [r0, #0x12]
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0xb]
+ add r0, #0x35
+ strb r1, [r0]
+ ldrh r1, [r4, #0x14]
+ ldr r0, [r4, #4]
+ strh r1, [r0, #0x22]
+ ldrb r1, [r4, #9]
+ ldr r0, [r4, #4]
+ str r1, [r0, #0x28]
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0x17]
+ add r0, #0x32
+ strb r1, [r0]
+ ldrb r0, [r4, #9]
+ bl FUN_0206A92C
+ ldrb r1, [r4, #0x18]
+ tst r0, r1
+ bne _0225235E
+ ldrb r0, [r4, #9]
+ add r0, r4, r0
+ ldrb r1, [r0, #0xc]
+ b _02252360
+_0225235E:
+ mov r1, #6
+_02252360:
+ ldr r0, [r4, #4]
+ strb r1, [r0, #0x14]
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ beq _02252378
+ ldr r0, [r4, #4]
+ mov r1, #6
+ strb r1, [r0, #0x15]
+ b _022523A2
+_02252378:
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ bl FUN_0206A92C
+ ldrb r1, [r4, #0x18]
+ tst r0, r1
+ bne _0225239C
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r0, r4, r0
+ ldrb r1, [r0, #0xc]
+ ldr r0, [r4, #4]
+ strb r1, [r0, #0x15]
+ b _022523A2
+_0225239C:
+ ldr r0, [r4, #4]
+ mov r1, #6
+ strb r1, [r0, #0x15]
+_022523A2:
+ ldr r0, [r4, #4]
+ bl FUN_02211E60
+ ldrb r0, [r4, #0xa]
+ add sp, #0x24
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_022523B2:
+ ldr r0, [r4, #4]
+ add r0, #0x36
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _02252468
+ ldr r0, [r4]
+ bl MOD11_0222D88C
+ ldr r0, [r4]
+ bl MOD11_02230094
+ ldr r1, [r4, #4]
+ add r1, #0x32
+ ldrb r1, [r1]
+ bl MOD11_0225C778
+ mov r0, #7
+ str r0, [sp]
+ mov r0, #0
+ mov r1, #5
+ str r0, [sp, #4]
+ mov r2, #3
+ add r3, r1, #0
+ str r0, [sp, #8]
+ add r0, r5, #0
+ lsl r2, r2, #0xa
+ sub r3, #0xd
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp]
+ mov r0, #0
+ mov r1, #0xa
+ str r0, [sp, #4]
+ add r3, r1, #0
+ str r0, [sp, #8]
+ ldr r2, _0225246C ; =0x0000FFFF
+ add r0, r5, #0
+ sub r3, #0x12
+ bl FUN_02003210
+ ldrb r0, [r4, #0xa]
+ add sp, #0x24
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r4, r5, r6, r7, pc}
+_0225240E:
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _02252468
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #0
+ bl FUN_020143A8
+ ldr r3, [r4, #4]
+ ldr r0, [r4]
+ ldrb r2, [r3, #0x11]
+ cmp r2, #6
+ bne _02252436
+ ldrb r1, [r4, #9]
+ mov r2, #0xff
+ bl MOD11_02255964
+ b _02252444
+_02252436:
+ add r2, r3, r2
+ add r2, #0x2c
+ ldrb r2, [r2]
+ ldrb r1, [r4, #9]
+ add r2, r2, #1
+ bl MOD11_02255964
+_02252444:
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ ldr r0, [r4, #4]
+ ldr r0, [r0]
+ bl FUN_02016A18
+ ldr r0, [r4, #4]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_02252468:
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225246C: .word 0x0000FFFF
+
+ thumb_func_start MOD11_02252470
+MOD11_02252470: ; 0x02252470
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ str r0, [sp]
+ ldr r0, [r5]
+ bl MOD11_0222FF74
+ mov r1, #0x10
+ ldrb r6, [r5, #9]
+ tst r1, r0
+ bne _0225248C
+ mov r1, #8
+ tst r0, r1
+ beq _02252490
+_0225248C:
+ str r6, [sp, #4]
+ b _0225249A
+_02252490:
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl MOD11_022302BC
+ str r0, [sp, #4]
+_0225249A:
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl FUN_021F4A30
+ add r4, r0, #0
+ cmp r4, #6
+ bne _022524FE
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl FUN_021F4698
+ add r4, r0, #0
+ cmp r4, #6
+ bne _022524FE
+ ldrb r1, [r5, #9]
+ ldr r0, [r5]
+ bl MOD11_0222FF88
+ str r0, [sp, #8]
+ mov r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _022524FE
+ ldr r0, [sp, #4]
+ add r7, r5, r6
+ add r6, r5, r0
+_022524D0:
+ ldrb r1, [r5, #9]
+ ldr r0, [r5]
+ add r2, r4, #0
+ bl MOD11_02230014
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022524F2
+ ldrb r0, [r7, #0xc]
+ cmp r4, r0
+ beq _022524F2
+ ldrb r0, [r6, #0xc]
+ cmp r4, r0
+ bne _022524FE
+_022524F2:
+ ldr r0, [sp, #8]
+ add r4, r4, #1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _022524D0
+_022524FE:
+ ldrb r1, [r5, #9]
+ ldr r0, [r5]
+ add r2, r4, #1
+ bl MOD11_02255964
+ ldrb r1, [r5, #9]
+ ldrb r2, [r5, #8]
+ ldr r0, [r5]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl FUN_02016A18
+ ldr r0, [sp]
+ bl FUN_0200CAB4
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252524
+MOD11_02252524: ; 0x02252524
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #9]
+ add r5, r0, #0
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252544
+MOD11_02252544: ; 0x02252544
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ add r4, r1, #0
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldr r0, [r4]
+ bl MOD11_02230094
+ add r5, r0, #0
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_0222FF7C
+ str r0, [sp]
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ bl MOD11_022302BC
+ add r1, r0, #0
+ ldrb r0, [r4, #0xd]
+ cmp r1, r0
+ beq _0225257E
+ ldr r0, [r4]
+ bl MOD11_02231380
+ add r6, r0, #0
+ b _02252580
+_0225257E:
+ mov r6, #0
+_02252580:
+ ldrb r0, [r4, #0xe]
+ cmp r0, #4
+ bhi _02252600
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02252592: ; jump table
+ .short _0225259C - _02252592 - 2 ; case 0
+ .short _022525EC - _02252592 - 2 ; case 1
+ .short _0225267E - _02252592 - 2 ; case 2
+ .short _0225269C - _02252592 - 2 ; case 3
+ .short _022526E0 - _02252592 - 2 ; case 4
+_0225259C:
+ add r0, r5, #0
+ bl MOD11_02258F5C
+ cmp r0, #0
+ beq _02252600
+ ldr r0, [r4, #0x10]
+ cmp r0, #0
+ beq _022525E4
+ ldr r0, [r4]
+ bl MOD11_022300C4
+ add r5, r0, #0
+ ldrb r0, [r4, #0xf]
+ cmp r0, #5
+ add r0, sp, #4
+ bne _022525C6
+ mov r1, #0x82
+ strb r1, [r0, #5]
+ ldr r0, [r4, #0x14]
+ str r0, [sp, #0xc]
+ b _022525CA
+_022525C6:
+ mov r1, #0
+ strb r1, [r0, #5]
+_022525CA:
+ ldr r1, [r4, #0x10]
+ add r0, sp, #4
+ strh r1, [r0, #6]
+ ldr r0, [r4]
+ bl MOD11_02230E54
+ add r3, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ add r2, sp, #8
+ bl MOD11_0223178C
+ strh r0, [r4, #0x1a]
+_022525E4:
+ mov r0, #1
+ add sp, #0x2c
+ strb r0, [r4, #0xe]
+ pop {r4, r5, r6, r7, pc}
+_022525EC:
+ ldrh r0, [r4, #0x1a]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0
+ beq _02252602
+ ldr r0, [r4, #0x10]
+ cmp r0, #0
+ beq _02252602
+_02252600:
+ b _0225270A
+_02252602:
+ add r0, r5, #0
+ bl MOD11_02258E30
+ ldrh r1, [r4, #0x18]
+ add r0, sp, #4
+ strh r1, [r0]
+ ldrb r0, [r4, #0xf]
+ cmp r0, #5
+ bhi _02252672
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02252620: ; jump table
+ .short _0225262C - _02252620 - 2 ; case 0
+ .short _0225263A - _02252620 - 2 ; case 1
+ .short _02252648 - _02252620 - 2 ; case 2
+ .short _02252656 - _02252620 - 2 ; case 3
+ .short _02252664 - _02252620 - 2 ; case 4
+ .short _0225262C - _02252620 - 2 ; case 5
+_0225262C:
+ add r0, r5, #0
+ mov r1, #0xd
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02258820
+ b _02252676
+_0225263A:
+ add r0, r5, #0
+ mov r1, #0xe
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02258820
+ b _02252676
+_02252648:
+ add r0, r5, #0
+ mov r1, #0xf
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02258820
+ b _02252676
+_02252656:
+ add r0, r5, #0
+ mov r1, #0x10
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02258820
+ b _02252676
+_02252664:
+ add r0, r5, #0
+ mov r1, #0x11
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02258820
+ b _02252676
+_02252672:
+ bl ErrorHandling
+_02252676:
+ mov r0, #2
+ add sp, #0x2c
+ strb r0, [r4, #0xe]
+ pop {r4, r5, r6, r7, pc}
+_0225267E:
+ add r0, r5, #0
+ bl MOD11_02258E74
+ mov r1, #0
+ mvn r1, r1
+ str r0, [r4, #8]
+ cmp r0, r1
+ beq _0225270A
+ ldr r0, _02252710 ; =0x000005DD
+ bl FUN_020054C8
+ mov r0, #3
+ add sp, #0x2c
+ strb r0, [r4, #0xe]
+ pop {r4, r5, r6, r7, pc}
+_0225269C:
+ add r0, r5, #0
+ bl MOD11_02258F5C
+ cmp r0, #1
+ bne _0225270A
+ ldr r0, [r4, #4]
+ bl MOD11_02257238
+ ldr r0, [sp]
+ bl MOD11_0225468C
+ add r0, r6, #0
+ bl MOD11_02258184
+ add r0, r5, #0
+ bl MOD11_02258E30
+ mov r1, #0
+ add r0, r5, #0
+ add r2, r1, #0
+ add r3, r1, #0
+ bl MOD11_02258820
+ ldr r0, [r4, #8]
+ cmp r0, #1
+ bne _022526D8
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_0225B77C
+_022526D8:
+ mov r0, #4
+ add sp, #0x2c
+ strb r0, [r4, #0xe]
+ pop {r4, r5, r6, r7, pc}
+_022526E0:
+ add r0, r5, #0
+ bl MOD11_0225B780
+ cmp r0, #1
+ bne _0225270A
+ ldrb r1, [r4, #0xd]
+ ldr r0, [r4]
+ ldr r2, [r4, #8]
+ bl MOD11_02255528
+ ldrb r1, [r4, #0xd]
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r7, #0
+ bl FUN_0200CAB4
+_0225270A:
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02252710: .word 0x000005DD
+
+ thumb_func_start MOD11_02252714
+MOD11_02252714: ; 0x02252714
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #0xd]
+ add r5, r0, #0
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252734
+MOD11_02252734: ; 0x02252734
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldrb r1, [r4, #0xd]
+ add r5, r0, #0
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252754
+MOD11_02252754: ; 0x02252754
+ push {r3, r4, r5, lr}
+ sub sp, #0x1fc
+ sub sp, #0x14
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r0, [r0]
+ cmp r0, #0xa
+ bls _0225276A
+ b _022529B8
+_0225276A:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02252776: ; jump table
+ .short _0225278C - _02252776 - 2 ; case 0
+ .short _02252996 - _02252776 - 2 ; case 1
+ .short _022527E6 - _02252776 - 2 ; case 2
+ .short _02252996 - _02252776 - 2 ; case 3
+ .short _02252842 - _02252776 - 2 ; case 4
+ .short _02252996 - _02252776 - 2 ; case 5
+ .short _02252890 - _02252776 - 2 ; case 6
+ .short _02252996 - _02252776 - 2 ; case 7
+ .short _02252918 - _02252776 - 2 ; case 8
+ .short _02252996 - _02252776 - 2 ; case 9
+ .short _02252974 - _02252776 - 2 ; case 10
+_0225278C:
+ ldrh r0, [r4, #0x1e]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ beq _022527DA
+ ldr r0, [r4, #0x5c]
+ cmp r0, #0
+ bne _022527DA
+ ldr r0, [r4, #8]
+ mov r1, #6
+ bl FUN_0200782C
+ cmp r0, #0
+ bne _022527DA
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r1, [r0]
+ mov r0, #0xf
+ add r2, sp, #0x1b8
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r2, [r4, #0xc]
+ add r3, sp, #0x1b8
+ bl MOD11_02254404
+ add sp, #0x1fc
+ mov r0, #1
+ add r4, #0x6a
+ add sp, #0x14
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_022527DA:
+ add sp, #0x1fc
+ mov r0, #4
+ add r4, #0x6a
+ add sp, #0x14
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_022527E6:
+ add r3, r4, #0
+ add r3, #0x69
+ ldrb r3, [r3]
+ ldr r0, [r4]
+ add r1, #0x10
+ add r2, sp, #0x168
+ bl MOD11_0225452C
+ add r0, sp, #0x168
+ mov r1, #5
+ bl MOD08_0222A494
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r1, [r0]
+ mov r0, #0x10
+ add r2, sp, #0x110
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r2, [r4, #0xc]
+ add r3, sp, #0x110
+ bl MOD11_02254404
+ mov r0, #0x1a
+ add sp, #0x1fc
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r0, [r0]
+ add r4, #0x6a
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252842:
+ ldr r0, [r4]
+ mov r1, #2
+ bl MOD11_02231484
+ add r0, r4, #0
+ add r0, #0x6b
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0225285A
+ ldr r0, [r4]
+ bl MOD11_02231410
+_0225285A:
+ add r0, r4, #0
+ add r0, #0x6c
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _02252870
+ ldr r0, [r4]
+ bl MOD11_02230068
+ mov r1, #1
+ bl FUN_02008284
+_02252870:
+ add r3, r4, #0
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r2, [r4, #0xc]
+ add r3, #0x10
+ bl MOD11_02254404
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r0, [r0]
+ add sp, #0x1fc
+ add r4, #0x6a
+ add r0, r0, #1
+ add sp, #0x14
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252890:
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_02231484
+ add r0, r4, #0
+ add r0, #0x6b
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _022528A8
+ ldr r0, [r4]
+ bl MOD11_022313E0
+_022528A8:
+ add r0, r4, #0
+ add r0, #0x6c
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _022528BE
+ ldr r0, [r4]
+ bl MOD11_02230068
+ mov r1, #1
+ bl FUN_02008290
+_022528BE:
+ ldrh r0, [r4, #0x1e]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ beq _0225290C
+ ldr r0, [r4, #0x5c]
+ cmp r0, #0
+ bne _0225290C
+ ldr r0, [r4, #8]
+ mov r1, #6
+ bl FUN_0200782C
+ cmp r0, #0
+ bne _0225290C
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r1, [r0]
+ mov r0, #0xf
+ add r2, sp, #0xb8
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r2, [r4, #0xc]
+ add r3, sp, #0xb8
+ bl MOD11_02254404
+ add sp, #0x1fc
+ mov r0, #7
+ add r4, #0x6a
+ add sp, #0x14
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_0225290C:
+ add sp, #0x1fc
+ mov r0, #0xa
+ add r4, #0x6a
+ add sp, #0x14
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252918:
+ add r3, r4, #0
+ add r3, #0x69
+ ldrb r3, [r3]
+ ldr r0, [r4]
+ add r1, #0x10
+ add r2, sp, #0x68
+ bl MOD11_0225452C
+ add r0, sp, #0x68
+ mov r1, #5
+ bl MOD08_0222A568
+ add r0, r4, #0
+ add r0, #0x69
+ ldrb r1, [r0]
+ mov r0, #0x10
+ add r2, sp, #0x10
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ ldr r2, [r4, #0xc]
+ add r3, sp, #0x10
+ bl MOD11_02254404
+ mov r0, #0x1a
+ add sp, #0x1fc
+ ldr r1, [r4, #4]
+ mov r2, #1
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r0, [r0]
+ add r4, #0x6a
+ add sp, #0x14
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252974:
+ add r2, r4, #0
+ add r1, #0x69
+ add r2, #0x68
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ add sp, #0x1fc
+ add sp, #0x14
+ pop {r3, r4, r5, pc}
+_02252996:
+ ldr r0, [r4, #0xc]
+ bl FUN_02212384
+ ldr r0, [r4, #0xc]
+ bl FUN_022123A0
+ cmp r0, #0
+ bne _022529B8
+ ldr r0, [r4, #0xc]
+ bl FUN_022123B0
+ add r0, r4, #0
+ add r0, #0x6a
+ ldrb r0, [r0]
+ add r4, #0x6a
+ add r0, r0, #1
+ strb r0, [r4]
+_022529B8:
+ add sp, #0x1fc
+ add sp, #0x14
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022529C0
+MOD11_022529C0: ; 0x022529C0
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #9]
+ cmp r0, #6
+ bhs _022529FA
+ ldrb r0, [r4, #0xa]
+ cmp r0, #0
+ bne _022529F4
+ mov r0, #2
+ strb r0, [r4, #0xa]
+ ldrb r0, [r4, #9]
+ mov r1, #6
+ add r0, r0, #1
+ strb r0, [r4, #9]
+ ldr r0, [r4, #4]
+ bl FUN_0200782C
+ add r3, r0, #0
+ mov r2, #1
+ ldr r0, [r4, #4]
+ mov r1, #6
+ eor r2, r3
+ bl FUN_02007558
+ pop {r3, r4, r5, pc}
+_022529F4:
+ sub r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, pc}
+_022529FA:
+ ldr r0, [r4, #4]
+ mov r1, #6
+ mov r2, #0
+ bl FUN_02007558
+ ldrb r1, [r4, #8]
+ ldr r0, [r4]
+ mov r2, #0x17
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02252A1C
+MOD11_02252A1C: ; 0x02252A1C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4]
+ cmp r0, #0
+ beq _02252A2E
+ cmp r0, #1
+ beq _02252A3C
+ b _02252A52
+_02252A2E:
+ ldr r1, [r4, #0x30]
+ add r0, r4, #0
+ bl MOD11_02257150
+ ldrb r0, [r4]
+ add r0, r0, #1
+ strb r0, [r4]
+_02252A3C:
+ add r0, r4, #0
+ bl MOD11_02257184
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02252A6C
+ ldrb r0, [r4]
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252A52:
+ add r2, r4, #0
+ add r1, #0x24
+ add r2, #0x4c
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4, #0xc]
+ bl MOD11_022567B8
+ mov r0, #0
+ str r0, [r4, #0x10]
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_02252A6C:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252A70
+MOD11_02252A70: ; 0x02252A70
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4]
+ cmp r0, #0
+ beq _02252A86
+ cmp r0, #1
+ beq _02252AA2
+ cmp r0, #2
+ beq _02252AE8
+ b _02252B0E
+_02252A86:
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0x4e
+ strb r1, [r0]
+ ldr r0, _02252B2C ; =0x0000070B
+ bl FUN_020054C8
+ ldr r1, [r4, #0x40]
+ add r0, r4, #0
+ bl MOD11_022571B8
+ ldrb r0, [r4]
+ add r0, r0, #1
+ strb r0, [r4]
+_02252AA2:
+ add r0, r4, #0
+ add r0, #0x4e
+ ldrb r0, [r0]
+ cmp r0, #8
+ bhs _02252ABA
+ add r0, r4, #0
+ add r0, #0x4e
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x4e
+ strb r1, [r0]
+_02252ABA:
+ add r0, r4, #0
+ bl MOD11_022571EC
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02252B28
+ add r0, r4, #0
+ add r0, #0x4e
+ ldrb r0, [r0]
+ cmp r0, #8
+ blo _02252AE0
+ ldr r0, _02252B2C ; =0x0000070B
+ mov r1, #0
+ bl FUN_020054F0
+ mov r0, #0x64
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252AE0:
+ ldrb r0, [r4]
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252AE8:
+ add r0, r4, #0
+ add r0, #0x4e
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x4e
+ strb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x4e
+ ldrb r0, [r0]
+ cmp r0, #8
+ blo _02252B28
+ ldr r0, _02252B2C ; =0x0000070B
+ mov r1, #0
+ bl FUN_020054F0
+ mov r0, #0x64
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_02252B0E:
+ add r2, r4, #0
+ add r1, #0x24
+ add r2, #0x4c
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4, #0xc]
+ bl MOD11_022567B8
+ mov r0, #0
+ str r0, [r4, #0x10]
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_02252B28:
+ pop {r3, r4, r5, pc}
+ nop
+_02252B2C: .word 0x0000070B
+
+ thumb_func_start MOD11_02252B30
+MOD11_02252B30: ; 0x02252B30
+ push {r4, r5, r6, lr}
+ sub sp, #0x110
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r1, r4, #0
+ add r1, #0x66
+ ldrb r1, [r1]
+ add r5, r0, #0
+ cmp r1, #0xa
+ bls _02252B4C
+ b _02252DAA
+_02252B4C:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02252B58: ; jump table
+ .short _02252B6E - _02252B58 - 2 ; case 0
+ .short _02252C16 - _02252B58 - 2 ; case 1
+ .short _02252BBA - _02252B58 - 2 ; case 2
+ .short _02252C16 - _02252B58 - 2 ; case 3
+ .short _02252C3A - _02252B58 - 2 ; case 4
+ .short _02252C82 - _02252B58 - 2 ; case 5
+ .short _02252C9C - _02252B58 - 2 ; case 6
+ .short _02252CD8 - _02252B58 - 2 ; case 7
+ .short _02252D04 - _02252B58 - 2 ; case 8
+ .short _02252D44 - _02252B58 - 2 ; case 9
+ .short _02252D8C - _02252B58 - 2 ; case 10
+_02252B6E:
+ add r0, r4, #0
+ add r0, #0x70
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _02252BB0
+ add r0, r4, #0
+ add r0, #0x65
+ ldrb r1, [r0]
+ mov r0, #0xf
+ add r2, sp, #0xb8
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0xb8
+ bl MOD11_02254404
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r4, #0x66
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252BB0:
+ mov r0, #4
+ add r4, #0x66
+ add sp, #0x110
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252BBA:
+ add r3, r4, #0
+ add r3, #0x65
+ ldrb r3, [r3]
+ add r1, r4, #0
+ ldr r0, [r4]
+ add r1, #0xc
+ add r2, sp, #0x68
+ bl MOD11_0225452C
+ add r0, sp, #0x68
+ mov r1, #5
+ bl MOD08_0222A494
+ add r0, r4, #0
+ add r0, #0x65
+ ldrb r1, [r0]
+ mov r0, #0x10
+ add r2, sp, #0x10
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x10
+ bl MOD11_02254404
+ mov r0, #0x1a
+ ldr r1, [r4, #4]
+ mov r2, #0
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r4, #0x66
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252C16:
+ bl FUN_02212384
+ add r0, r5, #0
+ bl FUN_022123A0
+ cmp r0, #0
+ bne _02252C8A
+ add r0, r5, #0
+ bl FUN_022123B0
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r4, #0x66
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252C3A:
+ add r0, r4, #0
+ add r0, #0x67
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _02252C48
+ mov r5, #0x75
+ b _02252C4C
+_02252C48:
+ mov r5, #0x74
+ mvn r5, r5
+_02252C4C:
+ add r1, r4, #0
+ add r1, #0x65
+ ldrb r1, [r1]
+ ldr r0, [r4]
+ bl MOD11_02230E88
+ mov r1, #0x7f
+ str r1, [sp]
+ add r1, r4, #0
+ add r1, #0x72
+ ldrh r1, [r1]
+ add r2, r4, #0
+ add r2, #0x68
+ str r1, [sp, #4]
+ mov r1, #5
+ str r1, [sp, #8]
+ ldrh r2, [r2]
+ add r3, r5, #0
+ bl FUN_02069FB0
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x66
+ strb r1, [r0]
+_02252C82:
+ bl FUN_02005670
+ cmp r0, #0
+ beq _02252C8C
+_02252C8A:
+ b _02252DAA
+_02252C8C:
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r4, #0x66
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252C9C:
+ add r0, r4, #0
+ add r0, #0x67
+ ldrb r0, [r0]
+ cmp r0, #2
+ ldr r0, _02252DB0 ; =0x00000703
+ bne _02252CB0
+ mov r1, #0x75
+ bl FUN_020054A8
+ b _02252CB8
+_02252CB0:
+ mov r1, #0x74
+ mvn r1, r1
+ bl FUN_020054A8
+_02252CB8:
+ ldr r0, [r4, #8]
+ mov r1, #0x29
+ bl FUN_0200782C
+ cmp r0, #0
+ ble _02252CCE
+ mov r0, #7
+ add r4, #0x66
+ add sp, #0x110
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252CCE:
+ mov r0, #8
+ add r4, #0x66
+ add sp, #0x110
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252CD8:
+ ldr r0, [r4, #8]
+ mov r1, #0x29
+ bl FUN_0200782C
+ add r5, r0, #0
+ sub r5, #8
+ bpl _02252CE8
+ mov r5, #0
+_02252CE8:
+ ldr r0, [r4, #8]
+ mov r1, #0x29
+ add r2, r5, #0
+ bl FUN_02007558
+ cmp r5, #0
+ bne _02252DAA
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x66
+ strb r1, [r0]
+_02252D04:
+ ldr r0, [r4, #0x6c]
+ add r1, r4, #0
+ str r0, [sp]
+ add r0, r4, #0
+ add r2, r4, #0
+ add r3, r4, #0
+ add r0, #0x68
+ add r1, #0x6a
+ add r2, #0x67
+ add r3, #0x6b
+ ldrh r0, [r0]
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldrb r3, [r3]
+ bl FUN_02068E88
+ mov r3, #0x50
+ sub r0, r3, r0
+ str r0, [sp]
+ mov r1, #0
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ bl FUN_02007E40
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r4, #0x66
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252D44:
+ ldr r0, [r4, #8]
+ mov r1, #1
+ bl FUN_0200782C
+ add r2, r0, #0
+ ldr r0, [r4, #8]
+ mov r1, #1
+ add r2, #8
+ bl FUN_02007558
+ ldr r0, [r4, #8]
+ mov r1, #0x12
+ bl FUN_0200782C
+ add r5, r0, #0
+ sub r5, #8
+ bpl _02252D68
+ mov r5, #0
+_02252D68:
+ ldr r0, [r4, #8]
+ mov r1, #0x12
+ add r2, r5, #0
+ bl FUN_02007558
+ cmp r5, #0
+ bne _02252DAA
+ ldr r0, [r4, #8]
+ bl FUN_02007534
+ add r0, r4, #0
+ add r0, #0x66
+ ldrb r0, [r0]
+ add r4, #0x66
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252D8C:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x65
+ add r2, #0x64
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_02252DAA:
+ add sp, #0x110
+ pop {r4, r5, r6, pc}
+ nop
+_02252DB0: .word 0x00000703
+
+ thumb_func_start MOD11_02252DB4
+MOD11_02252DB4: ; 0x02252DB4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300CC
+ add r4, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230068
+ add r7, r0, #0
+ ldrb r0, [r5, #6]
+ cmp r0, #0
+ beq _02252DDE
+ cmp r0, #1
+ beq _02252E1C
+ cmp r0, #2
+ beq _02252E30
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+_02252DDE:
+ ldr r0, [r5]
+ bl MOD11_02230288
+ mov r1, #1
+ bl FUN_020143A8
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r2, _02252E4C ; =0x0000FFFF
+ add r0, r4, #0
+ mov r1, #0xf
+ mov r3, #1
+ bl FUN_02003210
+ mov r1, #0
+ add r0, r7, #0
+ mov r2, #0x10
+ add r3, r1, #0
+ str r1, [sp]
+ bl FUN_02007E98
+ mov r0, #0
+ mov r1, #0x10
+ bl FUN_020053CC
+ ldrb r0, [r5, #6]
+ add r0, r0, #1
+ strb r0, [r5, #6]
+_02252E1C:
+ add r0, r4, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _02252E46
+ ldrb r0, [r5, #6]
+ add sp, #0xc
+ add r0, r0, #1
+ strb r0, [r5, #6]
+ pop {r4, r5, r6, r7, pc}
+_02252E30:
+ ldrb r1, [r5, #5]
+ ldrb r2, [r5, #4]
+ ldr r0, [r5]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_02252E46:
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02252E4C: .word 0x0000FFFF
+
+ thumb_func_start MOD11_02252E50
+MOD11_02252E50: ; 0x02252E50
+ push {r4, r5, r6, lr}
+ sub sp, #0x110
+ add r4, r1, #0
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230070
+ add r1, r4, #0
+ add r1, #0x62
+ ldrb r1, [r1]
+ add r5, r0, #0
+ cmp r1, #4
+ bls _02252E6C
+ b _02252F98
+_02252E6C:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02252E78: ; jump table
+ .short _02252E82 - _02252E78 - 2 ; case 0
+ .short _02252EC4 - _02252E78 - 2 ; case 1
+ .short _02252F74 - _02252E78 - 2 ; case 2
+ .short _02252F18 - _02252E78 - 2 ; case 3
+ .short _02252F74 - _02252E78 - 2 ; case 4
+_02252E82:
+ ldr r0, [r4, #4]
+ ldr r0, [r0, #0x20]
+ cmp r0, #0
+ beq _02252EBA
+ add r2, r4, #0
+ add r2, #0x63
+ ldrb r2, [r2]
+ mov r1, #6
+ bl FUN_02007558
+ add r0, r4, #0
+ add r0, #0x63
+ ldrb r0, [r0]
+ cmp r0, #1
+ bne _02252EAA
+ mov r0, #0xff
+ add r4, #0x62
+ add sp, #0x110
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252EAA:
+ add r0, r4, #0
+ add r0, #0x62
+ ldrb r0, [r0]
+ add r4, #0x62
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252EBA:
+ mov r0, #0xff
+ add r4, #0x62
+ add sp, #0x110
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252EC4:
+ ldr r0, [r4, #0x64]
+ cmp r0, #0
+ beq _02252F0E
+ mov r0, #0x1a
+ ldr r1, [r4, #4]
+ lsl r0, r0, #4
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ bne _02252F0E
+ add r0, r4, #0
+ add r0, #0x61
+ ldrb r1, [r0]
+ mov r0, #0xf
+ add r2, sp, #0xb8
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0xb8
+ bl MOD11_02254404
+ add r0, r4, #0
+ add r0, #0x62
+ ldrb r0, [r0]
+ add r4, #0x62
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252F0E:
+ mov r0, #0xff
+ add r4, #0x62
+ add sp, #0x110
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252F18:
+ add r3, r4, #0
+ add r3, #0x61
+ ldrb r3, [r3]
+ add r1, r4, #0
+ ldr r0, [r4]
+ add r1, #8
+ add r2, sp, #0x68
+ bl MOD11_0225452C
+ add r0, sp, #0x68
+ mov r1, #5
+ bl MOD08_0222A568
+ add r0, r4, #0
+ add r0, #0x61
+ ldrb r1, [r0]
+ mov r0, #0x10
+ add r2, sp, #0x10
+ str r0, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ mov r1, #0
+ str r1, [sp, #0xc]
+ ldr r0, [r4]
+ mov r3, #1
+ bl MOD11_02256854
+ ldr r0, [r4]
+ ldr r1, [r4, #4]
+ add r2, r5, #0
+ add r3, sp, #0x10
+ bl MOD11_02254404
+ mov r0, #0x1a
+ ldr r1, [r4, #4]
+ mov r2, #1
+ lsl r0, r0, #4
+ str r2, [r1, r0]
+ add r0, r4, #0
+ add r0, #0x62
+ ldrb r0, [r0]
+ add r4, #0x62
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252F74:
+ bl FUN_02212384
+ add r0, r5, #0
+ bl FUN_022123A0
+ cmp r0, #0
+ bne _02252FB6
+ add r0, r5, #0
+ bl FUN_022123B0
+ add r0, r4, #0
+ add r0, #0x62
+ ldrb r0, [r0]
+ add r4, #0x62
+ add sp, #0x110
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r4, r5, r6, pc}
+_02252F98:
+ add r1, r4, #0
+ add r2, r4, #0
+ add r1, #0x61
+ add r2, #0x60
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_02252FB6:
+ add sp, #0x110
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02252FBC
+MOD11_02252FBC: ; 0x02252FBC
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #0xa]
+ cmp r0, #0
+ beq _02252FCE
+ cmp r0, #1
+ beq _02252FE4
+ pop {r3, r4, r5, pc}
+_02252FCE:
+ ldr r0, [r4, #4]
+ add r1, #0xb
+ bl MOD11_0225805C
+ ldr r0, _02253004 ; =0x0000070C
+ bl FUN_020054C8
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, pc}
+_02252FE4:
+ ldrb r0, [r4, #0xb]
+ cmp r0, #1
+ bne _02253000
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_02253000:
+ pop {r3, r4, r5, pc}
+ nop
+_02253004: .word 0x0000070C
+
+ thumb_func_start MOD11_02253008
+MOD11_02253008: ; 0x02253008
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_022312C0
+ cmp r0, #0
+ beq _0225302A
+ ldr r0, [r4]
+ bl MOD11_022312C0
+ bl FUN_0200DBFC
+ ldr r0, [r4]
+ mov r1, #0
+ bl MOD11_022312C8
+_0225302A:
+ ldrb r0, [r4, #6]
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0225304A
+ ldrb r1, [r4, #5]
+ ldrb r2, [r4, #4]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0225304A:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0225304C
+MOD11_0225304C: ; 0x0225304C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #7]
+ cmp r0, #0
+ beq _0225305E
+ cmp r0, #1
+ beq _02253074
+ pop {r3, r4, r5, pc}
+_0225305E:
+ ldrb r0, [r4, #6]
+ bl FUN_0201BD70
+ cmp r0, #0
+ bne _0225309E
+ ldrb r0, [r4, #7]
+ add r0, r0, #1
+ strb r0, [r4, #7]
+ mov r0, #0
+ strb r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+_02253074:
+ ldrb r0, [r4, #8]
+ add r0, r0, #1
+ strb r0, [r4, #8]
+ ldrb r0, [r4, #8]
+ cmp r0, #0x28
+ bne _0225309E
+ ldrb r1, [r4, #5]
+ ldr r0, [r4]
+ bl MOD11_02256004
+ ldrb r1, [r4, #5]
+ ldrb r2, [r4, #4]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_0225309E:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022530A0
+MOD11_022530A0: ; 0x022530A0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r4, r1, #0
+ str r0, [sp, #0xc]
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230294
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_022302A8
+ lsl r1, r0, #2
+ ldr r0, _022533D8 ; =0x0225E86C
+ ldr r6, [r0, r1]
+ ldrb r0, [r4, #0x15]
+ add r0, r0, #1
+ strb r0, [r4, #0x15]
+ ldrb r0, [r4, #0x14]
+ cmp r0, #6
+ bhi _02253102
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_022530E2: ; jump table
+ .short _022530F0 - _022530E2 - 2 ; case 0
+ .short _022530F8 - _022530E2 - 2 ; case 1
+ .short _0225314A - _022530E2 - 2 ; case 2
+ .short _022532AC - _022530E2 - 2 ; case 3
+ .short _022532C8 - _022530E2 - 2 ; case 4
+ .short _022532E4 - _022530E2 - 2 ; case 5
+ .short _022532F6 - _022530E2 - 2 ; case 6
+_022530F0:
+ add r0, r0, #1
+ add sp, #0x18
+ strb r0, [r4, #0x14]
+ pop {r3, r4, r5, r6, r7, pc}
+_022530F8:
+ add r0, r5, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ beq _02253104
+_02253102:
+ b _022533D4
+_02253104:
+ mov r0, #5
+ mov r1, #0
+ bl MOD08_0222A0D4
+ str r0, [r4, #4]
+ ldr r0, _022533DC ; =0x0225E820
+ add r1, sp, #0x10
+ ldrb r5, [r0, r7]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ str r5, [sp, #0x10]
+ ldr r0, [r4, #4]
+ bl MOD08_0222A110
+ str r0, [r4, #8]
+ add r0, r5, #1
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r0, [r4, #4]
+ add r1, sp, #0x10
+ bl MOD08_0222A110
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #8]
+ bl MOD08_0222A1DC
+ ldr r0, _022533E0 ; =0x0000084F
+ bl FUN_020054C8
+ ldrb r0, [r4, #0x14]
+ add sp, #0x18
+ add r0, r0, #1
+ strb r0, [r4, #0x14]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225314A:
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0xa
+ bne _02253180
+ mov r3, #0
+ str r3, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ lsl r0, r6, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #8]
+ ldr r2, _022533E4 ; =0x0000F3FF
+ add r0, r5, #0
+ mov r1, #1
+ bl FUN_02003210
+ mov r3, #0
+ str r3, [sp]
+ mov r0, #0x10
+ str r0, [sp, #4]
+ lsl r0, r6, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #8]
+ ldr r2, _022533E8 ; =0x00003FFF
+ add r0, r5, #0
+ mov r1, #4
+ bl FUN_02003210
+_02253180:
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0x14
+ bne _0225318C
+ ldr r0, [r4, #0xc]
+ bl MOD08_0222A1DC
+_0225318C:
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0x17
+ bne _0225319A
+ mov r0, #0x85
+ lsl r0, r0, #4
+ bl FUN_020054C8
+_0225319A:
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0x1c
+ bne _02253286
+ add r0, r5, #0
+ mov r1, #0
+ bl FUN_020031FC
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231244
+ add r1, r7, #0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #0x4a
+ bne _022531DC
+ add r0, r5, #0
+ mov r1, #2
+ bl FUN_020031FC
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r7, #0
+ mov r2, #0xa0
+ blx MIi_CpuCopy16
+ b _0225323E
+_022531DC:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02253200
+ add r0, r5, #0
+ bl FUN_020031FC
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r7, #0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ b _0225323E
+_02253200:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ beq _02253226
+ add r0, r5, #0
+ mov r1, #2
+ bl FUN_020031FC
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r7, #0
+ mov r2, #0xa0
+ blx MIi_CpuCopy16
+ b _0225323E
+_02253226:
+ add r0, r5, #0
+ mov r1, #2
+ bl FUN_020031FC
+ add r7, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r7, #0
+ mov r2, #0x80
+ blx MIi_CpuCopy16
+_0225323E:
+ mov r0, #0x10
+ str r0, [sp]
+ mov r3, #0
+ lsl r0, r6, #0x10
+ str r3, [sp, #4]
+ lsr r0, r0, #0x10
+ str r0, [sp, #8]
+ ldr r2, _022533E4 ; =0x0000F3FF
+ add r0, r5, #0
+ mov r1, #1
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp]
+ mov r3, #0
+ lsl r0, r6, #0x10
+ str r3, [sp, #4]
+ lsr r0, r0, #0x10
+ str r0, [sp, #8]
+ ldr r2, _022533E8 ; =0x00003FFF
+ add r0, r5, #0
+ mov r1, #4
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp]
+ mov r3, #0
+ lsl r0, r6, #0x10
+ str r3, [sp, #4]
+ lsr r0, r0, #0x10
+ str r0, [sp, #8]
+ ldr r2, _022533EC ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #0xa
+ bl FUN_02003210
+_02253286:
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0x32
+ bne _022532B6
+ mov r0, #0x10
+ str r0, [sp]
+ mov r3, #0
+ str r3, [sp, #4]
+ mov r2, #3
+ str r3, [sp, #8]
+ add r0, r5, #0
+ mov r1, #1
+ lsl r2, r2, #0xa
+ bl FUN_02003210
+ ldrb r0, [r4, #0x14]
+ add sp, #0x18
+ add r0, r0, #1
+ strb r0, [r4, #0x14]
+ pop {r3, r4, r5, r6, r7, pc}
+_022532AC:
+ ldr r0, [r4, #0xc]
+ bl MOD08_0222A204
+ cmp r0, #0
+ beq _022532B8
+_022532B6:
+ b _022533D4
+_022532B8:
+ ldr r0, [r4, #4]
+ bl MOD08_0222A14C
+ ldrb r0, [r4, #0x14]
+ add sp, #0x18
+ add r0, r0, #1
+ strb r0, [r4, #0x14]
+ pop {r3, r4, r5, r6, r7, pc}
+_022532C8:
+ ldr r0, [r4]
+ bl MOD11_02230288
+ mov r1, #0
+ bl FUN_020143A8
+ add r0, r4, #0
+ bl FUN_02016A18
+ ldr r0, [sp, #0xc]
+ bl FUN_0200CAB4
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+_022532E4:
+ ldr r0, [r4, #4]
+ bl MOD08_0222A170
+ ldr r0, [r4, #4]
+ bl MOD08_0222A14C
+ ldrb r0, [r4, #0x14]
+ add r0, r0, #1
+ strb r0, [r4, #0x14]
+_022532F6:
+ add r0, r5, #0
+ mov r1, #0
+ bl FUN_020031FC
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231244
+ add r1, r6, #0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ cmp r0, #0x4a
+ bne _02253332
+ add r0, r5, #0
+ mov r1, #2
+ bl FUN_020031FC
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r6, #0
+ mov r2, #0xa0
+ blx MIi_CpuCopy16
+ b _02253394
+_02253332:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ beq _02253356
+ add r0, r5, #0
+ bl FUN_020031FC
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r6, #0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ b _02253394
+_02253356:
+ ldr r0, [r4]
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ beq _0225337C
+ add r0, r5, #0
+ mov r1, #2
+ bl FUN_020031FC
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r6, #0
+ mov r2, #0xa0
+ blx MIi_CpuCopy16
+ b _02253394
+_0225337C:
+ add r0, r5, #0
+ mov r1, #2
+ bl FUN_020031FC
+ add r6, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02231250
+ add r1, r6, #0
+ mov r2, #0x80
+ blx MIi_CpuCopy16
+_02253394:
+ mov r3, #0
+ str r3, [sp]
+ ldr r0, _022533F0 ; =0x00007FFF
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ ldr r2, _022533EC ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #1
+ bl FUN_02003210
+ mov r3, #0
+ str r3, [sp]
+ ldr r2, _022533EC ; =0x0000FFFF
+ str r3, [sp, #4]
+ str r2, [sp, #8]
+ add r0, r5, #0
+ mov r1, #4
+ lsr r2, r2, #2
+ bl FUN_02003210
+ mov r3, #0
+ str r3, [sp]
+ ldr r0, _022533F0 ; =0x00007FFF
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ ldr r2, _022533EC ; =0x0000FFFF
+ add r0, r5, #0
+ mov r1, #0xa
+ bl FUN_02003210
+ mov r0, #4
+ strb r0, [r4, #0x14]
+_022533D4:
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022533D8: .word 0x0225E86C
+_022533DC: .word 0x0225E820
+_022533E0: .word 0x0000084F
+_022533E4: .word 0x0000F3FF
+_022533E8: .word 0x00003FFF
+_022533EC: .word 0x0000FFFF
+_022533F0: .word 0x00007FFF
+
+ thumb_func_start MOD11_022533F4
+MOD11_022533F4: ; 0x022533F4
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ ldrb r1, [r4, #0xa]
+ add r6, r0, #0
+ cmp r1, #3
+ bls _0225340C
+ b _02253524
+_0225340C:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02253418: ; jump table
+ .short _02253420 - _02253418 - 2 ; case 0
+ .short _02253440 - _02253418 - 2 ; case 1
+ .short _022534B0 - _02253418 - 2 ; case 2
+ .short _022534E2 - _02253418 - 2 ; case 3
+_02253420:
+ mov r2, #0
+ str r2, [sp]
+ mov r1, #0x10
+ str r1, [sp, #4]
+ mov r1, #0xa
+ str r2, [sp, #8]
+ add r3, r1, #0
+ ldr r2, _02253528 ; =0x0000FFFF
+ sub r3, #0x12
+ bl FUN_02003210
+ ldrb r0, [r4, #0xa]
+ add sp, #0xc
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, pc}
+_02253440:
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _02253524
+ ldr r0, [r4]
+ bl MOD11_0222D7F8
+ mov r0, #5
+ mov r1, #0x38
+ bl FUN_02016998
+ str r0, [r4, #4]
+ ldrb r1, [r4, #9]
+ ldr r0, [r4]
+ bl MOD11_0222FF88
+ ldr r1, [r4, #4]
+ mov r2, #3
+ str r0, [r1]
+ ldr r1, [r4]
+ ldr r0, [r4, #4]
+ str r1, [r0, #8]
+ ldr r0, [r4, #4]
+ mov r1, #5
+ str r1, [r0, #0xc]
+ ldrb r1, [r4, #0xe]
+ ldr r0, [r4, #4]
+ strb r1, [r0, #0x11]
+ ldrh r1, [r4, #0xc]
+ ldr r0, [r4, #4]
+ strh r1, [r0, #0x24]
+ ldr r1, [r4, #4]
+ mov r0, #0
+ add r1, #0x36
+ strb r0, [r1]
+ ldr r1, [r4, #4]
+ strb r0, [r1, #0x12]
+ ldr r1, [r4, #4]
+ add r1, #0x35
+ strb r2, [r1]
+ ldr r1, [r4, #4]
+ strh r0, [r1, #0x22]
+ ldrb r2, [r4, #9]
+ ldr r1, [r4, #4]
+ str r2, [r1, #0x28]
+ ldr r1, [r4, #4]
+ add r1, #0x32
+ strb r0, [r1]
+ ldr r0, [r4, #4]
+ bl FUN_02211E60
+ ldrb r0, [r4, #0xa]
+ add sp, #0xc
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, pc}
+_022534B0:
+ ldr r0, [r4, #4]
+ add r0, #0x36
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _02253524
+ ldr r0, [r4]
+ bl MOD11_0222D88C
+ mov r0, #0x10
+ str r0, [sp]
+ mov r0, #0
+ mov r1, #0xa
+ str r0, [sp, #4]
+ add r3, r1, #0
+ str r0, [sp, #8]
+ ldr r2, _02253528 ; =0x0000FFFF
+ add r0, r6, #0
+ sub r3, #0x12
+ bl FUN_02003210
+ ldrb r0, [r4, #0xa]
+ add sp, #0xc
+ add r0, r0, #1
+ strb r0, [r4, #0xa]
+ pop {r3, r4, r5, r6, pc}
+_022534E2:
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _02253524
+ ldr r0, [r4, #4]
+ add r0, #0x34
+ ldrb r2, [r0]
+ ldr r0, [r4]
+ cmp r2, #4
+ bne _02253500
+ ldrb r1, [r4, #9]
+ mov r2, #0xff
+ bl MOD11_02255964
+ b _02253508
+_02253500:
+ ldrb r1, [r4, #9]
+ add r2, r2, #1
+ bl MOD11_02255964
+_02253508:
+ ldrb r1, [r4, #9]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ ldr r0, [r4, #4]
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+_02253524:
+ add sp, #0xc
+ pop {r3, r4, r5, r6, pc}
+ .align 2, 0
+_02253528: .word 0x0000FFFF
+
+ thumb_func_start MOD11_0225352C
+MOD11_0225352C: ; 0x0225352C
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r4, r0, #0
+ ldrb r0, [r5, #0xa]
+ cmp r0, #0
+ beq _0225353E
+ cmp r0, #1
+ beq _02253582
+ pop {r3, r4, r5, pc}
+_0225353E:
+ ldrb r1, [r5, #0xc]
+ ldrb r0, [r5, #0xd]
+ cmp r1, r0
+ bne _0225357C
+ mov r0, #0
+ strb r0, [r5, #0xc]
+ ldr r0, [r5, #4]
+ mov r1, #0x28
+ bl FUN_0200782C
+ add r4, r0, #0
+ ldrb r0, [r5, #0xb]
+ cmp r4, r0
+ ble _0225355E
+ sub r4, r4, #1
+ b _02253564
+_0225355E:
+ cmp r4, r0
+ bge _02253564
+ add r4, r4, #1
+_02253564:
+ ldr r0, [r5, #4]
+ mov r1, #0x28
+ add r2, r4, #0
+ bl FUN_02007558
+ ldrb r0, [r5, #0xb]
+ cmp r4, r0
+ bne _02253598
+ ldrb r0, [r5, #0xa]
+ add r0, r0, #1
+ strb r0, [r5, #0xa]
+ pop {r3, r4, r5, pc}
+_0225357C:
+ add r0, r1, #1
+ strb r0, [r5, #0xc]
+ pop {r3, r4, r5, pc}
+_02253582:
+ ldrb r1, [r5, #9]
+ ldrb r2, [r5, #8]
+ ldr r0, [r5]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r4, #0
+ bl FUN_0200CAB4
+_02253598:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225359C
+MOD11_0225359C: ; 0x0225359C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r5, r1, #0
+ ldrb r1, [r5, #5]
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _022535B4
+ mov r4, #0
+ b _022535B6
+_022535B4:
+ mov r4, #1
+_022535B6:
+ ldrb r0, [r5, #7]
+ cmp r0, #0
+ beq _022535C2
+ cmp r0, #1
+ beq _0225361C
+ b _02253636
+_022535C2:
+ ldrb r0, [r5, #0xe]
+ cmp r0, #0
+ bne _022535CE
+ mov r7, #0
+ mov r6, #1
+ b _022535E6
+_022535CE:
+ ldrb r0, [r5, #6]
+ mov r7, #1
+ cmp r0, #3
+ beq _022535DC
+ cmp r0, #5
+ beq _022535E0
+ b _022535E4
+_022535DC:
+ mov r6, #0
+ b _022535E6
+_022535E0:
+ mov r6, #2
+ b _022535E6
+_022535E4:
+ add r6, r7, #0
+_022535E6:
+ ldr r0, [r5]
+ bl MOD11_02230078
+ str r0, [sp, #8]
+ ldr r0, [r5]
+ bl MOD11_02230080
+ ldr r1, [sp, #8]
+ add r2, r7, #0
+ str r1, [sp]
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r0, #8
+ add r1, r4, #0
+ add r3, r6, #0
+ bl MOD11_0225CA08
+ add r2, r0, #0
+ ldr r0, [r5]
+ add r1, r4, #0
+ bl MOD11_022300A8
+ ldrb r0, [r5, #7]
+ add sp, #0xc
+ add r0, r0, #1
+ strb r0, [r5, #7]
+ pop {r4, r5, r6, r7, pc}
+_0225361C:
+ ldr r0, [r5]
+ add r1, r4, #0
+ bl MOD11_0223009C
+ bl MOD11_0225CA6C
+ cmp r0, #1
+ bne _0225364C
+ ldrb r0, [r5, #7]
+ add sp, #0xc
+ add r0, r0, #1
+ strb r0, [r5, #7]
+ pop {r4, r5, r6, r7, pc}
+_02253636:
+ ldrb r1, [r5, #5]
+ ldrb r2, [r5, #4]
+ ldr r0, [r5]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_0225364C:
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02253650
+MOD11_02253650: ; 0x02253650
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldrb r1, [r5, #5]
+ add r7, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _02253666
+ mov r4, #0
+ b _02253668
+_02253666:
+ mov r4, #1
+_02253668:
+ ldr r0, [r5]
+ add r1, r4, #0
+ bl MOD11_0223009C
+ ldrb r1, [r5, #7]
+ add r6, r0, #0
+ cmp r1, #0
+ beq _0225367E
+ cmp r1, #1
+ beq _0225369A
+ b _022536BA
+_0225367E:
+ ldrb r0, [r5, #0xe]
+ cmp r0, #0
+ bne _02253688
+ mov r1, #0
+ b _0225368A
+_02253688:
+ mov r1, #1
+_0225368A:
+ add r0, r6, #0
+ add r2, r1, #0
+ bl MOD11_0225CA90
+ ldrb r0, [r5, #7]
+ add r0, r0, #1
+ strb r0, [r5, #7]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225369A:
+ bl MOD11_0225CAC8
+ cmp r0, #1
+ bne _022536D0
+ add r0, r6, #0
+ bl MOD11_0225CAEC
+ ldr r0, [r5]
+ add r1, r4, #0
+ mov r2, #0
+ bl MOD11_022300A8
+ ldrb r0, [r5, #7]
+ add r0, r0, #1
+ strb r0, [r5, #7]
+ pop {r3, r4, r5, r6, r7, pc}
+_022536BA:
+ ldrb r1, [r5, #5]
+ ldrb r2, [r5, #4]
+ ldr r0, [r5]
+ bl MOD11_022567B8
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r7, #0
+ bl FUN_0200CAB4
+_022536D0:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022536D4
+MOD11_022536D4: ; 0x022536D4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #0xe]
+ cmp r0, #0
+ bne _02253706
+ ldr r0, [r4, #4]
+ add r0, #0x8c
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _022536EE
+ bl ErrorHandling
+_022536EE:
+ ldrb r2, [r4, #0xd]
+ ldr r0, [r4]
+ mov r1, #5
+ bl FUN_022156C0
+ ldr r1, [r4, #4]
+ add r1, #0x8c
+ str r0, [r1]
+ ldrb r0, [r4, #0xe]
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, pc}
+_02253706:
+ ldrb r1, [r4, #0xd]
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02253720
+MOD11_02253720: ; 0x02253720
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4, #4]
+ add r0, #0x8c
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _02253734
+ bl ErrorHandling
+_02253734:
+ ldr r0, [r4, #4]
+ add r0, #0x8c
+ ldr r0, [r0]
+ bl FUN_02215988
+ cmp r0, #3
+ bne _0225374E
+ ldrb r0, [r4, #0xe]
+ cmp r0, #5
+ bhs _0225374E
+ add r0, r0, #1
+ strb r0, [r4, #0xe]
+ pop {r3, r4, r5, pc}
+_0225374E:
+ ldr r0, [r4, #4]
+ ldrb r1, [r4, #0xd]
+ add r0, #0x8c
+ ldr r0, [r0]
+ bl FUN_0221594C
+ ldr r0, [r4, #4]
+ mov r1, #0
+ add r0, #0x8c
+ str r1, [r0]
+ ldrb r1, [r4, #0xd]
+ ldrb r2, [r4, #0xc]
+ ldr r0, [r4]
+ bl MOD11_022567B8
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225377C
+MOD11_0225377C: ; 0x0225377C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ bl MOD11_0222FF74
+ mov r1, #0x40
+ tst r1, r0
+ beq _022537D6
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r4, r0]
+ cmp r1, #0
+ beq _022537B6
+ ldr r1, _022539F4 ; =MOD11_02250F44
+ add r0, r0, #2
+ str r1, [r4]
+ ldr r1, _022539F8 ; =MOD11_022511C4
+ str r1, [r4, #4]
+ ldr r1, _022539FC ; =MOD11_02251420
+ str r1, [r4, #8]
+ ldr r1, _02253A00 ; =MOD11_02252018
+ str r1, [r4, #0xc]
+ ldr r1, _02253A04 ; =MOD11_02252470
+ str r1, [r4, #0x10]
+ ldr r1, _02253A08 ; =MOD11_02252714
+ str r1, [r4, #0x14]
+ mov r1, #1
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_022537B6:
+ ldr r1, _02253A0C ; =MOD11_02250A70
+ add r0, r0, #2
+ str r1, [r4]
+ ldr r1, _02253A10 ; =MOD11_0225103C
+ str r1, [r4, #4]
+ ldr r1, _02253A14 ; =MOD11_022512B4
+ str r1, [r4, #8]
+ ldr r1, _02253A18 ; =MOD11_02251484
+ str r1, [r4, #0xc]
+ ldr r1, _02253A1C ; =MOD11_022520A8
+ str r1, [r4, #0x10]
+ ldr r1, _02253A20 ; =MOD11_02252544
+ str r1, [r4, #0x14]
+ mov r1, #0
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_022537D6:
+ mov r1, #0x88
+ and r1, r0
+ cmp r1, #0x88
+ bne _02253888
+ ldr r0, _02253A24 ; =0x00000195
+ ldrb r1, [r4, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02253832
+ add r0, r5, #0
+ bl MOD11_02230DD4
+ cmp r0, #0
+ beq _02253812
+ ldr r0, _022539F4 ; =MOD11_02250F44
+ mov r1, #1
+ str r0, [r4]
+ ldr r0, _022539F8 ; =MOD11_022511C4
+ str r0, [r4, #4]
+ ldr r0, _022539FC ; =MOD11_02251420
+ str r0, [r4, #8]
+ ldr r0, _02253A00 ; =MOD11_02252018
+ str r0, [r4, #0xc]
+ ldr r0, _02253A04 ; =MOD11_02252470
+ str r0, [r4, #0x10]
+ ldr r0, _02253A08 ; =MOD11_02252714
+ str r0, [r4, #0x14]
+ ldr r0, _02253A28 ; =0x00000196
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253812:
+ ldr r0, _02253A2C ; =MOD11_02250F74
+ mov r1, #2
+ str r0, [r4]
+ ldr r0, _02253A30 ; =MOD11_02251294
+ str r0, [r4, #4]
+ ldr r0, _02253A34 ; =MOD11_02251464
+ str r0, [r4, #8]
+ ldr r0, _02253A38 ; =MOD11_02252070
+ str r0, [r4, #0xc]
+ ldr r0, _02253A3C ; =MOD11_02252524
+ str r0, [r4, #0x10]
+ ldr r0, _02253A40 ; =MOD11_02252734
+ str r0, [r4, #0x14]
+ ldr r0, _02253A28 ; =0x00000196
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253832:
+ bl FUN_02031190
+ add r1, r0, #0
+ add r0, r5, #0
+ lsl r1, r1, #1
+ bl MOD11_02230260
+ ldr r1, _02253A24 ; =0x00000195
+ ldrb r2, [r4, r1]
+ cmp r2, r0
+ beq _02253868
+ ldr r0, _02253A2C ; =MOD11_02250F74
+ mov r2, #2
+ str r0, [r4]
+ ldr r0, _02253A30 ; =MOD11_02251294
+ str r0, [r4, #4]
+ ldr r0, _02253A34 ; =MOD11_02251464
+ str r0, [r4, #8]
+ ldr r0, _02253A38 ; =MOD11_02252070
+ str r0, [r4, #0xc]
+ ldr r0, _02253A3C ; =MOD11_02252524
+ str r0, [r4, #0x10]
+ ldr r0, _02253A40 ; =MOD11_02252734
+ str r0, [r4, #0x14]
+ add r0, r1, #1
+ strb r2, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253868:
+ ldr r0, _02253A0C ; =MOD11_02250A70
+ mov r2, #0
+ str r0, [r4]
+ ldr r0, _02253A10 ; =MOD11_0225103C
+ str r0, [r4, #4]
+ ldr r0, _02253A14 ; =MOD11_022512B4
+ str r0, [r4, #8]
+ ldr r0, _02253A18 ; =MOD11_02251484
+ str r0, [r4, #0xc]
+ ldr r0, _02253A1C ; =MOD11_022520A8
+ str r0, [r4, #0x10]
+ ldr r0, _02253A20 ; =MOD11_02252544
+ str r0, [r4, #0x14]
+ add r0, r1, #1
+ strb r2, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253888:
+ mov r1, #8
+ tst r1, r0
+ beq _022538E2
+ bl FUN_02031190
+ add r1, r0, #0
+ add r0, r5, #0
+ bl MOD11_02230260
+ ldr r1, _02253A24 ; =0x00000195
+ ldrb r2, [r4, r1]
+ cmp r2, r0
+ beq _022538C2
+ ldr r0, _02253A2C ; =MOD11_02250F74
+ mov r2, #2
+ str r0, [r4]
+ ldr r0, _02253A30 ; =MOD11_02251294
+ str r0, [r4, #4]
+ ldr r0, _02253A34 ; =MOD11_02251464
+ str r0, [r4, #8]
+ ldr r0, _02253A38 ; =MOD11_02252070
+ str r0, [r4, #0xc]
+ ldr r0, _02253A3C ; =MOD11_02252524
+ str r0, [r4, #0x10]
+ ldr r0, _02253A40 ; =MOD11_02252734
+ str r0, [r4, #0x14]
+ add r0, r1, #1
+ strb r2, [r4, r0]
+ pop {r3, r4, r5, pc}
+_022538C2:
+ ldr r0, _02253A0C ; =MOD11_02250A70
+ mov r2, #0
+ str r0, [r4]
+ ldr r0, _02253A10 ; =MOD11_0225103C
+ str r0, [r4, #4]
+ ldr r0, _02253A14 ; =MOD11_022512B4
+ str r0, [r4, #8]
+ ldr r0, _02253A18 ; =MOD11_02251484
+ str r0, [r4, #0xc]
+ ldr r0, _02253A1C ; =MOD11_022520A8
+ str r0, [r4, #0x10]
+ ldr r0, _02253A20 ; =MOD11_02252544
+ str r0, [r4, #0x14]
+ add r0, r1, #1
+ strb r2, [r4, r0]
+ pop {r3, r4, r5, pc}
+_022538E2:
+ mov r1, #4
+ add r2, r0, #0
+ tst r2, r1
+ beq _02253934
+ ldr r0, _02253A24 ; =0x00000195
+ mov r1, #1
+ ldrb r2, [r4, r0]
+ tst r1, r2
+ beq _02253914
+ ldr r1, _02253A2C ; =MOD11_02250F74
+ add r0, r0, #1
+ str r1, [r4]
+ ldr r1, _02253A30 ; =MOD11_02251294
+ str r1, [r4, #4]
+ ldr r1, _02253A34 ; =MOD11_02251464
+ str r1, [r4, #8]
+ ldr r1, _02253A38 ; =MOD11_02252070
+ str r1, [r4, #0xc]
+ ldr r1, _02253A3C ; =MOD11_02252524
+ str r1, [r4, #0x10]
+ ldr r1, _02253A40 ; =MOD11_02252734
+ str r1, [r4, #0x14]
+ mov r1, #2
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253914:
+ ldr r1, _02253A0C ; =MOD11_02250A70
+ add r0, r0, #1
+ str r1, [r4]
+ ldr r1, _02253A10 ; =MOD11_0225103C
+ str r1, [r4, #4]
+ ldr r1, _02253A14 ; =MOD11_022512B4
+ str r1, [r4, #8]
+ ldr r1, _02253A18 ; =MOD11_02251484
+ str r1, [r4, #0xc]
+ ldr r1, _02253A1C ; =MOD11_022520A8
+ str r1, [r4, #0x10]
+ ldr r1, _02253A20 ; =MOD11_02252544
+ str r1, [r4, #0x14]
+ mov r1, #0
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253934:
+ lsl r1, r1, #7
+ tst r1, r0
+ beq _02253970
+ ldr r0, _02253A24 ; =0x00000195
+ mov r1, #1
+ ldrb r2, [r4, r0]
+ tst r2, r1
+ beq _0225395A
+ ldr r2, _02253A44 ; =MOD11_02251014
+ add r0, r0, #1
+ str r2, [r4]
+ mov r2, #0
+ str r2, [r4, #4]
+ str r2, [r4, #8]
+ str r2, [r4, #0xc]
+ str r2, [r4, #0x10]
+ str r2, [r4, #0x14]
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_0225395A:
+ ldr r1, _02253A0C ; =MOD11_02250A70
+ add r0, r0, #1
+ str r1, [r4]
+ mov r1, #0
+ str r1, [r4, #4]
+ str r1, [r4, #8]
+ str r1, [r4, #0xc]
+ str r1, [r4, #0x10]
+ str r1, [r4, #0x14]
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253970:
+ mov r1, #0x20
+ tst r0, r1
+ ldr r0, _02253A24 ; =0x00000195
+ beq _022539AE
+ ldrb r2, [r4, r0]
+ mov r1, #1
+ tst r2, r1
+ beq _02253996
+ ldr r2, _02253A48 ; =MOD11_02250F94
+ add r0, r0, #1
+ str r2, [r4]
+ mov r2, #0
+ str r2, [r4, #4]
+ str r2, [r4, #8]
+ str r2, [r4, #0xc]
+ str r2, [r4, #0x10]
+ str r2, [r4, #0x14]
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_02253996:
+ ldr r1, _02253A0C ; =MOD11_02250A70
+ mov r2, #0
+ str r1, [r4]
+ str r2, [r4, #4]
+ str r2, [r4, #8]
+ str r2, [r4, #0xc]
+ ldr r1, _02253A20 ; =MOD11_02252544
+ str r2, [r4, #0x10]
+ str r1, [r4, #0x14]
+ add r0, r0, #1
+ strb r2, [r4, r0]
+ pop {r3, r4, r5, pc}
+_022539AE:
+ ldrb r2, [r4, r0]
+ mov r1, #1
+ tst r2, r1
+ beq _022539D4
+ ldr r2, _022539F4 ; =MOD11_02250F44
+ add r0, r0, #1
+ str r2, [r4]
+ ldr r2, _022539F8 ; =MOD11_022511C4
+ str r2, [r4, #4]
+ ldr r2, _022539FC ; =MOD11_02251420
+ str r2, [r4, #8]
+ ldr r2, _02253A00 ; =MOD11_02252018
+ str r2, [r4, #0xc]
+ ldr r2, _02253A04 ; =MOD11_02252470
+ str r2, [r4, #0x10]
+ ldr r2, _02253A08 ; =MOD11_02252714
+ str r2, [r4, #0x14]
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+_022539D4:
+ ldr r1, _02253A0C ; =MOD11_02250A70
+ add r0, r0, #1
+ str r1, [r4]
+ ldr r1, _02253A10 ; =MOD11_0225103C
+ str r1, [r4, #4]
+ ldr r1, _02253A14 ; =MOD11_022512B4
+ str r1, [r4, #8]
+ ldr r1, _02253A18 ; =MOD11_02251484
+ str r1, [r4, #0xc]
+ ldr r1, _02253A1C ; =MOD11_022520A8
+ str r1, [r4, #0x10]
+ ldr r1, _02253A20 ; =MOD11_02252544
+ str r1, [r4, #0x14]
+ mov r1, #0
+ strb r1, [r4, r0]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022539F4: .word MOD11_02250F44
+_022539F8: .word MOD11_022511C4
+_022539FC: .word MOD11_02251420
+_02253A00: .word MOD11_02252018
+_02253A04: .word MOD11_02252470
+_02253A08: .word MOD11_02252714
+_02253A0C: .word MOD11_02250A70
+_02253A10: .word MOD11_0225103C
+_02253A14: .word MOD11_022512B4
+_02253A18: .word MOD11_02251484
+_02253A1C: .word MOD11_022520A8
+_02253A20: .word MOD11_02252544
+_02253A24: .word 0x00000195
+_02253A28: .word 0x00000196
+_02253A2C: .word MOD11_02250F74
+_02253A30: .word MOD11_02251294
+_02253A34: .word MOD11_02251464
+_02253A38: .word MOD11_02252070
+_02253A3C: .word MOD11_02252524
+_02253A40: .word MOD11_02252734
+_02253A44: .word MOD11_02251014
+_02253A48: .word MOD11_02250F94
+
+ thumb_func_start MOD11_02253A4C
+MOD11_02253A4C: ; 0x02253A4C
+ ldr r1, _02253A54 ; =0x00000195
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_02253A54: .word 0x00000195
+
+ thumb_func_start MOD11_02253A58
+MOD11_02253A58: ; 0x02253A58
+ ldr r1, _02253A60 ; =0x00000196
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_02253A60: .word 0x00000196
+
+ thumb_func_start MOD11_02253A64
+MOD11_02253A64: ; 0x02253A64
+ ldr r1, [r0, #0x20]
+ cmp r1, #0
+ bne _02253A6C
+ ldr r1, [r0, #0x1c]
+_02253A6C:
+ add r0, r1, #0
+ bx lr
+
+ thumb_func_start MOD11_02253A70
+MOD11_02253A70: ; 0x02253A70
+ add r0, #0x28
+ bx lr
+
+ thumb_func_start MOD11_02253A74
+MOD11_02253A74: ; 0x02253A74
+ add r0, #0x80
+ bx lr
+
+ thumb_func_start MOD11_02253A78
+MOD11_02253A78: ; 0x02253A78
+ ldr r3, _02253A84 ; =0x020CE34C
+ add r0, #0x80
+ mov r1, #0
+ mov r2, #8
+ bx r3
+ nop
+_02253A84: .word 0x020CE34C
+
+ thumb_func_start MOD11_02253A88
+MOD11_02253A88: ; 0x02253A88
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ ldr r4, [sp, #0x50]
+ add r7, r0, #0
+ str r1, [sp, #0x14]
+ add r5, r2, #0
+ str r3, [sp, #0x18]
+ bl MOD11_02230130
+ add r1, r4, #0
+ bl MOD11_022312DC
+ str r0, [sp, #0x20]
+ add r0, r7, #0
+ add r1, r4, #0
+ bl MOD11_02230260
+ add r6, r0, #0
+ mov r0, #1
+ and r0, r6
+ str r0, [sp, #0x1c]
+ beq _02253AB8
+ mov r1, #2
+ b _02253ABA
+_02253AB8:
+ mov r1, #0
+_02253ABA:
+ ldr r0, [r5, #0xc]
+ ldr r3, [sp, #0x20]
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldrh r0, [r5, #6]
+ mov r2, #5
+ str r0, [sp, #0xc]
+ ldrh r0, [r5]
+ ldrh r1, [r5, #2]
+ bl FUN_02012560
+ add r0, r7, #0
+ bl MOD11_02230130
+ ldrh r2, [r5]
+ add r1, r4, #0
+ bl MOD11_022312F0
+ add r0, r7, #0
+ bl MOD11_02230130
+ ldrh r2, [r5, #4]
+ add r1, r4, #0
+ bl MOD11_02231308
+ add r0, r7, #0
+ bl MOD11_02230130
+ ldr r2, [sp, #0x40]
+ add r1, r4, #0
+ bl MOD11_02231320
+ ldr r0, [sp, #0x3c]
+ ldr r3, [sp, #0x40]
+ str r0, [sp]
+ str r4, [sp, #4]
+ str r4, [sp, #8]
+ ldr r0, [sp, #0x54]
+ ldr r4, [sp, #0x38]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x58]
+ ldr r2, [sp, #0x18]
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x14]
+ add r1, r5, #0
+ add r3, r4, r3
+ bl FUN_020073E8
+ add r4, r0, #0
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _02253B6E
+ cmp r6, #1
+ ble _02253B2C
+ asr r6, r6, #1
+_02253B2C:
+ add r0, r4, #0
+ mov r1, #0x2a
+ add r2, r6, #0
+ bl FUN_02007558
+ ldr r2, [sp, #0x4c]
+ add r0, r4, #0
+ mov r1, #0x2e
+ bl FUN_02007558
+ ldr r2, [sp, #0x38]
+ add r0, r4, #0
+ mov r1, #0x14
+ add r2, #0x24
+ bl FUN_02007558
+ ldr r2, [sp, #0x48]
+ add r0, r4, #0
+ mov r1, #0x15
+ bl FUN_02007558
+ ldr r3, [sp, #0x40]
+ mov r2, #0x24
+ add r0, r4, #0
+ mov r1, #0x16
+ sub r2, r2, r3
+ bl FUN_02007558
+ ldr r2, [sp, #0x44]
+ add r0, r4, #0
+ mov r1, #0x29
+ bl FUN_02007558
+_02253B6E:
+ add r0, r4, #0
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02253B74
+MOD11_02253B74: ; 0x02253B74
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r1, _02253C30 ; =0x00000195
+ add r6, r2, #0
+ ldrb r2, [r5, r1]
+ mov r1, #1
+ add r7, r0, #0
+ add r4, r3, #0
+ tst r1, r2
+ beq _02253BCE
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ beq _02253BAE
+ ldr r0, _02253C34 ; =0x000003DE
+ strh r0, [r4, #2]
+ mov r0, #0x1b
+ strb r0, [r4, #1]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ str r1, [r4, #4]
+ ldrb r1, [r5, r0]
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253BAE:
+ ldr r0, _02253C38 ; =0x000003DD
+ strh r0, [r4, #2]
+ mov r0, #0x32
+ strb r0, [r4, #1]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ str r1, [r4, #4]
+ ldrb r1, [r5, r0]
+ str r1, [r4, #8]
+ ldrb r1, [r5, r0]
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253BCE:
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02253C18
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ bne _02253C18
+ ldrh r0, [r6, #2]
+ cmp r0, #0
+ bne _02253BF2
+ mov r0, #0xf6
+ lsl r0, r0, #2
+ strh r0, [r4, #2]
+ b _02253C1C
+_02253BF2:
+ cmp r0, #0x19
+ bhs _02253BFC
+ ldr r0, _02253C3C ; =0x000003D9
+ strh r0, [r4, #2]
+ b _02253C1C
+_02253BFC:
+ cmp r0, #0x32
+ bhs _02253C08
+ mov r0, #0xf7
+ lsl r0, r0, #2
+ strh r0, [r4, #2]
+ b _02253C1C
+_02253C08:
+ cmp r0, #0x4b
+ bhs _02253C12
+ ldr r0, _02253C40 ; =0x000003DA
+ strh r0, [r4, #2]
+ b _02253C1C
+_02253C12:
+ ldr r0, _02253C44 ; =0x000003DB
+ strh r0, [r4, #2]
+ b _02253C1C
+_02253C18:
+ ldr r0, _02253C3C ; =0x000003D9
+ strh r0, [r4, #2]
+_02253C1C:
+ mov r0, #2
+ strb r0, [r4, #1]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [r4, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02253C30: .word 0x00000195
+_02253C34: .word 0x000003DE
+_02253C38: .word 0x000003DD
+_02253C3C: .word 0x000003D9
+_02253C40: .word 0x000003DA
+_02253C44: .word 0x000003DB
+
+ thumb_func_start MOD11_02253C48
+MOD11_02253C48: ; 0x02253C48
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ ldr r1, _02253D08 ; =0x00000195
+ add r6, r2, #0
+ ldrb r2, [r5, r1]
+ mov r1, #1
+ add r7, r0, #0
+ add r4, r3, #0
+ tst r1, r2
+ beq _02253CA4
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ bne _02253C88
+ mov r0, #0xf3
+ lsl r0, r0, #2
+ strh r0, [r4, #2]
+ mov r0, #0x32
+ strb r0, [r4, #1]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ str r1, [r4, #4]
+ ldrb r1, [r5, r0]
+ str r1, [r4, #8]
+ ldrb r1, [r5, r0]
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253C88:
+ ldr r0, _02253D0C ; =0x000003CE
+ strh r0, [r4, #2]
+ mov r0, #0x1b
+ strb r0, [r4, #1]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ str r1, [r4, #4]
+ ldrb r1, [r5, r0]
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253CA4:
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ bne _02253CF0
+ add r0, r7, #0
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ bne _02253CF0
+ ldrh r1, [r6, #2]
+ cmp r1, #0x64
+ bhs _02253CC6
+ ldr r0, _02253D10 ; =0x000003D6
+ strh r0, [r4, #2]
+ b _02253CF4
+_02253CC6:
+ ldr r0, _02253D14 ; =0x00000145
+ cmp r1, r0
+ bhs _02253CD2
+ ldr r0, _02253D18 ; =0x000003D7
+ strh r0, [r4, #2]
+ b _02253CF4
+_02253CD2:
+ add r0, #0xe1
+ cmp r1, r0
+ bhs _02253CDE
+ ldr r0, _02253D1C ; =0x000003D5
+ strh r0, [r4, #2]
+ b _02253CF4
+_02253CDE:
+ ldr r0, _02253D20 ; =0x00000307
+ cmp r1, r0
+ bhs _02253CEA
+ add r0, #0xcd
+ strh r0, [r4, #2]
+ b _02253CF4
+_02253CEA:
+ add r0, #0xcc
+ strh r0, [r4, #2]
+ b _02253CF4
+_02253CF0:
+ ldr r0, _02253D24 ; =0x000003D3
+ strh r0, [r4, #2]
+_02253CF4:
+ mov r0, #2
+ strb r0, [r4, #1]
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r1, [r5, r0]
+ ldrb r0, [r6, #1]
+ lsl r0, r0, #8
+ orr r0, r1
+ str r0, [r4, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02253D08: .word 0x00000195
+_02253D0C: .word 0x000003CE
+_02253D10: .word 0x000003D6
+_02253D14: .word 0x00000145
+_02253D18: .word 0x000003D7
+_02253D1C: .word 0x000003D5
+_02253D20: .word 0x00000307
+_02253D24: .word 0x000003D3
+
+ thumb_func_start MOD11_02253D28
+MOD11_02253D28: ; 0x02253D28
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r5, r2, #0
+ bl MOD11_0222FF74
+ add r4, r0, #0
+ mov r0, #2
+ tst r0, r4
+ beq _02253D4E
+ add r0, r7, #0
+ mov r1, #3
+ bl MOD11_0223022C
+ add r6, r0, #0
+ add r0, r7, #0
+ mov r1, #5
+ bl MOD11_0223022C
+ b _02253D58
+_02253D4E:
+ add r0, r7, #0
+ mov r1, #1
+ bl MOD11_0223022C
+ add r6, r0, #0
+_02253D58:
+ mov r1, #4
+ tst r1, r4
+ beq _02253D98
+ mov r1, #0x80
+ tst r1, r4
+ beq _02253D78
+ mov r1, #0x3e
+ lsl r1, r1, #4
+ strh r1, [r5, #2]
+ mov r1, #0x3b
+ strb r1, [r5, #1]
+ str r6, [r5, #4]
+ str r6, [r5, #8]
+ str r0, [r5, #0xc]
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253D78:
+ mov r1, #8
+ add r2, r4, #0
+ tst r2, r1
+ beq _02253D8E
+ ldr r1, _02253DC8 ; =0x000003CB
+ strh r1, [r5, #2]
+ mov r1, #0x1a
+ strb r1, [r5, #1]
+ str r6, [r5, #4]
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253D8E:
+ ldr r0, _02253DCC ; =0x000003CA
+ strh r0, [r5, #2]
+ strb r1, [r5, #1]
+ str r6, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253D98:
+ mov r1, #0x10
+ tst r1, r4
+ bne _02253DA4
+ mov r1, #8
+ tst r1, r4
+ beq _02253DB8
+_02253DA4:
+ mov r1, #0x3e
+ lsl r1, r1, #4
+ strh r1, [r5, #2]
+ mov r1, #0x3b
+ strb r1, [r5, #1]
+ str r6, [r5, #4]
+ str r6, [r5, #8]
+ str r0, [r5, #0xc]
+ str r0, [r5, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253DB8:
+ ldr r0, _02253DD0 ; =0x000003C9
+ strh r0, [r5, #2]
+ mov r0, #0x1e
+ strb r0, [r5, #1]
+ str r6, [r5, #4]
+ str r6, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02253DC8: .word 0x000003CB
+_02253DCC: .word 0x000003CA
+_02253DD0: .word 0x000003C9
+
+ thumb_func_start MOD11_02253DD4
+MOD11_02253DD4: ; 0x02253DD4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ str r1, [sp, #4]
+ str r0, [sp]
+ add r6, r2, #0
+ add r4, r3, #0
+ bl MOD11_0222FF74
+ str r0, [sp, #0x14]
+ ldr r2, _022540E4 ; =0x00000195
+ ldr r0, [sp, #4]
+ ldrb r1, [r0, r2]
+ mov r0, #1
+ tst r0, r1
+ bne _02253DF4
+ b _02253F3C
+_02253DF4:
+ ldr r0, [sp, #0x14]
+ mov r1, #2
+ and r0, r1
+ str r0, [sp, #0x10]
+ beq _02253E10
+ ldr r0, [sp, #4]
+ sub r1, r2, #1
+ ldrb r5, [r0, r1]
+ ldr r0, [sp]
+ add r1, r5, #0
+ bl MOD11_022302BC
+ add r7, r0, #0
+ b _02253E18
+_02253E10:
+ ldr r0, [sp, #4]
+ sub r1, r2, #1
+ ldrb r5, [r0, r1]
+ add r7, r5, #0
+_02253E18:
+ ldr r0, [sp, #0x14]
+ mov r1, #4
+ tst r0, r1
+ beq _02253EBE
+ ldr r0, [sp, #0x14]
+ mov r1, #0x80
+ tst r0, r1
+ beq _02253E50
+ ldr r0, _022540E8 ; =0x000003DF
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x3c
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #0xc]
+ str r7, [r4, #0x10]
+ str r7, [r4, #0x14]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0x18]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253E50:
+ ldr r0, [sp, #0x14]
+ mov r1, #8
+ tst r0, r1
+ beq _02253E7E
+ mov r0, #0x3d
+ lsl r0, r0, #4
+ strh r0, [r4, #2]
+ mov r0, #0x38
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ add sp, #0x18
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #8]
+ str r7, [r4, #0xc]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253E7E:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _02253EA6
+ ldr r0, _022540EC ; =0x000003CF
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x31
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #8]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253EA6:
+ ldr r0, _022540F0 ; =0x000003CE
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x1b
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253EBE:
+ ldr r0, [sp, #0x14]
+ mov r1, #0x10
+ tst r0, r1
+ bne _02253ECE
+ ldr r0, [sp, #0x14]
+ mov r1, #8
+ tst r0, r1
+ beq _02253EF6
+_02253ECE:
+ ldr r0, _022540E8 ; =0x000003DF
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x3c
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #0xc]
+ str r7, [r4, #0x10]
+ str r7, [r4, #0x14]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0x18]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253EF6:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0
+ beq _02253F20
+ ldr r0, _022540F4 ; =0x000003CD
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x39
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #0xc]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253F20:
+ mov r0, #0xf3
+ lsl r0, r0, #2
+ strh r0, [r4, #2]
+ mov r0, #0x32
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ add sp, #0x18
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_02253F3C:
+ ldr r0, [sp, #0x14]
+ mov r1, #4
+ and r0, r1
+ str r0, [sp, #0xc]
+ beq _02253FCC
+ bl FUN_02031190
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ ldr r0, [sp, #0x14]
+ mov r1, #8
+ and r0, r1
+ str r0, [sp, #8]
+ beq _02253FA2
+ add r0, r2, #0
+ bl FUN_020313CC
+ cmp r0, #3
+ bhi _02254012
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02253F6E: ; jump table
+ .short _02253F76 - _02253F6E - 2 ; case 0
+ .short _02253F8C - _02253F6E - 2 ; case 1
+ .short _02253F8C - _02253F6E - 2 ; case 2
+ .short _02253F76 - _02253F6E - 2 ; case 3
+_02253F76:
+ ldr r0, [sp]
+ mov r1, #4
+ bl MOD11_0223022C
+ add r5, r0, #0
+ ldr r0, [sp]
+ mov r1, #2
+ bl MOD11_0223022C
+ add r7, r0, #0
+ b _02254012
+_02253F8C:
+ ldr r0, [sp]
+ mov r1, #2
+ bl MOD11_0223022C
+ add r5, r0, #0
+ ldr r0, [sp]
+ mov r1, #4
+ bl MOD11_0223022C
+ add r7, r0, #0
+ b _02254012
+_02253FA2:
+ ldr r0, [sp, #0x14]
+ mov r1, #2
+ tst r0, r1
+ beq _02253FBE
+ ldr r0, [sp]
+ bl MOD11_0223022C
+ add r5, r0, #0
+ ldr r0, [sp]
+ mov r1, #4
+ bl MOD11_0223022C
+ add r7, r0, #0
+ b _02254012
+_02253FBE:
+ ldr r0, [sp]
+ mov r1, #0
+ bl MOD11_0223022C
+ add r5, r0, #0
+ add r7, r5, #0
+ b _02254012
+_02253FCC:
+ ldr r0, [sp, #0x14]
+ mov r1, #8
+ and r0, r1
+ str r0, [sp, #8]
+ beq _02253FEE
+ ldr r1, [sp, #4]
+ sub r2, r2, #1
+ ldrb r1, [r1, r2]
+ ldr r0, [sp]
+ bl MOD11_022302BC
+ add r5, r0, #0
+ mov r1, #0x65
+ ldr r0, [sp, #4]
+ lsl r1, r1, #2
+ ldrb r7, [r0, r1]
+ b _02254012
+_02253FEE:
+ ldr r0, [sp, #0x14]
+ mov r1, #2
+ tst r0, r1
+ beq _0225400A
+ ldr r0, [sp]
+ bl MOD11_0223022C
+ add r5, r0, #0
+ ldr r0, [sp]
+ mov r1, #4
+ bl MOD11_0223022C
+ add r7, r0, #0
+ b _02254012
+_0225400A:
+ ldr r0, [sp, #4]
+ sub r1, r2, #1
+ ldrb r5, [r0, r1]
+ add r7, r5, #0
+_02254012:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ beq _0225407C
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _02254040
+ ldr r0, _022540F8 ; =0x000003D1
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x31
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #8]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+_02254040:
+ ldr r0, [sp, #0x14]
+ mov r1, #2
+ tst r0, r1
+ beq _02254068
+ ldr r0, _022540FC ; =0x000003D2
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #9
+ strb r0, [r4, #1]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #4]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02254068:
+ ldr r0, _02254100 ; =0x000003D3
+ add sp, #0x18
+ strh r0, [r4, #2]
+ strb r1, [r4, #1]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225407C:
+ ldr r0, [sp, #8]
+ cmp r0, #0
+ beq _022540A6
+ ldr r0, _02254104 ; =0x000003E1
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #0x39
+ strb r0, [r4, #1]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #0xc]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #0x10]
+ pop {r3, r4, r5, r6, r7, pc}
+_022540A6:
+ ldr r0, [sp, #0x14]
+ mov r1, #2
+ tst r0, r1
+ beq _022540CE
+ ldr r0, _022540FC ; =0x000003D2
+ add sp, #0x18
+ strh r0, [r4, #2]
+ mov r0, #9
+ strb r0, [r4, #1]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #4]
+ add r0, r6, r7
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r7
+ str r0, [r4, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_022540CE:
+ ldr r0, _02254100 ; =0x000003D3
+ strh r0, [r4, #2]
+ strb r1, [r4, #1]
+ add r0, r6, r5
+ ldrb r0, [r0, #4]
+ lsl r0, r0, #8
+ orr r0, r5
+ str r0, [r4, #4]
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022540E4: .word 0x00000195
+_022540E8: .word 0x000003DF
+_022540EC: .word 0x000003CF
+_022540F0: .word 0x000003CE
+_022540F4: .word 0x000003CD
+_022540F8: .word 0x000003D1
+_022540FC: .word 0x000003D2
+_02254100: .word 0x000003D3
+_02254104: .word 0x000003E1
+
+ thumb_func_start MOD11_02254108
+MOD11_02254108: ; 0x02254108
+ push {r3, r4, r5, r6, r7, lr}
+ str r0, [sp]
+ add r5, r2, #0
+ bl MOD11_0222FF74
+ add r6, r0, #0
+ ldr r0, [sp]
+ bl MOD11_0223145C
+ add r7, r0, #0
+ mov r0, #2
+ tst r0, r6
+ beq _02254136
+ ldr r0, [sp]
+ mov r1, #3
+ bl MOD11_0223022C
+ add r4, r0, #0
+ ldr r0, [sp]
+ mov r1, #5
+ bl MOD11_0223022C
+ b _02254140
+_02254136:
+ ldr r0, [sp]
+ mov r1, #1
+ bl MOD11_0223022C
+ add r4, r0, #0
+_02254140:
+ cmp r7, #1
+ beq _0225414E
+ cmp r7, #2
+ beq _0225416E
+ cmp r7, #3
+ beq _02254190
+ pop {r3, r4, r5, r6, r7, pc}
+_0225414E:
+ mov r1, #8
+ add r2, r6, #0
+ tst r2, r1
+ beq _02254164
+ ldr r1, _022541B0 ; =0x00000312
+ strh r1, [r5, #2]
+ mov r1, #0x1a
+ strb r1, [r5, #1]
+ str r4, [r5, #4]
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02254164:
+ ldr r0, _022541B4 ; =0x00000311
+ strh r0, [r5, #2]
+ strb r1, [r5, #1]
+ str r4, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225416E:
+ mov r1, #8
+ add r2, r6, #0
+ tst r2, r1
+ beq _02254186
+ mov r1, #0xc5
+ lsl r1, r1, #2
+ strh r1, [r5, #2]
+ mov r1, #0x1a
+ strb r1, [r5, #1]
+ str r4, [r5, #4]
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_02254186:
+ ldr r0, _022541B8 ; =0x00000313
+ strh r0, [r5, #2]
+ strb r1, [r5, #1]
+ str r4, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_02254190:
+ mov r1, #8
+ add r2, r6, #0
+ tst r2, r1
+ beq _022541A6
+ ldr r1, _022541BC ; =0x00000316
+ strh r1, [r5, #2]
+ mov r1, #0x1a
+ strb r1, [r5, #1]
+ str r4, [r5, #4]
+ str r0, [r5, #8]
+ pop {r3, r4, r5, r6, r7, pc}
+_022541A6:
+ ldr r0, _022541C0 ; =0x00000315
+ strh r0, [r5, #2]
+ strb r1, [r5, #1]
+ str r4, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022541B0: .word 0x00000312
+_022541B4: .word 0x00000311
+_022541B8: .word 0x00000313
+_022541BC: .word 0x00000316
+_022541C0: .word 0x00000315
+
+ thumb_func_start MOD11_022541C4
+MOD11_022541C4: ; 0x022541C4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ mov r6, #0
+ add r5, r0, #0
+ str r2, [sp]
+ add r7, r3, #0
+ str r6, [sp, #4]
+ add r4, r6, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _0225420C
+_022541DC:
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldr r1, [sp]
+ ldrb r1, [r1, #1]
+ tst r0, r1
+ beq _02254200
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _022541FE
+ ldr r0, [sp, #4]
+ add r0, r0, #1
+ str r0, [sp, #4]
+ b _02254200
+_022541FE:
+ add r6, r6, #1
+_02254200:
+ add r0, r5, #0
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _022541DC
+_0225420C:
+ cmp r6, #0
+ beq _0225422A
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ beq _0225422A
+ ldr r0, _022542AC ; =0x0000030D
+ mov r1, #0xc3
+ strh r0, [r7, #2]
+ mov r0, #0
+ strb r0, [r7, #1]
+ add r0, r5, #0
+ bl MOD11_02231468
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+_0225422A:
+ cmp r6, #0
+ beq _02254242
+ ldr r0, _022542AC ; =0x0000030D
+ mov r1, #0xc2
+ strh r0, [r7, #2]
+ mov r0, #0
+ strb r0, [r7, #1]
+ add r0, r5, #0
+ bl MOD11_02231468
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+_02254242:
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #8
+ tst r0, r1
+ beq _0225426E
+ mov r0, #0xc6
+ lsl r0, r0, #2
+ strh r0, [r7, #2]
+ mov r0, #0x1a
+ strb r0, [r7, #1]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_0223022C
+ str r0, [r7, #4]
+ add r0, r5, #0
+ mov r1, #5
+ bl MOD11_0223022C
+ str r0, [r7, #8]
+ b _0225429E
+_0225426E:
+ add r0, r5, #0
+ bl MOD11_0222FF74
+ mov r1, #2
+ tst r0, r1
+ ldr r0, _022542B0 ; =0x00000317
+ beq _0225428E
+ strh r0, [r7, #2]
+ mov r0, #8
+ strb r0, [r7, #1]
+ add r0, r5, #0
+ mov r1, #3
+ bl MOD11_0223022C
+ str r0, [r7, #4]
+ b _0225429E
+_0225428E:
+ strh r0, [r7, #2]
+ mov r0, #8
+ strb r0, [r7, #1]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_0223022C
+ str r0, [r7, #4]
+_0225429E:
+ add r0, r5, #0
+ mov r1, #0xc1
+ bl MOD11_02231468
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022542AC: .word 0x0000030D
+_022542B0: .word 0x00000317
+
+ thumb_func_start MOD11_022542B4
+MOD11_022542B4: ; 0x022542B4
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ mov r1, #0xef
+ add r4, r2, #0
+ lsl r1, r1, #2
+ strh r1, [r4, #2]
+ mov r1, #8
+ add r5, r0, #0
+ strb r1, [r4, #1]
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ beq _022542F4
+ bl FUN_02031190
+ bl FUN_020313CC
+ cmp r0, #0
+ beq _022542E8
+ add r0, r5, #0
+ mov r1, #4
+ bl MOD11_0223022C
+ str r0, [r4, #4]
+ b _022542FC
+_022542E8:
+ add r0, r5, #0
+ mov r1, #2
+ bl MOD11_0223022C
+ str r0, [r4, #4]
+ b _022542FC
+_022542F4:
+ mov r0, #0x65
+ lsl r0, r0, #2
+ ldrb r0, [r6, r0]
+ str r0, [r4, #4]
+_022542FC:
+ add r0, r5, #0
+ mov r1, #0xc2
+ bl MOD11_02231468
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02254308
+MOD11_02254308: ; 0x02254308
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x58
+ str r0, [sp, #0x18]
+ str r1, [sp, #0x1c]
+ add r5, r2, #0
+ add r4, r3, #0
+ bl MOD11_02230078
+ add r7, r0, #0
+ ldr r0, [sp, #0x18]
+ bl MOD11_02230080
+ add r6, r0, #0
+ ldr r0, [sp, #0x18]
+ bl MOD11_022300CC
+ str r0, [sp, #0x20]
+ mov r0, #1
+ str r0, [sp]
+ str r0, [sp, #4]
+ ldr r0, _022543EC ; =0x00004E2F
+ add r3, r5, #0
+ add r0, r4, r0
+ str r0, [sp, #8]
+ add r0, r7, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ add r3, #0xc3
+ bl FUN_0200C00C
+ mov r0, #0x1b
+ str r0, [sp]
+ add r0, r5, #0
+ add r0, #0x2f
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _022543F0 ; =0x00004E2A
+ mov r1, #2
+ add r0, r4, r0
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x20]
+ add r2, r7, #0
+ add r3, r6, #0
+ bl FUN_0200C0DC
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _022543F4 ; =0x00004E27
+ add r3, r5, #0
+ add r0, r4, r0
+ str r0, [sp, #4]
+ add r0, r7, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ add r3, #0xcb
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _022543F4 ; =0x00004E27
+ add r5, #0xd3
+ add r0, r4, r0
+ str r0, [sp, #4]
+ add r0, r7, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ add r3, r5, #0
+ bl FUN_0200C13C
+ ldr r5, _022543F8 ; =0x0225E89C
+ add r3, sp, #0x24
+ mov r2, #6
+_022543A0:
+ ldmia r5!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _022543A0
+ ldr r0, [r5]
+ ldr r1, _022543EC ; =0x00004E2F
+ str r0, [r3]
+ add r0, r4, r1
+ str r0, [sp, #0x38]
+ sub r0, r1, #5
+ add r0, r4, r0
+ sub r1, #8
+ str r0, [sp, #0x3c]
+ add r0, r4, r1
+ str r0, [sp, #0x40]
+ str r0, [sp, #0x44]
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, sp, #0x24
+ bl FUN_0200C154
+ ldr r1, [sp, #0x1c]
+ mov r2, #6
+ add r3, r1, #0
+ mul r3, r2
+ ldr r1, _022543FC ; =0x0222D550
+ ldr r2, _02254400 ; =0x0222D552
+ ldrsh r1, [r1, r3]
+ ldrsh r2, [r2, r3]
+ add r4, r0, #0
+ bl FUN_0200C714
+ add r0, r4, #0
+ bl FUN_0200C5A8
+ add r0, r4, #0
+ add sp, #0x58
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022543EC: .word 0x00004E2F
+_022543F0: .word 0x00004E2A
+_022543F4: .word 0x00004E27
+_022543F8: .word 0x0225E89C
+_022543FC: .word 0x0222D550
+_02254400: .word 0x0222D552
+
+ thumb_func_start MOD11_02254404
+MOD11_02254404: ; 0x02254404
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xac
+ str r0, [sp]
+ ldr r0, [r3, #0x4c]
+ str r1, [sp, #4]
+ str r2, [sp, #8]
+ str r3, [sp, #0xc]
+ cmp r0, #0
+ bne _02254422
+ mov r0, #8
+ str r0, [sp, #0x84]
+ add r0, r3, #0
+ ldrh r0, [r0, #2]
+ str r0, [sp, #0x18]
+ b _0225442C
+_02254422:
+ mov r0, #0x3f
+ str r0, [sp, #0x84]
+ add r0, r3, #0
+ ldr r0, [r0, #0x50]
+ str r0, [sp, #0x18]
+_0225442C:
+ ldr r0, [sp]
+ bl MOD11_0222FF68
+ str r0, [sp, #0x20]
+ ldr r0, [sp]
+ bl MOD11_022300CC
+ str r0, [sp, #0x24]
+ ldr r0, [sp]
+ bl MOD11_02230078
+ add r5, sp, #0x1c
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0xc]
+ mov r4, #0
+ str r0, [sp, #0x14]
+ str r5, [sp, #0x10]
+ add r6, r5, #0
+ add r7, r0, #0
+_02254452:
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_022312D0
+ str r0, [r5, #0xc]
+ ldr r0, [sp, #0x14]
+ ldrh r1, [r0, #0x18]
+ ldr r0, [sp, #0x10]
+ strh r1, [r0, #0x34]
+ ldr r0, [sp, #0xc]
+ add r0, r0, r4
+ add r0, #0x20
+ ldrb r1, [r0]
+ add r0, r6, #0
+ add r0, #0x3c
+ strb r1, [r0]
+ ldr r0, [sp, #0xc]
+ add r0, r0, r4
+ add r0, #0x24
+ ldrb r1, [r0]
+ add r0, r6, #0
+ add r0, #0x40
+ strb r1, [r0]
+ ldr r0, [sp, #0xc]
+ add r0, r0, r4
+ add r0, #0x28
+ ldrb r1, [r0]
+ add r0, r6, #0
+ add r0, #0x44
+ strb r1, [r0]
+ ldr r0, [r7, #0x2c]
+ add r4, r4, #1
+ str r0, [r5, #0x48]
+ ldr r0, [r7, #0x3c]
+ add r6, r6, #1
+ str r0, [r5, #0x58]
+ ldr r0, [sp, #0x14]
+ add r5, r5, #4
+ add r0, r0, #2
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ add r7, r7, #4
+ add r0, r0, #2
+ str r0, [sp, #0x10]
+ cmp r4, #4
+ blt _02254452
+ ldr r0, [sp]
+ add r1, sp, #0x38
+ bl MOD11_02231504
+ ldr r0, [sp]
+ add r1, sp, #0x3c
+ bl MOD11_02231534
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ mov r2, #0x65
+ str r0, [sp, #0x4c]
+ ldr r1, [sp, #4]
+ lsl r2, r2, #2
+ ldrb r1, [r1, r2]
+ ldr r0, [sp]
+ bl MOD11_02230E88
+ str r0, [sp, #0xa0]
+ ldr r0, [sp]
+ bl MOD11_02231228
+ str r0, [sp, #0xa4]
+ ldr r0, [sp]
+ bl MOD11_02231230
+ str r0, [sp, #0xa8]
+ mov r0, #7
+ str r0, [sp, #0x88]
+ ldr r0, [sp]
+ bl MOD11_022302A8
+ add r0, r0, #3
+ str r0, [sp, #0x8c]
+ ldr r0, [sp]
+ bl MOD11_02230C68
+ add r4, r0, #0
+ ldr r0, [sp]
+ bl MOD11_022302A8
+ lsl r1, r0, #1
+ add r0, r0, r1
+ add r0, #0x9e
+ add r0, r4, r0
+ str r0, [sp, #0x90]
+ mov r0, #2
+ str r0, [sp, #0x94]
+ mov r0, #0
+ ldr r2, [sp, #0x18]
+ str r0, [sp, #0x98]
+ mov r0, #8
+ str r0, [sp, #0x9c]
+ lsl r2, r2, #0x10
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #0xc]
+ lsr r2, r2, #0x10
+ add r3, sp, #0x1c
+ bl FUN_02212048
+ add sp, #0xac
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0225452C
+MOD11_0225452C: ; 0x0225452C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r6, r2, #0
+ add r7, r1, #0
+ str r3, [r6]
+ str r0, [sp]
+ str r3, [r6, #4]
+ mov r4, #0
+ add r5, r6, #0
+ str r7, [sp, #0xc]
+ str r6, [sp, #8]
+ str r7, [sp, #4]
+_02254544:
+ ldr r0, [sp]
+ add r1, r4, #0
+ bl MOD11_022312D0
+ str r0, [r5, #8]
+ ldr r0, [sp, #0xc]
+ ldrh r1, [r0, #0x18]
+ ldr r0, [sp, #8]
+ strh r1, [r0, #0x28]
+ add r0, r7, r4
+ add r0, #0x20
+ ldrb r1, [r0]
+ add r0, r6, r4
+ add r0, #0x30
+ strb r1, [r0]
+ add r0, r7, r4
+ add r0, #0x24
+ ldrb r1, [r0]
+ add r0, r6, r4
+ add r0, #0x34
+ strb r1, [r0]
+ add r0, r7, r4
+ add r0, #0x28
+ ldrb r1, [r0]
+ add r0, r6, r4
+ add r0, #0x38
+ strb r1, [r0]
+ ldr r0, [sp, #4]
+ add r4, r4, #1
+ ldr r0, [r0, #0x2c]
+ str r0, [r5, #0x3c]
+ ldr r0, [sp, #0xc]
+ add r5, r5, #4
+ add r0, r0, #2
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #8]
+ add r0, r0, #2
+ str r0, [sp, #8]
+ ldr r0, [sp, #4]
+ add r0, r0, #4
+ str r0, [sp, #4]
+ cmp r4, #4
+ blt _02254544
+ add r1, r6, #0
+ ldr r0, [sp]
+ add r1, #0x4c
+ bl MOD11_02231504
+ add r6, #0x18
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_02231534
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022545B4
+MOD11_022545B4: ; 0x022545B4
+ push {r4, r5, r6, lr}
+ add r4, r0, #0
+ add r5, r1, #0
+ cmp r2, #0
+ bne _022545F2
+ add r0, sp, #0
+ ldrh r6, [r0, #0x10]
+ mov r1, #9
+ add r0, r6, #0
+ bl FUN_0206AB18
+ mov r1, #0x40
+ tst r0, r1
+ bne _022545D4
+ mov r0, #1
+ b _022545D6
+_022545D4:
+ mov r0, #0
+_022545D6:
+ strb r0, [r4]
+ add r0, r6, #0
+ mov r1, #9
+ bl FUN_0206AB18
+ mov r1, #0x80
+ tst r0, r1
+ beq _022545EC
+ mov r0, #1
+ strb r0, [r5]
+ pop {r4, r5, r6, pc}
+_022545EC:
+ mov r0, #0
+ strb r0, [r5]
+ pop {r4, r5, r6, pc}
+_022545F2:
+ sub r3, #0x12
+ cmp r3, #0x15
+ bhi _02254642
+ add r0, r3, r3
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02254604: ; jump table
+ .short _02254630 - _02254604 - 2 ; case 0
+ .short _02254630 - _02254604 - 2 ; case 1
+ .short _02254630 - _02254604 - 2 ; case 2
+ .short _02254630 - _02254604 - 2 ; case 3
+ .short _02254630 - _02254604 - 2 ; case 4
+ .short _02254642 - _02254604 - 2 ; case 5
+ .short _02254642 - _02254604 - 2 ; case 6
+ .short _02254642 - _02254604 - 2 ; case 7
+ .short _02254642 - _02254604 - 2 ; case 8
+ .short _02254642 - _02254604 - 2 ; case 9
+ .short _02254642 - _02254604 - 2 ; case 10
+ .short _02254642 - _02254604 - 2 ; case 11
+ .short _02254642 - _02254604 - 2 ; case 12
+ .short _02254630 - _02254604 - 2 ; case 13
+ .short _02254630 - _02254604 - 2 ; case 14
+ .short _02254642 - _02254604 - 2 ; case 15
+ .short _02254630 - _02254604 - 2 ; case 16
+ .short _02254630 - _02254604 - 2 ; case 17
+ .short _0225463A - _02254604 - 2 ; case 18
+ .short _02254630 - _02254604 - 2 ; case 19
+ .short _0225463A - _02254604 - 2 ; case 20
+ .short _02254630 - _02254604 - 2 ; case 21
+_02254630:
+ mov r0, #1
+ strb r0, [r4]
+ mov r0, #0
+ strb r0, [r5]
+ pop {r4, r5, r6, pc}
+_0225463A:
+ mov r0, #1
+ strb r0, [r4]
+ strb r0, [r5]
+ pop {r4, r5, r6, pc}
+_02254642:
+ mov r0, #0
+ strb r0, [r4]
+ strb r0, [r5]
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225464C
+MOD11_0225464C: ; 0x0225464C
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #0x66
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ bne _02254680
+ add r0, r1, #0
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _02254680
+ mov r1, #0xb4
+ add r0, r1, #0
+ add r0, #0xe8
+ strh r1, [r4, r0]
+ ldr r0, _02254684 ; =MOD11_022546B4
+ ldr r2, _02254688 ; =0x000003F2
+ add r1, r4, #0
+ bl FUN_0200CA44
+ mov r1, #0x66
+ lsl r1, r1, #2
+ str r0, [r4, r1]
+_02254680:
+ pop {r4, pc}
+ nop
+_02254684: .word MOD11_022546B4
+_02254688: .word 0x000003F2
+
+ thumb_func_start MOD11_0225468C
+MOD11_0225468C: ; 0x0225468C
+ push {r4, lr}
+ add r4, r0, #0
+ mov r0, #0x66
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _022546B2
+ bl FUN_0200CAB4
+ mov r0, #0x66
+ mov r2, #0
+ lsl r0, r0, #2
+ str r2, [r4, r0]
+ add r0, r0, #4
+ strh r2, [r4, r0]
+ ldr r0, [r4, #0x20]
+ mov r1, #4
+ bl FUN_02007558
+_022546B2:
+ pop {r4, pc}
+
+ thumb_func_start MOD11_022546B4
+MOD11_022546B4: ; 0x022546B4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ mov r1, #0x67
+ lsl r1, r1, #2
+ ldrh r0, [r4, r1]
+ add r0, #0x14
+ strh r0, [r4, r1]
+ add r0, r1, #0
+ ldrh r2, [r4, r1]
+ sub r0, #0x34
+ cmp r2, r0
+ blo _022546D4
+ add r0, r1, #0
+ sub r0, #0x34
+ sub r0, r2, r0
+ strh r0, [r4, r1]
+_022546D4:
+ mov r0, #0x67
+ lsl r0, r0, #2
+ ldrh r0, [r4, r0]
+ bl FUN_0201B93C
+ mov r2, #6
+ asr r1, r0, #0x1f
+ lsl r2, r2, #0xa
+ mov r3, #0
+ blx _ll_mul
+ add r2, r1, #0
+ mov r1, #4
+ add r5, r0, #0
+ ldr r0, [r4, #0x20]
+ mov r4, #0
+ lsl r3, r1, #9
+ add r3, r5, r3
+ adc r2, r4
+ lsl r2, r2, #0x14
+ lsr r3, r3, #0xc
+ orr r3, r2
+ asr r2, r3, #0xb
+ lsr r2, r2, #0x14
+ add r2, r3, r2
+ asr r2, r2, #0xc
+ bl FUN_02007558
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02254710
+MOD11_02254710: ; 0x02254710
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0
+ str r1, [sp]
+ str r2, [sp, #4]
+ add r6, r3, #0
+ bl MOD11_022300DC
+ add r4, r0, #0
+ add r0, r7, #0
+ bl MOD11_02230118
+ add r5, r0, #0
+ add r0, r7, #0
+ bl MOD11_02230124
+ add r7, r0, #0
+ add r0, sp, #0x10
+ ldrh r2, [r5]
+ ldrb r3, [r0, #0x10]
+ add r0, r2, #5
+ add r1, r0, r3
+ mov r0, #1
+ lsl r0, r0, #0xc
+ cmp r1, r0
+ bls _0225474A
+ strh r2, [r7]
+ mov r0, #0
+ strh r0, [r5]
+_0225474A:
+ ldr r1, [sp]
+ add r0, sp, #8
+ strb r1, [r0]
+ ldr r1, [sp, #4]
+ strb r1, [r0, #1]
+ add r1, sp, #0x10
+ ldrb r1, [r1, #0x10]
+ strh r1, [r0, #2]
+ add r1, sp, #8
+ mov r0, #0
+_0225475E:
+ ldrb r7, [r1, r0]
+ ldrh r2, [r5]
+ add r0, r0, #1
+ strb r7, [r4, r2]
+ ldrh r2, [r5]
+ add r2, r2, #1
+ strh r2, [r5]
+ cmp r0, #4
+ blo _0225475E
+ mov r0, #0
+ cmp r3, #0
+ ble _02254788
+_02254776:
+ ldrb r2, [r6, r0]
+ ldrh r1, [r5]
+ add r0, r0, #1
+ strb r2, [r4, r1]
+ ldrh r1, [r5]
+ add r1, r1, #1
+ strh r1, [r5]
+ cmp r0, r3
+ blt _02254776
+_02254788:
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0225478C
+MOD11_0225478C: ; 0x0225478C
+ push {r3, r4, r5, r6, r7, lr}
+ add r3, r1, #0
+ ldrb r6, [r3, #3]
+ ldrb r1, [r3]
+ ldrb r7, [r3, #2]
+ lsl r6, r6, #8
+ add r5, r0, #0
+ mov r2, #0
+ orr r6, r7
+ ldrb r4, [r3, #1]
+ cmp r1, #0
+ bne _022547D2
+ ldr r0, [r5, #0x30]
+ lsl r1, r4, #8
+ add r4, r0, r1
+ mov r0, #0x23
+ lsl r0, r0, #8
+ ldrb r0, [r4, r0]
+ cmp r0, #0
+ bne _0225481C
+ cmp r6, #0
+ ble _022547CE
+ mov r4, #0x23
+ lsl r4, r4, #8
+_022547BC:
+ add r0, r3, r2
+ ldr r7, [r5, #0x30]
+ ldrb r0, [r0, #4]
+ add r7, r1, r7
+ add r7, r2, r7
+ add r2, r2, #1
+ strb r0, [r7, r4]
+ cmp r2, r6
+ blt _022547BC
+_022547CE:
+ mov r2, #1
+ b _0225481C
+_022547D2:
+ cmp r1, #1
+ bne _022547FE
+ lsl r0, r4, #2
+ add r0, r5, r0
+ ldr r1, [r0, #0x34]
+ add r1, #0x94
+ ldrb r1, [r1]
+ cmp r1, #0
+ bne _0225481C
+ cmp r6, #0
+ ble _022547FA
+_022547E8:
+ add r1, r3, r2
+ ldrb r4, [r1, #4]
+ ldr r1, [r0, #0x34]
+ add r1, r1, r2
+ add r1, #0x94
+ add r2, r2, #1
+ strb r4, [r1]
+ cmp r2, r6
+ blt _022547E8
+_022547FA:
+ mov r2, #1
+ b _0225481C
+_022547FE:
+ cmp r1, #2
+ bne _0225481C
+ ldrb r7, [r3, #4]
+ ldrb r6, [r3, #5]
+ bl MOD11_02230DD4
+ cmp r0, #0
+ beq _0225481A
+ ldr r0, [r5, #0x30]
+ add r1, r6, #0
+ add r2, r4, #0
+ add r3, r7, #0
+ bl MOD11_02243340
+_0225481A:
+ mov r2, #1
+_0225481C:
+ add r0, r2, #0
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02254820
+MOD11_02254820: ; 0x02254820
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ bl MOD11_022300DC
+ add r4, r0, #0
+ add r0, r6, #0
+ bl MOD11_0223010C
+ add r5, r0, #0
+ add r0, r6, #0
+ bl MOD11_02230118
+ add r7, r0, #0
+ add r0, r6, #0
+ bl MOD11_02230124
+ ldrh r1, [r5]
+ ldrh r2, [r7]
+ cmp r1, r2
+ beq _02254876
+ ldrh r2, [r0]
+ cmp r1, r2
+ bne _02254854
+ mov r1, #0
+ strh r1, [r5]
+ strh r1, [r0]
+_02254854:
+ ldrh r1, [r5]
+ add r0, r6, #0
+ add r1, r4, r1
+ bl MOD11_0225478C
+ cmp r0, #1
+ bne _02254876
+ ldrh r0, [r5]
+ add r1, r0, #2
+ ldrb r2, [r4, r1]
+ add r1, r0, #3
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #8
+ orr r1, r2
+ add r1, r1, #4
+ add r0, r0, r1
+ strh r0, [r5]
+_02254876:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02254878
+MOD11_02254878: ; 0x02254878
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ str r1, [sp, #4]
+ ldr r1, [r5, #0x2c]
+ mov r0, #4
+ add r7, r2, #0
+ add r6, r3, #0
+ tst r0, r1
+ beq _022548C8
+ ldr r0, [sp, #4]
+ cmp r0, #1
+ bne _022548B2
+ mov r4, #0
+ bl FUN_02030F20
+ cmp r0, #0
+ ble _022548B2
+_0225489C:
+ ldrb r3, [r6]
+ ldr r0, [r5, #0x30]
+ add r1, r4, #0
+ add r2, r7, #0
+ bl MOD11_02243304
+ add r4, r4, #1
+ bl FUN_02030F20
+ cmp r4, r0
+ blt _0225489C
+_022548B2:
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x10]
+ ldr r1, [sp, #4]
+ add r2, r7, #0
+ str r0, [sp]
+ add r0, r5, #0
+ add r3, r6, #0
+ bl FUN_0206C0C8
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+_022548C8:
+ ldr r0, [sp, #4]
+ cmp r0, #1
+ bne _022548D8
+ ldrb r3, [r6]
+ ldr r0, [r5, #0x30]
+ mov r1, #0
+ bl MOD11_02243304
+_022548D8:
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x10]
+ ldr r1, [sp, #4]
+ add r2, r7, #0
+ str r0, [sp]
+ add r0, r5, #0
+ add r3, r6, #0
+ bl MOD11_02254710
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022548F0
+MOD11_022548F0: ; 0x022548F0
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #1
+ str r1, [sp, #4]
+ mov r3, #4
+ str r3, [sp]
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02254908
+MOD11_02254908: ; 0x02254908
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x48
+ add r7, r1, #0
+ mov r3, #2
+ add r2, sp, #0xc
+ strb r3, [r2]
+ mov r2, #0xc0
+ add r4, r7, #0
+ mul r4, r2
+ add r2, sp, #0xc
+ ldrb r2, [r2, #1]
+ mov r3, #3
+ add r6, r0, #0
+ str r2, [sp, #4]
+ bic r2, r3
+ str r2, [sp, #4]
+ ldr r2, [r6, #0x30]
+ add r3, r2, r4
+ ldr r2, _02254A04 ; =0x00002DBE
+ str r2, [sp, #8]
+ ldrb r2, [r3, r2]
+ lsl r2, r2, #0x1c
+ lsr r3, r2, #0x1c
+ mov r2, #3
+ and r3, r2
+ ldr r2, [sp, #4]
+ orr r3, r2
+ add r2, sp, #0xc
+ strb r3, [r2, #1]
+ ldrb r3, [r2, #1]
+ mov r2, #4
+ bic r3, r2
+ ldr r2, [r6, #0x30]
+ add r5, r2, r4
+ ldr r2, [sp, #8]
+ sub r2, #0x58
+ ldrb r2, [r5, r2]
+ lsl r2, r2, #0x1a
+ lsr r2, r2, #0x1f
+ lsl r2, r2, #0x1f
+ lsr r2, r2, #0x1d
+ orr r3, r2
+ add r2, sp, #0xc
+ strb r3, [r2, #1]
+ ldr r2, [r6, #0x30]
+ add r3, r2, r4
+ ldr r2, [sp, #8]
+ sub r2, #0x7e
+ ldrh r3, [r3, r2]
+ add r2, sp, #0xc
+ strh r3, [r2, #2]
+ ldr r2, [r6, #0x30]
+ add r3, r2, r4
+ ldr r2, [sp, #8]
+ sub r2, #0x16
+ str r2, [sp, #8]
+ ldr r2, [r3, r2]
+ str r2, [sp, #0x10]
+ bl MOD11_02230260
+ add r2, r0, #0
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ mov r3, #1
+ bl MOD11_0224ACAC
+ add r2, sp, #0xc
+ str r0, [sp, #0x14]
+ ldrb r0, [r2, #1]
+ mov r1, #0xf8
+ add r5, sp, #0xc
+ bic r0, r1
+ ldr r1, [r6, #0x30]
+ add r3, r1, r4
+ ldr r1, _02254A08 ; =0x00002D66
+ mov r4, #0
+ ldrb r1, [r3, r1]
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1b
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x18
+ orr r0, r1
+ strb r0, [r2, #1]
+_022549AE:
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ add r2, r4, #6
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0xc]
+ add r2, r4, #0
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ add r2, #0x1f
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x14]
+ add r2, r4, #0
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ add r2, #0x27
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x1c]
+ add r4, r4, #1
+ add r5, r5, #2
+ cmp r4, #4
+ blt _022549AE
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ mov r2, #0x2d
+ add r3, sp, #0x30
+ bl MOD11_02243420
+ mov r0, #0x3c
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ add r2, r7, #0
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x48
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02254A04: .word 0x00002DBE
+_02254A08: .word 0x00002D66
+
+ thumb_func_start MOD11_02254A0C
+MOD11_02254A0C: ; 0x02254A0C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x7c
+ add r7, r1, #0
+ mov r3, #3
+ add r2, sp, #8
+ strb r3, [r2]
+ mov r2, #0xc0
+ add r4, r7, #0
+ mul r4, r2
+ add r2, sp, #8
+ ldrb r5, [r2, #1]
+ mov r2, #3
+ add r6, r0, #0
+ bic r5, r2
+ ldr r2, [r6, #0x30]
+ add r3, r2, r4
+ ldr r2, _02254B34 ; =0x00002DBE
+ str r2, [sp, #4]
+ ldrb r2, [r3, r2]
+ lsl r2, r2, #0x1c
+ lsr r3, r2, #0x1c
+ mov r2, #3
+ and r2, r3
+ add r3, r5, #0
+ orr r3, r2
+ add r2, sp, #8
+ strb r3, [r2, #1]
+ ldrb r3, [r2, #1]
+ mov r2, #4
+ bic r3, r2
+ ldr r2, [r6, #0x30]
+ add r5, r2, r4
+ ldr r2, [sp, #4]
+ sub r2, #0x58
+ ldrb r2, [r5, r2]
+ lsl r2, r2, #0x1a
+ lsr r2, r2, #0x1f
+ lsl r2, r2, #0x1f
+ lsr r2, r2, #0x1d
+ orr r3, r2
+ add r2, sp, #8
+ strb r3, [r2, #1]
+ ldr r2, [r6, #0x30]
+ add r3, r2, r4
+ ldr r2, [sp, #4]
+ sub r2, #0x7e
+ ldrh r3, [r3, r2]
+ add r2, sp, #8
+ strh r3, [r2, #2]
+ ldr r2, [r6, #0x30]
+ add r3, r2, r4
+ ldr r2, [sp, #4]
+ sub r2, #0x16
+ str r2, [sp, #4]
+ ldr r2, [r3, r2]
+ str r2, [sp, #0xc]
+ bl MOD11_02230260
+ add r2, r0, #0
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ mov r3, #1
+ bl MOD11_0224ACAC
+ str r0, [sp, #0x10]
+ ldr r0, [r6, #0x30]
+ add r2, sp, #8
+ add r1, r0, r7
+ ldr r0, _02254B38 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ mov r1, #0xf8
+ str r0, [sp, #0x14]
+ ldrb r0, [r2, #1]
+ bic r0, r1
+ ldr r1, [r6, #0x30]
+ add r3, r1, r4
+ ldr r1, _02254B3C ; =0x00002D66
+ ldrb r3, [r3, r1]
+ add r1, #0x59
+ lsl r3, r3, #0x1b
+ lsr r3, r3, #0x1b
+ lsl r3, r3, #0x1b
+ lsr r3, r3, #0x18
+ orr r0, r3
+ strb r0, [r2, #1]
+ ldr r0, [r6, #0x30]
+ add r0, r0, r4
+ ldrb r0, [r0, r1]
+ add r1, r7, #0
+ str r0, [sp, #0x18]
+ add r0, r6, #0
+ bl MOD11_022302BC
+ ldr r1, [r6, #0x30]
+ ldr r2, [sp, #0x14]
+ add r1, r1, r0
+ ldr r0, _02254B38 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ add r1, r7, #0
+ str r0, [sp, #0x50]
+ add r0, r6, #0
+ bl MOD11_02230F6C
+ mov r4, #0
+ add r5, sp, #8
+_02254ADE:
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ add r2, r4, #6
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x18]
+ add r2, r4, #0
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ add r2, #0x1f
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x20]
+ add r2, r4, #0
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ add r2, #0x27
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x28]
+ add r4, r4, #1
+ add r5, r5, #2
+ cmp r4, #4
+ blt _02254ADE
+ ldr r0, [r6, #0x30]
+ add r1, r7, #0
+ mov r2, #0x2d
+ add r3, sp, #0x38
+ bl MOD11_02243420
+ mov r0, #0x74
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ add r2, r7, #0
+ add r3, sp, #8
+ bl MOD11_02254878
+ add sp, #0x7c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02254B34: .word 0x00002DBE
+_02254B38: .word 0x0000219C
+_02254B3C: .word 0x00002D66
+
+ thumb_func_start MOD11_02254B40
+MOD11_02254B40: ; 0x02254B40
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x84
+ add r7, r1, #0
+ add r4, r0, #0
+ mov r1, #4
+ add r6, sp, #0x10
+ strb r1, [r6]
+ mov r0, #0xc0
+ add r5, r7, #0
+ mul r5, r0
+ ldr r0, [r4, #0x30]
+ str r2, [sp, #4]
+ add r2, r0, r5
+ ldr r0, _02254D34 ; =0x00002DB0
+ str r3, [sp, #8]
+ ldr r3, [r2, r0]
+ lsl r1, r1, #0x13
+ tst r1, r3
+ ldrb r1, [r6, #1]
+ beq _02254B8A
+ mov r3, #3
+ bic r1, r3
+ add r3, r0, #0
+ add r3, #0x4a
+ ldrh r2, [r2, r3]
+ add r0, #0x34
+ lsl r2, r2, #0x18
+ lsr r3, r2, #0x18
+ mov r2, #3
+ and r2, r3
+ orr r1, r2
+ strb r1, [r6, #1]
+ ldr r1, [r4, #0x30]
+ add r1, r1, r5
+ ldr r0, [r1, r0]
+ str r0, [sp, #0x14]
+ b _02254BAA
+_02254B8A:
+ mov r3, #3
+ bic r1, r3
+ add r3, r0, #0
+ add r3, #0xe
+ ldrb r2, [r2, r3]
+ sub r0, #8
+ lsl r2, r2, #0x1c
+ lsr r3, r2, #0x1c
+ mov r2, #3
+ and r2, r3
+ orr r1, r2
+ strb r1, [r6, #1]
+ ldr r1, [r4, #0x30]
+ add r1, r1, r5
+ ldr r0, [r1, r0]
+ str r0, [sp, #0x14]
+_02254BAA:
+ mov r0, #0xc0
+ add r6, r7, #0
+ add r3, sp, #0x10
+ mul r6, r0
+ ldrb r0, [r3, #1]
+ mov r1, #4
+ bic r0, r1
+ ldr r1, [r4, #0x30]
+ add r2, r1, r6
+ ldr r1, _02254D38 ; =0x00002D66
+ ldrb r2, [r2, r1]
+ sub r1, #0x26
+ lsl r2, r2, #0x1a
+ lsr r2, r2, #0x1f
+ lsl r2, r2, #0x1f
+ lsr r2, r2, #0x1d
+ orr r0, r2
+ strb r0, [r3, #1]
+ ldr r0, [r4, #0x30]
+ add r0, r0, r6
+ ldrh r0, [r0, r1]
+ add r1, r7, #0
+ strh r0, [r3, #2]
+ add r0, r4, #0
+ bl MOD11_02230260
+ add r2, r0, #0
+ ldr r0, [r4, #0x30]
+ add r1, r7, #0
+ mov r3, #0
+ bl MOD11_0224ACAC
+ str r0, [sp, #0x18]
+ ldr r0, [r4, #0x30]
+ mov r2, #0xf8
+ add r1, r0, r7
+ ldr r0, _02254D3C ; =0x0000219C
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x10
+ ldrb r1, [r0, #1]
+ bic r1, r2
+ ldr r2, [r4, #0x30]
+ add r3, r2, r6
+ ldr r2, _02254D38 ; =0x00002D66
+ ldrb r3, [r3, r2]
+ lsl r3, r3, #0x1b
+ lsr r3, r3, #0x1b
+ lsl r3, r3, #0x1b
+ lsr r3, r3, #0x18
+ orr r1, r3
+ strb r1, [r0, #1]
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ beq _02254C1C
+ str r0, [sp, #0x20]
+ b _02254C26
+_02254C1C:
+ ldr r0, [r4, #0x30]
+ add r2, #0x59
+ add r0, r0, r5
+ ldrb r0, [r0, r2]
+ str r0, [sp, #0x20]
+_02254C26:
+ ldr r0, [sp, #8]
+ str r0, [sp, #0x24]
+ ldr r0, [r4, #0x30]
+ add r1, r0, r5
+ ldr r0, _02254D34 ; =0x00002DB0
+ ldr r1, [r1, r0]
+ mov r0, #1
+ lsl r0, r0, #0x18
+ tst r0, r1
+ beq _02254C3E
+ mov r0, #1
+ b _02254C40
+_02254C3E:
+ mov r0, #0
+_02254C40:
+ ldr r2, [sp, #0x1c]
+ str r0, [sp, #0x5c]
+ add r0, r4, #0
+ add r1, r7, #0
+ bl MOD11_02230F6C
+ mov r6, #0
+ add r5, sp, #0x10
+_02254C50:
+ ldr r0, [r4, #0x30]
+ add r1, r7, #0
+ add r2, r6, #6
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x18]
+ add r2, r6, #0
+ ldr r0, [r4, #0x30]
+ add r1, r7, #0
+ add r2, #0x1f
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x20]
+ add r2, r6, #0
+ ldr r0, [r4, #0x30]
+ add r1, r7, #0
+ add r2, #0x27
+ mov r3, #0
+ bl MOD11_02243420
+ strh r0, [r5, #0x28]
+ add r6, r6, #1
+ add r5, r5, #2
+ cmp r6, #4
+ blt _02254C50
+ ldr r0, [r4, #0x30]
+ add r1, r7, #0
+ mov r2, #0x2d
+ add r3, sp, #0x40
+ bl MOD11_02243420
+ add r3, sp, #0x10
+ mov r2, #0
+ mov ip, r2
+ str r3, [sp, #0xc]
+ add r5, r3, #0
+_02254C9C:
+ ldr r0, [r4, #0x30]
+ add r1, r0, r2
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r1, [r1, r0]
+ ldr r0, [sp, #0xc]
+ add r0, #0x50
+ strh r1, [r0]
+ ldr r0, [r4, #0x30]
+ add r1, r0, r2
+ ldr r0, _02254D38 ; =0x00002D66
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x1a
+ lsr r1, r0, #0x1f
+ add r0, r3, #0
+ add r0, #0x5c
+ strb r1, [r0]
+ ldr r0, [r4, #0x30]
+ add r1, r0, r2
+ ldr r0, _02254D38 ; =0x00002D66
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x1b
+ lsr r1, r0, #0x1b
+ add r0, r3, #0
+ add r0, #0x60
+ strb r1, [r0]
+ ldr r0, [r4, #0x30]
+ add r6, r0, r2
+ ldr r0, _02254D34 ; =0x00002DB0
+ ldr r1, [r6, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r1
+ beq _02254CF2
+ ldr r0, _02254D40 ; =0x00002DFA
+ ldrh r1, [r6, r0]
+ add r0, r3, #0
+ add r0, #0x58
+ strb r1, [r0]
+ ldr r0, [r4, #0x30]
+ add r1, r0, r2
+ ldr r0, _02254D44 ; =0x00002DE4
+ b _02254D06
+_02254CF2:
+ ldr r0, _02254D48 ; =0x00002DBE
+ ldrb r0, [r6, r0]
+ lsl r0, r0, #0x1c
+ lsr r1, r0, #0x1c
+ add r0, r3, #0
+ add r0, #0x58
+ strb r1, [r0]
+ ldr r0, [r4, #0x30]
+ add r1, r0, r2
+ ldr r0, _02254D4C ; =0x00002DA8
+_02254D06:
+ ldr r0, [r1, r0]
+ add r2, #0xc0
+ str r0, [r5, #0x64]
+ ldr r0, [sp, #0xc]
+ add r3, r3, #1
+ add r0, r0, #2
+ str r0, [sp, #0xc]
+ mov r0, ip
+ add r0, r0, #1
+ add r5, r5, #4
+ mov ip, r0
+ cmp r0, #4
+ blt _02254C9C
+ mov r0, #0x74
+ str r0, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, r7, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x84
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02254D34: .word 0x00002DB0
+_02254D38: .word 0x00002D66
+_02254D3C: .word 0x0000219C
+_02254D40: .word 0x00002DFA
+_02254D44: .word 0x00002DE4
+_02254D48: .word 0x00002DBE
+_02254D4C: .word 0x00002DA8
+
+ thumb_func_start MOD11_02254D50
+MOD11_02254D50: ; 0x02254D50
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x38
+ add r4, r1, #0
+ lsl r1, r2, #2
+ str r0, [sp, #4]
+ add r0, r0, r1
+ ldr r1, [r0, #0x34]
+ ldr r0, _02254E8C ; =0x00000195
+ str r2, [sp, #8]
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02254D6E
+ mov r2, #2
+ b _02254D70
+_02254D6E:
+ mov r2, #0
+_02254D70:
+ ldr r0, [sp, #8]
+ mov r1, #0xc0
+ add r5, r0, #0
+ ldr r0, [sp, #4]
+ mul r5, r1
+ ldr r0, [r0, #0x30]
+ ldr r3, _02254E90 ; =0x00002D66
+ add r0, r0, r5
+ ldrb r0, [r0, r3]
+ mov r1, #5
+ lsl r0, r0, #0x1b
+ lsr r7, r0, #0x1b
+ add r0, sp, #0xc
+ strb r1, [r0]
+ ldr r0, [sp, #4]
+ ldr r0, [r0, #0x30]
+ add r1, r0, r5
+ add r0, r3, #0
+ add r0, #0x4a
+ ldr r6, [r1, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r6
+ beq _02254DC4
+ add r0, r3, #0
+ add r0, #0x7e
+ ldr r0, [r1, r0]
+ lsl r2, r2, #0x18
+ str r0, [sp]
+ add r0, r3, #0
+ sub r0, #0x26
+ add r3, #0x94
+ ldrh r0, [r1, r0]
+ ldrh r1, [r1, r3]
+ lsl r3, r7, #0x18
+ lsr r2, r2, #0x18
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_02068E88
+ b _02254DE6
+_02254DC4:
+ add r0, r3, #0
+ add r0, #0x42
+ ldr r0, [r1, r0]
+ lsl r2, r2, #0x18
+ str r0, [sp]
+ add r0, r3, #0
+ sub r0, #0x26
+ add r3, #0x58
+ ldrh r0, [r1, r0]
+ ldrb r1, [r1, r3]
+ lsl r3, r7, #0x18
+ lsr r2, r2, #0x18
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ lsr r3, r3, #0x18
+ bl FUN_02068E88
+_02254DE6:
+ add r1, sp, #0xc
+ strb r0, [r1, #1]
+ ldr r0, [sp, #4]
+ ldr r1, _02254E94 ; =0x00002DBF
+ ldr r0, [r0, #0x30]
+ add r0, r0, r5
+ ldrb r2, [r0, r1]
+ add r0, sp, #0xc
+ sub r1, #0xf
+ strh r2, [r0, #2]
+ ldr r0, [sp, #4]
+ ldr r0, [r0, #0x30]
+ add r0, r0, r5
+ ldr r1, [r0, r1]
+ mov r0, #1
+ lsl r0, r0, #0x18
+ tst r0, r1
+ beq _02254E0E
+ mov r0, #1
+ b _02254E10
+_02254E0E:
+ mov r0, #0
+_02254E10:
+ str r0, [sp, #0x10]
+ mov r0, #0
+ mov ip, r0
+ add r7, sp, #0xc
+ ldr r0, _02254E90 ; =0x00002D66
+ add r3, r7, #0
+ add r2, r4, r0
+ add r0, #0x58
+ add r5, r7, #0
+ add r6, r4, r0
+_02254E24:
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r4, r0]
+ strh r0, [r7, #8]
+ ldrb r0, [r2]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ strb r0, [r3, #0x14]
+ ldrb r0, [r2]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ strb r0, [r3, #0x18]
+ ldr r0, _02254E98 ; =0x00002DB0
+ ldr r1, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r1
+ beq _02254E52
+ ldr r0, _02254E9C ; =0x00002DFA
+ ldrh r0, [r4, r0]
+ strb r0, [r3, #0x10]
+ ldr r0, _02254EA0 ; =0x00002DE4
+ b _02254E5C
+_02254E52:
+ ldrb r0, [r6]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ strb r0, [r3, #0x10]
+ ldr r0, _02254EA4 ; =0x00002DA8
+_02254E5C:
+ ldr r0, [r4, r0]
+ add r4, #0xc0
+ str r0, [r5, #0x1c]
+ mov r0, ip
+ add r0, r0, #1
+ add r7, r7, #2
+ add r2, #0xc0
+ add r3, r3, #1
+ add r5, r5, #4
+ add r6, #0xc0
+ mov ip, r0
+ cmp r0, #4
+ blt _02254E24
+ mov r0, #0x2c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #8]
+ mov r1, #1
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x38
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02254E8C: .word 0x00000195
+_02254E90: .word 0x00002D66
+_02254E94: .word 0x00002DBF
+_02254E98: .word 0x00002DB0
+_02254E9C: .word 0x00002DFA
+_02254EA0: .word 0x00002DE4
+_02254EA4: .word 0x00002DA8
+
+ thumb_func_start MOD11_02254EA8
+MOD11_02254EA8: ; 0x02254EA8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ add r7, r1, #0
+ add r4, r0, #0
+ lsl r0, r7, #2
+ add r0, r4, r0
+ ldr r1, [r0, #0x34]
+ ldr r0, _02254F58 ; =0x00000195
+ str r2, [sp, #4]
+ ldrb r1, [r1, r0]
+ mov r0, #1
+ tst r0, r1
+ beq _02254EC6
+ mov r2, #2
+ b _02254EC8
+_02254EC6:
+ mov r2, #0
+_02254EC8:
+ mov r0, #0xc0
+ add r6, r7, #0
+ mul r6, r0
+ ldr r0, [r4, #0x30]
+ ldr r5, _02254F5C ; =0x00002D66
+ add r0, r0, r6
+ ldrb r0, [r0, r5]
+ mov r1, #6
+ lsl r0, r0, #0x1b
+ lsr r3, r0, #0x1b
+ add r0, sp, #8
+ strb r1, [r0]
+ ldr r0, [r4, #0x30]
+ add r1, r0, r6
+ add r0, r5, #0
+ add r0, #0x4a
+ ldr r6, [r1, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r6
+ beq _02254F16
+ add r0, r5, #0
+ add r0, #0x7e
+ ldr r0, [r1, r0]
+ lsl r2, r2, #0x18
+ str r0, [sp]
+ add r0, r5, #0
+ sub r0, #0x26
+ add r5, #0x94
+ ldrh r0, [r1, r0]
+ ldrh r1, [r1, r5]
+ lsl r3, r3, #0x18
+ lsr r2, r2, #0x18
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_02068E88
+ b _02254F38
+_02254F16:
+ add r0, r5, #0
+ add r0, #0x42
+ ldr r0, [r1, r0]
+ lsl r2, r2, #0x18
+ str r0, [sp]
+ add r0, r5, #0
+ sub r0, #0x26
+ add r5, #0x58
+ ldrh r0, [r1, r0]
+ ldrb r1, [r1, r5]
+ lsl r3, r3, #0x18
+ lsr r2, r2, #0x18
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ lsr r3, r3, #0x18
+ bl FUN_02068E88
+_02254F38:
+ add r1, sp, #8
+ strb r0, [r1, #1]
+ ldr r0, [sp, #4]
+ add r1, sp, #8
+ strh r0, [r1, #2]
+ mov r0, #4
+ str r0, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ add r2, r7, #0
+ add r3, sp, #8
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02254F58: .word 0x00000195
+_02254F5C: .word 0x00002D66
+
+ thumb_func_start MOD11_02254F60
+MOD11_02254F60: ; 0x02254F60
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #7
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02254F7C
+MOD11_02254F7C: ; 0x02254F7C
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #8
+ add r3, sp, #4
+ strb r1, [r3]
+ mov r1, #0x34
+ mul r1, r2
+ add r1, r0, r1
+ add r1, #0xad
+ ldrb r1, [r1]
+ strh r1, [r3, #2]
+ add r1, r0, r2
+ add r1, #0xa8
+ ldrb r1, [r1]
+ strb r1, [r3, #1]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02254FAC
+MOD11_02254FAC: ; 0x02254FAC
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ mov r6, #9
+ add r3, sp, #4
+ strb r6, [r3]
+ add r5, r0, #0
+ strb r2, [r3, #1]
+ add r4, r1, #0
+ bl MOD11_022302BC
+ ldr r1, [r5, #0x30]
+ add r2, r4, #0
+ add r1, r1, r0
+ ldr r0, _02254FE0 ; =0x0000219C
+ add r3, sp, #4
+ ldrb r1, [r1, r0]
+ add r0, sp, #4
+ strh r1, [r0, #2]
+ mov r0, #4
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02254FE0: .word 0x0000219C
+
+ thumb_func_start MOD11_02254FE4
+MOD11_02254FE4: ; 0x02254FE4
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0xa
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255000
+MOD11_02255000: ; 0x02255000
+ push {r3, r4, lr}
+ sub sp, #0xc
+ add r3, r1, #0
+ mov r1, #0xb
+ add r4, sp, #4
+ strb r1, [r4]
+ mov r1, #0x34
+ mul r1, r3
+ add r1, r0, r1
+ add r1, #0xad
+ ldrb r1, [r1]
+ strh r1, [r4, #2]
+ add r1, r0, r3
+ add r1, #0xa8
+ ldrb r1, [r1]
+ strb r1, [r4, #1]
+ str r2, [sp, #8]
+ mov r1, #8
+ str r1, [sp]
+ add r2, r3, #0
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r3, r4, pc}
+
+ thumb_func_start MOD11_02255034
+MOD11_02255034: ; 0x02255034
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ add r5, r1, #0
+ ldr r1, _02255158 ; =0x0000219C
+ add r4, r2, #0
+ add r7, r5, r1
+ ldrb r2, [r7, r4]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ str r3, [sp, #8]
+ bl MOD11_02230014
+ add r6, r0, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ add r2, sp, #0x14
+ strb r0, [r2]
+ mov r0, #0xc0
+ add r6, r4, #0
+ mul r6, r0
+ ldr r1, _0225515C ; =0x00002D74
+ add r0, r5, r6
+ ldrb r3, [r0, r1]
+ strb r3, [r2, #1]
+ add r3, r1, #0
+ add r3, #0x18
+ ldr r3, [r0, r3]
+ add r1, #0x1c
+ strh r3, [r2, #2]
+ ldr r0, [r0, r1]
+ add r1, r4, #0
+ strh r0, [r2, #4]
+ ldrb r0, [r7, r4]
+ strb r0, [r2, #6]
+ add r0, r5, #0
+ bl MOD11_0224524C
+ add r1, sp, #0x14
+ ldrb r2, [r1, #7]
+ mov r3, #0x1f
+ lsl r0, r0, #0x18
+ bic r2, r3
+ lsr r3, r0, #0x18
+ mov r0, #0x1f
+ and r0, r3
+ orr r0, r2
+ strb r0, [r1, #7]
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r7, r5, r0
+ ldrh r0, [r7, r6]
+ cmp r0, #0x1d
+ beq _022550B6
+ cmp r0, #0x20
+ bne _022550D0
+_022550B6:
+ ldr r0, _02255160 ; =0x00002D54
+ add r1, r5, r6
+ ldr r0, [r1, r0]
+ lsr r0, r0, #0x1f
+ bne _022550D0
+ add r0, sp, #0x14
+ ldrb r1, [r0, #7]
+ mov r2, #0x60
+ bic r1, r2
+ mov r2, #0x40
+ orr r1, r2
+ strb r1, [r0, #7]
+ b _022550EA
+_022550D0:
+ add r3, sp, #0x14
+ ldrb r2, [r3, #7]
+ mov r0, #0x60
+ add r1, r5, r6
+ bic r2, r0
+ ldr r0, _02255164 ; =0x00002DBE
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x19
+ orr r0, r2
+ strb r0, [r3, #7]
+_022550EA:
+ ldr r0, [sp, #0x10]
+ ldr r1, [sp, #0xc]
+ bl FUN_02068758
+ mov r1, #0xc0
+ mul r1, r4
+ add r2, r5, r1
+ ldr r1, _02255168 ; =0x00002DA4
+ ldr r1, [r2, r1]
+ sub r0, r1, r0
+ ldr r1, [sp, #0xc]
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x10]
+ add r1, r1, #1
+ bl FUN_02068758
+ add r5, r0, #0
+ ldr r0, [sp, #0x10]
+ ldr r1, [sp, #0xc]
+ bl FUN_02068758
+ sub r0, r5, r0
+ str r0, [sp, #0x20]
+ ldrh r1, [r7, r6]
+ ldr r0, [sp, #4]
+ bl MOD11_02231668
+ add r3, sp, #0x14
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1f
+ ldrb r1, [r3, #7]
+ mov r2, #0x80
+ lsr r0, r0, #0x18
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r3, #7]
+ ldr r0, [sp, #4]
+ bl MOD11_02230E00
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #8]
+ add r1, sp, #0x14
+ strb r0, [r1, #0x14]
+ mov r0, #0x18
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #0x14
+ bl MOD11_02254878
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02255158: .word 0x0000219C
+_0225515C: .word 0x00002D74
+_02255160: .word 0x00002D54
+_02255164: .word 0x00002DBE
+_02255168: .word 0x00002DA4
+
+ thumb_func_start MOD11_0225516C
+MOD11_0225516C: ; 0x0225516C
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0xd
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255188
+MOD11_02255188: ; 0x02255188
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x54
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ str r2, [sp, #0xc]
+ mov r0, #0
+ add r1, sp, #0x28
+ mov r2, #0x2c
+ add r6, r3, #0
+ blx MIi_CpuClearFast
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF78
+ ldr r1, [sp, #0xc]
+ bl MOD11_02243400
+ mov r5, #0
+ ldr r0, [sp, #4]
+ add r4, r5, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _022551D8
+_022551B8:
+ ldr r0, [sp, #8]
+ add r1, r4, #0
+ bl MOD11_0224AD04
+ cmp r0, #0
+ bne _022551CC
+ add r0, r4, #0
+ bl FUN_0206A92C
+ orr r5, r0
+_022551CC:
+ ldr r0, [sp, #4]
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _022551B8
+_022551D8:
+ mov r1, #0xe
+ add r0, sp, #0x28
+ strb r1, [r0]
+ strb r6, [r0, #1]
+ ldr r1, _022554F8 ; =0x00003108
+ ldr r0, [sp, #8]
+ ldrb r0, [r0, r1]
+ add r1, r0, #0
+ orr r1, r5
+ add r0, sp, #0x48
+ strb r1, [r0, #9]
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ mov r1, #2
+ str r0, [sp, #0x20]
+ tst r0, r1
+ beq _0225520E
+ ldr r0, [sp, #0x20]
+ mov r1, #8
+ tst r0, r1
+ bne _0225520E
+ ldr r0, [sp, #0xc]
+ mov r1, #1
+ add r4, r0, #0
+ and r4, r1
+ b _02255210
+_0225520E:
+ ldr r4, [sp, #0xc]
+_02255210:
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_0222FF88
+ str r0, [sp, #0x24]
+ mov r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _022552A6
+ mov r0, #6
+ add r1, r4, #0
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r5, sp, #0x28
+ add r7, r0, r1
+ mov r1, #0xa9
+ ldr r0, [sp, #0x20]
+ lsl r1, r1, #2
+ and r0, r1
+ str r0, [sp, #0x1c]
+_0225523A:
+ ldr r1, _022554FC ; =0x0000312C
+ ldr r0, [sp, #0x24]
+ ldrb r1, [r7, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r4, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02255298
+ ldr r1, _02255500 ; =0x000001EE
+ cmp r0, r1
+ beq _02255298
+ add r0, r4, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02255280
+ add r0, r4, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0225527A
+ mov r0, #3
+ strb r0, [r5, #8]
+ b _02255284
+_0225527A:
+ mov r0, #1
+ strb r0, [r5, #8]
+ b _02255284
+_02255280:
+ mov r0, #2
+ strb r0, [r5, #8]
+_02255284:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _0225528E
+ mov r0, #0
+ b _02255294
+_0225528E:
+ add r0, r4, #0
+ bl FUN_02068698
+_02255294:
+ strb r0, [r5, #2]
+ add r5, r5, #1
+_02255298:
+ ldr r0, [sp, #0x24]
+ add r7, r7, #1
+ add r6, r6, #1
+ bl FUN_0206B9AC
+ cmp r6, r0
+ blt _0225523A
+_022552A6:
+ ldr r0, [sp, #0x20]
+ mov r1, #0xc
+ and r0, r1
+ cmp r0, #0xc
+ beq _022552C4
+ ldr r0, [sp, #0x20]
+ mov r1, #0x10
+ tst r0, r1
+ bne _022552C4
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x4b
+ beq _022552C4
+ cmp r0, #0xcb
+ beq _022552C4
+ b _022553FC
+_022552C4:
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _022552DA
+ ldr r0, [sp, #4]
+ mov r1, #2
+ bl MOD11_0223022C
+ b _022552E2
+_022552DA:
+ ldr r0, [sp, #4]
+ mov r1, #3
+ bl MOD11_0223022C
+_022552E2:
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_0222FF88
+ str r0, [sp, #0x10]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _0225535E
+ add r1, r4, #0
+ mov r0, #6
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r4, sp, #0x28
+ add r6, r0, r1
+_02255304:
+ ldr r1, _022554FC ; =0x0000312C
+ ldr r0, [sp, #0x10]
+ ldrb r1, [r6, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r7, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02255350
+ ldr r1, _02255500 ; =0x000001EE
+ cmp r0, r1
+ beq _02255350
+ add r0, r7, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0225534A
+ add r0, r7, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02255344
+ mov r0, #3
+ strb r0, [r4, #0xe]
+ b _0225534E
+_02255344:
+ mov r0, #1
+ strb r0, [r4, #0xe]
+ b _0225534E
+_0225534A:
+ mov r0, #2
+ strb r0, [r4, #0xe]
+_0225534E:
+ add r4, r4, #1
+_02255350:
+ ldr r0, [sp, #0x10]
+ add r6, r6, #1
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _02255304
+_0225535E:
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0xc]
+ bl MOD11_02230270
+ cmp r0, #0
+ beq _02255374
+ ldr r0, [sp, #4]
+ mov r1, #4
+ bl MOD11_0223022C
+ b _0225537C
+_02255374:
+ ldr r0, [sp, #4]
+ mov r1, #5
+ bl MOD11_0223022C
+_0225537C:
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_0222FF88
+ str r0, [sp, #0x14]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02255482
+ add r1, r4, #0
+ mov r0, #6
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r4, sp, #0x28
+ add r6, r0, r1
+ add r4, #3
+_022553A0:
+ ldr r1, _022554FC ; =0x0000312C
+ ldr r0, [sp, #0x14]
+ ldrb r1, [r6, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r7, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022553EC
+ ldr r1, _02255500 ; =0x000001EE
+ cmp r0, r1
+ beq _022553EC
+ add r0, r7, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022553E6
+ add r0, r7, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _022553E0
+ mov r0, #3
+ strb r0, [r4, #0xe]
+ b _022553EA
+_022553E0:
+ mov r0, #1
+ strb r0, [r4, #0xe]
+ b _022553EA
+_022553E6:
+ mov r0, #2
+ strb r0, [r4, #0xe]
+_022553EA:
+ add r4, r4, #1
+_022553EC:
+ ldr r0, [sp, #0x14]
+ add r6, r6, #1
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _022553A0
+ b _02255482
+_022553FC:
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #0xc]
+ mov r2, #2
+ bl MOD11_02230308
+ add r4, r0, #0
+ ldr r0, [sp, #4]
+ add r1, r4, #0
+ bl MOD11_0222FF88
+ str r0, [sp, #0x18]
+ mov r5, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02255482
+ add r1, r4, #0
+ mov r0, #6
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r4, sp, #0x28
+ add r6, r0, r1
+_02255428:
+ ldr r1, _022554FC ; =0x0000312C
+ ldr r0, [sp, #0x18]
+ ldrb r1, [r6, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ add r7, r0, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02255474
+ ldr r1, _02255500 ; =0x000001EE
+ cmp r0, r1
+ beq _02255474
+ add r0, r7, #0
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _0225546E
+ add r0, r7, #0
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02255468
+ mov r0, #3
+ strb r0, [r4, #0xe]
+ b _02255472
+_02255468:
+ mov r0, #1
+ strb r0, [r4, #0xe]
+ b _02255472
+_0225546E:
+ mov r0, #2
+ strb r0, [r4, #0xe]
+_02255472:
+ add r4, r4, #1
+_02255474:
+ ldr r0, [sp, #0x18]
+ add r6, r6, #1
+ add r5, r5, #1
+ bl FUN_0206B9AC
+ cmp r5, r0
+ blt _02255428
+_02255482:
+ mov r5, #0
+ add r6, sp, #0x28
+ add r4, r6, #0
+ add r7, r5, #0
+_0225548A:
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #0xc]
+ add r2, r5, #6
+ add r3, r7, #0
+ bl MOD11_02243420
+ strh r0, [r6, #0x14]
+ add r2, r5, #0
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #0xc]
+ add r2, #0x1f
+ mov r3, #0
+ bl MOD11_02243420
+ strb r0, [r4, #0x1c]
+ add r2, r5, #0
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #0xc]
+ add r2, #0x27
+ mov r3, #0
+ bl MOD11_02243420
+ add r1, r4, #0
+ add r1, #0x20
+ add r5, r5, #1
+ strb r0, [r1]
+ add r6, r6, #2
+ add r4, r4, #1
+ cmp r5, #4
+ blt _0225548A
+ ldr r0, [sp, #0xc]
+ mov r1, #0xc0
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r3, sp, #0x28
+ add r0, r0, r1
+ ldr r1, _02255504 ; =0x00002D8C
+ ldr r2, [r0, r1]
+ strh r2, [r3, #0x24]
+ add r2, r1, #4
+ ldr r2, [r0, r2]
+ strh r2, [r3, #0x26]
+ mov r2, #0x24
+ ldrsh r2, [r3, r2]
+ cmp r2, #0
+ beq _0225550E
+ add r1, #0x20
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ add r0, sp, #0x48
+ beq _02255508
+ mov r1, #3
+ strb r1, [r0, #8]
+ b _02255514
+ nop
+_022554F8: .word 0x00003108
+_022554FC: .word 0x0000312C
+_02255500: .word 0x000001EE
+_02255504: .word 0x00002D8C
+_02255508:
+ mov r1, #1
+ strb r1, [r0, #8]
+ b _02255514
+_0225550E:
+ mov r1, #2
+ add r0, sp, #0x48
+ strb r1, [r0, #8]
+_02255514:
+ mov r0, #0x2c
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0xc]
+ mov r1, #1
+ add r3, sp, #0x28
+ bl MOD11_02254878
+ add sp, #0x54
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02255528
+MOD11_02255528: ; 0x02255528
+ push {r0, r1, r2, r3}
+ push {r3, lr}
+ add r2, r1, #0
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .align 2, 0
+
+ thumb_func_start MOD11_02255544
+MOD11_02255544: ; 0x02255544
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ str r2, [sp, #0xc]
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ bl MOD11_0222FF78
+ ldr r1, [sp, #0xc]
+ bl MOD11_02243400
+ mov r0, #0xf
+ add r2, sp, #0x14
+ strb r0, [r2]
+ add r7, sp, #0x14
+ ldr r1, [sp, #8]
+ ldr r0, [sp, #0xc]
+ add r5, r7, #0
+ add r1, r1, r0
+ ldr r0, _022555D4 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ mov r1, #0xc0
+ strb r0, [r2, #1]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0xc]
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r6, r0, r1
+ add r4, r6, #0
+_0225557E:
+ ldr r0, _022555D8 ; =0x00002D4C
+ ldr r1, _022555DC ; =0x00002D70
+ ldrh r0, [r6, r0]
+ strh r0, [r7, #4]
+ ldr r0, _022555E0 ; =0x00002D6C
+ ldrb r0, [r4, r0]
+ strb r0, [r5, #0xc]
+ ldr r0, _022555D8 ; =0x00002D4C
+ ldrb r1, [r4, r1]
+ ldrh r0, [r6, r0]
+ bl FUN_0206AB30
+ strb r0, [r5, #0x10]
+ ldr r0, [sp, #0x10]
+ add r6, r6, #2
+ add r0, r0, #1
+ add r7, r7, #2
+ add r4, r4, #1
+ add r5, r5, #1
+ str r0, [sp, #0x10]
+ cmp r0, #4
+ blt _0225557E
+ mov r0, #0
+ mvn r0, r0
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #8]
+ ldr r2, [sp, #0xc]
+ mov r3, #0
+ bl MOD11_02245D38
+ add r1, sp, #0x14
+ strh r0, [r1, #2]
+ mov r0, #0x14
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0xc]
+ mov r1, #1
+ add r3, sp, #0x14
+ bl MOD11_02254878
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_022555D4: .word 0x0000219C
+_022555D8: .word 0x00002D4C
+_022555DC: .word 0x00002D70
+_022555E0: .word 0x00002D6C
+
+ thumb_func_start MOD11_022555E4
+MOD11_022555E4: ; 0x022555E4
+ push {r0, r1, r2, r3}
+ push {r3, lr}
+ add r2, r1, #0
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .align 2, 0
+
+ thumb_func_start MOD11_02255600
+MOD11_02255600: ; 0x02255600
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x40
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ add r0, r1, #0
+ add r1, r3, #0
+ add r4, r2, #0
+ str r3, [sp, #0xc]
+ bl MOD11_02243400
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ mov r2, #0x10
+ add r1, sp, #0x1c
+ strb r2, [r1]
+ strh r4, [r1, #2]
+ mov r1, #2
+ add r2, r0, #0
+ and r2, r1
+ beq _0225563A
+ mov r1, #8
+ tst r0, r1
+ bne _0225563A
+ cmp r2, #0
+ beq _02255642
+ ldr r0, [sp, #0xc]
+ cmp r0, #2
+ blt _02255642
+_0225563A:
+ mov r1, #1
+ add r0, sp, #0x1c
+ strb r1, [r0, #1]
+ b _02255648
+_02255642:
+ mov r1, #0
+ add r0, sp, #0x1c
+ strb r1, [r0, #1]
+_02255648:
+ ldr r2, [sp, #8]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ ldr r1, _0225570C ; =0x00002D54
+ add r0, r2, #0
+ add r7, r0, r1
+ add r1, #0x6a
+ add r5, r0, r1
+ mov r0, #3
+ add r4, sp, #0x20
+ str r0, [sp, #0x14]
+ str r0, [sp, #0x10]
+ mov r0, #4
+ add r3, sp, #0x1c
+ add r4, #1
+ mov ip, r0
+_02255668:
+ ldr r0, _02255710 ; =0x00002D8C
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _022556D6
+ strh r0, [r3, #8]
+ ldr r0, _02255714 ; =0x00002D90
+ ldr r0, [r2, r0]
+ strh r0, [r3, #0xa]
+ ldrb r1, [r4]
+ mov r0, #4
+ orr r0, r1
+ strb r0, [r4]
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r0, [r2, r0]
+ cmp r0, #0x1d
+ beq _0225568E
+ cmp r0, #0x20
+ bne _022556A2
+_0225568E:
+ ldr r0, [r7]
+ lsr r0, r0, #0x1f
+ bne _022556A2
+ ldrb r0, [r4]
+ ldr r1, [sp, #0x10]
+ bic r0, r1
+ mov r1, #2
+ orr r0, r1
+ strb r0, [r4]
+ b _022556B6
+_022556A2:
+ ldrb r6, [r4]
+ ldr r0, [sp, #0x14]
+ bic r6, r0
+ ldrb r0, [r5]
+ lsl r0, r0, #0x1c
+ lsr r1, r0, #0x1c
+ mov r0, #3
+ and r0, r1
+ orr r0, r6
+ strb r0, [r4]
+_022556B6:
+ ldr r1, [sp, #8]
+ ldr r0, [sp, #0x18]
+ add r1, r1, r0
+ ldr r0, _02255718 ; =0x0000219C
+ ldrb r0, [r1, r0]
+ strb r0, [r3, #4]
+ ldr r0, _0225571C ; =0x00002DAC
+ ldr r0, [r2, r0]
+ cmp r0, #0
+ beq _022556D0
+ mov r0, #3
+ strb r0, [r3, #6]
+ b _022556E2
+_022556D0:
+ mov r0, #1
+ strb r0, [r3, #6]
+ b _022556E2
+_022556D6:
+ ldrb r1, [r4]
+ mov r0, ip
+ bic r1, r0
+ strb r1, [r4]
+ mov r0, #2
+ strb r0, [r3, #6]
+_022556E2:
+ ldr r0, [sp, #0x18]
+ add r2, #0xc0
+ add r0, r0, #1
+ add r3, #8
+ add r4, #8
+ add r7, #0xc0
+ add r5, #0xc0
+ str r0, [sp, #0x18]
+ cmp r0, #4
+ blt _02255668
+ mov r0, #0x24
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0xc]
+ mov r1, #1
+ add r3, sp, #0x1c
+ bl MOD11_02254878
+ add sp, #0x40
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225570C: .word 0x00002D54
+_02255710: .word 0x00002D8C
+_02255714: .word 0x00002D90
+_02255718: .word 0x0000219C
+_0225571C: .word 0x00002DAC
+
+ thumb_func_start MOD11_02255720
+MOD11_02255720: ; 0x02255720
+ push {r0, r1, r2, r3}
+ push {r3, lr}
+ add r2, r1, #0
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .align 2, 0
+
+ thumb_func_start MOD11_0225573C
+MOD11_0225573C: ; 0x0225573C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x34
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ add r0, r1, #0
+ add r1, r2, #0
+ str r2, [sp, #0xc]
+ bl MOD11_02243400
+ add r6, sp, #0x10
+ mov r1, #0x11
+ add r0, sp, #0x10
+ strb r1, [r0]
+ mov r0, #0
+ ldr r4, [sp, #8]
+ mov ip, r0
+ ldr r1, _022558B0 ; =0x00002DCC
+ add r0, r4, #0
+ add r7, r0, r1
+ ldr r0, _022558B4 ; =0x0000312C
+ add r5, r6, #0
+_02255766:
+ ldr r2, [sp, #8]
+ mov r1, ip
+ add r2, r2, r1
+ ldr r1, _022558B8 ; =0x0000219C
+ mov r3, #0
+ ldrb r1, [r2, r1]
+ strb r1, [r6, #4]
+_02255774:
+ add r1, r4, r3
+ ldrb r2, [r1, r0]
+ add r1, r5, r3
+ add r3, r3, #1
+ strb r2, [r1, #8]
+ cmp r3, #6
+ blt _02255774
+ ldr r1, [r7]
+ add r2, r6, #0
+ lsl r1, r1, #0xa
+ lsr r1, r1, #0x1d
+ add r2, #0x20
+ strb r1, [r2]
+ mov r1, ip
+ add r1, r1, #1
+ add r6, r6, #1
+ add r4, r4, #6
+ add r5, r5, #6
+ add r7, #0xc0
+ mov ip, r1
+ cmp r1, #4
+ blt _02255766
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ cmp r0, #0x4a
+ bne _02255852
+ mov r0, #1
+ bl FUN_0206A92C
+ ldr r2, _022558BC ; =0x00003108
+ ldr r1, [sp, #8]
+ ldrb r1, [r1, r2]
+ tst r0, r1
+ bne _022557D8
+ mov r0, #3
+ bl FUN_0206A92C
+ ldr r2, _022558BC ; =0x00003108
+ ldr r1, [sp, #8]
+ ldrb r1, [r1, r2]
+ tst r0, r1
+ bne _022557D8
+ mov r1, #1
+ add r0, sp, #0x10
+ strb r1, [r0, #1]
+ mov r1, #0
+ strb r1, [r0, #2]
+ strb r1, [r0, #3]
+ b _0225589C
+_022557D8:
+ mov r0, #1
+ bl FUN_0206A92C
+ ldr r2, _022558BC ; =0x00003108
+ ldr r1, [sp, #8]
+ add r3, sp, #0x10
+ ldrb r1, [r1, r2]
+ tst r0, r1
+ bne _0225581E
+ mov r0, #0
+ mov r2, #0xba
+ ldr r1, [sp, #8]
+ strb r0, [r3, #1]
+ lsl r2, r2, #6
+ ldr r4, [r1, r2]
+ ldr r1, _022558C0 ; =0x200400C0
+ tst r1, r4
+ beq _02255804
+ mov r1, #1
+ strb r1, [r3, #2]
+ strb r0, [r3, #3]
+ b _0225589C
+_02255804:
+ ldr r1, [sp, #8]
+ sub r2, #0x10
+ ldr r2, [r1, r2]
+ mov r1, #1
+ lsl r1, r1, #0x18
+ tst r1, r2
+ strb r0, [r3, #2]
+ beq _0225581A
+ mov r0, #1
+ strb r0, [r3, #3]
+ b _0225589C
+_0225581A:
+ strb r0, [r3, #3]
+ b _0225589C
+_0225581E:
+ mov r0, #0
+ mov r2, #3
+ ldr r1, [sp, #8]
+ strb r0, [r3, #1]
+ lsl r2, r2, #0xc
+ ldr r4, [r1, r2]
+ ldr r1, _022558C0 ; =0x200400C0
+ tst r1, r4
+ beq _02255838
+ mov r1, #1
+ strb r1, [r3, #2]
+ strb r0, [r3, #3]
+ b _0225589C
+_02255838:
+ ldr r1, [sp, #8]
+ sub r2, #0x10
+ ldr r2, [r1, r2]
+ mov r1, #1
+ lsl r1, r1, #0x18
+ tst r1, r2
+ strb r0, [r3, #2]
+ beq _0225584E
+ mov r0, #1
+ strb r0, [r3, #3]
+ b _0225589C
+_0225584E:
+ strb r0, [r3, #3]
+ b _0225589C
+_02255852:
+ ldr r0, [sp, #4]
+ bl MOD11_0222FF74
+ cmp r0, #0
+ bne _02255892
+ mov r2, #0xba
+ mov r0, #0
+ add r3, sp, #0x10
+ ldr r1, [sp, #8]
+ strb r0, [r3, #1]
+ lsl r2, r2, #6
+ ldr r4, [r1, r2]
+ ldr r1, _022558C0 ; =0x200400C0
+ tst r1, r4
+ beq _02255878
+ mov r1, #1
+ strb r1, [r3, #2]
+ strb r0, [r3, #3]
+ b _0225589C
+_02255878:
+ ldr r1, [sp, #8]
+ sub r2, #0x10
+ ldr r2, [r1, r2]
+ mov r1, #1
+ lsl r1, r1, #0x18
+ tst r1, r2
+ strb r0, [r3, #2]
+ beq _0225588E
+ mov r0, #1
+ strb r0, [r3, #3]
+ b _0225589C
+_0225588E:
+ strb r0, [r3, #3]
+ b _0225589C
+_02255892:
+ mov r1, #0
+ add r0, sp, #0x10
+ strb r1, [r0, #1]
+ strb r1, [r0, #2]
+ strb r1, [r0, #3]
+_0225589C:
+ mov r0, #0x24
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0xc]
+ mov r1, #1
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x34
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_022558B0: .word 0x00002DCC
+_022558B4: .word 0x0000312C
+_022558B8: .word 0x0000219C
+_022558BC: .word 0x00003108
+_022558C0: .word 0x200400C0
+
+ thumb_func_start MOD11_022558C4
+MOD11_022558C4: ; 0x022558C4
+ push {r0, r1, r2, r3}
+ push {r3, lr}
+ add r2, r1, #0
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .align 2, 0
+
+ thumb_func_start MOD11_022558E0
+MOD11_022558E0: ; 0x022558E0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x38
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ add r0, r1, #0
+ add r1, r2, #0
+ str r2, [sp, #0xc]
+ add r4, r3, #0
+ bl MOD11_02243400
+ mov r0, #0x12
+ add r1, sp, #0x10
+ strb r0, [r1]
+ ldr r0, [sp, #0xc]
+ add r7, sp, #0x10
+ strb r0, [r1, #1]
+ ldr r0, [sp, #0x50]
+ strb r4, [r1, #2]
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0x54]
+ ldr r5, [sp, #8]
+ strb r0, [r1, #3]
+ ldr r1, _02255958 ; =0x00003108
+ ldr r0, [sp, #8]
+ mov r3, #0
+ ldrb r1, [r0, r1]
+ add r0, sp, #0x30
+ add r6, r7, #0
+ strb r1, [r0, #4]
+ ldr r0, _0225595C ; =0x0000312C
+_0225591C:
+ ldr r1, [sp, #8]
+ mov r4, #0
+ add r2, r1, r3
+ ldr r1, _02255960 ; =0x0000219C
+ ldrb r1, [r2, r1]
+ strb r1, [r7, #4]
+_02255928:
+ add r1, r5, r4
+ ldrb r2, [r1, r0]
+ add r1, r6, r4
+ add r4, r4, #1
+ strb r2, [r1, #8]
+ cmp r4, #6
+ blt _02255928
+ add r3, r3, #1
+ add r7, r7, #1
+ add r5, r5, #6
+ add r6, r6, #6
+ cmp r3, #4
+ blt _0225591C
+ mov r0, #0x28
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0xc]
+ mov r1, #1
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x38
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02255958: .word 0x00003108
+_0225595C: .word 0x0000312C
+_02255960: .word 0x0000219C
+
+ thumb_func_start MOD11_02255964
+MOD11_02255964: ; 0x02255964
+ push {r0, r1, r2, r3}
+ push {r3, lr}
+ add r2, r1, #0
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .align 2, 0
+
+ thumb_func_start MOD11_02255980
+MOD11_02255980: ; 0x02255980
+ push {r4, r5, r6, lr}
+ sub sp, #0x10
+ add r5, r2, #0
+ add r6, r0, #0
+ add r0, r1, #0
+ add r1, r5, #0
+ add r4, r3, #0
+ bl MOD11_02243400
+ mov r1, #0x13
+ add r0, sp, #4
+ strb r1, [r0]
+ ldr r1, [sp, #0x20]
+ strh r4, [r0, #2]
+ strb r1, [r0, #1]
+ ldr r0, [sp, #0x24]
+ mov r1, #1
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x28]
+ add r2, r5, #0
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ str r0, [sp]
+ add r0, r6, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0x10
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022559BC
+MOD11_022559BC: ; 0x022559BC
+ push {r4, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x14
+ add r3, sp, #4
+ strb r1, [r3]
+ ldr r1, [r2, #0x64]
+ add r4, r2, r1
+ ldr r1, _022559EC ; =0x0000219C
+ ldrb r1, [r4, r1]
+ strb r1, [r3, #1]
+ ldr r1, _022559F0 ; =0x00003044
+ ldr r1, [r2, r1]
+ strh r1, [r3, #2]
+ mov r1, #4
+ str r1, [sp]
+ ldr r2, [r2, #0x64]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, pc}
+ nop
+_022559EC: .word 0x0000219C
+_022559F0: .word 0x00003044
+
+ thumb_func_start MOD11_022559F4
+MOD11_022559F4: ; 0x022559F4
+ push {r3, r4, lr}
+ sub sp, #4
+ add r4, r1, #0
+ add r3, r2, #0
+ mov r1, #0x15
+ strb r1, [r3]
+ mov r1, #0x24
+ str r1, [sp]
+ ldr r2, [r4, #0x64]
+ mov r1, #1
+ bl MOD11_02254878
+ add sp, #4
+ pop {r3, r4, pc}
+
+ thumb_func_start MOD11_02255A10
+MOD11_02255A10: ; 0x02255A10
+ push {r4, r5, r6, lr}
+ sub sp, #0x68
+ mov r3, #0
+ add r4, r1, #0
+ str r3, [sp]
+ ldr r6, [r4, #0x64]
+ add r5, r0, #0
+ str r6, [sp, #4]
+ ldr r6, [r4, #0x6c]
+ str r6, [sp, #8]
+ str r2, [sp, #0xc]
+ add r2, sp, #0x10
+ bl MOD11_02256854
+ mov r0, #0x58
+ str r0, [sp]
+ ldr r2, [r4, #0x64]
+ add r0, r5, #0
+ mov r1, #1
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x68
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02255A40
+MOD11_02255A40: ; 0x02255A40
+ push {r4, r5, r6, lr}
+ sub sp, #0x68
+ add r4, r3, #0
+ mov r3, #0
+ str r3, [sp]
+ ldr r6, [sp, #0x78]
+ str r4, [sp, #4]
+ str r6, [sp, #8]
+ str r2, [sp, #0xc]
+ add r2, sp, #0x10
+ add r5, r0, #0
+ bl MOD11_02256854
+ mov r0, #0x58
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x68
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255A70
+MOD11_02255A70: ; 0x02255A70
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x17
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255A8C
+MOD11_02255A8C: ; 0x02255A8C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ add r5, r1, #0
+ str r2, [sp, #8]
+ add r1, r2, #0
+ add r3, r5, r2
+ ldr r2, _02255B50 ; =0x0000219C
+ str r0, [sp, #4]
+ ldrb r2, [r3, r2]
+ bl MOD11_02230014
+ add r4, r0, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ add r6, r0, #0
+ mov r0, #0x18
+ add r2, sp, #0xc
+ strb r0, [r2]
+ ldr r0, [sp, #8]
+ mov r1, #0xc0
+ add r4, r0, #0
+ mul r4, r1
+ ldr r1, _02255B54 ; =0x00002D74
+ add r0, r5, r4
+ ldrb r3, [r0, r1]
+ strb r3, [r2, #1]
+ add r3, r1, #0
+ add r3, #0x18
+ ldr r3, [r0, r3]
+ strh r3, [r2, #2]
+ add r3, r1, #0
+ add r3, #0x1c
+ ldr r3, [r0, r3]
+ sub r1, #0x34
+ strh r3, [r2, #4]
+ ldr r2, _02255B58 ; =0x0000215C
+ ldr r2, [r5, r2]
+ str r2, [sp, #0x14]
+ ldrh r0, [r0, r1]
+ cmp r0, #0x1d
+ beq _02255AF2
+ cmp r0, #0x20
+ bne _02255B04
+_02255AF2:
+ ldr r0, _02255B5C ; =0x00002D54
+ add r1, r5, r4
+ ldr r0, [r1, r0]
+ lsr r0, r0, #0x1f
+ bne _02255B04
+ mov r1, #2
+ add r0, sp, #0xc
+ strb r1, [r0, #7]
+ b _02255B12
+_02255B04:
+ ldr r0, _02255B60 ; =0x00002DBE
+ add r1, r5, r4
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r1, r0, #0x1c
+ add r0, sp, #0xc
+ strb r1, [r0, #7]
+_02255B12:
+ add r0, r7, #0
+ add r1, r6, #0
+ bl FUN_02068758
+ ldr r1, _02255B64 ; =0x00002DA4
+ add r2, r5, r4
+ ldr r1, [r2, r1]
+ sub r0, r1, r0
+ str r0, [sp, #0x18]
+ add r0, r7, #0
+ add r1, r6, #1
+ bl FUN_02068758
+ add r4, r0, #0
+ add r0, r7, #0
+ add r1, r6, #0
+ bl FUN_02068758
+ sub r0, r4, r0
+ str r0, [sp, #0x1c]
+ mov r0, #0x14
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #8]
+ mov r1, #1
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02255B50: .word 0x0000219C
+_02255B54: .word 0x00002D74
+_02255B58: .word 0x0000215C
+_02255B5C: .word 0x00002D54
+_02255B60: .word 0x00002DBE
+_02255B64: .word 0x00002DA4
+
+ thumb_func_start MOD11_02255B68
+MOD11_02255B68: ; 0x02255B68
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r4, r2, #0
+ add r5, r1, #0
+ str r3, [sp, #8]
+ ldr r2, _02255BE4 ; =0x0000219C
+ add r3, r5, r4
+ ldrb r2, [r3, r2]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ bl MOD11_02230014
+ add r6, r0, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ add r7, r0, #0
+ add r0, r6, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ add r6, r0, #0
+ mov r1, #0x19
+ add r0, sp, #0xc
+ strb r1, [r0]
+ ldr r0, [sp, #8]
+ add r1, r6, #0
+ str r0, [sp, #0x10]
+ add r0, r7, #0
+ bl FUN_02068758
+ mov r1, #0xc0
+ mul r1, r4
+ add r2, r5, r1
+ ldr r1, _02255BE8 ; =0x00002DA4
+ ldr r1, [r2, r1]
+ sub r0, r1, r0
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r1, r6, #1
+ bl FUN_02068758
+ add r5, r0, #0
+ add r0, r7, #0
+ add r1, r6, #0
+ bl FUN_02068758
+ sub r0, r5, r0
+ str r0, [sp, #0x18]
+ mov r0, #0x10
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02255BE4: .word 0x0000219C
+_02255BE8: .word 0x00002DA4
+
+ thumb_func_start MOD11_02255BEC
+MOD11_02255BEC: ; 0x02255BEC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x3c
+ str r0, [sp, #4]
+ add r0, r1, #0
+ mov ip, r2
+ mov r5, #0xb5
+ mov r2, #0x1a
+ add r1, sp, #0xc
+ strb r2, [r1]
+ mov r3, #0xc0
+ mov r2, ip
+ mul r3, r2
+ add r2, r0, r3
+ lsl r5, r5, #6
+ ldrh r4, [r2, r5]
+ strh r4, [r1, #2]
+ add r4, r5, #0
+ add r4, #0x26
+ ldrb r2, [r2, r4]
+ add r5, #0x70
+ lsl r2, r2, #0x1b
+ lsr r2, r2, #0x1b
+ strb r2, [r1, #8]
+ add r2, r0, r5
+ mov r1, #1
+ ldr r4, [r2, r3]
+ lsl r1, r1, #0x18
+ tst r1, r4
+ beq _02255C2A
+ mov r4, #1
+ b _02255C2C
+_02255C2A:
+ mov r4, #0
+_02255C2C:
+ add r1, sp, #0xc
+ strb r4, [r1, #9]
+ mov r1, #2
+ ldr r4, [r2, r3]
+ lsl r1, r1, #0x14
+ tst r1, r4
+ beq _02255C3E
+ mov r4, #1
+ b _02255C40
+_02255C3E:
+ mov r4, #0
+_02255C40:
+ add r1, sp, #0xc
+ strb r4, [r1, #0xa]
+ ldr r4, [r2, r3]
+ mov r2, #2
+ lsl r2, r2, #0x14
+ tst r2, r4
+ beq _02255C5E
+ ldr r2, _02255CE8 ; =0x00002DFA
+ add r4, r0, r3
+ ldrh r3, [r4, r2]
+ sub r2, #0x16
+ strb r3, [r1, #1]
+ ldr r1, [r4, r2]
+ str r1, [sp, #0x10]
+ b _02255C70
+_02255C5E:
+ ldr r2, _02255CEC ; =0x00002DBE
+ add r4, r0, r3
+ ldrb r3, [r4, r2]
+ sub r2, #0x16
+ lsl r3, r3, #0x1c
+ lsr r3, r3, #0x1c
+ strb r3, [r1, #1]
+ ldr r1, [r4, r2]
+ str r1, [sp, #0x10]
+_02255C70:
+ mov r1, #0
+ str r1, [sp, #8]
+ ldr r1, _02255CF0 ; =0x00002D66
+ add r7, sp, #0xc
+ add r3, r0, r1
+ add r1, #0x58
+ add r4, r7, #0
+ add r5, r7, #0
+ add r6, r0, r1
+_02255C82:
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ ldrh r1, [r0, r1]
+ strh r1, [r7, #0xc]
+ ldrb r1, [r3]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1f
+ strb r1, [r4, #0x18]
+ ldrb r1, [r3]
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1b
+ strb r1, [r4, #0x1c]
+ ldr r1, _02255CF4 ; =0x00002DB0
+ ldr r2, [r0, r1]
+ mov r1, #2
+ lsl r1, r1, #0x14
+ tst r1, r2
+ beq _02255CB0
+ ldr r1, _02255CE8 ; =0x00002DFA
+ ldrh r1, [r0, r1]
+ strb r1, [r4, #0x14]
+ ldr r1, _02255CF8 ; =0x00002DE4
+ b _02255CBA
+_02255CB0:
+ ldrb r1, [r6]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ strb r1, [r4, #0x14]
+ ldr r1, _02255CFC ; =0x00002DA8
+_02255CBA:
+ ldr r1, [r0, r1]
+ add r0, #0xc0
+ str r1, [r5, #0x20]
+ ldr r1, [sp, #8]
+ add r7, r7, #2
+ add r1, r1, #1
+ add r3, #0xc0
+ add r4, r4, #1
+ add r5, r5, #4
+ add r6, #0xc0
+ str r1, [sp, #8]
+ cmp r1, #4
+ blt _02255C82
+ mov r0, #0x30
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ mov r1, #1
+ mov r2, ip
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x3c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02255CE8: .word 0x00002DFA
+_02255CEC: .word 0x00002DBE
+_02255CF0: .word 0x00002D66
+_02255CF4: .word 0x00002DB0
+_02255CF8: .word 0x00002DE4
+_02255CFC: .word 0x00002DA8
+
+ thumb_func_start MOD11_02255D00
+MOD11_02255D00: ; 0x02255D00
+ push {r4, lr}
+ sub sp, #8
+ mov r4, #0x1b
+ add r1, sp, #4
+ strb r4, [r1]
+ strh r2, [r1, #2]
+ mov r1, #4
+ str r1, [sp]
+ add r2, r3, #0
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255D20
+MOD11_02255D20: ; 0x02255D20
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x1c
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255D3C
+MOD11_02255D3C: ; 0x02255D3C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x30
+ mov ip, r1
+ mov r3, #0x1d
+ add r1, sp, #8
+ strb r3, [r1]
+ strb r2, [r1, #1]
+ ldr r3, [r0, #0x30]
+ mov r2, #0xc0
+ mov r1, ip
+ mul r2, r1
+ ldr r1, _02255DF4 ; =0x00002DB0
+ add r2, r3, r2
+ ldr r2, [r2, r1]
+ mov r1, #1
+ lsl r1, r1, #0x18
+ tst r1, r2
+ beq _02255D64
+ mov r2, #1
+ b _02255D66
+_02255D64:
+ mov r2, #0
+_02255D66:
+ add r7, sp, #8
+ add r1, sp, #8
+ mov r3, #0
+ strb r2, [r1, #2]
+ str r3, [sp, #4]
+ add r4, r7, #0
+ add r5, r7, #0
+_02255D74:
+ ldr r1, [r0, #0x30]
+ add r2, r1, r3
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ ldrh r1, [r2, r1]
+ strh r1, [r7, #4]
+ ldr r1, [r0, #0x30]
+ add r2, r1, r3
+ ldr r1, _02255DF8 ; =0x00002D66
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1f
+ strb r1, [r4, #0x10]
+ ldr r1, [r0, #0x30]
+ add r2, r1, r3
+ ldr r1, _02255DF8 ; =0x00002D66
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1b
+ strb r1, [r4, #0x14]
+ ldr r1, [r0, #0x30]
+ add r6, r1, r3
+ ldr r1, _02255DF4 ; =0x00002DB0
+ ldr r2, [r6, r1]
+ mov r1, #2
+ lsl r1, r1, #0x14
+ tst r1, r2
+ beq _02255DBA
+ ldr r1, _02255DFC ; =0x00002DFA
+ ldrh r1, [r6, r1]
+ strb r1, [r4, #0xc]
+ ldr r1, [r0, #0x30]
+ add r2, r1, r3
+ ldr r1, _02255E00 ; =0x00002DE4
+ b _02255DCA
+_02255DBA:
+ ldr r1, _02255E04 ; =0x00002DBE
+ ldrb r1, [r6, r1]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ strb r1, [r4, #0xc]
+ ldr r1, [r0, #0x30]
+ add r2, r1, r3
+ ldr r1, _02255E08 ; =0x00002DA8
+_02255DCA:
+ ldr r1, [r2, r1]
+ add r3, #0xc0
+ str r1, [r5, #0x18]
+ ldr r1, [sp, #4]
+ add r7, r7, #2
+ add r1, r1, #1
+ add r4, r4, #1
+ add r5, r5, #4
+ str r1, [sp, #4]
+ cmp r1, #4
+ blt _02255D74
+ mov r1, #0x28
+ str r1, [sp]
+ mov r1, #1
+ mov r2, ip
+ add r3, sp, #8
+ bl MOD11_02254878
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02255DF4: .word 0x00002DB0
+_02255DF8: .word 0x00002D66
+_02255DFC: .word 0x00002DFA
+_02255E00: .word 0x00002DE4
+_02255E04: .word 0x00002DBE
+_02255E08: .word 0x00002DA8
+
+ thumb_func_start MOD11_02255E0C
+MOD11_02255E0C: ; 0x02255E0C
+ push {r4, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r3, #0x1e
+ add r1, sp, #4
+ strb r3, [r1]
+ strb r2, [r1, #1]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02255E2C
+MOD11_02255E2C: ; 0x02255E2C
+ push {r4, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r3, #0x1f
+ add r1, sp, #4
+ strb r3, [r1]
+ strb r2, [r1, #1]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02255E4C
+MOD11_02255E4C: ; 0x02255E4C
+ push {r3, r4, r5, lr}
+ sub sp, #0x68
+ add r4, r2, #0
+ str r3, [sp]
+ str r4, [sp, #4]
+ str r4, [sp, #8]
+ mov r2, #0
+ str r2, [sp, #0xc]
+ add r2, sp, #0x10
+ mov r3, #1
+ add r5, r0, #0
+ bl MOD11_02256854
+ mov r0, #0x58
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x68
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255E7C
+MOD11_02255E7C: ; 0x02255E7C
+ push {r3, r4, r5, lr}
+ sub sp, #0x68
+ add r4, r2, #0
+ ldr r2, [sp, #0x78]
+ add r5, r0, #0
+ str r2, [sp]
+ str r4, [sp, #4]
+ str r3, [sp, #8]
+ mov r2, #0
+ str r2, [sp, #0xc]
+ add r2, sp, #0x10
+ mov r3, #1
+ bl MOD11_02256854
+ mov r0, #0x58
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x68
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02255EAC
+MOD11_02255EAC: ; 0x02255EAC
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r4, r2, #0
+ mov r2, #0x20
+ add r0, sp, #4
+ strb r2, [r0]
+ strb r3, [r0, #1]
+ ldr r0, _02255EE8 ; =0x00003122
+ ldrsh r2, [r1, r0]
+ ldr r0, _02255EEC ; =0x00002E4C
+ ldr r0, [r1, r0]
+ sub r1, r2, r0
+ mov r0, #0x64
+ mul r0, r1
+ add r1, r2, #0
+ blx _s32_div_f
+ add r1, sp, #4
+ strh r0, [r1, #2]
+ mov r0, #4
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02255EE8: .word 0x00003122
+_02255EEC: .word 0x00002E4C
+
+ thumb_func_start MOD11_02255EF0
+MOD11_02255EF0: ; 0x02255EF0
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r6, r1, #0
+ add r4, r2, #0
+ mov r1, #0x21
+ add r0, sp, #4
+ strb r1, [r0]
+ ldr r2, _02255F38 ; =0x00002E4C
+ strb r3, [r0, #1]
+ ldr r1, [r6, r2]
+ cmp r1, #0
+ bne _02255F12
+ mov r1, #0xfa
+ lsl r1, r1, #2
+ strh r1, [r0, #2]
+ b _02255F24
+_02255F12:
+ mov r0, #0xfa
+ lsl r0, r0, #2
+ mul r0, r1
+ add r1, r2, #4
+ ldr r1, [r6, r1]
+ blx _u32_div_f
+ add r1, sp, #4
+ strh r0, [r1, #2]
+_02255F24:
+ mov r0, #4
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02255F38: .word 0x00002E4C
+
+ thumb_func_start MOD11_02255F3C
+MOD11_02255F3C: ; 0x02255F3C
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x22
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02255F54
+MOD11_02255F54: ; 0x02255F54
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r7, r1, #0
+ str r2, [sp, #4]
+ mov r2, #0x23
+ add r1, sp, #8
+ add r6, r0, #0
+ strb r2, [r1]
+ mov r4, #0
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _02255F86
+ add r5, sp, #8
+_02255F70:
+ ldr r0, _02255F9C ; =0x0000219C
+ add r1, r7, r4
+ ldrb r0, [r1, r0]
+ add r4, r4, #1
+ strb r0, [r5, #4]
+ add r0, r6, #0
+ add r5, r5, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _02255F70
+_02255F86:
+ mov r0, #8
+ str r0, [sp]
+ ldr r2, [sp, #4]
+ add r0, r6, #0
+ mov r1, #1
+ add r3, sp, #8
+ bl MOD11_02254878
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02255F9C: .word 0x0000219C
+
+ thumb_func_start MOD11_02255FA0
+MOD11_02255FA0: ; 0x02255FA0
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x24
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02255FBC
+MOD11_02255FBC: ; 0x02255FBC
+ push {r0, r1, r2, r3}
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x2c
+ add r4, r1, #0
+ add r5, r0, #0
+ bl MOD11_0222FF78
+ add r1, r4, #0
+ bl MOD11_02243400
+ mov r1, #0x25
+ add r0, sp, #4
+ strb r1, [r0]
+ add r6, sp, #0x48
+ add r3, sp, #8
+ mov r2, #4
+_02255FDC:
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _02255FDC
+ ldr r0, [r6]
+ mov r1, #1
+ str r0, [r3]
+ mov r0, #0x28
+ str r0, [sp]
+ add r0, r5, #0
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0x2c
+ pop {r3, r4, r5, r6}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .align 2, 0
+
+ thumb_func_start MOD11_02256004
+MOD11_02256004: ; 0x02256004
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #1
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256020
+MOD11_02256020: ; 0x02256020
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r1, #0
+ ldr r1, _0225613C ; =0x0000219C
+ add r4, r2, #0
+ add r7, r5, r1
+ ldrb r2, [r7, r4]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ bl MOD11_02230014
+ add r6, r0, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ add r0, r6, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl FUN_020671BC
+ str r0, [sp, #8]
+ mov r0, #0x26
+ add r2, sp, #0x10
+ strb r0, [r2]
+ mov r0, #0xc0
+ add r6, r4, #0
+ mul r6, r0
+ ldr r1, _02256140 ; =0x00002D74
+ add r0, r5, r6
+ ldrb r3, [r0, r1]
+ strb r3, [r2, #1]
+ add r3, r1, #0
+ add r3, #0x18
+ ldr r3, [r0, r3]
+ add r1, #0x1c
+ strh r3, [r2, #2]
+ ldr r0, [r0, r1]
+ add r1, r4, #0
+ strh r0, [r2, #4]
+ ldrb r0, [r7, r4]
+ strb r0, [r2, #6]
+ add r0, r5, #0
+ bl MOD11_0224524C
+ add r1, sp, #0x10
+ ldrb r2, [r1, #7]
+ mov r3, #0x1f
+ lsl r0, r0, #0x18
+ bic r2, r3
+ lsr r3, r0, #0x18
+ mov r0, #0x1f
+ and r0, r3
+ orr r0, r2
+ strb r0, [r1, #7]
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ add r7, r5, r0
+ ldrh r0, [r7, r6]
+ cmp r0, #0x1d
+ beq _022560A0
+ cmp r0, #0x20
+ bne _022560BA
+_022560A0:
+ ldr r0, _02256144 ; =0x00002D54
+ add r1, r5, r6
+ ldr r0, [r1, r0]
+ lsr r0, r0, #0x1f
+ bne _022560BA
+ add r0, sp, #0x10
+ ldrb r1, [r0, #7]
+ mov r2, #0x60
+ bic r1, r2
+ mov r2, #0x40
+ orr r1, r2
+ strb r1, [r0, #7]
+ b _022560D4
+_022560BA:
+ add r3, sp, #0x10
+ ldrb r2, [r3, #7]
+ mov r0, #0x60
+ add r1, r5, r6
+ bic r2, r0
+ ldr r0, _02256148 ; =0x00002DBE
+ ldrb r0, [r1, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x19
+ orr r0, r2
+ strb r0, [r3, #7]
+_022560D4:
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #8]
+ bl FUN_02068758
+ mov r1, #0xc0
+ mul r1, r4
+ add r2, r5, r1
+ ldr r1, _0225614C ; =0x00002DA4
+ ldr r1, [r2, r1]
+ sub r0, r1, r0
+ ldr r1, [sp, #8]
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0xc]
+ add r1, r1, #1
+ bl FUN_02068758
+ add r5, r0, #0
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #8]
+ bl FUN_02068758
+ sub r0, r5, r0
+ str r0, [sp, #0x1c]
+ ldrh r1, [r7, r6]
+ ldr r0, [sp, #4]
+ bl MOD11_02231668
+ add r3, sp, #0x10
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1f
+ ldrb r1, [r3, #7]
+ mov r2, #0x80
+ lsr r0, r0, #0x18
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r3, #7]
+ ldr r0, [sp, #4]
+ bl MOD11_02230E00
+ str r0, [sp, #0x20]
+ mov r0, #0x14
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0225613C: .word 0x0000219C
+_02256140: .word 0x00002D74
+_02256144: .word 0x00002D54
+_02256148: .word 0x00002DBE
+_0225614C: .word 0x00002DA4
+
+ thumb_func_start MOD11_02256150
+MOD11_02256150: ; 0x02256150
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x30
+ add r6, r1, #0
+ str r2, [sp, #8]
+ mov r1, #0x27
+ add r2, sp, #0x10
+ strb r1, [r2]
+ ldrb r1, [r2, #1]
+ mov r3, #0xf
+ str r0, [sp, #4]
+ bic r1, r3
+ ldr r3, [sp, #8]
+ add r4, r6, r3
+ ldr r3, _02256230 ; =0x0000219C
+ ldrb r4, [r4, r3]
+ mov r3, #0xf
+ and r3, r4
+ orr r1, r3
+ strb r1, [r2, #1]
+ ldr r1, [sp, #8]
+ mov r3, #0xc0
+ mul r3, r1
+ ldrb r4, [r2, #1]
+ mov r1, #0xf0
+ str r3, [sp, #0xc]
+ bic r4, r1
+ add r1, r3, #0
+ add r3, r6, r1
+ ldr r1, _02256234 ; =0x00002DCC
+ ldr r5, [r3, r1]
+ lsl r5, r5, #0x1a
+ lsr r5, r5, #0x1c
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ lsl r5, r5, #0x1c
+ lsr r5, r5, #0x18
+ orr r4, r5
+ strb r4, [r2, #1]
+ add r4, r1, #0
+ sub r4, #0x40
+ ldr r4, [r3, r4]
+ sub r1, #0x14
+ strh r4, [r2, #2]
+ ldrh r1, [r3, r1]
+ strh r1, [r2, #0xc]
+ ldr r1, [sp, #8]
+ bl MOD11_02230270
+ lsl r0, r0, #3
+ add r1, r6, r0
+ mov r0, #0x71
+ lsl r0, r0, #2
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #8]
+ mov r2, #0xc0
+ mul r2, r1
+ lsl r0, r0, #3
+ lsr r0, r0, #0x1a
+ add r1, r6, r2
+ mov ip, r2
+ add r2, sp, #0x10
+ str r0, [sp, #0x18]
+ ldr r7, _02256238 ; =0x00002D6C
+ mov r0, #0
+ add r3, r1, #0
+ add r4, r2, #0
+_022561D4:
+ ldr r5, _0225623C ; =0x00002D4C
+ add r0, r0, #1
+ ldrh r5, [r1, r5]
+ add r1, r1, #2
+ strh r5, [r2, #0xe]
+ ldrb r5, [r3, r7]
+ add r2, r2, #2
+ add r3, r3, #1
+ strb r5, [r4, #0x16]
+ add r4, r4, #1
+ cmp r0, #4
+ blt _022561D4
+ add r1, sp, #0x10
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ cmp r0, #0
+ beq _0225620C
+ mov r0, ip
+ add r3, r6, r0
+ ldr r0, _02256240 ; =0x00002DAC
+ ldr r1, _02256244 ; =0xFFFFF0FF
+ ldr r2, [r3, r0]
+ add r0, r0, #4
+ and r1, r2
+ str r1, [sp, #0x14]
+ ldr r0, [r3, r0]
+ str r0, [sp, #0x2c]
+ b _0225621A
+_0225620C:
+ mov r0, #0
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0xc]
+ add r1, r6, r0
+ ldr r0, _02256248 ; =0x00002DB0
+ ldr r0, [r1, r0]
+ str r0, [sp, #0x2c]
+_0225621A:
+ mov r0, #0x20
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #8]
+ mov r1, #1
+ add r3, sp, #0x10
+ bl MOD11_02254878
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02256230: .word 0x0000219C
+_02256234: .word 0x00002DCC
+_02256238: .word 0x00002D6C
+_0225623C: .word 0x00002D4C
+_02256240: .word 0x00002DAC
+_02256244: .word 0xFFFFF0FF
+_02256248: .word 0x00002DB0
+
+ thumb_func_start MOD11_0225624C
+MOD11_0225624C: ; 0x0225624C
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x28
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256268
+MOD11_02256268: ; 0x02256268
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x29
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256284
+MOD11_02256284: ; 0x02256284
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ mov r5, #0x2a
+ add r4, sp, #4
+ strb r5, [r4]
+ strh r3, [r4, #2]
+ mov r3, #0xc0
+ mul r3, r2
+ add r3, r1, r3
+ ldr r1, _022562AC ; =0x00002D67
+ ldrb r1, [r3, r1]
+ add r3, sp, #4
+ strb r1, [r4, #1]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022562AC: .word 0x00002D67
+
+ thumb_func_start MOD11_022562B0
+MOD11_022562B0: ; 0x022562B0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ add r7, r0, #0
+ add r4, r2, #0
+ add r6, r3, #0
+ bl MOD11_0222FF78
+ add r1, r5, #0
+ bl MOD11_02243400
+ mov r1, #0x2b
+ add r0, sp, #4
+ strb r1, [r0]
+ strh r4, [r0, #2]
+ strb r6, [r0, #1]
+ mov r0, #4
+ str r0, [sp]
+ add r0, r7, #0
+ mov r1, #1
+ add r2, r5, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_022562E4
+MOD11_022562E4: ; 0x022562E4
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r5, #0x2c
+ add r1, sp, #4
+ strb r5, [r1]
+ strb r2, [r1, #1]
+ strb r3, [r1, #2]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256308
+MOD11_02256308: ; 0x02256308
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r7, r1, #0
+ mov r1, #0x2d
+ add r3, sp, #4
+ strb r1, [r3]
+ mov r1, #0xc0
+ add r6, r7, #0
+ mul r6, r1
+ ldr r1, [r0, #0x30]
+ add r2, r1, r6
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ ldrh r2, [r2, r1]
+ strh r2, [r3, #2]
+ ldr r2, [r0, #0x30]
+ add r4, r2, r6
+ add r2, r1, #0
+ add r2, #0x26
+ ldrb r2, [r4, r2]
+ lsl r2, r2, #0x1a
+ lsr r2, r2, #0x1f
+ strb r2, [r3, #5]
+ ldr r2, [r0, #0x30]
+ add r5, r2, r6
+ add r2, r1, #0
+ add r2, #0x70
+ ldr r4, [r5, r2]
+ mov r2, #2
+ lsl r2, r2, #0x14
+ tst r2, r4
+ beq _0225635C
+ add r2, r1, #0
+ add r2, #0xba
+ ldrh r2, [r5, r2]
+ add r1, #0xa4
+ strb r2, [r3, #4]
+ ldr r2, [r0, #0x30]
+ add r2, r2, r6
+ ldr r1, [r2, r1]
+ str r1, [sp, #0xc]
+ b _02256372
+_0225635C:
+ add r2, r1, #0
+ add r2, #0x7e
+ ldrb r2, [r5, r2]
+ add r1, #0x68
+ lsl r2, r2, #0x1c
+ lsr r2, r2, #0x1c
+ strb r2, [r3, #4]
+ ldr r2, [r0, #0x30]
+ add r2, r2, r6
+ ldr r1, [r2, r1]
+ str r1, [sp, #0xc]
+_02256372:
+ ldr r1, [r0, #0x30]
+ add r3, sp, #4
+ add r2, r1, r6
+ ldr r1, _02256394 ; =0x00002D66
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #0x1b
+ lsr r2, r1, #0x1b
+ add r1, sp, #4
+ strb r2, [r1, #1]
+ mov r1, #0xc
+ str r1, [sp]
+ mov r1, #1
+ add r2, r7, #0
+ bl MOD11_02254878
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02256394: .word 0x00002D66
+
+ thumb_func_start MOD11_02256398
+MOD11_02256398: ; 0x02256398
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x2e
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022563B4
+MOD11_022563B4: ; 0x022563B4
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x2f
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022563D0
+MOD11_022563D0: ; 0x022563D0
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ str r4, [sp]
+ ldr r1, [r5, #0x30]
+ add r2, sp, #4
+ mov r3, #0x30
+ bl MOD11_022569DC
+ mov r0, #8
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD11_022563F8
+MOD11_022563F8: ; 0x022563F8
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ str r4, [sp]
+ ldr r1, [r5, #0x30]
+ add r2, sp, #4
+ mov r3, #0x31
+ bl MOD11_022569DC
+ mov r0, #8
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD11_02256420
+MOD11_02256420: ; 0x02256420
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ str r4, [sp]
+ ldr r1, [r5, #0x30]
+ add r2, sp, #4
+ mov r3, #0x32
+ bl MOD11_022569DC
+ mov r0, #8
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD11_02256448
+MOD11_02256448: ; 0x02256448
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ str r4, [sp]
+ ldr r1, [r5, #0x30]
+ add r2, sp, #4
+ mov r3, #0x33
+ bl MOD11_022569DC
+ mov r0, #8
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r4, r5, pc}
+
+ thumb_func_start MOD11_02256470
+MOD11_02256470: ; 0x02256470
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x34
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225648C
+MOD11_0225648C: ; 0x0225648C
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x35
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022564A8
+MOD11_022564A8: ; 0x022564A8
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r5, #0x36
+ add r1, sp, #4
+ strb r5, [r1]
+ strb r2, [r1, #1]
+ strh r3, [r1, #2]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022564CC
+MOD11_022564CC: ; 0x022564CC
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r1, #0x37
+ add r5, r0, #0
+ str r1, [sp, #4]
+ bl MOD11_0222FF74
+ mov r1, #4
+ tst r0, r1
+ beq _022564F0
+ str r1, [sp]
+ add r0, r5, #0
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+_022564F0:
+ add sp, #8
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022564F4
+MOD11_022564F4: ; 0x022564F4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x64
+ str r0, [sp, #4]
+ add r0, r1, #0
+ str r2, [sp, #8]
+ mov r2, #0x38
+ add r7, sp, #0xc
+ add r1, sp, #0xc
+ strb r2, [r1]
+ mov r1, #0
+ mov ip, r1
+ ldr r1, _0225658C ; =0x00002D66
+ add r4, r7, #0
+ add r3, r0, r1
+ add r1, #0x58
+ add r5, r7, #0
+ add r6, r0, r1
+_02256516:
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ ldrh r1, [r0, r1]
+ add r2, r4, #0
+ add r2, #0x24
+ strh r1, [r7, #0x18]
+ ldrb r1, [r3]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1f
+ strb r1, [r2]
+ ldrb r1, [r3]
+ add r2, r4, #0
+ add r2, #0x28
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1b
+ strb r1, [r2]
+ ldr r1, _02256590 ; =0x00002DB0
+ ldr r2, [r0, r1]
+ mov r1, #2
+ lsl r1, r1, #0x14
+ tst r1, r2
+ beq _02256550
+ ldr r1, _02256594 ; =0x00002DFA
+ add r2, r4, #0
+ ldrh r1, [r0, r1]
+ add r2, #0x20
+ strb r1, [r2]
+ ldr r1, _02256598 ; =0x00002DE4
+ b _0225655E
+_02256550:
+ ldrb r1, [r6]
+ add r2, r4, #0
+ add r2, #0x20
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ strb r1, [r2]
+ ldr r1, _0225659C ; =0x00002DA8
+_0225655E:
+ ldr r1, [r0, r1]
+ add r0, #0xc0
+ str r1, [r5, #0x2c]
+ mov r1, ip
+ add r1, r1, #1
+ add r7, r7, #2
+ add r3, #0xc0
+ add r4, r4, #1
+ add r5, r5, #4
+ add r6, #0xc0
+ mov ip, r1
+ cmp r1, #4
+ blt _02256516
+ mov r0, #0x58
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #8]
+ mov r1, #1
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x64
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225658C: .word 0x00002D66
+_02256590: .word 0x00002DB0
+_02256594: .word 0x00002DFA
+_02256598: .word 0x00002DE4
+_0225659C: .word 0x00002DA8
+
+ thumb_func_start MOD11_022565A0
+MOD11_022565A0: ; 0x022565A0
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x39
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022565BC
+MOD11_022565BC: ; 0x022565BC
+ push {r3, lr}
+ sub sp, #8
+ add r2, r1, #0
+ mov r1, #0x3a
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022565D8
+MOD11_022565D8: ; 0x022565D8
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x3b
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022565F4
+MOD11_022565F4: ; 0x022565F4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r1, #0
+ mov r2, #0x3c
+ add r1, sp, #4
+ strb r2, [r1]
+ mov r4, #0
+ add r6, r0, #0
+ strb r4, [r1, #1]
+ bl MOD11_0222FF84
+ cmp r0, #0
+ ble _02256632
+ add r7, sp, #4
+_02256610:
+ ldr r0, _02256648 ; =0x000021A8
+ ldr r0, [r5, r0]
+ cmp r0, #0x10
+ bne _02256624
+ add r0, r4, #0
+ bl FUN_0206A92C
+ ldrb r1, [r7, #1]
+ orr r0, r1
+ strb r0, [r7, #1]
+_02256624:
+ add r0, r6, #0
+ add r5, #0x10
+ add r4, r4, #1
+ bl MOD11_0222FF84
+ cmp r4, r0
+ blt _02256610
+_02256632:
+ mov r0, #4
+ str r0, [sp]
+ add r0, r6, #0
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02256648: .word 0x000021A8
+
+ thumb_func_start MOD11_0225664C
+MOD11_0225664C: ; 0x0225664C
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x3d
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256668
+MOD11_02256668: ; 0x02256668
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x64
+ str r0, [sp, #4]
+ add r0, r1, #0
+ str r2, [sp, #8]
+ mov r2, #0x3e
+ add r7, sp, #0xc
+ add r1, sp, #0xc
+ strb r2, [r1]
+ mov r1, #0
+ mov ip, r1
+ ldr r1, _02256700 ; =0x00002D66
+ add r4, r7, #0
+ add r3, r0, r1
+ add r1, #0x58
+ add r5, r7, #0
+ add r6, r0, r1
+_0225668A:
+ mov r1, #0xb5
+ lsl r1, r1, #6
+ ldrh r1, [r0, r1]
+ add r2, r4, #0
+ add r2, #0x24
+ strh r1, [r7, #0x18]
+ ldrb r1, [r3]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1f
+ strb r1, [r2]
+ ldrb r1, [r3]
+ add r2, r4, #0
+ add r2, #0x28
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x1b
+ strb r1, [r2]
+ ldr r1, _02256704 ; =0x00002DB0
+ ldr r2, [r0, r1]
+ mov r1, #2
+ lsl r1, r1, #0x14
+ tst r1, r2
+ beq _022566C4
+ ldr r1, _02256708 ; =0x00002DFA
+ add r2, r4, #0
+ ldrh r1, [r0, r1]
+ add r2, #0x20
+ strb r1, [r2]
+ ldr r1, _0225670C ; =0x00002DE4
+ b _022566D2
+_022566C4:
+ ldrb r1, [r6]
+ add r2, r4, #0
+ add r2, #0x20
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ strb r1, [r2]
+ ldr r1, _02256710 ; =0x00002DA8
+_022566D2:
+ ldr r1, [r0, r1]
+ add r0, #0xc0
+ str r1, [r5, #0x2c]
+ mov r1, ip
+ add r1, r1, #1
+ add r7, r7, #2
+ add r3, #0xc0
+ add r4, r4, #1
+ add r5, r5, #4
+ add r6, #0xc0
+ mov ip, r1
+ cmp r1, #4
+ blt _0225668A
+ mov r0, #0x58
+ str r0, [sp]
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #8]
+ mov r1, #1
+ add r3, sp, #0xc
+ bl MOD11_02254878
+ add sp, #0x64
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02256700: .word 0x00002D66
+_02256704: .word 0x00002DB0
+_02256708: .word 0x00002DFA
+_0225670C: .word 0x00002DE4
+_02256710: .word 0x00002DA8
+
+ thumb_func_start MOD11_02256714
+MOD11_02256714: ; 0x02256714
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ mov r3, #0x3f
+ add r4, sp, #4
+ strb r3, [r4]
+ ldr r3, _02256750 ; =0x0000216C
+ ldr r5, [r1, r3]
+ mov r1, #2
+ add r3, r5, #0
+ tst r3, r1
+ beq _0225672E
+ strb r1, [r4, #1]
+ b _0225673E
+_0225672E:
+ mov r1, #4
+ tst r1, r5
+ beq _0225673A
+ mov r1, #1
+ strb r1, [r4, #1]
+ b _0225673E
+_0225673A:
+ mov r1, #0
+ strb r1, [r4, #1]
+_0225673E:
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ nop
+_02256750: .word 0x0000216C
+
+ thumb_func_start MOD11_02256754
+MOD11_02256754: ; 0x02256754
+ push {r4, lr}
+ sub sp, #8
+ add r4, r1, #0
+ mov r3, #0x40
+ add r1, sp, #4
+ strb r3, [r1]
+ strh r2, [r1, #2]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02256774
+MOD11_02256774: ; 0x02256774
+ push {r3, r4, lr}
+ sub sp, #0xc
+ mov r2, #0x41
+ add r1, sp, #4
+ strb r2, [r1]
+ add r4, r0, #0
+ bl MOD11_0223145C
+ str r0, [sp, #8]
+ mov r0, #8
+ str r0, [sp]
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #0xc
+ pop {r3, r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225679C
+MOD11_0225679C: ; 0x0225679C
+ push {r3, lr}
+ sub sp, #8
+ mov r1, #0x42
+ str r1, [sp, #4]
+ mov r1, #4
+ str r1, [sp]
+ mov r1, #1
+ mov r2, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022567B8
+MOD11_022567B8: ; 0x022567B8
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r0, sp, #4
+ add r4, r1, #0
+ strb r2, [r0]
+ bl FUN_02031190
+ add r1, sp, #4
+ strb r0, [r1, #1]
+ mov r0, #4
+ str r0, [sp]
+ add r0, r5, #0
+ mov r1, #2
+ add r2, r4, #0
+ add r3, sp, #4
+ bl MOD11_02254878
+ add sp, #8
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022567E0
+MOD11_022567E0: ; 0x022567E0
+ push {r3, r4, r5, r6, r7, lr}
+ ldrb r6, [r1, #3]
+ ldrb r3, [r1]
+ ldrb r2, [r1, #2]
+ lsl r6, r6, #8
+ add r5, r0, #0
+ orr r2, r6
+ ldrb r4, [r1, #1]
+ cmp r3, #0
+ bne _02256814
+ mov r3, #0
+ cmp r2, #0
+ ble _02256852
+ mov r6, #0x23
+ lsl r4, r4, #8
+ lsl r6, r6, #8
+_02256800:
+ add r0, r1, r3
+ ldr r7, [r5, #0x30]
+ ldrb r0, [r0, #4]
+ add r7, r4, r7
+ add r7, r3, r7
+ add r3, r3, #1
+ strb r0, [r7, r6]
+ cmp r3, r2
+ blt _02256800
+ pop {r3, r4, r5, r6, r7, pc}
+_02256814:
+ cmp r3, #1
+ bne _02256836
+ mov r0, #0
+ cmp r2, #0
+ ble _02256852
+ lsl r3, r4, #2
+ add r5, r5, r3
+_02256822:
+ add r3, r1, r0
+ ldrb r4, [r3, #4]
+ ldr r3, [r5, #0x34]
+ add r3, r3, r0
+ add r3, #0x94
+ add r0, r0, #1
+ strb r4, [r3]
+ cmp r0, r2
+ blt _02256822
+ pop {r3, r4, r5, r6, r7, pc}
+_02256836:
+ cmp r3, #2
+ bne _02256852
+ ldrb r7, [r1, #4]
+ ldrb r6, [r1, #5]
+ bl MOD11_02230DD4
+ cmp r0, #0
+ beq _02256852
+ ldr r0, [r5, #0x30]
+ add r1, r6, #0
+ add r2, r4, #0
+ add r3, r7, #0
+ bl MOD11_02243340
+_02256852:
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_02256854
+MOD11_02256854: ; 0x02256854
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r4, r1, #0
+ add r5, r2, #0
+ mov r1, #0x16
+ strb r1, [r5]
+ add r1, sp, #0x18
+ ldrh r1, [r1, #0x1c]
+ add r7, r0, #0
+ strh r1, [r5, #2]
+ ldr r1, [sp, #0x2c]
+ strh r1, [r5, #0x14]
+ ldr r1, [sp, #0x30]
+ strh r1, [r5, #0x16]
+ ldr r1, [sp, #0x28]
+ str r3, [r5, #0x4c]
+ str r1, [r5, #0x50]
+ bl MOD11_02230294
+ str r0, [r5, #0x54]
+ cmp r4, #0
+ bne _02256882
+ b _022569B2
+_02256882:
+ ldr r0, _022569B8 ; =0x00002144
+ ldr r1, [r4, r0]
+ add r0, #0x10
+ str r1, [r5, #4]
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _02256892
+ b _0225689E
+_02256892:
+ add r0, sp, #0x18
+ ldrh r0, [r0, #0x1c]
+ lsl r0, r0, #4
+ add r1, r4, r0
+ ldr r0, _022569BC ; =0x000003E1
+ ldrb r0, [r1, r0]
+_0225689E:
+ ldr r1, [sp, #0x2c]
+ strh r0, [r5, #8]
+ mov r0, #0xc0
+ add r6, r1, #0
+ mul r6, r0
+ ldr r0, _022569C0 ; =0x00002D75
+ add r1, r4, r6
+ ldrb r0, [r1, r0]
+ add r1, r4, #0
+ mov r2, #8
+ strh r0, [r5, #0xc]
+ mov r0, #0xd
+ str r0, [sp]
+ add r0, r7, #0
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022568E2
+ mov r0, #0x4c
+ str r0, [sp]
+ add r0, r7, #0
+ add r1, r4, #0
+ mov r2, #8
+ mov r3, #0
+ bl MOD11_02246870
+ cmp r0, #0
+ bne _022568E2
+ mov r0, #6
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ str r0, [r5, #0x10]
+ b _022568E6
+_022568E2:
+ mov r0, #0
+ str r0, [r5, #0x10]
+_022568E6:
+ ldr r0, _022569C4 ; =0x00002164
+ ldr r0, [r4, r0]
+ strh r0, [r5, #0xa]
+ ldr r0, _022569C8 ; =0x00002DB0
+ add r1, r4, r0
+ mov r0, #1
+ ldr r2, [r1, r6]
+ lsl r0, r0, #0x18
+ tst r0, r2
+ beq _022568FE
+ mov r3, #1
+ b _02256900
+_022568FE:
+ mov r3, #0
+_02256900:
+ ldrh r0, [r5, #0xe]
+ mov r2, #1
+ bic r0, r2
+ lsl r2, r3, #0x10
+ lsr r3, r2, #0x10
+ mov r2, #1
+ and r3, r2
+ orr r0, r3
+ strh r0, [r5, #0xe]
+ ldr r1, [r1, r6]
+ lsl r0, r2, #0x15
+ tst r0, r1
+ bne _0225691C
+ mov r2, #0
+_0225691C:
+ ldrh r0, [r5, #0xe]
+ mov r1, #2
+ str r5, [sp, #0x10]
+ bic r0, r1
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1e
+ orr r0, r1
+ strh r0, [r5, #0xe]
+ ldr r0, _022569CC ; =0x00002D66
+ mov r1, #0
+ add r2, r4, r0
+ add r0, #0x58
+ add r3, r5, #0
+ add r7, r4, r0
+_0225693C:
+ mov r0, #0xb5
+ lsl r0, r0, #6
+ ldrh r6, [r4, r0]
+ ldr r0, [sp, #0x10]
+ strh r6, [r0, #0x18]
+ ldrb r0, [r2]
+ lsl r0, r0, #0x1a
+ lsr r6, r0, #0x1f
+ add r0, r5, r1
+ str r0, [sp, #8]
+ add r0, #0x24
+ str r0, [sp, #8]
+ strb r6, [r0]
+ ldrb r0, [r2]
+ lsl r0, r0, #0x1b
+ lsr r6, r0, #0x1b
+ add r0, r5, r1
+ str r0, [sp, #4]
+ add r0, #0x28
+ str r0, [sp, #4]
+ strb r6, [r0]
+ mov r0, #0xb7
+ lsl r0, r0, #6
+ ldr r0, [r4, r0]
+ str r0, [r3, #0x3c]
+ ldr r0, _022569C8 ; =0x00002DB0
+ ldr r6, [r4, r0]
+ mov r0, #2
+ lsl r0, r0, #0x14
+ tst r0, r6
+ beq _0225698C
+ ldr r0, _022569D0 ; =0x00002DFA
+ ldrh r6, [r4, r0]
+ add r0, r5, r1
+ str r0, [sp, #0xc]
+ add r0, #0x20
+ str r0, [sp, #0xc]
+ strb r6, [r0]
+ ldr r0, _022569D4 ; =0x00002DE4
+ b _0225699A
+_0225698C:
+ ldrb r0, [r7]
+ lsl r0, r0, #0x1c
+ lsr r6, r0, #0x1c
+ add r0, r5, r1
+ add r0, #0x20
+ strb r6, [r0]
+ ldr r0, _022569D8 ; =0x00002DA8
+_0225699A:
+ ldr r0, [r4, r0]
+ add r1, r1, #1
+ str r0, [r3, #0x2c]
+ ldr r0, [sp, #0x10]
+ add r4, #0xc0
+ add r0, r0, #2
+ str r0, [sp, #0x10]
+ add r2, #0xc0
+ add r3, r3, #4
+ add r7, #0xc0
+ cmp r1, #4
+ blt _0225693C
+_022569B2:
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_022569B8: .word 0x00002144
+_022569BC: .word 0x000003E1
+_022569C0: .word 0x00002D75
+_022569C4: .word 0x00002164
+_022569C8: .word 0x00002DB0
+_022569CC: .word 0x00002D66
+_022569D0: .word 0x00002DFA
+_022569D4: .word 0x00002DE4
+_022569D8: .word 0x00002DA8
+
+ thumb_func_start MOD11_022569DC
+MOD11_022569DC: ; 0x022569DC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ str r0, [sp]
+ ldr r0, [sp, #0x38]
+ add r5, r2, #0
+ str r1, [sp, #4]
+ str r0, [sp, #0x38]
+ mov r0, #0
+ add r1, r5, #0
+ mov r2, #8
+ add r6, r3, #0
+ blx MIi_CpuClearFast
+ ldr r0, [sp]
+ bl MOD11_0222FF74
+ add r4, r0, #0
+ mov r0, #0xc
+ and r0, r4
+ strb r6, [r5]
+ cmp r0, #0xc
+ beq _02256A30
+ mov r0, #0x10
+ tst r0, r4
+ beq _02256A1A
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _02256A30
+_02256A1A:
+ cmp r4, #0x4b
+ bne _02256A2A
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_02230270
+ cmp r0, #0
+ bne _02256A30
+_02256A2A:
+ cmp r4, #0xcb
+ beq _02256A30
+ b _02256B66
+_02256A30:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_02230260
+ cmp r0, #2
+ beq _02256A48
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_02230260
+ cmp r0, #3
+ bne _02256A56
+_02256A48:
+ ldr r6, [sp, #0x38]
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_022302BC
+ str r0, [sp, #0x38]
+ b _02256A60
+_02256A56:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_022302BC
+ add r6, r0, #0
+_02256A60:
+ ldr r0, [sp]
+ add r1, r6, #0
+ bl MOD11_0222FF88
+ mov r4, #0
+ str r0, [sp, #0x10]
+ add r7, r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02256AE0
+ mov r0, #6
+ add r1, r6, #0
+ mul r1, r0
+ ldr r0, [sp, #4]
+ add r6, r0, r1
+_02256A80:
+ ldr r1, _02256C00 ; =0x0000312C
+ ldr r0, [sp, #0x10]
+ ldrb r1, [r6, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ str r0, [sp, #0x14]
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256AD2
+ ldr r1, _02256C04 ; =0x000001EE
+ cmp r0, r1
+ beq _02256AD2
+ ldr r0, [sp, #0x14]
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256ACA
+ ldr r0, [sp, #0x14]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256AC2
+ add r1, r5, r4
+ mov r0, #3
+ strb r0, [r1, #2]
+ b _02256AD0
+_02256AC2:
+ add r1, r5, r4
+ mov r0, #1
+ strb r0, [r1, #2]
+ b _02256AD0
+_02256ACA:
+ add r1, r5, r4
+ mov r0, #2
+ strb r0, [r1, #2]
+_02256AD0:
+ add r4, r4, #1
+_02256AD2:
+ ldr r0, [sp, #0x10]
+ add r6, r6, #1
+ add r7, r7, #1
+ bl FUN_0206B9AC
+ cmp r7, r0
+ blt _02256A80
+_02256AE0:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_0222FF88
+ str r0, [sp, #8]
+ mov r4, #3
+ mov r6, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ bgt _02256AF8
+ b _02256BFA
+_02256AF8:
+ ldr r0, [sp, #0x38]
+ mov r1, #6
+ mul r1, r0
+ ldr r0, [sp, #4]
+ add r7, r0, r1
+_02256B02:
+ ldr r1, _02256C00 ; =0x0000312C
+ ldr r0, [sp, #8]
+ ldrb r1, [r7, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ str r0, [sp, #0x18]
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256B54
+ ldr r1, _02256C04 ; =0x000001EE
+ cmp r0, r1
+ beq _02256B54
+ ldr r0, [sp, #0x18]
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256B4C
+ ldr r0, [sp, #0x18]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256B44
+ add r1, r5, r4
+ mov r0, #3
+ strb r0, [r1, #2]
+ b _02256B52
+_02256B44:
+ add r1, r5, r4
+ mov r0, #1
+ strb r0, [r1, #2]
+ b _02256B52
+_02256B4C:
+ add r1, r5, r4
+ mov r0, #2
+ strb r0, [r1, #2]
+_02256B52:
+ add r4, r4, #1
+_02256B54:
+ ldr r0, [sp, #8]
+ add r7, r7, #1
+ add r6, r6, #1
+ bl FUN_0206B9AC
+ cmp r6, r0
+ blt _02256B02
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+_02256B66:
+ mov r0, #2
+ tst r0, r4
+ beq _02256B7A
+ mov r0, #8
+ tst r0, r4
+ bne _02256B7A
+ ldr r0, [sp, #0x38]
+ mov r1, #1
+ and r0, r1
+ str r0, [sp, #0x38]
+_02256B7A:
+ ldr r0, [sp]
+ ldr r1, [sp, #0x38]
+ bl MOD11_0222FF88
+ mov r4, #0
+ str r0, [sp, #0xc]
+ add r7, r4, #0
+ bl FUN_0206B9AC
+ cmp r0, #0
+ ble _02256BFA
+ ldr r0, [sp, #0x38]
+ mov r1, #6
+ mul r1, r0
+ ldr r0, [sp, #4]
+ add r6, r0, r1
+_02256B9A:
+ ldr r1, _02256C00 ; =0x0000312C
+ ldr r0, [sp, #0xc]
+ ldrb r1, [r6, r1]
+ bl FUN_0206B9B0
+ mov r1, #0xad
+ mov r2, #0
+ str r0, [sp, #0x1c]
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256BEC
+ ldr r1, _02256C04 ; =0x000001EE
+ cmp r0, r1
+ beq _02256BEC
+ ldr r0, [sp, #0x1c]
+ mov r1, #0xa2
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256BE4
+ ldr r0, [sp, #0x1c]
+ mov r1, #0x9f
+ mov r2, #0
+ bl FUN_020671BC
+ cmp r0, #0
+ beq _02256BDC
+ add r1, r5, r4
+ mov r0, #3
+ strb r0, [r1, #2]
+ b _02256BEA
+_02256BDC:
+ add r1, r5, r4
+ mov r0, #1
+ strb r0, [r1, #2]
+ b _02256BEA
+_02256BE4:
+ add r1, r5, r4
+ mov r0, #2
+ strb r0, [r1, #2]
+_02256BEA:
+ add r4, r4, #1
+_02256BEC:
+ ldr r0, [sp, #0xc]
+ add r6, r6, #1
+ add r7, r7, #1
+ bl FUN_0206B9AC
+ cmp r7, r0
+ blt _02256B9A
+_02256BFA:
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02256C00: .word 0x0000312C
+_02256C04: .word 0x000001EE
+
+ thumb_func_start MOD11_02256C08
+MOD11_02256C08: ; 0x02256C08
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r5, r0, #0
+ lsl r0, r3, #0x18
+ lsr r0, r0, #0x18
+ add r4, r1, #0
+ add r7, r2, #0
+ str r3, [sp, #0x18]
+ bl MOD11_02257FC0
+ add r6, r0, #0
+ ldr r3, [r6, #0x14]
+ mov r0, #1
+ str r0, [sp]
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ str r3, [sp, #8]
+ bl FUN_0200C00C
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x23
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _02256CC8 ; =0x00004E26
+ mov r1, #2
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r2, r5, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ ldr r3, [r6, #0x1c]
+ mov r0, #1
+ str r0, [sp]
+ str r3, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ bl FUN_0200C124
+ ldr r3, [r6, #0x20]
+ mov r0, #1
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ str r3, [sp, #4]
+ bl FUN_0200C13C
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x23
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _02256CCC ; =0x00004E27
+ mov r1, #2
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r2, r5, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ ldr r0, [sp, #0x18]
+ sub r0, r0, #6
+ cmp r0, #1
+ bhi _02256CC4
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x2d
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _02256CD0 ; =0x00004E28
+ mov r1, #2
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r2, r5, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+_02256CC4:
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02256CC8: .word 0x00004E26
+_02256CCC: .word 0x00004E27
+_02256CD0: .word 0x00004E28
+
+ thumb_func_start MOD11_02256CD4
+MOD11_02256CD4: ; 0x02256CD4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ lsl r0, r3, #0x18
+ lsr r0, r0, #0x18
+ add r6, r1, #0
+ add r7, r2, #0
+ bl MOD11_02258024
+ add r4, r0, #0
+ beq _02256D44
+ ldr r3, [r4, #0x14]
+ mov r0, #1
+ str r0, [sp]
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ str r3, [sp, #8]
+ bl FUN_0200C00C
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x23
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _02256D48 ; =0x00004E26
+ mov r1, #2
+ str r0, [sp, #0x14]
+ add r0, r7, #0
+ add r2, r5, #0
+ add r3, r6, #0
+ bl FUN_0200C0DC
+ ldr r3, [r4, #0x1c]
+ mov r0, #1
+ str r0, [sp]
+ str r3, [sp, #4]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ bl FUN_0200C124
+ ldr r3, [r4, #0x20]
+ mov r0, #1
+ str r0, [sp]
+ add r0, r5, #0
+ add r1, r6, #0
+ mov r2, #0x1b
+ str r3, [sp, #4]
+ bl FUN_0200C13C
+_02256D44:
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02256D48: .word 0x00004E26
+
+ thumb_func_start MOD11_02256D4C
+MOD11_02256D4C: ; 0x02256D4C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ lsl r0, r2, #0x18
+ add r4, r1, #0
+ lsr r0, r0, #0x18
+ bl MOD11_02257FC0
+ add r2, r0, #0
+ add r0, r5, #0
+ add r1, r4, #0
+ bl FUN_0200C154
+ add r4, r0, #0
+ ldr r0, [r4]
+ bl FUN_0200C59C
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02256D70
+MOD11_02256D70: ; 0x02256D70
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ add r6, r1, #0
+ add r4, r2, #0
+ cmp r0, #0
+ bne _02256D82
+ bl ErrorHandling
+_02256D82:
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ cmp r0, #6
+ bne _02256D94
+ mov r1, #3
+ lsl r1, r1, #0xa
+ and r4, r1
+ b _02256DA4
+_02256D94:
+ cmp r0, #7
+ bne _02256DA0
+ mov r1, #3
+ lsl r1, r1, #0xc
+ and r4, r1
+ b _02256DA4
+_02256DA0:
+ ldr r1, _02256F00 ; =0xFFFFC3FF
+ and r4, r1
+_02256DA4:
+ cmp r0, #7
+ bhi _02256DEA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02256DB4: ; jump table
+ .short _02256DE6 - _02256DB4 - 2 ; case 0
+ .short _02256DC4 - _02256DB4 - 2 ; case 1
+ .short _02256DCA - _02256DB4 - 2 ; case 2
+ .short _02256DC4 - _02256DB4 - 2 ; case 3
+ .short _02256DCA - _02256DB4 - 2 ; case 4
+ .short _02256DC4 - _02256DB4 - 2 ; case 5
+ .short _02256DEA - _02256DB4 - 2 ; case 6
+ .short _02256DEA - _02256DB4 - 2 ; case 7
+_02256DC4:
+ mov r0, #0x26
+ bic r4, r0
+ b _02256DEA
+_02256DCA:
+ ldr r0, _02256F04 ; =0xFFFFFDDF
+ and r4, r0
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bne _02256DE0
+ mov r0, #6
+ bic r4, r0
+ b _02256DEA
+_02256DE0:
+ mov r0, #1
+ bic r4, r0
+ b _02256DEA
+_02256DE6:
+ ldr r0, _02256F08 ; =0xFFFFFDFF
+ and r4, r0
+_02256DEA:
+ ldr r0, [r5, #0xc]
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ beq _02256DFA
+ ldr r0, _02256F08 ; =0xFFFFFDFF
+ and r4, r0
+_02256DFA:
+ mov r0, #1
+ tst r0, r4
+ beq _02256E10
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_02257150
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_02257BEC
+_02256E10:
+ mov r0, #2
+ tst r0, r4
+ beq _02256E1E
+ add r0, r5, #0
+ add r1, r6, #0
+ bl MOD11_0225787C
+_02256E1E:
+ mov r0, #4
+ tst r0, r4
+ beq _02256E2A
+ add r0, r5, #0
+ bl MOD11_02257908
+_02256E2A:
+ mov r0, #0x80
+ tst r0, r4
+ bne _02256E36
+ mov r0, #0x40
+ tst r0, r4
+ beq _02256E3C
+_02256E36:
+ add r0, r5, #0
+ bl MOD11_02257654
+_02256E3C:
+ mov r0, #8
+ tst r0, r4
+ beq _02256E48
+ add r0, r5, #0
+ bl MOD11_0225775C
+_02256E48:
+ mov r0, #0x10
+ tst r0, r4
+ beq _02256E54
+ add r0, r5, #0
+ bl MOD11_022574F0
+_02256E54:
+ mov r0, #0x20
+ tst r0, r4
+ beq _02256E6A
+ add r0, r5, #0
+ mov r1, #0
+ bl MOD11_022571B8
+ add r0, r5, #0
+ mov r1, #1
+ bl MOD11_02257BEC
+_02256E6A:
+ mov r0, #2
+ lsl r0, r0, #8
+ tst r0, r4
+ beq _02256E78
+ add r0, r5, #0
+ bl MOD11_02257968
+_02256E78:
+ mov r0, #1
+ lsl r0, r0, #8
+ tst r0, r4
+ beq _02256EDC
+ add r0, r5, #0
+ add r0, #0x4a
+ ldrb r0, [r0]
+ cmp r0, #5
+ bhi _02256EA2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02256E96: ; jump table
+ .short _02256EA2 - _02256E96 - 2 ; case 0
+ .short _02256EAC - _02256E96 - 2 ; case 1
+ .short _02256EB6 - _02256E96 - 2 ; case 2
+ .short _02256EC0 - _02256E96 - 2 ; case 3
+ .short _02256ECA - _02256E96 - 2 ; case 4
+ .short _02256ED4 - _02256E96 - 2 ; case 5
+_02256EA2:
+ add r0, r5, #0
+ mov r1, #0x38
+ bl MOD11_022579B8
+ b _02256EDC
+_02256EAC:
+ add r0, r5, #0
+ mov r1, #0x2f
+ bl MOD11_022579B8
+ b _02256EDC
+_02256EB6:
+ add r0, r5, #0
+ mov r1, #0x32
+ bl MOD11_022579B8
+ b _02256EDC
+_02256EC0:
+ add r0, r5, #0
+ mov r1, #0x35
+ bl MOD11_022579B8
+ b _02256EDC
+_02256ECA:
+ add r0, r5, #0
+ mov r1, #0x2c
+ bl MOD11_022579B8
+ b _02256EDC
+_02256ED4:
+ add r0, r5, #0
+ mov r1, #0x29
+ bl MOD11_022579B8
+_02256EDC:
+ mov r0, #5
+ lsl r0, r0, #0xa
+ tst r0, r4
+ beq _02256EEC
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_022579F8
+_02256EEC:
+ mov r0, #0xa
+ lsl r0, r0, #0xa
+ tst r0, r4
+ beq _02256EFC
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02257AD4
+_02256EFC:
+ pop {r4, r5, r6, pc}
+ nop
+_02256F00: .word 0xFFFFC3FF
+_02256F04: .word 0xFFFFFDDF
+_02256F08: .word 0xFFFFFDFF
+
+ thumb_func_start MOD11_02256F0C
+MOD11_02256F0C: ; 0x02256F0C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x50]
+ cmp r0, #0
+ beq _02256F1E
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #0x50]
+_02256F1E:
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ beq _02256F2C
+ bl FUN_0200C3DC
+ mov r0, #0
+ str r0, [r4, #4]
+_02256F2C:
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256F30
+MOD11_02256F30: ; 0x02256F30
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ beq _02256F42
+ bl FUN_0200C3DC
+ mov r0, #0
+ str r0, [r4, #8]
+_02256F42:
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02256F44
+MOD11_02256F44: ; 0x02256F44
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ bl MOD11_02257FC0
+ add r4, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230078
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230080
+ ldr r1, [r4, #0x14]
+ add r5, r0, #0
+ bl FUN_0200C358
+ ldr r1, [r4, #0x1c]
+ add r0, r5, #0
+ bl FUN_0200C378
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0
+ bl FUN_0200C388
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02256F78
+MOD11_02256F78: ; 0x02256F78
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ bl MOD11_02258024
+ add r4, r0, #0
+ beq _02256FAC
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230078
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230080
+ ldr r1, [r4, #0x14]
+ add r5, r0, #0
+ bl FUN_0200C358
+ ldr r1, [r4, #0x1c]
+ add r0, r5, #0
+ bl FUN_0200C378
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0
+ bl FUN_0200C388
+_02256FAC:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02256FB0
+MOD11_02256FB0: ; 0x02256FB0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230078
+ add r6, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230080
+ add r7, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_022300CC
+ str r0, [sp]
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ bl MOD11_02257FC0
+ add r3, r5, #0
+ add r3, #0x25
+ add r4, r0, #0
+ ldrb r3, [r3]
+ ldr r2, [sp]
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_02256C08
+ add r2, r5, #0
+ add r2, #0x25
+ ldrb r2, [r2]
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_02256D4C
+ add r3, r5, #0
+ str r0, [r5, #4]
+ add r3, #0x25
+ ldrb r3, [r3]
+ ldr r2, [sp]
+ add r0, r6, #0
+ add r1, r7, #0
+ bl MOD11_02256CD4
+ ldr r0, [r5, #8]
+ cmp r0, #0
+ beq _0225702A
+ add r5, #0x25
+ mov r1, #0
+ ldrsh r3, [r4, r1]
+ ldrb r2, [r5]
+ ldr r1, _0225702C ; =0x0225E970
+ ldr r0, [r0]
+ ldrsb r1, [r1, r2]
+ mov r2, #2
+ ldrsh r2, [r4, r2]
+ sub r1, r3, r1
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ bl FUN_0200C6E4
+_0225702A:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225702C: .word 0x0225E970
+
+ thumb_func_start MOD11_02257030
+MOD11_02257030: ; 0x02257030
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_02256F0C
+ add r0, r4, #0
+ bl MOD11_02256F44
+ add r0, r4, #0
+ bl MOD11_02256F30
+ add r0, r4, #0
+ bl MOD11_02256F78
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0225704C
+MOD11_0225704C: ; 0x0225704C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ cmp r0, #2
+ beq _0225705C
+ cmp r0, #4
+ bne _02257136
+_0225705C:
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r2, [r0]
+ mov r1, #8
+ add r0, r2, #0
+ bic r0, r1
+ lsl r1, r2, #0x1c
+ lsr r2, r1, #0x1f
+ mov r1, #1
+ eor r1, r2
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1c
+ orr r1, r0
+ add r0, r5, #0
+ add r0, #0x4f
+ strb r1, [r0]
+ ldr r0, [r5, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r4, r0, #0
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ cmp r0, #1
+ bne _022570E8
+ mov r0, #0x38
+ bl MOD11_02257F60
+ add r1, r5, #0
+ add r1, #0x25
+ ldrb r1, [r1]
+ mov r6, #0x19
+ ldr r3, _02257138 ; =0x0225E9B0
+ lsl r2, r1, #2
+ ldrh r3, [r3, r2]
+ lsl r6, r6, #0x16
+ ldr r1, [r4, #4]
+ add r3, r6, r3
+ add r1, r1, r3
+ ldr r3, _0225713C ; =0x0225E9B2
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ mov r0, #0x45
+ bl MOD11_02257F60
+ add r1, r5, #0
+ add r1, #0x25
+ ldrb r1, [r1]
+ ldr r3, _02257140 ; =0x0225EA10
+ lsl r2, r1, #2
+ ldrh r3, [r3, r2]
+ ldr r1, [r4, #4]
+ add r3, r6, r3
+ add r1, r1, r3
+ ldr r3, _02257144 ; =0x0225EA12
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ ldr r1, [r5, #0x28]
+ add r0, r5, #0
+ mov r2, #6
+ bl MOD11_02256D70
+ pop {r4, r5, r6, pc}
+_022570E8:
+ mov r0, #0x42
+ bl MOD11_02257F60
+ add r1, r5, #0
+ add r1, #0x25
+ ldrb r1, [r1]
+ mov r6, #0x19
+ ldr r3, _02257138 ; =0x0225E9B0
+ lsl r2, r1, #2
+ ldrh r3, [r3, r2]
+ lsl r6, r6, #0x16
+ ldr r1, [r4, #4]
+ add r3, r6, r3
+ add r1, r1, r3
+ ldr r3, _0225713C ; =0x0225E9B2
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ mov r0, #0x44
+ bl MOD11_02257F60
+ add r1, r5, #0
+ add r1, #0x25
+ ldrb r1, [r1]
+ ldr r3, _02257148 ; =0x0225E9E0
+ lsl r2, r1, #2
+ ldrh r3, [r3, r2]
+ ldr r1, [r4, #4]
+ add r3, r6, r3
+ add r1, r1, r3
+ ldr r3, _0225714C ; =0x0225E9E2
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ ldr r1, [r5, #0x28]
+ add r0, r5, #0
+ mov r2, #1
+ bl MOD11_02256D70
+_02257136:
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_02257138: .word 0x0225E9B0
+_0225713C: .word 0x0225E9B2
+_02257140: .word 0x0225EA10
+_02257144: .word 0x0225EA12
+_02257148: .word 0x0225E9E0
+_0225714C: .word 0x0225E9E2
+
+ thumb_func_start MOD11_02257150
+MOD11_02257150: ; 0x02257150
+ mov r2, #2
+ lsl r2, r2, #0x1e
+ str r2, [r0, #0x34]
+ ldr r3, [r0, #0x28]
+ add r2, r3, r1
+ bpl _0225715E
+ sub r1, r1, r2
+_0225715E:
+ ldr r2, [r0, #0x2c]
+ add r3, r3, r1
+ cmp r3, r2
+ ble _0225716A
+ sub r2, r3, r2
+ sub r1, r1, r2
+_0225716A:
+ neg r1, r1
+ str r1, [r0, #0x30]
+ ldr r1, [r0, #0x28]
+ cmp r1, #0
+ bge _02257178
+ mov r1, #0
+ str r1, [r0, #0x28]
+_02257178:
+ ldr r2, [r0, #0x2c]
+ ldr r1, [r0, #0x28]
+ cmp r1, r2
+ ble _02257182
+ str r2, [r0, #0x28]
+_02257182:
+ bx lr
+
+ thumb_func_start MOD11_02257184
+MOD11_02257184: ; 0x02257184
+ push {r3, r4, r5, lr}
+ mov r1, #0
+ add r5, r0, #0
+ bl MOD11_02257BEC
+ add r4, r0, #0
+ mov r0, #0
+ mvn r0, r0
+ cmp r4, r0
+ bne _022571AA
+ ldr r1, [r5, #0x28]
+ ldr r0, [r5, #0x30]
+ mov r2, #2
+ sub r1, r1, r0
+ add r0, r5, #0
+ str r1, [r5, #0x28]
+ bl MOD11_02256D70
+ b _022571B4
+_022571AA:
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #2
+ bl MOD11_02256D70
+_022571B4:
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022571B8
+MOD11_022571B8: ; 0x022571B8
+ mov r2, #2
+ lsl r2, r2, #0x1e
+ str r2, [r0, #0x44]
+ ldr r3, [r0, #0x38]
+ add r2, r3, r1
+ bpl _022571C6
+ sub r1, r1, r2
+_022571C6:
+ ldr r2, [r0, #0x3c]
+ add r3, r3, r1
+ cmp r3, r2
+ ble _022571D2
+ sub r2, r3, r2
+ sub r1, r1, r2
+_022571D2:
+ neg r1, r1
+ str r1, [r0, #0x40]
+ ldr r1, [r0, #0x38]
+ cmp r1, #0
+ bge _022571E0
+ mov r1, #0
+ str r1, [r0, #0x38]
+_022571E0:
+ ldr r2, [r0, #0x3c]
+ ldr r1, [r0, #0x38]
+ cmp r1, r2
+ ble _022571EA
+ str r2, [r0, #0x38]
+_022571EA:
+ bx lr
+
+ thumb_func_start MOD11_022571EC
+MOD11_022571EC: ; 0x022571EC
+ push {r4, lr}
+ mov r1, #1
+ add r4, r0, #0
+ bl MOD11_02257BEC
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ bne _02257206
+ ldr r2, [r4, #0x38]
+ ldr r1, [r4, #0x40]
+ sub r1, r2, r1
+ str r1, [r4, #0x38]
+_02257206:
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02257208
+MOD11_02257208: ; 0x02257208
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ beq _02257222
+ ldr r0, [r0]
+ mov r1, #1
+ bl FUN_020200BC
+ add r0, r4, #0
+ mov r1, #1
+ bl MOD11_02257284
+_02257222:
+ ldr r0, [r4, #0xc]
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _02257236
+ add r0, r4, #0
+ bl MOD11_02258188
+_02257236:
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02257238
+MOD11_02257238: ; 0x02257238
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ beq _0225725C
+ ldr r0, [r0]
+ mov r1, #0
+ bl FUN_020200BC
+ ldr r0, [r4, #8]
+ mov r1, #0
+ ldr r0, [r0]
+ bl FUN_02020208
+ add r0, r4, #0
+ mov r1, #0
+ bl MOD11_02257284
+_0225725C:
+ add r0, r4, #0
+ bl MOD11_022581B0
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02257264
+MOD11_02257264: ; 0x02257264
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ add r4, r1, #0
+ cmp r0, #0
+ beq _02257280
+ bl FUN_0200C6B0
+ ldr r0, [r5, #8]
+ cmp r0, #0
+ beq _02257280
+ add r1, r4, #0
+ bl FUN_0200C6B0
+_02257280:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02257284
+MOD11_02257284: ; 0x02257284
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #8]
+ add r4, r1, #0
+ cmp r0, #0
+ beq _022572AA
+ ldr r0, [r5, #0xc]
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ beq _022572A2
+ cmp r4, #1
+ beq _022572AA
+_022572A2:
+ ldr r0, [r5, #8]
+ add r1, r4, #0
+ bl FUN_0200C644
+_022572AA:
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022572AC
+MOD11_022572AC: ; 0x022572AC
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ add r4, r1, #0
+ cmp r0, #0
+ beq _022572C4
+ bl FUN_0200C644
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_02257284
+_022572C4:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022572C8
+MOD11_022572C8: ; 0x022572C8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ add r6, r1, #0
+ add r7, r2, #0
+ cmp r0, #0
+ bne _022572DA
+ bl ErrorHandling
+_022572DA:
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ bl MOD11_02257FC0
+ add r4, r0, #0
+ mov r1, #0
+ mov r2, #2
+ ldrsh r1, [r4, r1]
+ ldrsh r2, [r4, r2]
+ ldr r0, [r5, #4]
+ add r1, r1, r6
+ add r2, r2, r7
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r0]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ ldr r0, [r5, #8]
+ cmp r0, #0
+ beq _0225732C
+ add r5, #0x25
+ ldrb r3, [r5]
+ mov r1, #0
+ ldr r2, _02257330 ; =0x0225E970
+ ldrsh r1, [r4, r1]
+ ldrsb r2, [r2, r3]
+ ldr r0, [r0]
+ add r1, r1, r6
+ sub r1, r1, r2
+ mov r2, #2
+ ldrsh r2, [r4, r2]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add r2, r2, r7
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+_0225732C:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02257330: .word 0x0225E970
+
+ thumb_func_start MOD11_02257334
+MOD11_02257334: ; 0x02257334
+ push {r3, r4, r5, lr}
+ add r4, r0, #0
+ add r5, r1, #0
+ cmp r4, #0
+ bne _02257342
+ bl ErrorHandling
+_02257342:
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ bne _0225734C
+ bl ErrorHandling
+_0225734C:
+ add r0, r4, #0
+ add r0, #0x4f
+ ldrb r1, [r0]
+ mov r0, #2
+ bic r1, r0
+ add r0, r4, #0
+ add r0, #0x4f
+ strb r1, [r0]
+ add r0, r4, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ mov r1, #1
+ bic r0, r1
+ lsl r1, r5, #0x18
+ lsr r2, r1, #0x18
+ mov r1, #1
+ and r1, r2
+ orr r1, r0
+ add r0, r4, #0
+ add r0, #0x4f
+ strb r1, [r0]
+ cmp r5, #0
+ bne _022573BA
+ add r0, r4, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ cmp r0, #7
+ bhi _022573AC
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02257390: ; jump table
+ .short _022573A0 - _02257390 - 2 ; case 0
+ .short _022573AC - _02257390 - 2 ; case 1
+ .short _022573A0 - _02257390 - 2 ; case 2
+ .short _022573AC - _02257390 - 2 ; case 3
+ .short _022573A0 - _02257390 - 2 ; case 4
+ .short _022573AC - _02257390 - 2 ; case 5
+ .short _022573A0 - _02257390 - 2 ; case 6
+ .short _022573A0 - _02257390 - 2 ; case 7
+_022573A0:
+ add r0, r4, #0
+ mov r1, #0xa0
+ mov r2, #0
+ bl MOD11_022572C8
+ b _022573C4
+_022573AC:
+ mov r1, #0x9f
+ add r0, r4, #0
+ mvn r1, r1
+ mov r2, #0
+ bl MOD11_022572C8
+ b _022573C4
+_022573BA:
+ mov r1, #0
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_022572C8
+_022573C4:
+ ldr r0, _022573D0 ; =MOD11_022573D8
+ ldr r2, _022573D4 ; =0x000003DE
+ add r1, r4, #0
+ bl FUN_0200CA44
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022573D0: .word MOD11_022573D8
+_022573D4: .word 0x000003DE
+
+ thumb_func_start MOD11_022573D8
+MOD11_022573D8: ; 0x022573D8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r7, r0, #0
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ mov r4, #0
+ bl MOD11_02257FC0
+ add r6, r0, #0
+ add r1, sp, #0
+ ldr r0, [r5, #4]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ cmp r0, #7
+ bhi _0225745E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225740E: ; jump table
+ .short _0225741E - _0225740E - 2 ; case 0
+ .short _0225745E - _0225740E - 2 ; case 1
+ .short _0225741E - _0225740E - 2 ; case 2
+ .short _0225745E - _0225740E - 2 ; case 3
+ .short _0225741E - _0225740E - 2 ; case 4
+ .short _0225745E - _0225740E - 2 ; case 5
+ .short _0225741E - _0225740E - 2 ; case 6
+ .short _0225741E - _0225740E - 2 ; case 7
+_0225741E:
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ add r0, sp, #0
+ bne _02257444
+ mov r1, #2
+ ldrsh r2, [r0, r1]
+ sub r2, #0x18
+ strh r2, [r0, #2]
+ add r2, r4, #0
+ ldrsh r1, [r0, r1]
+ ldrsh r2, [r6, r2]
+ cmp r1, r2
+ bge _0225749C
+ strh r2, [r0, #2]
+ add r4, r4, #1
+ b _0225749C
+_02257444:
+ mov r1, #2
+ ldrsh r2, [r0, r1]
+ add r2, #0x18
+ strh r2, [r0, #2]
+ add r2, r4, #0
+ ldrsh r2, [r6, r2]
+ ldrsh r1, [r0, r1]
+ add r2, #0xa0
+ cmp r1, r2
+ ble _0225749C
+ strh r2, [r0, #2]
+ add r4, r4, #1
+ b _0225749C
+_0225745E:
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ add r0, sp, #0
+ bne _02257484
+ mov r1, #2
+ ldrsh r2, [r0, r1]
+ add r2, #0x18
+ strh r2, [r0, #2]
+ mov r2, #0
+ ldrsh r1, [r0, r1]
+ ldrsh r2, [r6, r2]
+ cmp r1, r2
+ ble _0225749C
+ strh r2, [r0, #2]
+ add r4, r4, #1
+ b _0225749C
+_02257484:
+ mov r1, #2
+ ldrsh r2, [r0, r1]
+ sub r2, #0x18
+ strh r2, [r0, #2]
+ mov r2, #0
+ ldrsh r2, [r6, r2]
+ ldrsh r1, [r0, r1]
+ sub r2, #0x18
+ cmp r1, r2
+ bge _0225749C
+ strh r2, [r0, #2]
+ add r4, r4, #1
+_0225749C:
+ add r2, sp, #0
+ mov r1, #2
+ mov r3, #0
+ ldrsh r1, [r2, r1]
+ ldrsh r2, [r2, r3]
+ ldr r0, [r5, #4]
+ bl FUN_0200C714
+ ldr r0, [r5, #8]
+ cmp r0, #0
+ beq _022574D0
+ add r6, sp, #0
+ mov r1, #2
+ ldrsh r3, [r6, r1]
+ add r1, r5, #0
+ add r1, #0x25
+ ldrb r2, [r1]
+ ldr r1, _022574EC ; =0x0225E970
+ ldrsb r1, [r1, r2]
+ mov r2, #0
+ ldrsh r2, [r6, r2]
+ sub r1, r3, r1
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+_022574D0:
+ cmp r4, #0
+ ble _022574E8
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r1, [r0]
+ mov r0, #2
+ add r5, #0x4f
+ orr r0, r1
+ strb r0, [r5]
+ add r0, r7, #0
+ bl FUN_0200CAB4
+_022574E8:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022574EC: .word 0x0225E970
+
+ thumb_func_start MOD11_022574F0
+MOD11_022574F0: ; 0x022574F0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x34
+ add r5, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_0222FF68
+ add r6, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_022300C4
+ add r7, r0, #0
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230138
+ add r4, r0, #0
+ mov r0, #0x16
+ mov r1, #5
+ bl FUN_020219F4
+ mov r1, #0xf1
+ str r0, [sp, #0x18]
+ add r0, r7, #0
+ lsl r1, r1, #2
+ bl FUN_0200A914
+ add r1, r5, #0
+ add r2, r5, #0
+ add r1, #0x24
+ add r2, #0x26
+ str r0, [sp, #0x1c]
+ ldrb r1, [r1]
+ ldrb r2, [r2]
+ ldr r0, [r5, #0xc]
+ bl MOD11_02230014
+ bl FUN_020690E4
+ add r2, r0, #0
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_0200ACF8
+ ldr r1, [sp, #0x18]
+ ldr r2, [sp, #0x1c]
+ add r0, r4, #0
+ bl FUN_0200B7B8
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0xf
+ str r0, [sp, #4]
+ add r0, r6, #0
+ add r1, sp, #0x24
+ mov r2, #8
+ mov r3, #2
+ bl FUN_020190EC
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, _02257630 ; =0x000E020F
+ ldr r2, [sp, #0x18]
+ str r0, [sp, #8]
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ str r1, [sp, #0x14]
+ add r0, sp, #0x24
+ add r3, r1, #0
+ bl FUN_0201BE3C
+ ldr r0, [r5, #4]
+ ldr r6, [sp, #0x30]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r4, r0, #0
+ mov r0, #1
+ lsl r0, r0, #8
+ add r0, r6, r0
+ str r0, [sp, #0x20]
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ ldr r1, _02257634 ; =0x0225EC88
+ ldr r3, [r4, #4]
+ lsl r7, r0, #4
+ ldrh r2, [r1, r7]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ add r1, r1, r2
+ ldr r2, _02257638 ; =0x0225EC8A
+ add r0, r6, #0
+ ldrh r2, [r2, r7]
+ add r1, r3, r1
+ blx MIi_CpuCopy16
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ ldr r1, _0225763C ; =0x0225EC8C
+ ldr r3, [r4, #4]
+ lsl r7, r0, #4
+ ldrh r2, [r1, r7]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ add r1, r1, r2
+ ldr r2, _02257640 ; =0x0225EC8E
+ ldr r0, [sp, #0x20]
+ ldrh r2, [r2, r7]
+ add r1, r3, r1
+ blx MIi_CpuCopy16
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ ldr r3, _02257644 ; =0x0225EC90
+ ldr r1, [r4, #4]
+ lsl r2, r0, #4
+ ldr r0, _02257638 ; =0x0225EC8A
+ ldrh r0, [r0, r2]
+ add r0, r6, r0
+ ldrh r6, [r3, r2]
+ mov r3, #0x19
+ lsl r3, r3, #0x16
+ add r3, r3, r6
+ add r1, r1, r3
+ ldr r3, _02257648 ; =0x0225EC92
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ add r5, #0x25
+ ldrb r0, [r5]
+ ldr r4, [r4, #4]
+ lsl r2, r0, #4
+ ldr r0, _02257640 ; =0x0225EC8E
+ ldrh r1, [r0, r2]
+ ldr r0, [sp, #0x20]
+ add r0, r0, r1
+ ldr r1, _0225764C ; =0x0225EC94
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ add r1, r1, r3
+ ldr r3, _02257650 ; =0x0225EC96
+ add r1, r4, r1
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ add r0, sp, #0x24
+ bl FUN_02019178
+ ldr r0, [sp, #0x18]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x1c]
+ bl FUN_02021A20
+ add sp, #0x34
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02257630: .word 0x000E020F
+_02257634: .word 0x0225EC88
+_02257638: .word 0x0225EC8A
+_0225763C: .word 0x0225EC8C
+_02257640: .word 0x0225EC8E
+_02257644: .word 0x0225EC90
+_02257648: .word 0x0225EC92
+_0225764C: .word 0x0225EC94
+_02257650: .word 0x0225EC96
+
+ thumb_func_start MOD11_02257654
+MOD11_02257654: ; 0x02257654
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ str r0, [sp]
+ add r0, #0x49
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _02257666
+ mov r0, #0x3e
+ b _02257670
+_02257666:
+ cmp r0, #1
+ bne _0225766E
+ mov r0, #0x3c
+ b _02257670
+_0225766E:
+ mov r0, #0x40
+_02257670:
+ bl MOD11_02257F60
+ add r4, r0, #0
+ mov r0, #5
+ mov r1, #0x80
+ bl FUN_02016998
+ add r7, r0, #0
+ ldr r0, [sp]
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ str r0, [sp, #4]
+ ldr r0, [sp]
+ ldr r1, _0225774C ; =0x0225EAB8
+ add r0, #0x25
+ ldrb r0, [r0]
+ lsl r2, r0, #3
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ ldr r0, [sp, #4]
+ add r1, r1, r3
+ ldr r3, _02257750 ; =0x0225EABA
+ ldr r0, [r0, #4]
+ ldrh r2, [r3, r2]
+ add r0, r0, r1
+ add r1, r7, #0
+ blx MIi_CpuCopy16
+ ldr r0, [sp]
+ ldr r1, _02257754 ; =0x0225EABC
+ add r0, #0x25
+ ldrb r0, [r0]
+ lsl r2, r0, #3
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ ldr r0, [sp, #4]
+ lsl r1, r1, #0x16
+ add r1, r1, r3
+ ldr r3, _02257758 ; =0x0225EABE
+ ldr r0, [r0, #4]
+ ldrh r2, [r3, r2]
+ add r0, r0, r1
+ add r1, r7, #0
+ add r1, #0x40
+ blx MIi_CpuCopy16
+ mov r2, #0
+ add r1, r2, #0
+_022576D6:
+ mov r0, #0
+ add r3, r7, r1
+_022576DA:
+ ldrb r5, [r4, r2]
+ add r6, r4, r2
+ add r0, r0, #1
+ strb r5, [r3, #0x10]
+ ldrb r6, [r6, #0x10]
+ add r5, r3, #0
+ add r5, #0x40
+ strb r6, [r5]
+ add r2, r2, #1
+ add r3, r3, #1
+ cmp r0, #0x10
+ blt _022576DA
+ add r1, #0x20
+ add r2, #0x10
+ cmp r1, #0x40
+ blt _022576D6
+ ldr r0, [sp]
+ ldr r1, [sp, #4]
+ add r0, #0x25
+ ldrb r0, [r0]
+ ldr r3, _0225774C ; =0x0225EAB8
+ ldr r1, [r1, #4]
+ lsl r2, r0, #3
+ ldrh r4, [r3, r2]
+ mov r3, #0x19
+ lsl r3, r3, #0x16
+ add r3, r3, r4
+ add r1, r1, r3
+ ldr r3, _02257750 ; =0x0225EABA
+ add r0, r7, #0
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ ldr r0, [sp]
+ ldr r3, _02257754 ; =0x0225EABC
+ add r0, #0x25
+ str r0, [sp]
+ ldrb r0, [r0]
+ ldr r1, [sp, #4]
+ lsl r2, r0, #3
+ ldrh r4, [r3, r2]
+ mov r3, #0x19
+ lsl r3, r3, #0x16
+ add r0, r7, #0
+ ldr r1, [r1, #4]
+ add r3, r3, r4
+ add r1, r1, r3
+ ldr r3, _02257758 ; =0x0225EABE
+ add r0, #0x40
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ add r0, r7, #0
+ bl FUN_02016A18
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225774C: .word 0x0225EAB8
+_02257750: .word 0x0225EABA
+_02257754: .word 0x0225EABC
+_02257758: .word 0x0225EABE
+
+ thumb_func_start MOD11_0225775C
+MOD11_0225775C: ; 0x0225775C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #4]
+ mov r0, #5
+ mov r1, #0x60
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r0, #5
+ mov r1, #0xc0
+ bl FUN_02016998
+ add r7, r0, #0
+ add r0, r4, #0
+ mov r1, #0xff
+ mov r2, #0x60
+ blx MI_CpuFill8
+ ldr r0, [sp, #4]
+ ldr r0, [r0, #0xc]
+ bl MOD11_022300BC
+ ldr r1, [sp, #4]
+ str r4, [sp]
+ add r1, #0x48
+ ldrb r1, [r1]
+ mov r2, #3
+ mov r3, #0
+ bl FUN_0200BAAC
+ ldr r0, [sp, #4]
+ ldr r0, [r0, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ str r0, [sp, #8]
+ ldr r0, [sp, #4]
+ ldr r1, _0225786C ; =0x0225EA28
+ add r0, #0x25
+ ldrb r0, [r0]
+ lsl r2, r0, #3
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ ldr r0, [sp, #8]
+ add r1, r1, r3
+ ldr r3, _02257870 ; =0x0225EA2A
+ ldr r0, [r0, #4]
+ ldrh r2, [r3, r2]
+ add r0, r0, r1
+ add r1, r7, #0
+ blx MIi_CpuCopy16
+ ldr r0, [sp, #4]
+ ldr r1, _02257874 ; =0x0225EA2C
+ add r0, #0x25
+ ldrb r0, [r0]
+ lsl r2, r0, #3
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ ldr r0, [sp, #8]
+ lsl r1, r1, #0x16
+ add r1, r1, r3
+ ldr r3, _02257878 ; =0x0225EA2E
+ ldr r0, [r0, #4]
+ ldrh r2, [r3, r2]
+ add r0, r0, r1
+ add r1, r7, #0
+ add r1, #0x60
+ blx MIi_CpuCopy16
+ mov r2, #0
+ add r1, r2, #0
+_022577EE:
+ mov r0, #0
+ add r3, r7, r1
+_022577F2:
+ ldrb r5, [r4, r2]
+ add r6, r4, r2
+ add r0, r0, #1
+ strb r5, [r3, #0x10]
+ ldrb r6, [r6, #0x10]
+ add r5, r3, #0
+ add r5, #0x60
+ strb r6, [r5]
+ add r2, r2, #1
+ add r3, r3, #1
+ cmp r0, #0x10
+ blt _022577F2
+ add r1, #0x20
+ add r2, #0x10
+ cmp r1, #0x60
+ blt _022577EE
+ ldr r0, [sp, #4]
+ ldr r1, [sp, #8]
+ add r0, #0x25
+ ldrb r0, [r0]
+ ldr r3, _0225786C ; =0x0225EA28
+ ldr r1, [r1, #4]
+ lsl r2, r0, #3
+ ldrh r5, [r3, r2]
+ mov r3, #0x19
+ lsl r3, r3, #0x16
+ add r3, r3, r5
+ add r1, r1, r3
+ ldr r3, _02257870 ; =0x0225EA2A
+ add r0, r7, #0
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ ldr r0, [sp, #4]
+ ldr r3, _02257874 ; =0x0225EA2C
+ add r0, #0x25
+ str r0, [sp, #4]
+ ldrb r0, [r0]
+ ldr r1, [sp, #8]
+ lsl r2, r0, #3
+ ldrh r5, [r3, r2]
+ mov r3, #0x19
+ lsl r3, r3, #0x16
+ add r0, r7, #0
+ ldr r1, [r1, #4]
+ add r3, r3, r5
+ add r1, r1, r3
+ ldr r3, _02257878 ; =0x0225EA2E
+ add r0, #0x60
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r7, #0
+ bl FUN_02016A18
+ add sp, #0xc
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0225786C: .word 0x0225EA28
+_02257870: .word 0x0225EA2A
+_02257874: .word 0x0225EA2C
+_02257878: .word 0x0225EA2E
+
+ thumb_func_start MOD11_0225787C
+MOD11_0225787C: ; 0x0225787C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ mov r0, #5
+ mov r1, #0x60
+ bl FUN_02016998
+ mov r1, #0xff
+ mov r2, #0x60
+ add r4, r0, #0
+ blx MI_CpuFill8
+ ldr r0, [r5, #0xc]
+ bl MOD11_022300B4
+ str r4, [sp]
+ add r1, r6, #0
+ mov r2, #3
+ mov r3, #1
+ bl FUN_0200BAAC
+ ldr r0, [r5, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r6, r0, #0
+ add r0, r5, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ mov r7, #0x19
+ ldr r3, _022578F8 ; =0x0225EA58
+ lsl r2, r0, #3
+ ldrh r3, [r3, r2]
+ lsl r7, r7, #0x16
+ ldr r1, [r6, #4]
+ add r3, r7, r3
+ add r1, r1, r3
+ ldr r3, _022578FC ; =0x0225EA5A
+ add r0, r4, #0
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ add r5, #0x25
+ ldrb r0, [r5]
+ ldr r3, _02257900 ; =0x0225EA5C
+ ldr r1, [r6, #4]
+ lsl r2, r0, #3
+ ldrh r3, [r3, r2]
+ ldr r0, _022578FC ; =0x0225EA5A
+ add r3, r7, r3
+ add r1, r1, r3
+ ldrh r0, [r0, r2]
+ ldr r3, _02257904 ; =0x0225EA5E
+ ldrh r2, [r3, r2]
+ add r0, r4, r0
+ blx MIi_CpuCopy16
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022578F8: .word 0x0225EA58
+_022578FC: .word 0x0225EA5A
+_02257900: .word 0x0225EA5C
+_02257904: .word 0x0225EA5E
+
+ thumb_func_start MOD11_02257908
+MOD11_02257908: ; 0x02257908
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ mov r0, #5
+ mov r1, #0x60
+ bl FUN_02016998
+ mov r1, #0xff
+ mov r2, #0x60
+ add r4, r0, #0
+ blx MI_CpuFill8
+ ldr r0, [r5, #0xc]
+ bl MOD11_022300B4
+ str r4, [sp]
+ ldr r1, [r5, #0x2c]
+ mov r2, #3
+ mov r3, #0
+ bl FUN_0200BAAC
+ ldr r0, [r5, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r1, r0, #0
+ add r5, #0x25
+ ldrb r0, [r5]
+ ldr r3, _02257960 ; =0x0225E9F8
+ ldr r1, [r1, #4]
+ lsl r2, r0, #2
+ ldrh r5, [r3, r2]
+ mov r3, #0x19
+ lsl r3, r3, #0x16
+ add r3, r5, r3
+ add r1, r1, r3
+ ldr r3, _02257964 ; =0x0225E9FA
+ add r0, r4, #0
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02257960: .word 0x0225E9F8
+_02257964: .word 0x0225E9FA
+
+ thumb_func_start MOD11_02257968
+MOD11_02257968: ; 0x02257968
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, #0x4b
+ ldrb r0, [r0]
+ cmp r0, #1
+ bne _0225797C
+ mov r0, #0x3b
+ bl MOD11_02257F60
+ b _02257982
+_0225797C:
+ mov r0, #0x38
+ bl MOD11_02257F60
+_02257982:
+ add r4, r0, #0
+ ldr r0, [r5, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r5, #0x25
+ add r1, r0, #0
+ ldrb r0, [r5]
+ lsl r2, r0, #2
+ add r0, r4, #0
+ ldr r4, [r1, #4]
+ ldr r1, _022579B0 ; =0x0225E9C8
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ add r1, r3, r1
+ ldr r3, _022579B4 ; =0x0225E9CA
+ add r1, r4, r1
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ pop {r3, r4, r5, pc}
+ nop
+_022579B0: .word 0x0225E9C8
+_022579B4: .word 0x0225E9CA
+
+ thumb_func_start MOD11_022579B8
+MOD11_022579B8: ; 0x022579B8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, r1, #0
+ bl MOD11_02257F60
+ add r4, r0, #0
+ ldr r0, [r5, #4]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r5, #0x25
+ add r1, r0, #0
+ ldrb r0, [r5]
+ lsl r2, r0, #2
+ add r0, r4, #0
+ ldr r4, [r1, #4]
+ ldr r1, _022579F0 ; =0x0225E998
+ ldrh r3, [r1, r2]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ add r1, r3, r1
+ ldr r3, _022579F4 ; =0x0225E99A
+ add r1, r4, r1
+ ldrh r2, [r3, r2]
+ blx MIi_CpuCopy16
+ pop {r3, r4, r5, pc}
+ nop
+_022579F0: .word 0x0225E998
+_022579F4: .word 0x0225E99A
+
+ thumb_func_start MOD11_022579F8
+MOD11_022579F8: ; 0x022579F8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x28
+ add r4, r0, #0
+ ldr r0, [r4, #0xc]
+ add r5, r1, #0
+ bl MOD11_0222FF68
+ add r6, r0, #0
+ ldr r0, [r4, #0xc]
+ bl MOD11_022300C4
+ mov r1, #1
+ lsl r1, r1, #0xa
+ add r2, r5, #0
+ tst r2, r1
+ beq _02257A20
+ sub r1, #0x4a
+ bl FUN_0200A914
+ b _02257A26
+_02257A20:
+ add r1, #0xc4
+ bl FUN_0200A914
+_02257A26:
+ add r7, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0xf
+ str r0, [sp, #4]
+ add r0, r6, #0
+ add r1, sp, #0x18
+ mov r2, #0xd
+ mov r3, #2
+ bl FUN_020190EC
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, _02257AD0 ; =0x000E020F
+ add r2, r7, #0
+ str r0, [sp, #8]
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ str r1, [sp, #0x14]
+ add r0, sp, #0x18
+ add r3, r1, #0
+ bl FUN_0201BE3C
+ ldr r0, [r4, #4]
+ ldr r5, [sp, #0x24]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r4, r0, #0
+ mov r2, #0x1a
+ mov r6, #0x19
+ lsl r2, r2, #4
+ lsl r6, r6, #0x16
+ add r2, #0xa0
+ ldr r1, [r4, #4]
+ add r2, r6, r2
+ add r1, r1, r2
+ add r0, r5, #0
+ mov r2, #0xc0
+ blx MIi_CpuCopy16
+ mov r2, #0xd
+ mov r0, #0x1a
+ lsl r2, r2, #6
+ lsl r0, r0, #4
+ ldr r1, [r4, #4]
+ add r2, r6, r2
+ add r1, r1, r2
+ add r0, r5, r0
+ mov r2, #0xc0
+ blx MIi_CpuCopy16
+ mov r2, #0xa
+ lsl r2, r2, #8
+ add r0, r5, #0
+ ldr r1, [r4, #4]
+ add r2, r6, r2
+ add r1, r1, r2
+ add r0, #0xc0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ mov r0, #0x1a
+ mov r1, #0xb
+ lsl r0, r0, #4
+ lsl r1, r1, #8
+ add r0, r5, r0
+ ldr r2, [r4, #4]
+ add r1, r6, r1
+ add r1, r2, r1
+ add r0, #0xc0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ add r0, sp, #0x18
+ bl FUN_02019178
+ add r0, r7, #0
+ bl FUN_02021A20
+ add sp, #0x28
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02257AD0: .word 0x000E020F
+
+ thumb_func_start MOD11_02257AD4
+MOD11_02257AD4: ; 0x02257AD4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x34
+ add r4, r0, #0
+ ldr r0, [r4, #0xc]
+ add r5, r1, #0
+ bl MOD11_0222FF68
+ str r0, [sp, #0x1c]
+ ldr r0, [r4, #0xc]
+ bl MOD11_022300C4
+ str r0, [sp, #0x20]
+ ldr r0, [r4, #0xc]
+ bl MOD11_02230138
+ add r7, r0, #0
+ mov r0, #0x1e
+ mov r1, #5
+ bl FUN_020219F4
+ mov r1, #1
+ add r6, r0, #0
+ lsl r1, r1, #0xa
+ add r0, r5, #0
+ tst r0, r1
+ beq _02257B14
+ ldr r0, [sp, #0x20]
+ sub r1, #0x49
+ bl FUN_0200A914
+ str r0, [sp, #0x18]
+ b _02257B1E
+_02257B14:
+ ldr r0, [sp, #0x20]
+ add r1, #0xc5
+ bl FUN_0200A914
+ str r0, [sp, #0x18]
+_02257B1E:
+ mov r0, #1
+ str r0, [sp]
+ add r2, r4, #0
+ str r0, [sp, #4]
+ add r2, #0x27
+ ldrb r2, [r2]
+ add r0, r7, #0
+ mov r1, #0
+ mov r3, #2
+ bl FUN_0200AD38
+ ldr r2, [sp, #0x18]
+ add r0, r7, #0
+ add r1, r6, #0
+ bl FUN_0200B7B8
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #0xf
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x1c]
+ add r1, sp, #0x24
+ mov r2, #0xd
+ mov r3, #2
+ bl FUN_020190EC
+ mov r1, #0
+ str r1, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, _02257BE8 ; =0x000E020F
+ add r2, r6, #0
+ str r0, [sp, #8]
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ str r1, [sp, #0x14]
+ add r0, sp, #0x24
+ add r3, r1, #0
+ bl FUN_0201BE3C
+ ldr r0, [r4, #4]
+ ldr r5, [sp, #0x30]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r4, r0, #0
+ mov r7, #0x19
+ mov r2, #0x11
+ lsl r7, r7, #0x16
+ lsl r2, r2, #6
+ ldr r1, [r4, #4]
+ add r2, r7, r2
+ add r1, r1, r2
+ add r0, r5, #0
+ mov r2, #0xc0
+ blx MIi_CpuCopy16
+ mov r2, #0x15
+ mov r0, #0x1a
+ lsl r2, r2, #6
+ lsl r0, r0, #4
+ ldr r1, [r4, #4]
+ add r2, r7, r2
+ add r1, r1, r2
+ add r0, r5, r0
+ mov r2, #0xc0
+ blx MIi_CpuCopy16
+ mov r2, #3
+ lsl r2, r2, #0xa
+ add r0, r5, #0
+ ldr r1, [r4, #4]
+ add r2, r7, r2
+ add r1, r1, r2
+ add r0, #0xc0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ mov r0, #0x1a
+ mov r1, #0xd
+ lsl r0, r0, #4
+ lsl r1, r1, #8
+ add r0, r5, r0
+ ldr r2, [r4, #4]
+ add r1, r7, r1
+ add r1, r2, r1
+ add r0, #0xc0
+ mov r2, #0xe0
+ blx MIi_CpuCopy16
+ add r0, sp, #0x24
+ bl FUN_02019178
+ add r0, r6, #0
+ bl FUN_02021A20
+ ldr r0, [sp, #0x18]
+ bl FUN_02021A20
+ add sp, #0x34
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02257BE8: .word 0x000E020F
+
+ thumb_func_start MOD11_02257BEC
+MOD11_02257BEC: ; 0x02257BEC
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ add r5, r0, #0
+ add r4, r1, #0
+ bne _02257C10
+ mov r0, #6
+ str r0, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r3, r5, #0
+ ldr r0, [r5, #0x2c]
+ ldr r1, [r5, #0x28]
+ ldr r2, [r5, #0x30]
+ add r3, #0x34
+ bl MOD11_02257DE8
+ add r6, r0, #0
+ b _02257C48
+_02257C10:
+ ldr r0, [r5, #0x38]
+ ldr r1, [r5, #0x40]
+ ldr r2, [r5, #0x3c]
+ mov r3, #0xb
+ bl MOD11_02257F20
+ add r1, r0, #0
+ bne _02257C22
+ mov r1, #1
+_02257C22:
+ ldr r6, [r5, #0x40]
+ add r0, r6, #0
+ blx _s32_div_f
+ blx abs
+ mov r1, #0xb
+ lsl r0, r0, #0x10
+ add r3, r5, #0
+ str r1, [sp]
+ lsr r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r0, [r5, #0x3c]
+ ldr r1, [r5, #0x38]
+ add r2, r6, #0
+ add r3, #0x44
+ bl MOD11_02257DE8
+ add r6, r0, #0
+_02257C48:
+ cmp r4, #0
+ bne _02257C5A
+ add r0, r5, #0
+ add r0, #0x4f
+ ldrb r0, [r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ cmp r0, #1
+ beq _02257C64
+_02257C5A:
+ lsl r1, r4, #0x18
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ bl MOD11_02257C80
+_02257C64:
+ mov r0, #0
+ mvn r0, r0
+ cmp r6, r0
+ bne _02257C7A
+ cmp r4, #0
+ bne _02257C76
+ mov r0, #0
+ str r0, [r5, #0x34]
+ b _02257C7A
+_02257C76:
+ mov r0, #0
+ str r0, [r5, #0x44]
+_02257C7A:
+ add r0, r6, #0
+ add sp, #8
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02257C80
+MOD11_02257C80: ; 0x02257C80
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r6, r0, #0
+ ldr r0, [r6, #4]
+ add r4, r1, #0
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r5, r0, #0
+ cmp r4, #0
+ beq _02257C9E
+ cmp r4, #1
+ beq _02257D50
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+_02257C9E:
+ add r0, sp, #0x10
+ str r0, [sp]
+ mov r0, #6
+ str r0, [sp, #4]
+ add r3, r6, #0
+ ldr r0, [r6, #0x2c]
+ ldr r1, [r6, #0x28]
+ ldr r2, [r6, #0x30]
+ add r3, #0x34
+ bl MOD11_02257EA4
+ mov r1, #0x30
+ bl FUN_02079A24
+ cmp r0, #1
+ beq _02257CCE
+ cmp r0, #2
+ beq _02257CCA
+ cmp r0, #3
+ bne _02257CCE
+ mov r0, #2
+ b _02257CD0
+_02257CCA:
+ mov r0, #0xb
+ b _02257CD0
+_02257CCE:
+ mov r0, #0x14
+_02257CD0:
+ bl MOD11_02257F60
+ str r0, [sp, #0xc]
+ add r0, r6, #0
+ add r0, #0x25
+ ldrb r0, [r0]
+ mov r4, #0
+ lsl r1, r0, #3
+ ldr r0, _02257DE0 ; =0x0225EA8A
+ ldrh r0, [r0, r1]
+ lsr r7, r0, #5
+_02257CE6:
+ cmp r4, r7
+ add r0, sp, #0x10
+ bge _02257D16
+ add r2, r6, #0
+ add r2, #0x25
+ ldrb r2, [r2]
+ ldrb r0, [r0, r4]
+ lsl r3, r2, #3
+ ldr r2, _02257DE4 ; =0x0225EA88
+ lsl r1, r0, #5
+ ldrh r3, [r2, r3]
+ ldr r0, [sp, #0xc]
+ mov r2, #0x19
+ lsl r2, r2, #0x16
+ add r0, r0, r1
+ add r3, r2, r3
+ lsl r2, r4, #5
+ ldr r1, [r5, #4]
+ add r2, r3, r2
+ add r1, r1, r2
+ mov r2, #0x20
+ blx MIi_CpuCopy16
+ b _02257D42
+_02257D16:
+ ldrb r0, [r0, r4]
+ ldr r2, [r5, #4]
+ lsl r1, r0, #5
+ ldr r0, [sp, #0xc]
+ add r0, r0, r1
+ add r1, r6, #0
+ add r1, #0x25
+ ldrb r1, [r1]
+ lsl r3, r1, #3
+ ldr r1, _02257DE4 ; =0x0225EA88
+ add r1, r1, r3
+ ldrh r3, [r1, #4]
+ mov r1, #0x19
+ lsl r1, r1, #0x16
+ add r1, r1, r3
+ sub r3, r4, r7
+ lsl r3, r3, #5
+ add r1, r1, r3
+ add r1, r2, r1
+ mov r2, #0x20
+ blx MIi_CpuCopy16
+_02257D42:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #6
+ blo _02257CE6
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+_02257D50:
+ add r0, sp, #0x10
+ str r0, [sp]
+ mov r0, #0xb
+ str r0, [sp, #4]
+ add r3, r6, #0
+ ldr r0, [r6, #0x3c]
+ ldr r1, [r6, #0x38]
+ ldr r2, [r6, #0x40]
+ add r3, #0x44
+ bl MOD11_02257EA4
+ add r6, #0x48
+ ldrb r0, [r6]
+ cmp r0, #0x64
+ bne _02257D80
+ mov r0, #0
+ add r2, r0, #0
+ add r1, sp, #0x10
+_02257D74:
+ strb r2, [r1, r0]
+ add r0, r0, #1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0xb
+ blo _02257D74
+_02257D80:
+ mov r0, #0x1d
+ bl MOD11_02257F60
+ add r6, r0, #0
+ mov r1, #0x19
+ mov r0, #0x1a
+ lsl r1, r1, #0x16
+ lsl r0, r0, #6
+ add r0, r1, r0
+ str r0, [sp, #8]
+ mov r0, #0xe
+ lsl r0, r0, #8
+ mov r4, #0
+ add r7, r1, r0
+_02257D9C:
+ cmp r4, #4
+ add r0, sp, #0x10
+ bhs _02257DBA
+ ldrb r0, [r0, r4]
+ ldr r1, [sp, #8]
+ lsl r2, r4, #5
+ lsl r0, r0, #5
+ add r1, r1, r2
+ ldr r3, [r5, #4]
+ add r0, r6, r0
+ add r1, r3, r1
+ mov r2, #0x20
+ blx MIi_CpuCopy16
+ b _02257DD0
+_02257DBA:
+ ldrb r0, [r0, r4]
+ sub r2, r4, #4
+ lsl r2, r2, #5
+ lsl r0, r0, #5
+ ldr r1, [r5, #4]
+ add r2, r7, r2
+ add r1, r1, r2
+ add r0, r6, r0
+ mov r2, #0x20
+ blx MIi_CpuCopy16
+_02257DD0:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0xb
+ blo _02257D9C
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02257DE0: .word 0x0225EA8A
+_02257DE4: .word 0x0225EA88
+
+ thumb_func_start MOD11_02257DE8
+MOD11_02257DE8: ; 0x02257DE8
+ push {r4, r5, r6, lr}
+ add r6, r2, #0
+ add r2, sp, #0
+ add r5, r3, #0
+ ldrb r2, [r2, #0x10]
+ mov r3, #2
+ ldr r4, [r5]
+ lsl r2, r2, #0x1b
+ lsl r3, r3, #0x1e
+ lsr r2, r2, #0x18
+ cmp r4, r3
+ bne _02257E0C
+ cmp r0, r2
+ bge _02257E0A
+ lsl r3, r1, #8
+ str r3, [r5]
+ b _02257E0C
+_02257E0A:
+ str r1, [r5]
+_02257E0C:
+ sub r4, r1, r6
+ bpl _02257E14
+ mov r4, #0
+ b _02257E1A
+_02257E14:
+ cmp r4, r0
+ ble _02257E1A
+ add r4, r0, #0
+_02257E1A:
+ cmp r0, r2
+ bge _02257E32
+ ldr r3, [r5]
+ asr r1, r3, #8
+ cmp r4, r1
+ bne _02257E3E
+ lsl r1, r3, #0x18
+ lsr r1, r1, #0x18
+ bne _02257E3E
+ mov r0, #0
+ mvn r0, r0
+ pop {r4, r5, r6, pc}
+_02257E32:
+ ldr r1, [r5]
+ cmp r4, r1
+ bne _02257E3E
+ mov r0, #0
+ mvn r0, r0
+ pop {r4, r5, r6, pc}
+_02257E3E:
+ cmp r0, r2
+ bge _02257E7E
+ lsl r0, r0, #8
+ add r1, r2, #0
+ blx _s32_div_f
+ cmp r6, #0
+ ldr r1, [r5]
+ bge _02257E62
+ add r0, r1, r0
+ str r0, [r5]
+ asr r0, r0, #8
+ cmp r0, r4
+ blt _02257EA2
+ lsl r0, r4, #8
+ str r0, [r5]
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+_02257E62:
+ sub r1, r1, r0
+ str r1, [r5]
+ asr r0, r1, #8
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0
+ ble _02257E72
+ add r0, r0, #1
+_02257E72:
+ cmp r0, r4
+ bgt _02257EA2
+ lsl r0, r4, #8
+ str r0, [r5]
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+_02257E7E:
+ cmp r6, #0
+ ldr r1, [r5]
+ add r0, sp, #0
+ bge _02257E94
+ ldrh r0, [r0, #0x14]
+ add r0, r1, r0
+ str r0, [r5]
+ cmp r0, r4
+ ble _02257EA0
+ str r4, [r5]
+ b _02257EA0
+_02257E94:
+ ldrh r0, [r0, #0x14]
+ sub r0, r1, r0
+ str r0, [r5]
+ cmp r0, r4
+ bge _02257EA0
+ str r4, [r5]
+_02257EA0:
+ ldr r0, [r5]
+_02257EA2:
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_02257EA4
+MOD11_02257EA4: ; 0x02257EA4
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r5, [sp, #0x18]
+ sub r7, r1, r2
+ bpl _02257EB2
+ mov r7, #0
+ b _02257EB8
+_02257EB2:
+ cmp r7, r6
+ ble _02257EB8
+ add r7, r6, #0
+_02257EB8:
+ add r0, sp, #8
+ ldrb r4, [r0, #0x14]
+ mov r1, #0
+ lsl r2, r4, #3
+ cmp r4, #0
+ ble _02257ECE
+ add r0, r1, #0
+_02257EC6:
+ strb r0, [r5, r1]
+ add r1, r1, #1
+ cmp r1, r4
+ blt _02257EC6
+_02257ECE:
+ cmp r6, r2
+ ldr r1, [r3]
+ bhs _02257EE2
+ add r0, r1, #0
+ mul r0, r2
+ add r1, r6, #0
+ blx _u32_div_f
+ lsr r0, r0, #8
+ b _02257EEC
+_02257EE2:
+ add r0, r1, #0
+ mul r0, r2
+ add r1, r6, #0
+ blx _u32_div_f
+_02257EEC:
+ add r2, r0, #0
+ cmp r0, #0
+ bne _02257EFC
+ cmp r7, #0
+ ble _02257EFC
+ mov r2, #1
+ strb r2, [r5]
+ b _02257F18
+_02257EFC:
+ mov r3, #0
+ cmp r4, #0
+ ble _02257F18
+ mov r1, #8
+_02257F04:
+ cmp r0, #8
+ blo _02257F0E
+ strb r1, [r5, r3]
+ sub r0, #8
+ b _02257F12
+_02257F0E:
+ strb r0, [r5, r3]
+ b _02257F18
+_02257F12:
+ add r3, r3, #1
+ cmp r3, r4
+ blt _02257F04
+_02257F18:
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02257F20
+MOD11_02257F20: ; 0x02257F20
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ lsl r0, r3, #0x1b
+ add r5, r2, #0
+ lsr r6, r0, #0x18
+ sub r4, r7, r1
+ bpl _02257F32
+ mov r4, #0
+ b _02257F38
+_02257F32:
+ cmp r4, r5
+ ble _02257F38
+ add r4, r5, #0
+_02257F38:
+ add r0, r7, #0
+ mul r0, r6
+ add r1, r5, #0
+ blx _s32_div_f
+ add r7, r0, #0
+ add r0, r4, #0
+ mul r0, r6
+ add r1, r5, #0
+ blx _s32_div_f
+ lsl r1, r7, #0x18
+ lsl r0, r0, #0x18
+ asr r1, r1, #0x18
+ asr r0, r0, #0x18
+ sub r0, r1, r0
+ blx abs
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02257F60
+MOD11_02257F60: ; 0x02257F60
+ ldr r1, _02257F68 ; =0x0225ECE8
+ lsl r0, r0, #5
+ add r0, r1, r0
+ bx lr
+ .align 2, 0
+_02257F68: .word 0x0225ECE8
+
+ thumb_func_start MOD11_02257F6C
+MOD11_02257F6C: ; 0x02257F6C
+ push {r3, lr}
+ cmp r0, #5
+ bhi _02257FB8
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02257F7E: ; jump table
+ .short _02257F8A - _02257F7E - 2 ; case 0
+ .short _02257FA4 - _02257F7E - 2 ; case 1
+ .short _02257FA8 - _02257F7E - 2 ; case 2
+ .short _02257FAC - _02257F7E - 2 ; case 3
+ .short _02257FB0 - _02257F7E - 2 ; case 4
+ .short _02257FB4 - _02257F7E - 2 ; case 5
+_02257F8A:
+ mov r0, #2
+ lsl r0, r0, #8
+ tst r0, r1
+ beq _02257F96
+ mov r0, #7
+ pop {r3, pc}
+_02257F96:
+ mov r0, #0x20
+ tst r0, r1
+ beq _02257FA0
+ mov r0, #6
+ pop {r3, pc}
+_02257FA0:
+ mov r0, #0
+ pop {r3, pc}
+_02257FA4:
+ mov r0, #1
+ pop {r3, pc}
+_02257FA8:
+ mov r0, #2
+ pop {r3, pc}
+_02257FAC:
+ mov r0, #3
+ pop {r3, pc}
+_02257FB0:
+ mov r0, #4
+ pop {r3, pc}
+_02257FB4:
+ mov r0, #5
+ pop {r3, pc}
+_02257FB8:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r3, pc}
+
+ thumb_func_start MOD11_02257FC0
+MOD11_02257FC0: ; 0x02257FC0
+ push {r3, lr}
+ cmp r0, #7
+ bhi _02257FFE
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02257FD2: ; jump table
+ .short _02257FE2 - _02257FD2 - 2 ; case 0
+ .short _02257FE6 - _02257FD2 - 2 ; case 1
+ .short _02257FEA - _02257FD2 - 2 ; case 2
+ .short _02257FEE - _02257FD2 - 2 ; case 3
+ .short _02257FF2 - _02257FD2 - 2 ; case 4
+ .short _02257FF6 - _02257FD2 - 2 ; case 5
+ .short _02257FFA - _02257FD2 - 2 ; case 6
+ .short _02257FFA - _02257FD2 - 2 ; case 7
+_02257FE2:
+ ldr r0, _02258008 ; =0x0225EBEC
+ pop {r3, pc}
+_02257FE6:
+ ldr r0, _0225800C ; =0x0225EC20
+ pop {r3, pc}
+_02257FEA:
+ ldr r0, _02258010 ; =0x0225EAE8
+ pop {r3, pc}
+_02257FEE:
+ ldr r0, _02258014 ; =0x0225EB1C
+ pop {r3, pc}
+_02257FF2:
+ ldr r0, _02258018 ; =0x0225EB84
+ pop {r3, pc}
+_02257FF6:
+ ldr r0, _0225801C ; =0x0225EC54
+ pop {r3, pc}
+_02257FFA:
+ ldr r0, _02258020 ; =0x0225EBB8
+ pop {r3, pc}
+_02257FFE:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r3, pc}
+ nop
+_02258008: .word 0x0225EBEC
+_0225800C: .word 0x0225EC20
+_02258010: .word 0x0225EAE8
+_02258014: .word 0x0225EB1C
+_02258018: .word 0x0225EB84
+_0225801C: .word 0x0225EC54
+_02258020: .word 0x0225EBB8
+
+ thumb_func_start MOD11_02258024
+MOD11_02258024: ; 0x02258024
+ push {r3, lr}
+ cmp r0, #7
+ bhi _0225804E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02258036: ; jump table
+ .short _02258046 - _02258036 - 2 ; case 0
+ .short _0225804A - _02258036 - 2 ; case 1
+ .short _02258046 - _02258036 - 2 ; case 2
+ .short _0225804A - _02258036 - 2 ; case 3
+ .short _02258046 - _02258036 - 2 ; case 4
+ .short _0225804A - _02258036 - 2 ; case 5
+ .short _02258046 - _02258036 - 2 ; case 6
+ .short _02258046 - _02258036 - 2 ; case 7
+_02258046:
+ ldr r0, _02258058 ; =0x0225EB50
+ pop {r3, pc}
+_0225804A:
+ mov r0, #0
+ pop {r3, pc}
+_0225804E:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r3, pc}
+ nop
+_02258058: .word 0x0225EB50
+
+ thumb_func_start MOD11_0225805C
+MOD11_0225805C: ; 0x0225805C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ mov r0, #0
+ strb r0, [r6]
+ mov r0, #5
+ mov r1, #0xc
+ bl FUN_02016998
+ mov r1, #0
+ mov r2, #0xc
+ add r4, r0, #0
+ blx MI_CpuFill8
+ mov r2, #0xfa
+ str r5, [r4]
+ ldr r0, _0225808C ; =MOD11_02258090
+ add r1, r4, #0
+ lsl r2, r2, #2
+ str r6, [r4, #4]
+ bl FUN_0200CA44
+ pop {r4, r5, r6, pc}
+ nop
+_0225808C: .word MOD11_02258090
+
+ thumb_func_start MOD11_02258090
+MOD11_02258090: ; 0x02258090
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r7, r0, #0
+ ldr r0, [r4]
+ ldr r0, [r0, #0xc]
+ bl MOD11_02230080
+ add r5, r0, #0
+ ldr r0, [r4]
+ ldr r0, [r0, #0xc]
+ bl MOD11_022300CC
+ add r6, r0, #0
+ ldrb r0, [r4, #8]
+ cmp r0, #0
+ beq _022580BC
+ cmp r0, #1
+ beq _022580DA
+ cmp r0, #2
+ beq _02258112
+ b _0225814A
+_022580BC:
+ ldr r1, _02258174 ; =0x00004E27
+ add r0, r5, #0
+ mov r2, #1
+ bl FUN_0200C344
+ add r5, r0, #0
+ ldr r0, [r4]
+ add r1, r5, #0
+ ldr r0, [r0, #4]
+ bl FUN_0200C66C
+ strb r5, [r4, #9]
+ ldrb r0, [r4, #8]
+ add r0, r0, #1
+ strb r0, [r4, #8]
+_022580DA:
+ mov r0, #0xa
+ ldrsb r1, [r4, r0]
+ add r1, r1, #4
+ strb r1, [r4, #0xa]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x10
+ blt _022580F2
+ mov r0, #0x10
+ strb r0, [r4, #0xa]
+ ldrb r0, [r4, #8]
+ add r0, r0, #1
+ strb r0, [r4, #8]
+_022580F2:
+ ldrb r0, [r4, #0xa]
+ mov r1, #2
+ mov r3, #1
+ str r0, [sp]
+ ldr r0, _02258178 ; =0x000073A5
+ str r0, [sp, #4]
+ ldrb r2, [r4, #9]
+ add r0, r6, #0
+ lsl r2, r2, #4
+ add r2, #0xf
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_020039E8
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+_02258112:
+ mov r0, #0xa
+ ldrsb r1, [r4, r0]
+ sub r1, r1, #4
+ strb r1, [r4, #0xa]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0
+ bgt _0225812A
+ mov r0, #0
+ strb r0, [r4, #0xa]
+ ldrb r0, [r4, #8]
+ add r0, r0, #1
+ strb r0, [r4, #8]
+_0225812A:
+ ldrb r0, [r4, #0xa]
+ mov r1, #2
+ mov r3, #1
+ str r0, [sp]
+ ldr r0, _02258178 ; =0x000073A5
+ str r0, [sp, #4]
+ ldrb r2, [r4, #9]
+ add r0, r6, #0
+ lsl r2, r2, #4
+ add r2, #0xf
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_020039E8
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+_0225814A:
+ ldr r1, _0225817C ; =0x00004E26
+ add r0, r5, #0
+ mov r2, #1
+ bl FUN_0200C344
+ add r1, r0, #0
+ ldr r0, [r4]
+ ldr r0, [r0, #4]
+ bl FUN_0200C66C
+ ldr r0, [r4, #4]
+ mov r1, #1
+ strb r1, [r0]
+ add r0, r4, #0
+ bl FUN_02016A18
+ add r0, r7, #0
+ bl FUN_0200CAB4
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02258174: .word 0x00004E27
+_02258178: .word 0x000073A5
+_0225817C: .word 0x00004E26
+
+ thumb_func_start MOD11_02258180
+MOD11_02258180: ; 0x02258180
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02258184
+MOD11_02258184: ; 0x02258184
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_02258188
+MOD11_02258188: ; 0x02258188
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x50]
+ cmp r0, #0
+ bne _022581A6
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0x54
+ strh r1, [r0]
+ ldr r0, _022581A8 ; =MOD11_022581D4
+ ldr r2, _022581AC ; =0x000003F2
+ add r1, r4, #0
+ bl FUN_0200CA44
+ str r0, [r4, #0x50]
+_022581A6:
+ pop {r4, pc}
+ .align 2, 0
+_022581A8: .word MOD11_022581D4
+_022581AC: .word 0x000003F2
+
+ thumb_func_start MOD11_022581B0
+MOD11_022581B0: ; 0x022581B0
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x50]
+ cmp r0, #0
+ beq _022581C2
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #0x50]
+_022581C2:
+ add r0, r4, #0
+ mov r1, #0
+ add r0, #0x54
+ strh r1, [r0]
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_022572C8
+ pop {r4, pc}
+
+ thumb_func_start MOD11_022581D4
+MOD11_022581D4: ; 0x022581D4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r1, #0x54
+ ldrh r2, [r1]
+ add r1, r4, #0
+ add r1, #0x54
+ add r2, #0x14
+ strh r2, [r1]
+ add r1, r4, #0
+ add r1, #0x54
+ ldrh r2, [r1]
+ mov r1, #0x5a
+ add r0, r4, #0
+ lsl r1, r1, #2
+ add r0, #0x54
+ cmp r2, r1
+ blo _022581FC
+ ldrh r2, [r0]
+ sub r1, r2, r1
+ strh r1, [r0]
+_022581FC:
+ add r0, r4, #0
+ add r0, #0x54
+ ldrh r0, [r0]
+ bl FUN_0201B93C
+ mov r2, #6
+ asr r1, r0, #0x1f
+ lsl r2, r2, #0xa
+ mov r3, #0
+ blx _ll_mul
+ mov r2, #2
+ add r3, r0, #0
+ add r5, r1, #0
+ mov r1, #0
+ lsl r2, r2, #0xa
+ add r0, r4, #0
+ add r3, r3, r2
+ adc r5, r1
+ lsl r2, r5, #0x14
+ lsr r3, r3, #0xc
+ orr r3, r2
+ asr r2, r3, #0xb
+ lsr r2, r2, #0x14
+ add r2, r3, r2
+ asr r2, r2, #0xc
+ bl MOD11_022572C8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02258238
+MOD11_02258238: ; 0x02258238
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ bl MOD11_02230078
+ str r0, [sp, #0x20]
+ ldr r0, [r5, #4]
+ bl MOD11_02230080
+ add r7, r0, #0
+ ldr r0, [r5, #4]
+ bl MOD11_02230C68
+ add r6, r0, #0
+ ldrb r0, [r5, #8]
+ cmp r0, #0
+ ldrb r0, [r5, #9]
+ bne _02258274
+ lsl r1, r0, #1
+ ldr r0, _02258320 ; =0x0225F5C0
+ ldrh r3, [r0, r1]
+ ldr r0, _02258324 ; =0x00004E2D
+ mov r1, #0x58
+ str r1, [sp, #0x1c]
+ add r4, r0, #0
+ mov r1, #0x59
+ sub r4, #8
+ str r1, [sp, #0x18]
+ b _02258288
+_02258274:
+ lsl r1, r0, #1
+ ldr r0, _02258328 ; =0x0225F5A8
+ ldrh r3, [r0, r1]
+ ldr r0, _0225832C ; =0x00004E2E
+ mov r1, #0x5b
+ str r1, [sp, #0x1c]
+ add r4, r0, #0
+ mov r1, #0x5c
+ sub r4, #8
+ str r1, [sp, #0x18]
+_02258288:
+ mov r1, #1
+ str r1, [sp]
+ str r1, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x20]
+ add r1, r7, #0
+ mov r2, #0x1b
+ bl FUN_0200C00C
+ ldr r0, [r5, #4]
+ bl MOD11_022300CC
+ mov r1, #0x1b
+ str r1, [sp]
+ ldrb r1, [r5, #9]
+ mov r2, #6
+ add r3, r1, #0
+ mul r3, r2
+ ldr r2, _02258330 ; =0x0225F5D8
+ lsl r1, r6, #1
+ add r2, r2, r3
+ ldrh r1, [r1, r2]
+ ldr r2, [sp, #0x20]
+ add r3, r7, #0
+ str r1, [sp, #4]
+ mov r1, #0
+ str r1, [sp, #8]
+ mov r1, #1
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ ldr r1, _02258334 ; =0x00004E29
+ str r1, [sp, #0x14]
+ mov r1, #2
+ bl FUN_0200C0DC
+ ldr r0, [r5, #4]
+ bl MOD11_022300CC
+ mov r1, #0
+ str r1, [sp]
+ mov r1, #0x20
+ str r1, [sp, #4]
+ mov r1, #0x70
+ str r1, [sp, #8]
+ ldrb r2, [r5, #9]
+ mov r3, #6
+ lsl r5, r6, #1
+ mul r3, r2
+ ldr r2, _02258330 ; =0x0225F5D8
+ mov r1, #0x1b
+ add r2, r2, r3
+ ldrh r2, [r5, r2]
+ mov r3, #5
+ bl FUN_020030E8
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, [sp, #0x20]
+ ldr r3, [sp, #0x1c]
+ add r1, r7, #0
+ mov r2, #0x1b
+ str r4, [sp, #4]
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, [sp, #0x20]
+ ldr r3, [sp, #0x18]
+ add r1, r7, #0
+ mov r2, #0x1b
+ str r4, [sp, #4]
+ bl FUN_0200C13C
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02258320: .word 0x0225F5C0
+_02258324: .word 0x00004E2D
+_02258328: .word 0x0225F5A8
+_0225832C: .word 0x00004E2E
+_02258330: .word 0x0225F5D8
+_02258334: .word 0x00004E29
+
+ thumb_func_start MOD11_02258338
+MOD11_02258338: ; 0x02258338
+ push {r3, r4, r5, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #4]
+ bl MOD11_02230078
+ add r5, r0, #0
+ ldr r0, [r4, #4]
+ bl MOD11_02230080
+ add r1, r0, #0
+ add r0, r5, #0
+ ldrb r3, [r4, #8]
+ mov r2, #0x34
+ ldr r5, _02258368 ; =0x0225F61C
+ mul r2, r3
+ add r2, r5, r2
+ bl FUN_0200C154
+ str r0, [r4]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ pop {r3, r4, r5, pc}
+ nop
+_02258368: .word 0x0225F61C
+
+ thumb_func_start MOD11_0225836C
+MOD11_0225836C: ; 0x0225836C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4]
+ cmp r0, #0
+ beq _0225837E
+ bl FUN_0200C3DC
+ mov r0, #0
+ str r0, [r4]
+_0225837E:
+ pop {r4, pc}
+
+ thumb_func_start MOD11_02258380
+MOD11_02258380: ; 0x02258380
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ bl MOD11_02230080
+ add r4, r0, #0
+ ldrb r0, [r5, #8]
+ cmp r0, #0
+ bne _02258396
+ ldr r1, _022583BC ; =0x00004E2D
+ b _02258398
+_02258396:
+ ldr r1, _022583C0 ; =0x00004E2E
+_02258398:
+ add r5, r1, #0
+ add r0, r4, #0
+ sub r5, #8
+ bl FUN_0200C358
+ ldr r1, _022583C4 ; =0x00004E29
+ add r0, r4, #0
+ bl FUN_0200C368
+ add r0, r4, #0
+ add r1, r5, #0
+ bl FUN_0200C378
+ add r0, r4, #0
+ add r1, r5, #0
+ bl FUN_0200C388
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_022583BC: .word 0x00004E2D
+_022583C0: .word 0x00004E2E
+_022583C4: .word 0x00004E29
+
+ thumb_func_start MOD11_022583C8
+MOD11_022583C8: ; 0x022583C8
+ push {r3, lr}
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _022583D4
+ bl FUN_0200C644
+_022583D4:
+ pop {r3, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_022583D8
+MOD11_022583D8: ; 0x022583D8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ add r6, r2, #0
+ mov r0, #0
+ add r1, r5, #0
+ mov r2, #0x10
+ add r7, r3, #0
+ blx MIi_CpuClearFast
+ str r4, [r5, #4]
+ strb r6, [r5, #8]
+ strb r7, [r5, #9]
+ cmp r7, #0xc
+ blt _022583FE
+ bl ErrorHandling
+ mov r0, #0
+ strb r0, [r5, #9]
+_022583FE:
+ add r0, r5, #0
+ bl MOD11_02258238
+ add r0, r5, #0
+ bl MOD11_02258338
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0225840C
+MOD11_0225840C: ; 0x0225840C
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_0225836C
+ add r0, r4, #0
+ bl MOD11_02258380
+ mov r0, #0
+ add r1, r4, #0
+ mov r2, #0x10
+ blx MIi_CpuClearFast
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_02258428
+MOD11_02258428: ; 0x02258428
+ push {r4, lr}
+ mov r1, #7
+ mov r0, #5
+ lsl r1, r1, #8
+ bl FUN_02016998
+ mov r2, #7
+ mov r1, #0
+ lsl r2, r2, #8
+ add r4, r0, #0
+ blx MI_CpuFill8
+ mov r1, #0
+ ldr r0, _0225844C ; =0x0000069F
+ mvn r1, r1
+ strb r1, [r4, r0]
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+_0225844C: .word 0x0000069F
+
+ thumb_func_start MOD11_02258450
+MOD11_02258450: ; 0x02258450
+ push {r3, r4, r5, r6, r7, lr}
+ mov r4, #0
+ ldr r6, _022584A4 ; =0x0225F97C
+ add r5, r0, #0
+ add r7, r4, #0
+_0225845A:
+ add r1, r4, #4
+ lsl r1, r1, #0x18
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ add r2, r6, #0
+ add r3, r7, #0
+ bl FUN_02016C18
+ add r1, r4, #4
+ lsl r1, r1, #0x18
+ ldr r2, _022584A8 ; =0x000002FF
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ bl FUN_02018768
+ add r1, r4, #4
+ lsl r1, r1, #0x18
+ mov r2, #0
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ add r3, r2, #0
+ bl FUN_020179E0
+ add r1, r4, #4
+ lsl r1, r1, #0x18
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+ add r4, r4, #1
+ add r6, #0x1c
+ cmp r4, #4
+ blo _0225845A
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_022584A4: .word 0x0225F97C
+_022584A8: .word 0x000002FF
+
+ thumb_func_start MOD11_022584AC
+MOD11_022584AC: ; 0x022584AC
+ push {r4, r5, r6, lr}
+ mov r4, #0
+ add r5, r0, #0
+ add r6, r4, #0
+_022584B4:
+ add r0, r4, #4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r1, r6, #0
+ bl FUN_0201797C
+ add r1, r4, #4
+ lsl r1, r1, #0x18
+ add r0, r5, #0
+ lsr r1, r1, #0x18
+ bl FUN_020178A0
+ add r4, r4, #1
+ cmp r4, #4
+ blo _022584B4
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_022584D4
+MOD11_022584D4: ; 0x022584D4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ add r4, r0, #0
+ add r5, r1, #0
+ bl MOD11_02258428
+ add r6, r0, #0
+ ldr r0, _0225863C ; =0x000006A1
+ str r4, [r6]
+ strb r5, [r6, r0]
+ add r0, r4, #0
+ bl MOD11_022300CC
+ str r0, [sp, #0x10]
+ mov r0, #0xd
+ mov r1, #5
+ bl FUN_02011744
+ ldr r2, _02258640 ; =0x000004C8
+ add r1, r6, #0
+ str r0, [r6, r2]
+ ldr r0, _02258644 ; =MOD11_0225B794
+ add r2, #0x56
+ bl FUN_0200CA44
+ ldr r1, _02258648 ; =0x000006AC
+ mov r7, #2
+ str r0, [r6, r1]
+ mov r4, #0
+ lsl r7, r7, #0xa
+ b _0225854E
+_02258512:
+ mov r0, #5
+ add r1, r7, #0
+ bl FUN_02016998
+ lsl r1, r4, #2
+ add r1, r6, r1
+ str r0, [r1, #0x3c]
+ mov r0, #5
+ str r0, [sp]
+ ldr r1, _0225864C ; =0x0225F6FC
+ lsl r2, r4, #1
+ ldrh r1, [r1, r2]
+ mov r0, #7
+ mov r2, #1
+ add r3, sp, #0x18
+ bl FUN_02006BDC
+ add r5, r0, #0
+ lsl r0, r4, #2
+ add r0, r6, r0
+ ldr r1, [r0, #0x3c]
+ ldr r0, [sp, #0x18]
+ add r2, r7, #0
+ add r0, #0xc
+ blx MIi_CpuCopy32
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r4, r4, #1
+_0225854E:
+ cmp r4, #7
+ blt _02258512
+ mov r1, #2
+ mov r0, #5
+ lsl r1, r1, #8
+ bl FUN_02016998
+ str r0, [r6, #0x58]
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x10]
+ mov r1, #7
+ mov r2, #0xc3
+ mov r3, #5
+ bl FUN_020030E8
+ ldr r0, [sp, #0x10]
+ mov r1, #1
+ bl FUN_020031FC
+ mov r2, #2
+ ldr r1, [r6, #0x58]
+ lsl r2, r2, #8
+ blx MIi_CpuCopy16
+ add r5, r6, #0
+ mov r7, #0x46
+ mov r4, #0
+ add r5, #0x68
+ lsl r7, r7, #2
+ b _022585A2
+_02258592:
+ add r0, r4, #0
+ mul r0, r7
+ add r0, r5, r0
+ mov r1, #0xff
+ mov r2, #0x18
+ blx MI_CpuFill8
+ add r4, r4, #1
+_022585A2:
+ cmp r4, #4
+ blt _02258592
+ mov r0, #0
+ str r0, [sp, #0xc]
+ mov r7, #6
+ b _022585DE
+_022585AE:
+ mov r0, #0x46
+ ldr r1, [sp, #0xc]
+ lsl r0, r0, #2
+ mul r0, r1
+ mov r5, #0
+ add r4, r6, r0
+ b _022585D4
+_022585BC:
+ add r0, r7, #0
+ bl FUN_020799E8
+ add r1, r0, #0
+ mov r0, #5
+ bl FUN_02016998
+ lsl r1, r5, #2
+ add r1, r4, r1
+ add r1, #0x80
+ str r0, [r1]
+ add r5, r5, #1
+_022585D4:
+ cmp r5, #4
+ blt _022585BC
+ ldr r0, [sp, #0xc]
+ add r0, r0, #1
+ str r0, [sp, #0xc]
+_022585DE:
+ ldr r0, [sp, #0xc]
+ cmp r0, #4
+ blt _022585AE
+ mov r0, #5
+ mov r1, #0x20
+ bl FUN_02016998
+ str r0, [r6, #0x5c]
+ mov r0, #5
+ mov r1, #0x20
+ bl FUN_02016998
+ str r0, [r6, #0x60]
+ ldr r1, [r6, #0x5c]
+ ldr r0, [r6, #0x58]
+ mov r2, #0x20
+ blx MIi_CpuCopy16
+ mov r0, #7
+ mov r1, #0xca
+ add r2, sp, #0x14
+ mov r3, #5
+ bl FUN_02006C08
+ add r4, r0, #0
+ ldr r0, [sp, #0x14]
+ ldr r1, [r6, #0x60]
+ ldr r0, [r0, #0xc]
+ mov r2, #0x20
+ blx MIi_CpuCopy16
+ add r0, r4, #0
+ bl FUN_02016A18
+ bl FUN_02002BE4
+ bl FUN_02002C04
+ ldr r0, _02258650 ; =MOD11_0225B824
+ ldr r2, _02258654 ; =0x0000D6D8
+ add r1, r6, #0
+ bl FUN_0200CA44
+ str r0, [r6, #0x64]
+ add r0, r6, #0
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225863C: .word 0x000006A1
+_02258640: .word 0x000004C8
+_02258644: .word MOD11_0225B794
+_02258648: .word 0x000006AC
+_0225864C: .word 0x0225F6FC
+_02258650: .word MOD11_0225B824
+_02258654: .word 0x0000D6D8
+
+ thumb_func_start MOD11_02258658
+MOD11_02258658: ; 0x02258658
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ bl MOD11_0225ACB0
+ add r0, r6, #0
+ bl MOD11_02258B10
+ add r0, r6, #0
+ bl MOD11_022587A8
+ ldr r0, _022586B4 ; =0x000004C8
+ ldr r0, [r6, r0]
+ bl FUN_020117BC
+ ldr r0, _022586B8 ; =0x000006AC
+ ldr r0, [r6, r0]
+ bl FUN_0200CAB4
+ mov r4, #0
+ add r5, r6, #0
+_02258680:
+ ldr r0, [r5, #0x3c]
+ bl FUN_02016A18
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #7
+ blt _02258680
+ ldr r0, [r6, #0x58]
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl MOD11_0225A6B0
+ ldr r0, [r6, #0x5c]
+ bl FUN_02016A18
+ ldr r0, [r6, #0x60]
+ bl FUN_02016A18
+ ldr r0, [r6, #0x64]
+ bl FUN_0200CAB4
+ add r0, r6, #0
+ bl FUN_02016A18
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_022586B4: .word 0x000004C8
+_022586B8: .word 0x000006AC
+
+ thumb_func_start MOD11_022586BC
+MOD11_022586BC: ; 0x022586BC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r7, r0, #0
+ ldr r0, [r7]
+ bl MOD11_02230078
+ add r6, r0, #0
+ ldr r0, [r7]
+ bl MOD11_02230080
+ add r4, r0, #0
+ ldr r0, [r7]
+ bl MOD11_0222FF68
+ add r5, r0, #0
+ ldr r0, [r7]
+ bl MOD11_022300CC
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #6
+ lsl r0, r0, #0xc
+ str r0, [sp, #4]
+ mov r0, #1
+ str r0, [sp, #8]
+ mov r0, #5
+ str r0, [sp, #0xc]
+ mov r0, #7
+ mov r1, #0x11
+ add r2, r5, #0
+ mov r3, #4
+ bl FUN_0200687C
+ ldr r2, _02258790 ; =0x00004E2D
+ add r0, r6, #0
+ add r1, r4, #0
+ add r3, r2, #0
+ bl FUN_0206E1D4
+ ldr r0, [r7]
+ bl MOD11_022300CC
+ mov r1, #2
+ str r1, [sp]
+ ldr r1, _02258794 ; =0x00004E30
+ add r2, r6, #0
+ str r1, [sp, #4]
+ mov r1, #3
+ add r3, r4, #0
+ bl FUN_0206E198
+ mov r5, #0
+_02258726:
+ ldr r0, _02258798 ; =0x00004E35
+ add r1, r4, #0
+ add r0, r5, r0
+ str r0, [sp]
+ add r0, r6, #0
+ mov r2, #2
+ mov r3, #0
+ bl FUN_0206E130
+ add r5, r5, #1
+ cmp r5, #4
+ blt _02258726
+ ldr r0, [r7]
+ bl MOD11_0222FF74
+ mov r1, #1
+ lsl r1, r1, #0xa
+ tst r0, r1
+ beq _0225878C
+ ldr r0, _0225879C ; =0x00004E40
+ ldr r3, _022587A0 ; =0x00004FB2
+ str r0, [sp]
+ add r0, r3, #0
+ str r3, [sp, #4]
+ sub r0, #0xb
+ str r0, [sp, #8]
+ ldr r2, [sp, #0x14]
+ add r0, r6, #0
+ add r1, r4, #0
+ add r3, r3, #6
+ bl MOD11_0225D6A4
+ ldr r0, _0225879C ; =0x00004E40
+ ldr r3, _022587A0 ; =0x00004FB2
+ str r0, [sp]
+ add r0, r3, #0
+ str r3, [sp, #4]
+ sub r0, #0xb
+ str r0, [sp, #8]
+ mov r0, #0xa
+ str r0, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ add r1, r4, #0
+ mov r2, #5
+ add r3, r3, #6
+ bl MOD11_0225D73C
+ ldr r1, _022587A4 ; =0x000006F8
+ str r0, [r7, r1]
+_0225878C:
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02258790: .word 0x00004E2D
+_02258794: .word 0x00004E30
+_02258798: .word 0x00004E35
+_0225879C: .word 0x00004E40
+_022587A0: .word 0x00004FB2
+_022587A4: .word 0x000006F8
+
+ thumb_func_start MOD11_022587A8
+MOD11_022587A8: ; 0x022587A8
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ ldr r0, [r7]
+ bl MOD11_02230078
+ ldr r0, [r7]
+ bl MOD11_02230080
+ ldr r6, _02258808 ; =0x00004E35
+ add r5, r0, #0
+ mov r4, #0
+_022587BE:
+ add r0, r5, #0
+ add r1, r4, r6
+ bl FUN_0206E21C
+ add r4, r4, #1
+ cmp r4, #4
+ blt _022587BE
+ ldr r1, _0225880C ; =0x00004E30
+ add r0, r5, #0
+ bl FUN_0206E224
+ ldr r1, _02258810 ; =0x00004E2D
+ add r0, r5, #0
+ add r2, r1, #0
+ bl FUN_0206E22C
+ ldr r0, [r7]
+ bl MOD11_0222FF74
+ mov r1, #1
+ lsl r1, r1, #0xa
+ tst r0, r1
+ beq _02258806
+ ldr r0, _02258814 ; =0x000006F8
+ ldr r0, [r7, r0]
+ bl MOD11_0225D7B8
+ ldr r3, _02258818 ; =0x00004FA7
+ ldr r2, _0225881C ; =0x00004E40
+ add r1, r3, #0
+ str r3, [sp]
+ add r0, r5, #0
+ add r1, #0x11
+ add r3, #0xb
+ bl MOD11_0225D714
+_02258806:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02258808: .word 0x00004E35
+_0225880C: .word 0x00004E30
+_02258810: .word 0x00004E2D
+_02258814: .word 0x000006F8
+_02258818: .word 0x00004FA7
+_0225881C: .word 0x00004E40
+
+ thumb_func_start MOD11_02258820
+MOD11_02258820: ; 0x02258820
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x30
+ add r7, r0, #0
+ str r1, [sp, #0x18]
+ str r2, [sp, #0x1c]
+ cmp r3, #0
+ beq _0225883A
+ add r1, r7, #0
+ add r0, r3, #0
+ add r1, #0x18
+ mov r2, #0x22
+ blx MI_CpuCopy8
+_0225883A:
+ ldr r0, _0225893C ; =0x000006A2
+ mov r1, #0
+ strb r1, [r7, r0]
+ ldr r0, [r7]
+ bl MOD11_0222FF68
+ str r0, [sp, #0x28]
+ ldr r0, [r7]
+ bl MOD11_02230078
+ str r0, [sp, #0x24]
+ ldr r0, [r7]
+ bl MOD11_02230080
+ str r0, [sp, #0x20]
+ ldr r0, _02258940 ; =0x0000069F
+ ldrsb r2, [r7, r0]
+ mov r0, #0
+ mvn r0, r0
+ cmp r2, r0
+ bne _0225886C
+ mov r0, #1
+ str r0, [sp, #0x1c]
+ mov r5, #0
+ b _02258874
+_0225886C:
+ mov r0, #0x30
+ ldr r1, _02258944 ; =0x0225FAAC
+ mul r0, r2
+ add r5, r1, r0
+_02258874:
+ ldr r0, [sp, #0x18]
+ mov r1, #0x30
+ ldr r2, _02258944 ; =0x0225FAAC
+ mul r1, r0
+ add r0, r2, r1
+ str r0, [sp, #0x2c]
+ ldr r0, [r7]
+ bl MOD11_022300CC
+ mov r1, #2
+ lsl r1, r1, #8
+ str r1, [sp]
+ ldr r1, [r7, #0x58]
+ mov r2, #1
+ mov r3, #0
+ bl FUN_02003054
+ ldr r6, [sp, #0x2c]
+ mov r4, #0
+_0225889A:
+ ldrh r2, [r6, #4]
+ ldr r0, _02258948 ; =0x0000FFFF
+ cmp r2, r0
+ beq _022588D0
+ ldr r0, [sp, #0x1c]
+ cmp r0, #1
+ beq _022588AE
+ ldrh r0, [r5, #4]
+ cmp r2, r0
+ beq _022588D0
+_022588AE:
+ lsl r2, r2, #2
+ add r1, r4, #4
+ add r2, r7, r2
+ lsl r1, r1, #0x18
+ mov r3, #2
+ ldr r0, [sp, #0x28]
+ ldr r2, [r2, #0x3c]
+ lsr r1, r1, #0x18
+ lsl r3, r3, #0xa
+ bl FUN_02017DFC
+ add r1, r4, #4
+ lsl r1, r1, #0x18
+ ldr r0, [sp, #0x28]
+ lsr r1, r1, #0x18
+ bl FUN_0201AC68
+_022588D0:
+ add r4, r4, #1
+ add r6, r6, #2
+ add r5, r5, #2
+ cmp r4, #4
+ blt _0225889A
+ ldr r0, [r7]
+ bl MOD11_022300CC
+ mov r1, #0x1b
+ str r1, [sp]
+ mov r1, #0x24
+ str r1, [sp, #4]
+ mov r1, #0
+ str r1, [sp, #8]
+ mov r1, #7
+ str r1, [sp, #0xc]
+ mov r1, #2
+ str r1, [sp, #0x10]
+ ldr r1, _0225894C ; =0x00004E33
+ ldr r2, [sp, #0x24]
+ str r1, [sp, #0x14]
+ ldr r3, [sp, #0x20]
+ mov r1, #3
+ bl FUN_0200C0DC
+ ldr r1, _02258940 ; =0x0000069F
+ ldr r0, [sp, #0x18]
+ mov r2, #0xf
+ strb r0, [r7, r1]
+ mov r0, #4
+ str r0, [sp]
+ ldr r0, _02258950 ; =0x04001050
+ mov r1, #2
+ mov r3, #0x1b
+ blx G2x_SetBlendAlpha_
+ add r0, r7, #0
+ bl MOD11_0225ACB0
+ ldr r0, [sp, #0x2c]
+ ldr r3, [r0, #0x28]
+ cmp r3, #0
+ beq _0225892E
+ ldr r1, [sp, #0x18]
+ ldr r2, [sp, #0x1c]
+ add r0, r7, #0
+ blx r3
+_0225892E:
+ ldr r0, _02258954 ; =MOD11_0225B700
+ add r1, r7, #0
+ mov r2, #0xa
+ bl FUN_0200CA98
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225893C: .word 0x000006A2
+_02258940: .word 0x0000069F
+_02258944: .word 0x0225FAAC
+_02258948: .word 0x0000FFFF
+_0225894C: .word 0x00004E33
+_02258950: .word 0x04001050
+_02258954: .word MOD11_0225B700
+
+ thumb_func_start MOD11_02258958
+MOD11_02258958: ; 0x02258958
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ ldr r1, _02258ADC ; =0x000005D4
+ str r0, [sp, #0x14]
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ bne _02258970
+ ldr r0, [sp, #0x14]
+ add r1, #0x18
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ beq _02258974
+_02258970:
+ bl ErrorHandling
+_02258974:
+ ldr r0, [sp, #0x14]
+ ldr r0, [r0]
+ bl MOD11_02230078
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x14]
+ ldr r0, [r0]
+ bl MOD11_02230080
+ add r7, r0, #0
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #2
+ str r0, [sp, #4]
+ ldr r0, _02258AE0 ; =0x00004E33
+ add r1, r7, #0
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x18]
+ mov r2, #0x1b
+ mov r3, #0x90
+ bl FUN_0200C00C
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _02258AE4 ; =0x00004E2B
+ add r1, r7, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ mov r2, #0x1b
+ mov r3, #0x8f
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _02258AE4 ; =0x00004E2B
+ add r1, r7, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ mov r2, #0x1b
+ mov r3, #0x91
+ bl FUN_0200C13C
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #2
+ str r0, [sp, #4]
+ ldr r0, _02258AE8 ; =0x00004E34
+ add r1, r7, #0
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x18]
+ mov r2, #0x1b
+ mov r3, #0x8d
+ bl FUN_0200C00C
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _02258AEC ; =0x00004E2C
+ add r1, r7, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ mov r2, #0x1b
+ mov r3, #0x8c
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _02258AEC ; =0x00004E2C
+ add r1, r7, #0
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ mov r2, #0x1b
+ mov r3, #0x8e
+ bl FUN_0200C13C
+ mov r0, #0
+ ldr r4, [sp, #0x14]
+ str r0, [sp, #0x1c]
+ mov r6, #0xc
+ mov r5, #0xf6
+_02258A12:
+ ldr r0, [sp, #0x18]
+ ldr r2, _02258AF0 ; =0x0225F8AC
+ add r1, r7, #0
+ bl FUN_0200C154
+ ldr r1, _02258ADC ; =0x000005D4
+ mov r3, #0x11
+ str r0, [r4, r1]
+ add r0, r1, #0
+ ldr r0, [r4, r0]
+ lsl r1, r6, #0x10
+ ldr r0, [r0]
+ asr r1, r1, #0x10
+ mov r2, #0xd
+ lsl r3, r3, #0x10
+ bl FUN_0200C720
+ ldr r0, _02258ADC ; =0x000005D4
+ mov r1, #1
+ ldr r0, [r4, r0]
+ bl FUN_0200C840
+ ldr r0, [sp, #0x18]
+ ldr r2, _02258AF4 ; =0x0225F8E0
+ add r1, r7, #0
+ bl FUN_0200C154
+ ldr r1, _02258AF8 ; =0x000005EC
+ mov r3, #0x11
+ str r0, [r4, r1]
+ add r0, r1, #0
+ ldr r0, [r4, r0]
+ lsl r1, r5, #0x10
+ ldr r0, [r0]
+ asr r1, r1, #0x10
+ mov r2, #9
+ lsl r3, r3, #0x10
+ bl FUN_0200C720
+ ldr r0, [sp, #0x1c]
+ add r4, r4, #4
+ add r0, r0, #1
+ add r6, #0x13
+ sub r5, #0xc
+ str r0, [sp, #0x1c]
+ cmp r0, #6
+ blt _02258A12
+ ldr r0, [sp, #0x14]
+ bl MOD11_02258E30
+ ldr r0, [sp, #0x14]
+ ldr r0, [r0, #4]
+ cmp r0, #0
+ beq _02258A82
+ bl ErrorHandling
+_02258A82:
+ ldr r0, _02258AFC ; =MOD11_02258BE0
+ ldr r1, [sp, #0x14]
+ ldr r2, _02258B00 ; =0x00000514
+ bl FUN_0200CA44
+ ldr r1, [sp, #0x14]
+ str r0, [r1, #4]
+ add r0, r1, #0
+ ldr r0, [r0]
+ bl MOD11_022300CC
+ add r2, r0, #0
+ ldr r0, _02258B04 ; =0x00004E3F
+ ldr r3, _02258B08 ; =0x00004FB1
+ str r0, [sp]
+ add r0, r3, #0
+ str r3, [sp, #4]
+ sub r0, #0xb
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x18]
+ add r1, r7, #0
+ add r3, r3, #6
+ bl MOD11_0225D3EC
+ ldr r0, _02258B04 ; =0x00004E3F
+ ldr r3, _02258B08 ; =0x00004FB1
+ str r0, [sp]
+ add r0, r3, #0
+ str r3, [sp, #4]
+ sub r0, #0xb
+ str r0, [sp, #8]
+ mov r2, #5
+ str r2, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x18]
+ add r1, r7, #0
+ add r3, r3, #6
+ bl MOD11_0225D484
+ ldr r2, _02258B0C ; =0x000006EC
+ ldr r1, [sp, #0x14]
+ str r0, [r1, r2]
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02258ADC: .word 0x000005D4
+_02258AE0: .word 0x00004E33
+_02258AE4: .word 0x00004E2B
+_02258AE8: .word 0x00004E34
+_02258AEC: .word 0x00004E2C
+_02258AF0: .word 0x0225F8AC
+_02258AF4: .word 0x0225F8E0
+_02258AF8: .word 0x000005EC
+_02258AFC: .word MOD11_02258BE0
+_02258B00: .word 0x00000514
+_02258B04: .word 0x00004E3F
+_02258B08: .word 0x00004FB1
+_02258B0C: .word 0x000006EC
+
+ thumb_func_start MOD11_02258B10
+MOD11_02258B10: ; 0x02258B10
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ ldr r0, _02258BBC ; =0x000005D4
+ ldr r1, [r6, r0]
+ cmp r1, #0
+ beq _02258B24
+ add r0, #0x18
+ ldr r0, [r6, r0]
+ cmp r0, #0
+ bne _02258B28
+_02258B24:
+ bl ErrorHandling
+_02258B28:
+ ldr r0, [r6]
+ bl MOD11_02230078
+ ldr r0, [r6]
+ bl MOD11_02230080
+ ldr r1, _02258BC0 ; =0x00004E33
+ add r7, r0, #0
+ bl FUN_0200C358
+ ldr r1, _02258BC4 ; =0x00004E2B
+ add r0, r7, #0
+ bl FUN_0200C378
+ ldr r1, _02258BC4 ; =0x00004E2B
+ add r0, r7, #0
+ bl FUN_0200C388
+ ldr r1, _02258BC8 ; =0x00004E34
+ add r0, r7, #0
+ bl FUN_0200C358
+ ldr r1, _02258BCC ; =0x00004E2C
+ add r0, r7, #0
+ bl FUN_0200C378
+ ldr r1, _02258BCC ; =0x00004E2C
+ add r0, r7, #0
+ bl FUN_0200C388
+ ldr r1, _02258BC0 ; =0x00004E33
+ add r0, r7, #0
+ bl FUN_0200C368
+ mov r4, #0
+ add r5, r6, #0
+_02258B70:
+ ldr r0, _02258BBC ; =0x000005D4
+ ldr r0, [r5, r0]
+ bl FUN_0200C3DC
+ ldr r0, _02258BBC ; =0x000005D4
+ mov r1, #0
+ str r1, [r5, r0]
+ add r0, #0x18
+ ldr r0, [r5, r0]
+ bl FUN_0200C3DC
+ ldr r0, _02258BD0 ; =0x000005EC
+ mov r1, #0
+ str r1, [r5, r0]
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #6
+ blt _02258B70
+ ldr r0, [r6, #4]
+ bl FUN_0200CAB4
+ ldr r3, _02258BD4 ; =0x00004FA6
+ mov r0, #0
+ str r0, [r6, #4]
+ add r1, r3, #0
+ str r3, [sp]
+ ldr r2, _02258BD8 ; =0x00004E3F
+ add r0, r7, #0
+ add r1, #0x11
+ add r3, #0xb
+ bl MOD11_0225D45C
+ ldr r0, _02258BDC ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D508
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02258BBC: .word 0x000005D4
+_02258BC0: .word 0x00004E33
+_02258BC4: .word 0x00004E2B
+_02258BC8: .word 0x00004E34
+_02258BCC: .word 0x00004E2C
+_02258BD0: .word 0x000005EC
+_02258BD4: .word 0x00004FA6
+_02258BD8: .word 0x00004E3F
+_02258BDC: .word 0x000006EC
+
+ thumb_func_start MOD11_02258BE0
+MOD11_02258BE0: ; 0x02258BE0
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r0, _02258D54 ; =0x00000644
+ add r5, r1, #0
+ mov r7, #0
+ add r4, r5, r0
+ mov r6, #0xc
+_02258BEC:
+ ldrb r0, [r4, #3]
+ cmp r0, #4
+ bhi _02258C08
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02258BFE: ; jump table
+ .short _02258C08 - _02258BFE - 2 ; case 0
+ .short _02258C48 - _02258BFE - 2 ; case 1
+ .short _02258C5A - _02258BFE - 2 ; case 2
+ .short _02258CF2 - _02258BFE - 2 ; case 3
+ .short _02258C5A - _02258BFE - 2 ; case 4
+_02258C08:
+ ldr r0, _02258D58 ; =0x000005D4
+ ldr r0, [r5, r0]
+ ldr r0, [r0]
+ bl FUN_0200C650
+ cmp r0, #0
+ beq _02258C1C
+ ldrb r0, [r4, #2]
+ cmp r0, #0x57
+ bhs _02258C1E
+_02258C1C:
+ b _02258D42
+_02258C1E:
+ mov r0, #0
+ strb r0, [r4, #4]
+ mov r0, #0xa
+ strb r0, [r4, #5]
+ bl FUN_0201B9EC
+ lsr r1, r0, #0x1f
+ lsl r3, r0, #0x1d
+ ldrb r2, [r4, #5]
+ sub r3, r3, r1
+ mov r0, #0x1d
+ ror r3, r0
+ add r0, r1, r3
+ add r0, r2, r0
+ strb r0, [r4, #5]
+ mov r0, #2
+ strb r0, [r4, #7]
+ ldrb r0, [r4, #3]
+ add r0, r0, #1
+ strb r0, [r4, #3]
+ b _02258D42
+_02258C48:
+ ldrb r1, [r4, #5]
+ cmp r1, #0
+ beq _02258C54
+ sub r0, r1, #1
+ strb r0, [r4, #5]
+ b _02258D42
+_02258C54:
+ add r0, r0, #1
+ strb r0, [r4, #3]
+ b _02258D42
+_02258C5A:
+ ldr r0, _02258D58 ; =0x000005D4
+ mov r1, #2
+ ldr r0, [r5, r0]
+ lsl r1, r1, #0xa
+ bl FUN_0200C8BC
+ mov r0, #0
+ ldrsh r1, [r4, r0]
+ mov r0, #6
+ lsl r0, r0, #6
+ add r0, r1, r0
+ strh r0, [r4]
+ mov r1, #0
+ ldrsh r1, [r4, r1]
+ ldr r0, _02258D58 ; =0x000005D4
+ mov r3, #0x11
+ asr r2, r1, #7
+ lsr r2, r2, #0x18
+ add r2, r1, r2
+ asr r1, r2, #8
+ add r1, r1, r6
+ lsl r1, r1, #0x10
+ ldr r0, [r5, r0]
+ asr r1, r1, #0x10
+ mov r2, #0xd
+ lsl r3, r3, #0x10
+ bl FUN_0200C750
+ ldrb r0, [r4, #6]
+ add r0, r0, #1
+ strb r0, [r4, #6]
+ ldrb r1, [r4, #6]
+ ldrb r0, [r4, #7]
+ cmp r1, r0
+ blo _02258D42
+ mov r0, #0
+ strb r0, [r4, #6]
+ ldrb r0, [r4, #3]
+ cmp r0, #2
+ bne _02258CB0
+ add r0, r0, #1
+ strb r0, [r4, #3]
+ b _02258D42
+_02258CB0:
+ ldr r0, _02258D58 ; =0x000005D4
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_0200C898
+ ldr r0, _02258D58 ; =0x000005D4
+ lsl r1, r6, #0x10
+ mov r3, #0x11
+ ldr r0, [r5, r0]
+ asr r1, r1, #0x10
+ mov r2, #0xd
+ lsl r3, r3, #0x10
+ bl FUN_0200C750
+ mov r0, #0
+ strh r0, [r4]
+ ldrb r0, [r4, #8]
+ cmp r0, #1
+ bhs _02258CEA
+ add r0, r0, #1
+ strb r0, [r4, #8]
+ ldrb r0, [r4, #7]
+ cmp r0, #1
+ bls _02258CE4
+ sub r0, r0, #1
+ strb r0, [r4, #7]
+_02258CE4:
+ mov r0, #2
+ strb r0, [r4, #3]
+ b _02258D42
+_02258CEA:
+ mov r0, #0
+ strb r0, [r4, #8]
+ strb r0, [r4, #3]
+ b _02258D42
+_02258CF2:
+ ldr r0, _02258D58 ; =0x000005D4
+ ldr r1, _02258D5C ; =0xFFFFF800
+ ldr r0, [r5, r0]
+ bl FUN_0200C8BC
+ mov r0, #0
+ ldrsh r1, [r4, r0]
+ mov r0, #6
+ lsl r0, r0, #6
+ sub r0, r1, r0
+ strh r0, [r4]
+ mov r1, #0
+ ldrsh r1, [r4, r1]
+ ldr r0, _02258D58 ; =0x000005D4
+ mov r3, #0x11
+ asr r2, r1, #7
+ lsr r2, r2, #0x18
+ add r2, r1, r2
+ asr r1, r2, #8
+ add r1, r1, r6
+ lsl r1, r1, #0x10
+ ldr r0, [r5, r0]
+ asr r1, r1, #0x10
+ mov r2, #0xd
+ lsl r3, r3, #0x10
+ bl FUN_0200C750
+ ldrb r0, [r4, #6]
+ add r0, r0, #1
+ strb r0, [r4, #6]
+ ldrb r1, [r4, #7]
+ ldrb r0, [r4, #6]
+ lsl r1, r1, #1
+ cmp r0, r1
+ blt _02258D42
+ mov r0, #0
+ strb r0, [r4, #6]
+ ldrb r0, [r4, #3]
+ add r0, r0, #1
+ strb r0, [r4, #3]
+_02258D42:
+ add r7, r7, #1
+ add r4, #0xa
+ add r5, r5, #4
+ add r6, #0x13
+ cmp r7, #6
+ bge _02258D50
+ b _02258BEC
+_02258D50:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02258D54: .word 0x00000644
+_02258D58: .word 0x000005D4
+_02258D5C: .word 0xFFFFF800
+
+ thumb_func_start MOD11_02258D60
+MOD11_02258D60: ; 0x02258D60
+ push {r3, r4}
+ ldr r2, _02258D78 ; =0x00000646
+ mov r4, #0
+_02258D66:
+ ldrb r3, [r1, r4]
+ add r4, r4, #1
+ strb r3, [r0, r2]
+ add r0, #0xa
+ cmp r4, #6
+ blt _02258D66
+ pop {r3, r4}
+ bx lr
+ nop
+_02258D78: .word 0x00000646
+
+ thumb_func_start MOD11_02258D7C
+MOD11_02258D7C: ; 0x02258D7C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ add r7, r2, #0
+ mov r4, #0
+_02258D86:
+ ldrb r0, [r6, r4]
+ bl MOD11_0225A400
+ add r1, r0, #0
+ ldr r0, _02258DC8 ; =0x000005D4
+ ldr r0, [r5, r0]
+ ldr r0, [r0]
+ bl FUN_02020130
+ ldr r0, _02258DC8 ; =0x000005D4
+ ldr r0, [r5, r0]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ ldrb r0, [r7, r4]
+ bl MOD11_0225A400
+ add r1, r0, #0
+ ldr r0, _02258DCC ; =0x000005EC
+ ldr r0, [r5, r0]
+ ldr r0, [r0]
+ bl FUN_02020130
+ ldr r0, _02258DCC ; =0x000005EC
+ ldr r0, [r5, r0]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #6
+ blt _02258D86
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02258DC8: .word 0x000005D4
+_02258DCC: .word 0x000005EC
+
+ thumb_func_start MOD11_02258DD0
+MOD11_02258DD0: ; 0x02258DD0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, _02258E28 ; =0x000005D4
+ ldr r1, [r5, r0]
+ cmp r1, #0
+ beq _02258DE4
+ add r0, #0x18
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ bne _02258DE8
+_02258DE4:
+ bl ErrorHandling
+_02258DE8:
+ ldr r7, _02258E28 ; =0x000005D4
+ mov r6, #0
+ add r4, r5, #0
+_02258DEE:
+ ldr r0, [r4, r7]
+ mov r1, #1
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ add r6, r6, #1
+ add r4, r4, #4
+ cmp r6, #6
+ blt _02258DEE
+ ldr r0, [r5]
+ bl MOD11_0222FF74
+ mov r1, #1
+ tst r0, r1
+ beq _02258E24
+ ldr r6, _02258E2C ; =0x000005EC
+ mov r4, #0
+ add r7, r1, #0
+_02258E12:
+ ldr r0, [r5, r6]
+ add r1, r7, #0
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #6
+ blt _02258E12
+_02258E24:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02258E28: .word 0x000005D4
+_02258E2C: .word 0x000005EC
+
+ thumb_func_start MOD11_02258E30
+MOD11_02258E30: ; 0x02258E30
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, _02258E70 ; =0x000005D4
+ ldr r1, [r5, r0]
+ cmp r1, #0
+ beq _02258E44
+ add r0, #0x18
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ bne _02258E48
+_02258E44:
+ bl ErrorHandling
+_02258E48:
+ ldr r7, _02258E70 ; =0x000005D4
+ mov r4, #0
+ add r6, r7, #0
+ add r6, #0x18
+_02258E50:
+ ldr r0, [r5, r7]
+ mov r1, #0
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ ldr r0, [r5, r6]
+ mov r1, #0
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #6
+ blt _02258E50
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02258E70: .word 0x000005D4
+
+ thumb_func_start MOD11_02258E74
+MOD11_02258E74: ; 0x02258E74
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, _02258F4C ; =0x0000069F
+ mov r6, #0
+ ldrsb r1, [r5, r0]
+ sub r0, r6, #1
+ cmp r1, r0
+ bne _02258E88
+ bl ErrorHandling
+_02258E88:
+ ldr r0, _02258F4C ; =0x0000069F
+ ldr r3, _02258F50 ; =0x0225FAAC
+ ldrsb r2, [r5, r0]
+ mov r1, #0x30
+ mul r1, r2
+ add r4, r3, r1
+ ldr r1, [r4, #0x14]
+ cmp r1, #0
+ beq _02258EA2
+ add r0, r0, #3
+ ldrb r0, [r5, r0]
+ cmp r0, #1
+ bne _02258EA8
+_02258EA2:
+ mov r0, #0
+ mvn r0, r0
+ pop {r3, r4, r5, r6, r7, pc}
+_02258EA8:
+ ldr r0, [r4, #0x18]
+ cmp r0, #0
+ bne _02258EB2
+ bl ErrorHandling
+_02258EB2:
+ ldr r0, [r5]
+ bl MOD11_0222FF74
+ mov r1, #1
+ lsl r1, r1, #0xa
+ tst r0, r1
+ beq _02258ECA
+ add r0, r5, #0
+ bl MOD11_0225C784
+ add r7, r0, #0
+ b _02258EE4
+_02258ECA:
+ ldr r0, [r4, #0x14]
+ bl FUN_02020988
+ add r7, r0, #0
+ mov r0, #0
+ mvn r0, r0
+ cmp r7, r0
+ bne _02258EE4
+ add r0, r5, #0
+ bl MOD11_0225B8B0
+ add r7, r0, #0
+ add r6, r6, #1
+_02258EE4:
+ mov r0, #0
+ mvn r0, r0
+ str r0, [sp]
+ cmp r7, r0
+ bne _02258EF2
+ mov r2, #0xff
+ b _02258EFE
+_02258EF2:
+ ldr r1, [r4, #0x18]
+ lsl r0, r7, #2
+ ldr r0, [r1, r0]
+ str r0, [sp]
+ ldr r0, [r4, #0x1c]
+ ldrb r2, [r0, r7]
+_02258EFE:
+ ldr r3, [r4, #0x2c]
+ cmp r3, #0
+ beq _02258F46
+ ldr r1, [sp]
+ add r0, r5, #0
+ blx r3
+ mov r1, #0
+ mvn r1, r1
+ str r0, [sp]
+ cmp r0, r1
+ beq _02258F46
+ ldr r2, [r4, #0x24]
+ cmp r2, #0
+ beq _02258F20
+ add r0, r5, #0
+ add r1, r7, #0
+ blx r2
+_02258F20:
+ mov r0, #0x6f
+ lsl r0, r0, #4
+ add r0, r5, r0
+ mov r1, #0
+ mov r2, #4
+ blx MI_CpuFill8
+ ldr r0, _02258F54 ; =0x000006EC
+ ldr r0, [r5, r0]
+ bl MOD11_0225D648
+ cmp r6, #0
+ ldr r0, _02258F58 ; =0x000006F4
+ ble _02258F42
+ mov r1, #1
+ strb r1, [r5, r0]
+ b _02258F46
+_02258F42:
+ mov r1, #0
+ strb r1, [r5, r0]
+_02258F46:
+ ldr r0, [sp]
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02258F4C: .word 0x0000069F
+_02258F50: .word 0x0225FAAC
+_02258F54: .word 0x000006EC
+_02258F58: .word 0x000006F4
+
+ thumb_func_start MOD11_02258F5C
+MOD11_02258F5C: ; 0x02258F5C
+ push {r3, lr}
+ ldr r1, [r0, #8]
+ cmp r1, #0
+ bne _02258F7E
+ ldr r1, [r0, #0xc]
+ cmp r1, #0
+ bne _02258F7E
+ ldr r1, _02258F84 ; =0x00000684
+ ldr r1, [r0, r1]
+ cmp r1, #0
+ bne _02258F7E
+ bl MOD11_0225B780
+ cmp r0, #1
+ bne _02258F7E
+ mov r0, #1
+ pop {r3, pc}
+_02258F7E:
+ mov r0, #0
+ pop {r3, pc}
+ nop
+_02258F84: .word 0x00000684
+
+ thumb_func_start MOD11_02258F88
+MOD11_02258F88: ; 0x02258F88
+ push {r3, lr}
+ cmp r0, #0x40
+ bgt _02258FBE
+ bge _02259014
+ cmp r0, #0x10
+ bgt _02258FB8
+ bge _02258FEC
+ cmp r0, #8
+ bhi _02259024
+ add r2, r0, r0
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02258FA6: ; jump table
+ .short _02258FE0 - _02258FA6 - 2 ; case 0
+ .short _02258FEC - _02258FA6 - 2 ; case 1
+ .short _02258FEC - _02258FA6 - 2 ; case 2
+ .short _02259024 - _02258FA6 - 2 ; case 3
+ .short _02258FF8 - _02258FA6 - 2 ; case 4
+ .short _02259024 - _02258FA6 - 2 ; case 5
+ .short _02259024 - _02258FA6 - 2 ; case 6
+ .short _02259024 - _02258FA6 - 2 ; case 7
+ .short _02258FFC - _02258FA6 - 2 ; case 8
+_02258FB8:
+ cmp r0, #0x20
+ beq _0225901C
+ b _02259024
+_02258FBE:
+ mov r2, #1
+ lsl r2, r2, #8
+ cmp r0, r2
+ bgt _02258FCE
+ bge _02259008
+ cmp r0, #0x80
+ beq _02258FF8
+ b _02259024
+_02258FCE:
+ lsl r1, r2, #1
+ cmp r0, r1
+ bgt _02258FD8
+ beq _02259018
+ b _02259024
+_02258FD8:
+ lsl r1, r2, #2
+ cmp r0, r1
+ beq _02259020
+ b _02259024
+_02258FE0:
+ cmp r1, #4
+ bne _02258FE8
+ mov r0, #9
+ pop {r3, pc}
+_02258FE8:
+ mov r0, #8
+ pop {r3, pc}
+_02258FEC:
+ cmp r1, #4
+ bne _02258FF4
+ mov r0, #6
+ pop {r3, pc}
+_02258FF4:
+ mov r0, #4
+ pop {r3, pc}
+_02258FF8:
+ mov r0, #1
+ pop {r3, pc}
+_02258FFC:
+ cmp r1, #4
+ bne _02259004
+ mov r0, #7
+ pop {r3, pc}
+_02259004:
+ mov r0, #2
+ pop {r3, pc}
+_02259008:
+ cmp r1, #4
+ bne _02259010
+ mov r0, #4
+ pop {r3, pc}
+_02259010:
+ mov r0, #6
+ pop {r3, pc}
+_02259014:
+ mov r0, #3
+ pop {r3, pc}
+_02259018:
+ mov r0, #0xa
+ pop {r3, pc}
+_0225901C:
+ mov r0, #5
+ pop {r3, pc}
+_02259020:
+ mov r0, #0xb
+ pop {r3, pc}
+_02259024:
+ bl ErrorHandling
+ mov r0, #0
+ pop {r3, pc}
+
+ thumb_func_start MOD11_0225902C
+MOD11_0225902C: ; 0x0225902C
+ push {r4, r5}
+ ldr r1, _0225908C ; =0x04001000
+ ldr r2, _02259090 ; =0xFFFF1FFF
+ ldr r3, [r1]
+ add r5, r1, #0
+ and r3, r2
+ lsr r2, r1, #0xd
+ orr r2, r3
+ str r2, [r1]
+ add r5, #0x4a
+ ldrh r4, [r5]
+ mov r3, #0x3f
+ mov r2, #0x1f
+ bic r4, r3
+ orr r2, r4
+ mov r4, #0x20
+ orr r2, r4
+ strh r2, [r5]
+ add r1, #0x48
+ ldrh r5, [r1]
+ mov r2, #0x1b
+ bic r5, r3
+ orr r2, r5
+ orr r2, r4
+ strh r2, [r1]
+ mov r1, #0x6e
+ lsl r1, r1, #4
+ ldr r1, [r0, r1]
+ asr r0, r1, #7
+ lsr r0, r0, #0x18
+ add r0, r1, r0
+ asr r1, r0, #8
+ mov r0, #0xff
+ sub r0, r0, r1
+ bpl _02259074
+ mov r0, #0
+_02259074:
+ lsl r1, r0, #8
+ mov r0, #0xff
+ lsl r0, r0, #8
+ and r1, r0
+ mov r0, #0xff
+ orr r0, r1
+ ldr r1, _02259094 ; =0x04001040
+ strh r0, [r1]
+ mov r0, #0xc0
+ strh r0, [r1, #4]
+ pop {r4, r5}
+ bx lr
+ .align 2, 0
+_0225908C: .word 0x04001000
+_02259090: .word 0xFFFF1FFF
+_02259094: .word 0x04001040
+
+ thumb_func_start MOD11_02259098
+MOD11_02259098: ; 0x02259098
+ push {r4, lr}
+ lsl r4, r2, #8
+ mov r2, #0x6e
+ add r3, r0, #0
+ lsl r2, r2, #4
+ ldr r0, [r3, r2]
+ cmp r0, r4
+ beq _022590BC
+ add r0, r2, #4
+ str r1, [r3, r0]
+ add r2, #8
+ str r4, [r3, r2]
+ mov r2, #0x4b
+ ldr r0, _022590C0 ; =MOD11_022590C4
+ add r1, r3, #0
+ lsl r2, r2, #4
+ bl FUN_0200CA44
+_022590BC:
+ pop {r4, pc}
+ nop
+_022590C0: .word MOD11_022590C4
+
+ thumb_func_start MOD11_022590C4
+MOD11_022590C4: ; 0x022590C4
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ str r0, [sp]
+ ldr r0, [r5]
+ mov r4, #0
+ bl MOD11_0222FF68
+ add r7, r0, #0
+ mov r0, #0x6e
+ lsl r0, r0, #4
+ add r1, r0, #4
+ ldr r2, [r5, r0]
+ ldr r1, [r5, r1]
+ add r1, r2, r1
+ str r1, [r5, r0]
+ add r1, r0, #4
+ ldr r1, [r5, r1]
+ cmp r1, #0
+ bgt _022590F6
+ add r2, r0, #0
+ add r2, #8
+ ldr r2, [r5, r2]
+ ldr r0, [r5, r0]
+ cmp r0, r2
+ ble _02259106
+_022590F6:
+ cmp r1, #0
+ ble _0225910E
+ ldr r0, _0225915C ; =0x000006E8
+ ldr r2, [r5, r0]
+ sub r0, #8
+ ldr r0, [r5, r0]
+ cmp r0, r2
+ blt _0225910E
+_02259106:
+ mov r0, #0x6e
+ lsl r0, r0, #4
+ str r2, [r5, r0]
+ mov r4, #1
+_0225910E:
+ mov r3, #0x6e
+ lsl r3, r3, #4
+ ldr r3, [r5, r3]
+ add r0, r7, #0
+ asr r6, r3, #7
+ lsr r6, r6, #0x18
+ add r6, r3, r6
+ mov r1, #6
+ mov r2, #0
+ asr r3, r6, #8
+ bl FUN_020179E0
+ add r0, r5, #0
+ bl MOD11_0225902C
+ cmp r4, #1
+ bne _0225915A
+ ldr r2, _02259160 ; =0x000002FF
+ add r0, r7, #0
+ mov r1, #7
+ bl FUN_02018768
+ mov r0, #7
+ mov r1, #0
+ bl FUN_0201797C
+ mov r0, #7
+ mov r1, #0
+ bl FUN_020178BC
+ ldr r2, _02259164 ; =0x04001000
+ ldr r0, _02259168 ; =0xFFFF1FFF
+ ldr r1, [r2]
+ and r0, r1
+ str r0, [r2]
+ ldr r0, [sp]
+ bl FUN_0200CAB4
+_0225915A:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225915C: .word 0x000006E8
+_02259160: .word 0x000002FF
+_02259164: .word 0x04001000
+_02259168: .word 0xFFFF1FFF
+
+ thumb_func_start MOD11_0225916C
+MOD11_0225916C: ; 0x0225916C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ ldr r0, _02259240 ; =0x000006A2
+ mov r1, #1
+ strb r1, [r5, r0]
+ ldr r1, _02259244 ; =0x0400104A
+ mov r4, #0x3f
+ ldrh r2, [r1]
+ mov r0, #0xf
+ mov r7, #0xc
+ bic r2, r4
+ orr r0, r2
+ mov r2, #0x20
+ orr r0, r2
+ strh r0, [r1]
+ sub r0, r1, #2
+ ldrh r3, [r0]
+ bic r3, r4
+ orr r3, r7
+ orr r3, r2
+ strh r3, [r0]
+ ldrh r4, [r0]
+ ldr r3, _02259248 ; =0xFFFFC0FF
+ lsl r2, r2, #8
+ and r4, r3
+ lsl r3, r7, #8
+ orr r3, r4
+ orr r2, r3
+ strh r2, [r0]
+ add r2, r1, #0
+ mov r0, #0xff
+ sub r2, #0xa
+ strh r0, [r2]
+ mov r3, #0x90
+ sub r2, r1, #6
+ strh r3, [r2]
+ add r2, r1, #0
+ sub r2, #8
+ strh r0, [r2]
+ sub r0, r1, #4
+ ldr r2, _0225924C ; =0x000090C0
+ sub r1, #0x4a
+ strh r2, [r0]
+ ldr r2, [r1]
+ ldr r0, _02259250 ; =0xFFFF1FFF
+ and r2, r0
+ lsl r0, r7, #0xb
+ orr r0, r2
+ str r0, [r1]
+ mov r0, #5
+ mov r1, #0x14
+ bl FUN_02016998
+ add r4, r0, #0
+ mov r1, #0
+ mov r2, #0x14
+ blx MI_CpuFill8
+ str r5, [r4]
+ ldr r0, _02259254 ; =0xFFFF9C64
+ strb r6, [r4, #0x12]
+ strh r0, [r4, #8]
+ mov r0, #0xfa
+ lsl r0, r0, #4
+ strh r0, [r4, #0xa]
+ mov r0, #8
+ ldrsh r1, [r4, r0]
+ ldr r0, _02259258 ; =0x0000639C
+ sub r0, r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ strh r0, [r4, #0xc]
+ mov r0, #0xa
+ ldrsh r1, [r4, r0]
+ mov r0, #0xfa
+ lsl r0, r0, #4
+ sub r0, r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ strh r0, [r4, #0xe]
+ ldr r0, _0225925C ; =0x0000070E
+ bl FUN_020054C8
+ ldr r0, _02259260 ; =MOD11_0225B438
+ ldr r2, _02259264 ; =0x000004BA
+ add r1, r4, #0
+ bl FUN_0200CA44
+ ldr r0, _02259268 ; =MOD11_0225B644
+ add r1, r4, #0
+ bl FUN_02015F34
+ cmp r0, #1
+ beq _02259232
+ bl ErrorHandling
+_02259232:
+ ldr r0, _0225926C ; =MOD11_0225B538
+ add r1, r4, #0
+ mov r2, #0xa
+ bl FUN_0200CA60
+ str r0, [r4, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02259240: .word 0x000006A2
+_02259244: .word 0x0400104A
+_02259248: .word 0xFFFFC0FF
+_0225924C: .word 0x000090C0
+_02259250: .word 0xFFFF1FFF
+_02259254: .word 0xFFFF9C64
+_02259258: .word 0x0000639C
+_0225925C: .word 0x0000070E
+_02259260: .word MOD11_0225B438
+_02259264: .word 0x000004BA
+_02259268: .word MOD11_0225B644
+_0225926C: .word MOD11_0225B538
+
+ thumb_func_start MOD11_02259270
+MOD11_02259270: ; 0x02259270
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldrb r4, [r5, #0x18]
+ bl MOD11_02259284
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0225916C
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02259284
+MOD11_02259284: ; 0x02259284
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x30
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r6, r5, #0
+ ldrb r7, [r5, #0x18]
+ add r6, #0x18
+ bl MOD11_022300C4
+ add r4, r0, #0
+ ldr r0, _02259484 ; =0x0000069E
+ strb r7, [r5, r0]
+ ldr r0, [r5]
+ bl MOD11_0222FF74
+ mov r1, #0x20
+ tst r0, r1
+ beq _022592CA
+ ldr r1, _02259488 ; =0x000003A3
+ add r0, r4, #0
+ bl FUN_0200A914
+ mov r1, #0xe9
+ str r0, [sp, #0x24]
+ add r0, r4, #0
+ lsl r1, r1, #2
+ bl FUN_0200A914
+ str r0, [sp, #0x20]
+ ldr r1, _0225948C ; =0x000003A5
+ add r0, r4, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x1c]
+ b _0225931A
+_022592CA:
+ ldr r0, [r5]
+ bl MOD11_0222FF74
+ mov r1, #2
+ lsl r1, r1, #8
+ tst r0, r1
+ beq _022592FA
+ ldr r1, _02259490 ; =0x000004C7
+ add r0, r4, #0
+ bl FUN_0200A914
+ mov r1, #0xe9
+ str r0, [sp, #0x24]
+ add r0, r4, #0
+ lsl r1, r1, #2
+ bl FUN_0200A914
+ str r0, [sp, #0x20]
+ ldr r1, _0225948C ; =0x000003A5
+ add r0, r4, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x1c]
+ b _0225931A
+_022592FA:
+ mov r1, #0xe7
+ add r0, r4, #0
+ lsl r1, r1, #2
+ bl FUN_0200A914
+ str r0, [sp, #0x24]
+ ldr r1, _02259494 ; =0x0000039D
+ add r0, r4, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x20]
+ ldr r1, _02259498 ; =0x0000039E
+ add r0, r4, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x1c]
+_0225931A:
+ ldr r0, [r5]
+ add r1, r7, #0
+ bl MOD11_0223022C
+ add r1, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230CB8
+ cmp r0, #1
+ bne _0225933E
+ mov r1, #0x3a
+ add r0, r4, #0
+ lsl r1, r1, #4
+ bl FUN_0200A914
+ add r4, r0, #0
+ mov r1, #1
+ b _0225934A
+_0225933E:
+ ldr r1, _0225949C ; =0x0000039F
+ add r0, r4, #0
+ bl FUN_0200A914
+ add r4, r0, #0
+ mov r1, #0
+_0225934A:
+ ldr r0, _022594A0 ; =0x000006A3
+ mov r3, #2
+ strb r1, [r5, r0]
+ ldr r0, _022594A4 ; =0x00010203
+ ldr r1, _022594A8 ; =0x000004CC
+ str r0, [sp]
+ ldr r0, _022594AC ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x54
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ ldr r2, [sp, #0x24]
+ add r0, r5, #0
+ add r1, r5, r1
+ bl MOD11_0225A458
+ ldr r0, _022594B0 ; =0x00040506
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r3, #2
+ lsl r1, r1, #4
+ ldr r0, _022594AC ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x28
+ str r0, [sp, #0xc]
+ mov r0, #0xaa
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ ldr r2, [sp, #0x20]
+ add r0, r5, #0
+ add r1, r5, r1
+ bl MOD11_0225A458
+ ldr r0, _022594B4 ; =0x00070809
+ ldr r1, _022594B8 ; =0x000004F4
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _022594AC ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0xd8
+ str r0, [sp, #0xc]
+ mov r0, #0xaa
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ ldr r2, [sp, #0x1c]
+ add r0, r5, #0
+ add r1, r5, r1
+ bl MOD11_0225A458
+ ldr r0, _022594BC ; =0x000A0B0C
+ ldr r1, _022594C0 ; =0x00000508
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _022594AC ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0xb2
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r4, #0
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x24]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x20]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x1c]
+ bl FUN_02021A20
+ add r0, r4, #0
+ bl FUN_02021A20
+ ldr r0, [r5]
+ bl MOD11_0222FF74
+ mov r1, #0x22
+ lsl r1, r1, #4
+ tst r0, r1
+ bne _0225947E
+ ldrb r1, [r6, #1]
+ ldrb r2, [r6, #2]
+ ldr r0, [r5]
+ bl MOD11_02230014
+ add r4, r0, #0
+ add r0, r5, #0
+ bl MOD11_0225A164
+ ldrh r0, [r6, #6]
+ mov r3, #4
+ add r1, r4, #0
+ str r0, [sp]
+ ldrb r0, [r6, #3]
+ add r2, r7, #0
+ str r0, [sp, #4]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0
+ bl MOD11_0225A270
+ add r4, r0, #0
+ ldr r0, _022594A8 ; =0x000004CC
+ add r1, sp, #0x2c
+ ldr r0, [r5, r0]
+ add r2, sp, #0x28
+ bl FUN_020119A4
+ cmp r7, #4
+ bne _0225945E
+ ldr r0, _022594C4 ; =0x000004DC
+ ldr r1, [sp, #0x2c]
+ ldrh r0, [r5, r0]
+ add r0, #0x10
+ add r0, r1, r0
+ str r0, [sp, #0x2c]
+ b _02259464
+_0225945E:
+ ldr r0, [sp, #0x2c]
+ sub r0, #0x10
+ str r0, [sp, #0x2c]
+_02259464:
+ mov r3, #0x11
+ ldr r1, [sp, #0x2c]
+ ldr r2, [sp, #0x28]
+ lsl r3, r3, #4
+ sub r2, r2, r3
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ add r0, r4, #0
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ lsl r3, r3, #0xc
+ bl FUN_0200C750
+_0225947E:
+ add sp, #0x30
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_02259484: .word 0x0000069E
+_02259488: .word 0x000003A3
+_0225948C: .word 0x000003A5
+_02259490: .word 0x000004C7
+_02259494: .word 0x0000039D
+_02259498: .word 0x0000039E
+_0225949C: .word 0x0000039F
+_022594A0: .word 0x000006A3
+_022594A4: .word 0x00010203
+_022594A8: .word 0x000004CC
+_022594AC: .word 0x00004E33
+_022594B0: .word 0x00040506
+_022594B4: .word 0x00070809
+_022594B8: .word 0x000004F4
+_022594BC: .word 0x000A0B0C
+_022594C0: .word 0x00000508
+_022594C4: .word 0x000004DC
+
+ thumb_func_start MOD11_022594C8
+MOD11_022594C8: ; 0x022594C8
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldrb r4, [r5, #0x18]
+ bl MOD11_022594DC
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0225916C
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_022594DC
+MOD11_022594DC: ; 0x022594DC
+ push {r3, r4, r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0
+ bl MOD11_02259284
+ ldr r0, [r5]
+ bl MOD11_0222FF68
+ mov r1, #0x10
+ str r1, [sp]
+ mov r1, #0x20
+ str r1, [sp, #4]
+ mov r1, #8
+ str r1, [sp, #8]
+ mov r1, #0x11
+ str r1, [sp, #0xc]
+ ldr r2, _02259534 ; =0x000002FF
+ add r4, r0, #0
+ mov r1, #4
+ mov r3, #0
+ bl FUN_02018540
+ add r0, r4, #0
+ mov r1, #5
+ bl FUN_0201AC68
+ mov r0, #0x4e
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ mov r1, #0
+ bl FUN_020119D0
+ ldr r0, _02259538 ; =0x000004F4
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ ldr r0, _0225953C ; =0x00000508
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ add sp, #0x10
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02259534: .word 0x000002FF
+_02259538: .word 0x000004F4
+_0225953C: .word 0x00000508
+
+ thumb_func_start MOD11_02259540
+MOD11_02259540: ; 0x02259540
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldrb r4, [r5, #0x18]
+ bl MOD11_02259554
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0225916C
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_02259554
+MOD11_02259554: ; 0x02259554
+ push {r3, r4, r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0
+ bl MOD11_02259284
+ ldr r0, [r5]
+ bl MOD11_0222FF68
+ mov r1, #0x10
+ str r1, [sp]
+ mov r1, #0xa
+ str r1, [sp, #4]
+ mov r1, #8
+ str r1, [sp, #8]
+ mov r1, #0x11
+ str r1, [sp, #0xc]
+ ldr r2, _022595C0 ; =0x000002FF
+ mov r1, #4
+ mov r3, #0
+ add r4, r0, #0
+ bl FUN_02018540
+ mov r0, #0x10
+ str r0, [sp]
+ mov r0, #0xa
+ str r0, [sp, #4]
+ mov r0, #8
+ str r0, [sp, #8]
+ mov r0, #0x11
+ str r0, [sp, #0xc]
+ ldr r2, _022595C0 ; =0x000002FF
+ add r0, r4, #0
+ mov r1, #4
+ mov r3, #0x16
+ bl FUN_02018540
+ add r0, r4, #0
+ mov r1, #5
+ bl FUN_0201AC68
+ mov r0, #0x4e
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ mov r1, #0
+ bl FUN_020119D0
+ ldr r0, _022595C4 ; =0x000004F4
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ add sp, #0x10
+ pop {r3, r4, r5, pc}
+ nop
+_022595C0: .word 0x000002FF
+_022595C4: .word 0x000004F4
+
+ thumb_func_start MOD11_022595C8
+MOD11_022595C8: ; 0x022595C8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ add r5, r0, #0
+ add r6, r5, #0
+ add r6, #0x18
+ bne _022595D8
+ bl ErrorHandling
+_022595D8:
+ ldrb r1, [r6, #0x10]
+ ldr r0, _02259854 ; =0x0000069E
+ strb r1, [r5, r0]
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ str r0, [sp, #0x1c]
+ ldrb r1, [r6, #0x10]
+ add r0, r5, #0
+ bl MOD11_0225A69C
+ str r0, [sp, #0x20]
+ add r0, r5, #0
+ bl MOD11_0225A9D4
+ ldr r0, _02259858 ; =0x00070809
+ ldr r1, _0225985C ; =0x000004CC
+ str r0, [sp]
+ mov r0, #3
+ str r0, [sp, #4]
+ ldr r0, _02259860 ; =0x00004E33
+ add r1, r5, r1
+ str r0, [sp, #8]
+ mov r0, #0x40
+ str r0, [sp, #0xc]
+ mov r0, #0x2e
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x20]
+ mov r2, #0
+ add r0, #0x28
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ mov r3, #2
+ bl MOD11_0225A458
+ ldr r0, _02259858 ; =0x00070809
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r0, #3
+ str r0, [sp, #4]
+ ldr r0, _02259860 ; =0x00004E33
+ lsl r1, r1, #4
+ str r0, [sp, #8]
+ mov r0, #0xc0
+ str r0, [sp, #0xc]
+ mov r0, #0x2e
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x20]
+ add r1, r5, r1
+ add r0, #0x3c
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ mov r2, #0
+ mov r3, #2
+ bl MOD11_0225A458
+ ldr r0, _02259858 ; =0x00070809
+ ldr r1, _02259864 ; =0x000004F4
+ str r0, [sp]
+ mov r0, #3
+ str r0, [sp, #4]
+ ldr r0, _02259860 ; =0x00004E33
+ add r1, r5, r1
+ str r0, [sp, #8]
+ mov r0, #0x40
+ str r0, [sp, #0xc]
+ mov r0, #0x6e
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x20]
+ mov r2, #0
+ add r0, #0x50
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ mov r3, #2
+ bl MOD11_0225A458
+ ldr r0, _02259858 ; =0x00070809
+ ldr r1, _02259868 ; =0x00000508
+ str r0, [sp]
+ mov r0, #3
+ str r0, [sp, #4]
+ ldr r0, _02259860 ; =0x00004E33
+ add r1, r5, r1
+ str r0, [sp, #8]
+ mov r0, #0xc0
+ str r0, [sp, #0xc]
+ mov r0, #0x6e
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x20]
+ mov r2, #0
+ add r0, #0x64
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ mov r3, #2
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x20]
+ mov r4, #0
+ str r0, [sp, #0x28]
+ add r0, #0x78
+ str r0, [sp, #0x28]
+ ldr r0, _0225985C ; =0x000004CC
+ add r7, r5, r0
+ ldr r0, [sp, #0x20]
+ add r0, #0xc8
+ str r0, [sp, #0x20]
+ b _02259748
+_022596BE:
+ add r1, r6, r4
+ ldrb r0, [r1, #8]
+ ldrb r1, [r1, #0xc]
+ bl MOD11_0225B3D4
+ str r0, [sp, #0x24]
+ str r0, [sp]
+ mov r0, #4
+ str r0, [sp, #4]
+ ldr r0, _02259860 ; =0x00004E33
+ ldr r1, _0225986C ; =0x0225F73C
+ str r0, [sp, #8]
+ lsl r0, r4, #2
+ ldrh r1, [r1, r0]
+ add r2, r4, #0
+ add r2, #9
+ str r1, [sp, #0xc]
+ ldr r1, _0225986C ; =0x0225F73C
+ add r0, r1, r0
+ ldrh r0, [r0, #2]
+ add r1, r4, #0
+ str r0, [sp, #0x10]
+ mov r0, #0
+ str r0, [sp, #0x14]
+ mov r0, #0x14
+ mul r1, r0
+ ldr r0, [sp, #0x28]
+ add r0, r0, r1
+ mov r1, #0x14
+ mul r1, r2
+ mov r2, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r7, r1
+ add r3, r2, #0
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x24]
+ ldr r1, _02259870 ; =0x0225F78C
+ str r0, [sp]
+ mov r0, #4
+ str r0, [sp, #4]
+ ldr r0, _02259860 ; =0x00004E33
+ add r2, r4, #5
+ str r0, [sp, #8]
+ lsl r0, r4, #2
+ ldrh r1, [r1, r0]
+ str r1, [sp, #0xc]
+ ldr r1, _02259870 ; =0x0225F78C
+ add r0, r1, r0
+ ldrh r0, [r0, #2]
+ add r1, r4, #0
+ str r0, [sp, #0x10]
+ mov r0, #0
+ str r0, [sp, #0x14]
+ mov r0, #0x14
+ mul r1, r0
+ ldr r0, [sp, #0x20]
+ add r0, r0, r1
+ mov r1, #0x14
+ mul r1, r2
+ mov r2, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r7, r1
+ add r3, r2, #0
+ bl MOD11_0225A458
+ add r4, r4, #1
+_02259748:
+ cmp r4, #4
+ blt _022596BE
+ ldr r0, [sp, #0x1c]
+ ldr r1, _02259874 ; =0x000003A1
+ bl FUN_0200A914
+ add r4, r0, #0
+ ldr r0, _02259878 ; =0x000A0B0C
+ ldr r1, _0225987C ; =0x0000051C
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _02259860 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0xb2
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r4, #0
+ bl MOD11_0225A458
+ add r0, r4, #0
+ bl FUN_02021A20
+ mov r4, #0
+ mov r7, #3
+ b _022597B0
+_0225978A:
+ lsl r0, r4, #1
+ ldrh r0, [r6, r0]
+ cmp r0, #0
+ beq _022597A4
+ add r1, r7, #0
+ bl FUN_0206AB18
+ add r1, r0, #0
+ add r0, r5, #0
+ add r2, r4, #0
+ bl MOD11_0225AB34
+ b _022597AE
+_022597A4:
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0225AB50
+ b _022597B4
+_022597AE:
+ add r4, r4, #1
+_022597B0:
+ cmp r4, #4
+ blt _0225978A
+_022597B4:
+ ldr r0, [r5]
+ bl MOD11_0222FF68
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _022597E2
+ ldr r0, _0225985C ; =0x000004CC
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ mov r0, #0x53
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ mov r1, #0
+ bl FUN_020119D0
+ mov r0, #0x16
+ lsl r0, r0, #6
+ ldr r0, [r5, r0]
+ mov r1, #0
+ bl FUN_020119D0
+_022597E2:
+ ldrh r0, [r6, #2]
+ cmp r0, #0
+ bne _02259808
+ mov r0, #0x4e
+ lsl r0, r0, #4
+ ldr r0, [r5, r0]
+ mov r1, #0
+ bl FUN_020119D0
+ ldr r0, _02259880 ; =0x00000544
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ ldr r0, _02259884 ; =0x00000594
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+_02259808:
+ ldrh r0, [r6, #4]
+ cmp r0, #0
+ bne _0225982C
+ ldr r0, _02259864 ; =0x000004F4
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ ldr r0, _02259888 ; =0x00000558
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ ldr r0, _0225988C ; =0x000005A8
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+_0225982C:
+ ldrh r0, [r6, #6]
+ cmp r0, #0
+ bne _02259850
+ ldr r0, _02259868 ; =0x00000508
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ ldr r0, _02259890 ; =0x0000056C
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+ ldr r0, _02259894 ; =0x000005BC
+ mov r1, #0
+ ldr r0, [r5, r0]
+ bl FUN_020119D0
+_02259850:
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02259854: .word 0x0000069E
+_02259858: .word 0x00070809
+_0225985C: .word 0x000004CC
+_02259860: .word 0x00004E33
+_02259864: .word 0x000004F4
+_02259868: .word 0x00000508
+_0225986C: .word 0x0225F73C
+_02259870: .word 0x0225F78C
+_02259874: .word 0x000003A1
+_02259878: .word 0x000A0B0C
+_0225987C: .word 0x0000051C
+_02259880: .word 0x00000544
+_02259884: .word 0x00000594
+_02259888: .word 0x00000558
+_0225988C: .word 0x000005A8
+_02259890: .word 0x0000056C
+_02259894: .word 0x000005BC
+
+ thumb_func_start MOD11_02259898
+MOD11_02259898: ; 0x02259898
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x1c
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ mov r1, #0xeb
+ lsl r1, r1, #2
+ add r6, r0, #0
+ bl FUN_0200A914
+ add r4, r0, #0
+ ldr r1, _0225991C ; =0x000003AD
+ add r0, r6, #0
+ bl FUN_0200A914
+ add r6, r0, #0
+ ldr r0, _02259920 ; =0x00010203
+ ldr r1, _02259924 ; =0x000004CC
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _02259928 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x44
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r4, #0
+ bl MOD11_0225A458
+ ldr r0, _0225992C ; =0x000A0B0C
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r3, #2
+ lsl r1, r1, #4
+ ldr r0, _02259928 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x8c
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r6, #0
+ bl MOD11_0225A458
+ add r0, r4, #0
+ bl FUN_02021A20
+ add r0, r6, #0
+ bl FUN_02021A20
+ add sp, #0x1c
+ pop {r3, r4, r5, r6, pc}
+ .align 2, 0
+_0225991C: .word 0x000003AD
+_02259920: .word 0x00010203
+_02259924: .word 0x000004CC
+_02259928: .word 0x00004E33
+_0225992C: .word 0x000A0B0C
+
+ thumb_func_start MOD11_02259930
+MOD11_02259930: ; 0x02259930
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0x1c
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ ldr r1, _022599B4 ; =0x0000049D
+ add r6, r0, #0
+ bl FUN_0200A914
+ add r4, r0, #0
+ ldr r1, _022599B8 ; =0x0000049E
+ add r0, r6, #0
+ bl FUN_0200A914
+ add r6, r0, #0
+ ldr r0, _022599BC ; =0x00010203
+ ldr r1, _022599C0 ; =0x000004CC
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _022599C4 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x44
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r4, #0
+ bl MOD11_0225A458
+ ldr r0, _022599C8 ; =0x000A0B0C
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r3, #2
+ lsl r1, r1, #4
+ ldr r0, _022599C4 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x8c
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r6, #0
+ bl MOD11_0225A458
+ add r0, r4, #0
+ bl FUN_02021A20
+ add r0, r6, #0
+ bl FUN_02021A20
+ add sp, #0x1c
+ pop {r3, r4, r5, r6, pc}
+ nop
+_022599B4: .word 0x0000049D
+_022599B8: .word 0x0000049E
+_022599BC: .word 0x00010203
+_022599C0: .word 0x000004CC
+_022599C4: .word 0x00004E33
+_022599C8: .word 0x000A0B0C
+
+ thumb_func_start MOD11_022599CC
+MOD11_022599CC: ; 0x022599CC
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230138
+ add r4, r0, #0
+ ldr r1, _02259A98 ; =0x000004A2
+ add r0, r6, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x1c]
+ ldr r1, _02259A9C ; =0x000004A3
+ add r0, r6, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x20]
+ mov r0, #0x64
+ mov r1, #5
+ bl FUN_020219F4
+ add r6, r0, #0
+ mov r0, #0x64
+ mov r1, #5
+ bl FUN_020219F4
+ add r7, r0, #0
+ ldrh r2, [r5, #0x18]
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_0200AD5C
+ ldr r2, [sp, #0x1c]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl FUN_0200B7B8
+ ldr r2, [sp, #0x20]
+ add r0, r4, #0
+ add r1, r7, #0
+ bl FUN_0200B7B8
+ ldr r0, _02259AA0 ; =0x00010203
+ ldr r1, _02259AA4 ; =0x000004CC
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _02259AA8 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x44
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r6, #0
+ bl MOD11_0225A458
+ ldr r0, _02259AAC ; =0x000A0B0C
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r3, #2
+ lsl r1, r1, #4
+ ldr r0, _02259AA8 ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x8c
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r7, #0
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x1c]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x20]
+ bl FUN_02021A20
+ add r0, r6, #0
+ bl FUN_02021A20
+ add r0, r7, #0
+ bl FUN_02021A20
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02259A98: .word 0x000004A2
+_02259A9C: .word 0x000004A3
+_02259AA0: .word 0x00010203
+_02259AA4: .word 0x000004CC
+_02259AA8: .word 0x00004E33
+_02259AAC: .word 0x000A0B0C
+
+ thumb_func_start MOD11_02259AB0
+MOD11_02259AB0: ; 0x02259AB0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230138
+ add r4, r0, #0
+ ldr r1, _02259B7C ; =0x000004C1
+ add r0, r6, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x1c]
+ ldr r1, _02259B80 ; =0x000004C2
+ add r0, r6, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x20]
+ mov r0, #0x64
+ mov r1, #5
+ bl FUN_020219F4
+ add r6, r0, #0
+ mov r0, #0x64
+ mov r1, #5
+ bl FUN_020219F4
+ add r7, r0, #0
+ ldrh r2, [r5, #0x18]
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_0200AD5C
+ ldr r2, [sp, #0x1c]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl FUN_0200B7B8
+ ldr r2, [sp, #0x20]
+ add r0, r4, #0
+ add r1, r7, #0
+ bl FUN_0200B7B8
+ ldr r0, _02259B84 ; =0x00010203
+ ldr r1, _02259B88 ; =0x000004CC
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _02259B8C ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x44
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r6, #0
+ bl MOD11_0225A458
+ ldr r0, _02259B90 ; =0x000A0B0C
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r3, #2
+ lsl r1, r1, #4
+ ldr r0, _02259B8C ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x8c
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r7, #0
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x1c]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x20]
+ bl FUN_02021A20
+ add r0, r6, #0
+ bl FUN_02021A20
+ add r0, r7, #0
+ bl FUN_02021A20
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02259B7C: .word 0x000004C1
+_02259B80: .word 0x000004C2
+_02259B84: .word 0x00010203
+_02259B88: .word 0x000004CC
+_02259B8C: .word 0x00004E33
+_02259B90: .word 0x000A0B0C
+
+ thumb_func_start MOD11_02259B94
+MOD11_02259B94: ; 0x02259B94
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230138
+ add r4, r0, #0
+ ldr r1, _02259C60 ; =0x000004BF
+ add r0, r6, #0
+ bl FUN_0200A914
+ mov r1, #0x13
+ str r0, [sp, #0x1c]
+ add r0, r6, #0
+ lsl r1, r1, #6
+ bl FUN_0200A914
+ str r0, [sp, #0x20]
+ mov r0, #0x64
+ mov r1, #5
+ bl FUN_020219F4
+ add r6, r0, #0
+ mov r0, #0x64
+ mov r1, #5
+ bl FUN_020219F4
+ add r7, r0, #0
+ ldrh r2, [r5, #0x18]
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_0200AD5C
+ ldr r2, [sp, #0x1c]
+ add r0, r4, #0
+ add r1, r6, #0
+ bl FUN_0200B7B8
+ ldr r2, [sp, #0x20]
+ add r0, r4, #0
+ add r1, r7, #0
+ bl FUN_0200B7B8
+ ldr r0, _02259C64 ; =0x00010203
+ ldr r1, _02259C68 ; =0x000004CC
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, _02259C6C ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x44
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r6, #0
+ bl MOD11_0225A458
+ ldr r0, _02259C70 ; =0x000A0B0C
+ mov r1, #0x4e
+ str r0, [sp]
+ mov r3, #2
+ lsl r1, r1, #4
+ ldr r0, _02259C6C ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ mov r0, #0x80
+ str r0, [sp, #0xc]
+ mov r0, #0x8c
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ add r2, r7, #0
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x1c]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x20]
+ bl FUN_02021A20
+ add r0, r6, #0
+ bl FUN_02021A20
+ add r0, r7, #0
+ bl FUN_02021A20
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_02259C60: .word 0x000004BF
+_02259C64: .word 0x00010203
+_02259C68: .word 0x000004CC
+_02259C6C: .word 0x00004E33
+_02259C70: .word 0x000A0B0C
+
+ thumb_func_start MOD11_02259C74
+MOD11_02259C74: ; 0x02259C74
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x44
+ add r5, r0, #0
+ add r7, r5, #0
+ add r7, #0x18
+ add r0, r7, #0
+ add r0, #0x21
+ ldrb r1, [r0]
+ mov r0, #0x6a
+ lsl r0, r0, #4
+ strb r1, [r5, r0]
+ add r1, r7, #0
+ add r1, #0x20
+ ldrb r1, [r1]
+ sub r0, r0, #2
+ strb r1, [r5, r0]
+ ldr r0, [r5]
+ bl MOD11_022300C4
+ str r0, [sp, #0x2c]
+ ldr r0, [r5]
+ bl MOD11_02230138
+ str r0, [sp, #0x1c]
+ add r0, r5, #0
+ add r1, sp, #0x40
+ mov r2, #0
+ bl MOD11_0225ACD4
+ add r0, r5, #0
+ bl MOD11_0225A164
+ add r0, r5, #0
+ bl MOD11_0225A5C0
+ add r1, sp, #0x38
+ ldr r0, [r5]
+ add r1, #2
+ bl MOD11_02231504
+ ldr r0, [r5]
+ add r1, sp, #0x34
+ bl MOD11_022314E0
+ mov r0, #0x18
+ mov r1, #5
+ bl FUN_020219F4
+ str r0, [sp, #0x28]
+ ldr r0, _02259E38 ; =0x000004CC
+ mov r4, #0
+ add r0, r5, r0
+ str r0, [sp, #0x30]
+ b _02259DEC
+_02259CE0:
+ add r1, r4, #2
+ add r0, sp, #0x34
+ ldrb r6, [r0, r1]
+ lsl r0, r6, #3
+ add r0, r7, r0
+ ldrb r1, [r0, #1]
+ lsl r0, r1, #0x1d
+ lsr r0, r0, #0x1f
+ cmp r0, #1
+ bne _02259DDA
+ add r0, sp, #0x40
+ ldrb r0, [r0, r4]
+ cmp r0, #1
+ bne _02259DDA
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ bne _02259D0E
+ ldr r0, [sp, #0x2c]
+ ldr r1, _02259E3C ; =0x000003C2
+ bl FUN_0200A914
+ str r0, [sp, #0x24]
+ b _02259D2A
+_02259D0E:
+ cmp r0, #1
+ bne _02259D1E
+ ldr r0, [sp, #0x2c]
+ ldr r1, _02259E40 ; =0x000003C3
+ bl FUN_0200A914
+ str r0, [sp, #0x24]
+ b _02259D2A
+_02259D1E:
+ mov r1, #0xf1
+ ldr r0, [sp, #0x2c]
+ lsl r1, r1, #2
+ bl FUN_0200A914
+ str r0, [sp, #0x24]
+_02259D2A:
+ lsl r2, r6, #3
+ ldrb r2, [r7, r2]
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl MOD11_02230014
+ str r0, [sp, #0x20]
+ bl FUN_020690E4
+ add r2, r0, #0
+ ldr r0, [sp, #0x1c]
+ mov r1, #0
+ bl FUN_0200ACF8
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x28]
+ ldr r2, [sp, #0x24]
+ bl FUN_0200B7B8
+ mov r0, #1
+ tst r0, r4
+ beq _02259D5A
+ ldr r0, _02259E44 ; =0x00010203
+ b _02259D5C
+_02259D5A:
+ ldr r0, _02259E48 ; =0x00040506
+_02259D5C:
+ str r0, [sp]
+ mov r0, #6
+ str r0, [sp, #4]
+ ldr r0, _02259E4C ; =0x00004E33
+ ldr r1, _02259E50 ; =0x0225F7D4
+ str r0, [sp, #8]
+ lsl r0, r4, #2
+ ldrh r1, [r1, r0]
+ add r2, r4, #0
+ mov r3, #2
+ str r1, [sp, #0xc]
+ ldr r1, _02259E50 ; =0x0225F7D4
+ add r0, r1, r0
+ ldrh r0, [r0, #2]
+ mov r1, #0x14
+ mul r2, r1
+ ldr r1, [sp, #0x30]
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ add r1, r1, r2
+ str r0, [sp, #0x18]
+ ldr r2, [sp, #0x28]
+ add r0, r5, #0
+ bl MOD11_0225A458
+ ldr r0, [sp, #0x24]
+ bl FUN_02021A20
+ cmp r4, #1
+ beq _02259DA2
+ cmp r4, #3
+ beq _02259DBE
+ b _02259DEA
+_02259DA2:
+ lsl r0, r6, #3
+ add r6, r7, r0
+ ldrh r0, [r6, #6]
+ mov r3, #4
+ ldr r1, [sp, #0x20]
+ str r0, [sp]
+ ldrb r0, [r6, #2]
+ mov r2, #3
+ str r0, [sp, #4]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0
+ bl MOD11_0225A270
+ b _02259DEA
+_02259DBE:
+ lsl r0, r6, #3
+ add r6, r7, r0
+ ldrh r0, [r6, #6]
+ mov r3, #4
+ ldr r1, [sp, #0x20]
+ str r0, [sp]
+ ldrb r0, [r6, #2]
+ mov r2, #5
+ str r0, [sp, #4]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0
+ bl MOD11_0225A270
+ b _02259DEA
+_02259DDA:
+ add r0, sp, #0x40
+ ldrb r0, [r0, r4]
+ cmp r0, #0
+ bne _02259DEA
+ add r0, r5, #0
+ add r1, r4, #0
+ bl MOD11_0225ABA4
+_02259DEA:
+ add r4, r4, #1
+_02259DEC:
+ cmp r4, #4
+ bge _02259DF2
+ b _02259CE0
+_02259DF2:
+ ldr r0, [sp, #0x28]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x2c]
+ ldr r1, _02259E54 ; =0x000003A2
+ bl FUN_0200A914
+ add r4, r0, #0
+ ldr r0, _02259E58 ; =0x000A0B0C
+ mov r3, #2
+ str r0, [sp]
+ ldr r0, _02259E4C ; =0x00004E33
+ str r3, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, _02259E5C ; =0x0225F7C4
+ add r2, r4, #0
+ ldrh r1, [r0, #0x20]
+ str r1, [sp, #0xc]
+ ldrh r0, [r0, #0x22]
+ ldr r1, _02259E60 ; =0x0000051C
+ str r0, [sp, #0x10]
+ mov r0, #1
+ str r0, [sp, #0x14]
+ mov r0, #0
+ str r0, [sp, #0x18]
+ add r0, r5, #0
+ add r1, r5, r1
+ bl MOD11_0225A458
+ add r0, r4, #0
+ bl FUN_02021A20
+ add sp, #0x44
+ pop {r4, r5, r6, r7, pc}
+ nop
+_02259E38: .word 0x000004CC
+_02259E3C: .word 0x000003C2
+_02259E40: .word 0x000003C3
+_02259E44: .word 0x00010203
+_02259E48: .word 0x00040506
+_02259E4C: .word 0x00004E33
+_02259E50: .word 0x0225F7D4
+_02259E54: .word 0x000003A2
+_02259E58: .word 0x000A0B0C
+_02259E5C: .word 0x0225F7C4
+_02259E60: .word 0x0000051C
+
+ thumb_func_start MOD11_02259E64
+MOD11_02259E64: ; 0x02259E64
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r0, #0
+ mov r0, #0xff
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #1
+ cmp r0, #5
+ bhi _02259E8C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02259E80: ; jump table
+ .short _02259E8C - _02259E80 - 2 ; case 0
+ .short _02259E8C - _02259E80 - 2 ; case 1
+ .short _02259E90 - _02259E80 - 2 ; case 2
+ .short _02259EB4 - _02259E80 - 2 ; case 3
+ .short _02259EBA - _02259E80 - 2 ; case 4
+ .short _02259EC0 - _02259E80 - 2 ; case 5
+_02259E8C:
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02259E90:
+ ldr r0, _02259F24 ; =0x0000069E
+ mov r7, #0
+ ldrb r0, [r4, r0]
+ add r6, r7, #0
+ cmp r0, #0
+ beq _02259EA6
+ cmp r0, #2
+ beq _02259EAA
+ cmp r0, #4
+ beq _02259EAA
+ b _02259EC4
+_02259EA6:
+ str r0, [sp]
+ b _02259EC4
+_02259EAA:
+ ldr r0, _02259F24 ; =0x0000069E
+ ldrb r0, [r4, r0]
+ sub r0, r0, #2
+ str r0, [sp]
+ b _02259EC4
+_02259EB4:
+ mov r7, #1
+ add r6, r7, #0
+ b _02259EC4
+_02259EBA:
+ mov r7, #2
+ mov r6, #1
+ b _02259EC4
+_02259EC0:
+ mov r7, #3
+ mov r6, #1
+_02259EC4:
+ add r0, r4, #0
+ add r1, r2, #0
+ bl MOD11_0225ADD4
+ ldr r0, _02259F28 ; =MOD11_0225AE4C
+ add r1, r4, #0
+ bl MOD11_0225AD80
+ ldr r0, _02259F2C ; =0x0225F854
+ sub r2, r5, #1
+ mov r1, #6
+ mul r1, r2
+ add r0, r0, r1
+ ldr r1, _02259F30 ; =0x000006B4
+ lsl r2, r2, #2
+ str r0, [r4, r1]
+ ldr r0, _02259F34 ; =0x0225F70C
+ add r3, r0, r2
+ add r0, r1, #4
+ str r3, [r4, r0]
+ add r0, r1, #0
+ mov r3, #1
+ add r0, #0xc
+ strb r3, [r4, r0]
+ add r0, r1, #0
+ add r0, #8
+ str r5, [r4, r0]
+ add r0, r1, #0
+ add r0, #0xd
+ strb r7, [r4, r0]
+ add r3, r1, #0
+ ldr r0, [sp]
+ add r3, #0xe
+ strb r0, [r4, r3]
+ add r0, r1, #0
+ add r0, #0xf
+ strb r6, [r4, r0]
+ ldr r0, _02259F38 ; =0x0225F79C
+ add r3, r0, r2
+ ldrh r2, [r0, r2]
+ add r0, r1, #0
+ add r0, #0x10
+ strh r2, [r4, r0]
+ ldrh r0, [r3, #2]
+ add r1, #0x12
+ strh r0, [r4, r1]
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02259F24: .word 0x0000069E
+_02259F28: .word MOD11_0225AE4C
+_02259F2C: .word 0x0225F854
+_02259F30: .word 0x000006B4
+_02259F34: .word 0x0225F70C
+_02259F38: .word 0x0225F79C
+
+ thumb_func_start MOD11_02259F3C
+MOD11_02259F3C: ; 0x02259F3C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ mov r0, #0
+ add r4, r1, #0
+ mvn r0, r0
+ add r1, r2, #0
+ cmp r4, r0
+ bne _02259F50
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_02259F50:
+ add r2, r5, #0
+ add r2, #0x18
+ cmp r4, #1
+ blt _02259F66
+ cmp r4, #4
+ bgt _02259F66
+ sub r3, r4, #1
+ lsl r3, r3, #1
+ ldrh r2, [r2, r3]
+ cmp r2, #0
+ beq _02259FCA
+_02259F66:
+ sub r0, r4, #1
+ cmp r4, #4
+ bgt _02259F88
+ add r2, r4, #1
+ bmi _02259F8C
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02259F7C: ; jump table
+ .short _02259F8C - _02259F7C - 2 ; case 0
+ .short _02259F8C - _02259F7C - 2 ; case 1
+ .short _02259F92 - _02259F7C - 2 ; case 2
+ .short _02259F92 - _02259F7C - 2 ; case 3
+ .short _02259F92 - _02259F7C - 2 ; case 4
+ .short _02259F92 - _02259F7C - 2 ; case 5
+_02259F88:
+ cmp r4, #0xff
+ beq _02259FA2
+_02259F8C:
+ mov r0, #0
+ mvn r0, r0
+ pop {r3, r4, r5, r6, r7, pc}
+_02259F92:
+ mov r2, #6
+ mul r2, r0
+ ldr r3, _02259FCC ; =0x0225F86C
+ lsl r0, r0, #2
+ add r7, r3, r2
+ ldr r2, _02259FD0 ; =0x0225F7AC
+ add r6, r2, r0
+ b _02259FA6
+_02259FA2:
+ ldr r7, _02259FD4 ; =0x0225F884
+ ldr r6, _02259FD8 ; =0x0225F7BC
+_02259FA6:
+ add r0, r5, #0
+ bl MOD11_0225ADD4
+ ldr r0, _02259FDC ; =MOD11_0225AF9C
+ add r1, r5, #0
+ bl MOD11_0225AD80
+ ldr r1, _02259FE0 ; =0x000006B4
+ mov r2, #3
+ str r7, [r5, r1]
+ add r0, r1, #4
+ str r6, [r5, r0]
+ add r0, r1, #0
+ add r0, #0xc
+ strb r2, [r5, r0]
+ add r1, #8
+ str r4, [r5, r1]
+ add r0, r4, #0
+_02259FCA:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02259FCC: .word 0x0225F86C
+_02259FD0: .word 0x0225F7AC
+_02259FD4: .word 0x0225F884
+_02259FD8: .word 0x0225F7BC
+_02259FDC: .word MOD11_0225AF9C
+_02259FE0: .word 0x000006B4
+
+ thumb_func_start MOD11_02259FE4
+MOD11_02259FE4: ; 0x02259FE4
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ mov r0, #0
+ add r4, r1, #0
+ mvn r0, r0
+ cmp r4, r0
+ beq _02259FFA
+ cmp r4, #1
+ beq _02259FFE
+ cmp r4, #0xff
+ beq _0225A002
+_02259FFA:
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+_02259FFE:
+ mov r6, #0
+ b _0225A004
+_0225A002:
+ mov r6, #1
+_0225A004:
+ add r0, r5, #0
+ add r1, r2, #0
+ bl MOD11_0225ADD4
+ ldr r0, _0225A048 ; =MOD11_0225AE4C
+ add r1, r5, #0
+ bl MOD11_0225AD80
+ cmp r4, #1
+ ldr r0, _0225A04C ; =0x000006B4
+ bne _0225A022
+ ldr r1, _0225A050 ; =0x0225F6F6
+ str r1, [r5, r0]
+ ldr r1, _0225A054 ; =0x0225F6CC
+ b _0225A028
+_0225A022:
+ ldr r1, _0225A058 ; =0x0225F6F0
+ str r1, [r5, r0]
+ ldr r1, _0225A05C ; =0x0225F6C8
+_0225A028:
+ add r0, r0, #4
+ str r1, [r5, r0]
+ mov r0, #0x1b
+ mov r1, #6
+ lsl r0, r0, #6
+ strb r1, [r5, r0]
+ sub r1, r0, #4
+ str r4, [r5, r1]
+ add r1, r0, #1
+ strb r6, [r5, r1]
+ mov r1, #3
+ add r0, r0, #3
+ strb r1, [r5, r0]
+ add r0, r4, #0
+ pop {r4, r5, r6, pc}
+ nop
+_0225A048: .word MOD11_0225AE4C
+_0225A04C: .word 0x000006B4
+_0225A050: .word 0x0225F6F6
+_0225A054: .word 0x0225F6CC
+_0225A058: .word 0x0225F6F0
+_0225A05C: .word 0x0225F6C8
+
+ thumb_func_start MOD11_0225A060
+MOD11_0225A060: ; 0x0225A060
+ push {r3, r4, r5, r6, lr}
+ sub sp, #4
+ add r5, r1, #0
+ add r1, sp, #0
+ mov r2, #1
+ add r4, r0, #0
+ bl MOD11_0225ACD4
+ cmp r5, #4
+ bgt _0225A090
+ add r0, r5, #1
+ bmi _0225A094
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225A084: ; jump table
+ .short _0225A094 - _0225A084 - 2 ; case 0
+ .short _0225A094 - _0225A084 - 2 ; case 1
+ .short _0225A09A - _0225A084 - 2 ; case 2
+ .short _0225A0AA - _0225A084 - 2 ; case 3
+ .short _0225A0BA - _0225A084 - 2 ; case 4
+ .short _0225A0CA - _0225A084 - 2 ; case 5
+_0225A090:
+ cmp r5, #0xff
+ beq _0225A0DA
+_0225A094:
+ add sp, #4
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, pc}
+_0225A09A:
+ add r0, sp, #0
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _0225A116
+ mov r0, #0
+ add sp, #4
+ mvn r0, r0
+ pop {r3, r4, r5, r6, pc}
+_0225A0AA:
+ add r0, sp, #0
+ ldrb r0, [r0, #1]
+ cmp r0, #0
+ bne _0225A116
+ mov r0, #0
+ add sp, #4
+ mvn r0, r0
+ pop {r3, r4, r5, r6, pc}
+_0225A0BA:
+ add r0, sp, #0
+ ldrb r0, [r0, #2]
+ cmp r0, #0
+ bne _0225A116
+ mov r0, #0
+ add sp, #4
+ mvn r0, r0
+ pop {r3, r4, r5, r6, pc}
+_0225A0CA:
+ add r0, sp, #0
+ ldrb r0, [r0, #3]
+ cmp r0, #0
+ bne _0225A116
+ mov r0, #0
+ add sp, #4
+ mvn r0, r0
+ pop {r3, r4, r5, r6, pc}
+_0225A0DA:
+ add r0, r4, #0
+ mov r1, #4
+ bl MOD11_0225ADD4
+ ldr r0, _0225A14C ; =MOD11_0225AE4C
+ add r1, r4, #0
+ bl MOD11_0225AD80
+ ldr r0, _0225A150 ; =0x0225F8A4
+ ldr r1, _0225A154 ; =0x000006B4
+ ldr r2, _0225A158 ; =0x0225F80C
+ str r0, [r4, r1]
+ add r0, r1, #4
+ str r2, [r4, r0]
+ add r0, r1, #0
+ mov r2, #4
+ add r0, #0xc
+ strb r2, [r4, r0]
+ add r0, r1, #0
+ add r0, #8
+ str r5, [r4, r0]
+ add r0, r1, #0
+ add r0, #0xd
+ strb r2, [r4, r0]
+ mov r0, #3
+ add r1, #0xf
+ strb r0, [r4, r1]
+ add sp, #4
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, pc}
+_0225A116:
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldr r2, _0225A15C ; =0x000002FF
+ add r6, r0, #0
+ mov r1, #5
+ bl FUN_02018768
+ add r0, r6, #0
+ mov r1, #5
+ bl FUN_0201AC68
+ add r0, r4, #0
+ add r1, r5, #0
+ bl MOD11_0225ADD0
+ ldr r0, _0225A160 ; =MOD11_0225B234
+ add r1, r4, #0
+ bl MOD11_0225AD80
+ mov r0, #0x6d
+ lsl r0, r0, #4
+ str r5, [r4, r0]
+ add r0, r5, #0
+ add sp, #4
+ pop {r3, r4, r5, r6, pc}
+ nop
+_0225A14C: .word MOD11_0225AE4C
+_0225A150: .word 0x0225F8A4
+_0225A154: .word 0x000006B4
+_0225A158: .word 0x0225F80C
+_0225A15C: .word 0x000002FF
+_0225A160: .word MOD11_0225B234
+
+ thumb_func_start MOD11_0225A164
+MOD11_0225A164: ; 0x0225A164
+ push {r4, r5, r6, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230078
+ add r4, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230080
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300CC
+ add r5, r0, #0
+ bl FUN_0206B888
+ mov r1, #0x13
+ str r1, [sp]
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r1, #3
+ str r1, [sp, #0xc]
+ mov r0, #2
+ str r0, [sp, #0x10]
+ ldr r0, _0225A1DC ; =0x00004E32
+ add r2, r4, #0
+ str r0, [sp, #0x14]
+ add r0, r5, #0
+ add r3, r6, #0
+ bl FUN_0200C0DC
+ bl FUN_0206B890
+ add r3, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, _0225A1E0 ; =0x00004E31
+ add r1, r6, #0
+ str r0, [sp, #4]
+ add r0, r4, #0
+ mov r2, #0x13
+ bl FUN_0200C124
+ bl FUN_0206B89C
+ add r3, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, _0225A1E0 ; =0x00004E31
+ add r1, r6, #0
+ str r0, [sp, #4]
+ add r0, r4, #0
+ mov r2, #0x13
+ bl FUN_0200C13C
+ add sp, #0x18
+ pop {r4, r5, r6, pc}
+ nop
+_0225A1DC: .word 0x00004E32
+_0225A1E0: .word 0x00004E31
+
+ thumb_func_start MOD11_0225A1E4
+MOD11_0225A1E4: ; 0x0225A1E4
+ push {r4, lr}
+ ldr r0, [r0]
+ bl MOD11_02230080
+ ldr r1, _0225A220 ; =0x00004E40
+ add r4, r0, #0
+ bl FUN_0200C358
+ ldr r1, _0225A224 ; =0x00004E41
+ add r0, r4, #0
+ bl FUN_0200C358
+ ldr r1, _0225A228 ; =0x00004E42
+ add r0, r4, #0
+ bl FUN_0200C358
+ ldr r1, _0225A22C ; =0x00004E31
+ add r0, r4, #0
+ bl FUN_0200C378
+ ldr r1, _0225A22C ; =0x00004E31
+ add r0, r4, #0
+ bl FUN_0200C388
+ ldr r1, _0225A230 ; =0x00004E32
+ add r0, r4, #0
+ bl FUN_0200C368
+ pop {r4, pc}
+ nop
+_0225A220: .word 0x00004E40
+_0225A224: .word 0x00004E41
+_0225A228: .word 0x00004E42
+_0225A22C: .word 0x00004E31
+_0225A230: .word 0x00004E32
+
+ thumb_func_start MOD11_0225A234
+MOD11_0225A234: ; 0x0225A234
+ push {r3, r4, r5, r6, r7, lr}
+ mov r4, #0
+ add r5, r0, #0
+ add r6, r4, #0
+ add r7, r4, #0
+_0225A23E:
+ ldr r0, _0225A268 ; =0x00000624
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _0225A24E
+ bl FUN_0200C3DC
+ ldr r0, _0225A268 ; =0x00000624
+ str r6, [r5, r0]
+_0225A24E:
+ ldr r0, _0225A26C ; =0x00000634
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _0225A25E
+ bl FUN_0200CAB4
+ ldr r0, _0225A26C ; =0x00000634
+ str r7, [r5, r0]
+_0225A25E:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0225A23E
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225A268: .word 0x00000624
+_0225A26C: .word 0x00000634
+
+ thumb_func_start MOD11_0225A270
+MOD11_0225A270: ; 0x0225A270
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x50
+ add r6, r2, #0
+ add r4, r0, #0
+ str r1, [sp, #0xc]
+ str r3, [sp, #0x10]
+ cmp r6, #2
+ blt _0225A284
+ sub r5, r6, #2
+ b _0225A286
+_0225A284:
+ add r5, r6, #0
+_0225A286:
+ lsl r0, r5, #2
+ add r1, r4, r0
+ ldr r0, _0225A3D0 ; =0x00000624
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225A296
+ bl ErrorHandling
+_0225A296:
+ lsl r0, r5, #2
+ add r1, r4, r0
+ ldr r0, _0225A3D4 ; =0x00000634
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225A2A6
+ bl ErrorHandling
+_0225A2A6:
+ cmp r6, #5
+ bhi _0225A2CE
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225A2B6: ; jump table
+ .short _0225A2C2 - _0225A2B6 - 2 ; case 0
+ .short _0225A2CE - _0225A2B6 - 2 ; case 1
+ .short _0225A2C2 - _0225A2B6 - 2 ; case 2
+ .short _0225A2C6 - _0225A2B6 - 2 ; case 3
+ .short _0225A2C2 - _0225A2B6 - 2 ; case 4
+ .short _0225A2CA - _0225A2B6 - 2 ; case 5
+_0225A2C2:
+ ldr r6, _0225A3D8 ; =0x00004E40
+ b _0225A2D8
+_0225A2C6:
+ ldr r6, _0225A3DC ; =0x00004E41
+ b _0225A2D8
+_0225A2CA:
+ ldr r6, _0225A3E0 ; =0x00004E42
+ b _0225A2D8
+_0225A2CE:
+ bl ErrorHandling
+ add sp, #0x50
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225A2D8:
+ ldr r0, [r4]
+ bl MOD11_02230078
+ str r0, [sp, #0x18]
+ ldr r0, [r4]
+ bl MOD11_02230080
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0xc]
+ bl FUN_0206B6C8
+ add r3, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #2
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #0x14]
+ mov r2, #0x13
+ str r6, [sp, #8]
+ bl FUN_0200C00C
+ ldr r3, _0225A3E4 ; =0x0225F948
+ add r2, sp, #0x1c
+ mov r7, #6
+_0225A30A:
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ sub r7, r7, #1
+ bne _0225A30A
+ ldr r0, [r3]
+ lsl r3, r5, #2
+ str r0, [r2]
+ ldr r2, _0225A3E8 ; =0x0225F76C
+ str r6, [sp, #0x30]
+ ldrh r1, [r2, r3]
+ add r0, sp, #0x1c
+ strh r1, [r0]
+ add r1, r2, r3
+ ldrh r1, [r1, #2]
+ add r2, sp, #0x1c
+ strh r1, [r0, #2]
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #0x14]
+ bl FUN_0200C154
+ add r3, sp, #0x1c
+ mov r1, #0
+ mov r2, #2
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ mov r3, #0x11
+ lsl r3, r3, #0x10
+ add r6, r0, #0
+ bl FUN_0200C750
+ ldr r0, [sp, #0xc]
+ bl FUN_0206B87C
+ add r1, r0, #0
+ ldr r0, [r6]
+ bl FUN_020202DC
+ ldr r0, [sp, #0x10]
+ mov r7, #0
+ cmp r0, #0
+ beq _0225A3A8
+ ldr r0, [sp, #0x6c]
+ cmp r0, #2
+ beq _0225A3A8
+ cmp r0, #3
+ beq _0225A3A8
+ ldr r0, [sp, #0x10]
+ ldr r1, [sp, #0x68]
+ lsl r0, r0, #0x10
+ lsl r1, r1, #0x10
+ lsr r0, r0, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x30
+ bl FUN_02079A54
+ cmp r0, #4
+ bhi _0225A3A0
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225A388: ; jump table
+ .short _0225A3A0 - _0225A388 - 2 ; case 0
+ .short _0225A39E - _0225A388 - 2 ; case 1
+ .short _0225A39A - _0225A388 - 2 ; case 2
+ .short _0225A396 - _0225A388 - 2 ; case 3
+ .short _0225A392 - _0225A388 - 2 ; case 4
+_0225A392:
+ mov r7, #1
+ b _0225A3A0
+_0225A396:
+ mov r7, #2
+ b _0225A3A0
+_0225A39A:
+ mov r7, #3
+ b _0225A3A0
+_0225A39E:
+ mov r7, #4
+_0225A3A0:
+ add r0, r6, #0
+ add r1, r7, #0
+ bl FUN_0200C5C0
+_0225A3A8:
+ add r0, r6, #0
+ bl FUN_0200C5A8
+ lsl r0, r5, #2
+ add r1, r4, r0
+ ldr r0, _0225A3D0 ; =0x00000624
+ ldr r2, _0225A3EC ; =0x00000514
+ str r6, [r1, r0]
+ ldr r0, _0225A3F0 ; =MOD11_0225A3F4
+ add r1, r6, #0
+ bl FUN_0200CA44
+ lsl r1, r5, #2
+ add r2, r4, r1
+ ldr r1, _0225A3D4 ; =0x00000634
+ str r0, [r2, r1]
+ add r0, r6, #0
+ add sp, #0x50
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225A3D0: .word 0x00000624
+_0225A3D4: .word 0x00000634
+_0225A3D8: .word 0x00004E40
+_0225A3DC: .word 0x00004E41
+_0225A3E0: .word 0x00004E42
+_0225A3E4: .word 0x0225F948
+_0225A3E8: .word 0x0225F76C
+_0225A3EC: .word 0x00000514
+_0225A3F0: .word MOD11_0225A3F4
+
+ thumb_func_start MOD11_0225A3F4
+MOD11_0225A3F4: ; 0x0225A3F4
+ ldr r3, _0225A3FC ; =0x0200C5A9
+ add r0, r1, #0
+ bx r3
+ nop
+_0225A3FC: .word 0x0200C5A9
+
+ thumb_func_start MOD11_0225A400
+MOD11_0225A400: ; 0x0225A400
+ cmp r0, #3
+ bhi _0225A418
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225A410: ; jump table
+ .short _0225A418 - _0225A410 - 2 ; case 0
+ .short _0225A41C - _0225A410 - 2 ; case 1
+ .short _0225A420 - _0225A410 - 2 ; case 2
+ .short _0225A424 - _0225A410 - 2 ; case 3
+_0225A418:
+ mov r0, #0
+ bx lr
+_0225A41C:
+ mov r0, #1
+ bx lr
+_0225A420:
+ mov r0, #3
+ bx lr
+_0225A424:
+ mov r0, #2
+ bx lr
+
+ thumb_func_start MOD11_0225A428
+MOD11_0225A428: ; 0x0225A428
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r0, #0
+ add r6, r2, #0
+ add r0, r1, #0
+ add r1, r4, #0
+ mov r2, #0
+ add r7, r3, #0
+ bl FUN_02002E14
+ add r4, r0, #0
+ asr r1, r4, #2
+ lsr r1, r1, #0x1d
+ add r1, r4, r1
+ asr r5, r1, #3
+ mov r1, #8
+ blx FX_ModS32
+ cmp r0, #0
+ beq _0225A450
+ add r5, r5, #1
+_0225A450:
+ str r4, [r6]
+ str r5, [r7]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225A458
+MOD11_0225A458: ; 0x0225A458
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x7c
+ add r5, r1, #0
+ add r7, r0, #0
+ ldr r0, [r5]
+ str r2, [sp, #0x18]
+ str r3, [sp, #0x1c]
+ ldr r6, [sp, #0x9c]
+ ldr r4, [sp, #0xa8]
+ cmp r0, #0
+ beq _0225A472
+ bl ErrorHandling
+_0225A472:
+ ldr r0, [r7]
+ bl MOD11_02230080
+ str r0, [sp, #0x20]
+ ldr r0, [r7]
+ bl MOD11_0222FF68
+ str r0, [sp, #0x24]
+ cmp r4, #0
+ bne _0225A494
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #0x1c]
+ add r2, sp, #0x2c
+ add r3, sp, #0x28
+ bl MOD11_0225A428
+ b _0225A49C
+_0225A494:
+ ldrh r0, [r4, #0x12]
+ str r0, [sp, #0x2c]
+ ldrh r0, [r4, #0x10]
+ str r0, [sp, #0x28]
+_0225A49C:
+ cmp r4, #0
+ bne _0225A4DA
+ add r0, sp, #0x3c
+ bl FUN_0201901C
+ mov r0, #0
+ str r0, [sp]
+ str r0, [sp, #4]
+ ldr r2, [sp, #0x28]
+ ldr r0, [sp, #0x24]
+ lsl r2, r2, #0x18
+ add r1, sp, #0x3c
+ lsr r2, r2, #0x18
+ mov r3, #2
+ bl FUN_020190EC
+ mov r3, #0
+ str r3, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x90]
+ ldr r1, [sp, #0x1c]
+ str r0, [sp, #8]
+ str r3, [sp, #0xc]
+ str r3, [sp, #0x10]
+ ldr r2, [sp, #0x18]
+ add r0, sp, #0x3c
+ str r3, [sp, #0x14]
+ bl FUN_0201BE3C
+ b _0225A4E6
+_0225A4DA:
+ add r3, r4, #0
+ add r2, sp, #0x3c
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+_0225A4E6:
+ add r0, sp, #0x3c
+ mov r1, #2
+ mov r2, #5
+ bl FUN_02011898
+ mov r1, #1
+ mov r2, #2
+ add r3, sp, #0x30
+ bl FUN_0201D568
+ ldr r0, [sp, #0xa4]
+ cmp r0, #1
+ bne _0225A50A
+ ldr r1, [sp, #0x2c]
+ lsr r0, r1, #0x1f
+ add r0, r1, r0
+ asr r0, r0, #1
+ sub r6, r6, r0
+_0225A50A:
+ ldr r0, _0225A588 ; =0x000004C8
+ ldr r0, [r7, r0]
+ str r0, [sp, #0x4c]
+ add r0, sp, #0x3c
+ str r0, [sp, #0x50]
+ ldr r0, [sp, #0x20]
+ bl FUN_0200CA40
+ str r0, [sp, #0x54]
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x98]
+ bl FUN_0200C334
+ str r0, [sp, #0x58]
+ mov r0, #0
+ ldr r1, [sp, #0x34]
+ str r0, [sp, #0x5c]
+ str r0, [sp, #0x6c]
+ mov r0, #0x64
+ str r1, [sp, #0x60]
+ mov r1, #0x42
+ str r0, [sp, #0x70]
+ mov r0, #2
+ str r0, [sp, #0x74]
+ mov r0, #5
+ str r0, [sp, #0x78]
+ ldr r2, [sp, #0xa0]
+ lsl r1, r1, #2
+ add r1, r2, r1
+ add r0, sp, #0x4c
+ str r6, [sp, #0x64]
+ str r1, [sp, #0x68]
+ bl FUN_020117E8
+ ldr r1, [sp, #0x94]
+ add r7, r0, #0
+ bl FUN_02011AC0
+ mov r2, #0x42
+ ldr r3, [sp, #0xa0]
+ lsl r2, r2, #2
+ add r0, r7, #0
+ add r1, r6, #0
+ add r2, r3, r2
+ bl FUN_020118C4
+ cmp r4, #0
+ bne _0225A570
+ add r0, sp, #0x3c
+ bl FUN_02019178
+_0225A570:
+ str r7, [r5]
+ add r3, sp, #0x30
+ ldmia r3!, {r0, r1}
+ add r2, r5, #4
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [sp, #0x2c]
+ strh r0, [r5, #0x10]
+ add sp, #0x7c
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0225A588: .word 0x000004C8
+
+ thumb_func_start MOD11_0225A58C
+MOD11_0225A58C: ; 0x0225A58C
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ mov r0, #0x4d
+ mov r6, #0
+ lsl r0, r0, #4
+ add r4, r5, r0
+ add r7, r6, #0
+_0225A59A:
+ ldr r0, _0225A5BC ; =0x000004CC
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _0225A5B0
+ bl FUN_02011870
+ add r0, r4, #0
+ bl FUN_0201D5E8
+ ldr r0, _0225A5BC ; =0x000004CC
+ str r7, [r5, r0]
+_0225A5B0:
+ add r6, r6, #1
+ add r5, #0x14
+ add r4, #0x14
+ cmp r6, #0xd
+ blt _0225A59A
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225A5BC: .word 0x000004CC
+
+ thumb_func_start MOD11_0225A5C0
+MOD11_0225A5C0: ; 0x0225A5C0
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r7, r0, #0
+ ldr r0, [r7]
+ bl MOD11_0222FF68
+ mov r1, #5
+ bl FUN_0201886C
+ add r4, r0, #0
+ add r0, r7, #0
+ add r1, sp, #4
+ mov r2, #0
+ bl MOD11_0225ACD4
+ add r0, sp, #0
+ ldrb r0, [r0, #4]
+ cmp r0, #1
+ bne _0225A63A
+ add r0, r7, #0
+ mov r1, #1
+ add r2, sp, #0
+ mov r3, #0
+ bl MOD11_0225AD2C
+ add r0, sp, #0
+ ldrb r0, [r0, #2]
+ cmp r0, #1
+ bne _0225A61E
+ mov r5, #0xc
+ mov r0, #0xa9
+ lsl r6, r5, #5
+ lsl r0, r0, #2
+ mov r2, #0xf
+_0225A604:
+ lsl r1, r6, #1
+ add r1, r4, r1
+ add r3, r2, #0
+ add r1, #0x1e
+_0225A60C:
+ add r3, r3, #1
+ strh r0, [r1]
+ add r1, r1, #2
+ cmp r3, #0x10
+ ble _0225A60C
+ add r5, r5, #1
+ add r6, #0x20
+ cmp r5, #0x10
+ ble _0225A604
+_0225A61E:
+ add r0, sp, #0
+ ldrb r0, [r0, #3]
+ cmp r0, #1
+ bne _0225A63A
+ mov r0, #0xa1
+ lsl r0, r0, #2
+ add r1, r4, r0
+ mov r2, #2
+ add r0, #0x20
+_0225A630:
+ add r2, r2, #1
+ strh r0, [r1]
+ add r1, r1, #2
+ cmp r2, #0xc
+ ble _0225A630
+_0225A63A:
+ add r0, sp, #0
+ ldrb r0, [r0, #5]
+ cmp r0, #1
+ bne _0225A694
+ add r0, r7, #0
+ mov r1, #2
+ add r2, sp, #0
+ mov r3, #0
+ bl MOD11_0225AD2C
+ add r0, sp, #0
+ ldrb r0, [r0, #2]
+ cmp r0, #1
+ bne _0225A668
+ ldr r0, _0225A698 ; =0x000002A6
+ mov r2, #0x13
+ add r1, r4, r0
+ sub r0, r0, #2
+_0225A65E:
+ add r2, r2, #1
+ strh r0, [r1]
+ add r1, r1, #2
+ cmp r2, #0x1d
+ ble _0225A65E
+_0225A668:
+ add r0, sp, #0
+ ldrb r0, [r0, #3]
+ cmp r0, #1
+ bne _0225A694
+ mov r0, #0xa9
+ mov r5, #3
+ mov r3, #0x60
+ lsl r0, r0, #2
+ mov r2, #0xf
+_0225A67A:
+ lsl r1, r3, #1
+ add r1, r4, r1
+ add r6, r2, #0
+ add r1, #0x1e
+_0225A682:
+ add r6, r6, #1
+ strh r0, [r1]
+ add r1, r1, #2
+ cmp r6, #0x10
+ ble _0225A682
+ add r5, r5, #1
+ add r3, #0x20
+ cmp r5, #7
+ ble _0225A67A
+_0225A694:
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225A698: .word 0x000002A6
+
+ thumb_func_start MOD11_0225A69C
+MOD11_0225A69C: ; 0x0225A69C
+ cmp r1, #2
+ blt _0225A6A2
+ sub r1, r1, #2
+_0225A6A2:
+ mov r2, #0x46
+ lsl r2, r2, #2
+ add r0, #0x68
+ mul r2, r1
+ add r0, r0, r2
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0225A6B0
+MOD11_0225A6B0: ; 0x0225A6B0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x1c
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #0x14]
+ ldr r0, [sp]
+ mov r1, #0x13
+ str r0, [sp, #0x10]
+ add r0, #0x90
+ str r0, [sp, #0x10]
+ ldr r0, [sp]
+ lsl r1, r1, #4
+ str r0, [sp, #0xc]
+ add r0, #0xe0
+ str r0, [sp, #0xc]
+ ldr r0, [sp]
+ add r0, r0, r1
+ str r0, [sp, #8]
+_0225A6D4:
+ mov r0, #0
+ str r0, [sp, #0x18]
+ ldr r0, [sp]
+ ldr r7, [sp, #0x10]
+ ldr r6, [sp, #0xc]
+ ldr r5, [sp, #8]
+ str r0, [sp, #4]
+ add r4, r0, #0
+_0225A6E4:
+ ldr r0, [sp, #4]
+ add r0, #0x80
+ ldr r0, [r0]
+ bl FUN_02016A18
+ add r0, r4, #0
+ add r0, #0x9c
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0225A6FE
+ add r0, r7, #0
+ bl FUN_02019178
+_0225A6FE:
+ add r0, r4, #0
+ add r0, #0xec
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0225A70E
+ add r0, r6, #0
+ bl FUN_02019178
+_0225A70E:
+ mov r0, #0x4f
+ lsl r0, r0, #2
+ ldr r0, [r4, r0]
+ cmp r0, #0
+ beq _0225A71E
+ add r0, r5, #0
+ bl FUN_02019178
+_0225A71E:
+ ldr r0, [sp, #4]
+ add r4, #0x14
+ add r0, r0, #4
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x18]
+ add r7, #0x14
+ add r0, r0, #1
+ add r6, #0x14
+ add r5, #0x14
+ str r0, [sp, #0x18]
+ cmp r0, #4
+ blt _0225A6E4
+ mov r0, #0x46
+ ldr r1, [sp]
+ lsl r0, r0, #2
+ add r1, r1, r0
+ str r1, [sp]
+ ldr r1, [sp, #0x10]
+ add r1, r1, r0
+ str r1, [sp, #0x10]
+ ldr r1, [sp, #0xc]
+ add r1, r1, r0
+ str r1, [sp, #0xc]
+ ldr r1, [sp, #8]
+ add r0, r1, r0
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x14]
+ add r0, r0, #1
+ str r0, [sp, #0x14]
+ cmp r0, #4
+ blt _0225A6D4
+ add sp, #0x1c
+ pop {r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0225A760
+MOD11_0225A760: ; 0x0225A760
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x50
+ add r7, r0, #0
+ ldr r0, [r7]
+ add r5, r1, #0
+ str r2, [sp, #8]
+ bl MOD11_022300C4
+ add r4, r0, #0
+ add r0, r7, #0
+ add r1, r5, #0
+ bl MOD11_0225A69C
+ str r0, [sp, #0x38]
+ mov r0, #6
+ bl FUN_020799E8
+ str r0, [sp, #0xc]
+ ldr r1, _0225A95C ; =0x000003AA
+ add r0, r4, #0
+ bl FUN_0200A914
+ str r0, [sp, #0x28]
+ ldr r0, [r7]
+ bl MOD11_02230138
+ str r0, [sp, #0x24]
+ mov r0, #0x10
+ mov r1, #5
+ bl FUN_020219F4
+ str r0, [sp, #0x30]
+ ldr r1, _0225A960 ; =0x000003A9
+ add r0, r4, #0
+ bl FUN_0200A914
+ ldr r4, [sp, #0x38]
+ str r0, [sp, #0x2c]
+ mov r0, #0
+ str r0, [sp, #0x34]
+ add r0, r4, #0
+ str r0, [sp, #0x1c]
+ str r0, [sp, #0x18]
+ add r0, #0x28
+ str r0, [sp, #0x18]
+ add r0, r4, #0
+ str r0, [sp, #0x14]
+ add r0, #0x78
+ str r0, [sp, #0x14]
+ add r0, r4, #0
+ str r0, [sp, #0x10]
+ add r0, #0xc8
+ ldr r5, [sp, #8]
+ add r6, r4, #0
+ str r0, [sp, #0x10]
+_0225A7CE:
+ ldrh r0, [r5]
+ ldrh r1, [r4]
+ cmp r0, r1
+ beq _0225A814
+ cmp r0, #0
+ beq _0225A814
+ mov r1, #3
+ bl FUN_0206AB18
+ str r0, [sp, #0x3c]
+ bl FUN_0206E12C
+ str r0, [sp, #0x40]
+ ldr r0, [sp, #0x3c]
+ bl FUN_0206E0F0
+ add r1, r0, #0
+ mov r0, #5
+ str r0, [sp]
+ ldr r0, [sp, #0x40]
+ mov r2, #1
+ add r3, sp, #0x4c
+ bl FUN_02006BB0
+ str r0, [sp, #0x44]
+ ldr r0, [sp, #0x4c]
+ ldr r1, [sp, #0x1c]
+ ldr r0, [r0, #0x14]
+ ldr r1, [r1, #0x18]
+ ldr r2, [sp, #0xc]
+ blx MIi_CpuCopy32
+ ldr r0, [sp, #0x44]
+ bl FUN_02016A18
+_0225A814:
+ ldr r0, [r6, #0x34]
+ cmp r0, #0
+ beq _0225A826
+ ldrh r1, [r5]
+ ldrh r0, [r4]
+ cmp r1, r0
+ beq _0225A846
+ cmp r1, #0
+ beq _0225A846
+_0225A826:
+ ldrh r0, [r5]
+ mov r1, #5
+ bl FUN_0200AA14
+ str r0, [sp, #0x48]
+ ldr r0, _0225A964 ; =0x00070809
+ ldr r1, [sp, #0x48]
+ str r0, [sp]
+ ldr r3, [sp, #0x18]
+ add r0, r7, #0
+ mov r2, #2
+ bl MOD11_0225A968
+ ldr r0, [sp, #0x48]
+ bl FUN_02021A20
+_0225A846:
+ add r0, r6, #0
+ add r0, #0x84
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0225A876
+ add r0, r6, #0
+ add r0, #0xd4
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0225A876
+ ldrh r1, [r5]
+ cmp r1, #0
+ bne _0225A876
+ ldrh r0, [r4]
+ cmp r1, r0
+ bne _0225A876
+ ldrh r1, [r5, #8]
+ ldrh r0, [r4, #8]
+ cmp r1, r0
+ bne _0225A876
+ ldrh r1, [r5, #0x10]
+ ldrh r0, [r4, #0x10]
+ cmp r1, r0
+ beq _0225A906
+_0225A876:
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldrh r2, [r5, #8]
+ ldr r0, [sp, #0x24]
+ mov r1, #0
+ mov r3, #2
+ bl FUN_0200AD38
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldrh r2, [r5, #0x10]
+ ldr r0, [sp, #0x24]
+ mov r1, #1
+ mov r3, #2
+ bl FUN_0200AD38
+ ldr r0, [sp, #0x24]
+ ldr r1, [sp, #0x30]
+ ldr r2, [sp, #0x2c]
+ bl FUN_0200B7B8
+ ldrh r0, [r5, #8]
+ ldrh r1, [r5, #0x10]
+ bl MOD11_0225B3D4
+ str r0, [sp, #0x20]
+ add r0, r6, #0
+ add r0, #0x84
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0225A8CC
+ ldrh r1, [r5]
+ ldrh r0, [r4]
+ cmp r1, r0
+ bne _0225A8CC
+ ldrh r1, [r5, #8]
+ ldrh r0, [r4, #8]
+ cmp r1, r0
+ beq _0225A8DC
+_0225A8CC:
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x30]
+ str r0, [sp]
+ ldr r3, [sp, #0x14]
+ add r0, r7, #0
+ mov r2, #0
+ bl MOD11_0225A968
+_0225A8DC:
+ add r0, r6, #0
+ add r0, #0xd4
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _0225A8F6
+ ldrh r1, [r5]
+ ldrh r0, [r4]
+ cmp r1, r0
+ bne _0225A8F6
+ ldrh r1, [r5, #8]
+ ldrh r0, [r4, #8]
+ cmp r1, r0
+ beq _0225A906
+_0225A8F6:
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x28]
+ str r0, [sp]
+ ldr r3, [sp, #0x10]
+ add r0, r7, #0
+ mov r2, #0
+ bl MOD11_0225A968
+_0225A906:
+ ldr r0, [sp, #0x1c]
+ add r4, r4, #2
+ add r0, r0, #4
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x18]
+ add r5, r5, #2
+ add r0, #0x14
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x14]
+ add r6, #0x14
+ add r0, #0x14
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ add r0, #0x14
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x34]
+ add r0, r0, #1
+ str r0, [sp, #0x34]
+ cmp r0, #4
+ bge _0225A930
+ b _0225A7CE
+_0225A930:
+ ldr r0, [sp, #0x28]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x2c]
+ bl FUN_02021A20
+ ldr r0, [sp, #0x30]
+ bl FUN_02021A20
+ mov r0, #0xc
+_0225A944:
+ ldr r1, [sp, #8]
+ ldrh r2, [r1]
+ add r1, r1, #2
+ str r1, [sp, #8]
+ ldr r1, [sp, #0x38]
+ strh r2, [r1]
+ add r1, r1, #2
+ str r1, [sp, #0x38]
+ sub r0, r0, #1
+ bne _0225A944
+ add sp, #0x50
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225A95C: .word 0x000003AA
+_0225A960: .word 0x000003A9
+_0225A964: .word 0x00070809
+
+ thumb_func_start MOD11_0225A968
+MOD11_0225A968: ; 0x0225A968
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ add r7, r2, #0
+ add r6, r1, #0
+ add r5, r0, #0
+ add r4, r3, #0
+ add r0, r6, #0
+ add r1, r7, #0
+ add r2, sp, #0x1c
+ add r3, sp, #0x18
+ bl MOD11_0225A428
+ ldr r0, [sp, #0x1c]
+ strh r0, [r4, #0x12]
+ ldr r0, [sp, #0x18]
+ strh r0, [r4, #0x10]
+ ldr r0, [r4, #0xc]
+ cmp r0, #0
+ beq _0225A994
+ add r0, r4, #0
+ bl FUN_02019178
+_0225A994:
+ add r0, r4, #0
+ bl FUN_0201901C
+ ldr r0, [r5]
+ bl MOD11_0222FF68
+ mov r1, #0
+ str r1, [sp]
+ str r1, [sp, #4]
+ ldr r2, [sp, #0x18]
+ add r1, r4, #0
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ mov r3, #2
+ bl FUN_020190EC
+ mov r3, #0
+ str r3, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x38]
+ add r1, r7, #0
+ str r0, [sp, #8]
+ str r3, [sp, #0xc]
+ str r3, [sp, #0x10]
+ add r0, r4, #0
+ add r2, r6, #0
+ str r3, [sp, #0x14]
+ bl FUN_0201BE3C
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0225A9D4
+MOD11_0225A9D4: ; 0x0225A9D4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x44
+ add r5, r0, #0
+ str r0, [sp, #4]
+ add r0, #0x18
+ str r0, [sp, #4]
+ ldr r0, [r5]
+ bl MOD11_02230078
+ str r0, [sp, #0xc]
+ ldr r0, [r5]
+ bl MOD11_02230080
+ ldr r1, _0225AAA8 ; =0x0000069E
+ str r0, [sp, #8]
+ ldrb r1, [r5, r1]
+ add r0, r5, #0
+ bl MOD11_0225A69C
+ ldr r4, _0225AAAC ; =0x0225F914
+ str r0, [sp]
+ add r3, sp, #0x10
+ mov r2, #6
+_0225AA02:
+ ldmia r4!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _0225AA02
+ ldr r0, [r4]
+ mov r4, #0
+ str r0, [r3]
+ add r6, sp, #0x10
+ b _0225AAA0
+_0225AA14:
+ lsl r0, r4, #2
+ add r1, r5, r0
+ ldr r0, _0225AAB0 ; =0x00000604
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225AA24
+ bl ErrorHandling
+_0225AA24:
+ ldr r0, [sp, #4]
+ lsl r1, r4, #1
+ ldrh r0, [r0, r1]
+ cmp r0, #0
+ beq _0225AA9E
+ mov r1, #3
+ bl FUN_0206AB18
+ add r2, r0, #0
+ ldr r0, _0225AAB4 ; =0x00004E35
+ ldr r1, _0225AAB8 ; =0x0225F72C
+ add r0, r4, r0
+ str r0, [sp, #0x24]
+ lsl r0, r4, #2
+ ldrh r1, [r1, r0]
+ add r3, sp, #0x10
+ strh r1, [r6]
+ ldr r1, _0225AAB8 ; =0x0225F72C
+ add r0, r1, r0
+ ldrh r0, [r0, #2]
+ ldr r1, [sp, #8]
+ strh r0, [r6, #2]
+ ldr r0, [sp, #0xc]
+ bl FUN_0206E240
+ lsl r1, r4, #2
+ add r2, r5, r1
+ ldr r1, _0225AAB0 ; =0x00000604
+ mov r3, #0x11
+ str r0, [r2, r1]
+ add r0, r1, #0
+ ldr r0, [r2, r0]
+ mov r1, #0
+ mov r2, #2
+ ldrsh r1, [r6, r1]
+ ldrsh r2, [r6, r2]
+ lsl r3, r3, #0x10
+ bl FUN_0200C750
+ lsl r0, r4, #2
+ add r1, r5, r0
+ ldr r0, _0225AAB0 ; =0x00000604
+ ldr r0, [r1, r0]
+ ldr r0, [r0]
+ bl FUN_02020350
+ add r7, r0, #0
+ mov r0, #6
+ bl FUN_020799E8
+ add r2, r0, #0
+ ldr r0, [sp]
+ lsl r3, r4, #2
+ add r0, r0, r3
+ mov r3, #0x66
+ ldr r1, [r7, #8]
+ lsl r3, r3, #0x14
+ ldr r0, [r0, #0x18]
+ add r1, r3, r1
+ blx MIi_CpuCopy16
+_0225AA9E:
+ add r4, r4, #1
+_0225AAA0:
+ cmp r4, #4
+ blt _0225AA14
+ add sp, #0x44
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225AAA8: .word 0x0000069E
+_0225AAAC: .word 0x0225F914
+_0225AAB0: .word 0x00000604
+_0225AAB4: .word 0x00004E35
+_0225AAB8: .word 0x0225F72C
+
+ thumb_func_start MOD11_0225AABC
+MOD11_0225AABC: ; 0x0225AABC
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230078
+ ldr r0, [r5]
+ bl MOD11_02230080
+ mov r4, #0
+ ldr r7, _0225AAEC ; =0x00000604
+ add r6, r4, #0
+_0225AAD2:
+ ldr r0, [r5, r7]
+ cmp r0, #0
+ beq _0225AAE0
+ bl FUN_0206E270
+ ldr r0, _0225AAEC ; =0x00000604
+ str r6, [r5, r0]
+_0225AAE0:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0225AAD2
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225AAEC: .word 0x00000604
+
+ thumb_func_start MOD11_0225AAF0
+MOD11_0225AAF0: ; 0x0225AAF0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ bl MOD11_02230078
+ ldr r0, [r5]
+ bl MOD11_02230080
+ mov r4, #0
+ add r6, r0, #0
+ add r7, r4, #0
+_0225AB06:
+ ldr r0, _0225AB2C ; =0x00000614
+ ldr r0, [r5, r0]
+ cmp r0, #0
+ beq _0225AB20
+ bl FUN_0206E2E8
+ ldr r1, _0225AB30 ; =0x00004E39
+ add r0, r6, #0
+ add r1, r4, r1
+ bl FUN_0206E2E0
+ ldr r0, _0225AB2C ; =0x00000614
+ str r7, [r5, r0]
+_0225AB20:
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0225AB06
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225AB2C: .word 0x00000614
+_0225AB30: .word 0x00004E39
+
+ thumb_func_start MOD11_0225AB34
+MOD11_0225AB34: ; 0x0225AB34
+ push {r3, r4, r5, lr}
+ ldr r0, [r0]
+ add r5, r1, #0
+ add r4, r2, #0
+ bl MOD11_022300CC
+ add r4, #8
+ add r1, r5, #0
+ mov r2, #5
+ mov r3, #1
+ str r4, [sp]
+ bl FUN_02211E7C
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0225AB50
+MOD11_0225AB50: ; 0x0225AB50
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r4, r1, #0
+ bl MOD11_022300CC
+ add r6, r0, #0
+ mov r7, #0
+ b _0225AB96
+_0225AB62:
+ ldr r1, _0225AB9C ; =0x0225F6A8
+ lsl r2, r4, #1
+ add r1, r1, r2
+ ldr r2, _0225ABA0 ; =0x0225F74C
+ lsl r3, r4, #2
+ add r2, r2, r3
+ add r0, r5, #0
+ mov r3, #3
+ str r7, [sp]
+ bl MOD11_0225ADD8
+ mov r0, #0x20
+ str r0, [sp]
+ add r3, r4, #0
+ mov r1, #7
+ add r3, #8
+ lsl r3, r3, #0x14
+ ldr r2, [r5, #0x58]
+ lsl r1, r1, #6
+ add r1, r2, r1
+ add r0, r6, #0
+ mov r2, #1
+ lsr r3, r3, #0x10
+ bl FUN_02003054
+ add r4, r4, #1
+_0225AB96:
+ cmp r4, #4
+ blt _0225AB62
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225AB9C: .word 0x0225F6A8
+_0225ABA0: .word 0x0225F74C
+
+ thumb_func_start MOD11_0225ABA4
+MOD11_0225ABA4: ; 0x0225ABA4
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r4, r1, #0
+ ldr r1, _0225AC50 ; =0x0225F684
+ add r5, r0, #0
+ ldrb r2, [r1, #6]
+ add r0, sp, #0x10
+ strb r2, [r0]
+ ldrb r2, [r1, #7]
+ strb r2, [r0, #1]
+ ldrb r2, [r1, #8]
+ ldrb r1, [r1, #9]
+ strb r2, [r0, #2]
+ strb r1, [r0, #3]
+ ldr r0, [r5]
+ bl MOD11_0222FF68
+ add r6, r0, #0
+ ldr r0, [r5]
+ bl MOD11_022300CC
+ add r7, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ ldr r2, _0225AC54 ; =0x0225F6C0
+ lsl r1, r4, #1
+ add r1, r2, r1
+ ldr r3, _0225AC58 ; =0x0225F71C
+ lsl r2, r4, #2
+ add r2, r3, r2
+ add r0, r5, #0
+ mov r3, #4
+ bl MOD11_0225ADD8
+ mov r0, #0x20
+ str r0, [sp]
+ add r3, sp, #0x10
+ ldrb r3, [r3, r4]
+ mov r1, #7
+ ldr r2, [r5, #0x58]
+ lsl r1, r1, #6
+ lsl r3, r3, #0x14
+ add r1, r2, r1
+ add r0, r7, #0
+ mov r2, #1
+ lsr r3, r3, #0x10
+ bl FUN_02003054
+ add r0, r6, #0
+ mov r1, #4
+ bl FUN_0201AC68
+ ldr r0, _0225AC58 ; =0x0225F71C
+ lsl r1, r4, #2
+ ldrb r2, [r0, r1]
+ add r3, r0, r1
+ str r2, [sp]
+ ldrb r4, [r3, #3]
+ ldrb r2, [r3, #2]
+ sub r2, r4, r2
+ add r2, r2, #1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ str r2, [sp, #4]
+ ldrb r0, [r0, r1]
+ ldrb r2, [r3, #1]
+ mov r1, #5
+ sub r0, r2, r0
+ add r0, r0, #1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #8]
+ mov r0, #0x11
+ str r0, [sp, #0xc]
+ ldrb r3, [r3, #2]
+ ldr r2, _0225AC5C ; =0x000002FF
+ add r0, r6, #0
+ bl FUN_02018540
+ add r0, r6, #0
+ mov r1, #5
+ bl FUN_0201AC68
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0225AC50: .word 0x0225F684
+_0225AC54: .word 0x0225F6C0
+_0225AC58: .word 0x0225F71C
+_0225AC5C: .word 0x000002FF
+
+ thumb_func_start MOD11_0225AC60
+MOD11_0225AC60: ; 0x0225AC60
+ push {r4, r5, r6, lr}
+ mov r5, #0
+ mov r6, #1
+ add r4, r5, #0
+_0225AC68:
+ add r0, r5, #4
+ cmp r0, #6
+ beq _0225AC7A
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r1, r4, #0
+ bl FUN_0201797C
+ b _0225AC84
+_0225AC7A:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add r1, r6, #0
+ bl FUN_0201797C
+_0225AC84:
+ add r5, r5, #1
+ cmp r5, #4
+ blt _0225AC68
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0225AC8C
+MOD11_0225AC8C: ; 0x0225AC8C
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r2, #0
+ cmp r1, #1
+ bne _0225AC9A
+ bl MOD11_0225ACB0
+_0225AC9A:
+ cmp r4, #1
+ bne _0225ACA8
+ ldr r0, _0225ACAC ; =MOD11_0225B76C
+ add r1, r5, #0
+ mov r2, #0xa
+ bl FUN_0200CA98
+_0225ACA8:
+ pop {r3, r4, r5, pc}
+ nop
+_0225ACAC: .word MOD11_0225B76C
+
+ thumb_func_start MOD11_0225ACB0
+MOD11_0225ACB0: ; 0x0225ACB0
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_0225AABC
+ add r0, r4, #0
+ bl MOD11_0225AAF0
+ add r0, r4, #0
+ bl MOD11_0225A58C
+ add r0, r4, #0
+ bl MOD11_0225A1E4
+ add r0, r4, #0
+ bl MOD11_0225A234
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225ACD4
+MOD11_0225ACD4: ; 0x0225ACD4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r4, r1, #0
+ add r6, r5, #0
+ add r1, sp, #0
+ add r7, r2, #0
+ add r6, #0x18
+ bl MOD11_022314E0
+ mov r0, #0
+ b _0225AD1E
+_0225ACEE:
+ add r2, r0, #2
+ add r1, sp, #0
+ ldrb r1, [r1, r2]
+ cmp r7, #1
+ bne _0225AD0A
+ lsl r1, r1, #3
+ add r1, r6, r1
+ ldrb r1, [r1, #1]
+ lsl r1, r1, #0x1d
+ lsr r1, r1, #0x1f
+ bne _0225AD0A
+ mov r1, #0
+ strb r1, [r4, r0]
+ b _0225AD1C
+_0225AD0A:
+ mov r1, #0x6a
+ lsl r1, r1, #4
+ ldrb r1, [r5, r1]
+ lsl r2, r0, #2
+ lsl r3, r1, #4
+ ldr r1, _0225AD28 ; =0x0225F9EC
+ add r1, r1, r3
+ ldr r1, [r2, r1]
+ strb r1, [r4, r0]
+_0225AD1C:
+ add r0, r0, #1
+_0225AD1E:
+ cmp r0, #4
+ blt _0225ACEE
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225AD28: .word 0x0225F9EC
+
+ thumb_func_start MOD11_0225AD2C
+MOD11_0225AD2C: ; 0x0225AD2C
+ push {r4, lr}
+ mov r4, #0x6a
+ lsl r4, r4, #4
+ ldrb r4, [r0, r4]
+ cmp r4, #0xb
+ bhi _0225AD76
+ add r4, r4, r4
+ add r4, pc
+ ldrh r4, [r4, #6]
+ lsl r4, r4, #0x10
+ asr r4, r4, #0x10
+ add pc, r4
+_0225AD44: ; jump table
+ .short _0225AD5C - _0225AD44 - 2 ; case 0
+ .short _0225AD76 - _0225AD44 - 2 ; case 1
+ .short _0225AD76 - _0225AD44 - 2 ; case 2
+ .short _0225AD76 - _0225AD44 - 2 ; case 3
+ .short _0225AD76 - _0225AD44 - 2 ; case 4
+ .short _0225AD76 - _0225AD44 - 2 ; case 5
+ .short _0225AD76 - _0225AD44 - 2 ; case 6
+ .short _0225AD76 - _0225AD44 - 2 ; case 7
+ .short _0225AD5C - _0225AD44 - 2 ; case 8
+ .short _0225AD5C - _0225AD44 - 2 ; case 9
+ .short _0225AD5C - _0225AD44 - 2 ; case 10
+ .short _0225AD5C - _0225AD44 - 2 ; case 11
+_0225AD5C:
+ mov r4, #0
+ add r0, r4, #0
+ mov r3, #1
+ sub r1, r1, #1
+_0225AD64:
+ cmp r4, r1
+ bne _0225AD6C
+ strb r3, [r2, r4]
+ b _0225AD6E
+_0225AD6C:
+ strb r0, [r2, r4]
+_0225AD6E:
+ add r4, r4, #1
+ cmp r4, #4
+ blt _0225AD64
+ pop {r4, pc}
+_0225AD76:
+ add r1, r2, #0
+ add r2, r3, #0
+ bl MOD11_0225ACD4
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0225AD80
+MOD11_0225AD80: ; 0x0225AD80
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ beq _0225AD90
+ bl ErrorHandling
+_0225AD90:
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ add r0, r4, r0
+ mov r1, #0
+ mov r2, #0x24
+ blx MI_CpuFill8
+ ldr r2, _0225ADAC ; =0x00000514
+ add r0, r5, #0
+ add r1, r4, #0
+ bl FUN_0200CA44
+ str r0, [r4, #8]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0225ADAC: .word 0x00000514
+
+ thumb_func_start MOD11_0225ADB0
+MOD11_0225ADB0: ; 0x0225ADB0
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ beq _0225ADCE
+ bl FUN_0200CAB4
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ mov r1, #0
+ add r0, r4, r0
+ mov r2, #0x24
+ str r1, [r4, #8]
+ blx MI_CpuFill8
+_0225ADCE:
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0225ADD0
+MOD11_0225ADD0: ; 0x0225ADD0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0225ADD4
+MOD11_0225ADD4: ; 0x0225ADD4
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0225ADD8
+MOD11_0225ADD8: ; 0x0225ADD8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #8
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r6, r1, #0
+ add r4, r2, #0
+ add r7, r3, #0
+ bl MOD11_0222FF68
+ mov r1, #4
+ str r0, [sp, #4]
+ bl FUN_0201886C
+ mov ip, r0
+ lsl r0, r7, #2
+ add r0, r5, r0
+ ldr r0, [r0, #0x3c]
+ ldrb r7, [r4]
+ str r0, [sp]
+ ldr r0, [sp, #0x20]
+ lsl r0, r0, #1
+ ldrsh r1, [r6, r0]
+ ldrb r0, [r4, #1]
+ cmp r7, r0
+ bgt _0225AE40
+ lsl r6, r7, #5
+_0225AE0C:
+ lsl r2, r6, #1
+ mov r0, ip
+ add r5, r0, r2
+ ldr r0, [sp]
+ ldrb r3, [r4, #3]
+ add r2, r0, r2
+ ldrb r0, [r4, #2]
+ cmp r0, r3
+ bgt _0225AE36
+ lsl r3, r0, #1
+ add r2, r2, r3
+ add r3, r5, r3
+_0225AE24:
+ ldrh r5, [r2]
+ add r0, r0, #1
+ add r2, r2, #2
+ add r5, r1, r5
+ strh r5, [r3]
+ ldrb r5, [r4, #3]
+ add r3, r3, #2
+ cmp r0, r5
+ ble _0225AE24
+_0225AE36:
+ ldrb r0, [r4, #1]
+ add r7, r7, #1
+ add r6, #0x20
+ cmp r7, r0
+ ble _0225AE0C
+_0225AE40:
+ ldr r0, [sp, #4]
+ mov r1, #4
+ bl FUN_0201AC68
+ add sp, #8
+ pop {r3, r4, r5, r6, r7, pc}
+
+ thumb_func_start MOD11_0225AE4C
+MOD11_0225AE4C: ; 0x0225AE4C
+ push {r3, r4, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ mov r3, #0x6b
+ lsl r3, r3, #4
+ ldrsh r0, [r4, r3]
+ cmp r0, #0
+ beq _0225AE6C
+ cmp r0, #1
+ beq _0225AEDC
+ cmp r0, #2
+ beq _0225AEF8
+ b _0225AF66
+_0225AE6C:
+ mov r0, #2
+ str r0, [sp]
+ add r1, r3, #4
+ add r2, r3, #0
+ add r3, #0x10
+ add r2, #8
+ ldrb r3, [r4, r3]
+ ldr r1, [r4, r1]
+ ldr r2, [r4, r2]
+ add r0, r4, #0
+ bl MOD11_0225ADD8
+ ldr r0, _0225AF8C ; =0x000006C1
+ add r2, sp, #4
+ ldrb r1, [r4, r0]
+ mov r0, #0x14
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0225AF90 ; =0x000004CC
+ ldr r0, [r1, r0]
+ add r1, sp, #8
+ bl FUN_020119A4
+ ldr r0, _0225AF8C ; =0x000006C1
+ ldr r2, [sp, #4]
+ ldrb r1, [r4, r0]
+ mov r0, #0x14
+ sub r2, r2, #2
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0225AF90 ; =0x000004CC
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #8]
+ bl FUN_020118C4
+ ldr r0, _0225AF94 ; =0x000006C2
+ ldrb r1, [r4, r0]
+ cmp r1, #0xff
+ beq _0225AECE
+ lsl r1, r1, #2
+ add r1, r4, r1
+ sub r0, #0x9e
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225AECE
+ mov r1, #0
+ sub r2, r1, #2
+ bl FUN_0200C82C
+_0225AECE:
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ ldrsh r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ pop {r3, r4, pc}
+_0225AEDC:
+ add r0, r3, #2
+ ldrsh r0, [r4, r0]
+ add r1, r0, #1
+ add r0, r3, #2
+ strh r1, [r4, r0]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225AF86
+ mov r1, #0
+ add r0, r3, #2
+ strh r1, [r4, r0]
+ ldrsh r0, [r4, r3]
+ add r0, r0, #1
+ strh r0, [r4, r3]
+_0225AEF8:
+ mov r0, #1
+ ldr r3, _0225AF98 ; =0x000006B4
+ str r0, [sp]
+ add r2, r3, #4
+ ldr r1, [r4, r3]
+ add r3, #0xc
+ ldrb r3, [r4, r3]
+ ldr r2, [r4, r2]
+ add r0, r4, #0
+ bl MOD11_0225ADD8
+ ldr r0, _0225AF8C ; =0x000006C1
+ add r2, sp, #4
+ ldrb r1, [r4, r0]
+ mov r0, #0x14
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0225AF90 ; =0x000004CC
+ ldr r0, [r1, r0]
+ add r1, sp, #8
+ bl FUN_020119A4
+ ldr r0, _0225AF8C ; =0x000006C1
+ ldr r2, [sp, #4]
+ ldrb r1, [r4, r0]
+ mov r0, #0x14
+ add r2, r2, #1
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _0225AF90 ; =0x000004CC
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #8]
+ bl FUN_020118C4
+ ldr r0, _0225AF94 ; =0x000006C2
+ ldrb r1, [r4, r0]
+ cmp r1, #0xff
+ beq _0225AF58
+ lsl r1, r1, #2
+ add r1, r4, r1
+ sub r0, #0x9e
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225AF58
+ mov r1, #0
+ mov r2, #1
+ bl FUN_0200C82C
+_0225AF58:
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ ldrsh r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ pop {r3, r4, pc}
+_0225AF66:
+ add r0, r3, #2
+ ldrsh r0, [r4, r0]
+ add r1, r0, #1
+ add r0, r3, #2
+ strh r1, [r4, r0]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225AF86
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #0
+ bl MOD11_0225AC8C
+ add r0, r4, #0
+ bl MOD11_0225ADB0
+_0225AF86:
+ add sp, #0xc
+ pop {r3, r4, pc}
+ nop
+_0225AF8C: .word 0x000006C1
+_0225AF90: .word 0x000004CC
+_0225AF94: .word 0x000006C2
+_0225AF98: .word 0x000006B4
+
+ thumb_func_start MOD11_0225AF9C
+MOD11_0225AF9C: ; 0x0225AF9C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r4, r1, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ ldr r0, _0225B21C ; =0x000006BC
+ add r1, r4, #0
+ ldr r0, [r4, r0]
+ add r1, #0x18
+ cmp r0, #4
+ bgt _0225AFCE
+ cmp r0, #0
+ blt _0225B00A
+ add r2, r0, r0
+ add r2, pc
+ ldrh r2, [r2, #6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0225AFC4: ; jump table
+ .short _0225B00A - _0225AFC4 - 2 ; case 0
+ .short _0225AFD2 - _0225AFC4 - 2 ; case 1
+ .short _0225AFE0 - _0225AFC4 - 2 ; case 2
+ .short _0225AFEE - _0225AFC4 - 2 ; case 3
+ .short _0225AFFC - _0225AFC4 - 2 ; case 4
+_0225AFCE:
+ cmp r0, #0xff
+ b _0225B00A
+_0225AFD2:
+ mov r0, #5
+ str r0, [sp, #8]
+ ldrh r0, [r1]
+ mov r5, #0
+ mov r6, #9
+ str r0, [sp, #4]
+ b _0225B012
+_0225AFE0:
+ mov r0, #6
+ str r0, [sp, #8]
+ ldrh r0, [r1, #2]
+ mov r5, #1
+ mov r6, #0xa
+ str r0, [sp, #4]
+ b _0225B012
+_0225AFEE:
+ mov r0, #7
+ str r0, [sp, #8]
+ ldrh r0, [r1, #4]
+ mov r5, #2
+ mov r6, #0xb
+ str r0, [sp, #4]
+ b _0225B012
+_0225AFFC:
+ mov r0, #8
+ str r0, [sp, #8]
+ ldrh r0, [r1, #6]
+ mov r5, #3
+ mov r6, #0xc
+ str r0, [sp, #4]
+ b _0225B012
+_0225B00A:
+ mov r5, #0
+ add r6, r5, #0
+ str r5, [sp, #8]
+ str r5, [sp, #4]
+_0225B012:
+ mov r3, #0x6b
+ lsl r3, r3, #4
+ ldrsh r0, [r4, r3]
+ cmp r0, #0
+ beq _0225B026
+ cmp r0, #1
+ beq _0225B100
+ cmp r0, #2
+ beq _0225B11E
+ b _0225B1F6
+_0225B026:
+ mov r0, #2
+ str r0, [sp]
+ add r1, r3, #4
+ add r2, r3, #0
+ add r3, #0x10
+ add r2, #8
+ ldrb r3, [r4, r3]
+ ldr r1, [r4, r1]
+ ldr r2, [r4, r2]
+ add r0, r4, #0
+ bl MOD11_0225ADD8
+ ldr r0, _0225B21C ; =0x000006BC
+ add r1, sp, #0x20
+ ldr r0, [r4, r0]
+ cmp r0, #0xff
+ beq _0225B0DA
+ ldr r0, _0225B220 ; =0x000004CC
+ add r2, sp, #0x1c
+ add r7, r4, r0
+ mov r0, #0x14
+ mul r0, r5
+ str r0, [sp, #0xc]
+ ldr r0, [r7, r0]
+ bl FUN_020119A4
+ ldr r0, [sp, #0xc]
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r7, r0]
+ ldr r1, [sp, #0x20]
+ sub r2, r2, #2
+ bl FUN_020118C4
+ ldr r0, _0225B220 ; =0x000004CC
+ add r1, sp, #0x20
+ add r7, r4, r0
+ mov r0, #0x14
+ mul r0, r6
+ str r0, [sp, #0x10]
+ ldr r0, [r7, r0]
+ add r2, sp, #0x1c
+ bl FUN_020119A4
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r7, r0]
+ ldr r1, [sp, #0x20]
+ sub r2, r2, #2
+ bl FUN_020118C4
+ ldr r0, _0225B220 ; =0x000004CC
+ mov r1, #0x14
+ add r6, r4, r0
+ ldr r0, [sp, #8]
+ add r2, sp, #0x1c
+ add r7, r0, #0
+ mul r7, r1
+ ldr r0, [r6, r7]
+ add r1, sp, #0x20
+ bl FUN_020119A4
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r6, r7]
+ ldr r1, [sp, #0x20]
+ sub r2, r2, #2
+ bl FUN_020118C4
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ beq _0225B0F2
+ lsl r5, r5, #2
+ ldr r0, _0225B224 ; =0x00000604
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ mov r1, #0
+ ldr r0, [r0]
+ sub r2, r1, #2
+ bl FUN_0200C7FC
+ ldr r0, _0225B228 ; =0x00000614
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225B0F2
+ mov r1, #0
+ ldr r0, [r0]
+ sub r2, r1, #2
+ bl FUN_0200C7FC
+ b _0225B0F2
+_0225B0DA:
+ ldr r0, _0225B22C ; =0x0000051C
+ add r2, sp, #0x1c
+ ldr r0, [r4, r0]
+ bl FUN_020119A4
+ ldr r0, _0225B22C ; =0x0000051C
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r4, r0]
+ ldr r1, [sp, #0x20]
+ sub r2, r2, #2
+ bl FUN_020118C4
+_0225B0F2:
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ ldrsh r1, [r4, r0]
+ add sp, #0x24
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ pop {r4, r5, r6, r7, pc}
+_0225B100:
+ add r0, r3, #2
+ ldrsh r0, [r4, r0]
+ add r1, r0, #1
+ add r0, r3, #2
+ strh r1, [r4, r0]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ bgt _0225B112
+ b _0225B216
+_0225B112:
+ mov r1, #0
+ add r0, r3, #2
+ strh r1, [r4, r0]
+ ldrsh r0, [r4, r3]
+ add r0, r0, #1
+ strh r0, [r4, r3]
+_0225B11E:
+ mov r0, #1
+ ldr r3, _0225B230 ; =0x000006B4
+ str r0, [sp]
+ add r2, r3, #4
+ ldr r1, [r4, r3]
+ add r3, #0xc
+ ldrb r3, [r4, r3]
+ ldr r2, [r4, r2]
+ add r0, r4, #0
+ bl MOD11_0225ADD8
+ ldr r0, _0225B21C ; =0x000006BC
+ add r1, sp, #0x20
+ ldr r0, [r4, r0]
+ cmp r0, #0xff
+ beq _0225B1D0
+ ldr r0, _0225B220 ; =0x000004CC
+ add r2, sp, #0x1c
+ add r7, r4, r0
+ mov r0, #0x14
+ mul r0, r5
+ str r0, [sp, #0x14]
+ ldr r0, [r7, r0]
+ bl FUN_020119A4
+ ldr r0, [sp, #0x14]
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r7, r0]
+ ldr r1, [sp, #0x20]
+ add r2, r2, #1
+ bl FUN_020118C4
+ ldr r0, _0225B220 ; =0x000004CC
+ add r1, sp, #0x20
+ add r7, r4, r0
+ mov r0, #0x14
+ mul r0, r6
+ str r0, [sp, #0x18]
+ ldr r0, [r7, r0]
+ add r2, sp, #0x1c
+ bl FUN_020119A4
+ ldr r0, [sp, #0x18]
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r7, r0]
+ ldr r1, [sp, #0x20]
+ add r2, r2, #1
+ bl FUN_020118C4
+ ldr r0, _0225B220 ; =0x000004CC
+ mov r1, #0x14
+ add r6, r4, r0
+ ldr r0, [sp, #8]
+ add r2, sp, #0x1c
+ add r7, r0, #0
+ mul r7, r1
+ ldr r0, [r6, r7]
+ add r1, sp, #0x20
+ bl FUN_020119A4
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r6, r7]
+ ldr r1, [sp, #0x20]
+ add r2, r2, #1
+ bl FUN_020118C4
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ beq _0225B1E8
+ lsl r5, r5, #2
+ ldr r0, _0225B224 ; =0x00000604
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ mov r1, #0
+ ldr r0, [r0]
+ mov r2, #1
+ bl FUN_0200C7FC
+ ldr r0, _0225B228 ; =0x00000614
+ add r1, r4, r5
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225B1E8
+ ldr r0, [r0]
+ mov r1, #0
+ mov r2, #1
+ bl FUN_0200C7FC
+ b _0225B1E8
+_0225B1D0:
+ ldr r0, _0225B22C ; =0x0000051C
+ add r2, sp, #0x1c
+ ldr r0, [r4, r0]
+ bl FUN_020119A4
+ ldr r0, _0225B22C ; =0x0000051C
+ ldr r2, [sp, #0x1c]
+ ldr r0, [r4, r0]
+ ldr r1, [sp, #0x20]
+ add r2, r2, #1
+ bl FUN_020118C4
+_0225B1E8:
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ ldrsh r1, [r4, r0]
+ add sp, #0x24
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ pop {r4, r5, r6, r7, pc}
+_0225B1F6:
+ add r0, r3, #2
+ ldrsh r0, [r4, r0]
+ add r1, r0, #1
+ add r0, r3, #2
+ strh r1, [r4, r0]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225B216
+ mov r1, #1
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_0225AC8C
+ add r0, r4, #0
+ bl MOD11_0225ADB0
+_0225B216:
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ nop
+_0225B21C: .word 0x000006BC
+_0225B220: .word 0x000004CC
+_0225B224: .word 0x00000604
+_0225B228: .word 0x00000614
+_0225B22C: .word 0x0000051C
+_0225B230: .word 0x000006B4
+
+ thumb_func_start MOD11_0225B234
+MOD11_0225B234: ; 0x0225B234
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0
+ ldr r0, [r4]
+ bl MOD11_0222FF68
+ mov r1, #0x6b
+ lsl r1, r1, #4
+ ldrsh r0, [r4, r1]
+ cmp r0, #3
+ bls _0225B24C
+ b _0225B3AE
+_0225B24C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225B258: ; jump table
+ .short _0225B260 - _0225B258 - 2 ; case 0
+ .short _0225B2E8 - _0225B258 - 2 ; case 1
+ .short _0225B304 - _0225B258 - 2 ; case 2
+ .short _0225B38E - _0225B258 - 2 ; case 3
+_0225B260:
+ add r1, #0x20
+ ldr r1, [r4, r1]
+ add r0, r4, #0
+ add r2, sp, #4
+ mov r3, #1
+ bl MOD11_0225AD2C
+ mov r5, #0
+ mov r7, #2
+ add r6, sp, #4
+ b _0225B2D6
+_0225B276:
+ ldrb r0, [r6, r5]
+ cmp r0, #1
+ bne _0225B2D4
+ mov r1, #6
+ add r2, r5, #0
+ mul r2, r1
+ ldr r1, _0225B3C4 ; =0x0225F88C
+ lsl r3, r5, #2
+ add r1, r1, r2
+ ldr r2, _0225B3C8 ; =0x0225F7FC
+ add r0, r4, #0
+ add r2, r2, r3
+ mov r3, #4
+ str r7, [sp]
+ bl MOD11_0225ADD8
+ mov r0, #0x14
+ mul r0, r5
+ add r1, r4, r0
+ ldr r0, _0225B3CC ; =0x000004CC
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225B2C0
+ add r1, sp, #0xc
+ add r2, sp, #8
+ bl FUN_020119A4
+ mov r0, #0x14
+ mul r0, r5
+ add r1, r4, r0
+ ldr r0, _0225B3CC ; =0x000004CC
+ ldr r2, [sp, #8]
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0xc]
+ sub r2, r2, #2
+ bl FUN_020118C4
+_0225B2C0:
+ lsl r0, r5, #2
+ add r1, r4, r0
+ ldr r0, _0225B3D0 ; =0x00000624
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225B2D4
+ mov r1, #0
+ sub r2, r1, #2
+ bl FUN_0200C82C
+_0225B2D4:
+ add r5, r5, #1
+_0225B2D6:
+ cmp r5, #4
+ blt _0225B276
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ ldrsh r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225B2E8:
+ add r0, r1, #2
+ ldrsh r0, [r4, r0]
+ add r2, r0, #1
+ add r0, r1, #2
+ strh r2, [r4, r0]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225B3BE
+ mov r2, #0
+ add r0, r1, #2
+ strh r2, [r4, r0]
+ ldrsh r0, [r4, r1]
+ add r0, r0, #1
+ strh r0, [r4, r1]
+_0225B304:
+ mov r1, #0x6d
+ lsl r1, r1, #4
+ ldr r1, [r4, r1]
+ add r0, r4, #0
+ add r2, sp, #4
+ mov r3, #1
+ bl MOD11_0225AD2C
+ mov r5, #0
+ mov r7, #1
+ add r6, sp, #4
+ b _0225B37C
+_0225B31C:
+ ldrb r0, [r6, r5]
+ cmp r0, #1
+ bne _0225B37A
+ mov r1, #6
+ add r2, r5, #0
+ mul r2, r1
+ ldr r1, _0225B3C4 ; =0x0225F88C
+ lsl r3, r5, #2
+ add r1, r1, r2
+ ldr r2, _0225B3C8 ; =0x0225F7FC
+ add r0, r4, #0
+ add r2, r2, r3
+ mov r3, #4
+ str r7, [sp]
+ bl MOD11_0225ADD8
+ mov r0, #0x14
+ mul r0, r5
+ add r1, r4, r0
+ ldr r0, _0225B3CC ; =0x000004CC
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225B366
+ add r1, sp, #0xc
+ add r2, sp, #8
+ bl FUN_020119A4
+ mov r0, #0x14
+ mul r0, r5
+ add r1, r4, r0
+ ldr r0, _0225B3CC ; =0x000004CC
+ ldr r2, [sp, #8]
+ ldr r0, [r1, r0]
+ ldr r1, [sp, #0xc]
+ add r2, r2, #1
+ bl FUN_020118C4
+_0225B366:
+ lsl r0, r5, #2
+ add r1, r4, r0
+ ldr r0, _0225B3D0 ; =0x00000624
+ ldr r0, [r1, r0]
+ cmp r0, #0
+ beq _0225B37A
+ mov r1, #0
+ mov r2, #1
+ bl FUN_0200C82C
+_0225B37A:
+ add r5, r5, #1
+_0225B37C:
+ cmp r5, #4
+ blt _0225B31C
+ mov r0, #0x6b
+ lsl r0, r0, #4
+ ldrsh r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #1
+ strh r1, [r4, r0]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225B38E:
+ add r0, r1, #2
+ ldrsh r0, [r4, r0]
+ add r2, r0, #1
+ add r0, r1, #2
+ strh r2, [r4, r0]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225B3BE
+ mov r2, #0
+ add r0, r1, #2
+ strh r2, [r4, r0]
+ ldrsh r0, [r4, r1]
+ add sp, #0x10
+ add r0, r0, #1
+ strh r0, [r4, r1]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225B3AE:
+ mov r1, #1
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_0225AC8C
+ add r0, r4, #0
+ bl MOD11_0225ADB0
+_0225B3BE:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225B3C4: .word 0x0225F88C
+_0225B3C8: .word 0x0225F7FC
+_0225B3CC: .word 0x000004CC
+_0225B3D0: .word 0x00000624
+
+ thumb_func_start MOD11_0225B3D4
+MOD11_0225B3D4: ; 0x0225B3D4
+ cmp r0, #0
+ bne _0225B3DC
+ ldr r0, _0225B42C ; =0x00070800
+ bx lr
+_0225B3DC:
+ cmp r1, r0
+ bne _0225B3E4
+ ldr r0, _0225B430 ; =0x00010200
+ bx lr
+_0225B3E4:
+ cmp r1, #2
+ bgt _0225B3F0
+ cmp r0, #1
+ bne _0225B428
+ ldr r0, _0225B434 ; =0x00050600
+ bx lr
+_0225B3F0:
+ cmp r1, #7
+ bgt _0225B408
+ cmp r0, #1
+ beq _0225B3FE
+ cmp r0, #2
+ beq _0225B402
+ b _0225B428
+_0225B3FE:
+ ldr r0, _0225B434 ; =0x00050600
+ bx lr
+_0225B402:
+ mov r0, #0xc1
+ lsl r0, r0, #0xa
+ bx lr
+_0225B408:
+ asr r2, r1, #1
+ lsr r2, r2, #0x1e
+ add r2, r1, r2
+ asr r2, r2, #2
+ cmp r0, r2
+ bgt _0225B418
+ ldr r0, _0225B434 ; =0x00050600
+ bx lr
+_0225B418:
+ lsr r2, r1, #0x1f
+ add r2, r1, r2
+ asr r1, r2, #1
+ cmp r0, r1
+ bgt _0225B428
+ mov r0, #0xc1
+ lsl r0, r0, #0xa
+ bx lr
+_0225B428:
+ ldr r0, _0225B430 ; =0x00010200
+ bx lr
+ .align 2, 0
+_0225B42C: .word 0x00070800
+_0225B430: .word 0x00010200
+_0225B434: .word 0x00050600
+
+ thumb_func_start MOD11_0225B438
+MOD11_0225B438: ; 0x0225B438
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ ldr r0, [r5]
+ ldr r0, [r0]
+ bl MOD11_0222FF68
+ add r4, r0, #0
+ ldrb r0, [r5, #0x13]
+ cmp r0, #0
+ beq _0225B454
+ cmp r0, #1
+ beq _0225B4AA
+ b _0225B4D6
+_0225B454:
+ mov r2, #8
+ ldrsh r1, [r5, r2]
+ ldr r0, _0225B528 ; =0x000018E7
+ add r1, r1, r0
+ strh r1, [r5, #8]
+ mov r1, #0xa
+ ldrsh r3, [r5, r1]
+ mov r1, #0xfa
+ lsl r1, r1, #2
+ sub r1, r3, r1
+ strh r1, [r5, #0xa]
+ ldrsh r1, [r5, r2]
+ lsl r0, r0, #2
+ sub r0, r0, r1
+ mov r1, #0x64
+ blx _s32_div_f
+ strh r0, [r5, #0xc]
+ mov r0, #0xa
+ ldrsh r0, [r5, r0]
+ mov r1, #0x64
+ neg r0, r0
+ blx _s32_div_f
+ strh r0, [r5, #0xe]
+ mov r0, #8
+ ldrsh r0, [r5, r0]
+ cmp r0, #0
+ bge _0225B496
+ mov r0, #0xa
+ ldrsh r0, [r5, r0]
+ cmp r0, #0
+ bgt _0225B526
+_0225B496:
+ mov r1, #0
+ strh r1, [r5, #8]
+ mov r0, #0x90
+ strh r0, [r5, #0xa]
+ strh r1, [r5, #0xc]
+ strh r1, [r5, #0xe]
+ ldrb r0, [r5, #0x13]
+ add r0, r0, #1
+ strb r0, [r5, #0x13]
+ pop {r4, r5, r6, pc}
+_0225B4AA:
+ ldr r1, [r5]
+ ldr r0, _0225B52C ; =0x000006A2
+ mov r2, #0
+ strb r2, [r1, r0]
+ ldr r0, [r5, #4]
+ bl FUN_0200CAB4
+ bl FUN_02015F1C
+ ldr r2, _0225B530 ; =0x04001000
+ ldr r0, _0225B534 ; =0xFFFF1FFF
+ ldr r1, [r2]
+ and r0, r1
+ str r0, [r2]
+ ldr r0, [r5]
+ mov r1, #1
+ bl MOD11_0225B77C
+ ldrb r0, [r5, #0x13]
+ add r0, r0, #1
+ strb r0, [r5, #0x13]
+ pop {r4, r5, r6, pc}
+_0225B4D6:
+ ldr r0, [r5]
+ bl MOD11_0225B780
+ cmp r0, #0
+ beq _0225B526
+ mov r2, #0
+ add r0, r4, #0
+ mov r1, #4
+ add r3, r2, #0
+ bl FUN_020179E0
+ add r0, r4, #0
+ mov r1, #4
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+ mov r2, #0
+ add r0, r4, #0
+ mov r1, #5
+ add r3, r2, #0
+ bl FUN_020179E0
+ add r0, r4, #0
+ mov r1, #5
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+ ldr r0, [r5]
+ mov r1, #1
+ ldr r0, [r0]
+ bl MOD11_022312AC
+ add r0, r5, #0
+ bl FUN_02016A18
+ add r0, r6, #0
+ bl FUN_0200CAB4
+_0225B526:
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0225B528: .word 0x000018E7
+_0225B52C: .word 0x000006A2
+_0225B530: .word 0x04001000
+_0225B534: .word 0xFFFF1FFF
+
+ thumb_func_start MOD11_0225B538
+MOD11_0225B538: ; 0x0225B538
+ push {r4, r5, r6, lr}
+ add r5, r1, #0
+ ldr r0, [r5]
+ ldr r0, [r0]
+ bl MOD11_0222FF68
+ add r6, r0, #0
+ ldrb r0, [r5, #0x12]
+ cmp r0, #4
+ bne _0225B586
+ mov r0, #0xc
+ ldrsh r1, [r5, r0]
+ mov r0, #0xff
+ sub r3, r0, r1
+ cmp r3, #0
+ ble _0225B55A
+ mov r3, #0
+_0225B55A:
+ add r0, r6, #0
+ mov r1, #4
+ mov r2, #0
+ bl FUN_020179E0
+ mov r3, #0xc
+ ldrsh r4, [r5, r3]
+ mov r3, #0xff
+ add r0, r6, #0
+ mov r1, #5
+ mov r2, #0
+ sub r3, r3, r4
+ bl FUN_020179E0
+ mov r0, #8
+ ldrsh r0, [r5, r0]
+ mov r1, #0x64
+ neg r0, r0
+ blx _s32_div_f
+ add r4, r0, #0
+ b _0225B5B6
+_0225B586:
+ mov r0, #0xc
+ ldrsh r3, [r5, r0]
+ cmp r3, #0
+ bge _0225B590
+ mov r3, #0
+_0225B590:
+ add r0, r6, #0
+ mov r1, #4
+ mov r2, #0
+ bl FUN_020179E0
+ mov r3, #0xc
+ ldrsh r3, [r5, r3]
+ add r0, r6, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020179E0
+ mov r0, #8
+ ldrsh r0, [r5, r0]
+ mov r1, #0x64
+ blx _s32_div_f
+ add r4, r0, #0
+ add r4, #0xff
+_0225B5B6:
+ add r0, r6, #0
+ mov r1, #4
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+ add r0, r6, #0
+ mov r1, #5
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+ mov r0, #0xa
+ ldrsh r0, [r5, r0]
+ mov r1, #0x64
+ blx _s32_div_f
+ add r0, #0x90
+ cmp r4, #0
+ bge _0225B5E2
+ mov r4, #0
+ b _0225B5E8
+_0225B5E2:
+ cmp r4, #0xff
+ ble _0225B5E8
+ mov r4, #0xff
+_0225B5E8:
+ cmp r0, #0xc0
+ ble _0225B5F0
+ mov r0, #0xc0
+ b _0225B5F6
+_0225B5F0:
+ cmp r0, #0
+ bge _0225B5F6
+ mov r0, #0
+_0225B5F6:
+ ldrb r1, [r5, #0x12]
+ cmp r1, #4
+ bne _0225B60A
+ lsl r1, r4, #0x18
+ ldr r2, _0225B63C ; =0x04001040
+ lsr r1, r1, #0x18
+ strh r1, [r2]
+ mov r1, #0x90
+ strh r1, [r2, #4]
+ b _0225B620
+_0225B60A:
+ cmp r4, #0
+ bne _0225B610
+ mov r4, #1
+_0225B610:
+ mov r1, #0xff
+ lsl r2, r4, #8
+ lsl r1, r1, #8
+ and r1, r2
+ ldr r2, _0225B63C ; =0x04001040
+ strh r1, [r2]
+ mov r1, #0x90
+ strh r1, [r2, #4]
+_0225B620:
+ ldr r2, _0225B640 ; =0x04001042
+ mov r1, #0xff
+ lsl r0, r0, #0x18
+ strh r1, [r2]
+ lsr r1, r0, #0x18
+ mov r0, #9
+ lsl r0, r0, #0xc
+ orr r0, r1
+ strh r0, [r2, #4]
+ mov r0, #0xe
+ ldrsh r0, [r5, r0]
+ strh r0, [r5, #0x10]
+ pop {r4, r5, r6, pc}
+ nop
+_0225B63C: .word 0x04001040
+_0225B640: .word 0x04001042
+
+ thumb_func_start MOD11_0225B644
+MOD11_0225B644: ; 0x0225B644
+ push {r4, r5, r6, lr}
+ add r4, r0, #0
+ ldr r0, _0225B6FC ; =0x04000006
+ ldrh r0, [r0]
+ cmp r0, #0x90
+ bne _0225B68E
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl MOD11_0222FF68
+ mov r2, #0
+ mov r1, #4
+ add r3, r2, #0
+ add r5, r0, #0
+ bl FUN_020179E0
+ mov r3, #0x10
+ ldrsh r3, [r4, r3]
+ add r0, r5, #0
+ mov r1, #4
+ mov r2, #3
+ bl FUN_020179E0
+ mov r2, #0
+ add r0, r5, #0
+ mov r1, #5
+ add r3, r2, #0
+ bl FUN_020179E0
+ mov r3, #0x10
+ ldrsh r3, [r4, r3]
+ add r0, r5, #0
+ mov r1, #5
+ mov r2, #3
+ bl FUN_020179E0
+ pop {r4, r5, r6, pc}
+_0225B68E:
+ cmp r0, #0xc0
+ ble _0225B6F8
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl MOD11_0222FF68
+ ldrb r1, [r4, #0x12]
+ add r5, r0, #0
+ cmp r1, #4
+ bne _0225B6C6
+ mov r3, #0xc
+ ldrsh r6, [r4, r3]
+ mov r3, #0xff
+ mov r1, #4
+ mov r2, #0
+ sub r3, r3, r6
+ bl FUN_020179E0
+ mov r3, #0xc
+ ldrsh r4, [r4, r3]
+ mov r3, #0xff
+ add r0, r5, #0
+ mov r1, #5
+ mov r2, #0
+ sub r3, r3, r4
+ bl FUN_020179E0
+ b _0225B6E0
+_0225B6C6:
+ mov r3, #0xc
+ ldrsh r3, [r4, r3]
+ mov r1, #4
+ mov r2, #0
+ bl FUN_020179E0
+ mov r3, #0xc
+ ldrsh r3, [r4, r3]
+ add r0, r5, #0
+ mov r1, #5
+ mov r2, #0
+ bl FUN_020179E0
+_0225B6E0:
+ add r0, r5, #0
+ mov r1, #4
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+ add r0, r5, #0
+ mov r1, #5
+ mov r2, #3
+ mov r3, #0
+ bl FUN_020179E0
+_0225B6F8:
+ pop {r4, r5, r6, pc}
+ nop
+_0225B6FC: .word 0x04000006
+
+ thumb_func_start MOD11_0225B700
+MOD11_0225B700: ; 0x0225B700
+ push {r3, r4, r5, r6, r7, lr}
+ str r0, [sp]
+ ldr r0, _0225B760 ; =0x0000069F
+ ldr r2, _0225B764 ; =0x0225FAAC
+ ldrsb r1, [r1, r0]
+ mov r0, #0x30
+ ldr r7, _0225B768 ; =0x0000FFFF
+ mul r0, r1
+ add r6, r2, r0
+ mov r4, #0
+ add r5, r6, #0
+_0225B716:
+ ldrh r0, [r5, #4]
+ cmp r0, r7
+ bne _0225B72A
+ add r0, r4, #4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0
+ bl FUN_0201797C
+ b _0225B736
+_0225B72A:
+ add r0, r4, #4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #1
+ bl FUN_0201797C
+_0225B736:
+ add r4, r4, #1
+ add r5, r5, #2
+ cmp r4, #4
+ blt _0225B716
+ mov r4, #0
+_0225B740:
+ ldrh r1, [r6, #0xc]
+ add r0, r4, #4
+ lsl r0, r0, #0x18
+ lsl r1, r1, #0x18
+ lsr r0, r0, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_020178BC
+ add r4, r4, #1
+ add r6, r6, #2
+ cmp r4, #4
+ blt _0225B740
+ ldr r0, [sp]
+ bl FUN_0200CAB4
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225B760: .word 0x0000069F
+_0225B764: .word 0x0225FAAC
+_0225B768: .word 0x0000FFFF
+
+ thumb_func_start MOD11_0225B76C
+MOD11_0225B76C: ; 0x0225B76C
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD11_0225AC60
+ add r0, r4, #0
+ bl FUN_0200CAB4
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0225B77C
+MOD11_0225B77C: ; 0x0225B77C
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0225B780
+MOD11_0225B780: ; 0x0225B780
+ ldr r1, _0225B790 ; =0x00000698
+ ldr r0, [r0, r1]
+ cmp r0, #0
+ bne _0225B78C
+ mov r0, #1
+ bx lr
+_0225B78C:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+_0225B790: .word 0x00000698
+
+ thumb_func_start MOD11_0225B794
+MOD11_0225B794: ; 0x0225B794
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r5, r1, #0
+ ldr r0, [r5]
+ bl MOD11_022300CC
+ add r4, r0, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _0225B814
+ ldr r0, _0225B818 ; =0x000006AA
+ mov r1, #1
+ ldrsh r0, [r5, r0]
+ add r2, r1, #0
+ add r3, r1, #0
+ asr r0, r0, #8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp]
+ ldr r0, _0225B81C ; =0x00007FFF
+ str r0, [sp, #4]
+ add r0, r4, #0
+ bl FUN_020039E8
+ ldr r1, _0225B820 ; =0x000006A8
+_0225B7C8:
+ ldrb r0, [r5, r1]
+ cmp r0, #0
+ bne _0225B7DA
+ add r0, r1, #2
+ ldrsh r2, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #8
+ add r2, r2, r0
+ b _0225B7E4
+_0225B7DA:
+ add r0, r1, #2
+ ldrsh r2, [r5, r0]
+ mov r0, #2
+ lsl r0, r0, #8
+ sub r2, r2, r0
+_0225B7E4:
+ add r0, r1, #2
+ strh r2, [r5, r0]
+ ldr r0, _0225B818 ; =0x000006AA
+ mov r1, #0x11
+ ldrsh r2, [r5, r0]
+ lsl r1, r1, #8
+ cmp r2, r1
+ blt _0225B804
+ mov r1, #0xf
+ lsl r1, r1, #8
+ strh r1, [r5, r0]
+ mov r1, #1
+ sub r0, r0, #2
+ add sp, #8
+ strb r1, [r5, r0]
+ pop {r3, r4, r5, pc}
+_0225B804:
+ cmp r2, #0
+ bgt _0225B814
+ mov r1, #1
+ lsl r1, r1, #8
+ strh r1, [r5, r0]
+ mov r1, #0
+ sub r0, r0, #2
+ strb r1, [r5, r0]
+_0225B814:
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0225B818: .word 0x000006AA
+_0225B81C: .word 0x00007FFF
+_0225B820: .word 0x000006A8
+
+ thumb_func_start MOD11_0225B824
+MOD11_0225B824: ; 0x0225B824
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ bl FUN_02002BD4
+ add r6, r0, #0
+ bl FUN_02002BF4
+ add r7, r0, #0
+ bl FUN_02002BE4
+ bl FUN_02002C04
+ ldr r0, [r5]
+ bl MOD11_022300CC
+ add r4, r0, #0
+ bl FUN_020038E4
+ cmp r0, #0
+ bne _0225B8A8
+ add r0, r4, #0
+ mov r1, #1
+ bl FUN_02003204
+ add r4, r0, #0
+ ldr r0, _0225B8AC ; =0x021C48F8
+ ldrh r0, [r0, #0x22]
+ cmp r0, #0
+ beq _0225B888
+ cmp r6, #1
+ beq _0225B866
+ cmp r7, #1
+ bne _0225B888
+_0225B866:
+ ldr r1, [r5, #0x5c]
+ add r0, r4, #0
+ add r0, #0x16
+ add r1, #0x16
+ mov r2, #0xa
+ blx memcmp
+ cmp r0, #0
+ bne _0225B8A8
+ ldr r0, [r5, #0x60]
+ add r4, #0x16
+ add r0, #0x16
+ add r1, r4, #0
+ mov r2, #0xa
+ blx MIi_CpuCopy16
+ pop {r3, r4, r5, r6, r7, pc}
+_0225B888:
+ ldr r1, [r5, #0x60]
+ add r0, r4, #0
+ add r0, #0x16
+ add r1, #0x16
+ mov r2, #0xa
+ blx memcmp
+ cmp r0, #0
+ bne _0225B8A8
+ ldr r0, [r5, #0x5c]
+ add r4, #0x16
+ add r0, #0x16
+ add r1, r4, #0
+ mov r2, #0xa
+ blx MIi_CpuCopy16
+_0225B8A8:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225B8AC: .word 0x021C48F8
+
+ thumb_func_start MOD11_0225B8B0
+MOD11_0225B8B0: ; 0x0225B8B0
+ push {r4, r5, r6, lr}
+ mov r6, #0x6f
+ lsl r6, r6, #4
+ add r2, r6, #0
+ add r5, r0, #0
+ sub r2, #0x51
+ ldrsb r2, [r5, r2]
+ ldr r1, _0225B914 ; =0x0225FAAC
+ mov r3, #0x30
+ add r4, r2, #0
+ mul r4, r3
+ add r4, r1, r4
+ ldr r2, [r4, #0x20]
+ cmp r2, #0
+ bne _0225B8D4
+ sub r3, #0x31
+ add r0, r3, #0
+ pop {r4, r5, r6, pc}
+_0225B8D4:
+ ldrb r1, [r5, r6]
+ cmp r1, #0
+ bne _0225B90C
+ add r0, r6, #4
+ ldrb r0, [r5, r0]
+ cmp r0, #1
+ beq _0225B8EC
+ ldr r1, _0225B918 ; =0x021C48B8
+ ldr r2, [r1, #0x48]
+ ldr r1, _0225B91C ; =0x00000CF3
+ tst r1, r2
+ beq _0225B906
+_0225B8EC:
+ cmp r0, #0
+ bne _0225B8F6
+ ldr r0, _0225B920 ; =0x000005DC
+ bl FUN_020054C8
+_0225B8F6:
+ mov r1, #1
+ ldr r0, _0225B924 ; =0x000006F4
+ strb r1, [r5, r6]
+ mov r2, #0
+ strb r2, [r5, r0]
+ ldr r2, [r4, #0x20]
+ add r0, r5, #0
+ blx r2
+_0225B906:
+ mov r0, #0
+ mvn r0, r0
+ pop {r4, r5, r6, pc}
+_0225B90C:
+ mov r1, #0
+ blx r2
+ pop {r4, r5, r6, pc}
+ nop
+_0225B914: .word 0x0225FAAC
+_0225B918: .word 0x021C48B8
+_0225B91C: .word 0x00000CF3
+_0225B920: .word 0x000005DC
+_0225B924: .word 0x000006F4
+
+ thumb_func_start MOD11_0225B928
+MOD11_0225B928: ; 0x0225B928
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ str r1, [sp, #8]
+ mov r1, #0x6f
+ lsl r1, r1, #4
+ add r6, r0, #0
+ add r2, r1, #0
+ sub r2, #0x51
+ ldrsb r3, [r6, r2]
+ add r4, r6, r1
+ mov r2, #0x30
+ sub r1, #0x52
+ ldr r0, _0225BAE8 ; =0x0225FAAC
+ mul r2, r3
+ add r7, r0, r2
+ ldrb r1, [r6, r1]
+ ldr r0, [r6]
+ bl MOD11_0223022C
+ add r1, r0, #0
+ ldr r0, [r6]
+ bl MOD11_0222FF7C
+ bl MOD11_02253A74
+ ldr r1, [sp, #8]
+ cmp r1, #1
+ bne _0225B9AE
+ mov r1, #0
+ ldrsb r1, [r0, r1]
+ ldr r2, _0225BAEC ; =0x0225F698
+ strb r1, [r4, #2]
+ mov r1, #1
+ ldrsb r0, [r0, r1]
+ strb r0, [r4, #1]
+ ldrsb r1, [r4, r1]
+ lsl r0, r1, #1
+ add r3, r1, r0
+ mov r0, #2
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [r7, #0x14]
+ lsl r3, r1, #2
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r7, #0x14]
+ ldr r0, _0225BAF0 ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ mov r0, #0
+ add sp, #0x10
+ mvn r0, r0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225B9AE:
+ ldr r0, _0225BAF4 ; =0x0000069F
+ ldrsb r0, [r6, r0]
+ cmp r0, #5
+ beq _0225B9BA
+ cmp r0, #6
+ bne _0225B9CA
+_0225B9BA:
+ mov r1, #1
+ ldr r3, _0225BAEC ; =0x0225F698
+ add r0, r4, #0
+ add r2, r1, #0
+ bl MOD11_0225C574
+ add r5, r0, #0
+ b _0225BA34
+_0225B9CA:
+ mov r0, #1
+ ldrsb r1, [r4, r0]
+ lsl r0, r1, #1
+ add r2, r1, r0
+ mov r0, #2
+ ldr r1, _0225BAEC ; =0x0225F698
+ ldrsb r0, [r4, r0]
+ add r1, r1, r2
+ ldrb r0, [r0, r1]
+ str r0, [sp, #0xc]
+ cmp r0, #3
+ bne _0225B9EC
+ ldr r0, _0225BAF8 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x40
+ tst r0, r1
+ bne _0225BA34
+_0225B9EC:
+ ldr r3, _0225BAEC ; =0x0225F698
+ add r0, r4, #0
+ mov r1, #3
+ mov r2, #2
+ bl MOD11_0225C574
+ add r5, r0, #0
+ bne _0225BA34
+ ldr r0, [sp, #0xc]
+ cmp r0, #0
+ bne _0225BA34
+ ldr r0, _0225BAF8 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x20
+ tst r0, r1
+ beq _0225BA1E
+ mov r0, #0
+ strb r0, [r4, #2]
+ mov r0, #1
+ strb r0, [r4, #1]
+ ldr r0, _0225BAFC ; =0x000005DC
+ bl FUN_020054C8
+ mov r5, #0x20
+ b _0225BA34
+_0225BA1E:
+ mov r0, #0x10
+ tst r0, r1
+ beq _0225BA34
+ mov r0, #2
+ strb r0, [r4, #2]
+ mov r0, #1
+ strb r0, [r4, #1]
+ ldr r0, _0225BAFC ; =0x000005DC
+ bl FUN_020054C8
+ mov r5, #0x10
+_0225BA34:
+ cmp r5, #0x20
+ bhi _0225BA50
+ bhs _0225BA5C
+ cmp r5, #2
+ bhi _0225BA4A
+ cmp r5, #1
+ blo _0225BAE0
+ beq _0225BA9A
+ cmp r5, #2
+ beq _0225BAB0
+ b _0225BAE0
+_0225BA4A:
+ cmp r5, #0x10
+ beq _0225BA5C
+ b _0225BAE0
+_0225BA50:
+ cmp r5, #0x40
+ bhi _0225BA58
+ beq _0225BA5C
+ b _0225BAE0
+_0225BA58:
+ cmp r5, #0x80
+ bne _0225BAE0
+_0225BA5C:
+ mov r0, #1
+ ldrsb r1, [r4, r0]
+ ldr r2, _0225BAEC ; =0x0225F698
+ lsl r0, r1, #1
+ add r3, r1, r0
+ mov r0, #2
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [r7, #0x14]
+ lsl r3, r1, #2
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r7, #0x14]
+ ldr r0, _0225BAF0 ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ b _0225BAE0
+_0225BA9A:
+ mov r0, #1
+ ldrsb r1, [r4, r0]
+ ldr r2, _0225BAEC ; =0x0225F698
+ add sp, #0x10
+ lsl r0, r1, #1
+ add r3, r1, r0
+ mov r0, #2
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r0, [r1, r0]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225BAB0:
+ ldr r0, _0225BB00 ; =0x000006A3
+ ldrb r0, [r6, r0]
+ cmp r0, #1
+ bne _0225BAE0
+ mov r0, #0
+ add r2, r0, #0
+ mov r3, #1
+ ldr r1, [r7, #0x18]
+ ldr r5, [r7, #0x14]
+ b _0225BACE
+_0225BAC4:
+ lsl r4, r0, #2
+ ldr r4, [r1, r4]
+ cmp r4, #4
+ beq _0225BAE4
+ add r0, r0, #1
+_0225BACE:
+ lsl r4, r0, #2
+ ldrb r4, [r5, r4]
+ cmp r0, r4
+ bge _0225BADA
+ add r4, r3, #0
+ b _0225BADC
+_0225BADA:
+ add r4, r2, #0
+_0225BADC:
+ cmp r4, #0xff
+ bne _0225BAC4
+_0225BAE0:
+ mov r0, #0
+ mvn r0, r0
+_0225BAE4:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225BAE8: .word 0x0225FAAC
+_0225BAEC: .word 0x0225F698
+_0225BAF0: .word 0x000006EC
+_0225BAF4: .word 0x0000069F
+_0225BAF8: .word 0x021C48B8
+_0225BAFC: .word 0x000005DC
+_0225BB00: .word 0x000006A3
+
+ thumb_func_start MOD11_0225BB04
+MOD11_0225BB04: ; 0x0225BB04
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ ldr r1, _0225BB60 ; =0x0000069E
+ ldr r0, [r5]
+ ldrb r1, [r5, r1]
+ bl MOD11_0223022C
+ add r6, r0, #0
+ cmp r4, #3
+ bne _0225BB26
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl MOD11_02230CB8
+ cmp r0, #0
+ bne _0225BB5C
+_0225BB26:
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl MOD11_0222FF7C
+ bl MOD11_02253A74
+ mov r5, #0
+ ldr r1, _0225BB64 ; =0x0225F698
+ add r2, r5, #0
+ b _0225BB58
+_0225BB3A:
+ lsl r6, r5, #1
+ add r6, r5, r6
+ add r3, r2, #0
+ add r7, r1, r6
+ b _0225BB52
+_0225BB44:
+ ldrb r6, [r3, r7]
+ cmp r4, r6
+ bne _0225BB50
+ strb r3, [r0]
+ strb r5, [r0, #1]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225BB50:
+ add r3, r3, #1
+_0225BB52:
+ cmp r3, #3
+ blt _0225BB44
+ add r5, r5, #1
+_0225BB58:
+ cmp r5, #2
+ blt _0225BB3A
+_0225BB5C:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225BB60: .word 0x0000069E
+_0225BB64: .word 0x0225F698
+
+ thumb_func_start MOD11_0225BB68
+MOD11_0225BB68: ; 0x0225BB68
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ add r6, r0, #0
+ mov r0, #0x6f
+ lsl r0, r0, #4
+ add r3, r0, #0
+ sub r3, #0x51
+ ldrsb r5, [r6, r3]
+ mov r3, #0x30
+ ldr r2, _0225BC54 ; =0x0225FAAC
+ mul r3, r5
+ add r4, r6, r0
+ add r5, r2, r3
+ cmp r1, #1
+ bne _0225BBCC
+ mov r1, #0
+ strb r1, [r4, #2]
+ strb r1, [r4, #1]
+ mov r1, #1
+ ldrsb r2, [r4, r1]
+ mov r3, #2
+ ldr r1, _0225BC58 ; =0x0225F688
+ ldrsb r3, [r4, r3]
+ add r1, r1, r2
+ sub r0, r0, #4
+ ldrb r2, [r3, r1]
+ ldr r1, [r5, #0x14]
+ lsl r3, r2, #2
+ add r1, r1, r3
+ ldrb r1, [r1, #1]
+ sub r1, #8
+ str r1, [sp]
+ mov r1, #0x11
+ lsl r1, r1, #0x10
+ str r1, [sp, #4]
+ ldr r4, [r5, #0x14]
+ ldr r0, [r6, r0]
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ mov r0, #0
+ add sp, #8
+ mvn r0, r0
+ pop {r4, r5, r6, pc}
+_0225BBCC:
+ ldr r3, _0225BC58 ; =0x0225F688
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #2
+ bl MOD11_0225C574
+ cmp r0, #0x20
+ bhi _0225BBF2
+ bhs _0225BBFE
+ cmp r0, #2
+ bhi _0225BBEC
+ cmp r0, #1
+ blo _0225BC4A
+ beq _0225BC38
+ cmp r0, #2
+ b _0225BC4A
+_0225BBEC:
+ cmp r0, #0x10
+ beq _0225BBFE
+ b _0225BC4A
+_0225BBF2:
+ cmp r0, #0x40
+ bhi _0225BBFA
+ beq _0225BBFE
+ b _0225BC4A
+_0225BBFA:
+ cmp r0, #0x80
+ bne _0225BC4A
+_0225BBFE:
+ mov r0, #1
+ ldrsb r3, [r4, r0]
+ mov r0, #2
+ ldr r2, _0225BC58 ; =0x0225F688
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [r5, #0x14]
+ lsl r3, r1, #2
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r5, #0x14]
+ ldr r0, _0225BC5C ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ b _0225BC4A
+_0225BC38:
+ mov r0, #1
+ ldrsb r3, [r4, r0]
+ mov r0, #2
+ ldr r2, _0225BC58 ; =0x0225F688
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ add sp, #8
+ ldrb r0, [r1, r0]
+ pop {r4, r5, r6, pc}
+_0225BC4A:
+ mov r0, #0
+ mvn r0, r0
+ add sp, #8
+ pop {r4, r5, r6, pc}
+ nop
+_0225BC54: .word 0x0225FAAC
+_0225BC58: .word 0x0225F688
+_0225BC5C: .word 0x000006EC
+
+ thumb_func_start MOD11_0225BC60
+MOD11_0225BC60: ; 0x0225BC60
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ add r7, r1, #0
+ add r5, r0, #0
+ ldr r1, _0225BDD0 ; =0x0000069E
+ ldr r0, [r5]
+ ldrb r1, [r5, r1]
+ bl MOD11_0223022C
+ add r1, r0, #0
+ ldr r0, [r5]
+ bl MOD11_0222FF7C
+ bl MOD11_02253A74
+ mov r1, #0x6f
+ lsl r1, r1, #4
+ add r4, r5, r1
+ sub r1, #0x51
+ ldrsb r2, [r5, r1]
+ add r3, r0, #0
+ mov r1, #0x30
+ mul r1, r2
+ ldr r0, _0225BDD4 ; =0x0225FAAC
+ add r2, r5, #0
+ add r6, r0, r1
+ add r2, #0x18
+ cmp r7, #1
+ bne _0225BD10
+ mov r0, #2
+ ldrsb r0, [r3, r0]
+ strb r0, [r4, #2]
+ mov r0, #3
+ ldrsb r0, [r3, r0]
+ strb r0, [r4, #1]
+ mov r0, #1
+ ldrsb r0, [r4, r0]
+ lsl r1, r0, #1
+ mov r0, #2
+ ldrsb r7, [r4, r0]
+ ldr r0, _0225BDD8 ; =0x0225F6A0
+ add r0, r0, r1
+ ldrb r0, [r7, r0]
+ cmp r0, #0
+ beq _0225BCDE
+ sub r1, r0, #1
+ lsl r1, r1, #1
+ ldrh r1, [r2, r1]
+ cmp r1, #0
+ bne _0225BCDE
+ mov r0, #0
+ strb r0, [r3, #2]
+ strb r0, [r3, #3]
+ strb r0, [r4, #2]
+ strb r0, [r4, #1]
+ mov r0, #1
+ ldrsb r0, [r4, r0]
+ lsl r2, r0, #1
+ mov r0, #2
+ ldrsb r1, [r4, r0]
+ ldr r0, _0225BDD8 ; =0x0225F6A0
+ add r0, r0, r2
+ ldrb r0, [r1, r0]
+_0225BCDE:
+ ldr r1, [r6, #0x14]
+ lsl r3, r0, #2
+ add r0, r1, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r6, #0x14]
+ ldr r0, _0225BDDC ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r5, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ mov r0, #0
+ add sp, #0x10
+ mvn r0, r0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225BD10:
+ ldr r0, _0225BDD8 ; =0x0225F6A0
+ add r1, sp, #8
+ mov r2, #6
+ blx MI_CpuCopy8
+ add r0, r4, #0
+ mov r1, #2
+ mov r2, #3
+ add r3, sp, #8
+ bl MOD11_0225C574
+ cmp r0, #0x20
+ bhi _0225BD42
+ bhs _0225BD4E
+ cmp r0, #2
+ bhi _0225BD3C
+ cmp r0, #1
+ blo _0225BDC6
+ beq _0225BD8A
+ cmp r0, #2
+ beq _0225BD9E
+ b _0225BDC6
+_0225BD3C:
+ cmp r0, #0x10
+ beq _0225BD4E
+ b _0225BDC6
+_0225BD42:
+ cmp r0, #0x40
+ bhi _0225BD4A
+ beq _0225BD4E
+ b _0225BDC6
+_0225BD4A:
+ cmp r0, #0x80
+ bne _0225BDC6
+_0225BD4E:
+ mov r0, #1
+ ldrsb r0, [r4, r0]
+ ldr r2, _0225BDD8 ; =0x0225F6A0
+ lsl r3, r0, #1
+ mov r0, #2
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [r6, #0x14]
+ lsl r3, r1, #2
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r6, #0x14]
+ ldr r0, _0225BDDC ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r5, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ b _0225BDC6
+_0225BD8A:
+ mov r0, #1
+ ldrsb r0, [r4, r0]
+ ldr r2, _0225BDD8 ; =0x0225F6A0
+ add sp, #0x10
+ lsl r3, r0, #1
+ mov r0, #2
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r0, [r1, r0]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225BD9E:
+ mov r0, #0
+ add r2, r0, #0
+ mov r3, #1
+ ldr r1, [r6, #0x18]
+ ldr r5, [r6, #0x14]
+ b _0225BDB4
+_0225BDAA:
+ lsl r4, r0, #2
+ ldr r4, [r1, r4]
+ cmp r4, #0xff
+ beq _0225BDCA
+ add r0, r0, #1
+_0225BDB4:
+ lsl r4, r0, #2
+ ldrb r4, [r5, r4]
+ cmp r0, r4
+ bge _0225BDC0
+ add r4, r3, #0
+ b _0225BDC2
+_0225BDC0:
+ add r4, r2, #0
+_0225BDC2:
+ cmp r4, #0xff
+ bne _0225BDAA
+_0225BDC6:
+ mov r0, #0
+ mvn r0, r0
+_0225BDCA:
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225BDD0: .word 0x0000069E
+_0225BDD4: .word 0x0225FAAC
+_0225BDD8: .word 0x0225F6A0
+_0225BDDC: .word 0x000006EC
+
+ thumb_func_start MOD11_0225BDE0
+MOD11_0225BDE0: ; 0x0225BDE0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r4, r1, #0
+ beq _0225BE26
+ ldr r1, _0225BE28 ; =0x0000069E
+ ldr r0, [r5]
+ ldrb r1, [r5, r1]
+ bl MOD11_0223022C
+ add r1, r0, #0
+ ldr r0, [r5]
+ bl MOD11_0222FF7C
+ bl MOD11_02253A74
+ mov r3, #0
+ ldr r7, _0225BE2C ; =0x0225F6A0
+ add r1, r3, #0
+ b _0225BE22
+_0225BE06:
+ lsl r5, r3, #1
+ add r2, r1, #0
+ add r6, r7, r5
+ b _0225BE1C
+_0225BE0E:
+ ldrb r5, [r2, r6]
+ cmp r4, r5
+ bne _0225BE1A
+ strb r2, [r0, #2]
+ strb r3, [r0, #3]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225BE1A:
+ add r2, r2, #1
+_0225BE1C:
+ cmp r2, #2
+ blt _0225BE0E
+ add r3, r3, #1
+_0225BE22:
+ cmp r3, #3
+ blt _0225BE06
+_0225BE26:
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225BE28: .word 0x0000069E
+_0225BE2C: .word 0x0225F6A0
+
+ thumb_func_start MOD11_0225BE30
+MOD11_0225BE30: ; 0x0225BE30
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x60
+ str r1, [sp, #0x18]
+ add r6, r0, #0
+ ldr r1, _0225C134 ; =0x0000069E
+ mov r0, #0
+ str r0, [sp, #0x44]
+ ldrb r1, [r6, r1]
+ ldr r0, [r6]
+ bl MOD11_0223022C
+ add r1, r0, #0
+ ldr r0, [r6]
+ bl MOD11_0222FF7C
+ bl MOD11_02253A74
+ mov r1, #0x6f
+ lsl r1, r1, #4
+ add r7, r6, r1
+ sub r1, #0x51
+ ldrsb r2, [r6, r1]
+ str r0, [sp, #0x1c]
+ mov r1, #0x30
+ mul r1, r2
+ ldr r0, _0225C138 ; =0x0225FAAC
+ mov r2, #6
+ add r0, r0, r1
+ str r0, [sp, #0x48]
+ ldr r0, _0225C13C ; =0x0225F690
+ add r1, sp, #0x50
+ blx MI_CpuCopy8
+ add r1, sp, #0x58
+ add r0, r6, #0
+ add r1, #2
+ mov r2, #1
+ bl MOD11_0225ACD4
+ add r1, sp, #0x54
+ add r0, r6, #0
+ add r1, #2
+ mov r2, #0
+ bl MOD11_0225ACD4
+ add r0, sp, #0x54
+ mov r2, #0
+ mov r4, #0xff
+ add r0, #2
+ b _0225BEB0
+_0225BE94:
+ lsl r5, r2, #1
+ add r1, sp, #0x50
+ mov r3, #0
+ add r1, r1, r5
+ b _0225BEAA
+_0225BE9E:
+ ldrb r5, [r3, r1]
+ ldrb r5, [r0, r5]
+ cmp r5, #0
+ bne _0225BEA8
+ strb r4, [r3, r1]
+_0225BEA8:
+ add r3, r3, #1
+_0225BEAA:
+ cmp r3, #2
+ blt _0225BE9E
+ add r2, r2, #1
+_0225BEB0:
+ cmp r2, #2
+ blt _0225BE94
+ mov r0, #0x6a
+ lsl r0, r0, #4
+ ldrb r0, [r6, r0]
+ cmp r0, #0xb
+ bhi _0225BEE2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225BECA: ; jump table
+ .short _0225BEE2 - _0225BECA - 2 ; case 0
+ .short _0225BEEC - _0225BECA - 2 ; case 1
+ .short _0225BEEC - _0225BECA - 2 ; case 2
+ .short _0225BEEC - _0225BECA - 2 ; case 3
+ .short _0225BEE2 - _0225BECA - 2 ; case 4
+ .short _0225BEEC - _0225BECA - 2 ; case 5
+ .short _0225BEE2 - _0225BECA - 2 ; case 6
+ .short _0225BEEC - _0225BECA - 2 ; case 7
+ .short _0225BEE2 - _0225BECA - 2 ; case 8
+ .short _0225BEE2 - _0225BECA - 2 ; case 9
+ .short _0225BEE2 - _0225BECA - 2 ; case 10
+ .short _0225BEE2 - _0225BECA - 2 ; case 11
+_0225BEE2:
+ mov r0, #2
+ mov ip, r0
+ mov r0, #3
+ str r0, [sp, #0x4c]
+ b _0225C0C6
+_0225BEEC:
+ mov r0, #1
+ str r0, [sp, #0x44]
+ mov ip, r0
+ mov r0, #2
+ str r0, [sp, #0x4c]
+ add r0, sp, #0x50
+ ldrb r1, [r0, #9]
+ cmp r1, #1
+ bne _0225BF26
+ ldrb r0, [r0, #7]
+ cmp r0, #1
+ bne _0225BF26
+ ldr r0, [sp, #0x48]
+ ldr r1, [r0, #0x14]
+ ldrb r0, [r1, #0xe]
+ ldrb r2, [r1, #0xd]
+ str r0, [sp, #0x34]
+ add r0, #8
+ str r0, [sp, #0x34]
+ ldrb r0, [r1, #7]
+ sub r2, #8
+ str r0, [sp, #0x30]
+ sub r0, #8
+ str r0, [sp, #0x30]
+ ldrb r0, [r1, #0xc]
+ str r0, [sp, #0x38]
+ add r0, #8
+ str r0, [sp, #0x38]
+ b _0225BF92
+_0225BF26:
+ add r0, sp, #0x50
+ ldrb r1, [r0, #9]
+ cmp r1, #1
+ bne _0225BF56
+ ldrb r0, [r0, #7]
+ cmp r0, #0
+ bne _0225BF56
+ ldr r0, [sp, #0x48]
+ ldr r1, [r0, #0x14]
+ ldrb r0, [r1, #0xe]
+ ldrb r2, [r1, #0xd]
+ str r0, [sp, #0x34]
+ add r0, #8
+ str r0, [sp, #0x34]
+ ldrb r0, [r1, #0xf]
+ sub r2, #8
+ str r0, [sp, #0x30]
+ sub r0, #8
+ str r0, [sp, #0x30]
+ ldrb r0, [r1, #0xc]
+ str r0, [sp, #0x38]
+ add r0, #8
+ str r0, [sp, #0x38]
+ b _0225BF92
+_0225BF56:
+ add r0, sp, #0x50
+ ldrb r1, [r0, #9]
+ cmp r1, #0
+ bne _0225BF86
+ ldrb r0, [r0, #7]
+ cmp r0, #1
+ bne _0225BF86
+ ldr r0, [sp, #0x48]
+ ldr r1, [r0, #0x14]
+ ldrb r0, [r1, #6]
+ ldrb r2, [r1, #5]
+ str r0, [sp, #0x34]
+ add r0, #8
+ str r0, [sp, #0x34]
+ ldrb r0, [r1, #7]
+ sub r2, #8
+ str r0, [sp, #0x30]
+ sub r0, #8
+ str r0, [sp, #0x30]
+ ldrb r0, [r1, #4]
+ str r0, [sp, #0x38]
+ add r0, #8
+ str r0, [sp, #0x38]
+ b _0225BF92
+_0225BF86:
+ mov r0, #0
+ mvn r0, r0
+ str r0, [sp, #0x34]
+ str r0, [sp, #0x30]
+ str r0, [sp, #0x38]
+ add r2, r0, #0
+_0225BF92:
+ add r0, sp, #0x50
+ ldrb r1, [r0, #6]
+ cmp r1, #1
+ bne _0225BFBA
+ ldrb r0, [r0, #8]
+ cmp r0, #1
+ bne _0225BFBA
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x14]
+ ldrb r3, [r0, #2]
+ ldrb r4, [r0, #0xb]
+ ldrb r5, [r0]
+ ldrb r0, [r0, #1]
+ add r3, #8
+ sub r4, #8
+ str r0, [sp, #0x2c]
+ sub r0, #8
+ add r5, #8
+ str r0, [sp, #0x2c]
+ b _0225C014
+_0225BFBA:
+ add r0, sp, #0x50
+ ldrb r1, [r0, #6]
+ cmp r1, #1
+ bne _0225BFE2
+ ldrb r0, [r0, #8]
+ cmp r0, #0
+ bne _0225BFE2
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x14]
+ ldrb r3, [r0, #2]
+ ldrb r4, [r0, #3]
+ ldrb r5, [r0]
+ ldrb r0, [r0, #1]
+ add r3, #8
+ sub r4, #8
+ str r0, [sp, #0x2c]
+ sub r0, #8
+ add r5, #8
+ str r0, [sp, #0x2c]
+ b _0225C014
+_0225BFE2:
+ add r0, sp, #0x50
+ ldrb r1, [r0, #6]
+ cmp r1, #0
+ bne _0225C00A
+ ldrb r0, [r0, #8]
+ cmp r0, #1
+ bne _0225C00A
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x14]
+ ldrb r3, [r0, #0xa]
+ ldrb r4, [r0, #0xb]
+ ldrb r5, [r0, #8]
+ ldrb r0, [r0, #9]
+ add r3, #8
+ sub r4, #8
+ str r0, [sp, #0x2c]
+ sub r0, #8
+ add r5, #8
+ str r0, [sp, #0x2c]
+ b _0225C014
+_0225C00A:
+ mov r3, #0
+ mvn r3, r3
+ add r4, r3, #0
+ add r5, r3, #0
+ str r3, [sp, #0x2c]
+_0225C014:
+ mov r0, #0
+ mvn r0, r0
+ str r0, [sp, #0x40]
+ str r0, [sp, #0x3c]
+ str r0, [sp, #0x28]
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #0x34]
+ cmp r0, r3
+ beq _0225C04A
+ add r1, r0, #0
+ ldr r0, [sp, #0x40]
+ cmp r1, r0
+ beq _0225C032
+ cmp r3, r0
+ beq _0225C04A
+_0225C032:
+ mov r1, #0
+ ldr r0, [sp, #0x34]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0225C044
+ cmp r3, r1
+ beq _0225C044
+ str r3, [sp, #0x34]
+ b _0225C04A
+_0225C044:
+ mov r0, #2
+ str r3, [sp, #0x40]
+ str r0, [sp, #0x20]
+_0225C04A:
+ ldr r0, [sp, #0x30]
+ cmp r0, r4
+ beq _0225C074
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ beq _0225C05C
+ cmp r4, r1
+ beq _0225C074
+_0225C05C:
+ mov r1, #0
+ ldr r0, [sp, #0x30]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0225C06E
+ cmp r4, r1
+ beq _0225C06E
+ str r4, [sp, #0x30]
+ b _0225C074
+_0225C06E:
+ mov r0, #3
+ str r4, [sp, #0x40]
+ str r0, [sp, #0x20]
+_0225C074:
+ mov r1, #0
+ ldr r0, [sp, #0x38]
+ mvn r1, r1
+ cmp r0, r1
+ beq _0225C082
+ cmp r5, r1
+ beq _0225C096
+_0225C082:
+ mov r1, #0
+ ldr r0, [sp, #0x38]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0225C094
+ cmp r5, r1
+ beq _0225C094
+ str r5, [sp, #0x38]
+ b _0225C096
+_0225C094:
+ str r2, [sp, #0x3c]
+_0225C096:
+ mov r1, #0
+ mvn r1, r1
+ cmp r2, r1
+ beq _0225C0A8
+ ldr r0, [sp, #0x2c]
+ cmp r0, r1
+ bne _0225C0A8
+ str r2, [sp, #0x2c]
+ b _0225C0C6
+_0225C0A8:
+ mov r1, #0
+ mvn r1, r1
+ cmp r2, r1
+ bne _0225C0B6
+ ldr r0, [sp, #0x2c]
+ cmp r0, r1
+ bne _0225C0C6
+_0225C0B6:
+ ldr r0, [sp, #0x2c]
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x20]
+ cmp r0, #2
+ bne _0225C0C4
+ str r2, [sp, #0x24]
+ b _0225C0C6
+_0225C0C4:
+ str r2, [sp, #0x28]
+_0225C0C6:
+ ldr r0, [sp, #0x18]
+ cmp r0, #1
+ beq _0225C0CE
+ b _0225C236
+_0225C0CE:
+ ldr r0, [sp, #0x44]
+ cmp r0, #0
+ bne _0225C17A
+ ldr r0, [sp, #0x1c]
+ mov r1, #6
+ ldrsb r1, [r0, r1]
+ mov r0, #0x6a
+ lsl r0, r0, #4
+ ldrb r0, [r6, r0]
+ cmp r1, r0
+ bne _0225C0F6
+ ldr r0, [sp, #0x1c]
+ mov r1, #4
+ ldrsb r0, [r0, r1]
+ mov r1, #5
+ strb r0, [r7, #2]
+ ldr r0, [sp, #0x1c]
+ ldrsb r0, [r0, r1]
+ strb r0, [r7, #1]
+ b _0225C12C
+_0225C0F6:
+ add r0, sp, #0x50
+ ldrb r1, [r0, #0xd]
+ cmp r1, #1
+ bne _0225C106
+ mov r0, #0
+ strb r0, [r7, #2]
+ strb r0, [r7, #1]
+ b _0225C12C
+_0225C106:
+ ldrb r1, [r0, #0xb]
+ cmp r1, #1
+ bne _0225C116
+ mov r0, #1
+ strb r0, [r7, #2]
+ mov r0, #0
+ strb r0, [r7, #1]
+ b _0225C12C
+_0225C116:
+ ldrb r0, [r0, #0xa]
+ cmp r0, #1
+ bne _0225C126
+ mov r0, #0
+ strb r0, [r7, #2]
+ mov r0, #1
+ strb r0, [r7, #1]
+ b _0225C12C
+_0225C126:
+ mov r0, #1
+ strb r0, [r7, #2]
+ strb r0, [r7, #1]
+_0225C12C:
+ mov r0, #1
+ ldrsb r0, [r7, r0]
+ ldr r2, _0225C13C ; =0x0225F690
+ b _0225C140
+ .align 2, 0
+_0225C134: .word 0x0000069E
+_0225C138: .word 0x0225FAAC
+_0225C13C: .word 0x0225F690
+_0225C140:
+ lsl r3, r0, #1
+ mov r0, #2
+ ldrsb r1, [r7, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [sp, #0x48]
+ lsl r3, r1, #2
+ ldr r0, [r0, #0x14]
+ ldr r1, [sp, #0x48]
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r1, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ b _0225C22E
+_0225C17A:
+ mov r2, #0
+ strb r2, [r7, #2]
+ ldr r0, [sp, #0x24]
+ sub r1, r2, #1
+ strb r2, [r7, #1]
+ cmp r0, r1
+ bne _0225C18E
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ beq _0225C198
+_0225C18E:
+ mov r1, #0
+ ldr r0, [sp, #0x40]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0225C1B2
+_0225C198:
+ ldr r0, [sp, #0x2c]
+ ldr r1, [sp, #0x34]
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r2, [sp, #0x30]
+ ldr r0, [r6, r0]
+ ldr r3, [sp, #0x38]
+ bl MOD11_0225D5FC
+ b _0225C210
+_0225C1B2:
+ ldr r0, [sp, #0x24]
+ cmp r0, r1
+ beq _0225C1E8
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _0225C1E8
+ ldr r0, [sp, #0x38]
+ ldr r1, [sp, #0x34]
+ str r0, [sp]
+ ldr r0, [sp, #0x34]
+ ldr r2, [sp, #0x38]
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x24]
+ ldr r3, [sp, #0x30]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x2c]
+ str r0, [sp, #0x10]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D52C
+ b _0225C210
+_0225C1E8:
+ ldr r0, [sp, #0x38]
+ ldr r1, [sp, #0x34]
+ str r0, [sp]
+ ldr r0, [sp, #0x34]
+ ldr r2, [sp, #0x38]
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x2c]
+ ldr r3, [sp, #0x30]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x28]
+ str r0, [sp, #0x10]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D52C
+_0225C210:
+ mov r1, #0
+ ldr r0, [sp, #0x40]
+ mvn r1, r1
+ cmp r0, r1
+ beq _0225C22E
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r1, [sp, #0x40]
+ ldr r0, [r6, r0]
+ ldr r2, [sp, #0x3c]
+ ldr r3, [sp, #0x20]
+ bl MOD11_0225D620
+_0225C22E:
+ mov r0, #0
+ add sp, #0x60
+ mvn r0, r0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C236:
+ ldr r0, [sp, #0x44]
+ cmp r0, #0
+ bne _0225C24A
+ ldr r2, [sp, #0x4c]
+ add r0, r7, #0
+ mov r1, ip
+ add r3, sp, #0x50
+ bl MOD11_0225C574
+ b _0225C256
+_0225C24A:
+ ldr r2, [sp, #0x4c]
+ add r0, r7, #0
+ mov r1, ip
+ mov r3, #0
+ bl MOD11_0225C574
+_0225C256:
+ cmp r0, #0x20
+ bhi _0225C276
+ bhs _0225C284
+ cmp r0, #2
+ bhi _0225C270
+ cmp r0, #1
+ blo _0225C26E
+ bne _0225C268
+ b _0225C3BE
+_0225C268:
+ cmp r0, #2
+ bne _0225C26E
+ b _0225C40A
+_0225C26E:
+ b _0225C410
+_0225C270:
+ cmp r0, #0x10
+ beq _0225C284
+ b _0225C410
+_0225C276:
+ cmp r0, #0x40
+ bhi _0225C27E
+ beq _0225C284
+ b _0225C410
+_0225C27E:
+ cmp r0, #0x80
+ beq _0225C284
+ b _0225C410
+_0225C284:
+ ldr r0, [sp, #0x44]
+ cmp r0, #0
+ bne _0225C2CA
+ mov r0, #1
+ ldrsb r0, [r7, r0]
+ ldr r2, _0225C41C ; =0x0225F690
+ lsl r3, r0, #1
+ mov r0, #2
+ ldrsb r1, [r7, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [sp, #0x48]
+ lsl r3, r1, #2
+ ldr r0, [r0, #0x14]
+ ldr r1, [sp, #0x48]
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r1, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ b _0225C410
+_0225C2CA:
+ mov r2, #1
+ ldrsb r0, [r7, r2]
+ cmp r0, #0
+ bne _0225C38C
+ ldr r0, [sp, #0x28]
+ sub r1, r2, #2
+ cmp r0, r1
+ bne _0225C2E0
+ ldr r0, [sp, #0x24]
+ cmp r0, r1
+ beq _0225C2EA
+_0225C2E0:
+ mov r1, #0
+ ldr r0, [sp, #0x40]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0225C304
+_0225C2EA:
+ ldr r0, [sp, #0x2c]
+ ldr r1, [sp, #0x34]
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r2, [sp, #0x30]
+ ldr r0, [r6, r0]
+ ldr r3, [sp, #0x38]
+ bl MOD11_0225D5FC
+ b _0225C362
+_0225C304:
+ ldr r0, [sp, #0x24]
+ cmp r0, r1
+ beq _0225C33A
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _0225C33A
+ ldr r0, [sp, #0x38]
+ ldr r1, [sp, #0x34]
+ str r0, [sp]
+ ldr r0, [sp, #0x34]
+ ldr r2, [sp, #0x38]
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x24]
+ ldr r3, [sp, #0x30]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x2c]
+ str r0, [sp, #0x10]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D52C
+ b _0225C362
+_0225C33A:
+ ldr r0, [sp, #0x38]
+ ldr r1, [sp, #0x34]
+ str r0, [sp]
+ ldr r0, [sp, #0x34]
+ ldr r2, [sp, #0x38]
+ str r0, [sp, #4]
+ ldr r0, [sp, #0x2c]
+ ldr r3, [sp, #0x30]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x28]
+ str r0, [sp, #0x10]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D52C
+_0225C362:
+ mov r1, #0
+ ldr r0, [sp, #0x40]
+ mvn r1, r1
+ cmp r0, r1
+ beq _0225C382
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r1, [sp, #0x40]
+ ldr r0, [r6, r0]
+ ldr r2, [sp, #0x3c]
+ ldr r3, [sp, #0x20]
+ bl MOD11_0225D620
+ b _0225C410
+_0225C382:
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D664
+ b _0225C410
+_0225C38C:
+ ldr r0, [sp, #0x48]
+ ldr r1, [sp, #0x48]
+ ldr r0, [r0, #0x14]
+ ldrb r0, [r0, #0x11]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r3, [r1, #0x14]
+ ldr r0, _0225C418 ; =0x000006EC
+ ldrb r1, [r3, #0x12]
+ ldrb r2, [r3, #0x13]
+ ldrb r3, [r3, #0x10]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ ldr r0, _0225C418 ; =0x000006EC
+ ldr r0, [r6, r0]
+ bl MOD11_0225D664
+ b _0225C410
+_0225C3BE:
+ ldr r0, [sp, #0x44]
+ cmp r0, #1
+ bne _0225C3E8
+ mov r0, #1
+ ldrsb r0, [r7, r0]
+ cmp r0, #0
+ ble _0225C3D2
+ add sp, #0x60
+ mov r0, #4
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C3D2:
+ add r2, sp, #0x58
+ mov r0, #0
+ add r2, #2
+ b _0225C3E2
+_0225C3DA:
+ ldrb r1, [r2, r0]
+ cmp r1, #1
+ beq _0225C414
+ add r0, r0, #1
+_0225C3E2:
+ cmp r0, #4
+ blt _0225C3DA
+ b _0225C410
+_0225C3E8:
+ mov r0, #1
+ ldrsb r0, [r7, r0]
+ ldr r2, _0225C41C ; =0x0225F690
+ lsl r3, r0, #1
+ mov r0, #2
+ ldrsb r1, [r7, r0]
+ add r0, r2, r3
+ ldrb r0, [r1, r0]
+ cmp r0, #4
+ beq _0225C414
+ add r1, sp, #0x58
+ add r1, #2
+ ldrb r1, [r1, r0]
+ cmp r1, #1
+ bne _0225C410
+ add sp, #0x60
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C40A:
+ add sp, #0x60
+ mov r0, #4
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C410:
+ mov r0, #0
+ mvn r0, r0
+_0225C414:
+ add sp, #0x60
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225C418: .word 0x000006EC
+_0225C41C: .word 0x0225F690
+
+ thumb_func_start MOD11_0225C420
+MOD11_0225C420: ; 0x0225C420
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ cmp r4, #4
+ beq _0225C470
+ ldr r1, _0225C474 ; =0x0000069E
+ ldr r0, [r5]
+ ldrb r1, [r5, r1]
+ bl MOD11_0223022C
+ add r1, r0, #0
+ ldr r0, [r5]
+ bl MOD11_0222FF7C
+ bl MOD11_02253A74
+ mov r1, #0x6a
+ lsl r1, r1, #4
+ ldrb r1, [r5, r1]
+ mov r3, #0
+ ldr r7, _0225C478 ; =0x0225F690
+ strb r1, [r0, #6]
+ add r1, r3, #0
+ b _0225C46C
+_0225C450:
+ lsl r5, r3, #1
+ add r2, r1, #0
+ add r6, r7, r5
+ b _0225C466
+_0225C458:
+ ldrb r5, [r2, r6]
+ cmp r4, r5
+ bne _0225C464
+ strb r2, [r0, #4]
+ strb r3, [r0, #5]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C464:
+ add r2, r2, #1
+_0225C466:
+ cmp r2, #2
+ blt _0225C458
+ add r3, r3, #1
+_0225C46C:
+ cmp r3, #3
+ blt _0225C450
+_0225C470:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225C474: .word 0x0000069E
+_0225C478: .word 0x0225F690
+
+ thumb_func_start MOD11_0225C47C
+MOD11_0225C47C: ; 0x0225C47C
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ add r6, r0, #0
+ mov r0, #0x6f
+ lsl r0, r0, #4
+ add r3, r0, #0
+ sub r3, #0x51
+ ldrsb r5, [r6, r3]
+ mov r3, #0x30
+ ldr r2, _0225C568 ; =0x0225FAAC
+ mul r3, r5
+ add r4, r6, r0
+ add r5, r2, r3
+ cmp r1, #1
+ bne _0225C4DA
+ mov r1, #1
+ ldrsb r2, [r4, r1]
+ mov r3, #2
+ ldr r1, _0225C56C ; =0x0225F684
+ ldrsb r3, [r4, r3]
+ add r1, r1, r2
+ sub r0, r0, #4
+ ldrb r2, [r3, r1]
+ ldr r1, [r5, #0x14]
+ lsl r3, r2, #2
+ add r1, r1, r3
+ ldrb r1, [r1, #1]
+ sub r1, #8
+ str r1, [sp]
+ mov r1, #0x11
+ lsl r1, r1, #0x10
+ str r1, [sp, #4]
+ ldr r4, [r5, #0x14]
+ ldr r0, [r6, r0]
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ mov r0, #0
+ add sp, #8
+ mvn r0, r0
+ pop {r4, r5, r6, pc}
+_0225C4DA:
+ ldr r3, _0225C56C ; =0x0225F684
+ add r0, r4, #0
+ mov r1, #1
+ mov r2, #2
+ bl MOD11_0225C574
+ cmp r0, #0x20
+ bhi _0225C502
+ bhs _0225C50E
+ cmp r0, #2
+ bhi _0225C4FC
+ cmp r0, #1
+ blo _0225C560
+ beq _0225C548
+ cmp r0, #2
+ beq _0225C55A
+ b _0225C560
+_0225C4FC:
+ cmp r0, #0x10
+ beq _0225C50E
+ b _0225C560
+_0225C502:
+ cmp r0, #0x40
+ bhi _0225C50A
+ beq _0225C50E
+ b _0225C560
+_0225C50A:
+ cmp r0, #0x80
+ bne _0225C560
+_0225C50E:
+ mov r0, #1
+ ldrsb r3, [r4, r0]
+ mov r0, #2
+ ldr r2, _0225C56C ; =0x0225F684
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ ldrb r1, [r1, r0]
+ ldr r0, [r5, #0x14]
+ lsl r3, r1, #2
+ add r0, r0, r3
+ ldrb r0, [r0, #1]
+ sub r0, #8
+ str r0, [sp]
+ mov r0, #0x11
+ lsl r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r4, [r5, #0x14]
+ ldr r0, _0225C570 ; =0x000006EC
+ add r2, r4, r3
+ ldrb r1, [r2, #2]
+ ldrb r2, [r2, #3]
+ ldrb r3, [r4, r3]
+ ldr r0, [r6, r0]
+ add r1, #8
+ sub r2, #8
+ add r3, #8
+ bl MOD11_0225D5FC
+ b _0225C560
+_0225C548:
+ mov r0, #1
+ ldrsb r3, [r4, r0]
+ mov r0, #2
+ ldr r2, _0225C56C ; =0x0225F684
+ ldrsb r1, [r4, r0]
+ add r0, r2, r3
+ add sp, #8
+ ldrb r0, [r1, r0]
+ pop {r4, r5, r6, pc}
+_0225C55A:
+ add sp, #8
+ mov r0, #1
+ pop {r4, r5, r6, pc}
+_0225C560:
+ mov r0, #0
+ mvn r0, r0
+ add sp, #8
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+_0225C568: .word 0x0225FAAC
+_0225C56C: .word 0x0225F684
+_0225C570: .word 0x000006EC
+
+ thumb_func_start MOD11_0225C574
+MOD11_0225C574: ; 0x0225C574
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ mov r1, #2
+ ldrsb r1, [r0, r1]
+ add r6, r2, #0
+ add r2, r3, #0
+ cmp r1, r4
+ blt _0225C588
+ sub r1, r4, #1
+ strb r1, [r0, #2]
+_0225C588:
+ mov r1, #1
+ ldrsb r1, [r0, r1]
+ cmp r1, r6
+ blt _0225C594
+ sub r1, r6, #1
+ strb r1, [r0, #1]
+_0225C594:
+ mov r7, #2
+ ldrsb r1, [r0, r7]
+ mov r5, #1
+ mov r3, #0x40
+ str r1, [sp]
+ ldrsb r1, [r0, r5]
+ mov ip, r1
+ ldr r1, _0225C764 ; =0x021C48B8
+ ldr r1, [r1, #0x48]
+ tst r3, r1
+ beq _0225C5FA
+ mov r1, ip
+ sub r1, r1, #1
+ strb r1, [r0, #1]
+ ldrsb r1, [r0, r5]
+ cmp r1, #0
+ bge _0225C5BA
+ mov r1, #0
+ strb r1, [r0, #1]
+_0225C5BA:
+ cmp r2, #0
+ beq _0225C5F6
+ mov r3, #1
+ mov r1, #2
+ ldrsb r3, [r0, r3]
+ ldrsb r1, [r0, r1]
+ mul r3, r4
+ add r1, r1, r3
+ ldrb r1, [r2, r1]
+ cmp r1, #0xff
+ bne _0225C5F6
+ add r1, r0, #1
+ mov r7, #0
+ mov r6, #1
+_0225C5D6:
+ ldrsb r3, [r1, r7]
+ sub r3, r3, #1
+ strb r3, [r1]
+ ldrsb r3, [r0, r6]
+ cmp r3, #0
+ bge _0225C5E8
+ mov r1, ip
+ strb r1, [r0, #1]
+ b _0225C5F6
+_0225C5E8:
+ mov r5, #2
+ ldrsb r5, [r0, r5]
+ mul r3, r4
+ add r5, r2, r5
+ ldrb r3, [r3, r5]
+ cmp r3, #0xff
+ beq _0225C5D6
+_0225C5F6:
+ mov r5, #0x40
+ b _0225C70E
+_0225C5FA:
+ mov r3, #0x80
+ tst r3, r1
+ beq _0225C650
+ mov r1, ip
+ add r1, r1, #1
+ strb r1, [r0, #1]
+ ldrsb r1, [r0, r5]
+ cmp r1, r6
+ blt _0225C610
+ sub r1, r6, #1
+ strb r1, [r0, #1]
+_0225C610:
+ cmp r2, #0
+ beq _0225C64C
+ mov r3, #1
+ mov r1, #2
+ ldrsb r3, [r0, r3]
+ ldrsb r1, [r0, r1]
+ mul r3, r4
+ add r1, r1, r3
+ ldrb r1, [r2, r1]
+ cmp r1, #0xff
+ bne _0225C64C
+ add r1, r0, #1
+ mov r7, #1
+_0225C62A:
+ mov r3, #0
+ ldrsb r3, [r1, r3]
+ add r3, r3, #1
+ strb r3, [r1]
+ ldrsb r3, [r0, r7]
+ cmp r3, r6
+ blt _0225C63E
+ mov r1, ip
+ strb r1, [r0, #1]
+ b _0225C64C
+_0225C63E:
+ mov r5, #2
+ ldrsb r5, [r0, r5]
+ mul r3, r4
+ add r5, r2, r5
+ ldrb r3, [r3, r5]
+ cmp r3, #0xff
+ beq _0225C62A
+_0225C64C:
+ mov r5, #0x80
+ b _0225C70E
+_0225C650:
+ mov r3, #0x20
+ tst r3, r1
+ beq _0225C6A6
+ ldr r1, [sp]
+ sub r1, r1, #1
+ strb r1, [r0, #2]
+ ldrsb r1, [r0, r7]
+ cmp r1, #0
+ bge _0225C666
+ mov r1, #0
+ strb r1, [r0, #2]
+_0225C666:
+ cmp r2, #0
+ beq _0225C6A2
+ mov r3, #1
+ mov r1, #2
+ ldrsb r3, [r0, r3]
+ ldrsb r1, [r0, r1]
+ mul r3, r4
+ add r1, r1, r3
+ ldrb r1, [r2, r1]
+ cmp r1, #0xff
+ bne _0225C6A2
+ add r5, r0, #2
+ mov r7, #0
+ mov r6, #2
+_0225C682:
+ ldrsb r1, [r5, r7]
+ sub r1, r1, #1
+ strb r1, [r5]
+ ldrsb r3, [r0, r6]
+ cmp r3, #0
+ bge _0225C694
+ ldr r1, [sp]
+ strb r1, [r0, #2]
+ b _0225C6A2
+_0225C694:
+ mov r1, #1
+ ldrsb r1, [r0, r1]
+ add r3, r2, r3
+ mul r1, r4
+ ldrb r1, [r1, r3]
+ cmp r1, #0xff
+ beq _0225C682
+_0225C6A2:
+ mov r5, #0x20
+ b _0225C70E
+_0225C6A6:
+ mov r3, #0x10
+ tst r3, r1
+ beq _0225C6FC
+ ldr r1, [sp]
+ add r1, r1, #1
+ strb r1, [r0, #2]
+ ldrsb r1, [r0, r7]
+ cmp r1, r4
+ blt _0225C6BC
+ sub r1, r4, #1
+ strb r1, [r0, #2]
+_0225C6BC:
+ cmp r2, #0
+ beq _0225C6F8
+ mov r3, #1
+ mov r1, #2
+ ldrsb r3, [r0, r3]
+ ldrsb r1, [r0, r1]
+ mul r3, r4
+ add r1, r1, r3
+ ldrb r1, [r2, r1]
+ cmp r1, #0xff
+ bne _0225C6F8
+ add r5, r0, #2
+ mov r7, #0
+ mov r6, #2
+_0225C6D8:
+ ldrsb r1, [r5, r7]
+ add r1, r1, #1
+ strb r1, [r5]
+ ldrsb r3, [r0, r6]
+ cmp r3, r4
+ blt _0225C6EA
+ ldr r1, [sp]
+ strb r1, [r0, #2]
+ b _0225C6F8
+_0225C6EA:
+ mov r1, #1
+ ldrsb r1, [r0, r1]
+ add r3, r2, r3
+ mul r1, r4
+ ldrb r1, [r1, r3]
+ cmp r1, #0xff
+ beq _0225C6D8
+_0225C6F8:
+ mov r5, #0x10
+ b _0225C70E
+_0225C6FC:
+ add r3, r1, #0
+ tst r3, r5
+ bne _0225C70E
+ tst r1, r7
+ beq _0225C70A
+ add r5, r7, #0
+ b _0225C70E
+_0225C70A:
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C70E:
+ cmp r2, #0
+ beq _0225C738
+ mov r1, ip
+ add r3, r4, #0
+ mul r3, r1
+ ldr r1, [sp]
+ add r1, r1, r3
+ mov r3, #2
+ ldrsb r6, [r0, r3]
+ mov r3, #1
+ ldrsb r3, [r0, r3]
+ ldrb r1, [r2, r1]
+ mul r3, r4
+ add r3, r6, r3
+ ldrb r2, [r2, r3]
+ cmp r1, r2
+ bne _0225C738
+ ldr r1, [sp]
+ strb r1, [r0, #2]
+ mov r1, ip
+ strb r1, [r0, #1]
+_0225C738:
+ mov r1, #2
+ ldrsb r2, [r0, r1]
+ ldr r1, [sp]
+ cmp r2, r1
+ bne _0225C74C
+ mov r1, #1
+ ldrsb r1, [r0, r1]
+ mov r0, ip
+ cmp r1, r0
+ beq _0225C754
+_0225C74C:
+ ldr r0, _0225C768 ; =0x000005DC
+ bl FUN_020054C8
+ b _0225C75E
+_0225C754:
+ mov r0, #0xf0
+ tst r0, r5
+ beq _0225C75E
+ mov r0, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_0225C75E:
+ add r0, r5, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225C764: .word 0x021C48B8
+_0225C768: .word 0x000005DC
+
+ thumb_func_start MOD11_0225C76C
+MOD11_0225C76C: ; 0x0225C76C
+ ldr r1, _0225C774 ; =0x000006F4
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0225C774: .word 0x000006F4
+
+ thumb_func_start MOD11_0225C778
+MOD11_0225C778: ; 0x0225C778
+ ldr r2, _0225C780 ; =0x000006F4
+ strb r1, [r0, r2]
+ bx lr
+ nop
+_0225C780: .word 0x000006F4
+
+ thumb_func_start MOD11_0225C784
+MOD11_0225C784: ; 0x0225C784
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4]
+ bl MOD11_02230078
+ ldr r0, [r4]
+ bl MOD11_02230080
+ ldr r0, [r4]
+ bl MOD11_022300CC
+ ldr r0, [r4]
+ bl MOD11_02231268
+ cmp r0, #0
+ bne _0225C7C0
+ ldr r0, _0225C7E4 ; =0x000006FC
+ ldrb r0, [r4, r0]
+ cmp r0, #2
+ blo _0225C7B0
+ bl ErrorHandling
+_0225C7B0:
+ ldr r1, _0225C7E4 ; =0x000006FC
+ add r0, r4, #0
+ ldrb r1, [r4, r1]
+ lsl r2, r1, #2
+ ldr r1, _0225C7E8 ; =0x0225F6B8
+ ldr r1, [r1, r2]
+ blx r1
+ b _0225C7C6
+_0225C7C0:
+ add r0, r4, #0
+ bl MOD11_0225C8A0
+_0225C7C6:
+ mov r1, #0
+ mvn r1, r1
+ cmp r0, r1
+ beq _0225C7E2
+ ldr r1, _0225C7EC ; =0x000006FD
+ mov r3, #0
+ strb r3, [r4, r1]
+ add r2, r1, #1
+ strb r3, [r4, r2]
+ sub r2, r1, #1
+ ldrb r2, [r4, r2]
+ sub r1, r1, #1
+ add r2, r2, #1
+ strb r2, [r4, r1]
+_0225C7E2:
+ pop {r4, pc}
+ .align 2, 0
+_0225C7E4: .word 0x000006FC
+_0225C7E8: .word 0x0225F6B8
+_0225C7EC: .word 0x000006FD
+
+ thumb_func_start MOD11_0225C7F0
+MOD11_0225C7F0: ; 0x0225C7F0
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _0225C840 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ cmp r1, #0
+ bne _0225C820
+ sub r0, r0, #5
+ mov r3, #0x11
+ ldr r0, [r4, r0]
+ mov r1, #0x80
+ mov r2, #0x3c
+ lsl r3, r3, #0x10
+ bl MOD11_0225D7D0
+ ldr r0, _0225C844 ; =0x000006F8
+ mov r1, #0x3c
+ ldr r0, [r4, r0]
+ bl MOD11_0225D820
+ ldr r0, _0225C840 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0225C838
+_0225C820:
+ sub r0, r0, #5
+ ldr r0, [r4, r0]
+ bl MOD11_0225D824
+ cmp r0, #1
+ bne _0225C838
+ ldr r0, _0225C840 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ mov r0, #0
+ pop {r4, pc}
+_0225C838:
+ mov r0, #0
+ mvn r0, r0
+ pop {r4, pc}
+ nop
+_0225C840: .word 0x000006FD
+_0225C844: .word 0x000006F8
+
+ thumb_func_start MOD11_0225C848
+MOD11_0225C848: ; 0x0225C848
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _0225C898 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ cmp r1, #0
+ bne _0225C878
+ sub r0, r0, #5
+ mov r3, #0x11
+ ldr r0, [r4, r0]
+ mov r1, #0x40
+ mov r2, #0x16
+ lsl r3, r3, #0x10
+ bl MOD11_0225D7D0
+ ldr r0, _0225C89C ; =0x000006F8
+ mov r1, #0x3c
+ ldr r0, [r4, r0]
+ bl MOD11_0225D820
+ ldr r0, _0225C898 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0225C890
+_0225C878:
+ sub r0, r0, #5
+ ldr r0, [r4, r0]
+ bl MOD11_0225D824
+ cmp r0, #1
+ bne _0225C890
+ ldr r0, _0225C898 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ mov r0, #1
+ pop {r4, pc}
+_0225C890:
+ mov r0, #0
+ mvn r0, r0
+ pop {r4, pc}
+ nop
+_0225C898: .word 0x000006FD
+_0225C89C: .word 0x000006F8
+
+ thumb_func_start MOD11_0225C8A0
+MOD11_0225C8A0: ; 0x0225C8A0
+ push {r4, lr}
+ ldr r1, _0225C914 ; =0x000006FD
+ add r4, r0, #0
+ ldrb r0, [r4, r1]
+ cmp r0, #0
+ beq _0225C8B2
+ cmp r0, #1
+ beq _0225C8D0
+ b _0225C8F4
+_0225C8B2:
+ add r0, r1, #1
+ ldrb r0, [r4, r0]
+ add r2, r0, #1
+ add r0, r1, #1
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r0]
+ cmp r0, #0x3c
+ bls _0225C90C
+ mov r2, #0
+ add r0, r1, #1
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r1]
+ add r0, r0, #1
+ strb r0, [r4, r1]
+ b _0225C90C
+_0225C8D0:
+ sub r0, r1, #5
+ mov r3, #0x11
+ ldr r0, [r4, r0]
+ mov r1, #0x28
+ mov r2, #0x92
+ lsl r3, r3, #0x10
+ bl MOD11_0225D7D0
+ ldr r0, _0225C918 ; =0x000006F8
+ mov r1, #0x3c
+ ldr r0, [r4, r0]
+ bl MOD11_0225D820
+ ldr r0, _0225C914 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ b _0225C90C
+_0225C8F4:
+ sub r0, r1, #5
+ ldr r0, [r4, r0]
+ bl MOD11_0225D824
+ cmp r0, #1
+ bne _0225C90C
+ ldr r0, _0225C914 ; =0x000006FD
+ ldrb r1, [r4, r0]
+ add r1, r1, #1
+ strb r1, [r4, r0]
+ mov r0, #1
+ pop {r4, pc}
+_0225C90C:
+ mov r0, #0
+ mvn r0, r0
+ pop {r4, pc}
+ nop
+_0225C914: .word 0x000006FD
+_0225C918: .word 0x000006F8
+
+ thumb_func_start MOD11_0225C91C
+MOD11_0225C91C: ; 0x0225C91C
+ push {r3, r4, r5, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x4a
+ str r0, [sp, #4]
+ mov r0, #0
+ add r4, r1, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _0225C990 ; =0x00004E41
+ mov r1, #2
+ str r0, [sp, #0x14]
+ add r0, r2, #0
+ add r2, r5, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ mov r0, #1
+ str r0, [sp]
+ str r0, [sp, #4]
+ ldr r0, _0225C994 ; =0x00004FB9
+ mov r2, #0x1b
+ add r3, r2, #0
+ str r0, [sp, #8]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, #0xf9
+ bl FUN_0200C00C
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _0225C998 ; =0x00004FB3
+ mov r2, #0x1b
+ add r3, r2, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, #0xfa
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, _0225C99C ; =0x00004FA8
+ mov r2, #0x1b
+ add r3, r2, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ add r3, #0xfb
+ bl FUN_0200C13C
+ add sp, #0x18
+ pop {r3, r4, r5, pc}
+ nop
+_0225C990: .word 0x00004E41
+_0225C994: .word 0x00004FB9
+_0225C998: .word 0x00004FB3
+_0225C99C: .word 0x00004FA8
+
+ thumb_func_start MOD11_0225C9A0
+MOD11_0225C9A0: ; 0x0225C9A0
+ push {r4, lr}
+ ldr r1, _0225C9C4 ; =0x00004FB9
+ add r4, r0, #0
+ bl FUN_0200C358
+ ldr r1, _0225C9C8 ; =0x00004E41
+ add r0, r4, #0
+ bl FUN_0200C368
+ ldr r1, _0225C9CC ; =0x00004FB3
+ add r0, r4, #0
+ bl FUN_0200C378
+ ldr r1, _0225C9D0 ; =0x00004FA8
+ add r0, r4, #0
+ bl FUN_0200C388
+ pop {r4, pc}
+ .align 2, 0
+_0225C9C4: .word 0x00004FB9
+_0225C9C8: .word 0x00004E41
+_0225C9CC: .word 0x00004FB3
+_0225C9D0: .word 0x00004FA8
+
+ thumb_func_start MOD11_0225C9D4
+MOD11_0225C9D4: ; 0x0225C9D4
+ push {r4, lr}
+ mov r0, #5
+ lsl r1, r0, #6
+ bl FUN_02016998
+ mov r2, #5
+ mov r1, #0
+ lsl r2, r2, #6
+ add r4, r0, #0
+ blx MI_CpuFill8
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225C9F0
+MOD11_0225C9F0: ; 0x0225C9F0
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ beq _0225C9FE
+ bl ErrorHandling
+_0225C9FE:
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225CA08
+MOD11_0225CA08: ; 0x0225CA08
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x38]
+ str r3, [sp, #0x1c]
+ str r0, [sp, #0x38]
+ add r6, r1, #0
+ str r2, [sp, #0x18]
+ ldr r7, [sp, #0x3c]
+ bl MOD11_0225C9D4
+ ldr r2, [sp, #0x1c]
+ ldr r3, [sp, #0x38]
+ add r1, r6, #0
+ str r0, [sp, #0x20]
+ str r7, [sp]
+ bl MOD11_0225CB10
+ ldr r5, [sp, #0x20]
+ mov r4, #0
+ add r5, #0x1c
+_0225CA32:
+ ldr r0, [sp, #0x14]
+ add r1, r6, #0
+ ldrb r0, [r0, r4]
+ bl MOD11_0225D374
+ ldr r1, [sp, #0x1c]
+ ldr r2, [sp, #0x20]
+ str r1, [sp]
+ str r4, [sp, #4]
+ str r0, [sp, #8]
+ ldr r0, [sp, #0x38]
+ mov r1, #0x4f
+ str r0, [sp, #0xc]
+ lsl r1, r1, #2
+ add r1, r2, r1
+ ldr r3, [sp, #0x18]
+ add r0, r5, #0
+ add r2, r6, #0
+ str r7, [sp, #0x10]
+ bl MOD11_0225CDB0
+ add r4, r4, #1
+ add r5, #0x30
+ cmp r4, #6
+ blt _0225CA32
+ ldr r0, [sp, #0x20]
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225CA6C
+MOD11_0225CA6C: ; 0x0225CA6C
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ bne _0225CA8A
+ mov r2, #0
+_0225CA74:
+ ldr r1, [r0, #0x20]
+ cmp r1, #0
+ bne _0225CA82
+ add r2, r2, #1
+ add r0, #0x30
+ cmp r2, #6
+ blt _0225CA74
+_0225CA82:
+ cmp r2, #6
+ bne _0225CA8A
+ mov r0, #1
+ bx lr
+_0225CA8A:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0225CA90
+MOD11_0225CA90: ; 0x0225CA90
+ push {r3, r4, r5, r6, r7, lr}
+ add r6, r0, #0
+ add r4, r1, #0
+ add r7, r2, #0
+ cmp r6, #0
+ bne _0225CAA0
+ bl ErrorHandling
+_0225CAA0:
+ add r0, r6, #0
+ add r1, r4, #0
+ bl MOD11_0225CC68
+ add r5, r6, #0
+ mov r4, #0
+ add r5, #0x1c
+ add r6, #0x18
+_0225CAB0:
+ add r0, r5, #0
+ add r1, r4, #0
+ add r2, r7, #0
+ add r3, r6, #0
+ bl MOD11_0225D1A8
+ add r4, r4, #1
+ add r5, #0x30
+ cmp r4, #6
+ blt _0225CAB0
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225CAC8
+MOD11_0225CAC8: ; 0x0225CAC8
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ bne _0225CAE6
+ mov r2, #0
+_0225CAD0:
+ ldr r1, [r0, #0x20]
+ cmp r1, #0
+ bne _0225CADE
+ add r2, r2, #1
+ add r0, #0x30
+ cmp r2, #6
+ blt _0225CAD0
+_0225CADE:
+ cmp r2, #6
+ bne _0225CAE6
+ mov r0, #1
+ bx lr
+_0225CAE6:
+ mov r0, #0
+ bx lr
+ .align 2, 0
+
+ thumb_func_start MOD11_0225CAEC
+MOD11_0225CAEC: ; 0x0225CAEC
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ ldr r0, [r6]
+ bl FUN_0200C3DC
+ mov r4, #0
+ add r5, r6, #0
+_0225CAFA:
+ ldr r0, [r5, #0x1c]
+ bl FUN_0200C3DC
+ add r4, r4, #1
+ add r5, #0x30
+ cmp r4, #6
+ blt _0225CAFA
+ add r0, r6, #0
+ bl MOD11_0225C9F0
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0225CB10
+MOD11_0225CB10: ; 0x0225CB10
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r6, r1, #0
+ add r4, r2, #0
+ add r7, r3, #0
+ mov r1, #0
+ cmp r0, #0
+ bne _0225CB2A
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ bne _0225CB2A
+ mov r1, #1
+_0225CB2A:
+ cmp r1, #0
+ bne _0225CB32
+ bl ErrorHandling
+_0225CB32:
+ add r0, r5, #0
+ mov r1, #0
+ mov r2, #0x1c
+ blx MI_CpuFill8
+ ldr r1, [sp, #0x18]
+ ldr r2, _0225CBA8 ; =0x0225FE48
+ add r0, r7, #0
+ bl FUN_0200C154
+ str r0, [r5]
+ cmp r6, #0
+ ldr r0, [r5]
+ bne _0225CB68
+ ldr r2, _0225CBAC ; =0x0225FE38
+ lsl r3, r4, #1
+ ldrsh r2, [r2, r3]
+ mov r1, #0x16
+ lsl r1, r1, #4
+ bl FUN_0200C714
+ ldr r0, [r5]
+ mov r1, #8
+ ldr r0, [r0]
+ bl FUN_02020130
+ b _0225CB80
+_0225CB68:
+ ldr r2, _0225CBB0 ; =0x0225FE30
+ lsl r3, r4, #1
+ ldrsh r2, [r2, r3]
+ mov r1, #0x5f
+ mvn r1, r1
+ bl FUN_0200C714
+ ldr r0, [r5]
+ mov r1, #7
+ ldr r0, [r0]
+ bl FUN_02020130
+_0225CB80:
+ ldr r0, [r5]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ str r6, [r5, #0xc]
+ mov r2, #0x7d
+ str r4, [r5, #0x10]
+ mov r0, #0
+ strb r0, [r5, #0x1a]
+ ldr r0, _0225CBB4 ; =MOD11_0225CBBC
+ add r1, r5, #0
+ lsl r2, r2, #2
+ bl FUN_0200CA44
+ str r0, [r5, #4]
+ ldr r0, _0225CBB8 ; =0x00000711
+ bl FUN_020054C8
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225CBA8: .word 0x0225FE48
+_0225CBAC: .word 0x0225FE38
+_0225CBB0: .word 0x0225FE30
+_0225CBB4: .word MOD11_0225CBBC
+_0225CBB8: .word 0x00000711
+
+ thumb_func_start MOD11_0225CBBC
+MOD11_0225CBBC: ; 0x0225CBBC
+ push {r3, r4, lr}
+ sub sp, #4
+ add r4, r1, #0
+ ldrb r1, [r4, #0x1a]
+ cmp r1, #0
+ beq _0225CBCE
+ cmp r1, #1
+ beq _0225CBEA
+ b _0225CC52
+_0225CBCE:
+ add r1, sp, #0
+ ldr r0, [r4]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ add r1, sp, #0
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ lsl r0, r0, #8
+ str r0, [r4, #0x14]
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, #1
+ strb r0, [r4, #0x1a]
+_0225CBEA:
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ cmp r0, #0
+ bne _0225CC22
+ mov r0, #0xe
+ lsl r0, r0, #8
+ sub r2, r1, r0
+ lsl r1, r0, #4
+ str r2, [r4, #0x14]
+ cmp r2, r1
+ bgt _0225CC0A
+ lsl r0, r0, #4
+ str r0, [r4, #0x14]
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, #1
+ strb r0, [r4, #0x1a]
+_0225CC0A:
+ ldr r2, [r4, #0x10]
+ ldr r1, [r4, #0x14]
+ lsl r3, r2, #1
+ ldr r2, _0225CC60 ; =0x0225FE38
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ add sp, #4
+ pop {r3, r4, pc}
+_0225CC22:
+ mov r0, #0xe
+ lsl r0, r0, #8
+ add r1, r1, r0
+ mov r0, #2
+ lsl r0, r0, #0xc
+ str r1, [r4, #0x14]
+ cmp r1, r0
+ blt _0225CC3A
+ str r0, [r4, #0x14]
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, #1
+ strb r0, [r4, #0x1a]
+_0225CC3A:
+ ldr r2, [r4, #0x10]
+ ldr r1, [r4, #0x14]
+ lsl r3, r2, #1
+ ldr r2, _0225CC64 ; =0x0225FE30
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ add sp, #4
+ pop {r3, r4, pc}
+_0225CC52:
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #4]
+ add sp, #4
+ pop {r3, r4, pc}
+ nop
+_0225CC60: .word 0x0225FE38
+_0225CC64: .word 0x0225FE30
+
+ thumb_func_start MOD11_0225CC68
+MOD11_0225CC68: ; 0x0225CC68
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r4, r1, #0
+ cmp r0, #0
+ beq _0225CC7A
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ beq _0225CC7E
+_0225CC7A:
+ bl ErrorHandling
+_0225CC7E:
+ mov r0, #0
+ strb r0, [r5, #0x1a]
+ str r4, [r5, #8]
+ cmp r4, #0
+ bne _0225CC8C
+ mov r0, #4
+ b _0225CC8C
+_0225CC8C:
+ strb r0, [r5, #0x1b]
+ mov r2, #0x7d
+ ldr r0, _0225CCA0 ; =MOD11_0225CCA4
+ add r1, r5, #0
+ lsl r2, r2, #2
+ bl FUN_0200CA44
+ str r0, [r5, #4]
+ pop {r3, r4, r5, pc}
+ nop
+_0225CCA0: .word MOD11_0225CCA4
+
+ thumb_func_start MOD11_0225CCA4
+MOD11_0225CCA4: ; 0x0225CCA4
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ add r5, r0, #0
+ ldrb r0, [r4, #0x1a]
+ cmp r0, #0
+ beq _0225CCBC
+ cmp r0, #1
+ beq _0225CCFC
+ cmp r0, #2
+ beq _0225CD10
+ b _0225CD8E
+_0225CCBC:
+ add r1, sp, #4
+ ldr r0, [r4]
+ add r1, #2
+ add r2, sp, #4
+ bl FUN_0200C7A0
+ add r1, sp, #4
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ mov r1, #1
+ lsl r0, r0, #8
+ str r0, [r4, #0x14]
+ ldr r0, [r4]
+ bl FUN_0200C90C
+ mov r0, #1
+ lsl r0, r0, #0xc
+ strh r0, [r4, #0x18]
+ mov r0, #0x18
+ ldrsh r0, [r4, r0]
+ mov r1, #0
+ mov r2, #0x3f
+ asr r3, r0, #8
+ mov r0, #0x10
+ sub r0, r0, r3
+ str r0, [sp]
+ ldr r0, _0225CDA0 ; =0x04000050
+ blx G2x_SetBlendAlpha_
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, #1
+ strb r0, [r4, #0x1a]
+_0225CCFC:
+ ldrb r0, [r4, #0x1b]
+ cmp r0, #0
+ beq _0225CD0A
+ sub r0, r0, #1
+ add sp, #8
+ strb r0, [r4, #0x1b]
+ pop {r3, r4, r5, pc}
+_0225CD0A:
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, #1
+ strb r0, [r4, #0x1a]
+_0225CD10:
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ bne _0225CD54
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ cmp r0, #0
+ bne _0225CD3A
+ mov r0, #1
+ lsl r0, r0, #0xa
+ sub r1, r1, r0
+ str r1, [r4, #0x14]
+ ldr r2, [r4, #0x10]
+ lsl r1, r1, #8
+ lsl r3, r2, #1
+ ldr r2, _0225CDA4 ; =0x0225FE38
+ ldr r0, [r4]
+ ldrsh r2, [r2, r3]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ b _0225CD54
+_0225CD3A:
+ mov r0, #1
+ lsl r0, r0, #0xa
+ add r1, r1, r0
+ str r1, [r4, #0x14]
+ ldr r2, [r4, #0x10]
+ lsl r1, r1, #8
+ lsl r3, r2, #1
+ ldr r2, _0225CDA8 ; =0x0225FE30
+ ldr r0, [r4]
+ ldrsh r2, [r2, r3]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+_0225CD54:
+ mov r1, #0x18
+ ldrsh r2, [r4, r1]
+ add r0, r1, #0
+ add r0, #0xe8
+ sub r0, r2, r0
+ strh r0, [r4, #0x18]
+ ldrsh r0, [r4, r1]
+ cmp r0, #0
+ bgt _0225CD78
+ mov r1, #0
+ strh r1, [r4, #0x18]
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, #1
+ strb r0, [r4, #0x1a]
+_0225CD78:
+ mov r0, #0x18
+ ldrsh r0, [r4, r0]
+ add sp, #8
+ asr r1, r0, #8
+ mov r0, #0x10
+ sub r0, r0, r1
+ lsl r0, r0, #8
+ orr r1, r0
+ ldr r0, _0225CDAC ; =0x04000052
+ strh r1, [r0]
+ pop {r3, r4, r5, pc}
+_0225CD8E:
+ bl MOD11_02231678
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #4]
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0225CDA0: .word 0x04000050
+_0225CDA4: .word 0x0225FE38
+_0225CDA8: .word 0x0225FE30
+_0225CDAC: .word 0x04000052
+
+ thumb_func_start MOD11_0225CDB0
+MOD11_0225CDB0: ; 0x0225CDB0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r7, r1, #0
+ add r6, r2, #0
+ mov r1, #0
+ str r3, [sp]
+ ldr r4, [sp, #0x1c]
+ cmp r0, #0
+ bne _0225CDCC
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ bne _0225CDCC
+ mov r1, #1
+_0225CDCC:
+ cmp r1, #0
+ bne _0225CDD4
+ bl ErrorHandling
+_0225CDD4:
+ add r0, r5, #0
+ mov r1, #0
+ mov r2, #0x30
+ blx MI_CpuFill8
+ ldr r0, [sp, #0x24]
+ ldr r1, [sp, #0x28]
+ ldr r2, _0225CEA4 ; =0x0225FE7C
+ bl FUN_0200C154
+ str r0, [r5]
+ cmp r6, #0
+ ldr r0, [r5]
+ bne _0225CE02
+ ldr r2, [sp, #0x18]
+ mov r1, #0x45
+ lsl r3, r2, #1
+ ldr r2, _0225CEA8 ; =0x0225FE40
+ lsl r1, r1, #2
+ ldrsh r2, [r2, r3]
+ bl FUN_0200C714
+ b _0225CE12
+_0225CE02:
+ ldr r2, [sp, #0x18]
+ mov r1, #0x13
+ lsl r3, r2, #1
+ ldr r2, _0225CEAC ; =0x0225FE28
+ mvn r1, r1
+ ldrsh r2, [r2, r3]
+ bl FUN_0200C714
+_0225CE12:
+ ldr r0, [r5]
+ ldr r1, [sp, #0x20]
+ ldr r0, [r0]
+ bl FUN_02020130
+ ldr r0, [r5]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ add r0, r5, #0
+ str r6, [r5, #8]
+ add r0, #0x2d
+ strb r4, [r0]
+ ldr r0, [sp, #0x18]
+ str r0, [r5, #0xc]
+ ldr r0, [sp, #0x20]
+ bl MOD11_0225D3B4
+ add r1, r5, #0
+ add r1, #0x2e
+ strb r0, [r1]
+ ldr r0, [sp, #0x20]
+ str r7, [r5, #0x14]
+ cmp r0, #6
+ bne _0225CE48
+ ldr r0, _0225CEB0 ; =0x00000713
+ b _0225CE4A
+_0225CE48:
+ ldr r0, _0225CEB4 ; =0x00000712
+_0225CE4A:
+ strh r0, [r5, #0x2a]
+ cmp r6, #0
+ bne _0225CE5E
+ lsl r0, r4, #4
+ add r0, #0xa2
+ str r0, [r5, #0x20]
+ mov r0, #0xf
+ mul r0, r4
+ add r0, #0x9c
+ b _0225CE70
+_0225CE5E:
+ lsl r1, r4, #4
+ mov r0, #0x5e
+ sub r0, r0, r1
+ str r0, [r5, #0x20]
+ mov r0, #0xf
+ add r1, r4, #0
+ mul r1, r0
+ mov r0, #0x64
+ sub r0, r0, r1
+_0225CE70:
+ str r0, [r5, #0x24]
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0x2c
+ strb r1, [r0]
+ ldr r0, [sp]
+ ldr r2, _0225CEB8 ; =0x000001F5
+ cmp r0, #0
+ bne _0225CE96
+ lsl r0, r4, #1
+ add r0, r4, r0
+ add r0, r0, #5
+ strh r0, [r5, #0x28]
+ ldr r0, _0225CEBC ; =MOD11_0225CEC4
+ add r1, r5, #0
+ bl FUN_0200CA44
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225CE96:
+ ldr r0, _0225CEC0 ; =MOD11_0225D0C4
+ strh r1, [r5, #0x28]
+ add r1, r5, #0
+ bl FUN_0200CA44
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225CEA4: .word 0x0225FE7C
+_0225CEA8: .word 0x0225FE40
+_0225CEAC: .word 0x0225FE28
+_0225CEB0: .word 0x00000713
+_0225CEB4: .word 0x00000712
+_0225CEB8: .word 0x000001F5
+_0225CEBC: .word MOD11_0225CEC4
+_0225CEC0: .word MOD11_0225D0C4
+
+ thumb_func_start MOD11_0225CEC4
+MOD11_0225CEC4: ; 0x0225CEC4
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ cmp r0, #6
+ bls _0225CED6
+ b _0225D0A6
+_0225CED6:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225CEE2: ; jump table
+ .short _0225CEF0 - _0225CEE2 - 2 ; case 0
+ .short _0225CF14 - _0225CEE2 - 2 ; case 1
+ .short _0225CF22 - _0225CEE2 - 2 ; case 2
+ .short _0225CFA4 - _0225CEE2 - 2 ; case 3
+ .short _0225CFBC - _0225CEE2 - 2 ; case 4
+ .short _0225CFFC - _0225CEE2 - 2 ; case 5
+ .short _0225D02A - _0225CEE2 - 2 ; case 6
+_0225CEF0:
+ add r1, sp, #0
+ ldr r0, [r4]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ add r1, sp, #0
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ lsl r0, r0, #8
+ str r0, [r4, #0x1c]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225CF14:
+ mov r0, #0x28
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225CF22
+ sub r0, r0, #1
+ strh r0, [r4, #0x28]
+ pop {r3, r4, r5, pc}
+_0225CF22:
+ ldr r0, [r4, #8]
+ ldr r1, [r4, #0x1c]
+ cmp r0, #0
+ bne _0225CF66
+ mov r0, #0xe
+ lsl r0, r0, #8
+ sub r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r0, [r4, #0x24]
+ lsl r0, r0, #8
+ cmp r1, r0
+ bgt _0225CF50
+ str r0, [r4, #0x1c]
+ ldrh r0, [r4, #0x2a]
+ bl FUN_020054C8
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225CF50:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #0x1c]
+ lsl r3, r2, #1
+ ldr r2, _0225D0BC ; =0x0225FE40
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ b _0225CF9A
+_0225CF66:
+ mov r0, #0xe
+ lsl r0, r0, #8
+ add r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r0, [r4, #0x24]
+ lsl r0, r0, #8
+ cmp r1, r0
+ blt _0225CF86
+ str r0, [r4, #0x1c]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225CF86:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #0x1c]
+ lsl r3, r2, #1
+ ldr r2, _0225D0C0 ; =0x0225FE28
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+_0225CF9A:
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ pop {r3, r4, r5, pc}
+_0225CFA4:
+ ldr r1, [r4, #0x14]
+ mov r0, #0
+ ldrsb r0, [r1, r0]
+ add r0, r0, #1
+ strb r0, [r1]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225CFBC:
+ ldr r1, [r4, #0x14]
+ mov r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ beq _0225CFD0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ pop {r3, r4, r5, pc}
+_0225CFD0:
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ ldr r0, [r4]
+ bne _0225CFE2
+ ldr r0, [r0]
+ mov r1, #1
+ bl FUN_02020208
+ b _0225CFEA
+_0225CFE2:
+ ldr r0, [r0]
+ mov r1, #1
+ bl FUN_02020208
+_0225CFEA:
+ mov r0, #0
+ strh r0, [r4, #0x28]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225CFFC:
+ mov r0, #0x28
+ ldrsh r1, [r4, r0]
+ add r1, r1, #1
+ strh r1, [r4, #0x28]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ blt _0225D0BA
+ add r1, r4, #0
+ ldr r0, [r4]
+ add r1, #0x2e
+ ldrb r1, [r1]
+ ldr r0, [r0]
+ bl FUN_02020130
+ mov r0, #0
+ strh r0, [r4, #0x28]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D02A:
+ ldr r0, [r4, #8]
+ ldr r1, [r4, #0x1c]
+ cmp r0, #0
+ bne _0225D068
+ mov r0, #6
+ lsl r0, r0, #8
+ add r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r0, [r4, #0x20]
+ lsl r0, r0, #8
+ cmp r1, r0
+ blt _0225D052
+ str r0, [r4, #0x1c]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D052:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #0x1c]
+ lsl r3, r2, #1
+ ldr r2, _0225D0BC ; =0x0225FE40
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ b _0225D09C
+_0225D068:
+ mov r0, #6
+ lsl r0, r0, #8
+ sub r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r0, [r4, #0x20]
+ lsl r0, r0, #8
+ cmp r1, r0
+ bgt _0225D088
+ str r0, [r4, #0x1c]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D088:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #0x1c]
+ lsl r3, r2, #1
+ ldr r2, _0225D0C0 ; =0x0225FE28
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+_0225D09C:
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ pop {r3, r4, r5, pc}
+_0225D0A6:
+ ldr r0, [r4]
+ mov r1, #0
+ ldr r0, [r0]
+ bl FUN_02020208
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #4]
+_0225D0BA:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0225D0BC: .word 0x0225FE40
+_0225D0C0: .word 0x0225FE28
+
+ thumb_func_start MOD11_0225D0C4
+MOD11_0225D0C4: ; 0x0225D0C4
+ push {r3, r4, lr}
+ sub sp, #4
+ add r4, r1, #0
+ add r1, #0x2c
+ ldrb r1, [r1]
+ cmp r1, #0
+ beq _0225D0DC
+ cmp r1, #1
+ beq _0225D10A
+ cmp r1, #2
+ beq _0225D11A
+ b _0225D192
+_0225D0DC:
+ add r1, sp, #0
+ ldr r0, [r4]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ add r1, sp, #0
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ mov r1, #0
+ lsl r0, r0, #8
+ str r0, [r4, #0x1c]
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_02020208
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D10A:
+ mov r0, #0x28
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225D11A
+ sub r0, r0, #1
+ add sp, #4
+ strh r0, [r4, #0x28]
+ pop {r3, r4, pc}
+_0225D11A:
+ ldr r0, [r4, #8]
+ ldr r1, [r4, #0x1c]
+ cmp r0, #0
+ bne _0225D15A
+ mov r0, #0xe
+ lsl r0, r0, #8
+ sub r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r0, [r4, #0x20]
+ lsl r0, r0, #8
+ cmp r1, r0
+ bgt _0225D142
+ str r0, [r4, #0x1c]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D142:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #0x1c]
+ lsl r3, r2, #1
+ ldr r2, _0225D1A0 ; =0x0225FE40
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ add sp, #4
+ pop {r3, r4, pc}
+_0225D15A:
+ mov r0, #0xe
+ lsl r0, r0, #8
+ add r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r0, [r4, #0x20]
+ lsl r0, r0, #8
+ cmp r1, r0
+ blt _0225D17A
+ str r0, [r4, #0x1c]
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D17A:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #0x1c]
+ lsl r3, r2, #1
+ ldr r2, _0225D1A4 ; =0x0225FE28
+ lsl r1, r1, #8
+ ldrsh r2, [r2, r3]
+ ldr r0, [r4]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ add sp, #4
+ pop {r3, r4, pc}
+_0225D192:
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #4]
+ add sp, #4
+ pop {r3, r4, pc}
+ nop
+_0225D1A0: .word 0x0225FE40
+_0225D1A4: .word 0x0225FE28
+
+ thumb_func_start MOD11_0225D1A8
+MOD11_0225D1A8: ; 0x0225D1A8
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ ldr r0, [r5]
+ add r6, r1, #0
+ add r7, r2, #0
+ add r4, r3, #0
+ cmp r0, #0
+ beq _0225D1BE
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ beq _0225D1C2
+_0225D1BE:
+ bl ErrorHandling
+_0225D1C2:
+ add r0, r5, #0
+ mov r1, #0
+ add r0, #0x2c
+ strb r1, [r0]
+ cmp r7, #0
+ str r4, [r5, #0x18]
+ ldr r2, _0225D200 ; =0x000001F5
+ bne _0225D1EC
+ lsl r0, r6, #1
+ add r0, r6, r0
+ strh r0, [r5, #0x28]
+ add r0, r5, #0
+ mov r1, #4
+ add r0, #0x2f
+ strb r1, [r0]
+ ldr r0, _0225D204 ; =MOD11_0225D20C
+ add r1, r5, #0
+ bl FUN_0200CA44
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+_0225D1EC:
+ add r0, r5, #0
+ strh r1, [r5, #0x28]
+ add r0, #0x2f
+ strb r1, [r0]
+ ldr r0, _0225D208 ; =MOD11_0225D31C
+ add r1, r5, #0
+ bl FUN_0200CA44
+ str r0, [r5, #4]
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_0225D200: .word 0x000001F5
+_0225D204: .word MOD11_0225D20C
+_0225D208: .word MOD11_0225D31C
+
+ thumb_func_start MOD11_0225D20C
+MOD11_0225D20C: ; 0x0225D20C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x18]
+ add r5, r0, #0
+ mov r0, #0
+ ldrsh r0, [r1, r0]
+ cmp r0, #0
+ bne _0225D224
+ add r0, r4, #0
+ mov r1, #0x64
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D224:
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ cmp r0, #2
+ bgt _0225D23E
+ cmp r0, #0
+ blt _0225D2FA
+ beq _0225D242
+ cmp r0, #1
+ beq _0225D26E
+ cmp r0, #2
+ beq _0225D294
+ b _0225D2FA
+_0225D23E:
+ cmp r0, #0x64
+ b _0225D2FA
+_0225D242:
+ add r1, sp, #0
+ ldr r0, [r4]
+ add r1, #2
+ add r2, sp, #0
+ bl FUN_0200C7A0
+ add r1, sp, #0
+ mov r0, #2
+ ldrsh r0, [r1, r0]
+ mov r1, #1
+ lsl r0, r0, #8
+ str r0, [r4, #0x1c]
+ ldr r0, [r4]
+ bl FUN_0200C90C
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D26E:
+ add r0, r4, #0
+ add r0, #0x2f
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0225D286
+ add r0, r4, #0
+ add r0, #0x2f
+ ldrb r0, [r0]
+ add r4, #0x2f
+ sub r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_0225D286:
+ mov r0, #0x28
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ ble _0225D294
+ sub r0, r0, #1
+ strh r0, [r4, #0x28]
+ pop {r3, r4, r5, pc}
+_0225D294:
+ ldr r0, [r4, #8]
+ ldr r1, [r4, #0x1c]
+ cmp r0, #0
+ bne _0225D2B8
+ mov r0, #3
+ lsl r0, r0, #0xa
+ sub r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r2, [r4, #0xc]
+ lsl r1, r1, #8
+ lsl r3, r2, #1
+ ldr r2, _0225D310 ; =0x0225FE40
+ ldr r0, [r4]
+ ldrsh r2, [r2, r3]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+ b _0225D2D2
+_0225D2B8:
+ mov r0, #3
+ lsl r0, r0, #0xa
+ add r1, r1, r0
+ str r1, [r4, #0x1c]
+ ldr r2, [r4, #0xc]
+ lsl r1, r1, #8
+ lsl r3, r2, #1
+ ldr r2, _0225D314 ; =0x0225FE28
+ ldr r0, [r4]
+ ldrsh r2, [r2, r3]
+ asr r1, r1, #0x10
+ bl FUN_0200C714
+_0225D2D2:
+ ldr r1, [r4, #0x1c]
+ ldr r0, _0225D318 ; =0xFFFFF000
+ cmp r1, r0
+ blt _0225D2E2
+ mov r0, #0x11
+ lsl r0, r0, #0xc
+ cmp r1, r0
+ ble _0225D2F0
+_0225D2E2:
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r1, r0, #1
+ add r0, r4, #0
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D2F0:
+ ldr r0, [r4]
+ ldr r0, [r0]
+ bl FUN_0200C59C
+ pop {r3, r4, r5, pc}
+_0225D2FA:
+ ldr r0, [r4]
+ mov r1, #0
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #4]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_0225D310: .word 0x0225FE40
+_0225D314: .word 0x0225FE28
+_0225D318: .word 0xFFFFF000
+
+ thumb_func_start MOD11_0225D31C
+MOD11_0225D31C: ; 0x0225D31C
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ ldr r1, [r4, #0x18]
+ add r5, r0, #0
+ mov r0, #0
+ ldrsh r0, [r1, r0]
+ cmp r0, #0
+ bne _0225D334
+ add r0, r4, #0
+ mov r1, #0x64
+ add r0, #0x2c
+ strb r1, [r0]
+_0225D334:
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0225D346
+ cmp r0, #1
+ beq _0225D370
+ cmp r0, #0x64
+ b _0225D35C
+_0225D346:
+ ldr r0, [r4]
+ mov r1, #1
+ bl FUN_0200C90C
+ add r0, r4, #0
+ add r0, #0x2c
+ ldrb r0, [r0]
+ add r4, #0x2c
+ add r0, r0, #1
+ strb r0, [r4]
+ pop {r3, r4, r5, pc}
+_0225D35C:
+ ldr r0, [r4]
+ mov r1, #0
+ ldr r0, [r0]
+ bl FUN_0200C63C
+ add r0, r5, #0
+ bl FUN_0200CAB4
+ mov r0, #0
+ str r0, [r4, #4]
+_0225D370:
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D374
+MOD11_0225D374: ; 0x0225D374
+ cmp r0, #3
+ bhi _0225D38C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225D384: ; jump table
+ .short _0225D38C - _0225D384 - 2 ; case 0
+ .short _0225D390 - _0225D384 - 2 ; case 1
+ .short _0225D39C - _0225D384 - 2 ; case 2
+ .short _0225D3A8 - _0225D384 - 2 ; case 3
+_0225D38C:
+ mov r0, #6
+ bx lr
+_0225D390:
+ cmp r1, #0
+ bne _0225D398
+ mov r0, #3
+ bx lr
+_0225D398:
+ mov r0, #0
+ bx lr
+_0225D39C:
+ cmp r1, #0
+ bne _0225D3A4
+ mov r0, #5
+ bx lr
+_0225D3A4:
+ mov r0, #2
+ bx lr
+_0225D3A8:
+ cmp r1, #0
+ bne _0225D3B0
+ mov r0, #4
+ bx lr
+_0225D3B0:
+ mov r0, #1
+ bx lr
+
+ thumb_func_start MOD11_0225D3B4
+MOD11_0225D3B4: ; 0x0225D3B4
+ cmp r0, #6
+ bhi _0225D3EA
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0225D3C4: ; jump table
+ .short _0225D3D8 - _0225D3C4 - 2 ; case 0
+ .short _0225D3E8 - _0225D3C4 - 2 ; case 1
+ .short _0225D3E0 - _0225D3C4 - 2 ; case 2
+ .short _0225D3D4 - _0225D3C4 - 2 ; case 3
+ .short _0225D3E4 - _0225D3C4 - 2 ; case 4
+ .short _0225D3DC - _0225D3C4 - 2 ; case 5
+ .short _0225D3D2 - _0225D3C4 - 2 ; case 6
+_0225D3D2:
+ bx lr
+_0225D3D4:
+ mov r0, #0
+ bx lr
+_0225D3D8:
+ mov r0, #3
+ bx lr
+_0225D3DC:
+ mov r0, #2
+ bx lr
+_0225D3E0:
+ mov r0, #5
+ bx lr
+_0225D3E4:
+ mov r0, #1
+ bx lr
+_0225D3E8:
+ mov r0, #4
+_0225D3EA:
+ bx lr
+
+ thumb_func_start MOD11_0225D3EC
+MOD11_0225D3EC: ; 0x0225D3EC
+ push {r4, r5, r6, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ mov r0, #0x1b
+ str r0, [sp]
+ mov r0, #0x2c
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ mov r0, #2
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x28]
+ add r4, r1, #0
+ add r6, r3, #0
+ str r0, [sp, #0x14]
+ add r0, r2, #0
+ mov r1, #3
+ add r2, r5, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ mov r0, #1
+ str r0, [sp]
+ mov r0, #2
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x1b
+ mov r3, #0xba
+ str r6, [sp, #8]
+ bl FUN_0200C00C
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, [sp, #0x2c]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r2, #0x1b
+ mov r3, #0xbb
+ bl FUN_0200C124
+ mov r0, #1
+ str r0, [sp]
+ ldr r0, [sp, #0x30]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r2, #0x1b
+ mov r3, #0xbc
+ bl FUN_0200C13C
+ add sp, #0x18
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0225D45C
+MOD11_0225D45C: ; 0x0225D45C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r2, #0
+ add r6, r3, #0
+ bl FUN_0200C358
+ add r0, r5, #0
+ add r1, r4, #0
+ bl FUN_0200C368
+ add r0, r5, #0
+ add r1, r6, #0
+ bl FUN_0200C378
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl FUN_0200C388
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D484
+MOD11_0225D484: ; 0x0225D484
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x38
+ add r5, r3, #0
+ mov ip, r2
+ ldr r3, _0225D4FC ; =0x0225FEB0
+ add r6, r0, #0
+ add r7, r1, #0
+ add r2, sp, #4
+ mov r4, #6
+_0225D496:
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ sub r4, r4, #1
+ bne _0225D496
+ ldr r0, [r3]
+ mov r1, #0x18
+ str r0, [r2]
+ ldr r0, [sp, #0x50]
+ str r5, [sp, #0x18]
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x54]
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x58]
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #0x5c]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x60]
+ str r0, [sp, #0x30]
+ mov r0, ip
+ bl FUN_02016998
+ mov r1, #0
+ mov r2, #0x18
+ str r0, [sp]
+ blx MI_CpuFill8
+ ldr r5, [sp]
+ mov r4, #0
+_0225D4CE:
+ add r0, r6, #0
+ add r1, r7, #0
+ add r2, sp, #4
+ bl FUN_0200C154
+ mov r1, #0
+ stmia r5!, {r0}
+ bl FUN_0200C644
+ add r4, r4, #1
+ cmp r4, #5
+ blt _0225D4CE
+ ldr r0, _0225D500 ; =MOD11_0225D670
+ ldr r1, [sp]
+ ldr r2, _0225D504 ; =0x00009C40
+ bl FUN_0200CA44
+ ldr r1, [sp]
+ str r0, [r1, #0x14]
+ add r0, r1, #0
+ add sp, #0x38
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225D4FC: .word 0x0225FEB0
+_0225D500: .word MOD11_0225D670
+_0225D504: .word 0x00009C40
+
+ thumb_func_start MOD11_0225D508
+MOD11_0225D508: ; 0x0225D508
+ push {r4, r5, r6, lr}
+ add r6, r0, #0
+ mov r4, #0
+ add r5, r6, #0
+_0225D510:
+ ldr r0, [r5]
+ bl FUN_0200C3DC
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #5
+ blt _0225D510
+ ldr r0, [r6, #0x14]
+ bl FUN_0200CAB4
+ add r0, r6, #0
+ bl FUN_02016A18
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0225D52C
+MOD11_0225D52C: ; 0x0225D52C
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r4, [sp, #0x24]
+ add r6, r3, #0
+ ldr r0, [r5]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ add r3, r4, #0
+ bl FUN_0200C750
+ ldr r2, [sp, #0x10]
+ lsl r1, r6, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r5, #4]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ add r3, r4, #0
+ bl FUN_0200C750
+ ldr r1, [sp, #0x14]
+ ldr r2, [sp, #0x18]
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r5, #8]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ add r3, r4, #0
+ bl FUN_0200C750
+ ldr r1, [sp, #0x1c]
+ ldr r2, [sp, #0x20]
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r5, #0xc]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ add r3, r4, #0
+ bl FUN_0200C750
+ ldr r0, [r5]
+ mov r1, #0
+ bl FUN_0200C5C0
+ ldr r0, [r5, #4]
+ mov r1, #1
+ bl FUN_0200C5C0
+ ldr r0, [r5, #8]
+ mov r1, #2
+ bl FUN_0200C5C0
+ ldr r0, [r5, #0xc]
+ mov r1, #3
+ bl FUN_0200C5C0
+ mov r4, #0
+ mov r6, #1
+_0225D5A2:
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl FUN_0200C644
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0225D5A2
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0225D5B4
+MOD11_0225D5B4: ; 0x0225D5B4
+ push {r4, lr}
+ sub sp, #0x18
+ ldr r4, [sp, #0x20]
+ str r4, [sp]
+ ldr r4, [sp, #0x24]
+ str r4, [sp, #4]
+ ldr r4, [sp, #0x28]
+ str r4, [sp, #8]
+ ldr r4, [sp, #0x2c]
+ str r4, [sp, #0xc]
+ ldr r4, [sp, #0x30]
+ str r4, [sp, #0x10]
+ mov r4, #3
+ lsl r4, r4, #0x12
+ str r4, [sp, #0x14]
+ bl MOD11_0225D52C
+ add sp, #0x18
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D5DC
+MOD11_0225D5DC: ; 0x0225D5DC
+ push {r3, r4, lr}
+ sub sp, #0x14
+ add r4, r2, #0
+ str r3, [sp]
+ ldr r2, [sp, #0x20]
+ str r1, [sp, #4]
+ str r2, [sp, #8]
+ str r4, [sp, #0xc]
+ str r2, [sp, #0x10]
+ add r2, r3, #0
+ add r3, r4, #0
+ bl MOD11_0225D5B4
+ add sp, #0x14
+ pop {r3, r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D5FC
+MOD11_0225D5FC: ; 0x0225D5FC
+ push {r4, lr}
+ sub sp, #0x18
+ add r4, r2, #0
+ str r3, [sp]
+ ldr r2, [sp, #0x20]
+ str r1, [sp, #4]
+ str r2, [sp, #8]
+ str r4, [sp, #0xc]
+ str r2, [sp, #0x10]
+ ldr r2, [sp, #0x24]
+ str r2, [sp, #0x14]
+ add r2, r3, #0
+ add r3, r4, #0
+ bl MOD11_0225D52C
+ add sp, #0x18
+ pop {r4, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D620
+MOD11_0225D620: ; 0x0225D620
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r4, r3, #0
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r5, #0x10]
+ ldr r3, [sp, #0x10]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C750
+ ldr r0, [r5, #0x10]
+ add r1, r4, #0
+ bl FUN_0200C5C0
+ ldr r0, [r5, #0x10]
+ mov r1, #1
+ bl FUN_0200C644
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD11_0225D648
+MOD11_0225D648: ; 0x0225D648
+ push {r4, r5, r6, lr}
+ mov r4, #0
+ add r5, r0, #0
+ add r6, r4, #0
+_0225D650:
+ ldr r0, [r5]
+ add r1, r6, #0
+ bl FUN_0200C644
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #5
+ blt _0225D650
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D664
+MOD11_0225D664: ; 0x0225D664
+ ldr r3, _0225D66C ; =0x0200C645
+ ldr r0, [r0, #0x10]
+ mov r1, #0
+ bx r3
+ .align 2, 0
+_0225D66C: .word 0x0200C645
+
+ thumb_func_start MOD11_0225D670
+MOD11_0225D670: ; 0x0225D670
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ ldr r0, [r6]
+ bl FUN_0200C658
+ cmp r0, #0
+ beq _0225D6A0
+ mov r4, #0
+ add r5, r6, #0
+_0225D682:
+ ldr r0, [r5]
+ bl FUN_0200C5A8
+ add r4, r4, #1
+ add r5, r5, #4
+ cmp r4, #4
+ blt _0225D682
+ ldr r0, [r6, #0x10]
+ bl FUN_0200C658
+ cmp r0, #1
+ bne _0225D6A0
+ ldr r0, [r6, #0x10]
+ bl FUN_0200C5A8
+_0225D6A0:
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D6A4
+MOD11_0225D6A4: ; 0x0225D6A4
+ push {r4, r5, r6, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ mov r0, #0x52
+ str r0, [sp]
+ mov r0, #0xb
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ mov r0, #1
+ str r0, [sp, #0xc]
+ mov r0, #2
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x28]
+ add r4, r1, #0
+ add r6, r3, #0
+ str r0, [sp, #0x14]
+ add r0, r2, #0
+ mov r1, #3
+ add r2, r5, #0
+ add r3, r4, #0
+ bl FUN_0200C0DC
+ mov r0, #0
+ str r0, [sp]
+ mov r0, #2
+ str r0, [sp, #4]
+ add r0, r5, #0
+ add r1, r4, #0
+ mov r2, #0x52
+ mov r3, #0xa
+ str r6, [sp, #8]
+ bl FUN_0200C00C
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, [sp, #0x2c]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r2, #0x52
+ mov r3, #0xc
+ bl FUN_0200C124
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, [sp, #0x30]
+ add r1, r4, #0
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r2, #0x52
+ mov r3, #0xd
+ bl FUN_0200C13C
+ add sp, #0x18
+ pop {r4, r5, r6, pc}
+
+ thumb_func_start MOD11_0225D714
+MOD11_0225D714: ; 0x0225D714
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r4, r2, #0
+ add r6, r3, #0
+ bl FUN_0200C358
+ add r0, r5, #0
+ add r1, r4, #0
+ bl FUN_0200C368
+ add r0, r5, #0
+ add r1, r6, #0
+ bl FUN_0200C378
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0
+ bl FUN_0200C388
+ pop {r4, r5, r6, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D73C
+MOD11_0225D73C: ; 0x0225D73C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x38
+ ldr r5, _0225D7AC ; =0x0225FEE4
+ add r6, r3, #0
+ add r7, r0, #0
+ str r1, [sp]
+ add r4, sp, #4
+ mov r3, #6
+_0225D74C:
+ ldmia r5!, {r0, r1}
+ stmia r4!, {r0, r1}
+ sub r3, r3, #1
+ bne _0225D74C
+ ldr r0, [r5]
+ mov r1, #0x20
+ str r0, [r4]
+ ldr r0, [sp, #0x50]
+ str r6, [sp, #0x18]
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x54]
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x58]
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #0x5c]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x60]
+ str r0, [sp, #0x30]
+ add r0, r2, #0
+ bl FUN_02016998
+ mov r1, #0
+ mov r2, #0x20
+ add r4, r0, #0
+ blx MI_CpuFill8
+ ldr r1, [sp]
+ add r0, r7, #0
+ add r2, sp, #4
+ bl FUN_0200C154
+ mov r1, #0
+ str r0, [r4]
+ bl FUN_0200C644
+ mov r0, #3
+ lsl r0, r0, #0x12
+ str r0, [r4, #0x14]
+ ldr r0, _0225D7B0 ; =MOD11_0225D828
+ ldr r2, _0225D7B4 ; =0x000003E7
+ add r1, r4, #0
+ bl FUN_0200CA44
+ str r0, [r4, #4]
+ add r0, r4, #0
+ add sp, #0x38
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225D7AC: .word 0x0225FEE4
+_0225D7B0: .word MOD11_0225D828
+_0225D7B4: .word 0x000003E7
+
+ thumb_func_start MOD11_0225D7B8
+MOD11_0225D7B8: ; 0x0225D7B8
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4]
+ bl FUN_0200C3DC
+ ldr r0, [r4, #4]
+ bl FUN_0200CAB4
+ add r0, r4, #0
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0225D7D0
+MOD11_0225D7D0: ; 0x0225D7D0
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r0, #0
+ add r7, r1, #0
+ add r4, r2, #0
+ add r6, r3, #0
+ bl MOD11_0225D98C
+ str r7, [r5, #8]
+ str r4, [r5, #0xc]
+ str r6, [r5, #0x14]
+ lsl r1, r7, #0x10
+ lsl r2, r4, #0x10
+ ldr r0, [r5]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ add r3, r6, #0
+ bl FUN_0200C750
+ ldr r0, [r5]
+ mov r1, #1
+ bl FUN_0200C644
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+
+ thumb_func_start MOD11_0225D800
+MOD11_0225D800: ; 0x0225D800
+ push {r3, lr}
+ mov r3, #3
+ lsl r3, r3, #0x12
+ bl MOD11_0225D7D0
+ pop {r3, pc}
+
+ thumb_func_start MOD11_0225D80C
+MOD11_0225D80C: ; 0x0225D80C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4]
+ mov r1, #0
+ bl FUN_0200C644
+ add r0, r4, #0
+ bl MOD11_0225D98C
+ pop {r4, pc}
+
+ thumb_func_start MOD11_0225D820
+MOD11_0225D820: ; 0x0225D820
+ strh r1, [r0, #0x18]
+ bx lr
+
+ thumb_func_start MOD11_0225D824
+MOD11_0225D824: ; 0x0225D824
+ ldrb r0, [r0, #0x1b]
+ bx lr
+
+ thumb_func_start MOD11_0225D828
+MOD11_0225D828: ; 0x0225D828
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ ldrb r0, [r4, #0x1b]
+ cmp r0, #1
+ bne _0225D836
+ mov r0, #0
+ strb r0, [r4, #0x1b]
+_0225D836:
+ mov r0, #0x18
+ ldrsh r1, [r4, r0]
+ cmp r1, #0
+ ble _0225D84C
+ sub r1, r1, #1
+ strh r1, [r4, #0x18]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0
+ bne _0225D84C
+ mov r0, #1
+ strb r0, [r4, #0x1a]
+_0225D84C:
+ ldr r0, [r4]
+ bl FUN_0200C658
+ cmp r0, #0
+ bne _0225D858
+ b _0225D984
+_0225D858:
+ ldrb r0, [r4, #0x1c]
+ cmp r0, #0
+ bne _0225D8DA
+ mov r1, #0xfa
+ ldr r2, [r4, #0x10]
+ lsl r1, r1, #2
+ add r2, r2, r1
+ add r0, r4, #0
+ ldr r1, _0225D988 ; =0x00004650
+ add r0, #0x10
+ str r2, [r4, #0x10]
+ cmp r2, r1
+ blt _0225D886
+ ldr r2, [r0]
+ sub r1, r2, r1
+ str r1, [r0]
+ ldrb r0, [r4, #0x1a]
+ cmp r0, #1
+ bne _0225D886
+ mov r0, #1
+ strb r0, [r4, #0x1c]
+ mov r0, #0
+ strb r0, [r4, #0x1a]
+_0225D886:
+ ldrb r0, [r4, #0x1c]
+ cmp r0, #0
+ bne _0225D8DA
+ ldr r0, [r4, #0x10]
+ mov r1, #0x64
+ blx _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_0201B93C
+ mov r2, #0xe
+ asr r1, r0, #0x1f
+ lsl r2, r2, #0xc
+ mov r3, #0
+ blx _ll_mul
+ add r5, r1, #0
+ ldr r1, [r4, #8]
+ mov r2, #2
+ add r6, r0, #0
+ lsl r1, r1, #0x10
+ mov r7, #0
+ lsl r2, r2, #0xa
+ asr r1, r1, #0x10
+ add r2, r6, r2
+ adc r5, r7
+ lsl r5, r5, #0x14
+ lsr r2, r2, #0xc
+ orr r2, r5
+ asr r5, r2, #0xb
+ lsr r5, r5, #0x14
+ add r5, r2, r5
+ ldr r3, [r4, #0xc]
+ asr r2, r5, #0xc
+ sub r2, r3, r2
+ lsl r2, r2, #0x10
+ ldr r0, [r4]
+ ldr r3, [r4, #0x14]
+ asr r2, r2, #0x10
+ bl FUN_0200C750
+_0225D8DA:
+ ldrb r0, [r4, #0x1c]
+ cmp r0, #1
+ bne _0225D97E
+ ldrb r0, [r4, #0x1d]
+ cmp r0, #3
+ bhi _0225D97E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0225D8F2: ; jump table
+ .short _0225D8FA - _0225D8F2 - 2 ; case 0
+ .short _0225D912 - _0225D8F2 - 2 ; case 1
+ .short _0225D934 - _0225D8F2 - 2 ; case 2
+ .short _0225D962 - _0225D8F2 - 2 ; case 3
+_0225D8FA:
+ ldrb r0, [r4, #0x1e]
+ add r0, r0, #1
+ strb r0, [r4, #0x1e]
+ ldrb r0, [r4, #0x1e]
+ cmp r0, #3
+ bls _0225D97E
+ mov r0, #0
+ strb r0, [r4, #0x1e]
+ ldrb r0, [r4, #0x1d]
+ add r0, r0, #1
+ strb r0, [r4, #0x1d]
+ b _0225D97E
+_0225D912:
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #8]
+ add r2, #8
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r4]
+ ldr r3, [r4, #0x14]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C750
+ mov r0, #1
+ strb r0, [r4, #0x1b]
+ ldrb r0, [r4, #0x1d]
+ add r0, r0, #1
+ strb r0, [r4, #0x1d]
+ b _0225D97E
+_0225D934:
+ ldrb r0, [r4, #0x1e]
+ add r0, r0, #1
+ strb r0, [r4, #0x1e]
+ ldrb r0, [r4, #0x1e]
+ cmp r0, #2
+ bls _0225D97E
+ ldr r2, [r4, #0xc]
+ ldr r1, [r4, #8]
+ add r2, r2, #2
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r4]
+ ldr r3, [r4, #0x14]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C750
+ mov r0, #0
+ strb r0, [r4, #0x1e]
+ ldrb r0, [r4, #0x1d]
+ add r0, r0, #1
+ strb r0, [r4, #0x1d]
+ b _0225D97E
+_0225D962:
+ ldrb r0, [r4, #0x1e]
+ add r0, r0, #1
+ strb r0, [r4, #0x1e]
+ ldrb r0, [r4, #0x1e]
+ cmp r0, #2
+ bls _0225D97E
+ add r0, r4, #0
+ bl MOD11_0225D80C
+ mov r0, #0
+ strb r0, [r4, #0x1e]
+ ldrb r0, [r4, #0x1d]
+ add r0, r0, #1
+ strb r0, [r4, #0x1d]
+_0225D97E:
+ ldr r0, [r4]
+ bl FUN_0200C5A8
+_0225D984:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_0225D988: .word 0x00004650
+
+ thumb_func_start MOD11_0225D98C
+MOD11_0225D98C: ; 0x0225D98C
+ mov r1, #0
+ str r1, [r0, #0x10]
+ strb r1, [r0, #0x1c]
+ strb r1, [r0, #0x1d]
+ strb r1, [r0, #0x1e]
+ bx lr
+
+ .section .data
+ ; 0x0225D998
+ .incbin "baserom.nds", 0x1dd7d8, 0x2608
diff --git a/arm9/undefined_syms.txt b/arm9/undefined_syms.txt
index d94acc27..9b6d2115 100644
--- a/arm9/undefined_syms.txt
+++ b/arm9/undefined_syms.txt
@@ -654,6 +654,30 @@ FUN_0225D800 = 0x0225D800;
FUN_0225D80C = 0x0225D80C;
FUN_0225D820 = 0x0225D820;
FUN_0225D824 = 0x0225D824;
+FUN_021EEF0C = 0x021EEF0C;
+FUN_021EEF68 = 0x021EEF68;
+FUN_021EEF84 = 0x021EEF84;
+FUN_021EEF98 = 0x021EEF98;
+FUN_021EEF9C = 0x021EEF9C;
+FUN_021EFBF4 = 0x021EFBF4;
+FUN_021EFD8C = 0x021EFD8C;
+FUN_021F45A4 = 0x021F45A4;
+FUN_021F4698 = 0x021F4698;
+FUN_021F4A30 = 0x021F4A30;
+FUN_02211E7C = 0x02211E7C;
+FUN_02211F5C = 0x02211F5C;
+FUN_02212024 = 0x02212024;
+FUN_02212048 = 0x02212048;
+FUN_02212384 = 0x02212384;
+FUN_022123A0 = 0x022123A0;
+FUN_022123B0 = 0x022123B0;
+FUN_022156C0 = 0x022156C0;
+FUN_0221590C = 0x0221590C;
+FUN_02215918 = 0x02215918;
+FUN_0221594C = 0x0221594C;
+FUN_02215988 = 0x02215988;
+FUN_02215A44 = 0x02215A44;
+FUN_022186F0 = 0x022186F0;
// ???
SDK_MAIN_ARENA_LO = 0x0225FFA0;