.include "macros/function.inc" .include "ov18.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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 Approach_thunk 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p ldr r0, _0215d04c ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList 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 _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p ldr r0, _0215d0a8 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN5ActorC2Ev 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 _ZN5ActorD2Ev 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 _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv 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 _ZN5Actor18func_ov00_020c313cEj 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 _ZN5Actor18func_ov00_020c313cEj 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 Divide 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 Divide 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 _ZN5Actor18func_Ov00_020c1bfcEi 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv _0215fdd4: ldr r5, [r4, #0x4c] cmp r5, #0 beq _0215fdf0 mov r0, r5 blx func_ov26_02175fb4 mov r0, r5 bl _ZN9SysObjectdlEPv _0215fdf0: ldr r5, [r4, #0x3c] cmp r5, #0 beq _0215fe0c mov r0, r5 bl func_ov33_0217d884 mov r0, r5 bl _ZN9SysObjectdlEPv _0215fe0c: ldr r5, [r4, #0x40] cmp r5, #0 beq _0215fe28 mov r0, r5 bl func_ov45_0218b3c8 mov r0, r5 bl _ZN9SysObjectdlEPv _0215fe28: ldr r5, [r4, #0x44] cmp r5, #0 beq _0215fe44 mov r0, r5 bl func_ov31_0217bf70 mov r0, r5 bl _ZN9SysObjectdlEPv _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 _ZN9SysObjectdlEPv _0215fe70: mov r0, r4 blx func_ov14_02143d10 mov r0, r4 bl _ZN9SysObjectdlEPv 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 _ZN9SysObjectdlEPv _0215febc: ldr r5, [r4, #0x4c] cmp r5, #0 beq _0215fed8 mov r0, r5 blx func_ov26_02175fb4 mov r0, r5 bl _ZN9SysObjectdlEPv _0215fed8: ldr r5, [r4, #0x3c] cmp r5, #0 beq _0215fef4 mov r0, r5 bl func_ov33_0217d884 mov r0, r5 bl _ZN9SysObjectdlEPv _0215fef4: ldr r5, [r4, #0x40] cmp r5, #0 beq _0215ff10 mov r0, r5 bl func_ov45_0218b3c8 mov r0, r5 bl _ZN9SysObjectdlEPv _0215ff10: ldr r5, [r4, #0x44] cmp r5, #0 beq _0215ff2c mov r0, r5 bl func_ov31_0217bf70 mov r0, r5 bl _ZN9SysObjectdlEPv _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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 data_ov00_020ec9d6 .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 data_ov00_020ec9d6 _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 _ZN12ActorManager13FindActorByIdEj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 data_ov00_020ec9d6 .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 data_ov00_020ec9d6 _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 _ZN12ActorManager13FindActorByIdEj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN12ActorManager13FindActorByIdEj 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 Approach_thunk 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN5Actor18func_ov00_020c243cEiPi cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 mov r1, #0x1a bl _ZN5Actor18func_ov00_020c1fc8Ej 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 ; =Approach_thunk 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 Approach_thunk .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 _ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p _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 Approach_thunk 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 ; =_ZN5Actor16CollidesWithLinkEv bx ip .align 2, 0 arm_func_end func_ov18_02165de4 _02165dec: .word _ZN5Actor16CollidesWithLinkEv .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 Divide mov r1, r0 mov r0, r7 bl Divide mov r5, r0 mov r1, r8 b _02166adc _02166abc: mov r0, r7 mov r1, r8 bl Divide mov r1, r0 mov r0, r6 bl Divide mov r1, r0 mov r5, r8 _02166adc: add r0, r4, #0x114 add r0, r0, #0x400 mov r2, #0xcd bl Approach_thunk mov r1, r5 add r0, r4, #0x510 mov r2, #0xcd bl Approach_thunk 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 _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x2000 ldmgeia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv 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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN5Actor10SetUnk_11cEc 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 Divide mov r1, r0 mov r0, r8 bl Divide mov r7, r0 b _02167258 _02167240: mov r0, r8 bl Divide mov r1, r0 mov r0, r4 bl Divide mov r5, r0 _02167258: ldr r1, [sp, #0x60] mov r4, #0 mov r2, r5 add r0, r6, #0x48 mov r5, r4 bl Approach_thunk cmp r0, #0 ldr r1, [sp, #0x68] mov r2, r7 add r0, r6, #0x50 movne r4, #1 bl Approach_thunk 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 Approach_thunk b _021672bc _021672b4: mov r1, #0 bl Approach_thunk _021672bc: ldr r0, [r6, #0x18] ldr r2, [r6, #0x470] add r1, r0, #0x33 add r0, r6, #0x4c add r1, r1, #0x1300 bl Approach_thunk 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 _ZN5Actor14GetAngleToLinkEv 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 _ZN5Actor10GetAngleToEP5Vec3p 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 Approach_thunk b _021679b8 _021679b0: mov r1, #0 bl Approach_thunk _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 Approach_thunk b _02167a68 _02167a5c: ldr r1, _02167dec ; =0xfffffee1 add r0, r4, #0x470 bl Approach_thunk _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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN5Actor10SetUnk_11cEc 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 _ZN5Actor10SetUnk_11cEc 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 _ZN12ActorManager8GetActorEP8ActorRef 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv 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 _ZN12ActorManager13FindActorByIdEj 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 _ZN9SysObjectnwEmPjj 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 _ZN5ActorC2Ev 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 _ZN5ActorD2Ev 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 _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv 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 _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 bl _ZN5Actor18func_ov00_020c1cf8Ev 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv _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 Divide 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 Divide 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 _ZN9SysObjectnwEmPjj 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 _ZN5ActorC2Ev 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 _ZN5ActorD2Ev 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 _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv 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 _ZN5Actor18func_ov00_020c313cEj 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 _ZN9SysObjectdlEPv 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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectnwEmPjj 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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectdlEPv _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 _ZN9SysObjectnwEmPjj 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 .rodata .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 .word data_ov18_0216d3f8 .global data_ov18_0216b684 data_ov18_0216b684: ; 0x0216b684 .byte 0x44, 0x00, 0x00, 0x00 .global data_ov18_0216b688 data_ov18_0216b688: ; 0x0216b688 .word data_ov18_0216d3d8 .global data_ov18_0216b68c data_ov18_0216b68c: ; 0x0216b68c .byte 0x47, 0x00, 0x00, 0x00 .global data_ov18_0216b690 data_ov18_0216b690: ; 0x0216b690 .word data_ov18_0216d3e0 .global data_ov18_0216b694 data_ov18_0216b694: ; 0x0216b694 .word data_ov18_0216d3f0 .word data_ov18_0216b68c .byte 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .word data_ov18_0216b664 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b6b4 data_ov18_0216b6b4: ; 0x0216b6b4 .word data_ov18_0216d3e8 .word data_ov18_0216b684 .byte 0x01, 0x00, 0x00, 0x00 .byte 0x43, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word data_ov18_0216b64c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov18_0216b6d4 data_ov18_0216b6d4: ; 0x0216b6d4 .word data_ov18_0216d404 .word data_ov18_0216b67c .byte 0x01, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .word data_ov18_0216b650 .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 .section .init, 4, 1, 4 .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 Divide 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 .section .ctor, 4, 1, 4 .global data_ov18_0216c04c data_ov18_0216c04c: ; 0x0216c04c .word func_ov18_0216b780 .global data_ov18_0216c050 data_ov18_0216c050: ; 0x0216c050 .word func_ov18_0216b8b0 .global data_ov18_0216c054 data_ov18_0216c054: ; 0x0216c054 .word func_ov18_0216bb54 .global data_ov18_0216c058 data_ov18_0216c058: ; 0x0216c058 .word func_ov18_0216bb8c .global data_ov18_0216c05c data_ov18_0216c05c: ; 0x0216c05c .word func_ov18_0216bbc4 .global data_ov18_0216c060 data_ov18_0216c060: ; 0x0216c060 .word func_ov18_0216bbfc .global data_ov18_0216c064 data_ov18_0216c064: ; 0x0216c064 .word func_ov18_0216bc34 .global data_ov18_0216c068 data_ov18_0216c068: ; 0x0216c068 .word func_ov18_0216bc6c .global data_ov18_0216c06c data_ov18_0216c06c: ; 0x0216c06c .word func_ov18_0216bca4 .global data_ov18_0216c070 data_ov18_0216c070: ; 0x0216c070 .word func_ov18_0216bcdc .global data_ov18_0216c074 data_ov18_0216c074: ; 0x0216c074 .word func_ov18_0216bd14 .global data_ov18_0216c078 data_ov18_0216c078: ; 0x0216c078 .word func_ov18_0216bd4c .global data_ov18_0216c07c data_ov18_0216c07c: ; 0x0216c07c .word func_ov18_0216bd84 .global data_ov18_0216c080 data_ov18_0216c080: ; 0x0216c080 .word func_ov18_0216bdbc .global data_ov18_0216c084 data_ov18_0216c084: ; 0x0216c084 .word func_ov18_0216bdf4 .global data_ov18_0216c088 data_ov18_0216c088: ; 0x0216c088 .word func_ov18_0216be2c .global data_ov18_0216c08c data_ov18_0216c08c: ; 0x0216c08c .word func_ov18_0216be64 .global data_ov18_0216c090 data_ov18_0216c090: ; 0x0216c090 .word func_ov18_0216be9c .global data_ov18_0216c094 data_ov18_0216c094: ; 0x0216c094 .word func_ov18_0216bed4 .global data_ov18_0216c098 data_ov18_0216c098: ; 0x0216c098 .word func_ov18_0216bf14 .global data_ov18_0216c09c data_ov18_0216c09c: ; 0x0216c09c .word func_ov18_0216bf54 .global data_ov18_0216c0a0 data_ov18_0216c0a0: ; 0x0216c0a0 .word func_ov18_0216bf8c .global data_ov18_0216c0a4 data_ov18_0216c0a4: ; 0x0216c0a4 .word func_ov18_0216c00c .data .global data_ov18_0216c0c0 data_ov18_0216c0c0: ; 0x0216c0c0 .word data_ov18_0216c1d0 .global data_ov18_0216c0c4 data_ov18_0216c0c4: ; 0x0216c0c4 .word data_ov18_0216c1a4 .global data_ov18_0216c0c8 data_ov18_0216c0c8: ; 0x0216c0c8 .word data_ov18_0216c1a8 .global data_ov18_0216c0cc data_ov18_0216c0cc: ; 0x0216c0cc .word data_ov18_0216c204 .global data_ov18_0216c0d0 data_ov18_0216c0d0: ; 0x0216c0d0 .word data_ov18_0216c1bc .global data_ov18_0216c0d4 data_ov18_0216c0d4: ; 0x0216c0d4 .word data_ov18_0216c1e4 .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 .word func_ov18_0215b64c .global data_ov18_0216c0e4 data_ov18_0216c0e4: ; 0x0216c0e4 .word func_ov18_0215b758 .global data_ov18_0216c0e8 data_ov18_0216c0e8: ; 0x0216c0e8 .word func_ov18_0215b86c .global data_ov18_0216c0ec data_ov18_0216c0ec: ; 0x0216c0ec .word func_ov04_0210c3fc ; data_ov07_0210c3fc .global data_ov18_0216c0f0 data_ov18_0216c0f0: ; 0x0216c0f0 .word func_ov04_0210c52c ; data_ov07_0210c52c .global data_ov18_0216c0f4 data_ov18_0216c0f4: ; 0x0216c0f4 .word func_ov18_0215bd84 .global data_ov18_0216c0f8 data_ov18_0216c0f8: ; 0x0216c0f8 .word func_ov00_0207ddf4 .global data_ov18_0216c0fc data_ov18_0216c0fc: ; 0x0216c0fc .word func_ov18_0215beb8 .global data_ov18_0216c100 data_ov18_0216c100: ; 0x0216c100 .word func_ov18_0215c144 .global data_ov18_0216c104 data_ov18_0216c104: ; 0x0216c104 .word func_ov05_02111c6c .global data_ov18_0216c108 data_ov18_0216c108: ; 0x0216c108 .word func_ov05_02111c70 .global data_ov18_0216c10c data_ov18_0216c10c: ; 0x0216c10c .word func_ov18_0215c1c8 .global data_ov18_0216c110 data_ov18_0216c110: ; 0x0216c110 .word func_ov04_0210c764 ; data_ov07_0210c764 .global data_ov18_0216c114 data_ov18_0216c114: ; 0x0216c114 .word func_ov04_0210c800 ; data_ov07_0210c800 .global data_ov18_0216c118 data_ov18_0216c118: ; 0x0216c118 .word func_ov04_0210c88c ; data_ov07_0210c88c .global data_ov18_0216c11c data_ov18_0216c11c: ; 0x0216c11c .word func_ov04_0210c8d4 ; data_ov07_0210c8d4 .global data_ov18_0216c120 data_ov18_0216c120: ; 0x0216c120 .word func_ov04_0210ca84 ; data_ov07_0210ca84 .global data_ov18_0216c124 data_ov18_0216c124: ; 0x0216c124 .word func_ov04_0210cb00 ; data_ov07_0210cb00 .global data_ov18_0216c128 data_ov18_0216c128: ; 0x0216c128 .word func_ov00_0207e46c .global data_ov18_0216c12c data_ov18_0216c12c: ; 0x0216c12c .word func_ov18_0215caa4 .global data_ov18_0216c130 data_ov18_0216c130: ; 0x0216c130 .word func_ov00_0207e488 .global data_ov18_0216c134 data_ov18_0216c134: ; 0x0216c134 .word func_ov18_0215c290 .global data_ov18_0216c138 data_ov18_0216c138: ; 0x0216c138 .word func_ov18_0215c2b0 .global data_ov18_0216c13c data_ov18_0216c13c: ; 0x0216c13c .word func_ov18_0215c2e0 .global data_ov18_0216c140 data_ov18_0216c140: ; 0x0216c140 .word func_ov18_0215c300 .global data_ov18_0216c144 data_ov18_0216c144: ; 0x0216c144 .word func_ov18_0215c32c .global data_ov18_0216c148 data_ov18_0216c148: ; 0x0216c148 .word func_ov00_0207e4b8 .global data_ov18_0216c14c data_ov18_0216c14c: ; 0x0216c14c .word func_ov00_0207e970 .global data_ov18_0216c150 data_ov18_0216c150: ; 0x0216c150 .word func_ov00_0207ee14 .global data_ov18_0216c154 data_ov18_0216c154: ; 0x0216c154 .word func_ov00_0207eff4 .global data_ov18_0216c158 data_ov18_0216c158: ; 0x0216c158 .word func_ov18_0215c448 .global data_ov18_0216c15c data_ov18_0216c15c: ; 0x0216c15c .word func_ov18_0215c460 .global data_ov18_0216c160 data_ov18_0216c160: ; 0x0216c160 .word func_ov18_0215c5c4 .global data_ov18_0216c164 data_ov18_0216c164: ; 0x0216c164 .word func_ov00_0207f364 .global data_ov18_0216c168 data_ov18_0216c168: ; 0x0216c168 .word func_ov00_0207f324 .global data_ov18_0216c16c data_ov18_0216c16c: ; 0x0216c16c .word func_ov00_0207f32c .global data_ov18_0216c170 data_ov18_0216c170: ; 0x0216c170 .word func_ov00_0207f3c4 .global data_ov18_0216c174 data_ov18_0216c174: ; 0x0216c174 .word func_ov18_0215c27c .global data_ov18_0216c178 data_ov18_0216c178: ; 0x0216c178 .word func_ov18_0215c3c0 .global data_ov18_0216c17c data_ov18_0216c17c: ; 0x0216c17c .word func_ov00_0207f334 .global data_ov18_0216c180 data_ov18_0216c180: ; 0x0216c180 .word func_ov00_0207f338 .global data_ov18_0216c184 data_ov18_0216c184: ; 0x0216c184 .word func_ov18_0215c284 .global data_ov18_0216c188 data_ov18_0216c188: ; 0x0216c188 .word func_ov00_0207f344 .global data_ov18_0216c18c data_ov18_0216c18c: ; 0x0216c18c .word func_ov00_0207f348 .global data_ov18_0216c190 data_ov18_0216c190: ; 0x0216c190 .word func_ov18_0215c608 .global data_ov18_0216c194 data_ov18_0216c194: ; 0x0216c194 .word func_ov00_0207e444 .global data_ov18_0216c198 data_ov18_0216c198: ; 0x0216c198 .word func_ov00_020807d4 .global data_ov18_0216c19c data_ov18_0216c19c: ; 0x0216c19c .word func_ov18_0215c3a0 .global data_ov18_0216c1a0 data_ov18_0216c1a0: ; 0x0216c1a0 .word func_ov18_0215c428 .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 .word func_ov18_0215cd10 .global data_ov18_0216c230 data_ov18_0216c230: ; 0x0216c230 .word func_ov18_0215cd9c .global data_ov18_0216c234 data_ov18_0216c234: ; 0x0216c234 .word func_ov18_0215cdb4 .global data_ov18_0216c238 data_ov18_0216c238: ; 0x0216c238 .word func_ov18_0215ce44 .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 .word data_ov18_0216c258 .global data_ov18_0216c260 data_ov18_0216c260: ; 0x0216c260 .word data_ov18_0216c254 .global data_ov18_0216c264 data_ov18_0216c264: ; 0x0216c264 .word data_ov18_0216c250 .global data_ov18_0216c268 data_ov18_0216c268: ; 0x0216c268 .word data_ov18_0216c24c .global data_ov18_0216c26c data_ov18_0216c26c: ; 0x0216c26c .word data_ov18_0216c248 .global data_ov18_0216c270 data_ov18_0216c270: ; 0x0216c270 .word data_ov18_0216c244 .global data_ov18_0216c274 data_ov18_0216c274: ; 0x0216c274 .word data_ov18_0216c240 .global data_ov18_0216c278 data_ov18_0216c278: ; 0x0216c278 .word data_ov18_0216c23c .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 .word func_ov18_0215cf90 .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 .word func_ov18_0215d1ec .global data_ov18_0216c2c8 data_ov18_0216c2c8: ; 0x0216c2c8 .word func_ov18_0215d238 .global data_ov18_0216c2cc data_ov18_0216c2cc: ; 0x0216c2cc .word func_ov18_0215d28c .global data_ov18_0216c2d0 data_ov18_0216c2d0: ; 0x0216c2d0 .word _ZN5Actor8vfunc_0cEv .global data_ov18_0216c2d4 data_ov18_0216c2d4: ; 0x0216c2d4 .word _ZN5Actor8vfunc_10Ej .global data_ov18_0216c2d8 data_ov18_0216c2d8: ; 0x0216c2d8 .word func_ov18_0215d584 .global data_ov18_0216c2dc data_ov18_0216c2dc: ; 0x0216c2dc .word func_ov18_0215d6ac .global data_ov18_0216c2e0 data_ov18_0216c2e0: ; 0x0216c2e0 .word func_ov18_0215df98 .global data_ov18_0216c2e4 data_ov18_0216c2e4: ; 0x0216c2e4 .word func_ov18_0215e0a4 .global data_ov18_0216c2e8 data_ov18_0216c2e8: ; 0x0216c2e8 .word _ZN5Actor8vfunc_24Ev .global data_ov18_0216c2ec data_ov18_0216c2ec: ; 0x0216c2ec .word _ZN5Actor8vfunc_28Ev .global data_ov18_0216c2f0 data_ov18_0216c2f0: ; 0x0216c2f0 .word _ZN5Actor8vfunc_2cEv .global data_ov18_0216c2f4 data_ov18_0216c2f4: ; 0x0216c2f4 .word _ZN5Actor8vfunc_30Ev .global data_ov18_0216c2f8 data_ov18_0216c2f8: ; 0x0216c2f8 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov18_0216c2fc data_ov18_0216c2fc: ; 0x0216c2fc .word _ZN5Actor8vfunc_38Ev .global data_ov18_0216c300 data_ov18_0216c300: ; 0x0216c300 .word _ZN5Actor16CollidesWithLinkEv .global data_ov18_0216c304 data_ov18_0216c304: ; 0x0216c304 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov18_0216c308 data_ov18_0216c308: ; 0x0216c308 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov18_0216c30c data_ov18_0216c30c: ; 0x0216c30c .word _ZN5Actor8vfunc_48Ei .global data_ov18_0216c310 data_ov18_0216c310: ; 0x0216c310 .word _ZN5Actor8vfunc_4cEPi .global data_ov18_0216c314 data_ov18_0216c314: ; 0x0216c314 .word _ZN5Actor6GetPosEv .global data_ov18_0216c318 data_ov18_0216c318: ; 0x0216c318 .word _ZN5Actor8vfunc_54Ev .global data_ov18_0216c31c data_ov18_0216c31c: ; 0x0216c31c .word _ZN5Actor10SetUnk_11bEv .global data_ov18_0216c320 data_ov18_0216c320: ; 0x0216c320 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov18_0216c324 data_ov18_0216c324: ; 0x0216c324 .word _ZN5Actor8vfunc_60Ev .global data_ov18_0216c328 data_ov18_0216c328: ; 0x0216c328 .word _ZN5Actor8vfunc_64Ev .global data_ov18_0216c32c data_ov18_0216c32c: ; 0x0216c32c .word _ZN5Actor8vfunc_68Ev .global data_ov18_0216c330 data_ov18_0216c330: ; 0x0216c330 .word _ZN5Actor8vfunc_6cEv .global data_ov18_0216c334 data_ov18_0216c334: ; 0x0216c334 .word _ZN5Actor8vfunc_70Ev .global data_ov18_0216c338 data_ov18_0216c338: ; 0x0216c338 .word _ZN5Actor8vfunc_74Ev .global data_ov18_0216c33c data_ov18_0216c33c: ; 0x0216c33c .word _ZN5Actor8vfunc_78Ev .global data_ov18_0216c340 data_ov18_0216c340: ; 0x0216c340 .word _ZN5Actor8vfunc_7cEv .global data_ov18_0216c344 data_ov18_0216c344: ; 0x0216c344 .word _ZN5Actor8vfunc_80Ev .global data_ov18_0216c348 data_ov18_0216c348: ; 0x0216c348 .word _ZN5Actor8vfunc_84Ev .global data_ov18_0216c34c data_ov18_0216c34c: ; 0x0216c34c .word _ZN5Actor8vfunc_88Ev .global data_ov18_0216c350 data_ov18_0216c350: ; 0x0216c350 .word _ZN5Actor8vfunc_8cEv .global data_ov18_0216c354 data_ov18_0216c354: ; 0x0216c354 .word _ZN5Actor8vfunc_90Ev .global data_ov18_0216c358 data_ov18_0216c358: ; 0x0216c358 .word _ZN5Actor8vfunc_94Ev .global data_ov18_0216c35c data_ov18_0216c35c: ; 0x0216c35c .word _ZN5Actor8vfunc_98Ev .global data_ov18_0216c360 data_ov18_0216c360: ; 0x0216c360 .word _ZN5Actor8vfunc_9cEv .global data_ov18_0216c364 data_ov18_0216c364: ; 0x0216c364 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov18_0216c368 data_ov18_0216c368: ; 0x0216c368 .word _ZN5Actor12SetTransformEP9Transform .global data_ov18_0216c36c data_ov18_0216c36c: ; 0x0216c36c .word _ZN5Actor8vfunc_a8Ev .global data_ov18_0216c370 data_ov18_0216c370: ; 0x0216c370 .word _ZN5Actor8vfunc_acEv .global data_ov18_0216c374 data_ov18_0216c374: ; 0x0216c374 .word _ZN5Actor8vfunc_b0Ev .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 .word func_ov18_0215d1e8 .global data_ov18_0216c384 data_ov18_0216c384: ; 0x0216c384 .word func_ov18_0215e4c8 .global data_ov18_0216c388 data_ov18_0216c388: ; 0x0216c388 .word func_ov18_0215cfac .global data_ov18_0216c38c data_ov18_0216c38c: ; 0x0216c38c .word func_ov18_0215d060 .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 .word func_ov18_0215e4a8 .global data_ov18_0216c39c data_ov18_0216c39c: ; 0x0216c39c .word func_ov18_0215e4b4 .global data_ov18_0216c3a0 data_ov18_0216c3a0: ; 0x0216c3a0 .word func_ov18_0215e4ac .global data_ov18_0216c3a4 data_ov18_0216c3a4: ; 0x0216c3a4 .word func_ov18_0215e4b0 .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 .word func_ov18_0215e58c .global data_ov18_0216c400 data_ov18_0216c400: ; 0x0216c400 .word func_ov18_0215e5d4 .global data_ov18_0216c404 data_ov18_0216c404: ; 0x0216c404 .word func_ov18_0215e624 .global data_ov18_0216c408 data_ov18_0216c408: ; 0x0216c408 .word func_ov18_0215ee90 .global data_ov18_0216c40c data_ov18_0216c40c: ; 0x0216c40c .word func_ov00_0208b694 .global data_ov18_0216c410 data_ov18_0216c410: ; 0x0216c410 .word func_ov00_0208b698 .global data_ov18_0216c414 data_ov18_0216c414: ; 0x0216c414 .word func_ov00_0208b6b8 .global data_ov18_0216c418 data_ov18_0216c418: ; 0x0216c418 .word func_ov18_0215ef60 .global data_ov18_0216c41c data_ov18_0216c41c: ; 0x0216c41c .word func_ov00_0208b6bc .global data_ov18_0216c420 data_ov18_0216c420: ; 0x0216c420 .word func_ov00_0208b6c4 .global data_ov18_0216c424 data_ov18_0216c424: ; 0x0216c424 .word func_ov00_0208b6c8 .global data_ov18_0216c428 data_ov18_0216c428: ; 0x0216c428 .word func_ov00_0208b6d0 .global data_ov18_0216c42c data_ov18_0216c42c: ; 0x0216c42c .word func_ov00_0208b6d8 .global data_ov18_0216c430 data_ov18_0216c430: ; 0x0216c430 .word func_ov00_0208b6e0 .global data_ov18_0216c434 data_ov18_0216c434: ; 0x0216c434 .word func_ov00_0208b6e8 .global data_ov18_0216c438 data_ov18_0216c438: ; 0x0216c438 .word func_ov00_0208b6f0 .global data_ov18_0216c43c data_ov18_0216c43c: ; 0x0216c43c .word func_ov00_0208b6f8 .global data_ov18_0216c440 data_ov18_0216c440: ; 0x0216c440 .word func_ov00_0208b700 .global data_ov18_0216c444 data_ov18_0216c444: ; 0x0216c444 .word func_ov00_0208b704 .global data_ov18_0216c448 data_ov18_0216c448: ; 0x0216c448 .word func_ov00_0208b70c .global data_ov18_0216c44c data_ov18_0216c44c: ; 0x0216c44c .word func_ov00_0208b710 .global data_ov18_0216c450 data_ov18_0216c450: ; 0x0216c450 .word func_ov00_0208b714 .global data_ov18_0216c454 data_ov18_0216c454: ; 0x0216c454 .word func_ov18_0215ef70 .global data_ov18_0216c458 data_ov18_0216c458: ; 0x0216c458 .word func_ov00_0208b844 .global data_ov18_0216c45c data_ov18_0216c45c: ; 0x0216c45c .word func_ov00_0208b870 .global data_ov18_0216c460 data_ov18_0216c460: ; 0x0216c460 .word func_ov00_0208b89c .global data_ov18_0216c464 data_ov18_0216c464: ; 0x0216c464 .word func_ov00_0208ba30 .global data_ov18_0216c468 data_ov18_0216c468: ; 0x0216c468 .word func_ov00_0208ba38 .global data_ov18_0216c46c data_ov18_0216c46c: ; 0x0216c46c .word func_ov00_0208ba40 .global data_ov18_0216c470 data_ov18_0216c470: ; 0x0216c470 .word func_ov18_0215ef68 .global data_ov18_0216c474 data_ov18_0216c474: ; 0x0216c474 .word func_ov00_0208ba50 .global data_ov18_0216c478 data_ov18_0216c478: ; 0x0216c478 .word func_ov18_0215ef78 .global data_ov18_0216c47c data_ov18_0216c47c: ; 0x0216c47c .word func_ov18_0215ef2c .global data_ov18_0216c480 data_ov18_0216c480: ; 0x0216c480 .word func_ov00_0208c38c .global data_ov18_0216c484 data_ov18_0216c484: ; 0x0216c484 .word func_ov18_0215f020 .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 .word func_ov18_0215f22c .global data_ov18_0216c4a4 data_ov18_0216c4a4: ; 0x0216c4a4 .word func_ov18_0215f24c .global data_ov18_0216c4a8 data_ov18_0216c4a8: ; 0x0216c4a8 .word func_ov18_0215f274 .global data_ov18_0216c4ac data_ov18_0216c4ac: ; 0x0216c4ac .word func_ov18_0215f388 .global data_ov18_0216c4b0 data_ov18_0216c4b0: ; 0x0216c4b0 .word func_ov00_0208b694 .global data_ov18_0216c4b4 data_ov18_0216c4b4: ; 0x0216c4b4 .word func_ov00_0208b698 .global data_ov18_0216c4b8 data_ov18_0216c4b8: ; 0x0216c4b8 .word func_ov00_0208b6b8 .global data_ov18_0216c4bc data_ov18_0216c4bc: ; 0x0216c4bc .word func_ov18_0215f46c .global data_ov18_0216c4c0 data_ov18_0216c4c0: ; 0x0216c4c0 .word func_ov00_0208b6bc .global data_ov18_0216c4c4 data_ov18_0216c4c4: ; 0x0216c4c4 .word func_ov00_0208b6c4 .global data_ov18_0216c4c8 data_ov18_0216c4c8: ; 0x0216c4c8 .word func_ov00_0208b6c8 .global data_ov18_0216c4cc data_ov18_0216c4cc: ; 0x0216c4cc .word func_ov00_0208b6d0 .global data_ov18_0216c4d0 data_ov18_0216c4d0: ; 0x0216c4d0 .word func_ov18_0215f430 .global data_ov18_0216c4d4 data_ov18_0216c4d4: ; 0x0216c4d4 .word func_ov00_0208b6e0 .global data_ov18_0216c4d8 data_ov18_0216c4d8: ; 0x0216c4d8 .word func_ov00_0208b6e8 .global data_ov18_0216c4dc data_ov18_0216c4dc: ; 0x0216c4dc .word func_ov00_0208b6f0 .global data_ov18_0216c4e0 data_ov18_0216c4e0: ; 0x0216c4e0 .word func_ov00_0208b6f8 .global data_ov18_0216c4e4 data_ov18_0216c4e4: ; 0x0216c4e4 .word func_ov00_0208b700 .global data_ov18_0216c4e8 data_ov18_0216c4e8: ; 0x0216c4e8 .word func_ov00_0208b704 .global data_ov18_0216c4ec data_ov18_0216c4ec: ; 0x0216c4ec .word func_ov00_0208b70c .global data_ov18_0216c4f0 data_ov18_0216c4f0: ; 0x0216c4f0 .word func_ov00_0208b710 .global data_ov18_0216c4f4 data_ov18_0216c4f4: ; 0x0216c4f4 .word func_ov00_0208ca00 .global data_ov18_0216c4f8 data_ov18_0216c4f8: ; 0x0216c4f8 .word func_ov00_0208b71c .global data_ov18_0216c4fc data_ov18_0216c4fc: ; 0x0216c4fc .word func_ov00_0208b844 .global data_ov18_0216c500 data_ov18_0216c500: ; 0x0216c500 .word func_ov00_0208b870 .global data_ov18_0216c504 data_ov18_0216c504: ; 0x0216c504 .word func_ov00_0208b89c .global data_ov18_0216c508 data_ov18_0216c508: ; 0x0216c508 .word func_ov00_0208ba30 .global data_ov18_0216c50c data_ov18_0216c50c: ; 0x0216c50c .word func_ov00_0208ba38 .global data_ov18_0216c510 data_ov18_0216c510: ; 0x0216c510 .word func_ov00_0208ba40 .global data_ov18_0216c514 data_ov18_0216c514: ; 0x0216c514 .word func_ov00_0208ba48 .global data_ov18_0216c518 data_ov18_0216c518: ; 0x0216c518 .word func_ov18_0215f428 .global data_ov18_0216c51c data_ov18_0216c51c: ; 0x0216c51c .word func_ov18_0215f468 .global data_ov18_0216c520 data_ov18_0216c520: ; 0x0216c520 .word func_ov18_0215f400 .global data_ov18_0216c524 data_ov18_0216c524: ; 0x0216c524 .word func_ov00_0208c38c .global data_ov18_0216c528 data_ov18_0216c528: ; 0x0216c528 .word func_ov00_0208c39c .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 .word func_ov18_0215f54c .global data_ov18_0216c538 data_ov18_0216c538: ; 0x0216c538 .word func_ov18_0215f59c .global data_ov18_0216c53c data_ov18_0216c53c: ; 0x0216c53c .word func_ov18_0215f5fc .global data_ov18_0216c540 data_ov18_0216c540: ; 0x0216c540 .word func_ov18_0215f904 .global data_ov18_0216c544 data_ov18_0216c544: ; 0x0216c544 .word func_ov00_0208b694 .global data_ov18_0216c548 data_ov18_0216c548: ; 0x0216c548 .word func_ov00_0208b698 .global data_ov18_0216c54c data_ov18_0216c54c: ; 0x0216c54c .word func_ov00_0208b6b8 .global data_ov18_0216c550 data_ov18_0216c550: ; 0x0216c550 .word func_ov18_0215f5f4 .global data_ov18_0216c554 data_ov18_0216c554: ; 0x0216c554 .word func_ov00_0208b6bc .global data_ov18_0216c558 data_ov18_0216c558: ; 0x0216c558 .word func_ov00_0208b6c4 .global data_ov18_0216c55c data_ov18_0216c55c: ; 0x0216c55c .word func_ov00_0208b6c8 .global data_ov18_0216c560 data_ov18_0216c560: ; 0x0216c560 .word func_ov00_0208b6d0 .global data_ov18_0216c564 data_ov18_0216c564: ; 0x0216c564 .word func_ov18_0215fa28 .global data_ov18_0216c568 data_ov18_0216c568: ; 0x0216c568 .word func_ov00_0208b6e0 .global data_ov18_0216c56c data_ov18_0216c56c: ; 0x0216c56c .word func_ov00_0208b6e8 .global data_ov18_0216c570 data_ov18_0216c570: ; 0x0216c570 .word func_ov00_0208b6f0 .global data_ov18_0216c574 data_ov18_0216c574: ; 0x0216c574 .word func_ov00_0208b6f8 .global data_ov18_0216c578 data_ov18_0216c578: ; 0x0216c578 .word func_ov00_0208b700 .global data_ov18_0216c57c data_ov18_0216c57c: ; 0x0216c57c .word func_ov00_0208b704 .global data_ov18_0216c580 data_ov18_0216c580: ; 0x0216c580 .word func_ov00_0208b70c .global data_ov18_0216c584 data_ov18_0216c584: ; 0x0216c584 .word func_ov00_0208b710 .global data_ov18_0216c588 data_ov18_0216c588: ; 0x0216c588 .word func_ov00_0208ca00 .global data_ov18_0216c58c data_ov18_0216c58c: ; 0x0216c58c .word func_ov00_0208b71c .global data_ov18_0216c590 data_ov18_0216c590: ; 0x0216c590 .word func_ov00_0208b844 .global data_ov18_0216c594 data_ov18_0216c594: ; 0x0216c594 .word func_ov00_0208b870 .global data_ov18_0216c598 data_ov18_0216c598: ; 0x0216c598 .word func_ov00_0208b89c .global data_ov18_0216c59c data_ov18_0216c59c: ; 0x0216c59c .word func_ov00_0208ba30 .global data_ov18_0216c5a0 data_ov18_0216c5a0: ; 0x0216c5a0 .word func_ov00_0208ba38 .global data_ov18_0216c5a4 data_ov18_0216c5a4: ; 0x0216c5a4 .word func_ov00_0208ba40 .global data_ov18_0216c5a8 data_ov18_0216c5a8: ; 0x0216c5a8 .word func_ov00_0208ba48 .global data_ov18_0216c5ac data_ov18_0216c5ac: ; 0x0216c5ac .word func_ov18_0215fa3c .global data_ov18_0216c5b0 data_ov18_0216c5b0: ; 0x0216c5b0 .word func_ov18_0215fa44 ; func_ov61_0215fa44 .global data_ov18_0216c5b4 data_ov18_0216c5b4: ; 0x0216c5b4 .word func_ov18_0215f990 .global data_ov18_0216c5b8 data_ov18_0216c5b8: ; 0x0216c5b8 .word func_ov00_0208c38c .global data_ov18_0216c5bc data_ov18_0216c5bc: ; 0x0216c5bc .word func_ov00_0208c39c .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 .word func_ov18_0215fb2c .global data_ov18_0216c5cc data_ov18_0216c5cc: ; 0x0216c5cc .word func_ov18_0215fb4c .global data_ov18_0216c5d0 data_ov18_0216c5d0: ; 0x0216c5d0 .word func_ov18_0215fb74 .global data_ov18_0216c5d4 data_ov18_0216c5d4: ; 0x0216c5d4 .word func_ov00_0208b690 .global data_ov18_0216c5d8 data_ov18_0216c5d8: ; 0x0216c5d8 .word func_ov00_0208b694 .global data_ov18_0216c5dc data_ov18_0216c5dc: ; 0x0216c5dc .word func_ov00_0208b698 .global data_ov18_0216c5e0 data_ov18_0216c5e0: ; 0x0216c5e0 .word func_ov00_0208b6b8 .global data_ov18_0216c5e4 data_ov18_0216c5e4: ; 0x0216c5e4 .word func_ov18_0215fcd8 .global data_ov18_0216c5e8 data_ov18_0216c5e8: ; 0x0216c5e8 .word func_ov00_0208b6bc .global data_ov18_0216c5ec data_ov18_0216c5ec: ; 0x0216c5ec .word func_ov00_0208b6c4 .global data_ov18_0216c5f0 data_ov18_0216c5f0: ; 0x0216c5f0 .word func_ov00_0208b6c8 .global data_ov18_0216c5f4 data_ov18_0216c5f4: ; 0x0216c5f4 .word func_ov00_0208b6d0 .global data_ov18_0216c5f8 data_ov18_0216c5f8: ; 0x0216c5f8 .word func_ov00_0208b6d8 .global data_ov18_0216c5fc data_ov18_0216c5fc: ; 0x0216c5fc .word func_ov00_0208b6e0 .global data_ov18_0216c600 data_ov18_0216c600: ; 0x0216c600 .word func_ov00_0208b6e8 .global data_ov18_0216c604 data_ov18_0216c604: ; 0x0216c604 .word func_ov00_0208b6f0 .global data_ov18_0216c608 data_ov18_0216c608: ; 0x0216c608 .word func_ov00_0208b6f8 .global data_ov18_0216c60c data_ov18_0216c60c: ; 0x0216c60c .word func_ov00_0208b700 .global data_ov18_0216c610 data_ov18_0216c610: ; 0x0216c610 .word func_ov00_0208b704 .global data_ov18_0216c614 data_ov18_0216c614: ; 0x0216c614 .word func_ov00_0208b70c .global data_ov18_0216c618 data_ov18_0216c618: ; 0x0216c618 .word func_ov00_0208b710 .global data_ov18_0216c61c data_ov18_0216c61c: ; 0x0216c61c .word func_ov00_0208ca00 .global data_ov18_0216c620 data_ov18_0216c620: ; 0x0216c620 .word func_ov00_0208b71c .global data_ov18_0216c624 data_ov18_0216c624: ; 0x0216c624 .word func_ov18_0215fcb8 .global data_ov18_0216c628 data_ov18_0216c628: ; 0x0216c628 .word func_ov18_0215fcc4 .global data_ov18_0216c62c data_ov18_0216c62c: ; 0x0216c62c .word func_ov00_0208b89c .global data_ov18_0216c630 data_ov18_0216c630: ; 0x0216c630 .word func_ov00_0208ba30 .global data_ov18_0216c634 data_ov18_0216c634: ; 0x0216c634 .word func_ov00_0208ba38 .global data_ov18_0216c638 data_ov18_0216c638: ; 0x0216c638 .word func_ov00_0208ba40 .global data_ov18_0216c63c data_ov18_0216c63c: ; 0x0216c63c .word func_ov00_0208ba48 .global data_ov18_0216c640 data_ov18_0216c640: ; 0x0216c640 .word func_ov00_0208ba50 .global data_ov18_0216c644 data_ov18_0216c644: ; 0x0216c644 .word func_ov18_0215fcb4 .global data_ov18_0216c648 data_ov18_0216c648: ; 0x0216c648 .word func_ov00_0208c384 .global data_ov18_0216c64c data_ov18_0216c64c: ; 0x0216c64c .word func_ov00_0208c38c .global data_ov18_0216c650 data_ov18_0216c650: ; 0x0216c650 .word func_ov00_0208c39c .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 .word data_ov18_0216c670 .global data_ov18_0216c678 data_ov18_0216c678: ; 0x0216c678 .word data_ov18_0216c66c .global data_ov18_0216c67c data_ov18_0216c67c: ; 0x0216c67c .word data_ov18_0216c668 .global data_ov18_0216c680 data_ov18_0216c680: ; 0x0216c680 .word data_ov18_0216c664 .global data_ov18_0216c684 data_ov18_0216c684: ; 0x0216c684 .word data_ov18_0216c660 .global data_ov18_0216c688 data_ov18_0216c688: ; 0x0216c688 .word data_ov18_0216c65c .global data_ov18_0216c68c data_ov18_0216c68c: ; 0x0216c68c .word data_ov18_0216c658 .global data_ov18_0216c690 data_ov18_0216c690: ; 0x0216c690 .word data_ov18_0216c654 .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 .word func_ov18_02160204 .global data_ov18_0216c6a0 data_ov18_0216c6a0: ; 0x0216c6a0 .word func_ov18_0215fe90 .global data_ov18_0216c6a4 data_ov18_0216c6a4: ; 0x0216c6a4 .word func_ov18_0215fda8 .global data_ov18_0216c6a8 data_ov18_0216c6a8: ; 0x0216c6a8 .word func_ov14_02143f04 .global data_ov18_0216c6ac data_ov18_0216c6ac: ; 0x0216c6ac .word func_ov14_02143ee8 .global data_ov18_0216c6b0 data_ov18_0216c6b0: ; 0x0216c6b0 .word func_ov04_0210f4ec .global data_ov18_0216c6b4 data_ov18_0216c6b4: ; 0x0216c6b4 .word func_ov18_0215ff70 .global data_ov18_0216c6b8 data_ov18_0216c6b8: ; 0x0216c6b8 .word func_ov18_02160144 .global data_ov18_0216c6bc data_ov18_0216c6bc: ; 0x0216c6bc .word func_ov09_0211af48 .global data_ov18_0216c6c0 data_ov18_0216c6c0: ; 0x0216c6c0 .word func_ov14_02144174 .global data_ov18_0216c6c4 data_ov18_0216c6c4: ; 0x0216c6c4 .word func_ov18_021602c0 .global data_ov18_0216c6c8 data_ov18_0216c6c8: ; 0x0216c6c8 .word func_ov18_02160310 .global data_ov18_0216c6cc data_ov18_0216c6cc: ; 0x0216c6cc .word func_ov18_02160350 .global data_ov18_0216c6d0 data_ov18_0216c6d0: ; 0x0216c6d0 .word func_ov18_02160388 .global data_ov18_0216c6d4 data_ov18_0216c6d4: ; 0x0216c6d4 .word func_ov14_02144514 .global data_ov18_0216c6d8 data_ov18_0216c6d8: ; 0x0216c6d8 .word func_ov18_021603bc .global data_ov18_0216c6dc data_ov18_0216c6dc: ; 0x0216c6dc .word func_ov18_02160404 .global data_ov18_0216c6e0 data_ov18_0216c6e0: ; 0x0216c6e0 .word func_ov09_0211b678 .global data_ov18_0216c6e4 data_ov18_0216c6e4: ; 0x0216c6e4 .word func_ov14_021446d4 .global data_ov18_0216c6e8 data_ov18_0216c6e8: ; 0x0216c6e8 .word func_ov09_0211cc98 .global data_ov18_0216c6ec data_ov18_0216c6ec: ; 0x0216c6ec .word func_ov00_020d384c .global data_ov18_0216c6f0 data_ov18_0216c6f0: ; 0x0216c6f0 .word func_ov14_02144738 .global data_ov18_0216c6f4 data_ov18_0216c6f4: ; 0x0216c6f4 .word func_ov14_02144700 .global data_ov18_0216c6f8 data_ov18_0216c6f8: ; 0x0216c6f8 .word func_ov14_02144078 .global data_ov18_0216c6fc data_ov18_0216c6fc: ; 0x0216c6fc .word func_ov14_0214414c .global data_ov18_0216c700 data_ov18_0216c700: ; 0x0216c700 .word func_ov14_021446c4 .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 .word func_ov18_02160614 .global data_ov18_0216c710 data_ov18_0216c710: ; 0x0216c710 .word func_ov18_02160634 .global data_ov18_0216c714 data_ov18_0216c714: ; 0x0216c714 .word func_ov18_0216065c .global data_ov18_0216c718 data_ov18_0216c718: ; 0x0216c718 .word func_ov18_02160820 .global data_ov18_0216c71c data_ov18_0216c71c: ; 0x0216c71c .word func_ov00_0208b694 .global data_ov18_0216c720 data_ov18_0216c720: ; 0x0216c720 .word func_ov00_0208b698 .global data_ov18_0216c724 data_ov18_0216c724: ; 0x0216c724 .word func_ov00_0208b6b8 .global data_ov18_0216c728 data_ov18_0216c728: ; 0x0216c728 .word func_ov18_021608b8 .global data_ov18_0216c72c data_ov18_0216c72c: ; 0x0216c72c .word func_ov00_0208b6bc .global data_ov18_0216c730 data_ov18_0216c730: ; 0x0216c730 .word func_ov00_0208b6c4 .global data_ov18_0216c734 data_ov18_0216c734: ; 0x0216c734 .word func_ov00_0208b6c8 .global data_ov18_0216c738 data_ov18_0216c738: ; 0x0216c738 .word func_ov00_0208b6d0 .global data_ov18_0216c73c data_ov18_0216c73c: ; 0x0216c73c .word func_ov00_0208b6d8 .global data_ov18_0216c740 data_ov18_0216c740: ; 0x0216c740 .word func_ov00_0208b6e0 .global data_ov18_0216c744 data_ov18_0216c744: ; 0x0216c744 .word func_ov00_0208b6e8 .global data_ov18_0216c748 data_ov18_0216c748: ; 0x0216c748 .word func_ov00_0208b6f0 .global data_ov18_0216c74c data_ov18_0216c74c: ; 0x0216c74c .word func_ov00_0208b6f8 .global data_ov18_0216c750 data_ov18_0216c750: ; 0x0216c750 .word func_ov00_0208b700 .global data_ov18_0216c754 data_ov18_0216c754: ; 0x0216c754 .word func_ov00_0208b704 .global data_ov18_0216c758 data_ov18_0216c758: ; 0x0216c758 .word func_ov00_0208b70c .global data_ov18_0216c75c data_ov18_0216c75c: ; 0x0216c75c .word func_ov00_0208b710 .global data_ov18_0216c760 data_ov18_0216c760: ; 0x0216c760 .word func_ov00_0208b714 .global data_ov18_0216c764 data_ov18_0216c764: ; 0x0216c764 .word func_ov00_0208b71c .global data_ov18_0216c768 data_ov18_0216c768: ; 0x0216c768 .word func_ov00_0208b844 .global data_ov18_0216c76c data_ov18_0216c76c: ; 0x0216c76c .word func_ov00_0208b870 .global data_ov18_0216c770 data_ov18_0216c770: ; 0x0216c770 .word func_ov00_0208b89c .global data_ov18_0216c774 data_ov18_0216c774: ; 0x0216c774 .word func_ov00_0208ba30 .global data_ov18_0216c778 data_ov18_0216c778: ; 0x0216c778 .word func_ov00_0208ba38 .global data_ov18_0216c77c data_ov18_0216c77c: ; 0x0216c77c .word func_ov00_0208ba40 .global data_ov18_0216c780 data_ov18_0216c780: ; 0x0216c780 .word func_ov18_021608c0 .global data_ov18_0216c784 data_ov18_0216c784: ; 0x0216c784 .word func_ov00_0208ba50 .global data_ov18_0216c788 data_ov18_0216c788: ; 0x0216c788 .word func_ov18_021608c8 .global data_ov18_0216c78c data_ov18_0216c78c: ; 0x0216c78c .word func_ov18_02160838 .global data_ov18_0216c790 data_ov18_0216c790: ; 0x0216c790 .word func_ov00_0208c38c .global data_ov18_0216c794 data_ov18_0216c794: ; 0x0216c794 .word func_ov18_02160958 .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 .word func_ov18_02160b24 .global data_ov18_0216c7a4 data_ov18_0216c7a4: ; 0x0216c7a4 .word func_ov18_02160b44 .global data_ov18_0216c7a8 data_ov18_0216c7a8: ; 0x0216c7a8 .word func_ov18_02160b6c .global data_ov18_0216c7ac data_ov18_0216c7ac: ; 0x0216c7ac .word func_ov18_02161000 .global data_ov18_0216c7b0 data_ov18_0216c7b0: ; 0x0216c7b0 .word func_ov00_0208b694 .global data_ov18_0216c7b4 data_ov18_0216c7b4: ; 0x0216c7b4 .word func_ov00_0208b698 .global data_ov18_0216c7b8 data_ov18_0216c7b8: ; 0x0216c7b8 .word func_ov00_0208b6b8 .global data_ov18_0216c7bc data_ov18_0216c7bc: ; 0x0216c7bc .word func_ov18_02161018 .global data_ov18_0216c7c0 data_ov18_0216c7c0: ; 0x0216c7c0 .word func_ov00_0208b6bc .global data_ov18_0216c7c4 data_ov18_0216c7c4: ; 0x0216c7c4 .word func_ov00_0208b6c4 .global data_ov18_0216c7c8 data_ov18_0216c7c8: ; 0x0216c7c8 .word func_ov00_0208b6c8 .global data_ov18_0216c7cc data_ov18_0216c7cc: ; 0x0216c7cc .word func_ov00_0208b6d0 .global data_ov18_0216c7d0 data_ov18_0216c7d0: ; 0x0216c7d0 .word func_ov00_0208b6d8 .global data_ov18_0216c7d4 data_ov18_0216c7d4: ; 0x0216c7d4 .word func_ov00_0208b6e0 .global data_ov18_0216c7d8 data_ov18_0216c7d8: ; 0x0216c7d8 .word func_ov00_0208b6e8 .global data_ov18_0216c7dc data_ov18_0216c7dc: ; 0x0216c7dc .word func_ov00_0208b6f0 .global data_ov18_0216c7e0 data_ov18_0216c7e0: ; 0x0216c7e0 .word func_ov00_0208b6f8 .global data_ov18_0216c7e4 data_ov18_0216c7e4: ; 0x0216c7e4 .word func_ov00_0208b700 .global data_ov18_0216c7e8 data_ov18_0216c7e8: ; 0x0216c7e8 .word func_ov00_0208b704 .global data_ov18_0216c7ec data_ov18_0216c7ec: ; 0x0216c7ec .word func_ov00_0208b70c .global data_ov18_0216c7f0 data_ov18_0216c7f0: ; 0x0216c7f0 .word func_ov00_0208b710 .global data_ov18_0216c7f4 data_ov18_0216c7f4: ; 0x0216c7f4 .word func_ov00_0208b714 .global data_ov18_0216c7f8 data_ov18_0216c7f8: ; 0x0216c7f8 .word func_ov18_02161028 .global data_ov18_0216c7fc data_ov18_0216c7fc: ; 0x0216c7fc .word func_ov00_0208b844 .global data_ov18_0216c800 data_ov18_0216c800: ; 0x0216c800 .word func_ov00_0208b870 .global data_ov18_0216c804 data_ov18_0216c804: ; 0x0216c804 .word func_ov00_0208b89c .global data_ov18_0216c808 data_ov18_0216c808: ; 0x0216c808 .word func_ov00_0208ba30 .global data_ov18_0216c80c data_ov18_0216c80c: ; 0x0216c80c .word func_ov00_0208ba38 .global data_ov18_0216c810 data_ov18_0216c810: ; 0x0216c810 .word func_ov00_0208ba40 .global data_ov18_0216c814 data_ov18_0216c814: ; 0x0216c814 .word func_ov18_02161020 .global data_ov18_0216c818 data_ov18_0216c818: ; 0x0216c818 .word func_ov00_0208ba50 .global data_ov18_0216c81c data_ov18_0216c81c: ; 0x0216c81c .word func_ov18_02161030 .global data_ov18_0216c820 data_ov18_0216c820: ; 0x0216c820 .word func_ov00_0208c384 .global data_ov18_0216c824 data_ov18_0216c824: ; 0x0216c824 .word func_ov00_0208c38c .global data_ov18_0216c828 data_ov18_0216c828: ; 0x0216c828 .word func_ov18_02161064 .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 .word func_ov18_02161134 .global data_ov18_0216c838 data_ov18_0216c838: ; 0x0216c838 .word func_ov18_0216115c .global data_ov18_0216c83c data_ov18_0216c83c: ; 0x0216c83c .word func_ov18_0216118c .global data_ov18_0216c840 data_ov18_0216c840: ; 0x0216c840 .word func_ov00_0208b690 .global data_ov18_0216c844 data_ov18_0216c844: ; 0x0216c844 .word func_ov00_0208b694 .global data_ov18_0216c848 data_ov18_0216c848: ; 0x0216c848 .word func_ov00_0208b698 .global data_ov18_0216c84c data_ov18_0216c84c: ; 0x0216c84c .word func_ov00_0208b6b8 .global data_ov18_0216c850 data_ov18_0216c850: ; 0x0216c850 .word func_ov18_02161334 .global data_ov18_0216c854 data_ov18_0216c854: ; 0x0216c854 .word func_ov00_0208b6bc .global data_ov18_0216c858 data_ov18_0216c858: ; 0x0216c858 .word func_ov00_0208b6c4 .global data_ov18_0216c85c data_ov18_0216c85c: ; 0x0216c85c .word func_ov00_0208b6c8 .global data_ov18_0216c860 data_ov18_0216c860: ; 0x0216c860 .word func_ov00_0208b6d0 .global data_ov18_0216c864 data_ov18_0216c864: ; 0x0216c864 .word func_ov00_0208b6d8 .global data_ov18_0216c868 data_ov18_0216c868: ; 0x0216c868 .word func_ov00_0208b6e0 .global data_ov18_0216c86c data_ov18_0216c86c: ; 0x0216c86c .word func_ov00_0208b6e8 .global data_ov18_0216c870 data_ov18_0216c870: ; 0x0216c870 .word func_ov00_0208b6f0 .global data_ov18_0216c874 data_ov18_0216c874: ; 0x0216c874 .word func_ov00_0208b6f8 .global data_ov18_0216c878 data_ov18_0216c878: ; 0x0216c878 .word func_ov00_0208b700 .global data_ov18_0216c87c data_ov18_0216c87c: ; 0x0216c87c .word func_ov00_0208b704 .global data_ov18_0216c880 data_ov18_0216c880: ; 0x0216c880 .word func_ov00_0208b70c .global data_ov18_0216c884 data_ov18_0216c884: ; 0x0216c884 .word func_ov00_0208b710 .global data_ov18_0216c888 data_ov18_0216c888: ; 0x0216c888 .word func_ov00_0208ca00 .global data_ov18_0216c88c data_ov18_0216c88c: ; 0x0216c88c .word func_ov00_0208b71c .global data_ov18_0216c890 data_ov18_0216c890: ; 0x0216c890 .word func_ov00_0208b844 .global data_ov18_0216c894 data_ov18_0216c894: ; 0x0216c894 .word func_ov00_0208b870 .global data_ov18_0216c898 data_ov18_0216c898: ; 0x0216c898 .word func_ov00_0208b89c .global data_ov18_0216c89c data_ov18_0216c89c: ; 0x0216c89c .word func_ov00_0208ba30 .global data_ov18_0216c8a0 data_ov18_0216c8a0: ; 0x0216c8a0 .word func_ov00_0208ba38 .global data_ov18_0216c8a4 data_ov18_0216c8a4: ; 0x0216c8a4 .word func_ov00_0208ba40 .global data_ov18_0216c8a8 data_ov18_0216c8a8: ; 0x0216c8a8 .word func_ov00_0208ba48 .global data_ov18_0216c8ac data_ov18_0216c8ac: ; 0x0216c8ac .word func_ov00_0208ba50 .global data_ov18_0216c8b0 data_ov18_0216c8b0: ; 0x0216c8b0 .word func_ov18_021612d8 ; func_ov61_021612d8 .global data_ov18_0216c8b4 data_ov18_0216c8b4: ; 0x0216c8b4 .word func_ov00_0208c384 .global data_ov18_0216c8b8 data_ov18_0216c8b8: ; 0x0216c8b8 .word func_ov00_0208c38c .global data_ov18_0216c8bc data_ov18_0216c8bc: ; 0x0216c8bc .word func_ov00_0208c39c .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 .word func_ov18_021613fc .global data_ov18_0216c8cc data_ov18_0216c8cc: ; 0x0216c8cc .word func_ov18_02161424 .global data_ov18_0216c8d0 data_ov18_0216c8d0: ; 0x0216c8d0 .word func_ov18_02161454 .global data_ov18_0216c8d4 data_ov18_0216c8d4: ; 0x0216c8d4 .word func_ov00_0208b690 .global data_ov18_0216c8d8 data_ov18_0216c8d8: ; 0x0216c8d8 .word func_ov00_0208b694 .global data_ov18_0216c8dc data_ov18_0216c8dc: ; 0x0216c8dc .word func_ov00_0208b698 .global data_ov18_0216c8e0 data_ov18_0216c8e0: ; 0x0216c8e0 .word func_ov00_0208b6b8 .global data_ov18_0216c8e4 data_ov18_0216c8e4: ; 0x0216c8e4 .word func_ov18_021615fc .global data_ov18_0216c8e8 data_ov18_0216c8e8: ; 0x0216c8e8 .word func_ov00_0208b6bc .global data_ov18_0216c8ec data_ov18_0216c8ec: ; 0x0216c8ec .word func_ov00_0208b6c4 .global data_ov18_0216c8f0 data_ov18_0216c8f0: ; 0x0216c8f0 .word func_ov00_0208b6c8 .global data_ov18_0216c8f4 data_ov18_0216c8f4: ; 0x0216c8f4 .word func_ov00_0208b6d0 .global data_ov18_0216c8f8 data_ov18_0216c8f8: ; 0x0216c8f8 .word func_ov00_0208b6d8 .global data_ov18_0216c8fc data_ov18_0216c8fc: ; 0x0216c8fc .word func_ov00_0208b6e0 .global data_ov18_0216c900 data_ov18_0216c900: ; 0x0216c900 .word func_ov00_0208b6e8 .global data_ov18_0216c904 data_ov18_0216c904: ; 0x0216c904 .word func_ov00_0208b6f0 .global data_ov18_0216c908 data_ov18_0216c908: ; 0x0216c908 .word func_ov00_0208b6f8 .global data_ov18_0216c90c data_ov18_0216c90c: ; 0x0216c90c .word func_ov00_0208b700 .global data_ov18_0216c910 data_ov18_0216c910: ; 0x0216c910 .word func_ov00_0208b704 .global data_ov18_0216c914 data_ov18_0216c914: ; 0x0216c914 .word func_ov00_0208b70c .global data_ov18_0216c918 data_ov18_0216c918: ; 0x0216c918 .word func_ov00_0208b710 .global data_ov18_0216c91c data_ov18_0216c91c: ; 0x0216c91c .word func_ov00_0208ca00 .global data_ov18_0216c920 data_ov18_0216c920: ; 0x0216c920 .word func_ov00_0208b71c .global data_ov18_0216c924 data_ov18_0216c924: ; 0x0216c924 .word func_ov00_0208b844 .global data_ov18_0216c928 data_ov18_0216c928: ; 0x0216c928 .word func_ov00_0208b870 .global data_ov18_0216c92c data_ov18_0216c92c: ; 0x0216c92c .word func_ov00_0208b89c .global data_ov18_0216c930 data_ov18_0216c930: ; 0x0216c930 .word func_ov00_0208ba30 .global data_ov18_0216c934 data_ov18_0216c934: ; 0x0216c934 .word func_ov00_0208ba38 .global data_ov18_0216c938 data_ov18_0216c938: ; 0x0216c938 .word func_ov00_0208ba40 .global data_ov18_0216c93c data_ov18_0216c93c: ; 0x0216c93c .word func_ov00_0208ba48 .global data_ov18_0216c940 data_ov18_0216c940: ; 0x0216c940 .word func_ov00_0208ba50 .global data_ov18_0216c944 data_ov18_0216c944: ; 0x0216c944 .word func_ov18_021615a0 .global data_ov18_0216c948 data_ov18_0216c948: ; 0x0216c948 .word func_ov00_0208c384 .global data_ov18_0216c94c data_ov18_0216c94c: ; 0x0216c94c .word func_ov00_0208c38c .global data_ov18_0216c950 data_ov18_0216c950: ; 0x0216c950 .word func_ov00_0208c39c .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 .word func_ov18_021616c4 .global data_ov18_0216c960 data_ov18_0216c960: ; 0x0216c960 .word func_ov18_021616ec .global data_ov18_0216c964 data_ov18_0216c964: ; 0x0216c964 .word func_ov18_0216171c .global data_ov18_0216c968 data_ov18_0216c968: ; 0x0216c968 .word func_ov18_021618bc .global data_ov18_0216c96c data_ov18_0216c96c: ; 0x0216c96c .word func_ov00_0208b694 .global data_ov18_0216c970 data_ov18_0216c970: ; 0x0216c970 .word func_ov00_0208b698 .global data_ov18_0216c974 data_ov18_0216c974: ; 0x0216c974 .word func_ov00_0208b6b8 .global data_ov18_0216c978 data_ov18_0216c978: ; 0x0216c978 .word func_ov18_02161a04 .global data_ov18_0216c97c data_ov18_0216c97c: ; 0x0216c97c .word func_ov00_0208b6bc .global data_ov18_0216c980 data_ov18_0216c980: ; 0x0216c980 .word func_ov00_0208b6c4 .global data_ov18_0216c984 data_ov18_0216c984: ; 0x0216c984 .word func_ov00_0208b6c8 .global data_ov18_0216c988 data_ov18_0216c988: ; 0x0216c988 .word func_ov00_0208b6d0 .global data_ov18_0216c98c data_ov18_0216c98c: ; 0x0216c98c .word func_ov18_02161968 .global data_ov18_0216c990 data_ov18_0216c990: ; 0x0216c990 .word func_ov00_0208b6e0 .global data_ov18_0216c994 data_ov18_0216c994: ; 0x0216c994 .word func_ov00_0208b6e8 .global data_ov18_0216c998 data_ov18_0216c998: ; 0x0216c998 .word func_ov00_0208b6f0 .global data_ov18_0216c99c data_ov18_0216c99c: ; 0x0216c99c .word func_ov00_0208b6f8 .global data_ov18_0216c9a0 data_ov18_0216c9a0: ; 0x0216c9a0 .word func_ov00_0208b700 .global data_ov18_0216c9a4 data_ov18_0216c9a4: ; 0x0216c9a4 .word func_ov00_0208b704 .global data_ov18_0216c9a8 data_ov18_0216c9a8: ; 0x0216c9a8 .word func_ov00_0208b70c .global data_ov18_0216c9ac data_ov18_0216c9ac: ; 0x0216c9ac .word func_ov00_0208b710 .global data_ov18_0216c9b0 data_ov18_0216c9b0: ; 0x0216c9b0 .word func_ov00_0208ca00 .global data_ov18_0216c9b4 data_ov18_0216c9b4: ; 0x0216c9b4 .word func_ov00_0208b71c .global data_ov18_0216c9b8 data_ov18_0216c9b8: ; 0x0216c9b8 .word func_ov18_021618ac ; func_ov61_021618ac .global data_ov18_0216c9bc data_ov18_0216c9bc: ; 0x0216c9bc .word func_ov18_021618b4 .global data_ov18_0216c9c0 data_ov18_0216c9c0: ; 0x0216c9c0 .word func_ov00_0208b89c .global data_ov18_0216c9c4 data_ov18_0216c9c4: ; 0x0216c9c4 .word func_ov00_0208ba30 .global data_ov18_0216c9c8 data_ov18_0216c9c8: ; 0x0216c9c8 .word func_ov00_0208ba38 .global data_ov18_0216c9cc data_ov18_0216c9cc: ; 0x0216c9cc .word func_ov00_0208ba40 .global data_ov18_0216c9d0 data_ov18_0216c9d0: ; 0x0216c9d0 .word func_ov00_0208ba48 .global data_ov18_0216c9d4 data_ov18_0216c9d4: ; 0x0216c9d4 .word func_ov18_021619a0 .global data_ov18_0216c9d8 data_ov18_0216c9d8: ; 0x0216c9d8 .word func_ov18_021619a8 .global data_ov18_0216c9dc data_ov18_0216c9dc: ; 0x0216c9dc .word func_ov18_02161934 .global data_ov18_0216c9e0 data_ov18_0216c9e0: ; 0x0216c9e0 .word func_ov00_0208c38c .global data_ov18_0216c9e4 data_ov18_0216c9e4: ; 0x0216c9e4 .word func_ov00_0208c39c .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 .word func_ov18_02161acc .global data_ov18_0216c9f4 data_ov18_0216c9f4: ; 0x0216c9f4 .word func_ov18_02161af4 .global data_ov18_0216c9f8 data_ov18_0216c9f8: ; 0x0216c9f8 .word func_ov18_02161b24 .global data_ov18_0216c9fc data_ov18_0216c9fc: ; 0x0216c9fc .word func_ov00_0208b690 .global data_ov18_0216ca00 data_ov18_0216ca00: ; 0x0216ca00 .word func_ov00_0208b694 .global data_ov18_0216ca04 data_ov18_0216ca04: ; 0x0216ca04 .word func_ov00_0208b698 .global data_ov18_0216ca08 data_ov18_0216ca08: ; 0x0216ca08 .word func_ov00_0208b6b8 .global data_ov18_0216ca0c data_ov18_0216ca0c: ; 0x0216ca0c .word func_ov18_02161ccc .global data_ov18_0216ca10 data_ov18_0216ca10: ; 0x0216ca10 .word func_ov00_0208b6bc .global data_ov18_0216ca14 data_ov18_0216ca14: ; 0x0216ca14 .word func_ov00_0208b6c4 .global data_ov18_0216ca18 data_ov18_0216ca18: ; 0x0216ca18 .word func_ov00_0208b6c8 .global data_ov18_0216ca1c data_ov18_0216ca1c: ; 0x0216ca1c .word func_ov00_0208b6d0 .global data_ov18_0216ca20 data_ov18_0216ca20: ; 0x0216ca20 .word func_ov00_0208b6d8 .global data_ov18_0216ca24 data_ov18_0216ca24: ; 0x0216ca24 .word func_ov00_0208b6e0 .global data_ov18_0216ca28 data_ov18_0216ca28: ; 0x0216ca28 .word func_ov00_0208b6e8 .global data_ov18_0216ca2c data_ov18_0216ca2c: ; 0x0216ca2c .word func_ov00_0208b6f0 .global data_ov18_0216ca30 data_ov18_0216ca30: ; 0x0216ca30 .word func_ov00_0208b6f8 .global data_ov18_0216ca34 data_ov18_0216ca34: ; 0x0216ca34 .word func_ov00_0208b700 .global data_ov18_0216ca38 data_ov18_0216ca38: ; 0x0216ca38 .word func_ov00_0208b704 .global data_ov18_0216ca3c data_ov18_0216ca3c: ; 0x0216ca3c .word func_ov00_0208b70c .global data_ov18_0216ca40 data_ov18_0216ca40: ; 0x0216ca40 .word func_ov00_0208b710 .global data_ov18_0216ca44 data_ov18_0216ca44: ; 0x0216ca44 .word func_ov00_0208ca00 .global data_ov18_0216ca48 data_ov18_0216ca48: ; 0x0216ca48 .word func_ov00_0208b71c .global data_ov18_0216ca4c data_ov18_0216ca4c: ; 0x0216ca4c .word func_ov00_0208b844 .global data_ov18_0216ca50 data_ov18_0216ca50: ; 0x0216ca50 .word func_ov00_0208b870 .global data_ov18_0216ca54 data_ov18_0216ca54: ; 0x0216ca54 .word func_ov00_0208b89c .global data_ov18_0216ca58 data_ov18_0216ca58: ; 0x0216ca58 .word func_ov00_0208ba30 .global data_ov18_0216ca5c data_ov18_0216ca5c: ; 0x0216ca5c .word func_ov00_0208ba38 .global data_ov18_0216ca60 data_ov18_0216ca60: ; 0x0216ca60 .word func_ov00_0208ba40 .global data_ov18_0216ca64 data_ov18_0216ca64: ; 0x0216ca64 .word func_ov00_0208ba48 .global data_ov18_0216ca68 data_ov18_0216ca68: ; 0x0216ca68 .word func_ov00_0208ba50 .global data_ov18_0216ca6c data_ov18_0216ca6c: ; 0x0216ca6c .word func_ov18_02161c70 .global data_ov18_0216ca70 data_ov18_0216ca70: ; 0x0216ca70 .word func_ov00_0208c384 .global data_ov18_0216ca74 data_ov18_0216ca74: ; 0x0216ca74 .word func_ov00_0208c38c .global data_ov18_0216ca78 data_ov18_0216ca78: ; 0x0216ca78 .word func_ov00_0208c39c .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 .word func_ov18_02161d58 .global data_ov18_0216ca88 data_ov18_0216ca88: ; 0x0216ca88 .word func_ov18_02161d78 ; func_ov61_02161d78 .global data_ov18_0216ca8c data_ov18_0216ca8c: ; 0x0216ca8c .word func_ov18_02161da0 .global data_ov18_0216ca90 data_ov18_0216ca90: ; 0x0216ca90 .word func_ov00_0208b690 .global data_ov18_0216ca94 data_ov18_0216ca94: ; 0x0216ca94 .word func_ov00_0208b694 .global data_ov18_0216ca98 data_ov18_0216ca98: ; 0x0216ca98 .word func_ov00_0208b698 .global data_ov18_0216ca9c data_ov18_0216ca9c: ; 0x0216ca9c .word func_ov00_0208b6b8 .global data_ov18_0216caa0 data_ov18_0216caa0: ; 0x0216caa0 .word func_ov18_02161ec0 .global data_ov18_0216caa4 data_ov18_0216caa4: ; 0x0216caa4 .word func_ov00_0208b6bc .global data_ov18_0216caa8 data_ov18_0216caa8: ; 0x0216caa8 .word func_ov00_0208b6c4 .global data_ov18_0216caac data_ov18_0216caac: ; 0x0216caac .word func_ov00_0208b6c8 .global data_ov18_0216cab0 data_ov18_0216cab0: ; 0x0216cab0 .word func_ov00_0208b6d0 .global data_ov18_0216cab4 data_ov18_0216cab4: ; 0x0216cab4 .word func_ov00_0208b6d8 .global data_ov18_0216cab8 data_ov18_0216cab8: ; 0x0216cab8 .word func_ov00_0208b6e0 .global data_ov18_0216cabc data_ov18_0216cabc: ; 0x0216cabc .word func_ov00_0208b6e8 .global data_ov18_0216cac0 data_ov18_0216cac0: ; 0x0216cac0 .word func_ov00_0208b6f0 .global data_ov18_0216cac4 data_ov18_0216cac4: ; 0x0216cac4 .word func_ov00_0208b6f8 .global data_ov18_0216cac8 data_ov18_0216cac8: ; 0x0216cac8 .word func_ov00_0208b700 .global data_ov18_0216cacc data_ov18_0216cacc: ; 0x0216cacc .word func_ov00_0208b704 .global data_ov18_0216cad0 data_ov18_0216cad0: ; 0x0216cad0 .word func_ov00_0208b70c .global data_ov18_0216cad4 data_ov18_0216cad4: ; 0x0216cad4 .word func_ov00_0208b710 .global data_ov18_0216cad8 data_ov18_0216cad8: ; 0x0216cad8 .word func_ov00_0208b714 .global data_ov18_0216cadc data_ov18_0216cadc: ; 0x0216cadc .word func_ov00_0208b71c .global data_ov18_0216cae0 data_ov18_0216cae0: ; 0x0216cae0 .word func_ov00_0208b844 .global data_ov18_0216cae4 data_ov18_0216cae4: ; 0x0216cae4 .word func_ov00_0208b870 .global data_ov18_0216cae8 data_ov18_0216cae8: ; 0x0216cae8 .word func_ov00_0208b89c .global data_ov18_0216caec data_ov18_0216caec: ; 0x0216caec .word func_ov00_0208ba30 .global data_ov18_0216caf0 data_ov18_0216caf0: ; 0x0216caf0 .word func_ov00_0208ba38 .global data_ov18_0216caf4 data_ov18_0216caf4: ; 0x0216caf4 .word func_ov00_0208ba40 .global data_ov18_0216caf8 data_ov18_0216caf8: ; 0x0216caf8 .word func_ov18_02161e40 .global data_ov18_0216cafc data_ov18_0216cafc: ; 0x0216cafc .word func_ov00_0208ba50 .global data_ov18_0216cb00 data_ov18_0216cb00: ; 0x0216cb00 .word func_ov18_02161e48 .global data_ov18_0216cb04 data_ov18_0216cb04: ; 0x0216cb04 .word func_ov00_0208c384 .global data_ov18_0216cb08 data_ov18_0216cb08: ; 0x0216cb08 .word func_ov00_0208c38c .global data_ov18_0216cb0c data_ov18_0216cb0c: ; 0x0216cb0c .word func_ov00_0208c39c .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 .word func_ov18_02161f98 .global data_ov18_0216cb1c data_ov18_0216cb1c: ; 0x0216cb1c .word func_ov18_02161fc0 .global data_ov18_0216cb20 data_ov18_0216cb20: ; 0x0216cb20 .word func_ov18_02161ff0 .global data_ov18_0216cb24 data_ov18_0216cb24: ; 0x0216cb24 .word func_ov00_0208b690 .global data_ov18_0216cb28 data_ov18_0216cb28: ; 0x0216cb28 .word func_ov00_0208b694 .global data_ov18_0216cb2c data_ov18_0216cb2c: ; 0x0216cb2c .word func_ov00_0208b698 .global data_ov18_0216cb30 data_ov18_0216cb30: ; 0x0216cb30 .word func_ov00_0208b6b8 .global data_ov18_0216cb34 data_ov18_0216cb34: ; 0x0216cb34 .word func_ov18_02162088 .global data_ov18_0216cb38 data_ov18_0216cb38: ; 0x0216cb38 .word func_ov00_0208b6bc .global data_ov18_0216cb3c data_ov18_0216cb3c: ; 0x0216cb3c .word func_ov00_0208b6c4 .global data_ov18_0216cb40 data_ov18_0216cb40: ; 0x0216cb40 .word func_ov00_0208b6c8 .global data_ov18_0216cb44 data_ov18_0216cb44: ; 0x0216cb44 .word func_ov00_0208b6d0 .global data_ov18_0216cb48 data_ov18_0216cb48: ; 0x0216cb48 .word func_ov00_0208b6d8 .global data_ov18_0216cb4c data_ov18_0216cb4c: ; 0x0216cb4c .word func_ov00_0208b6e0 .global data_ov18_0216cb50 data_ov18_0216cb50: ; 0x0216cb50 .word func_ov00_0208b6e8 .global data_ov18_0216cb54 data_ov18_0216cb54: ; 0x0216cb54 .word func_ov00_0208b6f0 .global data_ov18_0216cb58 data_ov18_0216cb58: ; 0x0216cb58 .word func_ov00_0208b6f8 .global data_ov18_0216cb5c data_ov18_0216cb5c: ; 0x0216cb5c .word func_ov00_0208b700 .global data_ov18_0216cb60 data_ov18_0216cb60: ; 0x0216cb60 .word func_ov00_0208b704 .global data_ov18_0216cb64 data_ov18_0216cb64: ; 0x0216cb64 .word func_ov00_0208b70c .global data_ov18_0216cb68 data_ov18_0216cb68: ; 0x0216cb68 .word func_ov00_0208b710 .global data_ov18_0216cb6c data_ov18_0216cb6c: ; 0x0216cb6c .word func_ov00_0208c9f8 .global data_ov18_0216cb70 data_ov18_0216cb70: ; 0x0216cb70 .word func_ov00_0208b71c .global data_ov18_0216cb74 data_ov18_0216cb74: ; 0x0216cb74 .word func_ov00_0208b844 .global data_ov18_0216cb78 data_ov18_0216cb78: ; 0x0216cb78 .word func_ov00_0208b870 .global data_ov18_0216cb7c data_ov18_0216cb7c: ; 0x0216cb7c .word func_ov00_0208b89c .global data_ov18_0216cb80 data_ov18_0216cb80: ; 0x0216cb80 .word func_ov00_0208ba30 .global data_ov18_0216cb84 data_ov18_0216cb84: ; 0x0216cb84 .word func_ov00_0208ba38 .global data_ov18_0216cb88 data_ov18_0216cb88: ; 0x0216cb88 .word func_ov00_0208ba40 .global data_ov18_0216cb8c data_ov18_0216cb8c: ; 0x0216cb8c .word func_ov00_0208ba48 .global data_ov18_0216cb90 data_ov18_0216cb90: ; 0x0216cb90 .word func_ov00_0208ba50 .global data_ov18_0216cb94 data_ov18_0216cb94: ; 0x0216cb94 .word func_ov18_02162068 .global data_ov18_0216cb98 data_ov18_0216cb98: ; 0x0216cb98 .word func_ov00_0208c384 .global data_ov18_0216cb9c data_ov18_0216cb9c: ; 0x0216cb9c .word func_ov00_0208c38c .global data_ov18_0216cba0 data_ov18_0216cba0: ; 0x0216cba0 .word func_ov00_0208c39c .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 .word func_ov18_02162160 .global data_ov18_0216cbb0 data_ov18_0216cbb0: ; 0x0216cbb0 .word func_ov18_02162188 .global data_ov18_0216cbb4 data_ov18_0216cbb4: ; 0x0216cbb4 .word func_ov18_021621b8 .global data_ov18_0216cbb8 data_ov18_0216cbb8: ; 0x0216cbb8 .word func_ov18_0216244c .global data_ov18_0216cbbc data_ov18_0216cbbc: ; 0x0216cbbc .word func_ov00_0208b694 .global data_ov18_0216cbc0 data_ov18_0216cbc0: ; 0x0216cbc0 .word func_ov00_0208b698 .global data_ov18_0216cbc4 data_ov18_0216cbc4: ; 0x0216cbc4 .word func_ov00_0208b6b8 .global data_ov18_0216cbc8 data_ov18_0216cbc8: ; 0x0216cbc8 .word func_ov18_02162cbc .global data_ov18_0216cbcc data_ov18_0216cbcc: ; 0x0216cbcc .word func_ov00_0208b6bc .global data_ov18_0216cbd0 data_ov18_0216cbd0: ; 0x0216cbd0 .word func_ov00_0208b6c4 .global data_ov18_0216cbd4 data_ov18_0216cbd4: ; 0x0216cbd4 .word func_ov00_0208b6c8 .global data_ov18_0216cbd8 data_ov18_0216cbd8: ; 0x0216cbd8 .word func_ov00_0208b6d0 .global data_ov18_0216cbdc data_ov18_0216cbdc: ; 0x0216cbdc .word func_ov00_0208b6d8 .global data_ov18_0216cbe0 data_ov18_0216cbe0: ; 0x0216cbe0 .word func_ov00_0208b6e0 .global data_ov18_0216cbe4 data_ov18_0216cbe4: ; 0x0216cbe4 .word func_ov00_0208b6e8 .global data_ov18_0216cbe8 data_ov18_0216cbe8: ; 0x0216cbe8 .word func_ov00_0208b6f0 .global data_ov18_0216cbec data_ov18_0216cbec: ; 0x0216cbec .word func_ov00_0208b6f8 .global data_ov18_0216cbf0 data_ov18_0216cbf0: ; 0x0216cbf0 .word func_ov00_0208b700 .global data_ov18_0216cbf4 data_ov18_0216cbf4: ; 0x0216cbf4 .word func_ov18_02162634 .global data_ov18_0216cbf8 data_ov18_0216cbf8: ; 0x0216cbf8 .word func_ov00_0208b70c .global data_ov18_0216cbfc data_ov18_0216cbfc: ; 0x0216cbfc .word func_ov00_0208b710 .global data_ov18_0216cc00 data_ov18_0216cc00: ; 0x0216cc00 .word func_ov00_0208c9f8 .global data_ov18_0216cc04 data_ov18_0216cc04: ; 0x0216cc04 .word func_ov00_0208b71c .global data_ov18_0216cc08 data_ov18_0216cc08: ; 0x0216cc08 .word func_ov00_0208b844 .global data_ov18_0216cc0c data_ov18_0216cc0c: ; 0x0216cc0c .word func_ov00_0208b870 .global data_ov18_0216cc10 data_ov18_0216cc10: ; 0x0216cc10 .word func_ov00_0208b89c .global data_ov18_0216cc14 data_ov18_0216cc14: ; 0x0216cc14 .word func_ov00_0208ba30 .global data_ov18_0216cc18 data_ov18_0216cc18: ; 0x0216cc18 .word func_ov00_0208ba38 .global data_ov18_0216cc1c data_ov18_0216cc1c: ; 0x0216cc1c .word func_ov00_0208ba40 .global data_ov18_0216cc20 data_ov18_0216cc20: ; 0x0216cc20 .word func_ov00_0208ba48 .global data_ov18_0216cc24 data_ov18_0216cc24: ; 0x0216cc24 .word func_ov00_0208ba50 .global data_ov18_0216cc28 data_ov18_0216cc28: ; 0x0216cc28 .word func_ov18_0216272c .global data_ov18_0216cc2c data_ov18_0216cc2c: ; 0x0216cc2c .word func_ov18_0216250c .global data_ov18_0216cc30 data_ov18_0216cc30: ; 0x0216cc30 .word func_ov00_0208c38c .global data_ov18_0216cc34 data_ov18_0216cc34: ; 0x0216cc34 .word func_ov00_0208c39c .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 .word func_ov18_02162d70 .global data_ov18_0216cc44 data_ov18_0216cc44: ; 0x0216cc44 .word func_ov18_02162d90 .global data_ov18_0216cc48 data_ov18_0216cc48: ; 0x0216cc48 .word func_ov18_02162db8 .global data_ov18_0216cc4c data_ov18_0216cc4c: ; 0x0216cc4c .word func_ov18_02163258 .global data_ov18_0216cc50 data_ov18_0216cc50: ; 0x0216cc50 .word func_ov00_0208b694 .global data_ov18_0216cc54 data_ov18_0216cc54: ; 0x0216cc54 .word func_ov00_0208b698 .global data_ov18_0216cc58 data_ov18_0216cc58: ; 0x0216cc58 .word func_ov00_0208b6b8 .global data_ov18_0216cc5c data_ov18_0216cc5c: ; 0x0216cc5c .word func_ov18_021637e4 .global data_ov18_0216cc60 data_ov18_0216cc60: ; 0x0216cc60 .word func_ov18_021636c4 .global data_ov18_0216cc64 data_ov18_0216cc64: ; 0x0216cc64 .word func_ov00_0208b6c4 .global data_ov18_0216cc68 data_ov18_0216cc68: ; 0x0216cc68 .word func_ov00_0208b6c8 .global data_ov18_0216cc6c data_ov18_0216cc6c: ; 0x0216cc6c .word func_ov00_0208b6d0 .global data_ov18_0216cc70 data_ov18_0216cc70: ; 0x0216cc70 .word func_ov00_0208b6d8 .global data_ov18_0216cc74 data_ov18_0216cc74: ; 0x0216cc74 .word func_ov00_0208b6e0 .global data_ov18_0216cc78 data_ov18_0216cc78: ; 0x0216cc78 .word func_ov18_021637c0 .global data_ov18_0216cc7c data_ov18_0216cc7c: ; 0x0216cc7c .word func_ov00_0208b6f0 .global data_ov18_0216cc80 data_ov18_0216cc80: ; 0x0216cc80 .word func_ov00_0208b6f8 .global data_ov18_0216cc84 data_ov18_0216cc84: ; 0x0216cc84 .word func_ov00_0208b700 .global data_ov18_0216cc88 data_ov18_0216cc88: ; 0x0216cc88 .word func_ov18_02163718 .global data_ov18_0216cc8c data_ov18_0216cc8c: ; 0x0216cc8c .word func_ov00_0208b70c .global data_ov18_0216cc90 data_ov18_0216cc90: ; 0x0216cc90 .word func_ov00_0208b710 .global data_ov18_0216cc94 data_ov18_0216cc94: ; 0x0216cc94 .word func_ov00_0208c9f8 .global data_ov18_0216cc98 data_ov18_0216cc98: ; 0x0216cc98 .word func_ov00_0208b71c .global data_ov18_0216cc9c data_ov18_0216cc9c: ; 0x0216cc9c .word func_ov00_0208b844 .global data_ov18_0216cca0 data_ov18_0216cca0: ; 0x0216cca0 .word func_ov00_0208b870 .global data_ov18_0216cca4 data_ov18_0216cca4: ; 0x0216cca4 .word func_ov00_0208b89c .global data_ov18_0216cca8 data_ov18_0216cca8: ; 0x0216cca8 .word func_ov00_0208ba30 .global data_ov18_0216ccac data_ov18_0216ccac: ; 0x0216ccac .word func_ov00_0208ba38 .global data_ov18_0216ccb0 data_ov18_0216ccb0: ; 0x0216ccb0 .word func_ov00_0208ba40 .global data_ov18_0216ccb4 data_ov18_0216ccb4: ; 0x0216ccb4 .word func_ov00_0208ba48 .global data_ov18_0216ccb8 data_ov18_0216ccb8: ; 0x0216ccb8 .word func_ov00_0208ba50 .global data_ov18_0216ccbc data_ov18_0216ccbc: ; 0x0216ccbc .word func_ov18_021632b4 .global data_ov18_0216ccc0 data_ov18_0216ccc0: ; 0x0216ccc0 .word func_ov18_021635d4 .global data_ov18_0216ccc4 data_ov18_0216ccc4: ; 0x0216ccc4 .word func_ov00_0208c38c .global data_ov18_0216ccc8 data_ov18_0216ccc8: ; 0x0216ccc8 .word func_ov00_0208c39c .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 .word func_ov18_02163898 .global data_ov18_0216ccd8 data_ov18_0216ccd8: ; 0x0216ccd8 .word func_ov18_021638b8 .global data_ov18_0216ccdc data_ov18_0216ccdc: ; 0x0216ccdc .word func_ov18_021638e0 .global data_ov18_0216cce0 data_ov18_0216cce0: ; 0x0216cce0 .word func_ov18_02163d64 .global data_ov18_0216cce4 data_ov18_0216cce4: ; 0x0216cce4 .word func_ov00_0208b694 .global data_ov18_0216cce8 data_ov18_0216cce8: ; 0x0216cce8 .word func_ov00_0208b698 .global data_ov18_0216ccec data_ov18_0216ccec: ; 0x0216ccec .word func_ov00_0208b6b8 .global data_ov18_0216ccf0 data_ov18_0216ccf0: ; 0x0216ccf0 .word func_ov18_021642e8 .global data_ov18_0216ccf4 data_ov18_0216ccf4: ; 0x0216ccf4 .word func_ov18_021641d0 .global data_ov18_0216ccf8 data_ov18_0216ccf8: ; 0x0216ccf8 .word func_ov00_0208b6c4 .global data_ov18_0216ccfc data_ov18_0216ccfc: ; 0x0216ccfc .word func_ov00_0208b6c8 .global data_ov18_0216cd00 data_ov18_0216cd00: ; 0x0216cd00 .word func_ov00_0208b6d0 .global data_ov18_0216cd04 data_ov18_0216cd04: ; 0x0216cd04 .word func_ov00_0208b6d8 .global data_ov18_0216cd08 data_ov18_0216cd08: ; 0x0216cd08 .word func_ov00_0208b6e0 .global data_ov18_0216cd0c data_ov18_0216cd0c: ; 0x0216cd0c .word func_ov18_021642c4 .global data_ov18_0216cd10 data_ov18_0216cd10: ; 0x0216cd10 .word func_ov00_0208b6f0 .global data_ov18_0216cd14 data_ov18_0216cd14: ; 0x0216cd14 .word func_ov00_0208b6f8 .global data_ov18_0216cd18 data_ov18_0216cd18: ; 0x0216cd18 .word func_ov00_0208b700 .global data_ov18_0216cd1c data_ov18_0216cd1c: ; 0x0216cd1c .word func_ov18_02164224 .global data_ov18_0216cd20 data_ov18_0216cd20: ; 0x0216cd20 .word func_ov00_0208b70c .global data_ov18_0216cd24 data_ov18_0216cd24: ; 0x0216cd24 .word func_ov00_0208b710 .global data_ov18_0216cd28 data_ov18_0216cd28: ; 0x0216cd28 .word func_ov00_0208c9f8 .global data_ov18_0216cd2c data_ov18_0216cd2c: ; 0x0216cd2c .word func_ov00_0208b71c .global data_ov18_0216cd30 data_ov18_0216cd30: ; 0x0216cd30 .word func_ov00_0208b844 .global data_ov18_0216cd34 data_ov18_0216cd34: ; 0x0216cd34 .word func_ov00_0208b870 .global data_ov18_0216cd38 data_ov18_0216cd38: ; 0x0216cd38 .word func_ov00_0208b89c .global data_ov18_0216cd3c data_ov18_0216cd3c: ; 0x0216cd3c .word func_ov00_0208ba30 .global data_ov18_0216cd40 data_ov18_0216cd40: ; 0x0216cd40 .word func_ov00_0208ba38 .global data_ov18_0216cd44 data_ov18_0216cd44: ; 0x0216cd44 .word func_ov00_0208ba40 .global data_ov18_0216cd48 data_ov18_0216cd48: ; 0x0216cd48 .word func_ov00_0208ba48 .global data_ov18_0216cd4c data_ov18_0216cd4c: ; 0x0216cd4c .word func_ov00_0208ba50 .global data_ov18_0216cd50 data_ov18_0216cd50: ; 0x0216cd50 .word func_ov18_02163dc0 .global data_ov18_0216cd54 data_ov18_0216cd54: ; 0x0216cd54 .word func_ov18_021640e0 .global data_ov18_0216cd58 data_ov18_0216cd58: ; 0x0216cd58 .word func_ov00_0208c38c .global data_ov18_0216cd5c data_ov18_0216cd5c: ; 0x0216cd5c .word func_ov00_0208c39c .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 .word func_ov18_0216438c .global data_ov18_0216cd6c data_ov18_0216cd6c: ; 0x0216cd6c .word func_ov18_021643a0 .global data_ov18_0216cd70 data_ov18_0216cd70: ; 0x0216cd70 .word func_ov18_021643bc .global data_ov18_0216cd74 data_ov18_0216cd74: ; 0x0216cd74 .word func_ov14_02146e24 .global data_ov18_0216cd78 data_ov18_0216cd78: ; 0x0216cd78 .word func_ov00_0208b694 .global data_ov18_0216cd7c data_ov18_0216cd7c: ; 0x0216cd7c .word func_ov00_0208b698 .global data_ov18_0216cd80 data_ov18_0216cd80: ; 0x0216cd80 .word func_ov00_0208b6b8 .global data_ov18_0216cd84 data_ov18_0216cd84: ; 0x0216cd84 .word func_ov18_021646e0 .global data_ov18_0216cd88 data_ov18_0216cd88: ; 0x0216cd88 .word func_ov14_021471d4 .global data_ov18_0216cd8c data_ov18_0216cd8c: ; 0x0216cd8c .word func_ov00_0208b6c4 .global data_ov18_0216cd90 data_ov18_0216cd90: ; 0x0216cd90 .word func_ov14_021470a0 .global data_ov18_0216cd94 data_ov18_0216cd94: ; 0x0216cd94 .word func_ov00_0208b6d0 .global data_ov18_0216cd98 data_ov18_0216cd98: ; 0x0216cd98 .word func_ov18_021646e8 .global data_ov18_0216cd9c data_ov18_0216cd9c: ; 0x0216cd9c .word func_ov14_02147304 .global data_ov18_0216cda0 data_ov18_0216cda0: ; 0x0216cda0 .word func_ov14_02147450 .global data_ov18_0216cda4 data_ov18_0216cda4: ; 0x0216cda4 .word func_ov00_0208b6f0 .global data_ov18_0216cda8 data_ov18_0216cda8: ; 0x0216cda8 .word func_ov00_0208b6f8 .global data_ov18_0216cdac data_ov18_0216cdac: ; 0x0216cdac .word func_ov14_02147490 .global data_ov18_0216cdb0 data_ov18_0216cdb0: ; 0x0216cdb0 .word func_ov18_02164440 .global data_ov18_0216cdb4 data_ov18_0216cdb4: ; 0x0216cdb4 .word func_ov00_0208b70c .global data_ov18_0216cdb8 data_ov18_0216cdb8: ; 0x0216cdb8 .word func_ov00_0208b710 .global data_ov18_0216cdbc data_ov18_0216cdbc: ; 0x0216cdbc .word func_ov00_0208c9f8 .global data_ov18_0216cdc0 data_ov18_0216cdc0: ; 0x0216cdc0 .word func_ov00_0208b71c .global data_ov18_0216cdc4 data_ov18_0216cdc4: ; 0x0216cdc4 .word func_ov00_0208b844 .global data_ov18_0216cdc8 data_ov18_0216cdc8: ; 0x0216cdc8 .word func_ov00_0208b870 .global data_ov18_0216cdcc data_ov18_0216cdcc: ; 0x0216cdcc .word func_ov00_0208b89c .global data_ov18_0216cdd0 data_ov18_0216cdd0: ; 0x0216cdd0 .word func_ov00_0208ba30 .global data_ov18_0216cdd4 data_ov18_0216cdd4: ; 0x0216cdd4 .word func_ov00_0208ba38 .global data_ov18_0216cdd8 data_ov18_0216cdd8: ; 0x0216cdd8 .word func_ov00_0208ba40 .global data_ov18_0216cddc data_ov18_0216cddc: ; 0x0216cddc .word func_ov00_0208ba48 .global data_ov18_0216cde0 data_ov18_0216cde0: ; 0x0216cde0 .word func_ov00_0208ba50 .global data_ov18_0216cde4 data_ov18_0216cde4: ; 0x0216cde4 .word func_ov18_02164674 .global data_ov18_0216cde8 data_ov18_0216cde8: ; 0x0216cde8 .word func_ov14_02146eb4 .global data_ov18_0216cdec data_ov18_0216cdec: ; 0x0216cdec .word func_ov00_0208c38c .global data_ov18_0216cdf0 data_ov18_0216cdf0: ; 0x0216cdf0 .word func_ov14_0214768c .global data_ov18_0216cdf4 data_ov18_0216cdf4: ; 0x0216cdf4 .word func_ov18_0216454c .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 .word func_ov18_021647d8 .global data_ov18_0216ce04 data_ov18_0216ce04: ; 0x0216ce04 .word func_ov18_02164800 .global data_ov18_0216ce08 data_ov18_0216ce08: ; 0x0216ce08 .word func_ov18_02164838 .global data_ov18_0216ce0c data_ov18_0216ce0c: ; 0x0216ce0c .word func_ov18_02164920 .global data_ov18_0216ce10 data_ov18_0216ce10: ; 0x0216ce10 .word func_ov00_0208b694 .global data_ov18_0216ce14 data_ov18_0216ce14: ; 0x0216ce14 .word func_ov00_0208b698 .global data_ov18_0216ce18 data_ov18_0216ce18: ; 0x0216ce18 .word func_ov00_0208b6b8 .global data_ov18_0216ce1c data_ov18_0216ce1c: ; 0x0216ce1c .word func_ov18_02164830 .global data_ov18_0216ce20 data_ov18_0216ce20: ; 0x0216ce20 .word func_ov00_0208b6bc .global data_ov18_0216ce24 data_ov18_0216ce24: ; 0x0216ce24 .word func_ov00_0208b6c4 .global data_ov18_0216ce28 data_ov18_0216ce28: ; 0x0216ce28 .word func_ov00_0208b6c8 .global data_ov18_0216ce2c data_ov18_0216ce2c: ; 0x0216ce2c .word func_ov00_0208b6d0 .global data_ov18_0216ce30 data_ov18_0216ce30: ; 0x0216ce30 .word func_ov00_0208b6d8 .global data_ov18_0216ce34 data_ov18_0216ce34: ; 0x0216ce34 .word func_ov00_0208b6e0 .global data_ov18_0216ce38 data_ov18_0216ce38: ; 0x0216ce38 .word func_ov00_0208b6e8 .global data_ov18_0216ce3c data_ov18_0216ce3c: ; 0x0216ce3c .word func_ov18_02164b24 .global data_ov18_0216ce40 data_ov18_0216ce40: ; 0x0216ce40 .word func_ov00_0208b6f8 .global data_ov18_0216ce44 data_ov18_0216ce44: ; 0x0216ce44 .word func_ov00_0208b700 .global data_ov18_0216ce48 data_ov18_0216ce48: ; 0x0216ce48 .word func_ov00_0208b704 .global data_ov18_0216ce4c data_ov18_0216ce4c: ; 0x0216ce4c .word func_ov00_0208b70c .global data_ov18_0216ce50 data_ov18_0216ce50: ; 0x0216ce50 .word func_ov00_0208b710 .global data_ov18_0216ce54 data_ov18_0216ce54: ; 0x0216ce54 .word func_ov00_0208c9f8 .global data_ov18_0216ce58 data_ov18_0216ce58: ; 0x0216ce58 .word func_ov00_0208b71c .global data_ov18_0216ce5c data_ov18_0216ce5c: ; 0x0216ce5c .word func_ov00_0208b844 .global data_ov18_0216ce60 data_ov18_0216ce60: ; 0x0216ce60 .word func_ov00_0208b870 .global data_ov18_0216ce64 data_ov18_0216ce64: ; 0x0216ce64 .word func_ov00_0208b89c .global data_ov18_0216ce68 data_ov18_0216ce68: ; 0x0216ce68 .word func_ov00_0208ba30 .global data_ov18_0216ce6c data_ov18_0216ce6c: ; 0x0216ce6c .word func_ov00_0208ba38 .global data_ov18_0216ce70 data_ov18_0216ce70: ; 0x0216ce70 .word func_ov00_0208ba40 .global data_ov18_0216ce74 data_ov18_0216ce74: ; 0x0216ce74 .word func_ov00_0208ba48 .global data_ov18_0216ce78 data_ov18_0216ce78: ; 0x0216ce78 .word func_ov00_0208ba50 .global data_ov18_0216ce7c data_ov18_0216ce7c: ; 0x0216ce7c .word func_ov18_02164b74 .global data_ov18_0216ce80 data_ov18_0216ce80: ; 0x0216ce80 .word func_ov18_021649a0 .global data_ov18_0216ce84 data_ov18_0216ce84: ; 0x0216ce84 .word func_ov00_0208c38c .global data_ov18_0216ce88 data_ov18_0216ce88: ; 0x0216ce88 .word func_ov00_0208c39c .global data_ov18_0216ce8c data_ov18_0216ce8c: ; 0x0216ce8c .word func_ov18_021650ac .global data_ov18_0216ce90 data_ov18_0216ce90: ; 0x0216ce90 .word func_ov18_02164bf0 .global data_ov18_0216ce94 data_ov18_0216ce94: ; 0x0216ce94 .word func_ov18_021650f4 .global data_ov18_0216ce98 data_ov18_0216ce98: ; 0x0216ce98 .word func_ov18_0216513c .global data_ov18_0216ce9c data_ov18_0216ce9c: ; 0x0216ce9c .word func_ov18_02165184 .global data_ov18_0216cea0 data_ov18_0216cea0: ; 0x0216cea0 .word func_ov18_021651c8 .global data_ov18_0216cea4 data_ov18_0216cea4: ; 0x0216cea4 .word func_ov18_02164c34 .global data_ov18_0216cea8 data_ov18_0216cea8: ; 0x0216cea8 .word func_ov18_02164c78 .global data_ov18_0216ceac data_ov18_0216ceac: ; 0x0216ceac .word func_ov18_02164cbc .global data_ov18_0216ceb0 data_ov18_0216ceb0: ; 0x0216ceb0 .word func_ov18_02164d00 .global data_ov18_0216ceb4 data_ov18_0216ceb4: ; 0x0216ceb4 .word func_ov18_02164d44 .global data_ov18_0216ceb8 data_ov18_0216ceb8: ; 0x0216ceb8 .word func_ov18_02164d88 .global data_ov18_0216cebc data_ov18_0216cebc: ; 0x0216cebc .word func_ov18_02164dcc .global data_ov18_0216cec0 data_ov18_0216cec0: ; 0x0216cec0 .word func_ov18_02164e28 .global data_ov18_0216cec4 data_ov18_0216cec4: ; 0x0216cec4 .word func_ov18_02164e84 .global data_ov18_0216cec8 data_ov18_0216cec8: ; 0x0216cec8 .word func_ov18_02164ee0 .global data_ov18_0216cecc data_ov18_0216cecc: ; 0x0216cecc .word func_ov18_02164f54 .global data_ov18_0216ced0 data_ov18_0216ced0: ; 0x0216ced0 .word func_ov18_02164fb0 .global data_ov18_0216ced4 data_ov18_0216ced4: ; 0x0216ced4 .word func_ov18_0216500c .global data_ov18_0216ced8 data_ov18_0216ced8: ; 0x0216ced8 .word func_ov18_02165050 .global data_ov18_0216cedc data_ov18_0216cedc: ; 0x0216cedc .word func_ov18_02165210 .global data_ov18_0216cee0 data_ov18_0216cee0: ; 0x0216cee0 .word func_ov18_02165254 .global data_ov18_0216cee4 data_ov18_0216cee4: ; 0x0216cee4 .word func_ov18_02165298 .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 .word func_ov18_021658dc .global data_ov18_0216cfa4 data_ov18_0216cfa4: ; 0x0216cfa4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfa8 data_ov18_0216cfa8: ; 0x0216cfa8 .word func_ov18_0216592c .global data_ov18_0216cfac data_ov18_0216cfac: ; 0x0216cfac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfb0 data_ov18_0216cfb0: ; 0x0216cfb0 .word func_ov18_021659b4 .global data_ov18_0216cfb4 data_ov18_0216cfb4: ; 0x0216cfb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov18_0216cfb8 data_ov18_0216cfb8: ; 0x0216cfb8 .word func_ov18_02165a24 .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 .word func_ov18_021653f0 .global data_ov18_0216cfcc data_ov18_0216cfcc: ; 0x0216cfcc .word func_ov18_02165404 .global data_ov18_0216cfd0 data_ov18_0216cfd0: ; 0x0216cfd0 .word func_ov18_02165420 .global data_ov18_0216cfd4 data_ov18_0216cfd4: ; 0x0216cfd4 .word _ZN5Actor8vfunc_0cEv .global data_ov18_0216cfd8 data_ov18_0216cfd8: ; 0x0216cfd8 .word _ZN5Actor8vfunc_10Ej .global data_ov18_0216cfdc data_ov18_0216cfdc: ; 0x0216cfdc .word func_ov14_02144a90 .global data_ov18_0216cfe0 data_ov18_0216cfe0: ; 0x0216cfe0 .word func_ov14_02144b64 .global data_ov18_0216cfe4 data_ov18_0216cfe4: ; 0x0216cfe4 .word _ZN5Actor8vfunc_1cEt .global data_ov18_0216cfe8 data_ov18_0216cfe8: ; 0x0216cfe8 .word func_ov18_02165acc .global data_ov18_0216cfec data_ov18_0216cfec: ; 0x0216cfec .word _ZN5Actor8vfunc_24Ev .global data_ov18_0216cff0 data_ov18_0216cff0: ; 0x0216cff0 .word _ZN5Actor8vfunc_28Ev .global data_ov18_0216cff4 data_ov18_0216cff4: ; 0x0216cff4 .word _ZN5Actor8vfunc_2cEv .global data_ov18_0216cff8 data_ov18_0216cff8: ; 0x0216cff8 .word _ZN5Actor8vfunc_30Ev .global data_ov18_0216cffc data_ov18_0216cffc: ; 0x0216cffc .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov18_0216d000 data_ov18_0216d000: ; 0x0216d000 .word _ZN5Actor8vfunc_38Ev .global data_ov18_0216d004 data_ov18_0216d004: ; 0x0216d004 .word _ZN5Actor16CollidesWithLinkEv .global data_ov18_0216d008 data_ov18_0216d008: ; 0x0216d008 .word func_ov14_02145974 .global data_ov18_0216d00c data_ov18_0216d00c: ; 0x0216d00c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov18_0216d010 data_ov18_0216d010: ; 0x0216d010 .word func_ov18_021656f8 .global data_ov18_0216d014 data_ov18_0216d014: ; 0x0216d014 .word _ZN5Actor8vfunc_4cEPi .global data_ov18_0216d018 data_ov18_0216d018: ; 0x0216d018 .word _ZN5Actor6GetPosEv .global data_ov18_0216d01c data_ov18_0216d01c: ; 0x0216d01c .word _ZN5Actor8vfunc_54Ev .global data_ov18_0216d020 data_ov18_0216d020: ; 0x0216d020 .word _ZN5Actor10SetUnk_11bEv .global data_ov18_0216d024 data_ov18_0216d024: ; 0x0216d024 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov18_0216d028 data_ov18_0216d028: ; 0x0216d028 .word _ZN5Actor8vfunc_60Ev .global data_ov18_0216d02c data_ov18_0216d02c: ; 0x0216d02c .word _ZN5Actor8vfunc_64Ev .global data_ov18_0216d030 data_ov18_0216d030: ; 0x0216d030 .word func_ov18_021656e4 .global data_ov18_0216d034 data_ov18_0216d034: ; 0x0216d034 .word _ZN5Actor8vfunc_6cEv .global data_ov18_0216d038 data_ov18_0216d038: ; 0x0216d038 .word _ZN5Actor8vfunc_70Ev .global data_ov18_0216d03c data_ov18_0216d03c: ; 0x0216d03c .word func_ov14_02145698 .global data_ov18_0216d040 data_ov18_0216d040: ; 0x0216d040 .word func_ov14_02145690 .global data_ov18_0216d044 data_ov18_0216d044: ; 0x0216d044 .word func_ov14_0214573c .global data_ov18_0216d048 data_ov18_0216d048: ; 0x0216d048 .word func_ov14_02145578 .global data_ov18_0216d04c data_ov18_0216d04c: ; 0x0216d04c .word func_ov14_021455b0 .global data_ov18_0216d050 data_ov18_0216d050: ; 0x0216d050 .word _ZN5Actor8vfunc_88Ev .global data_ov18_0216d054 data_ov18_0216d054: ; 0x0216d054 .word _ZN5Actor8vfunc_8cEv .global data_ov18_0216d058 data_ov18_0216d058: ; 0x0216d058 .word func_ov14_02145760 .global data_ov18_0216d05c data_ov18_0216d05c: ; 0x0216d05c .word func_ov14_02145814 .global data_ov18_0216d060 data_ov18_0216d060: ; 0x0216d060 .word func_ov14_02145874 .global data_ov18_0216d064 data_ov18_0216d064: ; 0x0216d064 .word func_ov14_021458b0 .global data_ov18_0216d068 data_ov18_0216d068: ; 0x0216d068 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov18_0216d06c data_ov18_0216d06c: ; 0x0216d06c .word _ZN5Actor12SetTransformEP9Transform .global data_ov18_0216d070 data_ov18_0216d070: ; 0x0216d070 .word _ZN5Actor8vfunc_a8Ev .global data_ov18_0216d074 data_ov18_0216d074: ; 0x0216d074 .word _ZN5Actor8vfunc_acEv .global data_ov18_0216d078 data_ov18_0216d078: ; 0x0216d078 .word _ZN5Actor8vfunc_b0Ev .global data_ov18_0216d07c data_ov18_0216d07c: ; 0x0216d07c .word func_ov14_02144d08 .global data_ov18_0216d080 data_ov18_0216d080: ; 0x0216d080 .word func_ov14_02144d34 ; func_ov60_02144d34 .global data_ov18_0216d084 data_ov18_0216d084: ; 0x0216d084 .word func_ov14_02144d74 .global data_ov18_0216d088 data_ov18_0216d088: ; 0x0216d088 .word func_ov18_021656f0 .global data_ov18_0216d08c data_ov18_0216d08c: ; 0x0216d08c .word func_ov18_02165a70 ; func_ov61_02165a70 .global data_ov18_0216d090 data_ov18_0216d090: ; 0x0216d090 .word func_ov14_02145678 .global data_ov18_0216d094 data_ov18_0216d094: ; 0x0216d094 .word func_ov14_021455e4 .global data_ov18_0216d098 data_ov18_0216d098: ; 0x0216d098 .word func_ov14_021458a0 .global data_ov18_0216d09c data_ov18_0216d09c: ; 0x0216d09c .word func_ov14_02144d00 .global data_ov18_0216d0a0 data_ov18_0216d0a0: ; 0x0216d0a0 .word func_ov14_021448d4 .global data_ov18_0216d0a4 data_ov18_0216d0a4: ; 0x0216d0a4 .word func_ov14_021448dc .global data_ov18_0216d0a8 data_ov18_0216d0a8: ; 0x0216d0a8 .word func_ov14_021448e4 ; func_ov61_021448e4 .global data_ov18_0216d0ac data_ov18_0216d0ac: ; 0x0216d0ac .word func_ov14_021448ec .global data_ov18_0216d0b0 data_ov18_0216d0b0: ; 0x0216d0b0 .word func_ov14_021448f4 .global data_ov18_0216d0b4 data_ov18_0216d0b4: ; 0x0216d0b4 .word func_ov14_021458cc .global data_ov18_0216d0b8 data_ov18_0216d0b8: ; 0x0216d0b8 .word func_ov14_02145900 .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 .word func_ov18_02165bbc .global data_ov18_0216d0d0 data_ov18_0216d0d0: ; 0x0216d0d0 .word func_ov18_02165bf0 .global data_ov18_0216d0d4 data_ov18_0216d0d4: ; 0x0216d0d4 .word func_ov18_02165cec ; func_ov61_02165cec .global data_ov18_0216d0d8 data_ov18_0216d0d8: ; 0x0216d0d8 .word _ZN5Actor8vfunc_0cEv .global data_ov18_0216d0dc data_ov18_0216d0dc: ; 0x0216d0dc .word _ZN5Actor8vfunc_10Ej .global data_ov18_0216d0e0 data_ov18_0216d0e0: ; 0x0216d0e0 .word func_ov14_02144a90 .global data_ov18_0216d0e4 data_ov18_0216d0e4: ; 0x0216d0e4 .word func_ov14_02144b64 .global data_ov18_0216d0e8 data_ov18_0216d0e8: ; 0x0216d0e8 .word _ZN5Actor8vfunc_1cEt .global data_ov18_0216d0ec data_ov18_0216d0ec: ; 0x0216d0ec .word func_ov18_021682f8 .global data_ov18_0216d0f0 data_ov18_0216d0f0: ; 0x0216d0f0 .word _ZN5Actor8vfunc_24Ev .global data_ov18_0216d0f4 data_ov18_0216d0f4: ; 0x0216d0f4 .word _ZN5Actor8vfunc_28Ev .global data_ov18_0216d0f8 data_ov18_0216d0f8: ; 0x0216d0f8 .word _ZN5Actor8vfunc_2cEv .global data_ov18_0216d0fc data_ov18_0216d0fc: ; 0x0216d0fc .word _ZN5Actor8vfunc_30Ev .global data_ov18_0216d100 data_ov18_0216d100: ; 0x0216d100 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov18_0216d104 data_ov18_0216d104: ; 0x0216d104 .word _ZN5Actor8vfunc_38Ev .global data_ov18_0216d108 data_ov18_0216d108: ; 0x0216d108 .word func_ov18_02165de4 .global data_ov18_0216d10c data_ov18_0216d10c: ; 0x0216d10c .word func_ov14_02145974 .global data_ov18_0216d110 data_ov18_0216d110: ; 0x0216d110 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov18_0216d114 data_ov18_0216d114: ; 0x0216d114 .word _ZN5Actor8vfunc_48Ei .global data_ov18_0216d118 data_ov18_0216d118: ; 0x0216d118 .word _ZN5Actor8vfunc_4cEPi .global data_ov18_0216d11c data_ov18_0216d11c: ; 0x0216d11c .word _ZN5Actor6GetPosEv .global data_ov18_0216d120 data_ov18_0216d120: ; 0x0216d120 .word _ZN5Actor8vfunc_54Ev .global data_ov18_0216d124 data_ov18_0216d124: ; 0x0216d124 .word _ZN5Actor10SetUnk_11bEv .global data_ov18_0216d128 data_ov18_0216d128: ; 0x0216d128 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov18_0216d12c data_ov18_0216d12c: ; 0x0216d12c .word _ZN5Actor8vfunc_60Ev .global data_ov18_0216d130 data_ov18_0216d130: ; 0x0216d130 .word _ZN5Actor8vfunc_64Ev .global data_ov18_0216d134 data_ov18_0216d134: ; 0x0216d134 .word func_ov18_02165e08 .global data_ov18_0216d138 data_ov18_0216d138: ; 0x0216d138 .word func_ov18_02166098 .global data_ov18_0216d13c data_ov18_0216d13c: ; 0x0216d13c .word func_ov18_02165f50 .global data_ov18_0216d140 data_ov18_0216d140: ; 0x0216d140 .word func_ov14_02145698 .global data_ov18_0216d144 data_ov18_0216d144: ; 0x0216d144 .word func_ov14_02145690 .global data_ov18_0216d148 data_ov18_0216d148: ; 0x0216d148 .word func_ov14_0214573c .global data_ov18_0216d14c data_ov18_0216d14c: ; 0x0216d14c .word func_ov14_02145578 .global data_ov18_0216d150 data_ov18_0216d150: ; 0x0216d150 .word func_ov14_021455b0 .global data_ov18_0216d154 data_ov18_0216d154: ; 0x0216d154 .word _ZN5Actor8vfunc_88Ev .global data_ov18_0216d158 data_ov18_0216d158: ; 0x0216d158 .word _ZN5Actor8vfunc_8cEv .global data_ov18_0216d15c data_ov18_0216d15c: ; 0x0216d15c .word func_ov14_02145760 .global data_ov18_0216d160 data_ov18_0216d160: ; 0x0216d160 .word func_ov14_02145814 .global data_ov18_0216d164 data_ov18_0216d164: ; 0x0216d164 .word func_ov14_02145874 .global data_ov18_0216d168 data_ov18_0216d168: ; 0x0216d168 .word func_ov14_021458b0 .global data_ov18_0216d16c data_ov18_0216d16c: ; 0x0216d16c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov18_0216d170 data_ov18_0216d170: ; 0x0216d170 .word _ZN5Actor12SetTransformEP9Transform .global data_ov18_0216d174 data_ov18_0216d174: ; 0x0216d174 .word _ZN5Actor8vfunc_a8Ev .global data_ov18_0216d178 data_ov18_0216d178: ; 0x0216d178 .word _ZN5Actor8vfunc_acEv .global data_ov18_0216d17c data_ov18_0216d17c: ; 0x0216d17c .word _ZN5Actor8vfunc_b0Ev .global data_ov18_0216d180 data_ov18_0216d180: ; 0x0216d180 .word func_ov14_02144d08 .global data_ov18_0216d184 data_ov18_0216d184: ; 0x0216d184 .word func_ov14_02144d34 ; func_ov60_02144d34 .global data_ov18_0216d188 data_ov18_0216d188: ; 0x0216d188 .word func_ov14_02144d74 .global data_ov18_0216d18c data_ov18_0216d18c: ; 0x0216d18c .word func_ov18_02166bd4 .global data_ov18_0216d190 data_ov18_0216d190: ; 0x0216d190 .word func_ov18_02166bdc .global data_ov18_0216d194 data_ov18_0216d194: ; 0x0216d194 .word func_ov14_02145678 .global data_ov18_0216d198 data_ov18_0216d198: ; 0x0216d198 .word func_ov14_021455e4 .global data_ov18_0216d19c data_ov18_0216d19c: ; 0x0216d19c .word func_ov14_021458a0 .global data_ov18_0216d1a0 data_ov18_0216d1a0: ; 0x0216d1a0 .word func_ov18_02165df0 .global data_ov18_0216d1a4 data_ov18_0216d1a4: ; 0x0216d1a4 .word func_ov14_021448d4 .global data_ov18_0216d1a8 data_ov18_0216d1a8: ; 0x0216d1a8 .word func_ov14_021448dc .global data_ov18_0216d1ac data_ov18_0216d1ac: ; 0x0216d1ac .word func_ov14_021448e4 ; func_ov61_021448e4 .global data_ov18_0216d1b0 data_ov18_0216d1b0: ; 0x0216d1b0 .word func_ov14_021448ec .global data_ov18_0216d1b4 data_ov18_0216d1b4: ; 0x0216d1b4 .word func_ov14_021448f4 .global data_ov18_0216d1b8 data_ov18_0216d1b8: ; 0x0216d1b8 .word func_ov14_021458cc .global data_ov18_0216d1bc data_ov18_0216d1bc: ; 0x0216d1bc .word func_ov14_02145900 .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 .word func_ov18_021687f0 .global data_ov18_0216d1cc data_ov18_0216d1cc: ; 0x0216d1cc .word func_ov18_02168818 .global data_ov18_0216d1d0 data_ov18_0216d1d0: ; 0x0216d1d0 .word func_ov18_02168848 .global data_ov18_0216d1d4 data_ov18_0216d1d4: ; 0x0216d1d4 .word func_ov18_02168924 .global data_ov18_0216d1d8 data_ov18_0216d1d8: ; 0x0216d1d8 .word func_ov00_0208b694 .global data_ov18_0216d1dc data_ov18_0216d1dc: ; 0x0216d1dc .word func_ov00_0208b698 .global data_ov18_0216d1e0 data_ov18_0216d1e0: ; 0x0216d1e0 .word func_ov00_0208b6b8 .global data_ov18_0216d1e4 data_ov18_0216d1e4: ; 0x0216d1e4 .word func_ov18_02168f7c .global data_ov18_0216d1e8 data_ov18_0216d1e8: ; 0x0216d1e8 .word func_ov00_0208b6bc .global data_ov18_0216d1ec data_ov18_0216d1ec: ; 0x0216d1ec .word func_ov00_0208b6c4 .global data_ov18_0216d1f0 data_ov18_0216d1f0: ; 0x0216d1f0 .word func_ov00_0208b6c8 .global data_ov18_0216d1f4 data_ov18_0216d1f4: ; 0x0216d1f4 .word func_ov00_0208b6d0 .global data_ov18_0216d1f8 data_ov18_0216d1f8: ; 0x0216d1f8 .word func_ov00_0208b6d8 .global data_ov18_0216d1fc data_ov18_0216d1fc: ; 0x0216d1fc .word func_ov00_0208b6e0 .global data_ov18_0216d200 data_ov18_0216d200: ; 0x0216d200 .word func_ov00_0208b6e8 .global data_ov18_0216d204 data_ov18_0216d204: ; 0x0216d204 .word func_ov00_0208b6f0 .global data_ov18_0216d208 data_ov18_0216d208: ; 0x0216d208 .word func_ov00_0208b6f8 .global data_ov18_0216d20c data_ov18_0216d20c: ; 0x0216d20c .word func_ov00_0208b700 .global data_ov18_0216d210 data_ov18_0216d210: ; 0x0216d210 .word func_ov18_02168c10 .global data_ov18_0216d214 data_ov18_0216d214: ; 0x0216d214 .word func_ov00_0208b70c .global data_ov18_0216d218 data_ov18_0216d218: ; 0x0216d218 .word func_ov00_0208b710 .global data_ov18_0216d21c data_ov18_0216d21c: ; 0x0216d21c .word func_ov00_0208ca00 .global data_ov18_0216d220 data_ov18_0216d220: ; 0x0216d220 .word func_ov00_0208b71c .global data_ov18_0216d224 data_ov18_0216d224: ; 0x0216d224 .word func_ov00_0208b844 .global data_ov18_0216d228 data_ov18_0216d228: ; 0x0216d228 .word func_ov00_0208b870 .global data_ov18_0216d22c data_ov18_0216d22c: ; 0x0216d22c .word func_ov00_0208b89c .global data_ov18_0216d230 data_ov18_0216d230: ; 0x0216d230 .word func_ov00_0208ba30 .global data_ov18_0216d234 data_ov18_0216d234: ; 0x0216d234 .word func_ov00_0208ba38 .global data_ov18_0216d238 data_ov18_0216d238: ; 0x0216d238 .word func_ov00_0208ba40 .global data_ov18_0216d23c data_ov18_0216d23c: ; 0x0216d23c .word func_ov00_0208ba48 .global data_ov18_0216d240 data_ov18_0216d240: ; 0x0216d240 .word func_ov00_0208ba50 .global data_ov18_0216d244 data_ov18_0216d244: ; 0x0216d244 .word func_ov18_02168eb8 .global data_ov18_0216d248 data_ov18_0216d248: ; 0x0216d248 .word func_ov18_02168a88 .global data_ov18_0216d24c data_ov18_0216d24c: ; 0x0216d24c .word func_ov00_0208c38c .global data_ov18_0216d250 data_ov18_0216d250: ; 0x0216d250 .word func_ov00_0208c39c .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 .word func_ov18_02168fe8 .global data_ov18_0216d26c data_ov18_0216d26c: ; 0x0216d26c .word func_ov18_02169024 .global data_ov18_0216d270 data_ov18_0216d270: ; 0x0216d270 .word func_ov18_02169088 .global data_ov18_0216d274 data_ov18_0216d274: ; 0x0216d274 .word _ZN5Actor8vfunc_0cEv .global data_ov18_0216d278 data_ov18_0216d278: ; 0x0216d278 .word _ZN5Actor8vfunc_10Ej .global data_ov18_0216d27c data_ov18_0216d27c: ; 0x0216d27c .word func_ov18_02169158 .global data_ov18_0216d280 data_ov18_0216d280: ; 0x0216d280 .word func_ov18_02169230 .global data_ov18_0216d284 data_ov18_0216d284: ; 0x0216d284 .word _ZN5Actor8vfunc_1cEt .global data_ov18_0216d288 data_ov18_0216d288: ; 0x0216d288 .word _ZN5Actor8vfunc_20Ei .global data_ov18_0216d28c data_ov18_0216d28c: ; 0x0216d28c .word func_ov18_02169068 .global data_ov18_0216d290 data_ov18_0216d290: ; 0x0216d290 .word _ZN5Actor8vfunc_28Ev .global data_ov18_0216d294 data_ov18_0216d294: ; 0x0216d294 .word _ZN5Actor8vfunc_2cEv .global data_ov18_0216d298 data_ov18_0216d298: ; 0x0216d298 .word _ZN5Actor8vfunc_30Ev .global data_ov18_0216d29c data_ov18_0216d29c: ; 0x0216d29c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov18_0216d2a0 data_ov18_0216d2a0: ; 0x0216d2a0 .word _ZN5Actor8vfunc_38Ev .global data_ov18_0216d2a4 data_ov18_0216d2a4: ; 0x0216d2a4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov18_0216d2a8 data_ov18_0216d2a8: ; 0x0216d2a8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov18_0216d2ac data_ov18_0216d2ac: ; 0x0216d2ac .word _ZN5Actor12CollidesWithEPKS_ .global data_ov18_0216d2b0 data_ov18_0216d2b0: ; 0x0216d2b0 .word _ZN5Actor8vfunc_48Ei .global data_ov18_0216d2b4 data_ov18_0216d2b4: ; 0x0216d2b4 .word _ZN5Actor8vfunc_4cEPi .global data_ov18_0216d2b8 data_ov18_0216d2b8: ; 0x0216d2b8 .word _ZN5Actor6GetPosEv .global data_ov18_0216d2bc data_ov18_0216d2bc: ; 0x0216d2bc .word _ZN5Actor8vfunc_54Ev .global data_ov18_0216d2c0 data_ov18_0216d2c0: ; 0x0216d2c0 .word _ZN5Actor10SetUnk_11bEv .global data_ov18_0216d2c4 data_ov18_0216d2c4: ; 0x0216d2c4 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov18_0216d2c8 data_ov18_0216d2c8: ; 0x0216d2c8 .word _ZN5Actor8vfunc_60Ev .global data_ov18_0216d2cc data_ov18_0216d2cc: ; 0x0216d2cc .word _ZN5Actor8vfunc_64Ev .global data_ov18_0216d2d0 data_ov18_0216d2d0: ; 0x0216d2d0 .word _ZN5Actor8vfunc_68Ev .global data_ov18_0216d2d4 data_ov18_0216d2d4: ; 0x0216d2d4 .word _ZN5Actor8vfunc_6cEv .global data_ov18_0216d2d8 data_ov18_0216d2d8: ; 0x0216d2d8 .word _ZN5Actor8vfunc_70Ev .global data_ov18_0216d2dc data_ov18_0216d2dc: ; 0x0216d2dc .word _ZN5Actor8vfunc_74Ev .global data_ov18_0216d2e0 data_ov18_0216d2e0: ; 0x0216d2e0 .word _ZN5Actor8vfunc_78Ev .global data_ov18_0216d2e4 data_ov18_0216d2e4: ; 0x0216d2e4 .word _ZN5Actor8vfunc_7cEv .global data_ov18_0216d2e8 data_ov18_0216d2e8: ; 0x0216d2e8 .word _ZN5Actor8vfunc_80Ev .global data_ov18_0216d2ec data_ov18_0216d2ec: ; 0x0216d2ec .word _ZN5Actor8vfunc_84Ev .global data_ov18_0216d2f0 data_ov18_0216d2f0: ; 0x0216d2f0 .word _ZN5Actor8vfunc_88Ev .global data_ov18_0216d2f4 data_ov18_0216d2f4: ; 0x0216d2f4 .word _ZN5Actor8vfunc_8cEv .global data_ov18_0216d2f8 data_ov18_0216d2f8: ; 0x0216d2f8 .word _ZN5Actor8vfunc_90Ev .global data_ov18_0216d2fc data_ov18_0216d2fc: ; 0x0216d2fc .word _ZN5Actor8vfunc_94Ev .global data_ov18_0216d300 data_ov18_0216d300: ; 0x0216d300 .word _ZN5Actor8vfunc_98Ev .global data_ov18_0216d304 data_ov18_0216d304: ; 0x0216d304 .word _ZN5Actor8vfunc_9cEv .global data_ov18_0216d308 data_ov18_0216d308: ; 0x0216d308 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov18_0216d30c data_ov18_0216d30c: ; 0x0216d30c .word _ZN5Actor12SetTransformEP9Transform .global data_ov18_0216d310 data_ov18_0216d310: ; 0x0216d310 .word _ZN5Actor8vfunc_a8Ev .global data_ov18_0216d314 data_ov18_0216d314: ; 0x0216d314 .word _ZN5Actor8vfunc_acEv .global data_ov18_0216d318 data_ov18_0216d318: ; 0x0216d318 .word _ZN5Actor8vfunc_b0Ev .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 .word func_ov18_0216a144 .global data_ov18_0216d328 data_ov18_0216d328: ; 0x0216d328 .word func_ov18_0216a158 .global data_ov18_0216d32c data_ov18_0216d32c: ; 0x0216d32c .word func_ov18_0216a174 .global data_ov18_0216d330 data_ov18_0216d330: ; 0x0216d330 .word _ZN5Actor8vfunc_0cEv .global data_ov18_0216d334 data_ov18_0216d334: ; 0x0216d334 .word _ZN5Actor8vfunc_10Ej .global data_ov18_0216d338 data_ov18_0216d338: ; 0x0216d338 .word func_ov18_0216a23c .global data_ov18_0216d33c data_ov18_0216d33c: ; 0x0216d33c .word _ZN5Actor8vfunc_18Ej .global data_ov18_0216d340 data_ov18_0216d340: ; 0x0216d340 .word _ZN5Actor8vfunc_1cEt .global data_ov18_0216d344 data_ov18_0216d344: ; 0x0216d344 .word _ZN5Actor8vfunc_20Ei .global data_ov18_0216d348 data_ov18_0216d348: ; 0x0216d348 .word _ZN5Actor8vfunc_24Ev .global data_ov18_0216d34c data_ov18_0216d34c: ; 0x0216d34c .word _ZN5Actor8vfunc_28Ev .global data_ov18_0216d350 data_ov18_0216d350: ; 0x0216d350 .word _ZN5Actor8vfunc_2cEv .global data_ov18_0216d354 data_ov18_0216d354: ; 0x0216d354 .word _ZN5Actor8vfunc_30Ev .global data_ov18_0216d358 data_ov18_0216d358: ; 0x0216d358 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov18_0216d35c data_ov18_0216d35c: ; 0x0216d35c .word _ZN5Actor8vfunc_38Ev .global data_ov18_0216d360 data_ov18_0216d360: ; 0x0216d360 .word _ZN5Actor16CollidesWithLinkEv .global data_ov18_0216d364 data_ov18_0216d364: ; 0x0216d364 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov18_0216d368 data_ov18_0216d368: ; 0x0216d368 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov18_0216d36c data_ov18_0216d36c: ; 0x0216d36c .word _ZN5Actor8vfunc_48Ei .global data_ov18_0216d370 data_ov18_0216d370: ; 0x0216d370 .word _ZN5Actor8vfunc_4cEPi .global data_ov18_0216d374 data_ov18_0216d374: ; 0x0216d374 .word _ZN5Actor6GetPosEv .global data_ov18_0216d378 data_ov18_0216d378: ; 0x0216d378 .word _ZN5Actor8vfunc_54Ev .global data_ov18_0216d37c data_ov18_0216d37c: ; 0x0216d37c .word _ZN5Actor10SetUnk_11bEv .global data_ov18_0216d380 data_ov18_0216d380: ; 0x0216d380 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov18_0216d384 data_ov18_0216d384: ; 0x0216d384 .word _ZN5Actor8vfunc_60Ev .global data_ov18_0216d388 data_ov18_0216d388: ; 0x0216d388 .word _ZN5Actor8vfunc_64Ev .global data_ov18_0216d38c data_ov18_0216d38c: ; 0x0216d38c .word _ZN5Actor8vfunc_68Ev .global data_ov18_0216d390 data_ov18_0216d390: ; 0x0216d390 .word _ZN5Actor8vfunc_6cEv .global data_ov18_0216d394 data_ov18_0216d394: ; 0x0216d394 .word _ZN5Actor8vfunc_70Ev .global data_ov18_0216d398 data_ov18_0216d398: ; 0x0216d398 .word _ZN5Actor8vfunc_74Ev .global data_ov18_0216d39c data_ov18_0216d39c: ; 0x0216d39c .word _ZN5Actor8vfunc_78Ev .global data_ov18_0216d3a0 data_ov18_0216d3a0: ; 0x0216d3a0 .word _ZN5Actor8vfunc_7cEv .global data_ov18_0216d3a4 data_ov18_0216d3a4: ; 0x0216d3a4 .word _ZN5Actor8vfunc_80Ev .global data_ov18_0216d3a8 data_ov18_0216d3a8: ; 0x0216d3a8 .word _ZN5Actor8vfunc_84Ev .global data_ov18_0216d3ac data_ov18_0216d3ac: ; 0x0216d3ac .word _ZN5Actor8vfunc_88Ev .global data_ov18_0216d3b0 data_ov18_0216d3b0: ; 0x0216d3b0 .word _ZN5Actor8vfunc_8cEv .global data_ov18_0216d3b4 data_ov18_0216d3b4: ; 0x0216d3b4 .word _ZN5Actor8vfunc_90Ev .global data_ov18_0216d3b8 data_ov18_0216d3b8: ; 0x0216d3b8 .word _ZN5Actor8vfunc_94Ev .global data_ov18_0216d3bc data_ov18_0216d3bc: ; 0x0216d3bc .word _ZN5Actor8vfunc_98Ev .global data_ov18_0216d3c0 data_ov18_0216d3c0: ; 0x0216d3c0 .word _ZN5Actor8vfunc_9cEv .global data_ov18_0216d3c4 data_ov18_0216d3c4: ; 0x0216d3c4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov18_0216d3c8 data_ov18_0216d3c8: ; 0x0216d3c8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov18_0216d3cc data_ov18_0216d3cc: ; 0x0216d3cc .word _ZN5Actor8vfunc_a8Ev .global data_ov18_0216d3d0 data_ov18_0216d3d0: ; 0x0216d3d0 .word _ZN5Actor8vfunc_acEv .global data_ov18_0216d3d4 data_ov18_0216d3d4: ; 0x0216d3d4 .word _ZN5Actor8vfunc_b0Ev .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 .word func_ov18_0216a3b0 .global data_ov18_0216d41c data_ov18_0216d41c: ; 0x0216d41c .word func_ov18_0216a3b4 .global data_ov18_0216d420 data_ov18_0216d420: ; 0x0216d420 .word func_ov18_0216a3c8 .global data_ov18_0216d424 data_ov18_0216d424: ; 0x0216d424 .word func_ov18_0216a5c4 .global data_ov18_0216d428 data_ov18_0216d428: ; 0x0216d428 .word func_ov18_0216a6b4 .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