.include "macros/function.inc" .include "global.inc" .text .global func_ov18_0215b4a0 arm_func_start func_ov18_0215b4a0 func_ov18_0215b4a0: ; 0x0215b4a0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sb, r0 mov r8, r1 mov r7, r2 blx func_ov04_0210be04 ldr r0, _0215b638 ; =data_ov18_0216c0e0 mov r1, #0 str r0, [sb] str r1, [sb, #0x188] sub r0, r1, #1 str r0, [sb, #0x1ac] str r1, [sb, #0x1b0] str r1, [sb, #0x1b4] str r1, [sb, #0x1b8] str r1, [sb, #0x1bc] str r1, [sb, #0x1c0] str r1, [sb, #0x1c4] str r1, [sb, #0x1c8] strb r1, [sb, #0x1cc] strb r1, [sb, #0x1cd] str r1, [sb, #0x1d0] mov r1, #0x10000 str r1, [sb, #0x1d4] ldr r0, _0215b63c ; =data_027e0ce0 str r1, [sb, #0x1d8] ldr r1, [r0, #4] mov r0, r8, lsl #0x2 mov r2, #4 bl func_0202e9f4 str r0, [sb, #0x18c] cmp r8, #0 mov r5, #0 ble _0215b554 ldr sl, _0215b63c ; =data_027e0ce0 mov r6, r7, lsl #0x2 mov r4, #4 _0215b530: ldr r1, [sl, #4] mov r0, r6 mov r2, r4 bl func_0202e9f4 ldr r1, [sb, #0x18c] str r0, [r1, r5, lsl #2] add r5, r5, #1 cmp r5, r8 blt _0215b530 _0215b554: cmp r8, #0 mov r4, #0 ble _0215b598 mov r1, r4 mov r2, r4 _0215b568: mov r3, r2 cmp r7, #0 ble _0215b58c _0215b574: ldr r0, [sb, #0x18c] ldr r0, [r0, r4, lsl #2] str r1, [r0, r3, lsl #2] add r3, r3, #1 cmp r3, r7 blt _0215b574 _0215b58c: add r4, r4, #1 cmp r4, r8 blt _0215b568 _0215b598: mov r2, #0 mov r1, r2 _0215b5a0: add r0, sb, r2, lsl #2 add r2, r2, #1 str r1, [r0, #0x190] cmp r2, #4 blo _0215b5a0 mov r0, sb bl func_ov18_0215c650 mov r0, sb bl func_ov18_0215c6d0 ldr r0, [sb, #0x1c0] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, [r0, #8] ldr r5, _0215b640 ; =data_ov18_0216b484 add r4, r0, r1 mov r6, #0 _0215b5e4: mov r1, r5 add r0, r4, #4 bl func_0201e388 add r1, sb, r6, lsl #2 add r6, r6, #1 str r0, [r1, #0x1a0] cmp r6, #3 add r5, r5, #0x10 blo _0215b5e4 ldr r1, _0215b644 ; =data_ov18_0216b42c add r0, r4, #4 bl func_0201e388 ldr r1, _0215b648 ; =data_027e0d38 str r0, [sb, #0x1ac] ldr r0, [r1] ldr r0, [r0, #0x14] cmp r0, #1 beq _0215b630 bl func_ov18_0216927c _0215b630: mov r0, sb ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov18_0215b4a0 _0215b638: .word data_ov18_0216c0e0 _0215b63c: .word data_027e0ce0 _0215b640: .word data_ov18_0216b484 _0215b644: .word data_ov18_0216b42c _0215b648: .word data_027e0d38 .global func_ov18_0215b64c arm_func_start func_ov18_0215b64c func_ov18_0215b64c: ; 0x0215b64c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0215b74c ; =data_ov18_0216c0e0 mov r5, r0 ldr r0, _0215b750 ; =data_027e0d38 str r1, [r5] ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #1 beq _0215b674 bl func_ov18_021692c4 _0215b674: mov r0, r5 bl func_ov18_0215c9ac mov r0, r5 bl func_ov18_0215c6ac mov r4, #0 ldr r6, _0215b754 ; =data_027e0f6c mov r7, r4 _0215b690: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x190] cmp r1, #0 beq _0215b6cc ldr r0, [r6] bl func_ov00_02093af0 add r0, r5, r4, lsl #2 ldr r0, [r0, #0x190] cmp r0, #0 beq _0215b6c4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0215b6c4: add r0, r5, r4, lsl #2 str r7, [r0, #0x190] _0215b6cc: add r4, r4, #1 cmp r4, #4 blo _0215b690 ldr r0, [r5, #0x18c] cmp r0, #0 beq _0215b734 ldrh r0, [r5, #0x28] mov r6, #0 cmp r0, #0 ble _0215b724 mov r4, r6 _0215b6f8: ldr r0, [r5, #0x18c] cmp r0, #0 beq _0215b714 ldr r0, [r0, r6, lsl #2] bl func_0202ea18 ldr r0, [r5, #0x18c] str r4, [r0, r6, lsl #2] _0215b714: ldrh r0, [r5, #0x28] add r6, r6, #1 cmp r6, r0 blt _0215b6f8 _0215b724: ldr r0, [r5, #0x18c] bl func_0202ea18 mov r0, #0 str r0, [r5, #0x18c] _0215b734: mov r1, #0 mov r0, r5 str r1, [r5, #0x188] bl func_ov00_0207da38 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov18_0215b64c _0215b74c: .word data_ov18_0216c0e0 _0215b750: .word data_027e0d38 _0215b754: .word data_027e0f6c .global func_ov18_0215b758 arm_func_start func_ov18_0215b758 func_ov18_0215b758: ; 0x0215b758 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0215b860 ; =data_ov18_0216c0e0 mov r5, r0 ldr r0, _0215b864 ; =data_027e0d38 str r1, [r5] ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #1 beq _0215b780 bl func_ov18_021692c4 _0215b780: mov r0, r5 bl func_ov18_0215c9ac mov r0, r5 bl func_ov18_0215c6ac mov r4, #0 ldr r6, _0215b868 ; =data_027e0f6c mov r7, r4 _0215b79c: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x190] cmp r1, #0 beq _0215b7d8 ldr r0, [r6] bl func_ov00_02093af0 add r0, r5, r4, lsl #2 ldr r0, [r0, #0x190] cmp r0, #0 beq _0215b7d0 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0215b7d0: add r0, r5, r4, lsl #2 str r7, [r0, #0x190] _0215b7d8: add r4, r4, #1 cmp r4, #4 blo _0215b79c ldr r0, [r5, #0x18c] cmp r0, #0 beq _0215b840 ldrh r0, [r5, #0x28] mov r6, #0 cmp r0, #0 ble _0215b830 mov r4, r6 _0215b804: ldr r0, [r5, #0x18c] cmp r0, #0 beq _0215b820 ldr r0, [r0, r6, lsl #2] bl func_0202ea18 ldr r0, [r5, #0x18c] str r4, [r0, r6, lsl #2] _0215b820: ldrh r0, [r5, #0x28] add r6, r6, #1 cmp r6, r0 blt _0215b804 _0215b830: ldr r0, [r5, #0x18c] bl func_0202ea18 mov r0, #0 str r0, [r5, #0x18c] _0215b840: mov r1, #0 mov r0, r5 str r1, [r5, #0x188] bl func_ov00_0207da38 mov r0, r5 bl func_0202ea0c mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov18_0215b758 _0215b860: .word data_ov18_0216c0e0 _0215b864: .word data_027e0d38 _0215b868: .word data_027e0f6c .global func_ov18_0215b86c arm_func_start func_ov18_0215b86c func_ov18_0215b86c: ; 0x0215b86c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x70 ldrb r5, [sp, #0x98] ldrb r4, [sp, #0x9c] mov sb, r0 str r5, [sp] mov r8, r3 str r4, [sp, #4] blx func_ov04_0210c1f8 ldr r0, _0215bd68 ; =data_027e0e60 add r1, sb, #0x1b0 ldr r0, [r0] bl func_ov00_0208344c ldrb r2, [sb, #0x12] ldr r0, _0215bd6c ; =0x00001333 mov r1, #0 sub r2, r2, #1 mov r2, r2, lsl #0xc umull r4, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r4, r4, #0x800 adc r0, r3, #0 mov r1, r4, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [sb, #0x1b4] ldr r0, _0215bd68 ; =data_027e0e60 add r1, sp, #0x64 ldr r0, [r0] bl func_ov00_0208340c ldr r0, _0215bd68 ; =data_027e0e60 add r1, sp, #0x58 ldr r0, [r0] bl func_ov00_0208342c ldr r0, _0215bd68 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02083374 ldr r1, _0215bd68 ; =data_027e0e60 mov r5, r0 ldr r0, [r1] bl func_ov00_02083384 mov sl, #0x4000 rsb sl, sl, #0 mov r6, r0 sub r0, sl, #0x4000 ldr r4, _0215bd70 ; =0xffffd99a mov r7, #0 str r0, [sp, #8] mov fp, sl, asr #0xd _0215b934: mov r0, r8 mov r1, r7 bl func_ov00_0207d634 cmp r0, #0 beq _0215bd54 ldr r1, _0215bd74 ; =data_027e0ce0 mov r0, #0x2c ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0215b990 ldr r1, _0215bd78 ; =data_ov00_020e2f04 str r1, [r0] mov r1, #1 strb r1, [r0, #4] mov r1, #0 strb r1, [r0, #5] str r1, [r0, #8] str r1, [r0, #0xc] str r1, [r0, #0x10] ldr r1, _0215bd7c ; =data_ov00_020e2dd8 str r1, [r0] _0215b990: add r1, sb, r7, lsl #2 str r0, [r1, #0x190] mov r0, r8 mov r1, r7 bl func_ov00_0207d6ec mov r1, #0 str r1, [sp, #0xc] mov r1, #0x47 str r1, [sp, #0x10] mov r1, #0 str r1, [sp, #0x14] str r1, [sp, #0x18] strh r1, [sp, #0x20] mov r1, #0xff strb r1, [sp, #0x22] mov r1, #0 str fp, [sp, #0x1c] strb r1, [sp, #0x23] strb r1, [sp, #0x24] strb r1, [sp, #0x25] ldr r1, [r8] cmp r7, #3 strb r0, [sp, #0x22] mov r0, #0xfd str r1, [sp, #0x10] str r0, [sp, #0x14] addls pc, pc, r7, lsl #2 b _0215bce4 _0215ba00: ; jump table b _0215ba10 ; case 0 b _0215bac8 ; case 1 b _0215bb78 ; case 2 b _0215bc30 ; case 3 _0215ba10: mov r0, #0xfe strb r0, [sp, #0x23] mov r0, #0x4000 strh r0, [sp, #0x20] ldrb r0, [r8, #0x87] cmp r0, #1 mov r0, #0xa000 bne _0215ba68 ldr r2, [sp, #0x58] str r0, [sp, #0x44] sub r0, r2, #0x1000 str r0, [sp, #0x4c] add r0, r2, #0x3000 ldr r1, [sp, #0x60] str r0, [sp, #0x40] sub r0, r1, r6 sub r0, r0, #0x6000 str r0, [sp, #0x54] add r0, r1, #0x6000 str r4, [sp, #0x50] str r0, [sp, #0x48] b _0215ba94 _0215ba68: ldr r2, [sp, #0x58] str r0, [sp, #0x44] ldr r1, [sp, #0x60] sub r0, r2, #0x1000 str r0, [sp, #0x4c] add r0, r2, #0x3000 str r0, [sp, #0x40] sub r0, r1, r6 str r4, [sp, #0x50] str r1, [sp, #0x48] str r0, [sp, #0x54] _0215ba94: ldr r1, [sp, #0x4c] ldr r0, [sp, #0x50] str r1, [sp, #0x28] str r0, [sp, #0x2c] ldr r1, [sp, #0x54] ldr r0, [sp, #0x40] str r1, [sp, #0x30] str r0, [sp, #0x34] ldr r1, [sp, #0x44] ldr r0, [sp, #0x48] str r1, [sp, #0x38] str r0, [sp, #0x3c] b _0215bce4 _0215bac8: strh sl, [sp, #0x20] strb r0, [sp, #0x23] ldrb r0, [r8, #0x87] cmp r0, #1 mov r0, #0xa000 bne _0215bb18 ldr r2, [sp, #0x64] str r0, [sp, #0x44] sub r0, r2, #0x3000 str r0, [sp, #0x4c] add r0, r2, #0x1000 ldr r1, [sp, #0x6c] str r0, [sp, #0x40] sub r0, r1, #0x6000 str r0, [sp, #0x54] add r0, r1, r6 add r0, r0, #0x6000 str r4, [sp, #0x50] str r0, [sp, #0x48] b _0215bb44 _0215bb18: ldr r2, [sp, #0x64] str r0, [sp, #0x44] ldr r1, [sp, #0x6c] sub r0, r2, #0x3000 str r0, [sp, #0x4c] add r0, r2, #0x1000 str r0, [sp, #0x40] add r0, r1, r6 str r4, [sp, #0x50] str r1, [sp, #0x54] str r0, [sp, #0x48] _0215bb44: ldr r1, [sp, #0x4c] ldr r0, [sp, #0x50] str r1, [sp, #0x28] str r0, [sp, #0x2c] ldr r1, [sp, #0x54] ldr r0, [sp, #0x40] str r1, [sp, #0x30] str r0, [sp, #0x34] ldr r1, [sp, #0x44] ldr r0, [sp, #0x48] str r1, [sp, #0x38] str r0, [sp, #0x3c] b _0215bce4 _0215bb78: mov r0, #0xfc strb r0, [sp, #0x23] mov r0, #0 strh r0, [sp, #0x20] ldrb r0, [r8, #0x86] cmp r0, #1 mov r0, #0xa000 bne _0215bbd0 ldr r2, [sp, #0x58] str r0, [sp, #0x44] sub r0, r2, r5 sub r0, r0, #0x6000 str r0, [sp, #0x4c] add r0, r2, #0x6000 ldr r1, [sp, #0x60] str r0, [sp, #0x40] sub r0, r1, #0x1000 str r0, [sp, #0x54] add r0, r1, #0x3000 str r4, [sp, #0x50] str r0, [sp, #0x48] b _0215bbfc _0215bbd0: str r0, [sp, #0x44] ldr r0, [sp, #0x58] ldr r1, [sp, #0x60] str r0, [sp, #0x40] sub r0, r0, r5 str r0, [sp, #0x4c] sub r0, r1, #0x1000 str r0, [sp, #0x54] add r0, r1, #0x3000 str r4, [sp, #0x50] str r0, [sp, #0x48] _0215bbfc: ldr r1, [sp, #0x4c] ldr r0, [sp, #0x50] str r1, [sp, #0x28] str r0, [sp, #0x2c] ldr r1, [sp, #0x54] ldr r0, [sp, #0x40] str r1, [sp, #0x30] str r0, [sp, #0x34] ldr r1, [sp, #0x44] ldr r0, [sp, #0x48] str r1, [sp, #0x38] str r0, [sp, #0x3c] b _0215bce4 _0215bc30: mov r0, #0xfb strb r0, [sp, #0x23] ldr r0, [sp, #8] strh r0, [sp, #0x20] ldrb r0, [r8, #0x86] cmp r0, #1 mov r0, #0xa000 bne _0215bc88 ldr r2, [sp, #0x64] str r0, [sp, #0x44] sub r0, r2, #0x6000 str r0, [sp, #0x4c] add r0, r2, r5 add r0, r0, #0x6000 ldr r1, [sp, #0x6c] str r0, [sp, #0x40] sub r0, r1, #0x3000 str r0, [sp, #0x54] add r0, r1, #0x1000 str r4, [sp, #0x50] str r0, [sp, #0x48] b _0215bcb4 _0215bc88: str r0, [sp, #0x44] ldr r0, [sp, #0x64] ldr r1, [sp, #0x6c] str r0, [sp, #0x4c] add r0, r0, r5 str r0, [sp, #0x40] sub r0, r1, #0x3000 str r0, [sp, #0x54] add r0, r1, #0x1000 str r4, [sp, #0x50] str r0, [sp, #0x48] _0215bcb4: ldr r1, [sp, #0x4c] ldr r0, [sp, #0x50] str r1, [sp, #0x28] str r0, [sp, #0x2c] ldr r1, [sp, #0x54] ldr r0, [sp, #0x40] str r1, [sp, #0x30] str r0, [sp, #0x34] ldr r1, [sp, #0x44] ldr r0, [sp, #0x48] str r1, [sp, #0x38] str r0, [sp, #0x3c] _0215bce4: mov r0, sb add r1, sp, #0x10 bl func_ov00_02080140 strb r0, [sp, #0x24] mov r1, #0 str r1, [sp] ldr r1, [sp, #0xc] and r0, r0, #0xff bic r1, r1, #0x3f0000 orr r0, r1, r0, lsl #16 bic r0, r0, #0x1f orr r0, r0, #2 orr r0, r0, #0x8000 bic r0, r0, #0x6000 orr r3, r0, #0x31c00000 add r0, sb, r7, lsl #2 ldr r0, [r0, #0x190] add r1, sp, #0x28 ldr ip, [r0] mov r2, #4 ldr ip, [ip, #0x14] str r3, [sp, #0xc] blx ip ldr r0, _0215bd80 ; =data_027e0f6c add r1, sb, r7, lsl #2 ldr r0, [r0] ldr r1, [r1, #0x190] bl func_ov00_02093a5c _0215bd54: add r7, r7, #1 cmp r7, #4 blt _0215b934 add sp, sp, #0x70 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_0215b86c _0215bd68: .word data_027e0e60 _0215bd6c: .word 0x00001333 _0215bd70: .word 0xffffd99a _0215bd74: .word data_027e0ce0 _0215bd78: .word data_ov00_020e2f04 _0215bd7c: .word data_ov00_020e2dd8 _0215bd80: .word data_027e0f6c .global func_ov18_0215bd84 arm_func_start func_ov18_0215bd84 func_ov18_0215bd84: ; 0x0215bd84 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldrh r0, [sb, #0x28] mov r7, #0 cmp r0, #0 ble _0215be0c add r4, sp, #0 mov r6, r7 _0215bda4: ldrh r0, [sb, #0x2a] mov r8, r6 cmp r0, #0 ble _0215bdfc and r5, r7, #0xff _0215bdb8: mov r0, sb strb r5, [sp] strb r8, [sp, #1] ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x60] blx r2 ldr r1, [sb, #0x40] add r8, r8, #1 cmp r0, r1 strgt r0, [sb, #0x40] ldr r1, [sb, #0x44] cmp r0, r1 strlt r0, [sb, #0x44] ldrh r0, [sb, #0x2a] cmp r8, r0 blt _0215bdb8 _0215bdfc: ldrh r0, [sb, #0x28] add r7, r7, #1 cmp r7, r0 blt _0215bda4 _0215be0c: mov r0, sb blx func_ov04_0210bfa8 mov r1, #0 strb r1, [sb, #0x1cd] ldrb r0, [sb, #0xc] cmp r0, #0 beq _0215bea8 ldrb r0, [sb, #4] cmp r0, #0 movne r0, #1 strneb r0, [sb, #0x1cc] bne _0215be5c ldr r0, _0215beb0 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020849c0 cmp r0, #0 movne r0, #1 strneb r0, [sb, #0x1cc] moveq r0, #0 streqb r0, [sb, #0x1cc] _0215be5c: ldr r0, [sb, #0x1c4] cmp r0, #0 beq _0215be70 mov r1, #0 bl func_ov00_020c0e24 _0215be70: ldr r0, [sb, #0x1c8] cmp r0, #0 beq _0215be84 mov r1, #0 bl func_ov00_020c0e24 _0215be84: ldr r0, [sb, #0x1c0] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} str sb, [r0, #0x30] ldr r0, [sb, #0x1c0] ldr r1, _0215beb4 ; =func_ov18_0215ca24 add r0, r0, #4 bl func_02018cb8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0215bea8: strb r1, [sb, #0x1cc] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov18_0215bd84 _0215beb0: .word data_027e0e60 _0215beb4: .word func_ov18_0215ca24 .global func_ov18_0215beb8 arm_func_start func_ov18_0215beb8 func_ov18_0215beb8: ; 0x0215beb8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_ov05_02111bc0 ldr r0, [r6, #0x1c0] cmp r0, #0 ldrneb r0, [r6, #0x1cc] cmpne r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r6, #0x1c4] bl func_ov00_020c0e04 ldr r0, [r6, #0x1c8] bl func_ov00_020c0e04 ldr r0, _0215bfb8 ; =data_027e0d38 mov r4, #0x1f ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #0 bne _0215bf7c ldr r0, _0215bfbc ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097738 cmp r0, #0 ldreq r0, _0215bfc0 ; =data_027e0c68 ldreqb r0, [r0, #4] cmpeq r0, #0 beq _0215bf78 ldr r0, _0215bfc4 ; =data_027e0f64 ldr r0, [r0] add r0, r0, r5, lsl #2 ldr r0, [r0, #4] ldr r0, [r0, #0x15c] cmp r0, #0x2f bgt _0215bf68 bge _0215bf7c cmp r0, #0xa bgt _0215bf70 cmp r0, #4 blt _0215bf70 beq _0215bf70 cmp r0, #5 beq _0215bf7c cmp r0, #0xa b _0215bf70 _0215bf68: cmp r0, #0x30 beq _0215bf7c _0215bf70: mov r4, #0 b _0215bf7c _0215bf78: mov r4, #0 _0215bf7c: ldr r0, [r6, #0x1c0] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, [r6, #0x1ac] mov r2, r4 bl func_02019570 ldr r0, _0215bfb8 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 bl func_ov18_0215bfc8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0215beb8 _0215bfb8: .word data_027e0d38 _0215bfbc: .word data_027e0f74 _0215bfc0: .word data_027e0c68 _0215bfc4: .word data_027e0f64 .global func_ov18_0215bfc8 arm_func_start func_ov18_0215bfc8 func_ov18_0215bfc8: ; 0x0215bfc8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 ldr r2, _0215c12c ; =data_027e0f94 ldr r1, _0215c130 ; =data_027e0e60 ldr r4, [r2] ldr r3, [r2, #4] str r4, [sp, #4] str r3, [sp, #8] ldr r3, [r2, #8] mov r5, r0 ldr r1, [r1] add r0, sp, #0 add r2, sp, #4 str r3, [sp, #0xc] bl func_ov00_02083a1c mov r0, r5 ldr r2, [r0] add r1, sp, #0 ldr r2, [r2, #0x64] blx r2 add r1, sp, #0 mov r0, r5 bl func_ov18_0215c34c mov r4, r0 add r1, sp, #0 mov r0, r5 bl func_ov18_0215c368 cmp r4, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} cmp r4, #1 bne _0215c050 ldr r4, [r5, #0x1d0] b _0215c06c _0215c050: str r4, [r5, #0x1d0] mov r0, r0, lsl #0xc str r0, [r5, #0x1d4] ldrb r0, [r5, #0x1cd] cmp r0, #0 ldreq r0, [r5, #0x1d4] streq r0, [r5, #0x1d8] _0215c06c: ldr r1, [r5, #0x1d4] ldr r2, _0215c134 ; =0x0000019a add r0, r5, #0x1d8 bl func_0202b0f4 ldr r0, [r5, #0x1d8] cmp r0, #0x10000 addge sp, sp, #0x10 ldmgeia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x1c4] bl func_ov00_020c0d68 mov ip, #0 ldr r2, _0215c138 ; =data_ov18_0216b43c ldr r3, _0215c13c ; =data_ov18_0216b44c mov lr, ip _0215c0a4: cmp r4, #2 bne _0215c0c0 ldr r1, [r3, lr, lsl #2] cmp r0, r1 bne _0215c0d0 mov ip, #1 b _0215c0dc _0215c0c0: ldr r1, [r2, lr, lsl #2] cmp r0, r1 moveq ip, #1 beq _0215c0dc _0215c0d0: add lr, lr, #1 cmp lr, #4 blo _0215c0a4 _0215c0dc: cmp ip, #0 beq _0215c108 bl func_ov18_0216926c ldr r1, _0215c140 ; =data_ov18_0216b46c ldr r2, [r5, #0x1d8] ldr r1, [r1, r4, lsl #2] bl func_ov18_02169300 mov r0, #1 add sp, sp, #0x10 strb r0, [r5, #0x1cd] ldmia sp!, {r3, r4, r5, pc} _0215c108: ldrb r0, [r5, #0x1cd] cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov18_0216926c ldr r1, [r5, #0x1d8] bl func_ov18_0216933c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215bfc8 _0215c12c: .word data_027e0f94 _0215c130: .word data_027e0e60 _0215c134: .word 0x0000019a _0215c138: .word data_ov18_0216b43c _0215c13c: .word data_ov18_0216b44c _0215c140: .word data_ov18_0216b46c .global func_ov18_0215c144 arm_func_start func_ov18_0215c144 func_ov18_0215c144: ; 0x0215c144 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 bl func_ov05_02111c00 ldr r0, [r4, #0x1c0] cmp r0, #0 ldrneb r0, [r4, #0x1cc] cmpne r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r7, _0215c1c4 ; =data_ov00_020e9360 mov r8, #0 mov r6, #3 _0215c170: mov r0, r7 mov r1, r6 bl func_ov00_02079e68 mov r5, r0 ldr r0, [r4, #0x1c0] ldr r1, [r0] ldr r1, [r1, #8] blx r1 add r1, r4, r8, lsl #2 ldr r1, [r1, #0x1a0] mov r2, r5 bl func_02019534 add r8, r8, #1 cmp r8, #3 blo _0215c170 ldr r0, [r4, #0x1c0] add r1, r4, #0x1b0 ldr r2, [r0] ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0215c144 _0215c1c4: .word data_ov00_020e9360 .global func_ov18_0215c1c8 arm_func_start func_ov18_0215c1c8 func_ov18_0215c1c8: ; 0x0215c1c8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 blx func_ov04_0210c5cc ldrh r7, [r5, #0x28] ldrh r6, [r5, #0x2a] mov r3, #0 cmp r7, #0 ble _0215c220 mov r1, r3 mov r2, r3 _0215c1f0: mov r4, r2 cmp r6, #0 ble _0215c214 _0215c1fc: ldr r0, [r5, #0x18c] ldr r0, [r0, r3, lsl #2] str r1, [r0, r4, lsl #2] add r4, r4, #1 cmp r4, r6 blt _0215c1fc _0215c214: add r3, r3, #1 cmp r3, r7 blt _0215c1f0 _0215c220: mov r4, #0 ldr r6, _0215c278 ; =data_027e0f6c mov r7, r4 _0215c22c: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x190] cmp r1, #0 beq _0215c268 ldr r0, [r6] bl func_ov00_02093af0 add r0, r5, r4, lsl #2 ldr r0, [r0, #0x190] cmp r0, #0 beq _0215c260 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0215c260: add r0, r5, r4, lsl #2 str r7, [r0, #0x190] _0215c268: add r4, r4, #1 cmp r4, #4 blo _0215c22c ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov18_0215c1c8 _0215c278: .word data_027e0f6c .global func_ov18_0215c27c arm_func_start func_ov18_0215c27c func_ov18_0215c27c: ; 0x0215c27c str r1, [r0, #0x188] bx lr arm_func_end func_ov18_0215c27c .global func_ov18_0215c284 arm_func_start func_ov18_0215c284 func_ov18_0215c284: ; 0x0215c284 ldr ip, _0215c28c ; =func_ov00_0207f4a4 bx ip .align 2, 0 arm_func_end func_ov18_0215c284 _0215c28c: .word func_ov00_0207f4a4 .global func_ov18_0215c290 arm_func_start func_ov18_0215c290 func_ov18_0215c290: ; 0x0215c290 stmdb sp!, {r3, lr} ldr r2, [r0, #0x188] cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_0215c380 ldrb r0, [r0, #1] ldmia sp!, {r3, pc} arm_func_end func_ov18_0215c290 .global func_ov18_0215c2b0 arm_func_start func_ov18_0215c2b0 func_ov18_0215c2b0: ; 0x0215c2b0 stmdb sp!, {r4, lr} ldr r3, [r0, #0x188] mov r4, r2 cmp r3, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} bl func_ov18_0215c380 ldrb r1, [r0, #3] mov r0, #1 tst r1, r0, lsl r4 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215c2b0 .global func_ov18_0215c2e0 arm_func_start func_ov18_0215c2e0 func_ov18_0215c2e0: ; 0x0215c2e0 stmdb sp!, {r3, lr} ldr r2, [r0, #0x188] cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_0215c380 ldrsb r0, [r0, #2] ldmia sp!, {r3, pc} arm_func_end func_ov18_0215c2e0 .global func_ov18_0215c300 arm_func_start func_ov18_0215c300 func_ov18_0215c300: ; 0x0215c300 stmdb sp!, {r3, lr} ldr r2, [r0, #0x188] cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_0215c380 ldrsb r1, [r0, #2] ldr r0, _0215c328 ; =0x00001333 mul r0, r1, r0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215c300 _0215c328: .word 0x00001333 .global func_ov18_0215c32c arm_func_start func_ov18_0215c32c func_ov18_0215c32c: ; 0x0215c32c stmdb sp!, {r3, lr} ldr r2, [r0, #0x188] cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_0215c380 ldrb r0, [r0] ldmia sp!, {r3, pc} arm_func_end func_ov18_0215c32c .global func_ov18_0215c34c arm_func_start func_ov18_0215c34c func_ov18_0215c34c: ; 0x0215c34c stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x64] blx r2 mov r0, r0, asr #0x5 and r0, r0, #7 ldmia sp!, {r3, pc} arm_func_end func_ov18_0215c34c .global func_ov18_0215c368 arm_func_start func_ov18_0215c368 func_ov18_0215c368: ; 0x0215c368 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x64] blx r2 and r0, r0, #0x1f ldmia sp!, {r3, pc} arm_func_end func_ov18_0215c368 .global func_ov18_0215c380 arm_func_start func_ov18_0215c380 func_ov18_0215c380: ; 0x0215c380 ldr r3, [r0, #0x188] ldrb r2, [r1] ldrb r1, [r1, #1] ldrh r0, [r3, #8] add r3, r3, #0xc mla r0, r1, r0, r2 add r0, r3, r0, lsl #2 bx lr arm_func_end func_ov18_0215c380 .global func_ov18_0215c3a0 arm_func_start func_ov18_0215c3a0 func_ov18_0215c3a0: ; 0x0215c3a0 ldr ip, [r0, #0x188] ldrb r3, [r1] ldrb r1, [r1, #1] ldrh r0, [ip, #8] mla r0, r1, r0, r3 add r0, ip, r0, lsl #2 strb r2, [r0, #0xd] bx lr arm_func_end func_ov18_0215c3a0 .global func_ov18_0215c3c0 arm_func_start func_ov18_0215c3c0 func_ov18_0215c3c0: ; 0x0215c3c0 stmdb sp!, {r3, lr} cmp r3, #0 beq _0215c3f8 ldr r0, [r0, #0x188] ldrb ip, [r1] ldrb r3, [r1, #1] ldrh r1, [r0, #8] add lr, r0, #0xf mov r0, #1 mla ip, r3, r1, ip ldrb r1, [lr, ip, lsl #2] orr r0, r1, r0, lsl r2 strb r0, [lr, ip, lsl #2] ldmia sp!, {r3, pc} _0215c3f8: ldr lr, [r0, #0x188] mov r0, #1 ldrb ip, [r1] ldrb r3, [r1, #1] ldrh r1, [lr, #8] add lr, lr, #0xf mvn r0, r0, lsl r2 mla r2, r3, r1, ip ldrb r1, [lr, r2, lsl #2] and r0, r1, r0 strb r0, [lr, r2, lsl #2] ldmia sp!, {r3, pc} arm_func_end func_ov18_0215c3c0 .global func_ov18_0215c428 arm_func_start func_ov18_0215c428 func_ov18_0215c428: ; 0x0215c428 ldr ip, [r0, #0x188] ldrb r3, [r1] ldrb r1, [r1, #1] ldrh r0, [ip, #8] mla r0, r1, r0, r3 add r0, ip, r0, lsl #2 strb r2, [r0, #0xe] bx lr arm_func_end func_ov18_0215c428 .global func_ov18_0215c448 arm_func_start func_ov18_0215c448 func_ov18_0215c448: ; 0x0215c448 ldrb r2, [r1] ldr r3, [r0, #0x18c] ldrb r0, [r1, #1] ldr r1, [r3, r2, lsl #2] ldr r0, [r1, r0, lsl #2] bx lr arm_func_end func_ov18_0215c448 .global func_ov18_0215c460 arm_func_start func_ov18_0215c460 func_ov18_0215c460: ; 0x0215c460 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c mov r5, r2 mov r6, r1 ldr r2, _0215c5bc ; =data_027e0e60 mov r7, r0 ldrb r1, [r5, #1] ldr r0, [r2] mov r4, r3 bl func_ov00_02083c50 ldr r2, _0215c5bc ; =data_027e0e60 mov r8, r0 ldrb r1, [r5] ldr r0, [r2] bl func_ov00_02083c24 mov r1, #0x5000 str r1, [sp, #0x14] str r0, [sp, #0x10] str r8, [sp, #0x18] mov r0, r7 ldr r3, [r0] add r1, sp, #0x10 ldr r3, [r3, #0x68] mov r2, #0 blx r3 str r0, [sp, #0x14] mov r0, r7 ldr r2, [r0] mov r1, r5 ldr r2, [r2, #0x54] blx r2 cmp r0, #0x1c bgt _0215c504 cmp r0, #0x1b blt _0215c4f8 cmpne r0, #0x1c beq _0215c50c b _0215c538 _0215c4f8: cmp r0, #0x14 beq _0215c50c b _0215c538 _0215c504: cmp r0, #0x47 bne _0215c538 _0215c50c: cmp r6, #0x6e bne _0215c528 ldr r0, [sp, #0x14] add r0, r0, #0x33 add r0, r0, #0x1300 str r0, [sp, #0x14] b _0215c538 _0215c528: ldr r0, [sp, #0x14] cmp r0, #0 movlt r0, #0 strlt r0, [sp, #0x14] _0215c538: mvn r0, #0 cmp r6, r0 beq _0215c5b0 ldrb r3, [r5] ldr r0, [r7, #0x18c] ldrb r1, [r5, #1] ldr r0, [r0, r3, lsl #2] ldr r0, [r0, r1, lsl #2] cmp r0, #0 bne _0215c5a4 str r1, [sp] add r0, sp, #0x10 str r0, [sp, #4] ldr r0, [sp, #0x38] str r4, [sp, #8] str r0, [sp, #0xc] ldr r0, _0215c5c0 ; =data_027e0f68 ldrb r2, [r7, #0x13] ldr r0, [r0] mov r1, r6 bl func_ov00_0208d6e0 ldrb r2, [r5] ldr r3, [r7, #0x18c] ldrb r1, [r5, #1] ldr r2, [r3, r2, lsl #2] str r0, [r2, r1, lsl #2] b _0215c5b0 _0215c5a4: add sp, sp, #0x1c mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0215c5b0: mov r0, #1 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0215c460 _0215c5bc: .word data_027e0e60 _0215c5c0: .word data_027e0f68 .global func_ov18_0215c5c4 arm_func_start func_ov18_0215c5c4 func_ov18_0215c5c4: ; 0x0215c5c4 stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0] mov r5, r0 ldr r2, [r2, #0x78] mov r4, r1 blx r2 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r1, [r4] ldr r2, [r5, #0x18c] ldrb r0, [r4, #1] ldr r1, [r2, r1, lsl #2] mov r2, #0 str r2, [r1, r0, lsl #2] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_0215c5c4 .global func_ov18_0215c608 arm_func_start func_ov18_0215c608 func_ov18_0215c608: ; 0x0215c608 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r6, r1 mov r5, r2 bl func_ov00_0207e060 ldr r0, [r4, #0x1c0] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r4, r0 mov r1, r6 bl func_020196fc mov r0, r4 mov r1, r5 bl func_020196bc ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov18_0215c608 .global func_ov18_0215c650 arm_func_start func_ov18_0215c650 func_ov18_0215c650: ; 0x0215c650 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r1, [r4, #0x1bc] cmp r1, #0 beq _0215c66c bl func_ov18_0215c6ac _0215c66c: mov r0, #0x10 str r0, [sp] mov r0, #0 ldr r1, _0215c6a4 ; =data_027e0ce0 str r0, [sp, #4] ldr r0, _0215c6a8 ; =data_ov18_0216c0c0 ldr r1, [r1, #4] ldr r2, [r0, #4] ldr r3, [r0, #0x14] mov r0, #0x99 blx func_0202d598 str r0, [r4, #0x1bc] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215c650 _0215c6a4: .word data_027e0ce0 _0215c6a8: .word data_ov18_0216c0c0 .global func_ov18_0215c6ac arm_func_start func_ov18_0215c6ac func_ov18_0215c6ac: ; 0x0215c6ac stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1bc] cmp r0, #0 ldmeqia sp!, {r4, pc} blx func_0202d5dc mov r0, #0 str r0, [r4, #0x1bc] ldmia sp!, {r4, pc} arm_func_end func_ov18_0215c6ac .global func_ov18_0215c6d0 arm_func_start func_ov18_0215c6d0 func_ov18_0215c6d0: ; 0x0215c6d0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r6, r0 ldr r1, [r6, #0x1c0] cmp r1, #0 beq _0215c6ec bl func_ov18_0215c9ac _0215c6ec: ldr r0, [r6, #0x1bc] cmp r0, #0 bne _0215c700 mov r0, r6 bl func_ov18_0215c650 _0215c700: ldr r1, _0215c908 ; =data_ov18_0216c0c0 mov r5, #0 ldr r3, [r1, #0xc] ldr r4, _0215c90c ; =data_02057840 ldr r2, _0215c910 ; =data_0205785c add r0, sp, #0x34 str r5, [sp, #0x38] str r5, [sp, #0x3c] str r5, [sp, #0x40] str r4, [sp, #0x34] str r3, [sp, #0x24] str r5, [sp, #0x28] str r5, [sp, #0x2c] strb r5, [sp, #0x30] str r2, [sp, #0x20] ldr r2, [r0] ldr r4, [r1] ldr r2, [r2, #0xc] blx r2 add r0, sp, #0x34 mov r1, #0x10 str r4, [sp, #0x38] blx func_0203014c add r0, sp, #0x34 add r1, sp, #0x20 mov r2, #1 mov r3, r5 blx func_ov00_020bd728 mov r5, r0 ldrh r2, [r5, #0xe] ldr r1, _0215c914 ; =data_027e0ce0 mov r0, #0x5c add r2, r5, r2 ldr r4, [r2, #0xc] ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0215c7a4 add r1, r5, r4 blx func_ov00_020a9588 _0215c7a4: str r0, [r6, #0x1c0] mov r3, #0 ldr r2, _0215c90c ; =data_02057840 ldr r1, _0215c908 ; =data_ov18_0216c0c0 add r0, sp, #0x10 str r3, [sp, #0x14] str r3, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x10] ldr r2, [r0] ldr r7, [r1, #8] ldr r2, [r2, #0xc] blx r2 add r0, sp, #0x10 mov r1, #0x10 str r7, [sp, #0x14] blx func_0203014c ldr r1, _0215c918 ; =data_ov18_0216b45c add r0, sp, #0x10 bl func_ov00_020c0bdc ldr r1, _0215c914 ; =data_027e0ce0 mov r7, r0 ldr r1, [r1, #4] mov r0, #0x24 mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0215c824 mov r1, r7 add r2, r5, r4 mov r3, #4 bl func_ov18_0215c91c _0215c824: str r0, [r6, #0x1c4] mov r1, #0 bl func_ov00_020c0e5c ldr r0, [r6, #0x1c0] ldr r1, [r6, #0x1c4] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 mov r2, #0 ldr r0, _0215c90c ; =data_02057840 ldr r1, _0215c908 ; =data_ov18_0216c0c0 str r0, [sp] add r0, sp, #0 str r2, [sp, #4] str r2, [sp, #8] str r2, [sp, #0xc] ldr r7, [r1, #0x10] ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 add r0, sp, #0 mov r1, #0x10 str r7, [sp, #4] blx func_0203014c ldr r1, _0215c918 ; =data_ov18_0216b45c add r0, sp, #0 bl func_ov00_020c0bdc ldr r1, _0215c914 ; =data_027e0ce0 mov r7, r0 ldr r1, [r1, #4] mov r0, #0x24 mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0215c8c0 mov r1, r7 add r2, r5, r4 mov r3, #4 bl func_ov18_0215c964 _0215c8c0: str r0, [r6, #0x1c8] mov r1, #0 bl func_ov00_020c0e5c ldr r0, [r6, #0x1c0] ldr r1, [r6, #0x1c8] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 add r0, sp, #0 blx func_0203010c add r0, sp, #0x10 blx func_0203010c add r0, sp, #0x20 blx func_0203005c add r0, sp, #0x34 blx func_0203010c add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov18_0215c6d0 _0215c908: .word data_ov18_0216c0c0 _0215c90c: .word data_02057840 _0215c910: .word data_0205785c _0215c914: .word data_027e0ce0 _0215c918: .word data_ov18_0216b45c .global func_ov18_0215c91c arm_func_start func_ov18_0215c91c func_ov18_0215c91c: ; 0x0215c91c stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r1, #0 mov r6, r0 mov r4, r3 blx func_ov00_020c0c08 ldr r3, _0215c960 ; =data_ov00_020e5868 mov r0, r6 mov r1, r5 mov r2, r4 str r3, [r6] blx func_ov00_020a9a68 mov r0, r6 mov r1, r5 bl func_ov00_020c0c44 mov r0, r6 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0215c91c _0215c960: .word data_ov00_020e5868 .global func_ov18_0215c964 arm_func_start func_ov18_0215c964 func_ov18_0215c964: ; 0x0215c964 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r1, #0 mov r6, r0 mov r4, r3 blx func_ov00_020c0c08 ldr r3, _0215c9a8 ; =data_ov00_020e5868 mov r0, r6 mov r1, r5 mov r2, r4 str r3, [r6] blx func_ov00_020a9a68 mov r0, r6 mov r1, r5 bl func_ov00_020c0c9c mov r0, r6 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0215c964 _0215c9a8: .word data_ov00_020e5868 .global func_ov18_0215c9ac arm_func_start func_ov18_0215c9ac func_ov18_0215c9ac: ; 0x0215c9ac stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1c8] cmp r0, #0 beq _0215c9d8 beq _0215c9d0 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0215c9d0: mov r0, #0 str r0, [r4, #0x1c8] _0215c9d8: ldr r0, [r4, #0x1c4] cmp r0, #0 beq _0215c9fc beq _0215c9f4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0215c9f4: mov r0, #0 str r0, [r4, #0x1c4] _0215c9fc: ldr r0, [r4, #0x1c0] cmp r0, #0 ldmeqia sp!, {r4, pc} beq _0215ca18 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0215ca18: mov r0, #0 str r0, [r4, #0x1c0] ldmia sp!, {r4, pc} arm_func_end func_ov18_0215c9ac .global func_ov18_0215ca24 arm_func_start func_ov18_0215ca24 func_ov18_0215ca24: ; 0x0215ca24 ldr r2, _0215ca38 ; =func_ov18_0215ca8c mov r1, #2 str r2, [r0, #0x24] strb r1, [r0, #0x92] bx lr .align 2, 0 arm_func_end func_ov18_0215ca24 _0215ca38: .word func_ov18_0215ca8c .global func_ov18_0215ca3c arm_func_start func_ov18_0215ca3c func_ov18_0215ca3c: ; 0x0215ca3c stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldr r2, [r4, #4] ldr r1, _0215ca88 ; =data_ov18_0216b4b4 ldr r2, [r2, #4] mov r5, r0 add r0, r2, #0x40 bl func_0201e388 cmp r0, #0 ldmltia sp!, {r3, r4, r5, pc} ldr r1, [r4, #8] tst r1, #0x10 ldrneb r1, [r4, #0xae] mvneq r1, #0 cmp r0, r1 ldreq r0, [r4, #0xb4] ldreq r0, [r0, #0x50] streq r0, [r5, #0x4c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215ca3c _0215ca88: .word data_ov18_0216b4b4 .global func_ov18_0215ca8c arm_func_start func_ov18_0215ca8c func_ov18_0215ca8c: ; 0x0215ca8c mov r1, r0 ldr r0, [r1, #4] ldr ip, _0215caa0 ; =func_ov18_0215ca3c ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov18_0215ca8c _0215caa0: .word func_ov18_0215ca3c .global func_ov18_0215caa4 arm_func_start func_ov18_0215caa4 func_ov18_0215caa4: ; 0x0215caa4 mov r0, #0 bx lr arm_func_end func_ov18_0215caa4 .global func_ov18_0215caac arm_func_start func_ov18_0215caac func_ov18_0215caac: ; 0x0215caac stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r2, #0x10 mov r4, r1 mov r3, r2 mov r1, #0 mov r5, r0 blx func_ov09_02113620 ldr r0, _0215cb1c ; =data_ov18_0216c22c mvn r1, #0 str r0, [r5] str r1, [r5, #0x40] str r1, [r5, #0x44] strh r1, [r5, #0x48] mov r0, #0 strb r0, [r5, #0x4a] str r0, [r5, #0x4c] str r1, [r5, #0x50] str r4, [r5, #0x54] ldr r2, _0215cb20 ; =func_ov18_0215cc40 ldr r0, _0215cb24 ; =data_027e077c add r1, sp, #0 str r2, [sp] str r5, [sp, #4] blx func_0202e7a4 mov r0, r5 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215caac _0215cb1c: .word data_ov18_0216c22c _0215cb20: .word func_ov18_0215cc40 _0215cb24: .word data_027e077c .global func_ov18_0215cb28 arm_func_start func_ov18_0215cb28 func_ov18_0215cb28: ; 0x0215cb28 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0215cb68 ; =data_ov18_0216c22c mov r4, r0 str r1, [r4] ldr r2, _0215cb6c ; =func_ov18_0215cc40 ldr r0, _0215cb70 ; =data_027e077c add r1, sp, #0 str r2, [sp] str r4, [sp, #4] blx func_0202e7fc add r0, r4, #4 blx func_0202ab64 mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215cb28 _0215cb68: .word data_ov18_0216c22c _0215cb6c: .word func_ov18_0215cc40 _0215cb70: .word data_027e077c .global func_ov18_0215cb74 arm_func_start func_ov18_0215cb74 func_ov18_0215cb74: ; 0x0215cb74 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mvn r2, #0 mov r4, r1 cmp r5, r2 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov05_02102a80 ldr r0, _0215cc3c ; =data_027e077c ldr r0, [r0] sub r0, r0, #0x18 cmp r0, #4 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _0215cba8: ; jump table b _0215cbbc ; case 0 b _0215cbbc ; case 1 ldmia sp!, {r3, r4, r5, pc} ; case 2 b _0215cbfc ; case 3 b _0215cbfc ; case 4 _0215cbbc: cmp r5, #0 bne _0215cbe0 mov r0, r4 bl func_ov09_02113650 mov r0, r4 bl func_ov18_0215cd10 mov r0, r4 bl func_ov09_02113650 ldmia sp!, {r3, r4, r5, pc} _0215cbe0: cmp r5, #1 ldmneia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov09_02113650 mov r0, r4 bl func_ov18_0215cd9c ldmia sp!, {r3, r4, r5, pc} _0215cbfc: cmp r5, #0 bne _0215cc20 mov r0, r4 bl func_ov09_02113650 mov r0, r4 bl func_ov18_0215cdb4 mov r0, r4 bl func_ov09_02113650 ldmia sp!, {r3, r4, r5, pc} _0215cc20: cmp r5, #1 ldmneia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov09_02113650 mov r0, r4 bl func_ov18_0215ce44 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215cb74 _0215cc3c: .word data_027e077c .global func_ov18_0215cc40 arm_func_start func_ov18_0215cc40 func_ov18_0215cc40: ; 0x0215cc40 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r2 cmp r1, #0x18 beq _0215cc64 cmp r1, #0x1b beq _0215ccb4 add sp, sp, #8 ldmia sp!, {r4, pc} _0215cc64: ldr r1, [r4, #0x44] ldr r0, _0215cd04 ; =data_ov18_0216b4cc ldrb r0, [r0, r1, lsl #3] cmp r0, #0 mov r0, r4 beq _0215cca8 bl func_ov09_02113650 mov ip, #0x10 str ip, [sp] ldr r0, _0215cd08 ; =data_027e0c54 ldr r1, _0215cd0c ; =func_ov18_0215cb74 mov r2, r4 mov r3, #0 str ip, [sp, #4] blx func_02036140 add sp, sp, #8 ldmia sp!, {r4, pc} _0215cca8: bl func_ov09_0211366c add sp, sp, #8 ldmia sp!, {r4, pc} _0215ccb4: ldr r1, [r4, #0x44] ldr r0, _0215cd04 ; =data_ov18_0216b4cc ldrb r0, [r0, r1, lsl #3] cmp r0, #0 mov r0, r4 beq _0215ccf8 bl func_ov09_02113650 mov ip, #0x10 str ip, [sp] ldr r0, _0215cd08 ; =data_027e0c54 ldr r1, _0215cd0c ; =func_ov18_0215cb74 mov r2, r4 mov r3, #0 str ip, [sp, #4] blx func_02036140 add sp, sp, #8 ldmia sp!, {r4, pc} _0215ccf8: bl func_ov09_02113698 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215cc40 _0215cd04: .word data_ov18_0216b4cc _0215cd08: .word data_027e0c54 _0215cd0c: .word func_ov18_0215cb74 .global func_ov18_0215cd10 arm_func_start func_ov18_0215cd10 func_ov18_0215cd10: ; 0x0215cd10 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x44] ldr r0, _0215cd80 ; =data_027e077c mov r1, #0x19 str r2, [r4, #0x40] bl func_0202e740 ldr ip, _0215cd84 ; =0x04000304 ldr r1, _0215cd88 ; =data_ov18_0216b4c8 ldrh r3, [ip] add r0, r4, #0x3c mov r2, #0 orr r3, r3, #0x8000 strh r3, [ip] ldr r3, [r4, #0x40] ldr r1, [r1, r3, lsl #3] blx func_ov00_0207c0ac ldr r0, [r4, #0x54] ldr r1, [r4, #0x40] bl func_ov18_021604d4 ldr r0, [r4, #0x4c] cmp r0, #3 ldmneia sp!, {r4, pc} bl func_ov18_0215cd8c bl func_ov05_02109768 mov r0, #0 str r0, [r4, #0x4c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215cd10 _0215cd80: .word data_027e077c _0215cd84: .word 0x04000304 _0215cd88: .word data_ov18_0216b4c8 .global func_ov18_0215cd8c arm_func_start func_ov18_0215cd8c func_ov18_0215cd8c: ; 0x0215cd8c ldr ip, _0215cd98 ; =func_01fffcd8 mov r0, #6 bx ip .align 2, 0 arm_func_end func_ov18_0215cd8c _0215cd98: .word func_01fffcd8 .global func_ov18_0215cd9c arm_func_start func_ov18_0215cd9c func_ov18_0215cd9c: ; 0x0215cd9c ldr ip, _0215cdac ; =func_0202e740 ldr r0, _0215cdb0 ; =data_027e077c mov r1, #0x1a bx ip .align 2, 0 arm_func_end func_ov18_0215cd9c _0215cdac: .word func_0202e740 _0215cdb0: .word data_027e077c .global func_ov18_0215cdb4 arm_func_start func_ov18_0215cdb4 func_ov18_0215cdb4: ; 0x0215cdb4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0215ce38 ; =data_027e077c mov r1, #0x1c bl func_0202e740 ldr r1, _0215ce3c ; =0x04000304 ldrh r0, [r1] bic r0, r0, #0x8000 strh r0, [r1] ldr r0, [r4, #0x54] bl func_ov18_02160524 add r0, r4, #0x3c mov r1, #0 blx func_ov00_0207c0cc blx func_ov00_0207b1fc ldrsh r1, [r4, #0x48] cmp r1, #0 blt _0215ce2c ldr r0, _0215ce40 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bce48 cmp r0, #0 ldrne r1, [r4, #0x50] mvnne r0, #0 cmpne r1, r0 beq _0215ce2c bl func_ov18_0215cd8c mov r1, #1 strb r1, [r0, #0xa5] str r1, [r4, #0x4c] _0215ce2c: mvn r0, #0 str r0, [r4, #0x40] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215cdb4 _0215ce38: .word data_027e077c _0215ce3c: .word 0x04000304 _0215ce40: .word data_027e0fc8 .global func_ov18_0215ce44 arm_func_start func_ov18_0215ce44 func_ov18_0215ce44: ; 0x0215ce44 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0215ce84 ; =data_027e077c mov r1, #1 bl func_0202e740 add r0, r4, #4 blx func_ov00_0207a730 mov r1, #0 str r1, [r4, #0x38] sub r0, r1, #1 str r0, [r4, #0x3c] str r0, [r4, #0x40] str r0, [r4, #0x44] strh r0, [r4, #0x48] strb r1, [r4, #0x4a] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215ce44 _0215ce84: .word data_027e077c .global func_ov18_0215ce88 arm_func_start func_ov18_0215ce88 func_ov18_0215ce88: ; 0x0215ce88 stmdb sp!, {r3, lr} ldr r2, _0215ceac ; =data_027e103c str r1, [r0, #0x44] ldr r0, [r2] bl func_ov00_020cf330 ldr r0, _0215ceb0 ; =data_027e077c mov r1, #0x18 bl func_0202e740 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215ce88 _0215ceac: .word data_027e103c _0215ceb0: .word data_027e077c .global func_ov18_0215ceb4 arm_func_start func_ov18_0215ceb4 func_ov18_0215ceb4: ; 0x0215ceb4 strh r1, [r0, #0x48] strb r2, [r0, #0x4a] cmp r2, #0 ldrne r1, [r0, #0x40] ldr ip, _0215cedc ; =func_0202e740 mvneq r1, #0 str r1, [r0, #0x50] ldr r0, _0215cee0 ; =data_027e077c mov r1, #0x1b bx ip .align 2, 0 arm_func_end func_ov18_0215ceb4 _0215cedc: .word func_0202e740 _0215cee0: .word data_027e077c .global func_ov18_0215cee4 arm_func_start func_ov18_0215cee4 func_ov18_0215cee4: ; 0x0215cee4 ldr ip, _0215cef0 ; =func_ov18_021604c4 ldr r0, [r0, #0x54] bx ip .align 2, 0 arm_func_end func_ov18_0215cee4 _0215cef0: .word func_ov18_021604c4 .global func_ov18_0215cef4 arm_func_start func_ov18_0215cef4 func_ov18_0215cef4: ; 0x0215cef4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov09_0211372c ldr r0, [r4, #0x4c] cmp r0, #1 beq _0215cf18 cmp r0, #2 beq _0215cf30 ldmia sp!, {r4, pc} _0215cf18: ldr r0, _0215cf58 ; =data_027e071c bl func_0202d7ac cmp r0, #0 moveq r0, #2 streq r0, [r4, #0x4c] ldmia sp!, {r4, pc} _0215cf30: bl func_ov18_0215cd8c bl func_ov00_020b2fac cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0x50] ldr r0, _0215cf5c ; =data_027e0e28 bl func_ov18_02160a54 mov r0, #3 str r0, [r4, #0x4c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215cef4 _0215cf58: .word data_027e071c _0215cf5c: .word data_027e0e28 .global func_ov18_0215cf60 arm_func_start func_ov18_0215cf60 func_ov18_0215cf60: ; 0x0215cf60 stmdb sp!, {r3, lr} ldr r1, _0215cf8c ; =data_027e0fe0 mov r0, #0x27c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_0215d0b0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215cf60 _0215cf8c: .word data_027e0fe0 .global func_ov18_0215cf90 arm_func_start func_ov18_0215cf90 func_ov18_0215cf90: ; 0x0215cf90 ldr r2, [r0, #4] ldr r0, [r1, #4] cmp r2, r0 moveq r0, #0 streqb r0, [r1, #0x11a] mov r0, #0 bx lr arm_func_end func_ov18_0215cf90 .global func_ov18_0215cfac arm_func_start func_ov18_0215cfac func_ov18_0215cfac: ; 0x0215cfac stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr r1, _0215d04c ; =data_027e0fe4 mov r3, r0 ldr r1, [r1] ldr r2, _0215d050 ; =0x4c4e4232 add r0, sp, #8 add r3, r3, #4 bl func_ov00_020c38fc ldr r0, _0215d04c ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x11a] ldr r1, _0215d054 ; =data_027e0fc8 ldr r0, _0215d04c ; =data_027e0fe4 ldr r3, [r1] ldr r0, [r0] ldr r2, [r3, #0x3c] add r1, sp, #8 str r2, [sp, #8] ldr r2, [r3, #0x40] str r2, [sp, #0xc] bl func_ov00_020c3674 cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x11a] ldr r0, _0215d04c ; =data_027e0fe4 ldr ip, _0215d058 ; =data_ov18_0216c2b8 ldr r3, _0215d05c ; =0x4b4f4b41 ldr r0, [r0] add r1, sp, #0 mov r2, #0 str ip, [sp] str r3, [sp, #4] bl func_ov00_020c37ec add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215cfac _0215d04c: .word data_027e0fe4 _0215d050: .word 0x4c4e4232 _0215d054: .word data_027e0fc8 _0215d058: .word data_ov18_0216c2b8 _0215d05c: .word 0x4b4f4b41 .global func_ov18_0215d060 arm_func_start func_ov18_0215d060 func_ov18_0215d060: ; 0x0215d060 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r1, _0215d0a8 ; =data_027e0fe4 mov r3, r0 ldr r1, [r1] ldr r2, _0215d0ac ; =0x4c4e4232 add r0, sp, #0 add r3, r3, #4 bl func_ov00_020c38fc ldr r0, _0215d0a8 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 movne r1, #1 strneb r1, [r0, #0x11a] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215d060 _0215d0a8: .word data_027e0fe4 _0215d0ac: .word 0x4c4e4232 .global func_ov18_0215d0b0 arm_func_start func_ov18_0215d0b0 func_ov18_0215d0b0: ; 0x0215d0b0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 bl func_ov00_020c1554 ldr r1, _0215d1d4 ; =data_ov18_0216c2c4 mov r3, #0 ldr r0, _0215d1d8 ; =data_ov09_0211f530 str r1, [r4] ldr r1, [r0, #4] add r0, r4, #0x100 str r1, [r4, #0x158] strb r3, [r4, #0x15c] str r3, [r4, #0x160] strh r3, [r0, #0x64] mov r1, #0x47 strb r3, [r4, #0x166] sub r2, r3, #1 str r2, [r4, #0x168] str r3, [r4, #0x16c] str r3, [r4, #0x170] str r3, [r4, #0x174] str r1, [r4, #0x1cc] str r3, [r4, #0x1d0] str r3, [r4, #0x1d4] sub r1, r1, #0x49 str r1, [r4, #0x1d8] strh r3, [r0, #0xdc] mov r0, #0xff strb r0, [r4, #0x1de] strb r3, [r4, #0x1df] strb r3, [r4, #0x1e0] ldr r1, _0215d1dc ; =data_ov18_0216c380 strb r3, [r4, #0x1e1] ldr r0, _0215d1e0 ; =data_ov00_020e2f04 str r1, [r4, #0x1e4] str r0, [r4, #0x1f4] mov r0, #1 strb r0, [r4, #0x1f8] strb r3, [r4, #0x1f9] str r3, [r4, #0x1fc] str r3, [r4, #0x200] ldr r1, _0215d1e4 ; =data_ov00_020e2dd8 str r3, [r4, #0x204] add r0, r4, #0x220 str r1, [r4, #0x1f4] bl func_ov09_0211d0b0 mov r1, #0 str r1, [r4, #0x7c] mov r2, #0x1800 str r2, [r4, #0x80] str r1, [r4, #0x84] mov r0, #0x4000 str r0, [r4, #0x88] str r1, [r4, #0x8c] str r2, [r4, #0x90] str r1, [r4, #0x94] str r0, [r4, #0x98] str r1, [r4, #0xa8] str r2, [r4, #0xac] str r1, [r4, #0xb0] mov r0, #0xb000 str r0, [r4, #0xb4] ldr r0, [r4, #0x158] mov r2, r1 bl func_ov09_021154e8 ldr r0, [r4, #0x158] mov r1, #1 blx func_ov09_02114c7c mov r1, #1 mov r0, r4 strb r1, [r4, #0x12a] add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0215d0b0 _0215d1d4: .word data_ov18_0216c2c4 _0215d1d8: .word data_ov09_0211f530 _0215d1dc: .word data_ov18_0216c380 _0215d1e0: .word data_ov00_020e2f04 _0215d1e4: .word data_ov00_020e2dd8 .global func_ov18_0215d1e8 arm_func_start func_ov18_0215d1e8 func_ov18_0215d1e8: ; 0x0215d1e8 bx lr arm_func_end func_ov18_0215d1e8 .global func_ov18_0215d1ec arm_func_start func_ov18_0215d1ec func_ov18_0215d1ec: ; 0x0215d1ec stmdb sp!, {r4, lr} ldr r1, _0215d230 ; =data_ov18_0216c2c4 mov r4, r0 str r1, [r4] bl func_ov18_0215e24c ldr r0, _0215d234 ; =data_027e0f6c add r1, r4, #0x1f4 ldr r0, [r0] bl func_ov00_02093af0 add r0, r4, #0x220 bl func_ov09_0211d128 add r0, r4, #0x1f4 bl func_ov00_02094824 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215d1ec _0215d230: .word data_ov18_0216c2c4 _0215d234: .word data_027e0f6c .global func_ov18_0215d238 arm_func_start func_ov18_0215d238 func_ov18_0215d238: ; 0x0215d238 stmdb sp!, {r4, lr} ldr r1, _0215d284 ; =data_ov18_0216c2c4 mov r4, r0 str r1, [r4] bl func_ov18_0215e24c ldr r0, _0215d288 ; =data_027e0f6c add r1, r4, #0x1f4 ldr r0, [r0] bl func_ov00_02093af0 add r0, r4, #0x220 bl func_ov09_0211d128 add r0, r4, #0x1f4 bl func_ov00_02094824 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215d238 _0215d284: .word data_ov18_0216c2c4 _0215d288: .word data_027e0f6c .global func_ov18_0215d28c arm_func_start func_ov18_0215d28c func_ov18_0215d28c: ; 0x0215d28c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r5, r0 ldrsh r0, [r5, #0x78] bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _0215d2e0 _0215d2ac: ; jump table b _0215d2e0 ; case 0 b _0215d2d4 ; case 1 b _0215d2c8 ; case 2 b _0215d2bc ; case 3 _0215d2bc: mov r0, #0x37 strh r0, [r5, #0x7a] b _0215d2e8 _0215d2c8: mov r0, #0x38 strh r0, [r5, #0x7a] b _0215d2e8 _0215d2d4: mov r0, #0x39 strh r0, [r5, #0x7a] b _0215d2e8 _0215d2e0: mov r0, #0x3a strh r0, [r5, #0x7a] _0215d2e8: ldr r0, [r5, #0x48] ldr ip, _0215d578 ; =data_02050f54 sub r0, r0, #0x800 str r0, [r5, #0x48] ldr r0, [r5, #0x50] mov r2, #0 sub r0, r0, #0x800 str r0, [r5, #0x50] ldrh r0, [r5, #0x20] ldrsh r1, [r5, #0x78] cmp r0, #0 addeq r0, r5, #0x100 addne r0, r5, #0x100 subne r1, r1, #0x8000 strh r1, [r0, #0x64] ldr r0, [r5, #0x48] moveq r4, #1 str r0, [r5, #0x178] ldr r0, [r5, #0x4c] mov r1, #0x800 str r0, [r5, #0x17c] ldr r0, [r5, #0x50] movne r4, #0 str r0, [r5, #0x180] ldrh r3, [r5, #0x78] ldr r6, [r5, #0x48] ldr r0, [r5, #0x50] mov r3, r3, asr #0x4 mov r7, r3, lsl #0x1 add r3, r7, #1 mov r3, r3, lsl #0x1 ldrsh lr, [ip, r3] mov r3, r7, lsl #0x1 ldrsh ip, [ip, r3] mov r3, lr, asr #0x1f mov r7, r3, lsl #0xf mov r3, ip, asr #0x1f mov r3, r3, lsl #0xf adds r8, r1, lr, lsl #15 orr r7, r7, lr, lsr #17 adc r7, r7, #0 mov r8, r8, lsr #0xc orr r8, r8, r7, lsl #20 adds lr, r1, ip, lsl #15 orr r3, r3, ip, lsr #17 adc r1, r3, #0 mov r3, lr, lsr #0xc orr r3, r3, r1, lsl #20 ldr ip, [r5, #0x4c] sub r1, r6, r3 str r1, [r5, #0x184] str ip, [r5, #0x188] sub r0, r0, r8 str r0, [r5, #0x18c] str r2, [r5, #0x190] str r2, [r5, #0x194] mov r0, r5 str r2, [r5, #0x198] bl func_ov18_0215e274 ldr r3, [r5, #0x4c] ldr r2, [r5, #0x50] ldr r1, [r5, #0x48] ldr r0, _0215d57c ; =data_ov18_0216c280 str r1, [r5, #0x1e8] str r3, [r5, #0x1ec] str r2, [r5, #0x1f0] add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} cmp r4, #0 ldreq r0, [sp, #0x14] rsbeq r0, r0, #0 streq r0, [sp, #0x14] add r0, r5, #0x100 ldrsh r1, [r0, #0x64] add r0, sp, #0xc bl func_ov00_020a61ac ldr r0, [r5, #0x48] add r1, sp, #0xc str r0, [r5, #0x19c] ldr r2, [r5, #0x4c] add r0, r5, #0x19c str r2, [r5, #0x1a0] ldr r3, [r5, #0x50] mov r2, r0 str r3, [r5, #0x1a4] bl func_01ff9bc4 ldr r0, _0215d580 ; =data_ov18_0216c25c cmp r4, #0 ldr r2, [r0, #0x30] ldr r1, [r0, #0x34] str r2, [sp, #0xc] str r1, [sp, #0x10] ldr r0, [r0, #0x38] str r0, [sp, #0x14] rsbeq r0, r0, #0 streq r0, [sp, #0x14] add r0, r5, #0x100 ldrsh r1, [r0, #0x64] add r0, sp, #0xc bl func_ov00_020a61ac ldr r0, [r5, #0x48] add r1, sp, #0xc str r0, [r5, #0x1a8] ldr r2, [r5, #0x4c] add r0, r5, #0x1a8 str r2, [r5, #0x1ac] ldr r3, [r5, #0x50] mov r2, r0 str r3, [r5, #0x1b0] bl func_01ff9bc4 ldr r0, [r5, #0x1a8] ldr r2, _0215d580 ; =data_ov18_0216c25c str r0, [r5, #0x1b4] ldr r0, [r5, #0x1ac] add r1, r5, #0x100 str r0, [r5, #0x1b8] ldr r3, [r5, #0x1b0] add r0, sp, #0xc str r3, [r5, #0x1bc] ldr r4, [r2, #0x48] ldr r3, [r2, #0x4c] str r4, [sp, #0xc] str r3, [sp, #0x10] ldr r2, [r2, #0x50] str r2, [sp, #0x14] ldrsh r1, [r1, #0x64] bl func_ov00_020a61ac add r0, r5, #0x1b4 add r1, sp, #0xc mov r2, r0 bl func_01ff9bc4 ldr r0, [r5, #0x1a8] ldr r2, _0215d580 ; =data_ov18_0216c25c str r0, [r5, #0x1c0] ldr r1, [r5, #0x1ac] add r0, sp, #0xc str r1, [r5, #0x1c4] ldr r3, [r5, #0x1b0] add r1, r5, #0x100 str r3, [r5, #0x1c8] ldr r4, [r2, #0x3c] ldr r3, [r2, #0x40] str r4, [sp, #0xc] str r3, [sp, #0x10] ldr r2, [r2, #0x44] str r2, [sp, #0x14] ldrsh r1, [r1, #0x64] bl func_ov00_020a61ac add r0, r5, #0x1c0 add r1, sp, #0xc mov r2, r0 bl func_01ff9bc4 ldrh r0, [r5, #0x22] strb r0, [r5, #0x15c] ldr r0, [r5, #0x158] bl func_ov09_0211500c mov r1, #1 mov r0, r5 mov r2, r1 bl func_ov18_0215dad0 mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0215d28c _0215d578: .word data_02050f54 _0215d57c: .word data_ov18_0216c280 _0215d580: .word data_ov18_0216c25c .global func_ov18_0215d584 arm_func_start func_ov18_0215d584 func_ov18_0215d584: ; 0x0215d584 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldr r0, [r5, #0x130] cmp r0, #7 addls pc, pc, r0, lsl #2 b _0215d660 _0215d5c4: ; jump table b _0215d660 ; case 0 b _0215d5e4 ; case 1 b _0215d630 ; case 2 b _0215d660 ; case 3 b _0215d660 ; case 4 b _0215d63c ; case 5 b _0215d660 ; case 6 b _0215d660 ; case 7 _0215d5e4: mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _0215d6a0 ; =data_027e0ffc ldr r1, _0215d6a4 ; =0x0000035f add r2, r5, #0x48 bl func_ov00_020cec60 mov r0, r5 bl func_ov18_0215e1f4 cmp r0, #0 beq _0215d660 ldrh r0, [r5, #0x20] cmp r0, #0 ldr r0, [r5, #0x158] moveq r1, #1 streq r1, [r0, #0x58] movne r1, #0 strne r1, [r0, #0x58] b _0215d660 _0215d630: ldr r0, _0215d6a8 ; =data_ov00_020eec68 bl func_ov00_020d72b8 b _0215d660 _0215d63c: ldr r0, [r5, #0x16c] add r0, r0, #1 str r0, [r5, #0x16c] cmp r0, #5 blo _0215d660 mov r0, r5 mov r1, #1 mov r2, #0 bl func_ov18_0215dad0 _0215d660: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldrb r0, [r5, #0xa4] cmp r0, #0 ldr r0, [r5, #0x158] beq _0215d688 bl func_ov09_021150c0 b _0215d68c _0215d688: bl func_ov09_021150a8 _0215d68c: ldr r0, [r5, #0x158] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215d584 _0215d6a0: .word data_027e0ffc _0215d6a4: .word 0x0000035f _0215d6a8: .word data_ov00_020eec68 .global func_ov18_0215d6ac arm_func_start func_ov18_0215d6ac func_ov18_0215d6ac: ; 0x0215d6ac stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldr r0, [r5, #0x130] cmp r0, #7 addls pc, pc, r0, lsl #2 b _0215d9a8 _0215d6f4: ; jump table b _0215d9a8 ; case 0 b _0215d714 ; case 1 b _0215d748 ; case 2 b _0215d840 ; case 3 b _0215d8a4 ; case 4 b _0215d95c ; case 5 b _0215d984 ; case 6 b _0215d9a8 ; case 7 _0215d714: ldr r0, _0215daa0 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #1 beq _0215d9a8 mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _0215daa4 ; =data_027e0ffc ldr r1, _0215daa8 ; =0x0000035f add r2, r5, #0x48 bl func_ov00_020cec60 b _0215d9a8 _0215d748: ldr r0, _0215daac ; =data_027e0f74 ldr r1, [r5, #0x168] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _0215d788 ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 cmp r0, #0x87 blo _0215d788 mov r0, r5 mov r1, #1 mov r2, #0 bl func_ov18_0215dad0 b _0215d9a8 _0215d788: ldr r0, _0215dab0 ; =data_ov00_020eec9c ldr r1, _0215dab4 ; =0x0000048a bl func_ov00_020d7d18 ldr r0, _0215dab8 ; =data_027e0d78 ldrh r0, [r0, #0x34] tst r0, #2 beq _0215d7dc ldr r0, _0215dabc ; =data_027e071c bl func_0202d7ac cmp r0, #0 bne _0215d7dc ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 cmp r0, #0x14 blo _0215d7dc mov r0, r5 mov r1, #5 mov r2, #0 bl func_ov18_0215dad0 b _0215d9a8 _0215d7dc: ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 rsb r0, r0, #0x69 movs r1, r0, lsl #0xc movmi r1, #0 cmp r1, #0x2d000 ldrgt r0, _0215dac0 ; =0x0000011f strgt r0, [r5, #0x174] bgt _0215d82c cmp r1, #0x1000 movle r0, #0 strle r0, [r5, #0x174] ble _0215d82c ldr r0, [r5, #0x174] rsb r0, r0, #0 bl func_01ff98e0 ldr r1, [r5, #0x174] add r0, r1, r0 str r0, [r5, #0x174] _0215d82c: ldr r2, [r5, #0x174] add r0, r5, #0x48 add r1, r5, #0x178 bl func_0202b2e8 b _0215d9a8 _0215d840: ldr r0, _0215daac ; =data_027e0f74 ldr r1, [r5, #0x168] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _0215d9a8 ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 cmp r0, #0x2d blo _0215d87c mov r0, r5 mov r1, #4 mov r2, #0 bl func_ov18_0215dad0 _0215d87c: ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 rsb r0, r0, #0xb4 movs r2, r0, lsl #0xc movmi r2, #0 add r0, r5, #0x48 add r1, r5, #0x184 bl func_0202b308 b _0215d9a8 _0215d8a4: ldr r0, _0215daac ; =data_027e0f74 ldr r1, [r5, #0x168] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _0215d9a8 ldr r0, _0215daa0 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #1 bne _0215d8e0 ldr r0, _0215dab0 ; =data_ov00_020eec9c ldr r1, _0215dac4 ; =0x00000139 bl func_ov00_020d7d18 b _0215d8ec _0215d8e0: ldr r0, _0215dab0 ; =data_ov00_020eec9c ldr r1, _0215dab4 ; =0x0000048a bl func_ov00_020d7d18 _0215d8ec: ldr r0, _0215dab8 ; =data_027e0d78 ldrh r0, [r0, #0x34] tst r0, #1 beq _0215d910 mov r0, r5 mov r1, #6 mov r2, #0 bl func_ov18_0215dad0 b _0215d9a8 _0215d910: ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 rsb r0, r0, #0xb4 movs r2, r0, lsl #0xc movmi r2, #0 add r0, r5, #0x48 add r1, r5, #0x184 bl func_0202b308 ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 cmp r0, #0x78 blo _0215d9a8 mov r0, r5 mov r1, #6 mov r2, #0 bl func_ov18_0215dad0 b _0215d9a8 _0215d95c: ldr r0, [r5, #0x16c] add r0, r0, #1 str r0, [r5, #0x16c] cmp r0, #5 blo _0215d9a8 mov r0, r5 mov r1, #1 mov r2, #0 bl func_ov18_0215dad0 b _0215d9a8 _0215d984: ldr r0, _0215daac ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02098058 rsb r0, r0, #0xb4 movs r2, r0, lsl #0xc movmi r2, #0 add r0, r5, #0x48 add r1, r5, #0x184 bl func_0202b308 _0215d9a8: add r0, r5, #0x54 add r1, r5, #0x48 add r2, r5, #0x60 bl func_01ff9bf8 ldr r1, [r5, #0x60] add r0, sp, #4 str r1, [sp, #4] ldr r1, [r5, #0x64] str r1, [sp, #8] ldr r1, [r5, #0x68] str r1, [sp, #0xc] bl func_01ff9cec str r0, [r5, #0x174] ldr r0, [r5, #0x130] cmp r0, #1 ldrne ip, [r5, #0x174] cmpne ip, #0 beq _0215da34 ldr r0, _0215dac8 ; =0x01388000 mov r1, #0 umull r3, r2, ip, r0 mla r2, ip, r1, r2 mov r1, ip, asr #0x1f adds r3, r3, #0x800 mla r2, r1, r0, r2 adc r0, r2, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, #0x800 mov r0, r0, asr #0xc add r0, r0, #0x32 mov r1, r0, lsl #0x10 ldr r0, [r5, #0x158] mov r1, r1, asr #0x10 bl func_ov09_021152fc _0215da34: ldr r0, _0215dacc ; =data_ov18_0216c25c ldr r2, [r5, #0x174] ldr r1, [r0, #0x20] ldr r0, [r5, #0x158] smull r3, r1, r2, r1 adds r3, r3, #0x800 adc r2, r1, #0 mov r1, r3, lsr #0xc orr r1, r1, r2, lsl #20 bl func_ov09_021150d8 mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldrb r0, [r5, #0xa4] cmp r0, #0 ldr r0, [r5, #0x158] beq _0215da84 bl func_ov09_021150c0 b _0215da88 _0215da84: bl func_ov09_021150a8 _0215da88: ldr r0, [r5, #0x158] ldr r1, [r0] ldr r1, [r1, #8] blx r1 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215d6ac _0215daa0: .word data_027e0d38 _0215daa4: .word data_027e0ffc _0215daa8: .word 0x0000035f _0215daac: .word data_027e0f74 _0215dab0: .word data_ov00_020eec9c _0215dab4: .word 0x0000048a _0215dab8: .word data_027e0d78 _0215dabc: .word data_027e071c _0215dac0: .word 0x0000011f _0215dac4: .word 0x00000139 _0215dac8: .word 0x01388000 _0215dacc: .word data_ov18_0216c25c .global func_ov18_0215dad0 arm_func_start func_ov18_0215dad0 func_ov18_0215dad0: ; 0x0215dad0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x160 mov r4, r0 str r1, [r4, #0x130] cmp r1, #7 addls pc, pc, r1, lsl #2 b _0215de94 _0215daec: ; jump table b _0215db0c ; case 0 b _0215db40 ; case 1 b _0215dbb0 ; case 2 b _0215dcf8 ; case 3 b _0215ddc4 ; case 4 b _0215de04 ; case 5 b _0215de34 ; case 6 b _0215db8c ; case 7 _0215db0c: cmp r2, #0 bne _0215db2c ldr r0, [r4, #0x178] str r0, [r4, #0x48] ldr r0, [r4, #0x17c] str r0, [r4, #0x4c] ldr r0, [r4, #0x180] str r0, [r4, #0x50] _0215db2c: ldr r0, [r4, #0x158] mov r1, #2 str r1, [r0, #0x58] str r1, [r4, #0x160] b _0215de94 _0215db40: cmp r2, #0 bne _0215db60 ldr r0, [r4, #0x178] str r0, [r4, #0x48] ldr r0, [r4, #0x17c] str r0, [r4, #0x4c] ldr r0, [r4, #0x180] str r0, [r4, #0x50] _0215db60: ldr r0, [r4, #0x158] mov r1, #2 str r1, [r0, #0x58] mov r1, #0 str r1, [r4, #0x160] ldr r0, _0215dea0 ; =data_ov00_020eec68 str r1, [r4, #0x174] bl func_ov00_020d7328 mov r0, r4 bl func_ov18_0215e24c b _0215de94 _0215db8c: ldrh r0, [r4, #0x20] cmp r0, #0 moveq r1, #1 ldr r0, [r4, #0x158] movne r1, #0 str r1, [r0, #0x58] mov r0, #0 str r0, [r4, #0x160] b _0215de94 _0215dbb0: mov r1, #1 str r1, [r4, #0x160] mov r1, #0 add r0, sp, #0xb0 str r1, [r4, #0x170] bl func_ov00_0209a4f4 mov r1, #2 mov r2, #0x87 mov r0, #0x2d strb r0, [sp, #0xb9] ldr r0, _0215dea4 ; =data_027e0f74 str r2, [sp, #0xb4] strb r1, [sp, #0xba] strb r1, [sp, #0xbb] strb r1, [sp, #0xbd] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0xd0] ldr r1, [r4, #0x4c] mov lr, #1 str r1, [sp, #0xd4] ldr r1, [r4, #0x50] mov ip, #0 str r1, [sp, #0xd8] ldrsh r2, [r4, #0x78] add r5, r4, #0x1e4 mov r3, #0x2f strh r2, [sp, #0xcc] strb lr, [sp, #0xc4] strb lr, [sp, #0xc1] strb lr, [sp, #0xc2] add r2, sp, #0x100 strh ip, [r2, #0x4c] add r1, sp, #0xb0 strb lr, [sp, #0xc5] str r5, [sp, #0x15c] str r3, [sp, #0x144] bl func_ov00_02097810 str r0, [r4, #0x168] ldrh r0, [r4, #0x78] ldr ip, _0215dea8 ; =data_02050f54 mov r2, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [ip, r0] mov r1, #0x5800 ldr lr, [r4, #0x48] umull r5, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r5, r5, #0x800 adc r0, r3, #0 mov r3, r5, lsr #0xc orr r3, r3, r0, lsl #20 sub r0, lr, r3 str r0, [r4, #0x48] ldrh r5, [r4, #0x78] ldr r0, [r4, #0x50] ldr r3, _0215deac ; =data_027e103c mov r5, r5, asr #0x4 mov r5, r5, lsl #0x1 add r5, r5, #1 mov r5, r5, lsl #0x1 ldrsh r5, [ip, r5] umull lr, ip, r5, r1 mla ip, r5, r2, ip mov r2, r5, asr #0x1f mla ip, r2, r1, ip adds r2, lr, #0x800 adc r1, ip, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 sub r0, r0, r2 str r0, [r4, #0x50] ldr r0, [r3] bl func_ov00_020cfc20 mov r0, r4 bl func_ov18_0215e224 add r0, sp, #0xb0 bl func_ov00_0209a508 b _0215de94 _0215dcf8: mov r1, #1 str r1, [r4, #0x160] mov r1, #0 add r0, sp, #0 str r1, [r4, #0x170] bl func_ov00_0209a4f4 mov r2, #2 mvn ip, #0 mov r3, #0x2d mov r5, #0 mov r1, #3 str ip, [sp, #4] strb r3, [sp, #9] ldr r0, _0215dea4 ; =data_027e0f74 strb r2, [sp, #0xa] strb r2, [sp, #0xb] strb r5, [sp, #0xd] strb r1, [sp, #0xc] ldr r1, [r4, #0x48] add r2, r4, #0x1e4 str r1, [sp, #0x20] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x24] ldr r1, [r4, #0x50] mov ip, #1 str r1, [sp, #0x28] ldrsh lr, [r4, #0x78] mov r3, #0x30 add r1, sp, #0 strh lr, [sp, #0x1c] strb ip, [sp, #0x14] strb ip, [sp, #0x11] strb ip, [sp, #0x12] strh r5, [sp, #0x9c] strb ip, [sp, #0x15] str r3, [sp, #0x94] str r2, [sp, #0xac] bl func_ov00_02097810 str r0, [r4, #0x168] ldrsh r2, [r4, #0x78] ldr r0, _0215dea0 ; =data_ov00_020eec68 mov r1, #0x2d sub r2, r2, #0x8000 strh r2, [r4, #0x78] bl func_ov00_020d716c mov r0, r4 bl func_ov18_0215e224 add r0, sp, #0 bl func_ov00_0209a508 b _0215de94 _0215ddc4: ldr r0, _0215deb0 ; =data_027e0d38 mov r3, #0 ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #1 bne _0215ddf0 ldr r0, _0215deb4 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x138 bl func_ov00_020ceacc b _0215de94 _0215ddf0: ldr r0, _0215deb4 ; =data_027e0ffc ldr r1, _0215deb8 ; =0x000001a2 add r2, r4, #0x48 bl func_ov00_020ceacc b _0215de94 _0215de04: ldr r0, _0215dea4 ; =data_027e0f74 ldr r1, [r4, #0x168] ldr r0, [r0] bl func_ov00_02097bcc mvn r0, #0 str r0, [r4, #0x168] mov r1, #0 str r1, [r4, #0x16c] mov r0, r4 str r1, [r4, #0x160] bl func_ov18_0215e24c b _0215de94 _0215de34: ldr r0, _0215debc ; =data_ov00_020eec9c mov r1, #0 bl func_ov00_020d7f9c mov r2, #0 str r2, [r4, #0x160] sub r0, r2, #1 str r0, [r4, #0x168] ldr r0, _0215deb0 ; =data_027e0d38 str r2, [r4, #0x16c] ldr r0, [r0] ldr r1, [r0, #0x14] cmp r1, #1 bne _0215de8c ldr r0, _0215dea0 ; =data_ov00_020eec68 mov r1, #0x2d bl func_ov00_020d7470 ldr r0, _0215deb0 ; =data_027e0d38 add r1, r4, #0x1cc ldr r0, [r0] mov r2, #0 bl func_ov05_02100ae0 b _0215de94 _0215de8c: add r1, r4, #0x1cc bl func_ov05_02100ae0 _0215de94: mov r0, #1 add sp, sp, #0x160 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215dad0 _0215dea0: .word data_ov00_020eec68 _0215dea4: .word data_027e0f74 _0215dea8: .word data_02050f54 _0215deac: .word data_027e103c _0215deb0: .word data_027e0d38 _0215deb4: .word data_027e0ffc _0215deb8: .word 0x000001a2 _0215debc: .word data_ov00_020eec9c .global func_ov18_0215dec0 arm_func_start func_ov18_0215dec0 func_ov18_0215dec0: ; 0x0215dec0 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] cmp r1, #2 cmpne r1, #5 ldmeqia sp!, {r3, pc} mov r1, #2 mov r2, #0 bl func_ov18_0215dad0 ldmia sp!, {r3, pc} arm_func_end func_ov18_0215dec0 .global func_ov18_0215dee4 arm_func_start func_ov18_0215dee4 func_ov18_0215dee4: ; 0x0215dee4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0215df18 ; =data_027e0e60 ldrb r1, [r4, #0x15c] ldr r0, [r0] add r2, r4, #0x1cc bl func_ov00_020838e8 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 add r1, r4, #0x1cc bl func_ov18_0215df1c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215dee4 _0215df18: .word data_027e0e60 .global func_ov18_0215df1c arm_func_start func_ov18_0215df1c func_ov18_0215df1c: ; 0x0215df1c stmdb sp!, {r3, lr} ldr r2, [r0, #0x130] cmp r2, #3 cmpne r2, #4 cmpne r2, #6 ldmeqia sp!, {r3, pc} ldr r2, [r1] add r3, r0, #0x100 str r2, [r0, #0x1cc] ldr ip, [r1, #4] mov r2, #0 str ip, [r0, #0x1d0] ldr ip, [r1, #8] str ip, [r0, #0x1d4] ldr ip, [r1, #0xc] str ip, [r0, #0x1d8] ldrsh ip, [r1, #0x10] strh ip, [r3, #0xdc] ldrb r3, [r1, #0x12] strb r3, [r0, #0x1de] ldrb r3, [r1, #0x13] strb r3, [r0, #0x1df] ldrb r3, [r1, #0x14] strb r3, [r0, #0x1e0] ldrb r3, [r1, #0x15] mov r1, #3 strb r3, [r0, #0x1e1] bl func_ov18_0215dad0 ldmia sp!, {r3, pc} arm_func_end func_ov18_0215df1c .global func_ov18_0215df90 arm_func_start func_ov18_0215df90 func_ov18_0215df90: ; 0x0215df90 strb r1, [r0, #0x1f8] bx lr arm_func_end func_ov18_0215df90 .global func_ov18_0215df98 arm_func_start func_ov18_0215df98 func_ov18_0215df98: ; 0x0215df98 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x44 ldrh r1, [r1] mov r4, r0 tst r1, #4 bne _0215dfbc tst r1, #8 addeq sp, sp, #0x44 ldmeqia sp!, {r3, r4, pc} _0215dfbc: ldr r0, [r4, #0x160] cmp r0, #0 beq _0215e018 cmp r0, #1 beq _0215dfe0 cmp r0, #2 bne _0215e018 add sp, sp, #0x44 ldmia sp!, {r3, r4, pc} _0215dfe0: ldr r0, [r4, #0x170] ldr r1, _0215e098 ; =0x88888889 add ip, r0, #1 smull r0, r3, r1, ip add r3, ip, r3 mov r0, ip, lsr #0x1f add r3, r0, r3, asr #4 mov r2, #0x1e smull r0, r1, r2, r3 sub r3, ip, r0 cmp r3, #0xf addlt sp, sp, #0x44 str ip, [r4, #0x170] ldmltia sp!, {r3, r4, pc} _0215e018: add r2, sp, #0x38 add r0, r4, #0x178 add r1, r4, #0x190 bl func_01ff9bc4 add r1, sp, #0x14 mov r2, #0 str r1, [sp] add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _0215e09c ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x38 mov r3, r2 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x44 ldmeqia sp!, {r3, r4, pc} add r0, sp, #0x18 bl func_01ffbe34 mov r1, #1 add r0, sp, #0x18 str r1, [sp, #0x1c] strb r1, [sp, #0x23] str r0, [sp] ldrh r3, [r4, #0x7a] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _0215e0a0 ; =data_02063e4c bl func_020313c8 add sp, sp, #0x44 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0215df98 _0215e098: .word 0x88888889 _0215e09c: .word data_027e0d3c _0215e0a0: .word data_02063e4c .global func_ov18_0215e0a4 arm_func_start func_ov18_0215e0a4 func_ov18_0215e0a4: ; 0x0215e0a4 stmdb sp!, {r4, lr} sub sp, sp, #0x50 ldr r2, _0215e1e8 ; =data_027e0d38 mov r4, r0 ldr r0, [r2] ldr r0, [r0, #0x14] cmp r0, #1 beq _0215e0dc cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r4, pc} _0215e0dc: ldr r0, [r4, #0x130] cmp r0, #1 bne _0215e108 ldrh r0, [r4, #0x20] cmp r0, #0 ldr r0, [r4, #0x158] moveq r1, #1 streq r1, [r0, #0x58] movne r1, #0 strne r1, [r0, #0x58] b _0215e114 _0215e108: ldr r0, [r4, #0x158] mov r1, #2 str r1, [r0, #0x58] _0215e114: ldrh r1, [r4, #0x78] ldr r3, _0215e1ec ; =data_02050f54 add r0, sp, #0x2c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 ldr r0, [r4, #0x158] add r1, sp, #0x2c ldr ip, [r0] add r2, r4, #0x48 ldr ip, [ip, #0xc] mov r3, #0 blx ip ldrb r0, [r4, #0x166] cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x158] add r1, sp, #0x20 add r2, sp, #0x2c add r3, r4, #0x48 bl func_ov09_02115478 add r3, sp, #0 mov r0, #0 mov r2, r3 mov r1, r0 stmia r2!, {r0, r1} stmia r2!, {r0, r1} stmia r2!, {r0, r1} stmia r2, {r0, r1} add r0, r4, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x20 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x174] ldr r1, _0215e1f0 ; =0x0000023d bl func_01ff98e0 str r0, [sp, #0x18] ldrsh r2, [r4, #0x78] add r0, r4, #0x220 add r1, sp, #0 strh r2, [sp, #0x1e] bl func_ov09_0211d180 add sp, sp, #0x50 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215e0a4 _0215e1e8: .word data_027e0d38 _0215e1ec: .word data_02050f54 _0215e1f0: .word 0x0000023d .global func_ov18_0215e1f4 arm_func_start func_ov18_0215e1f4 func_ov18_0215e1f4: ; 0x0215e1f4 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x2b] cmp r1, #0 beq _0215e214 mov r1, #1 bl func_ov00_020c1bfc cmp r0, #0 beq _0215e21c _0215e214: mov r0, #1 ldmia sp!, {r3, pc} _0215e21c: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov18_0215e1f4 .global func_ov18_0215e224 arm_func_start func_ov18_0215e224 func_ov18_0215e224: ; 0x0215e224 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x166] cmp r0, #0 ldmneia sp!, {r4, pc} add r0, r4, #0x220 bl func_ov09_0211d668 mov r0, #1 strb r0, [r4, #0x166] ldmia sp!, {r4, pc} arm_func_end func_ov18_0215e224 .global func_ov18_0215e24c arm_func_start func_ov18_0215e24c func_ov18_0215e24c: ; 0x0215e24c stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x166] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x220 bl func_ov09_0211d7f8 mov r0, #0 strb r0, [r4, #0x166] ldmia sp!, {r4, pc} arm_func_end func_ov18_0215e24c .global func_ov18_0215e274 arm_func_start func_ov18_0215e274 func_ov18_0215e274: ; 0x0215e274 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x6c mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _0215e498 ; =data_027e0d38 str r1, [sp, #0x54] ldr r2, [r4, #0x4c] mov r1, #0 str r2, [sp, #0x58] ldr r2, [r4, #0x50] bic r1, r1, #0x1f str r2, [sp, #0x5c] ldr r2, [r4, #0x48] orr r1, r1, #6 str r2, [sp, #0x60] ldr r2, [r4, #0x4c] ldr r0, [r0] str r2, [sp, #0x64] ldr r2, [r4, #0x50] bic r1, r1, #0x6000 str r2, [sp, #0x68] ldr r0, [r0, #0x14] orr r1, r1, #0x8000000 cmp r0, #1 str r1, [sp, #8] ldrsh r0, [r4, #0x78] beq _0215e400 bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _0215e3b8 _0215e2f0: ; jump table b _0215e300 ; case 0 b _0215e300 ; case 1 b _0215e3b8 ; case 2 b _0215e324 ; case 3 _0215e300: mov r2, #0x3000 mov r3, #0x5000 add r0, sp, #0x54 add r1, sp, #0x48 str r3, [sp, #0x48] str r2, [sp, #0x4c] str r2, [sp, #0x50] bl func_ov00_0208edd8 b _0215e3d8 _0215e324: ldr r1, _0215e49c ; =data_027e0e60 add r0, sp, #4 ldr r1, [r1] add r2, r4, #0x48 bl func_ov00_02083a1c ldrb r2, [sp, #4] ldr r0, _0215e49c ; =data_027e0e60 ldrb r1, [sp, #5] add r3, r2, #2 ldr r0, [r0] sub r2, r1, #6 add r1, sp, #4 strb r3, [sp, #4] strb r2, [sp, #5] bl func_ov00_02084088 cmp r0, #6 cmpne r0, #0x37 add r0, sp, #0x54 mov r3, #0x3000 bne _0215e39c mov r2, #0x5000 add r1, sp, #0x3c str r3, [sp, #0x3c] str r3, [sp, #0x40] str r2, [sp, #0x44] bl func_ov00_0208edd8 ldr r0, [sp, #0x5c] sub r0, r0, #0x1000 str r0, [sp, #0x5c] b _0215e3d8 _0215e39c: mov r2, #0x5000 add r1, sp, #0x30 str r3, [sp, #0x30] str r3, [sp, #0x34] str r2, [sp, #0x38] bl func_ov00_0208edd8 b _0215e3d8 _0215e3b8: mov r3, #0x3000 mov r2, #0x5000 add r0, sp, #0x54 add r1, sp, #0x24 str r3, [sp, #0x24] str r3, [sp, #0x28] str r2, [sp, #0x2c] bl func_ov00_0208edd8 _0215e3d8: mov r0, #0 str r0, [sp] add r0, r4, #0x1f4 ldr ip, [r0] ldr r2, [r4, #8] ldr r3, [sp, #8] ldr ip, [ip, #0x14] add r1, sp, #0x54 blx ip b _0215e480 _0215e400: bl func_0202bbbc cmp r0, #0 cmpne r0, #1 ldr r3, _0215e4a0 ; =0x000013ae add r0, sp, #0x54 bne _0215e438 mov ip, #0x5000 mov r2, #0x3000 add r1, sp, #0x18 str ip, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x20] bl func_ov00_0208edd8 b _0215e454 _0215e438: mov ip, #0x3000 mov r2, #0x5000 add r1, sp, #0xc str ip, [sp, #0xc] str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_ov00_0208edd8 _0215e454: mov r0, #0 str r0, [sp] add r0, r4, #0x1f4 ldr ip, [r0] ldr r2, [r4, #8] ldr r3, [sp, #8] ldr ip, [ip, #0x14] add r1, sp, #0x54 blx ip mov r0, #1 strb r0, [r4, #0x1f9] _0215e480: ldr r0, _0215e4a4 ; =data_027e0f6c add r1, r4, #0x1f4 ldr r0, [r0] bl func_ov00_02093a5c add sp, sp, #0x6c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0215e274 _0215e498: .word data_027e0d38 _0215e49c: .word data_027e0e60 _0215e4a0: .word 0x000013ae _0215e4a4: .word data_027e0f6c .global func_ov18_0215e4a8 arm_func_start func_ov18_0215e4a8 func_ov18_0215e4a8: ; 0x0215e4a8 bx lr arm_func_end func_ov18_0215e4a8 .global func_ov18_0215e4ac arm_func_start func_ov18_0215e4ac func_ov18_0215e4ac: ; 0x0215e4ac bx lr arm_func_end func_ov18_0215e4ac .global func_ov18_0215e4b0 arm_func_start func_ov18_0215e4b0 func_ov18_0215e4b0: ; 0x0215e4b0 bx lr arm_func_end func_ov18_0215e4b0 .global func_ov18_0215e4b4 arm_func_start func_ov18_0215e4b4 func_ov18_0215e4b4: ; 0x0215e4b4 stmdb sp!, {r4, lr} mov r4, r0 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215e4b4 .global func_ov18_0215e4c8 arm_func_start func_ov18_0215e4c8 func_ov18_0215e4c8: ; 0x0215e4c8 stmdb sp!, {r4, lr} mov r4, r0 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215e4c8 .global func_ov18_0215e4dc arm_func_start func_ov18_0215e4dc func_ov18_0215e4dc: ; 0x0215e4dc stmdb sp!, {r4, lr} ldr r1, _0215e510 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xd0 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_0215e514 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215e4dc _0215e510: .word data_027e0f84 .global func_ov18_0215e514 arm_func_start func_ov18_0215e514 func_ov18_0215e514: ; 0x0215e514 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc ldr r2, _0215e588 ; =data_ov18_0216c3fc add r0, r4, #0x38 mov r1, #0 str r2, [r4] blx func_ov00_020a9588 mov r1, #0 mov r2, #0x1000 mov r3, r1 add r0, r4, #0x94 str r2, [sp] blx func_ov00_0207a188 mov r0, #0 str r0, [r4, #0xa8] strb r0, [r4, #0xac] strb r0, [r4, #0xad] mov r1, #1 strb r1, [r4, #0xae] strb r0, [r4, #0xaf] add r1, r4, #0xc0 str r0, [r4, #0xbc] mov r2, #0x10 bl func_020078f4 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0215e514 _0215e588: .word data_ov18_0216c3fc .global func_ov18_0215e58c arm_func_start func_ov18_0215e58c func_ov18_0215e58c: ; 0x0215e58c stmdb sp!, {r4, lr} ldr r1, _0215e5cc ; =data_ov18_0216c3fc mov r4, r0 ldr r0, _0215e5d0 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xbc bl func_ov00_0207c444 add r0, r4, #0xbc bl func_ov00_020b7d74 add r0, r4, #0x38 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215e58c _0215e5cc: .word data_ov18_0216c3fc _0215e5d0: .word data_027e0e58 .global func_ov18_0215e5d4 arm_func_start func_ov18_0215e5d4 func_ov18_0215e5d4: ; 0x0215e5d4 stmdb sp!, {r4, lr} ldr r1, _0215e61c ; =data_ov18_0216c3fc mov r4, r0 ldr r0, _0215e620 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xbc bl func_ov00_0207c444 add r0, r4, #0xbc bl func_ov00_020b7d74 add r0, r4, #0x38 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215e5d4 _0215e61c: .word data_ov18_0216c3fc _0215e620: .word data_027e0e58 .global func_ov18_0215e624 arm_func_start func_ov18_0215e624 func_ov18_0215e624: ; 0x0215e624 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x80 mov r4, r0 ldr r1, [r4, #4] orr r1, r1, #0x10 str r1, [r4, #4] ldr r1, [r4, #0x18] add r1, r1, #0x800 str r1, [r4, #0x18] ldr r1, [r4, #0x20] add r1, r1, #0x800 str r1, [r4, #0x20] bl func_ov00_0208c214 add r0, r4, #0x18 add r3, sp, #0x74 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r2, [r4, #0x24] mov r5, #0x3800 mov r6, #0 str r2, [r4, #0xa8] cmp r2, #0x12 mov r7, #0x1000 addls pc, pc, r2, lsl #2 b _0215ec94 _0215e688: ; jump table b _0215ec94 ; case 0 b _0215e8f0 ; case 1 b _0215e91c ; case 2 b _0215e6d4 ; case 3 b _0215e700 ; case 4 b _0215e738 ; case 5 b _0215e8c4 ; case 6 b _0215e76c ; case 7 b _0215e7e4 ; case 8 b _0215e830 ; case 9 b _0215e948 ; case 10 b _0215e990 ; case 11 b _0215ea20 ; case 12 b _0215eabc ; case 13 b _0215ea68 ; case 14 b _0215e9d8 ; case 15 b _0215ebbc ; case 16 b _0215ebf4 ; case 17 b _0215ec48 ; case 18 _0215e6d4: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x12 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0215ecb8 _0215e700: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x12 ldr r0, [r0] mov r2, #1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] add r0, r0, #0x800 str r0, [r4, #0x18] b _0215ecb8 _0215e738: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x3d ldr r0, [r0] mov r2, #2 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, #1 strb r0, [r4, #0xac] b _0215ecb8 _0215e76c: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x3d ldr r0, [r0] mov r2, #3 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r1, #1 strb r1, [r4, #0xaf] mov r3, r6 mov r1, #0x1800 mov r2, #0x2000 str r1, [sp, #0x70] str r3, [sp, #0x68] str r2, [sp, #0x6c] ldr r2, [r4, #0x18] add r0, sp, #0x74 str r2, [sp, #0x74] ldr r3, [r4, #0x1c] add r1, sp, #0x68 str r3, [sp, #0x78] ldr r3, [r4, #0x20] mov r2, r0 str r3, [sp, #0x7c] bl func_01ff9bc4 ldr r7, _0215ee60 ; =0x0000099a b _0215ecb8 _0215e7e4: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x3d ldr r0, [r0] mov r2, #1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] add r5, r5, #0x1000 add r0, r0, #0x1000 str r0, [r4, #0x18] ldr r0, [r4, #0x20] mov r6, #0x2000 add r0, r0, #0x1000 str r0, [r4, #0x20] b _0215ecb8 _0215e830: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x3d bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r1, [r4, #0x18] mov r0, #1 add r1, r1, #0x1800 str r1, [r4, #0x18] ldr r1, [r4, #0x20] mov r6, #0x1800 add r1, r1, #0x1000 str r1, [r4, #0x20] strb r0, [r4, #0xaf] mov r1, #0x2000 mov r2, #0x800 str r1, [sp, #0x60] str r6, [sp, #0x64] str r2, [sp, #0x5c] ldr r2, [r4, #0x18] add r0, sp, #0x74 str r2, [sp, #0x74] ldr r2, [r4, #0x1c] add r1, sp, #0x5c str r2, [sp, #0x78] ldr r3, [r4, #0x20] mov r2, r0 add r5, r5, #0x1000 str r3, [sp, #0x7c] bl func_01ff9bc4 ldr r7, _0215ee60 ; =0x0000099a b _0215ecb8 _0215e8c4: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x3f ldr r0, [r0] mov r2, #2 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0215ecb8 _0215e8f0: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x3f bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0215ecb8 _0215e91c: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x3f ldr r0, [r0] mov r2, #1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0215ecb8 _0215e948: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x5b bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] mov r6, #0x1800 add r0, r0, #0x1000 str r0, [r4, #0x18] ldr r0, [r4, #0x20] add r0, r0, #0x1000 str r0, [r4, #0x20] b _0215ecb8 _0215e990: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x7d ldr r0, [r0] mov r2, #1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] mov r6, #0x1800 add r0, r0, #0x1000 str r0, [r4, #0x18] ldr r0, [r4, #0x20] add r0, r0, #0x1000 str r0, [r4, #0x20] b _0215ecb8 _0215e9d8: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x7d bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] mov r6, #0x1800 add r0, r0, #0x1000 str r0, [r4, #0x18] ldr r0, [r4, #0x20] add r0, r0, #0x1000 str r0, [r4, #0x20] b _0215ecb8 _0215ea20: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x7e bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] mov r6, #0x1800 add r0, r0, #0x1000 str r0, [r4, #0x18] ldr r0, [r4, #0x20] add r0, r0, #0x1000 str r0, [r4, #0x20] b _0215ecb8 _0215ea68: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0x92 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r1, [r4, #0x18] mov r0, #1 add r1, r1, #0x3000 str r1, [r4, #0x18] ldr r1, [r4, #0x20] add r5, r5, #0x3000 add r1, r1, #0x1000 str r1, [r4, #0x20] strb r0, [r4, #0xac] mov r6, #0x1800 b _0215ecb8 _0215eabc: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0x7e ldr r0, [r0] mov r2, #1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] ldr r3, _0215ee64 ; =data_ov18_0216c488 add r0, r0, #0x1000 str r0, [r4, #0x18] ldr r0, [r4, #0x20] add r8, r4, #0xc0 add r0, r0, #0x1000 str r0, [r4, #0x20] mov r6, #0x1800 mov r2, #6 _0215eb0c: ldrb r1, [r3] ldrb r0, [r3, #1] add r3, r3, #2 subs r2, r2, #1 strb r1, [r8] strb r0, [r8, #1] add r8, r8, #2 bne _0215eb0c ldrb r2, [r3] ldr r0, _0215ee68 ; =data_027e0f74 mov r1, #0x1f strb r2, [r8] ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 bne _0215eb68 mov r0, #0 strb r0, [r4, #0xae] ldr r1, _0215ee6c ; =func_ov18_0215f048 add r0, r4, #0x3c str r4, [r4, #0x68] bl func_02018cb8 b _0215ecb8 _0215eb68: mov r0, #1 strb r0, [r4, #0xae] strb r0, [r4, #0xaf] mov r2, #0 mov r0, #0x1800 mov r1, #0x2000 str r0, [sp, #0x58] str r2, [sp, #0x50] str r1, [sp, #0x54] ldr r1, [r4, #0x18] add r0, sp, #0x74 str r1, [sp, #0x74] ldr r2, [r4, #0x1c] add r1, sp, #0x50 str r2, [sp, #0x78] ldr r3, [r4, #0x20] mov r2, r0 str r3, [sp, #0x7c] bl func_01ff9bc4 ldr r7, _0215ee60 ; =0x0000099a b _0215ecb8 _0215ebbc: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0xa1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r4, #0x18] add r0, r0, #0x800 str r0, [r4, #0x18] b _0215ecb8 _0215ebf4: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0xb4 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r1, [r4, #0x18] mov r0, #1 add r1, r1, #0x2000 str r1, [r4, #0x18] ldr r1, [r4, #0x20] add r5, r5, #0x1000 add r1, r1, #0x1000 str r1, [r4, #0x20] strb r0, [r4, #0xac] mov r6, #0x1800 b _0215ecb8 _0215ec48: ldr r0, _0215ee5c ; =data_027e0f68 mov r2, r6 ldr r0, [r0] mov r1, #0xb6 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r1, [r4, #0x18] mov r0, #1 add r1, r1, #0x1000 str r1, [r4, #0x18] ldr r1, [r4, #0x20] add r1, r1, #0x1000 str r1, [r4, #0x20] strb r0, [r4, #0xac] b _0215ecb8 _0215ec94: ldr r0, _0215ee5c ; =data_027e0f68 mov r1, #0xd ldr r0, [r0] bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 _0215ecb8: add r2, sp, #0x18 mov r1, #0 str r1, [r2] str r1, [r2, #4] mov r0, r5, asr #0x1 str r1, [r2, #8] str r6, [sp, #0x18] str r0, [sp, #0x1c] str r6, [r4, #0x98] ldr r0, [sp, #0x1c] str r0, [r4, #0x9c] ldr r0, [sp, #0x20] str r0, [r4, #0xa0] str r5, [r4, #0xa4] ldrb r0, [r4, #0xaf] cmp r0, #0 ldrne r0, [r4, #0x30] cmpne r0, #0 beq _0215ed70 add r0, sp, #0x24 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] str r1, [sp, #0x44] bl func_ov00_020c3348 mvn r0, #0 add r1, sp, #0x10 str r0, [sp, #0x10] str r0, [sp, #0x14] str r1, [sp] ldr r0, _0215ee70 ; =data_027e0fe8 ldr r1, _0215ee74 ; =0x48534b42 ldr r0, [r0] add r2, sp, #0x74 add r3, sp, #0x24 bl func_ov00_020c4048 ldr r0, _0215ee78 ; =data_027e0fe4 add r1, sp, #0x10 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _0215ed70 ldr r2, [r4, #0x30] mov r1, r7 bl func_ov18_0216a1d0 _0215ed70: ldr r8, [r4, #0xa8] ldr r3, _0215ee7c ; =data_ov18_0216c3a8 ldr r2, _0215ee80 ; =data_ov18_0216c3ce ldrb r6, [r3, r8, lsl #1] ldrb r7, [r4, #0x14] ldr r0, _0215ee84 ; =data_ov18_0216c3a9 ldrb r5, [r2, r8, lsl #1] ldr r1, _0215ee88 ; =data_ov18_0216c3cf ldrb r3, [r4, #0x15] ldrb r2, [r0, r8, lsl #1] sub fp, r7, r6 add r0, fp, r5 str r0, [sp, #8] sub r0, r3, r2 str r0, [sp, #4] ldr r0, [sp, #8] ldrb r1, [r1, r8, lsl #1] cmp fp, r0 ldr r0, [sp, #4] add sl, r0, r1 bge _0215ee18 ldr r5, _0215ee8c ; =data_027e0e60 add r7, sp, #0xc mov r6, #1 _0215edd0: ldr sb, [sp, #4] mov r0, sb cmp r0, sl bge _0215ee08 and r8, fp, #0xff _0215ede4: ldr r0, [r5] mov r1, r7 mov r2, r6 strb r8, [sp, #0xc] strb sb, [sp, #0xd] bl func_ov00_02082680 add sb, sb, #1 cmp sb, sl blt _0215ede4 _0215ee08: ldr r0, [sp, #8] add fp, fp, #1 cmp fp, r0 blt _0215edd0 _0215ee18: ldrb r0, [r4, #0xac] cmp r0, #0 mov r0, r4 ldr r3, [r0] beq _0215ee44 mov r1, #1 ldr r3, [r3, #0x80] mov r2, r1 blx r3 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0215ee44: ldr r3, [r3, #0x80] mov r1, #0 mov r2, #1 blx r3 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_0215e624 _0215ee5c: .word data_027e0f68 _0215ee60: .word 0x0000099a _0215ee64: .word data_ov18_0216c488 _0215ee68: .word data_027e0f74 _0215ee6c: .word func_ov18_0215f048 _0215ee70: .word data_027e0fe8 _0215ee74: .word 0x48534b42 _0215ee78: .word data_027e0fe4 _0215ee7c: .word data_ov18_0216c3a8 _0215ee80: .word data_ov18_0216c3ce _0215ee84: .word data_ov18_0216c3a9 _0215ee88: .word data_ov18_0216c3cf _0215ee8c: .word data_027e0e60 .global func_ov18_0215ee90 arm_func_start func_ov18_0215ee90 func_ov18_0215ee90: ; 0x0215ee90 stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0] mov r5, r0 ldr r2, [r2, #0x84] mov r4, r1 blx r2 cmp r0, #0 ldrne r0, [r5, #8] cmpne r0, #0 beq _0215ef14 cmp r0, #1 bne _0215ef14 ldrb r0, [r5, #0xad] cmp r0, #0 beq _0215ef14 mov r1, #0 add r0, r5, #0x3c str r1, [r5, #0x68] bl func_02018cb8 mov r1, #4 ldr r0, _0215ef28 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r5, #0xbc add r3, r5, #0xb0 mov r2, #0xf5 bl func_ov00_0207c1f8 mov r0, r5 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 _0215ef14: mov r1, r4 add r0, r5, #0x94 add r2, r5, #0x18 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215ee90 _0215ef28: .word data_027e0e58 .global func_ov18_0215ef2c arm_func_start func_ov18_0215ef2c func_ov18_0215ef2c: ; 0x0215ef2c stmdb sp!, {r3, lr} str r1, [r0, #8] cmp r1, #0 beq _0215ef54 cmp r1, #1 bne _0215ef54 ldr r1, _0215ef5c ; =func_ov18_0215f030 str r0, [r0, #0x68] add r0, r0, #0x3c bl func_02018cb8 _0215ef54: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215ef2c _0215ef5c: .word func_ov18_0215f030 .global func_ov18_0215ef60 arm_func_start func_ov18_0215ef60 func_ov18_0215ef60: ; 0x0215ef60 mov r0, #0x2f bx lr arm_func_end func_ov18_0215ef60 .global func_ov18_0215ef68 arm_func_start func_ov18_0215ef68 func_ov18_0215ef68: ; 0x0215ef68 mov r0, #1 bx lr arm_func_end func_ov18_0215ef68 .global func_ov18_0215ef70 arm_func_start func_ov18_0215ef70 func_ov18_0215ef70: ; 0x0215ef70 mov r0, #0 bx lr arm_func_end func_ov18_0215ef70 .global func_ov18_0215ef78 arm_func_start func_ov18_0215ef78 func_ov18_0215ef78: ; 0x0215ef78 stmdb sp!, {r4, lr} sub sp, sp, #0x30 ldr r2, _0215f018 ; =data_027e0d38 mov r4, r0 ldr r2, [r2] ldr r2, [r2, #0x14] cmp r2, #1 beq _0215efb0 ldr r2, [r0] ldr r2, [r2, #0x88] blx r2 cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} _0215efb0: ldrh r1, [r4, #0xc] ldr r3, _0215f01c ; =data_02050f54 add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 ldr r2, [r4, #0x20] ldr r1, [r4, #0x1c] ldr r0, [r4, #0x18] add r2, r2, #0x800 str r0, [sp] str r1, [sp, #4] str r2, [sp, #8] add r0, r4, #0x38 ldr r3, [r0] add r1, sp, #0xc ldr r3, [r3, #0x14] add r2, sp, #0 blx r3 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215ef78 _0215f018: .word data_027e0d38 _0215f01c: .word data_02050f54 .global func_ov18_0215f020 arm_func_start func_ov18_0215f020 func_ov18_0215f020: ; 0x0215f020 cmp r1, #0 ldrneb r0, [r0, #0x95] ldreqb r0, [r0, #0x94] bx lr arm_func_end func_ov18_0215f020 .global func_ov18_0215f030 arm_func_start func_ov18_0215f030 func_ov18_0215f030: ; 0x0215f030 ldr r2, _0215f044 ; =func_ov18_0215f060 mov r1, #2 str r2, [r0, #0x24] strb r1, [r0, #0x92] bx lr .align 2, 0 arm_func_end func_ov18_0215f030 _0215f044: .word func_ov18_0215f060 .global func_ov18_0215f048 arm_func_start func_ov18_0215f048 func_ov18_0215f048: ; 0x0215f048 ldr r2, _0215f05c ; =func_ov18_0215f078 mov r1, #2 str r2, [r0, #0x14] strb r1, [r0, #0x8e] bx lr .align 2, 0 arm_func_end func_ov18_0215f048 _0215f05c: .word func_ov18_0215f078 .global func_ov18_0215f060 arm_func_start func_ov18_0215f060 func_ov18_0215f060: ; 0x0215f060 mov r1, r0 ldr r0, [r1, #4] ldr ip, _0215f074 ; =func_ov18_0215f090 ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov18_0215f060 _0215f074: .word func_ov18_0215f090 .global func_ov18_0215f078 arm_func_start func_ov18_0215f078 func_ov18_0215f078: ; 0x0215f078 mov r1, r0 ldr r0, [r1, #4] ldr ip, _0215f08c ; =func_ov18_0215f13c ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov18_0215f078 _0215f08c: .word func_ov18_0215f13c .global func_ov18_0215f090 arm_func_start func_ov18_0215f090 func_ov18_0215f090: ; 0x0215f090 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r1 ldr r1, [r6, #8] mov r4, r0 tst r1, #0x10 add r0, r4, #0x38 ldr r1, [r0] ldrneb r5, [r6, #0xae] ldr r1, [r1, #8] mvneq r5, #0 blx r1 ldr r1, _0215f138 ; =data_ov18_0216b4e8 add r0, r0, #0x40 bl func_0201e388 cmp r5, r0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, pc} ldr r3, [r6, #0xb4] add ip, sp, #0 ldr lr, [r3, #0x4c] add r0, r4, #0xb0 str lr, [sp] ldr r2, [r3, #0x50] add r1, r4, #0x18 str r2, [sp, #4] ldr r3, [r3, #0x54] mov r2, r0 str r3, [sp, #8] str lr, [r4, #0xb0] ldr r3, [ip, #4] str r3, [r4, #0xb4] ldr r3, [ip, #8] str r3, [r4, #0xb8] bl func_01ff9bc4 ldr r1, [r4, #0xb8] mov r0, #1 add r1, r1, #0x800 str r1, [r4, #0xb8] strb r0, [r4, #0xad] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0215f090 _0215f138: .word data_ov18_0216b4e8 .global func_ov18_0215f13c arm_func_start func_ov18_0215f13c func_ov18_0215f13c: ; 0x0215f13c stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r1, [r5, #8] mov r6, r0 tst r1, #0x10 ldrneb r4, [r5, #0xae] ldrb r0, [r6, #0xae] mvneq r4, #0 cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x38 ldr r1, [r0] ldr r1, [r1, #8] blx r1 add r0, r0, #0x40 add r1, r6, #0xc0 bl func_0201e388 cmp r4, r0 ldreq r0, [r5, #0xb8] moveq r1, #0 streq r1, [r0] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov18_0215f13c .global func_ov18_0215f194 arm_func_start func_ov18_0215f194 func_ov18_0215f194: ; 0x0215f194 stmdb sp!, {r4, lr} ldr r1, _0215f1c8 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x64 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_0215f1cc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f194 _0215f1c8: .word data_027e0f84 .global func_ov18_0215f1cc arm_func_start func_ov18_0215f1cc func_ov18_0215f1cc: ; 0x0215f1cc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _0215f21c ; =data_ov00_020e26b4 ldr r0, _0215f220 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r1, #0 strb r1, [r4, #0x3d] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r0, _0215f224 ; =data_ov00_020e2dd8 str r1, [r4, #0x48] ldr r1, _0215f228 ; =data_ov18_0216c4a0 str r0, [r4, #0x38] mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f1cc _0215f21c: .word data_ov00_020e26b4 _0215f220: .word data_ov00_020e2f04 _0215f224: .word data_ov00_020e2dd8 _0215f228: .word data_ov18_0216c4a0 .global func_ov18_0215f22c arm_func_start func_ov18_0215f22c func_ov18_0215f22c: ; 0x0215f22c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215f22c .global func_ov18_0215f24c arm_func_start func_ov18_0215f24c func_ov18_0215f24c: ; 0x0215f24c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215f24c .global func_ov18_0215f274 arm_func_start func_ov18_0215f274 func_ov18_0215f274: ; 0x0215f274 stmdb sp!, {r4, lr} sub sp, sp, #0x50 mov r4, r0 ldr r1, [r4, #4] mov r0, #7 orr r1, r1, #4 str r1, [r4, #4] strb r0, [r4, #0x12] mov r0, #0 add ip, r4, #0x18 str r0, [r4, #0x1c] ldmia ip, {r0, r1, r2} add lr, sp, #0x44 stmia lr, {r0, r1, r2} ldmia ip, {r0, r1, r2} ldr ip, _0215f380 ; =0x00000666 add r3, sp, #0x38 stmia r3, {r0, r1, r2} ldr r3, _0215f384 ; =0x00000ccd add r1, sp, #0x14 mov r0, lr mov r2, lr str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] bl func_01ff9bf8 ldr r1, _0215f380 ; =0x00000666 ldr r2, _0215f384 ; =0x00000ccd add r0, sp, #0x38 str r2, [sp, #0xc] str r1, [sp, #8] str r1, [sp, #0x10] add r1, sp, #8 mov r2, r0 bl func_01ff9bc4 mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 add r1, sp, #0x44 str r0, [sp, #4] add lr, sp, #0x20 ldmia r1, {r0, r1, r2} stmia lr, {r0, r1, r2} add ip, sp, #0x38 add r3, sp, #0x2c ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r4 bl func_ov00_0208b9cc mov r2, r0 mov r0, #0 str r0, [sp] add r0, r4, #0x38 ldr ip, [r0] ldr r3, [sp, #4] ldr ip, [ip, #0x14] add r1, sp, #0x20 blx ip mov r1, #0 strb r1, [r4, #0x3c] mov r0, r4 ldr r3, [r0] mov r2, r1 ldr r3, [r3, #0x80] blx r3 add sp, sp, #0x50 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f274 _0215f380: .word 0x00000666 _0215f384: .word 0x00000ccd .global func_ov18_0215f388 arm_func_start func_ov18_0215f388 func_ov18_0215f388: ; 0x0215f388 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldrne r0, [r4, #8] cmpne r0, #0 ldmeqia sp!, {r4, pc} cmp r0, #1 ldmneia sp!, {r4, pc} ldr r0, _0215f3fc ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 ldmneia sp!, {r4, pc} ldr r0, [r0, #0x44] cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f388 _0215f3fc: .word data_027e0c68 .global func_ov18_0215f400 arm_func_start func_ov18_0215f400 func_ov18_0215f400: ; 0x0215f400 str r1, [r0, #8] cmp r1, #0 beq _0215f414 cmp r1, #1 b _0215f420 _0215f414: ldr r1, [r0, #4] orr r1, r1, #4 str r1, [r0, #4] _0215f420: mov r0, #1 bx lr arm_func_end func_ov18_0215f400 .global func_ov18_0215f428 arm_func_start func_ov18_0215f428 func_ov18_0215f428: ; 0x0215f428 mov r0, #0x5c bx lr arm_func_end func_ov18_0215f428 .global func_ov18_0215f430 arm_func_start func_ov18_0215f430 func_ov18_0215f430: ; 0x0215f430 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #8] cmp r1, #0 bne _0215f460 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldr r0, [r4, #0x30] ldmia sp!, {r4, pc} _0215f460: mvn r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215f430 .global func_ov18_0215f468 arm_func_start func_ov18_0215f468 func_ov18_0215f468: ; 0x0215f468 bx lr arm_func_end func_ov18_0215f468 .global func_ov18_0215f46c arm_func_start func_ov18_0215f46c func_ov18_0215f46c: ; 0x0215f46c mov r0, #0x5e bx lr arm_func_end func_ov18_0215f46c .global func_ov18_0215f474 arm_func_start func_ov18_0215f474 func_ov18_0215f474: ; 0x0215f474 stmdb sp!, {r4, lr} ldr r1, _0215f4a8 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xa0 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_0215f4ac ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f474 _0215f4a8: .word data_027e0f84 .global func_ov18_0215f4ac arm_func_start func_ov18_0215f4ac func_ov18_0215f4ac: ; 0x0215f4ac stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc mov r1, #0 ldr r2, _0215f53c ; =data_ov00_020e26b4 ldr r0, _0215f540 ; =data_ov00_020e2f04 str r2, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] strb r1, [r4, #0x3d] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r2, _0215f544 ; =data_ov00_020e2dd8 str r1, [r4, #0x48] ldr r0, _0215f548 ; =data_ov18_0216c534 str r2, [r4, #0x38] str r0, [r4] mov r2, r1 mov r3, r1 add r0, r4, #0x68 str r1, [r4, #0x64] blx func_ov00_020bd618 ldr r1, _0215f540 ; =data_ov00_020e2f04 mov r0, #1 str r1, [r4, #0x74] strb r0, [r4, #0x78] mov r0, #0 strb r0, [r4, #0x79] str r0, [r4, #0x7c] str r0, [r4, #0x80] ldr r1, _0215f544 ; =data_ov00_020e2dd8 str r0, [r4, #0x84] mov r0, r4 str r1, [r4, #0x74] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f4ac _0215f53c: .word data_ov00_020e26b4 _0215f540: .word data_ov00_020e2f04 _0215f544: .word data_ov00_020e2dd8 _0215f548: .word data_ov18_0216c534 .global func_ov18_0215f54c arm_func_start func_ov18_0215f54c func_ov18_0215f54c: ; 0x0215f54c stmdb sp!, {r4, lr} ldr r1, _0215f594 ; =data_ov18_0216c534 mov r4, r0 ldr r0, _0215f598 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x74 bl func_ov00_02093af0 add r0, r4, #0x74 bl func_ov00_02094824 add r0, r4, #0x68 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f54c _0215f594: .word data_ov18_0216c534 _0215f598: .word data_027e0f6c .global func_ov18_0215f59c arm_func_start func_ov18_0215f59c func_ov18_0215f59c: ; 0x0215f59c stmdb sp!, {r4, lr} ldr r1, _0215f5ec ; =data_ov18_0216c534 mov r4, r0 ldr r0, _0215f5f0 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x74 bl func_ov00_02093af0 add r0, r4, #0x74 bl func_ov00_02094824 add r0, r4, #0x68 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f59c _0215f5ec: .word data_ov18_0216c534 _0215f5f0: .word data_027e0f6c .global func_ov18_0215f5f4 arm_func_start func_ov18_0215f5f4 func_ov18_0215f5f4: ; 0x0215f5f4 mov r0, #0x30 bx lr arm_func_end func_ov18_0215f5f4 .global func_ov18_0215f5fc arm_func_start func_ov18_0215f5fc func_ov18_0215f5fc: ; 0x0215f5fc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x84 mov r5, r0 ldr r0, [r5, #4] mov r1, #0 orr r0, r0, #4 str r0, [r5, #4] ldrh r0, [r5, #0x26] cmp r0, #1 ldrh r0, [r5, #0x28] moveq r1, #1 str r0, [r5, #0x64] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0215f6a8 _0215f638: ; jump table b _0215f6b0 ; case 0 b _0215f6b0 ; case 1 b _0215f648 ; case 2 b _0215f678 ; case 3 _0215f648: ldr r0, _0215f8f4 ; =data_027e0f68 mov r1, #0x76 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r5, #0x68 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r1, #1 b _0215f6b0 _0215f678: ldr r0, _0215f8f4 ; =data_027e0f68 mov r1, #0x75 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r5, #0x68 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r1, #1 b _0215f6b0 _0215f6a8: mov r0, #0 str r0, [r5, #0x64] _0215f6b0: cmp r1, #0 beq _0215f6c8 ldr r0, [r5, #0x18] add r0, r0, #0x3fc add r0, r0, #0x400 str r0, [r5, #0x18] _0215f6c8: ldr r1, [r5, #0x18] add r0, sp, #0x78 str r1, [sp, #0x78] ldr r1, [r5, #0x1c] ldr r3, _0215f8f8 ; =0x0000059a str r1, [sp, #0x7c] ldr r2, [r5, #0x20] add r1, sp, #0x60 str r2, [sp, #0x80] ldr r4, [r5, #0x18] mov r2, r0 str r4, [sp, #0x6c] ldr r4, [r5, #0x1c] mov r6, #0x800 str r4, [sp, #0x70] ldr ip, [r5, #0x20] mov r4, #0 str ip, [sp, #0x74] str r6, [sp, #0x60] str r4, [sp, #0x64] str r3, [sp, #0x68] bl func_01ff9bf8 add r0, sp, #0x6c ldr r3, _0215f8f8 ; =0x0000059a mov r4, #0x1000 add r1, sp, #0x54 mov r2, r0 str r6, [sp, #0x54] str r4, [sp, #0x58] str r3, [sp, #0x5c] bl func_01ff9bc4 mov r1, #0 bic r1, r1, #0x1f orr r1, r1, #6 bic r1, r1, #0x80000000 orr r4, r1, #0x80000000 add r0, sp, #0x78 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x6c add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 str r4, [sp, #8] bl func_ov00_0208b9cc mov r2, r0 mov r0, #0 str r0, [sp] add r0, r5, #0x38 mov r3, r4 ldr r4, [r0] add r1, sp, #0x3c ldr r4, [r4, #0x14] blx r4 mov r3, #0 strb r3, [r5, #0x3c] ldrh r1, [r5, #0x24] ldr r0, [r5, #0x18] ldr lr, _0215f8fc ; =0x00000199 str r0, [sp, #0x78] ldr r0, [r5, #0x1c] and r4, r1, #0xff str r0, [sp, #0x7c] ldr r1, [r5, #0x20] add r0, sp, #0x78 str r1, [sp, #0x80] ldr r2, [r5, #0x18] add ip, lr, #0x134 str r2, [sp, #0x6c] ldr r6, [r5, #0x1c] add r1, sp, #0x30 str r6, [sp, #0x70] ldr r6, [r5, #0x20] mov r2, r0 str r6, [sp, #0x74] str lr, [sp, #0x30] str r3, [sp, #0x34] str ip, [sp, #0x38] bl func_01ff9bf8 ldr lr, _0215f8fc ; =0x00000199 add r0, sp, #0x6c sub r3, lr, #0x33 mov ip, #0x1000 add r1, sp, #0x24 mov r2, r0 str lr, [sp, #0x24] str ip, [sp, #0x28] str r3, [sp, #0x2c] bl func_01ff9bc4 mov ip, #0 bic r1, ip, #0x1f orr r1, r1, #7 bic r1, r1, #0x6000 orr r1, r1, #0x2000 orr r1, r1, #0x33c00000 bic r1, r1, #0x3f0000 orr r3, r1, r4, lsl #16 add r0, sp, #0x78 add lr, sp, #0xc ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} add r0, sp, #0x6c add r4, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} str ip, [sp] add r0, r5, #0x74 ldr r4, [r0] mov r1, lr ldr r4, [r4, #0x14] mov r2, #4 str r3, [sp, #4] blx r4 mov r0, #0 strb r0, [r5, #0x78] ldr r0, _0215f900 ; =data_027e0f6c add r1, r5, #0x74 ldr r0, [r0] bl func_ov00_02093a5c mov r0, r5 bl func_ov18_0215fa64 cmp r0, #0 mov r0, r5 ldr r3, [r0] beq _0215f8dc mov r1, #1 ldr r3, [r3, #0x80] mov r2, r1 blx r3 add sp, sp, #0x84 ldmia sp!, {r3, r4, r5, r6, pc} _0215f8dc: ldr r3, [r3, #0x80] mov r1, #0 mov r2, #1 blx r3 add sp, sp, #0x84 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0215f5fc _0215f8f4: .word data_027e0f68 _0215f8f8: .word 0x0000059a _0215f8fc: .word 0x00000199 _0215f900: .word data_027e0f6c .global func_ov18_0215f904 arm_func_start func_ov18_0215f904 func_ov18_0215f904: ; 0x0215f904 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] cmp r0, #0 beq _0215f938 cmp r0, #1 beq _0215f964 ldmia sp!, {r4, pc} _0215f938: mov r0, r4 bl func_ov18_0215fa64 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldmia sp!, {r4, pc} _0215f964: mov r0, r4 bl func_ov18_0215fa64 cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215f904 .global func_ov18_0215f990 arm_func_start func_ov18_0215f990 func_ov18_0215f990: ; 0x0215f990 stmdb sp!, {r4, lr} mov r4, r0 str r1, [r4, #8] cmp r1, #0 beq _0215f9b0 cmp r1, #1 beq _0215f9e8 b _0215fa1c _0215f9b0: ldr r1, [r4, #4] add r0, r4, #0x74 orr r2, r1, #8 mov r1, #3 str r2, [r4, #4] bl func_ov00_02094884 ldr r0, _0215fa24 ; =data_027e0e60 add r1, r4, #0x38 ldr r0, [r0] mov r2, #0 bl func_ov00_020843ec mov r0, #7 strb r0, [r4, #0x12] b _0215fa1c _0215f9e8: ldr r1, [r4, #4] add r0, r4, #0x74 bic r2, r1, #8 mov r1, #1 str r2, [r4, #4] bl func_ov00_02094884 ldr r0, _0215fa24 ; =data_027e0e60 add r1, r4, #0x38 ldr r0, [r0] mov r2, #1 bl func_ov00_020843ec mov r0, #1 strb r0, [r4, #0x12] _0215fa1c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215f990 _0215fa24: .word data_027e0e60 .global func_ov18_0215fa28 arm_func_start func_ov18_0215fa28 func_ov18_0215fa28: ; 0x0215fa28 ldrsb r1, [r0, #0x12] cmp r1, #7 ldreq r0, [r0, #0x30] mvnne r0, #0 bx lr arm_func_end func_ov18_0215fa28 .global func_ov18_0215fa3c arm_func_start func_ov18_0215fa3c func_ov18_0215fa3c: ; 0x0215fa3c mov r0, #7 bx lr arm_func_end func_ov18_0215fa3c .global func_ov18_0215fa44 arm_func_start func_ov18_0215fa44 func_ov18_0215fa44: ; 0x0215fa44 stmdb sp!, {r3, lr} mov r1, r0 add r0, r1, #0x68 ldr r2, [r0] add r1, r1, #0x18 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov18_0215fa44 .global func_ov18_0215fa64 arm_func_start func_ov18_0215fa64 func_ov18_0215fa64: ; 0x0215fa64 stmdb sp!, {r3, lr} ldr r1, [r0, #0x64] cmp r1, #0 bne _0215fa7c mov r0, #1 ldmia sp!, {r3, pc} _0215fa7c: ldr r2, _0215fa90 ; =data_027e0f74 ldrh r1, [r0, #0x2a] ldr r0, [r2] bl func_ov00_02097760 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0215fa64 _0215fa90: .word data_027e0f74 .global func_ov18_0215fa94 arm_func_start func_ov18_0215fa94 func_ov18_0215fa94: ; 0x0215fa94 stmdb sp!, {r4, lr} ldr r1, _0215fac8 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x64 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_0215facc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215fa94 _0215fac8: .word data_027e0f84 .global func_ov18_0215facc arm_func_start func_ov18_0215facc func_ov18_0215facc: ; 0x0215facc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _0215fb1c ; =data_ov00_020e26b4 ldr r0, _0215fb20 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r1, #0 strb r1, [r4, #0x3d] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r0, _0215fb24 ; =data_ov00_020e2dd8 str r1, [r4, #0x48] ldr r1, _0215fb28 ; =data_ov18_0216c5c8 str r0, [r4, #0x38] mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215facc _0215fb1c: .word data_ov00_020e26b4 _0215fb20: .word data_ov00_020e2f04 _0215fb24: .word data_ov00_020e2dd8 _0215fb28: .word data_ov18_0216c5c8 .global func_ov18_0215fb2c arm_func_start func_ov18_0215fb2c func_ov18_0215fb2c: ; 0x0215fb2c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215fb2c .global func_ov18_0215fb4c arm_func_start func_ov18_0215fb4c func_ov18_0215fb4c: ; 0x0215fb4c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0215fb4c .global func_ov18_0215fb74 arm_func_start func_ov18_0215fb74 func_ov18_0215fb74: ; 0x0215fb74 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x5c mov r5, r0 ldr r1, [r5, #4] mov r0, #1 orr r1, r1, #4 orr r1, r1, #0x800 str r1, [r5, #4] strb r0, [r5, #0x12] mov r4, #0x800 add r0, r5, #0x18 mov r3, #0 add r1, sp, #0x38 mov r2, r0 str r4, [sp, #0x38] str r3, [sp, #0x3c] str r4, [sp, #0x40] bl func_01ff9bc4 mov r0, r5 bl func_ov18_0215fccc ldr r1, [r5, #0x18] mov r4, r0 str r1, [sp, #0x50] ldr r1, [r5, #0x1c] ldr r2, _0215fcb0 ; =0x00000b34 str r1, [sp, #0x54] ldr r1, [r5, #0x20] add r0, sp, #0x50 str r1, [sp, #0x58] ldr r1, [r5, #0x18] mov r6, #0x1000 str r1, [sp, #0x44] ldr r1, [r5, #0x1c] mov r3, #0 str r1, [sp, #0x48] ldr ip, [r5, #0x20] add r1, sp, #0x2c str r2, [sp, #0x34] mov r2, r0 str ip, [sp, #0x4c] str r6, [sp, #0x2c] str r3, [sp, #0x30] bl func_01ff9bf8 mov r0, r6 str r0, [sp, #0x20] str r0, [sp, #0x24] mov r0, #0 str r0, [sp, #0x28] add r0, sp, #0x44 add r1, sp, #0x20 mov r2, r0 bl func_01ff9bc4 mov ip, #0 bic r0, ip, #0x1f orr r0, r0, #7 bic r0, r0, #0x6000 orr r0, r0, #0x8c00000 bic r0, r0, #0x3f0000 orr r3, r0, r4, lsl #16 add r0, sp, #0x50 add r6, sp, #8 ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} add lr, sp, #0x44 add r4, sp, #0x14 ldmia lr, {r0, r1, r2} stmia r4, {r0, r1, r2} str ip, [sp] add r0, r5, #0x38 ldr r4, [r0] mov r1, r6 ldr r4, [r4, #0x14] mov r2, #4 str r3, [sp, #4] blx r4 mov r0, #1 strb r0, [r5, #0x3c] add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0215fb74 _0215fcb0: .word 0x00000b34 .global func_ov18_0215fcb4 arm_func_start func_ov18_0215fcb4 func_ov18_0215fcb4: ; 0x0215fcb4 bx lr arm_func_end func_ov18_0215fcb4 .global func_ov18_0215fcb8 arm_func_start func_ov18_0215fcb8 func_ov18_0215fcb8: ; 0x0215fcb8 ldr r0, _0215fcc0 ; =0x00000ccd bx lr .align 2, 0 arm_func_end func_ov18_0215fcb8 _0215fcc0: .word 0x00000ccd .global func_ov18_0215fcc4 arm_func_start func_ov18_0215fcc4 func_ov18_0215fcc4: ; 0x0215fcc4 mov r0, #0 bx lr arm_func_end func_ov18_0215fcc4 .global func_ov18_0215fccc arm_func_start func_ov18_0215fccc func_ov18_0215fccc: ; 0x0215fccc ldrh r0, [r0, #0x24] and r0, r0, #0xff bx lr arm_func_end func_ov18_0215fccc .global func_ov18_0215fcd8 arm_func_start func_ov18_0215fcd8 func_ov18_0215fcd8: ; 0x0215fcd8 mov r0, #0x72 bx lr arm_func_end func_ov18_0215fcd8 .global func_ov18_0215fce0 arm_func_start func_ov18_0215fce0 func_ov18_0215fce0: ; 0x0215fce0 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov14_021439e0 ldr r0, _0215fd98 ; =data_ov18_0216c69c mov r1, #0 str r0, [r4] str r1, [r4, #0x3c] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r0, _0215fd9c ; =data_027e0d38 str r1, [r4, #0x48] ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0xb bne _0215fd44 ldr r1, _0215fda0 ; =data_027e0ce0 mov r0, #2 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0215fd48 blx func_ov26_02175fa8 b _0215fd48 _0215fd44: mov r0, #0 _0215fd48: ldr r1, _0215fd9c ; =data_027e0d38 str r0, [r4, #0x4c] ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0xb bne _0215fd88 ldr r1, _0215fda0 ; =data_027e0ce0 mov r0, #0x288 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0215fd8c blx func_ov26_0217752c b _0215fd8c _0215fd88: mov r0, #0 _0215fd8c: str r0, [r4, #0x50] mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0215fce0 _0215fd98: .word data_ov18_0216c69c _0215fd9c: .word data_027e0d38 _0215fda0: .word data_027e0ce0 .global func_ov18_0215fda4 arm_func_start func_ov18_0215fda4 func_ov18_0215fda4: ; 0x0215fda4 bx lr arm_func_end func_ov18_0215fda4 .global func_ov18_0215fda8 arm_func_start func_ov18_0215fda8 func_ov18_0215fda8: ; 0x0215fda8 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0215fe88 ; =data_ov18_0216c69c mov r4, r0 str r1, [r4] ldr r5, [r4, #0x50] cmp r5, #0 beq _0215fdd4 mov r0, r5 blx func_ov26_021775b0 mov r0, r5 bl func_0202ea0c _0215fdd4: ldr r5, [r4, #0x4c] cmp r5, #0 beq _0215fdf0 mov r0, r5 blx func_ov26_02175fb4 mov r0, r5 bl func_0202ea0c _0215fdf0: ldr r5, [r4, #0x3c] cmp r5, #0 beq _0215fe0c mov r0, r5 bl func_ov33_0217d884 mov r0, r5 bl func_0202ea0c _0215fe0c: ldr r5, [r4, #0x40] cmp r5, #0 beq _0215fe28 mov r0, r5 bl func_ov45_0218b3c8 mov r0, r5 bl func_0202ea0c _0215fe28: ldr r5, [r4, #0x44] cmp r5, #0 beq _0215fe44 mov r0, r5 bl func_ov31_0217bf70 mov r0, r5 bl func_0202ea0c _0215fe44: ldr r5, [r4, #0x48] cmp r5, #0 beq _0215fe70 add r0, r5, #0x158 ldr r3, _0215fe8c ; =func_ov18_0215fda4 add r0, r0, #0x400 mov r1, #2 mov r2, #0x18 bl func_0204f754 mov r0, r5 bl func_0202ea0c _0215fe70: mov r0, r4 blx func_ov14_02143d10 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215fda8 _0215fe88: .word data_ov18_0216c69c _0215fe8c: .word func_ov18_0215fda4 .global func_ov18_0215fe90 arm_func_start func_ov18_0215fe90 func_ov18_0215fe90: ; 0x0215fe90 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0215ff68 ; =data_ov18_0216c69c mov r4, r0 str r1, [r4] ldr r5, [r4, #0x50] cmp r5, #0 beq _0215febc mov r0, r5 blx func_ov26_021775b0 mov r0, r5 bl func_0202ea0c _0215febc: ldr r5, [r4, #0x4c] cmp r5, #0 beq _0215fed8 mov r0, r5 blx func_ov26_02175fb4 mov r0, r5 bl func_0202ea0c _0215fed8: ldr r5, [r4, #0x3c] cmp r5, #0 beq _0215fef4 mov r0, r5 bl func_ov33_0217d884 mov r0, r5 bl func_0202ea0c _0215fef4: ldr r5, [r4, #0x40] cmp r5, #0 beq _0215ff10 mov r0, r5 bl func_ov45_0218b3c8 mov r0, r5 bl func_0202ea0c _0215ff10: ldr r5, [r4, #0x44] cmp r5, #0 beq _0215ff2c mov r0, r5 bl func_ov31_0217bf70 mov r0, r5 bl func_0202ea0c _0215ff2c: ldr r5, [r4, #0x48] cmp r5, #0 beq _0215ff58 add r0, r5, #0x158 ldr r3, _0215ff6c ; =func_ov18_0215fda4 add r0, r0, #0x400 mov r1, #2 mov r2, #0x18 bl func_0204f754 mov r0, r5 bl func_0202ea0c _0215ff58: mov r0, r4 blx func_ov14_02143d10 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0215fe90 _0215ff68: .word data_ov18_0216c69c _0215ff6c: .word func_ov18_0215fda4 .global func_ov18_0215ff70 arm_func_start func_ov18_0215ff70 func_ov18_0215ff70: ; 0x0215ff70 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r4, r1 mov r6, r0 blx func_ov14_02143f18 add r0, sp, #0 mov r1, r4 bl func_ov00_020d1594 ldr r1, _02160118 ; =0x4d524547 add r0, sp, #0 bl func_ov00_020d15e0 mov r8, r0 ldr r1, _0216011c ; =0x4a554447 add r0, sp, #0 bl func_ov00_020d15e0 mov sb, r0 ldr r1, _02160120 ; =0x4954534e add r0, sp, #0 bl func_ov00_020d15e0 cmp r0, #0 bne _02160000 ldr r1, _02160124 ; =0x49545332 add r0, sp, #0 bl func_ov00_020d15e0 cmp r0, #0 bne _02160000 ldr r1, _02160128 ; =0x49545333 add r0, sp, #0 bl func_ov00_020d15e0 cmp r0, #0 bne _02160000 ldr r1, _0216012c ; =0x53495453 add r0, sp, #0 bl func_ov00_020d15e0 cmp r0, #0 beq _02160008 _02160000: mov r5, #1 b _0216000c _02160008: mov r5, #0 _0216000c: ldr r1, _02160130 ; =0x54524144 add r0, sp, #0 bl func_ov00_020d15e0 mov r7, r0 ldr r1, _02160134 ; =0x504f5354 add r0, sp, #0 bl func_ov00_020d15e0 mov r4, r0 add r0, sp, #0 bl func_ov00_020d15c0 cmp r8, #0 cmpeq sb, #0 cmpeq r5, #0 cmpeq r7, #0 cmpeq r4, #0 movne r2, #1 ldr r0, _02160138 ; =data_027e0e28 moveq r2, #0 mov r1, r6 bl func_ov18_02160a10 cmp r8, #0 beq _02160088 ldr r1, _0216013c ; =data_027e0ce0 mov r0, #0x50 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _02160084 bl func_ov31_0217d760 _02160084: str r0, [r6, #0x3c] _02160088: cmp sb, #0 beq _021600b4 ldr r1, _0216013c ; =data_027e0ce0 mov r0, #0x154 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _021600b0 bl func_ov45_0218b324 _021600b0: str r0, [r6, #0x40] _021600b4: cmp r5, #0 beq _021600e0 ldr r1, _0216013c ; =data_027e0ce0 mov r0, #0x19c ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _021600dc bl func_ov31_0217bdc8 _021600dc: str r0, [r6, #0x44] _021600e0: cmp r4, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r1, _0216013c ; =data_027e0ce0 ldr r0, _02160140 ; =0x0000058c ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0216010c bl func_ov18_02169a84 _0216010c: str r0, [r6, #0x48] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov18_0215ff70 _02160118: .word 0x4d524547 _0216011c: .word 0x4a554447 _02160120: .word 0x4954534e _02160124: .word 0x49545332 _02160128: .word 0x49545333 _0216012c: .word 0x53495453 _02160130: .word 0x54524144 _02160134: .word 0x504f5354 _02160138: .word data_027e0e28 _0216013c: .word data_027e0ce0 _02160140: .word 0x0000058c .global func_ov18_02160144 arm_func_start func_ov18_02160144 func_ov18_02160144: ; 0x02160144 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 blx func_ov14_02143fa0 ldr r5, [r4, #0x48] cmp r5, #0 beq _0216017c add r0, r5, #0x158 ldr r3, _021601fc ; =func_ov18_0215fda4 add r0, r0, #0x400 mov r1, #2 mov r2, #0x18 bl func_0204f754 mov r0, r5 bl func_0202ea0c _0216017c: mov r0, #0 str r0, [r4, #0x48] ldr r5, [r4, #0x44] cmp r5, #0 beq _021601a0 mov r0, r5 bl func_ov31_0217bf70 mov r0, r5 bl func_0202ea0c _021601a0: mov r0, #0 str r0, [r4, #0x44] ldr r5, [r4, #0x40] cmp r5, #0 beq _021601c4 mov r0, r5 bl func_ov45_0218b3c8 mov r0, r5 bl func_0202ea0c _021601c4: mov r0, #0 str r0, [r4, #0x40] ldr r5, [r4, #0x3c] cmp r5, #0 beq _021601e8 mov r0, r5 bl func_ov33_0217d884 mov r0, r5 bl func_0202ea0c _021601e8: ldr r0, _02160200 ; =data_027e0e28 mov r1, #0 str r1, [r4, #0x3c] blx func_ov00_0207bc7c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02160144 _021601fc: .word func_ov18_0215fda4 _02160200: .word data_027e0e28 .global func_ov18_02160204 arm_func_start func_ov18_02160204 func_ov18_02160204: ; 0x02160204 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov14_02143fc0 ldr r0, _021602b8 ; =data_027e0e28 bl func_ov00_0207bc68 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02160264 _02160228: ; jump table b _02160238 ; case 0 b _02160248 ; case 1 b _02160258 ; case 2 b _02160258 ; case 3 _02160238: ldr r0, [r5, #0x3c] mov r1, r4 bl func_ov33_0217db64 b _02160264 _02160248: ldr r0, [r5, #0x40] mov r1, r4 bl func_ov45_0218b948 b _02160264 _02160258: ldr r0, [r5, #0x44] mov r1, r4 bl func_ov31_0217c314 _02160264: ldr r0, _021602bc ; =data_027e077c ldr r0, [r0] cmp r0, #0x38 beq _02160280 cmp r0, #0x39 beq _02160290 b _021602a0 _02160280: ldr r0, [r5, #0x4c] mov r1, r4 bl func_ov26_02175fb8 ldmia sp!, {r3, r4, r5, pc} _02160290: ldr r0, [r5, #0x50] mov r1, r4 bl func_ov26_021775c8 ldmia sp!, {r3, r4, r5, pc} _021602a0: ldr r0, [r5, #0x48] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, r4 bl func_ov18_02169e24 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02160204 _021602b8: .word data_027e0e28 _021602bc: .word data_027e077c .global func_ov18_021602c0 arm_func_start func_ov18_021602c0 func_ov18_021602c0: ; 0x021602c0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_0214418c cmp r0, #1 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r0, _0216030c ; =data_027e0e28 bl func_ov00_0207bc68 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02160304 _021602ec: ; jump table b _021602fc ; case 0 b _02160304 ; case 1 b _02160304 ; case 2 b _02160304 ; case 3 _021602fc: ldr r0, [r4, #0x3c] bl func_ov33_0217d97c _02160304: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021602c0 _0216030c: .word data_027e0e28 .global func_ov18_02160310 arm_func_start func_ov18_02160310 func_ov18_02160310: ; 0x02160310 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_021442c4 ldr r1, [r4, #0x48] cmp r1, #0 ldmeqia sp!, {r4, pc} cmp r0, #0 bne _02160340 mov r0, r1 bl func_ov18_02169d30 cmp r0, #0 beq _02160348 _02160340: mov r0, #1 ldmia sp!, {r4, pc} _02160348: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160310 .global func_ov18_02160350 arm_func_start func_ov18_02160350 func_ov18_02160350: ; 0x02160350 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_021443ec ldr r2, [r4, #0x48] cmp r2, #0 ldmeqia sp!, {r4, pc} mov r1, #0 mov r0, #1 _02160370: add r1, r1, #1 strb r0, [r2, #0x565] cmp r1, #2 add r2, r2, #0x18 blt _02160370 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160350 .global func_ov18_02160388 arm_func_start func_ov18_02160388 func_ov18_02160388: ; 0x02160388 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02144464 ldr r1, [r4, #0x48] cmp r1, #0 ldrneb r1, [r1, #0x58a] cmpne r1, #0 movne r0, #0 ldmneia sp!, {r4, pc} cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160388 .global func_ov18_021603bc arm_func_start func_ov18_021603bc func_ov18_021603bc: ; 0x021603bc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02144554 ldr r0, _02160400 ; =data_027e0e28 bl func_ov00_0207bc68 cmp r0, #1 beq _021603e8 cmp r0, #2 cmpne r0, #3 beq _021603f4 ldmia sp!, {r4, pc} _021603e8: ldr r0, [r4, #0x40] bl func_ov45_0218bf60 ldmia sp!, {r4, pc} _021603f4: ldr r0, [r4, #0x44] bl func_ov31_0217c4d0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021603bc _02160400: .word data_027e0e28 .global func_ov18_02160404 arm_func_start func_ov18_02160404 func_ov18_02160404: ; 0x02160404 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov14_02144650 ldr r0, _021604bc ; =data_027e0e28 bl func_ov00_0207bc68 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02160464 _02160428: ; jump table b _02160438 ; case 0 b _02160448 ; case 1 b _02160458 ; case 2 b _02160458 ; case 3 _02160438: ldr r0, [r5, #0x3c] mov r1, r4 bl func_ov33_0217dc84 b _02160464 _02160448: ldr r0, [r5, #0x40] mov r1, r4 bl func_ov45_0218bfb0 b _02160464 _02160458: ldr r0, [r5, #0x44] mov r1, r4 bl func_ov31_0217c4d4 _02160464: ldr r0, _021604c0 ; =data_027e1054 ldr r0, [r0] ldr r0, [r0, #4] ldrb r0, [r0, #0x96] cmp r0, #0 beq _02160484 ldr r0, [r5, #0x4c] bl func_ov26_0217606c _02160484: ldr r0, _021604c0 ; =data_027e1054 ldr r0, [r0] ldr r0, [r0, #4] ldrb r0, [r0, #0x97] cmp r0, #0 beq _021604a4 ldr r0, [r5, #0x50] bl func_ov26_0217779c _021604a4: ldr r0, [r5, #0x48] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, r4 bl func_ov18_02169e64 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02160404 _021604bc: .word data_027e0e28 _021604c0: .word data_027e1054 .global func_ov18_021604c4 arm_func_start func_ov18_021604c4 func_ov18_021604c4: ; 0x021604c4 ldr ip, _021604d0 ; =func_ov33_0217d8c0 ldr r0, [r0, #0x3c] bx ip .align 2, 0 arm_func_end func_ov18_021604c4 _021604d0: .word func_ov33_0217d8c0 .global func_ov18_021604d4 arm_func_start func_ov18_021604d4 func_ov18_021604d4: ; 0x021604d4 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #3 addls pc, pc, r1, lsl #2 ldmia sp!, {r4, pc} _021604e8: ; jump table b _021604f8 ; case 0 b _0216050c ; case 1 b _02160518 ; case 2 b _02160518 ; case 3 _021604f8: ldr r0, [r4, #0x3c] bl func_ov33_0217d8c0 ldr r0, [r4, #0x3c] bl func_ov33_0217d8ac ldmia sp!, {r4, pc} _0216050c: ldr r0, [r4, #0x40] bl func_ov45_0218b470 ldmia sp!, {r4, pc} _02160518: ldr r0, [r4, #0x44] bl func_ov31_0217bfb4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021604d4 .global func_ov18_02160524 arm_func_start func_ov18_02160524 func_ov18_02160524: ; 0x02160524 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02160574 ; =data_027e0e28 bl func_ov00_0207bc68 cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _02160540: ; jump table b _02160550 ; case 0 b _0216055c ; case 1 b _02160568 ; case 2 b _02160568 ; case 3 _02160550: ldr r0, [r4, #0x3c] bl func_ov31_0217d93c ldmia sp!, {r4, pc} _0216055c: ldr r0, [r4, #0x40] bl func_ov45_0218b88c ldmia sp!, {r4, pc} _02160568: ldr r0, [r4, #0x44] bl func_ov31_0217c224 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02160524 _02160574: .word data_027e0e28 .global func_ov18_02160578 arm_func_start func_ov18_02160578 func_ov18_02160578: ; 0x02160578 stmdb sp!, {r4, lr} ldr r1, _021605ac ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xa8 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_021605b0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02160578 _021605ac: .word data_027e0f84 .global func_ov18_021605b0 arm_func_start func_ov18_021605b0 func_ov18_021605b0: ; 0x021605b0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc ldr r1, _0216060c ; =data_ov18_0216c70c ldr r0, _02160610 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x5b mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 blx func_ov00_020a9588 mov r1, #0 mov r2, #0x1000 str r2, [sp] add r0, r4, #0x94 mov r3, r1 blx func_ov00_0207a188 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_021605b0 _0216060c: .word data_ov18_0216c70c _02160610: .word data_027e0f68 .global func_ov18_02160614 arm_func_start func_ov18_02160614 func_ov18_02160614: ; 0x02160614 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160614 .global func_ov18_02160634 arm_func_start func_ov18_02160634 func_ov18_02160634: ; 0x02160634 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160634 .global func_ov18_0216065c arm_func_start func_ov18_0216065c func_ov18_0216065c: ; 0x0216065c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x68 mov fp, r0 ldr r1, [fp, #0x18] add r2, sp, #0x18 add r1, r1, #0x1800 str r1, [fp, #0x18] ldr r1, [fp, #0x20] mov r5, #0 add r1, r1, #0x1000 add r1, r1, #0x800 str r1, [fp, #0x20] str r5, [r2] mov r4, #0x1800 str r5, [r2, #4] mov r1, #0x1c00 str r5, [r2, #8] str r4, [sp, #0x18] str r1, [sp, #0x1c] str r4, [fp, #0x98] ldr r1, [sp, #0x1c] mov r2, #0x3800 str r1, [fp, #0x9c] ldr r3, [sp, #0x20] mov r1, #0x2000 str r3, [fp, #0xa0] str r2, [fp, #0xa4] str r1, [sp, #0x60] str r5, [sp, #0x5c] str r4, [sp, #0x64] ldr r2, [fp, #0x18] add r0, sp, #0x50 str r2, [sp, #0x50] ldr r3, [fp, #0x1c] add r1, sp, #0x5c str r3, [sp, #0x54] ldr r3, [fp, #0x20] mov r2, r0 str r3, [sp, #0x58] bl func_01ff9bc4 ldr r0, [fp, #0x30] cmp r0, #0 beq _02160774 add r0, sp, #0x24 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] str r1, [sp, #0x44] bl func_ov00_020c3348 mvn r0, #0 add r1, sp, #0x10 str r0, [sp, #0x10] str r0, [sp, #0x14] str r1, [sp] ldr r0, _0216080c ; =data_027e0fe8 ldr r1, _02160810 ; =0x48534b42 ldr r0, [r0] add r2, sp, #0x50 add r3, sp, #0x24 bl func_ov00_020c4048 ldr r0, _02160814 ; =data_027e0fe4 add r1, sp, #0x10 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _02160774 ldr r2, [fp, #0x30] ldr r1, _02160818 ; =0x0000099a bl func_ov18_0216a1d0 _02160774: ldrb r0, [fp, #0x15] ldrb r8, [fp, #0x14] str r0, [sp, #4] add r0, r8, #3 str r0, [sp, #8] cmp r8, r0 ldr r0, [sp, #4] add sl, r0, #3 bgt _021607ec ldr r4, _0216081c ; =data_027e0e60 add r6, sp, #0xc mov r5, #1 _021607a4: ldr sb, [sp, #4] mov r0, sb cmp r0, sl bgt _021607dc and r7, r8, #0xff _021607b8: ldr r0, [r4] mov r1, r6 mov r2, r5 strb r7, [sp, #0xc] strb sb, [sp, #0xd] bl func_ov00_02082680 add sb, sb, #1 cmp sb, sl ble _021607b8 _021607dc: ldr r0, [sp, #8] add r8, r8, #1 cmp r8, r0 ble _021607a4 _021607ec: mov r0, fp ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, r1 blx r3 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_0216065c _0216080c: .word data_027e0fe8 _02160810: .word 0x48534b42 _02160814: .word data_027e0fe4 _02160818: .word 0x0000099a _0216081c: .word data_027e0e60 .global func_ov18_02160820 arm_func_start func_ov18_02160820 func_ov18_02160820: ; 0x02160820 ldr ip, _02160834 ; =func_ov00_0207a1c8 mov r2, r0 add r0, r2, #0x94 add r2, r2, #0x18 bx ip .align 2, 0 arm_func_end func_ov18_02160820 _02160834: .word func_ov00_0207a1c8 .global func_ov18_02160838 arm_func_start func_ov18_02160838 func_ov18_02160838: ; 0x02160838 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 str r1, [r4, #8] cmp r1, #0 beq _02160858 cmp r1, #1 beq _021608a8 b _021608ac _02160858: ldrh r2, [r4, #0x2a] ldr r1, _021608b4 ; =data_027e0f6c add r0, sp, #0 and r5, r2, #0xff ldr r1, [r1] mov r2, r5 bl func_ov00_02093a4c ldr r1, [sp] ldr r0, _021608b4 ; =data_027e0f6c bic r1, r1, #0x6000 orr r3, r1, #0x6000 ldr r0, [r0] add r2, sp, #0 mov r1, r5 str r3, [sp] bl func_ov00_02093a3c ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] b _021608ac _021608a8: bl func_ov18_02160968 _021608ac: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02160838 _021608b4: .word data_027e0f6c .global func_ov18_021608b8 arm_func_start func_ov18_021608b8 func_ov18_021608b8: ; 0x021608b8 mov r0, #0x7b bx lr arm_func_end func_ov18_021608b8 .global func_ov18_021608c0 arm_func_start func_ov18_021608c0 func_ov18_021608c0: ; 0x021608c0 mov r0, #1 bx lr arm_func_end func_ov18_021608c0 .global func_ov18_021608c8 arm_func_start func_ov18_021608c8 func_ov18_021608c8: ; 0x021608c8 stmdb sp!, {r4, lr} sub sp, sp, #0x30 ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x88] blx r2 cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} ldrh r1, [r4, #0xc] ldr r3, _02160954 ; =data_02050f54 add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 ldr r2, [r4, #0x20] ldr r1, [r4, #0x1c] ldr r0, [r4, #0x18] add r2, r2, #0x800 str r0, [sp] str r1, [sp, #4] str r2, [sp, #8] add r0, r4, #0x38 ldr r3, [r0] add r1, sp, #0xc ldr r3, [r3, #0x14] add r2, sp, #0 blx r3 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021608c8 _02160954: .word data_02050f54 .global func_ov18_02160958 arm_func_start func_ov18_02160958 func_ov18_02160958: ; 0x02160958 cmp r1, #0 ldrneb r0, [r0, #0x95] ldreqb r0, [r0, #0x94] bx lr arm_func_end func_ov18_02160958 .global func_ov18_02160968 arm_func_start func_ov18_02160968 func_ov18_02160968: ; 0x02160968 stmdb sp!, {lr} sub sp, sp, #0x1c ldrb r2, [r0, #0x15] ldrb r1, [r0, #0x14] mov lr, #0 add ip, r2, #3 add r3, r1, #1 sub r2, lr, #1 mov r1, #1 strb ip, [sp, #5] strh r2, [sp, #0x18] strb r3, [sp, #4] str lr, [sp, #0x14] strb r1, [sp, #0x1a] mov ip, lr add r2, sp, #8 _021609a8: mov r1, lr, lsl #0x1 add lr, lr, #1 strh ip, [r2, r1] cmp lr, #4 blo _021609a8 mov r3, #0 _021609c0: strb r3, [r2, #8] add ip, ip, #1 strb r3, [r2, #0xa] cmp ip, #2 add r2, r2, #1 blo _021609c0 ldrh r2, [r0, #0x24] mov r0, #1 add r1, sp, #8 strh r2, [sp, #8] strh r0, [sp, #0xa] str r1, [sp] ldr r0, _02160a0c ; =data_027e0e60 add r2, sp, #4 ldr r0, [r0] mov r1, #0x30 bl func_ov00_020828c0 add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov18_02160968 _02160a0c: .word data_027e0e60 .global func_ov18_02160a10 arm_func_start func_ov18_02160a10 func_ov18_02160a10: ; 0x02160a10 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 cmp r2, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _02160a50 ; =data_027e0ce0 mov r0, #0x58 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _02160a48 mov r1, r4 bl func_ov18_0215caac _02160a48: str r0, [r5] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02160a10 _02160a50: .word data_027e0ce0 .global func_ov18_02160a54 arm_func_start func_ov18_02160a54 func_ov18_02160a54: ; 0x02160a54 ldr ip, _02160a60 ; =func_ov18_0215ce88 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov18_02160a54 _02160a60: .word func_ov18_0215ce88 .global func_ov18_02160a64 arm_func_start func_ov18_02160a64 func_ov18_02160a64: ; 0x02160a64 ldr ip, _02160a70 ; =func_ov18_0215ceb4 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov18_02160a64 _02160a70: .word func_ov18_0215ceb4 .global func_ov18_02160a74 arm_func_start func_ov18_02160a74 func_ov18_02160a74: ; 0x02160a74 ldr ip, _02160a80 ; =func_ov18_0215cee4 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov18_02160a74 _02160a80: .word func_ov18_0215cee4 .global func_ov18_02160a84 arm_func_start func_ov18_02160a84 func_ov18_02160a84: ; 0x02160a84 ldr r1, [r0] mov r0, #0 cmp r1, #0 ldrneb r1, [r1, #0x4a] cmpne r1, #0 movne r0, #1 bx lr arm_func_end func_ov18_02160a84 .global func_ov18_02160aa0 arm_func_start func_ov18_02160aa0 func_ov18_02160aa0: ; 0x02160aa0 stmdb sp!, {r4, lr} ldr r1, _02160ad4 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xac ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02160ad8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02160aa0 _02160ad4: .word data_027e0f84 .global func_ov18_02160ad8 arm_func_start func_ov18_02160ad8 func_ov18_02160ad8: ; 0x02160ad8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc ldr r2, _02160b20 ; =data_ov18_0216c7a0 add r0, r4, #0x38 mov r1, #0 str r2, [r4] blx func_ov00_020a9588 mov r1, #0 mov r2, #0x1000 mov r3, r1 add r0, r4, #0x94 str r2, [sp] blx func_ov00_0207a188 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02160ad8 _02160b20: .word data_ov18_0216c7a0 .global func_ov18_02160b24 arm_func_start func_ov18_02160b24 func_ov18_02160b24: ; 0x02160b24 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160b24 .global func_ov18_02160b44 arm_func_start func_ov18_02160b44 func_ov18_02160b44: ; 0x02160b44 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02160b44 .global func_ov18_02160b6c arm_func_start func_ov18_02160b6c func_ov18_02160b6c: ; 0x02160b6c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0x24] mov r0, #0x3800 str r0, [sp, #0xc] str r1, [r4, #0xa8] cmp r1, #5 addls pc, pc, r1, lsl #2 b _02160fb0 _02160b94: ; jump table b _02160bac ; case 0 b _02160edc ; case 1 b _02160cbc ; case 2 b _02160dcc ; case 3 b _02160f14 ; case 4 b _02160f64 ; case 5 _02160bac: ldr r0, _02160ff8 ; =data_027e0f68 mov r1, #0x67 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [sp, #0xc] ldr r1, [r4, #0x18] add r0, r0, #0xa000 str r0, [sp, #0xc] sub r0, r1, #0x800 str r0, [r4, #0x18] ldr r0, [r4, #0x1c] sub r0, r0, #0x33 sub r0, r0, #0x1300 str r0, [r4, #0x1c] ldr r0, [r4, #0x20] sub r0, r0, #0x800 str r0, [r4, #0x20] ldrb r1, [r4, #0x14] ldrb sb, [r4, #0x15] add r0, r1, #5 sub r7, r1, #5 str r0, [sp, #8] mov sl, sb cmp r7, r0 bge _02160fb0 add r5, sp, #0x14 mov fp, #1 _02160c30: ldrb r0, [r4, #0x14] cmp r7, r0 beq _02160c4c addge sb, sb, #1 subge sl, sl, #1 sublt sb, sb, #1 addlt sl, sl, #1 _02160c4c: mov r8, sb cmp sb, sl bge _02160ca8 and r6, r7, #0xff _02160c5c: ldrb r0, [r4, #0x14] cmp r7, r0 subne r0, r0, #1 cmpne r7, r0 bne _02160c80 ldrb r0, [r4, #0x15] add r0, r0, #1 cmp r8, r0 bge _02160c9c _02160c80: ldr r0, _02160ffc ; =data_027e0e60 mov r1, r5 ldr r0, [r0] mov r2, fp strb r6, [sp, #0x14] strb r8, [sp, #0x15] bl func_ov00_02082680 _02160c9c: add r8, r8, #1 cmp r8, sl blt _02160c5c _02160ca8: ldr r0, [sp, #8] add r7, r7, #1 cmp r7, r0 blt _02160c30 b _02160fb0 _02160cbc: ldr r0, _02160ff8 ; =data_027e0f68 mov r1, #0xaf ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [sp, #0xc] ldr r1, [r4, #0x18] add r0, r0, #0xa000 str r0, [sp, #0xc] sub r0, r1, #0x800 str r0, [r4, #0x18] ldr r0, [r4, #0x1c] sub r0, r0, #0x33 sub r0, r0, #0x1300 str r0, [r4, #0x1c] ldr r0, [r4, #0x20] sub r0, r0, #0x800 str r0, [r4, #0x20] ldrb r1, [r4, #0x14] ldrb sb, [r4, #0x15] add r0, r1, #9 sub r7, r1, #9 str r0, [sp, #4] mov sl, sb cmp r7, r0 bge _02160fb0 add r5, sp, #0x12 mov fp, #1 _02160d40: ldrb r0, [r4, #0x14] cmp r7, r0 beq _02160d5c addgt sb, sb, #1 subgt sl, sl, #1 suble sb, sb, #1 addle sl, sl, #1 _02160d5c: mov r8, sb cmp sb, sl bge _02160db8 and r6, r7, #0xff _02160d6c: ldrb r0, [r4, #0x14] cmp r7, r0 subne r0, r0, #1 cmpne r7, r0 bne _02160d90 ldrb r0, [r4, #0x15] add r0, r0, #4 cmp r8, r0 bge _02160dac _02160d90: ldr r0, _02160ffc ; =data_027e0e60 mov r1, r5 ldr r0, [r0] mov r2, fp strb r6, [sp, #0x12] strb r8, [sp, #0x13] bl func_ov00_02082680 _02160dac: add r8, r8, #1 cmp r8, sl blt _02160d6c _02160db8: ldr r0, [sp, #4] add r7, r7, #1 cmp r7, r0 blt _02160d40 b _02160fb0 _02160dcc: ldr r0, _02160ff8 ; =data_027e0f68 mov r1, #0xb0 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [sp, #0xc] ldr r1, [r4, #0x18] add r0, r0, #0xa000 str r0, [sp, #0xc] sub r0, r1, #0x800 str r0, [r4, #0x18] ldr r0, [r4, #0x1c] sub r0, r0, #0x33 sub r0, r0, #0x1300 str r0, [r4, #0x1c] ldr r0, [r4, #0x20] sub r0, r0, #0x800 str r0, [r4, #0x20] ldrb r1, [r4, #0x14] ldrb sb, [r4, #0x15] add r0, r1, #8 sub r7, r1, #8 str r0, [sp] mov sl, sb cmp r7, r0 bge _02160fb0 add r5, sp, #0x10 mov fp, #1 _02160e50: ldrb r0, [r4, #0x14] cmp r7, r0 beq _02160e6c addgt sb, sb, #1 subgt sl, sl, #1 suble sb, sb, #1 addle sl, sl, #1 _02160e6c: mov r8, sb cmp sb, sl bge _02160ec8 and r6, r7, #0xff _02160e7c: ldrb r0, [r4, #0x14] cmp r7, r0 subne r0, r0, #1 cmpne r7, r0 bne _02160ea0 ldrb r0, [r4, #0x15] add r0, r0, #5 cmp r8, r0 bge _02160ebc _02160ea0: ldr r0, _02160ffc ; =data_027e0e60 mov r1, r5 ldr r0, [r0] mov r2, fp strb r6, [sp, #0x10] strb r8, [sp, #0x11] bl func_ov00_02082680 _02160ebc: add r8, r8, #1 cmp r8, sl blt _02160e7c _02160ec8: ldr r0, [sp] add r7, r7, #1 cmp r7, r0 blt _02160e50 b _02160fb0 _02160edc: ldr r0, _02160ff8 ; =data_027e0f68 mov r1, #0x9e ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [sp, #0xc] add r0, r0, #0x6000 str r0, [sp, #0xc] b _02160fb0 _02160f14: ldr r0, _02160ff8 ; =data_027e0f68 mov r1, #0xb7 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [sp, #0xc] ldr r1, [r4, #0x18] add r0, r0, #0x6000 str r0, [sp, #0xc] sub r0, r1, #0x800 str r0, [r4, #0x18] ldr r0, [r4, #0x20] sub r0, r0, #0x800 str r0, [r4, #0x20] b _02160fb0 _02160f64: ldr r0, _02160ff8 ; =data_027e0f68 mov r1, #0xd5 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [sp, #0xc] ldr r1, [r4, #0x18] add r0, r0, #0x6000 str r0, [sp, #0xc] sub r0, r1, #0x800 str r0, [r4, #0x18] ldr r0, [r4, #0x20] sub r0, r0, #0x800 str r0, [r4, #0x20] _02160fb0: ldr r0, [sp, #0xc] add r2, sp, #0x18 mov r1, #0 str r1, [r2] str r1, [r2, #4] mov r0, r0, asr #0x1 str r1, [r2, #8] str r1, [sp, #0x18] str r0, [sp, #0x1c] str r1, [r4, #0x98] ldr r0, [sp, #0x1c] str r0, [r4, #0x9c] ldr r0, [sp, #0x20] str r0, [r4, #0xa0] ldr r0, [sp, #0xc] str r0, [r4, #0xa4] add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02160b6c _02160ff8: .word data_027e0f68 _02160ffc: .word data_027e0e60 .global func_ov18_02161000 arm_func_start func_ov18_02161000 func_ov18_02161000: ; 0x02161000 ldr ip, _02161014 ; =func_ov00_0207a1c8 mov r2, r0 add r0, r2, #0x94 add r2, r2, #0x18 bx ip .align 2, 0 arm_func_end func_ov18_02161000 _02161014: .word func_ov00_0207a1c8 .global func_ov18_02161018 arm_func_start func_ov18_02161018 func_ov18_02161018: ; 0x02161018 mov r0, #0x88 bx lr arm_func_end func_ov18_02161018 .global func_ov18_02161020 arm_func_start func_ov18_02161020 func_ov18_02161020: ; 0x02161020 mov r0, #1 bx lr arm_func_end func_ov18_02161020 .global func_ov18_02161028 arm_func_start func_ov18_02161028 func_ov18_02161028: ; 0x02161028 mov r0, #0 bx lr arm_func_end func_ov18_02161028 .global func_ov18_02161030 arm_func_start func_ov18_02161030 func_ov18_02161030: ; 0x02161030 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x88] blx r2 cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x38 ldr r2, [r0] add r1, r4, #0x18 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161030 .global func_ov18_02161064 arm_func_start func_ov18_02161064 func_ov18_02161064: ; 0x02161064 cmp r1, #0 ldrneb r0, [r0, #0x95] ldreqb r0, [r0, #0x94] bx lr arm_func_end func_ov18_02161064 .global func_ov18_02161074 arm_func_start func_ov18_02161074 func_ov18_02161074: ; 0x02161074 stmdb sp!, {r4, lr} ldr r1, _021610a8 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x70 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_021610ac ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161074 _021610a8: .word data_027e0f84 .global func_ov18_021610ac arm_func_start func_ov18_021610ac func_ov18_021610ac: ; 0x021610ac stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _02161120 ; =data_ov00_020e26b4 ldr r0, _02161124 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _02161128 ; =data_ov00_020e2dd8 str r2, [r4, #0x48] ldr r1, _0216112c ; =data_ov18_0216c834 str r0, [r4, #0x38] ldr r0, _02161130 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x59 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x64 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021610ac _02161120: .word data_ov00_020e26b4 _02161124: .word data_ov00_020e2f04 _02161128: .word data_ov00_020e2dd8 _0216112c: .word data_ov18_0216c834 _02161130: .word data_027e0f68 .global func_ov18_02161134 arm_func_start func_ov18_02161134 func_ov18_02161134: ; 0x02161134 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161134 .global func_ov18_0216115c arm_func_start func_ov18_0216115c func_ov18_0216115c: ; 0x0216115c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216115c .global func_ov18_0216118c arm_func_start func_ov18_0216118c func_ov18_0216118c: ; 0x0216118c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r5, r0 ldrsh r0, [r5, #0xc] bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _021611ec _021611ac: ; jump table b _021611bc ; case 0 b _021611bc ; case 1 b _021611ec ; case 2 b _021611ec ; case 3 _021611bc: add r0, r5, #0x18 mov r4, #0 mov r3, #0x800 add r1, sp, #0x2c mov r2, r0 str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] bl func_01ff9bc4 mov r6, #0x800 mov r4, #0x1000 b _02161214 _021611ec: add r0, r5, #0x18 mov r3, #0 mov r4, #0x800 add r1, sp, #0x20 mov r2, r0 str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] bl func_01ff9bc4 mov r6, #0x1000 _02161214: add lr, r5, #0x18 ldmia lr, {r0, r1, r2} add ip, sp, #0x5c stmia ip, {r0, r1, r2} ldmia lr, {r0, r1, r2} add r3, sp, #0x50 stmia r3, {r0, r1, r2} mov r3, #0 add r1, sp, #0x14 mov r0, ip mov r2, ip str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] bl func_01ff9bf8 ldr r2, _021612d4 ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] add r1, sp, #8 mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 add r1, sp, #0x5c str r0, [sp, #4] add ip, sp, #0x38 ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} add r4, sp, #0x50 add r3, sp, #0x44 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r5, #0x38 ldr r4, [r0] ldr r3, [sp, #4] ldr r4, [r4, #0x14] add r1, sp, #0x38 blx r4 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0216118c _021612d4: .word 0x00001333 .global func_ov18_021612d8 arm_func_start func_ov18_021612d8 func_ov18_021612d8: ; 0x021612d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] ldr r3, _02161330 ; =data_02050f54 add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x64 ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, r4, #0x18 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_021612d8 _02161330: .word data_02050f54 .global func_ov18_02161334 arm_func_start func_ov18_02161334 func_ov18_02161334: ; 0x02161334 mov r0, #0x77 bx lr arm_func_end func_ov18_02161334 .global func_ov18_0216133c arm_func_start func_ov18_0216133c func_ov18_0216133c: ; 0x0216133c stmdb sp!, {r4, lr} ldr r1, _02161370 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x70 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02161374 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216133c _02161370: .word data_027e0f84 .global func_ov18_02161374 arm_func_start func_ov18_02161374 func_ov18_02161374: ; 0x02161374 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _021613e8 ; =data_ov00_020e26b4 ldr r0, _021613ec ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _021613f0 ; =data_ov00_020e2dd8 str r2, [r4, #0x48] ldr r1, _021613f4 ; =data_ov18_0216c8c8 str r0, [r4, #0x38] ldr r0, _021613f8 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x56 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x64 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161374 _021613e8: .word data_ov00_020e26b4 _021613ec: .word data_ov00_020e2f04 _021613f0: .word data_ov00_020e2dd8 _021613f4: .word data_ov18_0216c8c8 _021613f8: .word data_027e0f68 .global func_ov18_021613fc arm_func_start func_ov18_021613fc func_ov18_021613fc: ; 0x021613fc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021613fc .global func_ov18_02161424 arm_func_start func_ov18_02161424 func_ov18_02161424: ; 0x02161424 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161424 .global func_ov18_02161454 arm_func_start func_ov18_02161454 func_ov18_02161454: ; 0x02161454 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r5, r0 ldrsh r0, [r5, #0xc] bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _021614b4 _02161474: ; jump table b _02161484 ; case 0 b _02161484 ; case 1 b _021614b4 ; case 2 b _021614b4 ; case 3 _02161484: add r0, r5, #0x18 mov r4, #0 mov r3, #0x800 add r1, sp, #0x2c mov r2, r0 str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] bl func_01ff9bc4 mov r6, #0x800 mov r4, #0x1000 b _021614dc _021614b4: add r0, r5, #0x18 mov r3, #0 mov r4, #0x800 add r1, sp, #0x20 mov r2, r0 str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] bl func_01ff9bc4 mov r6, #0x1000 _021614dc: add lr, r5, #0x18 ldmia lr, {r0, r1, r2} add ip, sp, #0x5c stmia ip, {r0, r1, r2} ldmia lr, {r0, r1, r2} add r3, sp, #0x50 stmia r3, {r0, r1, r2} mov r3, #0 add r1, sp, #0x14 mov r0, ip mov r2, ip str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] bl func_01ff9bf8 ldr r2, _0216159c ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] add r1, sp, #8 mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 add r1, sp, #0x5c str r0, [sp, #4] add ip, sp, #0x38 ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} add r4, sp, #0x50 add r3, sp, #0x44 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r5, #0x38 ldr r4, [r0] ldr r3, [sp, #4] ldr r4, [r4, #0x14] add r1, sp, #0x38 blx r4 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_02161454 _0216159c: .word 0x00001333 .global func_ov18_021615a0 arm_func_start func_ov18_021615a0 func_ov18_021615a0: ; 0x021615a0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] ldr r3, _021615f8 ; =data_02050f54 add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x64 ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, r4, #0x18 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_021615a0 _021615f8: .word data_02050f54 .global func_ov18_021615fc arm_func_start func_ov18_021615fc func_ov18_021615fc: ; 0x021615fc mov r0, #0x74 bx lr arm_func_end func_ov18_021615fc .global func_ov18_02161604 arm_func_start func_ov18_02161604 func_ov18_02161604: ; 0x02161604 stmdb sp!, {r4, lr} ldr r1, _02161638 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x70 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_0216163c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161604 _02161638: .word data_027e0f84 .global func_ov18_0216163c arm_func_start func_ov18_0216163c func_ov18_0216163c: ; 0x0216163c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _021616b0 ; =data_ov00_020e26b4 ldr r0, _021616b4 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _021616b8 ; =data_ov00_020e2dd8 str r2, [r4, #0x48] ldr r1, _021616bc ; =data_ov18_0216c95c str r0, [r4, #0x38] ldr r0, _021616c0 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x61 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x64 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216163c _021616b0: .word data_ov00_020e26b4 _021616b4: .word data_ov00_020e2f04 _021616b8: .word data_ov00_020e2dd8 _021616bc: .word data_ov18_0216c95c _021616c0: .word data_027e0f68 .global func_ov18_021616c4 arm_func_start func_ov18_021616c4 func_ov18_021616c4: ; 0x021616c4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021616c4 .global func_ov18_021616ec arm_func_start func_ov18_021616ec func_ov18_021616ec: ; 0x021616ec stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021616ec .global func_ov18_0216171c arm_func_start func_ov18_0216171c func_ov18_0216171c: ; 0x0216171c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r5, r0 ldr r1, [r5, #4] mov r0, #7 orr r1, r1, #4 str r1, [r5, #4] strb r0, [r5, #0x12] ldrsh r0, [r5, #0xc] bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _02161790 _02161750: ; jump table b _02161760 ; case 0 b _02161760 ; case 1 b _02161790 ; case 2 b _02161790 ; case 3 _02161760: add r0, r5, #0x18 mov r4, #0 mov r3, #0x800 add r1, sp, #0x2c mov r2, r0 str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] bl func_01ff9bc4 mov r6, #0x800 mov r4, #0x1000 b _021617b8 _02161790: add r0, r5, #0x18 mov r3, #0 mov r4, #0x800 add r1, sp, #0x20 mov r2, r0 str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] bl func_01ff9bc4 mov r6, #0x1000 _021617b8: add lr, r5, #0x18 ldmia lr, {r0, r1, r2} add ip, sp, #0x5c stmia ip, {r0, r1, r2} ldmia lr, {r0, r1, r2} add r3, sp, #0x50 stmia r3, {r0, r1, r2} mov r3, #0 add r1, sp, #0x14 mov r0, ip mov r2, ip str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] bl func_01ff9bf8 ldr r2, _021618a8 ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] add r1, sp, #8 mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 add r1, sp, #0x5c str r0, [sp, #4] add ip, sp, #0x38 ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} add r4, sp, #0x50 add r3, sp, #0x44 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 bl func_ov00_0208b9cc mov r2, r0 mov r0, #0 str r0, [sp] add r0, r5, #0x38 ldr r4, [r0] ldr r3, [sp, #4] ldr r4, [r4, #0x14] add r1, sp, #0x38 blx r4 ldr r1, [r5, #0x18] mov r0, r5 sub r1, r1, #4 str r1, [r5, #0x18] ldr r2, [r5, #0x20] mov r1, #0 sub r2, r2, #4 str r2, [r5, #0x20] ldr r3, [r0] mov r2, r1 ldr r3, [r3, #0x80] blx r3 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0216171c _021618a8: .word 0x00001333 .global func_ov18_021618ac arm_func_start func_ov18_021618ac func_ov18_021618ac: ; 0x021618ac mov r0, #0x800 bx lr arm_func_end func_ov18_021618ac .global func_ov18_021618b4 arm_func_start func_ov18_021618b4 func_ov18_021618b4: ; 0x021618b4 mov r0, #0 bx lr arm_func_end func_ov18_021618b4 .global func_ov18_021618bc arm_func_start func_ov18_021618bc func_ov18_021618bc: ; 0x021618bc stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldrne r0, [r4, #8] cmpne r0, #0 ldmeqia sp!, {r4, pc} cmp r0, #1 ldmneia sp!, {r4, pc} ldr r0, _02161930 ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 ldmneia sp!, {r4, pc} ldr r0, [r0, #0x44] cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov00_0208ba08 mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021618bc _02161930: .word data_027e0c68 .global func_ov18_02161934 arm_func_start func_ov18_02161934 func_ov18_02161934: ; 0x02161934 str r1, [r0, #8] cmp r1, #0 beq _02161954 cmp r1, #1 ldreq r1, [r0, #4] biceq r1, r1, #4 streq r1, [r0, #4] b _02161960 _02161954: ldr r1, [r0, #4] orr r1, r1, #4 str r1, [r0, #4] _02161960: mov r0, #1 bx lr arm_func_end func_ov18_02161934 .global func_ov18_02161968 arm_func_start func_ov18_02161968 func_ov18_02161968: ; 0x02161968 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #8] cmp r1, #0 bne _02161998 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldr r0, [r4, #0x30] ldmia sp!, {r4, pc} _02161998: mvn r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161968 .global func_ov18_021619a0 arm_func_start func_ov18_021619a0 func_ov18_021619a0: ; 0x021619a0 mov r0, #7 bx lr arm_func_end func_ov18_021619a0 .global func_ov18_021619a8 arm_func_start func_ov18_021619a8 func_ov18_021619a8: ; 0x021619a8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] ldr r3, _02161a00 ; =data_02050f54 add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x64 ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, r4, #0x18 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_021619a8 _02161a00: .word data_02050f54 .global func_ov18_02161a04 arm_func_start func_ov18_02161a04 func_ov18_02161a04: ; 0x02161a04 mov r0, #0x33 bx lr arm_func_end func_ov18_02161a04 .global func_ov18_02161a0c arm_func_start func_ov18_02161a0c func_ov18_02161a0c: ; 0x02161a0c stmdb sp!, {r4, lr} ldr r1, _02161a40 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x70 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02161a44 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161a0c _02161a40: .word data_027e0f84 .global func_ov18_02161a44 arm_func_start func_ov18_02161a44 func_ov18_02161a44: ; 0x02161a44 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _02161ab8 ; =data_ov00_020e26b4 ldr r0, _02161abc ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _02161ac0 ; =data_ov00_020e2dd8 str r2, [r4, #0x48] ldr r1, _02161ac4 ; =data_ov18_0216c9f0 str r0, [r4, #0x38] ldr r0, _02161ac8 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x57 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x64 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161a44 _02161ab8: .word data_ov00_020e26b4 _02161abc: .word data_ov00_020e2f04 _02161ac0: .word data_ov00_020e2dd8 _02161ac4: .word data_ov18_0216c9f0 _02161ac8: .word data_027e0f68 .global func_ov18_02161acc arm_func_start func_ov18_02161acc func_ov18_02161acc: ; 0x02161acc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161acc .global func_ov18_02161af4 arm_func_start func_ov18_02161af4 func_ov18_02161af4: ; 0x02161af4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161af4 .global func_ov18_02161b24 arm_func_start func_ov18_02161b24 func_ov18_02161b24: ; 0x02161b24 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r5, r0 ldrsh r0, [r5, #0xc] bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _02161b84 _02161b44: ; jump table b _02161b54 ; case 0 b _02161b54 ; case 1 b _02161b84 ; case 2 b _02161b84 ; case 3 _02161b54: add r0, r5, #0x18 mov r4, #0 mov r3, #0x800 add r1, sp, #0x2c mov r2, r0 str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] bl func_01ff9bc4 mov r6, #0x800 mov r4, #0x1000 b _02161bac _02161b84: add r0, r5, #0x18 mov r3, #0 mov r4, #0x800 add r1, sp, #0x20 mov r2, r0 str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] bl func_01ff9bc4 mov r6, #0x1000 _02161bac: add lr, r5, #0x18 ldmia lr, {r0, r1, r2} add ip, sp, #0x5c stmia ip, {r0, r1, r2} ldmia lr, {r0, r1, r2} add r3, sp, #0x50 stmia r3, {r0, r1, r2} mov r3, #0 add r1, sp, #0x14 mov r0, ip mov r2, ip str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] bl func_01ff9bf8 ldr r2, _02161c6c ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] add r1, sp, #8 mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 add r1, sp, #0x5c str r0, [sp, #4] add ip, sp, #0x38 ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} add r4, sp, #0x50 add r3, sp, #0x44 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r5, #0x38 ldr r4, [r0] ldr r3, [sp, #4] ldr r4, [r4, #0x14] add r1, sp, #0x38 blx r4 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_02161b24 _02161c6c: .word 0x00001333 .global func_ov18_02161c70 arm_func_start func_ov18_02161c70 func_ov18_02161c70: ; 0x02161c70 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] ldr r3, _02161cc8 ; =data_02050f54 add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x64 ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, r4, #0x18 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02161c70 _02161cc8: .word data_02050f54 .global func_ov18_02161ccc arm_func_start func_ov18_02161ccc func_ov18_02161ccc: ; 0x02161ccc mov r0, #0x75 bx lr arm_func_end func_ov18_02161ccc .global func_ov18_02161cd4 arm_func_start func_ov18_02161cd4 func_ov18_02161cd4: ; 0x02161cd4 stmdb sp!, {r4, lr} ldr r1, _02161d08 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x44 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02161d0c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161cd4 _02161d08: .word data_027e0f84 .global func_ov18_02161d0c arm_func_start func_ov18_02161d0c func_ov18_02161d0c: ; 0x02161d0c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _02161d50 ; =data_ov18_0216ca84 ldr r0, _02161d54 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x58 mov r2, #0 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x38 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161d0c _02161d50: .word data_ov18_0216ca84 _02161d54: .word data_027e0f68 .global func_ov18_02161d58 arm_func_start func_ov18_02161d58 func_ov18_02161d58: ; 0x02161d58 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 blx func_ov00_020b3ea8 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161d58 .global func_ov18_02161d78 arm_func_start func_ov18_02161d78 func_ov18_02161d78: ; 0x02161d78 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 blx func_ov00_020b3ea8 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161d78 .global func_ov18_02161da0 arm_func_start func_ov18_02161da0 func_ov18_02161da0: ; 0x02161da0 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldrsh r0, [r4, #0xc] bl func_0202bbbc cmp r0, #3 addls pc, pc, r0, lsl #2 b _02161e08 _02161dc0: ; jump table b _02161dd0 ; case 0 b _02161dd0 ; case 1 b _02161e08 ; case 2 b _02161e08 ; case 3 _02161dd0: add r0, r4, #0x18 mov lr, #0x1000 mov ip, #0 mov r3, #0x1800 add r1, sp, #0xc mov r2, r0 str lr, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] bl func_01ff9bc4 mov r0, #0x4000 add sp, sp, #0x18 strh r0, [r4, #0xc] ldmia sp!, {r4, pc} _02161e08: add r0, r4, #0x18 mov lr, #0x1800 mov ip, #0 mov r3, #0x1000 add r1, sp, #0 mov r2, r0 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] bl func_01ff9bc4 mov r0, #0 strh r0, [r4, #0xc] add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161da0 .global func_ov18_02161e40 arm_func_start func_ov18_02161e40 func_ov18_02161e40: ; 0x02161e40 mov r0, #1 bx lr arm_func_end func_ov18_02161e40 .global func_ov18_02161e48 arm_func_start func_ov18_02161e48 func_ov18_02161e48: ; 0x02161e48 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 ldr r1, [r4, #0x1c] ldr r2, [r4, #0x20] ldr r0, [r4, #0x18] add r1, r1, #0x52 str r0, [sp, #0x24] str r2, [sp, #0x2c] str r1, [sp, #0x28] ldrh r1, [r4, #0xc] ldr r3, _02161ebc ; =data_02050f54 add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x38 ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, sp, #0x24 blx r3 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161e48 _02161ebc: .word data_02050f54 .global func_ov18_02161ec0 arm_func_start func_ov18_02161ec0 func_ov18_02161ec0: ; 0x02161ec0 mov r0, #0x76 bx lr arm_func_end func_ov18_02161ec0 .global func_ov18_02161ec8 arm_func_start func_ov18_02161ec8 func_ov18_02161ec8: ; 0x02161ec8 stmdb sp!, {r4, lr} ldr r1, _02161efc ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x6c ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02161f00 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161ec8 _02161efc: .word data_027e0f84 .global func_ov18_02161f00 arm_func_start func_ov18_02161f00 func_ov18_02161f00: ; 0x02161f00 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _02161f84 ; =data_ov00_020e2748 ldr r0, _02161f88 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _02161f8c ; =data_ov00_020e2e3c str r2, [r4, #0x48] str r0, [r4, #0x38] str r2, [r4, #0x58] str r2, [r4, #0x4c] str r2, [r4, #0x50] ldr r1, _02161f90 ; =data_ov18_0216cb18 str r2, [r4, #0x54] ldr r0, _02161f94 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x55 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x60 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02161f00 _02161f84: .word data_ov00_020e2748 _02161f88: .word data_ov00_020e2f04 _02161f8c: .word data_ov00_020e2e3c _02161f90: .word data_ov18_0216cb18 _02161f94: .word data_027e0f68 .global func_ov18_02161f98 arm_func_start func_ov18_02161f98 func_ov18_02161f98: ; 0x02161f98 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x60 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161f98 .global func_ov18_02161fc0 arm_func_start func_ov18_02161fc0 func_ov18_02161fc0: ; 0x02161fc0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x60 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02161fc0 .global func_ov18_02161ff0 arm_func_start func_ov18_02161ff0 func_ov18_02161ff0: ; 0x02161ff0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x18] mov r2, #0 str r1, [sp, #8] ldr r1, [r4, #0x1c] bic r2, r2, #0x1f str r1, [sp, #0xc] orr ip, r2, #6 ldr r3, [r4, #0x20] ldr r1, _02162064 ; =0x00001333 mov r2, #0x800 str ip, [sp, #4] str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr r4, [r0] ldr r3, [sp, #4] ldr r4, [r4, #0x10] add r1, sp, #8 blx r4 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02161ff0 _02162064: .word 0x00001333 .global func_ov18_02162068 arm_func_start func_ov18_02162068 func_ov18_02162068: ; 0x02162068 stmdb sp!, {r3, lr} mov r1, r0 add r0, r1, #0x60 ldr r2, [r0] add r1, r1, #0x18 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov18_02162068 .global func_ov18_02162088 arm_func_start func_ov18_02162088 func_ov18_02162088: ; 0x02162088 mov r0, #0x73 bx lr arm_func_end func_ov18_02162088 .global func_ov18_02162090 arm_func_start func_ov18_02162090 func_ov18_02162090: ; 0x02162090 stmdb sp!, {r4, lr} ldr r1, _021620c4 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x7c ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_021620c8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02162090 _021620c4: .word data_027e0f84 .global func_ov18_021620c8 arm_func_start func_ov18_021620c8 func_ov18_021620c8: ; 0x021620c8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc mov r1, #0 ldr r2, _02162150 ; =data_ov00_020e2748 ldr r0, _02162154 ; =data_ov00_020e2f04 str r2, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] strb r1, [r4, #0x3d] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r0, _02162158 ; =data_ov00_020e2e3c str r1, [r4, #0x48] str r0, [r4, #0x38] str r1, [r4, #0x58] str r1, [r4, #0x4c] str r1, [r4, #0x50] ldr ip, _0216215c ; =data_ov18_0216cbac str r1, [r4, #0x54] mov r2, r1 mov r3, r1 add r0, r4, #0x60 str ip, [r4] blx func_ov00_020bd618 mov r1, #0 str r1, [r4, #0x6c] strh r1, [r4, #0x70] strh r1, [r4, #0x72] strh r1, [r4, #0x74] mov r0, r4 strb r1, [r4, #0x78] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021620c8 _02162150: .word data_ov00_020e2748 _02162154: .word data_ov00_020e2f04 _02162158: .word data_ov00_020e2e3c _0216215c: .word data_ov18_0216cbac .global func_ov18_02162160 arm_func_start func_ov18_02162160 func_ov18_02162160: ; 0x02162160 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x60 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02162160 .global func_ov18_02162188 arm_func_start func_ov18_02162188 func_ov18_02162188: ; 0x02162188 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x60 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02162188 .global func_ov18_021621b8 arm_func_start func_ov18_021621b8 func_ov18_021621b8: ; 0x021621b8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c ldr r1, _0216243c ; =data_027e0764 mov r2, #0 ldr r4, [r1] ldmib r1, {r3, r5} umull r7, r6, r5, r4 mla r6, r5, r3, r6 ldr r3, [r1, #0xc] ldr r5, [r1, #0x10] mla r6, r3, r4, r6 ldr r3, [r1, #0x14] adds r4, r5, r7 str r4, [r1] adc r6, r3, r6 mov sl, #0x15 umull r3, r5, r6, sl mla r5, r6, r2, r5 mov fp, r2 mla r5, fp, sl, r5 mov r4, r0 str r6, [r1, #4] ldr r6, [r4, #0x18] sub r5, r5, #0xa mov r3, #0x29 mla r3, r5, r3, r6 str r3, [r4, #0x18] bic r6, r2, #0x1f orr r6, r6, #6 bic r6, r6, #0x80000000 orr r6, r6, #0x80000000 ldr ip, [r1] ldmib r1, {r3, r5, lr} str r6, [sp, #4] umull r7, r6, r5, ip mla r6, r5, r3, r6 ldr sb, [r1, #0x10] mla r6, lr, ip, r6 ldr r8, [r1, #0x14] adds r3, sb, r7 adc r6, r8, r6 stmia r1, {r3, r6} umull r1, r3, r6, sl mla r3, r6, r2, r3 mla r3, fp, sl, r3 ldr r5, [r4, #0x20] sub r2, r3, #0xa mov r1, #0x29 mla r1, r2, r1, r5 str r1, [r4, #0x20] ldr r1, [r4, #0x18] str r1, [sp, #8] ldr r1, [r4, #0x1c] str r1, [sp, #0xc] ldr r1, [r4, #0x20] str r1, [sp, #0x10] ldr r1, _02162440 ; =0x0000059a str r1, [sp, #0x14] ldr r1, _02162444 ; =0x00002333 str r1, [sp, #0x18] bl func_ov00_0208b9cc mov r1, fp str r1, [sp] mov r2, r0 add r0, r4, #0x38 ldr r5, [r0] ldr r3, [sp, #4] ldr r5, [r5, #0x10] add r1, sp, #8 blx r5 ldrh r0, [r4, #0x24] str r0, [r4, #0x6c] ldrh r0, [r4, #0x26] strh r0, [r4, #0x76] ldrsh r0, [r4, #0x76] cmp r0, #6 movge r0, fp strgeh r0, [r4, #0x76] ldrsh r0, [r4, #0x76] cmp r0, #5 addls pc, pc, r0, lsl #2 b _021623f4 _02162300: ; jump table b _021623f4 ; case 0 b _02162318 ; case 1 b _02162344 ; case 2 b _02162370 ; case 3 b _0216239c ; case 4 b _021623c8 ; case 5 _02162318: ldr r0, _02162448 ; =data_027e0f68 mov r1, #0x17 ldr r0, [r0] mov r2, #1 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0216241c _02162344: ldr r0, _02162448 ; =data_027e0f68 mov r1, #0xc5 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0216241c _02162370: ldr r0, _02162448 ; =data_027e0f68 mov r1, #0xc6 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0216241c _0216239c: ldr r0, _02162448 ; =data_027e0f68 mov r1, #0x16 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0216241c _021623c8: ldr r0, _02162448 ; =data_027e0f68 mov r1, #0x17 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _0216241c _021623f4: ldr r0, _02162448 ; =data_027e0f68 mov r1, #0x15 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 _0216241c: mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021621b8 _0216243c: .word data_027e0764 _02162440: .word 0x0000059a _02162444: .word 0x00002333 _02162448: .word data_027e0f68 .global func_ov18_0216244c arm_func_start func_ov18_0216244c func_ov18_0216244c: ; 0x0216244c stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldrne r0, [r4, #8] cmpne r0, #0 cmpne r0, #1 ldmeqia sp!, {r4, pc} cmp r0, #2 ldmneia sp!, {r4, pc} ldrh r0, [r4, #0x74] ldr r1, _02162504 ; =0x00002ee0 ldr r2, _02162508 ; =data_02050f54 add r0, r0, #1 strh r0, [r4, #0x74] ldrh r3, [r4, #0x74] ldrsh ip, [r4, #0x70] add r0, r4, #0x70 mul r1, r3, r1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r2, [r2, r1] mov r3, ip, lsl #0xc mov r1, #0 smull ip, r2, r3, r2 adds r3, ip, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 mov r3, r3, asr #0xc mov r2, #0x64 strh r3, [r4, #0x72] bl func_0202b154 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216244c _02162504: .word 0x00002ee0 _02162508: .word data_02050f54 .global func_ov18_0216250c arm_func_start func_ov18_0216250c func_ov18_0216250c: ; 0x0216250c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 str r1, [r4, #8] cmp r1, #0 beq _02162538 cmp r1, #1 beq _02162544 cmp r1, #2 beq _021625e8 b _02162618 _02162538: mov r0, #0 strh r0, [r4, #0x70] b _02162618 _02162544: ldr r0, _02162624 ; =data_027e0ffc ldr r1, _02162628 ; =0x000001c5 add r2, r4, #0x18 mov r3, #0 bl func_ov00_020ceacc ldrsh r0, [r4, #0x76] cmp r0, #2 cmpne r0, #3 beq _021625cc ldr r1, [r4, #0x1c] ldr r2, [r4, #0x20] ldr r0, [r4, #0x18] add r1, r1, #0x800 str r0, [sp, #8] str r1, [sp, #0xc] str r2, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216262c ; =data_027e0e58 ldr r1, _02162630 ; =0x0000025f ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216262c ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x260 mov r3, #4 bl func_ov00_0207c1b0 _021625cc: mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 b _02162618 _021625e8: mov r1, #0 strh r1, [r4, #0x74] ldrb r2, [r4, #0x78] cmp r2, #0 beq _02162618 ldrsh r2, [r4, #0x70] cmp r2, #0 blt _02162610 bl func_ov18_021627dc b _02162618 _02162610: mov r1, #1 bl func_ov18_021627dc _02162618: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0216250c _02162624: .word data_027e0ffc _02162628: .word 0x000001c5 _0216262c: .word data_027e0e58 _02162630: .word 0x0000025f .global func_ov18_02162634 arm_func_start func_ov18_02162634 func_ov18_02162634: ; 0x02162634 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 ldr r0, [r5, #8] mov r4, r2 cmp r0, #0 beq _02162658 cmp r0, #2 b _02162708 _02162658: cmp r1, #0 bne _02162708 ldr r0, _02162714 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #4 bne _02162708 ldr r0, _02162718 ; =data_027e0fd0 ldr r0, [r0] cmp r0, #0 beq _02162708 ldr r0, [r0, #4] cmp r0, #0 bne _02162708 ldr r1, _0216271c ; =data_027e0f94 add r0, sp, #0 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp] str r2, [sp, #4] ldr r2, [r1, #8] add r1, r5, #0x18 str r2, [sp, #8] bl func_01ff9ec0 cmp r0, #0x1000 bgt _02162708 ldr r0, [r4] mov r1, #1 cmp r0, #0 ldrge r0, _02162720 ; =0xfffffaec ldrlt r0, _02162724 ; =0x00000514 strh r0, [r5, #0x70] strb r1, [r5, #0x78] ldr r0, _02162728 ; =data_027e0f64 mov r1, #0x11 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 mov r0, r5 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 _02162708: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02162634 _02162714: .word data_027e0fc8 _02162718: .word data_027e0fd0 _0216271c: .word data_027e0f94 _02162720: .word 0xfffffaec _02162724: .word 0x00000514 _02162728: .word data_027e0f64 .global func_ov18_0216272c arm_func_start func_ov18_0216272c func_ov18_0216272c: ; 0x0216272c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 mov r3, #0 mov r2, #0x1000 mov r5, r0 str r3, [sp, #8] str r3, [sp, #0xc] str r2, [sp, #0x10] ldrh r0, [r5, #0x72] mov r4, r1 ldr r3, _021627d0 ; =data_02050f54 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r1] mov r0, r0, lsl #0x1 ldrsh r3, [r3, r0] add r0, sp, #0x14 add r1, sp, #8 bl func_01ff8248 add r0, r5, #0x60 ldr r3, [r0] add r1, sp, #0x14 ldr r3, [r3, #0x14] add r2, r5, #0x18 blx r3 ldrsh ip, [r5, #0x76] mov r2, #0 ldr r3, _021627d4 ; =data_ov18_0216b514 str r2, [sp] mov r2, #0x1f str r2, [sp, #4] ldr r2, _021627d8 ; =data_ov18_0216b4fc ldr r3, [r3, ip, lsl #2] ldr r2, [r2, ip, lsl #2] mov r0, r5 mov r1, r4 bl func_ov00_0208b8e0 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216272c _021627d0: .word data_02050f54 _021627d4: .word data_ov18_0216b514 _021627d8: .word data_ov18_0216b4fc .global func_ov18_021627dc arm_func_start func_ov18_021627dc func_ov18_021627dc: ; 0x021627dc stmdb sp!, {r4, lr} sub sp, sp, #0x150 mov r4, r0 cmp r1, #0 ldr r1, [r4, #0x1c] ldr r0, [r4, #0x18] beq _02162814 ldr r2, [r4, #0x20] add r1, r1, #0x1800 add r0, r0, #0x1000 str r0, [sp, #0x144] str r1, [sp, #0x148] str r2, [sp, #0x14c] b _0216282c _02162814: ldr r2, [r4, #0x20] add r1, r1, #0x1800 sub r0, r0, #0x1000 str r0, [sp, #0x144] str r1, [sp, #0x148] str r2, [sp, #0x14c] _0216282c: ldr r0, [r4, #0x6c] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02162c90 _0216283c: ; jump table b _02162c90 ; case 0 b _0216285c ; case 1 b _02162968 ; case 2 b _02162b38 ; case 3 b _02162a60 ; case 4 b _02162acc ; case 5 b _02162c20 ; case 6 b _02162bac ; case 7 _0216285c: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084c94 cmp r0, #0 bne _02162950 add r0, sp, #0x118 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x118 str r1, [sp, #0x134] str r1, [sp, #0x138] bl func_ov00_020c3348 ldr r1, [r4, #0x1c] ldr r0, [r4, #0x18] ldr r2, [r4, #0x20] add r1, r1, #0x1800 add r0, r0, #0x1000 str r0, [sp, #0x144] str r1, [sp, #0x148] str r2, [sp, #0x14c] mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162ca8 ; =0x48415254 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0x118 bl func_ov00_020c4048 ldr r0, [r4, #0x1c] ldr r1, [r4, #0x18] ldr r3, [r4, #0x20] add r2, r0, #0x1800 sub r1, r1, #0x1000 str r2, [sp, #0x148] str r3, [sp, #0x14c] str r1, [sp, #0x144] mov r0, #0 str r0, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162ca8 ; =0x48415254 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0x118 bl func_ov00_020c4048 ldr r1, [r4, #0x20] ldr r0, [r4, #0x1c] add r3, r1, #0x1000 ldr r1, [r4, #0x18] add r2, r0, #0x1800 str r1, [sp, #0x144] str r2, [sp, #0x148] str r3, [sp, #0x14c] mov r0, #0 str r0, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162ca8 ; =0x48415254 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0x118 bl func_ov00_020c4048 _02162950: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084c7c b _02162c90 _02162968: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084c94 cmp r0, #0 bne _02162a48 add r0, sp, #0xec bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xec str r1, [sp, #0x108] str r1, [sp, #0x10c] bl func_ov00_020c3348 mov ip, #1 mov r3, #0 mov r2, #0x1800 mov r1, #0x1000 mov r0, r4 str ip, [sp, #0x110] str r3, [sp, #0xe0] str r2, [sp, #0xe4] str r1, [sp, #0xe8] bl func_ov00_0208b930 mov r1, r0 cmp r1, #0x4000 bgt _021629ec mov r0, #0x4000 rsb r0, r0, #0 cmp r1, r0 blt _021629ec add r0, sp, #0xe0 bl func_ov00_020a61ac b _02162a00 _021629ec: sub r0, r1, #0x8000 mov r1, r0, lsl #0x10 add r0, sp, #0xe0 mov r1, r1, asr #0x10 bl func_ov00_020a61ac _02162a00: ldr r1, [r4, #0x18] add r0, sp, #0x144 str r1, [sp, #0x144] ldr r2, [r4, #0x1c] add r1, sp, #0xe0 str r2, [sp, #0x148] ldr r3, [r4, #0x20] mov r2, r0 str r3, [sp, #0x14c] bl func_01ff9bc4 mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162cac ; =0x42454548 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0xec bl func_ov00_020c4048 _02162a48: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084c7c b _02162c90 _02162a60: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084c94 cmp r0, #0 bne _02162ab4 add r0, sp, #0xb4 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xb4 str r1, [sp, #0xd0] str r1, [sp, #0xd4] bl func_ov00_020c3348 mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162cb0 ; =0x424f4d42 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0xb4 bl func_ov00_020c4048 _02162ab4: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084c7c b _02162c90 _02162acc: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084c94 cmp r0, #0 bne _02162b20 add r0, sp, #0x88 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x88 str r1, [sp, #0xa4] str r1, [sp, #0xa8] bl func_ov00_020c3348 mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162cb4 ; =0x4f435441 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0x88 bl func_ov00_020c4048 _02162b20: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084c7c b _02162c90 _02162b38: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084cc8 cmp r0, #0 bne _02162b94 add r0, sp, #0x5c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x5c str r1, [sp, #0x78] str r1, [sp, #0x7c] bl func_ov00_020c3348 mov r0, #4 strh r0, [sp, #0x5c] mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162cb8 ; =0x52555059 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0x5c bl func_ov00_020c4048 _02162b94: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084cb0 b _02162c90 _02162bac: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084cc8 cmp r0, #0 bne _02162c08 add r0, sp, #0x30 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] str r1, [sp, #0x50] bl func_ov00_020c3348 mov r0, #2 strh r0, [sp, #0x30] mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162cb8 ; =0x52555059 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #0x30 bl func_ov00_020c4048 _02162c08: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084cb0 b _02162c90 _02162c20: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084cc8 cmp r0, #0 bne _02162c7c add r0, sp, #4 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] str r1, [sp, #0x24] bl func_ov00_020c3348 mov r0, #3 strh r0, [sp, #4] mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 ldr r1, _02162cb8 ; =0x52555059 ldr r0, [r0] add r2, sp, #0x144 add r3, sp, #4 bl func_ov00_020c4048 _02162c7c: ldr r0, _02162ca0 ; =data_027e0e60 ldrsh r1, [r4, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084cb0 _02162c90: mov r0, #0 str r0, [r4, #0x6c] add sp, sp, #0x150 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021627dc _02162ca0: .word data_027e0e60 _02162ca4: .word data_027e0fe8 _02162ca8: .word 0x48415254 _02162cac: .word 0x42454548 _02162cb0: .word 0x424f4d42 _02162cb4: .word 0x4f435441 _02162cb8: .word 0x52555059 .global func_ov18_02162cbc arm_func_start func_ov18_02162cbc func_ov18_02162cbc: ; 0x02162cbc mov r0, #0 bx lr arm_func_end func_ov18_02162cbc .global func_ov18_02162cc4 arm_func_start func_ov18_02162cc4 func_ov18_02162cc4: ; 0x02162cc4 stmdb sp!, {r4, lr} ldr r1, _02162cf8 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x80 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02162cfc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02162cc4 _02162cf8: .word data_027e0f84 .global func_ov18_02162cfc arm_func_start func_ov18_02162cfc func_ov18_02162cfc: ; 0x02162cfc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _02162d60 ; =data_ov00_020e2748 ldr r0, _02162d64 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r1, #0 strb r1, [r4, #0x3d] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r0, _02162d68 ; =data_ov00_020e2e3c str r1, [r4, #0x48] str r0, [r4, #0x38] str r1, [r4, #0x58] str r1, [r4, #0x4c] str r1, [r4, #0x50] ldr r0, _02162d6c ; =data_ov18_0216cc40 str r1, [r4, #0x54] str r0, [r4] mov r0, r4 strh r1, [r4, #0x78] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02162cfc _02162d60: .word data_ov00_020e2748 _02162d64: .word data_ov00_020e2f04 _02162d68: .word data_ov00_020e2e3c _02162d6c: .word data_ov18_0216cc40 .global func_ov18_02162d70 arm_func_start func_ov18_02162d70 func_ov18_02162d70: ; 0x02162d70 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02162d70 .global func_ov18_02162d90 arm_func_start func_ov18_02162d90 func_ov18_02162d90: ; 0x02162d90 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02162d90 .global func_ov18_02162db8 arm_func_start func_ov18_02162db8 func_ov18_02162db8: ; 0x02162db8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 ldr r2, [r0, #4] mov r1, #0 orr r3, r2, #0x40 mov r2, r0 str r3, [r2, #4] ldr r3, [r0] mov r2, r1 ldr r3, [r3, #0x80] str r0, [sp, #4] blx r3 ldr r0, _0216323c ; =0x40b00000 ldr r7, [sp, #4] ldr r5, _02163240 ; =0x47ae147b ldr r8, _02163244 ; =data_027e0764 mov r6, #0 sub r4, r0, #0xd00000 _02162e00: ldr r1, [r8] ldmib r8, {r0, r3} umull sl, sb, r3, r1 mla sb, r3, r0, sb ldr r2, [r8, #0xc] ldr ip, [r8, #0x10] mla sb, r2, r1, sb ldr fp, [r8, #0x14] adds sl, ip, sl adc sb, fp, sb mov r0, #0x15 umull r0, r2, sb, r0 mov r0, #0 str sl, [r8] mla r2, sb, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa str sb, [r8, #4] bl func_02001154 mov r3, r1 mov r2, r0 ldr r1, _02163248 ; =0x3fa47ae1 mov r0, r5 bl func_020011d0 mov r2, #0 mov r3, r2 bl func_02001cc0 ldr ip, [r8, #0x10] ldr fp, [r8, #0x14] bls _02162f04 ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r3, r1 mov r2, r0 ldr r1, _02163248 ; =0x3fa47ae1 mov r0, r5 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _0216323c ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, r0 mov r3, r1 mov r0, #0 mov r1, r4 bl func_02000c60 b _02162f7c _02162f04: ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r3, r1 mov r2, r0 ldr r1, _02163248 ; =0x3fa47ae1 mov r0, r5 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _0216323c ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, #0 mov r3, r4 bl func_020016e8 _02162f7c: bl func_0200107c str r0, [r7, #0x60] mov r0, #0 str r0, [r7, #0x64] ldr r1, [r8] ldmib r8, {r0, r3} umull sl, sb, r3, r1 mla sb, r3, r0, sb ldr r2, [r8, #0xc] ldr ip, [r8, #0x10] mla sb, r2, r1, sb ldr fp, [r8, #0x14] adds sl, ip, sl adc sb, fp, sb mov r0, #0x15 umull r0, r2, sb, r0 mov r0, #0 str sl, [r8] mla r2, sb, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa str sb, [r8, #4] bl func_02001154 mov r3, r1 mov r2, r0 ldr r1, _02163248 ; =0x3fa47ae1 mov r0, r5 bl func_020011d0 mov r2, #0 mov r3, r2 bl func_02001cc0 ldr ip, [r8, #0x10] ldr fp, [r8, #0x14] bls _02163090 ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r3, r1 mov r2, r0 ldr r1, _02163248 ; =0x3fa47ae1 mov r0, r5 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _0216323c ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, r0 mov r3, r1 mov r0, #0 mov r1, r4 bl func_02000c60 b _02163108 _02163090: ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r3, r1 mov r2, r0 ldr r1, _02163248 ; =0x3fa47ae1 mov r0, r5 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _0216323c ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, #0 mov r3, r4 bl func_020016e8 _02163108: bl func_0200107c str r0, [r7, #0x68] ldr r1, [r8] ldmib r8, {r0, r3} umull lr, ip, r3, r1 mla ip, r3, r0, ip ldr r2, [r8, #0xc] ldr sl, [r8, #0x10] mla ip, r2, r1, ip ldr sb, [r8, #0x14] adds r0, sl, lr adc r1, sb, ip stmia r8, {r0, r1} mov r0, #3 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #3 mla r2, r1, r0, r2 ldr fp, [sp, #4] ldr r0, _0216324c ; =data_ov18_0216b52c mov r1, r2, lsl #0x1 add fp, fp, r6, lsl #1 ldrsh r0, [r0, r1] add r6, r6, #1 add r7, r7, #0xc cmp r6, #2 strh r0, [fp, #0x7a] blt _02162e00 ldr r0, [sp, #4] mov r1, #0 ldr r0, [r0, #0x18] bic r1, r1, #0x1f str r0, [sp, #0xc] ldr r0, [sp, #4] orr r4, r1, #3 ldr r0, [r0, #0x1c] ldr r2, _02163250 ; =0x00000333 str r0, [sp, #0x10] ldr r0, [sp, #4] mov r1, #0x1000 ldr r3, [r0, #0x20] str r4, [sp, #8] str r3, [sp, #0x14] str r2, [sp, #0x18] str r1, [sp, #0x1c] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] ldr r0, [sp, #4] ldr r3, [sp, #8] ldr r4, [r0, #0x38]! add r1, sp, #0xc ldr r4, [r4, #0x10] blx r4 ldr r0, [sp, #4] mov r1, #0 strb r1, [r0, #0x3c] ldrh r1, [r0, #0x26] cmp r1, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _02163254 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #4] ldr r0, [r0, #4] bic r1, r0, #1 ldr r0, [sp, #4] str r1, [r0, #4] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02162db8 _0216323c: .word 0x40b00000 _02163240: .word 0x47ae147b _02163244: .word data_027e0764 _02163248: .word 0x3fa47ae1 _0216324c: .word data_ov18_0216b52c _02163250: .word 0x00000333 _02163254: .word data_027e0f74 .global func_ov18_02163258 arm_func_start func_ov18_02163258 func_ov18_02163258: ; 0x02163258 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] cmp r0, #1 beq _02163288 cmp r0, #3 ldmia sp!, {r4, pc} _02163288: mov r0, r4 bl func_ov18_02163680 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #3 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldmia sp!, {r4, pc} arm_func_end func_ov18_02163258 .global func_ov18_021632b4 arm_func_start func_ov18_021632b4 func_ov18_021632b4: ; 0x021632b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r2, [r5, #8] mov r4, r1 cmp r2, #3 addls pc, pc, r2, lsl #2 ldmia sp!, {r3, r4, r5, pc} _021632d0: ; jump table b _021632e0 ; case 0 b _021632f4 ; case 1 b _021632f4 ; case 2 b _021632f4 ; case 3 _021632e0: bl func_01ffa8d4 mov r0, r5 mov r1, r4 bl func_ov18_021632fc ldmia sp!, {r3, r4, r5, pc} _021632f4: bl func_ov18_021633d8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_021632b4 .global func_ov18_021632fc arm_func_start func_ov18_021632fc func_ov18_021632fc: ; 0x021632fc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x50 mov sl, r0 add r0, sp, #0x34 mov sb, r1 bl func_ov00_0207a13c ldr r2, _021633d0 ; =0x00000533 mov r3, #2 ldr r0, _021633d4 ; =0x020ec9d6 mov r1, r2, lsl #0x1 ldrh r4, [r0] mov r0, #5 mov r7, #0 strh r4, [sp, #0x34] mov r8, sl str r0, [sp, #0x38] str r3, [sp, #0x3c] str r3, [sp, #0x40] str r2, [sp, #0x48] str r1, [sp, #0x4c] add r6, sp, #0x28 mov r5, r7 mov r4, #0x20 add fp, sp, #0x34 _0216335c: ldr r0, [r8, #0x60] add r1, sp, #0x1c str r0, [sp, #0x1c] ldr r0, [r8, #0x64] mov r2, r6 str r0, [sp, #0x20] ldr r3, [r8, #0x68] add r0, sl, #0x18 str r3, [sp, #0x24] bl func_01ff9bc4 str r5, [sp] str r5, [sp, #4] str r5, [sp, #8] str r4, [sp, #0xc] str r4, [sp, #0x10] str fp, [sp, #0x14] str r5, [sp, #0x18] add r0, sl, r7, lsl #1 ldrsh r2, [r0, #0x7a] mov r0, sl mov r1, sb mov r3, r6 bl func_ov00_0208ba68 add r7, r7, #1 cmp r7, #2 add r8, r8, #0xc blt _0216335c add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021632fc _021633d0: .word 0x00000533 _021633d4: .word 0x020ec9d6 .global func_ov18_021633d8 arm_func_start func_ov18_021633d8 func_ov18_021633d8: ; 0x021633d8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x64 ldr r2, _021635c4 ; =0x020ec9d6 ldr r1, _021635c8 ; =data_ov00_020ec9d4 ldrh r3, [r2] ldrh r2, [r1] mov sl, r0 add r1, sp, #0x30 orr r0, r3, r2, lsl #16 orr r3, r0, #0x8000 mov r0, #0x30 mov r2, #1 str r3, [sp, #0x30] bl func_01ffa9fc mov r3, #0 add r1, sp, #0x2c mov r0, #0x31 mov r2, #1 str r3, [sp, #0x2c] bl func_01ffa9fc ldr r0, _021635cc ; =data_027e0d44 add r1, sp, #0x28 ldr r2, [r0] mov r0, #0x2a ldr r3, [r2, #0x148] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 bic r3, r3, #0xe0000000 orr r3, r3, #0x5200000 orr r3, r3, #0x10000000 str r3, [sp, #0x28] bl func_01ffa9fc ldr r0, _021635cc ; =data_027e0d44 add r1, sp, #0x24 ldr r2, [r0] mov r0, #0x2b ldr r3, [r2, #0x14c] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x11 str r3, [sp, #0x24] bl func_01ffa9fc ldr r1, _021635d0 ; =0x001e4081 mov r0, #0x29 str r1, [sp, #0x20] add r1, sp, #0x20 mov r2, #1 bl func_01ffa9fc mov r0, #0x1000 str r0, [sp, #0x40] str r0, [sp, #0x44] str r0, [sp, #0x48] mov r0, #0x1b add r1, sp, #0x40 mov r2, #3 bl func_01ffa9fc mov r7, #0x800 mov r8, #0 mov sb, sl rsb r7, r7, #0 add r6, sp, #0x4c add fp, sp, #0x58 mov r5, #4 mov r4, #0x20 _021634dc: ldr r2, [sb, #0x68] ldr r1, [sb, #0x60] add r0, sl, #0x18 str r1, [sp, #0x4c] str r2, [sp, #0x54] mov r1, r6 mov r2, fp str r7, [sp, #0x50] bl func_01ff9bc4 mov r1, #0 mov r0, #0x11 mov r2, r1 bl func_01ffa9fc ldr r1, [sp, #0x58] ldr r0, [sp, #0x5c] str r1, [sp, #0x34] ldr r1, [sp, #0x60] str r0, [sp, #0x38] str r1, [sp, #0x3c] mov r0, #0x1c add r1, sp, #0x34 mov r2, #3 bl func_01ffa9fc mov r0, #1 str r0, [sp, #0x1c] mov r0, #0x40 add r1, sp, #0x1c mov r2, #1 bl func_01ffa9fc str r5, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] str r0, [sp, #0xc] str r4, [sp, #0x10] mov r0, sl mov r1, #0 mov r2, #1 mov r3, #5 str r4, [sp, #0x14] bl func_ov00_0208c2d4 mov r1, #0 mov r0, #0x41 mov r2, r1 bl func_01ffa9fc mov r0, #1 str r0, [sp, #0x18] mov r0, #0x12 add r1, sp, #0x18 mov r2, #1 bl func_01ffa9fc add r8, r8, #1 add sb, sb, #0xc cmp r8, #2 blt _021634dc add sp, sp, #0x64 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021633d8 _021635c4: .word 0x020ec9d6 _021635c8: .word data_ov00_020ec9d4 _021635cc: .word data_027e0d44 _021635d0: .word 0x001e4081 .global func_ov18_021635d4 arm_func_start func_ov18_021635d4 func_ov18_021635d4: ; 0x021635d4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov r5, r0 str r1, [r5, #8] cmp r1, #1 beq _021635f4 cmp r1, #3 b _02163670 _021635f4: mov r4, #0 ldr r6, _0216367c ; =data_027e0e58 strh r4, [r5, #0x78] add sb, r5, #0x18 add sl, sp, #8 mov r8, r4 mov r7, #0x1ec mov fp, #4 _02163614: ldr r0, [r5, #0x64] ldr lr, [r5, #0x68] ldr r3, [r5, #0x60] add r0, r0, #0x9a add ip, r0, #0x500 mov r0, sl mov r1, sb mov r2, sl str r3, [sp, #8] str ip, [sp, #0xc] str lr, [sp, #0x10] bl func_01ff9bc4 str r8, [sp] str r8, [sp, #4] ldr r0, [r6] mov r1, r7 mov r2, sl mov r3, fp bl func_ov00_0207c1b0 add r4, r4, #1 cmp r4, #2 add r5, r5, #0xc blt _02163614 _02163670: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021635d4 _0216367c: .word data_027e0e58 .global func_ov18_02163680 arm_func_start func_ov18_02163680 func_ov18_02163680: ; 0x02163680 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x78] cmp r0, #4 bne _021636a8 ldrh r0, [r4, #0x24] ands r1, r0, #0xff moveq r1, #0x11 mov r0, r4 bl func_ov00_0208c4f8 _021636a8: ldrh r0, [r4, #0x78] cmp r0, #0x14 movhs r0, #1 addlo r0, r0, #1 strloh r0, [r4, #0x78] movlo r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_02163680 .global func_ov18_021636c4 arm_func_start func_ov18_021636c4 func_ov18_021636c4: ; 0x021636c4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #1 movge r0, #0 ldmgeia sp!, {r4, pc} ldr r0, _02163710 ; =data_027e0ffc ldr r1, _02163714 ; =0x000002a3 add r2, r4, #0x18 mov r3, #0 bl func_ov00_020ceacc mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021636c4 _02163710: .word data_027e0ffc _02163714: .word 0x000002a3 .global func_ov18_02163718 arm_func_start func_ov18_02163718 func_ov18_02163718: ; 0x02163718 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #1 movge r0, #0 ldmgeia sp!, {r4, pc} cmp r1, #0 beq _021637a8 cmp r1, #1 cmpne r1, #2 bne _02163758 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 b _021637a8 _02163758: ldr r0, _021637b0 ; =data_027e0fe4 ldr r0, [r0] bl func_ov00_020c35d8 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r1, [r0, #4] ldr r0, _021637b4 ; =0x424c5354 cmp r1, r0 ldrne r0, _021637b8 ; =0x424d524e cmpne r1, r0 ldrne r0, _021637bc ; =0x5342454d cmpne r1, r0 bne _021637a8 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 mov r0, #0 ldmia sp!, {r4, pc} _021637a8: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02163718 _021637b0: .word data_027e0fe4 _021637b4: .word 0x424c5354 _021637b8: .word 0x424d524e _021637bc: .word 0x5342454d .global func_ov18_021637c0 arm_func_start func_ov18_021637c0 func_ov18_021637c0: ; 0x021637c0 stmdb sp!, {r3, lr} cmp r2, #1 mvngt r0, #0 ldmgtia sp!, {r3, pc} ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov18_021637c0 .global func_ov18_021637e4 arm_func_start func_ov18_021637e4 func_ov18_021637e4: ; 0x021637e4 mov r0, #1 bx lr arm_func_end func_ov18_021637e4 .global func_ov18_021637ec arm_func_start func_ov18_021637ec func_ov18_021637ec: ; 0x021637ec stmdb sp!, {r4, lr} ldr r1, _02163820 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x80 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02163824 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021637ec _02163820: .word data_027e0f84 .global func_ov18_02163824 arm_func_start func_ov18_02163824 func_ov18_02163824: ; 0x02163824 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _02163888 ; =data_ov00_020e2748 ldr r0, _0216388c ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r1, #0 strb r1, [r4, #0x3d] str r1, [r4, #0x40] str r1, [r4, #0x44] ldr r0, _02163890 ; =data_ov00_020e2e3c str r1, [r4, #0x48] str r0, [r4, #0x38] str r1, [r4, #0x58] str r1, [r4, #0x4c] str r1, [r4, #0x50] ldr r0, _02163894 ; =data_ov18_0216ccd4 str r1, [r4, #0x54] str r0, [r4] mov r0, r4 strh r1, [r4, #0x78] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02163824 _02163888: .word data_ov00_020e2748 _0216388c: .word data_ov00_020e2f04 _02163890: .word data_ov00_020e2e3c _02163894: .word data_ov18_0216ccd4 .global func_ov18_02163898 arm_func_start func_ov18_02163898 func_ov18_02163898: ; 0x02163898 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02163898 .global func_ov18_021638b8 arm_func_start func_ov18_021638b8 func_ov18_021638b8: ; 0x021638b8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021638b8 .global func_ov18_021638e0 arm_func_start func_ov18_021638e0 func_ov18_021638e0: ; 0x021638e0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 mov r7, r0 blx r3 ldr r0, _02163d48 ; =0x40b00000 ldr r8, _02163d4c ; =data_027e0764 mov r6, r7 mov r5, #0 sub r4, r0, #0xd00000 _02163914: ldr r1, [r8] ldmib r8, {r0, r3} umull sl, sb, r3, r1 mla sb, r3, r0, sb ldr r2, [r8, #0xc] ldr ip, [r8, #0x10] mla sb, r2, r1, sb ldr fp, [r8, #0x14] adds sl, ip, sl adc sb, fp, sb mov r0, #0x15 umull r0, r2, sb, r0 mov r0, #0 str sl, [r8] mla r2, sb, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa str sb, [r8, #4] bl func_02001154 mov r2, r0 mov r3, r1 ldr r0, _02163d50 ; =0x47ae147b ldr r1, _02163d54 ; =0x3fa47ae1 bl func_020011d0 mov r2, #0 mov r3, r2 bl func_02001cc0 ldr ip, [r8, #0x10] ldr fp, [r8, #0x14] bls _02163a18 ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r2, r0 mov r3, r1 ldr r0, _02163d50 ; =0x47ae147b ldr r1, _02163d54 ; =0x3fa47ae1 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _02163d48 ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, r0 mov r3, r1 mov r0, #0 mov r1, r4 bl func_02000c60 b _02163a90 _02163a18: ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r2, r0 mov r3, r1 ldr r0, _02163d50 ; =0x47ae147b ldr r1, _02163d54 ; =0x3fa47ae1 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _02163d48 ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, #0 mov r3, r4 bl func_020016e8 _02163a90: bl func_0200107c str r0, [r6, #0x60] mov r0, #0 str r0, [r6, #0x64] ldr r1, [r8] ldmib r8, {r0, r3} umull sl, sb, r3, r1 mla sb, r3, r0, sb ldr r2, [r8, #0xc] ldr ip, [r8, #0x10] mla sb, r2, r1, sb ldr fp, [r8, #0x14] adds sl, ip, sl adc sb, fp, sb mov r0, #0x15 umull r0, r2, sb, r0 mov r0, #0 str sl, [r8] mla r2, sb, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa str sb, [r8, #4] bl func_02001154 mov r2, r0 mov r3, r1 ldr r0, _02163d50 ; =0x47ae147b ldr r1, _02163d54 ; =0x3fa47ae1 bl func_020011d0 mov r2, #0 mov r3, r2 bl func_02001cc0 ldr ip, [r8, #0x10] ldr fp, [r8, #0x14] bls _02163ba4 ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r2, r0 mov r3, r1 ldr r0, _02163d50 ; =0x47ae147b ldr r1, _02163d54 ; =0x3fa47ae1 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _02163d48 ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, r0 mov r3, r1 mov r0, #0 mov r1, r4 bl func_02000c60 b _02163c1c _02163ba4: ldr r1, [r8, #8] ldr r0, [r8, #0xc] umull r3, r2, r1, sl mla r2, r1, sb, r2 mla r2, r0, sl, r2 adds r0, ip, r3 adc r1, fp, r2 stmia r8, {r0, r1} mov r0, #0x15 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #0x15 mla r2, r1, r0, r2 sub r0, r2, #0xa bl func_02001154 mov r2, r0 mov r3, r1 ldr r0, _02163d50 ; =0x47ae147b ldr r1, _02163d54 ; =0x3fa47ae1 bl func_020011d0 mov r3, r1 mov r2, r0 ldr r1, _02163d48 ; =0x40b00000 mov r0, #0 bl func_020011d0 mov r2, #0 mov r3, r4 bl func_020016e8 _02163c1c: bl func_0200107c str r0, [r6, #0x68] cmp r5, #0 bne _02163c3c add r1, r7, r5, lsl #1 mov r0, #0x27 strh r0, [r1, #0x7a] b _02163c98 _02163c3c: ldr r1, [r8] ldmib r8, {r0, r3} umull lr, ip, r3, r1 mla ip, r3, r0, ip ldr r2, [r8, #0xc] ldr sl, [r8, #0x10] mla ip, r2, r1, ip ldr sb, [r8, #0x14] adds r0, sl, lr adc r1, sb, ip stmia r8, {r0, r1} mov r0, #3 umull r0, r2, r1, r0 mov r0, #0 mla r2, r1, r0, r2 mov r1, r0 mov r0, #3 mla r2, r1, r0, r2 ldr r0, _02163d58 ; =data_ov18_0216b534 mov r1, r2, lsl #0x1 ldrsh r0, [r0, r1] add fp, r7, r5, lsl #1 strh r0, [fp, #0x7a] _02163c98: add r6, r6, #0xc add r5, r5, #1 cmp r5, #2 blt _02163914 ldr r0, [r7, #0x18] mov r1, #0 str r0, [sp, #8] ldr r0, [r7, #0x1c] bic r1, r1, #0x1f str r0, [sp, #0xc] orr r4, r1, #3 ldr r3, [r7, #0x20] ldr r2, _02163d5c ; =0x00000333 mov r1, #0x1000 mov r0, r7 str r4, [sp, #4] str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r7, #0x38 ldr r4, [r0] ldr r3, [sp, #4] ldr r4, [r4, #0x10] add r1, sp, #8 blx r4 mov r0, #0 strb r0, [r7, #0x3c] ldrh r1, [r7, #0x26] cmp r1, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _02163d60 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 ldreq r0, [r7, #4] biceq r0, r0, #1 streq r0, [r7, #4] add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021638e0 _02163d48: .word 0x40b00000 _02163d4c: .word data_027e0764 _02163d50: .word 0x47ae147b _02163d54: .word 0x3fa47ae1 _02163d58: .word data_ov18_0216b534 _02163d5c: .word 0x00000333 _02163d60: .word data_027e0f74 .global func_ov18_02163d64 arm_func_start func_ov18_02163d64 func_ov18_02163d64: ; 0x02163d64 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] cmp r0, #1 beq _02163d94 cmp r0, #3 ldmia sp!, {r4, pc} _02163d94: mov r0, r4 bl func_ov18_0216418c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #3 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldmia sp!, {r4, pc} arm_func_end func_ov18_02163d64 .global func_ov18_02163dc0 arm_func_start func_ov18_02163dc0 func_ov18_02163dc0: ; 0x02163dc0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r2, [r5, #8] mov r4, r1 cmp r2, #3 addls pc, pc, r2, lsl #2 ldmia sp!, {r3, r4, r5, pc} _02163ddc: ; jump table b _02163dec ; case 0 b _02163e00 ; case 1 b _02163e00 ; case 2 b _02163e00 ; case 3 _02163dec: bl func_01ffa8d4 mov r0, r5 mov r1, r4 bl func_ov18_02163e08 ldmia sp!, {r3, r4, r5, pc} _02163e00: bl func_ov18_02163ee4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_02163dc0 .global func_ov18_02163e08 arm_func_start func_ov18_02163e08 func_ov18_02163e08: ; 0x02163e08 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x50 mov sl, r0 add r0, sp, #0x34 mov sb, r1 bl func_ov00_0207a13c ldr r2, _02163edc ; =0x00000533 mov r3, #2 ldr r0, _02163ee0 ; =0x020ec9d6 mov r1, r2, lsl #0x1 ldrh r4, [r0] mov r0, #5 mov r7, #0 strh r4, [sp, #0x34] mov r8, sl str r0, [sp, #0x38] str r3, [sp, #0x3c] str r3, [sp, #0x40] str r2, [sp, #0x48] str r1, [sp, #0x4c] add r6, sp, #0x28 mov r5, r7 mov r4, #0x20 add fp, sp, #0x34 _02163e68: ldr r0, [r8, #0x60] add r1, sp, #0x1c str r0, [sp, #0x1c] ldr r0, [r8, #0x64] mov r2, r6 str r0, [sp, #0x20] ldr r3, [r8, #0x68] add r0, sl, #0x18 str r3, [sp, #0x24] bl func_01ff9bc4 str r5, [sp] str r5, [sp, #4] str r5, [sp, #8] str r4, [sp, #0xc] str r4, [sp, #0x10] str fp, [sp, #0x14] str r5, [sp, #0x18] add r0, sl, r7, lsl #1 ldrsh r2, [r0, #0x7a] mov r0, sl mov r1, sb mov r3, r6 bl func_ov00_0208ba68 add r7, r7, #1 cmp r7, #2 add r8, r8, #0xc blt _02163e68 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02163e08 _02163edc: .word 0x00000533 _02163ee0: .word 0x020ec9d6 .global func_ov18_02163ee4 arm_func_start func_ov18_02163ee4 func_ov18_02163ee4: ; 0x02163ee4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x64 ldr r2, _021640d0 ; =0x020ec9d6 ldr r1, _021640d4 ; =data_ov00_020ec9d4 ldrh r3, [r2] ldrh r2, [r1] mov sl, r0 add r1, sp, #0x30 orr r0, r3, r2, lsl #16 orr r3, r0, #0x8000 mov r0, #0x30 mov r2, #1 str r3, [sp, #0x30] bl func_01ffa9fc mov r3, #0 add r1, sp, #0x2c mov r0, #0x31 mov r2, #1 str r3, [sp, #0x2c] bl func_01ffa9fc ldr r0, _021640d8 ; =data_027e0d44 add r1, sp, #0x28 ldr r2, [r0] mov r0, #0x2a ldr r3, [r2, #0x148] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 bic r3, r3, #0xe0000000 orr r3, r3, #0x5200000 orr r3, r3, #0x10000000 str r3, [sp, #0x28] bl func_01ffa9fc ldr r0, _021640d8 ; =data_027e0d44 add r1, sp, #0x24 ldr r2, [r0] mov r0, #0x2b ldr r3, [r2, #0x14c] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x11 str r3, [sp, #0x24] bl func_01ffa9fc ldr r1, _021640dc ; =0x001e4081 mov r0, #0x29 str r1, [sp, #0x20] add r1, sp, #0x20 mov r2, #1 bl func_01ffa9fc mov r0, #0x1000 str r0, [sp, #0x40] str r0, [sp, #0x44] str r0, [sp, #0x48] mov r0, #0x1b add r1, sp, #0x40 mov r2, #3 bl func_01ffa9fc mov r7, #0x800 mov r8, #0 mov sb, sl rsb r7, r7, #0 add r6, sp, #0x4c add fp, sp, #0x58 mov r5, #4 mov r4, #0x20 _02163fe8: ldr r2, [sb, #0x68] ldr r1, [sb, #0x60] add r0, sl, #0x18 str r1, [sp, #0x4c] str r2, [sp, #0x54] mov r1, r6 mov r2, fp str r7, [sp, #0x50] bl func_01ff9bc4 mov r1, #0 mov r0, #0x11 mov r2, r1 bl func_01ffa9fc ldr r1, [sp, #0x58] ldr r0, [sp, #0x5c] str r1, [sp, #0x34] ldr r1, [sp, #0x60] str r0, [sp, #0x38] str r1, [sp, #0x3c] mov r0, #0x1c add r1, sp, #0x34 mov r2, #3 bl func_01ffa9fc mov r0, #1 str r0, [sp, #0x1c] mov r0, #0x40 add r1, sp, #0x1c mov r2, #1 bl func_01ffa9fc str r5, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] str r0, [sp, #0xc] str r4, [sp, #0x10] mov r0, sl mov r1, #0 mov r2, #1 mov r3, #5 str r4, [sp, #0x14] bl func_ov00_0208c2d4 mov r1, #0 mov r0, #0x41 mov r2, r1 bl func_01ffa9fc mov r0, #1 str r0, [sp, #0x18] mov r0, #0x12 add r1, sp, #0x18 mov r2, #1 bl func_01ffa9fc add r8, r8, #1 add sb, sb, #0xc cmp r8, #2 blt _02163fe8 add sp, sp, #0x64 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02163ee4 _021640d0: .word 0x020ec9d6 _021640d4: .word data_ov00_020ec9d4 _021640d8: .word data_027e0d44 _021640dc: .word 0x001e4081 .global func_ov18_021640e0 arm_func_start func_ov18_021640e0 func_ov18_021640e0: ; 0x021640e0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov r5, r0 str r1, [r5, #8] cmp r1, #1 beq _02164100 cmp r1, #3 b _0216417c _02164100: mov r4, #0 ldr r6, _02164188 ; =data_027e0e58 strh r4, [r5, #0x78] add sb, r5, #0x18 add sl, sp, #8 mov r8, r4 mov r7, #0x1ec mov fp, #4 _02164120: ldr r0, [r5, #0x64] ldr lr, [r5, #0x68] ldr r3, [r5, #0x60] add r0, r0, #0x9a add ip, r0, #0x500 mov r0, sl mov r1, sb mov r2, sl str r3, [sp, #8] str ip, [sp, #0xc] str lr, [sp, #0x10] bl func_01ff9bc4 str r8, [sp] str r8, [sp, #4] ldr r0, [r6] mov r1, r7 mov r2, sl mov r3, fp bl func_ov00_0207c1b0 add r4, r4, #1 cmp r4, #2 add r5, r5, #0xc blt _02164120 _0216417c: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021640e0 _02164188: .word data_027e0e58 .global func_ov18_0216418c arm_func_start func_ov18_0216418c func_ov18_0216418c: ; 0x0216418c stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x78] cmp r0, #8 bne _021641b4 ldrh r0, [r4, #0x24] ands r1, r0, #0xff moveq r1, #0x11 mov r0, r4 bl func_ov00_0208c4f8 _021641b4: ldrh r0, [r4, #0x78] cmp r0, #0x14 movhs r0, #1 addlo r0, r0, #1 strloh r0, [r4, #0x78] movlo r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216418c .global func_ov18_021641d0 arm_func_start func_ov18_021641d0 func_ov18_021641d0: ; 0x021641d0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #1 movge r0, #0 ldmgeia sp!, {r4, pc} ldr r0, _0216421c ; =data_027e0ffc ldr r1, _02164220 ; =0x000002a3 add r2, r4, #0x18 mov r3, #0 bl func_ov00_020ceacc mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021641d0 _0216421c: .word data_027e0ffc _02164220: .word 0x000002a3 .global func_ov18_02164224 arm_func_start func_ov18_02164224 func_ov18_02164224: ; 0x02164224 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #4 addls pc, pc, r1, lsl #2 b _0216425c _02164238: ; jump table b _021642ac ; case 0 b _0216424c ; case 1 b _0216424c ; case 2 b _021642ac ; case 3 b _021642ac ; case 4 _0216424c: ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 b _021642ac _0216425c: ldr r0, _021642b4 ; =data_027e0fe4 ldr r0, [r0] bl func_ov00_020c35d8 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r1, [r0, #4] ldr r0, _021642b8 ; =0x424c5354 cmp r1, r0 ldrne r0, _021642bc ; =0x424d524e cmpne r1, r0 ldrne r0, _021642c0 ; =0x5342454d cmpne r1, r0 bne _021642ac mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 mov r0, #0 ldmia sp!, {r4, pc} _021642ac: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02164224 _021642b4: .word data_027e0fe4 _021642b8: .word 0x424c5354 _021642bc: .word 0x424d524e _021642c0: .word 0x5342454d .global func_ov18_021642c4 arm_func_start func_ov18_021642c4 func_ov18_021642c4: ; 0x021642c4 stmdb sp!, {r3, lr} cmp r2, #1 mvngt r0, #0 ldmgtia sp!, {r3, pc} ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov18_021642c4 .global func_ov18_021642e8 arm_func_start func_ov18_021642e8 func_ov18_021642e8: ; 0x021642e8 mov r0, #0x38 bx lr arm_func_end func_ov18_021642e8 .global func_ov18_021642f0 arm_func_start func_ov18_021642f0 func_ov18_021642f0: ; 0x021642f0 stmdb sp!, {r4, lr} ldr r1, _02164324 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x7c ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02164328 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021642f0 _02164324: .word data_027e0f84 .global func_ov18_02164328 arm_func_start func_ov18_02164328 func_ov18_02164328: ; 0x02164328 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146c54 ldr r1, _0216437c ; =data_ov18_0216cd68 ldr r0, _02164380 ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0xf mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x68 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, _02164384 ; =0x54415255 ldr r1, _02164388 ; =0x000001f7 str r0, [r4, #0x60] mov r0, r4 strh r1, [r4, #0x64] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02164328 _0216437c: .word data_ov18_0216cd68 _02164380: .word data_027e0f68 _02164384: .word 0x54415255 _02164388: .word 0x000001f7 .global func_ov18_0216438c arm_func_start func_ov18_0216438c func_ov18_0216438c: ; 0x0216438c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146d20 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216438c .global func_ov18_021643a0 arm_func_start func_ov18_021643a0 func_ov18_021643a0: ; 0x021643a0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146d20 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021643a0 .global func_ov18_021643bc arm_func_start func_ov18_021643bc func_ov18_021643bc: ; 0x021643bc stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x18] mov r2, #0 str r1, [sp, #8] ldr r1, [r4, #0x1c] bic r2, r2, #0x1f str r1, [sp, #0xc] orr r1, r2, #0x20000006 bic r1, r1, #0x80000000 orr ip, r1, #0x80000000 ldr r3, [r4, #0x20] mov r2, #0x800 mov r1, #0x1000 str ip, [sp, #4] str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr ip, [r0] ldr r3, [sp, #4] ldr ip, [ip, #0x10] add r1, sp, #8 blx ip mov r0, r4 bl func_ov14_02146d48 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} arm_func_end func_ov18_021643bc .global func_ov18_02164440 arm_func_start func_ov18_02164440 func_ov18_02164440: ; 0x02164440 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 cmp r1, #0 bne _0216447c ldr r3, [r2] add r1, sp, #0 str r3, [sp] ldr r3, [r2, #4] str r3, [sp, #4] ldr r2, [r2, #8] str r2, [sp, #8] bl func_ov14_02147584 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _0216447c: cmp r1, #0xb blt _0216452c ldr r0, _02164538 ; =data_027e0fe4 ldr r0, [r0] bl func_ov00_020c35d8 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r3, r4, pc} ldr r1, [r0, #4] ldr r0, _0216453c ; =0x424c5354 cmp r1, r0 bhi _021644c4 bhs _021644e4 ldr r0, _02164540 ; =0x41525257 cmp r1, r0 beq _02164508 b _0216452c _021644c4: ldr r0, _02164544 ; =0x424d524e cmp r1, r0 bhi _021644d8 beq _021644e4 b _0216452c _021644d8: ldr r0, _02164548 ; =0x5342454d cmp r1, r0 bne _0216452c _021644e4: mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0xc mov r0, #0 ldmia sp!, {r3, r4, pc} _02164508: mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0xc mov r0, #1 ldmia sp!, {r3, r4, pc} _0216452c: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02164440 _02164538: .word data_027e0fe4 _0216453c: .word 0x424c5354 _02164540: .word 0x41525257 _02164544: .word 0x424d524e _02164548: .word 0x5342454d .global func_ov18_0216454c arm_func_start func_ov18_0216454c func_ov18_0216454c: ; 0x0216454c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 ldr r0, _02164658 ; =data_027e0ffc add r2, r4, #0x18 mov r1, #0x1f8 mov r3, #0 bl func_ov00_020ceacc ldr r0, _0216465c ; =data_027e1038 add r1, r4, #0x18 ldr r0, [r0] bl func_ov00_020cef10 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x74] ldr r3, [r4, #0x20] ldr r0, [r4, #0x18] add r1, r2, r1 str r0, [sp, #8] str r1, [sp, #0xc] str r3, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02164660 ; =data_027e0e58 ldr r1, _02164664 ; =0x000001c7 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02164660 ; =data_027e0e58 mov r1, #0x1c8 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02164660 ; =data_027e0e58 ldr r1, _02164668 ; =0x000001c9 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02164660 ; =data_027e0e58 ldr r1, _0216466c ; =0x000001ca ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02164660 ; =data_027e0e58 ldr r1, _02164670 ; =0x000001a3 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0216454c _02164658: .word data_027e0ffc _0216465c: .word data_027e1038 _02164660: .word data_027e0e58 _02164664: .word 0x000001c7 _02164668: .word 0x000001c9 _0216466c: .word 0x000001ca _02164670: .word 0x000001a3 .global func_ov18_02164674 arm_func_start func_ov18_02164674 func_ov18_02164674: ; 0x02164674 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 ldr r2, [r0] mov r5, r0 ldr r2, [r2, #0x88] mov r4, r1 blx r2 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, _021646dc ; =0x00000733 mov r3, #0 mov r0, r5 mov r1, r4 str r3, [sp] mov ip, #0x1f sub r3, r2, #0x170 str ip, [sp, #4] bl func_ov00_0208b8e0 add r0, r5, #0x68 ldr r2, [r0] add r1, r5, #0x18 ldr r2, [r2, #0x18] blx r2 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02164674 _021646dc: .word 0x00000733 .global func_ov18_021646e0 arm_func_start func_ov18_021646e0 func_ov18_021646e0: ; 0x021646e0 mov r0, #0x35 bx lr arm_func_end func_ov18_021646e0 .global func_ov18_021646e8 arm_func_start func_ov18_021646e8 func_ov18_021646e8: ; 0x021646e8 stmdb sp!, {r3, lr} ldr r1, [r0] ldr r1, [r1, #0x28] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov18_021646e8 .global func_ov18_021646fc arm_func_start func_ov18_021646fc func_ov18_021646fc: ; 0x021646fc stmdb sp!, {r4, lr} ldr r1, _02164730 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x74 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_02164734 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021646fc _02164730: .word data_027e0f84 .global func_ov18_02164734 arm_func_start func_ov18_02164734 func_ov18_02164734: ; 0x02164734 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _021647c4 ; =data_ov00_020e2748 ldr r0, _021647c8 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _021647cc ; =data_ov00_020e2e3c str r2, [r4, #0x48] str r0, [r4, #0x38] str r2, [r4, #0x58] str r2, [r4, #0x4c] str r2, [r4, #0x50] ldr r0, _021647d0 ; =data_ov18_0216ce00 str r2, [r4, #0x54] str r0, [r4] mov r0, #0x1000 str r0, [r4, #0x60] ldr r0, _021647d4 ; =data_027e0f68 str r2, [r4, #0x64] ldr r0, [r0] mov r1, #0xab bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x68 blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02164734 _021647c4: .word data_ov00_020e2748 _021647c8: .word data_ov00_020e2f04 _021647cc: .word data_ov00_020e2e3c _021647d0: .word data_ov18_0216ce00 _021647d4: .word data_027e0f68 .global func_ov18_021647d8 arm_func_start func_ov18_021647d8 func_ov18_021647d8: ; 0x021647d8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x68 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021647d8 .global func_ov18_02164800 arm_func_start func_ov18_02164800 func_ov18_02164800: ; 0x02164800 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x68 blx func_ov00_020b3ea8 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02164800 .global func_ov18_02164830 arm_func_start func_ov18_02164830 func_ov18_02164830: ; 0x02164830 mov r0, #0x61 bx lr arm_func_end func_ov18_02164830 .global func_ov18_02164838 arm_func_start func_ov18_02164838 func_ov18_02164838: ; 0x02164838 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #4] mov r2, #0 orr r1, r1, #0x200 str r1, [r4, #4] mov r1, #1 strb r1, [r4, #0x12] ldr r1, [r4, #0x18] bic r2, r2, #0x1f str r1, [sp, #8] ldr r1, [r4, #0x1c] orr ip, r2, #5 str r1, [sp, #0xc] ldr r3, [r4, #0x20] ldr r1, _0216491c ; =0x00001333 mov r2, #0x800 str ip, [sp, #4] str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr ip, [r0] ldr r3, [sp, #4] ldr ip, [ip, #0x10] add r1, sp, #8 blx ip mov r1, #0 strb r1, [r4, #0x3c] ldrh r0, [r4, #0x26] cmp r0, #1 beq _021648dc mov r0, r4 bl func_ov00_0208b9e4 cmp r0, #0 beq _021648fc _021648dc: mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} _021648fc: mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02164838 _0216491c: .word 0x00001333 .global func_ov18_02164920 arm_func_start func_ov18_02164920 func_ov18_02164920: ; 0x02164920 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldrne r0, [r4, #8] cmpne r0, #0 ldmeqia sp!, {r4, pc} cmp r0, #1 beq _02164954 cmp r0, #2 ldmia sp!, {r4, pc} _02164954: ldr r2, _0216499c ; =0x00000266 add r0, r4, #0x60 mov r1, #0x1000 bl func_0202b0f4 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x64] add r0, r0, #1 str r0, [r4, #0x64] cmp r0, #0xa ldmloia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02164920 _0216499c: .word 0x00000266 .global func_ov18_021649a0 arm_func_start func_ov18_021649a0 func_ov18_021649a0: ; 0x021649a0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x2c mov r5, r0 mov r4, r2 str r1, [r5, #8] cmp r1, #0 beq _021649d0 cmp r1, #1 beq _021649f8 cmp r1, #2 beq _02164a5c b _02164b10 _021649d0: mov r1, #0 str r1, [r5, #0x60] strb r1, [r5, #0x3c] ldr r3, [r5, #4] mov r2, r1 orr r3, r3, #0x200 bic r3, r3, #8 str r3, [r5, #4] bl func_ov00_0208ba08 b _02164b10 _021649f8: ldr r0, [r5, #4] ldr r3, _02164b1c ; =0x00000b33 bic r0, r0, #0x200 orr r0, r0, #8 str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x60] str r0, [r5, #0x64] ldr r0, [r5, #0x18] add r2, r3, #0x800 str r0, [sp, #0x18] ldr r1, [r5, #0x1c] add r0, r5, #0x38 str r1, [sp, #0x1c] ldr r4, [r5, #0x20] add r1, sp, #0x18 str r4, [sp, #0x20] str r3, [sp, #0x24] str r2, [sp, #0x28] ldr r2, [r0] ldr r2, [r2, #0x1c] blx r2 mov r0, #1 strb r0, [r5, #0x3c] b _02164b10 _02164a5c: mov r0, #0x1000 str r0, [r5, #0x60] ldr r0, [r5, #4] mov r2, #0xcd bic r0, r0, #0x200 str r0, [r5, #4] mov r0, #1 strb r0, [r5, #0x3c] ldr r0, [r5, #4] rsb r1, r2, #0x1400 orr r0, r0, #0xc str r0, [r5, #4] ldrh ip, [r5, #0x24] ldr lr, [r5, #0x44] ldr r3, [r5, #0x18] add r0, r5, #0x38 str r3, [sp, #4] ldr r3, [r5, #0x1c] bic lr, lr, #0x3f0000 str r3, [sp, #8] ldr r3, [r5, #0x20] and ip, ip, #0xff str r1, [sp, #0x14] orr ip, lr, ip, lsl #16 str r3, [sp, #0xc] str r2, [sp, #0x10] ldr r2, [r0] add r1, sp, #4 ldr r2, [r2, #0x1c] str ip, [sp] blx r2 ldr r3, [sp] mov r0, r5 mov r1, #0 mov r2, #1 str r3, [r5, #0x44] bl func_ov00_0208ba08 cmp r4, #0 bne _02164b10 ldrb r0, [r5, #0x36] cmp r0, #0 beq _02164b10 ldr r0, _02164b20 ; =data_027e0ffc mov r1, #0x1e bl func_ov00_020ce8e4 _02164b10: mov r0, #1 add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov18_021649a0 _02164b1c: .word 0x00000b33 _02164b20: .word data_027e0ffc .global func_ov18_02164b24 arm_func_start func_ov18_02164b24 func_ov18_02164b24: ; 0x02164b24 stmdb sp!, {r3, lr} cmp r1, #1 beq _02164b3c cmp r1, #2 cmpne r1, #3 b _02164b6c _02164b3c: ldr r1, [r0, #8] cmp r1, #0 bne _02164b64 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 mov r0, #0 ldmia sp!, {r3, pc} _02164b64: mvn r0, #0 ldmia sp!, {r3, pc} _02164b6c: mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov18_02164b24 .global func_ov18_02164b74 arm_func_start func_ov18_02164b74 func_ov18_02164b74: ; 0x02164b74 stmdb sp!, {lr} sub sp, sp, #0xc mov r3, r0 ldr r1, [r3, #0x60] mov r0, #0x1000 str r0, [sp, #4] add r0, r3, #0x68 str r1, [sp] str r1, [sp, #8] ldr ip, [r0] ldr r2, _02164bb8 ; =data_027e0194 ldr ip, [ip, #0x10] add r1, sp, #0 add r3, r3, #0x18 blx ip add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov18_02164b74 _02164bb8: .word data_027e0194 .global func_ov18_02164bbc arm_func_start func_ov18_02164bbc func_ov18_02164bbc: ; 0x02164bbc stmdb sp!, {r3, lr} ldr r1, _02164be8 ; =data_027e0fe0 ldr r0, _02164bec ; =0x00000488 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_021653bc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164bbc _02164be8: .word data_027e0fe0 _02164bec: .word 0x00000488 .global func_ov18_02164bf0 arm_func_start func_ov18_02164bf0 func_ov18_02164bf0: ; 0x02164bf0 stmdb sp!, {r3, lr} ldr r0, _02164c30 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164c28 ldr r0, _02164c30 ; =data_027e0f74 mov r1, #0x30 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164c28: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164bf0 _02164c30: .word data_027e0f74 .global func_ov18_02164c34 arm_func_start func_ov18_02164c34 func_ov18_02164c34: ; 0x02164c34 stmdb sp!, {r3, lr} ldr r0, _02164c74 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164c6c ldr r0, _02164c74 ; =data_027e0f74 mov r1, #0x95 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164c6c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164c34 _02164c74: .word data_027e0f74 .global func_ov18_02164c78 arm_func_start func_ov18_02164c78 func_ov18_02164c78: ; 0x02164c78 stmdb sp!, {r3, lr} ldr r0, _02164cb8 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164cb0 ldr r0, _02164cb8 ; =data_027e0f74 mov r1, #0x96 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164cb0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164c78 _02164cb8: .word data_027e0f74 .global func_ov18_02164cbc arm_func_start func_ov18_02164cbc func_ov18_02164cbc: ; 0x02164cbc stmdb sp!, {r3, lr} ldr r0, _02164cfc ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164cf4 ldr r0, _02164cfc ; =data_027e0f74 mov r1, #0x97 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164cf4: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164cbc _02164cfc: .word data_027e0f74 .global func_ov18_02164d00 arm_func_start func_ov18_02164d00 func_ov18_02164d00: ; 0x02164d00 stmdb sp!, {r3, lr} ldr r0, _02164d40 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164d38 ldr r0, _02164d40 ; =data_027e0f74 mov r1, #0x98 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164d38: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164d00 _02164d40: .word data_027e0f74 .global func_ov18_02164d44 arm_func_start func_ov18_02164d44 func_ov18_02164d44: ; 0x02164d44 stmdb sp!, {r3, lr} ldr r0, _02164d84 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164d7c ldr r0, _02164d84 ; =data_027e0f74 mov r1, #0x94 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164d7c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164d44 _02164d84: .word data_027e0f74 .global func_ov18_02164d88 arm_func_start func_ov18_02164d88 func_ov18_02164d88: ; 0x02164d88 stmdb sp!, {r3, lr} ldr r0, _02164dc8 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164dc0 ldr r0, _02164dc8 ; =data_027e0f74 mov r1, #0x52 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164dc0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164d88 _02164dc8: .word data_027e0f74 .global func_ov18_02164dcc arm_func_start func_ov18_02164dcc func_ov18_02164dcc: ; 0x02164dcc stmdb sp!, {r3, lr} ldr r0, _02164e20 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164e18 ldr r0, _02164e20 ; =data_027e0f74 mov r1, #0x2c ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164e18 ldr r0, _02164e24 ; =data_027e0dbc mov r1, #0 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164e18: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164dcc _02164e20: .word data_027e0f74 _02164e24: .word data_027e0dbc .global func_ov18_02164e28 arm_func_start func_ov18_02164e28 func_ov18_02164e28: ; 0x02164e28 stmdb sp!, {r3, lr} ldr r0, _02164e7c ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164e74 ldr r0, _02164e7c ; =data_027e0f74 mov r1, #0x58 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164e74 ldr r0, _02164e80 ; =data_027e0dbc mov r1, #1 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164e74: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164e28 _02164e7c: .word data_027e0f74 _02164e80: .word data_027e0dbc .global func_ov18_02164e84 arm_func_start func_ov18_02164e84 func_ov18_02164e84: ; 0x02164e84 stmdb sp!, {r3, lr} ldr r0, _02164ed8 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164ed0 ldr r0, _02164ed8 ; =data_027e0f74 mov r1, #0x7d ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164ed0 ldr r0, _02164edc ; =data_027e0dbc mov r1, #2 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164ed0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164e84 _02164ed8: .word data_027e0f74 _02164edc: .word data_027e0dbc .global func_ov18_02164ee0 arm_func_start func_ov18_02164ee0 func_ov18_02164ee0: ; 0x02164ee0 stmdb sp!, {r3, lr} ldr r0, _02164f4c ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164f44 ldr r0, _02164f4c ; =data_027e0f74 mov r1, #0x7e ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164f44 ldr r0, _02164f4c ; =data_027e0f74 mov r1, #0xb9 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164f44 ldr r0, _02164f50 ; =data_027e0dbc mov r1, #3 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164f44: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164ee0 _02164f4c: .word data_027e0f74 _02164f50: .word data_027e0dbc .global func_ov18_02164f54 arm_func_start func_ov18_02164f54 func_ov18_02164f54: ; 0x02164f54 stmdb sp!, {r3, lr} ldr r0, _02164fa8 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164fa0 ldr r0, _02164fa8 ; =data_027e0f74 mov r1, #0x7f ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164fa0 ldr r0, _02164fac ; =data_027e0dbc mov r1, #4 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164fa0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164f54 _02164fa8: .word data_027e0f74 _02164fac: .word data_027e0dbc .global func_ov18_02164fb0 arm_func_start func_ov18_02164fb0 func_ov18_02164fb0: ; 0x02164fb0 stmdb sp!, {r3, lr} ldr r0, _02165004 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164ffc ldr r0, _02165004 ; =data_027e0f74 mov r1, #0x99 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02164ffc ldr r0, _02165008 ; =data_027e0dbc mov r1, #5 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02164ffc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02164fb0 _02165004: .word data_027e0f74 _02165008: .word data_027e0dbc .global func_ov18_0216500c arm_func_start func_ov18_0216500c func_ov18_0216500c: ; 0x0216500c stmdb sp!, {r3, lr} ldr r0, _0216504c ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02165044 ldr r0, _0216504c ; =data_027e0f74 mov r1, #0x37 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02165044: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216500c _0216504c: .word data_027e0f74 .global func_ov18_02165050 arm_func_start func_ov18_02165050 func_ov18_02165050: ; 0x02165050 stmdb sp!, {r3, lr} ldr r0, _021650a4 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _0216509c ldr r0, _021650a4 ; =data_027e0f74 mov r1, #0x9c ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _0216509c ldr r0, _021650a8 ; =data_027e0dbc mov r1, #6 blx func_ov03_020f3dbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _0216509c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02165050 _021650a4: .word data_027e0f74 _021650a8: .word data_027e0dbc .global func_ov18_021650ac arm_func_start func_ov18_021650ac func_ov18_021650ac: ; 0x021650ac stmdb sp!, {r3, lr} ldr r0, _021650ec ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _021650e4 ldr r0, _021650ec ; =data_027e0f74 ldr r1, _021650f0 ; =0x00000123 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _021650e4: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_021650ac _021650ec: .word data_027e0f74 _021650f0: .word 0x00000123 .global func_ov18_021650f4 arm_func_start func_ov18_021650f4 func_ov18_021650f4: ; 0x021650f4 stmdb sp!, {r3, lr} ldr r0, _02165134 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _0216512c ldr r0, _02165134 ; =data_027e0f74 ldr r1, _02165138 ; =0x0000012a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _0216512c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_021650f4 _02165134: .word data_027e0f74 _02165138: .word 0x0000012a .global func_ov18_0216513c arm_func_start func_ov18_0216513c func_ov18_0216513c: ; 0x0216513c stmdb sp!, {r3, lr} ldr r0, _0216517c ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02165174 ldr r0, _0216517c ; =data_027e0f74 ldr r1, _02165180 ; =0x0000012b ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02165174: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216513c _0216517c: .word data_027e0f74 _02165180: .word 0x0000012b .global func_ov18_02165184 arm_func_start func_ov18_02165184 func_ov18_02165184: ; 0x02165184 stmdb sp!, {r3, lr} ldr r0, _021651c4 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _021651bc ldr r0, _021651c4 ; =data_027e0f74 mov r1, #0x12c ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _021651bc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02165184 _021651c4: .word data_027e0f74 .global func_ov18_021651c8 arm_func_start func_ov18_021651c8 func_ov18_021651c8: ; 0x021651c8 stmdb sp!, {r3, lr} ldr r0, _02165208 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02165200 ldr r0, _02165208 ; =data_027e0f74 ldr r1, _0216520c ; =0x0000012d ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02165200: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_021651c8 _02165208: .word data_027e0f74 _0216520c: .word 0x0000012d .global func_ov18_02165210 arm_func_start func_ov18_02165210 func_ov18_02165210: ; 0x02165210 stmdb sp!, {r3, lr} ldr r0, _02165250 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02165248 ldr r0, _02165250 ; =data_027e0f74 mov r1, #0x1f ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02165248: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02165210 _02165250: .word data_027e0f74 .global func_ov18_02165254 arm_func_start func_ov18_02165254 func_ov18_02165254: ; 0x02165254 stmdb sp!, {r3, lr} ldr r0, _02165294 ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _0216528c ldr r0, _02165294 ; =data_027e0f74 mov r1, #0x82 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _0216528c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02165254 _02165294: .word data_027e0f74 .global func_ov18_02165298 arm_func_start func_ov18_02165298 func_ov18_02165298: ; 0x02165298 stmdb sp!, {r3, lr} ldr r0, _021652d8 ; =data_027e0f74 mov r1, #0x37 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _021652d0 ldr r0, _021652d8 ; =data_027e0f74 ldr r1, _021652dc ; =0x0000017b ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _021652d0: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02165298 _021652d8: .word data_027e0f74 _021652dc: .word 0x0000017b .global func_ov18_021652e0 arm_func_start func_ov18_021652e0 func_ov18_021652e0: ; 0x021652e0 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r6, _0216533c ; =data_ov18_0216ce8c ldr r7, _02165340 ; =data_ov18_0216cee8 ldr r5, _02165344 ; =data_027e0f74 ldr r4, _02165348 ; =0x00000187 mov r8, #0 _021652f8: ldr r1, [r7, r8, lsl #2] cmp r1, r4 beq _02165314 ldr r0, [r5] bl func_ov00_02097760 cmp r0, #0 bne _02165328 _02165314: ldr r0, [r6, r8, lsl #2] blx r0 cmp r0, #0 movne r0, r8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _02165328: add r8, r8, #1 cmp r8, #0x17 blt _021652f8 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_021652e0 _0216533c: .word data_ov18_0216ce8c _02165340: .word data_ov18_0216cee8 _02165344: .word data_027e0f74 _02165348: .word 0x00000187 .global func_ov18_0216534c arm_func_start func_ov18_0216534c func_ov18_0216534c: ; 0x0216534c stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r6, _021653ac ; =data_ov18_0216ce8c ldr r7, _021653b0 ; =data_ov18_0216cee8 ldr r5, _021653b4 ; =data_027e0f74 ldr r4, _021653b8 ; =0x00000187 mov r8, #0 _02165364: ldr r1, [r7, r8, lsl #2] cmp r1, r4 beq _02165380 ldr r0, [r5] bl func_ov00_02097760 cmp r0, #0 bne _02165398 _02165380: ldr r0, [r6, r8, lsl #2] blx r0 cmp r0, #0 cmpne r8, #0x12 movne r0, r8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _02165398: add r8, r8, #1 cmp r8, #0x17 blt _02165364 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0216534c _021653ac: .word data_ov18_0216ce8c _021653b0: .word data_ov18_0216cee8 _021653b4: .word data_027e0f74 _021653b8: .word 0x00000187 .global func_ov18_021653bc arm_func_start func_ov18_021653bc func_ov18_021653bc: ; 0x021653bc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02144ed8 ldr r1, _021653ec ; =data_ov18_0216cfc8 mvn r0, #0 str r1, [r4] str r0, [r4, #0x478] mov r1, #0 str r1, [r4, #0x47c] mov r0, r4 strb r1, [r4, #0x482] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021653bc _021653ec: .word data_ov18_0216cfc8 .global func_ov18_021653f0 arm_func_start func_ov18_021653f0 func_ov18_021653f0: ; 0x021653f0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_021450a8 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021653f0 .global func_ov18_02165404 arm_func_start func_ov18_02165404 func_ov18_02165404: ; 0x02165404 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_021450a8 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02165404 .global func_ov18_02165420 arm_func_start func_ov18_02165420 func_ov18_02165420: ; 0x02165420 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x5c mov r4, r0 bl func_ov14_02144a2c cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _0216566c ; =data_027e0fec ldr r0, [r0] add r5, r0, #0x3b8 add r0, r5, #0x3800 bl func_ov00_020c4588 mov r6, r0 add r0, r5, #0x3800 bl func_ov00_020c45b0 mov r2, r0 ldr r3, _02165670 ; =data_ov18_0216b55c mov r1, r6 add r0, r4, #0x1d8 bl func_ov00_020c5c64 ldr r0, [r4, #0x428] ldr r2, [r4, #0x1dc] cmp r0, #0 moveq r0, #1 movne r0, #0 add r1, r4, r0, lsl #7 str r2, [r1, #0x290] ldr r0, _02165674 ; =data_ov18_0216b548 mov r2, #0 str r0, [r4, #0x408] str r2, [r4, #0x7c] mov r0, #0x1000 str r0, [r4, #0x80] str r2, [r4, #0x84] mov r0, #0x800 str r0, [r4, #0x88] ldr r1, _02165678 ; =data_ov18_0216b53c mov r0, r4 strb r2, [r4, #0x482] bl func_ov14_021451f0 add r0, r4, #0x1d8 mov r1, #0 bl func_ov14_02145f0c ldr r0, _0216567c ; =data_027e0f74 mov r1, #0x9a ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 ldreqh r0, [r4, #0x20] cmpeq r0, #1 bne _02165578 mov r1, #0 add r0, sp, #0x30 str r1, [r4, #0x12c] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] str r1, [sp, #0x50] bl func_ov00_020c3348 ldrsh r2, [r4, #0x78] mov r1, #1 add r0, r1, #0x40000 strh r1, [sp, #0x30] strh r2, [sp, #0x44] str r0, [sp, #0x40] ldr r0, [r4, #8] mov r1, #0 str r0, [sp, #0x4c] ldr r2, [r4, #0xc] ldr r0, _02165680 ; =data_027e0fe8 str r2, [sp, #0x50] str r1, [sp] ldr r0, [r0] ldr r1, _02165684 ; =0x5053544d add r3, sp, #0x30 add r2, r4, #0x48 bl func_ov00_020c4048 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r4 bl func_ov18_021658fc b _02165660 _02165578: ldrh r0, [r4, #0x20] cmp r0, #2 bne _0216558c bl func_ov18_0216534c b _02165590 _0216558c: bl func_ov18_021652e0 _02165590: str r0, [r4, #0x478] ldr r0, [r4, #0x478] cmp r0, #0 blt _02165648 add r0, r4, #0x1d8 mov r1, #3 bl func_ov14_02145e48 mov r1, #0 add r0, sp, #4 str r1, [r4, #0x12c] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] str r1, [sp, #0x24] bl func_ov00_020c3348 ldrsh r1, [r4, #0x78] mov r0, #0 ldr r2, _02165688 ; =data_ov18_0216cf44 strh r1, [sp, #0x18] strh r0, [sp, #4] ldr r3, [r4, #0x478] ldr r1, _0216568c ; =data_ov18_0216cf46 mov r5, r3, lsl #0x2 ldrh r3, [r2, r5] ldrh r2, [r1, r5] ldr r5, _02165680 ; =data_027e0fe8 ldr r1, _02165684 ; =0x5053544d add r2, r2, r3, lsl #16 str r2, [sp, #0x14] ldr r3, [r4, #8] add r2, r4, #0x48 str r3, [sp, #0x20] ldr ip, [r4, #0xc] add r3, sp, #4 str ip, [sp, #0x24] str r0, [sp] ldr r0, [r5] bl func_ov00_020c4048 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r4 bl func_ov18_021659ec b _02165660 _02165648: mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r4 bl func_ov18_021658fc _02165660: mov r0, #1 add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_02165420 _0216566c: .word data_027e0fec _02165670: .word data_ov18_0216b55c _02165674: .word data_ov18_0216b548 _02165678: .word data_ov18_0216b53c _0216567c: .word data_027e0f74 _02165680: .word data_027e0fe8 _02165684: .word 0x5053544d _02165688: .word data_ov18_0216cf44 _0216568c: .word data_ov18_0216cf46 .global func_ov18_02165690 arm_func_start func_ov18_02165690 func_ov18_02165690: ; 0x02165690 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #5 str r0, [r4, #0x12c] ldr r2, [r4, #0x478] cmp r2, #0 blt _021656d0 ldr r1, _021656dc ; =data_ov18_0216cee8 rsb r0, r0, #0x18c ldr r1, [r1, r2, lsl #2] cmp r1, r0 beq _021656d0 ldr r0, _021656e0 ; =data_027e0f74 mov r2, #1 ldr r0, [r0] bl func_ov00_0209779c _021656d0: mov r0, r4 bl func_ov18_021658fc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165690 _021656dc: .word data_ov18_0216cee8 _021656e0: .word data_027e0f74 .global func_ov18_021656e4 arm_func_start func_ov18_021656e4 func_ov18_021656e4: ; 0x021656e4 ldr ip, _021656ec ; =func_ov18_02165948 bx ip .align 2, 0 arm_func_end func_ov18_021656e4 _021656ec: .word func_ov18_02165948 .global func_ov18_021656f0 arm_func_start func_ov18_021656f0 func_ov18_021656f0: ; 0x021656f0 mov r0, #1 bx lr arm_func_end func_ov18_021656f0 .global func_ov18_021656f8 arm_func_start func_ov18_021656f8 func_ov18_021656f8: ; 0x021656f8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x400 ldrsh r2, [r0, #0x84] cmp r2, #0 movgt r0, #0 ldmgtia sp!, {r4, pc} mov r2, #0xa strh r2, [r0, #0x84] ldr r0, [r1, #0x10] cmp r0, #0 bne _0216573c bl func_ov18_0216584c mov r1, #0xf6 mov r2, #0 bl func_ov00_020bf008 b _0216582c _0216573c: cmp r0, #5 bne _0216577c ldr r0, [r1, #0x14] cmp r0, #0 beq _0216582c ldr r2, [r0, #4] ldr r1, _02165834 ; =0x424d524e cmp r2, r1 bne _0216582c bl func_ov14_021231d4 ldr r0, _02165838 ; =data_027e0ffc ldr r1, _0216583c ; =0x0000019d add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc b _0216582c _0216577c: cmp r0, #1 bne _021657bc ldr r0, [r1, #0x14] cmp r0, #0 beq _0216582c ldr r2, [r0, #4] ldr r1, _02165840 ; =0x5342454d cmp r2, r1 bne _0216582c bl func_ov14_02146634 ldr r0, _02165838 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc b _0216582c _021657bc: cmp r0, #7 bne _021657f0 ldr r0, [r1, #0x14] cmp r0, #0 beq _0216582c ldr r2, [r0, #4] ldr r1, _02165844 ; =0x41525257 cmp r2, r1 bne _0216582c ldrsh r1, [r4, #0x78] mov r2, #1 bl func_ov14_02120ac4 b _0216582c _021657f0: cmp r0, #8 bne _0216582c ldr r0, [r1, #0x14] cmp r0, #0 beq _0216582c ldr r2, [r0, #4] ldr r1, _02165848 ; =0x524f5045 cmp r2, r1 bne _0216582c bl func_ov14_02123904 ldr r0, _02165838 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc _0216582c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021656f8 _02165834: .word 0x424d524e _02165838: .word data_027e0ffc _0216583c: .word 0x0000019d _02165840: .word 0x5342454d _02165844: .word 0x41525257 _02165848: .word 0x524f5045 .global func_ov18_0216584c arm_func_start func_ov18_0216584c func_ov18_0216584c: ; 0x0216584c ldr ip, _02165858 ; =func_01fffcec mov r0, #0 bx ip .align 2, 0 arm_func_end func_ov18_0216584c _02165858: .word func_01fffcec .global func_ov18_0216585c arm_func_start func_ov18_0216585c func_ov18_0216585c: ; 0x0216585c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x400 ldrsh r1, [r0, #0x84] sub r1, r1, #1 strh r1, [r0, #0x84] ldrsh r1, [r0, #0x84] cmp r1, #0 movle r1, #0 strleh r1, [r0, #0x84] mov r1, #0 mov r0, r4 mov r2, r1 bl func_ov00_020c243c cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 mov r1, #0x1a bl func_ov00_020c1fc8 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216585c .global func_ov18_021658ac arm_func_start func_ov18_021658ac func_ov18_021658ac: ; 0x021658ac ldr ip, _021658b4 ; =func_ov18_021658b8 bx ip .align 2, 0 arm_func_end func_ov18_021658ac _021658b4: .word func_ov18_021658b8 .global func_ov18_021658b8 arm_func_start func_ov18_021658b8 func_ov18_021658b8: ; 0x021658b8 mov r2, #3 ldr r1, _021658d8 ; =data_ov18_0216ce8c str r2, [r0, #0x130] ldr r2, [r1, #0x114] ldr r1, [r1, #0x118] str r2, [r0, #0x470] str r1, [r0, #0x474] bx lr .align 2, 0 arm_func_end func_ov18_021658b8 _021658d8: .word data_ov18_0216ce8c .global func_ov18_021658dc arm_func_start func_ov18_021658dc func_ov18_021658dc: ; 0x021658dc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1d8 mov r1, #0 bl func_ov14_02145f0c mov r0, r4 bl func_ov18_021658fc ldmia sp!, {r4, pc} arm_func_end func_ov18_021658dc .global func_ov18_021658fc arm_func_start func_ov18_021658fc func_ov18_021658fc: ; 0x021658fc mov r1, #0 ldr r2, _02165924 ; =data_ov18_0216ce8c str r1, [r0, #0x130] ldr r3, [r2, #0x11c] ldr r2, [r2, #0x120] ldr ip, _02165928 ; =func_ov14_02145f0c str r3, [r0, #0x470] str r2, [r0, #0x474] add r0, r0, #0x1d8 bx ip .align 2, 0 arm_func_end func_ov18_021658fc _02165924: .word data_ov18_0216ce8c _02165928: .word func_ov14_02145f0c .global func_ov18_0216592c arm_func_start func_ov18_0216592c func_ov18_0216592c: ; 0x0216592c ldr ip, _02165944 ; =func_0202b0f4 add r0, r0, #0x7c add r0, r0, #0x400 mov r1, #0 mov r2, #0xcd bx ip .align 2, 0 arm_func_end func_ov18_0216592c _02165944: .word func_0202b0f4 .global func_ov18_02165948 arm_func_start func_ov18_02165948 func_ov18_02165948: ; 0x02165948 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #1 beq _02165980 ldr r1, _021659ac ; =data_027e0fc8 mvn r0, #0 ldr r1, [r1] ldr r1, [r1, #0x3c] cmp r1, r0 beq _02165980 bl func_020385b8 add r1, r4, #0x48 bl func_ov00_020ab934 _02165980: add r0, r4, #0x1d8 mov r1, #2 bl func_ov14_02145f0c mov r1, #1 ldr r0, _021659b0 ; =data_ov18_0216ce8c str r1, [r4, #0x130] ldr r1, [r0, #0x124] ldr r0, [r0, #0x128] str r1, [r4, #0x470] str r0, [r4, #0x474] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165948 _021659ac: .word data_027e0fc8 _021659b0: .word data_ov18_0216ce8c .global func_ov18_021659b4 arm_func_start func_ov18_021659b4 func_ov18_021659b4: ; 0x021659b4 stmdb sp!, {r4, lr} ldr r1, [r0] mov r4, r0 ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r4 bl func_ov18_021658fc ldmia sp!, {r4, pc} arm_func_end func_ov18_021659b4 .global func_ov18_021659ec arm_func_start func_ov18_021659ec func_ov18_021659ec: ; 0x021659ec mov r1, #0x800 str r1, [r0, #0x47c] add r1, r0, #0x400 mov r2, #0 strh r2, [r1, #0x80] mov r2, #2 ldr r1, _02165a20 ; =data_ov18_0216ce8c str r2, [r0, #0x130] ldr r2, [r1, #0x12c] ldr r1, [r1, #0x130] str r2, [r0, #0x470] str r1, [r0, #0x474] bx lr .align 2, 0 arm_func_end func_ov18_021659ec _02165a20: .word data_ov18_0216ce8c .global func_ov18_02165a24 arm_func_start func_ov18_02165a24 func_ov18_02165a24: ; 0x02165a24 stmdb sp!, {r4, lr} mov r4, r0 add r3, r4, #0x400 ldrh r1, [r3, #0x80] add r0, r4, #0x7c add r0, r0, #0x400 add ip, r1, #0xc00 mov r1, #0 mov r2, #0x29 strh ip, [r3, #0x80] bl func_0202b0f4 cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x400 mov r1, #0 strh r1, [r0, #0x80] mov r0, #0x800 str r0, [r4, #0x47c] ldmia sp!, {r4, pc} arm_func_end func_ov18_02165a24 .global func_ov18_02165a70 arm_func_start func_ov18_02165a70 func_ov18_02165a70: ; 0x02165a70 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x154] cmp r1, #0 ldmneia sp!, {r4, pc} bl func_ov18_0216585c add r0, r4, #0x100 mov r1, #0x1000 strh r1, [r0, #0x1e] ldr r0, [r4, #0x474] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r4, #0x470] beq _02165ab4 ldr r2, [r0] ldr r1, [r4, #0x470] ldr r1, [r2, r1] _02165ab4: blx r1 add r0, r4, #0x1d8 bl func_ov14_02145cac mov r0, r4 bl func_ov14_02145178 ldmia sp!, {r4, pc} arm_func_end func_ov18_02165a70 .global func_ov18_02165acc arm_func_start func_ov18_02165acc func_ov18_02165acc: ; 0x02165acc stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} add r0, r4, #0x1d8 bl func_ov00_020c5f1c ldr r3, _02165b34 ; =0x000004cd mov r0, #0 str r3, [sp] str r0, [sp, #4] mov r0, #0x1f str r0, [sp, #8] mov r1, #1 str r1, [sp, #0xc] str r1, [sp, #0x10] ldr r0, _02165b38 ; =data_ov00_020e9370 add r2, r4, #0x48 str r1, [sp, #0x14] bl func_ov05_02102c2c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165acc _02165b34: .word 0x000004cd _02165b38: .word data_ov00_020e9370 .global func_ov18_02165b3c arm_func_start func_ov18_02165b3c func_ov18_02165b3c: ; 0x02165b3c stmdb sp!, {r3, lr} ldr r1, _02165b68 ; =data_027e0fe0 mov r0, #0x540 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_02165b6c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02165b3c _02165b68: .word data_027e0fe0 .global func_ov18_02165b6c arm_func_start func_ov18_02165b6c func_ov18_02165b6c: ; 0x02165b6c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov14_02144ed8 ldr r1, _02165bb0 ; =data_ov18_0216d0cc add r0, r4, #0x12c ldr ip, _02165bb4 ; =func_ov00_020b7d74 str r1, [r4] ldr r3, _02165bb8 ; =func_ov18_02165c2c add r0, r0, #0x400 mov r1, #2 mov r2, #4 str ip, [sp] bl func_0204f614 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02165b6c _02165bb0: .word data_ov18_0216d0cc _02165bb4: .word func_ov00_020b7d74 _02165bb8: .word func_ov18_02165c2c .global func_ov18_02165bbc arm_func_start func_ov18_02165bbc func_ov18_02165bbc: ; 0x02165bbc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x12c ldr r3, _02165bec ; =func_ov00_020b7d74 add r0, r0, #0x400 mov r1, #2 mov r2, #4 bl func_0204f754 mov r0, r4 bl func_ov14_021450a8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165bbc _02165bec: .word func_ov00_020b7d74 .global func_ov18_02165bf0 arm_func_start func_ov18_02165bf0 func_ov18_02165bf0: ; 0x02165bf0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x12c ldr r3, _02165c28 ; =func_ov00_020b7d74 add r0, r0, #0x400 mov r1, #2 mov r2, #4 bl func_0204f754 mov r0, r4 bl func_ov14_021450a8 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165bf0 _02165c28: .word func_ov00_020b7d74 .global func_ov18_02165c2c arm_func_start func_ov18_02165c2c func_ov18_02165c2c: ; 0x02165c2c mov r1, #0 str r1, [r0] bx lr arm_func_end func_ov18_02165c2c .global func_ov18_02165c38 arm_func_start func_ov18_02165c38 func_ov18_02165c38: ; 0x02165c38 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x60 mov r4, r1 ldr r5, [r4, #4] ldr r1, _02165ce8 ; =data_ov18_0216b5e4 ldr r2, [r5, #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 r1, r0 addne sp, sp, #0x60 ldmneia sp!, {r4, r5, r6, pc} ldrb r0, [r5, #0x25] cmp r0, #2 bne _02165c98 mov r0, #3 strb r0, [r4, #0x92] add sp, sp, #0x60 strb r0, [r5, #0x25] ldmia sp!, {r4, r5, r6, pc} _02165c98: cmp r0, #3 addne sp, sp, #0x60 ldmneia sp!, {r4, r5, r6, pc} add r0, sp, #0 mov r1, #0 bl func_0201b1bc bl func_02018450 mov r1, r0 add r0, sp, #0 add r2, sp, #0x30 bl func_01ff8e84 add r0, sp, #0x54 add r1, r6, #0x520 mov r2, #0xc bl func_02007908 mov r0, #2 strb r0, [r4, #0x92] strb r0, [r5, #0x25] add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_02165c38 _02165ce8: .word data_ov18_0216b5e4 .global func_ov18_02165cec arm_func_start func_ov18_02165cec func_ov18_02165cec: ; 0x02165cec stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_021450f0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, _02165dd8 ; =0x00000112 add r0, r4, #0x1d8 mov r2, r1 bl func_ov14_02145a74 mov r1, #0 ldr r0, _02165ddc ; =data_ov18_0216b5a4 strb r1, [r4, #0x285] str r0, [r4, #0x408] ldr r0, _02165de0 ; =func_ov18_02165c38 str r4, [r4, #0x27c] str r0, [r4, #0x280] ldr r2, [r4, #0x48] add r0, r4, #0x1d8 str r2, [r4, #0x520] ldr r2, [r4, #0x4c] str r2, [r4, #0x524] ldr r2, [r4, #0x50] str r2, [r4, #0x528] bl func_ov14_02145e48 mov r1, #1 strb r1, [r4, #0x51d] mov r2, #0 str r2, [r4, #0x470] strb r2, [r4, #0x474] strb r2, [r4, #0x475] add r0, r4, #0x400 strh r2, [r0, #0x76] add r0, r4, #0x500 strh r2, [r0, #0x18] strh r2, [r0, #0x1a] strb r2, [r4, #0x51c] str r2, [r4, #0x510] str r2, [r4, #0x514] strb r2, [r4, #0x51e] ldrh r0, [r4, #0x20] cmp r0, #1 bne _02165db4 ldr r2, [r4, #0x18] mov r0, r4 add r2, r2, #0x33 add r2, r2, #0x1300 str r2, [r4, #0x4c] bl func_ov18_02166b50 b _02165dc0 _02165db4: mov r0, r4 mov r1, r2 bl func_ov18_02166b50 _02165dc0: mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165cec _02165dd8: .word 0x00000112 _02165ddc: .word data_ov18_0216b5a4 _02165de0: .word func_ov18_02165c38 .global func_ov18_02165de4 arm_func_start func_ov18_02165de4 func_ov18_02165de4: ; 0x02165de4 ldr ip, _02165dec ; =func_ov00_020c27e4 bx ip .align 2, 0 arm_func_end func_ov18_02165de4 _02165dec: .word func_ov00_020c27e4 .global func_ov18_02165df0 arm_func_start func_ov18_02165df0 func_ov18_02165df0: ; 0x02165df0 ldrb r1, [r0, #0x11a] cmp r1, #0 ldrne r0, [r0, #0x30] ldreq r0, _02165e04 ; =0x00040002 bx lr .align 2, 0 arm_func_end func_ov18_02165df0 _02165e04: .word 0x00040002 .global func_ov18_02165e08 arm_func_start func_ov18_02165e08 func_ov18_02165e08: ; 0x02165e08 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] cmp r1, #0 cmpne r1, #6 cmpne r1, #5 cmpne r1, #3 ldmeqia sp!, {r3, pc} mov r1, #2 bl func_ov18_02166b50 ldmia sp!, {r3, pc} arm_func_end func_ov18_02165e08 .global func_ov18_02165e30 arm_func_start func_ov18_02165e30 func_ov18_02165e30: ; 0x02165e30 stmdb sp!, {r4, lr} ldr r4, [r0, #0x30] ldr r0, _02165f44 ; =0x00040004 cmp r4, r0 moveq r0, #0x39 ldmeqia sp!, {r4, pc} add r1, r0, #1 cmp r4, r1 moveq r0, #0x3a ldmeqia sp!, {r4, pc} add r1, r0, #2 cmp r4, r1 moveq r0, #0x3b ldmeqia sp!, {r4, pc} add r1, r0, #5 cmp r4, r1 moveq r0, #0x41 ldmeqia sp!, {r4, pc} add r1, r0, #6 cmp r4, r1 moveq r0, #0x7e ldmeqia sp!, {r4, pc} add r1, r0, #7 cmp r4, r1 moveq r0, #0x2e ldmeqia sp!, {r4, pc} add r1, r0, #8 cmp r4, r1 moveq r0, #0x2e ldmeqia sp!, {r4, pc} add r1, r0, #9 cmp r4, r1 moveq r0, #0x2f ldmeqia sp!, {r4, pc} add r1, r0, #0xa cmp r4, r1 moveq r0, #0x2d ldmeqia sp!, {r4, pc} add r1, r0, #0xb cmp r4, r1 moveq r0, #0x7e ldmeqia sp!, {r4, pc} add r1, r0, #0xc cmp r4, r1 moveq r0, #0x7e ldmeqia sp!, {r4, pc} add r1, r0, #0xd cmp r4, r1 moveq r0, #0x7e ldmeqia sp!, {r4, pc} add r1, r0, #0x11 cmp r4, r1 moveq r0, #0x7e ldmeqia sp!, {r4, pc} add r0, r0, #0x12 cmp r4, r0 bne _02165f30 ldr r0, _02165f48 ; =data_027e0f74 mov r1, #0x8c ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #0x7e ldmneia sp!, {r4, pc} _02165f30: ldr r0, _02165f4c ; =0x00040017 cmp r4, r0 moveq r0, #0xa movne r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165e30 _02165f44: .word 0x00040004 _02165f48: .word data_027e0f74 _02165f4c: .word 0x00040017 .global func_ov18_02165f50 arm_func_start func_ov18_02165f50 func_ov18_02165f50: ; 0x02165f50 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #1 bne _02166088 add r0, r4, #0x500 ldrsb r0, [r0, #0x1c] cmp r0, #0 beq _02165f84 cmp r0, #1 beq _02165fcc cmp r0, #2 beq _02166054 b _02166088 _02165f84: add r0, r4, #0x1d8 mov r1, #5 bl func_ov14_02145f0c ldr r0, [r4, #0x1e8] add r0, r0, #0xc bl func_0202e670 mov r0, #0xa4 str r0, [r4, #0x41c] mov r0, #0 strb r0, [r4, #0x42f] add r0, r4, #0x400 mov r1, #0x15 strh r1, [r0, #0x76] add r0, r4, #0x500 ldrsb r0, [r0, #0x1c] add r0, r0, #1 strb r0, [r4, #0x51c] b _02166088 _02165fcc: add r0, r4, #0x400 ldrsh r0, [r0, #0x76] cmp r0, #1 bne _02165ff0 ldr r0, _02166090 ; =data_027e0ffc ldr r1, _02166094 ; =0x00000467 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _02165ff0: add r0, r4, #0x1d8 bl func_ov14_0214610c cmp r0, #0 beq _02166088 ldr r0, [r4, #0x428] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #5 bne _02166088 ldr r0, [r4, #0x1e8] ldr r0, [r0, #0x10] cmp r0, #0 bgt _02166088 mov r2, #1 add r0, r4, #0x1d8 mov r1, #2 strb r2, [r4, #0x51d] bl func_ov14_02145f0c mov r0, #0 strb r0, [r4, #0x286] add r0, r4, #0x500 ldrsb r0, [r0, #0x1c] add r0, r0, #1 strb r0, [r4, #0x51c] b _02166088 _02166054: add r0, r4, #0x1d8 bl func_ov14_0214610c cmp r0, #0 beq _02166088 ldr r0, [r4, #0x428] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #2 bne _02166088 mov r0, #0 strb r0, [r4, #0x51c] mov r0, #1 ldmia sp!, {r4, pc} _02166088: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02165f50 _02166090: .word data_027e0ffc _02166094: .word 0x00000467 .global func_ov18_02166098 arm_func_start func_ov18_02166098 func_ov18_02166098: ; 0x02166098 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x28 mov r5, r0 cmp r1, #7 addls pc, pc, r1, lsl #2 b _0216664c _021660b0: ; jump table b _0216664c ; case 0 b _021660d0 ; case 1 b _0216615c ; case 2 b _021662d0 ; case 3 b _0216649c ; case 4 b _021665c8 ; case 5 b _0216660c ; case 6 b _02166638 ; case 7 _021660d0: add r0, r5, #0x500 ldrsb r0, [r0, #0x1c] cmp r0, #0 beq _021660ec cmp r0, #1 beq _0216611c b _0216664c _021660ec: add r1, r0, #1 ldr r0, _02166658 ; =data_027e0f74 strb r1, [r5, #0x51c] mov r1, #0 ldr r0, [r0] mov r3, r1 mov r2, #1 bl func_ov00_02097ff4 ldr r0, _0216665c ; =data_027e103c ldr r0, [r0] bl func_ov05_02104114 b _0216664c _0216611c: ldr r0, _0216665c ; =data_027e103c ldr r0, [r0] ldrsh r0, [r0, #0x20] cmp r0, #0x90 bne _0216664c ldr r0, _02166658 ; =data_027e0f74 mov r1, #1 ldr r0, [r0] mov r2, r1 mov r3, #0 bl func_ov00_02097ff4 mov r0, #0 strb r0, [r5, #0x51c] add sp, sp, #0x28 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0216615c: add r1, r5, #0x500 ldrsb r1, [r1, #0x1c] cmp r1, #0 beq _02166180 cmp r1, #1 beq _02166218 cmp r1, #2 beq _02166298 b _0216664c _02166180: ldr lr, [r5, #0x48] ldr r1, [r5, #0x50] ldr r4, [r5, #0x4c] mov r2, #0xd000 str r2, [sp] mov r2, #0x5800 str r2, [sp, #4] add r2, r4, #0x9a add ip, r2, #0x900 ldr r3, _02166660 ; =data_ov18_0216d604 str r1, [sp, #0x24] ldrsh r4, [r3, #0x26] ldrsh r2, [r5, #0x12] add r3, sp, #0x1c str lr, [sp, #0x1c] add r2, r4, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 str ip, [sp, #0x20] str r2, [sp, #8] mov r1, #0x800 str r1, [sp, #0xc] ldmia r3, {r1, r2, r3} bl func_ov18_021669a0 cmp r0, #0 beq _0216664c add r0, r5, #0x500 ldrsb r2, [r0, #0x1c] add r0, r5, #0x1d8 mov r1, #5 add r2, r2, #1 strb r2, [r5, #0x51c] bl func_ov14_02145f0c mov r0, #0xa4 str r0, [r5, #0x41c] mov r0, #0 strb r0, [r5, #0x42f] b _0216664c _02166218: ldr r0, [r5, #0x1e8] mov r1, #0x14000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02166244 ldr r0, _02166664 ; =data_027e0ffc ldr r1, _02166668 ; =0x00000466 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _02166244: ldr r0, [r5, #0x428] add r0, r5, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #5 bne _0216664c add r0, r5, #0x1d8 bl func_ov14_0214610c cmp r0, #0 beq _0216664c add r0, r5, #0x1d8 mov r1, #4 bl func_ov14_02145f0c mov r0, #0 strb r0, [r5, #0x51d] mov r0, #1 strb r0, [r5, #0x286] add r0, r5, #0x500 ldrsb r0, [r0, #0x1c] add r0, r0, #1 strb r0, [r5, #0x51c] b _0216664c _02166298: ldr r0, [r5, #0x428] add r0, r5, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #4 bne _0216664c add r0, r5, #0x1d8 bl func_ov14_0214610c cmp r0, #0 beq _0216664c mov r0, #0 strb r0, [r5, #0x51c] add sp, sp, #0x28 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021662d0: add r1, r5, #0x500 ldrsb r1, [r1, #0x1c] cmp r1, #0 beq _021662f4 cmp r1, #1 beq _02166388 cmp r1, #2 beq _02166484 b _0216664c _021662f4: bl func_ov18_02165e30 mov r4, r0 cmp r4, #0x7e beq _02166354 ldr r1, _0216666c ; =data_027e0f94 ldr r0, _02166670 ; =data_027e0f64 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0x10] str r2, [sp, #0x14] ldr r1, [r1, #8] ldr r0, [r0] str r1, [sp, #0x18] ldr r6, [r0, #4] mov r0, #0xa bl func_ov00_02087d84 mov ip, #0 mov r3, r0 str ip, [sp] add r1, sp, #0x10 mov r0, r6 mov r2, #2 str ip, [sp, #4] bl func_ov00_02089318 _02166354: mov r1, #1 ldr r0, _02166674 ; =data_027e0fc8 strb r1, [r5, #0x51e] ldr r0, [r0] mov r1, r4 bl func_ov00_020bce48 cmp r0, #0 beq _0216664c add r0, r5, #0x500 ldrsb r0, [r0, #0x1c] add r0, r0, #1 strb r0, [r5, #0x51c] b _0216664c _02166388: ldr r0, _02166674 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 bne _0216664c add r0, r5, #0x1d8 mov r1, #2 bl func_ov14_02145f0c ldr r0, _02166658 ; =data_027e0f74 mov r1, #1 ldr r0, [r0] mov r2, r1 mov r3, #0 bl func_ov00_02097ff4 mov r0, #5 str r0, [r5, #0x47c] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02166670 ; =data_027e0f64 add r2, r5, #0x78 ldr r0, [r0] add r3, r2, #0x400 ldr r0, [r0, #4] add r1, r5, #0x4e0 mov r2, #2 bl func_ov00_02089318 ldr r0, _02166670 ; =data_027e0f64 mov r2, #0 ldr r0, [r0] mov r1, #4 ldr r0, [r0, #4] mov r3, r2 bl func_ov00_020872e8 ldr r0, [r5, #0x4c] ldr r1, [r5, #0x48] add r0, r0, #0x9a str r1, [sp, #0x1c] add r0, r0, #0x900 ldr r1, [r5, #0x50] str r0, [sp, #0x20] mov r0, #0xd000 str r0, [sp] mov r0, #0x5800 str r0, [sp, #4] ldr r0, _02166660 ; =data_ov18_0216d604 str r1, [sp, #0x24] ldrsh r3, [r0, #0x26] ldrsh r1, [r5, #0x12] mov r0, r5 add r2, sp, #0x1c add r1, r3, r1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 str r1, [sp, #8] ldmia r2, {r1, r2, r3} bl func_ov18_02166810 mov r0, #0 strb r0, [r5, #0x51c] strb r0, [r5, #0x51e] add sp, sp, #0x28 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02166484: mov r0, #0 strb r0, [r5, #0x51c] strb r0, [r5, #0x51e] add sp, sp, #0x28 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0216649c: add r0, r5, #0x500 ldrsb r0, [r0, #0x1c] cmp r0, #0 beq _021664c0 cmp r0, #1 beq _02166508 cmp r0, #2 beq _02166590 b _0216664c _021664c0: add r0, r5, #0x1d8 mov r1, #5 bl func_ov14_02145f0c ldr r0, [r5, #0x1e8] add r0, r0, #0xc bl func_0202e670 mov r0, #0xa4 str r0, [r5, #0x41c] mov r0, #0 strb r0, [r5, #0x42f] add r0, r5, #0x400 mov r1, #0x15 strh r1, [r0, #0x76] add r0, r5, #0x500 ldrsb r0, [r0, #0x1c] add r0, r0, #1 strb r0, [r5, #0x51c] b _0216664c _02166508: add r0, r5, #0x400 ldrsh r0, [r0, #0x76] cmp r0, #1 bne _0216652c ldr r0, _02166664 ; =data_027e0ffc ldr r1, _02166678 ; =0x00000467 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _0216652c: add r0, r5, #0x1d8 bl func_ov14_0214610c cmp r0, #0 beq _0216664c ldr r0, [r5, #0x428] add r0, r5, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #5 bne _0216664c ldr r0, [r5, #0x1e8] ldr r0, [r0, #0x10] cmp r0, #0 bgt _0216664c mov r2, #1 add r0, r5, #0x1d8 mov r1, #2 strb r2, [r5, #0x51d] bl func_ov14_02145f0c mov r0, #0 strb r0, [r5, #0x286] add r0, r5, #0x500 ldrsb r0, [r0, #0x1c] add r0, r0, #1 strb r0, [r5, #0x51c] b _0216664c _02166590: add r0, r5, #0x1d8 bl func_ov14_0214610c cmp r0, #0 beq _0216664c ldr r0, [r5, #0x428] add r0, r5, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #2 bne _0216664c mov r0, #0 strb r0, [r5, #0x51c] add sp, sp, #0x28 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021665c8: ldr r0, [r5, #0x130] cmp r0, #3 addne sp, sp, #0x28 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} ldrb r0, [r5, #0x475] cmp r0, #0 bne _0216664c mov r0, #1 strb r0, [r5, #0x11a] ldrb r0, [r5, #0x475] add r0, r0, #1 strb r0, [r5, #0x475] ldrb r0, [r5, #0x474] add r0, r0, #1 strb r0, [r5, #0x474] b _0216664c _0216660c: ldr r1, [r5, #0x130] cmp r1, #4 beq _02166620 mov r1, #4 bl func_ov18_02166b50 _02166620: ldrb r0, [r5, #0x474] cmp r0, #5 bne _0216664c add sp, sp, #0x28 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02166638: ldrb r0, [r5, #0x475] cmp r0, #3 addeq sp, sp, #0x28 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} _0216664c: mov r0, #0 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_02166098 _02166658: .word data_027e0f74 _0216665c: .word data_027e103c _02166660: .word data_ov18_0216d604 _02166664: .word data_027e0ffc _02166668: .word 0x00000466 _0216666c: .word data_027e0f94 _02166670: .word data_027e0f64 _02166674: .word data_027e0fc8 _02166678: .word 0x00000467 .global func_ov18_0216667c arm_func_start func_ov18_0216667c func_ov18_0216667c: ; 0x0216667c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 ldr r2, _021666fc ; =data_027e0f64 mov r4, r0 ldr r1, [r2] add r0, r4, #0x78 ldr r1, [r1, #4] mov r3, #5 ldr r5, [r1, #0x270] ldr lr, [r1, #0x274] ldr ip, [r1, #0x26c] add r1, r0, #0x400 str ip, [r4, #0x4e0] str r5, [r4, #0x4e4] str lr, [r4, #0x4e8] str r3, [r4, #0x47c] ldr r0, [r2] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #0 str r1, [sp] add r2, r4, #0x78 ldr r0, _021666fc ; =data_027e0f64 str r1, [sp, #4] ldr r0, [r0] add r1, r4, #0x4e0 ldr r0, [r0, #4] add r3, r2, #0x400 mov r2, #3 bl func_ov00_02089318 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216667c _021666fc: .word data_027e0f64 .global func_ov18_02166700 arm_func_start func_ov18_02166700 func_ov18_02166700: ; 0x02166700 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r5, r0 add r0, r5, #0xf8 mov r4, r1 add r0, r0, #0x400 add r1, r5, #0x4e0 bl func_01ff9ec0 add r1, r5, #0xf8 str r0, [r5, #0x490] add r0, r1, #0x400 add r2, sp, #0x18 add r1, r5, #0x4e0 bl func_01ff9bf8 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r5, #0x48c] add r0, sp, #0x18 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, #0 mov r0, r3 str r1, [sp, #0x10] bl func_01ff9cec mov r1, r0 ldr r0, [sp, #0x1c] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r4, #0 str r0, [r5, #0x488] mov r1, #0 bne _021667c8 mov r0, #0x1e str r0, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr r0, _0216680c ; =data_027e0f64 add r1, r5, #0x78 ldr r0, [r0] add r3, r1, #0x400 ldr r0, [r0, #4] add r2, r5, #0x4e0 mov r1, #3 bl func_ov00_020888e8 b _021667f0 _021667c8: str r1, [sp] str r1, [sp, #4] ldr r0, _0216680c ; =data_027e0f64 add r2, r5, #0x78 ldr r0, [r0] add r3, r2, #0x400 ldr r0, [r0, #4] add r1, r5, #0x4e0 mov r2, #2 bl func_ov00_02089318 _021667f0: ldr r0, _0216680c ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d98 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02166700 _0216680c: .word data_027e0f64 .global func_ov18_02166810 arm_func_start func_ov18_02166810 func_ov18_02166810: ; 0x02166810 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 ldrh r2, [sp, #0x40] ldr r1, [sp, #0x2c] ldr ip, _021668d0 ; =data_02050f54 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 ldrsh r3, [ip, r2] ldr r6, [sp, #0x38] add r2, r4, #1 smull r4, lr, r3, r6 adds r5, r4, #0x800 mov r2, r2, lsl #0x1 ldrsh r2, [ip, r2] ldr r4, [sp, #0x30] str r1, [r0, #0x4e0] ldr r3, [sp, #0x34] str r4, [r0, #0x4e4] str r3, [r0, #0x4e8] str r1, [r0, #0x4f8] str r4, [r0, #0x4fc] str r3, [r0, #0x500] smull r3, r1, r2, r6 adc r4, lr, #0 adds r2, r3, #0x800 mov r3, r5, lsr #0xc ldr r5, [r0, #0x4f8] orr r3, r3, r4, lsl #20 add r3, r5, r3 str r3, [r0, #0x4f8] adc r1, r1, #0 mov r2, r2, lsr #0xc ldr r3, [r0, #0x500] orr r2, r2, r1, lsl #20 add r1, r3, r2 str r1, [r0, #0x500] ldr r3, [r0, #0x4fc] ldr r2, [sp, #0x3c] mov r1, #1 add r2, r3, r2 str r2, [r0, #0x4fc] bl func_ov18_02166700 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov18_02166810 _021668d0: .word data_02050f54 .global func_ov18_021668d4 arm_func_start func_ov18_021668d4 func_ov18_021668d4: ; 0x021668d4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, [sp, #0x14] ldr r1, [sp, #0x18] str r2, [r0, #0x4e0] ldr r2, [sp, #0x1c] str r1, [r0, #0x4e4] mov r1, #1 str r2, [r0, #0x4e8] bl func_ov18_02166700 add sp, sp, #0xc ldmia sp!, {lr} add sp, sp, #0x10 bx lr arm_func_end func_ov18_021668d4 .global func_ov18_02166910 arm_func_start func_ov18_02166910 func_ov18_02166910: ; 0x02166910 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r2, [sp, #0x2c] mov r4, r0 ldr r1, [sp, #0x30] str r2, [r4, #0x4ec] ldr r0, [sp, #0x34] str r1, [r4, #0x4f0] str r0, [r4, #0x4f4] add r0, r4, #0x4e0 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r1, r4, #0xec ldr ip, [sp, #0x3c] mov r0, r3 ldr r2, [sp, #0x38] add r1, r1, #0x400 mov r3, #0 str ip, [sp] bl func_0202b4e4 ldr ip, [sp, #0x3c] ldr r2, [sp, #0x38] add r1, sp, #0x10 add r0, r4, #0x4e0 mov r3, #0 str ip, [sp] bl func_0202b4e4 mov r0, r4 mov r1, #0 bl func_ov18_02166700 add sp, sp, #0x1c ldmia sp!, {r3, r4, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov18_02166910 .global func_ov18_021669a0 arm_func_start func_ov18_021669a0 func_ov18_021669a0: ; 0x021669a0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 ldrh r1, [sp, #0x48] mov r4, r0 ldr r0, [sp, #0x34] mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 ldr r3, _02166b4c ; =data_02050f54 mov r1, r5, lsl #0x1 ldrsh r2, [r3, r1] add r1, r5, #1 ldr lr, [sp, #0x40] mov r1, r1, lsl #0x1 smull ip, r5, r2, lr ldrsh r1, [r3, r1] ldr r3, [sp, #0x38] str r0, [r4, #0x4ec] ldr r2, [sp, #0x3c] str r3, [r4, #0x4f0] str r2, [r4, #0x4f4] str r0, [r4, #0x504] str r3, [r4, #0x508] str r2, [r4, #0x50c] add r0, r4, #0xec smull r3, r2, r1, lr adds ip, ip, #0x800 adc r1, r5, #0 mov r5, ip, lsr #0xc ldr ip, [r4, #0x504] orr r5, r5, r1, lsl #20 add r1, ip, r5 adds r3, r3, #0x800 str r1, [r4, #0x504] adc r1, r2, #0 mov r2, r3, lsr #0xc ldr r3, [r4, #0x50c] orr r2, r2, r1, lsl #20 add r1, r3, r2 str r1, [r4, #0x50c] ldr r2, [r4, #0x508] ldr r1, [sp, #0x44] add r0, r0, #0x400 add r2, r2, r1 add r1, r4, #0x4e0 str r2, [r4, #0x508] ldr r8, [sp, #0x4c] bl func_01ff9ec0 add r2, r4, #0xf8 add r1, r4, #0x104 mov r6, r0 add r0, r1, #0x400 add r1, r2, #0x400 bl func_01ff9ec0 mov r7, r0 cmp r6, #0 mov r1, r8 mov r5, r8 cmple r7, #0 ble _02166adc cmp r6, r7 ble _02166abc mov r0, r6 mov r1, r8 bl func_01ff98e0 mov r1, r0 mov r0, r7 bl func_01ff98e0 mov r5, r0 mov r1, r8 b _02166adc _02166abc: mov r0, r7 mov r1, r8 bl func_01ff98e0 mov r1, r0 mov r0, r6 bl func_01ff98e0 mov r1, r0 mov r5, r8 _02166adc: add r0, r4, #0x114 add r0, r0, #0x400 mov r2, #0xcd bl func_0202b0f4 mov r1, r5 add r0, r4, #0x510 mov r2, #0xcd bl func_0202b0f4 add r1, r4, #0xec ldr r2, [r4, #0x514] add r0, r4, #0x4e0 add r1, r1, #0x400 bl func_0202b2e8 add r0, r4, #0xf8 add r1, r4, #0x104 ldr r2, [r4, #0x510] add r0, r0, #0x400 add r1, r1, #0x400 bl func_0202b2e8 mov r5, r0 mov r0, r4 mov r1, #0 bl func_ov18_02166700 mov r0, r5 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov18_021669a0 _02166b4c: .word data_02050f54 .global func_ov18_02166b50 arm_func_start func_ov18_02166b50 func_ov18_02166b50: ; 0x02166b50 stmdb sp!, {r3, lr} ldr r2, [r0, #0x130] cmp r2, r1 strne r2, [r0, #0x134] strne r1, [r0, #0x130] ldmeqia sp!, {r3, pc} mov r1, #0 strb r1, [r0, #0x474] ldr r1, [r0, #0x130] cmp r1, #6 addls pc, pc, r1, lsl #2 ldmia sp!, {r3, pc} _02166b80: ; jump table b _02166b9c ; case 0 b _02166ba4 ; case 1 b _02166bac ; case 2 b _02166bb4 ; case 3 b _02166bbc ; case 4 b _02166bcc ; case 5 b _02166bc4 ; case 6 _02166b9c: bl func_ov18_02166e58 ldmia sp!, {r3, pc} _02166ba4: bl func_ov18_02167624 ldmia sp!, {r3, pc} _02166bac: bl func_ov18_02167800 ldmia sp!, {r3, pc} _02166bb4: bl func_ov18_02166f20 ldmia sp!, {r3, pc} _02166bbc: bl func_ov18_02167818 ldmia sp!, {r3, pc} _02166bc4: bl func_ov18_021681f4 ldmia sp!, {r3, pc} _02166bcc: bl func_ov18_02167e04 ldmia sp!, {r3, pc} arm_func_end func_ov18_02166b50 .global func_ov18_02166bd4 arm_func_start func_ov18_02166bd4 func_ov18_02166bd4: ; 0x02166bd4 mov r0, #1 bx lr arm_func_end func_ov18_02166bd4 .global func_ov18_02166bdc arm_func_start func_ov18_02166bdc func_ov18_02166bdc: ; 0x02166bdc stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r1, _02166e30 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0xe beq _02166c0c cmp r0, #0xf beq _02166c38 b _02166c60 _02166c0c: mov r1, #0x7d00 ldr r0, _02166e34 ; =data_ov18_0216d604 rsb r1, r1, #0 strh r1, [r0, #0x20] ldr r2, _02166e38 ; =0x00001b58 strh r1, [r0, #0x22] strh r2, [r0, #0x24] ldr r1, _02166e3c ; =0x000084cd strh r2, [r0, #0x26] str r1, [r0, #0x28] b _02166c90 _02166c38: ldr r2, _02166e40 ; =0x000032c8 ldr r0, _02166e34 ; =data_ov18_0216d604 ldr r1, _02166e44 ; =0xffffdecc strh r2, [r0, #0x20] strh r1, [r0, #0x24] strh r2, [r0, #0x22] strh r1, [r0, #0x26] mov r1, #0x7800 str r1, [r0, #0x28] b _02166c90 _02166c60: ldr r2, _02166e48 ; =0xffffb8e4 ldr r0, _02166e34 ; =data_ov18_0216d604 mov r1, #0x4000 strh r2, [r0, #0x20] rsb r1, r1, #0 strh r1, [r0, #0x22] mov r2, #0x2000 ldr r1, _02166e4c ; =0x00001555 strh r2, [r0, #0x24] strh r1, [r0, #0x26] mov r1, #0x7800 str r1, [r0, #0x28] _02166c90: ldr r0, [r4, #0x130] cmp r0, #0 beq _02166da4 ldr r0, [r4, #0x428] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #3 ldr r0, [r4, #0x52c] bne _02166d70 cmp r0, #0 bne _02166ce8 add r0, r4, #0x520 str r0, [sp] mov r3, #2 ldr r2, _02166e50 ; =0x0000015d add r1, r4, #0x12c ldr r0, _02166e54 ; =data_027e0e58 str r3, [sp, #4] ldr r0, [r0] add r1, r1, #0x400 add r3, r2, #1 bl func_ov00_0207c2e8 _02166ce8: ldr r0, [r4, #0x52c] cmp r0, #0 beq _02166da4 add r0, r4, #0x12c add r1, r4, #0x134 add r2, r0, #0x400 add r1, r1, #0x400 cmp r2, r1 beq _02166da4 _02166d0c: ldr r0, [r2] cmp r0, #0 beq _02166d60 ldr r3, [r0, #0x20] ldr r5, [r4, #0x520] ldr r3, [r3] ldr r3, [r3, #4] add r3, r5, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr r5, [r4, #0x524] ldr r3, [r3] ldr r3, [r3, #8] add r3, r5, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr r5, [r4, #0x528] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, r5, r3 str r3, [r0, #0x30] _02166d60: add r2, r2, #4 cmp r2, r1 bne _02166d0c b _02166da4 _02166d70: cmp r0, #0 beq _02166da4 add r0, r4, #0x12c add r1, r4, #0x134 add r6, r0, #0x400 add r5, r1, #0x400 cmp r6, r5 beq _02166da4 _02166d90: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02166d90 _02166da4: ldr r0, [r4, #0x130] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02166e20 _02166db4: ; jump table b _02166dd0 ; case 0 b _02166ddc ; case 1 b _02166de8 ; case 2 b _02166df4 ; case 3 b _02166e00 ; case 4 b _02166e18 ; case 5 b _02166e0c ; case 6 _02166dd0: mov r0, r4 bl func_ov18_02166e7c b _02166e20 _02166ddc: mov r0, r4 bl func_ov18_02167644 b _02166e20 _02166de8: mov r0, r4 bl func_ov18_0216780c b _02166e20 _02166df4: mov r0, r4 bl func_ov18_02167064 b _02166e20 _02166e00: mov r0, r4 bl func_ov18_02167838 b _02166e20 _02166e0c: mov r0, r4 bl func_ov18_02168288 b _02166e20 _02166e18: mov r0, r4 bl func_ov18_02167ec8 _02166e20: add r0, r4, #0x1d8 bl func_ov14_02145cac add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_02166bdc _02166e30: .word data_027e0d38 _02166e34: .word data_ov18_0216d604 _02166e38: .word 0x00001b58 _02166e3c: .word 0x000084cd _02166e40: .word 0x000032c8 _02166e44: .word 0xffffdecc _02166e48: .word 0xffffb8e4 _02166e4c: .word 0x00001555 _02166e50: .word 0x0000015d _02166e54: .word data_027e0e58 .global func_ov18_02166e58 arm_func_start func_ov18_02166e58 func_ov18_02166e58: ; 0x02166e58 mov r1, #0x2800 str r1, [r0, #0x4c] mov r1, #0 strb r1, [r0, #0x11a] str r1, [r0, #0x12c] ldr ip, _02166e78 ; =func_ov14_02145f0c add r0, r0, #0x1d8 bx ip .align 2, 0 arm_func_end func_ov18_02166e58 _02166e78: .word func_ov14_02145f0c .global func_ov18_02166e7c arm_func_start func_ov18_02166e7c func_ov18_02166e7c: ; 0x02166e7c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c28ec cmp r0, #0x2000 ldmgeia sp!, {r4, pc} mov r0, r4 bl func_ov00_020c2974 ldr r1, _02166f14 ; =0x00002aab cmp r0, r1 ldmgeia sp!, {r4, pc} rsb r1, r1, #0 cmp r0, r1 ldmleia sp!, {r4, pc} ldr r0, _02166f18 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bd318 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _02166f18 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bd304 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #3 bl func_ov18_02166b50 ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} ldr r0, _02166f1c ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov18_021658ac ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02166e7c _02166f14: .word 0x00002aab _02166f18: .word data_027e0fc8 _02166f1c: .word data_027e0fe4 .global func_ov18_02166f20 arm_func_start func_ov18_02166f20 func_ov18_02166f20: ; 0x02166f20 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov r4, r0 mov r2, #0 strb r2, [r4, #0x474] strb r2, [r4, #0x475] add r0, r4, #0x1d8 mov r1, #3 strb r2, [r4, #0x1ac] bl func_ov14_02145f0c mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r4 mov r1, #1 bl func_ov00_020c1908 ldr r1, [r4, #0x18] ldr r0, _02167054 ; =data_ov18_0216d604 add r1, r1, #0x2800 str r1, [r4, #0x4c] ldrh r0, [r0, #0x20] ldr r1, _02167058 ; =data_02050f54 mov r3, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 mov r0, r2, lsl #0x1 ldrsh r7, [r1, r0] add r0, r2, #1 mov r0, r0, lsl #0x1 ldrsh r5, [r1, r0] mov r0, #0x5000 umull sb, r8, r7, r0 mla r8, r7, r3, r8 mov r6, r7, asr #0x1f adds r7, sb, #0x800 mla r8, r6, r0, r8 mov r1, #1 ldr sl, [r4, #0x48] adc r6, r8, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 add r6, sl, r7 umull r8, r7, r5, r0 str r6, [r4, #0x48] mla r7, r5, r3, r7 mov lr, r5, asr #0x1f adds r5, r8, #0x800 mla r7, lr, r0, r7 ldr r6, [r4, #0x50] adc r0, r7, #0 mov r5, r5, lsr #0xc orr r5, r5, r0, lsl #20 add r0, r6, r5 ldr fp, _0216705c ; =data_ov18_0216d0bc str r0, [r4, #0x50] ldrsh r0, [fp, #4] add ip, r4, #0x500 mov r2, r1 strh r0, [ip, #0x18] ldr r0, _02167060 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097ff4 add r0, r4, #0x14 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp] ldr r0, [r4, #0x48] ldr r2, [sp, #8] sub r0, r1, r0 ldr r1, [r4, #0x50] sub r1, r2, r1 bl func_01ffa0f4 strh r0, [r4, #0x78] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02166f20 _02167054: .word data_ov18_0216d604 _02167058: .word data_02050f54 _0216705c: .word data_ov18_0216d0bc _02167060: .word data_027e0f74 .global func_ov18_02167064 arm_func_start func_ov18_02167064 func_ov18_02167064: ; 0x02167064 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x6c mov r6, r0 add r0, r6, #0x400 ldrsh r1, [r0, #0x76] sub r1, r1, #1 strh r1, [r0, #0x76] ldrsh r1, [r0, #0x76] cmp r1, #0 moveq r1, #0 streqh r1, [r0, #0x76] ldr r0, [r6, #0x428] add r0, r6, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #3 bne _0216710c ldrb r0, [r6, #0x474] cmp r0, #0 beq _0216710c ldr r0, [r6, #0x1e8] mov r1, #0x1000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _021670e0 ldr r0, _021675fc ; =data_027e0ffc ldr r1, _02167600 ; =0x00000464 add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc b _0216710c _021670e0: ldr r0, [r6, #0x1e8] mov r1, #0x8000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0216710c ldr r0, _021675fc ; =data_027e0ffc ldr r1, _02167604 ; =0x00000465 add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc _0216710c: ldrb r0, [r6, #0x474] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02167354 _0216711c: ; jump table b _02167354 ; case 0 b _0216712c ; case 1 b _021671ac ; case 2 b _02167338 ; case 3 _0216712c: ldr r0, [r6, #0x14] ldr r2, _02167608 ; =0x0000019a str r0, [sp, #0x60] ldr r0, [r6, #0x18] add r1, sp, #0x60 str r0, [sp, #0x64] ldr r3, [r6, #0x1c] add r0, r0, #0x2800 str r0, [sp, #0x64] str r3, [sp, #0x68] add r0, r6, #0x48 bl func_0202b2e8 ldr ip, [r6, #0x50] ldr r5, [r6, #0x48] mov r4, #0 ldr r3, [sp, #0x60] ldr r2, [sp, #0x68] add r0, sp, #0x54 add r1, sp, #0x48 str r5, [sp, #0x54] str r4, [sp, #0x58] str ip, [sp, #0x5c] str r3, [sp, #0x48] str r4, [sp, #0x4c] str r2, [sp, #0x50] bl func_01ff9ec0 cmp r0, #0x4000 bge _02167354 ldrb r0, [r6, #0x474] add r0, r0, #1 strb r0, [r6, #0x474] b _02167354 _021671ac: add r0, r6, #0x118 add r0, r0, #0x400 mov r1, #0 mov r2, #0xb6 bl func_0202b154 add r0, r6, #0x78 mov r1, #0 mov r2, #0xb6 bl func_0202b154 ldr r1, [r6, #0x14] ldr r5, _02167608 ; =0x0000019a str r1, [sp, #0x60] ldr r0, [r6, #0x18] mov r7, r5 str r0, [sp, #0x64] ldr r0, [r6, #0x1c] str r0, [sp, #0x68] ldr r0, [r6, #0x48] subs r4, r1, r0 ldr r1, [sp, #0x68] ldr r0, [r6, #0x50] rsbmi r4, r4, #0 subs r8, r1, r0 rsbmi r8, r8, #0 cmp r4, #0 cmple r8, #0 ble _02167258 cmp r4, r8 ldr r1, _02167608 ; =0x0000019a ble _02167240 mov r0, r4 bl func_01ff98e0 mov r1, r0 mov r0, r8 bl func_01ff98e0 mov r7, r0 b _02167258 _02167240: mov r0, r8 bl func_01ff98e0 mov r1, r0 mov r0, r4 bl func_01ff98e0 mov r5, r0 _02167258: ldr r1, [sp, #0x60] mov r4, #0 mov r2, r5 add r0, r6, #0x48 mov r5, r4 bl func_0202b0f4 cmp r0, #0 ldr r1, [sp, #0x68] mov r2, r7 add r0, r6, #0x50 movne r4, #1 bl func_0202b0f4 cmp r0, #0 ldr r0, [r6, #0x1e8] movne r5, #1 ldr r0, [r0, #0x14] mov r2, #0x29 cmp r0, #0x7000 add r0, r6, #0x470 ble _021672b4 mov r1, #0xa4 bl func_0202b0f4 b _021672bc _021672b4: mov r1, #0 bl func_0202b0f4 _021672bc: ldr r0, [r6, #0x18] ldr r2, [r6, #0x470] add r1, r0, #0x33 add r0, r6, #0x4c add r1, r1, #0x1300 bl func_0202b0f4 cmp r0, #0 cmpne r4, #0 cmpne r5, #0 beq _02167308 ldrb r2, [r6, #0x474] add r0, r6, #0x400 mov r1, #0xa add r2, r2, #1 strb r2, [r6, #0x474] ldrb r2, [r6, #0x475] add r2, r2, #1 strb r2, [r6, #0x475] strh r1, [r0, #0x76] _02167308: ldr r0, [r6, #0x1f4] add r1, sp, #0xc ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r6, #0x1f4] add r1, sp, #0xc ldrsh r3, [r2, #0x78] add r0, r6, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c b _02167354 _02167338: add r0, r6, #0x400 ldrsh r0, [r0, #0x76] cmp r0, #0 bne _02167354 mov r0, r6 mov r1, #6 bl func_ov18_02166b50 _02167354: ldrb r0, [r6, #0x475] cmp r0, #3 addls pc, pc, r0, lsl #2 b _021675f4 _02167364: ; jump table b _02167374 ; case 0 b _021673b8 ; case 1 b _021674bc ; case 2 b _021675b8 ; case 3 _02167374: mov r0, r6 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 addeq sp, sp, #0x6c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r0, #1 strb r0, [r6, #0x11a] ldrb r0, [r6, #0x475] add sp, sp, #0x6c add r0, r0, #1 strb r0, [r6, #0x475] ldrb r0, [r6, #0x474] add r0, r0, #1 strb r0, [r6, #0x474] ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021673b8: add r1, r0, #2 mov r0, r6 strb r1, [r6, #0x475] bl func_ov18_0216667c ldr ip, [r6, #0x48] ldr r5, [r6, #0x4c] ldr r4, [r6, #0x50] mov r1, #0x16000 ldr r0, _0216760c ; =data_ov18_0216d604 str r1, [sp] ldr r1, [r0, #0x28] add r2, sp, #0x3c str r1, [sp, #4] ldrsh r3, [r0, #0x24] ldrsh r1, [r6, #0x12] mov r0, r6 str ip, [sp, #0x3c] add r1, r3, r1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 str r5, [sp, #0x40] str r4, [sp, #0x44] str r1, [sp, #8] ldmia r2, {r1, r2, r3} bl func_ov18_02166810 add r0, r6, #0x14 add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r6, #0x12] ldr r0, _02167610 ; =data_027e0fc8 ldr r4, _02167614 ; =data_02050f54 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 mov r2, r6, lsl #0x1 ldrsh r5, [r4, r2] add r2, r6, #1 mov r2, r2, lsl #0x1 ldrsh r4, [r4, r2] mov r2, r5, asr #0x1f mov r6, r2, lsl #0xd mov r2, #0x800 mov r1, r3 orr r6, r6, r5, lsr #19 adds ip, r2, r5, lsl #13 adc r5, r6, #0 mov r6, ip, lsr #0xc orr r6, r6, r5, lsl #20 ldr r3, [sp, #0x30] ldr r5, [sp, #0x38] add r3, r3, r6 str r3, [sp, #0x30] mov r3, r4, asr #0x1f mov r3, r3, lsl #0xd orr r3, r3, r4, lsr #19 adds r4, r2, r4, lsl #13 adc r3, r3, #0 mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 add r3, r5, r4 ldr r0, [r0] str r3, [sp, #0x38] bl func_ov00_020bcf50 add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021674bc: ldr ip, [r6, #0x14] ldr r5, [r6, #0x1c] ldr r0, [r6, #0x4c] add r3, sp, #0x24 add r4, r0, #0x800 str ip, [r6, #0x4ec] str r4, [r6, #0x4f0] str r5, [r6, #0x4f4] add r0, r6, #0x4e0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0x2000 str r0, [sp] mov r0, r3 ldr r1, [r6, #0x4ec] ldr r2, _02167618 ; =0x00000333 mov r3, #0 str ip, [sp, #0x3c] str r5, [sp, #0x44] str r4, [sp, #0x40] bl func_0202b418 mov r0, #0x2000 str r0, [sp] ldr r1, [r6, #0x4f4] ldr r2, _02167618 ; =0x00000333 add r0, sp, #0x2c mov r3, #0 bl func_0202b418 mov r0, #0x1000 str r0, [sp] ldr r1, [r6, #0x4f0] ldr r2, _0216761c ; =0x00000666 add r0, sp, #0x28 mov r3, #0 bl func_0202b418 mov r0, #0x2000 str r0, [sp] ldr r1, [sp, #0x24] ldr r2, _02167618 ; =0x00000333 add r0, r6, #0x4e0 mov r3, #0 bl func_0202b418 mov r0, #0x2000 str r0, [sp] add r0, r6, #0xe8 ldr r1, [sp, #0x2c] ldr r2, _02167618 ; =0x00000333 add r0, r0, #0x400 mov r3, #0 bl func_0202b418 mov r0, #0x1000 str r0, [sp] add r0, r6, #0xe4 ldr r1, [sp, #0x28] ldr r2, _0216761c ; =0x00000666 add r0, r0, #0x400 mov r3, #0 bl func_0202b418 mov r0, r6 mov r1, #0 bl func_ov18_02166700 add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021675b8: ldr r0, [r6, #0x4c] ldr r5, [r6, #0x48] add r3, r0, #0x800 ldr r4, [r6, #0x50] ldr r2, _02167620 ; =0x000004cd add r1, sp, #0x3c str r2, [sp] mov r2, #0x1800 mov r0, r6 str r5, [sp, #0x3c] str r4, [sp, #0x44] str r3, [sp, #0x40] str r2, [sp, #4] ldmia r1, {r1, r2, r3} bl func_ov18_02166910 _021675f4: add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_02167064 _021675fc: .word data_027e0ffc _02167600: .word 0x00000464 _02167604: .word 0x00000465 _02167608: .word 0x0000019a _0216760c: .word data_ov18_0216d604 _02167610: .word data_027e0fc8 _02167614: .word data_02050f54 _02167618: .word 0x00000333 _0216761c: .word 0x00000666 _02167620: .word 0x000004cd .global func_ov18_02167624 arm_func_start func_ov18_02167624 func_ov18_02167624: ; 0x02167624 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1d8 mov r1, #0 bl func_ov14_02145f0c mov r0, #0 strb r0, [r4, #0x474] ldmia sp!, {r4, pc} arm_func_end func_ov18_02167624 .global func_ov18_02167644 arm_func_start func_ov18_02167644 func_ov18_02167644: ; 0x02167644 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x1f4] add r1, sp, #0 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r4, #0x1f4] add r1, sp, #0 ldrsh r3, [r2, #0x78] add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c ldr r0, _021676f0 ; =data_027e0f94 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x20] cmp r0, #1 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov00_020c2974 ldr r0, [sp, #0xc] cmp r0, #0xc000 addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} mov r0, #0x8000 ldr r1, [sp, #0x14] rsb r0, r0, #0 cmp r1, r0 addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} add r0, r0, #0x2000 cmp r1, r0 addgt sp, sp, #0x18 ldmgtia sp!, {r4, pc} mov r0, r4 mov r1, #5 bl func_ov18_02166b50 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02167644 _021676f0: .word data_027e0f94 .global func_ov18_021676f4 arm_func_start func_ov18_021676f4 func_ov18_021676f4: ; 0x021676f4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldr r0, [r4, #0x1f4] add r1, sp, #0xc ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0xc ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c ldrb r2, [r4, #0x468] mov r1, r0 cmp r2, #0 bne _02167744 ldr r2, _021677fc ; =0x00000aab add r0, r4, #0x78 bl func_0202b154 _02167744: add r1, sp, #0x18 add r0, r4, #0x1f8 bl func_ov14_0214aa2c ldrb r0, [r4, #0x468] cmp r0, #0 bne _021677c8 add r1, sp, #0x18 mov r0, r4 bl func_ov00_020c2938 add r1, r4, #0x200 ldrsh r3, [r4, #0x78] ldrsh r2, [r1, #0x64] sub r1, r0, r3 mov r1, r1, lsl #0x10 cmp r2, r1, asr #16 mov r3, r1, asr #0x10 bge _021677a4 sub r0, r0, r2 mov r0, r0, lsl #0x10 ldr r2, _021677fc ; =0x00000aab mov r1, r0, asr #0x10 add r0, r4, #0x78 bl func_0202b154 b _021677c8 _021677a4: rsb r1, r2, #0 cmp r3, r1 bge _021677c8 add r0, r0, r2 mov r0, r0, lsl #0x10 ldr r2, _021677fc ; =0x00000aab mov r1, r0, asr #0x10 add r0, r4, #0x78 bl func_0202b154 _021677c8: ldr r0, [r4, #0x1f4] add r1, sp, #0 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0 ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, #0 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_021676f4 _021677fc: .word 0x00000aab .global func_ov18_02167800 arm_func_start func_ov18_02167800 func_ov18_02167800: ; 0x02167800 ldr ip, _02167808 ; =func_ov14_0214591c bx ip .align 2, 0 arm_func_end func_ov18_02167800 _02167808: .word func_ov14_0214591c .global func_ov18_0216780c arm_func_start func_ov18_0216780c func_ov18_0216780c: ; 0x0216780c ldr ip, _02167814 ; =func_ov18_021676f4 bx ip .align 2, 0 arm_func_end func_ov18_0216780c _02167814: .word func_ov18_021676f4 .global func_ov18_02167818 arm_func_start func_ov18_02167818 func_ov18_02167818: ; 0x02167818 mov r1, #0 strb r1, [r0, #0x474] strb r1, [r0, #0x475] ldr ip, _02167834 ; =func_ov14_02145f0c add r0, r0, #0x1d8 mov r1, #3 bx ip .align 2, 0 arm_func_end func_ov18_02167818 _02167834: .word func_ov14_02145f0c .global func_ov18_02167838 arm_func_start func_ov18_02167838 func_ov18_02167838: ; 0x02167838 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x44 mov r4, r0 add r0, r4, #0x400 ldrsh r1, [r0, #0x76] sub r1, r1, #1 strh r1, [r0, #0x76] ldrsh r1, [r0, #0x76] cmp r1, #0 movle r1, #0 strleh r1, [r0, #0x76] ldr r0, [r4, #0x428] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #3 bne _021678d4 ldr r0, [r4, #0x1e8] mov r1, #0x1000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _021678a8 ldr r0, _02167dd8 ; =data_027e0ffc ldr r1, _02167ddc ; =0x00000464 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc b _021678d4 _021678a8: ldr r0, [r4, #0x1e8] mov r1, #0x8000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _021678d4 ldr r0, _02167dd8 ; =data_027e0ffc ldr r1, _02167de0 ; =0x00000465 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _021678d4: ldrb r2, [r4, #0x474] cmp r2, #5 addls pc, pc, r2, lsl #2 b _02167c18 _021678e4: ; jump table b _021678fc ; case 0 b _02167918 ; case 1 b _0216794c ; case 2 b _021679f8 ; case 3 b _02167a98 ; case 4 b _02167bac ; case 5 _021678fc: add r0, r4, #0x400 mov r1, #0x1e strh r1, [r0, #0x76] ldr r0, [r4, #0x1e8] mov r1, #0x800 str r1, [r0, #0x10] b _02167c18 _02167918: add r0, r4, #0x400 ldrsh r1, [r0, #0x76] cmp r1, #0 bne _02167c18 mov r1, #0x1e strh r1, [r0, #0x76] ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] ldrb r0, [r4, #0x474] add r0, r0, #1 strb r0, [r4, #0x474] b _02167c18 _0216794c: ldr r0, [r4, #0x18] ldr r1, [r4, #0x4c] add r0, r0, #0xcd add r0, r0, #0x1c00 cmp r1, r0 blt _0216798c add r0, r2, #1 strb r0, [r4, #0x474] add r0, r4, #0x400 mov r1, #0x1e strh r1, [r0, #0x76] mov r0, #0 str r0, [r4, #0x470] ldr r0, [r4, #0x1e8] mov r1, #0x1800 str r1, [r0, #0x10] _0216798c: ldr r0, [r4, #0x1e8] mov r2, #0x29 ldr r0, [r0, #0x14] cmp r0, #0x7000 add r0, r4, #0x470 bge _021679b0 mov r1, #0xa4 bl func_0202b0f4 b _021679b8 _021679b0: mov r1, #0 bl func_0202b0f4 _021679b8: ldr r2, [r4, #0x4c] ldr r0, [r4, #0x470] add r1, sp, #0x14 add r0, r2, r0 str r0, [r4, #0x4c] ldr r0, [r4, #0x1f4] ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r4, #0x1f4] add r1, sp, #0x14 ldrsh r3, [r2, #0x78] add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c b _02167c18 _021679f8: add r0, r4, #0x400 ldrsh r1, [r0, #0x76] cmp r1, #0 bne _02167a24 add r1, r2, #1 strb r1, [r4, #0x474] ldr r1, [r4, #0x1e8] mov r2, #0x2800 str r2, [r1, #0x10] mov r1, #0x1e strh r1, [r0, #0x76] _02167a24: ldr r0, _02167de4 ; =data_ov18_0216d604 ldr r2, _02167de8 ; =0x00000333 ldrsh r1, [r0, #0x22] add r0, r4, #0x78 bl func_0202b3bc ldr r0, [r4, #0x1e8] mov r2, #0x29 ldr r0, [r0, #0x14] cmp r0, #0x7000 bge _02167a5c add r0, r4, #0x470 mov r1, #0x148 bl func_0202b0f4 b _02167a68 _02167a5c: ldr r1, _02167dec ; =0xfffffee1 add r0, r4, #0x470 bl func_0202b0f4 _02167a68: ldr r0, [r4, #0x1f4] add r1, sp, #8 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r4, #0x1f4] add r1, sp, #8 ldrsh r3, [r2, #0x78] add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c b _02167c18 _02167a98: ldr r1, [r4, #0x470] add r0, r4, #0x400 add r2, r1, #8 str r2, [r4, #0x470] ldr r1, [r4, #0x4c] add r1, r1, r2 str r1, [r4, #0x4c] ldrsh r0, [r0, #0x76] cmp r0, #0 bne _02167aec ldrb r2, [r4, #0x474] mov r1, #1 ldr r0, _02167df0 ; =data_027e0f64 add r2, r2, #1 strb r2, [r4, #0x474] strb r1, [r4, #0x1ac] ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d98 add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02167aec: add r0, r4, #0x118 ldr r1, _02167df4 ; =0x00001555 add r0, r0, #0x400 mov r2, #0x16c bl func_0202b154 ldrh r1, [r4, #0x78] ldr r0, _02167df8 ; =data_02050f54 ldr r2, _02167de8 ; =0x00000333 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 mov r1, r6, lsl #0x1 ldrsh r1, [r0, r1] mov r0, #0 mvn r5, #0x80000000 umull r7, r3, r1, r2 mla r3, r1, r0, r3 mov r0, r1, asr #0x1f mla r3, r0, r2, r3 adds r7, r7, #0x800 adc r3, r3, #0 mov r1, r7, lsr #0xc orr r1, r1, r3, lsl #20 add r0, r4, #0x60 mov r3, #0x800 str r5, [sp] bl func_0202b418 mov r0, r5 add r1, r6, #1 str r0, [sp] ldr r0, _02167df8 ; =data_02050f54 mov r1, r1, lsl #0x1 ldrsh r6, [r0, r1] ldr r2, _02167de8 ; =0x00000333 mov r1, #0 umull r8, r7, r6, r2 mla r7, r6, r1, r7 mov r5, r6, asr #0x1f adds r1, r8, #0x800 mla r7, r5, r2, r7 adc r5, r7, #0 mov r1, r1, lsr #0xc add r0, r4, #0x68 mov r3, #0x800 orr r1, r1, r5, lsl #20 bl func_0202b418 mov r0, r4 bl func_ov14_02145258 b _02167c18 _02167bac: mov r0, #0 strb r0, [r4, #0x474] strb r0, [r4, #0x475] ldr r1, [r4, #0x34] sub r0, r0, #1 cmp r1, r0 beq _02167bdc ldr r0, _02167dfc ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl func_ov00_020c3674 bl func_ov18_02165690 _02167bdc: ldr r0, _02167e00 ; =data_027e0f74 mov r1, #0 ldr r0, [r0] mov r3, r1 mov r2, #1 bl func_ov00_02097ff4 ldr r0, _02167df0 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_0208726c mov r0, #0 add sp, sp, #0x44 strb r0, [r4, #0x118] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02167c18: ldrb r0, [r4, #0x475] cmp r0, #0 beq _02167c34 cmp r0, #1 beq _02167c78 add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02167c34: ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 beq _02167c58 ldr r0, _02167dfc ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl func_ov00_020c3674 bl func_ov18_021658ac _02167c58: ldrb r0, [r4, #0x475] add sp, sp, #0x44 add r0, r0, #1 strb r0, [r4, #0x475] ldrb r0, [r4, #0x474] add r0, r0, #1 strb r0, [r4, #0x474] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02167c78: ldr ip, _02167de4 ; =data_ov18_0216d604 ldr r6, [r4, #0x48] ldrsh r1, [ip, #0x26] ldrsh r0, [r4, #0x12] ldr r8, [r4, #0x50] ldr r5, _02167df8 ; =data_02050f54 add r0, r1, r0 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 r1, r0, lsl #0x1 mov r0, r1, lsl #0x1 add r1, r1, #1 ldrsh r7, [r5, r0] mov r1, r1, lsl #0x1 mov r0, #0x13000 ldrsh r1, [r5, r1] umull r2, sl, r7, r0 mov r3, #0 umull r5, lr, r1, r0 mla lr, r1, r3, lr str r6, [sp, #0x38] mov r1, r1, asr #0x1f mla lr, r1, r0, lr mla sl, r7, r3, sl mov r6, r7, asr #0x1f mla sl, r6, r0, sl adds r2, r2, #0x800 adc r6, sl, #0 mov r7, r2, lsr #0xc ldr sb, [r4, #0x4c] str r8, [sp, #0x40] add r8, sb, #0x800 adds r5, r5, #0x800 str r8, [sp, #0x3c] orr r7, r7, r6, lsl #20 mov r8, r5, lsr #0xc adc r6, lr, #0 orr r8, r8, r6, lsl #20 ldr r1, [r4, #0x18] ldr r0, [r4, #0x1c] ldr r6, [r4, #0x14] add r2, r4, #0x104 str r6, [r4, #0x504] str r1, [r4, #0x508] str r0, [r4, #0x50c] ldr r1, [r4, #0x504] mov r5, #0x3000 add r1, r1, r7 str r1, [r4, #0x504] ldr r6, [r2, #0x408] add r1, r2, #0x400 add r6, r6, r8 str r6, [r2, #0x408] ldr r7, [r4, #0x4c] ldr r6, [ip, #0x28] ldr r2, _02167de8 ; =0x00000333 add r6, r7, r6 str r6, [r4, #0x508] ldr r6, [r4, #0x4f8] add r0, sp, #0x2c str r6, [sp, #0x2c] ldr r6, [r4, #0x4fc] str r6, [sp, #0x30] ldr r6, [r4, #0x500] str r6, [sp, #0x34] str r5, [sp] bl func_0202b4e4 mov r2, r5 add r0, r4, #0xf8 str r2, [sp] ldr r2, _02167de8 ; =0x00000333 add r1, sp, #0x2c add r0, r0, #0x400 mov r3, #0 bl func_0202b4e4 ldr r2, _02167de8 ; =0x00000333 mov r1, r5 str r2, [sp] str r1, [sp, #4] add r1, sp, #0x38 mov r0, r4 ldmia r1, {r1, r2, r3} bl func_ov18_02166910 add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov18_02167838 _02167dd8: .word data_027e0ffc _02167ddc: .word 0x00000464 _02167de0: .word 0x00000465 _02167de4: .word data_ov18_0216d604 _02167de8: .word 0x00000333 _02167dec: .word 0xfffffee1 _02167df0: .word data_027e0f64 _02167df4: .word 0x00001555 _02167df8: .word data_02050f54 _02167dfc: .word data_027e0fe4 _02167e00: .word data_027e0f74 .global func_ov18_02167e04 arm_func_start func_ov18_02167e04 func_ov18_02167e04: ; 0x02167e04 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 ldr r2, _02167ec0 ; =data_027e0f64 mov r4, r0 ldr r1, [r2] add r0, r4, #0x78 ldr r1, [r1, #4] mov r3, #5 ldr r5, [r1, #0x270] ldr lr, [r1, #0x274] ldr ip, [r1, #0x26c] add r1, r0, #0x400 str ip, [r4, #0x4e0] str r5, [r4, #0x4e4] str lr, [r4, #0x4e8] str r3, [r4, #0x47c] ldr r0, [r2] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #0 str r1, [sp] add r2, r4, #0x78 ldr r0, _02167ec0 ; =data_027e0f64 str r1, [sp, #4] ldr r0, [r0] add r1, r4, #0x4e0 ldr r0, [r0, #4] add r3, r2, #0x400 mov r2, #2 bl func_ov00_02089318 mov r1, #0 mov r0, r4 strb r1, [r4, #0x1ac] bl func_ov14_0214591c mov r3, #0 strb r3, [r4, #0x475] strb r3, [r4, #0x474] ldr r0, _02167ec4 ; =data_027e0f74 mov r1, #1 ldr r0, [r0] mov r2, r1 bl func_ov00_02097ff4 mov r0, r4 mov r1, #1 bl func_ov00_020c1908 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02167e04 _02167ec0: .word data_027e0f64 _02167ec4: .word data_027e0f74 .global func_ov18_02167ec8 arm_func_start func_ov18_02167ec8 func_ov18_02167ec8: ; 0x02167ec8 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x34 mov r4, r0 add r0, r4, #0x400 ldrsh r1, [r0, #0x76] sub r1, r1, #1 strh r1, [r0, #0x76] ldrsh r1, [r0, #0x76] cmp r1, #0 moveq r1, #0 streqh r1, [r0, #0x76] ldrb r0, [r4, #0x474] cmp r0, #0 beq _02167f10 cmp r0, #1 beq _02167f1c cmp r0, #2 b _02167ff8 _02167f10: add r0, r0, #1 strb r0, [r4, #0x474] b _02167ff8 _02167f1c: add r3, r4, #0x14 add r7, sp, #0x28 ldmia r3, {r0, r1, r2} stmia r7, {r0, r1, r2} ldr r6, [r4, #0x14] ldr r0, _021681dc ; =data_027e0fc8 str r6, [sp, #0x28] ldr r1, [r3, #4] ldr r2, _021681e0 ; =0xffffe38e str r1, [sp, #0x2c] ldr r5, [r3, #8] ldr r1, _021681e4 ; =data_02050f54 str r5, [sp, #0x30] ldrsh r3, [r4, #0x78] mov r8, #0x1800 mov sb, #0 add r2, r3, r2 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov ip, r2, lsl #0x1 mov r2, ip, lsl #0x1 ldrsh r3, [r1, r2] add r2, ip, #1 mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] umull r1, ip, r3, r8 adds r1, r1, #0x800 mov lr, r1, lsr #0xc mov r1, r7 mla ip, r3, sb, ip mov r7, r3, asr #0x1f mla ip, r7, r8, ip adc r3, ip, #0 orr lr, lr, r3, lsl #20 add r3, r6, lr str r3, [sp, #0x28] umull r6, r3, r2, r8 mla r3, r2, sb, r3 mov r2, r2, asr #0x1f mla r3, r2, r8, r3 adds r6, r6, #0x800 adc r2, r3, #0 mov r3, r6, lsr #0xc orr r3, r3, r2, lsl #20 add r2, r5, r3 str r2, [sp, #0x30] ldr r0, [r0] mov r2, #0x800 bl func_ov00_020bcf50 ldrb r0, [r4, #0x474] add r0, r0, #1 strb r0, [r4, #0x474] _02167ff8: ldrb r1, [r4, #0x475] cmp r1, #3 addls pc, pc, r1, lsl #2 b _021681ac _02168008: ; jump table b _02168018 ; case 0 b _021680ac ; case 1 b _02168118 ; case 2 b _02168148 ; case 3 _02168018: ldr r2, [r4, #0x48] ldr r3, [r4, #0x4c] ldr r1, [r4, #0x50] mov r0, #0x13000 str r0, [sp] mov r0, #0x7800 str r0, [sp, #4] sub r7, r3, #0x800 ldr r0, _021681e8 ; =data_ov18_0216d604 ldrsh r3, [r4, #0x12] ldrsh r6, [r0, #0x26] add r5, sp, #0x10 mov r0, r4 add r3, r6, r3 mov r3, r3, lsl #0x10 mov r3, r3, asr #0x10 str r7, [sp, #0x14] str r2, [sp, #0x10] str r1, [sp, #0x18] str r3, [sp, #8] ldmia r5, {r1, r2, r3} bl func_ov18_02166810 ldr r0, _021681ec ; =data_027e0f94 add r1, sp, #0x1c ldmib r0, {r2, r3} ldr r5, [r0] add r2, r2, #0x800 mov r0, r4 str r5, [sp, #0x1c] str r3, [sp, #0x24] str r2, [sp, #0x20] ldmia r1, {r1, r2, r3} bl func_ov18_021668d4 ldrb r0, [r4, #0x475] add r0, r0, #1 strb r0, [r4, #0x475] b _021681ac _021680ac: ldr r0, _021681ec ; =data_027e0f94 mov r2, #0x800 ldmib r0, {r1, r5} ldr r6, [r0] add r3, r1, #0x800 str r2, [sp] mov r2, #0x1000 add r1, sp, #0x1c mov r0, r4 str r6, [sp, #0x1c] str r5, [sp, #0x24] str r3, [sp, #0x20] str r2, [sp, #4] ldmia r1, {r1, r2, r3} bl func_ov18_02166910 ldr r0, _021681dc ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 beq _021681ac add r0, r4, #0x400 mov r1, #0xa strh r1, [r0, #0x76] ldrb r0, [r4, #0x475] add r0, r0, #1 strb r0, [r4, #0x475] b _021681ac _02168118: add r0, r4, #0x400 ldrsh r0, [r0, #0x76] cmp r0, #0 bne _0216813c add r0, r1, #1 strb r0, [r4, #0x475] mov r0, #0 str r0, [r4, #0x510] str r0, [r4, #0x514] _0216813c: mov r0, r4 bl func_ov18_021676f4 b _021681ac _02168148: mov r0, r4 bl func_ov18_021676f4 ldr r3, [r4, #0x48] ldr r2, [r4, #0x4c] ldr r1, [r4, #0x50] mov r0, #0x13000 str r0, [sp] mov r0, #0x7800 str r0, [sp, #4] ldr r0, _021681e8 ; =data_ov18_0216d604 ldrsh r7, [r4, #0x12] ldrsh r0, [r0, #0x26] ldr r6, _021681f0 ; =0x00000333 add r5, sp, #0x10 add r0, r0, r7 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp, #8] mov r0, r4 str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] str r6, [sp, #0xc] ldmia r5, {r1, r2, r3} bl func_ov18_021669a0 _021681ac: mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #4 bl func_ov18_02166b50 add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov18_02167ec8 _021681dc: .word data_027e0fc8 _021681e0: .word 0xffffe38e _021681e4: .word data_02050f54 _021681e8: .word data_ov18_0216d604 _021681ec: .word data_027e0f94 _021681f0: .word 0x00000333 .global func_ov18_021681f4 arm_func_start func_ov18_021681f4 func_ov18_021681f4: ; 0x021681f4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 ldr r1, [r0] mov r4, r0 ldr r1, [r1, #0xb4] blx r1 mov r0, r4 bl func_ov14_0214591c mov r0, r4 mov r1, #1 bl func_ov00_020c1908 mov r0, #0 strb r0, [r4, #0x474] strb r0, [r4, #0x475] add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x10] mov r5, #0x13000 sub r1, r1, #0x800 mov lr, #0x7800 str r1, [sp, #0x10] stmia sp, {r5, lr} ldr ip, _02168284 ; =data_ov18_0216d604 ldrsh r1, [r4, #0x12] ldrsh r2, [ip, #0x26] mov r0, r4 add r1, r2, r1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 str r1, [sp, #8] ldmia r3, {r1, r2, r3} bl func_ov18_02166810 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_021681f4 _02168284: .word data_ov18_0216d604 .global func_ov18_02168288 arm_func_start func_ov18_02168288 func_ov18_02168288: ; 0x02168288 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x400 ldrsh r1, [r0, #0x76] sub r1, r1, #1 strh r1, [r0, #0x76] ldrsh r1, [r0, #0x76] cmp r1, #0 moveq r1, #0 streqh r1, [r0, #0x76] mov r0, r4 bl func_ov18_021676f4 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 beq _021682dc mov r0, r4 mov r1, #4 bl func_ov18_02166b50 _021682dc: ldrb r0, [r4, #0x51e] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 mov r1, #0 bl func_ov18_02166700 ldmia sp!, {r4, pc} arm_func_end func_ov18_02168288 .global func_ov18_021682f8 arm_func_start func_ov18_021682f8 func_ov18_021682f8: ; 0x021682f8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xf4 mov r6, r0 cmp r1, #0 ldrneb r0, [r6, #0xa5] ldreqb r0, [r6, #0xa4] cmp r0, #0 addeq sp, sp, #0xf4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _021686c8 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0xbf0 add r0, r0, #0x3000 bl func_ov00_020c4588 ldrb r1, [r6, #0x51d] mov r4, r0 ldr r0, [r4, #8] cmp r1, #0 beq _02168368 add r0, r4, r0 ldr r1, _021686cc ; =data_ov18_0216b5f8 add r0, r0, #4 bl func_0201e388 mov r1, r0 mov r0, r4 mov r2, #0 bl func_02019570 b _02168388 _02168368: add r0, r4, r0 ldr r1, _021686d0 ; =data_ov18_0216b60c add r0, r0, #4 bl func_0201e388 mov r1, r0 mov r0, r4 mov r2, #0x1f bl func_02019570 _02168388: add r0, r6, #0x500 ldrh r1, [r0, #0x1a] ldr r3, _021686d4 ; =data_02050f54 add r0, sp, #0x88 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] blx func_01ff8230 add r0, r6, #0x500 ldrh r1, [r0, #0x18] ldr r3, _021686d4 ; =data_02050f54 add r0, sp, #0xd0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] blx func_01ff81f8 ldrh r1, [r6, #0x78] ldr r3, _021686d4 ; =data_02050f54 add r0, sp, #0xac mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] blx func_01ff8214 add r0, sp, #0x88 add r1, sp, #0xd0 add r2, sp, #0x64 bl func_01ff8690 add r0, sp, #0x64 add r1, sp, #0xac mov r2, r0 bl func_01ff8690 add r0, r6, #0x1d8 add r1, sp, #0x64 add r2, r6, #0x48 bl func_ov00_020c5e88 ldr r0, _021686d8 ; =data_027e0fe4 add r1, r6, #0x34 ldr r0, [r0] bl func_ov00_020c3674 ldr r1, _021686dc ; =data_ov18_0216d604 cmp r0, #0 str r0, [r1, #0x2c] addeq sp, sp, #0xf4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _021686e0 ; =data_02051054 add r0, sp, #0x34 ldrsh r2, [r1, #0xf6] ldrsh r1, [r1, #0xf4] blx func_01ff8a80 add r0, sp, #0 bl func_01ff892c ldr r0, _021686dc ; =data_ov18_0216d604 add r1, sp, #0 ldr r4, [r0, #0x2c] add r0, sp, #0x34 ldr r3, [r4, #0x14] mov r2, r1 str r3, [sp, #0x24] ldr r3, [r4, #0x18] add r3, r3, #0x66 add r3, r3, #0x1200 str r3, [sp, #0x28] ldr r3, [r4, #0x1c] str r3, [sp, #0x2c] bl func_01ff8e84 ldr r0, _021686e4 ; =0x00001ccd add fp, sp, #0 add r4, sp, #0xc add r5, sp, #0x18 bl func_01ff991c ldr r3, [r6, #0x4c] ldr r2, [r6, #0x18] mov r1, #0 sub r3, r3, r2 smull r2, r0, r3, r0 adds r2, r2, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 rsb r7, r2, #0x1000 mov r0, #0x3000 umull r6, r3, r7, r0 mla r3, r7, r1, r3 mov r2, r7, asr #0x1f mla r3, r2, r0, r3 adds r2, r6, #0x800 adc r0, r3, #0 mov sl, r2, lsr #0xc orr sl, sl, r0, lsl #20 cmp sl, #0 movle sl, r1 ldr r0, _021686e8 ; =0x000004cd mov r1, #0 umull r7, r6, sl, r0 mla r6, sl, r1, r6 mov r8, sl, asr #0x1f adds r7, r7, #0x800 mla r6, r8, r0, r6 mov sb, r7, lsr #0xc adc r6, r6, #0 orr sb, sb, r6, lsl #20 ldmia fp, {r7, ip} smull r6, lr, r7, sb adds r6, r6, #0x800 umull r3, r2, sl, r0 mla r2, sl, r1, r2 adc r7, lr, #0 mov r6, r6, lsr #0xc orr r6, r6, r7, lsl #20 str r6, [fp] smull r7, r6, ip, sb adds r7, r7, #0x800 adc r6, r6, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 ldr ip, [fp, #8] str r7, [fp, #4] smull r7, r6, ip, sb adds r7, r7, #0x800 mla r2, r8, r0, r2 adc r6, r6, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 adds r6, r3, #0x800 adc r3, r2, #0 mov r2, r6, lsr #0xc str r7, [fp, #8] ldr sb, [r4] orr r2, r2, r3, lsl #20 smull r6, r3, sb, r2 adds r6, r6, #0x800 ldr r7, [r4, #4] adc r3, r3, #0 mov r6, r6, lsr #0xc orr r6, r6, r3, lsl #20 str r6, [r4] smull r6, r3, r7, r2 adds r6, r6, #0x800 adc r3, r3, #0 mov r6, r6, lsr #0xc orr r6, r6, r3, lsl #20 ldr r7, [r4, #8] str r6, [r4, #4] smull r6, r2, r7, r2 adds r6, r6, #0x800 adc r2, r2, #0 mov r6, r6, lsr #0xc orr r6, r6, r2, lsl #20 str r6, [r4, #8] umull r4, r2, sl, r0 mla r2, sl, r1, r2 adds r4, r4, #0x800 mla r2, r8, r0, r2 ldr r3, [r5] mov r7, r4, lsr #0xc adc r0, r2, #0 orr r7, r7, r0, lsl #20 smull r2, r0, r3, r7 adds r2, r2, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 mov r3, #0x1f000 umull r6, r4, sl, r3 mla r4, sl, r1, r4 ldmib r5, {r0, sl} smull sb, fp, r0, r7 mov r0, #0x800 adds r0, sb, r0 smull sb, r7, sl, r7 mla r4, r8, r3, r4 adc sl, fp, r1 adds sb, sb, #0x800 adc r7, r7, r1 mov r3, r0, lsr #0xc mov r8, sb, lsr #0xc adds r6, r6, #0x800 adc r0, r4, r1 mov r4, r6, lsr #0xc orr r4, r4, r0, lsl #20 orr r3, r3, sl, lsl #20 orr r8, r8, r7, lsl #20 stmia r5, {r2, r3, r8} mov r4, r4, asr #0xc ldr r0, _021686ec ; =data_ov00_020e9360 strb r1, [sp, #0x30] strb r4, [sp, #0x31] bl func_ov00_02079e68 strb r0, [sp, #0x32] mov r2, #0 ldr r0, _021686f0 ; =data_ov00_020e9370 add r1, sp, #0 strb r2, [sp, #0x33] bl func_ov18_0216941c add sp, sp, #0xf4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_021682f8 _021686c8: .word data_027e0fec _021686cc: .word data_ov18_0216b5f8 _021686d0: .word data_ov18_0216b60c _021686d4: .word data_02050f54 _021686d8: .word data_027e0fe4 _021686dc: .word data_ov18_0216d604 _021686e0: .word data_02051054 _021686e4: .word 0x00001ccd _021686e8: .word 0x000004cd _021686ec: .word data_ov00_020e9360 _021686f0: .word data_ov00_020e9370 .global func_ov18_021686f4 arm_func_start func_ov18_021686f4 func_ov18_021686f4: ; 0x021686f4 stmdb sp!, {r4, lr} ldr r1, _02168728 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xe8 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov18_0216872c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021686f4 _02168728: .word data_027e0f84 .global func_ov18_0216872c arm_func_start func_ov18_0216872c func_ov18_0216872c: ; 0x0216872c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _021687dc ; =data_ov00_020e26b4 ldr r0, _021687e0 ; =data_ov00_020e2f04 str r1, [r4] str r0, [r4, #0x38] mov r0, #1 strb r0, [r4, #0x3c] mov r2, #0 strb r2, [r4, #0x3d] str r2, [r4, #0x40] str r2, [r4, #0x44] ldr r0, _021687e4 ; =data_ov00_020e2dd8 str r2, [r4, #0x48] ldr r1, _021687e8 ; =data_ov18_0216d1c8 str r0, [r4, #0x38] ldr r0, _021687ec ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x9c bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x64 blx func_ov00_020a9588 mvn r0, #0 str r0, [r4, #0xc0] str r0, [r4, #0xc4] mov r1, #0 str r1, [r4, #0xc8] str r1, [r4, #0xcc] mov r0, #0x1000 str r0, [r4, #0xd0] str r1, [r4, #0xd4] str r1, [r4, #0xd8] strh r1, [r4, #0xdc] strh r1, [r4, #0xde] mov r0, #0x1f strh r0, [r4, #0xe0] strh r1, [r4, #0xe2] strh r1, [r4, #0xe4] mov r0, r4 strh r1, [r4, #0xe6] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216872c _021687dc: .word data_ov00_020e26b4 _021687e0: .word data_ov00_020e2f04 _021687e4: .word data_ov00_020e2dd8 _021687e8: .word data_ov18_0216d1c8 _021687ec: .word data_027e0f68 .global func_ov18_021687f0 arm_func_start func_ov18_021687f0 func_ov18_021687f0: ; 0x021687f0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020a95a4 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_021687f0 .global func_ov18_02168818 arm_func_start func_ov18_02168818 func_ov18_02168818: ; 0x02168818 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x64 blx func_ov00_020a95a4 add r0, r4, #0x38 bl func_ov00_02094824 mov r0, r4 bl func_ov00_0208b5a4 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02168818 .global func_ov18_02168848 arm_func_start func_ov18_02168848 func_ov18_02168848: ; 0x02168848 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x38 mov r4, r0 ldr r0, [r4, #4] mov ip, #0 orr r0, r0, #4 str r0, [r4, #4] mov r0, #8 strb r0, [r4, #0x12] ldr r7, [r4, #0x1c] ldr r3, [r4, #0x20] ldr r1, [r4, #0x18] add r0, r7, #0x33 add r5, r0, #0x1300 bic r0, ip, #0x1f sub r8, r3, #0x800 sub r2, r1, #0x800 add r6, r3, #0x800 orr r0, r0, #6 orr r3, r0, #0x400000 add lr, r1, #0x800 add r0, sp, #0x2c add ip, sp, #8 str r7, [sp, #0x30] str r8, [sp, #0x34] str r2, [sp, #0x2c] ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} add r0, sp, #0x20 add ip, sp, #0x14 str lr, [sp, #0x20] str r5, [sp, #0x24] str r6, [sp, #0x28] ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} mov r0, r4 str r3, [sp, #4] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr ip, [r0] ldr r3, [sp, #4] ldr ip, [ip, #0x14] add r1, sp, #8 blx ip mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov18_02168848 .global func_ov18_02168924 arm_func_start func_ov18_02168924 func_ov18_02168924: ; 0x02168924 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _02168950: ; jump table ldmia sp!, {r4, pc} ; case 0 b _02168960 ; case 1 b _021689e8 ; case 2 ldmia sp!, {r4, pc} ; case 3 _02168960: ldrh r0, [r4, #0xe6] ldr r1, _02168a78 ; =0x00002ee0 ldr r2, _02168a7c ; =data_02050f54 add r0, r0, #1 strh r0, [r4, #0xe6] ldrh r3, [r4, #0xe6] ldrsh ip, [r4, #0xe2] add r0, r4, #0xe2 mul r1, r3, r1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r2, [r2, r1] mov r3, ip, lsl #0xc mov r1, #0 smull ip, r2, r3, r2 adds r3, ip, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 mov r3, r3, asr #0xc mov r2, #0x64 strh r3, [r4, #0xe4] bl func_0202b154 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, pc} _021689e8: ldrh r2, [r4, #0xe6] ldr r1, _02168a80 ; =0x000005dc add r0, r4, #0xde add r2, r2, #1 strh r2, [r4, #0xe6] mov r2, #0x96 bl func_0202b154 ldrsh r2, [r4, #0xde] ldr r1, _02168a84 ; =0x000038e4 add r0, r4, #0xdc bl func_0202b154 ldr r0, [r4, #0xd8] sub r1, r0, #0xcd str r1, [r4, #0xd8] ldr r0, [r4, #0xd4] add r0, r0, r1 str r0, [r4, #0xd4] cmp r0, #0 movle r0, #0 strle r0, [r4, #0xd4] ldrh r0, [r4, #0xe6] cmp r0, #0xa ldmloia sp!, {r4, pc} ldrsh r0, [r4, #0xe0] sub r0, r0, #2 strh r0, [r4, #0xe0] ldrsh r0, [r4, #0xe0] cmp r0, #0 ldmgtia sp!, {r4, pc} mov r0, r4 ldr r3, [r0] mov r1, #3 ldr r3, [r3, #0x80] mov r2, #0 blx r3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02168924 _02168a78: .word 0x00002ee0 _02168a7c: .word data_02050f54 _02168a80: .word 0x000005dc _02168a84: .word 0x000038e4 .global func_ov18_02168a88 arm_func_start func_ov18_02168a88 func_ov18_02168a88: ; 0x02168a88 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 str r1, [r4, #8] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02168be8 _02168aa4: ; jump table b _02168ab4 ; case 0 b _02168ac0 ; case 1 b _02168b3c ; case 2 b _02168bd4 ; case 3 _02168ab4: mov r0, #0 strh r0, [r4, #0xe2] b _02168be8 _02168ac0: mov r3, #0 ldr r0, _02168bf4 ; =data_027e0ffc ldr r1, _02168bf8 ; =0x000001c5 strh r3, [r4, #0xe6] add r2, r4, #0x18 bl func_ov00_020ceacc ldr r2, [r4, #0x1c] ldr r0, _02168bfc ; =data_027e0e58 ldr r3, [r4, #0x20] ldr r1, [r4, #0x18] add r2, r2, #0x800 str r1, [sp, #8] str r2, [sp, #0xc] str r3, [sp, #0x10] ldr r0, [r0] mov r4, #0 str r4, [sp] ldr r1, _02168c00 ; =0x0000025f add r2, sp, #8 mov r3, #4 str r4, [sp, #4] bl func_ov00_0207c1b0 ldr r0, _02168bfc ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x260 str r4, [sp] mov r3, #4 str r4, [sp, #4] bl func_ov00_0207c1b0 b _02168be8 _02168b3c: add r0, r4, #0x64 ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, _02168c04 ; =data_ov18_0216b620 add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0xc0] add r0, r4, #0x64 ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r2, [r0, #8] ldr r1, _02168c08 ; =data_ov18_0216b634 add r0, r0, r2 add r0, r0, #4 bl func_0201e388 str r0, [r4, #0xc4] str r4, [r4, #0x94] add r0, r4, #0x68 ldr r1, _02168c0c ; =func_ov18_02168d78 bl func_02018cb8 add r0, r4, #0x38 mov r1, #3 bl func_ov00_02094884 mov r3, #0 strh r3, [r4, #0xe6] mov r0, #0x1f strh r0, [r4, #0xe0] strh r3, [r4, #0xdc] strh r3, [r4, #0xde] mov r0, #0x400 str r0, [r4, #0xd8] sub r1, r0, #0xa9 add r2, r4, #0x18 ldr r0, _02168bf4 ; =data_027e0ffc bl func_ov00_020ceacc b _02168be8 _02168bd4: add r0, r4, #0x38 mov r1, #3 bl func_ov00_02094884 mov r0, #0 strh r0, [r4, #0xe0] _02168be8: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_02168a88 _02168bf4: .word data_027e0ffc _02168bf8: .word 0x000001c5 _02168bfc: .word data_027e0e58 _02168c00: .word 0x0000025f _02168c04: .word data_ov18_0216b620 _02168c08: .word data_ov18_0216b634 _02168c0c: .word func_ov18_02168d78 .global func_ov18_02168c10 arm_func_start func_ov18_02168c10 func_ov18_02168c10: ; 0x02168c10 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #8] cmp r0, #0 bne _02168d60 cmp r1, #1 bne _02168cbc ldr r0, [r2] cmp r0, #0 ldrne r1, [r2, #8] cmpne r1, #0 bne _02168c74 ldr r0, _02168d6c ; =data_027e0f94 ldr r2, [r4, #0x18] ldr r1, [r0] ldr ip, [r4, #0x20] ldr r3, [r0, #8] sub r0, r2, r1 str r0, [r4, #0xc8] mov r0, #0 str r0, [r4, #0xcc] sub r0, ip, r3 str r0, [r4, #0xd0] b _02168c84 _02168c74: str r0, [r4, #0xc8] mov r0, #0 str r0, [r4, #0xcc] str r1, [r4, #0xd0] _02168c84: add r0, r4, #0xc8 mov r1, #0x4000 bl func_ov00_020a61ac add r0, r4, #0xc8 bl func_01fffb4c mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r4, pc} _02168cbc: cmp r1, #0xb blt _02168d60 ldr r0, _02168d70 ; =data_027e0fe4 ldr r0, [r0] bl func_ov00_020c35d8 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r2, [r0, #4] ldr r1, _02168d74 ; =0x424c5354 cmp r2, r1 bne _02168d60 ldr lr, [r0, #0x48] ldr ip, [r0, #0x4c] ldr r3, [r0, #0x50] ldr r1, [r4, #0x18] ldr r2, [r4, #0x20] sub r0, r1, lr str r0, [r4, #0xc8] mov r0, #0 str r0, [r4, #0xcc] sub r2, r2, r3 add r0, r4, #0xc8 mov r1, #0x4000 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] str r2, [r4, #0xd0] bl func_ov00_020a61ac add r0, r4, #0xc8 bl func_01fffb4c mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r4, pc} _02168d60: mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02168c10 _02168d6c: .word data_027e0f94 _02168d70: .word data_027e0fe4 _02168d74: .word 0x424c5354 .global func_ov18_02168d78 arm_func_start func_ov18_02168d78 func_ov18_02168d78: ; 0x02168d78 ldr r1, _02168d98 ; =func_ov18_02168da0 mov r2, #2 str r1, [r0, #0x24] ldr r1, _02168d9c ; =func_ov18_02168db8 strb r2, [r0, #0x92] str r1, [r0, #0x1c] strb r2, [r0, #0x90] bx lr .align 2, 0 arm_func_end func_ov18_02168d78 _02168d98: .word func_ov18_02168da0 _02168d9c: .word func_ov18_02168db8 .global func_ov18_02168da0 arm_func_start func_ov18_02168da0 func_ov18_02168da0: ; 0x02168da0 mov r1, r0 ldr r0, [r1, #4] ldr ip, _02168db4 ; =func_ov18_02168dd0 ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov18_02168da0 _02168db4: .word func_ov18_02168dd0 .global func_ov18_02168db8 arm_func_start func_ov18_02168db8 func_ov18_02168db8: ; 0x02168db8 mov r1, r0 ldr r0, [r1, #4] ldr ip, _02168dcc ; =func_ov18_02168e6c ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov18_02168db8 _02168dcc: .word func_ov18_02168e6c .global func_ov18_02168dd0 arm_func_start func_ov18_02168dd0 func_ov18_02168dd0: ; 0x02168dd0 stmdb sp!, {r3, lr} ldr r2, [r0, #8] cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r3, pc} ldr r2, [r1, #8] tst r2, #0x10 ldrneb r3, [r1, #0xae] ldr r2, [r0, #0xc0] mvneq r3, #0 cmp r3, r2 ldmneia sp!, {r3, pc} ldr lr, [r1, #0xb4] mov ip, #0 ldr r2, [lr] ldr r3, _02168e68 ; =data_02050f54 bic r2, r2, #6 str r2, [lr] ldr lr, [r0, #0xd4] ldr r2, [r1, #0xb4] str lr, [r2, #0x50] ldr r2, [r1, #0xb4] str ip, [r2, #0x4c] ldr r2, [r1, #0xb4] str ip, [r2, #0x54] ldrh r2, [r0, #0xdc] ldr ip, [r1, #0xb4] add r1, r0, #0xc8 mov r0, r2, 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 r3, [r3, r0] add r0, ip, #0x28 bl func_01ff8248 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02168dd0 _02168e68: .word data_02050f54 .global func_ov18_02168e6c arm_func_start func_ov18_02168e6c func_ov18_02168e6c: ; 0x02168e6c ldr r2, [r0, #8] cmp r2, #2 cmpne r2, #3 bxne lr ldr r2, [r1, #8] ldr r3, [r1, #0xb0] tst r2, #8 ldrneb r2, [r1, #0xad] ldr r1, [r0, #0xc4] mvneq r2, #0 cmp r2, r1 bxne lr ldrsh r0, [r0, #0xe0] ldr r1, [r3, #0xc] bic r1, r1, #0x1f0000 and r0, r0, #0xff orr r0, r1, r0, lsl #16 str r0, [r3, #0xc] bx lr arm_func_end func_ov18_02168e6c .global func_ov18_02168eb8 arm_func_start func_ov18_02168eb8 func_ov18_02168eb8: ; 0x02168eb8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 mov r5, r0 ldr r0, [r5, #8] mov r4, r1 cmp r0, #1 bne _02168f34 mov r0, #0x1000 mov r1, #0 str r0, [sp, #0x10] str r1, [sp, #8] str r1, [sp, #0xc] ldrh r1, [r5, #0xe4] ldr r3, _02168f74 ; =data_02050f54 add r0, sp, #0x14 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r3, [r3, r1] add r1, sp, #8 bl func_01ff8248 add r0, r5, #0x64 ldr r3, [r0] add r1, sp, #0x14 ldr r3, [r3, #0x14] add r2, r5, #0x18 blx r3 b _02168f48 _02168f34: add r0, r5, #0x64 ldr r2, [r0] add r1, r5, #0x18 ldr r2, [r2, #0x18] blx r2 _02168f48: ldr r2, _02168f78 ; =0x000004cd mov ip, #0 mov r0, r5 mov r1, r4 mov r3, r2 str ip, [sp] mov r4, #0x1f str r4, [sp, #4] bl func_ov00_0208b8e0 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02168eb8 _02168f74: .word data_02050f54 _02168f78: .word 0x000004cd .global func_ov18_02168f7c arm_func_start func_ov18_02168f7c func_ov18_02168f7c: ; 0x02168f7c mov r0, #0x29 bx lr arm_func_end func_ov18_02168f7c .global func_ov18_02168f84 arm_func_start func_ov18_02168f84 func_ov18_02168f84: ; 0x02168f84 stmdb sp!, {r3, lr} ldr r1, _02168fb0 ; =data_027e0fe0 mov r0, #0x164 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_02168fb4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_02168f84 _02168fb0: .word data_027e0fe0 .global func_ov18_02168fb4 arm_func_start func_ov18_02168fb4 func_ov18_02168fb4: ; 0x02168fb4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r0, _02168fe4 ; =data_ov18_0216d268 mov r1, #0 str r0, [r4] str r1, [r4, #0x158] sub r0, r1, #1 str r0, [r4, #0x15c] mov r0, r4 str r1, [r4, #0x160] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02168fb4 _02168fe4: .word data_ov18_0216d268 .global func_ov18_02168fe8 arm_func_start func_ov18_02168fe8 func_ov18_02168fe8: ; 0x02168fe8 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _02169020 ; =data_ov18_0216d268 add r0, r4, #0x158 str r1, [r4] bl func_ov00_020b7e6c add r0, r4, #0x158 bl func_ov00_020b7e6c add r0, r4, #0x158 bl func_ov00_020b7df0 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02168fe8 _02169020: .word data_ov18_0216d268 .global func_ov18_02169024 arm_func_start func_ov18_02169024 func_ov18_02169024: ; 0x02169024 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _02169064 ; =data_ov18_0216d268 add r0, r4, #0x158 str r1, [r4] bl func_ov00_020b7e6c add r0, r4, #0x158 bl func_ov00_020b7e6c add r0, r4, #0x158 bl func_ov00_020b7df0 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02169024 _02169064: .word data_ov18_0216d268 .global func_ov18_02169068 arm_func_start func_ov18_02169068 func_ov18_02169068: ; 0x02169068 ldr r1, _02169080 ; =data_027e0e58 mov r2, r0 ldr r0, [r1] ldr ip, _02169084 ; =func_ov00_0207c444 add r1, r2, #0x158 bx ip .align 2, 0 arm_func_end func_ov18_02169068 _02169080: .word data_027e0e58 _02169084: .word func_ov00_0207c444 .global func_ov18_02169088 arm_func_start func_ov18_02169088 func_ov18_02169088: ; 0x02169088 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 mov r2, #0 str r2, [r4, #0x7c] str r2, [r4, #0x80] str r2, [r4, #0x84] str r2, [r4, #0x88] ldr r1, [r4, #0x7c] mov r0, #0x4000 str r1, [r4, #0x8c] ldr r1, [r4, #0x80] str r1, [r4, #0x90] ldr r1, [r4, #0x84] str r1, [r4, #0x94] ldr r1, [r4, #0x88] str r1, [r4, #0x98] str r2, [r4, #0xa8] str r2, [r4, #0xac] str r2, [r4, #0xb0] str r0, [r4, #0xb4] ldrh r0, [r4, #0x20] cmp r0, #1 bne _021690f0 ldr r1, _02169148 ; =0x00000173 b _021690f4 _021690f0: ldr r1, _0216914c ; =0x0000012d _021690f4: mov r0, #2 str r1, [r4, #0x15c] str r0, [r4, #0x160] ldr r1, [r4, #0x48] add r0, sp, #0xc str r1, [sp, #0xc] ldr r2, [r4, #0x4c] ldr r1, _02169150 ; =data_ov18_0216d254 str r2, [sp, #0x10] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x14] bl func_01ff9bc4 ldr r0, _02169154 ; =data_027e0e58 add r2, sp, #0xc ldr r0, [r0] add r1, r4, #0x158 bl func_ov00_0207c474 mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02169088 _02169148: .word 0x00000173 _0216914c: .word 0x0000012d _02169150: .word data_ov18_0216d254 _02169154: .word data_027e0e58 .global func_ov18_02169158 arm_func_start func_ov18_02169158 func_ov18_02169158: ; 0x02169158 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r0 mov r5, r1 add r0, r4, #0xa4 add r2, r4, #0x48 bl func_ov00_0207a1c8 mov r0, r4 mov r1, r5 bl func_ov00_020c313c cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov00_020c1cf8 ldr r0, [r4, #0x154] cmp r0, #1 bgt _021691bc mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02169224 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x390 bl func_ov00_020cec60 _021691bc: ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 beq _02169214 ldr r1, [r4, #0x48] add r0, sp, #4 str r1, [sp, #4] ldr r2, [r4, #0x4c] ldr r1, _02169228 ; =data_ov18_0216d254 str r2, [sp, #8] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0xc] bl func_01ff9bc4 ldr r0, _0216922c ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] add r1, r4, #0x158 bl func_ov00_0207c474 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02169214: add r0, r4, #0x158 bl func_ov00_020b7e6c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_02169158 _02169224: .word data_027e0ffc _02169228: .word data_ov18_0216d254 _0216922c: .word data_027e0e58 .global func_ov18_02169230 arm_func_start func_ov18_02169230 func_ov18_02169230: ; 0x02169230 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov18_02169230 .global func_ov18_02169244 arm_func_start func_ov18_02169244 func_ov18_02169244: ; 0x02169244 stmdb sp!, {r4, lr} mov r4, r0 bl func_0201f704 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02169244 .global func_ov18_02169258 arm_func_start func_ov18_02169258 func_ov18_02169258: ; 0x02169258 stmdb sp!, {r4, lr} mov r4, r0 bl func_0201f710 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_02169258 .global func_ov18_0216926c arm_func_start func_ov18_0216926c func_ov18_0216926c: ; 0x0216926c ldr r0, _02169278 ; =data_ov18_0216d674 ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov18_0216926c _02169278: .word data_ov18_0216d674 .global func_ov18_0216927c arm_func_start func_ov18_0216927c func_ov18_0216927c: ; 0x0216927c stmdb sp!, {r3, lr} ldr r0, _021692bc ; =data_ov18_0216d674 ldr r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r1, _021692c0 ; =data_027e0ce0 mov r0, #4 ldr r1, [r1, #4] mov r2, r0 bl func_0202e9dc cmp r0, #0 beq _021692b0 bl func_ov18_02169244 _021692b0: ldr r1, _021692bc ; =data_ov18_0216d674 str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216927c _021692bc: .word data_ov18_0216d674 _021692c0: .word data_027e0ce0 .global func_ov18_021692c4 arm_func_start func_ov18_021692c4 func_ov18_021692c4: ; 0x021692c4 stmdb sp!, {r4, lr} ldr r0, _021692fc ; =data_ov18_0216d674 ldr r4, [r0] cmp r4, #0 ldmeqia sp!, {r4, pc} beq _021692ec mov r0, r4 bl func_ov18_02169258 mov r0, r4 bl func_0202ea0c _021692ec: ldr r0, _021692fc ; =data_ov18_0216d674 mov r1, #0 str r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_021692c4 _021692fc: .word data_ov18_0216d674 .global func_ov18_02169300 arm_func_start func_ov18_02169300 func_ov18_02169300: ; 0x02169300 stmdb sp!, {r3, r4, r5, lr} mov r4, r2 mov r2, r1 mov r1, #0 mov r5, r0 bl func_020214d4 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov18_02169378 mov r1, r0 mov r0, r5 bl func_0201f7a8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_02169300 .global func_ov18_0216933c arm_func_start func_ov18_0216933c func_ov18_0216933c: ; 0x0216933c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] cmp r0, #0 movne r0, #1 moveq r0, #0 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov18_02169378 mov r1, r0 mov r0, r4 mov r2, #2 bl func_0201f7d0 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216933c .global func_ov18_02169378 arm_func_start func_ov18_02169378 func_ov18_02169378: ; 0x02169378 stmdb sp!, {r3, lr} sub r0, r1, #0xf000 mov r1, #0xe000 rsb r1, r1, #0 bl func_01ff98e0 rsb r0, r0, r0, lsl #7 add r0, r0, #0x800 mov r0, r0, asr #0xc cmp r0, #0x7f movgt r0, #0x7f ldmgtia sp!, {r3, pc} cmp r0, #0 movlt r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov18_02169378 .global func_ov18_021693b0 arm_func_start func_ov18_021693b0 func_ov18_021693b0: ; 0x021693b0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c ldr r2, _02169418 ; =data_027e0e60 mov r6, r0 ldr r5, [r2] mov r0, r5 bl func_ov00_02083c50 mov r4, r0 mov r0, r5 mov r1, r6 bl func_ov00_02083c24 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] add r1, sp, #4 add r2, sp, #0 add r3, sp, #0x10 mov r0, r5 str r4, [sp, #0xc] bl func_ov00_02083f80 ldr r0, [sp, #0x14] cmp r0, #0xf80 movlt r0, #1 movge r0, #0 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_021693b0 _02169418: .word data_027e0e60 .global func_ov18_0216941c arm_func_start func_ov18_0216941c func_ov18_0216941c: ; 0x0216941c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x900 ldrsh ip, [r0, #8] cmp ip, #4 ldmgeia sp!, {r4, pc} ldr r3, [r4, #0x900] mov r2, #0x34 mov r0, r1 smlabb r1, ip, r2, r3 bl func_02007984 add r0, r4, #0x900 ldrsh r1, [r0, #8] add r1, r1, #1 strh r1, [r0, #8] ldmia sp!, {r4, pc} arm_func_end func_ov18_0216941c .global func_ov18_0216945c arm_func_start func_ov18_0216945c func_ov18_0216945c: ; 0x0216945c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 ldr r1, _021695dc ; =data_027e0d44 add r4, r0, #0x900 ldr r2, [r1] ldrsh r1, [r4, #8] ldr r6, [r2, #0x80] ldr r5, [r2, #0x88] ldr r3, [r2, #0x84] ldr r2, [r2, #0x8c] mov r6, r6, lsl #0x10 mov r5, r5, lsl #0x10 mov r3, r3, lsl #0x10 mov r2, r2, lsl #0x10 mov r6, r6, lsr #0xd mov r5, r5, lsr #0xd mov r3, r3, lsr #0xd mov r2, r2, lsr #0xd ldr sb, [r0, #0x900] str r6, [sp, #0x18] str r5, [sp, #0x1c] str r3, [sp, #0x10] str r2, [sp, #0x14] cmp r1, #0 mov sl, #0 addle sp, sp, #0x20 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r8, _021695e0 ; =0x040004a8 sub r0, r8, #0x10 str r0, [sp] ldr r0, _021695e4 ; =0xf0001000 sub r7, r8, #4 add r0, r0, #0xe000 str r0, [sp, #4] ldr r0, _021695e4 ; =0xf0001000 sub r6, r8, #0x64 rsb r0, r0, #0x10000 str r0, [sp, #8] sub r0, r8, #0x60 sub fp, r8, #0xa8 sub r5, r8, #0x20 str r0, [sp, #0xc] _02169504: ldrb r2, [sb, #0x30] add r1, sp, #0x18 mov r0, sb ldr r2, [r1, r2, lsl #2] ldr r1, _021695e8 ; =0x192f0000 orr r1, r1, r2, lsr #3 str r1, [r8] ldrb r2, [sb, #0x30] add r1, sp, #0x10 ldr r1, [r1, r2, lsl #2] mov r1, r1, lsr #0x4 str r1, [r8, #4] ldrb r2, [sb, #0x33] ldrb r3, [sb, #0x32] ldrb r1, [sb, #0x31] orr r2, r2, #0x80 orr r2, r2, r3, lsl #24 orr r1, r2, r1, lsl #16 str r1, [r7] mov r1, #0 str r1, [r6] bl func_0200567c mov r0, #1 str r0, [r8, #0x58] ldr r0, _021695ec ; =0x04000040 str fp, [r5] str r0, [r0, #0x450] mov r0, #0x400 str r0, [r5] ldr r1, _021695e4 ; =0xf0001000 ldr r0, [sp] add sl, sl, #1 str r1, [r0] mov r0, #0 str r0, [r5] ldr r1, [sp, #4] ldr r0, [sp] add sb, sb, #0x34 str r1, [r0] mov r0, #0x4000000 str r0, [r5] ldr r1, [sp, #8] ldr r0, [sp] str r1, [r0] mov r0, #0 str r0, [r8, #0x5c] ldr r0, [sp, #0xc] mov r1, #1 str r1, [r0] ldrsh r0, [r4, #8] cmp sl, r0 blt _02169504 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_0216945c _021695dc: .word data_027e0d44 _021695e0: .word 0x040004a8 _021695e4: .word 0xf0001000 _021695e8: .word 0x192f0000 _021695ec: .word 0x04000040 .global func_ov18_021695f0 arm_func_start func_ov18_021695f0 func_ov18_021695f0: ; 0x021695f0 stmdb sp!, {r3, r4, r5, lr} mov r2, #0x540 str r2, [sp] mov r5, r0 ldr r0, [r5, #8] ldr r2, _0216962c ; =data_ov00_020eacd0 ldr r3, _02169630 ; =0x00000eb8 mov r4, #0 blx func_ov00_0207a300 cmp r0, #0 movne r4, #1 mov r0, r5 mov r1, r4 blx func_ov09_02114520 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_021695f0 _0216962c: .word data_ov00_020eacd0 _02169630: .word 0x00000eb8 .global func_ov18_02169634 arm_func_start func_ov18_02169634 func_ov18_02169634: ; 0x02169634 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r4, r0 bl func_0203951c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, _021697d8 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf0dc ldrb r0, [r0, #0x58a] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r6, _021697dc ; =data_027e0d78 add r3, r4, #0x100 ldr r1, [r4, #0x14] ldr r0, [r4, #0x18] mov r1, r1, lsl #0x3 mov r0, r0, lsl #0x3 ldrh ip, [r6, #0x34] ldrsh r8, [r3, #0x58] add r2, r1, r1, lsr #31 ldrsh lr, [r3, #0x5a] add r5, r0, r0, lsr #31 ldr r7, [r6, #0x10] sub r3, r8, r2, asr #1 ldr r8, [r6, #0x14] sub r2, lr, r5, asr #1 tst ip, #1 sub r5, r1, #2 sub r6, r0, #2 sub r7, r7, r3 sub r8, r8, r2 beq _0216970c cmp r7, #0 blt _0216970c cmp r7, r5 bgt _0216970c cmp r8, #0 blt _0216970c cmp r8, r6 bgt _0216970c mov r3, #1 strb r3, [r4, #0x57d] mov r0, r4 mov r4, #2 mov r1, r7 mov r2, r8 mov r3, #6 str r4, [sp] bl func_ov18_021699e4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0216970c: ldrb lr, [r4, #0x57d] cmp lr, #0 ldrne r0, _021697dc ; =data_027e0d78 ldrneb r1, [r0, #0xc] cmpne r1, #0 beq _021697a8 ldr ip, [r0, #0x20] mov r1, #6 sub r2, ip, r2 str r2, [sp] str r1, [sp, #4] mov r1, #2 str r1, [sp, #8] ldr ip, [r0, #0x1c] mov r0, r4 mov r1, r7 mov r2, r8 sub r3, ip, r3 bl func_ov18_021697e4 ldr r0, _021697dc ; =data_027e0d78 cmp r7, #0 addlt sp, sp, #0xc ldr r1, [r0, #0x10] ldr r2, [r0, #0x14] ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} cmp r7, r5 addgt sp, sp, #0xc ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} cmp r8, #0 addlt sp, sp, #0xc ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} cmp r8, r6 addgt sp, sp, #0xc ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, _021697e0 ; =data_ov00_020ee6f8 mov r3, #0x1e bl func_ov00_020d61b0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021697a8: cmp lr, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} tst ip, #2 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r0, #0 strb r0, [r4, #0x57d] mov r0, #1 strb r0, [r4, #0x57e] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_02169634 _021697d8: .word data_027e103c _021697dc: .word data_027e0d78 _021697e0: .word data_ov00_020ee6f8 .global func_ov18_021697e4 arm_func_start func_ov18_021697e4 func_ov18_021697e4: ; 0x021697e4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 ldr r8, [sp, #0x40] mov r7, r1 ldr r1, [sp, #0x38] ldr sb, [sp, #0x3c] mov r4, r0 mov sl, r2 str r3, [sp, #4] cmp r8, #0 str r1, [sp, #0x38] addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r1, r3 subs r6, r1, r7 ldr r1, [sp, #0x38] sub r5, r1, sl cmpeq r5, #0 bne _0216984c ldr r2, [sp, #0x38] mov r1, r3 mov r3, sb str r8, [sp] bl func_ov18_021699e4 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216984c: cmp r6, #0 strge r6, [sp, #8] rsblt r0, r6, #0 strlt r0, [sp, #8] cmp r5, #0 movge fp, r5 ldr r1, [sp, #8] rsblt fp, r5, #0 mov r1, r1, lsl #0xc mov r0, fp, lsl #0xc smull ip, r3, r1, r1 smull r2, r1, r0, r0 adds r0, ip, #0x800 adc r3, r3, #0 adds r2, r2, #0x800 mov r0, r0, lsr #0xc adc r1, r1, #0 mov r2, r2, lsr #0xc orr r0, r0, r3, lsl #20 orr r2, r2, r1, lsl #20 add r0, r0, r2 bl func_01ff9a80 ldr r0, [sp, #8] cmp r0, fp blt _02169948 mov r0, r5, lsl #0xc mov r1, r6, lsl #0xc bl func_01ff9b24 ldr r0, [sp, #4] mov r5, sl, lsl #0xc cmp r7, r0 movle fp, #1 mvngt fp, #0 bl func_01ff9a18 mov r6, r0 ldr r0, [sp, #0x38] cmp sl, r0 bgt _021698f0 cmp r6, #0 rsblt r6, r6, #0 b _021698f8 _021698f0: cmp r6, #0 rsbgt r6, r6, #0 _021698f8: ldr r0, [sp, #8] mov sl, #0 cmp r0, #0 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216990c: add r2, r5, #0x800 mov r0, r4 mov r1, r7 mov r3, sb mov r2, r2, asr #0xc str r8, [sp] bl func_ov18_021699e4 ldr r0, [sp, #8] add sl, sl, #1 cmp sl, r0 add r7, r7, fp add r5, r5, r6 ble _0216990c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02169948: mov r0, r6, lsl #0xc mov r1, r5, lsl #0xc bl func_01ff9b24 ldr r0, [sp, #0x38] mov r5, r7, lsl #0xc cmp sl, r0 movle r0, #1 strle r0, [sp, #0xc] mvngt r0, #0 strgt r0, [sp, #0xc] bl func_01ff9a18 mov r6, r0 ldr r0, [sp, #4] cmp r7, r0 bgt _02169990 cmp r6, #0 rsblt r6, r6, #0 b _02169998 _02169990: cmp r6, #0 rsbgt r6, r6, #0 _02169998: cmp fp, #0 mov r7, #0 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021699a8: add r1, r5, #0x800 mov r0, r4 mov r2, sl mov r3, sb mov r1, r1, asr #0xc str r8, [sp] bl func_ov18_021699e4 ldr r0, [sp, #0xc] add r7, r7, #1 cmp r7, fp add r5, r5, r6 add sl, sl, r0 ble _021699a8 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov18_021697e4 .global func_ov18_021699e4 arm_func_start func_ov18_021699e4 func_ov18_021699e4: ; 0x021699e4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 mov r7, r0 ldr r0, [r7, #0x18] ldr r4, [r7, #0x14] movs r6, r1 mov r1, r4, lsl #0x3 mov r0, r0, lsl #0x3 mov r5, r2 mov r4, r3 addmi sp, sp, #4 sub r1, r1, #2 sub r0, r0, #2 ldmmiia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} cmp r6, r1 addgt sp, sp, #4 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} cmp r5, #0 addlt sp, sp, #4 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} cmp r5, r0 addgt sp, sp, #4 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} ldrb sl, [sp, #0x28] mov sb, #0 cmp sl, #0 addle sp, sp, #4 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} sub r8, sl, #1 _02169a58: mov r0, r7 mov r1, r6 add r2, r6, r8 add r3, r5, sb str r4, [sp] bl func_0203e2e8 add sb, sb, #1 cmp sb, sl blt _02169a58 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov18_021699e4 .global func_ov18_02169a84 arm_func_start func_ov18_02169a84 func_ov18_02169a84: ; 0x02169a84 stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 bl func_ov00_020d0460 mov r0, #0 str r0, [r4, #8] mov r1, #0x28000 str r1, [r4, #0xc] mov r3, #3 add r1, r4, #0x14 mov r2, #0x540 strb r3, [r4, #0x10] bl func_020078f4 ldr r0, _02169b64 ; =data_ov00_020eacd0 add r1, r4, #0x14 mov r2, #0x540 bl func_02007984 mov r1, #0 add r0, r4, #0x158 str r1, [r4, #0x554] ldr r2, _02169b68 ; =func_ov18_0215fda4 ldr r3, _02169b6c ; =func_ov18_02169b70 str r2, [sp] add r0, r0, #0x400 mov r1, #2 mov r2, #0x18 bl func_0204f614 mov r2, #0 mov r1, #0x3c add r0, r4, #0x500 strh r1, [r0, #0x88] strb r2, [r4, #0x58a] mov r0, #0x90 str r0, [sp] mov r0, #1 stmib sp, {r0, r2} add r0, r4, #0x158 add r0, r0, #0x400 mov r1, #0x47 mov r3, r2 str r2, [sp, #0xc] bl func_ov00_020cfed0 mov r0, #0x91 str r0, [sp] mov r2, #1 str r2, [sp, #4] mov r0, #0 str r0, [sp, #8] str r0, [sp, #0xc] add r0, r4, #0x570 mov r1, #0x47 mov r3, r2 bl func_ov00_020cfed0 mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02169a84 _02169b64: .word data_ov00_020eacd0 _02169b68: .word func_ov18_0215fda4 _02169b6c: .word func_ov18_02169b70 .global func_ov18_02169b70 arm_func_start func_ov18_02169b70 func_ov18_02169b70: ; 0x02169b70 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020d05dc ldr r0, _02169ba8 ; =data_ov00_020e899c mov r1, #0 str r0, [r4] strb r1, [r4, #0x10] sub r0, r1, #1 strb r0, [r4, #0x11] strb r0, [r4, #0x12] strb r0, [r4, #0x13] mov r0, r4 str r1, [r4, #0x14] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_02169b70 _02169ba8: .word data_ov00_020e899c .global func_ov18_02169bac arm_func_start func_ov18_02169bac func_ov18_02169bac: ; 0x02169bac stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c mov r4, r0 str r1, [sp] movs r0, r1 beq _02169cec add r0, sp, #4 bl func_02037628 mov r6, #6 mov r5, #0x80 mov r3, #0x7a strh r3, [sp, #0x16] ldr r0, _02169d20 ; =data_027e0c68 ldr r1, _02169d24 ; =0x00140018 add r2, sp, #4 str r6, [sp, #0x10] strh r5, [sp, #0x14] mov r3, #0 bl func_02036f68 str r0, [r4, #0x554] mov r1, #7 strb r1, [r0, #0x151] ldr r3, [r4, #0x554] mov r2, #0 ldr r0, _02169d28 ; =data_027e0cbc mov r1, #0x2a strb r2, [r3, #0x57e] bl func_ov03_020fa874 ldr r0, _02169d2c ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cf9dc ldr r0, [r4, #0x554] ldr r0, [r0, #0x114] bl func_0203d1b4 mov r7, #0 mov sl, #1 mov r5, r6 mov r8, r7 mov sb, r7 mov fp, r7 mov r3, sl mov r6, sl _02169c5c: mov r2, sb, lsr #0x5 add r2, r4, r2, lsl #2 ldr r2, [r2, #0x14] and r1, sb, #0x1f tst r2, r6, lsl r1 movne r1, r5 moveq r1, fp and ip, r1, #0xff ldrb lr, [r0, r8] mov r1, sl, lsr #0x5 and r2, sl, #0x1f orr ip, lr, ip strb ip, [r0, r8] add r1, r4, r1, lsl #2 ldr r1, [r1, #0x14] add sb, sb, #2 tst r1, r3, lsl r2 movne r1, #6 moveq r1, #0 ldrb r2, [r0, r8] and r1, r1, #0xff add sl, sl, #2 orr r1, r2, r1, lsl #4 strb r1, [r0, r8] tst r1, #0xff add r8, r8, #1 movne r7, #1 cmp r8, #0x1500 blo _02169c5c cmp r7, #0 ldrne r0, [r4, #0x554] movne r1, #1 strneb r1, [r0, #0x57e] ldrsh r0, [r4, #4] strh r0, [r4] b _02169d10 _02169cec: ldr r0, _02169d2c ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cf9dc mov r1, #0 ldr r0, _02169d28 ; =data_027e0cbc mov r2, r1 bl func_ov03_020fa874 _02169d10: ldr r0, [sp] strb r0, [r4, #0x58a] add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02169bac _02169d20: .word data_027e0c68 _02169d24: .word 0x00140018 _02169d28: .word data_027e0cbc _02169d2c: .word data_027e103c .global func_ov18_02169d30 arm_func_start func_ov18_02169d30 func_ov18_02169d30: ; 0x02169d30 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldrb r0, [sl, #0x58a] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sl, #0x554] cmp r0, #0 beq _02169d64 bl func_0203951c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02169d64: ldr r0, _02169e20 ; =data_027e0cbc mov r1, #0x16 bl func_0203d7e0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov sb, #0 add r0, sl, #0x158 mov r6, sb mov r8, sl add r7, r0, #0x400 mov fp, sb mov r4, #1 mov r5, sb _02169d9c: cmp r6, #0 bne _02169db4 ldrsh r1, [sl] ldrsh r0, [sl, #2] cmp r1, r0 bne _02169e04 _02169db4: mov r0, r7 ldr ip, [r0] mov r1, r5 ldr ip, [ip] mov r2, r5 mov r3, r5 blx ip tst r0, #8 beq _02169e04 cmp sb, #0 bne _02169df8 add r0, r8, #0x500 ldrh r1, [r0, #0x62] mov r0, sl bl func_ov18_02169f58 cmp r0, #0 beq _02169e00 _02169df8: mov sb, r4 b _02169e04 _02169e00: mov sb, fp _02169e04: add r6, r6, #1 cmp r6, #2 add r7, r7, #0x18 add r8, r8, #0x18 blt _02169d9c mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02169d30 _02169e20: .word data_027e0cbc .global func_ov18_02169e24 arm_func_start func_ov18_02169e24 func_ov18_02169e24: ; 0x02169e24 stmdb sp!, {r3, lr} ldrb r2, [r0, #0x58a] cmp r2, #0 ldmeqia sp!, {r3, pc} cmp r1, #0 ldmneia sp!, {r3, pc} ldr r1, [r0, #0x554] cmp r1, #0 ldmeqia sp!, {r3, pc} ldrb r1, [r1, #0x57e] cmp r1, #0 bne _02169e5c bl func_ov00_020d054c ldmia sp!, {r3, pc} _02169e5c: bl func_ov00_020d0594 ldmia sp!, {r3, pc} arm_func_end func_ov18_02169e24 .global func_ov18_02169e64 arm_func_start func_ov18_02169e64 func_ov18_02169e64: ; 0x02169e64 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r4, r0 ldrb r0, [r4, #0x58a] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [r4, #0x554] cmp r0, #0 beq _02169e9c bl func_0203951c cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} _02169e9c: ldr r0, _02169f54 ; =data_027e0cbc mov r1, #0x16 bl func_0203d7e0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldrsh r0, [r4] ldrsh r2, [r4, #2] cmp r0, r2 moveq r3, #0 beq _02169ef0 ldrsh r1, [r4, #4] cmp r0, r1 moveq r3, #0x1000 beq _02169ef0 sub r0, r0, r2 sub r1, r1, r2 mov r0, r0, lsl #0xc mov r1, r1, lsl #0xc bl func_01ff98e0 mov r3, r0 _02169ef0: ldrb r0, [r4, #0x10] ldr r1, [r4, #8] ldr r2, [r4, #0xc] bl func_ov00_020d02bc add r1, r0, #0x800 add r0, r4, #0x158 mov r6, #0 mov r7, r1, asr #0xc add r8, r0, #0x400 mov r5, r6 mov r4, r6 _02169f1c: cmp r6, #0 moveq r2, r7 movne r2, r5 mov r0, r8 mov r1, r4 mov r3, r4 str r4, [sp] bl func_ov00_020d00c4 add r6, r6, #1 cmp r6, #2 add r8, r8, #0x18 blt _02169f1c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_02169e64 _02169f54: .word data_027e0cbc .global func_ov18_02169f58 arm_func_start func_ov18_02169f58 func_ov18_02169f58: ; 0x02169f58 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, r0 cmp r1, #0x90 beq _02169f74 cmp r1, #0x91 beq _0216a0a0 b _0216a0cc _02169f74: ldr r0, _0216a0d4 ; =data_ov00_020eec9c mov r1, #4 bl func_ov00_020d77e4 add r1, r4, #0x14 mov r0, #0 mov r2, #0x540 bl func_020078f4 ldr r0, _0216a0d8 ; =data_027e0c68 ldr r0, [r0, #0x28] ldr r0, [r0, #0x114] bl func_0203d1b4 mov lr, #1 mov r3, #0 mov ip, r3 mov fp, r3 mov r2, lr mov sb, lr mov r1, lr mov r5, lr mov r8, lr _02169fc4: ldrb r6, [r0, r3] and r6, r6, #0xf cmp r6, #0 movgt r6, r2 movle r6, fp cmp r6, #0 mov r6, ip, lsr #0x5 beq _02169ffc add sl, r4, r6, lsl #2 ldr r7, [sl, #0x14] and r6, ip, #0x1f orr r6, r7, r1, lsl r6 str r6, [sl, #0x14] b _0216a014 _02169ffc: add r7, r4, r6, lsl #2 and sl, ip, #0x1f ldr r6, [r7, #0x14] mvn sl, sb, lsl sl and r6, r6, sl str r6, [r7, #0x14] _0216a014: ldrb r6, [r0, r3] mov r6, r6, asr #0x4 cmp r6, #0 movgt r6, #1 movle r6, #0 cmp r6, #0 mov r6, lr, lsr #0x5 beq _0216a04c add sl, r4, r6, lsl #2 ldr r7, [sl, #0x14] and r6, lr, #0x1f orr r6, r7, r8, lsl r6 str r6, [sl, #0x14] b _0216a064 _0216a04c: add r7, r4, r6, lsl #2 and sl, lr, #0x1f ldr r6, [r7, #0x14] mvn sl, r5, lsl sl and r6, r6, sl str r6, [r7, #0x14] _0216a064: add r3, r3, #1 cmp r3, #0x1500 add ip, ip, #2 add lr, lr, #2 blo _02169fc4 ldr r0, _0216a0dc ; =data_027e0d54 add r1, r4, #0x14 bl func_ov18_021695f0 ldr r0, _0216a0d8 ; =data_027e0c68 ldr r0, [r0, #0x28] bl func_02038b40 mov r0, r4 mov r1, #0 bl func_ov18_02169bac b _0216a0cc _0216a0a0: ldr r0, _0216a0d4 ; =data_ov00_020eec9c mov r1, #0x11 bl func_ov00_020d77e4 ldr r0, [r4, #0x554] mov r1, #0 ldr r2, [r0] ldr r2, [r2, #0x10] blx r2 ldr r0, [r4, #0x554] mov r1, #0 strb r1, [r0, #0x57e] _0216a0cc: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_02169f58 _0216a0d4: .word data_ov00_020eec9c _0216a0d8: .word data_027e0c68 _0216a0dc: .word data_027e0d54 .global func_ov18_0216a0e0 arm_func_start func_ov18_0216a0e0 func_ov18_0216a0e0: ; 0x0216a0e0 stmdb sp!, {r3, lr} ldr r1, _0216a10c ; =data_027e0fe0 mov r0, #0x164 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov18_0216a110 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216a0e0 _0216a10c: .word data_027e0fe0 .global func_ov18_0216a110 arm_func_start func_ov18_0216a110 func_ov18_0216a110: ; 0x0216a110 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r1, _0216a140 ; =data_ov18_0216d324 mov r0, #0x1000 str r1, [r4] str r0, [r4, #0x158] mov r1, #0 str r1, [r4, #0x15c] mov r0, r4 str r1, [r4, #0x160] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216a110 _0216a140: .word data_ov18_0216d324 .global func_ov18_0216a144 arm_func_start func_ov18_0216a144 func_ov18_0216a144: ; 0x0216a144 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216a144 .global func_ov18_0216a158 arm_func_start func_ov18_0216a158 func_ov18_0216a158: ; 0x0216a158 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_ov18_0216a158 .global func_ov18_0216a174 arm_func_start func_ov18_0216a174 func_ov18_0216a174: ; 0x0216a174 stmdb sp!, {r3, lr} mov ip, #0 str ip, [r0, #0x7c] str ip, [r0, #0x80] str ip, [r0, #0x84] str ip, [r0, #0x88] ldr r2, [r0, #0x7c] mov r1, #1 str r2, [r0, #0x8c] ldr r3, [r0, #0x80] mov r2, r1 str r3, [r0, #0x90] ldr r3, [r0, #0x84] str r3, [r0, #0x94] ldr r3, [r0, #0x88] str r3, [r0, #0x98] str ip, [r0, #0xa8] str ip, [r0, #0xac] str ip, [r0, #0xb0] str ip, [r0, #0xb4] bl func_ov18_0216a2d8 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov18_0216a174 .global func_ov18_0216a1d0 arm_func_start func_ov18_0216a1d0 func_ov18_0216a1d0: ; 0x0216a1d0 stmdb sp!, {r3, lr} str r1, [r0, #0x158] ldr lr, [r0, #0x50] ldr ip, [r0, #0x4c] ldr r3, [r0, #0x48] str r3, [r0, #0x7c] str ip, [r0, #0x80] str lr, [r0, #0x84] str r1, [r0, #0x88] ldr r1, [r0, #0x7c] str r1, [r0, #0x8c] ldr r1, [r0, #0x80] str r1, [r0, #0x90] ldr r1, [r0, #0x84] str r1, [r0, #0x94] ldr r1, [r0, #0x88] str r1, [r0, #0x98] ldr lr, [r0, #0x158] ldr ip, [r0, #0x50] ldr r3, [r0, #0x4c] ldr r1, [r0, #0x48] str r1, [r0, #0xa8] str r3, [r0, #0xac] str ip, [r0, #0xb0] str lr, [r0, #0xb4] str r2, [r0, #0x15c] ldmia sp!, {r3, pc} arm_func_end func_ov18_0216a1d0 .global func_ov18_0216a23c arm_func_start func_ov18_0216a23c func_ov18_0216a23c: ; 0x0216a23c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 ldrne r0, [r5, #0x130] cmpne r0, #0 beq _0216a2c4 cmp r0, #1 beq _0216a270 cmp r0, #2 beq _0216a2a0 b _0216a2c4 _0216a270: mov r0, r5 ldr r2, [r0] mov r1, #1 ldr r2, [r2, #0x40] blx r2 cmp r0, #0 beq _0216a2c4 mov r0, r5 mov r1, #2 mov r2, #0 bl func_ov18_0216a2d8 b _0216a2c4 _0216a2a0: ldr r0, [r5, #0x160] sub r0, r0, #1 str r0, [r5, #0x160] cmp r0, #0 bgt _0216a2c4 mov r0, r5 mov r1, #1 mov r2, #0 bl func_ov18_0216a2d8 _0216a2c4: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_0216a23c .global func_ov18_0216a2d8 arm_func_start func_ov18_0216a2d8 func_ov18_0216a2d8: ; 0x0216a2d8 stmdb sp!, {r4, lr} mov r4, r0 str r1, [r4, #0x130] cmp r1, #0 beq _0216a300 cmp r1, #1 beq _0216a30c cmp r1, #2 beq _0216a320 b _0216a340 _0216a300: mov r0, #0 str r0, [r4, #0x12c] b _0216a340 _0216a30c: mov r0, #1 str r0, [r4, #0x12c] mov r0, #0 str r0, [r4, #0x160] b _0216a340 _0216a320: mov r3, #0 str r3, [r4, #0x12c] ldr r1, [r4, #0x15c] ldr r0, _0216a348 ; =data_027e0c68 add r2, r4, #0x48 bl func_02036da8 mov r0, #0xf str r0, [r4, #0x160] _0216a340: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216a2d8 _0216a348: .word data_027e0c68 .global func_ov18_0216a34c arm_func_start func_ov18_0216a34c func_ov18_0216a34c: ; 0x0216a34c ldr r2, _0216a3a8 ; =data_ov18_0216d418 mov r3, #0 str r2, [r0] ldr ip, [r1] ldr r2, _0216a3ac ; =0x0000ffff str ip, [r0, #4] str r3, [r0, #8] str r3, [r0, #0xc] strh r2, [r0, #0x10] strh r3, [r0, #0x12] mov r2, #1 strb r2, [r0, #0x14] ldrb r2, [r1, #4] strb r2, [r0, #0x15] ldrb r2, [r1, #5] strb r2, [r0, #0x16] ldrb r2, [r1, #6] strb r2, [r0, #0x17] ldrb r2, [r1, #7] strb r2, [r0, #0x18] ldrb r1, [r1, #8] strb r1, [r0, #0x19] bx lr .align 2, 0 arm_func_end func_ov18_0216a34c _0216a3a8: .word data_ov18_0216d418 _0216a3ac: .word 0x0000ffff .global func_ov18_0216a3b0 arm_func_start func_ov18_0216a3b0 func_ov18_0216a3b0: ; 0x0216a3b0 bx lr arm_func_end func_ov18_0216a3b0 .global func_ov18_0216a3b4 arm_func_start func_ov18_0216a3b4 func_ov18_0216a3b4: ; 0x0216a3b4 stmdb sp!, {r4, lr} mov r4, r0 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216a3b4 .global func_ov18_0216a3c8 arm_func_start func_ov18_0216a3c8 func_ov18_0216a3c8: ; 0x0216a3c8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldr r1, [r4, #4] ldr r0, _0216a5b0 ; =data_ov18_0216b6f4 mov r1, r1, lsl #0x1 ldrh r2, [r0, r1] ldr r1, _0216a5b4 ; =data_027e0e60 add r0, sp, #0x14 strh r2, [r4, #0x10] ldrb r2, [r4, #0x15] ldr r1, [r1] bl func_ov00_02083560 ldrb lr, [r4, #0x16] ldrb ip, [r4, #0x17] ldrb r1, [sp, #0x15] ldr r0, _0216a5b4 ; =data_027e0e60 strb lr, [sp, #0x12] str r1, [sp] ldr r0, [r0] sub r1, sp, #4 strb lr, [r1] strb ip, [r1, #1] ldr r2, [r1] ldrb r3, [sp, #0x14] add r1, sp, #0x18 strb ip, [sp, #0x13] bl func_ov00_02083ce8 ldr r0, _0216a5b4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_0208330c cmp r0, #0 beq _0216a47c add r0, r4, #8 str r0, [sp] mov r2, #0 add r0, r4, #0xc stmib sp, {r0, r2} ldr r0, _0216a5b8 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x18 mov r3, r2 bl func_ov00_02079470 b _0216a4a4 _0216a47c: ldr r0, _0216a5b4 ; =data_027e0e60 ldrb lr, [r4, #0x17] ldrb ip, [r4, #0x16] ldr r0, [r0] add r1, sp, #0x10 add r2, r4, #8 add r3, r4, #0xc strb ip, [sp, #0x10] strb lr, [sp, #0x11] bl func_ov00_02082d84 _0216a4a4: ldr r0, _0216a5b4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02083344 cmp r0, #2 bge _0216a4cc ldr r0, _0216a5b4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02083350 cmp r0, #2 blt _0216a504 _0216a4cc: ldr r0, _0216a5bc ; =data_ov18_0216b710 ldmib r4, {r1, r2} ldr r0, [r0, r1, lsl #2] ldr r1, _0216a5c0 ; =data_ov18_0216b748 add r0, r0, r0, lsr #31 add r0, r2, r0, asr #1 str r0, [r4, #8] ldr r0, [r4, #4] ldr r2, [r4, #0xc] ldr r0, [r1, r0, lsl #2] add r0, r0, r0, lsr #31 add r0, r2, r0, asr #1 str r0, [r4, #0xc] b _0216a530 _0216a504: ldr r0, _0216a5bc ; =data_ov18_0216b710 ldmib r4, {r1, r2} ldr r1, [r0, r1, lsl #2] ldr r0, _0216a5c0 ; =data_ov18_0216b748 add r1, r2, r1 str r1, [r4, #8] ldr r1, [r4, #4] ldr r2, [r4, #0xc] ldr r0, [r0, r1, lsl #2] add r0, r2, r0 str r0, [r4, #0xc] _0216a530: ldr r0, [r4, #4] cmp r0, #0xd addls pc, pc, r0, lsl #2 b _0216a5a8 _0216a540: ; jump table b _0216a5a8 ; case 0 b _0216a5a8 ; case 1 b _0216a5a8 ; case 2 b _0216a5a8 ; case 3 b _0216a5a8 ; case 4 b _0216a578 ; case 5 b _0216a5a8 ; case 6 b _0216a5a8 ; case 7 b _0216a5a8 ; case 8 b _0216a5a8 ; case 9 b _0216a578 ; case 10 b _0216a5a8 ; case 11 b _0216a588 ; case 12 b _0216a59c ; case 13 _0216a578: mov r0, #0x4000 add sp, sp, #0x24 strh r0, [r4, #0x12] ldmia sp!, {r3, r4, pc} _0216a588: mov r0, #0x4000 rsb r0, r0, #0 add sp, sp, #0x24 strh r0, [r4, #0x12] ldmia sp!, {r3, r4, pc} _0216a59c: mov r0, #0x8000 rsb r0, r0, #0 strh r0, [r4, #0x12] _0216a5a8: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0216a3c8 _0216a5b0: .word data_ov18_0216b6f4 _0216a5b4: .word data_027e0e60 _0216a5b8: .word data_027e0d3c _0216a5bc: .word data_ov18_0216b710 _0216a5c0: .word data_ov18_0216b748 .global func_ov18_0216a5c4 arm_func_start func_ov18_0216a5c4 func_ov18_0216a5c4: ; 0x0216a5c4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] cmp r0, #0xd addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _0216a5dc: ; jump table ldmia sp!, {r4, pc} ; case 0 ldmia sp!, {r4, pc} ; case 1 ldmia sp!, {r4, pc} ; case 2 ldmia sp!, {r4, pc} ; case 3 b _0216a63c ; case 4 b _0216a63c ; case 5 b _0216a614 ; case 6 b _0216a63c ; case 7 b _0216a63c ; case 8 b _0216a63c ; case 9 b _0216a674 ; case 10 b _0216a674 ; case 11 b _0216a674 ; case 12 b _0216a674 ; case 13 _0216a614: ldr r0, _0216a6ac ; =data_027e0f74 mov r1, #0x31 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x14] moveq r0, #1 streqb r0, [r4, #0x14] ldmia sp!, {r4, pc} _0216a63c: ldrb r2, [r4, #0x18] cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r4, pc} ldr r0, _0216a6b0 ; =data_027e0e60 ldrb r1, [r4, #0x19] ldr r0, [r0] bl func_ov00_02084be0 cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x14] moveq r0, #1 streqb r0, [r4, #0x14] ldmia sp!, {r4, pc} _0216a674: ldrb r2, [r4, #0x18] cmp r2, #2 cmpne r2, #3 ldmneia sp!, {r4, pc} ldr r0, _0216a6b0 ; =data_027e0e60 ldrb r1, [r4, #0x19] ldr r0, [r0] bl func_ov00_02084be0 cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x14] moveq r0, #0 streqb r0, [r4, #0x14] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov18_0216a5c4 _0216a6ac: .word data_027e0f74 _0216a6b0: .word data_027e0e60 .global func_ov18_0216a6b4 arm_func_start func_ov18_0216a6b4 func_ov18_0216a6b4: ; 0x0216a6b4 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldrb r0, [r4, #0x14] mov r6, r1 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0216a77c ; =data_027e0e60 ldrb r5, [r4, #0x15] ldr r0, [r0] bl func_ov00_02082d08 cmp r0, r5 ldmeqia sp!, {r4, r5, r6, pc} ldrh r0, [r6] tst r0, #4 bne _0216a6f8 tst r0, #8 ldmeqia sp!, {r4, r5, r6, pc} _0216a6f8: ldr r0, [r4, #4] cmp r0, #0xd addls pc, pc, r0, lsl #2 ldmia sp!, {r4, r5, r6, pc} _0216a708: ; jump table b _0216a74c ; case 0 b _0216a74c ; case 1 b _0216a74c ; case 2 b _0216a74c ; case 3 b _0216a740 ; case 4 b _0216a740 ; case 5 b _0216a740 ; case 6 b _0216a758 ; case 7 b _0216a758 ; case 8 b _0216a764 ; case 9 b _0216a770 ; case 10 b _0216a770 ; case 11 b _0216a770 ; case 12 b _0216a770 ; case 13 _0216a740: mov r0, r4 bl func_ov18_0216a780 ldmia sp!, {r4, r5, r6, pc} _0216a74c: mov r0, r4 bl func_ov18_0216a874 ldmia sp!, {r4, r5, r6, pc} _0216a758: mov r0, r4 bl func_ov18_0216a8f4 ldmia sp!, {r4, r5, r6, pc} _0216a764: mov r0, r4 bl func_ov18_0216ab44 ldmia sp!, {r4, r5, r6, pc} _0216a770: mov r0, r4 bl func_ov18_0216a9dc ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov18_0216a6b4 _0216a77c: .word data_027e0e60 .global func_ov18_0216a780 arm_func_start func_ov18_0216a780 func_ov18_0216a780: ; 0x0216a780 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x4c mov r4, r0 add r0, sp, #0x2c bl func_01ffbe34 mov r0, #1 mov r1, #2 strb r0, [sp, #0x37] str r1, [sp, #0x30] ldrsh r1, [r4, #0x12] ldr r3, _0216a868 ; =data_02050f54 add r0, sp, #0x1c add r1, r1, #0xf mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8018 ldr r0, _0216a86c ; =data_027e0d3c mov r1, #0 ldr r0, [r0] bl func_ov00_02079008 add ip, sp, #0xc ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, sp, #0x1c mov r1, ip mov r2, ip bl func_01ff8024 add r1, sp, #0xc str r1, [sp, #0x2c] ldr r2, [r4, #8] ldr r0, _0216a86c ; =data_027e0d3c str r2, [sp, #8] ldr r3, [r4, #0xc] ldr r0, [r0] str r3, [sp, #4] add r1, sp, #8 add r2, sp, #4 mov r3, #0 bl func_ov00_02079680 cmp r0, #0 addeq sp, sp, #0x4c ldmeqia sp!, {r3, r4, pc} add r1, sp, #0x2c str r1, [sp] ldrh r3, [r4, #0x10] ldr r0, _0216a870 ; =data_02063e4c ldr r1, [sp, #8] ldr r2, [sp, #4] bl func_020313c8 add sp, sp, #0x4c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0216a780 _0216a868: .word data_02050f54 _0216a86c: .word data_027e0d3c _0216a870: .word data_02063e4c .global func_ov18_0216a874 arm_func_start func_ov18_0216a874 func_ov18_0216a874: ; 0x0216a874 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c mov r4, r0 add r0, sp, #0xc bl func_01ffbe34 mov r1, #1 ldr r0, _0216a8ec ; =data_027e0d3c str r1, [sp, #0x10] strb r1, [sp, #0x17] ldr r1, [r4, #8] ldr r0, [r0] str r1, [sp, #8] ldr ip, [r4, #0xc] add r1, sp, #8 add r2, sp, #4 mov r3, #0 str ip, [sp, #4] bl func_ov00_02079680 cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, pc} add r1, sp, #0xc str r1, [sp] ldrh r3, [r4, #0x10] ldr r0, _0216a8f0 ; =data_02063e4c ldr r1, [sp, #8] ldr r2, [sp, #4] bl func_020313c8 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0216a874 _0216a8ec: .word data_027e0d3c _0216a8f0: .word data_02063e4c .global func_ov18_0216a8f4 arm_func_start func_ov18_0216a8f4 func_ov18_0216a8f4: ; 0x0216a8f4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x2c mov r4, r0 add r0, sp, #0xc bl func_01ffbe34 ldr r0, _0216a9d4 ; =data_027e0d3c mov r2, #2 ldr r0, [r0] mov r1, #0 str r2, [sp, #0x10] bl func_ov00_02079008 mov r1, #1 str r0, [sp, #0xc] strb r1, [sp, #0x17] ldr r1, [r4, #8] ldr r0, _0216a9d4 ; =data_027e0d3c str r1, [sp, #8] ldr r3, [r4, #0xc] ldr r0, [r0] str r3, [sp, #4] add r1, sp, #8 add r2, sp, #4 mov r3, #0 bl func_ov00_02079680 cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [r4, #4] cmp r0, #8 bne _0216a9b0 mov r7, #0 ldr r5, _0216a9d8 ; =data_02063e4c mov r8, r7 add r6, sp, #0xc _0216a97c: str r6, [sp] ldr r1, [sp, #8] ldrh r3, [r4, #0x10] ldr r2, [sp, #4] mov r0, r5 add r1, r1, r8 bl func_020313c8 add r7, r7, #1 cmp r7, #2 add r8, r8, #4 blt _0216a97c add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0216a9b0: add r1, sp, #0xc str r1, [sp] ldrh r3, [r4, #0x10] ldr r0, _0216a9d8 ; =data_02063e4c ldr r1, [sp, #8] ldr r2, [sp, #4] bl func_020313c8 add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0216a8f4 _0216a9d4: .word data_027e0d3c _0216a9d8: .word data_02063e4c .global func_ov18_0216a9dc arm_func_start func_ov18_0216a9dc func_ov18_0216a9dc: ; 0x0216a9dc stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x4c mov sb, r0 add r0, sp, #0x2c bl func_01ffbe34 mov r0, #1 mov r1, #2 strb r0, [sp, #0x37] str r1, [sp, #0x30] ldrsh r1, [sb, #0x12] ldr r3, _0216ab38 ; =data_02050f54 add r0, sp, #0x1c add r1, r1, #0xf mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r4, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r4] ldrsh r2, [r3, r2] blx func_01ff8018 ldr r0, _0216ab3c ; =data_027e0d3c mov r1, #0 ldr r0, [r0] bl func_ov00_02079008 add r4, sp, #0xc ldmia r0, {r0, r1, r2, r3} stmia r4, {r0, r1, r2, r3} add r0, sp, #0x1c mov r1, r4 mov r2, r4 bl func_01ff8024 mov r1, r4 str r1, [sp, #0x2c] ldr r2, [sb, #8] ldr r0, _0216ab3c ; =data_027e0d3c str r2, [sp, #8] ldr r3, [sb, #0xc] ldr r0, [r0] str r3, [sp, #4] add r1, sp, #8 add r2, sp, #4 mov r3, #0 bl func_ov00_02079680 cmp r0, #0 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, [sb, #4] mov r6, #5 cmp r0, #0xc moveq r6, #3 beq _0216aabc cmp r0, #0xd moveq r6, #4 _0216aabc: cmp r6, #0 mov r7, #0 addle sp, sp, #0x4c ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r4, _0216ab40 ; =data_02063e4c mov r8, r7 add r5, sp, #0x2c _0216aad8: ldr r0, [sb, #4] cmp r0, #0xb cmpne r0, #0xd str r5, [sp] bne _0216ab08 ldr r2, [sp, #4] ldrh r3, [sb, #0x10] ldr r1, [sp, #8] mov r0, r4 add r2, r2, r8 bl func_020313c8 b _0216ab20 _0216ab08: ldr r1, [sp, #8] ldrh r3, [sb, #0x10] ldr r2, [sp, #4] mov r0, r4 add r1, r1, r8 bl func_020313c8 _0216ab20: add r7, r7, #1 cmp r7, r6 add r8, r8, #2 blt _0216aad8 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov18_0216a9dc _0216ab38: .word data_02050f54 _0216ab3c: .word data_027e0d3c _0216ab40: .word data_02063e4c .global func_ov18_0216ab44 arm_func_start func_ov18_0216ab44 func_ov18_0216ab44: ; 0x0216ab44 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c mov r4, r0 add r0, sp, #0xc bl func_01ffbe34 ldr r0, _0216abd4 ; =data_027e0d3c mov r2, #2 ldr r0, [r0] mov r1, #0 str r2, [sp, #0x10] bl func_ov00_02079008 mov r1, #1 str r0, [sp, #0xc] strb r1, [sp, #0x17] ldr r1, [r4, #8] ldr r0, _0216abd4 ; =data_027e0d3c str r1, [sp, #8] ldr r3, [r4, #0xc] ldr r0, [r0] str r3, [sp, #4] add r1, sp, #8 add r2, sp, #4 mov r3, #0 bl func_ov00_02079680 cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, pc} add r1, sp, #0xc str r1, [sp] ldrh r3, [r4, #0x10] ldr r0, _0216abd8 ; =data_02063e4c ldr r1, [sp, #8] ldr r2, [sp, #4] bl func_020313c8 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov18_0216ab44 _0216abd4: .word data_027e0d3c _0216abd8: .word data_02063e4c .global func_ov18_0216abdc arm_func_start func_ov18_0216abdc func_ov18_0216abdc: ; 0x0216abdc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov18_0216aedc ldr r0, [r4, #8] cmp r0, #0x30 bhs _0216ac00 mov r0, r4 mov r1, #0x30 bl func_ov18_0216af64 _0216ac00: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216abdc .global func_ov18_0216ac08 arm_func_start func_ov18_0216ac08 func_ov18_0216ac08: ; 0x0216ac08 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov18_0216acd8 mov r0, r4 bl func_ov18_0216aef0 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216ac08 .global func_ov18_0216ac24 arm_func_start func_ov18_0216ac24 func_ov18_0216ac24: ; 0x0216ac24 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc ldr r2, _0216acd4 ; =data_027e0d38 mov r7, r0 ldr r0, [r2] mov r6, r1 add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x1a addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldrh r0, [r6, #8] mov r4, #0 cmp r0, #0 addle sp, sp, #0xc ldmleia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r5, r6 add r8, sp, #0 _0216ac6c: ldr r1, [r5, #0xc] mov r0, r7 str r1, [sp] ldrb r2, [r5, #0x10] mov r1, r8 strb r2, [sp, #4] ldrb r2, [r5, #0x11] strb r2, [sp, #5] ldrb r2, [r5, #0x12] strb r2, [sp, #6] ldrb r2, [r5, #0x13] strb r2, [sp, #7] ldrb r2, [r5, #0x14] strb r2, [sp, #8] ldrb r2, [r5, #0x15] strb r2, [sp, #9] ldrh r2, [r5, #0x16] strh r2, [sp, #0xa] bl func_ov18_0216adcc ldrh r0, [r6, #8] add r4, r4, #1 add r5, r5, #0xc cmp r4, r0 blt _0216ac6c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov18_0216ac24 _0216acd4: .word data_027e0d38 .global func_ov18_0216acd8 arm_func_start func_ov18_0216acd8 func_ov18_0216acd8: ; 0x0216acd8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r5, [r4] ldr r1, [r4, #4] add r0, r5, r1, lsl #2 cmp r5, r0 beq _0216ad20 _0216acf4: ldr r0, [r5] cmp r0, #0 beq _0216ad0c ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0216ad0c: ldmia r4, {r0, r1} add r5, r5, #4 add r0, r0, r1, lsl #2 cmp r5, r0 bne _0216acf4 _0216ad20: mov r0, #0 strb r0, [sp] ldr r0, [r4, #4] sub r0, r0, r1 str r0, [r4, #4] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_0216acd8 .global func_ov18_0216ad38 arm_func_start func_ov18_0216ad38 func_ov18_0216ad38: ; 0x0216ad38 bx lr arm_func_end func_ov18_0216ad38 .global func_ov18_0216ad3c arm_func_start func_ov18_0216ad3c func_ov18_0216ad3c: ; 0x0216ad3c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] ldr r0, [r5, #4] add r0, r4, r0, lsl #2 cmp r4, r0 ldmeqia sp!, {r3, r4, r5, pc} _0216ad58: ldr r0, [r4], #4 ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 ldr r1, [r5] ldr r0, [r5, #4] add r0, r1, r0, lsl #2 cmp r4, r0 bne _0216ad58 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_0216ad3c .global func_ov18_0216ad80 arm_func_start func_ov18_0216ad80 func_ov18_0216ad80: ; 0x0216ad80 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6] ldr r0, [r6, #4] mov r5, r1 add r0, r4, r0, lsl #2 cmp r4, r0 ldmeqia sp!, {r4, r5, r6, pc} _0216ada0: ldr r0, [r4], #4 mov r1, r5 ldr r2, [r0] ldr r2, [r2, #0x10] blx r2 ldr r1, [r6] ldr r0, [r6, #4] add r0, r1, r0, lsl #2 cmp r4, r0 bne _0216ada0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov18_0216ad80 .global func_ov18_0216adcc arm_func_start func_ov18_0216adcc func_ov18_0216adcc: ; 0x0216adcc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r0 ldr r0, [r4, #4] mov r5, r1 cmp r0, #0x30 addhi sp, sp, #8 movhi r0, #0 ldmhiia sp!, {r3, r4, r5, pc} ldr r0, _0216aed4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_0208330c cmp r0, #0 beq _0216ae24 ldr r0, _0216aed4 ; =data_027e0e60 ldrb r1, [r5, #4] ldr r0, [r0] bl func_ov00_02083318 cmp r0, #0 addeq sp, sp, #8 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _0216ae24: ldr r0, _0216aed4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020849c0 cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _0216aed8 ; =data_027e0ce0 mov r0, #0x1c ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0216ae64 mov r1, r5 bl func_ov18_0216a34c _0216ae64: str r0, [sp, #4] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r2, #0 strb r2, [sp, #1] ldr r1, [r4, #4] ldr r0, [r4, #8] cmp r1, r0 bhs _0216aea8 add r0, r1, #1 str r0, [r4, #4] ldr r2, [sp, #4] ldr r1, [r4] sub r0, r0, #1 str r2, [r1, r0, lsl #2] b _0216aec8 _0216aea8: strb r2, [sp] sub r1, sp, #4 and r0, r2, #0xff strb r0, [r1] ldr r2, [r1] add r1, sp, #4 mov r0, r4 bl func_ov18_0216af34 _0216aec8: mov r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216adcc _0216aed4: .word data_027e0e60 _0216aed8: .word data_027e0ce0 .global func_ov18_0216aedc arm_func_start func_ov18_0216aedc func_ov18_0216aedc: ; 0x0216aedc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov18_0216b068 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216aedc .global func_ov18_0216aef0 arm_func_start func_ov18_0216aef0 func_ov18_0216aef0: ; 0x0216aef0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _0216af28 ldr r1, [r4, #4] mov r0, #0 strb r0, [sp] ldr r0, [r4, #4] sub r0, r0, r1 str r0, [r4, #4] ldr r0, [r4] bl func_0202ea0c _0216af28: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov18_0216aef0 .global func_ov18_0216af34 arm_func_start func_ov18_0216af34 func_ov18_0216af34: ; 0x0216af34 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r2, #0 mov r5, r0 mov r1, #1 strb r2, [sp] bl func_ov18_0216b1e0 mov r0, r5 mov r2, r4 mov r1, #1 bl func_ov18_0216b084 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov18_0216af34 .global func_ov18_0216af64 arm_func_start func_ov18_0216af64 func_ov18_0216af64: ; 0x0216af64 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r5, r0 ldrb r3, [r5, #8] mov r4, r1 mov r1, #0 str r1, [sp, #4] str r1, [sp, #8] sub r0, sp, #4 strb r3, [r0] ldr r2, [r0] add r0, sp, #0xc strb r3, [sp, #3] bl func_ov18_0216b07c mov r1, #0 strb r1, [sp, #2] sub r0, sp, #4 strb r1, [r0] ldr r2, [r0] add r0, sp, #4 mov r1, r4 bl func_ov18_0216b2ac ldr r4, [r5] ldr r0, [r5, #4] mov r3, #0 add r0, r4, r0, lsl #2 sub r1, r0, r4 mov r0, r1, asr #0x1 add r6, r1, r0, lsr #30 mov r0, r6, asr #0x2 mov r7, r0, lsl #0x2 ldr r2, [sp, #4] ldr r0, [sp, #8] mov r1, r4 add r0, r2, r0, lsl #2 mov r2, r7 strb r3, [sp, #1] bl func_02043594 mov r0, r4 mov r2, r7 mov r1, #0 bl func_02043600 ldr r1, [sp, #8] mov r0, #0 add r1, r1, r6, asr #2 str r1, [sp, #8] strb r0, [sp] str r0, [r5, #4] add r3, sp, #0xc ldr r2, [r5, #8] ldr r1, [r3] add r0, sp, #4 str r1, [r5, #8] str r2, [r3] ldr r2, [r5] ldr r1, [sp, #4] str r1, [r5] str r2, [sp, #4] ldr r2, [r5, #4] ldr r1, [sp, #8] str r1, [r5, #4] str r2, [sp, #8] bl func_ov18_0216b2ec add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov18_0216af64 .global func_ov18_0216b068 arm_func_start func_ov18_0216b068 func_ov18_0216b068: ; 0x0216b068 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov18_0216b330 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216b068 .global func_ov18_0216b07c arm_func_start func_ov18_0216b07c func_ov18_0216b07c: ; 0x0216b07c str r1, [r0] bx lr arm_func_end func_ov18_0216b07c .global func_ov18_0216b084 arm_func_start func_ov18_0216b084 func_ov18_0216b084: ; 0x0216b084 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r6, r0 mov r5, r1 add r0, sp, #8 add r1, r6, #8 mov r4, r2 bl func_ov18_0216b3fc mov r0, #0 str r0, [sp, #0x18] ldmib r6, {r0, r1} add r2, r0, r5 mov r0, r6 sub r1, r2, r1 bl func_ov18_0216b1e0 mov r3, #0 mov r1, r0 strb r3, [sp, #4] sub r2, sp, #4 strb r3, [r2] ldr r2, [r2] add r0, sp, #8 strb r3, [sp] bl func_ov18_0216b3bc ldr r1, [r6, #4] ldr r0, [sp, #8] str r1, [sp, #0x18] add r1, r0, r1, lsl #2 ldr r0, [sp, #0xc] cmp r5, #0 add r1, r1, r0, lsl #2 mov r0, #0 strb r0, [sp, #3] mov r2, r5 beq _0216b120 _0216b110: ldr r0, [r4] subs r2, r2, #1 str r0, [r1], #4 bne _0216b110 _0216b120: ldr r0, [sp, #0xc] ldr r1, [sp, #0x18] add r0, r0, r5 str r0, [sp, #0xc] ldr r4, [r6] ldr r0, [r6, #4] mov ip, #0 add r0, r4, r0, lsl #2 sub r2, r0, r4 mov r0, r2, asr #0x1 add r5, r2, r0, lsr #30 sub r3, r1, r5, asr #2 mov r2, r5, asr #0x2 ldr r0, [sp, #8] mov r7, r2, lsl #0x2 mov r1, r4 mov r2, r7 add r0, r0, r3, lsl #2 strb ip, [sp, #2] str r3, [sp, #0x18] bl func_02043594 mov r0, r4 mov r2, r7 mov r1, #0 bl func_02043600 ldr r1, [sp, #0xc] mov r0, #0 add r1, r1, r5, asr #2 str r1, [sp, #0xc] strb r0, [sp, #1] str r0, [r6, #4] add r3, sp, #0x10 ldr r2, [r6, #8] ldr r1, [r3] add r0, sp, #8 str r1, [r6, #8] str r2, [r3] ldr r2, [r6] ldr r1, [sp, #8] str r1, [r6] str r2, [sp, #8] ldr r2, [r6, #4] ldr r1, [sp, #0xc] str r1, [r6, #4] str r2, [sp, #0xc] bl func_ov18_0216b35c add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov18_0216b084 .global func_ov18_0216b1e0 arm_func_start func_ov18_0216b1e0 func_ov18_0216b1e0: ; 0x0216b1e0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r4, [r0, #8] mvn r0, #0xc0000000 ldr r1, [sp, #0x14] sub r0, r0, r4 cmp r1, r0 bls _0216b208 bl func_0204dd9c _0216b208: ldr r0, _0216b2a4 ; =0x15555555 cmp r4, r0 bhs _0216b254 add r1, r4, #1 ldr r0, _0216b2a8 ; =0xcccccccd add r1, r1, r1, lsl #1 umull r0, r2, r1, r0 mov r2, r2, lsr #0x2 ldr r0, [sp, #0x14] str r2, [sp, #4] cmp r0, r2 addhi r0, sp, #0x14 addls r0, sp, #4 ldr r0, [r0] add sp, sp, #8 add r0, r4, r0 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0216b254: cmp r4, r0, lsl #1 bhs _0216b290 ldr r0, [sp, #0x14] add r1, r4, #1 mov r2, r1, lsr #0x1 cmp r0, r1, lsr #1 addhi r0, sp, #0x14 str r2, [sp] addls r0, sp, #0 ldr r0, [r0] add sp, sp, #8 add r0, r4, r0 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr _0216b290: mvn r0, #0xc0000000 add sp, sp, #8 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov18_0216b1e0 _0216b2a4: .word 0x15555555 _0216b2a8: .word 0xcccccccd .global func_ov18_0216b2ac arm_func_start func_ov18_0216b2ac func_ov18_0216b2ac: ; 0x0216b2ac stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mvn r1, #0xc0000000 mov r5, r0 cmp r4, r1 bls _0216b2c8 bl func_0204dd9c _0216b2c8: ldr r1, _0216b2e8 ; =data_027e0ce0 mov r0, r4, lsl #0x2 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc str r0, [r5] str r4, [r5, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216b2ac _0216b2e8: .word data_027e0ce0 .global func_ov18_0216b2ec arm_func_start func_ov18_0216b2ec func_ov18_0216b2ec: ; 0x0216b2ec stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _0216b324 ldr r1, [r4, #4] mov r0, #0 strb r0, [sp] ldr r0, [r4, #4] sub r0, r0, r1 str r0, [r4, #4] ldr r0, [r4] bl func_0202ea0c _0216b324: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov18_0216b2ec .global func_ov18_0216b330 arm_func_start func_ov18_0216b330 func_ov18_0216b330: ; 0x0216b330 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4] add r0, r4, #8 str r1, [r4, #4] bl func_ov18_0216b354 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216b330 .global func_ov18_0216b354 arm_func_start func_ov18_0216b354 func_ov18_0216b354: ; 0x0216b354 str r1, [r0] bx lr arm_func_end func_ov18_0216b354 .global func_ov18_0216b35c arm_func_start func_ov18_0216b35c func_ov18_0216b35c: ; 0x0216b35c stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #4] bl func_ov18_0216b378 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216b35c .global func_ov18_0216b378 arm_func_start func_ov18_0216b378 func_ov18_0216b378: ; 0x0216b378 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _0216b3b0 ldr r1, [r4, #4] mov r0, #0 strb r0, [sp] ldr r0, [r4, #4] sub r0, r0, r1 str r0, [r4, #4] ldr r0, [r4] bl func_0202ea0c _0216b3b0: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov18_0216b378 .global func_ov18_0216b3bc arm_func_start func_ov18_0216b3bc func_ov18_0216b3bc: ; 0x0216b3bc stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mvn r1, #0xc0000000 mov r5, r0 cmp r4, r1 bls _0216b3d8 bl func_0204dd9c _0216b3d8: ldr r1, _0216b3f8 ; =data_027e0ce0 mov r0, r4, lsl #0x2 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc str r0, [r5] str r4, [r5, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov18_0216b3bc _0216b3f8: .word data_027e0ce0 .global func_ov18_0216b3fc arm_func_start func_ov18_0216b3fc func_ov18_0216b3fc: ; 0x0216b3fc stmdb sp!, {r4, lr} mov r4, r0 mov r2, r1 mov r1, #0 str r1, [r4] add r0, r4, #8 str r1, [r4, #4] bl func_ov18_0216b424 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov18_0216b3fc .global func_ov18_0216b424 arm_func_start func_ov18_0216b424 func_ov18_0216b424: ; 0x0216b424 stmia r0, {r1, r2} bx lr arm_func_end func_ov18_0216b424 .global data_ov18_0216b42c data_ov18_0216b42c: ; 0x0216b42c .ascii "M_SeaC" .byte 0x00, 0x00 .global data_ov18_0216b434 data_ov18_0216b434: ; 0x0216b434 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b438 data_ov18_0216b438: ; 0x0216b438 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b43c data_ov18_0216b43c: ; 0x0216b43c .byte 0x00, 0x80, 0x02, 0x00 .global data_ov18_0216b440 data_ov18_0216b440: ; 0x0216b440 .byte 0x00, 0x40, 0x06, 0x00 .global data_ov18_0216b444 data_ov18_0216b444: ; 0x0216b444 .byte 0x00, 0xe0, 0x0b, 0x00 .global data_ov18_0216b448 data_ov18_0216b448: ; 0x0216b448 .byte 0x00, 0xa0, 0x0f, 0x00 .global data_ov18_0216b44c data_ov18_0216b44c: ; 0x0216b44c .byte 0x00, 0x80, 0x02, 0x00 .global data_ov18_0216b450 data_ov18_0216b450: ; 0x0216b450 .byte 0x00, 0x40, 0x06, 0x00 .global data_ov18_0216b454 data_ov18_0216b454: ; 0x0216b454 .byte 0x00, 0xe0, 0x0b, 0x00 .global data_ov18_0216b458 data_ov18_0216b458: ; 0x0216b458 .byte 0x00, 0xa0, 0x0f, 0x00 .global data_ov18_0216b45c data_ov18_0216b45c: ; 0x0216b45c .ascii "field_sea" .byte 0x00, 0x00, 0x00 .global data_ov18_0216b468 data_ov18_0216b468: ; 0x0216b468 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b46c data_ov18_0216b46c: ; 0x0216b46c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b470 data_ov18_0216b470: ; 0x0216b470 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b474 data_ov18_0216b474: ; 0x0216b474 .byte 0x5b, 0x03, 0x00, 0x00 .global data_ov18_0216b478 data_ov18_0216b478: ; 0x0216b478 .byte 0x5c, 0x03, 0x00, 0x00 .global data_ov18_0216b47c data_ov18_0216b47c: ; 0x0216b47c .byte 0x5d, 0x03, 0x00, 0x00 .global data_ov18_0216b480 data_ov18_0216b480: ; 0x0216b480 .byte 0x5e, 0x03, 0x00, 0x00 .global data_ov18_0216b484 data_ov18_0216b484: ; 0x0216b484 .ascii "M_SeaA" .byte 0x00, 0x00 .global data_ov18_0216b48c data_ov18_0216b48c: ; 0x0216b48c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b490 data_ov18_0216b490: ; 0x0216b490 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b494 data_ov18_0216b494: ; 0x0216b494 .ascii "M_SeaB" .byte 0x00, 0x00 .global data_ov18_0216b49c data_ov18_0216b49c: ; 0x0216b49c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4a0 data_ov18_0216b4a0: ; 0x0216b4a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4a4 data_ov18_0216b4a4: ; 0x0216b4a4 .ascii "M_SeaC" .byte 0x00, 0x00 .global data_ov18_0216b4ac data_ov18_0216b4ac: ; 0x0216b4ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4b0 data_ov18_0216b4b0: ; 0x0216b4b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4b4 data_ov18_0216b4b4: ; 0x0216b4b4 .ascii "Field_SeaB" .byte 0x00, 0x00 .global data_ov18_0216b4c0 data_ov18_0216b4c0: ; 0x0216b4c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4c4 data_ov18_0216b4c4: ; 0x0216b4c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4c8 data_ov18_0216b4c8: ; 0x0216b4c8 .byte 0x16, 0x00, 0x00, 0x00 .global data_ov18_0216b4cc data_ov18_0216b4cc: ; 0x0216b4cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4d0 data_ov18_0216b4d0: ; 0x0216b4d0 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov18_0216b4d4 data_ov18_0216b4d4: ; 0x0216b4d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4d8 data_ov18_0216b4d8: ; 0x0216b4d8 .byte 0x15, 0x00, 0x00, 0x00 .global data_ov18_0216b4dc data_ov18_0216b4dc: ; 0x0216b4dc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b4e0 data_ov18_0216b4e0: ; 0x0216b4e0 .byte 0x15, 0x00, 0x00, 0x00 .global data_ov18_0216b4e4 data_ov18_0216b4e4: ; 0x0216b4e4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b4e8 data_ov18_0216b4e8: ; 0x0216b4e8 .ascii "smoke" .byte 0x00, 0x00, 0x00 .global data_ov18_0216b4f0 data_ov18_0216b4f0: ; 0x0216b4f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4f4 data_ov18_0216b4f4: ; 0x0216b4f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4f8 data_ov18_0216b4f8: ; 0x0216b4f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b4fc data_ov18_0216b4fc: ; 0x0216b4fc .byte 0x46, 0x0e, 0x00, 0x00 .global data_ov18_0216b500 data_ov18_0216b500: ; 0x0216b500 .byte 0x46, 0x0e, 0x00, 0x00 .global data_ov18_0216b504 data_ov18_0216b504: ; 0x0216b504 .byte 0x46, 0x0e, 0x00, 0x00 .global data_ov18_0216b508 data_ov18_0216b508: ; 0x0216b508 .byte 0x46, 0x0e, 0x00, 0x00 .global data_ov18_0216b50c data_ov18_0216b50c: ; 0x0216b50c .byte 0x46, 0x0e, 0x00, 0x00 .global data_ov18_0216b510 data_ov18_0216b510: ; 0x0216b510 .byte 0x46, 0x0e, 0x00, 0x00 .global data_ov18_0216b514 data_ov18_0216b514: ; 0x0216b514 .byte 0x56, 0x08, 0x00, 0x00 .global data_ov18_0216b518 data_ov18_0216b518: ; 0x0216b518 .byte 0x56, 0x08, 0x00, 0x00 .global data_ov18_0216b51c data_ov18_0216b51c: ; 0x0216b51c .byte 0x56, 0x08, 0x00, 0x00 .global data_ov18_0216b520 data_ov18_0216b520: ; 0x0216b520 .byte 0x56, 0x08, 0x00, 0x00 .global data_ov18_0216b524 data_ov18_0216b524: ; 0x0216b524 .byte 0x56, 0x08, 0x00, 0x00 .global data_ov18_0216b528 data_ov18_0216b528: ; 0x0216b528 .byte 0x56, 0x08, 0x00, 0x00 .global data_ov18_0216b52c data_ov18_0216b52c: ; 0x0216b52c .byte 0x24, 0x00, 0x25, 0x00 .global data_ov18_0216b530 data_ov18_0216b530: ; 0x0216b530 .byte 0x26, 0x00, 0x00, 0x00 .global data_ov18_0216b534 data_ov18_0216b534: ; 0x0216b534 .byte 0x24, 0x00, 0x25, 0x00 .global data_ov18_0216b538 data_ov18_0216b538: ; 0x0216b538 .byte 0x26, 0x00, 0x00, 0x00 .global data_ov18_0216b53c data_ov18_0216b53c: ; 0x0216b53c .byte 0x00, 0x08, 0x00, 0x00 .global data_ov18_0216b540 data_ov18_0216b540: ; 0x0216b540 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov18_0216b544 data_ov18_0216b544: ; 0x0216b544 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov18_0216b548 data_ov18_0216b548: ; 0x0216b548 .ascii "move" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b550 data_ov18_0216b550: ; 0x0216b550 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b554 data_ov18_0216b554: ; 0x0216b554 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b558 data_ov18_0216b558: ; 0x0216b558 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b55c data_ov18_0216b55c: ; 0x0216b55c .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b564 data_ov18_0216b564: ; 0x0216b564 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b568 data_ov18_0216b568: ; 0x0216b568 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b56c data_ov18_0216b56c: ; 0x0216b56c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b570 data_ov18_0216b570: ; 0x0216b570 .ascii "walk" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b578 data_ov18_0216b578: ; 0x0216b578 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b57c data_ov18_0216b57c: ; 0x0216b57c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b580 data_ov18_0216b580: ; 0x0216b580 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b584 data_ov18_0216b584: ; 0x0216b584 .ascii "talk" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b58c data_ov18_0216b58c: ; 0x0216b58c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b590 data_ov18_0216b590: ; 0x0216b590 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b594 data_ov18_0216b594: ; 0x0216b594 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b598 data_ov18_0216b598: ; 0x0216b598 .byte 0x00, 0x08, 0x00, 0x00 .global data_ov18_0216b59c data_ov18_0216b59c: ; 0x0216b59c .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov18_0216b5a0 data_ov18_0216b5a0: ; 0x0216b5a0 .byte 0xcd, 0x24, 0x00, 0x00 .global data_ov18_0216b5a4 data_ov18_0216b5a4: ; 0x0216b5a4 .ascii "fly" .byte 0x00 .global data_ov18_0216b5a8 data_ov18_0216b5a8: ; 0x0216b5a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5ac data_ov18_0216b5ac: ; 0x0216b5ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5b0 data_ov18_0216b5b0: ; 0x0216b5b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5b4 data_ov18_0216b5b4: ; 0x0216b5b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5b8 data_ov18_0216b5b8: ; 0x0216b5b8 .ascii "read" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5c0 data_ov18_0216b5c0: ; 0x0216b5c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5c4 data_ov18_0216b5c4: ; 0x0216b5c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5c8 data_ov18_0216b5c8: ; 0x0216b5c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5cc data_ov18_0216b5cc: ; 0x0216b5cc .ascii "takeout" .byte 0x00 .global data_ov18_0216b5d4 data_ov18_0216b5d4: ; 0x0216b5d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5d8 data_ov18_0216b5d8: ; 0x0216b5d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5dc data_ov18_0216b5dc: ; 0x0216b5dc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b5e0 data_ov18_0216b5e0: ; 0x0216b5e0 .byte 0xab, 0x0a, 0x00, 0x00 .global data_ov18_0216b5e4 data_ov18_0216b5e4: ; 0x0216b5e4 .ascii "chest" .byte 0x00, 0x00, 0x00 .global data_ov18_0216b5ec data_ov18_0216b5ec: ; 0x0216b5ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5f0 data_ov18_0216b5f0: ; 0x0216b5f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5f4 data_ov18_0216b5f4: ; 0x0216b5f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b5f8 data_ov18_0216b5f8: ; 0x0216b5f8 .ascii "mt_letter" .byte 0x00, 0x00, 0x00 .global data_ov18_0216b604 data_ov18_0216b604: ; 0x0216b604 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b608 data_ov18_0216b608: ; 0x0216b608 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b60c data_ov18_0216b60c: ; 0x0216b60c .ascii "mt_letter" .byte 0x00, 0x00, 0x00 .global data_ov18_0216b618 data_ov18_0216b618: ; 0x0216b618 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b61c data_ov18_0216b61c: ; 0x0216b61c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b620 data_ov18_0216b620: ; 0x0216b620 .ascii "tree" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b628 data_ov18_0216b628: ; 0x0216b628 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b62c data_ov18_0216b62c: ; 0x0216b62c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b630 data_ov18_0216b630: ; 0x0216b630 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b634 data_ov18_0216b634: ; 0x0216b634 .ascii "tree_mat" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b640 data_ov18_0216b640: ; 0x0216b640 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b644 data_ov18_0216b644: ; 0x0216b644 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b648 data_ov18_0216b648: ; 0x0216b648 .byte 0x00, 0x00, 0x0f, 0x0f .global data_ov18_0216b64c data_ov18_0216b64c: ; 0x0216b64c .byte 0x07, 0x00, 0x0c, 0x0f .global data_ov18_0216b650 data_ov18_0216b650: ; 0x0216b650 .byte 0x0d, 0x08, 0x0f, 0x0f .global data_ov18_0216b654 data_ov18_0216b654: ; 0x0216b654 .byte 0x02, 0x00, 0x0c, 0x0f .global data_ov18_0216b658 data_ov18_0216b658: ; 0x0216b658 .byte 0x08, 0x00, 0x0c, 0x0f .global data_ov18_0216b65c data_ov18_0216b65c: ; 0x0216b65c .byte 0x02, 0x00, 0x07, 0x0f .global data_ov18_0216b660 data_ov18_0216b660: ; 0x0216b660 .byte 0x15, 0x03, 0x6a, 0x06 .global data_ov18_0216b664 data_ov18_0216b664: ; 0x0216b664 .byte 0x00, 0x00, 0x01, 0x0f .global data_ov18_0216b668 data_ov18_0216b668: ; 0x0216b668 .byte 0x02, 0x00, 0x06, 0x0f .global data_ov18_0216b66c data_ov18_0216b66c: ; 0x0216b66c .byte 0x38, 0x05, 0x16, 0x03 .global data_ov18_0216b670 data_ov18_0216b670: ; 0x0216b670 .byte 0x6a, 0x06, 0x00, 0x03 .global data_ov18_0216b674 data_ov18_0216b674: ; 0x0216b674 .byte 0x00, 0x0f, 0x01, 0x03 .global data_ov18_0216b678 data_ov18_0216b678: ; 0x0216b678 .byte 0x01, 0x0f, 0x00, 0x00 .global data_ov18_0216b67c data_ov18_0216b67c: ; 0x0216b67c .byte 0x2a, 0x00, 0x00, 0x00 .global data_ov18_0216b680 data_ov18_0216b680: ; 0x0216b680 .byte 0xf8, 0xd3, 0x16, 0x02 .global data_ov18_0216b684 data_ov18_0216b684: ; 0x0216b684 .byte 0x44, 0x00, 0x00, 0x00 .global data_ov18_0216b688 data_ov18_0216b688: ; 0x0216b688 .byte 0xd8, 0xd3, 0x16, 0x02 .global data_ov18_0216b68c data_ov18_0216b68c: ; 0x0216b68c .byte 0x47, 0x00, 0x00, 0x00 .global data_ov18_0216b690 data_ov18_0216b690: ; 0x0216b690 .byte 0xe0, 0xd3, 0x16, 0x02 .global data_ov18_0216b694 data_ov18_0216b694: ; 0x0216b694 .byte 0xf0, 0xd3, 0x16, 0x02, 0x8c, 0xb6, 0x16, 0x02, 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0xb6, 0x16, 0x02 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b6b4 data_ov18_0216b6b4: ; 0x0216b6b4 .byte 0xe8, 0xd3, 0x16, 0x02, 0x84, 0xb6, 0x16, 0x02, 0x01, 0x00, 0x00, 0x00 .byte 0x43, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xb6, 0x16, 0x02 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b6d4 data_ov18_0216b6d4: ; 0x0216b6d4 .byte 0x04, 0xd4, 0x16, 0x02, 0x7c, 0xb6, 0x16, 0x02, 0x01, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xb6, 0x16, 0x02 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b6f4 data_ov18_0216b6f4: ; 0x0216b6f4 .byte 0x37, 0x00 .global data_ov18_0216b6f6 data_ov18_0216b6f6: ; 0x0216b6f6 .byte 0x38, 0x00 .global data_ov18_0216b6f8 data_ov18_0216b6f8: ; 0x0216b6f8 .byte 0x39, 0x00 .global data_ov18_0216b6fa data_ov18_0216b6fa: ; 0x0216b6fa .byte 0x3a, 0x00 .global data_ov18_0216b6fc data_ov18_0216b6fc: ; 0x0216b6fc .byte 0x3c, 0x00 .global data_ov18_0216b6fe data_ov18_0216b6fe: ; 0x0216b6fe .byte 0x3c, 0x00 .global data_ov18_0216b700 data_ov18_0216b700: ; 0x0216b700 .byte 0x3c, 0x00 .global data_ov18_0216b702 data_ov18_0216b702: ; 0x0216b702 .byte 0x0e, 0x00 .global data_ov18_0216b704 data_ov18_0216b704: ; 0x0216b704 .byte 0x0e, 0x00 .global data_ov18_0216b706 data_ov18_0216b706: ; 0x0216b706 .byte 0x08, 0x00 .global data_ov18_0216b708 data_ov18_0216b708: ; 0x0216b708 .byte 0x0a, 0x00 .global data_ov18_0216b70a data_ov18_0216b70a: ; 0x0216b70a .byte 0x0a, 0x00 .global data_ov18_0216b70c data_ov18_0216b70c: ; 0x0216b70c .byte 0x0a, 0x00 .global data_ov18_0216b70e data_ov18_0216b70e: ; 0x0216b70e .byte 0x0a, 0x00 .global data_ov18_0216b710 data_ov18_0216b710: ; 0x0216b710 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b714 data_ov18_0216b714: ; 0x0216b714 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b718 data_ov18_0216b718: ; 0x0216b718 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b71c data_ov18_0216b71c: ; 0x0216b71c .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b720 data_ov18_0216b720: ; 0x0216b720 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov18_0216b724 data_ov18_0216b724: ; 0x0216b724 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b728 data_ov18_0216b728: ; 0x0216b728 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov18_0216b72c data_ov18_0216b72c: ; 0x0216b72c .byte 0x04, 0x00, 0x00, 0x00 .global data_ov18_0216b730 data_ov18_0216b730: ; 0x0216b730 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov18_0216b734 data_ov18_0216b734: ; 0x0216b734 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b738 data_ov18_0216b738: ; 0x0216b738 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b73c data_ov18_0216b73c: ; 0x0216b73c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b740 data_ov18_0216b740: ; 0x0216b740 .byte 0xf6, 0xff, 0xff, 0xff .global data_ov18_0216b744 data_ov18_0216b744: ; 0x0216b744 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b748 data_ov18_0216b748: ; 0x0216b748 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b74c data_ov18_0216b74c: ; 0x0216b74c .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b750 data_ov18_0216b750: ; 0x0216b750 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b754 data_ov18_0216b754: ; 0x0216b754 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov18_0216b758 data_ov18_0216b758: ; 0x0216b758 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b75c data_ov18_0216b75c: ; 0x0216b75c .byte 0x02, 0x00, 0x00, 0x00 .global data_ov18_0216b760 data_ov18_0216b760: ; 0x0216b760 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b764 data_ov18_0216b764: ; 0x0216b764 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b768 data_ov18_0216b768: ; 0x0216b768 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b76c data_ov18_0216b76c: ; 0x0216b76c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b770 data_ov18_0216b770: ; 0x0216b770 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b774 data_ov18_0216b774: ; 0x0216b774 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216b778 data_ov18_0216b778: ; 0x0216b778 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov18_0216b77c data_ov18_0216b77c: ; 0x0216b77c .byte 0xf2, 0xff, 0xff, 0xff .global func_ov18_0216b780 arm_func_start func_ov18_0216b780 func_ov18_0216b780: ; 0x0216b780 stmdb sp!, {r3, lr} ldr r0, _0216b86c ; =data_ov18_0216d44c ldr r1, _0216b870 ; =0x414e4353 ldr r2, _0216b874 ; =func_ov18_0215cf60 mov r3, #0 bl func_0203e784 ldr r0, _0216b86c ; =data_ov18_0216d44c ldr r1, _0216b878 ; =func_0203e7b4 ldr r2, _0216b87c ; =data_ov18_0216d440 bl func_0204f8d4 ldr r1, _0216b880 ; =0x0000023d mov r0, #0x1000 bl func_01ff98e0 ldr r2, _0216b884 ; =data_ov18_0216c25c mov r3, #0x3800 str r0, [r2, #0x20] rsb r3, r3, #0 ldr r1, _0216b888 ; =0x00001333 str r3, [r2, #0x24] ldr r0, _0216b88c ; =data_ov18_0216c280 str r1, [r2, #0x28] add r3, r3, #0x2800 ldr r1, _0216b890 ; =func_0202bac0 str r3, [r2, #0x2c] ldr r2, _0216b894 ; =data_ov18_0216d460 bl func_0204f8d4 mov r2, #0x1800 rsb r2, r2, #0 ldr r0, _0216b884 ; =data_ov18_0216c25c ldr r1, _0216b888 ; =0x00001333 str r2, [r0, #0x30] str r1, [r0, #0x34] add r1, r2, #0x800 str r1, [r0, #0x38] ldr r0, _0216b898 ; =data_ov18_0216c28c ldr r1, _0216b890 ; =func_0202bac0 ldr r2, _0216b89c ; =data_ov18_0216d46c bl func_0204f8d4 mov r2, #0x1000 ldr r0, _0216b884 ; =data_ov18_0216c25c mov r1, #0 str r2, [r0, #0x3c] str r1, [r0, #0x40] str r1, [r0, #0x44] ldr r0, _0216b8a0 ; =data_ov18_0216c298 ldr r1, _0216b890 ; =func_0202bac0 ldr r2, _0216b8a4 ; =data_ov18_0216d478 bl func_0204f8d4 mov r2, #0x2000 ldr r0, _0216b884 ; =data_ov18_0216c25c mov r1, #0 str r2, [r0, #0x48] str r1, [r0, #0x4c] str r1, [r0, #0x50] ldr r0, _0216b8a8 ; =data_ov18_0216c2a4 ldr r1, _0216b890 ; =func_0202bac0 ldr r2, _0216b8ac ; =data_ov18_0216d484 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216b780 _0216b86c: .word data_ov18_0216d44c _0216b870: .word 0x414e4353 _0216b874: .word func_ov18_0215cf60 _0216b878: .word func_0203e7b4 _0216b87c: .word data_ov18_0216d440 _0216b880: .word 0x0000023d _0216b884: .word data_ov18_0216c25c _0216b888: .word 0x00001333 _0216b88c: .word data_ov18_0216c280 _0216b890: .word func_0202bac0 _0216b894: .word data_ov18_0216d460 _0216b898: .word data_ov18_0216c28c _0216b89c: .word data_ov18_0216d46c _0216b8a0: .word data_ov18_0216c298 _0216b8a4: .word data_ov18_0216d478 _0216b8a8: .word data_ov18_0216c2a4 _0216b8ac: .word data_ov18_0216d484 .global func_ov18_0216b8b0 arm_func_start func_ov18_0216b8b0 func_ov18_0216b8b0: ; 0x0216b8b0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r0, _0216bab0 ; =data_ov18_0216d490 ldr r2, _0216bab4 ; =func_ov18_0215e4dc mov r1, #0x2f bl func_0203eba8 ldr r0, _0216bab0 ; =data_ov18_0216d490 ldr r1, _0216bab8 ; =func_0203ebc8 ldr r2, _0216babc ; =data_ov18_0216d498 bl func_0204f8d4 ldr r3, _0216bac0 ; =data_ov18_0216c3a8 mov r0, #1 strb r0, [r3] ldr r7, _0216bac4 ; =data_ov18_0216c3aa strb r0, [r3, #1] ldr r5, _0216bac8 ; =data_ov18_0216c3ac ldr r4, _0216bacc ; =data_ov18_0216c3ae ldr r2, _0216bad0 ; =data_ov18_0216c3b0 ldr r1, _0216bad4 ; =data_ov18_0216c3b2 ldr r6, _0216bad8 ; =data_ov18_0216c3b4 ldr sl, _0216badc ; =data_ov18_0216c3b6 ldr sb, _0216bae0 ; =data_ov18_0216c3b8 mov r8, #0 strb r0, [r7] strb r0, [r7, #1] ldr r7, _0216bae4 ; =data_ov18_0216c3ba strb r0, [r5] strb r0, [r5, #1] ldr r5, _0216bae8 ; =data_ov18_0216c3bc strb r0, [r4] strb r0, [r4, #1] ldr r4, _0216baec ; =data_ov18_0216c3be strb r0, [r2] strb r0, [r2, #1] ldr r2, _0216baf0 ; =data_ov18_0216c3c0 strb r0, [r1] strb r0, [r1, #1] ldr r1, _0216baf4 ; =data_ov18_0216c3c2 strb r0, [r6] strb r0, [r6, #1] ldr r6, _0216baf8 ; =data_ov18_0216c3c4 strb r0, [sl] strb r0, [sl, #1] strb r8, [sb] strb r8, [sb, #1] strb r8, [r7] strb r8, [r7, #1] strb r8, [r5] strb r8, [r5, #1] strb r8, [r4] strb r8, [r4, #1] strb r8, [r2] strb r8, [r2, #1] strb r8, [r1] strb r8, [r1, #1] strb r8, [r6] ldr r5, _0216bafc ; =data_ov18_0216c3c6 ldr r4, _0216bb00 ; =data_ov18_0216c3c8 ldr r2, _0216bb04 ; =data_ov18_0216c3ca ldr r1, _0216bb08 ; =data_ov18_0216c3cc strb r8, [r6, #1] strb r8, [r5] strb r8, [r5, #1] strb r0, [r4] strb r0, [r4, #1] strb r8, [r2] strb r8, [r2, #1] strb r8, [r1] strb r8, [r1, #1] mov r2, #4 strb r2, [r3, #0x26] ldr r1, _0216bb0c ; =data_ov18_0216c3d0 strb r2, [r3, #0x27] ldr fp, _0216bb10 ; =data_ov18_0216c3d2 ldr sl, _0216bb14 ; =data_ov18_0216c3d4 ldr r8, _0216bb18 ; =data_ov18_0216c3d8 ldr r7, _0216bb1c ; =data_ov18_0216c3da ldr lr, _0216bb20 ; =data_ov18_0216c3dc ldr ip, _0216bb24 ; =data_ov18_0216c3de ldr r5, _0216bb28 ; =data_ov18_0216c3e2 ldr r4, _0216bb2c ; =data_ov18_0216c3e4 ldr r3, _0216bb30 ; =data_ov18_0216c3e6 ldr sb, _0216bb34 ; =data_ov18_0216c3d6 ldr r6, _0216bb38 ; =data_ov18_0216c3e0 mov r0, #5 strb r2, [r1] strb r2, [r1, #1] strb r2, [fp] strb r2, [fp, #1] strb r2, [sl] strb r2, [sl, #1] strb r0, [sb] strb r2, [sb, #1] strb r2, [r8] strb r2, [r8, #1] strb r2, [r7] strb r2, [r7, #1] strb r2, [lr] strb r2, [lr, #1] strb r2, [ip] strb r2, [ip, #1] strb r0, [r6] strb r2, [r6, #1] strb r2, [r5] strb r2, [r5, #1] strb r2, [r4] strb r2, [r4, #1] strb r2, [r3] strb r2, [r3, #1] ldr r6, _0216bb3c ; =data_ov18_0216c3e8 ldr lr, _0216bb40 ; =data_ov18_0216c3ec ldr ip, _0216bb44 ; =data_ov18_0216c3ee ldr r3, _0216bb48 ; =data_ov18_0216c3f0 ldr r1, _0216bb4c ; =data_ov18_0216c3f2 ldr r5, _0216bb50 ; =data_ov18_0216c3ea mov r4, #0xa strb r2, [r6] strb r2, [r6, #1] strb r4, [r5] strb r2, [r5, #1] strb r2, [lr] strb r2, [lr, #1] strb r0, [ip] strb r2, [ip, #1] strb r0, [r3] strb r2, [r3, #1] strb r2, [r1] strb r2, [r1, #1] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov18_0216b8b0 _0216bab0: .word data_ov18_0216d490 _0216bab4: .word func_ov18_0215e4dc _0216bab8: .word func_0203ebc8 _0216babc: .word data_ov18_0216d498 _0216bac0: .word data_ov18_0216c3a8 _0216bac4: .word data_ov18_0216c3aa _0216bac8: .word data_ov18_0216c3ac _0216bacc: .word data_ov18_0216c3ae _0216bad0: .word data_ov18_0216c3b0 _0216bad4: .word data_ov18_0216c3b2 _0216bad8: .word data_ov18_0216c3b4 _0216badc: .word data_ov18_0216c3b6 _0216bae0: .word data_ov18_0216c3b8 _0216bae4: .word data_ov18_0216c3ba _0216bae8: .word data_ov18_0216c3bc _0216baec: .word data_ov18_0216c3be _0216baf0: .word data_ov18_0216c3c0 _0216baf4: .word data_ov18_0216c3c2 _0216baf8: .word data_ov18_0216c3c4 _0216bafc: .word data_ov18_0216c3c6 _0216bb00: .word data_ov18_0216c3c8 _0216bb04: .word data_ov18_0216c3ca _0216bb08: .word data_ov18_0216c3cc _0216bb0c: .word data_ov18_0216c3d0 _0216bb10: .word data_ov18_0216c3d2 _0216bb14: .word data_ov18_0216c3d4 _0216bb18: .word data_ov18_0216c3d8 _0216bb1c: .word data_ov18_0216c3da _0216bb20: .word data_ov18_0216c3dc _0216bb24: .word data_ov18_0216c3de _0216bb28: .word data_ov18_0216c3e2 _0216bb2c: .word data_ov18_0216c3e4 _0216bb30: .word data_ov18_0216c3e6 _0216bb34: .word data_ov18_0216c3d6 _0216bb38: .word data_ov18_0216c3e0 _0216bb3c: .word data_ov18_0216c3e8 _0216bb40: .word data_ov18_0216c3ec _0216bb44: .word data_ov18_0216c3ee _0216bb48: .word data_ov18_0216c3f0 _0216bb4c: .word data_ov18_0216c3f2 _0216bb50: .word data_ov18_0216c3ea .global func_ov18_0216bb54 arm_func_start func_ov18_0216bb54 func_ov18_0216bb54: ; 0x0216bb54 stmdb sp!, {r3, lr} ldr r0, _0216bb7c ; =data_ov18_0216d4a4 ldr r2, _0216bb80 ; =func_ov18_0215f194 mov r1, #0x5e bl func_0203eba8 ldr r0, _0216bb7c ; =data_ov18_0216d4a4 ldr r1, _0216bb84 ; =func_0203ebc8 ldr r2, _0216bb88 ; =data_ov18_0216d4ac bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bb54 _0216bb7c: .word data_ov18_0216d4a4 _0216bb80: .word func_ov18_0215f194 _0216bb84: .word func_0203ebc8 _0216bb88: .word data_ov18_0216d4ac .global func_ov18_0216bb8c arm_func_start func_ov18_0216bb8c func_ov18_0216bb8c: ; 0x0216bb8c stmdb sp!, {r3, lr} ldr r0, _0216bbb4 ; =data_ov18_0216d4b8 ldr r2, _0216bbb8 ; =func_ov18_0215f474 mov r1, #0x30 bl func_0203eba8 ldr r0, _0216bbb4 ; =data_ov18_0216d4b8 ldr r1, _0216bbbc ; =func_0203ebc8 ldr r2, _0216bbc0 ; =data_ov18_0216d4c0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bb8c _0216bbb4: .word data_ov18_0216d4b8 _0216bbb8: .word func_ov18_0215f474 _0216bbbc: .word func_0203ebc8 _0216bbc0: .word data_ov18_0216d4c0 .global func_ov18_0216bbc4 arm_func_start func_ov18_0216bbc4 func_ov18_0216bbc4: ; 0x0216bbc4 stmdb sp!, {r3, lr} ldr r0, _0216bbec ; =data_ov18_0216d4cc ldr r2, _0216bbf0 ; =func_ov18_0215fa94 mov r1, #0x72 bl func_0203eba8 ldr r0, _0216bbec ; =data_ov18_0216d4cc ldr r1, _0216bbf4 ; =func_0203ebc8 ldr r2, _0216bbf8 ; =data_ov18_0216d4d4 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bbc4 _0216bbec: .word data_ov18_0216d4cc _0216bbf0: .word func_ov18_0215fa94 _0216bbf4: .word func_0203ebc8 _0216bbf8: .word data_ov18_0216d4d4 .global func_ov18_0216bbfc arm_func_start func_ov18_0216bbfc func_ov18_0216bbfc: ; 0x0216bbfc stmdb sp!, {r3, lr} ldr r0, _0216bc24 ; =data_ov18_0216d4e0 ldr r2, _0216bc28 ; =func_ov18_02160578 mov r1, #0x7b bl func_0203eba8 ldr r0, _0216bc24 ; =data_ov18_0216d4e0 ldr r1, _0216bc2c ; =func_0203ebc8 ldr r2, _0216bc30 ; =data_ov18_0216d4e8 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bbfc _0216bc24: .word data_ov18_0216d4e0 _0216bc28: .word func_ov18_02160578 _0216bc2c: .word func_0203ebc8 _0216bc30: .word data_ov18_0216d4e8 .global func_ov18_0216bc34 arm_func_start func_ov18_0216bc34 func_ov18_0216bc34: ; 0x0216bc34 stmdb sp!, {r3, lr} ldr r0, _0216bc5c ; =data_ov18_0216d4f4 ldr r2, _0216bc60 ; =func_ov18_02160aa0 mov r1, #0x88 bl func_0203eba8 ldr r0, _0216bc5c ; =data_ov18_0216d4f4 ldr r1, _0216bc64 ; =func_0203ebc8 ldr r2, _0216bc68 ; =data_ov18_0216d4fc bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bc34 _0216bc5c: .word data_ov18_0216d4f4 _0216bc60: .word func_ov18_02160aa0 _0216bc64: .word func_0203ebc8 _0216bc68: .word data_ov18_0216d4fc .global func_ov18_0216bc6c arm_func_start func_ov18_0216bc6c func_ov18_0216bc6c: ; 0x0216bc6c stmdb sp!, {r3, lr} ldr r0, _0216bc94 ; =data_ov18_0216d508 ldr r2, _0216bc98 ; =func_ov18_02161074 mov r1, #0x77 bl func_0203eba8 ldr r0, _0216bc94 ; =data_ov18_0216d508 ldr r1, _0216bc9c ; =func_0203ebc8 ldr r2, _0216bca0 ; =data_ov18_0216d510 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bc6c _0216bc94: .word data_ov18_0216d508 _0216bc98: .word func_ov18_02161074 _0216bc9c: .word func_0203ebc8 _0216bca0: .word data_ov18_0216d510 .global func_ov18_0216bca4 arm_func_start func_ov18_0216bca4 func_ov18_0216bca4: ; 0x0216bca4 stmdb sp!, {r3, lr} ldr r0, _0216bccc ; =data_ov18_0216d51c ldr r2, _0216bcd0 ; =func_ov18_0216133c mov r1, #0x74 bl func_0203eba8 ldr r0, _0216bccc ; =data_ov18_0216d51c ldr r1, _0216bcd4 ; =func_0203ebc8 ldr r2, _0216bcd8 ; =data_ov18_0216d524 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bca4 _0216bccc: .word data_ov18_0216d51c _0216bcd0: .word func_ov18_0216133c _0216bcd4: .word func_0203ebc8 _0216bcd8: .word data_ov18_0216d524 .global func_ov18_0216bcdc arm_func_start func_ov18_0216bcdc func_ov18_0216bcdc: ; 0x0216bcdc stmdb sp!, {r3, lr} ldr r0, _0216bd04 ; =data_ov18_0216d530 ldr r2, _0216bd08 ; =func_ov18_02161604 mov r1, #0x33 bl func_0203eba8 ldr r0, _0216bd04 ; =data_ov18_0216d530 ldr r1, _0216bd0c ; =func_0203ebc8 ldr r2, _0216bd10 ; =data_ov18_0216d538 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bcdc _0216bd04: .word data_ov18_0216d530 _0216bd08: .word func_ov18_02161604 _0216bd0c: .word func_0203ebc8 _0216bd10: .word data_ov18_0216d538 .global func_ov18_0216bd14 arm_func_start func_ov18_0216bd14 func_ov18_0216bd14: ; 0x0216bd14 stmdb sp!, {r3, lr} ldr r0, _0216bd3c ; =data_ov18_0216d544 ldr r2, _0216bd40 ; =func_ov18_02161a0c mov r1, #0x75 bl func_0203eba8 ldr r0, _0216bd3c ; =data_ov18_0216d544 ldr r1, _0216bd44 ; =func_0203ebc8 ldr r2, _0216bd48 ; =data_ov18_0216d54c bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bd14 _0216bd3c: .word data_ov18_0216d544 _0216bd40: .word func_ov18_02161a0c _0216bd44: .word func_0203ebc8 _0216bd48: .word data_ov18_0216d54c .global func_ov18_0216bd4c arm_func_start func_ov18_0216bd4c func_ov18_0216bd4c: ; 0x0216bd4c stmdb sp!, {r3, lr} ldr r0, _0216bd74 ; =data_ov18_0216d558 ldr r2, _0216bd78 ; =func_ov18_02161cd4 mov r1, #0x76 bl func_0203eba8 ldr r0, _0216bd74 ; =data_ov18_0216d558 ldr r1, _0216bd7c ; =func_0203ebc8 ldr r2, _0216bd80 ; =data_ov18_0216d560 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bd4c _0216bd74: .word data_ov18_0216d558 _0216bd78: .word func_ov18_02161cd4 _0216bd7c: .word func_0203ebc8 _0216bd80: .word data_ov18_0216d560 .global func_ov18_0216bd84 arm_func_start func_ov18_0216bd84 func_ov18_0216bd84: ; 0x0216bd84 stmdb sp!, {r3, lr} ldr r0, _0216bdac ; =data_ov18_0216d56c ldr r2, _0216bdb0 ; =func_ov18_02161ec8 mov r1, #0x73 bl func_0203eba8 ldr r0, _0216bdac ; =data_ov18_0216d56c ldr r1, _0216bdb4 ; =func_0203ebc8 ldr r2, _0216bdb8 ; =data_ov18_0216d574 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bd84 _0216bdac: .word data_ov18_0216d56c _0216bdb0: .word func_ov18_02161ec8 _0216bdb4: .word func_0203ebc8 _0216bdb8: .word data_ov18_0216d574 .global func_ov18_0216bdbc arm_func_start func_ov18_0216bdbc func_ov18_0216bdbc: ; 0x0216bdbc stmdb sp!, {r3, lr} ldr r0, _0216bde4 ; =data_ov18_0216d580 ldr r2, _0216bde8 ; =func_ov18_02162090 mov r1, #0 bl func_0203eba8 ldr r0, _0216bde4 ; =data_ov18_0216d580 ldr r1, _0216bdec ; =func_0203ebc8 ldr r2, _0216bdf0 ; =data_ov18_0216d588 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bdbc _0216bde4: .word data_ov18_0216d580 _0216bde8: .word func_ov18_02162090 _0216bdec: .word func_0203ebc8 _0216bdf0: .word data_ov18_0216d588 .global func_ov18_0216bdf4 arm_func_start func_ov18_0216bdf4 func_ov18_0216bdf4: ; 0x0216bdf4 stmdb sp!, {r3, lr} ldr r0, _0216be1c ; =data_ov18_0216d594 ldr r2, _0216be20 ; =func_ov18_02162cc4 mov r1, #1 bl func_0203eba8 ldr r0, _0216be1c ; =data_ov18_0216d594 ldr r1, _0216be24 ; =func_0203ebc8 ldr r2, _0216be28 ; =data_ov18_0216d59c bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bdf4 _0216be1c: .word data_ov18_0216d594 _0216be20: .word func_ov18_02162cc4 _0216be24: .word func_0203ebc8 _0216be28: .word data_ov18_0216d59c .global func_ov18_0216be2c arm_func_start func_ov18_0216be2c func_ov18_0216be2c: ; 0x0216be2c stmdb sp!, {r3, lr} ldr r0, _0216be54 ; =data_ov18_0216d5a8 ldr r2, _0216be58 ; =func_ov18_021637ec mov r1, #0x38 bl func_0203eba8 ldr r0, _0216be54 ; =data_ov18_0216d5a8 ldr r1, _0216be5c ; =func_0203ebc8 ldr r2, _0216be60 ; =data_ov18_0216d5b0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216be2c _0216be54: .word data_ov18_0216d5a8 _0216be58: .word func_ov18_021637ec _0216be5c: .word func_0203ebc8 _0216be60: .word data_ov18_0216d5b0 .global func_ov18_0216be64 arm_func_start func_ov18_0216be64 func_ov18_0216be64: ; 0x0216be64 stmdb sp!, {r3, lr} ldr r0, _0216be8c ; =data_ov18_0216d5bc ldr r2, _0216be90 ; =func_ov18_021642f0 mov r1, #0x35 bl func_0203eba8 ldr r0, _0216be8c ; =data_ov18_0216d5bc ldr r1, _0216be94 ; =func_0203ebc8 ldr r2, _0216be98 ; =data_ov18_0216d5c4 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216be64 _0216be8c: .word data_ov18_0216d5bc _0216be90: .word func_ov18_021642f0 _0216be94: .word func_0203ebc8 _0216be98: .word data_ov18_0216d5c4 .global func_ov18_0216be9c arm_func_start func_ov18_0216be9c func_ov18_0216be9c: ; 0x0216be9c stmdb sp!, {r3, lr} ldr r0, _0216bec4 ; =data_ov18_0216d5d0 ldr r2, _0216bec8 ; =func_ov18_021646fc mov r1, #0x61 bl func_0203eba8 ldr r0, _0216bec4 ; =data_ov18_0216d5d0 ldr r1, _0216becc ; =func_0203ebc8 ldr r2, _0216bed0 ; =data_ov18_0216d5d8 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216be9c _0216bec4: .word data_ov18_0216d5d0 _0216bec8: .word func_ov18_021646fc _0216becc: .word func_0203ebc8 _0216bed0: .word data_ov18_0216d5d8 .global func_ov18_0216bed4 arm_func_start func_ov18_0216bed4 func_ov18_0216bed4: ; 0x0216bed4 stmdb sp!, {r3, lr} ldr r0, _0216bf00 ; =data_ov18_0216d5f0 ldr r1, _0216bf04 ; =0x504f5354 ldr r2, _0216bf08 ; =func_ov18_02164bbc mov r3, #0 bl func_0203e784 ldr r0, _0216bf00 ; =data_ov18_0216d5f0 ldr r1, _0216bf0c ; =func_0203e7b4 ldr r2, _0216bf10 ; =data_ov18_0216d5e4 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bed4 _0216bf00: .word data_ov18_0216d5f0 _0216bf04: .word 0x504f5354 _0216bf08: .word func_ov18_02164bbc _0216bf0c: .word func_0203e7b4 _0216bf10: .word data_ov18_0216d5e4 .global func_ov18_0216bf14 arm_func_start func_ov18_0216bf14 func_ov18_0216bf14: ; 0x0216bf14 stmdb sp!, {r3, lr} ldr r0, _0216bf40 ; =data_ov18_0216d610 ldr r1, _0216bf44 ; =0x5053544d ldr r2, _0216bf48 ; =func_ov18_02165b3c mov r3, #0 bl func_0203e784 ldr r0, _0216bf40 ; =data_ov18_0216d610 ldr r1, _0216bf4c ; =func_0203e7b4 ldr r2, _0216bf50 ; =data_ov18_0216d604 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bf14 _0216bf40: .word data_ov18_0216d610 _0216bf44: .word 0x5053544d _0216bf48: .word func_ov18_02165b3c _0216bf4c: .word func_0203e7b4 _0216bf50: .word data_ov18_0216d604 .global func_ov18_0216bf54 arm_func_start func_ov18_0216bf54 func_ov18_0216bf54: ; 0x0216bf54 stmdb sp!, {r3, lr} ldr r0, _0216bf7c ; =data_ov18_0216d634 ldr r2, _0216bf80 ; =func_ov18_021686f4 mov r1, #0x29 bl func_0203eba8 ldr r0, _0216bf7c ; =data_ov18_0216d634 ldr r1, _0216bf84 ; =func_0203ebc8 ldr r2, _0216bf88 ; =data_ov18_0216d63c bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bf54 _0216bf7c: .word data_ov18_0216d634 _0216bf80: .word func_ov18_021686f4 _0216bf84: .word func_0203ebc8 _0216bf88: .word data_ov18_0216d63c .global func_ov18_0216bf8c arm_func_start func_ov18_0216bf8c func_ov18_0216bf8c: ; 0x0216bf8c stmdb sp!, {r3, lr} ldr r0, _0216bfe4 ; =data_ov18_0216d654 ldr r1, _0216bfe8 ; =0x43534546 ldr r2, _0216bfec ; =func_ov18_02168f84 mov r3, #0 bl func_0203e784 ldr r0, _0216bfe4 ; =data_ov18_0216d654 ldr r1, _0216bff0 ; =func_0203e7b4 ldr r2, _0216bff4 ; =data_ov18_0216d648 bl func_0204f8d4 mov r1, #0 ldr r3, _0216bff8 ; =data_ov18_0216d254 sub r0, r1, #0x1000 str r1, [r3] ldr ip, _0216bffc ; =0xfffff99a str r0, [r3, #4] ldr r0, _0216c000 ; =data_ov18_0216d254 ldr r1, _0216c004 ; =func_0202bac0 ldr r2, _0216c008 ; =data_ov18_0216d668 str ip, [r3, #8] bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216bf8c _0216bfe4: .word data_ov18_0216d654 _0216bfe8: .word 0x43534546 _0216bfec: .word func_ov18_02168f84 _0216bff0: .word func_0203e7b4 _0216bff4: .word data_ov18_0216d648 _0216bff8: .word data_ov18_0216d254 _0216bffc: .word 0xfffff99a _0216c000: .word data_ov18_0216d254 _0216c004: .word func_0202bac0 _0216c008: .word data_ov18_0216d668 .global func_ov18_0216c00c arm_func_start func_ov18_0216c00c func_ov18_0216c00c: ; 0x0216c00c stmdb sp!, {r3, lr} ldr r0, _0216c038 ; =data_ov18_0216d684 ldr r1, _0216c03c ; =0x48534b42 ldr r2, _0216c040 ; =func_ov18_0216a0e0 mov r3, #0 bl func_0203e784 ldr r0, _0216c038 ; =data_ov18_0216d684 ldr r1, _0216c044 ; =func_0203e7b4 ldr r2, _0216c048 ; =data_ov18_0216d678 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov18_0216c00c _0216c038: .word data_ov18_0216d684 _0216c03c: .word 0x48534b42 _0216c040: .word func_ov18_0216a0e0 _0216c044: .word func_0203e7b4 _0216c048: .word data_ov18_0216d678 .global data_ov18_0216c04c data_ov18_0216c04c: ; 0x0216c04c .byte 0x80, 0xb7, 0x16, 0x02 .global data_ov18_0216c050 data_ov18_0216c050: ; 0x0216c050 .byte 0xb0, 0xb8, 0x16, 0x02 .global data_ov18_0216c054 data_ov18_0216c054: ; 0x0216c054 .byte 0x54, 0xbb, 0x16, 0x02 .global data_ov18_0216c058 data_ov18_0216c058: ; 0x0216c058 .byte 0x8c, 0xbb, 0x16, 0x02 .global data_ov18_0216c05c data_ov18_0216c05c: ; 0x0216c05c .byte 0xc4, 0xbb, 0x16, 0x02 .global data_ov18_0216c060 data_ov18_0216c060: ; 0x0216c060 .byte 0xfc, 0xbb, 0x16, 0x02 .global data_ov18_0216c064 data_ov18_0216c064: ; 0x0216c064 .byte 0x34, 0xbc, 0x16, 0x02 .global data_ov18_0216c068 data_ov18_0216c068: ; 0x0216c068 .byte 0x6c, 0xbc, 0x16, 0x02 .global data_ov18_0216c06c data_ov18_0216c06c: ; 0x0216c06c .byte 0xa4, 0xbc, 0x16, 0x02 .global data_ov18_0216c070 data_ov18_0216c070: ; 0x0216c070 .byte 0xdc, 0xbc, 0x16, 0x02 .global data_ov18_0216c074 data_ov18_0216c074: ; 0x0216c074 .byte 0x14, 0xbd, 0x16, 0x02 .global data_ov18_0216c078 data_ov18_0216c078: ; 0x0216c078 .byte 0x4c, 0xbd, 0x16, 0x02 .global data_ov18_0216c07c data_ov18_0216c07c: ; 0x0216c07c .byte 0x84, 0xbd, 0x16, 0x02 .global data_ov18_0216c080 data_ov18_0216c080: ; 0x0216c080 .byte 0xbc, 0xbd, 0x16, 0x02 .global data_ov18_0216c084 data_ov18_0216c084: ; 0x0216c084 .byte 0xf4, 0xbd, 0x16, 0x02 .global data_ov18_0216c088 data_ov18_0216c088: ; 0x0216c088 .byte 0x2c, 0xbe, 0x16, 0x02 .global data_ov18_0216c08c data_ov18_0216c08c: ; 0x0216c08c .byte 0x64, 0xbe, 0x16, 0x02 .global data_ov18_0216c090 data_ov18_0216c090: ; 0x0216c090 .byte 0x9c, 0xbe, 0x16, 0x02 .global data_ov18_0216c094 data_ov18_0216c094: ; 0x0216c094 .byte 0xd4, 0xbe, 0x16, 0x02 .global data_ov18_0216c098 data_ov18_0216c098: ; 0x0216c098 .byte 0x14, 0xbf, 0x16, 0x02 .global data_ov18_0216c09c data_ov18_0216c09c: ; 0x0216c09c .byte 0x54, 0xbf, 0x16, 0x02 .global data_ov18_0216c0a0 data_ov18_0216c0a0: ; 0x0216c0a0 .byte 0x8c, 0xbf, 0x16, 0x02 .global data_ov18_0216c0a4 data_ov18_0216c0a4: ; 0x0216c0a4 .byte 0x0c, 0xc0, 0x16, 0x02 .global data_ov18_0216c0a8 data_ov18_0216c0a8: ; 0x0216c0a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0ac data_ov18_0216c0ac: ; 0x0216c0ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0b0 data_ov18_0216c0b0: ; 0x0216c0b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0b4 data_ov18_0216c0b4: ; 0x0216c0b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0b8 data_ov18_0216c0b8: ; 0x0216c0b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0bc data_ov18_0216c0bc: ; 0x0216c0bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0c0 data_ov18_0216c0c0: ; 0x0216c0c0 .byte 0xd0, 0xc1, 0x16, 0x02 .global data_ov18_0216c0c4 data_ov18_0216c0c4: ; 0x0216c0c4 .byte 0xa4, 0xc1, 0x16, 0x02 .global data_ov18_0216c0c8 data_ov18_0216c0c8: ; 0x0216c0c8 .byte 0xa8, 0xc1, 0x16, 0x02 .global data_ov18_0216c0cc data_ov18_0216c0cc: ; 0x0216c0cc .byte 0x04, 0xc2, 0x16, 0x02 .global data_ov18_0216c0d0 data_ov18_0216c0d0: ; 0x0216c0d0 .byte 0xbc, 0xc1, 0x16, 0x02 .global data_ov18_0216c0d4 data_ov18_0216c0d4: ; 0x0216c0d4 .byte 0xe4, 0xc1, 0x16, 0x02 .global data_ov18_0216c0d8 data_ov18_0216c0d8: ; 0x0216c0d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0dc data_ov18_0216c0dc: ; 0x0216c0dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c0e0 data_ov18_0216c0e0: ; 0x0216c0e0 .byte 0x4c, 0xb6, 0x15, 0x02 .global data_ov18_0216c0e4 data_ov18_0216c0e4: ; 0x0216c0e4 .byte 0x58, 0xb7, 0x15, 0x02 .global data_ov18_0216c0e8 data_ov18_0216c0e8: ; 0x0216c0e8 .byte 0x6c, 0xb8, 0x15, 0x02 .global data_ov18_0216c0ec data_ov18_0216c0ec: ; 0x0216c0ec .byte 0xfd, 0xc3, 0x10, 0x02 .global data_ov18_0216c0f0 data_ov18_0216c0f0: ; 0x0216c0f0 .byte 0x2d, 0xc5, 0x10, 0x02 .global data_ov18_0216c0f4 data_ov18_0216c0f4: ; 0x0216c0f4 .byte 0x84, 0xbd, 0x15, 0x02 .global data_ov18_0216c0f8 data_ov18_0216c0f8: ; 0x0216c0f8 .byte 0xf4, 0xdd, 0x07, 0x02 .global data_ov18_0216c0fc data_ov18_0216c0fc: ; 0x0216c0fc .byte 0xb8, 0xbe, 0x15, 0x02 .global data_ov18_0216c100 data_ov18_0216c100: ; 0x0216c100 .byte 0x44, 0xc1, 0x15, 0x02 .global data_ov18_0216c104 data_ov18_0216c104: ; 0x0216c104 .byte 0x6c, 0x1c, 0x11, 0x02 .global data_ov18_0216c108 data_ov18_0216c108: ; 0x0216c108 .byte 0x70, 0x1c, 0x11, 0x02 .global data_ov18_0216c10c data_ov18_0216c10c: ; 0x0216c10c .byte 0xc8, 0xc1, 0x15, 0x02 .global data_ov18_0216c110 data_ov18_0216c110: ; 0x0216c110 .byte 0x65, 0xc7, 0x10, 0x02 .global data_ov18_0216c114 data_ov18_0216c114: ; 0x0216c114 .byte 0x01, 0xc8, 0x10, 0x02 .global data_ov18_0216c118 data_ov18_0216c118: ; 0x0216c118 .byte 0x8d, 0xc8, 0x10, 0x02 .global data_ov18_0216c11c data_ov18_0216c11c: ; 0x0216c11c .byte 0xd5, 0xc8, 0x10, 0x02 .global data_ov18_0216c120 data_ov18_0216c120: ; 0x0216c120 .byte 0x85, 0xca, 0x10, 0x02 .global data_ov18_0216c124 data_ov18_0216c124: ; 0x0216c124 .byte 0x01, 0xcb, 0x10, 0x02 .global data_ov18_0216c128 data_ov18_0216c128: ; 0x0216c128 .byte 0x6c, 0xe4, 0x07, 0x02 .global data_ov18_0216c12c data_ov18_0216c12c: ; 0x0216c12c .byte 0xa4, 0xca, 0x15, 0x02 .global data_ov18_0216c130 data_ov18_0216c130: ; 0x0216c130 .byte 0x88, 0xe4, 0x07, 0x02 .global data_ov18_0216c134 data_ov18_0216c134: ; 0x0216c134 .byte 0x90, 0xc2, 0x15, 0x02 .global data_ov18_0216c138 data_ov18_0216c138: ; 0x0216c138 .byte 0xb0, 0xc2, 0x15, 0x02 .global data_ov18_0216c13c data_ov18_0216c13c: ; 0x0216c13c .byte 0xe0, 0xc2, 0x15, 0x02 .global data_ov18_0216c140 data_ov18_0216c140: ; 0x0216c140 .byte 0x00, 0xc3, 0x15, 0x02 .global data_ov18_0216c144 data_ov18_0216c144: ; 0x0216c144 .byte 0x2c, 0xc3, 0x15, 0x02 .global data_ov18_0216c148 data_ov18_0216c148: ; 0x0216c148 .byte 0xb8, 0xe4, 0x07, 0x02 .global data_ov18_0216c14c data_ov18_0216c14c: ; 0x0216c14c .byte 0x70, 0xe9, 0x07, 0x02 .global data_ov18_0216c150 data_ov18_0216c150: ; 0x0216c150 .byte 0x14, 0xee, 0x07, 0x02 .global data_ov18_0216c154 data_ov18_0216c154: ; 0x0216c154 .byte 0xf4, 0xef, 0x07, 0x02 .global data_ov18_0216c158 data_ov18_0216c158: ; 0x0216c158 .byte 0x48, 0xc4, 0x15, 0x02 .global data_ov18_0216c15c data_ov18_0216c15c: ; 0x0216c15c .byte 0x60, 0xc4, 0x15, 0x02 .global data_ov18_0216c160 data_ov18_0216c160: ; 0x0216c160 .byte 0xc4, 0xc5, 0x15, 0x02 .global data_ov18_0216c164 data_ov18_0216c164: ; 0x0216c164 .byte 0x64, 0xf3, 0x07, 0x02 .global data_ov18_0216c168 data_ov18_0216c168: ; 0x0216c168 .byte 0x24, 0xf3, 0x07, 0x02 .global data_ov18_0216c16c data_ov18_0216c16c: ; 0x0216c16c .byte 0x2c, 0xf3, 0x07, 0x02 .global data_ov18_0216c170 data_ov18_0216c170: ; 0x0216c170 .byte 0xc4, 0xf3, 0x07, 0x02 .global data_ov18_0216c174 data_ov18_0216c174: ; 0x0216c174 .byte 0x7c, 0xc2, 0x15, 0x02 .global data_ov18_0216c178 data_ov18_0216c178: ; 0x0216c178 .byte 0xc0, 0xc3, 0x15, 0x02 .global data_ov18_0216c17c data_ov18_0216c17c: ; 0x0216c17c .byte 0x34, 0xf3, 0x07, 0x02 .global data_ov18_0216c180 data_ov18_0216c180: ; 0x0216c180 .byte 0x38, 0xf3, 0x07, 0x02 .global data_ov18_0216c184 data_ov18_0216c184: ; 0x0216c184 .byte 0x84, 0xc2, 0x15, 0x02 .global data_ov18_0216c188 data_ov18_0216c188: ; 0x0216c188 .byte 0x44, 0xf3, 0x07, 0x02 .global data_ov18_0216c18c data_ov18_0216c18c: ; 0x0216c18c .byte 0x48, 0xf3, 0x07, 0x02 .global data_ov18_0216c190 data_ov18_0216c190: ; 0x0216c190 .byte 0x08, 0xc6, 0x15, 0x02 .global data_ov18_0216c194 data_ov18_0216c194: ; 0x0216c194 .byte 0x44, 0xe4, 0x07, 0x02 .global data_ov18_0216c198 data_ov18_0216c198: ; 0x0216c198 .byte 0xd4, 0x07, 0x08, 0x02 .global data_ov18_0216c19c data_ov18_0216c19c: ; 0x0216c19c .byte 0xa0, 0xc3, 0x15, 0x02 .global data_ov18_0216c1a0 data_ov18_0216c1a0: ; 0x0216c1a0 .byte 0x28, 0xc4, 0x15, 0x02 .global data_ov18_0216c1a4 data_ov18_0216c1a4: ; 0x0216c1a4 .ascii "MSE" .byte 0x00 .global data_ov18_0216c1a8 data_ov18_0216c1a8: ; 0x0216c1a8 .ascii "MSE:field_sea.nsbca" .byte 0x00 .global data_ov18_0216c1bc data_ov18_0216c1bc: ; 0x0216c1bc .ascii "MSE:field_sea.nsbta" .byte 0x00 .global data_ov18_0216c1d0 data_ov18_0216c1d0: ; 0x0216c1d0 .ascii "MSE:field_sea.nsbmd" .byte 0x00 .global data_ov18_0216c1e4 data_ov18_0216c1e4: ; 0x0216c1e4 .ascii "Environment/Sea/field_sea.narc" .byte 0x00, 0x00 .global data_ov18_0216c204 data_ov18_0216c204: ; 0x0216c204 .ascii "Environment/Sea/field_sea.nsbtx" .byte 0x00 .global data_ov18_0216c224 data_ov18_0216c224: ; 0x0216c224 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c228 data_ov18_0216c228: ; 0x0216c228 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c22c data_ov18_0216c22c: ; 0x0216c22c .byte 0x10, 0xcd, 0x15, 0x02 .global data_ov18_0216c230 data_ov18_0216c230: ; 0x0216c230 .byte 0x9c, 0xcd, 0x15, 0x02 .global data_ov18_0216c234 data_ov18_0216c234: ; 0x0216c234 .byte 0xb4, 0xcd, 0x15, 0x02 .global data_ov18_0216c238 data_ov18_0216c238: ; 0x0216c238 .byte 0x44, 0xce, 0x15, 0x02 .global data_ov18_0216c23c data_ov18_0216c23c: ; 0x0216c23c .ascii "brg" .byte 0x00 .global data_ov18_0216c240 data_ov18_0216c240: ; 0x0216c240 .ascii "fnl" .byte 0x00 .global data_ov18_0216c244 data_ov18_0216c244: ; 0x0216c244 .ascii "pdl" .byte 0x00 .global data_ov18_0216c248 data_ov18_0216c248: ; 0x0216c248 .ascii "dco" .byte 0x00 .global data_ov18_0216c24c data_ov18_0216c24c: ; 0x0216c24c .ascii "can" .byte 0x00 .global data_ov18_0216c250 data_ov18_0216c250: ; 0x0216c250 .ascii "hul" .byte 0x00 .global data_ov18_0216c254 data_ov18_0216c254: ; 0x0216c254 .ascii "bow" .byte 0x00 .global data_ov18_0216c258 data_ov18_0216c258: ; 0x0216c258 .ascii "anc" .byte 0x00 .global data_ov18_0216c25c data_ov18_0216c25c: ; 0x0216c25c .byte 0x58, 0xc2, 0x16, 0x02 .global data_ov18_0216c260 data_ov18_0216c260: ; 0x0216c260 .byte 0x54, 0xc2, 0x16, 0x02 .global data_ov18_0216c264 data_ov18_0216c264: ; 0x0216c264 .byte 0x50, 0xc2, 0x16, 0x02 .global data_ov18_0216c268 data_ov18_0216c268: ; 0x0216c268 .byte 0x4c, 0xc2, 0x16, 0x02 .global data_ov18_0216c26c data_ov18_0216c26c: ; 0x0216c26c .byte 0x48, 0xc2, 0x16, 0x02 .global data_ov18_0216c270 data_ov18_0216c270: ; 0x0216c270 .byte 0x44, 0xc2, 0x16, 0x02 .global data_ov18_0216c274 data_ov18_0216c274: ; 0x0216c274 .byte 0x40, 0xc2, 0x16, 0x02 .global data_ov18_0216c278 data_ov18_0216c278: ; 0x0216c278 .byte 0x3c, 0xc2, 0x16, 0x02 .global data_ov18_0216c27c data_ov18_0216c27c: ; 0x0216c27c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c280 data_ov18_0216c280: ; 0x0216c280 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c284 data_ov18_0216c284: ; 0x0216c284 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c288 data_ov18_0216c288: ; 0x0216c288 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c28c data_ov18_0216c28c: ; 0x0216c28c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c290 data_ov18_0216c290: ; 0x0216c290 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c294 data_ov18_0216c294: ; 0x0216c294 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c298 data_ov18_0216c298: ; 0x0216c298 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c29c data_ov18_0216c29c: ; 0x0216c29c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2a0 data_ov18_0216c2a0: ; 0x0216c2a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2a4 data_ov18_0216c2a4: ; 0x0216c2a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2a8 data_ov18_0216c2a8: ; 0x0216c2a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2ac data_ov18_0216c2ac: ; 0x0216c2ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2b0 data_ov18_0216c2b0: ; 0x0216c2b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2b4 data_ov18_0216c2b4: ; 0x0216c2b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2b8 data_ov18_0216c2b8: ; 0x0216c2b8 .byte 0x90, 0xcf, 0x15, 0x02 .global data_ov18_0216c2bc data_ov18_0216c2bc: ; 0x0216c2bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2c0 data_ov18_0216c2c0: ; 0x0216c2c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c2c4 data_ov18_0216c2c4: ; 0x0216c2c4 .byte 0xec, 0xd1, 0x15, 0x02 .global data_ov18_0216c2c8 data_ov18_0216c2c8: ; 0x0216c2c8 .byte 0x38, 0xd2, 0x15, 0x02 .global data_ov18_0216c2cc data_ov18_0216c2cc: ; 0x0216c2cc .byte 0x8c, 0xd2, 0x15, 0x02 .global data_ov18_0216c2d0 data_ov18_0216c2d0: ; 0x0216c2d0 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov18_0216c2d4 data_ov18_0216c2d4: ; 0x0216c2d4 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov18_0216c2d8 data_ov18_0216c2d8: ; 0x0216c2d8 .byte 0x84, 0xd5, 0x15, 0x02 .global data_ov18_0216c2dc data_ov18_0216c2dc: ; 0x0216c2dc .byte 0xac, 0xd6, 0x15, 0x02 .global data_ov18_0216c2e0 data_ov18_0216c2e0: ; 0x0216c2e0 .byte 0x98, 0xdf, 0x15, 0x02 .global data_ov18_0216c2e4 data_ov18_0216c2e4: ; 0x0216c2e4 .byte 0xa4, 0xe0, 0x15, 0x02 .global data_ov18_0216c2e8 data_ov18_0216c2e8: ; 0x0216c2e8 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov18_0216c2ec data_ov18_0216c2ec: ; 0x0216c2ec .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov18_0216c2f0 data_ov18_0216c2f0: ; 0x0216c2f0 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov18_0216c2f4 data_ov18_0216c2f4: ; 0x0216c2f4 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov18_0216c2f8 data_ov18_0216c2f8: ; 0x0216c2f8 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov18_0216c2fc data_ov18_0216c2fc: ; 0x0216c2fc .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov18_0216c300 data_ov18_0216c300: ; 0x0216c300 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov18_0216c304 data_ov18_0216c304: ; 0x0216c304 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov18_0216c308 data_ov18_0216c308: ; 0x0216c308 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov18_0216c30c data_ov18_0216c30c: ; 0x0216c30c .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov18_0216c310 data_ov18_0216c310: ; 0x0216c310 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov18_0216c314 data_ov18_0216c314: ; 0x0216c314 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov18_0216c318 data_ov18_0216c318: ; 0x0216c318 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov18_0216c31c data_ov18_0216c31c: ; 0x0216c31c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov18_0216c320 data_ov18_0216c320: ; 0x0216c320 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov18_0216c324 data_ov18_0216c324: ; 0x0216c324 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov18_0216c328 data_ov18_0216c328: ; 0x0216c328 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov18_0216c32c data_ov18_0216c32c: ; 0x0216c32c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov18_0216c330 data_ov18_0216c330: ; 0x0216c330 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov18_0216c334 data_ov18_0216c334: ; 0x0216c334 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov18_0216c338 data_ov18_0216c338: ; 0x0216c338 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov18_0216c33c data_ov18_0216c33c: ; 0x0216c33c .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov18_0216c340 data_ov18_0216c340: ; 0x0216c340 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov18_0216c344 data_ov18_0216c344: ; 0x0216c344 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov18_0216c348 data_ov18_0216c348: ; 0x0216c348 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov18_0216c34c data_ov18_0216c34c: ; 0x0216c34c .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov18_0216c350 data_ov18_0216c350: ; 0x0216c350 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov18_0216c354 data_ov18_0216c354: ; 0x0216c354 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov18_0216c358 data_ov18_0216c358: ; 0x0216c358 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov18_0216c35c data_ov18_0216c35c: ; 0x0216c35c .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov18_0216c360 data_ov18_0216c360: ; 0x0216c360 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov18_0216c364 data_ov18_0216c364: ; 0x0216c364 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov18_0216c368 data_ov18_0216c368: ; 0x0216c368 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov18_0216c36c data_ov18_0216c36c: ; 0x0216c36c .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov18_0216c370 data_ov18_0216c370: ; 0x0216c370 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov18_0216c374 data_ov18_0216c374: ; 0x0216c374 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov18_0216c378 data_ov18_0216c378: ; 0x0216c378 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c37c data_ov18_0216c37c: ; 0x0216c37c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c380 data_ov18_0216c380: ; 0x0216c380 .byte 0xe8, 0xd1, 0x15, 0x02 .global data_ov18_0216c384 data_ov18_0216c384: ; 0x0216c384 .byte 0xc8, 0xe4, 0x15, 0x02 .global data_ov18_0216c388 data_ov18_0216c388: ; 0x0216c388 .byte 0xac, 0xcf, 0x15, 0x02 .global data_ov18_0216c38c data_ov18_0216c38c: ; 0x0216c38c .byte 0x60, 0xd0, 0x15, 0x02 .global data_ov18_0216c390 data_ov18_0216c390: ; 0x0216c390 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c394 data_ov18_0216c394: ; 0x0216c394 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c398 data_ov18_0216c398: ; 0x0216c398 .byte 0xa8, 0xe4, 0x15, 0x02 .global data_ov18_0216c39c data_ov18_0216c39c: ; 0x0216c39c .byte 0xb4, 0xe4, 0x15, 0x02 .global data_ov18_0216c3a0 data_ov18_0216c3a0: ; 0x0216c3a0 .byte 0xac, 0xe4, 0x15, 0x02 .global data_ov18_0216c3a4 data_ov18_0216c3a4: ; 0x0216c3a4 .byte 0xb0, 0xe4, 0x15, 0x02 .global data_ov18_0216c3a8 data_ov18_0216c3a8: ; 0x0216c3a8 .byte 0x00 .global data_ov18_0216c3a9 data_ov18_0216c3a9: ; 0x0216c3a9 .byte 0x00 .global data_ov18_0216c3aa data_ov18_0216c3aa: ; 0x0216c3aa .byte 0x00 .global data_ov18_0216c3ab data_ov18_0216c3ab: ; 0x0216c3ab .byte 0x00 .global data_ov18_0216c3ac data_ov18_0216c3ac: ; 0x0216c3ac .byte 0x00 .global data_ov18_0216c3ad data_ov18_0216c3ad: ; 0x0216c3ad .byte 0x00 .global data_ov18_0216c3ae data_ov18_0216c3ae: ; 0x0216c3ae .byte 0x00 .global data_ov18_0216c3af data_ov18_0216c3af: ; 0x0216c3af .byte 0x00 .global data_ov18_0216c3b0 data_ov18_0216c3b0: ; 0x0216c3b0 .byte 0x00 .global data_ov18_0216c3b1 data_ov18_0216c3b1: ; 0x0216c3b1 .byte 0x00 .global data_ov18_0216c3b2 data_ov18_0216c3b2: ; 0x0216c3b2 .byte 0x00 .global data_ov18_0216c3b3 data_ov18_0216c3b3: ; 0x0216c3b3 .byte 0x00 .global data_ov18_0216c3b4 data_ov18_0216c3b4: ; 0x0216c3b4 .byte 0x00 .global data_ov18_0216c3b5 data_ov18_0216c3b5: ; 0x0216c3b5 .byte 0x00 .global data_ov18_0216c3b6 data_ov18_0216c3b6: ; 0x0216c3b6 .byte 0x00 .global data_ov18_0216c3b7 data_ov18_0216c3b7: ; 0x0216c3b7 .byte 0x00 .global data_ov18_0216c3b8 data_ov18_0216c3b8: ; 0x0216c3b8 .byte 0x00 .global data_ov18_0216c3b9 data_ov18_0216c3b9: ; 0x0216c3b9 .byte 0x00 .global data_ov18_0216c3ba data_ov18_0216c3ba: ; 0x0216c3ba .byte 0x00 .global data_ov18_0216c3bb data_ov18_0216c3bb: ; 0x0216c3bb .byte 0x00 .global data_ov18_0216c3bc data_ov18_0216c3bc: ; 0x0216c3bc .byte 0x00 .global data_ov18_0216c3bd data_ov18_0216c3bd: ; 0x0216c3bd .byte 0x00 .global data_ov18_0216c3be data_ov18_0216c3be: ; 0x0216c3be .byte 0x00 .global data_ov18_0216c3bf data_ov18_0216c3bf: ; 0x0216c3bf .byte 0x00 .global data_ov18_0216c3c0 data_ov18_0216c3c0: ; 0x0216c3c0 .byte 0x00 .global data_ov18_0216c3c1 data_ov18_0216c3c1: ; 0x0216c3c1 .byte 0x00 .global data_ov18_0216c3c2 data_ov18_0216c3c2: ; 0x0216c3c2 .byte 0x00 .global data_ov18_0216c3c3 data_ov18_0216c3c3: ; 0x0216c3c3 .byte 0x00 .global data_ov18_0216c3c4 data_ov18_0216c3c4: ; 0x0216c3c4 .byte 0x00 .global data_ov18_0216c3c5 data_ov18_0216c3c5: ; 0x0216c3c5 .byte 0x00 .global data_ov18_0216c3c6 data_ov18_0216c3c6: ; 0x0216c3c6 .byte 0x00 .global data_ov18_0216c3c7 data_ov18_0216c3c7: ; 0x0216c3c7 .byte 0x00 .global data_ov18_0216c3c8 data_ov18_0216c3c8: ; 0x0216c3c8 .byte 0x00 .global data_ov18_0216c3c9 data_ov18_0216c3c9: ; 0x0216c3c9 .byte 0x00 .global data_ov18_0216c3ca data_ov18_0216c3ca: ; 0x0216c3ca .byte 0x00 .global data_ov18_0216c3cb data_ov18_0216c3cb: ; 0x0216c3cb .byte 0x00 .global data_ov18_0216c3cc data_ov18_0216c3cc: ; 0x0216c3cc .byte 0x00 .global data_ov18_0216c3cd data_ov18_0216c3cd: ; 0x0216c3cd .byte 0x00 .global data_ov18_0216c3ce data_ov18_0216c3ce: ; 0x0216c3ce .byte 0x00 .global data_ov18_0216c3cf data_ov18_0216c3cf: ; 0x0216c3cf .byte 0x00 .global data_ov18_0216c3d0 data_ov18_0216c3d0: ; 0x0216c3d0 .byte 0x00 .global data_ov18_0216c3d1 data_ov18_0216c3d1: ; 0x0216c3d1 .byte 0x00 .global data_ov18_0216c3d2 data_ov18_0216c3d2: ; 0x0216c3d2 .byte 0x00 .global data_ov18_0216c3d3 data_ov18_0216c3d3: ; 0x0216c3d3 .byte 0x00 .global data_ov18_0216c3d4 data_ov18_0216c3d4: ; 0x0216c3d4 .byte 0x00 .global data_ov18_0216c3d5 data_ov18_0216c3d5: ; 0x0216c3d5 .byte 0x00 .global data_ov18_0216c3d6 data_ov18_0216c3d6: ; 0x0216c3d6 .byte 0x00 .global data_ov18_0216c3d7 data_ov18_0216c3d7: ; 0x0216c3d7 .byte 0x00 .global data_ov18_0216c3d8 data_ov18_0216c3d8: ; 0x0216c3d8 .byte 0x00 .global data_ov18_0216c3d9 data_ov18_0216c3d9: ; 0x0216c3d9 .byte 0x00 .global data_ov18_0216c3da data_ov18_0216c3da: ; 0x0216c3da .byte 0x00 .global data_ov18_0216c3db data_ov18_0216c3db: ; 0x0216c3db .byte 0x00 .global data_ov18_0216c3dc data_ov18_0216c3dc: ; 0x0216c3dc .byte 0x00 .global data_ov18_0216c3dd data_ov18_0216c3dd: ; 0x0216c3dd .byte 0x00 .global data_ov18_0216c3de data_ov18_0216c3de: ; 0x0216c3de .byte 0x00 .global data_ov18_0216c3df data_ov18_0216c3df: ; 0x0216c3df .byte 0x00 .global data_ov18_0216c3e0 data_ov18_0216c3e0: ; 0x0216c3e0 .byte 0x00 .global data_ov18_0216c3e1 data_ov18_0216c3e1: ; 0x0216c3e1 .byte 0x00 .global data_ov18_0216c3e2 data_ov18_0216c3e2: ; 0x0216c3e2 .byte 0x00 .global data_ov18_0216c3e3 data_ov18_0216c3e3: ; 0x0216c3e3 .byte 0x00 .global data_ov18_0216c3e4 data_ov18_0216c3e4: ; 0x0216c3e4 .byte 0x00 .global data_ov18_0216c3e5 data_ov18_0216c3e5: ; 0x0216c3e5 .byte 0x00 .global data_ov18_0216c3e6 data_ov18_0216c3e6: ; 0x0216c3e6 .byte 0x00 .global data_ov18_0216c3e7 data_ov18_0216c3e7: ; 0x0216c3e7 .byte 0x00 .global data_ov18_0216c3e8 data_ov18_0216c3e8: ; 0x0216c3e8 .byte 0x00 .global data_ov18_0216c3e9 data_ov18_0216c3e9: ; 0x0216c3e9 .byte 0x00 .global data_ov18_0216c3ea data_ov18_0216c3ea: ; 0x0216c3ea .byte 0x00 .global data_ov18_0216c3eb data_ov18_0216c3eb: ; 0x0216c3eb .byte 0x00 .global data_ov18_0216c3ec data_ov18_0216c3ec: ; 0x0216c3ec .byte 0x00 .global data_ov18_0216c3ed data_ov18_0216c3ed: ; 0x0216c3ed .byte 0x00 .global data_ov18_0216c3ee data_ov18_0216c3ee: ; 0x0216c3ee .byte 0x00 .global data_ov18_0216c3ef data_ov18_0216c3ef: ; 0x0216c3ef .byte 0x00 .global data_ov18_0216c3f0 data_ov18_0216c3f0: ; 0x0216c3f0 .byte 0x00 .global data_ov18_0216c3f1 data_ov18_0216c3f1: ; 0x0216c3f1 .byte 0x00 .global data_ov18_0216c3f2 data_ov18_0216c3f2: ; 0x0216c3f2 .byte 0x00 .global data_ov18_0216c3f3 data_ov18_0216c3f3: ; 0x0216c3f3 .byte 0x00 .global data_ov18_0216c3f4 data_ov18_0216c3f4: ; 0x0216c3f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c3f8 data_ov18_0216c3f8: ; 0x0216c3f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c3fc data_ov18_0216c3fc: ; 0x0216c3fc .byte 0x8c, 0xe5, 0x15, 0x02 .global data_ov18_0216c400 data_ov18_0216c400: ; 0x0216c400 .byte 0xd4, 0xe5, 0x15, 0x02 .global data_ov18_0216c404 data_ov18_0216c404: ; 0x0216c404 .byte 0x24, 0xe6, 0x15, 0x02 .global data_ov18_0216c408 data_ov18_0216c408: ; 0x0216c408 .byte 0x90, 0xee, 0x15, 0x02 .global data_ov18_0216c40c data_ov18_0216c40c: ; 0x0216c40c .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c410 data_ov18_0216c410: ; 0x0216c410 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c414 data_ov18_0216c414: ; 0x0216c414 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c418 data_ov18_0216c418: ; 0x0216c418 .byte 0x60, 0xef, 0x15, 0x02 .global data_ov18_0216c41c data_ov18_0216c41c: ; 0x0216c41c .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c420 data_ov18_0216c420: ; 0x0216c420 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c424 data_ov18_0216c424: ; 0x0216c424 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c428 data_ov18_0216c428: ; 0x0216c428 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c42c data_ov18_0216c42c: ; 0x0216c42c .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216c430 data_ov18_0216c430: ; 0x0216c430 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c434 data_ov18_0216c434: ; 0x0216c434 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c438 data_ov18_0216c438: ; 0x0216c438 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c43c data_ov18_0216c43c: ; 0x0216c43c .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c440 data_ov18_0216c440: ; 0x0216c440 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c444 data_ov18_0216c444: ; 0x0216c444 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c448 data_ov18_0216c448: ; 0x0216c448 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c44c data_ov18_0216c44c: ; 0x0216c44c .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c450 data_ov18_0216c450: ; 0x0216c450 .byte 0x14, 0xb7, 0x08, 0x02 .global data_ov18_0216c454 data_ov18_0216c454: ; 0x0216c454 .byte 0x70, 0xef, 0x15, 0x02 .global data_ov18_0216c458 data_ov18_0216c458: ; 0x0216c458 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c45c data_ov18_0216c45c: ; 0x0216c45c .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c460 data_ov18_0216c460: ; 0x0216c460 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c464 data_ov18_0216c464: ; 0x0216c464 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c468 data_ov18_0216c468: ; 0x0216c468 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c46c data_ov18_0216c46c: ; 0x0216c46c .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c470 data_ov18_0216c470: ; 0x0216c470 .byte 0x68, 0xef, 0x15, 0x02 .global data_ov18_0216c474 data_ov18_0216c474: ; 0x0216c474 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216c478 data_ov18_0216c478: ; 0x0216c478 .byte 0x78, 0xef, 0x15, 0x02 .global data_ov18_0216c47c data_ov18_0216c47c: ; 0x0216c47c .byte 0x2c, 0xef, 0x15, 0x02 .global data_ov18_0216c480 data_ov18_0216c480: ; 0x0216c480 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c484 data_ov18_0216c484: ; 0x0216c484 .byte 0x20, 0xf0, 0x15, 0x02 .global data_ov18_0216c488 data_ov18_0216c488: ; 0x0216c488 .ascii "shooting_adv" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c498 data_ov18_0216c498: ; 0x0216c498 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c49c data_ov18_0216c49c: ; 0x0216c49c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c4a0 data_ov18_0216c4a0: ; 0x0216c4a0 .byte 0x2c, 0xf2, 0x15, 0x02 .global data_ov18_0216c4a4 data_ov18_0216c4a4: ; 0x0216c4a4 .byte 0x4c, 0xf2, 0x15, 0x02 .global data_ov18_0216c4a8 data_ov18_0216c4a8: ; 0x0216c4a8 .byte 0x74, 0xf2, 0x15, 0x02 .global data_ov18_0216c4ac data_ov18_0216c4ac: ; 0x0216c4ac .byte 0x88, 0xf3, 0x15, 0x02 .global data_ov18_0216c4b0 data_ov18_0216c4b0: ; 0x0216c4b0 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c4b4 data_ov18_0216c4b4: ; 0x0216c4b4 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c4b8 data_ov18_0216c4b8: ; 0x0216c4b8 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c4bc data_ov18_0216c4bc: ; 0x0216c4bc .byte 0x6c, 0xf4, 0x15, 0x02 .global data_ov18_0216c4c0 data_ov18_0216c4c0: ; 0x0216c4c0 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c4c4 data_ov18_0216c4c4: ; 0x0216c4c4 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c4c8 data_ov18_0216c4c8: ; 0x0216c4c8 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c4cc data_ov18_0216c4cc: ; 0x0216c4cc .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c4d0 data_ov18_0216c4d0: ; 0x0216c4d0 .byte 0x30, 0xf4, 0x15, 0x02 .global data_ov18_0216c4d4 data_ov18_0216c4d4: ; 0x0216c4d4 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c4d8 data_ov18_0216c4d8: ; 0x0216c4d8 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c4dc data_ov18_0216c4dc: ; 0x0216c4dc .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c4e0 data_ov18_0216c4e0: ; 0x0216c4e0 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c4e4 data_ov18_0216c4e4: ; 0x0216c4e4 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c4e8 data_ov18_0216c4e8: ; 0x0216c4e8 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c4ec data_ov18_0216c4ec: ; 0x0216c4ec .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c4f0 data_ov18_0216c4f0: ; 0x0216c4f0 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c4f4 data_ov18_0216c4f4: ; 0x0216c4f4 .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216c4f8 data_ov18_0216c4f8: ; 0x0216c4f8 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c4fc data_ov18_0216c4fc: ; 0x0216c4fc .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c500 data_ov18_0216c500: ; 0x0216c500 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c504 data_ov18_0216c504: ; 0x0216c504 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c508 data_ov18_0216c508: ; 0x0216c508 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c50c data_ov18_0216c50c: ; 0x0216c50c .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c510 data_ov18_0216c510: ; 0x0216c510 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c514 data_ov18_0216c514: ; 0x0216c514 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216c518 data_ov18_0216c518: ; 0x0216c518 .byte 0x28, 0xf4, 0x15, 0x02 .global data_ov18_0216c51c data_ov18_0216c51c: ; 0x0216c51c .byte 0x68, 0xf4, 0x15, 0x02 .global data_ov18_0216c520 data_ov18_0216c520: ; 0x0216c520 .byte 0x00, 0xf4, 0x15, 0x02 .global data_ov18_0216c524 data_ov18_0216c524: ; 0x0216c524 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c528 data_ov18_0216c528: ; 0x0216c528 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216c52c data_ov18_0216c52c: ; 0x0216c52c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c530 data_ov18_0216c530: ; 0x0216c530 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c534 data_ov18_0216c534: ; 0x0216c534 .byte 0x4c, 0xf5, 0x15, 0x02 .global data_ov18_0216c538 data_ov18_0216c538: ; 0x0216c538 .byte 0x9c, 0xf5, 0x15, 0x02 .global data_ov18_0216c53c data_ov18_0216c53c: ; 0x0216c53c .byte 0xfc, 0xf5, 0x15, 0x02 .global data_ov18_0216c540 data_ov18_0216c540: ; 0x0216c540 .byte 0x04, 0xf9, 0x15, 0x02 .global data_ov18_0216c544 data_ov18_0216c544: ; 0x0216c544 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c548 data_ov18_0216c548: ; 0x0216c548 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c54c data_ov18_0216c54c: ; 0x0216c54c .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c550 data_ov18_0216c550: ; 0x0216c550 .byte 0xf4, 0xf5, 0x15, 0x02 .global data_ov18_0216c554 data_ov18_0216c554: ; 0x0216c554 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c558 data_ov18_0216c558: ; 0x0216c558 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c55c data_ov18_0216c55c: ; 0x0216c55c .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c560 data_ov18_0216c560: ; 0x0216c560 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c564 data_ov18_0216c564: ; 0x0216c564 .byte 0x28, 0xfa, 0x15, 0x02 .global data_ov18_0216c568 data_ov18_0216c568: ; 0x0216c568 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c56c data_ov18_0216c56c: ; 0x0216c56c .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c570 data_ov18_0216c570: ; 0x0216c570 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c574 data_ov18_0216c574: ; 0x0216c574 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c578 data_ov18_0216c578: ; 0x0216c578 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c57c data_ov18_0216c57c: ; 0x0216c57c .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c580 data_ov18_0216c580: ; 0x0216c580 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c584 data_ov18_0216c584: ; 0x0216c584 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c588 data_ov18_0216c588: ; 0x0216c588 .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216c58c data_ov18_0216c58c: ; 0x0216c58c .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c590 data_ov18_0216c590: ; 0x0216c590 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c594 data_ov18_0216c594: ; 0x0216c594 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c598 data_ov18_0216c598: ; 0x0216c598 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c59c data_ov18_0216c59c: ; 0x0216c59c .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c5a0 data_ov18_0216c5a0: ; 0x0216c5a0 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c5a4 data_ov18_0216c5a4: ; 0x0216c5a4 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c5a8 data_ov18_0216c5a8: ; 0x0216c5a8 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216c5ac data_ov18_0216c5ac: ; 0x0216c5ac .byte 0x3c, 0xfa, 0x15, 0x02 .global data_ov18_0216c5b0 data_ov18_0216c5b0: ; 0x0216c5b0 .byte 0x44, 0xfa, 0x15, 0x02 .global data_ov18_0216c5b4 data_ov18_0216c5b4: ; 0x0216c5b4 .byte 0x90, 0xf9, 0x15, 0x02 .global data_ov18_0216c5b8 data_ov18_0216c5b8: ; 0x0216c5b8 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c5bc data_ov18_0216c5bc: ; 0x0216c5bc .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216c5c0 data_ov18_0216c5c0: ; 0x0216c5c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c5c4 data_ov18_0216c5c4: ; 0x0216c5c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c5c8 data_ov18_0216c5c8: ; 0x0216c5c8 .byte 0x2c, 0xfb, 0x15, 0x02 .global data_ov18_0216c5cc data_ov18_0216c5cc: ; 0x0216c5cc .byte 0x4c, 0xfb, 0x15, 0x02 .global data_ov18_0216c5d0 data_ov18_0216c5d0: ; 0x0216c5d0 .byte 0x74, 0xfb, 0x15, 0x02 .global data_ov18_0216c5d4 data_ov18_0216c5d4: ; 0x0216c5d4 .byte 0x90, 0xb6, 0x08, 0x02 .global data_ov18_0216c5d8 data_ov18_0216c5d8: ; 0x0216c5d8 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c5dc data_ov18_0216c5dc: ; 0x0216c5dc .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c5e0 data_ov18_0216c5e0: ; 0x0216c5e0 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c5e4 data_ov18_0216c5e4: ; 0x0216c5e4 .byte 0xd8, 0xfc, 0x15, 0x02 .global data_ov18_0216c5e8 data_ov18_0216c5e8: ; 0x0216c5e8 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c5ec data_ov18_0216c5ec: ; 0x0216c5ec .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c5f0 data_ov18_0216c5f0: ; 0x0216c5f0 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c5f4 data_ov18_0216c5f4: ; 0x0216c5f4 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c5f8 data_ov18_0216c5f8: ; 0x0216c5f8 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216c5fc data_ov18_0216c5fc: ; 0x0216c5fc .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c600 data_ov18_0216c600: ; 0x0216c600 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c604 data_ov18_0216c604: ; 0x0216c604 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c608 data_ov18_0216c608: ; 0x0216c608 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c60c data_ov18_0216c60c: ; 0x0216c60c .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c610 data_ov18_0216c610: ; 0x0216c610 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c614 data_ov18_0216c614: ; 0x0216c614 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c618 data_ov18_0216c618: ; 0x0216c618 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c61c data_ov18_0216c61c: ; 0x0216c61c .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216c620 data_ov18_0216c620: ; 0x0216c620 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c624 data_ov18_0216c624: ; 0x0216c624 .byte 0xb8, 0xfc, 0x15, 0x02 .global data_ov18_0216c628 data_ov18_0216c628: ; 0x0216c628 .byte 0xc4, 0xfc, 0x15, 0x02 .global data_ov18_0216c62c data_ov18_0216c62c: ; 0x0216c62c .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c630 data_ov18_0216c630: ; 0x0216c630 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c634 data_ov18_0216c634: ; 0x0216c634 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c638 data_ov18_0216c638: ; 0x0216c638 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c63c data_ov18_0216c63c: ; 0x0216c63c .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216c640 data_ov18_0216c640: ; 0x0216c640 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216c644 data_ov18_0216c644: ; 0x0216c644 .byte 0xb4, 0xfc, 0x15, 0x02 .global data_ov18_0216c648 data_ov18_0216c648: ; 0x0216c648 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216c64c data_ov18_0216c64c: ; 0x0216c64c .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c650 data_ov18_0216c650: ; 0x0216c650 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216c654 data_ov18_0216c654: ; 0x0216c654 .ascii "brg" .byte 0x00 .global data_ov18_0216c658 data_ov18_0216c658: ; 0x0216c658 .ascii "fnl" .byte 0x00 .global data_ov18_0216c65c data_ov18_0216c65c: ; 0x0216c65c .ascii "pdl" .byte 0x00 .global data_ov18_0216c660 data_ov18_0216c660: ; 0x0216c660 .ascii "dco" .byte 0x00 .global data_ov18_0216c664 data_ov18_0216c664: ; 0x0216c664 .ascii "can" .byte 0x00 .global data_ov18_0216c668 data_ov18_0216c668: ; 0x0216c668 .ascii "hul" .byte 0x00 .global data_ov18_0216c66c data_ov18_0216c66c: ; 0x0216c66c .ascii "bow" .byte 0x00 .global data_ov18_0216c670 data_ov18_0216c670: ; 0x0216c670 .ascii "anc" .byte 0x00 .global data_ov18_0216c674 data_ov18_0216c674: ; 0x0216c674 .byte 0x70, 0xc6, 0x16, 0x02 .global data_ov18_0216c678 data_ov18_0216c678: ; 0x0216c678 .byte 0x6c, 0xc6, 0x16, 0x02 .global data_ov18_0216c67c data_ov18_0216c67c: ; 0x0216c67c .byte 0x68, 0xc6, 0x16, 0x02 .global data_ov18_0216c680 data_ov18_0216c680: ; 0x0216c680 .byte 0x64, 0xc6, 0x16, 0x02 .global data_ov18_0216c684 data_ov18_0216c684: ; 0x0216c684 .byte 0x60, 0xc6, 0x16, 0x02 .global data_ov18_0216c688 data_ov18_0216c688: ; 0x0216c688 .byte 0x5c, 0xc6, 0x16, 0x02 .global data_ov18_0216c68c data_ov18_0216c68c: ; 0x0216c68c .byte 0x58, 0xc6, 0x16, 0x02 .global data_ov18_0216c690 data_ov18_0216c690: ; 0x0216c690 .byte 0x54, 0xc6, 0x16, 0x02 .global data_ov18_0216c694 data_ov18_0216c694: ; 0x0216c694 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c698 data_ov18_0216c698: ; 0x0216c698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c69c data_ov18_0216c69c: ; 0x0216c69c .byte 0x04, 0x02, 0x16, 0x02 .global data_ov18_0216c6a0 data_ov18_0216c6a0: ; 0x0216c6a0 .byte 0x90, 0xfe, 0x15, 0x02 .global data_ov18_0216c6a4 data_ov18_0216c6a4: ; 0x0216c6a4 .byte 0xa8, 0xfd, 0x15, 0x02 .global data_ov18_0216c6a8 data_ov18_0216c6a8: ; 0x0216c6a8 .byte 0x05, 0x3f, 0x14, 0x02 .global data_ov18_0216c6ac data_ov18_0216c6ac: ; 0x0216c6ac .byte 0xe9, 0x3e, 0x14, 0x02 .global data_ov18_0216c6b0 data_ov18_0216c6b0: ; 0x0216c6b0 .byte 0xed, 0xf4, 0x10, 0x02 .global data_ov18_0216c6b4 data_ov18_0216c6b4: ; 0x0216c6b4 .byte 0x70, 0xff, 0x15, 0x02 .global data_ov18_0216c6b8 data_ov18_0216c6b8: ; 0x0216c6b8 .byte 0x44, 0x01, 0x16, 0x02 .global data_ov18_0216c6bc data_ov18_0216c6bc: ; 0x0216c6bc .byte 0x48, 0xaf, 0x11, 0x02 .global data_ov18_0216c6c0 data_ov18_0216c6c0: ; 0x0216c6c0 .byte 0x74, 0x41, 0x14, 0x02 .global data_ov18_0216c6c4 data_ov18_0216c6c4: ; 0x0216c6c4 .byte 0xc0, 0x02, 0x16, 0x02 .global data_ov18_0216c6c8 data_ov18_0216c6c8: ; 0x0216c6c8 .byte 0x10, 0x03, 0x16, 0x02 .global data_ov18_0216c6cc data_ov18_0216c6cc: ; 0x0216c6cc .byte 0x50, 0x03, 0x16, 0x02 .global data_ov18_0216c6d0 data_ov18_0216c6d0: ; 0x0216c6d0 .byte 0x88, 0x03, 0x16, 0x02 .global data_ov18_0216c6d4 data_ov18_0216c6d4: ; 0x0216c6d4 .byte 0x14, 0x45, 0x14, 0x02 .global data_ov18_0216c6d8 data_ov18_0216c6d8: ; 0x0216c6d8 .byte 0xbc, 0x03, 0x16, 0x02 .global data_ov18_0216c6dc data_ov18_0216c6dc: ; 0x0216c6dc .byte 0x04, 0x04, 0x16, 0x02 .global data_ov18_0216c6e0 data_ov18_0216c6e0: ; 0x0216c6e0 .byte 0x78, 0xb6, 0x11, 0x02 .global data_ov18_0216c6e4 data_ov18_0216c6e4: ; 0x0216c6e4 .byte 0xd4, 0x46, 0x14, 0x02 .global data_ov18_0216c6e8 data_ov18_0216c6e8: ; 0x0216c6e8 .byte 0x99, 0xcc, 0x11, 0x02 .global data_ov18_0216c6ec data_ov18_0216c6ec: ; 0x0216c6ec .byte 0x4c, 0x38, 0x0d, 0x02 .global data_ov18_0216c6f0 data_ov18_0216c6f0: ; 0x0216c6f0 .byte 0x38, 0x47, 0x14, 0x02 .global data_ov18_0216c6f4 data_ov18_0216c6f4: ; 0x0216c6f4 .byte 0x00, 0x47, 0x14, 0x02 .global data_ov18_0216c6f8 data_ov18_0216c6f8: ; 0x0216c6f8 .byte 0x78, 0x40, 0x14, 0x02 .global data_ov18_0216c6fc data_ov18_0216c6fc: ; 0x0216c6fc .byte 0x4c, 0x41, 0x14, 0x02 .global data_ov18_0216c700 data_ov18_0216c700: ; 0x0216c700 .byte 0xc4, 0x46, 0x14, 0x02 .global data_ov18_0216c704 data_ov18_0216c704: ; 0x0216c704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c708 data_ov18_0216c708: ; 0x0216c708 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c70c data_ov18_0216c70c: ; 0x0216c70c .byte 0x14, 0x06, 0x16, 0x02 .global data_ov18_0216c710 data_ov18_0216c710: ; 0x0216c710 .byte 0x34, 0x06, 0x16, 0x02 .global data_ov18_0216c714 data_ov18_0216c714: ; 0x0216c714 .byte 0x5c, 0x06, 0x16, 0x02 .global data_ov18_0216c718 data_ov18_0216c718: ; 0x0216c718 .byte 0x20, 0x08, 0x16, 0x02 .global data_ov18_0216c71c data_ov18_0216c71c: ; 0x0216c71c .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c720 data_ov18_0216c720: ; 0x0216c720 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c724 data_ov18_0216c724: ; 0x0216c724 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c728 data_ov18_0216c728: ; 0x0216c728 .byte 0xb8, 0x08, 0x16, 0x02 .global data_ov18_0216c72c data_ov18_0216c72c: ; 0x0216c72c .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c730 data_ov18_0216c730: ; 0x0216c730 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c734 data_ov18_0216c734: ; 0x0216c734 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c738 data_ov18_0216c738: ; 0x0216c738 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c73c data_ov18_0216c73c: ; 0x0216c73c .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216c740 data_ov18_0216c740: ; 0x0216c740 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c744 data_ov18_0216c744: ; 0x0216c744 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c748 data_ov18_0216c748: ; 0x0216c748 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c74c data_ov18_0216c74c: ; 0x0216c74c .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c750 data_ov18_0216c750: ; 0x0216c750 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c754 data_ov18_0216c754: ; 0x0216c754 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c758 data_ov18_0216c758: ; 0x0216c758 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c75c data_ov18_0216c75c: ; 0x0216c75c .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c760 data_ov18_0216c760: ; 0x0216c760 .byte 0x14, 0xb7, 0x08, 0x02 .global data_ov18_0216c764 data_ov18_0216c764: ; 0x0216c764 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c768 data_ov18_0216c768: ; 0x0216c768 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c76c data_ov18_0216c76c: ; 0x0216c76c .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c770 data_ov18_0216c770: ; 0x0216c770 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c774 data_ov18_0216c774: ; 0x0216c774 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c778 data_ov18_0216c778: ; 0x0216c778 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c77c data_ov18_0216c77c: ; 0x0216c77c .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c780 data_ov18_0216c780: ; 0x0216c780 .byte 0xc0, 0x08, 0x16, 0x02 .global data_ov18_0216c784 data_ov18_0216c784: ; 0x0216c784 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216c788 data_ov18_0216c788: ; 0x0216c788 .byte 0xc8, 0x08, 0x16, 0x02 .global data_ov18_0216c78c data_ov18_0216c78c: ; 0x0216c78c .byte 0x38, 0x08, 0x16, 0x02 .global data_ov18_0216c790 data_ov18_0216c790: ; 0x0216c790 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c794 data_ov18_0216c794: ; 0x0216c794 .byte 0x58, 0x09, 0x16, 0x02 .global data_ov18_0216c798 data_ov18_0216c798: ; 0x0216c798 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c79c data_ov18_0216c79c: ; 0x0216c79c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c7a0 data_ov18_0216c7a0: ; 0x0216c7a0 .byte 0x24, 0x0b, 0x16, 0x02 .global data_ov18_0216c7a4 data_ov18_0216c7a4: ; 0x0216c7a4 .byte 0x44, 0x0b, 0x16, 0x02 .global data_ov18_0216c7a8 data_ov18_0216c7a8: ; 0x0216c7a8 .byte 0x6c, 0x0b, 0x16, 0x02 .global data_ov18_0216c7ac data_ov18_0216c7ac: ; 0x0216c7ac .byte 0x00, 0x10, 0x16, 0x02 .global data_ov18_0216c7b0 data_ov18_0216c7b0: ; 0x0216c7b0 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c7b4 data_ov18_0216c7b4: ; 0x0216c7b4 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c7b8 data_ov18_0216c7b8: ; 0x0216c7b8 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c7bc data_ov18_0216c7bc: ; 0x0216c7bc .byte 0x18, 0x10, 0x16, 0x02 .global data_ov18_0216c7c0 data_ov18_0216c7c0: ; 0x0216c7c0 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c7c4 data_ov18_0216c7c4: ; 0x0216c7c4 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c7c8 data_ov18_0216c7c8: ; 0x0216c7c8 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c7cc data_ov18_0216c7cc: ; 0x0216c7cc .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c7d0 data_ov18_0216c7d0: ; 0x0216c7d0 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216c7d4 data_ov18_0216c7d4: ; 0x0216c7d4 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c7d8 data_ov18_0216c7d8: ; 0x0216c7d8 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c7dc data_ov18_0216c7dc: ; 0x0216c7dc .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c7e0 data_ov18_0216c7e0: ; 0x0216c7e0 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c7e4 data_ov18_0216c7e4: ; 0x0216c7e4 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c7e8 data_ov18_0216c7e8: ; 0x0216c7e8 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c7ec data_ov18_0216c7ec: ; 0x0216c7ec .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c7f0 data_ov18_0216c7f0: ; 0x0216c7f0 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c7f4 data_ov18_0216c7f4: ; 0x0216c7f4 .byte 0x14, 0xb7, 0x08, 0x02 .global data_ov18_0216c7f8 data_ov18_0216c7f8: ; 0x0216c7f8 .byte 0x28, 0x10, 0x16, 0x02 .global data_ov18_0216c7fc data_ov18_0216c7fc: ; 0x0216c7fc .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c800 data_ov18_0216c800: ; 0x0216c800 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c804 data_ov18_0216c804: ; 0x0216c804 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c808 data_ov18_0216c808: ; 0x0216c808 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c80c data_ov18_0216c80c: ; 0x0216c80c .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c810 data_ov18_0216c810: ; 0x0216c810 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c814 data_ov18_0216c814: ; 0x0216c814 .byte 0x20, 0x10, 0x16, 0x02 .global data_ov18_0216c818 data_ov18_0216c818: ; 0x0216c818 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216c81c data_ov18_0216c81c: ; 0x0216c81c .byte 0x30, 0x10, 0x16, 0x02 .global data_ov18_0216c820 data_ov18_0216c820: ; 0x0216c820 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216c824 data_ov18_0216c824: ; 0x0216c824 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c828 data_ov18_0216c828: ; 0x0216c828 .byte 0x64, 0x10, 0x16, 0x02 .global data_ov18_0216c82c data_ov18_0216c82c: ; 0x0216c82c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c830 data_ov18_0216c830: ; 0x0216c830 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c834 data_ov18_0216c834: ; 0x0216c834 .byte 0x34, 0x11, 0x16, 0x02 .global data_ov18_0216c838 data_ov18_0216c838: ; 0x0216c838 .byte 0x5c, 0x11, 0x16, 0x02 .global data_ov18_0216c83c data_ov18_0216c83c: ; 0x0216c83c .byte 0x8c, 0x11, 0x16, 0x02 .global data_ov18_0216c840 data_ov18_0216c840: ; 0x0216c840 .byte 0x90, 0xb6, 0x08, 0x02 .global data_ov18_0216c844 data_ov18_0216c844: ; 0x0216c844 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c848 data_ov18_0216c848: ; 0x0216c848 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c84c data_ov18_0216c84c: ; 0x0216c84c .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c850 data_ov18_0216c850: ; 0x0216c850 .byte 0x34, 0x13, 0x16, 0x02 .global data_ov18_0216c854 data_ov18_0216c854: ; 0x0216c854 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c858 data_ov18_0216c858: ; 0x0216c858 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c85c data_ov18_0216c85c: ; 0x0216c85c .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c860 data_ov18_0216c860: ; 0x0216c860 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c864 data_ov18_0216c864: ; 0x0216c864 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216c868 data_ov18_0216c868: ; 0x0216c868 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c86c data_ov18_0216c86c: ; 0x0216c86c .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c870 data_ov18_0216c870: ; 0x0216c870 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c874 data_ov18_0216c874: ; 0x0216c874 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c878 data_ov18_0216c878: ; 0x0216c878 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c87c data_ov18_0216c87c: ; 0x0216c87c .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c880 data_ov18_0216c880: ; 0x0216c880 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c884 data_ov18_0216c884: ; 0x0216c884 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c888 data_ov18_0216c888: ; 0x0216c888 .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216c88c data_ov18_0216c88c: ; 0x0216c88c .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c890 data_ov18_0216c890: ; 0x0216c890 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c894 data_ov18_0216c894: ; 0x0216c894 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c898 data_ov18_0216c898: ; 0x0216c898 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c89c data_ov18_0216c89c: ; 0x0216c89c .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c8a0 data_ov18_0216c8a0: ; 0x0216c8a0 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c8a4 data_ov18_0216c8a4: ; 0x0216c8a4 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c8a8 data_ov18_0216c8a8: ; 0x0216c8a8 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216c8ac data_ov18_0216c8ac: ; 0x0216c8ac .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216c8b0 data_ov18_0216c8b0: ; 0x0216c8b0 .byte 0xd8, 0x12, 0x16, 0x02 .global data_ov18_0216c8b4 data_ov18_0216c8b4: ; 0x0216c8b4 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216c8b8 data_ov18_0216c8b8: ; 0x0216c8b8 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c8bc data_ov18_0216c8bc: ; 0x0216c8bc .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216c8c0 data_ov18_0216c8c0: ; 0x0216c8c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c8c4 data_ov18_0216c8c4: ; 0x0216c8c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c8c8 data_ov18_0216c8c8: ; 0x0216c8c8 .byte 0xfc, 0x13, 0x16, 0x02 .global data_ov18_0216c8cc data_ov18_0216c8cc: ; 0x0216c8cc .byte 0x24, 0x14, 0x16, 0x02 .global data_ov18_0216c8d0 data_ov18_0216c8d0: ; 0x0216c8d0 .byte 0x54, 0x14, 0x16, 0x02 .global data_ov18_0216c8d4 data_ov18_0216c8d4: ; 0x0216c8d4 .byte 0x90, 0xb6, 0x08, 0x02 .global data_ov18_0216c8d8 data_ov18_0216c8d8: ; 0x0216c8d8 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c8dc data_ov18_0216c8dc: ; 0x0216c8dc .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c8e0 data_ov18_0216c8e0: ; 0x0216c8e0 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c8e4 data_ov18_0216c8e4: ; 0x0216c8e4 .byte 0xfc, 0x15, 0x16, 0x02 .global data_ov18_0216c8e8 data_ov18_0216c8e8: ; 0x0216c8e8 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c8ec data_ov18_0216c8ec: ; 0x0216c8ec .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c8f0 data_ov18_0216c8f0: ; 0x0216c8f0 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c8f4 data_ov18_0216c8f4: ; 0x0216c8f4 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c8f8 data_ov18_0216c8f8: ; 0x0216c8f8 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216c8fc data_ov18_0216c8fc: ; 0x0216c8fc .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c900 data_ov18_0216c900: ; 0x0216c900 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c904 data_ov18_0216c904: ; 0x0216c904 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c908 data_ov18_0216c908: ; 0x0216c908 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c90c data_ov18_0216c90c: ; 0x0216c90c .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c910 data_ov18_0216c910: ; 0x0216c910 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c914 data_ov18_0216c914: ; 0x0216c914 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c918 data_ov18_0216c918: ; 0x0216c918 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c91c data_ov18_0216c91c: ; 0x0216c91c .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216c920 data_ov18_0216c920: ; 0x0216c920 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c924 data_ov18_0216c924: ; 0x0216c924 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216c928 data_ov18_0216c928: ; 0x0216c928 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216c92c data_ov18_0216c92c: ; 0x0216c92c .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c930 data_ov18_0216c930: ; 0x0216c930 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c934 data_ov18_0216c934: ; 0x0216c934 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c938 data_ov18_0216c938: ; 0x0216c938 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c93c data_ov18_0216c93c: ; 0x0216c93c .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216c940 data_ov18_0216c940: ; 0x0216c940 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216c944 data_ov18_0216c944: ; 0x0216c944 .byte 0xa0, 0x15, 0x16, 0x02 .global data_ov18_0216c948 data_ov18_0216c948: ; 0x0216c948 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216c94c data_ov18_0216c94c: ; 0x0216c94c .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c950 data_ov18_0216c950: ; 0x0216c950 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216c954 data_ov18_0216c954: ; 0x0216c954 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c958 data_ov18_0216c958: ; 0x0216c958 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c95c data_ov18_0216c95c: ; 0x0216c95c .byte 0xc4, 0x16, 0x16, 0x02 .global data_ov18_0216c960 data_ov18_0216c960: ; 0x0216c960 .byte 0xec, 0x16, 0x16, 0x02 .global data_ov18_0216c964 data_ov18_0216c964: ; 0x0216c964 .byte 0x1c, 0x17, 0x16, 0x02 .global data_ov18_0216c968 data_ov18_0216c968: ; 0x0216c968 .byte 0xbc, 0x18, 0x16, 0x02 .global data_ov18_0216c96c data_ov18_0216c96c: ; 0x0216c96c .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216c970 data_ov18_0216c970: ; 0x0216c970 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216c974 data_ov18_0216c974: ; 0x0216c974 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216c978 data_ov18_0216c978: ; 0x0216c978 .byte 0x04, 0x1a, 0x16, 0x02 .global data_ov18_0216c97c data_ov18_0216c97c: ; 0x0216c97c .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216c980 data_ov18_0216c980: ; 0x0216c980 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216c984 data_ov18_0216c984: ; 0x0216c984 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216c988 data_ov18_0216c988: ; 0x0216c988 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216c98c data_ov18_0216c98c: ; 0x0216c98c .byte 0x68, 0x19, 0x16, 0x02 .global data_ov18_0216c990 data_ov18_0216c990: ; 0x0216c990 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216c994 data_ov18_0216c994: ; 0x0216c994 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216c998 data_ov18_0216c998: ; 0x0216c998 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216c99c data_ov18_0216c99c: ; 0x0216c99c .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216c9a0 data_ov18_0216c9a0: ; 0x0216c9a0 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216c9a4 data_ov18_0216c9a4: ; 0x0216c9a4 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216c9a8 data_ov18_0216c9a8: ; 0x0216c9a8 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216c9ac data_ov18_0216c9ac: ; 0x0216c9ac .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216c9b0 data_ov18_0216c9b0: ; 0x0216c9b0 .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216c9b4 data_ov18_0216c9b4: ; 0x0216c9b4 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216c9b8 data_ov18_0216c9b8: ; 0x0216c9b8 .byte 0xac, 0x18, 0x16, 0x02 .global data_ov18_0216c9bc data_ov18_0216c9bc: ; 0x0216c9bc .byte 0xb4, 0x18, 0x16, 0x02 .global data_ov18_0216c9c0 data_ov18_0216c9c0: ; 0x0216c9c0 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216c9c4 data_ov18_0216c9c4: ; 0x0216c9c4 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216c9c8 data_ov18_0216c9c8: ; 0x0216c9c8 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216c9cc data_ov18_0216c9cc: ; 0x0216c9cc .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216c9d0 data_ov18_0216c9d0: ; 0x0216c9d0 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216c9d4 data_ov18_0216c9d4: ; 0x0216c9d4 .byte 0xa0, 0x19, 0x16, 0x02 .global data_ov18_0216c9d8 data_ov18_0216c9d8: ; 0x0216c9d8 .byte 0xa8, 0x19, 0x16, 0x02 .global data_ov18_0216c9dc data_ov18_0216c9dc: ; 0x0216c9dc .byte 0x34, 0x19, 0x16, 0x02 .global data_ov18_0216c9e0 data_ov18_0216c9e0: ; 0x0216c9e0 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216c9e4 data_ov18_0216c9e4: ; 0x0216c9e4 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216c9e8 data_ov18_0216c9e8: ; 0x0216c9e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c9ec data_ov18_0216c9ec: ; 0x0216c9ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216c9f0 data_ov18_0216c9f0: ; 0x0216c9f0 .byte 0xcc, 0x1a, 0x16, 0x02 .global data_ov18_0216c9f4 data_ov18_0216c9f4: ; 0x0216c9f4 .byte 0xf4, 0x1a, 0x16, 0x02 .global data_ov18_0216c9f8 data_ov18_0216c9f8: ; 0x0216c9f8 .byte 0x24, 0x1b, 0x16, 0x02 .global data_ov18_0216c9fc data_ov18_0216c9fc: ; 0x0216c9fc .byte 0x90, 0xb6, 0x08, 0x02 .global data_ov18_0216ca00 data_ov18_0216ca00: ; 0x0216ca00 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216ca04 data_ov18_0216ca04: ; 0x0216ca04 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216ca08 data_ov18_0216ca08: ; 0x0216ca08 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216ca0c data_ov18_0216ca0c: ; 0x0216ca0c .byte 0xcc, 0x1c, 0x16, 0x02 .global data_ov18_0216ca10 data_ov18_0216ca10: ; 0x0216ca10 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216ca14 data_ov18_0216ca14: ; 0x0216ca14 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216ca18 data_ov18_0216ca18: ; 0x0216ca18 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216ca1c data_ov18_0216ca1c: ; 0x0216ca1c .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216ca20 data_ov18_0216ca20: ; 0x0216ca20 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216ca24 data_ov18_0216ca24: ; 0x0216ca24 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216ca28 data_ov18_0216ca28: ; 0x0216ca28 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216ca2c data_ov18_0216ca2c: ; 0x0216ca2c .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216ca30 data_ov18_0216ca30: ; 0x0216ca30 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216ca34 data_ov18_0216ca34: ; 0x0216ca34 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216ca38 data_ov18_0216ca38: ; 0x0216ca38 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216ca3c data_ov18_0216ca3c: ; 0x0216ca3c .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216ca40 data_ov18_0216ca40: ; 0x0216ca40 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216ca44 data_ov18_0216ca44: ; 0x0216ca44 .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216ca48 data_ov18_0216ca48: ; 0x0216ca48 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216ca4c data_ov18_0216ca4c: ; 0x0216ca4c .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216ca50 data_ov18_0216ca50: ; 0x0216ca50 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216ca54 data_ov18_0216ca54: ; 0x0216ca54 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216ca58 data_ov18_0216ca58: ; 0x0216ca58 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216ca5c data_ov18_0216ca5c: ; 0x0216ca5c .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216ca60 data_ov18_0216ca60: ; 0x0216ca60 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216ca64 data_ov18_0216ca64: ; 0x0216ca64 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216ca68 data_ov18_0216ca68: ; 0x0216ca68 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216ca6c data_ov18_0216ca6c: ; 0x0216ca6c .byte 0x70, 0x1c, 0x16, 0x02 .global data_ov18_0216ca70 data_ov18_0216ca70: ; 0x0216ca70 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216ca74 data_ov18_0216ca74: ; 0x0216ca74 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216ca78 data_ov18_0216ca78: ; 0x0216ca78 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216ca7c data_ov18_0216ca7c: ; 0x0216ca7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216ca80 data_ov18_0216ca80: ; 0x0216ca80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216ca84 data_ov18_0216ca84: ; 0x0216ca84 .byte 0x58, 0x1d, 0x16, 0x02 .global data_ov18_0216ca88 data_ov18_0216ca88: ; 0x0216ca88 .byte 0x78, 0x1d, 0x16, 0x02 .global data_ov18_0216ca8c data_ov18_0216ca8c: ; 0x0216ca8c .byte 0xa0, 0x1d, 0x16, 0x02 .global data_ov18_0216ca90 data_ov18_0216ca90: ; 0x0216ca90 .byte 0x90, 0xb6, 0x08, 0x02 .global data_ov18_0216ca94 data_ov18_0216ca94: ; 0x0216ca94 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216ca98 data_ov18_0216ca98: ; 0x0216ca98 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216ca9c data_ov18_0216ca9c: ; 0x0216ca9c .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216caa0 data_ov18_0216caa0: ; 0x0216caa0 .byte 0xc0, 0x1e, 0x16, 0x02 .global data_ov18_0216caa4 data_ov18_0216caa4: ; 0x0216caa4 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216caa8 data_ov18_0216caa8: ; 0x0216caa8 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216caac data_ov18_0216caac: ; 0x0216caac .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216cab0 data_ov18_0216cab0: ; 0x0216cab0 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216cab4 data_ov18_0216cab4: ; 0x0216cab4 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216cab8 data_ov18_0216cab8: ; 0x0216cab8 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216cabc data_ov18_0216cabc: ; 0x0216cabc .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216cac0 data_ov18_0216cac0: ; 0x0216cac0 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216cac4 data_ov18_0216cac4: ; 0x0216cac4 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216cac8 data_ov18_0216cac8: ; 0x0216cac8 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216cacc data_ov18_0216cacc: ; 0x0216cacc .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216cad0 data_ov18_0216cad0: ; 0x0216cad0 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216cad4 data_ov18_0216cad4: ; 0x0216cad4 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216cad8 data_ov18_0216cad8: ; 0x0216cad8 .byte 0x14, 0xb7, 0x08, 0x02 .global data_ov18_0216cadc data_ov18_0216cadc: ; 0x0216cadc .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216cae0 data_ov18_0216cae0: ; 0x0216cae0 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216cae4 data_ov18_0216cae4: ; 0x0216cae4 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216cae8 data_ov18_0216cae8: ; 0x0216cae8 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216caec data_ov18_0216caec: ; 0x0216caec .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216caf0 data_ov18_0216caf0: ; 0x0216caf0 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216caf4 data_ov18_0216caf4: ; 0x0216caf4 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216caf8 data_ov18_0216caf8: ; 0x0216caf8 .byte 0x40, 0x1e, 0x16, 0x02 .global data_ov18_0216cafc data_ov18_0216cafc: ; 0x0216cafc .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216cb00 data_ov18_0216cb00: ; 0x0216cb00 .byte 0x48, 0x1e, 0x16, 0x02 .global data_ov18_0216cb04 data_ov18_0216cb04: ; 0x0216cb04 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216cb08 data_ov18_0216cb08: ; 0x0216cb08 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216cb0c data_ov18_0216cb0c: ; 0x0216cb0c .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216cb10 data_ov18_0216cb10: ; 0x0216cb10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cb14 data_ov18_0216cb14: ; 0x0216cb14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cb18 data_ov18_0216cb18: ; 0x0216cb18 .byte 0x98, 0x1f, 0x16, 0x02 .global data_ov18_0216cb1c data_ov18_0216cb1c: ; 0x0216cb1c .byte 0xc0, 0x1f, 0x16, 0x02 .global data_ov18_0216cb20 data_ov18_0216cb20: ; 0x0216cb20 .byte 0xf0, 0x1f, 0x16, 0x02 .global data_ov18_0216cb24 data_ov18_0216cb24: ; 0x0216cb24 .byte 0x90, 0xb6, 0x08, 0x02 .global data_ov18_0216cb28 data_ov18_0216cb28: ; 0x0216cb28 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216cb2c data_ov18_0216cb2c: ; 0x0216cb2c .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216cb30 data_ov18_0216cb30: ; 0x0216cb30 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216cb34 data_ov18_0216cb34: ; 0x0216cb34 .byte 0x88, 0x20, 0x16, 0x02 .global data_ov18_0216cb38 data_ov18_0216cb38: ; 0x0216cb38 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216cb3c data_ov18_0216cb3c: ; 0x0216cb3c .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216cb40 data_ov18_0216cb40: ; 0x0216cb40 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216cb44 data_ov18_0216cb44: ; 0x0216cb44 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216cb48 data_ov18_0216cb48: ; 0x0216cb48 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216cb4c data_ov18_0216cb4c: ; 0x0216cb4c .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216cb50 data_ov18_0216cb50: ; 0x0216cb50 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216cb54 data_ov18_0216cb54: ; 0x0216cb54 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216cb58 data_ov18_0216cb58: ; 0x0216cb58 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216cb5c data_ov18_0216cb5c: ; 0x0216cb5c .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216cb60 data_ov18_0216cb60: ; 0x0216cb60 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216cb64 data_ov18_0216cb64: ; 0x0216cb64 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216cb68 data_ov18_0216cb68: ; 0x0216cb68 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216cb6c data_ov18_0216cb6c: ; 0x0216cb6c .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov18_0216cb70 data_ov18_0216cb70: ; 0x0216cb70 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216cb74 data_ov18_0216cb74: ; 0x0216cb74 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216cb78 data_ov18_0216cb78: ; 0x0216cb78 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216cb7c data_ov18_0216cb7c: ; 0x0216cb7c .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216cb80 data_ov18_0216cb80: ; 0x0216cb80 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216cb84 data_ov18_0216cb84: ; 0x0216cb84 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216cb88 data_ov18_0216cb88: ; 0x0216cb88 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216cb8c data_ov18_0216cb8c: ; 0x0216cb8c .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216cb90 data_ov18_0216cb90: ; 0x0216cb90 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216cb94 data_ov18_0216cb94: ; 0x0216cb94 .byte 0x68, 0x20, 0x16, 0x02 .global data_ov18_0216cb98 data_ov18_0216cb98: ; 0x0216cb98 .byte 0x84, 0xc3, 0x08, 0x02 .global data_ov18_0216cb9c data_ov18_0216cb9c: ; 0x0216cb9c .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216cba0 data_ov18_0216cba0: ; 0x0216cba0 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216cba4 data_ov18_0216cba4: ; 0x0216cba4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cba8 data_ov18_0216cba8: ; 0x0216cba8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cbac data_ov18_0216cbac: ; 0x0216cbac .byte 0x60, 0x21, 0x16, 0x02 .global data_ov18_0216cbb0 data_ov18_0216cbb0: ; 0x0216cbb0 .byte 0x88, 0x21, 0x16, 0x02 .global data_ov18_0216cbb4 data_ov18_0216cbb4: ; 0x0216cbb4 .byte 0xb8, 0x21, 0x16, 0x02 .global data_ov18_0216cbb8 data_ov18_0216cbb8: ; 0x0216cbb8 .byte 0x4c, 0x24, 0x16, 0x02 .global data_ov18_0216cbbc data_ov18_0216cbbc: ; 0x0216cbbc .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216cbc0 data_ov18_0216cbc0: ; 0x0216cbc0 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216cbc4 data_ov18_0216cbc4: ; 0x0216cbc4 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216cbc8 data_ov18_0216cbc8: ; 0x0216cbc8 .byte 0xbc, 0x2c, 0x16, 0x02 .global data_ov18_0216cbcc data_ov18_0216cbcc: ; 0x0216cbcc .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216cbd0 data_ov18_0216cbd0: ; 0x0216cbd0 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216cbd4 data_ov18_0216cbd4: ; 0x0216cbd4 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216cbd8 data_ov18_0216cbd8: ; 0x0216cbd8 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216cbdc data_ov18_0216cbdc: ; 0x0216cbdc .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216cbe0 data_ov18_0216cbe0: ; 0x0216cbe0 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216cbe4 data_ov18_0216cbe4: ; 0x0216cbe4 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216cbe8 data_ov18_0216cbe8: ; 0x0216cbe8 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216cbec data_ov18_0216cbec: ; 0x0216cbec .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216cbf0 data_ov18_0216cbf0: ; 0x0216cbf0 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216cbf4 data_ov18_0216cbf4: ; 0x0216cbf4 .byte 0x34, 0x26, 0x16, 0x02 .global data_ov18_0216cbf8 data_ov18_0216cbf8: ; 0x0216cbf8 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216cbfc data_ov18_0216cbfc: ; 0x0216cbfc .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216cc00 data_ov18_0216cc00: ; 0x0216cc00 .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov18_0216cc04 data_ov18_0216cc04: ; 0x0216cc04 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216cc08 data_ov18_0216cc08: ; 0x0216cc08 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216cc0c data_ov18_0216cc0c: ; 0x0216cc0c .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216cc10 data_ov18_0216cc10: ; 0x0216cc10 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216cc14 data_ov18_0216cc14: ; 0x0216cc14 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216cc18 data_ov18_0216cc18: ; 0x0216cc18 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216cc1c data_ov18_0216cc1c: ; 0x0216cc1c .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216cc20 data_ov18_0216cc20: ; 0x0216cc20 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216cc24 data_ov18_0216cc24: ; 0x0216cc24 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216cc28 data_ov18_0216cc28: ; 0x0216cc28 .byte 0x2c, 0x27, 0x16, 0x02 .global data_ov18_0216cc2c data_ov18_0216cc2c: ; 0x0216cc2c .byte 0x0c, 0x25, 0x16, 0x02 .global data_ov18_0216cc30 data_ov18_0216cc30: ; 0x0216cc30 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216cc34 data_ov18_0216cc34: ; 0x0216cc34 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216cc38 data_ov18_0216cc38: ; 0x0216cc38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cc3c data_ov18_0216cc3c: ; 0x0216cc3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cc40 data_ov18_0216cc40: ; 0x0216cc40 .byte 0x70, 0x2d, 0x16, 0x02 .global data_ov18_0216cc44 data_ov18_0216cc44: ; 0x0216cc44 .byte 0x90, 0x2d, 0x16, 0x02 .global data_ov18_0216cc48 data_ov18_0216cc48: ; 0x0216cc48 .byte 0xb8, 0x2d, 0x16, 0x02 .global data_ov18_0216cc4c data_ov18_0216cc4c: ; 0x0216cc4c .byte 0x58, 0x32, 0x16, 0x02 .global data_ov18_0216cc50 data_ov18_0216cc50: ; 0x0216cc50 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216cc54 data_ov18_0216cc54: ; 0x0216cc54 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216cc58 data_ov18_0216cc58: ; 0x0216cc58 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216cc5c data_ov18_0216cc5c: ; 0x0216cc5c .byte 0xe4, 0x37, 0x16, 0x02 .global data_ov18_0216cc60 data_ov18_0216cc60: ; 0x0216cc60 .byte 0xc4, 0x36, 0x16, 0x02 .global data_ov18_0216cc64 data_ov18_0216cc64: ; 0x0216cc64 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216cc68 data_ov18_0216cc68: ; 0x0216cc68 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216cc6c data_ov18_0216cc6c: ; 0x0216cc6c .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216cc70 data_ov18_0216cc70: ; 0x0216cc70 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216cc74 data_ov18_0216cc74: ; 0x0216cc74 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216cc78 data_ov18_0216cc78: ; 0x0216cc78 .byte 0xc0, 0x37, 0x16, 0x02 .global data_ov18_0216cc7c data_ov18_0216cc7c: ; 0x0216cc7c .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216cc80 data_ov18_0216cc80: ; 0x0216cc80 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216cc84 data_ov18_0216cc84: ; 0x0216cc84 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216cc88 data_ov18_0216cc88: ; 0x0216cc88 .byte 0x18, 0x37, 0x16, 0x02 .global data_ov18_0216cc8c data_ov18_0216cc8c: ; 0x0216cc8c .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216cc90 data_ov18_0216cc90: ; 0x0216cc90 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216cc94 data_ov18_0216cc94: ; 0x0216cc94 .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov18_0216cc98 data_ov18_0216cc98: ; 0x0216cc98 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216cc9c data_ov18_0216cc9c: ; 0x0216cc9c .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216cca0 data_ov18_0216cca0: ; 0x0216cca0 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216cca4 data_ov18_0216cca4: ; 0x0216cca4 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216cca8 data_ov18_0216cca8: ; 0x0216cca8 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216ccac data_ov18_0216ccac: ; 0x0216ccac .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216ccb0 data_ov18_0216ccb0: ; 0x0216ccb0 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216ccb4 data_ov18_0216ccb4: ; 0x0216ccb4 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216ccb8 data_ov18_0216ccb8: ; 0x0216ccb8 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216ccbc data_ov18_0216ccbc: ; 0x0216ccbc .byte 0xb4, 0x32, 0x16, 0x02 .global data_ov18_0216ccc0 data_ov18_0216ccc0: ; 0x0216ccc0 .byte 0xd4, 0x35, 0x16, 0x02 .global data_ov18_0216ccc4 data_ov18_0216ccc4: ; 0x0216ccc4 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216ccc8 data_ov18_0216ccc8: ; 0x0216ccc8 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216cccc data_ov18_0216cccc: ; 0x0216cccc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216ccd0 data_ov18_0216ccd0: ; 0x0216ccd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216ccd4 data_ov18_0216ccd4: ; 0x0216ccd4 .byte 0x98, 0x38, 0x16, 0x02 .global data_ov18_0216ccd8 data_ov18_0216ccd8: ; 0x0216ccd8 .byte 0xb8, 0x38, 0x16, 0x02 .global data_ov18_0216ccdc data_ov18_0216ccdc: ; 0x0216ccdc .byte 0xe0, 0x38, 0x16, 0x02 .global data_ov18_0216cce0 data_ov18_0216cce0: ; 0x0216cce0 .byte 0x64, 0x3d, 0x16, 0x02 .global data_ov18_0216cce4 data_ov18_0216cce4: ; 0x0216cce4 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216cce8 data_ov18_0216cce8: ; 0x0216cce8 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216ccec data_ov18_0216ccec: ; 0x0216ccec .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216ccf0 data_ov18_0216ccf0: ; 0x0216ccf0 .byte 0xe8, 0x42, 0x16, 0x02 .global data_ov18_0216ccf4 data_ov18_0216ccf4: ; 0x0216ccf4 .byte 0xd0, 0x41, 0x16, 0x02 .global data_ov18_0216ccf8 data_ov18_0216ccf8: ; 0x0216ccf8 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216ccfc data_ov18_0216ccfc: ; 0x0216ccfc .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216cd00 data_ov18_0216cd00: ; 0x0216cd00 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216cd04 data_ov18_0216cd04: ; 0x0216cd04 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216cd08 data_ov18_0216cd08: ; 0x0216cd08 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216cd0c data_ov18_0216cd0c: ; 0x0216cd0c .byte 0xc4, 0x42, 0x16, 0x02 .global data_ov18_0216cd10 data_ov18_0216cd10: ; 0x0216cd10 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216cd14 data_ov18_0216cd14: ; 0x0216cd14 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216cd18 data_ov18_0216cd18: ; 0x0216cd18 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216cd1c data_ov18_0216cd1c: ; 0x0216cd1c .byte 0x24, 0x42, 0x16, 0x02 .global data_ov18_0216cd20 data_ov18_0216cd20: ; 0x0216cd20 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216cd24 data_ov18_0216cd24: ; 0x0216cd24 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216cd28 data_ov18_0216cd28: ; 0x0216cd28 .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov18_0216cd2c data_ov18_0216cd2c: ; 0x0216cd2c .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216cd30 data_ov18_0216cd30: ; 0x0216cd30 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216cd34 data_ov18_0216cd34: ; 0x0216cd34 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216cd38 data_ov18_0216cd38: ; 0x0216cd38 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216cd3c data_ov18_0216cd3c: ; 0x0216cd3c .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216cd40 data_ov18_0216cd40: ; 0x0216cd40 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216cd44 data_ov18_0216cd44: ; 0x0216cd44 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216cd48 data_ov18_0216cd48: ; 0x0216cd48 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216cd4c data_ov18_0216cd4c: ; 0x0216cd4c .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216cd50 data_ov18_0216cd50: ; 0x0216cd50 .byte 0xc0, 0x3d, 0x16, 0x02 .global data_ov18_0216cd54 data_ov18_0216cd54: ; 0x0216cd54 .byte 0xe0, 0x40, 0x16, 0x02 .global data_ov18_0216cd58 data_ov18_0216cd58: ; 0x0216cd58 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216cd5c data_ov18_0216cd5c: ; 0x0216cd5c .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216cd60 data_ov18_0216cd60: ; 0x0216cd60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cd64 data_ov18_0216cd64: ; 0x0216cd64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cd68 data_ov18_0216cd68: ; 0x0216cd68 .byte 0x8c, 0x43, 0x16, 0x02 .global data_ov18_0216cd6c data_ov18_0216cd6c: ; 0x0216cd6c .byte 0xa0, 0x43, 0x16, 0x02 .global data_ov18_0216cd70 data_ov18_0216cd70: ; 0x0216cd70 .byte 0xbc, 0x43, 0x16, 0x02 .global data_ov18_0216cd74 data_ov18_0216cd74: ; 0x0216cd74 .byte 0x24, 0x6e, 0x14, 0x02 .global data_ov18_0216cd78 data_ov18_0216cd78: ; 0x0216cd78 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216cd7c data_ov18_0216cd7c: ; 0x0216cd7c .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216cd80 data_ov18_0216cd80: ; 0x0216cd80 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216cd84 data_ov18_0216cd84: ; 0x0216cd84 .byte 0xe0, 0x46, 0x16, 0x02 .global data_ov18_0216cd88 data_ov18_0216cd88: ; 0x0216cd88 .byte 0xd4, 0x71, 0x14, 0x02 .global data_ov18_0216cd8c data_ov18_0216cd8c: ; 0x0216cd8c .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216cd90 data_ov18_0216cd90: ; 0x0216cd90 .byte 0xa0, 0x70, 0x14, 0x02 .global data_ov18_0216cd94 data_ov18_0216cd94: ; 0x0216cd94 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216cd98 data_ov18_0216cd98: ; 0x0216cd98 .byte 0xe8, 0x46, 0x16, 0x02 .global data_ov18_0216cd9c data_ov18_0216cd9c: ; 0x0216cd9c .byte 0x04, 0x73, 0x14, 0x02 .global data_ov18_0216cda0 data_ov18_0216cda0: ; 0x0216cda0 .byte 0x50, 0x74, 0x14, 0x02 .global data_ov18_0216cda4 data_ov18_0216cda4: ; 0x0216cda4 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216cda8 data_ov18_0216cda8: ; 0x0216cda8 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216cdac data_ov18_0216cdac: ; 0x0216cdac .byte 0x90, 0x74, 0x14, 0x02 .global data_ov18_0216cdb0 data_ov18_0216cdb0: ; 0x0216cdb0 .byte 0x40, 0x44, 0x16, 0x02 .global data_ov18_0216cdb4 data_ov18_0216cdb4: ; 0x0216cdb4 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216cdb8 data_ov18_0216cdb8: ; 0x0216cdb8 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216cdbc data_ov18_0216cdbc: ; 0x0216cdbc .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov18_0216cdc0 data_ov18_0216cdc0: ; 0x0216cdc0 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216cdc4 data_ov18_0216cdc4: ; 0x0216cdc4 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216cdc8 data_ov18_0216cdc8: ; 0x0216cdc8 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216cdcc data_ov18_0216cdcc: ; 0x0216cdcc .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216cdd0 data_ov18_0216cdd0: ; 0x0216cdd0 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216cdd4 data_ov18_0216cdd4: ; 0x0216cdd4 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216cdd8 data_ov18_0216cdd8: ; 0x0216cdd8 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216cddc data_ov18_0216cddc: ; 0x0216cddc .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216cde0 data_ov18_0216cde0: ; 0x0216cde0 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216cde4 data_ov18_0216cde4: ; 0x0216cde4 .byte 0x74, 0x46, 0x16, 0x02 .global data_ov18_0216cde8 data_ov18_0216cde8: ; 0x0216cde8 .byte 0xb4, 0x6e, 0x14, 0x02 .global data_ov18_0216cdec data_ov18_0216cdec: ; 0x0216cdec .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216cdf0 data_ov18_0216cdf0: ; 0x0216cdf0 .byte 0x8c, 0x76, 0x14, 0x02 .global data_ov18_0216cdf4 data_ov18_0216cdf4: ; 0x0216cdf4 .byte 0x4c, 0x45, 0x16, 0x02 .global data_ov18_0216cdf8 data_ov18_0216cdf8: ; 0x0216cdf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cdfc data_ov18_0216cdfc: ; 0x0216cdfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216ce00 data_ov18_0216ce00: ; 0x0216ce00 .byte 0xd8, 0x47, 0x16, 0x02 .global data_ov18_0216ce04 data_ov18_0216ce04: ; 0x0216ce04 .byte 0x00, 0x48, 0x16, 0x02 .global data_ov18_0216ce08 data_ov18_0216ce08: ; 0x0216ce08 .byte 0x38, 0x48, 0x16, 0x02 .global data_ov18_0216ce0c data_ov18_0216ce0c: ; 0x0216ce0c .byte 0x20, 0x49, 0x16, 0x02 .global data_ov18_0216ce10 data_ov18_0216ce10: ; 0x0216ce10 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216ce14 data_ov18_0216ce14: ; 0x0216ce14 .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216ce18 data_ov18_0216ce18: ; 0x0216ce18 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216ce1c data_ov18_0216ce1c: ; 0x0216ce1c .byte 0x30, 0x48, 0x16, 0x02 .global data_ov18_0216ce20 data_ov18_0216ce20: ; 0x0216ce20 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216ce24 data_ov18_0216ce24: ; 0x0216ce24 .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216ce28 data_ov18_0216ce28: ; 0x0216ce28 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216ce2c data_ov18_0216ce2c: ; 0x0216ce2c .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216ce30 data_ov18_0216ce30: ; 0x0216ce30 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216ce34 data_ov18_0216ce34: ; 0x0216ce34 .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216ce38 data_ov18_0216ce38: ; 0x0216ce38 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216ce3c data_ov18_0216ce3c: ; 0x0216ce3c .byte 0x24, 0x4b, 0x16, 0x02 .global data_ov18_0216ce40 data_ov18_0216ce40: ; 0x0216ce40 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216ce44 data_ov18_0216ce44: ; 0x0216ce44 .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216ce48 data_ov18_0216ce48: ; 0x0216ce48 .byte 0x04, 0xb7, 0x08, 0x02 .global data_ov18_0216ce4c data_ov18_0216ce4c: ; 0x0216ce4c .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216ce50 data_ov18_0216ce50: ; 0x0216ce50 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216ce54 data_ov18_0216ce54: ; 0x0216ce54 .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov18_0216ce58 data_ov18_0216ce58: ; 0x0216ce58 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216ce5c data_ov18_0216ce5c: ; 0x0216ce5c .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216ce60 data_ov18_0216ce60: ; 0x0216ce60 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216ce64 data_ov18_0216ce64: ; 0x0216ce64 .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216ce68 data_ov18_0216ce68: ; 0x0216ce68 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216ce6c data_ov18_0216ce6c: ; 0x0216ce6c .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216ce70 data_ov18_0216ce70: ; 0x0216ce70 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216ce74 data_ov18_0216ce74: ; 0x0216ce74 .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216ce78 data_ov18_0216ce78: ; 0x0216ce78 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216ce7c data_ov18_0216ce7c: ; 0x0216ce7c .byte 0x74, 0x4b, 0x16, 0x02 .global data_ov18_0216ce80 data_ov18_0216ce80: ; 0x0216ce80 .byte 0xa0, 0x49, 0x16, 0x02 .global data_ov18_0216ce84 data_ov18_0216ce84: ; 0x0216ce84 .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216ce88 data_ov18_0216ce88: ; 0x0216ce88 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216ce8c data_ov18_0216ce8c: ; 0x0216ce8c .byte 0xac, 0x50, 0x16, 0x02 .global data_ov18_0216ce90 data_ov18_0216ce90: ; 0x0216ce90 .byte 0xf0, 0x4b, 0x16, 0x02 .global data_ov18_0216ce94 data_ov18_0216ce94: ; 0x0216ce94 .byte 0xf4, 0x50, 0x16, 0x02 .global data_ov18_0216ce98 data_ov18_0216ce98: ; 0x0216ce98 .byte 0x3c, 0x51, 0x16, 0x02 .global data_ov18_0216ce9c data_ov18_0216ce9c: ; 0x0216ce9c .byte 0x84, 0x51, 0x16, 0x02 .global data_ov18_0216cea0 data_ov18_0216cea0: ; 0x0216cea0 .byte 0xc8, 0x51, 0x16, 0x02 .global data_ov18_0216cea4 data_ov18_0216cea4: ; 0x0216cea4 .byte 0x34, 0x4c, 0x16, 0x02 .global data_ov18_0216cea8 data_ov18_0216cea8: ; 0x0216cea8 .byte 0x78, 0x4c, 0x16, 0x02 .global data_ov18_0216ceac data_ov18_0216ceac: ; 0x0216ceac .byte 0xbc, 0x4c, 0x16, 0x02 .global data_ov18_0216ceb0 data_ov18_0216ceb0: ; 0x0216ceb0 .byte 0x00, 0x4d, 0x16, 0x02 .global data_ov18_0216ceb4 data_ov18_0216ceb4: ; 0x0216ceb4 .byte 0x44, 0x4d, 0x16, 0x02 .global data_ov18_0216ceb8 data_ov18_0216ceb8: ; 0x0216ceb8 .byte 0x88, 0x4d, 0x16, 0x02 .global data_ov18_0216cebc data_ov18_0216cebc: ; 0x0216cebc .byte 0xcc, 0x4d, 0x16, 0x02 .global data_ov18_0216cec0 data_ov18_0216cec0: ; 0x0216cec0 .byte 0x28, 0x4e, 0x16, 0x02 .global data_ov18_0216cec4 data_ov18_0216cec4: ; 0x0216cec4 .byte 0x84, 0x4e, 0x16, 0x02 .global data_ov18_0216cec8 data_ov18_0216cec8: ; 0x0216cec8 .byte 0xe0, 0x4e, 0x16, 0x02 .global data_ov18_0216cecc data_ov18_0216cecc: ; 0x0216cecc .byte 0x54, 0x4f, 0x16, 0x02 .global data_ov18_0216ced0 data_ov18_0216ced0: ; 0x0216ced0 .byte 0xb0, 0x4f, 0x16, 0x02 .global data_ov18_0216ced4 data_ov18_0216ced4: ; 0x0216ced4 .byte 0x0c, 0x50, 0x16, 0x02 .global data_ov18_0216ced8 data_ov18_0216ced8: ; 0x0216ced8 .byte 0x50, 0x50, 0x16, 0x02 .global data_ov18_0216cedc data_ov18_0216cedc: ; 0x0216cedc .byte 0x10, 0x52, 0x16, 0x02 .global data_ov18_0216cee0 data_ov18_0216cee0: ; 0x0216cee0 .byte 0x54, 0x52, 0x16, 0x02 .global data_ov18_0216cee4 data_ov18_0216cee4: ; 0x0216cee4 .byte 0x98, 0x52, 0x16, 0x02 .global data_ov18_0216cee8 data_ov18_0216cee8: ; 0x0216cee8 .byte 0xf4, 0x00, 0x00, 0x00 .global data_ov18_0216ceec data_ov18_0216ceec: ; 0x0216ceec .byte 0xd3, 0x00, 0x00, 0x00 .global data_ov18_0216cef0 data_ov18_0216cef0: ; 0x0216cef0 .byte 0x2e, 0x01, 0x00, 0x00 .global data_ov18_0216cef4 data_ov18_0216cef4: ; 0x0216cef4 .byte 0x2f, 0x01, 0x00, 0x00 .global data_ov18_0216cef8 data_ov18_0216cef8: ; 0x0216cef8 .byte 0x30, 0x01, 0x00, 0x00 .global data_ov18_0216cefc data_ov18_0216cefc: ; 0x0216cefc .byte 0x31, 0x01, 0x00, 0x00 .global data_ov18_0216cf00 data_ov18_0216cf00: ; 0x0216cf00 .byte 0xd4, 0x00, 0x00, 0x00 .global data_ov18_0216cf04 data_ov18_0216cf04: ; 0x0216cf04 .byte 0xd5, 0x00, 0x00, 0x00 .global data_ov18_0216cf08 data_ov18_0216cf08: ; 0x0216cf08 .byte 0xd6, 0x00, 0x00, 0x00 .global data_ov18_0216cf0c data_ov18_0216cf0c: ; 0x0216cf0c .byte 0xd7, 0x00, 0x00, 0x00 .global data_ov18_0216cf10 data_ov18_0216cf10: ; 0x0216cf10 .byte 0xd8, 0x00, 0x00, 0x00 .global data_ov18_0216cf14 data_ov18_0216cf14: ; 0x0216cf14 .byte 0xd9, 0x00, 0x00, 0x00 .global data_ov18_0216cf18 data_ov18_0216cf18: ; 0x0216cf18 .byte 0xda, 0x00, 0x00, 0x00 .global data_ov18_0216cf1c data_ov18_0216cf1c: ; 0x0216cf1c .byte 0xdb, 0x00, 0x00, 0x00 .global data_ov18_0216cf20 data_ov18_0216cf20: ; 0x0216cf20 .byte 0xdc, 0x00, 0x00, 0x00 .global data_ov18_0216cf24 data_ov18_0216cf24: ; 0x0216cf24 .byte 0xdd, 0x00, 0x00, 0x00 .global data_ov18_0216cf28 data_ov18_0216cf28: ; 0x0216cf28 .byte 0xde, 0x00, 0x00, 0x00 .global data_ov18_0216cf2c data_ov18_0216cf2c: ; 0x0216cf2c .byte 0xdf, 0x00, 0x00, 0x00 .global data_ov18_0216cf30 data_ov18_0216cf30: ; 0x0216cf30 .byte 0xe0, 0x00, 0x00, 0x00 .global data_ov18_0216cf34 data_ov18_0216cf34: ; 0x0216cf34 .byte 0x87, 0x01, 0x00, 0x00 .global data_ov18_0216cf38 data_ov18_0216cf38: ; 0x0216cf38 .byte 0x4e, 0x01, 0x00, 0x00 .global data_ov18_0216cf3c data_ov18_0216cf3c: ; 0x0216cf3c .byte 0x4f, 0x01, 0x00, 0x00 .global data_ov18_0216cf40 data_ov18_0216cf40: ; 0x0216cf40 .byte 0x7b, 0x01, 0x00, 0x00 .global data_ov18_0216cf44 data_ov18_0216cf44: ; 0x0216cf44 .byte 0x04, 0x00 .global data_ov18_0216cf46 data_ov18_0216cf46: ; 0x0216cf46 .byte 0x12, 0x00 .global data_ov18_0216cf48 data_ov18_0216cf48: ; 0x0216cf48 .byte 0x04, 0x00 .global data_ov18_0216cf4a data_ov18_0216cf4a: ; 0x0216cf4a .byte 0x01, 0x00 .global data_ov18_0216cf4c data_ov18_0216cf4c: ; 0x0216cf4c .byte 0x04, 0x00 .global data_ov18_0216cf4e data_ov18_0216cf4e: ; 0x0216cf4e .byte 0x13, 0x00 .global data_ov18_0216cf50 data_ov18_0216cf50: ; 0x0216cf50 .byte 0x04, 0x00 .global data_ov18_0216cf52 data_ov18_0216cf52: ; 0x0216cf52 .byte 0x14, 0x00 .global data_ov18_0216cf54 data_ov18_0216cf54: ; 0x0216cf54 .byte 0x04, 0x00 .global data_ov18_0216cf56 data_ov18_0216cf56: ; 0x0216cf56 .byte 0x14, 0x00 .global data_ov18_0216cf58 data_ov18_0216cf58: ; 0x0216cf58 .byte 0x04, 0x00 .global data_ov18_0216cf5a data_ov18_0216cf5a: ; 0x0216cf5a .byte 0x14, 0x00 .global data_ov18_0216cf5c data_ov18_0216cf5c: ; 0x0216cf5c .byte 0x04, 0x00 .global data_ov18_0216cf5e data_ov18_0216cf5e: ; 0x0216cf5e .byte 0x04, 0x00 .global data_ov18_0216cf60 data_ov18_0216cf60: ; 0x0216cf60 .byte 0x04, 0x00 .global data_ov18_0216cf62 data_ov18_0216cf62: ; 0x0216cf62 .byte 0x05, 0x00 .global data_ov18_0216cf64 data_ov18_0216cf64: ; 0x0216cf64 .byte 0x04, 0x00 .global data_ov18_0216cf66 data_ov18_0216cf66: ; 0x0216cf66 .byte 0x06, 0x00 .global data_ov18_0216cf68 data_ov18_0216cf68: ; 0x0216cf68 .byte 0x04, 0x00 .global data_ov18_0216cf6a data_ov18_0216cf6a: ; 0x0216cf6a .byte 0x07, 0x00 .global data_ov18_0216cf6c data_ov18_0216cf6c: ; 0x0216cf6c .byte 0x04, 0x00 .global data_ov18_0216cf6e data_ov18_0216cf6e: ; 0x0216cf6e .byte 0x08, 0x00 .global data_ov18_0216cf70 data_ov18_0216cf70: ; 0x0216cf70 .byte 0x04, 0x00 .global data_ov18_0216cf72 data_ov18_0216cf72: ; 0x0216cf72 .byte 0x09, 0x00 .global data_ov18_0216cf74 data_ov18_0216cf74: ; 0x0216cf74 .byte 0x04, 0x00 .global data_ov18_0216cf76 data_ov18_0216cf76: ; 0x0216cf76 .byte 0x0a, 0x00 .global data_ov18_0216cf78 data_ov18_0216cf78: ; 0x0216cf78 .byte 0x04, 0x00 .global data_ov18_0216cf7a data_ov18_0216cf7a: ; 0x0216cf7a .byte 0x0b, 0x00 .global data_ov18_0216cf7c data_ov18_0216cf7c: ; 0x0216cf7c .byte 0x04, 0x00 .global data_ov18_0216cf7e data_ov18_0216cf7e: ; 0x0216cf7e .byte 0x0c, 0x00 .global data_ov18_0216cf80 data_ov18_0216cf80: ; 0x0216cf80 .byte 0x04, 0x00 .global data_ov18_0216cf82 data_ov18_0216cf82: ; 0x0216cf82 .byte 0x0d, 0x00 .global data_ov18_0216cf84 data_ov18_0216cf84: ; 0x0216cf84 .byte 0x04, 0x00 .global data_ov18_0216cf86 data_ov18_0216cf86: ; 0x0216cf86 .byte 0x0e, 0x00 .global data_ov18_0216cf88 data_ov18_0216cf88: ; 0x0216cf88 .byte 0x04, 0x00 .global data_ov18_0216cf8a data_ov18_0216cf8a: ; 0x0216cf8a .byte 0x0f, 0x00 .global data_ov18_0216cf8c data_ov18_0216cf8c: ; 0x0216cf8c .byte 0x04, 0x00 .global data_ov18_0216cf8e data_ov18_0216cf8e: ; 0x0216cf8e .byte 0x10, 0x00 .global data_ov18_0216cf90 data_ov18_0216cf90: ; 0x0216cf90 .byte 0x04, 0x00 .global data_ov18_0216cf92 data_ov18_0216cf92: ; 0x0216cf92 .byte 0x11, 0x00 .global data_ov18_0216cf94 data_ov18_0216cf94: ; 0x0216cf94 .byte 0x04, 0x00 .global data_ov18_0216cf96 data_ov18_0216cf96: ; 0x0216cf96 .byte 0x15, 0x00 .global data_ov18_0216cf98 data_ov18_0216cf98: ; 0x0216cf98 .byte 0x04, 0x00 .global data_ov18_0216cf9a data_ov18_0216cf9a: ; 0x0216cf9a .byte 0x16, 0x00 .global data_ov18_0216cf9c data_ov18_0216cf9c: ; 0x0216cf9c .byte 0x04, 0x00 .global data_ov18_0216cf9e data_ov18_0216cf9e: ; 0x0216cf9e .byte 0x17, 0x00 .global data_ov18_0216cfa0 data_ov18_0216cfa0: ; 0x0216cfa0 .byte 0xdc, 0x58, 0x16, 0x02 .global data_ov18_0216cfa4 data_ov18_0216cfa4: ; 0x0216cfa4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfa8 data_ov18_0216cfa8: ; 0x0216cfa8 .byte 0x2c, 0x59, 0x16, 0x02 .global data_ov18_0216cfac data_ov18_0216cfac: ; 0x0216cfac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfb0 data_ov18_0216cfb0: ; 0x0216cfb0 .byte 0xb4, 0x59, 0x16, 0x02 .global data_ov18_0216cfb4 data_ov18_0216cfb4: ; 0x0216cfb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfb8 data_ov18_0216cfb8: ; 0x0216cfb8 .byte 0x24, 0x5a, 0x16, 0x02 .global data_ov18_0216cfbc data_ov18_0216cfbc: ; 0x0216cfbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfc0 data_ov18_0216cfc0: ; 0x0216cfc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfc4 data_ov18_0216cfc4: ; 0x0216cfc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfc8 data_ov18_0216cfc8: ; 0x0216cfc8 .byte 0xf0, 0x53, 0x16, 0x02 .global data_ov18_0216cfcc data_ov18_0216cfcc: ; 0x0216cfcc .byte 0x04, 0x54, 0x16, 0x02 .global data_ov18_0216cfd0 data_ov18_0216cfd0: ; 0x0216cfd0 .byte 0x20, 0x54, 0x16, 0x02 .global data_ov18_0216cfd4 data_ov18_0216cfd4: ; 0x0216cfd4 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov18_0216cfd8 data_ov18_0216cfd8: ; 0x0216cfd8 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov18_0216cfdc data_ov18_0216cfdc: ; 0x0216cfdc .byte 0x90, 0x4a, 0x14, 0x02 .global data_ov18_0216cfe0 data_ov18_0216cfe0: ; 0x0216cfe0 .byte 0x64, 0x4b, 0x14, 0x02 .global data_ov18_0216cfe4 data_ov18_0216cfe4: ; 0x0216cfe4 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov18_0216cfe8 data_ov18_0216cfe8: ; 0x0216cfe8 .byte 0xcc, 0x5a, 0x16, 0x02 .global data_ov18_0216cfec data_ov18_0216cfec: ; 0x0216cfec .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov18_0216cff0 data_ov18_0216cff0: ; 0x0216cff0 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov18_0216cff4 data_ov18_0216cff4: ; 0x0216cff4 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov18_0216cff8 data_ov18_0216cff8: ; 0x0216cff8 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov18_0216cffc data_ov18_0216cffc: ; 0x0216cffc .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov18_0216d000 data_ov18_0216d000: ; 0x0216d000 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov18_0216d004 data_ov18_0216d004: ; 0x0216d004 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov18_0216d008 data_ov18_0216d008: ; 0x0216d008 .byte 0x74, 0x59, 0x14, 0x02 .global data_ov18_0216d00c data_ov18_0216d00c: ; 0x0216d00c .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov18_0216d010 data_ov18_0216d010: ; 0x0216d010 .byte 0xf8, 0x56, 0x16, 0x02 .global data_ov18_0216d014 data_ov18_0216d014: ; 0x0216d014 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov18_0216d018 data_ov18_0216d018: ; 0x0216d018 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov18_0216d01c data_ov18_0216d01c: ; 0x0216d01c .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov18_0216d020 data_ov18_0216d020: ; 0x0216d020 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov18_0216d024 data_ov18_0216d024: ; 0x0216d024 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov18_0216d028 data_ov18_0216d028: ; 0x0216d028 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov18_0216d02c data_ov18_0216d02c: ; 0x0216d02c .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov18_0216d030 data_ov18_0216d030: ; 0x0216d030 .byte 0xe4, 0x56, 0x16, 0x02 .global data_ov18_0216d034 data_ov18_0216d034: ; 0x0216d034 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov18_0216d038 data_ov18_0216d038: ; 0x0216d038 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov18_0216d03c data_ov18_0216d03c: ; 0x0216d03c .byte 0x98, 0x56, 0x14, 0x02 .global data_ov18_0216d040 data_ov18_0216d040: ; 0x0216d040 .byte 0x90, 0x56, 0x14, 0x02 .global data_ov18_0216d044 data_ov18_0216d044: ; 0x0216d044 .byte 0x3c, 0x57, 0x14, 0x02 .global data_ov18_0216d048 data_ov18_0216d048: ; 0x0216d048 .byte 0x78, 0x55, 0x14, 0x02 .global data_ov18_0216d04c data_ov18_0216d04c: ; 0x0216d04c .byte 0xb0, 0x55, 0x14, 0x02 .global data_ov18_0216d050 data_ov18_0216d050: ; 0x0216d050 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov18_0216d054 data_ov18_0216d054: ; 0x0216d054 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov18_0216d058 data_ov18_0216d058: ; 0x0216d058 .byte 0x60, 0x57, 0x14, 0x02 .global data_ov18_0216d05c data_ov18_0216d05c: ; 0x0216d05c .byte 0x14, 0x58, 0x14, 0x02 .global data_ov18_0216d060 data_ov18_0216d060: ; 0x0216d060 .byte 0x74, 0x58, 0x14, 0x02 .global data_ov18_0216d064 data_ov18_0216d064: ; 0x0216d064 .byte 0xb0, 0x58, 0x14, 0x02 .global data_ov18_0216d068 data_ov18_0216d068: ; 0x0216d068 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov18_0216d06c data_ov18_0216d06c: ; 0x0216d06c .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov18_0216d070 data_ov18_0216d070: ; 0x0216d070 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov18_0216d074 data_ov18_0216d074: ; 0x0216d074 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov18_0216d078 data_ov18_0216d078: ; 0x0216d078 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov18_0216d07c data_ov18_0216d07c: ; 0x0216d07c .byte 0x08, 0x4d, 0x14, 0x02 .global data_ov18_0216d080 data_ov18_0216d080: ; 0x0216d080 .byte 0x34, 0x4d, 0x14, 0x02 .global data_ov18_0216d084 data_ov18_0216d084: ; 0x0216d084 .byte 0x74, 0x4d, 0x14, 0x02 .global data_ov18_0216d088 data_ov18_0216d088: ; 0x0216d088 .byte 0xf0, 0x56, 0x16, 0x02 .global data_ov18_0216d08c data_ov18_0216d08c: ; 0x0216d08c .byte 0x70, 0x5a, 0x16, 0x02 .global data_ov18_0216d090 data_ov18_0216d090: ; 0x0216d090 .byte 0x78, 0x56, 0x14, 0x02 .global data_ov18_0216d094 data_ov18_0216d094: ; 0x0216d094 .byte 0xe4, 0x55, 0x14, 0x02 .global data_ov18_0216d098 data_ov18_0216d098: ; 0x0216d098 .byte 0xa0, 0x58, 0x14, 0x02 .global data_ov18_0216d09c data_ov18_0216d09c: ; 0x0216d09c .byte 0x00, 0x4d, 0x14, 0x02 .global data_ov18_0216d0a0 data_ov18_0216d0a0: ; 0x0216d0a0 .byte 0xd4, 0x48, 0x14, 0x02 .global data_ov18_0216d0a4 data_ov18_0216d0a4: ; 0x0216d0a4 .byte 0xdc, 0x48, 0x14, 0x02 .global data_ov18_0216d0a8 data_ov18_0216d0a8: ; 0x0216d0a8 .byte 0xe4, 0x48, 0x14, 0x02 .global data_ov18_0216d0ac data_ov18_0216d0ac: ; 0x0216d0ac .byte 0xec, 0x48, 0x14, 0x02 .global data_ov18_0216d0b0 data_ov18_0216d0b0: ; 0x0216d0b0 .byte 0xf4, 0x48, 0x14, 0x02 .global data_ov18_0216d0b4 data_ov18_0216d0b4: ; 0x0216d0b4 .byte 0xcc, 0x58, 0x14, 0x02 .global data_ov18_0216d0b8 data_ov18_0216d0b8: ; 0x0216d0b8 .byte 0x00, 0x59, 0x14, 0x02 .global data_ov18_0216d0bc data_ov18_0216d0bc: ; 0x0216d0bc .byte 0x00, 0x50, 0x00, 0x00 .global data_ov18_0216d0c0 data_ov18_0216d0c0: ; 0x0216d0c0 .byte 0x55, 0x15 .global data_ov18_0216d0c2 data_ov18_0216d0c2: ; 0x0216d0c2 .byte 0x00, 0x00 .global data_ov18_0216d0c4 data_ov18_0216d0c4: ; 0x0216d0c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d0c8 data_ov18_0216d0c8: ; 0x0216d0c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d0cc data_ov18_0216d0cc: ; 0x0216d0cc .byte 0xbc, 0x5b, 0x16, 0x02 .global data_ov18_0216d0d0 data_ov18_0216d0d0: ; 0x0216d0d0 .byte 0xf0, 0x5b, 0x16, 0x02 .global data_ov18_0216d0d4 data_ov18_0216d0d4: ; 0x0216d0d4 .byte 0xec, 0x5c, 0x16, 0x02 .global data_ov18_0216d0d8 data_ov18_0216d0d8: ; 0x0216d0d8 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov18_0216d0dc data_ov18_0216d0dc: ; 0x0216d0dc .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov18_0216d0e0 data_ov18_0216d0e0: ; 0x0216d0e0 .byte 0x90, 0x4a, 0x14, 0x02 .global data_ov18_0216d0e4 data_ov18_0216d0e4: ; 0x0216d0e4 .byte 0x64, 0x4b, 0x14, 0x02 .global data_ov18_0216d0e8 data_ov18_0216d0e8: ; 0x0216d0e8 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov18_0216d0ec data_ov18_0216d0ec: ; 0x0216d0ec .byte 0xf8, 0x82, 0x16, 0x02 .global data_ov18_0216d0f0 data_ov18_0216d0f0: ; 0x0216d0f0 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov18_0216d0f4 data_ov18_0216d0f4: ; 0x0216d0f4 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov18_0216d0f8 data_ov18_0216d0f8: ; 0x0216d0f8 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov18_0216d0fc data_ov18_0216d0fc: ; 0x0216d0fc .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov18_0216d100 data_ov18_0216d100: ; 0x0216d100 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov18_0216d104 data_ov18_0216d104: ; 0x0216d104 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov18_0216d108 data_ov18_0216d108: ; 0x0216d108 .byte 0xe4, 0x5d, 0x16, 0x02 .global data_ov18_0216d10c data_ov18_0216d10c: ; 0x0216d10c .byte 0x74, 0x59, 0x14, 0x02 .global data_ov18_0216d110 data_ov18_0216d110: ; 0x0216d110 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov18_0216d114 data_ov18_0216d114: ; 0x0216d114 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov18_0216d118 data_ov18_0216d118: ; 0x0216d118 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov18_0216d11c data_ov18_0216d11c: ; 0x0216d11c .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov18_0216d120 data_ov18_0216d120: ; 0x0216d120 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov18_0216d124 data_ov18_0216d124: ; 0x0216d124 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov18_0216d128 data_ov18_0216d128: ; 0x0216d128 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov18_0216d12c data_ov18_0216d12c: ; 0x0216d12c .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov18_0216d130 data_ov18_0216d130: ; 0x0216d130 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov18_0216d134 data_ov18_0216d134: ; 0x0216d134 .byte 0x08, 0x5e, 0x16, 0x02 .global data_ov18_0216d138 data_ov18_0216d138: ; 0x0216d138 .byte 0x98, 0x60, 0x16, 0x02 .global data_ov18_0216d13c data_ov18_0216d13c: ; 0x0216d13c .byte 0x50, 0x5f, 0x16, 0x02 .global data_ov18_0216d140 data_ov18_0216d140: ; 0x0216d140 .byte 0x98, 0x56, 0x14, 0x02 .global data_ov18_0216d144 data_ov18_0216d144: ; 0x0216d144 .byte 0x90, 0x56, 0x14, 0x02 .global data_ov18_0216d148 data_ov18_0216d148: ; 0x0216d148 .byte 0x3c, 0x57, 0x14, 0x02 .global data_ov18_0216d14c data_ov18_0216d14c: ; 0x0216d14c .byte 0x78, 0x55, 0x14, 0x02 .global data_ov18_0216d150 data_ov18_0216d150: ; 0x0216d150 .byte 0xb0, 0x55, 0x14, 0x02 .global data_ov18_0216d154 data_ov18_0216d154: ; 0x0216d154 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov18_0216d158 data_ov18_0216d158: ; 0x0216d158 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov18_0216d15c data_ov18_0216d15c: ; 0x0216d15c .byte 0x60, 0x57, 0x14, 0x02 .global data_ov18_0216d160 data_ov18_0216d160: ; 0x0216d160 .byte 0x14, 0x58, 0x14, 0x02 .global data_ov18_0216d164 data_ov18_0216d164: ; 0x0216d164 .byte 0x74, 0x58, 0x14, 0x02 .global data_ov18_0216d168 data_ov18_0216d168: ; 0x0216d168 .byte 0xb0, 0x58, 0x14, 0x02 .global data_ov18_0216d16c data_ov18_0216d16c: ; 0x0216d16c .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov18_0216d170 data_ov18_0216d170: ; 0x0216d170 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov18_0216d174 data_ov18_0216d174: ; 0x0216d174 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov18_0216d178 data_ov18_0216d178: ; 0x0216d178 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov18_0216d17c data_ov18_0216d17c: ; 0x0216d17c .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov18_0216d180 data_ov18_0216d180: ; 0x0216d180 .byte 0x08, 0x4d, 0x14, 0x02 .global data_ov18_0216d184 data_ov18_0216d184: ; 0x0216d184 .byte 0x34, 0x4d, 0x14, 0x02 .global data_ov18_0216d188 data_ov18_0216d188: ; 0x0216d188 .byte 0x74, 0x4d, 0x14, 0x02 .global data_ov18_0216d18c data_ov18_0216d18c: ; 0x0216d18c .byte 0xd4, 0x6b, 0x16, 0x02 .global data_ov18_0216d190 data_ov18_0216d190: ; 0x0216d190 .byte 0xdc, 0x6b, 0x16, 0x02 .global data_ov18_0216d194 data_ov18_0216d194: ; 0x0216d194 .byte 0x78, 0x56, 0x14, 0x02 .global data_ov18_0216d198 data_ov18_0216d198: ; 0x0216d198 .byte 0xe4, 0x55, 0x14, 0x02 .global data_ov18_0216d19c data_ov18_0216d19c: ; 0x0216d19c .byte 0xa0, 0x58, 0x14, 0x02 .global data_ov18_0216d1a0 data_ov18_0216d1a0: ; 0x0216d1a0 .byte 0xf0, 0x5d, 0x16, 0x02 .global data_ov18_0216d1a4 data_ov18_0216d1a4: ; 0x0216d1a4 .byte 0xd4, 0x48, 0x14, 0x02 .global data_ov18_0216d1a8 data_ov18_0216d1a8: ; 0x0216d1a8 .byte 0xdc, 0x48, 0x14, 0x02 .global data_ov18_0216d1ac data_ov18_0216d1ac: ; 0x0216d1ac .byte 0xe4, 0x48, 0x14, 0x02 .global data_ov18_0216d1b0 data_ov18_0216d1b0: ; 0x0216d1b0 .byte 0xec, 0x48, 0x14, 0x02 .global data_ov18_0216d1b4 data_ov18_0216d1b4: ; 0x0216d1b4 .byte 0xf4, 0x48, 0x14, 0x02 .global data_ov18_0216d1b8 data_ov18_0216d1b8: ; 0x0216d1b8 .byte 0xcc, 0x58, 0x14, 0x02 .global data_ov18_0216d1bc data_ov18_0216d1bc: ; 0x0216d1bc .byte 0x00, 0x59, 0x14, 0x02 .global data_ov18_0216d1c0 data_ov18_0216d1c0: ; 0x0216d1c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d1c4 data_ov18_0216d1c4: ; 0x0216d1c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d1c8 data_ov18_0216d1c8: ; 0x0216d1c8 .byte 0xf0, 0x87, 0x16, 0x02 .global data_ov18_0216d1cc data_ov18_0216d1cc: ; 0x0216d1cc .byte 0x18, 0x88, 0x16, 0x02 .global data_ov18_0216d1d0 data_ov18_0216d1d0: ; 0x0216d1d0 .byte 0x48, 0x88, 0x16, 0x02 .global data_ov18_0216d1d4 data_ov18_0216d1d4: ; 0x0216d1d4 .byte 0x24, 0x89, 0x16, 0x02 .global data_ov18_0216d1d8 data_ov18_0216d1d8: ; 0x0216d1d8 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov18_0216d1dc data_ov18_0216d1dc: ; 0x0216d1dc .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov18_0216d1e0 data_ov18_0216d1e0: ; 0x0216d1e0 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov18_0216d1e4 data_ov18_0216d1e4: ; 0x0216d1e4 .byte 0x7c, 0x8f, 0x16, 0x02 .global data_ov18_0216d1e8 data_ov18_0216d1e8: ; 0x0216d1e8 .byte 0xbc, 0xb6, 0x08, 0x02 .global data_ov18_0216d1ec data_ov18_0216d1ec: ; 0x0216d1ec .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov18_0216d1f0 data_ov18_0216d1f0: ; 0x0216d1f0 .byte 0xc8, 0xb6, 0x08, 0x02 .global data_ov18_0216d1f4 data_ov18_0216d1f4: ; 0x0216d1f4 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov18_0216d1f8 data_ov18_0216d1f8: ; 0x0216d1f8 .byte 0xd8, 0xb6, 0x08, 0x02 .global data_ov18_0216d1fc data_ov18_0216d1fc: ; 0x0216d1fc .byte 0xe0, 0xb6, 0x08, 0x02 .global data_ov18_0216d200 data_ov18_0216d200: ; 0x0216d200 .byte 0xe8, 0xb6, 0x08, 0x02 .global data_ov18_0216d204 data_ov18_0216d204: ; 0x0216d204 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov18_0216d208 data_ov18_0216d208: ; 0x0216d208 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov18_0216d20c data_ov18_0216d20c: ; 0x0216d20c .byte 0x00, 0xb7, 0x08, 0x02 .global data_ov18_0216d210 data_ov18_0216d210: ; 0x0216d210 .byte 0x10, 0x8c, 0x16, 0x02 .global data_ov18_0216d214 data_ov18_0216d214: ; 0x0216d214 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov18_0216d218 data_ov18_0216d218: ; 0x0216d218 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov18_0216d21c data_ov18_0216d21c: ; 0x0216d21c .byte 0x00, 0xca, 0x08, 0x02 .global data_ov18_0216d220 data_ov18_0216d220: ; 0x0216d220 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov18_0216d224 data_ov18_0216d224: ; 0x0216d224 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov18_0216d228 data_ov18_0216d228: ; 0x0216d228 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov18_0216d22c data_ov18_0216d22c: ; 0x0216d22c .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov18_0216d230 data_ov18_0216d230: ; 0x0216d230 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov18_0216d234 data_ov18_0216d234: ; 0x0216d234 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov18_0216d238 data_ov18_0216d238: ; 0x0216d238 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov18_0216d23c data_ov18_0216d23c: ; 0x0216d23c .byte 0x48, 0xba, 0x08, 0x02 .global data_ov18_0216d240 data_ov18_0216d240: ; 0x0216d240 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov18_0216d244 data_ov18_0216d244: ; 0x0216d244 .byte 0xb8, 0x8e, 0x16, 0x02 .global data_ov18_0216d248 data_ov18_0216d248: ; 0x0216d248 .byte 0x88, 0x8a, 0x16, 0x02 .global data_ov18_0216d24c data_ov18_0216d24c: ; 0x0216d24c .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov18_0216d250 data_ov18_0216d250: ; 0x0216d250 .byte 0x9c, 0xc3, 0x08, 0x02 .global data_ov18_0216d254 data_ov18_0216d254: ; 0x0216d254 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d258 data_ov18_0216d258: ; 0x0216d258 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d25c data_ov18_0216d25c: ; 0x0216d25c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d260 data_ov18_0216d260: ; 0x0216d260 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d264 data_ov18_0216d264: ; 0x0216d264 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d268 data_ov18_0216d268: ; 0x0216d268 .byte 0xe8, 0x8f, 0x16, 0x02 .global data_ov18_0216d26c data_ov18_0216d26c: ; 0x0216d26c .byte 0x24, 0x90, 0x16, 0x02 .global data_ov18_0216d270 data_ov18_0216d270: ; 0x0216d270 .byte 0x88, 0x90, 0x16, 0x02 .global data_ov18_0216d274 data_ov18_0216d274: ; 0x0216d274 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov18_0216d278 data_ov18_0216d278: ; 0x0216d278 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov18_0216d27c data_ov18_0216d27c: ; 0x0216d27c .byte 0x58, 0x91, 0x16, 0x02 .global data_ov18_0216d280 data_ov18_0216d280: ; 0x0216d280 .byte 0x30, 0x92, 0x16, 0x02 .global data_ov18_0216d284 data_ov18_0216d284: ; 0x0216d284 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov18_0216d288 data_ov18_0216d288: ; 0x0216d288 .byte 0x94, 0x18, 0x0c, 0x02 .global data_ov18_0216d28c data_ov18_0216d28c: ; 0x0216d28c .byte 0x68, 0x90, 0x16, 0x02 .global data_ov18_0216d290 data_ov18_0216d290: ; 0x0216d290 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov18_0216d294 data_ov18_0216d294: ; 0x0216d294 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov18_0216d298 data_ov18_0216d298: ; 0x0216d298 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov18_0216d29c data_ov18_0216d29c: ; 0x0216d29c .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov18_0216d2a0 data_ov18_0216d2a0: ; 0x0216d2a0 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov18_0216d2a4 data_ov18_0216d2a4: ; 0x0216d2a4 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov18_0216d2a8 data_ov18_0216d2a8: ; 0x0216d2a8 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov18_0216d2ac data_ov18_0216d2ac: ; 0x0216d2ac .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov18_0216d2b0 data_ov18_0216d2b0: ; 0x0216d2b0 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov18_0216d2b4 data_ov18_0216d2b4: ; 0x0216d2b4 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov18_0216d2b8 data_ov18_0216d2b8: ; 0x0216d2b8 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov18_0216d2bc data_ov18_0216d2bc: ; 0x0216d2bc .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov18_0216d2c0 data_ov18_0216d2c0: ; 0x0216d2c0 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov18_0216d2c4 data_ov18_0216d2c4: ; 0x0216d2c4 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov18_0216d2c8 data_ov18_0216d2c8: ; 0x0216d2c8 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov18_0216d2cc data_ov18_0216d2cc: ; 0x0216d2cc .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov18_0216d2d0 data_ov18_0216d2d0: ; 0x0216d2d0 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov18_0216d2d4 data_ov18_0216d2d4: ; 0x0216d2d4 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov18_0216d2d8 data_ov18_0216d2d8: ; 0x0216d2d8 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov18_0216d2dc data_ov18_0216d2dc: ; 0x0216d2dc .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov18_0216d2e0 data_ov18_0216d2e0: ; 0x0216d2e0 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov18_0216d2e4 data_ov18_0216d2e4: ; 0x0216d2e4 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov18_0216d2e8 data_ov18_0216d2e8: ; 0x0216d2e8 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov18_0216d2ec data_ov18_0216d2ec: ; 0x0216d2ec .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov18_0216d2f0 data_ov18_0216d2f0: ; 0x0216d2f0 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov18_0216d2f4 data_ov18_0216d2f4: ; 0x0216d2f4 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov18_0216d2f8 data_ov18_0216d2f8: ; 0x0216d2f8 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov18_0216d2fc data_ov18_0216d2fc: ; 0x0216d2fc .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov18_0216d300 data_ov18_0216d300: ; 0x0216d300 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov18_0216d304 data_ov18_0216d304: ; 0x0216d304 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov18_0216d308 data_ov18_0216d308: ; 0x0216d308 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov18_0216d30c data_ov18_0216d30c: ; 0x0216d30c .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov18_0216d310 data_ov18_0216d310: ; 0x0216d310 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov18_0216d314 data_ov18_0216d314: ; 0x0216d314 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov18_0216d318 data_ov18_0216d318: ; 0x0216d318 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov18_0216d31c data_ov18_0216d31c: ; 0x0216d31c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d320 data_ov18_0216d320: ; 0x0216d320 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d324 data_ov18_0216d324: ; 0x0216d324 .byte 0x44, 0xa1, 0x16, 0x02 .global data_ov18_0216d328 data_ov18_0216d328: ; 0x0216d328 .byte 0x58, 0xa1, 0x16, 0x02 .global data_ov18_0216d32c data_ov18_0216d32c: ; 0x0216d32c .byte 0x74, 0xa1, 0x16, 0x02 .global data_ov18_0216d330 data_ov18_0216d330: ; 0x0216d330 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov18_0216d334 data_ov18_0216d334: ; 0x0216d334 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov18_0216d338 data_ov18_0216d338: ; 0x0216d338 .byte 0x3c, 0xa2, 0x16, 0x02 .global data_ov18_0216d33c data_ov18_0216d33c: ; 0x0216d33c .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov18_0216d340 data_ov18_0216d340: ; 0x0216d340 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov18_0216d344 data_ov18_0216d344: ; 0x0216d344 .byte 0x94, 0x18, 0x0c, 0x02 .global data_ov18_0216d348 data_ov18_0216d348: ; 0x0216d348 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov18_0216d34c data_ov18_0216d34c: ; 0x0216d34c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov18_0216d350 data_ov18_0216d350: ; 0x0216d350 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov18_0216d354 data_ov18_0216d354: ; 0x0216d354 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov18_0216d358 data_ov18_0216d358: ; 0x0216d358 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov18_0216d35c data_ov18_0216d35c: ; 0x0216d35c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov18_0216d360 data_ov18_0216d360: ; 0x0216d360 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov18_0216d364 data_ov18_0216d364: ; 0x0216d364 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov18_0216d368 data_ov18_0216d368: ; 0x0216d368 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov18_0216d36c data_ov18_0216d36c: ; 0x0216d36c .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov18_0216d370 data_ov18_0216d370: ; 0x0216d370 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov18_0216d374 data_ov18_0216d374: ; 0x0216d374 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov18_0216d378 data_ov18_0216d378: ; 0x0216d378 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov18_0216d37c data_ov18_0216d37c: ; 0x0216d37c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov18_0216d380 data_ov18_0216d380: ; 0x0216d380 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov18_0216d384 data_ov18_0216d384: ; 0x0216d384 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov18_0216d388 data_ov18_0216d388: ; 0x0216d388 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov18_0216d38c data_ov18_0216d38c: ; 0x0216d38c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov18_0216d390 data_ov18_0216d390: ; 0x0216d390 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov18_0216d394 data_ov18_0216d394: ; 0x0216d394 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov18_0216d398 data_ov18_0216d398: ; 0x0216d398 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov18_0216d39c data_ov18_0216d39c: ; 0x0216d39c .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov18_0216d3a0 data_ov18_0216d3a0: ; 0x0216d3a0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov18_0216d3a4 data_ov18_0216d3a4: ; 0x0216d3a4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov18_0216d3a8 data_ov18_0216d3a8: ; 0x0216d3a8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov18_0216d3ac data_ov18_0216d3ac: ; 0x0216d3ac .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov18_0216d3b0 data_ov18_0216d3b0: ; 0x0216d3b0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov18_0216d3b4 data_ov18_0216d3b4: ; 0x0216d3b4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov18_0216d3b8 data_ov18_0216d3b8: ; 0x0216d3b8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov18_0216d3bc data_ov18_0216d3bc: ; 0x0216d3bc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov18_0216d3c0 data_ov18_0216d3c0: ; 0x0216d3c0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov18_0216d3c4 data_ov18_0216d3c4: ; 0x0216d3c4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov18_0216d3c8 data_ov18_0216d3c8: ; 0x0216d3c8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov18_0216d3cc data_ov18_0216d3cc: ; 0x0216d3cc .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov18_0216d3d0 data_ov18_0216d3d0: ; 0x0216d3d0 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov18_0216d3d4 data_ov18_0216d3d4: ; 0x0216d3d4 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov18_0216d3d8 data_ov18_0216d3d8: ; 0x0216d3d8 .ascii "bmStnM" .byte 0x00, 0x00 .global data_ov18_0216d3e0 data_ov18_0216d3e0: ; 0x0216d3e0 .ascii "sgnPst" .byte 0x00, 0x00 .global data_ov18_0216d3e8 data_ov18_0216d3e8: ; 0x0216d3e8 .ascii "bmStnM" .byte 0x00, 0x00 .global data_ov18_0216d3f0 data_ov18_0216d3f0: ; 0x0216d3f0 .ascii "sgnPst" .byte 0x00, 0x00 .global data_ov18_0216d3f8 data_ov18_0216d3f8: ; 0x0216d3f8 .ascii "script06" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d404 data_ov18_0216d404: ; 0x0216d404 .ascii "script06" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d410 data_ov18_0216d410: ; 0x0216d410 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d414 data_ov18_0216d414: ; 0x0216d414 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d418 data_ov18_0216d418: ; 0x0216d418 .byte 0xb0, 0xa3, 0x16, 0x02 .global data_ov18_0216d41c data_ov18_0216d41c: ; 0x0216d41c .byte 0xb4, 0xa3, 0x16, 0x02 .global data_ov18_0216d420 data_ov18_0216d420: ; 0x0216d420 .byte 0xc8, 0xa3, 0x16, 0x02 .global data_ov18_0216d424 data_ov18_0216d424: ; 0x0216d424 .byte 0xc4, 0xa5, 0x16, 0x02 .global data_ov18_0216d428 data_ov18_0216d428: ; 0x0216d428 .byte 0xb4, 0xa6, 0x16, 0x02 .global data_ov18_0216d42c data_ov18_0216d42c: ; 0x0216d42c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d430 data_ov18_0216d430: ; 0x0216d430 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d434 data_ov18_0216d434: ; 0x0216d434 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d438 data_ov18_0216d438: ; 0x0216d438 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216d43c data_ov18_0216d43c: ; 0x0216d43c .byte 0x00, 0x00, 0x00, 0x00 ; 0x0216d440 .bss .global data_ov18_0216d440 data_ov18_0216d440: .space 0x4 .global data_ov18_0216d444 data_ov18_0216d444: .space 0x4 .global data_ov18_0216d448 data_ov18_0216d448: .space 0x4 .global data_ov18_0216d44c data_ov18_0216d44c: .space 0x4 .global data_ov18_0216d450 data_ov18_0216d450: .space 0x4 .global data_ov18_0216d454 data_ov18_0216d454: .space 0x4 .global data_ov18_0216d458 data_ov18_0216d458: .space 0x4 .global data_ov18_0216d45c data_ov18_0216d45c: .space 0x4 .global data_ov18_0216d460 data_ov18_0216d460: .space 0x4 .global data_ov18_0216d464 data_ov18_0216d464: .space 0x4 .global data_ov18_0216d468 data_ov18_0216d468: .space 0x4 .global data_ov18_0216d46c data_ov18_0216d46c: .space 0x4 .global data_ov18_0216d470 data_ov18_0216d470: .space 0x4 .global data_ov18_0216d474 data_ov18_0216d474: .space 0x4 .global data_ov18_0216d478 data_ov18_0216d478: .space 0x4 .global data_ov18_0216d47c data_ov18_0216d47c: .space 0x4 .global data_ov18_0216d480 data_ov18_0216d480: .space 0x4 .global data_ov18_0216d484 data_ov18_0216d484: .space 0x4 .global data_ov18_0216d488 data_ov18_0216d488: .space 0x4 .global data_ov18_0216d48c data_ov18_0216d48c: .space 0x4 .global data_ov18_0216d490 data_ov18_0216d490: .space 0x4 .global data_ov18_0216d494 data_ov18_0216d494: .space 0x4 .global data_ov18_0216d498 data_ov18_0216d498: .space 0x4 .global data_ov18_0216d49c data_ov18_0216d49c: .space 0x4 .global data_ov18_0216d4a0 data_ov18_0216d4a0: .space 0x4 .global data_ov18_0216d4a4 data_ov18_0216d4a4: .space 0x4 .global data_ov18_0216d4a8 data_ov18_0216d4a8: .space 0x4 .global data_ov18_0216d4ac data_ov18_0216d4ac: .space 0x4 .global data_ov18_0216d4b0 data_ov18_0216d4b0: .space 0x4 .global data_ov18_0216d4b4 data_ov18_0216d4b4: .space 0x4 .global data_ov18_0216d4b8 data_ov18_0216d4b8: .space 0x4 .global data_ov18_0216d4bc data_ov18_0216d4bc: .space 0x4 .global data_ov18_0216d4c0 data_ov18_0216d4c0: .space 0x4 .global data_ov18_0216d4c4 data_ov18_0216d4c4: .space 0x4 .global data_ov18_0216d4c8 data_ov18_0216d4c8: .space 0x4 .global data_ov18_0216d4cc data_ov18_0216d4cc: .space 0x4 .global data_ov18_0216d4d0 data_ov18_0216d4d0: .space 0x4 .global data_ov18_0216d4d4 data_ov18_0216d4d4: .space 0x4 .global data_ov18_0216d4d8 data_ov18_0216d4d8: .space 0x4 .global data_ov18_0216d4dc data_ov18_0216d4dc: .space 0x4 .global data_ov18_0216d4e0 data_ov18_0216d4e0: .space 0x4 .global data_ov18_0216d4e4 data_ov18_0216d4e4: .space 0x4 .global data_ov18_0216d4e8 data_ov18_0216d4e8: .space 0x4 .global data_ov18_0216d4ec data_ov18_0216d4ec: .space 0x4 .global data_ov18_0216d4f0 data_ov18_0216d4f0: .space 0x4 .global data_ov18_0216d4f4 data_ov18_0216d4f4: .space 0x4 .global data_ov18_0216d4f8 data_ov18_0216d4f8: .space 0x4 .global data_ov18_0216d4fc data_ov18_0216d4fc: .space 0x4 .global data_ov18_0216d500 data_ov18_0216d500: .space 0x4 .global data_ov18_0216d504 data_ov18_0216d504: .space 0x4 .global data_ov18_0216d508 data_ov18_0216d508: .space 0x4 .global data_ov18_0216d50c data_ov18_0216d50c: .space 0x4 .global data_ov18_0216d510 data_ov18_0216d510: .space 0x4 .global data_ov18_0216d514 data_ov18_0216d514: .space 0x4 .global data_ov18_0216d518 data_ov18_0216d518: .space 0x4 .global data_ov18_0216d51c data_ov18_0216d51c: .space 0x4 .global data_ov18_0216d520 data_ov18_0216d520: .space 0x4 .global data_ov18_0216d524 data_ov18_0216d524: .space 0x4 .global data_ov18_0216d528 data_ov18_0216d528: .space 0x4 .global data_ov18_0216d52c data_ov18_0216d52c: .space 0x4 .global data_ov18_0216d530 data_ov18_0216d530: .space 0x4 .global data_ov18_0216d534 data_ov18_0216d534: .space 0x4 .global data_ov18_0216d538 data_ov18_0216d538: .space 0x4 .global data_ov18_0216d53c data_ov18_0216d53c: .space 0x4 .global data_ov18_0216d540 data_ov18_0216d540: .space 0x4 .global data_ov18_0216d544 data_ov18_0216d544: .space 0x4 .global data_ov18_0216d548 data_ov18_0216d548: .space 0x4 .global data_ov18_0216d54c data_ov18_0216d54c: .space 0x4 .global data_ov18_0216d550 data_ov18_0216d550: .space 0x4 .global data_ov18_0216d554 data_ov18_0216d554: .space 0x4 .global data_ov18_0216d558 data_ov18_0216d558: .space 0x4 .global data_ov18_0216d55c data_ov18_0216d55c: .space 0x4 .global data_ov18_0216d560 data_ov18_0216d560: .space 0x4 .global data_ov18_0216d564 data_ov18_0216d564: .space 0x4 .global data_ov18_0216d568 data_ov18_0216d568: .space 0x4 .global data_ov18_0216d56c data_ov18_0216d56c: .space 0x4 .global data_ov18_0216d570 data_ov18_0216d570: .space 0x4 .global data_ov18_0216d574 data_ov18_0216d574: .space 0x4 .global data_ov18_0216d578 data_ov18_0216d578: .space 0x4 .global data_ov18_0216d57c data_ov18_0216d57c: .space 0x4 .global data_ov18_0216d580 data_ov18_0216d580: .space 0x4 .global data_ov18_0216d584 data_ov18_0216d584: .space 0x4 .global data_ov18_0216d588 data_ov18_0216d588: .space 0x4 .global data_ov18_0216d58c data_ov18_0216d58c: .space 0x4 .global data_ov18_0216d590 data_ov18_0216d590: .space 0x4 .global data_ov18_0216d594 data_ov18_0216d594: .space 0x4 .global data_ov18_0216d598 data_ov18_0216d598: .space 0x4 .global data_ov18_0216d59c data_ov18_0216d59c: .space 0x4 .global data_ov18_0216d5a0 data_ov18_0216d5a0: .space 0x4 .global data_ov18_0216d5a4 data_ov18_0216d5a4: .space 0x4 .global data_ov18_0216d5a8 data_ov18_0216d5a8: .space 0x4 .global data_ov18_0216d5ac data_ov18_0216d5ac: .space 0x4 .global data_ov18_0216d5b0 data_ov18_0216d5b0: .space 0x4 .global data_ov18_0216d5b4 data_ov18_0216d5b4: .space 0x4 .global data_ov18_0216d5b8 data_ov18_0216d5b8: .space 0x4 .global data_ov18_0216d5bc data_ov18_0216d5bc: .space 0x4 .global data_ov18_0216d5c0 data_ov18_0216d5c0: .space 0x4 .global data_ov18_0216d5c4 data_ov18_0216d5c4: .space 0x4 .global data_ov18_0216d5c8 data_ov18_0216d5c8: .space 0x4 .global data_ov18_0216d5cc data_ov18_0216d5cc: .space 0x4 .global data_ov18_0216d5d0 data_ov18_0216d5d0: .space 0x4 .global data_ov18_0216d5d4 data_ov18_0216d5d4: .space 0x4 .global data_ov18_0216d5d8 data_ov18_0216d5d8: .space 0x4 .global data_ov18_0216d5dc data_ov18_0216d5dc: .space 0x4 .global data_ov18_0216d5e0 data_ov18_0216d5e0: .space 0x4 .global data_ov18_0216d5e4 data_ov18_0216d5e4: .space 0x4 .global data_ov18_0216d5e8 data_ov18_0216d5e8: .space 0x4 .global data_ov18_0216d5ec data_ov18_0216d5ec: .space 0x4 .global data_ov18_0216d5f0 data_ov18_0216d5f0: .space 0x4 .global data_ov18_0216d5f4 data_ov18_0216d5f4: .space 0x4 .global data_ov18_0216d5f8 data_ov18_0216d5f8: .space 0x4 .global data_ov18_0216d5fc data_ov18_0216d5fc: .space 0x4 .global data_ov18_0216d600 data_ov18_0216d600: .space 0x4 .global data_ov18_0216d604 data_ov18_0216d604: .space 0x4 .global data_ov18_0216d608 data_ov18_0216d608: .space 0x4 .global data_ov18_0216d60c data_ov18_0216d60c: .space 0x4 .global data_ov18_0216d610 data_ov18_0216d610: .space 0x4 .global data_ov18_0216d614 data_ov18_0216d614: .space 0x4 .global data_ov18_0216d618 data_ov18_0216d618: .space 0x4 .global data_ov18_0216d61c data_ov18_0216d61c: .space 0x4 .global data_ov18_0216d620 data_ov18_0216d620: .space 0x4 .global data_ov18_0216d624 data_ov18_0216d624: .space 0x2 .global data_ov18_0216d626 data_ov18_0216d626: .space 0x2 .global data_ov18_0216d628 data_ov18_0216d628: .space 0x2 .global data_ov18_0216d62a data_ov18_0216d62a: .space 0x2 .global data_ov18_0216d62c data_ov18_0216d62c: .space 0x4 .global data_ov18_0216d630 data_ov18_0216d630: .space 0x4 .global data_ov18_0216d634 data_ov18_0216d634: .space 0x4 .global data_ov18_0216d638 data_ov18_0216d638: .space 0x4 .global data_ov18_0216d63c data_ov18_0216d63c: .space 0x4 .global data_ov18_0216d640 data_ov18_0216d640: .space 0x4 .global data_ov18_0216d644 data_ov18_0216d644: .space 0x4 .global data_ov18_0216d648 data_ov18_0216d648: .space 0x4 .global data_ov18_0216d64c data_ov18_0216d64c: .space 0x4 .global data_ov18_0216d650 data_ov18_0216d650: .space 0x4 .global data_ov18_0216d654 data_ov18_0216d654: .space 0x4 .global data_ov18_0216d658 data_ov18_0216d658: .space 0x4 .global data_ov18_0216d65c data_ov18_0216d65c: .space 0x4 .global data_ov18_0216d660 data_ov18_0216d660: .space 0x4 .global data_ov18_0216d664 data_ov18_0216d664: .space 0x4 .global data_ov18_0216d668 data_ov18_0216d668: .space 0x4 .global data_ov18_0216d66c data_ov18_0216d66c: .space 0x4 .global data_ov18_0216d670 data_ov18_0216d670: .space 0x4 .global data_ov18_0216d674 data_ov18_0216d674: .space 0x4 .global data_ov18_0216d678 data_ov18_0216d678: .space 0x4 .global data_ov18_0216d67c data_ov18_0216d67c: .space 0x4 .global data_ov18_0216d680 data_ov18_0216d680: .space 0x4 .global data_ov18_0216d684 data_ov18_0216d684: .space 0x4 .global data_ov18_0216d688 data_ov18_0216d688: .space 0x4 .global data_ov18_0216d68c data_ov18_0216d68c: .space 0x4 .global data_ov18_0216d690 data_ov18_0216d690: .space 0x4 .global data_ov18_0216d694 data_ov18_0216d694: .space 0x4 .global data_ov18_0216d698 data_ov18_0216d698: .space 0x4 .global data_ov18_0216d69c data_ov18_0216d69c: .space 0x4