summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--asm/arm9_thumb.s50063
-rw-r--r--global.inc1714
-rw-r--r--undefined_syms.txt2412
4 files changed, 41853 insertions, 12338 deletions
diff --git a/Makefile b/Makefile
index 43483231..fac3e52f 100644
--- a/Makefile
+++ b/Makefile
@@ -78,7 +78,7 @@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
$(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $<
$(ELF): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT)
- $(LD) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) -nodead
+ $(LD) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) -nodead -w off
$(ROM): $(ELF)
$(OBJCOPY) -O binary $< $@
diff --git a/asm/arm9_thumb.s b/asm/arm9_thumb.s
index d3a5b715..99146fa9 100644
--- a/asm/arm9_thumb.s
+++ b/asm/arm9_thumb.s
@@ -865,38 +865,112 @@ FUN_02001470: ; 0x02001470
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
- lsl r2, r6, #0
- lsl r4, r5, #0x2
- lsl r6, r6, #0
- lsl r2, r7, #0
- lsl r6, r7, #0
- lsl r2, r0, #0x1
- lsl r2, r1, #0x1
- lsl r4, r4, #0x1
- lsl r4, r5, #0x1
- lsl r4, r6, #0x1
- lsl r4, r7, #0x1
- lsl r4, r0, #0x2
- lsl r4, r1, #0x2
- lsl r4, r2, #0x2
- lsl r4, r3, #0x2
- lsl r4, r4, #0x2
- lsl r0, r5, #0x2
+_02001484: ; jump table (using 16-bit offset)
+ .short _020014AC - _02001484 - 2; case 0
+ .short _020014B0 - _02001484 - 2; case 1
+ .short _020014B4 - _02001484 - 2; case 2
+ .short _020014B8 - _02001484 - 2; case 3
+ .short _02001532 - _02001484 - 2; case 4
+ .short _020014BC - _02001484 - 2; case 5
+ .short _020014C0 - _02001484 - 2; case 6
+ .short _020014C4 - _02001484 - 2; case 7
+ .short _020014C8 - _02001484 - 2; case 8
+ .short _020014D0 - _02001484 - 2; case 9
+ .short _020014EA - _02001484 - 2; case 10
+ .short _020014F2 - _02001484 - 2; case 11
+ .short _020014FA - _02001484 - 2; case 12
+ .short _02001502 - _02001484 - 2; case 13
+ .short _0200150A - _02001484 - 2; case 14
+ .short _02001512 - _02001484 - 2; case 15
+ .short _0200151A - _02001484 - 2; case 16
+ .short _02001522 - _02001484 - 2; case 17
+ .short _0200152A - _02001484 - 2; case 18
+ .short _0200152E - _02001484 - 2; case 19
+_020014AC:
ldr r0, [r4, #0x4]
pop {r4, pc}
_020014B0:
- .byte 0xA0, 0x68, 0x10, 0xBD, 0x20, 0x8A, 0x10, 0xBD, 0x60, 0x8A, 0x10, 0xBD, 0x20, 0x7D, 0x10, 0xBD
- .byte 0x60, 0x7D, 0x10, 0xBD, 0xA0, 0x7D, 0x10, 0xBD, 0xE0, 0x7D, 0x00, 0x07, 0x00, 0x0F, 0x10, 0xBD
- .byte 0x60, 0x8B, 0x01, 0x21, 0x40, 0x04, 0x80, 0x0E, 0x00, 0x06, 0x00, 0x0E, 0x01, 0xF0, 0xB6, 0xFC
- .byte 0x61, 0x8B, 0x49, 0x06, 0x09, 0x0F, 0x08, 0x18, 0x10, 0xBD, 0xE0, 0x7D, 0x00, 0x06, 0x00, 0x0F
- .byte 0x10, 0xBD, 0x20, 0x7E, 0x00, 0x07, 0x00, 0x0F, 0x10, 0xBD, 0x20, 0x7E, 0x00, 0x06, 0x00, 0x0F
- .byte 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x07, 0x40, 0x0F, 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x06, 0x00, 0x0F
- .byte 0x10, 0xBD, 0x60, 0x8B, 0xC0, 0x05, 0x80, 0x0F, 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x04, 0x80, 0x0E
- .byte 0x10, 0xBD, 0x60, 0x8B, 0x00, 0x04, 0xC0, 0x0F, 0x10, 0xBD, 0xE0, 0x68, 0x10, 0xBD, 0xE0, 0x69
- .byte 0x10, 0xBD
+ ldr r0, [r4, #0x8]
+ pop {r4, pc}
+_020014B4:
+ ldrh r0, [r4, #0x10]
+ pop {r4, pc}
+_020014B8:
+ ldrh r0, [r4, #0x12]
+ pop {r4, pc}
+_020014BC:
+ ldrb r0, [r4, #0x14]
+ pop {r4, pc}
+_020014C0:
+ ldrb r0, [r4, #0x15]
+ pop {r4, pc}
+_020014C4:
+ ldrb r0, [r4, #0x16]
+ pop {r4, pc}
+_020014C8:
+ ldrb r0, [r4, #0x17]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ pop {r4, pc}
+_020014D0:
+ ldrh r0, [r4, #0x1a]
+ mov r1, #0x1
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1a
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02002E4C
+ ldrh r1, [r4, #0x1a]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x1c
+ add r0, r1, r0
+ pop {r4, pc}
+_020014EA:
+ ldrb r0, [r4, #0x17]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ pop {r4, pc}
+_020014F2:
+ ldrb r0, [r4, #0x18]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ pop {r4, pc}
+_020014FA:
+ ldrb r0, [r4, #0x18]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ pop {r4, pc}
+_02001502:
+ ldrh r0, [r4, #0x1a]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1d
+ pop {r4, pc}
+_0200150A:
+ ldrh r0, [r4, #0x1a]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1c
+ pop {r4, pc}
+_02001512:
+ ldrh r0, [r4, #0x1a]
+ lsl r0, r0, #0x17
+ lsr r0, r0, #0x1e
+ pop {r4, pc}
+_0200151A:
+ ldrh r0, [r4, #0x1a]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1a
+ pop {r4, pc}
+_02001522:
+ ldrh r0, [r4, #0x1a]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1f
+ pop {r4, pc}
+_0200152A:
+ ldr r0, [r4, #0xc]
+ pop {r4, pc}
+_0200152E:
+ ldr r0, [r4, #0x1c]
+ pop {r4, pc}
_02001532:
mov r0, #0x0
mvn r0, r0
@@ -914,49 +988,158 @@ _0200153E:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
- lsl r2, r6, #0
- lsl r4, r7, #0x3
- lsl r6, r6, #0
- lsl r2, r7, #0
- lsl r6, r7, #0
- lsl r2, r0, #0x1
- lsl r4, r7, #0x3
- lsl r6, r2, #0x1
- lsl r2, r5, #0x1
- lsl r6, r7, #0x1
- lsl r2, r2, #0x2
- lsl r6, r4, #0x2
- lsl r2, r7, #0x2
- lsl r6, r1, #0x3
- lsl r2, r4, #0x3
- lsl r6, r6, #0x3
- lsl r2, r7, #0x3
+_0200154A: ; jump table (using 16-bit offset)
+ .short _02001572 - _0200154A - 2; case 0
+ .short _02001576 - _0200154A - 2; case 1
+ .short _0200157A - _0200154A - 2; case 2
+ .short _0200157E - _0200154A - 2; case 3
+ .short _02001648 - _0200154A - 2; case 4
+ .short _02001582 - _0200154A - 2; case 5
+ .short _02001586 - _0200154A - 2; case 6
+ .short _0200158A - _0200154A - 2; case 7
+ .short _0200158E - _0200154A - 2; case 8
+ .short _02001648 - _0200154A - 2; case 9
+ .short _020015A2 - _0200154A - 2; case 10
+ .short _020015B6 - _0200154A - 2; case 11
+ .short _020015CA - _0200154A - 2; case 12
+ .short _020015DE - _0200154A - 2; case 13
+ .short _020015F2 - _0200154A - 2; case 14
+ .short _02001606 - _0200154A - 2; case 15
+ .short _0200161A - _0200154A - 2; case 16
+ .short _0200162E - _0200154A - 2; case 17
+ .short _02001642 - _0200154A - 2; case 18
+ .short _02001646 - _0200154A - 2; case 19
+_02001572:
str r2, [r0, #0x4]
bx lr
_02001576:
- .byte 0x82, 0x60, 0x70, 0x47, 0x02, 0x82, 0x70, 0x47, 0x42, 0x82
- .byte 0x70, 0x47, 0x02, 0x75, 0x70, 0x47, 0x42, 0x75, 0x70, 0x47, 0x82, 0x75, 0x70, 0x47, 0xC3, 0x7D
- .byte 0x0F, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E, 0x0F, 0x21, 0x11, 0x40, 0x19, 0x43, 0xC1, 0x75
- .byte 0x70, 0x47, 0xC3, 0x7D, 0xF0, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x09, 0x0E
- .byte 0x19, 0x43, 0xC1, 0x75, 0x70, 0x47, 0x03, 0x7E, 0x0F, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E
- .byte 0x0F, 0x21, 0x11, 0x40, 0x19, 0x43, 0x01, 0x76, 0x70, 0x47, 0x03, 0x7E, 0xF0, 0x21, 0x8B, 0x43
- .byte 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x09, 0x0E, 0x19, 0x43, 0x01, 0x76, 0x70, 0x47, 0x43, 0x8B
- .byte 0x07, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E, 0x07, 0x21, 0x11, 0x40, 0x19, 0x43, 0x41, 0x83
- .byte 0x70, 0x47, 0x43, 0x8B, 0x78, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x49, 0x0E
- .byte 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B, 0x10, 0x49, 0x0B, 0x40, 0x11, 0x06, 0x09, 0x0E
- .byte 0x89, 0x07, 0xC9, 0x0D, 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B, 0x0C, 0x49, 0x0B, 0x40
- .byte 0x11, 0x06, 0x09, 0x0E, 0x89, 0x06, 0x49, 0x0C, 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B
- .byte 0x08, 0x49, 0x0B, 0x40, 0x11, 0x06, 0x09, 0x0E, 0xC9, 0x07, 0x09, 0x0C, 0x19, 0x43, 0x41, 0x83
- .byte 0x70, 0x47, 0xC2, 0x60, 0x70, 0x47, 0xC2, 0x61
+ str r2, [r0, #0x8]
+ bx lr
+_0200157A:
+ strh r2, [r0, #0x10]
+ bx lr
+_0200157E:
+ strh r2, [r0, #0x12]
+ bx lr
+_02001582:
+ strb r2, [r0, #0x14]
+ bx lr
+_02001586:
+ strb r2, [r0, #0x15]
+ bx lr
+_0200158A:
+ strb r2, [r0, #0x16]
+ bx lr
+_0200158E:
+ ldrb r3, [r0, #0x17]
+ mov r1, #0xf
+ bic r3, r1
+ lsl r1, r2, #0x18
+ lsr r2, r1, #0x18
+ mov r1, #0xf
+ and r1, r2
+ orr r1, r3
+ strb r1, [r0, #0x17]
+ bx lr
+_020015A2:
+ ldrb r3, [r0, #0x17]
+ mov r1, #0xf0
+ bic r3, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x18
+ orr r1, r3
+ strb r1, [r0, #0x17]
+ bx lr
+_020015B6:
+ ldrb r3, [r0, #0x18]
+ mov r1, #0xf
+ bic r3, r1
+ lsl r1, r2, #0x18
+ lsr r2, r1, #0x18
+ mov r1, #0xf
+ and r1, r2
+ orr r1, r3
+ strb r1, [r0, #0x18]
+ bx lr
+_020015CA:
+ ldrb r3, [r0, #0x18]
+ mov r1, #0xf0
+ bic r3, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x18
+ orr r1, r3
+ strb r1, [r0, #0x18]
+ bx lr
+_020015DE:
+ ldrh r3, [r0, #0x1a]
+ mov r1, #0x7
+ bic r3, r1
+ lsl r1, r2, #0x18
+ lsr r2, r1, #0x18
+ mov r1, #0x7
+ and r1, r2
+ orr r1, r3
+ strh r1, [r0, #0x1a]
+ bx lr
+_020015F2:
+ ldrh r3, [r0, #0x1a]
+ mov r1, #0x78
+ bic r3, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x19
+ orr r1, r3
+ strh r1, [r0, #0x1a]
+ bx lr
+_02001606:
+ ldrh r3, [r0, #0x1a]
+ ldr r1, _0200164C ; =0xFFFFFE7F
+ and r3, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x17
+ orr r1, r3
+ strh r1, [r0, #0x1a]
+ bx lr
+_0200161A:
+ ldrh r3, [r0, #0x1a]
+ ldr r1, _02001650 ; =0xFFFF81FF
+ and r3, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x11
+ orr r1, r3
+ strh r1, [r0, #0x1a]
+ bx lr
+_0200162E:
+ ldrh r3, [r0, #0x1a]
+ ldr r1, _02001654 ; =0xFFFF7FFF
+ and r3, r1
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x10
+ orr r1, r3
+ strh r1, [r0, #0x1a]
+ bx lr
+_02001642:
+ str r2, [r0, #0xc]
+ bx lr
+_02001646:
+ str r2, [r0, #0x1c]
_02001648:
bx lr
nop
-_0200164C:
- .byte 0x7F, 0xFE, 0xFF, 0xFF
- .byte 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF
+_0200164C: .word 0xFFFFFE7F
+_02001650: .word 0xFFFF81FF
+_02001654: .word 0xFFFF7FFF
thumb_func_start FUN_02001658
FUN_02001658: ; 0x02001658
@@ -1176,10 +1359,12 @@ FUN_020017AC: ; 0x020017AC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r1, #0
- lsl r6, r1, #0
+_020017F2: ; jump table (using 16-bit offset)
+ .short _020017FA - _020017F2 - 2; case 0
+ .short _02001802 - _020017F2 - 2; case 1
+ .short _02001802 - _020017F2 - 2; case 2
+ .short _02001802 - _020017F2 - 2; case 3
+_020017FA:
ldr r0, [r4, #0x28]
ldr r1, [r4, #0xc]
bl FUN_020136F8
@@ -1203,10 +1388,12 @@ FUN_02001804: ; 0x02001804
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r0, #0x1
- lsl r4, r0, #0x1
- lsl r4, r0, #0x1
+_02001822: ; jump table (using 16-bit offset)
+ .short _0200182A - _02001822 - 2; case 0
+ .short _02001868 - _02001822 - 2; case 1
+ .short _02001868 - _02001822 - 2; case 2
+ .short _02001868 - _02001822 - 2; case 3
+_0200182A:
lsl r0, r0, #0x11
lsr r0, r0, #0x1a
lsl r0, r0, #0x18
@@ -1596,20 +1783,42 @@ _02001AF6:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r1, #0
- lsl r2, r5, #0
- lsl r2, r5, #0
+_02001B0C: ; jump table (using 16-bit offset)
+ .short _02001B14 - _02001B0C - 2; case 0
+ .short _02001B1A - _02001B0C - 2; case 1
+ .short _02001B38 - _02001B0C - 2; case 2
+ .short _02001B38 - _02001B0C - 2; case 3
_02001B14:
add sp, #0x10
mov r0, #0x1
pop {r3-r7, pc}
_02001B1A:
- .byte 0x03, 0x99, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0x71, 0xFE, 0x20, 0x1C, 0xFF, 0xF7, 0x42, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x1A, 0xF8
- .byte 0xE0, 0x68, 0x17, 0xF0, 0x4D, 0xFB, 0x12, 0xE0, 0x03, 0x99, 0x20, 0x1C, 0xFF, 0xF7, 0x62, 0xFE
- .byte 0x02, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0xFF, 0xF7, 0x21, 0xFF, 0x20, 0x1C, 0xFF, 0xF7, 0x2E, 0xFE
- .byte 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x06, 0xF8, 0xE0, 0x68, 0x17, 0xF0, 0x39, 0xFB
+ ldr r1, [sp, #0xc]
+ add r0, r4, #0x0
+ bl FUN_02001804
+ add r0, r4, #0x0
+ bl FUN_020017AC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02001B64
+ ldr r0, [r4, #0xc]
+ bl FUN_020191D0
+ b _02001B5E
+_02001B38:
+ ldr r1, [sp, #0xc]
+ add r0, r4, #0x0
+ bl FUN_02001804
+ ldr r2, [sp, #0x8]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_0200198C
+ add r0, r4, #0x0
+ bl FUN_020017AC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02001B64
+ ldr r0, [r4, #0xc]
+ bl FUN_020191D0
_02001B5E:
mov r0, #0x0
add sp, #0x10
@@ -1958,12 +2167,14 @@ FUN_02001DDC: ; 0x02001DDC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r4, r3, #0
- lsl r0, r5, #0
- lsl r6, r6, #0
- lsl r4, r0, #0x1
- lsl r2, r2, #0x1
+_02001DF0: ; jump table (using 16-bit offset)
+ .short _02001DFC - _02001DF0 - 2; case 0
+ .short _02001E0E - _02001DF0 - 2; case 1
+ .short _02001E1A - _02001DF0 - 2; case 2
+ .short _02001E28 - _02001DF0 - 2; case 3
+ .short _02001E36 - _02001DF0 - 2; case 4
+ .short _02001E44 - _02001DF0 - 2; case 5
+_02001DFC:
ldr r0, _02001E58 ; =0x000005DC
bl FUN_020054C8
ldrb r0, [r4, #0x15]
@@ -1973,12 +2184,39 @@ FUN_02001DDC: ; 0x02001DDC
ldr r0, [r0, #0x4]
pop {r4, pc}
_02001E0E:
- .byte 0x12, 0x48
- .byte 0x03, 0xF0, 0x5A, 0xFB, 0x01, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x0F, 0x4A, 0x00, 0x21, 0x00, 0xF0
- .byte 0x21, 0xF8, 0x00, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x0B, 0x4A, 0x01, 0x21, 0x00, 0xF0, 0x1A, 0xF8
- .byte 0x00, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x08, 0x4A, 0x02, 0x21, 0x00, 0xF0, 0x13, 0xF8, 0x00, 0x20
- .byte 0xC0, 0x43, 0x10, 0xBD, 0x04, 0x4A, 0x03, 0x21, 0x00, 0xF0, 0x0C, 0xF8, 0x00, 0x20, 0xC0, 0x43
- .byte 0x10, 0xBD
+ ldr r0, _02001E58 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x1
+ mvn r0, r0
+ pop {r4, pc}
+_02001E1A:
+ ldr r2, _02001E58 ; =0x000005DC
+ mov r1, #0x0
+ bl FUN_02001E64
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_02001E28:
+ ldr r2, _02001E58 ; =0x000005DC
+ mov r1, #0x1
+ bl FUN_02001E64
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_02001E36:
+ ldr r2, _02001E58 ; =0x000005DC
+ mov r1, #0x2
+ bl FUN_02001E64
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_02001E44:
+ ldr r2, _02001E58 ; =0x000005DC
+ mov r1, #0x3
+ bl FUN_02001E64
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
_02001E52:
mov r0, #0x0
mvn r0, r0
@@ -2769,13 +3007,15 @@ _020023D6:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r6, r3, #0xd
- lsl r0, r7, #0xd
- lsl r2, r4, #0xe
- lsl r2, r2, #0xf
- lsl r0, r5, #0x10
- lsl r4, r6, #0x10
+_020023E2: ; jump table (using 16-bit offset)
+ .short _020023F0 - _020023E2 - 2; case 0
+ .short _02002742 - _020023E2 - 2; case 1
+ .short _0200275C - _020023E2 - 2; case 2
+ .short _02002786 - _020023E2 - 2; case 3
+ .short _020027B6 - _020023E2 - 2; case 4
+ .short _0200280C - _020023E2 - 2; case 5
+ .short _02002818 - _020023E2 - 2; case 6
+_020023F0:
ldr r0, _02002658 ; =0x021C48B8
ldr r1, [r0, #0x44]
mov r0, #0x3
@@ -2962,11 +3202,12 @@ _02002532:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r5, #0x1
- lsl r4, r2, #0x2
- lsl r6, r6, #0x2
- lsl r6, r1, #0x3
- lsl r2, r3, #0x3
+_02002548: ; jump table (using 16-bit offset)
+ .short _020025B4 - _02002548 - 2; case 0
+ .short _020025DE - _02002548 - 2; case 1
+ .short _02002600 - _02002548 - 2; case 2
+ .short _02002618 - _02002548 - 2; case 3
+ .short _02002624 - _02002548 - 2; case 4
_02002552:
mov r1, #0xff
lsl r1, r1, #0x8
@@ -3021,14 +3262,63 @@ _0200259E:
bl FUN_0201C05C
b _020026CA
_020025B4:
- .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0xAC, 0xF9, 0x00, 0x04, 0x03, 0x0C
- .byte 0x21, 0x7B, 0x62, 0x7B, 0x20, 0x1C, 0x19, 0xF0, 0x11, 0xFE, 0x20, 0x1C, 0x25, 0x30, 0x00, 0x78
- .byte 0x00, 0x06, 0xC0, 0x0F, 0x79, 0xD0, 0x60, 0x68, 0x16, 0xF0, 0xFA, 0xFD, 0x75, 0xE0, 0x20, 0x68
- .byte 0x00, 0x21, 0x19, 0xF0, 0x97, 0xF9, 0x21, 0x1C, 0x26, 0x31, 0x08, 0x70, 0x20, 0x68, 0x19, 0xF0
- .byte 0x63, 0xF9, 0x20, 0x60, 0x06, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD
- .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x86, 0xF9, 0x60, 0x85, 0x20, 0x68, 0x19, 0xF0, 0x54, 0xF9
- .byte 0x20, 0x60, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x7A, 0xF9
- .byte 0x20, 0x73, 0x52, 0xE0, 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x74, 0xF9, 0x60, 0x73, 0x4C, 0xE0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ bl FUN_0201B914
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ ldrb r1, [r4, #0xc]
+ ldrb r2, [r4, #0xd]
+ add r0, r4, #0x0
+ bl FUN_0201C1EC
+ add r0, r4, #0x0
+ add r0, #0x25
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ beq _020026CA
+ ldr r0, [r4, #0x4]
+ bl FUN_020191D0
+ b _020026CA
+_020025DE:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ bl FUN_0201B914
+ add r1, r4, #0x0
+ add r1, #0x26
+ strb r0, [r1, #0x0]
+ ldr r0, [r4, #0x0]
+ bl FUN_0201B8B8
+ str r0, [r4, #0x0]
+ mov r0, #0x6
+ add r4, #0x24
+ strb r0, [r4, #0x0]
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_02002600:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ bl FUN_0201B914
+ strh r0, [r4, #0x2a]
+ ldr r0, [r4, #0x0]
+ bl FUN_0201B8B8
+ str r0, [r4, #0x0]
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_02002618:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ bl FUN_0201B914
+ strb r0, [r4, #0xc]
+ b _020026CA
+_02002624:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ bl FUN_0201B914
+ strb r0, [r4, #0xd]
+ b _020026CA
_02002630:
ldr r0, [r4, #0x0]
mov r1, #0x0
@@ -3159,22 +3449,132 @@ _02002700:
mov r0, #0x0
pop {r3-r6, pc}
_02002742:
- .byte 0x00, 0xF0, 0xFB, 0xF9, 0x00, 0x28, 0x05, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x58, 0xF9
- .byte 0x00, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0xF0, 0xDC, 0xF9
- .byte 0x00, 0x28, 0x0D, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x4B, 0xF9, 0xA1, 0x7C, 0x60, 0x68, 0x16, 0xF0
- .byte 0x57, 0xFF, 0xA0, 0x7A, 0x20, 0x73, 0xE0, 0x7A, 0x60, 0x73, 0x00, 0x20, 0x24, 0x34, 0x20, 0x70
- .byte 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0xF0, 0xC7, 0xF9, 0x00, 0x28, 0x10, 0xD0, 0x20, 0x1C
- .byte 0x00, 0xF0, 0x36, 0xF9, 0x60, 0x7A, 0x01, 0x21, 0x00, 0xF0, 0x58, 0xFB, 0xE1, 0x7B, 0x09, 0x18
- .byte 0x20, 0x1C, 0x27, 0x30, 0x01, 0x70, 0xA0, 0x7A, 0x20, 0x73, 0x04, 0x20, 0x24, 0x34, 0x20, 0x70
- .byte 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x27, 0x30, 0x02, 0x78, 0x00, 0x2A, 0x20, 0xD0, 0x04, 0x2A
- .byte 0xA5, 0x7C, 0x09, 0xDA, 0x2B, 0x01, 0x2B, 0x43, 0x1B, 0x06, 0x60, 0x68, 0x00, 0x21, 0x1B, 0x0E
- .byte 0x18, 0xF0, 0x7A, 0xF8, 0x00, 0x21, 0x0C, 0xE0, 0x2B, 0x01, 0x2B, 0x43, 0x1B, 0x06, 0x60, 0x68
- .byte 0x00, 0x21, 0x04, 0x22, 0x1B, 0x0E, 0x18, 0xF0, 0x6F, 0xF8, 0x20, 0x1C, 0x27, 0x30, 0x00, 0x78
- .byte 0x01, 0x1F, 0x20, 0x1C, 0x27, 0x30, 0x01, 0x70, 0x60, 0x68, 0x16, 0xF0, 0xE9, 0xFC, 0x02, 0xE0
- .byte 0x00, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0x20, 0x24, 0x34
- .byte 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x26, 0x30, 0x00, 0x78, 0x00, 0x28, 0x05, 0xD0
- .byte 0x20, 0x1C, 0x26, 0x30, 0x00, 0x78, 0x26, 0x34, 0x40, 0x1E, 0x01, 0xE0, 0x00, 0x20, 0x24, 0x34
- .byte 0x03, 0xB0, 0x20, 0x70, 0x03, 0x20, 0x78, 0xBD
+ bl FUN_02002B3C
+ cmp r0, #0x0
+ beq _02002756
+ add r0, r4, #0x0
+ bl FUN_02002A00
+ mov r0, #0x0
+ add r4, #0x24
+ strb r0, [r4, #0x0]
+_02002756:
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_0200275C:
+ bl FUN_02002B18
+ cmp r0, #0x0
+ beq _02002780
+ add r0, r4, #0x0
+ bl FUN_02002A00
+ ldrb r1, [r4, #0x12]
+ ldr r0, [r4, #0x4]
+ bl FUN_02019620
+ ldrb r0, [r4, #0xa]
+ strb r0, [r4, #0xc]
+ ldrb r0, [r4, #0xb]
+ strb r0, [r4, #0xd]
+ mov r0, #0x0
+ add r4, #0x24
+ strb r0, [r4, #0x0]
+_02002780:
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_02002786:
+ bl FUN_02002B18
+ cmp r0, #0x0
+ beq _020027B0
+ add r0, r4, #0x0
+ bl FUN_02002A00
+ ldrb r0, [r4, #0x9]
+ mov r1, #0x1
+ bl FUN_02002E4C
+ ldrb r1, [r4, #0xf]
+ add r1, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x27
+ strb r1, [r0, #0x0]
+ ldrb r0, [r4, #0xa]
+ strb r0, [r4, #0xc]
+ mov r0, #0x4
+ add r4, #0x24
+ strb r0, [r4, #0x0]
+_020027B0:
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_020027B6:
+ add r0, #0x27
+ ldrb r2, [r0, #0x0]
+ cmp r2, #0x0
+ beq _02002800
+ cmp r2, #0x4
+ ldrb r5, [r4, #0x12]
+ bge _020027D8
+ lsl r3, r5, #0x4
+ orr r3, r5
+ lsl r3, r3, #0x18
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ lsr r3, r3, #0x18
+ bl FUN_0201A8C8
+ mov r1, #0x0
+ b _020027F2
+_020027D8:
+ lsl r3, r5, #0x4
+ orr r3, r5
+ lsl r3, r3, #0x18
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ mov r2, #0x4
+ lsr r3, r3, #0x18
+ bl FUN_0201A8C8
+ add r0, r4, #0x0
+ add r0, #0x27
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x4
+_020027F2:
+ add r0, r4, #0x0
+ add r0, #0x27
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x4]
+ bl FUN_020191D0
+ b _02002806
+_02002800:
+ mov r0, #0x0
+ add r4, #0x24
+ strb r0, [r4, #0x0]
+_02002806:
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_0200280C:
+ mov r0, #0x0
+ add r4, #0x24
+ strb r0, [r4, #0x0]
+ add sp, #0xc
+ mov r0, #0x3
+ pop {r3-r6, pc}
+_02002818:
+ add r0, #0x26
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0200282C
+ add r0, r4, #0x0
+ add r0, #0x26
+ ldrb r0, [r0, #0x0]
+ add r4, #0x26
+ sub r0, r0, #0x1
+ b _02002830
+_0200282C:
+ mov r0, #0x0
+ add r4, #0x24
+_02002830:
+ add sp, #0xc
+ strb r0, [r4, #0x0]
+ mov r0, #0x3
+ pop {r3-r6, pc}
_02002838:
mov r0, #0x1
add sp, #0xc
@@ -3999,31 +4399,66 @@ FUN_02002E4C: ; 0x02002E4C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r6, r4, #0
- lsl r6, r5, #0
- lsl r6, r6, #0
- lsl r6, r7, #0
- lsl r6, r0, #0x1
+_02002E5E: ; jump table (using 16-bit offset)
+ .short _02002E6E - _02002E5E - 2; case 0
+ .short _02002E76 - _02002E5E - 2; case 1
+ .short _02002E7E - _02002E5E - 2; case 2
+ .short _02002E86 - _02002E5E - 2; case 3
+ .short _02002E8E - _02002E5E - 2; case 4
+ .short _02002E96 - _02002E5E - 2; case 5
+ .short _02002E9E - _02002E5E - 2; case 6
+ .short _02002EA6 - _02002E5E - 2; case 7
+_02002E6E:
lsl r1, r0, #0x3
ldr r0, _02002EB0 ; =0x020ECB64
ldrb r2, [r0, r1]
b _02002EAC
_02002E76:
- .byte 0xC1, 0x00, 0x0E, 0x48, 0x42, 0x5C, 0x16, 0xE0, 0xC1, 0x00
- .byte 0x0D, 0x48, 0x42, 0x5C, 0x12, 0xE0, 0xC1, 0x00, 0x0C, 0x48, 0x42, 0x5C, 0x0E, 0xE0, 0xC1, 0x00
- .byte 0x0B, 0x48, 0x42, 0x5C, 0x0A, 0xE0, 0xC1, 0x00, 0x0A, 0x48, 0x42, 0x5C, 0x06, 0xE0, 0xC1, 0x00
- .byte 0x09, 0x48, 0x42, 0x5C, 0x02, 0xE0, 0xC1, 0x00, 0x08, 0x48, 0x42, 0x5C
+ lsl r1, r0, #0x3
+ ldr r0, _02002EB4 ; =0x020ECB65
+ ldrb r2, [r0, r1]
+ b _02002EAC
+_02002E7E:
+ lsl r1, r0, #0x3
+ ldr r0, _02002EB8 ; =0x020ECB66
+ ldrb r2, [r0, r1]
+ b _02002EAC
+_02002E86:
+ lsl r1, r0, #0x3
+ ldr r0, _02002EBC ; =0x020ECB67
+ ldrb r2, [r0, r1]
+ b _02002EAC
+_02002E8E:
+ lsl r1, r0, #0x3
+ ldr r0, _02002EC0 ; =0x020ECB68
+ ldrb r2, [r0, r1]
+ b _02002EAC
+_02002E96:
+ lsl r1, r0, #0x3
+ ldr r0, _02002EC4 ; =0x020ECB69
+ ldrb r2, [r0, r1]
+ b _02002EAC
+_02002E9E:
+ lsl r1, r0, #0x3
+ ldr r0, _02002EC8 ; =0x020ECB6A
+ ldrb r2, [r0, r1]
+ b _02002EAC
+_02002EA6:
+ lsl r1, r0, #0x3
+ ldr r0, _02002ECC ; =0x020ECB6B
+ ldrb r2, [r0, r1]
_02002EAC:
add r0, r2, #0x0
bx lr
.balign 4
_02002EB0: .word 0x020ECB64
-_02002EB4:
- .byte 0x65, 0xCB, 0x0E, 0x02, 0x66, 0xCB, 0x0E, 0x02, 0x67, 0xCB, 0x0E, 0x02
- .byte 0x68, 0xCB, 0x0E, 0x02, 0x69, 0xCB, 0x0E, 0x02, 0x6A, 0xCB, 0x0E, 0x02, 0x6B, 0xCB, 0x0E, 0x02
+_02002EB4: .word 0x020ECB65
+_02002EB8: .word 0x020ECB66
+_02002EBC: .word 0x020ECB67
+_02002EC0: .word 0x020ECB68
+_02002EC4: .word 0x020ECB69
+_02002EC8: .word 0x020ECB6A
+_02002ECC: .word 0x020ECB6B
thumb_func_start FUN_02002ED0
FUN_02002ED0: ; 0x02002ED0
@@ -4363,16 +4798,27 @@ _02003126:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
+_02003136: ; jump table (using 16-bit offset)
+ .short _0200313E - _02003136 - 2; case 0
+ .short _02003146 - _02003136 - 2; case 1
+ .short _0200314E - _02003136 - 2; case 2
+ .short _02003156 - _02003136 - 2; case 3
+_0200313E:
bl FUN_020222E8
add r1, r0, #0x0
b _02003164
_02003146:
- .byte 0x1F, 0xF0, 0xD7, 0xF8, 0x01, 0x1C, 0x0A, 0xE0, 0x1F, 0xF0
- .byte 0xDB, 0xF8, 0x01, 0x1C, 0x06, 0xE0, 0x1F, 0xF0, 0xDB, 0xF8, 0x01, 0x1C, 0x02, 0xE0
+ bl FUN_020222F8
+ add r1, r0, #0x0
+ b _02003164
+_0200314E:
+ bl FUN_02022308
+ add r1, r0, #0x0
+ b _02003164
+_02003156:
+ bl FUN_02022310
+ add r1, r0, #0x0
+ b _02003164
_0200315E:
bl FUN_02020C2C
pop {r3-r7, pc}
@@ -5209,42 +5655,128 @@ _0200377E:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r3, #0
- lsl r6, r4, #0
- lsl r2, r6, #0
- lsl r6, r7, #0
- lsl r2, r1, #0x1
- lsl r6, r3, #0x1
- lsl r2, r6, #0x1
- lsl r0, r1, #0x2
- lsl r6, r3, #0x2
- lsl r2, r6, #0x2
- lsl r6, r0, #0x3
- lsl r4, r3, #0x3
- lsl r2, r6, #0x3
- lsl r6, r0, #0x4
+_0200378A: ; jump table (using 16-bit offset)
+ .short _020037A6 - _0200378A - 2; case 0
+ .short _020037B2 - _0200378A - 2; case 1
+ .short _020037BE - _0200378A - 2; case 2
+ .short _020037CA - _0200378A - 2; case 3
+ .short _020037D6 - _0200378A - 2; case 4
+ .short _020037EA - _0200378A - 2; case 5
+ .short _020037FE - _0200378A - 2; case 6
+ .short _02003814 - _0200378A - 2; case 7
+ .short _0200382A - _0200378A - 2; case 8
+ .short _0200383E - _0200378A - 2; case 9
+ .short _02003852 - _0200378A - 2; case 10
+ .short _02003868 - _0200378A - 2; case 11
+ .short _0200387E - _0200378A - 2; case 12
+ .short _02003892 - _0200378A - 2; case 13
+_020037A6:
ldr r0, [r4, #0x4]
ldr r2, [r4, #0x8]
mov r1, #0x0
blx FUN_020C9550
b _020038A4
_020037B2:
- .byte 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x96, 0xEE, 0x72, 0xE0, 0x60, 0x68
- .byte 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x5C, 0xEE, 0x6C, 0xE0, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21
- .byte 0xC5, 0xF0, 0x22, 0xEE, 0x66, 0xE0, 0xC5, 0xF0, 0x9C, 0xE9, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21
- .byte 0xC5, 0xF0, 0x56, 0xE9, 0xC5, 0xF0, 0x22, 0xE9, 0x5C, 0xE0, 0xC5, 0xF0, 0x92, 0xE9, 0x60, 0x68
- .byte 0xA2, 0x68, 0x39, 0x1C, 0xC5, 0xF0, 0x4C, 0xE9, 0xC5, 0xF0, 0x18, 0xE9, 0x52, 0xE0, 0xC5, 0xF0
- .byte 0x88, 0xE9, 0x01, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x89, 0x03, 0xC5, 0xF0, 0x42, 0xE9, 0xC5, 0xF0
- .byte 0x0E, 0xE9, 0x47, 0xE0, 0xC5, 0xF0, 0x7C, 0xE9, 0x06, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x09, 0x03
- .byte 0xC5, 0xF0, 0x36, 0xE9, 0xC5, 0xF0, 0x02, 0xE9, 0x3C, 0xE0, 0xC5, 0xF0, 0x50, 0xE8, 0x60, 0x68
- .byte 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x10, 0xE8, 0xC4, 0xF0, 0xE8, 0xEF, 0x32, 0xE0, 0xC5, 0xF0
- .byte 0x46, 0xE8, 0x60, 0x68, 0xA2, 0x68, 0x39, 0x1C, 0xC5, 0xF0, 0x06, 0xE8, 0xC4, 0xF0, 0xDE, 0xEF
- .byte 0x28, 0xE0, 0xC5, 0xF0, 0x3C, 0xE8, 0x01, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x89, 0x03, 0xC4, 0xF0
- .byte 0xFC, 0xEF, 0xC4, 0xF0, 0xD4, 0xEF, 0x1D, 0xE0, 0xC5, 0xF0, 0x30, 0xE8, 0x06, 0x21, 0x60, 0x68
- .byte 0xA2, 0x68, 0x09, 0x03, 0xC4, 0xF0, 0xF0, 0xEF, 0xC4, 0xF0, 0xC8, 0xEF, 0x12, 0xE0, 0xC5, 0xF0
- .byte 0x9E, 0xE8, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x5E, 0xE8, 0xC5, 0xF0, 0x30, 0xE8
- .byte 0x08, 0xE0, 0xC4, 0xF0, 0xAA, 0xEF, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC4, 0xF0, 0x6A, 0xEF
- .byte 0xC4, 0xF0, 0x42, 0xEF
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C94E8
+ b _020038A4
+_020037BE:
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C9480
+ b _020038A4
+_020037CA:
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C9418
+ b _020038A4
+_020037D6:
+ blx FUN_020C8B10
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C8A90
+ blx FUN_020C8A2C
+ b _020038A4
+_020037EA:
+ blx FUN_020C8B10
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ add r1, r7, #0x0
+ blx FUN_020C8A90
+ blx FUN_020C8A2C
+ b _020038A4
+_020037FE:
+ blx FUN_020C8B10
+ mov r1, #0x1
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ lsl r1, r1, #0xe
+ blx FUN_020C8A90
+ blx FUN_020C8A2C
+ b _020038A4
+_02003814:
+ blx FUN_020C8B10
+ mov r1, #0x6
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ lsl r1, r1, #0xc
+ blx FUN_020C8A90
+ blx FUN_020C8A2C
+ b _020038A4
+_0200382A:
+ blx FUN_020C88CC
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C8858
+ blx FUN_020C880C
+ b _020038A4
+_0200383E:
+ blx FUN_020C88CC
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ add r1, r7, #0x0
+ blx FUN_020C8858
+ blx FUN_020C880C
+ b _020038A4
+_02003852:
+ blx FUN_020C88CC
+ mov r1, #0x1
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ lsl r1, r1, #0xe
+ blx FUN_020C8858
+ blx FUN_020C880C
+ b _020038A4
+_02003868:
+ blx FUN_020C88CC
+ mov r1, #0x6
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ lsl r1, r1, #0xc
+ blx FUN_020C8858
+ blx FUN_020C880C
+ b _020038A4
+_0200387E:
+ blx FUN_020C89BC
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C8948
+ blx FUN_020C88F0
+ b _020038A4
+_02003892:
+ blx FUN_020C87E8
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ mov r1, #0x0
+ blx FUN_020C8774
+ blx FUN_020C8728
_020038A4:
add r5, r5, #0x1
add r4, #0x14
@@ -5748,30 +6280,66 @@ FUN_02003C40: ; 0x02003C40
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r7, #0x1
- lsl r4, r1, #0
- lsl r2, r7, #0x1
- lsl r4, r2, #0
- lsl r4, r4, #0
- lsl r4, r6, #0
- lsl r2, r2, #0x1
+_02003C5C: ; jump table (using 16-bit offset)
+ .short _02003CD8 - _02003C5C - 2; case 0
+ .short _02003C6A - _02003C5C - 2; case 1
+ .short _02003CD8 - _02003C5C - 2; case 2
+ .short _02003C72 - _02003C5C - 2; case 3
+ .short _02003C82 - _02003C5C - 2; case 4
+ .short _02003C92 - _02003C5C - 2; case 5
+ .short _02003CB0 - _02003C5C - 2; case 6
+_02003C6A:
mov r0, #0x2
bl FUN_02003CE8
pop {r4, pc}
_02003C72:
- .byte 0x01, 0xF0, 0xC7, 0xFB, 0x00, 0x28, 0x2E, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x34, 0xF8
- .byte 0x10, 0xBD, 0x01, 0xF0, 0xBF, 0xFB, 0x00, 0x28, 0x26, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x2C, 0xF8
- .byte 0x10, 0xBD, 0x01, 0xF0, 0xB7, 0xFB, 0x00, 0x28, 0x1E, 0xD1, 0x01, 0xF0, 0x7B, 0xF8, 0x00, 0x28
- .byte 0x1A, 0xD1, 0x00, 0xF0, 0x1B, 0xFA, 0x0E, 0x48, 0x20, 0x5A, 0x01, 0xF0, 0xB7, 0xFA, 0x10, 0xBD
- .byte 0x01, 0xF0, 0xA8, 0xFB, 0x00, 0x28, 0x0F, 0xD1, 0x01, 0xF0, 0x6C, 0xF8, 0x00, 0x28, 0x0B, 0xD1
- .byte 0x00, 0xF0, 0x0C, 0xFA, 0x06, 0x48, 0x20, 0x5A, 0x01, 0xF0, 0xA8, 0xFA, 0x05, 0x49, 0x7F, 0x20
- .byte 0x61, 0x58, 0x00, 0x22, 0x01, 0xF0, 0x5A, 0xFB
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02003CD8
+ mov r0, #0x2
+ bl FUN_02003CE8
+ pop {r4, pc}
+_02003C82:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02003CD8
+ mov r0, #0x2
+ bl FUN_02003CE8
+ pop {r4, pc}
+_02003C92:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02003CD8
+ bl FUN_02004D94
+ cmp r0, #0x0
+ bne _02003CD8
+ bl FUN_020040DC
+ ldr r0, _02003CE0 ; =0x000BCD0E
+ ldrh r0, [r4, r0]
+ bl FUN_0200521C
+ pop {r4, pc}
+_02003CB0:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02003CD8
+ bl FUN_02004D94
+ cmp r0, #0x0
+ bne _02003CD8
+ bl FUN_020040DC
+ ldr r0, _02003CE0 ; =0x000BCD0E
+ ldrh r0, [r4, r0]
+ bl FUN_0200521C
+ ldr r1, _02003CE4 ; =0x000BCD08
+ mov r0, #0x7f
+ ldr r1, [r4, r1]
+ mov r2, #0x0
+ bl FUN_0200538C
_02003CD8:
pop {r4, pc}
nop
_02003CDC: .word 0x02107070
-_02003CE0:
- .byte 0x0E, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00
+_02003CE0: .word 0x000BCD0E
+_02003CE4: .word 0x000BCD08
thumb_func_start FUN_02003CE8
FUN_02003CE8: ; 0x02003CE8
@@ -5834,83 +6402,252 @@ _02003D46:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r2, #0x1
- lsl r2, r3, #0x1
- lsl r0, r4, #0x1
- lsl r6, r4, #0x1
- lsl r4, r5, #0x1
- lsl r6, r1, #0x1
- lsl r2, r6, #0x1
- lsl r0, r7, #0x1
- lsl r6, r7, #0x1
- lsl r4, r0, #0x2
- lsl r2, r1, #0x2
- lsl r0, r2, #0x2
- lsl r6, r2, #0x2
- lsl r4, r3, #0x2
- lsl r2, r4, #0x2
- lsl r0, r5, #0x2
- lsl r6, r5, #0x2
- lsl r4, r6, #0x2
- lsl r2, r7, #0x2
- lsl r0, r0, #0x3
- lsl r6, r0, #0x3
- lsl r4, r1, #0x3
- lsl r2, r2, #0x3
- lsl r0, r3, #0x3
- lsl r6, r3, #0x3
- lsl r4, r4, #0x3
- lsl r2, r5, #0x3
- lsl r0, r6, #0x3
- lsl r6, r6, #0x3
- lsl r4, r7, #0x3
- lsl r2, r0, #0x4
- lsl r0, r1, #0x4
- lsl r6, r1, #0x4
- lsl r4, r2, #0x4
- lsl r2, r3, #0x4
- lsl r0, r4, #0x4
- lsl r6, r4, #0x4
- lsl r4, r5, #0x4
- lsl r2, r6, #0x4
- lsl r0, r7, #0x4
+_02003D52: ; jump table (using 16-bit offset)
+ .short _02003DA8 - _02003D52 - 2; case 0
+ .short _02003DAE - _02003D52 - 2; case 1
+ .short _02003DB4 - _02003D52 - 2; case 2
+ .short _02003DBA - _02003D52 - 2; case 3
+ .short _02003DC0 - _02003D52 - 2; case 4
+ .short _02003DA2 - _02003D52 - 2; case 5
+ .short _02003DC6 - _02003D52 - 2; case 6
+ .short _02003DCC - _02003D52 - 2; case 7
+ .short _02003DD2 - _02003D52 - 2; case 8
+ .short _02003DD8 - _02003D52 - 2; case 9
+ .short _02003DDE - _02003D52 - 2; case 10
+ .short _02003DE4 - _02003D52 - 2; case 11
+ .short _02003DEA - _02003D52 - 2; case 12
+ .short _02003DF0 - _02003D52 - 2; case 13
+ .short _02003DF6 - _02003D52 - 2; case 14
+ .short _02003DFC - _02003D52 - 2; case 15
+ .short _02003E02 - _02003D52 - 2; case 16
+ .short _02003E08 - _02003D52 - 2; case 17
+ .short _02003E0E - _02003D52 - 2; case 18
+ .short _02003E14 - _02003D52 - 2; case 19
+ .short _02003E1A - _02003D52 - 2; case 20
+ .short _02003E20 - _02003D52 - 2; case 21
+ .short _02003E26 - _02003D52 - 2; case 22
+ .short _02003E2C - _02003D52 - 2; case 23
+ .short _02003E32 - _02003D52 - 2; case 24
+ .short _02003E38 - _02003D52 - 2; case 25
+ .short _02003E3E - _02003D52 - 2; case 26
+ .short _02003E44 - _02003D52 - 2; case 27
+ .short _02003E4A - _02003D52 - 2; case 28
+ .short _02003E50 - _02003D52 - 2; case 29
+ .short _02003E56 - _02003D52 - 2; case 30
+ .short _02003E5C - _02003D52 - 2; case 31
+ .short _02003E62 - _02003D52 - 2; case 32
+ .short _02003E68 - _02003D52 - 2; case 33
+ .short _02003E6E - _02003D52 - 2; case 34
+ .short _02003E74 - _02003D52 - 2; case 35
+ .short _02003E7A - _02003D52 - 2; case 36
+ .short _02003E80 - _02003D52 - 2; case 37
+ .short _02003E86 - _02003D52 - 2; case 38
+ .short _02003E8C - _02003D52 - 2; case 39
+_02003DA2:
ldr r1, _02003E9C ; =0x000BCCFE
add r0, r0, r1
pop {r4, pc}
_02003DA8:
- .byte 0x3D, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3D, 0x49
- .byte 0x40, 0x18, 0x10, 0xBD, 0x3C, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3C, 0x49, 0x40, 0x18, 0x10, 0xBD
- .byte 0x3B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3A, 0x49, 0x40, 0x18
- .byte 0x10, 0xBD, 0x3A, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x39, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x39, 0x49
- .byte 0x40, 0x18, 0x10, 0xBD, 0x38, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x38, 0x49, 0x40, 0x18, 0x10, 0xBD
- .byte 0x37, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x37, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x36, 0x49, 0x40, 0x18
- .byte 0x10, 0xBD, 0x36, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x35, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x35, 0x49
- .byte 0x40, 0x18, 0x10, 0xBD, 0x34, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x34, 0x49, 0x40, 0x18, 0x10, 0xBD
- .byte 0x33, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x33, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x32, 0x49, 0x40, 0x18
- .byte 0x10, 0xBD, 0x32, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x31, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x31, 0x49
- .byte 0x40, 0x18, 0x10, 0xBD, 0x30, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x30, 0x49, 0x40, 0x18, 0x10, 0xBD
- .byte 0x2F, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2F, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2E, 0x49, 0x40, 0x18
- .byte 0x10, 0xBD, 0x2E, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2D, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2D, 0x49
- .byte 0x40, 0x18, 0x10, 0xBD, 0x2C, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2C, 0x49, 0x40, 0x18, 0x10, 0xBD
- .byte 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2A, 0x49, 0x40, 0x18
- .byte 0x10, 0xBD
+ ldr r1, _02003EA0 ; =0x000BBCB8
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DAE:
+ ldr r1, _02003EA4 ; =0x000BBCBC
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DB4:
+ ldr r1, _02003EA8 ; =0x000BBCC0
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DBA:
+ ldr r1, _02003EAC ; =0x000BBCE0
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DC0:
+ ldr r1, _02003EB0 ; =0x000BCCE0
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DC6:
+ ldr r1, _02003EB4 ; =0x000BCD00
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DCC:
+ ldr r1, _02003EB8 ; =0x000BCD04
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DD2:
+ ldr r1, _02003EBC ; =0x000BCD08
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DD8:
+ ldr r1, _02003EC0 ; =0x000BCD0C
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DDE:
+ ldr r1, _02003EC4 ; =0x000BCD0E
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DE4:
+ ldr r1, _02003EC8 ; =0x000BCD10
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DEA:
+ ldr r1, _02003ECC ; =0x000BCD11
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DF0:
+ ldr r1, _02003ED0 ; =0x000BCD12
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DF6:
+ ldr r1, _02003ED4 ; =0x000BCD14
+ add r0, r0, r1
+ pop {r4, pc}
+_02003DFC:
+ ldr r1, _02003ED8 ; =0x000BCD15
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E02:
+ ldr r1, _02003EDC ; =0x000BCD16
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E08:
+ ldr r1, _02003EE0 ; =0x000BCD17
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E0E:
+ ldr r1, _02003EE4 ; =0x000BCD18
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E14:
+ ldr r1, _02003EE8 ; =0x000BCD19
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E1A:
+ ldr r1, _02003EEC ; =0x000BCD1A
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E20:
+ ldr r1, _02003EF0 ; =0x000BCD1B
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E26:
+ ldr r1, _02003EF4 ; =0x000BCD1C
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E2C:
+ ldr r1, _02003EF8 ; =0x000BCD20
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E32:
+ ldr r1, _02003EFC ; =0x000BCD24
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E38:
+ ldr r1, _02003F00 ; =0x000BCD28
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E3E:
+ ldr r1, _02003F04 ; =0x000BCD2C
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E44:
+ ldr r1, _02003F08 ; =0x000BCD30
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E4A:
+ ldr r1, _02003F0C ; =0x000BCD34
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E50:
+ ldr r1, _02003F10 ; =0x000BCD38
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E56:
+ ldr r1, _02003F14 ; =0x000BCD39
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E5C:
+ ldr r1, _02003F18 ; =0x000BCD3A
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E62:
+ ldr r1, _02003F1C ; =0x000BCD3C
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E68:
+ ldr r1, _02003F20 ; =0x000BCD40
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E6E:
+ ldr r1, _02003F24 ; =0x000BCD48
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E74:
+ ldr r1, _02003F28 ; =0x000BCD4C
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E7A:
+ ldr r1, _02003F2C ; =0x000BCD50
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E80:
+ ldr r1, _02003F30 ; =0x000BCD54
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E86:
+ ldr r1, _02003F34 ; =0x000BCD58
+ add r0, r0, r1
+ pop {r4, pc}
+_02003E8C:
+ ldr r1, _02003F38 ; =0x000BCD5C
+ add r0, r0, r1
+ pop {r4, pc}
_02003E92:
bl FUN_02020C2C
mov r0, #0x0
pop {r4, pc}
nop
_02003E9C: .word 0x000BCCFE
-_02003EA0:
- .byte 0xB8, 0xBC, 0x0B, 0x00, 0xBC, 0xBC, 0x0B, 0x00, 0xC0, 0xBC, 0x0B, 0x00, 0xE0, 0xBC, 0x0B, 0x00
- .byte 0xE0, 0xCC, 0x0B, 0x00, 0x00, 0xCD, 0x0B, 0x00, 0x04, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00
- .byte 0x0C, 0xCD, 0x0B, 0x00, 0x0E, 0xCD, 0x0B, 0x00, 0x10, 0xCD, 0x0B, 0x00, 0x11, 0xCD, 0x0B, 0x00
- .byte 0x12, 0xCD, 0x0B, 0x00, 0x14, 0xCD, 0x0B, 0x00, 0x15, 0xCD, 0x0B, 0x00, 0x16, 0xCD, 0x0B, 0x00
- .byte 0x17, 0xCD, 0x0B, 0x00, 0x18, 0xCD, 0x0B, 0x00, 0x19, 0xCD, 0x0B, 0x00, 0x1A, 0xCD, 0x0B, 0x00
- .byte 0x1B, 0xCD, 0x0B, 0x00, 0x1C, 0xCD, 0x0B, 0x00, 0x20, 0xCD, 0x0B, 0x00, 0x24, 0xCD, 0x0B, 0x00
- .byte 0x28, 0xCD, 0x0B, 0x00, 0x2C, 0xCD, 0x0B, 0x00, 0x30, 0xCD, 0x0B, 0x00, 0x34, 0xCD, 0x0B, 0x00
- .byte 0x38, 0xCD, 0x0B, 0x00, 0x39, 0xCD, 0x0B, 0x00, 0x3A, 0xCD, 0x0B, 0x00, 0x3C, 0xCD, 0x0B, 0x00
- .byte 0x40, 0xCD, 0x0B, 0x00, 0x48, 0xCD, 0x0B, 0x00, 0x4C, 0xCD, 0x0B, 0x00, 0x50, 0xCD, 0x0B, 0x00
- .byte 0x54, 0xCD, 0x0B, 0x00, 0x58, 0xCD, 0x0B, 0x00, 0x5C, 0xCD, 0x0B, 0x00
+_02003EA0: .word 0x000BBCB8
+_02003EA4: .word 0x000BBCBC
+_02003EA8: .word 0x000BBCC0
+_02003EAC: .word 0x000BBCE0
+_02003EB0: .word 0x000BCCE0
+_02003EB4: .word 0x000BCD00
+_02003EB8: .word 0x000BCD04
+_02003EBC: .word 0x000BCD08
+_02003EC0: .word 0x000BCD0C
+_02003EC4: .word 0x000BCD0E
+_02003EC8: .word 0x000BCD10
+_02003ECC: .word 0x000BCD11
+_02003ED0: .word 0x000BCD12
+_02003ED4: .word 0x000BCD14
+_02003ED8: .word 0x000BCD15
+_02003EDC: .word 0x000BCD16
+_02003EE0: .word 0x000BCD17
+_02003EE4: .word 0x000BCD18
+_02003EE8: .word 0x000BCD19
+_02003EEC: .word 0x000BCD1A
+_02003EF0: .word 0x000BCD1B
+_02003EF4: .word 0x000BCD1C
+_02003EF8: .word 0x000BCD20
+_02003EFC: .word 0x000BCD24
+_02003F00: .word 0x000BCD28
+_02003F04: .word 0x000BCD2C
+_02003F08: .word 0x000BCD30
+_02003F0C: .word 0x000BCD34
+_02003F10: .word 0x000BCD38
+_02003F14: .word 0x000BCD39
+_02003F18: .word 0x000BCD3A
+_02003F1C: .word 0x000BCD3C
+_02003F20: .word 0x000BCD40
+_02003F24: .word 0x000BCD48
+_02003F28: .word 0x000BCD4C
+_02003F2C: .word 0x000BCD50
+_02003F30: .word 0x000BCD54
+_02003F34: .word 0x000BCD58
+_02003F38: .word 0x000BCD5C
thumb_func_start FUN_02003F3C
FUN_02003F3C: ; 0x02003F3C
@@ -6042,20 +6779,39 @@ FUN_02004018: ; 0x02004018
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
+_0200402A: ; jump table (using 16-bit offset)
+ .short _0200403E - _0200402A - 2; case 0
+ .short _0200403A - _0200402A - 2; case 1
+ .short _02004042 - _0200402A - 2; case 2
+ .short _02004046 - _0200402A - 2; case 3
+ .short _0200404A - _0200402A - 2; case 4
+ .short _0200404E - _0200402A - 2; case 5
+ .short _02004052 - _0200402A - 2; case 6
+ .short _02004056 - _0200402A - 2; case 7
+_0200403A:
mov r0, #0x0
pop {r3, pc}
_0200403E:
- .byte 0x01, 0x20
- .byte 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x05, 0x20
- .byte 0x08, 0xBD, 0x06, 0x20, 0x08, 0xBD, 0x07, 0x20, 0x08, 0xBD
+ mov r0, #0x1
+ pop {r3, pc}
+_02004042:
+ mov r0, #0x2
+ pop {r3, pc}
+_02004046:
+ mov r0, #0x3
+ pop {r3, pc}
+_0200404A:
+ mov r0, #0x4
+ pop {r3, pc}
+_0200404E:
+ mov r0, #0x5
+ pop {r3, pc}
+_02004052:
+ mov r0, #0x6
+ pop {r3, pc}
+_02004056:
+ mov r0, #0x7
+ pop {r3, pc}
_0200405A:
bl FUN_02020C2C
mov r0, #0x3
@@ -6247,21 +7003,22 @@ _02004192:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r2, r0, #0x6
- lsl r0, r7, #0x1
- lsl r2, r0, #0x2
- lsl r4, r1, #0x2
- lsl r6, r2, #0x2
- lsl r0, r4, #0x2
- lsl r4, r6, #0x2
- lsl r0, r6, #0x3
- lsl r6, r7, #0x2
- lsl r0, r7, #0x1
- lsl r0, r7, #0x1
- lsl r2, r5, #0x2
- lsl r0, r1, #0x3
- lsl r2, r0, #0x2
- lsl r0, r7, #0x1
+_020041A8: ; jump table (using 16-bit offset)
+ .short _0200432C - _020041A8 - 2; case 0
+ .short _02004222 - _020041A8 - 2; case 1
+ .short _0200422C - _020041A8 - 2; case 2
+ .short _02004236 - _020041A8 - 2; case 3
+ .short _02004240 - _020041A8 - 2; case 4
+ .short _0200424A - _020041A8 - 2; case 5
+ .short _0200425E - _020041A8 - 2; case 6
+ .short _0200429A - _020041A8 - 2; case 7
+ .short _02004268 - _020041A8 - 2; case 8
+ .short _02004222 - _020041A8 - 2; case 9
+ .short _02004222 - _020041A8 - 2; case 10
+ .short _02004254 - _020041A8 - 2; case 11
+ .short _02004272 - _020041A8 - 2; case 12
+ .short _0200422C - _020041A8 - 2; case 13
+ .short _02004222 - _020041A8 - 2; case 14
_020041C6:
cmp r0, #0x34
beq _02004290
@@ -6315,28 +7072,66 @@ _0200420E:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r6, #0x3
- lsl r2, r0, #0x4
- lsl r2, r5, #0x1
- lsl r2, r2, #0x2
+_0200421A: ; jump table (using 16-bit offset)
+ .short _0200430E - _0200421A - 2; case 0
+ .short _0200431E - _0200421A - 2; case 1
+ .short _02004286 - _0200421A - 2; case 2
+ .short _020042AE - _0200421A - 2; case 3
+_02004222:
mov r0, #0x1
bl FUN_02003F78
add r1, r0, #0x0
b _0200432C
_0200422C:
- .byte 0x02, 0x20, 0xFF, 0xF7
- .byte 0xA3, 0xFE, 0x01, 0x1C, 0x7A, 0xE0, 0x0D, 0x20, 0xFF, 0xF7, 0x9E, 0xFE, 0x01, 0x1C, 0x75, 0xE0
- .byte 0x01, 0x20, 0xFF, 0xF7, 0x99, 0xFE, 0x01, 0x1C, 0x70, 0xE0, 0x02, 0x20, 0xFF, 0xF7, 0x94, 0xFE
- .byte 0x01, 0x1C, 0x6B, 0xE0, 0x01, 0x20, 0xFF, 0xF7, 0x8F, 0xFE, 0x01, 0x1C, 0x66, 0xE0, 0x0B, 0x20
- .byte 0xFF, 0xF7, 0x8A, 0xFE, 0x01, 0x1C, 0x61, 0xE0, 0x01, 0x20, 0xFF, 0xF7, 0x85, 0xFE, 0x01, 0x1C
- .byte 0x5C, 0xE0, 0x0E, 0x20, 0xFF, 0xF7, 0x80, 0xFE, 0x01, 0x1C, 0x57, 0xE0
+ mov r0, #0x2
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_02004236:
+ mov r0, #0xd
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_02004240:
+ mov r0, #0x1
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_0200424A:
+ mov r0, #0x2
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_02004254:
+ mov r0, #0x1
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_0200425E:
+ mov r0, #0xb
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_02004268:
+ mov r0, #0x1
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
+_02004272:
+ mov r0, #0xe
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
_0200427C:
mov r0, #0x3
bl FUN_02003F78
add r1, r0, #0x0
b _0200432C
_02004286:
- .byte 0x06, 0x20, 0xFF, 0xF7, 0x76, 0xFE, 0x01, 0x1C, 0x4D, 0xE0
+ mov r0, #0x6
+ bl FUN_02003F78
+ add r1, r0, #0x0
+ b _0200432C
_02004290:
mov r0, #0x5
bl FUN_02003F78
@@ -6400,16 +7195,25 @@ _02004304:
add r1, r0, #0x0
b _0200432C
_0200430E:
- .byte 0x09, 0x48
- .byte 0xFF, 0xF7, 0x64, 0xFE, 0x07, 0x48, 0xFF, 0xF7, 0x55, 0xFE, 0x01, 0x1C, 0x06, 0xE0, 0x06, 0x48
- .byte 0xFF, 0xF7, 0x5C, 0xFE, 0x04, 0x48, 0xFF, 0xF7, 0x4D, 0xFE, 0x01, 0x1C
+ ldr r0, _02004334 ; =0x000005ED
+ bl FUN_02003FDC
+ ldr r0, _02004334 ; =0x000005ED
+ bl FUN_02003FC4
+ add r1, r0, #0x0
+ b _0200432C
+_0200431E:
+ ldr r0, _02004338 ; =0x000005EC
+ bl FUN_02003FDC
+ ldr r0, _02004338 ; =0x000005EC
+ bl FUN_02003FC4
+ add r1, r0, #0x0
_0200432C:
add r0, r1, #0x0
pop {r3, pc}
.balign 4
_02004330: .word 0x000005E5
-_02004334:
- .byte 0xED, 0x05, 0x00, 0x00, 0xEC, 0x05, 0x00, 0x00
+_02004334: .word 0x000005ED
+_02004338: .word 0x000005EC
thumb_func_start FUN_0200433C
FUN_0200433C: ; 0x0200433C
@@ -6464,21 +7268,22 @@ _0200437E:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r7, #0x3
- lsl r0, r7, #0x2
- lsl r4, r3, #0x3
- lsl r6, r5, #0x3
- lsl r4, r6, #0x1
- lsl r0, r1, #0x2
- lsl r4, r3, #0x2
- lsl r6, r4, #0x2
- lsl r6, r5, #0x3
- lsl r6, r5, #0x3
- lsl r6, r5, #0x3
- lsl r2, r2, #0x2
- lsl r6, r5, #0x3
- lsl r6, r5, #0x3
- lsl r2, r1, #0x3
+_020043A6: ; jump table (using 16-bit offset)
+ .short _020044A0 - _020043A6 - 2; case 0
+ .short _02004460 - _020043A6 - 2; case 1
+ .short _02004484 - _020043A6 - 2; case 2
+ .short _02004496 - _020043A6 - 2; case 3
+ .short _0200441C - _020043A6 - 2; case 4
+ .short _02004430 - _020043A6 - 2; case 5
+ .short _02004444 - _020043A6 - 2; case 6
+ .short _0200444E - _020043A6 - 2; case 7
+ .short _02004496 - _020043A6 - 2; case 8
+ .short _02004496 - _020043A6 - 2; case 9
+ .short _02004496 - _020043A6 - 2; case 10
+ .short _0200443A - _020043A6 - 2; case 11
+ .short _02004496 - _020043A6 - 2; case 12
+ .short _02004496 - _020043A6 - 2; case 13
+ .short _02004472 - _020043A6 - 2; case 14
_020043C4:
cmp r4, #0x34
beq _02004458
@@ -6527,10 +7332,12 @@ _02004400:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r0, #0x1
- lsl r2, r0, #0x1
- lsl r2, r0, #0x1
- lsl r2, r0, #0x1
+_02004414: ; jump table (using 16-bit offset)
+ .short _02004458 - _02004414 - 2; case 0
+ .short _02004458 - _02004414 - 2; case 1
+ .short _02004458 - _02004414 - 2; case 2
+ .short _02004458 - _02004414 - 2; case 3
+_0200441C:
mov r0, #0x0
bl FUN_0200516C
add r0, r5, #0x0
@@ -6540,18 +7347,58 @@ _02004400:
strh r0, [r7, #0x0]
b _020044A0
_02004430:
- .byte 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0x08, 0xF9, 0x32, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0
- .byte 0x1F, 0xF9, 0x2D, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0x2A, 0xF9, 0x28, 0xE0, 0x28, 0x1C
- .byte 0x31, 0x1C, 0x00, 0xF0, 0x37, 0xF9, 0x23, 0xE0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02004648
+ b _020044A0
+_0200443A:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02004680
+ b _020044A0
+_02004444:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020046A0
+ b _020044A0
+_0200444E:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020046C4
+ b _020044A0
_02004458:
add r0, r4, #0x0
bl FUN_020046E8
b _020044A0
_02004460:
- .byte 0x01, 0x20, 0x00, 0xF0, 0x83, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x4A, 0xF9
- .byte 0x16, 0xE0, 0x02, 0x20, 0x00, 0xF0, 0x7A, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0
- .byte 0x41, 0xF9, 0x0D, 0xE0, 0x00, 0x20, 0x00, 0xF0, 0x71, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C
- .byte 0x00, 0xF0, 0x38, 0xF9, 0x04, 0xE0, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x32, 0xF9
+ mov r0, #0x1
+ bl FUN_0200516C
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02004704
+ b _020044A0
+_02004472:
+ mov r0, #0x2
+ bl FUN_0200516C
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02004704
+ b _020044A0
+_02004484:
+ mov r0, #0x0
+ bl FUN_0200516C
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02004704
+ b _020044A0
+_02004496:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02004704
_020044A0:
mov r0, #0x1
add sp, #0x8
@@ -6874,23 +7721,48 @@ _02004762:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r6, r2, #0
- lsl r0, r4, #0
- lsl r2, r5, #0
- lsl r4, r6, #0
- lsl r6, r7, #0
- lsl r0, r1, #0x1
+_02004772: ; jump table (using 16-bit offset)
+ .short _02004780 - _02004772 - 2; case 0
+ .short _0200478A - _02004772 - 2; case 1
+ .short _02004794 - _02004772 - 2; case 2
+ .short _0200479E - _02004772 - 2; case 3
+ .short _020047A8 - _02004772 - 2; case 4
+ .short _020047B2 - _02004772 - 2; case 5
+ .short _020047BC - _02004772 - 2; case 6
+_02004780:
mov r0, #0x16
bl FUN_02003D38
add r5, r0, #0x0
b _020047C4
_0200478A:
- .byte 0x17, 0x20, 0xFF, 0xF7, 0xD4, 0xFA
- .byte 0x05, 0x1C, 0x17, 0xE0, 0x18, 0x20, 0xFF, 0xF7, 0xCF, 0xFA, 0x05, 0x1C, 0x12, 0xE0, 0x19, 0x20
- .byte 0xFF, 0xF7, 0xCA, 0xFA, 0x05, 0x1C, 0x0D, 0xE0, 0x1A, 0x20, 0xFF, 0xF7, 0xC5, 0xFA, 0x05, 0x1C
- .byte 0x08, 0xE0, 0x1B, 0x20, 0xFF, 0xF7, 0xC0, 0xFA, 0x05, 0x1C, 0x03, 0xE0, 0x1C, 0x20, 0xFF, 0xF7
- .byte 0xBB, 0xFA, 0x05, 0x1C
+ mov r0, #0x17
+ bl FUN_02003D38
+ add r5, r0, #0x0
+ b _020047C4
+_02004794:
+ mov r0, #0x18
+ bl FUN_02003D38
+ add r5, r0, #0x0
+ b _020047C4
+_0200479E:
+ mov r0, #0x19
+ bl FUN_02003D38
+ add r5, r0, #0x0
+ b _020047C4
+_020047A8:
+ mov r0, #0x1a
+ bl FUN_02003D38
+ add r5, r0, #0x0
+ b _020047C4
+_020047B2:
+ mov r0, #0x1b
+ bl FUN_02003D38
+ add r5, r0, #0x0
+ b _020047C4
+_020047BC:
+ mov r0, #0x1c
+ bl FUN_02003D38
+ add r5, r0, #0x0
_020047C4:
ldr r0, [r5, #0x0]
pop {r3-r5, pc}
@@ -8950,19 +9822,21 @@ _0200573E:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r3, #0
- lsl r0, r3, #0
- lsl r0, r3, #0
- lsl r4, r2, #0x1
- lsl r4, r2, #0x1
- lsl r0, r3, #0
- lsl r4, r2, #0x1
- lsl r4, r2, #0x1
- lsl r4, r2, #0x1
- lsl r4, r2, #0x1
- lsl r4, r2, #0x1
- lsl r0, r3, #0
- lsl r0, r3, #0
+_02005758: ; jump table (using 16-bit offset)
+ .short _02005772 - _02005758 - 2; case 0
+ .short _02005772 - _02005758 - 2; case 1
+ .short _02005772 - _02005758 - 2; case 2
+ .short _020057AE - _02005758 - 2; case 3
+ .short _020057AE - _02005758 - 2; case 4
+ .short _02005772 - _02005758 - 2; case 5
+ .short _020057AE - _02005758 - 2; case 6
+ .short _020057AE - _02005758 - 2; case 7
+ .short _020057AE - _02005758 - 2; case 8
+ .short _020057AE - _02005758 - 2; case 9
+ .short _020057AE - _02005758 - 2; case 10
+ .short _02005772 - _02005758 - 2; case 11
+ .short _02005772 - _02005758 - 2; case 12
+_02005772:
bl FUN_02005578
ldr r0, [sp, #0xc]
ldrb r0, [r0, #0x0]
@@ -9005,21 +9879,23 @@ _020057BC:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r3, #0
- lsl r0, r7, #0
- lsl r4, r3, #0x1
- lsl r6, r3, #0x2
- lsl r0, r5, #0x3
- lsl r6, r6, #0x4
- lsl r6, r3, #0x5
- lsl r2, r4, #0x6
- lsl r2, r2, #0x7
- lsl r0, r0, #0x8
- lsl r4, r6, #0x8
- lsl r4, r4, #0x9
- lsl r4, r1, #0xa
- lsl r4, r7, #0xa
- lsl r2, r6, #0xb
+_020057C8: ; jump table (using 16-bit offset)
+ .short _020057E6 - _020057C8 - 2; case 0
+ .short _02005802 - _020057C8 - 2; case 1
+ .short _02005826 - _020057C8 - 2; case 2
+ .short _02005868 - _020057C8 - 2; case 3
+ .short _020058B2 - _020057C8 - 2; case 4
+ .short _02005900 - _020057C8 - 2; case 5
+ .short _02005928 - _020057C8 - 2; case 6
+ .short _0200596C - _020057C8 - 2; case 7
+ .short _0200599C - _020057C8 - 2; case 8
+ .short _020059CA - _020057C8 - 2; case 9
+ .short _020059FE - _020057C8 - 2; case 10
+ .short _02005A2E - _020057C8 - 2; case 11
+ .short _02005A56 - _020057C8 - 2; case 12
+ .short _02005A86 - _020057C8 - 2; case 13
+ .short _02005ABC - _020057C8 - 2; case 14
+_020057E6:
add r0, r4, #0x0
bl FUN_02005578
ldr r1, _02005AB8 ; =0x0000FFFF
@@ -9032,55 +9908,298 @@ _020057BC:
bl FUN_02005AC8
b _02005AC2
_02005802:
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0xB8, 0xFE, 0xAB, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7
- .byte 0x9D, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x56, 0xF9, 0x14, 0x20, 0x39, 0x1C
- .byte 0x00, 0xF0, 0x5E, 0xF9, 0x4D, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0xA6, 0xFE, 0xA2, 0x49, 0x01, 0x20
- .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x8B, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x44, 0xF9
- .byte 0x9D, 0x49, 0x01, 0x20, 0x40, 0x22, 0xFF, 0xF7, 0x6B, 0xFA, 0x20, 0x1C, 0x14, 0x21, 0x00, 0xF0
- .byte 0xBB, 0xF9, 0x99, 0x49, 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x78, 0xFA, 0x06, 0x9A, 0x20, 0x1C
- .byte 0x08, 0x21, 0x00, 0xF0, 0x31, 0xF9, 0x2C, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0x85, 0xFE, 0x92, 0x49
- .byte 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x6A, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0
- .byte 0x23, 0xF9, 0x1E, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x2B, 0xF9, 0x8B, 0x49, 0x01, 0x20, 0xC0, 0x22
- .byte 0xFF, 0xF7, 0x46, 0xFA, 0x20, 0x1C, 0x10, 0x21, 0x00, 0xF0, 0x96, 0xF9, 0x86, 0x49, 0x08, 0x20
- .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x53, 0xFA, 0x06, 0x9A, 0x20, 0x1C, 0x08, 0x21, 0x00, 0xF0, 0x0C, 0xF9
- .byte 0x07, 0xE1, 0x0E, 0x20, 0xFF, 0xF7, 0x66, 0xF8, 0x07, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0x0E, 0x23
- .byte 0x00, 0x97, 0xFF, 0xF7, 0x35, 0xF9, 0x07, 0x99, 0x0E, 0x20, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7
- .byte 0xFD, 0xF8, 0x0F, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x03, 0xF9, 0x86, 0x21, 0x0E, 0x20, 0x09, 0x02
- .byte 0xFF, 0xF7, 0x00, 0xF9, 0x3F, 0x21, 0x06, 0x9A, 0x07, 0x9B, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x97
- .byte 0x00, 0xF0, 0x82, 0xF9, 0x86, 0x21, 0x0F, 0x20, 0x09, 0x02, 0xFF, 0xF7, 0xF3, 0xF8, 0xE0, 0xE0
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0x39, 0xFE, 0x6C, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x1E, 0xFA
- .byte 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0xD7, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x66, 0x49
- .byte 0xE1, 0x3A, 0xFF, 0xF7, 0xFD, 0xF9, 0xCC, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x25, 0xFE, 0x62, 0x49
- .byte 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x0A, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0
- .byte 0xC3, 0xF8, 0x5D, 0x49, 0x01, 0x20, 0x2C, 0x22, 0xFF, 0xF7, 0xEA, 0xF9, 0x3F, 0x21, 0x20, 0x1C
- .byte 0xC9, 0x43, 0x00, 0xF0, 0x39, 0xF9, 0x58, 0x49, 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xF6, 0xF9
- .byte 0x06, 0x9A, 0x20, 0x1C, 0x08, 0x21, 0x00, 0xF0, 0xAF, 0xF8, 0xAA, 0xE0, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0x03, 0xFE, 0x51, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xE8, 0xF9, 0x20, 0x1C, 0x01, 0x21
- .byte 0x32, 0x1C, 0x00, 0xF0, 0xA1, 0xF8, 0x0B, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0xA9, 0xF8, 0x01, 0x20
- .byte 0x02, 0x1C, 0x49, 0x49, 0x81, 0x3A, 0xFF, 0xF7, 0xC3, 0xF9, 0x92, 0xE0, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0xEB, 0xFD, 0x45, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xD0, 0xF9, 0x20, 0x1C, 0x01, 0x21
- .byte 0x32, 0x1C, 0x00, 0xF0, 0x89, 0xF8, 0x3C, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x91, 0xF8, 0x3E, 0x49
- .byte 0x01, 0x20, 0x3C, 0x22, 0xFF, 0xF7, 0xAC, 0xF9, 0x7B, 0xE0, 0x0E, 0x20, 0xFE, 0xF7, 0xDA, 0xFF
- .byte 0x07, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0x0E, 0x23, 0x00, 0x97, 0xFF, 0xF7, 0xA9, 0xF8, 0x07, 0x99
- .byte 0x0E, 0x20, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7, 0x71, 0xF8, 0x0D, 0x20, 0x39, 0x1C, 0x00, 0xF0
- .byte 0x77, 0xF8, 0x1A, 0x21, 0x0E, 0x20, 0x89, 0x02, 0xFF, 0xF7, 0x74, 0xF8, 0x61, 0xE0, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0xBA, 0xFD, 0x2C, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x9F, 0xF9, 0x20, 0x1C
- .byte 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x58, 0xF8, 0x64, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x60, 0xF8
- .byte 0x01, 0x20, 0x02, 0x1C, 0x24, 0x49, 0x2D, 0x3A, 0xFF, 0xF7, 0x7A, 0xF9, 0x49, 0xE0, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0xA2, 0xFD, 0x20, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x87, 0xF9, 0x20, 0x1C
- .byte 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x40, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x1A, 0x49, 0x61, 0x3A
- .byte 0xFF, 0xF7, 0x66, 0xF9, 0x35, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x8E, 0xFD, 0x16, 0x49, 0x01, 0x20
- .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x73, 0xF9, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x2C, 0xF8
- .byte 0x14, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x34, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x0E, 0x49, 0x61, 0x3A
- .byte 0xFF, 0xF7, 0x4E, 0xF9, 0x1D, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x76, 0xFD, 0x20, 0x1C, 0x01, 0x21
- .byte 0x7F, 0x22, 0x00, 0xF0, 0x19, 0xF8, 0x20, 0x1C, 0x14, 0x21, 0x00, 0xF0, 0x95, 0xF8, 0x06, 0x49
- .byte 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x52, 0xF9, 0x08, 0x20, 0x31, 0x1C, 0x00, 0x22, 0xFE, 0xF7
- .byte 0xBB, 0xFE, 0x06, 0xE0
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x14
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ b _02005AC2
+_02005826:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ mov r2, #0x40
+ bl FUN_02004D20
+ add r0, r4, #0x0
+ mov r1, #0x14
+ bl FUN_02005BC8
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x8
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ ldr r2, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02005AC8
+ b _02005AC2
+_02005868:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x1e
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ mov r2, #0xc0
+ bl FUN_02004D20
+ add r0, r4, #0x0
+ mov r1, #0x10
+ bl FUN_02005BC8
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x8
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ ldr r2, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02005AC8
+ b _02005AC2
+_020058B2:
+ mov r0, #0xe
+ bl FUN_02004984
+ ldr r2, [sp, #0x1c]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0xe
+ str r7, [sp, #0x0]
+ bl FUN_02004B30
+ ldr r1, [sp, #0x1c]
+ mov r0, #0xe
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_02004ACC
+ mov r0, #0xf
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ mov r1, #0x86
+ mov r0, #0xe
+ lsl r1, r1, #0x8
+ bl FUN_02004AE4
+ mov r1, #0x3f
+ ldr r2, [sp, #0x18]
+ ldr r3, [sp, #0x1c]
+ add r0, r4, #0x0
+ mvn r1, r1
+ str r7, [sp, #0x0]
+ bl FUN_02005BF8
+ mov r1, #0x86
+ mov r0, #0xf
+ lsl r1, r1, #0x8
+ bl FUN_02004AE4
+ b _02005AC2
+_02005900:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x1
+ add r2, r0, #0x0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ sub r2, #0xe1
+ bl FUN_02004D20
+ b _02005AC2
+_02005928:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ mov r2, #0x2c
+ bl FUN_02004D20
+ mov r1, #0x3f
+ add r0, r4, #0x0
+ mvn r1, r1
+ bl FUN_02005BC8
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x8
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ ldr r2, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02005AC8
+ b _02005AC2
+_0200596C:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0xb
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ mov r0, #0x1
+ add r2, r0, #0x0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ sub r2, #0x81
+ bl FUN_02004D20
+ b _02005AC2
+_0200599C:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x3c
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ mov r2, #0x3c
+ bl FUN_02004D20
+ b _02005AC2
+_020059CA:
+ mov r0, #0xe
+ bl FUN_02004984
+ ldr r2, [sp, #0x1c]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0xe
+ str r7, [sp, #0x0]
+ bl FUN_02004B30
+ ldr r1, [sp, #0x1c]
+ mov r0, #0xe
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_02004ACC
+ mov r0, #0xd
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ mov r1, #0x1a
+ mov r0, #0xe
+ lsl r1, r1, #0xa
+ bl FUN_02004AE4
+ b _02005AC2
+_020059FE:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x64
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ mov r0, #0x1
+ add r2, r0, #0x0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ sub r2, #0x2d
+ bl FUN_02004D20
+ b _02005AC2
+_02005A2E:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x1
+ add r2, r0, #0x0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ sub r2, #0x61
+ bl FUN_02004D20
+ b _02005AC2
+_02005A56:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x1
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02005AC8
+ mov r0, #0x14
+ add r1, r7, #0x0
+ bl FUN_02005AE0
+ mov r0, #0x1
+ add r2, r0, #0x0
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ sub r2, #0x61
+ bl FUN_02004D20
+ b _02005AC2
+_02005A86:
+ add r0, r4, #0x0
+ bl FUN_02005578
+ add r0, r4, #0x0
+ mov r1, #0x1
+ mov r2, #0x7f
+ bl FUN_02005AC8
+ add r0, r4, #0x0
+ mov r1, #0x14
+ bl FUN_02005BC8
+ ldr r1, _02005AB8 ; =0x0000FFFF
+ mov r0, #0x8
+ add r2, r5, #0x0
+ bl FUN_02004D4C
+ mov r0, #0x8
+ add r1, r6, #0x0
+ mov r2, #0x0
+ bl FUN_02004828
+ b _02005AC2
+ .balign 4
_02005AB4: .word 0x000001B9
_02005AB8: .word 0x0000FFFF
_02005ABC:
- .byte 0x20, 0x1C, 0xFF, 0xF7
- .byte 0x5B, 0xFD
+ add r0, r4, #0x0
+ bl FUN_02005578
_02005AC2:
mov r0, #0x1
add sp, #0x20
@@ -10142,10 +11261,12 @@ FUN_02006290: ; 0x02006290
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r3, #0
- lsl r2, r6, #0
- lsl r0, r1, #0x1
+_020062A6: ; jump table (using 16-bit offset)
+ .short _020062AE - _020062A6 - 2; case 0
+ .short _020062C2 - _020062A6 - 2; case 1
+ .short _020062DA - _020062A6 - 2; case 2
+ .short _020062F0 - _020062A6 - 2; case 3
+_020062AE:
mov r1, #0x0
ldr r0, [r4, #0xc]
mvn r1, r1
@@ -10156,6 +11277,7 @@ FUN_02006290: ; 0x02006290
_020062BE:
mov r0, #0x1
str r0, [r4, #0x10]
+_020062C2:
add r1, r4, #0x0
ldr r2, [r4, #0x0]
add r0, r4, #0x0
@@ -10169,10 +11291,33 @@ _020062BE:
str r0, [r4, #0x14]
b _0200630E
_020062DA:
- .byte 0x21, 0x1C, 0x62, 0x68, 0x14, 0x31
- .byte 0x90, 0x47, 0x01, 0x28, 0x13, 0xD1, 0x03, 0x20, 0x20, 0x61, 0x00, 0x20, 0x60, 0x61, 0x0E, 0xE0
- .byte 0x21, 0x1C, 0xA2, 0x68, 0x14, 0x31, 0x90, 0x47, 0x01, 0x28, 0x08, 0xD1, 0x00, 0x21, 0xE0, 0x68
- .byte 0xC9, 0x43, 0x88, 0x42, 0x01, 0xD0, 0xFF, 0xF7, 0x2B, 0xFE, 0x01, 0x20, 0x10, 0xBD
+ add r1, r4, #0x0
+ ldr r2, [r4, #0x4]
+ add r1, #0x14
+ blx r2
+ cmp r0, #0x1
+ bne _0200630E
+ mov r0, #0x3
+ str r0, [r4, #0x10]
+ mov r0, #0x0
+ str r0, [r4, #0x14]
+ b _0200630E
+_020062F0:
+ add r1, r4, #0x0
+ ldr r2, [r4, #0x8]
+ add r1, #0x14
+ blx r2
+ cmp r0, #0x1
+ bne _0200630E
+ mov r1, #0x0
+ ldr r0, [r4, #0xc]
+ mvn r1, r1
+ cmp r0, r1
+ beq _0200630A
+ bl FUN_02005F60
+_0200630A:
+ mov r0, #0x1
+ pop {r4, pc}
_0200630E:
mov r0, #0x0
pop {r4, pc}
@@ -10988,14 +12133,16 @@ _02006982:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r1, #0
- lsl r2, r0, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r0, r5, #0
- lsl r4, r3, #0x1
+_0200699C: ; jump table (using 16-bit offset)
+ .short _02006A14 - _0200699C - 2; case 0
+ .short _02006A14 - _0200699C - 2; case 1
+ .short _020069AC - _0200699C - 2; case 2
+ .short _020069E0 - _0200699C - 2; case 3
+ .short _02006A14 - _0200699C - 2; case 4
+ .short _02006A14 - _0200699C - 2; case 5
+ .short _020069C6 - _0200699C - 2; case 6
+ .short _020069FA - _0200699C - 2; case 7
+_020069AC:
blx FUN_020C8B10
ldr r0, [sp, #0x8]
ldr r3, _02006A30 ; =0x020ECBB0
@@ -11008,12 +12155,41 @@ _02006982:
blx FUN_020C8A2C
b _02006A24
_020069C6:
- .byte 0xC1, 0xF0, 0x82, 0xEF, 0x02, 0x98, 0x18, 0x4B, 0xA4, 0x00
- .byte 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C, 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0, 0x18, 0xEF, 0x21, 0xE0
- .byte 0xC1, 0xF0, 0xEC, 0xEF, 0x02, 0x98, 0x12, 0x4B, 0xA4, 0x00, 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C
- .byte 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0, 0x7C, 0xEF, 0x14, 0xE0, 0xC1, 0xF0, 0xF6, 0xEE, 0x02, 0x98
- .byte 0x0B, 0x4B, 0xA4, 0x00, 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C, 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0
- .byte 0x8C, 0xEE, 0x07, 0xE0
+ blx FUN_020C88CC
+ ldr r0, [sp, #0x8]
+ ldr r3, _02006A30 ; =0x020ECBB0
+ lsl r4, r4, #0x2
+ ldr r0, [r0, #0xc]
+ ldr r3, [r3, r4]
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ blx r3
+ blx FUN_020C880C
+ b _02006A24
+_020069E0:
+ blx FUN_020C89BC
+ ldr r0, [sp, #0x8]
+ ldr r3, _02006A30 ; =0x020ECBB0
+ lsl r4, r4, #0x2
+ ldr r0, [r0, #0xc]
+ ldr r3, [r3, r4]
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ blx r3
+ blx FUN_020C88F0
+ b _02006A24
+_020069FA:
+ blx FUN_020C87E8
+ ldr r0, [sp, #0x8]
+ ldr r3, _02006A30 ; =0x020ECBB0
+ lsl r4, r4, #0x2
+ ldr r0, [r0, #0xc]
+ ldr r3, [r3, r4]
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ blx r3
+ blx FUN_020C8728
+ b _02006A24
_02006A14:
ldr r0, [sp, #0x8]
ldr r3, _02006A30 ; =0x020ECBB0
@@ -12494,99 +13670,397 @@ _0200755E:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r3, #0x1
- lsl r0, r4, #0x1
- lsl r4, r4, #0x1
- lsl r0, r5, #0x1
- lsl r4, r5, #0x1
- lsl r0, r6, #0x1
- lsl r4, r6, #0x1
- lsl r4, r0, #0x2
- lsl r0, r1, #0x2
- lsl r4, r1, #0x2
- lsl r0, r2, #0x2
- lsl r6, r2, #0x2
- lsl r4, r3, #0x2
- lsl r0, r4, #0x2
- lsl r4, r4, #0x2
- lsl r4, r6, #0x2
- lsl r2, r7, #0x2
- lsl r0, r0, #0x3
- lsl r6, r0, #0x3
- lsl r4, r1, #0x3
- lsl r2, r2, #0x3
- lsl r0, r3, #0x3
- lsl r6, r3, #0x3
- lsl r4, r4, #0x3
- lsl r4, r6, #0x3
- lsl r4, r0, #0x4
- lsl r4, r2, #0x4
- lsl r4, r4, #0x4
- lsl r4, r6, #0x4
- lsl r4, r0, #0x5
- lsl r4, r2, #0x5
- lsl r6, r5, #0x5
- lsl r4, r7, #0x5
- lsl r6, r1, #0x6
- lsl r0, r4, #0x6
- lsl r6, r4, #0x6
- lsl r6, r7, #0x6
- lsl r6, r2, #0x7
- lsl r6, r4, #0x7
- lsl r4, r2, #0xa
- lsl r4, r5, #0x7
- lsl r4, r0, #0x8
- lsl r2, r1, #0x8
- lsl r6, r5, #0x8
- lsl r0, r1, #0x9
- lsl r2, r4, #0x9
- lsl r4, r7, #0x9
+_0200756A: ; jump table (using 16-bit offset)
+ .short _020075C8 - _0200756A - 2; case 0
+ .short _020075CC - _0200756A - 2; case 1
+ .short _020075D0 - _0200756A - 2; case 2
+ .short _020075D4 - _0200756A - 2; case 3
+ .short _020075D8 - _0200756A - 2; case 4
+ .short _020075DC - _0200756A - 2; case 5
+ .short _020075E0 - _0200756A - 2; case 6
+ .short _020075F0 - _0200756A - 2; case 7
+ .short _020075F4 - _0200756A - 2; case 8
+ .short _020075F8 - _0200756A - 2; case 9
+ .short _020075FC - _0200756A - 2; case 10
+ .short _02007602 - _0200756A - 2; case 11
+ .short _02007608 - _0200756A - 2; case 12
+ .short _0200760C - _0200756A - 2; case 13
+ .short _02007610 - _0200756A - 2; case 14
+ .short _02007620 - _0200756A - 2; case 15
+ .short _02007626 - _0200756A - 2; case 16
+ .short _0200762C - _0200756A - 2; case 17
+ .short _02007632 - _0200756A - 2; case 18
+ .short _02007638 - _0200756A - 2; case 19
+ .short _0200763E - _0200756A - 2; case 20
+ .short _02007644 - _0200756A - 2; case 21
+ .short _0200764A - _0200756A - 2; case 22
+ .short _02007650 - _0200756A - 2; case 23
+ .short _02007660 - _0200756A - 2; case 24
+ .short _02007670 - _0200756A - 2; case 25
+ .short _02007680 - _0200756A - 2; case 26
+ .short _02007690 - _0200756A - 2; case 27
+ .short _020076A0 - _0200756A - 2; case 28
+ .short _020076B0 - _0200756A - 2; case 29
+ .short _020076C0 - _0200756A - 2; case 30
+ .short _020076DA - _0200756A - 2; case 31
+ .short _020076E8 - _0200756A - 2; case 32
+ .short _020076FA - _0200756A - 2; case 33
+ .short _0200770C - _0200756A - 2; case 34
+ .short _02007712 - _0200756A - 2; case 35
+ .short _0200772A - _0200756A - 2; case 36
+ .short _02007742 - _0200756A - 2; case 37
+ .short _02007752 - _0200756A - 2; case 38
+ .short _02007800 - _0200756A - 2; case 39
+ .short _02007758 - _0200756A - 2; case 40
+ .short _02007770 - _0200756A - 2; case 41
+ .short _02007776 - _0200756A - 2; case 42
+ .short _0200779A - _0200756A - 2; case 43
+ .short _020077B4 - _0200756A - 2; case 44
+ .short _020077CE - _0200756A - 2; case 45
+ .short _020077E8 - _0200756A - 2; case 46
+_020075C8:
strh r2, [r0, #0x24]
bx lr
_020075CC:
- .byte 0xC2, 0x84, 0x70, 0x47
- .byte 0x82, 0x62, 0x70, 0x47, 0x82, 0x85, 0x70, 0x47, 0xC2, 0x85, 0x70, 0x47, 0x02, 0x63, 0x70, 0x47
- .byte 0x43, 0x6D, 0x01, 0x21, 0x8B, 0x43, 0x01, 0x21, 0x11, 0x40, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47
- .byte 0x02, 0x87, 0x70, 0x47, 0x42, 0x87, 0x70, 0x47, 0x82, 0x87, 0x70, 0x47, 0x40, 0x30, 0x02, 0x80
- .byte 0x70, 0x47, 0x42, 0x30, 0x02, 0x80, 0x70, 0x47, 0x82, 0x86, 0x70, 0x47, 0xC2, 0x86, 0x70, 0x47
- .byte 0x43, 0x6D, 0x02, 0x21, 0x8B, 0x43, 0xD1, 0x07, 0x89, 0x0F, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47
- .byte 0x44, 0x30, 0x02, 0x70, 0x70, 0x47, 0x45, 0x30, 0x02, 0x70, 0x70, 0x47, 0x46, 0x30, 0x02, 0x70
- .byte 0x70, 0x47, 0x47, 0x30, 0x02, 0x70, 0x70, 0x47, 0x70, 0x30, 0x02, 0x80, 0x70, 0x47, 0x72, 0x30
- .byte 0x02, 0x80, 0x70, 0x47, 0x74, 0x30, 0x02, 0x80, 0x70, 0x47, 0x76, 0x30, 0x02, 0x80, 0x70, 0x47
- .byte 0x43, 0x6D, 0x7C, 0x21, 0x8B, 0x43, 0xD1, 0x06, 0x49, 0x0E, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47
- .byte 0x03, 0x6D, 0x1F, 0x21, 0x8B, 0x43, 0x1F, 0x21, 0x11, 0x40, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47
- .byte 0x03, 0x6D, 0x64, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x89, 0x0D, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47
- .byte 0x03, 0x6D, 0x61, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x49, 0x0C, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47
- .byte 0x03, 0x6D, 0x5E, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x09, 0x0B, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47
- .byte 0x03, 0x6D, 0x5B, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0xC9, 0x09, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47
- .byte 0x03, 0x6D, 0x58, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x89, 0x08, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47
- .byte 0x43, 0x6D, 0x55, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0xC9, 0x0C, 0x19, 0x43, 0x41, 0x65, 0x01, 0x21
- .byte 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0xC2, 0x64, 0x01, 0x21, 0x02, 0x68
- .byte 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x48, 0x31, 0x0A, 0x70, 0x01, 0x21
- .byte 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x49, 0x31, 0x0A, 0x70
- .byte 0x01, 0x21, 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x4A, 0x30, 0x02, 0x70
- .byte 0x70, 0x47, 0x43, 0x6D, 0x41, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0x89, 0x0D, 0x19, 0x43, 0x41, 0x65
- .byte 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x43, 0x6D, 0x3C, 0x49, 0x0B, 0x40
- .byte 0xD1, 0x07, 0x49, 0x0D, 0x19, 0x43, 0x41, 0x65, 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60
- .byte 0x70, 0x47, 0x43, 0x6D, 0x37, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0x09, 0x0D, 0x19, 0x43, 0x41, 0x65
- .byte 0x70, 0x47, 0x5B, 0x30, 0x02, 0x70, 0x70, 0x47, 0x43, 0x6D, 0x33, 0x49, 0x0B, 0x40, 0x11, 0x07
- .byte 0xC9, 0x0B, 0x19, 0x43, 0x41, 0x65, 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47
- .byte 0x6E, 0x30, 0x02, 0x70, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x03, 0x21, 0x8B, 0x43
- .byte 0x11, 0x04, 0x09, 0x0C, 0x03, 0x22, 0x11, 0x40, 0x0B, 0x43, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x80
- .byte 0x01, 0x68, 0xFD, 0x32, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88
- .byte 0x04, 0x21, 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07, 0x49, 0x0F, 0x19, 0x43
- .byte 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x08, 0x21, 0x6C, 0x30, 0x8B, 0x43
- .byte 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07, 0x09, 0x0F, 0x19, 0x43, 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C
- .byte 0x6C, 0x31, 0x0B, 0x88, 0x10, 0x21, 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07
- .byte 0xC9, 0x0E, 0x19, 0x43, 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x60, 0x21
- .byte 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0x89, 0x07, 0x49, 0x0E, 0x19, 0x43, 0x01, 0x80
+ strh r2, [r0, #0x26]
+ bx lr
+_020075D0:
+ str r2, [r0, #0x28]
+ bx lr
+_020075D4:
+ strh r2, [r0, #0x2c]
+ bx lr
+_020075D8:
+ strh r2, [r0, #0x2e]
+ bx lr
+_020075DC:
+ str r2, [r0, #0x30]
+ bx lr
+_020075E0:
+ ldr r3, [r0, #0x54]
+ mov r1, #0x1
+ bic r3, r1
+ mov r1, #0x1
+ and r1, r2
+ orr r1, r3
+ str r1, [r0, #0x54]
+ bx lr
+_020075F0:
+ strh r2, [r0, #0x38]
+ bx lr
+_020075F4:
+ strh r2, [r0, #0x3a]
+ bx lr
+_020075F8:
+ strh r2, [r0, #0x3c]
+ bx lr
+_020075FC:
+ add r0, #0x40
+ strh r2, [r0, #0x0]
+ bx lr
+_02007602:
+ add r0, #0x42
+ strh r2, [r0, #0x0]
+ bx lr
+_02007608:
+ strh r2, [r0, #0x34]
+ bx lr
+_0200760C:
+ strh r2, [r0, #0x36]
+ bx lr
+_02007610:
+ ldr r3, [r0, #0x54]
+ mov r1, #0x2
+ bic r3, r1
+ lsl r1, r2, #0x1f
+ lsr r1, r1, #0x1e
+ orr r1, r3
+ str r1, [r0, #0x54]
+ bx lr
+_02007620:
+ add r0, #0x44
+ strb r2, [r0, #0x0]
+ bx lr
+_02007626:
+ add r0, #0x45
+ strb r2, [r0, #0x0]
+ bx lr
+_0200762C:
+ add r0, #0x46
+ strb r2, [r0, #0x0]
+ bx lr
+_02007632:
+ add r0, #0x47
+ strb r2, [r0, #0x0]
+ bx lr
+_02007638:
+ add r0, #0x70
+ strh r2, [r0, #0x0]
+ bx lr
+_0200763E:
+ add r0, #0x72
+ strh r2, [r0, #0x0]
+ bx lr
+_02007644:
+ add r0, #0x74
+ strh r2, [r0, #0x0]
+ bx lr
+_0200764A:
+ add r0, #0x76
+ strh r2, [r0, #0x0]
+ bx lr
+_02007650:
+ ldr r3, [r0, #0x54]
+ mov r1, #0x7c
+ bic r3, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x19
+ orr r1, r3
+ str r1, [r0, #0x54]
+ bx lr
+_02007660:
+ ldr r3, [r0, #0x50]
+ mov r1, #0x1f
+ bic r3, r1
+ mov r1, #0x1f
+ and r1, r2
+ orr r1, r3
+ str r1, [r0, #0x50]
+ bx lr
+_02007670:
+ ldr r3, [r0, #0x50]
+ ldr r1, _02007804 ; =0xFFFFFC1F
+ and r3, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x16
+ orr r1, r3
+ str r1, [r0, #0x50]
+ bx lr
+_02007680:
+ ldr r3, [r0, #0x50]
+ ldr r1, _02007808 ; =0xFFFF83FF
+ and r3, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x11
+ orr r1, r3
+ str r1, [r0, #0x50]
+ bx lr
+_02007690:
+ ldr r3, [r0, #0x50]
+ ldr r1, _0200780C ; =0xFFF07FFF
+ and r3, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0xc
+ orr r1, r3
+ str r1, [r0, #0x50]
+ bx lr
+_020076A0:
+ ldr r3, [r0, #0x50]
+ ldr r1, _02007810 ; =0xFE0FFFFF
+ and r3, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x7
+ orr r1, r3
+ str r1, [r0, #0x50]
+ bx lr
+_020076B0:
+ ldr r3, [r0, #0x50]
+ ldr r1, _02007814 ; =0xC1FFFFFF
+ and r3, r1
+ lsl r1, r2, #0x1b
+ lsr r1, r1, #0x2
+ orr r1, r3
+ str r1, [r0, #0x50]
+ bx lr
+_020076C0:
+ ldr r3, [r0, #0x54]
+ ldr r1, _02007818 ; =0xFFFFEFFF
+ and r3, r1
+ lsl r1, r2, #0x1f
+ lsr r1, r1, #0x13
+ orr r1, r3
+ str r1, [r0, #0x54]
+ mov r1, #0x1
+ ldr r2, [r0, #0x0]
+ lsl r1, r1, #0x8
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_020076DA:
+ str r2, [r0, #0x4c]
+ mov r1, #0x1
+ ldr r2, [r0, #0x0]
+ lsl r1, r1, #0x8
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_020076E8:
+ add r1, r0, #0x0
+ add r1, #0x48
+ strb r2, [r1, #0x0]
+ mov r1, #0x1
+ ldr r2, [r0, #0x0]
+ lsl r1, r1, #0x8
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_020076FA:
+ add r1, r0, #0x0
+ add r1, #0x49
+ strb r2, [r1, #0x0]
+ mov r1, #0x1
+ ldr r2, [r0, #0x0]
+ lsl r1, r1, #0x8
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_0200770C:
+ add r0, #0x4a
+ strb r2, [r0, #0x0]
+ bx lr
+_02007712:
+ ldr r3, [r0, #0x54]
+ ldr r1, _0200781C ; =0xFFFFFDFF
+ and r3, r1
+ lsl r1, r2, #0x1f
+ lsr r1, r1, #0x16
+ orr r1, r3
+ str r1, [r0, #0x54]
+ ldr r2, [r0, #0x0]
+ mov r1, #0x80
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_0200772A:
+ ldr r3, [r0, #0x54]
+ ldr r1, _02007820 ; =0xFFFFFBFF
+ and r3, r1
+ lsl r1, r2, #0x1f
+ lsr r1, r1, #0x15
+ orr r1, r3
+ str r1, [r0, #0x54]
+ ldr r2, [r0, #0x0]
+ mov r1, #0x80
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_02007742:
+ ldr r3, [r0, #0x54]
+ ldr r1, _02007824 ; =0xFFFFF7FF
+ and r3, r1
+ lsl r1, r2, #0x1f
+ lsr r1, r1, #0x14
+ orr r1, r3
+ str r1, [r0, #0x54]
+ bx lr
+_02007752:
+ add r0, #0x5b
+ strb r2, [r0, #0x0]
+ bx lr
+_02007758:
+ ldr r3, [r0, #0x54]
+ ldr r1, _02007828 ; =0xFFFE1FFF
+ and r3, r1
+ lsl r1, r2, #0x1c
+ lsr r1, r1, #0xf
+ orr r1, r3
+ str r1, [r0, #0x54]
+ ldr r2, [r0, #0x0]
+ mov r1, #0x80
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_02007770:
+ add r0, #0x6e
+ strb r2, [r0, #0x0]
+ bx lr
+_02007776:
+ add r1, r0, #0x0
+ add r1, #0x6c
+ ldrh r3, [r1, #0x0]
+ mov r1, #0x3
+ bic r3, r1
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x3
+ and r1, r2
+ orr r3, r1
+ add r1, r0, #0x0
+ add r1, #0x6c
+ strh r3, [r1, #0x0]
+ ldr r1, [r0, #0x0]
+ add r2, #0xfd
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+_0200779A:
+ add r1, r0, #0x0
+ add r1, #0x6c
+ ldrh r3, [r1, #0x0]
+ mov r1, #0x4
+ add r0, #0x6c
+ bic r3, r1
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1d
+ orr r1, r3
+ strh r1, [r0, #0x0]
+ bx lr
+_020077B4:
+ add r1, r0, #0x0
+ add r1, #0x6c
+ ldrh r3, [r1, #0x0]
+ mov r1, #0x8
+ add r0, #0x6c
+ bic r3, r1
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1c
+ orr r1, r3
+ strh r1, [r0, #0x0]
+ bx lr
+_020077CE:
+ add r1, r0, #0x0
+ add r1, #0x6c
+ ldrh r3, [r1, #0x0]
+ mov r1, #0x10
+ add r0, #0x6c
+ bic r3, r1
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1b
+ orr r1, r3
+ strh r1, [r0, #0x0]
+ bx lr
+_020077E8:
+ add r1, r0, #0x0
+ add r1, #0x6c
+ ldrh r3, [r1, #0x0]
+ mov r1, #0x60
+ add r0, #0x6c
+ bic r3, r1
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ lsl r1, r1, #0x1e
+ lsr r1, r1, #0x19
+ orr r1, r3
+ strh r1, [r0, #0x0]
_02007800:
bx lr
nop
-_02007804:
- .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF
- .byte 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF
- .byte 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF
+_02007804: .word 0xFFFFFC1F
+_02007808: .word 0xFFFF83FF
+_0200780C: .word 0xFFF07FFF
+_02007810: .word 0xFE0FFFFF
+_02007814: .word 0xC1FFFFFF
+_02007818: .word 0xFFFFEFFF
+_0200781C: .word 0xFFFFFDFF
+_02007820: .word 0xFFFFFBFF
+_02007824: .word 0xFFFFF7FF
+_02007828: .word 0xFFFE1FFF
thumb_func_start FUN_0200782C
FUN_0200782C: ; 0x0200782C
@@ -12601,77 +14075,256 @@ _02007834:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r3, #0x1
- lsl r2, r4, #0x1
- lsl r0, r5, #0x1
- lsl r4, r5, #0x1
- lsl r2, r6, #0x1
- lsl r0, r7, #0x1
- lsl r4, r7, #0x1
- lsl r4, r0, #0x2
- lsl r0, r1, #0x2
- lsl r4, r1, #0x2
- lsl r0, r2, #0x2
- lsl r6, r2, #0x2
- lsl r4, r3, #0x2
- lsl r2, r4, #0x2
- lsl r0, r5, #0x2
- lsl r0, r6, #0x2
- lsl r6, r6, #0x2
- lsl r4, r7, #0x2
- lsl r2, r0, #0x3
- lsl r0, r1, #0x3
- lsl r6, r1, #0x3
- lsl r4, r2, #0x3
- lsl r2, r3, #0x3
- lsl r0, r4, #0x3
- lsl r0, r5, #0x3
- lsl r0, r6, #0x3
- lsl r0, r7, #0x3
- lsl r0, r0, #0x4
- lsl r0, r1, #0x4
- lsl r0, r2, #0x4
- lsl r0, r3, #0x4
- lsl r0, r4, #0x4
- lsl r4, r4, #0x4
- lsl r2, r5, #0x4
- lsl r0, r6, #0x4
- lsl r6, r6, #0x4
- lsl r6, r7, #0x4
- lsl r6, r0, #0x5
- lsl r6, r1, #0x5
- lsl r4, r2, #0x6
- lsl r4, r2, #0x5
- lsl r4, r3, #0x5
- lsl r2, r4, #0x5
- lsl r4, r5, #0x5
- lsl r6, r6, #0x5
- lsl r0, r0, #0x6
- lsl r2, r1, #0x6
+_02007840: ; jump table (using 16-bit offset)
+ .short _0200789E - _02007840 - 2; case 0
+ .short _020078A4 - _02007840 - 2; case 1
+ .short _020078AA - _02007840 - 2; case 2
+ .short _020078AE - _02007840 - 2; case 3
+ .short _020078B4 - _02007840 - 2; case 4
+ .short _020078BA - _02007840 - 2; case 5
+ .short _020078BE - _02007840 - 2; case 6
+ .short _020078C6 - _02007840 - 2; case 7
+ .short _020078CA - _02007840 - 2; case 8
+ .short _020078CE - _02007840 - 2; case 9
+ .short _020078D2 - _02007840 - 2; case 10
+ .short _020078D8 - _02007840 - 2; case 11
+ .short _020078DE - _02007840 - 2; case 12
+ .short _020078E4 - _02007840 - 2; case 13
+ .short _020078EA - _02007840 - 2; case 14
+ .short _020078F2 - _02007840 - 2; case 15
+ .short _020078F8 - _02007840 - 2; case 16
+ .short _020078FE - _02007840 - 2; case 17
+ .short _02007904 - _02007840 - 2; case 18
+ .short _0200790A - _02007840 - 2; case 19
+ .short _02007910 - _02007840 - 2; case 20
+ .short _02007916 - _02007840 - 2; case 21
+ .short _0200791C - _02007840 - 2; case 22
+ .short _02007922 - _02007840 - 2; case 23
+ .short _0200792A - _02007840 - 2; case 24
+ .short _02007932 - _02007840 - 2; case 25
+ .short _0200793A - _02007840 - 2; case 26
+ .short _02007942 - _02007840 - 2; case 27
+ .short _0200794A - _02007840 - 2; case 28
+ .short _02007952 - _02007840 - 2; case 29
+ .short _0200795A - _02007840 - 2; case 30
+ .short _02007962 - _02007840 - 2; case 31
+ .short _02007966 - _02007840 - 2; case 32
+ .short _0200796C - _02007840 - 2; case 33
+ .short _02007972 - _02007840 - 2; case 34
+ .short _02007978 - _02007840 - 2; case 35
+ .short _02007980 - _02007840 - 2; case 36
+ .short _02007988 - _02007840 - 2; case 37
+ .short _02007990 - _02007840 - 2; case 38
+ .short _020079D6 - _02007840 - 2; case 39
+ .short _02007996 - _02007840 - 2; case 40
+ .short _0200799E - _02007840 - 2; case 41
+ .short _020079A4 - _02007840 - 2; case 42
+ .short _020079AE - _02007840 - 2; case 43
+ .short _020079B8 - _02007840 - 2; case 44
+ .short _020079C2 - _02007840 - 2; case 45
+ .short _020079CC - _02007840 - 2; case 46
+_0200789E:
mov r1, #0x24
ldrsh r0, [r0, r1]
pop {r3, pc}
_020078A4:
- .byte 0x26, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x80, 0x6A, 0x08, 0xBD, 0x2C, 0x21
- .byte 0x40, 0x5E, 0x08, 0xBD, 0x2E, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x00, 0x6B, 0x08, 0xBD, 0x40, 0x6D
- .byte 0xC0, 0x07, 0xC0, 0x0F, 0x08, 0xBD, 0x00, 0x8F, 0x08, 0xBD, 0x40, 0x8F, 0x08, 0xBD, 0x80, 0x8F
- .byte 0x08, 0xBD, 0x40, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x42, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x34, 0x21
- .byte 0x40, 0x5E, 0x08, 0xBD, 0x36, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x40, 0x6D, 0x80, 0x07, 0xC0, 0x0F
- .byte 0x08, 0xBD, 0x44, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x45, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x46, 0x30
- .byte 0x00, 0x78, 0x08, 0xBD, 0x47, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x70, 0x21, 0x40, 0x5E, 0x08, 0xBD
- .byte 0x72, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x74, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x76, 0x21, 0x40, 0x5E
- .byte 0x08, 0xBD, 0x40, 0x6D, 0x40, 0x06, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0xC0, 0x06, 0xC0, 0x0E
- .byte 0x08, 0xBD, 0x00, 0x6D, 0x80, 0x05, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0x40, 0x04, 0xC0, 0x0E
- .byte 0x08, 0xBD, 0x00, 0x6D, 0x00, 0x03, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0xC0, 0x01, 0xC0, 0x0E
- .byte 0x08, 0xBD, 0x00, 0x6D, 0x80, 0x00, 0xC0, 0x0E, 0x08, 0xBD, 0x40, 0x6D, 0xC0, 0x04, 0xC0, 0x0F
- .byte 0x08, 0xBD, 0xC0, 0x6C, 0x08, 0xBD, 0x48, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x49, 0x30, 0x00, 0x78
- .byte 0x08, 0xBD, 0x4A, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x40, 0x6D, 0x80, 0x05, 0xC0, 0x0F, 0x08, 0xBD
- .byte 0x40, 0x6D, 0x40, 0x05, 0xC0, 0x0F, 0x08, 0xBD, 0x40, 0x6D, 0x00, 0x05, 0xC0, 0x0F, 0x08, 0xBD
- .byte 0x5B, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x40, 0x6D, 0xC0, 0x03, 0x00, 0x0F, 0x08, 0xBD, 0x6E, 0x21
- .byte 0x40, 0x56, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0x80, 0x07, 0x80, 0x0F, 0x08, 0xBD, 0x6C, 0x30
- .byte 0x00, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0x00, 0x07, 0xC0, 0x0F
- .byte 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0xC0, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88
- .byte 0x40, 0x06, 0x80, 0x0F, 0x08, 0xBD
+ mov r1, #0x26
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078AA:
+ ldr r0, [r0, #0x28]
+ pop {r3, pc}
+_020078AE:
+ mov r1, #0x2c
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078B4:
+ mov r1, #0x2e
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078BA:
+ ldr r0, [r0, #0x30]
+ pop {r3, pc}
+_020078BE:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_020078C6:
+ ldrh r0, [r0, #0x38]
+ pop {r3, pc}
+_020078CA:
+ ldrh r0, [r0, #0x3a]
+ pop {r3, pc}
+_020078CE:
+ ldrh r0, [r0, #0x3c]
+ pop {r3, pc}
+_020078D2:
+ mov r1, #0x40
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078D8:
+ mov r1, #0x42
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078DE:
+ mov r1, #0x34
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078E4:
+ mov r1, #0x36
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_020078EA:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_020078F2:
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_020078F8:
+ add r0, #0x45
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_020078FE:
+ add r0, #0x46
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_02007904:
+ add r0, #0x47
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_0200790A:
+ mov r1, #0x70
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_02007910:
+ mov r1, #0x72
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_02007916:
+ mov r1, #0x74
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_0200791C:
+ mov r1, #0x76
+ ldrsh r0, [r0, r1]
+ pop {r3, pc}
+_02007922:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0200792A:
+ ldr r0, [r0, #0x50]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_02007932:
+ ldr r0, [r0, #0x50]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0200793A:
+ ldr r0, [r0, #0x50]
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_02007942:
+ ldr r0, [r0, #0x50]
+ lsl r0, r0, #0xc
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0200794A:
+ ldr r0, [r0, #0x50]
+ lsl r0, r0, #0x7
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_02007952:
+ ldr r0, [r0, #0x50]
+ lsl r0, r0, #0x2
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0200795A:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_02007962:
+ ldr r0, [r0, #0x4c]
+ pop {r3, pc}
+_02007966:
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_0200796C:
+ add r0, #0x49
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_02007972:
+ add r0, #0x4a
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_02007978:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_02007980:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_02007988:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0x14
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_02007990:
+ add r0, #0x5b
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_02007996:
+ ldr r0, [r0, #0x54]
+ lsl r0, r0, #0xf
+ lsr r0, r0, #0x1c
+ pop {r3, pc}
+_0200799E:
+ mov r1, #0x6e
+ ldrsb r0, [r0, r1]
+ pop {r3, pc}
+_020079A4:
+ add r0, #0x6c
+ ldrh r0, [r0, #0x0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1e
+ pop {r3, pc}
+_020079AE:
+ add r0, #0x6c
+ ldrh r0, [r0, #0x0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_020079B8:
+ add r0, #0x6c
+ ldrh r0, [r0, #0x0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_020079C2:
+ add r0, #0x6c
+ ldrh r0, [r0, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_020079CC:
+ add r0, #0x6c
+ ldrh r0, [r0, #0x0]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1e
+ pop {r3, pc}
_020079D6:
bl FUN_02020C2C
mov r0, #0x0
@@ -12693,53 +14346,55 @@ _020079EC:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r3, #0x1
- lsl r0, r5, #0x1
- lsl r4, r6, #0x1
- lsl r6, r7, #0x1
- lsl r2, r1, #0x2
- lsl r6, r2, #0x2
- lsl r0, r4, #0x2
- lsl r2, r7, #0x2
- lsl r4, r0, #0x3
- lsl r6, r1, #0x3
- lsl r0, r3, #0x3
- lsl r6, r4, #0x3
- lsl r4, r6, #0x3
- lsl r0, r0, #0x4
- lsl r4, r1, #0x4
- lsl r6, r4, #0x4
- lsl r6, r6, #0x4
- lsl r6, r0, #0x5
- lsl r6, r2, #0x5
- lsl r6, r4, #0x5
- lsl r4, r6, #0x5
- lsl r2, r0, #0x6
- lsl r0, r2, #0x6
- lsl r6, r3, #0x6
- lsl r0, r7, #0x6
- lsl r2, r2, #0x7
- lsl r2, r5, #0x7
- lsl r2, r0, #0x8
- lsl r2, r3, #0x8
- lsl r2, r6, #0x8
- lsl r2, r1, #0x9
- lsl r4, r5, #0x9
- lsl r0, r0, #0xa
- lsl r4, r3, #0xa
- lsl r0, r7, #0xa
- lsl r0, r1, #0xb
- lsl r0, r5, #0xb
- lsl r0, r1, #0xc
- lsl r0, r4, #0xc
- lsl r0, r3, #0x10
- lsl r0, r6, #0xc
- lsl r0, r2, #0xd
- lsl r6, r3, #0xd
- lsl r4, r1, #0xe
- lsl r0, r6, #0xe
- lsl r4, r2, #0xf
- lsl r0, r7, #0xf
+_020079F8: ; jump table (using 16-bit offset)
+ .short _02007A56 - _020079F8 - 2; case 0
+ .short _02007A62 - _020079F8 - 2; case 1
+ .short _02007A6E - _020079F8 - 2; case 2
+ .short _02007A78 - _020079F8 - 2; case 3
+ .short _02007A84 - _020079F8 - 2; case 4
+ .short _02007A90 - _020079F8 - 2; case 5
+ .short _02007A9A - _020079F8 - 2; case 6
+ .short _02007AB4 - _020079F8 - 2; case 7
+ .short _02007ABE - _020079F8 - 2; case 8
+ .short _02007AC8 - _020079F8 - 2; case 9
+ .short _02007AD2 - _020079F8 - 2; case 10
+ .short _02007AE0 - _020079F8 - 2; case 11
+ .short _02007AEE - _020079F8 - 2; case 12
+ .short _02007AFA - _020079F8 - 2; case 13
+ .short _02007B06 - _020079F8 - 2; case 14
+ .short _02007B20 - _020079F8 - 2; case 15
+ .short _02007B30 - _020079F8 - 2; case 16
+ .short _02007B40 - _020079F8 - 2; case 17
+ .short _02007B50 - _020079F8 - 2; case 18
+ .short _02007B60 - _020079F8 - 2; case 19
+ .short _02007B6E - _020079F8 - 2; case 20
+ .short _02007B7C - _020079F8 - 2; case 21
+ .short _02007B8A - _020079F8 - 2; case 22
+ .short _02007B98 - _020079F8 - 2; case 23
+ .short _02007BB2 - _020079F8 - 2; case 24
+ .short _02007BCC - _020079F8 - 2; case 25
+ .short _02007BE4 - _020079F8 - 2; case 26
+ .short _02007BFC - _020079F8 - 2; case 27
+ .short _02007C14 - _020079F8 - 2; case 28
+ .short _02007C2C - _020079F8 - 2; case 29
+ .short _02007C44 - _020079F8 - 2; case 30
+ .short _02007C66 - _020079F8 - 2; case 31
+ .short _02007C7A - _020079F8 - 2; case 32
+ .short _02007C96 - _020079F8 - 2; case 33
+ .short _02007CB2 - _020079F8 - 2; case 34
+ .short _02007CC2 - _020079F8 - 2; case 35
+ .short _02007CE2 - _020079F8 - 2; case 36
+ .short _02007D02 - _020079F8 - 2; case 37
+ .short _02007D1A - _020079F8 - 2; case 38
+ .short _02007E12 - _020079F8 - 2; case 39
+ .short _02007D2A - _020079F8 - 2; case 40
+ .short _02007D4A - _020079F8 - 2; case 41
+ .short _02007D58 - _020079F8 - 2; case 42
+ .short _02007D86 - _020079F8 - 2; case 43
+ .short _02007DAA - _020079F8 - 2; case 44
+ .short _02007DCE - _020079F8 - 2; case 45
+ .short _02007DF2 - _020079F8 - 2; case 46
+_02007A56:
mov r1, #0x24
ldrsh r1, [r3, r1]
add r0, r1, r0
@@ -12747,74 +14402,536 @@ _020079EC:
pop {r3-r4}
bx lr
_02007A62:
- .byte 0x26, 0x21, 0x59, 0x5E, 0x08, 0x18, 0xD8, 0x84, 0x18, 0xBC, 0x70, 0x47, 0x99, 0x6A
- .byte 0x08, 0x18, 0x98, 0x62, 0x18, 0xBC, 0x70, 0x47, 0x2C, 0x21, 0x59, 0x5E, 0x08, 0x18, 0x98, 0x85
- .byte 0x18, 0xBC, 0x70, 0x47, 0x2E, 0x21, 0x59, 0x5E, 0x08, 0x18, 0xD8, 0x85, 0x18, 0xBC, 0x70, 0x47
- .byte 0x19, 0x6B, 0x08, 0x18, 0x18, 0x63, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x01, 0x22, 0x21, 0x1C
- .byte 0x91, 0x43, 0xE2, 0x07, 0xD2, 0x0F, 0x12, 0x18, 0x01, 0x20, 0x10, 0x40, 0x08, 0x43, 0x58, 0x65
- .byte 0x18, 0xBC, 0x70, 0x47, 0x19, 0x8F, 0x08, 0x18, 0x18, 0x87, 0x18, 0xBC, 0x70, 0x47, 0x59, 0x8F
- .byte 0x08, 0x18, 0x58, 0x87, 0x18, 0xBC, 0x70, 0x47, 0x99, 0x8F, 0x08, 0x18, 0x98, 0x87, 0x18, 0xBC
- .byte 0x70, 0x47, 0x40, 0x21, 0x59, 0x5E, 0x40, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47
- .byte 0x42, 0x21, 0x59, 0x5E, 0x42, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x34, 0x21
- .byte 0x59, 0x5E, 0x08, 0x18, 0x98, 0x86, 0x18, 0xBC, 0x70, 0x47, 0x36, 0x21, 0x59, 0x5E, 0x08, 0x18
- .byte 0xD8, 0x86, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x02, 0x22, 0x21, 0x1C, 0x91, 0x43, 0xA2, 0x07
- .byte 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07, 0x80, 0x0F, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC, 0x70, 0x47
- .byte 0x19, 0x1C, 0x44, 0x31, 0x09, 0x78, 0x44, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47
- .byte 0x19, 0x1C, 0x45, 0x31, 0x09, 0x78, 0x45, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47
- .byte 0x19, 0x1C, 0x46, 0x31, 0x09, 0x78, 0x46, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47
- .byte 0x19, 0x1C, 0x47, 0x31, 0x09, 0x78, 0x47, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47
- .byte 0x70, 0x21, 0x59, 0x5E, 0x70, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x72, 0x21
- .byte 0x59, 0x5E, 0x72, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x74, 0x21, 0x59, 0x5E
- .byte 0x74, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x76, 0x21, 0x59, 0x5E, 0x76, 0x33
- .byte 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x7C, 0x22, 0x21, 0x1C, 0x91, 0x43
- .byte 0x62, 0x06, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x40, 0x0E, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC
- .byte 0x70, 0x47, 0x1C, 0x6D, 0x1F, 0x22, 0x21, 0x1C, 0x91, 0x43, 0xE2, 0x06, 0xD2, 0x0E, 0x12, 0x18
- .byte 0x1F, 0x20, 0x10, 0x40, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x92, 0x49
- .byte 0x11, 0x40, 0x92, 0x05, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x80, 0x0D, 0x08, 0x43, 0x18, 0x65
- .byte 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x8D, 0x49, 0x11, 0x40, 0x52, 0x04, 0xD2, 0x0E, 0x10, 0x18
- .byte 0xC0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x88, 0x49
- .byte 0x11, 0x40, 0x12, 0x03, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x00, 0x0B, 0x08, 0x43, 0x18, 0x65
- .byte 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x83, 0x49, 0x11, 0x40, 0xD2, 0x01, 0xD2, 0x0E, 0x10, 0x18
- .byte 0xC0, 0x06, 0xC0, 0x09, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x7E, 0x49
- .byte 0x11, 0x40, 0x92, 0x00, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x18, 0x65
- .byte 0x18, 0xBC, 0x70, 0x47, 0x5A, 0x6D, 0x79, 0x49, 0x11, 0x40, 0xD2, 0x04, 0xD2, 0x0F, 0x10, 0x18
- .byte 0xC0, 0x07, 0xC0, 0x0C, 0x08, 0x43, 0x58, 0x65, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43
- .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0xD9, 0x6C, 0x08, 0x18, 0xD8, 0x64, 0x01, 0x20, 0x19, 0x68
- .byte 0x00, 0x02, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x48, 0x31, 0x09, 0x78
- .byte 0x09, 0x18, 0x18, 0x1C, 0x48, 0x30, 0x01, 0x70, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43
- .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x49, 0x31, 0x09, 0x78, 0x09, 0x18, 0x18, 0x1C
- .byte 0x49, 0x30, 0x01, 0x70, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC
- .byte 0x70, 0x47, 0x19, 0x1C, 0x4A, 0x31, 0x09, 0x78, 0x4A, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC
- .byte 0x70, 0x47, 0x5A, 0x6D, 0x5A, 0x49, 0x11, 0x40, 0x92, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07
- .byte 0x80, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68, 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC
- .byte 0x70, 0x47, 0x5A, 0x6D, 0x53, 0x49, 0x11, 0x40, 0x52, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07
- .byte 0x40, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68, 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC
- .byte 0x70, 0x47, 0x5A, 0x6D, 0x4C, 0x49, 0x11, 0x40, 0x12, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07
- .byte 0x00, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x5B, 0x31, 0x09, 0x78
- .byte 0x5B, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47, 0x5A, 0x6D, 0x43, 0x49, 0x11, 0x40
- .byte 0xD2, 0x03, 0x12, 0x0F, 0x10, 0x18, 0x00, 0x07, 0xC0, 0x0B, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68
- .byte 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x6E, 0x21, 0x59, 0x56, 0x6E, 0x33
- .byte 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x03, 0x22
- .byte 0x21, 0x1C, 0x91, 0x43, 0xA2, 0x07, 0x92, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x03, 0x22
- .byte 0x10, 0x40, 0x01, 0x43, 0x18, 0x1C, 0x6C, 0x30, 0x01, 0x80, 0x18, 0x68, 0xFD, 0x32, 0x10, 0x43
- .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x04, 0x22, 0x6C, 0x33
- .byte 0x21, 0x1C, 0x91, 0x43, 0x62, 0x07, 0xD2, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0xC0, 0x07
- .byte 0x40, 0x0F, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88
- .byte 0x08, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43, 0x22, 0x07, 0xD2, 0x0F, 0x10, 0x18, 0x00, 0x04
- .byte 0x00, 0x0C, 0xC0, 0x07, 0x00, 0x0F, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C
- .byte 0x6C, 0x31, 0x0C, 0x88, 0x10, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43, 0xE2, 0x06, 0xD2, 0x0F
- .byte 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0xC0, 0x07, 0xC0, 0x0E, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC
- .byte 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x60, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43
- .byte 0x62, 0x06, 0x92, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x80, 0x07, 0x40, 0x0E, 0x08, 0x43
- .byte 0x18, 0x80
+ mov r1, #0x26
+ ldrsh r1, [r3, r1]
+ add r0, r1, r0
+ strh r0, [r3, #0x26]
+ pop {r3-r4}
+ bx lr
+_02007A6E:
+ ldr r1, [r3, #0x28]
+ add r0, r1, r0
+ str r0, [r3, #0x28]
+ pop {r3-r4}
+ bx lr
+_02007A78:
+ mov r1, #0x2c
+ ldrsh r1, [r3, r1]
+ add r0, r1, r0
+ strh r0, [r3, #0x2c]
+ pop {r3-r4}
+ bx lr
+_02007A84:
+ mov r1, #0x2e
+ ldrsh r1, [r3, r1]
+ add r0, r1, r0
+ strh r0, [r3, #0x2e]
+ pop {r3-r4}
+ bx lr
+_02007A90:
+ ldr r1, [r3, #0x30]
+ add r0, r1, r0
+ str r0, [r3, #0x30]
+ pop {r3-r4}
+ bx lr
+_02007A9A:
+ ldr r4, [r3, #0x54]
+ mov r2, #0x1
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1f
+ lsr r2, r2, #0x1f
+ add r2, r2, r0
+ mov r0, #0x1
+ and r0, r2
+ orr r0, r1
+ str r0, [r3, #0x54]
+ pop {r3-r4}
+ bx lr
+_02007AB4:
+ ldrh r1, [r3, #0x38]
+ add r0, r1, r0
+ strh r0, [r3, #0x38]
+ pop {r3-r4}
+ bx lr
+_02007ABE:
+ ldrh r1, [r3, #0x3a]
+ add r0, r1, r0
+ strh r0, [r3, #0x3a]
+ pop {r3-r4}
+ bx lr
+_02007AC8:
+ ldrh r1, [r3, #0x3c]
+ add r0, r1, r0
+ strh r0, [r3, #0x3c]
+ pop {r3-r4}
+ bx lr
+_02007AD2:
+ mov r1, #0x40
+ ldrsh r1, [r3, r1]
+ add r3, #0x40
+ add r0, r1, r0
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007AE0:
+ mov r1, #0x42
+ ldrsh r1, [r3, r1]
+ add r3, #0x42
+ add r0, r1, r0
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007AEE:
+ mov r1, #0x34
+ ldrsh r1, [r3, r1]
+ add r0, r1, r0
+ strh r0, [r3, #0x34]
+ pop {r3-r4}
+ bx lr
+_02007AFA:
+ mov r1, #0x36
+ ldrsh r1, [r3, r1]
+ add r0, r1, r0
+ strh r0, [r3, #0x36]
+ pop {r3-r4}
+ bx lr
+_02007B06:
+ ldr r4, [r3, #0x54]
+ mov r2, #0x2
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1e
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1e
+ orr r0, r1
+ str r0, [r3, #0x54]
+ pop {r3-r4}
+ bx lr
+_02007B20:
+ add r1, r3, #0x0
+ add r1, #0x44
+ ldrb r1, [r1, #0x0]
+ add r3, #0x44
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B30:
+ add r1, r3, #0x0
+ add r1, #0x45
+ ldrb r1, [r1, #0x0]
+ add r3, #0x45
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B40:
+ add r1, r3, #0x0
+ add r1, #0x46
+ ldrb r1, [r1, #0x0]
+ add r3, #0x46
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B50:
+ add r1, r3, #0x0
+ add r1, #0x47
+ ldrb r1, [r1, #0x0]
+ add r3, #0x47
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B60:
+ mov r1, #0x70
+ ldrsh r1, [r3, r1]
+ add r3, #0x70
+ add r0, r1, r0
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B6E:
+ mov r1, #0x72
+ ldrsh r1, [r3, r1]
+ add r3, #0x72
+ add r0, r1, r0
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B7C:
+ mov r1, #0x74
+ ldrsh r1, [r3, r1]
+ add r3, #0x74
+ add r0, r1, r0
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B8A:
+ mov r1, #0x76
+ ldrsh r1, [r3, r1]
+ add r3, #0x76
+ add r0, r1, r0
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007B98:
+ ldr r4, [r3, #0x54]
+ mov r2, #0x7c
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x19
+ lsr r2, r2, #0x1b
+ add r0, r2, r0
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x19
+ orr r0, r1
+ str r0, [r3, #0x54]
+ pop {r3-r4}
+ bx lr
+_02007BB2:
+ ldr r4, [r3, #0x50]
+ mov r2, #0x1f
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1b
+ lsr r2, r2, #0x1b
+ add r2, r2, r0
+ mov r0, #0x1f
+ and r0, r2
+ orr r0, r1
+ str r0, [r3, #0x50]
+ pop {r3-r4}
+ bx lr
+_02007BCC:
+ ldr r2, [r3, #0x50]
+ ldr r1, _02007E18 ; =0xFFFFFC1F
+ and r1, r2
+ lsl r2, r2, #0x16
+ lsr r2, r2, #0x1b
+ add r0, r2, r0
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x16
+ orr r0, r1
+ str r0, [r3, #0x50]
+ pop {r3-r4}
+ bx lr
+_02007BE4:
+ ldr r2, [r3, #0x50]
+ ldr r1, _02007E1C ; =0xFFFF83FF
+ and r1, r2
+ lsl r2, r2, #0x11
+ lsr r2, r2, #0x1b
+ add r0, r2, r0
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x11
+ orr r0, r1
+ str r0, [r3, #0x50]
+ pop {r3-r4}
+ bx lr
+_02007BFC:
+ ldr r2, [r3, #0x50]
+ ldr r1, _02007E20 ; =0xFFF07FFF
+ and r1, r2
+ lsl r2, r2, #0xc
+ lsr r2, r2, #0x1b
+ add r0, r2, r0
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0xc
+ orr r0, r1
+ str r0, [r3, #0x50]
+ pop {r3-r4}
+ bx lr
+_02007C14:
+ ldr r2, [r3, #0x50]
+ ldr r1, _02007E24 ; =0xFE0FFFFF
+ and r1, r2
+ lsl r2, r2, #0x7
+ lsr r2, r2, #0x1b
+ add r0, r2, r0
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x7
+ orr r0, r1
+ str r0, [r3, #0x50]
+ pop {r3-r4}
+ bx lr
+_02007C2C:
+ ldr r2, [r3, #0x50]
+ ldr r1, _02007E28 ; =0xC1FFFFFF
+ and r1, r2
+ lsl r2, r2, #0x2
+ lsr r2, r2, #0x1b
+ add r0, r2, r0
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ str r0, [r3, #0x50]
+ pop {r3-r4}
+ bx lr
+_02007C44:
+ ldr r2, [r3, #0x54]
+ ldr r1, _02007E2C ; =0xFFFFEFFF
+ and r1, r2
+ lsl r2, r2, #0x13
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x13
+ orr r0, r1
+ str r0, [r3, #0x54]
+ mov r0, #0x1
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x8
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007C66:
+ ldr r1, [r3, #0x4c]
+ add r0, r1, r0
+ str r0, [r3, #0x4c]
+ mov r0, #0x1
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x8
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007C7A:
+ add r1, r3, #0x0
+ add r1, #0x48
+ ldrb r1, [r1, #0x0]
+ add r1, r1, r0
+ add r0, r3, #0x0
+ add r0, #0x48
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x8
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007C96:
+ add r1, r3, #0x0
+ add r1, #0x49
+ ldrb r1, [r1, #0x0]
+ add r1, r1, r0
+ add r0, r3, #0x0
+ add r0, #0x49
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x8
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007CB2:
+ add r1, r3, #0x0
+ add r1, #0x4a
+ ldrb r1, [r1, #0x0]
+ add r3, #0x4a
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007CC2:
+ ldr r2, [r3, #0x54]
+ ldr r1, _02007E30 ; =0xFFFFFDFF
+ and r1, r2
+ lsl r2, r2, #0x16
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x16
+ orr r0, r1
+ str r0, [r3, #0x54]
+ ldr r1, [r3, #0x0]
+ mov r0, #0x80
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007CE2:
+ ldr r2, [r3, #0x54]
+ ldr r1, _02007E34 ; =0xFFFFFBFF
+ and r1, r2
+ lsl r2, r2, #0x15
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x15
+ orr r0, r1
+ str r0, [r3, #0x54]
+ ldr r1, [r3, #0x0]
+ mov r0, #0x80
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007D02:
+ ldr r2, [r3, #0x54]
+ ldr r1, _02007E38 ; =0xFFFFF7FF
+ and r1, r2
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x14
+ orr r0, r1
+ str r0, [r3, #0x54]
+ pop {r3-r4}
+ bx lr
+_02007D1A:
+ add r1, r3, #0x0
+ add r1, #0x5b
+ ldrb r1, [r1, #0x0]
+ add r3, #0x5b
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007D2A:
+ ldr r2, [r3, #0x54]
+ ldr r1, _02007E3C ; =0xFFFE1FFF
+ and r1, r2
+ lsl r2, r2, #0xf
+ lsr r2, r2, #0x1c
+ add r0, r2, r0
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0xf
+ orr r0, r1
+ str r0, [r3, #0x54]
+ ldr r1, [r3, #0x0]
+ mov r0, #0x80
+ orr r0, r1
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007D4A:
+ mov r1, #0x6e
+ ldrsb r1, [r3, r1]
+ add r3, #0x6e
+ add r0, r1, r0
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007D58:
+ add r1, r3, #0x0
+ add r1, #0x6c
+ ldrh r4, [r1, #0x0]
+ mov r2, #0x3
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1e
+ lsr r2, r2, #0x1e
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r2, #0x3
+ and r0, r2
+ orr r1, r0
+ add r0, r3, #0x0
+ add r0, #0x6c
+ strh r1, [r0, #0x0]
+ ldr r0, [r3, #0x0]
+ add r2, #0xfd
+ orr r0, r2
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007D86:
+ add r1, r3, #0x0
+ add r1, #0x6c
+ ldrh r4, [r1, #0x0]
+ mov r2, #0x4
+ add r3, #0x6c
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1d
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1d
+ orr r0, r1
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007DAA:
+ add r1, r3, #0x0
+ add r1, #0x6c
+ ldrh r4, [r1, #0x0]
+ mov r2, #0x8
+ add r3, #0x6c
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1c
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1c
+ orr r0, r1
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007DCE:
+ add r1, r3, #0x0
+ add r1, #0x6c
+ ldrh r4, [r1, #0x0]
+ mov r2, #0x10
+ add r3, #0x6c
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x1b
+ lsr r2, r2, #0x1f
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1b
+ orr r0, r1
+ strh r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+_02007DF2:
+ add r1, r3, #0x0
+ add r1, #0x6c
+ ldrh r4, [r1, #0x0]
+ mov r2, #0x60
+ add r3, #0x6c
+ add r1, r4, #0x0
+ bic r1, r2
+ lsl r2, r4, #0x19
+ lsr r2, r2, #0x1e
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x19
+ orr r0, r1
+ strh r0, [r3, #0x0]
_02007E12:
pop {r3-r4}
bx lr
nop
-_02007E18:
- .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF
- .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF
- .byte 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF
+_02007E18: .word 0xFFFFFC1F
+_02007E1C: .word 0xFFFF83FF
+_02007E20: .word 0xFFF07FFF
+_02007E24: .word 0xFE0FFFFF
+_02007E28: .word 0xC1FFFFFF
+_02007E2C: .word 0xFFFFEFFF
+_02007E30: .word 0xFFFFFDFF
+_02007E34: .word 0xFFFFFBFF
+_02007E38: .word 0xFFFFF7FF
+_02007E3C: .word 0xFFFE1FFF
thumb_func_start FUN_02007E40
FUN_02007E40: ; 0x02007E40
@@ -16352,22 +18469,45 @@ FUN_020097FC: ; 0x020097FC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r6, r2, #0
- lsl r4, r4, #0
- lsl r6, r5, #0
- lsl r0, r7, #0
- lsl r2, r0, #0x1
+_0200981E: ; jump table (using 16-bit offset)
+ .short _0200982A - _0200981E - 2; case 0
+ .short _02009836 - _0200981E - 2; case 1
+ .short _02009844 - _0200981E - 2; case 2
+ .short _0200984E - _0200981E - 2; case 3
+ .short _02009858 - _0200981E - 2; case 4
+ .short _02009862 - _0200981E - 2; case 5
+_0200982A:
add r1, r7, #0x0
add r2, r5, #0x0
bl FUN_0200986C
str r0, [r4, #0x8]
pop {r3-r7, pc}
_02009836:
- .byte 0x00, 0x9A, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0xF0, 0x26, 0xF8
- .byte 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x33, 0xF8, 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C
- .byte 0x00, 0xF0, 0x3C, 0xF8, 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x45, 0xF8, 0xA0, 0x60
- .byte 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x4E, 0xF8, 0xA0, 0x60
+ ldr r2, [sp, #0x0]
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ bl FUN_0200988C
+ str r0, [r4, #0x8]
+ pop {r3-r7, pc}
+_02009844:
+ add r1, r5, #0x0
+ bl FUN_020098B0
+ str r0, [r4, #0x8]
+ pop {r3-r7, pc}
+_0200984E:
+ add r1, r5, #0x0
+ bl FUN_020098CC
+ str r0, [r4, #0x8]
+ pop {r3-r7, pc}
+_02009858:
+ add r1, r5, #0x0
+ bl FUN_020098E8
+ str r0, [r4, #0x8]
+ pop {r3-r7, pc}
+_02009862:
+ add r1, r5, #0x0
+ bl FUN_02009904
+ str r0, [r4, #0x8]
_0200986A:
pop {r3-r7, pc}
@@ -26408,11 +28548,13 @@ FUN_0200E558: ; 0x0200E558
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r6, r2, #0
- lsl r4, r4, #0
- lsl r2, r6, #0
- lsl r0, r0, #0x1
+_0200E56A: ; jump table (using 16-bit offset)
+ .short _0200E574 - _0200E56A - 2; case 0
+ .short _0200E582 - _0200E56A - 2; case 1
+ .short _0200E590 - _0200E56A - 2; case 2
+ .short _0200E59E - _0200E56A - 2; case 3
+ .short _0200E5AC - _0200E56A - 2; case 4
+_0200E574:
mov r2, #0x1
add r0, r1, #0x0
mov r1, #0x0
@@ -26420,10 +28562,32 @@ FUN_0200E558: ; 0x0200E558
bl FUN_0200E5BC
pop {r3, pc}
_0200E582:
- .byte 0x08, 0x1C, 0x01, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD
- .byte 0x01, 0x22, 0x08, 0x1C, 0x02, 0x21, 0x13, 0x1C, 0x00, 0xF0, 0x10, 0xF8, 0x08, 0xBD, 0x08, 0x1C
- .byte 0x01, 0x21, 0x0A, 0x1C, 0x00, 0x23, 0x00, 0xF0, 0x09, 0xF8, 0x08, 0xBD, 0x08, 0x1C, 0x02, 0x21
- .byte 0x00, 0x22, 0x01, 0x23, 0x00, 0xF0, 0x02, 0xF8
+ add r0, r1, #0x0
+ mov r1, #0x1
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E5BC
+ pop {r3, pc}
+_0200E590:
+ mov r2, #0x1
+ add r0, r1, #0x0
+ mov r1, #0x2
+ add r3, r2, #0x0
+ bl FUN_0200E5BC
+ pop {r3, pc}
+_0200E59E:
+ add r0, r1, #0x0
+ mov r1, #0x1
+ add r2, r1, #0x0
+ mov r3, #0x0
+ bl FUN_0200E5BC
+ pop {r3, pc}
+_0200E5AC:
+ add r0, r1, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x1
+ bl FUN_0200E5BC
_0200E5B8:
pop {r3, pc}
.balign 4
@@ -37055,12 +39219,14 @@ _02013476:
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
- lsl r2, r1, #0
- lsl r6, r2, #0
- lsl r2, r4, #0
- lsl r0, r6, #0
- lsl r6, r7, #0
- lsl r4, r1, #0x1
+_0201348A: ; jump table (using 16-bit offset)
+ .short _02013496 - _0201348A - 2; case 0
+ .short _020134A2 - _0201348A - 2; case 1
+ .short _020134AE - _0201348A - 2; case 2
+ .short _020134BC - _0201348A - 2; case 3
+ .short _020134CA - _0201348A - 2; case 4
+ .short _020134D8 - _0201348A - 2; case 5
+_02013496:
ldr r5, [r3, #0x0]
cmp r5, r0
bne _020134EC
@@ -37068,11 +39234,44 @@ _02013476:
pop {r4-r7}
bx lr
_020134A2:
- .byte 0x1D, 0x68, 0xBD, 0x42, 0x21, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68
- .byte 0x14, 0x4D, 0xAE, 0x42, 0x1A, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x12, 0x4D
- .byte 0xAE, 0x42, 0x13, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x0F, 0x4D, 0xAE, 0x42
- .byte 0x0C, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x0D, 0x4D, 0xAE, 0x42, 0x05, 0xD1
- .byte 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47
+ ldr r5, [r3, #0x0]
+ cmp r5, r7
+ bne _020134EC
+ ldr r0, [r3, #0x4]
+ pop {r4-r7}
+ bx lr
+_020134AE:
+ ldr r6, [r3, #0x0]
+ ldr r5, _02013504 ; =0x02090858
+ cmp r6, r5
+ bne _020134EC
+ ldr r0, [r3, #0x4]
+ pop {r4-r7}
+ bx lr
+_020134BC:
+ ldr r6, [r3, #0x0]
+ ldr r5, _02013508 ; =0x02090780
+ cmp r6, r5
+ bne _020134EC
+ ldr r0, [r3, #0x4]
+ pop {r4-r7}
+ bx lr
+_020134CA:
+ ldr r6, [r3, #0x0]
+ ldr r5, _0201350C ; =0x02090664
+ cmp r6, r5
+ bne _020134EC
+ ldr r0, [r3, #0x4]
+ pop {r4-r7}
+ bx lr
+_020134D8:
+ ldr r6, [r3, #0x0]
+ ldr r5, _02013510 ; =0x020905D0
+ cmp r6, r5
+ bne _020134EC
+ ldr r0, [r3, #0x4]
+ pop {r4-r7}
+ bx lr
_020134E6:
mov r0, #0x0
pop {r4-r7}
@@ -37089,9 +39288,10 @@ _020134F4:
nop
_020134FC: .word 0x020908DC
_02013500: .word 0x020909A4
-_02013504:
- .byte 0x58, 0x08, 0x09, 0x02, 0x80, 0x07, 0x09, 0x02, 0x64, 0x06, 0x09, 0x02
- .byte 0xD0, 0x05, 0x09, 0x02
+_02013504: .word 0x02090858
+_02013508: .word 0x02090780
+_0201350C: .word 0x02090664
+_02013510: .word 0x020905D0
thumb_func_start FUN_02013514
FUN_02013514: ; 0x02013514
@@ -39254,10 +41454,12 @@ FUN_020143DC: ; 0x020143DC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r2, #0
- lsl r0, r3, #0x1
- lsl r2, r1, #0x1
+_020143F8: ; jump table (using 16-bit offset)
+ .short _02014400 - _020143F8 - 2; case 0
+ .short _02014410 - _020143F8 - 2; case 1
+ .short _02014452 - _020143F8 - 2; case 2
+ .short _02014444 - _020143F8 - 2; case 3
+_02014400:
add r0, r4, #0x0
mov r1, #0x0
add r0, #0x4f
@@ -39267,11 +41469,39 @@ FUN_020143DC: ; 0x020143DC
strb r0, [r4, #0x0]
pop {r3-r5, pc}
_02014410:
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x1F, 0xF8, 0x01, 0x28, 0x04, 0xD1, 0x21, 0x1C, 0x62, 0x68, 0x20, 0x1C
- .byte 0x2C, 0x31, 0x90, 0x47, 0x20, 0x1C, 0x4F, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x20, 0x1C, 0x4F, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x4F, 0x30, 0x00, 0x78, 0x20, 0x28, 0x0A, 0xD1, 0x00, 0x20, 0x4F, 0x34
- .byte 0x20, 0x70, 0x38, 0xBD, 0x62, 0x68, 0x20, 0x1C, 0x0C, 0x31, 0x90, 0x47, 0x28, 0x1C, 0xF1, 0xF7
- .byte 0xE5, 0xFE
+ add r0, r4, #0x0
+ bl FUN_02014454
+ cmp r0, #0x1
+ bne _02014424
+ add r1, r4, #0x0
+ ldr r2, [r4, #0x4]
+ add r0, r4, #0x0
+ add r1, #0x2c
+ blx r2
+_02014424:
+ add r0, r4, #0x0
+ add r0, #0x4f
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x4f
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x4f
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x20
+ bne _02014452
+ mov r0, #0x0
+ add r4, #0x4f
+ strb r0, [r4, #0x0]
+ pop {r3-r5, pc}
+_02014444:
+ ldr r2, [r4, #0x4]
+ add r0, r4, #0x0
+ add r1, #0xc
+ blx r2
+ add r0, r5, #0x0
+ bl FUN_0200621C
_02014452:
pop {r3-r5, pc}
@@ -42103,11 +44333,13 @@ FUN_0201590C: ; 0x0201590C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r2, r3, #0
- lsl r4, r5, #0
- lsl r6, r7, #0
- lsl r0, r2, #0x1
+_02015920: ; jump table (using 16-bit offset)
+ .short _0201592A - _02015920 - 2; case 0
+ .short _0201593C - _02015920 - 2; case 1
+ .short _0201594E - _02015920 - 2; case 2
+ .short _02015960 - _02015920 - 2; case 3
+ .short _02015972 - _02015920 - 2; case 4
+_0201592A:
add r0, r1, #0x0
add r0, #0x3c
str r0, [r1, #0x24]
@@ -42118,12 +44350,45 @@ FUN_0201590C: ; 0x0201590C
str r0, [r1, #0x30]
pop {r3, pc}
_0201593C:
- .byte 0x08, 0x1C, 0x40, 0x30
- .byte 0x48, 0x62, 0x10, 0x1C, 0x6C, 0x30, 0x88, 0x62, 0xD0, 0x6E, 0x08, 0x63, 0x08, 0xBD, 0x08, 0x1C
- .byte 0x44, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x70, 0x30, 0x88, 0x62, 0x10, 0x6F, 0x08, 0x63, 0x08, 0xBD
- .byte 0x08, 0x1C, 0x48, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x74, 0x30, 0x88, 0x62, 0x50, 0x6F, 0x08, 0x63
- .byte 0x08, 0xBD, 0x08, 0x1C, 0x4C, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x78, 0x30, 0x88, 0x62, 0x90, 0x6F
- .byte 0x08, 0x63, 0x08, 0xBD
+ add r0, r1, #0x0
+ add r0, #0x40
+ str r0, [r1, #0x24]
+ add r0, r2, #0x0
+ add r0, #0x6c
+ str r0, [r1, #0x28]
+ ldr r0, [r2, #0x6c]
+ str r0, [r1, #0x30]
+ pop {r3, pc}
+_0201594E:
+ add r0, r1, #0x0
+ add r0, #0x44
+ str r0, [r1, #0x24]
+ add r0, r2, #0x0
+ add r0, #0x70
+ str r0, [r1, #0x28]
+ ldr r0, [r2, #0x70]
+ str r0, [r1, #0x30]
+ pop {r3, pc}
+_02015960:
+ add r0, r1, #0x0
+ add r0, #0x48
+ str r0, [r1, #0x24]
+ add r0, r2, #0x0
+ add r0, #0x74
+ str r0, [r1, #0x28]
+ ldr r0, [r2, #0x74]
+ str r0, [r1, #0x30]
+ pop {r3, pc}
+_02015972:
+ add r0, r1, #0x0
+ add r0, #0x4c
+ str r0, [r1, #0x24]
+ add r0, r2, #0x0
+ add r0, #0x78
+ str r0, [r1, #0x28]
+ ldr r0, [r2, #0x78]
+ str r0, [r1, #0x30]
+ pop {r3, pc}
_02015984:
bl FUN_02020C2C
pop {r3, pc}
@@ -42234,10 +44499,12 @@ FUN_02015A34: ; 0x02015A34
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r3, #0
- lsl r2, r6, #0
- lsl r0, r1, #0x1
+_02015A5C: ; jump table (using 16-bit offset)
+ .short _02015A64 - _02015A5C - 2; case 0
+ .short _02015A78 - _02015A5C - 2; case 1
+ .short _02015A90 - _02015A5C - 2; case 2
+ .short _02015AA6 - _02015A5C - 2; case 3
+_02015A64:
asr r0, r1, #0x4
lsl r1, r0, #0x2
ldr r0, _02015AE8 ; =0x020FFA38
@@ -42249,11 +44516,44 @@ FUN_02015A34: ; 0x02015A34
str r1, [r0, #0x0]
b _02015AC4
_02015A78:
- .byte 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00
- .byte 0x19, 0x49, 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x60, 0x6A, 0x09, 0x13, 0x01, 0x60, 0x19, 0xE0
- .byte 0x08, 0x11, 0x81, 0x00, 0x14, 0x48, 0xE2, 0x68, 0x40, 0x5E, 0x50, 0x43, 0x00, 0x13, 0x41, 0x42
- .byte 0x60, 0x6A, 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49
- .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0
+ asr r1, r1, #0x4
+ lsl r1, r1, #0x1
+ add r1, r1, #0x1
+ lsl r2, r1, #0x1
+ ldr r1, _02015AE8 ; =0x020FFA38
+ ldr r0, [r4, #0xc]
+ ldrsh r1, [r1, r2]
+ mul r1, r0
+ ldr r0, [r4, #0x24]
+ asr r1, r1, #0xc
+ str r1, [r0, #0x0]
+ b _02015AC4
+_02015A90:
+ asr r0, r1, #0x4
+ lsl r1, r0, #0x2
+ ldr r0, _02015AE8 ; =0x020FFA38
+ ldr r2, [r4, #0xc]
+ ldrsh r0, [r0, r1]
+ mul r0, r2
+ asr r0, r0, #0xc
+ neg r1, r0
+ ldr r0, [r4, #0x24]
+ str r1, [r0, #0x0]
+ b _02015AC4
+_02015AA6:
+ asr r1, r1, #0x4
+ lsl r1, r1, #0x1
+ add r1, r1, #0x1
+ lsl r2, r1, #0x1
+ ldr r1, _02015AE8 ; =0x020FFA38
+ ldr r0, [r4, #0xc]
+ ldrsh r1, [r1, r2]
+ mul r1, r0
+ asr r0, r1, #0xc
+ neg r1, r0
+ ldr r0, [r4, #0x24]
+ str r1, [r0, #0x0]
+ b _02015AC4
_02015AC0:
bl FUN_02020C2C
_02015AC4:
@@ -42302,10 +44602,12 @@ FUN_02015AEC: ; 0x02015AEC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r3, #0
- lsl r2, r6, #0
- lsl r0, r1, #0x1
+_02015B1A: ; jump table (using 16-bit offset)
+ .short _02015B22 - _02015B1A - 2; case 0
+ .short _02015B36 - _02015B1A - 2; case 1
+ .short _02015B4E - _02015B1A - 2; case 2
+ .short _02015B64 - _02015B1A - 2; case 3
+_02015B22:
asr r0, r1, #0x4
lsl r1, r0, #0x2
ldr r0, _02015BA8 ; =0x020FFA38
@@ -42317,11 +44619,44 @@ FUN_02015AEC: ; 0x02015AEC
str r1, [r0, #0x0]
b _02015B82
_02015B36:
- .byte 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x1A, 0x49
- .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x60, 0x6A, 0x09, 0x13, 0x01, 0x60, 0x19, 0xE0, 0x08, 0x11
- .byte 0x81, 0x00, 0x15, 0x48, 0xE2, 0x68, 0x40, 0x5E, 0x50, 0x43, 0x00, 0x13, 0x41, 0x42, 0x60, 0x6A
- .byte 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49, 0xE0, 0x68
- .byte 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0
+ asr r1, r1, #0x4
+ lsl r1, r1, #0x1
+ add r1, r1, #0x1
+ lsl r2, r1, #0x1
+ ldr r1, _02015BA8 ; =0x020FFA38
+ ldr r0, [r4, #0xc]
+ ldrsh r1, [r1, r2]
+ mul r1, r0
+ ldr r0, [r4, #0x24]
+ asr r1, r1, #0xc
+ str r1, [r0, #0x0]
+ b _02015B82
+_02015B4E:
+ asr r0, r1, #0x4
+ lsl r1, r0, #0x2
+ ldr r0, _02015BA8 ; =0x020FFA38
+ ldr r2, [r4, #0xc]
+ ldrsh r0, [r0, r1]
+ mul r0, r2
+ asr r0, r0, #0xc
+ neg r1, r0
+ ldr r0, [r4, #0x24]
+ str r1, [r0, #0x0]
+ b _02015B82
+_02015B64:
+ asr r1, r1, #0x4
+ lsl r1, r1, #0x1
+ add r1, r1, #0x1
+ lsl r2, r1, #0x1
+ ldr r1, _02015BA8 ; =0x020FFA38
+ ldr r0, [r4, #0xc]
+ ldrsh r1, [r1, r2]
+ mul r1, r0
+ asr r0, r1, #0xc
+ neg r1, r0
+ ldr r0, [r4, #0x24]
+ str r1, [r0, #0x0]
+ b _02015B82
_02015B7E:
bl FUN_02020C2C
_02015B82:
@@ -42556,31 +44891,26 @@ FUN_02015D14: ; 0x02015D14
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
- lsl r0, r3, #0
- lsl r2, r2, #0
- lsl r4, r3, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02015D24: ; jump table (using 16-bit offset)
+ .short _02015D34 - _02015D24 - 2; case 0
+ .short _02015D34 - _02015D24 - 2; case 1
+ .short _02015D38 - _02015D24 - 2; case 2
+ .short _02015D3E - _02015D24 - 2; case 3
+ .short _02015D38 - _02015D24 - 2; case 4
+ .short _02015D42 - _02015D24 - 2; case 5
+ .short _02015D34 - _02015D24 - 2; case 6
+ .short _02015D38 - _02015D24 - 2; case 7
_02015D34:
mov r0, #0xea
bx lr
-
- thumb_func_start FUN_02015D38
-FUN_02015D38: ; 0x02015D38
+_02015D38:
mov r0, #0x6d
lsl r0, r0, #0x2
bx lr
-
- non_word_aligned_thumb_func_start FUN_02015D3E
-FUN_02015D3E: ; 0x02015D3E
+_02015D3E:
ldr r0, _02015D48 ; =0x000001B7
bx lr
-
- non_word_aligned_thumb_func_start FUN_02015D42
-FUN_02015D42: ; 0x02015D42
+_02015D42:
ldr r0, _02015D4C ; =0x000001B6
bx lr
nop
@@ -42597,31 +44927,26 @@ FUN_02015D50: ; 0x02015D50
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r2, #0
- lsl r4, r3, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02015D60: ; jump table (using 16-bit offset)
+ .short _02015D70 - _02015D60 - 2; case 0
+ .short _02015D70 - _02015D60 - 2; case 1
+ .short _02015D74 - _02015D60 - 2; case 2
+ .short _02015D78 - _02015D60 - 2; case 3
+ .short _02015D74 - _02015D60 - 2; case 4
+ .short _02015D7E - _02015D60 - 2; case 5
+ .short _02015D70 - _02015D60 - 2; case 6
+ .short _02015D74 - _02015D60 - 2; case 7
_02015D70:
mov r0, #0xeb
bx lr
-
- thumb_func_start FUN_02015D74
-FUN_02015D74: ; 0x02015D74
+_02015D74:
ldr r0, _02015D84 ; =0x000001B5
bx lr
-
- thumb_func_start FUN_02015D78
-FUN_02015D78: ; 0x02015D78
+_02015D78:
mov r0, #0x6e
lsl r0, r0, #0x2
bx lr
-
- non_word_aligned_thumb_func_start FUN_02015D7E
-FUN_02015D7E: ; 0x02015D7E
+_02015D7E:
mov r0, #0x6d
lsl r0, r0, #0x2
bx lr
@@ -43660,10 +45985,12 @@ _02016572:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0x4
- lsl r6, r0, #0
- lsl r4, r7, #0
- lsl r2, r0, #0x3
+_0201657E: ; jump table (using 16-bit offset)
+ .short _0201668C - _0201657E - 2; case 0
+ .short _02016586 - _0201657E - 2; case 1
+ .short _020165BC - _0201657E - 2; case 2
+ .short _02016642 - _0201657E - 2; case 3
+_02016586:
ldr r2, [r0, #0x48]
mov r1, #0x8
add r3, r2, #0x0
@@ -43694,26 +46021,126 @@ _020165A8:
str r0, [r1, #0x4c]
bx lr
_020165BC:
- .byte 0x83, 0x6C, 0x01, 0x20
- .byte 0x80, 0x02, 0x1A, 0x1C, 0x00, 0x21, 0x02, 0x42, 0x01, 0xD0, 0x40, 0x00, 0x01, 0x43, 0x02, 0x20
- .byte 0x80, 0x02, 0x1A, 0x1C, 0x02, 0x42, 0x01, 0xD0, 0x40, 0x08, 0x01, 0x43, 0x2C, 0x4A, 0x2D, 0x48
- .byte 0x93, 0x6C, 0x18, 0x40, 0x08, 0x43, 0x90, 0x64, 0x53, 0x6C, 0x01, 0x21, 0x89, 0x02, 0x1A, 0x1C
- .byte 0x00, 0x20, 0x0A, 0x42, 0x01, 0xD0, 0x49, 0x00, 0x08, 0x43, 0x02, 0x21, 0x89, 0x02, 0x1A, 0x1C
- .byte 0x0A, 0x42, 0x01, 0xD0, 0x49, 0x08, 0x08, 0x43, 0x21, 0x4A, 0x22, 0x49, 0x53, 0x6C, 0x19, 0x40
- .byte 0x08, 0x43, 0x50, 0x64, 0xD3, 0x6C, 0x01, 0x21, 0x89, 0x02, 0x1A, 0x1C, 0x00, 0x20, 0x0A, 0x42
- .byte 0x01, 0xD0, 0x49, 0x00, 0x08, 0x43, 0x02, 0x21, 0x89, 0x02, 0x1A, 0x1C, 0x0A, 0x42, 0x01, 0xD0
- .byte 0x49, 0x08, 0x08, 0x43, 0x16, 0x4A, 0x17, 0x49, 0xD3, 0x6C, 0x19, 0x40, 0x08, 0x43, 0xD0, 0x64
- .byte 0x70, 0x47, 0x02, 0x21, 0x82, 0x6C, 0x09, 0x02, 0x11, 0x42, 0x02, 0xD0, 0x01, 0x21, 0x11, 0x43
- .byte 0x81, 0x64, 0x0F, 0x49, 0x02, 0x20, 0x4A, 0x6C, 0x00, 0x02, 0x10, 0x42, 0x02, 0xD0, 0x01, 0x20
- .byte 0x10, 0x43, 0x48, 0x64, 0x0A, 0x49, 0x02, 0x20, 0xCA, 0x6C, 0x00, 0x02, 0x10, 0x42, 0x02, 0xD0
- .byte 0x01, 0x20, 0x10, 0x43, 0xC8, 0x64, 0x06, 0x49, 0x07, 0x48, 0x8A, 0x6C, 0x02, 0x40, 0x8A, 0x64
- .byte 0x4A, 0x6C, 0x02, 0x40, 0x4A, 0x64, 0xCA, 0x6C, 0x10, 0x40, 0xC8, 0x64
+ ldr r3, [r0, #0x48]
+ mov r0, #0x1
+ lsl r0, r0, #0xa
+ add r2, r3, #0x0
+ mov r1, #0x0
+ tst r2, r0
+ beq _020165CE
+ lsl r0, r0, #0x1
+ orr r1, r0
+_020165CE:
+ mov r0, #0x2
+ lsl r0, r0, #0xa
+ add r2, r3, #0x0
+ tst r2, r0
+ beq _020165DC
+ lsr r0, r0, #0x1
+ orr r1, r0
+_020165DC:
+ ldr r2, _02016690 ; =0x021C48B8
+ ldr r0, _02016694 ; =0x0000F3FF
+ ldr r3, [r2, #0x48]
+ and r0, r3
+ orr r0, r1
+ str r0, [r2, #0x48]
+ ldr r3, [r2, #0x44]
+ mov r1, #0x1
+ lsl r1, r1, #0xa
+ add r2, r3, #0x0
+ mov r0, #0x0
+ tst r2, r1
+ beq _020165FA
+ lsl r1, r1, #0x1
+ orr r0, r1
+_020165FA:
+ mov r1, #0x2
+ lsl r1, r1, #0xa
+ add r2, r3, #0x0
+ tst r2, r1
+ beq _02016608
+ lsr r1, r1, #0x1
+ orr r0, r1
+_02016608:
+ ldr r2, _02016690 ; =0x021C48B8
+ ldr r1, _02016694 ; =0x0000F3FF
+ ldr r3, [r2, #0x44]
+ and r1, r3
+ orr r0, r1
+ str r0, [r2, #0x44]
+ ldr r3, [r2, #0x4c]
+ mov r1, #0x1
+ lsl r1, r1, #0xa
+ add r2, r3, #0x0
+ mov r0, #0x0
+ tst r2, r1
+ beq _02016626
+ lsl r1, r1, #0x1
+ orr r0, r1
+_02016626:
+ mov r1, #0x2
+ lsl r1, r1, #0xa
+ add r2, r3, #0x0
+ tst r2, r1
+ beq _02016634
+ lsr r1, r1, #0x1
+ orr r0, r1
+_02016634:
+ ldr r2, _02016690 ; =0x021C48B8
+ ldr r1, _02016694 ; =0x0000F3FF
+ ldr r3, [r2, #0x4c]
+ and r1, r3
+ orr r0, r1
+ str r0, [r2, #0x4c]
+ bx lr
+_02016642:
+ mov r1, #0x2
+ ldr r2, [r0, #0x48]
+ lsl r1, r1, #0x8
+ tst r1, r2
+ beq _02016652
+ mov r1, #0x1
+ orr r1, r2
+ str r1, [r0, #0x48]
+_02016652:
+ ldr r1, _02016690 ; =0x021C48B8
+ mov r0, #0x2
+ ldr r2, [r1, #0x44]
+ lsl r0, r0, #0x8
+ tst r0, r2
+ beq _02016664
+ mov r0, #0x1
+ orr r0, r2
+ str r0, [r1, #0x44]
+_02016664:
+ ldr r1, _02016690 ; =0x021C48B8
+ mov r0, #0x2
+ ldr r2, [r1, #0x4c]
+ lsl r0, r0, #0x8
+ tst r0, r2
+ beq _02016676
+ mov r0, #0x1
+ orr r0, r2
+ str r0, [r1, #0x4c]
+_02016676:
+ ldr r1, _02016690 ; =0x021C48B8
+ ldr r0, _02016698 ; =0x0000FCFF
+ ldr r2, [r1, #0x48]
+ and r2, r0
+ str r2, [r1, #0x48]
+ ldr r2, [r1, #0x44]
+ and r2, r0
+ str r2, [r1, #0x44]
+ ldr r2, [r1, #0x4c]
+ and r0, r2
+ str r0, [r1, #0x4c]
_0201668C:
bx lr
nop
_02016690: .word 0x021C48B8
-_02016694:
- .byte 0xFF, 0xF3, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00
+_02016694: .word 0x0000F3FF
+_02016698: .word 0x0000FCFF
thumb_func_start FUN_0201669C
FUN_0201669C: ; 0x0201669C
@@ -44491,14 +46918,16 @@ _02016C36:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r6, r4, #0x1
- lsl r6, r7, #0x2
- lsl r0, r4, #0x5
- lsl r2, r0, #0x8
- lsl r2, r3, #0x9
- lsl r2, r6, #0xa
- lsl r4, r2, #0xd
+_02016C42: ; jump table (using 16-bit offset)
+ .short _02016C52 - _02016C42 - 2; case 0
+ .short _02016CAA - _02016C42 - 2; case 1
+ .short _02016D02 - _02016C42 - 2; case 2
+ .short _02016DA4 - _02016C42 - 2; case 3
+ .short _02016E46 - _02016C42 - 2; case 4
+ .short _02016E9E - _02016C42 - 2; case 5
+ .short _02016EF6 - _02016C42 - 2; case 6
+ .short _02016F98 - _02016C42 - 2; case 7
+_02016C52:
mov r0, #0x1
add r1, r0, #0x0
bl FUN_0201E6E4
@@ -44544,69 +46973,494 @@ _02016CA0:
strh r1, [r2, #0x0]
b _0201705A
_02016CAA:
- .byte 0x02, 0x20, 0x01, 0x21, 0x07, 0xF0
- .byte 0x19, 0xFD, 0x23, 0x7D, 0xA1, 0x7C, 0x60, 0x7C, 0xE2, 0x7C, 0x5E, 0x03, 0xC0, 0x01, 0x93, 0x00
- .byte 0x04, 0x90, 0xBD, 0x4A, 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x01, 0x43
- .byte 0x04, 0x98, 0x08, 0x43, 0x38, 0x43, 0x18, 0x43, 0x30, 0x43, 0x10, 0x80, 0x11, 0x88, 0x03, 0x20
- .byte 0x81, 0x43, 0x60, 0x7D, 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28, 0x04, 0xD0, 0x11, 0x88
- .byte 0x40, 0x20, 0x08, 0x43, 0x10, 0x80, 0xB0, 0xE1, 0x11, 0x88, 0x40, 0x20, 0x81, 0x43, 0x11, 0x80
- .byte 0xAB, 0xE1, 0x04, 0x20, 0x01, 0x21, 0x07, 0xF0, 0xED, 0xFC, 0x02, 0x98, 0x00, 0x28, 0x03, 0xD0
- .byte 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0xA8, 0x4F, 0xE2, 0x7C, 0x0B, 0x02
- .byte 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43
- .byte 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C, 0xA0, 0x7D
- .byte 0x93, 0x00, 0x9E, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03
- .byte 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C, 0x97, 0x4F
- .byte 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x92, 0x00, 0x08, 0x40
- .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x8F, 0x48, 0x03, 0x21
- .byte 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29, 0x04, 0xD0
- .byte 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x5F, 0xE1, 0x02, 0x88, 0x40, 0x21, 0x8A, 0x43
- .byte 0x02, 0x80, 0x5A, 0xE1, 0x08, 0x20, 0x01, 0x21, 0x07, 0xF0, 0x9C, 0xFC, 0x02, 0x98, 0x00, 0x28
- .byte 0x03, 0xD0, 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0x80, 0x4F, 0xE2, 0x7C
- .byte 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03
- .byte 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C
- .byte 0xA0, 0x7D, 0x93, 0x00, 0x76, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x08, 0x40
- .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C
- .byte 0x6F, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x92, 0x00
- .byte 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x68, 0x48
- .byte 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29
- .byte 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x0E, 0xE1, 0x02, 0x88, 0x40, 0x21
- .byte 0x8A, 0x43, 0x02, 0x80, 0x09, 0xE1, 0x01, 0x20, 0x01, 0x1C, 0x07, 0xF0, 0x7F, 0xFC, 0x23, 0x7D
- .byte 0xA1, 0x7C, 0x60, 0x7C, 0xE2, 0x7C, 0x5E, 0x03, 0xC0, 0x01, 0x93, 0x00, 0x05, 0x90, 0x59, 0x4A
- .byte 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x01, 0x43, 0x05, 0x98, 0x08, 0x43
- .byte 0x38, 0x43, 0x18, 0x43, 0x30, 0x43, 0x10, 0x80, 0x11, 0x88, 0x03, 0x20, 0x81, 0x43, 0x60, 0x7D
- .byte 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28, 0x04, 0xD0, 0x11, 0x88, 0x40, 0x20, 0x08, 0x43
- .byte 0x10, 0x80, 0xE2, 0xE0, 0x11, 0x88, 0x40, 0x20, 0x81, 0x43, 0x11, 0x80, 0xDD, 0xE0, 0x02, 0x20
- .byte 0x01, 0x21, 0x07, 0xF0, 0x53, 0xFC, 0xE2, 0x7C, 0xA1, 0x7C, 0x60, 0x7C, 0x96, 0x00, 0x23, 0x7D
- .byte 0xC0, 0x01, 0x84, 0x46, 0x44, 0x4A, 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x5B, 0x03, 0x08, 0x40
- .byte 0xA9, 0x03, 0x08, 0x43, 0x61, 0x46, 0x08, 0x43, 0x38, 0x43, 0x30, 0x43, 0x18, 0x43, 0x10, 0x80
- .byte 0x11, 0x88, 0x03, 0x20, 0x81, 0x43, 0x60, 0x7D, 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28
- .byte 0x04, 0xD0, 0x11, 0x88, 0x40, 0x20, 0x08, 0x43, 0x10, 0x80, 0xB6, 0xE0, 0x11, 0x88, 0x40, 0x20
- .byte 0x81, 0x43, 0x11, 0x80, 0xB1, 0xE0, 0x04, 0x20, 0x01, 0x21, 0x07, 0xF0, 0x27, 0xFC, 0x02, 0x98
- .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0x2F, 0x4F
- .byte 0xE2, 0x7C, 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40
- .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C
- .byte 0xA1, 0x7C, 0xA0, 0x7D, 0x93, 0x00, 0x25, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20
- .byte 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0
- .byte 0xA1, 0x7C, 0x1E, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20
- .byte 0x92, 0x00, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80
- .byte 0x16, 0x48, 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69
- .byte 0x00, 0x29, 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x65, 0xE0, 0x02, 0x88
- .byte 0x40, 0x21, 0x8A, 0x43, 0x02, 0x80, 0x60, 0xE0, 0x08, 0x20, 0x01, 0x21, 0x07, 0xF0, 0xD6, 0xFB
- .byte 0x02, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x23, 0xD0, 0x02, 0x28, 0x32, 0xD0, 0xA1, 0x7C
- .byte 0x07, 0x4F, 0x0F, 0xE0
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldrb r3, [r4, #0x14]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x11]
+ ldrb r2, [r4, #0x13]
+ lsl r6, r3, #0xd
+ lsl r0, r0, #0x7
+ lsl r3, r2, #0x2
+ str r0, [sp, #0x10]
+ ldr r2, _02016FB8 ; =0x0400000A
+ lsl r7, r1, #0x8
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r1, r0
+ ldr r0, [sp, #0x10]
+ orr r0, r1
+ orr r0, r7
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r2, #0x0]
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x3
+ bic r1, r0
+ ldrb r0, [r4, #0x15]
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ beq _02016CF8
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x40
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ b _0201705A
+_02016CF8:
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x40
+ bic r1, r0
+ strh r1, [r2, #0x0]
+ b _0201705A
+_02016D02:
+ mov r0, #0x4
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ beq _02016D18
+ cmp r0, #0x1
+ beq _02016D3A
+ cmp r0, #0x2
+ beq _02016D5C
+_02016D18:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FBC ; =0x0400000C
+ ldrb r2, [r4, #0x13]
+ lsl r3, r1, #0x8
+ ldrb r0, [r4, #0x11]
+ lsl r6, r2, #0x2
+ ldrh r1, [r7, #0x0]
+ lsl r2, r0, #0x7
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02016D7C
+_02016D3A:
+ ldrb r2, [r4, #0x13]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x16]
+ lsl r3, r2, #0x2
+ ldr r7, _02016FBC ; =0x0400000C
+ lsl r2, r1, #0x8
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02016D7C
+_02016D5C:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FBC ; =0x0400000C
+ ldrb r0, [r4, #0x16]
+ lsl r3, r1, #0x8
+ ldrb r2, [r4, #0x13]
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ lsl r2, r2, #0x2
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+_02016D7C:
+ ldr r0, _02016FBC ; =0x0400000C
+ mov r1, #0x3
+ ldrh r2, [r0, #0x0]
+ bic r2, r1
+ ldrb r1, [r4, #0x15]
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ ldr r1, [r4, #0x18]
+ cmp r1, #0x0
+ beq _02016D9A
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ b _0201705A
+_02016D9A:
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ bic r2, r1
+ strh r2, [r0, #0x0]
+ b _0201705A
+_02016DA4:
+ mov r0, #0x8
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ beq _02016DBA
+ cmp r0, #0x1
+ beq _02016DDC
+ cmp r0, #0x2
+ beq _02016DFE
+_02016DBA:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FC0 ; =0x0400000E
+ ldrb r2, [r4, #0x13]
+ lsl r3, r1, #0x8
+ ldrb r0, [r4, #0x11]
+ lsl r6, r2, #0x2
+ ldrh r1, [r7, #0x0]
+ lsl r2, r0, #0x7
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02016E1E
+_02016DDC:
+ ldrb r2, [r4, #0x13]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x16]
+ lsl r3, r2, #0x2
+ ldr r7, _02016FC0 ; =0x0400000E
+ lsl r2, r1, #0x8
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02016E1E
+_02016DFE:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FC0 ; =0x0400000E
+ ldrb r0, [r4, #0x16]
+ lsl r3, r1, #0x8
+ ldrb r2, [r4, #0x13]
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ lsl r2, r2, #0x2
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+_02016E1E:
+ ldr r0, _02016FC0 ; =0x0400000E
+ mov r1, #0x3
+ ldrh r2, [r0, #0x0]
+ bic r2, r1
+ ldrb r1, [r4, #0x15]
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ ldr r1, [r4, #0x18]
+ cmp r1, #0x0
+ beq _02016E3C
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ b _0201705A
+_02016E3C:
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ bic r2, r1
+ strh r2, [r0, #0x0]
+ b _0201705A
+_02016E46:
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_0201E74C
+ ldrb r3, [r4, #0x14]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x11]
+ ldrb r2, [r4, #0x13]
+ lsl r6, r3, #0xd
+ lsl r0, r0, #0x7
+ lsl r3, r2, #0x2
+ str r0, [sp, #0x14]
+ ldr r2, _02016FC4 ; =0x04001008
+ lsl r7, r1, #0x8
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r1, r0
+ ldr r0, [sp, #0x14]
+ orr r0, r1
+ orr r0, r7
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r2, #0x0]
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x3
+ bic r1, r0
+ ldrb r0, [r4, #0x15]
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ beq _02016E94
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x40
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ b _0201705A
+_02016E94:
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x40
+ bic r1, r0
+ strh r1, [r2, #0x0]
+ b _0201705A
+_02016E9E:
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_0201E74C
+ ldrb r2, [r4, #0x13]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x11]
+ lsl r6, r2, #0x2
+ ldrb r3, [r4, #0x14]
+ lsl r0, r0, #0x7
+ mov r12, r0
+ ldr r2, _02016FC8 ; =0x0400100A
+ lsl r7, r1, #0x8
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x43
+ lsl r3, r3, #0xd
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ mov r1, r12
+ orr r0, r1
+ orr r0, r7
+ orr r0, r6
+ orr r0, r3
+ strh r0, [r2, #0x0]
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x3
+ bic r1, r0
+ ldrb r0, [r4, #0x15]
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ beq _02016EEC
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x40
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ b _0201705A
+_02016EEC:
+ ldrh r1, [r2, #0x0]
+ mov r0, #0x40
+ bic r1, r0
+ strh r1, [r2, #0x0]
+ b _0201705A
+_02016EF6:
+ mov r0, #0x4
+ mov r1, #0x1
+ bl FUN_0201E74C
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ beq _02016F0C
+ cmp r0, #0x1
+ beq _02016F2E
+ cmp r0, #0x2
+ beq _02016F50
+_02016F0C:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FCC ; =0x0400100C
+ ldrb r2, [r4, #0x13]
+ lsl r3, r1, #0x8
+ ldrb r0, [r4, #0x11]
+ lsl r6, r2, #0x2
+ ldrh r1, [r7, #0x0]
+ lsl r2, r0, #0x7
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02016F70
+_02016F2E:
+ ldrb r2, [r4, #0x13]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x16]
+ lsl r3, r2, #0x2
+ ldr r7, _02016FCC ; =0x0400100C
+ lsl r2, r1, #0x8
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02016F70
+_02016F50:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FCC ; =0x0400100C
+ ldrb r0, [r4, #0x16]
+ lsl r3, r1, #0x8
+ ldrb r2, [r4, #0x13]
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ lsl r2, r2, #0x2
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+_02016F70:
+ ldr r0, _02016FCC ; =0x0400100C
+ mov r1, #0x3
+ ldrh r2, [r0, #0x0]
+ bic r2, r1
+ ldrb r1, [r4, #0x15]
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ ldr r1, [r4, #0x18]
+ cmp r1, #0x0
+ beq _02016F8E
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ b _0201705A
+_02016F8E:
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ bic r2, r1
+ strh r2, [r0, #0x0]
+ b _0201705A
+_02016F98:
+ mov r0, #0x8
+ mov r1, #0x1
+ bl FUN_0201E74C
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ beq _02016FAE
+ cmp r0, #0x1
+ beq _02016FF2
+ cmp r0, #0x2
+ beq _02017014
+_02016FAE:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _02016FD0 ; =0x0400100E
+ b _02016FD4
+ .balign 4
_02016FB4: .word 0x04000008
-_02016FB8:
- .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04
- .byte 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04
- .byte 0x0E, 0x10, 0x00, 0x04, 0xE2, 0x7C, 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01
- .byte 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80
- .byte 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C, 0xA0, 0x7D, 0x93, 0x00, 0x3D, 0x4F, 0x0A, 0x02, 0x46, 0x03
- .byte 0x39, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43
- .byte 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C, 0x36, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03
- .byte 0x39, 0x88, 0x43, 0x20, 0x92, 0x00, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43
- .byte 0x30, 0x43, 0x38, 0x80, 0x2E, 0x48, 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43
- .byte 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29, 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80
- .byte 0x03, 0xE0, 0x02, 0x88, 0x40, 0x21, 0x8A, 0x43, 0x02, 0x80
+_02016FB8: .word 0x0400000A
+_02016FBC: .word 0x0400000C
+_02016FC0: .word 0x0400000E
+_02016FC4: .word 0x04001008
+_02016FC8: .word 0x0400100A
+_02016FCC: .word 0x0400100C
+_02016FD0: .word 0x0400100E
+_02016FD4:
+ ldrb r2, [r4, #0x13]
+ lsl r3, r1, #0x8
+ ldrb r0, [r4, #0x11]
+ lsl r6, r2, #0x2
+ ldrh r1, [r7, #0x0]
+ lsl r2, r0, #0x7
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02017034
+_02016FF2:
+ ldrb r2, [r4, #0x13]
+ ldrb r1, [r4, #0x12]
+ ldrb r0, [r4, #0x16]
+ lsl r3, r2, #0x2
+ ldr r7, _020170F0 ; =0x0400100E
+ lsl r2, r1, #0x8
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+ b _02017034
+_02017014:
+ ldrb r1, [r4, #0x12]
+ ldr r7, _020170F0 ; =0x0400100E
+ ldrb r0, [r4, #0x16]
+ lsl r3, r1, #0x8
+ ldrb r2, [r4, #0x13]
+ lsl r6, r0, #0xd
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x43
+ lsl r2, r2, #0x2
+ and r0, r1
+ lsl r1, r5, #0xe
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ orr r0, r6
+ strh r0, [r7, #0x0]
+_02017034:
+ ldr r0, _020170F0 ; =0x0400100E
+ mov r1, #0x3
+ ldrh r2, [r0, #0x0]
+ bic r2, r1
+ ldrb r1, [r4, #0x15]
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ ldr r1, [r4, #0x18]
+ cmp r1, #0x0
+ beq _02017052
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ b _0201705A
+_02017052:
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x40
+ bic r2, r1
+ strh r2, [r0, #0x0]
_0201705A:
ldr r0, [sp, #0x4]
mov r1, #0x2c
@@ -44683,8 +47537,7 @@ _020170D2:
add sp, #0x18
pop {r3-r7, pc}
nop
-_020170F0:
- .byte 0x0E, 0x10, 0x00, 0x04
+_020170F0: .word 0x0400100E
thumb_func_start FUN_020170F4
FUN_020170F4: ; 0x020170F4
@@ -44711,14 +47564,16 @@ _02017112:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r1, #0
- lsl r2, r7, #0x1
- lsl r6, r4, #0x3
- lsl r2, r3, #0x8
- lsl r6, r1, #0xd
- lsl r4, r2, #0xf
- lsl r0, r0, #0x11
- lsl r4, r6, #0x15
+_0201711E: ; jump table (using 16-bit offset)
+ .short _0201712E - _0201711E - 2; case 0
+ .short _0201719A - _0201711E - 2; case 1
+ .short _02017206 - _0201711E - 2; case 2
+ .short _0201733A - _0201711E - 2; case 3
+ .short _0201746E - _0201711E - 2; case 4
+ .short _020174F4 - _0201711E - 2; case 5
+ .short _02017560 - _0201711E - 2; case 6
+ .short _02017694 - _0201711E - 2; case 7
+_0201712E:
ldr r2, _02017480 ; =0x04000008
cmp r1, #0x1
ldrh r3, [r2, #0x0]
@@ -44776,115 +47631,848 @@ _0201715C:
strh r1, [r0, #0x0]
pop {r3-r7, pc}
_0201719A:
- .byte 0xBB, 0x4A, 0x01, 0x29, 0x13, 0x88
- .byte 0x00, 0xAA, 0x93, 0x83, 0x07, 0xD1, 0x93, 0x8B, 0xB6, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C
- .byte 0x08, 0x43, 0x90, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x93, 0x8B, 0x3C, 0x21, 0x00, 0x07
- .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x90, 0x83, 0x00, 0xA8, 0x83, 0x8B, 0x08, 0xB0, 0x98, 0x04
- .byte 0xC6, 0x0F, 0x98, 0x06, 0x02, 0x0F, 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18
- .byte 0x1B, 0x04, 0x9D, 0x0F, 0x93, 0x00, 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xA6, 0x48
- .byte 0x43, 0x26, 0x07, 0x88, 0xAD, 0x03, 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43
- .byte 0x21, 0x43, 0x01, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B
- .byte 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x9C, 0x4B, 0x01, 0x29, 0x1C, 0x88
- .byte 0x00, 0xAB, 0x5C, 0x83, 0x07, 0xD1, 0x5C, 0x8B, 0x96, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C
- .byte 0x08, 0x43, 0x58, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x5C, 0x8B, 0x3C, 0x21, 0x00, 0x07
- .byte 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43, 0x58, 0x83, 0x00, 0xA8, 0x43, 0x8B, 0xAA, 0x18, 0x8F, 0x4E
- .byte 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E
- .byte 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43
- .byte 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x84, 0x4A, 0x01, 0x29, 0x13, 0x88
- .byte 0x00, 0xAA, 0x13, 0x83, 0x07, 0xD1, 0x13, 0x8B, 0x7E, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C
- .byte 0x08, 0x43, 0x10, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x8B, 0x3C, 0x21, 0x00, 0x07
- .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x10, 0x83, 0x00, 0xA8, 0x03, 0x8B, 0x77, 0x4E, 0x08, 0xB0
- .byte 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F
- .byte 0x81, 0x00, 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43
- .byte 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x6C, 0x4A, 0x01, 0x29, 0x13, 0x88
- .byte 0x00, 0xAA, 0xD3, 0x82, 0x07, 0xD1, 0xD3, 0x8A, 0x66, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C
- .byte 0x08, 0x43, 0xD0, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x8A, 0x38, 0x21, 0x40, 0x07
- .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0xD0, 0x82, 0x00, 0xA8, 0xC3, 0x8A, 0x5F, 0x4E, 0x08, 0xB0
- .byte 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02
- .byte 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43
- .byte 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18
- .byte 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x50, 0x4B
- .byte 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB, 0x9C, 0x82, 0x07, 0xD1, 0x9C, 0x8A, 0x49, 0x49, 0xC0, 0x06
- .byte 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x98, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x9C, 0x8A
- .byte 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43, 0x98, 0x82, 0x00, 0xA8, 0x83, 0x8A
- .byte 0xAA, 0x18, 0x43, 0x4E, 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F
- .byte 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03
- .byte 0x23, 0x43, 0x18, 0x43, 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x38, 0x4A
- .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x53, 0x82, 0x07, 0xD1, 0x53, 0x8A, 0x31, 0x49, 0xC0, 0x06
- .byte 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x50, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x53, 0x8A
- .byte 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x50, 0x82, 0x00, 0xA8, 0x43, 0x8A
- .byte 0x2B, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04
- .byte 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00, 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40
- .byte 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x20, 0x4A
- .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x13, 0x82, 0x07, 0xD1, 0x13, 0x8A, 0x19, 0x49, 0xC0, 0x06
- .byte 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x10, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x8A
- .byte 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x10, 0x82, 0x00, 0xA8, 0x03, 0x8A
- .byte 0x13, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04
- .byte 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00
- .byte 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x09, 0x4A
- .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0xD3, 0x81, 0x14, 0xD1, 0xD3, 0x89, 0x01, 0x49, 0x0B, 0xE0
+ ldr r2, _02017488 ; =0x0400000A
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x1c]
+ bne _020171B6
+ ldrh r3, [r2, #0x1c]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x1c]
+ b _020171C8
+_020171B6:
+ cmp r1, #0x2
+ bne _020171C8
+ ldrh r3, [r2, #0x1c]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x1c]
+_020171C8:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x1c]
+ add sp, #0x20
+ lsl r0, r3, #0x12
+ lsr r6, r0, #0x1f
+ lsl r0, r3, #0x1a
+ lsr r2, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsr r1, r0, #0x1b
+ mov r0, #0x2c
+ mul r0, r4
+ add r0, r5, r0
+ lsl r3, r3, #0x10
+ lsr r5, r3, #0x1e
+ lsl r3, r2, #0x2
+ ldrb r0, [r0, #0x1e]
+ lsl r2, r1, #0x8
+ lsl r4, r6, #0xd
+ lsl r1, r0, #0x7
+ ldr r0, _02017488 ; =0x0400000A
+ mov r6, #0x43
+ ldrh r7, [r0, #0x0]
+ lsl r5, r5, #0xe
+ and r6, r7
+ orr r5, r6
+ orr r1, r5
+ orr r1, r2
+ orr r1, r3
+ orr r1, r4
+ strh r1, [r0, #0x0]
+ pop {r3-r7, pc}
+_02017206:
+ mov r2, #0x2c
+ mul r2, r4
+ add r3, r5, r2
+ ldrb r3, [r3, #0x1c]
+ cmp r3, #0x0
+ beq _0201721A
+ cmp r3, #0x1
+ beq _0201727A
+ cmp r3, #0x2
+ beq _020172DA
+_0201721A:
+ ldr r3, _0201748C ; =0x0400000C
+ cmp r1, #0x1
+ ldrh r4, [r3, #0x0]
+ add r3, sp, #0x0
+ strh r4, [r3, #0x1a]
+ bne _02017236
+ ldrh r4, [r3, #0x1a]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r4
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r3, #0x1a]
+ b _02017248
+_02017236:
+ cmp r1, #0x2
+ bne _02017248
+ ldrh r4, [r3, #0x1a]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r4, r1
+ lsr r0, r0, #0x1a
+ orr r0, r4
+ strh r0, [r3, #0x1a]
+_02017248:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x1a]
+ add r2, r5, r2
+ ldr r6, _0201748C ; =0x0400000C
+ lsl r0, r3, #0x1a
+ ldrb r4, [r2, #0x1e]
+ lsr r1, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsl r2, r3, #0x10
+ lsr r3, r2, #0x1e
+ ldrh r5, [r6, #0x0]
+ lsr r0, r0, #0x1b
+ lsl r2, r1, #0x2
+ lsl r1, r0, #0x8
+ lsl r0, r4, #0x7
+ mov r4, #0x43
+ and r4, r5
+ lsl r3, r3, #0xe
+ orr r3, r4
+ orr r0, r3
+ orr r0, r1
+ orr r0, r2
+ add sp, #0x20
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_0201727A:
+ ldr r2, _0201748C ; =0x0400000C
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x18]
+ bne _02017296
+ ldrh r3, [r2, #0x18]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x18]
+ b _020172A8
+_02017296:
+ cmp r1, #0x2
+ bne _020172A8
+ ldrh r3, [r2, #0x18]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x18]
+_020172A8:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x18]
+ ldr r6, _0201748C ; =0x0400000C
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsl r0, r3, #0x1a
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsr r0, r0, #0x1c
+ lsl r1, r0, #0x2
+ lsl r0, r4, #0x8
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020172DA:
+ ldr r2, _0201748C ; =0x0400000C
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x16]
+ bne _020172F6
+ ldrh r3, [r2, #0x16]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x16]
+ b _02017308
+_020172F6:
+ cmp r1, #0x2
+ bne _02017308
+ ldrh r3, [r2, #0x16]
+ mov r1, #0x38
+ lsl r0, r0, #0x1d
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x16]
+_02017308:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x16]
+ ldr r6, _0201748C ; =0x0400000C
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r0, r3, #0x1a
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsl r1, r4, #0x8
+ lsr r0, r0, #0x1d
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ lsl r0, r0, #0x2
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_0201733A:
+ mov r2, #0x2c
+ mul r2, r4
+ add r3, r5, r2
+ ldrb r3, [r3, #0x1c]
+ cmp r3, #0x0
+ beq _0201734E
+ cmp r3, #0x1
+ beq _020173AE
+ cmp r3, #0x2
+ beq _0201740E
+_0201734E:
+ ldr r3, _02017490 ; =0x0400000E
+ cmp r1, #0x1
+ ldrh r4, [r3, #0x0]
+ add r3, sp, #0x0
+ strh r4, [r3, #0x14]
+ bne _0201736A
+ ldrh r4, [r3, #0x14]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r4
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r3, #0x14]
+ b _0201737C
+_0201736A:
+ cmp r1, #0x2
+ bne _0201737C
+ ldrh r4, [r3, #0x14]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r4, r1
+ lsr r0, r0, #0x1a
+ orr r0, r4
+ strh r0, [r3, #0x14]
+_0201737C:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x14]
+ add r2, r5, r2
+ ldr r6, _02017490 ; =0x0400000E
+ lsl r0, r3, #0x1a
+ ldrb r4, [r2, #0x1e]
+ lsr r1, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsl r2, r3, #0x10
+ lsr r3, r2, #0x1e
+ ldrh r5, [r6, #0x0]
+ lsr r0, r0, #0x1b
+ lsl r2, r1, #0x2
+ lsl r1, r0, #0x8
+ lsl r0, r4, #0x7
+ mov r4, #0x43
+ and r4, r5
+ lsl r3, r3, #0xe
+ orr r3, r4
+ orr r0, r3
+ orr r0, r1
+ orr r0, r2
+ add sp, #0x20
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020173AE:
+ ldr r2, _02017490 ; =0x0400000E
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x12]
+ bne _020173CA
+ ldrh r3, [r2, #0x12]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x12]
+ b _020173DC
+_020173CA:
+ cmp r1, #0x2
+ bne _020173DC
+ ldrh r3, [r2, #0x12]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x12]
+_020173DC:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x12]
+ ldr r6, _02017490 ; =0x0400000E
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsl r0, r3, #0x1a
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsr r0, r0, #0x1c
+ lsl r1, r0, #0x2
+ lsl r0, r4, #0x8
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_0201740E:
+ ldr r2, _02017490 ; =0x0400000E
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x10]
+ bne _0201742A
+ ldrh r3, [r2, #0x10]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x10]
+ b _0201743C
+_0201742A:
+ cmp r1, #0x2
+ bne _0201743C
+ ldrh r3, [r2, #0x10]
+ mov r1, #0x38
+ lsl r0, r0, #0x1d
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x10]
+_0201743C:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x10]
+ ldr r6, _02017490 ; =0x0400000E
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r0, r3, #0x1a
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsl r1, r4, #0x8
+ lsr r0, r0, #0x1d
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ lsl r0, r0, #0x2
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_0201746E:
+ ldr r2, _02017494 ; =0x04001008
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0xe]
+ bne _020174A4
+ ldrh r3, [r2, #0xe]
+ ldr r1, _02017484 ; =0xFFFFE0FF
+ b _02017498
+ .balign 4
_02017480: .word 0x04000008
_02017484: .word 0xFFFFE0FF
-_02017488:
- .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04
- .byte 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43
- .byte 0xD0, 0x81, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43
- .byte 0x80, 0x0E, 0x18, 0x43, 0xD0, 0x81, 0x00, 0xA8, 0xC3, 0x89, 0x08, 0xB0, 0x98, 0x04, 0xC6, 0x0F
- .byte 0x98, 0x06, 0x02, 0x0F, 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18, 0x1B, 0x04
- .byte 0x9D, 0x0F, 0x93, 0x00, 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xBA, 0x48, 0x43, 0x26
- .byte 0x07, 0x88, 0xAD, 0x03, 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43, 0x21, 0x43
- .byte 0x01, 0x80, 0xF8, 0xBD, 0xB5, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x93, 0x81, 0x07, 0xD1
- .byte 0x93, 0x89, 0xB3, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x90, 0x81, 0x08, 0xE0
- .byte 0x02, 0x29, 0x06, 0xD1, 0x93, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43
- .byte 0x90, 0x81, 0x00, 0xA8, 0x83, 0x89, 0x08, 0xB0, 0x98, 0x04, 0xC6, 0x0F, 0x98, 0x06, 0x02, 0x0F
- .byte 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18, 0x1B, 0x04, 0x9D, 0x0F, 0x93, 0x00
- .byte 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xA0, 0x48, 0x43, 0x26, 0x07, 0x88, 0xAD, 0x03
- .byte 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43, 0x21, 0x43, 0x01, 0x80, 0xF8, 0xBD
- .byte 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0
- .byte 0x02, 0x2B, 0x5F, 0xD0, 0x97, 0x4B, 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB, 0x5C, 0x81, 0x07, 0xD1
- .byte 0x5C, 0x89, 0x93, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x58, 0x81, 0x08, 0xE0
- .byte 0x02, 0x29, 0x06, 0xD1, 0x5C, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43
- .byte 0x58, 0x81, 0x00, 0xA8, 0x43, 0x89, 0xAA, 0x18, 0x8A, 0x4E, 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F
- .byte 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01
- .byte 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43, 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0
- .byte 0x30, 0x80, 0xF8, 0xBD, 0x7F, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x13, 0x81, 0x07, 0xD1
- .byte 0x13, 0x89, 0x7B, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x10, 0x81, 0x08, 0xE0
- .byte 0x02, 0x29, 0x06, 0xD1, 0x13, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43
- .byte 0x10, 0x81, 0x00, 0xA8, 0x03, 0x89, 0x73, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E
- .byte 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00, 0x20, 0x02, 0x35, 0x88
- .byte 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43
- .byte 0x30, 0x80, 0xF8, 0xBD, 0x67, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0xD3, 0x80, 0x07, 0xD1
- .byte 0xD3, 0x88, 0x63, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0xD0, 0x80, 0x08, 0xE0
- .byte 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x88, 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43
- .byte 0xD0, 0x80, 0x00, 0xA8, 0xC3, 0x88, 0x5B, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04
- .byte 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24
- .byte 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43
- .byte 0x30, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0
- .byte 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x4B, 0x4B, 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB
- .byte 0x9C, 0x80, 0x07, 0xD1, 0x9C, 0x88, 0x46, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43
- .byte 0x98, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x9C, 0x88, 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43
- .byte 0x80, 0x0E, 0x20, 0x43, 0x98, 0x80, 0x00, 0xA8, 0x83, 0x88, 0xAA, 0x18, 0x3E, 0x4E, 0x98, 0x06
- .byte 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00
- .byte 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43, 0x08, 0x43
- .byte 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x33, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA
- .byte 0x53, 0x80, 0x07, 0xD1, 0x53, 0x88, 0x2E, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43
- .byte 0x50, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x53, 0x88, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43
- .byte 0x80, 0x0E, 0x18, 0x43, 0x50, 0x80, 0x00, 0xA8, 0x43, 0x88, 0x27, 0x4E, 0x08, 0xB0, 0xD9, 0x04
- .byte 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00
- .byte 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03
- .byte 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x1B, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA
- .byte 0x13, 0x80, 0x07, 0xD1, 0x13, 0x88, 0x16, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43
- .byte 0x10, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x88, 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43
- .byte 0x80, 0x0E, 0x18, 0x43, 0x10, 0x80, 0x00, 0xA8, 0x03, 0x88, 0x0F, 0x4E, 0xD9, 0x04, 0xCC, 0x0E
- .byte 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88
- .byte 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43
- .byte 0x10, 0x43, 0x30, 0x80
+_02017488: .word 0x0400000A
+_0201748C: .word 0x0400000C
+_02017490: .word 0x0400000E
+_02017494: .word 0x04001008
+_02017498:
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0xe]
+ b _020174B6
+_020174A4:
+ cmp r1, #0x2
+ bne _020174B6
+ ldrh r3, [r2, #0xe]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0xe]
+_020174B6:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0xe]
+ add sp, #0x20
+ lsl r0, r3, #0x12
+ lsr r6, r0, #0x1f
+ lsl r0, r3, #0x1a
+ lsr r2, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsr r1, r0, #0x1b
+ mov r0, #0x2c
+ mul r0, r4
+ add r0, r5, r0
+ lsl r3, r3, #0x10
+ lsr r5, r3, #0x1e
+ lsl r3, r2, #0x2
+ ldrb r0, [r0, #0x1e]
+ lsl r2, r1, #0x8
+ lsl r4, r6, #0xd
+ lsl r1, r0, #0x7
+ ldr r0, _020177C8 ; =0x04001008
+ mov r6, #0x43
+ ldrh r7, [r0, #0x0]
+ lsl r5, r5, #0xe
+ and r6, r7
+ orr r5, r6
+ orr r1, r5
+ orr r1, r2
+ orr r1, r3
+ orr r1, r4
+ strh r1, [r0, #0x0]
+ pop {r3-r7, pc}
+_020174F4:
+ ldr r2, _020177CC ; =0x0400100A
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0xc]
+ bne _02017510
+ ldrh r3, [r2, #0xc]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0xc]
+ b _02017522
+_02017510:
+ cmp r1, #0x2
+ bne _02017522
+ ldrh r3, [r2, #0xc]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0xc]
+_02017522:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0xc]
+ add sp, #0x20
+ lsl r0, r3, #0x12
+ lsr r6, r0, #0x1f
+ lsl r0, r3, #0x1a
+ lsr r2, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsr r1, r0, #0x1b
+ mov r0, #0x2c
+ mul r0, r4
+ add r0, r5, r0
+ lsl r3, r3, #0x10
+ lsr r5, r3, #0x1e
+ lsl r3, r2, #0x2
+ ldrb r0, [r0, #0x1e]
+ lsl r2, r1, #0x8
+ lsl r4, r6, #0xd
+ lsl r1, r0, #0x7
+ ldr r0, _020177CC ; =0x0400100A
+ mov r6, #0x43
+ ldrh r7, [r0, #0x0]
+ lsl r5, r5, #0xe
+ and r6, r7
+ orr r5, r6
+ orr r1, r5
+ orr r1, r2
+ orr r1, r3
+ orr r1, r4
+ strh r1, [r0, #0x0]
+ pop {r3-r7, pc}
+_02017560:
+ mov r2, #0x2c
+ mul r2, r4
+ add r3, r5, r2
+ ldrb r3, [r3, #0x1c]
+ cmp r3, #0x0
+ beq _02017574
+ cmp r3, #0x1
+ beq _020175D4
+ cmp r3, #0x2
+ beq _02017634
+_02017574:
+ ldr r3, _020177D4 ; =0x0400100C
+ cmp r1, #0x1
+ ldrh r4, [r3, #0x0]
+ add r3, sp, #0x0
+ strh r4, [r3, #0xa]
+ bne _02017590
+ ldrh r4, [r3, #0xa]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r4
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r3, #0xa]
+ b _020175A2
+_02017590:
+ cmp r1, #0x2
+ bne _020175A2
+ ldrh r4, [r3, #0xa]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r4, r1
+ lsr r0, r0, #0x1a
+ orr r0, r4
+ strh r0, [r3, #0xa]
+_020175A2:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0xa]
+ add r2, r5, r2
+ ldr r6, _020177D4 ; =0x0400100C
+ lsl r0, r3, #0x1a
+ ldrb r4, [r2, #0x1e]
+ lsr r1, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsl r2, r3, #0x10
+ lsr r3, r2, #0x1e
+ ldrh r5, [r6, #0x0]
+ lsr r0, r0, #0x1b
+ lsl r2, r1, #0x2
+ lsl r1, r0, #0x8
+ lsl r0, r4, #0x7
+ mov r4, #0x43
+ and r4, r5
+ lsl r3, r3, #0xe
+ orr r3, r4
+ orr r0, r3
+ orr r0, r1
+ orr r0, r2
+ add sp, #0x20
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020175D4:
+ ldr r2, _020177D4 ; =0x0400100C
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x8]
+ bne _020175F0
+ ldrh r3, [r2, #0x8]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x8]
+ b _02017602
+_020175F0:
+ cmp r1, #0x2
+ bne _02017602
+ ldrh r3, [r2, #0x8]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x8]
+_02017602:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x8]
+ ldr r6, _020177D4 ; =0x0400100C
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsl r0, r3, #0x1a
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsr r0, r0, #0x1c
+ lsl r1, r0, #0x2
+ lsl r0, r4, #0x8
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_02017634:
+ ldr r2, _020177D4 ; =0x0400100C
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x6]
+ bne _02017650
+ ldrh r3, [r2, #0x6]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x6]
+ b _02017662
+_02017650:
+ cmp r1, #0x2
+ bne _02017662
+ ldrh r3, [r2, #0x6]
+ mov r1, #0x38
+ lsl r0, r0, #0x1d
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x6]
+_02017662:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x6]
+ ldr r6, _020177D4 ; =0x0400100C
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r0, r3, #0x1a
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsl r1, r4, #0x8
+ lsr r0, r0, #0x1d
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ lsl r0, r0, #0x2
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_02017694:
+ mov r2, #0x2c
+ mul r2, r4
+ add r3, r5, r2
+ ldrb r3, [r3, #0x1c]
+ cmp r3, #0x0
+ beq _020176A8
+ cmp r3, #0x1
+ beq _02017708
+ cmp r3, #0x2
+ beq _02017768
+_020176A8:
+ ldr r3, _020177D8 ; =0x0400100E
+ cmp r1, #0x1
+ ldrh r4, [r3, #0x0]
+ add r3, sp, #0x0
+ strh r4, [r3, #0x4]
+ bne _020176C4
+ ldrh r4, [r3, #0x4]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r4
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r3, #0x4]
+ b _020176D6
+_020176C4:
+ cmp r1, #0x2
+ bne _020176D6
+ ldrh r4, [r3, #0x4]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r4, r1
+ lsr r0, r0, #0x1a
+ orr r0, r4
+ strh r0, [r3, #0x4]
+_020176D6:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x4]
+ add r2, r5, r2
+ ldr r6, _020177D8 ; =0x0400100E
+ lsl r0, r3, #0x1a
+ ldrb r4, [r2, #0x1e]
+ lsr r1, r0, #0x1c
+ lsl r0, r3, #0x13
+ lsl r2, r3, #0x10
+ lsr r3, r2, #0x1e
+ ldrh r5, [r6, #0x0]
+ lsr r0, r0, #0x1b
+ lsl r2, r1, #0x2
+ lsl r1, r0, #0x8
+ lsl r0, r4, #0x7
+ mov r4, #0x43
+ and r4, r5
+ lsl r3, r3, #0xe
+ orr r3, r4
+ orr r0, r3
+ orr r0, r1
+ orr r0, r2
+ add sp, #0x20
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_02017708:
+ ldr r2, _020177D8 ; =0x0400100E
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x2]
+ bne _02017724
+ ldrh r3, [r2, #0x2]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x2]
+ b _02017736
+_02017724:
+ cmp r1, #0x2
+ bne _02017736
+ ldrh r3, [r2, #0x2]
+ mov r1, #0x3c
+ lsl r0, r0, #0x1c
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x2]
+_02017736:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x2]
+ ldr r6, _020177D8 ; =0x0400100E
+ add sp, #0x20
+ lsl r1, r3, #0x13
+ lsl r0, r3, #0x1a
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsr r0, r0, #0x1c
+ lsl r1, r0, #0x2
+ lsl r0, r4, #0x8
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_02017768:
+ ldr r2, _020177D8 ; =0x0400100E
+ cmp r1, #0x1
+ ldrh r3, [r2, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x0]
+ bne _02017784
+ ldrh r3, [r2, #0x0]
+ ldr r1, _020177D0 ; =0xFFFFE0FF
+ lsl r0, r0, #0x1b
+ and r1, r3
+ lsr r0, r0, #0x13
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ b _02017796
+_02017784:
+ cmp r1, #0x2
+ bne _02017796
+ ldrh r3, [r2, #0x0]
+ mov r1, #0x38
+ lsl r0, r0, #0x1d
+ bic r3, r1
+ lsr r0, r0, #0x1a
+ orr r0, r3
+ strh r0, [r2, #0x0]
+_02017796:
+ add r0, sp, #0x0
+ ldrh r3, [r0, #0x0]
+ ldr r6, _020177D8 ; =0x0400100E
+ lsl r1, r3, #0x13
+ lsr r4, r1, #0x1b
+ lsl r1, r3, #0x12
+ lsr r2, r1, #0x1f
+ lsl r0, r3, #0x1a
+ lsl r1, r3, #0x10
+ lsr r3, r1, #0x1e
+ lsl r1, r4, #0x8
+ lsr r0, r0, #0x1d
+ ldrh r5, [r6, #0x0]
+ mov r4, #0x43
+ lsl r3, r3, #0xe
+ and r4, r5
+ lsl r0, r0, #0x2
+ orr r3, r4
+ orr r0, r3
+ lsl r2, r2, #0xd
+ orr r0, r1
+ orr r0, r2
+ strh r0, [r6, #0x0]
_020177C4:
add sp, #0x20
pop {r3-r7, pc}
-_020177C8:
- .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04
- .byte 0xFF, 0xE0, 0xFF, 0xFF, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04
+ .balign 4
+_020177C8: .word 0x04001008
+_020177CC: .word 0x0400100A
+_020177D0: .word 0xFFFFE0FF
+_020177D4: .word 0x0400100C
+_020177D8: .word 0x0400100E
thumb_func_start FUN_020177DC
FUN_020177DC: ; 0x020177DC
@@ -44970,20 +48558,44 @@ FUN_02017850: ; 0x02017850
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r2, #0
- lsl r2, r3, #0
- lsl r4, r4, #0
- lsl r6, r5, #0
- lsl r6, r6, #0
+_02017860: ; jump table (using 16-bit offset)
+ .short _0201786C - _02017860 - 2; case 0
+ .short _02017874 - _02017860 - 2; case 1
+ .short _0201787C - _02017860 - 2; case 2
+ .short _02017886 - _02017860 - 2; case 3
+ .short _02017890 - _02017860 - 2; case 4
+ .short _02017898 - _02017860 - 2; case 5
+_0201786C:
mov r0, #0x10
strb r0, [r1, #0x0]
strb r0, [r2, #0x0]
bx lr
_02017874:
- .byte 0x20, 0x20, 0x08, 0x70, 0x10, 0x70, 0x70, 0x47, 0x20, 0x20, 0x08, 0x70
- .byte 0x40, 0x20, 0x10, 0x70, 0x70, 0x47, 0x40, 0x20, 0x08, 0x70, 0x20, 0x20, 0x10, 0x70, 0x70, 0x47
- .byte 0x40, 0x20, 0x08, 0x70, 0x10, 0x70, 0x70, 0x47, 0x80, 0x20, 0x08, 0x70, 0x10, 0x70
+ mov r0, #0x20
+ strb r0, [r1, #0x0]
+ strb r0, [r2, #0x0]
+ bx lr
+_0201787C:
+ mov r0, #0x20
+ strb r0, [r1, #0x0]
+ mov r0, #0x40
+ strb r0, [r2, #0x0]
+ bx lr
+_02017886:
+ mov r0, #0x40
+ strb r0, [r1, #0x0]
+ mov r0, #0x20
+ strb r0, [r2, #0x0]
+ bx lr
+_02017890:
+ mov r0, #0x40
+ strb r0, [r1, #0x0]
+ strb r0, [r2, #0x0]
+ bx lr
+_02017898:
+ mov r0, #0x80
+ strb r0, [r1, #0x0]
+ strb r0, [r2, #0x0]
_0201789E:
bx lr
@@ -45014,14 +48626,16 @@ FUN_020178BC: ; 0x020178BC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r6, r3, #0
- lsl r6, r5, #0
- lsl r6, r7, #0
- lsl r6, r1, #0x1
- lsl r6, r3, #0x1
- lsl r6, r5, #0x1
- lsl r6, r7, #0x1
+_020178CC: ; jump table (using 16-bit offset)
+ .short _020178DC - _020178CC - 2; case 0
+ .short _020178EC - _020178CC - 2; case 1
+ .short _020178FC - _020178CC - 2; case 2
+ .short _0201790C - _020178CC - 2; case 3
+ .short _0201791C - _020178CC - 2; case 4
+ .short _0201792C - _020178CC - 2; case 5
+ .short _0201793C - _020178CC - 2; case 6
+ .short _0201794C - _020178CC - 2; case 7
+_020178DC:
ldr r2, _0201795C ; =0x04000008
mov r0, #0x3
ldrh r3, [r2, #0x0]
@@ -45031,21 +48645,78 @@ FUN_020178BC: ; 0x020178BC
strh r0, [r2, #0x0]
bx lr
_020178EC:
- .byte 0x1C, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x19, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x16, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x13, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x10, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x0D, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x0A, 0x4A, 0x03, 0x20
- .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80
+ ldr r2, _02017960 ; =0x0400000A
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ bx lr
+_020178FC:
+ ldr r2, _02017964 ; =0x0400000C
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ bx lr
+_0201790C:
+ ldr r2, _02017968 ; =0x0400000E
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ bx lr
+_0201791C:
+ ldr r2, _0201796C ; =0x04001008
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ bx lr
+_0201792C:
+ ldr r2, _02017970 ; =0x0400100A
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ bx lr
+_0201793C:
+ ldr r2, _02017974 ; =0x0400100C
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ bx lr
+_0201794C:
+ ldr r2, _02017978 ; =0x0400100E
+ mov r0, #0x3
+ ldrh r3, [r2, #0x0]
+ bic r3, r0
+ add r0, r3, #0x0
+ orr r0, r1
+ strh r0, [r2, #0x0]
_0201795A:
bx lr
.balign 4
_0201795C: .word 0x04000008
-_02017960:
- .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04
- .byte 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04
+_02017960: .word 0x0400000A
+_02017964: .word 0x0400000C
+_02017968: .word 0x0400000E
+_0201796C: .word 0x04001008
+_02017970: .word 0x0400100A
+_02017974: .word 0x0400100C
+_02017978: .word 0x0400100E
thumb_func_start FUN_0201797C
FUN_0201797C: ; 0x0201797C
@@ -45058,22 +48729,46 @@ FUN_0201797C: ; 0x0201797C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r6, r4, #0
- lsl r6, r5, #0
- lsl r6, r6, #0
- lsl r6, r7, #0
- lsl r6, r0, #0x1
+_0201798E: ; jump table (using 16-bit offset)
+ .short _0201799E - _0201798E - 2; case 0
+ .short _020179A6 - _0201798E - 2; case 1
+ .short _020179AE - _0201798E - 2; case 2
+ .short _020179B6 - _0201798E - 2; case 3
+ .short _020179BE - _0201798E - 2; case 4
+ .short _020179C6 - _0201798E - 2; case 5
+ .short _020179CE - _0201798E - 2; case 6
+ .short _020179D6 - _0201798E - 2; case 7
+_0201799E:
mov r0, #0x1
bl FUN_0201E6E4
pop {r3, pc}
_020179A6:
- .byte 0x02, 0x20, 0x06, 0xF0, 0x9C, 0xFE, 0x08, 0xBD, 0x04, 0x20
- .byte 0x06, 0xF0, 0x98, 0xFE, 0x08, 0xBD, 0x08, 0x20, 0x06, 0xF0, 0x94, 0xFE, 0x08, 0xBD, 0x01, 0x20
- .byte 0x06, 0xF0, 0xC4, 0xFE, 0x08, 0xBD, 0x02, 0x20, 0x06, 0xF0, 0xC0, 0xFE, 0x08, 0xBD, 0x04, 0x20
- .byte 0x06, 0xF0, 0xBC, 0xFE, 0x08, 0xBD, 0x08, 0x20, 0x06, 0xF0, 0xB8, 0xFE
+ mov r0, #0x2
+ bl FUN_0201E6E4
+ pop {r3, pc}
+_020179AE:
+ mov r0, #0x4
+ bl FUN_0201E6E4
+ pop {r3, pc}
+_020179B6:
+ mov r0, #0x8
+ bl FUN_0201E6E4
+ pop {r3, pc}
+_020179BE:
+ mov r0, #0x1
+ bl FUN_0201E74C
+ pop {r3, pc}
+_020179C6:
+ mov r0, #0x2
+ bl FUN_0201E74C
+ pop {r3, pc}
+_020179CE:
+ mov r0, #0x4
+ bl FUN_0201E74C
+ pop {r3, pc}
+_020179D6:
+ mov r0, #0x8
+ bl FUN_0201E74C
_020179DC:
pop {r3, pc}
.balign 4
@@ -45105,14 +48800,16 @@ _02017A06:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r1, #0
- lsl r4, r4, #0
- lsl r2, r7, #0
- lsl r4, r4, #0x1
- lsl r6, r1, #0x2
- lsl r4, r4, #0x2
- lsl r2, r7, #0x2
- lsl r2, r4, #0x3
+_02017A12: ; jump table (using 16-bit offset)
+ .short _02017A22 - _02017A12 - 2; case 0
+ .short _02017A38 - _02017A12 - 2; case 1
+ .short _02017A4E - _02017A12 - 2; case 2
+ .short _02017A78 - _02017A12 - 2; case 3
+ .short _02017AA2 - _02017A12 - 2; case 4
+ .short _02017AB8 - _02017A12 - 2; case 5
+ .short _02017ACE - _02017A12 - 2; case 6
+ .short _02017AF6 - _02017A12 - 2; case 7
+_02017A22:
ldr r2, _02017B20 ; =0x000001FF
add r3, r1, #0x0
lsl r1, r0, #0x10
@@ -45125,30 +48822,139 @@ _02017A06:
str r1, [r0, #0x0]
pop {r4-r6, pc}
_02017A38:
- .byte 0x39, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04
- .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x37, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x22, 0x1C
- .byte 0x74, 0x32, 0x12, 0x78, 0x00, 0x2A, 0x0A, 0xD1, 0x31, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04
- .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x30, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C
- .byte 0x02, 0x21, 0x00, 0xF0, 0xFB, 0xF8, 0x70, 0xBD, 0x22, 0x1C, 0xA0, 0x32, 0x12, 0x78, 0x00, 0x2A
- .byte 0x0A, 0xD1, 0x27, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04, 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C
- .byte 0x01, 0x43, 0x27, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x03, 0x21, 0x00, 0xF0, 0xE6, 0xF8
- .byte 0x70, 0xBD, 0x1F, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04, 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C
- .byte 0x01, 0x43, 0x20, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x19, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04
- .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x1B, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x49, 0x22
- .byte 0x92, 0x00, 0xA3, 0x5C, 0x00, 0x2B, 0x09, 0xD1, 0xDB, 0x32, 0x0A, 0x40, 0x01, 0x04, 0x17, 0x48
- .byte 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x16, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x06, 0x21
- .byte 0x00, 0xF0, 0xBC, 0xF8, 0x70, 0xBD, 0x15, 0x22, 0x12, 0x01, 0xA3, 0x5C, 0x00, 0x2B, 0x09, 0xD1
- .byte 0xAF, 0x32, 0x0A, 0x40, 0x01, 0x04, 0x0D, 0x48, 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x0D, 0x48
- .byte 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x07, 0x21, 0x00, 0xF0, 0xA8, 0xF8
+ ldr r2, _02017B20 ; =0x000001FF
+ add r3, r1, #0x0
+ lsl r1, r0, #0x10
+ lsl r0, r2, #0x10
+ and r3, r2
+ and r0, r1
+ add r1, r3, #0x0
+ orr r1, r0
+ ldr r0, _02017B28 ; =0x04000014
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017A4E:
+ add r2, r4, #0x0
+ add r2, #0x74
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x0
+ bne _02017A6E
+ ldr r2, _02017B20 ; =0x000001FF
+ add r3, r1, #0x0
+ lsl r1, r0, #0x10
+ lsl r0, r2, #0x10
+ and r3, r2
+ and r0, r1
+ add r1, r3, #0x0
+ orr r1, r0
+ ldr r0, _02017B2C ; =0x04000018
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017A6E:
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02017C6C
+ pop {r4-r6, pc}
+_02017A78:
+ add r2, r4, #0x0
+ add r2, #0xa0
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x0
+ bne _02017A98
+ ldr r2, _02017B20 ; =0x000001FF
+ add r3, r1, #0x0
+ lsl r1, r0, #0x10
+ lsl r0, r2, #0x10
+ and r3, r2
+ and r0, r1
+ add r1, r3, #0x0
+ orr r1, r0
+ ldr r0, _02017B30 ; =0x0400001C
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017A98:
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_02017C6C
+ pop {r4-r6, pc}
+_02017AA2:
+ ldr r2, _02017B20 ; =0x000001FF
+ add r3, r1, #0x0
+ lsl r1, r0, #0x10
+ lsl r0, r2, #0x10
+ and r3, r2
+ and r0, r1
+ add r1, r3, #0x0
+ orr r1, r0
+ ldr r0, _02017B34 ; =0x04001010
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017AB8:
+ ldr r2, _02017B20 ; =0x000001FF
+ add r3, r1, #0x0
+ lsl r1, r0, #0x10
+ lsl r0, r2, #0x10
+ and r3, r2
+ and r0, r1
+ add r1, r3, #0x0
+ orr r1, r0
+ ldr r0, _02017B38 ; =0x04001014
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017ACE:
+ mov r2, #0x49
+ lsl r2, r2, #0x2
+ ldrb r3, [r4, r2]
+ cmp r3, #0x0
+ bne _02017AEC
+ add r2, #0xdb
+ and r2, r1
+ lsl r1, r0, #0x10
+ ldr r0, _02017B3C ; =0x01FF0000
+ and r0, r1
+ add r1, r2, #0x0
+ orr r1, r0
+ ldr r0, _02017B40 ; =0x04001018
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017AEC:
+ add r0, r4, #0x0
+ mov r1, #0x6
+ bl FUN_02017C6C
+ pop {r4-r6, pc}
+_02017AF6:
+ mov r2, #0x15
+ lsl r2, r2, #0x4
+ ldrb r3, [r4, r2]
+ cmp r3, #0x0
+ bne _02017B14
+ add r2, #0xaf
+ and r2, r1
+ lsl r1, r0, #0x10
+ ldr r0, _02017B3C ; =0x01FF0000
+ and r0, r1
+ add r1, r2, #0x0
+ orr r1, r0
+ ldr r0, _02017B44 ; =0x0400101C
+ str r1, [r0, #0x0]
+ pop {r4-r6, pc}
+_02017B14:
+ add r0, r4, #0x0
+ mov r1, #0x7
+ bl FUN_02017C6C
_02017B1C:
pop {r4-r6, pc}
nop
_02017B20: .word 0x000001FF
_02017B24: .word 0x04000010
-_02017B28:
- .byte 0x14, 0x00, 0x00, 0x04, 0x18, 0x00, 0x00, 0x04
- .byte 0x1C, 0x00, 0x00, 0x04, 0x10, 0x10, 0x00, 0x04, 0x14, 0x10, 0x00, 0x04, 0x00, 0x00, 0xFF, 0x01
- .byte 0x18, 0x10, 0x00, 0x04, 0x1C, 0x10, 0x00, 0x04
+_02017B28: .word 0x04000014
+_02017B2C: .word 0x04000018
+_02017B30: .word 0x0400001C
+_02017B34: .word 0x04001010
+_02017B38: .word 0x04001014
+_02017B3C: .word 0x01FF0000
+_02017B40: .word 0x04001018
+_02017B44: .word 0x0400101C
thumb_func_start FUN_02017B48
FUN_02017B48: ; 0x02017B48
@@ -45201,18 +49007,38 @@ FUN_02017B8C: ; 0x02017B8C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r2, r5, #0
+_02017B9C: ; jump table (using 16-bit offset)
+ .short _02017BA8 - _02017B9C - 2; case 0
+ .short _02017BAC - _02017B9C - 2; case 1
+ .short _02017BB4 - _02017B9C - 2; case 2
+ .short _02017BBC - _02017B9C - 2; case 3
+ .short _02017BC0 - _02017B9C - 2; case 4
+ .short _02017BC8 - _02017B9C - 2; case 5
+_02017BA8:
str r2, [r0, #0xc]
bx lr
_02017BAC:
- .byte 0xC1, 0x68, 0x89, 0x18
- .byte 0xC1, 0x60, 0x70, 0x47, 0xC1, 0x68, 0x89, 0x1A, 0xC1, 0x60, 0x70, 0x47, 0x02, 0x61, 0x70, 0x47
- .byte 0x01, 0x69, 0x89, 0x18, 0x01, 0x61, 0x70, 0x47, 0x01, 0x69, 0x89, 0x1A, 0x01, 0x61
+ ldr r1, [r0, #0xc]
+ add r1, r1, r2
+ str r1, [r0, #0xc]
+ bx lr
+_02017BB4:
+ ldr r1, [r0, #0xc]
+ sub r1, r1, r2
+ str r1, [r0, #0xc]
+ bx lr
+_02017BBC:
+ str r2, [r0, #0x10]
+ bx lr
+_02017BC0:
+ ldr r1, [r0, #0x10]
+ add r1, r1, r2
+ str r1, [r0, #0x10]
+ bx lr
+_02017BC8:
+ ldr r1, [r0, #0x10]
+ sub r1, r1, r2
+ str r1, [r0, #0x10]
_02017BCE:
bx lr
@@ -45232,14 +49058,16 @@ FUN_02017BD0: ; 0x02017BD0
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
- lsl r2, r5, #0x1
- lsl r2, r5, #0x1
- lsl r6, r1, #0
- lsl r6, r4, #0
- lsl r2, r5, #0x1
- lsl r2, r5, #0x1
- lsl r6, r7, #0
- lsl r6, r2, #0x1
+_02017BEC: ; jump table (using 16-bit offset)
+ .short _02017C58 - _02017BEC - 2; case 0
+ .short _02017C58 - _02017BEC - 2; case 1
+ .short _02017BFC - _02017BEC - 2; case 2
+ .short _02017C14 - _02017BEC - 2; case 3
+ .short _02017C58 - _02017BEC - 2; case 4
+ .short _02017C58 - _02017BEC - 2; case 5
+ .short _02017C2C - _02017BEC - 2; case 6
+ .short _02017C44 - _02017BEC - 2; case 7
+_02017BFC:
mov r5, #0x2c
mul r5, r4
add r4, r0, r5
@@ -45252,18 +49080,47 @@ FUN_02017BD0: ; 0x02017BD0
add sp, #0x8
pop {r3-r5, pc}
_02017C14:
- .byte 0x2C, 0x25, 0x65, 0x43, 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69
- .byte 0x01, 0x90, 0x0F, 0x48, 0xAF, 0xF0, 0x68, 0xEC, 0x02, 0xB0, 0x38, 0xBD, 0x2C, 0x25, 0x65, 0x43
- .byte 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69, 0x01, 0x90, 0x0A, 0x48, 0xAF, 0xF0, 0x5C, 0xEC
- .byte 0x02, 0xB0, 0x38, 0xBD, 0x2C, 0x25, 0x65, 0x43, 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69
- .byte 0x01, 0x90, 0x05, 0x48, 0xAF, 0xF0, 0x50, 0xEC
+ mov r5, #0x2c
+ mul r5, r4
+ add r4, r0, r5
+ ldr r0, [r4, #0x14]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ str r0, [sp, #0x4]
+ ldr r0, _02017C60 ; =0x04000030
+ blx FUN_020C74F8
+ add sp, #0x8
+ pop {r3-r5, pc}
+_02017C2C:
+ mov r5, #0x2c
+ mul r5, r4
+ add r4, r0, r5
+ ldr r0, [r4, #0x14]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ str r0, [sp, #0x4]
+ ldr r0, _02017C64 ; =0x04001020
+ blx FUN_020C74F8
+ add sp, #0x8
+ pop {r3-r5, pc}
+_02017C44:
+ mov r5, #0x2c
+ mul r5, r4
+ add r4, r0, r5
+ ldr r0, [r4, #0x14]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ str r0, [sp, #0x4]
+ ldr r0, _02017C68 ; =0x04001030
+ blx FUN_020C74F8
_02017C58:
add sp, #0x8
pop {r3-r5, pc}
.balign 4
_02017C5C: .word 0x04000020
-_02017C60:
- .byte 0x30, 0x00, 0x00, 0x04, 0x20, 0x10, 0x00, 0x04, 0x30, 0x10, 0x00, 0x04
+_02017C60: .word 0x04000030
+_02017C64: .word 0x04001020
+_02017C68: .word 0x04001030
thumb_func_start FUN_02017C6C
FUN_02017C6C: ; 0x02017C6C
@@ -45412,26 +49269,62 @@ FUN_02017D68: ; 0x02017D68
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r2, r3, #0
- lsl r6, r4, #0
- lsl r2, r6, #0
- lsl r6, r7, #0
- lsl r2, r1, #0x1
- lsl r6, r2, #0x1
- lsl r2, r4, #0x1
+_02017D8A: ; jump table (using 16-bit offset)
+ .short _02017D9A - _02017D8A - 2; case 0
+ .short _02017DA6 - _02017D8A - 2; case 1
+ .short _02017DB2 - _02017D8A - 2; case 2
+ .short _02017DBE - _02017D8A - 2; case 3
+ .short _02017DCA - _02017D8A - 2; case 4
+ .short _02017DD6 - _02017D8A - 2; case 5
+ .short _02017DE2 - _02017D8A - 2; case 6
+ .short _02017DEE - _02017D8A - 2; case 7
+_02017D9A:
add r0, r4, #0x0
add r1, r5, #0x0
add r2, r6, #0x0
blx FUN_020C922C
pop {r3-r7, pc}
_02017DA6:
- .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xD6, 0xE9
- .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x68, 0xE9, 0xF8, 0xBD, 0x20, 0x1C
- .byte 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xFA, 0xE8, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C
- .byte 0xB1, 0xF0, 0xF8, 0xE9, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x8A, 0xE9
- .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x1C, 0xE9, 0xF8, 0xBD, 0x20, 0x1C
- .byte 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xAE, 0xE8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C915C
+ pop {r3-r7, pc}
+_02017DB2:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C908C
+ pop {r3-r7, pc}
+_02017DBE:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8FBC
+ pop {r3-r7, pc}
+_02017DCA:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C91C4
+ pop {r3-r7, pc}
+_02017DD6:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C90F4
+ pop {r3-r7, pc}
+_02017DE2:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C9024
+ pop {r3-r7, pc}
+_02017DEE:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8F54
_02017DF8:
pop {r3-r7, pc}
.balign 4
@@ -45525,26 +49418,62 @@ FUN_02017E84: ; 0x02017E84
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r2, r3, #0
- lsl r6, r4, #0
- lsl r2, r6, #0
- lsl r6, r7, #0
- lsl r2, r1, #0x1
- lsl r6, r2, #0x1
- lsl r2, r4, #0x1
+_02017EA6: ; jump table (using 16-bit offset)
+ .short _02017EB6 - _02017EA6 - 2; case 0
+ .short _02017EC2 - _02017EA6 - 2; case 1
+ .short _02017ECE - _02017EA6 - 2; case 2
+ .short _02017EDA - _02017EA6 - 2; case 3
+ .short _02017EE6 - _02017EA6 - 2; case 4
+ .short _02017EF2 - _02017EA6 - 2; case 5
+ .short _02017EFE - _02017EA6 - 2; case 6
+ .short _02017F0A - _02017EA6 - 2; case 7
+_02017EB6:
add r0, r4, #0x0
add r1, r5, #0x0
add r2, r6, #0x0
blx FUN_020C8EEC
pop {r3-r7, pc}
_02017EC2:
- .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xA8, 0xEF, 0xF8, 0xBD, 0x20, 0x1C
- .byte 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0x3A, 0xEF, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C
- .byte 0xB0, 0xF0, 0xCC, 0xEE, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xCA, 0xEF
- .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0x5C, 0xEF, 0xF8, 0xBD, 0x20, 0x1C
- .byte 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xEE, 0xEE, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C
- .byte 0xB0, 0xF0, 0x80, 0xEE
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8E1C
+ pop {r3-r7, pc}
+_02017ECE:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8D4C
+ pop {r3-r7, pc}
+_02017EDA:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8C7C
+ pop {r3-r7, pc}
+_02017EE6:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8E84
+ pop {r3-r7, pc}
+_02017EF2:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8DB4
+ pop {r3-r7, pc}
+_02017EFE:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8CE4
+ pop {r3-r7, pc}
+_02017F0A:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ blx FUN_020C8C14
_02017F14:
pop {r3-r7, pc}
.balign 4
@@ -45676,23 +49605,57 @@ FUN_02017FFC: ; 0x02017FFC
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r2, r1, #0
- lsl r4, r2, #0
- lsl r4, r2, #0
- lsl r6, r3, #0
- lsl r4, r6, #0
- lsl r6, r2, #0x1
+_0201800C: ; jump table (using 16-bit offset)
+ .short _02018018 - _0201800C - 2; case 0
+ .short _02018022 - _0201800C - 2; case 1
+ .short _02018022 - _0201800C - 2; case 2
+ .short _0201802C - _0201800C - 2; case 3
+ .short _02018042 - _0201800C - 2; case 4
+ .short _02018064 - _0201800C - 2; case 5
+_02018018:
lsl r1, r1, #0x4
add r0, r0, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bx lr
_02018022:
- .byte 0x49, 0x01, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x70, 0x47, 0x1F, 0x22, 0x03, 0x1C
- .byte 0x13, 0x40, 0x1F, 0x22, 0x90, 0x43, 0x08, 0x18, 0x40, 0x01, 0x18, 0x18, 0x00, 0x04, 0x00, 0x0C
- .byte 0x70, 0x47, 0x4A, 0x11, 0x43, 0x11, 0x52, 0x00, 0x9A, 0x18, 0x12, 0x04, 0x12, 0x0C, 0x92, 0x06
- .byte 0x13, 0x0C, 0x1F, 0x22, 0x02, 0x40, 0xC8, 0x06, 0x80, 0x0D, 0x10, 0x18, 0x18, 0x18, 0x00, 0x04
- .byte 0x00, 0x0C, 0x70, 0x47, 0x00, 0x20
+ lsl r1, r1, #0x5
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+_0201802C:
+ mov r2, #0x1f
+ add r3, r0, #0x0
+ and r3, r2
+ mov r2, #0x1f
+ bic r0, r2
+ add r0, r1, r0
+ lsl r0, r0, #0x5
+ add r0, r3, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+_02018042:
+ asr r2, r1, #0x5
+ asr r3, r0, #0x5
+ lsl r2, r2, #0x1
+ add r2, r3, r2
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ lsl r2, r2, #0x1a
+ lsr r3, r2, #0x10
+ mov r2, #0x1f
+ and r2, r0
+ lsl r0, r1, #0x1b
+ lsr r0, r0, #0x16
+ add r0, r2, r0
+ add r0, r3, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+_02018064:
+ mov r0, #0x0
_02018066:
bx lr
@@ -45732,10 +49695,12 @@ _02018098:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r0, #0
- lsl r4, r4, #0
- lsl r2, r1, #0x1
- lsl r6, r6, #0x1
+_020180A8: ; jump table (using 16-bit offset)
+ .short _020180B0 - _020180A8 - 2; case 0
+ .short _020180CE - _020180A8 - 2; case 1
+ .short _020180F4 - _020180A8 - 2; case 2
+ .short _02018120 - _020180A8 - 2; case 3
+_020180B0:
cmp r4, #0x0
blt _020180C0
lsl r1, r1, #0x5
@@ -45753,14 +49718,68 @@ _020180C0:
lsr r3, r0, #0x10
b _02018140
_020180CE:
- .byte 0x00, 0x2F
- .byte 0x02, 0xDB, 0x01, 0x22, 0x92, 0x02, 0x01, 0xE0, 0x00, 0x9A, 0x52, 0x01, 0x9A, 0x18, 0x12, 0x04
- .byte 0x13, 0x0C, 0x1F, 0x22, 0x02, 0x40, 0x08, 0x1C, 0x60, 0x43, 0x10, 0x18, 0x18, 0x18, 0x00, 0x04
- .byte 0x03, 0x0C, 0x25, 0xE0, 0x72, 0x01, 0x9A, 0x18, 0x12, 0x04, 0x12, 0x0C, 0x00, 0x2C, 0x06, 0xDB
- .byte 0xC9, 0x06, 0x89, 0x0D, 0x40, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C, 0x18, 0xE0, 0x1F, 0x23
- .byte 0x19, 0x40, 0x0B, 0x1C, 0x73, 0x43, 0xC0, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C, 0x0F, 0xE0
- .byte 0xF2, 0x19, 0x52, 0x01, 0x9A, 0x18, 0x05, 0x1C, 0x1F, 0x23, 0x08, 0x1C, 0x18, 0x40, 0x01, 0x1C
- .byte 0x12, 0x04, 0x1D, 0x40, 0x61, 0x43, 0x12, 0x0C, 0x68, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C
+ cmp r7, #0x0
+ blt _020180D8
+ mov r2, #0x1
+ lsl r2, r2, #0xa
+ b _020180DC
+_020180D8:
+ ldr r2, [sp, #0x0]
+ lsl r2, r2, #0x5
+_020180DC:
+ add r2, r3, r2
+ lsl r2, r2, #0x10
+ lsr r3, r2, #0x10
+ mov r2, #0x1f
+ and r2, r0
+ add r0, r1, #0x0
+ mul r0, r4
+ add r0, r2, r0
+ add r0, r3, r0
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ b _02018140
+_020180F4:
+ lsl r2, r6, #0x5
+ add r2, r3, r2
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ cmp r4, #0x0
+ blt _0201810E
+ lsl r1, r1, #0x1b
+ lsr r1, r1, #0x16
+ add r0, r0, r1
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ b _02018140
+_0201810E:
+ mov r3, #0x1f
+ and r1, r3
+ add r3, r1, #0x0
+ mul r3, r6
+ add r0, r0, r3
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ b _02018140
+_02018120:
+ add r2, r6, r7
+ lsl r2, r2, #0x5
+ add r2, r3, r2
+ add r5, r0, #0x0
+ mov r3, #0x1f
+ add r0, r1, #0x0
+ and r0, r3
+ add r1, r0, #0x0
+ lsl r2, r2, #0x10
+ and r5, r3
+ mul r1, r4
+ lsr r2, r2, #0x10
+ add r0, r5, r1
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
_02018140:
add r0, r3, #0x0
add sp, #0x4
@@ -46649,21 +50668,39 @@ FUN_020187B0: ; 0x020187B0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r4, r2, #0
- lsl r2, r3, #0
- lsl r0, r4, #0
- lsl r6, r4, #0
- lsl r4, r5, #0
- lsl r2, r6, #0
- lsl r0, r7, #0
+_020187C2: ; jump table (using 16-bit offset)
+ .short _020187D2 - _020187C2 - 2; case 0
+ .short _020187D8 - _020187C2 - 2; case 1
+ .short _020187DE - _020187C2 - 2; case 2
+ .short _020187E4 - _020187C2 - 2; case 3
+ .short _020187EA - _020187C2 - 2; case 4
+ .short _020187F0 - _020187C2 - 2; case 5
+ .short _020187F6 - _020187C2 - 2; case 6
+ .short _020187FC - _020187C2 - 2; case 7
+_020187D2:
blx FUN_020C7124
pop {r3, pc}
_020187D8:
- .byte 0xAE, 0xF0, 0x7A, 0xEC, 0x08, 0xBD, 0xAE, 0xF0
- .byte 0x3C, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0xE4, 0xEB, 0x08, 0xBD, 0xAE, 0xF0, 0x8C, 0xEC, 0x08, 0xBD
- .byte 0xAE, 0xF0, 0x5E, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0x0C, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0xB0, 0xEB
- .byte 0x08, 0xBD
+ blx FUN_020C70D0
+ pop {r3, pc}
+_020187DE:
+ blx FUN_020C7058
+ pop {r3, pc}
+_020187E4:
+ blx FUN_020C6FB0
+ pop {r3, pc}
+_020187EA:
+ blx FUN_020C7104
+ pop {r3, pc}
+_020187F0:
+ blx FUN_020C70B0
+ pop {r3, pc}
+_020187F6:
+ blx FUN_020C7010
+ pop {r3, pc}
+_020187FC:
+ blx FUN_020C6F60
+ pop {r3, pc}
_02018802:
mov r0, #0x0
pop {r3, pc}
@@ -46758,14 +50795,16 @@ _0201888C:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r1, #0
- lsl r2, r4, #0
- lsl r6, r6, #0
- lsl r6, r0, #0x2
- lsl r6, r2, #0x3
- lsl r2, r5, #0x3
- lsl r6, r7, #0x3
- lsl r6, r1, #0x5
+_02018898: ; jump table (using 16-bit offset)
+ .short _020188A8 - _02018898 - 2; case 0
+ .short _020188BC - _02018898 - 2; case 1
+ .short _020188D0 - _02018898 - 2; case 2
+ .short _02018920 - _02018898 - 2; case 3
+ .short _02018970 - _02018898 - 2; case 4
+ .short _02018984 - _02018898 - 2; case 5
+ .short _02018998 - _02018898 - 2; case 6
+ .short _020189E8 - _02018898 - 2; case 7
+_020188A8:
ldr r0, _02018A40 ; =0x04000008
ldrh r1, [r0, #0x0]
add r0, sp, #0x0
@@ -46777,40 +50816,227 @@ _0201888C:
lsr r0, r0, #0x18
bx lr
_020188BC:
- .byte 0x61, 0x48, 0x01, 0x88
- .byte 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x83, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47
- .byte 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0
- .byte 0x02, 0x28, 0x13, 0xD0, 0x58, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x83, 0x88, 0x07
- .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x53, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0
- .byte 0x01, 0x83, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x4E, 0x48, 0x01, 0x88
- .byte 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47
- .byte 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0
- .byte 0x02, 0x28, 0x13, 0xD0, 0x45, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x82, 0x88, 0x07
- .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x40, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0
- .byte 0x41, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x3B, 0x48, 0x01, 0x88
- .byte 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47
- .byte 0x37, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06
- .byte 0x00, 0x0E, 0x70, 0x47, 0x33, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x81, 0x88, 0x07
- .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F
- .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x02, 0x28, 0x13, 0xD0, 0x2A, 0x48, 0x01, 0x88
- .byte 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47
- .byte 0x25, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06
- .byte 0x00, 0x0E, 0x70, 0x47, 0x20, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x80, 0x88, 0x07
- .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F
- .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x02, 0x28, 0x13, 0xD0, 0x17, 0x48, 0x01, 0x88
- .byte 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x80, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47
- .byte 0x12, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x80, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06
- .byte 0x00, 0x0E, 0x70, 0x47, 0x0D, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x80, 0x88, 0x07
- .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47
+ ldr r0, _02018A44 ; =0x0400000A
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x1c]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_020188D0:
+ mov r2, #0x2c
+ mul r2, r1
+ add r0, r0, r2
+ ldrb r0, [r0, #0x1c]
+ cmp r0, #0x0
+ beq _020188E4
+ cmp r0, #0x1
+ beq _020188F8
+ cmp r0, #0x2
+ beq _0201890C
+_020188E4:
+ ldr r0, _02018A48 ; =0x0400000C
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x1a]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_020188F8:
+ ldr r0, _02018A48 ; =0x0400000C
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x18]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_0201890C:
+ ldr r0, _02018A48 ; =0x0400000C
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x16]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018920:
+ mov r2, #0x2c
+ mul r2, r1
+ add r0, r0, r2
+ ldrb r0, [r0, #0x1c]
+ cmp r0, #0x0
+ beq _02018934
+ cmp r0, #0x1
+ beq _02018948
+ cmp r0, #0x2
+ beq _0201895C
+_02018934:
+ ldr r0, _02018A4C ; =0x0400000E
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x14]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018948:
+ ldr r0, _02018A4C ; =0x0400000E
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x12]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_0201895C:
+ ldr r0, _02018A4C ; =0x0400000E
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x10]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018970:
+ ldr r0, _02018A50 ; =0x04001008
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0xe]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018984:
+ ldr r0, _02018A54 ; =0x0400100A
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0xc]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018998:
+ mov r2, #0x2c
+ mul r2, r1
+ add r0, r0, r2
+ ldrb r0, [r0, #0x1c]
+ cmp r0, #0x0
+ beq _020189AC
+ cmp r0, #0x1
+ beq _020189C0
+ cmp r0, #0x2
+ beq _020189D4
+_020189AC:
+ ldr r0, _02018A58 ; =0x0400100C
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0xa]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_020189C0:
+ ldr r0, _02018A58 ; =0x0400100C
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x8]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_020189D4:
+ ldr r0, _02018A58 ; =0x0400100C
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x6]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_020189E8:
+ mov r2, #0x2c
+ mul r2, r1
+ add r0, r0, r2
+ ldrb r0, [r0, #0x1c]
+ cmp r0, #0x0
+ beq _020189FC
+ cmp r0, #0x1
+ beq _02018A10
+ cmp r0, #0x2
+ beq _02018A24
+_020189FC:
+ ldr r0, _02018A5C ; =0x0400100E
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x4]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018A10:
+ ldr r0, _02018A5C ; =0x0400100E
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x2]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_02018A24:
+ ldr r0, _02018A5C ; =0x0400100E
+ ldrh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ add sp, #0x20
+ strh r1, [r0, #0x0]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1e
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
_02018A38:
mov r0, #0x0
add sp, #0x20
bx lr
nop
_02018A40: .word 0x04000008
-_02018A44:
- .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04
- .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04
+_02018A44: .word 0x0400000A
+_02018A48: .word 0x0400000C
+_02018A4C: .word 0x0400000E
+_02018A50: .word 0x04001008
+_02018A54: .word 0x0400100A
+_02018A58: .word 0x0400100C
+_02018A5C: .word 0x0400100E
thumb_func_start FUN_02018A60
FUN_02018A60: ; 0x02018A60
@@ -48671,10 +52897,12 @@ _020197C0:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r1, #0x4
- lsl r0, r3, #0xc
- lsl r0, r7, #0x14
+_020197CC: ; jump table (using 16-bit offset)
+ .short _020197D4 - _020197CC - 2; case 0
+ .short _020198D6 - _020197CC - 2; case 1
+ .short _02019AE6 - _020197CC - 2; case 2
+ .short _02019D06 - _020197CC - 2; case 3
+_020197D4:
ldr r0, [sp, #0x330]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
@@ -48811,143 +53039,1127 @@ _020198BE:
add sp, #0x118
pop {r4-r7, pc}
_020198D6:
- .byte 0x00, 0x98, 0x97, 0x90, 0x12, 0x98, 0x99, 0x90, 0xCC, 0x98
- .byte 0x00, 0x06, 0x00, 0x0E, 0x15, 0x90, 0x00, 0x06, 0x00, 0x0E, 0x21, 0x90, 0x00, 0x20, 0x9A, 0x90
- .byte 0x01, 0x98, 0x00, 0x28, 0x6D, 0xDD, 0x16, 0x98, 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10
- .byte 0x20, 0x90, 0x97, 0x98, 0x21, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x96, 0x90, 0x9A, 0x98, 0x20, 0x9E
- .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x98, 0x90, 0x10, 0x1C, 0x83, 0x00
- .byte 0x99, 0x98, 0x00, 0x21, 0x85, 0x00, 0x90, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20
- .byte 0x07, 0x40, 0x99, 0x98, 0x1F, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x8B, 0x48, 0x20, 0x9D, 0x30, 0x40
- .byte 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x1E, 0x95, 0x1D, 0x90, 0x55, 0x10, 0x03, 0x20
- .byte 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19, 0x84, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x1F, 0x98, 0xA2, 0x95
- .byte 0x28, 0x18, 0x96, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E
- .byte 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xA3, 0x95, 0xC5, 0x5D, 0xA4, 0x95, 0xF0, 0x25
- .byte 0x35, 0x41, 0xA4, 0x9E, 0x2E, 0x40, 0xA3, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55
- .byte 0x98, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xA2, 0x9E, 0x1E, 0x98, 0x36, 0x18, 0x1D, 0x98, 0x85, 0x55
- .byte 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x08, 0x29, 0xCF, 0xDB, 0x98, 0x98, 0x00, 0x28
- .byte 0x03, 0xD0, 0x99, 0x98, 0x80, 0x1C, 0x99, 0x90, 0x02, 0xE0, 0x99, 0x98, 0x40, 0x1C, 0x99, 0x90
- .byte 0x97, 0x98, 0x00, 0x1D, 0x97, 0x90, 0x9A, 0x98, 0x41, 0x1C, 0x01, 0x98, 0x9A, 0x91, 0x81, 0x42
- .byte 0x97, 0xDB, 0x00, 0x98, 0x20, 0x30, 0x00, 0x90, 0x15, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x26, 0x90
- .byte 0x00, 0x20, 0x95, 0x90, 0x01, 0x98, 0x00, 0x28, 0x01, 0xDC, 0x00, 0xF0, 0x67, 0xFF, 0x17, 0x98
- .byte 0x07, 0x21, 0x08, 0x30, 0x17, 0x90, 0x16, 0x98, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x25, 0x90
- .byte 0x00, 0x98, 0x26, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x93, 0x90, 0x95, 0x98, 0x01, 0x41, 0x01, 0x20
- .byte 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x94, 0x90, 0x02, 0x98, 0x00, 0x21, 0xA5, 0x90, 0x08, 0x38
- .byte 0xA5, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x12, 0x98, 0x25, 0x9E
- .byte 0x85, 0x00, 0x4D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x12, 0x98
- .byte 0x24, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x48, 0x48, 0x25, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20
- .byte 0x30, 0x40, 0x0C, 0x1C, 0x23, 0x95, 0x22, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98
- .byte 0x40, 0x19, 0x41, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x24, 0x98, 0xA6, 0x95, 0x28, 0x18, 0x93, 0x9D
- .byte 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07
- .byte 0x76, 0x0F, 0xB5, 0x40, 0xA7, 0x95, 0xC5, 0x5D, 0xA8, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xA8, 0x9E
- .byte 0x2E, 0x40, 0xA7, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x94, 0x98, 0x00, 0x28
- .byte 0x04, 0xD0, 0xA6, 0x9E, 0x23, 0x98, 0x36, 0x18, 0x22, 0x98, 0x85, 0x55, 0xA5, 0x98, 0x49, 0x1C
- .byte 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x94, 0x98, 0x00, 0x28, 0x03, 0xD0
- .byte 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x00, 0x98
- .byte 0x00, 0x1D, 0x00, 0x90, 0x95, 0x98, 0x41, 0x1C, 0x01, 0x98, 0x95, 0x91, 0x81, 0x42, 0x8F, 0xDB
- .byte 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD, 0x00, 0x98, 0x07, 0x21, 0x8F, 0x90, 0x12, 0x98, 0x91, 0x90
- .byte 0x00, 0x20, 0x92, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x2A, 0x90, 0x16, 0x98, 0x01, 0x40
- .byte 0x40, 0x18, 0xC0, 0x10, 0x10, 0x90, 0x8F, 0x98, 0x2A, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x8E, 0x90
- .byte 0x92, 0x98, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x90, 0x90, 0x02, 0x98
- .byte 0x00, 0x21, 0x00, 0x28, 0x4D, 0xDD, 0x4C, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x91, 0x98, 0x10, 0x9E
- .byte 0x85, 0x00, 0x0D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x91, 0x98
- .byte 0x29, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x08, 0x48, 0x10, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20
- .byte 0x30, 0x40, 0x0C, 0x1C, 0x28, 0x95, 0x27, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98
- .byte 0x40, 0x19, 0x01, 0x4D, 0x02, 0xE0, 0xC0, 0x46
+ ldr r0, [sp, #0x0]
+ str r0, [sp, #0x25c]
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x264]
+ ldr r0, [sp, #0x330]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x54]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x84]
+ mov r0, #0x0
+ str r0, [sp, #0x268]
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ ble _020199D2
+ ldr r0, [sp, #0x58]
+ mov r1, #0x7
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x80]
+_02019902:
+ ldr r0, [sp, #0x25c]
+ ldr r1, [sp, #0x84]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0x5c]
+ str r0, [sp, #0x258]
+ ldr r0, [sp, #0x268]
+ ldr r6, [sp, #0x80]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x260]
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x264]
+ mov r1, #0x0
+ lsl r5, r0, #0x2
+ ldr r0, _02019B68 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x264]
+ str r6, [sp, #0x7c]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019B68 ; =0x00003FE0
+ ldr r5, [sp, #0x80]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ add r4, r1, #0x0
+ str r5, [sp, #0x78]
+ str r0, [sp, #0x74]
+_0201994C:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019B68 ; =0x00003FE0
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0x7c]
+ str r5, [sp, #0x288]
+ add r0, r5, r0
+ ldr r5, [sp, #0x258]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _020199A0
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x28c]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x290]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x290]
+ and r6, r5
+ ldr r5, [sp, #0x28c]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x260]
+ cmp r0, #0x0
+ beq _020199A0
+ ldr r6, [sp, #0x288]
+ ldr r0, [sp, #0x78]
+ add r6, r6, r0
+ ldr r0, [sp, #0x74]
+ strb r5, [r0, r6]
+_020199A0:
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, #0x8
+ blt _0201994C
+ ldr r0, [sp, #0x260]
+ cmp r0, #0x0
+ beq _020199BA
+ ldr r0, [sp, #0x264]
+ add r0, r0, #0x2
+ str r0, [sp, #0x264]
+ b _020199C0
+_020199BA:
+ ldr r0, [sp, #0x264]
+ add r0, r0, #0x1
+ str r0, [sp, #0x264]
+_020199C0:
+ ldr r0, [sp, #0x25c]
+ add r0, r0, #0x4
+ str r0, [sp, #0x25c]
+ ldr r0, [sp, #0x268]
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x4]
+ str r1, [sp, #0x268]
+ cmp r1, r0
+ blt _02019902
+_020199D2:
+ ldr r0, [sp, #0x0]
+ add r0, #0x20
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x54]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x98]
+ mov r0, #0x0
+ str r0, [sp, #0x254]
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ bgt _020199EE
+ bl FUN_0201A8BC
+_020199EE:
+ ldr r0, [sp, #0x5c]
+ mov r1, #0x7
+ add r0, #0x8
+ str r0, [sp, #0x5c]
+ ldr r0, [sp, #0x58]
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x94]
+_02019A00:
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x98]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0x5c]
+ str r0, [sp, #0x24c]
+ ldr r0, [sp, #0x254]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x250]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+ str r0, [sp, #0x294]
+ sub r0, #0x8
+ str r0, [sp, #0x294]
+ cmp r0, #0x0
+ ble _02019ABA
+ ble _02019ABA
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x48]
+ ldr r6, [sp, #0x94]
+ lsl r5, r0, #0x2
+ ldr r0, _02019B68 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x48]
+ str r6, [sp, #0x90]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019B68 ; =0x00003FE0
+ ldr r5, [sp, #0x94]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ add r4, r1, #0x0
+ str r5, [sp, #0x8c]
+ str r0, [sp, #0x88]
+_02019A58:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019B68 ; =0x00003FE0
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0x90]
+ str r5, [sp, #0x298]
+ add r0, r5, r0
+ ldr r5, [sp, #0x24c]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _02019AAC
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x29c]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x2a0]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x2a0]
+ and r6, r5
+ ldr r5, [sp, #0x29c]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x250]
+ cmp r0, #0x0
+ beq _02019AAC
+ ldr r6, [sp, #0x298]
+ ldr r0, [sp, #0x8c]
+ add r6, r6, r0
+ ldr r0, [sp, #0x88]
+ strb r5, [r0, r6]
+_02019AAC:
+ ldr r0, [sp, #0x294]
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, r0
+ blt _02019A58
+_02019ABA:
+ ldr r0, [sp, #0x250]
+ cmp r0, #0x0
+ beq _02019AC8
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x2
+ str r0, [sp, #0x48]
+ b _02019ACE
+_02019AC8:
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_02019ACE:
+ ldr r0, [sp, #0x0]
+ add r0, r0, #0x4
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x254]
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x4]
+ str r1, [sp, #0x254]
+ cmp r1, r0
+ blt _02019A00
+ add sp, #0x1fc
+ add sp, #0x118
+ pop {r4-r7, pc}
+_02019AE6:
+ ldr r0, [sp, #0x0]
+ mov r1, #0x7
+ str r0, [sp, #0x23c]
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x244]
+ mov r0, #0x0
+ str r0, [sp, #0x248]
+ ldr r0, [sp, #0x330]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xa8]
+ ldr r0, [sp, #0x58]
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x40]
+_02019B06:
+ ldr r0, [sp, #0x23c]
+ ldr r1, [sp, #0xa8]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0x5c]
+ str r0, [sp, #0x238]
+ ldr r0, [sp, #0x248]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x240]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+ cmp r0, #0x0
+ ble _02019BC2
+ ble _02019BC2
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x244]
+ ldr r6, [sp, #0x40]
+ lsl r5, r0, #0x2
+ ldr r0, _02019B68 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x244]
+ str r6, [sp, #0xa4]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019B68 ; =0x00003FE0
+ ldr r5, [sp, #0x40]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ add r4, r1, #0x0
+ str r5, [sp, #0xa0]
+ str r0, [sp, #0x9c]
+_02019B58:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019B68 ; =0x00003FE0
+ b _02019B6C
+ nop
_02019B68: .word 0x00003FE0
_02019B6C:
- .byte 0x1D, 0x40, 0x45, 0x19
- .byte 0x29, 0x98, 0xA9, 0x95, 0x28, 0x18, 0x8E, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40
- .byte 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xAA, 0x95, 0xC5, 0x5D
- .byte 0xAB, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xAB, 0x9E, 0x2E, 0x40, 0xAA, 0x9D, 0x35, 0x43, 0x2D, 0x06
- .byte 0x2D, 0x0E, 0xC5, 0x55, 0x90, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xA9, 0x9E, 0x28, 0x98, 0x36, 0x18
- .byte 0x27, 0x98, 0x85, 0x55, 0x02, 0x98, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42
- .byte 0xCA, 0xDB, 0x90, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x91, 0x98, 0x80, 0x1C, 0x91, 0x90, 0x02, 0xE0
- .byte 0x91, 0x98, 0x40, 0x1C, 0x91, 0x90, 0x8F, 0x98, 0x00, 0x1D, 0x8F, 0x90, 0x92, 0x98, 0x40, 0x1C
- .byte 0x92, 0x90, 0x08, 0x28, 0x8F, 0xDB, 0x00, 0x98, 0x00, 0x22, 0x40, 0x30, 0x00, 0x90, 0x12, 0x98
- .byte 0x01, 0x21, 0x08, 0x30, 0x12, 0x90, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x12, 0x98
- .byte 0x40, 0x1C, 0x12, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x00, 0x06
- .byte 0x00, 0x0E, 0x2E, 0x90, 0x00, 0x20, 0x08, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x01, 0xDC
- .byte 0x00, 0xF0, 0x4C, 0xFE, 0x00, 0x98, 0x2E, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x8C, 0x90, 0x08, 0x98
- .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x8D, 0x90, 0x02, 0x98, 0x00, 0x21
- .byte 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x12, 0x98, 0x10, 0x9E, 0x85, 0x00
- .byte 0xCD, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x12, 0x98, 0x2D, 0x96
- .byte 0x40, 0x1C, 0x86, 0x00, 0xC8, 0x48, 0x10, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40
- .byte 0x0C, 0x1C, 0x2C, 0x95, 0x2B, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19
- .byte 0xC1, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x2D, 0x98, 0xAC, 0x95, 0x28, 0x18, 0x8C, 0x9D, 0x2E, 0x1C
- .byte 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F
- .byte 0xB5, 0x40, 0xAD, 0x95, 0xC5, 0x5D, 0xAE, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xAE, 0x9E, 0x2E, 0x40
- .byte 0xAD, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x8D, 0x98, 0x00, 0x28, 0x04, 0xD0
- .byte 0xAC, 0x9E, 0x2C, 0x98, 0x36, 0x18, 0x2B, 0x98, 0x85, 0x55, 0x02, 0x98, 0x49, 0x1C, 0x24, 0x1D
- .byte 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x8D, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98
- .byte 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x00, 0x98, 0x01, 0x99
- .byte 0x00, 0x1D, 0x00, 0x90, 0x08, 0x98, 0x08, 0x39, 0x40, 0x1C, 0x08, 0x90, 0x88, 0x42, 0x91, 0xDB
- .byte 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD, 0x00, 0x98, 0x88, 0x90, 0x12, 0x98, 0x8A, 0x90, 0xCC, 0x98
- .byte 0x00, 0x06, 0x01, 0x0E, 0x00, 0x20, 0x8B, 0x90, 0x08, 0x06, 0x00, 0x0E, 0x0F, 0x90, 0x16, 0x98
- .byte 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0E, 0x90, 0x88, 0x98, 0x0F, 0x99, 0x00, 0x68
- .byte 0x17, 0x9A, 0x87, 0x90, 0x8B, 0x98, 0x0E, 0x9E, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06
- .byte 0x00, 0x0E, 0x89, 0x90, 0x10, 0x1C, 0x83, 0x00, 0x8A, 0x98, 0x00, 0x21, 0x85, 0x00, 0x8E, 0x48
- .byte 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x8A, 0x98, 0x31, 0x96, 0x40, 0x1C
- .byte 0x86, 0x00, 0x89, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0D, 0x93
- .byte 0x0C, 0x1C, 0x30, 0x95, 0x2F, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19
- .byte 0x81, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x31, 0x98, 0xAF, 0x95, 0x28, 0x18, 0x87, 0x9D, 0x2E, 0x1C
- .byte 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F
- .byte 0xB5, 0x40, 0xB0, 0x95, 0xC5, 0x5D, 0xB1, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xB1, 0x9E, 0x2E, 0x40
- .byte 0xB0, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x89, 0x98, 0x00, 0x28, 0x04, 0xD0
- .byte 0xAF, 0x9E, 0x30, 0x98, 0x36, 0x18, 0x2F, 0x98, 0x85, 0x55, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D
- .byte 0x52, 0x1C, 0x08, 0x29, 0xCF, 0xDB, 0x89, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x8A, 0x98, 0x80, 0x1C
- .byte 0x8A, 0x90, 0x02, 0xE0, 0x8A, 0x98, 0x40, 0x1C, 0x8A, 0x90, 0x88, 0x98, 0x00, 0x1D, 0x88, 0x90
- .byte 0x8B, 0x98, 0x40, 0x1C, 0x8B, 0x90, 0x08, 0x28, 0x97, 0xDB, 0x00, 0x98, 0x83, 0x90, 0x20, 0x30
- .byte 0x83, 0x90, 0x12, 0x98, 0x85, 0x90, 0x00, 0x20, 0x86, 0x90, 0x17, 0x98, 0x35, 0x90, 0x08, 0x30
- .byte 0x35, 0x90, 0x83, 0x98, 0x0F, 0x99, 0x00, 0x68, 0x35, 0x9A, 0x82, 0x90, 0x86, 0x98, 0x01, 0x41
- .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x84, 0x90, 0x02, 0x98, 0x00, 0x21, 0xB2, 0x90
- .byte 0x08, 0x38, 0xB2, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x85, 0x98
- .byte 0x0E, 0x9E, 0x85, 0x00, 0x50, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40
- .byte 0x85, 0x98, 0x34, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x4B, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43
- .byte 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x33, 0x95, 0x32, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40
- .byte 0x9E, 0x98, 0x40, 0x19, 0x44, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x34, 0x98, 0xB3, 0x95, 0x28, 0x18
- .byte 0x82, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0
- .byte 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xB4, 0x95, 0xC5, 0x5D, 0xB5, 0x95, 0xF0, 0x25, 0x35, 0x41
- .byte 0xB5, 0x9E, 0x2E, 0x40, 0xB4, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x84, 0x98
- .byte 0x00, 0x28, 0x04, 0xD0, 0xB3, 0x9E, 0x33, 0x98, 0x36, 0x18, 0x32, 0x98, 0x85, 0x55, 0xB2, 0x98
- .byte 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x84, 0x98, 0x00, 0x28
- .byte 0x03, 0xD0, 0x85, 0x98, 0x80, 0x1C, 0x85, 0x90, 0x02, 0xE0, 0x85, 0x98, 0x40, 0x1C, 0x85, 0x90
- .byte 0x83, 0x98, 0x00, 0x1D, 0x83, 0x90, 0x86, 0x98, 0x40, 0x1C, 0x86, 0x90, 0x08, 0x28, 0x90, 0xDB
- .byte 0x00, 0x98, 0x00, 0x22, 0x7F, 0x90, 0x40, 0x30, 0x7F, 0x90, 0x12, 0x98, 0x01, 0x21, 0x08, 0x30
- .byte 0x12, 0x90, 0x81, 0x90, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x81, 0x98, 0x40, 0x1C
- .byte 0x81, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x14, 0x90, 0x00, 0x06
- .byte 0x00, 0x0E, 0x39, 0x90, 0x00, 0x20, 0x07, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x6B, 0xDD
- .byte 0x7F, 0x98, 0x39, 0x99, 0x00, 0x68, 0x0E, 0x9E, 0x7E, 0x90, 0x07, 0x98, 0x17, 0x9A, 0x01, 0x41
- .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x80, 0x90, 0x81, 0x98, 0x00, 0x21, 0x85, 0x00
- .byte 0x0D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x81, 0x98, 0x38, 0x96
- .byte 0x40, 0x1C, 0x86, 0x00, 0x08, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40
- .byte 0x0D, 0x9B, 0x0C, 0x1C, 0x37, 0x95, 0x36, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98
- .byte 0x40, 0x19, 0x01, 0x4D, 0x02, 0xE0, 0xC0, 0x46, 0xE0, 0x3F, 0x00, 0x00, 0x1D, 0x40, 0x45, 0x19
- .byte 0x38, 0x98, 0xB6, 0x95, 0x28, 0x18, 0x7E, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40
- .byte 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xB7, 0x95, 0xC5, 0x5D
- .byte 0xB8, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xB8, 0x9E, 0x2E, 0x40, 0xB7, 0x9D, 0x35, 0x43, 0x2D, 0x06
- .byte 0x2D, 0x0E, 0xC5, 0x55, 0x80, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xB6, 0x9E, 0x37, 0x98, 0x36, 0x18
- .byte 0x36, 0x98, 0x85, 0x55, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x08, 0x29, 0xCB, 0xDB
- .byte 0x80, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x81, 0x98, 0x80, 0x1C, 0x81, 0x90, 0x02, 0xE0, 0x81, 0x98
- .byte 0x40, 0x1C, 0x81, 0x90, 0x7F, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x7F, 0x90, 0x07, 0x98, 0x08, 0x39
- .byte 0x40, 0x1C, 0x07, 0x90, 0x88, 0x42, 0x93, 0xDB, 0x00, 0x98, 0x00, 0x22, 0x60, 0x30, 0x00, 0x90
- .byte 0x01, 0x21, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90
- .byte 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0x14, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x3D, 0x90, 0x00, 0x20
- .byte 0x06, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x01, 0xDC, 0x00, 0xF0, 0x3F, 0xFC, 0x17, 0x98
- .byte 0x08, 0x30, 0x17, 0x90, 0x00, 0x98, 0x3D, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x7C, 0x90, 0x06, 0x98
- .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x7D, 0x90, 0x02, 0x98, 0x00, 0x21
- .byte 0xB9, 0x90, 0x08, 0x38, 0xB9, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00
- .byte 0x12, 0x98, 0x0E, 0x9E, 0x85, 0x00, 0xCC, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20
- .byte 0x07, 0x40, 0x12, 0x98, 0x3C, 0x96, 0x40, 0x1C, 0x86, 0x00, 0xC7, 0x48, 0x0E, 0x9D, 0x30, 0x40
- .byte 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x3B, 0x95, 0x3A, 0x90, 0x55, 0x10, 0x03, 0x20
- .byte 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19, 0xC0, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x3C, 0x98, 0xBA, 0x95
- .byte 0x28, 0x18, 0x7C, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E
- .byte 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xBB, 0x95, 0xC5, 0x5D, 0xAC, 0x46, 0xF0, 0x25
- .byte 0x35, 0x41, 0x66, 0x46, 0x2E, 0x40, 0xBB, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55
- .byte 0x7D, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xBA, 0x9E, 0x3B, 0x98, 0x36, 0x18, 0x3A, 0x98, 0x85, 0x55
- .byte 0xB9, 0x98, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x7D, 0x98
- .byte 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C
- .byte 0x12, 0x90, 0x00, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x00, 0x90, 0x06, 0x98, 0x08, 0x39, 0x40, 0x1C
- .byte 0x06, 0x90, 0x88, 0x42, 0x8E, 0xDB, 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0xa4]
+ str r5, [sp, #0x2a4]
+ add r0, r5, r0
+ ldr r5, [sp, #0x238]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _02019BB4
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x2a8]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x2ac]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x2ac]
+ and r6, r5
+ ldr r5, [sp, #0x2a8]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x240]
+ cmp r0, #0x0
+ beq _02019BB4
+ ldr r6, [sp, #0x2a4]
+ ldr r0, [sp, #0xa0]
+ add r6, r6, r0
+ ldr r0, [sp, #0x9c]
+ strb r5, [r0, r6]
+_02019BB4:
+ ldr r0, [sp, #0x8]
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, r0
+ blt _02019B58
+_02019BC2:
+ ldr r0, [sp, #0x240]
+ cmp r0, #0x0
+ beq _02019BD0
+ ldr r0, [sp, #0x244]
+ add r0, r0, #0x2
+ str r0, [sp, #0x244]
+ b _02019BD6
+_02019BD0:
+ ldr r0, [sp, #0x244]
+ add r0, r0, #0x1
+ str r0, [sp, #0x244]
+_02019BD6:
+ ldr r0, [sp, #0x23c]
+ add r0, r0, #0x4
+ str r0, [sp, #0x23c]
+ ldr r0, [sp, #0x248]
+ add r0, r0, #0x1
+ str r0, [sp, #0x248]
+ cmp r0, #0x8
+ blt _02019B06
+ ldr r0, [sp, #0x0]
+ mov r2, #0x0
+ add r0, #0x40
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x48]
+ mov r1, #0x1
+ add r0, #0x8
+ str r0, [sp, #0x48]
+_02019BF6:
+ ldr r0, [sp, #0x330]
+ asr r0, r2
+ tst r0, r1
+ beq _02019C04
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_02019C04:
+ add r2, r2, #0x1
+ cmp r2, #0x8
+ blt _02019BF6
+ ldr r0, [sp, #0x330]
+ asr r0, r0, #0x8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xb8]
+ mov r0, #0x0
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x4]
+ sub r0, #0x8
+ cmp r0, #0x0
+ bgt _02019C24
+ bl FUN_0201A8BC
+_02019C24:
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0xb8]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0x5c]
+ str r0, [sp, #0x230]
+ ldr r0, [sp, #0x20]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x234]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+ cmp r0, #0x0
+ ble _02019CD8
+ ble _02019CD8
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x48]
+ ldr r6, [sp, #0x40]
+ lsl r5, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x48]
+ str r6, [sp, #0xb4]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ ldr r5, [sp, #0x40]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ add r4, r1, #0x0
+ str r5, [sp, #0xb0]
+ str r0, [sp, #0xac]
+_02019C76:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019F88 ; =0x00003FE0
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0xb4]
+ str r5, [sp, #0x2b0]
+ add r0, r5, r0
+ ldr r5, [sp, #0x230]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _02019CCA
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x2b4]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x2b8]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x2b8]
+ and r6, r5
+ ldr r5, [sp, #0x2b4]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x234]
+ cmp r0, #0x0
+ beq _02019CCA
+ ldr r6, [sp, #0x2b0]
+ ldr r0, [sp, #0xb0]
+ add r6, r6, r0
+ ldr r0, [sp, #0xac]
+ strb r5, [r0, r6]
+_02019CCA:
+ ldr r0, [sp, #0x8]
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, r0
+ blt _02019C76
+_02019CD8:
+ ldr r0, [sp, #0x234]
+ cmp r0, #0x0
+ beq _02019CE6
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x2
+ str r0, [sp, #0x48]
+ b _02019CEC
+_02019CE6:
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_02019CEC:
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r0, r0, #0x4
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ sub r1, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x20]
+ cmp r0, r1
+ blt _02019C24
+ add sp, #0x1fc
+ add sp, #0x118
+ pop {r4-r7, pc}
+_02019D06:
+ ldr r0, [sp, #0x0]
+ str r0, [sp, #0x220]
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x228]
+ ldr r0, [sp, #0x330]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r0, #0x0
+ str r0, [sp, #0x22c]
+ lsl r0, r1, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x58]
+ mov r1, #0x7
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x38]
+_02019D2A:
+ ldr r0, [sp, #0x220]
+ ldr r1, [sp, #0x3c]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0x5c]
+ str r0, [sp, #0x21c]
+ ldr r0, [sp, #0x22c]
+ ldr r6, [sp, #0x38]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x224]
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x228]
+ mov r1, #0x0
+ lsl r5, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x228]
+ str r6, [sp, #0xc4]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ ldr r5, [sp, #0x38]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ str r3, [sp, #0x34]
+ add r4, r1, #0x0
+ str r5, [sp, #0xc0]
+ str r0, [sp, #0xbc]
+_02019D76:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019F88 ; =0x00003FE0
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0xc4]
+ str r5, [sp, #0x2bc]
+ add r0, r5, r0
+ ldr r5, [sp, #0x21c]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _02019DCA
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x2c0]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x2c4]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x2c4]
+ and r6, r5
+ ldr r5, [sp, #0x2c0]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x224]
+ cmp r0, #0x0
+ beq _02019DCA
+ ldr r6, [sp, #0x2bc]
+ ldr r0, [sp, #0xc0]
+ add r6, r6, r0
+ ldr r0, [sp, #0xbc]
+ strb r5, [r0, r6]
+_02019DCA:
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, #0x8
+ blt _02019D76
+ ldr r0, [sp, #0x224]
+ cmp r0, #0x0
+ beq _02019DE4
+ ldr r0, [sp, #0x228]
+ add r0, r0, #0x2
+ str r0, [sp, #0x228]
+ b _02019DEA
+_02019DE4:
+ ldr r0, [sp, #0x228]
+ add r0, r0, #0x1
+ str r0, [sp, #0x228]
+_02019DEA:
+ ldr r0, [sp, #0x220]
+ add r0, r0, #0x4
+ str r0, [sp, #0x220]
+ ldr r0, [sp, #0x22c]
+ add r0, r0, #0x1
+ str r0, [sp, #0x22c]
+ cmp r0, #0x8
+ blt _02019D2A
+ ldr r0, [sp, #0x0]
+ str r0, [sp, #0x20c]
+ add r0, #0x20
+ str r0, [sp, #0x20c]
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x214]
+ mov r0, #0x0
+ str r0, [sp, #0x218]
+ ldr r0, [sp, #0x5c]
+ str r0, [sp, #0xd4]
+ add r0, #0x8
+ str r0, [sp, #0xd4]
+_02019E12:
+ ldr r0, [sp, #0x20c]
+ ldr r1, [sp, #0x3c]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0xd4]
+ str r0, [sp, #0x208]
+ ldr r0, [sp, #0x218]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x210]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+ str r0, [sp, #0x2c8]
+ sub r0, #0x8
+ str r0, [sp, #0x2c8]
+ cmp r0, #0x0
+ ble _02019ECC
+ ble _02019ECC
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x214]
+ ldr r6, [sp, #0x38]
+ lsl r5, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x214]
+ str r6, [sp, #0xd0]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ ldr r5, [sp, #0x38]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ add r4, r1, #0x0
+ str r5, [sp, #0xcc]
+ str r0, [sp, #0xc8]
+_02019E6A:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019F88 ; =0x00003FE0
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0xd0]
+ str r5, [sp, #0x2cc]
+ add r0, r5, r0
+ ldr r5, [sp, #0x208]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _02019EBE
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x2d0]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x2d4]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x2d4]
+ and r6, r5
+ ldr r5, [sp, #0x2d0]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x210]
+ cmp r0, #0x0
+ beq _02019EBE
+ ldr r6, [sp, #0x2cc]
+ ldr r0, [sp, #0xcc]
+ add r6, r6, r0
+ ldr r0, [sp, #0xc8]
+ strb r5, [r0, r6]
+_02019EBE:
+ ldr r0, [sp, #0x2c8]
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, r0
+ blt _02019E6A
+_02019ECC:
+ ldr r0, [sp, #0x210]
+ cmp r0, #0x0
+ beq _02019EDA
+ ldr r0, [sp, #0x214]
+ add r0, r0, #0x2
+ str r0, [sp, #0x214]
+ b _02019EE0
+_02019EDA:
+ ldr r0, [sp, #0x214]
+ add r0, r0, #0x1
+ str r0, [sp, #0x214]
+_02019EE0:
+ ldr r0, [sp, #0x20c]
+ add r0, r0, #0x4
+ str r0, [sp, #0x20c]
+ ldr r0, [sp, #0x218]
+ add r0, r0, #0x1
+ str r0, [sp, #0x218]
+ cmp r0, #0x8
+ blt _02019E12
+ ldr r0, [sp, #0x0]
+ mov r2, #0x0
+ str r0, [sp, #0x1fc]
+ add r0, #0x40
+ str r0, [sp, #0x1fc]
+ ldr r0, [sp, #0x48]
+ mov r1, #0x1
+ add r0, #0x8
+ str r0, [sp, #0x48]
+ str r0, [sp, #0x204]
+_02019F04:
+ ldr r0, [sp, #0x330]
+ asr r0, r2
+ tst r0, r1
+ beq _02019F12
+ ldr r0, [sp, #0x204]
+ add r0, r0, #0x1
+ str r0, [sp, #0x204]
+_02019F12:
+ add r2, r2, #0x1
+ cmp r2, #0x8
+ blt _02019F04
+ ldr r0, [sp, #0x330]
+ asr r0, r0, #0x8
+ str r0, [sp, #0x50]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xe4]
+ mov r0, #0x0
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x4]
+ sub r0, #0x8
+ cmp r0, #0x0
+ ble _0201A008
+_02019F30:
+ ldr r0, [sp, #0x1fc]
+ ldr r1, [sp, #0xe4]
+ ldr r0, [r0, #0x0]
+ ldr r6, [sp, #0x38]
+ str r0, [sp, #0x1f8]
+ ldr r0, [sp, #0x1c]
+ ldr r2, [sp, #0x5c]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x200]
+ ldr r0, [sp, #0x204]
+ mov r1, #0x0
+ lsl r5, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x204]
+ str r6, [sp, #0xe0]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _02019F88 ; =0x00003FE0
+ ldr r5, [sp, #0x38]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ ldr r3, [sp, #0x34]
+ add r4, r1, #0x0
+ str r5, [sp, #0xdc]
+ str r0, [sp, #0xd8]
+_02019F78:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _02019F88 ; =0x00003FE0
+ b _02019F8C
+ nop
+_02019F88: .word 0x00003FE0
+_02019F8C:
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0xe0]
+ str r5, [sp, #0x2d8]
+ add r0, r5, r0
+ ldr r5, [sp, #0x1f8]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _02019FD4
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x2dc]
+ ldrb r5, [r0, r7]
+ str r5, [sp, #0x2e0]
+ mov r5, #0xf0
+ asr r5, r6
+ ldr r6, [sp, #0x2e0]
+ and r6, r5
+ ldr r5, [sp, #0x2dc]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x200]
+ cmp r0, #0x0
+ beq _02019FD4
+ ldr r6, [sp, #0x2d8]
+ ldr r0, [sp, #0xdc]
+ add r6, r6, r0
+ ldr r0, [sp, #0xd8]
+ strb r5, [r0, r6]
+_02019FD4:
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, #0x8
+ blt _02019F78
+ ldr r0, [sp, #0x200]
+ cmp r0, #0x0
+ beq _02019FEE
+ ldr r0, [sp, #0x204]
+ add r0, r0, #0x2
+ str r0, [sp, #0x204]
+ b _02019FF4
+_02019FEE:
+ ldr r0, [sp, #0x204]
+ add r0, r0, #0x1
+ str r0, [sp, #0x204]
+_02019FF4:
+ ldr r0, [sp, #0x1fc]
+ ldr r1, [sp, #0x4]
+ add r0, r0, #0x4
+ str r0, [sp, #0x1fc]
+ ldr r0, [sp, #0x1c]
+ sub r1, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c]
+ cmp r0, r1
+ blt _02019F30
+_0201A008:
+ ldr r0, [sp, #0x0]
+ mov r2, #0x0
+ add r0, #0x60
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+_0201A012:
+ ldr r0, [sp, #0x330]
+ asr r0, r2
+ tst r0, r1
+ beq _0201A020
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_0201A020:
+ add r2, r2, #0x1
+ cmp r2, #0x8
+ blt _0201A012
+ ldr r0, [sp, #0x50]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xf4]
+ mov r0, #0x0
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x4]
+ sub r0, #0x8
+ cmp r0, #0x0
+ bgt _0201A03E
+ bl FUN_0201A8BC
+_0201A03E:
+ ldr r0, [sp, #0x5c]
+ add r0, #0x8
+ str r0, [sp, #0x5c]
+_0201A044:
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0xf4]
+ ldr r0, [r0, #0x0]
+ ldr r2, [sp, #0x5c]
+ str r0, [sp, #0x1f0]
+ ldr r0, [sp, #0x18]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1f4]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+ str r0, [sp, #0x2e4]
+ sub r0, #0x8
+ str r0, [sp, #0x2e4]
+ cmp r0, #0x0
+ ble _0201A0FE
+ ble _0201A0FE
+ add r0, r2, #0x0
+ lsl r3, r0, #0x2
+ ldr r0, [sp, #0x48]
+ ldr r6, [sp, #0x38]
+ lsl r5, r0, #0x2
+ ldr r0, _0201A3A8 ; =0x00003FE0
+ add r7, r5, #0x0
+ and r0, r5
+ mul r6, r0
+ mov r0, #0x1c
+ and r7, r0
+ ldr r0, [sp, #0x48]
+ str r6, [sp, #0xf0]
+ add r0, r0, #0x1
+ lsl r6, r0, #0x2
+ ldr r0, _0201A3A8 ; =0x00003FE0
+ ldr r5, [sp, #0x38]
+ and r0, r6
+ mul r5, r0
+ mov r0, #0x1c
+ and r0, r6
+ add r4, r1, #0x0
+ str r5, [sp, #0xec]
+ str r0, [sp, #0xe8]
+_0201A09C:
+ asr r5, r2, #0x1
+ mov r0, #0x3
+ and r5, r0
+ ldr r0, [sp, #0x278]
+ add r0, r0, r5
+ ldr r5, _0201A3A8 ; =0x00003FE0
+ and r5, r3
+ add r5, r0, r5
+ ldr r0, [sp, #0xf0]
+ str r5, [sp, #0x2e8]
+ add r0, r5, r0
+ ldr r5, [sp, #0x1f0]
+ add r6, r5, #0x0
+ lsr r6, r4
+ mov r5, #0xf
+ and r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ beq _0201A0F0
+ lsl r6, r2, #0x1f
+ lsr r6, r6, #0x1d
+ lsl r5, r6
+ str r5, [sp, #0x2ec]
+ ldrb r5, [r0, r7]
+ mov r12, r5
+ mov r5, #0xf0
+ asr r5, r6
+ mov r6, r12
+ and r6, r5
+ ldr r5, [sp, #0x2ec]
+ orr r5, r6
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x18
+ strb r5, [r0, r7]
+ ldr r0, [sp, #0x1f4]
+ cmp r0, #0x0
+ beq _0201A0F0
+ ldr r6, [sp, #0x2e8]
+ ldr r0, [sp, #0xec]
+ add r6, r6, r0
+ ldr r0, [sp, #0xe8]
+ strb r5, [r0, r6]
+_0201A0F0:
+ ldr r0, [sp, #0x2e4]
+ add r1, r1, #0x1
+ add r4, r4, #0x4
+ add r3, r3, #0x4
+ add r2, r2, #0x1
+ cmp r1, r0
+ blt _0201A09C
+_0201A0FE:
+ ldr r0, [sp, #0x1f4]
+ cmp r0, #0x0
+ beq _0201A10C
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x2
+ str r0, [sp, #0x48]
+ b _0201A112
+_0201A10C:
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_0201A112:
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r0, r0, #0x4
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x18]
+ sub r1, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x18]
+ cmp r0, r1
+ blt _0201A044
+ add sp, #0x1fc
+ add sp, #0x118
+ pop {r4-r7, pc}
thumb_func_start FUN_0201A12C
FUN_0201A12C: ; 0x0201A12C
@@ -48968,10 +54180,12 @@ FUN_0201A12C: ; 0x0201A12C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0x3
- lsl r0, r7, #0x9
- lsl r4, r3, #0x10
+_0201A150: ; jump table (using 16-bit offset)
+ .short _0201A158 - _0201A150 - 2; case 0
+ .short _0201A220 - _0201A150 - 2; case 1
+ .short _0201A3CA - _0201A150 - 2; case 2
+ .short _0201A56E - _0201A150 - 2; case 3
+_0201A158:
ldr r0, [sp, #0x330]
ldr r7, [sp, #0x1ec]
lsl r0, r0, #0x18
@@ -49080,114 +54294,904 @@ _0201A210:
_0201A21E:
b _0201A8B6
_0201A220:
- .byte 0x12, 0x98, 0x7B, 0x9F, 0x78, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x13, 0x90, 0x00, 0x06
- .byte 0x00, 0x0E, 0x49, 0x90, 0x00, 0x20, 0x79, 0x90, 0x01, 0x98, 0x00, 0x28, 0x53, 0xDD, 0x16, 0x98
- .byte 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x48, 0x90, 0x49, 0x99, 0x79, 0x98, 0x17, 0x9D
- .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xC3, 0x90, 0x28, 0x1C, 0xC6, 0x00
- .byte 0x78, 0x98, 0x48, 0x9A, 0xC1, 0x00, 0x51, 0x48, 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C
- .byte 0x18, 0x40, 0x46, 0x90, 0x78, 0x98, 0x47, 0x92, 0x40, 0x1C, 0xC1, 0x00, 0x4B, 0x48, 0x48, 0x9A
- .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x00, 0x24, 0x45, 0x92, 0x44, 0x90, 0x07, 0x20
- .byte 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x44, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x47, 0x98
- .byte 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x46, 0x98, 0x11, 0x54, 0xC3, 0x98, 0x00, 0x28
- .byte 0x03, 0xD0, 0x45, 0x98, 0x1A, 0x18, 0x44, 0x98, 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C
- .byte 0x08, 0x2C, 0xE4, 0xDB, 0xC3, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x78, 0x98, 0x80, 0x1C, 0x78, 0x90
- .byte 0x02, 0xE0, 0x78, 0x98, 0x40, 0x1C, 0x78, 0x90, 0x79, 0x98, 0x08, 0x37, 0x41, 0x1C, 0x01, 0x98
- .byte 0x79, 0x91, 0x81, 0x42, 0xB1, 0xDB, 0x7B, 0x98, 0xC2, 0x90, 0x40, 0x30, 0xC2, 0x90, 0x13, 0x98
- .byte 0x00, 0x06, 0x00, 0x0E, 0x4F, 0x90, 0x00, 0x20, 0x77, 0x90, 0x01, 0x98, 0x00, 0x28, 0x63, 0xDD
- .byte 0x17, 0x98, 0x07, 0x21, 0x08, 0x30, 0x17, 0x90, 0x16, 0x98, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10
- .byte 0x4E, 0x90, 0x4F, 0x99, 0x77, 0x98, 0x02, 0x9F, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06
- .byte 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x76, 0x90, 0x17, 0x9D, 0x00, 0x2F, 0x34, 0xDD, 0x33, 0xDD
- .byte 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x4E, 0x9A, 0xC1, 0x00, 0x1C, 0x48, 0x38, 0x23, 0x08, 0x40
- .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x4C, 0x90, 0x12, 0x98, 0x4D, 0x92, 0x40, 0x1C, 0xC1, 0x00
- .byte 0x16, 0x48, 0x4E, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x4B, 0x92, 0x4A, 0x90
- .byte 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x10, 0x48, 0x30, 0x40, 0x0B, 0x18
- .byte 0x4D, 0x98, 0x1A, 0x18, 0xC2, 0x98, 0x01, 0x5D, 0x00, 0x29, 0x08, 0xD0, 0x4C, 0x98, 0x11, 0x54
- .byte 0x76, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x4B, 0x98, 0x1A, 0x18, 0x4A, 0x98, 0x81, 0x54, 0x64, 0x1C
- .byte 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x76, 0x98, 0x00, 0x28, 0x08, 0xD0, 0x12, 0x98
- .byte 0x80, 0x1C, 0x12, 0x90, 0x07, 0xE0, 0xC0, 0x46, 0xE0, 0x3F, 0x00, 0x00
+ ldr r0, [sp, #0x48]
+ ldr r7, [sp, #0x1ec]
+ str r0, [sp, #0x1e0]
+ ldr r0, [sp, #0x330]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x124]
+ mov r0, #0x0
+ str r0, [sp, #0x1e4]
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ ble _0201A2E6
+ ldr r0, [sp, #0x58]
+ mov r1, #0x7
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x120]
+_0201A24A:
+ ldr r1, [sp, #0x124]
+ ldr r0, [sp, #0x1e4]
+ ldr r5, [sp, #0x5c]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x30c]
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x1e0]
+ ldr r2, [sp, #0x120]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A3AC ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x118]
+ ldr r0, [sp, #0x1e0]
+ str r2, [sp, #0x11c]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A3AC ; =0x00007FC0
+ ldr r2, [sp, #0x120]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ mov r4, #0x0
+ str r2, [sp, #0x114]
+ str r0, [sp, #0x110]
+_0201A28E:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A3AC ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x11c]
+ ldrb r1, [r7, r4]
+ add r2, r3, r0
+ cmp r1, #0x0
+ beq _0201A2BA
+ ldr r0, [sp, #0x118]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x30c]
+ cmp r0, #0x0
+ beq _0201A2BA
+ ldr r0, [sp, #0x114]
+ add r2, r3, r0
+ ldr r0, [sp, #0x110]
+ strb r1, [r0, r2]
+_0201A2BA:
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, #0x8
+ blt _0201A28E
+ ldr r0, [sp, #0x30c]
+ cmp r0, #0x0
+ beq _0201A2D2
+ ldr r0, [sp, #0x1e0]
+ add r0, r0, #0x2
+ str r0, [sp, #0x1e0]
+ b _0201A2D8
+_0201A2D2:
+ ldr r0, [sp, #0x1e0]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1e0]
+_0201A2D8:
+ ldr r0, [sp, #0x1e4]
+ add r7, #0x8
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x4]
+ str r1, [sp, #0x1e4]
+ cmp r1, r0
+ blt _0201A24A
+_0201A2E6:
+ ldr r0, [sp, #0x1ec]
+ str r0, [sp, #0x308]
+ add r0, #0x40
+ str r0, [sp, #0x308]
+ ldr r0, [sp, #0x4c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x13c]
+ mov r0, #0x0
+ str r0, [sp, #0x1dc]
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ ble _0201A3C8
+ ldr r0, [sp, #0x5c]
+ mov r1, #0x7
+ add r0, #0x8
+ str r0, [sp, #0x5c]
+ ldr r0, [sp, #0x58]
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x138]
+_0201A312:
+ ldr r1, [sp, #0x13c]
+ ldr r0, [sp, #0x1dc]
+ ldr r7, [sp, #0x8]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ sub r7, #0x8
+ mov r4, #0x0
+ str r0, [sp, #0x1d8]
+ ldr r5, [sp, #0x5c]
+ cmp r7, #0x0
+ ble _0201A398
+ ble _0201A398
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x48]
+ ldr r2, [sp, #0x138]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A3AC ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x130]
+ ldr r0, [sp, #0x48]
+ str r2, [sp, #0x134]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A3AC ; =0x00007FC0
+ ldr r2, [sp, #0x138]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r2, [sp, #0x12c]
+ str r0, [sp, #0x128]
+_0201A360:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A3AC ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x134]
+ add r2, r3, r0
+ ldr r0, [sp, #0x308]
+ ldrb r1, [r0, r4]
+ cmp r1, #0x0
+ beq _0201A38E
+ ldr r0, [sp, #0x130]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x1d8]
+ cmp r0, #0x0
+ beq _0201A38E
+ ldr r0, [sp, #0x12c]
+ add r2, r3, r0
+ ldr r0, [sp, #0x128]
+ strb r1, [r0, r2]
+_0201A38E:
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, r7
+ blt _0201A360
+_0201A398:
+ ldr r0, [sp, #0x1d8]
+ cmp r0, #0x0
+ beq _0201A3B0
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x2
+ str r0, [sp, #0x48]
+ b _0201A3B6
+ nop
+_0201A3A8: .word 0x00003FE0
_0201A3AC: .word 0x00007FC0
_0201A3B0:
- .byte 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0xC2, 0x98, 0x08, 0x30, 0xC2, 0x90, 0x77, 0x98, 0x41, 0x1C
- .byte 0x01, 0x98, 0x77, 0x91, 0x81, 0x42, 0xA4, 0xDB, 0x75, 0xE2, 0x12, 0x98, 0x07, 0x21, 0x74, 0x90
- .byte 0x00, 0x20, 0x75, 0x90, 0xCC, 0x98, 0x7B, 0x9F, 0x00, 0x06, 0x00, 0x0E, 0x54, 0x90, 0x16, 0x98
- .byte 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0C, 0x90, 0x54, 0x99, 0x75, 0x98, 0x00, 0x24, 0x01, 0x41
- .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xC1, 0x90, 0x02, 0x98, 0x17, 0x9D, 0x00, 0x28
- .byte 0x34, 0xDD, 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x74, 0x98, 0x0C, 0x9A, 0xC1, 0x00, 0xCE, 0x48
- .byte 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x52, 0x90, 0x74, 0x98, 0x53, 0x92
- .byte 0x40, 0x1C, 0xC1, 0x00, 0xC8, 0x48, 0x0C, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40
- .byte 0x51, 0x92, 0x50, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0xC2, 0x48
- .byte 0x30, 0x40, 0x0B, 0x18, 0x53, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x52, 0x98
- .byte 0x11, 0x54, 0xC1, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x51, 0x98, 0x1A, 0x18, 0x50, 0x98, 0x81, 0x54
- .byte 0x02, 0x98, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x84, 0x42, 0xE3, 0xDB, 0xC1, 0x98, 0x00, 0x28
- .byte 0x03, 0xD0, 0x74, 0x98, 0x80, 0x1C, 0x74, 0x90, 0x02, 0xE0, 0x74, 0x98, 0x40, 0x1C, 0x74, 0x90
- .byte 0x75, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x75, 0x90, 0x08, 0x28, 0xAD, 0xDB, 0x12, 0x98, 0x7B, 0x9F
- .byte 0x08, 0x30, 0x12, 0x90, 0x80, 0x37, 0x00, 0x20, 0x01, 0x22, 0xCC, 0x99, 0x01, 0x41, 0x11, 0x42
- .byte 0x02, 0xD0, 0x12, 0x99, 0x49, 0x1C, 0x12, 0x91, 0x40, 0x1C, 0x08, 0x28, 0xF5, 0xDB, 0xCC, 0x98
- .byte 0x00, 0x12, 0x00, 0x06, 0x00, 0x0E, 0x59, 0x90, 0x00, 0x20, 0x05, 0x90, 0x01, 0x98, 0x08, 0x38
- .byte 0x00, 0x28, 0x53, 0xDD, 0x59, 0x99, 0x05, 0x98, 0x00, 0x24, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40
- .byte 0x00, 0x06, 0x00, 0x0E, 0xC0, 0x90, 0x02, 0x98, 0x17, 0x9D, 0x00, 0x28, 0x34, 0xDD, 0x33, 0xDD
- .byte 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x0C, 0x9A, 0xC1, 0x00, 0x97, 0x48, 0x38, 0x23, 0x08, 0x40
- .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x57, 0x90, 0x12, 0x98, 0x58, 0x92, 0x40, 0x1C, 0xC1, 0x00
- .byte 0x91, 0x48, 0x0C, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x56, 0x92, 0x55, 0x90
- .byte 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x8B, 0x48, 0x30, 0x40, 0x0B, 0x18
- .byte 0x58, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x57, 0x98, 0x11, 0x54, 0xC0, 0x98
- .byte 0x00, 0x28, 0x03, 0xD0, 0x56, 0x98, 0x1A, 0x18, 0x55, 0x98, 0x81, 0x54, 0x02, 0x98, 0x64, 0x1C
- .byte 0x08, 0x36, 0x6D, 0x1C, 0x84, 0x42, 0xE3, 0xDB, 0xC0, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98
- .byte 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x05, 0x98, 0x01, 0x99
- .byte 0x40, 0x1C, 0x08, 0x39, 0x08, 0x37, 0x05, 0x90, 0x88, 0x42, 0xAB, 0xDB, 0xA3, 0xE1, 0x12, 0x98
- .byte 0x7B, 0x9F, 0x72, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x01, 0x0E, 0x00, 0x20, 0x73, 0x90, 0x08, 0x06
- .byte 0x00, 0x0E, 0x0B, 0x90, 0x16, 0x98, 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0A, 0x90
- .byte 0x0B, 0x99, 0x73, 0x98, 0x17, 0x9D, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E
- .byte 0xBF, 0x90, 0x28, 0x1C, 0xC6, 0x00, 0x72, 0x98, 0x0A, 0x9A, 0xC1, 0x00, 0x66, 0x48, 0x38, 0x23
- .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x5C, 0x90, 0x72, 0x98, 0x5D, 0x92, 0x40, 0x1C
- .byte 0xC1, 0x00, 0x61, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x00, 0x24
- .byte 0x09, 0x96, 0x5B, 0x92, 0x5A, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18
- .byte 0x59, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x5D, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0
- .byte 0x5C, 0x98, 0x11, 0x54, 0xBF, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x5B, 0x98, 0x1A, 0x18, 0x5A, 0x98
- .byte 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x08, 0x2C, 0xE4, 0xDB, 0xBF, 0x98, 0x00, 0x28
- .byte 0x03, 0xD0, 0x72, 0x98, 0x80, 0x1C, 0x72, 0x90, 0x02, 0xE0, 0x72, 0x98, 0x40, 0x1C, 0x72, 0x90
- .byte 0x73, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x73, 0x90, 0x08, 0x28, 0xB1, 0xDB, 0x7B, 0x98, 0xBE, 0x90
- .byte 0x40, 0x30, 0xBE, 0x90, 0x12, 0x98, 0x70, 0x90, 0x00, 0x20, 0x71, 0x90, 0x17, 0x98, 0x62, 0x90
- .byte 0x08, 0x30, 0x62, 0x90, 0x0B, 0x99, 0x71, 0x98, 0x02, 0x9F, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40
- .byte 0x00, 0x06, 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x6F, 0x90, 0x62, 0x9D, 0x00, 0x2F, 0x34, 0xDD
- .byte 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x70, 0x98, 0x0A, 0x9A, 0xC1, 0x00, 0x36, 0x48, 0x38, 0x23
- .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x60, 0x90, 0x70, 0x98, 0x61, 0x92, 0x40, 0x1C
- .byte 0xC1, 0x00, 0x31, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x5F, 0x92
- .byte 0x5E, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x2A, 0x48, 0x30, 0x40
- .byte 0x0B, 0x18, 0x61, 0x98, 0x1A, 0x18, 0xBE, 0x98, 0x01, 0x5D, 0x00, 0x29, 0x08, 0xD0, 0x60, 0x98
- .byte 0x11, 0x54, 0x6F, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x5F, 0x98, 0x1A, 0x18, 0x5E, 0x98, 0x81, 0x54
- .byte 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x6F, 0x98, 0x00, 0x28, 0x03, 0xD0
- .byte 0x70, 0x98, 0x80, 0x1C, 0x70, 0x90, 0x02, 0xE0, 0x70, 0x98, 0x40, 0x1C, 0x70, 0x90, 0xBE, 0x98
- .byte 0x08, 0x30, 0xBE, 0x90, 0x71, 0x98, 0x40, 0x1C, 0x71, 0x90, 0x08, 0x28, 0xAA, 0xDB, 0x12, 0x98
- .byte 0x7B, 0x9F, 0x08, 0x30, 0x80, 0x37, 0x12, 0x90, 0x6E, 0x90, 0x00, 0x20, 0x01, 0x22, 0xCC, 0x99
- .byte 0x01, 0x41, 0x11, 0x42, 0x02, 0xD0, 0x6E, 0x99, 0x49, 0x1C, 0x6E, 0x91, 0x40, 0x1C, 0x08, 0x28
- .byte 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x11, 0x90, 0x00, 0x06, 0x00, 0x0E, 0x67, 0x90, 0x00, 0x20
- .byte 0x04, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x51, 0xDD, 0x67, 0x99, 0x04, 0x98, 0x0A, 0x9A
- .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xBD, 0x90, 0x6E, 0x98, 0x38, 0x23
- .byte 0xC1, 0x00, 0x01, 0x48, 0x02, 0xE0, 0xC0, 0x46, 0xC0, 0x7F, 0x00, 0x00, 0x17, 0x9D, 0x08, 0x40
- .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x65, 0x90, 0x6E, 0x98, 0x66, 0x92, 0x40, 0x1C, 0xC1, 0x00
- .byte 0x58, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x09, 0x9E, 0x00, 0x24
- .byte 0x64, 0x92, 0x63, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x51, 0x48
- .byte 0x30, 0x40, 0x0B, 0x18, 0x66, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x65, 0x98
- .byte 0x11, 0x54, 0xBD, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x64, 0x98, 0x1A, 0x18, 0x63, 0x98, 0x81, 0x54
- .byte 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x08, 0x2C, 0xE4, 0xDB, 0xBD, 0x98, 0x00, 0x28, 0x03, 0xD0
- .byte 0x6E, 0x98, 0x80, 0x1C, 0x6E, 0x90, 0x02, 0xE0, 0x6E, 0x98, 0x40, 0x1C, 0x6E, 0x90, 0x04, 0x98
- .byte 0x01, 0x99, 0x40, 0x1C, 0x08, 0x39, 0x08, 0x37, 0x04, 0x90, 0x88, 0x42, 0xAD, 0xDB, 0x7B, 0x98
- .byte 0x00, 0x22, 0xBC, 0x90, 0xC0, 0x30, 0xBC, 0x90, 0x01, 0x21, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42
- .byte 0x02, 0xD0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0x11, 0x98
- .byte 0x00, 0x06, 0x00, 0x0E, 0x6C, 0x90, 0x00, 0x20, 0x03, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28
- .byte 0x59, 0xDD, 0x17, 0x98, 0x08, 0x30, 0x17, 0x90, 0x6C, 0x99, 0x03, 0x98, 0x02, 0x9F, 0x01, 0x41
- .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x6D, 0x90, 0x17, 0x9D
- .byte 0x00, 0x2F, 0x34, 0xDD, 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x0A, 0x9A, 0xC1, 0x00
- .byte 0x24, 0x48, 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x6A, 0x90, 0x12, 0x98
- .byte 0x6B, 0x92, 0x40, 0x1C, 0xC1, 0x00, 0x1F, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C
- .byte 0x18, 0x40, 0x69, 0x92, 0x68, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18
- .byte 0x18, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x6B, 0x98, 0x1A, 0x18, 0xBC, 0x98, 0x01, 0x5D, 0x00, 0x29
- .byte 0x08, 0xD0, 0x6A, 0x98, 0x11, 0x54, 0x6D, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x69, 0x98, 0x1A, 0x18
- .byte 0x68, 0x98, 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x6D, 0x98
- .byte 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C
- .byte 0x12, 0x90, 0xBC, 0x98, 0x01, 0x99, 0x08, 0x30, 0xBC, 0x90, 0x03, 0x98, 0x08, 0x39, 0x40, 0x1C
- .byte 0x03, 0x90, 0x88, 0x42, 0xA8, 0xDB
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_0201A3B6:
+ ldr r0, [sp, #0x308]
+ add r0, #0x8
+ str r0, [sp, #0x308]
+ ldr r0, [sp, #0x1dc]
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x4]
+ str r1, [sp, #0x1dc]
+ cmp r1, r0
+ blt _0201A312
+_0201A3C8:
+ b _0201A8B6
+_0201A3CA:
+ ldr r0, [sp, #0x48]
+ mov r1, #0x7
+ str r0, [sp, #0x1d0]
+ mov r0, #0x0
+ str r0, [sp, #0x1d4]
+ ldr r0, [sp, #0x330]
+ ldr r7, [sp, #0x1ec]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x150]
+ ldr r0, [sp, #0x58]
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x30]
+_0201A3E8:
+ ldr r1, [sp, #0x150]
+ ldr r0, [sp, #0x1d4]
+ mov r4, #0x0
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x304]
+ ldr r0, [sp, #0x8]
+ ldr r5, [sp, #0x5c]
+ cmp r0, #0x0
+ ble _0201A46C
+ ble _0201A46C
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x1d0]
+ ldr r2, [sp, #0x30]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x148]
+ ldr r0, [sp, #0x1d0]
+ str r2, [sp, #0x14c]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ ldr r2, [sp, #0x30]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r2, [sp, #0x144]
+ str r0, [sp, #0x140]
+_0201A434:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A748 ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x14c]
+ ldrb r1, [r7, r4]
+ add r2, r3, r0
+ cmp r1, #0x0
+ beq _0201A460
+ ldr r0, [sp, #0x148]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x304]
+ cmp r0, #0x0
+ beq _0201A460
+ ldr r0, [sp, #0x144]
+ add r2, r3, r0
+ ldr r0, [sp, #0x140]
+ strb r1, [r0, r2]
+_0201A460:
+ ldr r0, [sp, #0x8]
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, r0
+ blt _0201A434
+_0201A46C:
+ ldr r0, [sp, #0x304]
+ cmp r0, #0x0
+ beq _0201A47A
+ ldr r0, [sp, #0x1d0]
+ add r0, r0, #0x2
+ str r0, [sp, #0x1d0]
+ b _0201A480
+_0201A47A:
+ ldr r0, [sp, #0x1d0]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1d0]
+_0201A480:
+ ldr r0, [sp, #0x1d4]
+ add r7, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x1d4]
+ cmp r0, #0x8
+ blt _0201A3E8
+ ldr r0, [sp, #0x48]
+ ldr r7, [sp, #0x1ec]
+ add r0, #0x8
+ str r0, [sp, #0x48]
+ add r7, #0x80
+ mov r0, #0x0
+ mov r2, #0x1
+_0201A49A:
+ ldr r1, [sp, #0x330]
+ asr r1, r0
+ tst r1, r2
+ beq _0201A4A8
+ ldr r1, [sp, #0x48]
+ add r1, r1, #0x1
+ str r1, [sp, #0x48]
+_0201A4A8:
+ add r0, r0, #0x1
+ cmp r0, #0x8
+ blt _0201A49A
+ ldr r0, [sp, #0x330]
+ asr r0, r0, #0x8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x164]
+ mov r0, #0x0
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x4]
+ sub r0, #0x8
+ cmp r0, #0x0
+ ble _0201A56C
+_0201A4C4:
+ ldr r1, [sp, #0x164]
+ ldr r0, [sp, #0x14]
+ mov r4, #0x0
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x300]
+ ldr r0, [sp, #0x8]
+ ldr r5, [sp, #0x5c]
+ cmp r0, #0x0
+ ble _0201A548
+ ble _0201A548
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x48]
+ ldr r2, [sp, #0x30]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x15c]
+ ldr r0, [sp, #0x48]
+ str r2, [sp, #0x160]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ ldr r2, [sp, #0x30]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r2, [sp, #0x158]
+ str r0, [sp, #0x154]
+_0201A510:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A748 ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x160]
+ ldrb r1, [r7, r4]
+ add r2, r3, r0
+ cmp r1, #0x0
+ beq _0201A53C
+ ldr r0, [sp, #0x15c]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x300]
+ cmp r0, #0x0
+ beq _0201A53C
+ ldr r0, [sp, #0x158]
+ add r2, r3, r0
+ ldr r0, [sp, #0x154]
+ strb r1, [r0, r2]
+_0201A53C:
+ ldr r0, [sp, #0x8]
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, r0
+ blt _0201A510
+_0201A548:
+ ldr r0, [sp, #0x300]
+ cmp r0, #0x0
+ beq _0201A556
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x2
+ str r0, [sp, #0x48]
+ b _0201A55C
+_0201A556:
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_0201A55C:
+ ldr r0, [sp, #0x14]
+ ldr r1, [sp, #0x4]
+ add r0, r0, #0x1
+ sub r1, #0x8
+ add r7, #0x8
+ str r0, [sp, #0x14]
+ cmp r0, r1
+ blt _0201A4C4
+_0201A56C:
+ b _0201A8B6
+_0201A56E:
+ ldr r0, [sp, #0x48]
+ ldr r7, [sp, #0x1ec]
+ str r0, [sp, #0x1c8]
+ ldr r0, [sp, #0x330]
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r0, #0x0
+ str r0, [sp, #0x1cc]
+ lsl r0, r1, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x58]
+ mov r1, #0x7
+ and r1, r0
+ add r0, r0, r1
+ asr r0, r0, #0x3
+ str r0, [sp, #0x28]
+_0201A590:
+ ldr r1, [sp, #0x2c]
+ ldr r0, [sp, #0x1cc]
+ ldr r5, [sp, #0x5c]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x2fc]
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x1c8]
+ ldr r2, [sp, #0x28]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x170]
+ ldr r0, [sp, #0x1c8]
+ str r2, [sp, #0x174]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ ldr r2, [sp, #0x28]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ mov r4, #0x0
+ str r6, [sp, #0x24]
+ str r2, [sp, #0x16c]
+ str r0, [sp, #0x168]
+_0201A5D6:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A748 ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x174]
+ ldrb r1, [r7, r4]
+ add r2, r3, r0
+ cmp r1, #0x0
+ beq _0201A602
+ ldr r0, [sp, #0x170]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x2fc]
+ cmp r0, #0x0
+ beq _0201A602
+ ldr r0, [sp, #0x16c]
+ add r2, r3, r0
+ ldr r0, [sp, #0x168]
+ strb r1, [r0, r2]
+_0201A602:
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, #0x8
+ blt _0201A5D6
+ ldr r0, [sp, #0x2fc]
+ cmp r0, #0x0
+ beq _0201A61A
+ ldr r0, [sp, #0x1c8]
+ add r0, r0, #0x2
+ str r0, [sp, #0x1c8]
+ b _0201A620
+_0201A61A:
+ ldr r0, [sp, #0x1c8]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c8]
+_0201A620:
+ ldr r0, [sp, #0x1cc]
+ add r7, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x1cc]
+ cmp r0, #0x8
+ blt _0201A590
+ ldr r0, [sp, #0x1ec]
+ str r0, [sp, #0x2f8]
+ add r0, #0x40
+ str r0, [sp, #0x2f8]
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x1c0]
+ mov r0, #0x0
+ str r0, [sp, #0x1c4]
+ ldr r0, [sp, #0x5c]
+ str r0, [sp, #0x188]
+ add r0, #0x8
+ str r0, [sp, #0x188]
+_0201A644:
+ ldr r1, [sp, #0x2c]
+ ldr r0, [sp, #0x1c4]
+ ldr r7, [sp, #0x8]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ sub r7, #0x8
+ mov r4, #0x0
+ str r0, [sp, #0x1bc]
+ ldr r5, [sp, #0x188]
+ cmp r7, #0x0
+ ble _0201A6CA
+ ble _0201A6CA
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x1c0]
+ ldr r2, [sp, #0x28]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x180]
+ ldr r0, [sp, #0x1c0]
+ str r2, [sp, #0x184]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ ldr r2, [sp, #0x28]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r2, [sp, #0x17c]
+ str r0, [sp, #0x178]
+_0201A692:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A748 ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x184]
+ add r2, r3, r0
+ ldr r0, [sp, #0x2f8]
+ ldrb r1, [r0, r4]
+ cmp r1, #0x0
+ beq _0201A6C0
+ ldr r0, [sp, #0x180]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x1bc]
+ cmp r0, #0x0
+ beq _0201A6C0
+ ldr r0, [sp, #0x17c]
+ add r2, r3, r0
+ ldr r0, [sp, #0x178]
+ strb r1, [r0, r2]
+_0201A6C0:
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, r7
+ blt _0201A692
+_0201A6CA:
+ ldr r0, [sp, #0x1bc]
+ cmp r0, #0x0
+ beq _0201A6D8
+ ldr r0, [sp, #0x1c0]
+ add r0, r0, #0x2
+ str r0, [sp, #0x1c0]
+ b _0201A6DE
+_0201A6D8:
+ ldr r0, [sp, #0x1c0]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c0]
+_0201A6DE:
+ ldr r0, [sp, #0x2f8]
+ add r0, #0x8
+ str r0, [sp, #0x2f8]
+ ldr r0, [sp, #0x1c4]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c4]
+ cmp r0, #0x8
+ blt _0201A644
+ ldr r0, [sp, #0x48]
+ ldr r7, [sp, #0x1ec]
+ add r0, #0x8
+ add r7, #0x80
+ str r0, [sp, #0x48]
+ str r0, [sp, #0x1b8]
+ mov r0, #0x0
+ mov r2, #0x1
+_0201A6FE:
+ ldr r1, [sp, #0x330]
+ asr r1, r0
+ tst r1, r2
+ beq _0201A70C
+ ldr r1, [sp, #0x1b8]
+ add r1, r1, #0x1
+ str r1, [sp, #0x1b8]
+_0201A70C:
+ add r0, r0, #0x1
+ cmp r0, #0x8
+ blt _0201A6FE
+ ldr r0, [sp, #0x330]
+ asr r0, r0, #0x8
+ str r0, [sp, #0x44]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x19c]
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x4]
+ sub r0, #0x8
+ cmp r0, #0x0
+ ble _0201A7CE
+_0201A72A:
+ ldr r1, [sp, #0x19c]
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0x28]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x2f4]
+ ldr r0, [sp, #0x1b8]
+ mov r3, #0x38
+ lsl r1, r0, #0x3
+ ldr r0, _0201A748 ; =0x00007FC0
+ b _0201A74C
+ nop
+_0201A748: .word 0x00007FC0
+_0201A74C:
+ ldr r5, [sp, #0x5c]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x194]
+ ldr r0, [sp, #0x1b8]
+ str r2, [sp, #0x198]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A8C4 ; =0x00007FC0
+ ldr r2, [sp, #0x28]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ ldr r6, [sp, #0x24]
+ mov r4, #0x0
+ str r2, [sp, #0x190]
+ str r0, [sp, #0x18c]
+_0201A774:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A8C4 ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x198]
+ ldrb r1, [r7, r4]
+ add r2, r3, r0
+ cmp r1, #0x0
+ beq _0201A7A0
+ ldr r0, [sp, #0x194]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x2f4]
+ cmp r0, #0x0
+ beq _0201A7A0
+ ldr r0, [sp, #0x190]
+ add r2, r3, r0
+ ldr r0, [sp, #0x18c]
+ strb r1, [r0, r2]
+_0201A7A0:
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, #0x8
+ blt _0201A774
+ ldr r0, [sp, #0x2f4]
+ cmp r0, #0x0
+ beq _0201A7B8
+ ldr r0, [sp, #0x1b8]
+ add r0, r0, #0x2
+ str r0, [sp, #0x1b8]
+ b _0201A7BE
+_0201A7B8:
+ ldr r0, [sp, #0x1b8]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1b8]
+_0201A7BE:
+ ldr r0, [sp, #0x10]
+ ldr r1, [sp, #0x4]
+ add r0, r0, #0x1
+ sub r1, #0x8
+ add r7, #0x8
+ str r0, [sp, #0x10]
+ cmp r0, r1
+ blt _0201A72A
+_0201A7CE:
+ ldr r0, [sp, #0x1ec]
+ mov r2, #0x0
+ str r0, [sp, #0x2f0]
+ add r0, #0xc0
+ str r0, [sp, #0x2f0]
+ mov r1, #0x1
+_0201A7DA:
+ ldr r0, [sp, #0x330]
+ asr r0, r2
+ tst r0, r1
+ beq _0201A7E8
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_0201A7E8:
+ add r2, r2, #0x1
+ cmp r2, #0x8
+ blt _0201A7DA
+ ldr r0, [sp, #0x44]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1b0]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x4]
+ sub r0, #0x8
+ cmp r0, #0x0
+ ble _0201A8B6
+ ldr r0, [sp, #0x5c]
+ add r0, #0x8
+ str r0, [sp, #0x5c]
+_0201A808:
+ ldr r1, [sp, #0x1b0]
+ ldr r0, [sp, #0xc]
+ ldr r7, [sp, #0x8]
+ asr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ sub r7, #0x8
+ mov r4, #0x0
+ str r0, [sp, #0x1b4]
+ ldr r5, [sp, #0x5c]
+ cmp r7, #0x0
+ ble _0201A88E
+ ble _0201A88E
+ add r0, r5, #0x0
+ lsl r6, r0, #0x3
+ ldr r0, [sp, #0x48]
+ ldr r2, [sp, #0x28]
+ lsl r1, r0, #0x3
+ ldr r0, _0201A8C4 ; =0x00007FC0
+ mov r3, #0x38
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r0, [sp, #0x1a8]
+ ldr r0, [sp, #0x48]
+ str r2, [sp, #0x1ac]
+ add r0, r0, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, _0201A8C4 ; =0x00007FC0
+ ldr r2, [sp, #0x28]
+ and r0, r1
+ mul r2, r0
+ add r0, r1, #0x0
+ and r0, r3
+ str r2, [sp, #0x1a4]
+ str r0, [sp, #0x1a0]
+_0201A856:
+ mov r0, #0x7
+ add r1, r5, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x278]
+ add r1, r0, r1
+ ldr r0, _0201A8C4 ; =0x00007FC0
+ and r0, r6
+ add r3, r1, r0
+ ldr r0, [sp, #0x1ac]
+ add r2, r3, r0
+ ldr r0, [sp, #0x2f0]
+ ldrb r1, [r0, r4]
+ cmp r1, #0x0
+ beq _0201A884
+ ldr r0, [sp, #0x1a8]
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0x1b4]
+ cmp r0, #0x0
+ beq _0201A884
+ ldr r0, [sp, #0x1a4]
+ add r2, r3, r0
+ ldr r0, [sp, #0x1a0]
+ strb r1, [r0, r2]
+_0201A884:
+ add r4, r4, #0x1
+ add r6, #0x8
+ add r5, r5, #0x1
+ cmp r4, r7
+ blt _0201A856
+_0201A88E:
+ ldr r0, [sp, #0x1b4]
+ cmp r0, #0x0
+ beq _0201A89C
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x2
+ str r0, [sp, #0x48]
+ b _0201A8A2
+_0201A89C:
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+_0201A8A2:
+ ldr r0, [sp, #0x2f0]
+ ldr r1, [sp, #0x4]
+ add r0, #0x8
+ str r0, [sp, #0x2f0]
+ ldr r0, [sp, #0xc]
+ sub r1, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0xc]
+ cmp r0, r1
+ blt _0201A808
_0201A8B6:
ldr r0, [sp, #0x1ec]
bl FUN_02016A18
@@ -49198,8 +55202,7 @@ FUN_0201A8BC: ; 0x0201A8BC
add sp, #0x118
pop {r4-r7, pc}
nop
-_0201A8C4:
- .byte 0xC0, 0x7F, 0x00, 0x00
+_0201A8C4: .word 0x00007FC0
thumb_func_start FUN_0201A8C8
FUN_0201A8C8: ; 0x0201A8C8
@@ -49249,10 +55252,12 @@ FUN_0201A8E8: ; 0x0201A8E8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r2, #0x1
- lsl r4, r5, #0x2
- lsl r4, r5, #0x2
+_0201A920: ; jump table (using 16-bit offset)
+ .short _0201A928 - _0201A920 - 2; case 0
+ .short _0201A976 - _0201A920 - 2; case 1
+ .short _0201A9CE - _0201A920 - 2; case 2
+ .short _0201A9CE - _0201A920 - 2; case 3
+_0201A928:
add r0, r1, #0x0
mov r7, #0x0
cmp r0, #0x0
@@ -49297,12 +55302,54 @@ _0201A95E:
add sp, #0x10
pop {r3-r7, pc}
_0201A976:
- .byte 0x08, 0x1C, 0x00, 0x1F, 0x12, 0x18, 0x08, 0x1C, 0x00, 0x27
- .byte 0x00, 0x28, 0x24, 0xDD, 0x07, 0x20, 0x84, 0x46, 0x00, 0x9C, 0x00, 0x25, 0x3B, 0x1C, 0x07, 0x20
- .byte 0x26, 0x1C, 0x06, 0x40, 0x21, 0x1C, 0x60, 0x46, 0x81, 0x43, 0x02, 0x98, 0x41, 0x43, 0x30, 0x1C
- .byte 0x08, 0x43, 0x80, 0x00, 0x39, 0x18, 0x03, 0x98, 0x81, 0x42, 0x04, 0xDA, 0x50, 0x1A, 0x01, 0x68
- .byte 0xD0, 0x1A, 0x01, 0x60, 0x02, 0xE0, 0x01, 0x98, 0xD1, 0x1A, 0x08, 0x60, 0x6D, 0x1C, 0x64, 0x1C
- .byte 0x1B, 0x1D, 0x08, 0x2D, 0xE3, 0xDB, 0x03, 0x98, 0x20, 0x37, 0x87, 0x42, 0xDC, 0xDB
+ add r0, r1, #0x0
+ sub r0, r0, #0x4
+ add r2, r2, r0
+ add r0, r1, #0x0
+ mov r7, #0x0
+ cmp r0, #0x0
+ ble _0201A9CE
+ mov r0, #0x7
+ mov r12, r0
+_0201A988:
+ ldr r4, [sp, #0x0]
+ mov r5, #0x0
+ add r3, r7, #0x0
+_0201A98E:
+ mov r0, #0x7
+ add r6, r4, #0x0
+ and r6, r0
+ add r1, r4, #0x0
+ mov r0, r12
+ bic r1, r0
+ ldr r0, [sp, #0x8]
+ mul r1, r0
+ add r0, r6, #0x0
+ orr r0, r1
+ lsl r0, r0, #0x2
+ add r1, r7, r0
+ ldr r0, [sp, #0xc]
+ cmp r1, r0
+ bge _0201A9B6
+ sub r0, r2, r1
+ ldr r1, [r0, #0x0]
+ sub r0, r2, r3
+ str r1, [r0, #0x0]
+ b _0201A9BC
+_0201A9B6:
+ ldr r0, [sp, #0x4]
+ sub r1, r2, r3
+ str r0, [r1, #0x0]
+_0201A9BC:
+ add r5, r5, #0x1
+ add r4, r4, #0x1
+ add r3, r3, #0x4
+ cmp r5, #0x8
+ blt _0201A98E
+ ldr r0, [sp, #0xc]
+ add r7, #0x20
+ cmp r7, r0
+ blt _0201A988
_0201A9CE:
add sp, #0x10
pop {r3-r7, pc}
@@ -49338,10 +55385,12 @@ _0201A9FE:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r6, #0x1
- lsl r0, r7, #0x3
- lsl r0, r7, #0x3
+_0201AA0A: ; jump table (using 16-bit offset)
+ .short _0201AA12 - _0201AA0A - 2; case 0
+ .short _0201AA80 - _0201AA0A - 2; case 1
+ .short _0201AB04 - _0201AA0A - 2; case 2
+ .short _0201AB04 - _0201AA0A - 2; case 3
+_0201AA12:
mov r1, #0x0
str r1, [sp, #0xc]
add r1, r2, #0x0
@@ -49404,15 +55453,78 @@ _0201AA66:
add sp, #0x20
pop {r3-r7, pc}
_0201AA80:
- .byte 0x11, 0x1C, 0x08, 0x39, 0x5B, 0x18, 0x00, 0x21, 0x02, 0x91, 0x11, 0x1C, 0x00, 0x29, 0x39, 0xDD
- .byte 0x00, 0x21, 0x01, 0x91, 0x07, 0x99, 0x00, 0x9D, 0x09, 0x1F, 0x06, 0x91, 0x07, 0x21, 0x02, 0x9C
- .byte 0x8C, 0x46, 0x07, 0x21, 0x2E, 0x1C, 0x0E, 0x40, 0x2A, 0x1C, 0x61, 0x46, 0x8A, 0x43, 0x04, 0x99
- .byte 0x4A, 0x43, 0x31, 0x1C, 0x11, 0x43, 0xCA, 0x00, 0x02, 0x99, 0x8E, 0x18, 0x07, 0x99, 0x8E, 0x42
- .byte 0x04, 0xDA, 0x99, 0x1B, 0x0A, 0x68, 0x19, 0x1B, 0x0A, 0x60, 0x01, 0xE0, 0x19, 0x1B, 0x08, 0x60
- .byte 0x06, 0x99, 0x32, 0x1F, 0x8A, 0x42, 0x05, 0xDA, 0x99, 0x1A, 0x22, 0x1F, 0x09, 0x68, 0x9A, 0x1A
- .byte 0x11, 0x60, 0x02, 0xE0, 0x21, 0x1F, 0x59, 0x1A, 0x08, 0x60, 0x01, 0x99, 0x6D, 0x1C, 0x49, 0x1C
- .byte 0x08, 0x34, 0x01, 0x91, 0x08, 0x29, 0xD4, 0xDB, 0x02, 0x9A, 0x07, 0x99, 0x40, 0x32, 0x02, 0x92
- .byte 0x8A, 0x42, 0xC5, 0xDB
+ add r1, r2, #0x0
+ sub r1, #0x8
+ add r3, r3, r1
+ mov r1, #0x0
+ str r1, [sp, #0x8]
+ add r1, r2, #0x0
+ cmp r1, #0x0
+ ble _0201AB04
+_0201AA90:
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ ldr r1, [sp, #0x1c]
+ ldr r5, [sp, #0x0]
+ sub r1, r1, #0x4
+ str r1, [sp, #0x18]
+ mov r1, #0x7
+ ldr r4, [sp, #0x8]
+ mov r12, r1
+_0201AAA2:
+ mov r1, #0x7
+ add r6, r5, #0x0
+ and r6, r1
+ add r2, r5, #0x0
+ mov r1, r12
+ bic r2, r1
+ ldr r1, [sp, #0x10]
+ mul r2, r1
+ add r1, r6, #0x0
+ orr r1, r2
+ lsl r2, r1, #0x3
+ ldr r1, [sp, #0x8]
+ add r6, r1, r2
+ ldr r1, [sp, #0x1c]
+ cmp r6, r1
+ bge _0201AACC
+ sub r1, r3, r6
+ ldr r2, [r1, #0x0]
+ sub r1, r3, r4
+ str r2, [r1, #0x0]
+ b _0201AAD0
+_0201AACC:
+ sub r1, r3, r4
+ str r0, [r1, #0x0]
+_0201AAD0:
+ ldr r1, [sp, #0x18]
+ sub r2, r6, #0x4
+ cmp r2, r1
+ bge _0201AAE4
+ sub r1, r3, r2
+ sub r2, r4, #0x4
+ ldr r1, [r1, #0x0]
+ sub r2, r3, r2
+ str r1, [r2, #0x0]
+ b _0201AAEA
+_0201AAE4:
+ sub r1, r4, #0x4
+ sub r1, r3, r1
+ str r0, [r1, #0x0]
+_0201AAEA:
+ ldr r1, [sp, #0x4]
+ add r5, r5, #0x1
+ add r1, r1, #0x1
+ add r4, #0x8
+ str r1, [sp, #0x4]
+ cmp r1, #0x8
+ blt _0201AAA2
+ ldr r2, [sp, #0x8]
+ ldr r1, [sp, #0x1c]
+ add r2, #0x40
+ str r2, [sp, #0x8]
+ cmp r2, r1
+ blt _0201AA90
_0201AB04:
add sp, #0x20
pop {r3-r7, pc}
@@ -50034,18 +56146,38 @@ FUN_0201AF74: ; 0x0201AF74
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r2, r5, #0
+_0201AF86: ; jump table (using 16-bit offset)
+ .short _0201AF92 - _0201AF86 - 2; case 0
+ .short _0201AF96 - _0201AF86 - 2; case 1
+ .short _0201AF9E - _0201AF86 - 2; case 2
+ .short _0201AFA6 - _0201AF86 - 2; case 3
+ .short _0201AFAA - _0201AF86 - 2; case 4
+ .short _0201AFB2 - _0201AF86 - 2; case 5
+_0201AF92:
str r2, [r0, #0x24]
bx lr
_0201AF96:
- .byte 0x41, 0x6A, 0x89, 0x18, 0x41, 0x62, 0x70, 0x47, 0x41, 0x6A
- .byte 0x89, 0x1A, 0x41, 0x62, 0x70, 0x47, 0x82, 0x62, 0x70, 0x47, 0x81, 0x6A, 0x89, 0x18, 0x81, 0x62
- .byte 0x70, 0x47, 0x81, 0x6A, 0x89, 0x1A, 0x81, 0x62
+ ldr r1, [r0, #0x24]
+ add r1, r1, r2
+ str r1, [r0, #0x24]
+ bx lr
+_0201AF9E:
+ ldr r1, [r0, #0x24]
+ sub r1, r1, r2
+ str r1, [r0, #0x24]
+ bx lr
+_0201AFA6:
+ str r2, [r0, #0x28]
+ bx lr
+_0201AFAA:
+ ldr r1, [r0, #0x28]
+ add r1, r1, r2
+ str r1, [r0, #0x28]
+ bx lr
+_0201AFB2:
+ ldr r1, [r0, #0x28]
+ sub r1, r1, r2
+ str r1, [r0, #0x28]
_0201AFB8:
bx lr
.balign 4
@@ -52980,16 +59112,24 @@ FUN_0201C5A4: ; 0x0201C5A4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r3, #0
- lsl r4, r2, #0
- lsl r0, r1, #0
- lsl r4, r1, #0
- lsl r0, r2, #0
+_0201C5C0: ; jump table (using 16-bit offset)
+ .short _0201C5DA - _0201C5C0 - 2; case 0
+ .short _0201C5D6 - _0201C5C0 - 2; case 1
+ .short _0201C5CA - _0201C5C0 - 2; case 2
+ .short _0201C5CE - _0201C5C0 - 2; case 3
+ .short _0201C5D2 - _0201C5C0 - 2; case 4
+_0201C5CA:
mov r1, #0x4
b _0201C5DE
_0201C5CE:
- .byte 0x02, 0x21
- .byte 0x05, 0xE0, 0x01, 0x21, 0x03, 0xE0, 0x01, 0x21, 0x01, 0xE0
+ mov r1, #0x2
+ b _0201C5DE
+_0201C5D2:
+ mov r1, #0x1
+ b _0201C5DE
+_0201C5D6:
+ mov r1, #0x1
+ b _0201C5DE
_0201C5DA:
mov r0, #0x0
pop {r3, pc}
@@ -53060,17 +59200,30 @@ FUN_0201C638: ; 0x0201C638
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
+_0201C652: ; jump table (using 16-bit offset)
+ .short _0201C65A - _0201C652 - 2; case 0
+ .short _0201C662 - _0201C652 - 2; case 1
+ .short _0201C66A - _0201C652 - 2; case 2
+ .short _0201C672 - _0201C652 - 2; case 3
+_0201C65A:
lsl r4, r4, #0x3
add r4, r0, r4
ldrb r4, [r4, #0x4]
b _0201C678
_0201C662:
- .byte 0xE4, 0x00, 0x04, 0x19, 0x64, 0x79, 0x06, 0xE0, 0xE4, 0x00, 0x04, 0x19, 0xA4, 0x79
- .byte 0x02, 0xE0, 0xE4, 0x00, 0x04, 0x19, 0xE4, 0x79
+ lsl r4, r4, #0x3
+ add r4, r0, r4
+ ldrb r4, [r4, #0x5]
+ b _0201C678
+_0201C66A:
+ lsl r4, r4, #0x3
+ add r4, r0, r4
+ ldrb r4, [r4, #0x6]
+ b _0201C678
+_0201C672:
+ lsl r4, r4, #0x3
+ add r4, r0, r4
+ ldrb r4, [r4, #0x7]
_0201C678:
cmp r1, #0x0
beq _0201C682
@@ -54160,16 +60313,19 @@ FUN_0201CE70: ; 0x0201CE70
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r6, r2, #0
- lsl r2, r1, #0
- lsl r6, r2, #0
- lsl r2, r1, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
+_0201CE82: ; jump table (using 16-bit offset)
+ .short _0201CE9A - _0201CE82 - 2; case 0
+ .short _0201CE8E - _0201CE82 - 2; case 1
+ .short _0201CE9A - _0201CE82 - 2; case 2
+ .short _0201CE8E - _0201CE82 - 2; case 3
+ .short _0201CE94 - _0201CE82 - 2; case 4
+ .short _0201CE94 - _0201CE82 - 2; case 5
+_0201CE8E:
bl FUN_0201CEA0
pop {r3, pc}
_0201CE94:
- .byte 0x00, 0xF0, 0x60, 0xF8, 0x08, 0xBD
+ bl FUN_0201CF58
+ pop {r3, pc}
_0201CE9A:
mov r0, #0x1
pop {r3, pc}
@@ -55857,10 +62013,11 @@ FUN_0201DAE8: ; 0x0201DAE8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r4, #0
- lsl r4, r5, #0x1
- lsl r4, r5, #0x1
- lsl r0, r7, #0x1
+_0201DB0A: ; jump table (using 16-bit offset)
+ .short _0201DB32 - _0201DB0A - 2; case 0
+ .short _0201DB78 - _0201DB0A - 2; case 1
+ .short _0201DB78 - _0201DB0A - 2; case 2
+ .short _0201DB84 - _0201DB0A - 2; case 3
_0201DB12:
cmp r0, #0x20
beq _0201DB3C
@@ -55882,7 +62039,11 @@ _0201DB2C:
beq _0201DB6C
b _0201DB90
_0201DB32:
- .byte 0x41, 0x48, 0x00, 0x21, 0x00, 0x68, 0x41, 0x61, 0x2D, 0xE0
+ ldr r0, _0201DC38 ; =0x021C5994
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ str r1, [r0, #0x14]
+ b _0201DB98
_0201DB3C:
ldr r0, _0201DC38 ; =0x021C5994
mov r1, #0x1
@@ -55919,8 +62080,19 @@ _0201DB6C:
str r1, [r0, #0x14]
b _0201DB98
_0201DB78:
- .byte 0x2F, 0x48, 0x02, 0x21, 0x00, 0x68, 0x09, 0x04
- .byte 0x41, 0x61, 0x09, 0xE0, 0x2C, 0x48, 0x01, 0x21, 0x00, 0x68, 0x89, 0x04, 0x41, 0x61, 0x03, 0xE0
+ ldr r0, _0201DC38 ; =0x021C5994
+ mov r1, #0x2
+ ldr r0, [r0, #0x0]
+ lsl r1, r1, #0x10
+ str r1, [r0, #0x14]
+ b _0201DB98
+_0201DB84:
+ ldr r0, _0201DC38 ; =0x021C5994
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ lsl r1, r1, #0x12
+ str r1, [r0, #0x14]
+ b _0201DB98
_0201DB90:
ldr r0, _0201DC38 ; =0x021C5994
mov r1, #0x0
@@ -64275,22 +70447,55 @@ FUN_02021774: ; 0x02021774
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r2, #0
- lsl r6, r4, #0
- lsl r4, r7, #0
+_02021798: ; jump table (using 16-bit offset)
+ .short _020217A0 - _02021798 - 2; case 0
+ .short _020217AA - _02021798 - 2; case 1
+ .short _020217C0 - _02021798 - 2; case 2
+ .short _020217D6 - _02021798 - 2; case 3
+_020217A0:
add r0, r4, r5
add r1, r6, #0x0
bl FUN_0201C100
b _02021802
_020217AA:
- .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7
- .byte 0xA7, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x10, 0x30, 0x40, 0x31, 0xFA, 0xF7, 0xA1, 0xFC, 0x20, 0xE0
- .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7, 0x9C, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x10, 0x30, 0x20, 0x31
- .byte 0xFA, 0xF7, 0x96, 0xFC, 0x15, 0xE0, 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7, 0x91, 0xFC, 0x60, 0x19
- .byte 0x31, 0x1C, 0x10, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x8B, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x20, 0x30
- .byte 0x40, 0x31, 0xFA, 0xF7, 0x85, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x30, 0x30, 0x60, 0x31, 0xFA, 0xF7
- .byte 0x7F, 0xFC
+ add r0, r4, r5
+ add r1, r6, #0x0
+ bl FUN_0201C100
+ add r0, r4, r5
+ add r1, r6, #0x0
+ add r0, #0x10
+ add r1, #0x40
+ bl FUN_0201C100
+ b _02021802
+_020217C0:
+ add r0, r4, r5
+ add r1, r6, #0x0
+ bl FUN_0201C100
+ add r0, r4, r5
+ add r1, r6, #0x0
+ add r0, #0x10
+ add r1, #0x20
+ bl FUN_0201C100
+ b _02021802
+_020217D6:
+ add r0, r4, r5
+ add r1, r6, #0x0
+ bl FUN_0201C100
+ add r0, r4, r5
+ add r1, r6, #0x0
+ add r0, #0x10
+ add r1, #0x20
+ bl FUN_0201C100
+ add r0, r4, r5
+ add r1, r6, #0x0
+ add r0, #0x20
+ add r1, #0x40
+ bl FUN_0201C100
+ add r0, r4, r5
+ add r1, r6, #0x0
+ add r0, #0x30
+ add r1, #0x60
+ bl FUN_0201C100
_02021802:
ldr r1, [sp, #0x0]
ldr r2, [r7, #0x70]
@@ -64332,22 +70537,59 @@ FUN_0202181C: ; 0x0202181C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r2, #0
- lsl r2, r5, #0
- lsl r2, r0, #0x1
+_0202184E: ; jump table (using 16-bit offset)
+ .short _02021856 - _0202184E - 2; case 0
+ .short _02021862 - _0202184E - 2; case 1
+ .short _0202187A - _0202184E - 2; case 2
+ .short _02021892 - _0202184E - 2; case 3
+_02021856:
add r0, r4, #0x0
add r0, #0x14
add r1, r5, #0x0
bl FUN_0201C100
b _020218C0
_02021862:
- .byte 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x4A, 0xFC, 0x20, 0x1C, 0x29, 0x1C
- .byte 0x24, 0x30, 0x40, 0x31, 0xFA, 0xF7, 0x44, 0xFC, 0x22, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C
- .byte 0xFA, 0xF7, 0x3E, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x24, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x38, 0xFC
- .byte 0x16, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x32, 0xFC, 0x20, 0x1C, 0x29, 0x1C
- .byte 0x24, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x2C, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x34, 0x30, 0x40, 0x31
- .byte 0xFA, 0xF7, 0x26, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x44, 0x30, 0x60, 0x31, 0xFA, 0xF7, 0x20, 0xFC
+ add r0, r4, #0x0
+ add r0, #0x14
+ add r1, r5, #0x0
+ bl FUN_0201C100
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r0, #0x24
+ add r1, #0x40
+ bl FUN_0201C100
+ b _020218C0
+_0202187A:
+ add r0, r4, #0x0
+ add r0, #0x14
+ add r1, r5, #0x0
+ bl FUN_0201C100
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r0, #0x24
+ add r1, #0x20
+ bl FUN_0201C100
+ b _020218C0
+_02021892:
+ add r0, r4, #0x0
+ add r0, #0x14
+ add r1, r5, #0x0
+ bl FUN_0201C100
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r0, #0x24
+ add r1, #0x20
+ bl FUN_0201C100
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r0, #0x34
+ add r1, #0x40
+ bl FUN_0201C100
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r0, #0x44
+ add r1, #0x60
+ bl FUN_0201C100
_020218C0:
ldr r2, [r4, #0x70]
add r0, r4, #0x0
@@ -66148,12 +72390,15 @@ FUN_0202254C: ; 0x0202254C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r3, #0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r2, r3, #0
+_020225B8: ; jump table (using 16-bit offset)
+ .short _020225D4 - _020225B8 - 2; case 0
+ .short _020225C0 - _020225B8 - 2; case 1
+ .short _020225C4 - _020225B8 - 2; case 2
+ .short _020225D4 - _020225B8 - 2; case 3
+_020225C0:
mov r0, #0x0
str r0, [r4, #0xc]
+_020225C4:
add r0, r4, #0x0
bl FUN_02022D08
mov r0, #0x1
@@ -66162,7 +72407,8 @@ FUN_0202254C: ; 0x0202254C
str r0, [r4, #0x8]
b _020225DA
_020225D4:
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x01, 0xF9
+ add r0, r4, #0x0
+ bl FUN_020227DC
_020225DA:
add r0, r4, #0x0
pop {r4, pc}
@@ -66529,12 +72775,12 @@ _02022878: .word 0x0002047C
thumb_func_start FUN_0202287C
FUN_0202287C: ; 0x0202287C
ldr r1, _02022884 ; =0x0002047C
- ldr r3, _02022888 ; =0x02022FF1
+ ldr r3, _02022888 ; =FUN_02022FF0
add r1, r0, r1
bx r3
.balign 4
_02022884: .word 0x0002047C
-_02022888: .word 0x02022FF1
+_02022888: .word FUN_02022FF0 + 1
thumb_func_start FUN_0202288C
FUN_0202288C: ; 0x0202288C
@@ -67346,12 +73592,14 @@ FUN_02022E78: ; 0x02022E78
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r6, r5, #0
- lsl r2, r1, #0x1
- lsl r6, r5, #0x1
- lsl r0, r3, #0x2
- lsl r4, r7, #0x2
+_02022E90: ; jump table (using 16-bit offset)
+ .short _02022E9C - _02022E90 - 2; case 0
+ .short _02022EC0 - _02022E90 - 2; case 1
+ .short _02022EDC - _02022E90 - 2; case 2
+ .short _02022F00 - _02022E90 - 2; case 3
+ .short _02022F2A - _02022E90 - 2; case 4
+ .short _02022F4E - _02022E90 - 2; case 5
+_02022E9C:
ldr r1, [r4, #0x8]
ldr r0, _02022F7C ; =0x00020220
add r2, r5, r1
@@ -67371,6 +73619,7 @@ _02022EAE:
ldr r0, [r4, #0x14]
add r0, r0, #0x1
str r0, [r4, #0x14]
+_02022EC0:
ldr r0, [r4, #0x10]
add r1, sp, #0x0
bl FUN_020236E4
@@ -67385,6 +73634,7 @@ _02022ED6:
ldr r0, [r4, #0x14]
add r0, r0, #0x1
str r0, [r4, #0x14]
+_02022EDC:
ldr r1, [r4, #0x8]
ldr r0, _02022F7C ; =0x00020220
add r2, r5, r1
@@ -67404,6 +73654,7 @@ _02022EEE:
ldr r0, [r4, #0x14]
add r0, r0, #0x1
str r0, [r4, #0x14]
+_02022F00:
ldr r0, [r4, #0x10]
add r1, sp, #0x0
bl FUN_020236E4
@@ -67445,6 +73696,7 @@ _02022F3C:
ldr r0, [r4, #0x14]
add r0, r0, #0x1
str r0, [r4, #0x14]
+_02022F4E:
ldr r0, [r4, #0x10]
add r1, sp, #0x0
bl FUN_020236E4
@@ -67535,13 +73787,48 @@ _02022FDA:
_02022FE4: .word 0x00020214
_02022FE8: .word 0x00020218
_02022FEC: .word 0x00020220
-_02022FF0:
- .byte 0x38, 0xB5, 0x0C, 0x1C, 0x21, 0x68, 0x00, 0x29, 0x02, 0xD0, 0xA2, 0x69, 0x0F, 0x49, 0x42, 0x50
- .byte 0x0F, 0x49, 0x00, 0x23, 0x25, 0x1C, 0xEA, 0x69, 0x5B, 0x1C, 0x42, 0x50, 0x2D, 0x1D, 0x00, 0x1D
- .byte 0x02, 0x2B, 0xF8, 0xDB, 0xB3, 0xF0, 0xCA, 0xEE, 0x00, 0x28, 0x0B, 0xD1, 0xB3, 0xF0, 0xAE, 0xEE
- .byte 0x20, 0x69, 0x00, 0x04, 0x00, 0x0C, 0xB3, 0xF0, 0x3C, 0xEB, 0x20, 0x69, 0x00, 0x04, 0x00, 0x0C
- .byte 0xA7, 0xF0, 0x62, 0xE8, 0x01, 0x20, 0xF3, 0xF7, 0x0D, 0xFA, 0x38, 0xBD, 0x14, 0x02, 0x02, 0x00
- .byte 0x18, 0x02, 0x02, 0x00
+
+ thumb_func_start FUN_02022FF0
+FUN_02022FF0: ; 0x02022FF0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x0
+ beq _02023000
+ ldr r2, [r4, #0x18]
+ ldr r1, _0202303C ; =0x00020214
+ str r2, [r0, r1]
+_02023000:
+ ldr r1, _02023040 ; =0x00020218
+ mov r3, #0x0
+ add r5, r4, #0x0
+_02023006:
+ ldr r2, [r5, #0x1c]
+ add r3, r3, #0x1
+ str r2, [r0, r1]
+ add r5, r5, #0x4
+ add r0, r0, #0x4
+ cmp r3, #0x2
+ blt _02023006
+ blx FUN_020D6DAC
+ cmp r0, #0x0
+ bne _02023034
+ blx FUN_020D6D7C
+ ldr r0, [r4, #0x10]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ blx FUN_020D66A0
+ ldr r0, [r4, #0x10]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ blx FUN_020CA0F8
+_02023034:
+ mov r0, #0x1
+ bl FUN_02016454
+ pop {r3-r5, pc}
+ .balign 4
+_0202303C: .word 0x00020214
+_02023040: .word 0x00020218
thumb_func_start FUN_02023044
FUN_02023044: ; 0x02023044
@@ -68456,9 +74743,6 @@ FUN_02023740: ; 0x02023740
mov r0, #0x1
add r1, r4, #0x0
bl FUN_0208A0B8
-
- non_word_aligned_thumb_func_start FUN_02023766
-FUN_02023766: ; 0x02023766
pop {r3-r5, pc}
.balign 4
_02023768: .word 0x021C59C8
@@ -69101,29 +75385,85 @@ FUN_02023B0C: ; 0x02023B0C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r7, #0x1
- lsl r0, r3, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r4, r5, #0
- lsl r2, r6, #0
- lsl r6, r0, #0x1
- lsl r4, r1, #0x1
- lsl r0, r4, #0x1
- lsl r0, r5, #0x1
- lsl r0, r6, #0x1
- lsl r0, r7, #0x1
+_02023B1E: ; jump table (using 16-bit offset)
+ .short _02023B9E - _02023B1E - 2; case 0
+ .short _02023B38 - _02023B1E - 2; case 1
+ .short _02023B3C - _02023B1E - 2; case 2
+ .short _02023B40 - _02023B1E - 2; case 3
+ .short _02023B44 - _02023B1E - 2; case 4
+ .short _02023B4C - _02023B1E - 2; case 5
+ .short _02023B52 - _02023B1E - 2; case 6
+ .short _02023B66 - _02023B1E - 2; case 7
+ .short _02023B6C - _02023B1E - 2; case 8
+ .short _02023B80 - _02023B1E - 2; case 9
+ .short _02023B88 - _02023B1E - 2; case 10
+ .short _02023B90 - _02023B1E - 2; case 11
+ .short _02023B98 - _02023B1E - 2; case 12
+_02023B38:
ldrb r2, [r0, #0x1a]
b _02023B9E
_02023B3C:
- .byte 0xC2, 0x7E, 0x2E, 0xE0
- .byte 0x02, 0x8B, 0x2C, 0xE0, 0x80, 0x7F, 0xC0, 0x07, 0xC2, 0x0F, 0x28, 0xE0, 0x1C, 0x21, 0x42, 0x56
- .byte 0x25, 0xE0, 0x1C, 0x21, 0x40, 0x56, 0x00, 0x28, 0x01, 0xDD, 0x01, 0x22, 0x1F, 0xE0, 0x1E, 0xDA
- .byte 0x0A, 0x1C, 0x1D, 0x3A, 0x1B, 0xE0, 0x1D, 0x21, 0x42, 0x56, 0x18, 0xE0, 0x1D, 0x21, 0x40, 0x56
- .byte 0x00, 0x28, 0x01, 0xDD, 0x01, 0x22, 0x12, 0xE0, 0x11, 0xDA, 0x0A, 0x1C, 0x1E, 0x3A, 0x0E, 0xE0
- .byte 0x80, 0x7F, 0x00, 0x07, 0xC2, 0x0F, 0x0A, 0xE0, 0x80, 0x7F, 0x40, 0x07, 0xC2, 0x0F, 0x06, 0xE0
- .byte 0x80, 0x7F, 0x80, 0x07, 0xC2, 0x0F, 0x02, 0xE0, 0x80, 0x7F, 0xC0, 0x06, 0xC2, 0x0F
+ ldrb r2, [r0, #0x1b]
+ b _02023B9E
+_02023B40:
+ ldrh r2, [r0, #0x18]
+ b _02023B9E
+_02023B44:
+ ldrb r0, [r0, #0x1e]
+ lsl r0, r0, #0x1f
+ lsr r2, r0, #0x1f
+ b _02023B9E
+_02023B4C:
+ mov r1, #0x1c
+ ldrsb r2, [r0, r1]
+ b _02023B9E
+_02023B52:
+ mov r1, #0x1c
+ ldrsb r0, [r0, r1]
+ cmp r0, #0x0
+ ble _02023B5E
+ mov r2, #0x1
+ b _02023B9E
+_02023B5E:
+ bge _02023B9E
+ add r2, r1, #0x0
+ sub r2, #0x1d
+ b _02023B9E
+_02023B66:
+ mov r1, #0x1d
+ ldrsb r2, [r0, r1]
+ b _02023B9E
+_02023B6C:
+ mov r1, #0x1d
+ ldrsb r0, [r0, r1]
+ cmp r0, #0x0
+ ble _02023B78
+ mov r2, #0x1
+ b _02023B9E
+_02023B78:
+ bge _02023B9E
+ add r2, r1, #0x0
+ sub r2, #0x1e
+ b _02023B9E
+_02023B80:
+ ldrb r0, [r0, #0x1e]
+ lsl r0, r0, #0x1c
+ lsr r2, r0, #0x1f
+ b _02023B9E
+_02023B88:
+ ldrb r0, [r0, #0x1e]
+ lsl r0, r0, #0x1d
+ lsr r2, r0, #0x1f
+ b _02023B9E
+_02023B90:
+ ldrb r0, [r0, #0x1e]
+ lsl r0, r0, #0x1e
+ lsr r2, r0, #0x1f
+ b _02023B9E
+_02023B98:
+ ldrb r0, [r0, #0x1e]
+ lsl r0, r0, #0x1b
+ lsr r2, r0, #0x1f
_02023B9E:
add r0, r2, #0x0
bx lr
@@ -72484,19 +78824,49 @@ FUN_02025308: ; 0x02025308
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r2, r1, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
- lsl r6, r5, #0
+_0202531E: ; jump table (using 16-bit offset)
+ .short _0202532A - _0202531E - 2; case 0
+ .short _02025330 - _0202531E - 2; case 1
+ .short _02025330 - _0202531E - 2; case 2
+ .short _02025330 - _0202531E - 2; case 3
+ .short _02025336 - _0202531E - 2; case 4
+ .short _0202534E - _0202531E - 2; case 5
+_0202532A:
bl FUN_02020C2C
pop {r4, pc}
_02025330:
- .byte 0x50, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0xFF, 0xF7, 0x31, 0xFF, 0x20, 0x81, 0x20, 0x89, 0x02, 0x28
- .byte 0x01, 0xD2, 0x02, 0x20, 0x20, 0x81, 0x60, 0x78, 0x40, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0x00, 0x21
- .byte 0x21, 0x81, 0x02, 0x21, 0x61, 0x70, 0x05, 0x21, 0xE1, 0x72, 0xA1, 0x79, 0x49, 0x1C, 0xA1, 0x71
- .byte 0xFF, 0xF7, 0x56, 0xFF, 0xA1, 0x79, 0x81, 0x42, 0x02, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x0A, 0xFF
+ add r0, r2, #0x1
+ strb r0, [r4, #0x1]
+ pop {r4, pc}
+_02025336:
+ bl FUN_0202519C
+ strh r0, [r4, #0x8]
+ ldrh r0, [r4, #0x8]
+ cmp r0, #0x2
+ bhs _02025346
+ mov r0, #0x2
+ strh r0, [r4, #0x8]
+_02025346:
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+ pop {r4, pc}
+_0202534E:
+ mov r1, #0x0
+ strh r1, [r4, #0x8]
+ mov r1, #0x2
+ strb r1, [r4, #0x1]
+ mov r1, #0x5
+ strb r1, [r4, #0xb]
+ ldrb r1, [r4, #0x6]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x6]
+ bl FUN_02025210
+ ldrb r1, [r4, #0x6]
+ cmp r1, r0
+ bne _02025370
+ add r0, r4, #0x0
+ bl FUN_02025184
_02025370:
pop {r4, pc}
.balign 4
@@ -78812,18 +85182,32 @@ FUN_02027E94: ; 0x02027E94
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
+_02027EA4: ; jump table (using 16-bit offset)
+ .short _02027EB2 - _02027EA4 - 2; case 0
+ .short _02027EB6 - _02027EA4 - 2; case 1
+ .short _02027EBA - _02027EA4 - 2; case 2
+ .short _02027EBE - _02027EA4 - 2; case 3
+ .short _02027EC2 - _02027EA4 - 2; case 4
+ .short _02027EC6 - _02027EA4 - 2; case 5
+ .short _02027ECA - _02027EA4 - 2; case 6
+_02027EB2:
ldrb r0, [r0, #0x0]
bx lr
_02027EB6:
- .byte 0x40, 0x78, 0x70, 0x47, 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78
- .byte 0x70, 0x47, 0x00, 0x79, 0x70, 0x47, 0x40, 0x79, 0x70, 0x47
+ ldrb r0, [r0, #0x1]
+ bx lr
+_02027EBA:
+ ldrb r0, [r0, #0x2]
+ bx lr
+_02027EBE:
+ ldrb r0, [r0, #0x3]
+ bx lr
+_02027EC2:
+ ldrb r0, [r0, #0x4]
+ bx lr
+_02027EC6:
+ ldrb r0, [r0, #0x5]
+ bx lr
_02027ECA:
ldrb r0, [r0, #0x6]
bx lr
@@ -78898,22 +85282,53 @@ _02027F34:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r2, r1, #0
- lsl r6, r2, #0
- lsl r4, r4, #0
- lsl r2, r1, #0x1
- lsl r6, r1, #0x1
- lsl r6, r1, #0x1
+_02027F4A: ; jump table (using 16-bit offset)
+ .short _02027F56 - _02027F4A - 2; case 0
+ .short _02027F62 - _02027F4A - 2; case 1
+ .short _02027F70 - _02027F4A - 2; case 2
+ .short _02027F96 - _02027F4A - 2; case 3
+ .short _02027F9A - _02027F4A - 2; case 4
+ .short _02027F9A - _02027F4A - 2; case 5
+_02027F56:
mov r1, r12
bl FUN_02027ED0
add sp, #0x8
mov r0, #0x1b
pop {r3-r7, pc}
_02027F62:
- .byte 0x00, 0xAA, 0x13, 0x78, 0x06, 0x22, 0x5A, 0x43, 0x12, 0x06, 0x15, 0x0E, 0x15, 0xE0
- .byte 0x00, 0xAA, 0x53, 0x78, 0x12, 0x78, 0xCC, 0x5C, 0x8D, 0x5C, 0xA5, 0x42, 0x05, 0xD3, 0x94, 0x00
- .byte 0x12, 0x19, 0x9A, 0x18, 0x12, 0x06, 0x15, 0x0E, 0x08, 0xE0, 0x9C, 0x00, 0x1B, 0x19, 0xD2, 0x18
- .byte 0x12, 0x06, 0x15, 0x0E, 0x02, 0xE0, 0x19, 0x25, 0x00, 0xE0, 0x1A, 0x25
+ add r2, sp, #0x0
+ ldrb r3, [r2, #0x0]
+ mov r2, #0x6
+ mul r2, r3
+ lsl r2, r2, #0x18
+ lsr r5, r2, #0x18
+ b _02027F9C
+_02027F70:
+ add r2, sp, #0x0
+ ldrb r3, [r2, #0x1]
+ ldrb r2, [r2, #0x0]
+ ldrb r4, [r1, r3]
+ ldrb r5, [r1, r2]
+ cmp r5, r4
+ blo _02027F8A
+ lsl r4, r2, #0x2
+ add r2, r2, r4
+ add r2, r3, r2
+ lsl r2, r2, #0x18
+ lsr r5, r2, #0x18
+ b _02027F9C
+_02027F8A:
+ lsl r4, r3, #0x2
+ add r3, r3, r4
+ add r2, r2, r3
+ lsl r2, r2, #0x18
+ lsr r5, r2, #0x18
+ b _02027F9C
+_02027F96:
+ mov r5, #0x19
+ b _02027F9C
+_02027F9A:
+ mov r5, #0x1a
_02027F9C:
cmp r6, #0x0
beq _02027FA2
@@ -78970,17 +85385,28 @@ FUN_02027FDC: ; 0x02027FDC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
+_02027FFC: ; jump table (using 16-bit offset)
+ .short _02028008 - _02027FFC - 2; case 0
+ .short _0202800C - _02027FFC - 2; case 1
+ .short _02028010 - _02027FFC - 2; case 2
+ .short _02028014 - _02027FFC - 2; case 3
+ .short _02028018 - _02027FFC - 2; case 4
+ .short _0202801C - _02027FFC - 2; case 5
+_02028008:
ldrb r0, [r4, #0x1]
b _0202803E
_0202800C:
- .byte 0xA0, 0x78, 0x16, 0xE0
- .byte 0xE0, 0x78, 0x14, 0xE0, 0x20, 0x79, 0x12, 0xE0, 0x60, 0x79, 0x10, 0xE0
+ ldrb r0, [r4, #0x2]
+ b _0202803E
+_02028010:
+ ldrb r0, [r4, #0x3]
+ b _0202803E
+_02028014:
+ ldrb r0, [r4, #0x4]
+ b _0202803E
+_02028018:
+ ldrb r0, [r4, #0x5]
+ b _0202803E
_0202801C:
ldrb r0, [r4, #0x1]
ldrb r1, [r4, #0x2]
@@ -79311,15 +85737,17 @@ _0202823C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r2, #0
- lsl r6, r3, #0
- lsl r4, r5, #0
- lsl r0, r7, #0
- lsl r6, r0, #0x1
- lsl r2, r2, #0x1
- lsl r0, r4, #0x1
- lsl r0, r7, #0x1
- lsl r4, r5, #0x1
+_0202824C: ; jump table (using 16-bit offset)
+ .short _0202825E - _0202824C - 2; case 0
+ .short _0202826C - _0202824C - 2; case 1
+ .short _0202827A - _0202824C - 2; case 2
+ .short _02028286 - _0202824C - 2; case 3
+ .short _02028294 - _0202824C - 2; case 4
+ .short _020282A0 - _0202824C - 2; case 5
+ .short _020282AE - _0202824C - 2; case 6
+ .short _020282C6 - _0202824C - 2; case 7
+ .short _020282BA - _0202824C - 2; case 8
+_0202825E:
mov r0, #0x30
mul r0, r4
add r1, r5, r0
@@ -79328,19 +85756,72 @@ _0202823C:
ldr r6, [r1, r0]
b _020282D0
_0202826C:
- .byte 0x30, 0x20, 0x60, 0x43
- .byte 0x29, 0x18, 0x79, 0x20, 0x80, 0x00, 0x0E, 0x5A, 0x2A, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18
- .byte 0x14, 0x48, 0x0E, 0x5A, 0x24, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7A, 0x20, 0x80, 0x00
- .byte 0x0E, 0x5A, 0x1D, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x0F, 0x48, 0x0E, 0x5A, 0x17, 0xE0
- .byte 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7B, 0x20, 0x80, 0x00, 0x0E, 0x5C, 0x10, 0xE0, 0x30, 0x20
- .byte 0x60, 0x43, 0x29, 0x18, 0x09, 0x48, 0x0E, 0x5C, 0x0A, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18
- .byte 0x07, 0x48, 0x0E, 0x5C, 0x04, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x05, 0x48, 0x0E, 0x5C
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x79
+ lsl r0, r0, #0x2
+ ldrh r6, [r1, r0]
+ b _020282D0
+_0202827A:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _020282D4 ; =0x000001E6
+ ldrh r6, [r1, r0]
+ b _020282D0
+_02028286:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x7a
+ lsl r0, r0, #0x2
+ ldrh r6, [r1, r0]
+ b _020282D0
+_02028294:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _020282D8 ; =0x000001EA
+ ldrh r6, [r1, r0]
+ b _020282D0
+_020282A0:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x7b
+ lsl r0, r0, #0x2
+ ldrb r6, [r1, r0]
+ b _020282D0
+_020282AE:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _020282DC ; =0x000001ED
+ ldrb r6, [r1, r0]
+ b _020282D0
+_020282BA:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _020282E0 ; =0x000001EE
+ ldrb r6, [r1, r0]
+ b _020282D0
+_020282C6:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _020282E4 ; =0x000001EF
+ ldrb r6, [r1, r0]
_020282D0:
add r0, r6, #0x0
pop {r3-r7, pc}
-_020282D4:
- .byte 0xE6, 0x01, 0x00, 0x00, 0xEA, 0x01, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00
- .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00
+ .balign 4
+_020282D4: .word 0x000001E6
+_020282D8: .word 0x000001EA
+_020282DC: .word 0x000001ED
+_020282E0: .word 0x000001EE
+_020282E4: .word 0x000001EF
thumb_func_start FUN_020282E8
FUN_020282E8: ; 0x020282E8
@@ -79361,15 +85842,17 @@ _020282FA:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r2, #0
- lsl r6, r3, #0
- lsl r4, r4, #0
- lsl r2, r5, #0
- lsl r0, r6, #0
- lsl r4, r7, #0
- lsl r2, r1, #0x1
- lsl r2, r4, #0x1
- lsl r6, r2, #0x1
+_0202830A: ; jump table (using 16-bit offset)
+ .short _0202831C - _0202830A - 2; case 0
+ .short _0202832A - _0202830A - 2; case 1
+ .short _02028330 - _0202830A - 2; case 2
+ .short _02028336 - _0202830A - 2; case 3
+ .short _0202833C - _0202830A - 2; case 4
+ .short _02028348 - _0202830A - 2; case 5
+ .short _02028356 - _0202830A - 2; case 6
+ .short _0202836E - _0202830A - 2; case 7
+ .short _02028362 - _0202830A - 2; case 8
+_0202831C:
mov r0, #0x30
mul r0, r4
add r1, r5, r0
@@ -79378,18 +85861,56 @@ _020282FA:
str r6, [r1, r0]
pop {r3-r7, pc}
_0202832A:
- .byte 0xF8, 0xF7, 0x7F, 0xFC, 0xF8, 0xBD
- .byte 0xF8, 0xF7, 0x7C, 0xFC, 0xF8, 0xBD, 0xF8, 0xF7, 0x79, 0xFC, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43
- .byte 0x29, 0x18, 0x0E, 0x48, 0x0E, 0x52, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7B, 0x20
- .byte 0x80, 0x00, 0x0E, 0x54, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x08, 0x48, 0x0E, 0x54
- .byte 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x06, 0x48, 0x0E, 0x54, 0xF8, 0xBD, 0x30, 0x20
- .byte 0x60, 0x43, 0x29, 0x18, 0x04, 0x48, 0x0E, 0x54
+ bl FUN_02020C2C
+ pop {r3-r7, pc}
+_02028330:
+ bl FUN_02020C2C
+ pop {r3-r7, pc}
+_02028336:
+ bl FUN_02020C2C
+ pop {r3-r7, pc}
+_0202833C:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _0202837C ; =0x000001EA
+ strh r6, [r1, r0]
+ pop {r3-r7, pc}
+_02028348:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x7b
+ lsl r0, r0, #0x2
+ strb r6, [r1, r0]
+ pop {r3-r7, pc}
+_02028356:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _02028380 ; =0x000001ED
+ strb r6, [r1, r0]
+ pop {r3-r7, pc}
+_02028362:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _02028384 ; =0x000001EE
+ strb r6, [r1, r0]
+ pop {r3-r7, pc}
+_0202836E:
+ mov r0, #0x30
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _02028388 ; =0x000001EF
+ strb r6, [r1, r0]
_02028378:
pop {r3-r7, pc}
nop
-_0202837C:
- .byte 0xEA, 0x01, 0x00, 0x00
- .byte 0xED, 0x01, 0x00, 0x00, 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00
+_0202837C: .word 0x000001EA
+_02028380: .word 0x000001ED
+_02028384: .word 0x000001EE
+_02028388: .word 0x000001EF
thumb_func_start FUN_0202838C
FUN_0202838C: ; 0x0202838C
@@ -80475,17 +86996,26 @@ FUN_02028AD4: ; 0x02028AD4
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r1, #0
- lsl r6, r1, #0
- lsl r4, r2, #0
- lsl r2, r3, #0
- lsl r0, r4, #0
+_02028AEC: ; jump table (using 16-bit offset)
+ .short _02028AF6 - _02028AEC - 2; case 0
+ .short _02028AFC - _02028AEC - 2; case 1
+ .short _02028B02 - _02028AEC - 2; case 2
+ .short _02028B08 - _02028AEC - 2; case 3
+ .short _02028B0E - _02028AEC - 2; case 4
+_02028AF6:
bl FUN_02028B1C
b _02028B12
_02028AFC:
- .byte 0x00, 0xF0, 0x2E, 0xF8
- .byte 0x07, 0xE0, 0x00, 0xF0, 0x75, 0xF8, 0x04, 0xE0, 0x00, 0xF0, 0x78, 0xF8, 0x01, 0xE0, 0x00, 0xF0
- .byte 0x7B, 0xF8
+ bl FUN_02028B5C
+ b _02028B12
+_02028B02:
+ bl FUN_02028BF0
+ b _02028B12
+_02028B08:
+ bl FUN_02028BFC
+ b _02028B12
+_02028B0E:
+ bl FUN_02028C08
_02028B12:
add r0, r4, #0x0
bl FUN_02016A18
@@ -80541,49 +87071,70 @@ FUN_02028B5C: ; 0x02028B5C
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r7, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r1, #0x1
- lsl r6, r1, #0x1
- lsl r6, r2, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r5, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r4, r7, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
+_02028B70: ; jump table (using 16-bit offset)
+ .short _02028BEE - _02028B70 - 2; case 0
+ .short _02028BB8 - _02028B70 - 2; case 1
+ .short _02028BB8 - _02028B70 - 2; case 2
+ .short _02028BB8 - _02028B70 - 2; case 3
+ .short _02028BB8 - _02028B70 - 2; case 4
+ .short _02028BB8 - _02028B70 - 2; case 5
+ .short _02028BB8 - _02028B70 - 2; case 6
+ .short _02028BB8 - _02028B70 - 2; case 7
+ .short _02028BB8 - _02028B70 - 2; case 8
+ .short _02028BC0 - _02028B70 - 2; case 9
+ .short _02028BC0 - _02028B70 - 2; case 10
+ .short _02028BC8 - _02028B70 - 2; case 11
+ .short _02028BD0 - _02028B70 - 2; case 12
+ .short _02028BD8 - _02028B70 - 2; case 13
+ .short _02028BD8 - _02028B70 - 2; case 14
+ .short _02028BD8 - _02028B70 - 2; case 15
+ .short _02028BB8 - _02028B70 - 2; case 16
+ .short _02028BB8 - _02028B70 - 2; case 17
+ .short _02028BE0 - _02028B70 - 2; case 18
+ .short _02028BE8 - _02028B70 - 2; case 19
+ .short _02028BE8 - _02028B70 - 2; case 20
+ .short _02028BE8 - _02028B70 - 2; case 21
+ .short _02028BE8 - _02028B70 - 2; case 22
+ .short _02028BE8 - _02028B70 - 2; case 23
+ .short _02028BE8 - _02028B70 - 2; case 24
+ .short _02028BE8 - _02028B70 - 2; case 25
+ .short _02028BE8 - _02028B70 - 2; case 26
+ .short _02028BE8 - _02028B70 - 2; case 27
+ .short _02028BE8 - _02028B70 - 2; case 28
+ .short _02028BE8 - _02028B70 - 2; case 29
+ .short _02028BE8 - _02028B70 - 2; case 30
+ .short _02028BEE - _02028B70 - 2; case 31
+ .short _02028BE8 - _02028B70 - 2; case 32
+ .short _02028BE8 - _02028B70 - 2; case 33
+ .short _02028BB8 - _02028B70 - 2; case 34
+ .short _02028BB8 - _02028B70 - 2; case 35
+_02028BB8:
add r0, r0, #0x4
bl FUN_02028CE8
pop {r3, pc}
_02028BC0:
- .byte 0x00, 0x1D, 0x00, 0xF0, 0xE9, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0xBB, 0xF8, 0x08, 0xBD
- .byte 0x00, 0x1D, 0x00, 0xF0, 0xA7, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0x0F, 0xF9, 0x08, 0xBD
- .byte 0x00, 0x1D, 0x00, 0xF0, 0x2F, 0xF9, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0x4F, 0xF9
+ add r0, r0, #0x4
+ bl FUN_02028D98
+ pop {r3, pc}
+_02028BC8:
+ add r0, r0, #0x4
+ bl FUN_02028D44
+ pop {r3, pc}
+_02028BD0:
+ add r0, r0, #0x4
+ bl FUN_02028D24
+ pop {r3, pc}
+_02028BD8:
+ add r0, r0, #0x4
+ bl FUN_02028DFC
+ pop {r3, pc}
+_02028BE0:
+ add r0, r0, #0x4
+ bl FUN_02028E44
+ pop {r3, pc}
+_02028BE8:
+ add r0, r0, #0x4
+ bl FUN_02028E8C
_02028BEE:
pop {r3, pc}
@@ -80620,30 +87171,44 @@ FUN_02028C08: ; 0x02028C08
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0x1
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r5, #0
- lsl r0, r6, #0
- lsl r0, r7, #0
- lsl r0, r6, #0
- lsl r0, r7, #0
- lsl r0, r4, #0
- lsl r0, r7, #0
- lsl r2, r0, #0x1
- lsl r0, r7, #0
- lsl r0, r6, #0
- lsl r0, r7, #0
+_02028C24: ; jump table (using 16-bit offset)
+ .short _02028C6E - _02028C24 - 2; case 0
+ .short _02028C46 - _02028C24 - 2; case 1
+ .short _02028C46 - _02028C24 - 2; case 2
+ .short _02028C46 - _02028C24 - 2; case 3
+ .short _02028C46 - _02028C24 - 2; case 4
+ .short _02028C46 - _02028C24 - 2; case 5
+ .short _02028C4E - _02028C24 - 2; case 6
+ .short _02028C56 - _02028C24 - 2; case 7
+ .short _02028C5E - _02028C24 - 2; case 8
+ .short _02028C56 - _02028C24 - 2; case 9
+ .short _02028C5E - _02028C24 - 2; case 10
+ .short _02028C46 - _02028C24 - 2; case 11
+ .short _02028C5E - _02028C24 - 2; case 12
+ .short _02028C68 - _02028C24 - 2; case 13
+ .short _02028C5E - _02028C24 - 2; case 14
+ .short _02028C56 - _02028C24 - 2; case 15
+ .short _02028C5E - _02028C24 - 2; case 16
+_02028C46:
add r1, r4, #0x0
bl FUN_02028ED4
pop {r3-r5, pc}
_02028C4E:
- .byte 0x21, 0x1C
- .byte 0x00, 0xF0, 0x5E, 0xF9, 0x38, 0xBD, 0x21, 0x1C, 0x00, 0xF0, 0x68, 0xF9, 0x38, 0xBD, 0x28, 0x1C
- .byte 0x21, 0x1C, 0x00, 0xF0, 0x7D, 0xF9, 0x38, 0xBD, 0x21, 0x1C, 0x00, 0xF0, 0x93, 0xF9
+ add r1, r4, #0x0
+ bl FUN_02028F10
+ pop {r3-r5, pc}
+_02028C56:
+ add r1, r4, #0x0
+ bl FUN_02028F2C
+ pop {r3-r5, pc}
+_02028C5E:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02028F60
+ pop {r3-r5, pc}
+_02028C68:
+ add r1, r4, #0x0
+ bl FUN_02028F94
_02028C6E:
pop {r3-r5, pc}
@@ -81960,21 +88525,41 @@ FUN_02029584: ; 0x02029584
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r1, #0
- lsl r4, r2, #0
- lsl r0, r4, #0
- lsl r4, r5, #0
- lsl r0, r7, #0
+_02029596: ; jump table (using 16-bit offset)
+ .short _020295A0 - _02029596 - 2; case 0
+ .short _020295AC - _02029596 - 2; case 1
+ .short _020295B8 - _02029596 - 2; case 2
+ .short _020295C4 - _02029596 - 2; case 3
+ .short _020295D0 - _02029596 - 2; case 4
+_020295A0:
mov r2, #0x70
mul r2, r3
add r0, r0, r2
bl FUN_020295DC
pop {r3, pc}
_020295AC:
- .byte 0x70, 0x22, 0x5A, 0x43
- .byte 0x80, 0x18, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD, 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0
- .byte 0x67, 0xF8, 0x08, 0xBD, 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0, 0x67, 0xF8, 0x08, 0xBD
- .byte 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0, 0x67, 0xF8
+ mov r2, #0x70
+ mul r2, r3
+ add r0, r0, r2
+ bl FUN_020295E4
+ pop {r3, pc}
+_020295B8:
+ mov r2, #0x70
+ mul r2, r3
+ add r0, r0, r2
+ bl FUN_02029690
+ pop {r3, pc}
+_020295C4:
+ mov r2, #0x70
+ mul r2, r3
+ add r0, r0, r2
+ bl FUN_0202969C
+ pop {r3, pc}
+_020295D0:
+ mov r2, #0x70
+ mul r2, r3
+ add r0, r0, r2
+ bl FUN_020296A8
_020295DA:
pop {r3, pc}
@@ -82012,49 +88597,62 @@ _020295EE:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r5, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r1, #0x1
- lsl r6, r1, #0x1
- lsl r6, r1, #0x1
- lsl r6, r1, #0x1
- lsl r6, r2, #0x1
- lsl r6, r2, #0x1
- lsl r6, r2, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r4, r5, #0x1
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
+_02029614: ; jump table (using 16-bit offset)
+ .short _02029682 - _02029614 - 2; case 0
+ .short _0202965C - _02029614 - 2; case 1
+ .short _0202965C - _02029614 - 2; case 2
+ .short _0202965C - _02029614 - 2; case 3
+ .short _0202965C - _02029614 - 2; case 4
+ .short _0202965C - _02029614 - 2; case 5
+ .short _0202965C - _02029614 - 2; case 6
+ .short _0202965C - _02029614 - 2; case 7
+ .short _0202965C - _02029614 - 2; case 8
+ .short _02029664 - _02029614 - 2; case 9
+ .short _02029664 - _02029614 - 2; case 10
+ .short _02029664 - _02029614 - 2; case 11
+ .short _02029664 - _02029614 - 2; case 12
+ .short _0202966C - _02029614 - 2; case 13
+ .short _0202966C - _02029614 - 2; case 14
+ .short _0202966C - _02029614 - 2; case 15
+ .short _0202965C - _02029614 - 2; case 16
+ .short _0202965C - _02029614 - 2; case 17
+ .short _02029674 - _02029614 - 2; case 18
+ .short _0202967C - _02029614 - 2; case 19
+ .short _0202967C - _02029614 - 2; case 20
+ .short _0202967C - _02029614 - 2; case 21
+ .short _0202967C - _02029614 - 2; case 22
+ .short _0202967C - _02029614 - 2; case 23
+ .short _0202967C - _02029614 - 2; case 24
+ .short _0202967C - _02029614 - 2; case 25
+ .short _0202967C - _02029614 - 2; case 26
+ .short _0202967C - _02029614 - 2; case 27
+ .short _0202967C - _02029614 - 2; case 28
+ .short _0202967C - _02029614 - 2; case 29
+ .short _0202967C - _02029614 - 2; case 30
+ .short _02029682 - _02029614 - 2; case 31
+ .short _0202967C - _02029614 - 2; case 32
+ .short _0202967C - _02029614 - 2; case 33
+ .short _0202965C - _02029614 - 2; case 34
+ .short _0202965C - _02029614 - 2; case 35
+_0202965C:
add r1, r4, #0x0
bl FUN_02029730
b _02029682
_02029664:
- .byte 0x21, 0x1C, 0x00, 0xF0, 0x67, 0xF8, 0x0A, 0xE0, 0x21, 0x1C, 0x00, 0xF0
- .byte 0x6F, 0xF8, 0x06, 0xE0, 0x21, 0x1C, 0x00, 0xF0, 0x71, 0xF8, 0x02, 0xE0, 0x21, 0x1C, 0x00, 0xF0
- .byte 0x73, 0xF8
+ add r1, r4, #0x0
+ bl FUN_02029738
+ b _02029682
+_0202966C:
+ add r1, r4, #0x0
+ bl FUN_02029750
+ b _02029682
+_02029674:
+ add r1, r4, #0x0
+ bl FUN_0202975C
+ b _02029682
+_0202967C:
+ add r1, r4, #0x0
+ bl FUN_02029768
_02029682:
add r6, r6, #0x1
add r4, #0x8
@@ -82104,32 +88702,48 @@ _020296B4:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r2, #0x1
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r2, r5, #0
- lsl r4, r6, #0
- lsl r6, r7, #0
- lsl r4, r6, #0
- lsl r6, r7, #0
- lsl r0, r4, #0
- lsl r6, r7, #0
- lsl r0, r1, #0x1
- lsl r6, r7, #0
- lsl r4, r6, #0
- lsl r6, r7, #0
+_020296D0: ; jump table (using 16-bit offset)
+ .short _02029722 - _020296D0 - 2; case 0
+ .short _020296F2 - _020296D0 - 2; case 1
+ .short _020296F2 - _020296D0 - 2; case 2
+ .short _020296F2 - _020296D0 - 2; case 3
+ .short _020296F2 - _020296D0 - 2; case 4
+ .short _020296F2 - _020296D0 - 2; case 5
+ .short _020296FC - _020296D0 - 2; case 6
+ .short _02029706 - _020296D0 - 2; case 7
+ .short _02029710 - _020296D0 - 2; case 8
+ .short _02029706 - _020296D0 - 2; case 9
+ .short _02029710 - _020296D0 - 2; case 10
+ .short _020296F2 - _020296D0 - 2; case 11
+ .short _02029710 - _020296D0 - 2; case 12
+ .short _0202971A - _020296D0 - 2; case 13
+ .short _02029710 - _020296D0 - 2; case 14
+ .short _02029706 - _020296D0 - 2; case 15
+ .short _02029710 - _020296D0 - 2; case 16
+_020296F2:
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02029774
b _02029722
_020296FC:
- .byte 0x28, 0x1C, 0x21, 0x1C
- .byte 0x00, 0xF0, 0x70, 0xF8, 0x0D, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x7D, 0xF8, 0x08, 0xE0
- .byte 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0xA4, 0xF8, 0x03, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0
- .byte 0xA3, 0xF8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020297E4
+ b _02029722
+_02029706:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02029808
+ b _02029722
+_02029710:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02029860
+ b _02029722
+_0202971A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02029868
_02029722:
add r7, r7, #0x1
add r4, #0x3a
@@ -83786,27 +90400,69 @@ FUN_0202A240: ; 0x0202A240
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r2, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r0, r5, #0
- lsl r4, r5, #0
- lsl r2, r7, #0
- lsl r0, r1, #0x1
- lsl r0, r2, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
+_0202A252: ; jump table (using 16-bit offset)
+ .short _0202A268 - _0202A252 - 2; case 0
+ .short _0202A270 - _0202A252 - 2; case 1
+ .short _0202A274 - _0202A252 - 2; case 2
+ .short _0202A278 - _0202A252 - 2; case 3
+ .short _0202A27C - _0202A252 - 2; case 4
+ .short _0202A280 - _0202A252 - 2; case 5
+ .short _0202A28E - _0202A252 - 2; case 6
+ .short _0202A29C - _0202A252 - 2; case 7
+ .short _0202A2A4 - _0202A252 - 2; case 8
+ .short _0202A2B2 - _0202A252 - 2; case 9
+ .short _0202A2BA - _0202A252 - 2; case 10
+_0202A268:
ldrb r0, [r0, #0x0]
lsl r0, r0, #0x1b
lsr r0, r0, #0x1d
pop {r3, pc}
_0202A270:
- .byte 0x80, 0x78, 0x08, 0xBD, 0xC0, 0x78, 0x08, 0xBD, 0x80, 0x88, 0x08, 0xBD, 0xC0, 0x88, 0x08, 0xBD
- .byte 0x11, 0x1C, 0x08, 0x30, 0x04, 0x22, 0xA4, 0xF0, 0xAC, 0xE8, 0x00, 0x20, 0x08, 0xBD, 0x11, 0x1C
- .byte 0x2C, 0x30, 0x10, 0x22, 0xA4, 0xF0, 0xA4, 0xE8, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x78, 0xC0, 0x07
- .byte 0xC0, 0x0F, 0x08, 0xBD, 0x11, 0x1C, 0x0C, 0x30, 0x1C, 0x22, 0xA4, 0xF0, 0x9A, 0xE8, 0x00, 0x20
- .byte 0x08, 0xBD, 0x00, 0x78, 0x00, 0x06, 0x40, 0x0F, 0x08, 0xBD, 0x80, 0x6A, 0x08, 0xBD
+ ldrb r0, [r0, #0x2]
+ pop {r3, pc}
+_0202A274:
+ ldrb r0, [r0, #0x3]
+ pop {r3, pc}
+_0202A278:
+ ldrh r0, [r0, #0x4]
+ pop {r3, pc}
+_0202A27C:
+ ldrh r0, [r0, #0x6]
+ pop {r3, pc}
+_0202A280:
+ add r1, r2, #0x0
+ add r0, #0x8
+ mov r2, #0x4
+ blx FUN_020CE3E0
+ mov r0, #0x0
+ pop {r3, pc}
+_0202A28E:
+ add r1, r2, #0x0
+ add r0, #0x2c
+ mov r2, #0x10
+ blx FUN_020CE3E0
+ mov r0, #0x0
+ pop {r3, pc}
+_0202A29C:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_0202A2A4:
+ add r1, r2, #0x0
+ add r0, #0xc
+ mov r2, #0x1c
+ blx FUN_020CE3E0
+ mov r0, #0x0
+ pop {r3, pc}
+_0202A2B2:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ pop {r3, pc}
+_0202A2BA:
+ ldr r0, [r0, #0x28]
+ pop {r3, pc}
_0202A2BE:
mov r0, #0x0
pop {r3, pc}
@@ -83824,17 +90480,19 @@ FUN_0202A2C4: ; 0x0202A2C4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r2, #0
- lsl r6, r4, #0
- lsl r4, r5, #0
- lsl r2, r6, #0
- lsl r0, r7, #0
- lsl r6, r7, #0
- lsl r4, r1, #0x1
- lsl r2, r3, #0x1
- lsl r4, r5, #0x1
- lsl r0, r0, #0x2
- lsl r2, r7, #0x1
+_0202A2D8: ; jump table (using 16-bit offset)
+ .short _0202A2EE - _0202A2D8 - 2; case 0
+ .short _0202A300 - _0202A2D8 - 2; case 1
+ .short _0202A306 - _0202A2D8 - 2; case 2
+ .short _0202A30C - _0202A2D8 - 2; case 3
+ .short _0202A312 - _0202A2D8 - 2; case 4
+ .short _0202A318 - _0202A2D8 - 2; case 5
+ .short _0202A326 - _0202A2D8 - 2; case 6
+ .short _0202A334 - _0202A2D8 - 2; case 7
+ .short _0202A346 - _0202A2D8 - 2; case 8
+ .short _0202A35A - _0202A2D8 - 2; case 9
+ .short _0202A354 - _0202A2D8 - 2; case 10
+_0202A2EE:
ldrb r1, [r3, #0x0]
mov r0, #0x1c
bic r1, r0
@@ -83845,13 +90503,65 @@ FUN_0202A2C4: ; 0x0202A2C4
strb r0, [r3, #0x0]
pop {r4, pc}
_0202A300:
- .byte 0x10, 0x78, 0x98, 0x70, 0x10, 0xBD, 0x10, 0x78, 0xD8, 0x70, 0x10, 0xBD, 0x10, 0x88, 0x98, 0x80
- .byte 0x10, 0xBD, 0x10, 0x88, 0xD8, 0x80, 0x10, 0xBD, 0x08, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x04, 0x22
- .byte 0xA4, 0xF0, 0x5E, 0xE8, 0x10, 0xBD, 0x2C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x10, 0x22, 0xA4, 0xF0
- .byte 0x58, 0xE8, 0x10, 0xBD, 0x1C, 0x78, 0x11, 0x78, 0x01, 0x20, 0x84, 0x43, 0x01, 0x20, 0x08, 0x40
- .byte 0x20, 0x43, 0x18, 0x70, 0x10, 0xBD, 0x0C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x1C, 0x22, 0xA4, 0xF0
- .byte 0x48, 0xE8, 0x10, 0xBD, 0x10, 0x68, 0x98, 0x62, 0x10, 0xBD, 0x19, 0x78, 0xE0, 0x20, 0x81, 0x43
- .byte 0x10, 0x78, 0x40, 0x07, 0x00, 0x0E, 0x08, 0x43, 0x18, 0x70
+ ldrb r0, [r2, #0x0]
+ strb r0, [r3, #0x2]
+ pop {r4, pc}
+_0202A306:
+ ldrb r0, [r2, #0x0]
+ strb r0, [r3, #0x3]
+ pop {r4, pc}
+_0202A30C:
+ ldrh r0, [r2, #0x0]
+ strh r0, [r3, #0x4]
+ pop {r4, pc}
+_0202A312:
+ ldrh r0, [r2, #0x0]
+ strh r0, [r3, #0x6]
+ pop {r4, pc}
+_0202A318:
+ add r3, #0x8
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ mov r2, #0x4
+ blx FUN_020CE3E0
+ pop {r4, pc}
+_0202A326:
+ add r3, #0x2c
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ mov r2, #0x10
+ blx FUN_020CE3E0
+ pop {r4, pc}
+_0202A334:
+ ldrb r4, [r3, #0x0]
+ ldrb r1, [r2, #0x0]
+ mov r0, #0x1
+ bic r4, r0
+ mov r0, #0x1
+ and r0, r1
+ orr r0, r4
+ strb r0, [r3, #0x0]
+ pop {r4, pc}
+_0202A346:
+ add r3, #0xc
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ mov r2, #0x1c
+ blx FUN_020CE3E0
+ pop {r4, pc}
+_0202A354:
+ ldr r0, [r2, #0x0]
+ str r0, [r3, #0x28]
+ pop {r4, pc}
+_0202A35A:
+ ldrb r1, [r3, #0x0]
+ mov r0, #0xe0
+ bic r1, r0
+ ldrb r0, [r2, #0x0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x18
+ orr r0, r1
+ strb r0, [r3, #0x0]
_0202A36A:
pop {r4, pc}
@@ -83913,13 +90623,15 @@ FUN_0202A3B4: ; 0x0202A3B4
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r7, #0
- lsl r4, r1, #0
- lsl r4, r7, #0
- lsl r4, r7, #0
- lsl r4, r7, #0
- lsl r2, r3, #0
- lsl r4, r5, #0
+_0202A3C4: ; jump table (using 16-bit offset)
+ .short _0202A402 - _0202A3C4 - 2; case 0
+ .short _0202A3D2 - _0202A3C4 - 2; case 1
+ .short _0202A402 - _0202A3C4 - 2; case 2
+ .short _0202A402 - _0202A3C4 - 2; case 3
+ .short _0202A402 - _0202A3C4 - 2; case 4
+ .short _0202A3E0 - _0202A3C4 - 2; case 5
+ .short _0202A3F2 - _0202A3C4 - 2; case 6
+_0202A3D2:
ldr r2, _0202A408 ; =0x0000270F
cmp r1, r2
bls _0202A3DC
@@ -83929,9 +90641,26 @@ _0202A3DC:
strh r1, [r0, #0x0]
b _0202A402
_0202A3E0:
- .byte 0x02, 0x88, 0x52, 0x18, 0x08, 0x49, 0x8A, 0x42, 0x01, 0xDD, 0x01, 0x80, 0x09, 0xE0, 0x02, 0x80
- .byte 0x07, 0xE0, 0x02, 0x88, 0x8A, 0x42, 0x02, 0xD2, 0x00, 0x21, 0x01, 0x80, 0x01, 0xE0, 0x51, 0x1A
- .byte 0x01, 0x80
+ ldrh r2, [r0, #0x0]
+ add r2, r2, r1
+ ldr r1, _0202A408 ; =0x0000270F
+ cmp r2, r1
+ ble _0202A3EE
+ strh r1, [r0, #0x0]
+ b _0202A402
+_0202A3EE:
+ strh r2, [r0, #0x0]
+ b _0202A402
+_0202A3F2:
+ ldrh r2, [r0, #0x0]
+ cmp r2, r1
+ bhs _0202A3FE
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ b _0202A402
+_0202A3FE:
+ sub r1, r2, r1
+ strh r1, [r0, #0x0]
_0202A402:
ldrh r0, [r0, #0x0]
bx lr
@@ -84952,21 +91681,39 @@ FUN_0202AAB8: ; 0x0202AAB8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r5, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r0, r5, #0
- lsl r4, r5, #0
+_0202AAC8: ; jump table (using 16-bit offset)
+ .short _0202AAF8 - _0202AAC8 - 2; case 0
+ .short _0202AADA - _0202AAC8 - 2; case 1
+ .short _0202AADE - _0202AAC8 - 2; case 2
+ .short _0202AAE2 - _0202AAC8 - 2; case 3
+ .short _0202AAE6 - _0202AAC8 - 2; case 4
+ .short _0202AAEA - _0202AAC8 - 2; case 5
+ .short _0202AAEE - _0202AAC8 - 2; case 6
+ .short _0202AAF2 - _0202AAC8 - 2; case 7
+ .short _0202AAF6 - _0202AAC8 - 2; case 8
+_0202AADA:
ldr r0, [r0, #0x0]
bx lr
_0202AADE:
- .byte 0x40, 0x68
- .byte 0x70, 0x47, 0x80, 0x68, 0x70, 0x47, 0x80, 0x89, 0x70, 0x47, 0xC0, 0x89, 0x70, 0x47, 0x00, 0x7C
- .byte 0x70, 0x47, 0x40, 0x7C, 0x70, 0x47, 0x80, 0x7C
+ ldr r0, [r0, #0x4]
+ bx lr
+_0202AAE2:
+ ldr r0, [r0, #0x8]
+ bx lr
+_0202AAE6:
+ ldrh r0, [r0, #0xc]
+ bx lr
+_0202AAEA:
+ ldrh r0, [r0, #0xe]
+ bx lr
+_0202AAEE:
+ ldrb r0, [r0, #0x10]
+ bx lr
+_0202AAF2:
+ ldrb r0, [r0, #0x11]
+ bx lr
+_0202AAF6:
+ ldrb r0, [r0, #0x12]
_0202AAF8:
bx lr
.balign 4
@@ -84981,20 +91728,39 @@ FUN_0202AAFC: ; 0x0202AAFC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r5, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r0, r5, #0
- lsl r4, r5, #0
+_0202AB0C: ; jump table (using 16-bit offset)
+ .short _0202AB3C - _0202AB0C - 2; case 0
+ .short _0202AB1E - _0202AB0C - 2; case 1
+ .short _0202AB22 - _0202AB0C - 2; case 2
+ .short _0202AB26 - _0202AB0C - 2; case 3
+ .short _0202AB2A - _0202AB0C - 2; case 4
+ .short _0202AB2E - _0202AB0C - 2; case 5
+ .short _0202AB32 - _0202AB0C - 2; case 6
+ .short _0202AB36 - _0202AB0C - 2; case 7
+ .short _0202AB3A - _0202AB0C - 2; case 8
+_0202AB1E:
str r2, [r0, #0x0]
bx lr
_0202AB22:
- .byte 0x42, 0x60, 0x70, 0x47, 0x82, 0x60, 0x70, 0x47, 0x82, 0x81, 0x70, 0x47, 0xC2, 0x81
- .byte 0x70, 0x47, 0x02, 0x74, 0x70, 0x47, 0x42, 0x74, 0x70, 0x47, 0x82, 0x74
+ str r2, [r0, #0x4]
+ bx lr
+_0202AB26:
+ str r2, [r0, #0x8]
+ bx lr
+_0202AB2A:
+ strh r2, [r0, #0xc]
+ bx lr
+_0202AB2E:
+ strh r2, [r0, #0xe]
+ bx lr
+_0202AB32:
+ strb r2, [r0, #0x10]
+ bx lr
+_0202AB36:
+ strb r2, [r0, #0x11]
+ bx lr
+_0202AB3A:
+ strb r2, [r0, #0x12]
_0202AB3C:
bx lr
.balign 4
@@ -86480,18 +93246,27 @@ FUN_0202B548: ; 0x0202B548
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r4, #0
- lsl r0, r1, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
- lsl r4, r3, #0
+_0202B55C: ; jump table (using 16-bit offset)
+ .short _0202B57E - _0202B55C - 2; case 0
+ .short _0202B566 - _0202B55C - 2; case 1
+ .short _0202B56E - _0202B55C - 2; case 2
+ .short _0202B574 - _0202B55C - 2; case 3
+ .short _0202B57A - _0202B55C - 2; case 4
+_0202B566:
mov r1, #0x63
lsl r1, r1, #0x2
add r4, r0, r1
b _0202B57E
_0202B56E:
- .byte 0x04, 0x1C
- .byte 0x0C, 0x34, 0x04, 0xE0, 0x04, 0x1C, 0xCC, 0x34, 0x01, 0xE0, 0xF5, 0xF7, 0x57, 0xFB
+ add r4, r0, #0x0
+ add r4, #0xc
+ b _0202B57E
+_0202B574:
+ add r4, r0, #0x0
+ add r4, #0xcc
+ b _0202B57E
+_0202B57A:
+ bl FUN_02020C2C
_0202B57E:
add r0, r4, #0x0
pop {r4, pc}
@@ -86509,24 +93284,33 @@ FUN_0202B584: ; 0x0202B584
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r4, #0
- lsl r6, r2, #0
- lsl r0, r1, #0
- lsl r0, r2, #0
- lsl r4, r3, #0
+_0202B598: ; jump table (using 16-bit offset)
+ .short _0202B5BA - _0202B598 - 2; case 0
+ .short _0202B5B0 - _0202B598 - 2; case 1
+ .short _0202B5A2 - _0202B598 - 2; case 2
+ .short _0202B5AA - _0202B598 - 2; case 3
+ .short _0202B5B6 - _0202B598 - 2; case 4
+_0202B5A2:
mov r1, #0x93
lsl r1, r1, #0x2
add r4, r0, r1
b _0202B5BA
_0202B5AA:
- .byte 0x05, 0x49, 0x44, 0x18, 0x04, 0xE0
- .byte 0x04, 0x49, 0x44, 0x18, 0x01, 0xE0, 0xF5, 0xF7, 0x39, 0xFB
+ ldr r1, _0202B5C0 ; =0x000006CC
+ add r4, r0, r1
+ b _0202B5BA
+_0202B5B0:
+ ldr r1, _0202B5C4 ; =0x0000090C
+ add r4, r0, r1
+ b _0202B5BA
+_0202B5B6:
+ bl FUN_02020C2C
_0202B5BA:
add r0, r4, #0x0
pop {r4, pc}
nop
-_0202B5C0:
- .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00
+_0202B5C0: .word 0x000006CC
+_0202B5C4: .word 0x0000090C
thumb_func_start FUN_0202B5C8
FUN_0202B5C8: ; 0x0202B5C8
@@ -86651,11 +93435,13 @@ FUN_0202B678: ; 0x0202B678
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r6, #0x1
- lsl r2, r1, #0x1
- lsl r0, r1, #0
- lsl r2, r5, #0
- lsl r6, r5, #0x1
+_0202B68E: ; jump table (using 16-bit offset)
+ .short _0202B702 - _0202B68E - 2; case 0
+ .short _0202B6DA - _0202B68E - 2; case 1
+ .short _0202B698 - _0202B68E - 2; case 2
+ .short _0202B6BA - _0202B68E - 2; case 3
+ .short _0202B6FE - _0202B68E - 2; case 4
+_0202B698:
cmp r3, #0x0
str r4, [sp, #0x0]
beq _0202B6AA
@@ -86673,18 +93459,48 @@ _0202B6AA:
bl FUN_0202B61C
pop {r3-r5, pc}
_0202B6BA:
- .byte 0x00, 0x2B, 0x00, 0x94, 0x05, 0xD0
- .byte 0xCC, 0x30, 0x04, 0x21, 0x2B, 0x1C, 0xFF, 0xF7, 0x89, 0xFF, 0x38, 0xBD, 0x0E, 0x49, 0x2B, 0x1C
- .byte 0x40, 0x18, 0x08, 0x21, 0xFF, 0xF7, 0xA2, 0xFF, 0x38, 0xBD, 0x00, 0x2B, 0x00, 0x94, 0x07, 0xD0
- .byte 0x63, 0x21, 0x89, 0x00, 0x40, 0x18, 0x04, 0x21, 0x2B, 0x1C, 0xFF, 0xF7, 0x77, 0xFF, 0x38, 0xBD
- .byte 0x06, 0x49, 0x2B, 0x1C, 0x40, 0x18, 0x08, 0x21, 0xFF, 0xF7, 0x90, 0xFF, 0x38, 0xBD, 0x00, 0x20
- .byte 0x38, 0xBD
+ cmp r3, #0x0
+ str r4, [sp, #0x0]
+ beq _0202B6CC
+ add r0, #0xcc
+ mov r1, #0x4
+ add r3, r5, #0x0
+ bl FUN_0202B5DC
+ pop {r3-r5, pc}
+_0202B6CC:
+ ldr r1, _0202B708 ; =0x000006CC
+ add r3, r5, #0x0
+ add r0, r0, r1
+ mov r1, #0x8
+ bl FUN_0202B61C
+ pop {r3-r5, pc}
+_0202B6DA:
+ cmp r3, #0x0
+ str r4, [sp, #0x0]
+ beq _0202B6F0
+ mov r1, #0x63
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r1, #0x4
+ add r3, r5, #0x0
+ bl FUN_0202B5DC
+ pop {r3-r5, pc}
+_0202B6F0:
+ ldr r1, _0202B70C ; =0x0000090C
+ add r3, r5, #0x0
+ add r0, r0, r1
+ mov r1, #0x8
+ bl FUN_0202B61C
+ pop {r3-r5, pc}
+_0202B6FE:
+ mov r0, #0x0
+ pop {r3-r5, pc}
_0202B702:
mov r0, #0x0
pop {r3-r5, pc}
nop
-_0202B708:
- .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00
+_0202B708: .word 0x000006CC
+_0202B70C: .word 0x0000090C
thumb_func_start FUN_0202B710
FUN_0202B710: ; 0x0202B710
@@ -88479,10 +95295,12 @@ _0202C41A:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r4, #0
- lsl r4, r4, #0
- lsl r4, r4, #0
+_0202C42E: ; jump table (using 16-bit offset)
+ .short _0202C436 - _0202C42E - 2; case 0
+ .short _0202C454 - _0202C42E - 2; case 1
+ .short _0202C454 - _0202C42E - 2; case 2
+ .short _0202C454 - _0202C42E - 2; case 3
+_0202C436:
ldr r0, _0202C458 ; =0x021C59D8
ldr r2, [r0, #0x4]
ldr r0, _0202C45C ; =0x00001314
@@ -89162,10 +95980,12 @@ _0202C97A:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
+_0202C98E: ; jump table (using 16-bit offset)
+ .short _0202C996 - _0202C98E - 2; case 0
+ .short _0202C9B0 - _0202C98E - 2; case 1
+ .short _0202C9B0 - _0202C98E - 2; case 2
+ .short _0202C9B0 - _0202C98E - 2; case 3
+_0202C996:
ldr r0, _0202C9B4 ; =0x021C59D8
ldr r2, [r0, #0x4]
ldr r0, _0202C9B8 ; =0x00001314
@@ -90185,20 +97005,24 @@ _0202D126:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r3, #0
- lsl r2, r1, #0
- lsl r4, r4, #0
- lsl r4, r4, #0
- lsl r0, r3, #0
- lsl r2, r1, #0
+_0202D144: ; jump table (using 16-bit offset)
+ .short _0202D15E - _0202D144 - 2; case 0
+ .short _0202D150 - _0202D144 - 2; case 1
+ .short _0202D16A - _0202D144 - 2; case 2
+ .short _0202D16A - _0202D144 - 2; case 3
+ .short _0202D15E - _0202D144 - 2; case 4
+ .short _0202D150 - _0202D144 - 2; case 5
+_0202D150:
bl FUN_0202C9BC
cmp r0, #0x0
bne _0202D16A
bl FUN_0202D0D8
pop {r3, pc}
_0202D15E:
- .byte 0xFF, 0xF7
- .byte 0x7F, 0xF9, 0x00, 0x28, 0x01, 0xD1, 0xFF, 0xF7, 0xB7, 0xFF
+ bl FUN_0202C460
+ cmp r0, #0x0
+ bne _0202D16A
+ bl FUN_0202D0D8
_0202D16A:
pop {r3, pc}
.balign 4
@@ -93886,16 +100710,18 @@ _0202EC4A:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r2, r6, #0
- lsl r0, r6, #0x3
- lsl r0, r6, #0x3
- lsl r0, r6, #0x3
- lsl r0, r6, #0x3
- lsl r0, r6, #0x3
- lsl r6, r6, #0x1
- lsl r4, r3, #0x1
- lsl r4, r3, #0x1
+_0202EC5A: ; jump table (using 16-bit offset)
+ .short _0202EC6E - _0202EC5A - 2; case 0
+ .short _0202EC8E - _0202EC5A - 2; case 1
+ .short _0202ED4C - _0202EC5A - 2; case 2
+ .short _0202ED4C - _0202EC5A - 2; case 3
+ .short _0202ED4C - _0202EC5A - 2; case 4
+ .short _0202ED4C - _0202EC5A - 2; case 5
+ .short _0202ED4C - _0202EC5A - 2; case 6
+ .short _0202ECD2 - _0202EC5A - 2; case 7
+ .short _0202ECB8 - _0202EC5A - 2; case 8
+ .short _0202ECB8 - _0202EC5A - 2; case 9
+_0202EC6E:
ldr r0, _0202ED50 ; =0x021C59E8
ldr r2, [r0, #0x8]
ldr r0, _0202ED60 ; =0x00000DAA
@@ -93913,19 +100739,98 @@ _0202EC82:
add sp, #0x8
pop {r3-r5, pc}
_0202EC8E:
- .byte 0x30, 0x48
- .byte 0x81, 0x68, 0x33, 0x48, 0x08, 0x5C, 0x01, 0x28, 0x03, 0xD1, 0xFE, 0xF7, 0x6D, 0xFA, 0x00, 0x28
- .byte 0x54, 0xD1, 0x2B, 0x48, 0x81, 0x68, 0x2E, 0x48, 0x08, 0x5C, 0x02, 0x28, 0x4E, 0xD1, 0xFE, 0xF7
- .byte 0x63, 0xFA, 0x02, 0xB0, 0x00, 0x28, 0x38, 0xBD, 0x25, 0x48, 0x83, 0x68, 0x00, 0x2B, 0x45, 0xD0
- .byte 0x24, 0x49, 0x01, 0x20, 0x5A, 0x5C, 0x02, 0xB0, 0x82, 0x43, 0x01, 0x20, 0x10, 0x43, 0x58, 0x54
- .byte 0x38, 0xBD, 0xFE, 0xF7, 0x67, 0xF8, 0x1E, 0x4B, 0x22, 0x4A, 0x9C, 0x68, 0xA1, 0x5C, 0x00, 0x29
- .byte 0x05, 0xD1, 0x51, 0x1F, 0x60, 0x52, 0x98, 0x68, 0x05, 0x21, 0x81, 0x54, 0x01, 0xE0, 0x48, 0x1E
- .byte 0xA0, 0x54, 0x17, 0x49, 0x1C, 0x48, 0x8A, 0x68, 0x15, 0x5A, 0x09, 0x30, 0x10, 0x5C, 0x00, 0x07
- .byte 0xC0, 0x0F, 0x02, 0xD0, 0x08, 0x88, 0x40, 0x1C, 0x08, 0x80, 0xFF, 0xF7, 0xC7, 0xFE, 0x04, 0xF0
- .byte 0x11, 0xFC, 0x00, 0x04, 0x00, 0x0C, 0xFE, 0xF7, 0x9F, 0xFD, 0x04, 0x1C, 0x04, 0xF0, 0x0A, 0xFC
- .byte 0x00, 0x04, 0x00, 0x0C, 0x00, 0xF0, 0xE0, 0xF8, 0x00, 0x90, 0x09, 0x49, 0x09, 0x48, 0x8A, 0x68
- .byte 0x23, 0x1C, 0x10, 0x5C, 0x2A, 0x1C, 0x80, 0x06, 0xC0, 0x0F, 0x01, 0x90, 0x09, 0x88, 0x00, 0x20
- .byte 0xFE, 0xF7, 0x20, 0xF9, 0x02, 0x48, 0x81, 0x68, 0x08, 0x48, 0x0D, 0x54
+ ldr r0, _0202ED50 ; =0x021C59E8
+ ldr r1, [r0, #0x8]
+ ldr r0, _0202ED60 ; =0x00000DAA
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _0202ECA2
+ bl FUN_0202D178
+ cmp r0, #0x0
+ bne _0202ED4C
+_0202ECA2:
+ ldr r0, _0202ED50 ; =0x021C59E8
+ ldr r1, [r0, #0x8]
+ ldr r0, _0202ED60 ; =0x00000DAA
+ ldrb r0, [r1, r0]
+ cmp r0, #0x2
+ bne _0202ED4C
+ bl FUN_0202D178
+ add sp, #0x8
+ cmp r0, #0x0
+ pop {r3-r5, pc}
+_0202ECB8:
+ ldr r0, _0202ED50 ; =0x021C59E8
+ ldr r3, [r0, #0x8]
+ cmp r3, #0x0
+ beq _0202ED4C
+ ldr r1, _0202ED54 ; =0x00000DAD
+ mov r0, #0x1
+ ldrb r2, [r3, r1]
+ add sp, #0x8
+ bic r2, r0
+ mov r0, #0x1
+ orr r0, r2
+ strb r0, [r3, r1]
+ pop {r3-r5, pc}
+_0202ECD2:
+ bl FUN_0202CDA4
+ ldr r3, _0202ED50 ; =0x021C59E8
+ ldr r2, _0202ED64 ; =0x00000DA9
+ ldr r4, [r3, #0x8]
+ ldrb r1, [r4, r2]
+ cmp r1, #0x0
+ bne _0202ECEE
+ sub r1, r2, #0x5
+ strh r0, [r4, r1]
+ ldr r0, [r3, #0x8]
+ mov r1, #0x5
+ strb r1, [r0, r2]
+ b _0202ECF2
+_0202ECEE:
+ sub r0, r1, #0x1
+ strb r0, [r4, r2]
+_0202ECF2:
+ ldr r1, _0202ED50 ; =0x021C59E8
+ ldr r0, _0202ED68 ; =0x00000DA4
+ ldr r2, [r1, #0x8]
+ ldrh r5, [r2, r0]
+ add r0, #0x9
+ ldrb r0, [r2, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ beq _0202ED0A
+ ldrh r0, [r1, #0x0]
+ add r0, r0, #0x1
+ strh r0, [r1, #0x0]
+_0202ED0A:
+ bl FUN_0202EA9C
+ bl FUN_02033534
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_0202D858
+ add r4, r0, #0x0
+ bl FUN_02033534
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_0202EEE8
+ str r0, [sp, #0x0]
+ ldr r1, _0202ED50 ; =0x021C59E8
+ ldr r0, _0202ED54 ; =0x00000DAD
+ ldr r2, [r1, #0x8]
+ add r3, r4, #0x0
+ ldrb r0, [r2, r0]
+ add r2, r5, #0x0
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ str r0, [sp, #0x4]
+ ldrh r1, [r1, #0x0]
+ mov r0, #0x0
+ bl FUN_0202CF84
+ ldr r0, _0202ED50 ; =0x021C59E8
+ ldr r1, [r0, #0x8]
+ ldr r0, _0202ED6C ; =0x00000DA8
+ strb r5, [r1, r0]
_0202ED4C:
add sp, #0x8
pop {r3-r5, pc}
@@ -93935,8 +100840,9 @@ _0202ED54: .word 0x00000DAD
_0202ED58: .word 0x0000FFFF
_0202ED5C: .word 0x00000DA6
_0202ED60: .word 0x00000DAA
-_0202ED64:
- .byte 0xA9, 0x0D, 0x00, 0x00, 0xA4, 0x0D, 0x00, 0x00, 0xA8, 0x0D, 0x00, 0x00
+_0202ED64: .word 0x00000DA9
+_0202ED68: .word 0x00000DA4
+_0202ED6C: .word 0x00000DA8
thumb_func_start FUN_0202ED70
FUN_0202ED70: ; 0x0202ED70
@@ -97211,15 +104117,22 @@ _020306F2:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02030730: ; jump table (using 16-bit offset)
+ .short _02030738 - _02030730 - 2; case 0
+ .short _0203073C - _02030730 - 2; case 1
+ .short _02030740 - _02030730 - 2; case 2
+ .short _02030744 - _02030730 - 2; case 3
+_02030738:
mov r4, #0x20
b _02030746
_0203073C:
- .byte 0x10, 0x24, 0x02, 0xE0
- .byte 0x40, 0x24, 0x00, 0xE0, 0x80, 0x24
+ mov r4, #0x10
+ b _02030746
+_02030740:
+ mov r4, #0x40
+ b _02030746
+_02030744:
+ mov r4, #0x80
_02030746:
ldr r0, _02030798 ; =0x021C59F4
ldr r5, [r0, #0x4]
@@ -98334,9 +105247,21 @@ _02030FBC:
nop
_02030FC0: .word 0x021C59F4
_02030FC4: .word 0x00000628
-_02030FC8:
- .byte 0x03, 0x48, 0x42, 0x68, 0x00, 0x2A, 0x02, 0xD0
- .byte 0x02, 0x48, 0x00, 0x21, 0x11, 0x52, 0x70, 0x47, 0xF4, 0x59, 0x1C, 0x02, 0x28, 0x06, 0x00, 0x00
+
+ thumb_func_start FUN_02030FC8
+FUN_02030FC8: ; 0x02030FC8
+ ldr r0, _02030FD8 ; =0x021C59F4
+ ldr r2, [r0, #0x4]
+ cmp r2, #0x0
+ beq _02030FD6
+ ldr r0, _02030FDC ; =0x00000628
+ mov r1, #0x0
+ strh r1, [r2, r0]
+_02030FD6:
+ bx lr
+ .balign 4
+_02030FD8: .word 0x021C59F4
+_02030FDC: .word 0x00000628
thumb_func_start FUN_02030FE0
FUN_02030FE0: ; 0x02030FE0
@@ -102379,55 +109304,394 @@ _02032E88: .word FUN_02032290 + 1
FUN_02032E8C: ; 0x02032E8C
bx lr
.balign 4
-_02032E90:
- .byte 0x08, 0xB5, 0xA5, 0xF1, 0x7B, 0xF8, 0x00, 0x28, 0x03, 0xDA, 0x02, 0x48, 0x00, 0x21, 0xFE, 0xF7
- .byte 0x3F, 0xFF, 0x08, 0xBD, 0x8D, 0x2E, 0x03, 0x02, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00
- .byte 0x08, 0xB5, 0x01, 0x20, 0xFE, 0xF7, 0x74, 0xFA, 0xA5, 0xF1, 0x68, 0xF8, 0x0A, 0x28, 0x04, 0xDB
- .byte 0x12, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x2C, 0xFF, 0x08, 0xBD, 0x00, 0x28, 0x04, 0xDA, 0x10, 0x48
- .byte 0x00, 0x21, 0xFE, 0xF7, 0x25, 0xFF, 0x08, 0xBD, 0x01, 0x28, 0x04, 0xD1, 0x0D, 0x48, 0x00, 0x21
- .byte 0xFE, 0xF7, 0x1E, 0xFF, 0x08, 0xBD, 0x02, 0x28, 0x0E, 0xD1, 0x0B, 0x48, 0x00, 0x68, 0x44, 0x30
- .byte 0x00, 0x78, 0x00, 0x28, 0x04, 0xD0, 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x11, 0xFF, 0x08, 0xBD
- .byte 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x0C, 0xFF, 0x08, 0xBD, 0xC0, 0x46, 0xAD, 0x2E, 0x03, 0x02
- .byte 0x8D, 0x2E, 0x03, 0x02, 0x91, 0x2E, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0xA9, 0x2E, 0x03, 0x02
- .byte 0x81, 0x1C, 0x01, 0x29, 0x00, 0xD9, 0x40, 0x42, 0x01, 0x49, 0x09, 0x68, 0x48, 0x63, 0x70, 0x47
- .byte 0x00, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x00, 0x20, 0xA4, 0xF1, 0x62, 0xFC, 0x0A, 0x28, 0x04, 0xDB
- .byte 0x11, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xEC, 0xFE, 0x08, 0xBD, 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7
- .byte 0xE7, 0xFF, 0x0E, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xE3, 0xFE, 0x08, 0xBD, 0x01, 0x28, 0x04, 0xD1
- .byte 0x0B, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xDC, 0xFE, 0x08, 0xBD, 0x02, 0x28, 0x04, 0xD1, 0x09, 0x48
- .byte 0x00, 0x21, 0xFE, 0xF7, 0xD5, 0xFE, 0x08, 0xBD, 0x03, 0x28, 0x03, 0xD1, 0x02, 0x48, 0x00, 0x21
- .byte 0xFE, 0xF7, 0xCE, 0xFE, 0x08, 0xBD, 0xC0, 0x46, 0xAD, 0x2E, 0x03, 0x02, 0x8D, 0x2E, 0x03, 0x02
- .byte 0xB1, 0x2E, 0x03, 0x02, 0xA9, 0x2E, 0x03, 0x02, 0x08, 0xB5, 0x01, 0x20, 0xA4, 0xF1, 0x30, 0xFC
- .byte 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7, 0xBC, 0xFF, 0x09, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xB8, 0xFE
- .byte 0x08, 0xBD, 0x08, 0x48, 0x00, 0x68, 0x42, 0x30, 0x00, 0x78, 0xA5, 0xF1, 0x6B, 0xFA, 0x00, 0x28
- .byte 0x05, 0xD0, 0xFC, 0xF7, 0x4D, 0xFE, 0x04, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xA9, 0xFE, 0x08, 0xBD
- .byte 0x8D, 0x2E, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x10, 0xB5, 0x04, 0x1C
- .byte 0x06, 0x48, 0x07, 0x49, 0xA4, 0xF1, 0xEE, 0xFB, 0x06, 0x48, 0x00, 0x21, 0x00, 0x68, 0x42, 0x30
- .byte 0x04, 0x70, 0x05, 0x48, 0xFE, 0xF7, 0x94, 0xFE, 0x01, 0x20, 0x10, 0xBD, 0xBD, 0x03, 0x03, 0x02
- .byte 0x39, 0x02, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x99, 0x2F, 0x03, 0x02, 0x0E, 0x48, 0x00, 0x68
- .byte 0x41, 0x6A, 0x0E, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0x47, 0x0C, 0x48, 0x81, 0x42
- .byte 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x0B, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x03, 0x20, 0x70, 0x47
- .byte 0x09, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x04, 0x20, 0x70, 0x47, 0x08, 0x48, 0x81, 0x42, 0x01, 0xD1
- .byte 0x05, 0x20, 0x70, 0x47, 0x02, 0x20, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02
- .byte 0xB1, 0x2E, 0x03, 0x02, 0x91, 0x2E, 0x03, 0x02, 0xA9, 0x2E, 0x03, 0x02, 0xAD, 0x2E, 0x03, 0x02
- .byte 0x08, 0xB5, 0x0B, 0x48, 0x0B, 0x49, 0xA4, 0xF1, 0xAD, 0xFB, 0x00, 0x20, 0xC0, 0x43, 0xA5, 0xF1
- .byte 0x11, 0xFA, 0x00, 0x28, 0x0A, 0xD0, 0x08, 0x48, 0x00, 0x21, 0x00, 0x68, 0x4D, 0x30, 0x01, 0x70
- .byte 0xFC, 0xF7, 0xEE, 0xFD, 0x05, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x4A, 0xFE, 0x08, 0xBD, 0xC0, 0x46
- .byte 0xBD, 0x03, 0x03, 0x02, 0x39, 0x02, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02
- .byte 0x08, 0xB5, 0x00, 0x20, 0xFE, 0xF7, 0x7C, 0xF9, 0x0B, 0x48, 0x00, 0x68, 0x41, 0x30, 0x00, 0x78
- .byte 0xA5, 0xF1, 0x04, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0xA5, 0xF1, 0x58, 0xF9, 0x07, 0x48, 0x00, 0x21
- .byte 0xFE, 0xF7, 0x2E, 0xFE, 0x08, 0xBD, 0xA4, 0xF1, 0x61, 0xFF, 0x00, 0x28, 0x03, 0xDA, 0x04, 0x48
- .byte 0x00, 0x21, 0xFE, 0xF7, 0x25, 0xFE, 0x08, 0xBD, 0x00, 0x5A, 0x1C, 0x02, 0x61, 0x30, 0x03, 0x02
- .byte 0x8D, 0x2E, 0x03, 0x02, 0x08, 0xB5, 0xFE, 0xF7, 0x53, 0xF8, 0x00, 0x28, 0x08, 0xD1, 0x0C, 0x48
- .byte 0x00, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0x0A, 0x48, 0xFE, 0xF7, 0x11, 0xFE, 0x08, 0xE0
- .byte 0x07, 0x48, 0x01, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7
- .byte 0x07, 0xFE, 0x03, 0x48, 0x01, 0x21, 0x00, 0x68, 0x4D, 0x30, 0x01, 0x70, 0x08, 0xBD, 0xC0, 0x46
- .byte 0x00, 0x5A, 0x1C, 0x02, 0xA1, 0x30, 0x03, 0x02, 0x02, 0x48, 0x00, 0x68, 0x4D, 0x30, 0x00, 0x78
- .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x04, 0x48, 0x00, 0x68, 0x41, 0x6A, 0x04, 0x48
- .byte 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02
- .byte 0x61, 0x30, 0x03, 0x02, 0x07, 0x48, 0x00, 0x68, 0x41, 0x6A, 0x07, 0x48, 0x81, 0x42, 0x01, 0xD1
- .byte 0x01, 0x20, 0x70, 0x47, 0x05, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20
- .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02
- .byte 0x01, 0x48, 0x00, 0x68, 0x40, 0x6B, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02
+
+ thumb_func_start FUN_02032E90
+FUN_02032E90: ; 0x02032E90
+ push {r3, lr}
+ bl FUN_021D7F8C
+ cmp r0, #0x0
+ bge _02032EA2
+ ldr r0, _02032EA4 ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+_02032EA2:
+ pop {r3, pc}
+ .balign 4
+_02032EA4: .word FUN_02032E8C + 1
+
+ thumb_func_start FUN_02032EA8
+FUN_02032EA8: ; 0x02032EA8
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02032EAC
+FUN_02032EAC: ; 0x02032EAC
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02032EB0
+FUN_02032EB0: ; 0x02032EB0
+ push {r3, lr}
+ mov r0, #0x1
+ bl FUN_020313A0
+ bl FUN_021D7F8C
+ cmp r0, #0xa
+ blt _02032ECA
+ ldr r0, _02032F0C ; =FUN_02032EAC
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032ECA:
+ cmp r0, #0x0
+ bge _02032ED8
+ ldr r0, _02032F10 ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032ED8:
+ cmp r0, #0x1
+ bne _02032EE6
+ ldr r0, _02032F14 ; =FUN_02032E90
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032EE6:
+ cmp r0, #0x2
+ bne _02032F08
+ ldr r0, _02032F18 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02032F00
+ ldr r0, _02032F10 ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032F00:
+ ldr r0, _02032F1C ; =FUN_02032EA8
+ mov r1, #0x0
+ bl FUN_02031D20
+_02032F08:
+ pop {r3, pc}
+ nop
+_02032F0C: .word FUN_02032EAC + 1
+_02032F10: .word FUN_02032E8C + 1
+_02032F14: .word FUN_02032E90 + 1
+_02032F18: .word 0x021C5A00
+_02032F1C: .word FUN_02032EA8 + 1
+
+ thumb_func_start FUN_02032F20
+FUN_02032F20: ; 0x02032F20
+ add r1, r0, #0x2
+ cmp r1, #0x1
+ bls _02032F28
+ neg r0, r0
+_02032F28:
+ ldr r1, _02032F30 ; =0x021C5A00
+ ldr r1, [r1, #0x0]
+ str r0, [r1, #0x34]
+ bx lr
+ .balign 4
+_02032F30: .word 0x021C5A00
+
+ thumb_func_start FUN_02032F34
+FUN_02032F34: ; 0x02032F34
+ push {r3, lr}
+ mov r0, #0x0
+ bl FUN_021D7800
+ cmp r0, #0xa
+ blt _02032F4A
+ ldr r0, _02032F88 ; =FUN_02032EAC
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032F4A:
+ cmp r0, #0x0
+ bge _02032F5C
+ bl FUN_02032F20
+ ldr r0, _02032F8C ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032F5C:
+ cmp r0, #0x1
+ bne _02032F6A
+ ldr r0, _02032F90 ; =FUN_02032EB0
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032F6A:
+ cmp r0, #0x2
+ bne _02032F78
+ ldr r0, _02032F94 ; =FUN_02032EA8
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032F78:
+ cmp r0, #0x3
+ bne _02032F84
+ ldr r0, _02032F88 ; =FUN_02032EAC
+ mov r1, #0x0
+ bl FUN_02031D20
+_02032F84:
+ pop {r3, pc}
+ nop
+_02032F88: .word FUN_02032EAC + 1
+_02032F8C: .word FUN_02032E8C + 1
+_02032F90: .word FUN_02032EB0 + 1
+_02032F94: .word FUN_02032EA8 + 1
+
+ thumb_func_start FUN_02032F98
+FUN_02032F98: ; 0x02032F98
+ push {r3, lr}
+ mov r0, #0x1
+ bl FUN_021D7800
+ cmp r0, #0x0
+ bge _02032FB2
+ bl FUN_02032F20
+ ldr r0, _02032FD0 ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02032FB2:
+ ldr r0, _02032FD4 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ add r0, #0x42
+ ldrb r0, [r0, #0x0]
+ bl FUN_021D8494
+ cmp r0, #0x0
+ beq _02032FCE
+ bl FUN_0202FC60
+ ldr r0, _02032FD8 ; =FUN_02032F34
+ mov r1, #0x0
+ bl FUN_02031D20
+_02032FCE:
+ pop {r3, pc}
+ .balign 4
+_02032FD0: .word FUN_02032E8C + 1
+_02032FD4: .word 0x021C5A00
+_02032FD8: .word FUN_02032F34 + 1
+
+ thumb_func_start FUN_02032FDC
+FUN_02032FDC: ; 0x02032FDC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02032FFC ; =FUN_020303BC
+ ldr r1, _02033000 ; =FUN_02030238
+ bl FUN_021D77C4
+ ldr r0, _02033004 ; =0x021C5A00
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x42
+ strb r4, [r0, #0x0]
+ ldr r0, _02033008 ; =FUN_02032F98
+ bl FUN_02031D20
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_02032FFC: .word FUN_020303BC + 1
+_02033000: .word FUN_02030238 + 1
+_02033004: .word 0x021C5A00
+_02033008: .word FUN_02032F98 + 1
+
+ thumb_func_start FUN_0203300C
+FUN_0203300C: ; 0x0203300C
+ ldr r0, _02033048 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x24]
+ ldr r0, _0203304C ; =FUN_02032F34
+ cmp r1, r0
+ bne _0203301C
+ mov r0, #0x0
+ bx lr
+_0203301C:
+ ldr r0, _02033050 ; =FUN_02032EB0
+ cmp r1, r0
+ bne _02033026
+ mov r0, #0x1
+ bx lr
+_02033026:
+ ldr r0, _02033054 ; =FUN_02032E90
+ cmp r1, r0
+ bne _02033030
+ mov r0, #0x3
+ bx lr
+_02033030:
+ ldr r0, _02033058 ; =FUN_02032EA8
+ cmp r1, r0
+ bne _0203303A
+ mov r0, #0x4
+ bx lr
+_0203303A:
+ ldr r0, _0203305C ; =FUN_02032EAC
+ cmp r1, r0
+ bne _02033044
+ mov r0, #0x5
+ bx lr
+_02033044:
+ mov r0, #0x2
+ bx lr
+ .balign 4
+_02033048: .word 0x021C5A00
+_0203304C: .word FUN_02032F34 + 1
+_02033050: .word FUN_02032EB0 + 1
+_02033054: .word FUN_02032E90 + 1
+_02033058: .word FUN_02032EA8 + 1
+_0203305C: .word FUN_02032EAC + 1
+
+ thumb_func_start FUN_02033060
+FUN_02033060: ; 0x02033060
+ push {r3, lr}
+ ldr r0, _02033090 ; =FUN_020303BC
+ ldr r1, _02033094 ; =FUN_02030238
+ bl FUN_021D77C4
+ mov r0, #0x0
+ mvn r0, r0
+ bl FUN_021D8494
+ cmp r0, #0x0
+ beq _0203308C
+ ldr r0, _02033098 ; =0x021C5A00
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x4d
+ strb r1, [r0, #0x0]
+ bl FUN_0202FC60
+ ldr r0, _0203309C ; =FUN_02032F34
+ mov r1, #0x0
+ bl FUN_02031D20
+_0203308C:
+ pop {r3, pc}
+ nop
+_02033090: .word FUN_020303BC + 1
+_02033094: .word FUN_02030238 + 1
+_02033098: .word 0x021C5A00
+_0203309C: .word FUN_02032F34 + 1
+
+ thumb_func_start FUN_020330A0
+FUN_020330A0: ; 0x020330A0
+ push {r3, lr}
+ mov r0, #0x0
+ bl FUN_020313A0
+ ldr r0, _020330D8 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ add r0, #0x41
+ ldrb r0, [r0, #0x0]
+ bl FUN_021D82BC
+ cmp r0, #0x0
+ beq _020330C6
+ bl FUN_021D836C
+ ldr r0, _020330DC ; =FUN_02033060
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_020330C6:
+ bl FUN_021D7F8C
+ cmp r0, #0x0
+ bge _020330D6
+ ldr r0, _020330E0 ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+_020330D6:
+ pop {r3, pc}
+ .balign 4
+_020330D8: .word 0x021C5A00
+_020330DC: .word FUN_02033060 + 1
+_020330E0: .word FUN_02032E8C + 1
+
+ thumb_func_start FUN_020330E4
+FUN_020330E4: ; 0x020330E4
+ push {r3, lr}
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02033100
+ ldr r0, _02033120 ; =0x021C5A00
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x41
+ strb r1, [r0, #0x0]
+ ldr r0, _02033124 ; =FUN_020330A0
+ bl FUN_02031D20
+ b _02033112
+_02033100:
+ ldr r0, _02033120 ; =0x021C5A00
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, #0x41
+ strb r1, [r0, #0x0]
+ ldr r0, _02033124 ; =FUN_020330A0
+ mov r1, #0x0
+ bl FUN_02031D20
+_02033112:
+ ldr r0, _02033120 ; =0x021C5A00
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, #0x4d
+ strb r1, [r0, #0x0]
+ pop {r3, pc}
+ nop
+_02033120: .word 0x021C5A00
+_02033124: .word FUN_020330A0 + 1
+
+ thumb_func_start FUN_02033128
+FUN_02033128: ; 0x02033128
+ ldr r0, _02033134 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ add r0, #0x4d
+ ldrb r0, [r0, #0x0]
+ bx lr
+ nop
+_02033134: .word 0x021C5A00
+
+ thumb_func_start FUN_02033138
+FUN_02033138: ; 0x02033138
+ ldr r0, _0203314C ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x24]
+ ldr r0, _02033150 ; =FUN_02033060
+ cmp r1, r0
+ bne _02033148
+ mov r0, #0x1
+ bx lr
+_02033148:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0203314C: .word 0x021C5A00
+_02033150: .word FUN_02033060 + 1
+
+ thumb_func_start FUN_02033154
+FUN_02033154: ; 0x02033154
+ ldr r0, _02033174 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x24]
+ ldr r0, _02033178 ; =FUN_02032F34
+ cmp r1, r0
+ bne _02033164
+ mov r0, #0x1
+ bx lr
+_02033164:
+ ldr r0, _0203317C ; =FUN_02033060
+ cmp r1, r0
+ bne _0203316E
+ mov r0, #0x1
+ bx lr
+_0203316E:
+ mov r0, #0x0
+ bx lr
+ nop
+_02033174: .word 0x021C5A00
+_02033178: .word FUN_02032F34 + 1
+_0203317C: .word FUN_02033060 + 1
+
+ thumb_func_start FUN_02033180
+FUN_02033180: ; 0x02033180
+ ldr r0, _02033188 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x34]
+ bx lr
+ .balign 4
+_02033188: .word 0x021C5A00
thumb_func_start FUN_0203318C
FUN_0203318C: ; 0x0203318C
@@ -102483,13 +109747,13 @@ FUN_020331E8: ; 0x020331E8
mov r1, #0x0
add r0, #0x41
strb r1, [r0, #0x0]
- ldr r0, _02033204 ; =0x020330A1
+ ldr r0, _02033204 ; =FUN_020330A0
bl FUN_02031D20
_020331FE:
pop {r3, pc}
.balign 4
_02033200: .word 0x021C5A00
-_02033204: .word 0x020330A1
+_02033204: .word FUN_020330A0 + 1
thumb_func_start FUN_02033208
FUN_02033208: ; 0x02033208
@@ -102511,14 +109775,14 @@ _02033224:
ldr r0, [r0, #0x0]
add r0, #0x41
strb r1, [r0, #0x0]
- ldr r0, _02033238 ; =0x020330A1
+ ldr r0, _02033238 ; =FUN_020330A0
mov r1, #0x0
bl FUN_02031D20
_02033232:
pop {r3, pc}
.balign 4
_02033234: .word 0x021C5A00
-_02033238: .word 0x020330A1
+_02033238: .word FUN_020330A0 + 1
thumb_func_start FUN_0203323C
FUN_0203323C: ; 0x0203323C
@@ -102544,7 +109808,7 @@ FUN_02033250: ; 0x02033250
mov r0, #0x1
bx lr
_02033264:
- ldr r0, _02033284 ; =0x02032E91
+ ldr r0, _02033284 ; =FUN_02032E90
cmp r1, r0
bne _02033276
add r2, #0x44
@@ -102559,7 +109823,7 @@ _02033276:
nop
_0203327C: .word 0x021C5A00
_02033280: .word FUN_02032E8C + 1
-_02033284: .word 0x02032E91
+_02033284: .word FUN_02032E90 + 1
thumb_func_start FUN_02033288
FUN_02033288: ; 0x02033288
@@ -102738,23 +110002,122 @@ _020333E4:
pop {r3, pc}
nop
_020333EC: .word 0x021C5A00
-_020333F0:
- .byte 0x08, 0xB5, 0xA4, 0xF1, 0x5B, 0xF9, 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7, 0x91, 0xFD, 0x05, 0x48
- .byte 0x00, 0x21, 0xFE, 0xF7, 0x8D, 0xFC, 0x08, 0xBD, 0x03, 0xDD, 0x03, 0x48, 0x00, 0x21, 0xFE, 0xF7
- .byte 0x87, 0xFC, 0x08, 0xBD, 0x8D, 0x2E, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02, 0x08, 0xB5, 0xFB, 0xF7
- .byte 0x53, 0xF8, 0x00, 0x28, 0x1B, 0xD0, 0x31, 0x21, 0x03, 0x20, 0x0A, 0x03, 0xE3, 0xF7, 0xFC, 0xF9
- .byte 0x01, 0x20, 0x01, 0x1C, 0x42, 0x02, 0x03, 0x1C, 0xFC, 0xF7, 0x6E, 0xFA, 0x00, 0x28, 0x0E, 0xD0
- .byte 0x07, 0x48, 0x31, 0x21, 0x00, 0x68, 0x80, 0x6A, 0xA4, 0xF1, 0x4A, 0xF8, 0x05, 0x48, 0xA4, 0xF1
- .byte 0xAB, 0xFF, 0xFC, 0xF7, 0xDD, 0xFA, 0x04, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x61, 0xFC, 0x08, 0xBD
- .byte 0x00, 0x5A, 0x1C, 0x02, 0xD1, 0x35, 0x03, 0x02, 0xF1, 0x33, 0x03, 0x02, 0x38, 0xB5, 0x05, 0x1C
- .byte 0x0C, 0x1C, 0xF0, 0xF7, 0x3F, 0xFA, 0xFD, 0xF7, 0x63, 0xFD, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20
- .byte 0x38, 0xBD, 0x01, 0x20, 0xE3, 0xF7, 0x10, 0xF9, 0x11, 0x4A, 0x03, 0x20, 0x0F, 0x21, 0xE3, 0xF7
- .byte 0xCB, 0xF9, 0x28, 0x1C, 0x17, 0x21, 0xFE, 0xF7, 0x4D, 0xF9, 0x0F, 0x20, 0x21, 0x1C, 0xE3, 0xF7
- .byte 0x7B, 0xFA, 0x0C, 0x49, 0x0A, 0x68, 0x10, 0x60, 0x08, 0x68, 0x00, 0x21, 0x00, 0x68, 0x22, 0x1C
- .byte 0x9A, 0xF0, 0x4C, 0xEF, 0x07, 0x48, 0x00, 0x21, 0x02, 0x68, 0x40, 0x32, 0x11, 0x70, 0x00, 0x68
- .byte 0x85, 0x62, 0x05, 0x48, 0xFE, 0xF7, 0x2C, 0xFC, 0x02, 0x48, 0x00, 0x68, 0x00, 0x68, 0x38, 0xBD
- .byte 0x80, 0x70, 0x00, 0x00, 0x00, 0x5A, 0x1C, 0x02, 0x1D, 0x34, 0x03, 0x02, 0x01, 0x48, 0x00, 0x68
- .byte 0x00, 0x68, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02
+
+ thumb_func_start FUN_020333F0
+FUN_020333F0: ; 0x020333F0
+ push {r3, lr}
+ bl FUN_021D76AC
+ cmp r0, #0x0
+ bge _02033408
+ bl FUN_02032F20
+ ldr r0, _02033414 ; =FUN_02032E8C
+ mov r1, #0x0
+ bl FUN_02031D20
+ pop {r3, pc}
+_02033408:
+ ble _02033412
+ ldr r0, _02033418 ; =FUN_02033060
+ mov r1, #0x0
+ bl FUN_02031D20
+_02033412:
+ pop {r3, pc}
+ .balign 4
+_02033414: .word FUN_02032E8C + 1
+_02033418: .word FUN_02033060 + 1
+
+ thumb_func_start FUN_0203341C
+FUN_0203341C: ; 0x0203341C
+ push {r3, lr}
+ bl FUN_0202E4C8
+ cmp r0, #0x0
+ beq _0203345E
+ mov r1, #0x31
+ mov r0, #0x3
+ lsl r2, r1, #0xc
+ bl FUN_02016828
+ mov r0, #0x1
+ add r1, r0, #0x0
+ lsl r2, r0, #0x9
+ add r3, r0, #0x0
+ bl FUN_0202F918
+ cmp r0, #0x0
+ beq _0203345E
+ ldr r0, _02033460 ; =0x021C5A00
+ mov r1, #0x31
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x28]
+ bl FUN_021D74E0
+ ldr r0, _02033464 ; =FUN_020335D0
+ bl FUN_021D83A8
+ bl FUN_0202FA10
+ ldr r0, _02033468 ; =FUN_020333F0
+ mov r1, #0x0
+ bl FUN_02031D20
+_0203345E:
+ pop {r3, pc}
+ .balign 4
+_02033460: .word 0x021C5A00
+_02033464: .word FUN_020335D0 + 1
+_02033468: .word FUN_020333F0 + 1
+
+ thumb_func_start FUN_0203346C
+FUN_0203346C: ; 0x0203346C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020238F4
+ bl FUN_02030F40
+ cmp r0, #0x0
+ beq _02033482
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02033482:
+ mov r0, #0x1
+ bl FUN_020166A8
+ ldr r2, _020334D0 ; =0x00007080
+ mov r0, #0x3
+ mov r1, #0xf
+ bl FUN_02016828
+ add r0, r5, #0x0
+ mov r1, #0x17
+ bl FUN_02031734
+ mov r0, #0xf
+ add r1, r4, #0x0
+ bl FUN_02016998
+ ldr r1, _020334D4 ; =0x021C5A00
+ ldr r2, [r1, #0x0]
+ str r0, [r2, #0x0]
+ ldr r0, [r1, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r2, r4, #0x0
+ blx FUN_020CE34C
+ ldr r0, _020334D4 ; =0x021C5A00
+ mov r1, #0x0
+ ldr r2, [r0, #0x0]
+ add r2, #0x40
+ strb r1, [r2, #0x0]
+ ldr r0, [r0, #0x0]
+ str r5, [r0, #0x28]
+ ldr r0, _020334D8 ; =FUN_0203341C
+ bl FUN_02031D20
+ ldr r0, _020334D4 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_020334D0: .word 0x00007080
+_020334D4: .word 0x021C5A00
+_020334D8: .word FUN_0203341C + 1
+
+ thumb_func_start FUN_020334DC
+FUN_020334DC: ; 0x020334DC
+ ldr r0, _020334E4 ; =0x021C5A00
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+_020334E4: .word 0x021C5A00
thumb_func_start FUN_020334E8
FUN_020334E8: ; 0x020334E8
@@ -103049,28 +110412,80 @@ FUN_020336C8: ; 0x020336C8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r0, r3, #0
- lsl r0, r6, #0
- lsl r6, r2, #0x1
- lsl r6, r4, #0x1
- lsl r6, r0, #0x2
- lsl r4, r1, #0x2
+_020336E2: ; jump table (using 16-bit offset)
+ .short _020336F0 - _020336E2 - 2; case 0
+ .short _020336FC - _020336E2 - 2; case 1
+ .short _02033714 - _020336E2 - 2; case 2
+ .short _0203373A - _020336E2 - 2; case 3
+ .short _0203374A - _020336E2 - 2; case 4
+ .short _0203376A - _020336E2 - 2; case 5
+ .short _02033770 - _020336E2 - 2; case 6
+_020336F0:
mov r0, #0x6f
bl FUN_02031588
mov r0, #0x1
str r0, [r4, #0x0]
b _02033774
_020336FC:
- .byte 0x6F, 0x20, 0xFD, 0xF7
- .byte 0x6B, 0xFF, 0x00, 0x28, 0x36, 0xD0, 0x28, 0x1C, 0x31, 0x1C, 0xEF, 0xF7, 0x99, 0xF8, 0x02, 0x20
- .byte 0x20, 0x60, 0x2F, 0xE0, 0xEF, 0xF7, 0x9E, 0xF8, 0x05, 0x1C, 0x02, 0x2D, 0x01, 0xD1, 0xED, 0xF7
- .byte 0x85, 0xFA, 0x03, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x81, 0xFA, 0x01, 0x2D, 0x22, 0xD1, 0x03, 0x20
- .byte 0x20, 0x60, 0x70, 0x20, 0xFD, 0xF7, 0x28, 0xFF, 0x1C, 0xE0, 0x70, 0x20, 0xFD, 0xF7, 0x4C, 0xFF
- .byte 0x00, 0x28, 0x17, 0xD0, 0x04, 0x20, 0x20, 0x60, 0x14, 0xE0, 0xEF, 0xF7, 0x83, 0xF8, 0x05, 0x1C
- .byte 0x03, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x6A, 0xFA, 0x01, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x66, 0xFA
- .byte 0x02, 0x2D, 0x07, 0xD1, 0x05, 0x20, 0x20, 0x60, 0x04, 0xE0, 0x06, 0x20, 0x20, 0x60, 0x01, 0xE0
- .byte 0x01, 0x20, 0x70, 0xBD
+ mov r0, #0x6f
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02033774
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02022840
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ b _02033774
+_02033714:
+ bl FUN_02022854
+ add r5, r0, #0x0
+ cmp r5, #0x2
+ bne _02033722
+ bl FUN_02020C2C
+_02033722:
+ cmp r5, #0x3
+ bne _0203372A
+ bl FUN_02020C2C
+_0203372A:
+ cmp r5, #0x1
+ bne _02033774
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ mov r0, #0x70
+ bl FUN_02031588
+ b _02033774
+_0203373A:
+ mov r0, #0x70
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02033774
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _02033774
+_0203374A:
+ bl FUN_02022854
+ add r5, r0, #0x0
+ cmp r5, #0x3
+ bne _02033758
+ bl FUN_02020C2C
+_02033758:
+ cmp r5, #0x1
+ bne _02033760
+ bl FUN_02020C2C
+_02033760:
+ cmp r5, #0x2
+ bne _02033774
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02033774
+_0203376A:
+ mov r0, #0x6
+ str r0, [r4, #0x0]
+ b _02033774
+_02033770:
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02033774:
mov r0, #0x0
pop {r4-r6, pc}
@@ -104111,17 +111526,26 @@ FUN_02033F70: ; 0x02033F70
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r4, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
+_02033F88: ; jump table (using 16-bit offset)
+ .short _02033F92 - _02033F88 - 2; case 0
+ .short _02033F96 - _02033F88 - 2; case 1
+ .short _02033F9A - _02033F88 - 2; case 2
+ .short _02033F9E - _02033F88 - 2; case 3
+ .short _02033FA2 - _02033F88 - 2; case 4
_02033F92:
mov r5, #0x1
b _02033FA4
_02033F96:
- .byte 0x02, 0x25, 0x04, 0xE0, 0x03, 0x25, 0x02, 0xE0, 0x04, 0x25
- .byte 0x00, 0xE0, 0x05, 0x25
+ mov r5, #0x2
+ b _02033FA4
+_02033F9A:
+ mov r5, #0x3
+ b _02033FA4
+_02033F9E:
+ mov r5, #0x4
+ b _02033FA4
+_02033FA2:
+ mov r5, #0x5
_02033FA4:
mov r0, #0x0
add r1, r0, #0x0
@@ -106795,22 +114219,24 @@ FUN_020352E4: ; 0x020352E4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r3, #0
- lsl r6, r1, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r6, r5, #0x1
- lsl r6, r6, #0x1
- lsl r6, r7, #0x1
- lsl r6, r0, #0x2
- lsl r6, r6, #0x2
- lsl r4, r1, #0x3
- lsl r4, r5, #0x3
- lsl r0, r1, #0x4
- lsl r6, r1, #0x2
- lsl r6, r6, #0x4
- lsl r6, r5, #0x5
- lsl r0, r5, #0x4
+_02035308: ; jump table (using 16-bit offset)
+ .short _02035328 - _02035308 - 2; case 0
+ .short _02035358 - _02035308 - 2; case 1
+ .short _02035368 - _02035308 - 2; case 2
+ .short _02035370 - _02035308 - 2; case 3
+ .short _02035378 - _02035308 - 2; case 4
+ .short _02035380 - _02035308 - 2; case 5
+ .short _02035388 - _02035308 - 2; case 6
+ .short _02035390 - _02035308 - 2; case 7
+ .short _020353C0 - _02035308 - 2; case 8
+ .short _020353D6 - _02035308 - 2; case 9
+ .short _020353F6 - _02035308 - 2; case 10
+ .short _02035412 - _02035308 - 2; case 11
+ .short _02035398 - _02035308 - 2; case 12
+ .short _02035440 - _02035308 - 2; case 13
+ .short _02035478 - _02035308 - 2; case 14
+ .short _02035432 - _02035308 - 2; case 15
+_02035328:
ldr r0, [r5, #0x34]
bl FUN_02058780
mov r1, #0x73
@@ -106831,30 +114257,137 @@ FUN_020352E4: ; 0x020352E4
strh r0, [r4, #0x2a]
b _02035484
_02035358:
- .byte 0x30, 0x1C, 0x00, 0xF0, 0xC3, 0xFA, 0x00, 0x28
- .byte 0x00, 0xD0
+ add r0, r6, #0x0
+ bl FUN_020358E4
+ cmp r0, #0x0
+ beq _02035364
_02035362:
b _02035484
_02035364:
- .byte 0x00, 0x20, 0x70, 0xBD, 0x30, 0x1C, 0x00, 0xF0, 0x99, 0xFC, 0x89, 0xE0
- .byte 0x30, 0x1C, 0x00, 0xF0, 0xB3, 0xFC, 0x85, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x39, 0xF9, 0x81, 0xE0
- .byte 0x30, 0x1C, 0x01, 0xF0, 0x5F, 0xF9, 0x7D, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x3D, 0xFD, 0x79, 0xE0
- .byte 0x30, 0x1C, 0x01, 0xF0, 0xC3, 0xFD, 0x75, 0xE0, 0x28, 0x1C, 0x11, 0xF0, 0x83, 0xF8, 0x00, 0x28
- .byte 0x70, 0xD0, 0x68, 0x6B, 0x23, 0xF0, 0xEC, 0xF9, 0x30, 0x1C, 0x00, 0xF0, 0x77, 0xF8, 0x30, 0x1C
- .byte 0x00, 0xF0, 0xC0, 0xF9, 0x01, 0x20, 0xA2, 0xF1, 0x75, 0xFC, 0x0E, 0x20, 0x60, 0x85, 0x61, 0xE0
- .byte 0x28, 0x1C, 0x11, 0xF0, 0x6F, 0xF8, 0x00, 0x28, 0x5C, 0xD0, 0x01, 0x20, 0xA2, 0xF1, 0x6A, 0xFC
- .byte 0x09, 0x20, 0x60, 0x85, 0x56, 0xE0, 0xD8, 0xF7, 0x97, 0xFF, 0x00, 0x28, 0x52, 0xD0, 0x20, 0x1C
- .byte 0x29, 0x1C, 0x00, 0xF0, 0xD3, 0xFA, 0x20, 0x1C, 0xE1, 0xF7, 0x16, 0xFB, 0x68, 0x6B, 0x23, 0xF0
- .byte 0xDF, 0xF9, 0x01, 0x20, 0x70, 0xBD, 0x28, 0x1C, 0x11, 0xF0, 0x54, 0xF8, 0x00, 0x28, 0x41, 0xD0
- .byte 0x68, 0x6B, 0x23, 0xF0, 0xBD, 0xF9, 0x01, 0x20, 0xA2, 0xF1, 0x4C, 0xFC, 0x0B, 0x20, 0x60, 0x85
- .byte 0x38, 0xE0, 0xD8, 0xF7, 0x79, 0xFF, 0x00, 0x28, 0x34, 0xD0, 0x72, 0x22, 0x92, 0x00, 0xA1, 0x58
- .byte 0x30, 0x32, 0xA2, 0x58, 0x30, 0x1C, 0x10, 0xF0, 0xE1, 0xFF, 0x20, 0x1C, 0xE1, 0xF7, 0xF4, 0xFA
- .byte 0x28, 0xE0, 0xE1, 0xF7, 0xF1, 0xFA, 0x68, 0x6B, 0x23, 0xF0, 0xBA, 0xF9, 0x01, 0x20, 0x70, 0xBD
- .byte 0x29, 0x1C, 0x00, 0xF0, 0xA3, 0xFA, 0x20, 0x1C, 0x00, 0xF0, 0x66, 0xF9, 0x20, 0x1C, 0x01, 0x21
- .byte 0xD7, 0xF7, 0x52, 0xFC, 0x20, 0x1C, 0xE3, 0xF7, 0x8F, 0xFE, 0x30, 0x1C, 0x00, 0xF0, 0x20, 0xFA
- .byte 0xA8, 0x68, 0x03, 0x21, 0xE5, 0xF7, 0x00, 0xFC, 0x20, 0x1C, 0xE1, 0xF7, 0xD5, 0xFA, 0x68, 0x6B
- .byte 0x23, 0xF0, 0x9E, 0xF9, 0x01, 0x20, 0x70, 0xBD, 0xD8, 0xF7, 0x46, 0xFF, 0x00, 0x28, 0x01, 0xD0
- .byte 0x01, 0x20, 0x60, 0x85
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02035368:
+ add r0, r6, #0x0
+ bl FUN_02035CA0
+ b _02035484
+_02035370:
+ add r0, r6, #0x0
+ bl FUN_02035CDC
+ b _02035484
+_02035378:
+ add r0, r6, #0x0
+ bl FUN_020365F0
+ b _02035484
+_02035380:
+ add r0, r6, #0x0
+ bl FUN_02036644
+ b _02035484
+_02035388:
+ add r0, r6, #0x0
+ bl FUN_02036E08
+ b _02035484
+_02035390:
+ add r0, r6, #0x0
+ bl FUN_02036F1C
+ b _02035484
+_02035398:
+ add r0, r5, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _02035484
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ add r0, r6, #0x0
+ bl FUN_0203549C
+ add r0, r6, #0x0
+ bl FUN_02035734
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ mov r0, #0xe
+ strh r0, [r4, #0x2a]
+ b _02035484
+_020353C0:
+ add r0, r5, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _02035484
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ mov r0, #0x9
+ strh r0, [r4, #0x2a]
+ b _02035484
+_020353D6:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02035484
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0203598C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020353F6:
+ add r0, r5, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _02035484
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ mov r0, #0xb
+ strh r0, [r4, #0x2a]
+ b _02035484
+_02035412:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02035484
+ mov r2, #0x72
+ lsl r2, r2, #0x2
+ ldr r1, [r4, r2]
+ add r2, #0x30
+ ldr r2, [r4, r2]
+ add r0, r6, #0x0
+ bl FUN_020463EC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ b _02035484
+_02035432:
+ bl FUN_02016A18
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02035440:
+ add r1, r5, #0x0
+ bl FUN_0203598C
+ add r0, r4, #0x0
+ bl FUN_02035718
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ add r0, r4, #0x0
+ bl FUN_02019178
+ add r0, r6, #0x0
+ bl FUN_020358A0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02035478:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02035484
+ mov r0, #0x1
+ strh r0, [r4, #0x2a]
_02035484:
ldr r0, [r4, #0x20]
cmp r0, #0x0
@@ -108103,30 +115636,32 @@ _02035E90:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0xd
- lsl r6, r5, #0
- lsl r0, r1, #0xd
- lsl r4, r1, #0x9
- lsl r4, r5, #0x2
- lsl r2, r6, #0x4
- lsl r0, r7, #0x6
- lsl r6, r1, #0x8
- lsl r6, r4, #0xa
- lsl r2, r2, #0xb
- lsl r4, r5, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
- lsl r6, r0, #0xc
+_02035E9C: ; jump table (using 16-bit offset)
+ .short _020361E6 - _02035E9C - 2; case 0
+ .short _02035ECC - _02035E9C - 2; case 1
+ .short _020361E6 - _02035E9C - 2; case 2
+ .short _020360EA - _02035E9C - 2; case 3
+ .short _02035F4A - _02035E9C - 2; case 4
+ .short _02035FD0 - _02035E9C - 2; case 5
+ .short _02036056 - _02035E9C - 2; case 6
+ .short _020360AC - _02035E9C - 2; case 7
+ .short _02036144 - _02035E9C - 2; case 8
+ .short _02036170 - _02035E9C - 2; case 9
+ .short _020361CA - _02035E9C - 2; case 10
+ .short _020361A4 - _02035E9C - 2; case 11
+ .short _020361A4 - _02035E9C - 2; case 12
+ .short _020361A4 - _02035E9C - 2; case 13
+ .short _020361A4 - _02035E9C - 2; case 14
+ .short _020361A4 - _02035E9C - 2; case 15
+ .short _020361A4 - _02035E9C - 2; case 16
+ .short _020361A4 - _02035E9C - 2; case 17
+ .short _020361A4 - _02035E9C - 2; case 18
+ .short _020361A4 - _02035E9C - 2; case 19
+ .short _020361A4 - _02035E9C - 2; case 20
+ .short _020361A4 - _02035E9C - 2; case 21
+ .short _020361A4 - _02035E9C - 2; case 22
+ .short _020361A4 - _02035E9C - 2; case 23
+_02035ECC:
mov r0, #0xb
mov r1, #0x30
bl FUN_02016998
@@ -108179,49 +115714,305 @@ _02035E90:
bl FUN_02035D04
b _0203625E
_02035F4A:
- .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7
- .byte 0x23, 0xFD, 0x07, 0x1C, 0xE8, 0x68, 0x35, 0xF0, 0xE1, 0xFD, 0x38, 0x60, 0xE8, 0x68, 0xED, 0xF7
- .byte 0xCF, 0xFC, 0x78, 0x60, 0x01, 0x21, 0x30, 0x1C, 0x79, 0x74, 0x22, 0x30, 0x00, 0x78, 0x38, 0x75
- .byte 0xF9, 0x74, 0xF0, 0x8C, 0x38, 0x83, 0x02, 0x20, 0xB8, 0x74, 0xE8, 0x68, 0x35, 0xF0, 0xD4, 0xFD
- .byte 0xF8, 0x61, 0xE8, 0x68, 0x43, 0xF0, 0x74, 0xFE, 0xF8, 0x62, 0x00, 0x20, 0xB8, 0x62, 0xB9, 0x49
- .byte 0x38, 0x1C, 0x45, 0xF0, 0x35, 0xF8, 0xE8, 0x68, 0xED, 0xF7, 0xAC, 0xFC, 0x01, 0x1C, 0x38, 0x1C
- .byte 0x46, 0xF0, 0x80, 0xF9, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0xF0, 0xE0, 0xFC, 0x0B, 0x20, 0x04, 0x21
- .byte 0xE0, 0xF7, 0xF2, 0xFC, 0xB1, 0x8C, 0x01, 0x80, 0x00, 0x21, 0x41, 0x80, 0x7F, 0x21, 0x89, 0x00
- .byte 0x60, 0x50, 0x08, 0x1F, 0x27, 0x50, 0xAA, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x9B, 0xFE, 0x46, 0xE1
- .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7, 0xE0, 0xFC, 0x07, 0x1C, 0xE8, 0x68, 0x35, 0xF0, 0x9E, 0xFD
- .byte 0x38, 0x60, 0xE8, 0x68, 0xED, 0xF7, 0x8C, 0xFC, 0x78, 0x60, 0x01, 0x21, 0x30, 0x1C, 0x79, 0x74
- .byte 0x22, 0x30, 0x00, 0x78, 0x38, 0x75, 0xF9, 0x74, 0xF0, 0x8C, 0x38, 0x83, 0x02, 0x20, 0xB8, 0x74
- .byte 0xE8, 0x68, 0x35, 0xF0, 0x91, 0xFD, 0xF8, 0x61, 0xE8, 0x68, 0x43, 0xF0, 0x31, 0xFE, 0xF8, 0x62
- .byte 0x00, 0x20, 0xB8, 0x62, 0x97, 0x49, 0x38, 0x1C, 0x44, 0xF0, 0xF2, 0xFF, 0xE8, 0x68, 0xED, 0xF7
- .byte 0x69, 0xFC, 0x01, 0x1C, 0x38, 0x1C, 0x46, 0xF0, 0x3D, 0xF9, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0xF0
- .byte 0x9D, 0xFC, 0x0B, 0x20, 0x04, 0x21, 0xE0, 0xF7, 0xAF, 0xFC, 0x00, 0x21, 0x01, 0x80, 0x71, 0x6B
- .byte 0x41, 0x80, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50, 0x08, 0x1F, 0x27, 0x50, 0x88, 0x49, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0x58, 0xFE, 0x03, 0xE1, 0xB0, 0x8C, 0x38, 0xF0, 0x2E, 0xFD, 0x03, 0x1C, 0x0B, 0x20
- .byte 0x32, 0x1C, 0x00, 0x90, 0x22, 0x32, 0x12, 0x78, 0x28, 0x1C, 0x02, 0x21, 0x01, 0xF0, 0x5E, 0xFF
- .byte 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x30, 0x1C, 0x20, 0x30, 0x00, 0x78, 0x0A, 0x28, 0xB0, 0x8C
- .byte 0x06, 0xD1, 0x32, 0x1C, 0x22, 0x32, 0x12, 0x78, 0x00, 0x21, 0x00, 0xF0, 0x9B, 0xFD, 0x05, 0xE0
- .byte 0x32, 0x1C, 0x22, 0x32, 0x12, 0x78, 0x01, 0x21, 0x00, 0xF0, 0x94, 0xFD, 0x7F, 0x21, 0x89, 0x00
- .byte 0x60, 0x50, 0x75, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x2D, 0xFE, 0xD8, 0xE0, 0xE8, 0x68, 0x35, 0xF0
- .byte 0x35, 0xFD, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x35, 0xF0, 0x7A, 0xFC, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x0B, 0x22, 0x01, 0xF0, 0x65, 0xFF, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x32, 0x1C, 0x22, 0x32
- .byte 0xB0, 0x8C, 0x12, 0x78, 0x02, 0x21, 0x00, 0xF0, 0x75, 0xFD, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50
- .byte 0x65, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0E, 0xFE, 0xB9, 0xE0, 0x0B, 0x20, 0x04, 0x21, 0xE0, 0xF7
- .byte 0x53, 0xFC, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x01, 0x60, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50
- .byte 0xE8, 0x68, 0x39, 0xF0, 0x29, 0xF8, 0x07, 0x1C, 0xE8, 0x68, 0xED, 0xF7, 0xF3, 0xFB, 0x5B, 0x49
- .byte 0x38, 0x1C, 0x0B, 0x22, 0x38, 0xF0, 0x6A, 0xFF, 0x7E, 0x21, 0x89, 0x00, 0x2B, 0x1C, 0x60, 0x50
- .byte 0x94, 0x33, 0x60, 0x58, 0xE9, 0x68, 0x1B, 0x68, 0x01, 0x22, 0x38, 0xF0, 0xF3, 0xF8, 0x7E, 0x21
- .byte 0x89, 0x00, 0x61, 0x58, 0x28, 0x1C, 0x01, 0xF0, 0x71, 0xFB, 0x51, 0x49, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0xE1, 0xFD, 0x8C, 0xE0, 0x0B, 0x20, 0x0C, 0x21, 0xE0, 0xF7, 0x26, 0xFC, 0xB1, 0x8C, 0x41, 0x80
- .byte 0x03, 0x21, 0x41, 0x70, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x01, 0x70, 0x31, 0x8F, 0x81, 0x80
- .byte 0xF1, 0x6B, 0x81, 0x60, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x06, 0x20, 0x60, 0x85, 0x76, 0xE0
- .byte 0x0B, 0x20, 0x0C, 0x21, 0xE0, 0xF7, 0x10, 0xFC, 0x07, 0x1C, 0xE8, 0x69, 0x00, 0x68, 0xFE, 0xF7
- .byte 0x41, 0xFC, 0x78, 0x80, 0x00, 0x20, 0x78, 0x70, 0x30, 0x1C, 0x22, 0x30, 0x00, 0x78, 0x38, 0x70
- .byte 0x30, 0x8F, 0xB8, 0x80, 0xF0, 0x6B, 0xB8, 0x60, 0x7E, 0x20, 0x80, 0x00, 0x27, 0x50, 0x06, 0x20
- .byte 0x60, 0x85, 0x5C, 0xE0, 0x0B, 0x38, 0x01, 0xA9, 0xC8, 0x80, 0x30, 0x1C, 0x22, 0x30, 0x00, 0x78
- .byte 0x88, 0x80, 0x01, 0x97, 0xC9, 0x88, 0x00, 0x20, 0x2D, 0xF0, 0xC6, 0xFB, 0x7A, 0x21, 0x89, 0x00
- .byte 0x02, 0x1C, 0x01, 0xA8, 0x61, 0x18, 0x90, 0x47, 0x49, 0xE0, 0x73, 0x21, 0x89, 0x00, 0x28, 0x1C
- .byte 0x61, 0x18, 0x01, 0xF0, 0x37, 0xFB, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x28, 0x49, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0x90, 0xFD, 0x3B, 0xE0
+ mov r0, #0xb
+ mov r1, #0x30
+ bl FUN_02016998
+ add r7, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r7, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_02023900
+ str r0, [r7, #0x4]
+ mov r1, #0x1
+ add r0, r6, #0x0
+ strb r1, [r7, #0x11]
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ strb r0, [r7, #0x14]
+ strb r1, [r7, #0x13]
+ ldrh r0, [r6, #0x26]
+ strh r0, [r7, #0x18]
+ mov r0, #0x2
+ strb r0, [r7, #0x12]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB28
+ str r0, [r7, #0x1c]
+ ldr r0, [r5, #0xc]
+ bl FUN_02079C70
+ str r0, [r7, #0x2c]
+ mov r0, #0x0
+ str r0, [r7, #0x28]
+ ldr r1, _02036274 ; =0x020F2A8C
+ add r0, r7, #0x0
+ bl FUN_0207B000
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0207C2A4
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_0203796C
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_02016998
+ ldrh r1, [r6, #0x24]
+ strh r1, [r0, #0x0]
+ mov r1, #0x0
+ strh r1, [r0, #0x2]
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ sub r0, r1, #0x4
+ str r7, [r4, r0]
+ ldr r1, _02036270 ; =FUN_0203684C
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _0203625E
+_02035FD0:
+ mov r0, #0xb
+ mov r1, #0x30
+ bl FUN_02016998
+ add r7, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r7, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_02023900
+ str r0, [r7, #0x4]
+ mov r1, #0x1
+ add r0, r6, #0x0
+ strb r1, [r7, #0x11]
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ strb r0, [r7, #0x14]
+ strb r1, [r7, #0x13]
+ ldrh r0, [r6, #0x26]
+ strh r0, [r7, #0x18]
+ mov r0, #0x2
+ strb r0, [r7, #0x12]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB28
+ str r0, [r7, #0x1c]
+ ldr r0, [r5, #0xc]
+ bl FUN_02079C70
+ str r0, [r7, #0x2c]
+ mov r0, #0x0
+ str r0, [r7, #0x28]
+ ldr r1, _02036274 ; =0x020F2A8C
+ add r0, r7, #0x0
+ bl FUN_0207B000
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0207C2A4
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_0203796C
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_02016998
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ ldr r1, [r6, #0x34]
+ strh r1, [r0, #0x2]
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ sub r0, r1, #0x4
+ str r7, [r4, r0]
+ ldr r1, _02036270 ; =FUN_0203684C
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _0203625E
+_02036056:
+ ldrh r0, [r6, #0x24]
+ bl FUN_0206EAB8
+ add r3, r0, #0x0
+ mov r0, #0xb
+ add r2, r6, #0x0
+ str r0, [sp, #0x0]
+ add r2, #0x22
+ ldrb r2, [r2, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_02037F2C
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r6, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xa
+ ldrh r0, [r6, #0x24]
+ bne _02036090
+ add r2, r6, #0x0
+ add r2, #0x22
+ ldrb r2, [r2, #0x0]
+ mov r1, #0x0
+ bl FUN_02036BC4
+ b _0203609C
+_02036090:
+ add r2, r6, #0x0
+ add r2, #0x22
+ ldrb r2, [r2, #0x0]
+ mov r1, #0x1
+ bl FUN_02036BC4
+_0203609C:
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _02036278 ; =FUN_02036BDC
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _0203625E
+_020360AC:
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ add r1, #0x22
+ ldrb r1, [r1, #0x0]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ mov r2, #0xb
+ bl FUN_02037F90
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r2, r6, #0x0
+ add r2, #0x22
+ ldrh r0, [r6, #0x24]
+ ldrb r2, [r2, #0x0]
+ mov r1, #0x2
+ bl FUN_02036BC4
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _02036278 ; =FUN_02036BDC
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _0203625E
+_020360EA:
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_02016998
+ add r1, r6, #0x0
+ add r1, #0x22
+ ldrb r1, [r1, #0x0]
+ str r1, [r0, #0x0]
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r7, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ ldr r1, _0203627C ; =0x020F2A90
+ add r0, r7, #0x0
+ mov r2, #0xb
+ bl FUN_0206EFEC
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ add r3, r5, #0x0
+ str r0, [r4, r1]
+ add r3, #0x94
+ ldr r0, [r4, r1]
+ ldr r1, [r5, #0xc]
+ ldr r3, [r3, #0x0]
+ mov r2, #0x1
+ bl FUN_0206E314
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_0203781C
+ ldr r1, _02036280 ; =FUN_020362E4
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _0203625E
+_02036144:
+ mov r0, #0xb
+ mov r1, #0xc
+ bl FUN_02016998
+ ldrh r1, [r6, #0x24]
+ strh r1, [r0, #0x2]
+ mov r1, #0x3
+ strb r1, [r0, #0x1]
+ add r1, r6, #0x0
+ add r1, #0x22
+ ldrb r1, [r1, #0x0]
+ strb r1, [r0, #0x0]
+ ldrh r1, [r6, #0x38]
+ strh r1, [r0, #0x4]
+ ldr r1, [r6, #0x3c]
+ str r1, [r0, #0x8]
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x6
+ strh r0, [r4, #0x2a]
+ b _0203625E
+_02036170:
+ mov r0, #0xb
+ mov r1, #0xc
+ bl FUN_02016998
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034A04
+ strh r0, [r7, #0x2]
+ mov r0, #0x0
+ strb r0, [r7, #0x1]
+ add r0, r6, #0x0
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ strb r0, [r7, #0x0]
+ ldrh r0, [r6, #0x38]
+ strh r0, [r7, #0x4]
+ ldr r0, [r6, #0x3c]
+ str r0, [r7, #0x8]
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ str r7, [r4, r0]
+ mov r0, #0x6
+ strh r0, [r4, #0x2a]
+ b _0203625E
+_020361A4:
+ sub r0, #0xb
+ add r1, sp, #0x4
+ strh r0, [r1, #0x6]
+ add r0, r6, #0x0
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ strh r0, [r1, #0x4]
+ str r7, [sp, #0x4]
+ ldrh r1, [r1, #0x6]
+ mov r0, #0x0
+ bl FUN_02063948
+ mov r1, #0x7a
+ lsl r1, r1, #0x2
+ add r2, r0, #0x0
+ add r0, sp, #0x4
+ add r1, r4, r1
+ blx r2
+ b _0203625E
+_020361CA:
+ mov r1, #0x73
+ lsl r1, r1, #0x2
+ add r0, r5, #0x0
+ add r1, r4, r1
+ bl FUN_02037844
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _02036280 ; =FUN_020362E4
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _0203625E
_020361E6:
add r0, r6, #0x0
add r0, #0x20
@@ -108290,8 +116081,9 @@ _0203625E:
nop
_0203626C: .word 0x020F2A9C
_02036270: .word FUN_0203684C + 1
-_02036274:
- .byte 0x8C, 0x2A, 0x0F, 0x02, 0xDD, 0x6B, 0x03, 0x02, 0x90, 0x2A, 0x0F, 0x02
+_02036274: .word 0x020F2A8C
+_02036278: .word FUN_02036BDC + 1
+_0203627C: .word 0x020F2A90
_02036280: .word FUN_020362E4 + 1
thumb_func_start FUN_02036284
@@ -108377,12 +116169,14 @@ _02036328:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r4, r0, #0x1
- lsl r4, r2, #0x1
- lsl r0, r7, #0x6
- lsl r0, r0, #0x3
- lsl r0, r7, #0x6
+_02036334: ; jump table (using 16-bit offset)
+ .short _02036340 - _02036334 - 2; case 0
+ .short _0203637A - _02036334 - 2; case 1
+ .short _0203638A - _02036334 - 2; case 2
+ .short _020364EE - _02036334 - 2; case 3
+ .short _020363F6 - _02036334 - 2; case 4
+ .short _020364EE - _02036334 - 2; case 5
+_02036340:
ldr r0, [sp, #0x8]
bl FUN_0206E37C
add r1, sp, #0x10
@@ -108409,30 +116203,168 @@ _02036328:
blx r2
b _020364F8
_0203637A:
- .byte 0x02, 0x98, 0x37, 0xF0, 0xFE, 0xFF
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x00, 0xF0, 0xEA, 0xFA, 0xB6, 0xE0, 0x0B, 0x20, 0x40, 0x21, 0xE0, 0xF7
- .byte 0x03, 0xFB, 0x00, 0x21, 0x40, 0x22, 0x05, 0x1C, 0xA9, 0xF0, 0x84, 0xE8, 0xF0, 0x68, 0x35, 0xF0
- .byte 0xBD, 0xFB, 0x28, 0x60, 0xF0, 0x68, 0x38, 0xF0, 0xD7, 0xFE, 0x68, 0x60, 0xF0, 0x68, 0xEF, 0xF7
- .byte 0x43, 0xFA, 0xA8, 0x60, 0xF0, 0x68, 0xED, 0xF7, 0xA3, 0xFA, 0xE8, 0x60, 0x7A, 0x20, 0x80, 0x00
- .byte 0x20, 0x18, 0xA8, 0x61, 0x28, 0x1C, 0x00, 0x21, 0x21, 0x30, 0x01, 0x70, 0x28, 0x1C, 0x09, 0x21
- .byte 0x20, 0x30, 0x01, 0x70, 0x02, 0x98, 0x37, 0xF0, 0xD1, 0xFF, 0xA8, 0x84, 0x49, 0x49, 0x30, 0x1C
- .byte 0x2A, 0x1C, 0x00, 0xF0, 0xF7, 0xFF, 0x7E, 0x20, 0x80, 0x00, 0x25, 0x50, 0x46, 0x49, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0x88, 0xFC, 0x80, 0xE0, 0xF0, 0x68, 0x35, 0xF0, 0x90, 0xFB, 0x01, 0x90, 0x7F, 0x20
- .byte 0x80, 0x00, 0x20, 0x58, 0x07, 0x68, 0x02, 0x98, 0x37, 0xF0, 0xB8, 0xFF, 0x05, 0x1C, 0x01, 0x98
- .byte 0x39, 0x1C, 0x35, 0xF0, 0xCD, 0xFA, 0x03, 0x90, 0x7F, 0x20, 0x80, 0x00, 0x20, 0x58, 0xE0, 0xF7
- .byte 0xFB, 0xFA, 0x28, 0x1C, 0x38, 0xF0, 0x38, 0xFB, 0x01, 0x28, 0x23, 0xD1, 0x03, 0x98, 0x06, 0x21
- .byte 0x00, 0x22, 0x30, 0xF0, 0xC3, 0xFE, 0x00, 0x28, 0x1C, 0xD1, 0x28, 0x1C, 0x38, 0xF0, 0x3C, 0xFB
- .byte 0x03, 0x1C, 0x0B, 0x20, 0x3A, 0x06, 0x00, 0x90, 0x30, 0x1C, 0x02, 0x21, 0x12, 0x0E, 0x01, 0xF0
- .byte 0x6D, 0xFD, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x3A, 0x06, 0x28, 0x1C, 0x00, 0x21, 0x12, 0x0E
- .byte 0x00, 0xF0, 0xB0, 0xFB, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50, 0x28, 0x49, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0x49, 0xFC, 0x41, 0xE0, 0x0B, 0x20, 0x40, 0x21, 0xE0, 0xF7, 0x8E, 0xFA, 0x00, 0x21, 0x40, 0x22
- .byte 0x05, 0x1C, 0xA9, 0xF0, 0x10, 0xE8, 0x01, 0x98, 0x28, 0x60, 0xF0, 0x68, 0x38, 0xF0, 0x64, 0xFE
- .byte 0x68, 0x60, 0xF0, 0x68, 0xEF, 0xF7, 0xD0, 0xF9, 0xA8, 0x60, 0xF0, 0x68, 0xED, 0xF7, 0x30, 0xFA
- .byte 0xE8, 0x60, 0x7A, 0x20, 0x80, 0x00, 0x20, 0x18, 0xA8, 0x61, 0x28, 0x1C, 0x00, 0x21, 0x21, 0x30
- .byte 0x01, 0x70, 0x02, 0x98, 0x37, 0xF0, 0x62, 0xFF, 0xA8, 0x84, 0x28, 0x1C, 0x22, 0x30, 0x07, 0x70
- .byte 0xEE, 0x61, 0xA8, 0x8C, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x21, 0x00, 0xE0, 0x0A, 0x21, 0x28, 0x1C
- .byte 0x20, 0x30, 0x01, 0x70, 0x0B, 0x49, 0x30, 0x1C, 0x2A, 0x1C, 0x00, 0xF0, 0x7B, 0xFF, 0x7E, 0x20
- .byte 0x80, 0x00, 0x25, 0x50, 0x08, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0C, 0xFC, 0x04, 0xE0
+ ldr r0, [sp, #0x8]
+ bl FUN_0206E37C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0203695C
+ b _020364F8
+_0203638A:
+ mov r0, #0xb
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r5, r0, #0x0
+ blx FUN_020DF4A4
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r5, #0x0]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206F158
+ str r0, [r5, #0x4]
+ ldr r0, [r6, #0xc]
+ bl FUN_02025838
+ str r0, [r5, #0x8]
+ ldr r0, [r6, #0xc]
+ bl FUN_02023900
+ str r0, [r5, #0xc]
+ mov r0, #0x7a
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ str r0, [r5, #0x18]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r0, [sp, #0x8]
+ bl FUN_0206E37C
+ strh r0, [r5, #0x24]
+ ldr r1, _02036504 ; =0x020F96DC
+ add r0, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_020373D4
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ str r5, [r4, r0]
+ ldr r1, _02036508 ; =FUN_02035E50
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _020364F8
+_020363F6:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ str r0, [sp, #0x4]
+ mov r0, #0x7f
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldr r7, [r0, #0x0]
+ ldr r0, [sp, #0x8]
+ bl FUN_0206E37C
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x4]
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ str r0, [sp, #0xc]
+ mov r0, #0x7f
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ bl FUN_0206EA98
+ cmp r0, #0x1
+ bne _02036474
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02036474
+ add r0, r5, #0x0
+ bl FUN_0206EAB8
+ add r3, r0, #0x0
+ mov r0, #0xb
+ lsl r2, r7, #0x18
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x2
+ lsr r2, r2, #0x18
+ bl FUN_02037F2C
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ lsl r2, r7, #0x18
+ add r0, r5, #0x0
+ mov r1, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02036BC4
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _0203650C ; =FUN_02036BDC
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _020364F8
+_02036474:
+ mov r0, #0xb
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r5, r0, #0x0
+ blx FUN_020DF4A4
+ ldr r0, [sp, #0x4]
+ str r0, [r5, #0x0]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206F158
+ str r0, [r5, #0x4]
+ ldr r0, [r6, #0xc]
+ bl FUN_02025838
+ str r0, [r5, #0x8]
+ ldr r0, [r6, #0xc]
+ bl FUN_02023900
+ str r0, [r5, #0xc]
+ mov r0, #0x7a
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ str r0, [r5, #0x18]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ ldr r0, [sp, #0x8]
+ bl FUN_0206E37C
+ strh r0, [r5, #0x24]
+ add r0, r5, #0x0
+ add r0, #0x22
+ strb r7, [r0, #0x0]
+ str r6, [r5, #0x1c]
+ ldrh r0, [r5, #0x24]
+ cmp r0, #0x0
+ bne _020364CC
+ mov r1, #0x0
+ b _020364CE
+_020364CC:
+ mov r1, #0xa
+_020364CE:
+ add r0, r5, #0x0
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r1, _02036504 ; =0x020F96DC
+ add r0, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_020373D4
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ str r5, [r4, r0]
+ ldr r1, _02036508 ; =FUN_02035E50
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _020364F8
_020364EE:
add r0, r6, #0x0
bl FUN_0204649C
@@ -108444,8 +116376,10 @@ _020364F8:
mov r0, #0x0
add sp, #0x18
pop {r3-r7, pc}
-_02036504:
- .byte 0xDC, 0x96, 0x0F, 0x02, 0x51, 0x5E, 0x03, 0x02, 0xDD, 0x6B, 0x03, 0x02
+ .balign 4
+_02036504: .word 0x020F96DC
+_02036508: .word FUN_02035E50 + 1
+_0203650C: .word FUN_02036BDC + 1
thumb_func_start FUN_02036510
FUN_02036510: ; 0x02036510
@@ -109283,10 +117217,12 @@ FUN_02036BDC: ; 0x02036BDC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r2, #0x1
- lsl r0, r2, #0x2
- lsl r2, r5, #0
- lsl r6, r0, #0
+_02036C06: ; jump table (using 16-bit offset)
+ .short _02036C58 - _02036C06 - 2; case 0
+ .short _02036C98 - _02036C06 - 2; case 1
+ .short _02036C32 - _02036C06 - 2; case 2
+ .short _02036C0E - _02036C06 - 2; case 3
+_02036C0E:
sub r0, r0, #0x4
ldr r0, [r4, r0]
bl FUN_0208562C
@@ -109303,17 +117239,78 @@ FUN_02036BDC: ; 0x02036BDC
bl FUN_02035D04
b _02036CD4
_02036C32:
- .byte 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xF9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78
- .byte 0x28, 0x1C, 0x61, 0x18, 0x00, 0xF0, 0xC0, 0xFE, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x26, 0x49
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0x57, 0xF8, 0x3D, 0xE0, 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xC2, 0xFC
- .byte 0x01, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x21, 0x1C, 0x0C, 0x22, 0x00, 0xF0, 0x3F, 0xF8, 0x31, 0xE0
- .byte 0x7E, 0x20, 0x80, 0x00, 0x20, 0x58, 0x4E, 0xF0, 0xD9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78
- .byte 0x28, 0x1C, 0x61, 0x18, 0x00, 0xF0, 0xA0, 0xFE, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x16, 0x49
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0x37, 0xF8, 0x1D, 0xE0, 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xA2, 0xFC
- .byte 0x01, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x21, 0x1C, 0x0B, 0x22, 0x00, 0xF0, 0x1F, 0xF8, 0x11, 0xE0
- .byte 0x7E, 0x20, 0x80, 0x00, 0x20, 0x58, 0x4E, 0xF0, 0xB9, 0xFC, 0x73, 0x21, 0x89, 0x00, 0x28, 0x1C
- .byte 0x61, 0x18, 0x00, 0xF0, 0xBF, 0xFD, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x05, 0x49, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0x18, 0xF8
+ sub r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_0208562C
+ mov r1, #0x7a
+ lsl r1, r1, #0x2
+ ldrb r2, [r6, #0x2]
+ add r0, r5, #0x0
+ add r1, r4, r1
+ bl FUN_020379C8
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _02036CE8 ; =FUN_02035E50
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _02036CD4
+_02036C58:
+ sub r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_020855E4
+ cmp r0, #0x1
+ bne _02036C70
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0xc
+ bl FUN_02036CEC
+ b _02036CD4
+_02036C70:
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0208562C
+ mov r1, #0x7a
+ lsl r1, r1, #0x2
+ ldrb r2, [r6, #0x2]
+ add r0, r5, #0x0
+ add r1, r4, r1
+ bl FUN_020379C8
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _02036CE8 ; =FUN_02035E50
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ b _02036CD4
+_02036C98:
+ sub r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_020855E4
+ cmp r0, #0x1
+ bne _02036CB0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0xb
+ bl FUN_02036CEC
+ b _02036CD4
+_02036CB0:
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0208562C
+ mov r1, #0x73
+ lsl r1, r1, #0x2
+ add r0, r5, #0x0
+ add r1, r4, r1
+ bl FUN_02037844
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _02036CE4 ; =FUN_020362E4
+ add r0, r4, #0x0
+ bl FUN_02035D04
_02036CD4:
mov r0, #0x7f
lsl r0, r0, #0x2
@@ -109323,8 +117320,7 @@ _02036CD4:
pop {r4-r6, pc}
nop
_02036CE4: .word FUN_020362E4 + 1
-_02036CE8:
- .byte 0x51, 0x5E, 0x03, 0x02
+_02036CE8: .word FUN_02035E50 + 1
thumb_func_start FUN_02036CEC
FUN_02036CEC: ; 0x02036CEC
@@ -109656,17 +117652,30 @@ FUN_02036FA4: ; 0x02036FA4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
+_02036FD4: ; jump table (using 16-bit offset)
+ .short _02036FDC - _02036FD4 - 2; case 0
+ .short _02036FE4 - _02036FD4 - 2; case 1
+ .short _02036FEC - _02036FD4 - 2; case 2
+ .short _02036FF4 - _02036FD4 - 2; case 3
+_02036FDC:
ldr r0, [r5, #0x0]
sub r0, r0, #0x1
str r0, [r5, #0x0]
b _02036FFA
_02036FE4:
- .byte 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x06, 0xE0, 0x20, 0x68, 0x40, 0x1E
- .byte 0x20, 0x60, 0x02, 0xE0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02036FFA
+_02036FEC:
+ ldr r0, [r4, #0x0]
+ sub r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02036FFA
+_02036FF4:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
_02036FFA:
add r0, r7, #0x0
pop {r3-r7, pc}
@@ -109717,17 +117726,30 @@ FUN_02037024: ; 0x02037024
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
+_02037058: ; jump table (using 16-bit offset)
+ .short _02037060 - _02037058 - 2; case 0
+ .short _02037068 - _02037058 - 2; case 1
+ .short _02037070 - _02037058 - 2; case 2
+ .short _02037078 - _02037058 - 2; case 3
+_02037060:
ldr r0, [sp, #0x0]
sub r0, r0, #0x1
str r0, [sp, #0x0]
b _0203707E
_02037068:
- .byte 0x00, 0x98, 0x40, 0x1C, 0x00, 0x90, 0x06, 0xE0
- .byte 0x01, 0x98, 0x40, 0x1E, 0x01, 0x90, 0x02, 0xE0, 0x01, 0x98, 0x40, 0x1C, 0x01, 0x90
+ ldr r0, [sp, #0x0]
+ add r0, r0, #0x1
+ str r0, [sp, #0x0]
+ b _0203707E
+_02037070:
+ ldr r0, [sp, #0x4]
+ sub r0, r0, #0x1
+ str r0, [sp, #0x4]
+ b _0203707E
+_02037078:
+ ldr r0, [sp, #0x4]
+ add r0, r0, #0x1
+ str r0, [sp, #0x4]
_0203707E:
ldr r0, [r5, #0x34]
ldr r1, [sp, #0x4]
@@ -109874,10 +117896,12 @@ _02037176:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r2, #0
- lsl r2, r4, #0
- lsl r0, r6, #0
+_0203718C: ; jump table (using 16-bit offset)
+ .short _02037194 - _0203718C - 2; case 0
+ .short _020371A2 - _0203718C - 2; case 1
+ .short _020371B0 - _0203718C - 2; case 2
+ .short _020371BE - _0203718C - 2; case 3
+_02037194:
ldrh r0, [r4, #0x10]
cmp r0, #0x0
beq _0203719E
@@ -109887,9 +117911,32 @@ _0203719E:
mov r0, #0x1
pop {r4, pc}
_020371A2:
- .byte 0x20, 0x8A, 0x03, 0x28, 0x01, 0xD0, 0x06, 0x28, 0x0F, 0xD1, 0x01, 0x20, 0x10, 0xBD
- .byte 0x20, 0x8A, 0x02, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x08, 0xD1, 0x01, 0x20, 0x10, 0xBD, 0x20, 0x8A
- .byte 0x01, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x10, 0xBD
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x3
+ beq _020371AC
+ cmp r0, #0x6
+ bne _020371CC
+_020371AC:
+ mov r0, #0x1
+ pop {r4, pc}
+_020371B0:
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x2
+ beq _020371BA
+ cmp r0, #0x5
+ bne _020371CC
+_020371BA:
+ mov r0, #0x1
+ pop {r4, pc}
+_020371BE:
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x1
+ beq _020371C8
+ cmp r0, #0x5
+ bne _020371CC
+_020371C8:
+ mov r0, #0x1
+ pop {r4, pc}
_020371CC:
mov r0, #0x0
pop {r4, pc}
@@ -110434,11 +118481,13 @@ _020375E2:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r5, #0x3
- lsl r0, r1, #0
- lsl r2, r2, #0x1
- lsl r0, r5, #0
- lsl r6, r7, #0x1
+_020375F2: ; jump table (using 16-bit offset)
+ .short _020376E2 - _020375F2 - 2; case 0
+ .short _020375FC - _020375F2 - 2; case 1
+ .short _02037646 - _020375F2 - 2; case 2
+ .short _0203761C - _020375F2 - 2; case 3
+ .short _02037672 - _020375F2 - 2; case 4
+_020375FC:
cmp r5, #0x0
beq _02037610
bl FUN_0204E2FC
@@ -110454,20 +118503,99 @@ _02037610:
add sp, #0x10
pop {r3-r5, pc}
_0203761C:
- .byte 0x00, 0x2D, 0x0C, 0xD0
- .byte 0x16, 0xF0, 0x6C, 0xFE, 0x00, 0x28, 0x07, 0xD0, 0x02, 0xA8, 0x21, 0x1C, 0xA1, 0xF1, 0x16, 0xF8
- .byte 0x01, 0x28, 0x02, 0xD1, 0x00, 0x25, 0x00, 0xE0, 0x00, 0x25, 0x20, 0x1C, 0x29, 0x1C, 0x16, 0xF0
- .byte 0x3F, 0xF8, 0x04, 0xB0, 0x38, 0xBD, 0x00, 0x2D, 0x00, 0xD1, 0x83, 0xE0, 0x02, 0xA8, 0x21, 0x1C
- .byte 0xA1, 0xF1, 0x82, 0xF8, 0x01, 0x28, 0x7D, 0xD0, 0x02, 0xAB, 0xD8, 0x88, 0x00, 0x22, 0x00, 0x90
- .byte 0x01, 0x92, 0x9B, 0x88, 0xA0, 0x6B, 0x61, 0x6A, 0x52, 0x1E, 0x1E, 0xF0, 0xC3, 0xF8, 0x04, 0xB0
- .byte 0x38, 0xBD, 0x00, 0x2D, 0x6E, 0xD0, 0x02, 0xA8, 0x21, 0x1C, 0xA1, 0xF1, 0xD1, 0xF8, 0x01, 0x28
- .byte 0x11, 0xD1, 0x60, 0x68, 0x80, 0x68, 0xAB, 0xF1, 0x33, 0xFE, 0x20, 0x1C, 0x04, 0x21, 0xB0, 0xF1
- .byte 0x95, 0xFD, 0xA0, 0x6B, 0xAF, 0xF1, 0x50, 0xFD, 0x20, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xB8, 0xF1
- .byte 0xFD, 0xF9, 0x04, 0xB0, 0x38, 0xBD, 0x2C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x03, 0xD0
- .byte 0x60, 0x68, 0x80, 0x68, 0xAB, 0xF1, 0x1C, 0xFE, 0x00, 0x25, 0x00, 0xF0, 0x69, 0xF8, 0x00, 0x28
- .byte 0x02, 0xD0, 0x1A, 0xF2, 0x37, 0xFF, 0x05, 0x1C, 0x02, 0xAB, 0xD8, 0x88, 0x00, 0x22, 0xD2, 0x43
- .byte 0x00, 0x90, 0x01, 0x95, 0x9B, 0x88, 0xA0, 0x6B, 0x61, 0x6A, 0x1E, 0xF0, 0x8B, 0xF8, 0x04, 0xB0
- .byte 0x38, 0xBD
+ cmp r5, #0x0
+ beq _0203763A
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _02037638
+ add r0, sp, #0x8
+ add r1, r4, #0x0
+ bl FUN_021D865C
+ cmp r0, #0x1
+ bne _0203763A
+ mov r5, #0x0
+ b _0203763A
+_02037638:
+ mov r5, #0x0
+_0203763A:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0204D6C0
+ add sp, #0x10
+ pop {r3-r5, pc}
+_02037646:
+ cmp r5, #0x0
+ bne _0203764C
+ b _02037754
+_0203764C:
+ add r0, sp, #0x8
+ add r1, r4, #0x0
+ bl FUN_021D8758
+ cmp r0, #0x1
+ beq _02037754
+ add r3, sp, #0x8
+ ldrh r0, [r3, #0x6]
+ mov r2, #0x0
+ str r0, [sp, #0x0]
+ str r2, [sp, #0x4]
+ ldrh r3, [r3, #0x4]
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x24]
+ sub r2, r2, #0x1
+ bl FUN_020557F4
+ add sp, #0x10
+ pop {r3-r5, pc}
+_02037672:
+ cmp r5, #0x0
+ beq _02037754
+ add r0, sp, #0x8
+ add r1, r4, #0x0
+ bl FUN_021D8820
+ cmp r0, #0x1
+ bne _020376A6
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0x8]
+ bl FUN_021E32F0
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_021E81BC
+ ldr r0, [r4, #0x38]
+ bl FUN_021E7138
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_021EFA9C
+ add sp, #0x10
+ pop {r3-r5, pc}
+_020376A6:
+ ldr r0, _02037758 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _020376B8
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0x8]
+ bl FUN_021E32F0
+_020376B8:
+ mov r5, #0x0
+ bl FUN_02037790
+ cmp r0, #0x0
+ beq _020376C8
+ bl FUN_02252534
+ add r5, r0, #0x0
+_020376C8:
+ add r3, sp, #0x8
+ ldrh r0, [r3, #0x6]
+ mov r2, #0x0
+ mvn r2, r2
+ str r0, [sp, #0x0]
+ str r5, [sp, #0x4]
+ ldrh r3, [r3, #0x4]
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x24]
+ bl FUN_020557F4
+ add sp, #0x10
+ pop {r3-r5, pc}
_020376E2:
cmp r5, #0x0
beq _02037754
@@ -110529,7 +118657,7 @@ _0203775C: .word 0x00000146
thumb_func_start FUN_02037760
FUN_02037760: ; 0x02037760
ldr r0, _02037770 ; =0x021C5A08
- ldr r3, _02037774 ; =0x02030FC9
+ ldr r3, _02037774 ; =FUN_02030FC8
ldr r0, [r0, #0x0]
mov r1, #0x1
ldr r0, [r0, #0x0]
@@ -110537,7 +118665,7 @@ FUN_02037760: ; 0x02037760
bx r3
nop
_02037770: .word 0x021C5A08
-_02037774: .word 0x02030FC9
+_02037774: .word FUN_02030FC8 + 1
thumb_func_start FUN_02037778
FUN_02037778: ; 0x02037778
@@ -110617,9 +118745,24 @@ FUN_020377E0: ; 0x020377E0
FUN_020377F0: ; 0x020377F0
mov r0, #0x1
bx lr
-_020377F4:
- .byte 0x08, 0xB5, 0xF5, 0xF1, 0xE3, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20
- .byte 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x01, 0x20, 0x70, 0x47
+
+ thumb_func_start FUN_020377F4
+FUN_020377F4: ; 0x020377F4
+ push {r3, lr}
+ bl FUN_0222D5C0
+ cmp r0, #0x0
+ beq _02037802
+ mov r0, #0x1
+ pop {r3, pc}
+_02037802:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02037808
+FUN_02037808: ; 0x02037808
+ mov r0, #0x1
+ bx lr
thumb_func_start FUN_0203780C
FUN_0203780C: ; 0x0203780C
@@ -110965,11 +119108,13 @@ FUN_02037A7C: ; 0x02037A7C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r3, #0
- lsl r6, r1, #0x1
- lsl r0, r6, #0x1
- lsl r6, r0, #0x2
+_02037AA8: ; jump table (using 16-bit offset)
+ .short _02037AB2 - _02037AA8 - 2; case 0
+ .short _02037AC2 - _02037AA8 - 2; case 1
+ .short _02037AF8 - _02037AA8 - 2; case 2
+ .short _02037B1A - _02037AA8 - 2; case 3
+ .short _02037B30 - _02037AA8 - 2; case 4
+_02037AB2:
ldr r1, _02037B40 ; =0x020F96DC
ldr r2, [r4, #0x4]
add r0, r6, #0x0
@@ -110978,14 +119123,63 @@ FUN_02037A7C: ; 0x02037A7C
str r0, [r5, #0x0]
b _02037B3A
_02037AC2:
- .byte 0x30, 0x1C, 0x0E, 0xF0, 0xDA, 0xFC, 0x00, 0x28, 0x36, 0xD1, 0x60, 0x68, 0x22, 0x30
- .byte 0x00, 0x78, 0x06, 0x28, 0x07, 0xD0, 0x07, 0x28, 0x0B, 0xD1, 0x02, 0x20, 0x1A, 0xF0, 0x7C, 0xFE
- .byte 0x04, 0x20, 0x28, 0x60, 0x29, 0xE0, 0x01, 0x20, 0x1A, 0xF0, 0x76, 0xFE, 0x04, 0x20, 0x28, 0x60
- .byte 0x23, 0xE0, 0x02, 0x20, 0x28, 0x60, 0x20, 0xE0, 0x21, 0x68, 0x30, 0x1C, 0x00, 0x22, 0x00, 0xF0
- .byte 0xBD, 0xF8, 0xA0, 0x60, 0x61, 0x68, 0x22, 0x31, 0x09, 0x78, 0x01, 0x75, 0xA1, 0x68, 0x30, 0x1C
- .byte 0xFF, 0xF7, 0x2C, 0xFF, 0x03, 0x20, 0x28, 0x60, 0x0F, 0xE0, 0x30, 0x1C, 0x0E, 0xF0, 0xAE, 0xFC
- .byte 0x00, 0x28, 0x0A, 0xD1, 0xA0, 0x68, 0xDE, 0xF7, 0x77, 0xFF, 0x00, 0x20, 0x28, 0x60, 0x04, 0xE0
- .byte 0x20, 0x1C, 0xDE, 0xF7, 0x71, 0xFF, 0x01, 0x20, 0x70, 0xBD
+ add r0, r6, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02037B3A
+ ldr r0, [r4, #0x4]
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x6
+ beq _02037AE6
+ cmp r0, #0x7
+ bne _02037AF2
+ mov r0, #0x2
+ bl FUN_020527D8
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02037B3A
+_02037AE6:
+ mov r0, #0x1
+ bl FUN_020527D8
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02037B3A
+_02037AF2:
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02037B3A
+_02037AF8:
+ ldr r1, [r4, #0x0]
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_02037C7C
+ str r0, [r4, #0x8]
+ ldr r1, [r4, #0x4]
+ add r1, #0x22
+ ldrb r1, [r1, #0x0]
+ strb r1, [r0, #0x14]
+ ldr r1, [r4, #0x8]
+ add r0, r6, #0x0
+ bl FUN_0203796C
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02037B3A
+_02037B1A:
+ add r0, r6, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02037B3A
+ ldr r0, [r4, #0x8]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _02037B3A
+_02037B30:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02037B3A:
mov r0, #0x0
pop {r4-r6, pc}
@@ -111849,14 +120043,16 @@ _02038218:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r1, #0
- lsl r4, r4, #0
- lsl r2, r6, #0
- lsl r4, r0, #0x1
- lsl r2, r4, #0x1
- lsl r0, r2, #0x3
- lsl r0, r4, #0x5
- lsl r4, r1, #0x6
+_02038224: ; jump table (using 16-bit offset)
+ .short _02038234 - _02038224 - 2; case 0
+ .short _0203824A - _02038224 - 2; case 1
+ .short _02038258 - _02038224 - 2; case 2
+ .short _0203826A - _02038224 - 2; case 3
+ .short _02038288 - _02038224 - 2; case 4
+ .short _020382F6 - _02038224 - 2; case 5
+ .short _02038386 - _02038224 - 2; case 6
+ .short _020383B2 - _02038224 - 2; case 7
+_02038234:
bl FUN_02033590
cmp r0, #0x0
bne _02038242
@@ -111868,38 +120064,191 @@ _02038242:
str r0, [r4, #0x0]
b _020383C8
_0203824A:
- .byte 0x20, 0x1D, 0x29, 0x1C, 0xFF, 0xF7
- .byte 0x79, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x5D, 0x49, 0x30, 0x1C, 0x22, 0x1D, 0x0E, 0xF0
- .byte 0x4F, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0xAE, 0xE0, 0xE1, 0x6A, 0x00, 0x29, 0x08, 0xD1
- .byte 0x20, 0x1D, 0xFF, 0xF7, 0xAB, 0xFF, 0x20, 0x1C, 0xDE, 0xF7, 0xCE, 0xFB, 0x0D, 0xB0, 0x01, 0x20
- .byte 0xF0, 0xBD, 0x40, 0x1C, 0x20, 0x60, 0x9F, 0xE0, 0xE0, 0x6B, 0x20, 0x65, 0x20, 0x6C, 0x30, 0xF0
- .byte 0x29, 0xFF, 0xA0, 0x64, 0x60, 0x6C, 0x30, 0xF0, 0x25, 0xFF, 0xE0, 0x64, 0xE8, 0x68, 0xEB, 0xF7
- .byte 0x2F, 0xFB, 0xE0, 0x65, 0x01, 0x20, 0xA0, 0x65, 0x28, 0x1C, 0x12, 0xF0, 0xFB, 0xFF, 0x04, 0x28
- .byte 0x0A, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00
- .byte 0x08, 0x00, 0x0E, 0x00, 0x14, 0x00, 0x14, 0x00, 0x00, 0x20, 0x60, 0x65, 0x04, 0xE0, 0x01, 0x20
- .byte 0x60, 0x65, 0x01, 0xE0, 0x02, 0x20, 0x60, 0x65, 0xFB, 0xF7, 0x5A, 0xF9, 0x00, 0x28, 0x01, 0xD0
- .byte 0x03, 0x20, 0x60, 0x65, 0x22, 0x1C, 0x3B, 0x49, 0x30, 0x1C, 0x48, 0x32, 0x0E, 0xF0, 0x08, 0xF9
- .byte 0x05, 0x20, 0x20, 0x60, 0x68, 0xE0, 0x60, 0x6C, 0x06, 0x21, 0x00, 0x22, 0x2E, 0xF0, 0x5E, 0xFF
- .byte 0x03, 0x1C, 0x0C, 0xA8, 0x00, 0x90, 0x1B, 0x04, 0x61, 0x6C, 0x00, 0x20, 0x01, 0x22, 0x1B, 0x0C
- .byte 0x30, 0xF0, 0x2A, 0xFF, 0x08, 0x90, 0x00, 0x28, 0x32, 0xD0, 0x03, 0x20, 0x1A, 0x21, 0x02, 0x04
- .byte 0xDE, 0xF7, 0x7C, 0xFA, 0xE8, 0x68, 0xEB, 0xF7, 0xEB, 0xFA, 0x09, 0x90, 0xE8, 0x68, 0x41, 0xF0
- .byte 0x9F, 0xFC, 0x06, 0x1C, 0xE8, 0x68, 0xEC, 0xF7, 0x33, 0xFD, 0x07, 0x1C, 0xE8, 0x68, 0x36, 0xF0
- .byte 0x0B, 0xFF, 0x0A, 0x90, 0xE8, 0x68, 0xF1, 0xF7, 0x3F, 0xFE, 0x0B, 0x90, 0xE8, 0x68, 0x13, 0xF0
- .byte 0x2B, 0xFF, 0x00, 0x96, 0x0A, 0x99, 0x01, 0x97, 0x02, 0x91, 0x0B, 0x99, 0x08, 0x9A, 0x03, 0x91
- .byte 0x04, 0x90, 0x0C, 0x98, 0x09, 0x9B, 0x05, 0x90, 0x04, 0x20, 0x06, 0x90, 0x1A, 0x20, 0x07, 0x90
- .byte 0x61, 0x6C, 0x00, 0x20, 0x34, 0xF0, 0xC4, 0xF9, 0x20, 0x66, 0x06, 0x20, 0x20, 0x60, 0x23, 0xE0
- .byte 0x07, 0x20, 0x20, 0x60, 0x20, 0xE0, 0x20, 0x6E, 0x34, 0xF0, 0xC8, 0xFA, 0x00, 0x28, 0x1B, 0xD0
- .byte 0xE0, 0x68, 0x21, 0x6B, 0x33, 0xF0, 0x0C, 0xFB, 0x01, 0x1C, 0x60, 0x6C, 0x31, 0xF0, 0xF4, 0xFB
- .byte 0x20, 0x6E, 0x34, 0xF0, 0xC3, 0xFA, 0x1A, 0x20, 0xDE, 0xF7, 0x92, 0xFA, 0x07, 0x20, 0x20, 0x60
- .byte 0x0A, 0xE0, 0xA0, 0x6B, 0x40, 0x1C, 0xA0, 0x63, 0x02, 0x20, 0x20, 0x60, 0xE8, 0x68, 0xF1, 0xF7
- .byte 0x03, 0xFE, 0x10, 0x21, 0xF1, 0xF7, 0xD4, 0xFE
+ add r0, r4, #0x4
+ add r1, r5, #0x0
+ bl FUN_02038144
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+_02038258:
+ ldr r1, _020383D0 ; =0x02105DBC
+ add r0, r6, #0x0
+ add r2, r4, #0x4
+ bl FUN_02046500
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020383C8
+_0203826A:
+ ldr r1, [r4, #0x2c]
+ cmp r1, #0x0
+ bne _02038282
+ add r0, r4, #0x4
+ bl FUN_020381CC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x34
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02038282:
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020383C8
+_02038288:
+ ldr r0, [r4, #0x3c]
+ str r0, [r4, #0x50]
+ ldr r0, [r4, #0x40]
+ bl FUN_020690E4
+ str r0, [r4, #0x48]
+ ldr r0, [r4, #0x44]
+ bl FUN_020690E4
+ str r0, [r4, #0x4c]
+ ldr r0, [r5, #0xc]
+ bl FUN_02023900
+ str r0, [r4, #0x5c]
+ mov r0, #0x1
+ str r0, [r4, #0x58]
+ add r0, r5, #0x0
+ bl FUN_0204B2A4
+ cmp r0, #0x4
+ bhi _020382C8
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020382BE: ; jump table (using 16-bit offset)
+ .short _020382C8 - _020382BE - 2; case 0
+ .short _020382C8 - _020382BE - 2; case 1
+ .short _020382CE - _020382BE - 2; case 2
+ .short _020382D4 - _020382BE - 2; case 3
+ .short _020382D4 - _020382BE - 2; case 4
+_020382C8:
+ mov r0, #0x0
+ str r0, [r4, #0x54]
+ b _020382D8
+_020382CE:
+ mov r0, #0x1
+ str r0, [r4, #0x54]
+ b _020382D8
+_020382D4:
+ mov r0, #0x2
+ str r0, [r4, #0x54]
+_020382D8:
+ bl FUN_02033590
+ cmp r0, #0x0
+ beq _020382E4
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+_020382E4:
+ add r2, r4, #0x0
+ ldr r1, _020383D4 ; =0x020F2CA4
+ add r0, r6, #0x0
+ add r2, #0x48
+ bl FUN_02046500
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _020383C8
+_020382F6:
+ ldr r0, [r4, #0x44]
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r3, r0, #0x0
+ add r0, sp, #0x30
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x10
+ ldr r1, [r4, #0x44]
+ mov r0, #0x0
+ mov r2, #0x1
+ lsr r3, r3, #0x10
+ bl FUN_02069168
+ str r0, [sp, #0x20]
+ cmp r0, #0x0
+ beq _02038380
+ mov r0, #0x3
+ mov r1, #0x1a
+ lsl r2, r0, #0x10
+ bl FUN_0201681C
+ ldr r0, [r5, #0xc]
+ bl FUN_02023900
+ str r0, [sp, #0x24]
+ ldr r0, [r5, #0xc]
+ bl FUN_02079C70
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ add r7, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ str r0, [sp, #0x28]
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ str r0, [sp, #0x2c]
+ ldr r0, [r5, #0xc]
+ bl FUN_0204C1A8
+ str r6, [sp, #0x0]
+ ldr r1, [sp, #0x28]
+ str r7, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r1, [sp, #0x2c]
+ ldr r2, [sp, #0x20]
+ str r1, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x30]
+ ldr r3, [sp, #0x24]
+ str r0, [sp, #0x14]
+ mov r0, #0x4
+ str r0, [sp, #0x18]
+ mov r0, #0x1a
+ str r0, [sp, #0x1c]
+ ldr r1, [r4, #0x44]
+ mov r0, #0x0
+ bl FUN_0206C700
+ str r0, [r4, #0x60]
+ mov r0, #0x6
+ str r0, [r4, #0x0]
+ b _020383C8
+_02038380:
+ mov r0, #0x7
+ str r0, [r4, #0x0]
+ b _020383C8
+_02038386:
+ ldr r0, [r4, #0x60]
+ bl FUN_0206C91C
+ cmp r0, #0x0
+ beq _020383C8
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x30]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x44]
+ bl FUN_02069B88
+ ldr r0, [r4, #0x60]
+ bl FUN_0206C92C
+ mov r0, #0x1a
+ bl FUN_020168D0
+ mov r0, #0x7
+ str r0, [r4, #0x0]
+ b _020383C8
+_020383B2:
+ ldr r0, [r4, #0x38]
+ add r0, r0, #0x1
+ str r0, [r4, #0x38]
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x10
+ bl FUN_0202A170
_020383C8:
mov r0, #0x0
add sp, #0x34
pop {r4-r7, pc}
nop
-_020383D0:
- .byte 0xBC, 0x5D, 0x10, 0x02, 0xA4, 0x2C, 0x0F, 0x02
+_020383D0: .word 0x02105DBC
+_020383D4: .word 0x020F2CA4
thumb_func_start FUN_020383D8
FUN_020383D8: ; 0x020383D8
@@ -112002,10 +120351,12 @@ FUN_0203847C: ; 0x0203847C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r2, #0
- lsl r6, r4, #0
- lsl r4, r6, #0
+_020384A0: ; jump table (using 16-bit offset)
+ .short _020384A8 - _020384A0 - 2; case 0
+ .short _020384B6 - _020384A0 - 2; case 1
+ .short _020384C8 - _020384A0 - 2; case 2
+ .short _020384D6 - _020384A0 - 2; case 3
+_020384A8:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r4, #0x0]
@@ -112013,21 +120364,78 @@ FUN_0203847C: ; 0x0203847C
str r0, [r4, #0x0]
b _02038544
_020384B6:
- .byte 0x24, 0x49, 0xE2, 0x68, 0x28, 0x1C, 0x0E, 0xF0, 0x20, 0xF8
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x3D, 0xE0, 0x28, 0x1C, 0x12, 0xF0, 0x5B, 0xFD, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x36, 0xE0, 0xE1, 0x68, 0x08, 0x68, 0x01, 0x28, 0x09, 0xD1, 0x88, 0x69
- .byte 0x21, 0x69, 0xE9, 0xF7, 0xFD, 0xFB, 0x00, 0x28, 0x14, 0xD1, 0xE0, 0x68, 0x01, 0x21, 0x41, 0x61
- .byte 0x10, 0xE0, 0x05, 0x28, 0x0E, 0xD1, 0x88, 0x69, 0xE9, 0xF7, 0x18, 0xFD, 0x07, 0x1C, 0xF0, 0x68
- .byte 0xF0, 0xF7, 0x8C, 0xF9, 0x39, 0x1C, 0xF0, 0xF7, 0xA5, 0xF9, 0x00, 0x28, 0x02, 0xD0, 0xE0, 0x68
- .byte 0x02, 0x21, 0x41, 0x61, 0xE0, 0x68, 0x40, 0x69, 0x00, 0x28, 0x02, 0xD1, 0x28, 0x1C, 0x00, 0xF0
- .byte 0x15, 0xF8, 0xA1, 0x68, 0x00, 0x29, 0x02, 0xD0, 0xE0, 0x68, 0x40, 0x69, 0x08, 0x80, 0xE0, 0x68
- .byte 0x3F, 0xF0, 0xC8, 0xFA, 0x20, 0x69, 0xE9, 0xF7, 0x73, 0xFA, 0x20, 0x1C, 0xDE, 0xF7, 0x6C, 0xFA
- .byte 0x01, 0x20, 0xF8, 0xBD
+ ldr r1, _02038548 ; =0x020FA5FC
+ ldr r2, [r4, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02038544
+_020384C8:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02038544
+_020384D6:
+ ldr r1, [r4, #0xc]
+ ldr r0, [r1, #0x0]
+ cmp r0, #0x1
+ bne _020384F2
+ ldr r0, [r1, #0x18]
+ ldr r1, [r4, #0x10]
+ bl FUN_02021CE0
+ cmp r0, #0x0
+ bne _02038514
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ str r1, [r0, #0x14]
+ b _02038514
+_020384F2:
+ cmp r0, #0x5
+ bne _02038514
+ ldr r0, [r1, #0x18]
+ bl FUN_02021F2C
+ add r7, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0202881C
+ add r1, r7, #0x0
+ bl FUN_02028854
+ cmp r0, #0x0
+ beq _02038514
+ ldr r0, [r4, #0xc]
+ mov r1, #0x2
+ str r1, [r0, #0x14]
+_02038514:
+ ldr r0, [r4, #0xc]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x0
+ bne _02038522
+ add r0, r5, #0x0
+ bl FUN_0203854C
+_02038522:
+ ldr r1, [r4, #0x8]
+ cmp r1, #0x0
+ beq _0203852E
+ ldr r0, [r4, #0xc]
+ ldr r0, [r0, #0x14]
+ strh r0, [r1, #0x0]
+_0203852E:
+ ldr r0, [r4, #0xc]
+ bl FUN_02077AC4
+ ldr r0, [r4, #0x10]
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02038544:
mov r0, #0x0
pop {r3-r7, pc}
-_02038548:
- .byte 0xFC, 0xA5, 0x0F, 0x02
+ .balign 4
+_02038548: .word 0x020FA5FC
thumb_func_start FUN_0203854C
FUN_0203854C: ; 0x0203854C
@@ -112048,13 +120456,15 @@ FUN_0203854C: ; 0x0203854C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r4, r3, #0
- lsl r6, r2, #0x1
- lsl r6, r2, #0x1
- lsl r6, r2, #0x1
- lsl r4, r6, #0
- lsl r0, r1, #0x1
+_02038572: ; jump table (using 16-bit offset)
+ .short _02038580 - _02038572 - 2; case 0
+ .short _02038590 - _02038572 - 2; case 1
+ .short _020385CA - _02038572 - 2; case 2
+ .short _020385CA - _02038572 - 2; case 3
+ .short _020385CA - _02038572 - 2; case 4
+ .short _020385A8 - _02038572 - 2; case 5
+ .short _020385BC - _02038572 - 2; case 6
+_02038580:
ldr r0, [r5, #0xc]
bl FUN_020238F4
ldr r1, [r4, #0xc]
@@ -112062,10 +120472,30 @@ FUN_0203854C: ; 0x0203854C
bl FUN_0202395C
pop {r3-r5, pc}
_02038590:
- .byte 0xE8, 0x68, 0x33, 0xF0, 0xC3, 0xFA, 0x61, 0x68, 0x33, 0xF0, 0x0A, 0xFA, 0xE2, 0x68, 0x75, 0x21
- .byte 0x1C, 0x32, 0x2F, 0xF0, 0x45, 0xF9, 0x38, 0xBD, 0xE8, 0x68, 0xF0, 0xF7, 0x37, 0xF9, 0xE3, 0x68
- .byte 0x00, 0x21, 0x9B, 0x69, 0x0A, 0x1C, 0xF0, 0xF7, 0x03, 0xF9, 0x38, 0xBD, 0xE8, 0x68, 0xEC, 0xF7
- .byte 0x79, 0xFC, 0xE1, 0x68, 0x89, 0x69, 0xEC, 0xF7, 0xA7, 0xFC
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldr r1, [r4, #0x4]
+ bl FUN_0206B9B0
+ ldr r2, [r4, #0xc]
+ mov r1, #0x75
+ add r2, #0x1c
+ bl FUN_02067830
+ pop {r3-r5, pc}
+_020385A8:
+ ldr r0, [r5, #0xc]
+ bl FUN_0202881C
+ ldr r3, [r4, #0xc]
+ mov r1, #0x0
+ ldr r3, [r3, #0x18]
+ add r2, r1, #0x0
+ bl FUN_020287C0
+ pop {r3-r5, pc}
+_020385BC:
+ ldr r0, [r5, #0xc]
+ bl FUN_02024EB4
+ ldr r1, [r4, #0xc]
+ ldr r1, [r1, #0x18]
+ bl FUN_02024F18
_020385CA:
pop {r3-r5, pc}
@@ -113744,75 +122174,191 @@ _02039308:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r5, #0x1
- lsl r0, r6, #0x1
- lsl r4, r6, #0x1
- lsl r0, r7, #0x1
- lsl r4, r7, #0x1
- lsl r0, r0, #0x2
- lsl r4, r0, #0x2
- lsl r0, r1, #0x2
- lsl r4, r1, #0x2
- lsl r0, r2, #0x2
- lsl r4, r2, #0x2
- lsl r0, r3, #0x2
- lsl r4, r3, #0x2
- lsl r0, r4, #0x2
- lsl r4, r4, #0x2
- lsl r0, r5, #0x2
- lsl r4, r5, #0x2
- lsl r0, r6, #0x2
- lsl r4, r6, #0x2
- lsl r0, r7, #0x2
- lsl r4, r7, #0x2
- lsl r0, r0, #0x3
- lsl r4, r0, #0x3
- lsl r0, r1, #0x3
- lsl r4, r1, #0x3
- lsl r0, r2, #0x3
- lsl r4, r2, #0x3
- lsl r0, r3, #0x3
- lsl r4, r3, #0x3
- lsl r0, r4, #0x3
- lsl r4, r4, #0x3
- lsl r0, r5, #0x3
- lsl r4, r5, #0x3
- lsl r0, r6, #0x3
- lsl r4, r6, #0x3
- lsl r0, r7, #0x3
- lsl r4, r7, #0x3
- lsl r0, r0, #0x4
- lsl r4, r0, #0x4
- lsl r0, r1, #0x4
- lsl r4, r1, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
- lsl r0, r2, #0x4
+_02039314: ; jump table (using 16-bit offset)
+ .short _02039382 - _02039314 - 2; case 0
+ .short _02039386 - _02039314 - 2; case 1
+ .short _0203938A - _02039314 - 2; case 2
+ .short _0203938E - _02039314 - 2; case 3
+ .short _02039392 - _02039314 - 2; case 4
+ .short _02039396 - _02039314 - 2; case 5
+ .short _0203939A - _02039314 - 2; case 6
+ .short _0203939E - _02039314 - 2; case 7
+ .short _020393A2 - _02039314 - 2; case 8
+ .short _020393A6 - _02039314 - 2; case 9
+ .short _020393AA - _02039314 - 2; case 10
+ .short _020393AE - _02039314 - 2; case 11
+ .short _020393B2 - _02039314 - 2; case 12
+ .short _020393B6 - _02039314 - 2; case 13
+ .short _020393BA - _02039314 - 2; case 14
+ .short _020393BE - _02039314 - 2; case 15
+ .short _020393C2 - _02039314 - 2; case 16
+ .short _020393C6 - _02039314 - 2; case 17
+ .short _020393CA - _02039314 - 2; case 18
+ .short _020393CE - _02039314 - 2; case 19
+ .short _020393D2 - _02039314 - 2; case 20
+ .short _020393D6 - _02039314 - 2; case 21
+ .short _020393DA - _02039314 - 2; case 22
+ .short _020393DE - _02039314 - 2; case 23
+ .short _020393E2 - _02039314 - 2; case 24
+ .short _020393E6 - _02039314 - 2; case 25
+ .short _020393EA - _02039314 - 2; case 26
+ .short _020393EE - _02039314 - 2; case 27
+ .short _020393F2 - _02039314 - 2; case 28
+ .short _020393F6 - _02039314 - 2; case 29
+ .short _020393FA - _02039314 - 2; case 30
+ .short _020393FE - _02039314 - 2; case 31
+ .short _02039402 - _02039314 - 2; case 32
+ .short _02039406 - _02039314 - 2; case 33
+ .short _0203940A - _02039314 - 2; case 34
+ .short _0203940E - _02039314 - 2; case 35
+ .short _02039412 - _02039314 - 2; case 36
+ .short _02039416 - _02039314 - 2; case 37
+ .short _0203941A - _02039314 - 2; case 38
+ .short _0203941E - _02039314 - 2; case 39
+ .short _02039422 - _02039314 - 2; case 40
+ .short _02039426 - _02039314 - 2; case 41
+ .short _02039426 - _02039314 - 2; case 42
+ .short _02039426 - _02039314 - 2; case 43
+ .short _02039426 - _02039314 - 2; case 44
+ .short _02039426 - _02039314 - 2; case 45
+ .short _02039426 - _02039314 - 2; case 46
+ .short _02039426 - _02039314 - 2; case 47
+ .short _02039426 - _02039314 - 2; case 48
+ .short _02039426 - _02039314 - 2; case 49
+ .short _02039426 - _02039314 - 2; case 50
+ .short _02039426 - _02039314 - 2; case 51
+ .short _02039426 - _02039314 - 2; case 52
+ .short _02039426 - _02039314 - 2; case 53
+ .short _02039426 - _02039314 - 2; case 54
+_02039382:
add r0, #0x10
pop {r3, pc}
_02039386:
- .byte 0x14, 0x30, 0x08, 0xBD, 0x24, 0x30, 0x08, 0xBD, 0x40, 0x1D
- .byte 0x08, 0xBD, 0x80, 0x1D, 0x08, 0xBD, 0xC0, 0x1D, 0x08, 0xBD, 0x08, 0x30, 0x08, 0xBD, 0x09, 0x30
- .byte 0x08, 0xBD, 0x0A, 0x30, 0x08, 0xBD, 0x28, 0x30, 0x08, 0xBD, 0x2C, 0x30, 0x08, 0xBD, 0x30, 0x30
- .byte 0x08, 0xBD, 0x34, 0x30, 0x08, 0xBD, 0x38, 0x30, 0x08, 0xBD, 0x3C, 0x30, 0x08, 0xBD, 0x40, 0x30
- .byte 0x08, 0xBD, 0x44, 0x30, 0x08, 0xBD, 0x48, 0x30, 0x08, 0xBD, 0x4C, 0x30, 0x08, 0xBD, 0xA8, 0x30
- .byte 0x08, 0xBD, 0xAC, 0x30, 0x08, 0xBD, 0xB0, 0x30, 0x08, 0xBD, 0xB4, 0x30, 0x08, 0xBD, 0x0C, 0x30
- .byte 0x08, 0xBD, 0x50, 0x30, 0x08, 0xBD, 0x54, 0x30, 0x08, 0xBD, 0x58, 0x30, 0x08, 0xBD, 0x5C, 0x30
- .byte 0x08, 0xBD, 0x60, 0x30, 0x08, 0xBD, 0x64, 0x30, 0x08, 0xBD, 0x68, 0x30, 0x08, 0xBD, 0x6C, 0x30
- .byte 0x08, 0xBD, 0x70, 0x30, 0x08, 0xBD, 0x74, 0x30, 0x08, 0xBD, 0x78, 0x30, 0x08, 0xBD, 0x7C, 0x30
- .byte 0x08, 0xBD, 0x80, 0x30, 0x08, 0xBD, 0x84, 0x30, 0x08, 0xBD, 0xB8, 0x30, 0x08, 0xBD, 0xC8, 0x30
- .byte 0x08, 0xBD, 0xD8, 0x30, 0x08, 0xBD, 0x29, 0x39, 0x88, 0x30, 0x49, 0x00, 0x40, 0x18, 0x08, 0xBD
+ add r0, #0x14
+ pop {r3, pc}
+_0203938A:
+ add r0, #0x24
+ pop {r3, pc}
+_0203938E:
+ add r0, r0, #0x5
+ pop {r3, pc}
+_02039392:
+ add r0, r0, #0x6
+ pop {r3, pc}
+_02039396:
+ add r0, r0, #0x7
+ pop {r3, pc}
+_0203939A:
+ add r0, #0x8
+ pop {r3, pc}
+_0203939E:
+ add r0, #0x9
+ pop {r3, pc}
+_020393A2:
+ add r0, #0xa
+ pop {r3, pc}
+_020393A6:
+ add r0, #0x28
+ pop {r3, pc}
+_020393AA:
+ add r0, #0x2c
+ pop {r3, pc}
+_020393AE:
+ add r0, #0x30
+ pop {r3, pc}
+_020393B2:
+ add r0, #0x34
+ pop {r3, pc}
+_020393B6:
+ add r0, #0x38
+ pop {r3, pc}
+_020393BA:
+ add r0, #0x3c
+ pop {r3, pc}
+_020393BE:
+ add r0, #0x40
+ pop {r3, pc}
+_020393C2:
+ add r0, #0x44
+ pop {r3, pc}
+_020393C6:
+ add r0, #0x48
+ pop {r3, pc}
+_020393CA:
+ add r0, #0x4c
+ pop {r3, pc}
+_020393CE:
+ add r0, #0xa8
+ pop {r3, pc}
+_020393D2:
+ add r0, #0xac
+ pop {r3, pc}
+_020393D6:
+ add r0, #0xb0
+ pop {r3, pc}
+_020393DA:
+ add r0, #0xb4
+ pop {r3, pc}
+_020393DE:
+ add r0, #0xc
+ pop {r3, pc}
+_020393E2:
+ add r0, #0x50
+ pop {r3, pc}
+_020393E6:
+ add r0, #0x54
+ pop {r3, pc}
+_020393EA:
+ add r0, #0x58
+ pop {r3, pc}
+_020393EE:
+ add r0, #0x5c
+ pop {r3, pc}
+_020393F2:
+ add r0, #0x60
+ pop {r3, pc}
+_020393F6:
+ add r0, #0x64
+ pop {r3, pc}
+_020393FA:
+ add r0, #0x68
+ pop {r3, pc}
+_020393FE:
+ add r0, #0x6c
+ pop {r3, pc}
+_02039402:
+ add r0, #0x70
+ pop {r3, pc}
+_02039406:
+ add r0, #0x74
+ pop {r3, pc}
+_0203940A:
+ add r0, #0x78
+ pop {r3, pc}
+_0203940E:
+ add r0, #0x7c
+ pop {r3, pc}
+_02039412:
+ add r0, #0x80
+ pop {r3, pc}
+_02039416:
+ add r0, #0x84
+ pop {r3, pc}
+_0203941A:
+ add r0, #0xb8
+ pop {r3, pc}
+_0203941E:
+ add r0, #0xc8
+ pop {r3, pc}
+_02039422:
+ add r0, #0xd8
+ pop {r3, pc}
+_02039426:
+ sub r1, #0x29
+ add r0, #0x88
+ lsl r1, r1, #0x1
+ add r0, r0, r1
+ pop {r3, pc}
_02039430:
bl FUN_02020C2C
mov r0, #0x0
@@ -123178,246 +131724,1843 @@ FUN_0203DE38: ; 0x0203DE38
ldrb r0, [r0, #0x0]
bl FUN_020546C8
pop {r3, pc}
-_0203DE4C:
- .byte 0x08, 0xB5, 0x0E, 0xF2
- .byte 0x21, 0xFE, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xA2, 0x68, 0x51, 0x1C
- .byte 0xA1, 0x60, 0x15, 0x78, 0xFA, 0xF7, 0xE4, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7
- .byte 0x3F, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x0E, 0xF2, 0x13, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x04, 0x1C, 0xA2, 0x68, 0x51, 0x1C, 0xA1, 0x60, 0x15, 0x78, 0xFA, 0xF7, 0xD0, 0xFE
- .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x2B, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x0E, 0xF2
- .byte 0x09, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x82, 0xB0, 0x00, 0x23, 0x00, 0x93
- .byte 0x01, 0x93, 0x01, 0x21, 0x40, 0x6F, 0x0A, 0x1C, 0x04, 0xF2, 0x92, 0xFE, 0x01, 0x20, 0x02, 0xB0
- .byte 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xFA, 0xF7
- .byte 0xAF, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x0A, 0xFB, 0x01, 0x1C, 0x68, 0x6B
- .byte 0x1A, 0xF0, 0xBE, 0xF8, 0x04, 0x1C, 0x01, 0xD1, 0xE2, 0xF7, 0xA0, 0xFE, 0x20, 0x1C, 0x00, 0x21
- .byte 0x1A, 0xF0, 0xD4, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31
- .byte 0x0D, 0x68, 0xFA, 0xF7, 0x95, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0xF0, 0xFA
- .byte 0x01, 0x1C, 0x68, 0x6B, 0x1A, 0xF0, 0xA4, 0xF8, 0x04, 0x1C, 0x01, 0xD1, 0xE2, 0xF7, 0x86, 0xFE
- .byte 0x20, 0x1C, 0x01, 0x21, 0x1A, 0xF0, 0xBA, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x08, 0xB5, 0x40, 0x6F
- .byte 0x28, 0xF0, 0x72, 0xFC, 0x01, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31
- .byte 0x0C, 0x68, 0xFA, 0xF7, 0x75, 0xFE, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0xB4, 0xFA
- .byte 0x05, 0x1C, 0xE0, 0x68, 0xE7, 0xF7, 0x70, 0xFC, 0x00, 0x21, 0xE7, 0xF7, 0x9F, 0xFC, 0x28, 0x80
- .byte 0x00, 0x20, 0x38, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x62, 0xFE, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xBC, 0xFA, 0x01, 0x1C, 0x60, 0x6F, 0x25, 0xF0, 0x68, 0xFB
- .byte 0x01, 0x20, 0x10, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x52, 0xFE, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x90, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x0D, 0xF0
- .byte 0x81, 0xF9, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x40, 0xFE
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x7E, 0xFA, 0x04, 0x1C, 0x28, 0x1C
- .byte 0xFA, 0xF7, 0x36, 0xFE, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0x91, 0xFA, 0x05, 0x1C
- .byte 0xDD, 0xF7, 0x0C, 0xFD, 0x29, 0x1C, 0xAD, 0xF0, 0x54, 0xEE, 0x21, 0x80, 0x01, 0x20, 0x38, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x24, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFB, 0xF7, 0x62, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x1A, 0xFE, 0x80, 0x35, 0x01, 0x1C
- .byte 0x28, 0x68, 0xFB, 0xF7, 0x75, 0xFA, 0x05, 0x1C, 0xDD, 0xF7, 0xF0, 0xFC, 0x29, 0x1C, 0xAD, 0xF0
- .byte 0x38, 0xEE, 0x21, 0x80, 0x01, 0x20, 0x38, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31
- .byte 0x0C, 0x68, 0xFA, 0xF7, 0x05, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7
- .byte 0x43, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xFB, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68
- .byte 0xFB, 0xF7, 0x56, 0xFA, 0x01, 0x1C, 0x20, 0x1C, 0xB5, 0xF1, 0xE6, 0xFC, 0x30, 0x80, 0x00, 0x20
- .byte 0x70, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xFA, 0xF7
- .byte 0xE7, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x42, 0xFA, 0x01, 0x1C, 0x28, 0x1C
- .byte 0xB5, 0xF1, 0x20, 0xFD, 0x00, 0x20, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31
- .byte 0x0C, 0x68, 0xFA, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7
- .byte 0x2F, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xCB, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xFB, 0xF7, 0x25, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xC1, 0xFD, 0x80, 0x35
- .byte 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0x1C, 0xFA, 0x31, 0x06, 0x3A, 0x06, 0x03, 0x1C, 0x20, 0x1C
- .byte 0x09, 0x0E, 0x12, 0x0E, 0xB5, 0xF1, 0x5A, 0xFD, 0x00, 0x20, 0xF8, 0xBD, 0xF8, 0xB5, 0x05, 0x1C
- .byte 0x29, 0x1C, 0x80, 0x31, 0x0C, 0x68, 0xFA, 0xF7, 0xAB, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xFB, 0xF7, 0x05, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA1, 0xFD, 0x01, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xFB, 0xF9, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7
- .byte 0x97, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0xF2, 0xF9, 0x31, 0x06, 0x3A, 0x06
- .byte 0x03, 0x1C, 0x20, 0x1C, 0x09, 0x0E, 0x12, 0x0E, 0xB5, 0xF1, 0x18, 0xFD, 0x00, 0x20, 0xF8, 0xBD
- .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x08, 0xF0, 0xC0, 0xF8, 0x82, 0x21, 0x09, 0x02
- .byte 0x21, 0xF0, 0x62, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x10, 0xB5, 0x80, 0x30, 0x04, 0x68, 0xE0, 0x68
- .byte 0x08, 0xF0, 0xB4, 0xF8, 0x01, 0x21, 0x21, 0xF0, 0xC5, 0xF8, 0xE0, 0x68, 0xEA, 0xF7, 0x2A, 0xFC
- .byte 0x01, 0x21, 0xEA, 0xF7, 0x2D, 0xFC, 0x21, 0x1C, 0x98, 0x31, 0x08, 0x60, 0x20, 0x1C, 0x0A, 0xF0
- .byte 0x7B, 0xFD, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x60, 0xFD
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xBA, 0xF9, 0x07, 0x1C, 0x20, 0x1C
- .byte 0xFA, 0xF7, 0x56, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xB0, 0xF9
- .byte 0x00, 0x90, 0x20, 0x1C, 0xFA, 0xF7, 0x4C, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFB, 0xF7, 0xA6, 0xF9, 0x20, 0x1C, 0xFA, 0xF7, 0x43, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xFB, 0xF7, 0x9D, 0xF9, 0x20, 0x1C, 0xFA, 0xF7, 0x3A, 0xFD, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x94, 0xF9, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21
- .byte 0xFB, 0xF7, 0x32, 0xF9, 0x05, 0x1C, 0x38, 0x1C, 0x10, 0x38, 0x0A, 0x28, 0x2D, 0xD8, 0x00, 0x18
- .byte 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x14, 0x00, 0x20, 0x00, 0x2C, 0x00
- .byte 0x3A, 0x00, 0x4E, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00
- .byte 0x04, 0x20, 0x01, 0x26, 0xEA, 0xF7, 0x8C, 0xFF, 0x28, 0x60, 0x18, 0xE0, 0x04, 0x20, 0x01, 0x26
- .byte 0xEA, 0xF7, 0x8C, 0xFF, 0x28, 0x60, 0x12, 0xE0, 0x00, 0x98, 0x04, 0x21, 0x01, 0x26, 0xEA, 0xF7
- .byte 0x8B, 0xFF, 0x28, 0x60, 0x0B, 0xE0, 0x13, 0x3F, 0x38, 0x06, 0x00, 0x99, 0x00, 0x0E, 0x04, 0x22
- .byte 0x01, 0x26, 0xEA, 0xF7, 0x8B, 0xFF, 0x28, 0x60, 0x01, 0xE0, 0x01, 0x20, 0xF8, 0xBD, 0x80, 0x34
- .byte 0x20, 0x68, 0x29, 0x68, 0x98, 0x30, 0x00, 0x68, 0x32, 0x1C, 0xEA, 0xF7, 0x43, 0xFC, 0x01, 0x20
- .byte 0xF8, 0xBD, 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xE8, 0xFC
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x42, 0xF9, 0x04, 0x1C, 0x28, 0x1C
- .byte 0xFA, 0xF7, 0xDE, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x38, 0xF9
- .byte 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0xCC, 0xFD, 0xE8, 0xF7, 0xFE, 0xFE
- .byte 0x21, 0x1C, 0x32, 0x1C, 0xE8, 0xF7, 0x86, 0xFF, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x05, 0x1C
- .byte 0xFA, 0xF7, 0xC6, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x20, 0xF9
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xBC, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFB, 0xF7, 0x16, 0xF9, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xB2, 0xFC, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xF0, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68
- .byte 0xE9, 0xF7, 0xA0, 0xFD, 0xE8, 0xF7, 0xD2, 0xFE, 0x31, 0x1C, 0x3A, 0x1C, 0xE8, 0xF7, 0xF4, 0xFE
- .byte 0x20, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x98, 0xFC
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xF2, 0xF8, 0x07, 0x1C, 0x28, 0x1C
- .byte 0xFA, 0xF7, 0x8E, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xE8, 0xF8
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x84, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFB, 0xF7, 0xC2, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x72, 0xFD
- .byte 0xE8, 0xF7, 0xA4, 0xFE, 0x39, 0x1C, 0xE8, 0xF7, 0xE5, 0xFE, 0x86, 0x42, 0x01, 0xD8, 0x01, 0x20
- .byte 0x00, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C
- .byte 0xFA, 0xF7, 0x66, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xC0, 0xF8
- .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x54, 0xFD, 0xE8, 0xF7, 0x86, 0xFE
- .byte 0x21, 0x1C, 0xE8, 0xF7, 0x6F, 0xFF, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C
- .byte 0xFA, 0xF7, 0x4E, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xA8, 0xF8
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x44, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFB, 0xF7, 0x82, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x32, 0xFD
- .byte 0xE8, 0xF7, 0x64, 0xFE, 0x31, 0x1C, 0xE8, 0xF7, 0x9B, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD
- .byte 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0xE1, 0xFC, 0x05, 0x1C
- .byte 0x20, 0x1C, 0xFA, 0xF7, 0x25, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x64, 0xF8
- .byte 0x04, 0x1C, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C, 0xE6, 0xF7, 0x84, 0xF8, 0x01, 0x28, 0x01, 0xD1
- .byte 0x01, 0x20, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xC0, 0x68, 0xE6, 0xF7, 0xC5, 0xFC, 0x05, 0x1C, 0x20, 0x1C, 0xFA, 0xF7, 0x09, 0xFC, 0x80, 0x34
- .byte 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x48, 0xF8, 0x04, 0x1C, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C
- .byte 0xE6, 0xF7, 0x5C, 0xF8, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x13, 0x21, 0xFA, 0xF7, 0xF5, 0xFF, 0x04, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x20, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0x4B, 0xFB, 0x20, 0x60
- .byte 0x02, 0x49, 0x28, 0x1C, 0xFA, 0xF7, 0x7A, 0xFB, 0x01, 0x20, 0x38, 0xBD, 0x91, 0xBB, 0x03, 0x02
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x13, 0x21, 0xFA, 0xF7, 0xDD, 0xFF, 0x04, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x20, 0x21, 0x01, 0x22, 0xFA, 0xF7, 0x33, 0xFB, 0x20, 0x60
- .byte 0x02, 0x49, 0x28, 0x1C, 0xFA, 0xF7, 0x62, 0xFB, 0x01, 0x20, 0x38, 0xBD, 0x91, 0xBB, 0x03, 0x02
- .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x0E, 0xF2, 0x82, 0xFB, 0x00, 0x20, 0x08, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xBC, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFA, 0xF7, 0xFA, 0xFF, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x0E, 0xF2, 0xAA, 0xFB
- .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0xA8, 0xFB
- .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0xE7, 0xFF, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x9C, 0xFB, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68
- .byte 0xEB, 0xF7, 0x62, 0xFD, 0x21, 0x1C, 0xEB, 0xF7, 0xEF, 0xFD, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x8C, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x88, 0xFB
- .byte 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x84, 0xFB, 0x06, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x21, 0x1C, 0xFA, 0xF7, 0xC1, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x31, 0x1C
- .byte 0xFA, 0xF7, 0xBA, 0xFF, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0x3C, 0xFD
- .byte 0x39, 0x1C, 0xEB, 0xF7, 0xFD, 0xFD, 0x03, 0x49, 0x01, 0x40, 0x09, 0x0C, 0x21, 0x80, 0x30, 0x80
- .byte 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xFF, 0xFF, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x60, 0xFB
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x5C, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x58, 0xFB
- .byte 0xA9, 0x68, 0x4A, 0x1C, 0xAA, 0x60, 0x22, 0x04, 0x14, 0x1C, 0x04, 0x43, 0x08, 0x78, 0x00, 0x28
- .byte 0x04, 0xD0, 0x01, 0x28, 0x0C, 0xD0, 0x02, 0x28, 0x14, 0xD0, 0x1C, 0xE0, 0x80, 0x35, 0x28, 0x68
- .byte 0xC0, 0x68, 0xEB, 0xF7, 0x11, 0xFD, 0x31, 0x1C, 0x22, 0x1C, 0xEB, 0xF7, 0xB7, 0xFD, 0x12, 0xE0
- .byte 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0x07, 0xFD, 0x31, 0x1C, 0x22, 0x1C, 0xEB, 0xF7
- .byte 0x5D, 0xFD, 0x08, 0xE0, 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0xFD, 0xFC, 0x31, 0x1C
- .byte 0x22, 0x1C, 0xEB, 0xF7, 0x69, 0xFD, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0
- .byte 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xF6, 0xF7, 0x22, 0xFC, 0x07, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x59, 0xFE, 0x00, 0x90, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xC0, 0x68, 0xE3, 0xF7, 0x7E, 0xFF, 0xA9, 0x68, 0x01, 0x90, 0x48, 0x1C, 0xA8, 0x60
- .byte 0x0C, 0x78, 0x38, 0x1C, 0xF6, 0xF7, 0x06, 0xFC, 0x06, 0x1C, 0x38, 0x1C, 0xF6, 0xF7, 0x04, 0xFC
- .byte 0x07, 0x1C, 0x00, 0x2C, 0x02, 0xD0, 0x01, 0x2C, 0x0B, 0xD0, 0x20, 0xE0, 0x00, 0x98, 0x20, 0xF0
- .byte 0xE1, 0xFD, 0x01, 0x98, 0x22, 0xF0, 0xCC, 0xFC, 0x1E, 0x20, 0x30, 0x80, 0x00, 0x20, 0x38, 0x80
- .byte 0x15, 0xE0, 0x00, 0x98, 0x20, 0xF0, 0xDE, 0xFD, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x22, 0xF0
- .byte 0x91, 0xFF, 0x04, 0x20, 0xEA, 0xF7, 0x6A, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0x01, 0x22
- .byte 0x98, 0x30, 0x00, 0x68, 0xEA, 0xF7, 0x36, 0xFA, 0x00, 0x20, 0x30, 0x80, 0x38, 0x80, 0x00, 0x20
- .byte 0x02, 0xB0, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x21, 0xF0, 0x6F, 0xFD, 0x01, 0x20
- .byte 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0xAA, 0x68, 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78
- .byte 0xFA, 0xF7, 0xCE, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x0C, 0xFF
- .byte 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x1C, 0x07, 0xF2, 0x1E, 0xF8, 0x30, 0x80, 0x01, 0x20
- .byte 0x70, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0xF0, 0xB1, 0xFB, 0x00, 0x20
- .byte 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xB2, 0xFA, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xF0, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA8, 0xFA
- .byte 0x00, 0x21, 0x06, 0x1C, 0x41, 0x20, 0x0A, 0x1C, 0xC5, 0xF7, 0x28, 0xFE, 0x80, 0x35, 0x21, 0x88
- .byte 0x28, 0x68, 0x32, 0x1C, 0x06, 0xF2, 0xB2, 0xFD, 0x01, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C
- .byte 0xFA, 0xF7, 0x96, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x92, 0xFA, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xD0, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0x31, 0x1C
- .byte 0x06, 0xF2, 0x0E, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x82, 0x68
- .byte 0x51, 0x1C, 0x81, 0x60, 0x80, 0x30, 0x00, 0x68, 0x11, 0x78, 0x80, 0x6B, 0x16, 0xF0, 0x10, 0xFF
- .byte 0x01, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x07, 0xF0
- .byte 0xAD, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x6B, 0xFA, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68
- .byte 0xFA, 0xF7, 0xAA, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0x20, 0xF0, 0x8E, 0xFF, 0x28, 0x80, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7
- .byte 0x0F, 0xFB, 0x07, 0x1C, 0x20, 0x1C, 0xFA, 0xF7, 0x53, 0xFA, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68
- .byte 0xFA, 0xF7, 0x92, 0xFE, 0x00, 0x90, 0x38, 0x1C, 0xE5, 0xF7, 0x84, 0xFE, 0x04, 0x1C, 0xDD, 0xF7
- .byte 0x25, 0xF9, 0x21, 0x1C, 0xAD, 0xF0, 0x6C, 0xEA, 0x08, 0x04, 0x06, 0x0C, 0x00, 0x98, 0x19, 0x21
- .byte 0x01, 0x80, 0x01, 0x24, 0x00, 0x25, 0x38, 0x1C, 0x21, 0x1C, 0xE5, 0xF7, 0x19, 0xFF, 0x01, 0x28
- .byte 0x0C, 0xD1, 0x20, 0x1C, 0x2B, 0xF0, 0xBC, 0xF9, 0x00, 0x28, 0x07, 0xD0, 0xB5, 0x42, 0x02, 0xD1
- .byte 0x00, 0x98, 0x04, 0x80, 0x08, 0xE0, 0x68, 0x1C, 0x00, 0x04, 0x05, 0x0C, 0x60, 0x1C, 0x00, 0x04
- .byte 0x04, 0x0C, 0x02, 0x48, 0x84, 0x42, 0xE6, 0xD9, 0x00, 0x20, 0xF8, 0xBD, 0xED, 0x01, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x1C, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFA, 0xF7, 0x76, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x4E, 0xFD
- .byte 0x21, 0x1C, 0x20, 0xF0, 0xC7, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C
- .byte 0xFA, 0xF7, 0x06, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x44, 0xFE
- .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x38, 0xFD, 0x20, 0xF0, 0xAA, 0xFE
- .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68
- .byte 0xEC, 0xF7, 0xD6, 0xF8, 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x82, 0x68, 0x51, 0x1C, 0x81, 0x60
- .byte 0x80, 0x30, 0x00, 0x68, 0x11, 0x78, 0xC0, 0x68, 0x21, 0xF0, 0x12, 0xFE, 0x00, 0x20, 0x08, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7, 0xDD, 0xFD, 0xA9, 0x68
- .byte 0x04, 0x1C, 0x48, 0x1C, 0xA8, 0x60, 0x09, 0x78, 0x0B, 0x20, 0x09, 0xF2, 0xDF, 0xFF, 0x20, 0x60
- .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7
- .byte 0xCB, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xC3, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68
- .byte 0xFA, 0xF7, 0x02, 0xFE, 0x05, 0x1C, 0x20, 0x68, 0x0A, 0xF2, 0x18, 0xF8, 0x28, 0x80, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7
- .byte 0xB3, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xAB, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68
- .byte 0xFA, 0xF7, 0xEA, 0xFD, 0x05, 0x1C, 0x20, 0x68, 0x0A, 0xF2, 0x04, 0xF8, 0x28, 0x80, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7
- .byte 0x9B, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x93, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xFA, 0xF7, 0xED, 0xFD, 0x02, 0x1C, 0x68, 0x6F, 0x21, 0x68, 0x0B, 0x23, 0x21, 0xF0
- .byte 0x37, 0xFF, 0x01, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21
- .byte 0xFA, 0xF7, 0x82, 0xFD, 0x00, 0x68, 0x09, 0xF2, 0xC9, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00
- .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x2A, 0xFA, 0xE6, 0xF7, 0xFE, 0xF9
- .byte 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x20, 0xFA
- .byte 0xE6, 0xF7, 0xBE, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0xAA, 0x68, 0x51, 0x1C
- .byte 0xA9, 0x60, 0x14, 0x78, 0xFA, 0xF7, 0x5C, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFA, 0xF7, 0x9A, 0xFD, 0x06, 0x1C, 0x00, 0x20, 0x30, 0x80, 0x01, 0x2C, 0x0F, 0xD1, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x03, 0xFA, 0xE6, 0xF7, 0x73, 0xF9, 0x80, 0x35
- .byte 0x28, 0x68, 0xC0, 0x68, 0xE4, 0xF7, 0xA6, 0xFF, 0xE5, 0xF7, 0x72, 0xF8, 0x0C, 0xE0, 0x02, 0x2C
- .byte 0x08, 0xD1, 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0xF2, 0xF9, 0xE6, 0xF7, 0x72, 0xF9
- .byte 0x30, 0x80, 0x01, 0xE0, 0xE2, 0xF7, 0x32, 0xF9, 0x00, 0x20, 0x70, 0xBD, 0xF0, 0xB5, 0x83, 0xB0
- .byte 0x05, 0x1C, 0xFA, 0xF7, 0x2D, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7
- .byte 0x6B, 0xFD, 0x00, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x23, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xFA, 0xF7, 0x7D, 0xFD, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x2D, 0xF0
- .byte 0x8D, 0xF8, 0x21, 0x1C, 0x2C, 0xF0, 0xD4, 0xFF, 0x05, 0x1C, 0x0D, 0x21, 0x00, 0x22, 0x28, 0xF0
- .byte 0xD5, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0x0E, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xCF, 0xFB, 0x06, 0x1C
- .byte 0x28, 0x1C, 0x0F, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xC9, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x10, 0x21
- .byte 0x00, 0x22, 0x28, 0xF0, 0xC3, 0xFB, 0x01, 0x90, 0x28, 0x1C, 0x11, 0x21, 0x00, 0x22, 0x28, 0xF0
- .byte 0xBD, 0xFB, 0x02, 0x90, 0x28, 0x1C, 0x12, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xB7, 0xFB, 0xA1, 0x19
- .byte 0x7A, 0x18, 0x01, 0x99, 0x8A, 0x18, 0x02, 0x99, 0x89, 0x18, 0x41, 0x18, 0x00, 0x98, 0x01, 0x80
- .byte 0x00, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x84, 0xB0, 0x04, 0x1C, 0xFA, 0xF7
- .byte 0xDF, 0xF8, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0x1E, 0xFD, 0x04, 0x1C, 0x00, 0xA8
- .byte 0xD3, 0xF7, 0x18, 0xFE, 0x03, 0x98, 0x20, 0x80, 0x00, 0x20, 0x04, 0xB0, 0x10, 0xBD, 0x00, 0x00
- .byte 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0xCC, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFA, 0xF7, 0x0A, 0xFD, 0x01, 0x1C, 0x60, 0x6F, 0x02, 0xF2, 0xA4, 0xFB, 0x01, 0x20, 0x10, 0xBD
- .byte 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xBC, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFA, 0xF7, 0xFA, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xB2, 0xF8, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xF0, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA8, 0xF8
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x02, 0xFD, 0x80, 0x35, 0x07, 0x1C
- .byte 0x28, 0x68, 0xC0, 0x68, 0x2D, 0xF0, 0x12, 0xF8, 0x39, 0x1C, 0x2C, 0xF0, 0x59, 0xFF, 0x05, 0x21
- .byte 0x00, 0x22, 0x28, 0xF0, 0x5B, 0xFB, 0x00, 0x04, 0x05, 0x0C, 0x28, 0x1C, 0xB7, 0xF1, 0x6C, 0xFB
- .byte 0x20, 0x80, 0x28, 0x1C, 0xB7, 0xF1, 0x62, 0xFB, 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00
- .byte 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x84, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFA, 0xF7, 0xDE, 0xFC, 0x01, 0x1C, 0x80, 0x34, 0x09, 0x06, 0x20, 0x68, 0x09, 0x0E, 0x0D, 0xF2
- .byte 0x9D, 0xFB, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x70, 0xF8
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xCA, 0xFC, 0x04, 0x1C, 0x28, 0x1C
- .byte 0xFA, 0xF7, 0x66, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xC0, 0xFC
- .byte 0x02, 0x1C, 0x80, 0x35, 0x21, 0x06, 0x12, 0x06, 0x28, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x0D, 0xF2
- .byte 0xCF, 0xFC, 0x01, 0x20, 0x38, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0xA9, 0x68
- .byte 0x4A, 0x1C, 0xAA, 0x60, 0x0E, 0x78, 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78, 0xFA, 0xF7, 0x48, 0xF8
- .byte 0x02, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x44, 0xF8, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x40, 0xF8
- .byte 0x00, 0x97, 0x80, 0x35, 0x01, 0x90, 0x28, 0x68, 0x02, 0x9B, 0x31, 0x1C, 0x22, 0x1C, 0x21, 0xF0
- .byte 0x09, 0xFE, 0x01, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x30, 0xF8
- .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0x6F, 0xFC, 0x0A, 0x21, 0x01, 0x80, 0x00, 0x20
- .byte 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0x80, 0x30, 0x06, 0x68, 0x30, 0x1C
- .byte 0xF8, 0xF7, 0xDC, 0xFD, 0xE4, 0xF7, 0x7E, 0xFE, 0x01, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x18, 0xF8
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x56, 0xFC, 0x04, 0x1C, 0xF0, 0x68
- .byte 0xE3, 0xF7, 0x7E, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x0A, 0xF8, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x64, 0xFC, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x00, 0xF8
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x5A, 0xFC, 0x02, 0x90, 0x28, 0x1C
- .byte 0xF9, 0xF7, 0xF6, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x50, 0xFC
- .byte 0x03, 0x90, 0x28, 0x1C, 0xF9, 0xF7, 0xEC, 0xFF, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFA, 0xF7
- .byte 0x47, 0xFC, 0x00, 0x90, 0x01, 0x98, 0x02, 0x9A, 0x03, 0x9B, 0x39, 0x1C, 0x0E, 0xF2, 0x6E, 0xFA
- .byte 0x05, 0x1C, 0x00, 0x20, 0xC0, 0x43, 0x85, 0x42, 0x01, 0xD0, 0x07, 0x2D, 0x04, 0xDD, 0xFF, 0x20
- .byte 0x20, 0x80, 0x04, 0xB0, 0x00, 0x20, 0xF8, 0xBD, 0x30, 0x1C, 0x29, 0x1C, 0x2C, 0xF0, 0xDA, 0xFC
- .byte 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x04, 0xE0, 0x30, 0x1C, 0x29, 0x1C, 0x2C, 0xF0, 0xC0, 0xFC
- .byte 0x68, 0x1C, 0x20, 0x80, 0x00, 0x20, 0x04, 0xB0, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C
- .byte 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF9, 0xF7, 0xBA, 0xFF, 0x80, 0x35, 0x01, 0x1C
- .byte 0x28, 0x68, 0xFA, 0xF7, 0xF9, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0xF3, 0xFF, 0xE7, 0xF7
- .byte 0x7D, 0xFE, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68
- .byte 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78, 0x18, 0x1C, 0x0D, 0xF2, 0xC5, 0xFC, 0x00, 0x20
- .byte 0x08, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C
- .byte 0x81, 0x60, 0x11, 0x78, 0x18, 0x1C, 0x0D, 0xF2, 0xEF, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00
- .byte 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78
- .byte 0x18, 0x1C, 0x0D, 0xF2, 0xE7, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00
+
+ thumb_func_start FUN_0203DE4C
+FUN_0203DE4C: ; 0x0203DE4C
+ push {r3, lr}
+ bl FUN_0224CA94
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203DE58
+FUN_0203DE58: ; 0x0203DE58
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r2, [r4, #0x8]
+ add r1, r2, #0x1
+ str r1, [r4, #0x8]
+ ldrb r5, [r2, #0x0]
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0224CAA0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203DE80
+FUN_0203DE80: ; 0x0203DE80
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r2, [r4, #0x8]
+ add r1, r2, #0x1
+ str r1, [r4, #0x8]
+ ldrb r5, [r2, #0x0]
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0224CAB4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203DEA8
+FUN_0203DEA8: ; 0x0203DEA8
+ push {r3, lr}
+ sub sp, #0x8
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r3, [sp, #0x4]
+ mov r1, #0x1
+ ldr r0, [r0, #0x74]
+ add r2, r1, #0x0
+ bl FUN_02242BE0
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203DEC4
+FUN_0203DEC4: ; 0x0203DEC4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x34]
+ bl FUN_02058060
+ add r4, r0, #0x0
+ bne _0203DEEC
+ bl FUN_02020C2C
+_0203DEEC:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205889C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203DEF8
+FUN_0203DEF8: ; 0x0203DEF8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x34]
+ bl FUN_02058060
+ add r4, r0, #0x0
+ bne _0203DF20
+ bl FUN_02020C2C
+_0203DF20:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203DF2C
+FUN_0203DF2C: ; 0x0203DF2C
+ push {r3, lr}
+ ldr r0, [r0, #0x74]
+ bl FUN_02066818
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203DF38
+FUN_0203DF38: ; 0x0203DF38
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02025838
+ mov r1, #0x0
+ bl FUN_0202589C
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203DF64
+FUN_0203DF64: ; 0x0203DF64
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x74]
+ bl FUN_02063650
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0203DF84
+FUN_0203DF84: ; 0x0203DF84
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204B2A4
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203DFA8
+FUN_0203DFA8: ; 0x0203DFA8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ bl FUN_0201B9EC
+ add r1, r5, #0x0
+ blx FUN_020EBC80
+ strh r1, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203DFE0
+FUN_0203DFE0: ; 0x0203DFE0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ bl FUN_0201B9EC
+ add r1, r5, #0x0
+ blx FUN_020EBC80
+ strh r1, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203E018
+FUN_0203E018: ; 0x0203E018
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_021F3A18
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E054
+FUN_0203E054: ; 0x0203E054
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_021F3AB4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203E078
+FUN_0203E078: ; 0x0203E078
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ lsl r1, r6, #0x18
+ lsl r2, r7, #0x18
+ add r3, r0, #0x0
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_021F3B7C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0203E0CC
+FUN_0203E0CC: ; 0x0203E0CC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ lsl r1, r6, #0x18
+ lsl r2, r7, #0x18
+ add r3, r0, #0x0
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_021F3B4C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0203E120
+FUN_0203E120: ; 0x0203E120
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x82
+ lsl r1, r1, #0x8
+ bl FUN_0205F3F8
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E138
+FUN_0203E138: ; 0x0203E138
+ push {r4, lr}
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x1
+ bl FUN_0205F2D4
+ ldr r0, [r4, #0xc]
+ bl FUN_020289A4
+ mov r1, #0x1
+ bl FUN_020289B0
+ add r1, r4, #0x0
+ add r1, #0x98
+ str r0, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02048C58
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E168
+FUN_0203E168: ; 0x0203E168
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ sub r0, #0x10
+ cmp r0, #0xa
+ bhi _0203E23A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0203E1EA: ; jump table (using 16-bit offset)
+ .short _0203E200 - _0203E1EA - 2; case 0
+ .short _0203E20C - _0203E1EA - 2; case 1
+ .short _0203E218 - _0203E1EA - 2; case 2
+ .short _0203E226 - _0203E1EA - 2; case 3
+ .short _0203E23A - _0203E1EA - 2; case 4
+ .short _0203E226 - _0203E1EA - 2; case 5
+ .short _0203E226 - _0203E1EA - 2; case 6
+ .short _0203E226 - _0203E1EA - 2; case 7
+ .short _0203E226 - _0203E1EA - 2; case 8
+ .short _0203E226 - _0203E1EA - 2; case 9
+ .short _0203E226 - _0203E1EA - 2; case 10
+_0203E200:
+ mov r0, #0x4
+ mov r6, #0x1
+ bl FUN_02029120
+ str r0, [r5, #0x0]
+ b _0203E23E
+_0203E20C:
+ mov r0, #0x4
+ mov r6, #0x1
+ bl FUN_0202912C
+ str r0, [r5, #0x0]
+ b _0203E23E
+_0203E218:
+ ldr r0, [sp, #0x0]
+ mov r1, #0x4
+ mov r6, #0x1
+ bl FUN_02029138
+ str r0, [r5, #0x0]
+ b _0203E23E
+_0203E226:
+ sub r7, #0x13
+ lsl r0, r7, #0x18
+ ldr r1, [sp, #0x0]
+ lsr r0, r0, #0x18
+ mov r2, #0x4
+ mov r6, #0x1
+ bl FUN_0202914C
+ str r0, [r5, #0x0]
+ b _0203E23E
+_0203E23A:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0203E23E:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r5, #0x0]
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ add r2, r6, #0x0
+ bl FUN_02028AD4
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E254
+FUN_0203E254: ; 0x0203E254
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0203E258
+FUN_0203E258: ; 0x0203E258
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020271A4
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0203E29C
+FUN_0203E29C: ; 0x0203E29C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020270D8
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E2F8
+FUN_0203E2F8: ; 0x0203E2F8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r7, #0x0
+ bl FUN_02027114
+ cmp r6, r0
+ bhi _0203E352
+ mov r0, #0x1
+ b _0203E354
+_0203E352:
+ mov r0, #0x0
+_0203E354:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E35C
+FUN_0203E35C: ; 0x0203E35C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ bl FUN_02027264
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E38C
+FUN_0203E38C: ; 0x0203E38C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r6, #0x0
+ bl FUN_02027100
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0203E3D0
+FUN_0203E3D0: ; 0x0203E3D0
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02024504
+ cmp r0, #0x1
+ bne _0203E404
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+_0203E404:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203E408
+FUN_0203E408: ; 0x0203E408
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020244EC
+ cmp r0, #0x1
+ bne _0203E43C
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+_0203E43C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203E440
+FUN_0203E440: ; 0x0203E440
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x13
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x20
+ mov r2, #0x0
+ bl FUN_02038AF4
+ str r0, [r4, #0x0]
+ ldr r1, _0203E46C ; =FUN_0203BB90
+ add r0, r5, #0x0
+ bl FUN_02038B5C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_0203E46C: .word FUN_0203BB90 + 1
+
+ thumb_func_start FUN_0203E470
+FUN_0203E470: ; 0x0203E470
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x13
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x20
+ mov r2, #0x1
+ bl FUN_02038AF4
+ str r0, [r4, #0x0]
+ ldr r1, _0203E49C ; =FUN_0203BB90
+ add r0, r5, #0x0
+ bl FUN_02038B5C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_0203E49C: .word FUN_0203BB90 + 1
+
+ thumb_func_start FUN_0203E4A0
+FUN_0203E4A0: ; 0x0203E4A0
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0224CBB0
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E4B0
+FUN_0203E4B0: ; 0x0203E4B0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0224CC24
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E4D8
+FUN_0203E4D8: ; 0x0203E4D8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E4F0
+FUN_0203E4F0: ; 0x0203E4F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r1, r4, #0x0
+ bl FUN_0202A0E8
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E510
+FUN_0203E510: ; 0x0203E510
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r1, r4, #0x0
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r1, r6, #0x0
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r1, r7, #0x0
+ bl FUN_0202A150
+ ldr r1, _0203E564 ; =0xFFFF0000
+ and r1, r0
+ lsr r1, r1, #0x10
+ strh r1, [r4, #0x0]
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0203E564: .word 0xFFFF0000
+
+ thumb_func_start FUN_0203E568
+FUN_0203E568: ; 0x0203E568
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ ldr r1, [r5, #0x8]
+ add r2, r1, #0x1
+ str r2, [r5, #0x8]
+ lsl r2, r4, #0x10
+ add r4, r2, #0x0
+ orr r4, r0
+ ldrb r0, [r1, #0x0]
+ cmp r0, #0x0
+ beq _0203E59C
+ cmp r0, #0x1
+ beq _0203E5B0
+ cmp r0, #0x2
+ beq _0203E5C4
+ b _0203E5D6
+_0203E59C:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0202A11C
+ b _0203E5D6
+_0203E5B0:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0202A07C
+ b _0203E5D6
+_0203E5C4:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0202A0A8
+_0203E5D6:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E5DC
+FUN_0203E5DC: ; 0x0203E5DC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ ldr r1, [r5, #0x8]
+ str r0, [sp, #0x4]
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ ldrb r4, [r1, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02034E24
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02034E28
+ add r7, r0, #0x0
+ cmp r4, #0x0
+ beq _0203E62C
+ cmp r4, #0x1
+ beq _0203E642
+ b _0203E66E
+_0203E62C:
+ ldr r0, [sp, #0x0]
+ bl FUN_0205F1F4
+ ldr r0, [sp, #0x4]
+ bl FUN_02060FD0
+ mov r0, #0x1e
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ strh r0, [r7, #0x0]
+ b _0203E66E
+_0203E642:
+ ldr r0, [sp, #0x0]
+ bl FUN_0205F204
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02061574
+ mov r0, #0x4
+ bl FUN_0202912C
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r2, #0x1
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ bl FUN_02028AD4
+ mov r0, #0x0
+ strh r0, [r6, #0x0]
+ strh r0, [r7, #0x0]
+_0203E66E:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0203E674
+FUN_0203E674: ; 0x0203E674
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_0206015C
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E684
+FUN_0203E684: ; 0x0203E684
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r2, [r5, #0x8]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r4, [r2, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r4, #0x0
+ bl FUN_022456E8
+ strh r0, [r6, #0x0]
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E6B4
+FUN_0203E6B4: ; 0x0203E6B4
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02064E20
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E6C4
+FUN_0203E6C4: ; 0x0203E6C4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ mov r1, #0x0
+ add r6, r0, #0x0
+ mov r0, #0x41
+ add r2, r1, #0x0
+ bl FUN_0200433C
+ add r5, #0x80
+ ldrh r1, [r4, #0x0]
+ ldr r0, [r5, #0x0]
+ add r2, r6, #0x0
+ bl FUN_0224525C
+ mov r0, #0x1
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0203E6FC
+FUN_0203E6FC: ; 0x0203E6FC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02245340
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E72C
+FUN_0203E72C: ; 0x0203E72C
+ push {r3, lr}
+ ldr r2, [r0, #0x8]
+ add r1, r2, #0x1
+ str r1, [r0, #0x8]
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldrb r1, [r2, #0x0]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055560
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E744
+FUN_0203E744: ; 0x0203E744
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F688
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E774
+FUN_0203E774: ; 0x0203E774
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ bl FUN_020244A4
+ add r4, r0, #0x0
+ bl FUN_0201B9EC
+ add r1, r4, #0x0
+ blx FUN_020EBC80
+ lsl r0, r1, #0x10
+ lsr r6, r0, #0x10
+ ldr r0, [sp, #0x0]
+ mov r1, #0x19
+ strh r1, [r0, #0x0]
+ mov r4, #0x1
+ mov r5, #0x0
+_0203E7B6:
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_020245F0
+ cmp r0, #0x1
+ bne _0203E7DC
+ add r0, r4, #0x0
+ bl FUN_02069B40
+ cmp r0, #0x0
+ beq _0203E7DC
+ cmp r5, r6
+ bne _0203E7D6
+ ldr r0, [sp, #0x0]
+ strh r4, [r0, #0x0]
+ b _0203E7E8
+_0203E7D6:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+_0203E7DC:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, _0203E7EC ; =0x000001ED
+ cmp r4, r0
+ bls _0203E7B6
+_0203E7E8:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0203E7EC: .word 0x000001ED
+
+ thumb_func_start FUN_0203E7F0
+FUN_0203E7F0: ; 0x0203E7F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r1, r4, #0x0
+ bl FUN_0205F5A4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E81C
+FUN_0203E81C: ; 0x0203E81C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F594
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E848
+FUN_0203E848: ; 0x0203E848
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AA00
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E858
+FUN_0203E858: ; 0x0203E858
+ push {r3, lr}
+ ldr r2, [r0, #0x8]
+ add r1, r2, #0x1
+ str r1, [r0, #0x8]
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldrb r1, [r2, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02060490
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E870
+FUN_0203E870: ; 0x0203E870
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r4, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ ldrb r1, [r1, #0x0]
+ mov r0, #0xb
+ bl FUN_0224884C
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203E894
+FUN_0203E894: ; 0x0203E894
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_022488EC
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E8C4
+FUN_0203E8C4: ; 0x0203E8C4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_022488F4
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E8F4
+FUN_0203E8F4: ; 0x0203E8F4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x74]
+ ldr r1, [r4, #0x0]
+ mov r3, #0xb
+ bl FUN_02060790
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E928
+FUN_0203E928: ; 0x0203E928
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_022488CC
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203E940
+FUN_0203E940: ; 0x0203E940
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024D4C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E954
+FUN_0203E954: ; 0x0203E954
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024CE0
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0203E968
+FUN_0203E968: ; 0x0203E968
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r2, [r5, #0x8]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r4, [r2, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ mov r0, #0x0
+ strh r0, [r6, #0x0]
+ cmp r4, #0x1
+ bne _0203E9AE
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024C84
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ bl FUN_02023A90
+ b _0203E9C8
+_0203E9AE:
+ cmp r4, #0x2
+ bne _0203E9C4
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024CA4
+ strh r0, [r6, #0x0]
+ b _0203E9C8
+_0203E9C4:
+ bl FUN_02020C2C
+_0203E9C8:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0203E9CC
+FUN_0203E9CC: ; 0x0203E9CC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x11
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x12
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r4, r6
+ add r2, r7, r1
+ ldr r1, [sp, #0x4]
+ add r2, r1, r2
+ ldr r1, [sp, #0x8]
+ add r1, r1, r2
+ add r1, r0, r1
+ ldr r0, [sp, #0x0]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203EA68
+FUN_0203EA68: ; 0x0203EA68
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ bl FUN_020126B4
+ ldr r0, [sp, #0xc]
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203EA90
+FUN_0203EA90: ; 0x0203EA90
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x74]
+ bl FUN_022411F4
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0203EAB0
+FUN_0203EAB0: ; 0x0203EAB0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r5, #0x0
+ bl FUN_021F61E8
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_021F61DC
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203EB20
+FUN_0203EB20: ; 0x0203EB20
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r4, #0x80
+ lsl r1, r1, #0x18
+ ldr r0, [r4, #0x0]
+ lsr r1, r1, #0x18
+ bl FUN_0224C27C
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203EB48
+FUN_0203EB48: ; 0x0203EB48
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ add r5, #0x80
+ lsl r1, r4, #0x18
+ lsl r2, r2, #0x18
+ ldr r0, [r5, #0x0]
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_0224C520
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203EB88
+FUN_0203EB88: ; 0x0203EB88
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ ldr r1, [r5, #0x8]
+ add r2, r1, #0x1
+ str r2, [r5, #0x8]
+ ldrb r6, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r4, [r2, #0x0]
+ bl FUN_02038C30
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ str r7, [sp, #0x0]
+ add r5, #0x80
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ ldr r3, [sp, #0x8]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_020607D4
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0203EBC8
+FUN_0203EBC8: ; 0x0203EBC8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r1, #0xa
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203EBE4
+FUN_0203EBE4: ; 0x0203EBE4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r6, [r0, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_02022510
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ ldr r2, [sp, #0x8]
+ ldr r3, [sp, #0xc]
+ add r1, r7, #0x0
+ bl FUN_0224D14C
+ add r5, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r5, r0
+ beq _0203EC7E
+ cmp r5, #0x7
+ ble _0203EC88
+_0203EC7E:
+ mov r0, #0xff
+ strh r0, [r4, #0x0]
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0203EC88:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206B644
+ cmp r0, #0x0
+ beq _0203EC98
+ mov r0, #0x0
+ b _0203ECA2
+_0203EC98:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206B620
+ add r0, r5, #0x1
+_0203ECA2:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203ECAC
+FUN_0203ECAC: ; 0x0203ECAC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02026CB4
+ bl FUN_020269CC
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203ECD8
+FUN_0203ECD8: ; 0x0203ECD8
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0x80
+ ldr r2, [r0, #0x8]
+ ldr r3, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r0, #0x8]
+ ldrb r1, [r2, #0x0]
+ add r0, r3, #0x0
+ bl FUN_0224C678
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203ECF4
+FUN_0203ECF4: ; 0x0203ECF4
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0x80
+ ldr r2, [r0, #0x8]
+ ldr r3, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r0, #0x8]
+ ldrb r1, [r2, #0x0]
+ add r0, r3, #0x0
+ bl FUN_0224C6E8
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0203ED10
+FUN_0203ED10: ; 0x0203ED10
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0x80
+ ldr r2, [r0, #0x8]
+ ldr r3, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r0, #0x8]
+ ldrb r1, [r2, #0x0]
+ add r0, r3, #0x0
+ bl FUN_0224C6F4
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
thumb_func_start FUN_0203ED2C
FUN_0203ED2C: ; 0x0203ED2C
@@ -125441,20 +135584,34 @@ _0203FD2C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
- lsl r0, r3, #0
- lsl r4, r3, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
+_0203FD46: ; jump table (using 16-bit offset)
+ .short _0203FD58 - _0203FD46 - 2; case 0
+ .short _0203FD5C - _0203FD46 - 2; case 1
+ .short _0203FD5C - _0203FD46 - 2; case 2
+ .short _0203FD60 - _0203FD46 - 2; case 3
+ .short _0203FD60 - _0203FD46 - 2; case 4
+ .short _0203FD64 - _0203FD46 - 2; case 5
+ .short _0203FD64 - _0203FD46 - 2; case 6
+ .short _0203FD68 - _0203FD46 - 2; case 7
+ .short _0203FD6C - _0203FD46 - 2; case 8
+_0203FD58:
mov r1, #0x1
b _0203FD72
_0203FD5C:
- .byte 0x02, 0x21, 0x08, 0xE0
- .byte 0x03, 0x21, 0x06, 0xE0, 0x04, 0x21, 0x04, 0xE0, 0x05, 0x21, 0x02, 0xE0, 0x06, 0x21, 0x00, 0xE0
+ mov r1, #0x2
+ b _0203FD72
+_0203FD60:
+ mov r1, #0x3
+ b _0203FD72
+_0203FD64:
+ mov r1, #0x4
+ b _0203FD72
+_0203FD68:
+ mov r1, #0x5
+ b _0203FD72
+_0203FD6C:
+ mov r1, #0x6
+ b _0203FD72
_0203FD70:
mov r1, #0x1
_0203FD72:
@@ -129277,13 +139434,15 @@ _02041C6C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r2, r0, #0x1
- lsl r0, r7, #0x1
- lsl r6, r5, #0x2
- lsl r4, r4, #0x3
- lsl r2, r3, #0x4
- lsl r4, r2, #0x5
+_02041C78: ; jump table (using 16-bit offset)
+ .short _02041C86 - _02041C78 - 2; case 0
+ .short _02041CBC - _02041C78 - 2; case 1
+ .short _02041CF2 - _02041C78 - 2; case 2
+ .short _02041D28 - _02041C78 - 2; case 3
+ .short _02041D5E - _02041C78 - 2; case 4
+ .short _02041D94 - _02041C78 - 2; case 5
+ .short _02041DCE - _02041C78 - 2; case 6
+_02041C86:
add r0, r4, #0x0
bl FUN_02038C30
add r1, r0, #0x0
@@ -129307,31 +139466,166 @@ _02041C6C:
mov r0, #0x0
pop {r4-r7, pc}
_02041CBC:
- .byte 0x20, 0x1C, 0xF6, 0xF7
- .byte 0xB7, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x11, 0xFC, 0x06, 0x1C
- .byte 0x20, 0x1C, 0xF6, 0xF7, 0xAD, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF7, 0xF7, 0xEC, 0xFB
- .byte 0x04, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xE6, 0xF7, 0xAB, 0xFD, 0x20, 0x80, 0x03, 0xB0, 0x00, 0x20
- .byte 0xF0, 0xBD, 0x20, 0x1C, 0xF6, 0xF7, 0x9C, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF7, 0xF7, 0xF6, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x92, 0xFF, 0x80, 0x34, 0x01, 0x1C
- .byte 0x20, 0x68, 0xF7, 0xF7, 0xED, 0xFB, 0x03, 0x1C, 0x00, 0x20, 0x00, 0x90, 0x30, 0x68, 0x39, 0x1C
- .byte 0x2A, 0x1C, 0xC9, 0xF7, 0xF1, 0xFC, 0x87, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x81, 0xFF, 0x01, 0x1C
- .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xDB, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7
- .byte 0x77, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF7, 0xF7, 0xD2, 0xFB, 0x03, 0x1C, 0x01, 0x20
- .byte 0x00, 0x90, 0x30, 0x68, 0x39, 0x1C, 0x2A, 0x1C, 0xC9, 0xF7, 0xD6, 0xFC, 0x6C, 0xE0, 0x00, 0x21
- .byte 0x28, 0x1C, 0x0A, 0x1C, 0xE6, 0xF7, 0x20, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x60, 0xFF
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x9E, 0xFB, 0x00, 0x22, 0x00, 0x92
- .byte 0x01, 0x95, 0x02, 0x90, 0x60, 0x6F, 0x05, 0x21, 0x07, 0x23, 0xF6, 0xF7, 0x1F, 0xFC, 0x03, 0xB0
- .byte 0x01, 0x20, 0xF0, 0xBD, 0x20, 0x1C, 0xF6, 0xF7, 0x4B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF7, 0xF7, 0xA5, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x01, 0x21, 0xE6, 0xF7, 0x3C, 0xFD
- .byte 0x06, 0x1C, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0xA2, 0xFC, 0x00, 0x2E, 0x03, 0xD0
- .byte 0x80, 0x34, 0x20, 0x68, 0x1F, 0xF0, 0x98, 0xFA, 0x03, 0xB0, 0x00, 0x20, 0xF0, 0xBD, 0x40, 0x20
- .byte 0x20, 0x21, 0xDF, 0xF7, 0x0F, 0xFE, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68
- .byte 0xE1, 0xF7, 0x88, 0xFD, 0x31, 0x1C, 0x07, 0x1C, 0xE1, 0xF7, 0xD2, 0xFD, 0x28, 0x1C, 0x00, 0x21
- .byte 0x01, 0x22, 0x33, 0x1C, 0xE6, 0xF7, 0xE4, 0xFC, 0x38, 0x1C, 0xE1, 0xF7, 0xE7, 0xFD, 0x02, 0x1C
- .byte 0x28, 0x1C, 0x00, 0x21, 0xE6, 0xF7, 0xF2, 0xFC, 0x28, 0x1C, 0x00, 0x21, 0x02, 0x22, 0xE6, 0xF7
- .byte 0xFF, 0xFC, 0xD9, 0xF7, 0x25, 0xFE, 0x02, 0x1C, 0x28, 0x1C, 0x00, 0x21, 0xE6, 0xF7, 0xB4, 0xFC
- .byte 0x30, 0x1C, 0xDF, 0xF7, 0xFD, 0xFD, 0x28, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xE6, 0xF7, 0x68, 0xFC
- .byte 0x80, 0x34, 0x20, 0x68, 0x1F, 0xF0, 0x5A, 0xFA
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02028840
+ strh r0, [r4, #0x0]
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02041CF2:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B708
+ b _02041E38
+_02041D28:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B708
+ b _02041E38
+_02041D5E:
+ mov r1, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020287A8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ str r5, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x74]
+ mov r1, #0x5
+ mov r3, #0x7
+ bl FUN_020385CC
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02041D94:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02028828
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x1
+ bl FUN_02028700
+ cmp r6, #0x0
+ beq _02041DC8
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_020612F8
+_02041DC8:
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02041DCE:
+ mov r0, #0x40
+ mov r1, #0x20
+ bl FUN_020219F4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r1, r6, #0x0
+ add r7, r0, #0x0
+ bl FUN_02023990
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ add r3, r6, #0x0
+ bl FUN_020287C0
+ add r0, r7, #0x0
+ bl FUN_020239CC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020287EC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x2
+ bl FUN_02028810
+ bl FUN_0201BA60
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02028788
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_02028700
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_020612EC
_02041E38:
mov r0, #0x0
add sp, #0xc
@@ -129353,13 +139647,15 @@ _02041E4E:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r4, r5, #0
- lsl r0, r1, #0x3
- lsl r6, r5, #0x1
- lsl r2, r2, #0x3
- lsl r4, r1, #0x4
- lsl r0, r3, #0x5
+_02041E5A: ; jump table (using 16-bit offset)
+ .short _02041E68 - _02041E5A - 2; case 0
+ .short _02041E88 - _02041E5A - 2; case 1
+ .short _02041F24 - _02041E5A - 2; case 2
+ .short _02041ECA - _02041E5A - 2; case 3
+ .short _02041F2E - _02041E5A - 2; case 4
+ .short _02041F68 - _02041E5A - 2; case 5
+ .short _02041FB4 - _02041E5A - 2; case 6
+_02041E68:
add r0, r4, #0x0
bl FUN_02038C30
add r1, r0, #0x0
@@ -129374,650 +139670,4922 @@ _02041E4E:
strh r0, [r5, #0x0]
b _02041FD2
_02041E88:
- .byte 0x20, 0x1C, 0xF6, 0xF7, 0xD1, 0xFE, 0x07, 0x1C
- .byte 0x20, 0x1C, 0xF6, 0xF7, 0xCD, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7
- .byte 0x0B, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xC3, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF7, 0xF7, 0x01, 0xFB, 0x06, 0x1C, 0x47, 0x48, 0x80, 0x34, 0x28, 0x80, 0x20, 0x68
- .byte 0x39, 0x1C, 0x07, 0xF2, 0xB9, 0xF8, 0x30, 0x80, 0x83, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x0F, 0x21, 0xF7, 0xF7, 0xB1, 0xFA, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xA9, 0xFE, 0x01, 0x1C
- .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x03, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7
- .byte 0x9F, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xDD, 0xFA, 0x07, 0x1C
- .byte 0x20, 0x1C, 0xF6, 0xF7, 0x95, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7
- .byte 0xD3, 0xFA, 0x00, 0x90, 0x80, 0x34, 0x20, 0x68, 0x29, 0x68, 0x32, 0x1C, 0x3B, 0x1C, 0x07, 0xF2
- .byte 0xBF, 0xF8, 0x56, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x06, 0xF2, 0xCA, 0xFE, 0x51, 0xE0, 0x20, 0x1C
- .byte 0xF6, 0xF7, 0x7E, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xBC, 0xFA
- .byte 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x74, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF7, 0xF7, 0xB2, 0xFA, 0x06, 0x1C, 0x8D, 0x20, 0x80, 0x00, 0x80, 0x34, 0x28, 0x80, 0x20, 0x68
- .byte 0x07, 0xF2, 0x4C, 0xF9, 0x30, 0x80, 0x34, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x61, 0xFE, 0x01, 0x1C
- .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xBB, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7
- .byte 0x57, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xB1, 0xFA, 0x07, 0x1C
- .byte 0x20, 0x1C, 0xF6, 0xF7, 0x4D, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7
- .byte 0x8B, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x31, 0x1C, 0x3A, 0x1C, 0x06, 0xF2, 0xE0, 0xFF
- .byte 0x28, 0x80, 0x0E, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x3B, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF7, 0xF7, 0x79, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x07, 0xF2, 0x08, 0xF8
- .byte 0x28, 0x80
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ ldr r0, _02041FD8 ; =0x00000233
+ add r4, #0x80
+ strh r0, [r5, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, r7, #0x0
+ bl FUN_02249038
+ strh r0, [r6, #0x0]
+ b _02041FD2
+_02041ECA:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r5, #0x0]
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_022490A0
+ b _02041FD2
+_02041F24:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_02248CC0
+ b _02041FD2
+_02041F2E:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r4, #0x80
+ strh r0, [r5, #0x0]
+ ldr r0, [r4, #0x0]
+ bl FUN_022491FC
+ strh r0, [r6, #0x0]
+ b _02041FD2
+_02041F68:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02248F70
+ strh r0, [r5, #0x0]
+ b _02041FD2
+_02041FB4:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02248FE0
+ strh r0, [r5, #0x0]
_02041FD2:
mov r0, #0x0
pop {r3-r7, pc}
nop
-_02041FD8:
- .byte 0x33, 0x02, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C
- .byte 0xF6, 0xF7, 0x26, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x80, 0xFA
- .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0x1F, 0xF0, 0xBD, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x29, 0xF0, 0x87, 0xFD, 0x04, 0x1C
- .byte 0x28, 0x1C, 0xF6, 0xF7, 0x0D, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7
- .byte 0x67, 0xFA, 0x01, 0x1C, 0x20, 0x1C, 0x29, 0xF0, 0xC3, 0xFC, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68
- .byte 0x1F, 0xF0, 0x16, 0xFA, 0x00, 0x20, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x0F, 0x21, 0xF7, 0xF7, 0xF9, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xF1, 0xFD, 0x00, 0x28
- .byte 0x02, 0xD0, 0x01, 0x28, 0x28, 0xD0, 0x56, 0xE0, 0x28, 0x1C, 0xF6, 0xF7, 0xE9, 0xFD, 0x01, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x43, 0xFA, 0x00, 0x90, 0x28, 0x1C, 0xF6, 0xF7
- .byte 0xDF, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x1D, 0xFA, 0x06, 0x1C
- .byte 0x28, 0x1C, 0xF6, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7
- .byte 0x13, 0xFA, 0x07, 0x1C, 0x1D, 0x48, 0x80, 0x35, 0x30, 0x80, 0x00, 0x98, 0x29, 0x68, 0x22, 0x68
- .byte 0x00, 0xF0, 0xA6, 0xF8, 0x38, 0x80, 0x2E, 0xE0, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68
- .byte 0xE7, 0xF7, 0x8A, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xBA, 0xFD, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x14, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xB0, 0xFD
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x0A, 0xFA, 0x07, 0x1C, 0x28, 0x1C
- .byte 0xF6, 0xF7, 0xA6, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x00, 0xFA
- .byte 0x80, 0x35, 0x03, 0x1C, 0x28, 0x68, 0x31, 0x1C, 0x3A, 0x1C, 0x00, 0xF0, 0x6D, 0xF8, 0x20, 0x1C
- .byte 0x03, 0x21, 0xE8, 0xF7, 0x35, 0xF8, 0x00, 0x20, 0xF8, 0xBD, 0xC0, 0x46, 0x32, 0x02, 0x00, 0x00
- .byte 0x70, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x8C, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF7, 0xF7, 0xE6, 0xF9, 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x82, 0xFD, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xC0, 0xF9, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0x31, 0x1C
- .byte 0x00, 0xF0, 0x68, 0xF8, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xD5, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7
- .byte 0x67, 0xFD, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28, 0x1B, 0xD0, 0x02, 0x28, 0x26, 0xD0, 0x31, 0xE0
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x29, 0xF0, 0xD0, 0xFC, 0x06, 0x1C, 0x28, 0x1C
- .byte 0xF6, 0xF7, 0x56, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7, 0xB1, 0xF9, 0x01, 0x1C
- .byte 0x30, 0x1C, 0x29, 0xF0, 0x0D, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x04, 0x22, 0x1E, 0xF0, 0xCE, 0xFE
- .byte 0x18, 0xE0, 0x28, 0x1C, 0xF6, 0xF7, 0x44, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7
- .byte 0x9F, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x1E, 0xF0, 0xF1, 0xFE, 0x0B, 0xE0, 0x28, 0x1C, 0xF6, 0xF7
- .byte 0x37, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7, 0x92, 0xF9, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x1E, 0xF0, 0xDA, 0xFE, 0x00, 0x20, 0x70, 0xBD, 0x08, 0xB5, 0x49, 0x1E, 0x0B, 0x01, 0x03, 0x49
- .byte 0xCB, 0x58, 0x00, 0x2B, 0x01, 0xD0, 0x11, 0x1C, 0x98, 0x47, 0x08, 0xBD, 0x64, 0x42, 0x0F, 0x02
- .byte 0x10, 0xB5, 0x40, 0x1E, 0x04, 0x01, 0x05, 0x48, 0x03, 0x59, 0x00, 0x2B, 0x02, 0xD0, 0x08, 0x1C
- .byte 0x11, 0x1C, 0x98, 0x47, 0x02, 0x48, 0x00, 0x59, 0x10, 0xBD, 0xC0, 0x46, 0x68, 0x42, 0x0F, 0x02
- .byte 0x70, 0x42, 0x0F, 0x02, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x0D, 0x1C, 0xE0, 0xF7, 0x72, 0xF9
- .byte 0x01, 0x21, 0x2A, 0x1C, 0xE9, 0xF7, 0x74, 0xFA, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD
- .byte 0x68, 0x1E, 0x01, 0x01, 0x04, 0x48, 0x41, 0x58, 0x00, 0x29, 0x01, 0xD1, 0x01, 0x20, 0x38, 0xBD
- .byte 0x20, 0x1C, 0x88, 0x47, 0x38, 0xBD, 0xC0, 0x46, 0x6C, 0x42, 0x0F, 0x02, 0xF0, 0xB5, 0x83, 0xB0
- .byte 0x05, 0x1C, 0x0E, 0x1C, 0x17, 0x1C, 0x40, 0x20, 0x04, 0x21, 0x02, 0x93, 0xDF, 0xF7, 0xCA, 0xFB
- .byte 0x39, 0x1C, 0x04, 0x1C, 0xDF, 0xF7, 0xE0, 0xFD, 0x09, 0x98, 0x02, 0x9B, 0x00, 0x90, 0x08, 0x98
- .byte 0x31, 0x1C, 0x01, 0x90, 0x28, 0x1C, 0x22, 0x1C, 0xC8, 0xF7, 0x9C, 0xFC, 0x20, 0x1C, 0xDF, 0xF7
- .byte 0xCF, 0xFB, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0xC0, 0x68, 0x0C, 0x1C, 0x29, 0xF0
- .byte 0x45, 0xFC, 0x07, 0xF0, 0xBB, 0xFF, 0x26, 0xF0, 0x25, 0xFF, 0x02, 0x1C, 0x20, 0x1C, 0x00, 0x21
- .byte 0xC8, 0xF7, 0xDE, 0xFC, 0x10, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x40, 0x68, 0x0C, 0x1C, 0x40, 0x69
- .byte 0x10, 0xF2, 0x42, 0xF9, 0x02, 0x1C, 0x20, 0x1C, 0x00, 0x21, 0xC8, 0xF7, 0xB7, 0xFE, 0x10, 0xBD
- .byte 0x10, 0xB5, 0x88, 0xB0, 0xC0, 0x68, 0x0C, 0x1C, 0xE0, 0xF7, 0x1C, 0xF9, 0xE9, 0xF7, 0xBA, 0xFA
- .byte 0x40, 0x88, 0x04, 0x21, 0x02, 0xAA, 0xC8, 0xF7, 0x61, 0xFB, 0x02, 0x20, 0x00, 0x90, 0x01, 0x20
- .byte 0x00, 0x21, 0x01, 0x90, 0x20, 0x1C, 0x02, 0xAA, 0x0B, 0x1C, 0xFF, 0xF7, 0xAF, 0xFF, 0x08, 0xB0
- .byte 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0x04, 0xF9, 0xE9, 0xF7, 0xAE, 0xFA
- .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0x09, 0xF0, 0x4E, 0xFF, 0x09, 0xF0, 0xDC, 0xFD
- .byte 0x08, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xF4, 0xF8, 0xE9, 0xF7, 0x8C, 0xFA
- .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE5, 0xF7, 0x7C, 0xFD, 0x00, 0x21, 0xE4, 0xF7
- .byte 0xB3, 0xFE, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xE4, 0xF8, 0xE9, 0xF7, 0x88, 0xFA
- .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xDC, 0xF8, 0xE9, 0xF7, 0x7A, 0xFA
- .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xA8, 0x30, 0x01, 0xF2, 0xAE, 0xF8
- .byte 0x00, 0x20, 0x08, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x62, 0xFC, 0x04, 0x1C, 0x28, 0x1C
- .byte 0xF6, 0xF7, 0x5E, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x16, 0xFA
- .byte 0x21, 0x1C, 0x32, 0x1C, 0x01, 0xF2, 0xA4, 0xF8, 0x80, 0x35, 0x29, 0x68, 0xA8, 0x31, 0x08, 0x60
- .byte 0x00, 0x20, 0x70, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xA8, 0x30, 0x00, 0x68
- .byte 0x01, 0xF2, 0x78, 0xF9, 0x80, 0x34, 0x21, 0x68, 0x00, 0x20, 0xA8, 0x31, 0x08, 0x60, 0x10, 0xBD
- .byte 0xF8, 0xB5, 0x82, 0xB0, 0x07, 0x1C, 0xF6, 0xF7, 0x3B, 0xFC, 0x00, 0x90, 0x38, 0x1C, 0xF6, 0xF7
- .byte 0x37, 0xFC, 0x01, 0x1C, 0x38, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x91, 0xF8, 0x06, 0x1C
- .byte 0x38, 0x1C, 0xF6, 0xF7, 0x2D, 0xFC, 0x01, 0x90, 0x38, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x01, 0x99
- .byte 0xF7, 0xF7, 0x6A, 0xF8, 0x04, 0x1C, 0x38, 0x1C, 0x80, 0x30, 0x01, 0x68, 0x08, 0x1C, 0xA8, 0x30
- .byte 0x05, 0x68, 0x00, 0x98, 0x64, 0x28, 0x00, 0xD9, 0x7D, 0xE1, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88
- .byte 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0xC8, 0x00, 0xD2, 0x00, 0xEE, 0x00, 0xF4, 0x00, 0x00, 0x01
- .byte 0x0E, 0x01, 0x16, 0x01, 0xEE, 0x02, 0x1E, 0x01, 0x2A, 0x01, 0x38, 0x01, 0x46, 0x01, 0x52, 0x01
- .byte 0xEE, 0x02, 0x5C, 0x01, 0x66, 0x01, 0x70, 0x01, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0x82, 0x01, 0x9A, 0x01, 0xB4, 0x01, 0xC0, 0x01, 0xCA, 0x01, 0xD4, 0x01, 0xDE, 0x01
- .byte 0xE8, 0x01, 0xF0, 0x01, 0xF8, 0x01, 0x00, 0x02, 0x12, 0x02, 0x1E, 0x02, 0x3A, 0x02, 0x44, 0x02
- .byte 0x4E, 0x02, 0x58, 0x02, 0x62, 0x02, 0x6C, 0x02, 0x78, 0x02, 0x84, 0x02, 0x98, 0x02, 0xA2, 0x02
- .byte 0xAC, 0x02, 0xB6, 0x02, 0xC4, 0x02, 0x0A, 0x02, 0xD2, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02
- .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xDE, 0x02
- .byte 0x30, 0x1C, 0x00, 0xF2, 0x2B, 0xFE, 0x20, 0x80, 0x0F, 0xE1, 0x00, 0x2E, 0x05, 0xD1, 0xA8, 0x7B
- .byte 0xC9, 0x68, 0x00, 0xF2, 0xFF, 0xFE, 0x20, 0x80, 0x07, 0xE1, 0xC9, 0x68, 0x30, 0x1C, 0x00, 0xF2
- .byte 0xF9, 0xFE, 0x20, 0x80, 0x01, 0xE1, 0x00, 0xF2, 0x51, 0xFF, 0xFE, 0xE0, 0xC8, 0x68, 0xE8, 0xF7
- .byte 0xE5, 0xF9, 0x00, 0xF2, 0x51, 0xFF, 0xF8, 0xE0, 0xC8, 0x68, 0xE8, 0xF7, 0xDF, 0xF9, 0x00, 0xF2
- .byte 0x4F, 0xFF, 0x20, 0x80, 0xF1, 0xE0, 0x08, 0x1C, 0x00, 0xF2, 0x4E, 0xFF, 0xED, 0xE0, 0x08, 0x1C
- .byte 0x00, 0xF2, 0x6A, 0xFF, 0xE9, 0xE0, 0xC8, 0x68, 0x31, 0x1C, 0x00, 0xF2, 0x6D, 0xFF, 0x20, 0x80
- .byte 0xE3, 0xE0, 0xC9, 0x68, 0x00, 0x20, 0x02, 0x22, 0x01, 0xF2, 0x9C, 0xFC, 0x20, 0x80, 0xDC, 0xE0
- .byte 0x00, 0x20, 0xC9, 0x68, 0x02, 0x1C, 0x01, 0xF2, 0x95, 0xFC, 0x20, 0x80, 0xD5, 0xE0, 0xC8, 0x68
- .byte 0x31, 0x06, 0x09, 0x0E, 0x00, 0xF2, 0x68, 0xFF, 0xCF, 0xE0, 0xC8, 0x68, 0x00, 0xF2, 0x74, 0xFF
- .byte 0x20, 0x80, 0xCA, 0xE0, 0xC8, 0x68, 0x00, 0xF2, 0x79, 0xFF, 0x20, 0x80, 0xC5, 0xE0, 0xC8, 0x68
- .byte 0x00, 0xF2, 0x9C, 0xFF, 0x20, 0x80, 0xC0, 0xE0, 0x23, 0x88, 0x78, 0x6F, 0x01, 0x9A, 0x31, 0x1C
- .byte 0x1D, 0xF0, 0xDA, 0xFB, 0x02, 0xB0, 0x01, 0x20, 0xF8, 0xBD, 0x08, 0x1C, 0x13, 0x21, 0xF6, 0xF7
- .byte 0x53, 0xFF, 0x02, 0x1C, 0x79, 0x6F, 0x28, 0x1C, 0x01, 0xF2, 0x96, 0xF8, 0x02, 0xB0, 0x01, 0x20
- .byte 0xF8, 0xBD, 0x08, 0x1C, 0x13, 0x21, 0xF6, 0xF7, 0x47, 0xFF, 0x80, 0x37, 0x3A, 0x68, 0x01, 0x1C
- .byte 0xD2, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x98, 0xF8, 0x20, 0x80, 0x9E, 0xE0, 0xC9, 0x68, 0x28, 0x1C
- .byte 0x01, 0xF2, 0xDE, 0xF8, 0x20, 0x80, 0x98, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x87, 0xF9, 0x20, 0x80
- .byte 0x93, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x84, 0xF9, 0x20, 0x80, 0x8E, 0xE0, 0x28, 0x1C, 0x01, 0xF2
- .byte 0x8D, 0xF9, 0x20, 0x80, 0x89, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x9A, 0xF9, 0x20, 0x80, 0x84, 0xE0
- .byte 0x28, 0x1C, 0x01, 0xF2, 0x01, 0xFA, 0x80, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x6D, 0xFA, 0x7C, 0xE0
- .byte 0x28, 0x1C, 0x01, 0xF2, 0xD1, 0xFA, 0x78, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x26, 0xFB
- .byte 0x73, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x92, 0xFB, 0x6F, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x01, 0xF2
- .byte 0xBF, 0xFB, 0x20, 0x80, 0x69, 0xE0, 0x08, 0x1C, 0x17, 0x21, 0xF6, 0xF7, 0x05, 0xFF, 0x80, 0x37
- .byte 0x02, 0x1C, 0x38, 0x68, 0x29, 0x1C, 0x00, 0x69, 0x01, 0xF2, 0xBE, 0xFB, 0x02, 0xB0, 0x01, 0x20
- .byte 0xF8, 0xBD, 0x28, 0x1C, 0x01, 0xF2, 0xBC, 0xFB, 0x20, 0x80, 0x56, 0xE0, 0x28, 0x1C, 0x31, 0x1C
- .byte 0x01, 0xF2, 0xB8, 0xFB, 0x51, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0xBE, 0xFB, 0x20, 0x80, 0x4C, 0xE0
- .byte 0x28, 0x1C, 0x01, 0xF2, 0xBD, 0xFB, 0x20, 0x80, 0x47, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2
- .byte 0xE1, 0xFB, 0x42, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x4E, 0xFC, 0x20, 0x80, 0x3C, 0xE0
- .byte 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x64, 0xFC, 0x20, 0x80, 0x36, 0xE0, 0x29, 0x7C, 0xE0, 0x20
- .byte 0x81, 0x43, 0x30, 0x06, 0x00, 0x0E, 0x40, 0x07, 0x00, 0x0E, 0x08, 0x43, 0x28, 0x74, 0x2C, 0xE0
- .byte 0x28, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x20, 0x80, 0x27, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2
- .byte 0xC3, 0xF8, 0x22, 0xE0, 0xA8, 0x19, 0x2A, 0x30, 0x00, 0x78, 0x20, 0x80, 0x1D, 0xE0, 0xC9, 0x68
- .byte 0x28, 0x1C, 0x01, 0x22, 0x01, 0xF2, 0xD6, 0xFB, 0x20, 0x80, 0x16, 0xE0, 0x31, 0x06, 0x28, 0x1C
- .byte 0x09, 0x0E, 0x00, 0xF0, 0x1B, 0xF9, 0x20, 0x80, 0x0F, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2
- .byte 0x5D, 0xFC, 0x20, 0x80, 0x09, 0xE0, 0x00, 0x2D, 0x02, 0xD1, 0x01, 0x20, 0x20, 0x80, 0x04, 0xE0
- .byte 0x00, 0x20, 0x20, 0x80, 0x01, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD
- .byte 0xF8, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xA8, 0x31, 0x0C, 0x68, 0xF6, 0xF7
- .byte 0x8F, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xE9, 0xFE, 0x06, 0x1C
- .byte 0x28, 0x1C, 0xF6, 0xF7, 0x85, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7
- .byte 0xDF, 0xFE, 0x07, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x7B, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF6, 0xF7, 0xB9, 0xFE, 0x00, 0x90, 0x28, 0x1C, 0xF6, 0xF7, 0x71, 0xFA, 0x80, 0x35
- .byte 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7, 0xB0, 0xFE, 0x32, 0x01, 0xB2, 0x18, 0x38, 0x21, 0x12, 0x01
- .byte 0x79, 0x43, 0xA2, 0x18, 0x53, 0x18, 0xB2, 0x22, 0x92, 0x00, 0x99, 0x5A, 0x49, 0x05, 0x4C, 0x0D
- .byte 0x00, 0x99, 0x0C, 0x80, 0x11, 0x1D, 0x59, 0x5A, 0x01, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x54, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0x92, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x1D, 0xF0, 0x38, 0xFB
- .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x40, 0xFA
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x7E, 0xFE, 0x80, 0x35, 0x04, 0x1C
- .byte 0x28, 0x68, 0xC0, 0x68, 0x1D, 0xF0, 0xCA, 0xFB, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0xF8, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x2C, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0x86, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x22, 0xFA, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x7C, 0xFE, 0x07, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x00, 0x21, 0xA8, 0x30, 0x06, 0x68, 0x15, 0x48, 0x46, 0x22, 0x30, 0x18, 0x8B, 0xF0, 0x9E, 0xED
- .byte 0x00, 0x2C, 0x04, 0xD0, 0x01, 0x2C, 0x0B, 0xD0, 0x02, 0x2C, 0x10, 0xD0, 0x16, 0xE0, 0x80, 0x35
- .byte 0x29, 0x68, 0x08, 0x1C, 0xA8, 0x30, 0x00, 0x68, 0xC9, 0x68, 0x01, 0xF2, 0x67, 0xFF, 0x0D, 0xE0
- .byte 0x80, 0x35, 0x28, 0x68, 0xA8, 0x30, 0x00, 0x68, 0x01, 0xF2, 0x8E, 0xFF, 0x06, 0xE0, 0x80, 0x35
- .byte 0x28, 0x68, 0x39, 0x1C, 0xA8, 0x30, 0x00, 0x68, 0x01, 0xF2, 0x92, 0xFF, 0xEE, 0xF7, 0xA0, 0xFC
- .byte 0x03, 0x49, 0x71, 0x18, 0xEE, 0xF7, 0x2A, 0xFF, 0x00, 0x20, 0xF8, 0xBD, 0x84, 0x08, 0x00, 0x00
- .byte 0x3E, 0x08, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xE2, 0xF9, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x3C, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xD8, 0xF9
- .byte 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x1C, 0x00, 0x69, 0x1D, 0xF0, 0xA7, 0xFA, 0x01, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x78, 0xB5, 0x81, 0xB0, 0x05, 0x1C, 0xF6, 0xF7, 0xC9, 0xF9, 0x01, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x07, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7
- .byte 0xBF, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xFD, 0xFD, 0x80, 0x35
- .byte 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE8, 0xF7, 0x0D, 0xF8, 0x00, 0xA9, 0xE7, 0xF7, 0xCA, 0xFF
- .byte 0x00, 0xA8, 0x01, 0x78, 0x21, 0x80, 0x40, 0x78, 0x30, 0x80, 0x00, 0x20, 0x01, 0xB0, 0x78, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xA4, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0xE2, 0xFD, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0xF2, 0xFF
- .byte 0xE7, 0xF7, 0x24, 0xFF, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x02, 0x29, 0x03, 0xD1
- .byte 0x00, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x70, 0x47, 0x01, 0x29, 0x10, 0xD1, 0xC1, 0x7B, 0x02, 0x29
- .byte 0x06, 0xD1, 0x00, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x41, 0x00, 0x08, 0x48, 0x40, 0x5A, 0x70, 0x47
- .byte 0x80, 0x7C, 0x00, 0x28, 0x01, 0xD0, 0x61, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x40, 0x7C
- .byte 0x00, 0x28, 0x01, 0xD0, 0x61, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x34, 0x43, 0x0F, 0x02
- .byte 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0xA9, 0x68, 0x00, 0x68, 0x4A, 0x1C, 0xAA, 0x60, 0x0E, 0x78
- .byte 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78, 0x26, 0x21, 0xF6, 0xF7, 0x66, 0xFD, 0x80, 0x35, 0x07, 0x1C
- .byte 0x28, 0x68, 0x31, 0x1C, 0x22, 0x1C, 0xA0, 0xF1, 0x7B, 0xF8, 0x38, 0x60, 0x00, 0x20, 0xF8, 0xBD
- .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF6, 0xF7, 0x56, 0xFD, 0x00, 0x68, 0xA0, 0xF1
- .byte 0x11, 0xF8, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x26, 0x21, 0xF6, 0xF7, 0x49, 0xFD, 0x01, 0x1C, 0x80, 0x34, 0x20, 0x68, 0x09, 0x68, 0xA0, 0xF1
- .byte 0x91, 0xF8, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31
- .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x34, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7
- .byte 0x73, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x7F, 0xFF, 0x00, 0x21, 0x0A, 0x1C, 0xE7, 0xF7
- .byte 0xE9, 0xFC, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31
- .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x1C, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7
- .byte 0x77, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x67, 0xFF, 0x29, 0x1C, 0x05, 0x22, 0xE7, 0xF7
- .byte 0xD1, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31
- .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x04, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7
- .byte 0x5F, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x4F, 0xFF, 0x29, 0x1C, 0x06, 0x22, 0xE7, 0xF7
- .byte 0xB9, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31
- .byte 0x09, 0x68, 0xCD, 0x68, 0xF6, 0xF7, 0xEC, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0x46, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xE2, 0xF8, 0x80, 0x34, 0x01, 0x1C
- .byte 0x20, 0x68, 0xF6, 0xF7, 0x21, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xE7, 0xF7, 0x2D, 0xFF, 0x00, 0x21
- .byte 0x0A, 0x1C, 0xE7, 0xF7, 0x97, 0xFC, 0xB0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20
- .byte 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xC8, 0xF8
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x22, 0xFD, 0x07, 0x1C, 0x28, 0x1C
- .byte 0xF6, 0xF7, 0xBE, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x18, 0xFD
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xB4, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0xF2, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xAA, 0xF8, 0x80, 0x35, 0x01, 0x1C
- .byte 0x28, 0x68, 0xF6, 0xF7, 0xE9, 0xFC, 0x01, 0x2F, 0x01, 0xD1, 0x1A, 0x21, 0x00, 0xE0, 0x00, 0x21
- .byte 0x89, 0x19, 0x8A, 0x00, 0x03, 0x49, 0x89, 0x5A, 0x21, 0x80, 0x03, 0x49, 0x89, 0x5A, 0x01, 0x80
- .byte 0x00, 0x20, 0xF8, 0xBD, 0x3E, 0x43, 0x0F, 0x02, 0x40, 0x43, 0x0F, 0x02, 0x38, 0xB5, 0x05, 0x1C
- .byte 0xF6, 0xF7, 0x8E, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xCC, 0xFC
- .byte 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x85, 0xFC, 0x01, 0x1C
- .byte 0x80, 0x35, 0x28, 0x68, 0x09, 0x68, 0x08, 0xF0, 0x61, 0xFD, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x75, 0xFC, 0x04, 0x1C
- .byte 0x28, 0x1C, 0xF6, 0xF7, 0x6D, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7
- .byte 0xAB, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x67, 0xFD, 0x30, 0x80
- .byte 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7
- .byte 0x5B, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x53, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF6, 0xF7, 0x91, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0
- .byte 0x5F, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x0A, 0x21, 0xF6, 0xF7, 0x41, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x39, 0xF8, 0x01, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x77, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68
- .byte 0x21, 0x68, 0x08, 0xF0, 0x57, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x27, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7
- .byte 0x1F, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x5D, 0xFC, 0x80, 0x35
- .byte 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x4D, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x0D, 0xFC, 0x04, 0x1C
- .byte 0x28, 0x1C, 0xF6, 0xF7, 0x05, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7
- .byte 0x5F, 0xFC, 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x9F, 0xFC, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7
- .byte 0xF3, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0xB4, 0xF9
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0xE4, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0x3E, 0xFC, 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x94, 0xFC
- .byte 0x30, 0x1C, 0x03, 0x21, 0xE7, 0xF7, 0x30, 0xFA, 0x00, 0x20, 0x70, 0xBD, 0x10, 0xB5, 0x04, 0x1C
- .byte 0xF5, 0xF7, 0xCE, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x05, 0xD0, 0x09, 0xE0, 0x80, 0x34
- .byte 0x20, 0x68, 0x08, 0xF0, 0x7D, 0xFE, 0x06, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x8E, 0xFE
- .byte 0x01, 0xE0, 0xDD, 0xF7, 0xBB, 0xFF, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0x7F, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0xB0, 0xFB, 0x01, 0x1C, 0x80, 0x35, 0x28, 0x68, 0x09, 0x68
- .byte 0x08, 0xF0, 0x0C, 0xFC, 0x20, 0x1C, 0x00, 0x21, 0xE7, 0xF7, 0x42, 0xFA, 0x00, 0x20, 0x38, 0xBD
- .byte 0x01, 0x60, 0x42, 0x60, 0x83, 0x60, 0x70, 0x47, 0x08, 0xB5, 0xE8, 0xF7, 0x4F, 0xF9, 0xE8, 0xF7
- .byte 0x5F, 0xF9, 0x08, 0xBD, 0x08, 0xB5, 0xE8, 0xF7, 0x49, 0xF9, 0xE8, 0xF7, 0x77, 0xF9, 0x08, 0xBD
- .byte 0x08, 0xB5, 0xE8, 0xF7, 0x43, 0xF9, 0xE8, 0xF7, 0x83, 0xF9, 0x08, 0xBD, 0xF8, 0xB5, 0x88, 0xB0
- .byte 0x04, 0x1C, 0xF5, 0xF7, 0x85, 0xFF, 0x08, 0x28, 0x00, 0xD9, 0xEB, 0xE0, 0x00, 0x18, 0x78, 0x44
- .byte 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x10, 0x00, 0x3A, 0x00, 0x66, 0x00, 0x86, 0x00
- .byte 0xC2, 0x00, 0xF4, 0x00, 0x60, 0x01, 0x1E, 0x00, 0x2C, 0x00, 0x80, 0x34, 0x20, 0x68, 0x20, 0x21
- .byte 0xC0, 0x68, 0xE8, 0xF7, 0x0D, 0xF9, 0xD5, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x00, 0x21, 0xC0, 0x68
- .byte 0xE8, 0xF7, 0x12, 0xF9, 0xCE, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x01, 0x21, 0xC0, 0x68, 0xE8, 0xF7
- .byte 0x0B, 0xF9, 0xC7, 0xE0, 0x20, 0x1C, 0xF5, 0xF7, 0x5B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF6, 0xF7, 0x99, 0xFB, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xFF, 0xF7, 0xB4, 0xFF
- .byte 0x00, 0x28, 0x02, 0xD0, 0x01, 0x20, 0x28, 0x80, 0xB4, 0xE0, 0x00, 0x20, 0x28, 0x80, 0xB1, 0xE0
- .byte 0x20, 0x1C, 0xF5, 0xF7, 0x45, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7
- .byte 0x83, 0xFB, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xFF, 0xF7, 0x9E, 0xFF, 0x28, 0x80, 0xA1, 0xE0
- .byte 0x20, 0x1C, 0xF5, 0xF7, 0x35, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7
- .byte 0x73, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x8D, 0xFF, 0x40, 0x1E
- .byte 0x05, 0x01, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x48, 0x4F, 0xFF, 0xF7, 0x8B, 0xFF, 0x80, 0x34
- .byte 0x01, 0x1C, 0x20, 0x68, 0x7A, 0x59, 0x90, 0x47, 0x30, 0x80, 0x83, 0xE0, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xFF, 0xF7, 0x79, 0xFF, 0x40, 0x1E, 0x40, 0x49, 0x00, 0x01, 0x0D, 0x18, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x76, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x6A, 0x68, 0x90, 0x47, 0x80, 0x34, 0x20, 0x68, 0xFF, 0xF7, 0x72, 0xFF, 0x6A, 0xE0, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x60, 0xFF, 0x40, 0x1E, 0x34, 0x49, 0x00, 0x01, 0x0D, 0x18
- .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xF6, 0xF7, 0xF6, 0xFA, 0x06, 0x1C, 0x20, 0x1C
- .byte 0xF5, 0xF7, 0xEE, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x2C, 0xFB
- .byte 0x07, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xE4, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF6, 0xF7, 0x22, 0xFB, 0x00, 0x90, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x42, 0xFF
- .byte 0x80, 0x34, 0x03, 0x1C, 0x21, 0x68, 0x32, 0x68, 0x05, 0xA8, 0xFF, 0xF7, 0x31, 0xFF, 0x00, 0x9A
- .byte 0xAB, 0x68, 0x05, 0xA8, 0x39, 0x1C, 0x98, 0x47, 0x34, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xFF, 0xF7, 0x2A, 0xFF, 0x40, 0x1E, 0x19, 0x49, 0x00, 0x01, 0x0D, 0x18, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0x0F, 0x21, 0xF6, 0xF7, 0xC0, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xB8, 0xFE
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xF6, 0xFA, 0x07, 0x1C, 0x20, 0x1C
- .byte 0xF5, 0xF7, 0xAE, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xEC, 0xFA
- .byte 0x01, 0x90, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x0C, 0xFF, 0x80, 0x34, 0x03, 0x1C
- .byte 0x21, 0x68, 0x32, 0x68, 0x02, 0xA8, 0xFF, 0xF7, 0xFB, 0xFE, 0x01, 0x9A, 0xEB, 0x68, 0x02, 0xA8
- .byte 0x39, 0x1C, 0x98, 0x47, 0x00, 0x20, 0x08, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0xE4, 0x43, 0x0F, 0x02
- .byte 0x08, 0xB5, 0xC0, 0x68, 0x28, 0xF0, 0x02, 0xFE, 0x28, 0xF0, 0x48, 0xFD, 0x06, 0x28, 0x01, 0xDA
- .byte 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x82, 0xB0, 0x01, 0x1C, 0x02, 0x20
- .byte 0x00, 0x90, 0x01, 0x23, 0x01, 0x93, 0xC9, 0x68, 0x02, 0x4A, 0x20, 0x20, 0x07, 0xF0, 0xC4, 0xF8
- .byte 0x02, 0xB0, 0x08, 0xBD, 0xEA, 0x01, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x53, 0x20, 0x80, 0x00
- .byte 0x08, 0x80, 0x0D, 0x20, 0x10, 0x80, 0x20, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xCB, 0xFC, 0x02, 0x1C
- .byte 0x60, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x2C, 0xFE, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x8E, 0xB0
- .byte 0x01, 0x90, 0xFF, 0xF7, 0xC7, 0xFE, 0x04, 0x90, 0x01, 0x98, 0xC0, 0x68, 0xE0, 0xF7, 0xBA, 0xFC
- .byte 0x03, 0x90, 0x04, 0x98, 0x00, 0x27, 0x05, 0x1C, 0x04, 0x1D, 0x20, 0x1C, 0x97, 0x21, 0x3A, 0x1C
- .byte 0xF0, 0x35, 0x24, 0xF0, 0x13, 0xF9, 0x39, 0x1C, 0x02, 0x90, 0x20, 0x1C, 0x0A, 0x1C, 0x24, 0xF0
- .byte 0x0D, 0xF9, 0x05, 0x90, 0x20, 0x1C, 0x07, 0x21, 0x3A, 0x1C, 0x24, 0xF0, 0x07, 0xF9, 0x06, 0x1C
- .byte 0x89, 0xF0, 0x34, 0xEE, 0xD8, 0xF7, 0x2C, 0xFD, 0x01, 0x1C, 0x05, 0x98, 0x0D, 0x91, 0x00, 0x28
- .byte 0x12, 0xD0, 0x01, 0x28, 0x0F, 0xD1, 0x30, 0x1C, 0x25, 0xF0, 0x70, 0xFD, 0x00, 0x28, 0x0B, 0xD0
- .byte 0x0D, 0x98, 0xD8, 0xF7, 0x1D, 0xFD, 0x01, 0x1C, 0x30, 0x1C, 0x0D, 0x91, 0x25, 0xF0, 0x66, 0xFD
- .byte 0x00, 0x28, 0xF5, 0xD1, 0x00, 0xE0, 0x0D, 0x90, 0x0D, 0x99, 0x20, 0x1C, 0x27, 0xF0, 0x26, 0xF9
- .byte 0x20, 0x1C, 0x25, 0xF0, 0xF5, 0xFC, 0x0C, 0x90, 0x20, 0x1C, 0x6F, 0x21, 0x0C, 0xAA, 0x24, 0xF0
- .byte 0x17, 0xFC, 0x20, 0x1C, 0x4B, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xD8, 0xF8, 0x06, 0x90, 0x20, 0x1C
- .byte 0x4A, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xD2, 0xF8, 0x07, 0x90, 0x20, 0x1C, 0x49, 0x21, 0x00, 0x22
- .byte 0x24, 0xF0, 0xCC, 0xF8, 0x08, 0x90, 0x20, 0x1C, 0x48, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xC6, 0xF8
- .byte 0x09, 0x90, 0x20, 0x1C, 0x46, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xC0, 0xF8, 0x06, 0x1C, 0x20, 0x1C
- .byte 0x47, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xBA, 0xF8, 0x31, 0x18, 0x09, 0x98, 0x41, 0x18, 0x08, 0x98
- .byte 0x41, 0x18, 0x07, 0x98, 0x41, 0x18, 0x06, 0x98, 0x40, 0x18, 0x0C, 0x90, 0x3D, 0xD1, 0xD8, 0xF7
- .byte 0xC5, 0xFC, 0x06, 0x1C, 0x1F, 0x20, 0x30, 0x40, 0x0D, 0x90, 0x20, 0x1C, 0x46, 0x21, 0x0D, 0xAA
- .byte 0x24, 0xF0, 0xDE, 0xFB, 0x3E, 0x20, 0x00, 0x01, 0x30, 0x40, 0x40, 0x09, 0x0D, 0x90, 0x20, 0x1C
- .byte 0x47, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xD4, 0xFB, 0x1F, 0x20, 0x80, 0x02, 0x30, 0x40, 0x80, 0x0A
- .byte 0x0D, 0x90, 0x20, 0x1C, 0x48, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xCA, 0xFB, 0xD8, 0xF7, 0xA6, 0xFC
- .byte 0x06, 0x1C, 0x1F, 0x20, 0x30, 0x40, 0x0D, 0x90, 0x20, 0x1C, 0x49, 0x21, 0x0D, 0xAA, 0x24, 0xF0
- .byte 0xBF, 0xFB, 0x3E, 0x20, 0x00, 0x01, 0x30, 0x40, 0x40, 0x09, 0x0D, 0x90, 0x20, 0x1C, 0x4A, 0x21
- .byte 0x0D, 0xAA, 0x24, 0xF0, 0xB5, 0xFB, 0x1F, 0x20, 0x80, 0x02, 0x30, 0x40, 0x80, 0x0A, 0x0D, 0x90
- .byte 0x20, 0x1C, 0x4B, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xAB, 0xFB, 0x01, 0x98, 0xC0, 0x68, 0xE7, 0xF7
- .byte 0x1B, 0xFC, 0x06, 0x1C, 0x20, 0x1C, 0x2E, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x67, 0xF8, 0x00, 0x28
- .byte 0x04, 0xD0, 0x49, 0x20, 0x3C, 0xF0, 0xF4, 0xFD, 0x29, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x2F, 0x21
- .byte 0x00, 0x22, 0x24, 0xF0, 0x5B, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4A, 0x20, 0x3C, 0xF0, 0xE8, 0xFD
- .byte 0x69, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x30, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x4F, 0xF8, 0x00, 0x28
- .byte 0x04, 0xD0, 0x4B, 0x20, 0x3C, 0xF0, 0xDC, 0xFD, 0xA9, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x31, 0x21
- .byte 0x00, 0x22, 0x24, 0xF0, 0x43, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4C, 0x20, 0x3C, 0xF0, 0xD0, 0xFD
- .byte 0xE9, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x32, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x37, 0xF8, 0x00, 0x28
- .byte 0x04, 0xD0, 0x4D, 0x20, 0x3C, 0xF0, 0xC4, 0xFD, 0x29, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x33, 0x21
- .byte 0x00, 0x22, 0x24, 0xF0, 0x2B, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4E, 0x20, 0x3C, 0xF0, 0xB8, 0xFD
- .byte 0x69, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x34, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x1F, 0xF8, 0x00, 0x28
- .byte 0x04, 0xD0, 0x4F, 0x20, 0x3C, 0xF0, 0xAC, 0xFD, 0xA9, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x67, 0x21
- .byte 0x00, 0x22, 0x24, 0xF0, 0x13, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x19, 0x20, 0x3C, 0xF0, 0xA0, 0xFD
- .byte 0xE9, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x68, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x07, 0xF8, 0x00, 0x28
- .byte 0x04, 0xD0, 0x1A, 0x20, 0x3C, 0xF0, 0x94, 0xFD, 0x29, 0x7A, 0x31, 0x54, 0x20, 0x1C, 0x69, 0x21
- .byte 0x00, 0x22, 0x23, 0xF0, 0xFB, 0xFF, 0x00, 0x28, 0x04, 0xD0, 0x1B, 0x20, 0x3C, 0xF0, 0x88, 0xFD
- .byte 0x69, 0x7A, 0x31, 0x54, 0x04, 0x98, 0x00, 0x68, 0x00, 0x28, 0x27, 0xD1, 0x03, 0x98, 0x20, 0x21
- .byte 0xE0, 0xF7, 0xDE, 0xFB, 0x05, 0x1C, 0x03, 0x98, 0xE0, 0xF7, 0xE8, 0xFB, 0x0B, 0x90, 0x03, 0x98
- .byte 0xE0, 0xF7, 0xEC, 0xFB, 0x0A, 0x90, 0x20, 0x20, 0x23, 0xF0, 0xE2, 0xFB, 0x07, 0x1C, 0x20, 0x1C
- .byte 0x39, 0x1C, 0x26, 0xF0, 0xC1, 0xFC, 0x38, 0x1C, 0x90, 0x21, 0x2A, 0x1C, 0x24, 0xF0, 0x10, 0xFB
- .byte 0x38, 0x1C, 0x07, 0x21, 0x0B, 0xAA, 0x24, 0xF0, 0x0B, 0xFB, 0x38, 0x1C, 0x9C, 0x21, 0x0A, 0xAA
- .byte 0x24, 0xF0, 0x06, 0xFB, 0x28, 0x1C, 0x3C, 0x1C, 0xDE, 0xF7, 0xFA, 0xFB, 0x02, 0x99, 0x02, 0x20
- .byte 0xD2, 0xF7, 0x62, 0xFD, 0x03, 0x1C, 0x20, 0x20, 0x00, 0x90, 0x03, 0x99, 0x20, 0x1C, 0x04, 0x22
- .byte 0x3D, 0xF0, 0x2C, 0xFB, 0x20, 0x1C, 0x23, 0xF0, 0x47, 0xFE, 0x01, 0x98, 0xC0, 0x68, 0x28, 0xF0
- .byte 0x65, 0xFC, 0x21, 0x1C, 0x28, 0xF0, 0x54, 0xFB, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x98, 0x21, 0x1C
- .byte 0xC0, 0x68, 0xE8, 0xF7, 0x6F, 0xFF, 0x00, 0x2F, 0x02, 0xD0, 0x38, 0x1C, 0xD3, 0xF7, 0xD4, 0xFB
- .byte 0x0E, 0xB0, 0xF8, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7
- .byte 0x41, 0xFD, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x07, 0x20, 0x30, 0x80, 0x28, 0x68
- .byte 0xC0, 0x68, 0xE0, 0xF7, 0x2F, 0xFB, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x90, 0xFC
- .byte 0x38, 0x1D, 0x25, 0xF0, 0x1F, 0xFF, 0x02, 0x1C, 0x68, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xFA, 0xFC
- .byte 0xF8, 0xBD, 0x00, 0x00, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x04, 0x20, 0x10, 0x80, 0x70, 0x47
- .byte 0x00, 0x4B, 0x18, 0x47, 0x6D, 0x2F, 0x04, 0x02, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C
- .byte 0x16, 0x1C, 0xFF, 0xF7, 0x17, 0xFD, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x08, 0x20
- .byte 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x05, 0xFB, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21
- .byte 0xC7, 0xF7, 0x66, 0xFC, 0x38, 0x1D, 0x25, 0xF0, 0xF5, 0xFE, 0x02, 0x1C, 0x68, 0x68, 0x01, 0x21
- .byte 0xC7, 0xF7, 0xAE, 0xFC, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0
- .byte 0x23, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0xF5, 0xFC, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C
- .byte 0x09, 0x04, 0x09, 0x0C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xFC, 0xFC, 0x38, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0x0F, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7
- .byte 0xE1, 0xFC, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C, 0x09, 0x04, 0x09, 0x0C, 0x01, 0x22, 0x20, 0x23
- .byte 0x2B, 0xF0, 0xF2, 0xFC, 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C
- .byte 0x16, 0x1C, 0xFF, 0xF7, 0xCF, 0xFC, 0x00, 0x68, 0x00, 0x04, 0x07, 0x0C, 0x53, 0x20, 0x80, 0x00
- .byte 0x20, 0x80, 0x09, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xBB, 0xFA, 0x02, 0x1C
- .byte 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x1C, 0xFC, 0x68, 0x68, 0x01, 0x21, 0x3A, 0x1C, 0xC7, 0xF7
- .byte 0x53, 0xFD, 0xF8, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C
- .byte 0x2B, 0xF0, 0xDA, 0xFE, 0x28, 0x68, 0xFF, 0xF7, 0xAD, 0xFC, 0x00, 0x68, 0x00, 0x21, 0x00, 0x04
- .byte 0x02, 0x0C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x05, 0x20, 0x30, 0x80, 0x68, 0x68, 0xC7, 0xF7
- .byte 0x3B, 0xFD, 0x70, 0xBD, 0x01, 0x20, 0x70, 0x47, 0x10, 0xB5, 0x04, 0x1C, 0xFF, 0xF7, 0x9A, 0xFC
- .byte 0x01, 0x1C, 0xE0, 0x68, 0xE0, 0xF7, 0xFE, 0xFB, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0
- .byte 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x8C, 0xFC, 0x07, 0x1C, 0x53, 0x20
- .byte 0x80, 0x00, 0x20, 0x80, 0x0A, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x7A, 0xFA
- .byte 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0xDB, 0xFB, 0x38, 0x1C, 0x20, 0x21, 0xE0, 0xF7
- .byte 0x71, 0xFB, 0x04, 0x1C, 0x01, 0x21, 0x00, 0x91, 0x02, 0x20, 0x01, 0x90, 0x68, 0x68, 0x22, 0x1C
- .byte 0x00, 0x23, 0xC7, 0xF7, 0xC7, 0xFB, 0x20, 0x1C, 0xDE, 0xF7, 0xFA, 0xFA, 0x02, 0xB0, 0xF8, 0xBD
- .byte 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47, 0x08, 0xB5, 0xC0, 0x68
- .byte 0xE3, 0xF7, 0x40, 0xFC, 0xE2, 0xF7, 0xB4, 0xFC, 0xC8, 0x28, 0x01, 0xDA, 0x01, 0x20, 0x08, 0xBD
- .byte 0x00, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x54, 0xFC, 0x04, 0x1C, 0xE8, 0x68
- .byte 0xE3, 0xF7, 0x30, 0xFC, 0x21, 0x68, 0xE2, 0xF7, 0x81, 0xFC, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C
- .byte 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x45, 0xFC, 0x07, 0x68, 0x53, 0x20, 0x80, 0x00
- .byte 0x20, 0x80, 0x0B, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x33, 0xFA, 0x02, 0x1C
- .byte 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x94, 0xFB, 0x68, 0x68, 0x01, 0x21, 0x3A, 0x1C, 0xC7, 0xF7
- .byte 0x57, 0xFF, 0xF8, 0xBD, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x26, 0xFC, 0x44, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0
- .byte 0x02, 0x28, 0x0A, 0xD0, 0x03, 0x28, 0x0A, 0xD0, 0x0B, 0xE0, 0xE8, 0x68, 0xE6, 0xF7, 0xD8, 0xFB
- .byte 0x21, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0x7E, 0xFC, 0x38, 0xBD, 0x01, 0x20, 0x38, 0xBD, 0x01, 0x20
- .byte 0x38, 0xBD, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x0A, 0xFC
- .byte 0x44, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0, 0x02, 0x28, 0x0A, 0xD0, 0x03, 0x28, 0x12, 0xD0
- .byte 0x38, 0xBD, 0xE8, 0x68, 0xE6, 0xF7, 0xBC, 0xFB, 0x21, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0x1A, 0xFC
- .byte 0x38, 0xBD, 0xE8, 0x68, 0xE4, 0xF7, 0x86, 0xFC, 0xE3, 0xF7, 0xB8, 0xFD, 0x21, 0x1C, 0x01, 0x22
- .byte 0xE3, 0xF7, 0x40, 0xFE, 0x38, 0xBD, 0xE8, 0x68, 0xE4, 0xF7, 0x7C, 0xFC, 0xE3, 0xF7, 0xAE, 0xFD
- .byte 0x21, 0x1C, 0xE3, 0xF7, 0x97, 0xFE, 0x38, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C
- .byte 0x16, 0x1C, 0xFF, 0xF7, 0xDF, 0xFB, 0x42, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0, 0x02, 0x28
- .byte 0x07, 0xD0, 0x03, 0x28, 0x0A, 0xD0, 0x0D, 0xE0, 0x68, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xEA, 0xFF
- .byte 0x08, 0xE0, 0x68, 0x68, 0x01, 0x21, 0xC8, 0xF7, 0x7B, 0xF8, 0x03, 0xE0, 0x68, 0x68, 0x01, 0x21
- .byte 0xC8, 0xF7, 0xAE, 0xF8, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0C, 0x20, 0x30, 0x80, 0x28, 0x68
- .byte 0xC0, 0x68, 0xE0, 0xF7, 0xB7, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x18, 0xFB
- .byte 0x70, 0xBD, 0x00, 0x00, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0xD7, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7
- .byte 0xA9, 0xFB, 0x03, 0x49, 0x20, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xB3, 0xFB, 0x38, 0xBD
- .byte 0xC6, 0x01, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0xC5, 0xFD, 0x05, 0x1C
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0x97, 0xFB, 0xE0, 0x68, 0x02, 0xF0, 0x68, 0xFE, 0x04, 0x1C, 0x05, 0x49
- .byte 0x28, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xA7, 0xFB, 0x20, 0x1C, 0x00, 0x21, 0x1B, 0xF0
- .byte 0x43, 0xFF, 0x38, 0xBD, 0xC6, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C
- .byte 0x16, 0x1C, 0xFF, 0xF7, 0x7F, 0xFB, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0E, 0x20, 0x30, 0x80
- .byte 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x6E, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7
- .byte 0xCF, 0xFA, 0x68, 0x68, 0x02, 0x4A, 0x01, 0x21, 0xC7, 0xF7, 0x06, 0xFC, 0x70, 0xBD, 0xC0, 0x46
- .byte 0xC6, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C
- .byte 0x2B, 0xF0, 0x8A, 0xFD, 0x28, 0x68, 0xFF, 0xF7, 0x5D, 0xFB, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80
- .byte 0x05, 0x20, 0x30, 0x80, 0x68, 0x68, 0x00, 0x21, 0x7A, 0x32, 0xC7, 0xF7, 0xED, 0xFB, 0x70, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0x77, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7
- .byte 0x49, 0xFB, 0x71, 0x21, 0x20, 0x1C, 0x89, 0x00, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0x52, 0xFB
- .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0x65, 0xFD, 0x05, 0x1C
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0x37, 0xFB, 0xE0, 0x68, 0x02, 0xF0, 0x08, 0xFE, 0x71, 0x21, 0x04, 0x1C
- .byte 0x28, 0x1C, 0x89, 0x00, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0x46, 0xFB, 0x20, 0x1C, 0x01, 0x21
- .byte 0x1B, 0xF0, 0xE2, 0xFE, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C
- .byte 0x16, 0x1C, 0xFF, 0xF7, 0x1F, 0xFB, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0F, 0x20, 0x30, 0x80
- .byte 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x0E, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7
- .byte 0x6F, 0xFA, 0x71, 0x22, 0x68, 0x68, 0x01, 0x21, 0x92, 0x00, 0xC7, 0xF7, 0xA5, 0xFB, 0x70, 0xBD
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C, 0x2B, 0xF0, 0x2C, 0xFD
- .byte 0x28, 0x68, 0xFF, 0xF7, 0xFF, 0xFA, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80, 0x05, 0x20, 0x30, 0x80
- .byte 0x68, 0x68, 0x00, 0x21, 0x78, 0x32, 0xC7, 0xF7, 0x8F, 0xFB, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C
- .byte 0xE8, 0x68, 0x2B, 0xF0, 0x19, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0xEB, 0xFA, 0x03, 0x49
- .byte 0x20, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xF5, 0xFA, 0x38, 0xBD, 0xC7, 0x01, 0x00, 0x00
- .byte 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0x07, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0xD9, 0xFA, 0xE0, 0x68, 0x02, 0xF0, 0xAA, 0xFD, 0x04, 0x1C, 0x05, 0x49, 0x28, 0x1C, 0x01, 0x22
- .byte 0x20, 0x23, 0x2B, 0xF0, 0xE9, 0xFA, 0x20, 0x1C, 0x02, 0x21, 0x1B, 0xF0, 0x85, 0xFE, 0x38, 0xBD
- .byte 0xC7, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7
- .byte 0xC1, 0xFA, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x10, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68
- .byte 0xE0, 0xF7, 0xB0, 0xF8, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x11, 0xFA, 0x68, 0x68
- .byte 0x02, 0x4A, 0x01, 0x21, 0xC7, 0xF7, 0x48, 0xFB, 0x70, 0xBD, 0xC0, 0x46, 0xC7, 0x01, 0x00, 0x00
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C, 0x2B, 0xF0, 0xCC, 0xFC
- .byte 0x28, 0x68, 0xFF, 0xF7, 0x9F, 0xFA, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80, 0x05, 0x20, 0x30, 0x80
- .byte 0x68, 0x68, 0x00, 0x21, 0x7B, 0x32, 0xC7, 0xF7, 0x2F, 0xFB, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C
- .byte 0xE8, 0x68, 0x08, 0xF0, 0xE1, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0x8B, 0xFA, 0x20, 0x1C
- .byte 0x08, 0xF0, 0x6A, 0xFB, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x08, 0xF0
- .byte 0xD3, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0x7D, 0xFA, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C
- .byte 0x08, 0xF0, 0x62, 0xFB, 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C
- .byte 0x16, 0x1C, 0xFF, 0xF7, 0x6F, 0xFA, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x12, 0x20
- .byte 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x5D, 0xF8, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21
- .byte 0xC7, 0xF7, 0xBE, 0xF9, 0x68, 0x68, 0x3A, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xEF, 0xFB, 0xF8, 0xBD
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x53, 0xFA, 0x53, 0x20
- .byte 0x80, 0x00, 0x20, 0x80, 0x13, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x42, 0xF8
- .byte 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0xA3, 0xF9, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x02, 0xF0, 0x11, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7
- .byte 0xCF, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x29, 0xFE, 0x00, 0x28
- .byte 0x07, 0xD1, 0x20, 0x1C, 0x1B, 0xF0, 0xBE, 0xFC, 0x80, 0x35, 0x28, 0x68, 0x08, 0xF0, 0x9E, 0xF8
- .byte 0x0B, 0xE0, 0x01, 0x28, 0x07, 0xD1, 0x20, 0x1C, 0x1B, 0xF0, 0xBC, 0xFC, 0x80, 0x35, 0x28, 0x68
- .byte 0x08, 0xF0, 0xAC, 0xF8, 0x01, 0xE0, 0xDD, 0xF7, 0xB1, 0xF9, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDE, 0xF7, 0x25, 0xFE, 0x06, 0x1C
- .byte 0x20, 0x20, 0x23, 0xF0, 0x6D, 0xF8, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xA1, 0xF9, 0x80, 0x34
- .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xE0, 0xFD, 0x04, 0x1C, 0x30, 0x1C, 0xE8, 0xF7, 0x80, 0xFB
- .byte 0x06, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x00, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C, 0xD3, 0xF7
- .byte 0x83, 0xF8, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x83, 0xB0, 0x06, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xC0, 0x68, 0xDE, 0xF7, 0x00, 0xFE, 0x07, 0x1C, 0x30, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xC0, 0x68, 0xDE, 0xF7, 0xED, 0xFD, 0x02, 0x90, 0x20, 0x20, 0x23, 0xF0, 0x41, 0xF8, 0x04, 0x1C
- .byte 0x30, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0xD4, 0xFF, 0x01, 0x90, 0x30, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE1, 0xF7, 0x23, 0xFA, 0x00, 0x25, 0x38, 0x1C, 0x29, 0x1C
- .byte 0x22, 0x1C, 0xE8, 0xF7, 0x39, 0xFB, 0x20, 0x20, 0x00, 0x90, 0x01, 0x99, 0x20, 0x1C, 0x02, 0x22
- .byte 0x00, 0x23, 0x3C, 0xF0, 0x93, 0xFF, 0x20, 0x1C, 0x25, 0xF0, 0xB4, 0xFB, 0x01, 0x1C, 0x02, 0x98
- .byte 0x27, 0xF0, 0x44, 0xFC, 0x00, 0x28, 0x01, 0xD1, 0xDD, 0xF7, 0x50, 0xF9, 0x30, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0x21, 0x1C, 0xC0, 0x68, 0xE8, 0xF7, 0xD5, 0xFB, 0x6D, 0x1C, 0x06, 0x2D, 0xDD, 0xDB
- .byte 0x20, 0x1C, 0xD3, 0xF7, 0x39, 0xF8, 0x38, 0x1C, 0xE8, 0xF7, 0x98, 0xFA, 0x00, 0x20, 0x03, 0xB0
- .byte 0xF0, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0xF5, 0xF7, 0x3A, 0xF9, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x94, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x30, 0xF9
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x6E, 0xFD, 0x05, 0x1C, 0x03, 0x2E
- .byte 0x2E, 0xD8, 0xB0, 0x19, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00
- .byte 0x12, 0x00, 0x1E, 0x00, 0x2A, 0x00, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x63, 0xF8, 0x28, 0x80
- .byte 0x1E, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x65, 0xF8, 0x28, 0x80, 0x18, 0xE0, 0x80, 0x34
- .byte 0x20, 0x68, 0x08, 0xF0, 0x67, 0xF8, 0x28, 0x80, 0x12, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0x08, 0xF0, 0x58, 0xF8, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x08, 0xF0, 0x4A, 0xF8
- .byte 0x80, 0x34, 0x07, 0x1C, 0x20, 0x68, 0x08, 0xF0, 0x55, 0xF8, 0x38, 0x18, 0x30, 0x18, 0x28, 0x80
- .byte 0x00, 0x20, 0xF8, 0xBD, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xF5, 0xF7
- .byte 0xEF, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x49, 0xFD, 0x06, 0x1C
- .byte 0x20, 0x1C, 0xF5, 0xF7, 0xE5, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7
- .byte 0x3F, 0xFD, 0x07, 0x1C, 0x28, 0x1C, 0x26, 0x21, 0xF5, 0xF7, 0xDE, 0xFC, 0x31, 0x06, 0x3A, 0x06
- .byte 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x9E, 0xF1, 0x61, 0xFF, 0x28, 0x60
- .byte 0x00, 0x20, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF5, 0xF7, 0xCC, 0xFC
- .byte 0x00, 0x68, 0x9E, 0xF1, 0x87, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF5, 0xF7, 0xBF, 0xFC, 0x01, 0x1C, 0x80, 0x34, 0x20, 0x68
- .byte 0x09, 0x68, 0x9E, 0xF1, 0x81, 0xFF, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0x19, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7
- .byte 0xA7, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xE6, 0xFC, 0x05, 0x1C, 0x20, 0x1C
- .byte 0xE4, 0xF7, 0x1E, 0xFF, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0x01, 0xFF, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7
- .byte 0x8F, 0xF8, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xEA, 0xFC, 0x01, 0x1C, 0x28, 0x1C
- .byte 0xE4, 0xF7, 0x08, 0xFF, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xC0, 0x68, 0xDF, 0xF7, 0xEB, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x79, 0xF8, 0x80, 0x34
- .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xD4, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0xE4, 0xF7, 0x0E, 0xFF
- .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7
- .byte 0xD5, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0x63, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68
- .byte 0xF5, 0xF7, 0xA2, 0xFC, 0x01, 0x1C, 0x09, 0x88, 0x20, 0x1C, 0xE4, 0xF7, 0xF7, 0xFE, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x28, 0x1C, 0xF3, 0xF7
- .byte 0x0D, 0xFE, 0xDF, 0xF7, 0xAF, 0xFE, 0xE8, 0x68, 0xDF, 0xF7, 0xB8, 0xFE, 0x06, 0x1C, 0x20, 0x1C
- .byte 0xF5, 0xF7, 0x46, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x84, 0xFC
- .byte 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x48, 0xF8, 0x04, 0x1C, 0x30, 0x1C, 0xE4, 0xF7, 0xB8, 0xFE
- .byte 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20, 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x04, 0x68, 0x20, 0x1C, 0xF3, 0xF7, 0xE7, 0xFD, 0xDF, 0xF7
- .byte 0x89, 0xFE, 0xE0, 0x68, 0xDF, 0xF7, 0x92, 0xFE, 0x06, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0x20, 0xF8
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x5E, 0xFC, 0x04, 0x1C, 0x28, 0x1C
- .byte 0xF5, 0xF7, 0x16, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x55, 0xFC, 0x05, 0x88
- .byte 0x30, 0x1C, 0xE4, 0xF7, 0x8D, 0xFE, 0xA8, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20
- .byte 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xC0, 0x68, 0xDF, 0xF7, 0x6B, 0xFE, 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xF9, 0xFF, 0x01, 0x1C
- .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x37, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF4, 0xF7
- .byte 0xEF, 0xFF, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x4A, 0xFC, 0x01, 0x1C, 0x30, 0x1C
- .byte 0xE4, 0xF7, 0x78, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x9A, 0xFD, 0xDF, 0xF7, 0x3C, 0xFE, 0x05, 0x1C, 0x20, 0x1C
- .byte 0xF4, 0xF7, 0xE2, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xD2, 0xFE, 0x00, 0x20, 0x38, 0xBD
- .byte 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x88, 0xFD, 0xDF, 0xF7, 0x2A, 0xFE
- .byte 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xD0, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xD2, 0xFE
- .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x76, 0xFD
- .byte 0xDF, 0xF7, 0x18, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xB2, 0xFF, 0x80, 0x34, 0x01, 0x1C
- .byte 0x20, 0x68, 0xF5, 0xF7, 0x0D, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xBB, 0xFE, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x5E, 0xFD
- .byte 0xDF, 0xF7, 0x00, 0xFE, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x9A, 0xFF, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xD8, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x9C, 0xFF
- .byte 0x04, 0x1C, 0x30, 0x1C, 0xDF, 0xF7, 0x7C, 0xFE, 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0
- .byte 0x01, 0x20, 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF3, 0xF7, 0x3C, 0xFD, 0xDF, 0xF7, 0xDE, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x78, 0xFF
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xB6, 0xFB, 0x05, 0x1C, 0x20, 0x1C
- .byte 0xF4, 0xF7, 0x6E, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xC9, 0xFB, 0x04, 0x1C
- .byte 0x30, 0x1C, 0xDF, 0xF7, 0x55, 0xFE, 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20
- .byte 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31
- .byte 0x0D, 0x68, 0xF4, 0xF7, 0x55, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7
- .byte 0xAF, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x4B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF5, 0xF7, 0xA5, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x27, 0x21, 0xF5, 0xF7, 0x44, 0xFB
- .byte 0x31, 0x06, 0x3A, 0x06, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x9E, 0xF1
- .byte 0x13, 0xFD, 0x28, 0x60, 0x00, 0x20, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x27, 0x21
- .byte 0xF5, 0xF7, 0x32, 0xFB, 0x00, 0x68, 0x9E, 0xF1, 0x59, 0xFD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00
- .byte 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x27, 0x21, 0xF5, 0xF7, 0x25, 0xFB, 0x01, 0x1C
- .byte 0x80, 0x34, 0x20, 0x68, 0x09, 0x68, 0x9E, 0xF1, 0x53, 0xFD, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xC5, 0x68, 0xF5, 0xF7, 0x15, 0xFB, 0x04, 0x1C
- .byte 0x28, 0x1C, 0xDF, 0xF7, 0xA1, 0xFF, 0x21, 0x68, 0xA9, 0xF1, 0x62, 0xFB, 0x00, 0x20, 0x38, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0x00, 0xFF
- .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x3F, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21
- .byte 0xDE, 0xF7, 0xE6, 0xFB, 0xA9, 0xF1, 0xD2, 0xFB, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x08, 0x21, 0xC0, 0x68, 0xDE, 0xF7, 0xD9, 0xFB, 0xA8, 0xF1
- .byte 0x81, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68
- .byte 0x08, 0x21, 0xE8, 0x68, 0xDE, 0xF7, 0xCC, 0xFB, 0x06, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0x4E, 0xFE
- .byte 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xF3, 0xF7, 0x91, 0xFC, 0xDF, 0xF7, 0x33, 0xFD, 0x02, 0x1C
- .byte 0x30, 0x1C, 0x29, 0x1C, 0xA9, 0xF1, 0x1A, 0xF9, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x04, 0x1C
- .byte 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0xC6, 0xFA, 0x07, 0x1C, 0x20, 0x1C
- .byte 0xEE, 0x68, 0xF4, 0xF7, 0xBD, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7
- .byte 0xFB, 0xFA, 0x00, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xB3, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68
- .byte 0xF5, 0xF7, 0x0E, 0xFB, 0x04, 0x1C, 0x30, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x99, 0xFB, 0x06, 0x1C
- .byte 0xE8, 0x68, 0x27, 0xF0, 0x1B, 0xFE, 0x23, 0x06, 0x39, 0x68, 0x32, 0x1C, 0x1B, 0x0E, 0xA8, 0xF1
- .byte 0x15, 0xFC, 0x00, 0x99, 0x08, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C
- .byte 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0x96, 0xFA, 0x07, 0x1C, 0x20, 0x1C
- .byte 0xED, 0x68, 0xF4, 0xF7, 0x8D, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7
- .byte 0xCB, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x83, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68
- .byte 0xF5, 0xF7, 0xDE, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x69, 0xFB, 0x21, 0x06
- .byte 0x3A, 0x68, 0x09, 0x0E, 0xA8, 0xF1, 0x86, 0xFC, 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00
- .byte 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xC4, 0x68, 0xF5, 0xF7, 0x6C, 0xFA
- .byte 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x64, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF5, 0xF7, 0xA2, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x5A, 0xFE, 0x80, 0x35, 0x01, 0x1C
- .byte 0x28, 0x68, 0xF5, 0xF7, 0xB5, 0xFA, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x40, 0xFB
- .byte 0x32, 0x68, 0x29, 0x1C, 0xA8, 0xF1, 0x66, 0xFC, 0x38, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00
- .byte 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0x44, 0xFA
- .byte 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x3C, 0xFE, 0x20, 0x1C, 0xF4, 0xF7, 0x39, 0xFE, 0x01, 0x1C
- .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x93, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7
- .byte 0x2F, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0x6E, 0xFA, 0x04, 0x1C, 0xE8, 0x68
- .byte 0x27, 0xF0, 0x9C, 0xFD, 0x32, 0x68, 0x39, 0x1C, 0xA9, 0xF1, 0xEC, 0xFA, 0x20, 0x80, 0x00, 0x20
- .byte 0xF8, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x06, 0x1C, 0x31, 0x1C, 0x80, 0x31, 0x0C, 0x68, 0xE5, 0x68
- .byte 0xF4, 0xF7, 0x16, 0xFE, 0x80, 0x36, 0x01, 0x1C, 0x30, 0x68, 0xF5, 0xF7, 0x71, 0xFA, 0x06, 0x1C
- .byte 0xE0, 0x68, 0x27, 0xF0, 0x83, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0xF8, 0xFA
- .byte 0x31, 0x06, 0x02, 0x1C, 0x20, 0x1C, 0x09, 0x0E, 0x2B, 0x1C, 0xA8, 0xF1, 0xA7, 0xFA, 0x00, 0x20
- .byte 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21
- .byte 0xC5, 0x68, 0xF5, 0xF7, 0xF9, 0xF9, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xF1, 0xFD, 0x01, 0x1C
- .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x4B, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7
- .byte 0xE7, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x41, 0xFA, 0x02, 0x90
- .byte 0x20, 0x1C, 0xF4, 0xF7, 0xDD, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7
- .byte 0x37, 0xFA, 0x03, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xD3, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68
- .byte 0xF5, 0xF7, 0x2E, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0x5E, 0xFE, 0x21, 0x06, 0x09, 0x0E
- .byte 0x00, 0x91, 0x31, 0x68, 0x02, 0x9A, 0x03, 0x9B, 0x01, 0x91, 0x39, 0x06, 0x12, 0x06, 0x1B, 0x06
- .byte 0x09, 0x0E, 0x12, 0x0E, 0x1B, 0x0E, 0xA9, 0xF1, 0x39, 0xFA, 0x00, 0x20, 0x04, 0xB0, 0xF8, 0xBD
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0xB0, 0xFD
- .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xEF, 0xF9, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21
- .byte 0xDE, 0xF7, 0x96, 0xFA, 0xA9, 0xF1, 0xAE, 0xFA, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0x98, 0xFD
- .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xD7, 0xF9, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21
- .byte 0xDE, 0xF7, 0x7E, 0xFA, 0xDF, 0xF7, 0xBC, 0xFD, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00
- .byte 0x10, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x84, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7
- .byte 0xC3, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47
- .byte 0x10, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x74, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7
- .byte 0xB3, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68
- .byte 0x02, 0xF0, 0xA4, 0xF8, 0x1B, 0xF0, 0xF2, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C
- .byte 0xF4, 0xF7, 0x5E, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x9C, 0xF9
- .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x02, 0xF0, 0x90, 0xF8, 0x1B, 0xF0, 0xE6, 0xF9
- .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF4, 0xF7, 0x48, 0xFD
- .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x86, 0xF9, 0x04, 0x1C, 0x28, 0x1C
- .byte 0xF4, 0xF7, 0x3E, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x99, 0xF9, 0x05, 0x1C
- .byte 0xD7, 0xF7, 0x14, 0xFC, 0x64, 0x21, 0xA7, 0xF0, 0x5C, 0xED, 0x08, 0x04, 0x00, 0x0C, 0x0F, 0x28
- .byte 0x01, 0xD2, 0x00, 0x20, 0x20, 0xE0, 0x1E, 0x28, 0x01, 0xD2, 0x01, 0x20, 0x1C, 0xE0, 0x2D, 0x28
- .byte 0x01, 0xD2, 0x02, 0x20, 0x18, 0xE0, 0x3C, 0x28, 0x01, 0xD2, 0x03, 0x20, 0x14, 0xE0, 0x46, 0x28
- .byte 0x01, 0xD2, 0x04, 0x20, 0x10, 0xE0, 0x50, 0x28, 0x01, 0xD2, 0x05, 0x20, 0x0C, 0xE0, 0x58, 0x28
- .byte 0x01, 0xD2, 0x06, 0x20, 0x08, 0xE0, 0x5D, 0x28, 0x01, 0xD2, 0x07, 0x20, 0x04, 0xE0, 0x62, 0x28
- .byte 0x01, 0xD2, 0x08, 0x20, 0x00, 0xE0, 0x09, 0x20, 0x26, 0x4A, 0x95, 0x42, 0x12, 0xDC, 0x37, 0xDA
- .byte 0x27, 0x2D, 0x08, 0xDC, 0x23, 0x2D, 0x03, 0xDB, 0x2C, 0xD0, 0x27, 0x2D, 0x30, 0xD0, 0x35, 0xE0
- .byte 0x19, 0x2D, 0x2F, 0xD0, 0x32, 0xE0, 0x36, 0x2D, 0x01, 0xDC, 0x27, 0xD0, 0x2E, 0xE0, 0xFF, 0x2D
- .byte 0x22, 0xD0, 0x2B, 0xE0, 0x11, 0x1C, 0x8C, 0x31, 0x8D, 0x42, 0x0F, 0xDC, 0x11, 0x1C, 0x8C, 0x31
- .byte 0x8D, 0x42, 0x19, 0xDA, 0x11, 0x1C, 0x0F, 0x31, 0x8D, 0x42, 0x03, 0xDC, 0x0F, 0x32, 0x95, 0x42
- .byte 0x10, 0xD0, 0x1B, 0xE0, 0x84, 0x32, 0x95, 0x42, 0x10, 0xD0, 0x17, 0xE0, 0x11, 0x1C, 0x8E, 0x31
- .byte 0x8D, 0x42, 0x03, 0xDC, 0x8E, 0x32, 0x95, 0x42, 0x0E, 0xD0, 0x0F, 0xE0, 0x9B, 0x32, 0x95, 0x42
- .byte 0x0A, 0xD0, 0x0B, 0xE0, 0x00, 0x22, 0x0A, 0xE0, 0x01, 0x22, 0x08, 0xE0, 0x02, 0x22, 0x06, 0xE0
- .byte 0x03, 0x22, 0x04, 0xE0, 0x04, 0x22, 0x02, 0xE0, 0x05, 0x22, 0x00, 0xE0, 0x00, 0x22, 0x13, 0x1C
- .byte 0x14, 0x21, 0x4B, 0x43, 0x04, 0x4A, 0x41, 0x00, 0xD0, 0x18, 0x08, 0x5A, 0x20, 0x80, 0x00, 0x20
- .byte 0x38, 0xBD, 0xC0, 0x46, 0x1D, 0x01, 0x00, 0x00, 0x94, 0x44, 0x0F, 0x02, 0xF0, 0xB5, 0x85, 0xB0
- .byte 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x69, 0x00, 0x68, 0xF0, 0xF7, 0xAB, 0xFA, 0x06, 0x1C
- .byte 0x20, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x20, 0x1C, 0xF4, 0xF7, 0xAA, 0xFC, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x04, 0xF9, 0x03, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xA0, 0xFC
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xFA, 0xF8, 0x07, 0x1C, 0x20, 0x1C
- .byte 0xF4, 0xF7, 0x96, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xF0, 0xF8
- .byte 0x04, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0x8C, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7
- .byte 0xCB, 0xF8, 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0xF9, 0xFB, 0x04, 0x98, 0x3B, 0x06, 0x00, 0x90
- .byte 0x01, 0x96, 0x0C, 0x20, 0x02, 0x90, 0xE9, 0x68, 0x03, 0x9A, 0x0B, 0x20, 0x1B, 0x0E, 0x05, 0xF0
- .byte 0x83, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x05, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C
- .byte 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xF4, 0xF7, 0x6B, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF5, 0xF7, 0xA9, 0xF8, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x61, 0xFC, 0x80, 0x34
- .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xA0, 0xF8, 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0xCE, 0xFB
- .byte 0x31, 0x88, 0x27, 0xF0, 0x15, 0xFB, 0x4C, 0x21, 0x00, 0x22, 0x05, 0x1C, 0x22, 0xF0, 0x16, 0xFF
- .byte 0x00, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x05, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x0F, 0xFF, 0x00, 0xE0
- .byte 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68
- .byte 0x28, 0x1C, 0xF3, 0xF7, 0xFB, 0xF9, 0xDF, 0xF7, 0x9D, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7
- .byte 0x37, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x75, 0xF8, 0x06, 0x1C
- .byte 0x20, 0x1C, 0xF4, 0xF7, 0x2D, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0x6C, 0xF8
- .byte 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0x9A, 0xFB, 0x31, 0x88, 0x27, 0xF0, 0xE1, 0xFA, 0x07, 0x21
- .byte 0x00, 0x22, 0x22, 0xF0, 0xE3, 0xFE, 0x00, 0x04, 0x05, 0x0C, 0x38, 0x1C, 0xDF, 0xF7, 0xDE, 0xFA
- .byte 0x00, 0x04, 0x00, 0x0C, 0x85, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20, 0x20, 0x80
- .byte 0x00, 0x20, 0xF8, 0xBD, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0x80, 0x30, 0x04, 0x68, 0xE0, 0x68
- .byte 0xDF, 0xF7, 0x68, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x02, 0xFC, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x5C, 0xF8, 0x02, 0x90, 0x28, 0x1C, 0xF4, 0xF7, 0xF8, 0xFB
- .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x53, 0xF8, 0x05, 0x1C, 0xE0, 0x68, 0x27, 0xF0
- .byte 0x65, 0xFB, 0x06, 0x1C, 0x27, 0xF0, 0xAA, 0xFA, 0x00, 0x06, 0x00, 0x0E, 0x06, 0x28, 0x19, 0xD2
- .byte 0x0B, 0x20, 0x22, 0xF0, 0xAD, 0xFA, 0x04, 0x1C, 0x22, 0xF0, 0x86, 0xFA, 0x01, 0x20, 0x29, 0x1C
- .byte 0xD1, 0xF7, 0x42, 0xFC, 0x03, 0x21, 0x00, 0x91, 0x01, 0x90, 0x02, 0x99, 0x20, 0x1C, 0x01, 0x22
- .byte 0x3B, 0x1C, 0xA8, 0xF1, 0x47, 0xFD, 0x30, 0x1C, 0x21, 0x1C, 0x27, 0xF0, 0x39, 0xFA, 0x20, 0x1C
- .byte 0xD2, 0xF7, 0xC2, 0xFA, 0x00, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C
- .byte 0xF4, 0xF7, 0xC6, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x20, 0xF8
- .byte 0x04, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xBC, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68
- .byte 0xF5, 0xF7, 0x16, 0xF8, 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xB2, 0xFB, 0x01, 0x1C, 0x28, 0x1C
- .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x0C, 0xF8, 0x80, 0x35, 0x07, 0x1C, 0x28, 0x68, 0xC0, 0x68
- .byte 0x27, 0xF0, 0x1C, 0xFB, 0x21, 0x1C, 0x32, 0x1C, 0x3B, 0x1C, 0x05, 0xF0, 0x19, 0xFE, 0x00, 0x20
- .byte 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0F, 0x68, 0xF4, 0xF7
- .byte 0x97, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF4, 0xF7, 0xD5, 0xFF, 0x06, 0x1C
- .byte 0x20, 0x1C, 0xF4, 0xF7, 0x8D, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF4, 0xF7
- .byte 0xE7, 0xFF, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x83, 0xFB, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68
- .byte 0xF4, 0xF7, 0xDE, 0xFF, 0x04, 0x1C, 0xF8, 0x68, 0x27, 0xF0, 0xF0, 0xFA, 0x21, 0x1C, 0x27, 0xF0
- .byte 0x37, 0xFA, 0x00, 0x22, 0x4C, 0x21, 0x04, 0x1C, 0x32, 0x80, 0x22, 0xF0, 0x37, 0xFE, 0x00, 0x28
- .byte 0x01, 0xD0, 0x00, 0x20, 0xF8, 0xBD, 0x20, 0x1C, 0x36, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x2E, 0xFE
- .byte 0x85, 0x42, 0x14, 0xD0, 0x20, 0x1C, 0x37, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x27, 0xFE, 0x85, 0x42
- .byte 0x0D, 0xD0, 0x20, 0x1C, 0x38, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x20, 0xFE, 0x85, 0x42, 0x06, 0xD0
- .byte 0x20, 0x1C, 0x39, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x19, 0xFE, 0x85, 0x42, 0x01, 0xD1, 0x01, 0x20
- .byte 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0, 0x04, 0x1C, 0x21, 0x1C
- .byte 0x80, 0x31, 0x09, 0x68, 0x01, 0x91, 0xF4, 0xF7, 0x43, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x68, 0xF4, 0xF7, 0x81, 0xFF, 0x00, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0x39, 0xFB, 0x80, 0x34
- .byte 0x01, 0x1C, 0x20, 0x68, 0xF4, 0xF7, 0x94, 0xFF, 0x05, 0x1C, 0x01, 0x98, 0xC0, 0x68, 0x27, 0xF0
- .byte 0xA5, 0xFA, 0x27, 0xF0, 0xEB, 0xF9, 0x00, 0x06, 0x07, 0x0E, 0x1D, 0x49, 0x00, 0x98, 0x1D, 0x4E
- .byte 0x01, 0x80, 0x31, 0xD0, 0x01, 0x98, 0xC0, 0x68, 0x27, 0xF0, 0x98, 0xFA, 0x31, 0x1C, 0x27, 0xF0
- .byte 0xDF, 0xF9, 0x4C, 0x21, 0x00, 0x22, 0x04, 0x1C, 0x22, 0xF0, 0xE0, 0xFD, 0x00, 0x28, 0x1E, 0xD1
- .byte 0x20, 0x1C, 0x36, 0x21, 0x00, 0x22, 0x22, 0xF0, 0xD9, 0xFD, 0x85, 0x42, 0x14, 0xD0, 0x20, 0x1C
- .byte 0x37, 0x21, 0x00, 0x22, 0x22, 0xF0, 0xD2, 0xFD, 0x85, 0x42, 0x0D, 0xD0, 0x20, 0x1C, 0x38, 0x21
- .byte 0x00, 0x22, 0x22, 0xF0, 0xCB, 0xFD, 0x85, 0x42, 0x06, 0xD0, 0x20, 0x1C, 0x39, 0x21, 0x00, 0x22
- .byte 0x22, 0xF0, 0xC4, 0xFD, 0x85, 0x42, 0x02, 0xD1, 0x00, 0x98, 0x06, 0x80, 0x04, 0xE0, 0x70, 0x1C
- .byte 0x00, 0x06, 0x06, 0x0E, 0xBE, 0x42, 0xCD, 0xD3, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46
- .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+_02041FD8: .word 0x00000233
+
+ thumb_func_start FUN_02041FDC
+FUN_02041FDC: ; 0x02041FDC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02061374
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042000
+FUN_02042000: ; 0x02042000
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0206B9B0
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02061460
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02042038
+FUN_02042038: ; 0x02042038
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ cmp r0, #0x0
+ beq _02042058
+ cmp r0, #0x1
+ beq _020420A8
+ b _02042106
+_02042058:
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ ldr r0, _0204210C ; =0x00000232
+ add r5, #0x80
+ strh r0, [r6, #0x0]
+ ldr r0, [sp, #0x0]
+ ldr r1, [r5, #0x0]
+ ldr r2, [r4, #0x0]
+ bl FUN_020421F0
+ strh r0, [r7, #0x0]
+ b _02042106
+_020420A8:
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r3, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020421D8
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_0202A170
+_02042106:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_0204210C: .word 0x00000232
+
+ thumb_func_start FUN_02042110
+FUN_02042110: ; 0x02042110
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02042214
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204214C
+FUN_0204214C: ; 0x0204214C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ cmp r0, #0x0
+ beq _02042170
+ cmp r0, #0x1
+ beq _020421A2
+ cmp r0, #0x2
+ beq _020421BC
+ b _020421D4
+_02042170:
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x4
+ bl FUN_02060F3C
+ b _020421D4
+_020421A2:
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02060F9C
+ b _020421D4
+_020421BC:
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02060F88
+_020421D4:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020421D8
+FUN_020421D8: ; 0x020421D8
+ push {r3, lr}
+ sub r1, r1, #0x1
+ lsl r3, r1, #0x4
+ ldr r1, _020421EC ; =0x020F4264
+ ldr r3, [r1, r3]
+ cmp r3, #0x0
+ beq _020421EA
+ add r1, r2, #0x0
+ blx r3
+_020421EA:
+ pop {r3, pc}
+ .balign 4
+_020421EC: .word 0x020F4264
+
+ thumb_func_start FUN_020421F0
+FUN_020421F0: ; 0x020421F0
+ push {r4, lr}
+ sub r0, r0, #0x1
+ lsl r4, r0, #0x4
+ ldr r0, _0204220C ; =0x020F4268
+ ldr r3, [r0, r4]
+ cmp r3, #0x0
+ beq _02042204
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ blx r3
+_02042204:
+ ldr r0, _02042210 ; =0x020F4270
+ ldr r0, [r0, r4]
+ pop {r4, pc}
+ nop
+_0204220C: .word 0x020F4268
+_02042210: .word 0x020F4270
+
+ thumb_func_start FUN_02042214
+FUN_02042214: ; 0x02042214
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02022504
+ mov r1, #0x1
+ add r2, r5, #0x0
+ bl FUN_0202B710
+ cmp r0, #0x0
+ bne _02042230
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02042230:
+ sub r0, r5, #0x1
+ lsl r1, r0, #0x4
+ ldr r0, _02042248 ; =0x020F426C
+ ldr r1, [r0, r1]
+ cmp r1, #0x0
+ bne _02042240
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02042240:
+ add r0, r4, #0x0
+ blx r1
+ pop {r3-r5, pc}
+ nop
+_02042248: .word 0x020F426C
+
+ thumb_func_start FUN_0204224C
+FUN_0204224C: ; 0x0204224C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ mov r0, #0x40
+ mov r1, #0x4
+ str r3, [sp, #0x8]
+ bl FUN_020219F4
+ add r1, r7, #0x0
+ add r4, r0, #0x0
+ bl FUN_02021E28
+ ldr r0, [sp, #0x24]
+ ldr r3, [sp, #0x8]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ add r1, r6, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042288
+FUN_02042288: ; 0x02042288
+ push {r4, lr}
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ bl FUN_0206BB1C
+ bl FUN_0204A20C
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200AC60
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020422A8
+FUN_020422A8: ; 0x020422A8
+ push {r4, lr}
+ ldr r0, [r0, #0x4]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0x14]
+ bl FUN_02252538
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200B02C
+ pop {r4, pc}
+
+ thumb_func_start FUN_020422C0
+FUN_020422C0: ; 0x020422C0
+ push {r4, lr}
+ sub sp, #0x20
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02022504
+ bl FUN_0202B844
+ ldrh r0, [r0, #0x2]
+ mov r1, #0x4
+ add r2, sp, #0x8
+ bl FUN_0200A99C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r2, sp, #0x8
+ add r3, r1, #0x0
+ bl FUN_0204224C
+ add sp, #0x20
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020422F4
+FUN_020422F4: ; 0x020422F4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B85C
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042304
+FUN_02042304: ; 0x02042304
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0204C1A8
+ bl FUN_0204BEC8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042314
+FUN_02042314: ; 0x02042314
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B838
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042324
+FUN_02042324: ; 0x02042324
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ mov r1, #0x0
+ bl FUN_02027098
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042334
+FUN_02042334: ; 0x02042334
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B850
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042344
+FUN_02042344: ; 0x02042344
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B844
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042354
+FUN_02042354: ; 0x02042354
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r0, #0xa8
+ bl FUN_022434BC
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042364
+FUN_02042364: ; 0x02042364
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_022434D0
+ add r5, #0x80
+ ldr r1, [r5, #0x0]
+ add r1, #0xa8
+ str r0, [r1, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042394
+FUN_02042394: ; 0x02042394
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bl FUN_02243694
+ add r4, #0x80
+ ldr r1, [r4, #0x0]
+ mov r0, #0x0
+ add r1, #0xa8
+ str r0, [r1, #0x0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_020423B0
+FUN_020423B0: ; 0x020423B0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r0, #0x0
+ bl FUN_02038C30
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02038C30
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r1, [sp, #0x4]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r1, [r0, #0x0]
+ add r0, r1, #0x0
+ add r0, #0xa8
+ ldr r5, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x64
+ bls _020423FA
+ b _020426F6
+_020423FA:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02042406: ; jump table (using 16-bit offset)
+ .short _020424D0 - _02042406 - 2; case 0
+ .short _020424DA - _02042406 - 2; case 1
+ .short _020424F6 - _02042406 - 2; case 2
+ .short _020424FC - _02042406 - 2; case 3
+ .short _02042508 - _02042406 - 2; case 4
+ .short _02042516 - _02042406 - 2; case 5
+ .short _0204251E - _02042406 - 2; case 6
+ .short _020426F6 - _02042406 - 2; case 7
+ .short _02042526 - _02042406 - 2; case 8
+ .short _02042532 - _02042406 - 2; case 9
+ .short _02042540 - _02042406 - 2; case 10
+ .short _0204254E - _02042406 - 2; case 11
+ .short _0204255A - _02042406 - 2; case 12
+ .short _020426F6 - _02042406 - 2; case 13
+ .short _02042564 - _02042406 - 2; case 14
+ .short _0204256E - _02042406 - 2; case 15
+ .short _02042578 - _02042406 - 2; case 16
+ .short _020426F6 - _02042406 - 2; case 17
+ .short _020426F6 - _02042406 - 2; case 18
+ .short _020426F6 - _02042406 - 2; case 19
+ .short _020426F6 - _02042406 - 2; case 20
+ .short _020426F6 - _02042406 - 2; case 21
+ .short _020426F6 - _02042406 - 2; case 22
+ .short _020426F6 - _02042406 - 2; case 23
+ .short _020426F6 - _02042406 - 2; case 24
+ .short _020426F6 - _02042406 - 2; case 25
+ .short _020426F6 - _02042406 - 2; case 26
+ .short _020426F6 - _02042406 - 2; case 27
+ .short _020426F6 - _02042406 - 2; case 28
+ .short _020426F6 - _02042406 - 2; case 29
+ .short _0204258A - _02042406 - 2; case 30
+ .short _020425A2 - _02042406 - 2; case 31
+ .short _020425BC - _02042406 - 2; case 32
+ .short _020425C8 - _02042406 - 2; case 33
+ .short _020425D2 - _02042406 - 2; case 34
+ .short _020425DC - _02042406 - 2; case 35
+ .short _020425E6 - _02042406 - 2; case 36
+ .short _020425F0 - _02042406 - 2; case 37
+ .short _020425F8 - _02042406 - 2; case 38
+ .short _02042600 - _02042406 - 2; case 39
+ .short _02042608 - _02042406 - 2; case 40
+ .short _0204261A - _02042406 - 2; case 41
+ .short _02042626 - _02042406 - 2; case 42
+ .short _02042642 - _02042406 - 2; case 43
+ .short _0204264C - _02042406 - 2; case 44
+ .short _02042656 - _02042406 - 2; case 45
+ .short _02042660 - _02042406 - 2; case 46
+ .short _0204266A - _02042406 - 2; case 47
+ .short _02042674 - _02042406 - 2; case 48
+ .short _02042680 - _02042406 - 2; case 49
+ .short _0204268C - _02042406 - 2; case 50
+ .short _020426A0 - _02042406 - 2; case 51
+ .short _020426AA - _02042406 - 2; case 52
+ .short _020426B4 - _02042406 - 2; case 53
+ .short _020426BE - _02042406 - 2; case 54
+ .short _020426CC - _02042406 - 2; case 55
+ .short _02042612 - _02042406 - 2; case 56
+ .short _020426DA - _02042406 - 2; case 57
+ .short _020426F6 - _02042406 - 2; case 58
+ .short _020426F6 - _02042406 - 2; case 59
+ .short _020426F6 - _02042406 - 2; case 60
+ .short _020426F6 - _02042406 - 2; case 61
+ .short _020426F6 - _02042406 - 2; case 62
+ .short _020426F6 - _02042406 - 2; case 63
+ .short _020426F6 - _02042406 - 2; case 64
+ .short _020426F6 - _02042406 - 2; case 65
+ .short _020426F6 - _02042406 - 2; case 66
+ .short _020426F6 - _02042406 - 2; case 67
+ .short _020426F6 - _02042406 - 2; case 68
+ .short _020426F6 - _02042406 - 2; case 69
+ .short _020426F6 - _02042406 - 2; case 70
+ .short _020426F6 - _02042406 - 2; case 71
+ .short _020426F6 - _02042406 - 2; case 72
+ .short _020426F6 - _02042406 - 2; case 73
+ .short _020426F6 - _02042406 - 2; case 74
+ .short _020426F6 - _02042406 - 2; case 75
+ .short _020426F6 - _02042406 - 2; case 76
+ .short _020426F6 - _02042406 - 2; case 77
+ .short _020426F6 - _02042406 - 2; case 78
+ .short _020426F6 - _02042406 - 2; case 79
+ .short _020426F6 - _02042406 - 2; case 80
+ .short _020426F6 - _02042406 - 2; case 81
+ .short _020426F6 - _02042406 - 2; case 82
+ .short _020426F6 - _02042406 - 2; case 83
+ .short _020426F6 - _02042406 - 2; case 84
+ .short _020426F6 - _02042406 - 2; case 85
+ .short _020426F6 - _02042406 - 2; case 86
+ .short _020426F6 - _02042406 - 2; case 87
+ .short _020426F6 - _02042406 - 2; case 88
+ .short _020426F6 - _02042406 - 2; case 89
+ .short _020426F6 - _02042406 - 2; case 90
+ .short _020426F6 - _02042406 - 2; case 91
+ .short _020426F6 - _02042406 - 2; case 92
+ .short _020426F6 - _02042406 - 2; case 93
+ .short _020426F6 - _02042406 - 2; case 94
+ .short _020426F6 - _02042406 - 2; case 95
+ .short _020426F6 - _02042406 - 2; case 96
+ .short _020426F6 - _02042406 - 2; case 97
+ .short _020426F6 - _02042406 - 2; case 98
+ .short _020426F6 - _02042406 - 2; case 99
+ .short _020426E6 - _02042406 - 2; case 100
+_020424D0:
+ add r0, r6, #0x0
+ bl FUN_0224312C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020424DA:
+ cmp r6, #0x0
+ bne _020424EA
+ ldrb r0, [r5, #0xe]
+ ldr r1, [r1, #0xc]
+ bl FUN_022432E4
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020424EA:
+ ldr r1, [r1, #0xc]
+ add r0, r6, #0x0
+ bl FUN_022432E4
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020424F6:
+ bl FUN_0224339C
+ b _020426FA
+_020424FC:
+ ldr r0, [r1, #0xc]
+ bl FUN_0202A8CC
+ bl FUN_022433A8
+ b _020426FA
+_02042508:
+ ldr r0, [r1, #0xc]
+ bl FUN_0202A8CC
+ bl FUN_022433B0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042516:
+ add r0, r1, #0x0
+ bl FUN_022433B8
+ b _020426FA
+_0204251E:
+ add r0, r1, #0x0
+ bl FUN_022433F8
+ b _020426FA
+_02042526:
+ ldr r0, [r1, #0xc]
+ add r1, r6, #0x0
+ bl FUN_02243408
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042532:
+ ldr r1, [r1, #0xc]
+ mov r0, #0x0
+ mov r2, #0x2
+ bl FUN_02243E74
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042540:
+ mov r0, #0x0
+ ldr r1, [r1, #0xc]
+ add r2, r0, #0x0
+ bl FUN_02243E74
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204254E:
+ ldr r0, [r1, #0xc]
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_02243428
+ b _020426FA
+_0204255A:
+ ldr r0, [r1, #0xc]
+ bl FUN_02243448
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042564:
+ ldr r0, [r1, #0xc]
+ bl FUN_0224345C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204256E:
+ ldr r0, [r1, #0xc]
+ bl FUN_022434AC
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042578:
+ ldrh r3, [r4, #0x0]
+ ldr r0, [r7, #0x74]
+ ldr r2, [sp, #0x4]
+ add r1, r6, #0x0
+ bl FUN_0205FD38
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204258A:
+ add r0, r1, #0x0
+ mov r1, #0x13
+ bl FUN_02039438
+ add r2, r0, #0x0
+ ldr r1, [r7, #0x74]
+ add r0, r5, #0x0
+ bl FUN_022436C8
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020425A2:
+ add r0, r1, #0x0
+ mov r1, #0x13
+ bl FUN_02039438
+ add r7, #0x80
+ ldr r2, [r7, #0x0]
+ add r1, r0, #0x0
+ ldr r2, [r2, #0xc]
+ add r0, r5, #0x0
+ bl FUN_022436E8
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425BC:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243780
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425C8:
+ add r0, r5, #0x0
+ bl FUN_022438DC
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425D2:
+ add r0, r5, #0x0
+ bl FUN_022438E0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425DC:
+ add r0, r5, #0x0
+ bl FUN_022438FC
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425E6:
+ add r0, r5, #0x0
+ bl FUN_02243920
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425F0:
+ add r0, r5, #0x0
+ bl FUN_022439F8
+ b _020426FA
+_020425F8:
+ add r0, r5, #0x0
+ bl FUN_02243AD8
+ b _020426FA
+_02042600:
+ add r0, r5, #0x0
+ bl FUN_02243BA8
+ b _020426FA
+_02042608:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243C5C
+ b _020426FA
+_02042612:
+ add r0, r5, #0x0
+ bl FUN_02243D3C
+ b _020426FA
+_0204261A:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02243DA0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042626:
+ add r0, r1, #0x0
+ mov r1, #0x17
+ bl FUN_02039438
+ add r7, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r7, #0x0]
+ add r1, r5, #0x0
+ ldr r0, [r0, #0x10]
+ bl FUN_02243DB8
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02042642:
+ add r0, r5, #0x0
+ bl FUN_02243DC0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204264C:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02243DC4
+ b _020426FA
+_02042656:
+ add r0, r5, #0x0
+ bl FUN_02243DD8
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042660:
+ add r0, r5, #0x0
+ bl FUN_02243DE0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204266A:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243E34
+ b _020426FA
+_02042674:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243F18
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042680:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243F50
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204268C:
+ ldrb r1, [r5, #0x10]
+ mov r0, #0xe0
+ bic r1, r0
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x18
+ orr r0, r1
+ strb r0, [r5, #0x10]
+ b _020426FA
+_020426A0:
+ ldrb r0, [r5, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426AA:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243838
+ b _020426FA
+_020426B4:
+ add r0, r5, r6
+ add r0, #0x2a
+ ldrb r0, [r0, #0x0]
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426BE:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02243E74
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426CC:
+ lsl r1, r6, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0204290C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426DA:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02243F9C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426E6:
+ cmp r5, #0x0
+ bne _020426F0
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426F0:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426F6:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_020426FA:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02042700
+FUN_02042700: ; 0x02042700
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ add r1, #0xa8
+ ldr r4, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ lsl r2, r6, #0x4
+ add r2, r6, r2
+ mov r1, #0x38
+ lsl r2, r2, #0x4
+ mul r1, r7
+ add r2, r4, r2
+ add r3, r2, r1
+ mov r2, #0xb2
+ lsl r2, r2, #0x2
+ ldrh r1, [r3, r2]
+ lsl r1, r1, #0x15
+ lsr r4, r1, #0x15
+ ldr r1, [sp, #0x0]
+ strh r4, [r1, #0x0]
+ add r1, r2, #0x4
+ ldrh r1, [r3, r1]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042780
+FUN_02042780: ; 0x02042780
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0205FE10
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020427A8
+FUN_020427A8: ; 0x020427A8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0205FF5C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020427D0
+FUN_020427D0: ; 0x020427D0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ add r0, #0xa8
+ ldr r6, [r0, #0x0]
+ ldr r0, _0204285C ; =0x00000884
+ mov r2, #0x46
+ add r0, r6, r0
+ blx FUN_020CE34C
+ cmp r4, #0x0
+ beq _0204281E
+ cmp r4, #0x1
+ beq _02042830
+ cmp r4, #0x2
+ beq _0204283E
+ b _0204284C
+_0204281E:
+ add r5, #0x80
+ ldr r1, [r5, #0x0]
+ add r0, r1, #0x0
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r1, #0xc]
+ bl FUN_022446FC
+ b _0204284C
+_02042830:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bl FUN_02244758
+ b _0204284C
+_0204283E:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ add r1, r7, #0x0
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bl FUN_02244770
+_0204284C:
+ bl FUN_02031190
+ ldr r1, _02042860 ; =0x0000083E
+ add r1, r6, r1
+ bl FUN_020316AC
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204285C: .word 0x00000884
+_02042860: .word 0x0000083E
+
+ thumb_func_start FUN_02042864
+FUN_02042864: ; 0x02042864
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x10]
+ bl FUN_0205FDDC
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042894
+FUN_02042894: ; 0x02042894
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A8E4
+ add r1, sp, #0x0
+ bl FUN_0202A864
+ add r0, sp, #0x0
+ ldrb r1, [r0, #0x0]
+ strh r1, [r4, #0x0]
+ ldrb r0, [r0, #0x1]
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_020428E0
+FUN_020428E0: ; 0x020428E0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A8E4
+ bl FUN_0202A74C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204290C
+FUN_0204290C: ; 0x0204290C
+ cmp r1, #0x2
+ bne _02042918
+ ldrb r0, [r0, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ bx lr
+_02042918:
+ cmp r1, #0x1
+ bne _0204293E
+ ldrb r1, [r0, #0xf]
+ cmp r1, #0x2
+ bne _02042930
+ ldrb r0, [r0, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ lsl r1, r0, #0x1
+ ldr r0, _0204294C ; =0x020F4334
+ ldrh r0, [r0, r1]
+ bx lr
+_02042930:
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x0
+ beq _0204293A
+ mov r0, #0x61
+ bx lr
+_0204293A:
+ mov r0, #0x0
+ bx lr
+_0204293E:
+ ldrb r0, [r0, #0x11]
+ cmp r0, #0x0
+ beq _02042948
+ mov r0, #0x61
+ bx lr
+_02042948:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0204294C: .word 0x020F4334
+
+ thumb_func_start FUN_02042950
+FUN_02042950: ; 0x02042950
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r1, [r5, #0x8]
+ ldr r0, [r0, #0x0]
+ add r2, r1, #0x1
+ str r2, [r5, #0x8]
+ ldrb r6, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r4, [r2, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ add r5, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_021E2A70
+ str r0, [r7, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02042980
+FUN_02042980: ; 0x02042980
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_021E29B4
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042998
+FUN_02042998: ; 0x02042998
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_021E2AD4
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020429B8
+FUN_020429B8: ; 0x020429B8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A3B4
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020429E8
+FUN_020429E8: ; 0x020429E8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ add r1, r5, #0x0
+ mov r2, #0x5
+ bl FUN_0202A3B4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042A18
+FUN_02042A18: ; 0x02042A18
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ add r1, r5, #0x0
+ mov r2, #0x6
+ bl FUN_0202A3B4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042A48
+FUN_02042A48: ; 0x02042A48
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r5, [r1, #0xc]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202A8D8
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A3B4
+ cmp r0, r6
+ bhs _02042A8E
+ mov r0, #0x0
+ b _02042A90
+_02042A8E:
+ mov r0, #0x1
+_02042A90:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042A98
+FUN_02042A98: ; 0x02042A98
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ cmp r7, #0x1
+ bne _02042AEE
+ mov r1, #0x1a
+ b _02042AF0
+_02042AEE:
+ mov r1, #0x0
+_02042AF0:
+ add r1, r1, r6
+ lsl r2, r1, #0x2
+ ldr r1, _02042B04 ; =0x020F433E
+ ldrh r1, [r1, r2]
+ strh r1, [r4, #0x0]
+ ldr r1, _02042B08 ; =0x020F4340
+ ldrh r1, [r1, r2]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02042B04: .word 0x020F433E
+_02042B08: .word 0x020F4340
+
+ thumb_func_start FUN_02042B0C
+FUN_02042B0C: ; 0x02042B0C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_0204B5FC
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02042B40
+FUN_02042B40: ; 0x02042B40
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B63C
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042B74
+FUN_02042B74: ; 0x02042B74
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B660
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042BA8
+FUN_02042BA8: ; 0x02042BA8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B684
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042BDC
+FUN_02042BDC: ; 0x02042BDC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B6A4
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042C10
+FUN_02042C10: ; 0x02042C10
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B57C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042C44
+FUN_02042C44: ; 0x02042C44
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B5A8
+ add r0, r6, #0x0
+ mov r1, #0x3
+ bl FUN_0202A0E8
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042C8C
+FUN_02042C8C: ; 0x02042C8C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ cmp r0, #0x0
+ beq _02042C9E
+ cmp r0, #0x1
+ beq _02042CA8
+ b _02042CB2
+_02042C9E:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204B9A0
+ b _02042CB6
+_02042CA8:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204B9CC
+ b _02042CB6
+_02042CB2:
+ bl FUN_02020C2C
+_02042CB6:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042CBC
+FUN_02042CBC: ; 0x02042CBC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_0204B4FC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0202A170
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02042CF0
+FUN_02042CF0: ; 0x02042CF0
+ str r1, [r0, #0x0]
+ str r2, [r0, #0x4]
+ str r3, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02042CF8
+FUN_02042CF8: ; 0x02042CF8
+ push {r3, lr}
+ bl FUN_0202AF9C
+ bl FUN_0202AFC0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042D04
+FUN_02042D04: ; 0x02042D04
+ push {r3, lr}
+ bl FUN_0202AF9C
+ bl FUN_0202AFFC
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042D10
+FUN_02042D10: ; 0x02042D10
+ push {r3, lr}
+ bl FUN_0202AF9C
+ bl FUN_0202B020
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042D1C
+FUN_02042D1C: ; 0x02042D1C
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ cmp r0, #0x8
+ bls _02042D2C
+ b _02042F04
+_02042D2C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02042D38: ; jump table (using 16-bit offset)
+ .short _02042D4A - _02042D38 - 2; case 0
+ .short _02042D74 - _02042D38 - 2; case 1
+ .short _02042DA0 - _02042D38 - 2; case 2
+ .short _02042DC0 - _02042D38 - 2; case 3
+ .short _02042DFC - _02042D38 - 2; case 4
+ .short _02042E2E - _02042D38 - 2; case 5
+ .short _02042E9A - _02042D38 - 2; case 6
+ .short _02042D58 - _02042D38 - 2; case 7
+ .short _02042D66 - _02042D38 - 2; case 8
+_02042D4A:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ mov r1, #0x20
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AF70
+ b _02042F04
+_02042D58:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AF88
+ b _02042F04
+_02042D66:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AF88
+ b _02042F04
+_02042D74:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02042CF8
+ cmp r0, #0x0
+ beq _02042D9A
+ mov r0, #0x1
+ strh r0, [r5, #0x0]
+ b _02042F04
+_02042D9A:
+ mov r0, #0x0
+ strh r0, [r5, #0x0]
+ b _02042F04
+_02042DA0:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02042CF8
+ strh r0, [r5, #0x0]
+ b _02042F04
+_02042DC0:
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ lsl r5, r0, #0x4
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r7, _02042F0C ; =0x020F43E4
+ bl FUN_02042D04
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r2, [r7, r5]
+ blx r2
+ strh r0, [r6, #0x0]
+ b _02042F04
+_02042DFC:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ ldr r1, _02042F0C ; =0x020F43E4
+ lsl r0, r0, #0x4
+ add r5, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r2, [r5, #0x4]
+ blx r2
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_02042D10
+ b _02042F04
+_02042E2E:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ ldr r1, _02042F0C ; =0x020F43E4
+ lsl r0, r0, #0x4
+ add r5, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042D04
+ add r4, #0x80
+ add r3, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r0, sp, #0x14
+ bl FUN_02042CF0
+ ldr r2, [sp, #0x0]
+ ldr r3, [r5, #0x8]
+ add r0, sp, #0x14
+ add r1, r7, #0x0
+ blx r3
+ b _02042F04
+_02042E9A:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ ldr r1, _02042F0C ; =0x020F43E4
+ lsl r0, r0, #0x4
+ add r5, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042D04
+ add r4, #0x80
+ add r3, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r0, sp, #0x8
+ bl FUN_02042CF0
+ ldr r2, [sp, #0x4]
+ ldr r3, [r5, #0xc]
+ add r0, sp, #0x8
+ add r1, r7, #0x0
+ blx r3
+_02042F04:
+ mov r0, #0x0
+ add sp, #0x20
+ pop {r3-r7, pc}
+ nop
+_02042F0C: .word 0x020F43E4
+
+ thumb_func_start FUN_02042F10
+FUN_02042F10: ; 0x02042F10
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ cmp r0, #0x6
+ bge _02042F24
+ mov r0, #0x1
+ pop {r3, pc}
+_02042F24:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042F28
+FUN_02042F28: ; 0x02042F28
+ push {r3, lr}
+ sub sp, #0x8
+ add r1, r0, #0x0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r3, #0x1
+ str r3, [sp, #0x4]
+ ldr r1, [r1, #0xc]
+ ldr r2, _02042F44 ; =0x000001EA
+ mov r0, #0x20
+ bl FUN_0204A0C8
+ add sp, #0x8
+ pop {r3, pc}
+ .balign 4
+_02042F44: .word 0x000001EA
+
+ thumb_func_start FUN_02042F48
+FUN_02042F48: ; 0x02042F48
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0xd
+ strh r0, [r2, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042F6C
+FUN_02042F6C: ; 0x02042F6C
+ push {r3-r7, lr}
+ sub sp, #0x38
+ str r0, [sp, #0x4]
+ bl FUN_02042D04
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ mov r7, #0x0
+ add r5, r0, #0x0
+ add r4, r0, #0x4
+ add r0, r4, #0x0
+ mov r1, #0x97
+ add r2, r7, #0x0
+ add r5, #0xf0
+ bl FUN_020671BC
+ add r1, r7, #0x0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x14]
+ add r0, r4, #0x0
+ mov r1, #0x7
+ add r2, r7, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ blx FUN_020CCC1C
+ bl FUN_0201BA10
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x14]
+ str r1, [sp, #0x34]
+ cmp r0, #0x0
+ beq _02042FE8
+ cmp r0, #0x1
+ bne _02042FE6
+ add r0, r6, #0x0
+ bl FUN_02068AAC
+ cmp r0, #0x0
+ beq _02042FE8
+_02042FD0:
+ ldr r0, [sp, #0x34]
+ bl FUN_0201BA10
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ str r1, [sp, #0x34]
+ bl FUN_02068AAC
+ cmp r0, #0x0
+ bne _02042FD0
+ b _02042FE8
+_02042FE6:
+ str r0, [sp, #0x34]
+_02042FE8:
+ ldr r1, [sp, #0x34]
+ add r0, r4, #0x0
+ bl FUN_0206A23C
+ add r0, r4, #0x0
+ bl FUN_020689E0
+ str r0, [sp, #0x30]
+ add r0, r4, #0x0
+ mov r1, #0x6f
+ add r2, sp, #0x30
+ bl FUN_02067830
+ add r0, r4, #0x0
+ mov r1, #0x4b
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x4a
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x49
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x20]
+ add r0, r4, #0x0
+ mov r1, #0x48
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x24]
+ add r0, r4, #0x0
+ mov r1, #0x46
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x47
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r6, r0
+ ldr r0, [sp, #0x24]
+ add r1, r0, r1
+ ldr r0, [sp, #0x20]
+ add r1, r0, r1
+ ldr r0, [sp, #0x1c]
+ add r1, r0, r1
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ str r0, [sp, #0x30]
+ bne _020430DA
+ bl FUN_0201B9EC
+ add r6, r0, #0x0
+ mov r0, #0x1f
+ and r0, r6
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x46
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x3e
+ lsl r0, r0, #0x4
+ and r0, r6
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x47
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x1f
+ lsl r0, r0, #0xa
+ and r0, r6
+ lsr r0, r0, #0xa
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x48
+ add r2, sp, #0x34
+ bl FUN_02067830
+ bl FUN_0201B9EC
+ add r6, r0, #0x0
+ mov r0, #0x1f
+ and r0, r6
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x49
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x3e
+ lsl r0, r0, #0x4
+ and r0, r6
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x4a
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x1f
+ lsl r0, r0, #0xa
+ and r0, r6
+ lsr r0, r0, #0xa
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x4b
+ add r2, sp, #0x34
+ bl FUN_02067830
+_020430DA:
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A918
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x2e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020430FC
+ mov r0, #0x49
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x0]
+ strb r1, [r6, r0]
+_020430FC:
+ add r0, r4, #0x0
+ mov r1, #0x2f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02043114
+ mov r0, #0x4a
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x1]
+ strb r1, [r6, r0]
+_02043114:
+ add r0, r4, #0x0
+ mov r1, #0x30
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0204312C
+ mov r0, #0x4b
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x2]
+ strb r1, [r6, r0]
+_0204312C:
+ add r0, r4, #0x0
+ mov r1, #0x31
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02043144
+ mov r0, #0x4c
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x3]
+ strb r1, [r6, r0]
+_02043144:
+ add r0, r4, #0x0
+ mov r1, #0x32
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0204315C
+ mov r0, #0x4d
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x4]
+ strb r1, [r6, r0]
+_0204315C:
+ add r0, r4, #0x0
+ mov r1, #0x33
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02043174
+ mov r0, #0x4e
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x5]
+ strb r1, [r6, r0]
+_02043174:
+ add r0, r4, #0x0
+ mov r1, #0x34
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0204318C
+ mov r0, #0x4f
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x6]
+ strb r1, [r6, r0]
+_0204318C:
+ add r0, r4, #0x0
+ mov r1, #0x67
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020431A4
+ mov r0, #0x19
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x7]
+ strb r1, [r6, r0]
+_020431A4:
+ add r0, r4, #0x0
+ mov r1, #0x68
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020431BC
+ mov r0, #0x1a
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x8]
+ strb r1, [r6, r0]
+_020431BC:
+ add r0, r4, #0x0
+ mov r1, #0x69
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020431D4
+ mov r0, #0x1b
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x9]
+ strb r1, [r6, r0]
+_020431D4:
+ ldr r0, [sp, #0x10]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204322C
+ ldr r0, [sp, #0xc]
+ mov r1, #0x20
+ bl FUN_020239A0
+ add r5, r0, #0x0
+ ldr r0, [sp, #0xc]
+ bl FUN_020239BC
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0xc]
+ bl FUN_020239CC
+ str r0, [sp, #0x28]
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_02069B88
+ add r0, r7, #0x0
+ mov r1, #0x90
+ add r2, r5, #0x0
+ bl FUN_02067830
+ add r0, r7, #0x0
+ mov r1, #0x7
+ add r2, sp, #0x2c
+ bl FUN_02067830
+ add r0, r7, #0x0
+ mov r1, #0x9c
+ add r2, sp, #0x28
+ bl FUN_02067830
+ add r0, r5, #0x0
+ add r4, r7, #0x0
+ bl FUN_02021A20
+_0204322C:
+ ldr r1, [sp, #0x8]
+ mov r0, #0x2
+ bl FUN_02015CF8
+ add r3, r0, #0x0
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0xc]
+ add r0, r4, #0x0
+ mov r2, #0x4
+ bl FUN_0208089C
+ add r0, r4, #0x0
+ bl FUN_02066ED8
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B900
+ cmp r0, #0x0
+ beq _02043266
+ ldr r0, [sp, #0x4]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202C144
+_02043266:
+ cmp r7, #0x0
+ beq _02043270
+ add r0, r7, #0x0
+ bl FUN_02016A18
+_02043270:
+ add sp, #0x38
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043274
+FUN_02043274: ; 0x02043274
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x7
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r7, #0x4
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200ACA4
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020432B4
+FUN_020432B4: ; 0x020432B4
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x4
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020432C0
+FUN_020432C0: ; 0x020432C0
+ ldr r3, _020432C4 ; =FUN_02042F6C
+ bx r3
+ .balign 4
+_020432C4: .word FUN_02042F6C + 1
+
+ thumb_func_start FUN_020432C8
+FUN_020432C8: ; 0x020432C8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x8
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r7, #0x4
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200AC60
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043308
+FUN_02043308: ; 0x02043308
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043330
+FUN_02043330: ; 0x02043330
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043358
+FUN_02043358: ; 0x02043358
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x9
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ add r2, r7, #0x0
+ bl FUN_0200AE38
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043394
+FUN_02043394: ; 0x02043394
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020433C4
+FUN_020433C4: ; 0x020433C4
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_020433C8
+FUN_020433C8: ; 0x020433C8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02023BD4
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020433DC
+FUN_020433DC: ; 0x020433DC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xa
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r7, #0x0
+ mov r1, #0x20
+ bl FUN_02023AF4
+ add r4, r0, #0x0
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x4]
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043430
+FUN_02043430: ; 0x02043430
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x6
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0204343C
+FUN_0204343C: ; 0x0204343C
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02026CC4
+ bl FUN_02025DB0
+ cmp r0, #0xc8
+ bge _02043450
+ mov r0, #0x1
+ pop {r3, pc}
+_02043450:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02043454
+FUN_02043454: ; 0x02043454
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02042D04
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02026CC4
+ ldr r1, [r4, #0x0]
+ bl FUN_02025D6C
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204346C
+FUN_0204346C: ; 0x0204346C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ ldr r7, [r0, #0x0]
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xb
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ add r2, r7, #0x0
+ bl FUN_0200B350
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020434A4
+FUN_020434A4: ; 0x020434A4
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x6
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020434B0
+FUN_020434B0: ; 0x020434B0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02042D04
+ ldr r4, [r0, #0x4]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x1
+ beq _020434CA
+ cmp r0, #0x2
+ beq _020434DA
+ cmp r0, #0x3
+ beq _020434DE
+ b _020434E2
+_020434CA:
+ ldr r0, [r5, #0xc]
+ bl FUN_02029C80
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02029DD4
+ pop {r3-r5, pc}
+_020434DA:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020434DE:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020434E2:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020434E8
+FUN_020434E8: ; 0x020434E8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02042D04
+ ldr r4, [r0, #0x4]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x1
+ beq _02043502
+ cmp r0, #0x2
+ beq _02043512
+ cmp r0, #0x3
+ beq _02043526
+ pop {r3-r5, pc}
+_02043502:
+ ldr r0, [r5, #0xc]
+ bl FUN_02029C80
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02029D44
+ pop {r3-r5, pc}
+_02043512:
+ ldr r0, [r5, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020271A4
+ pop {r3-r5, pc}
+_02043526:
+ ldr r0, [r5, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ bl FUN_02027264
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043538
+FUN_02043538: ; 0x02043538
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ ldr r2, [r0, #0x4]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x1
+ beq _02043558
+ cmp r0, #0x2
+ beq _02043562
+ cmp r0, #0x3
+ beq _0204356C
+ b _02043574
+_02043558:
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200B534
+ b _02043574
+_02043562:
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200B660
+ b _02043574
+_0204356C:
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200B6D0
+_02043574:
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xc
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043594
+FUN_02043594: ; 0x02043594
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x6
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020435A0
+FUN_020435A0: ; 0x020435A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ ldr r1, _020435C0 ; =0x000001C6
+ add r0, r4, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+_020435C0: .word 0x000001C6
+
+ thumb_func_start FUN_020435C4
+FUN_020435C4: ; 0x020435C4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02042D04
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ ldr r1, _020435F4 ; =0x000001C6
+ add r0, r5, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205F478
+ pop {r3-r5, pc}
+ .balign 4
+_020435F4: .word 0x000001C6
+
+ thumb_func_start FUN_020435F8
+FUN_020435F8: ; 0x020435F8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xe
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ ldr r2, _02043630 ; =0x000001C6
+ mov r1, #0x1
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+ nop
+_02043630: .word 0x000001C6
+
+ thumb_func_start FUN_02043634
+FUN_02043634: ; 0x02043634
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ mov r2, #0x53
+ lsl r2, r2, #0x2
+ strh r2, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ add r2, #0x7a
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043660
+FUN_02043660: ; 0x02043660
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ mov r1, #0x71
+ add r0, r4, #0x0
+ lsl r1, r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043684
+FUN_02043684: ; 0x02043684
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02042D04
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x71
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0205F478
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020436B8
+FUN_020436B8: ; 0x020436B8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xf
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ mov r2, #0x71
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ lsl r2, r2, #0x2
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020436F0
+FUN_020436F0: ; 0x020436F0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ mov r2, #0x53
+ lsl r2, r2, #0x2
+ strh r2, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ add r2, #0x78
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204371C
+FUN_0204371C: ; 0x0204371C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ ldr r1, _0204373C ; =0x000001C7
+ add r0, r4, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+_0204373C: .word 0x000001C7
+
+ thumb_func_start FUN_02043740
+FUN_02043740: ; 0x02043740
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02042D04
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ ldr r1, _02043770 ; =0x000001C7
+ add r0, r5, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0205F478
+ pop {r3-r5, pc}
+ .balign 4
+_02043770: .word 0x000001C7
+
+ thumb_func_start FUN_02043774
+FUN_02043774: ; 0x02043774
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x10
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ ldr r2, _020437AC ; =0x000001C7
+ mov r1, #0x1
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+ nop
+_020437AC: .word 0x000001C7
+
+ thumb_func_start FUN_020437B0
+FUN_020437B0: ; 0x020437B0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ mov r2, #0x53
+ lsl r2, r2, #0x2
+ strh r2, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ add r2, #0x7b
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020437DC
+FUN_020437DC: ; 0x020437DC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0204C1A8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r0, r4, #0x0
+ bl FUN_0204BEC8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020437F8
+FUN_020437F8: ; 0x020437F8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0204C1A8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0204BED8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043818
+FUN_02043818: ; 0x02043818
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x12
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ ldr r2, [r7, #0x0]
+ mov r1, #0x1
+ bl FUN_0200B02C
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043850
+FUN_02043850: ; 0x02043850
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x13
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204387C
+FUN_0204387C: ; 0x0204387C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ cmp r0, #0x0
+ bne _020438B2
+ add r0, r4, #0x0
+ bl FUN_0205F224
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ bl FUN_0204B9EC
+ b _020438CA
+_020438B2:
+ cmp r0, #0x1
+ bne _020438C6
+ add r0, r4, #0x0
+ bl FUN_0205F234
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ bl FUN_0204BA1C
+ b _020438CA
+_020438C6:
+ bl FUN_02020C2C
+_020438CA:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020438D0
+FUN_020438D0: ; 0x020438D0
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022528
+ add r6, r0, #0x0
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0202C000
+ cmp r0, #0x6
+ bne _02043908
+ mov r0, #0x1
+ b _0204390A
+_02043908:
+ mov r0, #0x0
+_0204390A:
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043918
+FUN_02043918: ; 0x02043918
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x8]
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ mov r5, #0x0
+_0204395C:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0202BFD8
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r2, #0x2
+ mov r3, #0x0
+ bl FUN_0208089C
+ add r0, r4, #0x0
+ bl FUN_020690E4
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_0206B20C
+ cmp r0, #0x0
+ bne _0204398C
+ bl FUN_02020C2C
+_0204398C:
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202C144
+ add r5, r5, #0x1
+ cmp r5, #0x6
+ blt _0204395C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r7, #0x0
+ bl FUN_0202BEDC
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020439B4
+FUN_020439B4: ; 0x020439B4
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ cmp r6, #0x3
+ bhi _02043A40
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020439EE: ; jump table (using 16-bit offset)
+ .short _020439F6 - _020439EE - 2; case 0
+ .short _02043A02 - _020439EE - 2; case 1
+ .short _02043A0E - _020439EE - 2; case 2
+ .short _02043A1A - _020439EE - 2; case 3
+_020439F6:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAC4
+ strh r0, [r5, #0x0]
+ b _02043A40
+_02043A02:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAD4
+ strh r0, [r5, #0x0]
+ b _02043A40
+_02043A0E:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAE4
+ strh r0, [r5, #0x0]
+ b _02043A40
+_02043A1A:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_0204BAD4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_0204BAC4
+ add r4, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAE4
+ add r0, r7, r0
+ add r0, r6, r0
+ strh r0, [r5, #0x0]
+_02043A40:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043A44
+FUN_02043A44: ; 0x02043A44
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x26
+ bl FUN_02039438
+ lsl r1, r6, #0x18
+ lsl r2, r7, #0x18
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_021E2950
+ str r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043A94
+FUN_02043A94: ; 0x02043A94
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_021E29B4
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043AAC
+FUN_02043AAC: ; 0x02043AAC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_021E29C8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043ACC
+FUN_02043ACC: ; 0x02043ACC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02028930
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043AFC
+FUN_02043AFC: ; 0x02043AFC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02028934
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043B28
+FUN_02043B28: ; 0x02043B28
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202896C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043B54
+FUN_02043B54: ; 0x02043B54
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r1, r0, #0x0
+ ldrh r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0202896C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043B84
+FUN_02043B84: ; 0x02043B84
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ ldr r0, [r5, #0xc]
+ bl FUN_0202390C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C48
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02028930
+ cmp r0, r4
+ bhs _02043BC8
+ mov r0, #0x0
+ b _02043BCA
+_02043BC8:
+ mov r0, #0x1
+_02043BCA:
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043BD0
+FUN_02043BD0: ; 0x02043BD0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ ldr r0, [r4, #0xc]
+ bl FUN_0202390C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ ldrh r5, [r0, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02028930
+ cmp r0, r5
+ bhs _02043C1E
+ mov r0, #0x0
+ b _02043C20
+_02043C1E:
+ mov r0, #0x1
+_02043C20:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043C28
+FUN_02043C28: ; 0x02043C28
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02028954
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043C6C
+FUN_02043C6C: ; 0x02043C6C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C48
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023A30
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043C90
+FUN_02043C90: ; 0x02043C90
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C48
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023A54
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043CB4
+FUN_02043CB4: ; 0x02043CB4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023A54
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043CE4
+FUN_02043CE4: ; 0x02043CE4
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C48
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02023A10
+ cmp r0, r4
+ bhs _02043D20
+ mov r0, #0x0
+ b _02043D22
+_02043D20:
+ mov r0, #0x1
+_02043D22:
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043D28
+FUN_02043D28: ; 0x02043D28
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02023A10
+ cmp r0, r4
+ bhs _02043D6E
+ mov r0, #0x0
+ b _02043D70
+_02043D6E:
+ mov r0, #0x1
+_02043D70:
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043D78
+FUN_02043D78: ; 0x02043D78
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x27
+ bl FUN_02039438
+ lsl r1, r6, #0x18
+ lsl r2, r7, #0x18
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_021E27E8
+ str r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043DC8
+FUN_02043DC8: ; 0x02043DC8
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x27
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_021E288C
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043DE0
+FUN_02043DE0: ; 0x02043DE0
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x27
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_021E28A0
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043E00
+FUN_02043E00: ; 0x02043E00
+ push {r3-r5, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ ldr r5, [r0, #0xc]
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023D58
+ ldr r1, [r4, #0x0]
+ bl FUN_021ED4E0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043E20
+FUN_02043E20: ; 0x02043E20
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ bl FUN_021ED5EC
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043E50
+FUN_02043E50: ; 0x02043E50
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x8
+ ldr r0, [r0, #0xc]
+ bl FUN_02022610
+ bl FUN_021ECD64
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043E68
+FUN_02043E68: ; 0x02043E68
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0x8
+ ldr r0, [r5, #0xc]
+ bl FUN_02022610
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_021ED0CC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043E9C
+FUN_02043E9C: ; 0x02043E9C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r5, #0x0
+ bl FUN_02039438
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ ldr r6, [r5, #0xc]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ lsl r3, r4, #0x18
+ ldr r1, [r7, #0x0]
+ add r2, r6, #0x0
+ lsr r3, r3, #0x18
+ bl FUN_021EC71C
+ ldr r1, [sp, #0x0]
+ strh r0, [r1, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043EFC
+FUN_02043EFC: ; 0x02043EFC
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r5, #0x0
+ bl FUN_02039438
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ ldr r5, [r5, #0xc]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ lsl r1, r4, #0x18
+ ldr r2, [r7, #0x0]
+ lsr r1, r1, #0x18
+ bl FUN_021EC854
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043F50
+FUN_02043F50: ; 0x02043F50
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ ldr r4, [r0, #0xc]
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ ldr r2, [r6, #0x0]
+ add r1, r5, #0x0
+ bl FUN_021EC864
+ strh r0, [r7, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043FA0
+FUN_02043FA0: ; 0x02043FA0
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r5, #0x0
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldr r2, [r6, #0x0]
+ add r1, r7, #0x0
+ bl FUN_021ED5C4
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043FF4
+FUN_02043FF4: ; 0x02043FF4
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r1, r6, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ ldr r5, [r4, #0xc]
+ bl FUN_02038C30
+ add r6, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ lsl r1, r6, #0x18
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ add r3, r5, #0x0
+ bl FUN_021EC57C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044034
+FUN_02044034: ; 0x02044034
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ ldr r5, [r0, #0xc]
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023D58
+ lsl r1, r4, #0x18
+ lsr r1, r1, #0x18
+ str r1, [sp, #0x0]
+ ldr r1, [r6, #0x0]
+ ldr r2, [sp, #0x8]
+ ldr r3, [sp, #0xc]
+ str r1, [sp, #0x4]
+ lsl r1, r7, #0x18
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_021ED52C
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020440C0
+FUN_020440C0: ; 0x020440C0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ bl FUN_021ED644
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020440F0
+FUN_020440F0: ; 0x020440F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ bl FUN_02023C90
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044120
+FUN_02044120: ; 0x02044120
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044138
+FUN_02044138: ; 0x02044138
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204413C
+FUN_0204413C: ; 0x0204413C
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02044140
+FUN_02044140: ; 0x02044140
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044158
+FUN_02044158: ; 0x02044158
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F54C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204416C
+FUN_0204416C: ; 0x0204416C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F55C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044198
+FUN_02044198: ; 0x02044198
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ bl FUN_0201B9EC
+ mov r1, #0x64
+ blx FUN_020EBC80
+ lsl r0, r1, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0xf
+ bhs _020441D6
+ mov r0, #0x0
+ b _02044218
+_020441D6:
+ cmp r0, #0x1e
+ bhs _020441DE
+ mov r0, #0x1
+ b _02044218
+_020441DE:
+ cmp r0, #0x2d
+ bhs _020441E6
+ mov r0, #0x2
+ b _02044218
+_020441E6:
+ cmp r0, #0x3c
+ bhs _020441EE
+ mov r0, #0x3
+ b _02044218
+_020441EE:
+ cmp r0, #0x46
+ bhs _020441F6
+ mov r0, #0x4
+ b _02044218
+_020441F6:
+ cmp r0, #0x50
+ bhs _020441FE
+ mov r0, #0x5
+ b _02044218
+_020441FE:
+ cmp r0, #0x58
+ bhs _02044206
+ mov r0, #0x6
+ b _02044218
+_02044206:
+ cmp r0, #0x5d
+ bhs _0204420E
+ mov r0, #0x7
+ b _02044218
+_0204420E:
+ cmp r0, #0x62
+ bhs _02044216
+ mov r0, #0x8
+ b _02044218
+_02044216:
+ mov r0, #0x9
+_02044218:
+ ldr r2, _020442B4 ; =0x0000011D
+ cmp r5, r2
+ bgt _02044244
+ bge _02044290
+ cmp r5, #0x27
+ bgt _02044236
+ cmp r5, #0x23
+ blt _02044230
+ beq _02044284
+ cmp r5, #0x27
+ beq _02044290
+ b _0204429C
+_02044230:
+ cmp r5, #0x19
+ beq _02044294
+ b _0204429C
+_02044236:
+ cmp r5, #0x36
+ bgt _0204423E
+ beq _0204428C
+ b _0204429C
+_0204423E:
+ cmp r5, #0xff
+ beq _02044288
+ b _0204429C
+_02044244:
+ add r1, r2, #0x0
+ add r1, #0x8c
+ cmp r5, r1
+ bgt _0204426C
+ add r1, r2, #0x0
+ add r1, #0x8c
+ cmp r5, r1
+ bge _02044288
+ add r1, r2, #0x0
+ add r1, #0xf
+ cmp r5, r1
+ bgt _02044264
+ add r2, #0xf
+ cmp r5, r2
+ beq _02044284
+ b _0204429C
+_02044264:
+ add r2, #0x84
+ cmp r5, r2
+ beq _0204428C
+ b _0204429C
+_0204426C:
+ add r1, r2, #0x0
+ add r1, #0x8e
+ cmp r5, r1
+ bgt _0204427C
+ add r2, #0x8e
+ cmp r5, r2
+ beq _02044298
+ b _0204429C
+_0204427C:
+ add r2, #0x9b
+ cmp r5, r2
+ beq _02044298
+ b _0204429C
+_02044284:
+ mov r2, #0x0
+ b _0204429E
+_02044288:
+ mov r2, #0x1
+ b _0204429E
+_0204428C:
+ mov r2, #0x2
+ b _0204429E
+_02044290:
+ mov r2, #0x3
+ b _0204429E
+_02044294:
+ mov r2, #0x4
+ b _0204429E
+_02044298:
+ mov r2, #0x5
+ b _0204429E
+_0204429C:
+ mov r2, #0x0
+_0204429E:
+ add r3, r2, #0x0
+ mov r1, #0x14
+ mul r3, r1
+ ldr r2, _020442B8 ; =0x020F4494
+ lsl r1, r0, #0x1
+ add r0, r2, r3
+ ldrh r0, [r1, r0]
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_020442B4: .word 0x0000011D
+_020442B8: .word 0x020F4494
+
+ thumb_func_start FUN_020442BC
+FUN_020442BC: ; 0x020442BC
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldr r0, [sp, #0x10]
+ lsl r3, r7, #0x18
+ str r0, [sp, #0x0]
+ str r6, [sp, #0x4]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ ldr r1, [r5, #0xc]
+ ldr r2, [sp, #0xc]
+ mov r0, #0xb
+ lsr r3, r3, #0x18
+ bl FUN_0204A048
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204434C
+FUN_0204434C: ; 0x0204434C
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldrh r1, [r6, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _020443A0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ b _020443A2
+_020443A0:
+ mov r0, #0x0
+_020443A2:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020443A8
+FUN_020443A8: ; 0x020443A8
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldrh r1, [r6, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r7, #0x0
+ bl FUN_020239BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r5, r0
+ bne _0204440C
+ mov r0, #0x0
+ b _0204440E
+_0204440C:
+ mov r0, #0x1
+_0204440E:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02044414
+FUN_02044414: ; 0x02044414
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r6, r0, #0x0
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x6
+ bhs _02044494
+ mov r0, #0xb
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ bl FUN_02066978
+ mov r0, #0x1
+ add r1, r5, #0x0
+ bl FUN_02015CF8
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r2, #0x1
+ add r3, r7, #0x0
+ bl FUN_021ECF14
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B900
+ add r0, r4, #0x0
+ bl FUN_02016A18
+_02044494:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204449C
+FUN_0204449C: ; 0x0204449C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_0204A120
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020444F4
+FUN_020444F4: ; 0x020444F4
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r2, #0x0
+ mov r1, #0x4c
+ add r4, r0, #0x0
+ strh r2, [r6, #0x0]
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044556
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02044556:
+ add r0, r4, #0x0
+ mov r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204458E
+ add r0, r4, #0x0
+ mov r1, #0x37
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204458E
+ add r0, r4, #0x0
+ mov r1, #0x38
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204458E
+ add r0, r4, #0x0
+ mov r1, #0x39
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ bne _02044592
+_0204458E:
+ mov r0, #0x1
+ strh r0, [r6, #0x0]
+_02044592:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044598
+FUN_02044598: ; 0x02044598
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ str r1, [sp, #0x4]
+ bl FUN_02038C30
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02038C30
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r1, _02044650 ; =0x00000006
+ ldr r0, [sp, #0x0]
+ ldr r6, _02044654 ; =0x00000000
+ strh r1, [r0, #0x0]
+ beq _02044648
+_020445E4:
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204463E
+ add r0, r4, #0x0
+ mov r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02044638
+ add r0, r4, #0x0
+ mov r1, #0x37
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02044638
+ add r0, r4, #0x0
+ mov r1, #0x38
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02044638
+ add r0, r4, #0x0
+ mov r1, #0x39
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ bne _0204463E
+_02044638:
+ ldr r0, [sp, #0x0]
+ strh r6, [r0, #0x0]
+ b _02044648
+_0204463E:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, r7
+ blo _020445E4
+_02044648:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02044650: .word 0x00000006
+_02044654: .word 0x00000000
thumb_func_start FUN_02044658
FUN_02044658: ; 0x02044658
@@ -133197,18 +147765,20 @@ _0204608A:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r2, #0
- lsl r4, r7, #0
- lsl r2, r1, #0x1
- lsl r2, r6, #0x1
- lsl r0, r0, #0x2
- lsl r0, r7, #0x2
- lsl r0, r1, #0x3
- lsl r2, r6, #0x3
- lsl r0, r0, #0x4
- lsl r0, r5, #0x4
- lsl r6, r6, #0x4
- lsl r4, r1, #0x5
+_02046096: ; jump table (using 16-bit offset)
+ .short _020460AE - _02046096 - 2; case 0
+ .short _020460D4 - _02046096 - 2; case 1
+ .short _020460E2 - _02046096 - 2; case 2
+ .short _0204610A - _02046096 - 2; case 3
+ .short _02046118 - _02046096 - 2; case 4
+ .short _02046150 - _02046096 - 2; case 5
+ .short _02046160 - _02046096 - 2; case 6
+ .short _0204618A - _02046096 - 2; case 7
+ .short _02046198 - _02046096 - 2; case 8
+ .short _020461C0 - _02046096 - 2; case 9
+ .short _020461CE - _02046096 - 2; case 10
+ .short _020461E4 - _02046096 - 2; case 11
+_020460AE:
ldr r0, [r5, #0x38]
bl FUN_02055320
strh r0, [r4, #0x4]
@@ -133225,33 +147795,154 @@ _0204608A:
strb r0, [r4, #0x8]
b _020461F8
_020460D4:
- .byte 0x30, 0x1C, 0x04, 0xF0, 0x31, 0xFF, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72
- .byte 0x8A, 0xE0, 0x19, 0xF0, 0x6F, 0xF8, 0xAC, 0x20, 0x09, 0x90, 0xAD, 0x38, 0x0A, 0x90, 0x44, 0x48
- .byte 0x09, 0xA9, 0x0B, 0x90, 0x43, 0x48, 0x0C, 0x90, 0x01, 0x20, 0x0D, 0x90, 0x30, 0x1C, 0x03, 0xF0
- .byte 0x2F, 0xF8, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x76, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0x3A, 0xFF
- .byte 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x6F, 0xE0, 0xA8, 0x6B, 0x01, 0x21, 0x00, 0xF0, 0x7A, 0xF8
- .byte 0x28, 0x1C, 0x00, 0xF0, 0x7F, 0xF8, 0x00, 0x20, 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20
- .byte 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x34, 0x4B, 0x30, 0x1C, 0x03, 0x21, 0x11, 0x22, 0x06, 0xF0
- .byte 0x39, 0xF8, 0x32, 0x48, 0xBF, 0xF7, 0xC0, 0xF9, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x53, 0xE0
- .byte 0x2F, 0x48, 0x82, 0x6C, 0x03, 0x20, 0x10, 0x42, 0x4E, 0xD0, 0x48, 0x1C, 0x20, 0x72, 0x4B, 0xE0
- .byte 0x00, 0x20, 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90
- .byte 0x25, 0x4B, 0x30, 0x1C, 0x03, 0x21, 0x10, 0x22, 0x06, 0xF0, 0x1C, 0xF8, 0x23, 0x48, 0xBF, 0xF7
- .byte 0xA3, 0xF9, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x36, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0xD6, 0xFE
- .byte 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x2F, 0xE0, 0x19, 0xF0, 0x1C, 0xF8, 0xE2, 0x88, 0xA1, 0x88
- .byte 0xA4, 0x20, 0x04, 0x90, 0xA5, 0x38, 0x05, 0x90, 0x00, 0x20, 0x06, 0x91, 0x08, 0x90, 0x07, 0x92
- .byte 0x30, 0x1C, 0x04, 0xA9, 0x02, 0xF0, 0xD4, 0xFF, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x1B, 0xE0
- .byte 0x30, 0x1C, 0x04, 0xF0, 0xDF, 0xFE, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x14, 0xE0, 0xA8, 0x6B
- .byte 0x00, 0x21, 0x00, 0xF0, 0x1F, 0xF8, 0x30, 0x1C, 0x04, 0xF0, 0x18, 0xFF, 0x20, 0x7A, 0x40, 0x1C
- .byte 0x20, 0x72, 0x09, 0xE0, 0x20, 0x1C, 0xD0, 0xF7, 0x17, 0xFC, 0x28, 0x1C, 0x00, 0x21, 0x1D, 0xF0
- .byte 0x45, 0xFA, 0x0E, 0xB0, 0x01, 0x20, 0x70, 0xBD
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_020460E2:
+ bl FUN_0205F1C4
+ mov r0, #0xac
+ str r0, [sp, #0x24]
+ sub r0, #0xad
+ str r0, [sp, #0x28]
+ ldr r0, _02046200 ; =0x0000034F
+ add r1, sp, #0x24
+ str r0, [sp, #0x2c]
+ ldr r0, _02046204 ; =0x00000231
+ str r0, [sp, #0x30]
+ mov r0, #0x1
+ str r0, [sp, #0x34]
+ add r0, r6, #0x0
+ bl FUN_02049160
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_0204610A:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_02046118:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x1
+ bl FUN_02046214
+ add r0, r5, #0x0
+ bl FUN_02046224
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ ldr r3, _02046208 ; =0x0000FFFF
+ add r0, r6, #0x0
+ mov r1, #0x3
+ mov r2, #0x11
+ bl FUN_0204C1B4
+ ldr r0, _0204620C ; =0x00000679
+ bl FUN_020054C8
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_02046150:
+ ldr r0, _02046210 ; =0x021C48B8
+ ldr r2, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r2
+ beq _020461F8
+ add r0, r1, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_02046160:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ ldr r3, _02046208 ; =0x0000FFFF
+ add r0, r6, #0x0
+ mov r1, #0x3
+ mov r2, #0x10
+ bl FUN_0204C1B4
+ ldr r0, _0204620C ; =0x00000679
+ bl FUN_020054C8
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_0204618A:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_02046198:
+ bl FUN_0205F1D4
+ ldrh r2, [r4, #0x6]
+ ldrh r1, [r4, #0x4]
+ mov r0, #0xa4
+ str r0, [sp, #0x10]
+ sub r0, #0xa5
+ str r0, [sp, #0x14]
+ mov r0, #0x0
+ str r1, [sp, #0x18]
+ str r0, [sp, #0x20]
+ str r2, [sp, #0x1c]
+ add r0, r6, #0x0
+ add r1, sp, #0x10
+ bl FUN_02049160
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_020461C0:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_020461CE:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_02046214
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldrb r0, [r4, #0x8]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x8]
+ b _020461F8
+_020461E4:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0206367C
+ add sp, #0x38
+ mov r0, #0x1
+ pop {r4-r6, pc}
_020461F8:
mov r0, #0x0
add sp, #0x38
pop {r4-r6, pc}
nop
-_02046200:
- .byte 0x4F, 0x03, 0x00, 0x00, 0x31, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x79, 0x06, 0x00, 0x00
- .byte 0xB8, 0x48, 0x1C, 0x02
+_02046200: .word 0x0000034F
+_02046204: .word 0x00000231
+_02046208: .word 0x0000FFFF
+_0204620C: .word 0x00000679
+_02046210: .word 0x021C48B8
thumb_func_start FUN_02046214
FUN_02046214: ; 0x02046214
@@ -133844,12 +148535,14 @@ FUN_020465F8: ; 0x020465F8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r4, #0
- lsl r0, r6, #0
- lsl r0, r0, #0x1
- lsl r4, r6, #0x2
- lsl r0, r1, #0x3
+_02046624: ; jump table (using 16-bit offset)
+ .short _02046630 - _02046624 - 2; case 0
+ .short _02046648 - _02046624 - 2; case 1
+ .short _02046656 - _02046624 - 2; case 2
+ .short _02046666 - _02046624 - 2; case 3
+ .short _020466DA - _02046624 - 2; case 4
+ .short _020466EE - _02046624 - 2; case 5
+_02046630:
ldr r0, [r6, #0x34]
bl FUN_02058780
ldr r1, [r5, #0x4]
@@ -133861,18 +148554,86 @@ FUN_020465F8: ; 0x020465F8
str r0, [r4, #0x0]
b _020466F8
_02046648:
- .byte 0x38, 0x1C, 0x04, 0xF0, 0x77, 0xFC, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x50, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7, 0x93, 0xFF, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7, 0xBB, 0xFF, 0x2A, 0x69
- .byte 0x11, 0x68, 0x00, 0x29, 0x05, 0xD0, 0x01, 0x20, 0x00, 0x02, 0x81, 0x42, 0x01, 0xD0, 0x4A, 0x29
- .byte 0x06, 0xD1, 0x4D, 0x21, 0x89, 0x00, 0x51, 0x58, 0x52, 0x69, 0x30, 0x1C, 0x1A, 0xF0, 0xF8, 0xFC
- .byte 0x28, 0x1C, 0xFF, 0xF7, 0x9B, 0xFF, 0x00, 0x28, 0x04, 0xD1, 0x28, 0x1C, 0xFF, 0xF7, 0x8C, 0xFF
- .byte 0x01, 0x20, 0xF8, 0xBD, 0xF0, 0x68, 0xFF, 0xF7, 0x01, 0xFE, 0x18, 0xF0, 0x47, 0xFB, 0x00, 0x28
- .byte 0x04, 0xD0, 0xF0, 0x68, 0x25, 0xF0, 0x32, 0xFA, 0x3E, 0xF0, 0x42, 0xFD, 0x29, 0x69, 0x30, 0x1C
- .byte 0x00, 0xF0, 0x18, 0xFE, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0x80, 0xFE, 0x38, 0x1C, 0x04, 0xF0
- .byte 0x59, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x70, 0x6B, 0x12, 0xF0, 0x68, 0xF8
- .byte 0x38, 0x1C, 0x04, 0xF0, 0x93, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C
- .byte 0xFF, 0xF7, 0x62, 0xFF, 0x01, 0x20, 0xF8, 0xBD
+ add r0, r7, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_02046656:
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_02046666:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_020465E4
+ ldr r2, [r5, #0x10]
+ ldr r1, [r2, #0x0]
+ cmp r1, #0x0
+ beq _02046682
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ cmp r1, r0
+ beq _02046682
+ cmp r1, #0x4a
+ bne _02046690
+_02046682:
+ mov r1, #0x4d
+ lsl r1, r1, #0x2
+ ldr r1, [r2, r1]
+ ldr r2, [r2, #0x14]
+ add r0, r6, #0x0
+ bl FUN_02061080
+_02046690:
+ add r0, r5, #0x0
+ bl FUN_020465CC
+ cmp r0, #0x0
+ bne _020466A4
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020466A4:
+ ldr r0, [r6, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x0
+ beq _020466BC
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_02085140
+_020466BC:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020472F4
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020473CC
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_020466DA:
+ ldr r0, [r6, #0x34]
+ bl FUN_020587B0
+ add r0, r7, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_020466EE:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
_020466F8:
mov r0, #0x0
pop {r3-r7, pc}
@@ -133907,20 +148668,24 @@ FUN_0204671C: ; 0x0204671C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r4, #0
- lsl r4, r1, #0
- lsl r6, r2, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r6, r2, #0
- lsl r4, r1, #0
+_02046732: ; jump table (using 16-bit offset)
+ .short _02046754 - _02046732 - 2; case 0
+ .short _02046740 - _02046732 - 2; case 1
+ .short _0204674A - _02046732 - 2; case 2
+ .short _02046754 - _02046732 - 2; case 3
+ .short _02046754 - _02046732 - 2; case 4
+ .short _0204674A - _02046732 - 2; case 5
+ .short _02046740 - _02046732 - 2; case 6
+_02046740:
ldr r0, [r1, #0xc]
mov r1, #0x1
bl FUN_0202E25C
pop {r3, pc}
_0204674A:
- .byte 0xC8, 0x68, 0x10, 0x3A, 0x11, 0x1C
- .byte 0xE7, 0xF7, 0x84, 0xFD
+ ldr r0, [r1, #0xc]
+ sub r2, #0x10
+ add r1, r2, #0x0
+ bl FUN_0202E25C
_02046754:
pop {r3, pc}
.balign 4
@@ -133946,12 +148711,14 @@ FUN_02046758: ; 0x02046758
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r4, r3, #0
- lsl r2, r5, #0
- lsl r2, r7, #0
- lsl r6, r4, #0x1
- lsl r6, r4, #0x1
+_02046784: ; jump table (using 16-bit offset)
+ .short _02046790 - _02046784 - 2; case 0
+ .short _020467A2 - _02046784 - 2; case 1
+ .short _020467B0 - _02046784 - 2; case 2
+ .short _020467C0 - _02046784 - 2; case 3
+ .short _020467EC - _02046784 - 2; case 4
+ .short _020467EC - _02046784 - 2; case 5
+_02046790:
ldr r1, [r5, #0x4]
ldr r2, [r5, #0x8]
add r0, r6, #0x0
@@ -133961,12 +148728,43 @@ FUN_02046758: ; 0x02046758
str r0, [r4, #0x0]
b _020467F6
_020467A2:
- .byte 0x30, 0x1C, 0x04, 0xF0, 0xCA, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x22, 0xE0
- .byte 0x29, 0x69, 0x30, 0x1C, 0xFF, 0xF7, 0xE6, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1A, 0xE0
- .byte 0x28, 0x69, 0x39, 0x1C, 0x40, 0x69, 0xFF, 0xF7, 0xA9, 0xFF, 0x28, 0x69, 0x39, 0x1C, 0x01, 0xF0
- .byte 0xE9, 0xFB, 0xF8, 0x68, 0xE3, 0xF7, 0xF8, 0xFB, 0x15, 0x21, 0xE3, 0xF7, 0xC9, 0xFC, 0x30, 0x1C
- .byte 0x04, 0xF0, 0xD0, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xFF, 0xF7
- .byte 0xE3, 0xFE, 0x01, 0x20, 0xF8, 0xBD
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467B0:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467C0:
+ ldr r0, [r5, #0x10]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x14]
+ bl FUN_0204671C
+ ldr r0, [r5, #0x10]
+ add r1, r7, #0x0
+ bl FUN_02047FA4
+ ldr r0, [r7, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x15
+ bl FUN_0202A170
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467EC:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
_020467F6:
mov r0, #0x0
pop {r3-r7, pc}
@@ -134052,12 +148850,14 @@ FUN_02046878: ; 0x02046878
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r4, r3, #0
- lsl r2, r5, #0
- lsl r2, r7, #0
- lsl r4, r4, #0x1
- lsl r2, r6, #0x1
+_020468A4: ; jump table (using 16-bit offset)
+ .short _020468B0 - _020468A4 - 2; case 0
+ .short _020468C2 - _020468A4 - 2; case 1
+ .short _020468D0 - _020468A4 - 2; case 2
+ .short _020468E0 - _020468A4 - 2; case 3
+ .short _0204690A - _020468A4 - 2; case 4
+ .short _02046918 - _020468A4 - 2; case 5
+_020468B0:
ldr r1, [r5, #0x4]
ldr r2, [r5, #0x8]
add r0, r6, #0x0
@@ -134067,13 +148867,50 @@ FUN_02046878: ; 0x02046878
str r0, [r4, #0x0]
b _02046922
_020468C2:
- .byte 0x30, 0x1C, 0x04, 0xF0, 0x3A, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0
- .byte 0x29, 0x69, 0x30, 0x1C, 0xFF, 0xF7, 0x56, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x20, 0xE0
- .byte 0x28, 0x69, 0x39, 0x1C, 0x01, 0xF0, 0x5E, 0xFB, 0x4E, 0x21, 0x2A, 0x69, 0x89, 0x00, 0x38, 0x1C
- .byte 0x51, 0x18, 0x19, 0xF0, 0xA7, 0xFB, 0x28, 0x1C, 0xFF, 0xF7, 0x68, 0xFE, 0x30, 0x1C, 0x04, 0xF0
- .byte 0x41, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0x7E, 0xFB
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x4D, 0xFE, 0x01, 0x20
- .byte 0xF8, 0xBD
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_020468D0:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_020468E0:
+ ldr r0, [r5, #0x10]
+ add r1, r7, #0x0
+ bl FUN_02047FA4
+ mov r1, #0x4e
+ ldr r2, [r5, #0x10]
+ lsl r1, r1, #0x2
+ add r0, r7, #0x0
+ add r1, r2, r1
+ bl FUN_02060044
+ add r0, r5, #0x0
+ bl FUN_020465CC
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_0204690A:
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_02046918:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02046922:
mov r0, #0x0
pop {r3-r7, pc}
@@ -134264,13 +149101,15 @@ _02046AA2:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r0, r6, #0
- lsl r6, r7, #0
- lsl r6, r1, #0x1
- lsl r6, r7, #0x3
- lsl r4, r2, #0x4
- lsl r4, r0, #0x5
+_02046AAE: ; jump table (using 16-bit offset)
+ .short _02046ABC - _02046AAE - 2; case 0
+ .short _02046AE0 - _02046AAE - 2; case 1
+ .short _02046AEE - _02046AAE - 2; case 2
+ .short _02046AFE - _02046AAE - 2; case 3
+ .short _02046BAE - _02046AAE - 2; case 4
+ .short _02046BC4 - _02046AAE - 2; case 5
+ .short _02046BF4 - _02046AAE - 2; case 6
+_02046ABC:
ldr r0, [r5, #0x34]
bl FUN_02058780
ldr r0, [r5, #0xc]
@@ -134286,32 +149125,147 @@ _02046AA2:
str r0, [r4, #0x0]
b _02046C12
_02046AE0:
- .byte 0x30, 0x1C, 0x04, 0xF0, 0x2B, 0xFA, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x91, 0xE0, 0x21, 0x69
- .byte 0x30, 0x1C, 0xFF, 0xF7, 0x47, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x89, 0xE0, 0x20, 0x69
- .byte 0x29, 0x1C, 0xFF, 0xF7, 0x6F, 0xFD, 0x4D, 0x21, 0x22, 0x69, 0x89, 0x00, 0x51, 0x58, 0x52, 0x69
- .byte 0x28, 0x1C, 0x1A, 0xF0, 0xB5, 0xFA, 0x20, 0x69, 0x40, 0x69, 0x01, 0xF0, 0xCD, 0xFA, 0x00, 0x28
- .byte 0x0D, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x3E, 0xFF, 0x90, 0x35, 0x28, 0x68, 0x17, 0xF0, 0x08, 0xF9
- .byte 0x39, 0x49, 0x30, 0x1C, 0x00, 0x22, 0xFF, 0xF7, 0x59, 0xFC, 0x00, 0x20, 0x70, 0xBD, 0xE8, 0x68
- .byte 0xFF, 0xF7, 0xB4, 0xFB, 0x18, 0xF0, 0xFA, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0xE8, 0x68, 0x24, 0xF0
- .byte 0xE5, 0xFF, 0x3E, 0xF0, 0xF5, 0xFA, 0x21, 0x69, 0x28, 0x1C, 0x00, 0xF0, 0xCB, 0xFB, 0x21, 0x69
- .byte 0x28, 0x1C, 0x00, 0xF0, 0x33, 0xFC, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xDC, 0xFA
- .byte 0x00, 0x28, 0x15, 0xD0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0x93, 0xFA, 0x00, 0x28
- .byte 0x0A, 0xD0, 0x20, 0x69, 0x40, 0x69, 0x01, 0x28, 0x0A, 0xD0, 0x04, 0x28, 0x08, 0xD0, 0x90, 0x35
- .byte 0x28, 0x68, 0x17, 0xF0, 0xD5, 0xF8, 0x03, 0xE0, 0x90, 0x35, 0x28, 0x68, 0x17, 0xF0, 0xD0, 0xF8
- .byte 0x30, 0x1C, 0x04, 0xF0, 0xEF, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x31, 0xE0, 0x21, 0x69
- .byte 0x28, 0x1C, 0x01, 0xF2, 0xB7, 0xFD, 0x30, 0x1C, 0x04, 0xF0, 0x28, 0xFA, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x26, 0xE0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xAD, 0xFA, 0x00, 0x28
- .byte 0x0C, 0xD0, 0x21, 0x69, 0x2A, 0x1C, 0x90, 0x32, 0x49, 0x69, 0x12, 0x68, 0x28, 0x1C, 0x17, 0xF0
- .byte 0x79, 0xF9, 0x28, 0x1C, 0x90, 0x35, 0x29, 0x68, 0x17, 0xF0, 0xAC, 0xF9, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xCF, 0xF9, 0x00, 0x28
- .byte 0x07, 0xD0, 0x68, 0x6B, 0x11, 0xF0, 0xD4, 0xFD, 0x20, 0x1C, 0xFF, 0xF7, 0xCB, 0xFE, 0x01, 0x20
- .byte 0x70, 0xBD
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046AEE:
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046AFE:
+ ldr r0, [r4, #0x10]
+ add r1, r5, #0x0
+ bl FUN_020465E4
+ mov r1, #0x4d
+ ldr r2, [r4, #0x10]
+ lsl r1, r1, #0x2
+ ldr r1, [r2, r1]
+ ldr r2, [r2, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02061080
+ ldr r0, [r4, #0x10]
+ ldr r0, [r0, #0x14]
+ bl FUN_020480B8
+ cmp r0, #0x0
+ bne _02046B3E
+ add r0, r4, #0x0
+ bl FUN_020469A4
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+ ldr r1, _02046C18 ; =FUN_0204837C
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_020463EC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02046B3E:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x0
+ beq _02046B56
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_02085140
+_02046B56:
+ ldr r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020472F4
+ ldr r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020473CC
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E128
+ cmp r0, #0x0
+ beq _02046BA0
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E0A4
+ cmp r0, #0x0
+ beq _02046B98
+ ldr r0, [r4, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x1
+ beq _02046BA0
+ cmp r0, #0x4
+ beq _02046BA0
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+ b _02046BA0
+_02046B98:
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+_02046BA0:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046BAE:
+ ldr r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02248724
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046BC4:
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E128
+ cmp r0, #0x0
+ beq _02046BEC
+ ldr r1, [r4, #0x10]
+ add r2, r5, #0x0
+ add r2, #0x90
+ ldr r1, [r1, #0x14]
+ ldr r2, [r2, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0205DED4
+ add r0, r5, #0x0
+ add r5, #0x90
+ ldr r1, [r5, #0x0]
+ bl FUN_0205DF44
+_02046BEC:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046BF4:
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205DF9C
+ cmp r0, #0x0
+ beq _02046C12
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_020469A4
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02046C12:
mov r0, #0x0
pop {r4-r6, pc}
nop
-_02046C18:
- .byte 0x7D, 0x83, 0x04, 0x02
+_02046C18: .word FUN_0204837C + 1
thumb_func_start FUN_02046C1C
FUN_02046C1C: ; 0x02046C1C
@@ -134341,14 +149295,16 @@ _02046C4C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r2, r6, #0
- lsl r0, r0, #0x1
- lsl r0, r2, #0x1
- lsl r4, r6, #0x2
- lsl r2, r0, #0x3
- lsl r6, r2, #0x3
- lsl r2, r7, #0x4
+_02046C58: ; jump table (using 16-bit offset)
+ .short _02046C68 - _02046C58 - 2; case 0
+ .short _02046C8C - _02046C58 - 2; case 1
+ .short _02046C9A - _02046C58 - 2; case 2
+ .short _02046CAA - _02046C58 - 2; case 3
+ .short _02046D0E - _02046C58 - 2; case 4
+ .short _02046D1C - _02046C58 - 2; case 5
+ .short _02046D30 - _02046C58 - 2; case 6
+ .short _02046D94 - _02046C58 - 2; case 7
+_02046C68:
ldr r0, [r6, #0x34]
bl FUN_02058780
ldr r0, [r6, #0xc]
@@ -134364,32 +149320,141 @@ _02046C4C:
str r0, [r4, #0x0]
b _02046DA0
_02046C8C:
- .byte 0x38, 0x1C, 0x04, 0xF0
- .byte 0x55, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x82, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7
- .byte 0x71, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x7A, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7
- .byte 0x99, 0xFC, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x0C, 0xD1, 0xF0, 0x68, 0xDB, 0xF7, 0x22, 0xFC
- .byte 0x01, 0x90, 0x28, 0x69, 0x00, 0x21, 0x80, 0x68, 0x24, 0xF0, 0x72, 0xFE, 0x01, 0x1C, 0x01, 0x98
- .byte 0x1A, 0xF0, 0x86, 0xF9, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0x0C, 0xFB, 0x00, 0x98, 0x00, 0x88
- .byte 0x00, 0x28, 0x0C, 0xD1, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x08, 0xD0, 0xF0, 0x68, 0xEE, 0xF7
- .byte 0x9F, 0xF8, 0xEE, 0xF7, 0x6D, 0xF8, 0x01, 0x1C, 0x38, 0x1C, 0x02, 0xF0, 0x31, 0xFA, 0x29, 0x69
- .byte 0x30, 0x1C, 0x00, 0xF0, 0x63, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x38, 0x1C
- .byte 0x04, 0xF0, 0x38, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x41, 0xE0, 0x70, 0x6B, 0x11, 0xF0
- .byte 0x47, 0xFD, 0x38, 0x1C, 0x04, 0xF0, 0x72, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x37, 0xE0
- .byte 0x00, 0x98, 0x00, 0x88, 0x00, 0x28, 0x11, 0xD1, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x06, 0xD1
- .byte 0x00, 0x22, 0x19, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xC6, 0xFF, 0x1E, 0xE0, 0x00, 0x22
- .byte 0x16, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xBF, 0xFF, 0x17, 0xE0, 0xF0, 0x68, 0xDB, 0xF7
- .byte 0xD7, 0xFB, 0x02, 0x90, 0xF0, 0x68, 0x24, 0xF0, 0xD9, 0xFE, 0x05, 0x1C, 0x02, 0x98, 0x24, 0xF0
- .byte 0xE1, 0xFA, 0x12, 0x28, 0x0A, 0xD1, 0x28, 0x1C, 0x24, 0xF0, 0x18, 0xFE, 0x06, 0x28, 0x05, 0xD1
- .byte 0x00, 0x22, 0x0B, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xA6, 0xFF, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x05, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x0F, 0xFC, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD
+ add r0, r7, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046C9A:
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046CAA:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_020465E4
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x4
+ bne _02046CD4
+ ldr r0, [r6, #0xc]
+ bl FUN_02022504
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x10]
+ mov r1, #0x0
+ ldr r0, [r0, #0x8]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_02060FE0
+_02046CD4:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020472F4
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02046CFE
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x4
+ beq _02046CFE
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02049160
+_02046CFE:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020473CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D0E:
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D1C:
+ ldr r0, [r6, #0x34]
+ bl FUN_020587B0
+ add r0, r7, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D30:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02046D5C
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x4
+ bne _02046D4E
+ mov r2, #0x0
+ ldr r1, _02046DA8 ; =0x00002262
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _02046D8C
+_02046D4E:
+ mov r2, #0x0
+ ldr r1, _02046DAC ; =0x00002269
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _02046D8C
+_02046D5C:
+ ldr r0, [r6, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x8]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_0206B334
+ cmp r0, #0x12
+ bne _02046D8C
+ add r0, r5, #0x0
+ bl FUN_0206B9AC
+ cmp r0, #0x6
+ bne _02046D8C
+ mov r2, #0x0
+ ldr r1, _02046DB0 ; =0x00002276
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+_02046D8C:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D94:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
_02046DA0:
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
nop
-_02046DA8:
- .byte 0x62, 0x22, 0x00, 0x00, 0x69, 0x22, 0x00, 0x00
- .byte 0x76, 0x22, 0x00, 0x00
+_02046DA8: .word 0x00002262
+_02046DAC: .word 0x00002269
+_02046DB0: .word 0x00002276
thumb_func_start FUN_02046DB4
FUN_02046DB4: ; 0x02046DB4
@@ -134507,13 +149572,15 @@ FUN_02046E8C: ; 0x02046E8C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r0, r6, #0
- lsl r6, r7, #0
- lsl r6, r1, #0x1
- lsl r6, r5, #0x1
- lsl r4, r7, #0x1
- lsl r0, r2, #0x2
+_02046EB8: ; jump table (using 16-bit offset)
+ .short _02046EC6 - _02046EB8 - 2; case 0
+ .short _02046EEA - _02046EB8 - 2; case 1
+ .short _02046EF8 - _02046EB8 - 2; case 2
+ .short _02046F08 - _02046EB8 - 2; case 3
+ .short _02046F28 - _02046EB8 - 2; case 4
+ .short _02046F36 - _02046EB8 - 2; case 5
+ .short _02046F4A - _02046EB8 - 2; case 6
+_02046EC6:
ldr r0, [r6, #0x34]
bl FUN_02058780
ldr r0, [r6, #0xc]
@@ -134529,15 +149596,66 @@ FUN_02046E8C: ; 0x02046E8C
str r0, [r4, #0x0]
b _02046F6C
_02046EEA:
- .byte 0x38, 0x1C, 0x04, 0xF0, 0x26, 0xF8
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x39, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7, 0x42, 0xFB
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x31, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7, 0x6A, 0xFB
- .byte 0x29, 0x69, 0x30, 0x1C, 0x04, 0xF0, 0xC4, 0xFD, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0xEA, 0xF9
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x21, 0xE0, 0x38, 0x1C, 0x04, 0xF0, 0x2B, 0xF8, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x1A, 0xE0, 0x70, 0x6B, 0x11, 0xF0, 0x3A, 0xFC, 0x38, 0x1C, 0x04, 0xF0
- .byte 0x65, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x10, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x34, 0xFB
- .byte 0x30, 0x1C, 0x04, 0xF0, 0xAD, 0xFD, 0x00, 0x28, 0x06, 0xD1, 0x38, 0x1C, 0x03, 0x21, 0x00, 0x22
- .byte 0xF1, 0xF7, 0xD6, 0xFE, 0x00, 0x20, 0xF8, 0xBD, 0x01, 0x20, 0xF8, 0xBD
+ add r0, r7, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046EF8:
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F08:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_020465E4
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_0204BAA0
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020472F4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F28:
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F36:
+ ldr r0, [r6, #0x34]
+ bl FUN_020587B0
+ add r0, r7, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F4A:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ add r0, r6, #0x0
+ bl FUN_0204BAB0
+ cmp r0, #0x0
+ bne _02046F68
+ add r0, r7, #0x0
+ mov r1, #0x3
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02046F68:
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02046F6C:
mov r0, #0x0
pop {r3-r7, pc}
@@ -134630,13 +149748,15 @@ FUN_02047004: ; 0x02047004
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r4, r4, #0
- lsl r2, r6, #0
- lsl r2, r0, #0x1
- lsl r0, r1, #0x1
- lsl r6, r2, #0x1
- lsl r2, r5, #0x1
+_02047030: ; jump table (using 16-bit offset)
+ .short _0204703E - _02047030 - 2; case 0
+ .short _02047056 - _02047030 - 2; case 1
+ .short _02047064 - _02047030 - 2; case 2
+ .short _02047074 - _02047030 - 2; case 3
+ .short _0204707A - _02047030 - 2; case 4
+ .short _02047088 - _02047030 - 2; case 5
+ .short _0204709C - _02047030 - 2; case 6
+_0204703E:
ldr r0, [r7, #0x34]
bl FUN_02058780
ldr r1, [r6, #0x4]
@@ -134648,12 +149768,45 @@ FUN_02047004: ; 0x02047004
str r0, [r4, #0x0]
b _020470A6
_02047056:
- .byte 0x28, 0x1C, 0x03, 0xF0, 0x70, 0xFF, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x20, 0xE0, 0x31, 0x69, 0x28, 0x1C, 0xFF, 0xF7, 0x8C, 0xFA, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x18, 0xE0, 0x40, 0x1C, 0x20, 0x60, 0x15, 0xE0, 0x28, 0x1C, 0x03, 0xF0, 0x82, 0xFF
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x78, 0x6B, 0x11, 0xF0, 0x91, 0xFB, 0x28, 0x1C
- .byte 0x03, 0xF0, 0xBC, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x30, 0x1C, 0xFF, 0xF7
- .byte 0x8B, 0xFA, 0x01, 0x20, 0xF8, 0xBD
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047064:
+ ldr r1, [r6, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047074:
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_0204707A:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047088:
+ ldr r0, [r7, #0x34]
+ bl FUN_020587B0
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_0204709C:
+ add r0, r6, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
_020470A6:
mov r0, #0x0
pop {r3-r7, pc}
@@ -135301,50 +150454,96 @@ FUN_020475C0: ; 0x020475C0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0x1
- lsl r2, r7, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r2, r5, #0x1
- lsl r6, r5, #0x1
- lsl r2, r6, #0x1
- lsl r6, r6, #0x1
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r2, r0, #0x2
- lsl r6, r0, #0x2
- lsl r2, r1, #0x1
- lsl r6, r1, #0x1
- lsl r2, r2, #0x1
- lsl r6, r2, #0x1
- lsl r2, r3, #0x1
- lsl r2, r4, #0x1
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r6, r7, #0x1
- lsl r2, r0, #0x2
- lsl r2, r0, #0x2
- lsl r6, r0, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r4, r1, #0x2
- lsl r2, r1, #0x2
+_020475D4: ; jump table (using 16-bit offset)
+ .short _0204761C - _020475D4 - 2; case 0
+ .short _02047650 - _020475D4 - 2; case 1
+ .short _02047634 - _020475D4 - 2; case 2
+ .short _0204763C - _020475D4 - 2; case 3
+ .short _02047640 - _020475D4 - 2; case 4
+ .short _02047644 - _020475D4 - 2; case 5
+ .short _02047648 - _020475D4 - 2; case 6
+ .short _0204764C - _020475D4 - 2; case 7
+ .short _02047662 - _020475D4 - 2; case 8
+ .short _02047662 - _020475D4 - 2; case 9
+ .short _02047658 - _020475D4 - 2; case 10
+ .short _0204765C - _020475D4 - 2; case 11
+ .short _02047620 - _020475D4 - 2; case 12
+ .short _02047624 - _020475D4 - 2; case 13
+ .short _02047628 - _020475D4 - 2; case 14
+ .short _0204762C - _020475D4 - 2; case 15
+ .short _02047630 - _020475D4 - 2; case 16
+ .short _02047638 - _020475D4 - 2; case 17
+ .short _02047662 - _020475D4 - 2; case 18
+ .short _02047662 - _020475D4 - 2; case 19
+ .short _02047662 - _020475D4 - 2; case 20
+ .short _02047662 - _020475D4 - 2; case 21
+ .short _02047662 - _020475D4 - 2; case 22
+ .short _02047662 - _020475D4 - 2; case 23
+ .short _02047654 - _020475D4 - 2; case 24
+ .short _02047658 - _020475D4 - 2; case 25
+ .short _02047658 - _020475D4 - 2; case 26
+ .short _0204765C - _020475D4 - 2; case 27
+ .short _02047662 - _020475D4 - 2; case 28
+ .short _02047662 - _020475D4 - 2; case 29
+ .short _02047662 - _020475D4 - 2; case 30
+ .short _02047662 - _020475D4 - 2; case 31
+ .short _02047662 - _020475D4 - 2; case 32
+ .short _02047662 - _020475D4 - 2; case 33
+ .short _02047662 - _020475D4 - 2; case 34
+ .short _02047660 - _020475D4 - 2; case 35
+_0204761C:
mov r1, #0x0
b _02047662
_02047620:
- .byte 0x01, 0x21, 0x1E, 0xE0, 0x02, 0x21, 0x1C, 0xE0, 0x03, 0x21, 0x1A, 0xE0, 0x04, 0x21, 0x18, 0xE0
- .byte 0x05, 0x21, 0x16, 0xE0, 0x06, 0x21, 0x14, 0xE0, 0x07, 0x21, 0x12, 0xE0, 0x08, 0x21, 0x10, 0xE0
- .byte 0x09, 0x21, 0x0E, 0xE0, 0x0A, 0x21, 0x0C, 0xE0, 0x0B, 0x21, 0x0A, 0xE0, 0x0C, 0x21, 0x08, 0xE0
- .byte 0x0D, 0x21, 0x06, 0xE0, 0x17, 0x21, 0x04, 0xE0, 0x16, 0x21, 0x02, 0xE0, 0x15, 0x21, 0x00, 0xE0
- .byte 0x1C, 0x21
+ mov r1, #0x1
+ b _02047662
+_02047624:
+ mov r1, #0x2
+ b _02047662
+_02047628:
+ mov r1, #0x3
+ b _02047662
+_0204762C:
+ mov r1, #0x4
+ b _02047662
+_02047630:
+ mov r1, #0x5
+ b _02047662
+_02047634:
+ mov r1, #0x6
+ b _02047662
+_02047638:
+ mov r1, #0x7
+ b _02047662
+_0204763C:
+ mov r1, #0x8
+ b _02047662
+_02047640:
+ mov r1, #0x9
+ b _02047662
+_02047644:
+ mov r1, #0xa
+ b _02047662
+_02047648:
+ mov r1, #0xb
+ b _02047662
+_0204764C:
+ mov r1, #0xc
+ b _02047662
+_02047650:
+ mov r1, #0xd
+ b _02047662
+_02047654:
+ mov r1, #0x17
+ b _02047662
+_02047658:
+ mov r1, #0x16
+ b _02047662
+_0204765C:
+ mov r1, #0x15
+ b _02047662
+_02047660:
+ mov r1, #0x1c
_02047662:
add r0, r1, #0x0
bx lr
@@ -135368,27 +150567,42 @@ FUN_02047668: ; 0x02047668
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r4, #0
- lsl r4, r5, #0
- lsl r0, r5, #0
- lsl r4, r5, #0
- lsl r0, r6, #0
- lsl r0, r6, #0
- lsl r4, r4, #0
- lsl r4, r4, #0
- lsl r4, r4, #0
- lsl r0, r4, #0
- lsl r6, r6, #0
- lsl r6, r6, #0
- lsl r4, r4, #0
- lsl r4, r3, #0
- lsl r4, r6, #0
+_0204768C: ; jump table (using 16-bit offset)
+ .short _020476B2 - _0204768C - 2; case 0
+ .short _020476BA - _0204768C - 2; case 1
+ .short _020476B6 - _0204768C - 2; case 2
+ .short _020476BA - _0204768C - 2; case 3
+ .short _020476BE - _0204768C - 2; case 4
+ .short _020476BE - _0204768C - 2; case 5
+ .short _020476B2 - _0204768C - 2; case 6
+ .short _020476B2 - _0204768C - 2; case 7
+ .short _020476B2 - _0204768C - 2; case 8
+ .short _020476AE - _0204768C - 2; case 9
+ .short _020476C4 - _0204768C - 2; case 10
+ .short _020476C4 - _0204768C - 2; case 11
+ .short _020476B2 - _0204768C - 2; case 12
+ .short _020476AA - _0204768C - 2; case 13
+ .short _020476C2 - _0204768C - 2; case 14
+_020476AA:
mov r4, #0xe
b _020476C4
_020476AE:
- .byte 0x14, 0x24
- .byte 0x08, 0xE0, 0x13, 0x24, 0x06, 0xE0, 0x11, 0x24, 0x04, 0xE0, 0x10, 0x24, 0x02, 0xE0, 0x0F, 0x24
- .byte 0x00, 0xE0, 0x12, 0x24
+ mov r4, #0x14
+ b _020476C4
+_020476B2:
+ mov r4, #0x13
+ b _020476C4
+_020476B6:
+ mov r4, #0x11
+ b _020476C4
+_020476BA:
+ mov r4, #0x10
+ b _020476C4
+_020476BE:
+ mov r4, #0xf
+ b _020476C4
+_020476C2:
+ mov r4, #0x12
_020476C4:
add r0, r4, #0x0
pop {r4, pc}
@@ -136764,11 +151978,13 @@ FUN_02048214: ; 0x02048214
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r6, r4, #0
- lsl r6, r6, #0
- lsl r6, r4, #0x1
- lsl r0, r0, #0x2
+_02048230: ; jump table (using 16-bit offset)
+ .short _0204823A - _02048230 - 2; case 0
+ .short _02048258 - _02048230 - 2; case 1
+ .short _02048268 - _02048230 - 2; case 2
+ .short _02048298 - _02048230 - 2; case 3
+ .short _020482B2 - _02048230 - 2; case 4
+_0204823A:
mov r0, #0x8
str r0, [sp, #0x0]
mov r1, #0x1
@@ -136784,22 +152000,78 @@ FUN_02048214: ; 0x02048214
str r0, [r4, #0x0]
b _020482EA
_02048258:
- .byte 0xC6, 0xF7, 0x56, 0xF8, 0x00, 0x28, 0x44, 0xD0
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x40, 0xE0, 0x21, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42
- .byte 0x02, 0xD1, 0x02, 0x20, 0x08, 0x42, 0x38, 0xD0, 0x08, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90
- .byte 0x20, 0x20, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0xC5, 0xF7, 0xA0, 0xFF
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0, 0xC6, 0xF7, 0x36, 0xF8, 0x00, 0x28, 0x24, 0xD0
- .byte 0x20, 0x1C, 0x0C, 0x30, 0x00, 0x21, 0xD1, 0xF7, 0xBB, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x1B, 0xE0, 0x20, 0x1C, 0x0C, 0x30, 0x00, 0x21, 0xC4, 0xF7, 0x12, 0xFF, 0x20, 0x1C, 0x0C, 0x30
- .byte 0xD0, 0xF7, 0x5A, 0xFF, 0x20, 0x6A, 0xC2, 0xF7, 0x27, 0xFC, 0xE0, 0x69, 0xC2, 0xF7, 0xF4, 0xFA
- .byte 0xA0, 0x68, 0x03, 0x21, 0xCF, 0xF7, 0xE4, 0xFA, 0xA0, 0x68, 0xCE, 0xF7, 0x9D, 0xFB, 0x20, 0x1C
- .byte 0xCE, 0xF7, 0x9A, 0xFB, 0x03, 0xB0, 0x01, 0x20, 0x18, 0xBD
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020482EA
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_02048268:
+ ldr r0, _020482F0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ bne _02048278
+ mov r0, #0x2
+ tst r0, r1
+ beq _020482EA
+_02048278:
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_02048298:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020482EA
+ add r0, r4, #0x0
+ add r0, #0xc
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_020482B2:
+ add r0, r4, #0x0
+ add r0, #0xc
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_02019178
+ ldr r0, [r4, #0x20]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x1c]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x8]
+ mov r1, #0x3
+ bl FUN_020178A0
+ ldr r0, [r4, #0x8]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r4, pc}
_020482EA:
mov r0, #0x0
add sp, #0xc
pop {r3-r4, pc}
-_020482F0:
- .byte 0xB8, 0x48, 0x1C, 0x02
+ .balign 4
+_020482F0: .word 0x021C48B8
thumb_func_start FUN_020482F4
FUN_020482F4: ; 0x020482F4
@@ -136882,13 +152154,15 @@ FUN_0204837C: ; 0x0204837C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r4, r0, #0x1
- lsl r4, r2, #0x1
- lsl r0, r5, #0x1
- lsl r0, r2, #0x2
- lsl r6, r3, #0x2
- lsl r6, r3, #0x3
+_020483A2: ; jump table (using 16-bit offset)
+ .short _020483B0 - _020483A2 - 2; case 0
+ .short _020483E8 - _020483A2 - 2; case 1
+ .short _020483F8 - _020483A2 - 2; case 2
+ .short _0204840C - _020483A2 - 2; case 3
+ .short _02048434 - _020483A2 - 2; case 4
+ .short _02048442 - _020483A2 - 2; case 5
+ .short _02048482 - _020483A2 - 2; case 6
+_020483B0:
ldr r0, [r6, #0xc]
bl FUN_02034E30
add r7, r0, #0x0
@@ -136911,24 +152185,87 @@ FUN_0204837C: ; 0x0204837C
str r0, [r4, #0x0]
b _02048488
_020483E8:
- .byte 0x00, 0x20, 0x14, 0x21, 0xBC, 0xF7, 0xEE, 0xFF
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x47, 0xE0, 0xBD, 0xF7, 0x04, 0xF8, 0x00, 0x28, 0x43, 0xD1
- .byte 0x02, 0xF0, 0x84, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x3D, 0xE0, 0x0F, 0x20, 0xC0, 0x43
- .byte 0x37, 0x21, 0x01, 0x22, 0xC1, 0xF7, 0x2E, 0xFF, 0x0F, 0x20, 0xC0, 0x43, 0x3F, 0x21, 0x02, 0x22
- .byte 0xC1, 0xF7, 0x28, 0xFF, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0x9C, 0xFE, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x29, 0xE0, 0x28, 0x1C, 0x02, 0xF0, 0xA5, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x22, 0xE0, 0x00, 0x20, 0x3F, 0x21, 0x03, 0x22, 0xC1, 0xF7, 0x14, 0xFF, 0xEC, 0xF7, 0x1E, 0xFD
- .byte 0x07, 0x1C, 0xF0, 0x68, 0xEC, 0xF7, 0xEC, 0xFC, 0xEC, 0xF7, 0xD0, 0xFC, 0x87, 0x42, 0x06, 0xD1
- .byte 0x00, 0x22, 0x0B, 0x49, 0x28, 0x1C, 0x13, 0x1C, 0xF0, 0xF7, 0x36, 0xFC, 0x05, 0xE0, 0x00, 0x22
- .byte 0x08, 0x49, 0x28, 0x1C, 0x13, 0x1C, 0xF0, 0xF7, 0x2F, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x02, 0xE0, 0x06, 0xB0, 0x01, 0x20, 0xF8, 0xBD
+ mov r0, #0x0
+ mov r1, #0x14
+ bl FUN_020053CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_020483F8:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02048488
+ bl FUN_0204AB0C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_0204840C:
+ mov r0, #0xf
+ mvn r0, r0
+ mov r1, #0x37
+ mov r2, #0x1
+ bl FUN_0200A274
+ mov r0, #0xf
+ mvn r0, r0
+ mov r1, #0x3f
+ mov r2, #0x2
+ bl FUN_0200A274
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02048164
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_02048434:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_02048442:
+ mov r0, #0x0
+ mov r1, #0x3f
+ mov r2, #0x3
+ bl FUN_0200A274
+ bl FUN_02034E8C
+ add r7, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DFC
+ cmp r7, r0
+ bne _0204846E
+ mov r2, #0x0
+ ldr r1, _02048490 ; =0x000007E4
+ add r0, r5, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _0204847A
+_0204846E:
+ mov r2, #0x0
+ ldr r1, _02048494 ; =0x000007E5
+ add r0, r5, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+_0204847A:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_02048482:
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02048488:
mov r0, #0x0
add sp, #0x18
pop {r3-r7, pc}
nop
-_02048490:
- .byte 0xE4, 0x07, 0x00, 0x00, 0xE5, 0x07, 0x00, 0x00
+_02048490: .word 0x000007E4
+_02048494: .word 0x000007E5
thumb_func_start FUN_02048498
FUN_02048498: ; 0x02048498
@@ -137000,16 +152337,18 @@ FUN_020484F8: ; 0x020484F8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r2, #0
- lsl r2, r4, #0
- lsl r6, r3, #0x1
- lsl r6, r0, #0x2
- lsl r0, r3, #0x2
- lsl r6, r1, #0x3
- lsl r2, r5, #0x3
- lsl r4, r7, #0x3
- lsl r4, r3, #0x4
- lsl r6, r7, #0x4
+_02048526: ; jump table (using 16-bit offset)
+ .short _0204853A - _02048526 - 2; case 0
+ .short _0204854A - _02048526 - 2; case 1
+ .short _02048586 - _02048526 - 2; case 2
+ .short _020485AE - _02048526 - 2; case 3
+ .short _020485C0 - _02048526 - 2; case 4
+ .short _020485F6 - _02048526 - 2; case 5
+ .short _02048612 - _02048526 - 2; case 6
+ .short _02048624 - _02048526 - 2; case 7
+ .short _02048644 - _02048526 - 2; case 8
+ .short _02048666 - _02048526 - 2; case 9
+_0204853A:
add r0, r6, #0x0
add r1, r5, #0x4
bl FUN_02038814
@@ -137018,38 +152357,158 @@ FUN_020484F8: ; 0x020484F8
str r0, [r4, #0x0]
b _02048688
_0204854A:
- .byte 0x30, 0x1C, 0xFD, 0xF7, 0x96, 0xFF
- .byte 0x00, 0x28, 0x00, 0xD0
+ add r0, r6, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02048556
_02048554:
b _02048688
_02048556:
- .byte 0x04, 0x21, 0x03, 0x20, 0xCA, 0x03, 0xCE, 0xF7, 0x5E, 0xF9
- .byte 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0, 0xFE, 0xF8, 0x08, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91
- .byte 0x20, 0x20, 0x02, 0x90, 0x03, 0x20, 0x0A, 0x1C, 0x00, 0x23, 0xC5, 0xF7, 0x29, 0xFE, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x80, 0xE0, 0xC5, 0xF7, 0xBF, 0xFE, 0x00, 0x28, 0x7C, 0xD0, 0xF0, 0x68
- .byte 0xDA, 0xF7, 0x3C, 0xF9, 0x00, 0x28, 0x07, 0xD1, 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0, 0x22, 0xF9
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x6F, 0xE0, 0x07, 0x20, 0x20, 0x60, 0x6C, 0xE0, 0x28, 0x1C
- .byte 0x00, 0xF0, 0x42, 0xF9, 0x00, 0x28, 0x67, 0xD0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x63, 0xE0
- .byte 0xF0, 0x68, 0x23, 0xF0, 0xAB, 0xFA, 0x3C, 0xF0, 0xBB, 0xFD, 0xDA, 0xF7, 0x31, 0xF9, 0xF0, 0x68
- .byte 0xDA, 0xF7, 0xA6, 0xF8, 0x07, 0x1C, 0x29, 0x68, 0x30, 0x1C, 0xFF, 0xF7, 0x65, 0xFF, 0x28, 0x1C
- .byte 0x00, 0xF0, 0x32, 0xF9, 0x30, 0x1C, 0x29, 0x1C, 0x3A, 0x1C, 0x00, 0xF0, 0x3B, 0xF9, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x28, 0x1C, 0x00, 0xF0, 0x1E, 0xF9, 0x00, 0x28, 0x43, 0xD0
- .byte 0x23, 0x48, 0xBC, 0xF7, 0x61, 0xFF, 0x12, 0x20, 0xA8, 0x63, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x3A, 0xE0, 0xA9, 0x6B, 0x00, 0x29, 0x02, 0xD0, 0x48, 0x1E, 0xA8, 0x63, 0x34, 0xE0, 0x40, 0x1C
- .byte 0x20, 0x60, 0x31, 0xE0, 0x08, 0x20, 0x00, 0x90, 0x00, 0x21, 0x01, 0x20, 0x01, 0x90, 0x20, 0x20
- .byte 0x02, 0x90, 0x03, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0xC5, 0xF7, 0xCA, 0xFD, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x21, 0xE0, 0xC5, 0xF7, 0x60, 0xFE, 0x00, 0x28, 0x1D, 0xD0, 0x30, 0x1C, 0x29, 0x1C
- .byte 0x00, 0xF0, 0x40, 0xF9, 0x10, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xF0, 0xF7, 0xFB, 0xF8, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x10, 0xE0, 0x30, 0x1C, 0xFD, 0xF7, 0x08, 0xFF, 0x00, 0x28, 0x0B, 0xD1
- .byte 0x28, 0x1C, 0xCE, 0xF7, 0xD1, 0xF9, 0x04, 0x20, 0xCE, 0xF7, 0x2A, 0xF9, 0x00, 0x20, 0x84, 0xF0
- .byte 0x9A, 0xEE, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD
+ mov r1, #0x4
+ mov r0, #0x3
+ lsl r2, r1, #0xf
+ bl FUN_0201681C
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02048764
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ add r2, r1, #0x0
+ mov r3, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048586:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02048688
+ ldr r0, [r6, #0xc]
+ bl FUN_0202280C
+ cmp r0, #0x0
+ bne _020485A8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_020487E4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_020485A8:
+ mov r0, #0x7
+ str r0, [r4, #0x0]
+ b _02048688
+_020485AE:
+ add r0, r5, #0x0
+ bl FUN_02048838
+ cmp r0, #0x0
+ beq _02048688
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_020485C0:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_02085140
+ bl FUN_02022830
+ ldr r0, [r6, #0xc]
+ bl FUN_02022720
+ add r7, r0, #0x0
+ ldr r1, [r5, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020484A8
+ add r0, r5, #0x0
+ bl FUN_02048848
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_02048864
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_020485F6:
+ add r0, r5, #0x0
+ bl FUN_02048838
+ cmp r0, #0x0
+ beq _02048688
+ ldr r0, _02048690 ; =0x0000061B
+ bl FUN_020054C8
+ mov r0, #0x12
+ str r0, [r5, #0x38]
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048612:
+ ldr r1, [r5, #0x38]
+ cmp r1, #0x0
+ beq _0204861E
+ sub r0, r1, #0x1
+ str r0, [r5, #0x38]
+ b _02048688
+_0204861E:
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048624:
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r1, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048644:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02048688
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_020488D4
+ add r5, #0x10
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02038854
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048666:
+ add r0, r6, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02048688
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x4
+ bl FUN_020168D0
+ mov r0, #0x0
+ blx FUN_020CD3B4
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
_02048688:
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
nop
-_02048690:
- .byte 0x1B, 0x06, 0x00, 0x00
+_02048690: .word 0x0000061B
thumb_func_start FUN_02048694
FUN_02048694: ; 0x02048694
@@ -137341,16 +152800,18 @@ FUN_02048904: ; 0x02048904
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
+_02048920: ; jump table (using 16-bit offset)
+ .short _02048932 - _02048920 - 2; case 0
+ .short _02048932 - _02048920 - 2; case 1
+ .short _02048932 - _02048920 - 2; case 2
+ .short _02048932 - _02048920 - 2; case 3
+ .short _02048932 - _02048920 - 2; case 4
+ .short _02048932 - _02048920 - 2; case 5
_0204892C:
ldr r2, _02048954 ; =0x000001ED
cmp r1, r2
bne _02048936
+_02048932:
mov r2, #0x1
b _02048938
_02048936:
@@ -137935,11 +153396,13 @@ FUN_02048DAC: ; 0x02048DAC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r6, r6, #0
- lsl r2, r1, #0x3
- lsl r6, r2, #0x3
- lsl r2, r3, #0x3
+_02048DD8: ; jump table (using 16-bit offset)
+ .short _02048DE2 - _02048DD8 - 2; case 0
+ .short _02048E10 - _02048DD8 - 2; case 1
+ .short _02048EA4 - _02048DD8 - 2; case 2
+ .short _02048EB0 - _02048DD8 - 2; case 3
+ .short _02048EB4 - _02048DD8 - 2; case 4
+_02048DE2:
ldr r0, [r4, #0xc]
bl FUN_02025B94
add r0, r6, #0x0
@@ -138018,9 +153481,21 @@ _02048E92:
str r0, [r5, #0x0]
b _02048EC2
_02048EA4:
- .byte 0x38, 0x1C, 0x02, 0xF0, 0x1F, 0xF9, 0x03, 0x20, 0x28, 0x60, 0x08, 0xE0
- .byte 0x01, 0x20, 0xF8, 0xBD, 0x20, 0x1C, 0xFD, 0xF7, 0xE1, 0xFA, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x20
- .byte 0x28, 0x60
+ add r0, r7, #0x0
+ bl FUN_0204B0E8
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02048EC2
+_02048EB0:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02048EB4:
+ add r0, r4, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02048EC2
+ mov r0, #0x1
+ str r0, [r5, #0x0]
_02048EC2:
mov r0, #0x0
pop {r3-r7, pc}
@@ -138061,12 +153536,14 @@ FUN_02048EDC: ; 0x02048EDC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r2, r0, #0x1
- lsl r4, r5, #0x1
- lsl r0, r1, #0x2
- lsl r4, r3, #0x2
- lsl r0, r5, #0x2
+_02048F10: ; jump table (using 16-bit offset)
+ .short _02048F1C - _02048F10 - 2; case 0
+ .short _02048F54 - _02048F10 - 2; case 1
+ .short _02048F7E - _02048F10 - 2; case 2
+ .short _02048F9A - _02048F10 - 2; case 3
+ .short _02048FAE - _02048F10 - 2; case 4
+ .short _02048FBA - _02048F10 - 2; case 5
+_02048F1C:
mov r0, #0x0
add r1, r0, #0x0
bl FUN_0200E3A0
@@ -138090,14 +153567,56 @@ FUN_02048EDC: ; 0x02048EDC
str r0, [r5, #0x0]
b _02048FC4
_02048F54:
- .byte 0x20, 0x1C, 0x31, 0x1D, 0xFF, 0xF7, 0xFE, 0xFC, 0x20, 0x1C, 0xFF, 0xF7
- .byte 0x17, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0xFF, 0xF7, 0x49, 0xFD, 0x20, 0x1C, 0xFF, 0xF7, 0xBA, 0xFD
- .byte 0x20, 0x1C, 0xFF, 0xF7, 0x85, 0xFE, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x22, 0xE0, 0x20, 0x1C
- .byte 0x09, 0xF0, 0x94, 0xF8, 0xA0, 0x67, 0x09, 0xF0, 0xAF, 0xFF, 0xE0, 0x67, 0x38, 0x1C, 0x01, 0xF0
- .byte 0xF9, 0xFF, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x14, 0xE0, 0x00, 0x21, 0x31, 0x60, 0x20, 0x1C
- .byte 0x32, 0x1C, 0x9E, 0xF1, 0xD5, 0xFB, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x0A, 0xE0, 0x31, 0x68
- .byte 0x00, 0x29, 0x07, 0xD0, 0x40, 0x1C, 0x28, 0x60, 0x04, 0xE0, 0x30, 0x1C, 0xCD, 0xF7, 0x2C, 0xFD
- .byte 0x01, 0x20, 0xF8, 0xBD
+ add r0, r4, #0x0
+ add r1, r6, #0x4
+ bl FUN_02048958
+ add r0, r4, #0x0
+ bl FUN_02048B90
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020489FC
+ add r0, r4, #0x0
+ bl FUN_02048AE4
+ add r0, r4, #0x0
+ bl FUN_02048C80
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048F7E:
+ add r0, r4, #0x0
+ bl FUN_020520AC
+ str r0, [r4, #0x78]
+ bl FUN_02052EE8
+ str r0, [r4, #0x7c]
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048F9A:
+ mov r1, #0x0
+ str r1, [r6, #0x0]
+ add r0, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_021E7750
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048FAE:
+ ldr r1, [r6, #0x0]
+ cmp r1, #0x0
+ beq _02048FC4
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048FBA:
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02048FC4:
mov r0, #0x0
pop {r3-r7, pc}
@@ -138171,10 +153690,12 @@ FUN_02049038: ; 0x02049038
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r4, #0
- lsl r2, r6, #0
- lsl r0, r2, #0x1
+_0204905C: ; jump table (using 16-bit offset)
+ .short _02049064 - _0204905C - 2; case 0
+ .short _02049080 - _0204905C - 2; case 1
+ .short _02049090 - _0204905C - 2; case 2
+ .short _020490AE - _0204905C - 2; case 3
+_02049064:
ldr r0, _020490BC ; =0x00000603
bl FUN_020054C8
ldr r1, [r4, #0x4]
@@ -138187,10 +153708,30 @@ FUN_02049038: ; 0x02049038
str r0, [r4, #0x0]
b _020490B6
_02049080:
- .byte 0x28, 0x1C, 0x21, 0x1D, 0x00, 0xF0, 0x6C, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0
- .byte 0xBC, 0xF7, 0xB8, 0xF9, 0x00, 0x28, 0x0E, 0xD1, 0x61, 0x68, 0x30, 0x1C, 0x01, 0xF0, 0x76, 0xFE
- .byte 0x28, 0x1C, 0x02, 0xF0, 0x21, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7
- .byte 0xB3, 0xFC, 0x01, 0x20, 0x70, 0xBD
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020490B6
+_02049090:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _020490B6
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r5, #0x0
+ bl FUN_0204B0E8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020490B6
+_020490AE:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
_020490B6:
mov r0, #0x0
pop {r4-r6, pc}
@@ -138344,10 +153885,12 @@ FUN_020491C4: ; 0x020491C4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r3, #0
- lsl r4, r5, #0
- lsl r2, r1, #0x1
+_020491E8: ; jump table (using 16-bit offset)
+ .short _020491F0 - _020491E8 - 2; case 0
+ .short _02049206 - _020491E8 - 2; case 1
+ .short _02049216 - _020491E8 - 2; case 2
+ .short _02049234 - _020491E8 - 2; case 3
+_020491F0:
ldr r1, [r4, #0x4]
add r0, r6, #0x0
bl FUN_0204AD60
@@ -138358,10 +153901,30 @@ FUN_020491C4: ; 0x020491C4
str r0, [r4, #0x0]
b _0204923C
_02049206:
- .byte 0x28, 0x1C, 0x21, 0x1D, 0xFF, 0xF7, 0xA9, 0xFF, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0, 0xBC, 0xF7, 0xF5, 0xF8, 0x00, 0x28, 0x0E, 0xD1, 0x61, 0x68
- .byte 0x30, 0x1C, 0x01, 0xF0, 0xB3, 0xFD, 0x28, 0x1C, 0x01, 0xF0, 0xAC, 0xFE, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0xF0, 0xFB, 0x01, 0x20, 0x70, 0xBD
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204923C
+_02049216:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _0204923C
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204923C
+_02049234:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
_0204923C:
mov r0, #0x0
pop {r4-r6, pc}
@@ -138485,10 +154048,12 @@ FUN_02049304: ; 0x02049304
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r3, #0
- lsl r6, r6, #0
- lsl r2, r3, #0x1
+_0204932C: ; jump table (using 16-bit offset)
+ .short _02049334 - _0204932C - 2; case 0
+ .short _0204934A - _0204932C - 2; case 1
+ .short _02049364 - _0204932C - 2; case 2
+ .short _02049388 - _0204932C - 2; case 3
+_02049334:
ldr r1, [r5, #0x0]
add r0, r6, #0x0
bl FUN_0204AD60
@@ -138499,11 +154064,36 @@ FUN_02049304: ; 0x02049304
str r0, [r4, #0x0]
b _02049390
_0204934A:
- .byte 0xB0, 0x6B, 0x00, 0x21, 0x0C, 0xF0
- .byte 0x2B, 0xF8, 0x21, 0x1C, 0x38, 0x1C, 0x08, 0x31, 0xFF, 0xF7, 0x02, 0xFF, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x15, 0xE0, 0xBC, 0xF7, 0x4E, 0xF8, 0x00, 0x28, 0x11, 0xD1, 0x29, 0x68, 0x30, 0x1C
- .byte 0x01, 0xF0, 0x0C, 0xFD, 0x30, 0x1C, 0x1A, 0xF0, 0x17, 0xFA, 0x38, 0x1C, 0x00, 0xF0, 0x28, 0xF8
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x46, 0xFB, 0x01, 0x20, 0xF8, 0xBD
+ ldr r0, [r6, #0x38]
+ mov r1, #0x0
+ bl FUN_020553A8
+ add r1, r4, #0x0
+ add r0, r7, #0x0
+ add r1, #0x8
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049390
+_02049364:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049390
+ ldr r1, [r5, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r6, #0x0
+ bl FUN_020637A8
+ add r0, r7, #0x0
+ bl FUN_020493D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049390
+_02049388:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02049390:
mov r0, #0x0
pop {r3-r7, pc}
@@ -138691,10 +154281,12 @@ FUN_020494CC: ; 0x020494CC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r3, #0
- lsl r6, r6, #0
- lsl r2, r6, #0x1
+_020494F4: ; jump table (using 16-bit offset)
+ .short _020494FC - _020494F4 - 2; case 0
+ .short _02049512 - _020494F4 - 2; case 1
+ .short _0204952C - _020494F4 - 2; case 2
+ .short _02049568 - _020494F4 - 2; case 3
+_020494FC:
ldr r1, [r6, #0x0]
add r0, r5, #0x0
bl FUN_0204AD60
@@ -138705,12 +154297,49 @@ FUN_020494CC: ; 0x020494CC
str r0, [r4, #0x0]
b _02049570
_02049512:
- .byte 0xA8, 0x6B, 0x00, 0x21, 0x0B, 0xF0, 0x47, 0xFF, 0x21, 0x1C, 0x38, 0x1C, 0x0C, 0x31
- .byte 0xFF, 0xF7, 0x1E, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x21, 0xE0, 0xBB, 0xF7, 0x6A, 0xFF
- .byte 0x00, 0x28, 0x1D, 0xD1, 0x31, 0x68, 0x28, 0x1C, 0x01, 0xF0, 0x28, 0xFC, 0x60, 0x68, 0x02, 0x28
- .byte 0x03, 0xD1, 0x28, 0x1C, 0x1A, 0xF0, 0x3E, 0xF9, 0x07, 0xE0, 0x01, 0x28, 0x03, 0xD8, 0x28, 0x1C
- .byte 0x1A, 0xF0, 0x46, 0xF9, 0x01, 0xE0, 0xD7, 0xF7, 0x69, 0xFB, 0x38, 0x1C, 0x00, 0xF0, 0x28, 0xF8
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x56, 0xFA, 0x01, 0x20, 0xF8, 0xBD
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_020553A8
+ add r1, r4, #0x0
+ add r0, r7, #0x0
+ add r1, #0xc
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049570
+_0204952C:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049570
+ ldr r1, [r6, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204AD8C
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x2
+ bne _0204954A
+ add r0, r5, #0x0
+ bl FUN_020637C4
+ b _0204955A
+_0204954A:
+ cmp r0, #0x1
+ bhi _02049556
+ add r0, r5, #0x0
+ bl FUN_020637E0
+ b _0204955A
+_02049556:
+ bl FUN_02020C2C
+_0204955A:
+ add r0, r7, #0x0
+ bl FUN_020495B0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049570
+_02049568:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02049570:
mov r0, #0x0
pop {r3-r7, pc}
@@ -138855,13 +154484,15 @@ FUN_02049658: ; 0x02049658
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r1, #0
- lsl r6, r3, #0
- lsl r2, r7, #0
- lsl r2, r1, #0x1
- lsl r0, r5, #0x1
- lsl r4, r7, #0x1
- lsl r0, r1, #0x2
+_02049680: ; jump table (using 16-bit offset)
+ .short _0204968E - _02049680 - 2; case 0
+ .short _020496A0 - _02049680 - 2; case 1
+ .short _020496BC - _02049680 - 2; case 2
+ .short _020496CC - _02049680 - 2; case 3
+ .short _020496EA - _02049680 - 2; case 4
+ .short _020496FE - _02049680 - 2; case 5
+ .short _0204970A - _02049680 - 2; case 6
+_0204968E:
add r0, r7, #0x0
mov r1, #0x1
add r2, r4, #0x4
@@ -138871,14 +154502,60 @@ FUN_02049658: ; 0x02049658
str r0, [r4, #0x0]
b _02049712
_020496A0:
- .byte 0x60, 0x68, 0x00, 0x28, 0x35, 0xD0, 0x29, 0x68, 0x38, 0x1C, 0x01, 0xF0, 0x59, 0xFB, 0x30, 0x1C
- .byte 0x01, 0xF0, 0x44, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x2A, 0xE0, 0x30, 0x1C, 0x29, 0x1C
- .byte 0xFF, 0xF7, 0x4E, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x22, 0xE0, 0xBB, 0xF7, 0x9A, 0xFE
- .byte 0x00, 0x28, 0x1E, 0xD1, 0x29, 0x68, 0x38, 0x1C, 0x01, 0xF0, 0x58, 0xFB, 0x30, 0x1C, 0x01, 0xF0
- .byte 0x51, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x13, 0xE0, 0x00, 0x21, 0x61, 0x60, 0x38, 0x1C
- .byte 0x22, 0x1D, 0x9E, 0xF1, 0x2D, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x09, 0xE0, 0x60, 0x68
- .byte 0x00, 0x28, 0x06, 0xD0, 0x48, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x85, 0xF9, 0x01, 0x20
- .byte 0xF8, 0xBD
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _02049712
+ ldr r1, [r5, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD60
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496BC:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496CC:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049712
+ ldr r1, [r5, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD8C
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496EA:
+ mov r1, #0x0
+ str r1, [r4, #0x4]
+ add r0, r7, #0x0
+ add r2, r4, #0x4
+ bl FUN_021E7750
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496FE:
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _02049712
+ add r0, r1, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_0204970A:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02049712:
mov r0, #0x0
pop {r3-r7, pc}
@@ -139057,19 +154734,21 @@ FUN_02049844: ; 0x02049844
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r3, #0
- lsl r0, r6, #0x1
- lsl r4, r5, #0x2
- lsl r2, r6, #0x3
- lsl r6, r6, #0x4
- lsl r4, r4, #0x5
- lsl r6, r6, #0x5
- lsl r6, r0, #0x6
- lsl r2, r3, #0x6
- lsl r0, r5, #0x6
- lsl r6, r2, #0x7
- lsl r0, r7, #0x7
- lsl r2, r5, #0x8
+_0204986A: ; jump table (using 16-bit offset)
+ .short _02049884 - _0204986A - 2; case 0
+ .short _020498DC - _0204986A - 2; case 1
+ .short _02049918 - _0204986A - 2; case 2
+ .short _0204995E - _0204986A - 2; case 3
+ .short _020499A2 - _0204986A - 2; case 4
+ .short _020499D0 - _0204986A - 2; case 5
+ .short _020499E2 - _0204986A - 2; case 6
+ .short _020499F2 - _0204986A - 2; case 7
+ .short _02049A06 - _0204986A - 2; case 8
+ .short _02049A14 - _0204986A - 2; case 9
+ .short _02049A42 - _0204986A - 2; case 10
+ .short _02049A64 - _0204986A - 2; case 11
+ .short _02049A96 - _0204986A - 2; case 12
+_02049884:
mov r0, #0x1
mov r1, #0x1a
mov r2, #0xcf
@@ -139107,66 +154786,367 @@ FUN_02049844: ; 0x02049844
str r0, [r4, #0x0]
b _02049AB2
_020498DC:
- .byte 0x20, 0x1C, 0x38, 0x30
- .byte 0x00, 0x78, 0x0A, 0xF0, 0xF1, 0xFE, 0x01, 0x28, 0x20, 0xD1, 0x60, 0x6B, 0xD8, 0xF7, 0x98, 0xF8
- .byte 0x00, 0x20, 0x00, 0x90, 0x0B, 0x23, 0x01, 0x93, 0xA8, 0x68, 0x6F, 0x4A, 0x03, 0x21, 0xC3, 0xF7
- .byte 0xFF, 0xF8, 0x0B, 0x23, 0x00, 0x93, 0xA8, 0x68, 0x6C, 0x49, 0x6B, 0x4A, 0xB8, 0xF7, 0x44, 0xFC
- .byte 0xE0, 0x63, 0x02, 0x20, 0x20, 0x60, 0xCC, 0xE0, 0xE0, 0x6B, 0x0B, 0x21, 0xB8, 0xF7, 0x46, 0xFC
- .byte 0x00, 0x28, 0x04, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42, 0x0C, 0xD0
+ add r0, r4, #0x0
+ add r0, #0x38
+ ldrb r0, [r0, #0x0]
+ bl FUN_020546C8
+ cmp r0, #0x1
+ bne _0204992C
+ ldr r0, [r4, #0x34]
+ bl FUN_02021A20
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r3, #0xb
+ str r3, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ ldr r2, _02049AB8 ; =0x000003D9
+ mov r1, #0x3
+ bl FUN_0200CB00
+ mov r3, #0xb
+ str r3, [sp, #0x0]
+ ldr r0, [r5, #0x8]
+ ldr r1, _02049ABC ; =0x020F46D8
+ ldr r2, _02049AB8 ; =0x000003D9
+ bl FUN_02002198
+ str r0, [r4, #0x3c]
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049918:
+ ldr r0, [r4, #0x3c]
+ mov r1, #0xb
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0204992E
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _02049946
_0204992C:
b _02049AB2
_0204992E:
- .byte 0x20, 0x1C
- .byte 0x24, 0x30, 0x00, 0x21, 0xC3, 0xF7, 0xD4, 0xFB, 0x20, 0x1C, 0x24, 0x30, 0xCF, 0xF7, 0x1C, 0xFC
- .byte 0x03, 0x20, 0x20, 0x60, 0xB5, 0xE0, 0x20, 0x1C, 0x24, 0x30, 0x00, 0x21, 0xC3, 0xF7, 0xC8, 0xFB
- .byte 0x20, 0x1C, 0x24, 0x30, 0xCF, 0xF7, 0x10, 0xFC, 0x05, 0x20, 0x20, 0x60, 0xA9, 0xE0, 0xE8, 0x68
- .byte 0xD8, 0xF7, 0x54, 0xFF, 0x00, 0x28, 0x06, 0xD0, 0x00, 0x22, 0x55, 0x49, 0x30, 0x1C, 0x13, 0x1C
- .byte 0xEF, 0xF7, 0xB2, 0xF9, 0x12, 0xE0, 0xE8, 0x68, 0xDC, 0xF7, 0x36, 0xF9, 0x28, 0x1C, 0x0B, 0x21
- .byte 0x03, 0x22, 0x9E, 0xF1, 0x01, 0xFE, 0x20, 0x62, 0x9E, 0xF1, 0xB4, 0xFD, 0x23, 0x1C, 0x00, 0x22
- .byte 0x4C, 0x49, 0x30, 0x1C, 0x1C, 0x33, 0xA2, 0x83, 0xEF, 0xF7, 0x9E, 0xF9, 0x04, 0x20, 0x20, 0x60
- .byte 0x87, 0xE0, 0xE8, 0x68, 0xD8, 0xF7, 0x32, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x20, 0x60
- .byte 0x7F, 0xE0, 0x20, 0x6A, 0x9E, 0xF1, 0xDA, 0xFD, 0x20, 0x6A, 0x9E, 0xF1, 0x13, 0xFE, 0xA0, 0x8B
- .byte 0x00, 0x28, 0x02, 0xD1, 0x05, 0x20, 0x20, 0x60, 0x73, 0xE0, 0x06, 0x20, 0x20, 0x60, 0x70, 0xE0
- .byte 0x68, 0x6B, 0x0E, 0xF0, 0xED, 0xFE, 0x20, 0x1C, 0xCD, 0xF7, 0x1E, 0xF8, 0x02, 0xB0, 0x01, 0x20
- .byte 0x70, 0xBD, 0x00, 0x20, 0x1E, 0x21, 0xBB, 0xF7, 0xF1, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x5F, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x09, 0xF9, 0x00, 0x28, 0x59, 0xD0, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x55, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x98, 0xFA, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x4E, 0xE0, 0x01, 0x20, 0xE8, 0x66, 0x2B, 0x48, 0x02, 0x21, 0xBC, 0xF7, 0xDE, 0xFA
- .byte 0x28, 0x1C, 0x06, 0xF0, 0x1B, 0xF9, 0x60, 0x69, 0x01, 0x22, 0x00, 0x90, 0x01, 0x92, 0xA1, 0x68
- .byte 0x23, 0x69, 0x30, 0x1C, 0x92, 0x1E, 0xFF, 0xF7, 0xB7, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x37, 0xE0, 0xBB, 0xF7, 0xDF, 0xFC, 0x00, 0x28, 0x33, 0xD1, 0x00, 0x20, 0xBA, 0xF7, 0x86, 0xFB
- .byte 0x28, 0x1C, 0x01, 0xF0, 0x77, 0xF8, 0x30, 0x1C, 0x01, 0xF0, 0x94, 0xFA, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x26, 0xE0, 0x30, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0xD0, 0xF8, 0x00, 0x28, 0x20, 0xD0
- .byte 0x06, 0xF0, 0x16, 0xF9, 0x28, 0x1C, 0xFA, 0xF1, 0xD5, 0xFE, 0x00, 0x21, 0xA8, 0x66, 0x02, 0x20
- .byte 0x0A, 0x1C, 0x00, 0x90, 0x1E, 0x20, 0x10, 0x3A, 0x19, 0x23, 0xC0, 0xF7, 0xBD, 0xFB, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x0D, 0xE0, 0x02, 0x20, 0xC0, 0xF7, 0x54, 0xFC, 0x00, 0x28, 0x08, 0xD0
- .byte 0x01, 0x20, 0xFD, 0xF1, 0x65, 0xFF, 0x20, 0x1C, 0xCC, 0xF7, 0xB6, 0xFF, 0x02, 0xB0, 0x01, 0x20
- .byte 0x70, 0xBD
+ add r0, r4, #0x0
+ add r0, #0x24
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0x24
+ bl FUN_02019178
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049946:
+ add r0, r4, #0x0
+ add r0, #0x24
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0x24
+ bl FUN_02019178
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02049AB2
+_0204995E:
+ ldr r0, [r5, #0xc]
+ bl FUN_0202280C
+ cmp r0, #0x0
+ beq _02049976
+ mov r2, #0x0
+ ldr r1, _02049AC0 ; =0x000007F2
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _0204999C
+_02049976:
+ ldr r0, [r5, #0xc]
+ bl FUN_02025BE8
+ add r0, r5, #0x0
+ mov r1, #0xb
+ mov r2, #0x3
+ bl FUN_021E8588
+ str r0, [r4, #0x20]
+ bl FUN_021E84F4
+ add r3, r4, #0x0
+ mov r2, #0x0
+ ldr r1, _02049AC4 ; =0x000007D5
+ add r0, r6, #0x0
+ add r3, #0x1c
+ strh r2, [r4, #0x1c]
+ bl FUN_02038CD8
+_0204999C:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499A2:
+ ldr r0, [r5, #0xc]
+ bl FUN_0202280C
+ cmp r0, #0x0
+ beq _020499B2
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499B2:
+ ldr r0, [r4, #0x20]
+ bl FUN_021E856C
+ ldr r0, [r4, #0x20]
+ bl FUN_021E85E4
+ ldrh r0, [r4, #0x1c]
+ cmp r0, #0x0
+ bne _020499CA
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499CA:
+ mov r0, #0x6
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499D0:
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020499E2:
+ mov r0, #0x0
+ mov r1, #0x1e
+ bl FUN_020053CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499F2:
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049AB2
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A06:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A14:
+ mov r0, #0x1
+ str r0, [r5, #0x6c]
+ ldr r0, _02049AC8 ; =0x00000012
+ mov r1, #0x2
+ bl FUN_02005FDC
+ add r0, r5, #0x0
+ bl FUN_0204FC5C
+ ldr r0, [r4, #0x14]
+ mov r2, #0x1
+ str r0, [sp, #0x0]
+ str r2, [sp, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r3, [r4, #0x10]
+ add r0, r6, #0x0
+ sub r2, r2, #0x2
+ bl FUN_020491A8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A42:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049AB2
+ mov r0, #0x0
+ bl FUN_0200415C
+ add r0, r5, #0x0
+ bl FUN_0204AB44
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A64:
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049AB2
+ bl FUN_0204FCA0
+ add r0, r5, #0x0
+ bl FUN_02244824
+ mov r1, #0x0
+ str r0, [r5, #0x68]
+ mov r0, #0x2
+ add r2, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1e
+ sub r2, #0x10
+ mov r3, #0x19
+ bl FUN_0200A208
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A96:
+ mov r0, #0x2
+ bl FUN_0200A344
+ cmp r0, #0x0
+ beq _02049AB2
+ mov r0, #0x1
+ bl FUN_02247970
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02049AB2:
mov r0, #0x0
add sp, #0x8
pop {r4-r6, pc}
-_02049AB8:
- .byte 0xD9, 0x03, 0x00, 0x00, 0xD8, 0x46, 0x0F, 0x02
- .byte 0xF2, 0x07, 0x00, 0x00, 0xD5, 0x07, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x70, 0xB5, 0x82, 0xB0
- .byte 0x06, 0x1C, 0xFC, 0xF7, 0x29, 0xFD, 0x05, 0x1C, 0x30, 0x1C, 0xFC, 0xF7, 0x27, 0xFD, 0x04, 0x1C
- .byte 0x21, 0x68, 0x07, 0x29, 0x7A, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14
- .byte 0x8F, 0x44, 0x0E, 0x00, 0x38, 0x00, 0x60, 0x00, 0x74, 0x00, 0x82, 0x00, 0xA8, 0x00, 0xCA, 0x00
- .byte 0xDE, 0x00, 0x00, 0x20, 0xFD, 0xF1, 0x34, 0xFF, 0x06, 0xF0, 0xE6, 0xF8, 0xA8, 0x6E, 0xFA, 0xF1
- .byte 0x9D, 0xFE, 0x02, 0x20, 0x00, 0x90, 0x1E, 0x20, 0x01, 0x1C, 0x2E, 0x39, 0x00, 0x22, 0x01, 0x23
- .byte 0xC0, 0xF7, 0x72, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x57, 0xE0, 0x02, 0x20, 0xC0, 0xF7
- .byte 0x09, 0xFC, 0x00, 0x28, 0x52, 0xD0, 0xA8, 0x6E, 0x00, 0x28, 0x4F, 0xD1, 0xE7, 0xF7, 0x00, 0xFA
- .byte 0x00, 0x28, 0x4B, 0xD1, 0x00, 0x20, 0x1E, 0x21, 0xBB, 0xF7, 0x40, 0xFC, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x43, 0xE0, 0x30, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0x58, 0xF8, 0x00, 0x28, 0x3D, 0xD0
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x39, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0xE7, 0xF9, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x32, 0xE0, 0x00, 0x20, 0xE8, 0x66, 0x1A, 0x48, 0xBC, 0xF7, 0xF0, 0xF9
- .byte 0x60, 0x69, 0x01, 0x22, 0x00, 0x90, 0x01, 0x92, 0xA1, 0x68, 0x23, 0x69, 0x30, 0x1C, 0x92, 0x1E
- .byte 0xFF, 0xF7, 0x0A, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1F, 0xE0, 0xBB, 0xF7, 0x32, 0xFC
- .byte 0x00, 0x28, 0x1B, 0xD1, 0x00, 0x20, 0xBA, 0xF7, 0xD9, 0xFA, 0x28, 0x1C, 0x00, 0xF0, 0xCA, 0xFF
- .byte 0x30, 0x1C, 0x01, 0xF0, 0xE7, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x30, 0x1C
- .byte 0x03, 0x21, 0x00, 0xF0, 0x23, 0xF8, 0x00, 0x28, 0x08, 0xD0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x04, 0xE0, 0xCC, 0xF7, 0x21, 0xFF, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x02, 0xB0
- .byte 0x70, 0xBD, 0xC0, 0x46, 0x12, 0x00, 0x00, 0x00
+ .balign 4
+_02049AB8: .word 0x000003D9
+_02049ABC: .word 0x020F46D8
+_02049AC0: .word 0x000007F2
+_02049AC4: .word 0x000007D5
+_02049AC8: .word 0x00000012
+
+ thumb_func_start FUN_02049ACC
+FUN_02049ACC: ; 0x02049ACC
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x7
+ bhi _02049BDC
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02049AF2: ; jump table (using 16-bit offset)
+ .short _02049B02 - _02049AF2 - 2; case 0
+ .short _02049B2C - _02049AF2 - 2; case 1
+ .short _02049B54 - _02049AF2 - 2; case 2
+ .short _02049B68 - _02049AF2 - 2; case 3
+ .short _02049B76 - _02049AF2 - 2; case 4
+ .short _02049B9C - _02049AF2 - 2; case 5
+ .short _02049BBE - _02049AF2 - 2; case 6
+ .short _02049BD2 - _02049AF2 - 2; case 7
+_02049B02:
+ mov r0, #0x0
+ bl FUN_02247970
+ bl FUN_0204FCD8
+ ldr r0, [r5, #0x68]
+ bl FUN_0224484C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x1e
+ add r1, r0, #0x0
+ sub r1, #0x2e
+ mov r2, #0x0
+ mov r3, #0x1
+ bl FUN_0200A208
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B2C:
+ mov r0, #0x2
+ bl FUN_0200A344
+ cmp r0, #0x0
+ beq _02049BDC
+ ldr r0, [r5, #0x68]
+ cmp r0, #0x0
+ bne _02049BDC
+ bl FUN_02030F40
+ cmp r0, #0x0
+ bne _02049BDC
+ mov r0, #0x0
+ mov r1, #0x1e
+ bl FUN_020053CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B54:
+ add r0, r6, #0x0
+ mov r1, #0x2
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049BDC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B68:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B76:
+ mov r0, #0x0
+ str r0, [r5, #0x6c]
+ ldr r0, _02049BE4 ; =0x00000012
+ bl FUN_02005F60
+ ldr r0, [r4, #0x14]
+ mov r2, #0x1
+ str r0, [sp, #0x0]
+ str r2, [sp, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r3, [r4, #0x10]
+ add r0, r6, #0x0
+ sub r2, r2, #0x2
+ bl FUN_020491A8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B9C:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049BDC
+ mov r0, #0x0
+ bl FUN_0200415C
+ add r0, r5, #0x0
+ bl FUN_0204AB44
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049BBE:
+ add r0, r6, #0x0
+ mov r1, #0x3
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049BDC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049BD2:
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02049BDC:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ nop
+_02049BE4: .word 0x00000012
thumb_func_start FUN_02049BE8
FUN_02049BE8: ; 0x02049BE8
@@ -139179,7 +155159,7 @@ FUN_02049BE8: ; 0x02049BE8
_02049BF4:
cmp r0, #0x1
bne _02049BFC
- ldr r0, _02049C08 ; =0x02049ACD
+ ldr r0, _02049C08 ; =FUN_02049ACC
pop {r3, pc}
_02049BFC:
bl FUN_02020C2C
@@ -139187,7 +155167,7 @@ _02049BFC:
pop {r3, pc}
.balign 4
_02049C04: .word FUN_02049844 + 1
-_02049C08: .word 0x02049ACD
+_02049C08: .word FUN_02049ACC + 1
thumb_func_start FUN_02049C0C
FUN_02049C0C: ; 0x02049C0C
@@ -139330,12 +155310,14 @@ FUN_02049CF8: ; 0x02049CF8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r6, r4, #0
- lsl r2, r7, #0
- lsl r4, r1, #0x1
- lsl r2, r3, #0x1
- lsl r0, r5, #0x1
+_02049D24: ; jump table (using 16-bit offset)
+ .short _02049D30 - _02049D24 - 2; case 0
+ .short _02049D4C - _02049D24 - 2; case 1
+ .short _02049D60 - _02049D24 - 2; case 2
+ .short _02049D72 - _02049D24 - 2; case 3
+ .short _02049D80 - _02049D24 - 2; case 4
+ .short _02049D8E - _02049D24 - 2; case 5
+_02049D30:
ldr r1, [r5, #0x8]
add r0, r7, #0x0
mov r2, #0x0
@@ -139349,12 +155331,43 @@ FUN_02049CF8: ; 0x02049CF8
str r0, [r4, #0x0]
b _02049D98
_02049D4C:
- .byte 0x68, 0x68, 0x00, 0x28
- .byte 0x22, 0xD0, 0x30, 0x1C, 0x01, 0xF0, 0xF2, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0
- .byte 0x08, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0xFB, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x12, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x06, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0
- .byte 0x30, 0x1C, 0x01, 0xF0, 0x43, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C
- .byte 0xCC, 0xF7, 0x42, 0xFE, 0x01, 0x20, 0xF8, 0xBD
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ beq _02049D98
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D60:
+ add r5, #0x8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D72:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D80:
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D8E:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02049D98:
mov r0, #0x0
pop {r3-r7, pc}
@@ -139419,13 +155432,15 @@ FUN_02049DF4: ; 0x02049DF4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r4, r4, #0
- lsl r2, r6, #0
- lsl r4, r0, #0x1
- lsl r2, r2, #0x1
- lsl r6, r4, #0x1
- lsl r2, r6, #0x1
+_02049E20: ; jump table (using 16-bit offset)
+ .short _02049E2E - _02049E20 - 2; case 0
+ .short _02049E46 - _02049E20 - 2; case 1
+ .short _02049E54 - _02049E20 - 2; case 2
+ .short _02049E66 - _02049E20 - 2; case 3
+ .short _02049E74 - _02049E20 - 2; case 4
+ .short _02049E88 - _02049E20 - 2; case 5
+ .short _02049E94 - _02049E20 - 2; case 6
+_02049E2E:
ldr r1, [r5, #0x8]
add r0, r7, #0x0
mov r2, #0x0
@@ -139437,12 +155452,50 @@ FUN_02049DF4: ; 0x02049DF4
str r0, [r4, #0x0]
b _02049E9E
_02049E46:
- .byte 0x30, 0x1C, 0x01, 0xF0, 0x78, 0xF8, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x24, 0xE0, 0x08, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0x81, 0xF9, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x8C, 0xF8, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x14, 0xE0, 0x00, 0x21, 0x69, 0x60, 0x38, 0x1C, 0x2A, 0x1D, 0x9D, 0xF1, 0x68, 0xFC
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0A, 0xE0, 0x69, 0x68, 0x00, 0x29, 0x07, 0xD0, 0x40, 0x1C
- .byte 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xCC, 0xF7, 0xBF, 0xFD, 0x01, 0x20, 0xF8, 0xBD
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E54:
+ add r5, #0x8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E66:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E74:
+ mov r1, #0x0
+ str r1, [r5, #0x4]
+ add r0, r7, #0x0
+ add r2, r5, #0x4
+ bl FUN_021E7750
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E88:
+ ldr r1, [r5, #0x4]
+ cmp r1, #0x0
+ beq _02049E9E
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E94:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02049E9E:
mov r0, #0x0
pop {r3-r7, pc}
@@ -139513,10 +155566,12 @@ FUN_02049F10: ; 0x02049F10
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r4, #0
- lsl r2, r6, #0
- lsl r0, r2, #0x1
+_02049F34: ; jump table (using 16-bit offset)
+ .short _02049F3C - _02049F34 - 2; case 0
+ .short _02049F58 - _02049F34 - 2; case 1
+ .short _02049F68 - _02049F34 - 2; case 2
+ .short _02049F86 - _02049F34 - 2; case 3
+_02049F3C:
ldr r0, _02049F94 ; =0x00000603
bl FUN_020054C8
ldr r1, [r4, #0x4]
@@ -139529,10 +155584,30 @@ FUN_02049F10: ; 0x02049F10
str r0, [r4, #0x0]
b _02049F8E
_02049F58:
- .byte 0x28, 0x1C, 0x21, 0x1D, 0xFF, 0xF7, 0x00, 0xF9
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0, 0xBB, 0xF7, 0x4C, 0xFA, 0x00, 0x28, 0x0E, 0xD1
- .byte 0x61, 0x68, 0x30, 0x1C, 0x00, 0xF0, 0x0A, 0xFF, 0x28, 0x1C, 0x01, 0xF0, 0x03, 0xF8, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCC, 0xF7, 0x47, 0xFD, 0x01, 0x20, 0x70, 0xBD
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049F8E
+_02049F68:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049F8E
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049F8E
+_02049F86:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02049F8E:
mov r0, #0x0
pop {r4-r6, pc}
@@ -141324,19 +157399,34 @@ FUN_0204ACCC: ; 0x0204ACCC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r2, #0
- lsl r2, r3, #0
- lsl r4, r4, #0
+_0204ACDC: ; jump table (using 16-bit offset)
+ .short _0204ACE4 - _0204ACDC - 2; case 0
+ .short _0204ACEE - _0204ACDC - 2; case 1
+ .short _0204ACF8 - _0204ACDC - 2; case 2
+ .short _0204AD02 - _0204ACDC - 2; case 3
+_0204ACE4:
mov r0, #0x1e
str r0, [r2, #0x0]
mov r0, #0x0
str r0, [r3, #0x0]
bx lr
_0204ACEE:
- .byte 0x3C, 0x20
- .byte 0x10, 0x60, 0x00, 0x20, 0x18, 0x60, 0x70, 0x47, 0x3C, 0x20, 0x10, 0x60, 0x0F, 0x20, 0x18, 0x60
- .byte 0x70, 0x47, 0x3C, 0x20, 0x10, 0x60, 0x00, 0x20, 0x18, 0x60
+ mov r0, #0x3c
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ str r0, [r3, #0x0]
+ bx lr
+_0204ACF8:
+ mov r0, #0x3c
+ str r0, [r2, #0x0]
+ mov r0, #0xf
+ str r0, [r3, #0x0]
+ bx lr
+_0204AD02:
+ mov r0, #0x3c
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ str r0, [r3, #0x0]
_0204AD0A:
bx lr
@@ -142815,11 +158905,13 @@ _0204B832:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r6, r4, #0
- lsl r6, r6, #0
- lsl r2, r7, #0x3
- lsl r2, r6, #0x4
+_0204B83E: ; jump table (using 16-bit offset)
+ .short _0204B848 - _0204B83E - 2; case 0
+ .short _0204B866 - _0204B83E - 2; case 1
+ .short _0204B876 - _0204B83E - 2; case 2
+ .short _0204B93A - _0204B83E - 2; case 3
+ .short _0204B972 - _0204B83E - 2; case 4
+_0204B848:
ldr r0, [r5, #0x38]
mov r1, #0x10
bl FUN_021E5FD8
@@ -142832,38 +158924,156 @@ _0204B832:
str r0, [r4, #0x0]
b _0204B98E
_0204B866:
- .byte 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0xBF, 0xFF, 0x00, 0x20
- .byte 0xA0, 0x60, 0x02, 0x20, 0x20, 0x60, 0x47, 0x48, 0x20, 0x21, 0x40, 0x6C, 0x01, 0x42, 0x1B, 0xD0
- .byte 0x28, 0x1C, 0x02, 0x21, 0xFF, 0xF7, 0x74, 0xFF, 0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0xA4, 0xFF
- .byte 0x00, 0x28, 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60, 0x79, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x02, 0x22
- .byte 0xFF, 0xF7, 0x34, 0xFF, 0x00, 0x28, 0x3C, 0xD1, 0x3B, 0x4A, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7
- .byte 0xA7, 0xFF, 0x03, 0x20, 0x20, 0x60, 0x6A, 0xE0, 0x10, 0x21, 0x01, 0x42, 0x1B, 0xD0, 0x28, 0x1C
- .byte 0x03, 0x21, 0xFF, 0xF7, 0x55, 0xFF, 0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0x85, 0xFF, 0x00, 0x28
- .byte 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60, 0x5A, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x03, 0x22, 0xFF, 0xF7
- .byte 0x15, 0xFF, 0x00, 0x28, 0x1D, 0xD1, 0x2D, 0x4A, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0x88, 0xFF
- .byte 0x03, 0x20, 0x20, 0x60, 0x4B, 0xE0, 0x40, 0x21, 0x01, 0x42, 0x09, 0xD0, 0x61, 0x68, 0x01, 0x29
- .byte 0x06, 0xD1, 0xA8, 0x6B, 0x00, 0x21, 0x09, 0xF0, 0xFD, 0xFC, 0x04, 0x20, 0x20, 0x60, 0x3E, 0xE0
- .byte 0x80, 0x21, 0x08, 0x42, 0x05, 0xD0, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60
- .byte 0x35, 0xE0, 0xA0, 0x68, 0x40, 0x1C, 0xA0, 0x60, 0x5A, 0x28, 0x30, 0xDD, 0xA8, 0x6B, 0x61, 0x68
- .byte 0x09, 0xF0, 0xE8, 0xFC, 0x04, 0x20, 0x20, 0x60, 0x29, 0xE0, 0xE0, 0x68, 0x0F, 0xF0, 0xD8, 0xFA
- .byte 0x00, 0x28, 0x24, 0xD0, 0xE0, 0x68, 0x0F, 0xF0, 0xD9, 0xFA, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7
- .byte 0x27, 0xFF, 0x00, 0x28, 0x06, 0xD0, 0xFF, 0xF7, 0x3F, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x20
- .byte 0x20, 0x60, 0x14, 0xE0, 0xA8, 0x6B, 0x61, 0x68, 0x09, 0xF0, 0xCC, 0xFC, 0x04, 0x20, 0x20, 0x60
- .byte 0x0D, 0xE0, 0xA8, 0x6B, 0x61, 0x68, 0x09, 0xF0, 0xC5, 0xFC, 0xA8, 0x6B, 0x09, 0xF0, 0x10, 0xFD
- .byte 0x0C, 0xF0, 0xC2, 0xFF, 0x20, 0x1C, 0xCB, 0xF7, 0x47, 0xF8, 0x01, 0x20, 0x38, 0xBD
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B7EC
+ mov r0, #0x0
+ str r0, [r4, #0x8]
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+_0204B876:
+ ldr r0, _0204B994 ; =0x021C48B8
+ mov r1, #0x20
+ ldr r0, [r0, #0x44]
+ tst r1, r0
+ beq _0204B8B8
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0204B770
+ cmp r0, #0x0
+ beq _0204B894
+ bl FUN_0204B7D8
+ cmp r0, #0x0
+ bne _0204B89A
+_0204B894:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B89A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_0204B70C
+ cmp r0, #0x0
+ bne _0204B922
+ ldr r2, _0204B998 ; =0x020F4850
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B800
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B8B8:
+ mov r1, #0x10
+ tst r1, r0
+ beq _0204B8F6
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0204B770
+ cmp r0, #0x0
+ beq _0204B8D2
+ bl FUN_0204B7D8
+ cmp r0, #0x0
+ bne _0204B8D8
+_0204B8D2:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B8D8:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x3
+ bl FUN_0204B70C
+ cmp r0, #0x0
+ bne _0204B922
+ ldr r2, _0204B99C ; =0x020F4858
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B800
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B8F6:
+ mov r1, #0x40
+ tst r1, r0
+ beq _0204B910
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x1
+ bne _0204B910
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_02055304
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B910:
+ mov r1, #0x80
+ tst r0, r1
+ beq _0204B922
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ bne _0204B922
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B922:
+ ldr r0, [r4, #0x8]
+ add r0, r0, #0x1
+ str r0, [r4, #0x8]
+ cmp r0, #0x5a
+ ble _0204B98E
+ ldr r0, [r5, #0x38]
+ ldr r1, [r4, #0x4]
+ bl FUN_02055304
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B93A:
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AEF0
+ cmp r0, #0x0
+ beq _0204B98E
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AEFC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B7A0
+ cmp r0, #0x0
+ beq _0204B964
+ bl FUN_0204B7D8
+ cmp r0, #0x0
+ beq _0204B964
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B964:
+ ldr r0, [r5, #0x38]
+ ldr r1, [r4, #0x4]
+ bl FUN_02055304
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B972:
+ ldr r0, [r5, #0x38]
+ ldr r1, [r4, #0x4]
+ bl FUN_02055304
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058908
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0204B98E:
mov r0, #0x0
pop {r3-r5, pc}
nop
+_0204B994: .word 0x021C48B8
+_0204B998: .word 0x020F4850
+_0204B99C: .word 0x020F4858
- thumb_func_start FUN_0204B994
-FUN_0204B994: ; 0x0204B994
- ldr r0, _0204BC78 ; =0x28063108
- lsl r4, r3, #0x8
- ldr r0, _0204BADC ; =0x0204BE11
- lsl r7, r1, #0x8
- ldr r0, _0204BB00 ; =0xD9014285
- lsl r7, r1, #0x8
+ thumb_func_start FUN_0204B9A0
+FUN_0204B9A0: ; 0x0204B9A0
push {r3-r5, lr}
add r5, r0, #0x0
mov r0, #0x20
@@ -143011,11 +159221,11 @@ _0204BAC0: .word 0x021C5A1C
thumb_func_start FUN_0204BAC4
FUN_0204BAC4: ; 0x0204BAC4
- ldr r3, _0204BACC ; =0x0204BD8D
+ ldr r3, _0204BACC ; =FUN_0204BD8C
ldr r0, _0204BAD0 ; =0x021C5A1C
bx r3
nop
-_0204BACC: .word 0x0204BD8D
+_0204BACC: .word FUN_0204BD8C + 1
_0204BAD0: .word 0x021C5A1C
thumb_func_start FUN_0204BAD4
@@ -143044,8 +159254,8 @@ FUN_0204BAF4: ; 0x0204BAF4
cmp r5, #0x0
beq _0204BB04
ldr r0, _0204BB1C ; =0x000001ED
- .balign 4
-_0204BB00: .word 0xD9014285
+ cmp r5, r0
+ bls _0204BB08
_0204BB04:
bl FUN_02020C2C
_0204BB08:
@@ -143250,11 +159460,13 @@ _0204BC62:
add r6, r6, r2
_0204BC76:
add r0, r0, #0x1
- .balign 4
-_0204BC78: .word 0x28063108
-_0204BC7C:
- .byte 0xF1, 0xDB, 0x00, 0x2E
- .byte 0x01, 0xD1, 0x00, 0x20, 0xF8, 0xBD
+ add r1, #0x8
+ cmp r0, #0x6
+ blt _0204BC62
+ cmp r6, #0x0
+ bne _0204BC86
+ mov r0, #0x0
+ pop {r3-r7, pc}
_0204BC86:
add r0, r6, #0x0
add r0, #0x14
@@ -143387,9 +159599,20 @@ FUN_0204BD40: ; 0x0204BD40
add r0, r7, #0x0
pop {r3-r7, pc}
.balign 4
-_0204BD8C:
- .byte 0x00, 0x23, 0x1A, 0x1C
- .byte 0x81, 0x88, 0x52, 0x1C, 0x08, 0x30, 0x5B, 0x18, 0x06, 0x2A, 0xF9, 0xDB, 0x18, 0x1C, 0x70, 0x47
+
+ thumb_func_start FUN_0204BD8C
+FUN_0204BD8C: ; 0x0204BD8C
+ mov r3, #0x0
+ add r2, r3, #0x0
+_0204BD90:
+ ldrh r1, [r0, #0x4]
+ add r2, r2, #0x1
+ add r0, #0x8
+ add r3, r3, r1
+ cmp r2, #0x6
+ blt _0204BD90
+ add r0, r3, #0x0
+ bx lr
thumb_func_start FUN_0204BDA0
FUN_0204BDA0: ; 0x0204BDA0
@@ -144259,13 +160482,15 @@ FUN_0204C380: ; 0x0204C380
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r0, r6, #0
- lsl r6, r7, #0
- lsl r6, r1, #0x1
- lsl r4, r3, #0x1
- lsl r4, r6, #0x1
- lsl r6, r4, #0x2
+_0204C3A8: ; jump table (using 16-bit offset)
+ .short _0204C3B6 - _0204C3A8 - 2; case 0
+ .short _0204C3DA - _0204C3A8 - 2; case 1
+ .short _0204C3E8 - _0204C3A8 - 2; case 2
+ .short _0204C3F8 - _0204C3A8 - 2; case 3
+ .short _0204C406 - _0204C3A8 - 2; case 4
+ .short _0204C41E - _0204C3A8 - 2; case 5
+ .short _0204C450 - _0204C3A8 - 2; case 6
+_0204C3B6:
mov r0, #0x0
str r0, [r4, #0x4]
ldr r1, [r6, #0x0]
@@ -144283,22 +160508,74 @@ FUN_0204C380: ; 0x0204C380
str r0, [r4, #0x0]
b _0204C458
_0204C3DA:
- .byte 0x28, 0x1C, 0xFE, 0xF7, 0xAE, 0xFD
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x37, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0xFC, 0xF7, 0xB8, 0xFE
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x2F, 0xE0, 0x28, 0x1C, 0xFE, 0xF7, 0xC3, 0xFD, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0, 0x20, 0x6A, 0x81, 0x00, 0x15, 0x48, 0x41, 0x58, 0x00, 0x29
- .byte 0x01, 0xD0, 0x38, 0x1C, 0x88, 0x47, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1C, 0xE0, 0xB8, 0xF7
- .byte 0xF1, 0xFF, 0x00, 0x28, 0x18, 0xD1, 0x31, 0x68, 0x38, 0x1C, 0xFE, 0xF7, 0xAF, 0xFC, 0x38, 0x1C
- .byte 0x96, 0xF1, 0x74, 0xFF, 0x00, 0x20, 0x60, 0x60, 0x21, 0x6A, 0x28, 0x1C, 0x8A, 0x00, 0x09, 0x49
- .byte 0x89, 0x58, 0x22, 0x1C, 0xF9, 0xF7, 0xE2, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0
- .byte 0xCA, 0xF7, 0xE2, 0xFA, 0x01, 0x20, 0xF8, 0xBD
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C3E8:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C3F8:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C406:
+ ldr r0, [r4, #0x20]
+ lsl r1, r0, #0x2
+ ldr r0, _0204C460 ; =0x020F48B0
+ ldr r1, [r0, r1]
+ cmp r1, #0x0
+ beq _0204C416
+ add r0, r7, #0x0
+ blx r1
+_0204C416:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C41E:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _0204C458
+ ldr r1, [r6, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD8C
+ add r0, r7, #0x0
+ bl FUN_021E331C
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0x0
+ lsl r2, r1, #0x2
+ ldr r1, _0204C464 ; =0x020F4878
+ ldr r1, [r1, r2]
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C450:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
_0204C458:
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
_0204C45C: .word 0x020F4894
-_0204C460:
- .byte 0xB0, 0x48, 0x0F, 0x02, 0x78, 0x48, 0x0F, 0x02
+_0204C460: .word 0x020F48B0
+_0204C464: .word 0x020F4878
thumb_func_start FUN_0204C468
FUN_0204C468: ; 0x0204C468
@@ -144350,10 +160627,12 @@ FUN_0204C4A4: ; 0x0204C4A4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r5, #0
- lsl r6, r0, #0x1
- lsl r4, r2, #0x1
+_0204C4C8: ; jump table (using 16-bit offset)
+ .short _0204C4D0 - _0204C4C8 - 2; case 0
+ .short _0204C4F6 - _0204C4C8 - 2; case 1
+ .short _0204C510 - _0204C4C8 - 2; case 2
+ .short _0204C51E - _0204C4C8 - 2; case 3
+_0204C4D0:
bl FUN_021DA5B8
str r0, [r4, #0x1c]
ldr r0, [r5, #0x38]
@@ -144370,10 +160649,27 @@ FUN_0204C4A4: ; 0x0204C4A4
str r0, [r4, #0x4]
b _0204C522
_0204C4F6:
- .byte 0xE1, 0x69, 0x28, 0x1C, 0x8E, 0xF1, 0x6D, 0xF8, 0x00, 0x28
- .byte 0x0F, 0xD0, 0xE0, 0x69, 0x8E, 0xF1, 0x60, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x08, 0xE0
- .byte 0x30, 0x1C, 0xFE, 0xF7, 0x59, 0xFD, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20
- .byte 0x70, 0xBD
+ ldr r1, [r4, #0x1c]
+ add r0, r5, #0x0
+ bl FUN_021DA5D8
+ cmp r0, #0x0
+ beq _0204C522
+ ldr r0, [r4, #0x1c]
+ bl FUN_021DA5C8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C522
+_0204C510:
+ add r0, r6, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C522
+_0204C51E:
+ mov r0, #0x1
+ pop {r4-r6, pc}
_0204C522:
mov r0, #0x0
pop {r4-r6, pc}
@@ -144455,10 +160751,12 @@ FUN_0204C5A0: ; 0x0204C5A0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r7, #0
- lsl r6, r2, #0x1
- lsl r2, r5, #0x1
+_0204C5C4: ; jump table (using 16-bit offset)
+ .short _0204C5CC - _0204C5C4 - 2; case 0
+ .short _0204C5FE - _0204C5C4 - 2; case 1
+ .short _0204C61C - _0204C5C4 - 2; case 2
+ .short _0204C630 - _0204C5C4 - 2; case 3
+_0204C5CC:
ldr r0, [r5, #0x38]
bl FUN_020552F8
add r6, r0, #0x0
@@ -144483,16 +160781,38 @@ _0204C5F6:
str r0, [r4, #0x4]
b _0204C63C
_0204C5FE:
- .byte 0xA8, 0x6B
- .byte 0x08, 0xF0, 0xCE, 0xFE, 0x05, 0x1C, 0x0E, 0xF0, 0x0F, 0xFC, 0x01, 0x28, 0x16, 0xD1, 0x28, 0x1C
- .byte 0x0E, 0xF0, 0x1E, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x0F, 0xE0, 0x08, 0x48, 0xB8, 0xF7
- .byte 0x53, 0xFF, 0x00, 0x20, 0x8B, 0xF1, 0x3E, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x05, 0xE0
- .byte 0xC1, 0xF7, 0x6A, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20, 0x70, 0xBD
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r5, r0, #0x0
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ bne _0204C63C
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C63C
+_0204C61C:
+ ldr r0, _0204C640 ; =0x00000603
+ bl FUN_020054C8
+ mov r0, #0x0
+ bl FUN_021D7CA4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C63C
+_0204C630:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0204C63C
+ mov r0, #0x1
+ pop {r4-r6, pc}
_0204C63C:
mov r0, #0x0
pop {r4-r6, pc}
-_0204C640:
- .byte 0x03, 0x06, 0x00, 0x00
+ .balign 4
+_0204C640: .word 0x00000603
thumb_func_start FUN_0204C644
FUN_0204C644: ; 0x0204C644
@@ -144584,10 +160904,12 @@ FUN_0204C6D4: ; 0x0204C6D4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r2, #0x1
- lsl r6, r6, #0x1
- lsl r2, r3, #0x2
+_0204C6F8: ; jump table (using 16-bit offset)
+ .short _0204C700 - _0204C6F8 - 2; case 0
+ .short _0204C74A - _0204C6F8 - 2; case 1
+ .short _0204C770 - _0204C6F8 - 2; case 2
+ .short _0204C794 - _0204C6F8 - 2; case 3
+_0204C700:
ldr r0, [r4, #0x38]
bl FUN_020553A0
add r7, r0, #0x0
@@ -144619,93 +160941,639 @@ _0204C736:
str r0, [r5, #0x4]
b _0204C798
_0204C74A:
- .byte 0x8D, 0xF1, 0x35, 0xFF, 0xE8, 0x61
- .byte 0xA0, 0x6B, 0x08, 0xF0, 0xE5, 0xFD, 0x06, 0x1C, 0xA0, 0x6B, 0x08, 0xF0, 0xE7, 0xFD, 0x01, 0x1C
- .byte 0xEA, 0x69, 0x30, 0x1C, 0x8D, 0xF1, 0x34, 0xFF, 0x68, 0x68, 0x40, 0x1C, 0x68, 0x60, 0x13, 0xE0
- .byte 0xED, 0x69, 0x20, 0x1C, 0x29, 0x1C, 0x8E, 0xF1, 0x1D, 0xF8, 0x00, 0x28, 0x0C, 0xD0, 0x28, 0x1C
- .byte 0x8D, 0xF1, 0x22, 0xFF, 0xA0, 0x6B, 0x08, 0xF0, 0x0B, 0xFE, 0x00, 0x21, 0x0C, 0xF0, 0x86, 0xF8
- .byte 0x01, 0x20, 0xF8, 0xBD, 0x01, 0x20, 0xF8, 0xBD
+ bl FUN_021DA5B8
+ str r0, [r5, #0x1c]
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ ldr r2, [r5, #0x1c]
+ add r0, r6, #0x0
+ bl FUN_021DA5D0
+ ldr r0, [r5, #0x4]
+ add r0, r0, #0x1
+ str r0, [r5, #0x4]
+ b _0204C798
+_0204C770:
+ ldr r5, [r5, #0x1c]
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_021DA7B4
+ cmp r0, #0x0
+ beq _0204C798
+ add r0, r5, #0x0
+ bl FUN_021DA5C8
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ mov r1, #0x0
+ bl FUN_0205889C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204C794:
+ mov r0, #0x1
+ pop {r3-r7, pc}
_0204C798:
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
_0204C79C: .word 0x021DB251
-_0204C7A0:
- .byte 0xF8, 0xB5, 0x06, 0x1C, 0xF9, 0xF7, 0xC0, 0xFE, 0x05, 0x1C, 0x30, 0x1C, 0xF9, 0xF7, 0xBE, 0xFE
- .byte 0x04, 0x1C, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x2B, 0xD0, 0x2C, 0xE0, 0xA8, 0x6B
- .byte 0x08, 0xF0, 0xEE, 0xFD, 0x07, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0xAA, 0xFD, 0x00, 0x90, 0xA8, 0x6B
- .byte 0x08, 0xF0, 0xAC, 0xFD, 0x02, 0x1C, 0x00, 0x99, 0x28, 0x1C, 0xFD, 0xF7, 0x81, 0xFF, 0x07, 0xF0
- .byte 0xE7, 0xFF, 0x00, 0x28, 0x0B, 0xD0, 0x38, 0x1C, 0x01, 0x21, 0x0C, 0xF0, 0x57, 0xF8, 0x01, 0x20
- .byte 0x60, 0x60, 0x0A, 0x49, 0x30, 0x1C, 0x22, 0x1C, 0xF9, 0xF7, 0xF8, 0xFD, 0x0C, 0xE0, 0x8E, 0xF1
- .byte 0x17, 0xFC, 0x02, 0x1C, 0x06, 0x49, 0x30, 0x1C, 0xF9, 0xF7, 0x00, 0xFE, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0xF8, 0xBD, 0x00, 0x20, 0xF8, 0xBD, 0xD5, 0xC6, 0x04, 0x02
- .byte 0x81, 0xB3, 0x1D, 0x02, 0x70, 0xB5, 0x04, 0x1C, 0xF9, 0xF7, 0x7E, 0xFE, 0x05, 0x1C, 0x20, 0x1C
- .byte 0xF9, 0xF7, 0x7C, 0xFE, 0x04, 0x1C, 0x60, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28, 0x15, 0xD0
- .byte 0x02, 0x28, 0x27, 0xD0, 0x28, 0xE0, 0x8D, 0xF1, 0xB7, 0xFE, 0xE0, 0x61, 0xA8, 0x6B, 0x08, 0xF0
- .byte 0x67, 0xFD, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x69, 0xFD, 0x01, 0x1C, 0xE2, 0x69, 0x30, 0x1C
- .byte 0x8D, 0xF1, 0xB6, 0xFE, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x15, 0xE0, 0xA8, 0x6B, 0xE6, 0x69
- .byte 0x08, 0xF0, 0x42, 0xFD, 0x02, 0x1C, 0x12, 0x06, 0x28, 0x1C, 0x31, 0x1C, 0x12, 0x0E, 0x8E, 0xF1
- .byte 0x11, 0xF9, 0x00, 0x28, 0x08, 0xD0, 0xE0, 0x69, 0x8D, 0xF1, 0x9E, 0xFE, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x04, 0x1C
- .byte 0xF9, 0xF7, 0x42, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF9, 0xF7, 0x40, 0xFE, 0x04, 0x1C, 0x60, 0x68
- .byte 0x03, 0x28, 0x40, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44
- .byte 0x06, 0x00, 0x42, 0x00, 0x60, 0x00, 0x70, 0x00, 0x01, 0x20, 0x8B, 0xF1, 0xEB, 0xF9, 0xA8, 0x6B
- .byte 0x08, 0xF0, 0x66, 0xFD, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x0E, 0xFD, 0x02, 0x28, 0x04, 0xD1
- .byte 0x30, 0x1C, 0x0A, 0x21, 0x0E, 0xF0, 0x7A, 0xFA, 0x08, 0xE0, 0x03, 0x28, 0x04, 0xD1, 0x30, 0x1C
- .byte 0x0B, 0x21, 0x0E, 0xF0, 0x73, 0xFA, 0x01, 0xE0, 0xD4, 0xF7, 0x98, 0xF9, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x18, 0xE0, 0xA8, 0x6B, 0x08, 0xF0, 0x4B, 0xFD, 0x05, 0x1C, 0x0E, 0xF0, 0x8C, 0xFA
- .byte 0x01, 0x28, 0x10, 0xD1, 0x28, 0x1C, 0x0E, 0xF0, 0x9B, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60
- .byte 0x09, 0xE0, 0xC1, 0xF7, 0xF1, 0xFC, 0x00, 0x28, 0x05, 0xD0, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60
- .byte 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C
- .byte 0xF9, 0xF7, 0xF2, 0xFD, 0x06, 0x1C, 0x28, 0x1C, 0xF9, 0xF7, 0xF0, 0xFD, 0x04, 0x1C, 0xB0, 0x6B
- .byte 0x08, 0xF0, 0x26, 0xFD, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x0C, 0xE0
- .byte 0x8E, 0xF1, 0x66, 0xFB, 0x02, 0x1C, 0x06, 0x49, 0x28, 0x1C, 0xF9, 0xF7, 0x4F, 0xFD, 0x60, 0x68
- .byte 0x40, 0x1C, 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0xC0, 0x46
- .byte 0x41, 0xB0, 0x1D, 0x02, 0x38, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0xB4, 0xFC
- .byte 0x04, 0x1C, 0xA8, 0x6B, 0x01, 0xA9, 0x08, 0xF0, 0xDB, 0xFC, 0x03, 0x2C, 0x05, 0xD1, 0x01, 0x20
- .byte 0x01, 0x99, 0x00, 0x04, 0x08, 0x1A, 0x01, 0x90, 0x04, 0xE0, 0x01, 0x20, 0x01, 0x99, 0x00, 0x04
- .byte 0x08, 0x18, 0x01, 0x90, 0x00, 0x20, 0x00, 0x90, 0x02, 0x99, 0x01, 0x9A, 0x03, 0x9B, 0x28, 0x1C
- .byte 0xFD, 0xF7, 0xA2, 0xFE, 0x02, 0x90, 0xA8, 0x6B, 0x01, 0xA9, 0x22, 0x1C, 0x08, 0xF0, 0x8E, 0xFD
- .byte 0xA8, 0x6B, 0x08, 0xF0, 0xC5, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0x08, 0xFB, 0xA8, 0x6B, 0x08, 0xF0
- .byte 0xBF, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0x40, 0xF9, 0x04, 0xB0, 0x38, 0xBD, 0x70, 0xB5, 0x84, 0xB0
- .byte 0x05, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x80, 0xFC, 0x04, 0x1C, 0xA8, 0x6B, 0x01, 0xA9, 0x08, 0xF0
- .byte 0xA7, 0xFC, 0xA8, 0x6B, 0x08, 0xF0, 0x8C, 0xFC, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x8E, 0xFC
- .byte 0x02, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xFD, 0xF7, 0x63, 0xFE, 0x06, 0x1C, 0x07, 0xF0, 0x5C, 0xFF
- .byte 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20, 0x01, 0x99, 0x00, 0x04, 0x08, 0x18, 0x01, 0x90, 0x02, 0x24
- .byte 0x0A, 0xE0, 0x30, 0x1C, 0x07, 0xF0, 0x56, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x20, 0x01, 0x99
- .byte 0x00, 0x04, 0x08, 0x1A, 0x01, 0x90, 0x03, 0x24, 0x00, 0x20, 0x00, 0x90, 0x02, 0x99, 0x01, 0x9A
- .byte 0x03, 0x9B, 0x28, 0x1C, 0xFD, 0xF7, 0x58, 0xFE, 0x02, 0x90, 0xA8, 0x6B, 0x01, 0xA9, 0x22, 0x1C
- .byte 0x08, 0xF0, 0x44, 0xFD, 0xA8, 0x6B, 0x08, 0xF0, 0x7B, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0xBE, 0xFA
- .byte 0xA8, 0x6B, 0x08, 0xF0, 0x75, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0xF6, 0xF8, 0x04, 0xB0, 0x70, 0xBD
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xCC, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xCD, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x02, 0x4A, 0x41, 0x43, 0x50, 0x18, 0x80, 0x1C, 0x70, 0x47, 0xCC, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD7, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD8, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD9, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x58, 0x70, 0x47, 0xC0, 0x46, 0xDC, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x58, 0x70, 0x47, 0xC0, 0x46, 0xE0, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xE4, 0x48, 0x0F, 0x02
- .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xE5, 0x48, 0x0F, 0x02
- .byte 0xF8, 0xB5, 0x0C, 0x1C, 0x43, 0x49, 0x15, 0x1C, 0x0A, 0x68, 0x00, 0x2A, 0x01, 0xD0, 0x00, 0x20
- .byte 0xF8, 0xBD, 0x05, 0xD1, 0xB1, 0x22, 0x08, 0x60, 0x00, 0x21, 0x92, 0x00, 0x81, 0xF0, 0x06, 0xEC
- .byte 0x3C, 0x49, 0x3D, 0x48, 0x0A, 0x68, 0x15, 0x54, 0x00, 0x22, 0x08, 0x68, 0x00, 0x2D, 0x42, 0x60
- .byte 0x0C, 0xD0, 0xF8, 0xF1, 0xE3, 0xF8, 0x01, 0x1C, 0x0F, 0x20, 0xC9, 0xF7, 0x1D, 0xFF, 0x35, 0x49
- .byte 0x0A, 0x68, 0x50, 0x60, 0x08, 0x68, 0x40, 0x68, 0xF8, 0xF1, 0xDA, 0xF8, 0x31, 0x48, 0x33, 0x4F
- .byte 0x01, 0x68, 0x4C, 0x65, 0x00, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x04, 0x68, 0xA5, 0x18, 0x00, 0x24
- .byte 0xA6, 0x35, 0xE4, 0x43, 0x2C, 0x70, 0x04, 0x68, 0xA4, 0x18, 0xA2, 0x34, 0x27, 0x80, 0x04, 0x68
- .byte 0xA4, 0x18, 0xA4, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA5, 0x18, 0xA7, 0x35, 0x02, 0x24, 0x2C, 0x70
- .byte 0x04, 0x68, 0xA5, 0x18, 0x00, 0x24, 0x66, 0x35, 0xE4, 0x43, 0x2C, 0x70, 0x04, 0x68, 0xA4, 0x18
- .byte 0x62, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA4, 0x18, 0x64, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA5, 0x18
- .byte 0x67, 0x35, 0x02, 0x24, 0x2C, 0x70, 0x04, 0x68, 0x1D, 0x4D, 0x66, 0x18, 0x00, 0x24, 0xE4, 0x43
- .byte 0x74, 0x55, 0x04, 0x68, 0x08, 0x32, 0x65, 0x18, 0xE2, 0x35, 0x00, 0x24, 0x2C, 0x70, 0x04, 0x68
- .byte 0x65, 0x18, 0xEA, 0x35, 0x01, 0x24, 0x2C, 0x70, 0x04, 0x68, 0x65, 0x18, 0xF2, 0x35, 0x00, 0x24
- .byte 0x2C, 0x70, 0x04, 0x68, 0xFF, 0x25, 0xE6, 0x18, 0x2C, 0x1C, 0x6B, 0x34, 0x49, 0x1C, 0x22, 0x33
- .byte 0x35, 0x53, 0x08, 0x29, 0xB9, 0xDB, 0x0B, 0x4A, 0xAF, 0x21, 0x13, 0x68, 0x89, 0x00, 0x00, 0x20
- .byte 0x58, 0x54, 0x12, 0x68, 0xC9, 0x1C, 0x50, 0x54, 0x0A, 0x48, 0x00, 0x21, 0xC8, 0x22, 0xBF, 0xF7
- .byte 0x11, 0xFF, 0x04, 0x49, 0x09, 0x68, 0x08, 0x65, 0xE4, 0xF7, 0xBE, 0xF9, 0x00, 0xF0, 0x98, 0xF9
- .byte 0x01, 0x20, 0xF8, 0xBD, 0x68, 0x5A, 0x1C, 0x02, 0xBE, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00
- .byte 0x02, 0x01, 0x00, 0x00, 0xF1, 0xD4, 0x04, 0x02
+
+ thumb_func_start FUN_0204C7A0
+FUN_0204C7A0: ; 0x0204C7A0
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C7BE
+ cmp r0, #0x1
+ beq _0204C814
+ b _0204C818
+_0204C7BE:
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204A6E0
+ bl FUN_020547B0
+ cmp r0, #0x0
+ beq _0204C7FE
+ add r0, r7, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ mov r0, #0x1
+ str r0, [r4, #0x4]
+ ldr r1, _0204C81C ; =FUN_0204C6D4
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_020463EC
+ b _0204C818
+_0204C7FE:
+ bl FUN_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C820 ; =0x021DB381
+ add r0, r6, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C818
+_0204C814:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204C818:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204C81C: .word FUN_0204C6D4 + 1
+_0204C820: .word 0x021DB381
+
+ thumb_func_start FUN_0204C824
+FUN_0204C824: ; 0x0204C824
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C846
+ cmp r0, #0x1
+ beq _0204C86C
+ cmp r0, #0x2
+ beq _0204C894
+ b _0204C898
+_0204C846:
+ bl FUN_021DA5B8
+ str r0, [r4, #0x1c]
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ ldr r2, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl FUN_021DA5D0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C898
+_0204C86C:
+ ldr r0, [r5, #0x38]
+ ldr r6, [r4, #0x1c]
+ bl FUN_020552F8
+ add r2, r0, #0x0
+ lsl r2, r2, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_021DAAA4
+ cmp r0, #0x0
+ beq _0204C898
+ ldr r0, [r4, #0x1c]
+ bl FUN_021DA5C8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C898
+_0204C894:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C898:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204C89C
+FUN_0204C89C: ; 0x0204C89C
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x3
+ bhi _0204C936
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204C8C0: ; jump table (using 16-bit offset)
+ .short _0204C8C8 - _0204C8C0 - 2; case 0
+ .short _0204C904 - _0204C8C0 - 2; case 1
+ .short _0204C922 - _0204C8C0 - 2; case 2
+ .short _0204C932 - _0204C8C0 - 2; case 3
+_0204C8C8:
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ cmp r0, #0x2
+ bne _0204C8EA
+ add r0, r6, #0x0
+ mov r1, #0xa
+ bl FUN_0205ADDC
+ b _0204C8FC
+_0204C8EA:
+ cmp r0, #0x3
+ bne _0204C8F8
+ add r0, r6, #0x0
+ mov r1, #0xb
+ bl FUN_0205ADDC
+ b _0204C8FC
+_0204C8F8:
+ bl FUN_02020C2C
+_0204C8FC:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C936
+_0204C904:
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r5, r0, #0x0
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ bne _0204C936
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C936
+_0204C922:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0204C936
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C936
+_0204C932:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C936:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C93C
+FUN_0204C93C: ; 0x0204C93C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r6, #0x38]
+ bl FUN_020553A0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C960
+ cmp r0, #0x1
+ beq _0204C976
+ b _0204C97A
+_0204C960:
+ bl FUN_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C980 ; =0x021DB041
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C97A
+_0204C976:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C97A:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_0204C980: .word 0x021DB041
+
+ thumb_func_start FUN_0204C984
+FUN_0204C984: ; 0x0204C984
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ bl FUN_02055350
+ cmp r4, #0x3
+ bne _0204C9AA
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ sub r0, r1, r0
+ str r0, [sp, #0x4]
+ b _0204C9B4
+_0204C9AA:
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ add r0, r1, r0
+ str r0, [sp, #0x4]
+_0204C9B4:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r2, [sp, #0x4]
+ ldr r3, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0204A708
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ add r2, r4, #0x0
+ bl FUN_020554EC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EFEC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EC68
+ add sp, #0x10
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204C9EC
+FUN_0204C9EC: ; 0x0204C9EC
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ bl FUN_02055350
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0204A6E0
+ add r6, r0, #0x0
+ bl FUN_020548D8
+ cmp r0, #0x0
+ beq _0204CA32
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ add r0, r1, r0
+ str r0, [sp, #0x4]
+ mov r4, #0x2
+ b _0204CA48
+_0204CA32:
+ add r0, r6, #0x0
+ bl FUN_020548E4
+ cmp r0, #0x0
+ beq _0204CA48
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ sub r0, r1, r0
+ str r0, [sp, #0x4]
+ mov r4, #0x3
+_0204CA48:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r2, [sp, #0x4]
+ ldr r3, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0204A708
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ add r2, r4, #0x0
+ bl FUN_020554EC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EFEC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EC68
+ add sp, #0x10
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204CA80
+FUN_0204CA80: ; 0x0204CA80
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CA8C ; =0x020F48CC
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CA8C: .word 0x020F48CC
+
+ thumb_func_start FUN_0204CA90
+FUN_0204CA90: ; 0x0204CA90
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CA9C ; =0x020F48CD
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CA9C: .word 0x020F48CD
+
+ thumb_func_start FUN_0204CAA0
+FUN_0204CAA0: ; 0x0204CAA0
+ mov r1, #0x1c
+ ldr r2, _0204CAAC ; =0x020F48CC
+ mul r1, r0
+ add r0, r2, r1
+ add r0, r0, #0x2
+ bx lr
+ .balign 4
+_0204CAAC: .word 0x020F48CC
+
+ thumb_func_start FUN_0204CAB0
+FUN_0204CAB0: ; 0x0204CAB0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CABC ; =0x020F48D7
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CABC: .word 0x020F48D7
+
+ thumb_func_start FUN_0204CAC0
+FUN_0204CAC0: ; 0x0204CAC0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CACC ; =0x020F48D8
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CACC: .word 0x020F48D8
+
+ thumb_func_start FUN_0204CAD0
+FUN_0204CAD0: ; 0x0204CAD0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CADC ; =0x020F48D9
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CADC: .word 0x020F48D9
+
+ thumb_func_start FUN_0204CAE0
+FUN_0204CAE0: ; 0x0204CAE0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CAEC ; =0x020F48DC
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_0204CAEC: .word 0x020F48DC
+
+ thumb_func_start FUN_0204CAF0
+FUN_0204CAF0: ; 0x0204CAF0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CAFC ; =0x020F48E0
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_0204CAFC: .word 0x020F48E0
+
+ thumb_func_start FUN_0204CB00
+FUN_0204CB00: ; 0x0204CB00
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CB0C ; =0x020F48E4
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CB0C: .word 0x020F48E4
+
+ thumb_func_start FUN_0204CB10
+FUN_0204CB10: ; 0x0204CB10
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CB1C ; =0x020F48E5
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CB1C: .word 0x020F48E5
+
+ thumb_func_start FUN_0204CB20
+FUN_0204CB20: ; 0x0204CB20
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ ldr r1, _0204CC34 ; =0x021C5A68
+ add r5, r2, #0x0
+ ldr r2, [r1, #0x0]
+ cmp r2, #0x0
+ beq _0204CB32
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204CB32:
+ bne _0204CB40
+ mov r2, #0xb1
+ str r0, [r1, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ blx FUN_020CE34C
+_0204CB40:
+ ldr r1, _0204CC34 ; =0x021C5A68
+ ldr r0, _0204CC38 ; =0x000002BE
+ ldr r2, [r1, #0x0]
+ strb r5, [r2, r0]
+ mov r2, #0x0
+ ldr r0, [r1, #0x0]
+ cmp r5, #0x0
+ str r2, [r0, #0x4]
+ beq _0204CB6C
+ bl FUN_02244D1C
+ add r1, r0, #0x0
+ mov r0, #0xf
+ bl FUN_02016998
+ ldr r1, _0204CC34 ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ str r0, [r2, #0x4]
+ ldr r0, [r1, #0x0]
+ ldr r0, [r0, #0x4]
+ bl FUN_02244D20
+_0204CB6C:
+ ldr r0, _0204CC34 ; =0x021C5A68
+ ldr r7, _0204CC3C ; =0x0000FFFF
+ ldr r1, [r0, #0x0]
+ str r4, [r1, #0x54]
+ mov r1, #0x0
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+_0204CB7A:
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ mov r4, #0x0
+ add r5, #0xa6
+ mvn r4, r4
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0xa2
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0xa4
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ add r5, #0xa7
+ mov r4, #0x2
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ mov r4, #0x0
+ add r5, #0x66
+ mvn r4, r4
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0x62
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0x64
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ add r5, #0x67
+ mov r4, #0x2
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ ldr r5, _0204CC40 ; =0x00000102
+ add r6, r4, r1
+ mov r4, #0x0
+ mvn r4, r4
+ strb r4, [r6, r5]
+ ldr r4, [r0, #0x0]
+ add r2, #0x8
+ add r5, r4, r1
+ add r5, #0xe2
+ mov r4, #0x0
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r1
+ add r5, #0xea
+ mov r4, #0x1
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r1
+ add r5, #0xf2
+ mov r4, #0x0
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ mov r5, #0xff
+ add r6, r4, r3
+ add r4, r5, #0x0
+ add r4, #0x6b
+ add r1, r1, #0x1
+ add r3, #0x22
+ strh r5, [r6, r4]
+ cmp r1, #0x8
+ blt _0204CB7A
+ ldr r2, _0204CC34 ; =0x021C5A68
+ mov r1, #0xaf
+ ldr r3, [r2, #0x0]
+ lsl r1, r1, #0x2
+ mov r0, #0x0
+ strb r0, [r3, r1]
+ ldr r2, [r2, #0x0]
+ add r1, r1, #0x3
+ strb r0, [r2, r1]
+ ldr r0, _0204CC44 ; =FUN_0204D4F0
+ mov r1, #0x0
+ mov r2, #0xc8
+ bl FUN_0200CA44
+ ldr r1, _0204CC34 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ str r0, [r1, #0x50]
+ bl FUN_02030FA8
+ bl FUN_0204CF60
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_0204CC34: .word 0x021C5A68
+_0204CC38: .word 0x000002BE
+_0204CC3C: .word 0x0000FFFF
+_0204CC40: .word 0x00000102
+_0204CC44: .word FUN_0204D4F0 + 1
thumb_func_start FUN_0204CC48
FUN_0204CC48: ; 0x0204CC48
@@ -147133,17 +164001,30 @@ _0204DF0A:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r1, #0
- lsl r2, r3, #0
- lsl r0, r4, #0
+_0204DF20: ; jump table (using 16-bit offset)
+ .short _0204DF28 - _0204DF20 - 2; case 0
+ .short _0204DF2E - _0204DF20 - 2; case 1
+ .short _0204DF3C - _0204DF20 - 2; case 2
+ .short _0204DF42 - _0204DF20 - 2; case 3
+_0204DF28:
mov r0, #0x5
str r0, [sp, #0x8]
b _0204DF46
_0204DF2E:
- .byte 0x04, 0x20
- .byte 0x02, 0x90, 0x02, 0x20, 0x30, 0x43, 0x00, 0x04, 0x06, 0x0C, 0x04, 0xE0, 0x02, 0x20, 0x02, 0x90
- .byte 0x01, 0xE0, 0x01, 0x20, 0x02, 0x90
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ orr r0, r6
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ b _0204DF46
+_0204DF3C:
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ b _0204DF46
+_0204DF42:
+ mov r0, #0x1
+ str r0, [sp, #0x8]
_0204DF46:
ldr r0, _0204E06C ; =0x021C5A68
ldr r1, [r0, #0x0]
@@ -147207,17 +164088,23 @@ _0204DFA0:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_0204DFC6: ; jump table (using 16-bit offset)
+ .short _0204DFCE - _0204DFC6 - 2; case 0
+ .short _0204DFD2 - _0204DFC6 - 2; case 1
+ .short _0204DFD6 - _0204DFC6 - 2; case 2
+ .short _0204DFDA - _0204DFC6 - 2; case 3
+_0204DFCE:
mov r7, #0x1c
b _0204E00C
_0204DFD2:
mov r7, #0x1d
b _0204E00C
_0204DFD6:
- .byte 0x1E, 0x27, 0x18, 0xE0, 0x1F, 0x27, 0x16, 0xE0
+ mov r7, #0x1e
+ b _0204E00C
+_0204DFDA:
+ mov r7, #0x1f
+ b _0204E00C
_0204DFDE:
cmp r1, #0x0
bne _0204DFF6
@@ -149358,10 +166245,12 @@ FUN_0204EFCC: ; 0x0204EFCC
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r6, r4, #0x1
- lsl r2, r1, #0x1
- lsl r6, r5, #0
- lsl r6, r0, #0
+_0204EFFC: ; jump table (using 16-bit offset)
+ .short _0204F064 - _0204EFFC - 2; case 0
+ .short _0204F048 - _0204EFFC - 2; case 1
+ .short _0204F02C - _0204EFFC - 2; case 2
+ .short _0204F004 - _0204EFFC - 2; case 3
+_0204F004:
ldr r0, [r2, #0x28]
cmp r0, #0x0
bne _0204F01E
@@ -149382,11 +166271,33 @@ _0204F01E:
strb r1, [r0, #0x0]
pop {r4, pc}
_0204F02C:
- .byte 0x90, 0x6A, 0x00, 0x28
- .byte 0x1A, 0xD1, 0x08, 0x1C, 0x06, 0xF0, 0xB4, 0xF9, 0x96, 0xF1, 0xCC, 0xFB, 0x0B, 0x49, 0x0A, 0x68
- .byte 0xA1, 0x00, 0x51, 0x18, 0x88, 0x62, 0x10, 0xBD, 0x90, 0x6A, 0x00, 0x28, 0x0C, 0xD1, 0x08, 0x1C
- .byte 0x06, 0xF0, 0xA6, 0xF9, 0x96, 0xF1, 0xDE, 0xFA, 0x04, 0x49, 0x0A, 0x68, 0xA1, 0x00, 0x51, 0x18
- .byte 0x88, 0x62, 0x10, 0xBD, 0xFD, 0xF7, 0x88, 0xFE
+ ldr r0, [r2, #0x28]
+ cmp r0, #0x0
+ bne _0204F068
+ add r0, r1, #0x0
+ bl FUN_020553A0
+ bl FUN_021E57D4
+ ldr r1, _0204F06C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ add r1, r2, r1
+ str r0, [r1, #0x28]
+ pop {r4, pc}
+_0204F048:
+ ldr r0, [r2, #0x28]
+ cmp r0, #0x0
+ bne _0204F068
+ add r0, r1, #0x0
+ bl FUN_020553A0
+ bl FUN_021E5614
+ ldr r1, _0204F06C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ add r1, r2, r1
+ str r0, [r1, #0x28]
+ pop {r4, pc}
+_0204F064:
+ bl FUN_0204CD78
_0204F068:
pop {r4, pc}
nop
@@ -150970,25 +167881,25 @@ FUN_0204FCD8: ; 0x0204FCD8
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _0204FCEA
- ldr r0, _0204FCF0 ; =0x02050D55
+ ldr r0, _0204FCF0 ; =FUN_02050D54
mov r1, #0x3
bl FUN_02050094
_0204FCEA:
pop {r3, pc}
.balign 4
_0204FCEC: .word 0x021C5A6C
-_0204FCF0: .word 0x02050D55
+_0204FCF0: .word FUN_02050D54 + 1
thumb_func_start FUN_0204FCF4
FUN_0204FCF4: ; 0x0204FCF4
push {r3, lr}
bl FUN_02031914
- ldr r0, _0204FD04 ; =0x020504D9
+ ldr r0, _0204FD04 ; =FUN_020504D8
mov r1, #0x0
bl FUN_02050094
pop {r3, pc}
.balign 4
-_0204FD04: .word 0x020504D9
+_0204FD04: .word FUN_020504D8 + 1
thumb_func_start FUN_0204FD08
FUN_0204FD08: ; 0x0204FD08
@@ -151030,12 +167941,12 @@ FUN_0204FD38: ; 0x0204FD38
stmia r2!, {r0-r1}
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
- ldr r0, _0204FDC4 ; =0x020502AD
- ldr r4, _0204FDC8 ; =0x02050549
- ldr r7, _0204FDCC ; =0x02050169
+ ldr r0, _0204FDC4 ; =FUN_020502AC
+ ldr r4, _0204FDC8 ; =FUN_02050548
+ ldr r7, _0204FDCC ; =FUN_02050168
cmp r5, r0
bne _0204FD68
- ldr r0, _0204FDD0 ; =0x0205031D
+ ldr r0, _0204FDD0 ; =FUN_0205031C
mov r1, #0x0
bl FUN_02050094
add sp, #0x10
@@ -151044,7 +167955,7 @@ FUN_0204FD38: ; 0x0204FD38
_0204FD68:
cmp r4, r5
bne _0204FD7A
- ldr r0, _0204FDD4 ; =0x02050579
+ ldr r0, _0204FDD4 ; =FUN_02050578
mov r1, #0x0
bl FUN_02050094
add sp, #0x10
@@ -151053,17 +167964,17 @@ _0204FD68:
_0204FD7A:
cmp r7, r5
bne _0204FD8C
- ldr r0, _0204FDD8 ; =0x020505E1
+ ldr r0, _0204FDD8 ; =FUN_020505E0
mov r1, #0x0
bl FUN_02050094
add sp, #0x10
mov r0, #0x1
pop {r3-r7, pc}
_0204FD8C:
- ldr r0, _0204FDDC ; =0x020504D1
+ ldr r0, _0204FDDC ; =FUN_020504D0
cmp r0, r5
bne _0204FDA0
- ldr r0, _0204FDE0 ; =0x02050611
+ ldr r0, _0204FDE0 ; =FUN_02050610
mov r1, #0x0
bl FUN_02050094
add sp, #0x10
@@ -151089,28 +168000,28 @@ _0204FDAE:
.balign 4
_0204FDBC: .word 0x021C5A6C
_0204FDC0: .word 0x020F5838
-_0204FDC4: .word 0x020502AD
-_0204FDC8: .word 0x02050549
-_0204FDCC: .word 0x02050169
-_0204FDD0: .word 0x0205031D
-_0204FDD4: .word 0x02050579
-_0204FDD8: .word 0x020505E1
-_0204FDDC: .word 0x020504D1
-_0204FDE0: .word 0x02050611
+_0204FDC4: .word FUN_020502AC + 1
+_0204FDC8: .word FUN_02050548 + 1
+_0204FDCC: .word FUN_02050168 + 1
+_0204FDD0: .word FUN_0205031C + 1
+_0204FDD4: .word FUN_02050578 + 1
+_0204FDD8: .word FUN_020505E0 + 1
+_0204FDDC: .word FUN_020504D0 + 1
+_0204FDE0: .word FUN_02050610 + 1
thumb_func_start FUN_0204FDE4
FUN_0204FDE4: ; 0x0204FDE4
push {r4, lr}
ldr r0, _0204FE38 ; =0x021C5A6C
- ldr r3, _0204FE3C ; =0x0205058D
+ ldr r3, _0204FE3C ; =FUN_0205058C
ldr r0, [r0, #0x0]
- ldr r2, _0204FE40 ; =0x020505F5
+ ldr r2, _0204FE40 ; =FUN_020505F4
ldr r4, [r0, #0x34]
- ldr r0, _0204FE44 ; =0x02050331
- ldr r1, _0204FE48 ; =0x02050625
+ ldr r0, _0204FE44 ; =FUN_02050330
+ ldr r1, _0204FE48 ; =FUN_02050624
cmp r4, r0
bne _0204FE04
- ldr r0, _0204FE4C ; =0x02050339
+ ldr r0, _0204FE4C ; =FUN_02050338
mov r1, #0x0
bl FUN_02050094
mov r0, #0x1
@@ -151118,7 +168029,7 @@ FUN_0204FDE4: ; 0x0204FDE4
_0204FE04:
cmp r3, r4
bne _0204FE14
- ldr r0, _0204FE50 ; =0x02050595
+ ldr r0, _0204FE50 ; =FUN_02050594
mov r1, #0x0
bl FUN_02050094
mov r0, #0x1
@@ -151126,7 +168037,7 @@ _0204FE04:
_0204FE14:
cmp r2, r4
bne _0204FE24
- ldr r0, _0204FE54 ; =0x020505F9
+ ldr r0, _0204FE54 ; =FUN_020505F8
mov r1, #0x0
bl FUN_02050094
mov r0, #0x1
@@ -151134,7 +168045,7 @@ _0204FE14:
_0204FE24:
cmp r1, r4
bne _0204FE34
- ldr r0, _0204FE58 ; =0x02050629
+ ldr r0, _0204FE58 ; =FUN_02050628
mov r1, #0x0
bl FUN_02050094
mov r0, #0x1
@@ -151144,14 +168055,14 @@ _0204FE34:
pop {r4, pc}
.balign 4
_0204FE38: .word 0x021C5A6C
-_0204FE3C: .word 0x0205058D
-_0204FE40: .word 0x020505F5
-_0204FE44: .word 0x02050331
-_0204FE48: .word 0x02050625
-_0204FE4C: .word 0x02050339
-_0204FE50: .word 0x02050595
-_0204FE54: .word 0x020505F9
-_0204FE58: .word 0x02050629
+_0204FE3C: .word FUN_0205058C + 1
+_0204FE40: .word FUN_020505F4 + 1
+_0204FE44: .word FUN_02050330 + 1
+_0204FE48: .word FUN_02050624 + 1
+_0204FE4C: .word FUN_02050338 + 1
+_0204FE50: .word FUN_02050594 + 1
+_0204FE54: .word FUN_020505F8 + 1
+_0204FE58: .word FUN_02050628 + 1
thumb_func_start FUN_0204FE5C
FUN_0204FE5C: ; 0x0204FE5C
@@ -151223,14 +168134,14 @@ FUN_0204FEB0: ; 0x0204FEB0
bl FUN_02031948
add r0, r5, #0x0
bl FUN_0204FBB0
- ldr r0, _0204FEEC ; =0x02050641
+ ldr r0, _0204FEEC ; =FUN_02050640
mov r1, #0x0
bl FUN_02050094
_0204FEE8:
add sp, #0x4
pop {r3-r6, pc}
.balign 4
-_0204FEEC: .word 0x02050641
+_0204FEEC: .word FUN_02050640 + 1
thumb_func_start FUN_0204FEF0
FUN_0204FEF0: ; 0x0204FEF0
@@ -151254,14 +168165,14 @@ FUN_0204FEF0: ; 0x0204FEF0
bl FUN_02031990
add r0, r5, #0x0
bl FUN_0204FBB0
- ldr r0, _0204FF2C ; =0x02050669
+ ldr r0, _0204FF2C ; =FUN_02050668
mov r1, #0x0
bl FUN_02050094
_0204FF28:
add sp, #0x4
pop {r3-r6, pc}
.balign 4
-_0204FF2C: .word 0x02050669
+_0204FF2C: .word FUN_02050668 + 1
thumb_func_start FUN_0204FF30
FUN_0204FF30: ; 0x0204FF30
@@ -151270,23 +168181,23 @@ FUN_0204FF30: ; 0x0204FF30
ldr r1, [r1, #0x0]
add r1, #0x3e
strb r0, [r1, #0x0]
- ldr r0, _0204FF48 ; =0x02050689
+ ldr r0, _0204FF48 ; =FUN_02050688
mov r1, #0x0
bx r3
.balign 4
_0204FF40: .word 0x021C5A6C
_0204FF44: .word FUN_02050094 + 1
-_0204FF48: .word 0x02050689
+_0204FF48: .word FUN_02050688 + 1
thumb_func_start FUN_0204FF4C
FUN_0204FF4C: ; 0x0204FF4C
ldr r3, _0204FF54 ; =FUN_02050094
- ldr r0, _0204FF58 ; =0x02050BBD
+ ldr r0, _0204FF58 ; =FUN_02050BBC
mov r1, #0x0
bx r3
.balign 4
_0204FF54: .word FUN_02050094 + 1
-_0204FF58: .word 0x02050BBD
+_0204FF58: .word FUN_02050BBC + 1
thumb_func_start FUN_0204FF5C
FUN_0204FF5C: ; 0x0204FF5C
@@ -151370,7 +168281,7 @@ _0204FFEA:
bl FUN_02064E90
mov r0, #0x5f
bl FUN_02031588
- ldr r0, _02050020 ; =0x02050C15
+ ldr r0, _02050020 ; =FUN_02050C14
mov r1, #0x0
bl FUN_02050094
_02050014:
@@ -151379,7 +168290,7 @@ _02050014:
.balign 4
_02050018: .word 0x021C5A6C
_0205001C: .word 0x0000066C
-_02050020: .word 0x02050C15
+_02050020: .word FUN_02050C14 + 1
thumb_func_start FUN_02050024
FUN_02050024: ; 0x02050024
@@ -151391,14 +168302,14 @@ FUN_02050024: ; 0x02050024
mov r0, #0x0
add r1, r0, #0x0
bl FUN_020334E8
- ldr r0, _02050044 ; =0x02050DB1
+ ldr r0, _02050044 ; =FUN_02050DB0
mov r1, #0x5
bl FUN_02050094
_0205003E:
pop {r3, pc}
.balign 4
_02050040: .word 0x021C5A6C
-_02050044: .word 0x02050DB1
+_02050044: .word FUN_02050DB0 + 1
thumb_func_start FUN_02050048
FUN_02050048: ; 0x02050048
@@ -151409,14 +168320,14 @@ FUN_02050048: ; 0x02050048
beq _02050060
mov r0, #0x5b
bl FUN_02031588
- ldr r0, _02050068 ; =0x02050D89
+ ldr r0, _02050068 ; =FUN_02050D88
mov r1, #0x5
bl FUN_02050094
_02050060:
pop {r3, pc}
nop
_02050064: .word 0x021C5A6C
-_02050068: .word 0x02050D89
+_02050068: .word FUN_02050D88 + 1
thumb_func_start FUN_0205006C
FUN_0205006C: ; 0x0205006C
@@ -151513,14 +168424,14 @@ FUN_02050114: ; 0x02050114
beq _0205013A
bl FUN_02031880
bl FUN_0204F80C
- ldr r0, _02050140 ; =0x02050169
+ ldr r0, _02050140 ; =FUN_02050168
mov r1, #0x18
bl FUN_02050094
_0205013A:
pop {r3, pc}
.balign 4
_0205013C: .word 0x021C5A6C
-_02050140: .word 0x02050169
+_02050140: .word FUN_02050168 + 1
thumb_func_start FUN_02050144
FUN_02050144: ; 0x02050144
@@ -151534,479 +168445,3646 @@ FUN_02050144: ; 0x02050144
strh r0, [r1, #0x3c]
pop {r3, pc}
_02050156:
- ldr r0, _02050164 ; =0x02050169
+ ldr r0, _02050164 ; =FUN_02050168
mov r1, #0x18
bl FUN_02050094
pop {r3, pc}
.balign 4
_02050160: .word 0x021C5A6C
-_02050164: .word 0x02050169
-_02050168:
- .byte 0x08, 0xB5, 0xED, 0xF1, 0x23, 0xFF, 0xFF, 0xF7
- .byte 0x4D, 0xFB, 0xE1, 0xF7, 0xA7, 0xFB, 0x00, 0x28, 0x0E, 0xD0, 0xE1, 0xF7, 0x09, 0xF8, 0x00, 0x28
- .byte 0x06, 0xD1, 0xF5, 0xF1, 0xCF, 0xF8, 0x05, 0x48, 0x3C, 0x21, 0xFF, 0xF7, 0x83, 0xFF, 0x08, 0xBD
- .byte 0x03, 0x48, 0x78, 0x21, 0xFF, 0xF7, 0x7E, 0xFF, 0x08, 0xBD, 0xC0, 0x46, 0x4D, 0x02, 0x05, 0x02
- .byte 0xA5, 0x01, 0x05, 0x02, 0x08, 0xB5, 0x26, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0
- .byte 0x40, 0x1E, 0x88, 0x87, 0xDE, 0xF7, 0x46, 0xFE, 0x00, 0x28, 0x08, 0xD1, 0xE1, 0xF7, 0x18, 0xF8
- .byte 0x00, 0x28, 0x04, 0xD1, 0x1E, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x00, 0x28, 0x06, 0xD1, 0xE1, 0xF7
- .byte 0x57, 0xFB, 0x1C, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x5D, 0xFF, 0x08, 0xBD, 0xE0, 0xF7, 0xD8, 0xFF
- .byte 0xE0, 0xF7, 0x4C, 0xFE, 0x00, 0x28, 0x29, 0xD0, 0x15, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28
- .byte 0x07, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0xE0, 0xF7, 0x2F, 0xFD, 0x42, 0x21, 0x89, 0x00, 0x88, 0x42
- .byte 0x1C, 0xD1, 0xEE, 0xF1, 0x59, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0x1A, 0xFF, 0x00, 0x20, 0x01, 0x1C
- .byte 0x02, 0x1C, 0x03, 0x1C, 0xF0, 0xF1, 0x72, 0xFB, 0x00, 0x20, 0x01, 0x21, 0xEF, 0xF1, 0x64, 0xFD
- .byte 0x00, 0x20, 0xDD, 0xF7, 0x29, 0xFE, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0xFD, 0xF7, 0x06, 0xF9
- .byte 0xFF, 0xF7, 0x12, 0xFB, 0x04, 0x48, 0x0A, 0x21, 0xFF, 0xF7, 0x2C, 0xFF, 0x08, 0xBD, 0xC0, 0x46
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0xA5, 0x04, 0x05, 0x02, 0x51, 0x03, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1
- .byte 0xB1, 0xFE, 0x13, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87
- .byte 0xE0, 0xF7, 0xC2, 0xFF, 0x00, 0x28, 0x04, 0xD1, 0x0D, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x00, 0x28
- .byte 0x15, 0xD1, 0xEE, 0xF1, 0x21, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7, 0xBF, 0xFA, 0x09, 0x48
- .byte 0xFF, 0xF7, 0x94, 0xFC, 0x00, 0x20, 0xFC, 0xF7, 0x6F, 0xFF, 0xFF, 0xF7, 0x51, 0xFB, 0xF5, 0xF1
- .byte 0x87, 0xFE, 0xEE, 0xF1, 0xB3, 0xFA, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFB, 0xFE, 0x08, 0xBD
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x74, 0x5E, 0x10, 0x02, 0xAD, 0x02, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1
- .byte 0x81, 0xFE, 0x18, 0x48, 0x00, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28, 0x28, 0xD1, 0xE0, 0xF7
- .byte 0x97, 0xFF, 0x00, 0x28, 0x0D, 0xD1, 0xDE, 0xF7, 0xAD, 0xFD, 0x00, 0x28, 0x09, 0xD0, 0xE0, 0xF7
- .byte 0x5F, 0xFF, 0xE0, 0xF7, 0xD3, 0xFD, 0x00, 0x28, 0x1A, 0xD1, 0xE0, 0xF7, 0xD1, 0xFF, 0x00, 0x28
- .byte 0x16, 0xD1, 0x00, 0x20, 0xF5, 0xF1, 0x38, 0xF8, 0xFF, 0xF7, 0x10, 0xFB, 0xF7, 0xF1, 0x8C, 0xFA
- .byte 0x2B, 0x20, 0xE0, 0xF7, 0x73, 0xFF, 0xE0, 0xF7, 0x4B, 0xFF, 0x01, 0x21, 0xEF, 0xF1, 0xF4, 0xFC
- .byte 0xEE, 0xF1, 0xDA, 0xF9, 0xE1, 0xF7, 0xD6, 0xFA, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xC2, 0xFE
- .byte 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x59, 0x04, 0x05, 0x02, 0x08, 0xB5, 0xFC, 0xF7
- .byte 0x93, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xB5, 0xFE, 0x08, 0xBD, 0x31, 0x03, 0x05, 0x02
- .byte 0x00, 0x4B, 0x18, 0x47, 0xB5, 0xDF, 0x23, 0x02, 0x08, 0xB5, 0xF5, 0xF1, 0xEF, 0xFD, 0xFC, 0xF7
- .byte 0xAD, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xA5, 0xFE, 0x08, 0xBD, 0xAD, 0x02, 0x05, 0x02
- .byte 0x08, 0xB5, 0x15, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x09, 0x28, 0x03, 0xD1, 0xDD, 0xF7, 0x40, 0xFC
- .byte 0xEE, 0xF1, 0x4C, 0xFA, 0x10, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x01, 0x28, 0x02, 0xD1, 0x00, 0x20
- .byte 0xFC, 0xF7, 0x12, 0xFF, 0x0C, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E
- .byte 0x88, 0x87, 0x08, 0xBD, 0xDD, 0xF7, 0xB8, 0xFC, 0x00, 0x28, 0x09, 0xD0, 0x07, 0x48, 0xFF, 0xF7
- .byte 0x0D, 0xFC, 0xFF, 0xF7, 0xCD, 0xFA, 0x06, 0x48, 0xC8, 0x21, 0xFF, 0xF7, 0x7B, 0xFE, 0x08, 0xBD
- .byte 0x00, 0xF0, 0xD2, 0xF8, 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x80, 0x5E, 0x10, 0x02
- .byte 0xB5, 0x03, 0x05, 0x02, 0x08, 0xB5, 0xFF, 0xF7, 0xA3, 0xFB, 0x00, 0x28, 0x06, 0xD0, 0xEE, 0xF1
- .byte 0xDD, 0xFD, 0x09, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x65, 0xFE, 0x08, 0xBD, 0x00, 0xF0, 0xBC, 0xF8
- .byte 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD
- .byte 0x00, 0xF0, 0x96, 0xF8, 0x08, 0xBD, 0xC0, 0x46, 0xF1, 0x03, 0x05, 0x02, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0x08, 0xB5, 0xEF, 0xF1, 0x71, 0xF8, 0x00, 0x28, 0x0B, 0xD0, 0x07, 0x48, 0xFF, 0xF7, 0xD6, 0xFB
- .byte 0xEF, 0xF1, 0x78, 0xF8, 0xF5, 0xF1, 0xCC, 0xFD, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x42, 0xFE
- .byte 0x08, 0xBD, 0x00, 0xF0, 0x99, 0xF8, 0x08, 0xBD, 0x94, 0x5E, 0x10, 0x02, 0x21, 0x04, 0x05, 0x02
- .byte 0x08, 0xB5, 0xF5, 0xF1, 0xBF, 0xFE, 0x00, 0x28, 0x0F, 0xD0, 0x09, 0x48, 0xFF, 0xF7, 0xBE, 0xFB
- .byte 0xF5, 0xF1, 0xC2, 0xFE, 0x01, 0x20, 0xFC, 0xF7, 0x97, 0xFE, 0x1F, 0x20, 0xE0, 0xF7, 0xCE, 0xFE
- .byte 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x26, 0xFE, 0x08, 0xBD, 0x00, 0xF0, 0x7D, 0xF8, 0x08, 0xBD
- .byte 0xB0, 0x5E, 0x10, 0x02, 0x49, 0x05, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x11, 0xFF, 0x00, 0x28
- .byte 0x07, 0xD0, 0x00, 0x20, 0x01, 0x1C, 0xFE, 0xF7, 0x37, 0xFB, 0x02, 0x48, 0x1E, 0x21, 0xFF, 0xF7
- .byte 0x11, 0xFE, 0x08, 0xBD, 0x79, 0x04, 0x05, 0x02, 0x08, 0xB5, 0x08, 0x48, 0x01, 0x68, 0x88, 0x8F
- .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x81, 0xFE, 0x00, 0x28
- .byte 0x03, 0xD1, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFD, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0xA5, 0x00, 0x05, 0x02, 0x08, 0xB5, 0x08, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0
- .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x6B, 0xFE, 0x00, 0x28, 0x03, 0xD1, 0x03, 0x48
- .byte 0x00, 0x21, 0xFF, 0xF7, 0xE7, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xA5, 0x00, 0x05, 0x02
- .byte 0x00, 0x4B, 0x18, 0x47, 0xB5, 0xDF, 0x23, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x59, 0xFE, 0x00, 0x28
- .byte 0x11, 0xD1, 0x09, 0x48, 0x00, 0x68, 0x80, 0x69, 0xED, 0xF1, 0x7A, 0xFE, 0xDD, 0xF7, 0x78, 0xFB
- .byte 0x00, 0x20, 0xFC, 0xF7, 0x39, 0xFE, 0xEE, 0xF1, 0x41, 0xFD, 0xF5, 0xF1, 0x51, 0xFD, 0x03, 0x48
- .byte 0x00, 0x21, 0xFF, 0xF7, 0xC7, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xD1, 0x04, 0x05, 0x02
- .byte 0x08, 0xB5, 0xE0, 0xF7, 0x3D, 0xFE, 0x01, 0x21, 0xEF, 0xF1, 0xE6, 0xFB, 0xE0, 0xF7, 0x38, 0xFE
- .byte 0x01, 0x21, 0xF7, 0xF1, 0x01, 0xF9, 0xEC, 0xF1, 0xD1, 0xFA, 0xFC, 0xF7, 0xE5, 0xFC, 0xEE, 0xF1
- .byte 0xC3, 0xF8, 0xE1, 0xF7, 0xA5, 0xF9, 0xFF, 0xF7, 0xF7, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7
- .byte 0xA9, 0xFD, 0x08, 0xBD, 0xA5, 0x04, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1, 0x33, 0xFD, 0xFF, 0xF7
- .byte 0x5D, 0xF9, 0x08, 0x48, 0x00, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28, 0x09, 0xD1, 0xDE, 0xF7
- .byte 0x71, 0xFC, 0x00, 0x28, 0x03, 0xD1, 0xE0, 0xF7, 0x43, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7
- .byte 0xCF, 0xFF, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0xFC, 0xF7, 0x65, 0xFB, 0x02, 0x48
- .byte 0x00, 0x21, 0xFF, 0xF7, 0x87, 0xFD, 0x08, 0xBD, 0x8D, 0x05, 0x05, 0x02, 0x00, 0x4B, 0x18, 0x47
- .byte 0x31, 0x78, 0x24, 0x02, 0x08, 0xB5, 0xF5, 0xF1, 0xC1, 0xFC, 0xFC, 0xF7, 0x7F, 0xFB, 0xDE, 0xF7
- .byte 0x51, 0xFC, 0x00, 0x28, 0x03, 0xD1, 0xE0, 0xF7, 0x23, 0xFE, 0x00, 0x28, 0x0E, 0xD0, 0xF4, 0xF1
- .byte 0x79, 0xFE, 0xFC, 0xF7, 0xA1, 0xFC, 0xEE, 0xF1, 0x7F, 0xF8, 0xE1, 0xF7, 0x61, 0xF9, 0xFF, 0xF7
- .byte 0xB3, 0xFA, 0x05, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x65, 0xFD, 0x08, 0xBD, 0x03, 0x48, 0x00, 0x21
- .byte 0xFF, 0xF7, 0x60, 0xFD, 0x08, 0xBD, 0xC0, 0x46, 0xA5, 0x04, 0x05, 0x02, 0x49, 0x05, 0x05, 0x02
- .byte 0x08, 0xB5, 0xFC, 0xF7, 0x31, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x53, 0xFD, 0x08, 0xBD
- .byte 0xF5, 0x05, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xF5, 0xF1, 0x8F, 0xFC, 0xFC, 0xF7
- .byte 0x4D, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x45, 0xFD, 0x08, 0xBD, 0x69, 0x01, 0x05, 0x02
- .byte 0x08, 0xB5, 0xFC, 0xF7, 0x87, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x3B, 0xFD, 0x08, 0xBD
- .byte 0x25, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xF5, 0xF1, 0x77, 0xFC, 0xFC, 0xF7
- .byte 0x35, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x2D, 0xFD, 0x08, 0xBD, 0xD1, 0x04, 0x05, 0x02
- .byte 0x08, 0xB5, 0xE0, 0xF7, 0xA5, 0xFD, 0xE0, 0xF7, 0x19, 0xFC, 0x00, 0x28, 0x07, 0xD0, 0xF0, 0xF1
- .byte 0xF1, 0xF8, 0xDD, 0xF7, 0xC5, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x1B, 0xFD, 0x08, 0xBD
- .byte 0x65, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xDD, 0xF7, 0x2D, 0xFF, 0x00, 0x28
- .byte 0x05, 0xD0, 0xF0, 0xF1, 0xAB, 0xF8, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x0B, 0xFD, 0x08, 0xBD
- .byte 0x85, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0x05, 0x48, 0x00, 0x68, 0x3E, 0x30
- .byte 0x00, 0x78, 0xE1, 0xF7, 0xA1, 0xF9, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFB, 0xFC, 0x08, 0xBD
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0xA9, 0x06, 0x05, 0x02, 0x08, 0xB5, 0xE1, 0xF7, 0xBF, 0xF9, 0x00, 0x28
- .byte 0x05, 0xD0, 0xDD, 0xF7, 0x95, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xEB, 0xFC, 0x08, 0xBD
- .byte 0xC5, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0x62, 0x20, 0xE0, 0xF7, 0x84, 0xFF
- .byte 0x00, 0x28, 0x17, 0xD0, 0xFC, 0xF7, 0x24, 0xFE, 0x01, 0x1C, 0x0F, 0x20, 0xC6, 0xF7, 0x5C, 0xF9
- .byte 0x0F, 0x49, 0x00, 0x22, 0x09, 0x68, 0x89, 0x69, 0xFC, 0xF7, 0x1A, 0xFA, 0xFF, 0xF7, 0x8E, 0xF8
- .byte 0xE0, 0xF7, 0x6A, 0xFC, 0x5C, 0x20, 0xE0, 0xF7, 0x47, 0xFF, 0x0A, 0x48, 0x00, 0x21, 0xFF, 0xF7
- .byte 0xC9, 0xFC, 0x08, 0xBD, 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E
- .byte 0x88, 0x87, 0x08, 0xBD, 0x1E, 0x20, 0x88, 0x87, 0x62, 0x20, 0xE0, 0xF7, 0x35, 0xFF, 0x08, 0xBD
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x29, 0x07, 0x05, 0x02, 0x00, 0xB5, 0x83, 0xB0, 0xE0, 0xF7, 0x30, 0xFD
- .byte 0x00, 0x28, 0x01, 0xD1, 0xDD, 0xF7, 0x58, 0xFB, 0x5C, 0x20, 0xE0, 0xF7, 0x4D, 0xFF, 0x00, 0x28
- .byte 0x19, 0xD0, 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x00, 0x20
- .byte 0x0A, 0x1C, 0x03, 0x1C, 0xBD, 0xF7, 0x3C, 0xFD, 0x00, 0x20, 0xBD, 0xF7, 0x15, 0xFE, 0x01, 0x20
- .byte 0xBD, 0xF7, 0x12, 0xFE, 0xFC, 0xF7, 0x9A, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0xFD, 0xFC, 0x03, 0x48
- .byte 0x01, 0x21, 0xFF, 0xF7, 0x8F, 0xFC, 0x03, 0xB0, 0x00, 0xBD, 0xC0, 0x46, 0xB5, 0x07, 0x05, 0x02
- .byte 0x08, 0xB5, 0x0A, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87
- .byte 0x08, 0xBD, 0x1E, 0x20, 0xE0, 0xF7, 0x20, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0xE0, 0xF7, 0x04, 0xFC
- .byte 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x76, 0xFC, 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0x31, 0x09, 0x05, 0x02, 0x08, 0xB5, 0x0E, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0
- .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0xE3, 0xFC, 0x00, 0x28, 0x07, 0xD1, 0xFE, 0xF7
- .byte 0x9B, 0xFA, 0x00, 0x28, 0x0A, 0xD0, 0x1E, 0x20, 0xE0, 0xF7, 0xD6, 0xFE, 0x02, 0xE0, 0x1E, 0x20
- .byte 0xE0, 0xF7, 0xD2, 0xFE, 0x03, 0x48, 0x14, 0x21, 0xFF, 0xF7, 0x54, 0xFC, 0x08, 0xBD, 0xC0, 0x46
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x81, 0x07, 0x05, 0x02, 0x08, 0xB5, 0x62, 0x20, 0xE0, 0xF7, 0xEC, 0xFE
- .byte 0x00, 0x28, 0x15, 0xD0, 0xFC, 0xF7, 0x8C, 0xFD, 0x01, 0x1C, 0x0F, 0x20, 0xC6, 0xF7, 0xC4, 0xF8
- .byte 0x0E, 0x49, 0x00, 0x22, 0x09, 0x68, 0x89, 0x69, 0xFC, 0xF7, 0x82, 0xF9, 0xFE, 0xF7, 0xF6, 0xFF
- .byte 0x5C, 0x20, 0xE0, 0xF7, 0xB1, 0xFE, 0x0A, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x33, 0xFC, 0x08, 0xBD
- .byte 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD
- .byte 0x1E, 0x20, 0x88, 0x87, 0x62, 0x20, 0xE0, 0xF7, 0x9F, 0xFE, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0x55, 0x08, 0x05, 0x02, 0x08, 0xB5, 0x84, 0xB0, 0xE0, 0xF7, 0x9A, 0xFC, 0x00, 0x28, 0x01, 0xD1
- .byte 0xDD, 0xF7, 0xC2, 0xFA, 0x5C, 0x20, 0xE0, 0xF7, 0xB7, 0xFE, 0x00, 0x28, 0x20, 0xD0, 0xFC, 0xF7
- .byte 0x15, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0x78, 0xFC, 0x01, 0x21, 0x03, 0xA8, 0x01, 0x70, 0x5E, 0x20
- .byte 0x03, 0xA9, 0xE0, 0xF7, 0xA5, 0xFC, 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20
- .byte 0x02, 0x90, 0x00, 0x20, 0x0A, 0x1C, 0x03, 0x1C, 0xBD, 0xF7, 0x9A, 0xFC, 0x00, 0x20, 0xBD, 0xF7
- .byte 0x73, 0xFD, 0x01, 0x20, 0xBD, 0xF7, 0x70, 0xFD, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xF2, 0xFB
- .byte 0x04, 0xB0, 0x08, 0xBD, 0x15, 0x0A, 0x05, 0x02, 0xF8, 0xB5, 0x00, 0x27, 0xE0, 0xF7, 0x30, 0xFB
- .byte 0x00, 0x28, 0x28, 0xDD, 0x18, 0x4E, 0xE0, 0xF7, 0x63, 0xFC, 0x87, 0x42, 0x1E, 0xD0, 0x38, 0x1C
- .byte 0xE0, 0xF7, 0x94, 0xFE, 0x5E, 0x28, 0x19, 0xD1, 0x30, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28
- .byte 0x14, 0xD1, 0x00, 0x24, 0x25, 0x1C, 0x30, 0x68, 0x40, 0x59, 0x00, 0x28, 0x04, 0xD0, 0xC6, 0xF7
- .byte 0x93, 0xF8, 0x31, 0x68, 0x00, 0x20, 0x48, 0x51, 0x64, 0x1C, 0x2D, 0x1D, 0x04, 0x2C, 0xF2, 0xDB
- .byte 0x30, 0x68, 0x0A, 0x49, 0x80, 0x69, 0x00, 0x22, 0xE8, 0xF7, 0xB6, 0xF9, 0x7F, 0x1C, 0xE0, 0xF7
- .byte 0x07, 0xFB, 0x87, 0x42, 0xD7, 0xDB, 0x04, 0x49, 0x04, 0x20, 0x09, 0x68, 0x89, 0x69, 0x89, 0x68
- .byte 0xE2, 0xF7, 0x66, 0xFE, 0xF8, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x8E, 0x23, 0x00, 0x00
- .byte 0x08, 0xB5, 0xFE, 0xF7, 0x07, 0xF9, 0x00, 0x28, 0x0F, 0xD1, 0x09, 0x48, 0x00, 0x21, 0x00, 0x68
- .byte 0x43, 0x30, 0x01, 0x70, 0x01, 0x21, 0x00, 0xA8, 0x01, 0x70, 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7
- .byte 0x3F, 0xFC, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x9D, 0xFB, 0xFF, 0xF7, 0xAD, 0xFF, 0x08, 0xBD
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x15, 0x0A, 0x05, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x0C, 0x1C, 0x0A, 0xD0
- .byte 0x0B, 0x20, 0x1A, 0xF0, 0x9B, 0xFF, 0x0D, 0x49, 0x0A, 0x68, 0x50, 0x64, 0x09, 0x68, 0x20, 0x1C
- .byte 0x49, 0x6C, 0x1B, 0xF0, 0xA5, 0xF8, 0x00, 0x2D, 0x04, 0xD0, 0x09, 0x48, 0x03, 0x21, 0xFF, 0xF7
- .byte 0x81, 0xFB, 0x38, 0xBD, 0x03, 0x21, 0x00, 0xA8, 0x01, 0x70, 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7
- .byte 0x17, 0xFC, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x75, 0xFB, 0x38, 0xBD, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0x8D, 0x0B, 0x05, 0x02, 0x31, 0x09, 0x05, 0x02, 0x01, 0x4B, 0x02, 0x48, 0x00, 0x21, 0x18, 0x47
- .byte 0x95, 0x00, 0x05, 0x02, 0x31, 0x09, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x35, 0xFD, 0x00, 0x28
- .byte 0x19, 0xD1, 0xE0, 0xF7, 0xDD, 0xFB, 0xFE, 0xF7, 0x6D, 0xFE, 0x00, 0x28, 0x13, 0xD1, 0x0A, 0x48
- .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xFE, 0xF7
- .byte 0xF9, 0xFE, 0x05, 0x48, 0x05, 0x49, 0x00, 0x68, 0x80, 0x69, 0x00, 0xF0, 0x41, 0xFF, 0x04, 0x48
- .byte 0x00, 0x21, 0xFF, 0xF7, 0x47, 0xFB, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x69, 0x09, 0x05, 0x02
- .byte 0xB9, 0x09, 0x05, 0x02, 0x08, 0xB5, 0x0A, 0x48, 0x00, 0x68, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28
- .byte 0x0A, 0xD0, 0x08, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x35, 0xFB, 0x00, 0x21, 0x00, 0xA8, 0x01, 0x70
- .byte 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7, 0xCC, 0xFB, 0xFF, 0xF7, 0x3E, 0xFF, 0x08, 0xBD, 0xC0, 0x46
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0xC9, 0x09, 0x05, 0x02, 0x10, 0xB5, 0x14, 0x1C, 0xE0, 0xF7, 0xA0, 0xFB
- .byte 0x21, 0x78, 0x81, 0x42, 0x04, 0xD1, 0x03, 0x48, 0x01, 0x21, 0x00, 0x68, 0x43, 0x30, 0x01, 0x70
- .byte 0x10, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x07, 0x48, 0x00, 0x68, 0x00, 0x28, 0x08, 0xD0
- .byte 0x41, 0x6B, 0x06, 0x48, 0x81, 0x42, 0x02, 0xD0, 0x05, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20
- .byte 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x15, 0x0A, 0x05, 0x02
- .byte 0x31, 0x09, 0x05, 0x02, 0x10, 0xB5, 0x82, 0xB0, 0x19, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28
- .byte 0x03, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x02, 0xB0, 0x10, 0xBD, 0x05, 0x24, 0xE2, 0xF7, 0x42, 0xFD
- .byte 0x02, 0x28, 0x05, 0xD0, 0x04, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x02, 0xD1, 0x0F, 0x24, 0x00, 0xE0
- .byte 0x07, 0x24, 0x00, 0xA8, 0xE2, 0xF7, 0x58, 0xFD, 0x0D, 0x48, 0x00, 0x68, 0x41, 0x6C, 0x80, 0x69
- .byte 0x00, 0x29, 0x04, 0xD1, 0x00, 0xA9, 0x22, 0x1C, 0xF6, 0xF7, 0xC8, 0xFB, 0x0B, 0xE0, 0x22, 0x1C
- .byte 0xF6, 0xF7, 0xE6, 0xFB, 0x06, 0x48, 0x00, 0x68, 0x40, 0x6C, 0xC5, 0xF7, 0x95, 0xFF, 0x04, 0x48
- .byte 0x00, 0x21, 0x00, 0x68, 0x41, 0x64, 0xFF, 0xF7, 0x8B, 0xF8, 0x02, 0xB0, 0x10, 0xBD, 0xC0, 0x46
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0xDE, 0xF7, 0x9F, 0xFF, 0x00, 0x28, 0x17, 0xD0, 0x0C, 0x48
- .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0x48, 0x00, 0x68
- .byte 0x80, 0x8F, 0x5A, 0x28, 0x02, 0xD1, 0x04, 0x20, 0xE0, 0xF7, 0x2E, 0xFD, 0x04, 0x20, 0xE0, 0xF7
- .byte 0x53, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xAB, 0xFA, 0x08, 0xBD
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x95, 0x0A, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48, 0x01, 0x68, 0x88, 0x8F
- .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xDE, 0xF7, 0x59, 0xFF, 0x03, 0x48
- .byte 0x78, 0x21, 0xFF, 0xF7, 0x97, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x05, 0x0B, 0x05, 0x02
- .byte 0x08, 0xB5, 0x03, 0x20, 0xE0, 0xF7, 0x30, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x02, 0x48, 0x02, 0x21
- .byte 0xFF, 0xF7, 0x88, 0xFA, 0x08, 0xBD, 0xC0, 0x46, 0x49, 0x0B, 0x05, 0x02, 0x08, 0xB5, 0x09, 0x48
- .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0x00, 0x20
- .byte 0xFC, 0xF7, 0x9E, 0xF8, 0x03, 0x20, 0xE0, 0xF7, 0xEF, 0xFC, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7
- .byte 0x71, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x71, 0x0B, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7
- .byte 0x19, 0xFF, 0x02, 0x48, 0x02, 0x21, 0xFF, 0xF7, 0x65, 0xFA, 0x08, 0xBD, 0xD1, 0x0B, 0x05, 0x02
- .byte 0x08, 0xB5, 0xDE, 0xF7, 0x1B, 0xF9, 0x00, 0x28, 0x03, 0xD0, 0x02, 0x48, 0x0A, 0x21, 0xFF, 0xF7
- .byte 0x59, 0xFA, 0x08, 0xBD, 0xA9, 0x06, 0x05, 0x02, 0x02, 0x49, 0x01, 0x22, 0x09, 0x68, 0x08, 0x18
- .byte 0x02, 0x74, 0x70, 0x47, 0x6C, 0x5A, 0x1C, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x04, 0x2C, 0x01, 0xDB
- .byte 0xD0, 0xF7, 0x14, 0xF8, 0x02, 0x48, 0x01, 0x68, 0xA0, 0x00, 0x08, 0x58, 0x10, 0xBD, 0xC0, 0x46
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x10, 0xB5, 0xE0, 0xF7, 0xBB, 0xFA, 0x04, 0x1C, 0x5F, 0x20, 0xE0, 0xF7
- .byte 0xDB, 0xFC, 0x00, 0x28, 0x0B, 0xD0, 0x06, 0x49, 0x58, 0x20, 0x0A, 0x68, 0xA1, 0x00, 0x51, 0x58
- .byte 0x04, 0x4A, 0xDF, 0xF7, 0x21, 0xFF, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x2B, 0xFA, 0x10, 0xBD
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0x6C, 0x06, 0x00, 0x00, 0x4D, 0x0C, 0x05, 0x02, 0x38, 0xB5, 0x00, 0x24
- .byte 0xE0, 0xF7, 0x66, 0xF9, 0x00, 0x28, 0x0A, 0xDD, 0x09, 0x4D, 0x28, 0x68, 0x00, 0x19, 0x00, 0x7C
- .byte 0x00, 0x28, 0x0B, 0xD0, 0x64, 0x1C, 0xE0, 0xF7, 0x5B, 0xF9, 0x84, 0x42, 0xF5, 0xDB, 0x61, 0x20
- .byte 0xE0, 0xF7, 0x8A, 0xFC, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x0C, 0xFA, 0x38, 0xBD, 0xC0, 0x46
- .byte 0x6C, 0x5A, 0x1C, 0x02, 0xF5, 0x0C, 0x05, 0x02, 0x08, 0xB5, 0xDE, 0xF7, 0xDD, 0xFE, 0x00, 0x28
- .byte 0x17, 0xD1, 0x0C, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87
- .byte 0x08, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x5A, 0x28, 0x02, 0xD1, 0x05, 0x20, 0xE0, 0xF7, 0x6C, 0xFC
- .byte 0x05, 0x20, 0xE0, 0xF7, 0x91, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7
- .byte 0xE9, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x11, 0x0D, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48
- .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xDE, 0xF7
- .byte 0x9D, 0xFE, 0x03, 0x48, 0x78, 0x21, 0xFF, 0xF7, 0xD5, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0x89, 0x0C, 0x05, 0x02, 0x08, 0xB5, 0x61, 0x20, 0xE0, 0xF7, 0x6E, 0xFC, 0x00, 0x28, 0x03, 0xD0
- .byte 0x02, 0x48, 0x02, 0x21, 0xFF, 0xF7, 0xC6, 0xF9, 0x08, 0xBD, 0xC0, 0x46, 0xCD, 0x0C, 0x05, 0x02
- .byte 0x08, 0xB5, 0x0D, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87
- .byte 0x08, 0xBD, 0x62, 0x20, 0xE0, 0xF7, 0x30, 0xFC, 0x07, 0x48, 0x00, 0x68, 0x42, 0x30, 0x00, 0x78
- .byte 0x00, 0x28, 0x04, 0xD0, 0x05, 0x48, 0x1E, 0x21, 0xFF, 0xF7, 0xAC, 0xF9, 0x08, 0xBD, 0x04, 0x48
- .byte 0x1E, 0x21, 0xFF, 0xF7, 0xA7, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xC9, 0x06, 0x05, 0x02
- .byte 0xF9, 0x07, 0x05, 0x02, 0x08, 0xB5, 0x0B, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0
- .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xED, 0xF1, 0x1D, 0xFA, 0xE0, 0xF7, 0x79, 0xFD, 0x21, 0x20
- .byte 0xC5, 0xF7, 0xAE, 0xFD, 0x03, 0x48, 0x00, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0xFE, 0xF7
- .byte 0x47, 0xFF, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x5B, 0x20, 0xE0, 0xF7, 0x24, 0xFC
- .byte 0x00, 0x28, 0x0A, 0xD0, 0x00, 0x20, 0x01, 0x1C, 0xE2, 0xF7, 0xA6, 0xFB, 0x01, 0x20, 0xFB, 0xF7
- .byte 0x9F, 0xFF, 0x02, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x75, 0xF9, 0x08, 0xBD, 0xC9, 0x0D, 0x05, 0x02
- .byte 0x08, 0xB5, 0x01, 0x20, 0xFB, 0xF7, 0x94, 0xFF, 0x02, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x6A, 0xF9
- .byte 0x08, 0xBD, 0xC0, 0x46, 0xC9, 0x0D, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48, 0x01, 0x68, 0x88, 0x8F
- .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x15, 0xFE, 0x03, 0x48
- .byte 0x00, 0x21, 0xFF, 0xF7, 0x57, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x11, 0xFC, 0x04, 0x02
- .byte 0x08, 0xB5, 0x06, 0x49, 0x09, 0x68, 0x00, 0x29, 0x03, 0xD0, 0x41, 0x31, 0x09, 0x78, 0x00, 0x29
- .byte 0x01, 0xD1, 0x00, 0x20, 0x08, 0xBD, 0xED, 0xF1, 0x51, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02
- .byte 0x08, 0xB5, 0x05, 0x48, 0x00, 0x68, 0x00, 0x28, 0x05, 0xD0, 0x41, 0x30, 0x00, 0x78, 0x00, 0x28
- .byte 0x01, 0xD0, 0xED, 0xF1, 0x79, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x05, 0x48
- .byte 0x00, 0x68, 0x00, 0x28, 0x05, 0xD0, 0x41, 0x30, 0x00, 0x78, 0x00, 0x28, 0x01, 0xD0, 0xED, 0xF1
- .byte 0x89, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xF8, 0xB5, 0x82, 0xB0, 0x07, 0x1C, 0x0D, 0x1C
- .byte 0x09, 0x98, 0x30, 0x21, 0x00, 0x92, 0x01, 0x93, 0xEE, 0x68, 0xC5, 0xF7, 0xBD, 0xFD, 0x00, 0x21
- .byte 0x30, 0x22, 0x04, 0x1C, 0x7D, 0xF0, 0x72, 0xEA, 0xE8, 0x68, 0xD2, 0xF7, 0x43, 0xFD, 0x01, 0x1C
- .byte 0x20, 0x1C, 0x2B, 0xF0, 0x17, 0xFA, 0x30, 0x1C, 0x1A, 0xF0, 0x56, 0xFE, 0xE0, 0x61, 0x30, 0x1C
- .byte 0x28, 0xF0, 0xF6, 0xFE, 0xE0, 0x62, 0x30, 0x1C, 0xD2, 0xF7, 0x3A, 0xFD, 0x60, 0x60, 0x00, 0x98
- .byte 0x20, 0x60, 0x01, 0x20, 0x60, 0x74, 0x01, 0x98, 0x20, 0x75, 0x20, 0x68, 0x1A, 0xF0, 0x86, 0xFD
- .byte 0xE0, 0x74, 0x00, 0x20, 0x20, 0x83, 0x08, 0x98, 0xA0, 0x74, 0x30, 0x1C, 0xD9, 0xF7, 0x34, 0xFD
- .byte 0x20, 0x62, 0x06, 0x49, 0x20, 0x1C, 0x2A, 0xF0, 0xA3, 0xF8, 0x05, 0x49, 0x28, 0x1C, 0x22, 0x1C
- .byte 0xE6, 0xF7, 0x88, 0xFA, 0x3C, 0x60, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0x80, 0x58, 0x0F, 0x02
- .byte 0xE8, 0xA6, 0x0F, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x08, 0x1C, 0x40, 0x21, 0xC5, 0xF7, 0x5C, 0xFD
- .byte 0x00, 0x21, 0x40, 0x22, 0x04, 0x1C, 0x7D, 0xF0, 0x32, 0xEA, 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7
- .byte 0x07, 0xFD, 0xE0, 0x60, 0x68, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x60, 0x61, 0x68, 0x6A, 0xC0, 0x68
- .byte 0x1A, 0xF0, 0x0C, 0xFE, 0x20, 0x60, 0x68, 0x6A, 0xC0, 0x68, 0x1E, 0xF0, 0x25, 0xF9, 0x60, 0x60
- .byte 0x20, 0x1C, 0x00, 0x21, 0x21, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x02, 0x21, 0x20, 0x30, 0x01, 0x70
- .byte 0x68, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x00, 0x28, 0x1C, 0xD0, 0x01, 0x21, 0xD2, 0xF7, 0xEE, 0xFD
- .byte 0x21, 0x1C, 0x32, 0x31, 0x09, 0x78, 0x0F, 0x22, 0x00, 0x06, 0x91, 0x43, 0x02, 0x0E, 0x0F, 0x20
- .byte 0x10, 0x40, 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x32, 0x30, 0x00, 0x78
- .byte 0xF0, 0x21, 0x88, 0x43, 0x21, 0x1C, 0x32, 0x31, 0x09, 0x78, 0x09, 0x07, 0x09, 0x0F, 0x09, 0x07
- .byte 0x09, 0x0E, 0x0F, 0xE0, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x78, 0x0F, 0x20, 0x81, 0x43, 0x03, 0x20
- .byte 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x78, 0xF0, 0x20
- .byte 0x81, 0x43, 0x30, 0x20, 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x21
- .byte 0x33, 0x30, 0x01, 0x70, 0x28, 0x1C, 0x3C, 0x30, 0x01, 0x78, 0x20, 0x1C, 0x22, 0x30, 0x01, 0x70
- .byte 0x00, 0x22, 0xA8, 0x18, 0x3D, 0x30, 0x01, 0x78, 0xA0, 0x18, 0x2C, 0x30, 0x52, 0x1C, 0x01, 0x70
- .byte 0x06, 0x2A, 0xF6, 0xDB, 0x68, 0x6A, 0x03, 0x49, 0x22, 0x1C, 0xE6, 0xF7, 0x0B, 0xFA, 0x6C, 0x60
- .byte 0x38, 0xBD, 0xC0, 0x46, 0xDC, 0x96, 0x0F, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xF5, 0xF7
- .byte 0x55, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x10, 0xBD, 0x60, 0x68, 0x21, 0x1C, 0x2C, 0x30
- .byte 0x3D, 0x31, 0x06, 0x22, 0x7D, 0xF0, 0xFC, 0xE9, 0x60, 0x68, 0x22, 0x30, 0x00, 0x78, 0x06, 0x28
- .byte 0x04, 0xD0, 0x07, 0x28, 0x05, 0xD1, 0x00, 0x20, 0xA0, 0x63, 0x04, 0xE0, 0x01, 0x20, 0xA0, 0x63
- .byte 0x01, 0xE0, 0x02, 0x20, 0xA0, 0x63, 0x60, 0x68, 0x22, 0x30, 0x01, 0x78, 0x20, 0x1C, 0x3C, 0x30
- .byte 0x01, 0x70, 0x60, 0x68, 0xC5, 0xF7, 0x00, 0xFD, 0x00, 0x20, 0x60, 0x60, 0x01, 0x20, 0x10, 0xBD
- .byte 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xF5, 0xF7, 0x29, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20
- .byte 0x10, 0xBD, 0x20, 0x68, 0x01, 0x7D, 0x20, 0x1C, 0x3C, 0x30, 0x01, 0x70, 0x20, 0x68, 0xC5, 0xF7
- .byte 0xEB, 0xFC, 0x00, 0x20, 0x20, 0x60, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x40, 0x6A
- .byte 0xF5, 0xF7, 0x28, 0xFA, 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20, 0x86, 0xF1, 0x23, 0xFE, 0xFB, 0xF7
- .byte 0x1D, 0xFE, 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0xDF, 0xF7
- .byte 0x57, 0xFF, 0x05, 0x1C, 0x00, 0x24, 0x00, 0x2D, 0x09, 0xDD, 0x20, 0x1C, 0xE0, 0xF7, 0xBE, 0xFA
- .byte 0x5E, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x38, 0xBD, 0x64, 0x1C, 0xAC, 0x42, 0xF5, 0xDB, 0x00, 0x20
- .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x82, 0xB0, 0x05, 0x1C, 0xF5, 0xF7, 0x47, 0xFA, 0x04, 0x1C
- .byte 0x28, 0x1C, 0xF5, 0xF7, 0x41, 0xFA, 0x61, 0x6B, 0x2C, 0x29, 0x00, 0xD9, 0x84, 0xE3, 0x49, 0x18
- .byte 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14, 0x8F, 0x44, 0x58, 0x00, 0x7A, 0x00, 0x94, 0x00
- .byte 0xAE, 0x00, 0xEA, 0x00, 0x3A, 0x01, 0xFC, 0x06, 0x28, 0x01, 0x50, 0x01, 0x76, 0x01, 0x82, 0x01
- .byte 0xAE, 0x01, 0xCC, 0x01, 0xE0, 0x01, 0xEC, 0x01, 0x0E, 0x02, 0x24, 0x02, 0x52, 0x02, 0x78, 0x02
- .byte 0x8A, 0x02, 0xCE, 0x02, 0xAE, 0x02, 0xEA, 0x02, 0xFA, 0x02, 0x18, 0x03, 0x36, 0x03, 0x4A, 0x03
- .byte 0xB6, 0x03, 0xEC, 0x03, 0x02, 0x04, 0x4C, 0x04, 0x84, 0x04, 0xAA, 0x04, 0xCA, 0x05, 0xFA, 0x05
- .byte 0x12, 0x06, 0xFE, 0x04, 0x3C, 0x05, 0x58, 0x05, 0x22, 0x06, 0xFC, 0x06, 0x46, 0x06, 0x88, 0x06
- .byte 0xAA, 0x06, 0xDC, 0x06, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x43, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x57, 0xD1, 0x01, 0x20, 0x60, 0x63
- .byte 0xFD, 0xF7, 0xC6, 0xFD, 0x40, 0xE3, 0xE0, 0x6A, 0xE2, 0x68, 0x01, 0x21, 0xB9, 0xF7, 0xD0, 0xFB
- .byte 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x3C, 0xFB, 0x20, 0x63, 0x02, 0x20, 0x60, 0x63, 0x33, 0xE3
- .byte 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0xB7, 0xFA, 0x00, 0x28, 0x3E, 0xD0, 0x5D, 0x20
- .byte 0xE0, 0xF7, 0x12, 0xFA, 0x03, 0x20, 0x60, 0x63, 0x26, 0xE3, 0x5D, 0x20, 0xE0, 0xF7, 0x34, 0xFA
- .byte 0x00, 0x28, 0x0A, 0xD0, 0x07, 0x20, 0x60, 0x63, 0x60, 0x6A, 0x40, 0x6B, 0x07, 0xF0, 0xF4, 0xFA
- .byte 0x21, 0x6D, 0xA2, 0x68, 0x01, 0x20, 0x90, 0x47, 0x16, 0xE3, 0xC6, 0x48, 0x81, 0x6C, 0x02, 0x20
- .byte 0x08, 0x42, 0x23, 0xD0, 0x04, 0x20, 0x60, 0x63, 0x5C, 0x20, 0xE0, 0xF7, 0xF5, 0xF9, 0x05, 0x20
- .byte 0x43, 0x34, 0x20, 0x70, 0x08, 0xE3, 0x5D, 0x20, 0xE0, 0xF7, 0x16, 0xFA, 0x00, 0x28, 0x09, 0xD0
- .byte 0x07, 0x20, 0x60, 0x63, 0x60, 0x6A, 0x40, 0x6B, 0x07, 0xF0, 0xD6, 0xFA, 0x21, 0x6D, 0xA2, 0x68
- .byte 0x01, 0x20, 0x90, 0x47, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x43, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0xEC, 0xE2, 0x08, 0x20
- .byte 0x60, 0x63, 0xE9, 0xE2, 0x20, 0x1C, 0x00, 0xF0, 0xD7, 0xFB, 0x20, 0x1C, 0xC5, 0xF7, 0x14, 0xFC
- .byte 0x02, 0xB0, 0x01, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0xCE, 0xFB, 0x20, 0x1C, 0xC5, 0xF7
- .byte 0x0B, 0xFC, 0xFE, 0xF7, 0xFB, 0xFA, 0x02, 0xB0, 0x01, 0x20, 0x38, 0xBD, 0x5D, 0x20, 0xE0, 0xF7
- .byte 0xE3, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0x05, 0x20, 0x60, 0x63, 0x21, 0x6D, 0xA2, 0x68, 0x01, 0x20
- .byte 0x90, 0x47, 0xC9, 0xE2, 0x21, 0x6D, 0xA2, 0x68, 0x00, 0x20, 0x90, 0x47, 0x05, 0x20, 0x60, 0x63
- .byte 0xC2, 0xE2, 0x0A, 0x20, 0x60, 0x63, 0x05, 0x20, 0x44, 0x34, 0x20, 0x70, 0xBC, 0xE2, 0x21, 0x1C
- .byte 0x44, 0x31, 0x09, 0x78, 0x00, 0x29, 0x06, 0xD0, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x44, 0x34
- .byte 0x40, 0x1E, 0x20, 0x70, 0xB0, 0xE2, 0x80, 0x6B, 0x04, 0xF0, 0xA2, 0xF8, 0x09, 0xF0, 0xE4, 0xFD
- .byte 0x00, 0x28, 0x4A, 0xD0, 0x0B, 0x20, 0x60, 0x63, 0xA6, 0xE2, 0xFD, 0xF7, 0x29, 0xFD, 0xE0, 0x6A
- .byte 0xE2, 0x68, 0x0D, 0x21, 0xB9, 0xF7, 0x34, 0xFB, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xA0, 0xFA
- .byte 0x20, 0x63, 0x0C, 0x20, 0x60, 0x63, 0x97, 0xE2, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0
- .byte 0x1B, 0xFA, 0x00, 0x28, 0x31, 0xD0, 0x0D, 0x20, 0x60, 0x63, 0x8D, 0xE2, 0x00, 0x20, 0x86, 0xF1
- .byte 0x01, 0xFD, 0x0E, 0x20, 0x60, 0x63, 0x87, 0xE2, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E
- .byte 0x20, 0x1C, 0x43, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x1C, 0xD1
- .byte 0xFD, 0xF7, 0xFE, 0xFC, 0x0F, 0x20, 0x60, 0x63, 0x76, 0xE2, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0
- .byte 0x9F, 0xFA, 0x20, 0x1C, 0x0B, 0x21, 0xFF, 0xF7, 0xFD, 0xFD, 0x10, 0x20, 0x60, 0x63, 0x6B, 0xE2
- .byte 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x70, 0xFE, 0x00, 0x28, 0x06, 0xD0, 0xA0, 0x6B, 0x00, 0x28
- .byte 0x04, 0xD0, 0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x06, 0xD0, 0x5D, 0xE2, 0x14, 0x20, 0x60, 0x63
- .byte 0x5A, 0xE2, 0x13, 0x20, 0x60, 0x63, 0x57, 0xE2, 0x11, 0x20, 0x60, 0x63, 0x54, 0xE2, 0x60, 0x6A
- .byte 0xC0, 0x68, 0x1A, 0xF0, 0x03, 0xFC, 0x02, 0x1C, 0x00, 0x20, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x90
- .byte 0x23, 0x1C, 0x3C, 0x33, 0x1B, 0x78, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x8D, 0xFD, 0x12, 0x20
- .byte 0x60, 0x63, 0x41, 0xE2, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x72, 0xFE, 0x00, 0x28, 0x67, 0xD0
- .byte 0x0F, 0x20, 0x60, 0x63, 0x38, 0xE2, 0x60, 0x6A, 0xF5, 0xF7, 0xA8, 0xF8, 0x20, 0x1C, 0x88, 0x30
- .byte 0x00, 0x78, 0x03, 0x28, 0x06, 0xD0, 0x20, 0x1C, 0x05, 0x21, 0x43, 0x30, 0x01, 0x70, 0x15, 0x20
- .byte 0x60, 0x63, 0x29, 0xE2, 0x1A, 0x20, 0x60, 0x63, 0x26, 0xE2, 0x20, 0x1C, 0x3D, 0x30, 0xE2, 0xF7
- .byte 0xF9, 0xF8, 0x20, 0x1C, 0xFF, 0xF7, 0x6A, 0xFE, 0x00, 0x28, 0x49, 0xD0, 0x20, 0x1C, 0x05, 0x21
- .byte 0x43, 0x30, 0x01, 0x70, 0x00, 0x20, 0x60, 0x63, 0x16, 0xE2, 0x60, 0x6A, 0xF5, 0xF7, 0x86, 0xF8
- .byte 0x20, 0x1C, 0x88, 0x30, 0x00, 0x78, 0x03, 0x28, 0x02, 0xD0, 0x16, 0x20, 0x60, 0x63, 0x0B, 0xE2
- .byte 0x1A, 0x20, 0x60, 0x63, 0x08, 0xE2, 0x20, 0x1C, 0xFF, 0xF7, 0x50, 0xFE, 0x00, 0x28, 0x2F, 0xD0
- .byte 0x08, 0x20, 0x60, 0x63, 0x00, 0xE2, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C
- .byte 0x44, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x00, 0x28, 0x20, 0xD1, 0x18, 0x20
- .byte 0x60, 0x63, 0xF1, 0xE1, 0xFD, 0xF7, 0x74, 0xFC, 0xE0, 0x6A, 0xE2, 0x68, 0x13, 0x21, 0xB9, 0xF7
- .byte 0x7F, 0xFA, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xEB, 0xF9, 0x20, 0x63, 0x19, 0x20, 0x60, 0x63
- .byte 0xE2, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0x66, 0xF9, 0x00, 0x28, 0x07, 0xD0
- .byte 0x0D, 0x20, 0x60, 0x63, 0xD8, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0x20, 0xFE, 0x00, 0x28, 0x00, 0xD1
- .byte 0xD2, 0xE1, 0xFF, 0xF7, 0x2B, 0xFE, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x60, 0x63, 0xCB, 0xE1
- .byte 0xA0, 0x6B, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x21, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x1C, 0x82, 0x30
- .byte 0x01, 0x70, 0x21, 0x1C, 0x82, 0x31, 0x09, 0x78, 0x20, 0x1C, 0x00, 0xF0, 0xD9, 0xFA, 0x00, 0x20
- .byte 0xE0, 0xF7, 0xA2, 0xF8, 0xA0, 0x6A, 0x62, 0x6F, 0x00, 0x21, 0xB9, 0xF7, 0xB9, 0xFB, 0xE0, 0x6A
- .byte 0xE2, 0x68, 0x0E, 0x21, 0xB9, 0xF7, 0x44, 0xFA, 0xA0, 0x6A, 0x21, 0x69, 0xE2, 0x68, 0xBA, 0xF7
- .byte 0xAB, 0xF9, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xF9, 0x20, 0x63, 0x1B, 0x20, 0x60, 0x63
- .byte 0xA2, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0x26, 0xF9, 0x00, 0x28, 0x79, 0xD0
- .byte 0xFF, 0xF7, 0xF4, 0xFD, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x60, 0x63, 0x94, 0xE1, 0x00, 0x20
- .byte 0xE0, 0xF7, 0xA2, 0xF8, 0x00, 0x28, 0x6D, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xCD, 0xFA, 0x1C, 0x20
- .byte 0x60, 0x63, 0x89, 0xE1, 0xB8, 0x48, 0x1C, 0x02, 0x20, 0x1C, 0x00, 0xF0, 0xE9, 0xFA, 0x00, 0x28
- .byte 0x60, 0xD0, 0x01, 0x20, 0xE0, 0xF7, 0x68, 0xF8, 0x1D, 0x20, 0x60, 0x63, 0x7C, 0xE1, 0x01, 0x20
- .byte 0xE0, 0xF7, 0x8A, 0xF8, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xE1, 0xFA, 0x21, 0x1C
- .byte 0x83, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x82, 0x30, 0x00, 0x78, 0x00, 0x28, 0x11, 0xD0, 0x20, 0x1C
- .byte 0x83, 0x30, 0x00, 0x78, 0x00, 0x28, 0x0C, 0xD0, 0xE0, 0x6A, 0xE2, 0x68, 0x14, 0x21, 0xB9, 0xF7
- .byte 0xF7, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x63, 0xF9, 0x20, 0x63, 0x1E, 0x20, 0x60, 0x63
- .byte 0x5A, 0xE1, 0x2A, 0x20, 0x60, 0x63, 0x57, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0
- .byte 0xDB, 0xF8, 0x00, 0x28, 0x2E, 0xD0, 0x20, 0x1C, 0x00, 0x21, 0x89, 0x30, 0x01, 0x70, 0xE0, 0x6A
- .byte 0xE2, 0x68, 0x11, 0x21, 0xB9, 0xF7, 0xDC, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x48, 0xF9
- .byte 0x20, 0x63, 0x20, 0x1C, 0x00, 0x21, 0x84, 0x30, 0x01, 0x70, 0x1F, 0x20, 0x60, 0x63, 0x3B, 0xE1
- .byte 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0xBF, 0xF8, 0x00, 0x28, 0x12, 0xD0, 0x20, 0x1C
- .byte 0x00, 0xF0, 0xCE, 0xFA, 0x21, 0x1C, 0x84, 0x31, 0x09, 0x78, 0x20, 0x1C, 0x00, 0xF0, 0x04, 0xFB
- .byte 0x20, 0x20, 0x60, 0x63, 0x28, 0xE1, 0x20, 0x1C, 0x00, 0xF0, 0xF4, 0xFB, 0x01, 0x28, 0x02, 0xD0
- .byte 0x02, 0x28, 0x0B, 0xD0, 0x20, 0xE1, 0x20, 0x1C, 0x00, 0xF0, 0x54, 0xFC, 0x81, 0x20, 0x21, 0x56
- .byte 0x20, 0x1C, 0x84, 0x30, 0x01, 0x70, 0x24, 0x20, 0x60, 0x63, 0x15, 0xE1, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x49, 0xFC, 0x20, 0x1C, 0xFF, 0x21, 0x84, 0x30, 0x01, 0x70, 0xE0, 0x6A, 0xE2, 0x68, 0x0F, 0x21
- .byte 0xB9, 0xF7, 0x9E, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x0A, 0xF9, 0x20, 0x63, 0x02, 0x20
- .byte 0xDF, 0xF7, 0xEA, 0xFF, 0x27, 0x20, 0x60, 0x63, 0xFE, 0xE0, 0x21, 0x1C, 0x84, 0x31, 0x09, 0x78
- .byte 0x20, 0x6D, 0x1A, 0xF0, 0xF5, 0xF9, 0x17, 0xF0, 0x8D, 0xFD, 0x02, 0x1C, 0xA0, 0x6A, 0x01, 0x21
- .byte 0xB9, 0xF7, 0x46, 0xFB, 0xE0, 0x6A, 0xE2, 0x68, 0x12, 0x21, 0xB9, 0xF7, 0x81, 0xF9, 0xA0, 0x6A
- .byte 0x21, 0x69, 0xE2, 0x68, 0xBA, 0xF7, 0xE8, 0xF8, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xE8, 0xF8
- .byte 0x20, 0x63, 0x25, 0x20, 0x60, 0x63, 0xDF, 0xE0, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0
- .byte 0x63, 0xF8, 0x00, 0x28, 0x43, 0xD0, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x3D, 0xFB, 0x26, 0x20
- .byte 0x60, 0x63, 0xD1, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x9D, 0xFB, 0x01, 0x28, 0x11, 0xD0, 0x02, 0x28
- .byte 0x35, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xFE, 0xFB, 0xE0, 0x6A, 0xE2, 0x68, 0x11, 0x21, 0xB9, 0xF7
- .byte 0x57, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xC3, 0xF8, 0x20, 0x63, 0x1F, 0x20, 0x60, 0x63
- .byte 0xBA, 0xE0, 0x81, 0x20, 0x20, 0x56, 0x01, 0x28, 0x17, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xEA, 0xFB
- .byte 0xE0, 0x6A, 0xE2, 0x68, 0x0E, 0x21, 0xB9, 0xF7, 0x43, 0xF9, 0xA0, 0x6A, 0x21, 0x69, 0xE2, 0x68
- .byte 0xBA, 0xF7, 0xAA, 0xF8, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF8, 0x20, 0x63, 0x02, 0x20
- .byte 0xDF, 0xF7, 0x8A, 0xFF, 0x27, 0x20, 0x60, 0x63, 0x9E, 0xE0, 0x00, 0x20, 0x86, 0xF1, 0x12, 0xFB
- .byte 0x21, 0x20, 0x60, 0x63, 0x98, 0xE0, 0xBC, 0xF7, 0x3F, 0xFE, 0x00, 0x28, 0x00, 0xD1, 0x93, 0xE0
- .byte 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xBC, 0xF8, 0x01, 0x20, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x90
- .byte 0x23, 0x1C, 0x84, 0x33, 0x1B, 0x78, 0x61, 0x6A, 0x22, 0x6D, 0x20, 0x1C, 0xFF, 0xF7, 0xCC, 0xFB
- .byte 0x22, 0x20, 0x60, 0x63, 0x80, 0xE0, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0xB1, 0xFC, 0x00, 0x28
- .byte 0x7A, 0xD0, 0x60, 0x6A, 0xF4, 0xF7, 0xEA, 0xFE, 0x23, 0x20, 0x60, 0x63, 0x74, 0xE0, 0x20, 0x1C
- .byte 0xFF, 0xF7, 0xBC, 0xFC, 0x00, 0x28, 0x6F, 0xD0, 0x24, 0x20, 0x60, 0x63, 0x6C, 0xE0, 0x20, 0x6B
- .byte 0x00, 0x06, 0x00, 0x0E, 0x02, 0xF0, 0xF0, 0xFF, 0x00, 0x28, 0x65, 0xD0, 0x02, 0x20, 0xDF, 0xF7
- .byte 0x73, 0xFF, 0x00, 0x28, 0x60, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xD4, 0xF9, 0x29, 0x20, 0x60, 0x63
- .byte 0x5A, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xEC, 0xF9, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x84, 0x30
- .byte 0x00, 0x78, 0xFF, 0x28, 0x05, 0xD1, 0x04, 0x20, 0xDF, 0xF7, 0x36, 0xFF, 0x2C, 0x20, 0x60, 0x63
- .byte 0x4A, 0xE0, 0x20, 0x1C, 0x85, 0x30, 0x00, 0x78, 0xFF, 0x28, 0x02, 0xD1, 0x2A, 0x20, 0x60, 0x63
- .byte 0x42, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xF2, 0xF9, 0x5D, 0x20, 0xDF, 0xF7, 0x25, 0xFF, 0x02, 0x20
- .byte 0x60, 0x63, 0x39, 0xE0, 0xE0, 0x6A, 0xE2, 0x68, 0x0F, 0x21, 0xB9, 0xF7, 0xC9, 0xF8, 0xE1, 0x68
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x35, 0xF8, 0x20, 0x63, 0x20, 0x1C, 0x00, 0x21, 0x43, 0x30, 0x01, 0x70
- .byte 0x2B, 0x20, 0x60, 0x63, 0x28, 0xE0, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x02, 0xF0, 0xAC, 0xFF
- .byte 0x00, 0x28, 0x21, 0xD0, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x20, 0x1C, 0x43, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x3C, 0x28, 0x15, 0xD9, 0x04, 0x20, 0xDF, 0xF7
- .byte 0xFB, 0xFE, 0x2C, 0x20, 0x60, 0x63, 0x0F, 0xE0, 0x04, 0x20, 0xDF, 0xF7, 0x1D, 0xFF, 0x00, 0x28
- .byte 0x0A, 0xD0, 0x20, 0x1C, 0x14, 0x30, 0x00, 0x21, 0xBB, 0xF7, 0x9A, 0xFC, 0x00, 0x20, 0xA2, 0x68
- .byte 0x01, 0x1C, 0x90, 0x47, 0x05, 0x20, 0x60, 0x63, 0x00, 0x20, 0x02, 0xB0, 0x38, 0xBD, 0x00, 0x00
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x2C, 0x1C, 0x14, 0x34, 0x20, 0x1C, 0x0E, 0x1C, 0xC7, 0xF7, 0x3C, 0xFC
- .byte 0x00, 0x28, 0x0E, 0xD1, 0x68, 0x6A, 0x21, 0x1C, 0x80, 0x68, 0x03, 0x22, 0x02, 0xF0, 0xEC, 0xFE
- .byte 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7, 0x8C, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x02, 0xF0, 0x0C, 0xFF
- .byte 0x02, 0xE0, 0x20, 0x1C, 0x02, 0xF0, 0x2A, 0xFF, 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7, 0x80, 0xF8
- .byte 0x02, 0x1C, 0x20, 0x1C, 0x31, 0x1C, 0x01, 0x23, 0x02, 0xF0, 0x26, 0xFF, 0x70, 0xBD, 0x00, 0x00
- .byte 0x38, 0xB5, 0x05, 0x1C, 0x14, 0x30, 0x0C, 0x1C, 0xC7, 0xF7, 0x16, 0xFC, 0x00, 0x28, 0x12, 0xD0
- .byte 0x00, 0x2C, 0x08, 0xD0, 0x28, 0x1C, 0x14, 0x30, 0x00, 0x21, 0xBB, 0xF7, 0x59, 0xFC, 0x28, 0x1C
- .byte 0x14, 0x30, 0xC7, 0xF7, 0x9D, 0xFE, 0x28, 0x1C, 0x14, 0x30, 0xC7, 0xF7, 0x9D, 0xFC, 0x28, 0x1C
- .byte 0x14, 0x30, 0xC7, 0xF7, 0xEB, 0xFB, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7, 0xFD, 0xFB, 0x00, 0x28
- .byte 0x07, 0xD0, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7, 0x8F, 0xFC, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7
- .byte 0xDD, 0xFB, 0x28, 0x1C, 0x64, 0x30, 0xC7, 0xF7, 0xEF, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C
- .byte 0x64, 0x30, 0xC7, 0xF7, 0x81, 0xFC, 0x64, 0x35, 0x28, 0x1C, 0xC7, 0xF7, 0xCF, 0xFB, 0x38, 0xBD
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x69, 0x0E, 0x1C, 0x00, 0x28, 0x00, 0xD0, 0x81, 0xE0, 0x0B, 0x20
- .byte 0x8C, 0x21, 0xC5, 0xF7, 0xA1, 0xF8, 0x04, 0x1C, 0x00, 0x21, 0x8C, 0x22, 0x7C, 0xF0, 0x56, 0xED
- .byte 0x20, 0x1C, 0x05, 0x21, 0x43, 0x30, 0x01, 0x70, 0x65, 0x62, 0xA6, 0x60, 0x0B, 0x20, 0xB9, 0xF7
- .byte 0xE7, 0xF8, 0xA0, 0x62, 0x00, 0x20, 0x1A, 0x21, 0x09, 0x22, 0x0B, 0x23, 0xB8, 0xF7, 0xD6, 0xFF
- .byte 0xE0, 0x62, 0xC8, 0x20, 0x0B, 0x21, 0xD0, 0xF7, 0x95, 0xF8, 0xE0, 0x60, 0xC8, 0x20, 0x0B, 0x21
- .byte 0xD0, 0xF7, 0x90, 0xF8, 0x20, 0x61, 0x20, 0x1C, 0x14, 0x30, 0xC7, 0xF7, 0x9F, 0xFB, 0x20, 0x1C
- .byte 0x54, 0x30, 0xC7, 0xF7, 0x9B, 0xFB, 0x20, 0x1C, 0x64, 0x30, 0xC7, 0xF7, 0x97, 0xFB, 0x0B, 0x20
- .byte 0xC1, 0xF7, 0xCE, 0xFE, 0xA0, 0x67, 0xE1, 0xF7, 0x1D, 0xFE, 0x21, 0x1C, 0x88, 0x31, 0x08, 0x70
- .byte 0x00, 0x21, 0xE1, 0x64, 0xA1, 0x64, 0x20, 0x1C, 0x21, 0x65, 0x89, 0x30, 0x01, 0x70, 0xDF, 0xF7
- .byte 0x3F, 0xFC, 0x21, 0x1C, 0x86, 0x31, 0x08, 0x80, 0x20, 0x1C, 0x86, 0x30, 0x01, 0x88, 0x01, 0x20
- .byte 0x48, 0x40, 0xDC, 0xF7, 0x3F, 0xFB, 0x60, 0x67, 0x20, 0x1C, 0x88, 0x30, 0x00, 0x78, 0x03, 0x28
- .byte 0x02, 0xD0, 0x04, 0x28, 0x1B, 0xD0, 0x1D, 0xE0, 0x00, 0xF0, 0x8C, 0xFA, 0x06, 0x1C, 0x0B, 0x20
- .byte 0x31, 0x1C, 0xC5, 0xF7, 0x49, 0xF8, 0xE0, 0x64, 0x0B, 0x20, 0x31, 0x1C, 0xC5, 0xF7, 0x44, 0xF8
- .byte 0xA0, 0x64, 0x0B, 0x20, 0x19, 0xF0, 0xAA, 0xFF, 0x03, 0x21, 0x20, 0x65, 0x19, 0xF0, 0xB6, 0xFF
- .byte 0x20, 0x1C, 0x05, 0x21, 0x44, 0x30, 0x01, 0x70, 0x17, 0x20, 0x60, 0x63, 0x0C, 0xE0, 0x09, 0x20
- .byte 0x60, 0x63, 0x09, 0xE0, 0x60, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x09, 0x20
- .byte 0x60, 0x63, 0x01, 0xE0, 0x00, 0x20, 0x60, 0x63, 0x02, 0x49, 0x28, 0x1C, 0x22, 0x1C, 0xF4, 0xF7
- .byte 0x1D, 0xFD, 0x70, 0xBD, 0x95, 0x10, 0x05, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x20, 0x6D, 0x00, 0x28
- .byte 0x01, 0xD0, 0xC5, 0xF7, 0x39, 0xF8, 0xE0, 0x6C, 0x00, 0x28, 0x01, 0xD0, 0xC5, 0xF7, 0x34, 0xF8
- .byte 0xA0, 0x6C, 0x00, 0x28, 0x01, 0xD0, 0xC5, 0xF7, 0x2F, 0xF8, 0xE0, 0x6A, 0xB8, 0xF7, 0x7C, 0xFF
- .byte 0xA0, 0x6A, 0xB9, 0xF7, 0xA9, 0xF8, 0xE0, 0x68, 0xD0, 0xF7, 0x2A, 0xF8, 0x20, 0x69, 0xD0, 0xF7
- .byte 0x27, 0xF8, 0xA0, 0x6F, 0xC1, 0xF7, 0x74, 0xFE, 0x20, 0x1C, 0x01, 0x21, 0xFF, 0xF7, 0x18, 0xFF
- .byte 0x10, 0xBD, 0x00, 0x00, 0x01, 0x4B, 0x00, 0x69, 0x18, 0x47, 0xC0, 0x46, 0x2D, 0x65, 0x04, 0x02
- .byte 0xF8, 0xB5, 0x07, 0x1C, 0x78, 0x6A, 0x0D, 0x1C, 0xC0, 0x68, 0x1A, 0xF0, 0x8F, 0xF8, 0x00, 0x90
- .byte 0xFC, 0x6C, 0x17, 0xF0, 0x5F, 0xFB, 0x06, 0x1C, 0x70, 0x00, 0x30, 0x18, 0x25, 0x50, 0x20, 0x58
- .byte 0x00, 0x28, 0x0F, 0xD0, 0x00, 0x25, 0x79, 0x19, 0x3D, 0x31, 0x09, 0x78, 0x00, 0x98, 0x49, 0x1E
- .byte 0x19, 0xF0, 0xC6, 0xFF, 0x21, 0x1C, 0x32, 0x1C, 0x7C, 0xF0, 0xDA, 0xEC, 0x6D, 0x1C, 0xA4, 0x19
- .byte 0x03, 0x2D, 0xF0, 0xDB, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x89, 0x30, 0x01, 0x78
- .byte 0x01, 0x20, 0x01, 0x42, 0x1A, 0xD1, 0xEC, 0x6C, 0x00, 0xF0, 0x04, 0xFA, 0x02, 0x1C, 0x28, 0x1C
- .byte 0x86, 0x30, 0x00, 0x88, 0x00, 0x28, 0x04, 0xD1, 0x6A, 0x20, 0x21, 0x1C, 0xDF, 0xF7, 0x6E, 0xF8
- .byte 0x03, 0xE0, 0x6A, 0x20, 0x21, 0x1C, 0xDF, 0xF7, 0x07, 0xF8, 0x00, 0x28, 0x06, 0xD0, 0x29, 0x1C
- .byte 0x89, 0x31, 0x0A, 0x78, 0x01, 0x21, 0x89, 0x35, 0x11, 0x43, 0x29, 0x70, 0x38, 0xBD, 0x00, 0x00
- .byte 0x89, 0x30, 0x00, 0x78, 0x03, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47
- .byte 0x10, 0xB5, 0x04, 0x1C, 0x17, 0xF0, 0x16, 0xFB, 0x41, 0x00, 0xA2, 0x6C, 0x40, 0x18, 0x10, 0x58
- .byte 0x10, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x86, 0x30, 0x00, 0x88, 0x00, 0x28, 0x06, 0xD1
- .byte 0x21, 0x1C, 0x6B, 0x20, 0x84, 0x31, 0x01, 0x22, 0xDF, 0xF7, 0x84, 0xF8, 0x05, 0xE0, 0x21, 0x1C
- .byte 0x6B, 0x20, 0x84, 0x31, 0x01, 0x22, 0xDF, 0xF7, 0x09, 0xF8, 0x00, 0x28, 0x06, 0xD0, 0x21, 0x1C
- .byte 0x89, 0x31, 0x0A, 0x78, 0x01, 0x21, 0x89, 0x34, 0x11, 0x43, 0x21, 0x70, 0x10, 0xBD, 0x00, 0x00
- .byte 0x89, 0x30, 0x00, 0x78, 0x03, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47
- .byte 0x70, 0xB5, 0x05, 0x1C, 0x17, 0xF0, 0xE6, 0xFA, 0x06, 0x1C, 0x28, 0x6D, 0x03, 0x21, 0x19, 0xF0
- .byte 0xE5, 0xFE, 0x00, 0x24, 0x21, 0x1C, 0xAA, 0x6C, 0x71, 0x43, 0x28, 0x6D, 0x51, 0x18, 0x19, 0xF0
- .byte 0xF7, 0xFE, 0x64, 0x1C, 0x03, 0x2C, 0xF5, 0xDB, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x06, 0x1C
- .byte 0x17, 0xF0, 0xD0, 0xFA, 0x04, 0x1C, 0x30, 0x1C, 0x84, 0x30, 0x00, 0x78, 0xB2, 0x6C, 0xF3, 0x6C
- .byte 0x01, 0x1C, 0x61, 0x43, 0x50, 0x18, 0x31, 0x1C, 0x85, 0x31, 0x09, 0x78, 0x0A, 0x1C, 0x62, 0x43
- .byte 0x99, 0x18, 0x22, 0x1C, 0x7C, 0xF0, 0x4C, 0xEC, 0x30, 0x6D, 0x03, 0x21, 0x19, 0xF0, 0xBE, 0xFE
- .byte 0x00, 0x25, 0x29, 0x1C, 0xF2, 0x6C, 0x61, 0x43, 0x30, 0x6D, 0x51, 0x18, 0x19, 0xF0, 0xD0, 0xFE
- .byte 0x6D, 0x1C, 0x03, 0x2D, 0xF5, 0xDB, 0x70, 0xBD, 0xF0, 0xB5, 0x89, 0xB0, 0x05, 0x1C, 0x08, 0x90
- .byte 0x54, 0x30, 0x05, 0x91, 0x08, 0x90, 0xC7, 0xF7, 0x67, 0xFA, 0x00, 0x28, 0x5A, 0xD1, 0x41, 0x4A
- .byte 0x01, 0x20, 0x1A, 0x21, 0x04, 0x23, 0xB8, 0xF7, 0x71, 0xFE, 0x06, 0x90, 0x17, 0xF0, 0x9A, 0xFA
- .byte 0x07, 0x90, 0x09, 0x20, 0x00, 0x90, 0x0A, 0x21, 0x01, 0x91, 0x08, 0x20, 0x02, 0x90, 0x0D, 0x20
- .byte 0x03, 0x90, 0x04, 0x91, 0x68, 0x6A, 0x08, 0x99, 0x80, 0x68, 0x03, 0x22, 0x15, 0x23, 0xC7, 0xF7
- .byte 0x59, 0xFA, 0x00, 0x20, 0x00, 0x90, 0x04, 0x20, 0x01, 0x90, 0x68, 0x6A, 0x03, 0x21, 0x80, 0x68
- .byte 0x01, 0x22, 0x0B, 0x23, 0xBA, 0xF7, 0x9C, 0xFF, 0x08, 0x98, 0x0F, 0x21, 0xC7, 0xF7, 0x28, 0xFD
- .byte 0x00, 0x27, 0x3E, 0x1C, 0x3C, 0x1C, 0xA8, 0x6C, 0x05, 0x21, 0x80, 0x19, 0x00, 0x22, 0x15, 0xF0
- .byte 0xED, 0xFA, 0x01, 0x1C, 0x06, 0x98, 0xEA, 0x68, 0xB8, 0xF7, 0x7A, 0xFE, 0x00, 0x94, 0xFF, 0x20
- .byte 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0x08, 0x98, 0xEA, 0x68, 0x00, 0x21, 0x10, 0x23, 0xCA, 0xF7
- .byte 0xC1, 0xF8, 0x07, 0x98, 0x7F, 0x1C, 0x36, 0x18, 0x10, 0x34, 0x03, 0x2F, 0xE3, 0xDB, 0xE8, 0x6A
- .byte 0xEA, 0x68, 0x15, 0x21, 0xB8, 0xF7, 0x64, 0xFE, 0x38, 0x01, 0x00, 0x90, 0xFF, 0x20, 0x01, 0x90
- .byte 0x00, 0x21, 0x02, 0x91, 0x08, 0x98, 0xEA, 0x68, 0x10, 0x23, 0xCA, 0xF7, 0xAB, 0xF8, 0x06, 0x98
- .byte 0xB8, 0xF7, 0x42, 0xFE, 0x10, 0x20, 0x00, 0x90, 0x08, 0x98, 0x00, 0x22, 0x00, 0x7A, 0x0F, 0x21
- .byte 0x13, 0x1C, 0xC0, 0x04, 0x00, 0x0C, 0x01, 0x90, 0x08, 0x98, 0xC7, 0xF7, 0x53, 0xFD, 0x05, 0x9B
- .byte 0x29, 0x1C, 0xA8, 0x6F, 0x54, 0x31, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7, 0x4D, 0xFD, 0x28, 0x1C
- .byte 0x54, 0x30, 0x00, 0x21, 0x01, 0x22, 0x0B, 0x23, 0xBB, 0xF7, 0x1C, 0xF8, 0x29, 0x1C, 0x05, 0x98
- .byte 0x81, 0x31, 0x08, 0x70, 0x28, 0x1C, 0x04, 0x21, 0x80, 0x30, 0x01, 0x70, 0x08, 0x98, 0xE8, 0x67
- .byte 0x09, 0xB0, 0xF0, 0xBD, 0x6A, 0x01, 0x00, 0x00, 0xF8, 0xB5, 0x86, 0xB0, 0x05, 0x1C, 0x2F, 0x1C
- .byte 0x64, 0x37, 0x38, 0x1C, 0x05, 0x91, 0xC7, 0xF7, 0xD7, 0xF9, 0x00, 0x28, 0x35, 0xD1, 0x0B, 0x20
- .byte 0x00, 0x90, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x0D, 0x20, 0x03, 0x90, 0x5A, 0x20, 0x04, 0x90
- .byte 0x68, 0x6A, 0x39, 0x1C, 0x80, 0x68, 0x03, 0x22, 0x14, 0x23, 0xC7, 0xF7, 0xD3, 0xF9, 0x00, 0x20
- .byte 0x00, 0x90, 0x04, 0x20, 0x01, 0x90, 0x68, 0x6A, 0x03, 0x21, 0x80, 0x68, 0x01, 0x22, 0x0B, 0x23
- .byte 0xBA, 0xF7, 0x16, 0xFF, 0x38, 0x1C, 0x0F, 0x21, 0xC7, 0xF7, 0xA2, 0xFC, 0x00, 0x26, 0x34, 0x1C
- .byte 0x31, 0x1C, 0xE8, 0x6A, 0xEA, 0x68, 0x16, 0x31, 0xB8, 0xF7, 0xFA, 0xFD, 0x00, 0x94, 0xFF, 0x20
- .byte 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0xEA, 0x68, 0x38, 0x1C, 0x00, 0x21, 0x10, 0x23, 0xCA, 0xF7
- .byte 0x41, 0xF8, 0x76, 0x1C, 0x10, 0x34, 0x03, 0x2E, 0xEA, 0xDB, 0x28, 0x1C, 0x03, 0x21, 0x80, 0x30
- .byte 0x01, 0x70, 0x29, 0x1C, 0x05, 0x98, 0xEF, 0x67, 0x81, 0x31, 0x08, 0x70, 0x10, 0x20, 0x00, 0x90
- .byte 0x38, 0x7A, 0x00, 0x22, 0x0F, 0x21, 0xC0, 0x04, 0x00, 0x0C, 0x01, 0x90, 0x38, 0x1C, 0x13, 0x1C
- .byte 0xC7, 0xF7, 0xE0, 0xFC, 0x05, 0x9B, 0xA8, 0x6F, 0xE9, 0x6F, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7
- .byte 0xDB, 0xFC, 0xE8, 0x6F, 0x00, 0x21, 0x01, 0x22, 0x0B, 0x23, 0xBA, 0xF7, 0xAB, 0xFF, 0x06, 0xB0
- .byte 0xF8, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x82, 0xB0, 0x04, 0x1C, 0x30, 0x48, 0x40, 0x21, 0x80, 0x6C
- .byte 0x01, 0x42, 0x0C, 0xD0, 0x81, 0x20, 0x20, 0x56, 0x00, 0x28, 0x03, 0xD1, 0x20, 0x1C, 0x80, 0x30
- .byte 0x00, 0x78, 0xFF, 0xE7, 0x41, 0x1E, 0x20, 0x1C, 0x81, 0x30, 0x01, 0x70, 0x30, 0xE0, 0x80, 0x21
- .byte 0x01, 0x42, 0x0E, 0xD0, 0x81, 0x20, 0x21, 0x56, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x78, 0x40, 0x1E
- .byte 0x81, 0x42, 0x01, 0xD1, 0x00, 0x21, 0x00, 0xE0, 0x49, 0x1C, 0x20, 0x1C, 0x81, 0x30, 0x01, 0x70
- .byte 0x1E, 0xE0, 0x01, 0x21, 0x01, 0x42, 0x0F, 0xD0, 0x1D, 0x48, 0xB3, 0xF7, 0x8D, 0xFB, 0x81, 0x20
- .byte 0x21, 0x56, 0x80, 0x34, 0x20, 0x78, 0x40, 0x1E, 0x81, 0x42, 0x02, 0xDA, 0x02, 0xB0, 0x01, 0x20
- .byte 0x10, 0xBD, 0x02, 0xB0, 0x02, 0x20, 0x10, 0xBD, 0x02, 0x21, 0x08, 0x42, 0x05, 0xD0, 0x14, 0x48
- .byte 0xB3, 0xF7, 0x7A, 0xFB, 0x02, 0xB0, 0x02, 0x20, 0x10, 0xBD, 0x02, 0xB0, 0x00, 0x20, 0x10, 0xBD
- .byte 0x0F, 0x48, 0xB3, 0xF7, 0x71, 0xFB, 0xE0, 0x6F, 0x10, 0x21, 0x00, 0x91, 0x01, 0x7A, 0x00, 0x22
- .byte 0x13, 0x1C, 0xC9, 0x04, 0x09, 0x0C, 0x01, 0x91, 0x0F, 0x21, 0xC7, 0xF7, 0x7B, 0xFC, 0x81, 0x23
- .byte 0xE3, 0x56, 0xA0, 0x6F, 0xE1, 0x6F, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7, 0x75, 0xFC, 0xE0, 0x6F
- .byte 0xC7, 0xF7, 0x9A, 0xFB, 0x00, 0x20, 0x02, 0xB0, 0x10, 0xBD, 0xC0, 0x46, 0xB8, 0x48, 0x1C, 0x02
- .byte 0xDC, 0x05, 0x00, 0x00, 0x01, 0x4B, 0xC0, 0x6F, 0x01, 0x21, 0x18, 0x47, 0xF9, 0xCC, 0x00, 0x02
+_02050164: .word FUN_02050168 + 1
+
+ thumb_func_start FUN_02050168
+FUN_02050168: ; 0x02050168
+ push {r3, lr}
+ bl FUN_0223DFB4
+ bl FUN_0204F80C
+ bl FUN_020318C4
+ cmp r0, #0x0
+ beq _02050198
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050190
+ bl FUN_02245324
+ ldr r0, _0205019C ; =FUN_0205024C
+ mov r1, #0x3c
+ bl FUN_02050094
+ pop {r3, pc}
+_02050190:
+ ldr r0, _020501A0 ; =FUN_020501A4
+ mov r1, #0x78
+ bl FUN_02050094
+_02050198:
+ pop {r3, pc}
+ nop
+_0205019C: .word FUN_0205024C + 1
+_020501A0: .word FUN_020501A4 + 1
+
+ thumb_func_start FUN_020501A4
+FUN_020501A4: ; 0x020501A4
+ push {r3, lr}
+ ldr r0, _02050240 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020501B4
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_020501B4:
+ bl FUN_0202EE44
+ cmp r0, #0x0
+ bne _020501CE
+ bl FUN_020311F0
+ cmp r0, #0x0
+ bne _020501CE
+ ldr r0, _02050240 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x0
+ bne _020501DC
+_020501CE:
+ bl FUN_02031880
+ ldr r0, _02050244 ; =FUN_020504A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020501DC:
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ beq _0205023C
+ ldr r0, _02050240 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050202
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ bne _0205023C
+_02050202:
+ bl FUN_0223E6B8
+ mov r0, #0x0
+ bl FUN_0204D040
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_022408FC
+ mov r0, #0x0
+ mov r1, #0x1
+ bl FUN_0223FCE8
+ mov r0, #0x0
+ bl FUN_0202DE78
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ bl FUN_0204D43C
+ bl FUN_0204F858
+ ldr r0, _02050248 ; =FUN_02050350
+ mov r1, #0xa
+ bl FUN_02050094
+_0205023C:
+ pop {r3, pc}
+ nop
+_02050240: .word 0x021C5A6C
+_02050244: .word FUN_020504A4 + 1
+_02050248: .word FUN_02050350 + 1
+
+ thumb_func_start FUN_0205024C
+FUN_0205024C: ; 0x0205024C
+ push {r3, lr}
+ bl FUN_0223DFB4
+ ldr r0, _020502A0 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050260
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_02050260:
+ bl FUN_020311E8
+ cmp r0, #0x0
+ bne _02050272
+ ldr r0, _020502A0 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x0
+ bne _0205029E
+_02050272:
+ bl FUN_0223E6B8
+ cmp r0, #0x0
+ beq _0205027E
+ bl FUN_0204F7FC
+_0205027E:
+ ldr r0, _020502A4 ; =0x02105E74
+ bl FUN_0204FBAC
+ mov r0, #0x0
+ bl FUN_0204D168
+ bl FUN_0204F930
+ bl FUN_02245FA0
+ bl FUN_0223E7FC
+ ldr r0, _020502A8 ; =FUN_020502AC
+ mov r1, #0x0
+ bl FUN_02050094
+_0205029E:
+ pop {r3, pc}
+ .balign 4
+_020502A0: .word 0x021C5A6C
+_020502A4: .word 0x02105E74
+_020502A8: .word FUN_020502AC + 1
+
+ thumb_func_start FUN_020502AC
+FUN_020502AC: ; 0x020502AC
+ push {r3, lr}
+ bl FUN_0223DFB4
+ ldr r0, _02050314 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _02050310
+ bl FUN_020311F0
+ cmp r0, #0x0
+ bne _020502E2
+ bl FUN_0202EE24
+ cmp r0, #0x0
+ beq _020502E2
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ bne _02050310
+ bl FUN_02031280
+ cmp r0, #0x0
+ bne _02050310
+_020502E2:
+ mov r0, #0x0
+ bl FUN_02245358
+ bl FUN_0204F90C
+ bl FUN_02247808
+ mov r0, #0x2b
+ bl FUN_020311DC
+ bl FUN_02031190
+ mov r1, #0x1
+ bl FUN_0223FCE8
+ bl FUN_0223E6B8
+ bl FUN_020318B4
+ ldr r0, _02050318 ; =FUN_02050458
+ mov r1, #0x0
+ bl FUN_02050094
+_02050310:
+ pop {r3, pc}
+ nop
+_02050314: .word 0x021C5A6C
+_02050318: .word FUN_02050458 + 1
+
+ thumb_func_start FUN_0205031C
+FUN_0205031C: ; 0x0205031C
+ push {r3, lr}
+ bl FUN_0204CC48
+ ldr r0, _0205032C ; =FUN_02050330
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205032C: .word FUN_02050330 + 1
+
+ thumb_func_start FUN_02050330
+FUN_02050330: ; 0x02050330
+ ldr r3, _02050334 ; =FUN_0223DFB4
+ bx r3
+ .balign 4
+_02050334: .word FUN_0223DFB4 + 1
+
+ thumb_func_start FUN_02050338
+FUN_02050338: ; 0x02050338
+ push {r3, lr}
+ bl FUN_02245F1C
+ bl FUN_0204CC9C
+ ldr r0, _0205034C ; =FUN_020502AC
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205034C: .word FUN_020502AC + 1
+
+ thumb_func_start FUN_02050350
+FUN_02050350: ; 0x02050350
+ push {r3, lr}
+ ldr r0, _020503A8 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x9
+ bne _02050364
+ bl FUN_0202DBE0
+ bl FUN_0223E7FC
+_02050364:
+ ldr r0, _020503A8 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x1
+ bne _02050374
+ mov r0, #0x0
+ bl FUN_0204D198
+_02050374:
+ ldr r0, _020503A8 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050384
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050384:
+ bl FUN_0202DCF8
+ cmp r0, #0x0
+ beq _020503A0
+ ldr r0, _020503AC ; =0x02105E80
+ bl FUN_0204FBAC
+ bl FUN_0204F930
+ ldr r0, _020503B0 ; =FUN_020503B4
+ mov r1, #0xc8
+ bl FUN_02050094
+ pop {r3, pc}
+_020503A0:
+ bl FUN_02050548
+ pop {r3, pc}
+ nop
+_020503A8: .word 0x021C5A6C
+_020503AC: .word 0x02105E80
+_020503B0: .word FUN_020503B4 + 1
+
+ thumb_func_start FUN_020503B4
+FUN_020503B4: ; 0x020503B4
+ push {r3, lr}
+ bl FUN_0204FB00
+ cmp r0, #0x0
+ beq _020503CC
+ bl FUN_0223EF7C
+ ldr r0, _020503E8 ; =FUN_020503F0
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020503CC:
+ bl FUN_02050548
+ ldr r0, _020503EC ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020503E0
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020503E0:
+ bl FUN_02050510
+ pop {r3, pc}
+ nop
+_020503E8: .word FUN_020503F0 + 1
+_020503EC: .word 0x021C5A6C
+
+ thumb_func_start FUN_020503F0
+FUN_020503F0: ; 0x020503F0
+ push {r3, lr}
+ bl FUN_0223F4D8
+ cmp r0, #0x0
+ beq _02050412
+ ldr r0, _02050418 ; =0x02105E94
+ bl FUN_0204FBAC
+ bl FUN_0223F4F4
+ bl FUN_02245FA0
+ ldr r0, _0205041C ; =FUN_02050420
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_02050412:
+ bl FUN_02050548
+ pop {r3, pc}
+ .balign 4
+_02050418: .word 0x02105E94
+_0205041C: .word FUN_02050420 + 1
+
+ thumb_func_start FUN_02050420
+FUN_02050420: ; 0x02050420
+ push {r3, lr}
+ bl FUN_022461A4
+ cmp r0, #0x0
+ beq _0205044A
+ ldr r0, _02050450 ; =0x02105EB0
+ bl FUN_0204FBAC
+ bl FUN_022461B8
+ mov r0, #0x1
+ bl FUN_0204D168
+ mov r0, #0x1f
+ bl FUN_020311DC
+ ldr r0, _02050454 ; =FUN_02050548
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_0205044A:
+ bl FUN_02050548
+ pop {r3, pc}
+ .balign 4
+_02050450: .word 0x02105EB0
+_02050454: .word FUN_02050548 + 1
+
+ thumb_func_start FUN_02050458
+FUN_02050458: ; 0x02050458
+ push {r3, lr}
+ bl FUN_02031280
+ cmp r0, #0x0
+ beq _02050472
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0204EAD8
+ ldr r0, _02050474 ; =FUN_02050478
+ mov r1, #0x1e
+ bl FUN_02050094
+_02050472:
+ pop {r3, pc}
+ .balign 4
+_02050474: .word FUN_02050478 + 1
+
+ thumb_func_start FUN_02050478
+FUN_02050478: ; 0x02050478
+ push {r3, lr}
+ ldr r0, _0205049C ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _0205048A
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_0205048A:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0205049A
+ ldr r0, _020504A0 ; =FUN_020500A4
+ mov r1, #0x0
+ bl FUN_02050094
+_0205049A:
+ pop {r3, pc}
+ .balign 4
+_0205049C: .word 0x021C5A6C
+_020504A0: .word FUN_020500A4 + 1
+
+ thumb_func_start FUN_020504A4
+FUN_020504A4: ; 0x020504A4
+ push {r3, lr}
+ ldr r0, _020504C8 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020504B6
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020504B6:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _020504C6
+ ldr r0, _020504CC ; =FUN_020500A4
+ mov r1, #0x0
+ bl FUN_02050094
+_020504C6:
+ pop {r3, pc}
+ .balign 4
+_020504C8: .word 0x021C5A6C
+_020504CC: .word FUN_020500A4 + 1
+
+ thumb_func_start FUN_020504D0
+FUN_020504D0: ; 0x020504D0
+ ldr r3, _020504D4 ; =FUN_0223DFB4
+ bx r3
+ .balign 4
+_020504D4: .word FUN_0223DFB4 + 1
+
+ thumb_func_start FUN_020504D8
+FUN_020504D8: ; 0x020504D8
+ push {r3, lr}
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050506
+ ldr r0, _02050508 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ bl FUN_0223E1E0
+ bl FUN_0202DBE0
+ mov r0, #0x0
+ bl FUN_0204D168
+ bl FUN_0223EF7C
+ bl FUN_02245FA0
+ ldr r0, _0205050C ; =FUN_020504D0
+ mov r1, #0x0
+ bl FUN_02050094
+_02050506:
+ pop {r3, pc}
+ .balign 4
+_02050508: .word 0x021C5A6C
+_0205050C: .word FUN_020504D0 + 1
+
+ thumb_func_start FUN_02050510
+FUN_02050510: ; 0x02050510
+ push {r3, lr}
+ bl FUN_02031190
+ mov r1, #0x1
+ bl FUN_0223FCE8
+ bl FUN_02031190
+ mov r1, #0x1
+ bl FUN_02247728
+ bl FUN_0223CACC
+ bl FUN_0204CEF8
+ bl FUN_0223E6B8
+ bl FUN_02031880
+ bl FUN_0204FB28
+ ldr r0, _02050544 ; =FUN_020504A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050544: .word FUN_020504A4 + 1
+
+ thumb_func_start FUN_02050548
+FUN_02050548: ; 0x02050548
+ push {r3, lr}
+ bl FUN_0223DFB4
+ bl FUN_0204F80C
+ ldr r0, _02050574 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _02050572
+ bl FUN_0202EE44
+ cmp r0, #0x0
+ bne _0205056E
+ bl FUN_020311F0
+ cmp r0, #0x0
+ beq _02050572
+_0205056E:
+ bl FUN_02050510
+_02050572:
+ pop {r3, pc}
+ .balign 4
+_02050574: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050578
+FUN_02050578: ; 0x02050578
+ push {r3, lr}
+ bl FUN_0204CC48
+ ldr r0, _02050588 ; =FUN_0205058C
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050588: .word FUN_0205058C + 1
+
+ thumb_func_start FUN_0205058C
+FUN_0205058C: ; 0x0205058C
+ ldr r3, _02050590 ; =0x02247831
+ bx r3
+ .balign 4
+_02050590: .word 0x02247831
+
+ thumb_func_start FUN_02050594
+FUN_02050594: ; 0x02050594
+ push {r3, lr}
+ bl FUN_02245F1C
+ bl FUN_0204CC9C
+ bl FUN_0202EE44
+ cmp r0, #0x0
+ bne _020505AE
+ bl FUN_020311F0
+ cmp r0, #0x0
+ beq _020505CC
+_020505AE:
+ bl FUN_022452A4
+ bl FUN_0204CEF8
+ bl FUN_0223E6B8
+ bl FUN_02031880
+ bl FUN_0204FB28
+ ldr r0, _020505D8 ; =FUN_020504A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020505CC:
+ ldr r0, _020505DC ; =FUN_02050548
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ nop
+_020505D8: .word FUN_020504A4 + 1
+_020505DC: .word FUN_02050548 + 1
+
+ thumb_func_start FUN_020505E0
+FUN_020505E0: ; 0x020505E0
+ push {r3, lr}
+ bl FUN_0204CC48
+ ldr r0, _020505F0 ; =FUN_020505F4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_020505F0: .word FUN_020505F4 + 1
+
+ thumb_func_start FUN_020505F4
+FUN_020505F4: ; 0x020505F4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020505F8
+FUN_020505F8: ; 0x020505F8
+ push {r3, lr}
+ bl FUN_02245F1C
+ bl FUN_0204CC9C
+ ldr r0, _0205060C ; =FUN_02050168
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205060C: .word FUN_02050168 + 1
+
+ thumb_func_start FUN_02050610
+FUN_02050610: ; 0x02050610
+ push {r3, lr}
+ bl FUN_0204CF24
+ ldr r0, _02050620 ; =FUN_02050624
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050620: .word FUN_02050624 + 1
+
+ thumb_func_start FUN_02050624
+FUN_02050624: ; 0x02050624
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02050628
+FUN_02050628: ; 0x02050628
+ push {r3, lr}
+ bl FUN_02245F1C
+ bl FUN_0204CC9C
+ ldr r0, _0205063C ; =FUN_020504D0
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205063C: .word FUN_020504D0 + 1
+
+ thumb_func_start FUN_02050640
+FUN_02050640: ; 0x02050640
+ push {r3, lr}
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ beq _0205065E
+ bl FUN_02240834
+ bl FUN_0202DBE0
+ ldr r0, _02050660 ; =FUN_02050664
+ mov r1, #0x0
+ bl FUN_02050094
+_0205065E:
+ pop {r3, pc}
+ .balign 4
+_02050660: .word FUN_02050664 + 1
+
+ thumb_func_start FUN_02050664
+FUN_02050664: ; 0x02050664
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02050668
+FUN_02050668: ; 0x02050668
+ push {r3, lr}
+ bl FUN_0202E4C8
+ cmp r0, #0x0
+ beq _0205067E
+ bl FUN_022407CC
+ ldr r0, _02050680 ; =FUN_02050684
+ mov r1, #0x0
+ bl FUN_02050094
+_0205067E:
+ pop {r3, pc}
+ .balign 4
+_02050680: .word FUN_02050684 + 1
+
+ thumb_func_start FUN_02050684
+FUN_02050684: ; 0x02050684
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02050688
+FUN_02050688: ; 0x02050688
+ push {r3, lr}
+ ldr r0, _020506A0 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x3e
+ ldrb r0, [r0, #0x0]
+ bl FUN_020319D8
+ ldr r0, _020506A4 ; =FUN_020506A8
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_020506A0: .word 0x021C5A6C
+_020506A4: .word FUN_020506A8 + 1
+
+ thumb_func_start FUN_020506A8
+FUN_020506A8: ; 0x020506A8
+ push {r3, lr}
+ bl FUN_02031A2C
+ cmp r0, #0x0
+ beq _020506BE
+ bl FUN_0202DBE0
+ ldr r0, _020506C0 ; =FUN_020506C4
+ mov r1, #0x0
+ bl FUN_02050094
+_020506BE:
+ pop {r3, pc}
+ .balign 4
+_020506C0: .word FUN_020506C4 + 1
+
+ thumb_func_start FUN_020506C4
+FUN_020506C4: ; 0x020506C4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020506C8
+FUN_020506C8: ; 0x020506C8
+ push {r3, lr}
+ mov r0, #0x62
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050704
+ bl FUN_0204D320
+ add r1, r0, #0x0
+ mov r0, #0xf
+ bl FUN_02016998
+ ldr r1, _02050720 ; =0x021C5A6C
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x18]
+ bl FUN_0204CB20
+ bl FUN_0204F80C
+ bl FUN_02030FC8
+ mov r0, #0x5c
+ bl FUN_02031588
+ ldr r0, _02050724 ; =FUN_02050728
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_02050704:
+ ldr r0, _02050720 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050714
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050714:
+ mov r0, #0x1e
+ strh r0, [r1, #0x3c]
+ mov r0, #0x62
+ bl FUN_02031588
+ pop {r3, pc}
+ .balign 4
+_02050720: .word 0x021C5A6C
+_02050724: .word FUN_02050728 + 1
+
+ thumb_func_start FUN_02050728
+FUN_02050728: ; 0x02050728
+ push {lr}
+ sub sp, #0xc
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050738
+ bl FUN_0202DDE8
+_02050738:
+ mov r0, #0x5c
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050776
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x0
+ bl FUN_0200E388
+ mov r0, #0x1
+ bl FUN_0200E388
+ bl FUN_0204CC9C
+ mov r0, #0x0
+ bl FUN_0204D168
+ ldr r0, _0205077C ; =FUN_020507B4
+ mov r1, #0x1
+ bl FUN_02050094
+_02050776:
+ add sp, #0xc
+ pop {pc}
+ nop
+_0205077C: .word FUN_020507B4 + 1
+
+ thumb_func_start FUN_02050780
+FUN_02050780: ; 0x02050780
+ push {r3, lr}
+ ldr r0, _020507AC ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050792
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050792:
+ mov r0, #0x1e
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020507A8
+ bl FUN_02030FA8
+ ldr r0, _020507B0 ; =FUN_02050930
+ mov r1, #0x0
+ bl FUN_02050094
+_020507A8:
+ pop {r3, pc}
+ nop
+_020507AC: .word 0x021C5A6C
+_020507B0: .word FUN_02050930 + 1
+
+ thumb_func_start FUN_020507B4
+FUN_020507B4: ; 0x020507B4
+ push {r3, lr}
+ ldr r0, _020507F0 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020507C6
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020507C6:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _020507DE
+ bl FUN_0204ED08
+ cmp r0, #0x0
+ beq _020507EC
+ mov r0, #0x1e
+ bl FUN_02031588
+ b _020507E4
+_020507DE:
+ mov r0, #0x1e
+ bl FUN_02031588
+_020507E4:
+ ldr r0, _020507F4 ; =FUN_02050780
+ mov r1, #0x14
+ bl FUN_02050094
+_020507EC:
+ pop {r3, pc}
+ nop
+_020507F0: .word 0x021C5A6C
+_020507F4: .word FUN_02050780 + 1
+
+ thumb_func_start FUN_020507F8
+FUN_020507F8: ; 0x020507F8
+ push {r3, lr}
+ mov r0, #0x62
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050830
+ bl FUN_0204D320
+ add r1, r0, #0x0
+ mov r0, #0xf
+ bl FUN_02016998
+ ldr r1, _0205084C ; =0x021C5A6C
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x18]
+ bl FUN_0204CB20
+ bl FUN_0204F80C
+ mov r0, #0x5c
+ bl FUN_02031588
+ ldr r0, _02050850 ; =FUN_02050854
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_02050830:
+ ldr r0, _0205084C ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050840
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050840:
+ mov r0, #0x1e
+ strh r0, [r1, #0x3c]
+ mov r0, #0x62
+ bl FUN_02031588
+ pop {r3, pc}
+ .balign 4
+_0205084C: .word 0x021C5A6C
+_02050850: .word FUN_02050854 + 1
+
+ thumb_func_start FUN_02050854
+FUN_02050854: ; 0x02050854
+ push {r3, lr}
+ sub sp, #0x10
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050864
+ bl FUN_0202DDE8
+_02050864:
+ mov r0, #0x5c
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020508B0
+ bl FUN_0204CC9C
+ mov r0, #0x0
+ bl FUN_0204D168
+ mov r1, #0x1
+ add r0, sp, #0xc
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0xc
+ bl FUN_020311D0
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x0
+ bl FUN_0200E388
+ mov r0, #0x1
+ bl FUN_0200E388
+ ldr r0, _020508B4 ; =FUN_02050A14
+ mov r1, #0x0
+ bl FUN_02050094
+_020508B0:
+ add sp, #0x10
+ pop {r3, pc}
+ .balign 4
+_020508B4: .word FUN_02050A14 + 1
+
+ thumb_func_start FUN_020508B8
+FUN_020508B8: ; 0x020508B8
+ push {r3-r7, lr}
+ mov r7, #0x0
+ bl FUN_02030F20
+ cmp r0, #0x0
+ ble _02050916
+ ldr r6, _02050928 ; =0x021C5A6C
+_020508C6:
+ bl FUN_02031190
+ cmp r7, r0
+ beq _0205090C
+ add r0, r7, #0x0
+ bl FUN_020315FC
+ cmp r0, #0x5e
+ bne _0205090C
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _0205090C
+ mov r4, #0x0
+ add r5, r4, #0x0
+_020508E6:
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r5]
+ cmp r0, #0x0
+ beq _020508F8
+ bl FUN_02016A18
+ ldr r1, [r6, #0x0]
+ mov r0, #0x0
+ str r0, [r1, r5]
+_020508F8:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _020508E6
+ ldr r0, [r6, #0x0]
+ ldr r1, _0205092C ; =0x0000238E
+ ldr r0, [r0, #0x18]
+ mov r2, #0x0
+ bl FUN_02038C78
+_0205090C:
+ add r7, r7, #0x1
+ bl FUN_02030F20
+ cmp r7, r0
+ blt _020508C6
+_02050916:
+ ldr r1, _02050928 ; =0x021C5A6C
+ mov r0, #0x4
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x18]
+ ldr r1, [r1, #0x8]
+ bl FUN_020335F0
+ pop {r3-r7, pc}
+ nop
+_02050928: .word 0x021C5A6C
+_0205092C: .word 0x0000238E
+
+ thumb_func_start FUN_02050930
+FUN_02050930: ; 0x02050930
+ push {r3, lr}
+ bl FUN_0204EB44
+ cmp r0, #0x0
+ bne _0205095A
+ ldr r0, _02050960 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r1, #0x1
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+ ldr r0, _02050964 ; =FUN_02050A14
+ mov r1, #0x0
+ bl FUN_02050094
+_0205095A:
+ bl FUN_020508B8
+ pop {r3, pc}
+ .balign 4
+_02050960: .word 0x021C5A6C
+_02050964: .word FUN_02050A14 + 1
+
+ thumb_func_start FUN_02050968
+FUN_02050968: ; 0x02050968
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ beq _02050986
+ mov r0, #0xb
+ bl FUN_0206B8AC
+ ldr r1, _020509AC ; =0x021C5A6C
+ ldr r2, [r1, #0x0]
+ str r0, [r2, #0x44]
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x44]
+ bl FUN_0206BAD0
+_02050986:
+ cmp r5, #0x0
+ beq _02050994
+ ldr r0, _020509B0 ; =FUN_02050B8C
+ mov r1, #0x3
+ bl FUN_02050094
+ pop {r3-r5, pc}
+_02050994:
+ mov r1, #0x3
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+ ldr r0, _020509B4 ; =FUN_02050930
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3-r5, pc}
+ .balign 4
+_020509AC: .word 0x021C5A6C
+_020509B0: .word FUN_02050B8C + 1
+_020509B4: .word FUN_02050930 + 1
+
+ thumb_func_start FUN_020509B8
+FUN_020509B8: ; 0x020509B8
+ ldr r3, _020509C0 ; =FUN_02050094
+ ldr r0, _020509C4 ; =FUN_02050930
+ mov r1, #0x0
+ bx r3
+ .balign 4
+_020509C0: .word FUN_02050094 + 1
+_020509C4: .word FUN_02050930 + 1
+
+ thumb_func_start FUN_020509C8
+FUN_020509C8: ; 0x020509C8
+ push {r3, lr}
+ bl FUN_02031438
+ cmp r0, #0x0
+ bne _02050A06
+ bl FUN_02031190
+ bl FUN_0204F6B4
+ cmp r0, #0x0
+ bne _02050A06
+ ldr r0, _02050A08 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020509EE
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020509EE:
+ bl FUN_0204F7E4
+ ldr r0, _02050A08 ; =0x021C5A6C
+ ldr r1, _02050A0C ; =FUN_02050968
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ bl FUN_02051880
+ ldr r0, _02050A10 ; =FUN_020509B8
+ mov r1, #0x0
+ bl FUN_02050094
+_02050A06:
+ pop {r3, pc}
+ .balign 4
+_02050A08: .word 0x021C5A6C
+_02050A0C: .word FUN_02050968 + 1
+_02050A10: .word FUN_020509B8 + 1
+
+ thumb_func_start FUN_02050A14
+FUN_02050A14: ; 0x02050A14
+ push {r3, lr}
+ ldr r0, _02050A40 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050A38
+ ldr r0, _02050A44 ; =FUN_020509C8
+ mov r1, #0x5
+ bl FUN_02050094
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+_02050A38:
+ bl FUN_020508B8
+ pop {r3, pc}
+ nop
+_02050A40: .word 0x021C5A6C
+_02050A44: .word FUN_020509C8 + 1
+
+ thumb_func_start FUN_02050A48
+FUN_02050A48: ; 0x02050A48
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_02031190
+ ldrb r1, [r4, #0x0]
+ cmp r1, r0
+ bne _02050A60
+ ldr r0, _02050A64 ; =0x021C5A6C
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+_02050A60:
+ pop {r4, pc}
+ nop
+_02050A64: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050A68
+FUN_02050A68: ; 0x02050A68
+ ldr r0, _02050A88 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050A82
+ ldr r1, [r0, #0x34]
+ ldr r0, _02050A8C ; =FUN_02050A14
+ cmp r1, r0
+ beq _02050A7E
+ ldr r0, _02050A90 ; =FUN_02050930
+ cmp r1, r0
+ bne _02050A82
+_02050A7E:
+ mov r0, #0x1
+ bx lr
+_02050A82:
+ mov r0, #0x0
+ bx lr
+ nop
+_02050A88: .word 0x021C5A6C
+_02050A8C: .word FUN_02050A14 + 1
+_02050A90: .word FUN_02050930 + 1
+
+ thumb_func_start FUN_02050A94
+FUN_02050A94: ; 0x02050A94
+ push {r4, lr}
+ sub sp, #0x8
+ ldr r0, _02050B00 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050AAA
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ add sp, #0x8
+ pop {r4, pc}
+_02050AAA:
+ mov r4, #0x5
+ bl FUN_02033534
+ cmp r0, #0x2
+ beq _02050AC0
+ cmp r0, #0x4
+ beq _02050ABC
+ cmp r0, #0x5
+ bne _02050AC2
+_02050ABC:
+ mov r4, #0xf
+ b _02050AC2
+_02050AC0:
+ mov r4, #0x7
+_02050AC2:
+ add r0, sp, #0x0
+ bl FUN_02033578
+ ldr r0, _02050B00 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x44]
+ ldr r0, [r0, #0x18]
+ cmp r1, #0x0
+ bne _02050ADE
+ add r1, sp, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204726C
+ b _02050AF6
+_02050ADE:
+ add r2, r4, #0x0
+ bl FUN_020472B0
+ ldr r0, _02050B00 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x44]
+ bl FUN_02016A18
+ ldr r0, _02050B00 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ str r1, [r0, #0x44]
+_02050AF6:
+ bl FUN_0204FC10
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02050B00: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050B04
+FUN_02050B04: ; 0x02050B04
+ push {r3, lr}
+ bl FUN_0202FA48
+ cmp r0, #0x0
+ beq _02050B3E
+ ldr r0, _02050B40 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050B1C
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_02050B1C:
+ ldr r0, _02050B40 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x5a
+ bne _02050B2C
+ mov r0, #0x4
+ bl FUN_02031588
+_02050B2C:
+ mov r0, #0x4
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050B3E
+ ldr r0, _02050B44 ; =FUN_02050A94
+ mov r1, #0x0
+ bl FUN_02050094
+_02050B3E:
+ pop {r3, pc}
+ .balign 4
+_02050B40: .word 0x021C5A6C
+_02050B44: .word FUN_02050A94 + 1
+
+ thumb_func_start FUN_02050B48
+FUN_02050B48: ; 0x02050B48
+ push {r3, lr}
+ ldr r0, _02050B68 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050B5A
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050B5A:
+ bl FUN_0202FA10
+ ldr r0, _02050B6C ; =FUN_02050B04
+ mov r1, #0x78
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050B68: .word 0x021C5A6C
+_02050B6C: .word FUN_02050B04 + 1
+
+ thumb_func_start FUN_02050B70
+FUN_02050B70: ; 0x02050B70
+ push {r3, lr}
+ mov r0, #0x3
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050B84
+ ldr r0, _02050B88 ; =FUN_02050B48
+ mov r1, #0x2
+ bl FUN_02050094
+_02050B84:
+ pop {r3, pc}
+ nop
+_02050B88: .word FUN_02050B48 + 1
+
+ thumb_func_start FUN_02050B8C
+FUN_02050B8C: ; 0x02050B8C
+ push {r3, lr}
+ ldr r0, _02050BB4 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050B9E
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050B9E:
+ mov r0, #0x0
+ bl FUN_0204CCE0
+ mov r0, #0x3
+ bl FUN_02031588
+ ldr r0, _02050BB8 ; =FUN_02050B70
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050BB4: .word 0x021C5A6C
+_02050BB8: .word FUN_02050B70 + 1
+
+ thumb_func_start FUN_02050BBC
+FUN_02050BBC: ; 0x02050BBC
+ push {r3, lr}
+ bl FUN_020319F4
+ ldr r0, _02050BCC ; =FUN_02050BD0
+ mov r1, #0x2
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050BCC: .word FUN_02050BD0 + 1
+
+ thumb_func_start FUN_02050BD0
+FUN_02050BD0: ; 0x02050BD0
+ push {r3, lr}
+ bl FUN_0202EE0C
+ cmp r0, #0x0
+ beq _02050BE2
+ ldr r0, _02050BE4 ; =FUN_020506A8
+ mov r1, #0xa
+ bl FUN_02050094
+_02050BE2:
+ pop {r3, pc}
+ .balign 4
+_02050BE4: .word FUN_020506A8 + 1
+
+ thumb_func_start FUN_02050BE8
+FUN_02050BE8: ; 0x02050BE8
+ ldr r1, _02050BF4 ; =0x021C5A6C
+ mov r2, #0x1
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ strb r2, [r0, #0x10]
+ bx lr
+ .balign 4
+_02050BF4: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050BF8
+FUN_02050BF8: ; 0x02050BF8
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x4
+ blt _02050C04
+ bl FUN_02020C2C
+_02050C04:
+ ldr r0, _02050C10 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x2
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+ nop
+_02050C10: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050C14
+FUN_02050C14: ; 0x02050C14
+ push {r4, lr}
+ bl FUN_02031190
+ add r4, r0, #0x0
+ mov r0, #0x5f
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050C3E
+ ldr r1, _02050C40 ; =0x021C5A6C
+ mov r0, #0x58
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ ldr r1, [r2, r1]
+ ldr r2, _02050C44 ; =0x0000066C
+ bl FUN_02030A78
+ ldr r0, _02050C48 ; =FUN_02050C4C
+ mov r1, #0x0
+ bl FUN_02050094
+_02050C3E:
+ pop {r4, pc}
+ .balign 4
+_02050C40: .word 0x021C5A6C
+_02050C44: .word 0x0000066C
+_02050C48: .word FUN_02050C4C + 1
+
+ thumb_func_start FUN_02050C4C
+FUN_02050C4C: ; 0x02050C4C
+ push {r3-r5, lr}
+ mov r4, #0x0
+ bl FUN_02030F20
+ cmp r0, #0x0
+ ble _02050C6E
+ ldr r5, _02050C80 ; =0x021C5A6C
+_02050C5A:
+ ldr r0, [r5, #0x0]
+ add r0, r0, r4
+ ldrb r0, [r0, #0x10]
+ cmp r0, #0x0
+ beq _02050C7C
+ add r4, r4, #0x1
+ bl FUN_02030F20
+ cmp r4, r0
+ blt _02050C5A
+_02050C6E:
+ mov r0, #0x61
+ bl FUN_02031588
+ ldr r0, _02050C84 ; =FUN_02050CF4
+ mov r1, #0x0
+ bl FUN_02050094
+_02050C7C:
+ pop {r3-r5, pc}
+ nop
+_02050C80: .word 0x021C5A6C
+_02050C84: .word FUN_02050CF4 + 1
+
+ thumb_func_start FUN_02050C88
+FUN_02050C88: ; 0x02050C88
+ push {r3, lr}
+ bl FUN_0202FA48
+ cmp r0, #0x0
+ bne _02050CC2
+ ldr r0, _02050CC4 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050CA0
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_02050CA0:
+ ldr r0, _02050CC4 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x5a
+ bne _02050CB0
+ mov r0, #0x5
+ bl FUN_02031588
+_02050CB0:
+ mov r0, #0x5
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050CC2
+ ldr r0, _02050CC8 ; =FUN_02050D10
+ mov r1, #0x0
+ bl FUN_02050094
+_02050CC2:
+ pop {r3, pc}
+ .balign 4
+_02050CC4: .word 0x021C5A6C
+_02050CC8: .word FUN_02050D10 + 1
+
+ thumb_func_start FUN_02050CCC
+FUN_02050CCC: ; 0x02050CCC
+ push {r3, lr}
+ ldr r0, _02050CEC ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050CDE
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050CDE:
+ bl FUN_0202FA1C
+ ldr r0, _02050CF0 ; =FUN_02050C88
+ mov r1, #0x78
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050CEC: .word 0x021C5A6C
+_02050CF0: .word FUN_02050C88 + 1
+
+ thumb_func_start FUN_02050CF4
+FUN_02050CF4: ; 0x02050CF4
+ push {r3, lr}
+ mov r0, #0x61
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050D08
+ ldr r0, _02050D0C ; =FUN_02050CCC
+ mov r1, #0x2
+ bl FUN_02050094
+_02050D08:
+ pop {r3, pc}
+ nop
+_02050D0C: .word FUN_02050CCC + 1
+
+ thumb_func_start FUN_02050D10
+FUN_02050D10: ; 0x02050D10
+ push {r3, lr}
+ ldr r0, _02050D48 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050D22
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050D22:
+ mov r0, #0x62
+ bl FUN_02031588
+ ldr r0, _02050D48 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x42
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050D3E
+ ldr r0, _02050D4C ; =FUN_020506C8
+ mov r1, #0x1e
+ bl FUN_02050094
+ pop {r3, pc}
+_02050D3E:
+ ldr r0, _02050D50 ; =FUN_020507F8
+ mov r1, #0x1e
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050D48: .word 0x021C5A6C
+_02050D4C: .word FUN_020506C8 + 1
+_02050D50: .word FUN_020507F8 + 1
+
+ thumb_func_start FUN_02050D54
+FUN_02050D54: ; 0x02050D54
+ push {r3, lr}
+ ldr r0, _02050D84 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050D66
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050D66:
+ bl FUN_0223E1A4
+ bl FUN_02031860
+ mov r0, #0x21
+ bl FUN_020168D0
+ ldr r0, _02050D84 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x41
+ strb r1, [r0, #0x0]
+ bl FUN_0204FC10
+ pop {r3, pc}
+ .balign 4
+_02050D84: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050D88
+FUN_02050D88: ; 0x02050D88
+ push {r3, lr}
+ mov r0, #0x5b
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050DAA
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ mov r0, #0x1
+ bl FUN_0204CCE0
+ ldr r0, _02050DAC ; =FUN_02050DC8
+ mov r1, #0x5
+ bl FUN_02050094
+_02050DAA:
+ pop {r3, pc}
+ .balign 4
+_02050DAC: .word FUN_02050DC8 + 1
+
+ thumb_func_start FUN_02050DB0
+FUN_02050DB0: ; 0x02050DB0
+ push {r3, lr}
+ mov r0, #0x1
+ bl FUN_0204CCE0
+ ldr r0, _02050DC4 ; =FUN_02050DC8
+ mov r1, #0x5
+ bl FUN_02050094
+ pop {r3, pc}
+ nop
+_02050DC4: .word FUN_02050DC8 + 1
+
+ thumb_func_start FUN_02050DC8
+FUN_02050DC8: ; 0x02050DC8
+ push {r3, lr}
+ ldr r0, _02050DE8 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050DDA
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050DDA:
+ bl FUN_02031A08
+ ldr r0, _02050DEC ; =FUN_0204FC10
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050DE8: .word 0x021C5A6C
+_02050DEC: .word FUN_0204FC10 + 1
+
+ thumb_func_start FUN_02050DF0
+FUN_02050DF0: ; 0x02050DF0
+ push {r3, lr}
+ ldr r1, _02050E0C ; =0x021C5A6C
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _02050E02
+ add r1, #0x41
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _02050E06
+_02050E02:
+ mov r0, #0x0
+ pop {r3, pc}
+_02050E06:
+ bl FUN_0223E2AC
+ pop {r3, pc}
+ .balign 4
+_02050E0C: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050E10
+FUN_02050E10: ; 0x02050E10
+ push {r3, lr}
+ ldr r0, _02050E28 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E26
+ add r0, #0x41
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E26
+ bl FUN_0223E118
+_02050E26:
+ pop {r3, pc}
+ .balign 4
+_02050E28: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050E2C
+FUN_02050E2C: ; 0x02050E2C
+ push {r3, lr}
+ ldr r0, _02050E44 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E42
+ add r0, #0x41
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E42
+ bl FUN_0223E154
+_02050E42:
+ pop {r3, pc}
+ .balign 4
+_02050E44: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050E48
+FUN_02050E48: ; 0x02050E48
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ ldr r0, [sp, #0x24]
+ mov r1, #0x30
+ str r2, [sp, #0x0]
+ str r3, [sp, #0x4]
+ ldr r6, [r5, #0xc]
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x30
+ add r4, r0, #0x0
+ blx FUN_020CE34C
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0207C2A4
+ add r0, r6, #0x0
+ bl FUN_0206BB28
+ str r0, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl FUN_02079C70
+ str r0, [r4, #0x2c]
+ add r0, r6, #0x0
+ bl FUN_02023900
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x0]
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ strb r0, [r4, #0x11]
+ ldr r0, [sp, #0x4]
+ strb r0, [r4, #0x14]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206B9AC
+ strb r0, [r4, #0x13]
+ mov r0, #0x0
+ strh r0, [r4, #0x18]
+ ldr r0, [sp, #0x20]
+ strb r0, [r4, #0x12]
+ add r0, r6, #0x0
+ bl FUN_0202A918
+ str r0, [r4, #0x20]
+ ldr r1, _02050ECC ; =0x020F5880
+ add r0, r4, #0x0
+ bl FUN_0207B000
+ ldr r1, _02050ED0 ; =0x020FA6E8
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ str r4, [r7, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02050ECC: .word 0x020F5880
+_02050ED0: .word 0x020FA6E8
+
+ thumb_func_start FUN_02050ED4
+FUN_02050ED4: ; 0x02050ED4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ blx FUN_020CE34C
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_02023900
+ str r0, [r4, #0xc]
+ ldr r0, [r5, #0x24]
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ str r0, [r4, #0x14]
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r0, [r5, #0x24]
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050F64
+ mov r1, #0x1
+ bl FUN_02023B0C
+ add r1, r4, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ mov r2, #0xf
+ lsl r0, r0, #0x18
+ bic r1, r2
+ lsr r2, r0, #0x18
+ mov r0, #0xf
+ and r0, r2
+ orr r1, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ mov r1, #0xf0
+ bic r0, r1
+ add r1, r4, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x18
+ b _02050F84
+_02050F64:
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r1, [r0, #0x0]
+ mov r0, #0xf
+ bic r1, r0
+ mov r0, #0x3
+ orr r1, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r1, [r0, #0x0]
+ mov r0, #0xf0
+ bic r1, r0
+ mov r0, #0x30
+_02050F84:
+ orr r1, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x64
+ add r0, #0x33
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x3c
+ ldrb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ mov r2, #0x0
+_02050FA2:
+ add r0, r5, r2
+ add r0, #0x3d
+ ldrb r1, [r0, #0x0]
+ add r0, r4, r2
+ add r0, #0x2c
+ add r2, r2, #0x1
+ strb r1, [r0, #0x0]
+ cmp r2, #0x6
+ blt _02050FA2
+ ldr r0, [r5, #0x24]
+ ldr r1, _02050FC4 ; =0x020F96DC
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ str r4, [r5, #0x4]
+ pop {r3-r5, pc}
+ nop
+_02050FC4: .word 0x020F96DC
+
+ thumb_func_start FUN_02050FC8
+FUN_02050FC8: ; 0x02050FC8
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02050FDA
+ mov r0, #0x0
+ pop {r4, pc}
+_02050FDA:
+ ldr r0, [r4, #0x4]
+ add r1, r4, #0x0
+ add r0, #0x2c
+ add r1, #0x3d
+ mov r2, #0x6
+ blx FUN_020CE3E0
+ ldr r0, [r4, #0x4]
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x6
+ beq _02050FFC
+ cmp r0, #0x7
+ bne _02051002
+ mov r0, #0x0
+ str r0, [r4, #0x38]
+ b _02051006
+_02050FFC:
+ mov r0, #0x1
+ str r0, [r4, #0x38]
+ b _02051006
+_02051002:
+ mov r0, #0x2
+ str r0, [r4, #0x38]
+_02051006:
+ ldr r0, [r4, #0x4]
+ add r0, #0x22
+ ldrb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x3c
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_02051020
+FUN_02051020: ; 0x02051020
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02051032
+ mov r0, #0x0
+ pop {r4, pc}
+_02051032:
+ ldr r0, [r4, #0x0]
+ ldrb r1, [r0, #0x14]
+ add r0, r4, #0x0
+ add r0, #0x3c
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205104C
+FUN_0205104C: ; 0x0205104C
+ push {r3, lr}
+ ldr r0, [r0, #0x24]
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _02051066
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ bl FUN_0204CC9C
+ mov r0, #0x1
+ pop {r3, pc}
+_02051066:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205106C
+FUN_0205106C: ; 0x0205106C
+ push {r3-r5, lr}
+ bl FUN_02030F20
+ add r5, r0, #0x0
+ mov r4, #0x0
+ cmp r5, #0x0
+ ble _0205108E
+_0205107A:
+ add r0, r4, #0x0
+ bl FUN_020315FC
+ cmp r0, #0x5e
+ bne _02051088
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02051088:
+ add r4, r4, #0x1
+ cmp r4, r5
+ blt _0205107A
+_0205108E:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051094
+FUN_02051094: ; 0x02051094
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ ldr r1, [r4, #0x34]
+ cmp r1, #0x2c
+ bls _020510AE
+ b _020517B8
+_020510AE:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020510BA: ; jump table (using 16-bit offset)
+ .short _02051114 - _020510BA - 2; case 0
+ .short _02051136 - _020510BA - 2; case 1
+ .short _02051150 - _020510BA - 2; case 2
+ .short _0205116A - _020510BA - 2; case 3
+ .short _020511A6 - _020510BA - 2; case 4
+ .short _020511F6 - _020510BA - 2; case 5
+ .short _020517B8 - _020510BA - 2; case 6
+ .short _020511E4 - _020510BA - 2; case 7
+ .short _0205120C - _020510BA - 2; case 8
+ .short _02051232 - _020510BA - 2; case 9
+ .short _0205123E - _020510BA - 2; case 10
+ .short _0205126A - _020510BA - 2; case 11
+ .short _02051288 - _020510BA - 2; case 12
+ .short _0205129C - _020510BA - 2; case 13
+ .short _020512A8 - _020510BA - 2; case 14
+ .short _020512CA - _020510BA - 2; case 15
+ .short _020512E0 - _020510BA - 2; case 16
+ .short _0205130E - _020510BA - 2; case 17
+ .short _02051334 - _020510BA - 2; case 18
+ .short _02051346 - _020510BA - 2; case 19
+ .short _0205138A - _020510BA - 2; case 20
+ .short _0205136A - _020510BA - 2; case 21
+ .short _020513A6 - _020510BA - 2; case 22
+ .short _020513B6 - _020510BA - 2; case 23
+ .short _020513D4 - _020510BA - 2; case 24
+ .short _020513F2 - _020510BA - 2; case 25
+ .short _02051406 - _020510BA - 2; case 26
+ .short _02051472 - _020510BA - 2; case 27
+ .short _020514A8 - _020510BA - 2; case 28
+ .short _020514BE - _020510BA - 2; case 29
+ .short _02051508 - _020510BA - 2; case 30
+ .short _02051540 - _020510BA - 2; case 31
+ .short _02051566 - _020510BA - 2; case 32
+ .short _02051686 - _020510BA - 2; case 33
+ .short _020516B6 - _020510BA - 2; case 34
+ .short _020516CE - _020510BA - 2; case 35
+ .short _020515BA - _020510BA - 2; case 36
+ .short _020515F8 - _020510BA - 2; case 37
+ .short _02051614 - _020510BA - 2; case 38
+ .short _020516DE - _020510BA - 2; case 39
+ .short _020517B8 - _020510BA - 2; case 40
+ .short _02051702 - _020510BA - 2; case 41
+ .short _02051744 - _020510BA - 2; case 42
+ .short _02051766 - _020510BA - 2; case 43
+ .short _02051798 - _020510BA - 2; case 44
+_02051114:
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _020511DC
+ mov r0, #0x1
+ str r0, [r4, #0x34]
+ bl FUN_0204ECC0
+ b _020517B8
+_02051136:
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x2
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051150:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020511DC
+ mov r0, #0x5d
+ bl FUN_02031588
+ mov r0, #0x3
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205116A:
+ mov r0, #0x5d
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _0205118A
+ mov r0, #0x7
+ str r0, [r4, #0x34]
+ ldr r0, [r4, #0x24]
+ ldr r0, [r0, #0x34]
+ bl FUN_02058768
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x1
+ blx r2
+ b _020517B8
+_0205118A:
+ ldr r0, _020514A4 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _020511DC
+ mov r0, #0x4
+ str r0, [r4, #0x34]
+ mov r0, #0x5c
+ bl FUN_02031588
+ mov r0, #0x5
+ add r4, #0x43
+ strb r0, [r4, #0x0]
+ b _020517B8
+_020511A6:
+ mov r0, #0x5d
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020511C4
+ mov r0, #0x7
+ str r0, [r4, #0x34]
+ ldr r0, [r4, #0x24]
+ ldr r0, [r0, #0x34]
+ bl FUN_02058768
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x1
+ blx r2
+_020511C4:
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _020511DE
+_020511DC:
+ b _020517B8
+_020511DE:
+ mov r0, #0x8
+ str r0, [r4, #0x34]
+ b _020517B8
+_020511E4:
+ add r0, r4, #0x0
+ bl FUN_02051998
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020511F6:
+ add r0, r4, #0x0
+ bl FUN_02051998
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ bl FUN_0204F7FC
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205120C:
+ mov r0, #0x5d
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02051224
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x1
+ blx r2
+ b _020517B8
+_02051224:
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x0
+ blx r2
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051232:
+ mov r0, #0xa
+ str r0, [r4, #0x34]
+ mov r0, #0x5
+ add r4, #0x44
+ strb r0, [r4, #0x0]
+ b _020517B8
+_0205123E:
+ add r1, r4, #0x0
+ add r1, #0x44
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _02051256
+ add r0, r4, #0x0
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ add r4, #0x44
+ sub r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ b _020517B8
+_02051256:
+ ldr r0, [r0, #0x38]
+ bl FUN_020553A0
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ beq _020512FA
+ mov r0, #0xb
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205126A:
+ bl FUN_0204ECC0
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xd
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0xc
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051288:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020512FA
+ mov r0, #0xd
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205129C:
+ mov r0, #0x0
+ bl FUN_021D7CA4
+ mov r0, #0xe
+ str r0, [r4, #0x34]
+ b _020517B8
+_020512A8:
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _020512FA
+ bl FUN_0204ECC0
+ mov r0, #0xf
+ str r0, [r4, #0x34]
+ b _020517B8
+_020512CA:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02051810
+ add r0, r4, #0x0
+ mov r1, #0xb
+ bl FUN_02050ED4
+ mov r0, #0x10
+ str r0, [r4, #0x34]
+ b _020517B8
+_020512E0:
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02050FC8
+ cmp r0, #0x0
+ beq _020512FA
+ ldr r0, [r4, #0x38]
+ cmp r0, #0x0
+ beq _020512FC
+ cmp r0, #0x1
+ beq _02051302
+ cmp r0, #0x2
+ beq _02051308
+_020512FA:
+ b _020517B8
+_020512FC:
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051302:
+ mov r0, #0x13
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051308:
+ mov r0, #0x11
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205130E:
+ ldr r0, [r4, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ add r3, r4, #0x0
+ add r3, #0x3c
+ ldrb r3, [r3, #0x0]
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02050E48
+ mov r0, #0x12
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051334:
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02051020
+ cmp r0, #0x0
+ beq _02051410
+ mov r0, #0xf
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051346:
+ ldr r0, [r4, #0x24]
+ bl FUN_0204649C
+ add r0, r4, #0x0
+ add r0, #0x88
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _02051364
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r0, #0x15
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051364:
+ mov r0, #0x1a
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205136A:
+ add r0, r4, #0x0
+ add r0, #0x3d
+ bl FUN_02033564
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ beq _02051410
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205138A:
+ ldr r0, [r4, #0x24]
+ bl FUN_0204649C
+ add r0, r4, #0x0
+ add r0, #0x88
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _020513A0
+ mov r0, #0x16
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513A0:
+ mov r0, #0x1a
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513A6:
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ beq _02051410
+ mov r0, #0x8
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513B6:
+ add r0, r4, #0x0
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x44
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02051410
+ mov r0, #0x18
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513D4:
+ bl FUN_0204ECC0
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x13
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x19
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513F2:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051410
+ mov r0, #0xd
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051406:
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ bne _02051412
+_02051410:
+ b _020517B8
+_02051412:
+ bl FUN_0205106C
+ cmp r0, #0x0
+ beq _02051420
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051420:
+ ldr r0, [r4, #0x38]
+ cmp r0, #0x0
+ beq _0205142A
+ mov r1, #0x1
+ b _0205142C
+_0205142A:
+ mov r1, #0x0
+_0205142C:
+ add r0, r4, #0x0
+ add r0, #0x82
+ strb r1, [r0, #0x0]
+ add r1, r4, #0x0
+ add r1, #0x82
+ ldrb r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020519F0
+ mov r0, #0x0
+ bl FUN_02031588
+ ldr r0, [r4, #0x28]
+ ldr r2, [r4, #0x74]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xe
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x28]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x1b
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051472:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051574
+ bl FUN_0205106C
+ cmp r0, #0x0
+ beq _0205148E
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205148E:
+ mov r0, #0x0
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ bl FUN_02051A38
+ mov r0, #0x1c
+ str r0, [r4, #0x34]
+ b _020517B8
+ .balign 4
+_020514A4: .word 0x021C48B8
+_020514A8:
+ add r0, r4, #0x0
+ bl FUN_02051A80
+ cmp r0, #0x0
+ beq _02051574
+ mov r0, #0x1
+ bl FUN_02031588
+ mov r0, #0x1d
+ str r0, [r4, #0x34]
+ b _020517B8
+_020514BE:
+ mov r0, #0x1
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ bl FUN_02051A90
+ add r1, r4, #0x0
+ add r1, #0x83
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x82
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02051502
+ add r0, r4, #0x0
+ add r0, #0x83
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02051502
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x14
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x1e
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051502:
+ mov r0, #0x2a
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051508:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x89
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x11
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x84
+ strb r1, [r0, #0x0]
+ mov r0, #0x1f
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051540:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ bl FUN_02051AF0
+ add r1, r4, #0x0
+ add r1, #0x84
+ ldrb r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02051B68
+ mov r0, #0x20
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051566:
+ add r0, r4, #0x0
+ bl FUN_02051D54
+ cmp r0, #0x1
+ beq _02051576
+ cmp r0, #0x2
+ beq _0205158C
+_02051574:
+ b _020517B8
+_02051576:
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ mov r0, #0x81
+ ldrsb r1, [r4, r0]
+ add r0, r4, #0x0
+ add r0, #0x84
+ strb r1, [r0, #0x0]
+ mov r0, #0x24
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205158C:
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ add r0, r4, #0x0
+ mov r1, #0xff
+ add r0, #0x84
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xf
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x2
+ bl FUN_02031588
+ mov r0, #0x27
+ str r0, [r4, #0x34]
+ b _020517B8
+_020515BA:
+ add r1, r4, #0x0
+ add r1, #0x84
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r4, #0x50]
+ bl FUN_0206B9B0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x28]
+ mov r1, #0x1
+ bl FUN_0200AC60
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x12
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x28]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x25
+ str r0, [r4, #0x34]
+ b _020517B8
+_020515F8:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _0205168E
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02051C88
+ mov r0, #0x26
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051614:
+ add r0, r4, #0x0
+ bl FUN_02051D54
+ cmp r0, #0x1
+ beq _02051642
+ cmp r0, #0x2
+ bne _0205168E
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x11
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x1f
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051642:
+ mov r0, #0x81
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x1
+ bne _0205167A
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xe
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x28]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x2
+ bl FUN_02031588
+ mov r0, #0x27
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205167A:
+ mov r0, #0x0
+ bl FUN_021D7CA4
+ mov r0, #0x21
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051686:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ bne _02051690
+_0205168E:
+ b _020517B8
+_02051690:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02051810
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ add r3, r4, #0x0
+ add r3, #0x84
+ ldrb r3, [r3, #0x0]
+ ldr r1, [r4, #0x24]
+ ldr r2, [r4, #0x50]
+ add r0, r4, #0x0
+ bl FUN_02050E48
+ mov r0, #0x22
+ str r0, [r4, #0x34]
+ b _020517B8
+_020516B6:
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02051020
+ cmp r0, #0x0
+ beq _020517B8
+ ldr r0, [r4, #0x24]
+ bl FUN_0204649C
+ mov r0, #0x23
+ str r0, [r4, #0x34]
+ b _020517B8
+_020516CE:
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ beq _020517B8
+ mov r0, #0x24
+ str r0, [r4, #0x34]
+ b _020517B8
+_020516DE:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020517B8
+ mov r0, #0x2
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ bl FUN_02051AA4
+ mov r0, #0x29
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051702:
+ add r0, r4, #0x0
+ bl FUN_02051AE0
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ add r0, #0x84
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xff
+ bne _02051722
+ mov r0, #0x4
+ bl FUN_02031588
+ mov r0, #0x2c
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051722:
+ add r0, r4, #0x0
+ add r0, #0x85
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xff
+ bne _02051732
+ mov r0, #0x2a
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051732:
+ add r0, r4, #0x0
+ bl FUN_02051B1C
+ mov r0, #0x5d
+ bl FUN_02031588
+ mov r0, #0x2
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051744:
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xf
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r0, #0x2b
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051766:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3c
+ bls _020517B8
+ mov r0, #0x4
+ bl FUN_02031588
+ mov r0, #0x2c
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051798:
+ mov r0, #0x4
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ add r0, #0x14
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ mov r0, #0x0
+ ldr r2, [r4, #0x8]
+ add r1, r0, #0x0
+ blx r2
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+_020517B8:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020517C0
+FUN_020517C0: ; 0x020517C0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r5, #0x0
+ add r4, #0x14
+ add r0, r4, #0x0
+ add r6, r1, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _020517F2
+ ldr r0, [r5, #0x24]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ bl FUN_020545B8
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_02023900
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02054608
+ b _020517F8
+_020517F2:
+ add r0, r4, #0x0
+ bl FUN_0205464C
+_020517F8:
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_02023900
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x1
+ bl FUN_02054658
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051810
+FUN_02051810: ; 0x02051810
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x14
+ add r4, r1, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _02051846
+ cmp r4, #0x0
+ beq _02051836
+ add r0, r5, #0x0
+ add r0, #0x14
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ add r0, #0x14
+ bl FUN_02019570
+_02051836:
+ add r0, r5, #0x0
+ add r0, #0x14
+ bl FUN_02019178
+ add r0, r5, #0x0
+ add r0, #0x14
+ bl FUN_0201901C
+_02051846:
+ add r0, r5, #0x0
+ add r0, #0x54
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _02051862
+ add r0, r5, #0x0
+ add r0, #0x54
+ bl FUN_02019178
+ add r0, r5, #0x0
+ add r0, #0x54
+ bl FUN_0201901C
+_02051862:
+ add r0, r5, #0x0
+ add r0, #0x64
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _0205187E
+ add r0, r5, #0x0
+ add r0, #0x64
+ bl FUN_02019178
+ add r5, #0x64
+ add r0, r5, #0x0
+ bl FUN_0201901C
+_0205187E:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02051880
+FUN_02051880: ; 0x02051880
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x10]
+ add r6, r1, #0x0
+ cmp r0, #0x0
+ beq _0205188E
+ b _02051992
+_0205188E:
+ mov r0, #0xb
+ mov r1, #0x8c
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x8c
+ blx FUN_020CE34C
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ str r5, [r4, #0x24]
+ str r6, [r4, #0x8]
+ mov r0, #0xb
+ bl FUN_0200AA80
+ str r0, [r4, #0x28]
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r2, #0x9
+ mov r3, #0xb
+ bl FUN_0200A86C
+ str r0, [r4, #0x2c]
+ mov r0, #0xc8
+ mov r1, #0xb
+ bl FUN_020219F4
+ str r0, [r4, #0xc]
+ mov r0, #0xc8
+ mov r1, #0xb
+ bl FUN_020219F4
+ str r0, [r4, #0x10]
+ add r0, r4, #0x0
+ add r0, #0x14
+ bl FUN_0201901C
+ add r0, r4, #0x0
+ add r0, #0x54
+ bl FUN_0201901C
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_0201901C
+ mov r0, #0xb
+ bl FUN_02013690
+ str r0, [r4, #0x78]
+ bl FUN_02033534
+ add r1, r4, #0x0
+ add r1, #0x88
+ strb r0, [r1, #0x0]
+ mov r1, #0x0
+ str r1, [r4, #0x4c]
+ str r1, [r4, #0x48]
+ add r0, r4, #0x0
+ str r1, [r4, #0x50]
+ add r0, #0x89
+ strb r1, [r0, #0x0]
+ bl FUN_02031190
+ add r1, r4, #0x0
+ add r1, #0x86
+ strh r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x86
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1
+ eor r0, r1
+ bl FUN_0202DFA4
+ str r0, [r4, #0x74]
+ add r0, r4, #0x0
+ add r0, #0x88
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _02051938
+ cmp r0, #0x4
+ beq _0205196E
+ b _02051974
+_02051938:
+ bl FUN_02051E54
+ add r6, r0, #0x0
+ mov r0, #0xb
+ add r1, r6, #0x0
+ bl FUN_020169D8
+ str r0, [r4, #0x4c]
+ mov r0, #0xb
+ add r1, r6, #0x0
+ bl FUN_020169D8
+ str r0, [r4, #0x48]
+ mov r0, #0xb
+ bl FUN_0206B8AC
+ mov r1, #0x3
+ str r0, [r4, #0x50]
+ bl FUN_0206B8CC
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x44
+ strb r1, [r0, #0x0]
+ mov r0, #0x17
+ str r0, [r4, #0x34]
+ b _02051988
+_0205196E:
+ mov r0, #0x9
+ str r0, [r4, #0x34]
+ b _02051988
+_02051974:
+ ldr r0, [r4, #0x24]
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02051984
+ mov r0, #0x9
+ str r0, [r4, #0x34]
+ b _02051988
+_02051984:
+ mov r0, #0x0
+ str r0, [r4, #0x34]
+_02051988:
+ ldr r1, _02051994 ; =FUN_02051094
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020463CC
+_02051992:
+ pop {r4-r6, pc}
+ .balign 4
+_02051994: .word FUN_02051094 + 1
+
+ thumb_func_start FUN_02051998
+FUN_02051998: ; 0x02051998
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x50]
+ cmp r0, #0x0
+ beq _020519A6
+ bl FUN_02016A18
+_020519A6:
+ ldr r0, [r4, #0x4c]
+ cmp r0, #0x0
+ beq _020519B0
+ bl FUN_02016A18
+_020519B0:
+ ldr r0, [r4, #0x48]
+ cmp r0, #0x0
+ beq _020519BA
+ bl FUN_02016A18
+_020519BA:
+ ldr r0, [r4, #0x2c]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x28]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0xc]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x10]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x78]
+ bl FUN_020136C0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02051810
+ pop {r4, pc}
+ .balign 4
+_020519E4:
+ .byte 0x01, 0x4B, 0x00, 0x69, 0x18, 0x47, 0xC0, 0x46, 0x2D, 0x65, 0x04, 0x02
+
+ thumb_func_start FUN_020519F0
+FUN_020519F0: ; 0x020519F0
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, [r7, #0x24]
+ add r5, r1, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ str r0, [sp, #0x0]
+ ldr r4, [r7, #0x4c]
+ bl FUN_020690C4
+ add r6, r0, #0x0
+ lsl r0, r6, #0x1
+ add r0, r6, r0
+ str r5, [r4, r0]
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ beq _02051A34
+ mov r5, #0x0
+_02051A16:
+ add r1, r7, r5
+ add r1, #0x3d
+ ldrb r1, [r1, #0x0]
+ ldr r0, [sp, #0x0]
+ sub r1, r1, #0x1
+ bl FUN_0206B9B0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ blx FUN_020CE3E0
+ add r5, r5, #0x1
+ add r4, r4, r6
+ cmp r5, #0x3
+ blt _02051A16
+_02051A34:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051A38
+FUN_02051A38: ; 0x02051A38
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x89
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x1
+ tst r1, r0
+ bne _02051A7C
+ ldr r4, [r5, #0x4c]
+ bl FUN_02051E54
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x86
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02051A62
+ mov r0, #0x6a
+ add r1, r4, #0x0
+ bl FUN_02030B3C
+ b _02051A6A
+_02051A62:
+ mov r0, #0x6a
+ add r1, r4, #0x0
+ bl FUN_02030A78
+_02051A6A:
+ cmp r0, #0x0
+ beq _02051A7C
+ add r1, r5, #0x0
+ add r1, #0x89
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x1
+ add r5, #0x89
+ orr r1, r2
+ strb r1, [r5, #0x0]
+_02051A7C:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051A80
+FUN_02051A80: ; 0x02051A80
+ add r0, #0x89
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ bne _02051A8C
+ mov r0, #0x1
+ bx lr
+_02051A8C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02051A90
+FUN_02051A90: ; 0x02051A90
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020690C4
+ lsl r1, r0, #0x1
+ ldr r2, [r4, #0x48]
+ add r0, r0, r1
+ ldr r0, [r2, r0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051AA4
+FUN_02051AA4: ; 0x02051AA4
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x86
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02051ABE
+ add r1, r4, #0x0
+ mov r0, #0x6b
+ add r1, #0x84
+ mov r2, #0x1
+ bl FUN_02030BC4
+ b _02051ACA
+_02051ABE:
+ add r1, r4, #0x0
+ mov r0, #0x6b
+ add r1, #0x84
+ mov r2, #0x1
+ bl FUN_02030ADC
+_02051ACA:
+ cmp r0, #0x0
+ beq _02051ADC
+ add r1, r4, #0x0
+ add r1, #0x89
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x1
+ add r4, #0x89
+ orr r1, r2
+ strb r1, [r4, #0x0]
+_02051ADC:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051AE0
+FUN_02051AE0: ; 0x02051AE0
+ add r0, #0x89
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ bne _02051AEC
+ mov r0, #0x1
+ bx lr
+_02051AEC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02051AF0
+FUN_02051AF0: ; 0x02051AF0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_020690C4
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x50]
+ mov r1, #0x3
+ bl FUN_0206B8CC
+ mov r4, #0x0
+_02051B04:
+ add r1, r4, #0x0
+ ldr r2, [r5, #0x48]
+ mul r1, r6
+ ldr r0, [r5, #0x50]
+ add r1, r2, r1
+ bl FUN_0206B900
+ add r4, r4, #0x1
+ cmp r4, #0x3
+ blt _02051B04
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051B1C
+FUN_02051B1C: ; 0x02051B1C
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_020690C4
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x84
+ ldrb r0, [r0, #0x0]
+ ldr r2, [r6, #0x48]
+ ldr r3, [r6, #0x4c]
+ add r1, r0, #0x0
+ mul r1, r4
+ add r0, r2, r1
+ add r1, r6, #0x0
+ add r1, #0x85
+ ldrb r1, [r1, #0x0]
+ add r2, r1, #0x0
+ mul r2, r4
+ add r1, r3, r2
+ add r2, r4, #0x0
+ blx FUN_020CE3E0
+ ldr r0, [r6, #0x50]
+ mov r1, #0x3
+ bl FUN_0206B8CC
+ mov r5, #0x0
+_02051B52:
+ add r1, r5, #0x0
+ ldr r2, [r6, #0x4c]
+ mul r1, r4
+ ldr r0, [r6, #0x50]
+ add r1, r2, r1
+ bl FUN_0206B900
+ add r5, r5, #0x1
+ cmp r5, #0x3
+ blt _02051B52
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02051B68
+FUN_02051B68: ; 0x02051B68
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0x0
+ str r0, [sp, #0x20]
+ add r0, #0x54
+ str r1, [sp, #0x14]
+ str r0, [sp, #0x20]
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _02051C34
+ ldr r2, _02051C84 ; =0x0000016A
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r3, #0x4
+ bl FUN_0200A86C
+ str r0, [sp, #0x18]
+ bl FUN_020690C4
+ str r0, [sp, #0x1c]
+ mov r0, #0x9
+ str r0, [sp, #0x0]
+ mov r1, #0xa
+ str r1, [sp, #0x4]
+ mov r0, #0x8
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ str r1, [sp, #0x10]
+ ldr r0, [r5, #0x24]
+ ldr r1, [sp, #0x20]
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ mov r3, #0x15
+ bl FUN_02019064
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x4
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x24]
+ mov r1, #0x3
+ ldr r0, [r0, #0x8]
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CB00
+ ldr r0, [sp, #0x20]
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r7, #0x0
+ add r6, r7, #0x0
+ add r4, r7, #0x0
+_02051BD6:
+ ldr r0, [r5, #0x48]
+ mov r1, #0x5
+ add r0, r0, r6
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x18]
+ ldr r2, [r5, #0xc]
+ bl FUN_0200A8E0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x20]
+ ldr r2, [r5, #0xc]
+ mov r1, #0x0
+ mov r3, #0x10
+ bl FUN_0201BD84
+ ldr r0, [sp, #0x1c]
+ add r7, r7, #0x1
+ add r6, r6, r0
+ add r4, #0x10
+ cmp r7, #0x3
+ blt _02051BD6
+ ldr r0, [r5, #0x2c]
+ ldr r2, [r5, #0xc]
+ mov r1, #0x15
+ bl FUN_0200A8E0
+ lsl r0, r7, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r1, #0x0
+ str r1, [sp, #0x8]
+ ldr r0, [sp, #0x20]
+ ldr r2, [r5, #0xc]
+ mov r3, #0x10
+ bl FUN_0201BD84
+ ldr r0, [sp, #0x18]
+ bl FUN_0200A8B8
+_02051C34:
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ mov r2, #0x0
+ ldrb r0, [r0, #0x8]
+ mov r1, #0xf
+ add r3, r2, #0x0
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x20]
+ bl FUN_020196F4
+ ldr r3, [sp, #0x14]
+ add r1, r5, #0x0
+ ldr r0, [r5, #0x78]
+ add r1, #0x54
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ add r0, r5, #0x0
+ add r0, #0x54
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add r1, r5, #0x0
+ ldr r0, [sp, #0x14]
+ add r1, #0x81
+ strb r0, [r1, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x4
+ add r0, #0x80
+ strb r1, [r0, #0x0]
+ ldr r0, [sp, #0x20]
+ str r0, [r5, #0x7c]
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+_02051C84: .word 0x0000016A
+
+ thumb_func_start FUN_02051C88
+FUN_02051C88: ; 0x02051C88
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ add r7, r5, #0x0
+ add r7, #0x64
+ add r0, r7, #0x0
+ str r1, [sp, #0x14]
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _02051D0A
+ mov r0, #0xb
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ mov r0, #0x5a
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #0x24]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ mov r3, #0x14
+ bl FUN_02019064
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x4
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x24]
+ mov r1, #0x3
+ ldr r0, [r0, #0x8]
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CB00
+ add r0, r7, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r6, #0x0
+ add r4, r6, #0x0
+_02051CE0:
+ add r1, r6, #0x0
+ ldr r0, [r5, #0x2c]
+ ldr r2, [r5, #0xc]
+ add r1, #0x16
+ bl FUN_0200A8E0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r2, [r5, #0xc]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ mov r3, #0x10
+ bl FUN_0201BD84
+ add r6, r6, #0x1
+ add r4, #0x10
+ cmp r6, #0x3
+ blt _02051CE0
+_02051D0A:
+ add r0, r5, #0x0
+ mov r1, #0x3
+ add r0, #0x80
+ strb r1, [r0, #0x0]
+ add r1, r5, #0x0
+ ldr r0, [sp, #0x14]
+ str r7, [r5, #0x7c]
+ add r1, #0x81
+ strb r0, [r1, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ ldrb r0, [r7, #0x8]
+ mov r2, #0x0
+ mov r1, #0xf
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ ldr r3, [sp, #0x14]
+ ldr r0, [r5, #0x78]
+ ldr r1, [r5, #0x7c]
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ ldr r0, [r5, #0x7c]
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051D54
+FUN_02051D54: ; 0x02051D54
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r0, _02051E1C ; =0x021C48B8
+ mov r1, #0x40
+ ldr r0, [r0, #0x48]
+ tst r1, r0
+ beq _02051D7E
+ mov r0, #0x81
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x0
+ bne _02051D74
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldrb r0, [r0, #0x0]
+ b _02051D74
+_02051D74:
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x81
+ strb r1, [r0, #0x0]
+ b _02051DE0
+_02051D7E:
+ mov r1, #0x80
+ tst r1, r0
+ beq _02051DA2
+ mov r0, #0x81
+ ldrsb r1, [r4, r0]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldrb r0, [r0, #0x0]
+ sub r0, r0, #0x1
+ cmp r1, r0
+ bne _02051D98
+ mov r1, #0x0
+ b _02051D9A
+_02051D98:
+ add r1, r1, #0x1
+_02051D9A:
+ add r0, r4, #0x0
+ add r0, #0x81
+ strb r1, [r0, #0x0]
+ b _02051DE0
+_02051DA2:
+ mov r1, #0x1
+ tst r1, r0
+ beq _02051DC8
+ ldr r0, _02051E20 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x81
+ ldrsb r1, [r4, r0]
+ add r4, #0x80
+ ldrb r0, [r4, #0x0]
+ sub r0, r0, #0x1
+ cmp r1, r0
+ bge _02051DC2
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4, pc}
+_02051DC2:
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r4, pc}
+_02051DC8:
+ mov r1, #0x2
+ tst r0, r1
+ beq _02051DDA
+ ldr r0, _02051E20 ; =0x000005DC
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r4, pc}
+_02051DDA:
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r4, pc}
+_02051DE0:
+ ldr r0, _02051E20 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, [r4, #0x7c]
+ mov r1, #0x10
+ str r1, [sp, #0x0]
+ ldrb r1, [r0, #0x8]
+ mov r2, #0x0
+ add r3, r2, #0x0
+ lsl r1, r1, #0x13
+ lsr r1, r1, #0x10
+ str r1, [sp, #0x4]
+ mov r1, #0xf
+ bl FUN_020196F4
+ mov r3, #0x81
+ ldrsb r3, [r4, r3]
+ ldr r0, [r4, #0x78]
+ ldr r1, [r4, #0x7c]
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ ldr r0, [r4, #0x7c]
+ bl FUN_02019548
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02051E1C: .word 0x021C48B8
+_02051E20: .word 0x000005DC
+
+ thumb_func_start FUN_02051E24
+FUN_02051E24: ; 0x02051E24
+ ldr r3, _02051E2C ; =FUN_0200CCF8
+ ldr r0, [r0, #0x7c]
+ mov r1, #0x1
+ bx r3
+ .balign 4
+_02051E2C: .word FUN_0200CCF8 + 1
+_02051E30:
.byte 0x10, 0xB5, 0x04, 0x1C, 0x18, 0x1C, 0xFF, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x86, 0x31, 0x09, 0x88
.byte 0xA1, 0x42, 0x06, 0xD0, 0x01, 0x1C, 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43
- .byte 0x01, 0x70, 0x10, 0xBD, 0x08, 0xB5, 0x17, 0xF0, 0x35, 0xF9, 0x41, 0x00, 0x40, 0x18, 0x00, 0x1D
- .byte 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xFF, 0xF7, 0xBB, 0xFD, 0x01, 0x1C
+ .byte 0x01, 0x70, 0x10, 0xBD
+
+ thumb_func_start FUN_02051E54
+FUN_02051E54: ; 0x02051E54
+ push {r3, lr}
+ bl FUN_020690C4
+ lsl r1, r0, #0x1
+ add r0, r0, r1
+ add r0, r0, #0x4
+ pop {r3, pc}
+ .balign 4
+_02051E64:
+ .byte 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xFF, 0xF7, 0xBB, 0xFD, 0x01, 0x1C
.byte 0x86, 0x31, 0x09, 0x88, 0xA1, 0x42, 0x01, 0xD0, 0x80, 0x6C, 0x10, 0xBD, 0x00, 0x20, 0x10, 0xBD
.byte 0x38, 0xB5, 0x05, 0x1C, 0x18, 0x1C, 0x14, 0x1C, 0xFF, 0xF7, 0xAC, 0xFD, 0x01, 0x1C, 0x86, 0x31
.byte 0x09, 0x88, 0xA9, 0x42, 0x0A, 0xD0, 0x22, 0x78, 0x01, 0x1C, 0x85, 0x31, 0x0A, 0x70, 0x01, 0x1C
@@ -152602,23 +172680,34 @@ _020524E8:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r6, r4, #0
- lsl r6, r4, #0
- lsl r6, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r2, r5, #0
- lsl r6, r4, #0
+_0205250E: ; jump table (using 16-bit offset)
+ .short _02052526 - _0205250E - 2; case 0
+ .short _0205252A - _0205250E - 2; case 1
+ .short _0205252E - _0205250E - 2; case 2
+ .short _02052532 - _0205250E - 2; case 3
+ .short _02052536 - _0205250E - 2; case 4
+ .short _02052536 - _0205250E - 2; case 5
+ .short _02052536 - _0205250E - 2; case 6
+ .short _02052536 - _0205250E - 2; case 7
+ .short _02052536 - _0205250E - 2; case 8
+ .short _0205253A - _0205250E - 2; case 9
+ .short _0205253A - _0205250E - 2; case 10
+ .short _02052536 - _0205250E - 2; case 11
+_02052526:
mov r0, #0x1
pop {r4-r6, pc}
_0205252A:
- .byte 0x02, 0x20, 0x70, 0xBD, 0x03, 0x20
- .byte 0x70, 0xBD, 0x04, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_0205252E:
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_02052532:
+ mov r0, #0x4
+ pop {r4-r6, pc}
+_02052536:
+ mov r0, #0x5
+ pop {r4-r6, pc}
_0205253A:
mov r0, #0x5
pop {r4-r6, pc}
@@ -152652,18 +172741,20 @@ FUN_02052544: ; 0x02052544
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0x1
- lsl r2, r4, #0x1
- lsl r2, r6, #0
- lsl r6, r2, #0
- lsl r2, r7, #0x1
- lsl r2, r7, #0x1
- lsl r2, r7, #0x1
- lsl r2, r7, #0x1
- lsl r2, r7, #0x1
- lsl r6, r7, #0x1
- lsl r6, r7, #0x1
- lsl r2, r7, #0x1
+_02052578: ; jump table (using 16-bit offset)
+ .short _020525C6 - _02052578 - 2; case 0
+ .short _020525DC - _02052578 - 2; case 1
+ .short _020525AC - _02052578 - 2; case 2
+ .short _02052590 - _02052578 - 2; case 3
+ .short _020525F4 - _02052578 - 2; case 4
+ .short _020525F4 - _02052578 - 2; case 5
+ .short _020525F4 - _02052578 - 2; case 6
+ .short _020525F4 - _02052578 - 2; case 7
+ .short _020525F4 - _02052578 - 2; case 8
+ .short _020525F8 - _02052578 - 2; case 9
+ .short _020525F8 - _02052578 - 2; case 10
+ .short _020525F4 - _02052578 - 2; case 11
+_02052590:
cmp r5, #0x4
beq _02052598
mov r0, #0x5
@@ -152680,12 +172771,50 @@ _02052598:
mov r0, #0x1
pop {r4-r6, pc}
_020525AC:
- .byte 0x03, 0x2D, 0x01, 0xD0
- .byte 0x05, 0x20, 0x70, 0xBD, 0x05, 0x21, 0x21, 0x63, 0xA0, 0x61, 0x01, 0x20, 0x20, 0x62, 0x00, 0x21
- .byte 0x61, 0x62, 0xE1, 0x61, 0x70, 0xBD, 0x01, 0x2D, 0x01, 0xD0, 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61
- .byte 0x01, 0x20, 0x20, 0x62, 0x00, 0x21, 0x61, 0x62, 0xE1, 0x61, 0x70, 0xBD, 0x02, 0x2D, 0x01, 0xD0
- .byte 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61, 0x02, 0x20, 0x20, 0x62, 0x00, 0x20, 0x60, 0x62, 0xE0, 0x61
- .byte 0x01, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD
+ cmp r5, #0x3
+ beq _020525B4
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525B4:
+ mov r1, #0x5
+ str r1, [r4, #0x30]
+ str r0, [r4, #0x18]
+ mov r0, #0x1
+ str r0, [r4, #0x20]
+ mov r1, #0x0
+ str r1, [r4, #0x24]
+ str r1, [r4, #0x1c]
+ pop {r4-r6, pc}
+_020525C6:
+ cmp r5, #0x1
+ beq _020525CE
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525CE:
+ str r0, [r4, #0x18]
+ mov r0, #0x1
+ str r0, [r4, #0x20]
+ mov r1, #0x0
+ str r1, [r4, #0x24]
+ str r1, [r4, #0x1c]
+ pop {r4-r6, pc}
+_020525DC:
+ cmp r5, #0x2
+ beq _020525E4
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525E4:
+ str r0, [r4, #0x18]
+ mov r0, #0x2
+ str r0, [r4, #0x20]
+ mov r0, #0x0
+ str r0, [r4, #0x24]
+ str r0, [r4, #0x1c]
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020525F4:
+ mov r0, #0x5
+ pop {r4-r6, pc}
_020525F8:
bl FUN_02020C2C
mov r0, #0x0
@@ -153062,42 +173191,119 @@ _02052872:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0x3
- lsl r2, r6, #0x1
- lsl r6, r1, #0x2
- lsl r2, r5, #0x2
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r2, r7, #0
- lsl r6, r2, #0x1
- lsl r2, r6, #0x1
- lsl r6, r1, #0x2
- lsl r2, r5, #0x2
- lsl r6, r2, #0
+_02052884: ; jump table (using 16-bit offset)
+ .short _0205294C - _02052884 - 2; case 0
+ .short _020528F8 - _02052884 - 2; case 1
+ .short _02052914 - _02052884 - 2; case 2
+ .short _02052930 - _02052884 - 2; case 3
+ .short _0205289C - _02052884 - 2; case 4
+ .short _020528A4 - _02052884 - 2; case 5
+ .short _020528C0 - _02052884 - 2; case 6
+ .short _020528DC - _02052884 - 2; case 7
+ .short _020528F8 - _02052884 - 2; case 8
+ .short _02052914 - _02052884 - 2; case 9
+ .short _02052930 - _02052884 - 2; case 10
+ .short _0205289C - _02052884 - 2; case 11
+_0205289C:
ldr r0, _02052950 ; =0x020F5894
lsl r1, r4, #0x2
ldr r0, [r0, r1]
pop {r4-r6, pc}
_020528A4:
- .byte 0xC9, 0xF7, 0xA2, 0xF8, 0xC2, 0x0F, 0xC1, 0x07, 0x89, 0x1A, 0x1F, 0x20
- .byte 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x27, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD
- .byte 0xC9, 0xF7, 0x94, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18
- .byte 0xC2, 0x00, 0x21, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x86, 0xF8
- .byte 0xC2, 0x0F, 0xC1, 0x07, 0x89, 0x1A, 0x1F, 0x20, 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x1B, 0x48
- .byte 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x78, 0xF8, 0xC2, 0x0F, 0x81, 0x07
- .byte 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x15, 0x48, 0xA1, 0x00, 0x80, 0x18
- .byte 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x6A, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20
- .byte 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x0F, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD
- .byte 0xC9, 0xF7, 0x5C, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18
- .byte 0xC2, 0x00, 0x09, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD
+ 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
+ lsl r2, r0, #0x3
+ ldr r0, _02052954 ; =0x020F58C4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_020528C0:
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052958 ; =0x020F5984
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_020528DC:
+ 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
+ lsl r2, r0, #0x3
+ ldr r0, _0205295C ; =0x020F58B4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_020528F8:
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052960 ; =0x020F5964
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052914:
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052964 ; =0x020F59A4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052930:
+ bl FUN_0201B9EC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052968 ; =0x020F59C4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
_0205294C:
mov r0, #0x28
pop {r4-r6, pc}
.balign 4
_02052950: .word 0x020F5894
-_02052954:
- .byte 0xC4, 0x58, 0x0F, 0x02, 0x84, 0x59, 0x0F, 0x02, 0xB4, 0x58, 0x0F, 0x02
- .byte 0x64, 0x59, 0x0F, 0x02, 0xA4, 0x59, 0x0F, 0x02, 0xC4, 0x59, 0x0F, 0x02
+_02052954: .word 0x020F58C4
+_02052958: .word 0x020F5984
+_0205295C: .word 0x020F58B4
+_02052960: .word 0x020F5964
+_02052964: .word 0x020F59A4
+_02052968: .word 0x020F59C4
thumb_func_start FUN_0205296C
FUN_0205296C: ; 0x0205296C
@@ -153206,55 +173412,126 @@ _02052A24:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r7, #0x2
- lsl r0, r6, #0
- lsl r4, r7, #0
- lsl r0, r5, #0x1
- lsl r0, r5, #0x1
- lsl r0, r5, #0x1
- lsl r0, r5, #0x1
- lsl r0, r5, #0x1
- lsl r0, r5, #0x1
- lsl r4, r0, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r6, r6, #0x1
- lsl r4, r0, #0x2
- lsl r4, r0, #0x2
- lsl r4, r0, #0x2
- lsl r2, r2, #0x2
- lsl r2, r2, #0x2
- lsl r2, r2, #0x2
- lsl r2, r3, #0x1
- lsl r2, r3, #0x1
- lsl r2, r3, #0x1
- lsl r0, r4, #0x2
- lsl r0, r5, #0x2
- lsl r0, r6, #0x2
+_02052A40: ; jump table (using 16-bit offset)
+ .short _02052AFA - _02052A40 - 2; case 0
+ .short _02052A72 - _02052A40 - 2; case 1
+ .short _02052A7E - _02052A40 - 2; case 2
+ .short _02052AAA - _02052A40 - 2; case 3
+ .short _02052AAA - _02052A40 - 2; case 4
+ .short _02052AAA - _02052A40 - 2; case 5
+ .short _02052AAA - _02052A40 - 2; case 6
+ .short _02052AAA - _02052A40 - 2; case 7
+ .short _02052AAA - _02052A40 - 2; case 8
+ .short _02052A86 - _02052A40 - 2; case 9
+ .short _02052AB8 - _02052A40 - 2; case 10
+ .short _02052AB8 - _02052A40 - 2; case 11
+ .short _02052AB8 - _02052A40 - 2; case 12
+ .short _02052AC6 - _02052A40 - 2; case 13
+ .short _02052AC6 - _02052A40 - 2; case 14
+ .short _02052AC6 - _02052A40 - 2; case 15
+ .short _02052AD4 - _02052A40 - 2; case 16
+ .short _02052AD4 - _02052A40 - 2; case 17
+ .short _02052AD4 - _02052A40 - 2; case 18
+ .short _02052A9C - _02052A40 - 2; case 19
+ .short _02052A9C - _02052A40 - 2; case 20
+ .short _02052A9C - _02052A40 - 2; case 21
+ .short _02052AE2 - _02052A40 - 2; case 22
+ .short _02052AEA - _02052A40 - 2; case 23
+ .short _02052AF2 - _02052A40 - 2; case 24
+_02052A72:
ldr r0, [r5, #0x34]
add r2, r6, #0x0
sub r0, r0, #0x1
bl FUN_020529F0
pop {r4-r6, pc}
_02052A7E:
- .byte 0x21, 0x48
- .byte 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x68, 0x6B, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD
- .byte 0xC2, 0x00, 0x1D, 0x48, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x13, 0x3C, 0x1B, 0x48
- .byte 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xE0, 0x1E, 0xC2, 0x00, 0x18, 0x48
- .byte 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x0A, 0x3C, 0x16, 0x48, 0xE2, 0x00, 0x89, 0x00
- .byte 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x0D, 0x3C, 0x13, 0x48, 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18
- .byte 0x08, 0x58, 0x70, 0xBD, 0x10, 0x3C, 0x11, 0x48, 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58
- .byte 0x70, 0xBD, 0x0F, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x0E, 0x48, 0x89, 0x00, 0x40, 0x58
- .byte 0x70, 0xBD, 0x0D, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD
+ ldr r0, _02052B04 ; =0x020F58AC
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052A86:
+ ldr r0, [r5, #0x34]
+ cmp r0, #0x0
+ bne _02052A90
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02052A90:
+ lsl r2, r0, #0x3
+ ldr r0, _02052B08 ; =0x020F59DC
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052A9C:
+ sub r4, #0x13
+ ldr r0, _02052B0C ; =0x020F58E8
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AAA:
+ sub r0, r4, #0x3
+ lsl r2, r0, #0x3
+ ldr r0, _02052B10 ; =0x020F5A44
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AB8:
+ sub r4, #0xa
+ ldr r0, _02052B14 ; =0x020F5900
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AC6:
+ sub r4, #0xd
+ ldr r0, _02052B18 ; =0x020F5918
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AD4:
+ sub r4, #0x10
+ ldr r0, _02052B1C ; =0x020F5930
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AE2:
+ ldr r0, _02052B20 ; =0x020F588C
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052AEA:
+ ldr r0, _02052B24 ; =0x020F58A4
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052AF2:
+ ldr r0, _02052B28 ; =0x020F589C
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
_02052AFA:
bl FUN_02020C2C
mov r0, #0x28
pop {r4-r6, pc}
nop
-_02052B04:
- .byte 0xAC, 0x58, 0x0F, 0x02, 0xDC, 0x59, 0x0F, 0x02, 0xE8, 0x58, 0x0F, 0x02
- .byte 0x44, 0x5A, 0x0F, 0x02, 0x00, 0x59, 0x0F, 0x02, 0x18, 0x59, 0x0F, 0x02, 0x30, 0x59, 0x0F, 0x02
- .byte 0x8C, 0x58, 0x0F, 0x02, 0xA4, 0x58, 0x0F, 0x02, 0x9C, 0x58, 0x0F, 0x02
+_02052B04: .word 0x020F58AC
+_02052B08: .word 0x020F59DC
+_02052B0C: .word 0x020F58E8
+_02052B10: .word 0x020F5A44
+_02052B14: .word 0x020F5900
+_02052B18: .word 0x020F5918
+_02052B1C: .word 0x020F5930
+_02052B20: .word 0x020F588C
+_02052B24: .word 0x020F58A4
+_02052B28: .word 0x020F589C
thumb_func_start FUN_02052B2C
FUN_02052B2C: ; 0x02052B2C
@@ -153311,28 +173588,58 @@ FUN_02052B74: ; 0x02052B74
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r4, #0x1
- lsl r4, r6, #0
- lsl r0, r1, #0x1
- lsl r4, r3, #0x1
- lsl r4, r4, #0x1
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r2, r5, #0
- lsl r6, r7, #0
- lsl r2, r2, #0x1
- lsl r6, r2, #0
+_02052B94: ; jump table (using 16-bit offset)
+ .short _02052BFA - _02052B94 - 2; case 0
+ .short _02052BCA - _02052B94 - 2; case 1
+ .short _02052BDE - _02052B94 - 2; case 2
+ .short _02052BF2 - _02052B94 - 2; case 3
+ .short _02052BFA - _02052B94 - 2; case 4
+ .short _02052BB6 - _02052B94 - 2; case 5
+ .short _02052BB6 - _02052B94 - 2; case 6
+ .short _02052BB6 - _02052B94 - 2; case 7
+ .short _02052BC0 - _02052B94 - 2; case 8
+ .short _02052BD4 - _02052B94 - 2; case 9
+ .short _02052BE8 - _02052B94 - 2; case 10
+ .short _02052BAC - _02052B94 - 2; case 11
+_02052BAC:
add r0, sp, #0x0
mov r1, #0x2
bl FUN_02052B2C
b _02052BFA
_02052BB6:
- .byte 0x00, 0xA8, 0x02, 0x21, 0xFF, 0xF7, 0xB7, 0xFF, 0x1C, 0xE0
- .byte 0x00, 0xA8, 0x05, 0x21, 0xFF, 0xF7, 0xB2, 0xFF, 0x17, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7
- .byte 0xAD, 0xFF, 0x12, 0xE0, 0x00, 0xA8, 0x05, 0x21, 0xFF, 0xF7, 0xA8, 0xFF, 0x0D, 0xE0, 0x00, 0xA8
- .byte 0x04, 0x21, 0xFF, 0xF7, 0xA3, 0xFF, 0x08, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7, 0x9E, 0xFF
- .byte 0x03, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7, 0x99, 0xFF
+ add r0, sp, #0x0
+ mov r1, #0x2
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BC0:
+ add r0, sp, #0x0
+ mov r1, #0x5
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BCA:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BD4:
+ add r0, sp, #0x0
+ mov r1, #0x5
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BDE:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BE8:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BF2:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
_02052BFA:
add r0, sp, #0x0
strb r4, [r0, #0x1c]
@@ -153542,19 +173849,33 @@ _02052D80:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r4, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
- lsl r6, r4, #0
- lsl r2, r4, #0
+_02052D90: ; jump table (using 16-bit offset)
+ .short _02052DB8 - _02052D90 - 2; case 0
+ .short _02052DA0 - _02052D90 - 2; case 1
+ .short _02052DA4 - _02052D90 - 2; case 2
+ .short _02052DA8 - _02052D90 - 2; case 3
+ .short _02052DAC - _02052D90 - 2; case 4
+ .short _02052DB0 - _02052D90 - 2; case 5
+ .short _02052DB8 - _02052D90 - 2; case 6
+ .short _02052DB4 - _02052D90 - 2; case 7
+_02052DA0:
mov r1, #0xd1
b _02052DBA
_02052DA4:
- .byte 0xD2, 0x21, 0x08, 0xE0, 0xD3, 0x21, 0x06, 0xE0, 0xD4, 0x21, 0x04, 0xE0
- .byte 0xD5, 0x21, 0x02, 0xE0, 0xD6, 0x21, 0x00, 0xE0
+ mov r1, #0xd2
+ b _02052DBA
+_02052DA8:
+ mov r1, #0xd3
+ b _02052DBA
+_02052DAC:
+ mov r1, #0xd4
+ b _02052DBA
+_02052DB0:
+ mov r1, #0xd5
+ b _02052DBA
+_02052DB4:
+ mov r1, #0xd6
+ b _02052DBA
_02052DB8:
mov r1, #0xd7
_02052DBA:
@@ -154135,11 +174456,13 @@ _02053216:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r5, #0
- lsl r0, r1, #0x2
- lsl r0, r6, #0x2
- lsl r4, r3, #0x3
+_02053228: ; jump table (using 16-bit offset)
+ .short _02053232 - _02053228 - 2; case 0
+ .short _02053252 - _02053228 - 2; case 1
+ .short _020532B2 - _02053228 - 2; case 2
+ .short _020532DA - _02053228 - 2; case 3
+ .short _02053306 - _02053228 - 2; case 4
+_02053232:
add r0, r5, #0x0
bl FUN_0205AD98
cmp r0, #0x1
@@ -154155,18 +174478,89 @@ _02053216:
bl FUN_0205339C
b _0205330A
_02053252:
- .byte 0x28, 0x1C, 0x07, 0xF0, 0xA0, 0xFD, 0x01, 0x28, 0x56, 0xD1, 0x20, 0x7B, 0x03, 0x28
- .byte 0x07, 0xD1, 0x00, 0x20, 0x60, 0x73, 0x20, 0x73, 0x30, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x66, 0xF8
- .byte 0x4B, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0xEC, 0xFD, 0x28, 0x1C, 0x00, 0x21, 0x05, 0xF0, 0x36, 0xFB
- .byte 0x20, 0x7B, 0x01, 0x28, 0x10, 0xD1, 0x60, 0x7D, 0x00, 0x28, 0x0D, 0xD1, 0x28, 0x1C, 0x03, 0x21
- .byte 0x05, 0xF0, 0xFE, 0xFD, 0x28, 0x1C, 0x01, 0x21, 0x05, 0xF0, 0x4C, 0xF9, 0x28, 0x1C, 0x01, 0x21
- .byte 0x05, 0xF0, 0x4C, 0xF9, 0x01, 0x20, 0x60, 0x75, 0x02, 0x20, 0x60, 0x73, 0x00, 0x20, 0x20, 0x73
- .byte 0x2B, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0x70, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0x30, 0x1C, 0x29, 0x1C
- .byte 0x00, 0xF0, 0xDA, 0xF8, 0x20, 0x7B, 0x03, 0x28, 0x03, 0xD1, 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0
- .byte 0xB9, 0xF8, 0x30, 0x1C, 0x00, 0xF0, 0x50, 0xF8, 0x17, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0x5C, 0xFD
- .byte 0x01, 0x28, 0x12, 0xD1, 0x28, 0x1C, 0x07, 0xF0, 0xB3, 0xFD, 0x04, 0x20, 0x60, 0x73, 0x00, 0x20
- .byte 0x20, 0x73, 0x60, 0x75, 0x28, 0x1C, 0x01, 0x21, 0x05, 0xF0, 0xD0, 0xFA, 0x28, 0x1C, 0x00, 0x21
- .byte 0x05, 0xF0, 0xDA, 0xFA, 0x01, 0xE0, 0x00, 0x20, 0x60, 0x73
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x3
+ bne _02053272
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+ strb r0, [r4, #0xc]
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_0205333C
+ b _0205330A
+_02053272:
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020588EC
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x1
+ bne _020532A8
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0x0
+ bne _020532A8
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_02058E90
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058534
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205853C
+ mov r0, #0x1
+ strb r0, [r4, #0x15]
+_020532A8:
+ mov r0, #0x2
+ strb r0, [r4, #0xd]
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ b _0205330A
+_020532B2:
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02053478
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x3
+ bne _020532D2
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02053444
+_020532D2:
+ add r0, r6, #0x0
+ bl FUN_02053378
+ b _0205330A
+_020532DA:
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ mov r0, #0x4
+ strb r0, [r4, #0xd]
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ strb r0, [r4, #0x15]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020588B8
+ b _0205330A
+_02053306:
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
_0205330A:
add r7, r7, #0x1
add r4, #0x18
@@ -154764,12 +175158,14 @@ _0205376E:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r6, r5, #0
- lsl r6, r3, #0x1
- lsl r0, r4, #0x3
- lsl r6, r6, #0x3
- lsl r6, r4, #0x4
+_0205377A: ; jump table (using 16-bit offset)
+ .short _02053786 - _0205377A - 2; case 0
+ .short _020537AA - _0205377A - 2; case 1
+ .short _020537DA - _0205377A - 2; case 2
+ .short _0205385C - _0205377A - 2; case 3
+ .short _02053872 - _0205377A - 2; case 4
+ .short _020538A2 - _0205377A - 2; case 5
+_02053786:
ldr r0, [r4, #0x0]
ldr r0, [r0, #0x38]
bl FUN_020553A0
@@ -154786,24 +175182,143 @@ _0205376E:
str r1, [r4, r0]
pop {r3-r7, pc}
_020537AA:
- .byte 0x24, 0x39, 0x20, 0x1C, 0x61, 0x18
- .byte 0x00, 0x22, 0x00, 0xF0, 0xC1, 0xFB, 0x5B, 0x21, 0x89, 0x00, 0x20, 0x1C, 0x61, 0x18, 0x01, 0x22
- .byte 0x00, 0xF0, 0xBA, 0xFB, 0x5F, 0x20, 0x02, 0x21, 0x80, 0x00, 0x21, 0x50, 0x01, 0x1D, 0x61, 0x58
- .byte 0x00, 0x1D, 0x49, 0x1C, 0x06, 0xB0, 0x21, 0x50, 0xF8, 0xBD, 0x00, 0x20, 0x03, 0x90, 0x08, 0x1F
- .byte 0x20, 0x58, 0x00, 0x28, 0x14, 0xDD, 0x24, 0x39, 0x67, 0x18, 0x26, 0x1C, 0x04, 0xAD, 0x5A, 0x21
- .byte 0x89, 0x00, 0x71, 0x58, 0x38, 0x1C, 0x88, 0x47, 0x01, 0xC5, 0x03, 0x98, 0x10, 0x37, 0x40, 0x1C
- .byte 0x03, 0x90, 0x5F, 0x20, 0x80, 0x00, 0x21, 0x58, 0x03, 0x98, 0x10, 0x36, 0x88, 0x42, 0xEE, 0xDB
- .byte 0x04, 0x98, 0x02, 0x28, 0x0B, 0xD1, 0x06, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x04, 0x20
- .byte 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0xBA, 0xF7, 0xD1, 0xFC, 0x5F, 0x20
- .byte 0x80, 0x00, 0x22, 0x58, 0x00, 0x23, 0x00, 0x2A, 0x07, 0xDD, 0x04, 0xA9, 0x08, 0x68, 0x00, 0x28
- .byte 0x03, 0xD1, 0x5B, 0x1C, 0x09, 0x1D, 0x93, 0x42, 0xF8, 0xDB, 0x93, 0x42, 0x31, 0xD1, 0x06, 0x20
- .byte 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0xF8, 0xBD, 0xBA, 0xF7, 0x54, 0xFD
- .byte 0x00, 0x28, 0x26, 0xD0, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50
- .byte 0xF8, 0xBD, 0x08, 0x1F, 0x20, 0x58, 0x00, 0x26, 0x00, 0x28, 0x0B, 0xDD, 0x24, 0x39, 0x5F, 0x27
- .byte 0x65, 0x18, 0xBF, 0x00, 0x28, 0x1C, 0x00, 0xF0, 0xF3, 0xFB, 0xE0, 0x59, 0x76, 0x1C, 0x10, 0x35
- .byte 0x86, 0x42, 0xF7, 0xDB, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50
- .byte 0xF8, 0xBD, 0x08, 0x31, 0x60, 0x58, 0x01, 0x22, 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0
- .byte 0x45, 0xFA
+ sub r1, #0x24
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x0
+ bl FUN_02053F38
+ mov r1, #0x5b
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x1
+ bl FUN_02053F38
+ mov r0, #0x5f
+ mov r1, #0x2
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0x18
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_020537DA:
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ sub r0, r1, #0x4
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ ble _02053810
+ sub r1, #0x24
+ add r7, r4, r1
+ add r6, r4, #0x0
+ add r5, sp, #0x10
+_020537EE:
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ ldr r1, [r6, r1]
+ add r0, r7, #0x0
+ blx r1
+ stmia r5!, {r0}
+ ldr r0, [sp, #0xc]
+ add r7, #0x10
+ add r0, r0, #0x1
+ str r0, [sp, #0xc]
+ mov r0, #0x5f
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldr r0, [sp, #0xc]
+ add r6, #0x10
+ cmp r0, r1
+ blt _020537EE
+_02053810:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x2
+ bne _0205382E
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+_0205382E:
+ mov r0, #0x5f
+ lsl r0, r0, #0x2
+ ldr r2, [r4, r0]
+ mov r3, #0x0
+ cmp r2, #0x0
+ ble _0205384A
+ add r1, sp, #0x10
+_0205383C:
+ ldr r0, [r1, #0x0]
+ cmp r0, #0x0
+ bne _0205384A
+ add r3, r3, #0x1
+ add r1, r1, #0x4
+ cmp r3, r2
+ blt _0205383C
+_0205384A:
+ cmp r3, r2
+ bne _020538B2
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_0205385C:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020538B2
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_02053872:
+ sub r0, r1, #0x4
+ ldr r0, [r4, r0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _02053894
+ sub r1, #0x24
+ mov r7, #0x5f
+ add r5, r4, r1
+ lsl r7, r7, #0x2
+_02053884:
+ add r0, r5, #0x0
+ bl FUN_02054070
+ ldr r0, [r4, r7]
+ add r6, r6, #0x1
+ add r5, #0x10
+ cmp r6, r0
+ blt _02053884
+_02053894:
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_020538A2:
+ add r1, #0x8
+ ldr r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
_020538B2:
add sp, #0x18
pop {r3-r7, pc}
@@ -154839,12 +175354,14 @@ _020538E2:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r4, #0
- lsl r6, r7, #0x1
- lsl r2, r6, #0x2
- lsl r4, r2, #0x3
- lsl r2, r5, #0x3
+_020538EE: ; jump table (using 16-bit offset)
+ .short _020538FA - _020538EE - 2; case 0
+ .short _02053912 - _020538EE - 2; case 1
+ .short _0205396E - _020538EE - 2; case 2
+ .short _020539A2 - _020538EE - 2; case 3
+ .short _020539C4 - _020538EE - 2; case 4
+ .short _020539DA - _020538EE - 2; case 5
+_020538FA:
ldr r0, [r4, #0x0]
mov r1, #0x0
ldr r0, [r0, #0x38]
@@ -154857,26 +175374,113 @@ _020538E2:
str r1, [r4, r0]
pop {r3-r5, pc}
_02053912:
- .byte 0x04, 0x20, 0x03, 0xA9, 0x02, 0x22, 0x00, 0x23, 0xC4, 0xF7, 0x4B, 0xFB, 0x01, 0x20
- .byte 0x00, 0x21, 0xCA, 0xF7, 0x13, 0xFF, 0x02, 0x20, 0x00, 0x21, 0xCA, 0xF7, 0x0F, 0xFF, 0x57, 0x21
- .byte 0x89, 0x00, 0x20, 0x1C, 0x61, 0x18, 0x02, 0x22, 0x00, 0xF0, 0xFE, 0xFA, 0x06, 0x20, 0x00, 0x90
- .byte 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x00, 0x20, 0x0A, 0x1C, 0x03, 0x1C, 0xBA, 0xF7
- .byte 0x3F, 0xFC, 0x27, 0x48, 0xB1, 0xF7, 0xB8, 0xFD, 0x5F, 0x20, 0x01, 0x21, 0x80, 0x00, 0x21, 0x50
- .byte 0x01, 0x1D, 0x61, 0x58, 0x00, 0x1D, 0x49, 0x1C, 0x04, 0xB0, 0x21, 0x50, 0x38, 0xBD, 0x08, 0x1C
- .byte 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x00, 0x28, 0x35, 0xD1, 0xBA, 0xF7
- .byte 0xC3, 0xFC, 0x00, 0x28, 0x31, 0xD0, 0x1B, 0x48, 0xB1, 0xF7, 0x9E, 0xFD, 0x06, 0x20, 0x80, 0x01
- .byte 0x21, 0x58, 0x04, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0xFE, 0x21, 0xC9, 0x43, 0x00, 0x1D, 0x21, 0x50
- .byte 0x38, 0xBD, 0x08, 0x1D, 0x22, 0x58, 0x10, 0x32, 0x22, 0x50, 0x20, 0x58, 0x00, 0x28, 0x1C, 0xDD
- .byte 0x60, 0x58, 0x40, 0x1C, 0x60, 0x50, 0x20, 0x68, 0x01, 0x21, 0x80, 0x6B, 0x01, 0xF0, 0xDE, 0xFC
- .byte 0x04, 0xB0, 0x38, 0xBD, 0x24, 0x39, 0x60, 0x18, 0x00, 0xF0, 0x52, 0xFB, 0x06, 0x20, 0x80, 0x01
- .byte 0x21, 0x58, 0x04, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x38, 0xBD, 0x08, 0x31, 0x60, 0x58, 0x01, 0x22
- .byte 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0xA9, 0xF9
+ mov r0, #0x4
+ add r1, sp, #0xc
+ mov r2, #0x2
+ mov r3, #0x0
+ bl FUN_02017FB4
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r1, #0x57
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x2
+ bl FUN_02053F38
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldr r0, _020539F0 ; =0x0000062F
+ bl FUN_020054C8
+ mov r0, #0x5f
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0x10
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_0205396E:
+ add r0, r1, #0x0
+ sub r1, #0x18
+ sub r0, #0x24
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ cmp r0, #0x0
+ bne _020539EA
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020539EA
+ ldr r0, _020539F4 ; =0x00000631
+ bl FUN_020054C8
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ mov r1, #0xfe
+ mvn r1, r1
+ add r0, r0, #0x4
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_020539A2:
+ add r0, r1, #0x4
+ ldr r2, [r4, r0]
+ add r2, #0x10
+ str r2, [r4, r0]
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ ble _020539EA
+ ldr r0, [r4, r1]
+ add r0, r0, #0x1
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ add sp, #0x10
+ pop {r3-r5, pc}
+_020539C4:
+ sub r1, #0x24
+ add r0, r4, r1
+ bl FUN_02054070
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_020539DA:
+ add r1, #0x8
+ ldr r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
_020539EA:
add sp, #0x10
pop {r3-r5, pc}
nop
-_020539F0:
- .byte 0x2F, 0x06, 0x00, 0x00, 0x31, 0x06, 0x00, 0x00
+_020539F0: .word 0x0000062F
+_020539F4: .word 0x00000631
thumb_func_start FUN_020539F8
FUN_020539F8: ; 0x020539F8
@@ -154905,13 +175509,15 @@ _02053A1C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r4, r4, #0
- lsl r6, r1, #0x1
- lsl r6, r6, #0x1
- lsl r0, r7, #0x2
- lsl r6, r2, #0x3
- lsl r4, r5, #0x3
+_02053A28: ; jump table (using 16-bit offset)
+ .short _02053A36 - _02053A28 - 2; case 0
+ .short _02053A4E - _02053A28 - 2; case 1
+ .short _02053A78 - _02053A28 - 2; case 2
+ .short _02053AA0 - _02053A28 - 2; case 3
+ .short _02053AE2 - _02053A28 - 2; case 4
+ .short _02053B00 - _02053A28 - 2; case 5
+ .short _02053B16 - _02053A28 - 2; case 6
+_02053A36:
ldr r0, [r4, #0x0]
mov r1, #0x0
ldr r0, [r0, #0x38]
@@ -154924,26 +175530,122 @@ _02053A1C:
str r1, [r4, r0]
pop {r4-r5, pc}
_02053A4E:
- .byte 0x24, 0x39
- .byte 0x20, 0x1C, 0x61, 0x18, 0x03, 0x22, 0x00, 0xF0, 0x6F, 0xFA, 0x63, 0x20, 0x00, 0x01, 0xB1, 0xF7
- .byte 0x33, 0xFD, 0x5F, 0x20, 0x01, 0x21, 0x80, 0x00, 0x21, 0x50, 0x01, 0x1D, 0x61, 0x58, 0x00, 0x1D
- .byte 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50, 0x30, 0xBD, 0x08, 0x1D, 0x22, 0x58, 0x20, 0x3A, 0x22, 0x50
- .byte 0x21, 0x58, 0xFE, 0x20, 0xC0, 0x43, 0x81, 0x42, 0x52, 0xDA, 0x01, 0x20, 0x00, 0x21, 0xCA, 0xF7
- .byte 0x5D, 0xFE, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD
- .byte 0x08, 0x1C, 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x05, 0x1C, 0x02, 0x2D
- .byte 0x0E, 0xD1, 0x61, 0x21, 0x00, 0x20, 0x89, 0x00, 0x60, 0x50, 0x06, 0x21, 0x00, 0x91, 0x01, 0x21
- .byte 0x01, 0x91, 0x04, 0x21, 0x02, 0x91, 0x1B, 0x4B, 0x01, 0x1C, 0x02, 0x1C, 0xBA, 0xF7, 0x80, 0xFB
- .byte 0x00, 0x2D, 0x2D, 0xD1, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50
- .byte 0x30, 0xBD, 0xBA, 0xF7, 0x11, 0xFC, 0x00, 0x28, 0x22, 0xD0, 0x61, 0x20, 0x00, 0x21, 0x80, 0x00
- .byte 0x21, 0x50, 0x01, 0x1F, 0x61, 0x58, 0x00, 0x1F, 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50, 0x30, 0xBD
- .byte 0x24, 0x39, 0x60, 0x18, 0x00, 0xF0, 0xB4, 0xFA, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0
- .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x02, 0x20, 0x00, 0x21, 0xCA, 0xF7, 0x17, 0xFE, 0x62, 0x20
- .byte 0x80, 0x00, 0x20, 0x58, 0x01, 0x21, 0x01, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x06, 0xF9
+ sub r1, #0x24
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x3
+ bl FUN_02053F38
+ mov r0, #0x63
+ lsl r0, r0, #0x4
+ bl FUN_020054C8
+ mov r0, #0x5f
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053A78:
+ add r0, r1, #0x4
+ ldr r2, [r4, r0]
+ sub r2, #0x20
+ str r2, [r4, r0]
+ ldr r1, [r4, r0]
+ mov r0, #0xfe
+ mvn r0, r0
+ cmp r1, r0
+ bge _02053B30
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053AA0:
+ add r0, r1, #0x0
+ sub r1, #0x18
+ sub r0, #0x24
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ add r5, r0, #0x0
+ cmp r5, #0x2
+ bne _02053AD0
+ mov r1, #0x61
+ mov r0, #0x0
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r1, #0x6
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r1, #0x4
+ str r1, [sp, #0x8]
+ ldr r3, _02053B34 ; =0x00007FFF
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ bl FUN_0200E1D0
+_02053AD0:
+ cmp r5, #0x0
+ bne _02053B30
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053AE2:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02053B30
+ mov r0, #0x61
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ sub r1, r0, #0x4
+ ldr r1, [r4, r1]
+ sub r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053B00:
+ sub r1, #0x24
+ add r0, r4, r1
+ bl FUN_02054070
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053B16:
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
_02053B30:
add sp, #0xc
pop {r4-r5, pc}
-_02053B34:
- .byte 0xFF, 0x7F, 0x00, 0x00
+ .balign 4
+_02053B34: .word 0x00007FFF
thumb_func_start FUN_02053B38
FUN_02053B38: ; 0x02053B38
@@ -154972,13 +175674,15 @@ _02053B5C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r0, r1, #0x1
- lsl r4, r5, #0x1
- lsl r0, r1, #0x2
- lsl r0, r7, #0x2
- lsl r4, r7, #0x3
- lsl r2, r2, #0x4
+_02053B68: ; jump table (using 16-bit offset)
+ .short _02053B76 - _02053B68 - 2; case 0
+ .short _02053BB2 - _02053B68 - 2; case 1
+ .short _02053BD6 - _02053B68 - 2; case 2
+ .short _02053BF2 - _02053B68 - 2; case 3
+ .short _02053C22 - _02053B68 - 2; case 4
+ .short _02053C66 - _02053B68 - 2; case 5
+ .short _02053C7C - _02053B68 - 2; case 6
+_02053B76:
ldr r0, [r4, #0x0]
mov r1, #0x0
ldr r0, [r0, #0x38]
@@ -155007,25 +175711,121 @@ _02053B5C:
str r1, [r4, r0]
pop {r4-r5, pc}
_02053BB2:
- .byte 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x34, 0x4B
- .byte 0x00, 0x20, 0x0A, 0x1C, 0xBA, 0xF7, 0x04, 0xFB, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0
- .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0xBA, 0xF7, 0x97, 0xFB, 0x00, 0x28, 0x56, 0xD0, 0x2D, 0x48
- .byte 0xB1, 0xF7, 0x72, 0xFC, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50
- .byte 0x30, 0xBD, 0x08, 0x1C, 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x00, 0x28
- .byte 0x44, 0xD1, 0x20, 0x68, 0x01, 0x21, 0x80, 0x6B, 0x01, 0xF0, 0xB8, 0xFB, 0x61, 0x20, 0x06, 0x21
- .byte 0x80, 0x00, 0x21, 0x50, 0x01, 0x1F, 0x61, 0x58, 0x00, 0x1F, 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50
- .byte 0x30, 0xBD, 0x08, 0x1C, 0x08, 0x39, 0x14, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x05, 0x1C
- .byte 0x61, 0x20, 0x80, 0x00, 0x21, 0x58, 0x00, 0x29, 0x0A, 0xDC, 0x0B, 0xD1, 0x28, 0x38, 0x20, 0x18
- .byte 0x00, 0xF0, 0x16, 0xFA, 0x61, 0x20, 0x80, 0x00, 0x21, 0x58, 0x49, 0x1E, 0x21, 0x50, 0x01, 0xE0
- .byte 0x49, 0x1E, 0x21, 0x50, 0x00, 0x2D, 0x19, 0xD1, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0
- .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x14, 0x39, 0x60, 0x18, 0x00, 0xF0, 0x01, 0xFA, 0x06, 0x20
- .byte 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x08, 0x31, 0x60, 0x58
- .byte 0x01, 0x22, 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x58, 0xF8
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r3, _02053C90 ; =0x00007FFF
+ mov r0, #0x0
+ add r2, r1, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053BD6:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02053C8C
+ ldr r0, _02053C94 ; =0x00000632
+ bl FUN_020054C8
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053BF2:
+ add r0, r1, #0x0
+ sub r1, #0x18
+ sub r0, #0x24
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ cmp r0, #0x0
+ bne _02053C8C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ mov r0, #0x61
+ mov r1, #0x6
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ sub r1, r0, #0x4
+ ldr r1, [r4, r1]
+ sub r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053C22:
+ add r0, r1, #0x0
+ sub r1, #0x8
+ sub r0, #0x14
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ add r5, r0, #0x0
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ cmp r1, #0x0
+ bgt _02053C50
+ bne _02053C54
+ sub r0, #0x28
+ add r0, r4, r0
+ bl FUN_02054070
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ sub r1, r1, #0x1
+ str r1, [r4, r0]
+ b _02053C54
+_02053C50:
+ sub r1, r1, #0x1
+ str r1, [r4, r0]
+_02053C54:
+ cmp r5, #0x0
+ bne _02053C8C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053C66:
+ sub r1, #0x14
+ add r0, r4, r1
+ bl FUN_02054070
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053C7C:
+ add r1, #0x8
+ ldr r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
_02053C8C:
add sp, #0xc
pop {r4-r5, pc}
-_02053C90:
- .byte 0xFF, 0x7F, 0x00, 0x00, 0x32, 0x06, 0x00, 0x00
+ .balign 4
+_02053C90: .word 0x00007FFF
+_02053C94: .word 0x00000632
thumb_func_start FUN_02053C98
FUN_02053C98: ; 0x02053C98
@@ -155041,10 +175841,12 @@ FUN_02053C98: ; 0x02053C98
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r2, #0
- lsl r2, r4, #0
- lsl r0, r6, #0
+_02053CB0: ; jump table (using 16-bit offset)
+ .short _02053CB8 - _02053CB0 - 2; case 0
+ .short _02053CC6 - _02053CB0 - 2; case 1
+ .short _02053CD4 - _02053CB0 - 2; case 2
+ .short _02053CE2 - _02053CB0 - 2; case 3
+_02053CB8:
ldr r2, _02053CF8 ; =0x020F5C04
ldr r0, _02053CFC ; =FUN_02053750
ldrb r2, [r2, r3]
@@ -155052,9 +175854,25 @@ FUN_02053C98: ; 0x02053C98
bl FUN_02053D0C
b _02053CEE
_02053CC6:
- .byte 0x0C, 0x4A, 0x0D, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0
- .byte 0x1D, 0xF8, 0x0C, 0xE0, 0x08, 0x4A, 0x0B, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0, 0x16, 0xF8
- .byte 0x05, 0xE0, 0x05, 0x4A, 0x08, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0, 0x0F, 0xF8
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053D00 ; =FUN_020538B8
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
+ b _02053CEE
+_02053CD4:
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053D04 ; =FUN_020539F8
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
+ b _02053CEE
+_02053CE2:
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053D08 ; =FUN_02053B38
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
_02053CEE:
mov r1, #0x62
lsl r1, r1, #0x2
@@ -155064,8 +175882,9 @@ _02053CEE:
.balign 4
_02053CF8: .word 0x020F5C04
_02053CFC: .word FUN_02053750 + 1
-_02053D00:
- .byte 0xB9, 0x38, 0x05, 0x02, 0xF9, 0x39, 0x05, 0x02, 0x39, 0x3B, 0x05, 0x02
+_02053D00: .word FUN_020538B8 + 1
+_02053D04: .word FUN_020539F8 + 1
+_02053D08: .word FUN_02053B38 + 1
thumb_func_start FUN_02053D0C
FUN_02053D0C: ; 0x02053D0C
@@ -155352,12 +176171,14 @@ _02053F40:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r2, r1, #0
- lsl r0, r3, #0
- lsl r6, r4, #0
- lsl r4, r6, #0
- lsl r2, r0, #0x1
- lsl r0, r2, #0x1
+_02053F58: ; jump table (using 16-bit offset)
+ .short _02053F64 - _02053F58 - 2; case 0
+ .short _02053F72 - _02053F58 - 2; case 1
+ .short _02053F80 - _02053F58 - 2; case 2
+ .short _02053F8E - _02053F58 - 2; case 3
+ .short _02053F9C - _02053F58 - 2; case 4
+ .short _02053FAA - _02053F58 - 2; case 5
+_02053F64:
ldr r2, _02053FC0 ; =FUN_02054088
str r2, [r1, #0x4]
ldr r2, _02053FC4 ; =FUN_020540C8
@@ -155366,11 +176187,44 @@ _02053F40:
str r2, [r1, #0xc]
b _02053FB6
_02053F72:
- .byte 0x16, 0x4A, 0x4A, 0x60, 0x16, 0x4A, 0x8A, 0x60, 0x16, 0x4A, 0xCA, 0x60, 0x1A, 0xE0
- .byte 0x15, 0x4A, 0x4A, 0x60, 0x15, 0x4A, 0x8A, 0x60, 0x15, 0x4A, 0xCA, 0x60, 0x13, 0xE0, 0x15, 0x4A
- .byte 0x4A, 0x60, 0x15, 0x4A, 0x8A, 0x60, 0x15, 0x4A, 0xCA, 0x60, 0x0C, 0xE0, 0x14, 0x4A, 0x4A, 0x60
- .byte 0x14, 0x4A, 0x8A, 0x60, 0x14, 0x4A, 0xCA, 0x60, 0x05, 0xE0, 0x14, 0x4A, 0x4A, 0x60, 0x14, 0x4A
- .byte 0x8A, 0x60, 0x14, 0x4A, 0xCA, 0x60
+ ldr r2, _02053FCC ; =FUN_02054168
+ str r2, [r1, #0x4]
+ ldr r2, _02053FD0 ; =FUN_020541A4
+ str r2, [r1, #0x8]
+ ldr r2, _02053FD4 ; =FUN_020541C4
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F80:
+ ldr r2, _02053FD8 ; =FUN_020541E8
+ str r2, [r1, #0x4]
+ ldr r2, _02053FDC ; =FUN_02054228
+ str r2, [r1, #0x8]
+ ldr r2, _02053FE0 ; =FUN_02054248
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F8E:
+ ldr r2, _02053FE4 ; =FUN_020542A4
+ str r2, [r1, #0x4]
+ ldr r2, _02053FE8 ; =FUN_020542E8
+ str r2, [r1, #0x8]
+ ldr r2, _02053FEC ; =FUN_02054308
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F9C:
+ ldr r2, _02053FF0 ; =FUN_020543D8
+ str r2, [r1, #0x4]
+ ldr r2, _02053FF4 ; =FUN_0205442C
+ str r2, [r1, #0x8]
+ ldr r2, _02053FF8 ; =FUN_0205444C
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053FAA:
+ ldr r2, _02053FFC ; =FUN_02054508
+ str r2, [r1, #0x4]
+ ldr r2, _02054000 ; =FUN_0205454C
+ str r2, [r1, #0x8]
+ ldr r2, _02054004 ; =FUN_0205456C
+ str r2, [r1, #0xc]
_02053FB6:
ldr r2, [r1, #0x4]
add r0, r0, #0x4
@@ -155380,12 +176234,21 @@ _02053FB6:
_02053FC0: .word FUN_02054088 + 1
_02053FC4: .word FUN_020540C8 + 1
_02053FC8: .word FUN_020540E8 + 1
-_02053FCC:
- .byte 0x69, 0x41, 0x05, 0x02
- .byte 0xA5, 0x41, 0x05, 0x02, 0xC5, 0x41, 0x05, 0x02, 0xE9, 0x41, 0x05, 0x02, 0x29, 0x42, 0x05, 0x02
- .byte 0x49, 0x42, 0x05, 0x02, 0xA5, 0x42, 0x05, 0x02, 0xE9, 0x42, 0x05, 0x02, 0x09, 0x43, 0x05, 0x02
- .byte 0xD9, 0x43, 0x05, 0x02, 0x2D, 0x44, 0x05, 0x02, 0x4D, 0x44, 0x05, 0x02, 0x09, 0x45, 0x05, 0x02
- .byte 0x4D, 0x45, 0x05, 0x02, 0x6D, 0x45, 0x05, 0x02
+_02053FCC: .word FUN_02054168 + 1
+_02053FD0: .word FUN_020541A4 + 1
+_02053FD4: .word FUN_020541C4 + 1
+_02053FD8: .word FUN_020541E8 + 1
+_02053FDC: .word FUN_02054228 + 1
+_02053FE0: .word FUN_02054248 + 1
+_02053FE4: .word FUN_020542A4 + 1
+_02053FE8: .word FUN_020542E8 + 1
+_02053FEC: .word FUN_02054308 + 1
+_02053FF0: .word FUN_020543D8 + 1
+_02053FF4: .word FUN_0205442C + 1
+_02053FF8: .word FUN_0205444C + 1
+_02053FFC: .word FUN_02054508 + 1
+_02054000: .word FUN_0205454C + 1
+_02054004: .word FUN_0205456C + 1
thumb_func_start FUN_02054008
FUN_02054008: ; 0x02054008
@@ -155812,11 +176675,13 @@ FUN_02054308: ; 0x02054308
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r6, r4, #0
- lsl r4, r2, #0x1
- lsl r0, r0, #0x2
- lsl r0, r5, #0x2
+_02054320: ; jump table (using 16-bit offset)
+ .short _0205432A - _02054320 - 2; case 0
+ .short _02054348 - _02054320 - 2; case 1
+ .short _02054376 - _02054320 - 2; case 2
+ .short _020543A2 - _02054320 - 2; case 3
+ .short _020543CA - _02054320 - 2; case 4
+_0205432A:
ldr r1, [r4, #0x14]
ldr r0, _020543D0 ; =0x00000333
add r1, r1, r0
@@ -155832,22 +176697,77 @@ FUN_02054308: ; 0x02054308
str r0, [r4, #0x10]
b _020543CC
_02054348:
- .byte 0x61, 0x68, 0x22, 0x48, 0x81, 0x42, 0x0B, 0xDD
- .byte 0xE8, 0x03, 0x08, 0x1A, 0x60, 0x60, 0xE0, 0x68, 0x21, 0x1C, 0xCB, 0xF7, 0x73, 0xFE, 0xE0, 0x68
- .byte 0x61, 0x69, 0xCB, 0xF7, 0x3F, 0xFF, 0x31, 0xE0, 0x06, 0x20, 0x80, 0x04, 0x60, 0x60, 0x20, 0x69
- .byte 0x40, 0x1C, 0x20, 0x61, 0x2A, 0xE0, 0x61, 0x68, 0xE8, 0x03, 0x08, 0x1A, 0x60, 0x60, 0xE0, 0x68
- .byte 0x21, 0x1C, 0xCB, 0xF7, 0x5F, 0xFE, 0xE0, 0x68, 0x61, 0x69, 0xCB, 0xF7, 0x2B, 0xFF, 0x4B, 0x20
- .byte 0x61, 0x68, 0x80, 0x03, 0x81, 0x42, 0x19, 0xDA, 0x20, 0x69, 0x02, 0x25, 0x40, 0x1C, 0x20, 0x61
- .byte 0x14, 0xE0, 0x03, 0x21, 0x62, 0x68, 0x89, 0x04, 0x8A, 0x42, 0x0B, 0xDD, 0xE8, 0x03, 0x10, 0x1A
- .byte 0x60, 0x60, 0xE0, 0x68, 0x21, 0x1C, 0xCB, 0xF7, 0x45, 0xFE, 0xE0, 0x68, 0x61, 0x69, 0xCB, 0xF7
- .byte 0x11, 0xFF, 0x03, 0xE0, 0x40, 0x1C, 0x20, 0x61, 0x00, 0xE0, 0x00, 0x25
+ ldr r1, [r4, #0x4]
+ ldr r0, _020543D4 ; =0xFFFE0000
+ cmp r1, r0
+ ble _02054368
+ lsl r0, r5, #0xf
+ sub r0, r1, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ bl FUN_020201E4
+ b _020543CC
+_02054368:
+ mov r0, #0x6
+ lsl r0, r0, #0x12
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_02054376:
+ ldr r1, [r4, #0x4]
+ lsl r0, r5, #0xf
+ sub r0, r1, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ bl FUN_020201E4
+ mov r0, #0x4b
+ ldr r1, [r4, #0x4]
+ lsl r0, r0, #0xe
+ cmp r1, r0
+ bge _020543CC
+ ldr r0, [r4, #0x10]
+ mov r5, #0x2
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_020543A2:
+ mov r1, #0x3
+ ldr r2, [r4, #0x4]
+ lsl r1, r1, #0x12
+ cmp r2, r1
+ ble _020543C4
+ lsl r0, r5, #0xf
+ sub r0, r2, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ bl FUN_020201E4
+ b _020543CC
+_020543C4:
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_020543CA:
+ mov r5, #0x0
_020543CC:
add r0, r5, #0x0
pop {r3-r5, pc}
.balign 4
_020543D0: .word 0x00000333
-_020543D4:
- .byte 0x00, 0x00, 0xFE, 0xFF
+_020543D4: .word 0xFFFE0000
thumb_func_start FUN_020543D8
FUN_020543D8: ; 0x020543D8
@@ -155924,10 +176844,12 @@ FUN_0205444C: ; 0x0205444C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r6, r2, #0
- lsl r2, r6, #0x1
- lsl r6, r1, #0x2
+_02054466: ; jump table (using 16-bit offset)
+ .short _0205446E - _02054466 - 2; case 0
+ .short _0205447E - _02054466 - 2; case 1
+ .short _020544DA - _02054466 - 2; case 2
+ .short _020544F6 - _02054466 - 2; case 3
+_0205446E:
ldr r0, [r4, #0xc]
add r1, r5, #0x0
bl FUN_020200A0
@@ -155936,22 +176858,74 @@ FUN_0205444C: ; 0x0205444C
str r0, [r4, #0x10]
b _020544F8
_0205447E:
- .byte 0x62, 0x69
- .byte 0xE9, 0x03, 0x8A, 0x42, 0x26, 0xDC, 0x26, 0x1C, 0x03, 0xCE, 0x00, 0xAB, 0x1A, 0x1C, 0x03, 0xC3
- .byte 0x30, 0x68, 0x00, 0x27, 0x18, 0x60, 0x60, 0x69, 0x01, 0x9E, 0x00, 0x11, 0x81, 0x00, 0x18, 0x48
- .byte 0x40, 0x5E, 0xC3, 0x17, 0xC1, 0x0B, 0x5B, 0x04, 0x0B, 0x43, 0x41, 0x04, 0xE8, 0x02, 0x08, 0x18
- .byte 0x7B, 0x41, 0x19, 0x05, 0x00, 0x0B, 0x08, 0x43, 0x30, 0x1A, 0x01, 0x90, 0xE0, 0x68, 0x11, 0x1C
- .byte 0xCB, 0xF7, 0xC0, 0xFD, 0x60, 0x69, 0x29, 0x03, 0x40, 0x18, 0x60, 0x61, 0xE0, 0x68, 0xCB, 0xF7
- .byte 0x89, 0xFE, 0x11, 0xE0, 0x40, 0x1C, 0x20, 0x61, 0x0E, 0xE0, 0x61, 0x69, 0x09, 0x48, 0x09, 0x1A
- .byte 0x61, 0x61, 0xE0, 0x68, 0xCB, 0xF7, 0x7E, 0xFE, 0x60, 0x69, 0x00, 0x28, 0x04, 0xDC, 0x20, 0x69
- .byte 0x40, 0x1C, 0x20, 0x61, 0x00, 0xE0, 0x00, 0x25
+ ldr r2, [r4, #0x14]
+ lsl r1, r5, #0xf
+ cmp r2, r1
+ bgt _020544D4
+ add r6, r4, #0x0
+ ldmia r6!, {r0-r1}
+ add r3, sp, #0x0
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ mov r7, #0x0
+ str r0, [r3, #0x0]
+ ldr r0, [r4, #0x14]
+ ldr r6, [sp, #0x4]
+ asr r0, r0, #0x4
+ lsl r1, r0, #0x2
+ ldr r0, _02054500 ; =0x020FFA38
+ ldrsh r0, [r0, r1]
+ asr r3, r0, #0x1f
+ lsr r1, r0, #0xf
+ lsl r3, r3, #0x11
+ orr r3, r1
+ lsl r1, r0, #0x11
+ lsl r0, r5, #0xb
+ add r0, r1, r0
+ adc r3, r7
+ lsl r1, r3, #0x14
+ lsr r0, r0, #0xc
+ orr r0, r1
+ sub r0, r6, r0
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r2, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0x14]
+ lsl r1, r5, #0xc
+ add r0, r0, r1
+ str r0, [r4, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_020201E4
+ b _020544F8
+_020544D4:
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020544F8
+_020544DA:
+ ldr r1, [r4, #0x14]
+ ldr r0, _02054504 ; =0x00000666
+ sub r1, r1, r0
+ str r1, [r4, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_020201E4
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bgt _020544F8
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020544F8
+_020544F6:
+ mov r5, #0x0
_020544F8:
add r0, r5, #0x0
add sp, #0xc
pop {r4-r7, pc}
nop
-_02054500:
- .byte 0x38, 0xFA, 0x0F, 0x02, 0x66, 0x06, 0x00, 0x00
+_02054500: .word 0x020FFA38
+_02054504: .word 0x00000666
thumb_func_start FUN_02054508
FUN_02054508: ; 0x02054508
@@ -158552,23 +179526,47 @@ FUN_020555A0: ; 0x020555A0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
- lsl r2, r6, #0
- lsl r6, r6, #0
+_020555B6: ; jump table (using 16-bit offset)
+ .short _020555CA - _020555B6 - 2; case 0
+ .short _020555CE - _020555B6 - 2; case 1
+ .short _020555D2 - _020555B6 - 2; case 2
+ .short _020555D6 - _020555B6 - 2; case 3
+ .short _020555DA - _020555B6 - 2; case 4
+ .short _020555DE - _020555B6 - 2; case 5
+ .short _020555E2 - _020555B6 - 2; case 6
+ .short _020555E6 - _020555B6 - 2; case 7
+ .short _020555EA - _020555B6 - 2; case 8
+ .short _020555EE - _020555B6 - 2; case 9
+_020555CA:
mov r0, #0x0
pop {r3, pc}
_020555CE:
- .byte 0x15, 0x20
- .byte 0x08, 0xBD, 0xB2, 0x20, 0x08, 0xBD, 0xB0, 0x20, 0x08, 0xBD, 0xB4, 0x20, 0x08, 0xBD, 0xBA, 0x20
- .byte 0x08, 0xBD, 0xBC, 0x20, 0x08, 0xBD, 0xC4, 0x20, 0x08, 0xBD, 0xC6, 0x20, 0x08, 0xBD, 0xC8, 0x20
- .byte 0x08, 0xBD
+ mov r0, #0x15
+ pop {r3, pc}
+_020555D2:
+ mov r0, #0xb2
+ pop {r3, pc}
+_020555D6:
+ mov r0, #0xb0
+ pop {r3, pc}
+_020555DA:
+ mov r0, #0xb4
+ pop {r3, pc}
+_020555DE:
+ mov r0, #0xba
+ pop {r3, pc}
+_020555E2:
+ mov r0, #0xbc
+ pop {r3, pc}
+_020555E6:
+ mov r0, #0xc4
+ pop {r3, pc}
+_020555EA:
+ mov r0, #0xc6
+ pop {r3, pc}
+_020555EE:
+ mov r0, #0xc8
+ pop {r3, pc}
_020555F2:
cmp r0, #0x9
bhi _0205563E
@@ -158578,22 +179576,47 @@ _020555F2:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
- lsl r2, r6, #0
- lsl r6, r6, #0
+_02055602: ; jump table (using 16-bit offset)
+ .short _02055616 - _02055602 - 2; case 0
+ .short _0205561A - _02055602 - 2; case 1
+ .short _0205561E - _02055602 - 2; case 2
+ .short _02055622 - _02055602 - 2; case 3
+ .short _02055626 - _02055602 - 2; case 4
+ .short _0205562A - _02055602 - 2; case 5
+ .short _0205562E - _02055602 - 2; case 6
+ .short _02055632 - _02055602 - 2; case 7
+ .short _02055636 - _02055602 - 2; case 8
+ .short _0205563A - _02055602 - 2; case 9
+_02055616:
mov r0, #0x61
pop {r3, pc}
_0205561A:
- .byte 0x62, 0x20, 0x08, 0xBD, 0xB3, 0x20
- .byte 0x08, 0xBD, 0xB1, 0x20, 0x08, 0xBD, 0xB5, 0x20, 0x08, 0xBD, 0xBB, 0x20, 0x08, 0xBD, 0xBD, 0x20
- .byte 0x08, 0xBD, 0xC5, 0x20, 0x08, 0xBD, 0xC7, 0x20, 0x08, 0xBD, 0xC9, 0x20, 0x08, 0xBD
+ mov r0, #0x62
+ pop {r3, pc}
+_0205561E:
+ mov r0, #0xb3
+ pop {r3, pc}
+_02055622:
+ mov r0, #0xb1
+ pop {r3, pc}
+_02055626:
+ mov r0, #0xb5
+ pop {r3, pc}
+_0205562A:
+ mov r0, #0xbb
+ pop {r3, pc}
+_0205562E:
+ mov r0, #0xbd
+ pop {r3, pc}
+_02055632:
+ mov r0, #0xc5
+ pop {r3, pc}
+_02055636:
+ mov r0, #0xc7
+ pop {r3, pc}
+_0205563A:
+ mov r0, #0xc9
+ pop {r3, pc}
_0205563E:
bl FUN_02020C2C
mov r0, #0x0
@@ -158611,21 +179634,42 @@ FUN_02055648: ; 0x02055648
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r4, r6, #0
- lsl r6, r3, #0
- lsl r4, r6, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
+_0205565A: ; jump table (using 16-bit offset)
+ .short _0205566E - _0205565A - 2; case 0
+ .short _02055672 - _0205565A - 2; case 1
+ .short _02055676 - _0205565A - 2; case 2
+ .short _02055690 - _0205565A - 2; case 3
+ .short _0205567A - _0205565A - 2; case 4
+ .short _02055690 - _0205565A - 2; case 5
+ .short _0205567E - _0205565A - 2; case 6
+ .short _02055682 - _0205565A - 2; case 7
+ .short _02055686 - _0205565A - 2; case 8
+ .short _0205568A - _0205565A - 2; case 9
+_0205566E:
mov r0, #0x1
pop {r3, pc}
_02055672:
- .byte 0x02, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x10, 0x20, 0x08, 0xBD, 0x20, 0x20
- .byte 0x08, 0xBD, 0x40, 0x20, 0x08, 0xBD, 0x80, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x00, 0x02, 0x08, 0xBD
+ mov r0, #0x2
+ pop {r3, pc}
+_02055676:
+ mov r0, #0x4
+ pop {r3, pc}
+_0205567A:
+ mov r0, #0x10
+ pop {r3, pc}
+_0205567E:
+ mov r0, #0x20
+ pop {r3, pc}
+_02055682:
+ mov r0, #0x40
+ pop {r3, pc}
+_02055686:
+ mov r0, #0x80
+ pop {r3, pc}
+_0205568A:
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ pop {r3, pc}
_02055690:
bl FUN_02020C2C
mov r0, #0x1
@@ -160452,10 +181496,12 @@ FUN_020564C8: ; 0x020564C8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r3, #0
- lsl r2, r5, #0
- lsl r4, r7, #0
+_020564EC: ; jump table (using 16-bit offset)
+ .short _020564F4 - _020564EC - 2; case 0
+ .short _02056506 - _020564EC - 2; case 1
+ .short _02056518 - _020564EC - 2; case 2
+ .short _0205652A - _020564EC - 2; case 3
+_020564F4:
ldr r2, [sp, #0x4]
add r0, r6, #0x0
add r1, r7, #0x0
@@ -160465,10 +181511,30 @@ FUN_020564C8: ; 0x020564C8
add sp, #0x8
pop {r3-r7, pc}
_02056506:
- .byte 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94
- .byte 0x00, 0xF0, 0x80, 0xF8, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C
- .byte 0x00, 0x94, 0x00, 0xF0, 0xEF, 0xF8, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C
- .byte 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0, 0x04, 0xF9
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056614
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056518:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056704
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0205652A:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056740
_02056538:
add sp, #0x8
pop {r3-r7, pc}
@@ -160498,15 +181564,23 @@ FUN_02056558: ; 0x02056558
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_0205656A: ; jump table (using 16-bit offset)
+ .short _02056572 - _0205656A - 2; case 0
+ .short _02056576 - _0205656A - 2; case 1
+ .short _0205657A - _0205656A - 2; case 2
+ .short _0205657E - _0205656A - 2; case 3
+_02056572:
mov r0, #0x0
pop {r3, pc}
_02056576:
- .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20
- .byte 0x08, 0xBD
+ mov r0, #0x1
+ pop {r3, pc}
+_0205657A:
+ mov r0, #0x2
+ pop {r3, pc}
+_0205657E:
+ mov r0, #0x1
+ pop {r3, pc}
_02056582:
bl FUN_02020C2C
mov r0, #0x0
@@ -160809,10 +181883,12 @@ FUN_020567E4: ; 0x020567E4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r3, #0
- lsl r2, r5, #0
- lsl r4, r7, #0
+_02056808: ; jump table (using 16-bit offset)
+ .short _02056810 - _02056808 - 2; case 0
+ .short _02056822 - _02056808 - 2; case 1
+ .short _02056834 - _02056808 - 2; case 2
+ .short _02056846 - _02056808 - 2; case 3
+_02056810:
ldr r2, [sp, #0x4]
add r0, r6, #0x0
add r1, r7, #0x0
@@ -160822,10 +181898,30 @@ FUN_020567E4: ; 0x020567E4
add sp, #0x8
pop {r3-r7, pc}
_02056822:
- .byte 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0, 0x84, 0xF8
- .byte 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0
- .byte 0x1D, 0xF9, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94
- .byte 0x00, 0xF0, 0x32, 0xF9
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056938
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056834:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056A7C
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056846:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056AB8
_02056854:
add sp, #0x8
pop {r3-r7, pc}
@@ -160855,14 +181951,23 @@ FUN_02056874: ; 0x02056874
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02056886: ; jump table (using 16-bit offset)
+ .short _0205688E - _02056886 - 2; case 0
+ .short _02056892 - _02056886 - 2; case 1
+ .short _02056896 - _02056886 - 2; case 2
+ .short _0205689A - _02056886 - 2; case 3
+_0205688E:
mov r0, #0x0
pop {r3, pc}
_02056892:
- .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x08, 0xBD
+ mov r0, #0x1
+ pop {r3, pc}
+_02056896:
+ mov r0, #0x2
+ pop {r3, pc}
+_0205689A:
+ mov r0, #0x1
+ pop {r3, pc}
_0205689E:
bl FUN_02020C2C
mov r0, #0x0
@@ -161406,19 +182511,35 @@ FUN_02056CCC: ; 0x02056CCC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r2, #0
- lsl r6, r3, #0
- lsl r2, r5, #0
+_02056D1C: ; jump table (using 16-bit offset)
+ .short _02056D24 - _02056D1C - 2; case 0
+ .short _02056D30 - _02056D1C - 2; case 1
+ .short _02056D3C - _02056D1C - 2; case 2
+ .short _02056D48 - _02056D1C - 2; case 3
+_02056D24:
bl FUN_02054848
cmp r0, #0x1
bne _02056D54
mov r0, #0x1
pop {r3-r7, pc}
_02056D30:
- .byte 0xFD, 0xF7, 0x90, 0xFD, 0x01, 0x28, 0x0D, 0xD1, 0x01, 0x20, 0xF8, 0xBD, 0xFD, 0xF7, 0x90, 0xFD
- .byte 0x01, 0x28, 0x07, 0xD1, 0x01, 0x20, 0xF8, 0xBD, 0xFD, 0xF7, 0x90, 0xFD, 0x01, 0x28, 0x01, 0xD1
- .byte 0x01, 0x20, 0xF8, 0xBD
+ bl FUN_02054854
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056D3C:
+ bl FUN_02054860
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056D48:
+ bl FUN_0205486C
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02056D54:
mov r0, #0x0
pop {r3-r7, pc}
@@ -161454,10 +182575,12 @@ FUN_02056D58: ; 0x02056D58
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r2, #0
- lsl r0, r4, #0
- lsl r6, r5, #0
+_02056D9A: ; jump table (using 16-bit offset)
+ .short _02056DA2 - _02056D9A - 2; case 0
+ .short _02056DAE - _02056D9A - 2; case 1
+ .short _02056DBC - _02056D9A - 2; case 2
+ .short _02056DCA - _02056D9A - 2; case 3
+_02056DA2:
bl FUN_020547D4
cmp r0, #0x1
bne _02056DAE
@@ -161897,10 +183020,12 @@ FUN_020570F0: ; 0x020570F0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
+_02057102: ; jump table (using 16-bit offset)
+ .short _0205710A - _02057102 - 2; case 0
+ .short _0205710A - _02057102 - 2; case 1
+ .short _0205710A - _02057102 - 2; case 2
+ .short _0205710A - _02057102 - 2; case 3
+_0205710A:
mov r0, #0x1
bx lr
_0205710E:
@@ -161933,10 +183058,12 @@ FUN_02057124: ; 0x02057124
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
+_0205713C: ; jump table (using 16-bit offset)
+ .short _02057144 - _0205713C - 2; case 0
+ .short _02057144 - _0205713C - 2; case 1
+ .short _02057144 - _0205713C - 2; case 2
+ .short _02057144 - _0205713C - 2; case 3
+_02057144:
mov r0, #0x1
pop {r3, pc}
_02057148:
@@ -162037,16 +183164,30 @@ _020571FC:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r4, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
- lsl r4, r3, #0
+_0205720C: ; jump table (using 16-bit offset)
+ .short _02057218 - _0205720C - 2; case 0
+ .short _0205721A - _0205720C - 2; case 1
+ .short _0205721E - _0205720C - 2; case 2
+ .short _02057222 - _0205720C - 2; case 3
+ .short _02057226 - _0205720C - 2; case 4
+ .short _0205722A - _0205720C - 2; case 5
+_02057218:
b _02057230
_0205721A:
- .byte 0x08, 0x24, 0x08, 0xE0, 0x0C, 0x24
- .byte 0x06, 0xE0, 0x4C, 0x24, 0x04, 0xE0, 0x10, 0x24, 0x02, 0xE0, 0x14, 0x24, 0x00, 0xE0
+ mov r4, #0x8
+ b _02057230
+_0205721E:
+ mov r4, #0xc
+ b _02057230
+_02057222:
+ mov r4, #0x4c
+ b _02057230
+_02057226:
+ mov r4, #0x10
+ b _02057230
+_0205722A:
+ mov r4, #0x14
+ b _02057230
_0205722E:
mov r4, #0x4
_02057230:
@@ -167964,17 +189105,30 @@ FUN_02059CC8: ; 0x02059CC8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
+_02059CE8: ; jump table (using 16-bit offset)
+ .short _02059CF0 - _02059CE8 - 2; case 0
+ .short _02059CF8 - _02059CE8 - 2; case 1
+ .short _02059D00 - _02059CE8 - 2; case 2
+ .short _02059D08 - _02059CE8 - 2; case 3
+_02059CF0:
ldr r0, [sp, #0x8]
sub r0, r0, r4
str r0, [sp, #0x8]
b _02059D0E
_02059CF8:
- .byte 0x02, 0x98, 0x00, 0x19, 0x02, 0x90, 0x06, 0xE0
- .byte 0x00, 0x98, 0x00, 0x1B, 0x00, 0x90, 0x02, 0xE0, 0x00, 0x98, 0x00, 0x19, 0x00, 0x90
+ ldr r0, [sp, #0x8]
+ add r0, r0, r4
+ str r0, [sp, #0x8]
+ b _02059D0E
+_02059D00:
+ ldr r0, [sp, #0x0]
+ sub r0, r0, r4
+ str r0, [sp, #0x0]
+ b _02059D0E
+_02059D08:
+ ldr r0, [sp, #0x0]
+ add r0, r0, r4
+ str r0, [sp, #0x0]
_02059D0E:
add r0, r6, #0x0
add r1, sp, #0x0
@@ -168113,17 +189267,30 @@ FUN_02059E28: ; 0x02059E28
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r1, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
+_02059E38: ; jump table (using 16-bit offset)
+ .short _02059E40 - _02059E38 - 2; case 0
+ .short _02059E48 - _02059E38 - 2; case 1
+ .short _02059E50 - _02059E38 - 2; case 2
+ .short _02059E58 - _02059E38 - 2; case 3
+_02059E40:
ldr r0, [r1, #0x8]
sub r0, r0, r2
str r0, [r1, #0x8]
bx lr
_02059E48:
- .byte 0x88, 0x68, 0x80, 0x18, 0x88, 0x60, 0x70, 0x47
- .byte 0x08, 0x68, 0x80, 0x1A, 0x08, 0x60, 0x70, 0x47, 0x08, 0x68, 0x80, 0x18, 0x08, 0x60
+ ldr r0, [r1, #0x8]
+ add r0, r0, r2
+ str r0, [r1, #0x8]
+ bx lr
+_02059E50:
+ ldr r0, [r1, #0x0]
+ sub r0, r0, r2
+ str r0, [r1, #0x0]
+ bx lr
+_02059E58:
+ ldr r0, [r1, #0x0]
+ add r0, r0, r2
+ str r0, [r1, #0x0]
_02059E5E:
bx lr
@@ -168458,11 +189625,13 @@ FUN_0205A078: ; 0x0205A078
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r2, r6, #0
- lsl r0, r2, #0x1
- lsl r6, r4, #0x1
- lsl r2, r0, #0x3
+_0205A096: ; jump table (using 16-bit offset)
+ .short _0205A0A0 - _0205A096 - 2; case 0
+ .short _0205A0CA - _0205A096 - 2; case 1
+ .short _0205A0E8 - _0205A096 - 2; case 2
+ .short _0205A0FE - _0205A096 - 2; case 3
+ .short _0205A15A - _0205A096 - 2; case 4
+_0205A0A0:
add r0, r5, #0x0
bl FUN_02058848
add r0, r5, #0x0
@@ -168480,21 +189649,86 @@ FUN_0205A078: ; 0x0205A078
strh r0, [r4, #0x0]
pop {r4-r6, pc}
_0205A0CA:
- .byte 0x28, 0x1C, 0x00, 0xF0, 0xD8, 0xFF
- .byte 0x00, 0x28, 0x4C, 0xD0, 0x00, 0x21, 0x26, 0x48, 0xC9, 0x43, 0x00, 0xF0, 0xE9, 0xFC, 0x60, 0x80
- .byte 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x02, 0x20, 0x21, 0x5E, 0x49, 0x1E, 0x61, 0x80
- .byte 0x20, 0x5E, 0x00, 0x28, 0x3B, 0xD1, 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x00, 0x21
- .byte 0xE0, 0x68, 0xC9, 0x43, 0x00, 0xF0, 0xE6, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xFE, 0xF7
- .byte 0xE3, 0xF9, 0x60, 0x68, 0x01, 0x28, 0x08, 0xD1, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0xA8, 0xF8
- .byte 0x00, 0x28, 0x02, 0xD1, 0x00, 0x20, 0x20, 0x80, 0x70, 0xBD, 0x28, 0x1C, 0x31, 0x1C, 0xFF, 0xF7
- .byte 0xF3, 0xFB, 0x00, 0x28, 0x02, 0xD0, 0x00, 0x20, 0x20, 0x80, 0x70, 0xBD, 0xA1, 0x68, 0x30, 0x1C
- .byte 0x00, 0xF0, 0x4C, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x00, 0xF0, 0x60, 0xFE, 0x28, 0x1C, 0xFE, 0xF7
- .byte 0x75, 0xFB, 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x28, 0x1C, 0x00, 0xF0, 0x90, 0xFF
- .byte 0x00, 0x28, 0x04, 0xD0, 0x28, 0x1C, 0xFE, 0xF7, 0x6F, 0xFB, 0x00, 0x20, 0x20, 0x80
+ add r0, r5, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ beq _0205A16E
+ mov r1, #0x0
+ ldr r0, _0205A170 ; =0x020F693C
+ mvn r1, r1
+ bl FUN_0205AAB0
+ strh r0, [r4, #0x2]
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+_0205A0E8:
+ mov r0, #0x2
+ ldrsh r1, [r4, r0]
+ sub r1, r1, #0x1
+ strh r1, [r4, #0x2]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0x0
+ bne _0205A16E
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+_0205A0FE:
+ mov r1, #0x0
+ ldr r0, [r4, #0xc]
+ mvn r1, r1
+ bl FUN_0205AAD4
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584D8
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0205A12A
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0205A270
+ cmp r0, #0x0
+ bne _0205A12A
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_0205A12A:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059918
+ cmp r0, #0x0
+ beq _0205A13C
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_0205A13C:
+ ldr r1, [r4, #0x8]
+ add r0, r6, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ add r0, r5, #0x0
+ bl FUN_0205883C
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+_0205A15A:
+ add r0, r5, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ beq _0205A16E
+ add r0, r5, #0x0
+ bl FUN_02058848
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
_0205A16E:
pop {r4-r6, pc}
-_0205A170:
- .byte 0x3C, 0x69, 0x0F, 0x02
+ .balign 4
+_0205A170: .word 0x020F693C
thumb_func_start FUN_0205A174
FUN_0205A174: ; 0x0205A174
@@ -168523,20 +189757,22 @@ FUN_0205A174: ; 0x0205A174
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r6, #0x2
- lsl r6, r6, #0x2
- lsl r6, r6, #0x2
- lsl r6, r6, #0x2
- lsl r6, r6, #0x2
- lsl r6, r6, #0x2
- lsl r2, r3, #0
- lsl r4, r5, #0
- lsl r6, r7, #0
- lsl r0, r2, #0x1
- lsl r2, r4, #0x1
- lsl r0, r7, #0x1
- lsl r6, r1, #0x2
- lsl r2, r4, #0x2
+_0205A1B0: ; jump table (using 16-bit offset)
+ .short _0205A268 - _0205A1B0 - 2; case 0
+ .short _0205A268 - _0205A1B0 - 2; case 1
+ .short _0205A268 - _0205A1B0 - 2; case 2
+ .short _0205A268 - _0205A1B0 - 2; case 3
+ .short _0205A268 - _0205A1B0 - 2; case 4
+ .short _0205A268 - _0205A1B0 - 2; case 5
+ .short _0205A1CC - _0205A1B0 - 2; case 6
+ .short _0205A1DE - _0205A1B0 - 2; case 7
+ .short _0205A1F0 - _0205A1B0 - 2; case 8
+ .short _0205A202 - _0205A1B0 - 2; case 9
+ .short _0205A214 - _0205A1B0 - 2; case 10
+ .short _0205A22A - _0205A1B0 - 2; case 11
+ .short _0205A240 - _0205A1B0 - 2; case 12
+ .short _0205A254 - _0205A1B0 - 2; case 13
+_0205A1CC:
sub r0, r6, r7
str r0, [r4, #0x0]
ldr r0, [sp, #0x4]
@@ -168547,16 +189783,81 @@ FUN_0205A174: ; 0x0205A174
str r5, [r4, #0xc]
pop {r3-r7, pc}
_0205A1DE:
- .byte 0x26, 0x60
- .byte 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x1A, 0x60, 0x60, 0xE5, 0x60, 0xF8, 0xBD
- .byte 0xF0, 0x1B, 0x20, 0x60, 0x01, 0x98, 0xA6, 0x60, 0x65, 0x60, 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60
- .byte 0xF8, 0xBD, 0x26, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60, 0x28, 0x18, 0x02, 0xB0
- .byte 0xE0, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0x01, 0x98, 0xA6, 0x60, 0x28, 0x1A, 0x60, 0x60
- .byte 0x01, 0x98, 0x02, 0xB0, 0x28, 0x18, 0xE0, 0x60, 0xF8, 0xBD, 0x26, 0x60, 0xF0, 0x19, 0xA0, 0x60
- .byte 0x01, 0x98, 0x28, 0x1A, 0x60, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x18, 0xE0, 0x60, 0xF8, 0xBD
- .byte 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x1A, 0x60, 0x60
- .byte 0xE5, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60
- .byte 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60, 0xF8, 0xBD
+ str r6, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ str r5, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A1F0:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x4]
+ str r6, [r4, #0x8]
+ str r5, [r4, #0x4]
+ add r0, r5, r0
+ add sp, #0x8
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A202:
+ str r6, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ str r5, [r4, #0x4]
+ add r0, r5, r0
+ add sp, #0x8
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A214:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x4]
+ str r6, [r4, #0x8]
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ add r0, r5, r0
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A22A:
+ str r6, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ add r0, r5, r0
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A240:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ str r5, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A254:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ str r5, [r4, #0x4]
+ add r0, r5, r0
+ add sp, #0x8
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
_0205A268:
bl FUN_02020C2C
add sp, #0x8
@@ -172700,10 +194001,12 @@ FUN_0205C004: ; 0x0205C004
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r3, #0
- lsl r0, r0, #0x1
- lsl r6, r2, #0x1
+_0205C020: ; jump table (using 16-bit offset)
+ .short _0205C028 - _0205C020 - 2; case 0
+ .short _0205C03A - _0205C020 - 2; case 1
+ .short _0205C062 - _0205C020 - 2; case 2
+ .short _0205C078 - _0205C020 - 2; case 3
+_0205C028:
add r0, r5, #0x0
bl FUN_0205BF78
cmp r0, #0x1
@@ -172713,11 +194016,40 @@ FUN_0205C004: ; 0x0205C004
strb r0, [r4, #0x0]
b _0205C07C
_0205C03A:
- .byte 0x28, 0x1C, 0xFF, 0xF7, 0xB6, 0xFF
- .byte 0x00, 0x28, 0x1B, 0xD0, 0x02, 0x20, 0x21, 0x56, 0x49, 0x1C, 0xA1, 0x70, 0x21, 0x56, 0x03, 0x20
- .byte 0x20, 0x56, 0x81, 0x42, 0x02, 0xDA, 0x00, 0x20, 0x20, 0x70, 0x0F, 0xE0, 0x20, 0x78, 0x40, 0x1C
- .byte 0x20, 0x70, 0x28, 0x1C, 0xFC, 0xF7, 0xF6, 0xFB, 0x01, 0x28, 0x07, 0xD0, 0x20, 0x78, 0x40, 0x1C
- .byte 0x20, 0x70, 0x00, 0x20, 0xA0, 0x70, 0x60, 0x70, 0x01, 0x20, 0x38, 0xBD
+ add r0, r5, #0x0
+ bl FUN_0205BFAC
+ cmp r0, #0x0
+ beq _0205C07C
+ mov r0, #0x2
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x2]
+ ldrsb r1, [r4, r0]
+ mov r0, #0x3
+ ldrsb r0, [r4, r0]
+ cmp r1, r0
+ bge _0205C05C
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+ b _0205C07C
+_0205C05C:
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+_0205C062:
+ add r0, r5, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ beq _0205C07C
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ strb r0, [r4, #0x1]
+_0205C078:
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0205C07C:
mov r0, #0x0
pop {r3-r5, pc}
@@ -172738,10 +194070,12 @@ FUN_0205C080: ; 0x0205C080
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r5, #0
- lsl r2, r3, #0x1
- lsl r0, r6, #0x1
+_0205C09E: ; jump table (using 16-bit offset)
+ .short _0205C0A6 - _0205C09E - 2; case 0
+ .short _0205C0C8 - _0205C09E - 2; case 1
+ .short _0205C0FA - _0205C09E - 2; case 2
+ .short _0205C110 - _0205C09E - 2; case 3
+_0205C0A6:
ldr r3, _0205C164 ; =0x020F70D8
add r2, sp, #0x10
ldmia r3!, {r0-r1}
@@ -172758,6 +194092,7 @@ FUN_0205C080: ; 0x0205C080
ldrb r0, [r4, #0x1]
add r0, r0, #0x1
strb r0, [r4, #0x1]
+_0205C0C8:
ldr r6, _0205C168 ; =0x020F70E8
add r3, sp, #0x0
add r2, r3, #0x0
@@ -172781,6 +194116,7 @@ FUN_0205C080: ; 0x0205C080
ldrb r0, [r4, #0x1]
add r0, r0, #0x1
strb r0, [r4, #0x1]
+_0205C0FA:
add r0, r5, #0x0
bl FUN_0205B080
cmp r0, #0x0
@@ -172792,6 +194128,7 @@ _0205C10A:
ldrb r0, [r4, #0x1]
add r0, r0, #0x1
strb r0, [r4, #0x1]
+_0205C110:
mov r0, #0x8
ldrsb r1, [r4, r0]
add r1, r1, #0x1
@@ -172879,10 +194216,12 @@ FUN_0205C198: ; 0x0205C198
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r0, r3, #0
- lsl r0, r0, #0x1
- lsl r6, r2, #0x1
+_0205C1B4: ; jump table (using 16-bit offset)
+ .short _0205C1BC - _0205C1B4 - 2; case 0
+ .short _0205C1CE - _0205C1B4 - 2; case 1
+ .short _0205C1F6 - _0205C1B4 - 2; case 2
+ .short _0205C20C - _0205C1B4 - 2; case 3
+_0205C1BC:
add r0, r5, #0x0
bl FUN_0205BF78
cmp r0, #0x1
@@ -172892,11 +194231,40 @@ FUN_0205C198: ; 0x0205C198
strb r0, [r4, #0x0]
b _0205C210
_0205C1CE:
- .byte 0x28, 0x1C
- .byte 0xFF, 0xF7, 0xEC, 0xFE, 0x00, 0x28, 0x1B, 0xD0, 0x02, 0x20, 0x21, 0x56, 0x49, 0x1C, 0xA1, 0x70
- .byte 0x21, 0x56, 0x03, 0x20, 0x20, 0x56, 0x81, 0x42, 0x02, 0xDA, 0x00, 0x20, 0x20, 0x70, 0x0F, 0xE0
- .byte 0x20, 0x78, 0x40, 0x1C, 0x20, 0x70, 0x28, 0x1C, 0xFC, 0xF7, 0x2C, 0xFB, 0x01, 0x28, 0x07, 0xD0
- .byte 0x20, 0x78, 0x40, 0x1C, 0x20, 0x70, 0x00, 0x20, 0xA0, 0x70, 0x60, 0x70, 0x01, 0x20, 0x38, 0xBD
+ add r0, r5, #0x0
+ bl FUN_0205BFAC
+ cmp r0, #0x0
+ beq _0205C210
+ mov r0, #0x2
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x2]
+ ldrsb r1, [r4, r0]
+ mov r0, #0x3
+ ldrsb r0, [r4, r0]
+ cmp r1, r0
+ bge _0205C1F0
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+ b _0205C210
+_0205C1F0:
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+_0205C1F6:
+ add r0, r5, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ beq _0205C210
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ strb r0, [r4, #0x1]
+_0205C20C:
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0205C210:
mov r0, #0x0
pop {r3-r5, pc}
@@ -172928,10 +194296,12 @@ FUN_0205C214: ; 0x0205C214
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r1, #0x1
- lsl r2, r6, #0x1
- lsl r0, r1, #0x2
+_0205C248: ; jump table (using 16-bit offset)
+ .short _0205C250 - _0205C248 - 2; case 0
+ .short _0205C296 - _0205C248 - 2; case 1
+ .short _0205C2BC - _0205C248 - 2; case 2
+ .short _0205C2D2 - _0205C248 - 2; case 3
+_0205C250:
add r0, r7, #0x0
bl FUN_020584C4
mov r5, #0x0
@@ -172969,6 +194339,7 @@ _0205C27E:
ldrb r0, [r4, #0x1]
add r0, r0, #0x1
strb r0, [r4, #0x1]
+_0205C296:
mov r0, #0x5
ldrsb r0, [r4, r0]
add r2, sp, #0x0
@@ -172986,6 +194357,7 @@ _0205C27E:
ldrb r0, [r4, #0x1]
add r0, r0, #0x1
strb r0, [r4, #0x1]
+_0205C2BC:
add r0, r7, #0x0
bl FUN_0205B080
cmp r0, #0x0
@@ -172997,6 +194369,7 @@ _0205C2CC:
ldrb r0, [r4, #0x1]
add r0, r0, #0x1
strb r0, [r4, #0x1]
+_0205C2D2:
mov r0, #0x8
ldrsb r1, [r4, r0]
add r1, r1, #0x1
@@ -173341,18 +194714,26 @@ _0205C550:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r3, #0
- lsl r4, r3, #0
- lsl r2, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
+_0205C56A: ; jump table (using 16-bit offset)
+ .short _0205C588 - _0205C56A - 2; case 0
+ .short _0205C588 - _0205C56A - 2; case 1
+ .short _0205C576 - _0205C56A - 2; case 2
+ .short _0205C57C - _0205C56A - 2; case 3
+ .short _0205C580 - _0205C56A - 2; case 4
+ .short _0205C584 - _0205C56A - 2; case 5
+_0205C576:
mov r0, #0x1
lsl r0, r0, #0xc
pop {r3, pc}
_0205C57C:
- .byte 0x10, 0x68, 0x08, 0xBD
- .byte 0x50, 0x68, 0x08, 0xBD, 0x90, 0x68, 0x08, 0xBD
+ ldr r0, [r2, #0x0]
+ pop {r3, pc}
+_0205C580:
+ ldr r0, [r2, #0x4]
+ pop {r3, pc}
+_0205C584:
+ ldr r0, [r2, #0x8]
+ pop {r3, pc}
_0205C588:
bl FUN_02020C2C
ldr r0, _0205C590 ; =0x0000FFFF
@@ -173603,15 +194984,17 @@ FUN_0205C768: ; 0x0205C768
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r2, #0
- lsl r2, r2, #0
- lsl r2, r2, #0
- lsl r2, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
+_0205C77E: ; jump table (using 16-bit offset)
+ .short _0205C792 - _0205C77E - 2; case 0
+ .short _0205C792 - _0205C77E - 2; case 1
+ .short _0205C792 - _0205C77E - 2; case 2
+ .short _0205C792 - _0205C77E - 2; case 3
+ .short _0205C790 - _0205C77E - 2; case 4
+ .short _0205C790 - _0205C77E - 2; case 5
+ .short _0205C790 - _0205C77E - 2; case 6
+ .short _0205C790 - _0205C77E - 2; case 7
+ .short _0205C790 - _0205C77E - 2; case 8
+_0205C790:
mov r0, #0x1
_0205C792:
pop {r3, pc}
@@ -174149,10 +195532,12 @@ _0205CB72:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
+_0205CB8A: ; jump table (using 16-bit offset)
+ .short _0205CB92 - _0205CB8A - 2; case 0
+ .short _0205CB92 - _0205CB8A - 2; case 1
+ .short _0205CB92 - _0205CB8A - 2; case 2
+ .short _0205CB92 - _0205CB8A - 2; case 3
+_0205CB92:
mov r0, #0x7
str r0, [r4, #0x0]
mov r0, #0x1
@@ -174603,14 +195988,22 @@ FUN_0205CE80: ; 0x0205CE80
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r2, r2, #0
- lsl r6, r1, #0
+_0205CED4: ; jump table (using 16-bit offset)
+ .short _0205CEDC - _0205CED4 - 2; case 0
+ .short _0205CEE0 - _0205CED4 - 2; case 1
+ .short _0205CEE8 - _0205CED4 - 2; case 2
+ .short _0205CEE4 - _0205CED4 - 2; case 3
+_0205CEDC:
sub r7, r7, #0x1
b _0205CEEA
_0205CEE0:
- .byte 0x7F, 0x1C, 0x02, 0xE0, 0x76, 0x1C, 0x00, 0xE0, 0x76, 0x1E
+ add r7, r7, #0x1
+ b _0205CEEA
+_0205CEE4:
+ add r6, r6, #0x1
+ b _0205CEEA
+_0205CEE8:
+ sub r6, r6, #0x1
_0205CEEA:
add r0, r4, #0x0
add r1, r6, #0x0
@@ -175060,24 +196453,75 @@ FUN_0205D264: ; 0x0205D264
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r1, #0
- lsl r2, r1, #0x2
- lsl r0, r2, #0x2
+_0205D288: ; jump table (using 16-bit offset)
+ .short _0205D290 - _0205D288 - 2; case 0
+ .short _0205D296 - _0205D288 - 2; case 1
+ .short _0205D314 - _0205D288 - 2; case 2
+ .short _0205D31A - _0205D288 - 2; case 3
+_0205D290:
add r0, r0, #0x1
str r0, [r5, #0x0]
b _0205D324
_0205D296:
- .byte 0xA0, 0x6B, 0xF8, 0xF7, 0x94, 0xF8, 0x01, 0x28, 0x1A, 0xD1
- .byte 0xA0, 0x6B, 0xF8, 0xF7, 0x7D, 0xF8, 0xFB, 0xF7, 0x35, 0xFB, 0xA0, 0x6B, 0x01, 0x21, 0x88, 0xF1
- .byte 0x93, 0xFE, 0xA0, 0x6B, 0x88, 0xF1, 0x94, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0xED, 0xF7, 0x30, 0xFC
- .byte 0xE1, 0x69, 0x20, 0x1C, 0x09, 0x68, 0xED, 0xF7, 0x47, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22
- .byte 0xED, 0xF7, 0x84, 0xFC, 0x1A, 0xE0, 0x12, 0x21, 0x20, 0x1C, 0x89, 0x01, 0xED, 0xF7, 0x20, 0xFC
- .byte 0x12, 0x21, 0x20, 0x1C, 0x89, 0x01, 0x01, 0x22, 0xED, 0xF7, 0x78, 0xFC, 0xA0, 0x6B, 0xF8, 0xF7
- .byte 0x57, 0xF8, 0xFB, 0xF7, 0x0F, 0xFB, 0xA0, 0x6B, 0x02, 0x21, 0x88, 0xF1, 0x6D, 0xFE, 0xA0, 0x6B
- .byte 0x88, 0xF1, 0x6E, 0xFE, 0x90, 0x34, 0x20, 0x68, 0x00, 0xF0, 0x1A, 0xFD, 0x28, 0x68, 0x40, 0x1C
- .byte 0x28, 0x60, 0x07, 0xE0, 0x40, 0x1C, 0x28, 0x60, 0x04, 0xE0, 0x60, 0x6B, 0xFB, 0xF7, 0x48, 0xFA
- .byte 0x01, 0x20, 0x38, 0xBD
+ ldr r0, [r4, #0x38]
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _0205D2D6
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058914
+ ldr r0, [r4, #0x38]
+ mov r1, #0x1
+ bl FUN_021E5FD8
+ ldr r0, [r4, #0x38]
+ bl FUN_021E5FE0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0204AB20
+ ldr r1, [r4, #0x1c]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0204AB58
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_0204ABDC
+ b _0205D30C
+_0205D2D6:
+ mov r1, #0x12
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_0204AB20
+ mov r1, #0x12
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ mov r2, #0x1
+ bl FUN_0204ABDC
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058914
+ ldr r0, [r4, #0x38]
+ mov r1, #0x2
+ bl FUN_021E5FD8
+ ldr r0, [r4, #0x38]
+ bl FUN_021E5FE0
+ add r4, #0x90
+ ldr r0, [r4, #0x0]
+ bl FUN_0205DD40
+_0205D30C:
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _0205D324
+_0205D314:
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _0205D324
+_0205D31A:
+ ldr r0, [r4, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0205D324:
mov r0, #0x0
pop {r3-r5, pc}
@@ -176263,11 +197707,13 @@ FUN_0205DC38: ; 0x0205DC38
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r4, r3, #0
- lsl r4, r6, #0
- lsl r4, r4, #0x1
- lsl r2, r0, #0x2
+_0205DC5E: ; jump table (using 16-bit offset)
+ .short _0205DC68 - _0205DC5E - 2; case 0
+ .short _0205DC7C - _0205DC5E - 2; case 1
+ .short _0205DC94 - _0205DC5E - 2; case 2
+ .short _0205DCC4 - _0205DC5E - 2; case 3
+ .short _0205DCE2 - _0205DC5E - 2; case 4
+_0205DC68:
ldr r0, [r5, #0x34]
bl FUN_02058780
mov r0, #0x0
@@ -176277,21 +197723,68 @@ FUN_0205DC38: ; 0x0205DC38
strb r0, [r4, #0x0]
b _0205DCFA
_0205DC7C:
- .byte 0xB0, 0xF7, 0x44, 0xFB
- .byte 0x00, 0x28, 0x3A, 0xD0, 0x21, 0x6A, 0x28, 0x1C, 0x88, 0x47, 0x60, 0x62, 0x02, 0x20, 0x2A, 0x34
- .byte 0x20, 0x70, 0x32, 0xE0, 0x28, 0x1C, 0xE8, 0xF7, 0xF1, 0xFB, 0x00, 0x28, 0x2D, 0xD1, 0x60, 0x6A
- .byte 0x00, 0x28, 0x08, 0xD0, 0x22, 0x6A, 0x16, 0x49, 0x8A, 0x42, 0x02, 0xD1, 0x2A, 0xF0, 0xB2, 0xF8
- .byte 0x01, 0xE0, 0xB8, 0xF7, 0xB1, 0xFE, 0x28, 0x1C, 0xE8, 0xF7, 0xF0, 0xFB, 0x03, 0x20, 0x2A, 0x34
- .byte 0x20, 0x70, 0x1A, 0xE0, 0x28, 0x1C, 0xE8, 0xF7, 0xED, 0xFB, 0x00, 0x28, 0x15, 0xD0, 0x68, 0x6B
- .byte 0xFA, 0xF7, 0x56, 0xFD, 0x01, 0x20, 0x79, 0xF1, 0xE5, 0xFF, 0x04, 0x20, 0x2A, 0x34, 0x20, 0x70
- .byte 0x0B, 0xE0, 0xB0, 0xF7, 0x11, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x68, 0x6B, 0xFA, 0xF7, 0x60, 0xFD
- .byte 0x20, 0x1C, 0xB8, 0xF7, 0x91, 0xFE, 0x01, 0x20, 0x38, 0xBD
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0205DCFA
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0x0
+ blx r1
+ str r0, [r4, #0x24]
+ mov r0, #0x2
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DC94:
+ add r0, r5, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _0205DCFA
+ ldr r0, [r4, #0x24]
+ cmp r0, #0x0
+ beq _0205DCB6
+ ldr r2, [r4, #0x20]
+ ldr r1, _0205DD00 ; =FUN_0205D568
+ cmp r2, r1
+ bne _0205DCB2
+ bl FUN_02087E14
+ b _0205DCB6
+_0205DCB2:
+ bl FUN_02016A18
+_0205DCB6:
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x3
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DCC4:
+ add r0, r5, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0205DCFA
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ mov r0, #0x4
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DCE2:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0205DCFA
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0205DCFA:
mov r0, #0x0
pop {r3-r5, pc}
nop
-_0205DD00:
- .byte 0x69, 0xD5, 0x05, 0x02
+_0205DD00: .word FUN_0205D568 + 1
thumb_func_start FUN_0205DD04
FUN_0205DD04: ; 0x0205DD04
@@ -177143,11 +198636,13 @@ FUN_0205E30C: ; 0x0205E30C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r6, r1, #0x2
- lsl r2, r3, #0x2
- lsl r2, r7, #0x2
- lsl r4, r5, #0x2
+_0205E330: ; jump table (using 16-bit offset)
+ .short _0205E33A - _0205E330 - 2; case 0
+ .short _0205E3C0 - _0205E330 - 2; case 1
+ .short _0205E3CC - _0205E330 - 2; case 2
+ .short _0205E3EC - _0205E330 - 2; case 3
+ .short _0205E3DE - _0205E330 - 2; case 4
+_0205E33A:
ldr r0, [r4, #0x34]
bl FUN_02058780
ldr r0, [r4, #0xc]
@@ -177208,17 +198703,41 @@ _0205E3BA:
str r0, [r5, #0x0]
b _0205E3FC
_0205E3C0:
- .byte 0x10, 0x48, 0xA6, 0xF7, 0x2B, 0xFF, 0x02, 0x20, 0x28, 0x60, 0x17, 0xE0, 0x90, 0x34, 0x20, 0x68
- .byte 0xFF, 0xF7, 0xE4, 0xFD, 0x00, 0x28, 0x11, 0xD0, 0x04, 0x20, 0x28, 0x60, 0x0E, 0xE0, 0xB8, 0xF7
- .byte 0x1B, 0xFB, 0x60, 0x6B, 0xFA, 0xF7, 0xE4, 0xF9, 0x01, 0x20, 0xF8, 0xBD, 0x00, 0x22, 0x06, 0x49
- .byte 0x38, 0x1C, 0x13, 0x1C, 0xDA, 0xF7, 0x70, 0xFC, 0x04, 0x20, 0x28, 0x60
+ ldr r0, _0205E404 ; =0x0000047E
+ bl FUN_0200521C
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E3CC:
+ add r4, #0x90
+ ldr r0, [r4, #0x0]
+ bl FUN_0205DF9C
+ cmp r0, #0x0
+ beq _0205E3FC
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E3DE:
+ bl FUN_02016A18
+ ldr r0, [r4, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205E3EC:
+ mov r2, #0x0
+ ldr r1, _0205E408 ; =0x0000230B
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ mov r0, #0x4
+ str r0, [r5, #0x0]
_0205E3FC:
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
_0205E400: .word 0x0000230A
-_0205E404:
- .byte 0x7E, 0x04, 0x00, 0x00, 0x0B, 0x23, 0x00, 0x00
+_0205E404: .word 0x0000047E
+_0205E408: .word 0x0000230B
thumb_func_start FUN_0205E40C
FUN_0205E40C: ; 0x0205E40C
@@ -177544,15 +199063,22 @@ FUN_0205E65C: ; 0x0205E65C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_0205E67E: ; jump table (using 16-bit offset)
+ .short _0205E686 - _0205E67E - 2; case 0
+ .short _0205E68A - _0205E67E - 2; case 1
+ .short _0205E68E - _0205E67E - 2; case 2
+ .short _0205E692 - _0205E67E - 2; case 3
+_0205E686:
mov r0, #0x10
pop {r3, pc}
_0205E68A:
- .byte 0x11, 0x20, 0x08, 0xBD, 0x12, 0x20
- .byte 0x08, 0xBD, 0x13, 0x20
+ mov r0, #0x11
+ pop {r3, pc}
+_0205E68E:
+ mov r0, #0x12
+ pop {r3, pc}
+_0205E692:
+ mov r0, #0x13
_0205E694:
pop {r3, pc}
.balign 4
@@ -177736,15 +199262,17 @@ FUN_0205E7C4: ; 0x0205E7C4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0x1
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
+_0205E7FE: ; jump table (using 16-bit offset)
+ .short _0205E84C - _0205E7FE - 2; case 0
+ .short _0205E810 - _0205E7FE - 2; case 1
+ .short _0205E810 - _0205E7FE - 2; case 2
+ .short _0205E810 - _0205E7FE - 2; case 3
+ .short _0205E810 - _0205E7FE - 2; case 4
+ .short _0205E810 - _0205E7FE - 2; case 5
+ .short _0205E810 - _0205E7FE - 2; case 6
+ .short _0205E810 - _0205E7FE - 2; case 7
+ .short _0205E810 - _0205E7FE - 2; case 8
+_0205E810:
add r1, sp, #0x4
add r2, sp, #0x8
mov r3, #0x1
@@ -178571,24 +200099,39 @@ FUN_0205EE08: ; 0x0205EE08
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r0, r2, #0
- lsl r0, r3, #0
- lsl r0, r4, #0
- lsl r0, r5, #0
+_0205EE1A: ; jump table (using 16-bit offset)
+ .short _0205EE24 - _0205EE1A - 2; case 0
+ .short _0205EE2C - _0205EE1A - 2; case 1
+ .short _0205EE34 - _0205EE1A - 2; case 2
+ .short _0205EE3C - _0205EE1A - 2; case 3
+ .short _0205EE44 - _0205EE1A - 2; case 4
+_0205EE24:
ldr r1, _0205EE4C ; =0x00000968
bl FUN_0205EC84
pop {r3, pc}
_0205EE2C:
- .byte 0x08, 0x49, 0xFF, 0xF7
- .byte 0x29, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7, 0x25, 0xFF, 0x08, 0xBD, 0x06, 0x49, 0xFF, 0xF7
- .byte 0x21, 0xFF, 0x08, 0xBD, 0x05, 0x49, 0xFF, 0xF7, 0x1D, 0xFF
+ ldr r1, _0205EE50 ; =0x00000969
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE34:
+ ldr r1, _0205EE54 ; =0x0000096A
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE3C:
+ ldr r1, _0205EE58 ; =0x0000096B
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE44:
+ ldr r1, _0205EE5C ; =0x0000096C
+ bl FUN_0205EC84
_0205EE4A:
pop {r3, pc}
.balign 4
_0205EE4C: .word 0x00000968
-_0205EE50:
- .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00, 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00
+_0205EE50: .word 0x00000969
+_0205EE54: .word 0x0000096A
+_0205EE58: .word 0x0000096B
+_0205EE5C: .word 0x0000096C
thumb_func_start FUN_0205EE60
FUN_0205EE60: ; 0x0205EE60
@@ -178601,25 +200144,39 @@ FUN_0205EE60: ; 0x0205EE60
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r0, r2, #0
- lsl r0, r3, #0
- lsl r0, r4, #0
- lsl r0, r5, #0
+_0205EE72: ; jump table (using 16-bit offset)
+ .short _0205EE7C - _0205EE72 - 2; case 0
+ .short _0205EE84 - _0205EE72 - 2; case 1
+ .short _0205EE8C - _0205EE72 - 2; case 2
+ .short _0205EE94 - _0205EE72 - 2; case 3
+ .short _0205EE9C - _0205EE72 - 2; case 4
+_0205EE7C:
ldr r1, _0205EEA4 ; =0x00000968
bl FUN_0205EC94
pop {r3, pc}
_0205EE84:
- .byte 0x08, 0x49, 0xFF, 0xF7, 0x05, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7
- .byte 0x01, 0xFF, 0x08, 0xBD, 0x06, 0x49, 0xFF, 0xF7, 0xFD, 0xFE, 0x08, 0xBD, 0x05, 0x49, 0xFF, 0xF7
- .byte 0xF9, 0xFE
+ ldr r1, _0205EEA8 ; =0x00000969
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE8C:
+ ldr r1, _0205EEAC ; =0x0000096A
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE94:
+ ldr r1, _0205EEB0 ; =0x0000096B
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE9C:
+ ldr r1, _0205EEB4 ; =0x0000096C
+ bl FUN_0205EC94
_0205EEA2:
pop {r3, pc}
.balign 4
_0205EEA4: .word 0x00000968
-_0205EEA8:
- .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00
- .byte 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00
+_0205EEA8: .word 0x00000969
+_0205EEAC: .word 0x0000096A
+_0205EEB0: .word 0x0000096B
+_0205EEB4: .word 0x0000096C
thumb_func_start FUN_0205EEB8
FUN_0205EEB8: ; 0x0205EEB8
@@ -178633,27 +200190,46 @@ FUN_0205EEB8: ; 0x0205EEB8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r7, #0
- lsl r2, r1, #0
- lsl r4, r2, #0
- lsl r0, r4, #0
- lsl r2, r5, #0
- lsl r4, r6, #0
+_0205EECC: ; jump table (using 16-bit offset)
+ .short _0205EF0A - _0205EECC - 2; case 0
+ .short _0205EED8 - _0205EECC - 2; case 1
+ .short _0205EEE2 - _0205EECC - 2; case 2
+ .short _0205EEEE - _0205EECC - 2; case 3
+ .short _0205EEF8 - _0205EECC - 2; case 4
+ .short _0205EF02 - _0205EECC - 2; case 5
+_0205EED8:
ldr r1, _0205EF10 ; =0x0000097F
bl FUN_0205EC94
add r2, r0, #0x0
b _0205EF0A
_0205EEE2:
- .byte 0x26, 0x21, 0x89, 0x01, 0xFF, 0xF7, 0xD5, 0xFE, 0x02, 0x1C, 0x0D, 0xE0, 0x09, 0x49
- .byte 0xFF, 0xF7, 0xD0, 0xFE, 0x02, 0x1C, 0x08, 0xE0, 0x07, 0x49, 0xFF, 0xF7, 0xCB, 0xFE, 0x02, 0x1C
- .byte 0x03, 0xE0, 0x06, 0x49, 0xFF, 0xF7, 0xC6, 0xFE, 0x02, 0x1C
+ mov r1, #0x26
+ lsl r1, r1, #0x6
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EEEE:
+ ldr r1, _0205EF14 ; =0x00000981
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EEF8:
+ ldr r1, _0205EF18 ; =0x00000982
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EF02:
+ ldr r1, _0205EF1C ; =0x00000983
+ bl FUN_0205EC94
+ add r2, r0, #0x0
_0205EF0A:
add r0, r2, #0x0
pop {r3, pc}
nop
_0205EF10: .word 0x0000097F
-_0205EF14:
- .byte 0x81, 0x09, 0x00, 0x00, 0x82, 0x09, 0x00, 0x00, 0x83, 0x09, 0x00, 0x00
+_0205EF14: .word 0x00000981
+_0205EF18: .word 0x00000982
+_0205EF1C: .word 0x00000983
thumb_func_start FUN_0205EF20
FUN_0205EF20: ; 0x0205EF20
@@ -178683,10 +200259,11 @@ _0205EF3A:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r3, #0x4
- lsl r0, r3, #0x4
- lsl r0, r3, #0x4
- lsl r0, r3, #0x4
+_0205EF50: ; jump table (using 16-bit offset)
+ .short _0205F06A - _0205EF50 - 2; case 0
+ .short _0205F06A - _0205EF50 - 2; case 1
+ .short _0205F06A - _0205EF50 - 2; case 2
+ .short _0205F06A - _0205EF50 - 2; case 3
_0205EF58:
cmp r4, #0xb9
bne _0205EF5E
@@ -178740,17 +200317,18 @@ _0205EF9E:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r0, #0x2
- lsl r2, r0, #0x2
- lsl r2, r0, #0x2
- lsl r4, r5, #0x4
- lsl r0, r1, #0x1
- lsl r4, r5, #0x4
- lsl r4, r5, #0
- lsl r4, r5, #0x4
- lsl r2, r7, #0
- lsl r4, r5, #0x4
- lsl r6, r2, #0x1
+_0205EFB2: ; jump table (using 16-bit offset)
+ .short _0205F036 - _0205EFB2 - 2; case 0
+ .short _0205F036 - _0205EFB2 - 2; case 1
+ .short _0205F036 - _0205EFB2 - 2; case 2
+ .short _0205F0E0 - _0205EFB2 - 2; case 3
+ .short _0205EFFC - _0205EFB2 - 2; case 4
+ .short _0205F0E0 - _0205EFB2 - 2; case 5
+ .short _0205EFE0 - _0205EFB2 - 2; case 6
+ .short _0205F0E0 - _0205EFB2 - 2; case 7
+ .short _0205EFEE - _0205EFB2 - 2; case 8
+ .short _0205F0E0 - _0205EFB2 - 2; case 9
+ .short _0205F00A - _0205EFB2 - 2; case 10
_0205EFC8:
ldr r0, _0205F0E8 ; =0x000001EE
cmp r4, r0
@@ -178767,10 +200345,33 @@ _0205EFD8:
beq _0205F036
b _0205F0E0
_0205EFE0:
- .byte 0x42, 0x49, 0xFF, 0xF7, 0x57, 0xFE, 0x01, 0x28, 0x7A, 0xD1, 0x41, 0x4D, 0x78, 0xE0, 0x3F, 0x49
- .byte 0xFF, 0xF7, 0x50, 0xFE, 0x01, 0x28, 0x73, 0xD1, 0x3E, 0x4D, 0x71, 0xE0, 0x3E, 0x49, 0xFF, 0xF7
- .byte 0x49, 0xFE, 0x01, 0x28, 0x6C, 0xD1, 0x3A, 0x4D, 0x6A, 0xE0, 0x3C, 0x49, 0xFF, 0xF7, 0x42, 0xFE
- .byte 0x01, 0x28, 0x65, 0xD1, 0x36, 0x4D, 0x63, 0xE0
+ ldr r1, _0205F0EC ; =0x00000984
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F0 ; =0x0000042E
+ b _0205F0E0
+_0205EFEE:
+ ldr r1, _0205F0EC ; =0x00000984
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F4 ; =0x00000429
+ b _0205F0E0
+_0205EFFC:
+ ldr r1, _0205F0F8 ; =0x0000098E
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F0 ; =0x0000042E
+ b _0205F0E0
+_0205F00A:
+ ldr r1, _0205F0FC ; =0x0000098F
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F0 ; =0x0000042E
+ b _0205F0E0
_0205F018:
ldr r1, _0205F100 ; =0x00000995
bl FUN_0205EC94
@@ -178813,9 +200414,18 @@ _0205F054:
ldr r5, _0205F120 ; =0x0000042B
b _0205F0E0
_0205F06A:
- .byte 0x2E, 0x49, 0xFF, 0xF7, 0x12, 0xFE
- .byte 0x01, 0x28, 0x35, 0xD1, 0xB3, 0xF7, 0x82, 0xFB, 0x00, 0x28, 0x01, 0xD1, 0x2A, 0x4D, 0x2F, 0xE0
- .byte 0x2A, 0x4D, 0x2D, 0xE0
+ ldr r1, _0205F124 ; =0x00000987
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0205F080
+ ldr r5, _0205F128 ; =0x000003F5
+ b _0205F0E0
+_0205F080:
+ ldr r5, _0205F12C ; =0x00000412
+ b _0205F0E0
_0205F084:
ldr r1, _0205F130 ; =0x00000988
bl FUN_0205EC94
@@ -178868,9 +200478,11 @@ _0205F0E0:
.balign 4
_0205F0E4: .word 0x00000132
_0205F0E8: .word 0x000001EE
-_0205F0EC:
- .byte 0x84, 0x09, 0x00, 0x00
- .byte 0x2E, 0x04, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x8E, 0x09, 0x00, 0x00, 0x8F, 0x09, 0x00, 0x00
+_0205F0EC: .word 0x00000984
+_0205F0F0: .word 0x0000042E
+_0205F0F4: .word 0x00000429
+_0205F0F8: .word 0x0000098E
+_0205F0FC: .word 0x0000098F
_0205F100: .word 0x00000995
_0205F104: .word 0x0000042D
_0205F108: .word 0x00000993
@@ -178880,8 +200492,9 @@ _0205F114: .word 0x00000415
_0205F118: .word 0x00000131
_0205F11C: .word 0x00000986
_0205F120: .word 0x0000042B
-_0205F124:
- .byte 0x87, 0x09, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00
+_0205F124: .word 0x00000987
+_0205F128: .word 0x000003F5
+_0205F12C: .word 0x00000412
_0205F130: .word 0x00000988
_0205F134: .word 0x000003FF
_0205F138: .word 0x0000041C
@@ -180338,20 +201951,38 @@ FUN_0205FBE8: ; 0x0205FBE8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r4, r2, #0
- lsl r6, r3, #0
- lsl r2, r5, #0
- lsl r4, r6, #0
+_0205FC0C: ; jump table (using 16-bit offset)
+ .short _0205FC16 - _0205FC0C - 2; case 0
+ .short _0205FC22 - _0205FC0C - 2; case 1
+ .short _0205FC2C - _0205FC0C - 2; case 2
+ .short _0205FC38 - _0205FC0C - 2; case 3
+ .short _0205FC42 - _0205FC0C - 2; case 4
+_0205FC16:
add r1, r5, #0x0
mov r2, #0xb
bl FUN_0205FA2C
str r0, [r4, #0x4]
b _0205FC4A
_0205FC22:
- .byte 0x29, 0x1C, 0xFF, 0xF7, 0x58, 0xFF, 0x60, 0x60, 0x0E, 0xE0, 0x29, 0x1C, 0x0B, 0x22
- .byte 0xFF, 0xF7, 0x80, 0xFF, 0x60, 0x60, 0x08, 0xE0, 0x29, 0x1C, 0xFF, 0xF7, 0xC1, 0xFF, 0x60, 0x60
- .byte 0x03, 0xE0, 0xB6, 0xF7, 0xE9, 0xFE, 0x01, 0x20, 0x38, 0xBD
+ add r1, r5, #0x0
+ bl FUN_0205FAD8
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC2C:
+ add r1, r5, #0x0
+ mov r2, #0xb
+ bl FUN_0205FB34
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC38:
+ add r1, r5, #0x0
+ bl FUN_0205FBC0
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC42:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0205FC4A:
mov r0, #0x0
pop {r3-r5, pc}
@@ -181052,15 +202683,17 @@ _020601B0:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r2, #0
- lsl r4, r6, #0
- lsl r0, r0, #0x1
- lsl r0, r5, #0x1
- lsl r4, r6, #0x1
- lsl r4, r4, #0x3
- lsl r2, r6, #0x4
- lsl r6, r7, #0x4
- lsl r4, r2, #0x5
+_020601BC: ; jump table (using 16-bit offset)
+ .short _020601CE - _020601BC - 2; case 0
+ .short _020601F2 - _020601BC - 2; case 1
+ .short _020601FE - _020601BC - 2; case 2
+ .short _02060226 - _020601BC - 2; case 3
+ .short _02060232 - _020601BC - 2; case 4
+ .short _020602A2 - _020601BC - 2; case 5
+ .short _020602F0 - _020601BC - 2; case 6
+ .short _020602FC - _020601BC - 2; case 7
+ .short _02060312 - _020601BC - 2; case 8
+_020601CE:
add r0, r6, #0x0
mov r1, #0x1
bl FUN_0206367C
@@ -181076,34 +202709,159 @@ _020601B0:
strb r0, [r4, #0xc]
b _02060332
_020601F2:
- .byte 0x28, 0x1C, 0xEA, 0xF7, 0xA2, 0xFE, 0x02, 0x20, 0x20, 0x73, 0x99, 0xE0, 0xF0, 0x68
- .byte 0xE6, 0xF7, 0x54, 0xF8, 0x61, 0x7B, 0x00, 0x29, 0x02, 0xD1, 0xFE, 0xF7, 0xDB, 0xFF, 0x03, 0xE0
- .byte 0x05, 0x29, 0x01, 0xD1, 0xFE, 0xF7, 0xDE, 0xFF, 0xA1, 0x68, 0x28, 0x1C, 0xE8, 0xF7, 0xA0, 0xFF
- .byte 0x03, 0x20, 0x20, 0x73, 0x85, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0xAC, 0xFE, 0x04, 0x20, 0x20, 0x73
- .byte 0x7F, 0xE0, 0xB0, 0x6B, 0xF5, 0xF7, 0xB4, 0xF8, 0x61, 0x7B, 0x07, 0x1C, 0x49, 0x1C, 0x61, 0x73
- .byte 0x61, 0x7B, 0x05, 0x29, 0x24, 0xD8, 0x30, 0x1C, 0xE4, 0xF1, 0x1E, 0xFF, 0x06, 0x1C, 0x38, 0x1C
- .byte 0x01, 0x21, 0xF8, 0xF7, 0x23, 0xFB, 0x20, 0x68, 0x31, 0x1C, 0xE4, 0xF1, 0xB3, 0xFD, 0x20, 0x68
- .byte 0xE4, 0xF1, 0x4A, 0xFE, 0x00, 0x20, 0xA0, 0x73, 0x33, 0x48, 0xA5, 0xF7, 0x2D, 0xF9, 0x00, 0x20
- .byte 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x2F, 0x4B
- .byte 0x28, 0x1C, 0x03, 0x21, 0x11, 0x22, 0xEB, 0xF7, 0x95, 0xFF, 0x05, 0x20, 0x20, 0x73, 0x50, 0xE0
- .byte 0x00, 0x21, 0xF8, 0xF7, 0x03, 0xFB, 0x28, 0x1C, 0xEA, 0xF7, 0xB8, 0xFE, 0x08, 0x20, 0x20, 0x73
- .byte 0x47, 0xE0, 0xA0, 0x7B, 0x40, 0x1C, 0xA0, 0x73, 0xA0, 0x7B, 0x3C, 0x28, 0x04, 0xD2, 0x24, 0x48
- .byte 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x3C, 0xD0, 0x60, 0x7B, 0x61, 0x68, 0xE4, 0xF1, 0x6C, 0xFF
- .byte 0x60, 0x68, 0xE4, 0xF1, 0x95, 0xFF, 0xA0, 0x60, 0x1B, 0x48, 0xA5, 0xF7, 0xFD, 0xF8, 0x00, 0x20
- .byte 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x17, 0x4B
- .byte 0x28, 0x1C, 0x03, 0x21, 0x10, 0x22, 0xEB, 0xF7, 0x65, 0xFF, 0x06, 0x20, 0x20, 0x73, 0x20, 0xE0
- .byte 0x20, 0x68, 0xE4, 0xF1, 0x11, 0xFE, 0x07, 0x20, 0x20, 0x73, 0x1A, 0xE0, 0x20, 0x68, 0xE4, 0xF1
- .byte 0x11, 0xFE, 0x00, 0x28, 0x15, 0xD0, 0x20, 0x68, 0xE4, 0xF1, 0x10, 0xFE, 0x01, 0x20, 0x20, 0x73
- .byte 0x0F, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x03, 0xF0, 0xB1, 0xF9, 0x60, 0x68, 0xE4, 0xF1, 0x38, 0xFF
- .byte 0x20, 0x68, 0xE4, 0xF1, 0x4B, 0xFD, 0x20, 0x1C, 0xB6, 0xF7, 0x76, 0xFB, 0x04, 0xB0, 0x01, 0x20
- .byte 0xF8, 0xBD
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ mov r0, #0x2
+ strb r0, [r4, #0xc]
+ b _02060332
+_020601FE:
+ ldr r0, [r6, #0xc]
+ bl FUN_020462AC
+ ldrb r1, [r4, #0xd]
+ cmp r1, #0x0
+ bne _02060210
+ bl FUN_0205F1C4
+ b _02060218
+_02060210:
+ cmp r1, #0x5
+ bne _02060218
+ bl FUN_0205F1D4
+_02060218:
+ ldr r1, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02049160
+ mov r0, #0x3
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060226:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ mov r0, #0x4
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060232:
+ ldr r0, [r6, #0x38]
+ bl FUN_020553A0
+ ldrb r1, [r4, #0xd]
+ add r7, r0, #0x0
+ add r1, r1, #0x1
+ strb r1, [r4, #0xd]
+ ldrb r1, [r4, #0xd]
+ cmp r1, #0x5
+ bhi _02060290
+ add r0, r6, #0x0
+ bl FUN_02245088
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ ldr r0, [r4, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02244DC4
+ ldr r0, [r4, #0x0]
+ bl FUN_02244EF8
+ mov r0, #0x0
+ strb r0, [r4, #0xe]
+ ldr r0, _02060338 ; =0x00000679
+ bl FUN_020054C8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ ldr r3, _0206033C ; =0x0000FFFF
+ add r0, r5, #0x0
+ mov r1, #0x3
+ mov r2, #0x11
+ bl FUN_0204C1B4
+ mov r0, #0x5
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060290:
+ mov r1, #0x0
+ bl FUN_0205889C
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ mov r0, #0x8
+ strb r0, [r4, #0xc]
+ b _02060332
+_020602A2:
+ ldrb r0, [r4, #0xe]
+ add r0, r0, #0x1
+ strb r0, [r4, #0xe]
+ ldrb r0, [r4, #0xe]
+ cmp r0, #0x3c
+ bhs _020602B8
+ ldr r0, _02060340 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _02060332
+_020602B8:
+ ldrb r0, [r4, #0xd]
+ ldr r1, [r4, #0x4]
+ bl FUN_02245198
+ ldr r0, [r4, #0x4]
+ bl FUN_022451F0
+ str r0, [r4, #0x8]
+ ldr r0, _02060338 ; =0x00000679
+ bl FUN_020054C8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ ldr r3, _0206033C ; =0x0000FFFF
+ add r0, r5, #0x0
+ mov r1, #0x3
+ mov r2, #0x10
+ bl FUN_0204C1B4
+ mov r0, #0x6
+ strb r0, [r4, #0xc]
+ b _02060332
+_020602F0:
+ ldr r0, [r4, #0x0]
+ bl FUN_02244F18
+ mov r0, #0x7
+ strb r0, [r4, #0xc]
+ b _02060332
+_020602FC:
+ ldr r0, [r4, #0x0]
+ bl FUN_02244F24
+ cmp r0, #0x0
+ beq _02060332
+ ldr r0, [r4, #0x0]
+ bl FUN_02244F2C
+ mov r0, #0x1
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060312:
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0206367C
+ ldr r0, [r4, #0x4]
+ bl FUN_02245190
+ ldr r0, [r4, #0x0]
+ bl FUN_02244DBC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
_02060332:
mov r0, #0x0
add sp, #0x10
pop {r3-r7, pc}
-_02060338:
- .byte 0x79, 0x06, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00
- .byte 0xB8, 0x48, 0x1C, 0x02
+ .balign 4
+_02060338: .word 0x00000679
+_0206033C: .word 0x0000FFFF
+_02060340: .word 0x021C48B8
thumb_func_start FUN_02060344
FUN_02060344: ; 0x02060344
@@ -181575,13 +203333,15 @@ FUN_020606D0: ; 0x020606D0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r4, r6, #0
- lsl r2, r0, #0x1
- lsl r0, r2, #0x1
- lsl r6, r3, #0x1
- lsl r4, r5, #0x1
- lsl r2, r7, #0x1
+_020606F6: ; jump table (using 16-bit offset)
+ .short _02060704 - _020606F6 - 2; case 0
+ .short _0206072C - _020606F6 - 2; case 1
+ .short _0206073A - _020606F6 - 2; case 2
+ .short _02060748 - _020606F6 - 2; case 3
+ .short _02060756 - _020606F6 - 2; case 4
+ .short _02060764 - _020606F6 - 2; case 5
+ .short _02060772 - _020606F6 - 2; case 6
+_02060704:
ldr r0, [r4, #0x24]
add r3, r4, #0x0
str r0, [sp, #0x0]
@@ -181601,13 +203361,50 @@ FUN_020606D0: ; 0x020606D0
str r0, [r4, #0x4]
b _0206078A
_0206072C:
- .byte 0x28, 0x1C, 0xEA, 0xF7
- .byte 0x4B, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x27, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0xFE, 0xFB
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x20, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0xB1, 0xFF, 0x60, 0x68
- .byte 0x40, 0x1C, 0x60, 0x60, 0x19, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0x14, 0xFC, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x12, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0x51, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60
- .byte 0x0B, 0xE0, 0x60, 0x6A, 0xB6, 0xF7, 0x50, 0xF9, 0xA0, 0x6A, 0xB6, 0xF7, 0x4D, 0xF9, 0x20, 0x1C
- .byte 0xB6, 0xF7, 0x4A, 0xF9, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD
+ add r0, r5, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_0206073A:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060748:
+ add r0, r5, #0x0
+ bl FUN_020606B0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060756:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060764:
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060772:
+ ldr r0, [r4, #0x24]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x28]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
_0206078A:
mov r0, #0x0
add sp, #0x8
@@ -181888,14 +203685,16 @@ FUN_020609A0: ; 0x020609A0
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r1, #0
- lsl r4, r4, #0
- lsl r6, r0, #0x2
- lsl r4, r5, #0x2
- lsl r4, r5, #0x3
- lsl r6, r7, #0x3
- lsl r2, r3, #0x4
- lsl r6, r5, #0x4
+_020609C6: ; jump table (using 16-bit offset)
+ .short _020609D6 - _020609C6 - 2; case 0
+ .short _020609EC - _020609C6 - 2; case 1
+ .short _02060A4E - _020609C6 - 2; case 2
+ .short _02060A74 - _020609C6 - 2; case 3
+ .short _02060AB4 - _020609C6 - 2; case 4
+ .short _02060AC6 - _020609C6 - 2; case 5
+ .short _02060AE2 - _020609C6 - 2; case 6
+ .short _02060AF6 - _020609C6 - 2; case 7
+_020609D6:
bl FUN_02060C80
add r0, r4, #0x0
bl FUN_02060B0C
@@ -181908,31 +203707,140 @@ _020609E6:
strb r0, [r4, #0x0]
b _02060B00
_020609EC:
- .byte 0x00, 0xF0, 0x48, 0xF9
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x8B, 0xF8, 0x06, 0x1C, 0xA0, 0x78, 0x00, 0x28, 0x16, 0xD1, 0x20, 0x1C
- .byte 0x21, 0x1C, 0x10, 0x30, 0x14, 0x31, 0xA2, 0x1C, 0x00, 0xF0, 0xDE, 0xF8, 0x00, 0x28, 0x77, 0xD0
- .byte 0x28, 0x6D, 0x01, 0x21, 0x00, 0x22, 0x79, 0xF1, 0x69, 0xFD, 0x28, 0x6D, 0x02, 0x21, 0x00, 0x22
- .byte 0x79, 0xF1, 0x64, 0xFD, 0x38, 0x48, 0xA4, 0xF7, 0x4F, 0xFD, 0x69, 0xE0, 0x28, 0x6D, 0x01, 0x21
- .byte 0x79, 0xF1, 0xAC, 0xFD, 0x00, 0x28, 0x63, 0xD0, 0x28, 0x6D, 0x02, 0x21, 0x79, 0xF1, 0xA6, 0xFD
- .byte 0x00, 0x28, 0x5D, 0xD0, 0x00, 0x2E, 0x5B, 0xD0, 0x02, 0x20, 0x20, 0x70, 0x58, 0xE0, 0x06, 0x20
- .byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x0B, 0x20, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C
- .byte 0x03, 0x1C, 0xAD, 0xF7, 0xB5, 0xFB, 0x00, 0x20, 0x06, 0x21, 0xA4, 0xF7, 0xAF, 0xFC, 0x03, 0x20
- .byte 0x20, 0x70, 0x45, 0xE0, 0xAD, 0xF7, 0x48, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA4, 0xF7, 0xC2, 0xFC
- .byte 0x00, 0x28, 0x02, 0xD0, 0x03, 0xB0, 0x00, 0x20, 0x78, 0xBD, 0x00, 0x20, 0x21, 0x69, 0xC0, 0x43
- .byte 0x81, 0x42, 0x09, 0xD0, 0xE8, 0x6C, 0x29, 0x6D, 0x01, 0x22, 0x79, 0xF1, 0x57, 0xFD, 0xE8, 0x6C
- .byte 0x29, 0x6D, 0x02, 0x22, 0x79, 0xF1, 0x52, 0xFD, 0x30, 0x1C, 0xEA, 0xF7, 0x47, 0xFA, 0x04, 0x20
- .byte 0x20, 0x70, 0x25, 0xE0, 0x61, 0x78, 0x22, 0x1C, 0x28, 0x1C, 0x34, 0x32, 0xFF, 0xF7, 0x32, 0xFF
- .byte 0x05, 0x20, 0x20, 0x70, 0x1C, 0xE0, 0x20, 0x6A, 0x00, 0x22, 0x00, 0x90, 0x20, 0x79, 0xD2, 0x43
- .byte 0x01, 0x90, 0xA1, 0x69, 0xE3, 0x69, 0x30, 0x1C, 0xE8, 0xF7, 0x66, 0xFB, 0x06, 0x20, 0x20, 0x70
- .byte 0x0E, 0xE0, 0xA1, 0x69, 0x28, 0x1C, 0xEA, 0xF7, 0x51, 0xF9, 0x30, 0x1C, 0xEA, 0xF7, 0xFC, 0xFA
- .byte 0x07, 0x20, 0x20, 0x70, 0x04, 0xE0, 0xB5, 0xF7, 0x8F, 0xFF, 0x03, 0xB0, 0x01, 0x20, 0x78, 0xBD
+ bl FUN_02060C80
+ add r0, r4, #0x0
+ bl FUN_02060B0C
+ add r6, r0, #0x0
+ ldrb r0, [r4, #0x2]
+ cmp r0, #0x0
+ bne _02060A2C
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ add r0, #0x10
+ add r1, #0x14
+ add r2, r4, #0x2
+ bl FUN_02060BC8
+ cmp r0, #0x0
+ beq _02060B00
+ ldr r0, [r5, #0x50]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_021DA4EC
+ ldr r0, [r5, #0x50]
+ mov r1, #0x2
+ mov r2, #0x0
+ bl FUN_021DA4EC
+ ldr r0, _02060B08 ; =0x000006DE
+ bl FUN_020054C8
+ b _02060B00
+_02060A2C:
+ ldr r0, [r5, #0x50]
+ mov r1, #0x1
+ bl FUN_021DA58C
+ cmp r0, #0x0
+ beq _02060B00
+ ldr r0, [r5, #0x50]
+ mov r1, #0x2
+ bl FUN_021DA58C
+ cmp r0, #0x0
+ beq _02060B00
+ cmp r6, #0x0
+ beq _02060B00
+ mov r0, #0x2
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060A4E:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0xb
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x0
+ mov r1, #0x6
+ bl FUN_020053CC
+ mov r0, #0x3
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060A74:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02060A84
+ bl FUN_02005404
+ cmp r0, #0x0
+ beq _02060A8A
+_02060A84:
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r3-r6, pc}
+_02060A8A:
+ mov r0, #0x0
+ ldr r1, [r4, #0x10]
+ mvn r0, r0
+ cmp r1, r0
+ beq _02060AA8
+ ldr r0, [r5, #0x4c]
+ ldr r1, [r5, #0x50]
+ mov r2, #0x1
+ bl FUN_021DA54C
+ ldr r0, [r5, #0x4c]
+ ldr r1, [r5, #0x50]
+ mov r2, #0x2
+ bl FUN_021DA54C
+_02060AA8:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ mov r0, #0x4
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AB4:
+ ldrb r1, [r4, #0x1]
+ add r2, r4, #0x0
+ add r0, r5, #0x0
+ add r2, #0x34
+ bl FUN_02060924
+ mov r0, #0x5
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AC6:
+ ldr r0, [r4, #0x20]
+ mov r2, #0x0
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ mvn r2, r2
+ str r0, [sp, #0x4]
+ ldr r1, [r4, #0x18]
+ ldr r3, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl FUN_020491A8
+ mov r0, #0x6
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AE2:
+ ldr r1, [r4, #0x18]
+ add r0, r5, #0x0
+ bl FUN_0204AD8C
+ add r0, r6, #0x0
+ bl FUN_0204B0E8
+ mov r0, #0x7
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AF6:
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r6, pc}
_02060B00:
mov r0, #0x0
add sp, #0xc
pop {r3-r6, pc}
nop
-_02060B08:
- .byte 0xDE, 0x06, 0x00, 0x00
+_02060B08: .word 0x000006DE
thumb_func_start FUN_02060B0C
FUN_02060B0C: ; 0x02060B0C
@@ -181951,10 +203859,12 @@ FUN_02060B0C: ; 0x02060B0C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r7, #0
- lsl r2, r5, #0
- lsl r0, r3, #0
+_02060B2C: ; jump table (using 16-bit offset)
+ .short _02060B34 - _02060B2C - 2; case 0
+ .short _02060B6A - _02060B2C - 2; case 1
+ .short _02060B58 - _02060B2C - 2; case 2
+ .short _02060B46 - _02060B2C - 2; case 3
+_02060B34:
ldr r1, [sp, #0x8]
ldr r0, [r4, #0x7c]
add r0, r1, r0
@@ -181965,10 +203875,35 @@ FUN_02060B0C: ; 0x02060B0C
str r0, [r4, #0x2c]
b _02060B86
_02060B46:
- .byte 0x02, 0x99, 0xE0, 0x6F, 0x08, 0x1A, 0x02, 0x90, 0xE1, 0x6A
- .byte 0xE0, 0x6F, 0x08, 0x1A, 0xE0, 0x62, 0x16, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x18, 0x00, 0x90
- .byte 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x18, 0x60, 0x62, 0x0D, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x1A
- .byte 0x00, 0x90, 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x1A, 0x60, 0x62, 0x04, 0xE0
+ ldr r1, [sp, #0x8]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [sp, #0x8]
+ ldr r1, [r4, #0x2c]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [r4, #0x2c]
+ b _02060B86
+_02060B58:
+ ldr r1, [sp, #0x0]
+ ldr r0, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r1, [r4, #0x24]
+ ldr r0, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [r4, #0x24]
+ b _02060B86
+_02060B6A:
+ ldr r1, [sp, #0x0]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r1, [r4, #0x24]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [r4, #0x24]
+ b _02060B86
_02060B7C:
bl FUN_02020C2C
add sp, #0xc
@@ -182680,13 +204615,15 @@ _020610B0:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r5, #0
- lsl r4, r3, #0
- lsl r6, r5, #0
- lsl r6, r5, #0
- lsl r4, r1, #0
- lsl r4, r3, #0
- lsl r4, r3, #0
+_020610C0: ; jump table (using 16-bit offset)
+ .short _020610F0 - _020610C0 - 2; case 0
+ .short _020610DE - _020610C0 - 2; case 1
+ .short _020610F0 - _020610C0 - 2; case 2
+ .short _020610F0 - _020610C0 - 2; case 3
+ .short _020610CE - _020610C0 - 2; case 4
+ .short _020610DE - _020610C0 - 2; case 5
+ .short _020610DE - _020610C0 - 2; case 6
+_020610CE:
add r0, r6, #0x0
mov r1, #0x2
mov r2, #0x1
@@ -182695,8 +204632,14 @@ _020610B0:
add sp, #0x28
pop {r3-r7, pc}
_020610DE:
- .byte 0xB8, 0x88
- .byte 0x02, 0x28, 0x05, 0xD9, 0x02, 0x21, 0x30, 0x1C, 0x0A, 0x1C, 0x3B, 0x1C, 0xFF, 0xF7, 0x42, 0xFE
+ ldrh r0, [r7, #0x4]
+ cmp r0, #0x2
+ bls _020610F0
+ mov r1, #0x2
+ add r0, r6, #0x0
+ add r2, r1, #0x0
+ add r3, r7, #0x0
+ bl FUN_02060D74
_020610F0:
add sp, #0x28
pop {r3-r7, pc}
@@ -184566,15 +206509,23 @@ FUN_02061F60: ; 0x02061F60
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02061FA0: ; jump table (using 16-bit offset)
+ .short _02061FA8 - _02061FA0 - 2; case 0
+ .short _02061FAC - _02061FA0 - 2; case 1
+ .short _02061FB0 - _02061FA0 - 2; case 2
+ .short _02061FB4 - _02061FA0 - 2; case 3
+_02061FA8:
mov r0, #0x27
pop {r3-r7, pc}
_02061FAC:
- .byte 0x28, 0x20, 0xF8, 0xBD
- .byte 0x29, 0x20, 0xF8, 0xBD, 0x2A, 0x20, 0xF8, 0xBD
+ mov r0, #0x28
+ pop {r3-r7, pc}
+_02061FB0:
+ mov r0, #0x29
+ pop {r3-r7, pc}
+_02061FB4:
+ mov r0, #0x2a
+ pop {r3-r7, pc}
_02061FB8:
mov r0, #0x26
pop {r3-r7, pc}
@@ -184838,18 +206789,20 @@ _0206218C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r2, #0
- lsl r6, r1, #0x1
- lsl r2, r2, #0x1
- lsl r6, r2, #0x1
- lsl r6, r4, #0x1
- lsl r2, r3, #0x1
- lsl r6, r3, #0x1
- lsl r2, r4, #0x1
- lsl r6, r5, #0x1
- lsl r6, r5, #0x1
- lsl r6, r5, #0x1
- lsl r2, r5, #0x1
+_020621BC: ; jump table (using 16-bit offset)
+ .short _020621D4 - _020621BC - 2; case 0
+ .short _0206220C - _020621BC - 2; case 1
+ .short _02062210 - _020621BC - 2; case 2
+ .short _02062214 - _020621BC - 2; case 3
+ .short _02062224 - _020621BC - 2; case 4
+ .short _02062218 - _020621BC - 2; case 5
+ .short _0206221C - _020621BC - 2; case 6
+ .short _02062220 - _020621BC - 2; case 7
+ .short _0206222C - _020621BC - 2; case 8
+ .short _0206222C - _020621BC - 2; case 9
+ .short _0206222C - _020621BC - 2; case 10
+ .short _02062228 - _020621BC - 2; case 11
+_020621D4:
bl FUN_0201B9EC
lsl r0, r0, #0x2
lsr r4, r0, #0x10
@@ -184865,20 +206818,47 @@ _020621E4:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_020621F4: ; jump table (using 16-bit offset)
+ .short _020621FC - _020621F4 - 2; case 0
+ .short _02062200 - _020621F4 - 2; case 1
+ .short _02062204 - _020621F4 - 2; case 2
+ .short _02062208 - _020621F4 - 2; case 3
+_020621FC:
mov r0, #0x1
pop {r3-r7, pc}
_02062200:
- .byte 0x02, 0x20, 0xF8, 0xBD, 0x03, 0x20, 0xF8, 0xBD, 0x04, 0x20, 0xF8, 0xBD
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_02062204:
+ mov r0, #0x3
+ pop {r3-r7, pc}
+_02062208:
+ mov r0, #0x4
+ pop {r3-r7, pc}
_0206220C:
mov r0, #0x5
pop {r3-r7, pc}
_02062210:
- .byte 0x06, 0x20, 0xF8, 0xBD, 0x07, 0x20, 0xF8, 0xBD, 0x08, 0x20, 0xF8, 0xBD, 0x09, 0x20, 0xF8, 0xBD
- .byte 0x0A, 0x20, 0xF8, 0xBD, 0x0B, 0x20, 0xF8, 0xBD, 0x0C, 0x20, 0xF8, 0xBD
+ mov r0, #0x6
+ pop {r3-r7, pc}
+_02062214:
+ mov r0, #0x7
+ pop {r3-r7, pc}
+_02062218:
+ mov r0, #0x8
+ pop {r3-r7, pc}
+_0206221C:
+ mov r0, #0x9
+ pop {r3-r7, pc}
+_02062220:
+ mov r0, #0xa
+ pop {r3-r7, pc}
+_02062224:
+ mov r0, #0xb
+ pop {r3-r7, pc}
+_02062228:
+ mov r0, #0xc
+ pop {r3-r7, pc}
_0206222C:
bl FUN_02020C2C
mov r0, #0x1
@@ -185011,23 +206991,21 @@ _02062304:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r6, r1, #0
- lsl r6, r0, #0
- lsl r2, r1, #0
+_02062330: ; jump table (using 16-bit offset)
+ .short _02062344 - _02062330 - 2; case 0
+ .short _02062340 - _02062330 - 2; case 1
+ .short _02062338 - _02062330 - 2; case 2
+ .short _0206233C - _02062330 - 2; case 3
+_02062338:
mov r0, #0x1e
pop {r4-r6, pc}
_0206233C:
mov r0, #0x1f
pop {r4-r6, pc}
-
- thumb_func_start FUN_02062340
-FUN_02062340: ; 0x02062340
+_02062340:
mov r0, #0x20
pop {r4-r6, pc}
-
- thumb_func_start FUN_02062344
-FUN_02062344: ; 0x02062344
+_02062344:
mov r0, #0x21
pop {r4-r6, pc}
@@ -185152,17 +207130,25 @@ FUN_020623F4: ; 0x020623F4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r3, #0
- lsl r2, r3, #0
- lsl r6, r2, #0
- lsl r2, r2, #0
- lsl r6, r1, #0
- lsl r2, r1, #0
+_0206243A: ; jump table (using 16-bit offset)
+ .short _02062456 - _0206243A - 2; case 0
+ .short _02062456 - _0206243A - 2; case 1
+ .short _02062452 - _0206243A - 2; case 2
+ .short _0206244E - _0206243A - 2; case 3
+ .short _0206244A - _0206243A - 2; case 4
+ .short _02062446 - _0206243A - 2; case 5
+_02062446:
mov r0, #0x23
pop {r4-r6, pc}
_0206244A:
- .byte 0x24, 0x20, 0x70, 0xBD, 0x25, 0x20
- .byte 0x70, 0xBD, 0x26, 0x20, 0x70, 0xBD
+ mov r0, #0x24
+ pop {r4-r6, pc}
+_0206244E:
+ mov r0, #0x25
+ pop {r4-r6, pc}
+_02062452:
+ mov r0, #0x26
+ pop {r4-r6, pc}
_02062456:
mov r0, #0x27
pop {r4-r6, pc}
@@ -185772,26 +207758,93 @@ FUN_020628E8: ; 0x020628E8
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r1, #0
- lsl r0, r1, #0x1
- lsl r0, r4, #0x1
- lsl r6, r0, #0x2
+_02062904: ; jump table (using 16-bit offset)
+ .short _02062912 - _02062904 - 2; case 0
+ .short _0206294E - _02062904 - 2; case 1
+ .short _02062966 - _02062904 - 2; case 2
+ .short _0206298C - _02062904 - 2; case 3
_0206290C:
cmp r1, #0xff
beq _020629B2
b _020629CE
_02062912:
- .byte 0xE4, 0x30, 0xFF, 0x21, 0xB6, 0xF7, 0x83, 0xFE, 0x00, 0x23, 0x00, 0x93, 0x60, 0x8B
- .byte 0x22, 0x1C, 0x98, 0x32, 0x01, 0x90, 0x2B, 0x48, 0x01, 0x21, 0x02, 0x90, 0x03, 0x93, 0x20, 0x1C
- .byte 0x12, 0x68, 0xE4, 0x30, 0xB9, 0xF7, 0x54, 0xFA, 0xA0, 0x77, 0xA6, 0x20, 0x80, 0x00, 0x20, 0x58
- .byte 0x02, 0x21, 0xA9, 0xF7, 0x93, 0xFE, 0xE0, 0x68, 0x40, 0x1C, 0xE0, 0x60, 0x3F, 0xE0, 0xA0, 0x7F
- .byte 0xB9, 0xF7, 0x0E, 0xFA, 0x00, 0x28, 0x3A, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0xAF, 0xFF, 0xE0, 0x68
- .byte 0x40, 0x1C, 0xE0, 0x60, 0x33, 0xE0, 0xC8, 0x30, 0x00, 0x68, 0x21, 0x68, 0x9F, 0xF7, 0x1E, 0xFC
- .byte 0x00, 0x28, 0x04, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42, 0x04, 0xD0, 0x27, 0xE0, 0xE0, 0x68
- .byte 0x40, 0x1C, 0xE0, 0x60, 0x23, 0xE0, 0xFF, 0x20, 0xE0, 0x60, 0x20, 0xE0, 0xB1, 0x21, 0x89, 0x00
- .byte 0x61, 0x58, 0x00, 0x22, 0x8A, 0x80, 0x01, 0x21, 0x00, 0xF0, 0x84, 0xFC, 0xA6, 0x20, 0x80, 0x00
- .byte 0x20, 0x58, 0x01, 0x21, 0xA9, 0xF7, 0x62, 0xFE, 0x00, 0x20, 0xE0, 0x60, 0x04, 0xB0, 0x06, 0x20
- .byte 0x10, 0xBD
+ add r0, #0xe4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldrh r0, [r4, #0x1a]
+ add r2, r4, #0x0
+ add r2, #0x98
+ str r0, [sp, #0x4]
+ ldr r0, _020629D4 ; =0x0001020F
+ mov r1, #0x1
+ str r0, [sp, #0x8]
+ str r3, [sp, #0xc]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0x0]
+ add r0, #0xe4
+ bl FUN_0201BDE0
+ strb r0, [r4, #0x1e]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x2
+ bl FUN_0200C66C
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _020629CE
+_0206294E:
+ ldrb r0, [r4, #0x1e]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _020629CE
+ add r0, r4, #0x0
+ bl FUN_020628BC
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _020629CE
+_02062966:
+ add r0, #0xc8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206297E
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _02062986
+ b _020629CE
+_0206297E:
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _020629CE
+_02062986:
+ mov r0, #0xff
+ str r0, [r4, #0xc]
+ b _020629CE
+_0206298C:
+ mov r1, #0xb1
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ mov r2, #0x0
+ strh r2, [r1, #0x4]
+ mov r1, #0x1
+ bl FUN_020632A4
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C66C
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+ add sp, #0x10
+ mov r0, #0x6
+ pop {r4, pc}
_020629B2:
add r0, r4, #0x0
bl FUN_02063208
@@ -185809,8 +207862,8 @@ _020629CE:
mov r0, #0x7
add sp, #0x10
pop {r4, pc}
-_020629D4:
- .byte 0x0F, 0x02, 0x01, 0x00
+ .balign 4
+_020629D4: .word 0x0001020F
thumb_func_start FUN_020629D8
FUN_020629D8: ; 0x020629D8
@@ -187227,45 +209280,132 @@ _02063540:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r3, #0
- lsl r4, r4, #0
- lsl r0, r6, #0
- lsl r6, r0, #0x1
- lsl r4, r3, #0x1
- lsl r2, r6, #0x1
- lsl r0, r1, #0x2
- lsl r6, r3, #0x2
- lsl r4, r6, #0x2
- lsl r2, r1, #0x3
- lsl r6, r3, #0x3
- lsl r0, r5, #0x3
- lsl r0, r6, #0x3
+_0206354C: ; jump table (using 16-bit offset)
+ .short _02063566 - _0206354C - 2; case 0
+ .short _02063572 - _0206354C - 2; case 1
+ .short _0206357E - _0206354C - 2; case 2
+ .short _02063594 - _0206354C - 2; case 3
+ .short _020635AA - _0206354C - 2; case 4
+ .short _020635C0 - _0206354C - 2; case 5
+ .short _020635D6 - _0206354C - 2; case 6
+ .short _020635EC - _0206354C - 2; case 7
+ .short _02063602 - _0206354C - 2; case 8
+ .short _02063618 - _0206354C - 2; case 9
+ .short _0206362C - _0206354C - 2; case 10
+ .short _02063636 - _0206354C - 2; case 11
+ .short _0206363E - _0206354C - 2; case 12
+_02063566:
ldrh r2, [r4, #0x4]
add r1, r5, #0x0
bl FUN_020625EC
str r0, [r4, #0x0]
b _02063646
_02063572:
- .byte 0x08, 0x1C, 0xE9, 0x68, 0xFF, 0xF7, 0xD3, 0xF8, 0x20, 0x60, 0x63, 0xE0, 0x08, 0x1C
- .byte 0xFF, 0xF7, 0xEE, 0xF8, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7
- .byte 0x2D, 0xFC, 0x58, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0xEB, 0xF8, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68
- .byte 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x22, 0xFC, 0x4D, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0x10, 0xF9
- .byte 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x17, 0xFC, 0x42, 0xE0
- .byte 0x08, 0x1C, 0xFF, 0xF7, 0x0B, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58
- .byte 0xBC, 0xF7, 0x0C, 0xFC, 0x37, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0x16, 0xF9, 0x20, 0x60, 0x4D, 0x20
- .byte 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x01, 0xFC, 0x2C, 0xE0, 0x08, 0x1C, 0xFF, 0xF7
- .byte 0x7B, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0xF6, 0xFB
- .byte 0x21, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0xE8, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00
- .byte 0x08, 0x58, 0xBC, 0xF7, 0xEB, 0xFB, 0x16, 0xE0, 0x0C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42
- .byte 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD, 0x0A, 0x20, 0x20, 0x60, 0x0C, 0xE0, 0x08, 0x1C, 0xFF, 0xF7
- .byte 0x87, 0xF8, 0x20, 0x60, 0x07, 0xE0, 0xFF, 0xF7, 0x1F, 0xF8, 0x20, 0x60, 0x03, 0xE0, 0xB3, 0xF7
- .byte 0xEB, 0xF9, 0x01, 0x20, 0x38, 0xBD
+ add r0, r1, #0x0
+ ldr r1, [r5, #0xc]
+ bl FUN_02062720
+ str r0, [r4, #0x0]
+ b _02063646
+_0206357E:
+ add r0, r1, #0x0
+ bl FUN_02062760
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_02063594:
+ add r0, r1, #0x0
+ bl FUN_02062770
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635AA:
+ add r0, r1, #0x0
+ bl FUN_020627D0
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635C0:
+ add r0, r1, #0x0
+ bl FUN_020627DC
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635D6:
+ add r0, r1, #0x0
+ bl FUN_02062808
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635EC:
+ add r0, r1, #0x0
+ bl FUN_020628E8
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_02063602:
+ add r0, r1, #0x0
+ bl FUN_020629D8
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_02063618:
+ ldr r0, _0206364C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ bne _02063626
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02063626:
+ mov r0, #0xa
+ str r0, [r4, #0x0]
+ b _02063646
+_0206362C:
+ add r0, r1, #0x0
+ bl FUN_02062740
+ str r0, [r4, #0x0]
+ b _02063646
+_02063636:
+ bl FUN_02062678
+ str r0, [r4, #0x0]
+ b _02063646
+_0206363E:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
_02063646:
mov r0, #0x0
pop {r3-r5, pc}
nop
-_0206364C:
- .byte 0xB8, 0x48, 0x1C, 0x02
+_0206364C: .word 0x021C48B8
thumb_func_start FUN_02063650
FUN_02063650: ; 0x02063650
@@ -189688,16 +211828,17 @@ FUN_0206486C: ; 0x0206486C
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
- lsl r6, r3, #0x1
- lsl r6, r5, #0x3
- lsl r6, r6, #0x1
- lsl r6, r5, #0x3
- lsl r6, r1, #0x2
- lsl r6, r5, #0x3
- lsl r6, r4, #0x2
- lsl r6, r5, #0x3
- lsl r6, r7, #0x2
- lsl r6, r2, #0x3
+_020648B0: ; jump table (using 16-bit offset)
+ .short _02064910 - _020648B0 - 2; case 0
+ .short _020649A0 - _020648B0 - 2; case 1
+ .short _02064928 - _020648B0 - 2; case 2
+ .short _020649A0 - _020648B0 - 2; case 3
+ .short _02064940 - _020648B0 - 2; case 4
+ .short _020649A0 - _020648B0 - 2; case 5
+ .short _02064958 - _020648B0 - 2; case 6
+ .short _020649A0 - _020648B0 - 2; case 7
+ .short _02064970 - _020648B0 - 2; case 8
+ .short _02064988 - _020648B0 - 2; case 9
_020648C4:
ldr r2, _020649AC ; =0x00000125
cmp r1, r2
@@ -189748,15 +211889,95 @@ _02064908:
strh r1, [r0, #0x2]
pop {r3-r5, pc}
_02064910:
- .byte 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x03, 0x21
- .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80
- .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x04, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD
- .byte 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x05, 0x21
- .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80
- .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x06, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD
- .byte 0xE1, 0x68, 0x17, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x07, 0x21
- .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x12, 0x29, 0x01, 0xD1, 0x02, 0x80
- .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x08, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _0206491A
+ strh r2, [r0, #0x0]
+ b _0206491E
+_0206491A:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_0206491E:
+ mov r1, #0x3
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064928:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _02064932
+ strh r2, [r0, #0x0]
+ b _02064936
+_02064932:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_02064936:
+ mov r1, #0x4
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064940:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _0206494A
+ strh r2, [r0, #0x0]
+ b _0206494E
+_0206494A:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_0206494E:
+ mov r1, #0x5
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064958:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _02064962
+ strh r2, [r0, #0x0]
+ b _02064966
+_02064962:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_02064966:
+ mov r1, #0x6
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064970:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x17
+ bne _0206497A
+ strh r2, [r0, #0x0]
+ b _0206497E
+_0206497A:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_0206497E:
+ mov r1, #0x7
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064988:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x12
+ bne _02064992
+ strh r2, [r0, #0x0]
+ b _02064996
+_02064992:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_02064996:
+ mov r1, #0x8
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
_020649A0:
bl FUN_02020C2C
pop {r3-r5, pc}
@@ -189839,7 +212060,7 @@ _02064A3E:
add r3, r1, #0x0
mul r3, r0
ldr r0, _02064A68 ; =0x020F7D70
- ldr r1, _02064A6C ; =0x02064B71
+ ldr r1, _02064A6C ; =FUN_02064B70
ldr r0, [r0, r3]
str r0, [r2, #0x4]
ldr r0, [r5, #0x10]
@@ -189854,7 +212075,7 @@ _02064A5C: .word 0x020F7D84
_02064A60: .word 0x020F7D74
_02064A64: .word FUN_02064A70 + 1
_02064A68: .word 0x020F7D70
-_02064A6C: .word 0x02064B71
+_02064A6C: .word FUN_02064B70 + 1
thumb_func_start FUN_02064A70
FUN_02064A70: ; 0x02064A70
@@ -189875,10 +212096,12 @@ FUN_02064A70: ; 0x02064A70
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r4, r3, #0
- lsl r6, r2, #0x2
- lsl r2, r7, #0x2
+_02064A96: ; jump table (using 16-bit offset)
+ .short _02064A9E - _02064A96 - 2; case 0
+ .short _02064AB4 - _02064A96 - 2; case 1
+ .short _02064B2E - _02064A96 - 2; case 2
+ .short _02064B52 - _02064A96 - 2; case 3
+_02064A9E:
ldr r0, [r5, #0x38]
mov r1, #0x0
bl FUN_02055560
@@ -189889,40 +212112,211 @@ FUN_02064A70: ; 0x02064A70
str r0, [r4, #0x0]
b _02064B5C
_02064AB4:
- .byte 0xA0, 0x68, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C, 0xA0, 0x30, 0x00, 0x68
- .byte 0x28, 0x49, 0x83, 0xF1, 0x09, 0xFA, 0x03, 0x90, 0x10, 0xE0, 0x27, 0x48, 0x01, 0xA9, 0x02, 0x68
- .byte 0x40, 0x68, 0x01, 0x92, 0x02, 0x90, 0x00, 0x20, 0x00, 0x90, 0x28, 0x1C, 0x02, 0x22, 0x03, 0xAB
- .byte 0xE5, 0xF7, 0xBC, 0xFF, 0x00, 0x28, 0x01, 0xD1, 0xBC, 0xF7, 0xA0, 0xF8, 0x03, 0x99, 0x04, 0xA8
- .byte 0x83, 0xF1, 0xD6, 0xF9, 0xE0, 0x68, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x21, 0x00, 0xE0, 0x02, 0x21
- .byte 0x05, 0x98, 0x09, 0x03, 0x41, 0x18, 0x05, 0x91, 0x60, 0x68, 0x81, 0x42, 0x06, 0xDB, 0x05, 0x90
- .byte 0xE0, 0x68, 0x00, 0xF0, 0xB7, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0xA8, 0x6B, 0x05, 0x99
- .byte 0xF0, 0xF7, 0x0E, 0xFD, 0x03, 0x98, 0x04, 0xA9, 0x83, 0xF1, 0xC2, 0xF9, 0x16, 0xE0, 0x2A, 0x1C
- .byte 0x9C, 0x32, 0x61, 0x68, 0x12, 0x68, 0x00, 0x20, 0x8F, 0xF1, 0x2C, 0xFD, 0xA8, 0x6B, 0x01, 0x21
- .byte 0xF0, 0xF7, 0x1C, 0xFD, 0x09, 0x48, 0xA0, 0xF7, 0xBF, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60
- .byte 0x04, 0xE0, 0xB1, 0xF7, 0x61, 0xFF, 0x07, 0xB0, 0x01, 0x20, 0x30, 0xBD
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _02064ACA
+ add r0, r5, #0x0
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ ldr r1, _02064B64 ; =0x00000102
+ bl FUN_021E7ED8
+ str r0, [sp, #0xc]
+ b _02064AEC
+_02064ACA:
+ ldr r0, _02064B68 ; =0x020F7D4C
+ add r1, sp, #0x4
+ ldr r2, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x2
+ add r3, sp, #0xc
+ bl FUN_0204AA5C
+ cmp r0, #0x0
+ bne _02064AEC
+ bl FUN_02020C2C
+_02064AEC:
+ ldr r1, [sp, #0xc]
+ add r0, sp, #0x10
+ bl FUN_021E7EA0
+ ldr r0, [r4, #0xc]
+ cmp r0, #0x0
+ bne _02064AFE
+ mov r1, #0x1
+ b _02064B00
+_02064AFE:
+ mov r1, #0x2
+_02064B00:
+ ldr r0, [sp, #0x14]
+ lsl r1, r1, #0xc
+ add r1, r0, r1
+ str r1, [sp, #0x14]
+ ldr r0, [r4, #0x4]
+ cmp r1, r0
+ blt _02064B1C
+ str r0, [sp, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+_02064B1C:
+ ldr r0, [r5, #0x38]
+ ldr r1, [sp, #0x14]
+ bl FUN_02055540
+ ldr r0, [sp, #0xc]
+ add r1, sp, #0x10
+ bl FUN_021E7EB0
+ b _02064B5C
+_02064B2E:
+ add r2, r5, #0x0
+ add r2, #0x9c
+ ldr r1, [r4, #0x4]
+ ldr r2, [r2, #0x0]
+ mov r0, #0x0
+ bl FUN_021F4594
+ ldr r0, [r5, #0x38]
+ mov r1, #0x1
+ bl FUN_0205557C
+ ldr r0, _02064B6C ; =0x0000061A
+ bl FUN_020054C8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064B5C
+_02064B52:
+ bl FUN_02016A18
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r5, pc}
_02064B5C:
mov r0, #0x0
add sp, #0x1c
pop {r4-r5, pc}
nop
-_02064B64:
- .byte 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02, 0x1A, 0x06, 0x00, 0x00
- .byte 0x30, 0xB5, 0x87, 0xB0, 0x04, 0x1C, 0xE1, 0xF7, 0xD7, 0xFC, 0x05, 0x1C, 0x20, 0x1C, 0xE1, 0xF7
- .byte 0xD5, 0xFC, 0x04, 0x1C, 0x21, 0x68, 0x03, 0x29, 0x63, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88
- .byte 0x09, 0x04, 0x09, 0x14, 0x8F, 0x44, 0x06, 0x00, 0x1C, 0x00, 0x8C, 0x00, 0xB0, 0x00, 0xA8, 0x6B
- .byte 0x00, 0x21, 0xF0, 0xF7, 0xDD, 0xFC, 0xE0, 0x68, 0x00, 0xF0, 0x5C, 0xF8, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x4E, 0xE0, 0xA0, 0x68, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C, 0xA0, 0x30, 0x00, 0x68
- .byte 0x25, 0x49, 0x83, 0xF1, 0x89, 0xF9, 0x03, 0x90, 0x10, 0xE0, 0x24, 0x48, 0x01, 0xA9, 0x02, 0x69
- .byte 0x40, 0x69, 0x01, 0x92, 0x02, 0x90, 0x00, 0x20, 0x00, 0x90, 0x28, 0x1C, 0x02, 0x22, 0x03, 0xAB
- .byte 0xE5, 0xF7, 0x3C, 0xFF, 0x00, 0x28, 0x01, 0xD1, 0xBC, 0xF7, 0x20, 0xF8, 0x03, 0x99, 0x04, 0xA8
- .byte 0x83, 0xF1, 0x56, 0xF9, 0x01, 0x20, 0x05, 0x99, 0x00, 0x03, 0x09, 0x1A, 0x05, 0x91, 0x60, 0x68
- .byte 0x81, 0x42, 0x06, 0xDC, 0x05, 0x90, 0xE0, 0x68, 0x00, 0xF0, 0x3C, 0xF8, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0xA8, 0x6B, 0x05, 0x99, 0xF0, 0xF7, 0x93, 0xFC, 0x03, 0x98, 0x04, 0xA9, 0x83, 0xF1
- .byte 0x47, 0xF9, 0x16, 0xE0, 0x2A, 0x1C, 0x9C, 0x32, 0x61, 0x68, 0x12, 0x68, 0x00, 0x20, 0x8F, 0xF1
- .byte 0xB1, 0xFC, 0xA8, 0x6B, 0x01, 0x21, 0xF0, 0xF7, 0xA1, 0xFC, 0x09, 0x48, 0xA0, 0xF7, 0x44, 0xFC
- .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0xB1, 0xF7, 0xE6, 0xFE, 0x07, 0xB0, 0x01, 0x20
- .byte 0x30, 0xBD, 0x00, 0x20, 0x07, 0xB0, 0x30, 0xBD, 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02
- .byte 0x1A, 0x06, 0x00, 0x00
+_02064B64: .word 0x00000102
+_02064B68: .word 0x020F7D4C
+_02064B6C: .word 0x0000061A
+
+ thumb_func_start FUN_02064B70
+FUN_02064B70: ; 0x02064B70
+ push {r4-r5, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x3
+ bhi _02064C52
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02064B96: ; jump table (using 16-bit offset)
+ .short _02064B9E - _02064B96 - 2; case 0
+ .short _02064BB4 - _02064B96 - 2; case 1
+ .short _02064C24 - _02064B96 - 2; case 2
+ .short _02064C48 - _02064B96 - 2; case 3
+_02064B9E:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_02055560
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C64
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064C52
+_02064BB4:
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _02064BCA
+ add r0, r5, #0x0
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ ldr r1, _02064C58 ; =0x00000102
+ bl FUN_021E7ED8
+ str r0, [sp, #0xc]
+ b _02064BEC
+_02064BCA:
+ ldr r0, _02064C5C ; =0x020F7D4C
+ add r1, sp, #0x4
+ ldr r2, [r0, #0x10]
+ ldr r0, [r0, #0x14]
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x2
+ add r3, sp, #0xc
+ bl FUN_0204AA5C
+ cmp r0, #0x0
+ bne _02064BEC
+ bl FUN_02020C2C
+_02064BEC:
+ ldr r1, [sp, #0xc]
+ add r0, sp, #0x10
+ bl FUN_021E7EA0
+ mov r0, #0x1
+ ldr r1, [sp, #0x14]
+ lsl r0, r0, #0xc
+ sub r1, r1, r0
+ str r1, [sp, #0x14]
+ ldr r0, [r4, #0x4]
+ cmp r1, r0
+ bgt _02064C12
+ str r0, [sp, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+_02064C12:
+ ldr r0, [r5, #0x38]
+ ldr r1, [sp, #0x14]
+ bl FUN_02055540
+ ldr r0, [sp, #0xc]
+ add r1, sp, #0x10
+ bl FUN_021E7EB0
+ b _02064C52
+_02064C24:
+ add r2, r5, #0x0
+ add r2, #0x9c
+ ldr r1, [r4, #0x4]
+ ldr r2, [r2, #0x0]
+ mov r0, #0x0
+ bl FUN_021F4594
+ ldr r0, [r5, #0x38]
+ mov r1, #0x1
+ bl FUN_0205557C
+ ldr r0, _02064C60 ; =0x0000061A
+ bl FUN_020054C8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064C52
+_02064C48:
+ bl FUN_02016A18
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r5, pc}
+_02064C52:
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r4-r5, pc}
+ .balign 4
+_02064C58: .word 0x00000102
+_02064C5C: .word 0x020F7D4C
+_02064C60: .word 0x0000061A
thumb_func_start FUN_02064C64
FUN_02064C64: ; 0x02064C64
@@ -191115,20 +213509,31 @@ _020655DE:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r1, #0
- lsl r6, r5, #0
- lsl r6, r2, #0
- lsl r2, r4, #0
- lsl r2, r1, #0
+_020655FC: ; jump table (using 16-bit offset)
+ .short _02065608 - _020655FC - 2; case 0
+ .short _02065608 - _020655FC - 2; case 1
+ .short _0206562C - _020655FC - 2; case 2
+ .short _02065614 - _020655FC - 2; case 3
+ .short _02065620 - _020655FC - 2; case 4
+ .short _02065608 - _020655FC - 2; case 5
+_02065608:
ldr r1, _0206563C ; =FUN_02065674
ldr r2, _02065640 ; =FUN_020654B0
add r0, r4, #0x0
bl FUN_02065FE4
pop {r4-r6, pc}
_02065614:
- .byte 0x0C, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xE3, 0xFC, 0x70, 0xBD
- .byte 0x0A, 0x49, 0x0B, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xFC, 0x70, 0xBD
+ ldr r1, _02065648 ; =FUN_02065710
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ pop {r4-r6, pc}
+_02065620:
+ ldr r1, _0206564C ; =FUN_02065894
+ ldr r2, _02065650 ; =FUN_02065938
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ pop {r4-r6, pc}
_0206562C:
ldr r1, _02065654 ; =FUN_02065690
add r0, r6, #0x0
@@ -191140,9 +213545,9 @@ _02065638: .word 0x021C48B8
_0206563C: .word FUN_02065674 + 1
_02065640: .word FUN_020654B0 + 1
_02065644: .word 0x000005DC
-_02065648:
- .byte 0x11, 0x57, 0x06, 0x02, 0x95, 0x58, 0x06, 0x02
- .byte 0x39, 0x59, 0x06, 0x02
+_02065648: .word FUN_02065710 + 1
+_0206564C: .word FUN_02065894 + 1
+_02065650: .word FUN_02065938 + 1
_02065654: .word FUN_02065690 + 1
thumb_func_start FUN_02065658
@@ -191187,10 +213592,12 @@ FUN_02065690: ; 0x02065690
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r3, #0
- lsl r0, r5, #0
- lsl r4, r6, #0
+_020656A8: ; jump table (using 16-bit offset)
+ .short _020656B0 - _020656A8 - 2; case 0
+ .short _020656C6 - _020656A8 - 2; case 1
+ .short _020656D2 - _020656A8 - 2; case 2
+ .short _020656DE - _020656A8 - 2; case 3
+_020656B0:
add r0, r4, #0x0
mov r1, #0x0
bl FUN_02066578
@@ -191201,19 +213608,41 @@ FUN_02065690: ; 0x02065690
bl FUN_02066634
b _02065704
_020656C6:
- .byte 0x20, 0x1C, 0x01, 0xF0, 0x2E, 0xF8, 0x00, 0x28, 0x19, 0xD1
- .byte 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x74, 0xFF, 0x00, 0x28, 0x13, 0xD1, 0x38, 0xBD, 0x20, 0x1C
- .byte 0x01, 0x21, 0x00, 0xF0, 0x49, 0xFF, 0x00, 0x28, 0x0F, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x22, 0xFE
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xFF, 0xF9, 0x00, 0x20, 0x20, 0x82, 0x04, 0x49, 0x28, 0x1C, 0xB5, 0xF7
- .byte 0xE1, 0xFF, 0x38, 0xBD
+ add r0, r4, #0x0
+ bl FUN_02066728
+ cmp r0, #0x0
+ bne _02065704
+ pop {r3-r5, pc}
+_020656D2:
+ add r0, r4, #0x0
+ bl FUN_020665C0
+ cmp r0, #0x0
+ bne _02065704
+ pop {r3-r5, pc}
+_020656DE:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _0206570A
+ add r0, r4, #0x0
+ bl FUN_02066334
+ add r0, r4, #0x0
+ bl FUN_02065AF4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ ldr r1, _0206570C ; =FUN_020654D0
+ add r0, r5, #0x0
+ bl FUN_0201B6C4
+ pop {r3-r5, pc}
_02065704:
ldrh r0, [r4, #0x10]
add r0, r0, #0x1
strh r0, [r4, #0x10]
_0206570A:
pop {r3-r5, pc}
-_0206570C:
- .byte 0xD1, 0x54, 0x06, 0x02
+ .balign 4
+_0206570C: .word FUN_020654D0 + 1
thumb_func_start FUN_02065710
FUN_02065710: ; 0x02065710
@@ -191229,12 +213658,14 @@ FUN_02065710: ; 0x02065710
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r3, #0
- lsl r4, r5, #0
- lsl r6, r2, #0x1
- lsl r6, r5, #0x1
- lsl r0, r0, #0x2
+_02065728: ; jump table (using 16-bit offset)
+ .short _02065734 - _02065728 - 2; case 0
+ .short _02065744 - _02065728 - 2; case 1
+ .short _02065756 - _02065728 - 2; case 2
+ .short _02065780 - _02065728 - 2; case 3
+ .short _02065798 - _02065728 - 2; case 4
+ .short _020657AA - _02065728 - 2; case 5
+_02065734:
mov r1, #0x1
str r1, [sp, #0x0]
ldrb r2, [r4, #0x16]
@@ -191243,25 +213674,88 @@ FUN_02065710: ; 0x02065710
bl FUN_02066404
b _020657DA
_02065744:
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xD5, 0xFE, 0x00, 0x28, 0x48, 0xD0, 0x20, 0x1C
- .byte 0x00, 0xF0, 0xE6, 0xFE, 0x41, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xF8, 0xFE, 0x00, 0x28, 0x3F, 0xDB
- .byte 0x0A, 0xD0, 0x00, 0x23, 0x00, 0x93, 0xA2, 0x7D, 0x20, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0x4A, 0xFE
- .byte 0x04, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD, 0x03, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xA9, 0xFE, 0x17, 0x49, 0x17, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0x2A, 0xFC
- .byte 0x00, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xFE, 0x00, 0x28
- .byte 0x1E, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xBC, 0xFE, 0x17, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xCE, 0xFE
- .byte 0x00, 0x28, 0x15, 0xDB, 0x05, 0xD0, 0x0D, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x12, 0xFC
- .byte 0x04, 0xE0, 0x0B, 0x49, 0x07, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0x0C, 0xFC, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x83, 0xFE, 0x00, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ beq _020657E0
+ add r0, r4, #0x0
+ bl FUN_02066520
+ b _020657DA
+_02065756:
+ add r0, r4, #0x0
+ bl FUN_0206654C
+ cmp r0, #0x0
+ blt _020657E0
+ beq _02065778
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02066404
+ mov r0, #0x4
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_02065778:
+ mov r0, #0x3
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_02065780:
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ ldr r1, _020657E4 ; =FUN_02065674
+ ldr r2, _020657E8 ; =FUN_020654B0
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_02065798:
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ beq _020657E0
+ add r0, r4, #0x0
+ bl FUN_02066520
+ b _020657DA
+_020657AA:
+ add r0, r4, #0x0
+ bl FUN_0206654C
+ cmp r0, #0x0
+ blt _020657E0
+ beq _020657C2
+ ldr r1, _020657EC ; =FUN_020659B8
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ b _020657CC
+_020657C2:
+ ldr r1, _020657F0 ; =FUN_020657F4
+ ldr r2, _020657E4 ; =FUN_02065674
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+_020657CC:
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ mov r0, #0x0
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
_020657DA:
ldrh r0, [r4, #0x10]
add r0, r0, #0x1
strh r0, [r4, #0x10]
+_020657E0:
add sp, #0x4
pop {r3-r4, pc}
-_020657E4:
- .byte 0x75, 0x56, 0x06, 0x02, 0xB1, 0x54, 0x06, 0x02, 0xB9, 0x59, 0x06, 0x02
- .byte 0xF5, 0x57, 0x06, 0x02
+ .balign 4
+_020657E4: .word FUN_02065674 + 1
+_020657E8: .word FUN_020654B0 + 1
+_020657EC: .word FUN_020659B8 + 1
+_020657F0: .word FUN_020657F4 + 1
thumb_func_start FUN_020657F4
FUN_020657F4: ; 0x020657F4
@@ -191356,10 +213850,12 @@ FUN_02065894: ; 0x02065894
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r4, r3, #0
- lsl r2, r5, #0
- lsl r6, r6, #0
+_020658AA: ; jump table (using 16-bit offset)
+ .short _020658B2 - _020658AA - 2; case 0
+ .short _020658C8 - _020658AA - 2; case 1
+ .short _020658D6 - _020658AA - 2; case 2
+ .short _020658E2 - _020658AA - 2; case 3
+_020658B2:
add r0, r4, #0x0
mov r1, #0x0
bl FUN_02066578
@@ -191370,21 +213866,60 @@ FUN_02065894: ; 0x02065894
bl FUN_02066634
b _0206592C
_020658C8:
- .byte 0x20, 0x1C, 0x0E, 0x21, 0x00, 0xF0, 0xCA, 0xFE
- .byte 0x00, 0x28, 0x2B, 0xD1, 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x72, 0xFE, 0x00, 0x28, 0x25, 0xD1
- .byte 0x38, 0xBD, 0x20, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x47, 0xFE, 0x00, 0x28, 0x21, 0xD0, 0x6D, 0x20
- .byte 0x80, 0x00, 0x20, 0x58, 0x01, 0x1C, 0x22, 0x31, 0x0D, 0x78, 0xB1, 0xF7, 0x8D, 0xF8, 0x07, 0x2D
- .byte 0x07, 0xD1, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x6C, 0xFB, 0x00, 0x20, 0x20, 0x82
- .byte 0x38, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x6E, 0xFC, 0x05, 0x49, 0x20, 0x1C
- .byte 0x00, 0x22, 0x00, 0xF0, 0x5F, 0xFB, 0x00, 0x20, 0x20, 0x82, 0x38, 0xBD
+ add r0, r4, #0x0
+ mov r1, #0xe
+ bl FUN_02066664
+ cmp r0, #0x0
+ bne _0206592C
+ pop {r3-r5, pc}
+_020658D6:
+ add r0, r4, #0x0
+ bl FUN_020665C0
+ cmp r0, #0x0
+ bne _0206592C
+ pop {r3-r5, pc}
+_020658E2:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _02065932
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r0, #0x0
+ add r1, #0x22
+ ldrb r5, [r1, #0x0]
+ bl FUN_02016A18
+ cmp r5, #0x7
+ bne _02065912
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ pop {r3-r5, pc}
+_02065912:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020661F8
+ ldr r1, _02065934 ; =FUN_020654B0
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ pop {r3-r5, pc}
_0206592C:
ldrh r0, [r4, #0x10]
add r0, r0, #0x1
strh r0, [r4, #0x10]
_02065932:
pop {r3-r5, pc}
-_02065934:
- .byte 0xB1, 0x54, 0x06, 0x02
+ .balign 4
+_02065934: .word FUN_020654B0 + 1
thumb_func_start FUN_02065938
FUN_02065938: ; 0x02065938
@@ -191464,12 +213999,14 @@ _020659C4:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r2, #0x1
- lsl r6, r2, #0x2
- lsl r4, r6, #0x2
- lsl r6, r4, #0x3
- lsl r2, r6, #0x3
+_020659D0: ; jump table (using 16-bit offset)
+ .short _020659DC - _020659D0 - 2; case 0
+ .short _02065A24 - _020659D0 - 2; case 1
+ .short _02065A68 - _020659D0 - 2; case 2
+ .short _02065A86 - _020659D0 - 2; case 3
+ .short _02065AB8 - _020659D0 - 2; case 4
+ .short _02065AC4 - _020659D0 - 2; case 5
+_020659DC:
add r0, r4, #0x0
mov r1, #0x0
bl FUN_02066578
@@ -191505,18 +214042,98 @@ _02065A1A:
strb r2, [r4, r1]
b _02065AE0
_02065A24:
- .byte 0x20, 0x1C, 0x09, 0x21, 0x00, 0xF0, 0x1C, 0xFE, 0x00, 0x28, 0x5A, 0xD0
- .byte 0x6D, 0x20, 0x80, 0x00, 0x20, 0x58, 0x01, 0x1C, 0x22, 0x31, 0x0D, 0x78, 0x01, 0x1C, 0x23, 0x31
- .byte 0x0E, 0x78, 0xB0, 0xF7, 0xE9, 0xFF, 0x06, 0x2E, 0x01, 0xD1, 0x07, 0x2D, 0x04, 0xD1, 0x27, 0x48
- .byte 0xE0, 0x60, 0x04, 0x20, 0x20, 0x82, 0x70, 0xBD, 0xE5, 0x75, 0x21, 0x7E, 0x0C, 0x20, 0x00, 0x22
- .byte 0x48, 0x43, 0x20, 0x18, 0x42, 0x77, 0x3B, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x5D, 0xFE, 0x00, 0x28
- .byte 0x39, 0xD0, 0x01, 0x28, 0x04, 0xD1, 0x1D, 0x48, 0xE0, 0x60, 0x04, 0x20, 0x20, 0x82, 0x70, 0xBD
- .byte 0x1B, 0x48, 0xE0, 0x60, 0x2C, 0xE0, 0x20, 0x1C, 0x0B, 0x21, 0x00, 0xF0, 0xEB, 0xFD, 0x00, 0x28
- .byte 0x29, 0xD0, 0x6D, 0x20, 0x80, 0x00, 0x20, 0x58, 0xB0, 0xF7, 0xBE, 0xFF, 0x12, 0x4A, 0xE1, 0x7D
- .byte 0xA2, 0x5C, 0x20, 0x1C, 0x12, 0x06, 0x92, 0x0F, 0x00, 0xF0, 0xA6, 0xFB, 0x0E, 0x49, 0xC0, 0x20
- .byte 0x62, 0x5C, 0x82, 0x43, 0x62, 0x54, 0x13, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x81, 0xFD, 0x00, 0x28
- .byte 0x0E, 0xD1, 0x70, 0xBD, 0x20, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x56, 0xFD, 0x00, 0x28, 0x0A, 0xD0
- .byte 0xE1, 0x68, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x85, 0xFA, 0x00, 0x20, 0x20, 0x82, 0x70, 0xBD
+ add r0, r4, #0x0
+ mov r1, #0x9
+ bl FUN_02066664
+ cmp r0, #0x0
+ beq _02065AE6
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r0, #0x0
+ add r1, #0x22
+ ldrb r5, [r1, #0x0]
+ add r1, r0, #0x0
+ add r1, #0x23
+ ldrb r6, [r1, #0x0]
+ bl FUN_02016A18
+ cmp r6, #0x6
+ bne _02065A4E
+ cmp r5, #0x7
+ bne _02065A58
+_02065A4E:
+ ldr r0, _02065AEC ; =FUN_020657F4
+ str r0, [r4, #0xc]
+ mov r0, #0x4
+ strh r0, [r4, #0x10]
+ pop {r4-r6, pc}
+_02065A58:
+ strb r5, [r4, #0x17]
+ ldrb r1, [r4, #0x18]
+ mov r0, #0xc
+ mov r2, #0x0
+ mul r0, r1
+ add r0, r4, r0
+ strb r2, [r0, #0x1d]
+ b _02065AE0
+_02065A68:
+ add r0, r4, #0x0
+ bl FUN_02066728
+ cmp r0, #0x0
+ beq _02065AE6
+ cmp r0, #0x1
+ bne _02065A80
+ ldr r0, _02065AEC ; =FUN_020657F4
+ str r0, [r4, #0xc]
+ mov r0, #0x4
+ strh r0, [r4, #0x10]
+ pop {r4-r6, pc}
+_02065A80:
+ ldr r0, _02065AF0 ; =FUN_020654B0
+ str r0, [r4, #0xc]
+ b _02065AE0
+_02065A86:
+ add r0, r4, #0x0
+ mov r1, #0xb
+ bl FUN_02066664
+ cmp r0, #0x0
+ beq _02065AE6
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ ldr r2, _02065AE8 ; =0x0000013B
+ ldrb r1, [r4, #0x17]
+ ldrb r2, [r4, r2]
+ add r0, r4, #0x0
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x1e
+ bl FUN_020661F8
+ ldr r1, _02065AE8 ; =0x0000013B
+ mov r0, #0xc0
+ ldrb r2, [r4, r1]
+ bic r2, r0
+ strb r2, [r4, r1]
+ b _02065AE0
+_02065AB8:
+ add r0, r4, #0x0
+ bl FUN_020665C0
+ cmp r0, #0x0
+ bne _02065AE0
+ pop {r4-r6, pc}
+_02065AC4:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _02065AE6
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ pop {r4-r6, pc}
_02065AE0:
ldrh r0, [r4, #0x10]
add r0, r0, #0x1
@@ -191525,9 +214142,8 @@ _02065AE6:
pop {r4-r6, pc}
.balign 4
_02065AE8: .word 0x0000013B
-_02065AEC:
- .byte 0xF5, 0x57, 0x06, 0x02
- .byte 0xB1, 0x54, 0x06, 0x02
+_02065AEC: .word FUN_020657F4 + 1
+_02065AF0: .word FUN_020654B0 + 1
thumb_func_start FUN_02065AF4
FUN_02065AF4: ; 0x02065AF4
@@ -194409,28 +217025,71 @@ FUN_02067234: ; 0x02067234
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r6, r2, #0
- lsl r4, r3, #0
- lsl r2, r4, #0
- lsl r0, r5, #0
- lsl r6, r5, #0
- lsl r4, r6, #0
- lsl r2, r7, #0
- lsl r0, r0, #0x1
- lsl r6, r0, #0x1
- lsl r4, r1, #0x1
- lsl r2, r2, #0x1
- lsl r6, r3, #0x1
+_0206724A: ; jump table (using 16-bit offset)
+ .short _02067262 - _0206724A - 2; case 0
+ .short _02067268 - _0206724A - 2; case 1
+ .short _0206726E - _0206724A - 2; case 2
+ .short _02067274 - _0206724A - 2; case 3
+ .short _0206727A - _0206724A - 2; case 4
+ .short _02067280 - _0206724A - 2; case 5
+ .short _02067286 - _0206724A - 2; case 6
+ .short _0206728C - _0206724A - 2; case 7
+ .short _02067292 - _0206724A - 2; case 8
+ .short _02067298 - _0206724A - 2; case 9
+ .short _0206729E - _0206724A - 2; case 10
+ .short _020672AA - _0206724A - 2; case 11
+_02067262:
add r0, #0x88
ldr r0, [r0, #0x0]
pop {r3, pc}
_02067268:
- .byte 0x8C, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x8D, 0x30
- .byte 0x00, 0x78, 0x08, 0xBD, 0x8E, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x90, 0x30, 0x00, 0x88, 0x08, 0xBD
- .byte 0x92, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x94, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x96, 0x30, 0x00, 0x88
- .byte 0x08, 0xBD, 0x98, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x9A, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x9C, 0x30
- .byte 0x11, 0x1C, 0xBE, 0xF7, 0x15, 0xFA, 0x01, 0x20, 0x08, 0xBD, 0xD4, 0x30, 0x11, 0x1C, 0xC2, 0xF7
- .byte 0xE1, 0xFC, 0x01, 0x20, 0x08, 0xBD
+ add r0, #0x8c
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_0206726E:
+ add r0, #0x8d
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_02067274:
+ add r0, #0x8e
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206727A:
+ add r0, #0x90
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067280:
+ add r0, #0x92
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067286:
+ add r0, #0x94
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206728C:
+ add r0, #0x96
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067292:
+ add r0, #0x98
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067298:
+ add r0, #0x9a
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206729E:
+ add r0, #0x9c
+ add r1, r2, #0x0
+ bl FUN_020256D0
+ mov r0, #0x1
+ pop {r3, pc}
+_020672AA:
+ add r0, #0xd4
+ add r1, r2, #0x0
+ bl FUN_02029C74
+ mov r0, #0x1
+ pop {r3, pc}
_020672B6:
bl FUN_0206731C
pop {r3, pc}
@@ -194526,248 +217185,684 @@ _02067366:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r5, #0x5
- lsl r6, r5, #0x5
- lsl r0, r7, #0x5
- lsl r2, r0, #0x6
- lsl r4, r1, #0x6
- lsl r0, r3, #0x7
- lsl r2, r5, #0x7
- lsl r6, r5, #0x7
- lsl r2, r6, #0x7
- lsl r6, r6, #0x7
- lsl r2, r7, #0x7
- lsl r6, r7, #0x7
- lsl r2, r0, #0x8
- lsl r6, r0, #0x8
- lsl r2, r1, #0x8
- lsl r6, r1, #0x8
- lsl r2, r2, #0x8
- lsl r6, r2, #0x8
- lsl r2, r3, #0x8
- lsl r6, r3, #0x8
- lsl r2, r4, #0x8
- lsl r6, r4, #0x8
- lsl r2, r5, #0x8
- lsl r6, r5, #0x8
- lsl r2, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r6, r6, #0x8
- lsl r4, r3, #0x9
- lsl r4, r3, #0x9
- lsl r4, r3, #0x9
- lsl r4, r3, #0x9
- lsl r0, r5, #0x9
- lsl r0, r5, #0x9
- lsl r0, r5, #0x9
- lsl r0, r5, #0x9
- lsl r4, r6, #0x9
- lsl r4, r6, #0x9
- lsl r4, r6, #0x9
- lsl r4, r6, #0x9
- lsl r0, r0, #0xa
- lsl r0, r0, #0xa
- lsl r0, r0, #0xa
- lsl r0, r0, #0xa
- lsl r0, r3, #0xa
- lsl r0, r4, #0xa
- lsl r0, r5, #0xa
- lsl r0, r6, #0xa
- lsl r0, r7, #0xa
- lsl r0, r0, #0xb
- lsl r0, r1, #0xb
- lsl r2, r3, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r4, #0xb
- lsl r0, r1, #0xc
- lsl r0, r2, #0xc
- lsl r0, r3, #0xc
- lsl r0, r4, #0xc
- lsl r4, r4, #0xc
- lsl r4, r4, #0x5
- lsl r0, r5, #0xc
- lsl r4, r4, #0x5
- lsl r4, r3, #0xd
- lsl r0, r3, #0xd
- lsl r2, r1, #0xe
- lsl r6, r1, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r2, r2, #0xe
- lsl r0, r7, #0xe
- lsl r2, r2, #0xf
- lsl r2, r3, #0xf
- lsl r6, r3, #0xf
- lsl r2, r4, #0xf
- lsl r6, r4, #0xf
- lsl r2, r5, #0xf
- lsl r6, r5, #0xf
- lsl r2, r6, #0xf
- lsl r6, r6, #0xf
- lsl r2, r7, #0xf
- lsl r6, r7, #0xf
- lsl r2, r0, #0x10
- lsl r2, r1, #0x10
- lsl r2, r2, #0x10
- lsl r6, r2, #0x10
- lsl r4, r4, #0x5
- lsl r4, r1, #0x7
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r4, r4, #0x5
- lsl r2, r2, #0x6
- lsl r4, r3, #0x6
- lsl r6, r5, #0x6
- lsl r2, r3, #0x10
- lsl r4, r1, #0x11
- lsl r4, r4, #0x11
- lsl r4, r4, #0x11
- lsl r4, r3, #0x12
+_02067372: ; jump table (using 16-bit offset)
+ .short _020674DC - _02067372 - 2; case 0
+ .short _020674E2 - _02067372 - 2; case 1
+ .short _020674EC - _02067372 - 2; case 2
+ .short _020674F6 - _02067372 - 2; case 3
+ .short _02067500 - _02067372 - 2; case 4
+ .short _0206754C - _02067372 - 2; case 5
+ .short _0206755E - _02067372 - 2; case 6
+ .short _02067562 - _02067372 - 2; case 7
+ .short _02067566 - _02067372 - 2; case 8
+ .short _0206756A - _02067372 - 2; case 9
+ .short _0206756E - _02067372 - 2; case 10
+ .short _02067572 - _02067372 - 2; case 11
+ .short _02067576 - _02067372 - 2; case 12
+ .short _0206757A - _02067372 - 2; case 13
+ .short _0206757E - _02067372 - 2; case 14
+ .short _02067582 - _02067372 - 2; case 15
+ .short _02067586 - _02067372 - 2; case 16
+ .short _0206758A - _02067372 - 2; case 17
+ .short _0206758E - _02067372 - 2; case 18
+ .short _02067592 - _02067372 - 2; case 19
+ .short _02067596 - _02067372 - 2; case 20
+ .short _0206759A - _02067372 - 2; case 21
+ .short _0206759E - _02067372 - 2; case 22
+ .short _020675A2 - _02067372 - 2; case 23
+ .short _020675A6 - _02067372 - 2; case 24
+ .short _020675AA - _02067372 - 2; case 25
+ .short _020675AA - _02067372 - 2; case 26
+ .short _020675AA - _02067372 - 2; case 27
+ .short _020675AA - _02067372 - 2; case 28
+ .short _020675AA - _02067372 - 2; case 29
+ .short _020675AA - _02067372 - 2; case 30
+ .short _020675AA - _02067372 - 2; case 31
+ .short _020675AA - _02067372 - 2; case 32
+ .short _020675AA - _02067372 - 2; case 33
+ .short _020675AA - _02067372 - 2; case 34
+ .short _020675AA - _02067372 - 2; case 35
+ .short _020675AA - _02067372 - 2; case 36
+ .short _020675AA - _02067372 - 2; case 37
+ .short _020675AA - _02067372 - 2; case 38
+ .short _020675AA - _02067372 - 2; case 39
+ .short _020675AA - _02067372 - 2; case 40
+ .short _020675AA - _02067372 - 2; case 41
+ .short _020675AA - _02067372 - 2; case 42
+ .short _020675AA - _02067372 - 2; case 43
+ .short _020675AA - _02067372 - 2; case 44
+ .short _020675AA - _02067372 - 2; case 45
+ .short _020675AA - _02067372 - 2; case 46
+ .short _020675AA - _02067372 - 2; case 47
+ .short _020675AA - _02067372 - 2; case 48
+ .short _020675AA - _02067372 - 2; case 49
+ .short _020675AA - _02067372 - 2; case 50
+ .short _020675AA - _02067372 - 2; case 51
+ .short _020675AA - _02067372 - 2; case 52
+ .short _020675AA - _02067372 - 2; case 53
+ .short _020675D0 - _02067372 - 2; case 54
+ .short _020675D0 - _02067372 - 2; case 55
+ .short _020675D0 - _02067372 - 2; case 56
+ .short _020675D0 - _02067372 - 2; case 57
+ .short _020675DC - _02067372 - 2; case 58
+ .short _020675DC - _02067372 - 2; case 59
+ .short _020675DC - _02067372 - 2; case 60
+ .short _020675DC - _02067372 - 2; case 61
+ .short _020675E8 - _02067372 - 2; case 62
+ .short _020675E8 - _02067372 - 2; case 63
+ .short _020675E8 - _02067372 - 2; case 64
+ .short _020675E8 - _02067372 - 2; case 65
+ .short _020675F4 - _02067372 - 2; case 66
+ .short _020675F4 - _02067372 - 2; case 67
+ .short _020675F4 - _02067372 - 2; case 68
+ .short _020675F4 - _02067372 - 2; case 69
+ .short _0206760C - _02067372 - 2; case 70
+ .short _02067614 - _02067372 - 2; case 71
+ .short _0206761C - _02067372 - 2; case 72
+ .short _02067624 - _02067372 - 2; case 73
+ .short _0206762C - _02067372 - 2; case 74
+ .short _02067634 - _02067372 - 2; case 75
+ .short _0206763C - _02067372 - 2; case 76
+ .short _0206764E - _02067372 - 2; case 77
+ .short _02067654 - _02067372 - 2; case 78
+ .short _02067654 - _02067372 - 2; case 79
+ .short _02067654 - _02067372 - 2; case 80
+ .short _02067654 - _02067372 - 2; case 81
+ .short _02067654 - _02067372 - 2; case 82
+ .short _02067654 - _02067372 - 2; case 83
+ .short _02067654 - _02067372 - 2; case 84
+ .short _02067654 - _02067372 - 2; case 85
+ .short _02067654 - _02067372 - 2; case 86
+ .short _02067654 - _02067372 - 2; case 87
+ .short _02067654 - _02067372 - 2; case 88
+ .short _02067654 - _02067372 - 2; case 89
+ .short _02067654 - _02067372 - 2; case 90
+ .short _02067654 - _02067372 - 2; case 91
+ .short _02067654 - _02067372 - 2; case 92
+ .short _02067654 - _02067372 - 2; case 93
+ .short _02067654 - _02067372 - 2; case 94
+ .short _02067654 - _02067372 - 2; case 95
+ .short _02067654 - _02067372 - 2; case 96
+ .short _02067654 - _02067372 - 2; case 97
+ .short _02067654 - _02067372 - 2; case 98
+ .short _02067654 - _02067372 - 2; case 99
+ .short _02067654 - _02067372 - 2; case 100
+ .short _02067654 - _02067372 - 2; case 101
+ .short _02067654 - _02067372 - 2; case 102
+ .short _02067654 - _02067372 - 2; case 103
+ .short _02067654 - _02067372 - 2; case 104
+ .short _02067654 - _02067372 - 2; case 105
+ .short _02067654 - _02067372 - 2; case 106
+ .short _02067654 - _02067372 - 2; case 107
+ .short _02067654 - _02067372 - 2; case 108
+ .short _02067654 - _02067372 - 2; case 109
+ .short _0206767C - _02067372 - 2; case 110
+ .short _02067684 - _02067372 - 2; case 111
+ .short _0206768C - _02067372 - 2; case 112
+ .short _02067694 - _02067372 - 2; case 113
+ .short _02067698 - _02067372 - 2; case 114
+ .short _020674D8 - _02067372 - 2; case 115
+ .short _0206769C - _02067372 - 2; case 116
+ .short _020674D8 - _02067372 - 2; case 117
+ .short _020676D0 - _02067372 - 2; case 118
+ .short _020676CC - _02067372 - 2; case 119
+ .short _020676FE - _02067372 - 2; case 120
+ .short _02067702 - _02067372 - 2; case 121
+ .short _02067706 - _02067372 - 2; case 122
+ .short _02067706 - _02067372 - 2; case 123
+ .short _02067706 - _02067372 - 2; case 124
+ .short _02067706 - _02067372 - 2; case 125
+ .short _02067706 - _02067372 - 2; case 126
+ .short _02067706 - _02067372 - 2; case 127
+ .short _02067706 - _02067372 - 2; case 128
+ .short _02067706 - _02067372 - 2; case 129
+ .short _02067706 - _02067372 - 2; case 130
+ .short _02067706 - _02067372 - 2; case 131
+ .short _02067706 - _02067372 - 2; case 132
+ .short _02067706 - _02067372 - 2; case 133
+ .short _02067706 - _02067372 - 2; case 134
+ .short _02067706 - _02067372 - 2; case 135
+ .short _02067706 - _02067372 - 2; case 136
+ .short _02067706 - _02067372 - 2; case 137
+ .short _02067706 - _02067372 - 2; case 138
+ .short _02067706 - _02067372 - 2; case 139
+ .short _02067706 - _02067372 - 2; case 140
+ .short _02067706 - _02067372 - 2; case 141
+ .short _02067706 - _02067372 - 2; case 142
+ .short _0206772C - _02067372 - 2; case 143
+ .short _02067746 - _02067372 - 2; case 144
+ .short _0206774E - _02067372 - 2; case 145
+ .short _02067752 - _02067372 - 2; case 146
+ .short _02067756 - _02067372 - 2; case 147
+ .short _0206775A - _02067372 - 2; case 148
+ .short _0206775E - _02067372 - 2; case 149
+ .short _02067762 - _02067372 - 2; case 150
+ .short _02067766 - _02067372 - 2; case 151
+ .short _0206776A - _02067372 - 2; case 152
+ .short _0206776E - _02067372 - 2; case 153
+ .short _02067772 - _02067372 - 2; case 154
+ .short _02067776 - _02067372 - 2; case 155
+ .short _0206777E - _02067372 - 2; case 156
+ .short _02067786 - _02067372 - 2; case 157
+ .short _0206778A - _02067372 - 2; case 158
+ .short _020674D8 - _02067372 - 2; case 159
+ .short _02067540 - _02067372 - 2; case 160
+ .short _020674D8 - _02067372 - 2; case 161
+ .short _020674D8 - _02067372 - 2; case 162
+ .short _020674D8 - _02067372 - 2; case 163
+ .short _020674D8 - _02067372 - 2; case 164
+ .short _020674D8 - _02067372 - 2; case 165
+ .short _020674D8 - _02067372 - 2; case 166
+ .short _020674D8 - _02067372 - 2; case 167
+ .short _020674D8 - _02067372 - 2; case 168
+ .short _020674D8 - _02067372 - 2; case 169
+ .short _020674D8 - _02067372 - 2; case 170
+ .short _02067506 - _02067372 - 2; case 171
+ .short _02067510 - _02067372 - 2; case 172
+ .short _02067522 - _02067372 - 2; case 173
+ .short _0206778E - _02067372 - 2; case 174
+ .short _020677C0 - _02067372 - 2; case 175
+ .short _020677D8 - _02067372 - 2; case 176
+ .short _020677D8 - _02067372 - 2; case 177
+ .short _02067810 - _02067372 - 2; case 178
_020674D8:
mov r4, #0x0
b _0206781A
_020674DC:
- .byte 0x00, 0x98, 0x04, 0x68
- .byte 0x9B, 0xE1, 0x00, 0x98, 0x80, 0x88, 0xC0, 0x07, 0xC4, 0x0F, 0x96, 0xE1, 0x00, 0x98, 0x80, 0x88
- .byte 0x80, 0x07, 0xC4, 0x0F, 0x91, 0xE1, 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC4, 0x0F, 0x8C, 0xE1
- .byte 0x00, 0x98, 0xC4, 0x88, 0x89, 0xE1, 0x28, 0x88, 0x00, 0x28, 0x16, 0xD0, 0x01, 0x24, 0x84, 0xE1
- .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC4, 0x0F, 0x0F, 0xD1, 0x30, 0x69, 0x40, 0x00, 0xC4, 0x0F
- .byte 0x7B, 0xE1, 0x2C, 0x88, 0x00, 0x2C, 0x08, 0xD0, 0x30, 0x69, 0x40, 0x00, 0xC0, 0x0F, 0x05, 0xD1
- .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x00, 0xD1, 0x6E, 0xE1, 0xB8, 0x4C, 0x6C, 0xE1
- .byte 0x28, 0x88, 0xA9, 0x68, 0x01, 0xF0, 0x5C, 0xF9, 0x04, 0x1C, 0x66, 0xE1, 0x00, 0x98, 0x80, 0x88
- .byte 0x40, 0x07, 0xC0, 0x0F, 0x01, 0xD0, 0xB2, 0x4C, 0x5F, 0xE1, 0x2C, 0x88, 0x5D, 0xE1, 0x6C, 0x88
- .byte 0x5B, 0xE1, 0x6C, 0x68, 0x59, 0xE1, 0xAC, 0x68, 0x57, 0xE1, 0x2C, 0x7B, 0x55, 0xE1, 0x6C, 0x7B
- .byte 0x53, 0xE1, 0xAC, 0x7B, 0x51, 0xE1, 0xEC, 0x7B, 0x4F, 0xE1, 0x2C, 0x7C, 0x4D, 0xE1, 0x6C, 0x7C
- .byte 0x4B, 0xE1, 0xAC, 0x7C, 0x49, 0xE1, 0xEC, 0x7C, 0x47, 0xE1, 0x2C, 0x7D, 0x45, 0xE1, 0x6C, 0x7D
- .byte 0x43, 0xE1, 0xAC, 0x7D, 0x41, 0xE1, 0xEC, 0x7D, 0x3F, 0xE1, 0x2C, 0x7E, 0x3D, 0xE1, 0x6C, 0x7E
- .byte 0x3B, 0xE1, 0xAC, 0x7E, 0x39, 0xE1, 0xEC, 0x7E, 0x37, 0xE1, 0x01, 0x9A, 0x01, 0x20, 0x19, 0x3A
- .byte 0x21, 0x1C, 0x01, 0x92, 0x84, 0xF0, 0x4C, 0xEB, 0xEA, 0x69, 0x23, 0x1C, 0x0B, 0x40, 0x02, 0x40
- .byte 0x00, 0x21, 0x00, 0x20, 0x59, 0x40, 0x50, 0x40, 0x08, 0x43, 0x54, 0xD0, 0x01, 0x24, 0x24, 0xE1
- .byte 0x01, 0x98, 0x36, 0x38, 0x01, 0x90, 0x40, 0x00, 0x34, 0x5A, 0x1E, 0xE1, 0x01, 0x98, 0x3A, 0x38
- .byte 0x01, 0x90, 0x30, 0x18, 0x04, 0x7A, 0x18, 0xE1, 0x01, 0x98, 0x3E, 0x38, 0x01, 0x90, 0x30, 0x18
- .byte 0x04, 0x7B, 0x12, 0xE1, 0x01, 0x98, 0x42, 0x38, 0x01, 0x90, 0x01, 0x99, 0x40, 0x00, 0x71, 0x18
- .byte 0x30, 0x5A, 0x09, 0x7B, 0x03, 0xF0, 0x94, 0xFA, 0x04, 0x1C, 0x06, 0xE1, 0x30, 0x69, 0xC0, 0x06
- .byte 0xC4, 0x0E, 0x02, 0xE1, 0x30, 0x69, 0x80, 0x05, 0xC4, 0x0E, 0xFE, 0xE0, 0x30, 0x69, 0x40, 0x04
- .byte 0xC4, 0x0E, 0xFA, 0xE0, 0x30, 0x69, 0x00, 0x03, 0xC4, 0x0E, 0xF6, 0xE0, 0x30, 0x69, 0xC0, 0x01
- .byte 0xC4, 0x0E, 0xF2, 0xE0, 0x30, 0x69, 0x80, 0x00, 0xC4, 0x0E, 0xEE, 0xE0, 0x00, 0x98, 0x80, 0x88
- .byte 0x40, 0x07, 0xC4, 0x0F, 0x17, 0xD1, 0x30, 0x69, 0x40, 0x00, 0xC4, 0x0F, 0xE5, 0xE0, 0x30, 0x69
- .byte 0xC4, 0x0F, 0xE2, 0xE0, 0x01, 0x9A, 0x01, 0x20, 0x4E, 0x3A, 0x21, 0x1C, 0x01, 0x92, 0x84, 0xF0
- .byte 0xF8, 0xEA, 0x72, 0x69, 0x23, 0x1C, 0x0B, 0x40, 0x02, 0x40, 0x00, 0x21, 0x00, 0x20, 0x59, 0x40
- .byte 0x50, 0x40, 0x08, 0x43, 0x00, 0xD1, 0xD0, 0xE0, 0x01, 0x24, 0xCE, 0xE0, 0x30, 0x7E, 0xC0, 0x07
- .byte 0xC4, 0x0F, 0xCA, 0xE0, 0x30, 0x7E, 0x40, 0x07, 0x84, 0x0F, 0xC6, 0xE0, 0x30, 0x7E, 0x00, 0x06
- .byte 0xC4, 0x0E, 0xC2, 0xE0, 0x74, 0x7E, 0xC0, 0xE0, 0x74, 0x8B, 0xBE, 0xE0, 0x00, 0x98, 0x80, 0x88
- .byte 0x40, 0x07, 0xC0, 0x0F, 0x05, 0xD0, 0x5F, 0x48, 0x02, 0x9A, 0x21, 0x1C, 0xA3, 0xF7, 0x76, 0xF9
- .byte 0xB3, 0xE0, 0x02, 0x99, 0x38, 0x88, 0x64, 0x1C, 0xBF, 0x1C, 0x08, 0x80, 0x89, 0x1C, 0x0A, 0x2C
- .byte 0xF8, 0xD3, 0x59, 0x4A, 0x02, 0x98, 0x61, 0x00, 0x42, 0x52, 0xA6, 0xE0, 0x30, 0x69, 0xC4, 0x0F
- .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x0C, 0xD0, 0x52, 0x48, 0x00, 0x21, 0xA3, 0xF7
- .byte 0xB7, 0xF9, 0x05, 0x1C, 0x02, 0x98, 0x29, 0x1C, 0xBA, 0xF7, 0xC4, 0xF9, 0x28, 0x1C, 0xBA, 0xF7
- .byte 0x97, 0xF9, 0x92, 0xE0, 0x02, 0x98, 0x39, 0x1C, 0xBA, 0xF7, 0x96, 0xFB, 0x8D, 0xE0, 0xBC, 0x7D
- .byte 0x8B, 0xE0, 0xFC, 0x7D, 0x89, 0xE0, 0x01, 0x9A, 0x01, 0x20, 0x7A, 0x3A, 0x21, 0x1C, 0x01, 0x92
- .byte 0x84, 0xF0, 0x9E, 0xEA, 0xBB, 0x69, 0xFA, 0x69, 0x03, 0x40, 0x0A, 0x40, 0x00, 0x21, 0x00, 0x20
- .byte 0x51, 0x40, 0x58, 0x40, 0x08, 0x43, 0x78, 0xD0, 0x01, 0x24, 0x76, 0xE0, 0x02, 0x9A, 0x08, 0x88
- .byte 0x64, 0x1C, 0x89, 0x1C, 0x10, 0x80, 0x92, 0x1C, 0x07, 0x2C, 0xF8, 0xD3, 0x3A, 0x4A, 0x02, 0x98
- .byte 0x61, 0x00, 0x42, 0x52, 0x69, 0xE0, 0x02, 0x98, 0xBA, 0xF7, 0x6E, 0xFB, 0x65, 0xE0, 0x0C, 0x7C
- .byte 0x63, 0xE0, 0x4C, 0x7C, 0x61, 0xE0, 0x8C, 0x7C, 0x5F, 0xE0, 0xCC, 0x7C, 0x5D, 0xE0, 0x0C, 0x7D
- .byte 0x5B, 0xE0, 0x4C, 0x7D, 0x59, 0xE0, 0xCC, 0x8A, 0x57, 0xE0, 0x0C, 0x8B, 0x55, 0xE0, 0x8C, 0x7E
- .byte 0x53, 0xE0, 0xCC, 0x7E, 0x51, 0xE0, 0x08, 0x7F, 0x40, 0x06, 0x44, 0x0E, 0x4D, 0xE0, 0x08, 0x7F
- .byte 0x00, 0x06, 0xC4, 0x0F, 0x49, 0xE0, 0x4C, 0x7F, 0x47, 0xE0, 0xCC, 0x8B, 0x45, 0xE0, 0x34, 0x69
- .byte 0xA0, 0x00, 0xC0, 0x0E, 0x45, 0x06, 0xE0, 0x01, 0xC0, 0x0E, 0x03, 0x05, 0x20, 0x03, 0xC0, 0x0E
- .byte 0xC2, 0x03, 0x60, 0x04, 0xC0, 0x0E, 0x81, 0x02, 0xE0, 0x06, 0xA4, 0x05, 0xE4, 0x0E, 0xC0, 0x0E
- .byte 0x64, 0x01, 0x20, 0x43, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x2C, 0x1C, 0x04, 0x43, 0x2C, 0xE0
- .byte 0x28, 0x88, 0x1D, 0x28, 0x01, 0xD0, 0x20, 0x28, 0x04, 0xD1, 0x30, 0x69, 0xC0, 0x0F, 0x01, 0xD1
- .byte 0x00, 0x24, 0x22, 0xE0, 0x01, 0x24, 0x20, 0xE0, 0x28, 0x88, 0x14, 0x49, 0x88, 0x42, 0x0D, 0xD1
- .byte 0x69, 0x7B, 0x79, 0x29, 0x0A, 0xD1, 0x68, 0x88, 0x01, 0x21, 0x22, 0x1C, 0x06, 0xF0, 0xE4, 0xFF
- .byte 0x00, 0x04, 0x00, 0x0C, 0x02, 0xF0, 0x96, 0xFB, 0x04, 0x1C, 0x0E, 0xE0, 0x31, 0x7E, 0x01, 0x9A
- .byte 0x09, 0x06, 0xAA, 0x3A, 0xC9, 0x0E, 0x01, 0x92, 0x00, 0xF0, 0x24, 0xFF, 0x04, 0x1C, 0x04, 0xE0
- .byte 0x28, 0x88, 0x02, 0x9A, 0x21, 0x1C, 0xA3, 0xF7, 0xC1, 0xF8
+ ldr r0, [sp, #0x0]
+ ldr r4, [r0, #0x0]
+ b _0206781A
+_020674E2:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1f
+ lsr r4, r0, #0x1f
+ b _0206781A
+_020674EC:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1e
+ lsr r4, r0, #0x1f
+ b _0206781A
+_020674F6:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067500:
+ ldr r0, [sp, #0x0]
+ ldrh r4, [r0, #0x6]
+ b _0206781A
+_02067506:
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x0
+ beq _0206753A
+ mov r4, #0x1
+ b _0206781A
+_02067510:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1f
+ bne _0206753A
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067522:
+ ldrh r4, [r5, #0x0]
+ cmp r4, #0x0
+ beq _0206753A
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1
+ lsr r0, r0, #0x1f
+ bne _0206753C
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bne _0206753C
+_0206753A:
+ b _0206781A
+_0206753C:
+ ldr r4, _02067820 ; =0x000001EE
+ b _0206781A
+_02067540:
+ ldrh r0, [r5, #0x0]
+ ldr r1, [r5, #0x8]
+ bl FUN_02068800
+ add r4, r0, #0x0
+ b _0206781A
+_0206754C:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _0206755A
+ ldr r4, _02067820 ; =0x000001EE
+ b _0206781A
+_0206755A:
+ ldrh r4, [r5, #0x0]
+ b _0206781A
+_0206755E:
+ ldrh r4, [r5, #0x2]
+ b _0206781A
+_02067562:
+ ldr r4, [r5, #0x4]
+ b _0206781A
+_02067566:
+ ldr r4, [r5, #0x8]
+ b _0206781A
+_0206756A:
+ ldrb r4, [r5, #0xc]
+ b _0206781A
+_0206756E:
+ ldrb r4, [r5, #0xd]
+ b _0206781A
+_02067572:
+ ldrb r4, [r5, #0xe]
+ b _0206781A
+_02067576:
+ ldrb r4, [r5, #0xf]
+ b _0206781A
+_0206757A:
+ ldrb r4, [r5, #0x10]
+ b _0206781A
+_0206757E:
+ ldrb r4, [r5, #0x11]
+ b _0206781A
+_02067582:
+ ldrb r4, [r5, #0x12]
+ b _0206781A
+_02067586:
+ ldrb r4, [r5, #0x13]
+ b _0206781A
+_0206758A:
+ ldrb r4, [r5, #0x14]
+ b _0206781A
+_0206758E:
+ ldrb r4, [r5, #0x15]
+ b _0206781A
+_02067592:
+ ldrb r4, [r5, #0x16]
+ b _0206781A
+_02067596:
+ ldrb r4, [r5, #0x17]
+ b _0206781A
+_0206759A:
+ ldrb r4, [r5, #0x18]
+ b _0206781A
+_0206759E:
+ ldrb r4, [r5, #0x19]
+ b _0206781A
+_020675A2:
+ ldrb r4, [r5, #0x1a]
+ b _0206781A
+_020675A6:
+ ldrb r4, [r5, #0x1b]
+ b _0206781A
+_020675AA:
+ ldr r2, [sp, #0x4]
+ mov r0, #0x1
+ sub r2, #0x19
+ add r1, r4, #0x0
+ str r2, [sp, #0x4]
+ blx FUN_020EBC50
+ ldr r2, [r5, #0x1c]
+ add r3, r4, #0x0
+ and r3, r1
+ and r2, r0
+ mov r1, #0x0
+ mov r0, #0x0
+ eor r1, r3
+ eor r0, r2
+ orr r0, r1
+ beq _02067676
+ mov r4, #0x1
+ b _0206781A
+_020675D0:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x36
+ str r0, [sp, #0x4]
+ lsl r0, r0, #0x1
+ ldrh r4, [r6, r0]
+ b _0206781A
+_020675DC:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x3a
+ str r0, [sp, #0x4]
+ add r0, r6, r0
+ ldrb r4, [r0, #0x8]
+ b _0206781A
+_020675E8:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x3e
+ str r0, [sp, #0x4]
+ add r0, r6, r0
+ ldrb r4, [r0, #0xc]
+ b _0206781A
+_020675F4:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x42
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x1
+ add r1, r6, r1
+ ldrh r0, [r6, r0]
+ ldrb r1, [r1, #0xc]
+ bl FUN_0206AB30
+ add r4, r0, #0x0
+ b _0206781A
+_0206760C:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1b
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067614:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x16
+ lsr r4, r0, #0x1b
+ b _0206781A
+_0206761C:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x11
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067624:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0xc
+ lsr r4, r0, #0x1b
+ b _0206781A
+_0206762C:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x7
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067634:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x2
+ lsr r4, r0, #0x1b
+ b _0206781A
+_0206763C:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1f
+ bne _02067676
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1
+ lsr r4, r0, #0x1f
+ b _0206781A
+_0206764E:
+ ldr r0, [r6, #0x10]
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067654:
+ ldr r2, [sp, #0x4]
+ mov r0, #0x1
+ sub r2, #0x4e
+ add r1, r4, #0x0
+ str r2, [sp, #0x4]
+ blx FUN_020EBC50
+ ldr r2, [r6, #0x14]
+ add r3, r4, #0x0
+ and r3, r1
+ and r2, r0
+ mov r1, #0x0
+ mov r0, #0x0
+ eor r1, r3
+ eor r0, r2
+ orr r0, r1
+ bne _02067678
+_02067676:
+ b _0206781A
+_02067678:
+ mov r4, #0x1
+ b _0206781A
+_0206767C:
+ ldrb r0, [r6, #0x18]
+ lsl r0, r0, #0x1f
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067684:
+ ldrb r0, [r6, #0x18]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1e
+ b _0206781A
+_0206768C:
+ ldrb r0, [r6, #0x18]
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067694:
+ ldrb r4, [r6, #0x19]
+ b _0206781A
+_02067698:
+ ldrh r4, [r6, #0x1a]
+ b _0206781A
+_0206769C:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _020676B2
+ ldr r0, _02067824 ; =0x000001EF
+ ldr r2, [sp, #0x8]
+ add r1, r4, #0x0
+ bl FUN_0200A99C
+ b _0206781A
+_020676B2:
+ ldr r1, [sp, #0x8]
+_020676B4:
+ ldrh r0, [r7, #0x0]
+ add r4, r4, #0x1
+ add r7, r7, #0x2
+ strh r0, [r1, #0x0]
+ add r1, r1, #0x2
+ cmp r4, #0xa
+ blo _020676B4
+ ldr r2, _02067828 ; =0x0000FFFF
+ ldr r0, [sp, #0x8]
+ lsl r1, r4, #0x1
+ strh r2, [r0, r1]
+ b _0206781A
+_020676CC:
+ ldr r0, [r6, #0x10]
+ lsr r4, r0, #0x1f
+_020676D0:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _020676F4
+ ldr r0, _02067824 ; =0x000001EF
+ mov r1, #0x0
+ bl FUN_0200AA50
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x8]
+ add r1, r5, #0x0
+ bl FUN_02021A74
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ b _0206781A
+_020676F4:
+ ldr r0, [sp, #0x8]
+ add r1, r7, #0x0
+ bl FUN_02021E28
+ b _0206781A
+_020676FE:
+ ldrb r4, [r7, #0x16]
+ b _0206781A
+_02067702:
+ ldrb r4, [r7, #0x17]
+ b _0206781A
+_02067706:
+ ldr r2, [sp, #0x4]
+ mov r0, #0x1
+ sub r2, #0x7a
+ add r1, r4, #0x0
+ str r2, [sp, #0x4]
+ blx FUN_020EBC50
+ ldr r3, [r7, #0x18]
+ ldr r2, [r7, #0x1c]
+ and r3, r0
+ and r2, r1
+ mov r1, #0x0
+ mov r0, #0x0
+ eor r1, r2
+ eor r0, r3
+ orr r0, r1
+ beq _0206781A
+ mov r4, #0x1
+ b _0206781A
+_0206772C:
+ ldr r2, [sp, #0x8]
+_0206772E:
+ ldrh r0, [r1, #0x0]
+ add r4, r4, #0x1
+ add r1, r1, #0x2
+ strh r0, [r2, #0x0]
+ add r2, r2, #0x2
+ cmp r4, #0x7
+ blo _0206772E
+ ldr r2, _02067828 ; =0x0000FFFF
+ ldr r0, [sp, #0x8]
+ lsl r1, r4, #0x1
+ strh r2, [r0, r1]
+ b _0206781A
+_02067746:
+ ldr r0, [sp, #0x8]
+ bl FUN_02021E28
+ b _0206781A
+_0206774E:
+ ldrb r4, [r1, #0x10]
+ b _0206781A
+_02067752:
+ ldrb r4, [r1, #0x11]
+ b _0206781A
+_02067756:
+ ldrb r4, [r1, #0x12]
+ b _0206781A
+_0206775A:
+ ldrb r4, [r1, #0x13]
+ b _0206781A
+_0206775E:
+ ldrb r4, [r1, #0x14]
+ b _0206781A
+_02067762:
+ ldrb r4, [r1, #0x15]
+ b _0206781A
+_02067766:
+ ldrh r4, [r1, #0x16]
+ b _0206781A
+_0206776A:
+ ldrh r4, [r1, #0x18]
+ b _0206781A
+_0206776E:
+ ldrb r4, [r1, #0x1a]
+ b _0206781A
+_02067772:
+ ldrb r4, [r1, #0x1b]
+ b _0206781A
+_02067776:
+ ldrb r0, [r1, #0x1c]
+ lsl r0, r0, #0x19
+ lsr r4, r0, #0x19
+ b _0206781A
+_0206777E:
+ ldrb r0, [r1, #0x1c]
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067786:
+ ldrb r4, [r1, #0x1d]
+ b _0206781A
+_0206778A:
+ ldrh r4, [r1, #0x1e]
+ b _0206781A
+_0206778E:
+ ldr r4, [r6, #0x10]
+ lsl r0, r4, #0x2
+ lsr r0, r0, #0x1b
+ lsl r5, r0, #0x19
+ lsl r0, r4, #0x7
+ lsr r0, r0, #0x1b
+ lsl r3, r0, #0x14
+ lsl r0, r4, #0xc
+ lsr r0, r0, #0x1b
+ lsl r2, r0, #0xf
+ lsl r0, r4, #0x11
+ lsr r0, r0, #0x1b
+ lsl r1, r0, #0xa
+ lsl r0, r4, #0x1b
+ lsl r4, r4, #0x16
+ lsr r4, r4, #0x1b
+ lsr r0, r0, #0x1b
+ lsl r4, r4, #0x5
+ orr r0, r4
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ add r4, r5, #0x0
+ orr r4, r0
+ b _0206781A
+_020677C0:
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x1d
+ beq _020677CA
+ cmp r0, #0x20
+ bne _020677D4
+_020677CA:
+ ldr r0, [r6, #0x10]
+ lsr r0, r0, #0x1f
+ bne _020677D4
+ mov r4, #0x0
+ b _0206781A
+_020677D4:
+ mov r4, #0x1
+ b _0206781A
+_020677D8:
+ ldrh r0, [r5, #0x0]
+ ldr r1, _0206782C ; =0x000001ED
+ cmp r0, r1
+ bne _020677FC
+ ldrb r1, [r5, #0xd]
+ cmp r1, #0x79
+ bne _020677FC
+ ldrh r0, [r5, #0x2]
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069F24
+ add r4, r0, #0x0
+ b _0206781A
+_020677FC:
+ ldrb r1, [r6, #0x18]
+ ldr r2, [sp, #0x4]
+ lsl r1, r1, #0x18
+ sub r2, #0xaa
+ lsr r1, r1, #0x1b
+ str r2, [sp, #0x4]
+ bl FUN_02068654
+ add r4, r0, #0x0
+ b _0206781A
+_02067810:
+ ldrh r0, [r5, #0x0]
+ ldr r2, [sp, #0x8]
+ add r1, r4, #0x0
+ bl FUN_0200A99C
_0206781A:
add r0, r4, #0x0
add sp, #0xc
pop {r4-r7, pc}
-_02067820:
- .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00
+ .balign 4
+_02067820: .word 0x000001EE
+_02067824: .word 0x000001EF
+_02067828: .word 0x0000FFFF
+_0206782C: .word 0x000001ED
thumb_func_start FUN_02067830
FUN_02067830: ; 0x02067830
@@ -194852,30 +217947,81 @@ FUN_020678C0: ; 0x020678C0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r6, r4, #0
- lsl r6, r5, #0
- lsl r6, r6, #0
- lsl r6, r7, #0
- lsl r6, r0, #0x1
- lsl r6, r1, #0x1
- lsl r6, r2, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r2, r6, #0x1
+_020678D8: ; jump table (using 16-bit offset)
+ .short _020678F0 - _020678D8 - 2; case 0
+ .short _020678F8 - _020678D8 - 2; case 1
+ .short _02067900 - _020678D8 - 2; case 2
+ .short _02067908 - _020678D8 - 2; case 3
+ .short _02067910 - _020678D8 - 2; case 4
+ .short _02067918 - _020678D8 - 2; case 5
+ .short _02067920 - _020678D8 - 2; case 6
+ .short _02067928 - _020678D8 - 2; case 7
+ .short _02067930 - _020678D8 - 2; case 8
+ .short _02067938 - _020678D8 - 2; case 9
+ .short _02067940 - _020678D8 - 2; case 10
+ .short _0206794C - _020678D8 - 2; case 11
+_020678F0:
ldr r0, [r2, #0x0]
add r3, #0x88
str r0, [r3, #0x0]
pop {r3, pc}
_020678F8:
- .byte 0x10, 0x78, 0x8C, 0x33, 0x18, 0x70, 0x08, 0xBD
- .byte 0x10, 0x78, 0x8D, 0x33, 0x18, 0x70, 0x08, 0xBD, 0x10, 0x88, 0x8E, 0x33, 0x18, 0x80, 0x08, 0xBD
- .byte 0x10, 0x88, 0x90, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x92, 0x33, 0x18, 0x80, 0x08, 0xBD
- .byte 0x10, 0x88, 0x94, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x96, 0x33, 0x18, 0x80, 0x08, 0xBD
- .byte 0x10, 0x88, 0x98, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x9A, 0x33, 0x18, 0x80, 0x08, 0xBD
- .byte 0x9C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0xBD, 0xF7, 0xC3, 0xFE, 0x08, 0xBD, 0xD4, 0x33, 0x10, 0x1C
- .byte 0x19, 0x1C, 0xC2, 0xF7, 0x8F, 0xF9, 0x08, 0xBD
+ ldrb r0, [r2, #0x0]
+ add r3, #0x8c
+ strb r0, [r3, #0x0]
+ pop {r3, pc}
+_02067900:
+ ldrb r0, [r2, #0x0]
+ add r3, #0x8d
+ strb r0, [r3, #0x0]
+ pop {r3, pc}
+_02067908:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x8e
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067910:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x90
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067918:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x92
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067920:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x94
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067928:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x96
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067930:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x98
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067938:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x9a
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067940:
+ add r3, #0x9c
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ bl FUN_020256D0
+ pop {r3, pc}
+_0206794C:
+ add r3, #0xd4
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ bl FUN_02029C74
+ pop {r3, pc}
_02067958:
add r0, r3, #0x0
bl FUN_020679D8
@@ -194981,270 +218127,817 @@ _02067A20:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r4, #0x5
- lsl r6, r5, #0x5
- lsl r4, r1, #0x6
- lsl r0, r5, #0x6
- lsl r0, r0, #0x7
- lsl r2, r1, #0x7
- lsl r2, r2, #0x7
- lsl r2, r3, #0x7
- lsl r2, r4, #0x7
- lsl r2, r5, #0x7
- lsl r2, r6, #0x7
- lsl r2, r7, #0x7
- lsl r2, r0, #0x8
- lsl r2, r1, #0x8
- lsl r2, r2, #0x8
- lsl r2, r3, #0x8
- lsl r2, r4, #0x8
- lsl r2, r5, #0x8
- lsl r2, r6, #0x8
- lsl r2, r7, #0x8
- lsl r2, r0, #0x9
- lsl r2, r1, #0x9
- lsl r2, r2, #0x9
- lsl r2, r3, #0x9
- lsl r2, r4, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r2, r5, #0x9
- lsl r0, r3, #0xa
- lsl r0, r3, #0xa
- lsl r0, r3, #0xa
- lsl r0, r3, #0xa
- lsl r0, r5, #0xa
- lsl r0, r5, #0xa
- lsl r0, r5, #0xa
- lsl r0, r5, #0xa
- lsl r0, r7, #0xa
- lsl r0, r7, #0xa
- lsl r0, r7, #0xa
- lsl r0, r7, #0xa
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0xb
- lsl r4, r3, #0xb
- lsl r0, r6, #0xb
- lsl r4, r0, #0xc
- lsl r0, r3, #0xc
- lsl r4, r5, #0xc
- lsl r0, r0, #0xd
- lsl r4, r2, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r6, r4, #0xd
- lsl r4, r2, #0xe
- lsl r0, r5, #0xe
- lsl r4, r7, #0xe
- lsl r0, r2, #0xf
- lsl r0, r3, #0xf
- lsl r0, r1, #0x17
- lsl r6, r7, #0xf
- lsl r0, r4, #0xf
- lsl r6, r7, #0x10
- lsl r2, r2, #0x10
- lsl r4, r1, #0x11
- lsl r4, r2, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r4, r3, #0x11
- lsl r0, r4, #0x12
- lsl r4, r6, #0x12
- lsl r0, r0, #0x13
- lsl r0, r1, #0x13
- lsl r0, r2, #0x13
- lsl r0, r3, #0x13
- lsl r0, r4, #0x13
- lsl r0, r5, #0x13
- lsl r0, r6, #0x13
- lsl r0, r7, #0x13
- lsl r0, r0, #0x14
- lsl r0, r1, #0x14
- lsl r0, r2, #0x14
- lsl r4, r4, #0x14
- lsl r0, r7, #0x14
- lsl r0, r0, #0x15
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x15
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r1, #0x17
- lsl r0, r6, #0x16
+_02067A2C: ; jump table (using 16-bit offset)
+ .short _02067B92 - _02067A2C - 2; case 0
+ .short _02067B9C - _02067A2C - 2; case 1
+ .short _02067BBA - _02067A2C - 2; case 2
+ .short _02067BD6 - _02067A2C - 2; case 3
+ .short _02067BEE - _02067A2C - 2; case 4
+ .short _02067BF8 - _02067A2C - 2; case 5
+ .short _02067C00 - _02067A2C - 2; case 6
+ .short _02067C08 - _02067A2C - 2; case 7
+ .short _02067C10 - _02067A2C - 2; case 8
+ .short _02067C18 - _02067A2C - 2; case 9
+ .short _02067C20 - _02067A2C - 2; case 10
+ .short _02067C28 - _02067A2C - 2; case 11
+ .short _02067C30 - _02067A2C - 2; case 12
+ .short _02067C38 - _02067A2C - 2; case 13
+ .short _02067C40 - _02067A2C - 2; case 14
+ .short _02067C48 - _02067A2C - 2; case 15
+ .short _02067C50 - _02067A2C - 2; case 16
+ .short _02067C58 - _02067A2C - 2; case 17
+ .short _02067C60 - _02067A2C - 2; case 18
+ .short _02067C68 - _02067A2C - 2; case 19
+ .short _02067C70 - _02067A2C - 2; case 20
+ .short _02067C78 - _02067A2C - 2; case 21
+ .short _02067C80 - _02067A2C - 2; case 22
+ .short _02067C88 - _02067A2C - 2; case 23
+ .short _02067C90 - _02067A2C - 2; case 24
+ .short _02067C98 - _02067A2C - 2; case 25
+ .short _02067C98 - _02067A2C - 2; case 26
+ .short _02067C98 - _02067A2C - 2; case 27
+ .short _02067C98 - _02067A2C - 2; case 28
+ .short _02067C98 - _02067A2C - 2; case 29
+ .short _02067C98 - _02067A2C - 2; case 30
+ .short _02067C98 - _02067A2C - 2; case 31
+ .short _02067C98 - _02067A2C - 2; case 32
+ .short _02067C98 - _02067A2C - 2; case 33
+ .short _02067C98 - _02067A2C - 2; case 34
+ .short _02067C98 - _02067A2C - 2; case 35
+ .short _02067C98 - _02067A2C - 2; case 36
+ .short _02067C98 - _02067A2C - 2; case 37
+ .short _02067C98 - _02067A2C - 2; case 38
+ .short _02067C98 - _02067A2C - 2; case 39
+ .short _02067C98 - _02067A2C - 2; case 40
+ .short _02067C98 - _02067A2C - 2; case 41
+ .short _02067C98 - _02067A2C - 2; case 42
+ .short _02067C98 - _02067A2C - 2; case 43
+ .short _02067C98 - _02067A2C - 2; case 44
+ .short _02067C98 - _02067A2C - 2; case 45
+ .short _02067C98 - _02067A2C - 2; case 46
+ .short _02067C98 - _02067A2C - 2; case 47
+ .short _02067C98 - _02067A2C - 2; case 48
+ .short _02067C98 - _02067A2C - 2; case 49
+ .short _02067C98 - _02067A2C - 2; case 50
+ .short _02067C98 - _02067A2C - 2; case 51
+ .short _02067C98 - _02067A2C - 2; case 52
+ .short _02067C98 - _02067A2C - 2; case 53
+ .short _02067CC6 - _02067A2C - 2; case 54
+ .short _02067CC6 - _02067A2C - 2; case 55
+ .short _02067CC6 - _02067A2C - 2; case 56
+ .short _02067CC6 - _02067A2C - 2; case 57
+ .short _02067CD6 - _02067A2C - 2; case 58
+ .short _02067CD6 - _02067A2C - 2; case 59
+ .short _02067CD6 - _02067A2C - 2; case 60
+ .short _02067CD6 - _02067A2C - 2; case 61
+ .short _02067CE6 - _02067A2C - 2; case 62
+ .short _02067CE6 - _02067A2C - 2; case 63
+ .short _02067CE6 - _02067A2C - 2; case 64
+ .short _02067CE6 - _02067A2C - 2; case 65
+ .short _02067FF6 - _02067A2C - 2; case 66
+ .short _02067FF6 - _02067A2C - 2; case 67
+ .short _02067FF6 - _02067A2C - 2; case 68
+ .short _02067FF6 - _02067A2C - 2; case 69
+ .short _02067CF6 - _02067A2C - 2; case 70
+ .short _02067D0A - _02067A2C - 2; case 71
+ .short _02067D1E - _02067A2C - 2; case 72
+ .short _02067D32 - _02067A2C - 2; case 73
+ .short _02067D46 - _02067A2C - 2; case 74
+ .short _02067D5A - _02067A2C - 2; case 75
+ .short _02067D6E - _02067A2C - 2; case 76
+ .short _02067D82 - _02067A2C - 2; case 77
+ .short _02067D94 - _02067A2C - 2; case 78
+ .short _02067D94 - _02067A2C - 2; case 79
+ .short _02067D94 - _02067A2C - 2; case 80
+ .short _02067D94 - _02067A2C - 2; case 81
+ .short _02067D94 - _02067A2C - 2; case 82
+ .short _02067D94 - _02067A2C - 2; case 83
+ .short _02067D94 - _02067A2C - 2; case 84
+ .short _02067D94 - _02067A2C - 2; case 85
+ .short _02067D94 - _02067A2C - 2; case 86
+ .short _02067D94 - _02067A2C - 2; case 87
+ .short _02067D94 - _02067A2C - 2; case 88
+ .short _02067D94 - _02067A2C - 2; case 89
+ .short _02067D94 - _02067A2C - 2; case 90
+ .short _02067D94 - _02067A2C - 2; case 91
+ .short _02067D94 - _02067A2C - 2; case 92
+ .short _02067D94 - _02067A2C - 2; case 93
+ .short _02067D94 - _02067A2C - 2; case 94
+ .short _02067D94 - _02067A2C - 2; case 95
+ .short _02067D94 - _02067A2C - 2; case 96
+ .short _02067D94 - _02067A2C - 2; case 97
+ .short _02067D94 - _02067A2C - 2; case 98
+ .short _02067D94 - _02067A2C - 2; case 99
+ .short _02067D94 - _02067A2C - 2; case 100
+ .short _02067D94 - _02067A2C - 2; case 101
+ .short _02067D94 - _02067A2C - 2; case 102
+ .short _02067D94 - _02067A2C - 2; case 103
+ .short _02067D94 - _02067A2C - 2; case 104
+ .short _02067D94 - _02067A2C - 2; case 105
+ .short _02067D94 - _02067A2C - 2; case 106
+ .short _02067D94 - _02067A2C - 2; case 107
+ .short _02067D94 - _02067A2C - 2; case 108
+ .short _02067D94 - _02067A2C - 2; case 109
+ .short _02067DC2 - _02067A2C - 2; case 110
+ .short _02067DD6 - _02067A2C - 2; case 111
+ .short _02067DEA - _02067A2C - 2; case 112
+ .short _02067DFE - _02067A2C - 2; case 113
+ .short _02067E06 - _02067A2C - 2; case 114
+ .short _02067FF6 - _02067A2C - 2; case 115
+ .short _02067E2C - _02067A2C - 2; case 116
+ .short _02067E0E - _02067A2C - 2; case 117
+ .short _02067E6C - _02067A2C - 2; case 118
+ .short _02067E40 - _02067A2C - 2; case 119
+ .short _02067E7A - _02067A2C - 2; case 120
+ .short _02067E82 - _02067A2C - 2; case 121
+ .short _02067E8A - _02067A2C - 2; case 122
+ .short _02067E8A - _02067A2C - 2; case 123
+ .short _02067E8A - _02067A2C - 2; case 124
+ .short _02067E8A - _02067A2C - 2; case 125
+ .short _02067E8A - _02067A2C - 2; case 126
+ .short _02067E8A - _02067A2C - 2; case 127
+ .short _02067E8A - _02067A2C - 2; case 128
+ .short _02067E8A - _02067A2C - 2; case 129
+ .short _02067E8A - _02067A2C - 2; case 130
+ .short _02067E8A - _02067A2C - 2; case 131
+ .short _02067E8A - _02067A2C - 2; case 132
+ .short _02067E8A - _02067A2C - 2; case 133
+ .short _02067E8A - _02067A2C - 2; case 134
+ .short _02067E8A - _02067A2C - 2; case 135
+ .short _02067E8A - _02067A2C - 2; case 136
+ .short _02067E8A - _02067A2C - 2; case 137
+ .short _02067E8A - _02067A2C - 2; case 138
+ .short _02067E8A - _02067A2C - 2; case 139
+ .short _02067E8A - _02067A2C - 2; case 140
+ .short _02067E8A - _02067A2C - 2; case 141
+ .short _02067E8A - _02067A2C - 2; case 142
+ .short _02067ECE - _02067A2C - 2; case 143
+ .short _02067EE2 - _02067A2C - 2; case 144
+ .short _02067EEE - _02067A2C - 2; case 145
+ .short _02067EF6 - _02067A2C - 2; case 146
+ .short _02067EFE - _02067A2C - 2; case 147
+ .short _02067F06 - _02067A2C - 2; case 148
+ .short _02067F0E - _02067A2C - 2; case 149
+ .short _02067F16 - _02067A2C - 2; case 150
+ .short _02067F1E - _02067A2C - 2; case 151
+ .short _02067F26 - _02067A2C - 2; case 152
+ .short _02067F2E - _02067A2C - 2; case 153
+ .short _02067F36 - _02067A2C - 2; case 154
+ .short _02067F3E - _02067A2C - 2; case 155
+ .short _02067F52 - _02067A2C - 2; case 156
+ .short _02067F66 - _02067A2C - 2; case 157
+ .short _02067F6E - _02067A2C - 2; case 158
+ .short _02067FF6 - _02067A2C - 2; case 159
+ .short _02067FF6 - _02067A2C - 2; case 160
+ .short _02067FF6 - _02067A2C - 2; case 161
+ .short _02067FF6 - _02067A2C - 2; case 162
+ .short _02067FF6 - _02067A2C - 2; case 163
+ .short _02067FF6 - _02067A2C - 2; case 164
+ .short _02067FF6 - _02067A2C - 2; case 165
+ .short _02067FF6 - _02067A2C - 2; case 166
+ .short _02067FF6 - _02067A2C - 2; case 167
+ .short _02067FF6 - _02067A2C - 2; case 168
+ .short _02067FF6 - _02067A2C - 2; case 169
+ .short _02067FF6 - _02067A2C - 2; case 170
+ .short _02067FF6 - _02067A2C - 2; case 171
+ .short _02067FF6 - _02067A2C - 2; case 172
+ .short _02067FF6 - _02067A2C - 2; case 173
+ .short _02067F76 - _02067A2C - 2; case 174
+ .short _02067FF6 - _02067A2C - 2; case 175
+ .short _02067FF6 - _02067A2C - 2; case 176
+ .short _02067FF6 - _02067A2C - 2; case 177
+ .short _02067FDE - _02067A2C - 2; case 178
+_02067B92:
ldr r0, [sp, #0x0]
ldr r1, [r4, #0x0]
add sp, #0x4c
str r1, [r0, #0x0]
pop {r4-r7, pc}
_02067B9C:
- .byte 0xB9, 0xF7, 0x46, 0xF8
- .byte 0x00, 0x98, 0x21, 0x78, 0x82, 0x88, 0x01, 0x20, 0x82, 0x43, 0x01, 0x20, 0x08, 0x40, 0x11, 0x1C
- .byte 0x01, 0x43, 0x00, 0x98, 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0xB9, 0xF7, 0x37, 0xF8, 0x00, 0x98
- .byte 0x81, 0x88, 0x02, 0x20, 0x81, 0x43, 0x20, 0x78, 0xC0, 0x07, 0x80, 0x0F, 0x01, 0x43, 0x00, 0x98
- .byte 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0x00, 0x98, 0x81, 0x88, 0x04, 0x20, 0x81, 0x43, 0x20, 0x78
- .byte 0xC0, 0x07, 0x40, 0x0F, 0x01, 0x43, 0x00, 0x98, 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0x21, 0x88
- .byte 0x00, 0x98, 0x13, 0xB0, 0xC1, 0x80, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x38, 0x80, 0xF0, 0xBD
- .byte 0x20, 0x88, 0x13, 0xB0, 0x78, 0x80, 0xF0, 0xBD, 0x20, 0x68, 0x13, 0xB0, 0x78, 0x60, 0xF0, 0xBD
- .byte 0x20, 0x68, 0x13, 0xB0, 0xB8, 0x60, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x73, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x73, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x73, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x73, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x74, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x74, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x75, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x75, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x76, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x76, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x76, 0xF0, 0xBD
- .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x76, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21, 0x19, 0x3A
- .byte 0x20, 0x1C, 0x01, 0x92, 0x83, 0xF0, 0xD4, 0xEF, 0x00, 0x2C, 0x04, 0xD0, 0xF9, 0x69, 0x13, 0xB0
- .byte 0x08, 0x43, 0xF8, 0x61, 0xF0, 0xBD, 0x00, 0x21, 0x49, 0x1E, 0xFA, 0x69, 0x48, 0x40, 0x10, 0x40
- .byte 0x13, 0xB0, 0xF8, 0x61, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x88, 0x36, 0x38, 0x01, 0x90, 0x40, 0x00
- .byte 0x13, 0xB0, 0x29, 0x52, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x78, 0x3A, 0x38, 0x01, 0x90, 0x28, 0x18
- .byte 0x01, 0x72, 0x13, 0xB0, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x78, 0x3E, 0x38, 0x01, 0x90, 0x28, 0x18
- .byte 0x01, 0x73, 0x13, 0xB0, 0xF0, 0xBD, 0x2A, 0x69, 0x1F, 0x20, 0x82, 0x43, 0x21, 0x78, 0x1F, 0x20
- .byte 0x13, 0xB0, 0x08, 0x40, 0x10, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xBB, 0x48, 0x13, 0xB0
- .byte 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x80, 0x0D, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69
- .byte 0xB7, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x28, 0x61
- .byte 0xF0, 0xBD, 0x29, 0x69, 0xB3, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x00, 0x0B
- .byte 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xAF, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78
- .byte 0xC0, 0x06, 0xC0, 0x09, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xAB, 0x48, 0x13, 0xB0
- .byte 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69
- .byte 0xA7, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x07, 0x40, 0x08, 0x08, 0x43, 0x28, 0x61
- .byte 0xF0, 0xBD, 0x29, 0x69, 0xA3, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x07, 0x08, 0x43
- .byte 0x28, 0x61, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21, 0x4E, 0x3A, 0x20, 0x1C, 0x01, 0x92
- .byte 0x83, 0xF0, 0x56, 0xEF, 0x00, 0x2C, 0x04, 0xD0, 0x69, 0x69, 0x13, 0xB0, 0x08, 0x43, 0x68, 0x61
- .byte 0xF0, 0xBD, 0x00, 0x21, 0x49, 0x1E, 0x6A, 0x69, 0x48, 0x40, 0x10, 0x40, 0x13, 0xB0, 0x68, 0x61
- .byte 0xF0, 0xBD, 0x2A, 0x7E, 0x21, 0x78, 0x01, 0x20, 0x82, 0x43, 0x01, 0x20, 0x08, 0x40, 0x10, 0x43
- .byte 0x13, 0xB0, 0x28, 0x76, 0xF0, 0xBD, 0x29, 0x7E, 0x06, 0x20, 0x13, 0xB0, 0x81, 0x43, 0x20, 0x78
- .byte 0x80, 0x07, 0x40, 0x0F, 0x08, 0x43, 0x28, 0x76, 0xF0, 0xBD, 0x29, 0x7E, 0xF8, 0x20, 0x13, 0xB0
- .byte 0x81, 0x43, 0x20, 0x78, 0xC0, 0x06, 0x00, 0x0E, 0x08, 0x43, 0x28, 0x76, 0xF0, 0xBD, 0x20, 0x78
- .byte 0x13, 0xB0, 0x68, 0x76, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x68, 0x83, 0xF0, 0xBD, 0x38, 0x88
- .byte 0x00, 0x21, 0x0D, 0xAA, 0xA2, 0xF7, 0xC2, 0xFD, 0x0D, 0xA8, 0x21, 0x1C, 0x9A, 0xF7, 0x42, 0xFA
- .byte 0x2A, 0x69, 0x7C, 0x49, 0xC0, 0x07, 0x11, 0x40, 0x08, 0x43, 0x28, 0x61, 0x00, 0x21, 0x20, 0x88
- .byte 0x49, 0x1C, 0xA4, 0x1C, 0x30, 0x80, 0xB6, 0x1C, 0x0B, 0x29, 0xF8, 0xD3, 0x13, 0xB0, 0xF0, 0xBD
- .byte 0x38, 0x88, 0x07, 0xAA, 0x00, 0x21, 0x02, 0x32, 0xA2, 0xF7, 0xA8, 0xFD, 0x20, 0x1C, 0x02, 0xA9
- .byte 0x0B, 0x22, 0xBA, 0xF7, 0x4D, 0xF8, 0x07, 0xA8, 0x02, 0x30, 0x02, 0xA9, 0x9A, 0xF7, 0x22, 0xFA
- .byte 0x2A, 0x69, 0x6C, 0x49, 0xC0, 0x07, 0x11, 0x40, 0x08, 0x43, 0x28, 0x61, 0x20, 0x1C, 0x31, 0x1C
- .byte 0x0B, 0x22, 0xBA, 0xF7, 0x3D, 0xF8, 0x13, 0xB0, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB0, 0x75
- .byte 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xF0, 0x75, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21
- .byte 0x7A, 0x3A, 0x20, 0x1C, 0x01, 0x92, 0x83, 0xF0, 0xDC, 0xEE, 0x00, 0x2C, 0x09, 0xD0, 0x34, 0x1C
- .byte 0x18, 0x34, 0xB3, 0x69, 0x62, 0x68, 0x18, 0x43, 0x11, 0x43, 0xB0, 0x61, 0x13, 0xB0, 0x61, 0x60
- .byte 0xF0, 0xBD, 0x34, 0x1C, 0x00, 0x25, 0xED, 0x43, 0x18, 0x34, 0xB3, 0x69, 0x68, 0x40, 0x62, 0x68
- .byte 0x69, 0x40, 0x18, 0x40, 0x11, 0x40, 0xB0, 0x61, 0x13, 0xB0, 0x61, 0x60, 0xF0, 0xBD, 0x00, 0x22
- .byte 0x20, 0x88, 0x52, 0x1C, 0xA4, 0x1C, 0x08, 0x80, 0x89, 0x1C, 0x08, 0x2A, 0xF8, 0xD3, 0x13, 0xB0
- .byte 0xF0, 0xBD, 0x20, 0x1C, 0x08, 0x22, 0xBA, 0xF7, 0x03, 0xF8, 0x13, 0xB0, 0xF0, 0xBD, 0x20, 0x78
- .byte 0x13, 0xB0, 0x08, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x74, 0xF0, 0xBD, 0x20, 0x78
- .byte 0x13, 0xB0, 0x88, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xC8, 0x74, 0xF0, 0xBD, 0x20, 0x78
- .byte 0x13, 0xB0, 0x08, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x75, 0xF0, 0xBD, 0x20, 0x88
- .byte 0x13, 0xB0, 0xC8, 0x82, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x08, 0x83, 0xF0, 0xBD, 0x20, 0x78
- .byte 0x13, 0xB0, 0x88, 0x76, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xC8, 0x76, 0xF0, 0xBD, 0x0B, 0x7F
- .byte 0x22, 0x78, 0x7F, 0x20, 0x83, 0x43, 0x7F, 0x20, 0x10, 0x40, 0x18, 0x43, 0x08, 0x77, 0x13, 0xB0
- .byte 0xF0, 0xBD, 0x0A, 0x7F, 0x80, 0x20, 0x13, 0xB0, 0x82, 0x43, 0x20, 0x78, 0xC0, 0x07, 0x00, 0x0E
- .byte 0x10, 0x43, 0x08, 0x77, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x77, 0xF0, 0xBD, 0x20, 0x88
- .byte 0x13, 0xB0, 0xC8, 0x83, 0xF0, 0xBD, 0x2A, 0x69, 0x1F, 0x20, 0x82, 0x43, 0x21, 0x68, 0x1F, 0x20
- .byte 0x01, 0x40, 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x1C, 0x48, 0x29, 0x61, 0x01, 0x40, 0x20, 0x68
- .byte 0x13, 0xB0, 0x40, 0x09, 0xC0, 0x06, 0x80, 0x0D, 0x01, 0x43, 0x19, 0x48, 0x29, 0x61, 0x01, 0x40
- .byte 0x20, 0x68, 0x80, 0x0A, 0xC0, 0x06, 0x40, 0x0C, 0x01, 0x43, 0x16, 0x48, 0x29, 0x61, 0x01, 0x40
- .byte 0x20, 0x68, 0xC0, 0x0B, 0xC0, 0x06, 0x00, 0x0B, 0x01, 0x43, 0x13, 0x48, 0x29, 0x61, 0x01, 0x40
- .byte 0x20, 0x68, 0x00, 0x0D, 0xC0, 0x06, 0xC0, 0x09, 0x01, 0x43, 0x10, 0x48, 0x29, 0x61, 0x01, 0x40
- .byte 0x20, 0x68, 0x40, 0x0E, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x38, 0x88
- .byte 0x00, 0x21, 0xA2, 0xF7, 0x35, 0xFD, 0x04, 0x1C, 0x31, 0x1C, 0x0B, 0x22, 0xB9, 0xF7, 0x80, 0xFF
- .byte 0x20, 0x1C, 0xB9, 0xF7, 0x15, 0xFD
+ bl FUN_02020C2C
+ ldr r0, [sp, #0x0]
+ ldrb r1, [r4, #0x0]
+ ldrh r2, [r0, #0x4]
+ mov r0, #0x1
+ bic r2, r0
+ mov r0, #0x1
+ and r0, r1
+ add r1, r2, #0x0
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x4]
+ pop {r4-r7, pc}
+_02067BBA:
+ bl FUN_02020C2C
+ ldr r0, [sp, #0x0]
+ ldrh r1, [r0, #0x4]
+ mov r0, #0x2
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1e
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x4]
+ pop {r4-r7, pc}
+_02067BD6:
+ ldr r0, [sp, #0x0]
+ ldrh r1, [r0, #0x4]
+ mov r0, #0x4
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1d
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x4]
+ pop {r4-r7, pc}
+_02067BEE:
+ ldrh r1, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x6]
+ pop {r4-r7, pc}
+_02067BF8:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r7, #0x0]
+ pop {r4-r7, pc}
+_02067C00:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r7, #0x2]
+ pop {r4-r7, pc}
+_02067C08:
+ ldr r0, [r4, #0x0]
+ add sp, #0x4c
+ str r0, [r7, #0x4]
+ pop {r4-r7, pc}
+_02067C10:
+ ldr r0, [r4, #0x0]
+ add sp, #0x4c
+ str r0, [r7, #0x8]
+ pop {r4-r7, pc}
+_02067C18:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xc]
+ pop {r4-r7, pc}
+_02067C20:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xd]
+ pop {r4-r7, pc}
+_02067C28:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xe]
+ pop {r4-r7, pc}
+_02067C30:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xf]
+ pop {r4-r7, pc}
+_02067C38:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x10]
+ pop {r4-r7, pc}
+_02067C40:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x11]
+ pop {r4-r7, pc}
+_02067C48:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x12]
+ pop {r4-r7, pc}
+_02067C50:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x13]
+ pop {r4-r7, pc}
+_02067C58:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x14]
+ pop {r4-r7, pc}
+_02067C60:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x15]
+ pop {r4-r7, pc}
+_02067C68:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x16]
+ pop {r4-r7, pc}
+_02067C70:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x17]
+ pop {r4-r7, pc}
+_02067C78:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x18]
+ pop {r4-r7, pc}
+_02067C80:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x19]
+ pop {r4-r7, pc}
+_02067C88:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x1a]
+ pop {r4-r7, pc}
+_02067C90:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x1b]
+ pop {r4-r7, pc}
+_02067C98:
+ ldrb r4, [r4, #0x0]
+ ldr r2, [sp, #0x4]
+ mov r1, #0x0
+ sub r2, #0x19
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ blx FUN_020EBC50
+ cmp r4, #0x0
+ beq _02067CB6
+ ldr r1, [r7, #0x1c]
+ add sp, #0x4c
+ orr r0, r1
+ str r0, [r7, #0x1c]
+ pop {r4-r7, pc}
+_02067CB6:
+ mov r1, #0x0
+ sub r1, r1, #0x1
+ ldr r2, [r7, #0x1c]
+ eor r0, r1
+ and r0, r2
+ add sp, #0x4c
+ str r0, [r7, #0x1c]
+ pop {r4-r7, pc}
+_02067CC6:
+ ldr r0, [sp, #0x4]
+ ldrh r1, [r4, #0x0]
+ sub r0, #0x36
+ str r0, [sp, #0x4]
+ lsl r0, r0, #0x1
+ add sp, #0x4c
+ strh r1, [r5, r0]
+ pop {r4-r7, pc}
+_02067CD6:
+ ldr r0, [sp, #0x4]
+ ldrb r1, [r4, #0x0]
+ sub r0, #0x3a
+ str r0, [sp, #0x4]
+ add r0, r5, r0
+ strb r1, [r0, #0x8]
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067CE6:
+ ldr r0, [sp, #0x4]
+ ldrb r1, [r4, #0x0]
+ sub r0, #0x3e
+ str r0, [sp, #0x4]
+ add r0, r5, r0
+ strb r1, [r0, #0xc]
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067CF6:
+ ldr r2, [r5, #0x10]
+ mov r0, #0x1f
+ bic r2, r0
+ ldrb r1, [r4, #0x0]
+ mov r0, #0x1f
+ add sp, #0x4c
+ and r0, r1
+ orr r0, r2
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D0A:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02067FFC ; =0xFFFFFC1F
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x16
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D1E:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068000 ; =0xFFFF83FF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x11
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D32:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068004 ; =0xFFF07FFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0xc
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D46:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068008 ; =0xFE0FFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x7
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D5A:
+ ldr r1, [r5, #0x10]
+ ldr r0, _0206800C ; =0xC1FFFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D6E:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068010 ; =0xBFFFFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D82:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068014 ; =0x7FFFFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D94:
+ ldrb r4, [r4, #0x0]
+ ldr r2, [sp, #0x4]
+ mov r1, #0x0
+ sub r2, #0x4e
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ blx FUN_020EBC50
+ cmp r4, #0x0
+ beq _02067DB2
+ ldr r1, [r5, #0x14]
+ add sp, #0x4c
+ orr r0, r1
+ str r0, [r5, #0x14]
+ pop {r4-r7, pc}
+_02067DB2:
+ mov r1, #0x0
+ sub r1, r1, #0x1
+ ldr r2, [r5, #0x14]
+ eor r0, r1
+ and r0, r2
+ add sp, #0x4c
+ str r0, [r5, #0x14]
+ pop {r4-r7, pc}
+_02067DC2:
+ ldrb r2, [r5, #0x18]
+ ldrb r1, [r4, #0x0]
+ mov r0, #0x1
+ bic r2, r0
+ mov r0, #0x1
+ and r0, r1
+ orr r0, r2
+ add sp, #0x4c
+ strb r0, [r5, #0x18]
+ pop {r4-r7, pc}
+_02067DD6:
+ ldrb r1, [r5, #0x18]
+ mov r0, #0x6
+ add sp, #0x4c
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1d
+ orr r0, r1
+ strb r0, [r5, #0x18]
+ pop {r4-r7, pc}
+_02067DEA:
+ ldrb r1, [r5, #0x18]
+ mov r0, #0xf8
+ add sp, #0x4c
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x18
+ orr r0, r1
+ strb r0, [r5, #0x18]
+ pop {r4-r7, pc}
+_02067DFE:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r5, #0x19]
+ pop {r4-r7, pc}
+_02067E06:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r5, #0x1a]
+ pop {r4-r7, pc}
+_02067E0E:
+ ldrh r0, [r7, #0x0]
+ mov r1, #0x0
+ add r2, sp, #0x34
+ bl FUN_0200A99C
+ add r0, sp, #0x34
+ add r1, r4, #0x0
+ bl FUN_020022A4
+ ldr r2, [r5, #0x10]
+ ldr r1, _02068014 ; =0x7FFFFFFF
+ lsl r0, r0, #0x1f
+ and r1, r2
+ orr r0, r1
+ str r0, [r5, #0x10]
+_02067E2C:
+ mov r1, #0x0
+_02067E2E:
+ ldrh r0, [r4, #0x0]
+ add r1, r1, #0x1
+ add r4, r4, #0x2
+ strh r0, [r6, #0x0]
+ add r6, r6, #0x2
+ cmp r1, #0xb
+ blo _02067E2E
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067E40:
+ ldrh r0, [r7, #0x0]
+ add r2, sp, #0x1c
+ mov r1, #0x0
+ add r2, #0x2
+ bl FUN_0200A99C
+ add r0, r4, #0x0
+ add r1, sp, #0x8
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add r0, sp, #0x1c
+ add r0, #0x2
+ add r1, sp, #0x8
+ bl FUN_020022A4
+ ldr r2, [r5, #0x10]
+ ldr r1, _02068014 ; =0x7FFFFFFF
+ lsl r0, r0, #0x1f
+ and r1, r2
+ orr r0, r1
+ str r0, [r5, #0x10]
+_02067E6C:
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067E7A:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r6, #0x16]
+ pop {r4-r7, pc}
+_02067E82:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r6, #0x17]
+ pop {r4-r7, pc}
+_02067E8A:
+ ldrb r4, [r4, #0x0]
+ ldr r2, [sp, #0x4]
+ mov r1, #0x0
+ sub r2, #0x7a
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ blx FUN_020EBC50
+ cmp r4, #0x0
+ beq _02067EB2
+ add r4, r6, #0x0
+ add r4, #0x18
+ ldr r3, [r6, #0x18]
+ ldr r2, [r4, #0x4]
+ orr r0, r3
+ orr r1, r2
+ str r0, [r6, #0x18]
+ add sp, #0x4c
+ str r1, [r4, #0x4]
+ pop {r4-r7, pc}
+_02067EB2:
+ add r4, r6, #0x0
+ mov r5, #0x0
+ mvn r5, r5
+ add r4, #0x18
+ ldr r3, [r6, #0x18]
+ eor r0, r5
+ ldr r2, [r4, #0x4]
+ eor r1, r5
+ and r0, r3
+ and r1, r2
+ str r0, [r6, #0x18]
+ add sp, #0x4c
+ str r1, [r4, #0x4]
+ pop {r4-r7, pc}
+_02067ECE:
+ mov r2, #0x0
+_02067ED0:
+ ldrh r0, [r4, #0x0]
+ add r2, r2, #0x1
+ add r4, r4, #0x2
+ strh r0, [r1, #0x0]
+ add r1, r1, #0x2
+ cmp r2, #0x8
+ blo _02067ED0
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067EE2:
+ add r0, r4, #0x0
+ mov r2, #0x8
+ bl FUN_02021EF0
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067EEE:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x10]
+ pop {r4-r7, pc}
+_02067EF6:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x11]
+ pop {r4-r7, pc}
+_02067EFE:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x12]
+ pop {r4-r7, pc}
+_02067F06:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x13]
+ pop {r4-r7, pc}
+_02067F0E:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x14]
+ pop {r4-r7, pc}
+_02067F16:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x15]
+ pop {r4-r7, pc}
+_02067F1E:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r1, #0x16]
+ pop {r4-r7, pc}
+_02067F26:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r1, #0x18]
+ pop {r4-r7, pc}
+_02067F2E:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x1a]
+ pop {r4-r7, pc}
+_02067F36:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x1b]
+ pop {r4-r7, pc}
+_02067F3E:
+ ldrb r3, [r1, #0x1c]
+ ldrb r2, [r4, #0x0]
+ mov r0, #0x7f
+ bic r3, r0
+ mov r0, #0x7f
+ and r0, r2
+ orr r0, r3
+ strb r0, [r1, #0x1c]
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067F52:
+ ldrb r2, [r1, #0x1c]
+ mov r0, #0x80
+ add sp, #0x4c
+ bic r2, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x18
+ orr r0, r2
+ strb r0, [r1, #0x1c]
+ pop {r4-r7, pc}
+_02067F66:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x1d]
+ pop {r4-r7, pc}
+_02067F6E:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r1, #0x1e]
+ pop {r4-r7, pc}
+_02067F76:
+ ldr r2, [r5, #0x10]
+ mov r0, #0x1f
+ bic r2, r0
+ ldr r1, [r4, #0x0]
+ mov r0, #0x1f
+ and r1, r0
+ and r0, r1
+ add r1, r2, #0x0
+ orr r1, r0
+ ldr r0, _02067FFC ; =0xFFFFFC1F
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ add sp, #0x4c
+ lsr r0, r0, #0x5
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x16
+ orr r1, r0
+ ldr r0, _02068000 ; =0xFFFF83FF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0xa
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x11
+ orr r1, r0
+ ldr r0, _02068004 ; =0xFFF07FFF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0xf
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0xc
+ orr r1, r0
+ ldr r0, _02068008 ; =0xFE0FFFFF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0x14
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x7
+ orr r1, r0
+ ldr r0, _0206800C ; =0xC1FFFFFF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0x19
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067FDE:
+ ldrh r0, [r7, #0x0]
+ mov r1, #0x0
+ bl FUN_0200AA50
+ add r4, r0, #0x0
+ add r1, r6, #0x0
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add r0, r4, #0x0
+ bl FUN_02021A20
_02067FF6:
add sp, #0x4c
pop {r4-r7, pc}
nop
-_02067FFC:
- .byte 0x1F, 0xFC, 0xFF, 0xFF
- .byte 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1
- .byte 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0x7F
+_02067FFC: .word 0xFFFFFC1F
+_02068000: .word 0xFFFF83FF
+_02068004: .word 0xFFF07FFF
+_02068008: .word 0xFE0FFFFF
+_0206800C: .word 0xC1FFFFFF
+_02068010: .word 0xBFFFFFFF
+_02068014: .word 0x7FFFFFFF
thumb_func_start FUN_02068018
FUN_02068018: ; 0x02068018
@@ -195324,17 +219017,19 @@ FUN_020680A0: ; 0x020680A0
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r4, r2, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
- lsl r2, r7, #0
+_020680B6: ; jump table (using 16-bit offset)
+ .short _020680F2 - _020680B6 - 2; case 0
+ .short _020680F2 - _020680B6 - 2; case 1
+ .short _020680F2 - _020680B6 - 2; case 2
+ .short _020680CC - _020680B6 - 2; case 3
+ .short _020680F2 - _020680B6 - 2; case 4
+ .short _020680F2 - _020680B6 - 2; case 5
+ .short _020680F2 - _020680B6 - 2; case 6
+ .short _020680F2 - _020680B6 - 2; case 7
+ .short _020680F2 - _020680B6 - 2; case 8
+ .short _020680F2 - _020680B6 - 2; case 9
+ .short _020680F2 - _020680B6 - 2; case 10
+_020680CC:
add r1, r0, #0x0
add r1, #0x90
ldrh r3, [r1, #0x0]
@@ -195356,7 +219051,8 @@ _020680E4:
strh r1, [r0, #0x0]
pop {r3, pc}
_020680F2:
- .byte 0xB8, 0xF7, 0x9B, 0xFD, 0x08, 0xBD
+ bl FUN_02020C2C
+ pop {r3, pc}
_020680F8:
bl FUN_02068100
pop {r3, pc}
@@ -195400,185 +219096,187 @@ _02068142:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r4, r4, #0x5
- lsl r0, r1, #0x6
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r6, r3, #0x6
- lsl r0, r5, #0x6
- lsl r2, r6, #0x6
- lsl r4, r7, #0x6
- lsl r6, r0, #0x7
- lsl r0, r2, #0x7
- lsl r2, r3, #0x7
- lsl r0, r6, #0x7
- lsl r6, r0, #0x8
- lsl r4, r3, #0x8
- lsl r2, r6, #0x8
- lsl r0, r1, #0x9
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r6, r3, #0x9
- lsl r6, r3, #0x9
- lsl r6, r3, #0x9
- lsl r6, r3, #0x9
- lsl r2, r3, #0xa
- lsl r2, r3, #0xa
- lsl r2, r3, #0xa
- lsl r2, r3, #0xa
- lsl r4, r6, #0xe
- lsl r4, r6, #0xe
- lsl r4, r6, #0xe
- lsl r4, r6, #0xe
- lsl r4, r6, #0xa
- lsl r6, r3, #0xb
- lsl r0, r1, #0xc
- lsl r2, r6, #0xc
- lsl r4, r3, #0xd
- lsl r6, r0, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
- lsl r0, r6, #0xe
+_0206814E: ; jump table (using 16-bit offset)
+ .short _02068500 - _0206814E - 2; case 0
+ .short _02068500 - _0206814E - 2; case 1
+ .short _02068500 - _0206814E - 2; case 2
+ .short _02068500 - _0206814E - 2; case 3
+ .short _02068500 - _0206814E - 2; case 4
+ .short _02068500 - _0206814E - 2; case 5
+ .short _02068500 - _0206814E - 2; case 6
+ .short _02068500 - _0206814E - 2; case 7
+ .short _020682B4 - _0206814E - 2; case 8
+ .short _020682D8 - _0206814E - 2; case 9
+ .short _02068500 - _0206814E - 2; case 10
+ .short _02068500 - _0206814E - 2; case 11
+ .short _02068500 - _0206814E - 2; case 12
+ .short _020682EE - _0206814E - 2; case 13
+ .short _020682F8 - _0206814E - 2; case 14
+ .short _02068302 - _0206814E - 2; case 15
+ .short _0206830C - _0206814E - 2; case 16
+ .short _02068316 - _0206814E - 2; case 17
+ .short _02068320 - _0206814E - 2; case 18
+ .short _0206832A - _0206814E - 2; case 19
+ .short _02068340 - _0206814E - 2; case 20
+ .short _02068356 - _0206814E - 2; case 21
+ .short _0206836C - _0206814E - 2; case 22
+ .short _02068382 - _0206814E - 2; case 23
+ .short _02068398 - _0206814E - 2; case 24
+ .short _02068500 - _0206814E - 2; case 25
+ .short _02068500 - _0206814E - 2; case 26
+ .short _02068500 - _0206814E - 2; case 27
+ .short _02068500 - _0206814E - 2; case 28
+ .short _02068500 - _0206814E - 2; case 29
+ .short _02068500 - _0206814E - 2; case 30
+ .short _02068500 - _0206814E - 2; case 31
+ .short _02068500 - _0206814E - 2; case 32
+ .short _02068500 - _0206814E - 2; case 33
+ .short _02068500 - _0206814E - 2; case 34
+ .short _02068500 - _0206814E - 2; case 35
+ .short _02068500 - _0206814E - 2; case 36
+ .short _02068500 - _0206814E - 2; case 37
+ .short _02068500 - _0206814E - 2; case 38
+ .short _02068500 - _0206814E - 2; case 39
+ .short _02068500 - _0206814E - 2; case 40
+ .short _02068500 - _0206814E - 2; case 41
+ .short _02068500 - _0206814E - 2; case 42
+ .short _02068500 - _0206814E - 2; case 43
+ .short _02068500 - _0206814E - 2; case 44
+ .short _02068500 - _0206814E - 2; case 45
+ .short _02068500 - _0206814E - 2; case 46
+ .short _02068500 - _0206814E - 2; case 47
+ .short _02068500 - _0206814E - 2; case 48
+ .short _02068500 - _0206814E - 2; case 49
+ .short _02068500 - _0206814E - 2; case 50
+ .short _02068500 - _0206814E - 2; case 51
+ .short _02068500 - _0206814E - 2; case 52
+ .short _02068500 - _0206814E - 2; case 53
+ .short _02068500 - _0206814E - 2; case 54
+ .short _02068500 - _0206814E - 2; case 55
+ .short _02068500 - _0206814E - 2; case 56
+ .short _02068500 - _0206814E - 2; case 57
+ .short _020683AE - _0206814E - 2; case 58
+ .short _020683AE - _0206814E - 2; case 59
+ .short _020683AE - _0206814E - 2; case 60
+ .short _020683AE - _0206814E - 2; case 61
+ .short _020683EA - _0206814E - 2; case 62
+ .short _020683EA - _0206814E - 2; case 63
+ .short _020683EA - _0206814E - 2; case 64
+ .short _020683EA - _0206814E - 2; case 65
+ .short _02068504 - _0206814E - 2; case 66
+ .short _02068504 - _0206814E - 2; case 67
+ .short _02068504 - _0206814E - 2; case 68
+ .short _02068504 - _0206814E - 2; case 69
+ .short _02068404 - _0206814E - 2; case 70
+ .short _0206842E - _0206814E - 2; case 71
+ .short _02068458 - _0206814E - 2; case 72
+ .short _02068482 - _0206814E - 2; case 73
+ .short _020684AC - _0206814E - 2; case 74
+ .short _020684D6 - _0206814E - 2; case 75
+ .short _02068500 - _0206814E - 2; case 76
+ .short _02068500 - _0206814E - 2; case 77
+ .short _02068500 - _0206814E - 2; case 78
+ .short _02068500 - _0206814E - 2; case 79
+ .short _02068500 - _0206814E - 2; case 80
+ .short _02068500 - _0206814E - 2; case 81
+ .short _02068500 - _0206814E - 2; case 82
+ .short _02068500 - _0206814E - 2; case 83
+ .short _02068500 - _0206814E - 2; case 84
+ .short _02068500 - _0206814E - 2; case 85
+ .short _02068500 - _0206814E - 2; case 86
+ .short _02068500 - _0206814E - 2; case 87
+ .short _02068500 - _0206814E - 2; case 88
+ .short _02068500 - _0206814E - 2; case 89
+ .short _02068500 - _0206814E - 2; case 90
+ .short _02068500 - _0206814E - 2; case 91
+ .short _02068500 - _0206814E - 2; case 92
+ .short _02068500 - _0206814E - 2; case 93
+ .short _02068500 - _0206814E - 2; case 94
+ .short _02068500 - _0206814E - 2; case 95
+ .short _02068500 - _0206814E - 2; case 96
+ .short _02068500 - _0206814E - 2; case 97
+ .short _02068500 - _0206814E - 2; case 98
+ .short _02068500 - _0206814E - 2; case 99
+ .short _02068500 - _0206814E - 2; case 100
+ .short _02068500 - _0206814E - 2; case 101
+ .short _02068500 - _0206814E - 2; case 102
+ .short _02068500 - _0206814E - 2; case 103
+ .short _02068500 - _0206814E - 2; case 104
+ .short _02068500 - _0206814E - 2; case 105
+ .short _02068500 - _0206814E - 2; case 106
+ .short _02068500 - _0206814E - 2; case 107
+ .short _02068500 - _0206814E - 2; case 108
+ .short _02068500 - _0206814E - 2; case 109
+ .short _02068500 - _0206814E - 2; case 110
+ .short _02068500 - _0206814E - 2; case 111
+ .short _02068500 - _0206814E - 2; case 112
+ .short _02068500 - _0206814E - 2; case 113
+ .short _02068500 - _0206814E - 2; case 114
+ .short _02068500 - _0206814E - 2; case 115
+ .short _02068500 - _0206814E - 2; case 116
+ .short _02068500 - _0206814E - 2; case 117
+ .short _02068500 - _0206814E - 2; case 118
+ .short _02068500 - _0206814E - 2; case 119
+ .short _02068500 - _0206814E - 2; case 120
+ .short _02068500 - _0206814E - 2; case 121
+ .short _02068500 - _0206814E - 2; case 122
+ .short _02068500 - _0206814E - 2; case 123
+ .short _02068500 - _0206814E - 2; case 124
+ .short _02068500 - _0206814E - 2; case 125
+ .short _02068500 - _0206814E - 2; case 126
+ .short _02068500 - _0206814E - 2; case 127
+ .short _02068500 - _0206814E - 2; case 128
+ .short _02068500 - _0206814E - 2; case 129
+ .short _02068500 - _0206814E - 2; case 130
+ .short _02068500 - _0206814E - 2; case 131
+ .short _02068500 - _0206814E - 2; case 132
+ .short _02068500 - _0206814E - 2; case 133
+ .short _02068500 - _0206814E - 2; case 134
+ .short _02068500 - _0206814E - 2; case 135
+ .short _02068500 - _0206814E - 2; case 136
+ .short _02068500 - _0206814E - 2; case 137
+ .short _02068500 - _0206814E - 2; case 138
+ .short _02068500 - _0206814E - 2; case 139
+ .short _02068500 - _0206814E - 2; case 140
+ .short _02068500 - _0206814E - 2; case 141
+ .short _02068500 - _0206814E - 2; case 142
+ .short _02068500 - _0206814E - 2; case 143
+ .short _02068500 - _0206814E - 2; case 144
+ .short _02068500 - _0206814E - 2; case 145
+ .short _02068500 - _0206814E - 2; case 146
+ .short _02068500 - _0206814E - 2; case 147
+ .short _02068500 - _0206814E - 2; case 148
+ .short _02068500 - _0206814E - 2; case 149
+ .short _02068500 - _0206814E - 2; case 150
+ .short _02068500 - _0206814E - 2; case 151
+ .short _02068500 - _0206814E - 2; case 152
+ .short _02068500 - _0206814E - 2; case 153
+ .short _02068500 - _0206814E - 2; case 154
+ .short _02068500 - _0206814E - 2; case 155
+ .short _02068500 - _0206814E - 2; case 156
+ .short _02068500 - _0206814E - 2; case 157
+ .short _02068500 - _0206814E - 2; case 158
+ .short _02068500 - _0206814E - 2; case 159
+ .short _02068500 - _0206814E - 2; case 160
+ .short _02068500 - _0206814E - 2; case 161
+ .short _02068500 - _0206814E - 2; case 162
+ .short _02068500 - _0206814E - 2; case 163
+ .short _02068500 - _0206814E - 2; case 164
+ .short _02068500 - _0206814E - 2; case 165
+ .short _02068500 - _0206814E - 2; case 166
+ .short _02068500 - _0206814E - 2; case 167
+ .short _02068500 - _0206814E - 2; case 168
+ .short _02068500 - _0206814E - 2; case 169
+ .short _02068500 - _0206814E - 2; case 170
+ .short _02068500 - _0206814E - 2; case 171
+ .short _02068500 - _0206814E - 2; case 172
+ .short _02068500 - _0206814E - 2; case 173
+ .short _02068500 - _0206814E - 2; case 174
+ .short _02068500 - _0206814E - 2; case 175
+ .short _02068500 - _0206814E - 2; case 176
+ .short _02068500 - _0206814E - 2; case 177
+ .short _02068500 - _0206814E - 2; case 178
+_020682B4:
ldrh r0, [r4, #0x0]
mov r1, #0x64
bl FUN_02068758
@@ -195597,48 +219295,326 @@ _020682D2:
str r1, [r4, #0x8]
pop {r4-r7, pc}
_020682D8:
- .byte 0x20, 0x7B, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD
- .byte 0xFF, 0x20, 0x03, 0xB0, 0x20, 0x73, 0xF0, 0xBD, 0x03, 0xB0, 0x20, 0x73, 0xF0, 0xBD, 0x20, 0x7C
- .byte 0x03, 0xB0, 0x80, 0x19, 0x20, 0x74, 0xF0, 0xBD, 0x60, 0x7C, 0x03, 0xB0, 0x80, 0x19, 0x60, 0x74
- .byte 0xF0, 0xBD, 0xA0, 0x7C, 0x03, 0xB0, 0x80, 0x19, 0xA0, 0x74, 0xF0, 0xBD, 0xE0, 0x7C, 0x03, 0xB0
- .byte 0x80, 0x19, 0xE0, 0x74, 0xF0, 0xBD, 0x20, 0x7D, 0x03, 0xB0, 0x80, 0x19, 0x20, 0x75, 0xF0, 0xBD
- .byte 0x60, 0x7D, 0x03, 0xB0, 0x80, 0x19, 0x60, 0x75, 0xF0, 0xBD, 0xA0, 0x7D, 0x80, 0x19, 0xFF, 0x28
- .byte 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xA0, 0x75, 0xF0, 0xBD, 0x03, 0xB0, 0xA0, 0x75, 0xF0, 0xBD
- .byte 0xE0, 0x7D, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xE0, 0x75, 0xF0, 0xBD
- .byte 0x03, 0xB0, 0xE0, 0x75, 0xF0, 0xBD, 0x20, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20
- .byte 0x03, 0xB0, 0x20, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0x20, 0x76, 0xF0, 0xBD, 0x60, 0x7E, 0x80, 0x19
- .byte 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0x60, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0x60, 0x76
- .byte 0xF0, 0xBD, 0xA0, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xA0, 0x76
- .byte 0xF0, 0xBD, 0x03, 0xB0, 0xA0, 0x76, 0xF0, 0xBD, 0xE0, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD
- .byte 0xFF, 0x20, 0x03, 0xB0, 0xE0, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0xE0, 0x76, 0xF0, 0xBD, 0x28, 0x1C
- .byte 0x01, 0x90, 0x0C, 0x30, 0x01, 0x90, 0x3A, 0x3F, 0x01, 0x99, 0x78, 0x00, 0x02, 0x90, 0x2C, 0x1C
- .byte 0x28, 0x5A, 0xC9, 0x5D, 0x08, 0x34, 0x02, 0xF0, 0xB3, 0xFB, 0xE1, 0x5D, 0x71, 0x18, 0x81, 0x42
- .byte 0x08, 0xDD, 0x02, 0x98, 0x01, 0x99, 0x28, 0x5A, 0xC9, 0x5D, 0x02, 0xF0, 0xA9, 0xFB, 0x03, 0xB0
- .byte 0xE0, 0x55, 0xF0, 0xBD, 0x03, 0xB0, 0xE1, 0x55, 0xF0, 0xBD, 0x0C, 0x35, 0x3E, 0x3F, 0xE8, 0x5D
- .byte 0x30, 0x18, 0x03, 0x28, 0x03, 0xDD, 0x03, 0x20, 0x03, 0xB0, 0xE8, 0x55, 0xF0, 0xBD, 0x03, 0xB0
- .byte 0xE8, 0x55, 0xF0, 0xBD, 0x29, 0x69, 0xC8, 0x06, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x06, 0xD9
- .byte 0x1F, 0x20, 0x81, 0x43, 0x1F, 0x20, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x1F, 0x20
- .byte 0x81, 0x43, 0x1F, 0x20, 0x10, 0x40, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69
- .byte 0x88, 0x05, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x33, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20
- .byte 0x00, 0x01, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x0D
- .byte 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0x48, 0x04, 0xC0, 0x0E, 0x82, 0x19
- .byte 0x1F, 0x2A, 0x2A, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x1F, 0x20, 0x80, 0x02, 0x08, 0x43, 0x03, 0xB0
- .byte 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61
- .byte 0xF0, 0xBD, 0x29, 0x69, 0x08, 0x03, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x20, 0x48, 0x06, 0xD9
- .byte 0x01, 0x40, 0x3E, 0x20, 0x80, 0x03, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40
- .byte 0xD0, 0x06, 0x00, 0x0B, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xC8, 0x01
- .byte 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x17, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x1F, 0x20, 0x00, 0x05
- .byte 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0xC0, 0x09, 0x08, 0x43
- .byte 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0x88, 0x00, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A
- .byte 0x0D, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20, 0x00, 0x06, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61
- .byte 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD
+ ldrb r0, [r4, #0xc]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _020682E8
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0xc]
+ pop {r4-r7, pc}
+_020682E8:
+ add sp, #0xc
+ strb r0, [r4, #0xc]
+ pop {r4-r7, pc}
+_020682EE:
+ ldrb r0, [r4, #0x10]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x10]
+ pop {r4-r7, pc}
+_020682F8:
+ ldrb r0, [r4, #0x11]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x11]
+ pop {r4-r7, pc}
+_02068302:
+ ldrb r0, [r4, #0x12]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x12]
+ pop {r4-r7, pc}
+_0206830C:
+ ldrb r0, [r4, #0x13]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x13]
+ pop {r4-r7, pc}
+_02068316:
+ ldrb r0, [r4, #0x14]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x14]
+ pop {r4-r7, pc}
+_02068320:
+ ldrb r0, [r4, #0x15]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x15]
+ pop {r4-r7, pc}
+_0206832A:
+ ldrb r0, [r4, #0x16]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _0206833A
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x16]
+ pop {r4-r7, pc}
+_0206833A:
+ add sp, #0xc
+ strb r0, [r4, #0x16]
+ pop {r4-r7, pc}
+_02068340:
+ ldrb r0, [r4, #0x17]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _02068350
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x17]
+ pop {r4-r7, pc}
+_02068350:
+ add sp, #0xc
+ strb r0, [r4, #0x17]
+ pop {r4-r7, pc}
+_02068356:
+ ldrb r0, [r4, #0x18]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _02068366
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x18]
+ pop {r4-r7, pc}
+_02068366:
+ add sp, #0xc
+ strb r0, [r4, #0x18]
+ pop {r4-r7, pc}
+_0206836C:
+ ldrb r0, [r4, #0x19]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _0206837C
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x19]
+ pop {r4-r7, pc}
+_0206837C:
+ add sp, #0xc
+ strb r0, [r4, #0x19]
+ pop {r4-r7, pc}
+_02068382:
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _02068392
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x1a]
+ pop {r4-r7, pc}
+_02068392:
+ add sp, #0xc
+ strb r0, [r4, #0x1a]
+ pop {r4-r7, pc}
+_02068398:
+ ldrb r0, [r4, #0x1b]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _020683A8
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x1b]
+ pop {r4-r7, pc}
+_020683A8:
+ add sp, #0xc
+ strb r0, [r4, #0x1b]
+ pop {r4-r7, pc}
+_020683AE:
+ add r0, r5, #0x0
+ str r0, [sp, #0x4]
+ add r0, #0xc
+ str r0, [sp, #0x4]
+ sub r7, #0x3a
+ ldr r1, [sp, #0x4]
+ lsl r0, r7, #0x1
+ str r0, [sp, #0x8]
+ add r4, r5, #0x0
+ ldrh r0, [r5, r0]
+ ldrb r1, [r1, r7]
+ add r4, #0x8
+ bl FUN_0206AB30
+ ldrb r1, [r4, r7]
+ add r1, r6, r1
+ cmp r1, r0
+ ble _020683E4
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ ldrh r0, [r5, r0]
+ ldrb r1, [r1, r7]
+ bl FUN_0206AB30
+ add sp, #0xc
+ strb r0, [r4, r7]
+ pop {r4-r7, pc}
+_020683E4:
+ add sp, #0xc
+ strb r1, [r4, r7]
+ pop {r4-r7, pc}
+_020683EA:
+ add r5, #0xc
+ sub r7, #0x3e
+ ldrb r0, [r5, r7]
+ add r0, r6, r0
+ cmp r0, #0x3
+ ble _020683FE
+ mov r0, #0x3
+ add sp, #0xc
+ strb r0, [r5, r7]
+ pop {r4-r7, pc}
+_020683FE:
+ add sp, #0xc
+ strb r0, [r5, r7]
+ pop {r4-r7, pc}
+_02068404:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x1b
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ bls _0206841E
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #0x1f
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206841E:
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #0x1f
+ and r0, r2
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206842E:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x16
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068508 ; =0xFFFFFC1F
+ bls _0206844A
+ and r1, r0
+ mov r0, #0x3e
+ lsl r0, r0, #0x4
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206844A:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x16
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068458:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x11
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _0206850C ; =0xFFFF83FF
+ bls _02068474
+ and r1, r0
+ mov r0, #0x1f
+ lsl r0, r0, #0xa
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068474:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x11
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068482:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0xc
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068510 ; =0xFFF07FFF
+ bls _0206849E
+ and r1, r0
+ mov r0, #0x3e
+ lsl r0, r0, #0xe
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206849E:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0xc
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684AC:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x7
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068514 ; =0xFE0FFFFF
+ bls _020684C8
+ and r1, r0
+ mov r0, #0x1f
+ lsl r0, r0, #0x14
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684C8:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x7
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684D6:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x2
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068518 ; =0xC1FFFFFF
+ bls _020684F2
+ and r1, r0
+ mov r0, #0x3e
+ lsl r0, r0, #0x18
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684F2:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
_02068500:
bl FUN_02020C2C
+_02068504:
add sp, #0xc
pop {r4-r7, pc}
-_02068508:
- .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF
- .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1
+ .balign 4
+_02068508: .word 0xFFFFFC1F
+_0206850C: .word 0xFFFF83FF
+_02068510: .word 0xFFF07FFF
+_02068514: .word 0xFE0FFFFF
+_02068518: .word 0xC1FFFFFF
thumb_func_start FUN_0206851C
FUN_0206851C: ; 0x0206851C
@@ -195672,53 +219648,154 @@ _02068546:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r0, #0x1
- lsl r4, r0, #0x1
- lsl r0, r1, #0x1
- lsl r4, r1, #0x1
- lsl r0, r2, #0x1
- lsl r4, r2, #0x1
- lsl r0, r3, #0x1
- lsl r4, r3, #0x1
- lsl r0, r4, #0x1
- lsl r4, r4, #0x1
- lsl r0, r5, #0x1
- lsl r0, r6, #0x1
- lsl r0, r7, #0x1
- lsl r0, r0, #0x2
- lsl r0, r1, #0x2
- lsl r0, r2, #0x2
- lsl r0, r3, #0x2
- lsl r4, r3, #0x2
- lsl r0, r4, #0x2
- lsl r4, r4, #0x2
- lsl r0, r5, #0x2
- lsl r4, r5, #0x2
- lsl r0, r6, #0x2
- lsl r4, r6, #0x2
- lsl r0, r7, #0x2
- lsl r4, r7, #0x2
- lsl r0, r0, #0x3
- lsl r4, r0, #0x3
- lsl r4, r1, #0x3
- lsl r4, r2, #0x3
- lsl r0, r3, #0x3
- lsl r4, r3, #0x3
- lsl r0, r4, #0x3
+_02068556: ; jump table (using 16-bit offset)
+ .short _02068598 - _02068556 - 2; case 0
+ .short _0206859C - _02068556 - 2; case 1
+ .short _020685A0 - _02068556 - 2; case 2
+ .short _020685A4 - _02068556 - 2; case 3
+ .short _020685A8 - _02068556 - 2; case 4
+ .short _020685AC - _02068556 - 2; case 5
+ .short _020685B0 - _02068556 - 2; case 6
+ .short _020685B4 - _02068556 - 2; case 7
+ .short _020685B8 - _02068556 - 2; case 8
+ .short _020685BC - _02068556 - 2; case 9
+ .short _020685C0 - _02068556 - 2; case 10
+ .short _020685C8 - _02068556 - 2; case 11
+ .short _020685D0 - _02068556 - 2; case 12
+ .short _020685D8 - _02068556 - 2; case 13
+ .short _020685E0 - _02068556 - 2; case 14
+ .short _020685E8 - _02068556 - 2; case 15
+ .short _020685F0 - _02068556 - 2; case 16
+ .short _020685F4 - _02068556 - 2; case 17
+ .short _020685F8 - _02068556 - 2; case 18
+ .short _020685FC - _02068556 - 2; case 19
+ .short _02068600 - _02068556 - 2; case 20
+ .short _02068604 - _02068556 - 2; case 21
+ .short _02068608 - _02068556 - 2; case 22
+ .short _0206860C - _02068556 - 2; case 23
+ .short _02068610 - _02068556 - 2; case 24
+ .short _02068614 - _02068556 - 2; case 25
+ .short _02068618 - _02068556 - 2; case 26
+ .short _0206861C - _02068556 - 2; case 27
+ .short _02068624 - _02068556 - 2; case 28
+ .short _0206862C - _02068556 - 2; case 29
+ .short _02068630 - _02068556 - 2; case 30
+ .short _02068634 - _02068556 - 2; case 31
+ .short _02068638 - _02068556 - 2; case 32
+_02068598:
ldrb r5, [r4, #0x0]
b _0206863A
_0206859C:
- .byte 0x65, 0x78, 0x4C, 0xE0
- .byte 0xA5, 0x78, 0x4A, 0xE0, 0xE5, 0x78, 0x48, 0xE0, 0x25, 0x79, 0x46, 0xE0, 0x65, 0x79, 0x44, 0xE0
- .byte 0xA5, 0x79, 0x42, 0xE0, 0xE5, 0x79, 0x40, 0xE0, 0x25, 0x7A, 0x3E, 0xE0, 0x65, 0x7A, 0x3C, 0xE0
- .byte 0x60, 0x89, 0x80, 0x07, 0x85, 0x0F, 0x38, 0xE0, 0x60, 0x89, 0x00, 0x07, 0x85, 0x0F, 0x34, 0xE0
- .byte 0x60, 0x89, 0x80, 0x06, 0x85, 0x0F, 0x30, 0xE0, 0x60, 0x89, 0x00, 0x06, 0x85, 0x0F, 0x2C, 0xE0
- .byte 0x60, 0x89, 0x80, 0x05, 0x85, 0x0F, 0x28, 0xE0, 0x60, 0x89, 0x00, 0x05, 0x85, 0x0F, 0x24, 0xE0
- .byte 0xA5, 0x89, 0x22, 0xE0, 0xE5, 0x89, 0x20, 0xE0, 0x25, 0x7C, 0x1E, 0xE0, 0x65, 0x7C, 0x1C, 0xE0
- .byte 0xA5, 0x7C, 0x1A, 0xE0, 0xE5, 0x7C, 0x18, 0xE0, 0x25, 0x7D, 0x16, 0xE0, 0x65, 0x7D, 0x14, 0xE0
- .byte 0xA5, 0x7D, 0x12, 0xE0, 0xE5, 0x7D, 0x10, 0xE0, 0x25, 0x7E, 0x0E, 0xE0, 0x60, 0x7E, 0x40, 0x06
- .byte 0x45, 0x0E, 0x0A, 0xE0, 0x60, 0x7E, 0x00, 0x06, 0xC5, 0x0F, 0x06, 0xE0, 0xE5, 0x69, 0x04, 0xE0
- .byte 0x25, 0x6A, 0x02, 0xE0, 0x65, 0x6A, 0x00, 0xE0, 0xA5, 0x6A
+ ldrb r5, [r4, #0x1]
+ b _0206863A
+_020685A0:
+ ldrb r5, [r4, #0x2]
+ b _0206863A
+_020685A4:
+ ldrb r5, [r4, #0x3]
+ b _0206863A
+_020685A8:
+ ldrb r5, [r4, #0x4]
+ b _0206863A
+_020685AC:
+ ldrb r5, [r4, #0x5]
+ b _0206863A
+_020685B0:
+ ldrb r5, [r4, #0x6]
+ b _0206863A
+_020685B4:
+ ldrb r5, [r4, #0x7]
+ b _0206863A
+_020685B8:
+ ldrb r5, [r4, #0x8]
+ b _0206863A
+_020685BC:
+ ldrb r5, [r4, #0x9]
+ b _0206863A
+_020685C0:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x1e
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685C8:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x1c
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685D0:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x1a
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685D8:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685E0:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x16
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685E8:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x14
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685F0:
+ ldrh r5, [r4, #0xc]
+ b _0206863A
+_020685F4:
+ ldrh r5, [r4, #0xe]
+ b _0206863A
+_020685F8:
+ ldrb r5, [r4, #0x10]
+ b _0206863A
+_020685FC:
+ ldrb r5, [r4, #0x11]
+ b _0206863A
+_02068600:
+ ldrb r5, [r4, #0x12]
+ b _0206863A
+_02068604:
+ ldrb r5, [r4, #0x13]
+ b _0206863A
+_02068608:
+ ldrb r5, [r4, #0x14]
+ b _0206863A
+_0206860C:
+ ldrb r5, [r4, #0x15]
+ b _0206863A
+_02068610:
+ ldrb r5, [r4, #0x16]
+ b _0206863A
+_02068614:
+ ldrb r5, [r4, #0x17]
+ b _0206863A
+_02068618:
+ ldrb r5, [r4, #0x18]
+ b _0206863A
+_0206861C:
+ ldrb r0, [r4, #0x19]
+ lsl r0, r0, #0x19
+ lsr r5, r0, #0x19
+ b _0206863A
+_02068624:
+ ldrb r0, [r4, #0x19]
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x1f
+ b _0206863A
+_0206862C:
+ ldr r5, [r4, #0x1c]
+ b _0206863A
+_02068630:
+ ldr r5, [r4, #0x20]
+ b _0206863A
+_02068634:
+ ldr r5, [r4, #0x24]
+ b _0206863A
+_02068638:
+ ldr r5, [r4, #0x28]
_0206863A:
add r0, r5, #0x0
pop {r4-r6, pc}
@@ -197352,10 +221429,12 @@ _02069202:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r6, #0x9
- lsl r6, r5, #0xa
- lsl r6, r5, #0xa
+_0206920E: ; jump table (using 16-bit offset)
+ .short _02069216 - _0206920E - 2; case 0
+ .short _02069486 - _0206920E - 2; case 1
+ .short _020694BE - _0206920E - 2; case 2
+ .short _020694BE - _0206920E - 2; case 3
+_02069216:
add r0, r7, #0x0
mov r1, #0xa0
mov r2, #0x0
@@ -197389,33 +221468,35 @@ _0206924E:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r2, #0x8
- lsl r4, r6, #0
- lsl r2, r0, #0x1
- lsl r0, r3, #0x1
- lsl r6, r5, #0x1
- lsl r6, r2, #0x8
- lsl r6, r2, #0x8
- lsl r6, r2, #0x8
- lsl r6, r7, #0x1
- lsl r2, r5, #0x2
- lsl r6, r2, #0x3
- lsl r2, r0, #0x4
- lsl r2, r3, #0x4
- lsl r0, r6, #0x4
- lsl r0, r0, #0x5
- lsl r6, r0, #0x5
- lsl r6, r2, #0x8
- lsl r6, r2, #0x8
- lsl r6, r2, #0x5
- lsl r6, r5, #0x5
- lsl r6, r0, #0x6
- lsl r2, r3, #0x6
- lsl r2, r6, #0x6
- lsl r0, r2, #0x7
- lsl r6, r5, #0x7
- lsl r4, r7, #0x7
- lsl r2, r1, #0x8
+_0206925A: ; jump table (using 16-bit offset)
+ .short _02069472 - _0206925A - 2; case 0
+ .short _02069290 - _0206925A - 2; case 1
+ .short _0206929E - _0206925A - 2; case 2
+ .short _020692B4 - _0206925A - 2; case 3
+ .short _020692CA - _0206925A - 2; case 4
+ .short _02069472 - _0206925A - 2; case 5
+ .short _02069472 - _0206925A - 2; case 6
+ .short _02069472 - _0206925A - 2; case 7
+ .short _020692DA - _0206925A - 2; case 8
+ .short _02069306 - _0206925A - 2; case 9
+ .short _02069332 - _0206925A - 2; case 10
+ .short _0206935E - _0206925A - 2; case 11
+ .short _02069376 - _0206925A - 2; case 12
+ .short _0206938C - _0206925A - 2; case 13
+ .short _0206939C - _0206925A - 2; case 14
+ .short _020693A2 - _0206925A - 2; case 15
+ .short _02069472 - _0206925A - 2; case 16
+ .short _02069472 - _0206925A - 2; case 17
+ .short _020693B2 - _0206925A - 2; case 18
+ .short _020693CA - _0206925A - 2; case 19
+ .short _020693E2 - _0206925A - 2; case 20
+ .short _020693F6 - _0206925A - 2; case 21
+ .short _0206940E - _0206925A - 2; case 22
+ .short _0206942C - _0206925A - 2; case 23
+ .short _0206944A - _0206925A - 2; case 24
+ .short _02069458 - _0206925A - 2; case 25
+ .short _02069466 - _0206925A - 2; case 26
+_02069290:
ldr r0, [sp, #0x20]
cmp r0, #0xdc
blo _0206936C
@@ -197424,41 +221505,247 @@ _0206924E:
str r0, [r5, #0x0]
b _02069472
_0206929E:
- .byte 0xA9, 0xF7
- .byte 0x6D, 0xFA, 0x00, 0x28, 0x62, 0xD1, 0x08, 0x98, 0xDC, 0x28, 0x5F, 0xD3, 0xA6, 0x88, 0x02, 0x20
- .byte 0x28, 0x60, 0xDE, 0xE0, 0xA9, 0xF7, 0x62, 0xFA, 0x01, 0x28, 0x57, 0xD1, 0x08, 0x98, 0xDC, 0x28
- .byte 0x54, 0xD3, 0xA6, 0x88, 0x03, 0x20, 0x28, 0x60, 0xD3, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42
- .byte 0x4C, 0xDC, 0xA6, 0x88, 0x04, 0x20, 0x28, 0x60, 0xCB, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42
- .byte 0x44, 0xDC, 0x38, 0x1C, 0xA4, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x68, 0xFF, 0x0D, 0x90, 0x38, 0x1C
- .byte 0xA5, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x62, 0xFF, 0x0D, 0x99, 0x81, 0x42, 0x36, 0xD9, 0xA6, 0x88
- .byte 0x08, 0x20, 0x28, 0x60, 0xB5, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x2E, 0xDC, 0x38, 0x1C
- .byte 0xA4, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x52, 0xFF, 0x0E, 0x90, 0x38, 0x1C, 0xA5, 0x21, 0x00, 0x22
- .byte 0xFD, 0xF7, 0x4C, 0xFF, 0x0E, 0x99, 0x81, 0x42, 0x20, 0xD1, 0xA6, 0x88, 0x09, 0x20, 0x28, 0x60
- .byte 0x9F, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x18, 0xDC, 0x38, 0x1C, 0xA4, 0x21, 0x00, 0x22
- .byte 0xFD, 0xF7, 0x3C, 0xFF, 0x0F, 0x90, 0x38, 0x1C, 0xA5, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x36, 0xFF
- .byte 0x0F, 0x99, 0x81, 0x42, 0x0A, 0xD2, 0xA6, 0x88, 0x0A, 0x20, 0x28, 0x60, 0x89, 0xE0, 0x61, 0x88
- .byte 0x05, 0x98, 0x81, 0x42, 0x02, 0xDC, 0x02, 0x98, 0x05, 0x28, 0x00, 0xDB
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0206936C
+ ldr r0, [sp, #0x20]
+ cmp r0, #0xdc
+ blo _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02069472
+_020692B4:
+ bl FUN_0201277C
+ cmp r0, #0x1
+ bne _0206936C
+ ldr r0, [sp, #0x20]
+ cmp r0, #0xdc
+ blo _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02069472
+_020692CA:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02069472
+_020692DA:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ add r0, r7, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x34]
+ add r0, r7, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x34]
+ cmp r1, r0
+ bls _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x8
+ str r0, [r5, #0x0]
+ b _02069472
+_02069306:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ add r0, r7, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x38]
+ add r0, r7, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x38]
+ cmp r1, r0
+ bne _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x9
+ str r0, [r5, #0x0]
+ b _02069472
+_02069332:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ add r0, r7, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x3c]
+ add r0, r7, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x3c]
+ cmp r1, r0
+ bhs _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xa
+ str r0, [r5, #0x0]
+ b _02069472
+_0206935E:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x5
+ blt _0206936E
_0206936C:
b _02069472
_0206936E:
- .byte 0xA6, 0x88
- .byte 0x0B, 0x20, 0x28, 0x60, 0x7D, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x79, 0xDC, 0x02, 0x98
- .byte 0x05, 0x28, 0x76, 0xDB, 0xA6, 0x88, 0x0C, 0x20, 0x28, 0x60, 0x72, 0xE0, 0x61, 0x88, 0x05, 0x98
- .byte 0x81, 0x42, 0x6E, 0xDC, 0xA6, 0x88, 0x0D, 0x20, 0x28, 0x60, 0x6A, 0xE0, 0x0E, 0x20, 0x28, 0x60
- .byte 0x67, 0xE0, 0x61, 0x88, 0x04, 0x98, 0x81, 0x42, 0x63, 0xDC, 0xA6, 0x88, 0x0F, 0x20, 0x28, 0x60
- .byte 0x5F, 0xE0, 0xA9, 0xF7, 0xE3, 0xF9, 0x00, 0x28, 0x5B, 0xD1, 0x61, 0x88, 0x0A, 0x98, 0x88, 0x42
- .byte 0x57, 0xD1, 0xA6, 0x88, 0x12, 0x20, 0x28, 0x60, 0x53, 0xE0, 0xA9, 0xF7, 0xD7, 0xF9, 0x01, 0x28
- .byte 0x4F, 0xD1, 0x61, 0x88, 0x0A, 0x98, 0x88, 0x42, 0x4B, 0xD1, 0xA6, 0x88, 0x13, 0x20, 0x28, 0x60
- .byte 0x47, 0xE0, 0x61, 0x88, 0x38, 0x1C, 0x00, 0xF0, 0x27, 0xFB, 0x01, 0x28, 0x41, 0xD1, 0xA6, 0x88
- .byte 0x14, 0x20, 0x28, 0x60, 0x3D, 0xE0, 0x00, 0x98, 0x00, 0x28, 0x3A, 0xD0, 0x61, 0x88, 0x02, 0xF0
- .byte 0x71, 0xFB, 0x01, 0x28, 0x35, 0xD1, 0xA6, 0x88, 0x15, 0x20, 0x28, 0x60, 0x31, 0xE0, 0x38, 0x1C
- .byte 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0xD2, 0xFE, 0x00, 0x28, 0x2A, 0xD1, 0x61, 0x88, 0x05, 0x98
- .byte 0x81, 0x42, 0x26, 0xDC, 0xA6, 0x88, 0x16, 0x20, 0x28, 0x60, 0x22, 0xE0, 0x38, 0x1C, 0x6F, 0x21
- .byte 0x00, 0x22, 0xFD, 0xF7, 0xC3, 0xFE, 0x01, 0x28, 0x1B, 0xD1, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42
- .byte 0x17, 0xDC, 0xA6, 0x88, 0x17, 0x20, 0x28, 0x60, 0x13, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x10, 0xD1
- .byte 0xA6, 0x88, 0x18, 0x20, 0x28, 0x60, 0x0C, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x09, 0xD1, 0xA6, 0x88
- .byte 0x19, 0x20, 0x28, 0x60, 0x05, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x02, 0xD1, 0xA6, 0x88, 0x1A, 0x20
- .byte 0x28, 0x60
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xb
+ str r0, [r5, #0x0]
+ b _02069472
+_02069376:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x5
+ blt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xc
+ str r0, [r5, #0x0]
+ b _02069472
+_0206938C:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xd
+ str r0, [r5, #0x0]
+ b _02069472
+_0206939C:
+ mov r0, #0xe
+ str r0, [r5, #0x0]
+ b _02069472
+_020693A2:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x10]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xf
+ str r0, [r5, #0x0]
+ b _02069472
+_020693B2:
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x12
+ str r0, [r5, #0x0]
+ b _02069472
+_020693CA:
+ bl FUN_0201277C
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x13
+ str r0, [r5, #0x0]
+ b _02069472
+_020693E2:
+ ldrh r1, [r4, #0x2]
+ add r0, r7, #0x0
+ bl FUN_02069A38
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x14
+ str r0, [r5, #0x0]
+ b _02069472
+_020693F6:
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _02069472
+ ldrh r1, [r4, #0x2]
+ bl FUN_0206BAE4
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x15
+ str r0, [r5, #0x0]
+ b _02069472
+_0206940E:
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x16
+ str r0, [r5, #0x0]
+ b _02069472
+_0206942C:
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x17
+ str r0, [r5, #0x0]
+ b _02069472
+_0206944A:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x18
+ str r0, [r5, #0x0]
+ b _02069472
+_02069458:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x19
+ str r0, [r5, #0x0]
+ b _02069472
+_02069466:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x1a
+ str r0, [r5, #0x0]
_02069472:
cmp r6, #0x0
bne _0206954A
@@ -197472,21 +221759,111 @@ _02069472:
_02069484:
b _0206954A
_02069486:
- .byte 0x06, 0x9B, 0x00, 0x24, 0x06, 0x27, 0x05, 0x22, 0x18, 0x88
- .byte 0x05, 0x28, 0x02, 0xD0, 0x06, 0x28, 0x05, 0xD0, 0x0A, 0xE0, 0x9E, 0x88, 0x2A, 0x60, 0x07, 0xE0
+ ldr r3, [sp, #0x18]
+ mov r4, #0x0
+ mov r7, #0x6
+ mov r2, #0x5
+_0206948E:
+ ldrh r0, [r3, #0x0]
+ cmp r0, #0x5
+ beq _0206949A
+ cmp r0, #0x6
+ beq _020694A4
+ b _020694B0
+_0206949A:
+ ldrh r6, [r3, #0x4]
+ str r2, [r5, #0x0]
+ b _020694B0
+ .balign 4
_020694A0: .word 0xFFFF0000
_020694A4:
- .byte 0x59, 0x88, 0x0A, 0x98, 0x88, 0x42, 0x01, 0xD1, 0x9E, 0x88, 0x2F, 0x60
- .byte 0x00, 0x2E, 0x4A, 0xD1, 0x64, 0x1C, 0x9B, 0x1D, 0x07, 0x2C, 0xE8, 0xDB, 0x45, 0xE0, 0x00, 0x20
- .byte 0x06, 0x9C, 0x03, 0x90, 0x22, 0x88, 0x07, 0x2A, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42
- .byte 0x08, 0xD1, 0x03, 0x98, 0x06, 0x21, 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20
- .byte 0x28, 0x60, 0x32, 0xE0, 0x10, 0x2A, 0x13, 0xD1, 0x38, 0x1C, 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7
- .byte 0x65, 0xFE, 0x00, 0x28, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42, 0x08, 0xD1, 0x03, 0x98
- .byte 0x06, 0x21, 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20, 0x28, 0x60, 0x1C, 0xE0
- .byte 0x20, 0x88, 0x11, 0x28, 0x13, 0xD1, 0x38, 0x1C, 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x4E, 0xFE
- .byte 0x01, 0x28, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42, 0x08, 0xD1, 0x03, 0x98, 0x06, 0x21
- .byte 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20, 0x28, 0x60, 0x05, 0xE0, 0x03, 0x98
- .byte 0xA4, 0x1D, 0x40, 0x1C, 0x03, 0x90, 0x07, 0x28, 0xBC, 0xDB
+ ldrh r1, [r3, #0x2]
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _020694B0
+ ldrh r6, [r3, #0x4]
+ str r7, [r5, #0x0]
+_020694B0:
+ cmp r6, #0x0
+ bne _0206954A
+ add r4, r4, #0x1
+ add r3, r3, #0x6
+ cmp r4, #0x7
+ blt _0206948E
+ b _0206954A
+_020694BE:
+ mov r0, #0x0
+ ldr r4, [sp, #0x18]
+ str r0, [sp, #0xc]
+_020694C4:
+ ldrh r2, [r4, #0x0]
+ cmp r2, #0x7
+ bne _020694E4
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _020694E4
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mul r1, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ ldrh r6, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _0206954A
+_020694E4:
+ cmp r2, #0x10
+ bne _02069510
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02069510
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _02069510
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mul r1, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ ldrh r6, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _0206954A
+_02069510:
+ ldrh r0, [r4, #0x0]
+ cmp r0, #0x11
+ bne _0206953E
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _0206953E
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _0206953E
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mul r1, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ ldrh r6, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _0206954A
+_0206953E:
+ ldr r0, [sp, #0xc]
+ add r4, r4, #0x6
+ add r0, r0, #0x1
+ str r0, [sp, #0xc]
+ cmp r0, #0x7
+ blt _020694C4
_0206954A:
ldr r0, [sp, #0x18]
bl FUN_02016A18
@@ -198785,30 +223162,71 @@ FUN_02069F24: ; 0x02069F24
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
- lsl r2, r6, #0
- lsl r6, r6, #0
- lsl r2, r7, #0
- lsl r6, r7, #0
- lsl r2, r0, #0x1
- lsl r6, r0, #0x1
- lsl r2, r1, #0x1
- lsl r6, r1, #0x1
- lsl r2, r2, #0x1
- lsl r6, r2, #0x1
- lsl r2, r3, #0x1
+_02069F36: ; jump table (using 16-bit offset)
+ .short _02069F56 - _02069F36 - 2; case 0
+ .short _02069F5A - _02069F36 - 2; case 1
+ .short _02069F5E - _02069F36 - 2; case 2
+ .short _02069F62 - _02069F36 - 2; case 3
+ .short _02069F66 - _02069F36 - 2; case 4
+ .short _02069F6A - _02069F36 - 2; case 5
+ .short _02069F6E - _02069F36 - 2; case 6
+ .short _02069F72 - _02069F36 - 2; case 7
+ .short _02069F76 - _02069F36 - 2; case 8
+ .short _02069F7A - _02069F36 - 2; case 9
+ .short _02069F7E - _02069F36 - 2; case 10
+ .short _02069F82 - _02069F36 - 2; case 11
+ .short _02069F86 - _02069F36 - 2; case 12
+ .short _02069F8A - _02069F36 - 2; case 13
+ .short _02069F8E - _02069F36 - 2; case 14
+ .short _02069F92 - _02069F36 - 2; case 15
+_02069F56:
mov r0, #0xa
bx lr
_02069F5A:
- .byte 0x0B, 0x20, 0x70, 0x47, 0x0D, 0x20
- .byte 0x70, 0x47, 0x0C, 0x20, 0x70, 0x47, 0x0F, 0x20, 0x70, 0x47, 0x01, 0x20, 0x70, 0x47, 0x03, 0x20
- .byte 0x70, 0x47, 0x04, 0x20, 0x70, 0x47, 0x02, 0x20, 0x70, 0x47, 0x0E, 0x20, 0x70, 0x47, 0x06, 0x20
- .byte 0x70, 0x47, 0x05, 0x20, 0x70, 0x47, 0x07, 0x20, 0x70, 0x47, 0x10, 0x20, 0x70, 0x47, 0x11, 0x20
- .byte 0x70, 0x47, 0x08, 0x20, 0x70, 0x47
+ mov r0, #0xb
+ bx lr
+_02069F5E:
+ mov r0, #0xd
+ bx lr
+_02069F62:
+ mov r0, #0xc
+ bx lr
+_02069F66:
+ mov r0, #0xf
+ bx lr
+_02069F6A:
+ mov r0, #0x1
+ bx lr
+_02069F6E:
+ mov r0, #0x3
+ bx lr
+_02069F72:
+ mov r0, #0x4
+ bx lr
+_02069F76:
+ mov r0, #0x2
+ bx lr
+_02069F7A:
+ mov r0, #0xe
+ bx lr
+_02069F7E:
+ mov r0, #0x6
+ bx lr
+_02069F82:
+ mov r0, #0x5
+ bx lr
+_02069F86:
+ mov r0, #0x7
+ bx lr
+_02069F8A:
+ mov r0, #0x10
+ bx lr
+_02069F8E:
+ mov r0, #0x11
+ bx lr
+_02069F92:
+ mov r0, #0x8
+ bx lr
_02069F96:
mov r0, #0x0
bx lr
@@ -199412,38 +223830,40 @@ FUN_0206A418: ; 0x0206A418
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r6, r7, #0
- lsl r0, r6, #0x1
- lsl r0, r4, #0x2
- lsl r0, r2, #0x3
- lsl r0, r0, #0x4
- lsl r0, r6, #0x4
- lsl r0, r4, #0x5
- lsl r2, r2, #0x6
- lsl r2, r0, #0x7
- lsl r2, r6, #0x7
- lsl r2, r4, #0x8
- lsl r2, r2, #0x9
- lsl r2, r0, #0xa
- lsl r4, r6, #0xa
- lsl r4, r4, #0xb
- lsl r4, r2, #0xc
- lsl r4, r0, #0xd
- lsl r4, r6, #0xd
- lsl r4, r4, #0xe
- lsl r6, r2, #0xf
- lsl r6, r0, #0x10
- lsl r6, r6, #0x10
- lsl r6, r4, #0x11
- lsl r6, r2, #0x12
- lsl r6, r7, #0
- lsl r0, r6, #0x1
- lsl r0, r4, #0x2
- lsl r0, r2, #0x3
- lsl r0, r0, #0x4
- lsl r0, r6, #0x4
- lsl r0, r4, #0x5
- lsl r2, r2, #0x6
+_0206A432: ; jump table (using 16-bit offset)
+ .short _0206A472 - _0206A432 - 2; case 0
+ .short _0206A4A4 - _0206A432 - 2; case 1
+ .short _0206A4D4 - _0206A432 - 2; case 2
+ .short _0206A504 - _0206A432 - 2; case 3
+ .short _0206A534 - _0206A432 - 2; case 4
+ .short _0206A564 - _0206A432 - 2; case 5
+ .short _0206A594 - _0206A432 - 2; case 6
+ .short _0206A5C6 - _0206A432 - 2; case 7
+ .short _0206A5F6 - _0206A432 - 2; case 8
+ .short _0206A626 - _0206A432 - 2; case 9
+ .short _0206A656 - _0206A432 - 2; case 10
+ .short _0206A686 - _0206A432 - 2; case 11
+ .short _0206A6B6 - _0206A432 - 2; case 12
+ .short _0206A6E8 - _0206A432 - 2; case 13
+ .short _0206A718 - _0206A432 - 2; case 14
+ .short _0206A748 - _0206A432 - 2; case 15
+ .short _0206A778 - _0206A432 - 2; case 16
+ .short _0206A7A8 - _0206A432 - 2; case 17
+ .short _0206A7D8 - _0206A432 - 2; case 18
+ .short _0206A80A - _0206A432 - 2; case 19
+ .short _0206A83A - _0206A432 - 2; case 20
+ .short _0206A86A - _0206A432 - 2; case 21
+ .short _0206A89A - _0206A432 - 2; case 22
+ .short _0206A8CA - _0206A432 - 2; case 23
+ .short _0206A472 - _0206A432 - 2; case 24
+ .short _0206A4A4 - _0206A432 - 2; case 25
+ .short _0206A4D4 - _0206A432 - 2; case 26
+ .short _0206A504 - _0206A432 - 2; case 27
+ .short _0206A534 - _0206A432 - 2; case 28
+ .short _0206A564 - _0206A432 - 2; case 29
+ .short _0206A594 - _0206A432 - 2; case 30
+ .short _0206A5C6 - _0206A432 - 2; case 31
+_0206A472:
add r0, #0x8
cmp r2, #0x3
bls _0206A47A
@@ -199456,84 +223876,724 @@ _0206A47A:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
+_0206A486: ; jump table (using 16-bit offset)
+ .short _0206A48E - _0206A486 - 2; case 0
+ .short _0206A492 - _0206A486 - 2; case 1
+ .short _0206A498 - _0206A486 - 2; case 2
+ .short _0206A49E - _0206A486 - 2; case 3
+_0206A48E:
add r1, r0, #0x0
b _0206A8F8
_0206A492:
- .byte 0x01, 0x1C, 0x20, 0x31, 0x2F, 0xE2, 0x01, 0x1C, 0x40, 0x31, 0x2C, 0xE2, 0x01, 0x1C
- .byte 0x60, 0x31, 0x29, 0xE2, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88
- .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C
- .byte 0x1A, 0xE2, 0x01, 0x1C, 0x20, 0x31, 0x17, 0xE2, 0x01, 0x1C, 0x60, 0x31, 0x14, 0xE2, 0x01, 0x1C
- .byte 0x40, 0x31, 0x11, 0xE2, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88
- .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C
- .byte 0x02, 0xE2, 0x01, 0x1C, 0x40, 0x31, 0xFF, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0xFC, 0xE1, 0x01, 0x1C
- .byte 0x60, 0x31, 0xF9, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88
- .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C
- .byte 0xEA, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xE7, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0xE4, 0xE1, 0x01, 0x1C
- .byte 0x40, 0x31, 0xE1, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88
- .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C
- .byte 0xD2, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0xCF, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xCC, 0xE1, 0x01, 0x1C
- .byte 0x20, 0x31, 0xC9, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88
- .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C
- .byte 0xBA, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xB7, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0xB4, 0xE1, 0x01, 0x1C
- .byte 0x20, 0x31, 0xB1, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0xAD, 0xE1, 0x92, 0x18, 0x7A, 0x44
- .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00
- .byte 0x01, 0x1C, 0x20, 0x31, 0xA0, 0xE1, 0x01, 0x1C, 0x9E, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x9B, 0xE1
- .byte 0x01, 0x1C, 0x60, 0x31, 0x98, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18, 0x7A, 0x44
- .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00
- .byte 0x01, 0x1C, 0x20, 0x31, 0x88, 0xE1, 0x01, 0x1C, 0x86, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x83, 0xE1
- .byte 0x01, 0x1C, 0x40, 0x31, 0x80, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18, 0x7A, 0x44
- .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00
- .byte 0x01, 0x1C, 0x40, 0x31, 0x70, 0xE1, 0x01, 0x1C, 0x6E, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0x6B, 0xE1
- .byte 0x01, 0x1C, 0x60, 0x31, 0x68, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18, 0x7A, 0x44
- .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00
- .byte 0x01, 0x1C, 0x60, 0x31, 0x58, 0xE1, 0x01, 0x1C, 0x56, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0x53, 0xE1
- .byte 0x01, 0x1C, 0x40, 0x31, 0x50, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18, 0x7A, 0x44
- .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00
- .byte 0x01, 0x1C, 0x40, 0x31, 0x40, 0xE1, 0x01, 0x1C, 0x3E, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x3B, 0xE1
- .byte 0x01, 0x1C, 0x20, 0x31, 0x38, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18, 0x7A, 0x44
- .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00
- .byte 0x01, 0x1C, 0x60, 0x31, 0x28, 0xE1, 0x01, 0x1C, 0x26, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x23, 0xE1
- .byte 0x01, 0x1C, 0x20, 0x31, 0x20, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0x1C, 0xE1, 0x92, 0x18
- .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00
- .byte 0x16, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x0F, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x0C, 0xE1, 0x01, 0x1C
- .byte 0x0A, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x07, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18
- .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00
- .byte 0x16, 0x00, 0x01, 0x1C, 0x20, 0x31, 0xF7, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xF4, 0xE0, 0x01, 0x1C
- .byte 0xF2, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0xEF, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18
- .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00
- .byte 0x16, 0x00, 0x01, 0x1C, 0x40, 0x31, 0xDF, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xDC, 0xE0, 0x01, 0x1C
- .byte 0xDA, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xD7, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18
- .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00
- .byte 0x16, 0x00, 0x01, 0x1C, 0x60, 0x31, 0xC7, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xC4, 0xE0, 0x01, 0x1C
- .byte 0xC2, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0xBF, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18
- .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00
- .byte 0x16, 0x00, 0x01, 0x1C, 0x40, 0x31, 0xAF, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xAC, 0xE0, 0x01, 0x1C
- .byte 0xAA, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xA7, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18
- .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00
- .byte 0x16, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x97, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x94, 0xE0, 0x01, 0x1C
- .byte 0x92, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x8F, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0x8B, 0xE0
- .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00
- .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x7E, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x7B, 0xE0
- .byte 0x01, 0x1C, 0x60, 0x31, 0x78, 0xE0, 0x01, 0x1C, 0x76, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x73, 0xD8
- .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00
- .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x66, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0x63, 0xE0
- .byte 0x01, 0x1C, 0x40, 0x31, 0x60, 0xE0, 0x01, 0x1C, 0x5E, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x5B, 0xD8
- .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00
- .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x40, 0x31, 0x4E, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x4B, 0xE0
- .byte 0x01, 0x1C, 0x60, 0x31, 0x48, 0xE0, 0x01, 0x1C, 0x46, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x43, 0xD8
- .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00
- .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x36, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x33, 0xE0
- .byte 0x01, 0x1C, 0x40, 0x31, 0x30, 0xE0, 0x01, 0x1C, 0x2E, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x2B, 0xD8
- .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00
- .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x40, 0x31, 0x1E, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0x1B, 0xE0
- .byte 0x01, 0x1C, 0x20, 0x31, 0x18, 0xE0, 0x01, 0x1C, 0x16, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x13, 0xD8
- .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00
- .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x06, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x03, 0xE0
- .byte 0x01, 0x1C, 0x20, 0x31, 0x00, 0xE0, 0x01, 0x1C
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A498:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A49E:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A4A4:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A4B6: ; jump table (using 16-bit offset)
+ .short _0206A4BE - _0206A4B6 - 2; case 0
+ .short _0206A4C2 - _0206A4B6 - 2; case 1
+ .short _0206A4C8 - _0206A4B6 - 2; case 2
+ .short _0206A4CE - _0206A4B6 - 2; case 3
+_0206A4BE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A4C2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A4C8:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A4CE:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A4D4:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A4E6: ; jump table (using 16-bit offset)
+ .short _0206A4EE - _0206A4E6 - 2; case 0
+ .short _0206A4F2 - _0206A4E6 - 2; case 1
+ .short _0206A4F8 - _0206A4E6 - 2; case 2
+ .short _0206A4FE - _0206A4E6 - 2; case 3
+_0206A4EE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A4F2:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A4F8:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A4FE:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A504:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A516: ; jump table (using 16-bit offset)
+ .short _0206A51E - _0206A516 - 2; case 0
+ .short _0206A522 - _0206A516 - 2; case 1
+ .short _0206A528 - _0206A516 - 2; case 2
+ .short _0206A52E - _0206A516 - 2; case 3
+_0206A51E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A522:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A528:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A52E:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A534:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A546: ; jump table (using 16-bit offset)
+ .short _0206A54E - _0206A546 - 2; case 0
+ .short _0206A552 - _0206A546 - 2; case 1
+ .short _0206A558 - _0206A546 - 2; case 2
+ .short _0206A55E - _0206A546 - 2; case 3
+_0206A54E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A552:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A558:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A55E:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A564:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A576: ; jump table (using 16-bit offset)
+ .short _0206A57E - _0206A576 - 2; case 0
+ .short _0206A582 - _0206A576 - 2; case 1
+ .short _0206A588 - _0206A576 - 2; case 2
+ .short _0206A58E - _0206A576 - 2; case 3
+_0206A57E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A582:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A588:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A58E:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A594:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A59C
+_0206A59A:
+ b _0206A8F8
+_0206A59C:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A5A8: ; jump table (using 16-bit offset)
+ .short _0206A5B0 - _0206A5A8 - 2; case 0
+ .short _0206A5B6 - _0206A5A8 - 2; case 1
+ .short _0206A5BA - _0206A5A8 - 2; case 2
+ .short _0206A5C0 - _0206A5A8 - 2; case 3
+_0206A5B0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A5B6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A5BA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A5C0:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A5C6:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A5D8: ; jump table (using 16-bit offset)
+ .short _0206A5E0 - _0206A5D8 - 2; case 0
+ .short _0206A5E6 - _0206A5D8 - 2; case 1
+ .short _0206A5EA - _0206A5D8 - 2; case 2
+ .short _0206A5F0 - _0206A5D8 - 2; case 3
+_0206A5E0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A5E6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A5EA:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A5F0:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A5F6:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A608: ; jump table (using 16-bit offset)
+ .short _0206A610 - _0206A608 - 2; case 0
+ .short _0206A616 - _0206A608 - 2; case 1
+ .short _0206A61A - _0206A608 - 2; case 2
+ .short _0206A620 - _0206A608 - 2; case 3
+_0206A610:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A616:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A61A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A620:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A626:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A638: ; jump table (using 16-bit offset)
+ .short _0206A640 - _0206A638 - 2; case 0
+ .short _0206A646 - _0206A638 - 2; case 1
+ .short _0206A64A - _0206A638 - 2; case 2
+ .short _0206A650 - _0206A638 - 2; case 3
+_0206A640:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A646:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A64A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A650:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A656:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A668: ; jump table (using 16-bit offset)
+ .short _0206A670 - _0206A668 - 2; case 0
+ .short _0206A676 - _0206A668 - 2; case 1
+ .short _0206A67A - _0206A668 - 2; case 2
+ .short _0206A680 - _0206A668 - 2; case 3
+_0206A670:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A676:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A67A:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A680:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A686:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A698: ; jump table (using 16-bit offset)
+ .short _0206A6A0 - _0206A698 - 2; case 0
+ .short _0206A6A6 - _0206A698 - 2; case 1
+ .short _0206A6AA - _0206A698 - 2; case 2
+ .short _0206A6B0 - _0206A698 - 2; case 3
+_0206A6A0:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A6A6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A6AA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A6B0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A6B6:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A6BE
+_0206A6BC:
+ b _0206A8F8
+_0206A6BE:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A6CA: ; jump table (using 16-bit offset)
+ .short _0206A6D2 - _0206A6CA - 2; case 0
+ .short _0206A6D8 - _0206A6CA - 2; case 1
+ .short _0206A6DE - _0206A6CA - 2; case 2
+ .short _0206A6E2 - _0206A6CA - 2; case 3
+_0206A6D2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A6D8:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A6DE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A6E2:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A6E8:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A6FA: ; jump table (using 16-bit offset)
+ .short _0206A702 - _0206A6FA - 2; case 0
+ .short _0206A708 - _0206A6FA - 2; case 1
+ .short _0206A70E - _0206A6FA - 2; case 2
+ .short _0206A712 - _0206A6FA - 2; case 3
+_0206A702:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A708:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A70E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A712:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A718:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A72A: ; jump table (using 16-bit offset)
+ .short _0206A732 - _0206A72A - 2; case 0
+ .short _0206A738 - _0206A72A - 2; case 1
+ .short _0206A73E - _0206A72A - 2; case 2
+ .short _0206A742 - _0206A72A - 2; case 3
+_0206A732:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A738:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A73E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A742:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A748:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A75A: ; jump table (using 16-bit offset)
+ .short _0206A762 - _0206A75A - 2; case 0
+ .short _0206A768 - _0206A75A - 2; case 1
+ .short _0206A76E - _0206A75A - 2; case 2
+ .short _0206A772 - _0206A75A - 2; case 3
+_0206A762:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A768:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A76E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A772:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A778:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A78A: ; jump table (using 16-bit offset)
+ .short _0206A792 - _0206A78A - 2; case 0
+ .short _0206A798 - _0206A78A - 2; case 1
+ .short _0206A79E - _0206A78A - 2; case 2
+ .short _0206A7A2 - _0206A78A - 2; case 3
+_0206A792:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A798:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A79E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A7A2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A7A8:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A7BA: ; jump table (using 16-bit offset)
+ .short _0206A7C2 - _0206A7BA - 2; case 0
+ .short _0206A7C8 - _0206A7BA - 2; case 1
+ .short _0206A7CE - _0206A7BA - 2; case 2
+ .short _0206A7D2 - _0206A7BA - 2; case 3
+_0206A7C2:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A7C8:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A7CE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A7D2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A7D8:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A7E0
+_0206A7DE:
+ b _0206A8F8
+_0206A7E0:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A7EC: ; jump table (using 16-bit offset)
+ .short _0206A7F4 - _0206A7EC - 2; case 0
+ .short _0206A7FA - _0206A7EC - 2; case 1
+ .short _0206A800 - _0206A7EC - 2; case 2
+ .short _0206A806 - _0206A7EC - 2; case 3
+_0206A7F4:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A7FA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A800:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A806:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A80A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A81C: ; jump table (using 16-bit offset)
+ .short _0206A824 - _0206A81C - 2; case 0
+ .short _0206A82A - _0206A81C - 2; case 1
+ .short _0206A830 - _0206A81C - 2; case 2
+ .short _0206A836 - _0206A81C - 2; case 3
+_0206A824:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A82A:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A830:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A836:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A83A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A84C: ; jump table (using 16-bit offset)
+ .short _0206A854 - _0206A84C - 2; case 0
+ .short _0206A85A - _0206A84C - 2; case 1
+ .short _0206A860 - _0206A84C - 2; case 2
+ .short _0206A866 - _0206A84C - 2; case 3
+_0206A854:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A85A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A860:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A866:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A86A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A87C: ; jump table (using 16-bit offset)
+ .short _0206A884 - _0206A87C - 2; case 0
+ .short _0206A88A - _0206A87C - 2; case 1
+ .short _0206A890 - _0206A87C - 2; case 2
+ .short _0206A896 - _0206A87C - 2; case 3
+_0206A884:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A88A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A890:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A896:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A89A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A8AC: ; jump table (using 16-bit offset)
+ .short _0206A8B4 - _0206A8AC - 2; case 0
+ .short _0206A8BA - _0206A8AC - 2; case 1
+ .short _0206A8C0 - _0206A8AC - 2; case 2
+ .short _0206A8C6 - _0206A8AC - 2; case 3
+_0206A8B4:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A8BA:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A8C0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A8C6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A8CA:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A8DC: ; jump table (using 16-bit offset)
+ .short _0206A8E4 - _0206A8DC - 2; case 0
+ .short _0206A8EA - _0206A8DC - 2; case 1
+ .short _0206A8F0 - _0206A8DC - 2; case 2
+ .short _0206A8F6 - _0206A8DC - 2; case 3
+_0206A8E4:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A8EA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A8F0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A8F6:
+ add r1, r0, #0x0
_0206A8F8:
add r0, r1, #0x0
pop {r3, pc}
@@ -199740,10 +224800,11 @@ _0206AA50:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r2, r1, #0
- lsl r2, r1, #0
- lsl r2, r1, #0
+_0206AA64: ; jump table (using 16-bit offset)
+ .short _0206AA70 - _0206AA64 - 2; case 0
+ .short _0206AA70 - _0206AA64 - 2; case 1
+ .short _0206AA70 - _0206AA64 - 2; case 2
+ .short _0206AA70 - _0206AA64 - 2; case 3
_0206AA6C:
mov r0, #0x2
pop {r3, pc}
@@ -199882,24 +224943,55 @@ FUN_0206AB58: ; 0x0206AB58
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
- lsl r2, r4, #0
- lsl r6, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
- lsl r2, r6, #0
- lsl r6, r6, #0
- lsl r4, r7, #0
- lsl r0, r0, #0x1
- lsl r4, r0, #0x1
+_0206AB68: ; jump table (using 16-bit offset)
+ .short _0206AB80 - _0206AB68 - 2; case 0
+ .short _0206AB84 - _0206AB68 - 2; case 1
+ .short _0206AB88 - _0206AB68 - 2; case 2
+ .short _0206AB8C - _0206AB68 - 2; case 3
+ .short _0206AB90 - _0206AB68 - 2; case 4
+ .short _0206AB94 - _0206AB68 - 2; case 5
+ .short _0206AB98 - _0206AB68 - 2; case 6
+ .short _0206AB9C - _0206AB68 - 2; case 7
+ .short _0206ABA0 - _0206AB68 - 2; case 8
+ .short _0206ABA6 - _0206AB68 - 2; case 9
+ .short _0206ABAA - _0206AB68 - 2; case 10
+ .short _0206ABAE - _0206AB68 - 2; case 11
+_0206AB80:
ldrh r0, [r0, #0x0]
bx lr
_0206AB84:
- .byte 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78, 0x70, 0x47, 0x00, 0x79, 0x70, 0x47
- .byte 0x40, 0x79, 0x70, 0x47, 0x80, 0x79, 0x70, 0x47, 0xC0, 0x79, 0x70, 0x47, 0x00, 0x89, 0x70, 0x47
- .byte 0x0A, 0x21, 0x40, 0x56, 0x70, 0x47, 0xC0, 0x7A, 0x70, 0x47, 0x00, 0x7B, 0x70, 0x47, 0x40, 0x7B
+ ldrb r0, [r0, #0x2]
+ bx lr
+_0206AB88:
+ ldrb r0, [r0, #0x3]
+ bx lr
+_0206AB8C:
+ ldrb r0, [r0, #0x4]
+ bx lr
+_0206AB90:
+ ldrb r0, [r0, #0x5]
+ bx lr
+_0206AB94:
+ ldrb r0, [r0, #0x6]
+ bx lr
+_0206AB98:
+ ldrb r0, [r0, #0x7]
+ bx lr
+_0206AB9C:
+ ldrh r0, [r0, #0x8]
+ bx lr
+_0206ABA0:
+ mov r1, #0xa
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206ABA6:
+ ldrb r0, [r0, #0xb]
+ bx lr
+_0206ABAA:
+ ldrb r0, [r0, #0xc]
+ bx lr
+_0206ABAE:
+ ldrb r0, [r0, #0xd]
_0206ABB0:
bx lr
.balign 4
@@ -200014,23 +225106,44 @@ FUN_0206AC74: ; 0x0206AC74
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r2, #0
- lsl r0, r3, #0
- lsl r6, r3, #0
- lsl r4, r4, #0
- lsl r2, r5, #0
- lsl r2, r5, #0
- lsl r2, r5, #0
- lsl r2, r5, #0
- lsl r4, r6, #0
- lsl r0, r7, #0
+_0206AC90: ; jump table (using 16-bit offset)
+ .short _0206ACA4 - _0206AC90 - 2; case 0
+ .short _0206ACAA - _0206AC90 - 2; case 1
+ .short _0206ACB0 - _0206AC90 - 2; case 2
+ .short _0206ACB6 - _0206AC90 - 2; case 3
+ .short _0206ACBC - _0206AC90 - 2; case 4
+ .short _0206ACBC - _0206AC90 - 2; case 5
+ .short _0206ACBC - _0206AC90 - 2; case 6
+ .short _0206ACBC - _0206AC90 - 2; case 7
+ .short _0206ACC6 - _0206AC90 - 2; case 8
+ .short _0206ACCA - _0206AC90 - 2; case 9
+_0206ACA4:
add r0, sp, #0x0
ldrb r4, [r0, #0x0]
b _0206ACCC
_0206ACAA:
- .byte 0x00, 0xA8, 0x44, 0x78, 0x0D, 0xE0
- .byte 0x00, 0xA8, 0x84, 0x78, 0x0A, 0xE0, 0x00, 0xA8, 0xC4, 0x78, 0x07, 0xE0, 0x28, 0x1F, 0x41, 0x00
- .byte 0x01, 0xA8, 0x44, 0x5A, 0x02, 0xE0, 0x03, 0x9C, 0x00, 0xE0, 0x04, 0x9C
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x1]
+ b _0206ACCC
+_0206ACB0:
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x2]
+ b _0206ACCC
+_0206ACB6:
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x3]
+ b _0206ACCC
+_0206ACBC:
+ sub r0, r5, #0x4
+ lsl r1, r0, #0x1
+ add r0, sp, #0x4
+ ldrh r4, [r0, r1]
+ b _0206ACCC
+_0206ACC6:
+ ldr r4, [sp, #0xc]
+ b _0206ACCC
+_0206ACCA:
+ ldr r4, [sp, #0x10]
_0206ACCC:
add r0, r4, #0x0
add sp, #0x34
@@ -200251,10 +225364,12 @@ _0206AE62:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r5, #0x2
- lsl r6, r5, #0x5
- lsl r2, r2, #0x8
+_0206AE78: ; jump table (using 16-bit offset)
+ .short _0206AE80 - _0206AE78 - 2; case 0
+ .short _0206AF28 - _0206AE78 - 2; case 1
+ .short _0206AFE8 - _0206AE78 - 2; case 2
+ .short _0206B08C - _0206AE78 - 2; case 3
+_0206AE80:
mov r0, #0x0
str r0, [sp, #0x48]
add r0, r4, r5
@@ -200339,42 +225454,281 @@ _0206AECE:
_0206AF26:
b _0206B156
_0206AF28:
- .byte 0x00, 0x20, 0x06, 0x90, 0x60, 0x19, 0x2B, 0x30
- .byte 0x00, 0x78, 0x00, 0x28, 0x57, 0xDD, 0x13, 0x98, 0x0C, 0x90, 0xA0, 0x19, 0x0B, 0x90, 0x0B, 0x98
- .byte 0x0C, 0x9A, 0x81, 0x69, 0x0C, 0x98, 0x13, 0x88, 0x52, 0x88, 0x80, 0x88, 0x9A, 0x18, 0x80, 0x18
- .byte 0x0F, 0x18, 0x38, 0x1C, 0xB0, 0xF7, 0x44, 0xFD, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x00, 0x26
- .byte 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7, 0x42, 0xFD, 0x07, 0x1C, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78
- .byte 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB, 0x04, 0x98, 0x39, 0x02, 0x0E, 0x18, 0x0C, 0x98, 0x01, 0x88
- .byte 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21, 0x80, 0xF0, 0x7C, 0xEE, 0x03, 0x1C, 0x01, 0x20, 0x00, 0x90
- .byte 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20, 0x02, 0x90, 0x00, 0x20, 0x03, 0x90, 0x0C, 0x99, 0x0C, 0x9A
- .byte 0x89, 0x88, 0x52, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7, 0x90, 0xFD, 0x0C, 0x9F, 0x00, 0x26
- .byte 0xF9, 0x88, 0x32, 0x06, 0x10, 0x98, 0x12, 0x0E, 0xFE, 0xF7, 0x08, 0xFC, 0x76, 0x1C, 0xBF, 0x1C
- .byte 0x04, 0x2E, 0xF5, 0xDB, 0x0B, 0x98, 0x10, 0x99, 0x40, 0x68, 0x00, 0xF0, 0x99, 0xFC, 0x0C, 0x98
- .byte 0x0E, 0x30, 0x0C, 0x90, 0x06, 0x98, 0x40, 0x1C, 0x06, 0x90, 0x60, 0x19, 0x2B, 0x30, 0x01, 0x78
- .byte 0x06, 0x98, 0x88, 0x42, 0xAB, 0xDB, 0xB6, 0xE0, 0x00, 0x20, 0x07, 0x90, 0x60, 0x19, 0x2B, 0x30
- .byte 0x00, 0x78, 0x00, 0x28, 0x49, 0xDD, 0xA0, 0x19, 0x13, 0x9F, 0x0D, 0x90, 0x0D, 0x98, 0x3B, 0x88
- .byte 0x7A, 0x88, 0x81, 0x69, 0xB8, 0x88, 0x9A, 0x18, 0x80, 0x18, 0x08, 0x18, 0x05, 0x90, 0xB0, 0xF7
- .byte 0xE7, 0xFC, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x00, 0x26, 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7
- .byte 0xE5, 0xFC, 0x05, 0x90, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB
- .byte 0x05, 0x98, 0x01, 0x02, 0x04, 0x98, 0x0E, 0x18, 0x39, 0x88, 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21
- .byte 0x80, 0xF0, 0x1E, 0xEE, 0x03, 0x1C, 0x01, 0x20, 0x00, 0x90, 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20
- .byte 0x02, 0x90, 0x00, 0x20, 0x03, 0x90, 0xB9, 0x88, 0x7A, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7
- .byte 0x35, 0xFD, 0x10, 0x98, 0x06, 0x21, 0xBA, 0x1D, 0xFC, 0xF7, 0xE2, 0xFB, 0x0D, 0x98, 0x10, 0x99
- .byte 0x40, 0x68, 0x00, 0xF0, 0x45, 0xFC, 0x07, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x07, 0x90, 0x60, 0x19
- .byte 0x2B, 0x30, 0x01, 0x78, 0x07, 0x98, 0x88, 0x42, 0xB8, 0xDB, 0x64, 0xE0, 0x00, 0x20, 0x08, 0x90
- .byte 0x60, 0x19, 0x2B, 0x30, 0x00, 0x78, 0x00, 0x28, 0x5D, 0xDD, 0x13, 0x98, 0x0F, 0x90, 0xA0, 0x19
- .byte 0x0E, 0x90, 0x0E, 0x98, 0x0F, 0x9A, 0x81, 0x69, 0x0F, 0x98, 0x13, 0x88, 0x52, 0x88, 0x80, 0x88
- .byte 0x9A, 0x18, 0x80, 0x18, 0x0F, 0x18, 0x38, 0x1C, 0xB0, 0xF7, 0x92, 0xFC, 0x60, 0x19, 0x29, 0x30
- .byte 0x00, 0x78, 0x00, 0x26, 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7, 0x90, 0xFC, 0x07, 0x1C, 0x60, 0x19
- .byte 0x29, 0x30, 0x00, 0x78, 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB, 0x04, 0x98, 0x39, 0x02, 0x0E, 0x18
- .byte 0x0F, 0x98, 0x01, 0x88, 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21, 0x80, 0xF0, 0xCA, 0xED, 0x03, 0x1C
- .byte 0x01, 0x20, 0x00, 0x90, 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20, 0x02, 0x90, 0x00, 0x20, 0x03, 0x90
- .byte 0x0F, 0x99, 0x0F, 0x9A, 0x89, 0x88, 0x52, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7, 0xDE, 0xFC
- .byte 0x0F, 0x9A, 0x10, 0x98, 0x06, 0x21, 0x92, 0x1D, 0xFC, 0xF7, 0x8A, 0xFB, 0x0F, 0x9F, 0x00, 0x26
- .byte 0x39, 0x89, 0x32, 0x06, 0x10, 0x98, 0x12, 0x0E, 0xFE, 0xF7, 0x50, 0xFB, 0x76, 0x1C, 0xBF, 0x1C
- .byte 0x04, 0x2E, 0xF5, 0xDB, 0x0E, 0x98, 0x10, 0x99, 0x40, 0x68, 0x00, 0xF0, 0xE1, 0xFB, 0x0F, 0x98
- .byte 0x10, 0x30, 0x0F, 0x90, 0x08, 0x98, 0x40, 0x1C, 0x08, 0x90, 0x60, 0x19, 0x2B, 0x30, 0x01, 0x78
- .byte 0x08, 0x98, 0x88, 0x42, 0xA5, 0xDB
+ mov r0, #0x0
+ str r0, [sp, #0x18]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206AFE6
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x30]
+ add r0, r4, r6
+ str r0, [sp, #0x2c]
+_0206AF3E:
+ ldr r0, [sp, #0x2c]
+ ldr r2, [sp, #0x30]
+ ldr r1, [r0, #0x18]
+ ldr r0, [sp, #0x30]
+ ldrh r3, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ ldrh r0, [r0, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r7, r1, r0
+ add r0, r7, #0x0
+ bl FUN_0201B9E0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206AF76
+_0206AF64:
+ bl FUN_0201B9EC
+ add r7, r0, #0x0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206AF64
+_0206AF76:
+ ldr r0, [sp, #0x10]
+ lsl r1, r7, #0x8
+ add r6, r1, r0
+ ldr r0, [sp, #0x30]
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ blx FUN_020EBC80
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x30]
+ ldr r2, [sp, #0x30]
+ ldrh r1, [r1, #0x4]
+ ldrh r2, [r2, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r7, [sp, #0x30]
+ mov r6, #0x0
+_0206AFB0:
+ ldrh r1, [r7, #0x6]
+ lsl r2, r6, #0x18
+ ldr r0, [sp, #0x40]
+ lsr r2, r2, #0x18
+ bl FUN_020697CC
+ add r6, r6, #0x1
+ add r7, r7, #0x2
+ cmp r6, #0x4
+ blt _0206AFB0
+ ldr r0, [sp, #0x2c]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x30]
+ add r0, #0xe
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0x18]
+ add r0, r0, #0x1
+ str r0, [sp, #0x18]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x18]
+ cmp r0, r1
+ blt _0206AF3E
+_0206AFE6:
+ b _0206B156
+_0206AFE8:
+ mov r0, #0x0
+ str r0, [sp, #0x1c]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206B08A
+ add r0, r4, r6
+ ldr r7, [sp, #0x4c]
+ str r0, [sp, #0x34]
+_0206AFFC:
+ ldr r0, [sp, #0x34]
+ ldrh r3, [r7, #0x0]
+ ldrh r2, [r7, #0x2]
+ ldr r1, [r0, #0x18]
+ ldrh r0, [r7, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r0, r1, r0
+ str r0, [sp, #0x14]
+ bl FUN_0201B9E0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206B030
+_0206B01E:
+ bl FUN_0201B9EC
+ str r0, [sp, #0x14]
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206B01E
+_0206B030:
+ ldr r0, [sp, #0x14]
+ lsl r1, r0, #0x8
+ ldr r0, [sp, #0x10]
+ add r6, r1, r0
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ blx FUN_020EBC80
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldrh r1, [r7, #0x4]
+ ldrh r2, [r7, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r0, [sp, #0x40]
+ mov r1, #0x6
+ add r2, r7, #0x6
+ bl FUN_02067830
+ ldr r0, [sp, #0x34]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x1c]
+ add r7, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x1c]
+ cmp r0, r1
+ blt _0206AFFC
+_0206B08A:
+ b _0206B156
+_0206B08C:
+ mov r0, #0x0
+ str r0, [sp, #0x20]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206B156
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x3c]
+ add r0, r4, r6
+ str r0, [sp, #0x38]
+_0206B0A2:
+ ldr r0, [sp, #0x38]
+ ldr r2, [sp, #0x3c]
+ ldr r1, [r0, #0x18]
+ ldr r0, [sp, #0x3c]
+ ldrh r3, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ ldrh r0, [r0, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r7, r1, r0
+ add r0, r7, #0x0
+ bl FUN_0201B9E0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206B0DA
+_0206B0C8:
+ bl FUN_0201B9EC
+ add r7, r0, #0x0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206B0C8
+_0206B0DA:
+ ldr r0, [sp, #0x10]
+ lsl r1, r7, #0x8
+ add r6, r1, r0
+ ldr r0, [sp, #0x3c]
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ blx FUN_020EBC80
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x3c]
+ ldr r2, [sp, #0x3c]
+ ldrh r1, [r1, #0x4]
+ ldrh r2, [r2, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r2, [sp, #0x3c]
+ ldr r0, [sp, #0x40]
+ mov r1, #0x6
+ add r2, r2, #0x6
+ bl FUN_02067830
+ ldr r7, [sp, #0x3c]
+ mov r6, #0x0
+_0206B120:
+ ldrh r1, [r7, #0x8]
+ lsl r2, r6, #0x18
+ ldr r0, [sp, #0x40]
+ lsr r2, r2, #0x18
+ bl FUN_020697CC
+ add r6, r6, #0x1
+ add r7, r7, #0x2
+ cmp r6, #0x4
+ blt _0206B120
+ ldr r0, [sp, #0x38]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x3c]
+ add r0, #0x10
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x20]
+ add r0, r0, #0x1
+ str r0, [sp, #0x20]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x20]
+ cmp r0, r1
+ blt _0206B0A2
_0206B156:
ldr r0, [sp, #0x4c]
bl FUN_02016A18
@@ -203882,52 +229236,54 @@ _0206CAD6:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r3, #0x1
- lsl r2, r0, #0x2
- lsl r0, r6, #0x2
- lsl r6, r3, #0x3
- lsl r6, r6, #0x3
- lsl r0, r7, #0x5
- lsl r4, r0, #0x7
- lsl r6, r0, #0x9
- lsl r2, r3, #0xb
- lsl r4, r3, #0xe
- lsl r2, r5, #0x10
- lsl r0, r2, #0x12
- lsl r4, r1, #0x14
- lsl r0, r0, #0x16
- lsl r2, r7, #0x17
- lsl r2, r3, #0x1a
- lsl r6, r7, #0x18
- lsl r2, r3, #0x1a
- lsl r4, r6, #0x19
- lsl r2, r3, #0x1a
- lsl r2, r2, #0x1b
- lsl r0, r4, #0x1c
- lsl r2, r6, #0x1d
- lsl r4, r6, #0x1f
- lsr r2, r6, #0x1
- lsr r2, r2, #0x6
- lsl r2, r3, #0x1a
- lsr r0, r7, #0x6
- lsl r2, r3, #0x1a
- lsr r2, r1, #0x8
- lsl r2, r3, #0x1a
- lsr r0, r6, #0x8
- lsr r2, r5, #0x2
- lsl r2, r3, #0x1a
- lsr r6, r3, #0x3
- lsr r0, r0, #0x4
- lsr r0, r4, #0x5
- lsr r4, r7, #0xa
- lsr r2, r3, #0xb
- lsr r6, r0, #0xc
- lsr r2, r7, #0xc
- lsr r2, r3, #0xd
- lsr r0, r0, #0x10
- lsr r2, r3, #0x11
- lsr r6, r5, #0x12
- lsr r0, r1, #0x14
+_0206CAEC: ; jump table (using 16-bit offset)
+ .short _0206CB48 - _0206CAEC - 2; case 0
+ .short _0206CB70 - _0206CAEC - 2; case 1
+ .short _0206CB9E - _0206CAEC - 2; case 2
+ .short _0206CBCC - _0206CAEC - 2; case 3
+ .short _0206CBE4 - _0206CAEC - 2; case 4
+ .short _0206CC66 - _0206CAEC - 2; case 5
+ .short _0206CCB2 - _0206CAEC - 2; case 6
+ .short _0206CD34 - _0206CAEC - 2; case 7
+ .short _0206CDC8 - _0206CAEC - 2; case 8
+ .short _0206CE8A - _0206CAEC - 2; case 9
+ .short _0206CF18 - _0206CAEC - 2; case 10
+ .short _0206CF7E - _0206CAEC - 2; case 11
+ .short _0206CFFA - _0206CAEC - 2; case 12
+ .short _0206D06E - _0206CAEC - 2; case 13
+ .short _0206D0E8 - _0206CAEC - 2; case 14
+ .short _0206D188 - _0206CAEC - 2; case 15
+ .short _0206D12C - _0206CAEC - 2; case 16
+ .short _0206D188 - _0206CAEC - 2; case 17
+ .short _0206D162 - _0206CAEC - 2; case 18
+ .short _0206D188 - _0206CAEC - 2; case 19
+ .short _0206D1C0 - _0206CAEC - 2; case 20
+ .short _0206D20E - _0206CAEC - 2; case 21
+ .short _0206D260 - _0206CAEC - 2; case 22
+ .short _0206D2E2 - _0206CAEC - 2; case 23
+ .short _0206D360 - _0206CAEC - 2; case 24
+ .short _0206D480 - _0206CAEC - 2; case 25
+ .short _0206D188 - _0206CAEC - 2; case 26
+ .short _0206D4A6 - _0206CAEC - 2; case 27
+ .short _0206D188 - _0206CAEC - 2; case 28
+ .short _0206D4F8 - _0206CAEC - 2; case 29
+ .short _0206D188 - _0206CAEC - 2; case 30
+ .short _0206D51E - _0206CAEC - 2; case 31
+ .short _0206D398 - _0206CAEC - 2; case 32
+ .short _0206D188 - _0206CAEC - 2; case 33
+ .short _0206D3CC - _0206CAEC - 2; case 34
+ .short _0206D3EE - _0206CAEC - 2; case 35
+ .short _0206D44E - _0206CAEC - 2; case 36
+ .short _0206D5AA - _0206CAEC - 2; case 37
+ .short _0206D5C8 - _0206CAEC - 2; case 38
+ .short _0206D5F4 - _0206CAEC - 2; case 39
+ .short _0206D628 - _0206CAEC - 2; case 40
+ .short _0206D648 - _0206CAEC - 2; case 41
+ .short _0206D6EE - _0206CAEC - 2; case 42
+ .short _0206D748 - _0206CAEC - 2; case 43
+ .short _0206D79C - _0206CAEC - 2; case 44
+ .short _0206D7F6 - _0206CAEC - 2; case 45
+_0206CB48:
add r0, r4, #0x0
add r0, #0x66
ldrb r0, [r0, #0x0]
@@ -203949,12 +229305,35 @@ _0206CAD6:
strb r0, [r4, #0x0]
pop {r3-r4, pc}
_0206CB70:
- .byte 0x00, 0x20, 0xA1, 0xF7, 0x0F, 0xFC, 0x01, 0x20, 0xA1, 0xF7, 0x0C, 0xFC, 0xA0, 0x6D, 0x00, 0x21
- .byte 0xA7, 0xF7, 0x12, 0xFC, 0xE1, 0x6F, 0x02, 0x20, 0x01, 0x42, 0x03, 0xD0, 0x64, 0x34, 0x15, 0xB0
- .byte 0x20, 0x70, 0x18, 0xBD, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69
- .byte 0x96, 0xF7, 0xA0, 0xFE, 0x00, 0x28, 0x01, 0xD0
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ ldr r0, [r4, #0x58]
+ mov r1, #0x0
+ bl FUN_020143A8
+ ldr r1, [r4, #0x7c]
+ mov r0, #0x2
+ tst r1, r0
+ beq _0206CB94
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CB94:
+ mov r0, #0x4
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CB9E:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ beq _0206CBAC
_0206CBA8:
- bl FUN_0206D806
+ bl _0206D806
+_0206CBAC:
mov r1, #0xe5
add r0, r4, #0x0
lsl r1, r1, #0x2
@@ -203971,216 +229350,1455 @@ _0206CBA8:
strb r0, [r4, #0x0]
pop {r3-r4, pc}
_0206CBCC:
- .byte 0x20, 0x1C, 0x65, 0x30
- .byte 0x00, 0x78, 0xAF, 0xF7, 0xCD, 0xF8, 0x00, 0x28, 0x77, 0xD1, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0
- .byte 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x7D, 0xFE, 0x00, 0x28, 0x6D, 0xD1, 0x00, 0x20
- .byte 0x00, 0x90, 0x01, 0x90, 0x02, 0x90, 0x22, 0x1C, 0x60, 0x32, 0x12, 0x88, 0x60, 0x6C, 0xE1, 0x69
- .byte 0x02, 0x23, 0xFC, 0xF7, 0x19, 0xFA, 0x21, 0x1C, 0x60, 0x31, 0x09, 0x88, 0x10, 0xA8, 0xFC, 0xF7
- .byte 0xFF, 0xF9, 0xE0, 0x69, 0x10, 0xA9, 0x9A, 0xF7, 0xB1, 0xFB, 0xE0, 0x69, 0x00, 0x21, 0x9A, 0xF7
- .byte 0x79, 0xFB, 0x20, 0x1C, 0x60, 0x30, 0x00, 0x88, 0x98, 0xF7, 0xA6, 0xFC, 0xA0, 0x6A, 0xFC, 0xF7
- .byte 0x59, 0xFA, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9E, 0xF7, 0x5E, 0xF8, 0xE1, 0x6F, 0x02, 0x20
- .byte 0x08, 0x42, 0x04, 0xD0, 0x74, 0x49, 0x20, 0x1C, 0x01, 0xF0, 0x90, 0xF8, 0x03, 0xE0, 0x73, 0x49
- .byte 0x20, 0x1C, 0x01, 0xF0, 0x8B, 0xF8, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x05, 0x20, 0x64, 0x34
- .byte 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78, 0xAF, 0xF7, 0x80, 0xF8
- .byte 0x00, 0x28, 0x2A, 0xD1, 0x98, 0xF7, 0xFC, 0xFC, 0x00, 0x28, 0x26, 0xD1, 0x60, 0x6C, 0x00, 0x21
- .byte 0xA8, 0xF7, 0x7C, 0xF8, 0x01, 0x28, 0x20, 0xD1, 0xE0, 0x69, 0x9A, 0xF7, 0x81, 0xFB, 0x00, 0x28
- .byte 0x1B, 0xD1, 0xA0, 0x6D, 0x01, 0x21, 0xA7, 0xF7, 0x87, 0xFB, 0x61, 0x48, 0x98, 0xF7, 0xAA, 0xFA
- .byte 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x06, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70
- .byte 0x18, 0xBD, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70
- .byte 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x9C, 0xFD, 0xE0, 0x6D
- .byte 0x04, 0x90, 0x00, 0x20, 0x05, 0x90, 0x04, 0xA8, 0x01, 0xF0, 0xD0, 0xF9, 0x00, 0x21, 0x20, 0x63
- .byte 0x01, 0xF0, 0xE4, 0xF9, 0x4A, 0x48, 0x00, 0x21, 0x00, 0x90, 0xE0, 0x69, 0x10, 0x22, 0x04, 0x23
- .byte 0x9B, 0xF7, 0xBA, 0xF8, 0x46, 0x48, 0x00, 0x21, 0x00, 0x90, 0x20, 0x6A, 0x10, 0x22, 0x04, 0x23
- .byte 0x9B, 0xF7, 0xB2, 0xF8, 0xE0, 0x6D, 0xA9, 0xF7, 0xF7, 0xFE, 0x02, 0x21, 0x89, 0x03, 0x88, 0x42
- .byte 0x01, 0xD8, 0xB3, 0xF7, 0x8B, 0xFF, 0x43, 0x48, 0x98, 0xF7, 0xD6, 0xFB, 0x20, 0x1C, 0x28, 0x21
- .byte 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C
- .byte 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78, 0x28, 0x28, 0x0D, 0xD2, 0x20, 0x1C
- .byte 0x73, 0x30, 0x00, 0x78, 0x81, 0x1C, 0x20, 0x1C, 0x73, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x75, 0x30
- .byte 0x00, 0x78, 0x81, 0x1E, 0x20, 0x1C, 0x75, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78
- .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28
- .byte 0x2F, 0xD1, 0x20, 0x6B, 0x01, 0x21, 0x01, 0xF0, 0x99, 0xF9, 0x20, 0x6B, 0x02, 0x21, 0x01, 0xF0
- .byte 0x95, 0xF9, 0x20, 0x6B, 0x07, 0x21, 0x01, 0xF0, 0x91, 0xF9, 0x20, 0x6B, 0x08, 0x21, 0x01, 0xF0
- .byte 0x8D, 0xF9, 0x20, 0x6B, 0x09, 0x21, 0x01, 0xF0, 0x89, 0xF9, 0x20, 0x6B, 0x0B, 0x21, 0x01, 0xF0
- .byte 0x85, 0xF9, 0x21, 0x48, 0x98, 0xF7, 0x90, 0xFB, 0x20, 0x1C, 0x10, 0x21, 0x70, 0x30, 0x01, 0x70
- .byte 0x20, 0x1C, 0x08, 0x21, 0x71, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6B, 0x01, 0xF0, 0x7D, 0xF9, 0x00, 0x28
- .byte 0x01, 0xD0, 0x00, 0xF0, 0x18, 0xFD, 0x20, 0x6B, 0x03, 0x21, 0x01, 0xF0, 0x67, 0xF9, 0x20, 0x6B
- .byte 0x04, 0x21, 0x01, 0xF0, 0x63, 0xF9, 0x20, 0x6B, 0x05, 0x21, 0x01, 0xF0, 0x5F, 0xF9, 0x20, 0x6B
- .byte 0x06, 0x21, 0x01, 0xF0, 0x5B, 0xF9, 0x20, 0x6B, 0x0A, 0x21, 0x01, 0xF0, 0x57, 0xF9, 0x00, 0x20
- .byte 0x00, 0x90, 0x10, 0x20, 0x01, 0x90, 0x02, 0x48, 0x02, 0x4A, 0x0F, 0xE0
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206CCCA
+ mov r0, #0x4
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CBE4:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206CCCA
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r2, r4, #0x0
+ add r2, #0x60
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0x44]
+ ldr r1, [r4, #0x1c]
+ mov r3, #0x2
+ bl FUN_02069038
+ add r1, r4, #0x0
+ add r1, #0x60
+ ldrh r1, [r1, #0x0]
+ add r0, sp, #0x40
+ bl FUN_02069010
+ ldr r0, [r4, #0x1c]
+ add r1, sp, #0x40
+ bl FUN_0200737C
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x0
+ bl FUN_02007314
+ add r0, r4, #0x0
+ add r0, #0x60
+ ldrh r0, [r0, #0x0]
+ bl FUN_02005578
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r1, [r4, #0x7c]
+ mov r0, #0x2
+ tst r0, r1
+ beq _0206CC4E
+ ldr r1, _0206CE18 ; =0x00000395
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ b _0206CC56
+_0206CC4E:
+ ldr r1, _0206CE1C ; =0x00000393
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+_0206CC56:
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ mov r0, #0x5
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CC66:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206CCCA
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0206CCCA
+ ldr r0, [r4, #0x44]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _0206CCCA
+ ldr r0, [r4, #0x1c]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _0206CCCA
+ ldr r0, [r4, #0x58]
+ mov r1, #0x1
+ bl FUN_020143A8
+ ldr r0, _0206CE20 ; =0x00000475
+ bl FUN_020051F4
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x6
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CCB2:
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206CCCE
+_0206CCCA:
+ bl _0206D806
+_0206CCCE:
+ ldr r0, [r4, #0x5c]
+ str r0, [sp, #0x10]
+ mov r0, #0x0
+ str r0, [sp, #0x14]
+ add r0, sp, #0x10
+ bl FUN_0206E07C
+ mov r1, #0x0
+ str r0, [r4, #0x30]
+ bl FUN_0206E0AC
+ ldr r0, _0206CE10 ; =0x00007FFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x1c]
+ mov r2, #0x10
+ mov r3, #0x4
+ bl FUN_02007E68
+ ldr r0, _0206CE10 ; =0x00007FFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x20]
+ mov r2, #0x10
+ mov r3, #0x4
+ bl FUN_02007E68
+ ldr r0, [r4, #0x5c]
+ bl FUN_02016AF8
+ mov r1, #0x2
+ lsl r1, r1, #0xe
+ cmp r0, r1
+ bhi _0206CD16
+ bl FUN_02020C2C
+_0206CD16:
+ ldr r0, _0206CE24 ; =0x000005F9
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ mov r1, #0x28
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CD34:
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x28
+ bhs _0206CD5A
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x75
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x75
+ strb r1, [r0, #0x0]
+_0206CD5A:
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206CDD2
+ ldr r0, [r4, #0x30]
+ mov r1, #0x1
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x2
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x7
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x8
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x9
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0xb
+ bl FUN_0206E0AC
+ ldr r0, _0206CE28 ; =0x000005FA
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ mov r1, #0x10
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ add r0, #0x71
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CDC8:
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0C8
+ cmp r0, #0x0
+ beq _0206CDD6
+_0206CDD2:
+ bl _0206D806
+_0206CDD6:
+ ldr r0, [r4, #0x30]
+ mov r1, #0x3
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x4
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x5
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x6
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0xa
+ bl FUN_0206E0AC
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ ldr r0, _0206CE10 ; =0x00007FFF
+ ldr r2, _0206CE14 ; =0x0000F3FF
+ b _0206CE2C
+ .balign 4
_0206CE0C: .word 0x021C48B8
_0206CE10: .word 0x00007FFF
_0206CE14: .word 0x0000F3FF
-_0206CE18:
- .byte 0x95, 0x03, 0x00, 0x00, 0x93, 0x03, 0x00, 0x00
- .byte 0x75, 0x04, 0x00, 0x00, 0xF9, 0x05, 0x00, 0x00, 0xFA, 0x05, 0x00, 0x00, 0x02, 0x90, 0x60, 0x69
- .byte 0x0F, 0x21, 0x02, 0x23, 0x96, 0xF7, 0xEC, 0xF9, 0xE0, 0x69, 0x0C, 0x21, 0x00, 0x22, 0x9A, 0xF7
- .byte 0x8B, 0xFB, 0xE0, 0x69, 0x0D, 0x21, 0x00, 0x22, 0x9A, 0xF7, 0x86, 0xFB, 0x0C, 0x21, 0x0A, 0x1C
- .byte 0x20, 0x6A, 0xF4, 0x32, 0x9A, 0xF7, 0x80, 0xFB, 0x0D, 0x21, 0x0A, 0x1C, 0x20, 0x6A, 0xF3, 0x32
- .byte 0x9A, 0xF7, 0x7A, 0xFB, 0xD8, 0x48, 0x98, 0xF7, 0x2F, 0xFB, 0x20, 0x1C, 0x00, 0x21, 0x70, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x08, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78
- .byte 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78
- .byte 0x00, 0x28, 0x0D, 0xD0, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78, 0x81, 0x1E, 0x20, 0x1C, 0x73, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x75, 0x30, 0x00, 0x78, 0x81, 0x1C, 0x20, 0x1C, 0x75, 0x30, 0x01, 0x70
- .byte 0x60, 0x69, 0x96, 0xF7, 0x17, 0xFD, 0x00, 0x28, 0x38, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78
- .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28
- .byte 0x2C, 0xD1, 0x20, 0x6B, 0x0C, 0x21, 0x01, 0xF0, 0xE9, 0xF8, 0x10, 0x20, 0x00, 0x90, 0x00, 0x20
- .byte 0x01, 0x90, 0xBA, 0x48, 0xBA, 0x4A, 0x02, 0x90, 0x60, 0x69, 0x0F, 0x21, 0x04, 0x23, 0x96, 0xF7
- .byte 0x8F, 0xF9, 0xB6, 0x48, 0x10, 0x21, 0x00, 0x90, 0xA0, 0x69, 0x00, 0x22, 0x03, 0x23, 0x9A, 0xF7
- .byte 0xCB, 0xFF, 0xB4, 0x48, 0x98, 0xF7, 0xE0, 0xFA, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0xE3, 0xFC, 0x00, 0x28
- .byte 0x04, 0xD1, 0x20, 0x6B, 0x01, 0xF0, 0xD0, 0xF8, 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x6B, 0xFC
- .byte 0x00, 0x20, 0x00, 0x90, 0x01, 0x90, 0x02, 0x90, 0x22, 0x1C, 0x62, 0x32, 0x12, 0x88, 0x60, 0x6C
- .byte 0x21, 0x6A, 0x02, 0x23, 0xFC, 0xF7, 0x78, 0xF8, 0x21, 0x1C, 0x62, 0x31, 0x09, 0x88, 0x0B, 0xA8
- .byte 0xFC, 0xF7, 0x5E, 0xF8, 0x20, 0x6A, 0x0B, 0xA9, 0x9A, 0xF7, 0x10, 0xFA, 0x20, 0x6A, 0x00, 0x21
- .byte 0x9A, 0xF7, 0xD8, 0xF9, 0x20, 0x1C, 0x62, 0x30, 0x00, 0x88, 0x98, 0xF7, 0x05, 0xFB, 0x20, 0x1C
- .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x98, 0xF7
- .byte 0x77, 0xFB, 0x00, 0x28, 0x7E, 0xD1, 0x60, 0x6C, 0x00, 0x21, 0xA7, 0xF7, 0xF7, 0xFE, 0x01, 0x28
- .byte 0x78, 0xD1, 0x20, 0x6A, 0x9A, 0xF7, 0xFC, 0xF9, 0x00, 0x28, 0x73, 0xD1, 0x22, 0x1C, 0xA0, 0x6A
- .byte 0x05, 0x21, 0x62, 0x32, 0xFA, 0xF7, 0x44, 0xFC, 0xA0, 0x6A, 0xFD, 0xF7, 0x0B, 0xF9, 0xA0, 0x6A
- .byte 0xF9, 0xF7, 0x92, 0xFF, 0xA0, 0x6A, 0xFC, 0xF7, 0x95, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21
- .byte 0x9D, 0xF7, 0x9A, 0xFE, 0xA0, 0x6A, 0xFC, 0xF7, 0x8D, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x01, 0x21
- .byte 0x9D, 0xF7, 0x46, 0xFE, 0x80, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xC8, 0xFE, 0x21, 0x1C, 0x65, 0x31
- .byte 0x08, 0x70, 0x20, 0x1C, 0x28, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78
- .byte 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78
- .byte 0xAE, 0xF7, 0xB6, 0xFE, 0x00, 0x28, 0x3D, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E
- .byte 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x31, 0xD1
- .byte 0xA0, 0x6C, 0xA1, 0x6A, 0xB7, 0xF7, 0x64, 0xFD, 0x20, 0x6D, 0x0C, 0x21, 0xBD, 0xF7, 0x5C, 0xF8
- .byte 0x20, 0x6D, 0x16, 0x21, 0xBD, 0xF7, 0x9C, 0xF8, 0xA0, 0x6A, 0xFC, 0xF7, 0x53, 0xF8, 0x01, 0x1C
- .byte 0x60, 0x6D, 0xDF, 0xF7, 0x5F, 0xF8, 0xA0, 0x6A, 0x4D, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0xB6, 0xF8
- .byte 0x00, 0x28, 0x04, 0xD1, 0xA0, 0x6A, 0xB2, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0xE9, 0xFB, 0x20, 0x1C
- .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x21, 0x1C
- .byte 0xA0, 0x6A, 0x68, 0x31, 0x03, 0xAA, 0xFC, 0xF7, 0xCF, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x57, 0x49
- .byte 0x88, 0x42, 0x00, 0xD1, 0xBF, 0xE3, 0x49, 0x1C, 0x88, 0x42, 0x05, 0xD0, 0x0E, 0xE0, 0x27, 0x20
- .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x03, 0xA8, 0x01, 0x88, 0x20, 0x1C, 0x6C, 0x30
- .byte 0x01, 0x80, 0x0E, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFC, 0xF7
- .byte 0x19, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0x1E, 0xFE, 0x03, 0xAA, 0x12, 0x88
- .byte 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x4A, 0xFE, 0x20, 0x1C, 0x04, 0x21, 0x00, 0xF0, 0x4E, 0xFE
- .byte 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x25, 0x20
- .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0xFB, 0xFF, 0x02, 0x1C
- .byte 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0x00, 0xFE, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68
- .byte 0x01, 0x21, 0x9D, 0xF7, 0x2B, 0xFE, 0x36, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x2F, 0xFE, 0x21, 0x1C
- .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30
- .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7
- .byte 0xD9, 0xFF, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0xDE, 0xFD, 0x29, 0x49, 0x20, 0x1C
- .byte 0x00, 0xF0, 0x14, 0xFE, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30
- .byte 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70
- .byte 0x18, 0xBD, 0x21, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x01, 0xFE, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70
- .byte 0x20, 0x1C, 0x01, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78, 0xAE, 0xF7
- .byte 0xEF, 0xFD, 0x00, 0x28, 0x0B, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C
- .byte 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0x2A, 0xE3
- .byte 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD
- .byte 0xE0, 0x6D, 0x0A, 0x49, 0x14, 0xE0, 0xC0, 0x46, 0xFB, 0x05, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00
- .byte 0xFF, 0xF3, 0x00, 0x00, 0xFC, 0x05, 0x00, 0x00, 0x96, 0x03, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00
- .byte 0xA9, 0x04, 0x00, 0x00, 0xAA, 0x04, 0x00, 0x00, 0xAB, 0x04, 0x00, 0x00, 0x20, 0x83, 0x0F, 0x02
- .byte 0x00, 0x90, 0x20, 0x68, 0x01, 0x22, 0x08, 0x23, 0x94, 0xF7, 0xCE, 0xFF, 0x20, 0x64, 0x20, 0x1C
- .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6C
- .byte 0xE1, 0x6D, 0x94, 0xF7, 0xCB, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42
- .byte 0x19, 0xD0, 0x15, 0xB0, 0x18, 0xBD, 0x20, 0x1C, 0x16, 0x21, 0x64, 0x30, 0x01, 0x70, 0x00, 0x21
- .byte 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69, 0xC1, 0x4A, 0x0F, 0x21, 0x01, 0x23
- .byte 0x95, 0xF7, 0xE6, 0xFF, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69, 0x10, 0x22, 0x0B, 0x1C, 0x9A, 0xF7
- .byte 0x23, 0xFE, 0x15, 0xB0, 0x18, 0xBD, 0x20, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD
- .byte 0x60, 0x69, 0x96, 0xF7, 0x3F, 0xFB, 0x00, 0x28, 0x40, 0xD1, 0x00, 0x20, 0x01, 0x1C, 0xA1, 0xF7
- .byte 0x97, 0xF8, 0x01, 0x20, 0x00, 0x21, 0xA1, 0xF7, 0x93, 0xF8, 0x20, 0x68, 0x00, 0xF0, 0xE4, 0xFC
- .byte 0xE0, 0x69, 0x06, 0x21, 0x01, 0x22, 0x9A, 0xF7, 0x67, 0xF9, 0x20, 0x6A, 0x06, 0x21, 0x01, 0x22
- .byte 0x9A, 0xF7, 0x62, 0xF9, 0xA1, 0x6A, 0xE0, 0x6B, 0x01, 0x22, 0x01, 0x60, 0xE1, 0x6A, 0xE0, 0x6B
- .byte 0x41, 0x60, 0xE1, 0x6B, 0x00, 0x20, 0x48, 0x74, 0xE1, 0x6B, 0x08, 0x75, 0xE1, 0x6B, 0xCA, 0x74
- .byte 0x21, 0x1C, 0x6C, 0x31, 0x0A, 0x88, 0xE1, 0x6B, 0x0A, 0x83, 0xE1, 0x6B, 0x02, 0x22, 0x8A, 0x74
- .byte 0xE1, 0x6B, 0x88, 0x62, 0xE0, 0x6B, 0x9F, 0x49, 0x0D, 0xF0, 0x9A, 0xFE, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x9D, 0xFD, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70
- .byte 0x18, 0xBD, 0xA0, 0x6B, 0x98, 0xF7, 0xD4, 0xFF, 0x00, 0x28, 0x00, 0xD1, 0x8B, 0xE2, 0xA0, 0x6B
- .byte 0x98, 0xF7, 0xB6, 0xFF, 0x21, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x5C, 0xFB, 0x60, 0x68, 0x00, 0x21
- .byte 0x01, 0x22, 0x0A, 0x23, 0x9F, 0xF7, 0xDA, 0xFE, 0xE0, 0x69, 0x06, 0x21, 0x00, 0x22, 0x9A, 0xF7
- .byte 0x23, 0xF9, 0x20, 0x6A, 0x06, 0x21, 0x00, 0x22, 0x9A, 0xF7, 0x1E, 0xF9, 0xE0, 0x69, 0x9A, 0xF7
- .byte 0xD7, 0xFE, 0x20, 0x6A, 0x9A, 0xF7, 0xD4, 0xFE, 0x10, 0x20, 0x00, 0x90, 0x00, 0x20, 0x01, 0x90
- .byte 0x02, 0x90, 0x60, 0x69, 0x82, 0x4A, 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x69, 0xFF, 0x00, 0x22
- .byte 0x00, 0x92, 0xA0, 0x69, 0x10, 0x21, 0x13, 0x1C, 0x9A, 0xF7, 0xA6, 0xFD, 0xC6, 0xF7, 0x92, 0xFD
- .byte 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD
- .byte 0x00, 0x20, 0xA1, 0xF7, 0x17, 0xF8, 0x01, 0x20, 0xA1, 0xF7, 0x14, 0xF8, 0x60, 0x69, 0x96, 0xF7
- .byte 0xB9, 0xFA, 0x00, 0x28, 0x7E, 0xD1, 0xE0, 0x6B, 0x81, 0x7D, 0x04, 0x29, 0x04, 0xD1, 0x20, 0x20
- .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x6E, 0x30, 0x01, 0x70, 0x19, 0x20
- .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68
- .byte 0x00, 0x21, 0x9D, 0xF7, 0xDB, 0xFC, 0x68, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xDF, 0xFC, 0x21, 0x1C
- .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x01, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30
- .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xE0, 0x6D, 0x5F, 0x49
- .byte 0x00, 0x90, 0x20, 0x68, 0x01, 0x22, 0x08, 0x23, 0x94, 0xF7, 0xDE, 0xFE, 0x20, 0x64, 0x20, 0x1C
- .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6C
- .byte 0xE1, 0x6D, 0x94, 0xF7, 0xDB, 0xFE, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42
- .byte 0x20, 0xD0, 0x15, 0xB0, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0x6C, 0xFE, 0x02, 0x1C, 0xE0, 0x68
- .byte 0x00, 0x21, 0x9D, 0xF7, 0x71, 0xFC, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68, 0x01, 0x21
- .byte 0x9D, 0xF7, 0x9C, 0xFC, 0x4A, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xA0, 0xFC, 0x21, 0x1C, 0x65, 0x31
- .byte 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x24, 0x20, 0x64, 0x34, 0x15, 0xB0
- .byte 0x20, 0x70, 0x18, 0xBD, 0x0E, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C
- .byte 0x65, 0x30, 0x00, 0x78, 0xAE, 0xF7, 0x8C, 0xFC, 0x00, 0x28, 0x0B, 0xD1, 0x20, 0x1C, 0x66, 0x30
- .byte 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78
- .byte 0x00, 0x28, 0x00, 0xD0, 0xC7, 0xE1, 0x0D, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD
- .byte 0x34, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x72, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C
- .byte 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0
- .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0x1C, 0xFE, 0x02, 0x1C, 0xE0, 0x68
- .byte 0x00, 0x21, 0x9D, 0xF7, 0x21, 0xFC, 0x21, 0x1C, 0x6E, 0x31, 0x09, 0x78, 0xA0, 0x6A, 0x00, 0x22
- .byte 0x36, 0x31, 0xF9, 0xF7, 0x7B, 0xFE, 0x02, 0x1C, 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x46, 0xFC
- .byte 0x4B, 0x21, 0x20, 0x1C, 0x09, 0x01, 0x00, 0xF0, 0x49, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70
- .byte 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x17, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x36, 0xFC
- .byte 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C
- .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A
- .byte 0xFB, 0xF7, 0xE0, 0xFD, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0xE5, 0xFB, 0x22, 0x1C
- .byte 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x10, 0xFC, 0x07, 0x49, 0x0F, 0xE0
- .byte 0xFF, 0xFF, 0x00, 0x00, 0x1C, 0x83, 0x0F, 0x02, 0xAD, 0x04, 0x00, 0x00, 0x20, 0x83, 0x0F, 0x02
- .byte 0xAE, 0x04, 0x00, 0x00, 0xAF, 0x04, 0x00, 0x00, 0xB1, 0x04, 0x00, 0x00, 0xB2, 0x04, 0x00, 0x00
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x03, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x22, 0x1C
- .byte 0x00, 0x21, 0x66, 0x30, 0x01, 0x70, 0x21, 0x1C, 0x6E, 0x31, 0x09, 0x78, 0xA0, 0x6A, 0x66, 0x32
- .byte 0x3E, 0x31, 0xFA, 0xF7, 0x55, 0xF9, 0x21, 0x1C, 0x22, 0x1C, 0x6C, 0x31, 0x6E, 0x32, 0x09, 0x88
- .byte 0x12, 0x78, 0xA0, 0x6A, 0xFC, 0xF7, 0x1A, 0xF9, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70
- .byte 0x25, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78
- .byte 0xAE, 0xF7, 0xDE, 0xFB, 0x00, 0x28, 0x17, 0xD1, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x98, 0xF7, 0x78, 0xFB, 0x00, 0x28, 0x0B, 0xD1
- .byte 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C
- .byte 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0x0D, 0xE1, 0x0D, 0x20, 0x64, 0x34, 0x15, 0xB0
- .byte 0x20, 0x70, 0x18, 0xBD, 0x00, 0x21, 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69
- .byte 0x82, 0x4A, 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x03, 0xFE, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69
- .byte 0x10, 0x22, 0x0B, 0x1C, 0x9A, 0xF7, 0x40, 0xFC, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x5B, 0xF9, 0x00, 0x28
- .byte 0x62, 0xD1, 0x20, 0x6B, 0x00, 0xF0, 0x52, 0xFD, 0x20, 0x1C, 0x00, 0xF0, 0xF1, 0xF8, 0x01, 0x20
- .byte 0x67, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x4B, 0xF9, 0x00, 0x28
- .byte 0x52, 0xD1, 0x0C, 0x21, 0x0A, 0x1C, 0xE0, 0x69, 0xF4, 0x32, 0x99, 0xF7, 0x7D, 0xFF, 0x0D, 0x21
- .byte 0x0A, 0x1C, 0xE0, 0x69, 0xF3, 0x32, 0x99, 0xF7, 0x77, 0xFF, 0x20, 0x6A, 0x0C, 0x21, 0x00, 0x22
- .byte 0x99, 0xF7, 0x72, 0xFF, 0x20, 0x6A, 0x0D, 0x21, 0x00, 0x22, 0x99, 0xF7, 0x6D, 0xFF, 0x20, 0x6A
- .byte 0x06, 0x21, 0x01, 0x22, 0x99, 0xF7, 0x68, 0xFF, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x60, 0x48
- .byte 0x01, 0x93, 0x02, 0x90, 0x60, 0x69, 0x5F, 0x4A, 0x0F, 0x21, 0x95, 0xF7, 0xB9, 0xFD, 0x5C, 0x48
- .byte 0x00, 0x22, 0x00, 0x90, 0xA0, 0x69, 0x10, 0x21, 0x13, 0x1C, 0x9A, 0xF7, 0xF5, 0xFB, 0x20, 0x1C
- .byte 0x00, 0x21, 0x72, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x73, 0x30, 0x01, 0x70, 0x20, 0x1C, 0xFF, 0x22
- .byte 0x74, 0x30, 0x02, 0x70, 0x20, 0x1C, 0xA0, 0x22, 0x75, 0x30, 0x02, 0x70, 0x20, 0x1C, 0x70, 0x30
- .byte 0x01, 0x70, 0x51, 0x48, 0x97, 0xF7, 0x3C, 0xFE, 0x20, 0x6B, 0x00, 0xF0, 0xFF, 0xFC, 0x20, 0x1C
- .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69
- .byte 0x96, 0xF7, 0xF8, 0xF8, 0x00, 0x28, 0x00, 0xD0, 0x85, 0xE0, 0x00, 0x20, 0x00, 0x90, 0x01, 0x90
- .byte 0x02, 0x90, 0x22, 0x1C, 0x60, 0x32, 0x12, 0x88, 0x60, 0x6C, 0xE1, 0x69, 0x02, 0x23, 0xFB, 0xF7
- .byte 0x93, 0xFC, 0x21, 0x1C, 0x60, 0x31, 0x09, 0x88, 0x06, 0xA8, 0xFB, 0xF7, 0x79, 0xFC, 0xE0, 0x69
- .byte 0x06, 0xA9, 0x99, 0xF7, 0x2B, 0xFE, 0xE0, 0x69, 0x00, 0x21, 0x99, 0xF7, 0xF3, 0xFD, 0x20, 0x1C
- .byte 0x60, 0x30, 0x00, 0x88, 0x97, 0xF7, 0x20, 0xFF, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34
- .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x97, 0xF7, 0x92, 0xFF, 0x00, 0x28, 0x5A, 0xD1
- .byte 0x60, 0x6C, 0x00, 0x21, 0xA7, 0xF7, 0x12, 0xFB, 0x01, 0x28, 0x54, 0xD1, 0xE0, 0x69, 0x99, 0xF7
- .byte 0x17, 0xFE, 0x00, 0x28, 0x4F, 0xD1, 0xA0, 0x6A, 0xFB, 0xF7, 0xBC, 0xFC, 0x02, 0x1C, 0xE0, 0x68
- .byte 0x00, 0x21, 0x9D, 0xF7, 0xC1, 0xFA, 0x29, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xF7, 0xFA, 0x21, 0x1C
- .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30
- .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30
- .byte 0x00, 0x78, 0xAE, 0xF7, 0xE5, 0xFA, 0x00, 0x28, 0x2D, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78
- .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28
- .byte 0x21, 0xD1, 0x00, 0x21, 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69, 0x0F, 0x4A
- .byte 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x1C, 0xFD, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69, 0x10, 0x22
- .byte 0x0B, 0x1C, 0x9A, 0xF7, 0x59, 0xFB, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0
- .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x74, 0xF8, 0x00, 0x28, 0x02, 0xD1
- .byte 0x01, 0x20, 0x67, 0x34, 0x20, 0x70
-
- non_word_aligned_thumb_func_start FUN_0206D806
-FUN_0206D806: ; 0x0206D806
+_0206CE18: .word 0x00000395
+_0206CE1C: .word 0x00000393
+_0206CE20: .word 0x00000475
+_0206CE24: .word 0x000005F9
+_0206CE28: .word 0x000005FA
+_0206CE2C:
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ mov r1, #0xf
+ mov r3, #0x2
+ bl FUN_02003210
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xc
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_02007558
+ mov r1, #0xc
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x20]
+ add r2, #0xf4
+ bl FUN_02007558
+ mov r1, #0xd
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x20]
+ add r2, #0xf3
+ bl FUN_02007558
+ ldr r0, _0206D1C8 ; =0x000005FB
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CE8A:
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206CEB0
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x75
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x75
+ strb r1, [r0, #0x0]
+_0206CEB0:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206CF2C
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206CF2C
+ ldr r0, [r4, #0x30]
+ mov r1, #0xc
+ bl FUN_0206E0AC
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, _0206D1CC ; =0x00007FFF
+ ldr r2, _0206D1D0 ; =0x0000F3FF
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ mov r1, #0xf
+ mov r3, #0x4
+ bl FUN_02003210
+ ldr r0, _0206D1CC ; =0x00007FFF
+ mov r1, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x0
+ mov r3, #0x3
+ bl FUN_02007E98
+ ldr r0, _0206D1D4 ; =0x000005FC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CF18:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206CF2C
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0C8
+ cmp r0, #0x0
+ beq _0206CF30
+_0206CF2C:
+ bl _0206D806
+_0206CF30:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r2, r4, #0x0
+ add r2, #0x62
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0x44]
+ ldr r1, [r4, #0x20]
+ mov r3, #0x2
+ bl FUN_02069038
+ add r1, r4, #0x0
+ add r1, #0x62
+ ldrh r1, [r1, #0x0]
+ add r0, sp, #0x2c
+ bl FUN_02069010
+ ldr r0, [r4, #0x20]
+ add r1, sp, #0x2c
+ bl FUN_0200737C
+ ldr r0, [r4, #0x20]
+ mov r1, #0x0
+ bl FUN_02007314
+ add r0, r4, #0x0
+ add r0, #0x62
+ ldrh r0, [r0, #0x0]
+ bl FUN_02005578
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CF7E:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0206D084
+ ldr r0, [r4, #0x44]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _0206D084
+ ldr r0, [r4, #0x20]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _0206D084
+ add r2, r4, #0x0
+ ldr r0, [r4, #0x28]
+ mov r1, #0x5
+ add r2, #0x62
+ bl FUN_02067830
+ ldr r0, [r4, #0x28]
+ bl FUN_0206A1C4
+ ldr r0, [r4, #0x28]
+ bl FUN_02066ED8
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AC60
+ ldr r1, _0206D1D8 ; =0x00000396
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x28
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CFFA:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D084
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206D084
+ ldr r0, [r4, #0x48]
+ ldr r1, [r4, #0x28]
+ bl FUN_02024AF0
+ ldr r0, [r4, #0x50]
+ mov r1, #0xc
+ bl FUN_0202A0E8
+ ldr r0, [r4, #0x50]
+ mov r1, #0x16
+ bl FUN_0202A170
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x54]
+ bl FUN_0204C104
+ ldr r0, [r4, #0x28]
+ mov r1, #0x4d
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0206D05E
+ ldr r0, [r4, #0x28]
+ mov r1, #0xb2
+ mov r2, #0x0
+ bl FUN_02067830
+_0206D05E:
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D06E:
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x28]
+ add r1, #0x68
+ add r2, sp, #0xc
+ bl FUN_02069818
+ cmp r0, #0x0
+ beq _0206D08E
+ ldr r1, _0206D1DC ; =0x0000FFFE
+ cmp r0, r1
+ bne _0206D086
+_0206D084:
+ b _0206D806
+_0206D086:
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _0206D098
+ b _0206D0AC
+_0206D08E:
+ mov r0, #0x27
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D098:
+ add r0, sp, #0xc
+ ldrh r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x6c
+ strh r1, [r0, #0x0]
+ mov r0, #0xe
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D0AC:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, sp, #0xc
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x25
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D0E8:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r1, _0206D1E0 ; =0x000004A9
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D12C:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r1, _0206D1E4 ; =0x000004AA
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D162:
+ ldr r1, _0206D1E8 ; =0x000004AB
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D188:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D1AE
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206D1B0
+_0206D1AE:
+ b _0206D806
+_0206D1B0:
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D1C0:
+ ldr r0, [r4, #0x5c]
+ ldr r1, _0206D1EC ; =0x020F8320
+ b _0206D1F0
+ nop
+_0206D1C8: .word 0x000005FB
+_0206D1CC: .word 0x00007FFF
+_0206D1D0: .word 0x0000F3FF
+_0206D1D4: .word 0x000005FC
+_0206D1D8: .word 0x00000396
+_0206D1DC: .word 0x0000FFFE
+_0206D1E0: .word 0x000004A9
+_0206D1E4: .word 0x000004AA
+_0206D1E8: .word 0x000004AB
+_0206D1EC: .word 0x020F8320
+_0206D1F0:
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ mov r2, #0x1
+ mov r3, #0x8
+ bl FUN_02002198
+ str r0, [r4, #0x40]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D20E:
+ ldr r0, [r4, #0x40]
+ ldr r1, [r4, #0x5c]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206D226
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _0206D256
+ add sp, #0x54
+ pop {r3-r4, pc}
+_0206D226:
+ add r0, r4, #0x0
+ mov r1, #0x16
+ add r0, #0x64
+ strb r1, [r0, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D540 ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E98
+ add sp, #0x54
+ pop {r3-r4, pc}
+_0206D256:
+ mov r0, #0x20
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D260:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D2EC
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ ldr r0, [r4, #0x0]
+ bl FUN_0206DC48
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x6
+ mov r2, #0x1
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0x6
+ mov r2, #0x1
+ bl FUN_02007558
+ ldr r1, [r4, #0x28]
+ ldr r0, [r4, #0x3c]
+ mov r2, #0x1
+ str r1, [r0, #0x0]
+ ldr r1, [r4, #0x2c]
+ ldr r0, [r4, #0x3c]
+ str r1, [r0, #0x4]
+ ldr r1, [r4, #0x3c]
+ mov r0, #0x0
+ strb r0, [r1, #0x11]
+ ldr r1, [r4, #0x3c]
+ strb r0, [r1, #0x14]
+ ldr r1, [r4, #0x3c]
+ strb r2, [r1, #0x13]
+ add r1, r4, #0x0
+ add r1, #0x6c
+ ldrh r2, [r1, #0x0]
+ ldr r1, [r4, #0x3c]
+ strh r2, [r1, #0x18]
+ ldr r1, [r4, #0x3c]
+ mov r2, #0x2
+ strb r2, [r1, #0x12]
+ ldr r1, [r4, #0x3c]
+ str r0, [r1, #0x28]
+ ldr r0, [r4, #0x3c]
+ ldr r1, _0206D544 ; =0x020F831C
+ bl FUN_0207B000
+ add r0, r4, #0x0
+ bl FUN_0206DE0C
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D2E2:
+ ldr r0, [r4, #0x38]
+ bl FUN_02006290
+ cmp r0, #0x0
+ bne _0206D2EE
+_0206D2EC:
+ b _0206D806
+_0206D2EE:
+ ldr r0, [r4, #0x38]
+ bl FUN_02006260
+ ldr r1, [r4, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0206D9B4
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x1c]
+ bl FUN_020080D0
+ ldr r0, [r4, #0x20]
+ bl FUN_020080D0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D540 ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E98
+ bl FUN_02033E74
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D360:
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D474
+ ldr r0, [r4, #0x3c]
+ ldrb r1, [r0, #0x16]
+ cmp r1, #0x4
+ bne _0206D388
+ mov r0, #0x20
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D388:
+ add r0, r4, #0x0
+ add r0, #0x6e
+ strb r1, [r0, #0x0]
+ mov r0, #0x19
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D398:
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200AD5C
+ ldr r1, _0206D548 ; =0x000004AD
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D3CC:
+ ldr r0, [r4, #0x5c]
+ ldr r1, _0206D54C ; =0x020F8320
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ mov r2, #0x1
+ mov r3, #0x8
+ bl FUN_02002198
+ str r0, [r4, #0x40]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D3EE:
+ ldr r0, [r4, #0x40]
+ ldr r1, [r4, #0x5c]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206D406
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _0206D444
+ add sp, #0x54
+ pop {r3-r4, pc}
+_0206D406:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r1, _0206D550 ; =0x000004AE
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x24
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D444:
+ mov r0, #0xe
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D44E:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D474
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206D476
+_0206D474:
+ b _0206D806
+_0206D476:
+ mov r0, #0xd
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D480:
+ ldr r1, _0206D554 ; =0x000004AF
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D4A6:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r1, r4, #0x0
+ add r1, #0x6e
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r4, #0x28]
+ mov r2, #0x0
+ add r1, #0x36
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ mov r1, #0x4b
+ add r0, r4, #0x0
+ lsl r1, r1, #0x4
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D4F8:
+ ldr r1, _0206D558 ; =0x000004B1
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D51E:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r1, _0206D55C ; =0x000004B2
+ b _0206D560
+ .balign 4
+_0206D540: .word 0x0000FFFF
+_0206D544: .word 0x020F831C
+_0206D548: .word 0x000004AD
+_0206D54C: .word 0x020F8320
+_0206D550: .word 0x000004AE
+_0206D554: .word 0x000004AF
+_0206D558: .word 0x000004B1
+_0206D55C: .word 0x000004B2
+_0206D560:
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r2, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r1, r4, #0x0
+ add r1, #0x6e
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r4, #0x28]
+ add r2, #0x66
+ add r1, #0x3e
+ bl FUN_02067830
+ add r1, r4, #0x0
+ add r2, r4, #0x0
+ add r1, #0x6c
+ add r2, #0x6e
+ ldrh r1, [r1, #0x0]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x28]
+ bl FUN_020697CC
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x25
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D5AA:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D5E8
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D5C8:
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ bne _0206D5E8
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206D5EA
+_0206D5E8:
+ b _0206D806
+_0206D5EA:
+ mov r0, #0xd
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D5F4:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D80C ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E98
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D628:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D6F8
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0DC
+ add r0, r4, #0x0
+ bl FUN_0206D820
+ mov r0, #0x1
+ add r4, #0x67
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D648:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D6F8
+ mov r1, #0xc
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x1c]
+ add r2, #0xf4
+ bl FUN_02007558
+ mov r1, #0xd
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x1c]
+ add r2, #0xf3
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0xc
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0x6
+ mov r2, #0x1
+ bl FUN_02007558
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r0, _0206D810 ; =0x00007FFF
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D814 ; =0x0000F3FF
+ mov r1, #0xf
+ bl FUN_02003210
+ ldr r0, _0206D810 ; =0x00007FFF
+ mov r2, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E98
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x72
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0xff
+ add r0, #0x74
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0xa0
+ add r0, #0x75
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ ldr r0, _0206D818 ; =0x00000475
+ bl FUN_02005350
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0DC
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D6EE:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ beq _0206D6FA
+_0206D6F8:
+ b _0206D806
+_0206D6FA:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r2, r4, #0x0
+ add r2, #0x60
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0x44]
+ ldr r1, [r4, #0x1c]
+ mov r3, #0x2
+ bl FUN_02069038
+ add r1, r4, #0x0
+ add r1, #0x60
+ ldrh r1, [r1, #0x0]
+ add r0, sp, #0x18
+ bl FUN_02069010
+ ldr r0, [r4, #0x1c]
+ add r1, sp, #0x18
+ bl FUN_0200737C
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x0
+ bl FUN_02007314
+ add r0, r4, #0x0
+ add r0, #0x60
+ ldrh r0, [r0, #0x0]
+ bl FUN_02005578
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D748:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0206D806
+ ldr r0, [r4, #0x44]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _0206D806
+ ldr r0, [r4, #0x1c]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _0206D806
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r1, _0206D81C ; =0x00000397
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D79C:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D806
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206D806
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D80C ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E98
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D7F6:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D806
+ mov r0, #0x1
+ add r4, #0x67
+ strb r0, [r4, #0x0]
+_0206D806:
add sp, #0x54
pop {r3-r4, pc}
nop
-_0206D80C:
- .byte 0xFF, 0xFF, 0x00, 0x00
- .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xF3, 0x00, 0x00, 0x75, 0x04, 0x00, 0x00, 0x97, 0x03, 0x00, 0x00
+_0206D80C: .word 0x0000FFFF
+_0206D810: .word 0x00007FFF
+_0206D814: .word 0x0000F3FF
+_0206D818: .word 0x00000475
+_0206D81C: .word 0x00000397
thumb_func_start FUN_0206D820
FUN_0206D820: ; 0x0206D820
@@ -204205,13 +230823,15 @@ _0206D834:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r4, r1, #0
- lsl r6, r4, #0x5
- lsl r6, r4, #0x5
- lsl r6, r4, #0x5
- lsl r0, r3, #0x5
- lsl r0, r3, #0x5
+_0206D846: ; jump table (using 16-bit offset)
+ .short _0206D854 - _0206D846 - 2; case 0
+ .short _0206D854 - _0206D846 - 2; case 1
+ .short _0206D9AE - _0206D846 - 2; case 2
+ .short _0206D9AE - _0206D846 - 2; case 3
+ .short _0206D9AE - _0206D846 - 2; case 4
+ .short _0206D9A0 - _0206D846 - 2; case 5
+ .short _0206D9A0 - _0206D846 - 2; case 6
+_0206D854:
ldr r0, [r4, #0x4c]
ldr r2, [r4, #0x5c]
mov r1, #0x4
@@ -204836,25 +231456,39 @@ FUN_0206DDB4: ; 0x0206DDB4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r6, #0
- lsl r2, r1, #0
- lsl r2, r2, #0
- lsl r2, r3, #0
- lsl r2, r4, #0
- lsl r2, r5, #0
+_0206DDC8: ; jump table (using 16-bit offset)
+ .short _0206DDFA - _0206DDC8 - 2; case 0
+ .short _0206DDD4 - _0206DDC8 - 2; case 1
+ .short _0206DDDC - _0206DDC8 - 2; case 2
+ .short _0206DDE4 - _0206DDC8 - 2; case 3
+ .short _0206DDEC - _0206DDC8 - 2; case 4
+ .short _0206DDF4 - _0206DDC8 - 2; case 5
+_0206DDD4:
bl FUN_02005514
add r4, r0, #0x0
b _0206DDFA
_0206DDDC:
- .byte 0x97, 0xF7, 0x6E, 0xFF
- .byte 0x04, 0x1C, 0x0A, 0xE0, 0x06, 0x48, 0x97, 0xF7, 0x1F, 0xFF, 0x06, 0xE0, 0x05, 0x48, 0x97, 0xF7
- .byte 0x6B, 0xFB, 0x02, 0xE0, 0x04, 0x48, 0x97, 0xF7, 0x17, 0xFF
+ bl FUN_02005CBC
+ add r4, r0, #0x0
+ b _0206DDFA
+_0206DDE4:
+ ldr r0, _0206DE00 ; =0x00000484
+ bl FUN_02005C28
+ b _0206DDFA
+_0206DDEC:
+ ldr r0, _0206DE04 ; =0x000005E6
+ bl FUN_020054C8
+ b _0206DDFA
+_0206DDF4:
+ ldr r0, _0206DE08 ; =0x00000483
+ bl FUN_02005C28
_0206DDFA:
add r0, r4, #0x0
pop {r4, pc}
nop
-_0206DE00:
- .byte 0x84, 0x04, 0x00, 0x00, 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00
+_0206DE00: .word 0x00000484
+_0206DE04: .word 0x000005E6
+_0206DE08: .word 0x00000483
thumb_func_start FUN_0206DE0C
FUN_0206DE0C: ; 0x0206DE0C
@@ -205985,10 +232619,12 @@ FUN_0206E640: ; 0x0206E640
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r0, r3, #0
- lsl r2, r6, #0
- lsl r6, r1, #0x1
+_0206E650: ; jump table (using 16-bit offset)
+ .short _0206E658 - _0206E650 - 2; case 0
+ .short _0206E66A - _0206E650 - 2; case 1
+ .short _0206E684 - _0206E650 - 2; case 2
+ .short _0206E6A0 - _0206E650 - 2; case 3
+_0206E658:
cmp r0, #0x0
beq _0206E6B2
ldr r1, _0206E6B8 ; =0x0000FFFF
@@ -205999,21 +232635,60 @@ FUN_0206E640: ; 0x0206E640
ldrh r0, [r0, r1]
bx lr
_0206E66A:
- .byte 0x00, 0x28, 0x01, 0xD1, 0x14, 0x48
- .byte 0x70, 0x47, 0x11, 0x49, 0x88, 0x42, 0x01, 0xD1, 0x12, 0x48, 0x70, 0x47, 0xC1, 0x00, 0x12, 0x48
- .byte 0x40, 0x5A, 0x70, 0x47, 0x00, 0x28, 0x02, 0xD1, 0xAF, 0x20, 0x80, 0x00, 0x70, 0x47, 0x0A, 0x49
- .byte 0x88, 0x42, 0x01, 0xD1, 0x0D, 0x48, 0x70, 0x47, 0xC1, 0x00, 0x0D, 0x48, 0x40, 0x5A, 0x70, 0x47
- .byte 0x00, 0x28, 0x06, 0xD0, 0x04, 0x49, 0x88, 0x42, 0x03, 0xD0, 0xC1, 0x00, 0x09, 0x48, 0x40, 0x5A
- .byte 0x70, 0x47
+ cmp r0, #0x0
+ bne _0206E672
+ ldr r0, _0206E6C0 ; =0x000002BB
+ bx lr
+_0206E672:
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0206E67C
+ ldr r0, _0206E6C4 ; =0x000002BD
+ bx lr
+_0206E67C:
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6C8 ; =0x020F85B6
+ ldrh r0, [r0, r1]
+ bx lr
+_0206E684:
+ cmp r0, #0x0
+ bne _0206E68E
+ mov r0, #0xaf
+ lsl r0, r0, #0x2
+ bx lr
+_0206E68E:
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0206E698
+ ldr r0, _0206E6CC ; =0x000002BE
+ bx lr
+_0206E698:
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6D0 ; =0x020F85B8
+ ldrh r0, [r0, r1]
+ bx lr
+_0206E6A0:
+ cmp r0, #0x0
+ beq _0206E6B2
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ beq _0206E6B2
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6D4 ; =0x020F85BA
+ ldrh r0, [r0, r1]
+ bx lr
_0206E6B2:
mov r0, #0x0
bx lr
nop
_0206E6B8: .word 0x0000FFFF
_0206E6BC: .word 0x020F85B4
-_0206E6C0:
- .byte 0xBB, 0x02, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0xB6, 0x85, 0x0F, 0x02, 0xBE, 0x02, 0x00, 0x00
- .byte 0xB8, 0x85, 0x0F, 0x02, 0xBA, 0x85, 0x0F, 0x02
+_0206E6C0: .word 0x000002BB
+_0206E6C4: .word 0x000002BD
+_0206E6C8: .word 0x020F85B6
+_0206E6CC: .word 0x000002BE
+_0206E6D0: .word 0x020F85B8
+_0206E6D4: .word 0x020F85BA
thumb_func_start FUN_0206E6D8
FUN_0206E6D8: ; 0x0206E6D8
@@ -206168,29 +232843,77 @@ FUN_0206E7DC: ; 0x0206E7DC
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r0, r5, #0
- lsl r0, r6, #0
- lsl r0, r7, #0
- lsl r0, r0, #0x1
- lsl r4, r0, #0x1
- lsl r0, r1, #0x1
- lsl r4, r1, #0x1
- lsl r0, r2, #0x1
- lsl r4, r2, #0x1
- lsl r0, r3, #0x1
- lsl r0, r4, #0x1
- lsl r0, r5, #0x1
+_0206E7EE: ; jump table (using 16-bit offset)
+ .short _0206E80C - _0206E7EE - 2; case 0
+ .short _0206E810 - _0206E7EE - 2; case 1
+ .short _0206E814 - _0206E7EE - 2; case 2
+ .short _0206E818 - _0206E7EE - 2; case 3
+ .short _0206E820 - _0206E7EE - 2; case 4
+ .short _0206E828 - _0206E7EE - 2; case 5
+ .short _0206E830 - _0206E7EE - 2; case 6
+ .short _0206E834 - _0206E7EE - 2; case 7
+ .short _0206E838 - _0206E7EE - 2; case 8
+ .short _0206E83C - _0206E7EE - 2; case 9
+ .short _0206E840 - _0206E7EE - 2; case 10
+ .short _0206E844 - _0206E7EE - 2; case 11
+ .short _0206E848 - _0206E7EE - 2; case 12
+ .short _0206E850 - _0206E7EE - 2; case 13
+ .short _0206E858 - _0206E7EE - 2; case 14
+_0206E80C:
ldrh r0, [r0, #0x0]
pop {r3, pc}
_0206E810:
- .byte 0x80, 0x78, 0x08, 0xBD, 0xC0, 0x78, 0x08, 0xBD, 0x00, 0x89, 0x80, 0x06, 0xC0, 0x0F, 0x08, 0xBD
- .byte 0x00, 0x89, 0x40, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x00, 0x89, 0x40, 0x05, 0x00, 0x0F, 0x08, 0xBD
- .byte 0x80, 0x7A, 0x08, 0xBD, 0xC0, 0x7A, 0x08, 0xBD, 0x00, 0x79, 0x08, 0xBD, 0x40, 0x79, 0x08, 0xBD
- .byte 0x80, 0x79, 0x08, 0xBD, 0xC0, 0x79, 0x08, 0xBD, 0x00, 0x89, 0xC0, 0x06, 0xC0, 0x0E, 0x08, 0xBD
- .byte 0x00, 0x89, 0x00, 0x04, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x7B, 0x08, 0xBD
+ ldrb r0, [r0, #0x2]
+ pop {r3, pc}
+_0206E814:
+ ldrb r0, [r0, #0x3]
+ pop {r3, pc}
+_0206E818:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_0206E820:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_0206E828:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1c
+ pop {r3, pc}
+_0206E830:
+ ldrb r0, [r0, #0xa]
+ pop {r3, pc}
+_0206E834:
+ ldrb r0, [r0, #0xb]
+ pop {r3, pc}
+_0206E838:
+ ldrb r0, [r0, #0x4]
+ pop {r3, pc}
+_0206E83C:
+ ldrb r0, [r0, #0x5]
+ pop {r3, pc}
+_0206E840:
+ ldrb r0, [r0, #0x6]
+ pop {r3, pc}
+_0206E844:
+ ldrb r0, [r0, #0x7]
+ pop {r3, pc}
+_0206E848:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0206E850:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0206E858:
+ ldrb r0, [r0, #0xc]
+ pop {r3, pc}
_0206E85C:
ldrb r2, [r0, #0xc]
cmp r2, #0x0
@@ -206222,76 +232945,258 @@ _0206E880:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r2, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r6, r5, #0x1
- lsl r6, r6, #0x1
- lsl r6, r7, #0x1
- lsl r6, r0, #0x2
- lsl r6, r1, #0x2
- lsl r6, r2, #0x2
- lsl r6, r3, #0x2
- lsl r6, r4, #0x2
- lsl r6, r5, #0x2
- lsl r6, r6, #0x2
- lsl r6, r7, #0x2
- lsl r6, r0, #0x3
- lsl r6, r1, #0x3
- lsl r6, r2, #0x3
- lsl r6, r3, #0x3
- lsl r6, r4, #0x3
- lsl r6, r5, #0x3
- lsl r6, r6, #0x3
- lsl r6, r7, #0x3
- lsl r6, r0, #0x4
- lsl r6, r1, #0x4
- lsl r6, r2, #0x4
- lsl r6, r3, #0x4
- lsl r6, r4, #0x4
- lsl r6, r5, #0x4
- lsl r6, r6, #0x4
- lsl r6, r7, #0x4
- lsl r6, r0, #0x5
- lsl r6, r1, #0x5
- lsl r6, r2, #0x5
- lsl r6, r3, #0x5
- lsl r4, r4, #0x5
- lsl r2, r5, #0x5
- lsl r0, r6, #0x5
- lsl r6, r6, #0x5
- lsl r4, r7, #0x5
- lsl r2, r0, #0x6
- lsl r6, r0, #0x6
- lsl r2, r1, #0x6
- lsl r0, r2, #0x6
- lsl r6, r2, #0x6
+_0206E88C: ; jump table (using 16-bit offset)
+ .short _0206E8E4 - _0206E88C - 2; case 0
+ .short _0206E8EC - _0206E88C - 2; case 1
+ .short _0206E8F4 - _0206E88C - 2; case 2
+ .short _0206E8FC - _0206E88C - 2; case 3
+ .short _0206E904 - _0206E88C - 2; case 4
+ .short _0206E90C - _0206E88C - 2; case 5
+ .short _0206E914 - _0206E88C - 2; case 6
+ .short _0206E91C - _0206E88C - 2; case 7
+ .short _0206E924 - _0206E88C - 2; case 8
+ .short _0206E92C - _0206E88C - 2; case 9
+ .short _0206E934 - _0206E88C - 2; case 10
+ .short _0206E93C - _0206E88C - 2; case 11
+ .short _0206E944 - _0206E88C - 2; case 12
+ .short _0206E94C - _0206E88C - 2; case 13
+ .short _0206E954 - _0206E88C - 2; case 14
+ .short _0206E95C - _0206E88C - 2; case 15
+ .short _0206E964 - _0206E88C - 2; case 16
+ .short _0206E96C - _0206E88C - 2; case 17
+ .short _0206E974 - _0206E88C - 2; case 18
+ .short _0206E97C - _0206E88C - 2; case 19
+ .short _0206E984 - _0206E88C - 2; case 20
+ .short _0206E98C - _0206E88C - 2; case 21
+ .short _0206E994 - _0206E88C - 2; case 22
+ .short _0206E99C - _0206E88C - 2; case 23
+ .short _0206E9A4 - _0206E88C - 2; case 24
+ .short _0206E9AC - _0206E88C - 2; case 25
+ .short _0206E9B4 - _0206E88C - 2; case 26
+ .short _0206E9BC - _0206E88C - 2; case 27
+ .short _0206E9C4 - _0206E88C - 2; case 28
+ .short _0206E9CC - _0206E88C - 2; case 29
+ .short _0206E9D4 - _0206E88C - 2; case 30
+ .short _0206E9DC - _0206E88C - 2; case 31
+ .short _0206E9E4 - _0206E88C - 2; case 32
+ .short _0206E9EC - _0206E88C - 2; case 33
+ .short _0206E9F2 - _0206E88C - 2; case 34
+ .short _0206E9F8 - _0206E88C - 2; case 35
+ .short _0206E9FE - _0206E88C - 2; case 36
+ .short _0206EA04 - _0206E88C - 2; case 37
+ .short _0206EA0A - _0206E88C - 2; case 38
+ .short _0206EA10 - _0206E88C - 2; case 39
+ .short _0206EA14 - _0206E88C - 2; case 40
+ .short _0206EA18 - _0206E88C - 2; case 41
+ .short _0206EA1E - _0206E88C - 2; case 42
+ .short _0206EA24 - _0206E88C - 2; case 43
+_0206E8E4:
ldrb r0, [r0, #0x0]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
bx lr
_0206E8EC:
- .byte 0x00, 0x78, 0x80, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x40, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x00, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0xC0, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x80, 0x06
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x40, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x00, 0x06
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0xC0, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x80, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x40, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x00, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0x80, 0x78, 0x00, 0x07
- .byte 0x00, 0x0F, 0x70, 0x47, 0x80, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0xC0, 0x78, 0x00, 0x07
- .byte 0x00, 0x0F, 0x70, 0x47, 0xC0, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x00, 0x07
- .byte 0x00, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x80, 0x06, 0x80, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x40, 0x06
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x00, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0xC0, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x80, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x40, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x00, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0xC0, 0x06
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x80, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x40, 0x06
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x00, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0xC0, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x80, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x40, 0x07
- .byte 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x00, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x07, 0x21, 0x40, 0x56
- .byte 0x70, 0x47, 0x08, 0x21, 0x40, 0x56, 0x70, 0x47, 0x09, 0x21, 0x40, 0x56, 0x70, 0x47, 0x0A, 0x21
- .byte 0x40, 0x56, 0x70, 0x47, 0x0B, 0x21, 0x40, 0x56, 0x70, 0x47, 0x0C, 0x21, 0x40, 0x56, 0x70, 0x47
- .byte 0x40, 0x7B, 0x70, 0x47, 0x80, 0x7B, 0x70, 0x47, 0x0F, 0x21, 0x40, 0x56, 0x70, 0x47, 0x10, 0x21
- .byte 0x40, 0x56, 0x70, 0x47, 0x11, 0x21, 0x40, 0x56, 0x70, 0x47
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E8F4:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E8FC:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E904:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E90C:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E914:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E91C:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E924:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E92C:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E934:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E93C:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E944:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E94C:
+ ldrb r0, [r0, #0x2]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E954:
+ ldrb r0, [r0, #0x2]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E95C:
+ ldrb r0, [r0, #0x3]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E964:
+ ldrb r0, [r0, #0x3]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E96C:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E974:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1e
+ bx lr
+_0206E97C:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E984:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E98C:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E994:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E99C:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9A4:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9AC:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9B4:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9BC:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9C4:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9CC:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9D4:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9DC:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9E4:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9EC:
+ mov r1, #0x7
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206E9F2:
+ mov r1, #0x8
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206E9F8:
+ mov r1, #0x9
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206E9FE:
+ mov r1, #0xa
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA04:
+ mov r1, #0xb
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA0A:
+ mov r1, #0xc
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA10:
+ ldrb r0, [r0, #0xd]
+ bx lr
+_0206EA14:
+ ldrb r0, [r0, #0xe]
+ bx lr
+_0206EA18:
+ mov r1, #0xf
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA1E:
+ mov r1, #0x10
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA24:
+ mov r1, #0x11
+ ldrsb r0, [r0, r1]
+ bx lr
_0206EA2A:
mov r0, #0x0
bx lr
@@ -206583,14 +233488,16 @@ FUN_0206EBD4: ; 0x0206EBD4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r3, #0
- lsl r0, r6, #0
- lsl r4, r7, #0
- lsl r0, r4, #0x1
- lsl r4, r4, #0
- lsl r4, r2, #0x1
- lsl r0, r1, #0x1
- lsl r6, r1, #0
+_0206EBF6: ; jump table (using 16-bit offset)
+ .short _0206EC14 - _0206EBF6 - 2; case 0
+ .short _0206EC28 - _0206EBF6 - 2; case 1
+ .short _0206EC34 - _0206EBF6 - 2; case 2
+ .short _0206EC58 - _0206EBF6 - 2; case 3
+ .short _0206EC1C - _0206EBF6 - 2; case 4
+ .short _0206EC4C - _0206EBF6 - 2; case 5
+ .short _0206EC40 - _0206EBF6 - 2; case 6
+ .short _0206EC06 - _0206EBF6 - 2; case 7
+_0206EC06:
mov r1, #0xa5
lsl r1, r1, #0x2
add r1, r4, r1
@@ -206599,18 +233506,60 @@ FUN_0206EBD4: ; 0x0206EBD4
str r1, [r6, #0x0]
pop {r4-r6, pc}
_0206EC14:
- .byte 0x2C, 0x60, 0xA5, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x12, 0x49, 0x61, 0x18
- .byte 0x29, 0x60, 0x40, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x10, 0x49, 0x61, 0x18, 0x29, 0x60, 0x28, 0x21
- .byte 0x31, 0x60, 0x70, 0xBD, 0x0E, 0x49, 0x61, 0x18, 0x29, 0x60, 0x0F, 0x21, 0x31, 0x60, 0x70, 0xBD
- .byte 0x0C, 0x49, 0x61, 0x18, 0x29, 0x60, 0x1E, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x0A, 0x49, 0x61, 0x18
- .byte 0x29, 0x60, 0x0C, 0x21, 0x31, 0x60, 0x70, 0xBD, 0xD7, 0x21, 0x89, 0x00, 0x61, 0x18, 0x29, 0x60
- .byte 0x64, 0x21, 0x31, 0x60
+ str r4, [r5, #0x0]
+ mov r1, #0xa5
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC1C:
+ ldr r1, _0206EC68 ; =0x000005BC
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x40
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC28:
+ ldr r1, _0206EC6C ; =0x0000051C
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x28
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC34:
+ ldr r1, _0206EC70 ; =0x000006BC
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0xf
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC40:
+ ldr r1, _0206EC74 ; =0x000006F8
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x1e
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC4C:
+ ldr r1, _0206EC78 ; =0x000004EC
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0xc
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC58:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x64
+ str r1, [r6, #0x0]
_0206EC64:
pop {r4-r6, pc}
nop
-_0206EC68:
- .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00
- .byte 0xBC, 0x06, 0x00, 0x00, 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00
+_0206EC68: .word 0x000005BC
+_0206EC6C: .word 0x0000051C
+_0206EC70: .word 0x000006BC
+_0206EC74: .word 0x000006F8
+_0206EC78: .word 0x000004EC
thumb_func_start FUN_0206EC7C
FUN_0206EC7C: ; 0x0206EC7C
@@ -206896,25 +233845,55 @@ FUN_0206EE64: ; 0x0206EE64
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r3, #0
- lsl r4, r4, #0
- lsl r4, r5, #0
- lsl r4, r0, #0x1
- lsl r4, r3, #0
- lsl r4, r7, #0
- lsl r4, r6, #0
- lsl r6, r1, #0
+_0206EE74: ; jump table (using 16-bit offset)
+ .short _0206EE8E - _0206EE74 - 2; case 0
+ .short _0206EE9A - _0206EE74 - 2; case 1
+ .short _0206EEA2 - _0206EE74 - 2; case 2
+ .short _0206EEBA - _0206EE74 - 2; case 3
+ .short _0206EE92 - _0206EE74 - 2; case 4
+ .short _0206EEB2 - _0206EE74 - 2; case 5
+ .short _0206EEAA - _0206EE74 - 2; case 6
+ .short _0206EE84 - _0206EE74 - 2; case 7
+_0206EE84:
mov r1, #0xa5
lsl r1, r1, #0x2
add r0, r0, r1
mov r2, #0x32
b _0206EEC8
_0206EE8E:
- .byte 0xA5, 0x22
- .byte 0x1A, 0xE0, 0x14, 0x49, 0x40, 0x22, 0x40, 0x18, 0x16, 0xE0, 0x13, 0x49, 0x28, 0x22, 0x40, 0x18
- .byte 0x12, 0xE0, 0x12, 0x49, 0x0F, 0x22, 0x40, 0x18, 0x0E, 0xE0, 0x11, 0x49, 0x1E, 0x22, 0x40, 0x18
- .byte 0x0A, 0xE0, 0x10, 0x49, 0x0C, 0x22, 0x40, 0x18, 0x06, 0xE0, 0xD7, 0x21, 0x89, 0x00, 0x40, 0x18
- .byte 0x64, 0x22, 0x01, 0xE0
+ mov r2, #0xa5
+ b _0206EEC8
+_0206EE92:
+ ldr r1, _0206EEE4 ; =0x000005BC
+ mov r2, #0x40
+ add r0, r0, r1
+ b _0206EEC8
+_0206EE9A:
+ ldr r1, _0206EEE8 ; =0x0000051C
+ mov r2, #0x28
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEA2:
+ ldr r1, _0206EEEC ; =0x000006BC
+ mov r2, #0xf
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEAA:
+ ldr r1, _0206EEF0 ; =0x000006F8
+ mov r2, #0x1e
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEB2:
+ ldr r1, _0206EEF4 ; =0x000004EC
+ mov r2, #0xc
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEBA:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r2, #0x64
+ b _0206EEC8
_0206EEC4:
mov r0, #0x0
bx lr
@@ -206936,9 +233915,12 @@ _0206EED8:
_0206EEE0:
mov r0, #0x0
bx lr
-_0206EEE4:
- .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00
- .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00
+ .balign 4
+_0206EEE4: .word 0x000005BC
+_0206EEE8: .word 0x0000051C
+_0206EEEC: .word 0x000006BC
+_0206EEF0: .word 0x000006F8
+_0206EEF4: .word 0x000004EC
thumb_func_start FUN_0206EEF8
FUN_0206EEF8: ; 0x0206EEF8
@@ -207109,14 +234091,16 @@ _0206F004:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r4, #0
- lsl r4, r0, #0x1
- lsl r6, r2, #0x1
- lsl r4, r1, #0x2
- lsl r2, r6, #0
- lsl r2, r7, #0x1
- lsl r0, r5, #0x1
- lsl r6, r1, #0
+_0206F016: ; jump table (using 16-bit offset)
+ .short _0206F03A - _0206F016 - 2; case 0
+ .short _0206F05C - _0206F016 - 2; case 1
+ .short _0206F06E - _0206F016 - 2; case 2
+ .short _0206F0A4 - _0206F016 - 2; case 3
+ .short _0206F04A - _0206F016 - 2; case 4
+ .short _0206F092 - _0206F016 - 2; case 5
+ .short _0206F080 - _0206F016 - 2; case 6
+ .short _0206F026 - _0206F016 - 2; case 7
+_0206F026:
mov r1, #0xa5
lsl r1, r1, #0x2
lsl r3, r4, #0x18
@@ -207127,15 +234111,67 @@ _0206F004:
bl FUN_0206E330
b _0206F0B6
_0206F03A:
- .byte 0x23, 0x06, 0x30, 0x1C, 0x29, 0x1C
- .byte 0x00, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x74, 0xF9, 0x35, 0xE0, 0x1E, 0x49, 0x23, 0x06, 0x30, 0x1C
- .byte 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x6B, 0xF9, 0x2C, 0xE0, 0x1A, 0x49, 0x23, 0x06
- .byte 0x30, 0x1C, 0x69, 0x18, 0x01, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x62, 0xF9, 0x23, 0xE0, 0x17, 0x49
- .byte 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x02, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x59, 0xF9, 0x1A, 0xE0
- .byte 0x13, 0x49, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x06, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x50, 0xF9
- .byte 0x11, 0xE0, 0x10, 0x49, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x05, 0x22, 0x1B, 0x0E, 0xFF, 0xF7
- .byte 0x47, 0xF9, 0x08, 0xE0, 0xD7, 0x21, 0x89, 0x00, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x03, 0x22
- .byte 0x1B, 0x0E, 0xFF, 0xF7, 0x3D, 0xF9
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F04A:
+ ldr r1, _0206F0C4 ; =0x000005BC
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F05C:
+ ldr r1, _0206F0C8 ; =0x0000051C
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x1
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F06E:
+ ldr r1, _0206F0CC ; =0x000006BC
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x2
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F080:
+ ldr r1, _0206F0D0 ; =0x000006F8
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x6
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F092:
+ ldr r1, _0206F0D4 ; =0x000004EC
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x5
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F0A4:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x3
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
_0206F0B6:
add r4, r4, #0x1
ldrb r0, [r7, r4]
@@ -207145,9 +234181,11 @@ _0206F0BE:
add r0, r6, #0x0
pop {r3-r7, pc}
nop
-_0206F0C4:
- .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00
- .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00
+_0206F0C4: .word 0x000005BC
+_0206F0C8: .word 0x0000051C
+_0206F0CC: .word 0x000006BC
+_0206F0D0: .word 0x000006F8
+_0206F0D4: .word 0x000004EC
thumb_func_start FUN_0206F0D8
FUN_0206F0D8: ; 0x0206F0D8
@@ -207159,24 +234197,54 @@ FUN_0206F0D8: ; 0x0206F0D8
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r3, #0
- lsl r4, r4, #0
- lsl r4, r5, #0
- lsl r4, r0, #0x1
- lsl r4, r3, #0
- lsl r4, r7, #0
- lsl r4, r6, #0
- lsl r6, r1, #0
+_0206F0E8: ; jump table (using 16-bit offset)
+ .short _0206F102 - _0206F0E8 - 2; case 0
+ .short _0206F10E - _0206F0E8 - 2; case 1
+ .short _0206F116 - _0206F0E8 - 2; case 2
+ .short _0206F12E - _0206F0E8 - 2; case 3
+ .short _0206F106 - _0206F0E8 - 2; case 4
+ .short _0206F126 - _0206F0E8 - 2; case 5
+ .short _0206F11E - _0206F0E8 - 2; case 6
+ .short _0206F0F8 - _0206F0E8 - 2; case 7
+_0206F0F8:
mov r1, #0xa5
lsl r1, r1, #0x2
add r0, r0, r1
mov r3, #0x32
b _0206F136
_0206F102:
- .byte 0xA5, 0x23, 0x17, 0xE0, 0x0F, 0x49, 0x40, 0x23, 0x40, 0x18, 0x13, 0xE0, 0x0E, 0x49
- .byte 0x28, 0x23, 0x40, 0x18, 0x0F, 0xE0, 0x0D, 0x49, 0x0F, 0x23, 0x40, 0x18, 0x0B, 0xE0, 0x0C, 0x49
- .byte 0x1E, 0x23, 0x40, 0x18, 0x07, 0xE0, 0x0B, 0x49, 0x0C, 0x23, 0x40, 0x18, 0x03, 0xE0, 0xD7, 0x21
- .byte 0x89, 0x00, 0x40, 0x18, 0x64, 0x23
+ mov r3, #0xa5
+ b _0206F136
+_0206F106:
+ ldr r1, _0206F144 ; =0x000005BC
+ mov r3, #0x40
+ add r0, r0, r1
+ b _0206F136
+_0206F10E:
+ ldr r1, _0206F148 ; =0x0000051C
+ mov r3, #0x28
+ add r0, r0, r1
+ b _0206F136
+_0206F116:
+ ldr r1, _0206F14C ; =0x000006BC
+ mov r3, #0xf
+ add r0, r0, r1
+ b _0206F136
+_0206F11E:
+ ldr r1, _0206F150 ; =0x000006F8
+ mov r3, #0x1e
+ add r0, r0, r1
+ b _0206F136
+_0206F126:
+ ldr r1, _0206F154 ; =0x000004EC
+ mov r3, #0xc
+ add r0, r0, r1
+ b _0206F136
+_0206F12E:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r3, #0x64
_0206F136:
cmp r2, r3
blo _0206F13E
@@ -207186,9 +234254,12 @@ _0206F13E:
lsl r1, r2, #0x2
add r0, r0, r1
bx lr
-_0206F144:
- .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00
- .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00
+ .balign 4
+_0206F144: .word 0x000005BC
+_0206F148: .word 0x0000051C
+_0206F14C: .word 0x000006BC
+_0206F150: .word 0x000006F8
+_0206F154: .word 0x000004EC
thumb_func_start FUN_0206F158
FUN_0206F158: ; 0x0206F158
@@ -207324,21 +234395,24 @@ _0206F20A:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r2, #0
- lsl r4, r3, #0
- lsl r2, r0, #0x1
- lsl r4, r2, #0x1
- lsl r2, r0, #0x4
- lsl r0, r3, #0x4
- lsl r6, r3, #0x4
- lsl r4, r5, #0x4
- lsl r2, r6, #0x4
- lsl r6, r1, #0x5
- lsl r6, r1, #0x5
- lsl r6, r1, #0x5
+_0206F216: ; jump table (using 16-bit offset)
+ .short _0206F22E - _0206F216 - 2; case 0
+ .short _0206F234 - _0206F216 - 2; case 1
+ .short _0206F25A - _0206F216 - 2; case 2
+ .short _0206F26C - _0206F216 - 2; case 3
+ .short _0206F31A - _0206F216 - 2; case 4
+ .short _0206F330 - _0206F216 - 2; case 5
+ .short _0206F336 - _0206F216 - 2; case 6
+ .short _0206F344 - _0206F216 - 2; case 7
+ .short _0206F34A - _0206F216 - 2; case 8
+ .short _0206F366 - _0206F216 - 2; case 9
+ .short _0206F366 - _0206F216 - 2; case 10
+ .short _0206F366 - _0206F216 - 2; case 11
+_0206F22E:
ldr r1, [r5, #0xc]
ldr r0, [r4, #0x0]
str r1, [r0, #0x0]
+_0206F234:
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
@@ -207360,33 +234434,167 @@ _0206F24E:
strh r1, [r0, #0x0]
b _0206F380
_0206F25A:
- .byte 0x4A, 0x49, 0x22, 0x68, 0x30, 0x1C
- .byte 0xD7, 0xF7, 0x4E, 0xF9, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x89, 0xE0, 0xE8, 0x68, 0xC4, 0xF7
- .byte 0xED, 0xFA, 0x00, 0x28, 0x04, 0xD0, 0xE8, 0x68, 0xD7, 0xF7, 0x18, 0xF8, 0xF0, 0xF7, 0x42, 0xF8
- .byte 0x20, 0x68, 0x40, 0x68, 0x0A, 0x28, 0x7B, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04
- .byte 0x00, 0x14, 0x87, 0x44, 0xEA, 0x00, 0x22, 0x00, 0x30, 0x00, 0x14, 0x00, 0x4A, 0x00, 0x58, 0x00
- .byte 0x3E, 0x00, 0x66, 0x00, 0x78, 0x00, 0x7E, 0x00, 0x6C, 0x00, 0x00, 0x20, 0x20, 0x73, 0x01, 0x20
- .byte 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x63, 0xE0, 0x32, 0x20, 0x20, 0x73, 0x01, 0x20, 0x60, 0x73
- .byte 0x04, 0x20, 0x60, 0x60, 0x5C, 0xE0, 0x64, 0x20, 0x20, 0x73, 0x01, 0x20, 0x60, 0x73, 0x04, 0x20
- .byte 0x60, 0x60, 0x55, 0xE0, 0x00, 0x20, 0x20, 0x73, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x4F, 0xE0
- .byte 0x32, 0x20, 0x20, 0x73, 0x00, 0x20, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x48, 0xE0, 0x64, 0x20
- .byte 0x20, 0x73, 0x00, 0x20, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x41, 0xE0, 0x06, 0x20, 0x60, 0x60
- .byte 0x3E, 0xE0, 0xA0, 0x68, 0x01, 0x21, 0x01, 0x80, 0x0B, 0x20, 0x60, 0x60, 0x38, 0xE0, 0x09, 0x20
- .byte 0x60, 0x60, 0x35, 0xE0, 0x08, 0x20, 0x60, 0x60, 0x32, 0xE0, 0x21, 0x68, 0x22, 0x7B, 0x63, 0x7B
- .byte 0x89, 0x68, 0x30, 0x1C, 0xD7, 0xF7, 0x4C, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x27, 0xE0
- .byte 0x02, 0x20, 0x60, 0x60, 0x24, 0xE0, 0x30, 0x1C, 0xC9, 0xF7, 0x4E, 0xF8, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x1D, 0xE0, 0x02, 0x20, 0x60, 0x60, 0x1A, 0xE0, 0x0F, 0x4A, 0x03, 0x20, 0x36, 0x21
- .byte 0xA7, 0xF7, 0x64, 0xFA, 0x19, 0xF0, 0x90, 0xFA, 0x36, 0x20, 0xA2, 0xF1, 0x81, 0xFD, 0x00, 0x20
- .byte 0x5E, 0xF0, 0x28, 0xE8, 0x0C, 0xE0, 0x20, 0x68, 0xA7, 0xF7, 0x56, 0xFB, 0x20, 0x1C, 0xA7, 0xF7
- .byte 0x53, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x01, 0x20, 0x70, 0xBD
+ ldr r1, _0206F384 ; =0x020F943C
+ ldr r2, [r4, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F26C:
+ ldr r0, [r5, #0xc]
+ bl FUN_0203384C
+ cmp r0, #0x0
+ beq _0206F280
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F304
+_0206F280:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x4]
+ cmp r0, #0xa
+ bhi _0206F380
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206F294: ; jump table (using 16-bit offset)
+ .short _0206F380 - _0206F294 - 2; case 0
+ .short _0206F2B8 - _0206F294 - 2; case 1
+ .short _0206F2C6 - _0206F294 - 2; case 2
+ .short _0206F2AA - _0206F294 - 2; case 3
+ .short _0206F2E0 - _0206F294 - 2; case 4
+ .short _0206F2EE - _0206F294 - 2; case 5
+ .short _0206F2D4 - _0206F294 - 2; case 6
+ .short _0206F2FC - _0206F294 - 2; case 7
+ .short _0206F30E - _0206F294 - 2; case 8
+ .short _0206F314 - _0206F294 - 2; case 9
+ .short _0206F302 - _0206F294 - 2; case 10
+_0206F2AA:
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ mov r0, #0x1
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2B8:
+ mov r0, #0x32
+ strb r0, [r4, #0xc]
+ mov r0, #0x1
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2C6:
+ mov r0, #0x64
+ strb r0, [r4, #0xc]
+ mov r0, #0x1
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2D4:
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2E0:
+ mov r0, #0x32
+ strb r0, [r4, #0xc]
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2EE:
+ mov r0, #0x64
+ strb r0, [r4, #0xc]
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2FC:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F302:
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+ mov r0, #0xb
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F30E:
+ mov r0, #0x9
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F314:
+ mov r0, #0x8
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F31A:
+ ldr r1, [r4, #0x0]
+ ldrb r2, [r4, #0xc]
+ ldrb r3, [r4, #0xd]
+ ldr r1, [r1, #0x8]
+ add r0, r6, #0x0
+ bl FUN_020471C0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F330:
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F336:
+ add r0, r6, #0x0
+ bl FUN_020383D8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F344:
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F34A:
+ ldr r2, _0206F388 ; =0x00040100
+ mov r0, #0x3
+ mov r1, #0x36
+ bl FUN_0201681C
+ bl FUN_02088878
+ mov r0, #0x36
+ bl FUN_02211E60
+ mov r0, #0x0
+ blx FUN_020CD3B4
+ b _0206F380
+_0206F366:
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ pop {r4-r6, pc}
_0206F37C:
mov r0, #0x1
pop {r4-r6, pc}
_0206F380:
mov r0, #0x0
pop {r4-r6, pc}
-_0206F384:
- .byte 0x3C, 0x94, 0x0F, 0x02, 0x00, 0x01, 0x04, 0x00
+ .balign 4
+_0206F384: .word 0x020F943C
+_0206F388: .word 0x00040100
thumb_func_start FUN_0206F38C
FUN_0206F38C: ; 0x0206F38C
@@ -207649,62 +234857,184 @@ FUN_0206F5AC: ; 0x0206F5AC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r7, #0
- lsl r0, r0, #0x1
- lsl r0, r1, #0x1
- lsl r2, r3, #0x1
- lsl r2, r4, #0x1
- lsl r2, r5, #0x1
- lsl r4, r6, #0x1
- lsl r4, r7, #0x1
- lsl r4, r0, #0x2
- lsl r4, r1, #0x2
- lsl r4, r2, #0x2
- lsl r4, r3, #0x2
- lsl r4, r4, #0x2
- lsl r4, r5, #0x2
- lsl r4, r6, #0x2
- lsl r4, r7, #0x2
- lsl r4, r0, #0x3
- lsl r4, r1, #0x3
- lsl r4, r2, #0x3
- lsl r4, r3, #0x3
- lsl r4, r4, #0x3
- lsl r4, r5, #0x3
- lsl r4, r6, #0x3
- lsl r4, r7, #0x3
- lsl r4, r0, #0x4
- lsl r4, r3, #0x4
- lsl r2, r5, #0x4
- lsl r2, r6, #0x4
- lsl r0, r0, #0x5
+_0206F5C8: ; jump table (using 16-bit offset)
+ .short _0206F602 - _0206F5C8 - 2; case 0
+ .short _0206F60A - _0206F5C8 - 2; case 1
+ .short _0206F612 - _0206F5C8 - 2; case 2
+ .short _0206F624 - _0206F5C8 - 2; case 3
+ .short _0206F62C - _0206F5C8 - 2; case 4
+ .short _0206F634 - _0206F5C8 - 2; case 5
+ .short _0206F63E - _0206F5C8 - 2; case 6
+ .short _0206F646 - _0206F5C8 - 2; case 7
+ .short _0206F64E - _0206F5C8 - 2; case 8
+ .short _0206F656 - _0206F5C8 - 2; case 9
+ .short _0206F65E - _0206F5C8 - 2; case 10
+ .short _0206F666 - _0206F5C8 - 2; case 11
+ .short _0206F66E - _0206F5C8 - 2; case 12
+ .short _0206F676 - _0206F5C8 - 2; case 13
+ .short _0206F67E - _0206F5C8 - 2; case 14
+ .short _0206F686 - _0206F5C8 - 2; case 15
+ .short _0206F68E - _0206F5C8 - 2; case 16
+ .short _0206F696 - _0206F5C8 - 2; case 17
+ .short _0206F69E - _0206F5C8 - 2; case 18
+ .short _0206F6A6 - _0206F5C8 - 2; case 19
+ .short _0206F6AE - _0206F5C8 - 2; case 20
+ .short _0206F6B6 - _0206F5C8 - 2; case 21
+ .short _0206F6BE - _0206F5C8 - 2; case 22
+ .short _0206F6C6 - _0206F5C8 - 2; case 23
+ .short _0206F6CE - _0206F5C8 - 2; case 24
+ .short _0206F6E6 - _0206F5C8 - 2; case 25
+ .short _0206F6F4 - _0206F5C8 - 2; case 26
+ .short _0206F6FC - _0206F5C8 - 2; case 27
+ .short _0206F70A - _0206F5C8 - 2; case 28
+_0206F602:
bl FUN_0206F750
str r0, [r4, #0x0]
b _0206F722
_0206F60A:
- .byte 0x00, 0xF0, 0xE5, 0xF8, 0x20, 0x60
- .byte 0x87, 0xE0, 0x21, 0x1C, 0x02, 0xF0, 0x5A, 0xF9, 0x01, 0x28, 0x00, 0xD0
+ bl FUN_0206F7D8
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F612:
+ add r1, r4, #0x0
+ bl FUN_020718CC
+ cmp r0, #0x1
+ beq _0206F61E
_0206F61C:
b _0206F722
_0206F61E:
- .byte 0x01, 0x20
- .byte 0x20, 0x60, 0x7E, 0xE0, 0x05, 0xF0, 0x54, 0xFF, 0x20, 0x60, 0x7A, 0xE0, 0x00, 0xF0, 0x22, 0xF9
- .byte 0x20, 0x60, 0x76, 0xE0, 0x42, 0x49, 0x69, 0x58, 0x88, 0x47, 0x20, 0x60, 0x71, 0xE0, 0x07, 0xF0
- .byte 0x67, 0xFD, 0x20, 0x60, 0x6D, 0xE0, 0x06, 0xF0, 0xAB, 0xFD, 0x20, 0x60, 0x69, 0xE0, 0x00, 0xF0
- .byte 0x31, 0xF9, 0x20, 0x60, 0x65, 0xE0, 0x02, 0xF0, 0x8B, 0xFD, 0x20, 0x60, 0x61, 0xE0, 0x02, 0xF0
- .byte 0x99, 0xFD, 0x20, 0x60, 0x5D, 0xE0, 0x02, 0xF0, 0x6B, 0xFD, 0x20, 0x60, 0x59, 0xE0, 0x02, 0xF0
- .byte 0x4D, 0xFE, 0x20, 0x60, 0x55, 0xE0, 0x00, 0xF0, 0x3D, 0xF9, 0x20, 0x60, 0x51, 0xE0, 0x02, 0xF0
- .byte 0x6B, 0xFC, 0x20, 0x60, 0x4D, 0xE0, 0x04, 0xF0, 0xE9, 0xFC, 0x20, 0x60, 0x49, 0xE0, 0x04, 0xF0
- .byte 0x6D, 0xFE, 0x20, 0x60, 0x45, 0xE0, 0x00, 0xF0, 0xBD, 0xF9, 0x20, 0x60, 0x41, 0xE0, 0x07, 0xF0
- .byte 0x4D, 0xFB, 0x20, 0x60, 0x3D, 0xE0, 0x05, 0xF0, 0x61, 0xFC, 0x20, 0x60, 0x39, 0xE0, 0x00, 0xF0
- .byte 0x67, 0xF9, 0x20, 0x60, 0x35, 0xE0, 0x00, 0xF0, 0x75, 0xF9, 0x20, 0x60, 0x31, 0xE0, 0x00, 0xF0
- .byte 0x83, 0xF9, 0x20, 0x60, 0x2D, 0xE0, 0x00, 0xF0, 0x85, 0xF9, 0x20, 0x60, 0x29, 0xE0, 0x01, 0xF0
- .byte 0xFF, 0xFE, 0x00, 0x28, 0x02, 0xD1, 0x19, 0x20, 0x20, 0x60, 0x22, 0xE0, 0x03, 0x28, 0x20, 0xD1
- .byte 0x01, 0x20, 0x20, 0x60, 0x1D, 0xE0, 0x04, 0xF0, 0xF5, 0xFF, 0x01, 0x28, 0x19, 0xD1, 0x01, 0x20
- .byte 0x20, 0x60, 0x16, 0xE0, 0x02, 0xF0, 0x3C, 0xF9, 0x20, 0x60, 0x12, 0xE0, 0x01, 0x20, 0x0C, 0x21
- .byte 0x0A, 0xF0, 0xB6, 0xF9, 0x1C, 0x20, 0x20, 0x60, 0x0B, 0xE0, 0x9E, 0xF7, 0xFD, 0xFD, 0x01, 0x28
- .byte 0x07, 0xD1, 0x0C, 0x48, 0x29, 0x5C, 0x0C, 0x48, 0x28, 0x58, 0x22, 0x30, 0x01, 0x70, 0x01, 0x20
- .byte 0x38, 0xBD
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F624:
+ bl FUN_020754D0
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F62C:
+ bl FUN_0206F874
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F634:
+ ldr r1, _0206F740 ; =0x00000B14
+ ldr r1, [r5, r1]
+ blx r1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F63E:
+ bl FUN_02077110
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F646:
+ bl FUN_020761A0
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F64E:
+ bl FUN_0206F8B4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F656:
+ bl FUN_02072170
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F65E:
+ bl FUN_02072194
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F666:
+ bl FUN_02072140
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F66E:
+ bl FUN_0207230C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F676:
+ bl FUN_0206F8F4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F67E:
+ bl FUN_02071F58
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F686:
+ bl FUN_0207405C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F68E:
+ bl FUN_0207436C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F696:
+ bl FUN_0206FA14
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F69E:
+ bl FUN_02076D3C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6A6:
+ bl FUN_02074F6C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6AE:
+ bl FUN_0206F980
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6B6:
+ bl FUN_0206F9A4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6BE:
+ bl FUN_0206F9C8
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6C6:
+ bl FUN_0206F9D4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6CE:
+ bl FUN_020714D0
+ cmp r0, #0x0
+ bne _0206F6DC
+ mov r0, #0x19
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6DC:
+ cmp r0, #0x3
+ bne _0206F722
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6E6:
+ bl FUN_020746D4
+ cmp r0, #0x1
+ bne _0206F722
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6F4:
+ bl FUN_02071970
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6FC:
+ mov r0, #0x1
+ mov r1, #0xc
+ bl FUN_02079A70
+ mov r0, #0x1c
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F70A:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0206F722
+ ldr r0, _0206F744 ; =0x00000B25
+ ldrb r1, [r5, r0]
+ ldr r0, _0206F748 ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0206F722:
add r0, r5, #0x0
bl FUN_02073BEC
@@ -207717,8 +235047,10 @@ _0206F722:
bl FUN_0200BC1C
mov r0, #0x0
pop {r3-r5, pc}
-_0206F740:
- .byte 0x14, 0x0B, 0x00, 0x00, 0x25, 0x0B, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00
+ .balign 4
+_0206F740: .word 0x00000B14
+_0206F744: .word 0x00000B25
+_0206F748: .word 0x000005A4
_0206F74C: .word 0x000005AC
thumb_func_start FUN_0206F750
@@ -209123,11 +236455,13 @@ _020702B2:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r0, r7, #0
- lsl r0, r5, #0x1
- lsl r0, r3, #0x2
- lsl r0, r1, #0x3
+_020702BE: ; jump table (using 16-bit offset)
+ .short _020702C8 - _020702BE - 2; case 0
+ .short _020702F8 - _020702BE - 2; case 1
+ .short _02070328 - _020702BE - 2; case 2
+ .short _02070358 - _020702BE - 2; case 3
+ .short _02070388 - _020702BE - 2; case 4
+_020702C8:
mov r1, #0x7a
mov r2, #0x0
bl FUN_020671BC
@@ -209149,19 +236483,88 @@ _020702B2:
add r4, r4, r0
b _020703B6
_020702F8:
- .byte 0x7E, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x5E, 0xFF
- .byte 0x04, 0x1C, 0x28, 0x1C, 0x7F, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x58, 0xFF, 0x24, 0x18, 0x28, 0x1C
- .byte 0x80, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x52, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x81, 0x21, 0x00, 0x22
- .byte 0xF6, 0xF7, 0x4C, 0xFF, 0x24, 0x18, 0x46, 0xE0, 0x82, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x46, 0xFF
- .byte 0x04, 0x1C, 0x28, 0x1C, 0x83, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x40, 0xFF, 0x24, 0x18, 0x28, 0x1C
- .byte 0x84, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x3A, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x85, 0x21, 0x00, 0x22
- .byte 0xF6, 0xF7, 0x34, 0xFF, 0x24, 0x18, 0x2E, 0xE0, 0x86, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x2E, 0xFF
- .byte 0x04, 0x1C, 0x28, 0x1C, 0x87, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x28, 0xFF, 0x24, 0x18, 0x28, 0x1C
- .byte 0x88, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x22, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x89, 0x21, 0x00, 0x22
- .byte 0xF6, 0xF7, 0x1C, 0xFF, 0x24, 0x18, 0x16, 0xE0, 0x8A, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x16, 0xFF
- .byte 0x04, 0x1C, 0x28, 0x1C, 0x8B, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x10, 0xFF, 0x24, 0x18, 0x28, 0x1C
- .byte 0x8C, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x0A, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x8D, 0x21, 0x00, 0x22
- .byte 0xF6, 0xF7, 0x04, 0xFF, 0x24, 0x18
+ mov r1, #0x7e
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x7f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x80
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x81
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_02070328:
+ mov r1, #0x82
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x83
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x84
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x85
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_02070358:
+ mov r1, #0x86
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x87
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x88
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x89
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_02070388:
+ mov r1, #0x8a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x8c
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x8d
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
_020703B6:
add r0, r4, #0x0
pop {r3-r5, pc}
@@ -211433,22 +238836,44 @@ _02071574:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0x1
- lsl r0, r1, #0x1
- lsl r4, r1, #0
- lsl r0, r3, #0
- lsl r4, r4, #0
- lsl r0, r6, #0
- lsl r4, r7, #0
+_02071596: ; jump table (using 16-bit offset)
+ .short _020715E0 - _02071596 - 2; case 0
+ .short _020715E0 - _02071596 - 2; case 1
+ .short _020715A4 - _02071596 - 2; case 2
+ .short _020715B0 - _02071596 - 2; case 3
+ .short _020715BC - _02071596 - 2; case 4
+ .short _020715C8 - _02071596 - 2; case 5
+ .short _020715D4 - _02071596 - 2; case 6
+_020715A4:
add r0, r4, #0x0
mov r1, #0x6b
mov r2, #0x1
bl FUN_020731E8
b _020715EA
_020715B0:
- .byte 0x20, 0x1C, 0x77, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x17, 0xFE, 0x16, 0xE0, 0x20, 0x1C, 0x78, 0x21
- .byte 0x01, 0x22, 0x01, 0xF0, 0x11, 0xFE, 0x10, 0xE0, 0x20, 0x1C, 0x79, 0x21, 0x01, 0x22, 0x01, 0xF0
- .byte 0x0B, 0xFE, 0x0A, 0xE0, 0x20, 0x1C, 0x7A, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x05, 0xFE, 0x04, 0xE0
+ add r0, r4, #0x0
+ mov r1, #0x77
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715BC:
+ add r0, r4, #0x0
+ mov r1, #0x78
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715C8:
+ add r0, r4, #0x0
+ mov r1, #0x79
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715D4:
+ add r0, r4, #0x0
+ mov r1, #0x7a
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
_020715E0:
add r0, r4, #0x0
mov r1, #0x1d
@@ -211486,10 +238911,12 @@ _02071606:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r4, #0x2
- lsl r6, r0, #0
- lsl r0, r5, #0x1
- lsl r4, r0, #0x2
+_02071628: ; jump table (using 16-bit offset)
+ .short _020716CA - _02071628 - 2; case 0
+ .short _02071630 - _02071628 - 2; case 1
+ .short _02071692 - _02071628 - 2; case 2
+ .short _020716AE - _02071628 - 2; case 3
+_02071630:
ldr r0, _02071748 ; =0x0000069C
mov r1, #0xb8
ldr r0, [r4, r0]
@@ -211533,10 +238960,31 @@ _02071606:
mov r0, #0x14
pop {r3-r5, pc}
_02071692:
- .byte 0x20, 0x1C, 0xB6, 0x21, 0x01, 0x22, 0x01, 0xF0, 0xA6, 0xFD, 0x27, 0x48, 0x13, 0x21
- .byte 0x21, 0x54, 0x27, 0x48, 0x93, 0xF7, 0x10, 0xFF, 0x02, 0xB0, 0x14, 0x20, 0x38, 0xBD, 0x20, 0x1C
- .byte 0xB7, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x98, 0xFD, 0x20, 0x48, 0x13, 0x21, 0x21, 0x54, 0x20, 0x48
- .byte 0x93, 0xF7, 0x02, 0xFF, 0x02, 0xB0, 0x14, 0x20, 0x38, 0xBD
+ add r0, r4, #0x0
+ mov r1, #0xb6
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_020716AE:
+ add r0, r4, #0x0
+ mov r1, #0xb7
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
_020716CA:
ldr r0, _02071738 ; =0x000005A4
ldr r0, [r4, r0]
@@ -211902,11 +239350,13 @@ FUN_02071970: ; 0x02071970
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r1, #0
- lsl r6, r0, #0x5
- lsl r0, r0, #0x6
- lsl r0, r5, #0x6
- lsl r4, r2, #0x9
+_0207198A: ; jump table (using 16-bit offset)
+ .short _02071994 - _0207198A - 2; case 0
+ .short _02071AD2 - _0207198A - 2; case 1
+ .short _02071B0C - _0207198A - 2; case 2
+ .short _02071B34 - _0207198A - 2; case 3
+ .short _02071BE0 - _0207198A - 2; case 4
+_02071994:
ldr r2, _02071C1C ; =0x021C48B8
ldr r3, [r2, #0x48]
mov r2, #0x1
@@ -212065,27 +239515,149 @@ _02071AC6:
mov r0, #0x1a
pop {r4-r6, pc}
_02071AD2:
- .byte 0x52, 0x48, 0x81, 0x6C, 0x03, 0x20, 0x08, 0x42, 0x00, 0xD1, 0x99, 0xE0, 0x50, 0x48
- .byte 0x93, 0xF7, 0xF2, 0xFC, 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0x9B, 0xF7, 0xF8, 0xFA
- .byte 0x4D, 0x48, 0x00, 0x21, 0x20, 0x58, 0x9A, 0xF7, 0xB5, 0xFD, 0x20, 0x1C, 0x24, 0x21, 0x01, 0x22
- .byte 0x01, 0xF0, 0x5E, 0xFB, 0x44, 0x48, 0x00, 0x21, 0x21, 0x52, 0x82, 0xE0, 0xC9, 0x1F, 0x61, 0x5C
- .byte 0x00, 0x22, 0xD2, 0x43, 0x89, 0x06, 0x89, 0x0E, 0x00, 0xF0, 0xCC, 0xF8, 0x01, 0x28, 0x78, 0xD1
- .byte 0x40, 0x48, 0x93, 0xF7, 0xD1, 0xFC, 0x3C, 0x48, 0x03, 0x21, 0x21, 0x52, 0x00, 0x21, 0x80, 0x1C
- .byte 0x21, 0x52, 0x6E, 0xE0, 0x49, 0x1F, 0x61, 0x5C, 0x01, 0x22, 0x00, 0xF0, 0xBB, 0xF8, 0x01, 0x28
- .byte 0x67, 0xD1, 0x3D, 0x48, 0x39, 0x49, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF9, 0xF7, 0x30, 0xFF
- .byte 0x06, 0x1C, 0x3A, 0x48, 0x40, 0x21, 0x20, 0x58, 0x98, 0xF7, 0xDC, 0xFE, 0x05, 0x1C, 0x30, 0x1C
- .byte 0xF7, 0xF7, 0xC0, 0xFA, 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x00, 0x21, 0x99, 0xF7
- .byte 0xC3, 0xF8, 0x00, 0x20, 0x00, 0x90, 0x01, 0x21, 0x6A, 0x20, 0x31, 0x4A, 0x01, 0x91, 0x00, 0x01
- .byte 0xA2, 0x5A, 0x20, 0x58, 0x03, 0x23, 0x99, 0xF7, 0xD7, 0xF8, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58
- .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x99, 0xF7, 0x0F, 0xFE, 0x28, 0x1C, 0xAF, 0xF7, 0x40, 0xFF
- .byte 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x01, 0x22, 0x01, 0xF0, 0x1E, 0xFB, 0x25, 0x48, 0x00, 0x21
- .byte 0x20, 0x5A, 0x0C, 0x22, 0x00, 0x06, 0x00, 0x0E, 0xB7, 0xF7, 0xC8, 0xFA, 0x01, 0x1C, 0x1E, 0x48
- .byte 0x01, 0x22, 0x20, 0x58, 0xC0, 0x69, 0x98, 0x30, 0x00, 0x68, 0xB6, 0xF7, 0x83, 0xFF, 0x12, 0x48
- .byte 0x04, 0x21, 0x21, 0x52, 0x1A, 0x21, 0x08, 0x38, 0x21, 0x54, 0x02, 0xB0, 0x14, 0x20, 0x70, 0xBD
- .byte 0x0E, 0x48, 0x81, 0x6C, 0x03, 0x20, 0x08, 0x42, 0x13, 0xD0, 0x0D, 0x48, 0x93, 0xF7, 0x6C, 0xFC
- .byte 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0x9B, 0xF7, 0x72, 0xFA, 0x0A, 0x48, 0x00, 0x21
- .byte 0x20, 0x58, 0x9A, 0xF7, 0x2F, 0xFD, 0x20, 0x1C, 0x02, 0xF0, 0x96, 0xFC, 0x02, 0xB0, 0x01, 0x20
- .byte 0x70, 0xBD
+ ldr r0, _02071C1C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ bne _02071ADE
+ b _02071C12
+_02071ADE:
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ ldr r0, _02071C28 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ mov r1, #0x24
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x0
+ strh r1, [r4, r0]
+ b _02071C12
+_02071B0C:
+ sub r1, r1, #0x7
+ ldrb r1, [r4, r1]
+ mov r2, #0x0
+ mvn r2, r2
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_02071CB4
+ cmp r0, #0x1
+ bne _02071C12
+ ldr r0, _02071C24 ; =0x000005EC
+ bl FUN_020054C8
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x3
+ strh r1, [r4, r0]
+ mov r1, #0x0
+ add r0, r0, #0x2
+ strh r1, [r4, r0]
+ b _02071C12
+_02071B34:
+ sub r1, r1, #0x5
+ ldrb r1, [r4, r1]
+ mov r2, #0x1
+ bl FUN_02071CB4
+ cmp r0, #0x1
+ bne _02071C12
+ ldr r0, _02071C38 ; =0x000005A4
+ ldr r1, _02071C2C ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ ldr r0, _02071C3C ; =0x0000069C
+ mov r1, #0x40
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ mov r0, #0x6a
+ ldr r2, _02071C40 ; =0x00000B2C
+ str r1, [sp, #0x4]
+ lsl r0, r0, #0x4
+ ldrh r2, [r4, r2]
+ ldr r0, [r4, r0]
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02071C44 ; =0x00000B2E
+ mov r1, #0x0
+ ldrh r0, [r4, r0]
+ mov r2, #0xc
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0202914C
+ add r1, r0, #0x0
+ ldr r0, _02071C38 ; =0x000005A4
+ mov r2, #0x1
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x1c]
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ bl FUN_02028AD4
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x4
+ strh r1, [r4, r0]
+ mov r1, #0x1a
+ sub r0, #0x8
+ strb r1, [r4, r0]
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r4-r6, pc}
+_02071BE0:
+ ldr r0, _02071C1C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02071C12
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ ldr r0, _02071C28 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ bl FUN_02074538
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02071C12:
mov r0, #0x1a
add sp, #0x8
@@ -212099,9 +239671,10 @@ _02071C28: .word 0x000005C8
_02071C2C: .word 0x00000B25
_02071C30: .word 0x00000708
_02071C34: .word 0x000005F2
-_02071C38:
- .byte 0xA4, 0x05, 0x00, 0x00, 0x9C, 0x06, 0x00, 0x00
- .byte 0x2C, 0x0B, 0x00, 0x00, 0x2E, 0x0B, 0x00, 0x00
+_02071C38: .word 0x000005A4
+_02071C3C: .word 0x0000069C
+_02071C40: .word 0x00000B2C
+_02071C44: .word 0x00000B2E
thumb_func_start FUN_02071C48
FUN_02071C48: ; 0x02071C48
@@ -214074,21 +241647,52 @@ FUN_02072C28: ; 0x02072C28
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r2, r0, #0x1
- lsl r2, r5, #0
- lsl r2, r2, #0
- lsl r2, r2, #0
+_02072C64: ; jump table (using 16-bit offset)
+ .short _02072C6E - _02072C64 - 2; case 0
+ .short _02072CA8 - _02072C64 - 2; case 1
+ .short _02072C90 - _02072C64 - 2; case 2
+ .short _02072C78 - _02072C64 - 2; case 3
+ .short _02072C78 - _02072C64 - 2; case 4
+_02072C6E:
add r0, r4, #0x0
bl FUN_02019220
add sp, #0xc
pop {r4-r7, pc}
_02072C78:
- .byte 0x63, 0x7A, 0x25, 0x49, 0x01, 0x20, 0x1B, 0x01
- .byte 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0C, 0xA5, 0xF7, 0x93, 0xF9, 0x16, 0xE0
- .byte 0x63, 0x7A, 0x20, 0x49, 0x01, 0x20, 0x1B, 0x01, 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22
- .byte 0x1B, 0x0C, 0xA5, 0xF7, 0x87, 0xF9, 0x0A, 0xE0, 0x63, 0x7A, 0x1B, 0x49, 0x01, 0x20, 0x1B, 0x01
- .byte 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0C, 0xA5, 0xF7, 0x7B, 0xF9
+ ldrb r3, [r4, #0x9]
+ ldr r1, _02072D10 ; =0x000004B6
+ mov r0, #0x1
+ lsl r3, r3, #0x4
+ add r3, #0x9
+ lsl r3, r3, #0x11
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
+ b _02072CBE
+_02072C90:
+ ldrb r3, [r4, #0x9]
+ ldr r1, _02072D14 ; =0x000004D6
+ mov r0, #0x1
+ lsl r3, r3, #0x4
+ add r3, #0x9
+ lsl r3, r3, #0x11
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
+ b _02072CBE
+_02072CA8:
+ ldrb r3, [r4, #0x9]
+ ldr r1, _02072D18 ; =0x000004F6
+ mov r0, #0x1
+ lsl r3, r3, #0x4
+ add r3, #0x9
+ lsl r3, r3, #0x11
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
_02072CBE:
ldr r0, [sp, #0x8]
ldrh r1, [r7, r6]
@@ -214126,8 +241730,9 @@ _02072CBE:
pop {r4-r7, pc}
.balign 4
_02072D0C: .word 0x00000708
-_02072D10:
- .byte 0xB6, 0x04, 0x00, 0x00, 0xD6, 0x04, 0x00, 0x00, 0xF6, 0x04, 0x00, 0x00
+_02072D10: .word 0x000004B6
+_02072D14: .word 0x000004D6
+_02072D18: .word 0x000004F6
thumb_func_start FUN_02072D1C
FUN_02072D1C: ; 0x02072D1C
@@ -214800,23 +242405,37 @@ FUN_0207327C: ; 0x0207327C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r5, #0
- lsl r2, r1, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r6, r4, #0
+_0207328E: ; jump table (using 16-bit offset)
+ .short _020732BE - _0207328E - 2; case 0
+ .short _0207329A - _0207328E - 2; case 1
+ .short _020732A0 - _0207328E - 2; case 2
+ .short _020732A6 - _0207328E - 2; case 3
+ .short _020732AE - _0207328E - 2; case 4
+ .short _020732B6 - _0207328E - 2; case 5
+_0207329A:
bl FUN_02005514
pop {r3, pc}
_020732A0:
- .byte 0x92, 0xF7, 0x0C, 0xFD, 0x08, 0xBD, 0x07, 0x48, 0x92, 0xF7, 0x0E, 0xF9, 0x07, 0xE0, 0x06, 0x48
- .byte 0x92, 0xF7, 0xBA, 0xFC, 0x03, 0xE0, 0x03, 0x48, 0x92, 0xF7, 0x26, 0xF9, 0x08, 0xBD
+ bl FUN_02005CBC
+ pop {r3, pc}
+_020732A6:
+ ldr r0, _020732C4 ; =0x000005E6
+ bl FUN_020054C8
+ b _020732BE
+_020732AE:
+ ldr r0, _020732C8 ; =0x00000483
+ bl FUN_02005C28
+ b _020732BE
+_020732B6:
+ ldr r0, _020732C4 ; =0x000005E6
+ bl FUN_02005508
+ pop {r3, pc}
_020732BE:
mov r0, #0x0
pop {r3, pc}
nop
-_020732C4:
- .byte 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00
+_020732C4: .word 0x000005E6
+_020732C8: .word 0x00000483
thumb_func_start FUN_020732CC
FUN_020732CC: ; 0x020732CC
@@ -215909,16 +243528,24 @@ _02073BB4:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r3, #0
- lsl r4, r2, #0
- lsl r0, r2, #0
- lsl r4, r1, #0
- lsl r0, r1, #0
+_02073BCC: ; jump table (using 16-bit offset)
+ .short _02073BE6 - _02073BCC - 2; case 0
+ .short _02073BE2 - _02073BCC - 2; case 1
+ .short _02073BDE - _02073BCC - 2; case 2
+ .short _02073BDA - _02073BCC - 2; case 3
+ .short _02073BD6 - _02073BCC - 2; case 4
+_02073BD6:
mov r0, #0x1
pop {r3, pc}
_02073BDA:
- .byte 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20
- .byte 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD
+ mov r0, #0x2
+ pop {r3, pc}
+_02073BDE:
+ mov r0, #0x3
+ pop {r3, pc}
+_02073BE2:
+ mov r0, #0x4
+ pop {r3, pc}
_02073BE6:
mov r0, #0x0
pop {r3, pc}
@@ -217239,11 +244866,13 @@ _020746E6:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r0, r3, #0
- lsl r0, r5, #0x1
- lsl r4, r7, #0x1
- lsl r2, r3, #0x3
+_020746F2: ; jump table (using 16-bit offset)
+ .short _020746FC - _020746F2 - 2; case 0
+ .short _0207470C - _020746F2 - 2; case 1
+ .short _0207475C - _020746F2 - 2; case 2
+ .short _02074770 - _020746F2 - 2; case 3
+ .short _020747CE - _020746F2 - 2; case 4
+_020746FC:
mov r0, #0x6a
lsl r0, r0, #0x4
bl FUN_020054C8
@@ -217252,34 +244881,141 @@ _020746E6:
strb r1, [r4, r0]
b _02074822
_0207470C:
- .byte 0x51, 0x1C, 0x61, 0x5C
- .byte 0x4B, 0x1C, 0x51, 0x1C, 0x63, 0x54, 0x00, 0x21, 0x00, 0xF0, 0x96, 0xF8, 0x28, 0x1C, 0x01, 0x21
- .byte 0x00, 0xF0, 0x92, 0xF8, 0x42, 0x4A, 0x28, 0x1C, 0xA2, 0x5C, 0x00, 0x21, 0x00, 0xF0, 0x36, 0xF9
- .byte 0x40, 0x4A, 0x28, 0x1C, 0xA2, 0x5C, 0x01, 0x21, 0x00, 0xF0, 0x30, 0xF9, 0x28, 0x68, 0x02, 0x21
- .byte 0xA6, 0xF7, 0x92, 0xFA, 0x28, 0x68, 0x01, 0x21, 0xA6, 0xF7, 0x8E, 0xFA, 0x3A, 0x48, 0x21, 0x5C
- .byte 0x10, 0x29, 0x66, 0xD1, 0x02, 0x21, 0x40, 0x1E, 0x21, 0x54, 0x62, 0xE0, 0x00, 0xF0, 0xCA, 0xF9
- .byte 0x6A, 0x20, 0x00, 0x01, 0x90, 0xF7, 0xB0, 0xFE, 0x30, 0x48, 0x03, 0x21, 0x21, 0x54, 0x58, 0xE0
- .byte 0x51, 0x1C, 0x61, 0x5C, 0x4B, 0x1E, 0x51, 0x1C, 0x63, 0x54, 0x00, 0x21, 0x00, 0xF0, 0x64, 0xF8
- .byte 0x28, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x60, 0xF8, 0x29, 0x4A, 0x28, 0x1C, 0xA3, 0x5C, 0x01, 0x22
- .byte 0x00, 0x21, 0x5A, 0x40, 0x12, 0x06, 0x12, 0x0E, 0x00, 0xF0, 0x00, 0xF9, 0x25, 0x4A, 0x01, 0x21
- .byte 0xA2, 0x5C, 0x28, 0x1C, 0x4A, 0x40, 0x12, 0x06, 0x12, 0x0E, 0x00, 0xF0, 0xF7, 0xF8, 0x28, 0x68
- .byte 0x02, 0x21, 0xA6, 0xF7, 0x59, 0xFA, 0x28, 0x68, 0x01, 0x21, 0xA6, 0xF7, 0x55, 0xFA, 0x1E, 0x48
- .byte 0x21, 0x5C, 0x00, 0x29, 0x2D, 0xD1, 0x04, 0x21, 0x40, 0x1E, 0x21, 0x54, 0x29, 0xE0, 0x1B, 0x48
- .byte 0x51, 0x1F, 0x28, 0x58, 0x12, 0x1F, 0x61, 0x5C, 0xA2, 0x5C, 0x00, 0x68, 0xF7, 0xF7, 0x2C, 0xF9
- .byte 0x17, 0x48, 0x01, 0x21, 0x28, 0x58, 0xAB, 0xF7, 0x5B, 0xFC, 0xC1, 0x20, 0x00, 0x21, 0x80, 0x00
- .byte 0x21, 0x54, 0x14, 0x49, 0x40, 0x20, 0x6A, 0x5C, 0x82, 0x43, 0x6A, 0x54, 0x89, 0x1C, 0x69, 0x5C
- .byte 0x28, 0x1C, 0xFC, 0xF7, 0xFB, 0xF8, 0x0F, 0x49, 0x28, 0x1C, 0x69, 0x5C, 0x89, 0x06, 0x89, 0x0E
- .byte 0xFC, 0xF7, 0xF4, 0xF8, 0x28, 0x1C, 0x1D, 0x21, 0x00, 0x22, 0xFE, 0xF7, 0xD1, 0xFC, 0x01, 0x20
- .byte 0x38, 0xBD
+ add r1, r2, #0x1
+ ldrb r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x1
+ strb r3, [r4, r1]
+ mov r1, #0x0
+ bl FUN_02074848
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02074848
+ ldr r2, _02074830 ; =0x00000302
+ add r0, r5, #0x0
+ ldrb r2, [r4, r2]
+ mov r1, #0x0
+ bl FUN_0207499C
+ ldr r2, _02074834 ; =0x00000303
+ add r0, r5, #0x0
+ ldrb r2, [r4, r2]
+ mov r1, #0x1
+ bl FUN_0207499C
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ ldr r0, _02074838 ; =0x00000306
+ ldrb r1, [r4, r0]
+ cmp r1, #0x10
+ bne _02074822
+ mov r1, #0x2
+ sub r0, r0, #0x1
+ strb r1, [r4, r0]
+ b _02074822
+_0207475C:
+ bl FUN_02074AF4
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ bl FUN_020054C8
+ ldr r0, _0207482C ; =0x00000305
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ b _02074822
+_02074770:
+ add r1, r2, #0x1
+ ldrb r1, [r4, r1]
+ sub r3, r1, #0x1
+ add r1, r2, #0x1
+ strb r3, [r4, r1]
+ mov r1, #0x0
+ bl FUN_02074848
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02074848
+ ldr r2, _02074830 ; =0x00000302
+ add r0, r5, #0x0
+ ldrb r3, [r4, r2]
+ mov r2, #0x1
+ mov r1, #0x0
+ eor r2, r3
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_0207499C
+ ldr r2, _02074834 ; =0x00000303
+ mov r1, #0x1
+ ldrb r2, [r4, r2]
+ add r0, r5, #0x0
+ eor r2, r1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_0207499C
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ ldr r0, _02074838 ; =0x00000306
+ ldrb r1, [r4, r0]
+ cmp r1, #0x0
+ bne _02074822
+ mov r1, #0x4
+ sub r0, r0, #0x1
+ strb r1, [r4, r0]
+ b _02074822
+_020747CE:
+ ldr r0, _0207483C ; =0x000005A4
+ sub r1, r2, #0x5
+ ldr r0, [r5, r0]
+ sub r2, r2, #0x4
+ ldrb r1, [r4, r1]
+ ldrb r2, [r4, r2]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206BA38
+ ldr r0, _02074840 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0xc1
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ strb r1, [r4, r0]
+ ldr r1, _02074844 ; =0x00000B23
+ mov r0, #0x40
+ ldrb r2, [r5, r1]
+ bic r2, r0
+ strb r2, [r5, r1]
+ add r1, r1, #0x2
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_020709FC
+ ldr r1, _02074844 ; =0x00000B23
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020709FC
+ add r0, r5, #0x0
+ mov r1, #0x1d
+ mov r2, #0x0
+ bl FUN_020731C0
+ mov r0, #0x1
+ pop {r3-r5, pc}
_02074822:
mov r0, #0x0
pop {r3-r5, pc}
nop
_02074828: .word 0x0000080C
_0207482C: .word 0x00000305
-_02074830:
- .byte 0x02, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00
- .byte 0xC8, 0x05, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00
+_02074830: .word 0x00000302
+_02074834: .word 0x00000303
+_02074838: .word 0x00000306
+_0207483C: .word 0x000005A4
+_02074840: .word 0x000005C8
+_02074844: .word 0x00000B23
thumb_func_start FUN_02074848
FUN_02074848: ; 0x02074848
@@ -218127,21 +245863,42 @@ _02074EFA:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r0, #0x1
- lsl r2, r1, #0
- lsl r6, r2, #0
- lsl r2, r4, #0
- lsl r6, r5, #0
- lsl r2, r7, #0
+_02074F0A: ; jump table (using 16-bit offset)
+ .short _02074F50 - _02074F0A - 2; case 0
+ .short _02074F16 - _02074F0A - 2; case 1
+ .short _02074F22 - _02074F0A - 2; case 2
+ .short _02074F2E - _02074F0A - 2; case 3
+ .short _02074F3A - _02074F0A - 2; case 4
+ .short _02074F46 - _02074F0A - 2; case 5
+_02074F16:
add r0, r5, #0x0
mov r1, #0x7b
mov r2, #0x1
bl FUN_020731E8
b _02074F50
_02074F22:
- .byte 0x28, 0x1C, 0x64, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x5E, 0xF9, 0x10, 0xE0, 0x28, 0x1C
- .byte 0x7C, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x58, 0xF9, 0x0A, 0xE0, 0x28, 0x1C, 0x7D, 0x21, 0x01, 0x22
- .byte 0xFE, 0xF7, 0x52, 0xF9, 0x04, 0xE0, 0x28, 0x1C, 0x7E, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x4C, 0xF9
+ add r0, r5, #0x0
+ mov r1, #0x64
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F2E:
+ add r0, r5, #0x0
+ mov r1, #0x7c
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F3A:
+ add r0, r5, #0x0
+ mov r1, #0x7d
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F46:
+ add r0, r5, #0x0
+ mov r1, #0x7e
+ mov r2, #0x1
+ bl FUN_020731E8
_02074F50:
ldr r0, _02074F68 ; =0x00000B22
mov r1, #0x13
@@ -218460,11 +246217,13 @@ _020751CA:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r0, r5, #0
- lsl r4, r5, #0
+_020751DA: ; jump table (using 16-bit offset)
+ .short _020751E4 - _020751DA - 2; case 0
+ .short _020751FC - _020751DA - 2; case 1
+ .short _02075200 - _020751DA - 2; case 2
+ .short _02075204 - _020751DA - 2; case 3
+ .short _02075208 - _020751DA - 2; case 4
+_020751E4:
ldr r0, _02075238 ; =0x000006FC
mov r1, #0x0
ldr r0, [r4, r0]
@@ -218476,8 +246235,16 @@ _020751CA:
str r0, [r6, #0x0]
pop {r4-r6, pc}
_020751FC:
- .byte 0x68, 0x25, 0x04, 0xE0
- .byte 0x4C, 0x25, 0x02, 0xE0, 0xC4, 0x25, 0x00, 0xE0, 0x66, 0x25
+ mov r5, #0x68
+ b _0207520A
+_02075200:
+ mov r5, #0x4c
+ b _0207520A
+_02075204:
+ mov r5, #0xc4
+ b _0207520A
+_02075208:
+ mov r5, #0x66
_0207520A:
mov r0, #0x85
lsl r0, r0, #0x2
@@ -218975,15 +246742,16 @@ _020755B6:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r7, #0x1
- lsl r6, r3, #0
- lsl r0, r5, #0
- lsl r2, r7, #0x1
- lsl r2, r6, #0
- lsl r2, r7, #0x1
- lsl r2, r7, #0x1
- lsl r2, r7, #0x1
- lsl r4, r7, #0
+_02075612: ; jump table (using 16-bit offset)
+ .short _0207568E - _02075612 - 2; case 0
+ .short _02075632 - _02075612 - 2; case 1
+ .short _0207563C - _02075612 - 2; case 2
+ .short _0207568E - _02075612 - 2; case 3
+ .short _02075646 - _02075612 - 2; case 4
+ .short _0207568E - _02075612 - 2; case 5
+ .short _0207568E - _02075612 - 2; case 6
+ .short _0207568E - _02075612 - 2; case 7
+ .short _02075650 - _02075612 - 2; case 8
_02075624:
cmp r5, #0x20
bgt _0207562C
@@ -218994,9 +246762,25 @@ _0207562C:
beq _0207566E
b _0207568E
_02075632:
- .byte 0x20, 0x1C, 0xA1, 0xF7, 0xF0, 0xF9, 0x03, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0xA1, 0xF7
- .byte 0xEB, 0xF9, 0x04, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0xA1, 0xF7, 0xE6, 0xF9, 0x05, 0x20, 0x38, 0xBD
- .byte 0x20, 0x1C, 0xA1, 0xF7, 0xE1, 0xF9, 0x06, 0x20, 0x38, 0xBD
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x3
+ pop {r3-r5, pc}
+_0207563C:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x4
+ pop {r3-r5, pc}
+_02075646:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x5
+ pop {r3-r5, pc}
+_02075650:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x6
+ pop {r3-r5, pc}
_0207565A:
add r0, r4, #0x0
bl FUN_02016A18
@@ -219221,34 +247005,36 @@ _02075828:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0x10
- lsl r2, r1, #0x10
- lsl r2, r1, #0x10
- lsl r2, r3, #0x1
- lsl r6, r6, #0
- lsl r6, r7, #0x1
- lsl r2, r4, #0x2
- lsl r6, r0, #0x3
- lsl r2, r5, #0x3
- lsl r2, r6, #0x4
- lsl r6, r1, #0x4
- lsl r2, r1, #0x10
- lsl r6, r2, #0x5
- lsl r0, r1, #0x6
- lsl r2, r7, #0x6
- lsl r4, r5, #0x7
- lsl r6, r3, #0x8
- lsl r0, r2, #0x9
- lsl r2, r0, #0xa
- lsl r6, r6, #0xa
- lsl r2, r5, #0xb
- lsl r6, r3, #0xc
- lsl r2, r2, #0xd
- lsl r4, r2, #0xe
- lsl r2, r1, #0x10
- lsl r0, r1, #0xf
- lsl r0, r1, #0xf
- lsl r2, r7, #0xf
+_02075834: ; jump table (using 16-bit offset)
+ .short _02075C40 - _02075834 - 2; case 0
+ .short _02075C40 - _02075834 - 2; case 1
+ .short _02075C40 - _02075834 - 2; case 2
+ .short _02075890 - _02075834 - 2; case 3
+ .short _0207586C - _02075834 - 2; case 4
+ .short _020758B4 - _02075834 - 2; case 5
+ .short _020758D8 - _02075834 - 2; case 6
+ .short _020758FC - _02075834 - 2; case 7
+ .short _02075920 - _02075834 - 2; case 8
+ .short _02075968 - _02075834 - 2; case 9
+ .short _02075944 - _02075834 - 2; case 10
+ .short _02075C40 - _02075834 - 2; case 11
+ .short _0207598C - _02075834 - 2; case 12
+ .short _020759BE - _02075834 - 2; case 13
+ .short _020759F0 - _02075834 - 2; case 14
+ .short _02075A22 - _02075834 - 2; case 15
+ .short _02075A54 - _02075834 - 2; case 16
+ .short _02075A86 - _02075834 - 2; case 17
+ .short _02075AB8 - _02075834 - 2; case 18
+ .short _02075AEC - _02075834 - 2; case 19
+ .short _02075B20 - _02075834 - 2; case 20
+ .short _02075B54 - _02075834 - 2; case 21
+ .short _02075B88 - _02075834 - 2; case 22
+ .short _02075BCA - _02075834 - 2; case 23
+ .short _02075C40 - _02075834 - 2; case 24
+ .short _02075BFE - _02075834 - 2; case 25
+ .short _02075BFE - _02075834 - 2; case 26
+ .short _02075C30 - _02075834 - 2; case 27
+_0207586C:
ldr r0, _02075B94 ; =0x0000069C
mov r1, #0x41
ldr r0, [r4, r0]
@@ -219265,69 +247051,423 @@ _02075828:
bl FUN_02021A20
pop {r4-r6, pc}
_02075890:
- .byte 0xC0, 0x48, 0x5B, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x3D, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01
- .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x86, 0xFF, 0x28, 0x1C, 0xAC, 0xF7
- .byte 0xB7, 0xF8, 0x70, 0xBD, 0xB7, 0x48, 0x43, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x2B, 0xF8, 0x6A, 0x21
- .byte 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x74, 0xFF
- .byte 0x28, 0x1C, 0xAC, 0xF7, 0xA5, 0xF8, 0x70, 0xBD, 0xAE, 0x48, 0x44, 0x21, 0x20, 0x58, 0x95, 0xF7
- .byte 0x19, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C
- .byte 0x95, 0xF7, 0x62, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x93, 0xF8, 0x70, 0xBD, 0xA5, 0x48, 0x42, 0x21
- .byte 0x20, 0x58, 0x95, 0xF7, 0x07, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D
- .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x50, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x81, 0xF8, 0x70, 0xBD
- .byte 0x9C, 0x48, 0x49, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xF5, 0xFF, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01
- .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x3E, 0xFF, 0x28, 0x1C, 0xAC, 0xF7
- .byte 0x6F, 0xF8, 0x70, 0xBD, 0x93, 0x48, 0x4A, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xE3, 0xFF, 0x6A, 0x21
- .byte 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x2C, 0xFF
- .byte 0x28, 0x1C, 0xAC, 0xF7, 0x5D, 0xF8, 0x70, 0xBD, 0x8A, 0x48, 0x47, 0x21, 0x20, 0x58, 0x94, 0xF7
- .byte 0xD1, 0xFF, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C
- .byte 0x95, 0xF7, 0x1A, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x4B, 0xF8, 0x70, 0xBD, 0x81, 0x48, 0x4B, 0x21
- .byte 0x20, 0x58, 0x94, 0xF7, 0xBF, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21
- .byte 0x00, 0x22, 0x95, 0xF7, 0xD5, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58
- .byte 0x2A, 0x1C, 0x95, 0xF7, 0x01, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x32, 0xF8, 0x70, 0xBD, 0x75, 0x48
- .byte 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xA6, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x01, 0x21
- .byte 0x20, 0x58, 0x0A, 0x1C, 0x95, 0xF7, 0xBC, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D
- .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xE8, 0xFE, 0x28, 0x1C, 0xAC, 0xF7, 0x19, 0xF8, 0x70, 0xBD
- .byte 0x68, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x8D, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01
- .byte 0x20, 0x58, 0x01, 0x21, 0x02, 0x22, 0x95, 0xF7, 0xA3, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58
- .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xCF, 0xFE, 0x28, 0x1C, 0xAC, 0xF7, 0x00, 0xF8
- .byte 0x70, 0xBD, 0x5C, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x74, 0xFF, 0x05, 0x1C, 0x6A, 0x20
- .byte 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x03, 0x22, 0x95, 0xF7, 0x8A, 0xFA, 0x6A, 0x21, 0x09, 0x01
- .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xB6, 0xFE, 0x28, 0x1C, 0xAB, 0xF7
- .byte 0xE7, 0xFF, 0x70, 0xBD, 0x4F, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x5B, 0xFF, 0x05, 0x1C
- .byte 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x04, 0x22, 0x95, 0xF7, 0x71, 0xFA, 0x6A, 0x21
- .byte 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x9D, 0xFE, 0x28, 0x1C
- .byte 0xAB, 0xF7, 0xCE, 0xFF, 0x70, 0xBD, 0x43, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x42, 0xFF
- .byte 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x05, 0x22, 0x95, 0xF7, 0x58, 0xFA
- .byte 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x84, 0xFE
- .byte 0x28, 0x1C, 0xAB, 0xF7, 0xB5, 0xFF, 0x70, 0xBD, 0x36, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C
- .byte 0x94, 0xF7, 0x28, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x00, 0x22
- .byte 0x95, 0xF7, 0x3E, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C
- .byte 0x95, 0xF7, 0x6A, 0xFE, 0x28, 0x1C, 0xAB, 0xF7, 0x9B, 0xFF, 0x70, 0xBD, 0x29, 0x48, 0x6E, 0x35
- .byte 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0x0E, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x01, 0x21
- .byte 0x20, 0x58, 0x0A, 0x1C, 0x95, 0xF7, 0x24, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D
- .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x50, 0xFE, 0x28, 0x1C, 0xAB, 0xF7, 0x81, 0xFF, 0x70, 0xBD
- .byte 0x1C, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0xF4, 0xFE, 0x05, 0x1C, 0x6A, 0x20
- .byte 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x02, 0x22, 0x95, 0xF7, 0x0A, 0xFA, 0x6A, 0x21, 0x09, 0x01
- .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x36, 0xFE, 0x28, 0x1C, 0xAB, 0xF7
- .byte 0x67, 0xFF, 0x70, 0xBD, 0x0F, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0xDA, 0xFE
- .byte 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x03, 0x22, 0x95, 0xF7, 0xF0, 0xF9
- .byte 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x1C, 0xFE
- .byte 0x28, 0x1C, 0xAB, 0xF7, 0x4D, 0xFF, 0x70, 0xBD, 0x02, 0x48, 0x05, 0xE0
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x5b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020758B4:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x43
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020758D8:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x44
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020758FC:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x42
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075920:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x49
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075944:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4a
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075968:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x47
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_0207598C:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020759BE:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ add r2, r1, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020759F0:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x2
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075A22:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x3
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075A54:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x4
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075A86:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x5
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075AB8:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075AEC:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ add r2, r1, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075B20:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x2
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075B54:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x3
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075B88:
+ ldr r0, _02075B94 ; =0x0000069C
+ b _02075B98
+ .balign 4
_02075B8C: .word 0x000005A4
_02075B90: .word 0x00000B25
_02075B94: .word 0x0000069C
_02075B98:
- .byte 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7
- .byte 0xB9, 0xFE, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x04, 0x22, 0x95, 0xF7
- .byte 0xCF, 0xF9, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7
- .byte 0xFB, 0xFD, 0x28, 0x1C, 0xAB, 0xF7, 0x2C, 0xFF, 0x70, 0xBD, 0x21, 0x48, 0x6E, 0x35, 0x20, 0x58
- .byte 0x29, 0x1C, 0x94, 0xF7, 0x9F, 0xFE, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21
- .byte 0x05, 0x22, 0x95, 0xF7, 0xB5, 0xF9, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58
- .byte 0x2A, 0x1C, 0x95, 0xF7, 0xE1, 0xFD, 0x28, 0x1C, 0xAB, 0xF7, 0x12, 0xFF, 0x70, 0xBD, 0x14, 0x48
- .byte 0x48, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x86, 0xFE, 0x06, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58
- .byte 0x00, 0x21, 0x2A, 0x1C, 0x95, 0xF7, 0xA2, 0xF8, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D
- .byte 0x61, 0x58, 0x32, 0x1C, 0x95, 0xF7, 0xC8, 0xFD, 0x30, 0x1C, 0xAB, 0xF7, 0xF9, 0xFE, 0x70, 0xBD
- .byte 0x07, 0x4A, 0x45, 0x21, 0xA0, 0x58, 0x08, 0x32, 0xA2, 0x58, 0x94, 0xF7, 0x51, 0xFE, 0x70, 0xBD
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x4
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075BCA:
+ ldr r0, _02075C50 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x5
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075BFE:
+ ldr r0, _02075C50 ; =0x0000069C
+ mov r1, #0x48
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075C30:
+ ldr r2, _02075C50 ; =0x0000069C
+ mov r1, #0x45
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ pop {r4-r6, pc}
_02075C40:
ldr r2, _02075C50 ; =0x0000069C
mov r1, #0x69
@@ -219355,51 +247495,64 @@ FUN_02075C54: ; 0x02075C54
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r2, #0x1
- lsl r6, r2, #0x1
- lsl r0, r7, #0
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r2, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r1, #0x1
- lsl r0, r1, #0x1
- lsl r0, r1, #0x1
- lsl r0, r1, #0x1
- lsl r0, r1, #0x1
- lsl r0, r1, #0x1
- lsl r6, r2, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r0, r0, #0x1
- lsl r6, r2, #0x1
+_02075C72: ; jump table (using 16-bit offset)
+ .short _02075CCA - _02075C72 - 2; case 0
+ .short _02075CCA - _02075C72 - 2; case 1
+ .short _02075CAC - _02075C72 - 2; case 2
+ .short _02075CB4 - _02075C72 - 2; case 3
+ .short _02075CB4 - _02075C72 - 2; case 4
+ .short _02075CB4 - _02075C72 - 2; case 5
+ .short _02075CB4 - _02075C72 - 2; case 6
+ .short _02075CB4 - _02075C72 - 2; case 7
+ .short _02075CB4 - _02075C72 - 2; case 8
+ .short _02075CB4 - _02075C72 - 2; case 9
+ .short _02075CB4 - _02075C72 - 2; case 10
+ .short _02075CC4 - _02075C72 - 2; case 11
+ .short _02075CB4 - _02075C72 - 2; case 12
+ .short _02075CB4 - _02075C72 - 2; case 13
+ .short _02075CB4 - _02075C72 - 2; case 14
+ .short _02075CB4 - _02075C72 - 2; case 15
+ .short _02075CB4 - _02075C72 - 2; case 16
+ .short _02075CB4 - _02075C72 - 2; case 17
+ .short _02075CBC - _02075C72 - 2; case 18
+ .short _02075CBC - _02075C72 - 2; case 19
+ .short _02075CBC - _02075C72 - 2; case 20
+ .short _02075CBC - _02075C72 - 2; case 21
+ .short _02075CBC - _02075C72 - 2; case 22
+ .short _02075CBC - _02075C72 - 2; case 23
+ .short _02075CCA - _02075C72 - 2; case 24
+ .short _02075CB4 - _02075C72 - 2; case 25
+ .short _02075CB4 - _02075C72 - 2; case 26
+ .short _02075CB4 - _02075C72 - 2; case 27
+ .short _02075CCA - _02075C72 - 2; case 28
+_02075CAC:
ldr r1, _02075CD0 ; =FUN_0207640C
ldr r0, _02075CD4 ; =0x00000B14
str r1, [r4, r0]
pop {r4, pc}
_02075CB4:
- .byte 0x08, 0x49, 0x07, 0x48, 0x21, 0x50, 0x10, 0xBD, 0x07, 0x49, 0x05, 0x48
- .byte 0x21, 0x50, 0x10, 0xBD, 0x06, 0x49, 0x03, 0x48, 0x21, 0x50
+ ldr r1, _02075CD8 ; =FUN_02075D20
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
+ pop {r4, pc}
+_02075CBC:
+ ldr r1, _02075CDC ; =FUN_02075DC0
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
+ pop {r4, pc}
+_02075CC4:
+ ldr r1, _02075CE0 ; =FUN_02075F60
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
_02075CCA:
pop {r4, pc}
.balign 4
_02075CCC: .word 0x000005A4
_02075CD0: .word FUN_0207640C + 1
_02075CD4: .word 0x00000B14
-_02075CD8:
- .byte 0x21, 0x5D, 0x07, 0x02, 0xC1, 0x5D, 0x07, 0x02
- .byte 0x61, 0x5F, 0x07, 0x02
+_02075CD8: .word FUN_02075D20 + 1
+_02075CDC: .word FUN_02075DC0 + 1
+_02075CE0: .word FUN_02075F60 + 1
thumb_func_start FUN_02075CE4
FUN_02075CE4: ; 0x02075CE4
@@ -219977,10 +248130,12 @@ _020761AE:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r0, #0
- lsl r6, r2, #0x1
- lsl r0, r4, #0x4
- lsl r4, r4, #0x6
+_020761BA: ; jump table (using 16-bit offset)
+ .short _020761C2 - _020761BA - 2; case 0
+ .short _02076212 - _020761BA - 2; case 1
+ .short _020762DC - _020761BA - 2; case 2
+ .short _02076360 - _020761BA - 2; case 3
+_020761C2:
mov r1, #0x0
bl FUN_0207615C
ldr r1, _020763E0 ; =0x00000B25
@@ -220106,23 +248261,120 @@ _02076212:
strb r1, [r4, r0]
b _020763D6
_020762DC:
- .byte 0x44, 0x48, 0xC9, 0x1C
- .byte 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0x63, 0xFB, 0xA2, 0x21, 0x00, 0x22, 0xF0, 0xF7
- .byte 0x65, 0xFF, 0x3B, 0x4A, 0x05, 0x1C, 0x42, 0x48, 0xA3, 0x5C, 0x21, 0x18, 0x2C, 0x20, 0x58, 0x43
- .byte 0x0B, 0x5A, 0x5B, 0x1C, 0x0B, 0x52, 0xA1, 0x5C, 0x20, 0x1C, 0xFC, 0xF7, 0x57, 0xFC, 0x34, 0x49
- .byte 0x20, 0x1D, 0x62, 0x5C, 0x91, 0x00, 0x51, 0x18, 0xC9, 0x1C, 0x09, 0x01, 0x40, 0x18, 0x00, 0x21
- .byte 0xA3, 0xF7, 0x7E, 0xF9, 0x2E, 0x49, 0x20, 0x1C, 0x61, 0x5C, 0xFC, 0xF7, 0x27, 0xFC, 0x2C, 0x49
- .byte 0x20, 0x1C, 0x61, 0x5C, 0xFC, 0xF7, 0x78, 0xFC, 0x29, 0x48, 0x2C, 0x21, 0x20, 0x5C, 0x02, 0x1C
- .byte 0x4A, 0x43, 0x2F, 0x48, 0xA2, 0x18, 0x10, 0x5A, 0x85, 0x42, 0x44, 0xD1, 0x20, 0x1C, 0x2D, 0x39
- .byte 0x01, 0x22, 0xFC, 0xF7, 0x49, 0xFF, 0x21, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x3A, 0xE0
- .byte 0x88, 0x1C, 0x20, 0x5C, 0xA5, 0xF7, 0x04, 0xFD, 0x00, 0x28, 0x34, 0xD1, 0x25, 0x48, 0x81, 0x6C
- .byte 0x03, 0x20, 0x08, 0x42, 0x2F, 0xD0, 0x24, 0x48, 0x8F, 0xF7, 0xA6, 0xF8, 0x18, 0x48, 0x25, 0x5C
- .byte 0x20, 0x1C, 0x69, 0x1C, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7, 0xE8, 0xFE, 0x14, 0x49, 0x60, 0x54
- .byte 0x60, 0x5C, 0xFF, 0x28, 0x0D, 0xD0, 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x00, 0x21, 0x96, 0xF7
- .byte 0x9F, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0xFA, 0xF7, 0x29, 0xFB, 0x0C, 0x48, 0x01, 0x21, 0x21, 0x54
- .byte 0x11, 0xE0, 0x0F, 0x48, 0x01, 0x22, 0x21, 0x58, 0x0C, 0x23, 0x48, 0x68, 0x89, 0x8C, 0xF8, 0xF7
- .byte 0x09, 0xFD, 0x0B, 0x48, 0x00, 0x21, 0x20, 0x58, 0x23, 0x30, 0x01, 0x70, 0x04, 0x48, 0x07, 0x21
- .byte 0x21, 0x54, 0x1B, 0x20, 0xF8, 0xBD
+ ldr r0, _020763F0 ; =0x000005A4
+ add r1, r1, #0x3
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r2, _020763E0 ; =0x00000B25
+ add r5, r0, #0x0
+ ldr r0, _02076400 ; =0x00000706
+ ldrb r3, [r4, r2]
+ add r1, r4, r0
+ mov r0, #0x2c
+ mul r0, r3
+ ldrh r3, [r1, r0]
+ add r3, r3, #0x1
+ strh r3, [r1, r0]
+ ldrb r1, [r4, r2]
+ add r0, r4, #0x0
+ bl FUN_02072BBC
+ ldr r1, _020763E0 ; =0x00000B25
+ add r0, r4, #0x4
+ ldrb r2, [r4, r1]
+ lsl r1, r2, #0x2
+ add r1, r2, r1
+ add r1, r1, #0x3
+ lsl r1, r1, #0x4
+ add r0, r0, r1
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r1, _020763E0 ; =0x00000B25
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02072B7C
+ ldr r1, _020763E0 ; =0x00000B25
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02072C28
+ ldr r0, _020763E0 ; =0x00000B25
+ mov r1, #0x2c
+ ldrb r0, [r4, r0]
+ add r2, r0, #0x0
+ mul r2, r1
+ ldr r0, _02076400 ; =0x00000706
+ add r2, r4, r2
+ ldrh r0, [r2, r0]
+ cmp r5, r0
+ bne _020763D6
+ add r0, r4, #0x0
+ sub r1, #0x2d
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _020763DC ; =0x00000B22
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ b _020763D6
+_02076360:
+ add r0, r1, #0x2
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _020763D6
+ ldr r0, _02076404 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020763D6
+ ldr r0, _02076408 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _020763E0 ; =0x00000B25
+ ldrb r5, [r4, r0]
+ add r0, r4, #0x0
+ add r1, r5, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_0207615C
+ ldr r1, _020763E0 ; =0x00000B25
+ strb r0, [r4, r1]
+ ldrb r0, [r4, r1]
+ cmp r0, #0xff
+ beq _020763B2
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_020709FC
+ ldr r0, _020763DC ; =0x00000B22
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _020763D6
+_020763B2:
+ ldr r0, _020763F0 ; =0x000005A4
+ mov r2, #0x1
+ ldr r1, [r4, r0]
+ mov r3, #0xc
+ ldr r0, [r1, #0x4]
+ ldrh r1, [r1, #0x24]
+ bl FUN_0206EDD4
+ ldr r0, _020763F0 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _020763E0 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+ mov r0, #0x1b
+ pop {r3-r7, pc}
_020763D6:
mov r0, #0x7
pop {r3-r7, pc}
@@ -220136,8 +248388,9 @@ _020763F0: .word 0x000005A4
_020763F4: .word 0x0000070E
_020763F8: .word 0xFFFFF000
_020763FC: .word 0x000005EC
-_02076400:
- .byte 0x06, 0x07, 0x00, 0x00, 0xB8, 0x48, 0x1C, 0x02, 0xDC, 0x05, 0x00, 0x00
+_02076400: .word 0x00000706
+_02076404: .word 0x021C48B8
+_02076408: .word 0x000005DC
thumb_func_start FUN_0207640C
FUN_0207640C: ; 0x0207640C
@@ -220358,13 +248611,15 @@ FUN_020765EC: ; 0x020765EC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r6, r6, #0
- lsl r4, r2, #0x1
- lsl r2, r7, #0x1
- lsl r2, r7, #0x5
- lsl r6, r3, #0x6
- lsl r6, r1, #0x8
+_02076604: ; jump table (using 16-bit offset)
+ .short _02076612 - _02076604 - 2; case 0
+ .short _0207663C - _02076604 - 2; case 1
+ .short _0207665A - _02076604 - 2; case 2
+ .short _02076680 - _02076604 - 2; case 3
+ .short _02076780 - _02076604 - 2; case 4
+ .short _020767A4 - _02076604 - 2; case 5
+ .short _02076814 - _02076604 - 2; case 6
+_02076612:
sub r0, r1, #0x3
ldrb r0, [r4, r0]
bl FUN_0201BD70
@@ -220384,46 +248639,264 @@ FUN_020765EC: ; 0x020765EC
strb r1, [r4, r0]
b _02076868
_0207663C:
- .byte 0x8C, 0x48, 0x81, 0x6C
- .byte 0x03, 0x20, 0x08, 0x42, 0x30, 0xD0, 0x8B, 0x48, 0x8E, 0xF7, 0x3E, 0xFF, 0x20, 0x1C, 0xFC, 0xF7
- .byte 0xF5, 0xFF, 0x86, 0x48, 0x02, 0x21, 0x21, 0x54, 0x06, 0xE1, 0x85, 0x48, 0x81, 0x6C, 0x03, 0x20
- .byte 0x08, 0x42, 0x21, 0xD0, 0x83, 0x48, 0x8E, 0xF7, 0x2F, 0xFF, 0x20, 0x1C, 0xFD, 0xF7, 0x42, 0xF8
- .byte 0x7E, 0x48, 0x03, 0x21, 0x21, 0x54, 0x80, 0x48, 0x00, 0x21, 0x20, 0x58, 0x41, 0x63, 0xF3, 0xE0
- .byte 0x7D, 0x48, 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0x91, 0xF9, 0x7A, 0x49
- .byte 0x05, 0x1C, 0x62, 0x58, 0x11, 0x1C, 0x34, 0x31, 0x26, 0x32, 0xF3, 0xF7, 0xBD, 0xF8, 0x00, 0x28
- .byte 0x07, 0xD0, 0x76, 0x49, 0x88, 0x42, 0x00, 0xD1
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020766A8
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207363C
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _02076868
+_0207665A:
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020766A8
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_020736F4
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ ldr r0, _02076878 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ str r1, [r0, #0x34]
+ b _02076868
+_02076680:
+ ldr r0, _02076878 ; =0x000005A4
+ sub r1, r1, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r1, _02076878 ; =0x000005A4
+ add r5, r0, #0x0
+ ldr r2, [r4, r1]
+ add r1, r2, #0x0
+ add r1, #0x34
+ add r2, #0x26
+ bl FUN_02069818
+ cmp r0, #0x0
+ beq _020766B2
+ ldr r1, _0207687C ; =0x0000FFFE
+ cmp r0, r1
+ bne _020766AA
_020766A8:
b _02076868
_020766AA:
- .byte 0x49, 0x1C, 0x88, 0x42, 0x04, 0xD0
- .byte 0x38, 0xE0, 0x6E, 0x48, 0x06, 0x21, 0x21, 0x54, 0xD6, 0xE0, 0x28, 0x1C, 0xF2, 0xF7, 0x12, 0xFD
- .byte 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x00, 0x21, 0x94, 0xF7, 0x15, 0xFB, 0x6A, 0x22
- .byte 0x12, 0x01, 0xA0, 0x58, 0xFC, 0x3A, 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0x3E, 0xFB
- .byte 0x67, 0x48, 0x34, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x15, 0xF9, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01
- .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x5E, 0xF8, 0x28, 0x1C, 0xAB, 0xF7
- .byte 0x8F, 0xF9, 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0x6D, 0xFD, 0x5D, 0x48
- .byte 0x5D, 0x49, 0x5E, 0x4A, 0x60, 0x50, 0x08, 0x1D, 0x22, 0x50, 0x16, 0x20, 0x0A, 0x31, 0x60, 0x54
- .byte 0x14, 0x20, 0x38, 0xBD, 0x28, 0x1C, 0xF2, 0xF7, 0xDD, 0xFC, 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01
- .byte 0x20, 0x58, 0x00, 0x21, 0x94, 0xF7, 0xE0, 0xFA, 0x6A, 0x22, 0x12, 0x01, 0xA0, 0x58, 0xFC, 0x3A
- .byte 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0x09, 0xFB, 0x4D, 0x48, 0xC2, 0x21, 0x20, 0x58
- .byte 0x94, 0xF7, 0xE0, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58
- .byte 0x2A, 0x1C, 0x95, 0xF7, 0x29, 0xF8, 0x28, 0x1C, 0xAB, 0xF7, 0x5A, 0xF9, 0x00, 0x21, 0x20, 0x1C
- .byte 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0x38, 0xFD, 0x3C, 0x48, 0x04, 0x21, 0x21, 0x54, 0x73, 0xE0
- .byte 0xC8, 0x1E, 0x20, 0x5C, 0xA5, 0xF7, 0xF4, 0xFA, 0x00, 0x28, 0x6D, 0xD1, 0x38, 0x48, 0x81, 0x6C
- .byte 0x03, 0x20, 0x08, 0x42, 0x68, 0xD0, 0x37, 0x48, 0x8E, 0xF7, 0x96, 0xFE, 0x33, 0x48, 0x03, 0x21
- .byte 0x21, 0x54, 0x61, 0xE0, 0x32, 0x48, 0x82, 0x6C, 0x03, 0x20, 0x10, 0x42, 0x5C, 0xD0, 0x32, 0x48
- .byte 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0xFA, 0xF8, 0x2E, 0x4A, 0x01, 0x1C
- .byte 0xA2, 0x58, 0x20, 0x1C, 0x28, 0x32, 0x12, 0x78, 0x00, 0xF0, 0xB0, 0xFB, 0x2C, 0x48, 0x3D, 0x21
- .byte 0x20, 0x58, 0x94, 0xF7, 0x9F, 0xF8, 0x6A, 0x22, 0x12, 0x01, 0x05, 0x1C, 0xA0, 0x58, 0xFC, 0x3A
- .byte 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0xB9, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58
- .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x94, 0xF7, 0xDF, 0xFF, 0x28, 0x1C, 0xAB, 0xF7, 0x10, 0xF9
- .byte 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0xEE, 0xFC, 0x17, 0x48, 0x04, 0x21
- .byte 0x21, 0x54, 0x29, 0xE0, 0x18, 0x48, 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7
- .byte 0xC7, 0xF8, 0x05, 0x1C, 0x14, 0x48, 0x20, 0x58, 0xC0, 0x69, 0xC0, 0x69, 0x00, 0x68, 0xBE, 0xF7
- .byte 0xE9, 0xF8, 0x03, 0x1C, 0x10, 0x48, 0x1B, 0x04, 0x21, 0x58, 0x00, 0x22, 0x08, 0x1C, 0x3C, 0x30
- .byte 0x00, 0x90, 0x08, 0x68, 0x29, 0x1C, 0x1B, 0x0C, 0xF2, 0xF7, 0x8E, 0xFC, 0x0A, 0x49, 0x62, 0x58
- .byte 0x10, 0x87, 0x61, 0x58, 0x08, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x09, 0x20, 0x00, 0xE0, 0x00, 0x20
- .byte 0x23, 0x31, 0x08, 0x70, 0x1B, 0x20, 0x38, 0xBD
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _020766BA
+ b _02076724
+_020766B2:
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x6
+ strb r1, [r4, r0]
+ b _02076868
+_020766BA:
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ ldr r0, _02076880 ; =0x0000069C
+ mov r1, #0x34
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076884 ; =FUN_02076950
+ ldr r1, _02076888 ; =0x00000B18
+ ldr r2, _0207688C ; =FUN_020769A4
+ str r0, [r4, r1]
+ add r0, r1, #0x4
+ str r2, [r4, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r4, r1]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02076724:
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ ldr r0, _02076880 ; =0x0000069C
+ mov r1, #0xc2
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x4
+ strb r1, [r4, r0]
+ b _02076868
+_02076780:
+ sub r0, r1, #0x3
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02076868
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02076868
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ b _02076868
+_020767A4:
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r2, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r2
+ beq _02076868
+ ldr r0, _02076878 ; =0x000005A4
+ sub r1, r1, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r2, _02076878 ; =0x000005A4
+ add r1, r0, #0x0
+ ldr r2, [r4, r2]
+ add r0, r4, #0x0
+ add r2, #0x28
+ ldrb r2, [r2, #0x0]
+ bl FUN_02076F2C
+ ldr r0, _02076880 ; =0x0000069C
+ mov r1, #0x3d
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r5, r0, #0x0
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x4
+ strb r1, [r4, r0]
+ b _02076868
+_02076814:
+ ldr r0, _02076878 ; =0x000005A4
+ sub r1, r1, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ ldr r0, _02076878 ; =0x000005A4
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034A04
+ add r3, r0, #0x0
+ ldr r0, _02076878 ; =0x000005A4
+ lsl r3, r3, #0x10
+ ldr r1, [r4, r0]
+ mov r2, #0x0
+ add r0, r1, #0x0
+ add r0, #0x3c
+ str r0, [sp, #0x0]
+ ldr r0, [r1, #0x0]
+ add r1, r5, #0x0
+ lsr r3, r3, #0x10
+ bl FUN_02069168
+ ldr r1, _02076878 ; =0x000005A4
+ ldr r2, [r4, r1]
+ strh r0, [r2, #0x38]
+ ldr r1, [r4, r1]
+ ldrh r0, [r1, #0x38]
+ cmp r0, #0x0
+ beq _0207685E
+ mov r0, #0x9
+ b _02076860
+_0207685E:
+ mov r0, #0x0
+_02076860:
+ add r1, #0x23
+ strb r0, [r1, #0x0]
+ mov r0, #0x1b
+ pop {r3-r5, pc}
_02076868:
mov r0, #0x5
pop {r3-r5, pc}
@@ -220431,9 +248904,12 @@ _02076868:
_0207686C: .word 0x00000B27
_02076870: .word 0x021C48B8
_02076874: .word 0x000005DC
-_02076878:
- .byte 0xA4, 0x05, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00
- .byte 0x9C, 0x06, 0x00, 0x00, 0x51, 0x69, 0x07, 0x02, 0x18, 0x0B, 0x00, 0x00, 0xA5, 0x69, 0x07, 0x02
+_02076878: .word 0x000005A4
+_0207687C: .word 0x0000FFFE
+_02076880: .word 0x0000069C
+_02076884: .word FUN_02076950 + 1
+_02076888: .word 0x00000B18
+_0207688C: .word FUN_020769A4 + 1
thumb_func_start FUN_02076890
FUN_02076890: ; 0x02076890
@@ -220763,10 +249239,11 @@ FUN_02076AF8: ; 0x02076AF8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r2, #0
- lsl r4, r2, #0
- lsl r4, r2, #0
- lsl r4, r2, #0
+_02076B52: ; jump table (using 16-bit offset)
+ .short _02076B68 - _02076B52 - 2; case 0
+ .short _02076B68 - _02076B52 - 2; case 1
+ .short _02076B68 - _02076B52 - 2; case 2
+ .short _02076B68 - _02076B52 - 2; case 3
_02076B5A:
cmp r5, #0xfe
bhi _02076B62
@@ -220778,12 +249255,38 @@ _02076B62:
beq _02076C34
b _02076C72
_02076B68:
- .byte 0x20, 0x1C, 0x31, 0x1C, 0x2A, 0x1C, 0x00, 0xF0
- .byte 0xDD, 0xF9, 0x43, 0x48, 0x3D, 0x21, 0x20, 0x58, 0x93, 0xF7, 0xCC, 0xFE, 0x6A, 0x21, 0x05, 0x1C
- .byte 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x94, 0xF7, 0x15, 0xFE, 0x28, 0x1C
- .byte 0xAA, 0xF7, 0x46, 0xFF, 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x01, 0x22, 0xFC, 0xF7, 0x24, 0xFB
- .byte 0x35, 0x48, 0x00, 0x21, 0x20, 0x58, 0x23, 0x30, 0x01, 0x70, 0x36, 0x48, 0x15, 0x21, 0x21, 0x54
- .byte 0x5F, 0xE0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_02076F2C
+ ldr r0, _02076C80 ; =0x0000069C
+ mov r1, #0x3d
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076C78 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076C84 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r4, r0]
+ b _02076C72
_02076BB2:
ldr r0, _02076C80 ; =0x0000069C
mov r1, #0x3f
@@ -221867,10 +250370,12 @@ FUN_020774EC: ; 0x020774EC
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r0, #0
- lsl r2, r3, #0
- lsl r6, r1, #0x1
- lsl r4, r7, #0x5
+_0207750C: ; jump table (using 16-bit offset)
+ .short _02077514 - _0207750C - 2; case 0
+ .short _02077528 - _0207750C - 2; case 1
+ .short _0207755C - _0207750C - 2; case 2
+ .short _0207768A - _0207750C - 2; case 3
+_02077514:
bl FUN_0200E308
cmp r0, #0x0
beq _02077550
@@ -221881,33 +250386,185 @@ FUN_020774EC: ; 0x020774EC
str r1, [r4, r0]
b _02077698
_02077528:
- .byte 0x5F, 0x49, 0x62, 0x58, 0x52, 0x1C, 0x62, 0x50
- .byte 0x02, 0xF0, 0xC8, 0xF9, 0x49, 0x22, 0x12, 0x01, 0xA0, 0x18, 0xCB, 0x21, 0x30, 0x3A, 0x89, 0x00
- .byte 0xA2, 0x58, 0x61, 0x18, 0x02, 0xF0, 0x76, 0xF9, 0x57, 0x48, 0x21, 0x58, 0x05, 0x29, 0x00, 0xDC
+ ldr r1, _020776A8 ; =0x000005CC
+ ldr r2, [r4, r1]
+ add r2, r2, #0x1
+ str r2, [r4, r1]
+ bl FUN_020798C4
+ mov r2, #0x49
+ lsl r2, r2, #0x4
+ add r0, r4, r2
+ mov r1, #0xcb
+ sub r2, #0x30
+ lsl r1, r1, #0x2
+ ldr r2, [r4, r2]
+ add r1, r4, r1
+ bl FUN_02079834
+ ldr r0, _020776A8 ; =0x000005CC
+ ldr r1, [r4, r0]
+ cmp r1, #0x5
+ bgt _02077552
_02077550:
b _02077698
_02077552:
- .byte 0x02, 0x21, 0x29, 0x60, 0x00, 0x21, 0x21, 0x50, 0x9D, 0xE0, 0x53, 0x4B, 0xE2, 0x58
- .byte 0x07, 0x2A, 0x68, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44
- .byte 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0x0E, 0x00, 0x22, 0x00, 0x6E, 0x00, 0x9A, 0x00
- .byte 0x62, 0x6B, 0x00, 0x2A, 0x02, 0xD1, 0x00, 0xF0, 0x9D, 0xF8, 0x28, 0x60, 0x20, 0x1C, 0x02, 0xF0
- .byte 0x99, 0xF9, 0x50, 0xE0, 0x31, 0x1C, 0x00, 0xF0, 0x7B, 0xFC, 0x45, 0x48, 0x0F, 0x21, 0x20, 0x18
- .byte 0xA2, 0xF7, 0x3E, 0xF8, 0x42, 0x48, 0x01, 0x22, 0x20, 0x18, 0x00, 0x21, 0x12, 0x02, 0x0A, 0x23
- .byte 0x95, 0xF7, 0x84, 0xFD, 0x00, 0x23, 0x06, 0x22, 0x3D, 0x48, 0x00, 0x93, 0x01, 0x21, 0x01, 0x91
- .byte 0x02, 0x93, 0x92, 0x01, 0xA2, 0x58, 0x20, 0x18, 0xA4, 0xF7, 0xDC, 0xFB, 0x39, 0x49, 0x60, 0x50
- .byte 0x10, 0x39, 0x60, 0x18, 0xA1, 0xF7, 0xFC, 0xFD, 0x34, 0x48, 0x06, 0x21, 0x21, 0x50, 0x2A, 0xE0
- .byte 0x18, 0x1F, 0x20, 0x58, 0x00, 0x06, 0x00, 0x0E, 0xA4, 0xF7, 0xC2, 0xFB, 0x00, 0x28, 0x22, 0xD1
- .byte 0x31, 0x48, 0x8D, 0xF7, 0x69, 0xFF, 0x31, 0x49, 0x00, 0x22, 0x60, 0x58, 0x40, 0x1C, 0x60, 0x50
- .byte 0x29, 0x48, 0x4C, 0x39, 0x22, 0x50, 0x07, 0x20, 0x60, 0x50, 0x14, 0xE0, 0x26, 0x48, 0x21, 0x58
- .byte 0x49, 0x1C, 0x21, 0x50, 0x20, 0x58, 0x1E, 0x28, 0x0D, 0xDD, 0x10, 0x20, 0x00, 0x90, 0x00, 0x21
- .byte 0x01, 0x20, 0x01, 0x90, 0x12, 0x20, 0x02, 0x90, 0x02, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0x96, 0xF7
- .byte 0xCF, 0xFD, 0x03, 0x20, 0x28, 0x60, 0x22, 0x4B, 0xCB, 0x21, 0xE0, 0x18, 0x00, 0x90, 0x18, 0x1D
- .byte 0x20, 0x18, 0x89, 0x00, 0x01, 0x90, 0x60, 0x18, 0x02, 0x90, 0x18, 0x1C, 0x4C, 0x30, 0x20, 0x58
- .byte 0x1A, 0x1C, 0x40, 0x69, 0x8C, 0x31, 0x03, 0x90, 0x16, 0x20, 0x00, 0x01, 0x1B, 0x1F, 0x08, 0x3A
- .byte 0x20, 0x58, 0xE3, 0x58, 0x61, 0x18, 0xA2, 0x18, 0x01, 0xF0, 0x22, 0xF8, 0x49, 0x22, 0x12, 0x01
- .byte 0xA0, 0x18, 0xCB, 0x21, 0x30, 0x3A, 0x89, 0x00, 0xA2, 0x58, 0x61, 0x18, 0x02, 0xF0, 0xDA, 0xF8
- .byte 0x20, 0x1C, 0x38, 0x30, 0x01, 0xF0, 0xDA, 0xFB, 0x06, 0xE0, 0x96, 0xF7, 0x3D, 0xFE, 0x00, 0x28
- .byte 0x02, 0xD0, 0x04, 0xB0, 0x01, 0x20, 0x70, 0xBD
+ mov r1, #0x2
+ str r1, [r5, #0x0]
+ mov r1, #0x0
+ str r1, [r4, r0]
+ b _02077698
+_0207755C:
+ ldr r3, _020776AC ; =0x0000045C
+ ldr r2, [r4, r3]
+ cmp r2, #0x7
+ bhi _02077636
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02077570: ; jump table (using 16-bit offset)
+ .short _02077636 - _02077570 - 2; case 0
+ .short _02077636 - _02077570 - 2; case 1
+ .short _02077636 - _02077570 - 2; case 2
+ .short _02077636 - _02077570 - 2; case 3
+ .short _02077580 - _02077570 - 2; case 4
+ .short _02077594 - _02077570 - 2; case 5
+ .short _020775E0 - _02077570 - 2; case 6
+ .short _0207760C - _02077570 - 2; case 7
+_02077580:
+ ldr r2, [r4, #0x34]
+ cmp r2, #0x0
+ bne _0207758C
+ bl FUN_020776C4
+ str r0, [r5, #0x0]
+_0207758C:
+ add r0, r4, #0x0
+ bl FUN_020798C4
+ b _02077636
+_02077594:
+ add r1, r6, #0x0
+ bl FUN_02077E90
+ ldr r0, _020776B0 ; =0x00000448
+ mov r1, #0xf
+ add r0, r4, r0
+ bl FUN_02019620
+ ldr r0, _020776B0 ; =0x00000448
+ mov r2, #0x1
+ add r0, r4, r0
+ mov r1, #0x0
+ lsl r2, r2, #0x8
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ mov r3, #0x0
+ mov r2, #0x6
+ ldr r0, _020776B0 ; =0x00000448
+ str r3, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ str r3, [sp, #0x8]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ add r0, r4, r0
+ bl FUN_0201BD84
+ ldr r1, _020776B4 ; =0x00000458
+ str r0, [r4, r1]
+ sub r1, #0x10
+ add r0, r4, r1
+ bl FUN_020191D0
+ ldr r0, _020776AC ; =0x0000045C
+ mov r1, #0x6
+ str r1, [r4, r0]
+ b _02077636
+_020775E0:
+ sub r0, r3, #0x4
+ ldr r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02077636
+ ldr r0, _020776B8 ; =0x000005E2
+ bl FUN_020054C8
+ ldr r1, _020776BC ; =0x000004A8
+ mov r2, #0x0
+ ldr r0, [r4, r1]
+ add r0, r0, #0x1
+ str r0, [r4, r1]
+ ldr r0, _020776A8 ; =0x000005CC
+ sub r1, #0x4c
+ str r2, [r4, r0]
+ mov r0, #0x7
+ str r0, [r4, r1]
+ b _02077636
+_0207760C:
+ ldr r0, _020776A8 ; =0x000005CC
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ ldr r0, [r4, r0]
+ cmp r0, #0x1e
+ ble _02077636
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r1, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+_02077636:
+ ldr r3, _020776C0 ; =0x00000464
+ mov r1, #0xcb
+ add r0, r4, r3
+ str r0, [sp, #0x0]
+ add r0, r3, #0x4
+ add r0, r4, r0
+ lsl r1, r1, #0x2
+ str r0, [sp, #0x4]
+ add r0, r4, r1
+ str r0, [sp, #0x8]
+ add r0, r3, #0x0
+ add r0, #0x4c
+ ldr r0, [r4, r0]
+ add r2, r3, #0x0
+ ldr r0, [r0, #0x14]
+ add r1, #0x8c
+ str r0, [sp, #0xc]
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ sub r3, r3, #0x4
+ sub r2, #0x8
+ ldr r0, [r4, r0]
+ ldr r3, [r4, r3]
+ add r1, r4, r1
+ add r2, r4, r2
+ bl FUN_020786B0
+ mov r2, #0x49
+ lsl r2, r2, #0x4
+ add r0, r4, r2
+ mov r1, #0xcb
+ sub r2, #0x30
+ lsl r1, r1, #0x2
+ ldr r2, [r4, r2]
+ add r1, r4, r1
+ bl FUN_02079834
+ add r0, r4, #0x0
+ add r0, #0x38
+ bl FUN_02078E3C
+ b _02077698
+_0207768A:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02077698
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02077698:
mov r0, #0x62
lsl r0, r0, #0x2
@@ -221918,10 +250575,12 @@ _02077698:
pop {r4-r6, pc}
.balign 4
_020776A8: .word 0x000005CC
-_020776AC:
- .byte 0x5C, 0x04, 0x00, 0x00
- .byte 0x48, 0x04, 0x00, 0x00, 0x58, 0x04, 0x00, 0x00, 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00
- .byte 0x64, 0x04, 0x00, 0x00
+_020776AC: .word 0x0000045C
+_020776B0: .word 0x00000448
+_020776B4: .word 0x00000458
+_020776B8: .word 0x000005E2
+_020776BC: .word 0x000004A8
+_020776C0: .word 0x00000464
thumb_func_start FUN_020776C4
FUN_020776C4: ; 0x020776C4
@@ -223678,14 +252337,16 @@ FUN_02078530: ; 0x02078530
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r6, r6, #0x1
- lsl r0, r5, #0x1
- lsl r0, r6, #0
- lsl r2, r3, #0x1
- lsl r4, r1, #0x1
- lsl r6, r7, #0
- lsl r2, r3, #0x1
+_02078568: ; jump table (using 16-bit offset)
+ .short _02078578 - _02078568 - 2; case 0
+ .short _020785E0 - _02078568 - 2; case 1
+ .short _020785D2 - _02078568 - 2; case 2
+ .short _0207859A - _02078568 - 2; case 3
+ .short _020785C4 - _02078568 - 2; case 4
+ .short _020785B6 - _02078568 - 2; case 5
+ .short _020785A8 - _02078568 - 2; case 6
+ .short _020785C4 - _02078568 - 2; case 7
+_02078578:
ldr r0, [r4, #0x4]
cmp r0, #0x0
bne _0207858C
@@ -223703,16 +252364,73 @@ _0207858C:
bl FUN_02020130
pop {r3-r5, pc}
_0207859A:
- .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58
- .byte 0x33, 0x21, 0xA7, 0xF7, 0xC5, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x37, 0x21
- .byte 0xA7, 0xF7, 0xBE, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x36, 0x21, 0xA7, 0xF7
- .byte 0xB7, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x35, 0x21, 0xA7, 0xF7, 0xB0, 0xFD
- .byte 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x2F, 0x21, 0xA7, 0xF7, 0xA9, 0xFD, 0x38, 0xBD
- .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x32, 0x21, 0xA7, 0xF7, 0xA2, 0xFD, 0x20, 0x69, 0x02, 0x28
- .byte 0x19, 0xD0, 0xE1, 0x68, 0x0D, 0x20, 0x48, 0x43, 0x50, 0x30, 0x00, 0x03, 0xA8, 0x60, 0x1B, 0x20
- .byte 0x00, 0x03, 0xE8, 0x60, 0x28, 0x1C, 0xA7, 0xF7, 0x45, 0xFC, 0xE6, 0x21, 0x89, 0x00, 0x60, 0x50
- .byte 0x20, 0x69, 0x00, 0x28, 0x60, 0x58, 0x03, 0xD1, 0x2D, 0x21, 0xA7, 0xF7, 0x89, 0xFD, 0x38, 0xBD
- .byte 0x2E, 0x21, 0xA7, 0xF7, 0x85, 0xFD
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x33
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785A8:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x37
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785B6:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x36
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785C4:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x35
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785D2:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x2f
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785E0:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x32
+ bl FUN_02020130
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x2
+ beq _02078626
+ ldr r1, [r4, #0xc]
+ mov r0, #0xd
+ mul r0, r1
+ add r0, #0x50
+ lsl r0, r0, #0xc
+ str r0, [r5, #0x8]
+ mov r0, #0x1b
+ lsl r0, r0, #0xc
+ str r0, [r5, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0201FE94
+ mov r1, #0xe6
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x0
+ ldr r0, [r4, r1]
+ bne _02078620
+ mov r1, #0x2d
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_02078620:
+ mov r1, #0x2e
+ bl FUN_02020130
_02078626:
pop {r3-r5, pc}
@@ -223735,13 +252453,15 @@ FUN_02078628: ; 0x02078628
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r2, r3, #0x1
- lsl r0, r4, #0
- lsl r2, r3, #0x1
- lsl r4, r6, #0
- lsl r2, r3, #0x1
- lsl r0, r1, #0x1
+_0207864A: ; jump table (using 16-bit offset)
+ .short _02078658 - _0207864A - 2; case 0
+ .short _020786A6 - _0207864A - 2; case 1
+ .short _0207866C - _0207864A - 2; case 2
+ .short _020786A6 - _0207864A - 2; case 3
+ .short _02078680 - _0207864A - 2; case 4
+ .short _020786A6 - _0207864A - 2; case 5
+ .short _02078694 - _0207864A - 2; case 6
+_02078658:
mov r0, #0x1
ldr r1, [r4, #0x8]
lsl r0, r0, #0xe
@@ -223752,11 +252472,33 @@ FUN_02078628: ; 0x02078628
bl FUN_02020044
b _020786A6
_0207866C:
- .byte 0x03, 0x20, 0xA1, 0x68
- .byte 0x00, 0x03, 0x08, 0x1A, 0x00, 0x90, 0x20, 0x68, 0x00, 0xA9, 0xA7, 0xF7, 0xE3, 0xFC, 0x12, 0xE0
- .byte 0x02, 0x20, 0xA1, 0x68, 0x00, 0x03, 0x08, 0x18, 0x00, 0x90, 0x20, 0x68, 0x00, 0xA9, 0xA7, 0xF7
- .byte 0xD9, 0xFC, 0x08, 0xE0, 0xA0, 0x68, 0x00, 0xA9, 0x00, 0x90, 0x20, 0x68, 0xA7, 0xF7, 0xD2, 0xFC
- .byte 0x28, 0x1C, 0x8D, 0xF7, 0xBB, 0xFD
+ mov r0, #0x3
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0xc
+ sub r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+ b _020786A6
+_02078680:
+ mov r0, #0x2
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0xc
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+ b _020786A6
+_02078694:
+ ldr r0, [r4, #0x8]
+ add r1, sp, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ bl FUN_02020044
+ add r0, r5, #0x0
+ bl FUN_0200621C
_020786A6:
ldr r0, [r4, #0x4]
add r0, r0, #0x1
@@ -223794,11 +252536,13 @@ _020786DA:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r4, r2, #0x1
- lsl r2, r7, #0x1
- lsl r4, r2, #0x4
- lsl r6, r2, #0x6
+_020786E6: ; jump table (using 16-bit offset)
+ .short _020786F0 - _020786E6 - 2; case 0
+ .short _0207873C - _020786E6 - 2; case 1
+ .short _02078762 - _020786E6 - 2; case 2
+ .short _020787FC - _020786E6 - 2; case 3
+ .short _0207887E - _020786E6 - 2; case 4
+_020786F0:
mov r0, #0x0
str r0, [sp, #0x0]
mov r0, #0xe
@@ -223835,36 +252579,168 @@ _020786DA:
str r0, [r5, #0x0]
pop {r3-r7, pc}
_0207873C:
- .byte 0x31, 0x06, 0x09, 0x0E
- .byte 0x00, 0x22, 0xEE, 0x23, 0x9F, 0xF7, 0x4C, 0xF9, 0x03, 0x22, 0x31, 0x06, 0x13, 0x1C, 0x04, 0x98
- .byte 0x09, 0x0E, 0x53, 0x3B, 0x9F, 0xF7, 0x44, 0xF9, 0x28, 0x68, 0x0A, 0xB0, 0x40, 0x1C, 0x28, 0x60
- .byte 0xF8, 0xBD, 0x0C, 0x21, 0x30, 0x1C, 0x48, 0x43, 0x22, 0x58, 0x07, 0x90, 0x18, 0x3A, 0x22, 0x50
- .byte 0x20, 0x58, 0x0D, 0x39, 0x88, 0x42, 0x20, 0xDA, 0x44, 0x48, 0x10, 0x21, 0x00, 0x22, 0x12, 0x23
- .byte 0x8D, 0xF7, 0x32, 0xFD, 0xA2, 0xF7, 0xA0, 0xFF, 0x07, 0x1C, 0x12, 0x98, 0xC0, 0x69, 0x38, 0x60
- .byte 0x00, 0x20, 0x78, 0x60, 0x12, 0x98, 0xC0, 0x69, 0xA7, 0xF7, 0xC0, 0xFC, 0x00, 0x68, 0xB8, 0x60
- .byte 0x12, 0x98, 0xC0, 0x69, 0xA7, 0xF7, 0xBA, 0xFC, 0x40, 0x68, 0x0A, 0x21, 0xF8, 0x60, 0x07, 0x98
- .byte 0xC9, 0x43, 0x21, 0x50, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x06, 0x98, 0x0C, 0x21, 0x07, 0x1C
- .byte 0x25, 0x1D, 0x4F, 0x43, 0xE8, 0x59, 0x0A, 0x38, 0xE8, 0x51, 0x08, 0x1C, 0xEA, 0x59, 0xD0, 0x38
- .byte 0x82, 0x42, 0x01, 0xDA, 0xD0, 0x39, 0xE9, 0x51, 0x07, 0x9B, 0x31, 0x06, 0x04, 0x98, 0xE3, 0x58
- .byte 0x09, 0x0E, 0x00, 0x22, 0x9F, 0xF7, 0xFC, 0xF8, 0x06, 0x99, 0x04, 0x98, 0x09, 0x06, 0xEB, 0x59
- .byte 0x09, 0x0E, 0x03, 0x22, 0x9F, 0xF7, 0xF4, 0xF8, 0x0A, 0xB0, 0xF8, 0xBD, 0x06, 0x99, 0x0C, 0x20
- .byte 0x0A, 0x1C, 0x42, 0x43, 0x08, 0x92, 0x27, 0x1D, 0xBA, 0x58, 0x08, 0x99, 0x0A, 0x3A, 0x7A, 0x50
- .byte 0x7A, 0x58, 0x01, 0x1C, 0xD0, 0x39, 0x8A, 0x42, 0x02, 0xDA, 0x08, 0x99, 0xD0, 0x38, 0x78, 0x50
- .byte 0x0C, 0x20, 0x70, 0x43, 0x09, 0x90, 0x09, 0x9B, 0x31, 0x06, 0x04, 0x98, 0xE3, 0x58, 0x09, 0x0E
- .byte 0x00, 0x22, 0x9F, 0xF7, 0xD5, 0xF8, 0x06, 0x99, 0x08, 0x9B, 0x09, 0x06, 0x04, 0x98, 0xFB, 0x58
- .byte 0x09, 0x0E, 0x03, 0x22, 0x9F, 0xF7, 0xCC, 0xF8, 0x09, 0x98, 0x0A, 0x21, 0x20, 0x58, 0xC9, 0x43
- .byte 0x88, 0x42, 0x14, 0xD1, 0x08, 0x98, 0xB9, 0x39, 0x38, 0x58, 0x88, 0x42, 0x0F, 0xD1, 0x28, 0x68
- .byte 0x22, 0x1C, 0x40, 0x1C, 0x28, 0x60, 0x10, 0x98, 0x01, 0x68, 0x01, 0x20, 0x41, 0x40, 0x10, 0x98
- .byte 0x01, 0x60, 0x04, 0x98, 0x00, 0xF0, 0x88, 0xF9, 0x05, 0x48, 0x8C, 0xF7, 0x25, 0xFE
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ mov r3, #0xee
+ bl FUN_020179E0
+ mov r2, #0x3
+ lsl r1, r6, #0x18
+ add r3, r2, #0x0
+ ldr r0, [sp, #0x10]
+ lsr r1, r1, #0x18
+ sub r3, #0x53
+ bl FUN_020179E0
+ ldr r0, [r5, #0x0]
+ add sp, #0x28
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ pop {r3-r7, pc}
+_02078762:
+ mov r1, #0xc
+ add r0, r6, #0x0
+ mul r0, r1
+ ldr r2, [r4, r0]
+ str r0, [sp, #0x1c]
+ sub r2, #0x18
+ str r2, [r4, r0]
+ ldr r0, [r4, r0]
+ sub r1, #0xd
+ cmp r0, r1
+ bge _020787BA
+ ldr r0, _0207888C ; =FUN_02078628
+ mov r1, #0x10
+ mov r2, #0x0
+ mov r3, #0x12
+ bl FUN_020061E8
+ bl FUN_0201B6C8
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x1c]
+ str r0, [r7, #0x0]
+ mov r0, #0x0
+ str r0, [r7, #0x4]
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x1c]
+ bl FUN_0202011C
+ ldr r0, [r0, #0x0]
+ str r0, [r7, #0x8]
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x1c]
+ bl FUN_0202011C
+ ldr r0, [r0, #0x4]
+ mov r1, #0xa
+ str r0, [r7, #0xc]
+ ldr r0, [sp, #0x1c]
+ mvn r1, r1
+ str r1, [r4, r0]
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+_020787BA:
+ ldr r0, [sp, #0x18]
+ mov r1, #0xc
+ add r7, r0, #0x0
+ add r5, r4, #0x4
+ mul r7, r1
+ ldr r0, [r5, r7]
+ sub r0, #0xa
+ str r0, [r5, r7]
+ add r0, r1, #0x0
+ ldr r2, [r5, r7]
+ sub r0, #0xd0
+ cmp r2, r0
+ bge _020787D8
+ sub r1, #0xd0
+ str r1, [r5, r7]
+_020787D8:
+ ldr r3, [sp, #0x1c]
+ lsl r1, r6, #0x18
+ ldr r0, [sp, #0x10]
+ ldr r3, [r4, r3]
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_020179E0
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0x10]
+ lsl r1, r1, #0x18
+ ldr r3, [r5, r7]
+ lsr r1, r1, #0x18
+ mov r2, #0x3
+ bl FUN_020179E0
+ add sp, #0x28
+ pop {r3-r7, pc}
+_020787FC:
+ ldr r1, [sp, #0x18]
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ str r2, [sp, #0x20]
+ add r7, r4, #0x4
+ ldr r2, [r7, r2]
+ ldr r1, [sp, #0x20]
+ sub r2, #0xa
+ str r2, [r7, r1]
+ ldr r2, [r7, r1]
+ add r1, r0, #0x0
+ sub r1, #0xd0
+ cmp r2, r1
+ bge _02078820
+ ldr r1, [sp, #0x20]
+ sub r0, #0xd0
+ str r0, [r7, r1]
+_02078820:
+ mov r0, #0xc
+ mul r0, r6
+ str r0, [sp, #0x24]
+ ldr r3, [sp, #0x24]
+ lsl r1, r6, #0x18
+ ldr r0, [sp, #0x10]
+ ldr r3, [r4, r3]
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_020179E0
+ ldr r1, [sp, #0x18]
+ ldr r3, [sp, #0x20]
+ lsl r1, r1, #0x18
+ ldr r0, [sp, #0x10]
+ ldr r3, [r7, r3]
+ lsr r1, r1, #0x18
+ mov r2, #0x3
+ bl FUN_020179E0
+ ldr r0, [sp, #0x24]
+ mov r1, #0xa
+ ldr r0, [r4, r0]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0207887E
+ ldr r0, [sp, #0x20]
+ sub r1, #0xb9
+ ldr r0, [r7, r0]
+ cmp r0, r1
+ bne _0207887E
+ ldr r0, [r5, #0x0]
+ add r2, r4, #0x0
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ ldr r0, [sp, #0x40]
+ ldr r1, [r0, #0x0]
+ mov r0, #0x1
+ eor r1, r0
+ ldr r0, [sp, #0x40]
+ str r1, [r0, #0x0]
+ ldr r0, [sp, #0x10]
+ bl FUN_02078B88
+ ldr r0, _02078890 ; =0x0000069B
+ bl FUN_020054C8
_0207887E:
add sp, #0x28
pop {r3-r7, pc}
nop
_02078884: .word 0x020F9D2C
_02078888: .word 0x000E0F00
-_0207888C:
- .byte 0x29, 0x86, 0x07, 0x02
- .byte 0x9B, 0x06, 0x00, 0x00
+_0207888C: .word FUN_02078628 + 1
+_02078890: .word 0x0000069B
thumb_func_start FUN_02078894
FUN_02078894: ; 0x02078894
@@ -224876,10 +253752,11 @@ _0207908C:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r6, #0
- lsl r4, r6, #0
- lsl r4, r6, #0
- lsl r4, r6, #0
+_020790AC: ; jump table (using 16-bit offset)
+ .short _020790E2 - _020790AC - 2; case 0
+ .short _020790E2 - _020790AC - 2; case 1
+ .short _020790E2 - _020790AC - 2; case 2
+ .short _020790E2 - _020790AC - 2; case 3
_020790B4:
ldr r2, _02079164 ; =0x0000E002
cmp r1, r2
@@ -224902,10 +253779,11 @@ _020790C6:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r6, r0, #0
+_020790DA: ; jump table (using 16-bit offset)
+ .short _020790E2 - _020790DA - 2; case 0
+ .short _020790E2 - _020790DA - 2; case 1
+ .short _020790E2 - _020790DA - 2; case 2
+ .short _020790E2 - _020790DA - 2; case 3
_020790E2:
mov r1, #0x1
_020790E4:
@@ -225081,12 +253959,13 @@ _02079212:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r7, #0x3
- lsl r4, r7, #0x3
- lsl r4, r7, #0x3
- lsl r2, r5, #0x2
- lsl r6, r7, #0x4
- lsl r6, r5, #0x7
+_0207921E: ; jump table (using 16-bit offset)
+ .short _0207931C - _0207921E - 2; case 0
+ .short _0207931C - _0207921E - 2; case 1
+ .short _0207931C - _0207921E - 2; case 2
+ .short _020792CA - _0207921E - 2; case 3
+ .short _0207935E - _0207921E - 2; case 4
+ .short _0207940E - _0207921E - 2; case 5
_0207922A:
add r0, r4, #0x0
add r0, #0xd8
@@ -225163,12 +254042,43 @@ _0207927C:
bl FUN_020054C8
b _02079526
_020792CA:
- .byte 0x56, 0x23, 0x9B, 0x00, 0xE3, 0x5A
- .byte 0x22, 0x1C, 0x00, 0x20, 0x52, 0x21, 0xD8, 0x32, 0x00, 0xF0, 0x5A, 0xF9, 0x00, 0x28, 0x43, 0xD0
- .byte 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0xA0, 0xF7, 0x9A, 0xF9, 0x0C, 0x20, 0x00, 0x90
- .byte 0x00, 0x22, 0x21, 0x1C, 0x92, 0x48, 0x01, 0x92, 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18
- .byte 0xD8, 0x31, 0x13, 0x1C, 0x03, 0x92, 0xFF, 0xF7, 0xB9, 0xFD, 0x4A, 0x20, 0x00, 0x01, 0x21, 0x58
- .byte 0x49, 0x1C, 0x21, 0x50, 0x8B, 0x48, 0x8C, 0xF7, 0xD7, 0xF8, 0x04, 0xE1
+ mov r3, #0x56
+ lsl r3, r3, #0x2
+ ldrh r3, [r4, r3]
+ add r2, r4, #0x0
+ mov r0, #0x0
+ mov r1, #0x52
+ add r2, #0xd8
+ bl FUN_02079590
+ cmp r0, #0x0
+ beq _02079368
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ add r1, r4, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+ mov r0, #0x4a
+ lsl r0, r0, #0x4
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ ldr r0, _02079544 ; =0x000005EB
+ bl FUN_020054C8
+ b _02079526
_0207931C:
mov r2, #0x46
lsl r2, r2, #0x4
@@ -225201,27 +254111,128 @@ _0207931C:
bl FUN_020200A0
b _02079526
_0207935E:
- .byte 0x56, 0x21
- .byte 0x89, 0x00, 0x60, 0x5A, 0x00, 0x28, 0x00, 0xD1
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ ldrh r0, [r4, r1]
+ cmp r0, #0x0
+ bne _0207936A
_02079368:
b _02079526
_0207936A:
- .byte 0x40, 0x1E, 0x40, 0x00, 0x20, 0x18
- .byte 0x76, 0x4A, 0xD8, 0x30, 0x02, 0x80, 0x60, 0x5A, 0x40, 0x1E, 0x60, 0x52, 0xFA, 0x20, 0x80, 0x00
- .byte 0x20, 0x18, 0x01, 0x21, 0xA0, 0xF7, 0x4C, 0xF9, 0x56, 0x20, 0x80, 0x00, 0x20, 0x5A, 0x00, 0x28
- .byte 0x05, 0xD1, 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18, 0x9F, 0xF7, 0x1A, 0xFF, 0x0E, 0xE0, 0x0C, 0x20
- .byte 0x00, 0x90, 0x00, 0x22, 0x66, 0x48, 0x01, 0x92, 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x21, 0x1C
- .byte 0x20, 0x18, 0xD8, 0x31, 0x13, 0x1C, 0x03, 0x92, 0xFF, 0xF7, 0x60, 0xFD, 0x64, 0x48, 0x5F, 0x23
- .byte 0x21, 0x18, 0x9B, 0x00, 0x00, 0x91, 0xE1, 0x58, 0x1A, 0x1C, 0x01, 0x91, 0x24, 0x3A, 0xCC, 0x38
- .byte 0x21, 0x1C, 0x22, 0x3B, 0xA2, 0x5A, 0x20, 0x18, 0xD8, 0x31, 0xE3, 0x18, 0xFF, 0xF7, 0x4E, 0xFE
- .byte 0x56, 0x21, 0x89, 0x00, 0xD9, 0x20, 0x80, 0x00, 0x61, 0x5A, 0xE2, 0x68, 0x20, 0x18, 0x00, 0xF0
- .byte 0x8F, 0xF9, 0x58, 0x48, 0x21, 0x58, 0x49, 0x1C, 0x21, 0x50, 0x57, 0x48, 0x8C, 0xF7, 0x64, 0xF8
- .byte 0xD3, 0x20, 0x80, 0x00, 0x20, 0x58, 0x31, 0x1C, 0xA6, 0xF7, 0x4A, 0xFE, 0x8B, 0xE0, 0x53, 0x48
- .byte 0x20, 0x58, 0x9A, 0xF7, 0xDD, 0xFF, 0xD3, 0x20, 0x80, 0x00, 0x20, 0x58, 0x31, 0x1C, 0xA6, 0xF7
- .byte 0x3F, 0xFE, 0x60, 0x69, 0x00, 0x28, 0x15, 0xD1, 0x4D, 0x48, 0x8C, 0xF7, 0x4D, 0xF8, 0x4D, 0x48
- .byte 0x21, 0x58, 0x49, 0x1C, 0x21, 0x50, 0x00, 0x21, 0x10, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90
- .byte 0x12, 0x20, 0x02, 0x90, 0x02, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0x94, 0xF7, 0xC1, 0xFE, 0x04, 0xB0
- .byte 0x03, 0x20, 0x70, 0xBD, 0x44, 0x48, 0x05, 0x21, 0x21, 0x50, 0x64, 0xE0
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x1
+ add r0, r4, r0
+ ldr r2, _0207954C ; =0x0000FFFF
+ add r0, #0xd8
+ strh r2, [r0, #0x0]
+ ldrh r0, [r4, r1]
+ sub r0, r0, #0x1
+ strh r0, [r4, r1]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ cmp r0, #0x0
+ bne _0207939E
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_020191D0
+ b _020793BC
+_0207939E:
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r1, r4, #0x0
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+_020793BC:
+ ldr r0, _02079550 ; =0x000004C4
+ mov r3, #0x5f
+ add r1, r4, r0
+ lsl r3, r3, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r4, r3]
+ add r2, r3, #0x0
+ str r1, [sp, #0x4]
+ sub r2, #0x24
+ sub r0, #0xcc
+ add r1, r4, #0x0
+ sub r3, #0x22
+ ldrh r2, [r4, r2]
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r4, r3
+ bl FUN_0207907C
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ mov r0, #0xd9
+ lsl r0, r0, #0x2
+ ldrh r1, [r4, r1]
+ ldr r2, [r4, #0xc]
+ add r0, r4, r0
+ bl FUN_02079710
+ ldr r0, _02079554 ; =0x000004A4
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ ldr r0, _02079558 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r6, #0x0
+ bl FUN_020200A0
+ b _02079526
+_0207940E:
+ ldr r0, _0207955C ; =0x000005C4
+ ldr r0, [r4, r0]
+ bl FUN_020143D0
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r6, #0x0
+ bl FUN_020200A0
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bne _02079454
+ ldr r0, _02079560 ; =0x000005E2
+ bl FUN_020054C8
+ ldr r0, _02079564 ; =0x000004A8
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ mov r1, #0x0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E1D0
+ add sp, #0x10
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_02079454:
+ ldr r0, _02079568 ; =0x0000045C
+ mov r1, #0x5
+ str r1, [r4, r0]
+ b _02079526
_0207945C:
mov r0, #0x46
lsl r0, r0, #0x4
@@ -225329,12 +254340,14 @@ _0207953C: .word 0x0000D001
_02079540: .word 0x000E0F01
_02079544: .word 0x000005EB
_02079548: .word 0x0000069E
-_0207954C:
- .byte 0xFF, 0xFF, 0x00, 0x00
+_0207954C: .word 0x0000FFFF
_02079550: .word 0x000004C4
-_02079554:
- .byte 0xA4, 0x04, 0x00, 0x00, 0xDC, 0x05, 0x00, 0x00, 0xC4, 0x05, 0x00, 0x00
- .byte 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00, 0x5C, 0x04, 0x00, 0x00
+_02079554: .word 0x000004A4
+_02079558: .word 0x000005DC
+_0207955C: .word 0x000005C4
+_02079560: .word 0x000005E2
+_02079564: .word 0x000004A8
+_02079568: .word 0x0000045C
_0207956C: .word 0x04000050
thumb_func_start FUN_02079570
@@ -226446,26 +255459,28 @@ FUN_02079DB4: ; 0x02079DB4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r4, #0
- lsl r4, r6, #0
- lsl r4, r7, #0
- lsl r4, r0, #0x1
- lsl r4, r1, #0x1
- lsl r4, r2, #0x1
- lsl r4, r3, #0x1
- lsl r4, r4, #0x1
- lsl r4, r5, #0x1
- lsl r4, r6, #0x1
- lsl r4, r7, #0x1
- lsl r4, r0, #0x2
- lsl r4, r1, #0x2
- lsl r4, r2, #0x2
- lsl r4, r3, #0x2
- lsl r4, r4, #0x2
- lsl r4, r5, #0x2
- lsl r4, r6, #0x2
- lsl r4, r7, #0x2
- lsl r4, r0, #0x3
+_02079DD0: ; jump table (using 16-bit offset)
+ .short _02079DF8 - _02079DD0 - 2; case 0
+ .short _02079E06 - _02079DD0 - 2; case 1
+ .short _02079E0E - _02079DD0 - 2; case 2
+ .short _02079E16 - _02079DD0 - 2; case 3
+ .short _02079E1E - _02079DD0 - 2; case 4
+ .short _02079E26 - _02079DD0 - 2; case 5
+ .short _02079E2E - _02079DD0 - 2; case 6
+ .short _02079E36 - _02079DD0 - 2; case 7
+ .short _02079E3E - _02079DD0 - 2; case 8
+ .short _02079E46 - _02079DD0 - 2; case 9
+ .short _02079E4E - _02079DD0 - 2; case 10
+ .short _02079E56 - _02079DD0 - 2; case 11
+ .short _02079E5E - _02079DD0 - 2; case 12
+ .short _02079E66 - _02079DD0 - 2; case 13
+ .short _02079E6E - _02079DD0 - 2; case 14
+ .short _02079E76 - _02079DD0 - 2; case 15
+ .short _02079E7E - _02079DD0 - 2; case 16
+ .short _02079E86 - _02079DD0 - 2; case 17
+ .short _02079E8E - _02079DD0 - 2; case 18
+ .short _02079E96 - _02079DD0 - 2; case 19
+_02079DF8:
mov r0, #0x0
mov r1, #0x13
bl FUN_02079A70
@@ -226473,17 +255488,83 @@ FUN_02079DB4: ; 0x02079DB4
str r0, [r4, #0x0]
b _02079EA2
_02079E06:
- .byte 0x00, 0xF0, 0x67, 0xFA, 0x20, 0x60, 0x49, 0xE0, 0x00, 0xF0
- .byte 0x7F, 0xFA, 0x20, 0x60, 0x45, 0xE0, 0x00, 0xF0, 0x17, 0xFB, 0x20, 0x60, 0x41, 0xE0, 0x00, 0xF0
- .byte 0x1D, 0xFB, 0x20, 0x60, 0x3D, 0xE0, 0x00, 0xF0, 0x23, 0xFB, 0x20, 0x60, 0x39, 0xE0, 0x00, 0xF0
- .byte 0x29, 0xFB, 0x20, 0x60, 0x35, 0xE0, 0x00, 0xF0, 0x2F, 0xFB, 0x20, 0x60, 0x31, 0xE0, 0x00, 0xF0
- .byte 0x9D, 0xFB, 0x20, 0x60, 0x2D, 0xE0, 0x00, 0xF0, 0x05, 0xFC, 0x20, 0x60, 0x29, 0xE0, 0x00, 0xF0
- .byte 0x87, 0xFC, 0x20, 0x60, 0x25, 0xE0, 0x00, 0xF0, 0x91, 0xFC, 0x20, 0x60, 0x21, 0xE0, 0x00, 0xF0
- .byte 0x97, 0xFC, 0x20, 0x60, 0x1D, 0xE0, 0x00, 0xF0, 0x9D, 0xFC, 0x20, 0x60, 0x19, 0xE0, 0x00, 0xF0
- .byte 0xD3, 0xFC, 0x20, 0x60, 0x15, 0xE0, 0x00, 0xF0, 0x05, 0xFD, 0x20, 0x60, 0x11, 0xE0, 0x00, 0xF0
- .byte 0xCF, 0xFD, 0x20, 0x60, 0x0D, 0xE0, 0x00, 0xF0, 0xF3, 0xFD, 0x20, 0x60, 0x09, 0xE0, 0x00, 0xF0
- .byte 0xFB, 0xFD, 0x20, 0x60, 0x05, 0xE0, 0x00, 0xF0, 0xFF, 0xFD, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20
- .byte 0x38, 0xBD
+ bl FUN_0207A2D8
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E0E:
+ bl FUN_0207A310
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E16:
+ bl FUN_0207A448
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E1E:
+ bl FUN_0207A45C
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E26:
+ bl FUN_0207A470
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E2E:
+ bl FUN_0207A484
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E36:
+ bl FUN_0207A498
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E3E:
+ bl FUN_0207A57C
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E46:
+ bl FUN_0207A654
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E4E:
+ bl FUN_0207A760
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E56:
+ bl FUN_0207A77C
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E5E:
+ bl FUN_0207A790
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E66:
+ bl FUN_0207A7A4
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E6E:
+ bl FUN_0207A818
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E76:
+ bl FUN_0207A884
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E7E:
+ bl FUN_0207AA20
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E86:
+ bl FUN_0207AA70
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E8E:
+ bl FUN_0207AA88
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E96:
+ bl FUN_0207AA98
+ cmp r0, #0x1
+ bne _02079EA2
+ mov r0, #0x1
+ pop {r3-r5, pc}
_02079EA2:
add r0, r5, #0x0
bl FUN_0207C3F4
@@ -228552,11 +257633,13 @@ FUN_0207AF58: ; 0x0207AF58
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r1, #0
- lsl r0, r4, #0
- lsl r0, r5, #0
- lsl r0, r5, #0
+_0207AF74: ; jump table (using 16-bit offset)
+ .short _0207AF7E - _0207AF74 - 2; case 0
+ .short _0207AF7E - _0207AF74 - 2; case 1
+ .short _0207AF96 - _0207AF74 - 2; case 2
+ .short _0207AF9E - _0207AF74 - 2; case 3
+ .short _0207AF9E - _0207AF74 - 2; case 4
+_0207AF7E:
add r1, #0x54
ldr r0, [r4, r1]
lsl r0, r0, #0x3
@@ -228571,8 +257654,14 @@ _0207AF90:
strb r1, [r4, r0]
b _0207AFA4
_0207AF96:
- .byte 0x19, 0x48, 0x03, 0x21, 0x21, 0x54, 0x02, 0xE0, 0x17, 0x48
- .byte 0x04, 0x21, 0x21, 0x54
+ ldr r0, _0207AFFC ; =0x0000068C
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ b _0207AFA4
+_0207AF9E:
+ ldr r0, _0207AFFC ; =0x0000068C
+ mov r1, #0x4
+ strb r1, [r4, r0]
_0207AFA4:
add r0, r4, #0x0
mov r1, #0x0
@@ -228988,15 +258077,21 @@ FUN_0207B2B0: ; 0x0207B2B0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r2, #0
- lsl r4, r1, #0
- lsl r0, r1, #0
- lsl r0, r1, #0
+_0207B2D6: ; jump table (using 16-bit offset)
+ .short _0207B2E0 - _0207B2D6 - 2; case 0
+ .short _0207B2E8 - _0207B2D6 - 2; case 1
+ .short _0207B2E4 - _0207B2D6 - 2; case 2
+ .short _0207B2E0 - _0207B2D6 - 2; case 3
+ .short _0207B2E0 - _0207B2D6 - 2; case 4
+_0207B2E0:
ldr r7, _0207B35C ; =0x0000A0C0
b _0207B2EC
_0207B2E4:
- .byte 0x1E, 0x4F, 0x01, 0xE0, 0xA1, 0x27, 0x3F, 0x02
+ ldr r7, _0207B360 ; =0x0000A0E0
+ b _0207B2EC
+_0207B2E8:
+ mov r7, #0xa1
+ lsl r7, r7, #0x8
_0207B2EC:
mov r1, #0x9d
lsl r1, r1, #0x2
@@ -229057,8 +258152,7 @@ _0207B344:
pop {r4-r7, pc}
nop
_0207B35C: .word 0x0000A0C0
-_0207B360:
- .byte 0xE0, 0xA0, 0x00, 0x00
+_0207B360: .word 0x0000A0E0
thumb_func_start FUN_0207B364
FUN_0207B364: ; 0x0207B364
@@ -232197,11 +261291,13 @@ _0207CC9E:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r1, #0
- lsl r4, r5, #0
- lsl r4, r3, #0x2
- lsl r4, r7, #0x2
- lsl r6, r2, #0x4
+_0207CCB2: ; jump table (using 16-bit offset)
+ .short _0207CCBC - _0207CCB2 - 2; case 0
+ .short _0207CCE0 - _0207CCB2 - 2; case 1
+ .short _0207CD50 - _0207CCB2 - 2; case 2
+ .short _0207CD70 - _0207CCB2 - 2; case 3
+ .short _0207CDCA - _0207CCB2 - 2; case 4
+_0207CCBC:
add r1, r0, #0x7
ldrb r1, [r4, r1]
add r2, r1, #0x1
@@ -232223,23 +261319,136 @@ _0207CCCE:
strb r2, [r4, r0]
b _0207CDE8
_0207CCE0:
- .byte 0xC1, 0x1D, 0x61, 0x5C, 0x00, 0x29, 0x2A, 0xD1, 0x80, 0x1D, 0x20, 0x5C, 0x1D, 0x30, 0x80, 0x00
- .byte 0x21, 0x18, 0x52, 0x48, 0x08, 0x58, 0x01, 0x21, 0xA3, 0xF7, 0xD2, 0xF9, 0x50, 0x48, 0x20, 0x5C
- .byte 0x1D, 0x30, 0x80, 0x00, 0x21, 0x18, 0x4D, 0x48, 0x08, 0x58, 0x00, 0x21, 0xA3, 0xF7, 0x7C, 0xFA
- .byte 0x4B, 0x48, 0x20, 0x5C, 0x1D, 0x30, 0x80, 0x00, 0x21, 0x18, 0x48, 0x48, 0x08, 0x58, 0x00, 0x21
- .byte 0xA3, 0xF7, 0x06, 0xFA, 0x46, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x41, 0x1E, 0x22, 0x5C
- .byte 0x61, 0x5C, 0x8A, 0x42, 0x03, 0xD1, 0x02, 0x21, 0x80, 0x1E, 0x21, 0x54, 0x54, 0xE0, 0x41, 0x48
- .byte 0x0A, 0x21, 0x20, 0x5C, 0x40, 0x1C, 0x6E, 0xF0, 0x9C, 0xEF, 0x3E, 0x48, 0x21, 0x54, 0x4B, 0xE0
- .byte 0x1C, 0x31, 0x88, 0x00, 0x21, 0x18, 0x39, 0x48, 0x08, 0x58, 0xA3, 0xF7, 0xE5, 0xF9, 0x00, 0x28
- .byte 0x42, 0xD1, 0x38, 0x48, 0x00, 0x21, 0x21, 0x54, 0x03, 0x21, 0xC0, 0x1E, 0x21, 0x54, 0x3B, 0xE0
- .byte 0xC1, 0x1D, 0x61, 0x5C, 0x4A, 0x1C, 0xC1, 0x1D, 0x62, 0x54, 0x61, 0x5C, 0x20, 0x29, 0x33, 0xD1
- .byte 0x40, 0x1D, 0x20, 0x5C, 0x1D, 0x26, 0x1D, 0x30, 0x1D, 0x28, 0x17, 0xD9, 0x25, 0x1C, 0x2E, 0x4F
- .byte 0x74, 0x35, 0x2A, 0x48, 0x01, 0x21, 0x28, 0x58, 0xA3, 0xF7, 0x82, 0xF9, 0x27, 0x48, 0x00, 0x21
- .byte 0x28, 0x58, 0xA3, 0xF7, 0x31, 0xFA, 0x25, 0x48, 0x00, 0x21, 0x28, 0x58, 0xA3, 0xF7, 0xC0, 0xF9
- .byte 0xE0, 0x5D, 0x76, 0x1C, 0x2D, 0x1D, 0x1D, 0x30, 0x86, 0x42, 0xEA, 0xD3, 0x21, 0x48, 0x00, 0x21
- .byte 0x21, 0x54, 0x04, 0x21, 0xC0, 0x1E, 0x21, 0x54, 0x0E, 0xE0, 0xC1, 0x1D, 0x61, 0x5C, 0x4A, 0x1C
- .byte 0xC1, 0x1D, 0x62, 0x54, 0x61, 0x5C, 0x20, 0x29, 0x06, 0xD1, 0x00, 0x22, 0x01, 0x1D, 0x62, 0x54
- .byte 0xC1, 0x1D, 0x62, 0x54, 0x80, 0x1D, 0x22, 0x54
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ bne _0207CD3E
+ add r0, r0, #0x6
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ ldr r0, _0207CE40 ; =0x00000692
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_02020208
+ ldr r0, _0207CE40 ; =0x00000692
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_02020130
+ ldr r0, _0207CE40 ; =0x00000692
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ sub r1, r0, #0x1
+ ldrb r2, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r2, r1
+ bne _0207CD3E
+ mov r1, #0x2
+ sub r0, r0, #0x2
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CD3E:
+ ldr r0, _0207CE44 ; =0x00000693
+ mov r1, #0xa
+ ldrb r0, [r4, r0]
+ add r0, r0, #0x1
+ blx FUN_020EBC80
+ ldr r0, _0207CE44 ; =0x00000693
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CD50:
+ add r1, #0x1c
+ lsl r0, r1, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ bl FUN_02020128
+ cmp r0, #0x0
+ bne _0207CDE8
+ ldr r0, _0207CE44 ; =0x00000693
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r1, #0x3
+ sub r0, r0, #0x3
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CD70:
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ add r2, r1, #0x1
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ ldrb r1, [r4, r1]
+ cmp r1, #0x20
+ bne _0207CDE8
+ add r0, r0, #0x5
+ ldrb r0, [r4, r0]
+ mov r6, #0x1d
+ add r0, #0x1d
+ cmp r0, #0x1d
+ bls _0207CDBC
+ add r5, r4, #0x0
+ ldr r7, _0207CE48 ; =0x00000691
+ add r5, #0x74
+_0207CD92:
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02020208
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldrb r0, [r4, r7]
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ add r0, #0x1d
+ cmp r6, r0
+ blo _0207CD92
+_0207CDBC:
+ ldr r0, _0207CE44 ; =0x00000693
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r1, #0x4
+ sub r0, r0, #0x3
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CDCA:
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ add r2, r1, #0x1
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ ldrb r1, [r4, r1]
+ cmp r1, #0x20
+ bne _0207CDE8
+ mov r2, #0x0
+ add r1, r0, #0x4
+ strb r2, [r4, r1]
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ add r0, r0, #0x6
+ strb r2, [r4, r0]
_0207CDE8:
ldr r0, _0207CE48 ; =0x00000691
mov r6, #0x1d
@@ -232282,8 +261491,8 @@ _0207CE34:
nop
_0207CE38: .word 0x0000068C
_0207CE3C: .word 0x00000408
-_0207CE40:
- .byte 0x92, 0x06, 0x00, 0x00, 0x93, 0x06, 0x00, 0x00
+_0207CE40: .word 0x00000692
+_0207CE44: .word 0x00000693
_0207CE48: .word 0x00000691
thumb_func_start FUN_0207CE4C
@@ -233250,14 +262459,16 @@ FUN_0207D604: ; 0x0207D604
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r2, r3, #0
- lsl r6, r4, #0
- lsl r2, r6, #0
- lsl r6, r2, #0x1
- lsl r6, r7, #0
- lsl r2, r1, #0x1
- lsl r6, r2, #0x1
+_0207D61C: ; jump table (using 16-bit offset)
+ .short _0207D62C - _0207D61C - 2; case 0
+ .short _0207D638 - _0207D61C - 2; case 1
+ .short _0207D644 - _0207D61C - 2; case 2
+ .short _0207D650 - _0207D61C - 2; case 3
+ .short _0207D674 - _0207D61C - 2; case 4
+ .short _0207D65C - _0207D61C - 2; case 5
+ .short _0207D668 - _0207D61C - 2; case 6
+ .short _0207D674 - _0207D61C - 2; case 7
+_0207D62C:
mov r0, #0x92
mov r1, #0x6
lsl r0, r0, #0x2
@@ -233265,12 +262476,57 @@ FUN_0207D604: ; 0x0207D604
str r1, [r4, r0]
b _0207D692
_0207D638:
- .byte 0x92, 0x20, 0x01, 0x21, 0x80, 0x00, 0x28, 0x4D
- .byte 0x21, 0x50, 0x26, 0xE0, 0x92, 0x20, 0x08, 0x21, 0x80, 0x00, 0x26, 0x4D, 0x21, 0x50, 0x20, 0xE0
- .byte 0x92, 0x20, 0x08, 0x21, 0x80, 0x00, 0x24, 0x4D, 0x21, 0x50, 0x1A, 0xE0, 0x92, 0x20, 0x06, 0x21
- .byte 0x80, 0x00, 0x22, 0x4D, 0x21, 0x50, 0x14, 0xE0, 0x92, 0x20, 0x04, 0x21, 0x80, 0x00, 0x20, 0x4D
- .byte 0x21, 0x50, 0x0E, 0xE0, 0x93, 0x20, 0x80, 0x00, 0x20, 0x58, 0x80, 0x7C, 0x03, 0x28, 0x01, 0xD0
- .byte 0x04, 0x28, 0x27, 0xD1, 0x92, 0x20, 0x03, 0x21, 0x80, 0x00, 0x1A, 0x4D, 0x21, 0x50, 0x00, 0xE0
+ mov r0, #0x92
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6E0 ; =0x020FB38C
+ str r1, [r4, r0]
+ b _0207D692
+_0207D644:
+ mov r0, #0x92
+ mov r1, #0x8
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6E4 ; =0x020FB42C
+ str r1, [r4, r0]
+ b _0207D692
+_0207D650:
+ mov r0, #0x92
+ mov r1, #0x8
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6E8 ; =0x020FB46C
+ str r1, [r4, r0]
+ b _0207D692
+_0207D65C:
+ mov r0, #0x92
+ mov r1, #0x6
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6EC ; =0x020FB3CC
+ str r1, [r4, r0]
+ b _0207D692
+_0207D668:
+ mov r0, #0x92
+ mov r1, #0x4
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6F0 ; =0x020FB3AC
+ str r1, [r4, r0]
+ b _0207D692
+_0207D674:
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x3
+ beq _0207D684
+ cmp r0, #0x4
+ bne _0207D6D4
+_0207D684:
+ mov r0, #0x92
+ mov r1, #0x3
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6F4 ; =0x020FB394
+ str r1, [r4, r0]
+ b _0207D692
+_0207D690:
.byte 0xF8, 0xBD
_0207D692:
mov r1, #0x92
@@ -233310,9 +262566,12 @@ _0207D6D4:
nop
_0207D6D8: .word 0x0000068C
_0207D6DC: .word 0x020FB3FC
-_0207D6E0:
- .byte 0x8C, 0xB3, 0x0F, 0x02, 0x2C, 0xB4, 0x0F, 0x02, 0x6C, 0xB4, 0x0F, 0x02, 0xCC, 0xB3, 0x0F, 0x02
- .byte 0xAC, 0xB3, 0x0F, 0x02, 0x94, 0xB3, 0x0F, 0x02
+_0207D6E0: .word 0x020FB38C
+_0207D6E4: .word 0x020FB42C
+_0207D6E8: .word 0x020FB46C
+_0207D6EC: .word 0x020FB3CC
+_0207D6F0: .word 0x020FB3AC
+_0207D6F4: .word 0x020FB394
thumb_func_start FUN_0207D6F8
FUN_0207D6F8: ; 0x0207D6F8
@@ -233328,14 +262587,16 @@ FUN_0207D6F8: ; 0x0207D6F8
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r6, r1, #0
- lsl r0, r4, #0
- lsl r0, r4, #0
- lsl r6, r1, #0
+_0207D710: ; jump table (using 16-bit offset)
+ .short _0207D732 - _0207D710 - 2; case 0
+ .short _0207D732 - _0207D710 - 2; case 1
+ .short _0207D732 - _0207D710 - 2; case 2
+ .short _0207D732 - _0207D710 - 2; case 3
+ .short _0207D720 - _0207D710 - 2; case 4
+ .short _0207D732 - _0207D710 - 2; case 5
+ .short _0207D732 - _0207D710 - 2; case 6
+ .short _0207D720 - _0207D710 - 2; case 7
+_0207D720:
mov r0, #0x93
lsl r0, r0, #0x2
ldr r0, [r1, r0]
@@ -234147,24 +263408,53 @@ FUN_0207DD88: ; 0x0207DD88
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r0, r3, #0
- lsl r2, r4, #0
- lsl r6, r6, #0
- lsl r4, r5, #0
- lsl r0, r0, #0x1
- lsl r2, r1, #0x1
- lsl r4, r2, #0x1
+_0207DDD8: ; jump table (using 16-bit offset)
+ .short _0207DDE8 - _0207DDD8 - 2; case 0
+ .short _0207DDF2 - _0207DDD8 - 2; case 1
+ .short _0207DDFC - _0207DDD8 - 2; case 2
+ .short _0207DE10 - _0207DDD8 - 2; case 3
+ .short _0207DE06 - _0207DDD8 - 2; case 4
+ .short _0207DE1A - _0207DDD8 - 2; case 5
+ .short _0207DE24 - _0207DDD8 - 2; case 6
+ .short _0207DE2E - _0207DDD8 - 2; case 7
+_0207DDE8:
add r0, r4, #0x0
bl FUN_0207DE3C
add sp, #0x10
pop {r4, pc}
_0207DDF2:
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xCC, 0xF9, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0
- .byte 0xFF, 0xF9, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x4A, 0xFB, 0x04, 0xB0, 0x10, 0xBD
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xBF, 0xFB, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x18, 0xFC
- .byte 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x71, 0xFC, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C
- .byte 0x00, 0xF0, 0xAA, 0xFC
+ add r0, r4, #0x0
+ bl FUN_0207E190
+ add sp, #0x10
+ pop {r4, pc}
+_0207DDFC:
+ add r0, r4, #0x0
+ bl FUN_0207E200
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE06:
+ add r0, r4, #0x0
+ bl FUN_0207E4A0
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE10:
+ add r0, r4, #0x0
+ bl FUN_0207E594
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE1A:
+ add r0, r4, #0x0
+ bl FUN_0207E650
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE24:
+ add r0, r4, #0x0
+ bl FUN_0207E70C
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE2E:
+ add r0, r4, #0x0
+ bl FUN_0207E788
_0207DE34:
add sp, #0x10
pop {r4, pc}
@@ -236111,18 +265401,31 @@ FUN_0207EECC: ; 0x0207EECC
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r1, #0
- lsl r2, r2, #0
- lsl r6, r2, #0
- lsl r2, r3, #0
- lsl r6, r3, #0
+_0207EEE6: ; jump table (using 16-bit offset)
+ .short _0207EEF6 - _0207EEE6 - 2; case 0
+ .short _0207EEFA - _0207EEE6 - 2; case 1
+ .short _0207EEFE - _0207EEE6 - 2; case 2
+ .short _0207EF02 - _0207EEE6 - 2; case 3
+ .short _0207EF06 - _0207EEE6 - 2; case 4
_0207EEF0:
cmp r1, #0xfe
beq _0207EF0A
b _0207EF0E
_0207EEF6:
- .byte 0xAC, 0x25, 0x0A, 0xE0, 0xAE, 0x25, 0x08, 0xE0, 0xAF, 0x25
- .byte 0x06, 0xE0, 0xB0, 0x25, 0x04, 0xE0, 0xAD, 0x25, 0x02, 0xE0
+ mov r5, #0xac
+ b _0207EF10
+_0207EEFA:
+ mov r5, #0xae
+ b _0207EF10
+_0207EEFE:
+ mov r5, #0xaf
+ b _0207EF10
+_0207EF02:
+ mov r5, #0xb0
+ b _0207EF10
+_0207EF06:
+ mov r5, #0xad
+ b _0207EF10
_0207EF0A:
mov r5, #0xb1
b _0207EF10
@@ -236288,9 +265591,6 @@ FUN_0207F068: ; 0x0207F068
lsl r0, r0, #0x2
ldr r0, [r4, r0]
bl FUN_0201EB70
-
- non_word_aligned_thumb_func_start FUN_0207F076
-FUN_0207F076: ; 0x0207F076
mov r0, #0x2d
lsl r0, r0, #0x4
ldr r0, [r4, r0]
@@ -237364,10 +266664,12 @@ FUN_0207F95C: ; 0x0207F95C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r2, r6, #0
- lsl r2, r6, #0
+_0207F978: ; jump table (using 16-bit offset)
+ .short _0207F980 - _0207F978 - 2; case 0
+ .short _0207F980 - _0207F978 - 2; case 1
+ .short _0207F9AC - _0207F978 - 2; case 2
+ .short _0207F9AC - _0207F978 - 2; case 3
+_0207F980:
ldr r0, [r0, #0x2c]
ldr r1, _0207F9C4 ; =0x0000068F
cmp r0, #0x0
@@ -237754,27 +267056,51 @@ FUN_0207FC5C: ; 0x0207FC5C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r2, r2, #0
- lsl r4, r3, #0
- lsl r6, r4, #0
- lsl r0, r6, #0
+_0207FC6C: ; jump table (using 16-bit offset)
+ .short _0207FC76 - _0207FC6C - 2; case 0
+ .short _0207FC80 - _0207FC6C - 2; case 1
+ .short _0207FC8A - _0207FC6C - 2; case 2
+ .short _0207FC94 - _0207FC6C - 2; case 3
+ .short _0207FC9E - _0207FC6C - 2; case 4
+_0207FC76:
mov r1, #0xc
mul r1, r0
ldr r0, _0207FCAC ; =0x020FB788
ldr r0, [r0, r1]
bx lr
_0207FC80:
- .byte 0x0C, 0x21, 0x41, 0x43, 0x0A, 0x48, 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21, 0x41, 0x43, 0x09, 0x48
- .byte 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21, 0x41, 0x43, 0x07, 0x48, 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21
- .byte 0x41, 0x43, 0x06, 0x48, 0x40, 0x5A, 0x70, 0x47
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCB0 ; =0x020FB78C
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FC8A:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCB4 ; =0x020FB78E
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FC94:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCB8 ; =0x020FB790
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FC9E:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCBC ; =0x020FB792
+ ldrh r0, [r0, r1]
+ bx lr
_0207FCA8:
mov r0, #0x0
bx lr
.balign 4
_0207FCAC: .word 0x020FB788
-_0207FCB0:
- .byte 0x8C, 0xB7, 0x0F, 0x02, 0x8E, 0xB7, 0x0F, 0x02, 0x90, 0xB7, 0x0F, 0x02, 0x92, 0xB7, 0x0F, 0x02
+_0207FCB0: .word 0x020FB78C
+_0207FCB4: .word 0x020FB78E
+_0207FCB8: .word 0x020FB790
+_0207FCBC: .word 0x020FB792
thumb_func_start FUN_0207FCC0
FUN_0207FCC0: ; 0x0207FCC0
@@ -237865,27 +267191,29 @@ _0207FD5A:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r5, #0
- lsl r4, r2, #0x1
- lsl r0, r0, #0x2
- lsl r4, r5, #0x2
- lsl r0, r3, #0x3
- lsl r4, r0, #0x4
- lsl r0, r6, #0x4
- lsl r4, r3, #0x5
- lsl r0, r1, #0x6
- lsl r4, r6, #0x6
- lsl r6, r2, #0x7
- lsl r0, r7, #0x7
- lsl r2, r3, #0x8
- lsl r4, r7, #0x8
- lsl r6, r3, #0x9
- lsl r0, r0, #0xa
- lsl r4, r5, #0xa
- lsl r6, r0, #0xb
- lsl r6, r3, #0xb
- lsl r0, r7, #0xb
- lsl r0, r2, #0xc
+_0207FD66: ; jump table (using 16-bit offset)
+ .short _0207FD90 - _0207FD66 - 2; case 0
+ .short _0207FDBC - _0207FD66 - 2; case 1
+ .short _0207FDE8 - _0207FD66 - 2; case 2
+ .short _0207FE14 - _0207FD66 - 2; case 3
+ .short _0207FE40 - _0207FD66 - 2; case 4
+ .short _0207FE6C - _0207FD66 - 2; case 5
+ .short _0207FE98 - _0207FD66 - 2; case 6
+ .short _0207FEC4 - _0207FD66 - 2; case 7
+ .short _0207FEF0 - _0207FD66 - 2; case 8
+ .short _0207FF1C - _0207FD66 - 2; case 9
+ .short _0207FF3E - _0207FD66 - 2; case 10
+ .short _0207FF60 - _0207FD66 - 2; case 11
+ .short _0207FF82 - _0207FD66 - 2; case 12
+ .short _0207FFA4 - _0207FD66 - 2; case 13
+ .short _0207FFC6 - _0207FD66 - 2; case 14
+ .short _0207FFE8 - _0207FD66 - 2; case 15
+ .short _02080014 - _0207FD66 - 2; case 16
+ .short _0208002E - _0207FD66 - 2; case 17
+ .short _02080046 - _0207FD66 - 2; case 18
+ .short _02080060 - _0207FD66 - 2; case 19
+ .short _02080078 - _0207FD66 - 2; case 20
+_0207FD90:
mov r0, #0x1
str r0, [r4, #0x14]
add r0, r4, #0x0
@@ -237905,52 +267233,323 @@ _0207FD5A:
bl FUN_02080678
b _02080090
_0207FDBC:
- .byte 0x01, 0x20, 0x60, 0x61
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x8D, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x32, 0x21, 0x00, 0xF0
- .byte 0x9B, 0xF9, 0x06, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x58, 0xFB, 0x07, 0x20, 0xE0, 0x62
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x49, 0xFC, 0x53, 0xE1, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x77, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x33, 0x21, 0x00, 0xF0, 0x85, 0xF9, 0x06, 0x20
- .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x42, 0xFB, 0x07, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x33, 0xFC, 0x3D, 0xE1, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x61, 0xF9, 0x02, 0x20
- .byte 0xE0, 0x61, 0x20, 0x1C, 0x34, 0x21, 0x00, 0xF0, 0x6F, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C
- .byte 0x00, 0xF0, 0x2C, 0xFB, 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x1D, 0xFC, 0x27, 0xE1
- .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x4B, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C
- .byte 0x35, 0x21, 0x00, 0xF0, 0x59, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x16, 0xFB
- .byte 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x07, 0xFC, 0x11, 0xE1, 0x01, 0x20, 0x60, 0x61
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x35, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x36, 0x21, 0x00, 0xF0
- .byte 0x43, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x00, 0xFB, 0x09, 0x20, 0xE0, 0x62
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xF1, 0xFB, 0xFB, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x1F, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x37, 0x21, 0x00, 0xF0, 0x2D, 0xF9, 0x08, 0x20
- .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xEA, 0xFA, 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0
- .byte 0xDB, 0xFB, 0xE5, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x09, 0xF9, 0x02, 0x20
- .byte 0xE0, 0x61, 0x20, 0x1C, 0x38, 0x21, 0x00, 0xF0, 0x17, 0xF9, 0x07, 0x20, 0x60, 0x62, 0x20, 0x1C
- .byte 0x00, 0xF0, 0xD4, 0xFA, 0x08, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xC5, 0xFB, 0xCF, 0xE0
- .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xF3, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C
- .byte 0x39, 0x21, 0x00, 0xF0, 0x01, 0xF9, 0x07, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xBE, 0xFA
- .byte 0x08, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xAF, 0xFB, 0xB9, 0xE0, 0x01, 0x20, 0x60, 0x61
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3A, 0x21, 0x00, 0xF0
- .byte 0xEB, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xA8, 0xFA, 0xA8, 0xE0, 0x01, 0x20
- .byte 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xCC, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3B, 0x21
- .byte 0x00, 0xF0, 0xDA, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x97, 0xFA, 0x97, 0xE0
- .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xBB, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C
- .byte 0x3C, 0x21, 0x00, 0xF0, 0xC9, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x86, 0xFA
- .byte 0x86, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF8, 0x02, 0x20, 0xE0, 0x61
- .byte 0x20, 0x1C, 0x3D, 0x21, 0x00, 0xF0, 0xB8, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x75, 0xFA, 0x75, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x99, 0xF8, 0x02, 0x20
- .byte 0xE0, 0x61, 0x20, 0x1C, 0x3E, 0x21, 0x00, 0xF0, 0xA7, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C
- .byte 0x00, 0xF0, 0x64, 0xFA, 0x64, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x88, 0xF8
- .byte 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3F, 0x21, 0x00, 0xF0, 0x96, 0xF8, 0x09, 0x20, 0x60, 0x62
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x53, 0xFA, 0x53, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x77, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x40, 0x21, 0x00, 0xF0, 0x15, 0xF9, 0x06, 0x20
- .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x42, 0xFA, 0x07, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x33, 0xFB, 0x3D, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x65, 0x21, 0x00, 0x22, 0x00, 0xF0
- .byte 0xB1, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x44, 0xFB, 0x30, 0xE0, 0x01, 0x22
- .byte 0x20, 0x1C, 0x66, 0x21, 0xE2, 0x61, 0x00, 0xF0, 0xA5, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C
- .byte 0x00, 0xF0, 0x38, 0xFB, 0x24, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x67, 0x21, 0x00, 0x22
- .byte 0x00, 0xF0, 0x98, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x2B, 0xFB, 0x17, 0xE0
- .byte 0x01, 0x22, 0x20, 0x1C, 0x67, 0x21, 0xE2, 0x61, 0x00, 0xF0, 0x8C, 0xF9, 0x06, 0x20, 0x60, 0x63
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x1F, 0xFB, 0x0B, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x68, 0x21
- .byte 0x00, 0x22, 0x00, 0xF0, 0x7F, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x12, 0xFB
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x32
+ bl FUN_02080108
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FDE8:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x33
+ bl FUN_02080108
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE14:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x34
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE40:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x35
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE6C:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x36
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE98:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x37
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FEC4:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x38
+ bl FUN_02080108
+ mov r0, #0x7
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x8
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FEF0:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x39
+ bl FUN_02080108
+ mov r0, #0x7
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x8
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FF1C:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3a
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FF3E:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3b
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FF60:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3c
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FF82:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3d
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FFA4:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3e
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FFC6:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3f
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FFE8:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x40
+ bl FUN_02080228
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_02080014:
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x65
+ mov r2, #0x0
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_0208002E:
+ mov r2, #0x1
+ add r0, r4, #0x0
+ mov r1, #0x66
+ str r2, [r4, #0x1c]
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_02080046:
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x67
+ mov r2, #0x0
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_02080060:
+ mov r2, #0x1
+ add r0, r4, #0x0
+ mov r1, #0x67
+ str r2, [r4, #0x1c]
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_02080078:
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x68
+ mov r2, #0x0
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
_02080090:
add r0, r4, #0x0
pop {r3-r7, pc}
@@ -238216,22 +267815,23 @@ FUN_02080228: ; 0x02080228
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r3, #0
- lsl r2, r3, #0x1
- lsl r2, r3, #0x1
- lsl r2, r3, #0x1
- lsl r2, r6, #0
- lsl r2, r6, #0
- lsl r6, r3, #0
- lsl r6, r0, #0x1
- lsl r6, r0, #0x1
- lsl r6, r3, #0
- lsl r2, r0, #0x2
- lsl r2, r0, #0x2
- lsl r6, r3, #0
- lsl r6, r3, #0
- lsl r6, r3, #0
- lsl r6, r5, #0x1
+_020802D8: ; jump table (using 16-bit offset)
+ .short _020802F8 - _020802D8 - 2; case 0
+ .short _02080334 - _020802D8 - 2; case 1
+ .short _02080334 - _020802D8 - 2; case 2
+ .short _02080334 - _020802D8 - 2; case 3
+ .short _0208030C - _020802D8 - 2; case 4
+ .short _0208030C - _020802D8 - 2; case 5
+ .short _020802F8 - _020802D8 - 2; case 6
+ .short _02080320 - _020802D8 - 2; case 7
+ .short _02080320 - _020802D8 - 2; case 8
+ .short _020802F8 - _020802D8 - 2; case 9
+ .short _0208035C - _020802D8 - 2; case 10
+ .short _0208035C - _020802D8 - 2; case 11
+ .short _020802F8 - _020802D8 - 2; case 12
+ .short _020802F8 - _020802D8 - 2; case 13
+ .short _020802F8 - _020802D8 - 2; case 14
+ .short _02080348 - _020802D8 - 2; case 15
_020802F8:
mov r0, #0x1
mov r1, #0x7
@@ -238242,13 +267842,49 @@ _020802F8:
bl FUN_0200B59C
b _0208036E
_0208030C:
- .byte 0x01, 0x20, 0x03, 0x21
- .byte 0x95, 0xF7, 0xF2, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x3F, 0xF9, 0x26, 0xE0
- .byte 0x01, 0x20, 0x04, 0x21, 0x95, 0xF7, 0xE8, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7
- .byte 0x35, 0xF9, 0x1C, 0xE0, 0x01, 0x20, 0x05, 0x21, 0x95, 0xF7, 0xDE, 0xFC, 0x02, 0x1C, 0xA0, 0x68
- .byte 0x04, 0x21, 0x8B, 0xF7, 0x2B, 0xF9, 0x12, 0xE0, 0x01, 0x20, 0x08, 0x21, 0x95, 0xF7, 0xD4, 0xFC
- .byte 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x21, 0xF9, 0x08, 0xE0, 0x01, 0x20, 0x07, 0x21
- .byte 0x95, 0xF7, 0xCA, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x17, 0xF9
+ mov r0, #0x1
+ mov r1, #0x3
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_02080320:
+ mov r0, #0x1
+ mov r1, #0x4
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_02080334:
+ mov r0, #0x1
+ mov r1, #0x5
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_02080348:
+ mov r0, #0x1
+ mov r1, #0x8
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_0208035C:
+ mov r0, #0x1
+ mov r1, #0x7
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
_0208036E:
ldr r0, [r4, #0x8]
ldr r1, [r4, #0x20]
@@ -238429,12 +268065,13 @@ FUN_0208048C: ; 0x0208048C
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r1, #0
- lsl r2, r0, #0x1
- lsl r0, r7, #0x1
- lsl r6, r5, #0x2
- lsl r4, r4, #0x3
- lsl r2, r3, #0x4
+_02080504: ; jump table (using 16-bit offset)
+ .short _02080510 - _02080504 - 2; case 0
+ .short _02080548 - _02080504 - 2; case 1
+ .short _0208057E - _02080504 - 2; case 2
+ .short _020805B4 - _02080504 - 2; case 3
+ .short _020805EA - _02080504 - 2; case 4
+ .short _02080620 - _02080504 - 2; case 5
_02080510:
ldr r0, [sp, #0xc]
ldr r1, [sp, #0x8]
@@ -238470,24 +268107,164 @@ _02080542:
add r0, r6, #0x0
b _02080654
_02080548:
- .byte 0x02, 0x98, 0x01, 0x99, 0x02, 0x1C, 0x01, 0x25
- .byte 0x8A, 0x42, 0x01, 0xDA, 0x02, 0x25, 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x03, 0x25
- .byte 0x08, 0x1C, 0xB8, 0x42, 0x01, 0xDA, 0x04, 0x25, 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25
- .byte 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x6D, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x6A, 0xE0, 0x01, 0x98
- .byte 0x00, 0x99, 0x02, 0x1C, 0x02, 0x25, 0x8A, 0x42, 0x01, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0xB8, 0x42
- .byte 0x01, 0xDA, 0x04, 0x25, 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99
- .byte 0x88, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99, 0x88, 0x42, 0x52, 0xDA, 0x01, 0x25
- .byte 0x08, 0x1C, 0x4F, 0xE0, 0x00, 0x98, 0x03, 0x25, 0x01, 0x1C, 0xB9, 0x42, 0x01, 0xDA, 0x04, 0x25
- .byte 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x01, 0xDA
- .byte 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99
- .byte 0x88, 0x42, 0x37, 0xDA, 0x02, 0x25, 0x08, 0x1C, 0x34, 0xE0, 0x04, 0x25, 0x38, 0x1C, 0xB7, 0x42
- .byte 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C
- .byte 0x02, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99, 0x88, 0x42, 0x01, 0xDA
- .byte 0x02, 0x25, 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x1C, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0x19, 0xE0
- .byte 0x03, 0x99, 0x05, 0x25, 0x30, 0x1C, 0x8E, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99
- .byte 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x02, 0x25
- .byte 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0xB8, 0x42, 0x01, 0xDA
- .byte 0x04, 0x25, 0x38, 0x1C
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ add r2, r0, #0x0
+ mov r5, #0x1
+ cmp r2, r1
+ bge _02080558
+ mov r5, #0x2
+ add r0, r1, #0x0
+_02080558:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _02080562
+ mov r5, #0x3
+ add r0, r1, #0x0
+_02080562:
+ cmp r0, r7
+ bge _0208056A
+ mov r5, #0x4
+ add r0, r7, #0x0
+_0208056A:
+ cmp r0, r6
+ bge _02080572
+ mov r5, #0x5
+ add r0, r6, #0x0
+_02080572:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x0
+ add r0, r1, #0x0
+ b _02080654
+_0208057E:
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x0]
+ add r2, r0, #0x0
+ mov r5, #0x2
+ cmp r2, r1
+ bge _0208058E
+ mov r5, #0x3
+ add r0, r1, #0x0
+_0208058E:
+ cmp r0, r7
+ bge _02080596
+ mov r5, #0x4
+ add r0, r7, #0x0
+_02080596:
+ cmp r0, r6
+ bge _0208059E
+ mov r5, #0x5
+ add r0, r6, #0x0
+_0208059E:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _020805A8
+ mov r5, #0x0
+ add r0, r1, #0x0
+_020805A8:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x1
+ add r0, r1, #0x0
+ b _02080654
+_020805B4:
+ ldr r0, [sp, #0x0]
+ mov r5, #0x3
+ add r1, r0, #0x0
+ cmp r1, r7
+ bge _020805C2
+ mov r5, #0x4
+ add r0, r7, #0x0
+_020805C2:
+ cmp r0, r6
+ bge _020805CA
+ mov r5, #0x5
+ add r0, r6, #0x0
+_020805CA:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _020805D4
+ mov r5, #0x0
+ add r0, r1, #0x0
+_020805D4:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _020805DE
+ mov r5, #0x1
+ add r0, r1, #0x0
+_020805DE:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x2
+ add r0, r1, #0x0
+ b _02080654
+_020805EA:
+ mov r5, #0x4
+ add r0, r7, #0x0
+ cmp r7, r6
+ bge _020805F6
+ mov r5, #0x5
+ add r0, r6, #0x0
+_020805F6:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _02080600
+ mov r5, #0x0
+ add r0, r1, #0x0
+_02080600:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _0208060A
+ mov r5, #0x1
+ add r0, r1, #0x0
+_0208060A:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _02080614
+ mov r5, #0x2
+ add r0, r1, #0x0
+_02080614:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x3
+ add r0, r1, #0x0
+ b _02080654
+_02080620:
+ ldr r1, [sp, #0xc]
+ mov r5, #0x5
+ add r0, r6, #0x0
+ cmp r6, r1
+ bge _0208062E
+ mov r5, #0x0
+ add r0, r1, #0x0
+_0208062E:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _02080638
+ mov r5, #0x1
+ add r0, r1, #0x0
+_02080638:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _02080642
+ mov r5, #0x2
+ add r0, r1, #0x0
+_02080642:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _0208064C
+ mov r5, #0x3
+ add r0, r1, #0x0
+_0208064C:
+ cmp r0, r7
+ bge _02080654
+ mov r5, #0x4
+ add r0, r7, #0x0
_02080654:
mov r1, #0x5
blx FUN_020EBC80
@@ -238813,13 +268590,15 @@ _020808BC:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r4, r1, #0
- lsl r0, r4, #0x1
- lsl r2, r5, #0x2
- lsl r2, r1, #0x3
- lsl r6, r4, #0x3
- lsl r6, r5, #0x5
- lsl r6, r1, #0x6
+_020808C8: ; jump table (using 16-bit offset)
+ .short _020808D6 - _020808C8 - 2; case 0
+ .short _0208092A - _020808C8 - 2; case 1
+ .short _02080974 - _020808C8 - 2; case 2
+ .short _02080994 - _020808C8 - 2; case 3
+ .short _020809B0 - _020808C8 - 2; case 4
+ .short _02080A38 - _020808C8 - 2; case 5
+ .short _02080A58 - _020808C8 - 2; case 6
+_020808D6:
mov r0, #0x1
mov r1, #0x0
bl FUN_02015CF8
@@ -238858,34 +268637,193 @@ _0208091E:
bl FUN_02080AE4
pop {r3-r7, pc}
_0208092A:
- .byte 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7
- .byte 0xC5, 0xFC, 0x00, 0x28, 0x10, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x35, 0xF9, 0x01, 0x20
- .byte 0x01, 0x1C, 0x95, 0xF7, 0xD9, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xF0, 0xF8
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x59, 0xF9, 0xF8, 0xBD, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x24, 0xF9
- .byte 0x01, 0x20, 0x01, 0x1C, 0x95, 0xF7, 0xC8, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0
- .byte 0xDF, 0xF8, 0xF8, 0xBD, 0x00, 0x21, 0x00, 0xF0, 0x17, 0xF9, 0x00, 0x20, 0x37, 0x21, 0x95, 0xF7
- .byte 0xBB, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xD2, 0xF8, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x3B, 0xF9, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xCA, 0xF8, 0x20, 0x1C, 0x01, 0x21
- .byte 0x00, 0xF0, 0x02, 0xF9, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x9B, 0xF8, 0xF8, 0xBD
- .byte 0x32, 0x1C, 0xE9, 0xF7, 0xFB, 0xFF, 0x01, 0x28, 0x1D, 0xD1, 0x20, 0x1C, 0x4C, 0x21, 0x00, 0x22
- .byte 0xE6, 0xF7, 0x7C, 0xFC, 0x00, 0x28, 0x0C, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xEC, 0xF8
- .byte 0x20, 0x1C, 0x29, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xAB, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x14, 0xF9
- .byte 0x26, 0xE0, 0x20, 0x1C, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xA2, 0xF8, 0x20, 0x1C, 0x01, 0x21
- .byte 0x00, 0xF0, 0xDA, 0xF8, 0x1C, 0xE0, 0x20, 0x1C, 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x5E, 0xFC
- .byte 0x00, 0x28, 0x0C, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xCE, 0xF8, 0x20, 0x1C, 0x29, 0x1C
- .byte 0x01, 0x22, 0x00, 0xF0, 0x8D, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0xF6, 0xF8, 0x08, 0xE0, 0x20, 0x1C
- .byte 0x00, 0x21, 0x00, 0xF0, 0xC1, 0xF8, 0x20, 0x1C, 0x29, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0x80, 0xF8
- .byte 0x20, 0x1C, 0x00, 0xF0, 0xF9, 0xF8, 0xF8, 0xBD, 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x3E, 0xFC
- .byte 0x00, 0x28, 0x4D, 0xD0, 0x01, 0x20, 0x02, 0x21, 0x95, 0xF7, 0x56, 0xF9, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x01, 0x22, 0x00, 0xF0, 0x6D, 0xF8, 0xF8, 0xBD, 0x01, 0x20, 0x00, 0x21, 0x95, 0xF7, 0x4C, 0xF9
- .byte 0x85, 0x42, 0x00, 0xDD, 0x00, 0x25, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0xE9, 0xF7, 0x9E, 0xFF
- .byte 0x00, 0x28, 0x2B, 0xD1, 0x20, 0x1C, 0x98, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x1F, 0xFC, 0x00, 0x90
- .byte 0x20, 0x1C, 0x97, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x6B, 0xFF, 0x20, 0x1C, 0x94, 0x21, 0x00, 0x22
- .byte 0xE6, 0xF7, 0x14, 0xFC, 0x00, 0x90, 0x20, 0x1C, 0x91, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x60, 0xFF
- .byte 0x20, 0x1C, 0x95, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x09, 0xFC, 0x00, 0x90, 0x20, 0x1C, 0x92, 0x21
- .byte 0x00, 0xAA, 0xE6, 0xF7, 0x55, 0xFF, 0x20, 0x1C, 0x96, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0xFE, 0xFB
- .byte 0x00, 0x90, 0x20, 0x1C, 0x93, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x4A, 0xFF, 0x20, 0x1C, 0x29, 0x1C
- .byte 0x01, 0x22, 0x00, 0xF0, 0x2D, 0xF8, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x02, 0xF8
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _02080958
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ pop {r3-r7, pc}
+_02080958:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ pop {r3-r7, pc}
+_02080974:
+ mov r1, #0x0
+ bl FUN_02080BA8
+ mov r0, #0x0
+ mov r1, #0x37
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ pop {r3-r7, pc}
+_02080994:
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02080AE4
+ pop {r3-r7, pc}
+_020809B0:
+ add r2, r6, #0x0
+ bl FUN_0206A9AC
+ cmp r0, #0x1
+ bne _020809F6
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _020809E2
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ b _02080A30
+_020809E2:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02080BA8
+ b _02080A30
+_020809F6:
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _02080A1E
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ b _02080A30
+_02080A1E:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+_02080A30:
+ add r0, r4, #0x0
+ bl FUN_02080C28
+ pop {r3-r7, pc}
+_02080A38:
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _02080AE0
+ mov r0, #0x1
+ mov r1, #0x2
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ pop {r3-r7, pc}
+_02080A58:
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_02015CF8
+ cmp r5, r0
+ ble _02080A66
+ mov r5, #0x0
+_02080A66:
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_0206A9AC
+ cmp r0, #0x0
+ bne _02080ACC
+ add r0, r4, #0x0
+ mov r1, #0x98
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x97
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x94
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x91
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x95
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x92
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x96
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x93
+ add r2, sp, #0x0
+ bl FUN_02067960
+_02080ACC:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02080AE4
_02080AE0:
pop {r3-r7, pc}
.balign 4
@@ -239090,21 +269028,23 @@ _02080C7C:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r3, #0
- lsl r2, r5, #0
- lsl r4, r1, #0x2
- lsl r6, r3, #0x2
- lsl r4, r5, #0x2
- lsl r6, r7, #0x2
- lsl r2, r3, #0x3
- lsl r6, r5, #0x3
- lsl r0, r0, #0x4
- lsl r2, r2, #0x4
- lsl r4, r4, #0x4
- lsl r6, r6, #0x4
- lsl r4, r0, #0x5
- lsl r2, r1, #0x5
- lsl r4, r3, #0x5
+_02080C88: ; jump table (using 16-bit offset)
+ .short _02080CA6 - _02080C88 - 2; case 0
+ .short _02080CB4 - _02080C88 - 2; case 1
+ .short _02080D16 - _02080C88 - 2; case 2
+ .short _02080D28 - _02080C88 - 2; case 3
+ .short _02080D36 - _02080C88 - 2; case 4
+ .short _02080D48 - _02080C88 - 2; case 5
+ .short _02080D64 - _02080C88 - 2; case 6
+ .short _02080D78 - _02080C88 - 2; case 7
+ .short _02080D8A - _02080C88 - 2; case 8
+ .short _02080D9C - _02080C88 - 2; case 9
+ .short _02080DAE - _02080C88 - 2; case 10
+ .short _02080DC0 - _02080C88 - 2; case 11
+ .short _02080DCE - _02080C88 - 2; case 12
+ .short _02080DD4 - _02080C88 - 2; case 13
+ .short _02080DE6 - _02080C88 - 2; case 14
+_02080CA6:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r4, #0x4]
@@ -239112,28 +269052,149 @@ _02080C7C:
str r0, [r4, #0x4]
b _02080DF2
_02080CB4:
- .byte 0xF0, 0x68, 0xEA, 0xF7, 0x31, 0xFF, 0x00, 0x21, 0xEA, 0xF7, 0x78, 0xFE
- .byte 0x07, 0x1C, 0x30, 0x1C, 0xB6, 0xF7, 0x72, 0xFD, 0xA2, 0xF7, 0x14, 0xFE, 0x0B, 0x21, 0x00, 0x90
- .byte 0xA2, 0xF7, 0x66, 0xFE, 0x05, 0x1C, 0x00, 0x21, 0x01, 0xA8, 0x01, 0x70, 0x41, 0x70, 0x02, 0x21
- .byte 0x81, 0x70, 0x00, 0x98, 0x03, 0x97, 0x04, 0x95, 0x05, 0x90, 0xF0, 0x68, 0xA7, 0xF7, 0x9A, 0xF8
- .byte 0x06, 0x90, 0xF0, 0x68, 0xA2, 0xF7, 0x04, 0xFE, 0x07, 0x90, 0x01, 0xA8, 0x00, 0xF0, 0x8A, 0xFA
- .byte 0x20, 0x60, 0x28, 0x1C, 0xA0, 0xF7, 0x8C, 0xFE, 0x20, 0x68, 0x01, 0xF0, 0x5B, 0xF8, 0x60, 0x68
- .byte 0x40, 0x1C, 0x60, 0x60, 0x6D, 0xE0, 0x20, 0x68, 0x01, 0xF0, 0xCE, 0xF8, 0x01, 0x28, 0x68, 0xD1
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x64, 0xE0, 0x01, 0x20, 0xB0, 0xF7, 0x2D, 0xFC, 0x60, 0x68
- .byte 0x40, 0x1C, 0x60, 0x60, 0x5D, 0xE0, 0x01, 0x20, 0xB0, 0xF7, 0x4E, 0xFC, 0x01, 0x28, 0x58, 0xD1
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x54, 0xE0, 0x20, 0x68, 0x00, 0xF0, 0x41, 0xFC, 0x23, 0x68
- .byte 0x29, 0x4A, 0x2A, 0x49, 0x9A, 0x58, 0x28, 0x1C, 0xC5, 0xF7, 0xD2, 0xFB, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x46, 0xE0, 0x20, 0x68, 0x00, 0xF0, 0x7F, 0xFC, 0x20, 0x68, 0x01, 0xF0, 0xB2, 0xF8
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x3C, 0xE0, 0x20, 0x68, 0x01, 0xF0, 0xA1, 0xF8, 0x01, 0x28
- .byte 0x37, 0xD1, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x33, 0xE0, 0x1D, 0x49, 0x22, 0x68, 0x28, 0x1C
- .byte 0xC5, 0xF7, 0xB6, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x2A, 0xE0, 0x19, 0x49, 0x22, 0x68
- .byte 0x28, 0x1C, 0xC5, 0xF7, 0xAD, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x21, 0xE0, 0x16, 0x49
- .byte 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7, 0xA4, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x18, 0xE0
- .byte 0x20, 0x68, 0x00, 0xF0, 0x91, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x11, 0xE0, 0x40, 0x1C
- .byte 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xCA, 0xF7, 0xD5, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60
- .byte 0x07, 0xE0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ mov r1, #0x0
+ bl FUN_0206B9B0
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ mov r1, #0xb
+ str r0, [sp, #0x0]
+ bl FUN_020239A0
+ add r5, r0, #0x0
+ mov r1, #0x0
+ add r0, sp, #0x4
+ strb r1, [r0, #0x0]
+ strb r1, [r0, #0x1]
+ mov r1, #0x2
+ strb r1, [r0, #0x2]
+ ldr r0, [sp, #0x0]
+ str r7, [sp, #0xc]
+ str r5, [sp, #0x10]
+ str r0, [sp, #0x14]
+ ldr r0, [r6, #0xc]
+ bl FUN_02027E24
+ str r0, [sp, #0x18]
+ ldr r0, [r6, #0xc]
+ bl FUN_02023900
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x4
+ bl FUN_02081214
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ ldr r0, [r4, #0x0]
+ bl FUN_02081DC4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D16:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081EB8
+ cmp r0, #0x1
+ bne _02080DF2
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D28:
+ mov r0, #0x1
+ bl FUN_02031588
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D36:
+ mov r0, #0x1
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02080DF2
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D48:
+ ldr r0, [r4, #0x0]
+ bl FUN_020815D0
+ ldr r3, [r4, #0x0]
+ ldr r2, _02080DF8 ; =0x000019B8
+ ldr r1, _02080DFC ; =0x020FBBD8
+ ldr r2, [r3, r2]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D64:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081668
+ ldr r0, [r4, #0x0]
+ bl FUN_02081ED4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D78:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081EC0
+ cmp r0, #0x1
+ bne _02080DF2
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D8A:
+ ldr r1, _02080E00 ; =0x020FBBC8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D9C:
+ ldr r1, _02080E04 ; =0x020FBBF8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DAE:
+ ldr r1, _02080E08 ; =0x020FBBE8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DC0:
+ ldr r0, [r4, #0x0]
+ bl FUN_020814E8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DCE:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DD4:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
_02080DE2:
bl FUN_02020C2C
+_02080DE6:
add r0, r4, #0x0
bl FUN_02016A18
add sp, #0x28
@@ -239143,9 +269204,12 @@ _02080DF2:
mov r0, #0x0
add sp, #0x28
pop {r3-r7, pc}
-_02080DF8:
- .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02
- .byte 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02
+ .balign 4
+_02080DF8: .word 0x000019B8
+_02080DFC: .word 0x020FBBD8
+_02080E00: .word 0x020FBBC8
+_02080E04: .word 0x020FBBF8
+_02080E08: .word 0x020FBBE8
thumb_func_start FUN_02080E0C
FUN_02080E0C: ; 0x02080E0C
@@ -239204,20 +269268,22 @@ _02080E74:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r3, #0
- lsl r0, r5, #0
- lsl r4, r0, #0x1
- lsl r4, r3, #0x1
- lsl r6, r7, #0x1
- lsl r2, r3, #0x2
- lsl r4, r7, #0x2
- lsl r6, r2, #0x3
- lsl r0, r5, #0x3
- lsl r0, r1, #0x4
- lsl r6, r4, #0x4
- lsl r0, r7, #0x4
- lsl r6, r7, #0x4
- lsl r0, r2, #0x5
+_02080E80: ; jump table (using 16-bit offset)
+ .short _02080E9C - _02080E80 - 2; case 0
+ .short _02080EAA - _02080E80 - 2; case 1
+ .short _02080EC6 - _02080E80 - 2; case 2
+ .short _02080EDE - _02080E80 - 2; case 3
+ .short _02080F00 - _02080E80 - 2; case 4
+ .short _02080F1C - _02080E80 - 2; case 5
+ .short _02080F3E - _02080E80 - 2; case 6
+ .short _02080F58 - _02080E80 - 2; case 7
+ .short _02080F6A - _02080E80 - 2; case 8
+ .short _02080F8A - _02080E80 - 2; case 9
+ .short _02080FA8 - _02080E80 - 2; case 10
+ .short _02080FBA - _02080E80 - 2; case 11
+ .short _02080FC0 - _02080E80 - 2; case 12
+ .short _02080FD2 - _02080E80 - 2; case 13
+_02080E9C:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r4, #0x4]
@@ -239225,27 +269291,161 @@ _02080E74:
str r0, [r4, #0x4]
b _02080FDC
_02080EAA:
- .byte 0x20, 0x68, 0x4C, 0x49, 0x41, 0x5C
- .byte 0x00, 0x29, 0x04, 0xD0, 0x01, 0xF0, 0x04, 0xF8, 0x01, 0x28, 0x00, 0xD0, 0x8E, 0xE0, 0x60, 0x68
- .byte 0x40, 0x1C, 0x60, 0x60, 0x8A, 0xE0, 0x21, 0x68, 0x45, 0x48, 0x08, 0x5C, 0x01, 0x28, 0x02, 0xD1
- .byte 0x00, 0x20, 0xB0, 0xF7, 0x59, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x7E, 0xE0, 0x22, 0x68
- .byte 0x3F, 0x49, 0x51, 0x5C, 0x01, 0x29, 0x08, 0xD1, 0x00, 0x20, 0xB0, 0xF7, 0x75, 0xFB, 0x01, 0x28
- .byte 0x74, 0xD1, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x70, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x6D, 0xE0
- .byte 0x20, 0x68, 0x00, 0xF0, 0x65, 0xFB, 0x23, 0x68, 0x36, 0x4A, 0x37, 0x49, 0x9A, 0x58, 0x28, 0x1C
- .byte 0xC5, 0xF7, 0xF6, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x5F, 0xE0, 0x20, 0x68, 0x00, 0xF0
- .byte 0xA3, 0xFB, 0x20, 0x68, 0x2E, 0x49, 0x41, 0x5C, 0x01, 0x29, 0x05, 0xD1, 0x00, 0xF0, 0xD2, 0xFF
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x51, 0xE0, 0x06, 0x20, 0x60, 0x60, 0x4E, 0xE0, 0x20, 0x68
- .byte 0x27, 0x49, 0x41, 0x5C, 0x00, 0x29, 0x03, 0xD0, 0x00, 0xF0, 0xBA, 0xFF, 0x01, 0x28, 0x45, 0xD1
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x41, 0xE0, 0x24, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7
- .byte 0xCF, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x38, 0xE0, 0x22, 0x68, 0x20, 0x48, 0x10, 0x5C
- .byte 0xFF, 0x30, 0x00, 0x06, 0x00, 0x0E, 0x01, 0x28, 0x03, 0xD8, 0x1E, 0x49, 0x28, 0x1C, 0xC5, 0xF7
- .byte 0xBF, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x28, 0xE0, 0x22, 0x68, 0x18, 0x48, 0x10, 0x5C
- .byte 0x00, 0x28, 0x01, 0xD0, 0x02, 0x28, 0x03, 0xD1, 0x17, 0x49, 0x28, 0x1C, 0xC5, 0xF7, 0xB0, 0xFA
- .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x19, 0xE0, 0x14, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7
- .byte 0xA7, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x10, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x0D, 0xE0
- .byte 0x28, 0x1C, 0xC9, 0xF7, 0xDF, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x06, 0xE0
+ ldr r0, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ beq _02080EBE
+ bl FUN_02081EC0
+ cmp r0, #0x1
+ beq _02080EBE
+ b _02080FDC
+_02080EBE:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EC6:
+ ldr r1, [r4, #0x0]
+ ldr r0, _02080FE0 ; =0x00000171
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _02080ED6
+ mov r0, #0x0
+ bl FUN_02031588
+_02080ED6:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EDE:
+ ldr r2, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r2, r1]
+ cmp r1, #0x1
+ bne _02080EFA
+ mov r0, #0x0
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02080FDC
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EFA:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F00:
+ ldr r0, [r4, #0x0]
+ bl FUN_020815D0
+ ldr r3, [r4, #0x0]
+ ldr r2, _02080FE4 ; =0x000019B8
+ ldr r1, _02080FE8 ; =0x020FBBD8
+ ldr r2, [r3, r2]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F1C:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081668
+ ldr r0, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x1
+ bne _02080F38
+ bl FUN_02081ED4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F38:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F3E:
+ ldr r0, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ beq _02080F50
+ bl FUN_02081EC0
+ cmp r0, #0x1
+ bne _02080FDC
+_02080F50:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F58:
+ ldr r1, _02080FEC ; =0x020FBBC8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F6A:
+ ldr r2, [r4, #0x0]
+ ldr r0, _02080FF0 ; =0x00000121
+ ldrb r0, [r2, r0]
+ add r0, #0xff
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi _02080F82
+ ldr r1, _02080FF4 ; =0x020FBBF8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_02080F82:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F8A:
+ ldr r2, [r4, #0x0]
+ ldr r0, _02080FF0 ; =0x00000121
+ ldrb r0, [r2, r0]
+ cmp r0, #0x0
+ beq _02080F98
+ cmp r0, #0x2
+ bne _02080FA0
+_02080F98:
+ ldr r1, _02080FF8 ; =0x020FBBE8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_02080FA0:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FA8:
+ ldr r1, _02080FFC ; =0x020FBBB8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FBA:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FC0:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
_02080FCE:
bl FUN_02020C2C
+_02080FD2:
add r0, r4, #0x0
bl FUN_02016A18
mov r0, #0x1
@@ -239253,9 +269453,15 @@ _02080FCE:
_02080FDC:
mov r0, #0x0
pop {r3-r5, pc}
-_02080FE0:
- .byte 0x71, 0x01, 0x00, 0x00, 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02
- .byte 0x21, 0x01, 0x00, 0x00, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02, 0xB8, 0xBB, 0x0F, 0x02
+ .balign 4
+_02080FE0: .word 0x00000171
+_02080FE4: .word 0x000019B8
+_02080FE8: .word 0x020FBBD8
+_02080FEC: .word 0x020FBBC8
+_02080FF0: .word 0x00000121
+_02080FF4: .word 0x020FBBF8
+_02080FF8: .word 0x020FBBE8
+_02080FFC: .word 0x020FBBB8
thumb_func_start FUN_02081000
FUN_02081000: ; 0x02081000
@@ -239277,16 +269483,18 @@ _0208101A:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r2, #0
- lsl r0, r4, #0
- lsl r0, r1, #0x1
- lsl r2, r4, #0x1
- lsl r0, r5, #0x1
- lsl r6, r0, #0x2
- lsl r2, r5, #0x2
- lsl r0, r1, #0x3
- lsl r6, r5, #0x5
- lsl r0, r0, #0x6
+_02081026: ; jump table (using 16-bit offset)
+ .short _0208103A - _02081026 - 2; case 0
+ .short _02081048 - _02081026 - 2; case 1
+ .short _02081070 - _02081026 - 2; case 2
+ .short _0208108A - _02081026 - 2; case 3
+ .short _02081090 - _02081026 - 2; case 4
+ .short _020810AE - _02081026 - 2; case 5
+ .short _020810D2 - _02081026 - 2; case 6
+ .short _020810F0 - _02081026 - 2; case 7
+ .short _02081196 - _02081026 - 2; case 8
+ .short _020811A8 - _02081026 - 2; case 9
+_0208103A:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r4, #0x4]
@@ -239294,31 +269502,200 @@ _0208101A:
str r0, [r4, #0x4]
b _020811B4
_02081048:
- .byte 0x20, 0x68, 0x5C, 0x49, 0x41, 0x5C, 0x03, 0x29
- .byte 0x01, 0xD0, 0x04, 0x29, 0x08, 0xD1, 0x00, 0xF0, 0xBB, 0xFA, 0x23, 0x68, 0x58, 0x4A, 0x59, 0x49
- .byte 0x9A, 0x58, 0x28, 0x1C, 0xC5, 0xF7, 0x4C, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0xA1, 0xE0
- .byte 0x20, 0x68, 0x52, 0x49, 0x41, 0x5C, 0x03, 0x29, 0x01, 0xD0, 0x04, 0x29, 0x01, 0xD1, 0x00, 0xF0
- .byte 0xF3, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x94, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x91, 0xE0
- .byte 0x22, 0x68, 0x4A, 0x48, 0x10, 0x5C, 0x03, 0x28, 0x01, 0xD0, 0x04, 0x28, 0x03, 0xD1, 0x4A, 0x49
- .byte 0x28, 0x1C, 0xC5, 0xF7, 0x2D, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x82, 0xE0, 0x20, 0x68
- .byte 0x42, 0x49, 0x41, 0x5C, 0x05, 0x29, 0x01, 0xD0, 0x06, 0x29, 0x06, 0xD1, 0x01, 0xF0, 0x2C, 0xFE
- .byte 0x42, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7, 0x1B, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60
- .byte 0x70, 0xE0, 0x22, 0x68, 0x39, 0x48, 0x10, 0x5C, 0x07, 0x28, 0x01, 0xD0, 0x08, 0x28, 0x03, 0xD1
- .byte 0x3B, 0x49, 0x28, 0x1C, 0xC5, 0xF7, 0x0C, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x61, 0xE0
- .byte 0x21, 0x68, 0x32, 0x48, 0x08, 0x5C, 0x08, 0x28, 0x39, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88
- .byte 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x10, 0x00, 0x10, 0x00
- .byte 0x32, 0x00, 0x32, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x00, 0x25, 0x00, 0xAE, 0x20, 0x68, 0x29, 0x1C
- .byte 0x02, 0xF0, 0xF2, 0xF8, 0x07, 0x1C, 0x20, 0x68, 0x29, 0x1C, 0x02, 0xF0, 0x1F, 0xF9, 0x38, 0x18
- .byte 0x6D, 0x1C, 0x01, 0xC6, 0x04, 0x2D, 0xF1, 0xDB, 0x19, 0xE0, 0x00, 0x22, 0x4B, 0x23, 0x10, 0x1C
- .byte 0x00, 0xA9, 0x9B, 0x00, 0x25, 0x68, 0x52, 0x1C, 0x2D, 0x18, 0xED, 0x5E, 0x0C, 0x30, 0x04, 0x2A
- .byte 0x20, 0xC1, 0xF7, 0xDB, 0x0B, 0xE0, 0x00, 0x22, 0x1E, 0x4B, 0x10, 0x1C, 0x00, 0xA9, 0x25, 0x68
- .byte 0x52, 0x1C, 0x2D, 0x18, 0xED, 0x5E, 0x0C, 0x30, 0x04, 0x2A, 0x20, 0xC1, 0xF7, 0xDB, 0x00, 0x99
- .byte 0x00, 0x22, 0x01, 0x25, 0x01, 0xAB, 0x18, 0x68, 0x81, 0x42, 0x00, 0xDA, 0x52, 0x1C, 0x6D, 0x1C
- .byte 0x1B, 0x1D, 0x04, 0x2D, 0xF7, 0xDB, 0x13, 0x20, 0x21, 0x68, 0x00, 0x01, 0x0A, 0x54, 0x60, 0x68
- .byte 0x40, 0x1C, 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xC9, 0xF7, 0xF4, 0xFE, 0x60, 0x68, 0x40, 0x1C
- .byte 0x60, 0x60, 0x07, 0xE0
+ ldr r0, [r4, #0x0]
+ ldr r1, _020811BC ; =0x00000121
+ ldrb r1, [r0, r1]
+ cmp r1, #0x3
+ beq _02081056
+ cmp r1, #0x4
+ bne _02081068
+_02081056:
+ bl FUN_020815D0
+ ldr r3, [r4, #0x0]
+ ldr r2, _020811C0 ; =0x000019B8
+ ldr r1, _020811C4 ; =0x020FBBD8
+ ldr r2, [r3, r2]
+ add r0, r5, #0x0
+ bl FUN_02046500
+_02081068:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081070:
+ ldr r0, [r4, #0x0]
+ ldr r1, _020811BC ; =0x00000121
+ ldrb r1, [r0, r1]
+ cmp r1, #0x3
+ beq _0208107E
+ cmp r1, #0x4
+ bne _02081082
+_0208107E:
+ bl FUN_02081668
+_02081082:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_0208108A:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081090:
+ ldr r2, [r4, #0x0]
+ ldr r0, _020811BC ; =0x00000121
+ ldrb r0, [r2, r0]
+ cmp r0, #0x3
+ beq _0208109E
+ cmp r0, #0x4
+ bne _020810A6
+_0208109E:
+ ldr r1, _020811C8 ; =0x020FBBC8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_020810A6:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020810AE:
+ ldr r0, [r4, #0x0]
+ ldr r1, _020811BC ; =0x00000121
+ ldrb r1, [r0, r1]
+ cmp r1, #0x5
+ beq _020810BC
+ cmp r1, #0x6
+ bne _020810CA
+_020810BC:
+ bl FUN_02082D18
+ ldr r1, _020811CC ; =0x020FBBF8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+_020810CA:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020810D2:
+ ldr r2, [r4, #0x0]
+ ldr r0, _020811BC ; =0x00000121
+ ldrb r0, [r2, r0]
+ cmp r0, #0x7
+ beq _020810E0
+ cmp r0, #0x8
+ bne _020810E8
+_020810E0:
+ ldr r1, _020811D0 ; =0x020FBBE8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_020810E8:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020810F0:
+ ldr r1, [r4, #0x0]
+ ldr r0, _020811BC ; =0x00000121
+ ldrb r0, [r1, r0]
+ cmp r0, #0x8
+ bhi _0208116E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02081106: ; jump table (using 16-bit offset)
+ .short _0208116E - _02081106 - 2; case 0
+ .short _0208116E - _02081106 - 2; case 1
+ .short _0208116E - _02081106 - 2; case 2
+ .short _02081118 - _02081106 - 2; case 3
+ .short _02081118 - _02081106 - 2; case 4
+ .short _0208113A - _02081106 - 2; case 5
+ .short _0208113A - _02081106 - 2; case 6
+ .short _02081156 - _02081106 - 2; case 7
+ .short _02081156 - _02081106 - 2; case 8
+_02081118:
+ mov r5, #0x0
+ add r6, sp, #0x0
+_0208111C:
+ ldr r0, [r4, #0x0]
+ add r1, r5, #0x0
+ bl FUN_02083308
+ add r7, r0, #0x0
+ ldr r0, [r4, #0x0]
+ add r1, r5, #0x0
+ bl FUN_0208336C
+ add r0, r7, r0
+ add r5, r5, #0x1
+ stmia r6!, {r0}
+ cmp r5, #0x4
+ blt _0208111C
+ b _0208116E
+_0208113A:
+ mov r2, #0x0
+ mov r3, #0x4b
+ add r0, r2, #0x0
+ add r1, sp, #0x0
+ lsl r3, r3, #0x2
+_02081144:
+ ldr r5, [r4, #0x0]
+ add r2, r2, #0x1
+ add r5, r5, r0
+ ldrsh r5, [r5, r3]
+ add r0, #0xc
+ cmp r2, #0x4
+ stmia r1!, {r5}
+ blt _02081144
+ b _0208116E
+_02081156:
+ mov r2, #0x0
+ ldr r3, _020811D4 ; =0x0000012E
+ add r0, r2, #0x0
+ add r1, sp, #0x0
+_0208115E:
+ ldr r5, [r4, #0x0]
+ add r2, r2, #0x1
+ add r5, r5, r0
+ ldrsh r5, [r5, r3]
+ add r0, #0xc
+ cmp r2, #0x4
+ stmia r1!, {r5}
+ blt _0208115E
+_0208116E:
+ ldr r1, [sp, #0x0]
+ mov r2, #0x0
+ mov r5, #0x1
+ add r3, sp, #0x4
+_02081176:
+ ldr r0, [r3, #0x0]
+ cmp r1, r0
+ bge _0208117E
+ add r2, r2, #0x1
+_0208117E:
+ add r5, r5, #0x1
+ add r3, r3, #0x4
+ cmp r5, #0x4
+ blt _02081176
+ mov r0, #0x13
+ ldr r1, [r4, #0x0]
+ lsl r0, r0, #0x4
+ strb r2, [r1, r0]
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081196:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
_020811A4:
bl FUN_02020C2C
+_020811A8:
add r0, r4, #0x0
bl FUN_02016A18
add sp, #0x10
@@ -239329,10 +269706,13 @@ _020811B4:
add sp, #0x10
pop {r3-r7, pc}
nop
-_020811BC:
- .byte 0x21, 0x01, 0x00, 0x00
- .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02
- .byte 0xE8, 0xBB, 0x0F, 0x02, 0x2E, 0x01, 0x00, 0x00
+_020811BC: .word 0x00000121
+_020811C0: .word 0x000019B8
+_020811C4: .word 0x020FBBD8
+_020811C8: .word 0x020FBBC8
+_020811CC: .word 0x020FBBF8
+_020811D0: .word 0x020FBBE8
+_020811D4: .word 0x0000012E
thumb_func_start FUN_020811D8
FUN_020811D8: ; 0x020811D8
@@ -239779,11 +270159,13 @@ _0208154C:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r3, #0
- lsl r0, r5, #0
- lsl r0, r7, #0
- lsl r0, r1, #0x1
+_0208155C: ; jump table (using 16-bit offset)
+ .short _02081566 - _0208155C - 2; case 0
+ .short _02081576 - _0208155C - 2; case 1
+ .short _02081586 - _0208155C - 2; case 2
+ .short _02081596 - _0208155C - 2; case 3
+ .short _020815A6 - _0208155C - 2; case 4
+_02081566:
add r1, r4, #0x0
add r0, r5, #0x0
add r1, #0x7a
@@ -239792,11 +270174,37 @@ _0208154C:
add r6, r0, #0x0
b _020815BA
_02081576:
- .byte 0x21, 0x1C, 0x28, 0x1C, 0x7E, 0x31, 0x00, 0x22, 0xE5, 0xF7
- .byte 0x1D, 0xFE, 0x06, 0x1C, 0x19, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x82, 0x31, 0x00, 0x22, 0xE5, 0xF7
- .byte 0x15, 0xFE, 0x06, 0x1C, 0x11, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x86, 0x31, 0x00, 0x22, 0xE5, 0xF7
- .byte 0x0D, 0xFE, 0x06, 0x1C, 0x09, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x8A, 0x31, 0x00, 0x22, 0xE5, 0xF7
- .byte 0x05, 0xFE, 0x06, 0x1C, 0x01, 0xE0
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x7e
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_02081586:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x82
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_02081596:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x86
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_020815A6:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x8a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
_020815B6:
bl FUN_02020C2C
_020815BA:
@@ -239919,54 +270327,56 @@ _02081692:
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r6, r3, #0x1
- lsl r6, r6, #0x1
- lsl r4, r1, #0x2
- lsl r2, r4, #0x2
- lsl r6, r7, #0x2
- lsl r6, r2, #0x3
- lsl r4, r5, #0x3
- lsl r0, r1, #0x4
- lsl r4, r4, #0x4
- lsl r4, r7, #0x4
- lsl r2, r2, #0x5
- lsl r2, r0, #0x6
- lsl r0, r3, #0x6
- lsl r0, r6, #0x6
- lsl r6, r0, #0x7
- lsl r4, r4, #0x7
- lsl r0, r0, #0x8
- lsl r0, r3, #0x8
- lsl r6, r5, #0x8
- lsl r2, r5, #0x9
- lsl r0, r4, #0xa
- lsl r0, r7, #0xa
- lsl r6, r1, #0xb
- lsl r6, r5, #0xb
- lsl r6, r7, #0xc
- lsl r4, r4, #0xd
- lsl r2, r7, #0xd
- lsl r4, r6, #0xe
- lsl r2, r5, #0xf
- lsl r6, r2, #0x10
- lsl r4, r5, #0x10
- lsl r0, r1, #0x11
- lsl r4, r4, #0x11
- lsl r4, r7, #0x11
- lsl r2, r2, #0x12
- lsl r4, r1, #0x13
- lsl r2, r0, #0x14
- lsl r2, r3, #0x14
- lsl r0, r6, #0x14
- lsl r2, r3, #0x15
- lsl r6, r6, #0x15
- lsl r6, r1, #0x16
- lsl r4, r4, #0x16
- lsl r6, r4, #0x17
- lsl r4, r3, #0x18
- lsl r4, r6, #0x18
- lsl r2, r1, #0x19
- lsl r0, r5, #0x19
+_0208169E: ; jump table (using 16-bit offset)
+ .short _020816FE - _0208169E - 2; case 0
+ .short _02081716 - _0208169E - 2; case 1
+ .short _0208172C - _0208169E - 2; case 2
+ .short _02081742 - _0208169E - 2; case 3
+ .short _0208175E - _0208169E - 2; case 4
+ .short _02081776 - _0208169E - 2; case 5
+ .short _0208178C - _0208169E - 2; case 6
+ .short _020817A8 - _0208169E - 2; case 7
+ .short _020817C4 - _0208169E - 2; case 8
+ .short _020817DC - _0208169E - 2; case 9
+ .short _020817F2 - _0208169E - 2; case 10
+ .short _02081822 - _0208169E - 2; case 11
+ .short _02081838 - _0208169E - 2; case 12
+ .short _02081850 - _0208169E - 2; case 13
+ .short _02081866 - _0208169E - 2; case 14
+ .short _02081884 - _0208169E - 2; case 15
+ .short _020818A0 - _0208169E - 2; case 16
+ .short _020818B8 - _0208169E - 2; case 17
+ .short _020818CE - _0208169E - 2; case 18
+ .short _0208190A - _0208169E - 2; case 19
+ .short _02081940 - _0208169E - 2; case 20
+ .short _02081958 - _0208169E - 2; case 21
+ .short _0208196E - _0208169E - 2; case 22
+ .short _0208198E - _0208169E - 2; case 23
+ .short _020819DE - _0208169E - 2; case 24
+ .short _02081A04 - _0208169E - 2; case 25
+ .short _02081A1A - _0208169E - 2; case 26
+ .short _02081A54 - _0208169E - 2; case 27
+ .short _02081A8A - _0208169E - 2; case 28
+ .short _02081AB6 - _0208169E - 2; case 29
+ .short _02081ACC - _0208169E - 2; case 30
+ .short _02081AE8 - _0208169E - 2; case 31
+ .short _02081B04 - _0208169E - 2; case 32
+ .short _02081B1C - _0208169E - 2; case 33
+ .short _02081B32 - _0208169E - 2; case 34
+ .short _02081B6C - _0208169E - 2; case 35
+ .short _02081BA2 - _0208169E - 2; case 36
+ .short _02081BBA - _0208169E - 2; case 37
+ .short _02081BD0 - _0208169E - 2; case 38
+ .short _02081BFA - _0208169E - 2; case 39
+ .short _02081C16 - _0208169E - 2; case 40
+ .short _02081C2E - _0208169E - 2; case 41
+ .short _02081C44 - _0208169E - 2; case 42
+ .short _02081C86 - _0208169E - 2; case 43
+ .short _02081CBC - _0208169E - 2; case 44
+ .short _02081CD4 - _0208169E - 2; case 45
+ .short _02081CEA - _0208169E - 2; case 46
+ .short _02081D08 - _0208169E - 2; case 47
+_020816FE:
mov r0, #0x5
bl FUN_02031588
ldr r0, _020819EC ; =0x00000584
@@ -239979,113 +270389,813 @@ _02081692:
strb r1, [r4, r0]
pop {r3-r7, pc}
_02081716:
- .byte 0x05, 0x20, 0xAF, 0xF7, 0x5E, 0xFF, 0x01, 0x28, 0x75, 0xD1
- .byte 0xB1, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x20, 0x1C, 0x01, 0xF0
- .byte 0x7F, 0xFF, 0x01, 0x28, 0x6A, 0xD1, 0xAC, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54
- .byte 0xF8, 0xBD, 0xAA, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42, 0x5D, 0xD3
- .byte 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x06, 0x20
- .byte 0xAF, 0xF7, 0x12, 0xFF, 0xA1, 0x48, 0x00, 0x21, 0x21, 0x54, 0x9F, 0x48, 0x04, 0xB0, 0x21, 0x5C
- .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x06, 0x20, 0xAF, 0xF7, 0x2E, 0xFF, 0x01, 0x28, 0x45, 0xD1
- .byte 0x99, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C
- .byte 0x22, 0x68, 0x20, 0x1C, 0x01, 0xF0, 0x92, 0xFF, 0x01, 0x28, 0x37, 0xD1, 0x92, 0x48, 0x04, 0xB0
- .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x90, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C
- .byte 0x61, 0x5C, 0x8B, 0x42, 0x2A, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C
- .byte 0xA0, 0x54, 0xF8, 0xBD, 0x07, 0x20, 0xAF, 0xF7, 0xDF, 0xFE, 0x88, 0x48, 0x00, 0x21, 0x21, 0x54
- .byte 0x85, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x07, 0x20, 0xAF, 0xF7
- .byte 0xFB, 0xFE, 0x01, 0x28, 0x12, 0xD1, 0x80, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54
- .byte 0xF8, 0xBD, 0x13, 0x1C, 0x53, 0x3B, 0xE5, 0x5C, 0x13, 0x1C, 0x5A, 0x3B, 0xE3, 0x5C, 0x9D, 0x42
- .byte 0x0B, 0xD1, 0x20, 0x1C, 0x01, 0xF0, 0x9A, 0xFF, 0x01, 0x28, 0x00, 0xD0, 0xD6, 0xE2, 0x76, 0x48
- .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54
- .byte 0xF8, 0xBD, 0x72, 0x48, 0x21, 0x5C, 0x00, 0x29, 0x73, 0xD0, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C
- .byte 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x08, 0x20, 0xAF, 0xF7, 0xA5, 0xFE, 0x6B, 0x48
- .byte 0x00, 0x21, 0x21, 0x54, 0x68, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD
- .byte 0x08, 0x20, 0xAF, 0xF7, 0xC1, 0xFE, 0x01, 0x28, 0x5B, 0xD1, 0x63, 0x48, 0x04, 0xB0, 0x21, 0x5C
- .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C, 0x22, 0x1C, 0x20, 0x1C, 0x10, 0x32
- .byte 0x01, 0xF0, 0xA0, 0xFF, 0x01, 0x28, 0x4C, 0xD1, 0x5B, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C
- .byte 0x21, 0x54, 0xF8, 0xBD, 0x59, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42
- .byte 0x3F, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD
- .byte 0x09, 0x20, 0xAF, 0xF7, 0x71, 0xFE, 0x51, 0x48, 0x00, 0x21, 0x21, 0x54, 0x4E, 0x48, 0x04, 0xB0
- .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x09, 0x20, 0xAF, 0xF7, 0x8D, 0xFE, 0x01, 0x28
- .byte 0x27, 0xD1, 0x49, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C
- .byte 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42, 0x11, 0xD1, 0x90, 0x1C
- .byte 0x21, 0x58, 0x23, 0x1C, 0x30, 0x22, 0x10, 0x33, 0x4A, 0x43, 0x20, 0x1C, 0x9A, 0x18, 0x01, 0xF0
- .byte 0x61, 0xFF, 0x01, 0x28, 0x0D, 0xD1, 0x3C, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54
- .byte 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x38, 0x49, 0x60, 0x5C, 0x00, 0x28
- .byte 0x00, 0xD1, 0x53, 0xE2, 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C
- .byte 0x63, 0x50, 0x61, 0x58, 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54
- .byte 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD
- .byte 0x0A, 0x20, 0xAF, 0xF7, 0x21, 0xFE, 0x29, 0x48, 0x00, 0x21, 0x21, 0x54, 0x26, 0x48, 0x04, 0xB0
- .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0A, 0x20, 0xAF, 0xF7, 0x3D, 0xFE, 0x01, 0x28
- .byte 0x7C, 0xD1, 0x21, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A
- .byte 0xA1, 0x5C, 0x22, 0x1C, 0xE8, 0x32, 0x12, 0x68, 0x20, 0x1C, 0x01, 0xF0, 0x9B, 0xFF, 0x01, 0x28
- .byte 0x6C, 0xD1, 0x19, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x17, 0x48
- .byte 0x4F, 0x3A, 0xA1, 0x5C, 0x20, 0x5C, 0x88, 0x42, 0x60, 0xD3, 0x00, 0x25, 0x00, 0x29, 0x15, 0xDD
- .byte 0x26, 0x1C, 0x28, 0x1C, 0xAC, 0xF7, 0xFE, 0xFA, 0x07, 0x1C, 0x30, 0x1C, 0xE8, 0x30, 0x00, 0x68
- .byte 0xA0, 0xF7, 0x4C, 0xF8, 0x31, 0x1C, 0xE8, 0x31, 0x09, 0x68, 0x38, 0x1C, 0xA1, 0xF7, 0xE8, 0xFF
- .byte 0x0B, 0x48, 0x6D, 0x1C, 0x20, 0x5C, 0x36, 0x1D, 0x85, 0x42, 0xEA, 0xDB, 0x07, 0x48, 0x00, 0x21
- .byte 0x21, 0x54, 0x05, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0B, 0x20
- .byte 0xAF, 0xF7, 0xD2, 0xFD, 0x01, 0x48, 0x05, 0xE0
+ mov r0, #0x5
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208172C:
+ add r0, r4, #0x0
+ bl FUN_02083630
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081742:
+ ldr r0, _020819EC ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _0208180C
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_0208175E:
+ mov r0, #0x6
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081776:
+ mov r0, #0x6
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208178C:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020836BC
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020817A8:
+ ldr r0, _020819EC ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _0208180C
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_020817C4:
+ mov r0, #0x7
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020817DC:
+ mov r0, #0x7
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020817F2:
+ add r3, r2, #0x0
+ sub r3, #0x53
+ ldrb r5, [r4, r3]
+ add r3, r2, #0x0
+ sub r3, #0x5a
+ ldrb r3, [r4, r3]
+ cmp r5, r3
+ bne _0208181A
+ add r0, r4, #0x0
+ bl FUN_0208373C
+ cmp r0, #0x1
+ beq _0208180E
+_0208180C:
+ b _02081DBC
+_0208180E:
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208181A:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081822:
+ ldr r0, _020819EC ; =0x00000584
+ ldrb r1, [r4, r0]
+ cmp r1, #0x0
+ beq _02081912
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081838:
+ mov r0, #0x8
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081850:
+ mov r0, #0x8
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081866:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r2, r4, #0x0
+ add r0, r4, #0x0
+ add r2, #0x10
+ bl FUN_020837B4
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081884:
+ ldr r0, _020819EC ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081912
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_020818A0:
+ mov r0, #0x9
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020818B8:
+ mov r0, #0x9
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020818CE:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081902
+ add r0, r2, #0x2
+ ldr r1, [r4, r0]
+ add r3, r4, #0x0
+ mov r2, #0x30
+ add r3, #0x10
+ mul r2, r1
+ add r0, r4, #0x0
+ add r2, r3, r2
+ bl FUN_020837B4
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081902:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_0208190A:
+ ldr r1, _020819EC ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081914
+_02081912:
+ b _02081DBC
+_02081914:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081932
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081932:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081940:
+ mov r0, #0xa
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081958:
+ mov r0, #0xa
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208196E:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r2, r4, #0x0
+ add r2, #0xe8
+ ldr r2, [r2, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020838B4
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208198E:
+ ldr r0, _020819EC ; =0x00000584
+ sub r2, #0x4f
+ ldrb r1, [r4, r2]
+ ldrb r0, [r4, r0]
+ cmp r0, r1
+ blo _02081A5C
+ mov r5, #0x0
+ cmp r1, #0x0
+ ble _020819CC
+ add r6, r4, #0x0
+_020819A2:
+ add r0, r5, #0x0
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ bl FUN_02021A4C
+ add r1, r6, #0x0
+ add r1, #0xe8
+ ldr r1, [r1, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02023990
+ ldr r0, _020819F0 ; =0x00000127
+ add r5, r5, #0x1
+ ldrb r0, [r4, r0]
+ add r6, r6, #0x4
+ cmp r5, r0
+ blt _020819A2
+_020819CC:
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020819DE:
+ mov r0, #0xb
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ b _020819F4
+ .balign 4
_020819E8: .word 0x00000176
_020819EC: .word 0x00000584
-_020819F0:
- .byte 0x27, 0x01, 0x00, 0x00, 0x00, 0x21, 0x21, 0x54, 0xCB, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C
- .byte 0x21, 0x54, 0xF8, 0xBD, 0x0B, 0x20, 0xAF, 0xF7, 0xE7, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0xC6, 0x48
- .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C
- .byte 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42, 0x10, 0xD1, 0x90, 0x1C, 0x21, 0x58, 0x20, 0x1C
- .byte 0x8A, 0x00, 0xA2, 0x18, 0xE8, 0x32, 0x12, 0x68, 0x01, 0xF0, 0x3C, 0xFF, 0x01, 0x28, 0x0D, 0xD1
- .byte 0xB9, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0
- .byte 0xA0, 0x54, 0xF8, 0xBD, 0xB5, 0x49, 0x60, 0x5C, 0x00, 0x28, 0x00, 0xD1, 0xAE, 0xE1, 0x00, 0x20
- .byte 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58, 0x04, 0x29
- .byte 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50
- .byte 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0xA8, 0xF7, 0x1B, 0xFA, 0x02, 0x1C
- .byte 0x57, 0x20, 0x80, 0x00, 0xA6, 0x49, 0x20, 0x58, 0x61, 0x18, 0x4C, 0xF0, 0xA2, 0xEC, 0x0C, 0x20
- .byte 0xAF, 0xF7, 0x72, 0xFD, 0xA1, 0x48, 0x00, 0x21, 0x21, 0x54, 0x9F, 0x48, 0x04, 0xB0, 0x21, 0x5C
- .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0C, 0x20, 0xAF, 0xF7, 0x8E, 0xFD, 0x01, 0x28, 0x59, 0xD1
- .byte 0x99, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C
- .byte 0x20, 0x1C, 0x00, 0x22, 0x01, 0xF0, 0xFE, 0xFF, 0x01, 0x28, 0x4B, 0xD1, 0x92, 0x48, 0x04, 0xB0
- .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x90, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C
- .byte 0x61, 0x5C, 0x8B, 0x42, 0x3E, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C
- .byte 0xA0, 0x54, 0xF8, 0xBD, 0x0D, 0x20, 0xAF, 0xF7, 0x3F, 0xFD, 0x88, 0x48, 0x00, 0x21, 0x21, 0x54
- .byte 0x85, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0D, 0x20, 0xAF, 0xF7
- .byte 0x5B, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0x80, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54
- .byte 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42
- .byte 0x10, 0xD1, 0x90, 0x1C, 0x21, 0x58, 0x1A, 0x3A, 0x8B, 0x00, 0xE3, 0x18, 0x9A, 0x58, 0x20, 0x1C
- .byte 0x01, 0xF0, 0xC0, 0xFF, 0x01, 0x28, 0x0D, 0xD1, 0x73, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C
- .byte 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x6F, 0x49, 0x60, 0x5C
- .byte 0x00, 0x28, 0x00, 0xD1, 0x22, 0xE1, 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C
- .byte 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58, 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E
- .byte 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54
- .byte 0xF8, 0xBD, 0x0E, 0x20, 0xAF, 0xF7, 0xF0, 0xFC, 0x60, 0x48, 0x00, 0x21, 0x21, 0x54, 0x5E, 0x48
- .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0E, 0x20, 0xAF, 0xF7, 0x0C, 0xFD
- .byte 0x01, 0x28, 0x64, 0xD1, 0x58, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD
- .byte 0x02, 0xAA, 0x20, 0x1C, 0x00, 0x21, 0x02, 0x32, 0x00, 0xF0, 0x5C, 0xFE, 0x55, 0x49, 0x02, 0xAA
- .byte 0x61, 0x5C, 0x20, 0x1C, 0x02, 0x32, 0x01, 0xF0, 0xAF, 0xFF, 0x01, 0x28, 0x4F, 0xD1, 0x4E, 0x48
- .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x4C, 0x48, 0x11, 0x1C, 0x4F, 0x39
- .byte 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42, 0x42, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0
- .byte 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x0F, 0x20, 0xAF, 0xF7, 0xB6, 0xFC, 0x43, 0x48, 0x00, 0x21
- .byte 0x21, 0x54, 0x41, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0F, 0x20
- .byte 0xAF, 0xF7, 0xD2, 0xFC, 0x01, 0x28, 0x2A, 0xD1, 0x3B, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C
- .byte 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C
- .byte 0x8B, 0x42, 0x14, 0xD1, 0x91, 0x1C, 0x61, 0x58, 0x20, 0x1C, 0x01, 0xAA, 0x00, 0xF0, 0x1A, 0xFE
- .byte 0x5E, 0x21, 0x89, 0x00, 0x61, 0x58, 0x20, 0x1C, 0x01, 0xAA, 0x01, 0xF0, 0x6D, 0xFF, 0x01, 0x28
- .byte 0x0D, 0xD1, 0x2D, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C
- .byte 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x29, 0x49, 0x60, 0x5C, 0x00, 0x28, 0x00, 0xD1, 0x95, 0xE0
- .byte 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58
- .byte 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C
- .byte 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x10, 0x20, 0xAF, 0xF7
- .byte 0x63, 0xFC, 0x1A, 0x48, 0x00, 0x21, 0x21, 0x54, 0x17, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C
- .byte 0x21, 0x54, 0xF8, 0xBD, 0x10, 0x20, 0xAF, 0xF7, 0x7F, 0xFC, 0x01, 0x28, 0x6E, 0xD1, 0x12, 0x48
- .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C, 0x22, 0x1C
- .byte 0x20, 0x1C, 0xD0, 0x32, 0x01, 0xF0, 0x9E, 0xFD, 0x01, 0x28, 0x5F, 0xD1, 0x0A, 0x48, 0x04, 0xB0
- .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x08, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C
- .byte 0x61, 0x5C, 0x8B, 0x42, 0x52, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C
- .byte 0xA0, 0x54, 0xF8, 0xBD
+_020819F0: .word 0x00000127
+_020819F4:
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081A04:
+ mov r0, #0xb
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081A1A:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081A4C
+ add r0, r2, #0x2
+ ldr r1, [r4, r0]
+ add r0, r4, #0x0
+ lsl r2, r1, #0x2
+ add r2, r4, r2
+ add r2, #0xe8
+ ldr r2, [r2, #0x0]
+ bl FUN_020838B4
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081A4C:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081A54:
+ ldr r1, _02081D2C ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081A5E
+_02081A5C:
+ b _02081DBC
+_02081A5E:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081A7C
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081A7C:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081A8A:
+ bl FUN_02029EC4
+ add r2, r0, #0x0
+ mov r0, #0x57
+ lsl r0, r0, #0x2
+ ldr r1, _02081D30 ; =0x00000585
+ ldr r0, [r4, r0]
+ add r1, r4, r1
+ blx FUN_020CE3E0
+ mov r0, #0xc
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081AB6:
+ mov r0, #0xc
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081ACC:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02083AD4
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081AE8:
+ ldr r0, _02081D2C ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081B74
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081B04:
+ mov r0, #0xd
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081B1C:
+ mov r0, #0xd
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081B32:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081B64
+ add r0, r2, #0x2
+ ldr r1, [r4, r0]
+ sub r2, #0x1a
+ lsl r3, r1, #0x2
+ add r3, r4, r3
+ ldr r2, [r3, r2]
+ add r0, r4, #0x0
+ bl FUN_02083AD4
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081B64:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081B6C:
+ ldr r1, _02081D2C ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081B76
+_02081B74:
+ b _02081DBC
+_02081B76:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081B94
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081B94:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081BA2:
+ mov r0, #0xe
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081BBA:
+ mov r0, #0xe
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081BD0:
+ add r2, sp, #0x8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r2, #0x2
+ bl FUN_02082894
+ ldr r1, _02081D34 ; =0x00000123
+ add r2, sp, #0x8
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ add r2, #0x2
+ bl FUN_02083B48
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081BFA:
+ ldr r0, _02081D2C ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081C8E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081C16:
+ mov r0, #0xf
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081C2E:
+ mov r0, #0xf
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081C44:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081C7E
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ add r2, sp, #0x4
+ bl FUN_02082894
+ mov r1, #0x5e
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ add r2, sp, #0x4
+ bl FUN_02083B48
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081C7E:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081C86:
+ ldr r1, _02081D2C ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081C90
+_02081C8E:
+ b _02081DBC
+_02081C90:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081CAE
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081CAE:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081CBC:
+ mov r0, #0x10
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081CD4:
+ mov r0, #0x10
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081DBC
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081CEA:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r2, r4, #0x0
+ add r0, r4, #0x0
+ add r2, #0xd0
+ bl FUN_02083834
+ cmp r0, #0x1
+ bne _02081DBC
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081D08:
+ ldr r0, _02081D2C ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081DBC
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
_02081D24:
ldr r0, _02081D38 ; =0x00000127
b _02081D3C
-_02081D28:
- .byte 0x76, 0x01, 0x00, 0x00, 0x84, 0x05, 0x00, 0x00
- .byte 0x85, 0x05, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00
+ .balign 4
+_02081D28: .word 0x00000176
+_02081D2C: .word 0x00000584
+_02081D30: .word 0x00000585
+_02081D34: .word 0x00000123
_02081D38: .word 0x00000127
_02081D3C:
mov r5, #0x0
@@ -240153,6 +271263,7 @@ _02081D86:
strb r2, [r4, r0]
ldr r0, [sp, #0x0]
bl FUN_0200CAB4
+_02081DBC:
add sp, #0x10
pop {r3-r7, pc}
.balign 4
@@ -240338,14 +271449,16 @@ FUN_02081F08: ; 0x02081F08
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
- lsl r6, r1, #0
- lsl r4, r4, #0
- lsl r0, r7, #0
- lsl r0, r3, #0x1
- lsl r2, r6, #0x1
- lsl r0, r1, #0x2
- lsl r4, r3, #0x2
- lsl r2, r1, #0x3
+_02081F20: ; jump table (using 16-bit offset)
+ .short _02081F30 - _02081F20 - 2; case 0
+ .short _02081F46 - _02081F20 - 2; case 1
+ .short _02081F5A - _02081F20 - 2; case 2
+ .short _02081F7A - _02081F20 - 2; case 3
+ .short _02081F94 - _02081F20 - 2; case 4
+ .short _02081FAA - _02081F20 - 2; case 5
+ .short _02081FBE - _02081F20 - 2; case 6
+ .short _02081FEC - _02081F20 - 2; case 7
+_02081F30:
mov r0, #0x11
bl FUN_02031588
ldr r0, _02082018 ; =0x00000584
@@ -240357,18 +271470,101 @@ FUN_02081F08: ; 0x02081F08
strb r1, [r4, r0]
pop {r4, pc}
_02081F46:
- .byte 0x11, 0x20, 0xAF, 0xF7, 0x46, 0xFB, 0x01, 0x28, 0x5F, 0xD1
- .byte 0x30, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x53, 0x39, 0x61, 0x5C, 0x20, 0x1C
- .byte 0x8A, 0x00, 0xA2, 0x18, 0xF8, 0x32, 0x12, 0x68, 0x01, 0xF0, 0xE2, 0xFC, 0x01, 0x28, 0x4F, 0xD1
- .byte 0x28, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x27, 0x48, 0x0A, 0x1C, 0x4F, 0x3A
- .byte 0x23, 0x5C, 0xA2, 0x5C, 0x93, 0x42, 0x43, 0xD3, 0x00, 0x22, 0x22, 0x54, 0x60, 0x5C, 0x40, 0x1C
- .byte 0x60, 0x54, 0x10, 0xBD, 0x12, 0x20, 0xAF, 0xF7, 0xF7, 0xFA, 0x1F, 0x48, 0x00, 0x21, 0x21, 0x54
- .byte 0x1C, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x12, 0x20, 0xAF, 0xF7, 0x14, 0xFB
- .byte 0x01, 0x28, 0x2D, 0xD1, 0x17, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x08, 0x1C
- .byte 0x53, 0x38, 0x23, 0x5C, 0x08, 0x1C, 0x5A, 0x38, 0x20, 0x5C, 0x83, 0x42, 0x0B, 0xD1, 0x21, 0x1C
- .byte 0x20, 0x1C, 0xF8, 0x31, 0x01, 0xF0, 0xF4, 0xFC, 0x01, 0x28, 0x19, 0xD1, 0x0D, 0x48, 0x21, 0x5C
- .byte 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x50, 0x1C, 0x60, 0x54, 0x10, 0xBD, 0x0A, 0x48, 0x22, 0x5C
- .byte 0x00, 0x2A, 0x0D, 0xD0, 0x00, 0x22, 0x22, 0x54, 0x60, 0x5C, 0x40, 0x1C, 0x60, 0x54, 0x10, 0xBD
+ mov r0, #0x11
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081F5A:
+ sub r1, #0x53
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ lsl r2, r1, #0x2
+ add r2, r4, r2
+ add r2, #0xf8
+ ldr r2, [r2, #0x0]
+ bl FUN_02083930
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081F7A:
+ ldr r0, _02082018 ; =0x00000584
+ add r2, r1, #0x0
+ sub r2, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r2, [r4, r2]
+ cmp r3, r2
+ blo _02082010
+ mov r2, #0x0
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r1]
+ add r0, r0, #0x1
+ strb r0, [r4, r1]
+ pop {r4, pc}
+_02081F94:
+ mov r0, #0x12
+ bl FUN_02031588
+ ldr r0, _02082018 ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081FAA:
+ mov r0, #0x12
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081FBE:
+ add r0, r1, #0x0
+ sub r0, #0x53
+ ldrb r3, [r4, r0]
+ add r0, r1, #0x0
+ sub r0, #0x5a
+ ldrb r0, [r4, r0]
+ cmp r3, r0
+ bne _02081FE6
+ add r1, r4, #0x0
+ add r0, r4, #0x0
+ add r1, #0xf8
+ bl FUN_020839C0
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081FE6:
+ add r0, r2, #0x1
+ strb r0, [r4, r1]
+ pop {r4, pc}
+_02081FEC:
+ ldr r0, _02082018 ; =0x00000584
+ ldrb r2, [r4, r0]
+ cmp r2, #0x0
+ beq _02082010
+ mov r2, #0x0
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r1]
+ add r0, r0, #0x1
+ strb r0, [r4, r1]
+ pop {r4, pc}
_02082000:
mov r1, #0x6
mov r2, #0x0
@@ -240377,6 +271573,7 @@ _02082000:
sub r1, #0xa
strb r2, [r4, r1]
bl FUN_0200CAB4
+_02082010:
pop {r4, pc}
nop
_02082014: .word 0x00000176
@@ -240749,18 +271946,37 @@ FUN_02082284: ; 0x02082284
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r0, r1, #0
- lsl r0, r2, #0
- lsl r0, r3, #0
- lsl r0, r4, #0
- lsl r0, r5, #0
+_0208229E: ; jump table (using 16-bit offset)
+ .short _020822A8 - _0208229E - 2; case 0
+ .short _020822B0 - _0208229E - 2; case 1
+ .short _020822B8 - _0208229E - 2; case 2
+ .short _020822C0 - _0208229E - 2; case 3
+ .short _020822C8 - _0208229E - 2; case 4
+_020822A8:
add r1, r1, #0x1
ldrb r0, [r0, r1]
add r0, #0x21
b _020822D6
_020822B0:
- .byte 0x49, 0x1C, 0x40, 0x5C, 0x25, 0x30, 0x0E, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x29, 0x30, 0x0A, 0xE0
- .byte 0x49, 0x1C, 0x40, 0x5C, 0x2D, 0x30, 0x06, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x31, 0x30, 0x02, 0xE0
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x25
+ b _020822D6
+_020822B8:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x29
+ b _020822D6
+_020822C0:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x2d
+ b _020822D6
+_020822C8:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x31
+ b _020822D6
_020822D0:
bl FUN_02020C2C
pop {r3-r5, pc}
@@ -240807,11 +272023,13 @@ _02082310:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r6, r6, #0
- lsl r4, r4, #0x1
- lsl r2, r2, #0x2
- lsl r0, r0, #0x3
+_02082326: ; jump table (using 16-bit offset)
+ .short _02082330 - _02082326 - 2; case 0
+ .short _0208235E - _02082326 - 2; case 1
+ .short _0208238C - _02082326 - 2; case 2
+ .short _020823BA - _02082326 - 2; case 3
+ .short _020823E8 - _02082326 - 2; case 4
+_02082330:
add r0, r4, #0x0
add r0, #0xbc
ldrb r0, [r5, r0]
@@ -240823,26 +272041,138 @@ _02082310:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02082346: ; jump table (using 16-bit offset)
+ .short _0208234E - _02082346 - 2; case 0
+ .short _02082352 - _02082346 - 2; case 1
+ .short _02082356 - _02082346 - 2; case 2
+ .short _0208235A - _02082346 - 2; case 3
+_0208234E:
mov r4, #0x49
b _02082414
_02082352:
- .byte 0x4E, 0x24, 0x5E, 0xE0, 0x53, 0x24, 0x5C, 0xE0, 0x58, 0x24, 0x5A, 0xE0, 0x20, 0x1C
- .byte 0xBC, 0x30, 0x28, 0x5C, 0x03, 0x28, 0x55, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04
- .byte 0x00, 0x14, 0x87, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4A, 0x24, 0x49, 0xE0
- .byte 0x4F, 0x24, 0x47, 0xE0, 0x54, 0x24, 0x45, 0xE0, 0x59, 0x24, 0x43, 0xE0, 0x20, 0x1C, 0xBC, 0x30
- .byte 0x28, 0x5C, 0x03, 0x28, 0x3E, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14
- .byte 0x87, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x48, 0x24, 0x32, 0xE0, 0x4D, 0x24
- .byte 0x30, 0xE0, 0x52, 0x24, 0x2E, 0xE0, 0x57, 0x24, 0x2C, 0xE0, 0x20, 0x1C, 0xBC, 0x30, 0x28, 0x5C
- .byte 0x03, 0x28, 0x27, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44
- .byte 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4C, 0x24, 0x1B, 0xE0, 0x51, 0x24, 0x19, 0xE0
- .byte 0x56, 0x24, 0x17, 0xE0, 0x5B, 0x24, 0x15, 0xE0, 0x20, 0x1C, 0xBC, 0x30, 0x28, 0x5C, 0x03, 0x28
- .byte 0x10, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00
- .byte 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4B, 0x24, 0x04, 0xE0, 0x50, 0x24, 0x02, 0xE0, 0x55, 0x24
- .byte 0x00, 0xE0, 0x5A, 0x24
+ mov r4, #0x4e
+ b _02082414
+_02082356:
+ mov r4, #0x53
+ b _02082414
+_0208235A:
+ mov r4, #0x58
+ b _02082414
+_0208235E:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082374: ; jump table (using 16-bit offset)
+ .short _0208237C - _02082374 - 2; case 0
+ .short _02082380 - _02082374 - 2; case 1
+ .short _02082384 - _02082374 - 2; case 2
+ .short _02082388 - _02082374 - 2; case 3
+_0208237C:
+ mov r4, #0x4a
+ b _02082414
+_02082380:
+ mov r4, #0x4f
+ b _02082414
+_02082384:
+ mov r4, #0x54
+ b _02082414
+_02082388:
+ mov r4, #0x59
+ b _02082414
+_0208238C:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020823A2: ; jump table (using 16-bit offset)
+ .short _020823AA - _020823A2 - 2; case 0
+ .short _020823AE - _020823A2 - 2; case 1
+ .short _020823B2 - _020823A2 - 2; case 2
+ .short _020823B6 - _020823A2 - 2; case 3
+_020823AA:
+ mov r4, #0x48
+ b _02082414
+_020823AE:
+ mov r4, #0x4d
+ b _02082414
+_020823B2:
+ mov r4, #0x52
+ b _02082414
+_020823B6:
+ mov r4, #0x57
+ b _02082414
+_020823BA:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020823D0: ; jump table (using 16-bit offset)
+ .short _020823D8 - _020823D0 - 2; case 0
+ .short _020823DC - _020823D0 - 2; case 1
+ .short _020823E0 - _020823D0 - 2; case 2
+ .short _020823E4 - _020823D0 - 2; case 3
+_020823D8:
+ mov r4, #0x4c
+ b _02082414
+_020823DC:
+ mov r4, #0x51
+ b _02082414
+_020823E0:
+ mov r4, #0x56
+ b _02082414
+_020823E4:
+ mov r4, #0x5b
+ b _02082414
+_020823E8:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020823FE: ; jump table (using 16-bit offset)
+ .short _02082406 - _020823FE - 2; case 0
+ .short _0208240A - _020823FE - 2; case 1
+ .short _0208240E - _020823FE - 2; case 2
+ .short _02082412 - _020823FE - 2; case 3
+_02082406:
+ mov r4, #0x4b
+ b _02082414
+_0208240A:
+ mov r4, #0x50
+ b _02082414
+_0208240E:
+ mov r4, #0x55
+ b _02082414
+_02082412:
+ mov r4, #0x5a
_02082414:
cmp r4, #0x64
bne _0208241C
@@ -240916,10 +272246,12 @@ _02082494:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r2, #0
- lsl r4, r3, #0
- lsl r0, r5, #0
+_020824A8: ; jump table (using 16-bit offset)
+ .short _020824B0 - _020824A8 - 2; case 0
+ .short _020824BC - _020824A8 - 2; case 1
+ .short _020824C6 - _020824A8 - 2; case 2
+ .short _020824D2 - _020824A8 - 2; case 3
+_020824B0:
lsl r1, r0, #0x1
ldr r2, _020824F8 ; =0x020FBB90
add r0, r0, r1
@@ -240927,9 +272259,18 @@ _02082494:
str r0, [r4, #0x4]
b _020824DC
_020824BC:
- .byte 0x0F, 0x49, 0x80, 0x00
- .byte 0x08, 0x18, 0x60, 0x60, 0x0A, 0xE0, 0x81, 0x00, 0x0D, 0x4A, 0x40, 0x18, 0x10, 0x18, 0x60, 0x60
- .byte 0x04, 0xE0
+ ldr r1, _020824FC ; =0x020FBB98
+ lsl r0, r0, #0x2
+ add r0, r1, r0
+ str r0, [r4, #0x4]
+ b _020824DC
+_020824C6:
+ lsl r1, r0, #0x2
+ ldr r2, _02082500 ; =0x020FBBA0
+ add r0, r0, r1
+ add r0, r2, r0
+ str r0, [r4, #0x4]
+ b _020824DC
_020824D2:
mov r1, #0x6
ldr r2, _020824F4 ; =0x020FBBAC
@@ -240949,9 +272290,8 @@ _020824DC:
_020824F0: .word 0x000019BC
_020824F4: .word 0x020FBBAC
_020824F8: .word 0x020FBB90
-_020824FC:
- .byte 0x98, 0xBB, 0x0F, 0x02
- .byte 0xA0, 0xBB, 0x0F, 0x02
+_020824FC: .word 0x020FBB98
+_02082500: .word 0x020FBBA0
_02082504: .word FUN_0208251C + 1
thumb_func_start FUN_02082508
@@ -241089,21 +272429,24 @@ _020825EA:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r3, #0
- lsl r4, r3, #0
- lsl r4, r3, #0
- lsl r0, r2, #0
- lsl r0, r3, #0
- lsl r0, r2, #0
- lsl r0, r3, #0
- lsl r0, r2, #0
- lsl r0, r3, #0
+_02082606: ; jump table (using 16-bit offset)
+ .short _02082624 - _02082606 - 2; case 0
+ .short _02082624 - _02082606 - 2; case 1
+ .short _02082624 - _02082606 - 2; case 2
+ .short _02082618 - _02082606 - 2; case 3
+ .short _02082620 - _02082606 - 2; case 4
+ .short _02082618 - _02082606 - 2; case 5
+ .short _02082620 - _02082606 - 2; case 6
+ .short _02082618 - _02082606 - 2; case 7
+ .short _02082620 - _02082606 - 2; case 8
+_02082618:
mov r0, #0x1
add sp, #0xc
str r0, [r6, #0x0]
pop {r4-r7, pc}
_02082620:
- .byte 0x01, 0x20, 0x38, 0x60
+ mov r0, #0x1
+ str r0, [r7, #0x0]
_02082624:
add sp, #0xc
pop {r4-r7, pc}
@@ -241129,15 +272472,17 @@ FUN_02082630: ; 0x02082630
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r2, #0
- lsl r4, r2, #0
- lsl r4, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
- lsl r0, r2, #0
+_02082650: ; jump table (using 16-bit offset)
+ .short _02082666 - _02082650 - 2; case 0
+ .short _02082666 - _02082650 - 2; case 1
+ .short _02082666 - _02082650 - 2; case 2
+ .short _02082662 - _02082650 - 2; case 3
+ .short _02082662 - _02082650 - 2; case 4
+ .short _02082662 - _02082650 - 2; case 5
+ .short _02082662 - _02082650 - 2; case 6
+ .short _02082662 - _02082650 - 2; case 7
+ .short _02082662 - _02082650 - 2; case 8
+_02082662:
add sp, #0xc
pop {r4-r7, pc}
_02082666:
@@ -241466,20 +272811,23 @@ FUN_020828E4: ; 0x020828E4
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r3, #0
- lsl r2, r3, #0
- lsl r2, r3, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
- lsl r0, r2, #0
- lsl r6, r2, #0
+_0208290E: ; jump table (using 16-bit offset)
+ .short _0208292A - _0208290E - 2; case 0
+ .short _0208292A - _0208290E - 2; case 1
+ .short _0208292A - _0208290E - 2; case 2
+ .short _02082920 - _0208290E - 2; case 3
+ .short _02082926 - _0208290E - 2; case 4
+ .short _02082920 - _0208290E - 2; case 5
+ .short _02082926 - _0208290E - 2; case 6
+ .short _02082920 - _0208290E - 2; case 7
+ .short _02082926 - _0208290E - 2; case 8
+_02082920:
mov r0, #0x1
str r0, [sp, #0x18]
b _0208292A
_02082926:
- .byte 0x01, 0x20, 0x07, 0x90
+ mov r0, #0x1
+ str r0, [sp, #0x1c]
_0208292A:
mov r0, #0x1
mov r1, #0x0
@@ -241869,29 +273217,79 @@ _02082BE0:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r2, #0
- lsl r6, r3, #0
- lsl r6, r4, #0
- lsl r6, r5, #0
- lsl r6, r6, #0
- lsl r6, r7, #0
- lsl r6, r0, #0x1
- lsl r6, r1, #0x1
- lsl r6, r2, #0x1
- lsl r6, r3, #0x1
- lsl r6, r4, #0x1
- lsl r6, r5, #0x1
+_02082BF6: ; jump table (using 16-bit offset)
+ .short _02082C0E - _02082BF6 - 2; case 0
+ .short _02082C16 - _02082BF6 - 2; case 1
+ .short _02082C1E - _02082BF6 - 2; case 2
+ .short _02082C26 - _02082BF6 - 2; case 3
+ .short _02082C2E - _02082BF6 - 2; case 4
+ .short _02082C36 - _02082BF6 - 2; case 5
+ .short _02082C3E - _02082BF6 - 2; case 6
+ .short _02082C46 - _02082BF6 - 2; case 7
+ .short _02082C4E - _02082BF6 - 2; case 8
+ .short _02082C56 - _02082BF6 - 2; case 9
+ .short _02082C5E - _02082BF6 - 2; case 10
+ .short _02082C66 - _02082BF6 - 2; case 11
+_02082C0E:
add r0, r7, #0x0
add r0, #0x32
ldrb r2, [r0, #0x0]
b _02082C74
_02082C16:
- .byte 0x38, 0x1C, 0x33, 0x30, 0x02, 0x78, 0x2A, 0xE0, 0x38, 0x1C
- .byte 0x34, 0x30, 0x02, 0x78, 0x26, 0xE0, 0x38, 0x1C, 0x35, 0x30, 0x02, 0x78, 0x22, 0xE0, 0x38, 0x1C
- .byte 0x36, 0x30, 0x02, 0x78, 0x1E, 0xE0, 0x38, 0x1C, 0x37, 0x30, 0x02, 0x78, 0x1A, 0xE0, 0x38, 0x1C
- .byte 0x38, 0x30, 0x02, 0x78, 0x16, 0xE0, 0x38, 0x1C, 0x39, 0x30, 0x02, 0x78, 0x12, 0xE0, 0x38, 0x1C
- .byte 0x3A, 0x30, 0x02, 0x78, 0x0E, 0xE0, 0x38, 0x1C, 0x3B, 0x30, 0x02, 0x78, 0x0A, 0xE0, 0x38, 0x1C
- .byte 0x3C, 0x30, 0x02, 0x78, 0x06, 0xE0, 0x38, 0x1C, 0x3D, 0x30, 0x02, 0x78, 0x02, 0xE0
+ add r0, r7, #0x0
+ add r0, #0x33
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C1E:
+ add r0, r7, #0x0
+ add r0, #0x34
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C26:
+ add r0, r7, #0x0
+ add r0, #0x35
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C2E:
+ add r0, r7, #0x0
+ add r0, #0x36
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C36:
+ add r0, r7, #0x0
+ add r0, #0x37
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C3E:
+ add r0, r7, #0x0
+ add r0, #0x38
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C46:
+ add r0, r7, #0x0
+ add r0, #0x39
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C4E:
+ add r0, r7, #0x0
+ add r0, #0x3a
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C56:
+ add r0, r7, #0x0
+ add r0, #0x3b
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C5E:
+ add r0, r7, #0x0
+ add r0, #0x3c
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C66:
+ add r0, r7, #0x0
+ add r0, #0x3d
+ ldrb r2, [r0, #0x0]
+ b _02082C74
_02082C6E:
bl FUN_02020C2C
mov r2, #0x0
@@ -242551,11 +273949,12 @@ _02083182:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r4, r3, #0
- lsl r0, r6, #0
- lsl r4, r0, #0x1
- lsl r0, r3, #0x1
+_02083192: ; jump table (using 16-bit offset)
+ .short _0208319C - _02083192 - 2; case 0
+ .short _020831B0 - _02083192 - 2; case 1
+ .short _020831C4 - _02083192 - 2; case 2
+ .short _020831D8 - _02083192 - 2; case 3
+ .short _020831EC - _02083192 - 2; case 4
_0208319C:
mov r0, #0x1a
add r1, r4, #0x0
@@ -242567,9 +273966,7 @@ _0208319C:
ldrb r0, [r0, r1]
str r0, [r6, #0x0]
pop {r3-r7, pc}
-
- thumb_func_start FUN_020831B0
-FUN_020831B0: ; 0x020831B0
+_020831B0:
mov r0, #0x1a
add r1, r4, #0x0
mul r1, r0
@@ -242580,9 +273977,7 @@ FUN_020831B0: ; 0x020831B0
ldrb r0, [r0, r1]
str r0, [r6, #0x0]
pop {r3-r7, pc}
-
- thumb_func_start FUN_020831C4
-FUN_020831C4: ; 0x020831C4
+_020831C4:
mov r0, #0x1a
add r1, r4, #0x0
mul r1, r0
@@ -242593,9 +273988,7 @@ FUN_020831C4: ; 0x020831C4
ldrb r0, [r0, r1]
str r0, [r6, #0x0]
pop {r3-r7, pc}
-
- thumb_func_start FUN_020831D8
-FUN_020831D8: ; 0x020831D8
+_020831D8:
mov r0, #0x1a
add r1, r4, #0x0
mul r1, r0
@@ -242606,9 +273999,7 @@ FUN_020831D8: ; 0x020831D8
ldrb r0, [r0, r1]
str r0, [r6, #0x0]
pop {r3-r7, pc}
-
- thumb_func_start FUN_020831EC
-FUN_020831EC: ; 0x020831EC
+_020831EC:
mov r0, #0x1a
add r1, r4, #0x0
mul r1, r0
@@ -242656,15 +274047,20 @@ _02083240:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r2, r1, #0
- lsl r6, r1, #0
- lsl r2, r2, #0
+_02083250: ; jump table (using 16-bit offset)
+ .short _02083258 - _02083250 - 2; case 0
+ .short _0208325C - _02083250 - 2; case 1
+ .short _02083260 - _02083250 - 2; case 2
+ .short _02083264 - _02083250 - 2; case 3
+_02083258:
mov r0, #0x2e
bx lr
_0208325C:
- .byte 0x2F, 0x20, 0x70, 0x47
- .byte 0x30, 0x20, 0x70, 0x47
+ mov r0, #0x2f
+ bx lr
+_02083260:
+ mov r0, #0x30
+ bx lr
_02083264:
mov r0, #0x31
bx lr
@@ -242679,16 +274075,24 @@ FUN_02083268: ; 0x02083268
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r4, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
+_02083278: ; jump table (using 16-bit offset)
+ .short _02083282 - _02083278 - 2; case 0
+ .short _02083286 - _02083278 - 2; case 1
+ .short _0208328A - _02083278 - 2; case 2
+ .short _0208328E - _02083278 - 2; case 3
+ .short _02083292 - _02083278 - 2; case 4
+_02083282:
mov r0, #0x2e
bx lr
_02083286:
- .byte 0x2F, 0x20, 0x70, 0x47, 0x30, 0x20, 0x70, 0x47, 0x31, 0x20
- .byte 0x70, 0x47
+ mov r0, #0x2f
+ bx lr
+_0208328A:
+ mov r0, #0x30
+ bx lr
+_0208328E:
+ mov r0, #0x31
+ bx lr
_02083292:
mov r0, #0x33
bx lr
@@ -242717,16 +274121,24 @@ _020832AC:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r4, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
+_020832BC: ; jump table (using 16-bit offset)
+ .short _020832C6 - _020832BC - 2; case 0
+ .short _020832CA - _020832BC - 2; case 1
+ .short _020832CE - _020832BC - 2; case 2
+ .short _020832D2 - _020832BC - 2; case 3
+ .short _020832D6 - _020832BC - 2; case 4
+_020832C6:
mov r0, #0x29
bx lr
_020832CA:
- .byte 0x2A, 0x20, 0x70, 0x47, 0x2B, 0x20
- .byte 0x70, 0x47, 0x2C, 0x20, 0x70, 0x47
+ mov r0, #0x2a
+ bx lr
+_020832CE:
+ mov r0, #0x2b
+ bx lr
+_020832D2:
+ mov r0, #0x2c
+ bx lr
_020832D6:
mov r0, #0x2d
bx lr
@@ -242926,16 +274338,27 @@ FUN_0208341C: ; 0x0208341C
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r1, #0
- lsl r4, r1, #0
- lsl r0, r2, #0
- lsl r4, r2, #0
- lsl r0, r3, #0
+_0208342E: ; jump table (using 16-bit offset)
+ .short _02083438 - _0208342E - 2; case 0
+ .short _0208343C - _0208342E - 2; case 1
+ .short _02083440 - _0208342E - 2; case 2
+ .short _02083444 - _0208342E - 2; case 3
+ .short _02083448 - _0208342E - 2; case 4
+_02083438:
add r0, #0x7a
pop {r3, pc}
_0208343C:
- .byte 0x7E, 0x30, 0x08, 0xBD
- .byte 0x82, 0x30, 0x08, 0xBD, 0x86, 0x30, 0x08, 0xBD, 0x8A, 0x30, 0x08, 0xBD
+ add r0, #0x7e
+ pop {r3, pc}
+_02083440:
+ add r0, #0x82
+ pop {r3, pc}
+_02083444:
+ add r0, #0x86
+ pop {r3, pc}
+_02083448:
+ add r0, #0x8a
+ pop {r3, pc}
_0208344C:
bl FUN_02020C2C
mov r0, #0x7a
@@ -246964,24 +278387,51 @@ FUN_02085290: ; 0x02085290
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r2, #0
- lsl r0, r3, #0
- lsl r4, r3, #0
- lsl r0, r4, #0
- lsl r4, r4, #0
- lsl r0, r5, #0
- lsl r4, r5, #0
- lsl r0, r6, #0
- lsl r4, r6, #0
- lsl r0, r7, #0
- lsl r4, r7, #0
+_020852A0: ; jump table (using 16-bit offset)
+ .short _020852B6 - _020852A0 - 2; case 0
+ .short _020852BA - _020852A0 - 2; case 1
+ .short _020852BE - _020852A0 - 2; case 2
+ .short _020852C2 - _020852A0 - 2; case 3
+ .short _020852C6 - _020852A0 - 2; case 4
+ .short _020852CA - _020852A0 - 2; case 5
+ .short _020852CE - _020852A0 - 2; case 6
+ .short _020852D2 - _020852A0 - 2; case 7
+ .short _020852D6 - _020852A0 - 2; case 8
+ .short _020852DA - _020852A0 - 2; case 9
+ .short _020852DE - _020852A0 - 2; case 10
+_020852B6:
ldrh r0, [r0, #0x0]
bx lr
_020852BA:
- .byte 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78
- .byte 0x70, 0x47, 0x00, 0x79, 0x70, 0x47, 0x40, 0x79, 0x70, 0x47, 0x80, 0x79, 0x70, 0x47, 0xC0, 0x79
- .byte 0x70, 0x47, 0x00, 0x7A, 0x70, 0x47, 0x40, 0x7A, 0x70, 0x47, 0x80, 0x7A, 0x70, 0x47, 0xC0, 0x7A
- .byte 0x70, 0x47
+ ldrb r0, [r0, #0x2]
+ bx lr
+_020852BE:
+ ldrb r0, [r0, #0x3]
+ bx lr
+_020852C2:
+ ldrb r0, [r0, #0x4]
+ bx lr
+_020852C6:
+ ldrb r0, [r0, #0x5]
+ bx lr
+_020852CA:
+ ldrb r0, [r0, #0x6]
+ bx lr
+_020852CE:
+ ldrb r0, [r0, #0x7]
+ bx lr
+_020852D2:
+ ldrb r0, [r0, #0x8]
+ bx lr
+_020852D6:
+ ldrb r0, [r0, #0x9]
+ bx lr
+_020852DA:
+ ldrb r0, [r0, #0xa]
+ bx lr
+_020852DE:
+ ldrb r0, [r0, #0xb]
+ bx lr
_020852E2:
mov r0, #0x0
bx lr
@@ -247770,11 +279220,13 @@ _02085878:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r4, #0
- lsl r4, r1, #0x1
- lsl r2, r7, #0x1
- lsl r0, r3, #0x3
+_02085884: ; jump table (using 16-bit offset)
+ .short _0208588E - _02085884 - 2; case 0
+ .short _020858A6 - _02085884 - 2; case 1
+ .short _020858D2 - _02085884 - 2; case 2
+ .short _02085900 - _02085884 - 2; case 3
+ .short _0208595E - _02085884 - 2; case 4
+_0208588E:
ldrh r1, [r6, #0x0]
ldr r0, [r4, #0x10]
strh r1, [r0, #0x0]
@@ -247787,28 +279239,126 @@ _02085878:
str r0, [r5, #0x0]
b _02085990
_020858A6:
- .byte 0x20, 0x1C, 0x0C, 0x30, 0xFF, 0xF7, 0x93, 0xFF, 0x00, 0x28
- .byte 0x6E, 0xD0, 0x20, 0x69, 0x01, 0x88, 0x03, 0x29, 0x05, 0xD0, 0x37, 0x48, 0x81, 0x42, 0x05, 0xD1
- .byte 0x02, 0x20, 0x28, 0x60, 0x64, 0xE0, 0x02, 0x20, 0x28, 0x60, 0x61, 0xE0, 0x03, 0x20, 0x28, 0x60
- .byte 0x5E, 0xE0, 0x30, 0x88, 0x01, 0x28, 0x11, 0xD1, 0x21, 0x69, 0x08, 0x88, 0x03, 0x28, 0x0B, 0xD1
- .byte 0x70, 0x69, 0xFF, 0xF7, 0x5F, 0xFF, 0x30, 0x69, 0xA4, 0xF7, 0x6E, 0xFB, 0x02, 0x21, 0xA4, 0xF7
- .byte 0x3F, 0xFC, 0x01, 0x20, 0x70, 0x60, 0x01, 0xE0, 0x00, 0x20, 0x70, 0x60, 0x01, 0x20, 0x70, 0xBD
- .byte 0x32, 0x69, 0x23, 0x68, 0x02, 0x20, 0x00, 0x21, 0xFF, 0xF7, 0x16, 0xFD, 0xA0, 0x60, 0x20, 0x69
- .byte 0x01, 0x1C, 0x80, 0x78, 0x1A, 0x31, 0xC0, 0x00, 0x08, 0x18, 0x8D, 0xF7, 0x9F, 0xFF, 0x00, 0x28
- .byte 0x0A, 0xD0, 0x21, 0x69, 0x20, 0x1C, 0x0A, 0x1C, 0x89, 0x78, 0x1A, 0x32, 0x14, 0x30, 0xC9, 0x00
- .byte 0x51, 0x18, 0x8E, 0xF7, 0x15, 0xF8, 0x04, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x03, 0x21, 0x8D, 0xF7
- .byte 0xFD, 0xFE, 0x21, 0x1C, 0xA0, 0x68, 0x14, 0x31, 0xFF, 0xF7, 0x38, 0xFD, 0x13, 0x48, 0xA1, 0x68
- .byte 0x22, 0x68, 0x80, 0xF7, 0x6F, 0xFC, 0xE0, 0x60, 0x04, 0x20, 0x28, 0x60, 0x18, 0xE0, 0x20, 0x1C
- .byte 0x0C, 0x30, 0xFF, 0xF7, 0x37, 0xFF, 0x00, 0x28, 0x12, 0xD0, 0xA0, 0x68, 0xFF, 0xF7, 0x3A, 0xFD
- .byte 0x00, 0x28, 0x08, 0xD1, 0x21, 0x69, 0xA0, 0x68, 0x0A, 0x1C, 0x89, 0x78, 0x1A, 0x32, 0xC9, 0x00
- .byte 0x51, 0x18, 0xFF, 0xF7, 0x3B, 0xFD, 0xA0, 0x68, 0xFF, 0xF7, 0x0E, 0xFD, 0x00, 0x20, 0x28, 0x60
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_020857D4
+ cmp r0, #0x0
+ beq _02085990
+ ldr r0, [r4, #0x10]
+ ldrh r1, [r0, #0x0]
+ cmp r1, #0x3
+ beq _020858C6
+ ldr r0, _02085998 ; =0x0000FFFF
+ cmp r1, r0
+ bne _020858CC
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02085990
+_020858C6:
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02085990
+_020858CC:
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02085990
+_020858D2:
+ ldrh r0, [r6, #0x0]
+ cmp r0, #0x1
+ bne _020858FC
+ ldr r1, [r4, #0x10]
+ ldrh r0, [r1, #0x0]
+ cmp r0, #0x3
+ bne _020858F8
+ ldr r0, [r6, #0x14]
+ bl FUN_020857A4
+ ldr r0, [r6, #0x10]
+ bl FUN_02029FC8
+ mov r1, #0x2
+ bl FUN_0202A170
+ mov r0, #0x1
+ str r0, [r6, #0x4]
+ b _020858FC
+_020858F8:
+ mov r0, #0x0
+ str r0, [r6, #0x4]
+_020858FC:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02085900:
+ ldr r2, [r6, #0x10]
+ ldr r3, [r4, #0x0]
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_02085338
+ str r0, [r4, #0x8]
+ ldr r0, [r4, #0x10]
+ add r1, r0, #0x0
+ ldrb r0, [r0, #0x2]
+ add r1, #0x1a
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ bl FUN_0201385C
+ cmp r0, #0x0
+ beq _02085938
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ ldrb r1, [r1, #0x2]
+ add r2, #0x1a
+ add r0, #0x14
+ lsl r1, r1, #0x3
+ add r1, r2, r1
+ bl FUN_02013960
+ b _02085942
+_02085938:
+ add r0, r4, #0x0
+ add r0, #0x14
+ mov r1, #0x3
+ bl FUN_0201373C
+_02085942:
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x8]
+ add r1, #0x14
+ bl FUN_020853BC
+ ldr r0, _0208599C ; =0x020FCAB8
+ ldr r1, [r4, #0x8]
+ ldr r2, [r4, #0x0]
+ bl FUN_02006234
+ str r0, [r4, #0xc]
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02085990
+_0208595E:
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_020857D4
+ cmp r0, #0x0
+ beq _02085990
+ ldr r0, [r4, #0x8]
+ bl FUN_020853E4
+ cmp r0, #0x0
+ bne _02085986
+ ldr r1, [r4, #0x10]
+ ldr r0, [r4, #0x8]
+ add r2, r1, #0x0
+ ldrb r1, [r1, #0x2]
+ add r2, #0x1a
+ lsl r1, r1, #0x3
+ add r1, r2, r1
+ bl FUN_020853FC
+_02085986:
+ ldr r0, [r4, #0x8]
+ bl FUN_020853A8
+ mov r0, #0x0
+ str r0, [r5, #0x0]
_02085990:
mov r0, #0x0
pop {r4-r6, pc}
.balign 4
_02085994: .word 0x020FCAA8
-_02085998:
- .byte 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0xCA, 0x0F, 0x02
+_02085998: .word 0x0000FFFF
+_0208599C: .word 0x020FCAB8
thumb_func_start FUN_020859A0
FUN_020859A0: ; 0x020859A0
@@ -248293,13 +279843,15 @@ _02085DC2:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r4, r1, #0
- lsl r0, r5, #0x1
- lsl r0, r7, #0x1
- lsl r6, r2, #0x2
- lsl r6, r2, #0x3
- lsl r4, r0, #0x5
- lsl r0, r2, #0x5
+_02085DCE: ; jump table (using 16-bit offset)
+ .short _02085DDC - _02085DCE - 2; case 0
+ .short _02085E38 - _02085DCE - 2; case 1
+ .short _02085E48 - _02085DCE - 2; case 2
+ .short _02085E66 - _02085DCE - 2; case 3
+ .short _02085EA6 - _02085DCE - 2; case 4
+ .short _02085F14 - _02085DCE - 2; case 5
+ .short _02085F20 - _02085DCE - 2; case 6
+_02085DDC:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r6, #0x10]
@@ -248345,30 +279897,128 @@ _02085E32:
str r0, [r6, #0x14]
b _02085F38
_02085E38:
- .byte 0x41, 0x49, 0x28, 0x1C, 0x3A, 0x1C, 0xC0, 0xF7
- .byte 0x5F, 0xFB, 0x02, 0x20, 0x70, 0x61, 0x77, 0xE0, 0xB0, 0x68, 0xFF, 0xF7, 0xA3, 0xFF, 0x00, 0x28
- .byte 0x03, 0xD0, 0x01, 0x28, 0x04, 0xD0, 0x9A, 0xF7, 0xE9, 0xFE, 0x05, 0x20, 0x70, 0x61, 0x6B, 0xE0
- .byte 0x03, 0x20, 0x70, 0x61, 0x68, 0xE0, 0xF4, 0x68, 0xF8, 0x69, 0x20, 0x60, 0x30, 0x69, 0xE9, 0xF7
- .byte 0x73, 0xF9, 0x60, 0x60, 0x30, 0x69, 0x9F, 0xF7, 0xDF, 0xFC, 0xA0, 0x60, 0x20, 0x1C, 0x00, 0x21
- .byte 0x22, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x21, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x0F, 0x21, 0x20, 0x30
- .byte 0x01, 0x70, 0x78, 0x6A, 0x2B, 0x49, 0xE0, 0x60, 0x28, 0x1C, 0x22, 0x1C, 0xC0, 0xF7, 0x30, 0xFB
- .byte 0x04, 0x20, 0x70, 0x61, 0x48, 0xE0, 0xB0, 0x68, 0xF4, 0x68, 0xFF, 0xF7, 0x6B, 0xFF, 0x40, 0x1C
- .byte 0x02, 0x90, 0x22, 0x34, 0x21, 0x78, 0x07, 0x29, 0x29, 0xD0, 0xB0, 0x68, 0xFF, 0xF7, 0x56, 0xFF
- .byte 0xA1, 0x21, 0x02, 0xAA, 0x05, 0x1C, 0xE1, 0xF7, 0xB3, 0xFC, 0x02, 0x99, 0x38, 0x6A, 0x49, 0x1E
- .byte 0xA3, 0xF7, 0xDC, 0xFE, 0x02, 0x1C, 0x28, 0x1C, 0xAA, 0x21, 0xE1, 0xF7, 0xA9, 0xFC, 0x02, 0x99
- .byte 0x38, 0x6A, 0x49, 0x1E, 0xA3, 0xF7, 0xD2, 0xFE, 0x00, 0x21, 0xA3, 0xF7, 0xED, 0xFE, 0xA3, 0xF7
- .byte 0xF7, 0xFE, 0x00, 0x06, 0x00, 0x0E, 0x00, 0xF0, 0x6B, 0xF8, 0x04, 0x1C, 0x01, 0x98, 0xC0, 0x68
- .byte 0x9C, 0xF7, 0x00, 0xFB, 0x22, 0x06, 0x29, 0x1C, 0x12, 0x0E, 0xDB, 0xF7, 0x45, 0xFC, 0x01, 0x20
- .byte 0x70, 0x61, 0x11, 0xE0, 0x28, 0x1C, 0xC5, 0xF7, 0x35, 0xF8, 0x06, 0x20, 0x70, 0x61, 0x0B, 0xE0
- .byte 0xF0, 0x68, 0x90, 0xF7, 0x79, 0xFD, 0xB0, 0x68, 0x90, 0xF7, 0x76, 0xFD, 0x30, 0x1C, 0x90, 0xF7
- .byte 0x73, 0xFD, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD
+ ldr r1, _02085F40 ; =0x020FCAD8
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_02046500
+ mov r0, #0x2
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E48:
+ ldr r0, [r6, #0x8]
+ bl FUN_02085D94
+ cmp r0, #0x0
+ beq _02085E5A
+ cmp r0, #0x1
+ beq _02085E60
+ bl FUN_02020C2C
+_02085E5A:
+ mov r0, #0x5
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E60:
+ mov r0, #0x3
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E66:
+ ldr r4, [r6, #0xc]
+ ldr r0, [r7, #0x1c]
+ str r0, [r4, #0x0]
+ ldr r0, [r6, #0x10]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ ldr r0, [r6, #0x10]
+ bl FUN_02025838
+ str r0, [r4, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r0, [r7, #0x24]
+ ldr r1, _02085F44 ; =0x020F96DC
+ str r0, [r4, #0xc]
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02046500
+ mov r0, #0x4
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085EA6:
+ ldr r0, [r6, #0x8]
+ ldr r4, [r6, #0xc]
+ bl FUN_02085D84
+ add r0, r0, #0x1
+ str r0, [sp, #0x8]
+ add r4, #0x22
+ ldrb r1, [r4, #0x0]
+ cmp r1, #0x7
+ beq _02085F0E
+ ldr r0, [r6, #0x8]
+ bl FUN_02085D6C
+ mov r1, #0xa1
+ add r2, sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_02067830
+ ldr r1, [sp, #0x8]
+ ldr r0, [r7, #0x20]
+ sub r1, r1, #0x1
+ bl FUN_02029C8C
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xaa
+ bl FUN_02067830
+ ldr r1, [sp, #0x8]
+ ldr r0, [r7, #0x20]
+ sub r1, r1, #0x1
+ bl FUN_02029C8C
+ mov r1, #0x0
+ bl FUN_02029CC8
+ bl FUN_02029CE0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02085FD0
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ lsl r2, r4, #0x18
+ add r1, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02061798
+_02085F0E:
+ mov r0, #0x1
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085F14:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ mov r0, #0x6
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085F20:
+ ldr r0, [r6, #0xc]
+ bl FUN_02016A18
+ ldr r0, [r6, #0x8]
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
_02085F38:
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
nop
-_02085F40:
- .byte 0xD8, 0xCA, 0x0F, 0x02, 0xDC, 0x96, 0x0F, 0x02
+_02085F40: .word 0x020FCAD8
+_02085F44: .word 0x020F96DC
thumb_func_start FUN_02085F48
FUN_02085F48: ; 0x02085F48
@@ -248761,13 +280411,15 @@ _02086294:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r2, r4, #0
- lsl r4, r6, #0
- lsl r0, r3, #0x2
- lsl r4, r6, #0x3
- lsl r4, r2, #0x4
- lsl r2, r4, #0x4
+_020862A0: ; jump table (using 16-bit offset)
+ .short _020862AE - _020862A0 - 2; case 0
+ .short _020862C4 - _020862A0 - 2; case 1
+ .short _020862D6 - _020862A0 - 2; case 2
+ .short _0208633A - _020862A0 - 2; case 3
+ .short _02086396 - _020862A0 - 2; case 4
+ .short _020863B6 - _020862A0 - 2; case 5
+ .short _020863C4 - _020862A0 - 2; case 6
+_020862AE:
ldr r0, [r4, #0xc]
mov r1, #0xb
bl FUN_021ED940
@@ -248778,29 +280430,131 @@ _02086294:
str r0, [r4, #0x0]
b _020863CE
_020862C4:
- .byte 0x43, 0x49, 0x28, 0x1C, 0x22, 0x1C, 0xC0, 0xF7, 0x19, 0xF9, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x7B, 0xE0, 0x28, 0x1C, 0xC0, 0xF7, 0x26, 0xF9, 0x06, 0x1C, 0xE5, 0x68
- .byte 0xB1, 0xF7, 0x64, 0xFA, 0x9D, 0xF7, 0x06, 0xFB, 0x07, 0x1C, 0xF0, 0x69, 0x00, 0x68, 0xAE, 0xF7
- .byte 0x99, 0xFA, 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0x28, 0x1C, 0x4C, 0x21, 0x02, 0xAA, 0xE1, 0xF7
- .byte 0x97, 0xFA, 0x0B, 0x20, 0x00, 0x90, 0x01, 0x9B, 0x28, 0x1C, 0x39, 0x1C, 0x06, 0x22, 0xFA, 0xF7
- .byte 0xC5, 0xFA, 0x28, 0x1C, 0xB2, 0x21, 0x00, 0x22, 0xE1, 0xF7, 0x8A, 0xFA, 0x30, 0x1C, 0xB1, 0xF7
- .byte 0x45, 0xFA, 0xE1, 0x68, 0xA5, 0xF7, 0x0E, 0xFF, 0x60, 0x68, 0x01, 0x28, 0x02, 0xD1, 0x03, 0x20
- .byte 0x20, 0x60, 0x4C, 0xE0, 0x05, 0x20, 0x20, 0x60, 0x49, 0xE0, 0x28, 0x1C, 0xC0, 0xF7, 0xF4, 0xF8
- .byte 0x06, 0x1C, 0xE0, 0x68, 0x05, 0x21, 0x00, 0x22, 0xE0, 0xF7, 0x38, 0xFF, 0x07, 0x1C, 0x30, 0x1C
- .byte 0xB1, 0xF7, 0x2C, 0xFA, 0x9D, 0xF7, 0xD4, 0xFA, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x21, 0x3A, 0x1C
- .byte 0x0A, 0x23, 0xF1, 0xF7, 0x8F, 0xFB, 0xA0, 0x60, 0xE0, 0x68, 0x6F, 0x21, 0x00, 0x22, 0xE0, 0xF7
- .byte 0x25, 0xFF, 0xA1, 0x68, 0x00, 0x22, 0x08, 0x61, 0xE0, 0x68, 0x70, 0x21, 0xE0, 0xF7, 0x1E, 0xFF
- .byte 0xA1, 0x68, 0x88, 0x60, 0x14, 0x49, 0xA2, 0x68, 0x28, 0x1C, 0xC0, 0xF7, 0xB9, 0xF8, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0, 0xA2, 0x68, 0x50, 0x69, 0x00, 0x28, 0x04, 0xD1, 0xE0, 0x68
- .byte 0x92, 0x69, 0x77, 0x21, 0xE1, 0xF7, 0x44, 0xFA, 0xA0, 0x68, 0xF1, 0xF7, 0x8B, 0xFB, 0x20, 0x68
- .byte 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x28, 0x1C, 0xC4, 0xF7, 0xE4, 0xFD, 0x20, 0x68, 0x40, 0x1C
- .byte 0x20, 0x60, 0x04, 0xE0, 0x90, 0xF7, 0x28, 0xFB, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD
+ ldr r1, _020863D4 ; =0x020FCE14
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020862D6:
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r5, [r4, #0xc]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ ldr r0, [r6, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x4c
+ add r2, sp, #0x8
+ bl FUN_02067830
+ mov r0, #0xb
+ str r0, [sp, #0x0]
+ ldr r3, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x6
+ bl FUN_0208089C
+ add r0, r5, #0x0
+ mov r1, #0xb2
+ mov r2, #0x0
+ bl FUN_02067830
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ ldr r1, [r4, #0xc]
+ bl FUN_0202C144
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _02086334
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _020863CE
+_02086334:
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _020863CE
+_0208633A:
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ bl FUN_02023900
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r1, #0x1
+ add r2, r7, #0x0
+ mov r3, #0xa
+ bl FUN_02077A84
+ str r0, [r4, #0x8]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [r4, #0x8]
+ mov r2, #0x0
+ str r0, [r1, #0x10]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x70
+ bl FUN_020671BC
+ ldr r1, [r4, #0x8]
+ str r0, [r1, #0x8]
+ ldr r1, _020863D8 ; =0x020FA5FC
+ ldr r2, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_02086396:
+ ldr r2, [r4, #0x8]
+ ldr r0, [r2, #0x14]
+ cmp r0, #0x0
+ bne _020863A8
+ ldr r0, [r4, #0xc]
+ ldr r2, [r2, #0x18]
+ mov r1, #0x77
+ bl FUN_02067830
+_020863A8:
+ ldr r0, [r4, #0x8]
+ bl FUN_02077AC4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020863B6:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020863C4:
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
_020863CE:
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
-_020863D4:
- .byte 0x14, 0xCE, 0x0F, 0x02, 0xFC, 0xA5, 0x0F, 0x02
+ .balign 4
+_020863D4: .word 0x020FCE14
+_020863D8: .word 0x020FA5FC
thumb_func_start FUN_020863DC
FUN_020863DC: ; 0x020863DC
@@ -250294,24 +282048,26 @@ _02086FCC:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r2, r4, #0
- lsl r0, r2, #0x2
- lsl r2, r3, #0x2
- lsl r0, r7, #0x2
- lsl r0, r1, #0x3
- lsl r0, r3, #0x3
- lsl r0, r5, #0x3
- lsl r0, r7, #0x3
- lsl r4, r6, #0x4
- lsl r0, r1, #0x5
- lsl r0, r3, #0x5
- lsl r6, r7, #0x5
- lsl r0, r2, #0x7
- lsl r0, r1, #0x8
- lsl r4, r2, #0x8
- lsl r2, r3, #0x8
- lsl r4, r4, #0x8
- lsl r4, r6, #0x8
+_02086FD8: ; jump table (using 16-bit offset)
+ .short _02086FFC - _02086FD8 - 2; case 0
+ .short _0208706A - _02086FD8 - 2; case 1
+ .short _02087074 - _02086FD8 - 2; case 2
+ .short _02087092 - _02086FD8 - 2; case 3
+ .short _020870A2 - _02086FD8 - 2; case 4
+ .short _020870B2 - _02086FD8 - 2; case 5
+ .short _020870C2 - _02086FD8 - 2; case 6
+ .short _020870D2 - _02086FD8 - 2; case 7
+ .short _0208710E - _02086FD8 - 2; case 8
+ .short _02087122 - _02086FD8 - 2; case 9
+ .short _02087132 - _02086FD8 - 2; case 10
+ .short _02087158 - _02086FD8 - 2; case 11
+ .short _020871AA - _02086FD8 - 2; case 12
+ .short _020871E2 - _02086FD8 - 2; case 13
+ .short _020871EE - _02086FD8 - 2; case 14
+ .short _020871F4 - _02086FD8 - 2; case 15
+ .short _020871FE - _02086FD8 - 2; case 16
+ .short _0208720E - _02086FD8 - 2; case 17
+_02086FFC:
ldr r0, [r4, #0x4]
ldr r1, [r4, #0x8]
bl FUN_0208699C
@@ -250359,33 +282115,211 @@ _02086FCC:
str r0, [r4, #0x5c]
b _02087232
_0208706A:
- .byte 0xFF, 0xF7, 0x27, 0xFB, 0xE0, 0x6D
- .byte 0x40, 0x1C, 0xE0, 0x65, 0x87, 0xF7, 0x48, 0xF9, 0x01, 0x28, 0x56, 0xD1, 0x7E, 0xF7, 0xCE, 0xF9
- .byte 0x6F, 0x49, 0x0D, 0x20, 0x01, 0x22, 0x7D, 0xF7, 0x59, 0xF9, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0xCF, 0xE0, 0x00, 0xF0, 0x03, 0xFA, 0x00, 0x28, 0x47, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0xC7, 0xE0, 0x00, 0xF0, 0x1F, 0xFA, 0x00, 0x28, 0x3F, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0xBF, 0xE0, 0x00, 0xF0, 0x4F, 0xFA, 0x00, 0x28, 0x37, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0xB7, 0xE0, 0x00, 0xF0, 0x73, 0xFA, 0x00, 0x28, 0x2F, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0xAF, 0xE0, 0x00, 0xF0, 0x9D, 0xFA, 0x00, 0x28, 0x27, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x36, 0xFF
- .byte 0x20, 0x68, 0x05, 0x21, 0xC0, 0x68, 0x00, 0x22, 0xE0, 0xF7, 0x68, 0xF8, 0x00, 0x04, 0x00, 0x0C
- .byte 0x7E, 0xF7, 0x42, 0xFA, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x00, 0x21
- .byte 0xFF, 0xF7, 0x74, 0xFB, 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x91, 0xE0, 0x7E, 0xF7
- .byte 0xAF, 0xFA, 0x00, 0x28, 0x09, 0xD1, 0x4B, 0x48, 0x7E, 0xF7, 0x86, 0xFD, 0xE0, 0x6D, 0x40, 0x1C
- .byte 0xE0, 0x65, 0x7E, 0xF7, 0xCB, 0xFD, 0x00, 0x28, 0x00, 0xD0, 0x82, 0xE0, 0xE0, 0x6D, 0x40, 0x1C
- .byte 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7, 0x1A, 0xFE, 0x00, 0x28, 0x78, 0xD1
- .byte 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x01, 0x21, 0xFF, 0xF7, 0x4E, 0xFB
- .byte 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7
- .byte 0x07, 0xFE, 0x00, 0x28, 0x65, 0xD1, 0x60, 0x6D, 0x00, 0x21, 0x8D, 0xF7, 0x07, 0xFE, 0x01, 0x28
- .byte 0x5F, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x0C, 0xF9, 0x00, 0x28, 0x5A, 0xD1, 0x19, 0x20, 0x00, 0x90
- .byte 0x0D, 0x20, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x04, 0x20, 0x03, 0x90, 0xA7, 0x20, 0x04, 0x90
- .byte 0x0E, 0x20, 0x05, 0x90, 0x22, 0x1C, 0x61, 0x68, 0x20, 0x1C, 0x28, 0x32, 0x01, 0x23, 0xFF, 0xF7
- .byte 0x6B, 0xFB, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x43, 0xE0, 0xA0, 0x6C, 0x7A, 0xF7, 0x64, 0xFD
- .byte 0xE9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x49, 0x1C, 0x88, 0x42, 0x3A, 0xD0, 0x06, 0xE0, 0x20, 0x68
- .byte 0x00, 0x21, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x32, 0xE0, 0x00, 0x28, 0x01, 0xD1
- .byte 0x29, 0x1C, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x68, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0x27, 0xE0, 0xFF, 0xF7, 0xBD, 0xFB, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x21, 0xE0, 0x48, 0x1C
- .byte 0xE0, 0x65, 0x1E, 0xE0, 0xFF, 0xF7, 0x72, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x87, 0xF7
- .byte 0x83, 0xF8, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x11, 0xE0
+ bl FUN_020866BC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087074:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0208712A
+ bl FUN_0200541C
+ ldr r1, _02087240 ; =0x00000475
+ mov r0, #0xd
+ mov r2, #0x1
+ bl FUN_0200433C
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_02087092:
+ bl FUN_0208749C
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870A2:
+ bl FUN_020874E4
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870B2:
+ bl FUN_02087554
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870C2:
+ bl FUN_020875AC
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870D2:
+ bl FUN_02087610
+ cmp r0, #0x0
+ bne _0208712A
+ add r0, r4, #0x0
+ bl FUN_02086F4C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x5
+ ldr r0, [r0, #0xc]
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02005578
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x0
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_0208710E:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, _02087244 ; =0x00000484
+ bl FUN_02005C28
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087122:
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ beq _0208712C
+_0208712A:
+ b _02087232
+_0208712C:
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087132:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087232
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x1
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087158:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087232
+ ldr r0, [r4, #0x54]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _02087232
+ ldr r0, [r4, #0x68]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _02087232
+ mov r0, #0x19
+ str r0, [sp, #0x0]
+ mov r0, #0xd
+ str r0, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x4
+ str r0, [sp, #0xc]
+ mov r0, #0xa7
+ str r0, [sp, #0x10]
+ mov r0, #0xe
+ str r0, [sp, #0x14]
+ add r2, r4, #0x0
+ ldr r1, [r4, #0x4]
+ add r0, r4, #0x0
+ add r2, #0x28
+ mov r3, #0x1
+ bl FUN_02086878
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871AA:
+ ldr r0, [r4, #0x48]
+ bl FUN_02001C78
+ sub r1, r5, #0x3
+ cmp r0, r1
+ beq _020871BE
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _02087232
+ b _020871CC
+_020871BE:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871CC:
+ cmp r0, #0x0
+ bne _020871D4
+ add r1, r5, #0x0
+ b _020871D6
+_020871D4:
+ mov r1, #0x0
+_020871D6:
+ ldr r0, [r4, #0x0]
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871E2:
+ bl FUN_02086960
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871EE:
+ add r0, r1, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871F4:
+ bl FUN_020866DC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_020871FE:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02087232
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
_0208720E:
add r0, r4, #0x0
bl FUN_02086F8C
@@ -250407,8 +282341,8 @@ _02087232:
add sp, #0x20
pop {r3-r5, pc}
nop
-_02087240:
- .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00
+_02087240: .word 0x00000475
+_02087244: .word 0x00000484
thumb_func_start FUN_02087248
FUN_02087248: ; 0x02087248
@@ -250427,24 +282361,26 @@ _02087258:
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
- lsl r2, r4, #0
- lsl r0, r3, #0x2
- lsl r2, r4, #0x2
- lsl r4, r7, #0x2
- lsl r6, r6, #0x3
- lsl r6, r6, #0x3
- lsl r6, r6, #0x3
- lsl r6, r6, #0x3
- lsl r4, r7, #0x3
- lsl r0, r2, #0x4
- lsl r0, r4, #0x4
- lsl r6, r0, #0x5
- lsl r0, r3, #0x6
- lsl r0, r2, #0x7
- lsl r4, r3, #0x7
- lsl r2, r4, #0x7
- lsl r4, r5, #0x7
- lsl r4, r7, #0x7
+_02087264: ; jump table (using 16-bit offset)
+ .short _02087288 - _02087264 - 2; case 0
+ .short _020872FE - _02087264 - 2; case 1
+ .short _02087308 - _02087264 - 2; case 2
+ .short _02087322 - _02087264 - 2; case 3
+ .short _0208735C - _02087264 - 2; case 4
+ .short _0208735C - _02087264 - 2; case 5
+ .short _0208735C - _02087264 - 2; case 6
+ .short _0208735C - _02087264 - 2; case 7
+ .short _02087362 - _02087264 - 2; case 8
+ .short _02087376 - _02087264 - 2; case 9
+ .short _02087386 - _02087264 - 2; case 10
+ .short _020873AC - _02087264 - 2; case 11
+ .short _020873FE - _02087264 - 2; case 12
+ .short _02087436 - _02087264 - 2; case 13
+ .short _02087442 - _02087264 - 2; case 14
+ .short _02087448 - _02087264 - 2; case 15
+ .short _02087452 - _02087264 - 2; case 16
+ .short _02087462 - _02087264 - 2; case 17
+_02087288:
ldr r0, [r4, #0x4]
ldr r1, [r4, #0x8]
bl FUN_0208699C
@@ -250495,30 +282431,180 @@ _02087258:
str r0, [r4, #0x5c]
b _02087486
_020872FE:
- .byte 0xFF, 0xF7
- .byte 0xDD, 0xF9, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x86, 0xF7, 0xFE, 0xFF, 0x01, 0x28, 0x36, 0xD1
- .byte 0x60, 0x49, 0x0D, 0x20, 0x01, 0x22, 0x7D, 0xF7, 0x11, 0xF8, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0xB1, 0xE0, 0x00, 0xF0, 0x7D, 0xFA, 0x00, 0x28, 0x29, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x0E, 0xFE
- .byte 0x20, 0x68, 0x05, 0x21, 0xC0, 0x68, 0x00, 0x22, 0xDF, 0xF7, 0x40, 0xFF, 0x00, 0x04, 0x00, 0x0C
- .byte 0x7E, 0xF7, 0x1A, 0xF9, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x00, 0x21
- .byte 0xFF, 0xF7, 0x4C, 0xFA, 0xE0, 0x60, 0x08, 0x20, 0xE0, 0x65, 0x94, 0xE0, 0x99, 0xF7, 0x66, 0xFC
- .byte 0x91, 0xE0, 0x7E, 0xF7, 0x85, 0xF9, 0x00, 0x28, 0x09, 0xD1, 0x4B, 0x48, 0x7E, 0xF7, 0x5C, 0xFC
- .byte 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x7E, 0xF7, 0xA1, 0xFC, 0x00, 0x28, 0x00, 0xD0, 0x82, 0xE0
- .byte 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7, 0xF0, 0xFC
- .byte 0x00, 0x28, 0x78, 0xD1, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x01, 0x21
- .byte 0xFF, 0xF7, 0x24, 0xFA, 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06
- .byte 0x00, 0x0E, 0x94, 0xF7, 0xDD, 0xFC, 0x00, 0x28, 0x65, 0xD1, 0x60, 0x6D, 0x00, 0x21, 0x8D, 0xF7
- .byte 0xDD, 0xFC, 0x01, 0x28, 0x5F, 0xD1, 0xA0, 0x6E, 0x7F, 0xF7, 0xE2, 0xFF, 0x00, 0x28, 0x5A, 0xD1
- .byte 0x19, 0x20, 0x00, 0x90, 0x0D, 0x20, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x04, 0x20, 0x03, 0x90
- .byte 0xA7, 0x20, 0x04, 0x90, 0x0E, 0x20, 0x05, 0x90, 0x22, 0x1C, 0x61, 0x68, 0x20, 0x1C, 0x28, 0x32
- .byte 0x01, 0x23, 0xFF, 0xF7, 0x41, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x43, 0xE0, 0xA0, 0x6C
- .byte 0x7A, 0xF7, 0x3A, 0xFC, 0xE9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x49, 0x1C, 0x88, 0x42, 0x3A, 0xD0
- .byte 0x06, 0xE0, 0x20, 0x68, 0x00, 0x21, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x32, 0xE0
- .byte 0x00, 0x28, 0x01, 0xD1, 0x29, 0x1C, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x68, 0x41, 0x60, 0xE0, 0x6D
- .byte 0x40, 0x1C, 0xE0, 0x65, 0x27, 0xE0, 0xFF, 0xF7, 0x93, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0x21, 0xE0, 0x48, 0x1C, 0xE0, 0x65, 0x1E, 0xE0, 0xFF, 0xF7, 0x48, 0xF9, 0xE0, 0x6D, 0x40, 0x1C
- .byte 0xE0, 0x65, 0x86, 0xF7, 0x59, 0xFF, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65
- .byte 0x11, 0xE0
+ bl FUN_020866BC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087308:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0208737E
+ ldr r1, _02087494 ; =0x00000475
+ mov r0, #0xd
+ mov r2, #0x1
+ bl FUN_0200433C
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087322:
+ bl FUN_02087820
+ cmp r0, #0x0
+ bne _0208737E
+ add r0, r4, #0x0
+ bl FUN_02086F4C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x5
+ ldr r0, [r0, #0xc]
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02005578
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x0
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ mov r0, #0x8
+ str r0, [r4, #0x5c]
+ b _02087486
+_0208735C:
+ bl FUN_02020C2C
+ b _02087486
+_02087362:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0208737E
+ ldr r0, _02087498 ; =0x00000484
+ bl FUN_02005C28
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087376:
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ beq _02087380
+_0208737E:
+ b _02087486
+_02087380:
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087386:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087486
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x1
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_020873AC:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087486
+ ldr r0, [r4, #0x54]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _02087486
+ ldr r0, [r4, #0x68]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _02087486
+ mov r0, #0x19
+ str r0, [sp, #0x0]
+ mov r0, #0xd
+ str r0, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x4
+ str r0, [sp, #0xc]
+ mov r0, #0xa7
+ str r0, [sp, #0x10]
+ mov r0, #0xe
+ str r0, [sp, #0x14]
+ add r2, r4, #0x0
+ ldr r1, [r4, #0x4]
+ add r0, r4, #0x0
+ add r2, #0x28
+ mov r3, #0x1
+ bl FUN_02086878
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_020873FE:
+ ldr r0, [r4, #0x48]
+ bl FUN_02001C78
+ sub r1, r5, #0x3
+ cmp r0, r1
+ beq _02087412
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _02087486
+ b _02087420
+_02087412:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087420:
+ cmp r0, #0x0
+ bne _02087428
+ add r1, r5, #0x0
+ b _0208742A
+_02087428:
+ mov r1, #0x0
+_0208742A:
+ ldr r0, [r4, #0x0]
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087436:
+ bl FUN_02086960
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087442:
+ add r0, r1, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087448:
+ bl FUN_020866DC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087452:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02087486
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
_02087462:
add r0, r4, #0x0
bl FUN_02086F8C
@@ -250540,8 +282626,8 @@ _02087486:
add sp, #0x20
pop {r3-r5, pc}
nop
-_02087494:
- .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00
+_02087494: .word 0x00000475
+_02087498: .word 0x00000484
thumb_func_start FUN_0208749C
FUN_0208749C: ; 0x0208749C
@@ -250757,12 +282843,14 @@ _0208761E:
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r4, r5, #0
- lsl r6, r5, #0x1
- lsl r6, r2, #0x3
- lsl r0, r5, #0x5
- lsl r4, r6, #0x6
+_0208762A: ; jump table (using 16-bit offset)
+ .short _02087636 - _0208762A - 2; case 0
+ .short _02087658 - _0208762A - 2; case 1
+ .short _0208769A - _0208762A - 2; case 2
+ .short _02087702 - _0208762A - 2; case 3
+ .short _02087794 - _0208762A - 2; case 4
+ .short _020877E0 - _0208762A - 2; case 5
+_02087636:
ldr r0, [r4, #0x40]
bl FUN_02086B8C
cmp r0, #0x1
@@ -250778,37 +282866,200 @@ _0208761E:
str r0, [r4, #0x64]
b _02087810
_02087658:
- .byte 0x03, 0x21, 0xFF, 0xF7, 0xD3, 0xFB, 0x05, 0x1C
- .byte 0x01, 0x2D, 0x0E, 0xD1, 0xE0, 0x6E, 0x05, 0x21, 0x84, 0xF7, 0xD8, 0xFF, 0x6A, 0x48, 0x7D, 0xF7
- .byte 0x2B, 0xFF, 0x20, 0x6C, 0x02, 0x21, 0xFF, 0xF7, 0x7B, 0xFA, 0x20, 0x6C, 0x03, 0x21, 0xFF, 0xF7
- .byte 0x77, 0xFA, 0x02, 0x2D, 0x0E, 0xD1, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0xDB, 0xFF, 0x00, 0x20
- .byte 0x20, 0x66, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0xBA, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66
- .byte 0x0A, 0x28, 0x00, 0xDA
+ mov r1, #0x3
+ bl FUN_02086E04
+ add r5, r0, #0x0
+ cmp r5, #0x1
+ bne _02087682
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x5
+ bl FUN_0200C61C
+ ldr r0, _02087818 ; =0x00000707
+ bl FUN_020054C8
+ ldr r0, [r4, #0x40]
+ mov r1, #0x2
+ bl FUN_02086B70
+ ldr r0, [r4, #0x40]
+ mov r1, #0x3
+ bl FUN_02086B70
+_02087682:
+ cmp r5, #0x2
+ bne _020876A4
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ mov r0, #0x0
+ str r0, [r4, #0x60]
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_0208769A:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0xa
+ bge _020876A6
_020876A4:
b _02087810
_020876A6:
- .byte 0x00, 0x23, 0x23, 0x66, 0x00, 0x93, 0x10, 0x20, 0x5B, 0x4A
- .byte 0x01, 0x90, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21, 0x7B, 0xF7, 0xAA, 0xFD, 0x20, 0x6F, 0x00, 0x68
- .byte 0x98, 0xF7, 0x48, 0xFE, 0x01, 0x21, 0x96, 0xF7, 0xE1, 0xFD, 0x05, 0x1C, 0x00, 0x23, 0x01, 0x26
- .byte 0x00, 0x93, 0x10, 0x20, 0x51, 0x4A, 0x01, 0x90, 0x02, 0x92, 0xAE, 0x40, 0x72, 0x40, 0x12, 0x04
- .byte 0xA0, 0x68, 0x04, 0x21, 0x12, 0x0C, 0x7B, 0xF7, 0x93, 0xFD, 0x4C, 0x48, 0x00, 0x21, 0x00, 0x90
- .byte 0xA0, 0x6E, 0x10, 0x22, 0x0B, 0x1C, 0x80, 0xF7, 0xB7, 0xFB, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66
- .byte 0x86, 0xE0, 0x03, 0xA9, 0x20, 0x6F, 0x00, 0x25, 0x02, 0x31, 0x03, 0xAA, 0x85, 0xF7, 0x48, 0xF8
- .byte 0x03, 0xA8, 0x29, 0x1C, 0x42, 0x5E, 0x08, 0x1C, 0x30, 0x38, 0x82, 0x42, 0x04, 0xDD, 0x20, 0x6F
- .byte 0x0A, 0x1F, 0x85, 0xF7, 0x83, 0xF8, 0x00, 0xE0, 0x6D, 0x1C, 0x03, 0xA9, 0x60, 0x6F, 0x02, 0x31
- .byte 0x03, 0xAA, 0x85, 0xF7, 0x35, 0xF8, 0x03, 0xA8, 0x00, 0x21, 0x40, 0x5E, 0xC0, 0x28, 0x04, 0xDA
- .byte 0x60, 0x6F, 0x04, 0x22, 0x85, 0xF7, 0x72, 0xF8, 0x00, 0xE0, 0x6D, 0x1C, 0xA0, 0x68, 0x7C, 0xF7
- .byte 0xC9, 0xF8, 0x00, 0x28, 0x5C, 0xD1, 0x02, 0x2D, 0x5A, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0xE0, 0xFB
- .byte 0x00, 0x28, 0x55, 0xD1, 0x02, 0x20, 0x01, 0x21, 0x96, 0xF7, 0xBC, 0xFF, 0x20, 0x1C, 0x00, 0x21
- .byte 0xFF, 0xF7, 0x12, 0xFC, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0x64, 0xFF, 0x20, 0x6F, 0x00, 0x21
- .byte 0x84, 0xF7, 0x60, 0xFF, 0x60, 0x6F, 0x00, 0x21, 0x84, 0xF7, 0x5C, 0xFF, 0x60, 0x6E, 0x40, 0x1C
- .byte 0x60, 0x66, 0x3D, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66, 0x19, 0x28, 0x38, 0xDB, 0x00, 0x22
- .byte 0x1E, 0x48, 0x22, 0x66, 0x00, 0x90, 0xA0, 0x6E, 0x10, 0x21, 0x13, 0x1C, 0x80, 0xF7, 0x5C, 0xFB
- .byte 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x19, 0x4A, 0x01, 0x93, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21
- .byte 0x7B, 0xF7, 0x26, 0xFD, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x14, 0x4A, 0x01, 0x93, 0x02, 0x92
- .byte 0xA0, 0x68, 0x04, 0x21, 0x7B, 0xF7, 0x1C, 0xFD, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x17, 0xE0
- .byte 0xA0, 0x68, 0x7C, 0xF7, 0x7F, 0xF8, 0x00, 0x28, 0x12, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x98, 0xFB
- .byte 0x00, 0x28, 0x0D, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x09, 0xE0
+ mov r3, #0x0
+ str r3, [r4, #0x60]
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ bl FUN_02020354
+ mov r1, #0x1
+ bl FUN_0201E28C
+ add r5, r0, #0x0
+ mov r3, #0x0
+ mov r6, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ lsl r6, r5
+ eor r2, r6
+ lsl r2, r2, #0x10
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ lsr r2, r2, #0x10
+ bl FUN_02003210
+ ldr r0, _0208781C ; =0x0000FFFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E68
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_02087702:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x70]
+ mov r5, #0x0
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ add r1, r5, #0x0
+ ldrsh r2, [r0, r1]
+ add r0, r1, #0x0
+ sub r0, #0x30
+ cmp r2, r0
+ ble _02087728
+ ldr r0, [r4, #0x70]
+ sub r2, r1, #0x4
+ bl FUN_0200C82C
+ b _0208772A
+_02087728:
+ add r5, r5, #0x1
+_0208772A:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x74]
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc0
+ bge _0208774A
+ ldr r0, [r4, #0x74]
+ mov r2, #0x4
+ bl FUN_0200C82C
+ b _0208774C
+_0208774A:
+ add r5, r5, #0x1
+_0208774C:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087810
+ cmp r5, #0x2
+ bne _02087810
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087810
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02086F98
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x70]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x74]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_02087794:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0x19
+ blt _02087810
+ mov r2, #0x0
+ ldr r0, _0208781C ; =0x0000FFFF
+ str r2, [r4, #0x60]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E68
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_02003210
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_020877E0:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087810
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087810
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
_020877FC:
ldr r0, [r4, #0x40]
bl FUN_02086B8C
@@ -250824,8 +283075,8 @@ _02087810:
add sp, #0x10
pop {r4-r6, pc}
nop
-_02087818:
- .byte 0x07, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00
+_02087818: .word 0x00000707
+_0208781C: .word 0x0000FFFF
thumb_func_start FUN_02087820
FUN_02087820: ; 0x02087820
@@ -250843,11 +283094,13 @@ _0208782E:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r0, r7, #0
- lsl r6, r0, #0x3
- lsl r0, r3, #0x5
- lsl r4, r4, #0x6
+_0208783A: ; jump table (using 16-bit offset)
+ .short _02087844 - _0208783A - 2; case 0
+ .short _02087874 - _0208783A - 2; case 1
+ .short _02087902 - _0208783A - 2; case 2
+ .short _02087994 - _0208783A - 2; case 3
+ .short _020879E0 - _0208783A - 2; case 4
+_02087844:
ldr r0, [r4, #0x40]
mov r1, #0x0
bl FUN_02086B70
@@ -250868,31 +283121,190 @@ _0208782E:
str r0, [r4, #0x64]
b _02087A06
_02087874:
- .byte 0x20, 0x6E, 0x19, 0x28, 0x04, 0xD0, 0x50, 0x28, 0x06, 0xD0, 0x8E, 0x28
- .byte 0x08, 0xD0, 0x0A, 0xE0, 0x61, 0x48, 0x7D, 0xF7, 0x1F, 0xFE, 0x06, 0xE0, 0x60, 0x48, 0x7D, 0xF7
- .byte 0x1B, 0xFE, 0x02, 0xE0, 0x5F, 0x48, 0x7D, 0xF7, 0x17, 0xFE, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66
- .byte 0xA0, 0x28, 0x00, 0xDA, 0xAF, 0xE0, 0x00, 0x23, 0x23, 0x66, 0x00, 0x93, 0x10, 0x20, 0x5A, 0x4A
- .byte 0x01, 0x90, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21, 0x7B, 0xF7, 0xAA, 0xFC, 0x20, 0x6F, 0x00, 0x68
- .byte 0x98, 0xF7, 0x48, 0xFD, 0x01, 0x21, 0x96, 0xF7, 0xE1, 0xFC, 0x05, 0x1C, 0x00, 0x23, 0x01, 0x26
- .byte 0x00, 0x93, 0x10, 0x20, 0x50, 0x4A, 0x01, 0x90, 0x02, 0x92, 0xAE, 0x40, 0x72, 0x40, 0x12, 0x04
- .byte 0xA0, 0x68, 0x04, 0x21, 0x12, 0x0C, 0x7B, 0xF7, 0x93, 0xFC, 0x4B, 0x48, 0x00, 0x21, 0x00, 0x90
- .byte 0xA0, 0x6E, 0x10, 0x22, 0x0B, 0x1C, 0x80, 0xF7, 0xB7, 0xFA, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66
- .byte 0x81, 0xE0, 0x03, 0xA9, 0x20, 0x6F, 0x00, 0x25, 0x02, 0x31, 0x03, 0xAA, 0x84, 0xF7, 0x48, 0xFF
- .byte 0x03, 0xA8, 0x29, 0x1C, 0x42, 0x5E, 0x08, 0x1C, 0x30, 0x38, 0x82, 0x42, 0x04, 0xDD, 0x20, 0x6F
- .byte 0x0A, 0x1F, 0x84, 0xF7, 0x83, 0xFF, 0x00, 0xE0, 0x6D, 0x1C, 0x03, 0xA9, 0x60, 0x6F, 0x02, 0x31
- .byte 0x03, 0xAA, 0x84, 0xF7, 0x35, 0xFF, 0x03, 0xA8, 0x00, 0x21, 0x40, 0x5E, 0xC0, 0x28, 0x04, 0xDA
- .byte 0x60, 0x6F, 0x04, 0x22, 0x84, 0xF7, 0x72, 0xFF, 0x00, 0xE0, 0x6D, 0x1C, 0xA0, 0x68, 0x7B, 0xF7
- .byte 0xC9, 0xFF, 0x00, 0x28, 0x57, 0xD1, 0x02, 0x2D, 0x55, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0xE0, 0xFA
- .byte 0x00, 0x28, 0x50, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0xFF, 0xF7, 0x16, 0xFB, 0x02, 0x20, 0x01, 0x21
- .byte 0x96, 0xF7, 0xB8, 0xFE, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0x64, 0xFE, 0x20, 0x6F, 0x00, 0x21
- .byte 0x84, 0xF7, 0x60, 0xFE, 0x60, 0x6F, 0x00, 0x21, 0x84, 0xF7, 0x5C, 0xFE, 0x60, 0x6E, 0x40, 0x1C
- .byte 0x60, 0x66, 0x38, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66, 0x19, 0x28, 0x33, 0xDB, 0x00, 0x22
- .byte 0x1D, 0x48, 0x22, 0x66, 0x00, 0x90, 0xA0, 0x6E, 0x10, 0x21, 0x13, 0x1C, 0x80, 0xF7, 0x5C, 0xFA
- .byte 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x18, 0x4A, 0x01, 0x93, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21
- .byte 0x7B, 0xF7, 0x26, 0xFC, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x13, 0x4A, 0x01, 0x93, 0x02, 0x92
- .byte 0xA0, 0x68, 0x04, 0x21, 0x7B, 0xF7, 0x1C, 0xFC, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x12, 0xE0
- .byte 0xA0, 0x68, 0x7B, 0xF7, 0x7F, 0xFF, 0x00, 0x28, 0x0D, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x98, 0xFA
- .byte 0x00, 0x28, 0x08, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x04, 0xE0
+ ldr r0, [r4, #0x60]
+ cmp r0, #0x19
+ beq _02087884
+ cmp r0, #0x50
+ beq _0208788C
+ cmp r0, #0x8e
+ beq _02087894
+ b _0208789A
+_02087884:
+ ldr r0, _02087A0C ; =0x00000806
+ bl FUN_020054C8
+ b _0208789A
+_0208788C:
+ ldr r0, _02087A10 ; =0x000007AA
+ bl FUN_020054C8
+ b _0208789A
+_02087894:
+ ldr r0, _02087A14 ; =0x00000815
+ bl FUN_020054C8
+_0208789A:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0xa0
+ bge _020878A6
+ b _02087A06
+_020878A6:
+ mov r3, #0x0
+ str r3, [r4, #0x60]
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ bl FUN_02020354
+ mov r1, #0x1
+ bl FUN_0201E28C
+ add r5, r0, #0x0
+ mov r3, #0x0
+ mov r6, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ lsl r6, r5
+ eor r2, r6
+ lsl r2, r2, #0x10
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ lsr r2, r2, #0x10
+ bl FUN_02003210
+ ldr r0, _02087A18 ; =0x0000FFFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E68
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_02087902:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x70]
+ mov r5, #0x0
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ add r1, r5, #0x0
+ ldrsh r2, [r0, r1]
+ add r0, r1, #0x0
+ sub r0, #0x30
+ cmp r2, r0
+ ble _02087928
+ ldr r0, [r4, #0x70]
+ sub r2, r1, #0x4
+ bl FUN_0200C82C
+ b _0208792A
+_02087928:
+ add r5, r5, #0x1
+_0208792A:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x74]
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc0
+ bge _0208794A
+ ldr r0, [r4, #0x74]
+ mov r2, #0x4
+ bl FUN_0200C82C
+ b _0208794C
+_0208794A:
+ add r5, r5, #0x1
+_0208794C:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087A06
+ cmp r5, #0x2
+ bne _02087A06
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087A06
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02086F98
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x70]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x74]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_02087994:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0x19
+ blt _02087A06
+ mov r2, #0x0
+ ldr r0, _02087A18 ; =0x0000FFFF
+ str r2, [r4, #0x60]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E68
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_02003210
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_020879E0:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087A06
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087A06
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
_020879FC:
mov r0, #0x0
str r0, [r4, #0x64]
@@ -250903,9 +283315,11 @@ _02087A06:
mov r0, #0x1
add sp, #0x10
pop {r4-r6, pc}
-_02087A0C:
- .byte 0x06, 0x08, 0x00, 0x00
- .byte 0xAA, 0x07, 0x00, 0x00, 0x15, 0x08, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00
+ .balign 4
+_02087A0C: .word 0x00000806
+_02087A10: .word 0x000007AA
+_02087A14: .word 0x00000815
+_02087A18: .word 0x0000FFFF
thumb_func_start FUN_02087A1C
FUN_02087A1C: ; 0x02087A1C
@@ -251509,24 +283923,51 @@ FUN_02087E74: ; 0x02087E74
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r0, r2, #0
- lsl r0, r3, #0
- lsl r0, r4, #0
- lsl r0, r5, #0
- lsl r0, r6, #0
- lsl r0, r7, #0
- lsl r0, r0, #0x1
- lsl r0, r1, #0x1
- lsl r0, r2, #0x1
+_02087E8E: ; jump table (using 16-bit offset)
+ .short _02087EA0 - _02087E8E - 2; case 0
+ .short _02087EA8 - _02087E8E - 2; case 1
+ .short _02087EB0 - _02087E8E - 2; case 2
+ .short _02087EB8 - _02087E8E - 2; case 3
+ .short _02087EC0 - _02087E8E - 2; case 4
+ .short _02087EC8 - _02087E8E - 2; case 5
+ .short _02087ED0 - _02087E8E - 2; case 6
+ .short _02087ED8 - _02087E8E - 2; case 7
+ .short _02087EE0 - _02087E8E - 2; case 8
+_02087EA0:
bl FUN_02087F50
str r0, [r4, #0x0]
b _02087EE4
_02087EA8:
- .byte 0x00, 0xF0, 0x5E, 0xF8, 0x20, 0x60, 0x19, 0xE0
- .byte 0x00, 0xF0, 0x90, 0xF8, 0x20, 0x60, 0x15, 0xE0, 0x00, 0xF0, 0xD0, 0xF8, 0x20, 0x60, 0x11, 0xE0
- .byte 0x00, 0xF0, 0xEE, 0xF8, 0x20, 0x60, 0x0D, 0xE0, 0x00, 0xF0, 0x20, 0xF9, 0x20, 0x60, 0x09, 0xE0
- .byte 0x00, 0xF0, 0x2E, 0xF9, 0x20, 0x60, 0x05, 0xE0, 0x00, 0xF0, 0x68, 0xF9, 0x20, 0x60, 0x01, 0xE0
- .byte 0x01, 0x20, 0x10, 0xBD
+ bl FUN_02087F68
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EB0:
+ bl FUN_02087FD4
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EB8:
+ bl FUN_0208805C
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EC0:
+ bl FUN_020880A0
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EC8:
+ bl FUN_0208810C
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087ED0:
+ bl FUN_02088130
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087ED8:
+ bl FUN_020881AC
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EE0:
+ mov r0, #0x1
+ pop {r4, pc}
_02087EE4:
mov r0, #0x0
pop {r4, pc}
@@ -252996,11 +285437,13 @@ FUN_02088A00: ; 0x02088A00
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r0, r1, #0
- lsl r6, r2, #0
- lsl r4, r4, #0
- lsl r2, r6, #0
- lsl r0, r0, #0x1
+_02088A24: ; jump table (using 16-bit offset)
+ .short _02088A2E - _02088A24 - 2; case 0
+ .short _02088A3C - _02088A24 - 2; case 1
+ .short _02088A4A - _02088A24 - 2; case 2
+ .short _02088A58 - _02088A24 - 2; case 3
+ .short _02088A66 - _02088A24 - 2; case 4
+_02088A2E:
add r1, r6, #0x0
add r0, r6, #0x0
add r1, #0x14
@@ -253008,10 +285451,29 @@ FUN_02088A00: ; 0x02088A00
str r0, [r4, #0x0]
b _02088A6A
_02088A3C:
- .byte 0x31, 0x1C, 0x30, 0x1C
- .byte 0x14, 0x31, 0x00, 0xF0, 0x5B, 0xF8, 0x20, 0x60, 0x0F, 0xE0, 0x31, 0x1C, 0x30, 0x1C, 0x14, 0x31
- .byte 0x00, 0xF0, 0x6A, 0xF8, 0x20, 0x60, 0x08, 0xE0, 0x31, 0x1C, 0x30, 0x1C, 0x14, 0x31, 0x00, 0xF0
- .byte 0x73, 0xF8, 0x20, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088AFC
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A4A:
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088B28
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A58:
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088B48
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A66:
+ mov r0, #0x1
+ pop {r4-r6, pc}
_02088A6A:
ldr r0, [r4, #0x0]
cmp r5, r0
@@ -253058,19 +285520,35 @@ FUN_02088AAC: ; 0x02088AAC
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r2, r2, #0
- lsl r2, r3, #0
- lsl r2, r4, #0
- lsl r2, r5, #0
- lsl r6, r5, #0
+_02088AC2: ; jump table (using 16-bit offset)
+ .short _02088ACE - _02088AC2 - 2; case 0
+ .short _02088AD6 - _02088AC2 - 2; case 1
+ .short _02088ADE - _02088AC2 - 2; case 2
+ .short _02088AE6 - _02088AC2 - 2; case 3
+ .short _02088AEE - _02088AC2 - 2; case 4
+ .short _02088AF2 - _02088AC2 - 2; case 5
+_02088ACE:
bl FUN_02088B4C
str r0, [r4, #0x0]
b _02088AF6
_02088AD6:
- .byte 0x00, 0xF0, 0x67, 0xF8, 0x20, 0x60, 0x0B, 0xE0, 0x00, 0xF0
- .byte 0xAD, 0xF8, 0x20, 0x60, 0x07, 0xE0, 0x00, 0xF0, 0xF9, 0xF8, 0x20, 0x60, 0x03, 0xE0, 0x01, 0x20
- .byte 0x10, 0xBD, 0x04, 0x20, 0x10, 0xBD
+ bl FUN_02088BA8
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088ADE:
+ bl FUN_02088C3C
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088AE6:
+ bl FUN_02088CDC
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088AEE:
+ mov r0, #0x1
+ pop {r4, pc}
+_02088AF2:
+ mov r0, #0x4
+ pop {r4, pc}
_02088AF6:
mov r0, #0x0
pop {r4, pc}
@@ -253211,20 +285689,24 @@ _02088BBA:
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r2, r3, #0
- lsl r2, r1, #0
- lsl r2, r3, #0
- lsl r2, r3, #0
- lsl r2, r3, #0
- lsl r6, r1, #0
+_02088C02: ; jump table (using 16-bit offset)
+ .short _02088C1E - _02088C02 - 2; case 0
+ .short _02088C0E - _02088C02 - 2; case 1
+ .short _02088C1E - _02088C02 - 2; case 2
+ .short _02088C1E - _02088C02 - 2; case 3
+ .short _02088C1E - _02088C02 - 2; case 4
+ .short _02088C12 - _02088C02 - 2; case 5
+_02088C0E:
mov r0, #0x2
pop {r3-r5, pc}
_02088C12:
- .byte 0x05, 0x20, 0x38, 0xBD
+ mov r0, #0x5
+ pop {r3-r5, pc}
_02088C16:
bl FUN_02020C2C
mov r0, #0x95
str r0, [r4, #0x8]
+_02088C1E:
ldr r0, [r4, #0x10]
ldr r1, [r4, #0x8]
ldr r0, [r0, #0x14]
@@ -254451,10 +286933,12 @@ FUN_020894D4: ; 0x020894D4
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r6, r0, #0
- lsl r2, r2, #0x2
- lsl r0, r4, #0x2
- lsl r6, r0, #0x3
+_020894F4: ; jump table (using 16-bit offset)
+ .short _020894FC - _020894F4 - 2; case 0
+ .short _02089588 - _020894F4 - 2; case 1
+ .short _02089596 - _020894F4 - 2; case 2
+ .short _020895BC - _020894F4 - 2; case 3
+_020894FC:
ldr r0, _020895E0 ; =0x00000495
add r1, r6, #0x0
bl FUN_02005350
@@ -254511,12 +286995,42 @@ FUN_020894D4: ; 0x020894D4
str r0, [r5, #0x0]
b _020895DA
_02089588:
- .byte 0x84, 0xF7, 0xBE, 0xFE, 0x01, 0x28, 0x24, 0xD1
- .byte 0x02, 0x20, 0x28, 0x60, 0x21, 0xE0, 0x00, 0xF0, 0xFB, 0xF8, 0x01, 0x28, 0x1D, 0xD1, 0x06, 0x20
- .byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x20, 0x68, 0x02, 0x90, 0x30, 0x1C, 0x01, 0x1C, 0x02, 0x1C
- .byte 0x03, 0x1C, 0x84, 0xF7, 0x0D, 0xFE, 0x03, 0x20, 0x28, 0x60, 0x0E, 0xE0, 0x84, 0xF7, 0xA4, 0xFE
- .byte 0x01, 0x28, 0x0A, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xD9, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x88, 0xF8
- .byte 0x30, 0x1C, 0x01, 0x1C, 0x8C, 0xF7, 0x9C, 0xFC, 0x01, 0x26
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _020895DA
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _020895DA
+_02089596:
+ bl FUN_02089790
+ cmp r0, #0x1
+ bne _020895DA
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _020895DA
+_020895BC:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _020895DA
+ add r0, r4, #0x0
+ bl FUN_0208977C
+ add r0, r4, #0x0
+ bl FUN_020896E0
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r6, #0x1
_020895DA:
add r0, r6, #0x0
add sp, #0xc
@@ -254731,13 +287245,15 @@ FUN_02089790: ; 0x02089790
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r4, r1, #0
- lsl r6, r6, #0
- lsl r6, r2, #0x1
- lsl r0, r0, #0x2
- lsl r0, r4, #0x2
- lsl r0, r0, #0x3
- lsl r2, r2, #0x3
+_020897AA: ; jump table (using 16-bit offset)
+ .short _020897B8 - _020897AA - 2; case 0
+ .short _020897E2 - _020897AA - 2; case 1
+ .short _02089802 - _020897AA - 2; case 2
+ .short _0208982C - _020897AA - 2; case 3
+ .short _0208984C - _020897AA - 2; case 4
+ .short _0208986C - _020897AA - 2; case 5
+ .short _0208987E - _020897AA - 2; case 6
+_020897B8:
add r1, r5, #0x0
mov r2, #0x1
mov r3, #0x4
@@ -254758,17 +287274,89 @@ FUN_02089790: ; 0x02089790
str r0, [r4, #0x4]
b _02089888
_020897E2:
- .byte 0xE0, 0x6A, 0x21, 0x68, 0x78, 0xF7, 0xE1, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA9, 0x1E
- .byte 0x88, 0x42, 0x03, 0xD0, 0x48, 0xE0, 0x02, 0x20, 0x60, 0x60, 0x45, 0xE0, 0x06, 0x20, 0x60, 0x60
- .byte 0x42, 0xE0, 0x01, 0x21, 0x0A, 0x1C, 0x04, 0x23, 0x00, 0xF0, 0x48, 0xF8, 0x01, 0x28, 0x3B, 0xD1
- .byte 0x01, 0x20, 0x00, 0x90, 0x20, 0x68, 0x1E, 0x49, 0x01, 0x90, 0x60, 0x69, 0x1D, 0x4A, 0x03, 0x23
- .byte 0x78, 0xF7, 0x64, 0xFC, 0xE0, 0x62, 0x03, 0x20, 0x60, 0x60, 0x2D, 0xE0, 0xE0, 0x6A, 0x21, 0x68
- .byte 0x78, 0xF7, 0xBC, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x23, 0xE0
- .byte 0x04, 0x20, 0x60, 0x60, 0x20, 0xE0, 0x06, 0x20, 0x60, 0x60, 0x1D, 0xE0, 0x02, 0x21, 0x01, 0x22
- .byte 0x2B, 0x1C, 0x00, 0xF0, 0x23, 0xF8, 0x01, 0x28, 0x16, 0xD1, 0x20, 0x1C, 0x0E, 0x49, 0x1C, 0x30
- .byte 0x83, 0xF7, 0xFA, 0xFF, 0x60, 0x63, 0x05, 0x20, 0x60, 0x60, 0x0D, 0xE0, 0x20, 0x6B, 0x98, 0xF7
- .byte 0xE5, 0xFE, 0x60, 0x6B, 0x84, 0xF7, 0xC2, 0xF9, 0x06, 0x20, 0x60, 0x60, 0x04, 0xE0, 0x60, 0x69
- .byte 0x29, 0x1C, 0x8E, 0xF7, 0x5F, 0xFF, 0x01, 0x25
+ ldr r0, [r4, #0x2c]
+ ldr r1, [r4, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _020897F6
+ sub r1, r5, #0x2
+ cmp r0, r1
+ beq _020897FC
+ b _02089888
+_020897F6:
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _02089888
+_020897FC:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02089888
+_02089802:
+ mov r1, #0x1
+ add r2, r1, #0x0
+ mov r3, #0x4
+ bl FUN_0208989C
+ cmp r0, #0x1
+ bne _02089888
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r1, _02089890 ; =0x020FF30C
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x14]
+ ldr r2, _02089894 ; =0x000001D9
+ mov r3, #0x3
+ bl FUN_020020EC
+ str r0, [r4, #0x2c]
+ mov r0, #0x3
+ str r0, [r4, #0x4]
+ b _02089888
+_0208982C:
+ ldr r0, [r4, #0x2c]
+ ldr r1, [r4, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _02089840
+ sub r1, r5, #0x2
+ cmp r0, r1
+ beq _02089846
+ b _02089888
+_02089840:
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _02089888
+_02089846:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02089888
+_0208984C:
+ mov r1, #0x2
+ mov r2, #0x1
+ add r3, r5, #0x0
+ bl FUN_0208989C
+ cmp r0, #0x1
+ bne _02089888
+ add r0, r4, #0x0
+ ldr r1, _02089898 ; =0x000001E2
+ add r0, #0x1c
+ bl FUN_0200D858
+ str r0, [r4, #0x34]
+ mov r0, #0x5
+ str r0, [r4, #0x4]
+ b _02089888
+_0208986C:
+ ldr r0, [r4, #0x30]
+ bl FUN_0202263C
+ ldr r0, [r4, #0x34]
+ bl FUN_0200DBFC
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02089888
+_0208987E:
+ ldr r0, [r4, #0x14]
+ add r1, r5, #0x0
+ bl FUN_02018744
+ mov r5, #0x1
_02089888:
add r0, r5, #0x0
add sp, #0x8
@@ -254776,8 +287364,7 @@ _02089888:
nop
_02089890: .word 0x020FF30C
_02089894: .word 0x000001D9
-_02089898:
- .byte 0xE2, 0x01, 0x00, 0x00
+_02089898: .word 0x000001E2
thumb_func_start FUN_0208989C
FUN_0208989C: ; 0x0208989C
@@ -255178,12 +287765,14 @@ FUN_02089BE0: ; 0x02089BE0
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r1, #0
- lsl r0, r0, #0x1
- lsl r4, r5, #0x1
- lsl r2, r7, #0x1
- lsl r6, r4, #0x2
- lsl r4, r0, #0x3
+_02089BFA: ; jump table (using 16-bit offset)
+ .short _02089C06 - _02089BFA - 2; case 0
+ .short _02089C3C - _02089BFA - 2; case 1
+ .short _02089C68 - _02089BFA - 2; case 2
+ .short _02089C76 - _02089BFA - 2; case 3
+ .short _02089CA2 - _02089BFA - 2; case 4
+ .short _02089CC0 - _02089BFA - 2; case 5
+_02089C06:
ldr r0, [r4, #0x34]
bl FUN_02022800
cmp r0, #0x3
@@ -255194,31 +287783,95 @@ FUN_02089BE0: ; 0x02089BE0
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
- lsl r6, r0, #0
- lsl r6, r0, #0
- lsl r4, r1, #0
- lsl r6, r2, #0
+_02089C1C: ; jump table (using 16-bit offset)
+ .short _02089C24 - _02089C1C - 2; case 0
+ .short _02089C24 - _02089C1C - 2; case 1
+ .short _02089C2A - _02089C1C - 2; case 2
+ .short _02089C34 - _02089C1C - 2; case 3
+_02089C24:
mov r0, #0x5
str r0, [r4, #0x4]
b _02089CC2
_02089C2A:
- .byte 0x28, 0x1C, 0xA0, 0x60, 0x01, 0x20
- .byte 0x60, 0x60, 0x46, 0xE0, 0x01, 0x20, 0xA0, 0x60, 0x60, 0x60, 0x42, 0xE0, 0x22, 0x49, 0x28, 0x1C
- .byte 0x8E, 0xF7, 0xD0, 0xF9, 0x20, 0x49, 0x04, 0x20, 0x8E, 0xF7, 0xCC, 0xF9, 0x06, 0x20, 0x01, 0x21
- .byte 0x00, 0x90, 0x01, 0x91, 0x20, 0x68, 0x0A, 0x1C, 0x02, 0x90, 0x28, 0x1C, 0x03, 0x1C, 0x84, 0xF7
- .byte 0xB7, 0xFA, 0x02, 0x20, 0x60, 0x60, 0x2C, 0xE0, 0x84, 0xF7, 0x4E, 0xFB, 0x01, 0x28, 0x28, 0xD1
- .byte 0x03, 0x20, 0x60, 0x60, 0x25, 0xE0, 0xA1, 0x68, 0x2A, 0x1C, 0x04, 0x23, 0x00, 0xF0, 0x26, 0xF8
- .byte 0x01, 0x28, 0x1E, 0xD1, 0x06, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x20, 0x68, 0x02, 0x90
- .byte 0x28, 0x1C, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0x84, 0xF7, 0x9A, 0xFA, 0x04, 0x20, 0x60, 0x60
- .byte 0x0F, 0xE0, 0x84, 0xF7, 0x31, 0xFB, 0x01, 0x28, 0x0B, 0xD1, 0x28, 0x1C, 0x01, 0x1C, 0x8E, 0xF7
- .byte 0x99, 0xF9, 0x04, 0x20, 0x29, 0x1C, 0x8E, 0xF7, 0x95, 0xF9, 0x05, 0x20, 0x60, 0x60, 0x00, 0xE0
- .byte 0x01, 0x25
+ add r0, r5, #0x0
+ str r0, [r4, #0x8]
+ mov r0, #0x1
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C34:
+ mov r0, #0x1
+ str r0, [r4, #0x8]
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C3C:
+ ldr r1, _02089CC8 ; =0x00006C21
+ add r0, r5, #0x0
+ bl FUN_02017FE4
+ ldr r1, _02089CC8 ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ mov r0, #0x6
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r2, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C68:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02089CC2
+ mov r0, #0x3
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C76:
+ ldr r1, [r4, #0x8]
+ add r2, r5, #0x0
+ mov r3, #0x4
+ bl FUN_02089CCC
+ cmp r0, #0x1
+ bne _02089CC2
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089CA2:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02089CC2
+ add r0, r5, #0x0
+ add r1, r0, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x4
+ add r1, r5, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x5
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089CC0:
+ mov r5, #0x1
_02089CC2:
add r0, r5, #0x0
add sp, #0xc
pop {r4-r5, pc}
-_02089CC8:
- .byte 0x21, 0x6C, 0x00, 0x00
+ .balign 4
+_02089CC8: .word 0x00006C21
thumb_func_start FUN_02089CCC
FUN_02089CCC: ; 0x02089CCC
@@ -256076,20 +288729,22 @@ FUN_0208A458: ; 0x0208A458
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
- lsl r2, r3, #0
- lsl r0, r5, #0
- lsl r4, r0, #0x1
- lsl r2, r4, #0x3
- lsl r2, r6, #0x3
- lsl r6, r0, #0x4
- lsl r2, r6, #0x4
- lsl r2, r1, #0x5
- lsl r0, r4, #0x5
- lsl r0, r4, #0x6
- lsl r4, r6, #0x6
- lsl r0, r4, #0x8
- lsl r6, r5, #0x8
- lsl r4, r1, #0x9
+_0208A472: ; jump table (using 16-bit offset)
+ .short _0208A48E - _0208A472 - 2; case 0
+ .short _0208A49C - _0208A472 - 2; case 1
+ .short _0208A4B8 - _0208A472 - 2; case 2
+ .short _0208A556 - _0208A472 - 2; case 3
+ .short _0208A566 - _0208A472 - 2; case 4
+ .short _0208A57A - _0208A472 - 2; case 5
+ .short _0208A5A6 - _0208A472 - 2; case 6
+ .short _0208A5BE - _0208A472 - 2; case 7
+ .short _0208A5D4 - _0208A472 - 2; case 8
+ .short _0208A614 - _0208A472 - 2; case 9
+ .short _0208A628 - _0208A472 - 2; case 10
+ .short _0208A694 - _0208A472 - 2; case 11
+ .short _0208A6A2 - _0208A472 - 2; case 12
+ .short _0208A6C0 - _0208A472 - 2; case 13
+_0208A48E:
mov r1, #0x0
add r2, r1, #0x0
bl FUN_0208A6D4
@@ -256097,52 +288752,272 @@ FUN_0208A458: ; 0x0208A458
str r0, [r4, #0x54]
b _0208A6C8
_0208A49C:
- .byte 0x00, 0xF0, 0x58, 0xF9
- .byte 0x00, 0x28, 0x00, 0xD1
+ bl FUN_0208A750
+ cmp r0, #0x0
+ bne _0208A4A6
_0208A4A4:
b _0208A6C8
_0208A4A6:
- .byte 0x20, 0x1C, 0x00, 0xF0, 0x5A, 0xF9, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x65, 0xF9, 0x02, 0x20, 0x60, 0x65, 0x07, 0xE1, 0x00, 0xF0, 0x10, 0xFA, 0x00, 0x21, 0xC9, 0x43
- .byte 0x60, 0x66, 0x88, 0x42, 0x74, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF9, 0x60, 0x6E, 0x04, 0x28
- .byte 0x6E, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00
- .byte 0x22, 0x00, 0x3C, 0x00, 0x56, 0x00, 0x70, 0x00, 0x20, 0x68, 0x00, 0x21, 0xC0, 0x68, 0xA0, 0xF7
- .byte 0x81, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x32, 0xFA, 0x03, 0x20, 0x60, 0x65
- .byte 0xE2, 0xE0, 0x20, 0x68, 0x01, 0x21, 0xC0, 0x68, 0xA0, 0xF7, 0x74, 0xF8, 0x01, 0x1C, 0x20, 0x1C
- .byte 0x48, 0x30, 0x89, 0xF7, 0x25, 0xFA, 0x03, 0x20, 0x60, 0x65, 0xD5, 0xE0, 0x20, 0x68, 0x02, 0x21
- .byte 0xC0, 0x68, 0xA0, 0xF7, 0x67, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x18, 0xFA
- .byte 0x03, 0x20, 0x60, 0x65, 0xC8, 0xE0, 0x20, 0x68, 0x03, 0x21, 0xC0, 0x68, 0xA0, 0xF7, 0x5A, 0xF8
- .byte 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x0B, 0xFA, 0x03, 0x20, 0x60, 0x65, 0xBB, 0xE0
- .byte 0x0B, 0x20, 0x60, 0x65, 0xB8, 0xE0, 0x61, 0x6E, 0x00, 0x22, 0x49, 0x1C, 0x00, 0xF0, 0xBA, 0xF8
- .byte 0x04, 0x20, 0x60, 0x65, 0xB0, 0xE0, 0x00, 0xF0, 0xF3, 0xF8, 0x00, 0x28, 0x20, 0xD0, 0x00, 0x20
- .byte 0x4D, 0xF1, 0x98, 0xFB, 0x05, 0x20, 0x60, 0x65, 0xA6, 0xE0, 0x83, 0xF7, 0xC5, 0xFE, 0x00, 0x28
- .byte 0x16, 0xD0, 0x21, 0x1C, 0x20, 0x6D, 0x48, 0x31, 0xFA, 0xF7, 0x18, 0xFF, 0x20, 0x6D, 0xFA, 0xF7
- .byte 0x1F, 0xFF, 0x20, 0x1C, 0xFF, 0xF7, 0x34, 0xFF, 0x20, 0x68, 0x21, 0x6D, 0xAD, 0xF7, 0x70, 0xFC
- .byte 0x06, 0x20, 0x60, 0x65, 0x90, 0xE0, 0x20, 0x68, 0xBB, 0xF7, 0x68, 0xFF, 0x00, 0x28, 0x00, 0xD0
- .byte 0x8A, 0xE0, 0x20, 0x68, 0xBB, 0xF7, 0x72, 0xFF, 0x07, 0x20, 0x60, 0x65, 0x84, 0xE0, 0x20, 0x68
- .byte 0xBB, 0xF7, 0x70, 0xFF, 0x00, 0x28, 0x7F, 0xD0, 0x01, 0x20, 0x4D, 0xF1, 0x6B, 0xFB, 0x08, 0x20
- .byte 0x60, 0x65, 0x79, 0xE0, 0x83, 0xF7, 0x98, 0xFE, 0x00, 0x28, 0x75, 0xD0, 0x20, 0x6D, 0xFA, 0xF7
- .byte 0x01, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x0B, 0x20, 0x60, 0x65, 0x6D, 0xE0, 0x21, 0x1C, 0x20, 0x6D
- .byte 0x48, 0x31, 0xFA, 0xF7, 0x03, 0xFF, 0x20, 0x68, 0x22, 0x1C, 0xC0, 0x68, 0x61, 0x6E, 0x48, 0x32
- .byte 0x9F, 0xF7, 0xE8, 0xFF, 0x20, 0x1C, 0x06, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x63, 0xF8, 0x09, 0x20
- .byte 0x60, 0x65, 0x59, 0xE0, 0x00, 0xF0, 0x9C, 0xF8, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x00, 0xF0
- .byte 0x05, 0xF9, 0x0A, 0x20, 0x60, 0x65, 0x4F, 0xE0, 0x00, 0xF0, 0x58, 0xF9, 0x00, 0x21, 0xC9, 0x43
- .byte 0x60, 0x66, 0x88, 0x42, 0x48, 0xD0, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x28, 0x0B, 0xE0, 0x20, 0x1C
- .byte 0x00, 0xF0, 0x46, 0xF9, 0x20, 0x1C, 0x00, 0xF0, 0x8B, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x96, 0xF8
- .byte 0x02, 0x20, 0x60, 0x65, 0x38, 0xE0, 0x20, 0x1C, 0x48, 0x30, 0x00, 0x21, 0x89, 0xF7, 0x5C, 0xF9
- .byte 0x05, 0x1C, 0x20, 0x1C, 0x00, 0xF0, 0x34, 0xF9, 0x18, 0x48, 0x85, 0x42, 0x0A, 0xD0, 0xE0, 0x68
- .byte 0x00, 0x21, 0x2A, 0x1C, 0x80, 0xF7, 0x50, 0xFF, 0x20, 0x1C, 0x08, 0x21, 0x01, 0x22, 0x00, 0xF0
- .byte 0x29, 0xF8, 0x04, 0xE0, 0x20, 0x1C, 0x07, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x23, 0xF8, 0x0C, 0x20
- .byte 0x60, 0x65, 0x19, 0xE0, 0x05, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x1C, 0xF8, 0x0C, 0x20, 0x60, 0x65
- .byte 0x12, 0xE0, 0x00, 0xF0, 0x55, 0xF8, 0x00, 0x28, 0x0E, 0xD0, 0x09, 0x48, 0x81, 0x6C, 0xF3, 0x20
- .byte 0x08, 0x42, 0x09, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x53, 0xF8, 0x0D, 0x20, 0x60, 0x65, 0x03, 0xE0
- .byte 0xFF, 0xF7, 0x82, 0xFE, 0x01, 0x20, 0x38, 0xBD
+ add r0, r4, #0x0
+ bl FUN_0208A760
+ add r0, r4, #0x0
+ bl FUN_0208A77C
+ mov r0, #0x2
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A4B8:
+ bl FUN_0208A8DC
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [r4, #0x64]
+ cmp r0, r1
+ beq _0208A5B0
+ add r0, r4, #0x0
+ bl FUN_0208A820
+ ldr r0, [r4, #0x64]
+ cmp r0, #0x4
+ bhi _0208A5B0
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0208A4DE: ; jump table (using 16-bit offset)
+ .short _0208A4E8 - _0208A4DE - 2; case 0
+ .short _0208A502 - _0208A4DE - 2; case 1
+ .short _0208A51C - _0208A4DE - 2; case 2
+ .short _0208A536 - _0208A4DE - 2; case 3
+ .short _0208A550 - _0208A4DE - 2; case 4
+_0208A4E8:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A502:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A51C:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A536:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x3
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A550:
+ mov r0, #0xb
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A556:
+ ldr r1, [r4, #0x64]
+ mov r2, #0x0
+ add r1, r1, #0x1
+ bl FUN_0208A6D4
+ mov r0, #0x4
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A566:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ beq _0208A5B0
+ mov r0, #0x0
+ bl FUN_021D7CA4
+ mov r0, #0x5
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A57A:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0208A5B0
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x50]
+ add r1, #0x48
+ bl FUN_020853BC
+ ldr r0, [r4, #0x50]
+ bl FUN_020853D0
+ add r0, r4, #0x0
+ bl FUN_0208A400
+ ldr r0, [r4, #0x0]
+ ldr r1, [r4, #0x50]
+ bl FUN_02037E80
+ mov r0, #0x6
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5A6:
+ ldr r0, [r4, #0x0]
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _0208A5B2
+_0208A5B0:
+ b _0208A6C8
+_0208A5B2:
+ ldr r0, [r4, #0x0]
+ bl FUN_0204649C
+ mov r0, #0x7
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5BE:
+ ldr r0, [r4, #0x0]
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0208A6C8
+ mov r0, #0x1
+ bl FUN_021D7CA4
+ mov r0, #0x8
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5D4:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0208A6C8
+ ldr r0, [r4, #0x50]
+ bl FUN_020853E4
+ cmp r0, #0x0
+ beq _0208A5EC
+ mov r0, #0xb
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5EC:
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x50]
+ add r1, #0x48
+ bl FUN_020853FC
+ ldr r0, [r4, #0x0]
+ add r2, r4, #0x0
+ ldr r0, [r0, #0xc]
+ ldr r1, [r4, #0x64]
+ add r2, #0x48
+ bl FUN_0202A5D4
+ add r0, r4, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_0208A6D4
+ mov r0, #0x9
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A614:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ beq _0208A6C8
+ add r0, r4, #0x0
+ bl FUN_0208A82C
+ mov r0, #0xa
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A628:
+ bl FUN_0208A8DC
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [r4, #0x64]
+ cmp r0, r1
+ beq _0208A6C8
+ cmp r0, #0x0
+ beq _0208A63E
+ cmp r0, #0x1
+ b _0208A656
+_0208A63E:
+ add r0, r4, #0x0
+ bl FUN_0208A8D0
+ add r0, r4, #0x0
+ bl FUN_0208A760
+ add r0, r4, #0x0
+ bl FUN_0208A77C
+ mov r0, #0x2
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A656:
+ add r0, r4, #0x0
+ add r0, #0x48
+ mov r1, #0x0
+ bl FUN_02013918
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0208A8D0
+ ldr r0, _0208A6CC ; =0x0000FFFF
+ cmp r5, r0
+ beq _0208A684
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B518
+ add r0, r4, #0x0
+ mov r1, #0x8
+ mov r2, #0x1
+ bl FUN_0208A6D4
+ b _0208A68E
+_0208A684:
+ add r0, r4, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_0208A6D4
+_0208A68E:
+ mov r0, #0xc
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A694:
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_0208A6D4
+ mov r0, #0xc
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A6A2:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ beq _0208A6C8
+ ldr r0, _0208A6D0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0xf3
+ tst r0, r1
+ beq _0208A6C8
+ add r0, r4, #0x0
+ bl FUN_0208A760
+ mov r0, #0xd
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A6C0:
+ bl FUN_0208A3C8
+ mov r0, #0x1
+ pop {r3-r5, pc}
_0208A6C8:
mov r0, #0x0
pop {r3-r5, pc}
-_0208A6CC:
- .byte 0xFF, 0xFF, 0x00, 0x00
- .byte 0xB8, 0x48, 0x1C, 0x02
+ .balign 4
+_0208A6CC: .word 0x0000FFFF
+_0208A6D0: .word 0x021C48B8
thumb_func_start FUN_0208A6D4
FUN_0208A6D4: ; 0x0208A6D4
diff --git a/global.inc b/global.inc
index 4019a457..5a116af1 100644
--- a/global.inc
+++ b/global.inc
@@ -1,13 +1,40 @@
.extern FUN_0200019E
-.extern NitroMain
.extern FUN_02000DF4
.extern FUN_02000E0C
.extern FUN_02000E7C
-.extern FUN_02000E7C
.extern FUN_02000EE8
.extern FUN_02000F18
.extern FUN_02000FA4
.extern FUN_02000FE8
+.extern FUN_02002C14
+.extern FUN_02002C50
+.extern FUN_02003B98
+.extern FUN_02003C10
+.extern FUN_0200A2AC
+.extern FUN_0200A318
+.extern FUN_0200E2D8
+.extern FUN_0201259C
+.extern FUN_020125D4
+.extern FUN_02015E30
+.extern FUN_02015E60
+.extern FUN_02016014
+.extern FUN_02016148
+.extern FUN_020163BC
+.extern FUN_02016438
+.extern FUN_02016464
+.extern FUN_0201B5CC
+.extern FUN_02020AFC
+.extern FUN_02020C2C
+.extern FUN_02022294
+.extern FUN_020222C4
+.extern FUN_0202254C
+.extern FUN_020227FC
+.extern FUN_02023900
+.extern FUN_02029EF8
+.extern FUN_0202FB80
+.extern FUN_020337E8
+.extern FUN_02034188
+.extern FUN_02089D90
.extern FUN_0208ACEC
.extern FUN_0208AD80
.extern FUN_0208AF80
@@ -21,41 +48,26 @@
.extern FUN_02096B14
.extern FUN_02096B78
.extern FUN_02096CCC
-.extern FUN_02096CCC
.extern FUN_02096D2C
.extern FUN_02096DA0
-.extern FUN_02096DA0
-.extern FUN_02096DA0
-.extern FUN_02096DA0
-.extern FUN_02096DA0
-.extern FUN_02096DA0
-.extern FUN_02096DA0
.extern FUN_02096E90
.extern FUN_02096F18
.extern FUN_02096F80
.extern FUN_02096FB0
.extern FUN_02096FF4
.extern FUN_0209700C
-.extern FUN_0209700C
-.extern FUN_0209700C
-.extern FUN_0209700C
.extern FUN_020973B4
.extern FUN_020ADDC0
.extern FUN_020ADDC8
.extern FUN_020ADDF0
-.extern FUN_020ADDF0
-.extern FUN_020ADDF0
.extern FUN_020ADE2C
.extern FUN_020ADFA0
-.extern FUN_020ADFA0
.extern FUN_020ADFDC
.extern FUN_020ADFE8
-.extern FUN_020ADFE8
.extern FUN_020AE82C
.extern FUN_020AE8CC
.extern FUN_020AE918
.extern FUN_020AEB70
-.extern FUN_020AEB70
.extern FUN_020AEC7C
.extern FUN_020AEC98
.extern FUN_020AEE40
@@ -68,97 +80,31 @@
.extern FUN_020AFBA8
.extern FUN_020AFBFC
.extern FUN_020AFC04
-.extern FUN_020AFC04
-.extern FUN_020AFC04
-.extern FUN_020AFC04
-.extern FUN_020AFC04
.extern FUN_020AFD88
.extern FUN_020AFD94
-.extern FUN_020AFD94
-.extern FUN_020AFD94
-.extern FUN_020AFEB8
.extern FUN_020AFEB8
.extern FUN_020AFFD8
.extern FUN_020B0030
-.extern FUN_020B0030
-.extern FUN_020B0030
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
-.extern FUN_020B0088
.extern FUN_020B0088
.extern FUN_020B00F0
.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0138
-.extern FUN_020B0180
-.extern FUN_020B0180
-.extern FUN_020B0180
-.extern FUN_020B0180
.extern FUN_020B0180
-.extern FUN_020B0180
-.extern FUN_020B0250
-.extern FUN_020B0250
-.extern FUN_020B0250
.extern FUN_020B0250
.extern FUN_020B02C8
.extern FUN_020B0448
-.extern FUN_020B0448
-.extern FUN_020B0870
.extern FUN_020B0870
.extern FUN_020B0BB0
-.extern FUN_020B0BB0
-.extern FUN_020B0C7C
.extern FUN_020B0C7C
.extern FUN_020B0E34
-.extern FUN_020B0E34
-.extern FUN_020B0FC0
.extern FUN_020B0FC0
.extern FUN_020B10E8
.extern FUN_020B1240
-.extern FUN_020B1240
-.extern FUN_020B1240
-.extern FUN_020B1240
-.extern FUN_020B1240
.extern FUN_020B1340
.extern FUN_020B1528
-.extern FUN_020B1528
-.extern FUN_020B1528
.extern FUN_020B1768
.extern FUN_020B19C4
-.extern FUN_020B19C4
-.extern FUN_020B19C4
-.extern FUN_020B19C4
-.extern FUN_020B19C4
-.extern FUN_020B19DC
.extern FUN_020B19DC
-.extern FUN_020B19DC
-.extern FUN_020B19DC
-.extern FUN_020B1A14
.extern FUN_020B1A14
-.extern FUN_020B1A14
-.extern FUN_020B1A14
-.extern FUN_020B1A14
-.extern FUN_020B1A14
-.extern FUN_020B1A14
-.extern FUN_020B1A24
-.extern FUN_020B1A24
-.extern FUN_020B1A24
-.extern FUN_020B1A24
.extern FUN_020B1A24
.extern FUN_020B1EA4
.extern FUN_020B1EC4
@@ -170,13 +116,10 @@
.extern FUN_020B224C
.extern FUN_020B23D8
.extern FUN_020B242C
-.extern FUN_020B242C
.extern FUN_020B2780
.extern FUN_020B2794
.extern FUN_020B28B4
.extern FUN_020B2A08
-.extern FUN_020B2A08
-.extern FUN_020B2A08
.extern FUN_020B2B08
.extern FUN_020B2B58
.extern FUN_020B2D9C
@@ -191,93 +134,30 @@
.extern FUN_020B442C
.extern FUN_020B4568
.extern FUN_020B4F38
-.extern FUN_020B4F38
-.extern FUN_020B4F38
-.extern FUN_020B502C
.extern FUN_020B502C
.extern FUN_020B772C
.extern FUN_020B7790
-.extern FUN_020B7790
-.extern FUN_020B7C58
.extern FUN_020B7C58
.extern FUN_020B7C78
-.extern FUN_020B7C78
.extern FUN_020B7CDC
-.extern FUN_020B7CDC
-.extern FUN_020B7CDC
-.extern FUN_020B7CE4
-.extern FUN_020B7CE4
-.extern FUN_020B7CE4
-.extern FUN_020B7CE4
.extern FUN_020B7CE4
.extern FUN_020B7CF0
-.extern FUN_020B7CF0
-.extern FUN_020B7D28
.extern FUN_020B7D28
.extern FUN_020B7DFC
-.extern FUN_020B7DFC
-.extern FUN_020B7DFC
-.extern FUN_020B7E10
-.extern FUN_020B7E10
.extern FUN_020B7E10
-.extern FUN_020B7E10
-.extern FUN_020B7E10
-.extern FUN_020B7E1C
-.extern FUN_020B7E1C
-.extern FUN_020B7E1C
-.extern FUN_020B7E1C
.extern FUN_020B7E1C
.extern FUN_020B80B4
-.extern FUN_020B80B4
-.extern FUN_020B80B4
-.extern FUN_020B80B4
.extern FUN_020B844C
-.extern FUN_020B844C
-.extern FUN_020B844C
-.extern FUN_020B8474
.extern FUN_020B8474
-.extern FUN_020B8474
-.extern FUN_020B8474
-.extern FUN_020B849C
-.extern FUN_020B849C
-.extern FUN_020B849C
-.extern FUN_020B849C
-.extern FUN_020B849C
-.extern FUN_020B849C
-.extern FUN_020B849C
.extern FUN_020B849C
.extern FUN_020BAC98
.extern FUN_020BAFB8
.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB1C0
-.extern FUN_020BB394
-.extern FUN_020BB394
-.extern FUN_020BB394
.extern FUN_020BB394
.extern FUN_020BB59C
-.extern FUN_020BB59C
-.extern FUN_020BB7F4
.extern FUN_020BB7F4
.extern FUN_020BC0FC
-.extern FUN_020BC0FC
-.extern FUN_020BC0FC
-.extern FUN_020BC0FC
-.extern FUN_020BC0FC
-.extern FUN_020BC0FC
-.extern FUN_020BC13C
-.extern FUN_020BC13C
.extern FUN_020BC13C
-.extern FUN_020BC13C
-.extern FUN_020BC13C
-.extern FUN_020BC2A0
.extern FUN_020BC2A0
.extern FUN_020C0174
.extern FUN_020C01A0
@@ -286,34 +166,24 @@
.extern FUN_020C041C
.extern FUN_020C044C
.extern FUN_020C04DC
-.extern FUN_020C04DC
.extern FUN_020C0510
.extern FUN_020C054C
.extern FUN_020C0670
-.extern FUN_020C0670
-.extern FUN_020C0688
.extern FUN_020C0688
.extern FUN_020C0DD4
.extern FUN_020C0E14
.extern FUN_020C0E7C
-.extern FUN_020C0E7C
-.extern FUN_020C0E7C
.extern FUN_020C0EA4
.extern FUN_020C0EF4
.extern FUN_020C0F30
.extern FUN_020C0F50
.extern FUN_020C0F68
-.extern FUN_020C0F68
.extern FUN_020C0F80
.extern FUN_020C0F8C
.extern FUN_020C0F9C
.extern FUN_020C0FDC
.extern FUN_020C1040
.extern FUN_020C10A4
-.extern FUN_020C10A4
-.extern FUN_020C10A4
-.extern FUN_020C10A4
-.extern FUN_020C10A4
.extern FUN_020C1148
.extern FUN_020C1180
.extern FUN_020C1E58
@@ -326,11 +196,8 @@
.extern FUN_020C2104
.extern FUN_020C217C
.extern FUN_020C226C
-.extern FUN_020C226C
.extern FUN_020C22D0
.extern FUN_020C23FC
-.extern FUN_020C23FC
-.extern FUN_020C23FC
.extern FUN_020C26F8
.extern FUN_020C2828
.extern FUN_020C290C
@@ -341,72 +208,36 @@
.extern FUN_020C3674
.extern FUN_020C36A8
.extern FUN_020C3910
-.extern FUN_020C3910
-.extern FUN_020C3910
-.extern FUN_020C3910
-.extern FUN_020C3980
-.extern FUN_020C3980
-.extern FUN_020C3980
-.extern FUN_020C3980
.extern FUN_020C3980
.extern FUN_020C39CC
.extern FUN_020C3EA4
.extern FUN_020C3EB0
.extern FUN_020C3F14
-.extern FUN_020C3F14
.extern FUN_020C3F38
-.extern FUN_020C3F38
-.extern FUN_020C3F54
.extern FUN_020C3F54
.extern FUN_020C3F70
-.extern FUN_020C3F70
-.extern FUN_020C400C
-.extern FUN_020C400C
-.extern FUN_020C400C
.extern FUN_020C400C
.extern FUN_020C504C
-.extern FUN_020C504C
-.extern FUN_020C50B8
-.extern FUN_020C50B8
.extern FUN_020C50B8
.extern FUN_020C5288
-.extern FUN_020C5288
-.extern FUN_020C5288
.extern FUN_020C53C8
.extern FUN_020C5588
.extern FUN_020C5600
-.extern FUN_020C5600
-.extern FUN_020C5600
-.extern FUN_020C5634
-.extern FUN_020C5634
-.extern FUN_020C5634
.extern FUN_020C5634
.extern FUN_020C5668
.extern FUN_020C5974
.extern FUN_020C5978
-.extern FUN_020C5978
-.extern FUN_020C59A4
.extern FUN_020C59A4
.extern FUN_020C59C0
-.extern FUN_020C59C0
.extern FUN_020C5A34
.extern FUN_020C5A80
.extern FUN_020C5AC8
.extern FUN_020C5AF8
-.extern FUN_020C5AF8
.extern FUN_020C5B28
.extern FUN_020C5D2C
.extern FUN_020C5D4C
-.extern FUN_020C5D4C
.extern FUN_020C5D9C
.extern FUN_020C5DBC
-.extern FUN_020C5DBC
-.extern FUN_020C5DBC
-.extern FUN_020C5DBC
-.extern FUN_020C5DBC
-.extern FUN_020C5DBC
-.extern FUN_020C5DBC
-.extern FUN_020C5DBC
.extern FUN_020C5E54
.extern FUN_020C600C
.extern FUN_020C6034
@@ -429,625 +260,127 @@
.extern FUN_020C6970
.extern FUN_020C6A84
.extern FUN_020C6BF0
+.extern FUN_020C6F60
+.extern FUN_020C6FB0
+.extern FUN_020C7010
+.extern FUN_020C7058
+.extern FUN_020C70B0
+.extern FUN_020C70D0
+.extern FUN_020C7104
.extern FUN_020C7124
.extern FUN_020C74B8
-.extern FUN_020C74B8
-.extern FUN_020C74B8
-.extern FUN_020C74B8
-.extern FUN_020C74B8
-.extern FUN_020C74B8
-.extern FUN_020C74DC
-.extern FUN_020C74DC
-.extern FUN_020C74DC
.extern FUN_020C74DC
-.extern FUN_020C74DC
-.extern FUN_020C74DC
-.extern FUN_020C74F8
-.extern FUN_020C74F8
-.extern FUN_020C74F8
-.extern FUN_020C74F8
.extern FUN_020C74F8
.extern FUN_020C7A14
.extern FUN_020C7B3C
-.extern FUN_020C7B3C
-.extern FUN_020C7B3C
-.extern FUN_020C7B3C
-.extern FUN_020C7B3C
-.extern FUN_020C7C28
-.extern FUN_020C7C28
.extern FUN_020C7C28
-.extern FUN_020C7C28
-.extern FUN_020C7C28
-.extern FUN_020C7D28
.extern FUN_020C7D28
.extern FUN_020C7E0C
.extern FUN_020C7E94
.extern FUN_020C7FF0
-.extern FUN_020C7FF0
.extern FUN_020C802C
.extern FUN_020C8068
.extern FUN_020C80A4
.extern FUN_020C823C
.extern FUN_020C8538
+.extern FUN_020C8728
+.extern FUN_020C8774
+.extern FUN_020C87E8
+.extern FUN_020C880C
+.extern FUN_020C8858
+.extern FUN_020C88CC
+.extern FUN_020C88F0
+.extern FUN_020C8948
+.extern FUN_020C89BC
.extern FUN_020C8A2C
+.extern FUN_020C8A90
.extern FUN_020C8B10
+.extern FUN_020C8C14
+.extern FUN_020C8C7C
+.extern FUN_020C8CE4
+.extern FUN_020C8D4C
+.extern FUN_020C8DB4
+.extern FUN_020C8E1C
+.extern FUN_020C8E84
.extern FUN_020C8EEC
+.extern FUN_020C8F54
+.extern FUN_020C8FBC
+.extern FUN_020C9024
+.extern FUN_020C908C
+.extern FUN_020C90F4
+.extern FUN_020C915C
+.extern FUN_020C91C4
.extern FUN_020C922C
.extern FUN_020C9294
-.extern FUN_020C9294
-.extern FUN_020C9294
-.extern FUN_020C9294
-.extern FUN_020C92F4
-.extern FUN_020C92F4
-.extern FUN_020C92F4
.extern FUN_020C92F4
.extern FUN_020C9354
.extern FUN_020C93BC
.extern FUN_020C9418
.extern FUN_020C9480
-.extern FUN_020C9480
-.extern FUN_020C9480
-.extern FUN_020C9480
-.extern FUN_020C94E8
-.extern FUN_020C94E8
.extern FUN_020C94E8
-.extern FUN_020C94E8
-.extern FUN_020C9550
-.extern FUN_020C9550
.extern FUN_020C9550
-.extern FUN_020C9550
-.extern FUN_020C9550
-.extern FUN_020C9C0C
-.extern FUN_020C9C0C
-.extern FUN_020C9C0C
-.extern FUN_020C9C0C
.extern FUN_020C9C0C
-.extern FUN_020C9C0C
-.extern FUN_020C9C0C
-.extern FUN_020C9C0C
-.extern FUN_020C9C0C
-.extern FUN_020C9E14
-.extern FUN_020C9E14
.extern FUN_020C9E14
-.extern FUN_020C9E14
-.extern FUN_020C9E5C
-.extern FUN_020C9E5C
-.extern FUN_020C9E5C
-.extern FUN_020C9E5C
-.extern FUN_020C9E5C
.extern FUN_020C9E5C
-.extern FUN_020C9E5C
-.extern FUN_020C9FEC
-.extern FUN_020C9FEC
-.extern FUN_020C9FEC
-.extern FUN_020C9FEC
-.extern FUN_020C9FEC
.extern FUN_020C9FEC
.extern FUN_020CA0A0
-.extern FUN_020CA0A0
-.extern FUN_020CA0A0
-.extern FUN_020CA0F8
.extern FUN_020CA0F8
-.extern FUN_020CA0F8
-.extern FUN_020CA0F8
-.extern FUN_020CC124
.extern FUN_020CC124
.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
-.extern FUN_020CC15C
.extern FUN_020CC180
.extern FUN_020CC1B4
.extern FUN_020CC204
.extern FUN_020CC26C
-.extern FUN_020CC26C
-.extern FUN_020CC26C
-.extern FUN_020CC26C
-.extern FUN_020CC26C
-.extern FUN_020CC26C
-.extern FUN_020CC26C
-.extern FUN_020CC26C
.extern FUN_020CC2F4
.extern FUN_020CC308
.extern FUN_020CC31C
.extern FUN_020CC408
+.extern FUN_020CCC1C
.extern FUN_020CCD64
.extern FUN_020CD310
-.extern FUN_020CD310
-.extern FUN_020CD310
.extern FUN_020CD324
-.extern FUN_020CD324
-.extern FUN_020CD324
-.extern FUN_020CD374
.extern FUN_020CD374
-.extern FUN_020CD374
-.extern FUN_020CD374
-.extern FUN_020CD374
-.extern FUN_020CD3B4
-.extern FUN_020CD3B4
-.extern FUN_020CD3B4
.extern FUN_020CD3B4
-.extern FUN_020CD3B4
-.extern FUN_020CD3B4
-.extern FUN_020CD510
-.extern FUN_020CD510
-.extern FUN_020CD510
.extern FUN_020CD510
.extern FUN_020CD524
.extern FUN_020CD5A0
-.extern FUN_020CD5A0
-.extern FUN_020CD5A0
-.extern FUN_020CD5A0
-.extern FUN_020CD5A0
-.extern FUN_020CD5A0
.extern FUN_020CD754
.extern FUN_020CD850
-.extern FUN_020CD850
-.extern FUN_020CD850
-.extern FUN_020CD850
.extern FUN_020CD998
.extern FUN_020CDA1C
-.extern FUN_020CDA1C
.extern FUN_020CDD90
.extern FUN_020CDE04
.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1C8
-.extern FUN_020CE1E0
.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1E0
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
-.extern FUN_020CE1FC
.extern FUN_020CE1FC
.extern FUN_020CE210
-.extern FUN_020CE210
-.extern FUN_020CE210
-.extern FUN_020CE210
-.extern FUN_020CE210
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE240
-.extern FUN_020CE28C
-.extern FUN_020CE28C
-.extern FUN_020CE28C
-.extern FUN_020CE28C
-.extern FUN_020CE28C
.extern FUN_020CE28C
-.extern FUN_020CE28C
-.extern FUN_020CE28C
-.extern FUN_020CE2E0
.extern FUN_020CE2E0
-.extern FUN_020CE2E0
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE34C
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE3E0
-.extern FUN_020CE528
-.extern FUN_020CE528
-.extern FUN_020CE528
.extern FUN_020CE528
.extern FUN_020CF768
.extern FUN_020D1148
.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D17A0
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
-.extern FUN_020D180C
.extern FUN_020D180C
.extern FUN_020D182C
.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D18FC
-.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1944
.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1944
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
-.extern FUN_020D1C94
.extern FUN_020D1C94
.extern FUN_020D1CC4
.extern FUN_020D1CD4
.extern FUN_020D1D10
-.extern FUN_020D1D10
-.extern FUN_020D1D30
.extern FUN_020D1D30
.extern FUN_020D2040
.extern FUN_020D2094
.extern FUN_020D2210
-.extern FUN_020D2210
.extern FUN_020D23B4
.extern FUN_020D2454
.extern FUN_020D24EC
-.extern FUN_020D24EC
-.extern FUN_020D24EC
-.extern FUN_020D24EC
.extern FUN_020D36C4
-.extern FUN_020D36C4
-.extern FUN_020D36D8
.extern FUN_020D36D8
.extern FUN_020D36F0
-.extern FUN_020D36F0
.extern FUN_020D3A90
.extern FUN_020D3AA0
.extern FUN_020D3C14
@@ -1055,7 +388,6 @@
.extern FUN_020D3DCC
.extern FUN_020D3E24
.extern FUN_020D3EC4
-.extern FUN_020D3EC4
.extern FUN_020D400C
.extern FUN_020D40B8
.extern FUN_020D4718
@@ -1068,34 +400,18 @@
.extern FUN_020D5168
.extern FUN_020D5180
.extern FUN_020D526C
-.extern FUN_020D526C
.extern FUN_020D5F40
.extern FUN_020D614C
.extern FUN_020D6320
-.extern FUN_020D6320
-.extern FUN_020D6578
-.extern FUN_020D6578
-.extern FUN_020D6578
.extern FUN_020D6578
.extern FUN_020D660C
-.extern FUN_020D660C
-.extern FUN_020D660C
-.extern FUN_020D660C
-.extern FUN_020D660C
-.extern FUN_020D66A0
-.extern FUN_020D66A0
.extern FUN_020D66A0
-.extern FUN_020D66A0
-.extern FUN_020D66B0
-.extern FUN_020D66B0
.extern FUN_020D66B0
.extern FUN_020D6700
+.extern FUN_020D6D7C
.extern FUN_020D6DAC
.extern FUN_020D6DB8
.extern FUN_020D6DC4
-.extern FUN_020D6DC4
-.extern FUN_020D6F20
-.extern FUN_020D6F20
.extern FUN_020D6F20
.extern FUN_020D7228
.extern FUN_020D7D18
@@ -1104,11 +420,9 @@
.extern FUN_020D8AF0
.extern FUN_020D8B94
.extern FUN_020D8C3C
-.extern FUN_020D8C3C
.extern FUN_020D8F34
.extern FUN_020D9014
.extern FUN_020D9060
-.extern FUN_020D9060
.extern FUN_020D9168
.extern FUN_020D9244
.extern FUN_020D940C
@@ -1119,675 +433,128 @@
.extern FUN_020D9774
.extern FUN_020D97B4
.extern FUN_020D9960
-.extern FUN_020D9960
.extern FUN_020D99EC
.extern FUN_020D9B48
-.extern FUN_020D9B48
.extern FUN_020DAD74
.extern FUN_020DADD4
.extern FUN_020DAF30
.extern FUN_020DB7A8
.extern FUN_020DDC5C
-.extern FUN_020DDC5C
.extern FUN_020DDCE4
.extern FUN_020DDD28
-.extern FUN_020DDD28
.extern FUN_020DDD60
-.extern FUN_020DDD60
-.extern FUN_020DDE44
.extern FUN_020DDE44
.extern FUN_020DDF60
.extern FUN_020DE3F0
-.extern FUN_020DE3F0
-.extern FUN_020DE3F0
-.extern FUN_020DE3F0
-.extern FUN_020DE3F0
-.extern FUN_020DE3F0
-.extern FUN_020DE3F0
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF438
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
-.extern FUN_020DF4A4
.extern FUN_020DF4A4
.extern FUN_020DF510
.extern FUN_020E2EAC
.extern FUN_020E2EC8
-.extern FUN_020E2EC8
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
-.extern FUN_020EA980
.extern FUN_020EA980
.extern FUN_020EAEF0
-.extern FUN_020EAEF0
-.extern FUN_020EAEF0
.extern FUN_020EB010
.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB084
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4C0
-.extern FUN_020EB4F4
.extern FUN_020EB4F4
.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB534
-.extern FUN_020EB57C
.extern FUN_020EB57C
.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB5C4
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EB7B0
-.extern FUN_020EBA38
.extern FUN_020EBA38
.extern FUN_020EBBE8
-.extern FUN_020EBBE8
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC30
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
+.extern FUN_020EBC50
.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBC80
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
-.extern FUN_020EBE8C
.extern FUN_020EBE8C
.extern FUN_020EC5CC
.extern FUN_020EC694
+.extern FUN_021D74E0
+.extern FUN_021D76AC
+.extern FUN_021D77C4
+.extern FUN_021D7800
.extern FUN_021D78FC
-.extern FUN_021D78FC
-.extern FUN_021D79B4
.extern FUN_021D79B4
.extern FUN_021D7CA4
-.extern FUN_021D7CA4
-.extern FUN_021D7CA4
-.extern FUN_021D7CA4
-.extern FUN_021D7CA4
-.extern FUN_021D7CA4
-.extern FUN_021D7CA4
-.extern FUN_021D7CA4
.extern FUN_021D7F8C
.extern FUN_021D8018
-.extern FUN_021D8018
.extern FUN_021D8164
.extern FUN_021D82BC
.extern FUN_021D8320
.extern FUN_021D836C
-.extern FUN_021D83C0
+.extern FUN_021D83A8
.extern FUN_021D83C0
.extern FUN_021D844C
+.extern FUN_021D8494
.extern FUN_021D85FC
.extern FUN_021D8624
-.extern FUN_021D88E4
-.extern FUN_021D88E4
-.extern FUN_021D88E4
-.extern FUN_021D88E4
+.extern FUN_021D865C
+.extern FUN_021D8758
+.extern FUN_021D8820
.extern FUN_021D88E4
.extern FUN_021D89CC
.extern FUN_021D8B64
-.extern FUN_021D8B64
-.extern FUN_021D8B64
-.extern FUN_021D8B64
-.extern FUN_021D8B64
-.extern FUN_021D8B64
.extern FUN_021D8C24
.extern FUN_021D917C
.extern FUN_021D959C
-.extern FUN_021D959C
-.extern FUN_021D959C
-.extern FUN_021D959C
.extern FUN_021D967C
-.extern FUN_021D967C
-.extern FUN_021D967C
-.extern FUN_021D967C
-.extern FUN_021D96F4
-.extern FUN_021D96F4
-.extern FUN_021D96F4
.extern FUN_021D96F4
-.extern FUN_021D96F4
-.extern FUN_021D9708
-.extern FUN_021D9708
.extern FUN_021D9708
-.extern FUN_021D9708
-.extern FUN_021D9708
-.extern FUN_021D971C
.extern FUN_021D971C
-.extern FUN_021D971C
-.extern FUN_021D971C
-.extern FUN_021D971C
-.extern FUN_021D9820
-.extern FUN_021D9820
-.extern FUN_021D9820
.extern FUN_021D9820
-.extern FUN_021D9820
-.extern FUN_021D99F8
-.extern FUN_021D99F8
-.extern FUN_021D99F8
.extern FUN_021D99F8
.extern FUN_021DA464
+.extern FUN_021DA4EC
+.extern FUN_021DA54C
.extern FUN_021DA58C
.extern FUN_021DA5B8
-.extern FUN_021DA5B8
.extern FUN_021DA5C8
.extern FUN_021DA5D0
-.extern FUN_021DA5D0
+.extern FUN_021DA5D8
+.extern FUN_021DA7B4
+.extern FUN_021DAAA4
.extern FUN_021DAC70
.extern FUN_021DAE40
.extern FUN_021DAED4
.extern FUN_021DAF28
.extern FUN_021DAF78
.extern FUN_021DAF98
-.extern FUN_021DAF98
-.extern FUN_021DB030
-.extern FUN_021DB030
.extern FUN_021DB030
.extern FUN_021DB7E8
.extern FUN_021DB858
.extern FUN_021DC174
-.extern FUN_021DC174
.extern FUN_021DD6F0
.extern FUN_021DD718
-.extern FUN_021DD718
.extern FUN_021DDB08
.extern FUN_021E1374
.extern FUN_021E1858
.extern FUN_021E1994
.extern FUN_021E1BF8
-.extern FUN_021E1BF8
.extern FUN_021E1C4C
-.extern FUN_021E1C4C
-.extern FUN_021E1C54
.extern FUN_021E1C54
.extern FUN_021E1ECC
.extern FUN_021E1F34
-.extern FUN_021E1F34
.extern FUN_021E1F58
.extern FUN_021E1F60
.extern FUN_021E2464
.extern FUN_021E2608
.extern FUN_021E26CC
+.extern FUN_021E27E8
+.extern FUN_021E288C
+.extern FUN_021E28A0
+.extern FUN_021E2950
+.extern FUN_021E29B4
+.extern FUN_021E29C8
+.extern FUN_021E2A70
+.extern FUN_021E2AD4
.extern FUN_021E2B80
.extern FUN_021E2B9C
.extern FUN_021E2BB8
-.extern FUN_021E2BB8
-.extern FUN_021E2BB8
-.extern FUN_021E2BD0
.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2BD0
-.extern FUN_021E2C24
.extern FUN_021E2C24
.extern FUN_021E2C58
-.extern FUN_021E2C58
-.extern FUN_021E2C58
.extern FUN_021E2CBC
.extern FUN_021E32F0
-.extern FUN_021E32F0
-.extern FUN_021E331C
-.extern FUN_021E331C
.extern FUN_021E331C
.extern FUN_021E3424
.extern FUN_021E3444
@@ -1795,21 +562,11 @@
.extern FUN_021E4C54
.extern FUN_021E4C60
.extern FUN_021E4DE4
+.extern FUN_021E5614
+.extern FUN_021E57D4
.extern FUN_021E5970
.extern FUN_021E5B30
-.extern FUN_021E5B30
-.extern FUN_021E5B30
-.extern FUN_021E5B30
-.extern FUN_021E5FD8
.extern FUN_021E5FD8
-.extern FUN_021E5FD8
-.extern FUN_021E5FD8
-.extern FUN_021E5FD8
-.extern FUN_021E5FE0
-.extern FUN_021E5FE0
-.extern FUN_021E5FE0
-.extern FUN_021E5FE0
-.extern FUN_021E5FE0
.extern FUN_021E5FE0
.extern FUN_021E6410
.extern FUN_021E643C
@@ -1819,42 +576,23 @@
.extern FUN_021E7030
.extern FUN_021E70F0
.extern FUN_021E7138
-.extern FUN_021E7138
-.extern FUN_021E7138
.extern FUN_021E7184
.extern FUN_021E71E8
.extern FUN_021E7750
-.extern FUN_021E7750
-.extern FUN_021E799C
.extern FUN_021E799C
.extern FUN_021E7AC0
-.extern FUN_021E7AC0
-.extern FUN_021E7EA0
-.extern FUN_021E7EA0
.extern FUN_021E7EA0
.extern FUN_021E7EB0
-.extern FUN_021E7EB0
-.extern FUN_021E7EC4
-.extern FUN_021E7EC4
-.extern FUN_021E7EC4
.extern FUN_021E7EC4
.extern FUN_021E7EC8
.extern FUN_021E7ED0
-.extern FUN_021E7ED0
-.extern FUN_021E7ED0
-.extern FUN_021E7ED0
.extern FUN_021E7ED8
.extern FUN_021E7FBC
.extern FUN_021E8128
-.extern FUN_021E8128
-.extern FUN_021E8130
.extern FUN_021E8130
-.extern FUN_021E8130
-.extern FUN_021E8140
.extern FUN_021E8140
.extern FUN_021E8144
.extern FUN_021E8148
-.extern FUN_021E8148
.extern FUN_021E8158
.extern FUN_021E81BC
.extern FUN_021E84F4
@@ -1862,62 +600,56 @@
.extern FUN_021E8588
.extern FUN_021E85E4
.extern FUN_021E85FC
+.extern FUN_021EC57C
+.extern FUN_021EC71C
+.extern FUN_021EC854
+.extern FUN_021EC864
+.extern FUN_021ECD64
.extern FUN_021ECF14
+.extern FUN_021ED0CC
.extern FUN_021ED49C
+.extern FUN_021ED4E0
+.extern FUN_021ED52C
+.extern FUN_021ED5C4
+.extern FUN_021ED5EC
+.extern FUN_021ED644
.extern FUN_021ED940
.extern FUN_021EDA48
.extern FUN_021EDBC8
.extern FUN_021EF5E0
-.extern FUN_021EF5E0
-.extern FUN_021EF604
-.extern FUN_021EF604
-.extern FUN_021EF604
.extern FUN_021EF604
.extern FUN_021EF620
.extern FUN_021EF654
.extern FUN_021EF824
-.extern FUN_021EF824
-.extern FUN_021EF824
-.extern FUN_021EF844
.extern FUN_021EF844
.extern FUN_021EF8C8
.extern FUN_021EF8DC
.extern FUN_021EFA9C
-.extern FUN_021EFA9C
.extern FUN_021F02C4
.extern FUN_021F1D8C
.extern FUN_021F1DC8
-.extern FUN_021F1DC8
-.extern FUN_021F1DC8
-.extern FUN_021F1DC8
-.extern FUN_021F1DC8
.extern FUN_021F1DFC
.extern FUN_021F1EC0
-.extern FUN_021F1EC0
-.extern FUN_021F1EC0
-.extern FUN_021F1F78
.extern FUN_021F1F78
.extern FUN_021F2094
-.extern FUN_021F2094
-.extern FUN_021F2094
.extern FUN_021F20D8
.extern FUN_021F20F8
.extern FUN_021F2AF4
.extern FUN_021F2E0C
.extern FUN_021F2E28
-.extern FUN_021F2E28
-.extern FUN_021F2E28
-.extern FUN_021F2F48
.extern FUN_021F2F48
.extern FUN_021F2F6C
+.extern FUN_021F3A18
+.extern FUN_021F3AB4
+.extern FUN_021F3B4C
+.extern FUN_021F3B7C
.extern FUN_021F3DA4
.extern FUN_021F44D8
.extern FUN_021F4520
.extern FUN_021F4568
-.extern FUN_021F45E8
+.extern FUN_021F4594
.extern FUN_021F45E8
.extern FUN_021F4608
-.extern FUN_021F4608
.extern FUN_021F4BD0
.extern FUN_021F4C88
.extern FUN_021F4D80
@@ -1925,12 +657,10 @@
.extern FUN_021F4E7C
.extern FUN_021F57EC
.extern FUN_021F5C44
-.extern FUN_021F5C44
-.extern FUN_021F5C44
-.extern FUN_021F5C44
-.extern FUN_021F5C44
-.extern FUN_021F5C44
+.extern FUN_021F61DC
+.extern FUN_021F61E8
.extern FUN_02211E60
+.extern FUN_0222D5C0
.extern FUN_0222DAEC
.extern FUN_0222DD1C
.extern FUN_0222DD38
@@ -1943,23 +673,16 @@
.extern FUN_0222EDBC
.extern FUN_0222F440
.extern FUN_0222F480
-.extern FUN_0222F480
.extern FUN_0222F7E0
.extern FUN_0222F990
.extern FUN_022300D4
-.extern FUN_022300D4
-.extern FUN_022300DC
.extern FUN_022300DC
.extern FUN_022300E4
.extern FUN_022300E8
.extern FUN_022300F4
-.extern FUN_022300F4
-.extern FUN_02230100
.extern FUN_02230100
.extern FUN_0223010C
.extern FUN_02230118
-.extern FUN_02230118
-.extern FUN_02230124
.extern FUN_02230124
.extern FUN_02230F3C
.extern FUN_02230F70
@@ -1971,240 +694,215 @@
.extern FUN_02231374
.extern FUN_02239944
.extern FUN_02239AAC
+.extern FUN_0223CACC
.extern FUN_0223CB08
.extern FUN_0223CCDC
.extern FUN_0223CD7C
-.extern FUN_0223CD7C
-.extern FUN_0223D3D0
.extern FUN_0223D3D0
-.extern FUN_0223D3D0
-.extern FUN_0223D3D0
-.extern FUN_0223D638
.extern FUN_0223D638
.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
-.extern FUN_0223D648
+.extern FUN_0223DFB4
.extern FUN_0223E060
+.extern FUN_0223E118
+.extern FUN_0223E154
+.extern FUN_0223E1A4
.extern FUN_0223E1E0
+.extern FUN_0223E2AC
.extern FUN_0223E4A8
.extern FUN_0223E4D4
.extern FUN_0223E554
.extern FUN_0223E6B8
.extern FUN_0223E734
-.extern FUN_0223E734
+.extern FUN_0223E7FC
.extern FUN_0223EB8C
.extern FUN_0223EF7C
+.extern FUN_0223F4D8
+.extern FUN_0223F4F4
.extern FUN_0223F8D8
+.extern FUN_0223FCE8
.extern FUN_02240790
+.extern FUN_022407CC
.extern FUN_022407DC
.extern FUN_022407F8
+.extern FUN_02240834
.extern FUN_02240844
.extern FUN_0224089C
-.extern FUN_0224089C
+.extern FUN_022408FC
+.extern FUN_022411F4
.extern FUN_02241230
.extern FUN_02241914
.extern FUN_02242A38
+.extern FUN_02242BE0
+.extern FUN_0224312C
+.extern FUN_022432E4
+.extern FUN_0224339C
+.extern FUN_022433A8
+.extern FUN_022433B0
+.extern FUN_022433B8
+.extern FUN_022433F8
+.extern FUN_02243408
+.extern FUN_02243428
+.extern FUN_02243448
+.extern FUN_0224345C
+.extern FUN_022434AC
+.extern FUN_022434BC
+.extern FUN_022434D0
+.extern FUN_02243694
+.extern FUN_022436C8
+.extern FUN_022436E8
+.extern FUN_02243780
+.extern FUN_02243838
+.extern FUN_022438DC
+.extern FUN_022438E0
+.extern FUN_022438FC
+.extern FUN_02243920
+.extern FUN_022439F8
+.extern FUN_02243AD8
+.extern FUN_02243BA8
+.extern FUN_02243C5C
+.extern FUN_02243D3C
+.extern FUN_02243DA0
+.extern FUN_02243DB8
+.extern FUN_02243DC0
+.extern FUN_02243DC4
+.extern FUN_02243DD8
+.extern FUN_02243DE0
+.extern FUN_02243E34
+.extern FUN_02243E74
+.extern FUN_02243F18
+.extern FUN_02243F50
+.extern FUN_02243F9C
.extern FUN_02244210
.extern FUN_02244558
.extern FUN_02244660
.extern FUN_022446BC
.extern FUN_022446E0
+.extern FUN_022446FC
+.extern FUN_02244758
+.extern FUN_02244770
+.extern FUN_02244824
+.extern FUN_0224484C
+.extern FUN_02244D1C
+.extern FUN_02244D20
.extern FUN_02244D3C
.extern FUN_02244D40
-.extern FUN_02244D40
-.extern FUN_02244D40
-.extern FUN_02244D40
.extern FUN_02244D58
.extern FUN_02244D98
-.extern FUN_02244D98
.extern FUN_02244DA0
.extern FUN_02244DB0
-.extern FUN_02244DB0
+.extern FUN_02244DBC
+.extern FUN_02244DC4
+.extern FUN_02244EF8
+.extern FUN_02244F18
+.extern FUN_02244F24
+.extern FUN_02244F2C
+.extern FUN_02245088
.extern FUN_02245114
+.extern FUN_02245190
.extern FUN_02245198
.extern FUN_022451F0
+.extern FUN_0224525C
+.extern FUN_022452A4
+.extern FUN_02245324
+.extern FUN_02245340
.extern FUN_02245358
.extern FUN_0224566C
+.extern FUN_022456E8
.extern FUN_02245844
.extern FUN_02245910
-.extern FUN_02245910
.extern FUN_02245F1C
.extern FUN_02245F4C
.extern FUN_02245FA0
+.extern FUN_022461A4
+.extern FUN_022461B8
.extern FUN_0224666C
-.extern FUN_0224666C
-.extern FUN_022466A0
.extern FUN_022466A0
.extern FUN_022466AC
-.extern FUN_022466AC
.extern FUN_02246F1C
.extern FUN_02247294
.extern FUN_022472AC
.extern FUN_02247544
.extern FUN_02247614
+.extern FUN_02247728
+.extern FUN_02247808
+.extern FUN_02247970
.extern FUN_02247A34
.extern FUN_022483BC
.extern FUN_022483E0
.extern FUN_022483EC
+.extern FUN_02248724
+.extern FUN_0224884C
+.extern FUN_022488CC
+.extern FUN_022488EC
+.extern FUN_022488F4
.extern FUN_022488FC
.extern FUN_0224891C
.extern FUN_02248B54
.extern FUN_02248B58
-.extern FUN_02248B58
-.extern FUN_02248B58
.extern FUN_02248B5C
.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
-.extern FUN_02248B60
.extern FUN_02248B6C
+.extern FUN_02248CC0
.extern FUN_02248CD0
.extern FUN_02248DF8
+.extern FUN_02248F70
+.extern FUN_02248FE0
+.extern FUN_02249038
+.extern FUN_022490A0
+.extern FUN_022491FC
.extern FUN_022494C8
.extern FUN_02249508
.extern FUN_02249668
-.extern FUN_02249668
-.extern FUN_02249668
-.extern FUN_02249668
-.extern FUN_022497E8
.extern FUN_022497E8
.extern FUN_02249E6C
.extern FUN_02249E78
.extern FUN_02249E84
.extern FUN_02249E90
.extern FUN_0224A310
-.extern FUN_0224A310
-.extern FUN_0224A528
.extern FUN_0224A528
.extern FUN_0224A7C8
.extern FUN_0224ABAC
.extern FUN_0224B124
-.extern FUN_0224B124
-.extern FUN_0224B2C4
.extern FUN_0224B2C4
.extern FUN_0224B568
-.extern FUN_0224B568
-.extern FUN_0224B818
-.extern FUN_0224B818
.extern FUN_0224B818
.extern FUN_0224B86C
.extern FUN_0224B9E0
.extern FUN_0224BBEC
.extern FUN_0224BD90
-.extern FUN_0224BD90
-.extern FUN_0224C038
.extern FUN_0224C038
+.extern FUN_0224C27C
+.extern FUN_0224C520
.extern FUN_0224C678
.extern FUN_0224C6E8
+.extern FUN_0224C6F4
.extern FUN_0224C700
.extern FUN_0224C8C8
.extern FUN_0224CA2C
.extern FUN_0224CA54
.extern FUN_0224CA58
.extern FUN_0224CA88
+.extern FUN_0224CA94
+.extern FUN_0224CAA0
+.extern FUN_0224CAB4
.extern FUN_0224CB30
+.extern FUN_0224CBB0
+.extern FUN_0224CC24
.extern FUN_0224CECC
-.extern FUN_0224CECC
+.extern FUN_0224D14C
.extern FUN_0224D2E0
.extern FUN_0224D3E8
.extern FUN_0224D70C
.extern FUN_0224D76C
.extern FUN_0224D79C
.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
-.extern FUN_0224DCB8
.extern FUN_0224DD94
.extern FUN_0224DDB8
-.extern FUN_0224DDB8
.extern FUN_0224E554
.extern FUN_0224E764
.extern FUN_0224E7C4
.extern FUN_0224F12C
-.extern FUN_0224F12C
-.extern FUN_0224F12C
.extern FUN_02252534
.extern FUN_02252538
.extern FUN_022567E0
-.extern FUN_02002C14
-.extern FUN_02002C50
-.extern FUN_02002C50
-.extern FUN_02002C50
-.extern FUN_02003B98
-.extern FUN_02003C10
-.extern FUN_0200A2AC
-.extern FUN_0200A318
-.extern FUN_0200E2D8
-.extern FUN_0201259C
-.extern FUN_020125D4
-.extern FUN_02015E30
-.extern FUN_02015E60
-.extern FUN_02016014
-.extern FUN_02016148
-.extern FUN_020163BC
-.extern FUN_02016438
-.extern FUN_02016464
-.extern FUN_0201B5CC
-.extern FUN_02020AFC
-.extern FUN_02020C2C
-.extern FUN_02022294
-.extern FUN_020222C4
-.extern FUN_0202254C
-.extern FUN_020227FC
-.extern FUN_02023900
-.extern FUN_02029EF8
-.extern FUN_0202FB80
-.extern FUN_020337E8
-.extern FUN_02034188
-.extern FUN_02089D90
+.extern NitroMain \ No newline at end of file
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 4013a244..43538862 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -1,18 +1,13 @@
-gUnknown2106FA0 = 0x2106FA0;
-FUN_0200019E = 0x0200019E;
FUN_0200019E = 0x0200019E;
FUN_02000DF4 = 0x02000DF4;
FUN_02000E0C = 0x02000E0C;
FUN_02000E7C = 0x02000E7C;
-FUN_02000E7C = 0x02000E7C;
FUN_02000EE8 = 0x02000EE8;
FUN_02000F18 = 0x02000F18;
FUN_02000FA4 = 0x02000FA4;
FUN_02000FE8 = 0x02000FE8;
FUN_02002C14 = 0x02002C14;
FUN_02002C50 = 0x02002C50;
-FUN_02002C50 = 0x02002C50;
-FUN_02002C50 = 0x02002C50;
FUN_02003B98 = 0x02003B98;
FUN_02003C10 = 0x02003C10;
FUN_0200A2AC = 0x0200A2AC;
@@ -48,430 +43,121 @@ FUN_0208B05C = 0x0208B05C;
FUN_0208B128 = 0x0208B128;
FUN_0208B4A0 = 0x0208B4A0;
FUN_02090CC8 = 0x02090CC8;
-FUN_02090CC8 = 0x02090CC8;
-FUN_02090CC8 = 0x02090CC8;
-FUN_02090CC8 = 0x02090CC8;
-FUN_02090CC8 = 0x02090CC8;
-FUN_02090CC8 = 0x02090CC8;
-FUN_02090CC8 = 0x02090CC8;
-FUN_02090DB8 = 0x02090DB8;
-FUN_02090DB8 = 0x02090DB8;
-FUN_02090DB8 = 0x02090DB8;
-FUN_02090DB8 = 0x02090DB8;
FUN_02090DB8 = 0x02090DB8;
-FUN_02090DB8 = 0x02090DB8;
-FUN_02090DB8 = 0x02090DB8;
-FUN_02096B14 = 0x02096B14;
-FUN_02096B14 = 0x02096B14;
FUN_02096B14 = 0x02096B14;
-FUN_02096B14 = 0x02096B14;
-FUN_02096B14 = 0x02096B14;
-FUN_02096B14 = 0x02096B14;
-FUN_02096B14 = 0x02096B14;
-FUN_02096B78 = 0x02096B78;
-FUN_02096B78 = 0x02096B78;
-FUN_02096B78 = 0x02096B78;
-FUN_02096B78 = 0x02096B78;
-FUN_02096B78 = 0x02096B78;
FUN_02096B78 = 0x02096B78;
-FUN_02096B78 = 0x02096B78;
-FUN_02096CCC = 0x02096CCC;
-FUN_02096CCC = 0x02096CCC;
-FUN_02096CCC = 0x02096CCC;
-FUN_02096CCC = 0x02096CCC;
-FUN_02096CCC = 0x02096CCC;
-FUN_02096CCC = 0x02096CCC;
-FUN_02096CCC = 0x02096CCC;
FUN_02096CCC = 0x02096CCC;
FUN_02096D2C = 0x02096D2C;
-FUN_02096D2C = 0x02096D2C;
-FUN_02096D2C = 0x02096D2C;
-FUN_02096D2C = 0x02096D2C;
-FUN_02096D2C = 0x02096D2C;
-FUN_02096D2C = 0x02096D2C;
-FUN_02096D2C = 0x02096D2C;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
-FUN_02096DA0 = 0x02096DA0;
FUN_02096DA0 = 0x02096DA0;
FUN_02096E90 = 0x02096E90;
-FUN_02096E90 = 0x02096E90;
-FUN_02096E90 = 0x02096E90;
-FUN_02096E90 = 0x02096E90;
-FUN_02096E90 = 0x02096E90;
-FUN_02096E90 = 0x02096E90;
-FUN_02096E90 = 0x02096E90;
-FUN_02096F18 = 0x02096F18;
-FUN_02096F18 = 0x02096F18;
-FUN_02096F18 = 0x02096F18;
FUN_02096F18 = 0x02096F18;
-FUN_02096F18 = 0x02096F18;
-FUN_02096F18 = 0x02096F18;
-FUN_02096F18 = 0x02096F18;
-FUN_02096F80 = 0x02096F80;
-FUN_02096F80 = 0x02096F80;
-FUN_02096F80 = 0x02096F80;
-FUN_02096F80 = 0x02096F80;
-FUN_02096F80 = 0x02096F80;
FUN_02096F80 = 0x02096F80;
-FUN_02096F80 = 0x02096F80;
-FUN_02096FB0 = 0x02096FB0;
-FUN_02096FB0 = 0x02096FB0;
-FUN_02096FB0 = 0x02096FB0;
-FUN_02096FB0 = 0x02096FB0;
FUN_02096FB0 = 0x02096FB0;
-FUN_02096FB0 = 0x02096FB0;
-FUN_02096FB0 = 0x02096FB0;
-FUN_02096FF4 = 0x02096FF4;
-FUN_02096FF4 = 0x02096FF4;
FUN_02096FF4 = 0x02096FF4;
-FUN_02096FF4 = 0x02096FF4;
-FUN_02096FF4 = 0x02096FF4;
-FUN_02096FF4 = 0x02096FF4;
-FUN_02096FF4 = 0x02096FF4;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_0209700C = 0x0209700C;
-FUN_020973B4 = 0x020973B4;
-FUN_020973B4 = 0x020973B4;
-FUN_020973B4 = 0x020973B4;
-FUN_020973B4 = 0x020973B4;
-FUN_020973B4 = 0x020973B4;
-FUN_020973B4 = 0x020973B4;
FUN_020973B4 = 0x020973B4;
FUN_020ADDC0 = 0x020ADDC0;
FUN_020ADDC8 = 0x020ADDC8;
FUN_020ADDF0 = 0x020ADDF0;
-FUN_020ADDF0 = 0x020ADDF0;
-FUN_020ADDF0 = 0x020ADDF0;
FUN_020ADE2C = 0x020ADE2C;
FUN_020ADFA0 = 0x020ADFA0;
-FUN_020ADFA0 = 0x020ADFA0;
FUN_020ADFDC = 0x020ADFDC;
FUN_020ADFE8 = 0x020ADFE8;
-FUN_020ADFE8 = 0x020ADFE8;
FUN_020AE82C = 0x020AE82C;
FUN_020AE8CC = 0x020AE8CC;
FUN_020AE918 = 0x020AE918;
FUN_020AEB70 = 0x020AEB70;
-FUN_020AEB70 = 0x020AEB70;
-FUN_020AEB70 = 0x020AEB70;
FUN_020AEC7C = 0x020AEC7C;
FUN_020AEC98 = 0x020AEC98;
FUN_020AEE40 = 0x020AEE40;
-FUN_020AEE40 = 0x020AEE40;
FUN_020AEEB8 = 0x020AEEB8;
-FUN_020AEEB8 = 0x020AEEB8;
-FUN_020AEF1C = 0x020AEF1C;
FUN_020AEF1C = 0x020AEF1C;
FUN_020AF894 = 0x020AF894;
FUN_020AF9C4 = 0x020AF9C4;
-FUN_020AF9C4 = 0x020AF9C4;
-FUN_020AFA28 = 0x020AFA28;
FUN_020AFA28 = 0x020AFA28;
FUN_020AFA80 = 0x020AFA80;
FUN_020AFBA8 = 0x020AFBA8;
-FUN_020AFBA8 = 0x020AFBA8;
FUN_020AFBFC = 0x020AFBFC;
-FUN_020AFBFC = 0x020AFBFC;
-FUN_020AFC04 = 0x020AFC04;
-FUN_020AFC04 = 0x020AFC04;
-FUN_020AFC04 = 0x020AFC04;
-FUN_020AFC04 = 0x020AFC04;
-FUN_020AFC04 = 0x020AFC04;
FUN_020AFC04 = 0x020AFC04;
FUN_020AFD88 = 0x020AFD88;
FUN_020AFD94 = 0x020AFD94;
-FUN_020AFD94 = 0x020AFD94;
-FUN_020AFD94 = 0x020AFD94;
-FUN_020AFD94 = 0x020AFD94;
-FUN_020AFEB8 = 0x020AFEB8;
FUN_020AFEB8 = 0x020AFEB8;
FUN_020AFFD8 = 0x020AFFD8;
FUN_020B0030 = 0x020B0030;
-FUN_020B0030 = 0x020B0030;
-FUN_020B0030 = 0x020B0030;
-FUN_020B0030 = 0x020B0030;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
-FUN_020B0088 = 0x020B0088;
FUN_020B0088 = 0x020B0088;
FUN_020B00F0 = 0x020B00F0;
FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0138 = 0x020B0138;
-FUN_020B0180 = 0x020B0180;
-FUN_020B0180 = 0x020B0180;
-FUN_020B0180 = 0x020B0180;
-FUN_020B0180 = 0x020B0180;
FUN_020B0180 = 0x020B0180;
-FUN_020B0180 = 0x020B0180;
-FUN_020B0180 = 0x020B0180;
-FUN_020B0250 = 0x020B0250;
-FUN_020B0250 = 0x020B0250;
-FUN_020B0250 = 0x020B0250;
FUN_020B0250 = 0x020B0250;
FUN_020B02C8 = 0x020B02C8;
-FUN_020B02C8 = 0x020B02C8;
-FUN_020B0448 = 0x020B0448;
FUN_020B0448 = 0x020B0448;
-FUN_020B0448 = 0x020B0448;
-FUN_020B0870 = 0x020B0870;
FUN_020B0870 = 0x020B0870;
FUN_020B0BB0 = 0x020B0BB0;
-FUN_020B0BB0 = 0x020B0BB0;
-FUN_020B0C7C = 0x020B0C7C;
FUN_020B0C7C = 0x020B0C7C;
FUN_020B0E34 = 0x020B0E34;
-FUN_020B0E34 = 0x020B0E34;
-FUN_020B0FC0 = 0x020B0FC0;
-FUN_020B0FC0 = 0x020B0FC0;
FUN_020B0FC0 = 0x020B0FC0;
FUN_020B10E8 = 0x020B10E8;
FUN_020B1240 = 0x020B1240;
-FUN_020B1240 = 0x020B1240;
-FUN_020B1240 = 0x020B1240;
-FUN_020B1240 = 0x020B1240;
-FUN_020B1240 = 0x020B1240;
-FUN_020B1240 = 0x020B1240;
-FUN_020B1340 = 0x020B1340;
FUN_020B1340 = 0x020B1340;
FUN_020B1528 = 0x020B1528;
-FUN_020B1528 = 0x020B1528;
-FUN_020B1528 = 0x020B1528;
-FUN_020B1528 = 0x020B1528;
-FUN_020B1768 = 0x020B1768;
FUN_020B1768 = 0x020B1768;
FUN_020B19C4 = 0x020B19C4;
-FUN_020B19C4 = 0x020B19C4;
-FUN_020B19C4 = 0x020B19C4;
-FUN_020B19C4 = 0x020B19C4;
-FUN_020B19C4 = 0x020B19C4;
-FUN_020B19C4 = 0x020B19C4;
-FUN_020B19DC = 0x020B19DC;
-FUN_020B19DC = 0x020B19DC;
FUN_020B19DC = 0x020B19DC;
-FUN_020B19DC = 0x020B19DC;
-FUN_020B19DC = 0x020B19DC;
-FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A14 = 0x020B1A14;
FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A14 = 0x020B1A14;
-FUN_020B1A24 = 0x020B1A24;
-FUN_020B1A24 = 0x020B1A24;
-FUN_020B1A24 = 0x020B1A24;
-FUN_020B1A24 = 0x020B1A24;
FUN_020B1A24 = 0x020B1A24;
-FUN_020B1A24 = 0x020B1A24;
-FUN_020B1EA4 = 0x020B1EA4;
FUN_020B1EA4 = 0x020B1EA4;
FUN_020B1EC4 = 0x020B1EC4;
-FUN_020B1EC4 = 0x020B1EC4;
FUN_020B1EE4 = 0x020B1EE4;
-FUN_020B1EE4 = 0x020B1EE4;
-FUN_020B1EFC = 0x020B1EFC;
FUN_020B1EFC = 0x020B1EFC;
FUN_020B1F80 = 0x020B1F80;
-FUN_020B1F80 = 0x020B1F80;
-FUN_020B20C8 = 0x020B20C8;
FUN_020B20C8 = 0x020B20C8;
FUN_020B2194 = 0x020B2194;
-FUN_020B2194 = 0x020B2194;
-FUN_020B224C = 0x020B224C;
FUN_020B224C = 0x020B224C;
FUN_020B23D8 = 0x020B23D8;
-FUN_020B23D8 = 0x020B23D8;
-FUN_020B242C = 0x020B242C;
FUN_020B242C = 0x020B242C;
-FUN_020B242C = 0x020B242C;
-FUN_020B2780 = 0x020B2780;
FUN_020B2780 = 0x020B2780;
FUN_020B2794 = 0x020B2794;
-FUN_020B2794 = 0x020B2794;
-FUN_020B28B4 = 0x020B28B4;
FUN_020B28B4 = 0x020B28B4;
FUN_020B2A08 = 0x020B2A08;
-FUN_020B2A08 = 0x020B2A08;
-FUN_020B2A08 = 0x020B2A08;
-FUN_020B2A08 = 0x020B2A08;
-FUN_020B2B08 = 0x020B2B08;
FUN_020B2B08 = 0x020B2B08;
FUN_020B2B58 = 0x020B2B58;
-FUN_020B2B58 = 0x020B2B58;
FUN_020B2D9C = 0x020B2D9C;
-FUN_020B2D9C = 0x020B2D9C;
-FUN_020B317C = 0x020B317C;
FUN_020B317C = 0x020B317C;
FUN_020B31F0 = 0x020B31F0;
-FUN_020B31F0 = 0x020B31F0;
-FUN_020B326C = 0x020B326C;
FUN_020B326C = 0x020B326C;
FUN_020B3334 = 0x020B3334;
-FUN_020B3334 = 0x020B3334;
-FUN_020B3390 = 0x020B3390;
FUN_020B3390 = 0x020B3390;
FUN_020B33A0 = 0x020B33A0;
-FUN_020B33A0 = 0x020B33A0;
-FUN_020B4358 = 0x020B4358;
FUN_020B4358 = 0x020B4358;
FUN_020B43A4 = 0x020B43A4;
-FUN_020B43A4 = 0x020B43A4;
FUN_020B442C = 0x020B442C;
-FUN_020B442C = 0x020B442C;
-FUN_020B4568 = 0x020B4568;
FUN_020B4568 = 0x020B4568;
FUN_020B4F38 = 0x020B4F38;
-FUN_020B4F38 = 0x020B4F38;
-FUN_020B4F38 = 0x020B4F38;
-FUN_020B4F38 = 0x020B4F38;
-FUN_020B502C = 0x020B502C;
FUN_020B502C = 0x020B502C;
-FUN_020B502C = 0x020B502C;
-FUN_020B772C = 0x020B772C;
FUN_020B772C = 0x020B772C;
FUN_020B7790 = 0x020B7790;
-FUN_020B7790 = 0x020B7790;
-FUN_020B7790 = 0x020B7790;
-FUN_020B7C58 = 0x020B7C58;
FUN_020B7C58 = 0x020B7C58;
-FUN_020B7C58 = 0x020B7C58;
-FUN_020B7C78 = 0x020B7C78;
FUN_020B7C78 = 0x020B7C78;
-FUN_020B7C78 = 0x020B7C78;
-FUN_020B7CDC = 0x020B7CDC;
FUN_020B7CDC = 0x020B7CDC;
-FUN_020B7CDC = 0x020B7CDC;
-FUN_020B7CDC = 0x020B7CDC;
-FUN_020B7CE4 = 0x020B7CE4;
-FUN_020B7CE4 = 0x020B7CE4;
FUN_020B7CE4 = 0x020B7CE4;
-FUN_020B7CE4 = 0x020B7CE4;
-FUN_020B7CE4 = 0x020B7CE4;
-FUN_020B7CE4 = 0x020B7CE4;
-FUN_020B7CF0 = 0x020B7CF0;
FUN_020B7CF0 = 0x020B7CF0;
-FUN_020B7CF0 = 0x020B7CF0;
-FUN_020B7D28 = 0x020B7D28;
-FUN_020B7D28 = 0x020B7D28;
FUN_020B7D28 = 0x020B7D28;
FUN_020B7DFC = 0x020B7DFC;
-FUN_020B7DFC = 0x020B7DFC;
-FUN_020B7DFC = 0x020B7DFC;
-FUN_020B7DFC = 0x020B7DFC;
-FUN_020B7E10 = 0x020B7E10;
-FUN_020B7E10 = 0x020B7E10;
-FUN_020B7E10 = 0x020B7E10;
FUN_020B7E10 = 0x020B7E10;
-FUN_020B7E10 = 0x020B7E10;
-FUN_020B7E10 = 0x020B7E10;
-FUN_020B7E1C = 0x020B7E1C;
-FUN_020B7E1C = 0x020B7E1C;
-FUN_020B7E1C = 0x020B7E1C;
FUN_020B7E1C = 0x020B7E1C;
-FUN_020B7E1C = 0x020B7E1C;
-FUN_020B7E1C = 0x020B7E1C;
-FUN_020B80B4 = 0x020B80B4;
-FUN_020B80B4 = 0x020B80B4;
FUN_020B80B4 = 0x020B80B4;
-FUN_020B80B4 = 0x020B80B4;
-FUN_020B80B4 = 0x020B80B4;
-FUN_020B844C = 0x020B844C;
-FUN_020B844C = 0x020B844C;
-FUN_020B844C = 0x020B844C;
FUN_020B844C = 0x020B844C;
FUN_020B8474 = 0x020B8474;
-FUN_020B8474 = 0x020B8474;
-FUN_020B8474 = 0x020B8474;
-FUN_020B8474 = 0x020B8474;
-FUN_020B8474 = 0x020B8474;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
-FUN_020B849C = 0x020B849C;
FUN_020B849C = 0x020B849C;
FUN_020BAC98 = 0x020BAC98;
-FUN_020BAC98 = 0x020BAC98;
-FUN_020BAFB8 = 0x020BAFB8;
FUN_020BAFB8 = 0x020BAFB8;
FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB1C0 = 0x020BB1C0;
-FUN_020BB394 = 0x020BB394;
-FUN_020BB394 = 0x020BB394;
FUN_020BB394 = 0x020BB394;
-FUN_020BB394 = 0x020BB394;
-FUN_020BB394 = 0x020BB394;
-FUN_020BB59C = 0x020BB59C;
-FUN_020BB59C = 0x020BB59C;
FUN_020BB59C = 0x020BB59C;
FUN_020BB7F4 = 0x020BB7F4;
-FUN_020BB7F4 = 0x020BB7F4;
-FUN_020BB7F4 = 0x020BB7F4;
-FUN_020BC0FC = 0x020BC0FC;
-FUN_020BC0FC = 0x020BC0FC;
-FUN_020BC0FC = 0x020BC0FC;
FUN_020BC0FC = 0x020BC0FC;
-FUN_020BC0FC = 0x020BC0FC;
-FUN_020BC0FC = 0x020BC0FC;
-FUN_020BC0FC = 0x020BC0FC;
-FUN_020BC13C = 0x020BC13C;
-FUN_020BC13C = 0x020BC13C;
-FUN_020BC13C = 0x020BC13C;
-FUN_020BC13C = 0x020BC13C;
-FUN_020BC13C = 0x020BC13C;
FUN_020BC13C = 0x020BC13C;
FUN_020BC2A0 = 0x020BC2A0;
-FUN_020BC2A0 = 0x020BC2A0;
-FUN_020BC2A0 = 0x020BC2A0;
FUN_020C0174 = 0x020C0174;
FUN_020C01A0 = 0x020C01A0;
FUN_020C01D0 = 0x020C01D0;
@@ -479,58 +165,38 @@ FUN_020C03B8 = 0x020C03B8;
FUN_020C041C = 0x020C041C;
FUN_020C044C = 0x020C044C;
FUN_020C04DC = 0x020C04DC;
-FUN_020C04DC = 0x020C04DC;
FUN_020C0510 = 0x020C0510;
FUN_020C054C = 0x020C054C;
FUN_020C0670 = 0x020C0670;
-FUN_020C0670 = 0x020C0670;
-FUN_020C0688 = 0x020C0688;
FUN_020C0688 = 0x020C0688;
FUN_020C0DD4 = 0x020C0DD4;
FUN_020C0E14 = 0x020C0E14;
-FUN_020C0E14 = 0x020C0E14;
-FUN_020C0E7C = 0x020C0E7C;
-FUN_020C0E7C = 0x020C0E7C;
FUN_020C0E7C = 0x020C0E7C;
FUN_020C0EA4 = 0x020C0EA4;
FUN_020C0EF4 = 0x020C0EF4;
FUN_020C0F30 = 0x020C0F30;
FUN_020C0F50 = 0x020C0F50;
FUN_020C0F68 = 0x020C0F68;
-FUN_020C0F68 = 0x020C0F68;
FUN_020C0F80 = 0x020C0F80;
FUN_020C0F8C = 0x020C0F8C;
FUN_020C0F9C = 0x020C0F9C;
FUN_020C0FDC = 0x020C0FDC;
-FUN_020C0FDC = 0x020C0FDC;
FUN_020C1040 = 0x020C1040;
FUN_020C10A4 = 0x020C10A4;
-FUN_020C10A4 = 0x020C10A4;
-FUN_020C10A4 = 0x020C10A4;
-FUN_020C10A4 = 0x020C10A4;
-FUN_020C10A4 = 0x020C10A4;
FUN_020C1148 = 0x020C1148;
FUN_020C1180 = 0x020C1180;
-FUN_020C1180 = 0x020C1180;
-FUN_020C1E58 = 0x020C1E58;
FUN_020C1E58 = 0x020C1E58;
FUN_020C1E68 = 0x020C1E68;
-FUN_020C1E68 = 0x020C1E68;
FUN_020C1EA4 = 0x020C1EA4;
FUN_020C1F54 = 0x020C1F54;
-FUN_020C1F54 = 0x020C1F54;
-FUN_020C1FA4 = 0x020C1FA4;
FUN_020C1FA4 = 0x020C1FA4;
FUN_020C1FF0 = 0x020C1FF0;
FUN_020C20DC = 0x020C20DC;
FUN_020C2104 = 0x020C2104;
FUN_020C217C = 0x020C217C;
FUN_020C226C = 0x020C226C;
-FUN_020C226C = 0x020C226C;
FUN_020C22D0 = 0x020C22D0;
FUN_020C23FC = 0x020C23FC;
-FUN_020C23FC = 0x020C23FC;
-FUN_020C23FC = 0x020C23FC;
FUN_020C26F8 = 0x020C26F8;
FUN_020C2828 = 0x020C2828;
FUN_020C290C = 0x020C290C;
@@ -541,2423 +207,699 @@ FUN_020C3640 = 0x020C3640;
FUN_020C3674 = 0x020C3674;
FUN_020C36A8 = 0x020C36A8;
FUN_020C3910 = 0x020C3910;
-FUN_020C3910 = 0x020C3910;
-FUN_020C3910 = 0x020C3910;
-FUN_020C3910 = 0x020C3910;
-FUN_020C3980 = 0x020C3980;
-FUN_020C3980 = 0x020C3980;
-FUN_020C3980 = 0x020C3980;
-FUN_020C3980 = 0x020C3980;
FUN_020C3980 = 0x020C3980;
FUN_020C39CC = 0x020C39CC;
FUN_020C3EA4 = 0x020C3EA4;
-FUN_020C3EA4 = 0x020C3EA4;
-FUN_020C3EB0 = 0x020C3EB0;
FUN_020C3EB0 = 0x020C3EB0;
FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F14 = 0x020C3F14;
-FUN_020C3F38 = 0x020C3F38;
FUN_020C3F38 = 0x020C3F38;
-FUN_020C3F38 = 0x020C3F38;
-FUN_020C3F54 = 0x020C3F54;
-FUN_020C3F54 = 0x020C3F54;
FUN_020C3F54 = 0x020C3F54;
FUN_020C3F70 = 0x020C3F70;
-FUN_020C3F70 = 0x020C3F70;
-FUN_020C3F70 = 0x020C3F70;
-FUN_020C400C = 0x020C400C;
-FUN_020C400C = 0x020C400C;
-FUN_020C400C = 0x020C400C;
-FUN_020C400C = 0x020C400C;
FUN_020C400C = 0x020C400C;
FUN_020C504C = 0x020C504C;
-FUN_020C504C = 0x020C504C;
-FUN_020C504C = 0x020C504C;
-FUN_020C50B8 = 0x020C50B8;
-FUN_020C50B8 = 0x020C50B8;
-FUN_020C50B8 = 0x020C50B8;
FUN_020C50B8 = 0x020C50B8;
FUN_020C5288 = 0x020C5288;
-FUN_020C5288 = 0x020C5288;
-FUN_020C5288 = 0x020C5288;
-FUN_020C5288 = 0x020C5288;
-FUN_020C53C8 = 0x020C53C8;
FUN_020C53C8 = 0x020C53C8;
FUN_020C5588 = 0x020C5588;
-FUN_020C5588 = 0x020C5588;
-FUN_020C5600 = 0x020C5600;
-FUN_020C5600 = 0x020C5600;
FUN_020C5600 = 0x020C5600;
-FUN_020C5600 = 0x020C5600;
-FUN_020C5634 = 0x020C5634;
FUN_020C5634 = 0x020C5634;
-FUN_020C5634 = 0x020C5634;
-FUN_020C5634 = 0x020C5634;
-FUN_020C5634 = 0x020C5634;
-FUN_020C5668 = 0x020C5668;
FUN_020C5668 = 0x020C5668;
FUN_020C5974 = 0x020C5974;
FUN_020C5978 = 0x020C5978;
-FUN_020C5978 = 0x020C5978;
-FUN_020C59A4 = 0x020C59A4;
FUN_020C59A4 = 0x020C59A4;
FUN_020C59C0 = 0x020C59C0;
-FUN_020C59C0 = 0x020C59C0;
-FUN_020C5A34 = 0x020C5A34;
FUN_020C5A34 = 0x020C5A34;
FUN_020C5A80 = 0x020C5A80;
FUN_020C5AC8 = 0x020C5AC8;
FUN_020C5AF8 = 0x020C5AF8;
-FUN_020C5AF8 = 0x020C5AF8;
FUN_020C5B28 = 0x020C5B28;
FUN_020C5D2C = 0x020C5D2C;
-FUN_020C5D2C = 0x020C5D2C;
-FUN_020C5D4C = 0x020C5D4C;
-FUN_020C5D4C = 0x020C5D4C;
-FUN_020C5D4C = 0x020C5D4C;
-FUN_020C5D4C = 0x020C5D4C;
-FUN_020C5D4C = 0x020C5D4C;
-FUN_020C5D4C = 0x020C5D4C;
-FUN_020C5D4C = 0x020C5D4C;
FUN_020C5D4C = 0x020C5D4C;
FUN_020C5D9C = 0x020C5D9C;
-FUN_020C5D9C = 0x020C5D9C;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
-FUN_020C5DBC = 0x020C5DBC;
FUN_020C5DBC = 0x020C5DBC;
FUN_020C5E54 = 0x020C5E54;
FUN_020C600C = 0x020C600C;
-FUN_020C600C = 0x020C600C;
-FUN_020C6034 = 0x020C6034;
FUN_020C6034 = 0x020C6034;
FUN_020C605C = 0x020C605C;
-FUN_020C605C = 0x020C605C;
-FUN_020C6070 = 0x020C6070;
FUN_020C6070 = 0x020C6070;
FUN_020C6098 = 0x020C6098;
-FUN_020C6098 = 0x020C6098;
-FUN_020C60AC = 0x020C60AC;
FUN_020C60AC = 0x020C60AC;
FUN_020C60C0 = 0x020C60C0;
-FUN_020C60C0 = 0x020C60C0;
-FUN_020C60E4 = 0x020C60E4;
FUN_020C60E4 = 0x020C60E4;
FUN_020C6108 = 0x020C6108;
-FUN_020C6108 = 0x020C6108;
-FUN_020C611C = 0x020C611C;
FUN_020C611C = 0x020C611C;
FUN_020C6168 = 0x020C6168;
-FUN_020C6168 = 0x020C6168;
-FUN_020C61F4 = 0x020C61F4;
FUN_020C61F4 = 0x020C61F4;
FUN_020C6280 = 0x020C6280;
-FUN_020C6280 = 0x020C6280;
-FUN_020C62FC = 0x020C62FC;
FUN_020C62FC = 0x020C62FC;
FUN_020C63A8 = 0x020C63A8;
FUN_020C65C0 = 0x020C65C0;
-FUN_020C65C0 = 0x020C65C0;
-FUN_020C66B4 = 0x020C66B4;
FUN_020C66B4 = 0x020C66B4;
FUN_020C68B8 = 0x020C68B8;
-FUN_020C68B8 = 0x020C68B8;
-FUN_020C6970 = 0x020C6970;
FUN_020C6970 = 0x020C6970;
FUN_020C6A84 = 0x020C6A84;
-FUN_020C6A84 = 0x020C6A84;
FUN_020C6BF0 = 0x020C6BF0;
-FUN_020C6BF0 = 0x020C6BF0;
-FUN_020C7124 = 0x020C7124;
+FUN_020C6F60 = 0x020C6F60;
+FUN_020C6FB0 = 0x020C6FB0;
+FUN_020C7010 = 0x020C7010;
+FUN_020C7058 = 0x020C7058;
+FUN_020C70B0 = 0x020C70B0;
+FUN_020C70D0 = 0x020C70D0;
+FUN_020C7104 = 0x020C7104;
FUN_020C7124 = 0x020C7124;
FUN_020C74B8 = 0x020C74B8;
-FUN_020C74B8 = 0x020C74B8;
-FUN_020C74B8 = 0x020C74B8;
-FUN_020C74B8 = 0x020C74B8;
-FUN_020C74B8 = 0x020C74B8;
-FUN_020C74B8 = 0x020C74B8;
-FUN_020C74DC = 0x020C74DC;
-FUN_020C74DC = 0x020C74DC;
-FUN_020C74DC = 0x020C74DC;
-FUN_020C74DC = 0x020C74DC;
FUN_020C74DC = 0x020C74DC;
-FUN_020C74DC = 0x020C74DC;
-FUN_020C74DC = 0x020C74DC;
-FUN_020C74F8 = 0x020C74F8;
-FUN_020C74F8 = 0x020C74F8;
-FUN_020C74F8 = 0x020C74F8;
-FUN_020C74F8 = 0x020C74F8;
-FUN_020C74F8 = 0x020C74F8;
FUN_020C74F8 = 0x020C74F8;
FUN_020C7A14 = 0x020C7A14;
-FUN_020C7A14 = 0x020C7A14;
-FUN_020C7B3C = 0x020C7B3C;
-FUN_020C7B3C = 0x020C7B3C;
-FUN_020C7B3C = 0x020C7B3C;
-FUN_020C7B3C = 0x020C7B3C;
-FUN_020C7B3C = 0x020C7B3C;
FUN_020C7B3C = 0x020C7B3C;
FUN_020C7C28 = 0x020C7C28;
-FUN_020C7C28 = 0x020C7C28;
-FUN_020C7C28 = 0x020C7C28;
-FUN_020C7C28 = 0x020C7C28;
-FUN_020C7C28 = 0x020C7C28;
-FUN_020C7C28 = 0x020C7C28;
-FUN_020C7D28 = 0x020C7D28;
FUN_020C7D28 = 0x020C7D28;
-FUN_020C7D28 = 0x020C7D28;
-FUN_020C7E0C = 0x020C7E0C;
FUN_020C7E0C = 0x020C7E0C;
FUN_020C7E94 = 0x020C7E94;
-FUN_020C7E94 = 0x020C7E94;
-FUN_020C7FF0 = 0x020C7FF0;
FUN_020C7FF0 = 0x020C7FF0;
FUN_020C802C = 0x020C802C;
FUN_020C8068 = 0x020C8068;
FUN_020C80A4 = 0x020C80A4;
-FUN_020C80A4 = 0x020C80A4;
FUN_020C823C = 0x020C823C;
-FUN_020C823C = 0x020C823C;
-FUN_020C8538 = 0x020C8538;
FUN_020C8538 = 0x020C8538;
+FUN_020C8728 = 0x020C8728;
+FUN_020C8774 = 0x020C8774;
+FUN_020C87E8 = 0x020C87E8;
+FUN_020C880C = 0x020C880C;
+FUN_020C8858 = 0x020C8858;
+FUN_020C88CC = 0x020C88CC;
+FUN_020C88F0 = 0x020C88F0;
+FUN_020C8948 = 0x020C8948;
+FUN_020C89BC = 0x020C89BC;
FUN_020C8A2C = 0x020C8A2C;
+FUN_020C8A90 = 0x020C8A90;
FUN_020C8B10 = 0x020C8B10;
+FUN_020C8C14 = 0x020C8C14;
+FUN_020C8C7C = 0x020C8C7C;
+FUN_020C8CE4 = 0x020C8CE4;
+FUN_020C8D4C = 0x020C8D4C;
+FUN_020C8DB4 = 0x020C8DB4;
+FUN_020C8E1C = 0x020C8E1C;
+FUN_020C8E84 = 0x020C8E84;
FUN_020C8EEC = 0x020C8EEC;
-FUN_020C8EEC = 0x020C8EEC;
-FUN_020C922C = 0x020C922C;
+FUN_020C8F54 = 0x020C8F54;
+FUN_020C8FBC = 0x020C8FBC;
+FUN_020C9024 = 0x020C9024;
+FUN_020C908C = 0x020C908C;
+FUN_020C90F4 = 0x020C90F4;
+FUN_020C915C = 0x020C915C;
+FUN_020C91C4 = 0x020C91C4;
FUN_020C922C = 0x020C922C;
FUN_020C9294 = 0x020C9294;
-FUN_020C9294 = 0x020C9294;
-FUN_020C9294 = 0x020C9294;
-FUN_020C9294 = 0x020C9294;
-FUN_020C9294 = 0x020C9294;
-FUN_020C92F4 = 0x020C92F4;
-FUN_020C92F4 = 0x020C92F4;
-FUN_020C92F4 = 0x020C92F4;
FUN_020C92F4 = 0x020C92F4;
-FUN_020C92F4 = 0x020C92F4;
-FUN_020C9354 = 0x020C9354;
FUN_020C9354 = 0x020C9354;
FUN_020C93BC = 0x020C93BC;
-FUN_020C93BC = 0x020C93BC;
-FUN_020C9418 = 0x020C9418;
FUN_020C9418 = 0x020C9418;
-FUN_020C9418 = 0x020C9418;
-FUN_020C9418 = 0x020C9418;
-FUN_020C9418 = 0x020C9418;
-FUN_020C9418 = 0x020C9418;
-FUN_020C9418 = 0x020C9418;
-FUN_020C9480 = 0x020C9480;
-FUN_020C9480 = 0x020C9480;
-FUN_020C9480 = 0x020C9480;
-FUN_020C9480 = 0x020C9480;
FUN_020C9480 = 0x020C9480;
FUN_020C94E8 = 0x020C94E8;
-FUN_020C94E8 = 0x020C94E8;
-FUN_020C94E8 = 0x020C94E8;
-FUN_020C94E8 = 0x020C94E8;
-FUN_020C94E8 = 0x020C94E8;
-FUN_020C9550 = 0x020C9550;
-FUN_020C9550 = 0x020C9550;
-FUN_020C9550 = 0x020C9550;
-FUN_020C9550 = 0x020C9550;
FUN_020C9550 = 0x020C9550;
-FUN_020C9550 = 0x020C9550;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9C0C = 0x020C9C0C;
-FUN_020C9E14 = 0x020C9E14;
-FUN_020C9E14 = 0x020C9E14;
-FUN_020C9E14 = 0x020C9E14;
-FUN_020C9E14 = 0x020C9E14;
FUN_020C9E14 = 0x020C9E14;
FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9FEC = 0x020C9FEC;
-FUN_020C9FEC = 0x020C9FEC;
-FUN_020C9FEC = 0x020C9FEC;
-FUN_020C9FEC = 0x020C9FEC;
-FUN_020C9FEC = 0x020C9FEC;
-FUN_020C9FEC = 0x020C9FEC;
FUN_020C9FEC = 0x020C9FEC;
FUN_020CA0A0 = 0x020CA0A0;
-FUN_020CA0A0 = 0x020CA0A0;
-FUN_020CA0A0 = 0x020CA0A0;
-FUN_020CA0A0 = 0x020CA0A0;
-FUN_020CA0F8 = 0x020CA0F8;
FUN_020CA0F8 = 0x020CA0F8;
-FUN_020CA0F8 = 0x020CA0F8;
-FUN_020CA0F8 = 0x020CA0F8;
-FUN_020CA0F8 = 0x020CA0F8;
-FUN_020CC124 = 0x020CC124;
FUN_020CC124 = 0x020CC124;
-FUN_020CC124 = 0x020CC124;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC180 = 0x020CC180;
-FUN_020CC180 = 0x020CC180;
-FUN_020CC180 = 0x020CC180;
-FUN_020CC180 = 0x020CC180;
-FUN_020CC180 = 0x020CC180;
-FUN_020CC180 = 0x020CC180;
FUN_020CC180 = 0x020CC180;
FUN_020CC1B4 = 0x020CC1B4;
FUN_020CC204 = 0x020CC204;
FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC2F4 = 0x020CC2F4;
FUN_020CC2F4 = 0x020CC2F4;
FUN_020CC308 = 0x020CC308;
-FUN_020CC308 = 0x020CC308;
-FUN_020CC31C = 0x020CC31C;
FUN_020CC31C = 0x020CC31C;
FUN_020CC408 = 0x020CC408;
-FUN_020CC408 = 0x020CC408;
+FUN_020CCC1C = 0x020CCC1C;
FUN_020CCD64 = 0x020CCD64;
FUN_020CD310 = 0x020CD310;
-FUN_020CD310 = 0x020CD310;
-FUN_020CD310 = 0x020CD310;
-FUN_020CD310 = 0x020CD310;
FUN_020CD324 = 0x020CD324;
-FUN_020CD324 = 0x020CD324;
-FUN_020CD324 = 0x020CD324;
-FUN_020CD324 = 0x020CD324;
-FUN_020CD374 = 0x020CD374;
-FUN_020CD374 = 0x020CD374;
FUN_020CD374 = 0x020CD374;
-FUN_020CD374 = 0x020CD374;
-FUN_020CD374 = 0x020CD374;
-FUN_020CD374 = 0x020CD374;
-FUN_020CD3B4 = 0x020CD3B4;
FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD510 = 0x020CD510;
-FUN_020CD510 = 0x020CD510;
-FUN_020CD510 = 0x020CD510;
FUN_020CD510 = 0x020CD510;
-FUN_020CD510 = 0x020CD510;
-FUN_020CD524 = 0x020CD524;
FUN_020CD524 = 0x020CD524;
FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD5A0 = 0x020CD5A0;
FUN_020CD754 = 0x020CD754;
FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD850 = 0x020CD850;
FUN_020CD998 = 0x020CD998;
FUN_020CDA1C = 0x020CDA1C;
-FUN_020CDA1C = 0x020CDA1C;
-FUN_020CDA1C = 0x020CDA1C;
FUN_020CDD90 = 0x020CDD90;
FUN_020CDE04 = 0x020CDE04;
FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE210 = 0x020CE210;
-FUN_020CE210 = 0x020CE210;
-FUN_020CE210 = 0x020CE210;
FUN_020CE210 = 0x020CE210;
-FUN_020CE210 = 0x020CE210;
-FUN_020CE210 = 0x020CE210;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE2E0 = 0x020CE2E0;
-FUN_020CE2E0 = 0x020CE2E0;
FUN_020CE2E0 = 0x020CE2E0;
-FUN_020CE2E0 = 0x020CE2E0;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE3E0 = 0x020CE3E0;
FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE528 = 0x020CE528;
-FUN_020CE528 = 0x020CE528;
-FUN_020CE528 = 0x020CE528;
-FUN_020CE528 = 0x020CE528;
FUN_020CE528 = 0x020CE528;
FUN_020CF768 = 0x020CF768;
FUN_020D1148 = 0x020D1148;
-FUN_020D1148 = 0x020D1148;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
-FUN_020D180C = 0x020D180C;
FUN_020D180C = 0x020D180C;
FUN_020D182C = 0x020D182C;
FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
FUN_020D1944 = 0x020D1944;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1C94 = 0x020D1C94;
FUN_020D1C94 = 0x020D1C94;
FUN_020D1CC4 = 0x020D1CC4;
-FUN_020D1CC4 = 0x020D1CC4;
FUN_020D1CD4 = 0x020D1CD4;
FUN_020D1D10 = 0x020D1D10;
-FUN_020D1D10 = 0x020D1D10;
-FUN_020D1D30 = 0x020D1D30;
FUN_020D1D30 = 0x020D1D30;
FUN_020D2040 = 0x020D2040;
FUN_020D2094 = 0x020D2094;
-FUN_020D2094 = 0x020D2094;
-FUN_020D2210 = 0x020D2210;
FUN_020D2210 = 0x020D2210;
FUN_020D23B4 = 0x020D23B4;
FUN_020D2454 = 0x020D2454;
FUN_020D24EC = 0x020D24EC;
-FUN_020D24EC = 0x020D24EC;
-FUN_020D24EC = 0x020D24EC;
-FUN_020D24EC = 0x020D24EC;
-FUN_020D36C4 = 0x020D36C4;
FUN_020D36C4 = 0x020D36C4;
-FUN_020D36C4 = 0x020D36C4;
-FUN_020D36D8 = 0x020D36D8;
FUN_020D36D8 = 0x020D36D8;
-FUN_020D36D8 = 0x020D36D8;
-FUN_020D36F0 = 0x020D36F0;
FUN_020D36F0 = 0x020D36F0;
-FUN_020D36F0 = 0x020D36F0;
-FUN_020D3A90 = 0x020D3A90;
FUN_020D3A90 = 0x020D3A90;
FUN_020D3AA0 = 0x020D3AA0;
FUN_020D3C14 = 0x020D3C14;
-FUN_020D3C14 = 0x020D3C14;
-FUN_020D3CB8 = 0x020D3CB8;
FUN_020D3CB8 = 0x020D3CB8;
FUN_020D3DCC = 0x020D3DCC;
FUN_020D3E24 = 0x020D3E24;
FUN_020D3EC4 = 0x020D3EC4;
-FUN_020D3EC4 = 0x020D3EC4;
FUN_020D400C = 0x020D400C;
FUN_020D40B8 = 0x020D40B8;
FUN_020D4718 = 0x020D4718;
FUN_020D47CC = 0x020D47CC;
-FUN_020D47CC = 0x020D47CC;
FUN_020D4980 = 0x020D4980;
FUN_020D4A5C = 0x020D4A5C;
FUN_020D4E68 = 0x020D4E68;
FUN_020D50D8 = 0x020D50D8;
-FUN_020D50D8 = 0x020D50D8;
FUN_020D5150 = 0x020D5150;
FUN_020D5168 = 0x020D5168;
FUN_020D5180 = 0x020D5180;
FUN_020D526C = 0x020D526C;
-FUN_020D526C = 0x020D526C;
FUN_020D5F40 = 0x020D5F40;
FUN_020D614C = 0x020D614C;
FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6320 = 0x020D6320;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D6578 = 0x020D6578;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D660C = 0x020D660C;
-FUN_020D66A0 = 0x020D66A0;
-FUN_020D66A0 = 0x020D66A0;
-FUN_020D66A0 = 0x020D66A0;
FUN_020D66A0 = 0x020D66A0;
-FUN_020D66A0 = 0x020D66A0;
-FUN_020D66B0 = 0x020D66B0;
-FUN_020D66B0 = 0x020D66B0;
-FUN_020D66B0 = 0x020D66B0;
FUN_020D66B0 = 0x020D66B0;
FUN_020D6700 = 0x020D6700;
-FUN_020D6700 = 0x020D6700;
+FUN_020D6D7C = 0x020D6D7C;
FUN_020D6DAC = 0x020D6DAC;
FUN_020D6DB8 = 0x020D6DB8;
-FUN_020D6DB8 = 0x020D6DB8;
-FUN_020D6DC4 = 0x020D6DC4;
-FUN_020D6DC4 = 0x020D6DC4;
FUN_020D6DC4 = 0x020D6DC4;
FUN_020D6F20 = 0x020D6F20;
-FUN_020D6F20 = 0x020D6F20;
-FUN_020D6F20 = 0x020D6F20;
-FUN_020D6F20 = 0x020D6F20;
-FUN_020D7228 = 0x020D7228;
FUN_020D7228 = 0x020D7228;
FUN_020D7D18 = 0x020D7D18;
FUN_020D7E9C = 0x020D7E9C;
-FUN_020D7E9C = 0x020D7E9C;
FUN_020D8A4C = 0x020D8A4C;
-FUN_020D8A4C = 0x020D8A4C;
-FUN_020D8AF0 = 0x020D8AF0;
-FUN_020D8AF0 = 0x020D8AF0;
-FUN_020D8AF0 = 0x020D8AF0;
FUN_020D8AF0 = 0x020D8AF0;
-FUN_020D8AF0 = 0x020D8AF0;
-FUN_020D8AF0 = 0x020D8AF0;
-FUN_020D8AF0 = 0x020D8AF0;
-FUN_020D8B94 = 0x020D8B94;
-FUN_020D8B94 = 0x020D8B94;
-FUN_020D8B94 = 0x020D8B94;
-FUN_020D8B94 = 0x020D8B94;
-FUN_020D8B94 = 0x020D8B94;
FUN_020D8B94 = 0x020D8B94;
-FUN_020D8B94 = 0x020D8B94;
-FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8C3C = 0x020D8C3C;
FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8C3C = 0x020D8C3C;
-FUN_020D8F34 = 0x020D8F34;
FUN_020D8F34 = 0x020D8F34;
-FUN_020D8F34 = 0x020D8F34;
-FUN_020D8F34 = 0x020D8F34;
-FUN_020D8F34 = 0x020D8F34;
-FUN_020D8F34 = 0x020D8F34;
-FUN_020D8F34 = 0x020D8F34;
-FUN_020D9014 = 0x020D9014;
-FUN_020D9014 = 0x020D9014;
-FUN_020D9014 = 0x020D9014;
FUN_020D9014 = 0x020D9014;
-FUN_020D9014 = 0x020D9014;
-FUN_020D9014 = 0x020D9014;
-FUN_020D9014 = 0x020D9014;
-FUN_020D9060 = 0x020D9060;
-FUN_020D9060 = 0x020D9060;
FUN_020D9060 = 0x020D9060;
FUN_020D9168 = 0x020D9168;
-FUN_020D9168 = 0x020D9168;
-FUN_020D9244 = 0x020D9244;
FUN_020D9244 = 0x020D9244;
FUN_020D940C = 0x020D940C;
-FUN_020D940C = 0x020D940C;
-FUN_020D950C = 0x020D950C;
FUN_020D950C = 0x020D950C;
FUN_020D9554 = 0x020D9554;
-FUN_020D9554 = 0x020D9554;
-FUN_020D9624 = 0x020D9624;
FUN_020D9624 = 0x020D9624;
FUN_020D972C = 0x020D972C;
-FUN_020D972C = 0x020D972C;
-FUN_020D972C = 0x020D972C;
-FUN_020D972C = 0x020D972C;
-FUN_020D972C = 0x020D972C;
-FUN_020D972C = 0x020D972C;
-FUN_020D972C = 0x020D972C;
-FUN_020D9774 = 0x020D9774;
FUN_020D9774 = 0x020D9774;
FUN_020D97B4 = 0x020D97B4;
-FUN_020D97B4 = 0x020D97B4;
-FUN_020D97B4 = 0x020D97B4;
-FUN_020D97B4 = 0x020D97B4;
-FUN_020D97B4 = 0x020D97B4;
-FUN_020D97B4 = 0x020D97B4;
-FUN_020D97B4 = 0x020D97B4;
-FUN_020D9960 = 0x020D9960;
FUN_020D9960 = 0x020D9960;
-FUN_020D9960 = 0x020D9960;
-FUN_020D99EC = 0x020D99EC;
FUN_020D99EC = 0x020D99EC;
FUN_020D9B48 = 0x020D9B48;
-FUN_020D9B48 = 0x020D9B48;
-FUN_020D9B48 = 0x020D9B48;
-FUN_020DAD74 = 0x020DAD74;
-FUN_020DAD74 = 0x020DAD74;
-FUN_020DAD74 = 0x020DAD74;
-FUN_020DAD74 = 0x020DAD74;
-FUN_020DAD74 = 0x020DAD74;
-FUN_020DAD74 = 0x020DAD74;
FUN_020DAD74 = 0x020DAD74;
FUN_020DADD4 = 0x020DADD4;
-FUN_020DADD4 = 0x020DADD4;
-FUN_020DADD4 = 0x020DADD4;
-FUN_020DADD4 = 0x020DADD4;
-FUN_020DADD4 = 0x020DADD4;
-FUN_020DADD4 = 0x020DADD4;
-FUN_020DADD4 = 0x020DADD4;
-FUN_020DAF30 = 0x020DAF30;
-FUN_020DAF30 = 0x020DAF30;
-FUN_020DAF30 = 0x020DAF30;
-FUN_020DAF30 = 0x020DAF30;
-FUN_020DAF30 = 0x020DAF30;
-FUN_020DAF30 = 0x020DAF30;
FUN_020DAF30 = 0x020DAF30;
FUN_020DB7A8 = 0x020DB7A8;
FUN_020DDC5C = 0x020DDC5C;
-FUN_020DDC5C = 0x020DDC5C;
-FUN_020DDC5C = 0x020DDC5C;
FUN_020DDCE4 = 0x020DDCE4;
FUN_020DDD28 = 0x020DDD28;
-FUN_020DDD28 = 0x020DDD28;
-FUN_020DDD28 = 0x020DDD28;
-FUN_020DDD60 = 0x020DDD60;
-FUN_020DDD60 = 0x020DDD60;
FUN_020DDD60 = 0x020DDD60;
FUN_020DDE44 = 0x020DDE44;
-FUN_020DDE44 = 0x020DDE44;
-FUN_020DDE44 = 0x020DDE44;
-FUN_020DDF60 = 0x020DDF60;
FUN_020DDF60 = 0x020DDF60;
FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DE3F0 = 0x020DE3F0;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF438 = 0x020DF438;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
-FUN_020DF4A4 = 0x020DF4A4;
FUN_020DF4A4 = 0x020DF4A4;
FUN_020DF510 = 0x020DF510;
-FUN_020DF510 = 0x020DF510;
FUN_020E2EAC = 0x020E2EAC;
FUN_020E2EC8 = 0x020E2EC8;
-FUN_020E2EC8 = 0x020E2EC8;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EA980 = 0x020EA980;
-FUN_020EAEF0 = 0x020EAEF0;
-FUN_020EAEF0 = 0x020EAEF0;
FUN_020EAEF0 = 0x020EAEF0;
-FUN_020EAEF0 = 0x020EAEF0;
-FUN_020EB010 = 0x020EB010;
FUN_020EB010 = 0x020EB010;
FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB084 = 0x020EB084;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4C0 = 0x020EB4C0;
-FUN_020EB4F4 = 0x020EB4F4;
-FUN_020EB4F4 = 0x020EB4F4;
FUN_020EB4F4 = 0x020EB4F4;
FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB534 = 0x020EB534;
-FUN_020EB57C = 0x020EB57C;
FUN_020EB57C = 0x020EB57C;
-FUN_020EB57C = 0x020EB57C;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB5C4 = 0x020EB5C4;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EB7B0 = 0x020EB7B0;
-FUN_020EBA38 = 0x020EBA38;
-FUN_020EBA38 = 0x020EBA38;
-FUN_020EBA38 = 0x020EBA38;
-FUN_020EBA38 = 0x020EBA38;
FUN_020EBA38 = 0x020EBA38;
-FUN_020EBA38 = 0x020EBA38;
-FUN_020EBA38 = 0x020EBA38;
-FUN_020EBA38 = 0x020EBA38;
-FUN_020EBBE8 = 0x020EBBE8;
-FUN_020EBBE8 = 0x020EBBE8;
FUN_020EBBE8 = 0x020EBBE8;
FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC30 = 0x020EBC30;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
+FUN_020EBC50 = 0x020EBC50;
FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBC80 = 0x020EBC80;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_020EBE8C = 0x020EBE8C;
-FUN_021D78FC = 0x021D78FC;
+FUN_021D74E0 = 0x021D74E0;
+FUN_021D76AC = 0x021D76AC;
+FUN_021D77C4 = 0x021D77C4;
+FUN_021D7800 = 0x021D7800;
FUN_021D78FC = 0x021D78FC;
-FUN_021D78FC = 0x021D78FC;
-FUN_021D79B4 = 0x021D79B4;
-FUN_021D79B4 = 0x021D79B4;
FUN_021D79B4 = 0x021D79B4;
FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
-FUN_021D7CA4 = 0x021D7CA4;
FUN_021D7F8C = 0x021D7F8C;
-FUN_021D7F8C = 0x021D7F8C;
-FUN_021D8018 = 0x021D8018;
FUN_021D8018 = 0x021D8018;
-FUN_021D8018 = 0x021D8018;
-FUN_021D8164 = 0x021D8164;
FUN_021D8164 = 0x021D8164;
FUN_021D82BC = 0x021D82BC;
-FUN_021D82BC = 0x021D82BC;
-FUN_021D8320 = 0x021D8320;
FUN_021D8320 = 0x021D8320;
FUN_021D836C = 0x021D836C;
-FUN_021D836C = 0x021D836C;
-FUN_021D83C0 = 0x021D83C0;
-FUN_021D83C0 = 0x021D83C0;
+FUN_021D83A8 = 0x021D83A8;
FUN_021D83C0 = 0x021D83C0;
FUN_021D844C = 0x021D844C;
-FUN_021D844C = 0x021D844C;
-FUN_021D85FC = 0x021D85FC;
+FUN_021D8494 = 0x021D8494;
FUN_021D85FC = 0x021D85FC;
FUN_021D8624 = 0x021D8624;
-FUN_021D8624 = 0x021D8624;
-FUN_021D88E4 = 0x021D88E4;
-FUN_021D88E4 = 0x021D88E4;
-FUN_021D88E4 = 0x021D88E4;
+FUN_021D865C = 0x021D865C;
+FUN_021D8758 = 0x021D8758;
+FUN_021D8820 = 0x021D8820;
FUN_021D88E4 = 0x021D88E4;
-FUN_021D88E4 = 0x021D88E4;
-FUN_021D88E4 = 0x021D88E4;
-FUN_021D89CC = 0x021D89CC;
FUN_021D89CC = 0x021D89CC;
FUN_021D8B64 = 0x021D8B64;
-FUN_021D8B64 = 0x021D8B64;
-FUN_021D8B64 = 0x021D8B64;
-FUN_021D8B64 = 0x021D8B64;
-FUN_021D8B64 = 0x021D8B64;
-FUN_021D8B64 = 0x021D8B64;
-FUN_021D8B64 = 0x021D8B64;
FUN_021D8C24 = 0x021D8C24;
-FUN_021D8C24 = 0x021D8C24;
-FUN_021D917C = 0x021D917C;
FUN_021D917C = 0x021D917C;
FUN_021D959C = 0x021D959C;
-FUN_021D959C = 0x021D959C;
-FUN_021D959C = 0x021D959C;
-FUN_021D959C = 0x021D959C;
-FUN_021D959C = 0x021D959C;
-FUN_021D967C = 0x021D967C;
-FUN_021D967C = 0x021D967C;
-FUN_021D967C = 0x021D967C;
FUN_021D967C = 0x021D967C;
-FUN_021D967C = 0x021D967C;
-FUN_021D96F4 = 0x021D96F4;
-FUN_021D96F4 = 0x021D96F4;
-FUN_021D96F4 = 0x021D96F4;
FUN_021D96F4 = 0x021D96F4;
-FUN_021D96F4 = 0x021D96F4;
-FUN_021D96F4 = 0x021D96F4;
-FUN_021D9708 = 0x021D9708;
-FUN_021D9708 = 0x021D9708;
FUN_021D9708 = 0x021D9708;
-FUN_021D9708 = 0x021D9708;
-FUN_021D9708 = 0x021D9708;
-FUN_021D9708 = 0x021D9708;
-FUN_021D971C = 0x021D971C;
-FUN_021D971C = 0x021D971C;
FUN_021D971C = 0x021D971C;
-FUN_021D971C = 0x021D971C;
-FUN_021D971C = 0x021D971C;
-FUN_021D971C = 0x021D971C;
-FUN_021D9820 = 0x021D9820;
FUN_021D9820 = 0x021D9820;
-FUN_021D9820 = 0x021D9820;
-FUN_021D9820 = 0x021D9820;
-FUN_021D9820 = 0x021D9820;
-FUN_021D9820 = 0x021D9820;
-FUN_021D99F8 = 0x021D99F8;
FUN_021D99F8 = 0x021D99F8;
-FUN_021D99F8 = 0x021D99F8;
-FUN_021D99F8 = 0x021D99F8;
-FUN_021D99F8 = 0x021D99F8;
-FUN_021DA464 = 0x021DA464;
FUN_021DA464 = 0x021DA464;
+FUN_021DA4EC = 0x021DA4EC;
+FUN_021DA54C = 0x021DA54C;
FUN_021DA58C = 0x021DA58C;
-FUN_021DA58C = 0x021DA58C;
-FUN_021DA5B8 = 0x021DA5B8;
-FUN_021DA5B8 = 0x021DA5B8;
FUN_021DA5B8 = 0x021DA5B8;
FUN_021DA5C8 = 0x021DA5C8;
-FUN_021DA5C8 = 0x021DA5C8;
-FUN_021DA5D0 = 0x021DA5D0;
FUN_021DA5D0 = 0x021DA5D0;
-FUN_021DA5D0 = 0x021DA5D0;
-FUN_021DAC70 = 0x021DAC70;
+FUN_021DA5D8 = 0x021DA5D8;
+FUN_021DA7B4 = 0x021DA7B4;
+FUN_021DAAA4 = 0x021DAAA4;
FUN_021DAC70 = 0x021DAC70;
FUN_021DAE40 = 0x021DAE40;
-FUN_021DAE40 = 0x021DAE40;
-FUN_021DAED4 = 0x021DAED4;
FUN_021DAED4 = 0x021DAED4;
FUN_021DAF28 = 0x021DAF28;
-FUN_021DAF28 = 0x021DAF28;
-FUN_021DAF78 = 0x021DAF78;
FUN_021DAF78 = 0x021DAF78;
FUN_021DAF98 = 0x021DAF98;
-FUN_021DAF98 = 0x021DAF98;
-FUN_021DAF98 = 0x021DAF98;
FUN_021DB030 = 0x021DB030;
-FUN_021DB030 = 0x021DB030;
-FUN_021DB030 = 0x021DB030;
-FUN_021DB030 = 0x021DB030;
-FUN_021DB7E8 = 0x021DB7E8;
FUN_021DB7E8 = 0x021DB7E8;
FUN_021DB858 = 0x021DB858;
-FUN_021DB858 = 0x021DB858;
-FUN_021DC174 = 0x021DC174;
-FUN_021DC174 = 0x021DC174;
FUN_021DC174 = 0x021DC174;
FUN_021DD6F0 = 0x021DD6F0;
-FUN_021DD6F0 = 0x021DD6F0;
-FUN_021DD6F0 = 0x021DD6F0;
-FUN_021DD6F0 = 0x021DD6F0;
-FUN_021DD6F0 = 0x021DD6F0;
-FUN_021DD6F0 = 0x021DD6F0;
-FUN_021DD6F0 = 0x021DD6F0;
FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DD718 = 0x021DD718;
-FUN_021DDB08 = 0x021DDB08;
-FUN_021DDB08 = 0x021DDB08;
FUN_021DDB08 = 0x021DDB08;
-FUN_021DDB08 = 0x021DDB08;
-FUN_021DDB08 = 0x021DDB08;
-FUN_021DDB08 = 0x021DDB08;
-FUN_021DDB08 = 0x021DDB08;
-FUN_021E1374 = 0x021E1374;
FUN_021E1374 = 0x021E1374;
FUN_021E1858 = 0x021E1858;
-FUN_021E1858 = 0x021E1858;
-FUN_021E1994 = 0x021E1994;
FUN_021E1994 = 0x021E1994;
FUN_021E1BF8 = 0x021E1BF8;
-FUN_021E1BF8 = 0x021E1BF8;
-FUN_021E1BF8 = 0x021E1BF8;
FUN_021E1C4C = 0x021E1C4C;
-FUN_021E1C4C = 0x021E1C4C;
-FUN_021E1C4C = 0x021E1C4C;
-FUN_021E1C54 = 0x021E1C54;
-FUN_021E1C54 = 0x021E1C54;
FUN_021E1C54 = 0x021E1C54;
FUN_021E1ECC = 0x021E1ECC;
-FUN_021E1ECC = 0x021E1ECC;
-FUN_021E1F34 = 0x021E1F34;
FUN_021E1F34 = 0x021E1F34;
-FUN_021E1F34 = 0x021E1F34;
-FUN_021E1F58 = 0x021E1F58;
FUN_021E1F58 = 0x021E1F58;
FUN_021E1F60 = 0x021E1F60;
-FUN_021E1F60 = 0x021E1F60;
-FUN_021E2464 = 0x021E2464;
FUN_021E2464 = 0x021E2464;
FUN_021E2608 = 0x021E2608;
-FUN_021E2608 = 0x021E2608;
FUN_021E26CC = 0x021E26CC;
-FUN_021E26CC = 0x021E26CC;
-FUN_021E2B80 = 0x021E2B80;
+FUN_021E27E8 = 0x021E27E8;
+FUN_021E288C = 0x021E288C;
+FUN_021E28A0 = 0x021E28A0;
+FUN_021E2950 = 0x021E2950;
+FUN_021E29B4 = 0x021E29B4;
+FUN_021E29C8 = 0x021E29C8;
+FUN_021E2A70 = 0x021E2A70;
+FUN_021E2AD4 = 0x021E2AD4;
FUN_021E2B80 = 0x021E2B80;
FUN_021E2B9C = 0x021E2B9C;
-FUN_021E2B9C = 0x021E2B9C;
-FUN_021E2BB8 = 0x021E2BB8;
-FUN_021E2BB8 = 0x021E2BB8;
-FUN_021E2BB8 = 0x021E2BB8;
FUN_021E2BB8 = 0x021E2BB8;
FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2BD0 = 0x021E2BD0;
-FUN_021E2C24 = 0x021E2C24;
-FUN_021E2C24 = 0x021E2C24;
FUN_021E2C24 = 0x021E2C24;
FUN_021E2C58 = 0x021E2C58;
-FUN_021E2C58 = 0x021E2C58;
-FUN_021E2C58 = 0x021E2C58;
-FUN_021E2C58 = 0x021E2C58;
-FUN_021E2CBC = 0x021E2CBC;
FUN_021E2CBC = 0x021E2CBC;
FUN_021E32F0 = 0x021E32F0;
-FUN_021E32F0 = 0x021E32F0;
-FUN_021E32F0 = 0x021E32F0;
FUN_021E331C = 0x021E331C;
-FUN_021E331C = 0x021E331C;
-FUN_021E331C = 0x021E331C;
-FUN_021E331C = 0x021E331C;
-FUN_021E3424 = 0x021E3424;
FUN_021E3424 = 0x021E3424;
FUN_021E3444 = 0x021E3444;
-FUN_021E3444 = 0x021E3444;
-FUN_021E495C = 0x021E495C;
FUN_021E495C = 0x021E495C;
FUN_021E4C54 = 0x021E4C54;
-FUN_021E4C54 = 0x021E4C54;
-FUN_021E4C60 = 0x021E4C60;
FUN_021E4C60 = 0x021E4C60;
FUN_021E4DE4 = 0x021E4DE4;
-FUN_021E4DE4 = 0x021E4DE4;
-FUN_021E5970 = 0x021E5970;
+FUN_021E5614 = 0x021E5614;
+FUN_021E57D4 = 0x021E57D4;
FUN_021E5970 = 0x021E5970;
FUN_021E5B30 = 0x021E5B30;
-FUN_021E5B30 = 0x021E5B30;
-FUN_021E5B30 = 0x021E5B30;
-FUN_021E5B30 = 0x021E5B30;
-FUN_021E5B30 = 0x021E5B30;
-FUN_021E5FD8 = 0x021E5FD8;
-FUN_021E5FD8 = 0x021E5FD8;
-FUN_021E5FD8 = 0x021E5FD8;
FUN_021E5FD8 = 0x021E5FD8;
-FUN_021E5FD8 = 0x021E5FD8;
-FUN_021E5FD8 = 0x021E5FD8;
-FUN_021E5FE0 = 0x021E5FE0;
-FUN_021E5FE0 = 0x021E5FE0;
-FUN_021E5FE0 = 0x021E5FE0;
FUN_021E5FE0 = 0x021E5FE0;
-FUN_021E5FE0 = 0x021E5FE0;
-FUN_021E5FE0 = 0x021E5FE0;
-FUN_021E5FE0 = 0x021E5FE0;
-FUN_021E6410 = 0x021E6410;
FUN_021E6410 = 0x021E6410;
FUN_021E643C = 0x021E643C;
-FUN_021E643C = 0x021E643C;
-FUN_021E6990 = 0x021E6990;
FUN_021E6990 = 0x021E6990;
FUN_021E69BC = 0x021E69BC;
-FUN_021E69BC = 0x021E69BC;
FUN_021E6BF4 = 0x021E6BF4;
-FUN_021E6BF4 = 0x021E6BF4;
-FUN_021E7030 = 0x021E7030;
FUN_021E7030 = 0x021E7030;
FUN_021E70F0 = 0x021E70F0;
-FUN_021E70F0 = 0x021E70F0;
-FUN_021E7138 = 0x021E7138;
-FUN_021E7138 = 0x021E7138;
-FUN_021E7138 = 0x021E7138;
FUN_021E7138 = 0x021E7138;
FUN_021E7184 = 0x021E7184;
-FUN_021E7184 = 0x021E7184;
-FUN_021E71E8 = 0x021E71E8;
FUN_021E71E8 = 0x021E71E8;
FUN_021E7750 = 0x021E7750;
-FUN_021E7750 = 0x021E7750;
-FUN_021E7750 = 0x021E7750;
FUN_021E799C = 0x021E799C;
-FUN_021E799C = 0x021E799C;
-FUN_021E799C = 0x021E799C;
-FUN_021E7AC0 = 0x021E7AC0;
-FUN_021E7AC0 = 0x021E7AC0;
FUN_021E7AC0 = 0x021E7AC0;
FUN_021E7EA0 = 0x021E7EA0;
-FUN_021E7EA0 = 0x021E7EA0;
-FUN_021E7EA0 = 0x021E7EA0;
-FUN_021E7EA0 = 0x021E7EA0;
-FUN_021E7EB0 = 0x021E7EB0;
-FUN_021E7EB0 = 0x021E7EB0;
FUN_021E7EB0 = 0x021E7EB0;
FUN_021E7EC4 = 0x021E7EC4;
-FUN_021E7EC4 = 0x021E7EC4;
-FUN_021E7EC4 = 0x021E7EC4;
-FUN_021E7EC4 = 0x021E7EC4;
-FUN_021E7EC4 = 0x021E7EC4;
FUN_021E7EC8 = 0x021E7EC8;
-FUN_021E7EC8 = 0x021E7EC8;
-FUN_021E7ED0 = 0x021E7ED0;
-FUN_021E7ED0 = 0x021E7ED0;
-FUN_021E7ED0 = 0x021E7ED0;
-FUN_021E7ED0 = 0x021E7ED0;
FUN_021E7ED0 = 0x021E7ED0;
FUN_021E7ED8 = 0x021E7ED8;
-FUN_021E7ED8 = 0x021E7ED8;
-FUN_021E7FBC = 0x021E7FBC;
FUN_021E7FBC = 0x021E7FBC;
FUN_021E8128 = 0x021E8128;
-FUN_021E8128 = 0x021E8128;
-FUN_021E8128 = 0x021E8128;
FUN_021E8130 = 0x021E8130;
-FUN_021E8130 = 0x021E8130;
-FUN_021E8130 = 0x021E8130;
-FUN_021E8130 = 0x021E8130;
-FUN_021E8140 = 0x021E8140;
-FUN_021E8140 = 0x021E8140;
FUN_021E8140 = 0x021E8140;
FUN_021E8144 = 0x021E8144;
-FUN_021E8144 = 0x021E8144;
-FUN_021E8148 = 0x021E8148;
FUN_021E8148 = 0x021E8148;
-FUN_021E8148 = 0x021E8148;
-FUN_021E8158 = 0x021E8158;
FUN_021E8158 = 0x021E8158;
FUN_021E81BC = 0x021E81BC;
-FUN_021E81BC = 0x021E81BC;
-FUN_021E84F4 = 0x021E84F4;
FUN_021E84F4 = 0x021E84F4;
FUN_021E856C = 0x021E856C;
-FUN_021E856C = 0x021E856C;
-FUN_021E8588 = 0x021E8588;
FUN_021E8588 = 0x021E8588;
FUN_021E85E4 = 0x021E85E4;
-FUN_021E85E4 = 0x021E85E4;
-FUN_021E85FC = 0x021E85FC;
FUN_021E85FC = 0x021E85FC;
+FUN_021EC57C = 0x021EC57C;
+FUN_021EC71C = 0x021EC71C;
+FUN_021EC854 = 0x021EC854;
+FUN_021EC864 = 0x021EC864;
+FUN_021ECD64 = 0x021ECD64;
FUN_021ECF14 = 0x021ECF14;
-FUN_021ECF14 = 0x021ECF14;
-FUN_021ED49C = 0x021ED49C;
+FUN_021ED0CC = 0x021ED0CC;
FUN_021ED49C = 0x021ED49C;
+FUN_021ED4E0 = 0x021ED4E0;
+FUN_021ED52C = 0x021ED52C;
+FUN_021ED5C4 = 0x021ED5C4;
+FUN_021ED5EC = 0x021ED5EC;
+FUN_021ED644 = 0x021ED644;
FUN_021ED940 = 0x021ED940;
-FUN_021ED940 = 0x021ED940;
-FUN_021EDA48 = 0x021EDA48;
FUN_021EDA48 = 0x021EDA48;
FUN_021EDBC8 = 0x021EDBC8;
-FUN_021EDBC8 = 0x021EDBC8;
-FUN_021EF5E0 = 0x021EF5E0;
-FUN_021EF5E0 = 0x021EF5E0;
FUN_021EF5E0 = 0x021EF5E0;
FUN_021EF604 = 0x021EF604;
-FUN_021EF604 = 0x021EF604;
-FUN_021EF604 = 0x021EF604;
-FUN_021EF604 = 0x021EF604;
-FUN_021EF604 = 0x021EF604;
FUN_021EF620 = 0x021EF620;
-FUN_021EF620 = 0x021EF620;
-FUN_021EF654 = 0x021EF654;
FUN_021EF654 = 0x021EF654;
FUN_021EF824 = 0x021EF824;
-FUN_021EF824 = 0x021EF824;
-FUN_021EF824 = 0x021EF824;
-FUN_021EF824 = 0x021EF824;
-FUN_021EF844 = 0x021EF844;
FUN_021EF844 = 0x021EF844;
-FUN_021EF844 = 0x021EF844;
-FUN_021EF8C8 = 0x021EF8C8;
FUN_021EF8C8 = 0x021EF8C8;
FUN_021EF8DC = 0x021EF8DC;
-FUN_021EF8DC = 0x021EF8DC;
-FUN_021EFA9C = 0x021EFA9C;
-FUN_021EFA9C = 0x021EFA9C;
FUN_021EFA9C = 0x021EFA9C;
FUN_021F02C4 = 0x021F02C4;
-FUN_021F02C4 = 0x021F02C4;
-FUN_021F1D8C = 0x021F1D8C;
FUN_021F1D8C = 0x021F1D8C;
FUN_021F1DC8 = 0x021F1DC8;
-FUN_021F1DC8 = 0x021F1DC8;
-FUN_021F1DC8 = 0x021F1DC8;
-FUN_021F1DC8 = 0x021F1DC8;
-FUN_021F1DC8 = 0x021F1DC8;
-FUN_021F1DC8 = 0x021F1DC8;
-FUN_021F1DFC = 0x021F1DFC;
FUN_021F1DFC = 0x021F1DFC;
FUN_021F1EC0 = 0x021F1EC0;
-FUN_021F1EC0 = 0x021F1EC0;
-FUN_021F1EC0 = 0x021F1EC0;
-FUN_021F1EC0 = 0x021F1EC0;
-FUN_021F1F78 = 0x021F1F78;
FUN_021F1F78 = 0x021F1F78;
-FUN_021F1F78 = 0x021F1F78;
-FUN_021F2094 = 0x021F2094;
FUN_021F2094 = 0x021F2094;
-FUN_021F2094 = 0x021F2094;
-FUN_021F2094 = 0x021F2094;
-FUN_021F20D8 = 0x021F20D8;
FUN_021F20D8 = 0x021F20D8;
FUN_021F20F8 = 0x021F20F8;
-FUN_021F20F8 = 0x021F20F8;
-FUN_021F2AF4 = 0x021F2AF4;
FUN_021F2AF4 = 0x021F2AF4;
FUN_021F2E0C = 0x021F2E0C;
-FUN_021F2E0C = 0x021F2E0C;
-FUN_021F2E28 = 0x021F2E28;
-FUN_021F2E28 = 0x021F2E28;
-FUN_021F2E28 = 0x021F2E28;
FUN_021F2E28 = 0x021F2E28;
FUN_021F2F48 = 0x021F2F48;
-FUN_021F2F48 = 0x021F2F48;
-FUN_021F2F48 = 0x021F2F48;
-FUN_021F2F6C = 0x021F2F6C;
FUN_021F2F6C = 0x021F2F6C;
+FUN_021F3A18 = 0x021F3A18;
+FUN_021F3AB4 = 0x021F3AB4;
+FUN_021F3B4C = 0x021F3B4C;
+FUN_021F3B7C = 0x021F3B7C;
FUN_021F3DA4 = 0x021F3DA4;
-FUN_021F3DA4 = 0x021F3DA4;
-FUN_021F44D8 = 0x021F44D8;
FUN_021F44D8 = 0x021F44D8;
FUN_021F4520 = 0x021F4520;
-FUN_021F4520 = 0x021F4520;
-FUN_021F4568 = 0x021F4568;
FUN_021F4568 = 0x021F4568;
-FUN_021F45E8 = 0x021F45E8;
-FUN_021F45E8 = 0x021F45E8;
+FUN_021F4594 = 0x021F4594;
FUN_021F45E8 = 0x021F45E8;
FUN_021F4608 = 0x021F4608;
-FUN_021F4608 = 0x021F4608;
-FUN_021F4608 = 0x021F4608;
-FUN_021F4BD0 = 0x021F4BD0;
FUN_021F4BD0 = 0x021F4BD0;
FUN_021F4C88 = 0x021F4C88;
-FUN_021F4C88 = 0x021F4C88;
-FUN_021F4D80 = 0x021F4D80;
FUN_021F4D80 = 0x021F4D80;
FUN_021F4DC8 = 0x021F4DC8;
-FUN_021F4DC8 = 0x021F4DC8;
-FUN_021F4E7C = 0x021F4E7C;
FUN_021F4E7C = 0x021F4E7C;
FUN_021F57EC = 0x021F57EC;
-FUN_021F57EC = 0x021F57EC;
-FUN_021F5C44 = 0x021F5C44;
FUN_021F5C44 = 0x021F5C44;
-FUN_021F5C44 = 0x021F5C44;
-FUN_021F5C44 = 0x021F5C44;
-FUN_021F5C44 = 0x021F5C44;
-FUN_021F5C44 = 0x021F5C44;
-FUN_021F5C44 = 0x021F5C44;
-FUN_02211E60 = 0x02211E60;
+FUN_021F61DC = 0x021F61DC;
+FUN_021F61E8 = 0x021F61E8;
FUN_02211E60 = 0x02211E60;
+FUN_0222D5C0 = 0x0222D5C0;
FUN_0222DAEC = 0x0222DAEC;
-FUN_0222DAEC = 0x0222DAEC;
-FUN_0222DD1C = 0x0222DD1C;
FUN_0222DD1C = 0x0222DD1C;
FUN_0222DD38 = 0x0222DD38;
-FUN_0222DD38 = 0x0222DD38;
-FUN_0222E2BC = 0x0222E2BC;
FUN_0222E2BC = 0x0222E2BC;
FUN_0222E360 = 0x0222E360;
-FUN_0222E360 = 0x0222E360;
FUN_0222E3A0 = 0x0222E3A0;
-FUN_0222E3A0 = 0x0222E3A0;
-FUN_0222E7E8 = 0x0222E7E8;
FUN_0222E7E8 = 0x0222E7E8;
FUN_0222E874 = 0x0222E874;
-FUN_0222E874 = 0x0222E874;
-FUN_0222ED34 = 0x0222ED34;
FUN_0222ED34 = 0x0222ED34;
FUN_0222EDBC = 0x0222EDBC;
-FUN_0222EDBC = 0x0222EDBC;
-FUN_0222F440 = 0x0222F440;
FUN_0222F440 = 0x0222F440;
FUN_0222F480 = 0x0222F480;
-FUN_0222F480 = 0x0222F480;
-FUN_0222F480 = 0x0222F480;
-FUN_0222F7E0 = 0x0222F7E0;
FUN_0222F7E0 = 0x0222F7E0;
FUN_0222F990 = 0x0222F990;
-FUN_0222F990 = 0x0222F990;
-FUN_022300D4 = 0x022300D4;
FUN_022300D4 = 0x022300D4;
-FUN_022300D4 = 0x022300D4;
-FUN_022300DC = 0x022300DC;
FUN_022300DC = 0x022300DC;
-FUN_022300DC = 0x022300DC;
-FUN_022300E4 = 0x022300E4;
FUN_022300E4 = 0x022300E4;
FUN_022300E8 = 0x022300E8;
-FUN_022300E8 = 0x022300E8;
-FUN_022300F4 = 0x022300F4;
-FUN_022300F4 = 0x022300F4;
FUN_022300F4 = 0x022300F4;
FUN_02230100 = 0x02230100;
-FUN_02230100 = 0x02230100;
-FUN_02230100 = 0x02230100;
FUN_0223010C = 0x0223010C;
-FUN_0223010C = 0x0223010C;
-FUN_02230118 = 0x02230118;
FUN_02230118 = 0x02230118;
-FUN_02230118 = 0x02230118;
-FUN_02230124 = 0x02230124;
FUN_02230124 = 0x02230124;
-FUN_02230124 = 0x02230124;
-FUN_02230F3C = 0x02230F3C;
FUN_02230F3C = 0x02230F3C;
FUN_02230F70 = 0x02230F70;
-FUN_02230F70 = 0x02230F70;
-FUN_02230F80 = 0x02230F80;
FUN_02230F80 = 0x02230F80;
FUN_02231344 = 0x02231344;
-FUN_02231344 = 0x02231344;
-FUN_02231350 = 0x02231350;
FUN_02231350 = 0x02231350;
FUN_0223135C = 0x0223135C;
-FUN_0223135C = 0x0223135C;
-FUN_02231368 = 0x02231368;
FUN_02231368 = 0x02231368;
FUN_02231374 = 0x02231374;
-FUN_02231374 = 0x02231374;
-FUN_02239944 = 0x02239944;
FUN_02239944 = 0x02239944;
FUN_02239AAC = 0x02239AAC;
-FUN_02239AAC = 0x02239AAC;
+FUN_0223CACC = 0x0223CACC;
FUN_0223CB08 = 0x0223CB08;
-FUN_0223CB08 = 0x0223CB08;
-FUN_0223CCDC = 0x0223CCDC;
FUN_0223CCDC = 0x0223CCDC;
FUN_0223CD7C = 0x0223CD7C;
-FUN_0223CD7C = 0x0223CD7C;
-FUN_0223CD7C = 0x0223CD7C;
-FUN_0223D3D0 = 0x0223D3D0;
-FUN_0223D3D0 = 0x0223D3D0;
FUN_0223D3D0 = 0x0223D3D0;
-FUN_0223D3D0 = 0x0223D3D0;
-FUN_0223D3D0 = 0x0223D3D0;
-FUN_0223D638 = 0x0223D638;
FUN_0223D638 = 0x0223D638;
-FUN_0223D638 = 0x0223D638;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223D648 = 0x0223D648;
-FUN_0223E060 = 0x0223E060;
+FUN_0223DFB4 = 0x0223DFB4;
FUN_0223E060 = 0x0223E060;
+FUN_0223E118 = 0x0223E118;
+FUN_0223E154 = 0x0223E154;
+FUN_0223E1A4 = 0x0223E1A4;
FUN_0223E1E0 = 0x0223E1E0;
-FUN_0223E1E0 = 0x0223E1E0;
-FUN_0223E4A8 = 0x0223E4A8;
+FUN_0223E2AC = 0x0223E2AC;
FUN_0223E4A8 = 0x0223E4A8;
FUN_0223E4D4 = 0x0223E4D4;
-FUN_0223E4D4 = 0x0223E4D4;
-FUN_0223E554 = 0x0223E554;
FUN_0223E554 = 0x0223E554;
FUN_0223E6B8 = 0x0223E6B8;
-FUN_0223E6B8 = 0x0223E6B8;
-FUN_0223E734 = 0x0223E734;
FUN_0223E734 = 0x0223E734;
-FUN_0223E734 = 0x0223E734;
-FUN_0223EB8C = 0x0223EB8C;
+FUN_0223E7FC = 0x0223E7FC;
FUN_0223EB8C = 0x0223EB8C;
FUN_0223EF7C = 0x0223EF7C;
-FUN_0223EF7C = 0x0223EF7C;
-FUN_0223F8D8 = 0x0223F8D8;
+FUN_0223F4D8 = 0x0223F4D8;
+FUN_0223F4F4 = 0x0223F4F4;
FUN_0223F8D8 = 0x0223F8D8;
+FUN_0223FCE8 = 0x0223FCE8;
FUN_02240790 = 0x02240790;
-FUN_02240790 = 0x02240790;
-FUN_022407DC = 0x022407DC;
+FUN_022407CC = 0x022407CC;
FUN_022407DC = 0x022407DC;
FUN_022407F8 = 0x022407F8;
-FUN_022407F8 = 0x022407F8;
+FUN_02240834 = 0x02240834;
FUN_02240844 = 0x02240844;
-FUN_02240844 = 0x02240844;
-FUN_0224089C = 0x0224089C;
FUN_0224089C = 0x0224089C;
-FUN_0224089C = 0x0224089C;
-FUN_02241230 = 0x02241230;
+FUN_022408FC = 0x022408FC;
+FUN_022411F4 = 0x022411F4;
FUN_02241230 = 0x02241230;
FUN_02241914 = 0x02241914;
-FUN_02241914 = 0x02241914;
-FUN_02242A38 = 0x02242A38;
FUN_02242A38 = 0x02242A38;
+FUN_02242BE0 = 0x02242BE0;
+FUN_0224312C = 0x0224312C;
+FUN_022432E4 = 0x022432E4;
+FUN_0224339C = 0x0224339C;
+FUN_022433A8 = 0x022433A8;
+FUN_022433B0 = 0x022433B0;
+FUN_022433B8 = 0x022433B8;
+FUN_022433F8 = 0x022433F8;
+FUN_02243408 = 0x02243408;
+FUN_02243428 = 0x02243428;
+FUN_02243448 = 0x02243448;
+FUN_0224345C = 0x0224345C;
+FUN_022434AC = 0x022434AC;
+FUN_022434BC = 0x022434BC;
+FUN_022434D0 = 0x022434D0;
+FUN_02243694 = 0x02243694;
+FUN_022436C8 = 0x022436C8;
+FUN_022436E8 = 0x022436E8;
+FUN_02243780 = 0x02243780;
+FUN_02243838 = 0x02243838;
+FUN_022438DC = 0x022438DC;
+FUN_022438E0 = 0x022438E0;
+FUN_022438FC = 0x022438FC;
+FUN_02243920 = 0x02243920;
+FUN_022439F8 = 0x022439F8;
+FUN_02243AD8 = 0x02243AD8;
+FUN_02243BA8 = 0x02243BA8;
+FUN_02243C5C = 0x02243C5C;
+FUN_02243D3C = 0x02243D3C;
+FUN_02243DA0 = 0x02243DA0;
+FUN_02243DB8 = 0x02243DB8;
+FUN_02243DC0 = 0x02243DC0;
+FUN_02243DC4 = 0x02243DC4;
+FUN_02243DD8 = 0x02243DD8;
+FUN_02243DE0 = 0x02243DE0;
+FUN_02243E34 = 0x02243E34;
+FUN_02243E74 = 0x02243E74;
+FUN_02243F18 = 0x02243F18;
+FUN_02243F50 = 0x02243F50;
+FUN_02243F9C = 0x02243F9C;
FUN_02244210 = 0x02244210;
-FUN_02244210 = 0x02244210;
-FUN_02244558 = 0x02244558;
FUN_02244558 = 0x02244558;
FUN_02244660 = 0x02244660;
-FUN_02244660 = 0x02244660;
FUN_022446BC = 0x022446BC;
-FUN_022446BC = 0x022446BC;
-FUN_022446E0 = 0x022446E0;
FUN_022446E0 = 0x022446E0;
+FUN_022446FC = 0x022446FC;
+FUN_02244758 = 0x02244758;
+FUN_02244770 = 0x02244770;
+FUN_02244824 = 0x02244824;
+FUN_0224484C = 0x0224484C;
+FUN_02244D1C = 0x02244D1C;
+FUN_02244D20 = 0x02244D20;
FUN_02244D3C = 0x02244D3C;
-FUN_02244D3C = 0x02244D3C;
-FUN_02244D40 = 0x02244D40;
-FUN_02244D40 = 0x02244D40;
-FUN_02244D40 = 0x02244D40;
FUN_02244D40 = 0x02244D40;
-FUN_02244D40 = 0x02244D40;
-FUN_02244D58 = 0x02244D58;
FUN_02244D58 = 0x02244D58;
FUN_02244D98 = 0x02244D98;
-FUN_02244D98 = 0x02244D98;
-FUN_02244D98 = 0x02244D98;
-FUN_02244DA0 = 0x02244DA0;
FUN_02244DA0 = 0x02244DA0;
FUN_02244DB0 = 0x02244DB0;
-FUN_02244DB0 = 0x02244DB0;
-FUN_02244DB0 = 0x02244DB0;
+FUN_02244DBC = 0x02244DBC;
+FUN_02244DC4 = 0x02244DC4;
+FUN_02244EF8 = 0x02244EF8;
+FUN_02244F18 = 0x02244F18;
+FUN_02244F24 = 0x02244F24;
+FUN_02244F2C = 0x02244F2C;
+FUN_02245088 = 0x02245088;
FUN_02245114 = 0x02245114;
-FUN_02245114 = 0x02245114;
-FUN_02245198 = 0x02245198;
+FUN_02245190 = 0x02245190;
FUN_02245198 = 0x02245198;
FUN_022451F0 = 0x022451F0;
-FUN_022451F0 = 0x022451F0;
-FUN_02245358 = 0x02245358;
+FUN_0224525C = 0x0224525C;
+FUN_022452A4 = 0x022452A4;
+FUN_02245324 = 0x02245324;
+FUN_02245340 = 0x02245340;
FUN_02245358 = 0x02245358;
FUN_0224566C = 0x0224566C;
-FUN_0224566C = 0x0224566C;
-FUN_02245844 = 0x02245844;
+FUN_022456E8 = 0x022456E8;
FUN_02245844 = 0x02245844;
FUN_02245910 = 0x02245910;
-FUN_02245910 = 0x02245910;
-FUN_02245910 = 0x02245910;
FUN_02245F1C = 0x02245F1C;
-FUN_02245F1C = 0x02245F1C;
-FUN_02245F4C = 0x02245F4C;
FUN_02245F4C = 0x02245F4C;
FUN_02245FA0 = 0x02245FA0;
-FUN_02245FA0 = 0x02245FA0;
-FUN_0224666C = 0x0224666C;
-FUN_0224666C = 0x0224666C;
+FUN_022461A4 = 0x022461A4;
+FUN_022461B8 = 0x022461B8;
FUN_0224666C = 0x0224666C;
FUN_022466A0 = 0x022466A0;
-FUN_022466A0 = 0x022466A0;
-FUN_022466A0 = 0x022466A0;
-FUN_022466AC = 0x022466AC;
-FUN_022466AC = 0x022466AC;
FUN_022466AC = 0x022466AC;
FUN_02246F1C = 0x02246F1C;
-FUN_02246F1C = 0x02246F1C;
-FUN_02247294 = 0x02247294;
FUN_02247294 = 0x02247294;
FUN_022472AC = 0x022472AC;
-FUN_022472AC = 0x022472AC;
-FUN_02247544 = 0x02247544;
FUN_02247544 = 0x02247544;
FUN_02247614 = 0x02247614;
-FUN_02247614 = 0x02247614;
+FUN_02247728 = 0x02247728;
+FUN_02247808 = 0x02247808;
+FUN_02247970 = 0x02247970;
FUN_02247A34 = 0x02247A34;
-FUN_02247A34 = 0x02247A34;
-FUN_022483BC = 0x022483BC;
FUN_022483BC = 0x022483BC;
FUN_022483E0 = 0x022483E0;
-FUN_022483E0 = 0x022483E0;
-FUN_022483EC = 0x022483EC;
FUN_022483EC = 0x022483EC;
+FUN_02248724 = 0x02248724;
+FUN_0224884C = 0x0224884C;
+FUN_022488CC = 0x022488CC;
+FUN_022488EC = 0x022488EC;
+FUN_022488F4 = 0x022488F4;
FUN_022488FC = 0x022488FC;
-FUN_022488FC = 0x022488FC;
-FUN_0224891C = 0x0224891C;
FUN_0224891C = 0x0224891C;
FUN_02248B54 = 0x02248B54;
-FUN_02248B54 = 0x02248B54;
-FUN_02248B58 = 0x02248B58;
-FUN_02248B58 = 0x02248B58;
FUN_02248B58 = 0x02248B58;
-FUN_02248B58 = 0x02248B58;
-FUN_02248B5C = 0x02248B5C;
FUN_02248B5C = 0x02248B5C;
FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
-FUN_02248B60 = 0x02248B60;
FUN_02248B6C = 0x02248B6C;
-FUN_02248B6C = 0x02248B6C;
-FUN_02248CD0 = 0x02248CD0;
+FUN_02248CC0 = 0x02248CC0;
FUN_02248CD0 = 0x02248CD0;
FUN_02248DF8 = 0x02248DF8;
-FUN_02248DF8 = 0x02248DF8;
-FUN_022494C8 = 0x022494C8;
+FUN_02248F70 = 0x02248F70;
+FUN_02248FE0 = 0x02248FE0;
+FUN_02249038 = 0x02249038;
+FUN_022490A0 = 0x022490A0;
+FUN_022491FC = 0x022491FC;
FUN_022494C8 = 0x022494C8;
FUN_02249508 = 0x02249508;
-FUN_02249508 = 0x02249508;
-FUN_02249668 = 0x02249668;
FUN_02249668 = 0x02249668;
-FUN_02249668 = 0x02249668;
-FUN_02249668 = 0x02249668;
-FUN_02249668 = 0x02249668;
-FUN_022497E8 = 0x022497E8;
-FUN_022497E8 = 0x022497E8;
FUN_022497E8 = 0x022497E8;
FUN_02249E6C = 0x02249E6C;
-FUN_02249E6C = 0x02249E6C;
-FUN_02249E78 = 0x02249E78;
FUN_02249E78 = 0x02249E78;
FUN_02249E84 = 0x02249E84;
-FUN_02249E84 = 0x02249E84;
-FUN_02249E90 = 0x02249E90;
FUN_02249E90 = 0x02249E90;
FUN_0224A310 = 0x0224A310;
-FUN_0224A310 = 0x0224A310;
-FUN_0224A310 = 0x0224A310;
-FUN_0224A528 = 0x0224A528;
FUN_0224A528 = 0x0224A528;
-FUN_0224A528 = 0x0224A528;
-FUN_0224A7C8 = 0x0224A7C8;
FUN_0224A7C8 = 0x0224A7C8;
FUN_0224ABAC = 0x0224ABAC;
-FUN_0224ABAC = 0x0224ABAC;
-FUN_0224B124 = 0x0224B124;
FUN_0224B124 = 0x0224B124;
-FUN_0224B124 = 0x0224B124;
-FUN_0224B2C4 = 0x0224B2C4;
FUN_0224B2C4 = 0x0224B2C4;
-FUN_0224B2C4 = 0x0224B2C4;
-FUN_0224B568 = 0x0224B568;
-FUN_0224B568 = 0x0224B568;
FUN_0224B568 = 0x0224B568;
FUN_0224B818 = 0x0224B818;
-FUN_0224B818 = 0x0224B818;
-FUN_0224B818 = 0x0224B818;
-FUN_0224B818 = 0x0224B818;
-FUN_0224B86C = 0x0224B86C;
FUN_0224B86C = 0x0224B86C;
FUN_0224B9E0 = 0x0224B9E0;
-FUN_0224B9E0 = 0x0224B9E0;
-FUN_0224BBEC = 0x0224BBEC;
FUN_0224BBEC = 0x0224BBEC;
FUN_0224BD90 = 0x0224BD90;
-FUN_0224BD90 = 0x0224BD90;
-FUN_0224BD90 = 0x0224BD90;
-FUN_0224C038 = 0x0224C038;
-FUN_0224C038 = 0x0224C038;
FUN_0224C038 = 0x0224C038;
+FUN_0224C27C = 0x0224C27C;
+FUN_0224C520 = 0x0224C520;
FUN_0224C678 = 0x0224C678;
-FUN_0224C678 = 0x0224C678;
-FUN_0224C6E8 = 0x0224C6E8;
FUN_0224C6E8 = 0x0224C6E8;
+FUN_0224C6F4 = 0x0224C6F4;
FUN_0224C700 = 0x0224C700;
-FUN_0224C700 = 0x0224C700;
-FUN_0224C8C8 = 0x0224C8C8;
FUN_0224C8C8 = 0x0224C8C8;
FUN_0224CA2C = 0x0224CA2C;
-FUN_0224CA2C = 0x0224CA2C;
-FUN_0224CA54 = 0x0224CA54;
FUN_0224CA54 = 0x0224CA54;
FUN_0224CA58 = 0x0224CA58;
-FUN_0224CA58 = 0x0224CA58;
FUN_0224CA88 = 0x0224CA88;
-FUN_0224CA88 = 0x0224CA88;
-FUN_0224CB30 = 0x0224CB30;
+FUN_0224CA94 = 0x0224CA94;
+FUN_0224CAA0 = 0x0224CAA0;
+FUN_0224CAB4 = 0x0224CAB4;
FUN_0224CB30 = 0x0224CB30;
+FUN_0224CBB0 = 0x0224CBB0;
+FUN_0224CC24 = 0x0224CC24;
FUN_0224CECC = 0x0224CECC;
-FUN_0224CECC = 0x0224CECC;
-FUN_0224CECC = 0x0224CECC;
+FUN_0224D14C = 0x0224D14C;
FUN_0224D2E0 = 0x0224D2E0;
-FUN_0224D2E0 = 0x0224D2E0;
-FUN_0224D3E8 = 0x0224D3E8;
FUN_0224D3E8 = 0x0224D3E8;
FUN_0224D70C = 0x0224D70C;
-FUN_0224D70C = 0x0224D70C;
-FUN_0224D76C = 0x0224D76C;
FUN_0224D76C = 0x0224D76C;
FUN_0224D79C = 0x0224D79C;
-FUN_0224D79C = 0x0224D79C;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
-FUN_0224DCB8 = 0x0224DCB8;
FUN_0224DCB8 = 0x0224DCB8;
FUN_0224DD94 = 0x0224DD94;
-FUN_0224DD94 = 0x0224DD94;
-FUN_0224DDB8 = 0x0224DDB8;
FUN_0224DDB8 = 0x0224DDB8;
-FUN_0224DDB8 = 0x0224DDB8;
-FUN_0224E554 = 0x0224E554;
FUN_0224E554 = 0x0224E554;
FUN_0224E764 = 0x0224E764;
-FUN_0224E764 = 0x0224E764;
-FUN_0224E7C4 = 0x0224E7C4;
FUN_0224E7C4 = 0x0224E7C4;
FUN_0224F12C = 0x0224F12C;
-FUN_0224F12C = 0x0224F12C;
-FUN_0224F12C = 0x0224F12C;
-FUN_0224F12C = 0x0224F12C;
-FUN_02252534 = 0x02252534;
FUN_02252534 = 0x02252534;
FUN_02252538 = 0x02252538;
-FUN_02252538 = 0x02252538;
-FUN_022567E0 = 0x022567E0;
FUN_022567E0 = 0x022567E0;
+gUnknown2106FA0 = 0x2106FA0; \ No newline at end of file