.include "macros/function.inc" .include "global.inc" .text .global func_ov30_0217bd80 arm_func_start func_ov30_0217bd80 func_ov30_0217bd80: ; 0x0217bd80 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x2c mov r2, #0 mov r7, r0 add r0, sp, #0x28 strh r2, [sp, #0x28] strh r2, [sp, #0x2a] bl func_ov30_021872c4 ldr r0, [r7, #0x200] cmp r0, #0 bne _0217bdf8 ldr r2, [r7, #0x200] ldr r0, [r7, #0x208] cmp r2, r0 addge sp, sp, #0x2c movge r0, #0 ldmgeia sp!, {r4, r5, r6, r7, r8, sb, pc} ldrh r1, [sp, #0x28] ldrh r0, [sp, #0x2a] ldr r4, [r7, #0x204] mov r3, r2, lsl #0x2 add r2, r4, r2, lsl #2 strh r1, [r4, r3] strh r0, [r2, #2] ldr r1, [r7, #0x200] add sp, sp, #0x2c add r1, r1, #1 mov r0, #1 str r1, [r7, #0x200] ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0217bdf8: ldr r0, [r7, #0x200] mov r1, #0 strh r1, [sp, #0x24] strh r1, [sp, #0x26] subs r4, r0, #1 bmi _0217be38 ldr r1, [r7, #0x208] cmp r4, r1 bge _0217be38 ldr r3, [r7, #0x204] mov r2, r4, lsl #0x2 add r1, r3, r4, lsl #2 ldrh r2, [r3, r2] ldrh r1, [r1, #2] strh r2, [sp, #0x24] strh r1, [sp, #0x26] _0217be38: ldrh r6, [sp, #0x24] ldrh r4, [sp, #0x28] ldrh r5, [sp, #0x26] ldrh r3, [sp, #0x2a] strh r6, [sp, #8] strh r4, [sp, #0xc] ldrsh r2, [sp, #0xc] ldrsh r1, [sp, #8] strh r5, [sp, #0xa] strh r3, [sp, #0xe] cmp r2, r1 ldreqsh r2, [sp, #0xe] ldreqsh r1, [sp, #0xa] strh r6, [sp, #0x18] strh r5, [sp, #0x1a] cmpeq r2, r1 strh r4, [sp, #0x1c] strh r3, [sp, #0x1e] addeq sp, sp, #0x2c moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} sub r5, r0, #1 cmp r5, #0 mov r6, #0 ble _0217bf94 add sb, sp, #0x20 add r8, sp, #0x28 mov r4, r6 _0217bea8: strh r4, [sp, #0x20] strh r4, [sp, #0x22] ldr r1, [r7, #0x204] ldrh r3, [sp, #0x28] mov r0, r6, lsl #0x2 ldrh lr, [r1, r0] ldrh r2, [sp, #0x2a] add r0, r1, r6, lsl #2 ldrh ip, [r0, #2] strh r3, [sp] strh lr, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh r2, [sp, #2] strh ip, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh lr, [sp, #0x20] strh ip, [sp, #0x22] strh r3, [sp, #0x10] strh r2, [sp, #0x12] strh lr, [sp, #0x14] strh ip, [sp, #0x16] cmpeq r1, r0 bne _0217bf24 add r0, r6, #1 str r0, [r7, #0x200] add sp, sp, #0x2c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0217bf24: mov r0, sb mov r1, r8 bl func_ov30_021873bc cmp r0, #0 beq _0217bf88 add r2, r6, #1 str r2, [r7, #0x200] ldr r0, [r7, #0x208] cmp r2, r0 addge sp, sp, #0x2c movge r0, #0 ldmgeia sp!, {r4, r5, r6, r7, r8, sb, pc} ldrh r1, [sp, #0x28] ldrh r0, [sp, #0x2a] ldr r4, [r7, #0x204] mov r3, r2, lsl #0x2 add r2, r4, r2, lsl #2 strh r1, [r4, r3] strh r0, [r2, #2] ldr r1, [r7, #0x200] add sp, sp, #0x2c add r1, r1, #1 mov r0, #1 str r1, [r7, #0x200] ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0217bf88: add r6, r6, #1 cmp r6, r5 blt _0217bea8 _0217bf94: ldr r2, [r7, #0x200] ldr r0, [r7, #0x208] cmp r2, r0 addge sp, sp, #0x2c movge r0, #0 ldmgeia sp!, {r4, r5, r6, r7, r8, sb, pc} ldrh r1, [sp, #0x28] ldrh r0, [sp, #0x2a] ldr r4, [r7, #0x204] mov r3, r2, lsl #0x2 add r2, r4, r2, lsl #2 strh r1, [r4, r3] strh r0, [r2, #2] ldr r1, [r7, #0x200] mov r0, #1 add r1, r1, #1 str r1, [r7, #0x200] add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov30_0217bd80 .global func_ov30_0217bfe0 arm_func_start func_ov30_0217bfe0 func_ov30_0217bfe0: ; 0x0217bfe0 stmdb sp!, {r3, lr} mov r3, #0 strh r3, [sp] strh r3, [sp, #2] ldr ip, [r0, #0x204] mov r3, r1, lsl #0x2 add r0, ip, r1, lsl #2 ldrh ip, [ip, r3] ldrh r3, [r0, #2] add r0, sp, #0 mov r1, r2 strh ip, [sp] strh r3, [sp, #2] bl func_ov30_02187304 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov30_0217bfe0 .global func_ov30_0217c020 arm_func_start func_ov30_0217c020 func_ov30_0217c020: ; 0x0217c020 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x3c mov sb, r0 ldr r0, [sb, #0x200] ldr r5, [sp, #0x60] subs r4, r0, #1 mov r8, r1 mov r7, r2 mov r6, r3 addmi sp, sp, #0x3c ldmmiia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add fp, sp, #0x24 _0217c050: mov r0, sb mov r1, r4 add r2, sp, #0x30 bl func_ov30_0217bfe0 cmp r0, #0 beq _0217c0f4 ldr r0, [sp, #0x34] ldr lr, [sp, #0x30] add sl, r0, r7 str sl, [sp, #0x34] ldmia r8, {r0, r1, r2} stmia fp, {r0, r1, r2} ldr ip, [sp, #0x38] ldr r1, [sp, #0x24] ldr r0, [sp, #0x2c] str r1, [sp, #0xc] str r0, [sp, #0x14] str lr, [sp, #0x18] str ip, [sp, #0x20] str sl, [sp, #0x28] str sl, [sp, #0x1c] str sl, [sp, #0x10] mov r0, #6 stmia sp, {r0, r6} mov r0, #0 str r0, [sp, #8] ldr r0, _0217c104 ; =data_027e0e60 mov r3, r7 ldr r0, [r0] add r1, sp, #0x18 add r2, sp, #0xc bl func_01ffe1cc cmp r0, #0 addne sp, sp, #0x3c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x30] str r0, [r5] ldr r0, [sp, #0x34] str r0, [r5, #4] ldr r0, [sp, #0x38] str r0, [r5, #8] _0217c0f4: subs r4, r4, #1 bpl _0217c050 add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_0217c020 _0217c104: .word data_027e0e60 .global func_ov30_0217c108 arm_func_start func_ov30_0217c108 func_ov30_0217c108: ; 0x0217c108 ldr r2, _0217c11c ; =data_ov30_02188a48 mov r1, #0 str r2, [r0] strb r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov30_0217c108 _0217c11c: .word data_ov30_02188a48 .global func_ov30_0217c120 arm_func_start func_ov30_0217c120 func_ov30_0217c120: ; 0x0217c120 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r1, #0 mov r0, r4 strb r1, [r5, #4] ldr r1, [r0] ldr r1, [r1, #0x1c] blx r1 cmp r0, #3 cmpne r0, #0x1c bne _0217c164 add r0, r4, #0x18 bl func_ov00_020c5288 cmp r0, #0 moveq r0, #1 streqb r0, [r5, #4] _0217c164: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217c120 .global func_ov30_0217c16c arm_func_start func_ov30_0217c16c func_ov30_0217c16c: ; 0x0217c16c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217c16c .global func_ov30_0217c188 arm_func_start func_ov30_0217c188 func_ov30_0217c188: ; 0x0217c188 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217c188 .global func_ov30_0217c19c arm_func_start func_ov30_0217c19c func_ov30_0217c19c: ; 0x0217c19c mov r0, #0 bx lr arm_func_end func_ov30_0217c19c .global func_ov30_0217c1a4 arm_func_start func_ov30_0217c1a4 func_ov30_0217c1a4: ; 0x0217c1a4 mov r0, #0 bx lr arm_func_end func_ov30_0217c1a4 .global func_ov30_0217c1ac arm_func_start func_ov30_0217c1ac func_ov30_0217c1ac: ; 0x0217c1ac ldr r2, [r1] ldr ip, _0217c1c4 ; =func_ov30_0217c44c str r2, [r0, #0x38] ldr r1, [r1, #4] str r1, [r0, #0x3c] bx ip .align 2, 0 arm_func_end func_ov30_0217c1ac _0217c1c4: .word func_ov30_0217c44c .global func_ov30_0217c1c8 arm_func_start func_ov30_0217c1c8 func_ov30_0217c1c8: ; 0x0217c1c8 stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 bl func_ov30_0217c44c add r1, sp, #4 add r0, r4, #0x38 bl func_ov00_020c53e8 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} mov r2, #0 add r0, sp, #0 add r1, sp, #4 strh r2, [sp] strh r2, [sp, #2] bl func_ov30_021872c4 add r1, sp, #0 mov r0, r4 bl func_ov30_0217c45c add sp, sp, #0x10 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217c1c8 .global func_ov30_0217c21c arm_func_start func_ov30_0217c21c func_ov30_0217c21c: ; 0x0217c21c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r6, r0 ldr r0, [r6, #0x30] cmp r0, #0xc addge sp, sp, #0x30 movge r0, #0 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} add r1, sp, #0x24 add r0, r6, #0x38 bl func_ov00_020c53e8 cmp r0, #0 beq _0217c3b4 mov r2, #0 add r0, sp, #0x20 add r1, sp, #0x24 strh r2, [sp, #0x20] strh r2, [sp, #0x22] bl func_ov30_021872c4 ldr r0, [r6, #0x30] cmp r0, #0 bne _0217c288 add r1, sp, #0x20 mov r0, r6 bl func_ov30_0217c45c add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217c288: sub r1, r0, #1 mov r2, r1, lsl #0x2 ldrh r7, [r6, r2] ldrh r4, [sp, #0x20] add r1, r6, r1, lsl #2 ldrh r3, [sp, #0x22] ldrh r5, [r1, #2] strh r7, [sp, #8] strh r4, [sp, #0xc] ldrsh r2, [sp, #0xc] ldrsh r1, [sp, #8] strh r5, [sp, #0xa] strh r3, [sp, #0xe] cmp r2, r1 ldreqsh r2, [sp, #0xe] ldreqsh r1, [sp, #0xa] strh r7, [sp, #0x18] strh r5, [sp, #0x1a] cmpeq r2, r1 strh r4, [sp, #0x1c] strh r3, [sp, #0x1e] addeq sp, sp, #0x30 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r4, [r6, #0x34] cmp r4, r0 bge _0217c3a0 add r5, r6, r4, lsl #2 add r7, sp, #0x20 _0217c2fc: ldrh lr, [sp, #0x20] ldrh r3, [r5] ldrh ip, [sp, #0x22] ldrh r2, [r5, #2] strh lr, [sp] strh r3, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh ip, [sp, #2] strh r2, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh lr, [sp, #0x10] strh ip, [sp, #0x12] strh r3, [sp, #0x14] strh r2, [sp, #0x16] cmpeq r1, r0 bne _0217c35c add r0, r4, #1 str r0, [r6, #0x30] add sp, sp, #0x30 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217c35c: mov r0, r5 mov r1, r7 bl func_ov30_021873bc cmp r0, #0 beq _0217c38c add r2, r4, #1 add r1, sp, #0x20 mov r0, r6 str r2, [r6, #0x30] bl func_ov30_0217c45c add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217c38c: ldr r0, [r6, #0x30] add r4, r4, #1 cmp r4, r0 add r5, r5, #4 blt _0217c2fc _0217c3a0: add r1, sp, #0x20 mov r0, r6 bl func_ov30_0217c45c add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217c3b4: mov r0, #0 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_0217c21c .global func_ov30_0217c3c0 arm_func_start func_ov30_0217c3c0 func_ov30_0217c3c0: ; 0x0217c3c0 stmdb sp!, {r3, lr} ldr r3, [r0, #0x34] ldr r2, [r0, #0x30] cmp r3, r2 movge r0, #0 ldmgeia sp!, {r3, pc} add r0, r0, r3, lsl #2 bl func_ov30_02187304 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov30_0217c3c0 .global func_ov30_0217c3e8 arm_func_start func_ov30_0217c3e8 func_ov30_0217c3e8: ; 0x0217c3e8 ldr ip, [r0, #0x34] ldr r2, [r0, #0x30] cmp ip, r2 movge r0, #0 bxge lr mov r3, ip, lsl #0x2 add r2, r0, ip, lsl #2 ldrh r3, [r0, r3] ldrh r2, [r2, #2] mov r0, #1 strh r3, [r1] strh r2, [r1, #2] bx lr arm_func_end func_ov30_0217c3e8 .global func_ov30_0217c41c arm_func_start func_ov30_0217c41c func_ov30_0217c41c: ; 0x0217c41c ldr r2, [r0, #0x34] ldr r1, [r0, #0x30] cmp r2, r1 addlt r1, r2, #1 strlt r1, [r0, #0x34] bx lr arm_func_end func_ov30_0217c41c .global func_ov30_0217c434 arm_func_start func_ov30_0217c434 func_ov30_0217c434: ; 0x0217c434 ldr r1, [r0, #0x34] ldr r0, [r0, #0x30] cmp r1, r0 movge r0, #1 movlt r0, #0 bx lr arm_func_end func_ov30_0217c434 .global func_ov30_0217c44c arm_func_start func_ov30_0217c44c func_ov30_0217c44c: ; 0x0217c44c mov r1, #0 str r1, [r0, #0x30] str r1, [r0, #0x34] bx lr arm_func_end func_ov30_0217c44c .global func_ov30_0217c45c arm_func_start func_ov30_0217c45c func_ov30_0217c45c: ; 0x0217c45c ldr r3, [r0, #0x30] cmp r3, #0xc movge r0, #0 bxge lr ldrh r2, [r1] ldrh r1, [r1, #2] mov ip, r3, lsl #0x2 add r3, r0, r3, lsl #2 strh r2, [r0, ip] strh r1, [r3, #2] ldr r1, [r0, #0x30] add r1, r1, #1 str r1, [r0, #0x30] mov r0, #1 bx lr arm_func_end func_ov30_0217c45c .global func_ov30_0217c498 arm_func_start func_ov30_0217c498 func_ov30_0217c498: ; 0x0217c498 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0217c4b8 ; =data_ov30_02188a7c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0217c498 _0217c4b8: .word data_ov30_02188a7c .global func_ov30_0217c4bc arm_func_start func_ov30_0217c4bc func_ov30_0217c4bc: ; 0x0217c4bc ldr ip, _0217c4cc ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov30_0217c4bc _0217c4cc: .word func_ov00_020a9998 .global func_ov30_0217c4d0 arm_func_start func_ov30_0217c4d0 func_ov30_0217c4d0: ; 0x0217c4d0 stmdb sp!, {r4, r5, r6, lr} mov r4, r1 ldr r2, [r4, #4] ldr r1, _0217c580 ; =data_ov30_021885d4 ldr r2, [r2, #4] mov r5, r0 add r0, r2, #0x40 bl func_0201e388 ldr r2, [r4, #4] ldr r1, _0217c584 ; =data_ov30_021885e8 ldr r2, [r2, #4] mov r6, r0 add r0, r2, #0x40 bl func_0201e388 ldr r1, [r4, #8] tst r1, #0x10 ldrneb r1, [r4, #0xae] mvneq r1, #0 cmp r6, r1 bne _0217c544 add r0, r5, #0x5c mov r1, #0 bl func_0201b1bc bl func_02018450 mov r1, r0 add r0, r5, #0x5c mov r2, r0 bl func_01ff8e84 ldmia sp!, {r4, r5, r6, pc} _0217c544: ldr r1, [r4, #8] tst r1, #0x10 ldrneb r1, [r4, #0xae] mvneq r1, #0 cmp r0, r1 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x8c mov r1, #0 bl func_0201b1bc bl func_02018450 mov r1, r0 add r0, r5, #0x8c mov r2, r0 bl func_01ff8e84 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217c4d0 _0217c580: .word data_ov30_021885d4 _0217c584: .word data_ov30_021885e8 .global func_ov30_0217c588 arm_func_start func_ov30_0217c588 func_ov30_0217c588: ; 0x0217c588 ldr r3, [r0, #0x7c] ldr r2, [r0, #0x78] ldr r0, [r0, #0x74] stmia r1, {r0, r2, r3} bx lr arm_func_end func_ov30_0217c588 .global func_ov30_0217c59c arm_func_start func_ov30_0217c59c func_ov30_0217c59c: ; 0x0217c59c stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _0217c5d4 ; =data_ov30_021885fc add r3, sp, #0 mov lr, r0 mov ip, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, ip add r1, lr, #0x5c bl func_01ff9158 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_0217c59c _0217c5d4: .word data_ov30_021885fc .global func_ov30_0217c5d8 arm_func_start func_ov30_0217c5d8 func_ov30_0217c5d8: ; 0x0217c5d8 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _0217c610 ; =data_ov30_02188608 add r3, sp, #0 mov lr, r0 mov ip, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, ip add r1, lr, #0x5c bl func_01ff9158 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_0217c5d8 _0217c610: .word data_ov30_02188608 .global func_ov30_0217c614 arm_func_start func_ov30_0217c614 func_ov30_0217c614: ; 0x0217c614 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _0217c64c ; =data_ov30_02188614 add r3, sp, #0 mov lr, r0 mov ip, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, ip add r1, lr, #0x8c bl func_01ff9158 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_0217c614 _0217c64c: .word data_ov30_02188614 .global func_ov30_0217c650 arm_func_start func_ov30_0217c650 func_ov30_0217c650: ; 0x0217c650 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _0217c688 ; =data_ov30_02188620 add r3, sp, #0 mov lr, r0 mov ip, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, ip add r1, lr, #0x8c bl func_01ff9158 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_0217c650 _0217c688: .word data_ov30_02188620 .global func_ov30_0217c68c arm_func_start func_ov30_0217c68c func_ov30_0217c68c: ; 0x0217c68c stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _0217c6c4 ; =data_ov30_0218862c add r3, sp, #0 mov lr, r0 mov ip, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, ip add r1, lr, #0x8c bl func_01ff9158 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_0217c68c _0217c6c4: .word data_ov30_0218862c .global func_ov30_0217c6c8 arm_func_start func_ov30_0217c6c8 func_ov30_0217c6c8: ; 0x0217c6c8 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _0217c700 ; =data_ov30_02188638 add r3, sp, #0 mov lr, r0 mov ip, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, ip add r1, lr, #0x8c bl func_01ff9158 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_0217c6c8 _0217c700: .word data_ov30_02188638 .global func_ov30_0217c704 arm_func_start func_ov30_0217c704 func_ov30_0217c704: ; 0x0217c704 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xdc mov r5, r1 bl func_ov00_020c5c2c ldr r1, _0217c788 ; =data_ov30_02188a68 add r0, r4, #0x20 str r1, [r4] bl func_ov30_0217c498 add r0, r4, #0xdc add r1, r4, #0x100 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0217c78c ; =data_ov30_02188ad8 add r0, r4, #0x200 str r1, [r4, #0xdc] mov r1, #0x10 strh r1, [r0, #0xe0] mov r2, #0 strh r2, [r0, #0xe2] strh r2, [r0, #0xe4] str r2, [r4, #0x304] mov r1, r5 str r2, [r4, #0x308] mov r2, #1 add r0, r4, #0x310 strb r2, [r4, #0x30c] bl func_ov30_0217cdb0 mov r1, #0 mov r0, r4 strb r1, [r4, #0x40c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217c704 _0217c788: .word data_ov30_02188a68 _0217c78c: .word data_ov30_02188ad8 .global func_ov30_0217c790 arm_func_start func_ov30_0217c790 func_ov30_0217c790: ; 0x0217c790 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217c790 .global func_ov30_0217c7a4 arm_func_start func_ov30_0217c7a4 func_ov30_0217c7a4: ; 0x0217c7a4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 str r1, [r5, #0x15c] cmp r1, #3 addls pc, pc, r1, lsl #2 b _0217c7f8 _0217c7bc: ; jump table b _0217c7cc ; case 0 b _0217c7d8 ; case 1 b _0217c7e4 ; case 2 b _0217c7f0 ; case 3 _0217c7cc: mov r2, #0xe mov r4, #0x12 b _0217c7f8 _0217c7d8: mov r2, #0xf mov r4, #0x12 b _0217c7f8 _0217c7e4: mov r2, #0x10 mov r4, #0x12 b _0217c7f8 _0217c7f0: mov r2, #0x11 mov r4, r2 _0217c7f8: ldr r1, _0217c878 ; =data_027e0fec mov r0, #0x38 ldr r7, [r1] mla r0, r2, r0, r7 bl func_ov00_020c4588 mov r1, #0x38 mov r6, r0 mla r0, r4, r1, r7 bl func_ov00_020c45b0 mov r2, r0 ldr r3, _0217c87c ; =data_ov30_02188644 mov r0, r5 mov r1, r6 bl func_ov00_020c5c64 add r0, r5, #0x20 bl func_ov30_0217c4bc add r0, r5, #0x160 mov r1, #0xa bl func_ov00_020c0ec0 mov r1, #0 add r0, r5, #0x200 strh r1, [r0, #0xe4] strh r1, [r0, #0xe2] mov r3, #2 str r3, [sp] add r0, r5, #0x160 mov r1, #0x4f mov r2, #6 bl func_ov00_020c0ecc mov r0, #0 strb r0, [r5, #0x300] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov30_0217c7a4 _0217c878: .word data_027e0fec _0217c87c: .word data_ov30_02188644 .global func_ov30_0217c880 arm_func_start func_ov30_0217c880 func_ov30_0217c880: ; 0x0217c880 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r1, [r5, #0x10] ldr r0, [r5, #0x14] ldr r4, [r1, #0x14] cmp r0, #7 bgt _0217c8bc cmp r0, #1 blt _0217cac8 beq _0217c924 cmp r0, #2 beq _0217ca44 cmp r0, #7 beq _0217c8c8 b _0217cac8 _0217c8bc: cmp r0, #0xc beq _0217ca9c b _0217cac8 _0217c8c8: add r0, r5, #0xe8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 ldrneb r0, [r5, #0x30c] cmpne r0, #0 beq _0217c8ec mov r0, r5 bl func_ov30_0217cc4c _0217c8ec: add r0, r5, #0xe8 mov r1, #0xd000 bl func_0202e310 cmp r0, #0 beq _0217c908 mov r0, r5 bl func_ov30_0217cd94 _0217c908: cmp r4, #0x1000 blt _0217cac8 cmp r4, #0xd000 bgt _0217cac8 mov r0, r5 bl func_ov30_0217ccbc b _0217cac8 _0217c924: ldr r0, [r5, #0x15c] cmp r0, #3 ldr r0, [r5, #0x1c] ldr r2, [r0, #0x68] bne _0217c9b4 ldr ip, [r0, #0x60] smull r1, r0, r2, r2 smull r3, r2, ip, ip adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 sub r0, r0, #0xcd mov r1, #0xcd bl func_01ff98e0 cmp r0, #0x1000 movgt r0, #0x1000 bgt _0217c98c cmp r0, #0 movlt r0, #0 _0217c98c: mov r1, r0, asr #0x1f mov r2, r1, lsl #0xd mov r1, #0x800 adds r1, r1, r0, lsl #13 orr r2, r2, r0, lsr #19 adc r0, r2, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, #0x1000 b _0217c9f0 _0217c9b4: ldr ip, [r0, #0x60] smull r1, r0, r2, r2 smull r3, r2, ip, ip adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 mov r1, #0x52 bl func_01ff98e0 _0217c9f0: str r0, [r5, #0xec] ldr r0, [r5, #0x15c] cmp r0, #3 beq _0217cac8 add r0, r5, #0xe8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 bne _0217ca28 add r0, r5, #0xe8 mov r1, #0x2c000 bl func_0202e310 cmp r0, #0 beq _0217cac8 _0217ca28: ldr r2, [r5, #0x1c] ldr r0, _0217cb54 ; =data_027e0ffc ldr r1, _0217cb58 ; =0x000001bb add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc b _0217cac8 _0217ca44: add r0, r5, #0xe8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 beq _0217ca70 ldr r1, [r5, #0x1c] ldr r0, _0217cb54 ; =data_027e0ffc add r2, r1, #0x48 mov r1, #0x1bc mov r3, #0 bl func_ov00_020ceacc _0217ca70: cmp r4, #0xa000 blt _0217cac8 cmp r4, #0xe000 bgt _0217cac8 ldr r0, [r5, #0x1c] mov r1, r5 ldr r3, [r0] mov r2, #0 ldr r3, [r3, #0xb0] blx r3 b _0217cac8 _0217ca9c: add r0, r5, #0xe8 mov r1, #0x32000 bl func_0202e310 cmp r0, #0 beq _0217cac8 ldr r2, [r5, #0x1c] ldr r0, _0217cb54 ; =data_027e0ffc ldr r1, _0217cb5c ; =0x000001bf add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc _0217cac8: ldr r0, [r5, #0x14] cmp r0, #7 beq _0217cadc mov r0, r5 bl func_ov30_0217cd94 _0217cadc: ldr r0, [r5, #0x15c] mov r2, #0xc cmp r0, #3 ldr r0, [r5, #0x14] moveq r2, #0xd mov r1, #8 cmp r0, #2 bne _0217cb34 cmp r4, r1, lsl #12 bge _0217cb18 add r0, r5, #0x200 mov r1, #0 strh r1, [r0, #0xe4] strh r1, [r0, #0xe2] b _0217cb3c _0217cb18: cmp r4, r2, lsl #12 movle r0, #1 strleb r0, [r5, #0x300] ble _0217cb3c add r0, r5, #0x160 bl func_ov00_020c10a0 b _0217cb3c _0217cb34: add r0, r5, #0x160 bl func_ov00_020c10a0 _0217cb3c: ldrb r0, [r5, #0x40c] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x310 bl func_ov00_020c5e20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217c880 _0217cb54: .word data_027e0ffc _0217cb58: .word 0x000001bb _0217cb5c: .word 0x000001bf .global func_ov30_0217cb60 arm_func_start func_ov30_0217cb60 func_ov30_0217cb60: ; 0x0217cb60 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #1 strb r0, [r4, #0x40c] add r0, r4, #0x310 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x320] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov30_0217cb60 .global func_ov30_0217cb8c arm_func_start func_ov30_0217cb8c func_ov30_0217cb8c: ; 0x0217cb8c ldr r0, [r0, #0x320] ldr ip, _0217cb9c ; =func_0202e58c add r0, r0, #0xc bx ip .align 2, 0 arm_func_end func_ov30_0217cb8c _0217cb9c: .word func_0202e58c .global func_ov30_0217cba0 arm_func_start func_ov30_0217cba0 func_ov30_0217cba0: ; 0x0217cba0 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x40c] cmp r1, #0 bne _0217cbc4 bl func_ov00_020c5f1c mov r0, r4 bl func_ov30_0217cbd0 ldmia sp!, {r4, pc} _0217cbc4: add r0, r4, #0x310 bl func_ov00_020c5f1c ldmia sp!, {r4, pc} arm_func_end func_ov30_0217cba0 .global func_ov30_0217cbd0 arm_func_start func_ov30_0217cbd0 func_ov30_0217cbd0: ; 0x0217cbd0 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldrb r0, [r4, #0x300] cmp r0, #0 beq _0217cc38 ldr r0, [r4, #0x15c] add r1, sp, #0xc cmp r0, #3 add r0, r4, #0x20 beq _0217cc10 bl func_ov30_0217c614 add r1, sp, #0 add r0, r4, #0x20 bl func_ov30_0217c650 b _0217cc20 _0217cc10: bl func_ov30_0217c68c add r1, sp, #0 add r0, r4, #0x20 bl func_ov30_0217c6c8 _0217cc20: add r1, sp, #0 add r2, sp, #0xc add r0, r4, #0x160 bl func_ov00_020c0ffc mov r0, #0 strb r0, [r4, #0x300] _0217cc38: add r0, r4, #0x160 mov r1, #0x1f bl func_ov00_020c10d4 add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217cbd0 .global func_ov30_0217cc4c arm_func_start func_ov30_0217cc4c func_ov30_0217cc4c: ; 0x0217cc4c stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 add r1, sp, #4 add r0, r4, #0x20 bl func_ov30_0217c59c mov r1, #2 str r1, [sp] ldr r0, _0217ccb8 ; =data_027e0e58 add r3, sp, #4 ldr r0, [r0] add r1, r4, #0x304 mov r2, #0x66 bl func_ov00_0207c1f8 add r1, sp, #4 add r0, r4, #0x20 bl func_ov30_0217c5d8 mov r0, #2 str r0, [sp] ldr r0, _0217ccb8 ; =data_027e0e58 add r1, r4, #0x308 ldr r0, [r0] mov r2, #0x66 add r3, sp, #4 bl func_ov00_0207c1f8 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0217cc4c _0217ccb8: .word data_027e0e58 .global func_ov30_0217ccbc arm_func_start func_ov30_0217ccbc func_ov30_0217ccbc: ; 0x0217ccbc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 add r1, sp, #0 add r0, r4, #0x20 bl func_ov30_0217c59c ldr r0, [r4, #0x304] cmp r0, #0 beq _0217cd28 ldr r1, [r0, #0x20] ldr r2, [sp] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #4] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #8] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _0217cd28: add r1, sp, #0 add r0, r4, #0x20 bl func_ov30_0217c5d8 ldr r0, [r4, #0x308] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} ldr r1, [r0, #0x20] ldr r2, [sp] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #4] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #8] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov30_0217ccbc .global func_ov30_0217cd94 arm_func_start func_ov30_0217cd94 func_ov30_0217cd94: ; 0x0217cd94 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x304 bl func_ov00_020b7e6c add r0, r4, #0x308 bl func_ov00_020b7e6c ldmia sp!, {r4, pc} arm_func_end func_ov30_0217cd94 .global func_ov30_0217cdb0 arm_func_start func_ov30_0217cdb0 func_ov30_0217cdb0: ; 0x0217cdb0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c6114 ldr r3, _0217cddc ; =data_ov30_02188ac4 ldr r2, _0217cde0 ; =data_ov30_02188748 mov r0, r4 mov r1, #0x13 str r3, [r4] bl func_ov00_020c5c98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0217cdb0 _0217cddc: .word data_ov30_02188ac4 _0217cde0: .word data_ov30_02188748 .global func_ov30_0217cde4 arm_func_start func_ov30_0217cde4 func_ov30_0217cde4: ; 0x0217cde4 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217cde4 .global func_ov30_0217ce00 arm_func_start func_ov30_0217ce00 func_ov30_0217ce00: ; 0x0217ce00 bx lr arm_func_end func_ov30_0217ce00 .global func_ov30_0217ce04 arm_func_start func_ov30_0217ce04 func_ov30_0217ce04: ; 0x0217ce04 stmdb sp!, {r3, lr} ldr ip, [r1, #4] ldr r3, _0217ce94 ; =0x43485352 cmp ip, r3 subne r2, r3, #0x20 cmpne ip, r2 subne r2, r3, #0x1e cmpne ip, r2 subne r2, r3, #0x1c cmpne ip, r2 movne r0, #0 ldmneia sp!, {r3, pc} ldr lr, [r0, #4] cmp lr, #0 beq _0217ce7c mov ip, #0 ldr r2, [lr] sub r0, ip, #1 cmp r2, r0 beq _0217ce7c mvn r0, #0 _0217ce58: ldr r3, [lr, ip, lsl #3] ldr r2, [r1, #8] cmp r3, r2 moveq r0, #0 ldmeqia sp!, {r3, pc} add ip, ip, #1 ldr r2, [lr, ip, lsl #3] cmp r2, r0 bne _0217ce58 _0217ce7c: mov r0, r1 bl func_ov30_021823f8 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_0217ce04 _0217ce94: .word 0x43485352 .global func_ov30_0217ce98 arm_func_start func_ov30_0217ce98 func_ov30_0217ce98: ; 0x0217ce98 stmdb sp!, {r3, lr} ldr r0, _0217cecc ; =data_027e0f6c ldrh r2, [r1] ldr r1, [r0] add r0, sp, #0 bl func_ov00_02093a1c ldr r0, [sp] mov r0, r0, lsr #0x16 and r0, r0, #1 cmp r0, #1 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_0217ce98 _0217cecc: .word data_027e0f6c .global func_ov30_0217ced0 arm_func_start func_ov30_0217ced0 func_ov30_0217ced0: ; 0x0217ced0 stmdb sp!, {r3, lr} ldr r0, _0217cf04 ; =data_027e0f6c ldrh r2, [r1] ldr r1, [r0] add r0, sp, #0 bl func_ov00_02093a1c ldr r0, [sp] mov r0, r0, lsr #0x16 and r0, r0, #1 cmp r0, #1 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_0217ced0 _0217cf04: .word data_027e0f6c .global func_ov30_0217cf08 arm_func_start func_ov30_0217cf08 func_ov30_0217cf08: ; 0x0217cf08 stmdb sp!, {r3, lr} mov r0, r1 ldr r1, [r0] ldr r1, [r1, #0x1c] blx r1 cmp r0, #0x58 bgt _0217d000 bge _0217d044 cmp r0, #0x41 bgt _0217cfe4 bge _0217d044 cmp r0, #0x24 bgt _0217cfdc cmp r0, #0 addge pc, pc, r0, lsl #2 b _0217d04c _0217cf48: ; jump table b _0217d04c ; case 0 b _0217d04c ; case 1 b _0217d04c ; case 2 b _0217d044 ; case 3 b _0217d044 ; case 4 b _0217d044 ; case 5 b _0217d04c ; case 6 b _0217d04c ; case 7 b _0217d04c ; case 8 b _0217d04c ; case 9 b _0217d044 ; case 10 b _0217d044 ; case 11 b _0217d044 ; case 12 b _0217d04c ; case 13 b _0217d044 ; case 14 b _0217d04c ; case 15 b _0217d044 ; case 16 b _0217d044 ; case 17 b _0217d04c ; case 18 b _0217d04c ; case 19 b _0217d044 ; case 20 b _0217d04c ; case 21 b _0217d04c ; case 22 b _0217d044 ; case 23 b _0217d04c ; case 24 b _0217d044 ; case 25 b _0217d04c ; case 26 b _0217d04c ; case 27 b _0217d044 ; case 28 b _0217d044 ; case 29 b _0217d044 ; case 30 b _0217d044 ; case 31 b _0217d04c ; case 32 b _0217d04c ; case 33 b _0217d04c ; case 34 b _0217d04c ; case 35 b _0217d044 ; case 36 _0217cfdc: cmp r0, #0x35 b _0217d04c _0217cfe4: cmp r0, #0x45 bgt _0217cff4 beq _0217d044 b _0217d04c _0217cff4: cmp r0, #0x46 beq _0217d044 b _0217d04c _0217d000: cmp r0, #0x7d bgt _0217d024 bge _0217d044 cmp r0, #0x59 bgt _0217d01c beq _0217d044 b _0217d04c _0217d01c: cmp r0, #0x67 b _0217d04c _0217d024: cmp r0, #0x81 bgt _0217d03c bge _0217d044 cmp r0, #0x7e beq _0217d044 b _0217d04c _0217d03c: cmp r0, #0x90 bne _0217d04c _0217d044: mov r0, #0 ldmia sp!, {r3, pc} _0217d04c: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov30_0217cf08 .global func_ov30_0217d054 arm_func_start func_ov30_0217d054 func_ov30_0217d054: ; 0x0217d054 stmdb sp!, {r3, lr} ldr r0, _0217d094 ; =data_027e0fe4 mov r1, r2 ldr r0, [r0] bl func_ov00_020c35d8 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} ldr r1, [r0, #4] ldr r0, _0217d098 ; =0x43525053 cmp r1, r0 bne _0217d08c mov r0, #0 ldmia sp!, {r3, pc} _0217d08c: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_0217d054 _0217d094: .word data_027e0fe4 _0217d098: .word 0x43525053 .global func_ov30_0217d09c arm_func_start func_ov30_0217d09c func_ov30_0217d09c: ; 0x0217d09c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x58 ldr r3, _0217d388 ; =data_027e0f90 mov r7, r0 ldr r0, [r3] mov r6, r1 ldr r1, [r0] ldr r4, _0217d38c ; =data_027e0f94 ldr r1, [r1, #4] mov r5, r2 blx r1 cmp r0, #0 addeq sp, sp, #0x58 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _0217d390 ; =data_027e0e60 ldr lr, [r4] ldr ip, [r4, #4] ldr r3, [r4, #8] ldr r0, [r0] add r2, sp, #0x28 mov r1, #0xff str lr, [sp, #0x28] str ip, [sp, #0x2c] str r3, [sp, #0x30] bl func_ov00_02083770 cmp r0, #0 addne sp, sp, #0x58 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r2, sp, #0x4c mov r0, r4 add r1, r7, #0x48 bl func_01ff9bf8 mov r1, r4 add r0, r7, #0x48 bl func_ov00_020c5464 cmp r0, #0 addeq sp, sp, #0x58 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r5, #0 bne _0217d1b0 mov r2, r4 add r0, r7, #0x48 mov r1, #0x5000 bl func_ov00_020ce284 cmp r0, #0 beq _0217d1b0 add r0, r7, #0x800 ldrsh r8, [r0, #0x40] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] bl func_01ffa0f4 mov r0, r0, lsl #0x10 rsb r0, r8, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _0217d394 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _0217d1a4 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _0217d1a4: ldr r0, _0217d398 ; =0x00002aaa cmp r2, r0 ble _0217d290 _0217d1b0: cmp r5, #1 bne _0217d220 mov r2, r4 add r0, r7, #0x48 mov r1, #0x5000 bl func_ov00_020ce284 cmp r0, #0 beq _0217d220 add r0, r7, #0x800 ldrsh r5, [r0, #0x40] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] bl func_01ffa0f4 mov r0, r0, lsl #0x10 rsb r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _0217d394 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _0217d214 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _0217d214: ldr r0, _0217d39c ; =0x00005555 cmp r2, r0 ble _0217d290 _0217d220: mov r2, r4 add r0, r7, #0x48 mov r1, #0xa000 bl func_ov00_020ce284 cmp r0, #0 beq _0217d284 add r0, r7, #0x800 ldrsh r5, [r0, #0x40] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] bl func_01ffa0f4 mov r0, r0, lsl #0x10 rsb r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _0217d394 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _0217d27c cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _0217d27c: cmp r2, #0x1000 ble _0217d290 _0217d284: add sp, sp, #0x58 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0217d290: cmp r6, #0 beq _0217d37c cmp r6, #1 beq _0217d2ac cmp r6, #2 beq _0217d2cc b _0217d37c _0217d2ac: mov r0, r7 mov r1, r4 bl func_ov00_020cca68 cmp r0, #0 beq _0217d37c add sp, sp, #0x58 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0217d2cc: add r0, r7, #0x48 add r3, sp, #0x40 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x44] ldr r6, [sp, #0x40] add r0, r0, #0x9a add ip, r0, #0x100 ldr r5, [sp, #0x48] ldr r7, _0217d3a0 ; =data_ov30_02188ae8 add lr, sp, #0x34 ldmia r4, {r0, r1, r2} stmia lr, {r0, r1, r2} ldr r1, [sp, #0x34] ldr r0, [sp, #0x3c] str r1, [sp, #0x1c] str r0, [sp, #0x24] mov r3, #6 str ip, [sp, #0x44] str ip, [sp, #0x38] str r7, [sp, #0xc] str ip, [sp, #0x20] str r6, [sp, #0x10] str ip, [sp, #0x14] str r5, [sp, #0x18] str r3, [sp] mov r0, #0x8f str r0, [sp, #4] add r1, sp, #0xc str r1, [sp, #8] ldr r0, _0217d390 ; =data_027e0e60 add r1, sp, #0x1c ldr r0, [r0] add r2, sp, #0x10 add r3, r3, #0x194 bl func_01ffe1cc cmp r0, #0 add r0, sp, #0xc beq _0217d378 bl func_ov00_02081f4c add sp, sp, #0x58 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0217d378: bl func_ov00_02081f4c _0217d37c: mov r0, #1 add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov30_0217d09c _0217d388: .word data_027e0f90 _0217d38c: .word data_027e0f94 _0217d390: .word data_027e0e60 _0217d394: .word 0xffff8001 _0217d398: .word 0x00002aaa _0217d39c: .word 0x00005555 _0217d3a0: .word data_ov30_02188ae8 .global func_ov30_0217d3a4 arm_func_start func_ov30_0217d3a4 func_ov30_0217d3a4: ; 0x0217d3a4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217d3a4 .global func_ov30_0217d3b8 arm_func_start func_ov30_0217d3b8 func_ov30_0217d3b8: ; 0x0217d3b8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 ldr r1, _0217d4d8 ; =data_027e0f90 mov r5, r0 ldr r0, [r1] ldr r4, _0217d4dc ; =data_027e0f94 ldr r1, [r0] ldr r1, [r1, #4] blx r1 cmp r0, #0 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0217d4e0 ; =data_027e0e60 ldr lr, [r4] ldr ip, [r4, #4] ldr r3, [r4, #8] ldr r0, [r0] add r2, sp, #4 mov r1, #0xff str lr, [sp, #4] str ip, [sp, #8] str r3, [sp, #0xc] bl func_ov00_02083770 cmp r0, #0 addne sp, sp, #0x20 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x2a0] mov r2, #0x5000 str r4, [sp] ldrsh r1, [r5, #0x78] sub r0, r0, #6 cmp r0, #1 movls r2, #0xa000 add r0, r5, #0x48 mov r3, #0x1000 bl func_ov00_020c54a0 cmp r0, #0 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x8c add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x98] mov r0, #0 str r1, [sp, #0x1c] ldr r2, _0217d4e4 ; =0x0000019a str r0, [r5, #0x8c] str r2, [r5, #0x90] str r0, [r5, #0x94] mov r0, r5 mov r1, r4 str r2, [r5, #0x98] bl func_ov00_020cca68 cmp r0, #0 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [sp, #0x10] mov r0, #1 str r1, [r5, #0x8c] ldr r1, [sp, #0x14] str r1, [r5, #0x90] ldr r1, [sp, #0x18] str r1, [r5, #0x94] ldr r1, [sp, #0x1c] str r1, [r5, #0x98] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217d3b8 _0217d4d8: .word data_027e0f90 _0217d4dc: .word data_027e0f94 _0217d4e0: .word data_027e0e60 _0217d4e4: .word 0x0000019a .global func_ov30_0217d4e8 arm_func_start func_ov30_0217d4e8 func_ov30_0217d4e8: ; 0x0217d4e8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r4, r1 mov r5, r0 mov r0, r4 bl func_ov00_020c5288 cmp r0, #0 addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r4] ldr r0, _0217d684 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #4] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r4, #8] add r2, sp, #0 mov r1, #0xff str r3, [sp, #8] bl func_ov00_02083770 cmp r0, #0 addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r2, sp, #0xc mov r0, r4 add r1, r5, #0x48 bl func_01ff9bf8 mov r1, r4 add r0, r5, #0x48 bl func_ov00_020c5464 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r2, r4 add r0, r5, #0x48 mov r1, #0x5000 bl func_ov00_020ce284 cmp r0, #0 beq _0217d5e0 add r0, r5, #0x800 ldrsh r6, [r0, #0x40] ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _0217d688 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _0217d5d4 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _0217d5d4: ldr r0, _0217d68c ; =0x00002aaa cmp r2, r0 ble _0217d664 _0217d5e0: mov r2, r4 add r0, r5, #0x48 mov r1, #0xa000 bl func_ov00_020ce284 cmp r0, #0 beq _0217d644 add r0, r5, #0x800 ldrsh r6, [r0, #0x40] ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _0217d688 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _0217d63c cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _0217d63c: cmp r2, #0x1000 ble _0217d664 _0217d644: mov r2, r4 add r0, r5, #0x48 mov r1, #0x1800 bl func_ov00_020ce284 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _0217d664: mov r0, r5 mov r1, r4 bl func_ov00_020cca68 cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217d4e8 _0217d684: .word data_027e0e60 _0217d688: .word 0xffff8001 _0217d68c: .word 0x00002aaa .global func_ov30_0217d690 arm_func_start func_ov30_0217d690 func_ov30_0217d690: ; 0x0217d690 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 ldr r4, _0217d7cc ; =data_027e0f94 mov r5, r0 mov r0, r4 bl func_ov00_020c5288 cmp r0, #0 addne sp, sp, #0x48 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _0217d7d0 ; =data_027e0e60 ldr ip, [r4] ldr r6, [r4, #4] ldr r3, [r4, #8] ldr r0, [r0] add r2, sp, #0x24 mov r1, #0xff str ip, [sp, #0x24] str r6, [sp, #0x28] str r3, [sp, #0x2c] bl func_ov00_02083770 cmp r0, #0 addne sp, sp, #0x48 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r1, r4 add r0, r5, #0x48 bl func_ov00_020c5464 cmp r0, #0 addeq sp, sp, #0x48 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r2, r4 add r0, r5, #0x48 mov r1, #0x1800 bl func_ov00_020ce284 cmp r0, #0 addeq sp, sp, #0x48 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r0, r5, #0x48 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x40] ldr ip, [sp, #0x3c] add r0, r0, #0x33 add lr, r0, #0x300 ldr r3, [sp, #0x44] add r6, sp, #0x30 ldmia r4, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r1, [sp, #0x30] ldr r0, [sp, #0x38] str r1, [sp, #0x18] str r0, [sp, #0x20] str lr, [sp, #0x40] str lr, [sp, #0x34] str lr, [sp, #0x1c] str ip, [sp, #0xc] str lr, [sp, #0x10] str r3, [sp, #0x14] mov r0, #6 str r0, [sp] ldrh r2, [r5, #0x9c] ldr r0, _0217d7d0 ; =data_027e0e60 add r1, sp, #0x18 str r2, [sp, #4] ldr r3, [r5, #0xa0] add r2, sp, #0xc str r3, [sp, #8] ldr r0, [r0] ldr r3, _0217d7d4 ; =0x00000333 bl func_01ffe1cc cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217d690 _0217d7cc: .word data_027e0f94 _0217d7d0: .word data_027e0e60 _0217d7d4: .word 0x00000333 .global func_ov30_0217d7d8 arm_func_start func_ov30_0217d7d8 func_ov30_0217d7d8: ; 0x0217d7d8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 ldr r3, _0217d988 ; =data_027e0f94 mov fp, #0 ldr r5, [r3] ldr r4, [r3, #4] ldr r2, _0217d98c ; =data_027e0e60 mov sl, r0 ldr r0, [r2] str r1, [sp] strh fp, [sp, #0x14] strh fp, [sp, #0x16] str r5, [sp, #0x18] str r4, [sp, #0x1c] ldr r3, [r3, #8] add r1, sp, #0x18 add r2, sp, #0x14 str r3, [sp, #0x20] bl func_ov00_0208433c mov r0, fp ldrsh r2, [sp, #0x16] ldrsh r1, [sp, #0x14] str r0, [sp, #8] strh r0, [sp, #0x10] sub r0, r1, #3 mov r1, r0, lsl #0x10 ldr r0, [sp, #8] sub r2, r2, #3 strh r0, [sp, #0x12] sub sb, r0, #0x80000001 mov r0, r1, asr #0x10 str r0, [sp, #4] mov r4, r2, lsl #0x10 _0217d85c: ldr r0, [sp, #4] ldr r5, _0217d98c ; =data_027e0e60 mov r0, r0, lsl #0x10 mov r8, #0 mov r7, r0, asr #0x10 add r6, sp, #0xc _0217d874: strh r7, [sp, #0xc] add r0, r8, r4, asr #16 strh r0, [sp, #0xe] ldr r0, [r5] mov r1, r6 bl func_ov00_02084324 cmp r0, #0 beq _0217d934 ldrsh r1, [sp, #0x16] ldrsh r0, [sp, #0xe] subs r2, r1, r0 ldrsh r1, [sp, #0x14] ldrsh r0, [sp, #0xc] rsbmi r2, r2, #0 subs r0, r1, r0 rsbmi r0, r0, #0 add r0, r0, r2 cmp r0, #2 ble _0217d934 ldr r0, [r5] mov r1, r6 add r2, sp, #0x24 bl func_ov00_0208439c ldr r1, [sl, #8] ldr r0, [sp, #0x2c] ldr r3, [sl] sub r2, r1, r0 smull r1, r0, r2, r2 ldr r2, [sp, #0x24] sub r3, r3, r2 smull ip, r2, r3, r3 adds r3, ip, #0x800 adc ip, r2, #0 mov r2, r3, lsr #0xc adds r3, r1, #0x800 adc r0, r0, #0 mov r1, r3, lsr #0xc orr r2, r2, ip, lsl #20 orr r1, r1, r0, lsl #20 add r0, r2, r1 cmp sb, r0 ble _0217d934 mov sb, r0 ldrsh r1, [sp, #0xc] ldrsh r0, [sp, #0xe] mov fp, #1 strh r1, [sp, #0x10] strh r0, [sp, #0x12] _0217d934: add r8, r8, #1 cmp r8, #7 blt _0217d874 ldr r0, [sp, #8] add r0, r0, #1 str r0, [sp, #8] cmp r0, #7 ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] blt _0217d85c cmp fp, #0 beq _0217d97c ldr r0, _0217d98c ; =data_027e0e60 ldr r2, [sp] ldr r0, [r0] add r1, sp, #0x10 bl func_ov00_0208439c _0217d97c: mov r0, fp add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_0217d7d8 _0217d988: .word data_027e0f94 _0217d98c: .word data_027e0e60 .global func_ov30_0217d990 arm_func_start func_ov30_0217d990 func_ov30_0217d990: ; 0x0217d990 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217d990 .global func_ov30_0217d9ac arm_func_start func_ov30_0217d9ac func_ov30_0217d9ac: ; 0x0217d9ac stmdb sp!, {r4, lr} sub sp, sp, #8 mov r2, #0 str r2, [sp] ldr r1, _0217da98 ; =data_027e0e58 mov r4, r0 str r2, [sp, #4] ldr r0, [r1] mov r2, r4 mov r1, #0x5d mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _0217da98 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x5e mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _0217da98 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x5f mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0217da98 ; =data_027e0e58 mov r1, #0x60 ldr r0, [r0] mov r2, r4 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0217da98 ; =data_027e0e58 mov r1, #0x61 ldr r0, [r0] mov r2, r4 mov r3, #2 bl func_ov00_0207c1b0 mov r2, r4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0217da98 ; =data_027e0e58 mov r1, #0x62 ldr r0, [r0] mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0217d9ac _0217da98: .word data_027e0e58 .global func_ov30_0217da9c arm_func_start func_ov30_0217da9c func_ov30_0217da9c: ; 0x0217da9c stmdb sp!, {r4, lr} sub sp, sp, #8 mov r2, #0 str r2, [sp] ldr r1, _0217daf8 ; =data_027e0e58 mov r4, r0 str r2, [sp, #4] ldr r0, [r1] mov r2, r4 mov r1, #0x64 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _0217daf8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x65 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0217da9c _0217daf8: .word data_027e0e58 .global func_ov30_0217dafc arm_func_start func_ov30_0217dafc func_ov30_0217dafc: ; 0x0217dafc stmdb sp!, {r3, lr} bl func_ov00_020c5118 mov r1, #0 bl func_ov30_02183e50 ldmia sp!, {r3, pc} arm_func_end func_ov30_0217dafc .global func_ov30_0217db10 arm_func_start func_ov30_0217db10 func_ov30_0217db10: ; 0x0217db10 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 bl func_ov30_02183db8 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 mov r2, #0 bl func_ov00_020c50d4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217db10 .global func_ov30_0217db3c arm_func_start func_ov30_0217db3c func_ov30_0217db3c: ; 0x0217db3c stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 bl func_ov00_020c5118 cmp r4, #4 addls pc, pc, r4, lsl #2 b _0217db70 _0217db58: ; jump table b _0217db70 ; case 0 b _0217db70 ; case 1 b _0217db70 ; case 2 b _0217db70 ; case 3 b _0217db6c ; case 4 _0217db6c: bl func_ov00_020cc960 _0217db70: mov r0, r5 str r4, [r5, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217db3c .global func_ov30_0217db80 arm_func_start func_ov30_0217db80 func_ov30_0217db80: ; 0x0217db80 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov00_020c5118 mov r4, r0 bl func_ov30_02181088 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r2, [r4, #0x10] mov r3, #0x1000 mov r0, r5 mov r1, #0 str r3, [r2, #0x10] bl func_ov30_0217db3c ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217db80 .global func_ov30_0217dbc8 arm_func_start func_ov30_0217dbc8 func_ov30_0217dbc8: ; 0x0217dbc8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xbc mov r5, r0 bl func_ov00_020c5118 ldr r1, [r5, #8] mov r4, r0 cmp r1, #4 addls pc, pc, r1, lsl #2 b _0217df40 _0217dbec: ; jump table b _0217dc00 ; case 0 b _0217dccc ; case 1 b _0217dd18 ; case 2 b _0217de24 ; case 3 b _0217df20 ; case 4 _0217dc00: bl func_ov00_020cc928 cmp r0, #0 mov r0, r4 bne _0217dca8 bl func_ov00_020cc8dc cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0xc bl func_ov00_0209a4f4 mov r0, #0x64 mvn r1, #0 strb r0, [sp, #0x15] add r5, sp, #0 add r0, r4, #0x48 str r1, [sp, #0x10] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [sp, #4] ldr r5, [sp] add r6, r0, #0x800 ldr r3, _0217df48 ; =data_027e0f64 ldr r2, [sp, #8] mov r1, #1 strb r1, [sp, #0x20] ldr r0, [r3] str r6, [sp, #4] str r5, [sp, #0x2c] str r6, [sp, #0x30] str r2, [sp, #0x34] ldr r0, [r0, #4] add r1, sp, #0x38 bl func_ov00_02087d34 mov r2, #0x19000 add r1, sp, #0xc mov r0, r4 str r2, [sp, #0x50] bl func_ov00_020cc908 add r0, sp, #0xc bl func_ov00_0209a508 add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217dca8: bl func_ov00_020cc940 cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r5 mov r1, #1 bl func_ov30_0217db3c add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217dccc: ldr r0, _0217df4c ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 cmp r0, #0x2d addne sp, sp, #0xbc ldmneia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #4] ldr r0, _0217df50 ; =0x43485334 cmp r1, r0 mov r0, r5 bne _0217dd08 mov r1, #3 bl func_ov30_0217db3c add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217dd08: mov r1, #2 bl func_ov30_0217db3c add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217dd18: mov r0, r5 bl func_ov00_020c50f0 cmp r0, #1 bne _0217dd4c add r0, r4, #0x48 bl func_ov30_0217d9ac ldr r0, _0217df54 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x4f mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217dd4c: cmp r0, #0x33 bne _0217dd8c mov r0, r4 mov r1, #1 bl func_ov30_02183e50 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #8 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217dd8c: addle sp, sp, #0xbc ldmleia sp!, {r3, r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r6, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r6, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02183e30 ldr r0, _0217df4c ; =data_027e0f74 mov r1, #0x46 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 bne _0217de10 ldr r0, _0217df4c ; =data_027e0f74 mov r1, #0x46 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c _0217de10: mov r0, r5 mov r1, #4 bl func_ov30_0217db3c add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217de24: mov r0, r5 bl func_ov00_020c50f0 cmp r0, #1 bne _0217de88 add r0, r4, #0x48 bl func_ov30_0217da9c ldr r0, _0217df54 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x50 mov r3, #0 bl func_ov00_020ceacc mov r0, r4 mov r1, #1 bl func_ov30_02183e50 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #8 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217de88: addle sp, sp, #0xbc ldmleia sp!, {r3, r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r6, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r6, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02183e30 ldr r0, _0217df4c ; =data_027e0f74 mov r1, #0x46 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 bne _0217df0c ldr r0, _0217df4c ; =data_027e0f74 mov r1, #0x46 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c _0217df0c: mov r0, r5 mov r1, #4 bl func_ov30_0217db3c add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} _0217df20: bl func_ov00_020cc980 cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r5 mov r1, #3 mov r2, #0 bl func_ov00_020c50d4 _0217df40: add sp, sp, #0xbc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217dbc8 _0217df48: .word data_027e0f64 _0217df4c: .word data_027e0f74 _0217df50: .word 0x43485334 _0217df54: .word data_027e0ffc .global func_ov30_0217df58 arm_func_start func_ov30_0217df58 func_ov30_0217df58: ; 0x0217df58 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #7 addls pc, pc, r5, lsl #2 b _0217e07c _0217df7c: ; jump table b _0217df9c ; case 0 b _0217e07c ; case 1 b _0217dfc0 ; case 2 b _0217e040 ; case 3 b _0217e058 ; case 4 b _0217e07c ; case 5 b _0217e070 ; case 6 b _0217e078 ; case 7 _0217df9c: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _0217e07c _0217dfc0: mov r1, #1 bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #9 bl func_ov00_020c5d74 ldr r0, [r7, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] ldr r2, _0217e090 ; =data_027e0f94 add r1, sp, #0 ldr r0, [r2] str r0, [r6, #0xc] ldr r3, [r2, #4] add r0, r4, #0x48 str r3, [r6, #0x10] ldr r2, [r2, #8] str r2, [r6, #0x14] bl func_ov30_0217d7d8 cmp r0, #0 beq _0217e034 ldr r0, [sp] str r0, [r6, #0xc] ldr r0, [sp, #4] str r0, [r6, #0x10] ldr r0, [sp, #8] str r0, [r6, #0x14] _0217e034: mov r0, #0x1f strb r0, [r4, #0xab7] b _0217e07c _0217e040: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] mov r1, #0 str r1, [r0, #0x10] b _0217e07c _0217e058: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _0217e07c _0217e070: bl func_ov00_020cc960 b _0217e07c _0217e078: bl func_ov30_02182da8 _0217e07c: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov30_0217df58 _0217e090: .word data_027e0f94 .global func_ov30_0217e094 arm_func_start func_ov30_0217e094 func_ov30_0217e094: ; 0x0217e094 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r0, r4 mov r1, #0 bl func_ov30_0217df58 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217e094 .global func_ov30_0217e0b0 arm_func_start func_ov30_0217e0b0 func_ov30_0217e0b0: ; 0x0217e0b0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xcc mov r6, r0 bl func_ov00_020c5118 ldr r1, [r6, #8] mov r4, r0 cmp r1, #7 addls pc, pc, r1, lsl #2 b _0217e3b8 _0217e0d4: ; jump table b _0217e0f4 ; case 0 b _0217e184 ; case 1 b _0217e1b0 ; case 2 b _0217e20c ; case 3 b _0217e280 ; case 4 b _0217e33c ; case 5 b _0217e364 ; case 6 b _0217e388 ; case 7 _0217e0f4: bl func_ov00_020cc928 cmp r0, #0 mov r0, r4 bne _0217e160 bl func_ov00_020cc8dc cmp r0, #0 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, r6, r7, pc} add r0, sp, #0x1c bl func_ov00_0209a4f4 mvn r1, #0 mov r0, #0x64 str r1, [sp, #0x20] strb r0, [sp, #0x25] ldr r0, [r4, #0x48] add r1, sp, #0x1c str r0, [sp, #0x3c] ldr r2, [r4, #0x4c] mov r0, r4 str r2, [sp, #0x40] ldr r2, [r4, #0x50] str r2, [sp, #0x44] bl func_ov00_020cc908 add r0, sp, #0x1c bl func_ov00_0209a508 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e160: bl func_ov00_020cc940 cmp r0, #0 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #1 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e184: ldr r0, _0217e3c0 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 cmp r0, #0x2d addne sp, sp, #0xcc ldmneia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #2 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e1b0: mov r0, r6 ldrb r5, [r4, #0xab7] bl func_ov00_020c50f0 cmp r0, #8 blt _0217e1d0 cmp r5, #0x10 subhi r0, r5, #1 strhib r0, [r4, #0xab7] _0217e1d0: mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] mov r1, #0x1e000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #3 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e20c: add r1, r6, #0xc bl func_ov30_02182f0c ldr r0, [r4, #0x48] mov r3, #1 str r0, [sp, #0x10] ldr r0, [r4, #0x4c] mov r1, #0 str r0, [sp, #0x14] ldr r2, [r4, #0x50] ldr r0, _0217e3c4 ; =data_027e0f64 str r2, [sp, #0x18] stmia sp, {r1, r3} str r1, [sp, #8] ldr r0, [r0] add r2, sp, #0x10 ldr r0, [r0, #4] sub r3, r3, #2 bl func_ov00_020884b4 mov r0, r4 add r1, r6, #0xc bl func_ov30_02182c68 cmp r0, #0 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #4 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e280: ldrb r5, [r4, #0xab7] mov r1, #0 cmp r5, #0x1f addlo r0, r5, #1 andlo r5, r0, #0xff strlob r5, [r4, #0xab7] mov r0, r4 bl func_ov00_020cb160 ldr r0, [r0, #0x14] cmp r0, #9 bne _0217e2f0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217e2f0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r7, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] _0217e2f0: mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x14] cmp r0, #9 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, r6, r7, pc} cmp r5, #0x1f addne sp, sp, #0xcc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _0217e3c8 ; =data_027e0c68 ldr r1, _0217e3cc ; =0x000e0055 mvn r2, #0 bl func_02036edc mov r0, r6 mov r1, #5 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e33c: ldr r0, _0217e3c8 ; =data_027e0c68 bl func_020367ec cmp r0, #0 addne sp, sp, #0xcc ldmneia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #6 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e364: bl func_ov00_020cc980 cmp r0, #0 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #7 bl func_ov30_0217df58 add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} _0217e388: bl func_ov30_02182dd4 mov r0, r6 bl func_ov00_020c50f0 cmp r0, #0x1e addle sp, sp, #0xcc ldmleia sp!, {r4, r5, r6, r7, pc} mov r3, #2 add r2, sp, #0xc mov r0, r6 mov r1, #7 str r3, [sp, #0xc] bl func_ov00_020c50d4 _0217e3b8: add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov30_0217e0b0 _0217e3c0: .word data_027e0f74 _0217e3c4: .word data_027e0f64 _0217e3c8: .word data_027e0c68 _0217e3cc: .word 0x000e0055 .global func_ov30_0217e3d0 arm_func_start func_ov30_0217e3d0 func_ov30_0217e3d0: ; 0x0217e3d0 stmdb sp!, {r3, r4, r5, lr} bl func_ov00_020c5118 mov r5, r0 mov r1, #1 bl func_ov30_02183e50 mov r0, r5 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r1, [r4, #0x10] mov r2, #0x1000 mov r0, r5 str r2, [r1, #0x10] bl func_ov30_02182da8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217e3d0 .global func_ov30_0217e414 arm_func_start func_ov30_0217e414 func_ov30_0217e414: ; 0x0217e414 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov00_020c5118 mov r4, r0 bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x844] cmp r0, #0 beq _0217e468 mov r0, r5 mov r1, #4 mov r2, #0 bl func_ov00_020c50d4 ldmia sp!, {r3, r4, r5, pc} _0217e468: ldr r0, _0217e4ac ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02183fa0 cmp r0, #0 beq _0217e490 mov r0, r5 mov r1, #6 mov r2, #0 bl func_ov00_020c50d4 ldmia sp!, {r3, r4, r5, pc} _0217e490: mov r3, #1 add r2, sp, #0 mov r0, r5 mov r1, #5 strb r3, [sp] bl func_ov00_020c50d4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217e414 _0217e4ac: .word data_027e10b4 .global func_ov30_0217e4b0 arm_func_start func_ov30_0217e4b0 func_ov30_0217e4b0: ; 0x0217e4b0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #0 beq _0217e4d8 cmp r5, #1 beq _0217e504 b _0217e52c _0217e4d8: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _0217e52c _0217e504: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 _0217e52c: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_0217e4b0 .global func_ov30_0217e53c arm_func_start func_ov30_0217e53c func_ov30_0217e53c: ; 0x0217e53c stmdb sp!, {r4, r5, r6, lr} mov r4, r0 bl func_ov00_020c5118 mov r1, #0 bl func_ov30_021823cc ldr r1, _0217e5a0 ; =data_027e0764 mov r2, #0 ldr r3, [r1] ldmib r1, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r1, #0xc] ldr r6, [r1, #0x10] mla lr, r0, r3, lr ldr ip, [r1, #0x14] adds r5, r6, r5 str r5, [r1] adc r3, ip, lr str r3, [r1, #4] add r2, r2, #0x5a mov r0, r4 mov r1, #0 strh r2, [r4, #0xc] bl func_ov30_0217e4b0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217e53c _0217e5a0: .word data_027e0764 .global func_ov30_0217e5a4 arm_func_start func_ov30_0217e5a4 func_ov30_0217e5a4: ; 0x0217e5a4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x30 mov r6, r0 bl func_ov00_020c5118 ldr r1, [r6, #8] mov r5, r0 cmp r1, #0 beq _0217e5d4 cmp r1, #1 beq _0217e72c add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217e5d4: bl func_ov30_02182dc0 mov r0, r6 bl func_ov00_020c50f0 ldrsh r1, [r6, #0xc] cmp r0, r1 addle sp, sp, #0x30 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrsh r0, [r5, #0x78] bl func_0202bbbc bl func_0202bba8 strh r0, [r6, #0xe] ldr r0, [r5, #0x844] cmp r0, #2 bne _0217e690 ldr r4, _0217e760 ; =data_02050f54 mov sl, #0 mov sb, #0x3000 add r8, sp, #0x24 add r7, sp, #0x18 _0217e620: ldrsh r2, [r6, #0xe] mov r0, sb mov r1, r8 add r2, r2, #0x4000 strh r2, [r6, #0xe] ldrh ip, [r6, #0xe] mov r3, r7 add r2, r5, #0x48 mov ip, ip, asr #0x4 mov lr, ip, lsl #0x1 mov ip, lr, lsl #0x1 add lr, r4, lr, lsl #1 ldrsh ip, [r4, ip] ldrsh lr, [lr, #2] str sl, [sp, #0x28] str ip, [sp, #0x24] str lr, [sp, #0x2c] bl func_01ff9e64 mov r0, r5 mov r1, r7 bl func_ov00_020cca68 cmp r0, #0 bne _0217e620 mov r0, r6 mov r1, #1 bl func_ov30_0217e4b0 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217e690: cmp r0, #3 bne _0217e71c ldr r4, _0217e760 ; =data_02050f54 mov sl, #0 mov sb, #0x3000 add r8, sp, #0xc add r7, sp, #0 _0217e6ac: ldrsh r2, [r6, #0xe] mov r0, sb mov r1, r8 sub r2, r2, #0x4000 strh r2, [r6, #0xe] ldrh ip, [r6, #0xe] mov r3, r7 add r2, r5, #0x48 mov ip, ip, asr #0x4 mov lr, ip, lsl #0x1 mov ip, lr, lsl #0x1 add lr, r4, lr, lsl #1 ldrsh ip, [r4, ip] ldrsh lr, [lr, #2] str sl, [sp, #0x10] str ip, [sp, #0xc] str lr, [sp, #0x14] bl func_01ff9e64 mov r0, r5 mov r1, r7 bl func_ov00_020cca68 cmp r0, #0 bne _0217e6ac mov r0, r6 mov r1, #1 bl func_ov30_0217e4b0 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217e71c: mov r0, r6 bl func_ov00_020c50fc add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217e72c: ldrsh r1, [r6, #0xe] bl func_ov30_02182e34 ldrsh r1, [r6, #0xe] mov r0, r5 bl func_ov30_02182e50 cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r0, r6 mov r1, #0 bl func_ov30_0217e4b0 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov30_0217e5a4 _0217e760: .word data_02050f54 .global func_ov30_0217e764 arm_func_start func_ov30_0217e764 func_ov30_0217e764: ; 0x0217e764 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r7, r0 mov r6, r1 bl func_ov00_020c5118 mov r4, r0 ldr r5, [r4, #0x8a4] cmp r6, #3 addls pc, pc, r6, lsl #2 b _0217e86c _0217e78c: ; jump table b _0217e79c ; case 0 b _0217e7c8 ; case 1 b _0217e7f4 ; case 2 b _0217e844 ; case 3 _0217e79c: mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _0217e86c _0217e7c8: mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #7 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _0217e86c _0217e7f4: mov r1, #0 bl func_ov00_020cb160 mov r8, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r8, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 mov r0, r5 ldr r2, [r4, #0xa0] add r1, r4, #0x48 str r2, [sp] ldr r2, [r4, #0x98] ldrh r3, [r4, #0x9c] bl func_ov30_02187e18 b _0217e86c _0217e844: bl func_ov30_02182da8 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] _0217e86c: mov r0, r7 str r6, [r7, #8] bl func_ov00_020c50fc add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov30_0217e764 .global func_ov30_0217e880 arm_func_start func_ov30_0217e880 func_ov30_0217e880: ; 0x0217e880 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c5118 mov r1, #0 strb r1, [r0, #0x87e] ldr r2, [r4] mov r0, r5 str r2, [r5, #0xc] ldr r2, [r4, #4] str r2, [r5, #0x10] ldr r2, [r4, #8] str r2, [r5, #0x14] bl func_ov30_0217e764 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217e880 .global func_ov30_0217e8bc arm_func_start func_ov30_0217e8bc func_ov30_0217e8bc: ; 0x0217e8bc stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r6, r0 bl func_ov00_020c5118 ldr r1, [r6, #8] mov r4, r0 ldr r5, [r4, #0x8a4] cmp r1, #3 addls pc, pc, r1, lsl #2 b _0217eb5c _0217e8e4: ; jump table b _0217e8f4 ; case 0 b _0217e938 ; case 1 b _0217e9d4 ; case 2 b _0217eaa8 ; case 3 _0217e8f4: bl func_ov30_02182dc0 mov r0, r6 bl func_ov00_020c50f0 cmp r0, #0xf addle sp, sp, #0x1c ldmleia sp!, {r4, r5, r6, r7, pc} mov r3, #0x100 mov r0, r5 add r1, r4, #0x48 add r2, r6, #0xc str r3, [sp] bl func_ov30_02187c00 mov r0, r6 mov r1, #1 bl func_ov30_0217e764 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217e938: mov r0, r5 bl func_ov30_02187c44 mov r0, r4 add r1, r6, #0xc bl func_ov30_02182dfc mov r0, r4 add r1, r6, #0xc bl func_ov30_02182e18 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r5 bl func_ov30_02187d50 cmp r0, #0 beq _0217e9ac mov r0, r6 mov r1, #3 bl func_ov30_0217e764 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217e9ac: mov r0, r5 bl func_ov30_02187d3c cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #2 bl func_ov30_0217e764 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217e9d4: add r1, sp, #0x10 mov r0, r5 bl func_ov30_02187d88 add r1, sp, #0x10 mov r0, r4 mov r2, #2 bl func_ov30_02182ecc mov r0, r4 mov r1, #0xa000 bl func_ov00_020c29ec mov r7, r0 add r1, sp, #0x10 mov r0, r4 bl func_ov30_02182c68 cmp r0, #0 beq _0217ea30 ldr r1, [r4, #0xa0] mov r0, r5 str r1, [sp] ldrh r3, [r4, #0x9c] ldr r2, [r4, #0x98] add r1, r4, #0x48 bl func_ov30_02187e18 _0217ea30: add r1, sp, #4 mov r0, r5 bl func_ov30_02187dd8 add r1, sp, #4 mov r0, r4 bl func_ov30_02182c68 cmp r0, #0 cmpeq r7, #0 beq _0217ea68 mov r0, r6 mov r1, #3 bl func_ov30_0217e764 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217ea68: add r1, sp, #4 mov r0, r4 bl func_ov00_020c288c cmp r0, #0x3000 addge sp, sp, #0x1c ldmgeia sp!, {r4, r5, r6, r7, pc} mov r0, r4 bl func_ov30_02183a78 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 mov r1, #3 bl func_ov30_0217e764 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217eaa8: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r1, [r4, #4] ldr r0, _0217eb64 ; =0x43485336 cmp r1, r0 bne _0217eb04 ldrb r0, [r4, #0xab6] cmp r0, #0 beq _0217eb04 mov r0, r6 mov r1, #0xf mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217eb04: ldr r0, [r4, #0x844] cmp r0, #0 beq _0217eb28 mov r0, r6 mov r1, #0x10 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217eb28: ldr r0, _0217eb68 ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02183fa0 cmp r0, #0 mov r0, r6 mov r2, #0 beq _0217eb54 mov r1, #6 bl func_ov00_020c50d4 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0217eb54: mov r1, #5 bl func_ov00_020c50d4 _0217eb5c: add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov30_0217e8bc _0217eb64: .word 0x43485336 _0217eb68: .word data_027e10b4 .global func_ov30_0217eb6c arm_func_start func_ov30_0217eb6c func_ov30_0217eb6c: ; 0x0217eb6c stmdb sp!, {r4, lr} bl func_ov00_020c5118 mov r4, r0 mov r1, #0 bl func_ov30_02183e50 ldr r0, [r4, #0x14] str r0, [r4, #0x48] ldr r0, [r4, #0x18] str r0, [r4, #0x4c] ldr r0, [r4, #0x1c] str r0, [r4, #0x50] ldr r0, [r4, #0x14] str r0, [r4, #0x54] ldr r0, [r4, #0x18] str r0, [r4, #0x58] ldr r0, [r4, #0x1c] str r0, [r4, #0x5c] ldrsh r0, [r4, #0x12] strh r0, [r4, #0x78] ldmia sp!, {r4, pc} arm_func_end func_ov30_0217eb6c .global func_ov30_0217ebbc arm_func_start func_ov30_0217ebbc func_ov30_0217ebbc: ; 0x0217ebbc stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xa4 mov r7, r0 bl func_ov00_020c5118 mov r4, r0 mov r0, r7 bl func_ov00_020c510c cmp r0, #0x384 addle sp, sp, #0xa4 ldmleia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r2, _0217ece4 ; =data_027e0f94 add r0, r4, #0x14 mov r1, #0x2800 bl func_ov00_020ce284 cmp r0, #0 addne sp, sp, #0xa4 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r2, _0217ece8 ; =data_ov30_02188b08 mov r1, #0 add r3, sp, #0x24 mov r0, #0x10 str r0, [sp, #0x1c] str r2, [sp] str r1, [sp, #4] str r3, [sp, #0x18] str r1, [sp, #0x20] mvn r6, #0 add r0, sp, #0xa4 _0217ec2c: str r6, [r3] str r6, [r3, #4] add r3, r3, #8 cmp r3, r0 blo _0217ec2c ldr r1, [r4, #8] ldr r0, _0217ecec ; =data_027e0fe4 str r1, [sp, #8] ldr r5, [r4, #0xc] add r3, sp, #8 ldr r0, [r0] add r1, sp, #0 add r2, sp, #0x18 str r5, [sp, #0xc] str r6, [sp, #0x10] str r6, [sp, #0x14] str r3, [sp, #4] bl func_ov00_020c37ec ldr r0, [sp, #0x20] mov r5, #0 cmp r0, #0 ble _0217eccc ldr r8, _0217ecec ; =data_027e0fe4 mov r6, r5 _0217ec8c: ldr r1, [sp, #0x18] ldr r0, [r8] add r1, r1, r6 bl func_ov00_020c3674 mov r1, r0 mov r0, r4 add r1, r1, #0x48 bl func_ov00_020c288c cmp r0, #0x2800 addlt sp, sp, #0xa4 ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x20] add r5, r5, #1 cmp r5, r0 add r6, r6, #8 blt _0217ec8c _0217eccc: mov r0, r7 mov r1, #1 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xa4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov30_0217ebbc _0217ece4: .word data_027e0f94 _0217ece8: .word data_ov30_02188b08 _0217ecec: .word data_027e0fe4 .global func_ov30_0217ecf0 arm_func_start func_ov30_0217ecf0 func_ov30_0217ecf0: ; 0x0217ecf0 stmdb sp!, {r3, r4, r5, lr} bl func_ov00_020c5118 mov r1, #0 mov r5, r0 bl func_ov00_020cb160 mov r4, r0 mov r1, #6 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] mov r0, #0 strb r0, [r5, #0x87e] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217ecf0 .global func_ov30_0217ed28 arm_func_start func_ov30_0217ed28 func_ov30_0217ed28: ; 0x0217ed28 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov00_020c5118 mov r4, r0 bl func_ov30_02182ea8 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r3, #2 add r2, sp, #0 mov r0, r5 mov r1, #7 str r3, [sp] bl func_ov00_020c50d4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217ed28 .global func_ov30_0217ed78 arm_func_start func_ov30_0217ed78 func_ov30_0217ed78: ; 0x0217ed78 stmdb sp!, {r3, r4, r5, lr} bl func_ov00_020c5118 mov r1, #0 mov r5, r0 bl func_ov00_020cb160 mov r4, r0 mov r1, #6 bl func_ov00_020c5d74 ldr r1, [r4, #0x10] mov r2, #0x1000 mov r0, r5 str r2, [r1, #0x10] bl func_ov30_02182da8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217ed78 .global func_ov30_0217edb0 arm_func_start func_ov30_0217edb0 func_ov30_0217edb0: ; 0x0217edb0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov00_020c5118 mov r4, r0 bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r3, #2 add r2, sp, #0 mov r0, r5 mov r1, #7 str r3, [sp] bl func_ov00_020c50d4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_0217edb0 .global func_ov30_0217ee00 arm_func_start func_ov30_0217ee00 func_ov30_0217ee00: ; 0x0217ee00 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #0 beq _0217ee30 cmp r5, #1 beq _0217ee5c cmp r5, #2 beq _0217ee88 b _0217eeb0 _0217ee30: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _0217eeb0 _0217ee5c: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 b _0217eeb0 _0217ee88: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 _0217eeb0: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_0217ee00 .global func_ov30_0217eec0 arm_func_start func_ov30_0217eec0 func_ov30_0217eec0: ; 0x0217eec0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r1, #0 strb r1, [r0, #0x87e] mov r0, r4 bl func_ov30_0217ee00 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217eec0 .global func_ov30_0217eee0 arm_func_start func_ov30_0217eee0 func_ov30_0217eee0: ; 0x0217eee0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 bl func_ov00_020c5118 ldr r1, [r4, #8] mov r5, r0 cmp r1, #0 beq _0217ef18 cmp r1, #1 beq _0217ef44 cmp r1, #2 beq _0217efc4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217ef18: bl func_ov30_02182dc0 mov r0, r4 bl func_ov00_020c50f0 cmp r0, #0x14 addle sp, sp, #0xc ldmleia sp!, {r4, r5, pc} mov r0, r4 mov r1, #1 bl func_ov30_0217ee00 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217ef44: add r1, sp, #0 bl func_ov30_02183904 cmp r0, #0 bne _0217ef68 mov r0, r4 mov r1, #2 bl func_ov30_0217ee00 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217ef68: add r1, sp, #0 mov r0, r5 mov r2, #2 bl func_ov30_02182ecc mov r0, r5 bl func_ov30_02183818 cmp r0, #0 beq _0217ef9c mov r0, r4 mov r1, #2 bl func_ov30_0217ee00 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217ef9c: mov r0, r5 bl func_ov30_02182efc cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} mov r0, r4 mov r1, #2 bl func_ov30_0217ee00 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217efc4: bl func_ov30_02182dc0 mov r0, r5 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r1, [r5, #4] ldr r0, _0217f080 ; =0x43485336 cmp r1, r0 bne _0217f020 ldrb r0, [r5, #0xab6] cmp r0, #0 beq _0217f020 mov r0, r4 mov r1, #0xf mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217f020: ldr r0, [r5, #0x844] cmp r0, #0 beq _0217f044 mov r0, r4 mov r1, #0x10 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217f044: ldr r0, _0217f084 ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02183fa0 cmp r0, #0 mov r0, r4 mov r2, #0 beq _0217f070 mov r1, #6 bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0217f070: mov r1, #5 bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217eee0 _0217f080: .word 0x43485336 _0217f084: .word data_027e10b4 .global func_ov30_0217f088 arm_func_start func_ov30_0217f088 func_ov30_0217f088: ; 0x0217f088 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r2, #0 str r2, [sp] ldr r1, _0217f12c ; =data_027e0e58 mov r4, r0 str r2, [sp, #4] ldr r0, [r1] mov r2, r4 mov r1, #0x67 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _0217f12c ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x68 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _0217f12c ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x69 mov r3, #2 bl func_ov00_0207c1b0 mov r2, r4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0217f12c ; =data_027e0e58 mov r1, #0x6a ldr r0, [r0] mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0217f088 _0217f12c: .word data_027e0e58 .global func_ov30_0217f130 arm_func_start func_ov30_0217f130 func_ov30_0217f130: ; 0x0217f130 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r7, r0 bl func_ov00_020c5118 mov r5, r0 cmp r6, #3 addls pc, pc, r6, lsl #2 b _0217f190 _0217f150: ; jump table b _0217f190 ; case 0 b _0217f160 ; case 1 b _0217f190 ; case 2 b _0217f18c ; case 3 _0217f160: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0xb bl func_ov00_020c5d74 ldr r1, [r4, #0x10] mov r2, #0x1000 mov r0, r5 str r2, [r1, #0x10] bl func_ov30_02182da8 b _0217f190 _0217f18c: bl func_ov30_02182da8 _0217f190: mov r0, r7 str r6, [r7, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_0217f130 .global func_ov30_0217f1a0 arm_func_start func_ov30_0217f1a0 func_ov30_0217f1a0: ; 0x0217f1a0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r1, #1 strb r1, [r0, #0xab6] mov r0, r4 mov r1, #0 bl func_ov30_0217f130 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217f1a0 .global func_ov30_0217f1c4 arm_func_start func_ov30_0217f1c4 func_ov30_0217f1c4: ; 0x0217f1c4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x68 mov r7, r0 bl func_ov00_020c5118 ldr r1, [r7, #8] mov r5, r0 cmp r1, #3 addls pc, pc, r1, lsl #2 b _0217f53c _0217f1e8: ; jump table b _0217f1f8 ; case 0 b _0217f250 ; case 1 b _0217f2f4 ; case 2 b _0217f470 ; case 3 _0217f1f8: ldr r0, _0217f544 ; =data_027e0f74 mov r1, #0x158 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 bne _0217f23c ldr r0, _0217f544 ; =data_027e0f74 mov r1, #0x158 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c mov r0, r7 mov r1, #0xe mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f23c: mov r0, r7 mov r1, #1 bl func_ov30_0217f130 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f250: bl func_ov30_02182dc0 mov r0, r5 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r0, r5 mov r1, #0 bl func_ov30_02183e50 add r0, r5, #0x48 add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0217f548 ; =data_027e0e60 ldr r2, [sp, #0x5c] ldr r4, [sp, #0x60] ldr r3, [sp, #0x64] str r2, [sp, #0x14] ldr r0, [r0] add r1, sp, #0x14 mov r2, #1 str r4, [sp, #0x18] str r3, [sp, #0x1c] bl func_ov00_02083ee0 str r0, [sp, #0x60] add r0, sp, #0x5c bl func_ov30_0217f088 ldr r0, _0217f54c ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x51 mov r3, #0 bl func_ov00_020ceacc mov r0, r7 mov r1, #2 bl func_ov30_0217f130 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f2f4: mov r0, r7 bl func_ov00_020c50f0 cmp r0, #0xa addle sp, sp, #0x68 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r3, _0217f550 ; =data_ov00_020e8398 mvn r2, #0 mov r6, #1 mov r1, #0 ldr r0, _0217f554 ; =data_027e0ff0 str r3, [sp, #0x30] strb r2, [sp, #0x34] strb r6, [sp, #0x35] strb r1, [sp, #0x36] strb r1, [sp, #0x37] strb r6, [sp, #0x4c] strb r2, [sp, #0x20] strb r2, [sp, #0x21] strb r2, [sp, #0x22] strb r2, [sp, #0x23] ldrsb r4, [r5, #0x2c] ldr r0, [r0] ldr r1, _0217f558 ; =data_027e0f94 add r2, sp, #0x30 add r3, sp, #0x20 strb r4, [sp, #0x34] strb r6, [sp, #0x36] bl func_ov00_020c4ae8 cmp r0, #0 beq _0217f3b8 ldr r0, _0217f554 ; =data_027e0ff0 add r1, sp, #0x20 ldr r0, [r0] bl func_ov00_020c47cc ldr r6, [r0, #4] ldr r2, _0217f548 ; =data_027e0e60 str r6, [sp, #0x50] ldr r4, [r0, #8] add r1, sp, #8 str r4, [sp, #0x54] ldr r3, [r0, #0xc] ldr r0, [r2] mov r2, #0 str r3, [sp, #0x58] str r6, [sp, #8] str r4, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x54] _0217f3b8: ldr r0, _0217f55c ; =data_027e10b4 mov r6, #0 ldr r0, [r0] bl func_ov30_021840e4 cmp r0, #0 ble _0217f43c ldr sb, _0217f55c ; =data_027e10b4 ldr r8, _0217f560 ; =data_027e0fe4 add sl, sp, #0x50 add r4, sp, #0 _0217f3e0: ldr r0, [sb] mov r1, r6 bl func_ov30_021840ec ldr r2, [r0] mov r1, r4 str r2, [sp] ldr r2, [r0, #4] ldr r0, [r8] str r2, [sp, #4] bl func_ov00_020c3674 movs r1, r0 beq _0217f428 mov r0, sl add r1, r1, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x2000 addlt sp, sp, #0x68 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f428: ldr r0, [sb] add r6, r6, #1 bl func_ov30_021840e4 cmp r6, r0 blt _0217f3e0 _0217f43c: ldr r1, [sp, #0x50] mov r0, r7 str r1, [r5, #0x48] ldr r1, [sp, #0x54] mov r2, #0 str r1, [r5, #0x4c] ldr r3, [sp, #0x58] mov r1, #3 str r3, [r5, #0x50] strh r2, [r5, #0x78] bl func_ov30_0217f130 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f470: bl func_ov30_02182dc0 mov r0, r7 bl func_ov00_020c50f0 cmp r0, #1 bne _0217f4a8 add r0, r5, #0x48 bl func_ov30_0217d9ac ldr r0, _0217f54c ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x4f mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f4a8: cmp r0, #0x33 bne _0217f4f8 mov r0, r5 mov r1, #1 bl func_ov30_02183e50 mov r0, r5 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #8 bl func_ov00_020c5d74 ldr r1, [r4, #0x10] mov r2, #0x1000 str r2, [r1, #0x10] ldr r0, _0217f55c ; =data_027e10b4 add r1, r5, #0x48 ldr r0, [r0] bl func_ov30_021840b0 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217f4f8: addle sp, sp, #0x68 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r0, r5 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r0, r5 bl func_ov30_02183e90 mov r0, r7 mov r1, #6 mov r2, #0 bl func_ov00_020c50d4 _0217f53c: add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov30_0217f1c4 _0217f544: .word data_027e0f74 _0217f548: .word data_027e0e60 _0217f54c: .word data_027e0ffc _0217f550: .word data_ov00_020e8398 _0217f554: .word data_027e0ff0 _0217f558: .word data_027e0f94 _0217f55c: .word data_027e10b4 _0217f560: .word data_027e0fe4 .global func_ov30_0217f564 arm_func_start func_ov30_0217f564 func_ov30_0217f564: ; 0x0217f564 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x54 mov r8, r1 mov sb, r0 bl func_ov00_020c5118 mov r4, r0 cmp r8, #7 addls pc, pc, r8, lsl #2 b _0217f730 _0217f588: ; jump table b _0217f5a8 ; case 0 b _0217f5cc ; case 1 b _0217f5d4 ; case 2 b _0217f730 ; case 3 b _0217f5f8 ; case 4 b _0217f71c ; case 5 b _0217f724 ; case 6 b _0217f72c ; case 7 _0217f5a8: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _0217f730 _0217f5cc: bl func_ov30_02182da8 b _0217f730 _0217f5d4: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0xb bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _0217f730 _0217f5f8: ldr r3, _0217f744 ; =data_ov00_020e8398 mvn r2, #0 mov ip, #1 mov r1, #0 ldr r0, _0217f748 ; =data_027e0ff0 str r3, [sp, #0x34] strb r2, [sp, #0x38] strb ip, [sp, #0x39] strb r1, [sp, #0x3a] strb r1, [sp, #0x3b] strb ip, [sp, #0x50] strb r2, [sp, #0x24] strb r2, [sp, #0x25] strb r2, [sp, #0x26] strb r2, [sp, #0x27] ldrsb lr, [r4, #0x2c] ldr r0, [r0] ldr r1, _0217f74c ; =data_027e0f94 add r2, sp, #0x34 add r3, sp, #0x24 strb lr, [sp, #0x38] strb ip, [sp, #0x3a] bl func_ov00_020c4ae8 cmp r0, #0 beq _0217f69c ldr r0, _0217f748 ; =data_027e0ff0 add r1, sp, #0x24 ldr r0, [r0] bl func_ov00_020c47cc ldr r1, _0217f750 ; =data_027e0e60 ldr r5, [r0, #4] ldr r3, [r0, #8] ldr r7, [r0, #0xc] ldr r0, [r1] add r1, sp, #0x18 mov r2, #0 str r5, [sp, #0x18] str r3, [sp, #0x1c] str r7, [sp, #0x20] bl func_ov00_02083ee0 mov r6, r0 _0217f69c: str r5, [r4, #0x48] str r6, [r4, #0x4c] mov r0, r4 str r7, [r4, #0x50] mov r1, #0 strh r1, [r4, #0x78] bl func_ov00_020cb160 mov r5, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r5, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] ldr r0, [r4, #0x48] mov r2, #0 str r0, [sp, #0xc] ldr r0, [r4, #0x4c] mov r1, #0x3c str r0, [sp, #0x10] ldr r3, [r4, #0x50] mov r0, #1 str r3, [sp, #0x14] str r2, [sp] str r0, [sp, #4] str r2, [sp, #8] ldr r0, _0217f754 ; =data_027e0f64 add r2, sp, #0xc ldr r0, [r0] sub r3, r1, #0x3d ldr r0, [r0, #4] bl func_ov00_020884b4 b _0217f730 _0217f71c: bl func_ov30_02182da8 b _0217f730 _0217f724: bl func_ov00_020cc960 b _0217f730 _0217f72c: bl func_ov30_02182da8 _0217f730: mov r0, sb str r8, [sb, #8] bl func_ov00_020c50fc add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov30_0217f564 _0217f744: .word data_ov00_020e8398 _0217f748: .word data_027e0ff0 _0217f74c: .word data_027e0f94 _0217f750: .word data_027e0e60 _0217f754: .word data_027e0f64 .global func_ov30_0217f758 arm_func_start func_ov30_0217f758 func_ov30_0217f758: ; 0x0217f758 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r1, #1 strb r1, [r0, #0xab6] mov r0, r4 mov r1, #0 bl func_ov30_0217f564 ldmia sp!, {r4, pc} arm_func_end func_ov30_0217f758 .global func_ov30_0217f77c arm_func_start func_ov30_0217f77c func_ov30_0217f77c: ; 0x0217f77c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0xc8 mov r5, r0 bl func_ov00_020c5118 ldr r1, [r5, #8] mov r4, r0 cmp r1, #7 addls pc, pc, r1, lsl #2 b _0217fa98 _0217f7a0: ; jump table b _0217f7c0 ; case 0 b _0217f850 ; case 1 b _0217f880 ; case 2 b _0217f924 ; case 3 b _0217f94c ; case 4 b _0217f974 ; case 5 b _0217fa44 ; case 6 b _0217fa68 ; case 7 _0217f7c0: bl func_ov00_020cc928 cmp r0, #0 mov r0, r4 bne _0217f82c bl func_ov00_020cc8dc cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #0x18 bl func_ov00_0209a4f4 mvn r1, #0 mov r0, #0x64 str r1, [sp, #0x1c] strb r0, [sp, #0x21] ldr r0, [r4, #0x48] add r1, sp, #0x18 str r0, [sp, #0x38] ldr r2, [r4, #0x4c] mov r0, r4 str r2, [sp, #0x3c] ldr r2, [r4, #0x50] str r2, [sp, #0x40] bl func_ov00_020cc908 add r0, sp, #0x18 bl func_ov00_0209a508 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f82c: bl func_ov00_020cc940 cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #1 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f850: mov r1, #0 bl func_ov30_02182e34 mov r0, r5 bl func_ov00_020c50f0 cmp r0, #0x3c addle sp, sp, #0xc8 ldmleia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #2 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f880: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 mov r1, #0 bl func_ov30_02183e50 add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0217faa0 ; =data_027e0e60 ldr r2, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] str r2, [sp] ldr r0, [r0] add r1, sp, #0 mov r2, #1 str ip, [sp, #4] str r3, [sp, #8] bl func_ov00_02083ee0 str r0, [sp, #0x10] add r0, sp, #0xc bl func_ov30_0217f088 ldr r0, _0217faa4 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x51 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 mov r1, #3 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f924: mov r0, r5 bl func_ov00_020c50f0 cmp r0, #0x1e addle sp, sp, #0xc8 ldmleia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #4 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f94c: mov r0, r5 bl func_ov00_020c50f0 cmp r0, #0x46 addle sp, sp, #0xc8 ldmleia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #5 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f974: bl func_ov30_02182dc0 mov r0, r5 bl func_ov00_020c50f0 cmp r0, #1 bne _0217f9ac add r0, r4, #0x48 bl func_ov30_0217d9ac ldr r0, _0217faa4 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x4f mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f9ac: cmp r0, #0x33 bne _0217f9fc mov r0, r4 mov r1, #1 bl func_ov30_02183e50 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #8 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 str r2, [r1, #0x10] ldr r0, _0217faa8 ; =data_027e10b4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov30_021840b0 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217f9fc: addle sp, sp, #0xc8 ldmleia sp!, {r3, r4, r5, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov30_02183e90 mov r0, r5 mov r1, #6 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217fa44: bl func_ov00_020cc980 cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #7 bl func_ov30_0217f564 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _0217fa68: bl func_ov30_02182dd4 mov r0, r5 bl func_ov00_020c50f0 cmp r0, #0 addle sp, sp, #0xc8 ldmleia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov30_02183e90 mov r0, r5 mov r1, #6 mov r2, #0 bl func_ov00_020c50d4 _0217fa98: add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217f77c _0217faa0: .word data_027e0e60 _0217faa4: .word data_027e0ffc _0217faa8: .word data_027e10b4 .global func_ov30_0217faac arm_func_start func_ov30_0217faac func_ov30_0217faac: ; 0x0217faac stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #0 beq _0217fadc cmp r5, #1 beq _0217fb08 cmp r5, #2 beq _0217fb48 b _0217fb4c _0217fadc: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #0xb bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _0217fb4c _0217fb08: ldr r2, [r4, #0x14] mov r1, #0 str r2, [r4, #0x48] ldr r2, [r4, #0x18] str r2, [r4, #0x4c] ldr r2, [r4, #0x1c] str r2, [r4, #0x50] strh r1, [r4, #0x78] bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _0217fb4c _0217fb48: bl func_ov30_02182da8 _0217fb4c: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_0217faac .global func_ov30_0217fb5c arm_func_start func_ov30_0217fb5c func_ov30_0217fb5c: ; 0x0217fb5c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r1, #0 strb r1, [r0, #0xab6] mov r0, r4 bl func_ov30_0217faac ldmia sp!, {r4, pc} arm_func_end func_ov30_0217fb5c .global func_ov30_0217fb7c arm_func_start func_ov30_0217fb7c func_ov30_0217fb7c: ; 0x0217fb7c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r5, r0 bl func_ov00_020c5118 ldr r1, [r5, #8] mov r4, r0 cmp r1, #0 beq _0217fbb4 cmp r1, #1 beq _0217fc58 cmp r1, #2 beq _0217fc80 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0217fbb4: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 mov r1, #0 bl func_ov30_02183e50 add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0217fd3c ; =data_027e0e60 ldr r2, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] str r2, [sp] ldr r0, [r0] add r1, sp, #0 mov r2, #1 str ip, [sp, #4] str r3, [sp, #8] bl func_ov00_02083ee0 str r0, [sp, #0x10] add r0, sp, #0xc bl func_ov30_0217f088 ldr r0, _0217fd40 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x51 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 mov r1, #1 bl func_ov30_0217faac add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0217fc58: mov r0, r5 bl func_ov00_020c50f0 cmp r0, #0 addle sp, sp, #0x18 ldmleia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #2 bl func_ov30_0217faac add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0217fc80: bl func_ov30_02182dc0 mov r0, r5 bl func_ov00_020c50f0 cmp r0, #1 bne _0217fcb8 add r0, r4, #0x48 bl func_ov30_0217d9ac ldr r0, _0217fd40 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x4f mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0217fcb8: cmp r0, #0x33 bne _0217fcf8 mov r0, r4 mov r1, #1 bl func_ov30_02183e50 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #8 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0217fcf8: addle sp, sp, #0x18 ldmleia sp!, {r3, r4, r5, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #3 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_0217fb7c _0217fd3c: .word data_027e0e60 _0217fd40: .word data_027e0ffc .global func_ov30_0217fd44 arm_func_start func_ov30_0217fd44 func_ov30_0217fd44: ; 0x0217fd44 stmdb sp!, {r3, lr} bl func_ov00_020c510c cmp r0, #0x3c movgt r0, #1 movle r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov30_0217fd44 .global func_ov30_0217fd5c arm_func_start func_ov30_0217fd5c func_ov30_0217fd5c: ; 0x0217fd5c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r6, r0 mov r5, r1 bl func_ov00_020c5118 mov r4, r0 cmp r5, #3 add r7, r4, #0xa8 addls pc, pc, r5, lsl #2 b _0217fe14 _0217fd84: ; jump table b _0217fd94 ; case 0 b _0217fddc ; case 1 b _0217fde4 ; case 2 b _0217fdec ; case 3 _0217fd94: mov r1, #0 bl func_ov00_020cb160 mov r8, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r8, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 add r0, r7, #0x800 add r1, r6, #0xc str r1, [sp] add r1, r4, #0x48 ldr r2, [r4, #0x98] ldrh r3, [r4, #0x9c] bl func_ov30_0217c020 b _0217fe14 _0217fddc: bl func_ov30_02182eb4 b _0217fe14 _0217fde4: bl func_ov30_02182da8 b _0217fe14 _0217fdec: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #2 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 _0217fe14: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov30_0217fd5c .global func_ov30_0217fe28 arm_func_start func_ov30_0217fe28 func_ov30_0217fe28: ; 0x0217fe28 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r0, r4 mov r1, #0 bl func_ov30_0217fd5c ldmia sp!, {r4, pc} arm_func_end func_ov30_0217fe28 .global func_ov30_0217fe44 arm_func_start func_ov30_0217fe44 func_ov30_0217fe44: ; 0x0217fe44 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 bl func_ov00_020c5118 ldr r1, [r6, #8] mov r5, r0 cmp r1, #3 add r4, r5, #0xa8 beq _0217fe88 bl func_ov30_021824cc cmp r0, #0 beq _0217fe88 mov r0, r6 mov r1, #3 bl func_ov30_0217fd5c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0217fe88: ldr r0, [r6, #8] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0218009c _0217fe98: ; jump table b _0217fea8 ; case 0 b _0217ffa4 ; case 1 b _02180028 ; case 2 b _02180064 ; case 3 _0217fea8: mov r0, r5 add r1, r6, #0xc mov r2, #2 bl func_ov30_02182ecc mov r0, r5 add r1, r6, #0xc bl func_ov30_02182c68 cmp r0, #0 bne _0217fef8 mov r0, r6 bl func_ov00_020c510c ldr r3, _021800a4 ; =0x88888889 mov r1, r0, lsr #0x1f smull r2, ip, r3, r0 add ip, r0, ip add ip, r1, ip, asr #4 mov r3, #0x1e smull r1, r2, r3, ip subs ip, r0, r1 bne _0217ff38 _0217fef8: mov r0, r5 bl func_ov30_02182c58 cmp r0, #0 bne _0217ff1c mov r0, r6 mov r1, #1 bl func_ov30_0217fd5c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0217ff1c: add r0, r6, #0xc str r0, [sp] ldrh r3, [r5, #0x9c] ldr r2, [r5, #0x98] add r0, r4, #0x800 add r1, r5, #0x48 bl func_ov30_0217c020 _0217ff38: mov r0, r5 mov r1, #2 mov r2, #0 bl func_ov30_0217d09c cmp r0, #0 beq _0217ff80 mov r0, r6 bl func_ov00_020c510c cmp r0, #0xf blt _0217ff80 mov r3, #0 add r2, sp, #8 mov r0, r6 mov r1, #7 str r3, [sp, #8] bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0217ff80: ldr r0, [r4, #0xa00] cmp r0, #1 addgt sp, sp, #0xc ldmgtia sp!, {r3, r4, r5, r6, pc} mov r0, r6 mov r1, #1 bl func_ov30_0217fd5c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0217ffa4: mov r0, r5 add r1, r5, #0x14 mov r2, #2 bl func_ov30_02182ecc mov r0, r5 mov r1, #2 mov r2, #0 bl func_ov30_0217d09c cmp r0, #0 beq _0217fffc mov r0, r6 bl func_ov00_020c510c cmp r0, #0xf blt _0217fffc mov r3, #0 add r2, sp, #4 mov r0, r6 mov r1, #7 str r3, [sp, #4] bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0217fffc: mov r0, r5 add r1, r5, #0x14 bl func_ov30_02182c68 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r6 mov r1, #2 bl func_ov30_0217fd5c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _02180028: ldrsh r1, [r5, #0x12] mov r0, r5 bl func_ov30_02182e34 ldrsh r1, [r5, #0x78] ldrsh r0, [r5, #0x12] cmp r1, r0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, pc} mov r2, #0 mov r0, r6 mov r1, #4 str r2, [r4, #0xa00] bl func_ov00_020c50d4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _02180064: mov r0, r5 bl func_ov30_02182dc0 mov r0, r5 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r6 mov r1, #0 bl func_ov30_0217fd5c _0218009c: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_0217fe44 _021800a4: .word 0x88888889 .global func_ov30_021800a8 arm_func_start func_ov30_021800a8 func_ov30_021800a8: ; 0x021800a8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #6 addls pc, pc, r5, lsl #2 b _021801dc _021800c8: ; jump table b _021801dc ; case 0 b _021800e4 ; case 1 b _02180108 ; case 2 b _02180134 ; case 3 b _02180158 ; case 4 b _02180198 ; case 5 b _021801bc ; case 6 _021800e4: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021801dc _02180108: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 b _021801dc _02180134: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0xa bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021801dc _02180158: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 ldrsh r0, [r4, #0x78] sub r0, r0, #0x8000 strh r0, [r4, #0x78] b _021801dc _02180198: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021801dc _021801bc: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] _021801dc: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_021800a8 .global func_ov30_021801ec arm_func_start func_ov30_021801ec func_ov30_021801ec: ; 0x021801ec stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r0, r4 mov r1, #0 bl func_ov30_021800a8 ldmia sp!, {r4, pc} arm_func_end func_ov30_021801ec .global func_ov30_02180208 arm_func_start func_ov30_02180208 func_ov30_02180208: ; 0x02180208 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r5, r0 bl func_ov00_020c5118 ldr r1, [r5, #8] mov r4, r0 cmp r1, #6 addls pc, pc, r1, lsl #2 b _021803f4 _0218022c: ; jump table b _02180248 ; case 0 b _0218027c ; case 1 b _021802c8 ; case 2 b _021802fc ; case 3 b _02180330 ; case 4 b _021803c8 ; case 5 b _021803f4 ; case 6 _02180248: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #1 bl func_ov30_021800a8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _0218027c: mov r0, r5 bl func_ov00_020c50f0 cmp r0, #0x28 addle sp, sp, #0x18 ldmleia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #2 bl func_ov30_021800a8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _021802c8: ldr r1, _021803fc ; =data_027e0f94 mov r2, #1 bl func_ov30_02182ecc mov r0, r4 bl func_ov00_020c28ec cmp r0, #0x1800 addge sp, sp, #0x18 ldmgeia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #3 bl func_ov30_021800a8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _021802fc: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #4 bl func_ov30_021800a8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _02180330: bl func_ov00_020c2974 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 ldr r1, _02180400 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 ldrsh ip, [r1, r0] add r1, sp, #0 add r3, sp, #0xc add r2, r4, #0x48 mov r0, #0x1000 str r6, [sp] str lr, [sp, #4] str ip, [sp, #8] bl func_01ff9e64 add r1, sp, #0xc mov r0, r4 mov r2, #0 bl func_ov30_02182ecc ldr r1, _02180404 ; =0x0000019a mov r0, r4 bl func_ov00_020c29ec cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #5 bl func_ov30_021800a8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _021803c8: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #6 bl func_ov30_021800a8 _021803f4: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_02180208 _021803fc: .word data_027e0f94 _02180400: .word data_02050f54 _02180404: .word 0x0000019a .global func_ov30_02180408 arm_func_start func_ov30_02180408 func_ov30_02180408: ; 0x02180408 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 cmp r5, #0 beq _0218042c cmp r5, #1 beq _02180450 b _02180458 _0218042c: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0xc bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _02180458 _02180450: add r0, r0, #0x430 bl func_ov30_0217cb60 _02180458: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov30_02180408 .global func_ov30_02180468 arm_func_start func_ov30_02180468 func_ov30_02180468: ; 0x02180468 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r0, r4 mov r1, #0 bl func_ov30_02180408 ldmia sp!, {r4, pc} arm_func_end func_ov30_02180468 .global func_ov30_02180484 arm_func_start func_ov30_02180484 func_ov30_02180484: ; 0x02180484 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 bl func_ov00_020c5118 ldr r1, [r5, #8] mov r4, r0 cmp r1, #0 beq _021804b4 cmp r1, #1 beq _021804f4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _021804b4: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r0, [r4, #4] add r1, r4, #0x48 bl func_ov00_020c87f8 mov r0, r5 mov r1, #1 bl func_ov30_02180408 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _021804f4: add r0, r4, #0x430 bl func_ov30_0217cb8c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} add r0, r4, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #4] mov r1, r3 add r0, r0, #0xcd add r2, r0, #0x400 mov r0, #2 str r2, [sp, #4] bl func_ov00_020c87a8 mov r0, r4 bl func_ov00_020c3180 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov30_02180484 .global func_ov30_02180544 arm_func_start func_ov30_02180544 func_ov30_02180544: ; 0x02180544 bx lr arm_func_end func_ov30_02180544 .global func_ov30_02180548 arm_func_start func_ov30_02180548 func_ov30_02180548: ; 0x02180548 stmdb sp!, {r3, lr} ldr r0, _0218059c ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x25 bne _02180594 ldr r0, _021805a0 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d08 cmp r0, #7 bne _02180594 ldr r0, _021805a4 ; =data_027e0f74 mov r1, #0x14 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} _02180594: ldr r0, _021805a8 ; =data_ov30_021887ac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_02180548 _0218059c: .word data_027e0d38 _021805a0: .word data_027e0e60 _021805a4: .word data_027e0f74 _021805a8: .word data_ov30_021887ac .global func_ov30_021805ac arm_func_start func_ov30_021805ac func_ov30_021805ac: ; 0x021805ac stmdb sp!, {r3, lr} ldr r0, _02180600 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x25 bne _021805f8 ldr r0, _02180604 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d08 cmp r0, #7 bne _021805f8 ldr r0, _02180608 ; =data_027e0f74 mov r1, #0x14 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _021805f8: ldr r0, _0218060c ; =data_ov30_021887b4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_021805ac _02180600: .word data_027e0d38 _02180604: .word data_027e0e60 _02180608: .word data_027e0f74 _0218060c: .word data_ov30_021887b4 .global func_ov30_02180610 arm_func_start func_ov30_02180610 func_ov30_02180610: ; 0x02180610 ldr r0, _02180618 ; =data_ov30_021887bc bx lr .align 2, 0 arm_func_end func_ov30_02180610 _02180618: .word data_ov30_021887bc .global func_ov30_0218061c arm_func_start func_ov30_0218061c func_ov30_0218061c: ; 0x0218061c ldr r0, _02180624 ; =data_ov30_021887c4 bx lr .align 2, 0 arm_func_end func_ov30_0218061c _02180624: .word data_ov30_021887c4 .global func_ov30_02180628 arm_func_start func_ov30_02180628 func_ov30_02180628: ; 0x02180628 stmdb sp!, {r4, lr} ldr r1, _02180660 ; =data_027e0fe0 ldr r0, _02180664 ; =0x00000ab8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc movs r4, r0 beq _02180658 blx func_ov30_021808d4 ldr r0, _02180668 ; =data_ov30_02189054 str r0, [r4] _02180658: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02180628 _02180660: .word data_027e0fe0 _02180664: .word 0x00000ab8 _02180668: .word data_ov30_02189054 .global func_ov30_0218066c arm_func_start func_ov30_0218066c func_ov30_0218066c: ; 0x0218066c stmdb sp!, {r4, lr} ldr r1, _021806a4 ; =data_027e0fe0 ldr r0, _021806a8 ; =0x00000ab8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc movs r4, r0 beq _0218069c blx func_ov30_021808d4 ldr r0, _021806ac ; =data_ov30_02188f44 str r0, [r4] _0218069c: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0218066c _021806a4: .word data_027e0fe0 _021806a8: .word 0x00000ab8 _021806ac: .word data_ov30_02188f44 .global func_ov30_021806b0 arm_func_start func_ov30_021806b0 func_ov30_021806b0: ; 0x021806b0 stmdb sp!, {r4, lr} ldr r1, _021806e8 ; =data_027e0fe0 ldr r0, _021806ec ; =0x00000ab8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc movs r4, r0 beq _021806e0 blx func_ov30_021808d4 ldr r0, _021806f0 ; =data_ov30_02188d24 str r0, [r4] _021806e0: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_021806b0 _021806e8: .word data_027e0fe0 _021806ec: .word 0x00000ab8 _021806f0: .word data_ov30_02188d24 .global func_ov30_021806f4 arm_func_start func_ov30_021806f4 func_ov30_021806f4: ; 0x021806f4 stmdb sp!, {r4, lr} ldr r1, _0218072c ; =data_027e0fe0 ldr r0, _02180730 ; =0x00000ab8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc movs r4, r0 beq _02180724 blx func_ov30_021808d4 ldr r0, _02180734 ; =data_ov30_02188e34 str r0, [r4] _02180724: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_021806f4 _0218072c: .word data_027e0fe0 _02180730: .word 0x00000ab8 _02180734: .word data_ov30_02188e34 .global func_ov30_02180738 arm_func_start func_ov30_02180738 func_ov30_02180738: ; 0x02180738 ldr r1, _02180744 ; =data_ov30_02188b14 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180738 _02180744: .word data_ov30_02188b14 .global func_ov30_02180748 arm_func_start func_ov30_02180748 func_ov30_02180748: ; 0x02180748 ldr r1, _02180754 ; =data_ov30_02188b28 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180748 _02180754: .word data_ov30_02188b28 .global func_ov30_02180758 arm_func_start func_ov30_02180758 func_ov30_02180758: ; 0x02180758 ldr r1, _02180764 ; =data_ov30_02188b3c str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180758 _02180764: .word data_ov30_02188b3c .global func_ov30_02180768 arm_func_start func_ov30_02180768 func_ov30_02180768: ; 0x02180768 ldr r1, _02180774 ; =data_ov30_02188b50 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180768 _02180774: .word data_ov30_02188b50 .global func_ov30_02180778 arm_func_start func_ov30_02180778 func_ov30_02180778: ; 0x02180778 ldr r1, _02180784 ; =data_ov30_02188b64 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180778 _02180784: .word data_ov30_02188b64 .global func_ov30_02180788 arm_func_start func_ov30_02180788 func_ov30_02180788: ; 0x02180788 ldr r1, _02180794 ; =data_ov30_02188b78 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180788 _02180794: .word data_ov30_02188b78 .global func_ov30_02180798 arm_func_start func_ov30_02180798 func_ov30_02180798: ; 0x02180798 ldr r1, _021807a4 ; =data_ov30_02188bb4 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180798 _021807a4: .word data_ov30_02188bb4 .global func_ov30_021807a8 arm_func_start func_ov30_021807a8 func_ov30_021807a8: ; 0x021807a8 ldr r1, _021807b4 ; =data_ov30_02188b8c str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021807a8 _021807b4: .word data_ov30_02188b8c .global func_ov30_021807b8 arm_func_start func_ov30_021807b8 func_ov30_021807b8: ; 0x021807b8 ldr r1, _021807c4 ; =data_ov30_02188ba0 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021807b8 _021807c4: .word data_ov30_02188ba0 .global func_ov30_021807c8 arm_func_start func_ov30_021807c8 func_ov30_021807c8: ; 0x021807c8 ldr r1, _021807d4 ; =data_ov30_02188bc8 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021807c8 _021807d4: .word data_ov30_02188bc8 .global func_ov30_021807d8 arm_func_start func_ov30_021807d8 func_ov30_021807d8: ; 0x021807d8 ldr r1, _021807e4 ; =data_ov30_02188bdc str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021807d8 _021807e4: .word data_ov30_02188bdc .global func_ov30_021807e8 arm_func_start func_ov30_021807e8 func_ov30_021807e8: ; 0x021807e8 ldr r1, _02180828 ; =data_ov30_02189434 add r3, r0, #0x10 str r1, [r0] add r1, r0, #0x40 mov r2, #0 _021807fc: strh r2, [r3] strh r2, [r3, #2] add r3, r3, #4 cmp r3, r1 blo _021807fc str r2, [r0, #0x40] str r2, [r0, #0x44] mvn r1, #0 str r1, [r0, #0x48] str r1, [r0, #0x4c] bx lr .align 2, 0 arm_func_end func_ov30_021807e8 _02180828: .word data_ov30_02189434 .global func_ov30_0218082c arm_func_start func_ov30_0218082c func_ov30_0218082c: ; 0x0218082c ldr r2, _0218085c ; =data_ov30_0218946c mvn r1, #0 str r2, [r0] strb r1, [r0, #0xc] strb r1, [r0, #0xd] strb r1, [r0, #0xe] strb r1, [r0, #0xf] strb r1, [r0, #0x10] strb r1, [r0, #0x11] strb r1, [r0, #0x12] strb r1, [r0, #0x13] bx lr .align 2, 0 arm_func_end func_ov30_0218082c _0218085c: .word data_ov30_0218946c .global func_ov30_02180860 arm_func_start func_ov30_02180860 func_ov30_02180860: ; 0x02180860 ldr r2, _02180880 ; =data_ov30_02189448 mvn r1, #0 str r2, [r0] strb r1, [r0, #0xc] strb r1, [r0, #0xd] strb r1, [r0, #0xe] strb r1, [r0, #0xf] bx lr .align 2, 0 arm_func_end func_ov30_02180860 _02180880: .word data_ov30_02189448 .global func_ov30_02180884 arm_func_start func_ov30_02180884 func_ov30_02180884: ; 0x02180884 ldr r1, _02180890 ; =data_ov30_02188bf0 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180884 _02180890: .word data_ov30_02188bf0 .global func_ov30_02180894 arm_func_start func_ov30_02180894 func_ov30_02180894: ; 0x02180894 ldr r1, _021808a0 ; =data_ov30_02188c04 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_02180894 _021808a0: .word data_ov30_02188c04 .global func_ov30_021808a4 arm_func_start func_ov30_021808a4 func_ov30_021808a4: ; 0x021808a4 ldr r1, _021808b0 ; =data_ov30_02188c18 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021808a4 _021808b0: .word data_ov30_02188c18 .global func_ov30_021808b4 arm_func_start func_ov30_021808b4 func_ov30_021808b4: ; 0x021808b4 ldr r1, _021808c0 ; =data_ov30_02188c2c str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021808b4 _021808c0: .word data_ov30_02188c2c .global func_ov30_021808c4 arm_func_start func_ov30_021808c4 func_ov30_021808c4: ; 0x021808c4 ldr r1, _021808d0 ; =data_ov30_02188c40 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov30_021808c4 _021808d0: .word data_ov30_02188c40 .global func_ov30_021808d4 thumb_func_start func_ov30_021808d4 func_ov30_021808d4: ; 0x021808d4 push {r4, lr} add r4, r0, #0 blx func_ov00_020ca668 ldr r0, _02180bbc ; =data_ov30_02189164 mov r1, #0 str r0, [r4] mov r0, #0x87 lsl r0, r0, #2 strb r1, [r4, r0] add r0, r0, #4 add r0, r4, r0 add r1, r4, #0 blx func_ov00_020c5124 mov r0, #0xad lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021808c4 mov r0, #0xaf lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021808b4 mov r0, #0xb2 lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021808a4 mov r0, #0x2e lsl r0, r0, #4 add r0, r4, r0 blx func_ov30_02180894 mov r0, #0xba lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_02180884 mov r0, #0xbe lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_02180860 mov r0, #0xc5 lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_0218082c mov r0, #0xcd lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021807e8 mov r0, #0x3a lsl r0, r0, #4 add r0, r4, r0 blx func_ov30_021807d8 mov r0, #0xeb lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021807c8 mov r0, #0xf1 lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021807b8 mov r0, #0xf3 lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_021807a8 mov r0, #0xf5 lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_02180798 mov r0, #0xf7 lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_02180788 mov r0, #0xfa lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_02180778 mov r0, #0xfd lsl r0, r0, #2 add r0, r4, r0 blx func_ov30_02180768 mov r0, #1 lsl r0, r0, #0xa add r0, r4, r0 blx func_ov30_02180758 ldr r0, _02180bc0 ; =0x00000418 add r0, r4, r0 blx func_ov30_02180748 ldr r0, _02180bc4 ; =0x00000424 add r0, r4, r0 blx func_ov30_02180738 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0x94 ldr r3, _02180bc8 ; =data_ov30_02189368 mov r1, #0 add r2, r4, r2 blx func_ov00_020c5150 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0x9c ldr r3, _02180bcc ; =data_ov30_0218935c mov r1, #1 add r2, r4, r2 blx func_ov00_020c5150 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0xa8 ldr r3, _02180bd0 ; =data_ov30_02189350 mov r1, #2 add r2, r4, r2 blx func_ov00_020c5150 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0xc0 ldr r3, _02180bd4 ; =data_ov30_02189344 mov r1, #3 add r2, r4, r2 blx func_ov00_020c5150 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0xc8 ldr r3, _02180bd8 ; =data_ov30_0218933c mov r1, #4 add r2, r4, r2 blx func_ov00_020c5150 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0xd8 ldr r3, _02180bdc ; =data_ov30_0218932c mov r1, #5 add r2, r4, r2 blx func_ov00_020c5150 mov r2, #0x22 lsl r2, r2, #4 add r0, r4, r2 add r2, #0xf4 ldr r3, _02180be0 ; =data_ov30_02189320 mov r1, #6 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xcd lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180be4 ; =data_ov30_02189318 add r0, r4, r0 mov r1, #7 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0x3a lsl r0, r0, #4 lsl r2, r2, #4 ldr r3, _02180be8 ; =data_ov30_02189308 add r0, r4, r0 mov r1, #8 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xeb lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180bec ; =data_ov30_021892f4 add r0, r4, r0 mov r1, #9 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xf1 lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180bf0 ; =data_ov30_021892ec add r0, r4, r0 mov r1, #0xa add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xf3 lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180bf4 ; =data_ov30_021892e0 add r0, r4, r0 mov r1, #0xb add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xf5 lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180bf8 ; =data_ov30_021892d4 add r0, r4, r0 mov r1, #0xc add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xf7 lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180bfc ; =data_ov30_021892c4 add r0, r4, r0 mov r1, #0xd add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xfa lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180c00 ; =data_ov30_021892b0 add r0, r4, r0 mov r1, #0xe add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r2, #0xfd lsl r0, r0, #4 lsl r2, r2, #2 ldr r3, _02180c04 ; =data_ov30_021892a4 add r0, r4, r0 mov r1, #0xf add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 mov r1, #0x10 lsl r0, r0, #4 lsl r2, r1, #6 ldr r3, _02180c08 ; =data_ov30_02189298 add r0, r4, r0 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 ldr r2, _02180bc0 ; =0x00000418 lsl r0, r0, #4 ldr r3, _02180c0c ; =data_ov30_02189288 add r0, r4, r0 mov r1, #0x11 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x22 ldr r2, _02180bc4 ; =0x00000424 lsl r0, r0, #4 ldr r3, _02180c10 ; =data_ov30_02189280 add r0, r4, r0 mov r1, #0x12 add r2, r4, r2 blx func_ov00_020c5150 mov r0, #0x43 lsl r0, r0, #4 add r0, r4, r0 add r1, r4, #0 blx func_ov30_0217c704 mov r0, #0x21 lsl r0, r0, #6 mov r1, #0 add r2, r0, #0 strh r1, [r4, r0] add r2, #9 strb r1, [r4, r2] add r2, r0, #0 add r2, #0xc str r1, [r4, r2] add r2, r0, #0 add r2, #0x10 str r1, [r4, r2] add r2, r0, #0 add r2, #0x14 str r1, [r4, r2] add r2, r0, #0 add r2, #0x18 str r1, [r4, r2] add r2, r0, #0 add r2, #0x1c str r1, [r4, r2] add r2, r0, #0 add r2, #0x3c strh r1, [r4, r2] add r2, r0, #0 add r2, #0x3e strb r1, [r4, r2] add r2, r0, #0 add r2, #0x40 str r1, [r4, r2] sub r2, r1, #1 add r1, r0, #0 add r1, #0x44 str r2, [r4, r1] add r1, r0, #0 add r0, #0x4c add r1, #0x48 add r0, r4, r0 str r2, [r4, r1] blx func_ov00_020c8ce4 mov r1, #0x8a lsl r1, r1, #4 mov r2, #0 str r2, [r4, r1] add r0, r1, #4 str r2, [r4, r0] add r1, #8 add r2, r4, r1 ldr r1, _02180c14 ; =0x00000aa8 mov r0, #0 add r1, r4, r1 _02180b8a: strh r0, [r2] strh r0, [r2, #2] add r2, r2, #4 cmp r2, r1 blo _02180b8a ldr r1, _02180c18 ; =0x000008a8 ldr r2, _02180c1c ; =0x00000aac add r1, r4, r1 str r1, [r4, r2] mov r3, #0x80 add r1, r2, #4 str r3, [r4, r1] sub r1, r2, #4 str r0, [r4, r1] add r1, r2, #0 add r1, #8 strh r0, [r4, r1] add r1, r2, #0 add r1, #0xa strb r0, [r4, r1] mov r0, #0x1f add r2, #0xb strb r0, [r4, r2] add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end func_ov30_021808d4 _02180bbc: .word data_ov30_02189164 _02180bc0: .word 0x00000418 _02180bc4: .word 0x00000424 _02180bc8: .word data_ov30_02189368 _02180bcc: .word data_ov30_0218935c _02180bd0: .word data_ov30_02189350 _02180bd4: .word data_ov30_02189344 _02180bd8: .word data_ov30_0218933c _02180bdc: .word data_ov30_0218932c _02180be0: .word data_ov30_02189320 _02180be4: .word data_ov30_02189318 _02180be8: .word data_ov30_02189308 _02180bec: .word data_ov30_021892f4 _02180bf0: .word data_ov30_021892ec _02180bf4: .word data_ov30_021892e0 _02180bf8: .word data_ov30_021892d4 _02180bfc: .word data_ov30_021892c4 _02180c00: .word data_ov30_021892b0 _02180c04: .word data_ov30_021892a4 _02180c08: .word data_ov30_02189298 _02180c0c: .word data_ov30_02189288 _02180c10: .word data_ov30_02189280 _02180c14: .word 0x00000aa8 _02180c18: .word 0x000008a8 _02180c1c: .word 0x00000aac .global func_ov30_02180c20 thumb_func_start func_ov30_02180c20 func_ov30_02180c20: ; 0x02180c20 push {r4, lr} add r4, r0, #0 ldr r0, _02180c8c ; =data_ov30_02189164 add r1, r4, #0 str r0, [r4] ldr r0, _02180c90 ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02184368 ldr r0, _02180c94 ; =0x000007bc add r0, r4, r0 bl func_ov00_020a9b6c mov r0, #0x76 lsl r0, r0, #4 add r0, r4, r0 bl func_ov00_020a95a4 ldr r0, _02180c98 ; =0x00000738 add r0, r4, r0 blx func_ov00_020b7d74 ldr r0, _02180c9c ; =0x00000734 add r0, r4, r0 blx func_ov00_020b7d74 ldr r0, _02180ca0 ; =0x0000050c add r0, r4, r0 bl func_ov00_020a9b6c mov r0, #0x45 lsl r0, r0, #4 add r0, r4, r0 bl func_ov00_020a95ec mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 blx func_ov00_02081f4c mov r0, #0x72 lsl r0, r0, #2 ldr r3, _02180ca4 ; =func_ov00_020b7d74 add r0, r4, r0 mov r1, #2 mov r2, #4 blx func_0204f754 add r0, r4, #0 blx func_ov00_020c1730 add r0, r4, #0 pop {r4, pc} nop thumb_func_end func_ov30_02180c20 _02180c8c: .word data_ov30_02189164 _02180c90: .word data_027e10b4 _02180c94: .word 0x000007bc _02180c98: .word 0x00000738 _02180c9c: .word 0x00000734 _02180ca0: .word 0x0000050c _02180ca4: .word func_ov00_020b7d74 .global func_ov30_02180ca8 thumb_func_start func_ov30_02180ca8 func_ov30_02180ca8: ; 0x02180ca8 push {r4, lr} add r4, r0, #0 ldr r0, _02180d18 ; =data_ov30_02189164 add r1, r4, #0 str r0, [r4] ldr r0, _02180d1c ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02184368 ldr r0, _02180d20 ; =0x000007bc add r0, r4, r0 bl func_ov00_020a9b6c mov r0, #0x76 lsl r0, r0, #4 add r0, r4, r0 bl func_ov00_020a95a4 ldr r0, _02180d24 ; =0x00000738 add r0, r4, r0 blx func_ov00_020b7d74 ldr r0, _02180d28 ; =0x00000734 add r0, r4, r0 blx func_ov00_020b7d74 ldr r0, _02180d2c ; =0x0000050c add r0, r4, r0 bl func_ov00_020a9b6c mov r0, #0x45 lsl r0, r0, #4 add r0, r4, r0 bl func_ov00_020a95ec mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 blx func_ov00_02081f4c mov r0, #0x72 lsl r0, r0, #2 ldr r3, _02180d30 ; =func_ov00_020b7d74 add r0, r4, r0 mov r1, #2 mov r2, #4 blx func_0204f754 add r0, r4, #0 blx func_ov00_020c1730 add r0, r4, #0 blx func_0202ea0c add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end func_ov30_02180ca8 _02180d18: .word data_ov30_02189164 _02180d1c: .word data_027e10b4 _02180d20: .word 0x000007bc _02180d24: .word 0x00000738 _02180d28: .word 0x00000734 _02180d2c: .word 0x0000050c _02180d30: .word func_ov00_020b7d74 .global func_ov30_02180d34 thumb_func_start func_ov30_02180d34 func_ov30_02180d34: ; 0x02180d34 push {r4, lr} add r4, r0, #0 ldr r0, _02180da0 ; =data_ov30_02189164 add r1, r4, #0 str r0, [r4] ldr r0, _02180da4 ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02184368 ldr r0, _02180da8 ; =0x000007bc add r0, r4, r0 bl func_ov00_020a9b6c mov r0, #0x76 lsl r0, r0, #4 add r0, r4, r0 bl func_ov00_020a95a4 ldr r0, _02180dac ; =0x00000738 add r0, r4, r0 blx func_ov00_020b7d74 ldr r0, _02180db0 ; =0x00000734 add r0, r4, r0 blx func_ov00_020b7d74 ldr r0, _02180db4 ; =0x0000050c add r0, r4, r0 bl func_ov00_020a9b6c mov r0, #0x45 lsl r0, r0, #4 add r0, r4, r0 bl func_ov00_020a95ec mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 blx func_ov00_02081f4c mov r0, #0x72 lsl r0, r0, #2 ldr r3, _02180db8 ; =func_ov00_020b7d74 add r0, r4, r0 mov r1, #2 mov r2, #4 blx func_0204f754 add r0, r4, #0 blx func_ov00_020c1730 add r0, r4, #0 pop {r4, pc} nop thumb_func_end func_ov30_02180d34 _02180da0: .word data_ov30_02189164 _02180da4: .word data_027e10b4 _02180da8: .word 0x000007bc _02180dac: .word 0x00000738 _02180db0: .word 0x00000734 _02180db4: .word 0x0000050c _02180db8: .word func_ov00_020b7d74 .global func_ov30_02180dbc thumb_func_start func_ov30_02180dbc func_ov30_02180dbc: ; 0x02180dbc push {r4, r5, r6, lr} add r4, r0, #0 ldr r0, _02181064 ; =data_027e10b4 add r1, r4, #0 ldr r0, [r0] bl func_ov30_02184310 mov r0, #0 add r1, r4, #0 ldr r2, _02181068 ; =0x0000099a str r0, [r4, #0x7c] add r1, #0x80 str r2, [r1] add r1, r4, #0 add r1, #0x84 str r0, [r1] add r1, r4, #0 add r1, #0x88 str r2, [r1] add r1, r4, #0 add r1, #0x8c str r0, [r1] mov r2, #2 add r1, r4, #0 lsl r2, r2, #0xa add r1, #0x90 str r2, [r1] add r1, r4, #0 add r1, #0x94 str r0, [r1] add r0, r4, #0 add r0, #0x98 str r2, [r0] ldr r2, [r4, #4] ldr r1, _0218106c ; =0x43485336 cmp r2, r1 bhi _02180e1a sub r0, r1, #4 cmp r2, r0 blo _02180e46 beq _02180e2a sub r0, r1, #2 cmp r2, r0 beq _02180e34 cmp r2, r1 beq _02180e3e b _02180e46 _02180e1a: add r1, #0x1c cmp r2, r1 bne _02180e46 add r0, r4, #0 mov r1, #0x12 add r0, #0x7a strh r1, [r0] b _02180e46 _02180e2a: add r0, r4, #0 mov r1, #0x13 add r0, #0x7a strh r1, [r0] b _02180e46 _02180e34: add r0, r4, #0 mov r1, #0x15 add r0, #0x7a strh r1, [r0] b _02180e46 _02180e3e: add r0, r4, #0 mov r1, #0x14 add r0, #0x7a strh r1, [r0] _02180e46: ldr r0, _02181070 ; =0x00000848 mov r1, #0 strb r1, [r4, r0] ldr r2, [r4, #4] ldr r1, _0218106c ; =0x43485336 cmp r2, r1 bhi _02180e68 sub r0, r1, #4 cmp r2, r0 blo _02180ece beq _02180e6e sub r0, r1, #2 cmp r2, r0 beq _02180eb8 cmp r2, r1 beq _02180eb8 b _02180ece _02180e68: add r1, #0x1c cmp r2, r1 bne _02180ece _02180e6e: ldrh r0, [r4, #0x20] cmp r0, #4 bhi _02180ece add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02180e80: ; jump table .short _02180e8a - _02180e80 - 2 ; case 0 .short _02180e92 - _02180e80 - 2 ; case 1 .short _02180ea0 - _02180e80 - 2 ; case 2 .short _02180ea8 - _02180e80 - 2 ; case 3 .short _02180eb0 - _02180e80 - 2 ; case 4 _02180e8a: ldr r0, _02181074 ; =0x00000844 mov r1, #0 str r1, [r4, r0] b _02180ece _02180e92: ldr r0, _02181074 ; =0x00000844 mov r1, #0 str r1, [r4, r0] mov r1, #1 add r0, r0, #4 strb r1, [r4, r0] b _02180ece _02180ea0: ldr r0, _02181074 ; =0x00000844 mov r1, #1 str r1, [r4, r0] b _02180ece _02180ea8: ldr r0, _02181074 ; =0x00000844 mov r1, #2 str r1, [r4, r0] b _02180ece _02180eb0: ldr r0, _02181074 ; =0x00000844 mov r1, #3 str r1, [r4, r0] b _02180ece _02180eb8: ldr r0, _02181074 ; =0x00000844 mov r1, #0 str r1, [r4, r0] ldrh r1, [r4, #0x20] cmp r1, #0 beq _02180ece cmp r1, #1 bne _02180ece mov r1, #1 add r0, r0, #4 strb r1, [r4, r0] _02180ece: ldr r1, _02181078 ; =data_ov30_02188c9c add r0, r4, #0 blx func_ov00_020ca8a4 add r1, r4, #0 mov r2, #1 mov r0, #0 add r1, #0xa8 str r0, [r1] add r1, r4, #0 lsl r2, r2, #0xc add r1, #0xac str r2, [r1] add r1, r4, #0 add r1, #0xb0 str r0, [r1] add r1, r4, #0 lsl r2, r2, #1 add r1, #0xb4 str r2, [r1] ldr r2, [r4, #4] ldr r1, _0218107c ; =0x43485334 cmp r2, r1 bne _02180f12 str r0, [r4, #0x6c] add r0, r4, #0 mov r1, #1 add r0, #0x9c strh r1, [r0] mov r0, #0x49 mov r1, #8 lsl r0, r0, #2 strb r1, [r4, r0] b _02180f1a _02180f12: add r0, r4, #0 mov r1, #0x9f add r0, #0x9c strh r1, [r0] _02180f1a: ldr r0, _02181080 ; =0x0000019a add r1, r0, #0 sub r1, #0x12 str r0, [r4, r1] add r1, r0, #0 add r1, #0x16 ldrh r2, [r4, r1] mov r1, #2 orr r2, r1 add r1, r0, #0 add r1, #0x16 add r0, #0x3e strh r2, [r4, r1] add r0, r4, r0 mov r1, #0 blx func_ov00_020ca38c mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 mov r1, #0 blx func_ov00_020ca3a4 mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 mov r1, #0 blx func_ov00_020ca3bc mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 mov r1, #0 blx func_ov00_020ca3d4 mov r0, #0x76 lsl r0, r0, #2 add r0, r4, r0 mov r1, #0 blx func_ov00_020ca3ec mov r1, #0x43 lsl r1, r1, #4 add r0, r4, #0 add r1, r4, r1 blx func_ov00_020cb140 mov r3, #0x22 lsl r3, r3, #4 add r1, r3, #0 add r0, r4, r3 sub r1, #0x9c str r0, [r4, r1] ldr r5, _02181084 ; =0x0000087c mov r2, #0 strh r2, [r4, r5] sub r1, r3, #4 strb r2, [r4, r1] ldr r1, [r4, #0x3c] cmp r1, #0 blt _02181016 add r0, r4, #0 blx func_ov00_020c3158 ldrh r0, [r4, #0x22] cmp r0, #5 bhi _02180fe6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02180fac: ; jump table .short _02180fb8 - _02180fac - 2 ; case 0 .short _02180fc0 - _02180fac - 2 ; case 1 .short _02180fc8 - _02180fac - 2 ; case 2 .short _02180fd0 - _02180fac - 2 ; case 3 .short _02180fd8 - _02180fac - 2 ; case 4 .short _02180fe0 - _02180fac - 2 ; case 5 _02180fb8: mov r1, #0 add r0, r5, #4 str r1, [r4, r0] b _02180fe6 _02180fc0: mov r1, #5 add r0, r5, #4 str r1, [r4, r0] b _02180fe6 _02180fc8: mov r1, #1 add r0, r5, #4 str r1, [r4, r0] b _02180fe6 _02180fd0: mov r1, #3 add r0, r5, #4 str r1, [r4, r0] b _02180fe6 _02180fd8: mov r1, #4 add r0, r5, #4 str r1, [r4, r0] b _02180fe6 _02180fe0: mov r1, #2 add r0, r5, #4 str r1, [r4, r0] _02180fe6: add r0, r4, #0 blx func_ov30_02183db8 cmp r0, #0 beq _02181006 add r0, r4, #0 blx func_ov30_02181088 mov r0, #0x22 lsl r0, r0, #4 add r0, r4, r0 mov r1, #3 mov r2, #0 blx func_ov00_020c515c b _0218105e _02181006: mov r0, #0x22 lsl r0, r0, #4 mov r1, #0 add r0, r4, r0 add r2, r1, #0 blx func_ov00_020c515c b _0218105e _02181016: add r1, r3, #0 sub r1, #0xdc ldr r6, [r4, r1] add r1, r5, #4 sub r3, #0xe0 str r6, [r4, r1] ldr r1, [r4, r3] cmp r1, #0xc bne _02181030 mov r1, #0xc blx func_ov00_020c515c b _0218105e _02181030: add r0, r4, #0 blx func_ov30_02183db8 cmp r0, #0 beq _02181050 add r0, r4, #0 blx func_ov30_02181088 mov r0, #0x22 lsl r0, r0, #4 add r0, r4, r0 mov r1, #3 mov r2, #0 blx func_ov00_020c515c b _0218105e _02181050: mov r0, #0x22 lsl r0, r0, #4 mov r1, #0 add r0, r4, r0 add r2, r1, #0 blx func_ov00_020c515c _0218105e: mov r0, #1 pop {r4, r5, r6, pc} nop thumb_func_end func_ov30_02180dbc _02181064: .word data_027e10b4 _02181068: .word 0x0000099a _0218106c: .word 0x43485336 _02181070: .word 0x00000848 _02181074: .word 0x00000844 _02181078: .word data_ov30_02188c9c _0218107c: .word 0x43485334 _02181080: .word 0x0000019a _02181084: .word 0x0000087c .global func_ov30_02181088 arm_func_start func_ov30_02181088 func_ov30_02181088: ; 0x02181088 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x849] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r2, [r4, #4] ldr r1, _02181128 ; =0x43485336 cmp r2, r1 bhi _021810d4 sub r0, r1, #4 cmp r2, r0 blo _0218111c beq _021810f0 sub r0, r1, #2 cmp r2, r0 beq _02181100 cmp r2, r1 beq _02181110 b _0218111c _021810d4: add r0, r1, #0x1c cmp r2, r0 bne _0218111c add r0, r4, #0x430 mov r1, #0 bl func_ov30_0217c7a4 b _0218111c _021810f0: add r0, r4, #0x430 mov r1, #1 bl func_ov30_0217c7a4 b _0218111c _02181100: add r0, r4, #0x430 mov r1, #3 bl func_ov30_0217c7a4 b _0218111c _02181110: add r0, r4, #0x430 mov r1, #2 bl func_ov30_0217c7a4 _0218111c: mov r0, #1 strb r0, [r4, #0x849] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02181088 _02181128: .word 0x43485336 .global func_ov30_0218112c arm_func_start func_ov30_0218112c func_ov30_0218112c: ; 0x0218112c stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ldmeqia sp!, {r4, pc} mov r1, #0 strb r1, [r4, #0x21c] ldr r1, [r4, #0x14] str r1, [r4, #0x54] ldr r1, [r4, #0x18] str r1, [r4, #0x58] ldr r1, [r4, #0x1c] str r1, [r4, #0x5c] ldr r1, [r4, #0x54] str r1, [r4, #0x48] ldr r1, [r4, #0x58] str r1, [r4, #0x4c] ldr r1, [r4, #0x5c] str r1, [r4, #0x50] ldrsh r1, [r4, #0x12] strh r1, [r4, #0x78] bl func_ov30_02183db8 cmp r0, #0 beq _021811a4 mov r0, r4 bl func_ov30_02181088 add r0, r4, #0x220 mov r1, #3 mov r2, #0 bl func_ov00_020c515c ldmia sp!, {r4, pc} _021811a4: mov r1, #0 mov r2, r1 add r0, r4, #0x220 bl func_ov00_020c515c ldmia sp!, {r4, pc} arm_func_end func_ov30_0218112c .global func_ov30_021811b8 arm_func_start func_ov30_021811b8 func_ov30_021811b8: ; 0x021811b8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_020caef8 ldr r0, [r4, #0x160] cmp r0, #1 bne _02181208 add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 addle sp, sp, #4 ldmleia sp!, {r3, r4, pc} mov r3, #1 add r2, sp, #0 add r0, r4, #0x220 mov r1, #7 str r3, [sp] bl func_ov00_020c515c add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02181208: cmp r0, #2 addne sp, sp, #4 ldmneia sp!, {r3, r4, pc} add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 addle sp, sp, #4 ldmleia sp!, {r3, r4, pc} ldr r0, [r4, #0x844] mov r2, #0 cmp r0, #0 add r0, r4, #0x220 beq _0218124c mov r1, #0x10 bl func_ov00_020c515c add sp, sp, #4 ldmia sp!, {r3, r4, pc} _0218124c: mov r1, #5 bl func_ov00_020c515c add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov30_021811b8 .global func_ov30_0218125c arm_func_start func_ov30_0218125c func_ov30_0218125c: ; 0x0218125c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020cafbc add r0, r4, #0x430 mov r1, #3 bl func_ov00_020c5d74 ldr r0, [r4, #0x440] mov r1, #0x1000 str r1, [r0, #0x10] add r2, r4, #0x100 ldrh r3, [r2, #0x82] mov r0, r4 mov r1, #0 orr r3, r3, #0xf strh r3, [r2, #0x82] strb r1, [r4, #0x87e] bl func_ov30_02183018 ldmia sp!, {r4, pc} arm_func_end func_ov30_0218125c .global func_ov30_021812a4 arm_func_start func_ov30_021812a4 func_ov30_021812a4: ; 0x021812a4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020cb06c add r0, r4, #0x430 mov r1, #4 bl func_ov00_020c5d74 ldr r0, [r4, #0x440] mov r1, #0x1000 str r1, [r0, #0x10] add r0, r4, #0x100 ldrh r1, [r0, #0x82] orr r1, r1, #0xf strh r1, [r0, #0x82] ldmia sp!, {r4, pc} arm_func_end func_ov30_021812a4 .global func_ov30_021812dc arm_func_start func_ov30_021812dc func_ov30_021812dc: ; 0x021812dc stmdb sp!, {r3, lr} cmp r2, #0 ldmneia sp!, {r3, pc} bl func_ov30_02182634 ldmia sp!, {r3, pc} arm_func_end func_ov30_021812dc .global func_ov30_021812f0 arm_func_start func_ov30_021812f0 func_ov30_021812f0: ; 0x021812f0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r1] ldr r1, [r1, #8] bl func_01ffa0f4 ldrsh r2, [r4, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02181360 ; =0xffff8001 sub r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 mov r0, r0, asr #0x10 movgt r0, r1, lsr #0x11 bgt _02181338 cmp r0, #0 rsblt r0, r0, #0 movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 _02181338: cmp r0, #0x4000 ble _02181350 mov r0, r4 bl func_ov00_020cc22c cmp r0, #0 bne _02181358 _02181350: mov r0, #1 ldmia sp!, {r4, pc} _02181358: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_021812f0 _02181360: .word 0xffff8001 .global func_ov30_02181364 arm_func_start func_ov30_02181364 func_ov30_02181364: ; 0x02181364 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldr r2, [r5, #0x2a0] mov r4, r1 cmp r2, #0x12 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r2, [r5, #0x164] tst r2, #8 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r2, [r4, #0x10] cmp r2, #0xb addls pc, pc, r2, lsl #2 b _021817fc _021813a0: ; jump table b _021813d0 ; case 0 b _02181648 ; case 1 b _02181548 ; case 2 b _02181548 ; case 3 b _02181550 ; case 4 b _02181648 ; case 5 b _021815c0 ; case 6 b _02181648 ; case 7 b _02181728 ; case 8 b _021817fc ; case 9 b _021815f0 ; case 10 b _02181750 ; case 11 _021813d0: add r1, r4, #4 bl func_ov30_021812f0 cmp r0, #0 beq _021814f4 ldr r0, _02181804 ; =data_027e0fb4 mov r1, #0x25 ldr r0, [r0] bl func_ov00_020ada78 cmp r0, #0 beq _0218146c mov r2, #2 mov r0, r5 mov r1, r4 strb r2, [r5, #0x1a0] bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #0 bl func_ov30_02183018 mov r0, r5 mov r1, #0 bl func_ov30_021823cc ldr r1, [r5, #4] ldr r0, _02181808 ; =0x43485334 cmp r1, r0 mov r0, r5 bne _0218144c mov r1, #1 bl func_ov00_020cadb0 b _02181464 _0218144c: mov r1, #0 bl func_ov00_020cadb0 add r0, r5, #0x220 mov r1, #0x12 mov r2, #0 bl func_ov00_020c51d0 _02181464: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0218146c: ldr r0, _02181804 ; =data_027e0fb4 mov r1, #1 ldr r0, [r0] bl func_ov00_020ad9e8 cmp r0, #1 blt _021814b4 mov r2, #5 mov r0, r5 mov r1, r4 strb r2, [r5, #0x1a0] bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021814b4: mov r2, #4 mov r0, r5 mov r1, r4 strb r2, [r5, #0x1a0] bl func_ov00_020cb60c cmp r0, #0 beq _021817fc bl func_ov30_02181828 mov r1, #0xf6 mov r2, #0 bl func_ov00_020bf008 mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021814f4: bl func_ov30_02181828 mov r1, #0xf6 mov r2, #0 bl func_ov00_020bf008 ldr r0, _0218180c ; =data_027e0ffc ldr r1, _02181810 ; =0x000001bd add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 add r1, r4, #4 bl func_ov30_02182e9c mov r0, r5 mov r1, #0 bl func_ov00_020cadb0 add r0, r5, #0x220 mov r1, #0xa mov r2, #0 bl func_ov00_020c51d0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181548: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02181550: bl func_ov30_02181838 bl func_ov59_02198fe0 cmp r0, #0 beq _02181590 mov r2, #5 mov r0, r5 mov r1, r4 strb r2, [r5, #0x1a4] bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181590: mov r2, #4 mov r0, r5 mov r1, r4 strb r2, [r5, #0x1a4] bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021815c0: ldr r2, [r5, #0x444] cmp r2, #2 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021815f0: add r1, r4, #4 bl func_ov30_021812f0 cmp r0, #0 mov r0, r5 beq _02181628 mov r1, r4 bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181628: mov r1, #0 bl func_ov00_020cadb0 add r0, r5, #0x220 mov r1, #0xb mov r2, #0 bl func_ov00_020c51d0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181648: add r1, r4, #4 bl func_ov30_021812f0 cmp r0, #0 beq _02181680 mov r0, r5 mov r1, r4 bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181680: ldr r6, [r4, #0x14] cmp r6, #0 beq _02181704 ldr r1, [r6, #4] ldr r0, _02181814 ; =0x424d524e cmp r1, r0 bne _021816bc ldr r0, _0218180c ; =data_027e0ffc ldr r1, _02181818 ; =0x0000019d add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r6 bl func_ov14_021231d4 b _02181704 _021816bc: ldr r0, _0218181c ; =0x41525257 cmp r1, r0 bne _021816dc ldrsh r1, [r5, #0x78] mov r0, r6 mov r2, #1 bl func_ov14_02120ac4 b _02181704 _021816dc: ldr r0, _02181820 ; =0x5342454d cmp r1, r0 bne _02181704 ldr r0, _0218180c ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc ldr r0, [r4, #0x14] bl func_ov14_02146634 _02181704: mov r0, r5 mov r1, #0 bl func_ov00_020cadb0 add r0, r5, #0x220 mov r1, #0xb mov r2, #0 bl func_ov00_020c51d0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181728: bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 bl func_ov30_0218322c mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02181750: ldr r3, [r4, #0x14] ldr r2, _02181824 ; =0x42494752 ldr r3, [r3, #4] cmp r3, r2 bne _0218178c mov r2, #2 strb r2, [r5, #0x1ab] bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0218178c: add r1, r4, #4 bl func_ov30_021812f0 cmp r0, #0 beq _021817c4 mov r0, r5 mov r1, r4 bl func_ov00_020cb60c cmp r0, #0 beq _021817fc mov r0, r5 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021817c4: ldr r0, _0218180c ; =data_027e0ffc ldr r1, _02181810 ; =0x000001bd add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 mov r1, #0 bl func_ov00_020cadb0 add r0, r5, #0x220 mov r1, #0xb mov r2, #0 bl func_ov00_020c51d0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021817fc: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_02181364 _02181804: .word data_027e0fb4 _02181808: .word 0x43485334 _0218180c: .word data_027e0ffc _02181810: .word 0x000001bd _02181814: .word 0x424d524e _02181818: .word 0x0000019d _0218181c: .word 0x41525257 _02181820: .word 0x5342454d _02181824: .word 0x42494752 .global func_ov30_02181828 arm_func_start func_ov30_02181828 func_ov30_02181828: ; 0x02181828 ldr ip, _02181834 ; =func_01fffcec mov r0, #0 bx ip .align 2, 0 arm_func_end func_ov30_02181828 _02181834: .word func_01fffcec .global func_ov30_02181838 arm_func_start func_ov30_02181838 func_ov30_02181838: ; 0x02181838 ldr ip, _02181844 ; =func_01fffcec mov r0, #8 bx ip .align 2, 0 arm_func_end func_ov30_02181838 _02181844: .word func_01fffcec .global func_ov30_02181848 arm_func_start func_ov30_02181848 func_ov30_02181848: ; 0x02181848 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r1, #0 bl func_ov30_021823cc mov r0, r5 mov r1, #1 bl func_ov30_02183018 mov r0, r5 bl func_ov00_020c3180 ldr r0, [r4] and r0, r0, #0x1f cmp r0, #8 bne _02181894 ldr r0, [r5, #4] add r1, r5, #0x48 mov r2, #1 bl func_ov00_020c8398 b _021818a8 _02181894: ldr r0, _021818b0 ; =data_027e0ffc ldr r1, _021818b4 ; =0x0000018f add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _021818a8: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02181848 _021818b0: .word data_027e0ffc _021818b4: .word 0x0000018f .global func_ov30_021818b8 arm_func_start func_ov30_021818b8 func_ov30_021818b8: ; 0x021818b8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x54 mov r5, r0 ldr r1, [r5, #0x2a0] cmp r1, #0 cmpne r1, #1 cmpne r1, #0xc addeq sp, sp, #0x54 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r1, sp, #0x44 bl func_ov00_020c2a0c ldr r1, _021819e0 ; =data_027e0fe4 ldr r2, _021819e4 ; =0x48415254 ldr r1, [r1] add r0, sp, #8 add r3, r5, #0x48 bl func_ov00_020c38fc ldr r1, [sp, #8] mvn r0, #0 cmp r1, r0 beq _02181944 ldr r0, _021819e0 ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl func_ov00_020c3674 add r1, sp, #0x34 mov r4, r0 bl func_ov00_020c2a0c add r0, sp, #0x44 add r1, sp, #0x34 bl func_01ffec34 cmp r0, #0 beq _02181944 mov r0, r4 bl func_ov14_0213a3dc _02181944: ldr r7, _021819e0 ; =data_027e0fe4 mov r4, #0 add sl, sp, #0 add r8, sp, #0x10 add fp, sp, #0x44 mvn r6, #0 _0218195c: ldr sb, _021819e8 ; =data_ov30_021887d0 add lr, sp, #0x20 ldmia sb!, {r0, r1, r2, r3} mov ip, lr stmia lr!, {r0, r1, r2, r3} ldr sb, [sb] ldr r1, [r7] str sb, [lr] ldr r2, [ip, r4, lsl #2] mov r0, sl add r3, r5, #0x48 bl func_ov00_020c38fc ldr r0, [sp] cmp r0, r6 beq _021819cc ldr r0, [r7] mov r1, sl bl func_ov00_020c3674 mov r1, r8 mov sb, r0 bl func_ov00_020c2a0c mov r0, fp mov r1, r8 bl func_01ffec34 cmp r0, #0 beq _021819cc mov r0, sb bl func_ov14_02135474 _021819cc: add r4, r4, #1 cmp r4, #5 blt _0218195c add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_021818b8 _021819e0: .word data_027e0fe4 _021819e4: .word 0x48415254 _021819e8: .word data_ov30_021887d0 .global func_ov30_021819ec arm_func_start func_ov30_021819ec func_ov30_021819ec: ; 0x021819ec stmdb sp!, {r3, lr} ldr r1, [r0, #0x444] cmp r1, #2 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r1, [r0, #0x2a0] cmp r1, #8 bgt _02181a3c cmp r1, #0 addge pc, pc, r1, lsl #2 b _02181a68 _02181a18: ; jump table b _02181a68 ; case 0 b _02181a68 ; case 1 b _02181a68 ; case 2 b _02181a48 ; case 3 b _02181a48 ; case 4 b _02181a48 ; case 5 b _02181a68 ; case 6 b _02181a68 ; case 7 b _02181a48 ; case 8 _02181a3c: cmp r1, #0x10 beq _02181a50 b _02181a68 _02181a48: mov r0, #1 ldmia sp!, {r3, pc} _02181a50: add r0, r0, r1, lsl #2 ldr r0, [r0, #0x220] bl func_ov30_0217fd44 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02181a68: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov30_021819ec .global func_ov30_02181a70 arm_func_start func_ov30_02181a70 func_ov30_02181a70: ; 0x02181a70 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r4, r0 bl func_ov30_021819ec cmp r0, #0 beq _02181ac0 mov r0, r4 bl func_ov30_02182fb4 cmp r0, #0 beq _02181ac0 ldr r0, [r4, #0x870] add r2, sp, #0x18 str r0, [sp, #0x18] ldr r1, [r4, #0x874] add r0, r4, #0x220 str r1, [sp, #0x1c] ldr r3, [r4, #0x878] mov r1, #9 str r3, [sp, #0x20] bl func_ov00_020c51d0 _02181ac0: bl func_0200e8f8 and r1, r1, #0 and r0, r0, #3 cmp r1, #0 cmpeq r0, #0 mov r2, #0 bne _02181cfc ldr r0, [r4, #0x2a0] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02181b88 _02181aec: ; jump table b _02181b88 ; case 0 b _02181b88 ; case 1 b _02181b88 ; case 2 b _02181b14 ; case 3 b _02181b14 ; case 4 b _02181b14 ; case 5 b _02181b4c ; case 6 b _02181b88 ; case 7 b _02181b14 ; case 8 b _02181b4c ; case 9 _02181b14: mov r0, r4 mov r1, #2 bl func_ov30_0217d09c cmp r0, #0 beq _02181b88 mov r3, #0 add r2, sp, #8 add r0, r4, #0x220 mov r1, #7 str r3, [sp, #8] bl func_ov00_020c51d0 add sp, sp, #0x24 mov r0, #1 ldmia sp!, {r4, r5, pc} _02181b4c: mov r0, r4 mov r1, #2 mov r2, #1 bl func_ov30_0217d09c cmp r0, #0 beq _02181b88 mov r3, #0 add r2, sp, #4 add r0, r4, #0x220 mov r1, #7 str r3, [sp, #4] bl func_ov00_020c51d0 add sp, sp, #0x24 mov r0, #1 ldmia sp!, {r4, r5, pc} _02181b88: ldr r0, [r4, #0x2a0] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02181c08 _02181b98: ; jump table b _02181c08 ; case 0 b _02181c08 ; case 1 b _02181c08 ; case 2 b _02181bc0 ; case 3 b _02181bc0 ; case 4 b _02181bc0 ; case 5 b _02181bc0 ; case 6 b _02181c08 ; case 7 b _02181bc0 ; case 8 b _02181bc0 ; case 9 _02181bc0: mov r0, r4 ldr r5, _02181d08 ; =data_027e0f94 bl func_ov30_0217d690 cmp r0, #0 beq _02181c08 ldr lr, [r5] ldr ip, [r5, #4] ldr r3, [r5, #8] add r2, sp, #0xc add r0, r4, #0x220 mov r1, #9 str lr, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] bl func_ov00_020c51d0 add sp, sp, #0x24 mov r0, #1 ldmia sp!, {r4, r5, pc} _02181c08: ldr r0, [r4, #0x2a0] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02181c6c _02181c18: ; jump table b _02181c6c ; case 0 b _02181c6c ; case 1 b _02181c6c ; case 2 b _02181c40 ; case 3 b _02181c40 ; case 4 b _02181c40 ; case 5 b _02181c40 ; case 6 b _02181c6c ; case 7 b _02181c6c ; case 8 b _02181c40 ; case 9 _02181c40: mov r0, r4 bl func_ov30_021833ec cmp r0, #0 beq _02181c6c add r0, r4, #0x220 mov r1, #8 mov r2, #0 bl func_ov00_020c51d0 add sp, sp, #0x24 mov r0, #1 ldmia sp!, {r4, r5, pc} _02181c6c: ldr r1, [r4, #4] ldr r0, _02181d0c ; =0x43485334 cmp r1, r0 bne _02181ce8 ldr r0, [r4, #0x2a0] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02181cfc _02181c8c: ; jump table b _02181cfc ; case 0 b _02181cfc ; case 1 b _02181cfc ; case 2 b _02181cb4 ; case 3 b _02181cb4 ; case 4 b _02181cb4 ; case 5 b _02181cb4 ; case 6 b _02181cfc ; case 7 b _02181cfc ; case 8 b _02181cb4 ; case 9 _02181cb4: mov r0, r4 bl func_ov30_0217d3b8 cmp r0, #0 beq _02181cfc mov r3, #3 add r2, sp, #0 add r0, r4, #0x220 mov r1, #7 str r3, [sp] bl func_ov00_020c515c add sp, sp, #0x24 mov r0, #1 ldmia sp!, {r4, r5, pc} _02181ce8: add r0, r0, #2 cmp r1, r0 bne _02181cfc mov r0, r4 bl func_ov30_02183ea0 _02181cfc: mov r0, #0 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02181a70 _02181d08: .word data_027e0f94 _02181d0c: .word 0x43485334 .global func_ov30_02181d10 arm_func_start func_ov30_02181d10 func_ov30_02181d10: ; 0x02181d10 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov30_021818b8 mov r0, r4 bl func_ov30_02181a70 ldr r0, [r4, #0x844] cmp r0, #0 beq _02181d5c ldr r0, [r4, #0x2a0] cmp r0, #3 cmpne r0, #4 bne _02181d4c mov r0, #0 str r0, [r4, #0xaa8] b _02181d5c _02181d4c: add r0, r4, #0xa8 add r0, r0, #0x800 add r1, r4, #0x48 bl func_ov30_0217bd80 _02181d5c: ldr r0, [r4, #0x2a0] cmp r0, #0 cmpne r0, #1 cmpne r0, #2 cmpne r0, #0xc cmpne r0, #0x11 cmpne r0, #0x12 beq _02181d88 ldrb r0, [r4, #0xab7] cmp r0, #0x1f beq _02181d9c _02181d88: mvn r0, #0 str r0, [r4, #0x20c] mov r0, #0 str r0, [r4, #0x164] b _02181e88 _02181d9c: mov r1, #3 str r1, [r4, #0x20c] mov r0, #0x800 str r0, [r4, #0x210] ldr r0, [r4, #0x164] orr r0, r0, #8 str r0, [r4, #0x164] ldr r0, [r4, #0x2a0] cmp r0, #7 bne _02181e34 ldr r0, [r4, #0x23c] ldr r0, [r0, #8] cmp r0, #0x10 addls pc, pc, r0, lsl #2 b _02181e28 _02181dd8: ; jump table b _02181e28 ; case 0 b _02181e28 ; case 1 b _02181e28 ; case 2 b _02181e28 ; case 3 b _02181e28 ; case 4 b _02181e1c ; case 5 b _02181e28 ; case 6 b _02181e1c ; case 7 b _02181e1c ; case 8 b _02181e1c ; case 9 b _02181e28 ; case 10 b _02181e1c ; case 11 b _02181e1c ; case 12 b _02181e28 ; case 13 b _02181e1c ; case 14 b _02181e1c ; case 15 b _02181e1c ; case 16 _02181e1c: mov r0, #0 str r0, [r4, #0x210] b _02181e70 _02181e28: mov r0, #0x800 str r0, [r4, #0x210] b _02181e70 _02181e34: cmp r0, #0xd bne _02181e50 sub r0, r1, #4 str r0, [r4, #0x20c] mov r0, #0 str r0, [r4, #0x164] b _02181e70 _02181e50: cmp r0, #0xf movne r0, #0 strne r0, [r4, #0x210] bne _02181e70 sub r0, r1, #4 str r0, [r4, #0x20c] mov r0, #0 str r0, [r4, #0x164] _02181e70: ldr r1, [r4, #4] ldr r0, _02181e90 ; =0x43485334 cmp r1, r0 ldrne r0, [r4, #0x164] orrne r0, r0, #1 strne r0, [r4, #0x164] _02181e88: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02181d10 _02181e90: .word 0x43485334 .global func_ov30_02181e94 arm_func_start func_ov30_02181e94 func_ov30_02181e94: ; 0x02181e94 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020cacf4 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x2a0] cmp r0, #1 movls r0, #1 ldmlsia sp!, {r4, pc} cmp r0, #0x11 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r0, _02181ef4 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bbb64 cmp r0, #0 beq _02181eec ldr r0, [r4, #0x444] cmp r0, #2 moveq r0, #1 ldmeqia sp!, {r4, pc} _02181eec: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02181e94 _02181ef4: .word data_027e0fc8 .global func_ov30_02181ef8 arm_func_start func_ov30_02181ef8 func_ov30_02181ef8: ; 0x02181ef8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x74 mov r4, r0 ldrh r2, [r4, #0x7a] ldr r0, _0218230c ; =0x0000ffff cmp r2, r0 addeq sp, sp, #0x74 ldmeqia sp!, {r3, r4, r5, r6, pc} ldrh r0, [r1] tst r0, #4 bne _02181f30 tst r0, #8 addeq sp, sp, #0x74 ldmeqia sp!, {r3, r4, r5, r6, pc} _02181f30: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _02182310 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r4, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x74 ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0x54 bl func_01ffbe34 mov r1, #1 add r0, sp, #0x54 str r1, [sp, #0x58] str r0, [sp] ldrh r3, [r4, #0x7a] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c bl func_020313c8 cmp r0, #0 addeq sp, sp, #0x74 ldmeqia sp!, {r3, r4, r5, r6, pc} ldrb r0, [r4, #0x87e] cmp r0, #0 beq _02181fd4 add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #9 sub r2, r2, #0xa mov r3, #0x27 bl func_020313c8 b _021820a4 _02181fd4: mov r0, r4 bl func_ov30_02182fdc cmp r0, #0 beq _02182038 add r0, r4, #0x800 ldrsh r2, [r0, #0x7c] ldr r1, _02182318 ; =data_02050f54 add r2, r2, #0xc00 strh r2, [r0, #0x7c] ldrh r0, [r0, #0x7c] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [r1, r0] cmp r0, #0 blt _021820a4 add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #9 sub r2, r2, #0xa mov r3, #0x1e bl func_020313c8 b _021820a4 _02182038: mov r0, r4 bl func_ov30_02182ffc cmp r0, #0 add r0, r4, #0x800 beq _0218209c ldrsh r2, [r0, #0x7c] ldr r1, _02182318 ; =data_02050f54 add r2, r2, #0xc00 strh r2, [r0, #0x7c] ldrh r0, [r0, #0x7c] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [r1, r0] cmp r0, #0 blt _021820a4 add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #9 sub r2, r2, #0xa mov r3, #0x27 bl func_020313c8 b _021820a4 _0218209c: mov r1, #0 strh r1, [r0, #0x7c] _021820a4: ldrsb r0, [sp, #0x5c] sub r0, r0, #1 strb r0, [sp, #0x5c] ldr r0, [r4, #0x880] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0218219c _021820c0: ; jump table b _0218219c ; case 0 b _02182100 ; case 1 b _02182128 ; case 2 b _02182150 ; case 3 b _02182178 ; case 4 b _021820d8 ; case 5 _021820d8: add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #5 sub r2, r2, #4 mov r3, #0x20 bl func_020313c8 b _0218219c _02182100: add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #6 sub r2, r2, #5 mov r3, #0x21 bl func_020313c8 b _0218219c _02182128: add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #6 sub r2, r2, #5 mov r3, #0x28 bl func_020313c8 b _0218219c _02182150: add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #6 sub r2, r2, #5 mov r3, #0x29 bl func_020313c8 b _0218219c _02182178: add r1, sp, #0x54 str r1, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02182314 ; =data_02063e4c add r1, r1, #6 sub r2, r2, #5 mov r3, #0x2a bl func_020313c8 _0218219c: ldr r0, [r4, #0x15c] cmp r0, #2 addeq sp, sp, #0x74 ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0x34 bl func_01ffbe34 ldrh r4, [r4, #0x78] ldr r3, _02182318 ; =data_02050f54 add r0, sp, #0x24 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r1, r1, lsl #0x1 mov r5, r2, lsl #0x1 ldrsh r2, [r3, r1] ldrsh r1, [r3, r5] rsb r2, r2, #0 blx func_01ff8018 mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r1, r3, #1 ldr r2, _02182318 ; =data_02050f54 mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh lr, [r2, r3] ldrsh r4, [r2, r1] add r2, sp, #0x24 mov r1, lr, asr #0x1f mov r5, r1, lsl #0xf mov r1, r4, asr #0x1f mov ip, r1, lsl #0xf mov r1, #2 str r1, [sp, #0x38] mov r1, #3 strb r1, [sp, #0x3c] mov r1, #1 ldr r0, _0218231c ; =data_027e0d0c mov r3, #0x800 add r6, sp, #0x18 str r2, [sp, #0x34] strb r1, [sp, #0x3f] ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} adds r1, r3, lr, lsl #15 orr r5, r5, lr, lsr #17 ldr r2, [sp, #0x18] adc r0, r5, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r5, r2, r1 adds r1, r3, r4, lsl #15 orr ip, ip, r4, lsr #17 mov r2, r1, lsr #0xc adc r0, ip, #0 orr r2, r2, r0, lsl #20 ldr r3, [sp, #0x20] ldr r1, [sp, #0x14] add r2, r3, r2 add r0, r5, #0x800 add r0, r1, r0, asr #12 str r0, [sp, #0x14] str r2, [sp, #0x20] add r1, r2, #0x800 ldr r2, [sp, #0x10] str r5, [sp, #0x18] add r1, r2, r1, asr #12 add r0, sp, #0x34 str r1, [sp, #0x10] str r0, [sp] ldr r0, _02182314 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x25 bl func_020313c8 ldr r0, _02182320 ; =data_027e0d38 mov r4, #6 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x29 moveq r4, #8 ldr r0, _02182324 ; =data_027e0c38 mov r2, r4 mov r1, #2 mov r3, #1 bl func_02033e70 add sp, sp, #0x74 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_02181ef8 _0218230c: .word 0x0000ffff _02182310: .word data_027e0d3c _02182314: .word data_02063e4c _02182318: .word data_02050f54 _0218231c: .word data_027e0d0c _02182320: .word data_027e0d38 _02182324: .word data_027e0c38 .global func_ov30_02182328 arm_func_start func_ov30_02182328 func_ov30_02182328: ; 0x02182328 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 beq _02182364 mov r0, r4 bl func_ov00_020c31c0 ldrb r1, [r4, #0xab7] mov r0, r4 bl func_ov00_020cc9c4 mov r0, #1 strb r0, [r4, #0x73c] ldmia sp!, {r4, pc} _02182364: ldrsh r2, [r4, #0x78] add r0, r4, #0x800 mov r1, #0 strh r2, [r0, #0x40] strb r1, [r4, #0x73c] ldmia sp!, {r4, pc} arm_func_end func_ov30_02182328 .global func_ov30_0218237c arm_func_start func_ov30_0218237c func_ov30_0218237c: ; 0x0218237c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrb r1, [r4, #0xab7] ldr r0, [r4, #0x434] bl func_020197fc add r0, r4, #0x430 bl func_ov30_0217cba0 add r1, sp, #0 add r0, r4, #0x450 bl func_ov30_0217c588 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 add r1, r4, #0x800 strh r0, [r1, #0x40] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov30_0218237c .global func_ov30_021823c4 arm_func_start func_ov30_021823c4 func_ov30_021823c4: ; 0x021823c4 ldrb r0, [r0, #0x21c] bx lr arm_func_end func_ov30_021823c4 .global func_ov30_021823cc arm_func_start func_ov30_021823cc func_ov30_021823cc: ; 0x021823cc strb r1, [r0, #0x21c] bx lr arm_func_end func_ov30_021823cc .global func_ov30_021823d4 arm_func_start func_ov30_021823d4 func_ov30_021823d4: ; 0x021823d4 ldr r0, [r0, #0x2a0] cmp r0, #0xc bne _021823e8 mov r0, #1 bx lr _021823e8: mov r0, #0 bx lr arm_func_end func_ov30_021823d4 .global func_ov30_021823f0 arm_func_start func_ov30_021823f0 func_ov30_021823f0: ; 0x021823f0 ldrb r0, [r0, #0x848] bx lr arm_func_end func_ov30_021823f0 .global func_ov30_021823f8 arm_func_start func_ov30_021823f8 func_ov30_021823f8: ; 0x021823f8 stmdb sp!, {r4, lr} mov r4, r0 ldrh r1, [r4, #0x24] cmp r1, #0 ble _02182424 ldr r0, _02182450 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02182424: ldrh r1, [r4, #0x26] cmp r1, #0 ble _02182448 ldr r0, _02182450 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} _02182448: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_021823f8 _02182450: .word data_027e0f74 .global func_ov30_02182454 arm_func_start func_ov30_02182454 func_ov30_02182454: ; 0x02182454 ldr r1, [r0, #0x2a0] cmp r1, #7 ldreq r0, [r0, #0x23c] ldreq r0, [r0, #8] cmpeq r0, #0xc moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_02182454 .global func_ov30_02182474 arm_func_start func_ov30_02182474 func_ov30_02182474: ; 0x02182474 stmdb sp!, {r3, r4, r5, lr} ldr r1, _021824bc ; =data_027e0f90 mov r5, r0 ldr r0, [r1] ldr r4, _021824c0 ; =data_027e0f94 ldr r1, [r0] ldr r1, [r1, #4] blx r1 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} str r4, [sp] ldrsh r1, [r5, #0x78] ldr r2, _021824c4 ; =0x00001b33 ldr r3, _021824c8 ; =0x00001555 add r0, r5, #0x48 bl func_ov00_020c54a0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02182474 _021824bc: .word data_027e0f90 _021824c0: .word data_027e0f94 _021824c4: .word 0x00001b33 _021824c8: .word 0x00001555 .global func_ov30_021824cc arm_func_start func_ov30_021824cc func_ov30_021824cc: ; 0x021824cc stmdb sp!, {r4, r5, lr} sub sp, sp, #0x94 mov r4, r0 bl func_ov30_02182b4c ldr r0, [r4, #0x86c] ldr r2, _02182624 ; =0x0000ffff add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 str r0, [r4, #0x86c] mov r1, #0 add r0, sp, #0x1c strh r2, [sp, #0x58] strh r2, [sp, #0x5a] strh r2, [sp, #0x5c] strh r2, [sp, #0x5e] strh r1, [sp, #0x60] strb r1, [sp, #0x82] strb r1, [sp, #0x83] strb r1, [sp, #0x84] strb r1, [sp, #0x85] strb r1, [sp, #0x8c] strb r1, [sp, #0x8d] strb r1, [sp, #0x8e] strb r1, [sp, #0x8f] strb r1, [sp, #0x90] strb r1, [sp, #0x91] bl func_ov30_0217c108 mov r3, #0 strb r3, [sp, #0x20] ldr r0, [r4, #0x86c] mov r1, #4 str r0, [sp] ldr r2, [r4, #8] add r0, sp, #0x1c str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, _02182628 ; =data_027e0e60 str r3, [sp, #0x10] add r2, r4, #0x860 ldr r0, [r0] add r1, sp, #0x34 mov r3, r2 bl func_01ffbf5c cmp r0, #0 ldrneb r0, [sp, #0x20] cmpne r0, #0 add r0, sp, #0x1c beq _021825a0 bl func_ov00_02081f4c add sp, sp, #0x94 mov r0, #1 ldmia sp!, {r4, r5, pc} _021825a0: bl func_ov00_02081f4c ldr r1, _0218262c ; =data_027e0fe4 ldr r2, _02182630 ; =0x424f4d42 ldr r1, [r1] add r0, sp, #0x14 add r3, r4, #0x860 bl func_ov00_020c38fc ldr r1, [sp, #0x14] mvn r0, #0 cmp r1, r0 beq _02182618 ldr r0, _0218262c ; =data_027e0fe4 add r1, sp, #0x14 ldr r0, [r0] bl func_ov00_020c3674 add r1, sp, #0x24 mov r5, r0 bl func_ov00_020c2a0c add r0, sp, #0x24 add r1, r4, #0x860 bl func_01ffec34 cmp r0, #0 beq _02182618 add r0, r4, #0x48 add r1, r5, #0x48 bl func_ov00_020c5464 cmp r0, #0 addne sp, sp, #0x94 movne r0, #1 ldmneia sp!, {r4, r5, pc} _02182618: mov r0, #0 add sp, sp, #0x94 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov30_021824cc _02182624: .word 0x0000ffff _02182628: .word data_027e0e60 _0218262c: .word data_027e0fe4 _02182630: .word 0x424f4d42 .global func_ov30_02182634 arm_func_start func_ov30_02182634 func_ov30_02182634: ; 0x02182634 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x19c mov r4, r0 bl func_ov30_02182b4c add r0, sp, #0x14 mov r1, r4 add r2, r4, #0x860 bl func_ov00_020c23d4 mov r2, #0 add r0, sp, #0x114 ldr r1, _02182ab4 ; =0x0000ffff strh r2, [r0, #0x54] strh r1, [r0, #0x4c] strh r1, [r0, #0x4e] strh r1, [r0, #0x50] strh r1, [r0, #0x52] strb r2, [sp, #0x18a] strb r2, [sp, #0x18b] strb r2, [sp, #0x18c] strb r2, [sp, #0x18d] strb r2, [sp, #0x194] strb r2, [sp, #0x195] strb r2, [sp, #0x196] strb r2, [sp, #0x197] strb r2, [sp, #0x198] strb r2, [sp, #0x199] ldr r1, [r4, #0x86c] mov r0, #2 str r1, [sp] str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] ldr r0, _02182ab8 ; =data_027e0e60 add r2, r4, #0x860 ldr r0, [r0] add r1, sp, #0x13c mov r3, r2 bl func_01ffbf5c mov r1, #0 add r0, sp, #0x128 mvn r2, #0 ldr r5, _02182abc ; =data_ov00_020e72f0 ldr r3, _02182ac0 ; =0x424f4d42 str r5, [sp, #0xf4] add r5, sp, #0x74 str r3, [sp, #0xf8] str r2, [sp, #0xfc] str r2, [sp, #0x100] str r1, [sp, #0x104] strb r1, [sp, #0x108] strb r1, [sp, #0x124] str r1, [r0, #0xc] str r1, [r0] str r1, [r0, #4] str r1, [r0, #8] add r0, sp, #0xf4 _0218271c: str r2, [r5] str r2, [r5, #4] add r5, r5, #8 cmp r5, r0 blo _0218271c ldr r0, _02182ac4 ; =data_027e0fe4 mov r3, #0 ldr r0, [r0] add r6, sp, #0x74 mov r5, #0x10 add r1, sp, #0xf4 add r2, sp, #0x68 str r3, [sp, #0x70] str r6, [sp, #0x68] str r5, [sp, #0x6c] bl func_ov00_020c37ec ldr r0, [sp, #0x70] mov r5, #0 cmp r0, #0 ble _021827d4 ldr r7, _02182ac4 ; =data_027e0fe4 mov r6, r5 add r8, sp, #0x58 _02182778: ldr r1, [sp, #0x68] ldr r0, [r7] add r1, r1, r6 bl func_ov00_020c3674 mov r1, r8 mov sb, r0 bl func_ov00_020c2a0c mov r1, r8 add r0, r4, #0x860 bl func_01ffec34 cmp r0, #0 beq _021827c0 mov r0, sb bl func_ov14_02122eb8 cmp r0, #0 beq _021827c0 mov r0, sb bl func_ov14_02122e98 _021827c0: ldr r0, [sp, #0x70] add r5, r5, #1 cmp r5, r0 add r6, r6, #8 blt _02182778 _021827d4: ldrh r0, [r4, #0x78] mov r1, #0 ldr r3, _02182ac8 ; =data_02050f54 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r0, [r3, r0] str r1, [sp, #0x50] str r2, [sp, #0x4c] str r0, [sp, #0x54] ldr r1, [r4, #4] ldr r0, _02182acc ; =0x43485334 add r2, sp, #0x4c cmp r1, r0 bne _02182960 mov r0, #1 str r0, [sp] ldrb r3, [r4, #0x124] mov r0, r4 add r1, r4, #0x860 bl func_ov00_020c1ef8 cmp r0, #0 addeq sp, sp, #0x19c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, _02182ad0 ; =data_ov30_021887e4 add r3, sp, #0x34 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] ldr r3, _02182ac8 ; =data_02050f54 ldr r0, [r4, #0x48] mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r2, r2, lsl #0x1 ldrsh r5, [r3, r2] mov r1, r1, lsl #0x1 str r0, [sp, #0x40] ldr ip, [r4, #0x4c] ldr r2, [sp, #0x3c] ldrsh r6, [r3, r1] smull r1, r3, r2, r5 adds lr, r1, #0x800 ldr r8, [sp, #0x34] ldr sb, [sp, #0x38] smull r1, r7, r2, r6 add r2, ip, sb str ip, [sp, #0x44] adc sb, r3, #0 ldr r3, [r4, #0x50] adds ip, r1, #0x800 mov r1, lr, lsr #0xc orr r1, r1, sb, lsl #20 add r1, r0, r1 str r2, [sp, #0x44] smull r4, r6, r8, r6 adc sb, r7, #0 adds r7, r4, #0x800 rsb r5, r5, #0 mov r0, ip, lsr #0xc orr r0, r0, sb, lsl #20 add r0, r3, r0 smull r5, r4, r8, r5 adc r6, r6, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 add r6, r1, r7 adds r5, r5, #0x800 adc r1, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r1, lsl #20 add r0, r0, r4 str r0, [sp, #0x48] str r6, [sp, #0x40] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182ad4 ; =data_027e0e58 ldr r1, _02182ad8 ; =0x000001c1 ldr r0, [r0] add r2, sp, #0x40 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182ad4 ; =data_027e0e58 ldr r1, _02182adc ; =0x000001c2 ldr r0, [r0] add r2, sp, #0x40 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x19c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02182960: mov r0, #0x1e str r0, [sp] ldrb r3, [r4, #0x124] mov r0, r4 add r1, r4, #0x860 bl func_ov30_02182ae4 cmp r0, #0 addeq sp, sp, #0x19c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, _02182ae0 ; =data_ov30_021887f0 add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr r3, _02182ac8 ; =data_02050f54 ldr r8, [sp, #0x24] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r5, [r3, r0] ldr ip, [sp, #0x1c] smull r0, r6, r8, r2 adds lr, r0, #0x800 rsb r3, r2, #0 ldr r1, [r4, #0x48] adc r6, r6, #0 mov lr, lr, lsr #0xc smull r2, r7, r8, r5 orr lr, lr, r6, lsl #20 str r1, [sp, #0x28] ldr sb, [r4, #0x4c] ldr r0, [sp, #0x20] smull r5, r6, ip, r5 adds r8, r2, #0x800 add r1, r1, lr adc lr, r7, #0 adds r7, r5, #0x800 str sb, [sp, #0x2c] smull r5, r3, ip, r3 adc r6, r6, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 ldr r2, [r4, #0x50] add r0, sb, r0 str r0, [sp, #0x2c] mov r0, r8, lsr #0xc orr r0, r0, lr, lsl #20 add r6, r1, r7 adds r5, r5, #0x800 adc r1, r3, #0 mov r3, r5, lsr #0xc add r0, r2, r0 orr r3, r3, r1, lsl #20 add r0, r0, r3 str r0, [sp, #0x30] str r6, [sp, #0x28] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182ad4 ; =data_027e0e58 ldr r1, _02182ad8 ; =0x000001c1 ldr r0, [r0] add r2, sp, #0x28 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182ad4 ; =data_027e0e58 ldr r1, _02182adc ; =0x000001c2 ldr r0, [r0] add r2, sp, #0x28 mov r3, #2 bl func_ov00_0207c1b0 add r0, r4, #0x220 mov r1, #0x11 mov r2, #0 bl func_ov00_020c51d0 mov r0, #1 add sp, sp, #0x19c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov30_02182634 _02182ab4: .word 0x0000ffff _02182ab8: .word data_027e0e60 _02182abc: .word data_ov00_020e72f0 _02182ac0: .word 0x424f4d42 _02182ac4: .word data_027e0fe4 _02182ac8: .word data_02050f54 _02182acc: .word 0x43485334 _02182ad0: .word data_ov30_021887e4 _02182ad4: .word data_027e0e58 _02182ad8: .word 0x000001c1 _02182adc: .word 0x000001c2 _02182ae0: .word data_ov30_021887f0 .global func_ov30_02182ae4 arm_func_start func_ov30_02182ae4 func_ov30_02182ae4: ; 0x02182ae4 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov00_020c1d58 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02182b44 ; =data_027e0f90 mov r1, r6 ldr r0, [r0] bl func_ov00_020a7c1c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02182b48 ; =data_027e0fc8 ldrsh r3, [sp, #0x10] ldr r0, [r0] mov r1, r4 ldr ip, [r0] mov r2, r5 ldr ip, [ip, #0x70] blx ip ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_02182ae4 _02182b44: .word data_027e0f90 _02182b48: .word data_027e0fc8 .global func_ov30_02182b4c arm_func_start func_ov30_02182b4c func_ov30_02182b4c: ; 0x02182b4c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldr r1, _02182c50 ; =data_ov30_021887fc mov r3, r0 add r4, sp, #0 ldmia r1, {r0, r1, r2} stmia r4, {r0, r1, r2} ldrh r1, [r3, #0x78] ldr r0, [r3, #0x48] ldr r4, _02182c54 ; =data_02050f54 str r0, [r3, #0x860] ldr r0, [r3, #0x4c] mov r1, r1, asr #0x4 str r0, [r3, #0x864] ldr r0, [r3, #0x50] mov r2, r1, lsl #0x1 str r0, [r3, #0x868] mov r1, r2, lsl #0x1 ldrsh r0, [r4, r1] add r1, r2, #1 mov r1, r1, lsl #0x1 ldr r5, [r3, #0x864] ldr r2, [sp, #4] ldrsh r4, [r4, r1] add r1, r5, r2 str r1, [r3, #0x864] ldr r6, [sp, #8] ldr r5, [r3, #0x860] smull r1, ip, r6, r0 adds lr, r1, #0x800 smull r2, r1, r6, r4 adc ip, ip, #0 adds r2, r2, #0x800 mov lr, lr, lsr #0xc orr lr, lr, ip, lsl #20 add r5, r5, lr str r5, [r3, #0x860] adc r1, r1, #0 mov r2, r2, lsr #0xc ldr ip, [r3, #0x868] orr r2, r2, r1, lsl #20 add r1, ip, r2 str r1, [r3, #0x868] ldr lr, [sp] rsb r0, r0, #0 smull r1, r2, lr, r4 adds ip, r1, #0x800 smull r1, r0, lr, r0 adc r2, r2, #0 adds r1, r1, #0x800 mov ip, ip, lsr #0xc ldr lr, [r3, #0x860] orr ip, ip, r2, lsl #20 add r2, lr, ip str r2, [r3, #0x860] adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [r3, #0x868] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r3, #0x868] mov r0, #0xc00 str r0, [r3, #0x86c] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_02182b4c _02182c50: .word data_ov30_021887fc _02182c54: .word data_02050f54 .global func_ov30_02182c58 arm_func_start func_ov30_02182c58 func_ov30_02182c58: ; 0x02182c58 ldr ip, _02182c64 ; =func_ov00_020cca68 add r1, r0, #0x14 bx ip .align 2, 0 arm_func_end func_ov30_02182c58 _02182c64: .word func_ov00_020cca68 .global func_ov30_02182c68 arm_func_start func_ov30_02182c68 func_ov30_02182c68: ; 0x02182c68 ldr ip, _02182c7c ; =func_ov00_020ce284 mov r2, r1 ldr r1, _02182c80 ; =0x0000019a add r0, r0, #0x48 bx ip .align 2, 0 arm_func_end func_ov30_02182c68 _02182c7c: .word func_ov00_020ce284 _02182c80: .word 0x0000019a .global func_ov30_02182c84 arm_func_start func_ov30_02182c84 func_ov30_02182c84: ; 0x02182c84 ldr ip, _02182c98 ; =func_ov00_020ce284 mov r2, r1 add r0, r0, #0x48 mov r1, #0x800 bx ip .align 2, 0 arm_func_end func_ov30_02182c84 _02182c98: .word func_ov00_020ce284 .global func_ov30_02182c9c arm_func_start func_ov30_02182c9c func_ov30_02182c9c: ; 0x02182c9c ldr ip, _02182cb0 ; =func_ov00_020ce284 mov r2, r1 add r0, r0, #0x48 mov r1, #0x400 bx ip .align 2, 0 arm_func_end func_ov30_02182c9c _02182cb0: .word func_ov00_020ce284 .global func_ov30_02182cb4 arm_func_start func_ov30_02182cb4 func_ov30_02182cb4: ; 0x02182cb4 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x110] cmp r0, #0 ldreqb r0, [r4, #0x112] cmpeq r0, #0 ldreqb r0, [r4, #0x113] cmpeq r0, #0 beq _02182d34 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 ldrsh r2, [r4, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02182d3c ; =0xffff8001 rsb r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _02182d24 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _02182d24: ldr r0, _02182d40 ; =0x00001555 cmp r2, r0 movlt r0, #1 ldmltia sp!, {r4, pc} _02182d34: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02182cb4 _02182d3c: .word 0xffff8001 _02182d40: .word 0x00001555 .global func_ov30_02182d44 arm_func_start func_ov30_02182d44 func_ov30_02182d44: ; 0x02182d44 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov30_02182cb4 cmp r0, #0 ldrneh r2, [r4, #0xde] ldrne r0, _02182da0 ; =0x0000ffff cmpne r2, r0 beq _02182d94 ldr r1, _02182da4 ; =data_027e0f6c add r0, sp, #0 ldr r1, [r1] bl func_ov00_02093a1c ldr r0, [sp] mov r0, r0, lsr #0x9 and r0, r0, #3 cmp r0, #1 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {r3, r4, pc} _02182d94: mov r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov30_02182d44 _02182da0: .word 0x0000ffff _02182da4: .word data_027e0f6c .global func_ov30_02182da8 arm_func_start func_ov30_02182da8 func_ov30_02182da8: ; 0x02182da8 mov r1, r0 add r0, r1, #0x4c ldr ip, _02182dbc ; =func_ov00_020cd010 add r0, r0, #0x800 bx ip .align 2, 0 arm_func_end func_ov30_02182da8 _02182dbc: .word func_ov00_020cd010 .global func_ov30_02182dc0 arm_func_start func_ov30_02182dc0 func_ov30_02182dc0: ; 0x02182dc0 ldr ip, _02182dd0 ; =func_ov00_020cd028 add r0, r0, #0x4c add r0, r0, #0x800 bx ip .align 2, 0 arm_func_end func_ov30_02182dc0 _02182dd0: .word func_ov00_020cd028 .global func_ov30_02182dd4 arm_func_start func_ov30_02182dd4 func_ov30_02182dd4: ; 0x02182dd4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c2974 add r3, r4, #0x4c mov r1, r0 ldr r2, _02182df8 ; =0x00001388 add r0, r3, #0x800 bl func_ov00_020cd060 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02182dd4 _02182df8: .word 0x00001388 .global func_ov30_02182dfc arm_func_start func_ov30_02182dfc func_ov30_02182dfc: ; 0x02182dfc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c2938 mov r1, r0 mov r0, r4 bl func_ov30_02182e34 ldmia sp!, {r4, pc} arm_func_end func_ov30_02182dfc .global func_ov30_02182e18 arm_func_start func_ov30_02182e18 func_ov30_02182e18: ; 0x02182e18 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c2938 mov r1, r0 mov r0, r4 bl func_ov30_02182e50 ldmia sp!, {r4, pc} arm_func_end func_ov30_02182e18 .global func_ov30_02182e34 arm_func_start func_ov30_02182e34 func_ov30_02182e34: ; 0x02182e34 ldr ip, _02182e48 ; =func_ov00_020cd060 add r0, r0, #0x4c ldr r2, _02182e4c ; =0x00001388 add r0, r0, #0x800 bx ip .align 2, 0 arm_func_end func_ov30_02182e34 _02182e48: .word func_ov00_020cd060 _02182e4c: .word 0x00001388 .global func_ov30_02182e50 arm_func_start func_ov30_02182e50 func_ov30_02182e50: ; 0x02182e50 ldrsh r0, [r0, #0x78] ldr r2, _02182e94 ; =0xffff8001 sub r0, r0, r1 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r2, r0, asr #16 movgt r1, r2, lsr #0x11 bgt _02182e80 cmp r1, #0 rsblt r0, r1, #0 movlt r0, r0, lsl #0x10 movlt r1, r0, asr #0x10 _02182e80: ldr r0, _02182e98 ; =0x0000038e cmp r1, r0 movlt r0, #1 movge r0, #0 bx lr .align 2, 0 arm_func_end func_ov30_02182e50 _02182e94: .word 0xffff8001 _02182e98: .word 0x0000038e .global func_ov30_02182e9c arm_func_start func_ov30_02182e9c func_ov30_02182e9c: ; 0x02182e9c ldr ip, _02182ea4 ; =func_ov00_020cb1e8 bx ip .align 2, 0 arm_func_end func_ov30_02182e9c _02182ea4: .word func_ov00_020cb1e8 .global func_ov30_02182ea8 arm_func_start func_ov30_02182ea8 func_ov30_02182ea8: ; 0x02182ea8 ldr ip, _02182eb0 ; =func_ov00_020cb240 bx ip .align 2, 0 arm_func_end func_ov30_02182ea8 _02182eb0: .word func_ov00_020cb240 .global func_ov30_02182eb4 arm_func_start func_ov30_02182eb4 func_ov30_02182eb4: ; 0x02182eb4 ldr ip, _02182ec8 ; =func_ov00_020cd0a8 mov r1, r0 add r0, r1, #0x850 add r2, r1, #0x48 bx ip .align 2, 0 arm_func_end func_ov30_02182eb4 _02182ec8: .word func_ov00_020cd0a8 .global func_ov30_02182ecc arm_func_start func_ov30_02182ecc func_ov30_02182ecc: ; 0x02182ecc stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r1, r2 mov r5, r0 bl func_ov30_02183968 mov r2, r0 ldr r3, _02182ef8 ; =0x00001388 mov r1, r4 add r0, r5, #0x850 bl func_ov00_020cd120 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02182ecc _02182ef8: .word 0x00001388 .global func_ov30_02182efc arm_func_start func_ov30_02182efc func_ov30_02182efc: ; 0x02182efc ldr ip, _02182f08 ; =func_ov00_020cd14c add r0, r0, #0x850 bx ip .align 2, 0 arm_func_end func_ov30_02182efc _02182f08: .word func_ov00_020cd14c .global func_ov30_02182f0c arm_func_start func_ov30_02182f0c func_ov30_02182f0c: ; 0x02182f0c stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr r2, _02182f78 ; =0x00001388 mov r5, r0 str r2, [sp] add r0, r5, #0x60 str r0, [sp, #4] add r0, r5, #0x78 str r0, [sp, #8] ldrsh r3, [r5, #0x78] ldr r2, _02182f7c ; =0x0000019a add r0, r5, #0x48 bl func_ov00_020c64d8 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 ldrh r4, [r5, #0x9c] mov r1, #0 mov r0, r5 strh r1, [r5, #0x9c] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 strh r4, [r5, #0x9c] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02182f0c _02182f78: .word 0x00001388 _02182f7c: .word 0x0000019a .global func_ov30_02182f80 arm_func_start func_ov30_02182f80 func_ov30_02182f80: ; 0x02182f80 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 bl func_ov30_02183018 ldr r0, [r4, #4] add r1, r4, #0x48 bl func_ov00_020c87f8 mov r0, r4 mov r1, #0 bl func_ov30_021823cc mov r0, r4 bl func_ov00_020c3180 ldmia sp!, {r4, pc} arm_func_end func_ov30_02182f80 .global func_ov30_02182fb4 arm_func_start func_ov30_02182fb4 func_ov30_02182fb4: ; 0x02182fb4 ldr r1, _02182fd4 ; =data_027e1038 mov r2, r0 ldr r0, [r1] ldr ip, _02182fd8 ; =func_ov00_020cef28 add r1, r2, #0x48 add r3, r2, #0x870 mov r2, #0x7800 bx ip .align 2, 0 arm_func_end func_ov30_02182fb4 _02182fd4: .word data_027e1038 _02182fd8: .word func_ov00_020cef28 .global func_ov30_02182fdc arm_func_start func_ov30_02182fdc func_ov30_02182fdc: ; 0x02182fdc ldr r0, [r0, #0x2a0] cmp r0, #6 cmpne r0, #7 bne _02182ff4 mov r0, #1 bx lr _02182ff4: mov r0, #0 bx lr arm_func_end func_ov30_02182fdc .global func_ov30_02182ffc arm_func_start func_ov30_02182ffc func_ov30_02182ffc: ; 0x02182ffc ldr r0, [r0, #0x2a0] cmp r0, #9 bne _02183010 mov r0, #1 bx lr _02183010: mov r0, #0 bx lr arm_func_end func_ov30_02182ffc .global func_ov30_02183018 arm_func_start func_ov30_02183018 func_ov30_02183018: ; 0x02183018 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 mov r5, r0 ldr r0, [r5, #0x880] mov r4, r1 cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x48 add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r1, sp, #0x38 add r0, r5, #0x1e4 bl func_ov00_020c5330 add r0, sp, #0x38 ldr r2, [sp, #0x3c] mov r1, r0 str r2, [sp, #0x48] bl func_ov00_020c522c mvn r1, #0 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 ldr r0, [r5, #8] str r0, [sp, #0x28] ldr r0, [r5, #0xc] str r0, [sp, #0x2c] ldr r0, [r5, #0x880] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02183208 _021830b0: ; jump table b _02183208 ; case 0 b _02183118 ; case 1 b _02183178 ; case 2 b _02183178 ; case 3 b _02183178 ; case 4 b _021830c8 ; case 5 _021830c8: mov r0, #1 strh r0, [sp, #0xc] add r1, sp, #4 str r1, [sp] ldr r0, _02183218 ; =data_027e0fe8 ldr r1, _0218321c ; =0x4e4b4559 ldr r0, [r0] add r2, sp, #0x44 add r3, sp, #0xc bl func_ov00_020c4048 ldr r0, _02183220 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _02183208 add r1, sp, #0x38 mov r2, r4 bl func_ov17_02160fa4 b _02183208 _02183118: mov r0, #1 str r0, [sp, #0x30] add r1, sp, #4 str r4, [sp, #0x34] str r1, [sp] ldr r0, _02183218 ; =data_027e0fe8 ldr r1, _02183224 ; =0x464f5243 ldr r0, [r0] add r2, sp, #0x44 add r3, sp, #0xc bl func_ov00_020c4048 ldr r0, _02183220 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _02183208 ldr r1, [sp, #0x38] str r1, [r0, #0x158] ldr r1, [sp, #0x3c] str r1, [r0, #0x15c] ldr r1, [sp, #0x40] str r1, [r0, #0x160] b _02183208 _02183178: mov r1, #1 str r1, [sp, #0x30] str r4, [sp, #0x34] ldr r0, [r5, #0x880] cmp r0, #2 beq _021831b0 cmp r0, #3 beq _021831a4 cmp r0, #4 streqh r1, [sp, #0xe] b _021831b8 _021831a4: mov r0, #0 strh r0, [sp, #0xe] b _021831b8 _021831b0: mov r0, #2 strh r0, [sp, #0xe] _021831b8: add r1, sp, #4 str r1, [sp] ldr r0, _02183218 ; =data_027e0fe8 ldr r1, _02183228 ; =0x43525953 ldr r0, [r0] add r2, sp, #0x44 add r3, sp, #0xc bl func_ov00_020c4048 ldr r0, _02183220 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _02183208 ldr r1, [sp, #0x38] str r1, [r0, #0x158] ldr r1, [sp, #0x3c] str r1, [r0, #0x15c] ldr r1, [sp, #0x40] str r1, [r0, #0x160] _02183208: mov r0, #0 str r0, [r5, #0x880] add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02183018 _02183218: .word data_027e0fe8 _0218321c: .word 0x4e4b4559 _02183220: .word data_027e0fe4 _02183224: .word 0x464f5243 _02183228: .word 0x43525953 .global func_ov30_0218322c arm_func_start func_ov30_0218322c func_ov30_0218322c: ; 0x0218322c stmdb sp!, {r4, lr} sub sp, sp, #0x38 mov r4, r0 ldr r0, [r4, #0x880] cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, pc} mvn r1, #0 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 ldr r0, [r4, #8] str r0, [sp, #0x28] ldr r0, [r4, #0xc] str r0, [sp, #0x2c] ldr r0, [r4, #0x880] cmp r0, #5 addls pc, pc, r0, lsl #2 b _021833c8 _02183290: ; jump table b _021833c8 ; case 0 b _021832f0 ; case 1 b _02183344 ; case 2 b _02183344 ; case 3 b _02183344 ; case 4 b _021832a8 ; case 5 _021832a8: mov r0, #1 strh r0, [sp, #0xc] add r1, sp, #4 str r1, [sp] ldr r0, _021833d8 ; =data_027e0fe8 ldr r1, _021833dc ; =0x4e4b4559 ldr r0, [r0] add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 ldr r0, _021833e0 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _021833c8 bl func_ov17_02160974 b _021833c8 _021832f0: mov r0, #1 str r0, [sp, #0x30] add r1, sp, #4 str r1, [sp] ldr r0, _021833d8 ; =data_027e0fe8 ldr r1, _021833e4 ; =0x464f5243 ldr r0, [r0] add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 ldr r0, _021833e0 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _021833c8 mov r2, #0 mov r1, #5 strb r2, [r0, #0x182] bl func_ov17_0215e9ec b _021833c8 _02183344: mov r1, #1 str r1, [sp, #0x30] ldr r0, [r4, #0x880] cmp r0, #2 beq _02183378 cmp r0, #3 beq _0218336c cmp r0, #4 streqh r1, [sp, #0xe] b _02183380 _0218336c: mov r0, #0 strh r0, [sp, #0xe] b _02183380 _02183378: mov r0, #2 strh r0, [sp, #0xe] _02183380: add r1, sp, #4 str r1, [sp] ldr r0, _021833d8 ; =data_027e0fe8 ldr r1, _021833e8 ; =0x43525953 ldr r0, [r0] add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 ldr r0, _021833e0 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _021833c8 mov r2, #0 mov r1, #3 strb r2, [r0, #0x182] bl func_ov17_0215f2e4 _021833c8: mov r0, #0 str r0, [r4, #0x880] add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0218322c _021833d8: .word data_027e0fe8 _021833dc: .word 0x4e4b4559 _021833e0: .word data_027e0fe4 _021833e4: .word 0x464f5243 _021833e8: .word 0x43525953 .global func_ov30_021833ec arm_func_start func_ov30_021833ec func_ov30_021833ec: ; 0x021833ec stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x2bc mov r4, r0 ldr r1, [r4, #4] ldr r0, _02183800 ; =0x43485334 cmp r1, r0 addeq sp, sp, #0x2bc moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} add r0, r0, #0x1e cmp r1, r0 addeq sp, sp, #0x2bc moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, [r4, #0x880] cmp r0, #0 beq _02183448 mvn r0, #0 str r0, [r4, #0x884] str r0, [r4, #0x888] add sp, sp, #0x2bc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02183448: ldr r3, _02183804 ; =data_ov00_020e72f0 mvn r5, #0 mov r6, #0 add r1, sp, #0x2a8 ldr r2, _02183808 ; =0x464f5243 add r7, sp, #0x1f4 mov r0, #0x10 str r0, [sp, #0x1ec] str r5, [sp] str r5, [sp, #4] str r5, [sp, #8] str r5, [sp, #0xc] str r5, [sp, #0x10] str r5, [sp, #0x14] str r5, [sp, #0x18] str r5, [sp, #0x1c] str r5, [sp, #0x20] str r5, [sp, #0x24] str r5, [sp, #0x28] str r5, [sp, #0x2c] str r5, [sp, #0x30] str r5, [sp, #0x34] str r5, [sp, #0x38] str r5, [sp, #0x3c] str r3, [sp, #0x274] str r2, [sp, #0x278] str r5, [sp, #0x27c] str r5, [sp, #0x280] str r6, [sp, #0x284] strb r6, [sp, #0x288] strb r6, [sp, #0x2a4] str r6, [r1, #0xc] str r6, [r1] str r6, [r1, #4] str r6, [r1, #8] str r7, [sp, #0x1e8] str r6, [sp, #0x1f0] add r0, sp, #0x274 _021834e0: str r5, [r7] str r5, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _021834e0 ldr r0, _0218380c ; =data_027e0fe4 add r1, sp, #0x274 ldr r0, [r0] add r2, sp, #0x1e8 bl func_ov00_020c37ec ldr r0, [sp, #0x1f0] mov r7, #0 cmp r0, #0 ble _0218358c ldr sb, _0218380c ; =data_027e0fe4 mov r8, r7 add r5, sp, #0 _02183524: ldr r1, [sp, #0x1e8] ldr r0, [sb] add r1, r1, r8 bl func_ov00_020c3674 cmp r0, #0 beq _02183578 ldrb r1, [r0, #0x11b] cmp r1, #0 bne _02183578 add r0, r0, #0x48 bl func_ov00_020c5288 cmp r0, #0 bne _02183578 ldr r2, [sp, #0x1e8] add r0, r5, r6, lsl #3 ldr r1, [r2, r8] add r2, r2, r8 str r1, [r5, r6, lsl #3] ldr r1, [r2, #4] add r6, r6, #1 str r1, [r0, #4] _02183578: ldr r0, [sp, #0x1f0] add r7, r7, #1 cmp r7, r0 add r8, r8, #8 blt _02183524 _0218358c: ldr r7, _02183804 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x1d4 mvn r3, #0 ldr r5, _02183810 ; =0x43525953 add r8, sp, #0x120 mov r0, #0x10 str r0, [sp, #0x118] str r7, [sp, #0x1a0] str r5, [sp, #0x1a4] str r3, [sp, #0x1a8] str r3, [sp, #0x1ac] str r2, [sp, #0x1b0] strb r2, [sp, #0x1b4] strb r2, [sp, #0x1d0] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r8, [sp, #0x114] str r2, [sp, #0x11c] add r0, sp, #0x1a0 _021835e4: str r3, [r8] str r3, [r8, #4] add r8, r8, #8 cmp r8, r0 blo _021835e4 ldr r0, _0218380c ; =data_027e0fe4 add r1, sp, #0x1a0 ldr r0, [r0] add r2, sp, #0x114 bl func_ov00_020c37ec ldr r0, [sp, #0x11c] mov r7, #0 cmp r0, #0 ble _02183690 ldr sb, _0218380c ; =data_027e0fe4 mov r8, r7 add r5, sp, #0 _02183628: ldr r1, [sp, #0x114] ldr r0, [sb] add r1, r1, r8 bl func_ov00_020c3674 cmp r0, #0 beq _0218367c ldrb r1, [r0, #0x11b] cmp r1, #0 bne _0218367c add r0, r0, #0x48 bl func_ov00_020c5288 cmp r0, #0 bne _0218367c ldr r2, [sp, #0x114] add r0, r5, r6, lsl #3 ldr r1, [r2, r8] add r2, r2, r8 str r1, [r5, r6, lsl #3] ldr r1, [r2, #4] add r6, r6, #1 str r1, [r0, #4] _0218367c: ldr r0, [sp, #0x11c] add r7, r7, #1 cmp r7, r0 add r8, r8, #8 blt _02183628 _02183690: ldr r7, _02183804 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x100 mvn r3, #0 ldr r5, _02183814 ; =0x4e4b4559 add r8, sp, #0x4c mov r0, #0x10 str r0, [sp, #0x44] str r7, [sp, #0xcc] str r5, [sp, #0xd0] str r3, [sp, #0xd4] str r3, [sp, #0xd8] str r2, [sp, #0xdc] strb r2, [sp, #0xe0] strb r2, [sp, #0xfc] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r8, [sp, #0x40] str r2, [sp, #0x48] add r0, sp, #0xcc _021836e8: str r3, [r8] str r3, [r8, #4] add r8, r8, #8 cmp r8, r0 blo _021836e8 ldr r0, _0218380c ; =data_027e0fe4 add r1, sp, #0xcc ldr r0, [r0] add r2, sp, #0x40 bl func_ov00_020c37ec ldr r0, [sp, #0x48] mov r7, #0 cmp r0, #0 ble _02183788 ldr sb, _0218380c ; =data_027e0fe4 mov r8, r7 add r5, sp, #0 _0218372c: ldr r1, [sp, #0x40] ldr r0, [sb] add r1, r1, r8 bl func_ov00_020c3674 cmp r0, #0 beq _02183774 add r0, r0, #0x48 bl func_ov00_020c5288 cmp r0, #0 bne _02183774 ldr r2, [sp, #0x40] add r0, r5, r6, lsl #3 ldr r1, [r2, r8] add r2, r2, r8 str r1, [r5, r6, lsl #3] ldr r1, [r2, #4] add r6, r6, #1 str r1, [r0, #4] _02183774: ldr r0, [sp, #0x48] add r7, r7, #1 cmp r7, r0 add r8, r8, #8 blt _0218372c _02183788: cmp r6, #0 mov r5, #0 ble _021837f4 ldr r7, _0218380c ; =data_027e0fe4 add r8, sp, #0 _0218379c: ldr r0, [r7] mov r1, r8 bl func_ov00_020c3674 mov r1, r0 mov r0, r4 add r1, r1, #0x48 bl func_ov30_0217d4e8 cmp r0, #0 beq _021837e4 add r0, sp, #0 ldr r2, [r0, r5, lsl #3] add r1, sp, #4 str r2, [r4, #0x884] ldr r1, [r1, r5, lsl #3] add sp, sp, #0x2bc mov r0, #1 str r1, [r4, #0x888] ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021837e4: add r5, r5, #1 cmp r5, r6 add r8, r8, #8 blt _0218379c _021837f4: mov r0, #0 add sp, sp, #0x2bc ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov30_021833ec _02183800: .word 0x43485334 _02183804: .word data_ov00_020e72f0 _02183808: .word 0x464f5243 _0218380c: .word data_027e0fe4 _02183810: .word 0x43525953 _02183814: .word 0x4e4b4559 .global func_ov30_02183818 arm_func_start func_ov30_02183818 func_ov30_02183818: ; 0x02183818 stmdb sp!, {r4, r5, r6, lr} ldr r2, _021838f4 ; =data_027e0fe4 mov r5, r0 add r1, r5, #0x84 ldr r0, [r2] add r1, r1, #0x800 bl func_ov00_020c3674 movs r4, r0 beq _021838ec ldr r6, [r5, #0x98] add r0, r5, #0x48 add r1, r4, #0x48 bl func_01ff9ec0 cmp r0, r6 bge _021838ec ldr r1, [r4, #4] ldr r0, _021838f8 ; =0x4e4b4559 cmp r1, r0 bne _02183878 mov r1, #5 mov r0, r4 str r1, [r5, #0x880] bl func_ov17_02160954 b _021838e4 _02183878: ldr r0, _021838fc ; =0x464f5243 cmp r1, r0 bne _02183898 mov r1, #1 mov r0, r4 str r1, [r5, #0x880] bl func_ov00_020c3180 b _021838e4 _02183898: ldr r0, _02183900 ; =0x43525953 cmp r1, r0 bne _021838e4 ldrh r0, [r4, #0x22] cmp r0, #0 beq _021838c8 cmp r0, #1 beq _021838d4 cmp r0, #2 moveq r0, #2 streq r0, [r5, #0x880] b _021838dc _021838c8: mov r0, #3 str r0, [r5, #0x880] b _021838dc _021838d4: mov r0, #4 str r0, [r5, #0x880] _021838dc: mov r0, r4 bl func_ov00_020c3180 _021838e4: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021838ec: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov30_02183818 _021838f4: .word data_027e0fe4 _021838f8: .word 0x4e4b4559 _021838fc: .word 0x464f5243 _02183900: .word 0x43525953 .global func_ov30_02183904 arm_func_start func_ov30_02183904 func_ov30_02183904: ; 0x02183904 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02183964 ; =data_027e0fe4 add r2, r0, #0x84 ldr r0, [r3] mov r5, r1 add r1, r2, #0x800 bl func_ov00_020c3674 movs r4, r0 beq _0218395c add r0, r4, #0x48 bl func_ov00_020c5288 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x48] mov r0, #1 str r1, [r5] ldr r1, [r4, #0x4c] str r1, [r5, #4] ldr r1, [r4, #0x50] str r1, [r5, #8] ldmia sp!, {r3, r4, r5, pc} _0218395c: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02183904 _02183964: .word data_027e0fe4 .global func_ov30_02183968 arm_func_start func_ov30_02183968 func_ov30_02183968: ; 0x02183968 ldr r3, [r0, #4] ldr r2, _02183a68 ; =0x43485332 cmp r3, r2 bne _021839ac cmp r1, #0 beq _02183994 cmp r1, #1 beq _0218399c cmp r1, #2 beq _021839a4 b _02183a60 _02183994: mov r0, #0xf6 bx lr _0218399c: ldr r0, _02183a6c ; =0x00000171 bx lr _021839a4: ldr r0, _02183a70 ; =0x00000266 bx lr _021839ac: add r0, r2, #4 cmp r3, r0 bne _021839ec cmp r1, #0 beq _021839d4 cmp r1, #1 beq _021839dc cmp r1, #2 beq _021839e4 b _02183a60 _021839d4: mov r0, #0xa4 bx lr _021839dc: mov r0, #0xf6 bx lr _021839e4: ldr r0, _02183a74 ; =0x0000019a bx lr _021839ec: add r0, r2, #2 cmp r3, r0 bne _02183a2c cmp r1, #0 beq _02183a14 cmp r1, #1 beq _02183a1c cmp r1, #2 beq _02183a24 b _02183a60 _02183a14: mov r0, #0xa4 bx lr _02183a1c: ldr r0, _02183a6c ; =0x00000171 bx lr _02183a24: ldr r0, _02183a70 ; =0x00000266 bx lr _02183a2c: cmp r1, #0 beq _02183a48 cmp r1, #1 beq _02183a50 cmp r1, #2 beq _02183a58 b _02183a60 _02183a48: mov r0, #0xa4 bx lr _02183a50: mov r0, #0xf6 bx lr _02183a58: ldr r0, _02183a74 ; =0x0000019a bx lr _02183a60: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov30_02183968 _02183a68: .word 0x43485332 _02183a6c: .word 0x00000171 _02183a70: .word 0x00000266 _02183a74: .word 0x0000019a .global func_ov30_02183a78 arm_func_start func_ov30_02183a78 func_ov30_02183a78: ; 0x02183a78 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xa8 ldr r3, _02183b84 ; =data_ov30_02188b08 mov r2, #0 add r4, sp, #0x28 mov r1, #0x10 mov r6, r0 str r3, [sp, #4] str r2, [sp, #8] str r4, [sp, #0x1c] str r1, [sp, #0x20] str r2, [sp, #0x24] mvn r5, #0 add r0, sp, #0xa8 _02183ab0: str r5, [r4] str r5, [r4, #4] add r4, r4, #8 cmp r4, r0 blo _02183ab0 ldr r1, [r6, #8] ldr r0, _02183b88 ; =data_027e0fe4 str r1, [sp, #0xc] ldr r4, [r6, #0xc] add r3, sp, #0xc ldr r0, [r0] add r1, sp, #4 add r2, sp, #0x1c str r4, [sp, #0x10] str r5, [sp, #0x14] str r5, [sp, #0x18] str r3, [sp, #8] bl func_ov00_020c37ec cmp r0, #0 ldrgt r0, [sp, #0x24] movgt r4, #0 cmpgt r0, #0 ble _02183b78 ldr r8, _02183b8c ; =0x00002aaa ldr r7, _02183b88 ; =data_027e0fe4 mov r5, r4 mov sb, #0x2800 _02183b1c: ldr r1, [sp, #0x1c] ldr r0, [r7] add r1, r1, r5 bl func_ov00_020c3674 ldrb r1, [r0, #0x11a] add r0, r0, #0x48 cmp r1, #0 beq _02183b64 str r0, [sp] ldrsh r1, [r6, #0x78] mov r2, sb mov r3, r8 add r0, r6, #0x48 bl func_ov00_020c54a0 cmp r0, #0 addne sp, sp, #0xa8 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02183b64: ldr r0, [sp, #0x24] add r4, r4, #1 cmp r4, r0 add r5, r5, #8 blt _02183b1c _02183b78: mov r0, #0 add sp, sp, #0xa8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov30_02183a78 _02183b84: .word data_ov30_02188b08 _02183b88: .word data_027e0fe4 _02183b8c: .word 0x00002aaa .global func_ov30_02183b90 arm_func_start func_ov30_02183b90 func_ov30_02183b90: ; 0x02183b90 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0xa8 ldr r3, _02183c9c ; =data_ov30_02188b08 mov r2, #0 add r4, sp, #0x28 mov r1, #0x10 mov r6, r0 str r3, [sp, #4] str r2, [sp, #8] str r4, [sp, #0x1c] str r1, [sp, #0x20] str r2, [sp, #0x24] mvn r5, #0 add r0, sp, #0xa8 _02183bc8: str r5, [r4] str r5, [r4, #4] add r4, r4, #8 cmp r4, r0 blo _02183bc8 ldr r1, [r6, #8] ldr r0, _02183ca0 ; =data_027e0fe4 str r1, [sp, #0xc] ldr r4, [r6, #0xc] add r3, sp, #0xc ldr r0, [r0] add r1, sp, #4 add r2, sp, #0x1c str r4, [sp, #0x10] str r5, [sp, #0x14] str r5, [sp, #0x18] str r3, [sp, #8] bl func_ov00_020c37ec cmp r0, #0 ldrgt r0, [sp, #0x24] movgt r4, #0 cmpgt r0, #0 ble _02183c90 ldr r8, _02183ca4 ; =0x00002aaa ldr r7, _02183ca0 ; =data_027e0fe4 mov r5, r4 mov sb, #0x2800 _02183c34: ldr r1, [sp, #0x1c] ldr r0, [r7] add r1, r1, r5 bl func_ov00_020c3674 add sl, r0, #0x48 bl func_ov30_02182454 cmp r0, #0 beq _02183c7c str sl, [sp] ldrsh r1, [r6, #0x78] mov r2, sb mov r3, r8 add r0, r6, #0x48 bl func_ov00_020c54a0 cmp r0, #0 addne sp, sp, #0xa8 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02183c7c: ldr r0, [sp, #0x24] add r4, r4, #1 cmp r4, r0 add r5, r5, #8 blt _02183c34 _02183c90: mov r0, #0 add sp, sp, #0xa8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov30_02183b90 _02183c9c: .word data_ov30_02188b08 _02183ca0: .word data_027e0fe4 _02183ca4: .word 0x00002aaa .global func_ov30_02183ca8 arm_func_start func_ov30_02183ca8 func_ov30_02183ca8: ; 0x02183ca8 stmdb sp!, {r3, r4, r5, r7, lr} sub sp, sp, #0x3c ldr r2, _02183d78 ; =data_ov30_021894a0 mov r7, r1 ldr r2, [r2, #0x8c] ldr r1, [r0] ldr r4, [r2, #0x98] ldr r2, _02183d7c ; =data_027e0e60 str r1, [sp, #0x30] ldr r3, [r0, #4] add r1, sp, #0x30 str r3, [sp, #0x34] ldr r3, [r0, #8] ldr r0, [r2] str r3, [sp, #0x38] mov r2, #1 bl func_ov00_02083ee0 ldr r2, [r7] ldr r1, _02183d7c ; =data_027e0e60 str r2, [sp, #0x24] ldr r2, [r7, #4] add r5, r4, r0 str r2, [sp, #0x28] ldr r2, [r7, #8] ldr r0, [r1] str r2, [sp, #0x2c] add r1, sp, #0x24 mov r2, #1 bl func_ov00_02083ee0 ldr r1, _02183d78 ; =data_ov30_021894a0 add r0, r4, r0 str r0, [sp, #0x10] ldr r2, [r1, #0x8c] str r6, [sp, #0x18] str r5, [sp, #0x1c] str r6, [sp, #0x20] str r6, [sp, #0xc] str r6, [sp, #0x14] ldr r1, [r2, #8] mov r0, #0xc str r1, [sp] str r0, [sp, #4] ldr r1, [r2, #0xa0] ldr r0, _02183d7c ; =data_027e0e60 str r1, [sp, #8] ldr r0, [r0] add r1, sp, #0x18 add r2, sp, #0xc mov r3, r4 bl func_01ffe1cc add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r7, pc} .align 2, 0 arm_func_end func_ov30_02183ca8 _02183d78: .word data_ov30_021894a0 _02183d7c: .word data_027e0e60 .global func_ov30_02183d80 arm_func_start func_ov30_02183d80 func_ov30_02183d80: ; 0x02183d80 stmdb sp!, {r3, lr} ldr r3, _02183dac ; =data_ov30_021894a0 ldr r2, _02183db0 ; =data_027e0ff0 str r0, [r3, #0x8c] ldr r0, [r2] ldr r2, _02183db4 ; =func_ov30_02183ca8 bl func_ov00_020c4898 ldr r0, _02183dac ; =data_ov30_021894a0 mov r1, #0 str r1, [r0, #0x8c] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_02183d80 _02183dac: .word data_ov30_021894a0 _02183db0: .word data_027e0ff0 _02183db4: .word func_ov30_02183ca8 .global func_ov30_02183db8 arm_func_start func_ov30_02183db8 func_ov30_02183db8: ; 0x02183db8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov30_021823f8 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0x2a] cmp r0, #0 beq _02183df4 mov r0, r4 mov r1, #0 bl func_ov00_020c1bfc cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02183df4: ldr r1, [r4, #4] ldr r0, _02183e28 ; =0x43485334 cmp r1, r0 bne _02183e20 ldr r0, _02183e2c ; =data_027e0f74 mov r1, #0x35 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} _02183e20: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_02183db8 _02183e28: .word 0x43485334 _02183e2c: .word data_027e0f74 .global func_ov30_02183e30 arm_func_start func_ov30_02183e30 func_ov30_02183e30: ; 0x02183e30 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x2b] cmp r1, #0 ldmeqia sp!, {r3, pc} mov r1, #1 mov r2, r1 bl func_ov00_020c1c20 ldmia sp!, {r3, pc} arm_func_end func_ov30_02183e30 .global func_ov30_02183e50 arm_func_start func_ov30_02183e50 func_ov30_02183e50: ; 0x02183e50 cmp r1, #0 moveq r1, #0 streqb r1, [r0, #0x11a] streq r1, [r0, #0x12c] bxeq lr mov r1, #1 strb r1, [r0, #0x11a] mov r1, #2 str r1, [r0, #0x12c] bx lr arm_func_end func_ov30_02183e50 .global func_ov30_02183e78 arm_func_start func_ov30_02183e78 func_ov30_02183e78: ; 0x02183e78 add r0, r0, #0xa00 ldrsh r0, [r0, #0xb4] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_02183e78 .global func_ov30_02183e90 arm_func_start func_ov30_02183e90 func_ov30_02183e90: ; 0x02183e90 add r0, r0, #0xa00 mov r1, #0 strh r1, [r0, #0xb4] bx lr arm_func_end func_ov30_02183e90 .global func_ov30_02183ea0 arm_func_start func_ov30_02183ea0 func_ov30_02183ea0: ; 0x02183ea0 add r0, r0, #0xa00 ldrsh r1, [r0, #0xb4] cmp r1, #0 subgt r1, r1, #1 strgth r1, [r0, #0xb4] bx lr arm_func_end func_ov30_02183ea0 .global func_ov30_02183eb8 arm_func_start func_ov30_02183eb8 func_ov30_02183eb8: ; 0x02183eb8 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183eb8 .global func_ov30_02183ed4 arm_func_start func_ov30_02183ed4 func_ov30_02183ed4: ; 0x02183ed4 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183ed4 .global func_ov30_02183ee8 arm_func_start func_ov30_02183ee8 func_ov30_02183ee8: ; 0x02183ee8 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183ee8 .global func_ov30_02183f04 arm_func_start func_ov30_02183f04 func_ov30_02183f04: ; 0x02183f04 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183f04 .global func_ov30_02183f18 arm_func_start func_ov30_02183f18 func_ov30_02183f18: ; 0x02183f18 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183f18 .global func_ov30_02183f34 arm_func_start func_ov30_02183f34 func_ov30_02183f34: ; 0x02183f34 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183f34 .global func_ov30_02183f48 arm_func_start func_ov30_02183f48 func_ov30_02183f48: ; 0x02183f48 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183f48 .global func_ov30_02183f64 arm_func_start func_ov30_02183f64 func_ov30_02183f64: ; 0x02183f64 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov30_02180d34 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02183f64 .global func_ov30_02183f78 arm_func_start func_ov30_02183f78 func_ov30_02183f78: ; 0x02183f78 mov r1, #0x96 str r1, [r0, #0x9c] bx lr arm_func_end func_ov30_02183f78 .global func_ov30_02183f84 arm_func_start func_ov30_02183f84 func_ov30_02183f84: ; 0x02183f84 ldr r1, [r0, #0x94] cmp r1, #0 moveq r1, #0 streq r1, [r0, #0x98] mov r1, #0x1e str r1, [r0, #0x94] bx lr arm_func_end func_ov30_02183f84 .global func_ov30_02183fa0 arm_func_start func_ov30_02183fa0 func_ov30_02183fa0: ; 0x02183fa0 ldr r1, [r0, #0x88] cmp r1, #0 movgt r0, #1 bxgt lr ldr r1, [r0, #0x94] cmp r1, #0 movgt r0, #1 bxgt lr ldr r0, [r0, #0x9c] cmp r0, #0 movgt r0, #1 movle r0, #0 bx lr arm_func_end func_ov30_02183fa0 .global func_ov30_02183fd4 arm_func_start func_ov30_02183fd4 func_ov30_02183fd4: ; 0x02183fd4 mov r1, #0 str r1, [r0, #0x94] bx lr arm_func_end func_ov30_02183fd4 .global func_ov30_02183fe0 arm_func_start func_ov30_02183fe0 func_ov30_02183fe0: ; 0x02183fe0 stmdb sp!, {r3, r4, r5, lr} ldrsh r3, [r0, #0xa0] mov r2, r1 cmp r3, #0 ldmgtia sp!, {r3, r4, r5, pc} ldr r1, _021840a8 ; =data_027e0764 mov r3, #0x3c strh r3, [r0, #0xa0] ldr r3, [r1] ldmib r1, {r0, ip} umull r4, lr, ip, r3 mla lr, ip, r0, lr ldr ip, [r1, #0xc] ldr r5, [r1, #0x10] mla lr, ip, r3, lr mov r0, #0 ldr r3, [r1, #0x14] adds r4, r5, r4 adc r3, r3, lr mov r0, r0, lsl #0x2 str r4, [r1] orr r0, r0, r3, lsr #30 str r3, [r1, #4] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _02184048: ; jump table b _02184058 ; case 0 b _0218406c ; case 1 b _02184080 ; case 2 b _02184094 ; case 3 _02184058: ldr r0, _021840ac ; =data_027e0c68 mov r1, #0xef mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} _0218406c: ldr r0, _021840ac ; =data_027e0c68 mov r1, #0xf0 mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} _02184080: ldr r0, _021840ac ; =data_027e0c68 mov r1, #0xf1 mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} _02184094: ldr r0, _021840ac ; =data_027e0c68 mov r1, #0xf2 mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_02183fe0 _021840a8: .word data_027e0764 _021840ac: .word data_027e0c68 .global func_ov30_021840b0 arm_func_start func_ov30_021840b0 func_ov30_021840b0: ; 0x021840b0 stmdb sp!, {r3, lr} ldrsh r3, [r0, #0xa0] mov r2, r1 cmp r3, #0 ldmgtia sp!, {r3, pc} mov r1, #0x3c strh r1, [r0, #0xa0] ldr r0, _021840e0 ; =data_027e0c68 mov r1, #0xf3 mov r3, #0 bl func_02036da8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_021840b0 _021840e0: .word data_027e0c68 .global func_ov30_021840e4 arm_func_start func_ov30_021840e4 func_ov30_021840e4: ; 0x021840e4 ldrsh r0, [r0, #6] bx lr arm_func_end func_ov30_021840e4 .global func_ov30_021840ec arm_func_start func_ov30_021840ec func_ov30_021840ec: ; 0x021840ec sub sp, sp, #8 mov r1, r1, lsl #0x10 ldr r2, [r0] mov r1, r1, asr #0x10 ldr r0, [r2, r1, lsl #3] add r1, r2, r1, lsl #3 str r0, [sp] ldr r1, [r1, #4] add r0, sp, #0 str r1, [sp, #4] add sp, sp, #8 bx lr arm_func_end func_ov30_021840ec .global func_ov30_0218411c arm_func_start func_ov30_0218411c func_ov30_0218411c: ; 0x0218411c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 ldr r1, _021842fc ; =data_027e0fc8 mov sl, r0 ldr r0, [r1] bl func_ov00_020bbb64 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r8, #0 sub r0, r8, #1 str r0, [sl, #0x8c] str r0, [sl, #0x90] ldrsh r0, [sl, #4] mov r6, r8 sub r7, r8, #0x80000001 cmp r0, #0 ble _021841ec ldr r4, _02184300 ; =data_027e0fe4 mov sb, r8 add fp, sp, #0 _02184170: ldr r2, [sl] ldr r0, [r4] ldr r1, [r2, sb] add r2, r2, sb str r1, [sp] ldr r2, [r2, #4] mov r1, fp str r2, [sp, #4] bl func_ov00_020c3674 movs r5, r0 beq _021841d0 bl func_ov30_021823c4 cmp r0, #0 beq _021841d0 mov r0, r5 add r8, r8, #1 bl func_ov00_020c28ec cmp r0, r7 bge _021841d0 ldr r2, [sp, #4] ldr r1, [sp] mov r7, r0 str r1, [sl, #0x8c] str r2, [sl, #0x90] _021841d0: ldrsh r1, [sl, #4] add r0, r6, #1 mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 add sb, sb, #8 mov r6, r0, asr #0x10 bgt _02184170 _021841ec: ldr r0, _02184304 ; =data_ov00_020eec68 cmp r8, #0 str r7, [r0, #0x28] str r8, [sl, #0x88] bne _0218424c bl func_ov00_020d7424 cmp r0, #0xa7 bne _0218424c ldr r0, _02184304 ; =data_ov00_020eec68 mov r1, #0xf bl func_ov00_020d716c ldr r0, _02184308 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02084740 mov r1, r0 ldr r0, _02184304 ; =data_ov00_020eec68 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 ldr r0, _02184308 ; =data_027e0e60 mov r1, #0 ldr r0, [r0] bl func_ov00_02084924 b _02184298 _0218424c: ldr r0, [sl, #0x88] cmp r0, #0 ble _02184298 ldr r0, _02184304 ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0xa7 beq _02184298 ldr r0, _02184304 ; =data_ov00_020eec68 mov r1, #0xf bl func_ov00_020d716c ldr r0, _02184304 ; =data_ov00_020eec68 mov r1, #0xa7 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 ldr r0, _02184308 ; =data_027e0e60 mov r1, #1 ldr r0, [r0] bl func_ov00_02084924 _02184298: ldr r0, [sl, #0x94] cmp r0, #0 ble _021842d4 sub r0, r0, #1 str r0, [sl, #0x94] ldr r0, [sl, #0x98] sub r0, r0, #1 str r0, [sl, #0x98] cmp r0, #0 bgt _021842d4 ldr r0, _0218430c ; =data_ov00_020eec9c mov r2, #0x10 mov r1, #0x1c0 str r2, [sl, #0x98] bl func_ov00_020d77e4 _021842d4: ldr r0, [sl, #0x9c] cmp r0, #0 subgt r0, r0, #1 strgt r0, [sl, #0x9c] ldrsh r0, [sl, #0xa0] cmp r0, #0 subgt r0, r0, #1 strgth r0, [sl, #0xa0] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_0218411c _021842fc: .word data_027e0fc8 _02184300: .word data_027e0fe4 _02184304: .word data_ov00_020eec68 _02184308: .word data_027e0e60 _0218430c: .word data_ov00_020eec9c .global func_ov30_02184310 thumb_func_start func_ov30_02184310 func_ov30_02184310: ; 0x02184310 push {r3, r4, r5, r6} sub sp, #8 ldr r2, [r1, #8] ldr r1, [r1, #0xc] str r2, [sp] str r1, [sp, #4] mov r1, #4 ldrsh r2, [r0, r1] mov r1, #6 ldrsh r1, [r0, r1] cmp r1, r2 bge _02184360 mov r6, #0 cmp r2, #0 ble _02184360 ldr r3, [r0] sub r5, r6, #1 add r1, r3, #0 _02184334: ldr r4, [r1] cmp r4, r5 bne _02184354 ldr r1, [sp] lsl r2, r6, #3 str r1, [r3, r2] ldr r1, [sp, #4] add r4, r3, r2 str r1, [r4, #4] mov r1, #6 ldrsh r1, [r0, r1] add sp, #8 add r1, r1, #1 strh r1, [r0, #6] pop {r3, r4, r5, r6} bx lr _02184354: add r4, r6, #1 lsl r4, r4, #0x10 asr r6, r4, #0x10 add r1, #8 cmp r6, r2 blt _02184334 _02184360: add sp, #8 pop {r3, r4, r5, r6} bx lr .align 2, 0 thumb_func_end func_ov30_02184310 .global func_ov30_02184368 thumb_func_start func_ov30_02184368 func_ov30_02184368: ; 0x02184368 push {r3, r4, r5, r6} sub sp, #8 ldr r2, [r1, #8] ldr r1, [r1, #0xc] str r2, [sp] str r1, [sp, #4] mov r1, #6 ldrsh r3, [r0, r1] cmp r3, #0 bgt _02184380 sub r1, r1, #7 b _021843ba _02184380: mov r3, #4 ldrsh r5, [r0, r3] mov r1, #0 cmp r5, #0 ble _021843b6 ldr r4, [r0] add r3, r4, #0 _0218438e: ldr r6, [r3] cmp r6, r2 bne _021843aa mov r2, #0 lsl r3, r1, #3 mvn r2, r2 add r5, r4, r3 str r2, [r4, r3] str r2, [r5, #4] mov r2, #6 ldrsh r2, [r0, r2] sub r2, r2, #1 strh r2, [r0, #6] b _021843ba _021843aa: add r1, r1, #1 lsl r1, r1, #0x10 asr r1, r1, #0x10 add r3, #8 cmp r1, r5 blt _0218438e _021843b6: mov r1, #0 mvn r1, r1 _021843ba: add r0, r1, #0 add sp, #8 pop {r3, r4, r5, r6} bx lr .align 2, 0 thumb_func_end func_ov30_02184368 .global func_ov30_021843c4 thumb_func_start func_ov30_021843c4 func_ov30_021843c4: ; 0x021843c4 push {r3, r4} mov r4, #0 mov r3, #0xff _021843ca: add r2, r0, #0 add r2, #0xa4 ldrb r2, [r2] cmp r1, r2 bne _021843da add r2, r0, #0 add r2, #0xa4 strb r3, [r2] _021843da: add r2, r4, #1 lsl r2, r2, #0x10 asr r4, r2, #0x10 add r0, #0x48 cmp r4, #0x40 blt _021843ca pop {r3, r4} bx lr .align 2, 0 thumb_func_end func_ov30_021843c4 .global func_ov30_021843ec thumb_func_start func_ov30_021843ec func_ov30_021843ec: ; 0x021843ec push {r4, r5, r6, r7, lr} sub sp, #0x14 str r1, [sp] mov r6, #0 add r7, r0, #0 str r6, [sp, #8] mov r0, #4 ldrsh r0, [r7, r0] cmp r0, #0 bgt _02184402 b _02184546 _02184402: str r6, [sp, #4] _02184404: ldr r1, [r7] ldr r0, [sp, #4] add r2, r1, r0 ldr r0, [r1, r0] add r1, sp, #0xc str r0, [sp, #0xc] ldr r0, [r2, #4] str r0, [sp, #0x10] ldr r0, _0218454c ; =data_027e0fe4 ldr r0, [r0] blx func_ov00_020c3674 add r4, r0, #0 bne _02184422 b _0218452a _02184422: ldr r2, [r4, #4] ldr r1, _02184550 ; =0x43485352 cmp r2, r1 beq _02184440 add r0, r1, #0 sub r0, #0x20 cmp r2, r0 beq _02184440 add r0, r1, #0 sub r0, #0x1e cmp r2, r0 beq _02184440 sub r1, #0x1c cmp r2, r1 bne _0218452a _02184440: cmp r6, #0x40 bge _0218452a add r1, r7, #0 mov r0, #0x48 add r1, #0xa4 mul r0, r6 add r5, r1, r0 _0218444e: ldrb r0, [r5] cmp r0, #0xff bne _0218451e ldr r0, [sp] add r1, r4, #0 strb r0, [r5] ldr r0, [r4, #4] add r1, #0x14 str r0, [r5, #4] ldr r0, [r4, #0x14] str r0, [r5, #8] ldr r0, [r1, #4] str r0, [r5, #0xc] ldr r0, [r1, #8] str r0, [r5, #0x10] mov r0, #0x12 ldrsh r0, [r4, r0] strh r0, [r5, #0x14] add r0, r4, #0 blx func_ov30_021823f0 cmp r0, #0 beq _02184490 add r1, r4, #0 ldr r0, [r4, #0x48] add r1, #0x48 str r0, [r5, #0x18] ldr r0, [r1, #4] str r0, [r5, #0x1c] ldr r0, [r1, #8] str r0, [r5, #0x20] mov r0, #0x78 b _021844a2 _02184490: add r1, r4, #0 ldr r0, [r4, #0x14] add r1, #0x14 str r0, [r5, #0x18] ldr r0, [r1, #4] str r0, [r5, #0x1c] ldr r0, [r1, #8] str r0, [r5, #0x20] mov r0, #0x12 _021844a2: ldrsh r0, [r4, r0] strh r0, [r5, #0x24] ldrh r1, [r4, #0x20] add r0, r4, #0 add r0, #0x20 strh r1, [r5, #0x28] ldrh r1, [r0, #2] strh r1, [r5, #0x2a] ldrh r1, [r0, #4] strh r1, [r5, #0x2c] ldrh r1, [r0, #6] strh r1, [r5, #0x2e] add r1, r5, #4 ldrb r2, [r0, #8] add r1, #0x2c strb r2, [r1] add r1, r5, #4 ldrb r2, [r0, #9] add r1, #0x2d strb r2, [r1] add r1, r5, #4 ldrb r2, [r0, #0xa] add r1, #0x2e strb r2, [r1] add r1, r5, #4 ldrb r2, [r0, #0xb] add r1, #0x2f strb r2, [r1] mov r1, #0xc ldrsb r2, [r0, r1] add r1, r5, #4 add r1, #0x30 strb r2, [r1] add r1, r5, #4 ldrb r2, [r0, #0xd] add r1, #0x31 strb r2, [r1] add r1, r5, #4 ldrb r2, [r0, #0xe] add r1, #0x32 strb r2, [r1] mov r1, #0xf ldrsb r2, [r0, r1] add r1, r5, #4 add r1, #0x33 strb r2, [r1] ldr r0, [r0, #0x10] str r0, [r5, #0x38] mov r0, #0x61 lsl r0, r0, #2 ldr r0, [r4, r0] add r0, #0x80 ldr r0, [r0] str r0, [r5, #0x3c] mov r0, #0x22 lsl r0, r0, #6 ldr r0, [r4, r0] str r0, [r5, #0x40] add r0, r6, #1 lsl r0, r0, #0x10 asr r6, r0, #0x10 b _0218452a _0218451e: add r0, r6, #1 lsl r0, r0, #0x10 asr r6, r0, #0x10 add r5, #0x48 cmp r6, #0x40 blt _0218444e _0218452a: ldr r0, [sp, #4] add r0, #8 str r0, [sp, #4] ldr r0, [sp, #8] add r0, r0, #1 lsl r0, r0, #0x10 asr r0, r0, #0x10 str r0, [sp, #8] mov r0, #4 ldrsh r1, [r7, r0] ldr r0, [sp, #8] cmp r0, r1 bge _02184546 b _02184404 _02184546: add sp, #0x14 pop {r4, r5, r6, r7, pc} nop thumb_func_end func_ov30_021843ec _0218454c: .word data_027e0fe4 _02184550: .word 0x43485352 .global func_ov30_02184554 thumb_func_start func_ov30_02184554 func_ov30_02184554: ; 0x02184554 push {r4, r5, r6, r7, lr} sub sp, #0x3c add r6, r0, #0 add r5, r6, #0 str r1, [sp, #4] mov r7, #0 add r5, #0xa8 add r4, sp, #8 _02184564: add r0, r6, #0 add r0, #0xa4 ldrb r1, [r0] ldr r0, [sp, #4] cmp r0, r1 bne _02184626 mov r0, #0 mvn r0, r0 str r0, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0x10 blx func_ov00_020c1500 mov r0, #0 mvn r0, r0 str r0, [sp, #0x2c] str r0, [sp, #0x30] add r0, sp, #0x10 blx func_ov00_020c3348 ldrh r0, [r5, #0x24] add r2, r5, #4 add r3, sp, #0x10 strh r0, [r4, #8] ldrh r0, [r5, #0x26] strh r0, [r4, #0xa] ldrh r0, [r5, #0x28] strh r0, [r4, #0xc] ldrh r0, [r5, #0x2a] strh r0, [r4, #0xe] add r0, r5, #0 add r0, #0x2c ldrb r0, [r0] strb r0, [r4, #0x10] add r0, r5, #0 add r0, #0x2d ldrb r0, [r0] strb r0, [r4, #0x11] add r0, r5, #0 add r0, #0x2e ldrb r0, [r0] strb r0, [r4, #0x12] add r0, r5, #0 add r0, #0x2f ldrb r0, [r0] strb r0, [r4, #0x13] mov r0, #0x30 ldrsb r0, [r5, r0] strb r0, [r4, #0x14] add r0, r5, #0 add r0, #0x31 ldrb r0, [r0] strb r0, [r4, #0x15] add r0, r5, #0 add r0, #0x32 ldrb r0, [r0] strb r0, [r4, #0x16] mov r0, #0x33 ldrsb r0, [r5, r0] strb r0, [r4, #0x17] ldr r0, [r5, #0x34] str r0, [sp, #0x20] mov r0, #0x10 ldrsh r0, [r5, r0] strh r0, [r4, #0x1c] ldr r0, [r5, #0x38] str r0, [sp, #0x34] ldr r0, [r5, #0x3c] str r0, [sp, #0x38] add r0, sp, #8 str r0, [sp] ldr r0, _02184638 ; =data_027e0fe8 ldr r1, [r5] ldr r0, [r0] blx func_ov00_020c4048 ldr r0, _0218463c ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] blx func_ov00_020c3674 ldr r1, [r5, #0x14] str r1, [r0, #0x48] ldr r1, [r5, #0x18] str r1, [r0, #0x4c] ldr r1, [r5, #0x1c] str r1, [r0, #0x50] ldr r1, [r5, #0x14] str r1, [r0, #0x54] ldr r1, [r5, #0x18] str r1, [r0, #0x58] ldr r1, [r5, #0x1c] str r1, [r0, #0x5c] mov r1, #0x20 ldrsh r1, [r5, r1] add r0, #0x78 strh r1, [r0] _02184626: add r0, r7, #1 lsl r0, r0, #0x10 asr r7, r0, #0x10 add r6, #0x48 add r5, #0x48 cmp r7, #0x40 blt _02184564 add sp, #0x3c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end func_ov30_02184554 _02184638: .word data_027e0fe8 _0218463c: .word data_027e0fe4 .global func_ov30_02184640 thumb_func_start func_ov30_02184640 func_ov30_02184640: ; 0x02184640 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 mov r0, #6 ldrsh r0, [r5, r0] str r0, [sp, #8] cmp r0, #0 beq _0218470e ldr r0, _02184714 ; =0x00004844 ldr r1, [sp, #8] mov r2, #4 mul r0, r1 ldr r1, _02184718 ; =data_027e0ce0 ldr r1, [r1, #4] blx func_0202e9f4 cmp r0, #0 beq _02184674 ldr r1, _0218471c ; =func_ov30_02184738 ldr r2, _02184714 ; =0x00004844 str r1, [sp] mov r3, #0 ldr r1, [sp, #8] str r3, [sp, #4] blx func_0204f558 _02184674: ldr r1, _02184720 ; =0x000012a4 mov r2, #4 str r0, [r5, r1] ldr r0, _02184724 ; =0x00001024 ldr r1, [sp, #8] mul r0, r1 ldr r1, _02184718 ; =data_027e0ce0 ldr r1, [r1, #4] blx func_0202e9f4 cmp r0, #0 beq _0218469c ldr r1, _02184728 ; =func_ov30_02187f08 ldr r2, _02184724 ; =0x00001024 str r1, [sp] mov r3, #0 ldr r1, [sp, #8] str r3, [sp, #4] blx func_0204f558 _0218469c: ldr r1, _0218472c ; =0x000012a8 str r0, [r5, r1] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #8] cmp r0, #0 ble _021846f6 ldr r7, [sp, #0xc] add r6, r7, #0 add r4, r7, #0 _021846b0: ldr r0, [r5] add r1, r0, r7 ldr r0, [r0, r7] str r0, [sp, #0x10] ldr r0, [r1, #4] add r1, sp, #0x10 str r0, [sp, #0x14] ldr r0, _02184730 ; =data_027e0fe4 ldr r0, [r0] blx func_ov00_020c3674 ldr r1, _02184720 ; =0x000012a4 add r7, #8 ldr r1, [r5, r1] add r2, r1, r6 ldr r1, _02184734 ; =0x000008a4 str r2, [r0, r1] ldr r1, _0218472c ; =0x000012a8 ldr r1, [r5, r1] add r2, r1, r4 mov r1, #0x8a lsl r1, r1, #4 str r2, [r0, r1] ldr r0, _02184714 ; =0x00004844 add r6, r6, r0 ldr r0, _02184724 ; =0x00001024 add r4, r4, r0 ldr r0, [sp, #0xc] add r0, r0, #1 lsl r0, r0, #0x10 asr r1, r0, #0x10 ldr r0, [sp, #8] str r1, [sp, #0xc] cmp r1, r0 blt _021846b0 _021846f6: add r0, r5, #0 mov r1, #0 add r0, #0xa0 strh r1, [r0] add r0, r5, #0 add r0, #0x94 str r1, [r0] add r0, r5, #0 add r0, #0x98 str r1, [r0] add r5, #0x9c str r1, [r5] _0218470e: add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop thumb_func_end func_ov30_02184640 _02184714: .word 0x00004844 _02184718: .word data_027e0ce0 _0218471c: .word func_ov30_02184738 _02184720: .word 0x000012a4 _02184724: .word 0x00001024 _02184728: .word func_ov30_02187f08 _0218472c: .word 0x000012a8 _02184730: .word data_027e0fe4 _02184734: .word 0x000008a4 .global func_ov30_02184738 arm_func_start func_ov30_02184738 func_ov30_02184738: ; 0x02184738 mov r1, #0x18 str r1, [r0] str r1, [r0, #4] mov r1, #0 str r1, [r0, #8] str r1, [r0, #0xc] str r1, [r0, #0x10] str r1, [r0, #0x14] str r1, [r0, #0x18] add r3, r0, #0x44 str r3, [r0, #0x1c] strh r1, [r0, #0x2c] strh r1, [r0, #0x2e] strh r1, [r0, #0x30] strh r1, [r0, #0x32] strh r1, [r0, #0x34] strh r1, [r0, #0x36] add r1, r3, #0x4800 mov r2, #0 _02184784: str r2, [r3] str r2, [r3, #4] str r2, [r3, #8] str r2, [r3, #0x14] str r2, [r3, #0x18] strh r2, [r3, #0x1c] strh r2, [r3, #0x1e] add r3, r3, #0x20 cmp r3, r1 blo _02184784 bx lr arm_func_end func_ov30_02184738 .global func_ov30_021847b0 arm_func_start func_ov30_021847b0 func_ov30_021847b0: ; 0x021847b0 stmdb sp!, {r3, lr} ldr r1, _021847dc ; =data_027e0fe0 mov r0, #0x158 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} blx func_ov30_021847e0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_021847b0 _021847dc: .word data_027e0fe0 .global func_ov30_021847e0 thumb_func_start func_ov30_021847e0 func_ov30_021847e0: ; 0x021847e0 push {r4, lr} add r4, r0, #0 blx func_ov00_020c1554 ldr r0, _021847f0 ; =data_ov30_02189378 str r0, [r4] add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end func_ov30_021847e0 _021847f0: .word data_ov30_02189378 .global func_ov30_021847f4 thumb_func_start func_ov30_021847f4 func_ov30_021847f4: ; 0x021847f4 push {r3, lr} ldrh r1, [r0, #0x22] cmp r1, #6 bhi _0218484c add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02184808: ; jump table .short _02184816 - _02184808 - 2 ; case 0 .short _0218481e - _02184808 - 2 ; case 1 .short _02184826 - _02184808 - 2 ; case 2 .short _0218482e - _02184808 - 2 ; case 3 .short _02184836 - _02184808 - 2 ; case 4 .short _0218483e - _02184808 - 2 ; case 5 .short _02184846 - _02184808 - 2 ; case 6 _02184816: mov r1, #0 blx func_ov30_02184850 b _0218484c _0218481e: mov r1, #1 blx func_ov30_02184850 b _0218484c _02184826: mov r1, #2 blx func_ov30_02184850 b _0218484c _0218482e: mov r1, #3 blx func_ov30_02184850 b _0218484c _02184836: mov r1, #4 blx func_ov30_02184850 b _0218484c _0218483e: mov r1, #5 blx func_ov30_02184850 b _0218484c _02184846: mov r1, #6 blx func_ov30_02184850 _0218484c: mov r0, #1 pop {r3, pc} thumb_func_end func_ov30_021847f4 .global func_ov30_02184850 arm_func_start func_ov30_02184850 func_ov30_02184850: ; 0x02184850 mov r2, #0 str r2, [r0, #0x138] ldr r2, [r0, #0x130] str r2, [r0, #0x134] str r1, [r0, #0x130] bx lr arm_func_end func_ov30_02184850 .global func_ov30_02184868 arm_func_start func_ov30_02184868 func_ov30_02184868: ; 0x02184868 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1bc sub sp, sp, #0x400 mov r4, r0 bl func_ov00_020c313c cmp r0, #0 addeq sp, sp, #0x1bc addeq sp, sp, #0x400 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r4 bl func_ov00_020c2bf4 ldr r0, [r4, #0x130] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02185240 _021848a4: ; jump table b _021848c0 ; case 0 b _02184a08 ; case 1 b _02184b4c ; case 2 b _02184cc0 ; case 3 b _02184e2c ; case 4 b _02184f8c ; case 5 b _021850ec ; case 6 _021848c0: ldr r2, _0218524c ; =data_ov30_02188b08 mov r1, #0 add r3, sp, #0x500 mov r0, #0x10 add r3, r3, #0x3c str r0, [sp, #0x534] add r0, sp, #0x500 str r2, [sp, #0x24] str r1, [sp, #0x28] str r1, [sp, #0x538] str r3, [sp, #0x530] mvn r1, #0 add r0, r0, #0xbc _021848f4: str r1, [r3] str r1, [r3, #4] add r3, r3, #8 cmp r3, r0 blo _021848f4 ldr r0, _02185250 ; =data_027e0fe4 add r1, sp, #0x24 ldr r0, [r0] add r2, sp, #0x530 bl func_ov00_020c37ec ldr r0, [sp, #0x534] mov r6, #0 str r6, [sp, #0x18] cmp r0, #0 ldrh sl, [r4, #0x20] ble _021849cc ldr sb, [sp, #0x18] ldr fp, _02185254 ; =data_027e0e60 ldr r5, _02185250 ; =data_027e0fe4 _02184940: ldr r1, [sp, #0x530] ldr r0, [r5] add r1, r1, sb bl func_ov00_020c3674 movs r7, r0 beq _021849b8 mov r8, #0 cmp sl, #0 moveq r8, #1 beq _02184998 ldr r1, [r7, #0x48] ldr r0, [fp] str r1, [sp, #0x74] ldr r2, [r7, #0x4c] mov r1, sl str r2, [sp, #0x78] ldr r3, [r7, #0x50] add r2, sp, #0x74 str r3, [sp, #0x7c] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _02184998: cmp r8, #0 beq _021849b8 mov r0, r7 bl func_ov30_021823d4 cmp r0, #0 moveq r0, #1 streq r0, [sp, #0x18] beq _021849cc _021849b8: ldr r0, [sp, #0x534] add r6, r6, #1 cmp r6, r0 add sb, sb, #8 blt _02184940 _021849cc: ldr r0, [sp, #0x18] mov r1, #0 cmp r0, #0 mov r0, r4 bne _021849f4 mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021849f4: mov r2, r1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184a08: ldr r2, _0218524c ; =data_ov30_02188b08 mov r1, #0 add r3, sp, #0x4b0 mov r0, #0x10 str r0, [sp, #0x4a8] str r2, [sp, #0x1c] str r1, [sp, #0x20] str r1, [sp, #0x4ac] str r3, [sp, #0x4a4] mvn r1, #0 add r0, sp, #0x530 _02184a34: str r1, [r3] str r1, [r3, #4] add r3, r3, #8 cmp r3, r0 blo _02184a34 ldr r0, _02185250 ; =data_027e0fe4 add r2, sp, #0x400 ldr r0, [r0] add r1, sp, #0x1c add r2, r2, #0xa4 bl func_ov00_020c37ec ldr r0, [sp, #0x4a8] mov r6, #0 str r6, [sp, #0x14] cmp r0, #0 ldrh sl, [r4, #0x20] ble _02184b10 ldr sb, [sp, #0x14] ldr fp, _02185254 ; =data_027e0e60 ldr r5, _02185250 ; =data_027e0fe4 _02184a84: ldr r1, [sp, #0x4a4] ldr r0, [r5] add r1, r1, sb bl func_ov00_020c3674 movs r7, r0 beq _02184afc mov r8, #0 cmp sl, #0 moveq r8, #1 beq _02184adc ldr r1, [r7, #0x48] ldr r0, [fp] str r1, [sp, #0x68] ldr r2, [r7, #0x4c] mov r1, sl str r2, [sp, #0x6c] ldr r3, [r7, #0x50] add r2, sp, #0x68 str r3, [sp, #0x70] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _02184adc: cmp r8, #0 beq _02184afc mov r0, r7 bl func_ov30_021823c4 cmp r0, #0 movne r0, #1 strne r0, [sp, #0x14] bne _02184b10 _02184afc: ldr r0, [sp, #0x4a8] add r6, r6, #1 cmp r6, r0 add sb, sb, #8 blt _02184a84 _02184b10: ldr r0, [sp, #0x14] mov r1, #0 cmp r0, #0 mov r0, r4 beq _02184b38 mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184b38: mov r2, r1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184b4c: ldr r6, _02185258 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x490 mvn r3, #0 ldr r5, _0218525c ; =0x57544352 mov r0, #0x10 add r7, sp, #0x3dc str r0, [sp, #0x3d4] add r0, sp, #0x400 str r6, [sp, #0x45c] str r5, [sp, #0x460] str r3, [sp, #0x464] str r3, [sp, #0x468] str r2, [sp, #0x46c] strb r2, [sp, #0x470] strb r2, [sp, #0x48c] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r7, [sp, #0x3d0] str r2, [sp, #0x3d8] add r0, r0, #0x5c _02184ba8: str r3, [r7] str r3, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _02184ba8 ldr r0, _02185250 ; =data_027e0fe4 add r1, sp, #0x400 ldr r0, [r0] add r1, r1, #0x5c add r2, sp, #0x3d0 bl func_ov00_020c37ec ldr r0, [sp, #0x3d4] mov r6, #0 str r6, [sp, #0x10] cmp r0, #0 ldrh sl, [r4, #0x20] ble _02184c84 ldr sb, [sp, #0x10] ldr fp, _02185254 ; =data_027e0e60 ldr r5, _02185250 ; =data_027e0fe4 _02184bf8: ldr r1, [sp, #0x3d0] ldr r0, [r5] add r1, r1, sb bl func_ov00_020c3674 movs r7, r0 beq _02184c70 mov r8, #0 cmp sl, #0 moveq r8, #1 beq _02184c50 ldr r1, [r7, #0x48] ldr r0, [fp] str r1, [sp, #0x5c] ldr r2, [r7, #0x4c] mov r1, sl str r2, [sp, #0x60] ldr r3, [r7, #0x50] add r2, sp, #0x5c str r3, [sp, #0x64] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _02184c50: cmp r8, #0 beq _02184c70 mov r0, r7 bl func_ov26_02170014 cmp r0, #0 movne r0, #1 strne r0, [sp, #0x10] bne _02184c84 _02184c70: ldr r0, [sp, #0x3d4] add r6, r6, #1 cmp r6, r0 add sb, sb, #8 blt _02184bf8 _02184c84: ldr r0, [sp, #0x10] mov r1, #0 cmp r0, #0 mov r0, r4 beq _02184cac mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184cac: mov r2, r1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184cc0: ldr r6, _02185258 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x3bc mvn r3, #0 ldr r5, _0218525c ; =0x57544352 add r7, sp, #0x308 mov r0, #0x10 str r0, [sp, #0x300] str r6, [sp, #0x388] str r5, [sp, #0x38c] str r3, [sp, #0x390] str r3, [sp, #0x394] str r2, [sp, #0x398] strb r2, [sp, #0x39c] strb r2, [sp, #0x3b8] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r7, [sp, #0x2fc] str r2, [sp, #0x304] add r0, sp, #0x388 _02184d18: str r3, [r7] str r3, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _02184d18 ldr r0, _02185250 ; =data_027e0fe4 add r1, sp, #0x388 ldr r0, [r0] add r2, sp, #0x2fc bl func_ov00_020c37ec ldr r0, [sp, #0x300] mov r6, #0 str r6, [sp, #0xc] cmp r0, #0 ldrh sl, [r4, #0x20] ble _02184df0 ldr sb, [sp, #0xc] ldr fp, _02185254 ; =data_027e0e60 ldr r5, _02185250 ; =data_027e0fe4 _02184d64: ldr r1, [sp, #0x2fc] ldr r0, [r5] add r1, r1, sb bl func_ov00_020c3674 movs r7, r0 beq _02184ddc mov r8, #0 cmp sl, #0 moveq r8, #1 beq _02184dbc ldr r1, [r7, #0x48] ldr r0, [fp] str r1, [sp, #0x50] ldr r2, [r7, #0x4c] mov r1, sl str r2, [sp, #0x54] ldr r3, [r7, #0x50] add r2, sp, #0x50 str r3, [sp, #0x58] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _02184dbc: cmp r8, #0 beq _02184ddc mov r0, r7 bl func_ov26_0217004c cmp r0, #0 movne r0, #1 strne r0, [sp, #0xc] bne _02184df0 _02184ddc: ldr r0, [sp, #0x300] add r6, r6, #1 cmp r6, r0 add sb, sb, #8 blt _02184d64 _02184df0: ldr r0, [sp, #0xc] mov r1, #0 cmp r0, #0 mov r0, r4 bne _02184e18 mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184e18: mov r2, r1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184e2c: ldr r6, _02185258 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x2e8 mvn r3, #0 ldr r5, _02185260 ; =0x43485352 add r7, sp, #0x234 mov r0, #0x10 str r0, [sp, #0x22c] str r6, [sp, #0x2b4] str r5, [sp, #0x2b8] str r3, [sp, #0x2bc] str r3, [sp, #0x2c0] str r2, [sp, #0x2c4] strb r2, [sp, #0x2c8] strb r2, [sp, #0x2e4] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r7, [sp, #0x228] str r2, [sp, #0x230] add r0, sp, #0x2b4 _02184e84: str r3, [r7] str r3, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _02184e84 ldr r0, _02185250 ; =data_027e0fe4 add r1, sp, #0x2b4 ldr r0, [r0] add r2, sp, #0x228 bl func_ov00_020c37ec ldr r0, [sp, #0x22c] mov r7, #0 str r7, [sp, #8] cmp r0, #0 ldrh sl, [r4, #0x20] ble _02184f50 ldr sb, [sp, #8] ldr r5, _02185254 ; =data_027e0e60 ldr r6, _02185250 ; =data_027e0fe4 mov fp, r7 _02184ed4: ldr r1, [sp, #0x228] ldr r0, [r6] add r1, r1, sb bl func_ov00_020c3674 cmp r0, #0 beq _02184f3c mov r8, fp cmp sl, #0 moveq r8, #1 beq _02184f2c ldr r2, [r0, #0x48] mov r1, sl str r2, [sp, #0x44] ldr r3, [r0, #0x4c] add r2, sp, #0x44 str r3, [sp, #0x48] ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x4c] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _02184f2c: cmp r8, #0 movne r0, #1 strne r0, [sp, #8] bne _02184f50 _02184f3c: ldr r0, [sp, #0x22c] add r7, r7, #1 cmp r7, r0 add sb, sb, #8 blt _02184ed4 _02184f50: ldr r0, [sp, #8] mov r1, #0 cmp r0, #0 mov r0, r4 bne _02184f78 mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184f78: mov r2, r1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184f8c: ldr r6, _02185258 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x214 mvn r3, #0 ldr r5, _02185264 ; =0x43485332 add r7, sp, #0x160 mov r0, #0x10 str r0, [sp, #0x158] str r6, [sp, #0x1e0] str r5, [sp, #0x1e4] str r3, [sp, #0x1e8] str r3, [sp, #0x1ec] str r2, [sp, #0x1f0] strb r2, [sp, #0x1f4] strb r2, [sp, #0x210] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r7, [sp, #0x154] str r2, [sp, #0x15c] add r0, sp, #0x1e0 _02184fe4: str r3, [r7] str r3, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _02184fe4 ldr r0, _02185250 ; =data_027e0fe4 add r1, sp, #0x1e0 ldr r0, [r0] add r2, sp, #0x154 bl func_ov00_020c37ec ldr r0, [sp, #0x158] mov r7, #0 str r7, [sp, #4] cmp r0, #0 ldrh sl, [r4, #0x20] ble _021850b0 ldr sb, [sp, #4] ldr r5, _02185254 ; =data_027e0e60 ldr r6, _02185250 ; =data_027e0fe4 mov fp, r7 _02185034: ldr r1, [sp, #0x154] ldr r0, [r6] add r1, r1, sb bl func_ov00_020c3674 cmp r0, #0 beq _0218509c mov r8, fp cmp sl, #0 moveq r8, #1 beq _0218508c ldr r2, [r0, #0x48] mov r1, sl str r2, [sp, #0x38] ldr r3, [r0, #0x4c] add r2, sp, #0x38 str r3, [sp, #0x3c] ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x40] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _0218508c: cmp r8, #0 movne r0, #1 strne r0, [sp, #4] bne _021850b0 _0218509c: ldr r0, [sp, #0x158] add r7, r7, #1 cmp r7, r0 add sb, sb, #8 blt _02185034 _021850b0: ldr r0, [sp, #4] mov r1, #0 cmp r0, #0 mov r0, r4 bne _021850d8 mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021850d8: mov r2, r1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021850ec: ldr r6, _02185258 ; =data_ov00_020e72f0 mov r2, #0 add r1, sp, #0x140 mvn r3, #0 ldr r5, _02185268 ; =0x43485336 add r7, sp, #0x8c mov r0, #0x10 str r0, [sp, #0x84] str r6, [sp, #0x10c] str r5, [sp, #0x110] str r3, [sp, #0x114] str r3, [sp, #0x118] str r2, [sp, #0x11c] strb r2, [sp, #0x120] strb r2, [sp, #0x13c] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r7, [sp, #0x80] str r2, [sp, #0x88] add r0, sp, #0x10c _02185144: str r3, [r7] str r3, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _02185144 ldr r0, _02185250 ; =data_027e0fe4 add r1, sp, #0x10c ldr r0, [r0] add r2, sp, #0x80 bl func_ov00_020c37ec ldr r0, [sp, #0x84] mov r7, #0 str r7, [sp] cmp r0, #0 ldrh sl, [r4, #0x20] ble _02185210 ldr sb, [sp] ldr r5, _02185254 ; =data_027e0e60 ldr r6, _02185250 ; =data_027e0fe4 mov fp, r7 _02185194: ldr r1, [sp, #0x80] ldr r0, [r6] add r1, r1, sb bl func_ov00_020c3674 cmp r0, #0 beq _021851fc mov r8, fp cmp sl, #0 moveq r8, #1 beq _021851ec ldr r2, [r0, #0x48] mov r1, sl str r2, [sp, #0x2c] ldr r3, [r0, #0x4c] add r2, sp, #0x2c str r3, [sp, #0x30] ldr r3, [r0, #0x50] ldr r0, [r5] str r3, [sp, #0x34] bl func_ov00_02083770 cmp r0, #0 movne r8, #1 _021851ec: cmp r8, #0 movne r0, #1 strne r0, [sp] bne _02185210 _021851fc: ldr r0, [sp, #0x84] add r7, r7, #1 cmp r7, r0 add sb, sb, #8 blt _02185194 _02185210: ldr r0, [sp] mov r1, #0 cmp r0, #0 mov r0, r4 bne _02185238 mov r2, #1 bl func_ov00_020c1c20 add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02185238: mov r2, r1 bl func_ov00_020c1c20 _02185240: add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_02184868 _0218524c: .word data_ov30_02188b08 _02185250: .word data_027e0fe4 _02185254: .word data_027e0e60 _02185258: .word data_ov00_020e72f0 _0218525c: .word 0x57544352 _02185260: .word 0x43485352 _02185264: .word 0x43485332 _02185268: .word 0x43485336 .global func_ov30_0218526c arm_func_start func_ov30_0218526c func_ov30_0218526c: ; 0x0218526c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_0218526c .global func_ov30_02185288 arm_func_start func_ov30_02185288 func_ov30_02185288: ; 0x02185288 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov30_02185288 .global func_ov30_0218529c arm_func_start func_ov30_0218529c func_ov30_0218529c: ; 0x0218529c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r7, r0 mov r6, r1 bl func_ov00_020c5118 mov r4, r0 ldr r5, [r4, #0x8a4] cmp r6, #0x10 addls pc, pc, r6, lsl #2 b _021856d0 _021852c4: ; jump table b _02185308 ; case 0 b _02185360 ; case 1 b _02185384 ; case 2 b _021853bc ; case 3 b _021853e8 ; case 4 b _02185430 ; case 5 b _02185488 ; case 6 b _021854f0 ; case 7 b _02185538 ; case 8 b _02185580 ; case 9 b _021855b8 ; case 10 b _021855e4 ; case 11 b _02185610 ; case 12 b _021856d0 ; case 13 b _02185648 ; case 14 b _021856a4 ; case 15 b _021856bc ; case 16 _02185308: mov r1, #1 bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #7 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 ldr r1, [r4, #4] ldr r0, _021856e4 ; =0x43485334 cmp r1, r0 beq _021856d0 ldr r0, _021856e8 ; =data_027e10b4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov30_02183fe0 b _021856d0 _02185360: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021856d0 _02185384: mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 ldrsh r0, [r4, #0x78] sub r0, r0, #0x8000 strh r0, [r7, #0x68] b _021856d0 _021853bc: mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _021856d0 _021853e8: mov r1, #1 bl func_ov30_021823cc mov r3, #0x100 mov r0, r5 add r1, r4, #0x48 add r2, r7, #0x5c str r3, [sp] bl func_ov30_02187c00 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021856d0 _02185430: mov r2, #1 mov r1, #0 strb r2, [r7, #0xc] bl func_ov00_020cb160 mov r8, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r8, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 mov r0, r5 ldr r2, [r4, #0xa0] add r1, r4, #0x48 str r2, [sp] ldr r2, [r4, #0x98] ldrh r3, [r4, #0x9c] bl func_ov30_02187e18 b _021856d0 _02185488: mov r2, #0 mov r1, #1 strb r2, [r7, #0xc] bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 ldr r1, [r4, #4] ldr r0, _021856e4 ; =0x43485334 cmp r1, r0 beq _021856d0 ldr r0, _021856e8 ; =data_027e10b4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov30_02183fe0 b _021856d0 _021854f0: mov r2, #0 mov r1, #1 strb r2, [r7, #0xc] bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 b _021856d0 _02185538: mov r2, #0 mov r1, #1 strb r2, [r7, #0xc] bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 b _021856d0 _02185580: mov r1, #1 bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #2 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _021856d0 _021855b8: mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _021856d0 _021855e4: mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #2 bl func_ov00_020c5d74 ldr r1, [r5, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _021856d0 _02185610: mov r1, #0 bl func_ov30_021823cc mov r2, #1 mov r0, r4 mov r1, #0 strb r2, [r4, #0x87e] bl func_ov00_020cb160 mov r4, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021856d0 _02185648: mov r1, #1 bl func_ov30_021823cc mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r5, r0 mov r1, #9 bl func_ov00_020c5d74 ldr r0, [r5, #0x10] mov r2, #0x1000 ldr r1, _021856ec ; =data_027e0f94 str r2, [r0, #0x10] ldr r2, [r1] add r0, r7, #0x10 str r2, [r7, #0x50] ldr r2, [r1, #4] str r2, [r7, #0x54] ldr r1, [r1, #8] str r1, [r7, #0x58] bl func_ov30_0217c1c8 mov r0, #0x1f strb r0, [r4, #0xab7] b _021856d0 _021856a4: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] mov r1, #0 str r1, [r0, #0x10] b _021856d0 _021856bc: mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] _021856d0: mov r0, r7 str r6, [r7, #8] bl func_ov00_020c50fc add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov30_0218529c _021856e4: .word 0x43485334 _021856e8: .word data_027e10b4 _021856ec: .word data_027e0f94 .global func_ov30_021856f0 arm_func_start func_ov30_021856f0 func_ov30_021856f0: ; 0x021856f0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 mov r4, r1 bl func_ov00_020c5118 mov r2, #0 strb r2, [r0, #0x87e] sub r0, r2, #1 str r0, [sp, #4] add r1, sp, #0 str r2, [sp] add r0, r5, #0x10 bl func_ov30_0217c1ac ldr r0, [r4] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0218578c _02185734: ; jump table b _02185780 ; case 0 b _02185744 ; case 1 b _02185758 ; case 2 b _0218576c ; case 3 _02185744: mov r0, r5 mov r1, #1 bl func_ov30_0218529c add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} _02185758: mov r0, r5 mov r1, #3 bl func_ov30_0218529c add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} _0218576c: mov r0, r5 mov r1, #0xd bl func_ov30_0218529c add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} _02185780: mov r0, r5 mov r1, #0 bl func_ov30_0218529c _0218578c: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_021856f0 .global func_ov30_02185794 arm_func_start func_ov30_02185794 func_ov30_02185794: ; 0x02185794 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x68 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 add r0, r6, #0x10 ldr r5, [r4, #0x8a4] bl func_ov30_0217c21c ldr r0, [r6, #8] mov r7, #0 cmp r0, #0x10 addls pc, pc, r0, lsl #2 b _02185824 _021857c8: ; jump table b _0218580c ; case 0 b _0218580c ; case 1 b _0218580c ; case 2 b _0218580c ; case 3 b _02185824 ; case 4 b _02185824 ; case 5 b _0218580c ; case 6 b _0218580c ; case 7 b _0218580c ; case 8 b _0218580c ; case 9 b _0218580c ; case 10 b _0218580c ; case 11 b _02185824 ; case 12 b _02185824 ; case 13 b _02185824 ; case 14 b _02185824 ; case 15 b _02185824 ; case 16 _0218580c: mov r1, #1 mov r0, r4 mov r2, r1 bl func_ov30_0217d09c cmp r0, #0 movne r7, #1 _02185824: cmp r7, #0 beq _0218587c ldr r0, _021863d4 ; =data_027e0f94 add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r2, #0 add r0, sp, #0x10 mov r1, r3 strh r2, [sp, #0x10] strh r2, [sp, #0x12] bl func_ov30_021872c4 add r0, sp, #0x10 add r1, sp, #0x5c bl func_ov30_02187304 add r1, sp, #0x5c mov r0, r4 bl func_ov00_020cca68 cmp r0, #0 bne _0218587c add r0, r6, #0x10 bl func_ov30_0217c1c8 _0218587c: ldr r0, [r4, #0x844] cmp r0, #0 beq _021858c0 add r0, r4, #0xa8 ldr r1, [r0, #0xa00] ldr r0, [r0, #0xa08] cmp r1, r0 beq _021858b0 add r0, r4, #0x48 add r1, r4, #0x14 bl func_ov00_020ce2f0 cmp r0, #0xc000 ble _021858c0 _021858b0: mov r0, r6 mov r1, #0x10 mov r2, #0 bl func_ov00_020c50d4 _021858c0: ldr r0, [r6, #8] cmp r0, #0x10 addls pc, pc, r0, lsl #2 b _021863cc _021858d0: ; jump table b _02185914 ; case 0 b _021859a0 ; case 1 b _021859c8 ; case 2 b _02185a2c ; case 3 b _02185ac0 ; case 4 b _02185b28 ; case 5 b _02185c94 ; case 6 b _02185d68 ; case 7 b _02185ebc ; case 8 b _02186098 ; case 9 b _021860d8 ; case 10 b _02186124 ; case 11 b _02186180 ; case 12 b _0218623c ; case 13 b _02186294 ; case 14 b _021862f0 ; case 15 b _02186328 ; case 16 _02185914: mov r0, r4 bl func_ov30_02182dd4 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r1, sp, #0x50 add r0, r6, #0x10 bl func_ov30_0217c3c0 add r1, sp, #0x50 mov r0, r4 bl func_ov00_020cca68 cmp r0, #0 bne _02185974 mov r0, r6 mov r1, #7 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185974: ldr r1, [sp, #0x50] mov r0, r6 str r1, [r6, #0x5c] ldr r2, [sp, #0x54] mov r1, #4 str r2, [r6, #0x60] ldr r2, [sp, #0x58] str r2, [r6, #0x64] bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021859a0: mov r0, r6 bl func_ov00_020c50f0 cmp r0, #0xa addle sp, sp, #0x68 ldmleia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #2 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021859c8: ldrsh r1, [r6, #0x68] mov r0, r4 bl func_ov30_02182e34 mov r0, r4 mov r1, #2 mov r2, #1 bl func_ov30_0217d09c cmp r0, #0 beq _02185a00 mov r0, r6 mov r1, #0 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185a00: ldrsh r1, [r6, #0x68] mov r0, r4 bl func_ov30_02182e50 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185a2c: mov r0, r4 bl func_ov30_02182dc0 mov r0, r4 mov r1, #2 mov r2, #1 bl func_ov30_0217d09c cmp r0, #0 beq _02185aac add r1, sp, #0x44 add r0, r6, #0x10 bl func_ov30_0217c3c0 add r1, sp, #0x44 mov r0, r4 bl func_ov00_020cca68 cmp r0, #0 bne _02185a80 mov r0, r6 mov r1, #7 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185a80: ldr r1, [sp, #0x44] mov r0, r6 str r1, [r6, #0x5c] ldr r2, [sp, #0x48] mov r1, #4 str r2, [r6, #0x60] ldr r2, [sp, #0x4c] str r2, [r6, #0x64] bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185aac: mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185ac0: mov r0, r5 bl func_ov30_02187c44 mov r0, r6 bl func_ov00_020c50f0 cmp r0, #0xf addle sp, sp, #0x68 ldmleia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r5 bl func_ov30_02187d50 cmp r0, #0 beq _02185b00 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185b00: mov r0, r5 bl func_ov30_02187d3c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #5 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185b28: add r1, sp, #0x38 mov r0, r5 bl func_ov30_02187d88 add r1, sp, #0x38 mov r0, r4 mov r2, #2 bl func_ov30_02182ecc add r1, sp, #0x38 mov r0, r4 bl func_ov30_02182c68 cmp r0, #0 beq _02185b74 ldr r1, [r4, #0xa0] mov r0, r5 str r1, [sp] ldrh r3, [r4, #0x9c] ldr r2, [r4, #0x98] add r1, r4, #0x48 bl func_ov30_02187e18 _02185b74: add r1, sp, #0x2c mov r0, r5 bl func_ov30_02187dd8 mov r0, r4 bl func_ov30_02182474 cmp r0, #0 beq _02185ba4 mov r0, r6 mov r1, #9 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185ba4: mov r0, r4 bl func_ov30_021824cc cmp r0, #0 beq _02185bc8 mov r0, r6 mov r1, #0xb bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185bc8: mov r1, #1 mov r0, r4 mov r2, r1 bl func_ov30_0217d09c cmp r0, #0 beq _02185bf4 mov r0, r6 mov r1, #6 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185bf4: mov r0, r4 mov r1, #0xa000 bl func_ov00_020c29ec cmp r0, #0 beq _02185c1c mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185c1c: mov r0, r4 bl func_ov30_02183b90 cmp r0, #0 beq _02185c40 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185c40: mov r0, r4 add r1, r6, #0x5c bl func_ov30_02182c68 cmp r0, #0 beq _02185c68 mov r0, r6 mov r1, #7 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185c68: add r1, sp, #0x2c mov r0, r4 bl func_ov30_02182c68 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185c94: ldr r1, _021863d4 ; =data_027e0f94 mov r0, r4 mov r2, #2 bl func_ov30_02182ecc mov r0, r4 bl func_ov30_02182474 cmp r0, #0 beq _02185cc8 mov r0, r6 mov r1, #9 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185cc8: mov r0, r4 bl func_ov30_021824cc cmp r0, #0 beq _02185cec mov r0, r6 mov r1, #0xb bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185cec: mov r0, r4 mov r1, #0xa000 bl func_ov00_020c29ec cmp r0, #0 beq _02185d14 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185d14: mov r0, r4 bl func_ov30_02183b90 cmp r0, #0 beq _02185d38 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185d38: mov r1, #1 mov r0, r4 mov r2, r1 bl func_ov30_0217d09c cmp r0, #0 addne sp, sp, #0x68 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #7 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185d68: mov r2, #0 add r1, sp, #0xc add r0, r6, #0x10 strh r2, [sp, #0xc] strh r2, [sp, #0xe] bl func_ov30_0217c3e8 add r0, sp, #0xc add r1, sp, #0x20 bl func_ov30_02187304 add r1, sp, #0x20 mov r0, r4 mov r2, #2 bl func_ov30_02182ecc mov r0, r4 bl func_ov30_02182474 cmp r0, #0 beq _02185dc0 mov r0, r6 mov r1, #9 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185dc0: mov r0, r4 bl func_ov30_021824cc cmp r0, #0 beq _02185de4 mov r0, r6 mov r1, #0xb bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185de4: mov r1, #1 mov r0, r4 mov r2, r1 bl func_ov30_0217d09c cmp r0, #0 beq _02185e10 mov r0, r6 mov r1, #6 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185e10: mov r0, r4 bl func_ov30_02183b90 cmp r0, #0 beq _02185e34 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185e34: add r0, sp, #0xc bl func_ov30_021875d4 cmp r0, #0 add r1, sp, #0x20 mov r0, r4 beq _02185e70 bl func_ov30_02182c68 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #8 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185e70: bl func_ov00_020c288c cmp r0, #0x800 bge _02185e90 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185e90: mov r0, r4 mov r1, #0x1000 bl func_ov00_020c29ec cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185ebc: mov r2, #0 add r1, sp, #8 add r0, r6, #0x10 strh r2, [sp, #8] strh r2, [sp, #0xa] bl func_ov30_0217c3e8 add r0, sp, #8 add r1, sp, #0x14 bl func_ov30_02187304 add r1, sp, #0x14 mov r0, r4 mov r2, #2 bl func_ov30_02182ecc add r1, sp, #0x14 mov r0, r4 bl func_ov30_02182c68 cmp r0, #0 beq _02185f6c add r0, r6, #0x10 bl func_ov30_0217c41c add r0, r6, #0x10 bl func_ov30_0217c434 cmp r0, #0 beq _02185f30 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185f30: mov r2, #0 add r1, sp, #4 add r0, r6, #0x10 strh r2, [sp, #4] strh r2, [sp, #6] bl func_ov30_0217c3e8 add r0, sp, #4 bl func_ov30_021875d4 cmp r0, #0 bne _02185f6c mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185f6c: mov r0, r4 bl func_ov30_02182474 cmp r0, #0 beq _02185f90 mov r0, r6 mov r1, #9 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185f90: mov r0, r4 bl func_ov30_021824cc cmp r0, #0 beq _02185fb4 mov r0, r6 mov r1, #0xb bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185fb4: ldr r1, [r4, #4] ldr r0, _021863d8 ; =0x43485334 cmp r1, r0 bne _02185ff8 mov r0, r6 bl func_ov00_020c50f0 cmp r0, #0x3c ble _02185ff8 mov r0, r4 bl func_ov30_0217d3b8 cmp r0, #0 beq _02185ff8 mov r0, r6 mov r1, #0xd bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185ff8: mov r0, r4 mov r1, #0xa000 bl func_ov00_020c29ec cmp r0, #0 beq _02186020 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186020: mov r1, #1 mov r0, r4 mov r2, r1 bl func_ov30_0217d09c cmp r0, #0 beq _0218604c mov r0, r6 mov r1, #6 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0218604c: mov r0, r4 bl func_ov30_02182d44 cmp r0, #0 beq _02186070 mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186070: mov r0, r4 bl func_ov30_02183b90 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0xc bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186098: mov r0, r4 bl func_ov30_02182dd4 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0xa bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021860d8: mov r0, r4 bl func_ov30_02182dd4 mov r0, r6 bl func_ov00_020c50f0 cmp r0, #0xf addle sp, sp, #0x68 ldmleia sp!, {r3, r4, r5, r6, r7, pc} ldrb r0, [r6, #0xc] cmp r0, #0 mov r0, r6 beq _02186114 mov r1, #5 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186114: mov r1, #8 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186124: mov r0, r4 bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r0, [r6, #0xc] cmp r0, #0 mov r0, r6 beq _02186170 mov r1, #5 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186170: mov r1, #8 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186180: mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, #0 mov r0, r4 strb r1, [r4, #0x87e] bl func_ov30_021833ec cmp r0, #0 beq _021861d4 mov r0, r6 mov r1, #8 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021861d4: ldr r1, [r4, #4] ldr r0, _021863dc ; =0x43485336 cmp r1, r0 bne _02186208 ldrb r0, [r4, #0xab6] cmp r0, #0 beq _02186208 mov r0, r6 mov r1, #0xf mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186208: ldr r0, [r4, #0x844] mov r2, #0 cmp r0, #0 mov r0, r6 beq _0218622c mov r1, #0x10 bl func_ov00_020c50d4 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0218622c: mov r1, #5 bl func_ov00_020c50d4 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0218623c: ldr r0, _021863e0 ; =data_027e0f74 mov r1, #0x11c ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 bne _02186280 ldr r0, _021863e0 ; =data_027e0f74 mov r1, #0x11c ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c mov r0, r6 mov r1, #2 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186280: mov r0, r6 mov r1, #0xe bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186294: mov r0, r6 ldrb r5, [r4, #0xab7] bl func_ov00_020c50f0 cmp r0, #8 blt _021862b4 cmp r5, #0x10 subhi r0, r5, #1 strhib r0, [r4, #0xab7] _021862b4: mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] mov r1, #0x1e000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0xf bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021862f0: mov r0, r4 add r1, r6, #0x50 bl func_ov30_02182f0c mov r0, r4 add r1, r6, #0x50 bl func_ov30_02182c68 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #0x10 bl func_ov30_0218529c add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186328: ldrb r5, [r4, #0xab7] mov r1, #0 cmp r5, #0x1f addlo r0, r5, #1 andlo r5, r0, #0xff strlob r5, [r4, #0xab7] mov r0, r4 bl func_ov00_020cb160 ldr r0, [r0, #0x14] cmp r0, #9 bne _02186398 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02186398 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r7, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] _02186398: mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x14] cmp r0, #9 addeq sp, sp, #0x68 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r5, #0x1f addne sp, sp, #0x68 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 mov r1, #7 bl func_ov30_0218529c _021863cc: add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov30_02185794 _021863d4: .word data_027e0f94 _021863d8: .word 0x43485334 _021863dc: .word 0x43485336 _021863e0: .word data_027e0f74 .global func_ov30_021863e4 arm_func_start func_ov30_021863e4 func_ov30_021863e4: ; 0x021863e4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #5 addls pc, pc, r5, lsl #2 b _021864fc _02186404: ; jump table b _021864fc ; case 0 b _0218641c ; case 1 b _02186450 ; case 2 b _02186484 ; case 3 b _021864b0 ; case 4 b _021864d4 ; case 5 _0218641c: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 b _021864fc _02186450: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 b _021864fc _02186484: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #2 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _021864fc _021864b0: mov r1, #0 bl func_ov00_020cb160 mov r4, r0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] b _021864fc _021864d4: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 _021864fc: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_021863e4 .global func_ov30_0218650c arm_func_start func_ov30_0218650c func_ov30_0218650c: ; 0x0218650c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 bl func_ov00_020c5118 mov r5, r0 mov r1, #0 add r4, r5, #0x8c bl func_ov30_021823cc cmp r6, #0 beq _02186574 ldrb r0, [r6] cmp r0, #0 beq _02186564 ldrsh r2, [r5, #0x78] ldrsb r3, [r5, #0x2c] add r0, r4, #0x800 add r1, r5, #0x48 bl func_ov00_020c8f84 mov r0, r7 mov r1, #2 bl func_ov30_021863e4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186564: mov r0, r7 mov r1, #0 bl func_ov30_021863e4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02186574: mov r0, r7 mov r1, #0 bl func_ov30_021863e4 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_0218650c .global func_ov30_02186584 arm_func_start func_ov30_02186584 func_ov30_02186584: ; 0x02186584 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x40 mov r7, r0 bl func_ov00_020c5118 mov r4, r0 ldr r2, [r7, #8] add r1, r4, #0x8c cmp r2, #5 add r6, r1, #0x800 addls pc, pc, r2, lsl #2 b _02186940 _021865b0: ; jump table b _021865c8 ; case 0 b _0218668c ; case 1 b _02186718 ; case 2 b _021868a4 ; case 3 b _021868e0 ; case 4 b _0218690c ; case 5 _021865c8: ldr r3, _02186948 ; =data_ov00_020e8398 mvn r2, #0 mov r8, #1 mov r1, #0 ldr r0, _0218694c ; =data_027e0ff0 str r3, [sp, #0x20] strb r2, [sp, #0x24] strb r8, [sp, #0x25] strb r1, [sp, #0x26] strb r1, [sp, #0x27] strb r8, [sp, #0x3c] strb r2, [sp, #0x10] strb r2, [sp, #0x11] strb r2, [sp, #0x12] strb r2, [sp, #0x13] ldrsb r5, [r4, #0x2c] ldr r0, [r0] add r2, sp, #0x20 add r3, sp, #0x10 add r1, r4, #0x48 strb r5, [sp, #0x24] strb r8, [sp, #0x26] bl func_ov00_020c4c00 cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r1, [sp, #0x14] mov r0, r6 str r1, [r7, #0x10] ldr r2, [sp, #0x18] add r1, r7, #0xc str r2, [r7, #0x14] ldr r3, [sp, #0x1c] add r2, r7, #0xe str r3, [r7, #0x18] ldrsb r3, [sp, #0x10] strb r3, [r7, #0xc] ldrsb r3, [sp, #0x11] strb r3, [r7, #0xd] ldrsb r3, [sp, #0x12] strb r3, [r7, #0xe] ldrsb r3, [sp, #0x13] strb r3, [r7, #0xf] bl func_ov00_020c8e44 mov r0, r7 mov r1, r8 bl func_ov30_021863e4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0218668c: add r1, r7, #0x10 bl func_ov30_02182c84 movs r5, r0 bne _021866ac mov r0, r4 add r1, r7, #0x10 mov r2, #0 bl func_ov30_02182ecc _021866ac: mov r0, r4 mov r1, #0x1000 bl func_ov00_020c29ec cmp r0, #0 beq _021866f8 ldr r1, [r4, #4] ldr r0, _02186950 ; =0x43485336 mov r2, #0 cmp r1, r0 mov r0, r7 bne _021866e8 mov r1, #0xf bl func_ov00_020c50d4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021866e8: mov r1, #3 bl func_ov00_020c50d4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021866f8: cmp r5, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 mov r1, #2 bl func_ov30_021863e4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02186718: add r1, sp, #4 mov r0, r6 mov r5, #0 bl func_ov00_020c9034 add r1, sp, #4 mov r0, r4 mov r2, r5 bl func_ov30_02182ecc add r1, sp, #4 mov r0, r4 bl func_ov30_02182c9c cmp r0, #0 beq _02186800 ldrsb r2, [r6, #0x10] add r1, sp, #0 mov r0, r4 strb r2, [sp] ldrsb r2, [r6, #0x11] strb r2, [sp, #1] bl func_ov30_02183d80 mov r0, r6 bl func_ov00_020c9224 cmp r0, #0 beq _021867dc cmp r0, #1 beq _0218678c cmp r0, #2 moveq r5, #1 b _021867dc _0218678c: ldr r2, _02186954 ; =data_027e0764 mov r1, r5 ldr r3, [r2] ldmib r2, {r0, ip} umull r8, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds sb, ip, r8 adc r8, r0, lr mov r0, #0x64 umull r3, ip, r8, r0 mla ip, r8, r1, ip mla ip, r1, r0, ip str sb, [r2] cmp ip, #0x32 str r8, [r2, #4] movlt r5, #1 _021867dc: mov r0, r6 bl func_ov00_020c9070 cmp r5, #0 beq _02186800 mov r0, r7 mov r1, #5 bl func_ov30_021863e4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02186800: mov r0, r4 bl func_ov30_021824cc cmp r0, #0 mov r0, r7 beq _02186824 mov r1, #3 bl func_ov30_021863e4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02186824: bl func_ov00_020c50f0 cmp r0, #0x1e ble _02186860 mov r0, r4 mov r1, #0x1000 bl func_ov00_020c29ec cmp r0, #0 beq _02186860 mov r0, r6 bl func_ov00_020c900c cmp r0, #0 beq _02186860 mov r0, r7 mov r1, #4 bl func_ov30_021863e4 _02186860: ldr r0, _02186958 ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02183fa0 cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 bl func_ov00_020c510c cmp r0, #0x1e addle sp, sp, #0x40 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 mov r1, #6 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021868a4: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 mov r1, #2 bl func_ov30_021863e4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021868e0: bl func_ov30_02182dc0 mov r0, r7 bl func_ov00_020c50f0 cmp r0, #0xf addle sp, sp, #0x40 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 mov r1, #2 bl func_ov30_021863e4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0218690c: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 mov r1, #2 bl func_ov30_021863e4 _02186940: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov30_02186584 _02186948: .word data_ov00_020e8398 _0218694c: .word data_027e0ff0 _02186950: .word 0x43485336 _02186954: .word data_027e0764 _02186958: .word data_027e10b4 .global func_ov30_0218695c arm_func_start func_ov30_0218695c func_ov30_0218695c: ; 0x0218695c stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r1 bl func_ov00_020c5118 mvn r2, #0 mov lr, #1 mov r1, #0 ldr r3, _021869f8 ; =data_ov00_020e8398 strb r2, [sp, #0x14] str r3, [sp, #0x10] strb lr, [sp, #0x15] strb r1, [sp, #0x16] strb r1, [sp, #0x17] strb lr, [sp, #0x2c] strb r2, [sp] strb r2, [sp, #1] strb r2, [sp, #2] strb r2, [sp, #3] ldrsb ip, [r0, #0x2c] ldr r0, _021869fc ; =data_027e0ff0 ldr r1, _02186a00 ; =data_027e0f94 ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0 strb ip, [sp, #0x14] strb lr, [sp, #0x2c] strb lr, [sp, #0x16] bl func_ov00_020c4ae8 cmp r0, #0 addeq sp, sp, #0x30 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrsb r1, [sp] mov r0, #1 strb r1, [r4] ldrsb r1, [sp, #1] strb r1, [r4, #1] add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov30_0218695c _021869f8: .word data_ov00_020e8398 _021869fc: .word data_027e0ff0 _02186a00: .word data_027e0f94 .global func_ov30_02186a04 arm_func_start func_ov30_02186a04 func_ov30_02186a04: ; 0x02186a04 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r6, r0 bl func_ov00_020c5118 mov r4, r0 cmp r5, #5 addls pc, pc, r5, lsl #2 b _02186b24 _02186a24: ; jump table b _02186b24 ; case 0 b _02186a3c ; case 1 b _02186a70 ; case 2 b _02186a9c ; case 3 b _02186ad0 ; case 4 b _02186afc ; case 5 _02186a3c: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 b _02186b24 _02186a70: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _02186b24 _02186a9c: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182eb4 mov r0, r4 bl func_ov00_020c29d8 b _02186b24 _02186ad0: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #5 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 b _02186b24 _02186afc: mov r1, #0 bl func_ov00_020cb160 mov r7, r0 mov r1, #2 bl func_ov00_020c5d74 ldr r1, [r7, #0x10] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov30_02182da8 _02186b24: mov r0, r6 str r5, [r6, #8] bl func_ov00_020c50fc ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov30_02186a04 .global func_ov30_02186b34 arm_func_start func_ov30_02186b34 func_ov30_02186b34: ; 0x02186b34 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c5118 mov r0, r4 mov r1, #0 bl func_ov30_02186a04 ldmia sp!, {r4, pc} arm_func_end func_ov30_02186b34 .global func_ov30_02186b50 arm_func_start func_ov30_02186b50 func_ov30_02186b50: ; 0x02186b50 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0xa0 mov r7, r0 bl func_ov00_020c5118 ldr r1, [r7, #8] mov r4, r0 ldr r6, [r4, #0x8a0] cmp r1, #5 addls pc, pc, r1, lsl #2 b _02187218 _02186b78: ; jump table b _02186b90 ; case 0 b _02186c44 ; case 1 b _02186cd0 ; case 2 b _02186fa8 ; case 3 b _02187170 ; case 4 b _021871e4 ; case 5 _02186b90: ldr r3, _02187220 ; =data_ov00_020e8398 mvn r2, #0 mov r6, #1 mov r1, #0 ldr r0, _02187224 ; =data_027e0ff0 str r3, [sp, #0x80] strb r2, [sp, #0x84] strb r6, [sp, #0x85] strb r1, [sp, #0x86] strb r1, [sp, #0x87] strb r6, [sp, #0x9c] strb r2, [sp, #0x70] strb r2, [sp, #0x71] strb r2, [sp, #0x72] strb r2, [sp, #0x73] ldrsb r5, [r4, #0x2c] ldr r0, [r0] add r2, sp, #0x80 add r3, sp, #0x70 add r1, r4, #0x48 strb r5, [sp, #0x84] strb r6, [sp, #0x86] bl func_ov00_020c4c00 cmp r0, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [sp, #0x74] mov r0, r7 str r1, [r7, #0x14] ldr r2, [sp, #0x78] mov r1, r6 str r2, [r7, #0x18] ldr r2, [sp, #0x7c] str r2, [r7, #0x1c] ldrsb r2, [sp, #0x70] strb r2, [r7, #0x10] ldrsb r2, [sp, #0x71] strb r2, [r7, #0x11] ldrsb r2, [sp, #0x72] strb r2, [r7, #0x12] ldrsb r2, [sp, #0x73] strb r2, [r7, #0x13] bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186c44: add r1, r7, #0x14 bl func_ov30_02182c84 movs r5, r0 bne _02186c64 mov r0, r4 add r1, r7, #0x14 mov r2, #2 bl func_ov30_02182ecc _02186c64: mov r0, r4 mov r1, #0x1000 bl func_ov00_020c29ec cmp r0, #0 beq _02186cb0 ldr r1, [r4, #4] ldr r0, _02187228 ; =0x43485336 mov r2, #0 cmp r1, r0 mov r0, r7 bne _02186ca0 mov r1, #0xf bl func_ov00_020c50d4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186ca0: mov r1, #3 bl func_ov00_020c50d4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186cb0: cmp r5, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r7 mov r1, #2 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186cd0: bl func_ov30_02182dc0 mov r0, r7 bl func_ov00_020c50f0 cmp r0, #1 bne _02186de0 ldrsb r1, [r4, #0x2c] mov r0, r6 bl func_ov30_02187f58 mvn r2, #0 mov ip, #1 mov r1, #0 ldr r3, _02187220 ; =data_ov00_020e8398 ldr r0, _02187224 ; =data_027e0ff0 str r3, [sp, #0x50] strb r2, [sp, #0x54] strb ip, [sp, #0x55] strb r1, [sp, #0x56] strb r1, [sp, #0x57] strb ip, [sp, #0x6c] strb r2, [sp, #0x40] strb r2, [sp, #0x41] strb r2, [sp, #0x42] strb r2, [sp, #0x43] ldrsb r5, [r4, #0x2c] ldr r0, [r0] add r2, sp, #0x50 add r3, sp, #0x40 add r1, r4, #0x48 strb r5, [sp, #0x54] strb ip, [sp, #0x6c] strb ip, [sp, #0x56] bl func_ov00_020c4ae8 cmp r0, #0 beq _02186d68 ldrsb r0, [sp, #0x40] strb r0, [r7, #0xc] ldrsb r0, [sp, #0x41] strb r0, [r7, #0xd] _02186d68: ldr r0, _0218722c ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02183fa0 cmp r0, #0 mov r0, r7 beq _02186dd0 add r1, r7, #0xe bl func_ov30_0218695c ldrsb r1, [r7, #0xc] ldrsb r0, [r7, #0xe] cmp r1, r0 ldreqsb r1, [r7, #0xd] ldreqsb r0, [r7, #0xf] cmpeq r1, r0 bne _02186db8 mov r0, r7 mov r1, #4 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186db8: mov r0, r6 add r1, r7, #0xc add r2, r7, #0xe bl func_ov30_02188080 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186dd0: mov r1, #4 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186de0: addle sp, sp, #0xa0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r6 mov r1, #0xa bl func_ov30_02188398 mov r0, r6 bl func_ov30_021883e0 cmp r0, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [r4, #4] ldr r0, _02187228 ; =0x43485336 cmp r1, r0 bne _02186e9c mov r0, r6 bl func_ov30_02188410 cmp r0, #0 beq _02186e84 mov r0, r6 bl func_ov30_0218842c cmp r0, #0xf000 blt _02186e9c mov r0, r4 bl func_ov30_02183e78 cmp r0, #0 beq _02186e9c mov r0, r7 mov r1, #0xd mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186e84: mov r0, r7 mov r1, #0xd mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186e9c: mov r0, r6 bl func_ov30_02188448 mov r0, r6 bl func_ov30_02188410 cmp r0, #0 bne _02186ed8 mov r0, r6 bl func_ov30_021885b8 cmp r0, #0 beq _02186ed8 mov r0, r7 mov r1, #4 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186ed8: add r1, sp, #0x34 mov r0, r6 bl func_ov30_021884b8 cmp r0, #0 beq _02186f94 add r1, sp, #0x28 mov r0, r6 bl func_ov30_02188524 cmp r0, #0 beq _02186f94 add r0, sp, #0x34 add r2, sp, #0x1c add r1, r4, #0x48 bl func_01ff9bf8 add r0, sp, #0x28 add r1, sp, #0x34 add r2, sp, #0x10 bl func_01ff9bf8 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 mov r5, r0, lsl #0x10 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 rsb r0, r0, r5, asr #16 mov r0, r0, lsl #0x10 ldr r1, _02187230 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _02186f70 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _02186f70: cmp r2, #0x4000 blt _02186f94 add r1, sp, #0x28 mov r0, r4 bl func_ov00_020cca68 cmp r0, #0 bne _02186f94 mov r0, r6 bl func_ov30_02188598 _02186f94: mov r0, r7 mov r1, #3 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02186fa8: mov r8, #0 add r1, sp, #4 mov r0, r6 mov r5, r8 bl func_ov30_021884b8 add r1, sp, #4 mov r0, r4 mov r2, #2 bl func_ov30_02182ecc add r1, sp, #4 mov r0, r4 bl func_ov30_02182c9c cmp r0, #0 beq _02187024 mov r0, r6 mov r8, #1 bl func_ov30_021885b8 cmp r0, #0 movne r5, r8 bne _02187024 mvn r2, #0 add r1, sp, #2 mov r0, r6 strb r2, [sp, #2] strb r2, [sp, #3] bl func_ov30_0218848c add r1, sp, #2 mov r0, r4 bl func_ov30_02183d80 mov r0, r6 bl func_ov30_02188598 _02187024: mov r0, r4 bl func_ov30_021824cc cmp r0, #0 beq _02187048 mov r0, r7 mov r1, #5 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02187048: mov r0, r4 mov r1, #0x1000 bl func_ov00_020c29ec cmp r0, #0 beq _02187070 mov r0, r7 mov r1, #4 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02187070: cmp r5, #0 bne _02187098 mov r0, r7 bl func_ov00_020c50f0 cmp r0, #0x5a addle sp, sp, #0xa0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} cmp r8, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02187098: mov r0, r6 add r1, r7, #0xc bl func_ov30_0218848c ldr r0, _0218722c ; =data_027e10b4 ldr r0, [r0] bl func_ov30_02183fa0 cmp r0, #0 beq _0218715c mvn r2, #0 add r1, sp, #0 mov r0, r7 strb r2, [sp] strb r2, [sp, #1] bl func_ov30_0218695c ldrsb r1, [r7, #0xe] ldrsb r0, [sp] cmp r1, r0 ldreqsb r1, [r7, #0xf] ldreqsb r0, [sp, #1] cmpeq r1, r0 beq _02187110 ldrsb r2, [sp] mov r0, r7 mov r1, #2 strb r2, [r7, #0xe] ldrsb r2, [sp, #1] strb r2, [r7, #0xf] bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02187110: mov r0, r6 bl func_ov30_02188410 cmp r0, #0 bne _02187134 mov r0, r7 mov r1, #2 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02187134: cmp r5, #0 mov r0, r7 beq _02187150 mov r1, #4 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02187150: bl func_ov00_020c50fc add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0218715c: mov r0, r7 mov r1, #4 bl func_ov30_02186a04 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02187170: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [r4, #4] ldr r0, _02187228 ; =0x43485336 cmp r1, r0 bne _021871cc ldrb r0, [r4, #0xab6] cmp r0, #0 beq _021871cc mov r0, r7 mov r1, #0xf mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021871cc: mov r0, r7 mov r1, #5 mov r2, #0 bl func_ov00_020c50d4 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021871e4: bl func_ov30_02182dc0 mov r0, r4 mov r1, #0 bl func_ov00_020cb160 ldr r0, [r0, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r7 mov r1, #3 bl func_ov30_02186a04 _02187218: add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov30_02186b50 _02187220: .word data_ov00_020e8398 _02187224: .word data_027e0ff0 _02187228: .word 0x43485336 _0218722c: .word data_027e10b4 _02187230: .word 0xffff8001 .global func_ov30_02187234 arm_func_start func_ov30_02187234 func_ov30_02187234: ; 0x02187234 ldr r2, [r0] cmp r2, #0 mov r2, #0 bne _0218725c str r1, [r0] str r1, [r0, #4] str r2, [r1] str r2, [r1, #4] str r0, [r1, #8] bx lr _0218725c: ldr r3, [r0, #4] str r1, [r3, #4] ldr r3, [r0, #4] str r3, [r1] str r2, [r1, #4] str r0, [r1, #8] str r1, [r0, #4] bx lr arm_func_end func_ov30_02187234 .global func_ov30_0218727c arm_func_start func_ov30_0218727c func_ov30_0218727c: ; 0x0218727c mov r2, #0 str r2, [r1, #8] ldr r3, [r1] ldr r2, [r1, #4] cmp r3, #0 streq r2, [r0] strne r2, [r3, #4] ldr r2, [r1, #4] cmp r2, #0 ldreq r2, [r1] streq r2, [r0, #4] ldrne r0, [r1] strne r0, [r2] mov r0, #0 str r0, [r1] str r0, [r1, #4] str r0, [r1, #8] bx lr arm_func_end func_ov30_0218727c .global func_ov30_021872c4 arm_func_start func_ov30_021872c4 func_ov30_021872c4: ; 0x021872c4 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, [r1] ldr r3, _02187300 ; =data_027e0e60 str r2, [sp] ldr ip, [r1, #4] mov r2, r0 str ip, [sp, #4] ldr ip, [r1, #8] ldr r0, [r3] add r1, sp, #0 str ip, [sp, #8] bl func_ov00_0208433c add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_021872c4 _02187300: .word data_027e0e60 .global func_ov30_02187304 arm_func_start func_ov30_02187304 func_ov30_02187304: ; 0x02187304 ldr r2, _02187320 ; =data_027e0e60 mov r3, r0 ldr r0, [r2] mov r2, r1 ldr ip, _02187324 ; =func_ov00_0208439c mov r1, r3 bx ip .align 2, 0 arm_func_end func_ov30_02187304 _02187320: .word data_027e0e60 _02187324: .word func_ov00_0208439c .global func_ov30_02187328 arm_func_start func_ov30_02187328 func_ov30_02187328: ; 0x02187328 stmdb sp!, {r3, lr} bl func_ov30_02187358 cmp r0, #1 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov30_02187328 .global func_ov30_02187340 arm_func_start func_ov30_02187340 func_ov30_02187340: ; 0x02187340 stmdb sp!, {r3, lr} bl func_ov30_02187388 cmp r0, #1 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov30_02187340 .global func_ov30_02187358 arm_func_start func_ov30_02187358 func_ov30_02187358: ; 0x02187358 ldrsh r3, [r0, #2] ldrsh r2, [r1, #2] subs r3, r3, r2 ldrsh r2, [r0] ldrsh r0, [r1] rsbmi r3, r3, #0 subs r0, r2, r0 rsbmi r0, r0, #0 add r0, r0, r3 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bx lr arm_func_end func_ov30_02187358 .global func_ov30_02187388 arm_func_start func_ov30_02187388 func_ov30_02187388: ; 0x02187388 ldrsh r3, [r0, #2] ldrsh r2, [r1, #2] subs r3, r3, r2 ldrsh r2, [r0] ldrsh r0, [r1] rsbmi r3, r3, #0 subs r0, r2, r0 rsbmi r0, r0, #0 cmp r0, r3 movle r0, r3 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bx lr arm_func_end func_ov30_02187388 .global func_ov30_021873bc arm_func_start func_ov30_021873bc func_ov30_021873bc: ; 0x021873bc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 ldr r2, _02187568 ; =data_027e0e60 mov r5, r0 ldr r0, [r2] mov r4, r1 bl func_ov00_02084324 cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov30_02187328 cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} mov r0, #0 strh r0, [sp, #4] strh r0, [sp, #6] strh r0, [sp] strh r0, [sp, #2] ldrsh r3, [r5] ldrsh r0, [r4] add ip, r3, #1 cmp ip, r0 bne _02187464 ldrsh r2, [r5, #2] ldrsh r1, [r4, #2] add r2, r2, #1 cmp r2, r1 bne _02187464 strh ip, [sp, #4] ldrsh r0, [r5, #2] strh r0, [sp, #6] ldrsh r0, [r5] strh r0, [sp] ldrsh r0, [r5, #2] add r0, r0, #1 strh r0, [sp, #2] b _02187524 _02187464: cmp ip, r0 bne _021874a4 ldrsh r2, [r5, #2] ldrsh r1, [r4, #2] sub r2, r2, #1 cmp r2, r1 bne _021874a4 strh ip, [sp, #4] ldrsh r0, [r5, #2] strh r0, [sp, #6] ldrsh r0, [r5] strh r0, [sp] ldrsh r0, [r5, #2] sub r0, r0, #1 strh r0, [sp, #2] b _02187524 _021874a4: sub r3, r3, #1 cmp r3, r0 bne _021874e8 ldrsh r2, [r5, #2] ldrsh r1, [r4, #2] add r2, r2, #1 cmp r2, r1 bne _021874e8 strh r3, [sp, #4] ldrsh r0, [r5, #2] strh r0, [sp, #6] ldrsh r0, [r5] strh r0, [sp] ldrsh r0, [r5, #2] add r0, r0, #1 strh r0, [sp, #2] b _02187524 _021874e8: cmp r3, r0 bne _02187524 ldrsh r1, [r5, #2] ldrsh r0, [r4, #2] sub r1, r1, #1 cmp r1, r0 bne _02187524 strh r3, [sp, #4] ldrsh r0, [r5, #2] strh r0, [sp, #6] ldrsh r0, [r5] strh r0, [sp] ldrsh r0, [r5, #2] sub r0, r0, #1 strh r0, [sp, #2] _02187524: ldr r0, _02187568 ; =data_027e0e60 add r1, sp, #4 ldr r0, [r0] bl func_ov00_02084324 cmp r0, #0 beq _0218755c ldr r0, _02187568 ; =data_027e0e60 add r1, sp, #0 ldr r0, [r0] bl func_ov00_02084324 cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _0218755c: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov30_021873bc _02187568: .word data_027e0e60 .global func_ov30_0218756c arm_func_start func_ov30_0218756c func_ov30_0218756c: ; 0x0218756c ldrsh r3, [r0, #2] ldrsh r2, [r1, #2] subs ip, r3, r2 ldrsh r2, [r0] movpl r3, ip ldrsh r0, [r1] rsbmi r3, ip, #0 subs r1, r2, r0 movpl r2, r1 rsbmi r2, r1, #0 cmp r2, r3 movge r2, r3 ldr r0, _021875d0 ; =0x000016a1 cmp ip, #0 rsblt ip, ip, #0 cmp r1, #0 rsblt r1, r1, #0 cmp r1, ip movle r1, ip mul r0, r2, r0 sub r1, r1, r2 add r0, r0, r1, lsl #12 add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 bx lr .align 2, 0 arm_func_end func_ov30_0218756c _021875d0: .word 0x000016a1 .global func_ov30_021875d4 arm_func_start func_ov30_021875d4 func_ov30_021875d4: ; 0x021875d4 ldr r2, _021875e8 ; =data_027e0e60 ldr ip, _021875ec ; =func_ov00_02084324 mov r1, r0 ldr r0, [r2] bx ip .align 2, 0 arm_func_end func_ov30_021875d4 _021875e8: .word data_027e0e60 _021875ec: .word func_ov00_02084324 .global func_ov30_021875f0 arm_func_start func_ov30_021875f0 func_ov30_021875f0: ; 0x021875f0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r3, #0 str r3, [r6, #0xc] str r3, [r6, #0x10] str r3, [r6, #0x14] str r3, [r6, #0x18] ldr r0, [r6] mov r5, r1 mov r4, r2 cmp r0, #0 ble _02187690 mov ip, r3 mov r0, r3 _02187628: ldr r2, [r6, #4] mov r7, r0 cmp r2, #0 ble _02187678 _02187638: mla r2, r3, r2, r7 ldr lr, [r6, #0x1c] add r1, r7, #1 str ip, [lr, r2, lsl #5] add r2, lr, r2, lsl #5 str ip, [r2, #4] str ip, [r2, #8] str ip, [r2, #0x14] str ip, [r2, #0x18] str ip, [r2, #0xc] str ip, [r2, #0x10] mov r1, r1, lsl #0x10 ldr r2, [r6, #4] mov r7, r1, asr #0x10 cmp r2, r1, asr #16 bgt _02187638 _02187678: add r1, r3, #1 mov r1, r1, lsl #0x10 ldr r2, [r6] mov r3, r1, asr #0x10 cmp r2, r1, asr #16 bgt _02187628 _02187690: mov r2, #0 str r2, [r6, #0x20] mov r1, r5 add r0, r6, #0x2c str r2, [r6, #0x24] bl func_ov30_021872c4 mov r1, r4 add r0, r6, #0x30 bl func_ov30_021872c4 ldr r0, [r6] ldrsh r3, [r6, #0x2c] add r1, r0, r0, lsr #31 ldrsh r2, [r6, #0x30] ldrsh r4, [r6, #0x2e] mov r1, r1, asr #0x1 add r0, r3, r2 add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf ldrsh r2, [r6, #0x32] rsb r0, r1, r0, asr #16 strh r0, [r6, #0x34] ldr r1, [r6, #4] add r0, r4, r2 add r0, r0, r0, lsr #31 add r1, r1, r1, lsr #31 mov r0, r0, lsl #0xf mov r1, r1, asr #0x1 rsb r0, r1, r0, asr #16 strh r0, [r6, #0x36] ldr r0, [r5, #4] str r0, [r6, #0x40] ldrsh r1, [r6, #0x2c] ldrsh r0, [r6, #0x30] subs r1, r1, r0 ldr r0, [r6] rsbmi r1, r1, #0 cmp r1, r0 bge _02187744 ldrsh r1, [r6, #0x2e] ldrsh r0, [r6, #0x32] subs r1, r1, r0 ldr r0, [r6, #4] rsbmi r1, r1, #0 cmp r1, r0 blt _02187754 _02187744: ldr r1, _02187764 ; =0x00007fff mov r0, #0 strh r1, [r6, #0x38] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02187754: mov r0, #0 strh r0, [r6, #0x38] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov30_021875f0 _02187764: .word 0x00007fff .global func_ov30_02187768 arm_func_start func_ov30_02187768 func_ov30_02187768: ; 0x02187768 stmdb sp!, {r3, lr} ldrsh lr, [r1, #0x1c] ldrsh ip, [r0, #0x34] sub ip, lr, ip str ip, [r2] ldrsh r1, [r1, #0x1e] ldrsh r0, [r0, #0x36] sub r0, r1, r0 str r0, [r3] ldmia sp!, {r3, pc} arm_func_end func_ov30_02187768 .global func_ov30_02187790 arm_func_start func_ov30_02187790 func_ov30_02187790: ; 0x02187790 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x1c mov r4, r0 ldmia r4, {r0, sb} mul r1, r0, sb ldrsh r8, [r4, #0x38] ldrsh r0, [r4, #0x3a] cmp r8, r1 add r0, r8, r0 mov r6, r0, lsl #0x10 bge _021878dc add r7, sp, #0x10 _021877c0: cmp r8, r6, asr #16 addge sp, sp, #0x1c movge r0, #1 ldmgeia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r8 mov r1, sb bl func_02002c14 mov r5, r0, lsl #0x10 mov r0, r8 mov r1, sb mov r8, r5, asr #0x10 bl func_02002c14 ldrsh r0, [r4, #0x34] mov r2, r1, lsl #0x10 mul r1, r8, sb ldr r3, [r4, #0x1c] add r1, r1, r2, asr #16 add r8, r3, r1, lsl #5 add r0, r0, r5, asr #16 strh r0, [r8, #0x1c] ldrsh r3, [r4, #0x36] mov r1, r7 add r0, r8, #0x1c add r2, r3, r2, asr #16 strh r2, [r8, #0x1e] bl func_ov30_02187304 add r0, r8, #0x1c bl func_ov30_021875d4 cmp r0, #0 beq _021878b0 ldr r1, [sp, #0x14] ldr r0, [r4, #0x40] subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, #0x800 bge _021878b0 ldrh sb, [r8, #0x1c] ldrh r3, [r4, #0x2c] ldrh r5, [r8, #0x1e] ldrh r2, [r4, #0x2e] strh sb, [sp] strh r3, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh r5, [sp, #2] strh r2, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh sb, [sp, #8] strh r5, [sp, #0xa] strh r3, [sp, #0xc] strh r2, [sp, #0xe] cmpeq r1, r0 bne _021878bc mov r1, r8 add r0, r4, #0xc bl func_ov30_02187234 str r8, [r4, #0x20] b _021878bc _021878b0: mov r1, r8 add r0, r4, #0x14 bl func_ov30_02187234 _021878bc: ldrsh r0, [r4, #0x38] add r0, r0, #1 strh r0, [r4, #0x38] ldmia r4, {r0, sb} mul r1, r0, sb ldrsh r8, [r4, #0x38] cmp r8, r1 blt _021877c0 _021878dc: mov r0, #0 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov30_02187790 .global func_ov30_021878e8 arm_func_start func_ov30_021878e8 func_ov30_021878e8: ; 0x021878e8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r8, r0 ldr r3, [r8, #0xc] mov r4, #0 cmp r3, #0 sub r2, r4, #0x80000001 beq _0218792c _02187908: ldr r1, [r3, #0xc] ldr r0, [r3, #0x10] add r0, r1, r0 cmp r2, r0 movgt r4, r3 ldr r3, [r3, #4] movgt r2, r0 cmp r3, #0 bne _02187908 _0218792c: mov r1, r4 add r0, r8, #0xc bl func_ov30_0218727c mov r1, r4 add r0, r8, #0x14 bl func_ov30_02187234 add r2, sp, #0x14 add r3, sp, #0x10 mov r0, r8 mov r1, r4 bl func_ov30_02187768 ldr r0, [sp, #0x14] sub r5, r0, #1 add r0, r0, #1 cmp r5, r0 addgt sp, sp, #0x18 ldmgtia sp!, {r4, r5, r6, r7, r8, pc} _02187970: ldr r1, [sp, #0x10] sub r6, r1, #1 add r0, r1, #1 cmp r6, r0 bgt _02187ab0 _02187984: ldr r0, [sp, #0x14] cmp r5, r0 cmpeq r6, r1 beq _02187a9c cmp r5, #0 blt _02187a9c ldr r0, [r8] cmp r5, r0 bge _02187a9c cmp r6, #0 blt _02187a9c ldr r0, [r8, #4] cmp r6, r0 bge _02187a9c mla r0, r5, r0, r6 ldr r1, [r8, #0x1c] add r7, r1, r0, lsl #5 ldr r0, [r7, #8] cmp r0, #0 bne _02187a9c add r0, r4, #0x1c add r1, r7, #0x1c bl func_ov30_021873bc cmp r0, #0 beq _02187a9c mov r1, r7 str r4, [r7, #0x14] add r0, r8, #0xc bl func_ov30_02187234 ldr r0, [sp, #0x14] cmp r5, r0 ldrne r0, [sp, #0x10] cmpne r6, r0 ldr r0, [r7, #0x14] bne _02187a1c ldr r0, [r0, #0xc] add r0, r0, #0x1000 b _02187a28 _02187a1c: ldr r0, [r0, #0xc] add r0, r0, #0xa1 add r0, r0, #0x1600 _02187a28: str r0, [r7, #0xc] add r0, r7, #0x1c add r1, r8, #0x30 bl func_ov30_0218756c str r0, [r7, #0x10] ldr r1, [r8, #0x24] ldr r1, [r1, #0x10] cmp r1, r0 strgt r7, [r8, #0x24] ldrh lr, [r8, #0x30] ldrh r3, [r7, #0x1c] ldrh ip, [r8, #0x32] ldrh r2, [r7, #0x1e] strh lr, [sp] strh r3, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh ip, [sp, #2] strh r2, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh lr, [sp, #8] strh ip, [sp, #0xa] strh r3, [sp, #0xc] strh r2, [sp, #0xe] cmpeq r1, r0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02187a9c: ldr r1, [sp, #0x10] add r6, r6, #1 add r0, r1, #1 cmp r6, r0 ble _02187984 _02187ab0: ldr r0, [sp, #0x14] add r5, r5, #1 add r0, r0, #1 cmp r5, r0 ble _02187970 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov30_021878e8 .global func_ov30_02187acc arm_func_start func_ov30_02187acc func_ov30_02187acc: ; 0x02187acc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrsh r0, [r5, #0x3c] mov r4, #0 cmp r0, #0 ble _02187b18 _02187ae4: mov r0, r5 bl func_ov30_02187b20 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov30_021878e8 add r0, r4, #1 mov r0, r0, lsl #0x10 ldrsh r1, [r5, #0x3c] mov r4, r0, asr #0x10 cmp r1, r0, asr #16 bgt _02187ae4 _02187b18: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_02187acc .global func_ov30_02187b20 arm_func_start func_ov30_02187b20 func_ov30_02187b20: ; 0x02187b20 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r1, [r0, #0xc] cmp r1, #0 addeq sp, sp, #0x10 moveq r0, #1 ldmeqia sp!, {r3, pc} ldr r1, [r0, #0x24] ldrh r3, [r0, #0x30] ldrh lr, [r1, #0x1c] ldrh ip, [r1, #0x1e] ldrh r2, [r0, #0x32] strh lr, [sp] strh r3, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh ip, [sp, #2] strh r2, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh lr, [sp, #8] strh ip, [sp, #0xa] cmpeq r1, r0 moveq r0, #1 strh r3, [sp, #0xc] strh r2, [sp, #0xe] movne r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end func_ov30_02187b20 .global func_ov30_02187b98 arm_func_start func_ov30_02187b98 func_ov30_02187b98: ; 0x02187b98 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 cmp r4, #4 addls pc, pc, r4, lsl #2 b _02187bf8 _02187bb0: ; jump table b _02187bf8 ; case 0 b _02187bf8 ; case 1 b _02187bc4 ; case 2 b _02187bf4 ; case 3 b _02187bf8 ; case 4 _02187bc4: ldr r0, [r5, #0x20] mov r1, #0 str r1, [r0, #0xc] ldr r0, [r5, #0x20] add r1, r5, #0x30 add r0, r0, #0x1c bl func_ov30_0218756c ldr r1, [r5, #0x20] str r0, [r1, #0x10] ldr r0, [r5, #0x20] str r0, [r5, #0x24] b _02187bf8 _02187bf4: bl func_ov30_02187d64 _02187bf8: str r4, [r5, #8] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_02187b98 .global func_ov30_02187c00 arm_func_start func_ov30_02187c00 func_ov30_02187c00: ; 0x02187c00 stmdb sp!, {r4, lr} ldrsh ip, [sp, #8] mov r4, r0 strh r3, [r4, #0x3a] strh ip, [r4, #0x3c] bl func_ov30_021875f0 cmp r0, #0 mov r0, r4 beq _02187c34 mov r1, #1 bl func_ov30_02187b98 mov r0, #1 ldmia sp!, {r4, pc} _02187c34: mov r1, #4 bl func_ov30_02187b98 mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov30_02187c00 .global func_ov30_02187c44 arm_func_start func_ov30_02187c44 func_ov30_02187c44: ; 0x02187c44 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r0 ldr r1, [r4, #8] cmp r1, #4 addls pc, pc, r1, lsl #2 b _02187d34 _02187c60: ; jump table b _02187d34 ; case 0 b _02187c74 ; case 1 b _02187d18 ; case 2 b _02187d34 ; case 3 b _02187d34 ; case 4 _02187c74: bl func_ov30_02187790 cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} ldr r5, [r4, #0x20] cmp r5, #0 bne _02187ca4 mov r0, r4 mov r1, #4 bl func_ov30_02187b98 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02187ca4: ldrh lr, [r4, #0x30] ldrh r3, [r5, #0x1c] ldrh ip, [r4, #0x32] ldrh r2, [r5, #0x1e] strh lr, [sp] strh r3, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh ip, [sp, #2] strh r2, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh lr, [sp, #8] strh ip, [sp, #0xa] cmpeq r1, r0 strh r3, [sp, #0xc] strh r2, [sp, #0xe] mov r0, r4 bne _02187d08 mov r1, #3 str r5, [r4, #0x24] bl func_ov30_02187b98 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02187d08: mov r1, #2 bl func_ov30_02187b98 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02187d18: bl func_ov30_02187acc cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} mov r0, r4 mov r1, #3 bl func_ov30_02187b98 _02187d34: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_02187c44 .global func_ov30_02187d3c arm_func_start func_ov30_02187d3c func_ov30_02187d3c: ; 0x02187d3c ldr r0, [r0, #8] cmp r0, #3 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_02187d3c .global func_ov30_02187d50 arm_func_start func_ov30_02187d50 func_ov30_02187d50: ; 0x02187d50 ldr r0, [r0, #8] cmp r0, #4 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_02187d50 .global func_ov30_02187d64 arm_func_start func_ov30_02187d64 func_ov30_02187d64: ; 0x02187d64 ldr r1, [r0, #0x20] str r1, [r0, #0x28] ldr r0, [r0, #0x24] _02187d70: mov r1, r0 ldr r0, [r0, #0x14] cmp r0, #0 strne r1, [r0, #0x18] bne _02187d70 bx lr arm_func_end func_ov30_02187d64 .global func_ov30_02187d88 arm_func_start func_ov30_02187d88 func_ov30_02187d88: ; 0x02187d88 stmdb sp!, {r3, lr} ldr r0, [r0, #0x28] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x1c bl func_ov30_02187304 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov30_02187d88 .global func_ov30_02187dac arm_func_start func_ov30_02187dac func_ov30_02187dac: ; 0x02187dac stmdb sp!, {r3, lr} ldr r0, [r0, #0x28] cmp r0, #0 ldrne r0, [r0, #0x18] cmpne r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x1c bl func_ov30_02187304 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov30_02187dac .global func_ov30_02187dd8 arm_func_start func_ov30_02187dd8 func_ov30_02187dd8: ; 0x02187dd8 stmdb sp!, {r3, lr} ldr r0, [r0, #0x24] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x1c bl func_ov30_02187304 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov30_02187dd8 .global func_ov30_02187dfc arm_func_start func_ov30_02187dfc func_ov30_02187dfc: ; 0x02187dfc ldr r1, [r0, #0x28] ldr r1, [r1, #0x18] cmp r1, #0 strne r1, [r0, #0x28] movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov30_02187dfc .global func_ov30_02187e18 arm_func_start func_ov30_02187e18 func_ov30_02187e18: ; 0x02187e18 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x3c mov sl, r0 mov sb, r1 mov r8, r2 mov r7, r3 ldr r6, [sp, #0x60] bl func_ov30_02187dfc ldr fp, _02187eec ; =data_027e0e60 add r5, sp, #0x24 mov r4, #6 _02187e44: mov r0, sl bl func_ov30_02187ef0 cmp r0, #0 addne sp, sp, #0x3c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, sl add r1, sp, #0x30 bl func_ov30_02187dac cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x34] ldr r3, [sp, #0x30] add ip, r0, r8 str ip, [sp, #0x34] ldmia sb, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [sp, #0x24] ldr r1, [sp, #0x38] str r0, [sp, #0xc] ldr r0, [sp, #0x2c] str r3, [sp, #0x18] str r1, [sp, #0x20] str ip, [sp, #0x28] str ip, [sp, #0x1c] str ip, [sp, #0x10] str r0, [sp, #0x14] stmia sp, {r4, r7} str r6, [sp, #8] ldr r0, [fp] add r1, sp, #0x18 add r2, sp, #0xc mov r3, r8 bl func_01ffe1cc cmp r0, #0 addne sp, sp, #0x3c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, sl bl func_ov30_02187dfc b _02187e44 arm_func_end func_ov30_02187e18 .global func_ov30_02187ee4 arm_func_start func_ov30_02187ee4 func_ov30_02187ee4: ; 0x02187ee4 add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_02187ee4 _02187eec: .word data_027e0e60 .global func_ov30_02187ef0 arm_func_start func_ov30_02187ef0 func_ov30_02187ef0: ; 0x02187ef0 ldr r0, [r0, #0x28] ldr r0, [r0, #0x18] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_02187ef0 .global func_ov30_02187f08 arm_func_start func_ov30_02187f08 func_ov30_02187f08: ; 0x02187f08 mov r1, #0 str r1, [r0] str r1, [r0, #4] str r1, [r0, #8] add ip, r0, #0x10 str r1, [r0, #0xc] add r1, ip, #0x1000 mov r3, #0 mvn r2, #0 _02187f2c: str r3, [ip] str r3, [ip, #4] str r3, [ip, #8] str r3, [ip, #0x14] str r3, [ip, #0x18] strb r2, [ip, #0x1c] strb r2, [ip, #0x1d] add ip, ip, #0x20 cmp ip, r1 blo _02187f2c bx lr arm_func_end func_ov30_02187f08 .global func_ov30_02187f58 arm_func_start func_ov30_02187f58 func_ov30_02187f58: ; 0x02187f58 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc str r0, [sp] add r0, r0, #0x1000 mov sb, #0 ldr r2, _0218807c ; =data_027e0ff0 str sb, [r0, #0x10] ldr r2, [r2] str r1, [sp, #4] ldr r0, [r2, #4] cmp r0, #0 addle sp, sp, #0xc ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02187f8c: ldr r8, [r2] and r7, sb, #0xff ldr r2, [r8, r7, lsl #3] cmp r2, #0 beq _02188054 ldrb r1, [r2, #4] ldr r0, [sp, #4] cmp r0, r1 bne _02188054 ldrb r0, [r2, #1] mov sl, #0 cmp r0, #0 ble _02188054 ldr r0, [sp] ldr fp, _0218807c ; =data_027e0ff0 add r6, r0, #0x10 add r5, r6, #0x1000 add r4, r0, #0x1000 _02187fd4: ldr r0, [fp] strb sb, [sp, #0xa] strb sl, [sp, #0xb] add r1, sp, #0xa bl func_ov00_020c47cc ldrsb r0, [r0, #0x16] cmp r0, #0 cmpne r0, #4 movne r0, #1 moveq r0, #0 cmp r0, #0 beq _02188038 ldrb r2, [sp, #0xa] ldrb r1, [sp, #0xb] ldr r0, [r4, #0x10] strb r2, [sp, #8] strb r1, [sp, #9] add r2, r6, r0, lsl #5 ldrsb r1, [sp, #8] ldrsb r0, [sp, #9] strb r1, [r2, #0x1c] strb r0, [r2, #0x1d] ldr r0, [r5] add r0, r0, #1 str r0, [r5] _02188038: ldr r1, [r8, r7, lsl #3] add r0, sl, #1 mov r0, r0, lsl #0x18 ldrb r1, [r1, #1] mov sl, r0, asr #0x18 cmp r1, r0, asr #24 bgt _02187fd4 _02188054: ldr r0, _0218807c ; =data_027e0ff0 add r1, sb, #1 ldr r2, [r0] mov r0, r1, lsl #0x18 ldr r1, [r2, #4] mov sb, r0, asr #0x18 cmp r1, r0, asr #24 bgt _02187f8c add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_02187f58 _0218807c: .word data_027e0ff0 .global func_ov30_02188080 arm_func_start func_ov30_02188080 func_ov30_02188080: ; 0x02188080 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov ip, #0 str ip, [r5] str ip, [r5, #4] str ip, [r5, #8] str ip, [r5, #0xc] add r0, r5, #0x1000 ldr r3, [r0, #0x10] mov r4, r1 cmp r3, #0 ble _021880e8 add lr, r5, #0x10 mov r3, ip _021880b8: str r3, [lr] str r3, [lr, #4] str r3, [lr, #8] str r3, [lr, #0x14] str r3, [lr, #0x18] str r3, [lr, #0xc] str r3, [lr, #0x10] ldr r1, [r0, #0x10] add ip, ip, #1 cmp ip, r1 add lr, lr, #0x20 blt _021880b8 _021880e8: add r3, r5, #0x1000 mov ip, #0 str ip, [r3, #0x14] mov r0, r5 mov r1, r2 str ip, [r3, #0x18] bl func_ov30_02188168 add r1, r5, #0x1000 str r0, [r1, #0x18] mov r0, r5 mov r1, r4 bl func_ov30_02188168 add r2, r5, #0x1000 str r0, [r2, #0x14] str r0, [r2, #0x1c] ldr r0, [r2, #0x14] mvn r1, #0x80000001 str r1, [r0, #0x10] ldr r0, [r2, #0x18] cmp r0, #0 ldrne r1, [r2, #0x14] cmpne r1, #0 beq _02188160 cmp r0, r1 streq r0, [r2, #0x1c] beq _02188158 mov r0, r5 bl func_ov30_02187234 _02188158: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02188160: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov30_02188080 .global func_ov30_02188168 arm_func_start func_ov30_02188168 func_ov30_02188168: ; 0x02188168 stmdb sp!, {r4, lr} add r2, r0, #0x1000 ldr r4, [r2, #0x10] mov ip, #0 cmp r4, #0 ble _021881b4 ldrsb lr, [r1] _02188184: add r3, r0, ip, lsl #5 ldrsb r2, [r3, #0x2c] ldrsb r3, [r3, #0x2d] cmp lr, r2 ldreqsb r2, [r1, #1] cmpeq r2, r3 addeq r0, r0, #0x10 addeq r0, r0, ip, lsl #5 ldmeqia sp!, {r4, pc} add ip, ip, #1 cmp ip, r4 blt _02188184 _021881b4: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov30_02188168 .global func_ov30_021881bc arm_func_start func_ov30_021881bc func_ov30_021881bc: ; 0x021881bc stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c mov sl, r0 ldr r3, [sl] mov r7, #0 cmp r3, #0 sub r2, r7, #0x80000001 beq _02188200 _021881dc: ldr r1, [r3, #0xc] ldr r0, [r3, #0x10] add r0, r1, r0 cmp r2, r0 movgt r7, r3 ldr r3, [r3, #4] movgt r2, r0 cmp r3, #0 bne _021881dc _02188200: mov r0, sl mov r1, r7 bl func_ov30_0218727c mov r1, r7 add r0, sl, #8 bl func_ov30_02187234 add r0, sl, #0x1000 ldr r3, [r0, #0x18] ldr r0, _02188394 ; =data_027e0ff0 ldrsb r2, [r3, #0x1c] ldr r0, [r0] add r1, sp, #0 strb r2, [sp] ldrsb r2, [r3, #0x1d] strb r2, [sp, #1] bl func_ov00_020c47cc add r0, r0, #4 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrsb r2, [r7, #0x1c] ldr r0, _02188394 ; =data_027e0ff0 add r1, sp, #4 strb r2, [sp, #4] ldrsb r2, [r7, #0x1d] ldr r0, [r0] strb r2, [sp, #5] bl func_ov00_020c47cc mov r6, r0 mov fp, #0 add sb, r6, #0x14 add r4, sl, #0x1000 _02188280: ldrsb r0, [sb, #2] sub r0, r0, #1 mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 and r0, r0, #0xff cmp r0, #2 bhi _02188378 ldrsb r0, [sb, #3] cmp r0, #0 bne _02188378 ldrsb r2, [sb] ldr r0, _02188394 ; =data_027e0ff0 add r1, sp, #2 strb r2, [sp, #2] ldrsb r2, [sb, #1] ldr r0, [r0] strb r2, [sp, #3] bl func_ov00_020c47cc mov r5, r0 mov r0, sl add r1, sp, #2 bl func_ov30_02188168 mov r8, r0 ldr r0, [r8, #8] cmp r0, #0 bne _02188378 mov r0, sl str r7, [r8, #0x14] mov r1, r8 bl func_ov30_02187234 ldr r1, [r6, #4] add r0, sp, #0x14 str r1, [sp, #0x14] ldr r2, [r6, #8] add r1, sp, #8 str r2, [sp, #0x18] ldr r2, [r6, #0xc] str r2, [sp, #0x1c] ldr r2, [r5, #4] str r2, [sp, #8] ldr r2, [r5, #8] str r2, [sp, #0xc] ldr r2, [r5, #0xc] str r2, [sp, #0x10] bl func_ov00_020ce2f0 ldr r2, [r8, #0x14] add r1, sp, #8 ldr r2, [r2, #0xc] add r0, r2, r0 str r0, [r8, #0xc] add r0, sp, #0x20 bl func_ov00_020ce2f0 str r0, [r8, #0x10] ldr r1, [r4, #0x1c] ldr r1, [r1, #0x10] cmp r1, r0 strgt r8, [r4, #0x1c] ldr r0, [r4, #0x18] cmp r8, r0 addeq sp, sp, #0x2c moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02188378: add fp, fp, #1 cmp fp, #4 add sb, sb, #4 blt _02188280 mov r0, #0 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov30_021881bc _02188394: .word data_027e0ff0 .global func_ov30_02188398 arm_func_start func_ov30_02188398 func_ov30_02188398: ; 0x02188398 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r6, r0 mov r4, #0 cmp r5, #0 ldmleia sp!, {r4, r5, r6, pc} _021883b0: mov r0, r6 bl func_ov30_021883e0 cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 bl func_ov30_021881bc add r0, r4, #1 mov r0, r0, lsl #0x10 cmp r5, r0, asr #16 mov r4, r0, asr #0x10 bgt _021883b0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov30_02188398 .global func_ov30_021883e0 arm_func_start func_ov30_021883e0 func_ov30_021883e0: ; 0x021883e0 ldr r1, [r0] cmp r1, #0 beq _02188400 add r0, r0, #0x1000 ldr r1, [r0, #0x18] ldr r0, [r0, #0x1c] cmp r1, r0 bne _02188408 _02188400: mov r0, #1 bx lr _02188408: mov r0, #0 bx lr arm_func_end func_ov30_021883e0 .global func_ov30_02188410 arm_func_start func_ov30_02188410 func_ov30_02188410: ; 0x02188410 add r0, r0, #0x1000 ldr r1, [r0, #0x1c] ldr r0, [r0, #0x18] cmp r1, r0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_02188410 .global func_ov30_0218842c arm_func_start func_ov30_0218842c func_ov30_0218842c: ; 0x0218842c add r0, r0, #0x1000 ldr r1, [r0, #0x18] ldr r0, [r0, #0x1c] cmp r0, r1 ldreq r0, [r1, #0xc] mvnne r0, #0x80000000 bx lr arm_func_end func_ov30_0218842c .global func_ov30_02188448 arm_func_start func_ov30_02188448 func_ov30_02188448: ; 0x02188448 add r1, r0, #0x1000 ldr r2, [r1, #0x14] str r2, [r1, #0x20] ldr r1, [r1, #0x1c] _02188458: mov r2, r1 ldr r1, [r1, #0x14] cmp r1, #0 strne r2, [r1, #0x18] bne _02188458 add r0, r0, #0x1000 ldr r0, [r0, #0x1c] cmp r0, #0 bxeq lr _0218847c: ldr r0, [r0, #0x18] cmp r0, #0 bne _0218847c bx lr arm_func_end func_ov30_02188448 .global func_ov30_0218848c arm_func_start func_ov30_0218848c func_ov30_0218848c: ; 0x0218848c add r0, r0, #0x1000 ldr r0, [r0, #0x20] cmp r0, #0 moveq r0, #0 bxeq lr ldrsb r3, [r0, #0x1d] ldrsb r2, [r0, #0x1c] mov r0, #1 strb r2, [r1] strb r3, [r1, #1] bx lr arm_func_end func_ov30_0218848c .global func_ov30_021884b8 arm_func_start func_ov30_021884b8 func_ov30_021884b8: ; 0x021884b8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r0, r0, #0x1000 ldr r3, [r0, #0x20] mov r4, r1 cmp r3, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldrsb r2, [r3, #0x1c] ldr r0, _02188520 ; =data_027e0ff0 add r1, sp, #0 strb r2, [sp] ldrsb r2, [r3, #0x1d] ldr r0, [r0] strb r2, [sp, #1] bl func_ov00_020c47cc ldr r1, [r0, #4] str r1, [r4] ldr r1, [r0, #8] str r1, [r4, #4] ldr r1, [r0, #0xc] mov r0, #1 str r1, [r4, #8] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov30_021884b8 _02188520: .word data_027e0ff0 .global func_ov30_02188524 arm_func_start func_ov30_02188524 func_ov30_02188524: ; 0x02188524 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r0, r0, #0x1000 ldr r0, [r0, #0x20] mov r4, r1 cmp r0, #0 ldrne r3, [r0, #0x18] cmpne r3, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldrsb r2, [r3, #0x1c] ldr r0, _02188594 ; =data_027e0ff0 add r1, sp, #0 strb r2, [sp] ldrsb r2, [r3, #0x1d] ldr r0, [r0] strb r2, [sp, #1] bl func_ov00_020c47cc ldr r1, [r0, #4] str r1, [r4] ldr r1, [r0, #8] str r1, [r4, #4] ldr r1, [r0, #0xc] mov r0, #1 str r1, [r4, #8] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov30_02188524 _02188594: .word data_027e0ff0 .global func_ov30_02188598 arm_func_start func_ov30_02188598 func_ov30_02188598: ; 0x02188598 add r0, r0, #0x1000 ldr r1, [r0, #0x20] ldr r1, [r1, #0x18] cmp r1, #0 strne r1, [r0, #0x20] movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov30_02188598 .global func_ov30_021885b8 arm_func_start func_ov30_021885b8 func_ov30_021885b8: ; 0x021885b8 add r0, r0, #0x1000 ldr r0, [r0, #0x20] ldr r0, [r0, #0x18] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov30_021885b8 .rodata .global data_ov30_021885d4 data_ov30_021885d4: ; 0x021885d4 .ascii "head_jnt" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021885e0 data_ov30_021885e0: ; 0x021885e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021885e4 data_ov30_021885e4: ; 0x021885e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021885e8 data_ov30_021885e8: ; 0x021885e8 .ascii "RarmB_jnt" .byte 0x00, 0x00, 0x00 .global data_ov30_021885f4 data_ov30_021885f4: ; 0x021885f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021885f8 data_ov30_021885f8: ; 0x021885f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021885fc data_ov30_021885fc: ; 0x021885fc .byte 0x33, 0x03, 0x00, 0x00 .global data_ov30_02188600 data_ov30_02188600: ; 0x02188600 .byte 0x14, 0xfe, 0xff, 0xff .global data_ov30_02188604 data_ov30_02188604: ; 0x02188604 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov30_02188608 data_ov30_02188608: ; 0x02188608 .byte 0x33, 0x03, 0x00, 0x00 .global data_ov30_0218860c data_ov30_0218860c: ; 0x0218860c .byte 0xec, 0x01, 0x00, 0x00 .global data_ov30_02188610 data_ov30_02188610: ; 0x02188610 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov30_02188614 data_ov30_02188614: ; 0x02188614 .byte 0x9a, 0x05, 0x00, 0x00 .global data_ov30_02188618 data_ov30_02188618: ; 0x02188618 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218861c data_ov30_0218861c: ; 0x0218861c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188620 data_ov30_02188620: ; 0x02188620 .byte 0x9a, 0x05, 0x00, 0x00 .global data_ov30_02188624 data_ov30_02188624: ; 0x02188624 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188628 data_ov30_02188628: ; 0x02188628 .byte 0x66, 0x16, 0x00, 0x00 .global data_ov30_0218862c data_ov30_0218862c: ; 0x0218862c .byte 0x00, 0x08, 0x00, 0x00 .global data_ov30_02188630 data_ov30_02188630: ; 0x02188630 .byte 0x66, 0xfa, 0xff, 0xff .global data_ov30_02188634 data_ov30_02188634: ; 0x02188634 .byte 0xcd, 0x08, 0x00, 0x00 .global data_ov30_02188638 data_ov30_02188638: ; 0x02188638 .byte 0x9a, 0x05, 0x00, 0x00 .global data_ov30_0218863c data_ov30_0218863c: ; 0x0218863c .byte 0x00, 0xf0, 0xff, 0xff .global data_ov30_02188640 data_ov30_02188640: ; 0x02188640 .byte 0x66, 0x12, 0x00, 0x00 .global data_ov30_02188644 data_ov30_02188644: ; 0x02188644 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218864c data_ov30_0218864c: ; 0x0218864c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188650 data_ov30_02188650: ; 0x02188650 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188654 data_ov30_02188654: ; 0x02188654 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188658 data_ov30_02188658: ; 0x02188658 .ascii "walk" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188660 data_ov30_02188660: ; 0x02188660 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188664 data_ov30_02188664: ; 0x02188664 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188668 data_ov30_02188668: ; 0x02188668 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218866c data_ov30_0218866c: ; 0x0218866c .ascii "cutA" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188674 data_ov30_02188674: ; 0x02188674 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188678 data_ov30_02188678: ; 0x02188678 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218867c data_ov30_0218867c: ; 0x0218867c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_02188680 data_ov30_02188680: ; 0x02188680 .ascii "dam" .byte 0x00 .global data_ov30_02188684 data_ov30_02188684: ; 0x02188684 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188688 data_ov30_02188688: ; 0x02188688 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218868c data_ov30_0218868c: ; 0x0218868c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188690 data_ov30_02188690: ; 0x02188690 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_02188694 data_ov30_02188694: ; 0x02188694 .ascii "yoroke" .byte 0x00, 0x00 .global data_ov30_0218869c data_ov30_0218869c: ; 0x0218869c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886a0 data_ov30_021886a0: ; 0x021886a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886a4 data_ov30_021886a4: ; 0x021886a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886a8 data_ov30_021886a8: ; 0x021886a8 .ascii "search" .byte 0x00, 0x00 .global data_ov30_021886b0 data_ov30_021886b0: ; 0x021886b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886b4 data_ov30_021886b4: ; 0x021886b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886b8 data_ov30_021886b8: ; 0x021886b8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_021886bc data_ov30_021886bc: ; 0x021886bc .ascii "guard" .byte 0x00, 0x00, 0x00 .global data_ov30_021886c4 data_ov30_021886c4: ; 0x021886c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886c8 data_ov30_021886c8: ; 0x021886c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886cc data_ov30_021886cc: ; 0x021886cc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_021886d0 data_ov30_021886d0: ; 0x021886d0 .ascii "notice" .byte 0x00, 0x00 .global data_ov30_021886d8 data_ov30_021886d8: ; 0x021886d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886dc data_ov30_021886dc: ; 0x021886dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886e0 data_ov30_021886e0: ; 0x021886e0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_021886e4 data_ov30_021886e4: ; 0x021886e4 .ascii "appear" .byte 0x00, 0x00 .global data_ov30_021886ec data_ov30_021886ec: ; 0x021886ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886f0 data_ov30_021886f0: ; 0x021886f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021886f4 data_ov30_021886f4: ; 0x021886f4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_021886f8 data_ov30_021886f8: ; 0x021886f8 .ascii "invisible" .byte 0x00, 0x00, 0x00 .global data_ov30_02188704 data_ov30_02188704: ; 0x02188704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188708 data_ov30_02188708: ; 0x02188708 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_0218870c data_ov30_0218870c: ; 0x0218870c .ascii "killed" .byte 0x00, 0x00 .global data_ov30_02188714 data_ov30_02188714: ; 0x02188714 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188718 data_ov30_02188718: ; 0x02188718 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218871c data_ov30_0218871c: ; 0x0218871c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_02188720 data_ov30_02188720: ; 0x02188720 .ascii "warp1" .byte 0x00, 0x00, 0x00 .global data_ov30_02188728 data_ov30_02188728: ; 0x02188728 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218872c data_ov30_0218872c: ; 0x0218872c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188730 data_ov30_02188730: ; 0x02188730 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_02188734 data_ov30_02188734: ; 0x02188734 .ascii "dead" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218873c data_ov30_0218873c: ; 0x0218873c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188740 data_ov30_02188740: ; 0x02188740 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188744 data_ov30_02188744: ; 0x02188744 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_02188748 data_ov30_02188748: ; 0x02188748 .ascii "dead" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188750 data_ov30_02188750: ; 0x02188750 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188754 data_ov30_02188754: ; 0x02188754 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188758 data_ov30_02188758: ; 0x02188758 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov30_0218875c data_ov30_0218875c: ; 0x0218875c .byte 0x00, 0x30, 0x00, 0x00 .global data_ov30_02188760 data_ov30_02188760: ; 0x02188760 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov30_02188764 data_ov30_02188764: ; 0x02188764 .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov30_02188768 data_ov30_02188768: ; 0x02188768 .byte 0xcd, 0x00, 0x00, 0x00 .global data_ov30_0218876c data_ov30_0218876c: ; 0x0218876c .byte 0x00, 0xd0, 0x00, 0x00 .global data_ov30_02188770 data_ov30_02188770: ; 0x02188770 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov30_02188774 data_ov30_02188774: ; 0x02188774 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov30_02188778 data_ov30_02188778: ; 0x02188778 .byte 0x12, 0x00, 0x00, 0x00 .global data_ov30_0218877c data_ov30_0218877c: ; 0x0218877c .byte 0x13, 0x00, 0x00, 0x00 .global data_ov30_02188780 data_ov30_02188780: ; 0x02188780 .byte 0xff, 0xff, 0xff, 0xff .global data_ov30_02188784 data_ov30_02188784: ; 0x02188784 .byte 0x0f, 0x00, 0x00, 0x00 .global data_ov30_02188788 data_ov30_02188788: ; 0x02188788 .byte 0x12, 0x00, 0x00, 0x00 .global data_ov30_0218878c data_ov30_0218878c: ; 0x0218878c .byte 0x13, 0x00, 0x00, 0x00 .global data_ov30_02188790 data_ov30_02188790: ; 0x02188790 .byte 0xff, 0xff, 0xff, 0xff .global data_ov30_02188794 data_ov30_02188794: ; 0x02188794 .byte 0x10, 0x00, 0x00, 0x00 .global data_ov30_02188798 data_ov30_02188798: ; 0x02188798 .byte 0x12, 0x00, 0x00, 0x00 .global data_ov30_0218879c data_ov30_0218879c: ; 0x0218879c .byte 0x13, 0x00, 0x00, 0x00 .global data_ov30_021887a0 data_ov30_021887a0: ; 0x021887a0 .byte 0xff, 0xff, 0xff, 0xff .global data_ov30_021887a4 data_ov30_021887a4: ; 0x021887a4 .byte 0x11, 0x00, 0x00, 0x00 .global data_ov30_021887a8 data_ov30_021887a8: ; 0x021887a8 .byte 0xff, 0xff, 0xff, 0xff .global data_ov30_021887ac data_ov30_021887ac: ; 0x021887ac .ascii "RSHC" .global data_ov30_021887b0 data_ov30_021887b0: ; 0x021887b0 .byte 0x74, 0x87, 0x18, 0x02 .global data_ov30_021887b4 data_ov30_021887b4: ; 0x021887b4 .ascii "2SHC" .global data_ov30_021887b8 data_ov30_021887b8: ; 0x021887b8 .byte 0x84, 0x87, 0x18, 0x02 .global data_ov30_021887bc data_ov30_021887bc: ; 0x021887bc .ascii "6SHC" .global data_ov30_021887c0 data_ov30_021887c0: ; 0x021887c0 .byte 0x94, 0x87, 0x18, 0x02 .global data_ov30_021887c4 data_ov30_021887c4: ; 0x021887c4 .ascii "4SHC" .global data_ov30_021887c8 data_ov30_021887c8: ; 0x021887c8 .byte 0xa4, 0x87, 0x18, 0x02 .global data_ov30_021887cc data_ov30_021887cc: ; 0x021887cc .byte 0x02, 0x00, 0x00, 0x00 .global data_ov30_021887d0 data_ov30_021887d0: ; 0x021887d0 .ascii "MBLF" .global data_ov30_021887d4 data_ov30_021887d4: ; 0x021887d4 .ascii "TBLF" .global data_ov30_021887d8 data_ov30_021887d8: ; 0x021887d8 .ascii "LALF" .global data_ov30_021887dc data_ov30_021887dc: ; 0x021887dc .ascii "MTLF" .global data_ov30_021887e0 data_ov30_021887e0: ; 0x021887e0 .ascii "MTSL" .global data_ov30_021887e4 data_ov30_021887e4: ; 0x021887e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021887e8 data_ov30_021887e8: ; 0x021887e8 .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov30_021887ec data_ov30_021887ec: ; 0x021887ec .byte 0xcd, 0x14, 0x00, 0x00 .global data_ov30_021887f0 data_ov30_021887f0: ; 0x021887f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021887f4 data_ov30_021887f4: ; 0x021887f4 .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov30_021887f8 data_ov30_021887f8: ; 0x021887f8 .byte 0xcd, 0x14, 0x00, 0x00 .global data_ov30_021887fc data_ov30_021887fc: ; 0x021887fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188800 data_ov30_02188800: ; 0x02188800 .byte 0x00, 0x0c, 0x00, 0x00 .global data_ov30_02188804 data_ov30_02188804: ; 0x02188804 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov30_02188808 data_ov30_02188808: ; 0x02188808 .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov30_0218880c data_ov30_0218880c: ; 0x0218880c .byte 0x08, 0x00, 0x00, 0x00 .global data_ov30_02188810 data_ov30_02188810: ; 0x02188810 .byte 0x10, 0x00, 0x00, 0x00 .global data_ov30_02188814 data_ov30_02188814: ; 0x02188814 .byte 0xfb, 0x06, 0xfc, 0x05 .global data_ov30_02188818 data_ov30_02188818: ; 0x02188818 .byte 0xf6, 0x09, 0x00, 0x0c .global data_ov30_0218881c data_ov30_0218881c: ; 0x0218881c .byte 0x05, 0x00, 0x00, 0x00 .global data_ov30_02188820 data_ov30_02188820: ; 0x02188820 .byte 0x00, 0x10, 0x00, 0x00 .section .init, 4, 1, 4 .global func_ov30_02188824 arm_func_start func_ov30_02188824 func_ov30_02188824: ; 0x02188824 stmdb sp!, {lr} sub sp, sp, #0x84 ldr r0, _02188988 ; =data_ov30_021894ac ldr r1, _0218898c ; =0x43485352 ldr r2, _02188990 ; =func_ov30_02180628 ldr r3, _02188994 ; =func_ov30_02180548 bl func_0203e784 ldr r0, _02188988 ; =data_ov30_021894ac ldr r1, _02188998 ; =func_0203e7b4 ldr r2, _0218899c ; =data_ov30_021894a0 bl func_0204f8d4 ldr r0, _021889a0 ; =data_ov30_021894cc ldr r1, _021889a4 ; =0x43485332 ldr r2, _021889a8 ; =func_ov30_0218066c ldr r3, _021889ac ; =func_ov30_021805ac bl func_0203e784 ldr r0, _021889a0 ; =data_ov30_021894cc ldr r1, _02188998 ; =func_0203e7b4 ldr r2, _021889b0 ; =data_ov30_021894c0 bl func_0204f8d4 ldr r0, _021889b4 ; =data_ov30_021894ec ldr r1, _021889b8 ; =0x43485336 ldr r2, _021889bc ; =func_ov30_021806b0 ldr r3, _021889c0 ; =func_ov30_02180610 bl func_0203e784 ldr r0, _021889b4 ; =data_ov30_021894ec ldr r1, _02188998 ; =func_0203e7b4 ldr r2, _021889c4 ; =data_ov30_021894e0 bl func_0204f8d4 ldr r0, _021889c8 ; =data_ov30_0218950c ldr r1, _021889cc ; =0x43485334 ldr r2, _021889d0 ; =func_ov30_021806f4 ldr r3, _021889d4 ; =func_ov30_0218061c bl func_0203e784 ldr r0, _021889c8 ; =data_ov30_0218950c ldr r1, _02188998 ; =func_0203e7b4 ldr r2, _021889d8 ; =data_ov30_02189500 bl func_0204f8d4 mov lr, #0 str lr, [sp] str lr, [sp, #4] mov ip, #2 str ip, [sp, #8] mov r3, #0x1000 str r3, [sp, #0xc] str r3, [sp, #0x10] str r3, [sp, #0x14] str ip, [sp, #0x18] mov r2, #4 str r2, [sp, #0x1c] str r2, [sp, #0x20] str lr, [sp, #0x24] str lr, [sp, #0x28] str r2, [sp, #0x2c] str r2, [sp, #0x30] str r2, [sp, #0x34] mov r0, #5 str r0, [sp, #0x38] str r2, [sp, #0x3c] str r2, [sp, #0x40] str r2, [sp, #0x44] mov r0, #0xf0 str r0, [sp, #0x48] str r3, [sp, #0x4c] str lr, [sp, #0x50] ldr r1, _021889dc ; =0x00000666 mov r0, #0x800 str r1, [sp, #0x54] str lr, [sp, #0x58] str r1, [sp, #0x5c] str r0, [sp, #0x60] str r0, [sp, #0x64] str r3, [sp, #0x68] str lr, [sp, #0x6c] str lr, [sp, #0x70] str lr, [sp, #0x74] str lr, [sp, #0x78] str lr, [sp, #0x7c] str ip, [sp, #0x80] ldr r0, _021889e0 ; =data_ov30_02188c9c mov r1, #0xff mov r3, r1 bl func_ov00_020ccdd4 ldr r0, _021889e0 ; =data_ov30_02188c9c ldr r1, _021889e4 ; =func_ov00_020cceec ldr r2, _021889e8 ; =data_ov30_02189520 bl func_0204f8d4 add sp, sp, #0x84 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov30_02188824 _02188988: .word data_ov30_021894ac _0218898c: .word 0x43485352 _02188990: .word func_ov30_02180628 _02188994: .word func_ov30_02180548 _02188998: .word func_0203e7b4 _0218899c: .word data_ov30_021894a0 _021889a0: .word data_ov30_021894cc _021889a4: .word 0x43485332 _021889a8: .word func_ov30_0218066c _021889ac: .word func_ov30_021805ac _021889b0: .word data_ov30_021894c0 _021889b4: .word data_ov30_021894ec _021889b8: .word 0x43485336 _021889bc: .word func_ov30_021806b0 _021889c0: .word func_ov30_02180610 _021889c4: .word data_ov30_021894e0 _021889c8: .word data_ov30_0218950c _021889cc: .word 0x43485334 _021889d0: .word func_ov30_021806f4 _021889d4: .word func_ov30_0218061c _021889d8: .word data_ov30_02189500 _021889dc: .word 0x00000666 _021889e0: .word data_ov30_02188c9c _021889e4: .word func_ov00_020cceec _021889e8: .word data_ov30_02189520 .global func_ov30_021889ec arm_func_start func_ov30_021889ec func_ov30_021889ec: ; 0x021889ec stmdb sp!, {r3, lr} ldr r0, _02188a18 ; =data_ov30_0218953c ldr r1, _02188a1c ; =0x43484f42 ldr r2, _02188a20 ; =func_ov30_021847b0 mov r3, #0 bl func_0203e784 ldr r0, _02188a18 ; =data_ov30_0218953c ldr r1, _02188a24 ; =func_0203e7b4 ldr r2, _02188a28 ; =data_ov30_02189530 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov30_021889ec _02188a18: .word data_ov30_0218953c _02188a1c: .word 0x43484f42 _02188a20: .word func_ov30_021847b0 _02188a24: .word func_0203e7b4 _02188a28: .word data_ov30_02189530 .section .sinit, 4, 1, 4 .global data_ov30_02188a2c data_ov30_02188a2c: ; 0x02188a2c .byte 0x24, 0x88, 0x18, 0x02 .global data_ov30_02188a30 data_ov30_02188a30: ; 0x02188a30 .byte 0xec, 0x89, 0x18, 0x02 .data .global data_ov30_02188a40 data_ov30_02188a40: ; 0x02188a40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188a44 data_ov30_02188a44: ; 0x02188a44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188a48 data_ov30_02188a48: ; 0x02188a48 .byte 0x88, 0xc1, 0x17, 0x02 .global data_ov30_02188a4c data_ov30_02188a4c: ; 0x02188a4c .byte 0x6c, 0xc1, 0x17, 0x02 .global data_ov30_02188a50 data_ov30_02188a50: ; 0x02188a50 .byte 0x9c, 0xc1, 0x17, 0x02 .global data_ov30_02188a54 data_ov30_02188a54: ; 0x02188a54 .byte 0xa4, 0xc1, 0x17, 0x02 .global data_ov30_02188a58 data_ov30_02188a58: ; 0x02188a58 .byte 0x20, 0xc1, 0x17, 0x02 .global data_ov30_02188a5c data_ov30_02188a5c: ; 0x02188a5c .byte 0x50, 0x1f, 0x08, 0x02 .global data_ov30_02188a60 data_ov30_02188a60: ; 0x02188a60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188a64 data_ov30_02188a64: ; 0x02188a64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188a68 data_ov30_02188a68: ; 0x02188a68 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov30_02188a6c data_ov30_02188a6c: ; 0x02188a6c .byte 0x80, 0xc8, 0x17, 0x02 .global data_ov30_02188a70 data_ov30_02188a70: ; 0x02188a70 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov30_02188a74 data_ov30_02188a74: ; 0x02188a74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188a78 data_ov30_02188a78: ; 0x02188a78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188a7c data_ov30_02188a7c: ; 0x02188a7c .byte 0x90, 0xc7, 0x17, 0x02 .global data_ov30_02188a80 data_ov30_02188a80: ; 0x02188a80 .byte 0xe4, 0xcd, 0x17, 0x02 .global data_ov30_02188a84 data_ov30_02188a84: ; 0x02188a84 .byte 0x0c, 0x96, 0x0a, 0x02 .global data_ov30_02188a88 data_ov30_02188a88: ; 0x02188a88 .byte 0x14, 0x96, 0x0a, 0x02 .global data_ov30_02188a8c data_ov30_02188a8c: ; 0x02188a8c .byte 0x50, 0x96, 0x0a, 0x02 .global data_ov30_02188a90 data_ov30_02188a90: ; 0x02188a90 .byte 0xd4, 0x96, 0x0a, 0x02 .global data_ov30_02188a94 data_ov30_02188a94: ; 0x02188a94 .byte 0x40, 0x97, 0x0a, 0x02 .global data_ov30_02188a98 data_ov30_02188a98: ; 0x02188a98 .byte 0x64, 0x97, 0x0a, 0x02 .global data_ov30_02188a9c data_ov30_02188a9c: ; 0x02188a9c .byte 0xd0, 0x97, 0x0a, 0x02 .global data_ov30_02188aa0 data_ov30_02188aa0: ; 0x02188aa0 .byte 0xe0, 0x97, 0x0a, 0x02 .global data_ov30_02188aa4 data_ov30_02188aa4: ; 0x02188aa4 .byte 0xf8, 0x97, 0x0a, 0x02 .global data_ov30_02188aa8 data_ov30_02188aa8: ; 0x02188aa8 .byte 0x64, 0x98, 0x0a, 0x02 .global data_ov30_02188aac data_ov30_02188aac: ; 0x02188aac .byte 0xbc, 0x98, 0x0a, 0x02 .global data_ov30_02188ab0 data_ov30_02188ab0: ; 0x02188ab0 .byte 0x90, 0x98, 0x0a, 0x02 .global data_ov30_02188ab4 data_ov30_02188ab4: ; 0x02188ab4 .byte 0x68, 0x99, 0x0a, 0x02 .global data_ov30_02188ab8 data_ov30_02188ab8: ; 0x02188ab8 .byte 0xd0, 0xc4, 0x17, 0x02 .global data_ov30_02188abc data_ov30_02188abc: ; 0x02188abc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ac0 data_ov30_02188ac0: ; 0x02188ac0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ac4 data_ov30_02188ac4: ; 0x02188ac4 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov30_02188ac8 data_ov30_02188ac8: ; 0x02188ac8 .byte 0x00, 0xce, 0x17, 0x02 .global data_ov30_02188acc data_ov30_02188acc: ; 0x02188acc .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov30_02188ad0 data_ov30_02188ad0: ; 0x02188ad0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ad4 data_ov30_02188ad4: ; 0x02188ad4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ad8 data_ov30_02188ad8: ; 0x02188ad8 .byte 0x6d, 0x9b, 0x0a, 0x02 .global data_ov30_02188adc data_ov30_02188adc: ; 0x02188adc .byte 0x79, 0x9b, 0x0a, 0x02 .global data_ov30_02188ae0 data_ov30_02188ae0: ; 0x02188ae0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ae4 data_ov30_02188ae4: ; 0x02188ae4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ae8 data_ov30_02188ae8: ; 0x02188ae8 .byte 0xa4, 0xd3, 0x17, 0x02 .global data_ov30_02188aec data_ov30_02188aec: ; 0x02188aec .byte 0x90, 0xd9, 0x17, 0x02 .global data_ov30_02188af0 data_ov30_02188af0: ; 0x02188af0 .byte 0x98, 0xce, 0x17, 0x02 .global data_ov30_02188af4 data_ov30_02188af4: ; 0x02188af4 .byte 0xd0, 0xce, 0x17, 0x02 .global data_ov30_02188af8 data_ov30_02188af8: ; 0x02188af8 .byte 0x08, 0xcf, 0x17, 0x02 .global data_ov30_02188afc data_ov30_02188afc: ; 0x02188afc .byte 0x54, 0xd0, 0x17, 0x02 .global data_ov30_02188b00 data_ov30_02188b00: ; 0x02188b00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b04 data_ov30_02188b04: ; 0x02188b04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b08 data_ov30_02188b08: ; 0x02188b08 .byte 0x04, 0xce, 0x17, 0x02 .global data_ov30_02188b0c data_ov30_02188b0c: ; 0x02188b0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b10 data_ov30_02188b10: ; 0x02188b10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b14 data_ov30_02188b14: ; 0x02188b14 .byte 0x68, 0x04, 0x18, 0x02 .global data_ov30_02188b18 data_ov30_02188b18: ; 0x02188b18 .byte 0x84, 0x04, 0x18, 0x02 .global data_ov30_02188b1c data_ov30_02188b1c: ; 0x02188b1c .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b20 data_ov30_02188b20: ; 0x02188b20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b24 data_ov30_02188b24: ; 0x02188b24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b28 data_ov30_02188b28: ; 0x02188b28 .byte 0xec, 0x01, 0x18, 0x02 .global data_ov30_02188b2c data_ov30_02188b2c: ; 0x02188b2c .byte 0x08, 0x02, 0x18, 0x02 .global data_ov30_02188b30 data_ov30_02188b30: ; 0x02188b30 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b34 data_ov30_02188b34: ; 0x02188b34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b38 data_ov30_02188b38: ; 0x02188b38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b3c data_ov30_02188b3c: ; 0x02188b3c .byte 0x28, 0xfe, 0x17, 0x02 .global data_ov30_02188b40 data_ov30_02188b40: ; 0x02188b40 .byte 0x44, 0xfe, 0x17, 0x02 .global data_ov30_02188b44 data_ov30_02188b44: ; 0x02188b44 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b48 data_ov30_02188b48: ; 0x02188b48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b4c data_ov30_02188b4c: ; 0x02188b4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b50 data_ov30_02188b50: ; 0x02188b50 .byte 0x5c, 0xfb, 0x17, 0x02 .global data_ov30_02188b54 data_ov30_02188b54: ; 0x02188b54 .byte 0x7c, 0xfb, 0x17, 0x02 .global data_ov30_02188b58 data_ov30_02188b58: ; 0x02188b58 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b5c data_ov30_02188b5c: ; 0x02188b5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b60 data_ov30_02188b60: ; 0x02188b60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b64 data_ov30_02188b64: ; 0x02188b64 .byte 0x58, 0xf7, 0x17, 0x02 .global data_ov30_02188b68 data_ov30_02188b68: ; 0x02188b68 .byte 0x7c, 0xf7, 0x17, 0x02 .global data_ov30_02188b6c data_ov30_02188b6c: ; 0x02188b6c .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b70 data_ov30_02188b70: ; 0x02188b70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b74 data_ov30_02188b74: ; 0x02188b74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b78 data_ov30_02188b78: ; 0x02188b78 .byte 0xa0, 0xf1, 0x17, 0x02 .global data_ov30_02188b7c data_ov30_02188b7c: ; 0x02188b7c .byte 0xc4, 0xf1, 0x17, 0x02 .global data_ov30_02188b80 data_ov30_02188b80: ; 0x02188b80 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b84 data_ov30_02188b84: ; 0x02188b84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b88 data_ov30_02188b88: ; 0x02188b88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b8c data_ov30_02188b8c: ; 0x02188b8c .byte 0x78, 0xed, 0x17, 0x02 .global data_ov30_02188b90 data_ov30_02188b90: ; 0x02188b90 .byte 0xb0, 0xed, 0x17, 0x02 .global data_ov30_02188b94 data_ov30_02188b94: ; 0x02188b94 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188b98 data_ov30_02188b98: ; 0x02188b98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188b9c data_ov30_02188b9c: ; 0x02188b9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ba0 data_ov30_02188ba0: ; 0x02188ba0 .byte 0xf0, 0xec, 0x17, 0x02 .global data_ov30_02188ba4 data_ov30_02188ba4: ; 0x02188ba4 .byte 0x28, 0xed, 0x17, 0x02 .global data_ov30_02188ba8 data_ov30_02188ba8: ; 0x02188ba8 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188bac data_ov30_02188bac: ; 0x02188bac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bb0 data_ov30_02188bb0: ; 0x02188bb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bb4 data_ov30_02188bb4: ; 0x02188bb4 .byte 0x6c, 0xeb, 0x17, 0x02 .global data_ov30_02188bb8 data_ov30_02188bb8: ; 0x02188bb8 .byte 0xbc, 0xeb, 0x17, 0x02 .global data_ov30_02188bbc data_ov30_02188bbc: ; 0x02188bbc .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188bc0 data_ov30_02188bc0: ; 0x02188bc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bc4 data_ov30_02188bc4: ; 0x02188bc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bc8 data_ov30_02188bc8: ; 0x02188bc8 .byte 0x80, 0xe8, 0x17, 0x02 .global data_ov30_02188bcc data_ov30_02188bcc: ; 0x02188bcc .byte 0xbc, 0xe8, 0x17, 0x02 .global data_ov30_02188bd0 data_ov30_02188bd0: ; 0x02188bd0 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188bd4 data_ov30_02188bd4: ; 0x02188bd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bd8 data_ov30_02188bd8: ; 0x02188bd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bdc data_ov30_02188bdc: ; 0x02188bdc .byte 0xc0, 0xee, 0x17, 0x02 .global data_ov30_02188be0 data_ov30_02188be0: ; 0x02188be0 .byte 0xe0, 0xee, 0x17, 0x02 .global data_ov30_02188be4 data_ov30_02188be4: ; 0x02188be4 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188be8 data_ov30_02188be8: ; 0x02188be8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bec data_ov30_02188bec: ; 0x02188bec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188bf0 data_ov30_02188bf0: ; 0x02188bf0 .byte 0x3c, 0xe5, 0x17, 0x02 .global data_ov30_02188bf4 data_ov30_02188bf4: ; 0x02188bf4 .byte 0xa4, 0xe5, 0x17, 0x02 .global data_ov30_02188bf8 data_ov30_02188bf8: ; 0x02188bf8 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188bfc data_ov30_02188bfc: ; 0x02188bfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c00 data_ov30_02188c00: ; 0x02188c00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c04 data_ov30_02188c04: ; 0x02188c04 .byte 0xd0, 0xe3, 0x17, 0x02 .global data_ov30_02188c08 data_ov30_02188c08: ; 0x02188c08 .byte 0x14, 0xe4, 0x17, 0x02 .global data_ov30_02188c0c data_ov30_02188c0c: ; 0x02188c0c .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188c10 data_ov30_02188c10: ; 0x02188c10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c14 data_ov30_02188c14: ; 0x02188c14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c18 data_ov30_02188c18: ; 0x02188c18 .byte 0x94, 0xe0, 0x17, 0x02 .global data_ov30_02188c1c data_ov30_02188c1c: ; 0x02188c1c .byte 0xb0, 0xe0, 0x17, 0x02 .global data_ov30_02188c20 data_ov30_02188c20: ; 0x02188c20 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188c24 data_ov30_02188c24: ; 0x02188c24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c28 data_ov30_02188c28: ; 0x02188c28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c2c data_ov30_02188c2c: ; 0x02188c2c .byte 0x80, 0xdb, 0x17, 0x02 .global data_ov30_02188c30 data_ov30_02188c30: ; 0x02188c30 .byte 0xc8, 0xdb, 0x17, 0x02 .global data_ov30_02188c34 data_ov30_02188c34: ; 0x02188c34 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188c38 data_ov30_02188c38: ; 0x02188c38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c3c data_ov30_02188c3c: ; 0x02188c3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c40 data_ov30_02188c40: ; 0x02188c40 .byte 0xfc, 0xda, 0x17, 0x02 .global data_ov30_02188c44 data_ov30_02188c44: ; 0x02188c44 .byte 0x10, 0xdb, 0x17, 0x02 .global data_ov30_02188c48 data_ov30_02188c48: ; 0x02188c48 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02188c4c data_ov30_02188c4c: ; 0x02188c4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c50 data_ov30_02188c50: ; 0x02188c50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c54 data_ov30_02188c54: ; 0x02188c54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c58 data_ov30_02188c58: ; 0x02188c58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188c5c data_ov30_02188c5c: ; 0x02188c5c .ascii "brg" .byte 0x00 .global data_ov30_02188c60 data_ov30_02188c60: ; 0x02188c60 .ascii "fnl" .byte 0x00 .global data_ov30_02188c64 data_ov30_02188c64: ; 0x02188c64 .ascii "pdl" .byte 0x00 .global data_ov30_02188c68 data_ov30_02188c68: ; 0x02188c68 .ascii "dco" .byte 0x00 .global data_ov30_02188c6c data_ov30_02188c6c: ; 0x02188c6c .ascii "can" .byte 0x00 .global data_ov30_02188c70 data_ov30_02188c70: ; 0x02188c70 .ascii "hul" .byte 0x00 .global data_ov30_02188c74 data_ov30_02188c74: ; 0x02188c74 .ascii "bow" .byte 0x00 .global data_ov30_02188c78 data_ov30_02188c78: ; 0x02188c78 .ascii "anc" .byte 0x00 .global data_ov30_02188c7c data_ov30_02188c7c: ; 0x02188c7c .byte 0x78, 0x8c, 0x18, 0x02 .global data_ov30_02188c80 data_ov30_02188c80: ; 0x02188c80 .byte 0x74, 0x8c, 0x18, 0x02 .global data_ov30_02188c84 data_ov30_02188c84: ; 0x02188c84 .byte 0x70, 0x8c, 0x18, 0x02 .global data_ov30_02188c88 data_ov30_02188c88: ; 0x02188c88 .byte 0x6c, 0x8c, 0x18, 0x02 .global data_ov30_02188c8c data_ov30_02188c8c: ; 0x02188c8c .byte 0x68, 0x8c, 0x18, 0x02 .global data_ov30_02188c90 data_ov30_02188c90: ; 0x02188c90 .byte 0x64, 0x8c, 0x18, 0x02 .global data_ov30_02188c94 data_ov30_02188c94: ; 0x02188c94 .byte 0x60, 0x8c, 0x18, 0x02 .global data_ov30_02188c98 data_ov30_02188c98: ; 0x02188c98 .byte 0x5c, 0x8c, 0x18, 0x02 .global data_ov30_02188c9c data_ov30_02188c9c: ; 0x02188c9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ca0 data_ov30_02188ca0: ; 0x02188ca0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ca4 data_ov30_02188ca4: ; 0x02188ca4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ca8 data_ov30_02188ca8: ; 0x02188ca8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cac data_ov30_02188cac: ; 0x02188cac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cb0 data_ov30_02188cb0: ; 0x02188cb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cb4 data_ov30_02188cb4: ; 0x02188cb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cb8 data_ov30_02188cb8: ; 0x02188cb8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cbc data_ov30_02188cbc: ; 0x02188cbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cc0 data_ov30_02188cc0: ; 0x02188cc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cc4 data_ov30_02188cc4: ; 0x02188cc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cc8 data_ov30_02188cc8: ; 0x02188cc8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ccc data_ov30_02188ccc: ; 0x02188ccc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cd0 data_ov30_02188cd0: ; 0x02188cd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cd4 data_ov30_02188cd4: ; 0x02188cd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cd8 data_ov30_02188cd8: ; 0x02188cd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cdc data_ov30_02188cdc: ; 0x02188cdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ce0 data_ov30_02188ce0: ; 0x02188ce0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ce4 data_ov30_02188ce4: ; 0x02188ce4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188ce8 data_ov30_02188ce8: ; 0x02188ce8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cec data_ov30_02188cec: ; 0x02188cec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cf0 data_ov30_02188cf0: ; 0x02188cf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cf4 data_ov30_02188cf4: ; 0x02188cf4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cf8 data_ov30_02188cf8: ; 0x02188cf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188cfc data_ov30_02188cfc: ; 0x02188cfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d00 data_ov30_02188d00: ; 0x02188d00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d04 data_ov30_02188d04: ; 0x02188d04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d08 data_ov30_02188d08: ; 0x02188d08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d0c data_ov30_02188d0c: ; 0x02188d0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d10 data_ov30_02188d10: ; 0x02188d10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d14 data_ov30_02188d14: ; 0x02188d14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d18 data_ov30_02188d18: ; 0x02188d18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d1c data_ov30_02188d1c: ; 0x02188d1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d20 data_ov30_02188d20: ; 0x02188d20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188d24 data_ov30_02188d24: ; 0x02188d24 .byte 0xd4, 0x3e, 0x18, 0x02 .global data_ov30_02188d28 data_ov30_02188d28: ; 0x02188d28 .byte 0xb8, 0x3e, 0x18, 0x02 .global data_ov30_02188d2c data_ov30_02188d2c: ; 0x02188d2c .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov30_02188d30 data_ov30_02188d30: ; 0x02188d30 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov30_02188d34 data_ov30_02188d34: ; 0x02188d34 .byte 0x2c, 0x11, 0x18, 0x02 .global data_ov30_02188d38 data_ov30_02188d38: ; 0x02188d38 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov30_02188d3c data_ov30_02188d3c: ; 0x02188d3c .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov30_02188d40 data_ov30_02188d40: ; 0x02188d40 .byte 0xf8, 0x1e, 0x18, 0x02 .global data_ov30_02188d44 data_ov30_02188d44: ; 0x02188d44 .byte 0x28, 0x23, 0x18, 0x02 .global data_ov30_02188d48 data_ov30_02188d48: ; 0x02188d48 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov30_02188d4c data_ov30_02188d4c: ; 0x02188d4c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov30_02188d50 data_ov30_02188d50: ; 0x02188d50 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov30_02188d54 data_ov30_02188d54: ; 0x02188d54 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov30_02188d58 data_ov30_02188d58: ; 0x02188d58 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov30_02188d5c data_ov30_02188d5c: ; 0x02188d5c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov30_02188d60 data_ov30_02188d60: ; 0x02188d60 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov30_02188d64 data_ov30_02188d64: ; 0x02188d64 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov30_02188d68 data_ov30_02188d68: ; 0x02188d68 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov30_02188d6c data_ov30_02188d6c: ; 0x02188d6c .byte 0x64, 0x13, 0x18, 0x02 .global data_ov30_02188d70 data_ov30_02188d70: ; 0x02188d70 .byte 0x48, 0x18, 0x18, 0x02 .global data_ov30_02188d74 data_ov30_02188d74: ; 0x02188d74 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov30_02188d78 data_ov30_02188d78: ; 0x02188d78 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov30_02188d7c data_ov30_02188d7c: ; 0x02188d7c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov30_02188d80 data_ov30_02188d80: ; 0x02188d80 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov30_02188d84 data_ov30_02188d84: ; 0x02188d84 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov30_02188d88 data_ov30_02188d88: ; 0x02188d88 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov30_02188d8c data_ov30_02188d8c: ; 0x02188d8c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov30_02188d90 data_ov30_02188d90: ; 0x02188d90 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov30_02188d94 data_ov30_02188d94: ; 0x02188d94 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov30_02188d98 data_ov30_02188d98: ; 0x02188d98 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov30_02188d9c data_ov30_02188d9c: ; 0x02188d9c .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov30_02188da0 data_ov30_02188da0: ; 0x02188da0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov30_02188da4 data_ov30_02188da4: ; 0x02188da4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov30_02188da8 data_ov30_02188da8: ; 0x02188da8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov30_02188dac data_ov30_02188dac: ; 0x02188dac .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov30_02188db0 data_ov30_02188db0: ; 0x02188db0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov30_02188db4 data_ov30_02188db4: ; 0x02188db4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov30_02188db8 data_ov30_02188db8: ; 0x02188db8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov30_02188dbc data_ov30_02188dbc: ; 0x02188dbc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov30_02188dc0 data_ov30_02188dc0: ; 0x02188dc0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov30_02188dc4 data_ov30_02188dc4: ; 0x02188dc4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov30_02188dc8 data_ov30_02188dc8: ; 0x02188dc8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov30_02188dcc data_ov30_02188dcc: ; 0x02188dcc .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov30_02188dd0 data_ov30_02188dd0: ; 0x02188dd0 .byte 0x7c, 0x23, 0x18, 0x02 .global data_ov30_02188dd4 data_ov30_02188dd4: ; 0x02188dd4 .byte 0xdc, 0x12, 0x18, 0x02 .global data_ov30_02188dd8 data_ov30_02188dd8: ; 0x02188dd8 .byte 0x94, 0x1e, 0x18, 0x02 .global data_ov30_02188ddc data_ov30_02188ddc: ; 0x02188ddc .byte 0xbd, 0x0d, 0x18, 0x02 .global data_ov30_02188de0 data_ov30_02188de0: ; 0x02188de0 .byte 0x10, 0x1d, 0x18, 0x02 .global data_ov30_02188de4 data_ov30_02188de4: ; 0x02188de4 .byte 0xa0, 0xae, 0x0c, 0x02 .global data_ov30_02188de8 data_ov30_02188de8: ; 0x02188de8 .byte 0x80, 0x2f, 0x18, 0x02 .global data_ov30_02188dec data_ov30_02188dec: ; 0x02188dec .byte 0xb8, 0x11, 0x18, 0x02 .global data_ov30_02188df0 data_ov30_02188df0: ; 0x02188df0 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov30_02188df4 data_ov30_02188df4: ; 0x02188df4 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov30_02188df8 data_ov30_02188df8: ; 0x02188df8 .byte 0x5c, 0x12, 0x18, 0x02 .global data_ov30_02188dfc data_ov30_02188dfc: ; 0x02188dfc .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov30_02188e00 data_ov30_02188e00: ; 0x02188e00 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov30_02188e04 data_ov30_02188e04: ; 0x02188e04 .byte 0xa4, 0x12, 0x18, 0x02 .global data_ov30_02188e08 data_ov30_02188e08: ; 0x02188e08 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov30_02188e0c data_ov30_02188e0c: ; 0x02188e0c .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov30_02188e10 data_ov30_02188e10: ; 0x02188e10 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov30_02188e14 data_ov30_02188e14: ; 0x02188e14 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov30_02188e18 data_ov30_02188e18: ; 0x02188e18 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov30_02188e1c data_ov30_02188e1c: ; 0x02188e1c .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov30_02188e20 data_ov30_02188e20: ; 0x02188e20 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov30_02188e24 data_ov30_02188e24: ; 0x02188e24 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov30_02188e28 data_ov30_02188e28: ; 0x02188e28 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov30_02188e2c data_ov30_02188e2c: ; 0x02188e2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188e30 data_ov30_02188e30: ; 0x02188e30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188e34 data_ov30_02188e34: ; 0x02188e34 .byte 0x04, 0x3f, 0x18, 0x02 .global data_ov30_02188e38 data_ov30_02188e38: ; 0x02188e38 .byte 0xe8, 0x3e, 0x18, 0x02 .global data_ov30_02188e3c data_ov30_02188e3c: ; 0x02188e3c .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov30_02188e40 data_ov30_02188e40: ; 0x02188e40 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov30_02188e44 data_ov30_02188e44: ; 0x02188e44 .byte 0x2c, 0x11, 0x18, 0x02 .global data_ov30_02188e48 data_ov30_02188e48: ; 0x02188e48 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov30_02188e4c data_ov30_02188e4c: ; 0x02188e4c .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov30_02188e50 data_ov30_02188e50: ; 0x02188e50 .byte 0xf8, 0x1e, 0x18, 0x02 .global data_ov30_02188e54 data_ov30_02188e54: ; 0x02188e54 .byte 0x28, 0x23, 0x18, 0x02 .global data_ov30_02188e58 data_ov30_02188e58: ; 0x02188e58 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov30_02188e5c data_ov30_02188e5c: ; 0x02188e5c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov30_02188e60 data_ov30_02188e60: ; 0x02188e60 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov30_02188e64 data_ov30_02188e64: ; 0x02188e64 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov30_02188e68 data_ov30_02188e68: ; 0x02188e68 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov30_02188e6c data_ov30_02188e6c: ; 0x02188e6c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov30_02188e70 data_ov30_02188e70: ; 0x02188e70 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov30_02188e74 data_ov30_02188e74: ; 0x02188e74 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov30_02188e78 data_ov30_02188e78: ; 0x02188e78 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov30_02188e7c data_ov30_02188e7c: ; 0x02188e7c .byte 0x64, 0x13, 0x18, 0x02 .global data_ov30_02188e80 data_ov30_02188e80: ; 0x02188e80 .byte 0x48, 0x18, 0x18, 0x02 .global data_ov30_02188e84 data_ov30_02188e84: ; 0x02188e84 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov30_02188e88 data_ov30_02188e88: ; 0x02188e88 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov30_02188e8c data_ov30_02188e8c: ; 0x02188e8c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov30_02188e90 data_ov30_02188e90: ; 0x02188e90 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov30_02188e94 data_ov30_02188e94: ; 0x02188e94 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov30_02188e98 data_ov30_02188e98: ; 0x02188e98 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov30_02188e9c data_ov30_02188e9c: ; 0x02188e9c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov30_02188ea0 data_ov30_02188ea0: ; 0x02188ea0 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov30_02188ea4 data_ov30_02188ea4: ; 0x02188ea4 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov30_02188ea8 data_ov30_02188ea8: ; 0x02188ea8 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov30_02188eac data_ov30_02188eac: ; 0x02188eac .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov30_02188eb0 data_ov30_02188eb0: ; 0x02188eb0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov30_02188eb4 data_ov30_02188eb4: ; 0x02188eb4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov30_02188eb8 data_ov30_02188eb8: ; 0x02188eb8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov30_02188ebc data_ov30_02188ebc: ; 0x02188ebc .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov30_02188ec0 data_ov30_02188ec0: ; 0x02188ec0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov30_02188ec4 data_ov30_02188ec4: ; 0x02188ec4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov30_02188ec8 data_ov30_02188ec8: ; 0x02188ec8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov30_02188ecc data_ov30_02188ecc: ; 0x02188ecc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov30_02188ed0 data_ov30_02188ed0: ; 0x02188ed0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov30_02188ed4 data_ov30_02188ed4: ; 0x02188ed4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov30_02188ed8 data_ov30_02188ed8: ; 0x02188ed8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov30_02188edc data_ov30_02188edc: ; 0x02188edc .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov30_02188ee0 data_ov30_02188ee0: ; 0x02188ee0 .byte 0x7c, 0x23, 0x18, 0x02 .global data_ov30_02188ee4 data_ov30_02188ee4: ; 0x02188ee4 .byte 0xdc, 0x12, 0x18, 0x02 .global data_ov30_02188ee8 data_ov30_02188ee8: ; 0x02188ee8 .byte 0x94, 0x1e, 0x18, 0x02 .global data_ov30_02188eec data_ov30_02188eec: ; 0x02188eec .byte 0xbd, 0x0d, 0x18, 0x02 .global data_ov30_02188ef0 data_ov30_02188ef0: ; 0x02188ef0 .byte 0x10, 0x1d, 0x18, 0x02 .global data_ov30_02188ef4 data_ov30_02188ef4: ; 0x02188ef4 .byte 0xa0, 0xae, 0x0c, 0x02 .global data_ov30_02188ef8 data_ov30_02188ef8: ; 0x02188ef8 .byte 0x80, 0x2f, 0x18, 0x02 .global data_ov30_02188efc data_ov30_02188efc: ; 0x02188efc .byte 0xb8, 0x11, 0x18, 0x02 .global data_ov30_02188f00 data_ov30_02188f00: ; 0x02188f00 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov30_02188f04 data_ov30_02188f04: ; 0x02188f04 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov30_02188f08 data_ov30_02188f08: ; 0x02188f08 .byte 0x5c, 0x12, 0x18, 0x02 .global data_ov30_02188f0c data_ov30_02188f0c: ; 0x02188f0c .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov30_02188f10 data_ov30_02188f10: ; 0x02188f10 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov30_02188f14 data_ov30_02188f14: ; 0x02188f14 .byte 0xa4, 0x12, 0x18, 0x02 .global data_ov30_02188f18 data_ov30_02188f18: ; 0x02188f18 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov30_02188f1c data_ov30_02188f1c: ; 0x02188f1c .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov30_02188f20 data_ov30_02188f20: ; 0x02188f20 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov30_02188f24 data_ov30_02188f24: ; 0x02188f24 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov30_02188f28 data_ov30_02188f28: ; 0x02188f28 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov30_02188f2c data_ov30_02188f2c: ; 0x02188f2c .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov30_02188f30 data_ov30_02188f30: ; 0x02188f30 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov30_02188f34 data_ov30_02188f34: ; 0x02188f34 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov30_02188f38 data_ov30_02188f38: ; 0x02188f38 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov30_02188f3c data_ov30_02188f3c: ; 0x02188f3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188f40 data_ov30_02188f40: ; 0x02188f40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02188f44 data_ov30_02188f44: ; 0x02188f44 .byte 0x34, 0x3f, 0x18, 0x02 .global data_ov30_02188f48 data_ov30_02188f48: ; 0x02188f48 .byte 0x18, 0x3f, 0x18, 0x02 .global data_ov30_02188f4c data_ov30_02188f4c: ; 0x02188f4c .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov30_02188f50 data_ov30_02188f50: ; 0x02188f50 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov30_02188f54 data_ov30_02188f54: ; 0x02188f54 .byte 0x2c, 0x11, 0x18, 0x02 .global data_ov30_02188f58 data_ov30_02188f58: ; 0x02188f58 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov30_02188f5c data_ov30_02188f5c: ; 0x02188f5c .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov30_02188f60 data_ov30_02188f60: ; 0x02188f60 .byte 0xf8, 0x1e, 0x18, 0x02 .global data_ov30_02188f64 data_ov30_02188f64: ; 0x02188f64 .byte 0x28, 0x23, 0x18, 0x02 .global data_ov30_02188f68 data_ov30_02188f68: ; 0x02188f68 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov30_02188f6c data_ov30_02188f6c: ; 0x02188f6c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov30_02188f70 data_ov30_02188f70: ; 0x02188f70 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov30_02188f74 data_ov30_02188f74: ; 0x02188f74 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov30_02188f78 data_ov30_02188f78: ; 0x02188f78 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov30_02188f7c data_ov30_02188f7c: ; 0x02188f7c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov30_02188f80 data_ov30_02188f80: ; 0x02188f80 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov30_02188f84 data_ov30_02188f84: ; 0x02188f84 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov30_02188f88 data_ov30_02188f88: ; 0x02188f88 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov30_02188f8c data_ov30_02188f8c: ; 0x02188f8c .byte 0x64, 0x13, 0x18, 0x02 .global data_ov30_02188f90 data_ov30_02188f90: ; 0x02188f90 .byte 0x48, 0x18, 0x18, 0x02 .global data_ov30_02188f94 data_ov30_02188f94: ; 0x02188f94 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov30_02188f98 data_ov30_02188f98: ; 0x02188f98 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov30_02188f9c data_ov30_02188f9c: ; 0x02188f9c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov30_02188fa0 data_ov30_02188fa0: ; 0x02188fa0 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov30_02188fa4 data_ov30_02188fa4: ; 0x02188fa4 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov30_02188fa8 data_ov30_02188fa8: ; 0x02188fa8 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov30_02188fac data_ov30_02188fac: ; 0x02188fac .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov30_02188fb0 data_ov30_02188fb0: ; 0x02188fb0 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov30_02188fb4 data_ov30_02188fb4: ; 0x02188fb4 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov30_02188fb8 data_ov30_02188fb8: ; 0x02188fb8 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov30_02188fbc data_ov30_02188fbc: ; 0x02188fbc .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov30_02188fc0 data_ov30_02188fc0: ; 0x02188fc0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov30_02188fc4 data_ov30_02188fc4: ; 0x02188fc4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov30_02188fc8 data_ov30_02188fc8: ; 0x02188fc8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov30_02188fcc data_ov30_02188fcc: ; 0x02188fcc .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov30_02188fd0 data_ov30_02188fd0: ; 0x02188fd0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov30_02188fd4 data_ov30_02188fd4: ; 0x02188fd4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov30_02188fd8 data_ov30_02188fd8: ; 0x02188fd8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov30_02188fdc data_ov30_02188fdc: ; 0x02188fdc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov30_02188fe0 data_ov30_02188fe0: ; 0x02188fe0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov30_02188fe4 data_ov30_02188fe4: ; 0x02188fe4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov30_02188fe8 data_ov30_02188fe8: ; 0x02188fe8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov30_02188fec data_ov30_02188fec: ; 0x02188fec .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov30_02188ff0 data_ov30_02188ff0: ; 0x02188ff0 .byte 0x7c, 0x23, 0x18, 0x02 .global data_ov30_02188ff4 data_ov30_02188ff4: ; 0x02188ff4 .byte 0xdc, 0x12, 0x18, 0x02 .global data_ov30_02188ff8 data_ov30_02188ff8: ; 0x02188ff8 .byte 0x94, 0x1e, 0x18, 0x02 .global data_ov30_02188ffc data_ov30_02188ffc: ; 0x02188ffc .byte 0xbd, 0x0d, 0x18, 0x02 .global data_ov30_02189000 data_ov30_02189000: ; 0x02189000 .byte 0x10, 0x1d, 0x18, 0x02 .global data_ov30_02189004 data_ov30_02189004: ; 0x02189004 .byte 0xa0, 0xae, 0x0c, 0x02 .global data_ov30_02189008 data_ov30_02189008: ; 0x02189008 .byte 0x80, 0x2f, 0x18, 0x02 .global data_ov30_0218900c data_ov30_0218900c: ; 0x0218900c .byte 0xb8, 0x11, 0x18, 0x02 .global data_ov30_02189010 data_ov30_02189010: ; 0x02189010 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov30_02189014 data_ov30_02189014: ; 0x02189014 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov30_02189018 data_ov30_02189018: ; 0x02189018 .byte 0x5c, 0x12, 0x18, 0x02 .global data_ov30_0218901c data_ov30_0218901c: ; 0x0218901c .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov30_02189020 data_ov30_02189020: ; 0x02189020 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov30_02189024 data_ov30_02189024: ; 0x02189024 .byte 0xa4, 0x12, 0x18, 0x02 .global data_ov30_02189028 data_ov30_02189028: ; 0x02189028 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov30_0218902c data_ov30_0218902c: ; 0x0218902c .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov30_02189030 data_ov30_02189030: ; 0x02189030 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov30_02189034 data_ov30_02189034: ; 0x02189034 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov30_02189038 data_ov30_02189038: ; 0x02189038 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov30_0218903c data_ov30_0218903c: ; 0x0218903c .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov30_02189040 data_ov30_02189040: ; 0x02189040 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov30_02189044 data_ov30_02189044: ; 0x02189044 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov30_02189048 data_ov30_02189048: ; 0x02189048 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov30_0218904c data_ov30_0218904c: ; 0x0218904c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189050 data_ov30_02189050: ; 0x02189050 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189054 data_ov30_02189054: ; 0x02189054 .byte 0x64, 0x3f, 0x18, 0x02 .global data_ov30_02189058 data_ov30_02189058: ; 0x02189058 .byte 0x48, 0x3f, 0x18, 0x02 .global data_ov30_0218905c data_ov30_0218905c: ; 0x0218905c .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov30_02189060 data_ov30_02189060: ; 0x02189060 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov30_02189064 data_ov30_02189064: ; 0x02189064 .byte 0x2c, 0x11, 0x18, 0x02 .global data_ov30_02189068 data_ov30_02189068: ; 0x02189068 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov30_0218906c data_ov30_0218906c: ; 0x0218906c .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov30_02189070 data_ov30_02189070: ; 0x02189070 .byte 0xf8, 0x1e, 0x18, 0x02 .global data_ov30_02189074 data_ov30_02189074: ; 0x02189074 .byte 0x28, 0x23, 0x18, 0x02 .global data_ov30_02189078 data_ov30_02189078: ; 0x02189078 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov30_0218907c data_ov30_0218907c: ; 0x0218907c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov30_02189080 data_ov30_02189080: ; 0x02189080 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov30_02189084 data_ov30_02189084: ; 0x02189084 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov30_02189088 data_ov30_02189088: ; 0x02189088 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov30_0218908c data_ov30_0218908c: ; 0x0218908c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov30_02189090 data_ov30_02189090: ; 0x02189090 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov30_02189094 data_ov30_02189094: ; 0x02189094 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov30_02189098 data_ov30_02189098: ; 0x02189098 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov30_0218909c data_ov30_0218909c: ; 0x0218909c .byte 0x64, 0x13, 0x18, 0x02 .global data_ov30_021890a0 data_ov30_021890a0: ; 0x021890a0 .byte 0x48, 0x18, 0x18, 0x02 .global data_ov30_021890a4 data_ov30_021890a4: ; 0x021890a4 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov30_021890a8 data_ov30_021890a8: ; 0x021890a8 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov30_021890ac data_ov30_021890ac: ; 0x021890ac .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov30_021890b0 data_ov30_021890b0: ; 0x021890b0 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov30_021890b4 data_ov30_021890b4: ; 0x021890b4 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov30_021890b8 data_ov30_021890b8: ; 0x021890b8 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov30_021890bc data_ov30_021890bc: ; 0x021890bc .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov30_021890c0 data_ov30_021890c0: ; 0x021890c0 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov30_021890c4 data_ov30_021890c4: ; 0x021890c4 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov30_021890c8 data_ov30_021890c8: ; 0x021890c8 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov30_021890cc data_ov30_021890cc: ; 0x021890cc .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov30_021890d0 data_ov30_021890d0: ; 0x021890d0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov30_021890d4 data_ov30_021890d4: ; 0x021890d4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov30_021890d8 data_ov30_021890d8: ; 0x021890d8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov30_021890dc data_ov30_021890dc: ; 0x021890dc .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov30_021890e0 data_ov30_021890e0: ; 0x021890e0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov30_021890e4 data_ov30_021890e4: ; 0x021890e4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov30_021890e8 data_ov30_021890e8: ; 0x021890e8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov30_021890ec data_ov30_021890ec: ; 0x021890ec .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov30_021890f0 data_ov30_021890f0: ; 0x021890f0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov30_021890f4 data_ov30_021890f4: ; 0x021890f4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov30_021890f8 data_ov30_021890f8: ; 0x021890f8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov30_021890fc data_ov30_021890fc: ; 0x021890fc .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov30_02189100 data_ov30_02189100: ; 0x02189100 .byte 0x7c, 0x23, 0x18, 0x02 .global data_ov30_02189104 data_ov30_02189104: ; 0x02189104 .byte 0xdc, 0x12, 0x18, 0x02 .global data_ov30_02189108 data_ov30_02189108: ; 0x02189108 .byte 0x94, 0x1e, 0x18, 0x02 .global data_ov30_0218910c data_ov30_0218910c: ; 0x0218910c .byte 0xbd, 0x0d, 0x18, 0x02 .global data_ov30_02189110 data_ov30_02189110: ; 0x02189110 .byte 0x10, 0x1d, 0x18, 0x02 .global data_ov30_02189114 data_ov30_02189114: ; 0x02189114 .byte 0xa0, 0xae, 0x0c, 0x02 .global data_ov30_02189118 data_ov30_02189118: ; 0x02189118 .byte 0x80, 0x2f, 0x18, 0x02 .global data_ov30_0218911c data_ov30_0218911c: ; 0x0218911c .byte 0xb8, 0x11, 0x18, 0x02 .global data_ov30_02189120 data_ov30_02189120: ; 0x02189120 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov30_02189124 data_ov30_02189124: ; 0x02189124 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov30_02189128 data_ov30_02189128: ; 0x02189128 .byte 0x5c, 0x12, 0x18, 0x02 .global data_ov30_0218912c data_ov30_0218912c: ; 0x0218912c .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov30_02189130 data_ov30_02189130: ; 0x02189130 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov30_02189134 data_ov30_02189134: ; 0x02189134 .byte 0xa4, 0x12, 0x18, 0x02 .global data_ov30_02189138 data_ov30_02189138: ; 0x02189138 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov30_0218913c data_ov30_0218913c: ; 0x0218913c .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov30_02189140 data_ov30_02189140: ; 0x02189140 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov30_02189144 data_ov30_02189144: ; 0x02189144 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov30_02189148 data_ov30_02189148: ; 0x02189148 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov30_0218914c data_ov30_0218914c: ; 0x0218914c .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov30_02189150 data_ov30_02189150: ; 0x02189150 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov30_02189154 data_ov30_02189154: ; 0x02189154 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov30_02189158 data_ov30_02189158: ; 0x02189158 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov30_0218915c data_ov30_0218915c: ; 0x0218915c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189160 data_ov30_02189160: ; 0x02189160 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189164 data_ov30_02189164: ; 0x02189164 .byte 0x21, 0x0c, 0x18, 0x02 .global data_ov30_02189168 data_ov30_02189168: ; 0x02189168 .byte 0xa9, 0x0c, 0x18, 0x02 .global data_ov30_0218916c data_ov30_0218916c: ; 0x0218916c .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov30_02189170 data_ov30_02189170: ; 0x02189170 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov30_02189174 data_ov30_02189174: ; 0x02189174 .byte 0x2c, 0x11, 0x18, 0x02 .global data_ov30_02189178 data_ov30_02189178: ; 0x02189178 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov30_0218917c data_ov30_0218917c: ; 0x0218917c .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov30_02189180 data_ov30_02189180: ; 0x02189180 .byte 0xf8, 0x1e, 0x18, 0x02 .global data_ov30_02189184 data_ov30_02189184: ; 0x02189184 .byte 0x28, 0x23, 0x18, 0x02 .global data_ov30_02189188 data_ov30_02189188: ; 0x02189188 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov30_0218918c data_ov30_0218918c: ; 0x0218918c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov30_02189190 data_ov30_02189190: ; 0x02189190 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov30_02189194 data_ov30_02189194: ; 0x02189194 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov30_02189198 data_ov30_02189198: ; 0x02189198 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov30_0218919c data_ov30_0218919c: ; 0x0218919c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov30_021891a0 data_ov30_021891a0: ; 0x021891a0 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov30_021891a4 data_ov30_021891a4: ; 0x021891a4 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov30_021891a8 data_ov30_021891a8: ; 0x021891a8 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov30_021891ac data_ov30_021891ac: ; 0x021891ac .byte 0x64, 0x13, 0x18, 0x02 .global data_ov30_021891b0 data_ov30_021891b0: ; 0x021891b0 .byte 0x48, 0x18, 0x18, 0x02 .global data_ov30_021891b4 data_ov30_021891b4: ; 0x021891b4 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov30_021891b8 data_ov30_021891b8: ; 0x021891b8 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov30_021891bc data_ov30_021891bc: ; 0x021891bc .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov30_021891c0 data_ov30_021891c0: ; 0x021891c0 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov30_021891c4 data_ov30_021891c4: ; 0x021891c4 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov30_021891c8 data_ov30_021891c8: ; 0x021891c8 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov30_021891cc data_ov30_021891cc: ; 0x021891cc .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov30_021891d0 data_ov30_021891d0: ; 0x021891d0 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov30_021891d4 data_ov30_021891d4: ; 0x021891d4 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov30_021891d8 data_ov30_021891d8: ; 0x021891d8 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov30_021891dc data_ov30_021891dc: ; 0x021891dc .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov30_021891e0 data_ov30_021891e0: ; 0x021891e0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov30_021891e4 data_ov30_021891e4: ; 0x021891e4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov30_021891e8 data_ov30_021891e8: ; 0x021891e8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov30_021891ec data_ov30_021891ec: ; 0x021891ec .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov30_021891f0 data_ov30_021891f0: ; 0x021891f0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov30_021891f4 data_ov30_021891f4: ; 0x021891f4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov30_021891f8 data_ov30_021891f8: ; 0x021891f8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov30_021891fc data_ov30_021891fc: ; 0x021891fc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov30_02189200 data_ov30_02189200: ; 0x02189200 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov30_02189204 data_ov30_02189204: ; 0x02189204 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov30_02189208 data_ov30_02189208: ; 0x02189208 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov30_0218920c data_ov30_0218920c: ; 0x0218920c .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov30_02189210 data_ov30_02189210: ; 0x02189210 .byte 0x7c, 0x23, 0x18, 0x02 .global data_ov30_02189214 data_ov30_02189214: ; 0x02189214 .byte 0xdc, 0x12, 0x18, 0x02 .global data_ov30_02189218 data_ov30_02189218: ; 0x02189218 .byte 0x94, 0x1e, 0x18, 0x02 .global data_ov30_0218921c data_ov30_0218921c: ; 0x0218921c .byte 0xbd, 0x0d, 0x18, 0x02 .global data_ov30_02189220 data_ov30_02189220: ; 0x02189220 .byte 0x10, 0x1d, 0x18, 0x02 .global data_ov30_02189224 data_ov30_02189224: ; 0x02189224 .byte 0xa0, 0xae, 0x0c, 0x02 .global data_ov30_02189228 data_ov30_02189228: ; 0x02189228 .byte 0x80, 0x2f, 0x18, 0x02 .global data_ov30_0218922c data_ov30_0218922c: ; 0x0218922c .byte 0xb8, 0x11, 0x18, 0x02 .global data_ov30_02189230 data_ov30_02189230: ; 0x02189230 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov30_02189234 data_ov30_02189234: ; 0x02189234 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov30_02189238 data_ov30_02189238: ; 0x02189238 .byte 0x5c, 0x12, 0x18, 0x02 .global data_ov30_0218923c data_ov30_0218923c: ; 0x0218923c .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov30_02189240 data_ov30_02189240: ; 0x02189240 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov30_02189244 data_ov30_02189244: ; 0x02189244 .byte 0xa4, 0x12, 0x18, 0x02 .global data_ov30_02189248 data_ov30_02189248: ; 0x02189248 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov30_0218924c data_ov30_0218924c: ; 0x0218924c .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov30_02189250 data_ov30_02189250: ; 0x02189250 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov30_02189254 data_ov30_02189254: ; 0x02189254 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov30_02189258 data_ov30_02189258: ; 0x02189258 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov30_0218925c data_ov30_0218925c: ; 0x0218925c .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov30_02189260 data_ov30_02189260: ; 0x02189260 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov30_02189264 data_ov30_02189264: ; 0x02189264 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov30_02189268 data_ov30_02189268: ; 0x02189268 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov30_0218926c data_ov30_0218926c: ; 0x0218926c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189270 data_ov30_02189270: ; 0x02189270 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189274 data_ov30_02189274: ; 0x02189274 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189278 data_ov30_02189278: ; 0x02189278 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218927c data_ov30_0218927c: ; 0x0218927c .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02189280 data_ov30_02189280: ; 0x02189280 .ascii "Dead" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189288 data_ov30_02189288: ; 0x02189288 .ascii "PlayerDownDemo" .byte 0x00, 0x00 .global data_ov30_02189298 data_ov30_02189298: ; 0x02189298 .ascii "GKGoHome" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021892a4 data_ov30_021892a4: ; 0x021892a4 .ascii "WarpGoHome" .byte 0x00, 0x00 .global data_ov30_021892b0 data_ov30_021892b0: ; 0x021892b0 .ascii "WarpGoPlayerDemo" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021892c4 data_ov30_021892c4: ; 0x021892c4 .ascii "WarpGoPlayer" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_021892d4 data_ov30_021892d4: ; 0x021892d4 .ascii "WaitRevive" .byte 0x00, 0x00 .global data_ov30_021892e0 data_ov30_021892e0: ; 0x021892e0 .ascii "GuardStop" .byte 0x00, 0x00, 0x00 .global data_ov30_021892ec data_ov30_021892ec: ; 0x021892ec .ascii "Guard" .byte 0x00, 0x00, 0x00 .global data_ov30_021892f4 data_ov30_021892f4: ; 0x021892f4 .ascii "CautionAStarWalk" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189308 data_ov30_02189308: ; 0x02189308 .ascii "TriforceCollect" .byte 0x00 .global data_ov30_02189318 data_ov30_02189318: ; 0x02189318 .ascii "Battle" .byte 0x00, 0x00 .global data_ov30_02189320 data_ov30_02189320: ; 0x02189320 .ascii "AlarmPatrol" .byte 0x00 .global data_ov30_0218932c data_ov30_0218932c: ; 0x0218932c .ascii "NormalPatrol" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218933c data_ov30_0218933c: ; 0x0218933c .ascii "WaitGK" .byte 0x00, 0x00 .global data_ov30_02189344 data_ov30_02189344: ; 0x02189344 .ascii "FirstWait" .byte 0x00, 0x00, 0x00 .global data_ov30_02189350 data_ov30_02189350: ; 0x02189350 .ascii "GhostDemo" .byte 0x00, 0x00, 0x00 .global data_ov30_0218935c data_ov30_0218935c: ; 0x0218935c .ascii "AppearDemo" .byte 0x00, 0x00 .global data_ov30_02189368 data_ov30_02189368: ; 0x02189368 .ascii "Hide" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189370 data_ov30_02189370: ; 0x02189370 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189374 data_ov30_02189374: ; 0x02189374 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189378 data_ov30_02189378: ; 0x02189378 .byte 0x88, 0x52, 0x18, 0x02 .global data_ov30_0218937c data_ov30_0218937c: ; 0x0218937c .byte 0x6c, 0x52, 0x18, 0x02 .global data_ov30_02189380 data_ov30_02189380: ; 0x02189380 .byte 0xf5, 0x47, 0x18, 0x02 .global data_ov30_02189384 data_ov30_02189384: ; 0x02189384 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov30_02189388 data_ov30_02189388: ; 0x02189388 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov30_0218938c data_ov30_0218938c: ; 0x0218938c .byte 0x68, 0x48, 0x18, 0x02 .global data_ov30_02189390 data_ov30_02189390: ; 0x02189390 .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov30_02189394 data_ov30_02189394: ; 0x02189394 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov30_02189398 data_ov30_02189398: ; 0x02189398 .byte 0x94, 0x18, 0x0c, 0x02 .global data_ov30_0218939c data_ov30_0218939c: ; 0x0218939c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov30_021893a0 data_ov30_021893a0: ; 0x021893a0 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov30_021893a4 data_ov30_021893a4: ; 0x021893a4 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov30_021893a8 data_ov30_021893a8: ; 0x021893a8 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov30_021893ac data_ov30_021893ac: ; 0x021893ac .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov30_021893b0 data_ov30_021893b0: ; 0x021893b0 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov30_021893b4 data_ov30_021893b4: ; 0x021893b4 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov30_021893b8 data_ov30_021893b8: ; 0x021893b8 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov30_021893bc data_ov30_021893bc: ; 0x021893bc .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov30_021893c0 data_ov30_021893c0: ; 0x021893c0 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov30_021893c4 data_ov30_021893c4: ; 0x021893c4 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov30_021893c8 data_ov30_021893c8: ; 0x021893c8 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov30_021893cc data_ov30_021893cc: ; 0x021893cc .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov30_021893d0 data_ov30_021893d0: ; 0x021893d0 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov30_021893d4 data_ov30_021893d4: ; 0x021893d4 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov30_021893d8 data_ov30_021893d8: ; 0x021893d8 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov30_021893dc data_ov30_021893dc: ; 0x021893dc .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov30_021893e0 data_ov30_021893e0: ; 0x021893e0 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov30_021893e4 data_ov30_021893e4: ; 0x021893e4 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov30_021893e8 data_ov30_021893e8: ; 0x021893e8 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov30_021893ec data_ov30_021893ec: ; 0x021893ec .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov30_021893f0 data_ov30_021893f0: ; 0x021893f0 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov30_021893f4 data_ov30_021893f4: ; 0x021893f4 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov30_021893f8 data_ov30_021893f8: ; 0x021893f8 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov30_021893fc data_ov30_021893fc: ; 0x021893fc .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov30_02189400 data_ov30_02189400: ; 0x02189400 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov30_02189404 data_ov30_02189404: ; 0x02189404 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov30_02189408 data_ov30_02189408: ; 0x02189408 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov30_0218940c data_ov30_0218940c: ; 0x0218940c .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov30_02189410 data_ov30_02189410: ; 0x02189410 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov30_02189414 data_ov30_02189414: ; 0x02189414 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov30_02189418 data_ov30_02189418: ; 0x02189418 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov30_0218941c data_ov30_0218941c: ; 0x0218941c .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov30_02189420 data_ov30_02189420: ; 0x02189420 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov30_02189424 data_ov30_02189424: ; 0x02189424 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov30_02189428 data_ov30_02189428: ; 0x02189428 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov30_0218942c data_ov30_0218942c: ; 0x0218942c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189430 data_ov30_02189430: ; 0x02189430 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189434 data_ov30_02189434: ; 0x02189434 .byte 0xf0, 0x56, 0x18, 0x02 .global data_ov30_02189438 data_ov30_02189438: ; 0x02189438 .byte 0x94, 0x57, 0x18, 0x02 .global data_ov30_0218943c data_ov30_0218943c: ; 0x0218943c .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02189440 data_ov30_02189440: ; 0x02189440 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189444 data_ov30_02189444: ; 0x02189444 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189448 data_ov30_02189448: ; 0x02189448 .byte 0x0c, 0x65, 0x18, 0x02 .global data_ov30_0218944c data_ov30_0218944c: ; 0x0218944c .byte 0x84, 0x65, 0x18, 0x02 .global data_ov30_02189450 data_ov30_02189450: ; 0x02189450 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02189454 data_ov30_02189454: ; 0x02189454 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189458 data_ov30_02189458: ; 0x02189458 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218945c data_ov30_0218945c: ; 0x0218945c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189460 data_ov30_02189460: ; 0x02189460 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189464 data_ov30_02189464: ; 0x02189464 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189468 data_ov30_02189468: ; 0x02189468 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218946c data_ov30_0218946c: ; 0x0218946c .byte 0x34, 0x6b, 0x18, 0x02 .global data_ov30_02189470 data_ov30_02189470: ; 0x02189470 .byte 0x50, 0x6b, 0x18, 0x02 .global data_ov30_02189474 data_ov30_02189474: ; 0x02189474 .byte 0x44, 0x05, 0x18, 0x02 .global data_ov30_02189478 data_ov30_02189478: ; 0x02189478 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218947c data_ov30_0218947c: ; 0x0218947c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189480 data_ov30_02189480: ; 0x02189480 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189484 data_ov30_02189484: ; 0x02189484 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189488 data_ov30_02189488: ; 0x02189488 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218948c data_ov30_0218948c: ; 0x0218948c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189490 data_ov30_02189490: ; 0x02189490 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189494 data_ov30_02189494: ; 0x02189494 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_02189498 data_ov30_02189498: ; 0x02189498 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov30_0218949c data_ov30_0218949c: ; 0x0218949c .byte 0x00, 0x00, 0x00, 0x00 ; 0x021894a0 .bss .global data_ov30_021894a0 data_ov30_021894a0: .space 0x4 .global data_ov30_021894a4 data_ov30_021894a4: .space 0x4 .global data_ov30_021894a8 data_ov30_021894a8: .space 0x4 .global data_ov30_021894ac data_ov30_021894ac: .space 0x4 .global data_ov30_021894b0 data_ov30_021894b0: .space 0x4 .global data_ov30_021894b4 data_ov30_021894b4: .space 0x4 .global data_ov30_021894b8 data_ov30_021894b8: .space 0x4 .global data_ov30_021894bc data_ov30_021894bc: .space 0x4 .global data_ov30_021894c0 data_ov30_021894c0: .space 0x4 .global data_ov30_021894c4 data_ov30_021894c4: .space 0x4 .global data_ov30_021894c8 data_ov30_021894c8: .space 0x4 .global data_ov30_021894cc data_ov30_021894cc: .space 0x4 .global data_ov30_021894d0 data_ov30_021894d0: .space 0x4 .global data_ov30_021894d4 data_ov30_021894d4: .space 0x4 .global data_ov30_021894d8 data_ov30_021894d8: .space 0x4 .global data_ov30_021894dc data_ov30_021894dc: .space 0x4 .global data_ov30_021894e0 data_ov30_021894e0: .space 0x4 .global data_ov30_021894e4 data_ov30_021894e4: .space 0x4 .global data_ov30_021894e8 data_ov30_021894e8: .space 0x4 .global data_ov30_021894ec data_ov30_021894ec: .space 0x4 .global data_ov30_021894f0 data_ov30_021894f0: .space 0x4 .global data_ov30_021894f4 data_ov30_021894f4: .space 0x4 .global data_ov30_021894f8 data_ov30_021894f8: .space 0x4 .global data_ov30_021894fc data_ov30_021894fc: .space 0x4 .global data_ov30_02189500 data_ov30_02189500: .space 0x4 .global data_ov30_02189504 data_ov30_02189504: .space 0x4 .global data_ov30_02189508 data_ov30_02189508: .space 0x4 .global data_ov30_0218950c data_ov30_0218950c: .space 0x4 .global data_ov30_02189510 data_ov30_02189510: .space 0x4 .global data_ov30_02189514 data_ov30_02189514: .space 0x4 .global data_ov30_02189518 data_ov30_02189518: .space 0x4 .global data_ov30_0218951c data_ov30_0218951c: .space 0x4 .global data_ov30_02189520 data_ov30_02189520: .space 0x4 .global data_ov30_02189524 data_ov30_02189524: .space 0x4 .global data_ov30_02189528 data_ov30_02189528: .space 0x4 .global data_ov30_0218952c data_ov30_0218952c: .space 0x4 .global data_ov30_02189530 data_ov30_02189530: .space 0x4 .global data_ov30_02189534 data_ov30_02189534: .space 0x4 .global data_ov30_02189538 data_ov30_02189538: .space 0x4 .global data_ov30_0218953c data_ov30_0218953c: .space 0x4 .global data_ov30_02189540 data_ov30_02189540: .space 0x4 .global data_ov30_02189544 data_ov30_02189544: .space 0x4 .global data_ov30_02189548 data_ov30_02189548: .space 0x4 .global data_ov30_0218954c data_ov30_0218954c: .space 0x4 .global data_ov30_02189550 data_ov30_02189550: .space 0x4 .global data_ov30_02189554 data_ov30_02189554: .space 0x4 .global data_ov30_02189558 data_ov30_02189558: .space 0x4 .global data_ov30_0218955c data_ov30_0218955c: .space 0x4