.include "macros/function.inc" .include "ov15.inc" .text .global func_ov15_0211f640 arm_func_start func_ov15_0211f640 func_ov15_0211f640: ; 0x0211f640 stmdb sp!, {r3, lr} ldrh r2, [r1] ldr r0, _0211f684 ; =0x0000ffff cmp r2, r0 beq _0211f67c ldr r1, _0211f688 ; =data_027e0f6c add r0, sp, #0 ldr r1, [r1] bl func_ov00_02093a1c ldr r0, [sp] mov r0, r0, lsr #0x19 and r0, r0, #1 cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r3, pc} _0211f67c: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0211f640 _0211f684: .word 0x0000ffff _0211f688: .word data_027e0f6c .global func_ov15_0211f68c arm_func_start func_ov15_0211f68c func_ov15_0211f68c: ; 0x0211f68c mov r0, #0 bx lr arm_func_end func_ov15_0211f68c .global func_ov15_0211f694 arm_func_start func_ov15_0211f694 func_ov15_0211f694: ; 0x0211f694 mov r0, #1 bx lr arm_func_end func_ov15_0211f694 .global func_ov15_0211f69c arm_func_start func_ov15_0211f69c func_ov15_0211f69c: ; 0x0211f69c stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x3c mov r6, r0 mov r5, r1 cmp r2, #4 bne _0211f848 ldr r0, _0211f854 ; =data_027e0f6c ldrh r1, [r5] ldr r0, [r0] ldr r0, [r0, #0x40] ldr r4, [r0, r1, lsl #2] mov r0, #1 cmp r4, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, r6, r7, pc} str r0, [r6, #8] mov r3, #0 str r3, [r6, #0xc] ldr r2, [r4, #0xc] mov r1, r2, lsr #0x10 str r2, [sp, #8] ands r1, r1, #0x3f addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, _0211f858 ; =data_027e0e60 mov r7, #0x47 ldr r0, [r0] sub lr, r7, #0x49 mov ip, #0xff add r2, sp, #0x24 and r1, r1, #0xff str r7, [sp, #0x24] str r3, [sp, #0x28] str r3, [sp, #0x2c] str lr, [sp, #0x30] strh r3, [sp, #0x34] strb ip, [sp, #0x36] strb r3, [sp, #0x37] strb r3, [sp, #0x38] strb r3, [sp, #0x39] bl func_ov00_020838e8 cmp r0, #0 addeq sp, sp, #0x3c moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r4 ldr r1, [r0] ldr r1, [r1, #8] blx r1 cmp r0, #0 cmpne r0, #1 beq _0211f778 cmp r0, #2 beq _0211f790 b _0211f7f8 _0211f778: mov r0, r4 ldr r2, [r0] add r1, sp, #0x18 ldr r2, [r2, #0x3c] blx r2 b _0211f7f8 _0211f790: ldrh r0, [sp, #0x34] mov r2, #0 ldr r1, _0211f85c ; =data_02050f54 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 mov r3, r3, lsl #0x1 ldrsh r3, [r1, r3] mov r0, r0, lsl #0x1 ldrsh r1, [r1, r0] add r0, sp, #0xc str r3, [sp, #0xc] str r1, [sp, #0x14] str r2, [sp, #0x10] mov r1, #0x4000 bl func_01fffbec ldr r1, [r5, #4] add r0, sp, #0x18 str r1, [sp, #0x18] ldr r2, [r5, #8] add r1, sp, #0xc str r2, [sp, #0x1c] ldr r3, [r5, #0xc] mov r2, r0 str r3, [sp, #0x20] bl func_01ff9bc4 _0211f7f8: ldr r0, _0211f860 ; =data_027e0d3c add r1, sp, #0x18 ldr r0, [r0] add r2, r6, #0x10 mov r3, #0 bl func_ov00_0207920c ldr r1, [r6, #0x14] ldr r0, [r6, #0x10] add r1, r1, #0x800 mov r2, r1, asr #0xc add r0, r0, #0x800 mov r1, r0, asr #0xc str r1, [sp] str r2, [sp, #4] mov r0, r6 ldr r3, [r0] add r1, sp, #0x24 ldr r3, [r3, #0x18] add r2, sp, #0 blx r3 _0211f848: mov r0, #1 add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0211f69c _0211f854: .word data_027e0f6c _0211f858: .word data_027e0e60 _0211f85c: .word data_02050f54 _0211f860: .word data_027e0d3c .global func_ov15_0211f864 arm_func_start func_ov15_0211f864 func_ov15_0211f864: ; 0x0211f864 ldr r0, _0211f878 ; =data_027e103c ldr ip, _0211f87c ; =func_ov00_020cf2f8 mov r3, #1 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov15_0211f864 _0211f878: .word data_027e103c _0211f87c: .word func_ov00_020cf2f8 .global func_ov15_0211f880 arm_func_start func_ov15_0211f880 func_ov15_0211f880: ; 0x0211f880 ldr r0, _0211f894 ; =data_027e103c ldr ip, _0211f898 ; =func_ov00_020cf2f8 mov r3, #0 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov15_0211f880 _0211f894: .word data_027e103c _0211f898: .word func_ov00_020cf2f8 .global func_ov15_0211f89c arm_func_start func_ov15_0211f89c func_ov15_0211f89c: ; 0x0211f89c stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr r4, _0211f94c ; =data_ov15_02189420 mov r2, #1 stmia sp, {r2, r4} mov r5, r1 mov ip, #0 mov r3, r2 mov r1, #2 mov r4, r0 str ip, [sp, #8] blx func_ov04_02105ff0 mov r0, #0x1000 str r5, [r4, #0x2c] rsb r0, r0, #0 str r0, [r4, #0x30] str r0, [r4, #0x34] str r0, [r4, #0x38] str r0, [r4, #0x3c] mov r3, #0 str r3, [r4, #0x40] ldr r1, _0211f950 ; =data_ov15_02185b1c add r0, r4, #0x48 mov r2, #8 str r3, [r4, #0x44] bl func_ov00_020d3e64 mov r0, #0 strb r0, [r4, #0x58] mov r1, #7 strb r1, [r4, #0x59] strh r0, [r4, #0x5a] add r1, r4, #0x60 mov r2, #0x20 str r0, [r4, #0x5c] bl func_020078c0 mov r1, #0 strb r1, [r4, #0x80] add r1, r4, #0x48 mov r0, r4 str r1, [r4, #0x20] bl func_ov15_021205d8 mov r0, r4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0211f89c _0211f94c: .word data_ov15_02189420 _0211f950: .word data_ov15_02185b1c .global func_ov15_0211f954 arm_func_start func_ov15_0211f954 func_ov15_0211f954: ; 0x0211f954 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020798e8 mov r1, #0 strb r1, [r4, #0x58] str r1, [r4, #0x40] mov r0, r4 str r1, [r4, #0x44] bl func_ov15_0211fd64 bl func_ov15_0213ce4c bl func_ov15_0213d3d4 ldr r0, _0211f9a4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082594 ldr r0, _0211f9a8 ; =data_027e0fe4 ldr r0, [r0] bl func_ov15_02184838 ldr r0, [r4, #0x2c] bl func_ov15_021219a8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0211f954 _0211f9a4: .word data_027e0e60 _0211f9a8: .word data_027e0fe4 .global func_ov15_0211f9ac arm_func_start func_ov15_0211f9ac func_ov15_0211f9ac: ; 0x0211f9ac mov r1, #0 strb r1, [r0, #0x58] str r1, [r0, #0x40] ldr ip, _0211f9c4 ; =func_ov15_0211fd64 str r1, [r0, #0x44] bx ip .align 2, 0 arm_func_end func_ov15_0211f9ac _0211f9c4: .word func_ov15_0211fd64 .global func_ov15_0211f9c8 arm_func_start func_ov15_0211f9c8 func_ov15_0211f9c8: ; 0x0211f9c8 stmdb sp!, {r3, lr} cmp r1, #0 ldmneia sp!, {r3, pc} bl func_ov15_02120628 ldmia sp!, {r3, pc} arm_func_end func_ov15_0211f9c8 .global func_ov15_0211f9dc arm_func_start func_ov15_0211f9dc func_ov15_0211f9dc: ; 0x0211f9dc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x80 ldr r1, _0211fc18 ; =data_027e077c mov r5, r0 ldr r0, [r1] mov r4, #0 cmp r0, #0x11 bne _0211fc0c ldr r0, _0211fc1c ; =data_027e0c68 bl func_02036808 cmp r0, #0 bne _0211fc0c ldr r0, [r5, #0x2c] bl func_ov15_02120b6c cmp r0, #0 bne _0211fc0c ldr r3, _0211fc20 ; =data_ov15_0218ebe0 ldr r0, [r3] tst r0, #1 bne _0211fa64 ldr r0, _0211fc24 ; =data_ov15_0218946c mov r4, #2 str r0, [r3, #0x10] str r5, [r3, #0x14] str r4, [r3, #0x18] ldr r0, _0211fc28 ; =data_ov15_0218ebf0 ldr r1, _0211fc2c ; =func_ov15_0211fc6c ldr r2, _0211fc30 ; =data_ov15_0218ebe4 str r4, [r3, #0x1c] bl __register_global_object ldr r0, _0211fc20 ; =data_ov15_0218ebe0 ldr r1, [r0] orr r1, r1, #1 str r1, [r0] _0211fa64: ldr r3, _0211fc20 ; =data_ov15_0218ebe0 ldr r0, [r3, #0x28] tst r0, #1 bne _0211fab4 ldr r1, _0211fc24 ; =data_ov15_0218946c mov r0, #2 str r1, [r3, #0x38] str r5, [r3, #0x3c] str r0, [r3, #0x40] ldr r4, _0211fc34 ; =data_ov15_02189448 str r0, [r3, #0x44] ldr r0, _0211fc38 ; =data_ov15_0218ec18 ldr r1, _0211fc3c ; =func_ov15_0211fc58 ldr r2, _0211fc40 ; =data_ov15_0218ec0c str r4, [r3, #0x38] bl __register_global_object ldr r0, _0211fc20 ; =data_ov15_0218ebe0 ldr r1, [r0, #0x28] orr r1, r1, #1 str r1, [r0, #0x28] _0211fab4: mov r0, r5 mov r1, #0 bl func_ov15_0211fd88 movs r4, r0 bne _0211fbe8 ldr r0, _0211fc44 ; =data_027e0d78 ldrh r1, [r0, #0x34] tst r1, #1 beq _0211fbac ldr r2, [r0, #0x10] mov r1, #0 mov r2, r2, lsl #0xc str r2, [sp, #0x10] ldr r2, [r0, #0x14] ldr r0, _0211fc20 ; =data_ov15_0218ebe0 mov r3, r2, lsl #0xc mov r2, #2 str r3, [sp, #0x14] str r2, [r0, #0x18] str r2, [r0, #0x1c] ldr r3, _0211fc48 ; =0x0000ffff sub r0, r1, #1 strh r3, [sp, #0x3c] strh r3, [sp, #0x3e] strh r3, [sp, #0x40] strh r3, [sp, #0x42] add r2, sp, #0x10 strh r1, [sp, #0x44] strb r1, [sp, #0x66] strb r1, [sp, #0x67] strb r1, [sp, #0x68] strb r1, [sp, #0x69] strb r1, [sp, #0x70] strb r1, [sp, #0x71] strb r1, [sp, #0x72] strb r1, [sp, #0x73] strb r1, [sp, #0x74] strb r1, [sp, #0x75] str r0, [sp, #0x78] str r0, [sp, #0x7c] mov r0, #0x1000 str r0, [sp] mov r0, #0xa str r0, [sp, #4] mov r0, #8 str r0, [sp, #8] ldr r1, _0211fc38 ; =data_ov15_0218ec18 ldr r0, _0211fc4c ; =data_027e0e60 str r1, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x18 mov r3, r2 bl func_ov00_02085c60 ldr r0, [r5, #0x2c] bl func_ov15_02121998 cmp r0, #0 beq _0211fbe8 ldr r0, _0211fc50 ; =data_ov00_020eec9c mov r1, #0xf mov r4, #1 bl func_ov00_020d77e4 b _0211fbe8 _0211fbac: ldrb r0, [r0, #0xc] cmp r0, #0 bne _0211fbe8 ldr r0, [r5, #0x2c] bl func_ov15_02121998 cmp r0, #0 beq _0211fbe8 ldr r0, [r5, #0x2c] bl func_ov15_02121988 ldr r0, _0211fc4c ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020825ac ldr r0, _0211fc54 ; =data_027e0fe4 ldr r0, [r0] bl func_ov15_021848dc _0211fbe8: ldr r0, _0211fc44 ; =data_027e0d78 ldrh r0, [r0, #0x34] tst r0, #1 beq _0211fc0c cmp r4, #0 bne _0211fc0c ldr r0, _0211fc50 ; =data_ov00_020eec9c mov r1, #0x40 bl func_ov00_020d77e4 _0211fc0c: mov r0, r4 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0211f9dc _0211fc18: .word data_027e077c _0211fc1c: .word data_027e0c68 _0211fc20: .word data_ov15_0218ebe0 _0211fc24: .word data_ov15_0218946c _0211fc28: .word data_ov15_0218ebf0 _0211fc2c: .word func_ov15_0211fc6c _0211fc30: .word data_ov15_0218ebe4 _0211fc34: .word data_ov15_02189448 _0211fc38: .word data_ov15_0218ec18 _0211fc3c: .word func_ov15_0211fc58 _0211fc40: .word data_ov15_0218ec0c _0211fc44: .word data_027e0d78 _0211fc48: .word 0x0000ffff _0211fc4c: .word data_027e0e60 _0211fc50: .word data_ov00_020eec9c _0211fc54: .word data_027e0fe4 .global func_ov15_0211fc58 arm_func_start func_ov15_0211fc58 func_ov15_0211fc58: ; 0x0211fc58 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0211fc58 .global func_ov15_0211fc6c arm_func_start func_ov15_0211fc6c func_ov15_0211fc6c: ; 0x0211fc6c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0211fc6c .global func_ov15_0211fc80 arm_func_start func_ov15_0211fc80 func_ov15_0211fc80: ; 0x0211fc80 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x2c] bl func_ov15_02121700 cmp r0, #0 bne _0211fcac ldrb r0, [r4, #4] cmp r0, #1 ldreqb r0, [r4, #5] cmpeq r0, #0 bne _0211fcb4 _0211fcac: mov r0, r4 bl func_ov00_02079b34 _0211fcb4: mov r0, r4 bl func_ov15_0212068c ldmia sp!, {r4, pc} arm_func_end func_ov15_0211fc80 .global func_ov15_0211fcc0 arm_func_start func_ov15_0211fcc0 func_ov15_0211fcc0: ; 0x0211fcc0 stmdb sp!, {r4, lr} ldr r1, _0211fd58 ; =data_027e0d3c mov r4, r0 ldr r0, [r1] ldr r1, _0211fd5c ; =data_027e0f94 mov r2, r4 mov r3, #0 bl func_ov00_0207920c ldr r1, _0211fd60 ; =data_ov15_02189420 ldr r0, [r4] ldr r3, [r1] ldr r2, [r1, #8] mov r1, r3, lsl #0xc add r2, r3, r2 mov r2, r2, lsl #0xc sub r2, r2, #0x1000 cmp r0, r2 add r1, r1, #0x1000 movgt r0, r2 bgt _0211fd18 cmp r0, r1 movlt r0, r1 _0211fd18: ldr r1, _0211fd60 ; =data_ov15_02189420 ldr ip, [r4, #4] ldr r3, [r1, #4] ldr r2, [r1, #0xc] mov r1, r3, lsl #0xc add r2, r3, r2 mov r2, r2, lsl #0xc sub r2, r2, #0x1000 cmp ip, r2 add r1, r1, #0x1000 movgt ip, r2 bgt _0211fd50 cmp ip, r1 movlt ip, r1 _0211fd50: stmia r4, {r0, ip} ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0211fcc0 _0211fd58: .word data_027e0d3c _0211fd5c: .word data_027e0f94 _0211fd60: .word data_ov15_02189420 .global func_ov15_0211fd64 arm_func_start func_ov15_0211fd64 func_ov15_0211fd64: ; 0x0211fd64 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x30 bl func_ov15_0211fcc0 ldr r0, [r4, #0x30] str r0, [r4, #0x38] ldr r0, [r4, #0x34] str r0, [r4, #0x3c] ldmia sp!, {r4, pc} arm_func_end func_ov15_0211fd64 .global func_ov15_0211fd88 arm_func_start func_ov15_0211fd88 func_ov15_0211fd88: ; 0x0211fd88 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x19c ldr r3, _02120598 ; =data_027e0d78 mov r9, r0 ldr r4, [r3, #0x24] ldr r2, [r3, #0x28] ldr r0, [r9, #0x30] mov r6, #0 str r0, [r9, #0x38] ldr r0, [r9, #0x34] mov r8, r1 str r0, [r9, #0x3c] ldrb r0, [r9, #0x58] mov r7, r6 mov r4, r4, lsl #0xc cmp r0, #0 mov r5, r2, lsl #0xc beq _021202d0 ldrb r0, [r3, #0xc] cmp r0, #0 beq _02120184 ldr r0, [r9, #0x40] ldr r1, [r9, #0x44] add r0, r4, r0 str r0, [r9, #0x30] add r0, r5, r1 str r0, [r9, #0x34] mov r5, #5 ldr r6, [r3, #0x10] ldr r4, [r3, #0x1c] ldr r2, [r3, #0x14] ldr r1, [r3, #0x20] mov r0, r5 subs r3, r6, r4 sub r1, r2, r1 beq _0211fe70 cmp r6, #0x80 cmpgt r3, #0 bgt _0211fe30 cmp r6, #0x80 cmplt r3, #0 bge _0211fe50 _0211fe30: rsbs r5, r6, #0x80 rsbmi r5, r5, #0 mov r3, #0x19 mul r4, r5, r3 mov r3, r4, asr #0x6 add r3, r4, r3, lsr #25 mov r3, r3, asr #0x7 add r5, r3, #5 _0211fe50: ldr r4, [r9, #0x40] rsb r3, r5, #0x64 mul r6, r4, r3 ldr r5, _0212059c ; =0x51eb851f mov r3, r6, lsr #0x1f smull r4, r6, r5, r6 add r6, r3, r6, asr #5 str r6, [r9, #0x40] _0211fe70: cmp r1, #0 beq _0211fed4 cmp r2, #0x60 cmpgt r1, #0 bgt _0211fe90 cmp r2, #0x60 cmplt r1, #0 bge _0211feb4 _0211fe90: rsbs r2, r2, #0x60 rsbmi r2, r2, #0 mov r0, #0x19 mul r1, r2, r0 ldr r2, _021205a0 ; =0x2aaaaaab mov r0, r1, lsr #0x1f smull r1, r3, r2, r1 add r3, r0, r3, asr #4 add r0, r3, #5 _0211feb4: ldr r1, [r9, #0x44] rsb r0, r0, #0x64 mul r3, r1, r0 ldr r2, _0212059c ; =0x51eb851f mov r0, r3, lsr #0x1f smull r1, r3, r2, r3 add r3, r0, r3, asr #5 str r3, [r9, #0x44] _0211fed4: ldr r0, _021205a4 ; =data_ov15_0218ec30 ldr r0, [r0] tst r0, #1 bne _0211ff18 ldr r0, _021205a8 ; =data_ov15_0218ec40 ldr r1, _021205ac ; =data_ov15_0218946c mov r3, #2 stmia r0, {r1, r9} str r3, [r0, #8] ldr r1, _021205b0 ; =func_ov15_0211fc6c ldr r2, _021205b4 ; =data_ov15_0218ec34 str r3, [r0, #0xc] bl __register_global_object ldr r0, _021205a4 ; =data_ov15_0218ec30 ldr r1, [r0] orr r1, r1, #1 str r1, [r0] _0211ff18: ldr r1, _021205a8 ; =data_ov15_0218ec40 mov r0, #2 str r0, [r1, #8] str r0, [r1, #0xc] ldr r4, _021205b8 ; =0x0000ffff add r0, sp, #0x114 strh r4, [r0, #0x44] strh r4, [r0, #0x46] strh r4, [r0, #0x48] mov r3, #0 strh r4, [r0, #0x4a] strh r3, [r0, #0x4c] sub r2, r3, #1 strb r3, [sp, #0x182] strb r3, [sp, #0x183] strb r3, [sp, #0x184] strb r3, [sp, #0x185] strb r3, [sp, #0x18c] strb r3, [sp, #0x18d] strb r3, [sp, #0x18e] strb r3, [sp, #0x18f] strb r3, [sp, #0x190] strb r3, [sp, #0x191] str r2, [sp, #0x194] str r2, [sp, #0x198] ldr r0, [r9, #0x30] mov r4, #0x1000 str r0, [sp, #0x44] ldr r0, [r9, #0x34] mov r3, #7 str r0, [sp, #0x48] ldr r0, [r9, #0x38] mov r2, #0x49 str r0, [sp, #0x3c] ldr r5, [r9, #0x3c] ldr r0, _021205bc ; =data_027e0e60 str r5, [sp, #0x40] str r4, [sp] str r3, [sp, #4] str r2, [sp, #8] str r1, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x134 add r2, sp, #0x44 add r3, sp, #0x3c bl func_ov00_02085c60 cmp r0, #0 beq _02120018 ldr r1, [sp, #0x194] ldr r0, _021205a8 ; =data_ov15_0218ec40 str r1, [r9, #0x30] ldr r1, [sp, #0x198] str r1, [r9, #0x34] ldr r1, [r0, #8] cmp r1, #1 bne _02120058 mov r1, #0 strb r1, [r9, #0x58] ldr r1, [r0, #0x10] mov r7, #1 str r1, [r9, #0x30] ldr r0, [r0, #0x14] str r0, [r9, #0x34] b _02120058 _02120018: ldr r0, _021205a8 ; =data_ov15_0218ec40 ldr r1, [r0, #8] cmp r1, #1 bne _02120048 mov r1, #0 strb r1, [r9, #0x58] ldr r1, [r0, #0x10] mov r7, #1 str r1, [r9, #0x30] ldr r0, [r0, #0x14] str r0, [r9, #0x34] b _02120058 _02120048: ldr r0, [sp, #0x194] str r0, [r9, #0x30] ldr r0, [sp, #0x198] str r0, [r9, #0x34] _02120058: ldr r10, _021205c0 ; =data_ov15_02189420 mov r2, #0 ldr r6, [r9, #0x34] ldr r5, [r9, #0x30] ldr ip, [r10] mov r3, r2 mov r4, r2 cmp ip, r5, asr #12 mov r1, r6, asr #0xc mov r0, r5, asr #0xc bgt _02120094 ldr r10, [r10, #8] add r10, ip, r10 cmp r0, r10 movlt r4, #1 _02120094: cmp r4, #0 beq _021200ac ldr r0, _021205c0 ; =data_ov15_02189420 ldr r0, [r0, #4] cmp r0, r1 movle r3, #1 _021200ac: cmp r3, #0 beq _021200cc ldr r0, _021205c0 ; =data_ov15_02189420 ldr r3, [r0, #4] ldr r0, [r0, #0xc] add r0, r3, r0 cmp r1, r0 movlt r2, #1 _021200cc: cmp r2, #0 bne _02120140 ldr r0, _021205c0 ; =data_ov15_02189420 mov r1, ip, lsl #0xc ldr r2, [r0, #8] add r0, r1, #0x1000 add r1, ip, r2 mov r1, r1, lsl #0xc sub r1, r1, #0x1000 cmp r5, r1 movgt r5, r1 bgt _02120104 cmp r5, r0 movlt r5, r0 _02120104: ldr r0, _021205c0 ; =data_ov15_02189420 ldr r2, [r0, #4] ldr r1, [r0, #0xc] mov r0, r2, lsl #0xc add r1, r2, r1 mov r1, r1, lsl #0xc sub r1, r1, #0x1000 cmp r6, r1 add r0, r0, #0x1000 movgt r6, r1 bgt _02120138 cmp r6, r0 movlt r6, r0 _02120138: str r5, [r9, #0x30] str r6, [r9, #0x34] _02120140: mov r0, #3 str r0, [sp] mov r0, #0x3e str r0, [sp, #4] ldr r1, [r9, #0x30] mov r0, r9 mov r1, r1, asr #0xc str r1, [sp, #8] ldr r1, [r9, #0x34] mov r2, r8 mov r1, r1, asr #0xc str r1, [sp, #0xc] ldrb r3, [r9, #0x59] mov r1, #0 bl func_ov05_0210d0e4 mov r6, #1 b _02120548 _02120184: ldr r1, _021205b8 ; =0x0000ffff strh r6, [sp, #0xf8] sub r0, r1, #0x10000 strh r1, [sp, #0xf0] strh r1, [sp, #0xf2] strh r1, [sp, #0xf4] strh r1, [sp, #0xf6] strb r6, [sp, #0x11a] strb r6, [sp, #0x11b] strb r6, [sp, #0x11c] strb r6, [sp, #0x11d] strb r6, [sp, #0x124] strb r6, [sp, #0x125] strb r6, [sp, #0x126] strb r6, [sp, #0x127] strb r6, [sp, #0x128] strb r6, [sp, #0x129] str r0, [sp, #0x12c] str r0, [sp, #0x130] ldr r0, [r9, #0x30] mov r3, #0x1000 str r0, [sp, #0x34] ldr r0, [r9, #0x34] mov r2, #7 str r0, [sp, #0x38] ldr r0, [r9, #0x38] mov r1, #0x49 str r0, [sp, #0x2c] ldr r4, [r9, #0x3c] ldr r0, _021205bc ; =data_027e0e60 str r4, [sp, #0x30] str r3, [sp] str r2, [sp, #4] str r1, [sp, #8] str r6, [sp, #0xc] ldr r0, [r0] add r1, sp, #0xcc add r2, sp, #0x34 add r3, sp, #0x2c bl func_ov00_02085c60 cmp r0, #0 beq _0212023c ldr r0, [sp, #0x12c] str r0, [r9, #0x30] ldr r0, [sp, #0x130] str r0, [r9, #0x34] _0212023c: add r1, sp, #0x58 str r1, [sp] ldr r0, _021205c4 ; =data_027e0d3c ldr r2, [r9, #0x30] ldr r0, [r0] ldr r3, [r9, #0x34] mov r1, #0 bl func_ov00_020792a0 bl func_ov15_0213ce4c add r1, sp, #0x58 mov r2, #1 bl func_ov15_0213d40c cmp r0, #0 beq _02120280 cmp r0, #1 cmpne r0, #2 b _021202bc _02120280: mov r0, #3 str r0, [sp] mov r0, #0x3e str r0, [sp, #4] ldr r1, [r9, #0x30] mov r0, r9 mov r1, r1, asr #0xc str r1, [sp, #8] ldr r1, [r9, #0x34] mov r2, r8 mov r1, r1, asr #0xc str r1, [sp, #0xc] ldrb r3, [r9, #0x59] mov r1, #0 bl func_ov05_0210d0e4 _021202bc: mov r0, #0 strb r0, [r9, #0x58] add sp, sp, #0x19c mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} _021202d0: ldr r0, [r9, #0x2c] bl func_ov15_02121998 cmp r0, #0 bne _02120548 ldr r10, _021205c0 ; =data_ov15_02189420 mov r3, r6 ldr r0, [r10, #0x10] add r1, r4, #0x800 add r2, r5, #0x800 cmp r0, r1, asr #12 mov ip, r3 mov lr, r3 mov r2, r2, asr #0xc mov r1, r1, asr #0xc bgt _0212031c ldr r10, [r10, #0x18] add r0, r0, r10 cmp r1, r0 movlt lr, #1 _0212031c: cmp lr, #0 beq _02120334 ldr r0, _021205c0 ; =data_ov15_02189420 ldr r0, [r0, #0x14] cmp r0, r2 movle ip, #1 _02120334: cmp ip, #0 beq _02120354 ldr r0, _021205c0 ; =data_ov15_02189420 ldr r1, [r0, #0x14] ldr r0, [r0, #0x1c] add r0, r1, r0 cmp r2, r0 movlt r3, #1 _02120354: cmp r3, #0 beq _02120548 ldr r0, _021205c8 ; =data_027e0c38 ldr r2, _021205cc ; =data_ov15_02185b2c ldr r0, [r0, #0x10] cmp r0, #1 ldr r0, _02120598 ; =data_027e0d78 moveq r3, #1 ldrb r1, [r0, #0xc] movne r3, #0 add r0, r2, r3, lsl #4 cmp r1, #0 beq _02120548 ldr r2, [r9, #0x30] ldr r1, [r0] add r2, r2, r1 cmp r4, r2 blt _02120548 ldr r1, [r0, #8] add r1, r1, r2 cmp r4, r1 bgt _02120548 ldr r2, [r9, #0x34] ldr r1, [r0, #4] add r1, r2, r1 cmp r5, r1 bgt _02120548 ldr r0, [r0, #0xc] sub r0, r1, r0 cmp r5, r0 blt _02120548 ldr r0, _021205d0 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _021205d4 ; =data_ov00_020eec9c mov r1, #0x3f bl func_ov00_020d77e4 mov r0, #1 strb r0, [r9, #0x58] rsb r0, r0, #0x10000 strh r0, [sp, #0x88] strh r0, [sp, #0x8a] strh r0, [sp, #0x8c] strh r0, [sp, #0x8e] mov r0, #0 sub r1, r0, #1 strh r0, [sp, #0x90] strb r0, [sp, #0xb2] strb r0, [sp, #0xb3] strb r0, [sp, #0xb4] strb r0, [sp, #0xb5] strb r0, [sp, #0xbc] strb r0, [sp, #0xbd] strb r0, [sp, #0xbe] strb r0, [sp, #0xbf] strb r0, [sp, #0xc0] strb r0, [sp, #0xc1] str r1, [sp, #0xc4] str r1, [sp, #0xc8] ldr r1, [r9, #0x30] mov r10, #0x1000 str r1, [sp, #0x24] ldr r1, [r9, #0x34] mov r3, #7 str r1, [sp, #0x28] ldr r1, [r9, #0x30] mov r2, #0x49 str r1, [sp, #0x1c] ldr ip, [r9, #0x34] ldr r1, _021205bc ; =data_027e0e60 str ip, [sp, #0x20] str r10, [sp] str r3, [sp, #4] str r2, [sp, #8] str r0, [sp, #0xc] ldr r0, [r1] add r1, sp, #0x64 add r2, sp, #0x24 add r3, sp, #0x1c bl func_ov00_02085c60 cmp r0, #0 beq _021204ac ldr r0, [sp, #0xc4] str r0, [r9, #0x30] ldr r0, [sp, #0xc8] str r0, [r9, #0x34] _021204ac: ldr r0, [r9, #0x30] ldr r1, [r9, #0x34] sub r0, r0, r4 str r0, [r9, #0x40] sub r0, r1, r5 str r0, [r9, #0x44] ldrb r0, [r9, #4] cmp r0, #0 beq _02120548 mov r1, #0 add r0, sp, #0x14 strh r1, [r9, #0x5a] bl func_ov15_0211fcc0 mov r0, #0x3e str r0, [sp] ldr r0, _021205c8 ; =data_027e0c38 ldr r1, [sp, #0x14] ldr r0, [r0, #0x14] add r1, r1, #0x800 add r0, r0, r1, asr #12 str r0, [sp, #4] ldr r1, [sp, #0x18] mov r0, r9 add r1, r1, #0x800 mov r1, r1, asr #0xc str r1, [sp, #8] ldr r2, [r9, #0x40] mov r1, r8 add r2, r2, #0x800 mov r2, r2, asr #0xc str r2, [sp, #0xc] ldr r2, [r9, #0x44] mov r3, #3 add r2, r2, #0x800 mov r2, r2, asr #0xc str r2, [sp, #0x10] ldrb r2, [r9, #0x59] bl func_ov05_0210d374 mov r6, #1 _02120548: cmp r6, #0 beq _0212058c add r1, sp, #0x4c str r1, [sp] ldr r0, _021205c4 ; =data_027e0d3c ldr r2, [r9, #0x30] ldr r0, [r0] ldr r3, [r9, #0x34] mov r1, #0 bl func_ov00_020792a0 bl func_ov15_0213ce4c add r1, sp, #0x4c mov r2, r7 bl func_ov15_0213d40c cmp r0, #1 moveq r0, #0 streqb r0, [r9, #0x58] _0212058c: mov r0, r6 add sp, sp, #0x19c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0211fd88 _02120598: .word data_027e0d78 _0212059c: .word 0x51eb851f _021205a0: .word 0x2aaaaaab _021205a4: .word data_ov15_0218ec30 _021205a8: .word data_ov15_0218ec40 _021205ac: .word data_ov15_0218946c _021205b0: .word func_ov15_0211fc6c _021205b4: .word data_ov15_0218ec34 _021205b8: .word 0x0000ffff _021205bc: .word data_027e0e60 _021205c0: .word data_ov15_02189420 _021205c4: .word data_027e0d3c _021205c8: .word data_027e0c38 _021205cc: .word data_ov15_02185b2c _021205d0: .word data_027e103c _021205d4: .word data_ov00_020eec9c .global func_ov15_021205d8 arm_func_start func_ov15_021205d8 func_ov15_021205d8: ; 0x021205d8 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 mov r3, #0 ldr r0, _02120620 ; =data_ov15_02189488 ldr r1, _02120624 ; =data_020691a0 mov r2, #0xcc00 str r3, [sp] blx func_0202d56c add r1, sp, #4 blx func_02023b3c ldr r0, [sp, #4] add r1, r4, #0x60 ldr r0, [r0, #0xc] mov r2, #0x20 bl func_020078d8 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021205d8 _02120620: .word data_ov15_02189488 _02120624: .word data_020691a0 .global func_ov15_02120628 arm_func_start func_ov15_02120628 func_ov15_02120628: ; 0x02120628 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, [r4, #0x5c] ldr r1, _02120684 ; =0x2aaaaaab mov r2, #6 smull r0, ip, r1, r3 add ip, ip, r3, lsr #31 smull r0, r1, r2, ip subs ip, r3, r0 bne _0212066c add r0, r4, #0x60 mov r1, #7 mov r2, #0xe mov r3, #1 bl func_020324cc mov r0, #1 strb r0, [r4, #0x80] _0212066c: ldr r0, _02120688 ; =data_027e0618 ldr r1, [r4, #0x5c] ldrh r0, [r0, #0xf2] add r0, r1, r0 str r0, [r4, #0x5c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02120628 _02120684: .word 0x2aaaaaab _02120688: .word data_027e0618 .global func_ov15_0212068c arm_func_start func_ov15_0212068c func_ov15_0212068c: ; 0x0212068c stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x80] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x60 mov r1, #0 mov r2, #0x20 bl func_02006060 mov r0, #0 strb r0, [r4, #0x80] ldmia sp!, {r4, pc} arm_func_end func_ov15_0212068c .global func_ov15_021206bc arm_func_start func_ov15_021206bc func_ov15_021206bc: ; 0x021206bc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021206bc .global func_ov15_021206d8 arm_func_start func_ov15_021206d8 func_ov15_021206d8: ; 0x021206d8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021206d8 .global func_ov15_021206f4 arm_func_start func_ov15_021206f4 func_ov15_021206f4: ; 0x021206f4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r1, #0 mov r2, #0x20 mov r4, r0 blx func_ov09_0211b778 ldr r0, _021208c4 ; =data_ov15_02189504 mov r1, #0 str r0, [r4] strb r1, [r4, #0x1c] strb r1, [r4, #0x1d] strb r1, [r4, #0x1e] strb r1, [r4, #0x1f] strb r1, [r4, #0x20] mov r0, #0x1c strb r0, [r4, #0x24] strb r1, [r4, #0x25] mov r0, #0x3e str r0, [r4, #0x28] ldr ip, _021208c8 ; =func_ov15_021208e0 ldr r3, _021208cc ; =func_ov15_021208e4 add r0, r4, #0x2c mov r1, #2 mov r2, #0x18 str ip, [sp] bl func_0204f614 ldr ip, _021208c8 ; =func_ov15_021208e0 ldr r3, _021208cc ; =func_ov15_021208e4 add r0, r4, #0x5c mov r1, #2 mov r2, #0x18 str ip, [sp] bl func_0204f614 add r0, r4, #0x8c bl func_02035064 add r0, r4, #0x114 bl func_ov00_020d0460 mov r0, #0 str r0, [r4, #0x11c] sub r0, r0, #0x20000 str r0, [r4, #0x120] mov r0, #3 strb r0, [r4, #0x124] ldr r1, _021208d0 ; =func_020350ac ldr r3, _021208d4 ; =func_02035064 str r1, [sp] add r0, r4, #0x128 mov r1, #4 mov r2, #0x88 bl func_0204f614 mov r0, #0xf str r0, [sp] add r0, r4, #0x348 mov r1, #0xcf mov r2, #0 mov r3, #0x100 blx func_ov03_020fc168 mov r0, r4 bl func_ov15_02120a68 mov r0, r4 ldr r2, [r0] mov r1, #0 ldr r2, [r2, #8] blx r2 ldr r1, _021208d8 ; =func_ov15_02120bc0 ldr r0, _021208dc ; =data_027e077c str r1, [sp, #0x10] add r1, sp, #0x10 str r4, [sp, #0x14] blx func_0202e7a4 mov r2, #1 mov r0, #0x3d stmia sp, {r0, r2} mov ip, #0 str ip, [sp, #8] mov r3, r2 add r0, r4, #0x2c mov r1, #0xc0 str ip, [sp, #0xc] bl func_ov00_020cfed0 mov r0, #0x3d str r0, [sp] mov r0, #1 mov r2, #2 str r0, [sp, #4] mov ip, #0 str ip, [sp, #8] mov r3, r2 add r0, r4, #0x44 mov r1, #0xc0 str ip, [sp, #0xc] bl func_ov00_020cfed0 mov r2, #1 mov r0, #0x3e stmia sp, {r0, r2} mov ip, #0 str ip, [sp, #8] mov r3, r2 add r0, r4, #0x74 mov r1, #0xd7 str ip, [sp, #0xc] bl func_ov00_020cfed0 mov r0, #0x3f str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r2, #0 str r2, [sp, #8] add r0, r4, #0x5c mov r1, #0xd7 mov r3, r2 str r2, [sp, #0xc] bl func_ov00_020cfed0 mov r0, r4 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021206f4 _021208c4: .word data_ov15_02189504 _021208c8: .word func_ov15_021208e0 _021208cc: .word func_ov15_021208e4 _021208d0: .word func_020350ac _021208d4: .word func_02035064 _021208d8: .word func_ov15_02120bc0 _021208dc: .word data_027e077c .global func_ov15_021208e0 arm_func_start func_ov15_021208e0 func_ov15_021208e0: ; 0x021208e0 bx lr arm_func_end func_ov15_021208e0 .global func_ov15_021208e4 arm_func_start func_ov15_021208e4 func_ov15_021208e4: ; 0x021208e4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020d05dc ldr r0, _0212091c ; =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_ov15_021208e4 _0212091c: .word data_ov00_020e899c .global func_ov15_02120920 arm_func_start func_ov15_02120920 func_ov15_02120920: ; 0x02120920 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _021209ac ; =data_ov15_02189504 mov r4, r0 str r1, [r4] ldr r2, _021209b0 ; =func_ov15_02120bc0 ldr r0, _021209b4 ; =data_027e077c add r1, sp, #0 str r2, [sp] str r4, [sp, #4] blx func_0202e7fc add r0, r4, #0x348 blx func_ov03_020fc1e8 ldr r3, _021209b8 ; =func_020350ac add r0, r4, #0x128 mov r1, #4 mov r2, #0x88 bl func_0204f754 add r0, r4, #0x8c bl func_020350ac ldr r3, _021209bc ; =func_ov15_021208e0 add r0, r4, #0x5c mov r1, #2 mov r2, #0x18 bl func_0204f754 ldr r3, _021209bc ; =func_ov15_021208e0 add r0, r4, #0x2c mov r1, #2 mov r2, #0x18 bl func_0204f754 mov r0, r4 blx func_ov09_0211b7f0 mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02120920 _021209ac: .word data_ov15_02189504 _021209b0: .word func_ov15_02120bc0 _021209b4: .word data_027e077c _021209b8: .word func_020350ac _021209bc: .word func_ov15_021208e0 .global func_ov15_021209c0 arm_func_start func_ov15_021209c0 func_ov15_021209c0: ; 0x021209c0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02120a54 ; =data_ov15_02189504 mov r4, r0 str r1, [r4] ldr r2, _02120a58 ; =func_ov15_02120bc0 ldr r0, _02120a5c ; =data_027e077c add r1, sp, #0 str r2, [sp] str r4, [sp, #4] blx func_0202e7fc add r0, r4, #0x348 blx func_ov03_020fc1e8 ldr r3, _02120a60 ; =func_020350ac add r0, r4, #0x128 mov r1, #4 mov r2, #0x88 bl func_0204f754 add r0, r4, #0x8c bl func_020350ac ldr r3, _02120a64 ; =func_ov15_021208e0 add r0, r4, #0x5c mov r1, #2 mov r2, #0x18 bl func_0204f754 ldr r3, _02120a64 ; =func_ov15_021208e0 add r0, r4, #0x2c mov r1, #2 mov r2, #0x18 bl func_0204f754 mov r0, r4 blx func_ov09_0211b7f0 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021209c0 _02120a54: .word data_ov15_02189504 _02120a58: .word func_ov15_02120bc0 _02120a5c: .word data_027e077c _02120a60: .word func_020350ac _02120a64: .word func_ov15_021208e0 .global func_ov15_02120a68 arm_func_start func_ov15_02120a68 func_ov15_02120a68: ; 0x02120a68 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #8 mov r4, r0 add r0, r4, #0x100 ldrsh r2, [r0, #0x18] mov r3, #0 ldr r1, _02120b48 ; =data_027e0c38 strh r2, [r0, #0x14] strb r3, [r4, #0x1e] strb r3, [r4, #0x1f] ldrsh r0, [r4, #6] mvn r5, #0xe strh r0, [r4, #4] ldr r0, [r1, #0x10] ldr r1, _02120b4c ; =data_ov15_02185b54 cmp r0, #1 moveq r3, #1 ldrsb r1, [r1, r3] and r2, r3, #0xff add r0, r4, #0x8c str r1, [sp] mov r1, #7 mov r3, #0 str r5, [sp, #4] bl func_020350b4 mov r1, #0 mov r2, r1 mov r3, r1 add r0, r4, #0x8c str r1, [sp] bl func_020351b8 mov r7, #0 add r9, r4, #0x128 ldr r8, _02120b50 ; =data_ov15_02185b58 mov r6, r7 mov r5, #7 mov r4, r7 _02120afc: str r6, [sp] str r6, [sp, #4] ldrb r2, [r8], #1 mov r0, r9 mov r1, r5 mov r3, r6 bl func_020350b4 mov r0, r9 mov r1, r4 mov r2, r4 mov r3, r4 str r4, [sp] bl func_020351b8 add r7, r7, #1 cmp r7, #4 add r9, r9, #0x88 blt _02120afc add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02120a68 _02120b48: .word data_027e0c38 _02120b4c: .word data_ov15_02185b54 _02120b50: .word data_ov15_02185b58 .global func_ov15_02120b54 arm_func_start func_ov15_02120b54 func_ov15_02120b54: ; 0x02120b54 mov r1, #0 strb r1, [r0, #0x1e] strb r1, [r0, #0x1f] strb r1, [r0, #0x20] strb r1, [r0, #0x25] bx lr arm_func_end func_ov15_02120b54 .global func_ov15_02120b6c arm_func_start func_ov15_02120b6c func_ov15_02120b6c: ; 0x02120b6c stmdb sp!, {r4, r5, r6, lr} mov r4, #0 mov r6, r0 mov r5, r4 bl func_ov15_0213ce4c bl func_ov15_0213d1f4 cmp r0, #0 beq _02120ba4 ldr r0, _02120bbc ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf07c ldrb r0, [r0, #0x58] cmp r0, #0 moveq r5, #1 _02120ba4: cmp r5, #0 ldrneb r0, [r6, #0x1e] cmpne r0, #0 movne r4, #1 mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02120b6c _02120bbc: .word data_027e103c .global func_ov15_02120bc0 arm_func_start func_ov15_02120bc0 func_ov15_02120bc0: ; 0x02120bc0 stmdb sp!, {r4, lr} mov r4, r2 cmp r1, #0x10 beq _02120be4 cmp r1, #0x11 beq _02120c10 cmp r1, #0x12 beq _02120c28 ldmia sp!, {r4, pc} _02120be4: ldr r0, _02120c50 ; =data_027e080c mov r1, #1 blx func_0202ece0 ldrsb r0, [r4, #0x14] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 ldmia sp!, {r4, pc} _02120c10: mov r0, r4 bl func_ov15_02120a68 ldr r0, _02120c54 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2d8 ldmia sp!, {r4, pc} _02120c28: ldr r0, _02120c50 ; =data_027e080c mov r1, #2 blx func_0202ece0 mov r1, #0 ldr r0, _02120c54 ; =data_027e103c strb r1, [r4, #0x1e] ldr r0, [r0] mov r2, #1 bl func_ov00_020cfc9c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02120bc0 _02120c50: .word data_027e080c _02120c54: .word data_027e103c .global func_ov15_02120c58 arm_func_start func_ov15_02120c58 func_ov15_02120c58: ; 0x02120c58 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02120c90 ; =data_027e0cbc mov r1, #5 mov r2, #0 bl func_ov03_020fa874 mov r0, r4 bl func_ov15_021219a8 mov r0, r4 ldr r2, [r0] mov r1, #1 ldr r2, [r2, #8] blx r2 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02120c58 _02120c90: .word data_027e0cbc .global func_ov15_02120c94 arm_func_start func_ov15_02120c94 func_ov15_02120c94: ; 0x02120c94 stmdb sp!, {r4, lr} ldr r1, [r0] mov r4, r0 ldr r1, [r1, #0x20] blx r1 cmp r0, #0 beq _02120cc4 mov r0, r4 ldr r2, [r0] mov r1, #4 ldr r2, [r2, #8] blx r2 _02120cc4: ldr r0, _02120cd8 ; =data_027e0cbc mov r1, #4 mov r2, #0 bl func_ov03_020fa874 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02120c94 _02120cd8: .word data_027e0cbc .global func_ov15_02120cdc arm_func_start func_ov15_02120cdc func_ov15_02120cdc: ; 0x02120cdc stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} ldr r1, _02120e40 ; =data_027e103c mov r10, r0 ldr r0, [r1] bl func_ov00_020cf07c ldrb r0, [r0, #0x58] cmp r0, #0 beq _02120d0c mov r0, #1 strb r0, [r10, #0x1e] mov r0, #0 strb r0, [r10, #0x20] _02120d0c: ldrsb r0, [r10, #0x14] mov r9, #0 cmp r0, #0 beq _02120e38 ldr r0, _02120e44 ; =data_027e0c68 bl func_02036808 cmp r0, #0 bne _02120e38 add r0, r10, #0x100 ldr r1, _02120e48 ; =data_ov15_021894bc ldrsh r3, [r10, #0xe] ldr r2, [r1, #0x28] ldrsh r1, [r0, #0x14] ldrsh r0, [r0, #0x16] sub r5, r3, r2 cmp r1, r0 bne _02120da4 ldrb r1, [r10, #0x1c] add r3, r10, #0x2c mov r0, #0x18 mla r0, r1, r0, r3 ldr r4, [r0] mov r2, r9 ldr r4, [r4] mov r1, r5 mov r3, r2 blx r4 tst r0, #8 beq _02120da4 ldrb r2, [r10, #0x1c] mov r1, #0x18 mov r0, r10 mla r1, r2, r1, r10 ldrh r1, [r1, #0x36] mov r9, #1 bl func_ov15_02120e4c cmp r0, #0 moveq r9, #0 _02120da4: mov r0, r10 bl func_ov15_02120b6c cmp r0, #0 beq _02120e38 add r0, r10, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0 bne _02120e38 mov r6, #0 mov r8, r10 add r7, r10, #0x5c mov r11, r6 mov r4, #1 _02120dd8: mov r0, r7 ldr ip, [r0] mov r2, #0 ldr ip, [ip] mov r1, r5 mov r3, r2 blx ip tst r0, #8 beq _02120e24 cmp r9, #0 bne _02120e18 ldrh r1, [r8, #0x66] mov r0, r10 bl func_ov15_02120e4c cmp r0, #0 beq _02120e20 _02120e18: mov r9, r4 b _02120e24 _02120e20: mov r9, r11 _02120e24: add r6, r6, #1 cmp r6, #2 add r7, r7, #0x18 add r8, r8, #0x18 blt _02120dd8 _02120e38: mov r0, r9 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02120cdc _02120e40: .word data_027e103c _02120e44: .word data_027e0c68 _02120e48: .word data_ov15_021894bc .global func_ov15_02120e4c arm_func_start func_ov15_02120e4c func_ov15_02120e4c: ; 0x02120e4c stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0x3d beq _02120e70 cmp r1, #0x3e beq _02120eac cmp r1, #0x3f beq _02120ee0 b _02120f34 _02120e70: ldr r0, _02120f3c ; =data_ov00_020eec9c mov r1, #0x11 bl func_ov00_020d77e4 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x30] blx r1 mov r1, #0x12 str r1, [r4, #0x28] ldr r0, _02120f40 ; =data_027e103c mov r1, #0x3d ldr r0, [r0] strh r1, [r0, #0x20] mov r0, #1 ldmia sp!, {r4, pc} _02120eac: ldr r0, _02120f3c ; =data_ov00_020eec9c mov r1, #5 bl func_ov00_020d77e4 ldr r0, _02120f40 ; =data_027e103c mov r2, #0x3e ldr r1, [r0] strh r2, [r1, #0x20] ldr r0, [r0] bl func_ov00_020cf2b8 mov r0, r4 bl func_ov15_02121988 mov r0, #1 ldmia sp!, {r4, pc} _02120ee0: ldr r0, _02120f3c ; =data_ov00_020eec9c mov r1, #4 bl func_ov00_020d77e4 bl func_ov15_0213ce4c bl func_ov15_0213d3e8 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x30] blx r1 mov r1, #0x12 ldr r0, _02120f40 ; =data_027e103c str r1, [r4, #0x28] ldr r1, [r0] mov r2, #0x3f strh r2, [r1, #0x20] mov r1, #0 mov r0, r4 strb r1, [r4, #0x25] bl func_ov15_02121988 mov r0, #1 ldmia sp!, {r4, pc} _02120f34: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02120e4c _02120f3c: .word data_ov00_020eec9c _02120f40: .word data_027e103c .global func_ov15_02120f44 arm_func_start func_ov15_02120f44 func_ov15_02120f44: ; 0x02120f44 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r4, r0 bl func_ov09_0211b914 cmp r5, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _021210dc ; =data_027e077c ldr r1, _021210e0 ; =data_02056be4 ldr r0, [r0] ldrb r0, [r1, r0] tst r0, #1 bne _02120fb8 ldrb r0, [r4, #0x25] ldrb r1, [r4, #0x24] add r5, r0, #1 cmp r5, r1 blt _02120f98 mov r0, r5 bl func_01ff9b88 mov r5, r0 b _02120fb4 _02120f98: cmp r5, #0 bge _02120fb4 mvn r0, #0 bl func_01ff9b88 ldrb r1, [r4, #0x24] add r1, r5, r1 sub r5, r1, r0 _02120fb4: strb r5, [r4, #0x25] _02120fb8: ldrsb r0, [r4, #0x14] cmp r0, #4 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r4 bl func_ov15_02121700 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldrb r0, [r4, #0x1d] cmp r0, #0 bne _02121010 ldr r0, _021210dc ; =data_027e077c ldr r1, _021210e0 ; =data_02056be4 ldr r0, [r0] ldrb r0, [r1, r0] tst r0, #1 beq _02121010 ldr r0, _021210e4 ; =data_027e0c68 ldr r1, _021210e8 ; =0x00050001 mov r2, #0 bl func_020370d0 mov r0, #1 strb r0, [r4, #0x1d] _02121010: ldr r0, _021210ec ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf07c ldrsb r1, [r4, #0x14] cmp r1, #2 bne _02121078 ldrb r0, [r0, #0x58] cmp r0, #0 bne _02121064 ldr r0, _021210e4 ; =data_027e0c68 bl func_020367ec cmp r0, #0 bne _02121064 ldr r0, _021210e4 ; =data_027e0c68 bl func_02036808 cmp r0, #0 bne _02121064 mov r0, r4 bl func_ov15_02120b6c cmp r0, #0 beq _02121070 _02121064: add r0, r4, #0x114 bl func_ov00_020d054c b _02121078 _02121070: add r0, r4, #0x114 bl func_ov00_020d0594 _02121078: add r0, r4, #0x8c bl func_0203516c add r6, r4, #0x128 mov r5, #0 _02121088: mov r0, r6 bl func_0203516c add r5, r5, #1 cmp r5, #4 add r6, r6, #0x88 blt _02121088 add r0, r4, #0x34c bl func_ov03_020fc078 mov r0, r4 bl func_ov15_02120b6c cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldrb r0, [r4, #0x1f] cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _021210f0 ; =data_ov00_020eec9c mov r2, #1 mov r1, #0xf strb r2, [r4, #0x1f] bl func_ov00_020d77e4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02120f44 _021210dc: .word data_027e077c _021210e0: .word data_02056be4 _021210e4: .word data_027e0c68 _021210e8: .word 0x00050001 _021210ec: .word data_027e103c _021210f0: .word data_ov00_020eec9c .global func_ov15_021210f4 arm_func_start func_ov15_021210f4 func_ov15_021210f4: ; 0x021210f4 stmdb sp!, {r4, lr} mov r4, r0 ldrsb r0, [r4, #0x14] cmp r0, #0 bne _02121118 ldr r1, [r4, #0x28] ldr r0, _02121138 ; =data_027e077c bl func_0202e740 b _0212112c _02121118: cmp r0, #2 bne _0212112c ldr r0, _02121138 ; =data_027e077c mov r1, #0x11 bl func_0202e740 _0212112c: mov r0, r4 bl func_ov09_0211b994 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021210f4 _02121138: .word data_027e077c .global func_ov15_0212113c arm_func_start func_ov15_0212113c func_ov15_0212113c: ; 0x0212113c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x5c ldr r1, _021216d4 ; =data_027e0618 mov r9, r0 ldrb r0, [r1, #0x101] cmp r0, #0 addne sp, sp, #0x5c ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _021216d8 ; =data_027e0cbc mov r1, #0xb bl func_0203d7e0 cmp r0, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r9 bl func_ov15_02121700 cmp r0, #0 ldrnesb r0, [r9, #0x14] cmpne r0, #0 ldr r0, _021216dc ; =data_027e103c movne r7, #1 ldr r0, [r0] moveq r7, #0 bl func_ov00_020cf07c mov r4, r0 cmp r7, #0 beq _02121270 ldr r0, _021216e0 ; =data_027e077c ldr r0, [r0] cmp r0, #0x11 bne _02121270 mov r0, r9 bl func_ov15_02120b6c cmp r0, #0 bne _02121270 add r0, sp, #0x3c bl func_01ffbe34 mov r0, r9 bl func_ov15_02121998 cmp r0, #0 movne r0, #1 strne r0, [sp, #0x40] ldr r0, _021216e4 ; =data_027e0c38 ldr r0, [r0, #0x10] cmp r0, #1 moveq r1, #1 movne r1, #0 cmp r1, #0 ldrne r0, [sp, #0x48] orrne r0, r0, #0x10000000 strne r0, [sp, #0x48] ldrb r0, [r4, #0x58] cmp r0, #0 bne _0212123c ldr r1, [r4, #0x30] ldr r0, [r4, #0x34] add r1, r1, #0x800 add r2, r0, #0x800 add r3, sp, #0x3c add r0, r9, #0x8c mov r1, r1, asr #0xc mov r2, r2, asr #0xc bl func_02034a1c b _02121270 _0212123c: ldr r0, _021216e8 ; =data_ov15_02185b54 ldr r3, [r4, #0x34] ldr r2, [r4, #0x30] add r3, r3, #0x800 mov r3, r3, asr #0xc add r5, sp, #0x3c ldrsb r0, [r0, r1] add r2, r2, #0x800 sub r3, r3, #0xf add r2, r0, r2, asr #12 mov r0, #0xce str r5, [sp] bl func_02034984 _02121270: ldr r0, _021216ec ; =data_027e1054 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov03_020f4b7c ldr r1, _021216f0 ; =data_027e0d3c mov r6, r0 ldr r0, [r1] bl func_ov00_02078fac cmp r0, #0 ldr r0, _021216e0 ; =data_027e077c moveq r8, #1 ldr r0, [r0] movne r8, #0 mov r5, #1 cmp r0, #6 addls pc, pc, r0, lsl #2 b _021212d4 _021212b4: ; jump table b _021212d4 ; case 0 b _021212d4 ; case 1 b _021212d0 ; case 2 b _021212d0 ; case 3 b _021212d0 ; case 4 b _021212d0 ; case 5 b _021212d0 ; case 6 _021212d0: mov r5, #0 _021212d4: bl func_ov15_0213ce4c bl func_ov15_0213d1f4 mov r10, r0 cmp r5, #0 beq _02121424 cmp r10, #0 ble _02121424 ldrb r0, [r4, #0x58] cmp r0, #0 bne _02121424 bl func_ov15_0213ce4c mov r1, #0 str r1, [sp] ldr r3, [r0, #4] ldr r2, _021216f0 ; =data_027e0d3c sub r1, r10, #1 mov r0, #0xc smlabb r1, r1, r0, r3 ldr r0, [r2] add r2, sp, #0x18 add r3, sp, #0x14 bl func_ov00_0207914c ldrb r0, [r9, #0x20] mov r4, #0 cmp r0, #4 addls pc, pc, r0, lsl #2 b _021213b8 _02121340: ; jump table b _02121358 ; case 0 b _02121354 ; case 1 b _02121354 ; case 2 b _02121354 ; case 3 b _02121354 ; case 4 _02121354: mov r4, #1 _02121358: cmp r6, #0 ldreq r0, _021216d4 ; =data_027e0618 ldreqb r0, [r0, #0x101] cmpeq r0, #0 bne _021213b8 add r0, sp, #0x1c bl func_01ffbe34 mov r0, #2 str r0, [sp, #0x20] cmp r4, #0 bne _02121394 mov r0, r9 bl func_ov15_0212179c cmp r0, #0 beq _0212139c _02121394: mov r1, #0x2c b _021213a0 _0212139c: mov r1, #0xb _021213a0: add r2, sp, #0x1c str r2, [sp] ldr r2, [sp, #0x18] ldr r3, [sp, #0x14] mov r0, #0xce bl func_02034984 _021213b8: cmp r6, #0 bne _02121424 cmp r8, #0 beq _02121424 ldr r0, _021216d4 ; =data_027e0618 ldrb r0, [r0, #0x101] cmp r0, #0 bne _02121424 ldrb r0, [r9, #0x20] cmp r0, #1 blo _02121424 cmp r0, #4 bhi _02121424 mov r0, r9 bl func_ov15_0212179c cmp r0, #0 beq _02121424 mov r0, #0 str r0, [sp] ldrb r1, [r9, #0x20] ldr r0, _021216f4 ; =data_ov15_02185b5c ldr r2, [sp, #0x18] sub r1, r1, #1 ldrb r1, [r0, r1] ldr r3, [sp, #0x14] mov r0, #0xcf bl func_02034984 _02121424: mov r0, r9 bl func_ov15_02121998 cmp r0, #0 beq _02121464 mov r0, #0xa str r0, [sp] mov r3, #0x10 str r3, [sp, #4] mov r0, #8 str r0, [sp, #8] mov r4, #0x20 add r0, r9, #0x348 mov r1, #0xcf mov r2, #9 str r4, [sp, #0xc] bl func_ov03_020fc200 _02121464: cmp r7, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r9, #0x100 ldrsh r3, [r0, #0x14] ldrsh r2, [r0, #0x16] cmp r3, r2 moveq r3, #0 beq _021214b0 ldrsh r1, [r0, #0x18] cmp r3, r1 moveq r3, #0x1000 beq _021214b0 sub r0, r3, r2 sub r1, r1, r2 mov r0, r0, lsl #0xc mov r1, r1, lsl #0xc bl Divide mov r3, r0 _021214b0: ldrb r0, [r9, #0x124] ldr r1, [r9, #0x11c] ldr r2, [r9, #0x120] bl func_ov00_020d02bc ldrb r3, [r9, #0x1c] add r0, r0, #0x800 mov r1, r0, asr #0xc add r2, r9, #0x2c mov r0, #0x18 mla r0, r3, r0, r2 mov r2, #0 cmp r3, #0 rsbne r1, r1, #0 mov r3, r2 str r2, [sp] bl func_ov00_020d00c4 mov r0, r9 bl func_ov15_02120b6c cmp r0, #0 beq _02121550 add r0, r9, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0 addne sp, sp, #0x5c ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r5, #0 add r6, r9, #0x5c mov r4, r5 _02121520: mov r0, r6 mov r1, r4 mov r2, r4 mov r3, r4 str r4, [sp] bl func_ov00_020d00c4 add r5, r5, #1 cmp r5, #2 add r6, r6, #0x18 blt _02121520 add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02121550: cmp r8, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _021216f8 ; =gItemManager mov r1, #0x21 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldr r1, _021216f8 ; =gItemManager str r0, [sp, #0x10] ldr r0, [r1] mov r1, #0x23 bl _ZNK11ItemManager7HasItemEi ldr r1, _021216f8 ; =gItemManager mov r11, r0 ldr r0, [r1] mov r1, #0x22 bl _ZNK11ItemManager7HasItemEi ldr r1, _021216f8 ; =gItemManager mov r10, r0 ldr r0, [r1] mov r1, #0x24 bl _ZNK11ItemManager7HasItemEi mov r5, #0 ldr r1, _021216fc ; =data_027e0e60 mov r4, r0 ldr r0, [r1] mov r6, r5 mov r7, r5 mov r8, r5 bl func_ov00_02082d08 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02121638 _021215d4: ; jump table b _021215e4 ; case 0 b _021215f8 ; case 1 b _02121610 ; case 2 b _02121628 ; case 3 _021215e4: cmp r10, #0 movne r5, #1 cmp r11, #0 movne r8, #1 b _02121638 _021215f8: ldr r0, [sp, #0x10] cmp r0, #0 movne r6, #1 cmp r4, #0 movne r8, #1 b _02121638 _02121610: ldr r0, [sp, #0x10] cmp r4, #0 movne r5, #1 cmp r0, #0 movne r7, #1 b _02121638 _02121628: cmp r11, #0 movne r6, #1 cmp r10, #0 movne r7, #1 _02121638: cmp r5, #0 beq _0212165c mov r3, #0 str r3, [sp] add r0, r9, #0x128 mov r1, #0xcf mov r2, #4 str r3, [sp, #4] bl func_02034b0c _0212165c: cmp r6, #0 beq _02121680 mov r3, #0 str r3, [sp] add r0, r9, #0x1b0 mov r1, #0xcf mov r2, #5 str r3, [sp, #4] bl func_02034b0c _02121680: cmp r7, #0 beq _021216a4 mov r3, #0 str r3, [sp] add r0, r9, #0x238 mov r1, #0xcf mov r2, #6 str r3, [sp, #4] bl func_02034b0c _021216a4: cmp r8, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r3, #0 str r3, [sp] add r0, r9, #0x2c0 mov r1, #0xcf mov r2, #7 str r3, [sp, #4] bl func_02034b0c add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212113c _021216d4: .word data_027e0618 _021216d8: .word data_027e0cbc _021216dc: .word data_027e103c _021216e0: .word data_027e077c _021216e4: .word data_027e0c38 _021216e8: .word data_ov15_02185b54 _021216ec: .word data_027e1054 _021216f0: .word data_027e0d3c _021216f4: .word data_ov15_02185b5c _021216f8: .word gItemManager _021216fc: .word data_027e0e60 .global func_ov15_02121700 arm_func_start func_ov15_02121700 func_ov15_02121700: ; 0x02121700 ldr r0, _02121730 ; =data_027e077c ldr r0, [r0] cmp r0, #0x11 cmpne r0, #0x12 bne _02121728 ldr r0, _02121734 ; =data_027e0618 ldrb r0, [r0, #0x101] cmp r0, #0 moveq r0, #1 bxeq lr _02121728: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_02121700 _02121730: .word data_027e077c _02121734: .word data_027e0618 .global func_ov15_02121738 arm_func_start func_ov15_02121738 func_ov15_02121738: ; 0x02121738 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 add r5, r8, #0x2c mov r4, #0 _02121750: mov r0, r5 mov r1, r6 mov r2, r7 bl func_ov00_020d0a14 add r4, r4, #1 cmp r4, #2 add r5, r5, #0x18 blt _02121750 add r5, r8, #0x5c mov r4, #0 _02121778: mov r0, r5 mov r1, r6 mov r2, r7 bl func_ov00_020d0a14 add r4, r4, #1 cmp r4, #2 add r5, r5, #0x18 blt _02121778 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov15_02121738 .global func_ov15_0212179c arm_func_start func_ov15_0212179c func_ov15_0212179c: ; 0x0212179c ldrb r1, [r0, #0x1e] cmp r1, #0 movne r0, #1 bxne lr ldr r1, _021217dc ; =data_027e077c ldr r2, _021217e0 ; =data_02056be4 ldr r1, [r1] ldrb r1, [r2, r1] tst r1, #1 movne r0, #1 bxne lr ldrb r0, [r0, #0x25] cmp r0, #0xe movhs r0, #1 movlo r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_0212179c _021217dc: .word data_027e077c _021217e0: .word data_02056be4 .global func_ov15_021217e4 arm_func_start func_ov15_021217e4 func_ov15_021217e4: ; 0x021217e4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} mov r9, r1 mov r6, r0 mov r0, r9 mov r5, r2 mov r4, r3 bl func_ov00_020a5e9c movs r7, r0 mov r8, #0 bne _021218b0 ldrb r7, [r9, #0x12] ldr r0, _02121970 ; =data_027e0e60 add r1, r7, #0xa6 ldr r0, [r0] add r9, r1, #0x50000 bl func_ov00_02082d08 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02121940 _02121830: ; jump table b _02121840 ; case 0 b _0212185c ; case 1 b _02121878 ; case 2 b _02121894 ; case 3 _02121840: cmp r7, #1 beq _02121854 cmp r7, #2 moveq r8, #4 b _02121940 _02121854: mov r8, #1 b _02121940 _0212185c: cmp r7, #0 beq _02121870 cmp r7, #3 moveq r8, #4 b _02121940 _02121870: mov r8, #2 b _02121940 _02121878: cmp r7, #0 beq _0212188c cmp r7, #3 moveq r8, #1 b _02121940 _0212188c: mov r8, #3 b _02121940 _02121894: cmp r7, #1 beq _021218a8 cmp r7, #2 moveq r8, #2 b _02121940 _021218a8: mov r8, #3 b _02121940 _021218b0: ldr r0, _02121974 ; =data_027e0f7c mov r1, r7 ldr r0, [r0] bl func_ov00_0209d748 mvn r1, #0 cmp r0, r1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} cmp r0, #0x11 bne _021218f0 ldr r1, _02121978 ; =data_027e0fe4 ldr r1, [r1] ldrb r1, [r1, #0x29] cmp r1, #0 ldrne r9, _0212197c ; =0x000500aa addeq r9, r0, #0xb7 b _021218f4 _021218f0: add r9, r0, #0xb7 _021218f4: ldr r0, _02121974 ; =data_027e0f7c mov r1, r7 ldr r0, [r0] bl func_ov00_0209d778 mov r7, r0 ldr r0, _02121974 ; =data_027e0f7c mov r1, r7 ldr r0, [r0] bl func_ov00_0209d8d8 cmp r0, #0 beq _0212193c cmp r7, #0xa blt _0212193c cmp r7, #0xf bgt _0212193c bl func_ov00_020a3fc0 cmp r0, #0 ldreq r9, _02121980 ; =0x000500a5 _0212193c: mov r8, #5 _02121940: mov r1, r9 cmp r4, #0 mov r2, r5 add r0, r6, #0x348 strneb r8, [r6, #0x20] bl func_ov03_020fc348 ldr r0, _02121984 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, #1 bl func_ov00_020cfc9c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_021217e4 _02121970: .word data_027e0e60 _02121974: .word data_027e0f7c _02121978: .word data_027e0fe4 _0212197c: .word 0x000500aa _02121980: .word 0x000500a5 _02121984: .word data_027e103c .global func_ov15_02121988 arm_func_start func_ov15_02121988 func_ov15_02121988: ; 0x02121988 ldr ip, _02121994 ; =func_ov03_020fc438 add r0, r0, #0x348 bx ip .align 2, 0 arm_func_end func_ov15_02121988 _02121994: .word func_ov03_020fc438 .global func_ov15_02121998 arm_func_start func_ov15_02121998 func_ov15_02121998: ; 0x02121998 ldr ip, _021219a4 ; =func_ov03_020fc448 add r0, r0, #0x348 bx ip .align 2, 0 arm_func_end func_ov15_02121998 _021219a4: .word func_ov03_020fc448 .global func_ov15_021219a8 arm_func_start func_ov15_021219a8 func_ov15_021219a8: ; 0x021219a8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r4, r0 add r0, sp, #0 bl func_ov15_0211fcc0 mov r1, #0 ldr r3, [sp, #4] ldr r0, [sp] ldr r2, _02121a50 ; =data_ov15_021894bc add lr, r3, #0x800 add ip, r0, #0x800 ldr r3, [r2, #0x30] mov r5, r1 cmp r3, ip, asr #12 mov r6, r1 mov r0, lr, asr #0xc mov ip, ip, asr #0xc bgt _02121a00 ldr r2, [r2, #0x38] add r2, r3, r2 cmp ip, r2 movlt r6, #1 _02121a00: cmp r6, #0 beq _02121a18 ldr r2, _02121a50 ; =data_ov15_021894bc ldr r2, [r2, #0x34] cmp r2, r0 movle r5, #1 _02121a18: cmp r5, #0 beq _02121a38 ldr r2, _02121a50 ; =data_ov15_021894bc ldr r3, [r2, #0x34] ldr r2, [r2, #0x3c] add r2, r3, r2 cmp r0, r2 movlt r1, #1 _02121a38: cmp r1, #0 movne r0, #1 moveq r0, #0 strb r0, [r4, #0x1c] add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021219a8 _02121a50: .word data_ov15_021894bc .global func_ov15_02121a54 arm_func_start func_ov15_02121a54 func_ov15_02121a54: ; 0x02121a54 mov r3, r0 mov r2, #0 mov r1, #1 _02121a60: add r2, r2, #1 strb r1, [r3, #0x39] cmp r2, #2 add r3, r3, #0x18 blt _02121a60 mov r2, #0 mov r1, #1 _02121a7c: add r2, r2, #1 strb r1, [r0, #0x69] cmp r2, #2 add r0, r0, #0x18 blt _02121a7c bx lr arm_func_end func_ov15_02121a54 .global func_ov15_02121a94 arm_func_start func_ov15_02121a94 func_ov15_02121a94: ; 0x02121a94 stmdb sp!, {r3, lr} ldr r1, _02121ac0 ; =data_027e0fe0 mov r0, #0x158 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02121ac4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02121a94 _02121ac0: .word data_027e0fe0 .global func_ov15_02121ac4 arm_func_start func_ov15_02121ac4 func_ov15_02121ac4: ; 0x02121ac4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _02121ae0 ; =data_ov15_02189544 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02121ac4 _02121ae0: .word data_ov15_02189544 .global func_ov15_02121ae4 arm_func_start func_ov15_02121ae4 func_ov15_02121ae4: ; 0x02121ae4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02121ae4 .global func_ov15_02121af8 arm_func_start func_ov15_02121af8 func_ov15_02121af8: ; 0x02121af8 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_ov15_02121af8 .global func_ov15_02121b14 arm_func_start func_ov15_02121b14 func_ov15_02121b14: ; 0x02121b14 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r1, #0 ldr ip, _02121be0 ; =data_027e0d0c str r1, [r0, #0x6c] ldr r2, [ip] sub r5, r1, #1 str r2, [r0, #0x7c] ldr r2, [ip, #4] ldr r3, _02121be4 ; =data_027e0764 str r2, [r0, #0x80] ldr r4, [ip, #8] ldr r2, _02121be8 ; =0x00000259 str r4, [r0, #0x84] str r5, [r0, #0x88] ldr r4, [r0, #0x7c] mov lr, r1 str r4, [r0, #0x8c] ldr r4, [r0, #0x80] str r4, [r0, #0x90] ldr r4, [r0, #0x84] str r4, [r0, #0x94] ldr r4, [r0, #0x88] str r4, [r0, #0x98] ldr r4, [ip] str r4, [r0, #0xa8] ldr r4, [ip, #4] str r4, [r0, #0xac] ldr r4, [ip, #8] str r4, [r0, #0xb0] str r5, [r0, #0xb4] strb r1, [r0, #0x11a] str r1, [r0, #0x130] ldr ip, [r3] ldmib r3, {r4, r5} umull r7, r6, r5, ip mla r6, r5, r4, r6 ldr r4, [r3, #0xc] ldr r5, [r3, #0x10] mla r6, r4, ip, r6 ldr r4, [r3, #0x14] adds r7, r5, r7 adc r5, r4, r6 umull ip, r4, r5, r2 mla r4, r5, r1, r4 mla r4, lr, r2, r4 str r7, [r3] str r5, [r3, #4] add r1, r4, #0x12c str r1, [r0, #0x13c] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02121b14 _02121be0: .word data_027e0d0c _02121be4: .word data_027e0764 _02121be8: .word 0x00000259 .global func_ov15_02121bec arm_func_start func_ov15_02121bec func_ov15_02121bec: ; 0x02121bec stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 ldr lr, _02121d48 ; =data_027e0764 ldr r5, _02121d4c ; =data_027e0f64 ldr r3, [lr] ldmib lr, {r2, r4} umull r7, r6, r4, r3 mla r6, r4, r2, r6 ldr r2, [lr, #0xc] ldr r4, [lr, #0x10] mla r6, r2, r3, r6 adds ip, r4, r7 ldr r3, [lr, #0x14] mov r2, #0 ldr r4, _02121d50 ; =0x0000a001 adc r3, r3, r6 umull r6, r7, r3, r4 str ip, [lr] str r3, [lr, #4] mla r7, r3, r2, r7 mov r6, r2 mla r7, r6, r4, r7 add r4, r7, #0x5000 rsb r6, r4, #0 ldr r4, [r5] ldr lr, _02121d48 ; =data_027e0764 str r2, [sp, #0x3c] str r2, [sp, #0x40] str r6, [sp, #0x44] ldr r6, [lr, #8] ldr r4, [r4, #4] umull r8, r7, r6, ip mla r7, r6, r3, r7 ldr r2, [r4, #0x160] mov r5, r0 add r0, r4, #0x200 cmp r2, #3 ldr r2, [lr, #0xc] ldrsh r0, [r0, #0x26] mla r7, r2, ip, r7 subeq r0, r0, #0x8000 mov r4, r1 moveq r0, r0, lsl #0x10 ldr r3, [lr, #0x10] moveq r0, r0, asr #0x10 adds r8, r3, r8 ldr r2, [lr, #0x14] ldr r1, _02121d54 ; =0x00002aab adc r2, r2, r7 str r8, [lr] mov r3, #0 umull ip, r6, r2, r1 mla r6, r2, r3, r6 mla r6, r3, r1, r6 sub r1, r1, #0x4000 add r1, r6, r1 add r0, r0, r1 mov r0, r0, lsl #0x10 add r1, sp, #0x3c mov r0, r0, asr #0x10 str r2, [lr, #4] bl func_0202af4c ldr r0, _02121d58 ; =data_027e0f94 add r1, sp, #0x3c add r2, sp, #0x30 bl func_01ff9bc4 add r0, sp, #4 bl func_ov00_020c1500 mvn r0, #0 str r0, [sp, #0x20] str r0, [sp, #0x24] add r0, sp, #4 bl func_ov00_020c3348 ldr r0, [r5, #8] mov r2, #0 str r0, [sp, #0x20] ldr r3, [r5, #0xc] ldr r0, _02121d5c ; =data_027e0fe8 str r3, [sp, #0x24] str r2, [sp] ldr r0, [r0] mov r1, r4 add r2, sp, #0x30 add r3, sp, #4 bl func_ov00_020c4048 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02121bec _02121d48: .word data_027e0764 _02121d4c: .word data_027e0f64 _02121d50: .word 0x0000a001 _02121d54: .word 0x00002aab _02121d58: .word data_027e0f94 _02121d5c: .word data_027e0fe8 .global func_ov15_02121d60 arm_func_start func_ov15_02121d60 func_ov15_02121d60: ; 0x02121d60 stmdb sp!, {r4, r5, r6, lr} cmp r1, #0 beq _02121d74 cmp r1, #1 b _02121e24 _02121d74: ldr r2, [r0, #0x130] cmp r2, #0 bne _02121dd4 ldr ip, _02121e34 ; =data_027e0764 ldr r2, _02121e38 ; =0x0000012d ldr r4, [ip] ldmib ip, {r3, r5} umull lr, r6, r5, r4 mla r6, r5, r3, r6 ldr r3, [ip, #0xc] ldr r5, [ip, #0x10] mla r6, r3, r4, r6 ldr r3, [ip, #0x14] adds r4, r5, lr adc r6, r3, r6 str r4, [ip] mov r3, #0 umull r4, r5, r6, r2 mla r5, r6, r3, r5 mla r5, r3, r2, r5 str r6, [ip, #4] add r2, r5, #0x3c str r2, [r0, #0x13c] b _02121e24 _02121dd4: ldr ip, _02121e34 ; =data_027e0764 ldr r2, _02121e3c ; =0x00000259 ldr r4, [ip] ldmib ip, {r3, lr} umull r6, r5, lr, r4 mla r5, lr, r3, r5 ldr r3, [ip, #0xc] ldr lr, [ip, #0x10] mla r5, r3, r4, r5 ldr r3, [ip, #0x14] adds r4, lr, r6 adc r5, r3, r5 str r4, [ip] mov r3, #0 umull lr, r4, r5, r2 mla r4, r5, r3, r4 mla r4, r3, r2, r4 str r5, [ip, #4] add r2, r4, #0x258 str r2, [r0, #0x13c] _02121e24: mov r2, #0 str r2, [r0, #0x138] str r1, [r0, #0x130] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02121d60 _02121e34: .word data_027e0764 _02121e38: .word 0x0000012d _02121e3c: .word 0x00000259 .global func_ov15_02121e40 arm_func_start func_ov15_02121e40 func_ov15_02121e40: ; 0x02121e40 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r5, #0x130] cmp r0, #0 beq _02121e80 cmp r0, #1 beq _02122038 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02121e80: ldr r1, _021220a4 ; =data_027e0fe4 ldr r2, _021220a8 ; =0x53454f43 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j add r1, sp, #0 ldr r1, [r1] mvn r0, #0 cmp r1, r0 ldr r1, _021220a4 ; =data_027e0fe4 movne r4, #1 ldr r1, [r1] ldr r2, _021220ac ; =0x53454b45 add r0, sp, #8 moveq r4, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j add r1, sp, #8 ldr r1, [r1] mvn r0, #0 cmp r1, r0 movne r2, #1 ldr r1, [r5, #0x138] ldr r0, [r5, #0x13c] moveq r2, #0 cmp r1, r0 addlt sp, sp, #0x20 ldmltia sp!, {r3, r4, r5, pc} cmp r4, #0 cmpne r2, #0 beq _02121f0c mov r0, r5 mov r1, #1 bl func_ov15_02121d60 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02121f0c: cmp r4, #0 cmpeq r2, #0 bne _02121ff8 ldr r2, _021220b0 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull lr, ip, r4, r3 mla ip, r4, r0, ip ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla ip, r0, r3, ip ldr r0, [r2, #0x14] adds lr, r4, lr adc ip, r0, ip mov r0, #0x64 umull r3, r4, ip, r0 mla r4, ip, r1, r4 mla r4, r1, r0, r4 str lr, [r2] str ip, [r2, #4] cmp r4, #0x32 bge _02121f78 ldr r1, _021220a8 ; =0x53454f43 mov r0, r5 bl func_ov15_02121bec b _02121f84 _02121f78: ldr r1, _021220ac ; =0x53454b45 mov r0, r5 bl func_ov15_02121bec _02121f84: ldr r2, _021220b0 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull lr, ip, r4, r3 mla ip, r4, r0, ip ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla ip, r0, r3, ip ldr r0, [r2, #0x14] adds lr, r4, lr adc ip, r0, ip mov r0, #0x64 umull r3, r4, ip, r0 str lr, [r2] mla r4, ip, r1, r4 mov r3, r1 mla r4, r3, r0, r4 str ip, [r2, #4] cmp r4, #0x1e mov r0, r5 bge _02121fe8 bl func_ov15_02121d60 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02121fe8: mov r1, #1 bl func_ov15_02121d60 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02121ff8: cmp r4, #0 beq _02122010 ldr r1, _021220ac ; =0x53454b45 mov r0, r5 bl func_ov15_02121bec b _02122024 _02122010: cmp r2, #0 beq _02122024 ldr r1, _021220a8 ; =0x53454f43 mov r0, r5 bl func_ov15_02121bec _02122024: mov r0, r5 mov r1, #1 bl func_ov15_02121d60 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02122038: ldr r1, _021220a4 ; =data_027e0fe4 ldr r2, _021220a8 ; =0x53454f43 ldr r1, [r1] add r0, sp, #0x10 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j add r1, sp, #0x10 ldr r1, [r1] mvn r0, #0 cmp r1, r0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _021220a4 ; =data_027e0fe4 ldr r2, _021220ac ; =0x53454b45 ldr r1, [r1] add r0, sp, #0x18 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j add r1, sp, #0x18 ldr r1, [r1] mvn r0, #0 cmp r1, r0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #0 bl func_ov15_02121d60 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02121e40 _021220a4: .word data_027e0fe4 _021220a8: .word 0x53454f43 _021220ac: .word 0x53454b45 _021220b0: .word data_027e0764 .global func_ov15_021220b4 arm_func_start func_ov15_021220b4 func_ov15_021220b4: ; 0x021220b4 stmdb sp!, {r3, lr} ldr r1, _021220e0 ; =data_027e0fe0 mov r0, #0x170 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_021220e4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021220b4 _021220e0: .word data_027e0fe0 .global func_ov15_021220e4 arm_func_start func_ov15_021220e4 func_ov15_021220e4: ; 0x021220e4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _0212210c ; =data_ov15_0218961c mvn r1, #0 str r0, [r4] str r1, [r4, #0x168] mov r0, r4 str r1, [r4, #0x16c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021220e4 _0212210c: .word data_ov15_0218961c .global func_ov15_02122110 arm_func_start func_ov15_02122110 func_ov15_02122110: ; 0x02122110 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02122110 .global func_ov15_02122124 arm_func_start func_ov15_02122124 func_ov15_02122124: ; 0x02122124 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_ov15_02122124 .global func_ov15_02122140 arm_func_start func_ov15_02122140 func_ov15_02122140: ; 0x02122140 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldrsh r0, [r4, #0x78] cmp r0, #0 beq _02122170 ldr r0, _0212229c ; =gAdventureFlags mov r1, #0x30 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02122170: mov r0, #0 str r0, [r4, #0x15c] ldr r1, _021222a0 ; =data_027e0d0c str r0, [r4, #0x6c] ldr r2, [r1] sub r3, r0, #1 str r2, [r4, #0x7c] ldr r2, [r1, #4] str r2, [r4, #0x80] ldr r2, [r1, #8] str r2, [r4, #0x84] str r3, [r4, #0x88] ldr r2, [r4, #0x7c] str r2, [r4, #0x8c] ldr r2, [r4, #0x80] str r2, [r4, #0x90] ldr r2, [r4, #0x84] str r2, [r4, #0x94] ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r2, [r1] str r2, [r4, #0xa8] ldr r2, [r1, #4] str r2, [r4, #0xac] ldr r1, [r1, #8] str r1, [r4, #0xb0] str r3, [r4, #0xb4] strb r0, [r4, #0x11a] ldrh r0, [r4, #0x20] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02122240 _021221f0: ; jump table b _02122208 ; case 0 b _02122214 ; case 1 b _02122220 ; case 2 b _0212222c ; case 3 b _02122238 ; case 4 b _02122238 ; case 5 _02122208: ldr r0, _021222a4 ; =0x53454f43 str r0, [r4, #0x158] b _02122240 _02122214: ldr r0, _021222a8 ; =0x53454b45 str r0, [r4, #0x158] b _02122240 _02122220: ldr r0, _021222ac ; =0x53504b4e str r0, [r4, #0x158] b _02122240 _0212222c: ldr r0, _021222b0 ; =0x464c5052 str r0, [r4, #0x158] b _02122240 _02122238: ldr r0, _021222b4 ; =0x42554949 str r0, [r4, #0x158] _02122240: mov r0, #0 ldr r2, _021222b8 ; =data_027e0764 str r0, [r4, #0x130] ldr r3, [r2] ldmib r2, {r1, ip} umull r5, lr, ip, r3 mla lr, ip, r1, lr ldr r1, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r1, r3, lr ldr r1, [r2, #0x14] adds r6, ip, r5 adc r5, r1, lr mov r1, #0xc9 umull r3, ip, r5, r1 mla ip, r5, r0, ip mla ip, r0, r1, ip str r6, [r2] str r5, [r2, #4] add r0, ip, #0xc8 str r0, [r4, #0x164] mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02122140 _0212229c: .word gAdventureFlags _021222a0: .word data_027e0d0c _021222a4: .word 0x53454f43 _021222a8: .word 0x53454b45 _021222ac: .word 0x53504b4e _021222b0: .word 0x464c5052 _021222b4: .word 0x42554949 _021222b8: .word data_027e0764 .global func_ov15_021222bc arm_func_start func_ov15_021222bc func_ov15_021222bc: ; 0x021222bc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x60 ldr r2, _02122638 ; =data_027e0f90 mov r4, r1 ldr r2, [r2] mov r5, r0 ldrsh r1, [r2, #0xa] cmp r1, #0 addle sp, sp, #0x60 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r1, _0212263c ; =0x42554949 cmp r4, r1 bne _021222fc bl func_ov15_02122674 add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _021222fc: ldr r0, _02122640 ; =data_027e0f94 add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x1c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 ldr r1, [r5, #8] ldr r0, _02122644 ; =0x53504b4e str r1, [sp, #0x38] ldr r1, [r5, #0xc] cmp r4, r0 str r1, [sp, #0x3c] bne _02122384 mov r6, #0 ldr r1, _02122648 ; =data_ov15_02185b7c ldr r2, _0212264c ; =data_ov15_02185b78 ldr r3, _02122650 ; =data_ov15_02185b74 add r0, sp, #4 str r6, [sp] bl func_ov15_0215cc30 ldr r3, [sp, #4] ldr r2, [sp, #8] ldr r1, [sp, #0xc] mov r0, #1 str r3, [sp, #0x54] str r2, [sp, #0x58] str r1, [sp, #0x5c] strh r0, [sp, #0x1c] b _021225f0 _02122384: ldr r0, _02122654 ; =0x464c5052 cmp r4, r0 bne _021224dc ldr r0, [r5, #0x48] ldr r9, _02122658 ; =data_027e0764 str r0, [sp, #0x54] ldr r0, [r5, #0x4c] ldr r1, [r9] str r0, [sp, #0x58] ldr r0, [r5, #0x50] mov r3, #0 str r0, [sp, #0x5c] ldmib r9, {r0, r7} umull r10, r2, r7, r1 mla r2, r7, r0, r2 ldr r6, [r9, #0xc] ldr ip, [r9, #0x10] mla r2, r6, r1, r2 ldr r8, [r9, #0x14] adds r1, ip, r10 adc r0, r8, r2 mov r2, r3, lsl #0x2 orr r2, r2, r0, lsr #30 add r2, r2, #3 and r2, r2, #0xff mov lr, r3 str r1, [r9] str r0, [r9, #4] strh lr, [sp, #0x1e] strh r2, [sp, #0x1c] cmp r2, #4 blo _02122448 cmp r2, #0 ble _0212243c umull lr, r10, r7, r1 mla r10, r7, r0, r10 mla r10, r6, r1, r10 adds r1, ip, lr adc r0, r8, r10 cmp r2, #0 moveq lr, r0 umullne r6, lr, r0, r2 mlane lr, r0, r3, lr str r1, [r9] mlane lr, r3, r2, lr str r0, [r9, #4] _0212243c: and r2, lr, #0xff strh r2, [sp, #0x20] b _02122450 _02122448: mov r2, #0xff strh r2, [sp, #0x20] _02122450: ldr r3, _02122658 ; =data_027e0764 ldr r2, _0212265c ; =0x00005555 ldr lr, [r3, #8] ldr ip, [r3, #0xc] umull r8, r6, lr, r1 mla r6, lr, r0, r6 ldr r7, [r3, #0x10] mla r6, ip, r1, r6 adds r8, r7, r8 ldr r0, [r3, #0x14] umull r10, r9, lr, r8 adc r1, r0, r6 mla r9, lr, r1, r9 str r8, [r3] mla r9, ip, r8, r9 adds r6, r7, r10 adc r9, r0, r9 mov r0, #3 umull r7, r10, r1, r0 str r1, [r3, #4] str r6, [r3] mov r6, #0 umull r7, r8, r9, r2 str r9, [r3, #4] mla r10, r1, r6, r10 mov r3, r6 mla r10, r3, r0, r10 mla r8, r9, r6, r8 and r1, r10, #0xff mla r8, r3, r2, r8 sub r0, r2, #0x8000 add r0, r8, r0 strh r1, [sp, #0x22] strh r0, [sp, #0x30] b _021225f0 _021224dc: ldr r7, _02122658 ; =data_027e0764 ldr r6, _02122660 ; =data_027e0f64 ldr r1, [r7] ldmib r7, {r0, r2} umull r3, r8, r2, r1 mla r8, r2, r0, r8 ldr r0, [r7, #0xc] ldr r2, [r7, #0x10] mla r8, r0, r1, r8 adds r2, r2, r3 ldr r1, [r7, #0x14] mov r0, #0 ldr r3, _02122664 ; =0x00001001 adc r1, r1, r8 umull r8, r9, r1, r3 str r2, [r7] mla r9, r1, r0, r9 mov r8, r0 mla r9, r8, r3, r9 add r3, r9, #0x2000 rsb r8, r3, #0 ldr r3, [r6] ldr r6, _02122658 ; =data_027e0764 str r1, [r7, #4] str r0, [sp, #0x10] str r0, [sp, #0x14] str r8, [sp, #0x18] ldr r8, [r6, #8] ldr r0, [r3, #4] umull ip, r9, r8, r2 mla r9, r8, r1, r9 ldr r3, [r0, #0x160] ldr r7, [r6, #0xc] add r0, r0, #0x200 cmp r3, #3 ldrsh r0, [r0, #0x26] mla r9, r7, r2, r9 subeq r0, r0, #0x8000 moveq r0, r0, lsl #0x10 ldr r8, [r6, #0x10] moveq r0, r0, asr #0x10 ldr r1, [r6, #0x14] adds ip, r8, ip adc r2, r1, r9 ldr r3, _02122668 ; =0x00002aab str ip, [r6] mov r1, #0 umull r7, r8, r2, r3 mla r8, r2, r1, r8 mla r8, r1, r3, r8 sub r1, r3, #0x4000 add r1, r8, r1 add r0, r0, r1 mov r0, r0, lsl #0x10 add r1, sp, #0x10 mov r0, r0, asr #0x10 str r2, [r6, #4] bl func_0202af4c add r0, sp, #0x48 add r1, sp, #0x10 add r2, sp, #0x54 bl func_01ff9bc4 ldr r0, _0212266c ; =0x53454f43 cmp r4, r0 bne _021225f0 ldrh r0, [r5, #0x24] strh r0, [sp, #0x1c] ldrh r0, [r5, #0x26] strh r0, [sp, #0x1e] _021225f0: add r1, sp, #0x54 mov r0, r5 bl func_ov15_021232b4 cmp r0, #0 ldreq r0, [r5, #0x164] addeq sp, sp, #0x60 streq r0, [r5, #0x160] ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} add r1, r5, #0x168 str r1, [sp] ldr r0, _02122670 ; =data_027e0fe8 add r2, sp, #0x54 ldr r0, [r0] add r3, sp, #0x1c mov r1, r4 bl func_ov00_020c4048 add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_021222bc _02122638: .word data_027e0f90 _0212263c: .word 0x42554949 _02122640: .word data_027e0f94 _02122644: .word 0x53504b4e _02122648: .word data_ov15_02185b7c _0212264c: .word data_ov15_02185b78 _02122650: .word data_ov15_02185b74 _02122654: .word 0x464c5052 _02122658: .word data_027e0764 _0212265c: .word 0x00005555 _02122660: .word data_027e0f64 _02122664: .word 0x00001001 _02122668: .word 0x00002aab _0212266c: .word 0x53454f43 _02122670: .word data_027e0fe8 .global func_ov15_02122674 arm_func_start func_ov15_02122674 func_ov15_02122674: ; 0x02122674 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xe4 ldr r1, _02122d9c ; =data_027e0f94 add r3, sp, #0xc0 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} bl func_ov15_0213ce4c add r2, sp, #0xd8 add r3, sp, #0x20 mov r1, #0xa000 bl func_ov15_0213cfe8 cmp r0, #0 moveq r0, #0 addeq sp, sp, #0xe4 streq r0, [r4, #0x160] ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r3, [sp, #0xd8] ldr r2, [sp, #0xdc] ldr r1, [sp, #0xe0] ldr r0, _02122da0 ; =data_027e0e60 str r2, [sp, #0x50] str r3, [sp, #0x4c] str r1, [sp, #0x54] ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x4c bl func_ov00_02083770 cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 movne r0, #0 addne sp, sp, #0xe4 strne r0, [r4, #0x160] ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0xc0 add r1, sp, #0xd8 bl func_ov00_020ce2f0 cmp r0, #0x6000 movlt r0, #0 addlt sp, sp, #0xe4 strlt r0, [r4, #0x160] ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrsh r5, [sp, #0x20] ldr r2, [sp, #0xd8] ldr r1, [sp, #0xdc] ldr r0, [sp, #0xe0] str r2, [sp, #0xcc] str r1, [sp, #0xd0] str r0, [sp, #0xd4] cmp r5, #0 bge _02122768 ldr r0, _02122d9c ; =data_027e0f94 ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0xb4] str r1, [sp, #0xb8] ldr r0, [r0, #8] str r0, [sp, #0xbc] b _02122794 _02122768: bl func_ov15_0213ce4c mov r1, #0xc smulbb r1, r5, r1 ldr r2, [r0, #4] ldr r0, [r2, r1] add r1, r2, r1 str r0, [sp, #0xb4] ldr r0, [r1, #4] str r0, [sp, #0xb8] ldr r0, [r1, #8] str r0, [sp, #0xbc] _02122794: add r0, sp, #0xb4 add r1, sp, #0xd8 add r2, sp, #0xa8 bl func_01ff9bf8 ldr r0, [sp, #0xa8] ldr r1, [sp, #0xb0] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x8000 mov r1, r0, lsl #0x10 add r0, sp, #0x58 mov r5, r1, asr #0x10 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x58 str r1, [sp, #0x74] str r1, [sp, #0x78] bl func_ov00_020c3348 add r0, r5, #0x8000 strh r0, [sp, #0x6c] ldr r1, [r4, #8] str r0, [sp, #4] str r1, [sp, #0x74] ldr r1, [r4, #0xc] ldrsh r0, [sp, #0x20] str r1, [sp, #0x78] strh r0, [sp, #0x5c] ldrh r0, [r4, #0x20] cmp r0, #4 sub r0, r5, #0x4000 mov r0, r0, lsl #0x10 bne _02122a64 add r1, r5, #0x4000 mov r0, r0, asr #0x10 mov r1, r1, lsl #0x10 mov r0, r0, lsl #0x10 mov r1, r1, asr #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsl #0x10 mov r1, r2, asr #0x4 mov r7, r1, lsl #0x1 ldr r1, [sp, #0xdc] mov r6, #1 sub r3, r6, #2 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r11, r0, lsl #0x1 add r9, r7, #1 mov r10, r7, lsl #0x1 add r8, r11, #1 ldr r2, [sp, #0xd8] ldr r0, [sp, #0xe0] mov ip, #0 ldr r5, _02122da4 ; =data_02050f54 mov r7, r11, lsl #0x1 ldrsh r11, [r5, r10] mov r9, r9, lsl #0x1 ldrsh r9, [r5, r9] mov r10, r11, asr #0x1f mov r10, r10, lsl #0xd str r1, [sp, #0x88] str r1, [sp, #0x94] str r1, [sp, #0xa0] mov r1, #0x800 mov r8, r8, lsl #0x1 ldrsh r7, [r5, r7] ldrsh r5, [r5, r8] mov r8, r9, asr #0x1f mov r8, r8, lsl #0xd strh r6, [sp, #0x58] str r3, [sp, #0x44] str r3, [sp, #0x48] str r3, [sp, #0x3c] str r3, [sp, #0x40] adds r3, r1, r11, lsl #13 orr r10, r10, r11, lsr #19 adc r10, r10, #0 mov r3, r3, lsr #0xc orr r3, r3, r10, lsl #20 add r3, r2, r3 adds r10, r1, r9, lsl #13 orr r8, r8, r9, lsr #19 str r3, [sp, #0x9c] adc r3, r8, #0 mov r8, r10, lsr #0xc orr r8, r8, r3, lsl #20 add r3, r0, r8 mov r6, r7, asr #0x1f strh ip, [sp, #0x5a] mov ip, r6, lsl #0xd mov r6, r5, asr #0x1f mov r6, r6, lsl #0xd adds r8, r1, r7, lsl #13 orr ip, ip, r7, lsr #19 str r3, [sp, #0xa4] adc r3, ip, #0 mov r7, r8, lsr #0xc orr r7, r7, r3, lsl #20 add r3, r2, r7 str r2, [sp, #0x84] adds r2, r1, r5, lsl #13 orr r6, r6, r5, lsr #19 str r3, [sp, #0x90] adc r1, r6, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r0, [sp, #0x8c] add r0, r0, r2 str r0, [sp, #0x98] add r1, sp, #0x44 str r1, [sp] ldr r0, _02122da8 ; =data_027e0fe8 ldr r1, _02122dac ; =0x42554949 ldr r0, [r0] add r2, sp, #0x9c add r3, sp, #0x58 bl func_ov00_020c4048 ldr r1, [sp, #0x44] mvn r0, #0 cmp r1, r0 moveq r0, #0 addeq sp, sp, #0xe4 streq r0, [r4, #0x160] ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, #1 strh r0, [sp, #0x5a] add r1, sp, #0x3c str r1, [sp] ldr r0, _02122da8 ; =data_027e0fe8 ldr r1, _02122dac ; =0x42554949 ldr r0, [r0] add r2, sp, #0x90 add r3, sp, #0x58 bl func_ov00_020c4048 ldr r0, _02122db0 ; =data_027e0fe4 add r1, sp, #0x44 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef ldr r2, [sp, #0x3c] mvn r1, #0 mov r6, r0 cmp r2, r1 bne _021229e8 mov r0, #0 str r0, [r4, #0x160] add sp, sp, #0xe4 strb r0, [r6, #0x118] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021229e8: ldr r0, _02122db0 ; =data_027e0fe4 add r1, sp, #0x3c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r5, r0 mov r0, r6 mov r1, r5 bl func_ov15_021562c4 cmp r0, #0 bne _02122a28 mov r0, #0 strb r0, [r6, #0x118] strb r0, [r5, #0x118] add sp, sp, #0xe4 str r0, [r4, #0x160] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02122a28: ldr r0, [sp, #0x44] add r1, sp, #0xcc str r0, [r4, #0x168] ldr r2, [sp, #0x48] mov r0, r6 str r2, [r4, #0x16c] ldr r2, [sp, #4] strh r2, [r6, #0x78] str r5, [r6, #0x2b4] bl func_ov15_02157278 mov r0, #0xa000 str r0, [r6, #0x2dc] add sp, sp, #0xe4 str r6, [r5, #0x2b0] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02122a64: add r1, r5, #0x4000 mov r0, r0, asr #0x10 mov r1, r1, lsl #0x10 mov r0, r0, lsl #0x10 mov r1, r1, asr #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r2, asr #0x4 mov r8, r1, lsl #0x1 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r5, #2 sub r2, r5, #3 ldr r1, [sp, #0xdc] ldr r3, _02122da4 ; =data_02050f54 mov r9, r0, lsl #0x1 add r7, r8, #1 mov r10, r8, lsl #0x1 add r6, r0, #1 mov r8, r7, lsl #0x1 ldrsh r8, [r3, r8] mov r7, r6, lsl #0x1 ldrsh r0, [r3, r10] ldrsh ip, [r3, r9] ldrsh r3, [r3, r7] mov r11, r8, asr #0x1f mov r10, ip, asr #0x1f mov lr, r10, lsl #0xe mov r7, r11, lsl #0xc strh r5, [sp, #0x58] mov r5, r11, lsl #0xe mov r10, r3, asr #0x1f mov r11, r10, lsl #0xe ldr r10, [sp, #0xd8] mov r6, r0, asr #0x1f mov r9, r6, lsl #0xc str r10, [sp, #8] mov r10, #0 mov r6, r6, lsl #0xe str r1, [sp, #0x88] str r1, [sp, #0x94] str r1, [sp, #0xa0] mov r1, #0x800 strh r10, [sp, #0x5a] adds r10, r1, r0, lsl #12 orr r9, r9, r0, lsr #20 str r10, [sp, #0xc] adc r9, r9, #0 mov r10, r10, lsr #0xc orr r9, r10, r9, lsl #20 ldr r10, [sp, #8] str r9, [sp, #0x18] add r9, r10, r9 ldr r10, [sp, #0xe0] orr r7, r7, r8, lsr #20 str r10, [sp, #0x1c] adds r10, r1, r8, lsl #12 str r10, [sp, #0x14] adc r7, r7, #0 orr r6, r6, r0, lsr #18 adds r0, r1, r0, lsl #14 mov r10, r10, lsr #0xc orr r10, r10, r7, lsl #20 ldr r7, [sp, #0x1c] adc r6, r6, #0 add r7, r7, r10 mov r0, r0, lsr #0xc orr r0, r0, r6, lsl #20 add r0, r9, r0 orr r5, r5, r8, lsr #18 adds r6, r1, r8, lsl #14 str r0, [sp, #0x9c] adc r0, r5, #0 mov r5, r6, lsr #0xc orr r5, r5, r0, lsl #20 add r0, r7, r5 adds r5, r1, ip, lsl #14 orr lr, lr, ip, lsr #18 str r0, [sp, #0xa4] adc r0, lr, #0 mov r5, r5, lsr #0xc orr r5, r5, r0, lsl #20 add r0, r9, r5 adds r1, r1, r3, lsl #14 orr r11, r11, r3, lsr #18 str r0, [sp, #0x90] adc r0, r11, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r7, r1 str r2, [sp, #0x34] str r2, [sp, #0x38] str r2, [sp, #0x2c] str r2, [sp, #0x30] str r9, [sp, #0xd8] str r9, [sp, #0x84] str r10, [sp, #0x10] str r7, [sp, #0xe0] str r7, [sp, #0x8c] str r0, [sp, #0x98] add r1, sp, #0x34 str r2, [sp, #0x24] str r2, [sp, #0x28] str r1, [sp] ldr r0, _02122da8 ; =data_027e0fe8 ldr r1, _02122dac ; =0x42554949 ldr r0, [r0] add r2, sp, #0x9c add r3, sp, #0x58 bl func_ov00_020c4048 ldr r1, [sp, #0x34] mvn r0, #0 cmp r1, r0 moveq r0, #0 addeq sp, sp, #0xe4 streq r0, [r4, #0x160] ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, #1 strh r0, [sp, #0x5a] add r1, sp, #0x2c str r1, [sp] ldr r0, _02122da8 ; =data_027e0fe8 ldr r1, _02122dac ; =0x42554949 ldr r0, [r0] add r2, sp, #0x90 add r3, sp, #0x58 bl func_ov00_020c4048 ldr r0, _02122db0 ; =data_027e0fe4 add r1, sp, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef ldr r2, [sp, #0x2c] mvn r1, #0 mov r5, r0 cmp r2, r1 bne _02122c9c mov r0, #0 str r0, [r4, #0x160] add sp, sp, #0xe4 strb r0, [r5, #0x118] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02122c9c: mov r0, #2 strh r0, [sp, #0x5a] add r1, sp, #0x24 str r1, [sp] ldr r0, _02122da8 ; =data_027e0fe8 ldr r1, _02122dac ; =0x42554949 ldr r0, [r0] add r2, sp, #0x84 add r3, sp, #0x58 bl func_ov00_020c4048 ldr r0, _02122db0 ; =data_027e0fe4 add r1, sp, #0x2c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef ldr r2, [sp, #0x24] mvn r1, #0 mov r6, r0 cmp r2, r1 bne _02122d00 mov r0, #0 str r0, [r4, #0x160] strb r0, [r5, #0x118] add sp, sp, #0xe4 strb r0, [r6, #0x118] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02122d00: ldr r0, _02122db0 ; =data_027e0fe4 add r1, sp, #0x24 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r7, r0 mov r0, r5 mov r1, r7 bl func_ov15_021562c4 cmp r0, #0 beq _02122d3c mov r0, r7 mov r1, r6 bl func_ov15_021562c4 cmp r0, #0 bne _02122d58 _02122d3c: mov r0, #0 strb r0, [r5, #0x118] strb r0, [r6, #0x118] strb r0, [r7, #0x118] add sp, sp, #0xe4 str r0, [r4, #0x160] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02122d58: ldr r0, [sp, #0x34] add r1, sp, #0xcc str r0, [r4, #0x168] ldr r2, [sp, #0x38] mov r0, r5 str r2, [r4, #0x16c] ldr r2, [sp, #4] strh r2, [r5, #0x78] str r7, [r5, #0x2b4] bl func_ov15_02157278 mov r0, #0xa000 str r0, [r5, #0x2dc] str r5, [r7, #0x2b0] str r6, [r7, #0x2b4] str r7, [r6, #0x2b0] add sp, sp, #0xe4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02122674 _02122d9c: .word data_027e0f94 _02122da0: .word data_027e0e60 _02122da4: .word data_02050f54 _02122da8: .word data_027e0fe8 _02122dac: .word 0x42554949 _02122db0: .word data_027e0fe4 .global func_ov15_02122db4 arm_func_start func_ov15_02122db4 func_ov15_02122db4: ; 0x02122db4 stmdb sp!, {r4, r5, r6, lr} cmp r1, #0 beq _02122dc8 cmp r1, #1 b _02122e20 _02122dc8: ldr r3, _02122e30 ; =data_027e0764 mov ip, #0 ldr r4, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, r4 mla r5, lr, r2, r5 ldr r2, [r3, #0xc] ldr lr, [r3, #0x10] mla r5, r2, r4, r5 ldr r2, [r3, #0x14] adds r6, lr, r6 adc r5, r2, r5 mov r2, #0xc9 umull lr, r4, r5, r2 str r6, [r3] mla r4, r5, ip, r4 mov lr, ip mla r4, lr, r2, r4 str r5, [r3, #4] add r2, r4, #0xc8 str r2, [r0, #0x164] str ip, [r0, #0x160] _02122e20: mov r2, #0 str r2, [r0, #0x138] str r1, [r0, #0x130] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02122db4 _02122e30: .word data_027e0764 .global func_ov15_02122e34 arm_func_start func_ov15_02122e34 func_ov15_02122e34: ; 0x02122e34 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r5, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x130] cmp r0, #0 beq _02122e6c cmp r0, #1 beq _02122f8c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02122e6c: ldr r0, [r5, #0x15c] cmp r0, #0x96 bge _02122ebc add r0, sp, #0xc bl func_ov15_0215cef8 add r0, sp, #0xc add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] cmp r0, #0 ldreq r0, [sp, #8] cmpeq r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x15c] add sp, sp, #0x18 add r0, r0, #1 str r0, [r5, #0x15c] ldmia sp!, {r3, r4, r5, pc} _02122ebc: bl func_ov15_02177954 cmp r0, #0 beq _02122edc bl func_ov15_02177954 ldrb r0, [r0, #0x473] cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} _02122edc: ldr r0, _021230c0 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #1 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _021230c4 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078fac cmp r0, #3 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _021230c0 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a54c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _021230c8 ; =data_027e0e60 ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x160] adds r0, r0, #1 str r0, [r5, #0x160] movmi r0, #0 strmi r0, [r5, #0x160] ldr r1, [r5, #0x160] ldr r0, [r5, #0x164] cmp r1, r0 addlt sp, sp, #0x18 ldmltia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x158] mov r0, r5 bl func_ov15_021222bc mov r0, r5 mov r1, #1 bl func_ov15_02122db4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02122f8c: ldr r0, _021230cc ; =data_027e0fe4 add r1, r5, #0x168 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 bne _02122fb8 mov r0, r5 mov r1, #0 bl func_ov15_02122db4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02122fb8: ldr r0, _021230c0 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #1 beq _02122fe8 bl func_ov15_02177954 cmp r0, #0 beq _0212307c bl func_ov15_02177954 ldrb r0, [r0, #0x473] cmp r0, #0 beq _0212307c _02122fe8: ldr r1, [r4, #4] ldr r0, _021230d0 ; =0x53454b45 cmp r1, r0 bhi _02123010 bhs _0212304c ldr r0, _021230d4 ; =0x464c5052 cmp r1, r0 beq _0212306c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02123010: ldr r0, _021230d8 ; =0x53454f43 cmp r1, r0 bhi _02123028 beq _0212303c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02123028: ldr r0, _021230dc ; =0x53504b4e cmp r1, r0 beq _0212305c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0212303c: mov r0, r4 bl func_ov15_02125374 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0212304c: mov r0, r4 bl func_ov15_0212601c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0212305c: mov r0, r4 bl func_ov15_0213b150 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0212306c: mov r0, r4 bl func_ov15_02168d58 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0212307c: ldr r1, [r5, #0x158] ldr r0, _021230d4 ; =0x464c5052 cmp r1, r0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _021230c8 ; =data_027e0e60 ldrh r1, [r5, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov15_02168d58 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02122e34 _021230c0: .word data_027e10a4 _021230c4: .word data_027e0d3c _021230c8: .word data_027e0e60 _021230cc: .word data_027e0fe4 _021230d0: .word 0x53454b45 _021230d4: .word 0x464c5052 _021230d8: .word 0x53454f43 _021230dc: .word 0x53504b4e .global func_ov15_021230e0 arm_func_start func_ov15_021230e0 func_ov15_021230e0: ; 0x021230e0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x3c mov r4, r1 ldr r2, [r4, #4] ldr r1, _021232a4 ; =0x444e5043 mov r5, r0 cmp r2, r1 beq _02123118 ldr r0, _021232a8 ; =0x47534950 cmp r2, r0 beq _02123120 sub r0, r0, #0xf3000000 cmp r2, r0 bne _02123128 _02123118: mov r6, #0x3000 b _02123134 _02123120: mov r6, #0x5000 b _02123134 _02123128: add sp, sp, #0x3c mov r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02123134: add r0, r4, #0x48 add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 add r1, r5, #4 bl func_ov00_020ce2f0 cmp r0, r6 addlt sp, sp, #0x3c movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, pc} ldr r1, [r5, #0x10] cmp r0, r1 bge _02123298 ldr r0, _021232ac ; =data_027e0f94 add r2, sp, #0x18 add r1, r5, #4 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0x18 str r1, [sp, #0x1c] bl func_01fffb4c cmp r0, #0 addne sp, sp, #0x3c movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #0x48] add r0, sp, #0xc str r1, [sp, #0xc] ldr r2, [r4, #0x4c] add r1, sp, #0 str r2, [sp, #0x10] ldr r3, [r4, #0x50] add r2, sp, #0x24 str r3, [sp, #0x14] ldr r3, [r5, #4] str r3, [sp] ldr r3, [r5, #8] str r3, [sp, #4] ldr r3, [r5, #0xc] str r3, [sp, #8] bl func_01ff9bf8 add r0, sp, #0x24 add r1, sp, #0x18 bl func_01ff9c2c movs r4, r0 bmi _02123298 add r0, sp, #0x24 bl func_01ff9cec cmp r4, r0 bge _02123298 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] bl func_01ffa0f4 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 add r0, r1, #1 ldr r2, _021232b0 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] smull r2, r3, r1, r4 adds ip, r2, #0x800 smull r2, r1, r0, r4 adc r0, r3, #0 mov r3, ip, lsr #0xc ldr r4, [r5, #4] orr r3, r3, r0, lsl #20 add r0, r4, r3 adds r2, r2, #0x800 str r0, [sp, #0x24] adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 ldr r2, [r5, #0xc] add r0, sp, #0x30 add r2, r2, r1 add r1, sp, #0x24 str r2, [sp, #0x2c] bl func_ov00_020ce2f0 cmp r0, #0x3000 addlt sp, sp, #0x3c movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, pc} _02123298: mov r0, #0 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021230e0 _021232a4: .word 0x444e5043 _021232a8: .word 0x47534950 _021232ac: .word data_027e0f94 _021232b0: .word data_02050f54 .global func_ov15_021232b4 arm_func_start func_ov15_021232b4 func_ov15_021232b4: ; 0x021232b4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xd4 ldrh r2, [r0, #0x20] mov r4, r1 cmp r2, #3 addhs sp, sp, #0xd4 movhs r0, #1 ldmhsia sp!, {r4, r5, pc} ldr r1, _02123454 ; =data_027e0f94 ldr r2, _02123458 ; =0x0000ffff ldr r3, [r1, #4] ldr r5, [r1] str r3, [sp, #0x6c] str r5, [sp, #0x68] ldr r1, [r1, #8] add r3, r3, #0x800 str r1, [sp, #0x70] ldr r1, [r4] mov r5, #0 str r1, [sp, #0x5c] ldr r1, [r4, #4] ldr ip, _0212345c ; =data_ov15_02185b60 str r1, [sp, #0x60] ldr lr, [r4, #8] add r1, sp, #0x4c str r3, [sp, #0x6c] str r3, [sp, #0x60] strh r2, [sp, #0x98] strh r2, [sp, #0x9a] strh r2, [sp, #0x9c] strh r2, [sp, #0x9e] strh r5, [sp, #0xa0] strb r5, [sp, #0xc2] strb r5, [sp, #0xc3] strb r5, [sp, #0xc4] strb r5, [sp, #0xc5] strb r5, [sp, #0xcc] strb r5, [sp, #0xcd] strb r5, [sp, #0xce] strb r5, [sp, #0xcf] strb r5, [sp, #0xd0] strb r5, [sp, #0xd1] str lr, [sp, #0x64] ldrh lr, [r0, #0x20] mov r3, #0xd ldr r2, _02123460 ; =data_027e0e60 ldr ip, [ip, lr, lsl #2] str r5, [sp, #0x4c] str r5, [sp, #0x50] str r5, [sp, #0x54] str ip, [sp, #0x58] str r1, [sp] ldr r0, [r0, #8] add r1, sp, #0x74 stmib sp, {r0, r3, r5} str r5, [sp, #0x10] ldr r0, [r2] add r2, sp, #0x5c add r3, sp, #0x68 bl func_01ffbe78 cmp r0, #0 addne sp, sp, #0xd4 movne r0, r5 ldmneia sp!, {r4, r5, pc} mvn ip, #0 add r3, sp, #0x14 ldr r0, _02123464 ; =data_ov15_02189610 mov r2, #1 mov r1, r5 str r3, [sp, #0x40] str ip, [sp, #0x14] str ip, [sp, #0x18] str r2, [sp, #0x44] str r1, [sp, #0x48] str r0, [sp, #0x28] add r3, sp, #0x2c ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02123454 ; =data_027e0f94 add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r4 bl func_ov00_020ce2f0 str r0, [sp, #0x38] add r0, sp, #0x1c mov r1, r4 mov r2, r0 bl func_01ff9bf8 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 strh r0, [sp, #0x3c] ldr r0, _02123468 ; =data_027e0fe4 add r1, sp, #0x28 ldr r0, [r0] add r2, sp, #0x40 bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList cmp r0, #0 movne r0, r5 moveq r0, #1 add sp, sp, #0xd4 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021232b4 _02123454: .word data_027e0f94 _02123458: .word 0x0000ffff _0212345c: .word data_ov15_02185b60 _02123460: .word data_027e0e60 _02123464: .word data_ov15_02189610 _02123468: .word data_027e0fe4 .global func_ov15_0212346c arm_func_start func_ov15_0212346c func_ov15_0212346c: ; 0x0212346c bx lr arm_func_end func_ov15_0212346c .global func_ov15_02123470 arm_func_start func_ov15_02123470 func_ov15_02123470: ; 0x02123470 bx lr arm_func_end func_ov15_02123470 .global func_ov15_02123474 arm_func_start func_ov15_02123474 func_ov15_02123474: ; 0x02123474 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5ActorC2Ev ldr r0, _021234dc ; =data_ov15_021896ec mov r1, #0 str r0, [r5] str r1, [r5, #0x158] str r4, [r5, #0x174] str r1, [r5, #0x17c] mov r0, #1 strb r0, [r5, #0x180] strb r0, [r5, #0x181] mov r0, #4 strb r0, [r5, #0x124] strb r1, [r5, #0x125] mov r0, #2 str r0, [r5, #0x12c] str r1, [r5, #0x15c] str r1, [r5, #0x160] str r1, [r5, #0x164] str r1, [r5, #0x168] str r1, [r5, #0x16c] mov r0, r5 str r1, [r5, #0x170] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02123474 _021234dc: .word data_ov15_021896ec .global func_ov15_021234e0 arm_func_start func_ov15_021234e0 func_ov15_021234e0: ; 0x021234e0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021234e0 .global func_ov15_021234f4 arm_func_start func_ov15_021234f4 func_ov15_021234f4: ; 0x021234f4 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_ov15_021234f4 .global func_ov15_02123510 arm_func_start func_ov15_02123510 func_ov15_02123510: ; 0x02123510 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02123510 .global func_ov15_02123524 arm_func_start func_ov15_02123524 func_ov15_02123524: ; 0x02123524 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 ldr r2, _021236e4 ; =data_ov15_0218ec98 mov r4, r0 ldr r3, [r2] tst r3, #1 bne _02123550 ldr r0, _021236e8 ; =data_ov15_021896d0 orr r3, r3, #1 strh r1, [r0, #0x10] str r3, [r2] _02123550: add r0, sp, #0 bl func_ov15_0215cef8 add r0, sp, #0 add r3, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r5, #0 ldr ip, [sp, #0x24] mov r0, #0xa000 umull r6, lr, ip, r0 ldr r1, [sp, #0x2c] adds r6, r6, #0x800 umull r3, r2, r1, r0 mla r2, r1, r5, r2 mov r7, r6, lsr #0xc mov r1, r1, asr #0x1f mla lr, ip, r5, lr mov r6, ip, asr #0x1f mla lr, r6, r0, lr adc r6, lr, #0 mla r2, r1, r0, r2 adds r1, r3, #0x800 adc r0, r2, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 orr r7, r7, r6, lsl #20 str r1, [sp, #0x20] ldr r0, _021236ec ; =data_027e0f94 add r1, sp, #0x18 add r2, r4, #0x15c str r5, [sp, #0x1c] str r7, [sp, #0x18] bl func_01ff9bc4 add r0, r4, #0x15c add r1, r4, #0x48 add r2, sp, #0xc bl func_01ff9bf8 ldr r0, _021236e8 ; =data_ov15_021896d0 ldrsh r1, [r0, #0x10] mov r0, r1, lsl #0x1 add r0, r0, #1 cmp r0, #0 ble _0212364c ldr r2, _021236f0 ; =data_027e0764 ldr ip, [r2] ldmib r2, {r3, lr} umull r6, r5, lr, ip mla r5, lr, r3, r5 ldr r3, [r2, #0xc] ldr lr, [r2, #0x10] mla r5, r3, ip, r5 ldr r3, [r2, #0x14] adds r6, lr, r6 adc r5, r3, r5 str r6, [r2] str r5, [r2, #4] cmp r0, #0 beq _0212364c mov ip, #0 umull r3, r2, r5, r0 mla r2, r5, ip, r2 mla r2, ip, r0, r2 mov r5, r2 _0212364c: sub r0, r5, r1 mov r0, r0, lsl #0x10 add r1, sp, #0xc mov r0, r0, asr #0x10 bl func_0202af4c add r1, sp, #0xc add r0, r4, #0x48 add r2, r4, #0x15c bl func_01ff9bc4 mov r0, r4 add r1, r4, #0x15c bl _ZN5Actor10GetAngleToEP5Vec3p mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _021236f4 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh r3, [r1, r2] mov r0, r0, lsl #0x1 ldr r2, [r4, #0x174] ldrsh r1, [r1, r0] smull r2, r0, r3, r2 adds r2, r2, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 str r2, [r4, #0x168] ldr r0, [r4, #0x174] smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x170] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02123524 _021236e4: .word data_ov15_0218ec98 _021236e8: .word data_ov15_021896d0 _021236ec: .word data_027e0f94 _021236f0: .word data_027e0764 _021236f4: .word data_02050f54 .global func_ov15_021236f8 arm_func_start func_ov15_021236f8 func_ov15_021236f8: ; 0x021236f8 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r3, [r4, #0x164] ldr r2, [r4, #0x50] ldr r1, [r4, #0x15c] ldr r0, [r4, #0x48] sub r6, r3, r2 subs r5, r1, r0 cmpeq r6, #0 beq _02123760 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] bl func_01ffa0f4 mov r4, r0, lsl #0x10 mov r0, r5 mov r1, r6 bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, r4, asr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 movs r0, r0, asr #0x3 rsbmi r0, r0, #0 cmp r0, #0x800 ble _02123768 _02123760: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02123768: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_021236f8 .global func_ov15_02123770 arm_func_start func_ov15_02123770 func_ov15_02123770: ; 0x02123770 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 bl _ZN5Actor4KillEv ldrb r0, [r4, #0x180] cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x7c bl func_01ff9bc4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02123824 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0xbe mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02123824 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0xbf mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02123824 ; =data_027e0e58 mov r1, #0xc0 ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02123770 _02123824: .word data_027e0e58 .global func_ov15_02123828 arm_func_start func_ov15_02123828 func_ov15_02123828: ; 0x02123828 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02123914 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 ldmia sp!, {r4, pc} arm_func_end func_ov15_02123828 .global func_ov15_02123848 arm_func_start func_ov15_02123848 func_ov15_02123848: ; 0x02123848 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x17c] bl func_ov15_02123878 mov r1, r0 mov r0, r4 bl func_ov15_02123914 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 ldmia sp!, {r4, pc} arm_func_end func_ov15_02123848 .global func_ov15_02123878 arm_func_start func_ov15_02123878 func_ov15_02123878: ; 0x02123878 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} ldr r7, _02123910 ; =data_027e0764 mov r0, #0 ldr r4, [r7] ldmib r7, {r2, r3} umull r5, r6, r3, r4 mla r6, r3, r2, r6 ldr r2, [r7, #0xc] ldr lr, [r7, #0x10] mla r6, r2, r4, r6 ldr ip, [r7, #0x14] adds r5, lr, r5 adc r4, ip, r6 mov r6, #0x64 umull r8, r9, r4, r6 cmp r1, #0 str r5, [r7] mla r9, r4, r0, r9 mov r1, r0 mla r9, r1, r6, r9 str r4, [r7, #4] ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} cmp r9, #0x1e movlt r0, #8 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} umull r8, r6, r3, r5 mla r6, r3, r4, r6 mla r6, r2, r5, r6 adds r8, lr, r8 adc r5, ip, r6 mov r2, #3 umull r3, r4, r5, r2 mla r4, r5, r0, r4 mla r4, r1, r2, r4 str r8, [r7] str r5, [r7, #4] add r0, r4, #2 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02123878 _02123910: .word data_027e0764 .global func_ov15_02123914 arm_func_start func_ov15_02123914 func_ov15_02123914: ; 0x02123914 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r4, r0 add r0, sp, #4 mov r5, r1 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] str r1, [sp, #0x24] bl func_ov00_020c3348 ldr r0, [r4, #8] cmp r5, #8 str r0, [sp, #0x20] ldr r0, [r4, #0xc] str r0, [sp, #0x24] addls pc, pc, r5, lsl #2 b _02123a18 _0212395c: ; jump table b _02123a18 ; case 0 b _02123a18 ; case 1 b _02123980 ; case 2 b _02123994 ; case 3 b _021239a8 ; case 4 b _021239bc ; case 5 b _021239d0 ; case 6 b _021239e4 ; case 7 b _021239f8 ; case 8 _02123980: mov r0, r4 mov r1, #0 bl func_ov15_02123a28 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} _02123994: mov r0, r4 mov r1, #1 bl func_ov15_02123a28 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} _021239a8: mov r0, r4 mov r1, #2 bl func_ov15_02123a28 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} _021239bc: mov r0, r4 mov r1, #3 bl func_ov15_02123a28 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} _021239d0: mov r0, r4 mov r1, #4 bl func_ov15_02123a28 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} _021239e4: mov r0, r4 mov r1, #5 bl func_ov15_02123a28 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} _021239f8: mov r1, #0 str r1, [sp] ldr r0, _02123a20 ; =data_027e0fe8 ldr r1, _02123a24 ; =0x53485254 ldr r0, [r0] add r3, sp, #4 add r2, r4, #0x48 bl func_ov00_020c4048 _02123a18: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02123914 _02123a20: .word data_027e0fe8 _02123a24: .word 0x53485254 .global func_ov15_02123a28 arm_func_start func_ov15_02123a28 func_ov15_02123a28: ; 0x02123a28 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r4, r0 add r0, sp, #4 mov r5, r1 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] str r1, [sp, #0x24] bl func_ov00_020c3348 and r0, r5, #0xff strh r0, [sp, #4] ldr r0, [r4, #8] mov r1, #0 str r0, [sp, #0x20] ldr r2, [r4, #0xc] ldr r0, _02123a94 ; =data_027e0fe8 str r2, [sp, #0x24] str r1, [sp] ldr r0, [r0] ldr r1, _02123a98 ; =0x53525059 add r3, sp, #4 add r2, r4, #0x48 bl func_ov00_020c4048 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02123a28 _02123a94: .word data_027e0fe8 _02123a98: .word 0x53525059 .global func_ov15_02123a9c arm_func_start func_ov15_02123a9c func_ov15_02123a9c: ; 0x02123a9c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02123b44 ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldrb r0, [r5, #0x118] cmp r0, #0 beq _02123b44 ldr r1, [r5, #0x158] mov r0, r5 mov r2, #0 bl _ZN5Actor18func_ov00_020c243cEiPi cmp r0, #0 bne _02123b10 mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 _02123b10: mov r0, r5 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb8] blx r1 ldrb r0, [r5, #0x118] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _02123b44: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldrb r0, [r5, #0x181] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02123b74 ; =data_ov15_02190458 add r1, r5, #0x48 mov r2, #0 bl func_ov15_02184a40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02123a9c _02123b74: .word data_ov15_02190458 .global func_ov15_02123b78 arm_func_start func_ov15_02123b78 func_ov15_02123b78: ; 0x02123b78 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor8vfunc_18Ej ldrb r0, [r4, #0x181] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _02123ba4 ; =data_ov15_02190458 add r1, r4, #0x48 mov r2, #0 bl func_ov15_02184a40 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02123b78 _02123ba4: .word data_ov15_02190458 .global func_ov15_02123ba8 arm_func_start func_ov15_02123ba8 func_ov15_02123ba8: ; 0x02123ba8 mov r1, #0 strb r1, [r0, #0x118] bx lr arm_func_end func_ov15_02123ba8 .global func_ov15_02123bb4 arm_func_start func_ov15_02123bb4 func_ov15_02123bb4: ; 0x02123bb4 ldr ip, _02123bbc ; =_ZN5Actor14GetAngleToLinkEv bx ip .align 2, 0 arm_func_end func_ov15_02123bb4 _02123bbc: .word _ZN5Actor14GetAngleToLinkEv .global func_ov15_02123bc0 arm_func_start func_ov15_02123bc0 func_ov15_02123bc0: ; 0x02123bc0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_ov15_02123bb4 mov r4, r0 mov r1, r4 mov r2, r5 add r0, r6, #0x78 bl func_0202b154 mov r0, r4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_02123bc0 .global func_ov15_02123bec arm_func_start func_ov15_02123bec func_ov15_02123bec: ; 0x02123bec stmdb sp!, {r3, lr} ldr r1, _02123c18 ; =data_027e0fe0 mov r0, #0x304 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02123c48 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02123bec _02123c18: .word data_027e0fe0 .global func_ov15_02123c1c arm_func_start func_ov15_02123c1c func_ov15_02123c1c: ; 0x02123c1c stmdb sp!, {r4, lr} ldr r3, _02123c40 ; =data_ov15_02185b8c mov r2, #0x8e mov r4, r0 bl func_ov00_020c607c ldr r1, _02123c44 ; =data_ov15_0218988c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02123c1c _02123c40: .word data_ov15_02185b8c _02123c44: .word data_ov15_0218988c .global func_ov15_02123c48 arm_func_start func_ov15_02123c48 func_ov15_02123c48: ; 0x02123c48 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr r2, _02123d38 ; =data_ov15_021897c4 mov r1, r4 add r0, r4, #0x184 str r2, [r4] bl func_ov15_02123c1c mov r5, #0x5a add r0, r4, #0x280 mov r1, #0x78 mov r2, #0xb4 mov r3, #0x3c str r5, [sp] bl func_ov15_02184330 ldr r3, _02123d3c ; =0x00008001 add r0, r4, #0x200 mov r1, #0 strh r1, [r0, #0xac] ldr r2, _02123d40 ; =data_027e0764 rsb ip, r3, #0x8000 ldr r7, [r2, #8] ldmia r2, {r5, lr} umull r9, r8, r7, r5 mla r8, r7, lr, r8 ldr r6, [r2, #0xc] ldr r11, [r2, #0x10] mla r8, r6, r5, r8 ldr r10, [r2, #0x14] adds r6, r11, r9 adc r5, r10, r8 str r6, [r2] str r5, [r2, #4] umull r2, lr, r5, r3 mla lr, r5, r1, lr mov r2, r1 mla lr, r2, r3, lr add r2, lr, #0x10000 str r2, [r4, #0x2b0] str r1, [r4, #0x2b4] str r1, [r4, #0x2bc] str ip, [r4, #0x2c0] str r1, [r4, #0x2c4] str r1, [r4, #0x2c8] str ip, [r4, #0x2cc] str r1, [r4, #0x2d0] str r1, [r4, #0x2d4] str ip, [r4, #0x2d8] str r1, [r4, #0x2dc] str r1, [r4, #0x2e0] str ip, [r4, #0x2e4] str r1, [r4, #0x2e8] str ip, [r4, #0x2fc] str ip, [r4, #0x300] str r1, [r4, #0x29c] str r1, [r4, #0x2a0] mov r0, r4 str r1, [r4, #0x2a4] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02123c48 _02123d38: .word data_ov15_021897c4 _02123d3c: .word 0x00008001 _02123d40: .word data_027e0764 .global func_ov15_02123d44 arm_func_start func_ov15_02123d44 func_ov15_02123d44: ; 0x02123d44 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020b7e6c mov r0, r4 bl func_ov00_020b7df0 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02123d44 .global func_ov15_02123d60 arm_func_start func_ov15_02123d60 func_ov15_02123d60: ; 0x02123d60 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x2e0 bl func_ov00_020b7e6c add r0, r4, #0x2e0 bl func_ov00_020b7df0 add r0, r4, #0x2d4 bl func_ov00_020b7e6c add r0, r4, #0x2d4 bl func_ov00_020b7df0 add r0, r4, #0x2c8 bl func_ov00_020b7e6c add r0, r4, #0x2c8 bl func_ov00_020b7df0 add r0, r4, #0x2bc bl func_ov00_020b7e6c add r0, r4, #0x2bc bl func_ov00_020b7df0 add r0, r4, #0x200 blx func_ov00_020a9b6c add r0, r4, #0x1a4 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02123d60 .global func_ov15_02123dc8 arm_func_start func_ov15_02123dc8 func_ov15_02123dc8: ; 0x02123dc8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x2e0 bl func_ov00_020b7e6c add r0, r4, #0x2e0 bl func_ov00_020b7df0 add r0, r4, #0x2d4 bl func_ov00_020b7e6c add r0, r4, #0x2d4 bl func_ov00_020b7df0 add r0, r4, #0x2c8 bl func_ov00_020b7e6c add r0, r4, #0x2c8 bl func_ov00_020b7df0 add r0, r4, #0x2bc bl func_ov00_020b7e6c add r0, r4, #0x2bc bl func_ov00_020b7df0 add r0, r4, #0x200 blx func_ov00_020a9b6c add r0, r4, #0x1a4 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02123dc8 .global func_ov15_02123e38 arm_func_start func_ov15_02123e38 func_ov15_02123e38: ; 0x02123e38 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r4, r0 ldrh r0, [r4, #0x20] cmp r0, #0 moveq r0, #1 movne r0, #0 strb r0, [r4, #0x2ec] ldrh r2, [r4, #0x22] ldr r1, _02124044 ; =data_ov15_02185b80 mov r0, r4 ldr r1, [r1, r2, lsl #2] str r1, [r4, #0x2f0] bl func_ov15_02123bb4 sub r0, r0, #0x8000 ldr r1, _02124048 ; =data_027e0f94 mov r0, r0, lsl #0x10 ldr r2, [r1] mov r0, r0, asr #0x10 str r2, [r4, #0x48] ldr r2, [r1, #4] mov r0, r0, lsl #0x10 str r2, [r4, #0x4c] mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 ldr r1, [r1, #8] ldr r0, _0212404c ; =0xfffffe66 str r1, [r4, #0x50] ldr r5, [r4, #0x2f0] add r1, r3, #1 ldr r2, _02124050 ; =data_02050f54 mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r3, [r2, r3] add r5, r5, r0 ldrsh r2, [r2, r1] smull r1, r6, r3, r5 adds r7, r1, #0x800 mov r1, #0x800 smull r5, r3, r2, r5 adc r2, r6, #0 adds r5, r5, #0x800 mov r6, r7, lsr #0xc ldr r7, [r4, #0x48] orr r6, r6, r2, lsl #20 add r2, r7, r6 str r2, [r4, #0x48] adc r2, r3, #0 mov r3, r5, lsr #0xc ldr r5, [r4, #0x50] orr r3, r3, r2, lsl #20 add r2, r5, r3 str r2, [r4, #0x50] sub r1, r1, #0x2000 str r1, [r4, #0x4c] ldr r2, [r4, #0x48] mov r1, #0 str r2, [r4, #0x54] ldr r2, [r4, #0x4c] ldr r3, _02124054 ; =data_027e0d0c str r2, [r4, #0x58] ldr r5, [r4, #0x50] rsb r2, r0, #0x910 str r5, [r4, #0x5c] str r1, [r4, #0x6c] ldr r5, [r3] ldr r0, _02124058 ; =0x00001554 str r5, [r4, #0x7c] ldr r5, [r3, #4] ldr r6, _0212405c ; =0x00001aaa str r5, [r4, #0x80] ldr r7, [r3, #8] mov r5, #9 str r7, [r4, #0x84] str r2, [r4, #0x88] ldr r7, [r3] add r2, r4, #0x100 str r7, [r4, #0x8c] ldr r7, [r3, #4] mov lr, #4 str r7, [r4, #0x90] ldr r7, [r3, #8] mov ip, #3 str r7, [r4, #0x94] str r0, [r4, #0x98] ldr r7, [r3] mov r0, r4 str r7, [r4, #0xa8] ldr r7, [r3, #4] str r7, [r4, #0xac] ldr r3, [r3, #8] str r3, [r4, #0xb0] str r6, [r4, #0xb4] strh r5, [r4, #0x9c] strh lr, [r2, #0x20] strh ip, [r4, #0x7a] str r1, [r4, #0x130] bl _ZN5Actor14GetAngleToLinkEv strh r0, [r4, #0x78] ldrsh r1, [r4, #0x78] add r0, r4, #0x200 sub r1, r1, #0x8000 strh r1, [r0, #0xac] mov r0, r4 bl func_ov15_02124388 ldr r2, _02124060 ; =0x00000666 add r1, sp, #0 mov r0, r4 str r2, [r4, #0x174] bl func_ov15_02124068 mov r0, r4 bl func_ov15_02124084 mov r0, #0x78 str r0, [r4, #0x2d8] mov r2, #2 str r2, [r4, #0x2dc] mov r0, #0x79 str r0, [r4, #0x2e4] add r0, r4, #0x184 mov r1, #0 str r2, [r4, #0x2e8] bl func_ov00_020c5d74 ldr r0, _02124064 ; =data_027e0c68 add r1, r4, #0x48 bl func_ov15_02185b0c mov r0, #0 strb r0, [r4, #0x2b8] mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02123e38 _02124044: .word data_ov15_02185b80 _02124048: .word data_027e0f94 _0212404c: .word 0xfffffe66 _02124050: .word data_02050f54 _02124054: .word data_027e0d0c _02124058: .word 0x00001554 _0212405c: .word 0x00001aaa _02124060: .word 0x00000666 _02124064: .word data_027e0c68 .global func_ov15_02124068 arm_func_start func_ov15_02124068 func_ov15_02124068: ; 0x02124068 ldr r2, [r0, #0x48] str r2, [r1] ldr r2, [r0, #0x4c] str r2, [r1, #4] ldr r0, [r0, #0x50] str r0, [r1, #8] bx lr arm_func_end func_ov15_02124068 .global func_ov15_02124084 arm_func_start func_ov15_02124084 func_ov15_02124084: ; 0x02124084 mov r1, #0x74 str r1, [r0, #0x2c0] mov r2, #2 str r2, [r0, #0x2c4] mov r1, #0x75 str r1, [r0, #0x2cc] str r2, [r0, #0x2d0] mov r1, #0 str r1, [r0, #0x2f4] bx lr arm_func_end func_ov15_02124084 .global func_ov15_021240ac arm_func_start func_ov15_021240ac func_ov15_021240ac: ; 0x021240ac stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #0xa addls pc, pc, r1, lsl #2 b _02124364 _021240c8: ; jump table b _021240f4 ; case 0 b _021240f4 ; case 1 b _02124364 ; case 2 b _02124234 ; case 3 b _02124234 ; case 4 b _02124260 ; case 5 b _0212428c ; case 6 b _02124260 ; case 7 b _02124298 ; case 8 b _02124330 ; case 9 b _021242d0 ; case 10 _021240f4: cmp r1, #1 bne _02124130 ldrb r0, [r4, #0x2ec] cmp r0, #0 add r0, r4, #0x200 ldrnesh r1, [r0, #0xac] addne r1, r1, #0xb6 ldreqsh r1, [r0, #0xac] subeq r1, r1, #0xb6 strh r1, [r0, #0xac] ldr r1, [r4, #0x2b4] ldr r0, [r4, #0x2b0] cmp r1, r0 addlo r0, r1, #0xb6 strlo r0, [r4, #0x2b4] _02124130: mov r0, r4 bl func_ov15_02124388 add r0, r4, #0x48 add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mvn r0, #0x80000000 str r0, [sp] mov r0, r3 ldr r1, [r4, #0x29c] mov r2, #0x200 mov r3, #0 bl func_0202b418 mvn r0, #0x80000000 str r0, [sp] ldr r1, [r4, #0x2a4] add r0, sp, #0xc mov r2, #0x200 mov r3, #0 bl func_0202b418 ldr r1, [sp, #4] ldr r0, [r4, #0x48] sub r0, r1, r0 str r0, [r4, #0x60] ldr r1, [sp, #0xc] ldr r0, [r4, #0x50] sub r0, r1, r0 str r0, [r4, #0x68] ldr r0, [r4, #0x280] cmp r0, #0 bne _021241f0 ldr r1, [r4, #0x4c] ldr r0, [r4, #0x2a8] cmp r1, r0 moveq r0, #0 addeq sp, sp, #0x10 streq r0, [r4, #0x64] ldmeqia sp!, {r4, pc} mov r0, #0x200 str r0, [r4, #0x64] ldr r2, [r4, #0x4c] ldr r1, [r4, #0x2a8] add r0, r2, r0 cmp r0, r1 subgt r0, r1, r2 add sp, sp, #0x10 strgt r0, [r4, #0x64] ldmia sp!, {r4, pc} _021241f0: mov r0, #0x1800 ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 moveq r0, #0 addeq sp, sp, #0x10 streq r0, [r4, #0x64] ldmeqia sp!, {r4, pc} add r1, r0, #0x1600 str r1, [r4, #0x64] ldr r2, [r4, #0x4c] add sp, sp, #0x10 add r1, r2, r1 cmp r1, r0 sublt r0, r0, r2 strlt r0, [r4, #0x64] ldmia sp!, {r4, pc} _02124234: mvn r0, #0x80000000 str r0, [sp] add r0, r4, #0x60 add r1, r4, #0x168 mov r2, #0x200 mov r3, #0 bl func_0202b4e4 ldr r0, [r4, #0x2a8] add sp, sp, #0x10 str r0, [r4, #0x4c] ldmia sp!, {r4, pc} _02124260: mvn r0, #0x80000000 str r0, [sp] ldr r1, _02124384 ; =data_027e0d0c add r0, r4, #0x60 mov r2, #0x400 mov r3, #0x40 bl func_0202b4e4 ldr r0, [r4, #0x2a8] add sp, sp, #0x10 str r0, [r4, #0x4c] ldmia sp!, {r4, pc} _0212428c: bl _ZN5Actor12ApplyGravityEv add sp, sp, #0x10 ldmia sp!, {r4, pc} _02124298: mov r3, #0 str r3, [r4, #0x60] sub r0, r3, #0x200 str r0, [r4, #0x64] str r3, [r4, #0x68] ldr r2, [r4, #0x4c] ldr r1, [r4, #0x64] sub r0, r3, #0x1800 add r1, r2, r1 cmp r1, r0 sublt r0, r0, r2 add sp, sp, #0x10 strlt r0, [r4, #0x64] ldmia sp!, {r4, pc} _021242d0: ldr r2, [r4, #0x4c] ldr r1, [r4, #0x2a8] cmp r2, r1 ble _021242f8 ldr r1, [r4, #0x6c] cmp r1, #0 beq _021242f8 bl _ZN5Actor12ApplyGravityEv add sp, sp, #0x10 ldmia sp!, {r4, pc} _021242f8: mov r2, #0 str r2, [r4, #0x6c] str r2, [r4, #0x64] ldr r0, [r4, #0x2a8] ldr r1, _02124384 ; =data_027e0d0c str r0, [r4, #0x4c] sub ip, r2, #0x80000001 add r0, r4, #0x60 mov r2, #0x400 mov r3, #0x40 str ip, [sp] bl func_0202b4e4 add sp, sp, #0x10 ldmia sp!, {r4, pc} _02124330: ldrb r0, [r4, #0x2b8] cmp r0, #0 beq _0212434c ldr r1, [r4, #0x2a8] ldr r0, [r4, #0x4c] cmp r0, r1 strgt r1, [r4, #0x4c] _0212434c: mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x64] add sp, sp, #0x10 str r0, [r4, #0x68] ldmia sp!, {r4, pc} _02124364: mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x64] str r0, [r4, #0x68] ldr r0, [r4, #0x2a8] str r0, [r4, #0x4c] add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021240ac _02124384: .word data_027e0d0c .global func_ov15_02124388 arm_func_start func_ov15_02124388 func_ov15_02124388: ; 0x02124388 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r2, r0 add r0, r2, #0x200 ldrh r0, [r0, #0xac] ldr r5, [r2, #0x2f0] mov ip, #0 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r3, _02124410 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r0, [r3, r0] add r2, r2, #0x29c smull r3, lr, r1, r5 adds r4, r3, #0x800 smull r3, r1, r0, r5 adc r0, lr, #0 adds r3, r3, #0x800 mov r4, r4, lsr #0xc orr r4, r4, r0, lsl #20 adc r0, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 ldr r0, _02124414 ; =data_027e0f94 add r1, sp, #0 str r4, [sp] str ip, [sp, #4] str r3, [sp, #8] bl func_01ff9bc4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02124388 _02124410: .word data_02050f54 _02124414: .word data_027e0f94 .global func_ov15_02124418 arm_func_start func_ov15_02124418 func_ov15_02124418: ; 0x02124418 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r1 mov r5, r0 cmp r4, #0xa addls pc, pc, r4, lsl #2 b _02124674 _02124430: ; jump table b _0212445c ; case 0 b _0212445c ; case 1 b _021244e4 ; case 2 b _02124530 ; case 3 b _0212453c ; case 4 b _0212445c ; case 5 b _0212446c ; case 6 b _02124484 ; case 7 b _0212445c ; case 8 b _0212445c ; case 9 b _02124590 ; case 10 _0212445c: add r0, r5, #0x184 mov r1, #0 bl func_ov00_020c5d74 b _02124674 _0212446c: add r0, r5, #0x184 mov r1, #0 bl func_ov00_020c5d74 mov r0, r5 bl func_ov15_021252c0 b _02124674 _02124484: add r0, r5, #0x184 mov r1, #0 bl func_ov00_020c5d74 mov r1, #0 str r1, [r5, #0x64] str r1, [r5, #0x6c] ldr r0, _02124684 ; =data_027e0764 mov r1, r1, lsl #0x4 ldr r3, [r0] ldmib r0, {r2, r6} umull r8, r7, r6, r3 mla r7, r6, r2, r7 ldr r2, [r0, #0xc] ldr ip, [r0, #0x10] mla r7, r2, r3, r7 ldr r6, [r0, #0x14] adds r8, ip, r8 adc r2, r6, r7 str r8, [r0] orr r1, r1, r2, lsr #28 str r2, [r0, #4] add r0, r1, #0x1e str r0, [r5, #0x13c] b _02124674 _021244e4: ldr r0, _02124684 ; =data_027e0764 mov r1, #0 ldr r3, [r0] ldmib r0, {r2, r6} umull r8, r7, r6, r3 mla r7, r6, r2, r7 ldr r2, [r0, #0xc] ldr r6, [r0, #0x10] mla r7, r2, r3, r7 ldr r2, [r0, #0x14] adds r3, r6, r8 adc r2, r2, r7 mov r1, r1, lsl #0x4 str r3, [r0] orr r1, r1, r2, lsr #28 str r2, [r0, #4] add r0, r1, #0x1e str r0, [r5, #0x13c] b _02124674 _02124530: mov r1, #0 bl func_ov15_02123524 b _02124674 _0212453c: ldr r2, _02124684 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r6} umull r8, r7, r6, r3 mla r7, r6, r0, r7 ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r0, r3, r7 ldr r0, [r2, #0x14] adds r8, r6, r8 adc r7, r0, r7 mov r0, #6 umull r3, r6, r7, r0 mla r6, r7, r1, r6 mla r6, r1, r0, r6 str r8, [r2] str r7, [r2, #4] add r0, r6, #0xa str r0, [r5, #0x13c] b _02124674 _02124590: ldr r1, [r5, #0x2a8] ldr r0, [r5, #0x4c] cmp r0, r1 strle r1, [r5, #0x4c] ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _02124688 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r2, [r1, r0] mov r0, #0x148 umull lr, r7, r6, r0 mov r1, #0 umull ip, r3, r2, r0 adds lr, lr, #0x800 mov r8, lr, lsr #0xc mla r7, r6, r1, r7 mla r3, r2, r1, r3 mov lr, r6, asr #0x1f mla r7, lr, r0, r7 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adc r6, r7, #0 orr r8, r8, r6, lsl #20 adds r1, ip, #0x800 str r8, [r5, #0x60] mov r0, #0x35c str r0, [r5, #0x64] adc r0, r3, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r5, #0x68] mov r1, #0x56 add r0, r5, #0x48 str r1, [r5, #0x6c] add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 add r0, r5, #0x184 mov r1, #2 bl func_ov00_020c5d74 mvn r0, #0 str r0, [r5, #0x88] ldr r0, _0212468c ; =data_027e0ffc ldr r1, _02124690 ; =0x00000202 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _02124674: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02124418 _02124684: .word data_027e0764 _02124688: .word data_02050f54 _0212468c: .word data_027e0ffc _02124690: .word 0x00000202 .global func_ov15_02124694 arm_func_start func_ov15_02124694 func_ov15_02124694: ; 0x02124694 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #0xa addls pc, pc, r1, lsl #2 b _021249b4 _021246b0: ; jump table b _021246dc ; case 0 b _02124724 ; case 1 b _0212479c ; case 2 b _0212484c ; case 3 b _02124888 ; case 4 b _021248c4 ; case 5 b _02124904 ; case 6 b _02124928 ; case 7 b _02124964 ; case 8 b _02124980 ; case 9 b _02124998 ; case 10 _021246dc: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x204 bl func_ov00_020cec60 add r0, r4, #0x280 bl func_ov15_021843c0 mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv ldr r1, [r4, #0x2f0] cmp r0, r1 bgt _021249b4 mov r0, r4 mov r1, #1 bl func_ov15_02124418 b _021249b4 _02124724: ldrb r0, [r4, #0x2b8] cmp r0, #0 mov r0, #0 str r0, [sp] beq _02124750 ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x204 bl func_ov00_020cec60 b _02124764 _02124750: ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc ldr r1, _02124a34 ; =0x00000205 add r2, r4, #0x48 bl func_ov00_020cec60 _02124764: add r0, r4, #0x280 bl func_ov15_021843c0 ldr r1, [r4, #0x2b4] ldr r0, [r4, #0x2b0] cmp r1, r0 blo _021249b4 ldr r1, [r4, #0x4c] ldr r0, [r4, #0x2a8] cmp r1, r0 bne _021249b4 mov r0, r4 mov r1, #2 bl func_ov15_02124418 b _021249b4 _0212479c: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x204 bl func_ov00_020cec60 ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _021249b4 ldr r0, [r4, #0x198] cmp r0, #0 ldr r0, [r4, #0x194] bne _02124830 mov r1, #1 strh r1, [r0, #0xc] ldr r0, [r4, #0x194] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021249b4 add r0, r4, #0x184 mov r1, #1 bl func_ov00_020c5d74 add r0, r4, #0x2bc bl func_ov00_020b7e6c add r0, r4, #0x2c8 bl func_ov00_020b7e6c mov r0, #0x76 str r0, [r4, #0x2c0] mov r1, #2 str r1, [r4, #0x2c4] mov r0, #0x77 str r0, [r4, #0x2cc] str r1, [r4, #0x2d0] b _021249b4 _02124830: ldr r0, [r0, #0x14] cmp r0, #0x17000 blt _021249b4 mov r0, r4 mov r1, #3 bl func_ov15_02124418 b _021249b4 _0212484c: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc ldr r1, _02124a38 ; =0x00000203 add r2, r4, #0x48 bl func_ov00_020cec60 mov r0, r4 bl func_ov15_021236f8 cmp r0, #0 beq _021249b4 mov r0, r4 mov r1, #4 bl func_ov15_02124418 b _021249b4 _02124888: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc ldr r1, _02124a38 ; =0x00000203 add r2, r4, #0x48 bl func_ov00_020cec60 ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _021249b4 mov r0, r4 mov r1, #5 bl func_ov15_02124418 b _021249b4 _021248c4: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc ldr r1, _02124a38 ; =0x00000203 add r2, r4, #0x48 bl func_ov00_020cec60 ldr r0, [r4, #0x60] cmp r0, #0 ldreq r0, [r4, #0x68] cmpeq r0, #0 bne _021249b4 mov r0, r4 mov r1, #8 bl func_ov15_02124418 b _021249b4 _02124904: ldr r2, [r4, #0x4c] ldr r1, [r4, #0x2a8] cmp r2, r1 ldrlt r1, [r4, #0x64] cmplt r1, #0 bge _021249b4 mov r1, #7 bl func_ov15_02124418 b _021249b4 _02124928: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02124a30 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x204 bl func_ov00_020cec60 ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _021249b4 mov r0, r4 mov r1, #8 bl func_ov15_02124418 b _021249b4 _02124964: mov r1, #0x1800 ldr r2, [r4, #0x4c] rsb r1, r1, #0 cmp r2, r1 bgt _021249b4 bl _ZN5Actor4KillEv b _021249b4 _02124980: ldr r1, [r4, #0x138] cmp r1, #0x3c ble _021249b4 mov r1, #8 bl func_ov15_02124418 b _021249b4 _02124998: ldr r0, [r4, #0x194] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021249b4 mov r0, r4 bl func_ov15_02123848 _021249b4: ldr r0, [r4, #0x130] cmp r0, #0xa addls pc, pc, r0, lsl #2 b _02124a00 _021249c4: ; jump table b _02124a00 ; case 0 b _02124a00 ; case 1 b _02124a00 ; case 2 b _021249f0 ; case 3 b _021249f0 ; case 4 b _02124a0c ; case 5 b _02124a0c ; case 6 b _02124a00 ; case 7 b _02124a0c ; case 8 b _02124a0c ; case 9 b _02124a0c ; case 10 _021249f0: ldr r0, [r4, #0x194] mov r1, #0x2000 str r1, [r0, #0x10] b _02124a18 _02124a00: mov r0, r4 mov r1, #0x16c bl func_ov15_02123bc0 _02124a0c: ldr r0, [r4, #0x194] mov r1, #0x1000 str r1, [r0, #0x10] _02124a18: ldr r0, _02124a3c ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02124694 _02124a30: .word data_027e0ffc _02124a34: .word 0x00000205 _02124a38: .word 0x00000203 _02124a3c: .word data_027e10a4 .global func_ov15_02124a40 arm_func_start func_ov15_02124a40 func_ov15_02124a40: ; 0x02124a40 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1c mov r10, r0 mov r5, r1 bl _ZN5Actor18func_ov00_020c313cEj movs r4, r0 beq _02124b9c ldr r1, [r10, #0x48] ldr r0, _0212502c ; =data_027e0e60 str r1, [r10, #0x54] ldr r2, [r10, #0x4c] add r1, sp, #4 str r2, [r10, #0x58] ldr r3, [r10, #0x50] mov r2, #0 str r3, [r10, #0x5c] ldr r3, [r10, #0x48] ldr r0, [r0] str r3, [sp, #4] ldr r3, [r10, #0x4c] str r3, [sp, #8] ldr r3, [r10, #0x50] str r3, [sp, #0xc] bl func_ov00_02083ee0 str r0, [r10, #0x2a8] ldrb r0, [r10, #0x118] cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r10 bl func_ov15_02125210 cmp r0, #0 mov r0, r10 beq _02124ad4 mov r1, #0xa bl func_ov15_02124418 b _02124b48 _02124ad4: ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 add r0, r10, #0x48 add r1, r10, #0x60 mov r2, r0 bl func_01ff9bc4 ldrb r2, [r10, #0x2b8] ldr r0, [r10, #0x2a8] cmp r2, #1 sub r1, r0, #0x1800 bne _02124b24 ldr r0, [r10, #0x4c] cmp r0, r1, asr #1 bge _02124b24 mov r0, r10 bl func_ov15_02125118 mov r0, #0 strb r0, [r10, #0x2b8] b _02124b48 _02124b24: cmp r2, #0 bne _02124b48 ldr r0, [r10, #0x4c] cmp r0, r1, asr #1 blt _02124b48 mov r0, r10 bl func_ov15_0212504c mov r0, #1 strb r0, [r10, #0x2b8] _02124b48: mov r0, r10 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 beq _02124b6c mov r0, r10 mov r1, #6 bl func_ov15_02124418 _02124b6c: mov r0, r10 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r10 bl func_ov15_02125278 mov r0, r10 ldr r1, [r0] ldr r1, [r1, #0xb8] blx r1 ldrb r0, [r10, #0x118] cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02124b9c: mov r1, r5 add r0, r10, #0xa4 add r2, r10, #0x48 bl func_ov00_0207a1c8 cmp r4, #0 beq _02124bbc add r0, r10, #0x184 bl func_ov00_020c5e20 _02124bbc: ldrb r0, [r10, #0x118] cmp r0, #0 cmpne r4, #0 beq _02124fdc add r1, sp, #0x10 mov r0, r10 bl func_ov15_02124068 ldr r0, [r10, #0x60] cmp r0, #0 ldreq r0, [r10, #0x68] cmpeq r0, #0 beq _02124fb8 ldr r0, [r10, #0x198] cmp r0, #1 bne _02124eb8 ldr r6, _02125030 ; =0x00000733 mov r0, #0 str r0, [sp, #0x10] str r0, [sp, #0x14] str r6, [sp, #0x18] ldrh r2, [r10, #0x78] ldr r3, _02125034 ; =data_02050f54 add r1, sp, #0x10 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 add r2, r4, #1 mov r2, r2, lsl #0x1 mov r4, r4, lsl #0x1 ldrsh r7, [r3, r2] ldrsh r9, [r3, r4] rsb r2, r0, #0 smull r5, r4, r0, r7 adds r0, r5, #0x800 mov r5, r0, lsr #0xc adc r4, r4, #0 smull r3, r8, r6, r9 adds r3, r3, #0x800 smull r0, ip, r2, r9 adc r2, r8, #0 adds r0, r0, #0x800 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 orr r5, r5, r4, lsl #20 add r4, r5, r3 smull r11, r8, r6, r7 adc ip, ip, #0 adds r6, r11, #0x800 mov r0, r0, lsr #0xc adc r8, r8, #0 mov r6, r6, lsr #0xc orr r6, r6, r8, lsl #20 orr r0, r0, ip, lsl #20 add r3, r0, r6 mov r2, r1 add r0, r10, #0x48 str r4, [sp, #0x10] str r3, [sp, #0x18] mov r8, r9, asr #0x1f mov r6, r7, asr #0x1f bl func_01ff9bc4 mov r0, #0x800 ldr r3, _02125038 ; =0xfffffb33 mvn r11, #0 umull r3, ip, r9, r3 adds r3, r3, #0x800 mov r4, r3, lsr #0xc mla ip, r9, r11, ip ldr r3, _02125038 ; =0xfffffb33 rsb r5, r0, #0xcd mla ip, r8, r3, ip adc r3, ip, #0 orr r4, r4, r3, lsl #20 umull ip, r3, r7, r5 mla r3, r7, r11, r3 adds ip, ip, #0x800 mla r3, r6, r5, r3 sub lr, r0, #0xcd ldr r0, _0212503c ; =data_027e0e58 mov ip, ip, lsr #0xc adc r3, r3, #0 orr ip, ip, r3, lsl #20 add r3, ip, r4 mov r3, r3, lsl #0x10 ldr r0, [r0] mov r3, r3, asr #0x10 str r3, [sp] ldr r3, _02125038 ; =0xfffffb33 add r1, r10, #0x2bc umull r5, r3, r7, r3 mla r3, r7, r11, r3 ldr r11, _02125038 ; =0xfffffb33 adds r5, r5, #0x800 mla r3, r6, r11, r3 adc r3, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 umull ip, r11, r9, lr mov r3, #0 mla r11, r9, r3, r11 mla r11, r8, lr, r11 adds ip, ip, #0x800 adc r3, r11, #0 mov r11, ip, lsr #0xc orr r11, r11, r3, lsl #20 add r3, r11, r5 mov r3, r3, lsl #0x10 add r2, sp, #0x10 mov r11, r3, asr #0x10 bl func_ov00_0207c474 ldr r0, _0212503c ; =data_027e0e58 add r1, r10, #0x2c8 ldr r0, [r0] add r2, sp, #0x10 bl func_ov00_0207c474 ldr r2, [r10, #0x2bc] cmp r2, #0 beq _02124da4 ldr r0, [sp] ldr r1, _02125040 ; =0x00000d71 strh r0, [r2, #0x50] strh r1, [r2, #0x52] strh r11, [r2, #0x54] _02124da4: ldr r2, [r10, #0x2c8] cmp r2, #0 beq _02124dc4 ldr r0, [sp] ldr r1, _02125040 ; =0x00000d71 strh r0, [r2, #0x50] strh r1, [r2, #0x52] strh r11, [r2, #0x54] _02124dc4: ldr r2, _02125030 ; =0x00000733 mov r11, #0 umull ip, r0, r7, r2 mla r0, r7, r11, r0 mla r0, r6, r2, r0 mov r1, #0x800 rsb r3, r1, #0xcd adds r1, ip, #0x800 sub r2, r11, #1 umull r11, r7, r9, r3 mla r7, r9, r2, r7 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 mla r7, r8, r3, r7 add r0, r1, r4 adds r2, r11, #0x800 mov r3, r0, lsl #0x10 mov r1, r2, lsr #0xc adc r0, r7, #0 orr r1, r1, r0, lsl #20 add r0, r1, r5 mov r5, r0, lsl #0x10 ldr r6, _0212503c ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r6] add r1, r10, #0x2d4 mov r4, r3, asr #0x10 mov r5, r5, asr #0x10 bl func_ov00_0207c474 mov r0, r6 ldr r0, [r0] add r2, sp, #0x10 add r1, r10, #0x2e0 bl func_ov00_0207c474 ldr r1, [r10, #0x2d4] cmp r1, #0 beq _02124e6c ldr r0, _02125040 ; =0x00000d71 strh r4, [r1, #0x50] strh r0, [r1, #0x52] strh r5, [r1, #0x54] _02124e6c: ldr r1, [r10, #0x2e0] cmp r1, #0 beq _02124e88 ldr r0, _02125040 ; =0x00000d71 strh r4, [r1, #0x50] strh r0, [r1, #0x52] strh r5, [r1, #0x54] _02124e88: ldr r1, [r10, #0x2d4] cmp r1, #0 ldrne r0, [r1, #0x24] bicne r0, r0, #2 strne r0, [r1, #0x24] ldr r1, [r10, #0x2e0] cmp r1, #0 beq _02124ef0 ldr r0, [r1, #0x24] bic r0, r0, #2 str r0, [r1, #0x24] b _02124ef0 _02124eb8: ldr r0, _0212503c ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r0] add r1, r10, #0x2bc bl func_ov00_0207c474 ldr r0, _0212503c ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r0] add r1, r10, #0x2c8 bl func_ov00_0207c474 add r0, r10, #0x2d4 bl func_ov00_020b7e6c add r0, r10, #0x2e0 bl func_ov00_020b7e6c _02124ef0: ldr r0, [r10, #0x2a8] str r0, [sp, #0x14] ldrb r0, [r10, #0x2f8] cmp r0, #0xb blo _02124f30 ldr r0, [r10, #0x130] cmp r0, #0xa cmpne r0, #9 beq _02124f30 mov r2, #0 ldr r1, _02125044 ; =0x000009ec add r0, sp, #0x10 mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 strb r0, [r10, #0x2f8] _02124f30: ldr r0, [r10, #0x130] mov r2, #0 cmp r0, #0xa beq _02124f5c ldr r1, [r10, #0x4c] ldr r0, [r10, #0x2a8] cmp r1, r0 bgt _02124f5c ldr r0, [r10, #0x2f4] cmp r0, #0x11 movge r2, #1 _02124f5c: ldr r3, [r10, #0x2bc] cmp r3, #0 beq _02124f88 cmp r2, #0 moveq r0, #1 ldr r1, [r3, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 str r0, [r3, #0x24] _02124f88: ldr r3, [r10, #0x2c8] cmp r3, #0 beq _02124ffc cmp r2, #0 moveq r0, #1 ldr r1, [r3, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 str r0, [r3, #0x24] b _02124ffc _02124fb8: add r0, r10, #0x2bc bl func_ov00_020b7e6c add r0, r10, #0x2c8 bl func_ov00_020b7e6c add r0, r10, #0x2d4 bl func_ov00_020b7e6c add r0, r10, #0x2e0 bl func_ov00_020b7e6c b _02124ffc _02124fdc: add r0, r10, #0x2bc bl func_ov00_020b7e6c add r0, r10, #0x2c8 bl func_ov00_020b7e6c add r0, r10, #0x2d4 bl func_ov00_020b7e6c add r0, r10, #0x2e0 bl func_ov00_020b7e6c _02124ffc: ldr r1, [r10, #0x2f4] ldr r0, _02125048 ; =data_ov15_02190458 add r1, r1, #1 str r1, [r10, #0x2f4] ldrb r3, [r10, #0x2f8] add r1, r10, #0x48 mov r2, #0 add r3, r3, #1 strb r3, [r10, #0x2f8] bl func_ov15_02184a40 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02124a40 _0212502c: .word data_027e0e60 _02125030: .word 0x00000733 _02125034: .word data_02050f54 _02125038: .word 0xfffffb33 _0212503c: .word data_027e0e58 _02125040: .word 0x00000d71 _02125044: .word 0x000009ec _02125048: .word data_ov15_02190458 .global func_ov15_0212504c arm_func_start func_ov15_0212504c func_ov15_0212504c: ; 0x0212504c stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 add r0, r4, #0x48 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02125108 ; =data_027e0e60 ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] ldr r0, [r0] add r1, sp, #8 mov r2, #0 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x18] add r0, sp, #0x14 mov r1, #0xa00 mov r2, #0 bl func_ov00_020c74c8 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0212510c ; =data_027e0e58 mov r1, #0x80 ldr r0, [r0] add r2, sp, #0x14 mov r3, #2 bl func_ov00_0207c1b0 mov r2, #0 ldr r1, _02125110 ; =0x000009ec add r0, sp, #0x14 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _02125114 ; =data_027e0ffc mov r1, #0x200 add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 str r0, [r4, #0x2f4] strb r0, [r4, #0x2f8] add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212504c _02125108: .word data_027e0e60 _0212510c: .word data_027e0e58 _02125110: .word 0x000009ec _02125114: .word data_027e0ffc .global func_ov15_02125118 arm_func_start func_ov15_02125118 func_ov15_02125118: ; 0x02125118 stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 add r0, r4, #0x48 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _021251d4 ; =data_027e0e60 ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] ldr r0, [r0] add r1, sp, #8 mov r2, #0 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x18] ldr r1, _021251d8 ; =0x00000333 add r0, sp, #0x14 mov r2, #0 bl func_ov00_020c7484 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021251dc ; =data_027e0e58 mov r1, #0x81 ldr r0, [r0] add r2, sp, #0x14 mov r3, #2 bl func_ov00_0207c1b0 mov r2, #0 ldr r1, _021251e0 ; =0x00000666 add r0, sp, #0x14 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _021251e4 ; =data_027e0ffc ldr r1, _021251e8 ; =0x00000201 add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 str r0, [r4, #0x2f4] strb r0, [r4, #0x2f8] add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02125118 _021251d4: .word data_027e0e60 _021251d8: .word 0x00000333 _021251dc: .word data_027e0e58 _021251e0: .word 0x00000666 _021251e4: .word data_027e0ffc _021251e8: .word 0x00000201 .global func_ov15_021251ec arm_func_start func_ov15_021251ec func_ov15_021251ec: ; 0x021251ec stmdb sp!, {r3, lr} cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x184 bl func_ov00_020c5f1c ldmia sp!, {r3, pc} arm_func_end func_ov15_021251ec .global func_ov15_02125210 arm_func_start func_ov15_02125210 func_ov15_02125210: ; 0x02125210 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r1, [r5, #0x130] cmp r1, #0xa moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r4, #0 ldr r2, [r5, #0x4c] sub r1, r4, #0xc00 cmp r2, r1 ble _02125270 add r2, sp, #0 mov r1, r4 bl _ZN5Actor18func_ov00_020c243cEiPi cmp r0, #0 beq _02125270 ldr r1, [sp] mov r4, #1 ldr r0, [r1, #0x60] str r0, [r5, #0x60] ldr r0, [r1, #0x64] str r0, [r5, #0x64] ldr r0, [r1, #0x68] str r0, [r5, #0x68] _02125270: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02125210 .global func_ov15_02125278 arm_func_start func_ov15_02125278 func_ov15_02125278: ; 0x02125278 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r1, [r5, #0x130] cmp r1, #9 cmpne r1, #0xa cmpne r1, #8 ldmeqia sp!, {r3, r4, r5, pc} ldr r4, [r5, #0x4c] mov r1, #0 str r1, [r5, #0x4c] bl func_01fffd04 cmp r0, #0 beq _021252b8 mov r0, r5 mov r1, #9 bl func_ov15_02124418 _021252b8: str r4, [r5, #0x4c] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02125278 .global func_ov15_021252c0 arm_func_start func_ov15_021252c0 func_ov15_021252c0: ; 0x021252c0 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r1, r3, #1 ldr r0, _0212536c ; =0x00000266 ldr r2, _02125370 ; =data_02050f54 mov r3, r3, lsl #0x1 ldrsh lr, [r2, r3] mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] umull r6, r5, lr, r0 mov r1, #0 umull ip, r3, r2, r0 adds r6, r6, #0x800 mla r5, lr, r1, r5 mov lr, lr, asr #0x1f mla r5, lr, r0, r5 adc r5, r5, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 adds ip, ip, #0x800 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 str r6, [r4, #0x60] sub r2, r0, #0xcc adc r0, r3, #0 mov r1, ip, lsr #0xc str r2, [r4, #0x64] orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] mov r0, #0x29 str r0, [r4, #0x6c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021252c0 _0212536c: .word 0x00000266 _02125370: .word data_02050f54 .global func_ov15_02125374 arm_func_start func_ov15_02125374 func_ov15_02125374: ; 0x02125374 ldr ip, _02125380 ; =func_ov15_02124418 mov r1, #8 bx ip .align 2, 0 arm_func_end func_ov15_02125374 _02125380: .word func_ov15_02124418 .global func_ov15_02125384 arm_func_start func_ov15_02125384 func_ov15_02125384: ; 0x02125384 bx lr arm_func_end func_ov15_02125384 .global func_ov15_02125388 arm_func_start func_ov15_02125388 func_ov15_02125388: ; 0x02125388 stmdb sp!, {r3, lr} ldr r1, _021253b4 ; =data_027e0fe0 mov r0, #0x2a8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_021253e4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02125388 _021253b4: .word data_027e0fe0 .global func_ov15_021253b8 arm_func_start func_ov15_021253b8 func_ov15_021253b8: ; 0x021253b8 stmdb sp!, {r4, lr} ldr r3, _021253dc ; =data_ov15_02185be8 mov r2, #0x8d mov r4, r0 bl func_ov00_020c607c ldr r1, _021253e0 ; =data_ov15_0218997c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021253b8 _021253dc: .word data_ov15_02185be8 _021253e0: .word data_ov15_0218997c .global func_ov15_021253e4 arm_func_start func_ov15_021253e4 func_ov15_021253e4: ; 0x021253e4 stmdb sp!, {r4, lr} mov r1, #0x400 mov r4, r0 bl func_ov15_02123474 ldr r0, _02125418 ; =data_ov15_021898b4 mov r1, r4 str r0, [r4] mov r2, #0 add r0, r4, #0x188 str r2, [r4, #0x184] bl func_ov15_021253b8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021253e4 _02125418: .word data_ov15_021898b4 .global func_ov15_0212541c arm_func_start func_ov15_0212541c func_ov15_0212541c: ; 0x0212541c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x204 blx func_ov00_020a9b6c add r0, r4, #0x1a8 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212541c .global func_ov15_02125444 arm_func_start func_ov15_02125444 func_ov15_02125444: ; 0x02125444 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x204 blx func_ov00_020a9b6c add r0, r4, #0x1a8 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02125444 .global func_ov15_02125474 arm_func_start func_ov15_02125474 func_ov15_02125474: ; 0x02125474 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xc mov r1, #0x2000 mov r4, r0 rsb r1, r1, #0 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r0, _021255c8 ; =0x00000333 str r1, [r4, #0x54] ldr r1, [r4, #0x4c] mov r3, #0 str r1, [r4, #0x58] ldr r1, [r4, #0x50] ldr lr, _021255cc ; =data_027e0d0c str r1, [r4, #0x5c] str r3, [r4, #0x6c] ldr r1, [lr] add r8, r0, #0x1000 str r1, [r4, #0x7c] ldr r1, [lr, #4] mov r7, #9 str r1, [r4, #0x80] ldr r1, [lr, #8] add ip, r4, #0x100 str r1, [r4, #0x84] str r0, [r4, #0x88] ldr r0, [r4, #0x7c] mov r6, #4 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] mov r5, #3 str r0, [r4, #0x90] ldr r1, [r4, #0x84] ldr r0, _021255d0 ; =data_027e0f94 str r1, [r4, #0x94] ldr r1, [r4, #0x88] add r2, sp, #0 str r1, [r4, #0x98] ldr r9, [lr] add r1, r4, #0x48 str r9, [r4, #0xa8] ldr r9, [lr, #4] str r9, [r4, #0xac] ldr lr, [lr, #8] str lr, [r4, #0xb0] str r8, [r4, #0xb4] strh r7, [r4, #0x9c] strh r6, [ip, #0x20] strh r5, [r4, #0x7a] str r3, [r4, #0x130] bl func_01ff9bf8 mov r2, #0 ldr r0, [sp] ldr r1, [sp, #8] str r2, [sp, #4] bl func_01ffa0f4 strh r0, [r4, #0x78] add r0, r4, #0x200 mov r3, #0 strh r3, [r0, #0x86] strh r3, [r0, #0x88] ldr r1, _021255d0 ; =data_027e0f94 add r0, r4, #0x48 add r2, r4, #0x28c str r3, [r4, #0x2a0] bl func_01ff9bf8 add r0, r4, #0x188 mov r1, #0 bl func_ov00_020c5d74 ldr r0, _021255d4 ; =data_027e0c68 add r1, r4, #0x48 bl func_ov15_02185b0c bl func_ov15_0212f7a0 cmp r0, #0 beq _021255b4 add r0, r0, #0x400 ldrsh r1, [r0, #0xc0] cmp r1, #0 movge r1, #0 strgeh r1, [r0, #0xc0] _021255b4: mov r0, #0 strb r0, [r4, #0x2a4] mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02125474 _021255c8: .word 0x00000333 _021255cc: .word data_027e0d0c _021255d0: .word data_027e0f94 _021255d4: .word data_027e0c68 .global func_ov15_021255d8 arm_func_start func_ov15_021255d8 func_ov15_021255d8: ; 0x021255d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #7 addls pc, pc, r1, lsl #2 b _021257a4 _021255f4: ; jump table b _02125614 ; case 0 b _0212564c ; case 1 b _02125658 ; case 2 b _02125658 ; case 3 b _0212567c ; case 4 b _021257a4 ; case 5 b _021256a0 ; case 6 b _021256d8 ; case 7 _02125614: bl func_ov15_02125e00 mov r1, #0 str r1, [r4, #0x60] mov r0, #0x400 str r0, [r4, #0x64] str r1, [r4, #0x68] ldr r1, [r4, #0x4c] ldr r0, [r4, #0x64] add sp, sp, #4 add r0, r1, r0 cmp r0, #0x1000 rsbgt r0, r1, #0x1000 strgt r0, [r4, #0x64] ldmia sp!, {r3, r4, pc} _0212564c: bl func_ov15_02125e00 add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02125658: mvn ip, #0x80000000 add r0, r4, #0x60 add r1, r4, #0x168 mov r2, #0xcd mov r3, #0 str ip, [sp] bl func_0202b4e4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} _0212567c: ldr r1, _021257bc ; =data_027e0d0c mvn ip, #0x80000000 ldr r2, _021257c0 ; =0x00000266 add r0, r4, #0x60 mov r3, #0x40 str ip, [sp] bl func_0202b4e4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} _021256a0: mov r3, #0 str r3, [r4, #0x60] sub r0, r3, #0x200 str r0, [r4, #0x64] str r3, [r4, #0x68] ldr r2, [r4, #0x4c] ldr r1, [r4, #0x64] sub r0, r3, #0x2000 add r1, r2, r1 cmp r1, r0 sublt r0, r0, r2 add sp, sp, #4 strlt r0, [r4, #0x64] ldmia sp!, {r3, r4, pc} _021256d8: ldr r2, [r4, #0x64] mov r1, #0 str r1, [r4, #0x60] str r2, [r4, #0x64] str r1, [r4, #0x68] bl _ZN5Actor12ApplyGravityEv ldr r0, [r4, #0x198] ldr r0, [r0, #0x14] cmp r0, #0x16000 bge _02125794 ldr r0, _021257c4 ; =data_ov15_02189898 ldr r1, [r4, #0x29c] ldr r0, [r0, #0x10] ldr r2, _021257c8 ; =data_02050f54 sub r0, r1, r0 str r0, [r4, #0x29c] cmp r0, #0 movle r0, #0 strle r0, [r4, #0x29c] add r0, r4, #0x200 ldrh r0, [r0, #0x98] ldr lr, [r4, #0x29c] add sp, sp, #4 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r1, [r2, r0] add r0, r3, #1 mov r0, r0, lsl #0x1 smull ip, r3, r1, lr adds r1, ip, #0x800 ldrsh r0, [r2, r0] mov ip, r1, lsr #0xc adc r3, r3, #0 smull r2, r1, r0, lr ldr r0, [r4, #0x60] orr ip, ip, r3, lsl #20 add r0, r0, ip adds r2, r2, #0x800 str r0, [r4, #0x60] adc r0, r1, #0 mov r1, r2, lsr #0xc ldr r2, [r4, #0x68] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r4, #0x68] ldmia sp!, {r3, r4, pc} _02125794: mov r0, #0 add sp, sp, #4 str r0, [r4, #0x64] ldmia sp!, {r3, r4, pc} _021257a4: mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x64] str r0, [r4, #0x68] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021255d8 _021257bc: .word data_027e0d0c _021257c0: .word 0x00000266 _021257c4: .word data_ov15_02189898 _021257c8: .word data_02050f54 .global func_ov15_021257cc arm_func_start func_ov15_021257cc func_ov15_021257cc: ; 0x021257cc stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r4, r1 mov r5, r0 cmp r4, #7 addls pc, pc, r4, lsl #2 b _021259e4 _021257e8: ; jump table b _021259e4 ; case 0 b _02125818 ; case 1 b _0212586c ; case 2 b _021258f0 ; case 3 b _02125808 ; case 4 b _021259e4 ; case 5 b _021259e4 ; case 6 b _02125998 ; case 7 _02125808: ldr r0, [r5, #0x198] mov r1, #0x1000 str r1, [r0, #0x10] b _021259e4 _02125818: ldr r2, _021259f8 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r6} umull ip, r7, r6, r3 mla r7, r6, r0, r7 ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r0, r3, r7 ldr r0, [r2, #0x14] adds ip, r6, ip adc r7, r0, r7 mov r0, #0x3d umull r3, r6, r7, r0 mla r6, r7, r1, r6 mla r6, r1, r0, r6 str ip, [r2] str r7, [r2, #4] add r0, r6, #0x3c str r0, [r5, #0x13c] b _021259e4 _0212586c: ldr r1, _021259fc ; =0x0000071c bl func_ov15_02123524 add r0, r5, #0x15c add r1, r5, #0x48 bl func_01ff9ec0 add r3, sp, #0x24 add r1, r5, #0x168 mov r6, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x174] mov r0, r6 bl Divide mov r1, r0 ldr r2, [r5, #0x4c] ldr r0, _02125a00 ; =0x0000019a sub r0, r0, r2 bl Divide str r0, [sp, #0x28] add r0, sp, #0x24 add r6, sp, #0xc ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r0, [sp, #0xc] mov r3, #0x2000 str r0, [r5, #0x168] ldr r0, [sp, #0x10] str r0, [r5, #0x16c] ldr r0, [sp, #0x14] str r0, [r5, #0x170] ldr r0, [r5, #0x198] str r3, [r0, #0x10] b _021259e4 _021258f0: ldr r1, _021259f8 ; =data_027e0764 mov ip, #0 ldr r2, [r1] ldmib r1, {r0, r3} umull r6, lr, r3, r2 mla lr, r3, r0, lr ldr r0, [r1, #0xc] ldr r3, [r1, #0x10] mla lr, r0, r2, lr ldr r0, [r1, #0x14] adds r7, r3, r6 adc r6, r0, lr mov r0, #6 umull r2, r3, r6, r0 str r7, [r1] mla r3, r6, ip, r3 mov r2, ip mla r3, r2, r0, r3 add r0, r3, #0xa str r6, [r1, #4] str r0, [r5, #0x13c] add r0, r5, #0x168 add lr, sp, #0x18 ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} ldr r0, [r5, #0x64] add r3, sp, #0 rsb r0, r0, #0 str r0, [r5, #0x64] str ip, [sp, #0x1c] ldmia lr, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r1, #0x2000 str r0, [r5, #0x168] ldr r0, [sp, #4] str r0, [r5, #0x16c] ldr r0, [sp, #8] str r0, [r5, #0x170] ldr r0, [r5, #0x198] str r1, [r0, #0x10] b _021259e4 _02125998: add r0, r5, #0x188 mov r1, #1 bl func_ov00_020c5d74 ldr r0, _02125a04 ; =0x00000333 mov r1, #0x1ec str r0, [r5, #0x29c] sub r0, r0, #0x334 str r0, [r5, #0x88] mov r0, #0x31 str r0, [r5, #0x6c] ldr r0, _02125a08 ; =data_027e0ffc str r1, [r5, #0x64] sub r1, r1, #0x11 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, [r5, #0x198] mov r1, #0x1000 str r1, [r0, #0x10] _021259e4: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021257cc _021259f8: .word data_027e0764 _021259fc: .word 0x0000071c _02125a00: .word 0x0000019a _02125a04: .word 0x00000333 _02125a08: .word data_027e0ffc .global func_ov15_02125a0c arm_func_start func_ov15_02125a0c func_ov15_02125a0c: ; 0x02125a0c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r4, r0 ldr r0, [r4, #0x19c] cmp r0, #0 bne _02125a78 ldr r1, [r4, #0x2a0] ldr r0, [r4, #0x198] ands r1, r1, #7 ldr r2, [r0, #0x14] bne _02125a48 ldr r0, _02125ddc ; =data_ov15_02185bc8 ldr r0, [r0, #4] cmp r2, r0 bge _02125a78 _02125a48: ldr r0, _02125de0 ; =data_ov15_02185bc8 ldr r0, [r0, r1, lsl #2] cmp r2, r0 blt _02125a78 ldr r1, [r4, #0x2a0] ldr r0, _02125de4 ; =data_027e0ffc add r5, r1, #1 ldr r1, _02125de8 ; =0x000001dd add r2, r4, #0x48 mov r3, #0 str r5, [r4, #0x2a0] bl func_ov00_020ceacc _02125a78: ldr r0, [r4, #0x130] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02125d68 _02125a88: ; jump table b _02125aa8 ; case 0 b _02125b20 ; case 1 b _02125bdc ; case 2 b _02125c24 ; case 3 b _02125c58 ; case 4 b _02125ca8 ; case 5 b _02125cd0 ; case 6 b _02125d4c ; case 7 _02125aa8: ldr r1, [r4, #0x48] ldr r0, _02125dec ; =data_027e0e60 str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x18] ldr r3, [r4, #0x50] add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] bl func_ov00_02083ee0 str r0, [sp, #4] ldrb r1, [r4, #0x2a4] cmp r1, #0 bne _02125b04 ldr r1, [r4, #0x4c] cmp r1, r0 blt _02125b04 add r1, sp, #4 mov r0, r4 bl func_ov15_02125f88 mov r0, #1 strb r0, [r4, #0x2a4] _02125b04: ldr r0, [r4, #0x4c] cmp r0, #0x1000 blt _02125d68 mov r0, r4 mov r1, #1 bl func_ov15_021257cc b _02125d68 _02125b20: add r0, r4, #0x200 ldrh r2, [r0, #0x88] ldr r0, _02125df0 ; =data_02050f54 mov r1, #0x800 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 ldrsh ip, [r0, r2] ldrsh r3, [r0, #0xe0] add r0, r4, #0x4c mov r2, ip, asr #0x1f mov lr, r2, lsl #0xa mov r2, r3, asr #0x1f adds r5, r1, ip, lsl #10 orr lr, lr, ip, lsr #22 mov r2, r2, lsl #0xa adc ip, lr, #0 mov r5, r5, lsr #0xc adds r1, r1, r3, lsl #10 orr r2, r2, r3, lsr #22 orr r5, r5, ip, lsl #20 adc r3, r2, #0 mov r2, r1, lsr #0xc add r1, r5, #0x1000 orr r2, r2, r3, lsl #20 bl Approach_thunk add r0, r4, #0x200 ldrh r1, [r0, #0x88] add r1, r1, #0x384 strh r1, [r0, #0x88] ldrsh r1, [r0, #0x84] ldrsh r0, [r4, #0x78] cmp r1, r0 bne _02125d68 ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _02125d68 ldr r0, [r4, #0x184] cmp r0, #2 mov r0, r4 blt _02125bd0 mov r1, #6 bl func_ov15_021257cc b _02125d68 _02125bd0: mov r1, #2 bl func_ov15_021257cc b _02125d68 _02125bdc: add r0, r4, #0x200 ldrsh r2, [r0, #0x86] ldr r1, _02125df4 ; =0x00000e39 cmp r2, r1 addlt r1, r2, #0x16c strlth r1, [r0, #0x86] mov r0, r4 bl func_ov15_021236f8 cmp r0, #0 beq _02125d68 ldr r1, [r4, #0x4c] ldr r0, _02125df8 ; =0x0000019a cmp r1, r0 bgt _02125d68 mov r0, r4 mov r1, #3 bl func_ov15_021257cc b _02125d68 _02125c24: add r0, r4, #0x200 ldrsh r1, [r0, #0x86] cmp r1, #0 subgt r1, r1, #0x16c strgth r1, [r0, #0x86] ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _02125d68 mov r0, r4 mov r1, #4 bl func_ov15_021257cc b _02125d68 _02125c58: add r0, r4, #0x200 ldrsh r1, [r0, #0x86] cmp r1, #0 subgt r1, r1, #0x16c strgth r1, [r0, #0x86] ldr r0, [r4, #0x60] cmp r0, #0 ldreq r0, [r4, #0x68] cmpeq r0, #0 addeq r0, r4, #0x200 ldreqsh r0, [r0, #0x86] cmpeq r0, #0 bne _02125d68 ldr r1, [r4, #0x184] mov r0, r4 add r2, r1, #1 mov r1, #1 str r2, [r4, #0x184] bl func_ov15_021257cc b _02125d68 _02125ca8: mov r0, r4 mov r1, #0x16c bl func_ov15_02123bc0 ldr r0, [r4, #0x138] cmp r0, #0x3c ble _02125d68 mov r0, r4 mov r1, #6 bl func_ov15_021257cc b _02125d68 _02125cd0: ldr r1, [r4, #0x48] ldr r0, _02125dec ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r3, [r4, #0x50] add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp] ldrb r1, [r4, #0x2a4] cmp r1, #1 bne _02125d2c ldr r1, [r4, #0x4c] cmp r1, r0 bge _02125d2c add r1, sp, #0 mov r0, r4 bl func_ov15_02125f88 mov r0, #0 strb r0, [r4, #0x2a4] _02125d2c: mov r0, #0x2000 ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 bgt _02125d68 mov r0, r4 bl _ZN5Actor4KillEv b _02125d68 _02125d4c: ldr r0, [r4, #0x198] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02125d68 mov r0, r4 bl func_ov15_02123848 _02125d68: ldr r0, [r4, #0x130] cmp r0, #2 cmpne r0, #3 cmpne r0, #7 beq _02125d90 mov r0, r4 mov r1, #0x16c bl func_ov15_02123bc0 add r1, r4, #0x200 strh r0, [r1, #0x84] _02125d90: ldr r0, [r4, #0x130] cmp r0, #5 bge _02125dbc mov r0, r4 mov r1, #0 bl func_01fffd04 cmp r0, #0 beq _02125dbc mov r0, r4 mov r1, #5 bl func_ov15_021257cc _02125dbc: add r0, r4, #0x188 bl func_ov00_020c5e20 ldr r0, _02125dfc ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02125a0c _02125ddc: .word data_ov15_02185bc8 _02125de0: .word data_ov15_02185bc8 _02125de4: .word data_027e0ffc _02125de8: .word 0x000001dd _02125dec: .word data_027e0e60 _02125df0: .word data_02050f54 _02125df4: .word 0x00000e39 _02125df8: .word 0x0000019a _02125dfc: .word data_027e10a4 .global func_ov15_02125e00 arm_func_start func_ov15_02125e00 func_ov15_02125e00: ; 0x02125e00 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 ldr r1, _02125f78 ; =data_027e0f94 mov r5, r0 add r3, sp, #0x18 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r5, #0x184] mov r2, r3 tst r0, #1 mov r0, r3 beq _02125e3c add r1, r5, #0x28c bl func_01ff9bf8 b _02125e44 _02125e3c: add r1, r5, #0x28c bl func_01ff9bc4 _02125e44: add r0, sp, #0 bl func_ov15_0215cef8 add r0, sp, #0 add r4, sp, #0xc ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add r0, sp, #0x18 mov r3, #0 mov r1, r4 mov r2, r0 str r3, [sp, #0x10] bl func_01ff9bc4 ldr r2, [r5, #0x4c] add r1, sp, #0x18 add r0, r5, #0x48 str r2, [sp, #0x1c] bl func_01ff9ec0 ldr r1, _02125f7c ; =0x0000019a cmp r0, r1 bge _02125eb4 ldr r0, [sp, #0xc] str r0, [r5, #0x60] ldr r0, [sp, #0x10] str r0, [r5, #0x64] ldr r0, [sp, #0x14] add sp, sp, #0x24 str r0, [r5, #0x68] ldmia sp!, {r4, r5, pc} _02125eb4: add r0, sp, #0x18 add r1, r5, #0x48 mov r2, r0 bl func_01ff9bf8 mov r0, r4 bl func_01ff9cec ldr r1, _02125f80 ; =0x00001333 mov r2, #0 umull r4, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r4, r4, #0x800 adc r0, r3, #0 mov r4, r4, lsr #0xc orr r4, r4, r0, lsl #20 cmp r4, #0x29 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] movlt r4, #0x29 bl func_01ffa0f4 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 add r0, r1, #1 ldr r2, _02125f84 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] smull r2, r3, r1, r4 adds ip, r2, #0x800 smull r2, r1, r0, r4 adc r0, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r0, lsl #20 adds r2, r2, #0x800 str r3, [r5, #0x60] mov r3, #0 adc r0, r1, #0 mov r1, r2, lsr #0xc str r3, [r5, #0x64] orr r1, r1, r0, lsl #20 str r1, [r5, #0x68] add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02125e00 _02125f78: .word data_027e0f94 _02125f7c: .word 0x0000019a _02125f80: .word 0x00001333 _02125f84: .word data_02050f54 .global func_ov15_02125f88 arm_func_start func_ov15_02125f88 func_ov15_02125f88: ; 0x02125f88 stmdb sp!, {lr} sub sp, sp, #0x14 add r3, sp, #8 add r0, r0, #0x48 mov ip, r1 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr ip, [ip] mov r2, r3 ldr r0, _02126010 ; =data_027e0ffc mov r1, #0x1dc mov r3, #0 str ip, [sp, #0xc] bl func_ov00_020ceacc add r0, sp, #8 mov r1, #0x400 mov r2, #0 bl func_ov00_020c7484 mov r2, #0 ldr r1, _02126014 ; =0x00000666 add r0, sp, #8 mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02126018 ; =data_027e0e58 mov r1, #0x73 ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_02125f88 _02126010: .word data_027e0ffc _02126014: .word 0x00000666 _02126018: .word data_027e0e58 .global func_ov15_0212601c arm_func_start func_ov15_0212601c func_ov15_0212601c: ; 0x0212601c ldr ip, _02126028 ; =func_ov15_021257cc mov r1, #6 bx ip .align 2, 0 arm_func_end func_ov15_0212601c _02126028: .word func_ov15_021257cc .global func_ov15_0212602c arm_func_start func_ov15_0212602c func_ov15_0212602c: ; 0x0212602c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x200 ldrh r1, [r0, #0x86] ldr r3, _021260a4 ; =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_01ff81f8 ldrsh r1, [r4, #0x78] add r0, sp, #0 bl func_ov15_0215cfc8 add r1, sp, #0 add r0, r4, #0x188 add r2, r4, #0x48 bl func_ov00_020c5e88 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212602c _021260a4: .word data_02050f54 .global func_ov15_021260a8 arm_func_start func_ov15_021260a8 func_ov15_021260a8: ; 0x021260a8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr ip, [r1, #0x14] add r3, sp, #0xc add r1, ip, #0x60 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0xc] cmp r0, #0 ldreq r0, [sp, #0x14] cmpeq r0, #0 bne _021260fc add r2, sp, #0 add r0, r4, #0x48 add r1, ip, #0x48 bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 b _02126108 _021260fc: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 _02126108: add r1, r4, #0x200 strh r0, [r1, #0x98] mov r0, r4 mov r1, #7 bl func_ov15_021257cc mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov15_021260a8 .global func_ov15_02126128 arm_func_start func_ov15_02126128 func_ov15_02126128: ; 0x02126128 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc ldr r2, _02126198 ; =data_ov15_02189990 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] mov r3, #2 str r3, [sp] add r0, r4, #0xac mov r1, #0xfd mov r2, #7 bl func_ov00_02095720 mov r0, #1 strb r0, [r4, #0xd4] mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02126128 _02126198: .word data_ov15_02189990 .global func_ov15_0212619c arm_func_start func_ov15_0212619c func_ov15_0212619c: ; 0x0212619c stmdb sp!, {r4, lr} ldr r1, _021261dc ; =data_ov15_02189990 mov r4, r0 ldr r0, _021261e0 ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0xac bl func_ov00_020838d8 add r0, r4, #0xac bl func_ov00_02095764 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_ov15_0212619c _021261dc: .word data_ov15_02189990 _021261e0: .word data_027e0e60 .global func_ov15_021261e4 arm_func_start func_ov15_021261e4 func_ov15_021261e4: ; 0x021261e4 stmdb sp!, {r4, lr} ldr r1, _0212622c ; =data_ov15_02189990 mov r4, r0 ldr r0, _02126230 ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0xac bl func_ov00_020838d8 add r0, r4, #0xac bl func_ov00_02095764 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_ov15_021261e4 _0212622c: .word data_ov15_02189990 _02126230: .word data_027e0e60 .global func_ov15_02126234 arm_func_start func_ov15_02126234 func_ov15_02126234: ; 0x02126234 stmdb sp!, {r4, lr} ldr r1, _02126274 ; =data_ov15_02189990 mov r4, r0 ldr r0, _02126278 ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0xac bl func_ov00_020838d8 add r0, r4, #0xac bl func_ov00_02095764 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_ov15_02126234 _02126274: .word data_ov15_02189990 _02126278: .word data_027e0e60 .global func_ov15_0212627c arm_func_start func_ov15_0212627c func_ov15_0212627c: ; 0x0212627c stmdb sp!, {lr} sub sp, sp, #0x14 mov ip, r0 ldr r3, [ip, #0xa4] ldr r2, [ip, #0x1c] ldr r1, [ip, #0x20] ldr r0, [ip, #0x18] add r3, r3, #0xc000 str r0, [ip, #0xc0] str r2, [ip, #0xc4] str r1, [ip, #0xc8] ldr r1, _021262cc ; =0x0000399a str r3, [ip, #0xcc] ldr r0, _021262d0 ; =data_027e0e60 str r1, [ip, #0xd0] ldr r0, [r0] add r1, ip, #0xac bl func_ov00_020838c8 add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_0212627c _021262cc: .word 0x0000399a _021262d0: .word data_027e0e60 .global func_ov15_021262d4 arm_func_start func_ov15_021262d4 func_ov15_021262d4: ; 0x021262d4 bx lr arm_func_end func_ov15_021262d4 .global func_ov15_021262d8 arm_func_start func_ov15_021262d8 func_ov15_021262d8: ; 0x021262d8 stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0] mov r5, r0 ldr r2, [r2, #0x84] mov r4, r1 blx r2 cmp r0, #0 beq _0212630c add r0, r5, #0x18 bl func_ov15_0212b30c str r0, [r5, #0x1c] mov r0, r5 bl func_ov15_02126398 _0212630c: ldr r0, [r5, #0xa8] cmp r0, #0x40000 ldmgtia sp!, {r3, r4, r5, pc} mov r1, r4 add r0, r5, #0x94 add r2, r5, #0x18 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_021262d8 .global func_ov15_0212632c arm_func_start func_ov15_0212632c func_ov15_0212632c: ; 0x0212632c 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_ov15_0212632c .global func_ov15_02126360 arm_func_start func_ov15_02126360 func_ov15_02126360: ; 0x02126360 mvn r0, #0 bx lr arm_func_end func_ov15_02126360 .global func_ov15_02126368 arm_func_start func_ov15_02126368 func_ov15_02126368: ; 0x02126368 mov r0, #1 bx lr arm_func_end func_ov15_02126368 .global func_ov15_02126370 arm_func_start func_ov15_02126370 func_ov15_02126370: ; 0x02126370 mov r0, #0 bx lr arm_func_end func_ov15_02126370 .global func_ov15_02126378 arm_func_start func_ov15_02126378 func_ov15_02126378: ; 0x02126378 ldr r2, [r0, #0xa8] cmp r2, #0x40000 movgt r0, #0 bxgt lr cmp r1, #0 ldrneb r0, [r0, #0x95] ldreqb r0, [r0, #0x94] bx lr arm_func_end func_ov15_02126378 .global func_ov15_02126398 arm_func_start func_ov15_02126398 func_ov15_02126398: ; 0x02126398 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _021263e0 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp] str r0, [sp, #4] ldr r0, [r1, #8] add r1, sp, #0 str r0, [sp, #8] ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] bl func_01ff9ec0 str r0, [r4, #0xa8] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02126398 _021263e0: .word data_027e0f94 .global func_ov15_021263e4 arm_func_start func_ov15_021263e4 func_ov15_021263e4: ; 0x021263e4 stmdb sp!, {r4, lr} ldr r1, _02126418 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x124 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_0212641c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021263e4 _02126418: .word data_027e0f84 .global func_ov15_0212641c arm_func_start func_ov15_0212641c func_ov15_0212641c: ; 0x0212641c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r3, _02126450 ; =data_ov15_02189a28 add r0, r4, #0xd8 add r1, r4, #0xfc mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _02126454 ; =data_ov15_02189ac0 mov r0, r4 str r1, [r4, #0xd8] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212641c _02126450: .word data_ov15_02189a28 _02126454: .word data_ov15_02189ac0 .global func_ov15_02126458 arm_func_start func_ov15_02126458 func_ov15_02126458: ; 0x02126458 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0xd8 blx func_ov00_020a9acc mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02126458 .global func_ov15_02126478 arm_func_start func_ov15_02126478 func_ov15_02126478: ; 0x02126478 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0xd8 blx func_ov00_020a9acc mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02126478 .global func_ov15_021264a0 arm_func_start func_ov15_021264a0 func_ov15_021264a0: ; 0x021264a0 mov r0, #0x56 bx lr arm_func_end func_ov15_021264a0 .global func_ov15_021264a8 arm_func_start func_ov15_021264a8 func_ov15_021264a8: ; 0x021264a8 mov r0, #6 bx lr arm_func_end func_ov15_021264a8 .global func_ov15_021264b0 arm_func_start func_ov15_021264b0 func_ov15_021264b0: ; 0x021264b0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _021265bc ; =data_ov15_02185c20 add r3, sp, #0 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp] mov r0, r4 str r1, [r4, #0x98] ldr r2, [sp, #4] mov r1, #0x18000 str r2, [r4, #0x9c] ldr r2, [sp, #8] str r2, [r4, #0xa0] str r1, [r4, #0xa4] bl func_ov15_02126638 cmp r0, #0 mov r2, #0 beq _02126580 ldr r0, _021265c0 ; =data_027e0f68 mov r1, #0xbc ldr r0, [r0] bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, _021265c0 ; =data_027e0f68 mov r1, #0xbc ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc str r0, [r4, #0xe0] ldr r0, _021265c0 ; =data_027e0f68 ldr r3, _021265c4 ; =data_ov15_02185c10 ldr r0, [r0] mov r1, #0xbc mov r2, #2 bl func_ov00_0208cd0c mov r2, #0 mov r1, r0 add r0, r4, #0xd8 mov r3, r2 bl func_ov00_020c0cc8 add r0, r4, #0x38 ldr r2, [r0] add r1, r4, #0xd8 ldr r2, [r2, #0x24] blx r2 b _021265a4 _02126580: ldr r0, _021265c0 ; =data_027e0f68 mov r1, #0xbb ldr r0, [r0] bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 _021265a4: mov r1, #0 mov r0, r4 strb r1, [r4, #0xd4] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021264b0 _021265bc: .word data_ov15_02185c20 _021265c0: .word data_027e0f68 _021265c4: .word data_ov15_02185c10 .global func_ov15_021265c8 arm_func_start func_ov15_021265c8 func_ov15_021265c8: ; 0x021265c8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126638 cmp r0, #0 mov r0, r4 beq _021265ec mov r1, #1 bl func_ov15_02126654 ldmia sp!, {r4, pc} _021265ec: mov r1, #0 bl func_ov15_02126654 ldmia sp!, {r4, pc} arm_func_end func_ov15_021265c8 .global func_ov15_021265f8 arm_func_start func_ov15_021265f8 func_ov15_021265f8: ; 0x021265f8 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, #0xe0] cmpne r0, #0 beq _02126628 add r0, r5, #0xd8 bl func_ov00_020c0e04 _02126628: mov r0, r5 mov r1, r4 bl func_ov15_021262d8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_021265f8 .global func_ov15_02126638 arm_func_start func_ov15_02126638 func_ov15_02126638: ; 0x02126638 ldr r0, _0212664c ; =gAdventureFlags ldr ip, _02126650 ; =_ZN14AdventureFlags3GetEj mov r1, #0x32 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov15_02126638 _0212664c: .word gAdventureFlags _02126650: .word _ZN14AdventureFlags3GetEj .global func_ov15_02126654 arm_func_start func_ov15_02126654 func_ov15_02126654: ; 0x02126654 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldrh r4, [r0, #0x28] ldr r2, _02126704 ; =data_027e0f6c mov r6, r1 ldr r1, [r2] ldrh r5, [r0, #0x2a] add r0, sp, #4 mov r2, r4 bl func_ov00_02093a4c ldr r1, _02126704 ; =data_027e0f6c add r0, sp, #0 ldr r1, [r1] mov r2, r5 bl func_ov00_02093a4c cmp r6, #0 beq _021266b8 ldr r1, [sp, #4] ldr r0, [sp] bic r1, r1, #0x6000 orr r1, r1, #0x6000 bic r0, r0, #0x6000 str r1, [sp, #4] str r0, [sp] b _021266d4 _021266b8: ldr r0, [sp] ldr r1, [sp, #4] bic r0, r0, #0x6000 bic r1, r1, #0x6000 orr r0, r0, #0x6000 str r1, [sp, #4] str r0, [sp] _021266d4: ldr r0, _02126704 ; =data_027e0f6c add r2, sp, #4 ldr r0, [r0] mov r1, r4 bl func_ov00_02093a3c ldr r0, _02126704 ; =data_027e0f6c add r2, sp, #0 ldr r0, [r0] mov r1, r5 bl func_ov00_02093a3c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02126654 _02126704: .word data_027e0f6c .global func_ov15_02126708 arm_func_start func_ov15_02126708 func_ov15_02126708: ; 0x02126708 stmdb sp!, {r4, lr} ldr r1, _0212673c ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xe4 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_02126740 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126708 _0212673c: .word data_027e0f84 .global func_ov15_02126740 arm_func_start func_ov15_02126740 func_ov15_02126740: ; 0x02126740 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r0, _02126770 ; =data_ov15_02189ad0 mov r1, #0 str r0, [r4] str r1, [r4, #0xd8] sub r0, r1, #1 str r0, [r4, #0xdc] mov r0, r4 str r1, [r4, #0xe0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126740 _02126770: .word data_ov15_02189ad0 .global func_ov15_02126774 arm_func_start func_ov15_02126774 func_ov15_02126774: ; 0x02126774 stmdb sp!, {r4, lr} ldr r1, _021267b4 ; =data_ov15_02189ad0 mov r4, r0 ldr r0, _021267b8 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xd8 bl func_ov00_0207c444 add r0, r4, #0xd8 bl func_ov00_020b7e6c add r0, r4, #0xd8 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126774 _021267b4: .word data_ov15_02189ad0 _021267b8: .word data_027e0e58 .global func_ov15_021267bc arm_func_start func_ov15_021267bc func_ov15_021267bc: ; 0x021267bc stmdb sp!, {r4, lr} ldr r1, _02126804 ; =data_ov15_02189ad0 mov r4, r0 ldr r0, _02126808 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xd8 bl func_ov00_0207c444 add r0, r4, #0xd8 bl func_ov00_020b7e6c add r0, r4, #0xd8 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021267bc _02126804: .word data_ov15_02189ad0 _02126808: .word data_027e0e58 .global func_ov15_0212680c arm_func_start func_ov15_0212680c func_ov15_0212680c: ; 0x0212680c mov r0, #0x4b bx lr arm_func_end func_ov15_0212680c .global func_ov15_02126814 arm_func_start func_ov15_02126814 func_ov15_02126814: ; 0x02126814 mov r0, #2 bx lr arm_func_end func_ov15_02126814 .global func_ov15_0212681c arm_func_start func_ov15_0212681c func_ov15_0212681c: ; 0x0212681c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _021268a8 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0x81 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, _021268ac ; =data_ov15_02185c2c add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0xf000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, #0 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0x15 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r0, [r4, #0xd4] str r1, [r4, #0xdc] mov r1, #4 mov r0, r4 str r1, [r4, #0xe0] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212681c _021268a8: .word data_027e0f68 _021268ac: .word data_ov15_02185c2c .global func_ov15_021268b0 arm_func_start func_ov15_021268b0 func_ov15_021268b0: ; 0x021268b0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov15_021262d8 mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0xa8] cmp r0, #0x40000 bgt _02126900 ldr r0, _02126914 ; =data_027e0e58 add r1, r5, #0xd8 ldr r0, [r0] add r2, r5, #0x18 bl func_ov00_0207c474 ldmia sp!, {r3, r4, r5, pc} _02126900: ldr r0, _02126914 ; =data_027e0e58 add r1, r5, #0xd8 ldr r0, [r0] bl func_ov00_0207c444 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021268b0 _02126914: .word data_027e0e58 .global func_ov15_02126918 arm_func_start func_ov15_02126918 func_ov15_02126918: ; 0x02126918 stmdb sp!, {r4, lr} ldr r1, _0212694c ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xf0 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_02126950 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126918 _0212694c: .word data_027e0f84 .global func_ov15_02126950 arm_func_start func_ov15_02126950 func_ov15_02126950: ; 0x02126950 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r0, _02126984 ; =data_ov15_02189b68 mov r1, #0 str r0, [r4] strb r1, [r4, #0xd5] str r1, [r4, #0xe4] sub r0, r1, #1 str r0, [r4, #0xe8] mov r0, r4 str r1, [r4, #0xec] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126950 _02126984: .word data_ov15_02189b68 .global func_ov15_02126988 arm_func_start func_ov15_02126988 func_ov15_02126988: ; 0x02126988 stmdb sp!, {r4, lr} ldr r1, _021269c8 ; =data_ov15_02189b68 mov r4, r0 ldr r0, _021269cc ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7e6c add r0, r4, #0xe4 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126988 _021269c8: .word data_ov15_02189b68 _021269cc: .word data_027e0e58 .global func_ov15_021269d0 arm_func_start func_ov15_021269d0 func_ov15_021269d0: ; 0x021269d0 stmdb sp!, {r4, lr} ldr r1, _02126a18 ; =data_ov15_02189b68 mov r4, r0 ldr r0, _02126a1c ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7e6c add r0, r4, #0xe4 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021269d0 _02126a18: .word data_ov15_02189b68 _02126a1c: .word data_027e0e58 .global func_ov15_02126a20 arm_func_start func_ov15_02126a20 func_ov15_02126a20: ; 0x02126a20 mov r0, #0x4d bx lr arm_func_end func_ov15_02126a20 .global func_ov15_02126a28 arm_func_start func_ov15_02126a28 func_ov15_02126a28: ; 0x02126a28 mov r0, #8 bx lr arm_func_end func_ov15_02126a28 .global func_ov15_02126a30 arm_func_start func_ov15_02126a30 func_ov15_02126a30: ; 0x02126a30 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02126ad4 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xb9 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, _02126ad8 ; =data_ov15_02185c38 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x14000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, #0 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0x14 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r0, [r4, #0xd4] str r1, [r4, #0xe8] mov r1, #4 mov r0, r4 str r1, [r4, #0xec] bl func_ov15_0212627c mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02126a30 _02126ad4: .word data_027e0f68 _02126ad8: .word data_ov15_02185c38 .global func_ov15_02126adc arm_func_start func_ov15_02126adc func_ov15_02126adc: ; 0x02126adc stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 mov r5, r1 bl func_ov15_021262d8 mov r0, r4 ldr r2, [r0] mov r1, r5 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r0, [r4, #8] cmp r0, #0 beq _02126b2c cmp r0, #1 beq _02126b5c add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _02126b2c: ldrb r0, [r4, #0xd5] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _02126b5c: ldr r0, [r4, #0xa8] cmp r0, #0x40000 bgt _02126ba4 add r0, r4, #0xd8 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x18 bl func_01ff9bc4 ldr r0, _02126bbc ; =data_027e0e58 add r2, sp, #0 ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c474 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _02126ba4: ldr r0, _02126bbc ; =data_027e0e58 add r1, r4, #0xe4 ldr r0, [r0] bl func_ov00_0207c444 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02126adc _02126bbc: .word data_027e0e58 .global func_ov15_02126bc0 arm_func_start func_ov15_02126bc0 func_ov15_02126bc0: ; 0x02126bc0 stmdb sp!, {r3, lr} str r1, [r0, #8] cmp r1, #0 beq _02126bdc cmp r1, #1 beq _02126bf0 b _02126c08 _02126bdc: ldr r1, _02126c10 ; =func_ov15_02126c14 str r0, [r0, #0x68] add r0, r0, #0x3c bl func_02018cb8 b _02126c08 _02126bf0: mov r1, #1 strb r1, [r0, #0xd5] mov r1, #0 str r1, [r0, #0x68] add r0, r0, #0x3c bl func_02018cb8 _02126c08: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02126bc0 _02126c10: .word func_ov15_02126c14 .global func_ov15_02126c14 arm_func_start func_ov15_02126c14 func_ov15_02126c14: ; 0x02126c14 ldr r2, _02126c28 ; =func_ov15_02126c2c mov r1, #2 str r2, [r0, #0x24] strb r1, [r0, #0x92] bx lr .align 2, 0 arm_func_end func_ov15_02126c14 _02126c28: .word func_ov15_02126c2c .global func_ov15_02126c2c arm_func_start func_ov15_02126c2c func_ov15_02126c2c: ; 0x02126c2c mov r1, r0 ldr r0, [r1, #4] ldr ip, _02126c40 ; =func_ov15_02126c44 ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov15_02126c2c _02126c40: .word func_ov15_02126c44 .global func_ov15_02126c44 arm_func_start func_ov15_02126c44 func_ov15_02126c44: ; 0x02126c44 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, _02126cd0 ; =data_ov15_02185c44 add r0, r0, #0x40 bl func_0201e388 cmp r5, r0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, pc} ldr ip, [r6, #0xb4] add r2, sp, #0 ldr r3, [ip, #0x4c] mov r0, #1 str r3, [sp] ldr r1, [ip, #0x50] str r1, [sp, #4] ldr r1, [ip, #0x54] str r1, [sp, #8] str r3, [r4, #0xd8] ldr r1, [r2, #4] str r1, [r4, #0xdc] ldr r1, [r2, #8] str r1, [r4, #0xe0] strb r0, [r4, #0xd5] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02126c44 _02126cd0: .word data_ov15_02185c44 .global func_ov15_02126cd4 arm_func_start func_ov15_02126cd4 func_ov15_02126cd4: ; 0x02126cd4 stmdb sp!, {r4, lr} ldr r1, _02126d08 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x124 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_02126d0c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126cd4 _02126d08: .word data_027e0f84 .global func_ov15_02126d0c arm_func_start func_ov15_02126d0c func_ov15_02126d0c: ; 0x02126d0c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r3, _02126d40 ; =data_ov15_02189c00 add r0, r4, #0xd8 add r1, r4, #0xfc mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _02126d44 ; =data_ov15_02189ac0 mov r0, r4 str r1, [r4, #0xd8] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02126d0c _02126d40: .word data_ov15_02189c00 _02126d44: .word data_ov15_02189ac0 .global func_ov15_02126d48 arm_func_start func_ov15_02126d48 func_ov15_02126d48: ; 0x02126d48 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0xd8 blx func_ov00_020a9acc mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02126d48 .global func_ov15_02126d68 arm_func_start func_ov15_02126d68 func_ov15_02126d68: ; 0x02126d68 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0xd8 blx func_ov00_020a9acc mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02126d68 .global func_ov15_02126d90 arm_func_start func_ov15_02126d90 func_ov15_02126d90: ; 0x02126d90 mov r0, #0x4f bx lr arm_func_end func_ov15_02126d90 .global func_ov15_02126d98 arm_func_start func_ov15_02126d98 func_ov15_02126d98: ; 0x02126d98 mov r0, #0 bx lr arm_func_end func_ov15_02126d98 .global func_ov15_02126da0 arm_func_start func_ov15_02126da0 func_ov15_02126da0: ; 0x02126da0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02126e74 ; =data_ov15_02185c68 add r3, sp, #0 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x18000 str r0, [r4, #0x98] ldr r1, [sp, #4] ldr r0, _02126e78 ; =data_027e0f68 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0xb8 str r3, [r4, #0xa0] str r2, [r4, #0xa4] 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, _02126e78 ; =data_027e0f68 mov r1, #0xb8 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc str r0, [r4, #0xe0] ldr r0, _02126e78 ; =data_027e0f68 ldr r3, _02126e7c ; =data_ov15_02185c58 ldr r0, [r0] mov r1, #0xb8 mov r2, #2 bl func_ov00_0208cd0c mov r2, #0 mov r1, r0 add r0, r4, #0xd8 mov r3, r2 bl func_ov00_020c0cc8 add r0, r4, #0x38 ldr r2, [r0] add r1, r4, #0xd8 ldr r2, [r2, #0x24] blx r2 mov r0, #0 strb r0, [r4, #0xd4] mov r0, r4 bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02126da0 _02126e74: .word data_ov15_02185c68 _02126e78: .word data_027e0f68 _02126e7c: .word data_ov15_02185c58 .global func_ov15_02126e80 arm_func_start func_ov15_02126e80 func_ov15_02126e80: ; 0x02126e80 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov15_021262d8 mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0xd8 bl func_ov00_020c0e04 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02126e80 .global func_ov15_02126eb8 arm_func_start func_ov15_02126eb8 func_ov15_02126eb8: ; 0x02126eb8 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02126ef8 ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xd8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _02126ef0 mov r1, r5 bl func_ov15_02126128 ldr r0, _02126efc ; =data_ov15_02189ca8 str r0, [r4] _02126ef0: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02126eb8 _02126ef8: .word data_027e0f84 _02126efc: .word data_ov15_02189ca8 .global func_ov15_02126f00 arm_func_start func_ov15_02126f00 func_ov15_02126f00: ; 0x02126f00 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02126f7c ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xc1 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, _02126f80 ; =data_ov15_02185c74 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0xc000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02126f00 _02126f7c: .word data_027e0f68 _02126f80: .word data_ov15_02185c74 .global func_ov15_02126f84 arm_func_start func_ov15_02126f84 func_ov15_02126f84: ; 0x02126f84 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02126f84 .global func_ov15_02126f98 arm_func_start func_ov15_02126f98 func_ov15_02126f98: ; 0x02126f98 mov r0, #0x50 bx lr arm_func_end func_ov15_02126f98 .global func_ov15_02126fa0 arm_func_start func_ov15_02126fa0 func_ov15_02126fa0: ; 0x02126fa0 mov r0, #9 bx lr arm_func_end func_ov15_02126fa0 .global func_ov15_02126fa8 arm_func_start func_ov15_02126fa8 func_ov15_02126fa8: ; 0x02126fa8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02126fa8 .global func_ov15_02126fc4 arm_func_start func_ov15_02126fc4 func_ov15_02126fc4: ; 0x02126fc4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02127004 ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xd8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _02126ffc mov r1, r5 bl func_ov15_02126128 ldr r0, _02127008 ; =data_ov15_02189d40 str r0, [r4] _02126ffc: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02126fc4 _02127004: .word data_027e0f84 _02127008: .word data_ov15_02189d40 .global func_ov15_0212700c arm_func_start func_ov15_0212700c func_ov15_0212700c: ; 0x0212700c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02127088 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xc0 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, _0212708c ; =data_ov15_02185c80 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x14000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212700c _02127088: .word data_027e0f68 _0212708c: .word data_ov15_02185c80 .global func_ov15_02127090 arm_func_start func_ov15_02127090 func_ov15_02127090: ; 0x02127090 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02127090 .global func_ov15_021270a4 arm_func_start func_ov15_021270a4 func_ov15_021270a4: ; 0x021270a4 mov r0, #0x51 bx lr arm_func_end func_ov15_021270a4 .global func_ov15_021270ac arm_func_start func_ov15_021270ac func_ov15_021270ac: ; 0x021270ac mov r0, #5 bx lr arm_func_end func_ov15_021270ac .global func_ov15_021270b4 arm_func_start func_ov15_021270b4 func_ov15_021270b4: ; 0x021270b4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021270b4 .global func_ov15_021270d0 arm_func_start func_ov15_021270d0 func_ov15_021270d0: ; 0x021270d0 stmdb sp!, {r4, lr} ldr r1, _02127104 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xf0 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_02127108 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021270d0 _02127104: .word data_027e0f84 .global func_ov15_02127108 arm_func_start func_ov15_02127108 func_ov15_02127108: ; 0x02127108 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r0, _0212713c ; =data_ov15_02189dd8 mov r1, #0 str r0, [r4] strb r1, [r4, #0xd5] str r1, [r4, #0xe4] sub r0, r1, #1 str r0, [r4, #0xe8] mov r0, r4 str r1, [r4, #0xec] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02127108 _0212713c: .word data_ov15_02189dd8 .global func_ov15_02127140 arm_func_start func_ov15_02127140 func_ov15_02127140: ; 0x02127140 stmdb sp!, {r4, lr} ldr r1, _02127180 ; =data_ov15_02189dd8 mov r4, r0 ldr r0, _02127184 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7e6c add r0, r4, #0xe4 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02127140 _02127180: .word data_ov15_02189dd8 _02127184: .word data_027e0e58 .global func_ov15_02127188 arm_func_start func_ov15_02127188 func_ov15_02127188: ; 0x02127188 stmdb sp!, {r4, lr} ldr r1, _021271d0 ; =data_ov15_02189dd8 mov r4, r0 ldr r0, _021271d4 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7e6c add r0, r4, #0xe4 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02127188 _021271d0: .word data_ov15_02189dd8 _021271d4: .word data_027e0e58 .global func_ov15_021271d8 arm_func_start func_ov15_021271d8 func_ov15_021271d8: ; 0x021271d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0212727c ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0x7f 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, _02127280 ; =data_ov15_02185c8c add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, #0 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0x14 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r0, [r4, #0xd4] str r1, [r4, #0xe8] mov r1, #4 mov r0, r4 str r1, [r4, #0xec] bl func_ov15_0212627c mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021271d8 _0212727c: .word data_027e0f68 _02127280: .word data_ov15_02185c8c .global func_ov15_02127284 arm_func_start func_ov15_02127284 func_ov15_02127284: ; 0x02127284 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 mov r5, r1 bl func_ov15_021262d8 mov r0, r4 ldr r2, [r0] mov r1, r5 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r0, [r4, #8] cmp r0, #0 beq _021272d4 cmp r0, #1 beq _02127304 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _021272d4: ldrb r0, [r4, #0xd5] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _02127304: ldr r0, [r4, #0xa8] cmp r0, #0x40000 bgt _0212734c add r0, r4, #0xd8 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x18 bl func_01ff9bc4 ldr r0, _02127364 ; =data_027e0e58 add r2, sp, #0 ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c474 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0212734c: ldr r0, _02127364 ; =data_027e0e58 add r1, r4, #0xe4 ldr r0, [r0] bl func_ov00_0207c444 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02127284 _02127364: .word data_027e0e58 .global func_ov15_02127368 arm_func_start func_ov15_02127368 func_ov15_02127368: ; 0x02127368 stmdb sp!, {r3, lr} str r1, [r0, #8] cmp r1, #0 beq _02127384 cmp r1, #1 beq _02127398 b _021273b0 _02127384: ldr r1, _021273b8 ; =func_ov15_021273cc str r0, [r0, #0x68] add r0, r0, #0x3c bl func_02018cb8 b _021273b0 _02127398: mov r1, #1 strb r1, [r0, #0xd5] mov r1, #0 str r1, [r0, #0x68] add r0, r0, #0x3c bl func_02018cb8 _021273b0: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02127368 _021273b8: .word func_ov15_021273cc .global func_ov15_021273bc arm_func_start func_ov15_021273bc func_ov15_021273bc: ; 0x021273bc mov r0, #0x53 bx lr arm_func_end func_ov15_021273bc .global func_ov15_021273c4 arm_func_start func_ov15_021273c4 func_ov15_021273c4: ; 0x021273c4 mov r0, #7 bx lr arm_func_end func_ov15_021273c4 .global func_ov15_021273cc arm_func_start func_ov15_021273cc func_ov15_021273cc: ; 0x021273cc ldr r2, _021273e0 ; =func_ov15_021273e4 mov r1, #2 str r2, [r0, #0x24] strb r1, [r0, #0x92] bx lr .align 2, 0 arm_func_end func_ov15_021273cc _021273e0: .word func_ov15_021273e4 .global func_ov15_021273e4 arm_func_start func_ov15_021273e4 func_ov15_021273e4: ; 0x021273e4 mov r1, r0 ldr r0, [r1, #4] ldr ip, _021273f8 ; =func_ov15_021273fc ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov15_021273e4 _021273f8: .word func_ov15_021273fc .global func_ov15_021273fc arm_func_start func_ov15_021273fc func_ov15_021273fc: ; 0x021273fc 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, _02127488 ; =data_ov15_02185c98 add r0, r0, #0x40 bl func_0201e388 cmp r5, r0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, pc} ldr ip, [r6, #0xb4] add r2, sp, #0 ldr r3, [ip, #0x4c] mov r0, #1 str r3, [sp] ldr r1, [ip, #0x50] str r1, [sp, #4] ldr r1, [ip, #0x54] str r1, [sp, #8] str r3, [r4, #0xd8] ldr r1, [r2, #4] str r1, [r4, #0xdc] ldr r1, [r2, #8] str r1, [r4, #0xe0] strb r0, [r4, #0xd5] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021273fc _02127488: .word data_ov15_02185c98 .global func_ov15_0212748c arm_func_start func_ov15_0212748c func_ov15_0212748c: ; 0x0212748c stmdb sp!, {r4, lr} ldr r1, _021274c0 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xe4 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_021274c4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212748c _021274c0: .word data_027e0f84 .global func_ov15_021274c4 arm_func_start func_ov15_021274c4 func_ov15_021274c4: ; 0x021274c4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r0, _021274f4 ; =data_ov15_02189e70 mov r1, #0 str r0, [r4] str r1, [r4, #0xd8] sub r0, r1, #1 str r0, [r4, #0xdc] mov r0, r4 str r1, [r4, #0xe0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021274c4 _021274f4: .word data_ov15_02189e70 .global func_ov15_021274f8 arm_func_start func_ov15_021274f8 func_ov15_021274f8: ; 0x021274f8 stmdb sp!, {r4, lr} ldr r1, _02127538 ; =data_ov15_02189e70 mov r4, r0 ldr r0, _0212753c ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xd8 bl func_ov00_0207c444 add r0, r4, #0xd8 bl func_ov00_020b7e6c add r0, r4, #0xd8 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021274f8 _02127538: .word data_ov15_02189e70 _0212753c: .word data_027e0e58 .global func_ov15_02127540 arm_func_start func_ov15_02127540 func_ov15_02127540: ; 0x02127540 stmdb sp!, {r4, lr} ldr r1, _02127588 ; =data_ov15_02189e70 mov r4, r0 ldr r0, _0212758c ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xd8 bl func_ov00_0207c444 add r0, r4, #0xd8 bl func_ov00_020b7e6c add r0, r4, #0xd8 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02127540 _02127588: .word data_ov15_02189e70 _0212758c: .word data_027e0e58 .global func_ov15_02127590 arm_func_start func_ov15_02127590 func_ov15_02127590: ; 0x02127590 mov r0, #0x54 bx lr arm_func_end func_ov15_02127590 .global func_ov15_02127598 arm_func_start func_ov15_02127598 func_ov15_02127598: ; 0x02127598 mov r0, #4 bx lr arm_func_end func_ov15_02127598 .global func_ov15_021275a0 arm_func_start func_ov15_021275a0 func_ov15_021275a0: ; 0x021275a0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0212762c ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0x7b 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, _02127630 ; =data_ov15_02185cac add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0xf000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, #0 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0x16 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r0, [r4, #0xd4] str r1, [r4, #0xdc] mov r1, #4 mov r0, r4 str r1, [r4, #0xe0] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021275a0 _0212762c: .word data_027e0f68 _02127630: .word data_ov15_02185cac .global func_ov15_02127634 arm_func_start func_ov15_02127634 func_ov15_02127634: ; 0x02127634 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov15_021262d8 mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0xa8] cmp r0, #0x1c000 bgt _02127684 ldr r0, _02127690 ; =data_027e0e58 add r1, r5, #0xd8 ldr r0, [r0] add r2, r5, #0x18 bl func_ov00_0207c474 ldmia sp!, {r3, r4, r5, pc} _02127684: add r0, r5, #0xd8 bl func_ov00_020b7e6c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02127634 _02127690: .word data_027e0e58 .global func_ov15_02127694 arm_func_start func_ov15_02127694 func_ov15_02127694: ; 0x02127694 stmdb sp!, {r3, r4, r5, lr} ldr r1, _021276d4 ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xd8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _021276cc mov r1, r5 bl func_ov15_02126128 ldr r0, _021276d8 ; =data_ov15_02189f08 str r0, [r4] _021276cc: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02127694 _021276d4: .word data_027e0f84 _021276d8: .word data_ov15_02189f08 .global func_ov15_021276dc arm_func_start func_ov15_021276dc func_ov15_021276dc: ; 0x021276dc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02127758 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0x72 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, _0212775c ; =data_ov15_02185cb8 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0xf000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021276dc _02127758: .word data_027e0f68 _0212775c: .word data_ov15_02185cb8 .global func_ov15_02127760 arm_func_start func_ov15_02127760 func_ov15_02127760: ; 0x02127760 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02127760 .global func_ov15_02127774 arm_func_start func_ov15_02127774 func_ov15_02127774: ; 0x02127774 mov r0, #0x55 bx lr arm_func_end func_ov15_02127774 .global func_ov15_0212777c arm_func_start func_ov15_0212777c func_ov15_0212777c: ; 0x0212777c mov r0, #3 bx lr arm_func_end func_ov15_0212777c .global func_ov15_02127784 arm_func_start func_ov15_02127784 func_ov15_02127784: ; 0x02127784 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02127784 .global func_ov15_021277a0 arm_func_start func_ov15_021277a0 func_ov15_021277a0: ; 0x021277a0 stmdb sp!, {r4, lr} ldr r1, _021277d4 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0xd8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_021277d8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021277a0 _021277d4: .word data_027e0f84 .global func_ov15_021277d8 arm_func_start func_ov15_021277d8 func_ov15_021277d8: ; 0x021277d8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r1, _021277f4 ; =data_ov15_02189fa0 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021277d8 _021277f4: .word data_ov15_02189fa0 .global func_ov15_021277f8 arm_func_start func_ov15_021277f8 func_ov15_021277f8: ; 0x021277f8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021277f8 .global func_ov15_0212780c arm_func_start func_ov15_0212780c func_ov15_0212780c: ; 0x0212780c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212780c .global func_ov15_02127828 arm_func_start func_ov15_02127828 func_ov15_02127828: ; 0x02127828 mov r0, #0x4a bx lr arm_func_end func_ov15_02127828 .global func_ov15_02127830 arm_func_start func_ov15_02127830 func_ov15_02127830: ; 0x02127830 mov r0, #1 bx lr arm_func_end func_ov15_02127830 .global func_ov15_02127838 arm_func_start func_ov15_02127838 func_ov15_02127838: ; 0x02127838 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _021278b4 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xba 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, _021278b8 ; =data_ov15_02185cc4 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0xf000 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_0212627c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02127838 _021278b4: .word data_027e0f68 _021278b8: .word data_ov15_02185cc4 .global func_ov15_021278bc arm_func_start func_ov15_021278bc func_ov15_021278bc: ; 0x021278bc stmdb sp!, {r4, lr} ldr r1, _021278f0 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x84 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_021278f4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021278bc _021278f0: .word data_027e0f84 .global func_ov15_021278f4 arm_func_start func_ov15_021278f4 func_ov15_021278f4: ; 0x021278f4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc mov r1, #0 ldr r2, _0212798c ; =data_ov00_020e2748 ldr r0, _02127990 ; =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, _02127994 ; =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, _02127998 ; =data_ov15_0218a038 str r1, [r4, #0x54] mov r2, r1 mov r3, r1 add r0, r4, #0x60 str ip, [r4] blx func_ov00_020bd618 mov r1, #0 mov r2, #0x1000 mov r3, r1 add r0, r4, #0x6c str r2, [sp] blx func_ov00_0207a188 mov r1, #0 mov r0, r4 str r1, [r4, #0x80] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021278f4 _0212798c: .word data_ov00_020e2748 _02127990: .word data_ov00_020e2f04 _02127994: .word data_ov00_020e2e3c _02127998: .word data_ov15_0218a038 .global func_ov15_0212799c arm_func_start func_ov15_0212799c func_ov15_0212799c: ; 0x0212799c 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_ov15_0212799c .global func_ov15_021279c4 arm_func_start func_ov15_021279c4 func_ov15_021279c4: ; 0x021279c4 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_ov15_021279c4 .global func_ov15_021279f4 arm_func_start func_ov15_021279f4 func_ov15_021279f4: ; 0x021279f4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 ldr r1, _02127ae8 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xc mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, _02127aec ; =data_ov15_02185cd0 add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x28] mov lr, #0x3000 str r0, [r4, #0x70] ldr r1, [sp, #0x2c] mov r0, #0 bic r0, r0, #0x1f str r1, [r4, #0x74] orr r0, r0, #7 str r0, [sp, #4] ldr r0, [sp, #0x30] mov r1, #0x1800 str r0, [r4, #0x78] str lr, [r4, #0x7c] ldr r0, [r4, #0x1c] ldr ip, [r4, #0x20] ldr r2, [r4, #0x18] sub r3, r0, #0x1800 mov r0, r4 str ip, [sp, #0x24] str r3, [sp, #0x20] str r3, [sp, #0xc] str ip, [sp, #0x10] str r1, [sp, #0x14] str lr, [sp, #0x18] str r2, [sp, #0x1c] str r2, [sp, #8] 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, #0x10] 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, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021279f4 _02127ae8: .word data_027e0f68 _02127aec: .word data_ov15_02185cd0 .global func_ov15_02127af0 arm_func_start func_ov15_02127af0 func_ov15_02127af0: ; 0x02127af0 stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0] mov r5, r0 ldr r2, [r2, #0x84] mov r4, r1 blx r2 cmp r0, #0 beq _02127b24 mov r0, r5 bl func_ov15_02127ba8 add r0, r5, #0x18 bl func_ov15_0212b30c str r0, [r5, #0x1c] _02127b24: ldr r0, [r5, #0x80] cmp r0, #0x40000 ldmgtia sp!, {r3, r4, r5, pc} mov r1, r4 add r0, r5, #0x6c add r2, r5, #0x18 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02127af0 .global func_ov15_02127b44 arm_func_start func_ov15_02127b44 func_ov15_02127b44: ; 0x02127b44 mov r0, #0x31 bx lr arm_func_end func_ov15_02127b44 .global func_ov15_02127b4c arm_func_start func_ov15_02127b4c func_ov15_02127b4c: ; 0x02127b4c mov r0, #1 bx lr arm_func_end func_ov15_02127b4c .global func_ov15_02127b54 arm_func_start func_ov15_02127b54 func_ov15_02127b54: ; 0x02127b54 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, #0x60 ldr r2, [r0] add r1, r4, #0x18 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r4, pc} arm_func_end func_ov15_02127b54 .global func_ov15_02127b88 arm_func_start func_ov15_02127b88 func_ov15_02127b88: ; 0x02127b88 ldr r2, [r0, #0x80] cmp r2, #0x40000 movgt r0, #0 bxgt lr cmp r1, #0 ldrneb r0, [r0, #0x6d] ldreqb r0, [r0, #0x6c] bx lr arm_func_end func_ov15_02127b88 .global func_ov15_02127ba8 arm_func_start func_ov15_02127ba8 func_ov15_02127ba8: ; 0x02127ba8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02127bf0 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp] str r0, [sp, #4] ldr r0, [r1, #8] add r1, sp, #0 str r0, [sp, #8] ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] bl func_01ff9ec0 str r0, [r4, #0x80] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02127ba8 _02127bf0: .word data_027e0f94 .global func_ov15_02127bf4 arm_func_start func_ov15_02127bf4 func_ov15_02127bf4: ; 0x02127bf4 stmdb sp!, {r4, lr} ldr r1, _02127c28 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x8c ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_02127c2c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02127bf4 _02127c28: .word data_027e0f84 .global func_ov15_02127c2c arm_func_start func_ov15_02127c2c func_ov15_02127c2c: ; 0x02127c2c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc mov r1, #0 ldr r2, _02127cd0 ; =data_ov00_020e2748 ldr r0, _02127cd4 ; =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, _02127cd8 ; =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, _02127cdc ; =data_ov15_0218a0cc str r1, [r4, #0x54] mov r2, r1 mov r3, r1 add r0, r4, #0x60 str ip, [r4] blx func_ov00_020bd618 mov r1, #0 mov r2, #0x1000 mov r3, r1 add r0, r4, #0x6c str r2, [sp] blx func_ov00_0207a188 mov r1, #0 ldr r0, _02127ce0 ; =data_ov00_020e2f68 str r1, [r4, #0x80] str r0, [r4, #0x84] mov r0, r4 str r4, [r4, #0x88] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02127c2c _02127cd0: .word data_ov00_020e2748 _02127cd4: .word data_ov00_020e2f04 _02127cd8: .word data_ov00_020e2e3c _02127cdc: .word data_ov15_0218a0cc _02127ce0: .word data_ov00_020e2f68 .global func_ov15_02127ce4 arm_func_start func_ov15_02127ce4 func_ov15_02127ce4: ; 0x02127ce4 stmdb sp!, {r4, lr} ldr r1, _02127d34 ; =data_ov15_0218a0cc mov r4, r0 ldr r0, _02127d38 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x38 bl func_ov00_02093af0 mov r1, #0 add r0, r4, #0x84 str r1, [r4, #0x88] bl func_ov00_02081f6c 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} .align 2, 0 arm_func_end func_ov15_02127ce4 _02127d34: .word data_ov15_0218a0cc _02127d38: .word data_027e0f6c .global func_ov15_02127d3c arm_func_start func_ov15_02127d3c func_ov15_02127d3c: ; 0x02127d3c stmdb sp!, {r4, lr} ldr r1, _02127d94 ; =data_ov15_0218a0cc mov r4, r0 ldr r0, _02127d98 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x38 bl func_ov00_02093af0 mov r1, #0 add r0, r4, #0x84 str r1, [r4, #0x88] bl func_ov00_02081f6c 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} .align 2, 0 arm_func_end func_ov15_02127d3c _02127d94: .word data_ov15_0218a0cc _02127d98: .word data_027e0f6c .global func_ov15_02127d9c arm_func_start func_ov15_02127d9c func_ov15_02127d9c: ; 0x02127d9c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x34 mov r4, r0 ldr r0, _02127ee0 ; =data_027e0f68 ldrh r2, [r4, #0x24] ldr r0, [r0] mov r1, #0x13 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x60 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, _02127ee4 ; =data_ov15_02185ce8 add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x28] mov r1, #0x4000 str r0, [r4, #0x70] ldr r2, [sp, #0x2c] ldr r0, _02127ee8 ; =data_027e0e60 str r2, [r4, #0x74] ldr r2, [sp, #0x30] str r2, [r4, #0x78] str r1, [r4, #0x7c] ldrsh r1, [r4, #0x34] ldr r0, [r0] bl func_ov00_02084cc8 cmp r0, #0 beq _02127e38 mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, r1 blx r3 add sp, sp, #0x34 ldmia sp!, {r4, r5, pc} _02127e38: mov r0, #0 bic r5, r0, #0x1f ldr lr, [r4, #0x20] ldr r3, [r4, #0x18] ldr r2, [r4, #0x1c] ldr r0, _02127eec ; =0xffffd99a ldr r1, _02127ef0 ; =0x00004ccc add ip, r2, r0 orr r5, r5, #7 mov r2, #0x2000 mov r0, r4 str r5, [sp, #4] str r3, [sp, #0x1c] str ip, [sp, #0x20] str lr, [sp, #0x24] str r3, [sp, #8] str ip, [sp, #0xc] str lr, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_0208b9cc add r1, r4, #0x84 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr ip, [r0] mov r3, r5 ldr ip, [ip, #0x10] add r1, sp, #8 blx ip ldr r0, _02127ef4 ; =data_027e0f6c add r1, r4, #0x38 ldr r0, [r0] bl func_ov00_02093a5c mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 add sp, sp, #0x34 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02127d9c _02127ee0: .word data_027e0f68 _02127ee4: .word data_ov15_02185ce8 _02127ee8: .word data_027e0e60 _02127eec: .word 0xffffd99a _02127ef0: .word 0x00004ccc _02127ef4: .word data_027e0f6c .global func_ov15_02127ef8 arm_func_start func_ov15_02127ef8 func_ov15_02127ef8: ; 0x02127ef8 stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0] mov r5, r0 ldr r2, [r2, #0x84] mov r4, r1 blx r2 cmp r0, #0 beq _02127f2c mov r0, r5 bl func_ov15_021282e8 add r0, r5, #0x18 bl func_ov15_0212b30c str r0, [r5, #0x1c] _02127f2c: ldr r0, [r5, #0x80] cmp r0, #0x40000 ldmgtia sp!, {r3, r4, r5, pc} mov r1, r4 add r0, r5, #0x6c add r2, r5, #0x18 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02127ef8 .global func_ov15_02127f4c arm_func_start func_ov15_02127f4c func_ov15_02127f4c: ; 0x02127f4c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 str r1, [r5, #8] cmp r1, #0 beq _021281bc cmp r1, #1 bne _021281bc cmp r2, #0 bne _02128198 ldr r0, _021281c8 ; =data_027e0ffc ldr r1, _021281cc ; =0x0000020f add r2, r5, #0x18 mov r3, #0 bl func_ov00_020ceacc ldr r0, _021281d0 ; =data_027e1038 add r1, r5, #0x18 ldr r0, [r0] bl func_ov00_020cef10 add r0, r5, #0x18 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r5, #0x24] ldr r0, _021281d4 ; =data_ov15_02185cdc cmp r1, #0 ldr r4, [r0, r1, lsl #2] beq _02127fcc cmp r1, #1 beq _02128060 cmp r1, #2 b _021280f4 _02127fcc: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 mov r2, r3 ldr r0, [r0] mov r1, #0x30 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x31 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x32 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 mov r1, #0x33 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 b _02128184 _02128060: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 mov r2, r3 ldr r0, [r0] mov r1, #0x34 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x35 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x36 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 mov r1, #0x37 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 b _02128184 _021280f4: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x38 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x39 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x3a mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021281d8 ; =data_027e0e58 mov r1, #0x3b ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 _02128184: mov r2, #0 add r0, sp, #8 mov r1, r4 mov r3, r2 bl func_ov00_020c75f4 _02128198: ldr r0, _021281dc ; =data_027e0e60 ldrsh r1, [r5, #0x34] ldr r0, [r0] mov r2, #1 bl func_ov00_02084cb0 ldr r0, [r5, #4] bic r0, r0, #1 bic r0, r0, #8 str r0, [r5, #4] _021281bc: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02127f4c _021281c8: .word data_027e0ffc _021281cc: .word 0x0000020f _021281d0: .word data_027e1038 _021281d4: .word data_ov15_02185cdc _021281d8: .word data_027e0e58 _021281dc: .word data_027e0e60 .global func_ov15_021281e0 arm_func_start func_ov15_021281e0 func_ov15_021281e0: ; 0x021281e0 mov r0, #0x39 bx lr arm_func_end func_ov15_021281e0 .global func_ov15_021281e8 arm_func_start func_ov15_021281e8 func_ov15_021281e8: ; 0x021281e8 mov r0, #1 bx lr arm_func_end func_ov15_021281e8 .global func_ov15_021281f0 arm_func_start func_ov15_021281f0 func_ov15_021281f0: ; 0x021281f0 mov r0, #0 bx lr arm_func_end func_ov15_021281f0 .global func_ov15_021281f8 arm_func_start func_ov15_021281f8 func_ov15_021281f8: ; 0x021281f8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} cmp r1, #7 addls pc, pc, r1, lsl #2 b _02128244 _0212821c: ; jump table b _02128284 ; case 0 b _02128284 ; case 1 b _02128284 ; case 2 b _02128284 ; case 3 b _02128284 ; case 4 b _02128244 ; case 5 b _02128244 ; case 6 b _0212823c ; case 7 _0212823c: mov r0, #0 ldmia sp!, {r4, pc} _02128244: ldr r0, _0212828c ; =data_027e0fe4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r1, [r0, #4] ldr r0, _02128290 ; =0x434e424c cmp r1, r0 bne _02128284 mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 _02128284: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021281f8 _0212828c: .word data_027e0fe4 _02128290: .word 0x434e424c .global func_ov15_02128294 arm_func_start func_ov15_02128294 func_ov15_02128294: ; 0x02128294 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, #0x60 ldr r2, [r0] add r1, r4, #0x18 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r4, pc} arm_func_end func_ov15_02128294 .global func_ov15_021282c8 arm_func_start func_ov15_021282c8 func_ov15_021282c8: ; 0x021282c8 ldr r2, [r0, #0x80] cmp r2, #0x40000 movgt r0, #0 bxgt lr cmp r1, #0 ldrneb r0, [r0, #0x6d] ldreqb r0, [r0, #0x6c] bx lr arm_func_end func_ov15_021282c8 .global func_ov15_021282e8 arm_func_start func_ov15_021282e8 func_ov15_021282e8: ; 0x021282e8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02128330 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp] str r0, [sp, #4] ldr r0, [r1, #8] add r1, sp, #0 str r0, [sp, #8] ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] bl func_01ff9ec0 str r0, [r4, #0x80] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021282e8 _02128330: .word data_027e0f94 .global func_ov15_02128334 arm_func_start func_ov15_02128334 func_ov15_02128334: ; 0x02128334 stmdb sp!, {r4, lr} ldr r1, _02128368 ; =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_ov15_0212836c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02128334 _02128368: .word data_027e0f84 .global func_ov15_0212836c arm_func_start func_ov15_0212836c func_ov15_0212836c: ; 0x0212836c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_0208b5bc ldr r1, _0212843c ; =data_ov00_020e2748 ldr r0, _02128440 ; =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, _02128444 ; =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, _02128448 ; =data_ov15_0218a178 str r2, [r4, #0x54] ldr r0, _0212844c ; =data_027e0f68 str r1, [r4] ldr r0, [r0] mov r1, #0x14 bl func_ov00_0208ccdc mov r2, #0 mov r1, r0 mov r3, r2 add r0, r4, #0x60 blx func_ov00_020bd618 mov r1, #0 mov r2, #0x1000 str r2, [sp] add r0, r4, #0x6c mov r3, r1 blx func_ov00_0207a188 mov r0, #0 str r0, [r4, #0x80] str r0, [r4, #0x84] str r0, [r4, #0x88] str r0, [r4, #0x8c] str r0, [r4, #0x90] strh r0, [r4, #0x94] strh r0, [r4, #0x96] sub r0, r0, #1 str r0, [r4, #0x98] str r0, [r4, #0x9c] mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212836c _0212843c: .word data_ov00_020e2748 _02128440: .word data_ov00_020e2f04 _02128444: .word data_ov00_020e2e3c _02128448: .word data_ov15_0218a178 _0212844c: .word data_027e0f68 .global func_ov15_02128450 arm_func_start func_ov15_02128450 func_ov15_02128450: ; 0x02128450 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_ov15_02128450 .global func_ov15_02128478 arm_func_start func_ov15_02128478 func_ov15_02128478: ; 0x02128478 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_ov15_02128478 .global func_ov15_021284a8 arm_func_start func_ov15_021284a8 func_ov15_021284a8: ; 0x021284a8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x7c ldr r1, _02128654 ; =data_027e0764 mov r2, #0 ldr r4, [r1] ldmib r1, {r3, r5} umull lr, ip, r5, r4 mla ip, r5, r3, ip ldr r3, [r1, #0xc] ldr r5, [r1, #0x10] mla ip, r3, r4, ip ldr r3, [r1, #0x14] adds r4, r5, lr str r4, [r1] adc r3, r3, ip mov r4, r0 bic r0, r2, #0x1f orr r5, r0, #7 str r3, [r1, #4] mov r1, r3, lsr #0x10 ldr r0, _02128658 ; =data_ov15_02185cf4 strh r1, [r4, #0xc] add r3, sp, #0x70 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x70] mov r2, #0x4000 str r0, [r4, #0x70] ldr r1, [sp, #0x74] ldr r0, _0212865c ; =0xffffeccd str r1, [r4, #0x74] ldr r3, [sp, #0x78] ldr r1, _02128660 ; =0x00002666 str r3, [r4, #0x78] str r2, [r4, #0x7c] ldr r2, [r4, #0x1c] ldr lr, [r4, #0x20] ldr r3, [r4, #0x18] add ip, r2, r0 mov r2, #0x800 mov r0, r4 str r5, [sp, #4] str r3, [sp, #0x64] str ip, [sp, #0x68] str lr, [sp, #0x6c] str r3, [sp, #0x14] str ip, [sp, #0x18] str lr, [sp, #0x1c] str r2, [sp, #0x20] str r1, [sp, #0x24] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr ip, [r0] add r1, sp, #0x14 ldr ip, [ip, #0x10] mov r3, r5 blx ip mov r0, #0 strb r0, [r4, #0x3c] add r0, sp, #0x38 bl func_ov00_020c1500 mvn r0, #0 str r0, [sp, #0x54] str r0, [sp, #0x58] add r0, sp, #0x38 bl func_ov00_020c3348 add r0, r4, #0x98 str r0, [sp] ldr r0, _02128664 ; =data_027e0fe8 ldr r1, _02128668 ; =0x4c4f4e44 ldr r0, [r0] add r2, r4, #0x18 add r3, sp, #0x38 bl func_ov00_020c4048 ldr r0, _0212866c ; =data_027e0fe4 add r1, r4, #0x98 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r2, #2 mov r1, #0 str r2, [r0, #0x12c] str r1, [r0, #0x7c] str r1, [r0, #0x80] mov ip, #0x800 str r1, [r0, #0x84] str ip, [r0, #0x88] ldr r2, [r0, #0x7c] str r1, [sp, #0x28] str r2, [r0, #0xa8] ldr r3, [r0, #0x80] mov r2, #1 str r3, [r0, #0xac] ldr r3, [r0, #0x84] str r1, [sp, #0x2c] str r3, [r0, #0xb0] str ip, [r0, #0xb4] mov r0, r4 ldr r3, [r0] str r1, [sp, #0x30] ldr r3, [r3, #0x80] str ip, [sp, #0x34] blx r3 add sp, sp, #0x7c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021284a8 _02128654: .word data_027e0764 _02128658: .word data_ov15_02185cf4 _0212865c: .word 0xffffeccd _02128660: .word 0x00002666 _02128664: .word data_027e0fe8 _02128668: .word 0x4c4f4e44 _0212866c: .word data_027e0fe4 .global func_ov15_02128670 arm_func_start func_ov15_02128670 func_ov15_02128670: ; 0x02128670 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, [r0] mov r6, r0 ldr r2, [r2, #0x84] mov r5, r1 blx r2 cmp r0, #0 beq _02128894 mov r0, r6 bl func_ov15_02128d8c ldr r0, [r6, #0x80] cmp r0, #0x20000 bge _02128888 ldr r0, _021288b4 ; =data_027e0e60 add r1, r6, #0x18 ldr r0, [r0] ldr r7, [r6, #0x1c] mov r2, #1 bl func_ov00_02083ee0 mov r1, r0 subs r4, r1, r7 rsbmi r4, r4, #0 cmp r4, #0x1000 movge r7, r1 strge r1, [r6, #0x1c] mvn r0, #0x80000000 str r0, [sp] add r0, r6, #0x88 sub r1, r1, r7 mov r2, #0x52 mov r3, #0 bl func_0202b418 cmp r4, #0xf6 ldr r1, [r6, #0x1c] ldr r0, [r6, #0x88] movge r4, #0xf6 add r0, r1, r0 str r0, [r6, #0x1c] mov r1, #0x64000 umull r3, r2, r4, r1 mov r0, #0 mla r2, r4, r0, r2 mov r0, r4, asr #0x1f mla r2, r0, r1, r2 adds r3, r3, #0x800 adc r1, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 mov r3, r2, asr #0xc ldr r2, [r6, #0x8c] add r1, r3, #0x320 add r1, r2, r1 str r1, [r6, #0x8c] add r1, r3, #0x1f4 ldr r2, [r6, #0x90] mov r3, #0 add r1, r2, r1 str r1, [r6, #0x90] ldr r2, [r6, #0x8c] ldr r1, _021288b8 ; =0x0000ffff cmp r2, r1 rsbhs r1, r1, #0 addhs r1, r2, r1 strhs r1, [r6, #0x8c] ldr r2, [r6, #0x90] ldr r1, _021288b8 ; =0x0000ffff cmp r2, r1 rsbhs r1, r1, #0 addhs r1, r2, r1 strhs r1, [r6, #0x90] ldr r1, _021288bc ; =0x04e20000 umull ip, r2, r4, r1 mla r2, r4, r3, r2 mla r2, r0, r1, r2 adds r4, ip, #0x800 adc r0, r2, #0 mov r2, r4, lsr #0xc orr r2, r2, r0, lsl #20 ldr r0, _021288c0 ; =0x00001b33 mov r1, r2, asr #0x1f umull ip, r4, r2, r0 mla r4, r2, r3, r4 mla r4, r1, r0, r4 adds ip, ip, #0x800 adc r2, r4, #0 mov r1, ip, lsr #0xc orr r1, r1, r2, lsl #20 ldr r0, [r6, #0x84] mov r2, #0x800 cmp r0, r1 bgt _021287f0 sub r4, r3, #0x80000001 add r0, r6, #0x84 str r4, [sp] bl func_0202b418 b _02128800 _021287f0: mov r1, r3 add r0, r6, #0x84 mov r2, #0xa000 bl Approach_thunk _02128800: ldr r1, [r6, #0x84] ldr r0, _021288c4 ; =0x01194000 ldr r2, _021288c8 ; =data_02050f54 cmp r1, r0 strge r0, [r6, #0x84] ldr r0, [r6, #0x8c] ldr r1, [r6, #0x84] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [r2, r0] smull r3, r0, r1, r0 adds r1, r3, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, r1, asr #0xc strh r0, [r6, #0x94] ldr r0, [r6, #0x90] ldr r1, [r6, #0x84] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [r2, r0] smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, r1, asr #0xc strh r0, [r6, #0x96] b _02128894 _02128888: add r0, r6, #0x18 bl func_ov15_0212b30c str r0, [r6, #0x1c] _02128894: ldr r0, [r6, #0x80] cmp r0, #0x40000 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} mov r1, r5 add r0, r6, #0x6c add r2, r6, #0x18 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02128670 _021288b4: .word data_027e0e60 _021288b8: .word 0x0000ffff _021288bc: .word 0x04e20000 _021288c0: .word 0x00001b33 _021288c4: .word 0x01194000 _021288c8: .word data_02050f54 .global func_ov15_021288cc arm_func_start func_ov15_021288cc func_ov15_021288cc: ; 0x021288cc stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 mov r4, r0 str r1, [r4, #8] cmp r1, #0 beq _02128b60 cmp r1, #1 bne _02128b60 ldr r0, _02128b6c ; =data_027e0fe4 add r1, r4, #0x98 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x118] add r0, sp, #8 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] str r1, [sp, #0x28] bl func_ov00_020c3348 mov r2, #4 mov r1, #0 mov r0, #1 strh r2, [sp, #8] strh r0, [sp, #0xe] strh r1, [sp, #0xc] str r1, [sp] ldr r0, _02128b70 ; =data_027e0fe8 ldr r1, _02128b74 ; =0x43424c53 ldr r0, [r0] add r3, sp, #8 add r2, r4, #0x18 bl func_ov00_020c4048 ldr r0, _02128b78 ; =data_027e0ffc ldr r1, _02128b7c ; =0x0000020e add r2, r4, #0x18 mov r3, #0 bl func_ov00_020ceacc bl func_ov15_0215b780 mov r1, #0 cmp r0, #0 mov r3, #4 str r1, [sp] beq _02128a0c ldr r0, _02128b80 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x18 mov r1, #0x45 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 add r2, r4, #0x18 ldr r0, [r0] mov r1, #0x46 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 add r2, r4, #0x18 ldr r0, [r0] mov r1, #0x47 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 mov r1, #0x48 ldr r0, [r0] add r2, r4, #0x18 mov r3, #4 bl func_ov00_0207c1b0 b _02128ad8 _02128a0c: ldr r0, _02128b80 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x18 mov r1, #0x3f bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 add r2, r4, #0x18 ldr r0, [r0] mov r1, #0x40 mov r3, #4 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 add r2, r4, #0x18 ldr r0, [r0] mov r1, #0x41 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 mov r1, #0x42 ldr r0, [r0] add r2, r4, #0x18 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 mov r1, #0x43 ldr r0, [r0] add r2, r4, #0x18 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02128b80 ; =data_027e0e58 mov r1, #0x44 ldr r0, [r0] add r2, r4, #0x18 mov r3, #4 bl func_ov00_0207c1b0 _02128ad8: ldr r0, _02128b84 ; =data_027e0e60 add r1, r4, #0x18 ldr r0, [r0] mov r2, #0 bl func_ov00_02083ee0 str r0, [r4, #0x1c] ldr r0, [r4, #0x80] cmp r0, #0x3000 blt _02128b0c ldr r1, _02128b88 ; =0x00001333 add r0, r4, #0x18 mov r2, #0 bl func_ov00_020c74a8 _02128b0c: mov r2, #0 mov r3, r2 add r0, r4, #0x18 mov r1, #0x1000 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] ldr r0, _02128b80 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x18 mov r1, #0x3d mov r3, #4 bl func_ov00_0207c1b0 ldrh r1, [r4, #0x24] mov r0, r4 and r1, r1, #0xff bl func_ov00_0208c4f8 ldr r0, [r4, #4] bic r0, r0, #1 str r0, [r4, #4] _02128b60: mov r0, #1 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021288cc _02128b6c: .word data_027e0fe4 _02128b70: .word data_027e0fe8 _02128b74: .word 0x43424c53 _02128b78: .word data_027e0ffc _02128b7c: .word 0x0000020e _02128b80: .word data_027e0e58 _02128b84: .word data_027e0e60 _02128b88: .word 0x00001333 .global func_ov15_02128b8c arm_func_start func_ov15_02128b8c func_ov15_02128b8c: ; 0x02128b8c mov r0, #0x3a bx lr arm_func_end func_ov15_02128b8c .global func_ov15_02128b94 arm_func_start func_ov15_02128b94 func_ov15_02128b94: ; 0x02128b94 mov r0, #1 bx lr arm_func_end func_ov15_02128b94 .global func_ov15_02128b9c arm_func_start func_ov15_02128b9c func_ov15_02128b9c: ; 0x02128b9c stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #4 addls pc, pc, r1, lsl #2 b _02128bdc _02128bb0: ; jump table b _02128bc4 ; case 0 b _02128c1c ; case 1 b _02128c1c ; case 2 b _02128c1c ; case 3 b _02128c1c ; case 4 _02128bc4: ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 b _02128c1c _02128bdc: ldr r0, _02128c24 ; =data_027e0fe4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r1, [r0, #4] ldr r0, _02128c28 ; =0x434e424c cmp r1, r0 bne _02128c1c mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 _02128c1c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02128b9c _02128c24: .word data_027e0fe4 _02128c28: .word 0x434e424c .global func_ov15_02128c2c arm_func_start func_ov15_02128c2c func_ov15_02128c2c: ; 0x02128c2c stmdb sp!, {r4, lr} sub sp, sp, #0x90 ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x88] blx r2 cmp r0, #0 addeq sp, sp, #0x90 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x80] ldrh r1, [r4, #0xc] cmp r0, #0x20000 bge _02128d20 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 ldr r3, _02128d68 ; =data_02050f54 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] add r0, sp, #0x6c blx func_01ff8214 ldrh r1, [r4, #0x94] ldr r3, _02128d68 ; =data_02050f54 add r0, sp, #0x48 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_01ff81f8 add r0, sp, #0x6c add r1, sp, #0x48 mov r2, r0 bl func_01ff8690 ldrh r1, [r4, #0x96] ldr r3, _02128d68 ; =data_02050f54 add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 mov r1, r1, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8230 add r0, sp, #0x6c add r1, sp, #0x24 mov r2, r0 bl func_01ff8690 add r0, r4, #0x60 ldr r3, [r0] add r2, r4, #0x18 ldr r3, [r3, #0x14] add r1, sp, #0x6c blx r3 add sp, sp, #0x90 ldmia sp!, {r4, pc} _02128d20: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 ldr r3, _02128d68 ; =data_02050f54 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] add r0, sp, #0 blx func_01ff8214 add r0, r4, #0x60 ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, r4, #0x18 blx r3 add sp, sp, #0x90 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02128c2c _02128d68: .word data_02050f54 .global func_ov15_02128d6c arm_func_start func_ov15_02128d6c func_ov15_02128d6c: ; 0x02128d6c ldr r2, [r0, #0x80] cmp r2, #0x40000 movgt r0, #0 bxgt lr cmp r1, #0 ldrneb r0, [r0, #0x6d] ldreqb r0, [r0, #0x6c] bx lr arm_func_end func_ov15_02128d6c .global func_ov15_02128d8c arm_func_start func_ov15_02128d8c func_ov15_02128d8c: ; 0x02128d8c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02128dd4 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp] str r0, [sp, #4] ldr r0, [r1, #8] add r1, sp, #0 str r0, [sp, #8] ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] bl func_01ff9ec0 str r0, [r4, #0x80] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02128d8c _02128dd4: .word data_027e0f94 .global func_ov15_02128dd8 arm_func_start func_ov15_02128dd8 func_ov15_02128dd8: ; 0x02128dd8 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov04_0210be04 ldr r1, _02128e7c ; =data_ov15_0218a250 ldr r0, _02128e80 ; =data_027e0ce0 str r1, [r4] ldr r1, [r0, #4] mov r0, #0xc mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02128e10 mov r1, r4 bl func_ov15_0212c3b8 _02128e10: ldr r1, _02128e80 ; =data_027e0ce0 str r0, [r4, #0x198] ldr r1, [r1, #4] mov r0, #0x1c4 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02128e38 mov r1, r4 bl func_ov15_021416c4 _02128e38: str r0, [r4, #0x19c] mov r2, #0 str r2, [r4, #0x1a0] str r2, [r4, #0x1a4] str r2, [r4, #0x1a8] add r0, r4, #0x100 strh r2, [r0, #0xac] mov r1, r2 _02128e58: add r0, r4, r2, lsl #2 add r2, r2, #1 str r1, [r0, #0x188] cmp r2, #4 blo _02128e58 ldr r0, [r4, #0x198] bl func_ov15_0212c4cc mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02128dd8 _02128e7c: .word data_ov15_0218a250 _02128e80: .word data_027e0ce0 .global func_ov15_02128e84 arm_func_start func_ov15_02128e84 func_ov15_02128e84: ; 0x02128e84 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02128f48 ; =data_ov15_0218a250 mov r5, r0 mov r4, #0 ldr r6, _02128f4c ; =data_027e0f6c str r1, [r5] mov r7, r4 _02128ea0: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x188] cmp r1, #0 beq _02128edc ldr r0, [r6] bl func_ov00_02093af0 add r0, r5, r4, lsl #2 ldr r0, [r0, #0x188] cmp r0, #0 beq _02128ed4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02128ed4: add r0, r5, r4, lsl #2 str r7, [r0, #0x188] _02128edc: add r4, r4, #1 cmp r4, #4 blo _02128ea0 ldr r4, [r5, #0x19c] cmp r4, #0 beq _02128f10 beq _02128f08 mov r0, r4 bl func_ov15_021417b8 mov r0, r4 bl _ZN9SysObjectdlEPv _02128f08: mov r0, #0 str r0, [r5, #0x19c] _02128f10: ldr r4, [r5, #0x198] cmp r4, #0 beq _02128f38 beq _02128f30 mov r0, r4 bl func_ov15_0212c420 mov r0, r4 bl _ZN9SysObjectdlEPv _02128f30: mov r0, #0 str r0, [r5, #0x198] _02128f38: mov r0, r5 bl func_ov00_0207da38 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02128e84 _02128f48: .word data_ov15_0218a250 _02128f4c: .word data_027e0f6c .global func_ov15_02128f50 arm_func_start func_ov15_02128f50 func_ov15_02128f50: ; 0x02128f50 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0212901c ; =data_ov15_0218a250 mov r5, r0 mov r4, #0 ldr r6, _02129020 ; =data_027e0f6c str r1, [r5] mov r7, r4 _02128f6c: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x188] cmp r1, #0 beq _02128fa8 ldr r0, [r6] bl func_ov00_02093af0 add r0, r5, r4, lsl #2 ldr r0, [r0, #0x188] cmp r0, #0 beq _02128fa0 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02128fa0: add r0, r5, r4, lsl #2 str r7, [r0, #0x188] _02128fa8: add r4, r4, #1 cmp r4, #4 blo _02128f6c ldr r4, [r5, #0x19c] cmp r4, #0 beq _02128fdc beq _02128fd4 mov r0, r4 bl func_ov15_021417b8 mov r0, r4 bl _ZN9SysObjectdlEPv _02128fd4: mov r0, #0 str r0, [r5, #0x19c] _02128fdc: ldr r4, [r5, #0x198] cmp r4, #0 beq _02129004 beq _02128ffc mov r0, r4 bl func_ov15_0212c420 mov r0, r4 bl _ZN9SysObjectdlEPv _02128ffc: mov r0, #0 str r0, [r5, #0x198] _02129004: mov r0, r5 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_ov15_02128f50 _0212901c: .word data_ov15_0218a250 _02129020: .word data_027e0f6c .global func_ov15_02129024 arm_func_start func_ov15_02129024 func_ov15_02129024: ; 0x02129024 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x128 sub sp, sp, #0x400 ldrb ip, [sp, #0x544] mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 cmp ip, #0 bne _02129058 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 _02129058: mov r0, r7 blx func_ov04_0210cb1c add r3, sp, #0x400 add r3, r3, #0xa8 mov r0, r7 mov r2, r6 add r1, r4, #0xc bl func_ov00_0207dda0 mov r0, #0x10 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r1, _02129234 ; =data_027e0ce0 ldr r0, _02129238 ; =data_ov00_020e233c add r3, sp, #0x400 ldr r2, [r0] ldr r1, [r1, #4] mov r0, #0x99 add r3, r3, #0xa8 blx func_0202d598 str r0, [r7, #0x148] mov r0, r7 mov r1, r6 mov r2, r4 bl func_ov00_0207dce4 mov r0, r7 mov r1, #0 bl func_ov00_0207ddf8 add r0, sp, #8 mov r1, r4 mov r2, r6 bl func_ov00_0207cb7c strb r6, [r7, #0x13] ldrb r3, [sp, #9] ldrb r2, [sp, #8] mov r0, r7 mov r1, r4 strb r2, [r7, #0x14] strb r3, [r7, #0x15] str r5, [r7, #0x24] ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, #0 str r0, [sp] add r3, sp, #0x400 ldr r2, [r7, #0x24] mov r0, r4 mov r1, r6 add r3, r3, #0xa8 bl func_ov00_0207ce20 mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x400 add r0, r0, #0xa8 add r1, sp, #0xc blx func_0202d5ec ldr r1, [sp, #0xc] str r0, [sp, #0x90] mov r0, #0 str r1, [sp, #0x94] strh r0, [sp, #0x98] strh r0, [sp, #0x9a] strh r0, [sp, #0x9c] str r0, [sp, #0xa0] strh r0, [sp, #0xa4] add r0, sp, #0x90 mov r1, r7 blx func_ov04_02108a04 mov r0, #1 str r0, [sp] ldr r2, [r7, #0x24] mov r0, r4 mov r1, r6 add r3, sp, #0x10 bl func_ov00_0207ce20 ldr r0, _0212923c ; =data_027e0f6c add r1, sp, #0x10 ldr r0, [r0] mov r2, r7 blx func_ov04_02102748 mov r0, r7 mov r1, r4 blx func_ov04_0210cc20 mov r0, r4 mov r1, r6 mov r2, #1 bl func_ov00_0207ca78 mov r0, r7 ldr r1, [r0] ldr r1, [r1, #0x14] blx r1 mov r0, #3 str r0, [sp] add r3, sp, #0x400 ldr r2, [r7, #0x24] mov r1, r6 mov r0, r4 add r3, r3, #0xa8 bl func_ov00_0207ce20 ldr r0, _02129240 ; =data_027e103c add r1, sp, #0x400 ldr r0, [r0] add r1, r1, #0xa8 bl func_ov00_020cf13c ldrb r0, [sp, #0x540] cmp r0, #0 beq _02129210 mov r0, r4 bl func_ov00_0207d7bc _02129210: mov r0, r7 mov r1, r4 bl func_ov15_0212925c mov r0, r7 mov r1, #0 bl func_ov00_0207dea0 add sp, sp, #0x128 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02129024 _02129234: .word data_027e0ce0 _02129238: .word data_ov00_020e233c _0212923c: .word data_027e0f6c _02129240: .word data_027e103c .global func_ov15_02129244 arm_func_start func_ov15_02129244 func_ov15_02129244: ; 0x02129244 mov r0, #1 bx lr arm_func_end func_ov15_02129244 .global func_ov15_0212924c arm_func_start func_ov15_0212924c func_ov15_0212924c: ; 0x0212924c mov r0, #0xe800 bx lr arm_func_end func_ov15_0212924c .global func_ov15_02129254 arm_func_start func_ov15_02129254 func_ov15_02129254: ; 0x02129254 mov r0, #0xe800 bx lr arm_func_end func_ov15_02129254 .global func_ov15_0212925c arm_func_start func_ov15_0212925c func_ov15_0212925c: ; 0x0212925c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x74 ldr r2, _021296c0 ; =data_027e0e60 mov r9, r0 ldr r0, [r2] mov r8, r1 add r1, sp, #0x68 bl func_ov00_0208340c ldr r0, _021296c0 ; =data_027e0e60 add r1, sp, #0x5c ldr r0, [r0] bl func_ov00_0208342c ldr r0, _021296c0 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02083374 ldr r1, _021296c0 ; =data_027e0e60 mov r11, r0 ldr r0, [r1] bl func_ov00_02083384 ldr r3, [sp, #0x70] ldr r2, [sp, #0x5c] add r3, r3, #0xe800 sub r2, r2, #0xe800 ldr r4, [sp, #0x68] mov r10, r0 add r0, r4, #0xe800 ldr r1, [sp, #0x64] str r0, [sp, #0x68] sub r0, r1, #0xe800 str r0, [sp, #0x64] mvn r0, #1 str r0, [sp, #4] mov r0, r0, lsl #0xe str r0, [sp, #0xc] ldr r0, [sp, #4] str r3, [sp, #0x70] mov r4, r0, lsl #0xc mov r0, r0, lsl #0xd str r2, [sp, #0x5c] mov r7, #0 str r0, [sp, #8] _02129300: mov r0, r8 mov r1, r7 bl func_ov00_0207d634 cmp r0, #0 beq _021296ac ldr r1, _021296c4 ; =data_027e0ce0 mov r0, #0x2c ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0212935c ldr r1, _021296c8 ; =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, _021296cc ; =data_ov00_020e2dd8 str r1, [r0] _0212935c: add r1, r9, r7, lsl #2 str r0, [r1, #0x188] mov r0, r8 mov r1, r7 bl func_ov00_0207d6ec mov r1, #0 str r1, [sp, #0x10] mov r1, #0x47 str r1, [sp, #0x14] mov r1, #0 str r1, [sp, #0x18] str r1, [sp, #0x1c] ldr r1, [sp, #4] mov r5, #0x2000 str r1, [sp, #0x20] mov r1, #0 strh r1, [sp, #0x24] mov r1, #0xff strb r1, [sp, #0x26] mov r1, #0 strb r1, [sp, #0x27] strb r1, [sp, #0x28] strb r1, [sp, #0x29] ldr r1, [r8] mov r6, r5 strb r0, [sp, #0x26] mov r0, #0xfe str r1, [sp, #0x14] str r0, [sp, #0x18] mov r0, r8 mov r1, r7 bl func_ov00_0207d634 cmp r0, #0 beq _021293f8 mov r0, r9 ldrb r1, [sp, #0x26] bl func_ov15_021296d4 cmp r0, #0 bne _02129400 _021293f8: mov r5, #0x800 mov r6, #0x4800 _02129400: cmp r7, #3 addls pc, pc, r7, lsl #2 b _02129598 _0212940c: ; jump table b _0212941c ; case 0 b _0212947c ; case 1 b _021294dc ; case 2 b _0212953c ; case 3 _0212941c: mov r0, #0xfe strb r0, [sp, #0x27] mov r0, #0x4000 strh r0, [sp, #0x24] mov r0, #0x5000 str r0, [sp, #0x48] str r0, [sp, #0x3c] ldr r0, [sp, #0x5c] ldr r2, [sp, #0x64] sub r1, r0, r5 add r0, r0, r6 str r1, [sp, #0x50] str r1, [sp, #0x2c] sub r1, r2, r10 str r0, [sp, #0x44] str r0, [sp, #0x38] add r0, r2, #0xe800 str r4, [sp, #0x54] str r4, [sp, #0x30] str r1, [sp, #0x58] str r1, [sp, #0x34] str r0, [sp, #0x4c] str r0, [sp, #0x40] b _02129598 _0212947c: mov r0, #0xfd strb r0, [sp, #0x27] ldr r0, [sp, #8] ldr r2, [sp, #0x70] strh r0, [sp, #0x24] mov r0, #0x5000 str r0, [sp, #0x48] str r0, [sp, #0x3c] ldr r0, [sp, #0x68] str r4, [sp, #0x54] sub r1, r0, r6 add r0, r0, r5 str r1, [sp, #0x50] str r1, [sp, #0x2c] sub r1, r2, #0xe800 str r0, [sp, #0x44] str r0, [sp, #0x38] add r0, r2, r10 str r4, [sp, #0x30] str r1, [sp, #0x58] str r1, [sp, #0x34] str r0, [sp, #0x4c] str r0, [sp, #0x40] b _02129598 _021294dc: mov r0, #0xfc strb r0, [sp, #0x27] mov r0, #0 ldr r2, [sp, #0x64] strh r0, [sp, #0x24] sub r3, r2, r5 mov r0, #0x5000 add r2, r2, r6 ldr r1, [sp, #0x5c] str r0, [sp, #0x48] str r0, [sp, #0x3c] sub r0, r1, r11 add r1, r1, #0xe800 str r4, [sp, #0x54] str r4, [sp, #0x30] str r0, [sp, #0x50] str r0, [sp, #0x2c] str r3, [sp, #0x58] str r3, [sp, #0x34] str r1, [sp, #0x44] str r1, [sp, #0x38] str r2, [sp, #0x4c] str r2, [sp, #0x40] b _02129598 _0212953c: mov r0, #0xfb strb r0, [sp, #0x27] ldr r0, [sp, #0xc] ldr r2, [sp, #0x70] strh r0, [sp, #0x24] sub r3, r2, r6 mov r0, #0x5000 add r2, r2, r5 ldr r1, [sp, #0x68] str r0, [sp, #0x48] str r0, [sp, #0x3c] sub r0, r1, #0xe800 add r1, r1, r11 str r4, [sp, #0x54] str r4, [sp, #0x30] str r0, [sp, #0x50] str r0, [sp, #0x2c] str r3, [sp, #0x58] str r3, [sp, #0x34] str r1, [sp, #0x44] str r1, [sp, #0x38] str r2, [sp, #0x4c] str r2, [sp, #0x40] _02129598: mov r0, r8 mov r1, r7 bl func_ov00_0207d634 cmp r0, #0 beq _021295ec mov r0, r9 ldrb r1, [sp, #0x26] bl func_ov15_021296d4 cmp r0, #0 beq _021295ec mov r0, r9 add r1, sp, #0x14 mov r5, #4 bl func_ov00_02080140 ldr r1, [sp, #0x10] strb r0, [sp, #0x28] and r0, r0, #0xff bic r1, r1, #0x3f0000 orr r0, r1, r0, lsl #16 str r0, [sp, #0x10] b _0212960c _021295ec: ldr r1, [sp, #0x10] mov r0, #0 strb r0, [sp, #0x28] mov r0, r0 bic r1, r1, #0x3f0000 orr r0, r1, r0, lsl #16 mov r5, #3 str r0, [sp, #0x10] _0212960c: mov r0, #0 str r0, [sp] ldr r1, [sp, #0x10] add r0, r9, r7, lsl #2 bic r1, r1, #0x1f orr r1, r1, #2 orr r1, r1, #0x8000 bic r1, r1, #0x6000 orr r3, r1, #0x21c00000 ldr r0, [r0, #0x188] mov r2, r5 ldr r5, [r0] add r1, sp, #0x2c ldr r5, [r5, #0x14] str r3, [sp, #0x10] blx r5 ldr r0, _021296d0 ; =data_027e0f6c add r1, r9, r7, lsl #2 ldr r0, [r0] ldr r1, [r1, #0x188] bl func_ov00_02093a5c mov r0, r8 mov r1, r7 bl func_ov00_0207d634 cmp r0, #0 beq _0212969c mov r0, r9 ldrb r1, [sp, #0x26] bl func_ov15_021296d4 cmp r0, #0 beq _0212969c add r0, r9, r7, lsl #2 ldr r1, [r0, #0x188] mov r0, #0 strb r0, [r1, #4] b _021296ac _0212969c: add r0, r9, r7, lsl #2 ldr r1, [r0, #0x188] mov r0, #1 strb r0, [r1, #4] _021296ac: add r7, r7, #1 cmp r7, #4 blt _02129300 add sp, sp, #0x74 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212925c _021296c0: .word data_027e0e60 _021296c4: .word data_027e0ce0 _021296c8: .word data_ov00_020e2f04 _021296cc: .word data_ov00_020e2dd8 _021296d0: .word data_027e0f6c .global func_ov15_021296d4 arm_func_start func_ov15_021296d4 func_ov15_021296d4: ; 0x021296d4 stmdb sp!, {r4, lr} ldr r0, _0212976c ; =data_027e0d38 mov r4, r1 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} cmp r4, #3 addls pc, pc, r4, lsl #2 b _02129764 _02129704: ; jump table b _02129714 ; case 0 b _02129728 ; case 1 b _0212973c ; case 2 b _02129750 ; case 3 _02129714: ldr r0, _02129770 ; =gItemManager mov r1, #0x21 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldmia sp!, {r4, pc} _02129728: ldr r0, _02129770 ; =gItemManager mov r1, #0x22 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldmia sp!, {r4, pc} _0212973c: ldr r0, _02129770 ; =gItemManager mov r1, #0x23 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldmia sp!, {r4, pc} _02129750: ldr r0, _02129770 ; =gItemManager mov r1, #0x24 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldmia sp!, {r4, pc} _02129764: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021296d4 _0212976c: .word data_027e0d38 _02129770: .word gItemManager .global func_ov15_02129774 arm_func_start func_ov15_02129774 func_ov15_02129774: ; 0x02129774 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 blx func_ov04_0210bfa8 ldr r0, [r4, #0x19c] bl func_ov15_02141920 ldr r3, _02129840 ; =data_027e0764 ldr ip, _02129844 ; =data_02050f54 ldr r1, [r3] ldmib r3, {r0, r2} umull lr, r4, r2, r1 mla r4, r2, r0, r4 ldr r2, [r3, #0xc] ldr r6, [r3, #0x10] mla r4, r2, r1, r4 adds r0, r6, lr ldr r5, [r3, #0x14] mov lr, #0 adc r2, r5, r4 str r0, [r3] mov r1, r2, lsr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 add r1, r4, #1 mov r4, r4, lsl #0x1 ldrsh r4, [ip, r4] mov r1, r1, lsl #0x1 ldrsh ip, [ip, r1] add r0, sp, #0 mov r1, #0x400 str r2, [r3, #4] str r4, [sp] str lr, [sp, #4] str ip, [sp, #8] bl func_01fffbec ldr r0, _02129848 ; =data_027e0f78 ldr r1, [sp] ldr r2, [r0] str r1, [r2] ldr r0, [sp, #4] str r0, [r2, #4] ldr r0, [sp, #8] str r0, [r2, #8] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02129774 _02129840: .word data_027e0764 _02129844: .word data_02050f54 _02129848: .word data_027e0f78 .global func_ov15_0212984c arm_func_start func_ov15_0212984c func_ov15_0212984c: ; 0x0212984c stmdb sp!, {r4, lr} mov r4, r0 mov r1, #1 bl func_ov15_02129da4 ldr r0, [r4, #0x198] bl func_ov15_0212c6b0 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212984c .global func_ov15_02129868 arm_func_start func_ov15_02129868 func_ov15_02129868: ; 0x02129868 stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _021298b4 ; =data_027e077c ldr r1, [r1] cmp r1, #0x22 bne _02129894 ldr r0, [r5, #0x19c] bl func_ov15_02141924 b _0212989c _02129894: mov r1, #0 bl func_ov15_02129da4 _0212989c: mov r0, r5 mov r1, r4 bl func_ov05_02111bc0 ldr r0, [r5, #0x198] bl func_ov15_0212c6c0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02129868 _021298b4: .word data_027e077c .global func_ov15_021298b8 arm_func_start func_ov15_021298b8 func_ov15_021298b8: ; 0x021298b8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x198] mov r4, r1 bl func_ov15_0212c460 ldr r0, _02129918 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _02129908 cmp r4, #0 beq _021298f8 ldr r0, [r5, #0x19c] bl func_ov15_02141a78 ldmia sp!, {r3, r4, r5, pc} _021298f8: ldr r0, [r5, #0x144] mov r1, r4 bl func_ov05_02111f40 ldmia sp!, {r3, r4, r5, pc} _02129908: ldr r0, [r5, #0x144] mov r1, r4 bl func_ov05_02111f40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021298b8 _02129918: .word data_027e0d38 .global func_ov15_0212991c arm_func_start func_ov15_0212991c func_ov15_0212991c: ; 0x0212991c bx lr arm_func_end func_ov15_0212991c .global func_ov15_02129920 arm_func_start func_ov15_02129920 func_ov15_02129920: ; 0x02129920 stmdb sp!, {r3, lr} cmp r1, #0 ldmneia sp!, {r3, pc} ldr r0, _0212993c ; =data_027e0f68 ldr r0, [r0] bl func_ov05_02101530 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02129920 _0212993c: .word data_027e0f68 .global func_ov15_02129940 arm_func_start func_ov15_02129940 func_ov15_02129940: ; 0x02129940 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 blx func_ov04_0210c5cc mov r4, #0 ldr r6, _021299a4 ; =data_027e0f6c mov r7, r4 _02129958: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x188] cmp r1, #0 beq _02129994 ldr r0, [r6] bl func_ov00_02093af0 add r0, r5, r4, lsl #2 ldr r0, [r0, #0x188] cmp r0, #0 beq _0212998c ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0212998c: add r0, r5, r4, lsl #2 str r7, [r0, #0x188] _02129994: add r4, r4, #1 cmp r4, #4 blo _02129958 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02129940 _021299a4: .word data_027e0f6c .global func_ov15_021299a8 arm_func_start func_ov15_021299a8 func_ov15_021299a8: ; 0x021299a8 stmdb sp!, {r3, lr} mov r1, #0x20 ldr r0, _021299d0 ; =data_027e0f6c str r1, [sp] ldr r0, [r0] mov r1, #0x80 mov r2, #0x10 mov r3, #0xc blx func_ov04_021026f0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021299a8 _021299d0: .word data_027e0f6c .global func_ov15_021299d4 arm_func_start func_ov15_021299d4 func_ov15_021299d4: ; 0x021299d4 ldr ip, _021299e0 ; =func_ov15_0212c6f0 ldr r0, [r0, #0x198] bx ip .align 2, 0 arm_func_end func_ov15_021299d4 _021299e0: .word func_ov15_0212c6f0 .global func_ov15_021299e4 arm_func_start func_ov15_021299e4 func_ov15_021299e4: ; 0x021299e4 mov r0, #6 bx lr arm_func_end func_ov15_021299e4 .global func_ov15_021299ec arm_func_start func_ov15_021299ec func_ov15_021299ec: ; 0x021299ec mov r0, #0 bx lr arm_func_end func_ov15_021299ec .global func_ov15_021299f4 arm_func_start func_ov15_021299f4 func_ov15_021299f4: ; 0x021299f4 mov r0, #0 bx lr arm_func_end func_ov15_021299f4 .global func_ov15_021299fc arm_func_start func_ov15_021299fc func_ov15_021299fc: ; 0x021299fc stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x50] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_021299fc .global func_ov15_02129a10 arm_func_start func_ov15_02129a10 func_ov15_02129a10: ; 0x02129a10 stmdb sp!, {r3, r4, r5, lr} ldr ip, [r0] mov r5, r2 ldr ip, [ip, #0x50] mov r4, r3 blx ip str r0, [r5] mov r1, #0 str r1, [r4] mov r0, #0x1000 stmib r4, {r0, r1} ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02129a10 .global func_ov15_02129a40 arm_func_start func_ov15_02129a40 func_ov15_02129a40: ; 0x02129a40 ldr r0, _02129a48 ; =0x0000ffff bx lr .align 2, 0 arm_func_end func_ov15_02129a40 _02129a48: .word 0x0000ffff .global func_ov15_02129a4c arm_func_start func_ov15_02129a4c func_ov15_02129a4c: ; 0x02129a4c mov r0, #0 bx lr arm_func_end func_ov15_02129a4c .global func_ov15_02129a54 arm_func_start func_ov15_02129a54 func_ov15_02129a54: ; 0x02129a54 ldr r0, _02129a64 ; =data_027e0f68 ldr ip, _02129a68 ; =func_ov00_0208cd1c ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov15_02129a54 _02129a64: .word data_027e0f68 _02129a68: .word func_ov00_0208cd1c .global func_ov15_02129a6c arm_func_start func_ov15_02129a6c func_ov15_02129a6c: ; 0x02129a6c stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x1c mov r7, r2 mov r8, r1 ldr r2, _02129b14 ; =data_027e0e60 mov r9, r0 ldrb r1, [r7, #1] ldr r0, [r2] mov r6, r3 bl func_ov00_02083c50 mov r5, r0 mov r0, r9 ldr r2, [r0] mov r1, r7 ldr r2, [r2, #0x60] blx r2 ldr r1, _02129b14 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] ldrb r1, [r7] bl func_ov00_02083c24 str r0, [sp, #0x10] mvn r0, #0 str r4, [sp, #0x14] str r5, [sp, #0x18] cmp r8, r0 beq _02129b08 ldrb r2, [r7, #1] add r1, sp, #0x10 ldr r0, [sp, #0x38] str r2, [sp] stmib sp, {r1, r6} str r0, [sp, #0xc] ldr r0, _02129b18 ; =data_027e0f68 ldrb r2, [r9, #0x13] ldrb r3, [r7] ldr r0, [r0] mov r1, r8 bl func_ov00_0208d6e0 _02129b08: mov r0, #1 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02129a6c _02129b14: .word data_027e0e60 _02129b18: .word data_027e0f68 .global func_ov15_02129b1c arm_func_start func_ov15_02129b1c func_ov15_02129b1c: ; 0x02129b1c mov r0, #1 bx lr arm_func_end func_ov15_02129b1c .global func_ov15_02129b24 arm_func_start func_ov15_02129b24 func_ov15_02129b24: ; 0x02129b24 mov r0, #1 bx lr arm_func_end func_ov15_02129b24 .global func_ov15_02129b2c arm_func_start func_ov15_02129b2c func_ov15_02129b2c: ; 0x02129b2c bx lr arm_func_end func_ov15_02129b2c .global func_ov15_02129b30 arm_func_start func_ov15_02129b30 func_ov15_02129b30: ; 0x02129b30 mov r0, #0x19 bx lr arm_func_end func_ov15_02129b30 .global func_ov15_02129b38 arm_func_start func_ov15_02129b38 func_ov15_02129b38: ; 0x02129b38 stmdb sp!, {r3, lr} ldr r0, [r0, #0x198] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0212c700 ldmia sp!, {r3, pc} arm_func_end func_ov15_02129b38 .global func_ov15_02129b50 arm_func_start func_ov15_02129b50 func_ov15_02129b50: ; 0x02129b50 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r2, _02129bf4 ; =data_027e0f94 mov r4, r0 ldr r0, [r2] mov ip, #0 str r0, [r4, #0x1a0] ldr r0, [r2, #4] ldr r1, _02129bf8 ; =data_027e0fac str r0, [r4, #0x1a4] ldr r2, [r2, #8] add r0, r4, #0x100 str r2, [r4, #0x1a8] str ip, [r4, #0x1a4] ldrsh r3, [r1] ldr r2, _02129bfc ; =0xfffffd9a ldr r1, _02129c00 ; =0x00000614 add r3, r3, #0x4000 strh r3, [r0, #0xac] str r2, [sp] str ip, [sp, #4] str r1, [sp, #8] ldrsh r1, [r0, #0xac] add r0, sp, #0 bl func_ov00_020a61ac add r0, r4, #0x1a0 add r1, sp, #0 mov r2, r0 bl func_01ff9bc4 bl func_ov15_0214652c mov r1, r0 mov r0, r4 and r1, r1, #0xff bl func_ov15_02129ce8 add r2, r4, #0x100 ldrsh r2, [r2, #0xac] ldr r0, [r4, #0x19c] add r1, r4, #0x1a0 bl func_ov15_02141c40 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02129b50 _02129bf4: .word data_027e0f94 _02129bf8: .word data_027e0fac _02129bfc: .word 0xfffffd9a _02129c00: .word 0x00000614 .global func_ov15_02129c04 arm_func_start func_ov15_02129c04 func_ov15_02129c04: ; 0x02129c04 ldr ip, _02129c10 ; =func_ov15_02141ecc ldr r0, [r0, #0x19c] bx ip .align 2, 0 arm_func_end func_ov15_02129c04 _02129c10: .word func_ov15_02141ecc .global func_ov15_02129c14 arm_func_start func_ov15_02129c14 func_ov15_02129c14: ; 0x02129c14 ldr r0, [r0, #0x19c] ldr r0, [r0, #0x28] rsb r0, r0, #0 bx lr arm_func_end func_ov15_02129c14 .global func_ov15_02129c24 arm_func_start func_ov15_02129c24 func_ov15_02129c24: ; 0x02129c24 ldr ip, _02129c30 ; =func_ov15_02142148 ldr r0, [r0, #0x19c] bx ip .align 2, 0 arm_func_end func_ov15_02129c24 _02129c30: .word func_ov15_02142148 .global func_ov15_02129c34 arm_func_start func_ov15_02129c34 func_ov15_02129c34: ; 0x02129c34 ldr ip, _02129c40 ; =func_ov15_02141fa0 ldr r0, [r0, #0x19c] bx ip .align 2, 0 arm_func_end func_ov15_02129c34 _02129c40: .word func_ov15_02141fa0 .global func_ov15_02129c44 arm_func_start func_ov15_02129c44 func_ov15_02129c44: ; 0x02129c44 ldr ip, _02129c50 ; =func_ov15_02142088 ldr r0, [r0, #0x19c] bx ip .align 2, 0 arm_func_end func_ov15_02129c44 _02129c50: .word func_ov15_02142088 .global func_ov15_02129c54 arm_func_start func_ov15_02129c54 func_ov15_02129c54: ; 0x02129c54 stmdb sp!, {r3, r4, r5, lr} ldr ip, _02129c98 ; =0x66666667 mov r4, r1, lsr #0x1f smull r0, r5, ip, r1 smull r0, r3, ip, r1 add r5, r4, r5, asr #2 mov lr, #0xa smull r0, ip, lr, r5 sub r5, r1, r0 ldr r1, _02129c9c ; =data_ov15_0218a224 str r5, [sp] mov r0, r2 ldr r2, [r1, #0x20] ldr r1, _02129ca0 ; =data_ov15_0218a318 add r3, r4, r3, asr #2 bl func_0200c8d0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02129c54 _02129c98: .word 0x66666667 _02129c9c: .word data_ov15_0218a224 _02129ca0: .word data_ov15_0218a318 .global func_ov15_02129ca4 arm_func_start func_ov15_02129ca4 func_ov15_02129ca4: ; 0x02129ca4 stmdb sp!, {r4, lr} mov r4, r1 ldr ip, _02129ce0 ; =0x66666667 mov lr, r4, lsr #0x1f smull r0, r3, ip, r4 mov r0, r2 smull r1, r2, ip, r4 add r3, lr, r3, asr #2 mov ip, #0xa smull r3, r1, ip, r3 ldr r1, _02129ce4 ; =data_ov15_0218a330 add r2, lr, r2, asr #2 sub r3, r4, r3 bl func_0200c8d0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02129ca4 _02129ce0: .word 0x66666667 _02129ce4: .word data_ov15_0218a330 .global func_ov15_02129ce8 arm_func_start func_ov15_02129ce8 func_ov15_02129ce8: ; 0x02129ce8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x4a0 add r2, sp, #0x420 mov r6, r0 mov r5, r1 bl func_ov15_02129ca4 mov r1, #1 str r1, [sp] ldr r0, _02129d8c ; =data_ov15_0218a224 ldr r2, _02129d90 ; =data_020691a0 ldr r0, [r0, #0x20] add r1, sp, #0x420 mov r3, #0xcc00 blx func_0202d5b4 mov r4, r0 add r2, sp, #0x420 mov r0, r6 mov r1, r5 bl func_ov15_02129c54 mov r2, #0 add r0, sp, #0x420 add r1, sp, #4 str r2, [sp, #4] blx func_0202d5ec mov r2, #0 str r0, [sp, #8] strh r2, [sp, #0x10] strh r2, [sp, #0x12] strh r2, [sp, #0x14] str r2, [sp, #0x18] strh r2, [sp, #0x1c] ldr r2, [sp, #4] mov r1, r6 add r0, sp, #8 str r2, [sp, #0xc] blx func_ov04_02108a04 mov r0, r4 blx func_02016fcc mov r0, #1 add sp, sp, #0x4a0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02129ce8 _02129d8c: .word data_ov15_0218a224 _02129d90: .word data_020691a0 .global func_ov15_02129d94 arm_func_start func_ov15_02129d94 func_ov15_02129d94: ; 0x02129d94 ldr ip, _02129da0 ; =func_ov15_0212c724 ldr r0, [r0, #0x198] bx ip .align 2, 0 arm_func_end func_ov15_02129d94 _02129da0: .word func_ov15_0212c724 .global func_ov15_02129da4 arm_func_start func_ov15_02129da4 func_ov15_02129da4: ; 0x02129da4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x4c ldr r2, _02129fec ; =data_027e0d38 mov r5, r0 ldr r0, [r2] mov r4, r1 add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #2 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, pc} ldr r0, [r5, #0x144] ldr r0, [r0, #4] cmp r0, #0xc cmpne r0, #0x11 bne _02129df8 ldr r0, [r5, #0x198] mov r1, #2 bl func_ov15_0212c718 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129df8: ldr r0, _02129ff0 ; =data_027e0f94 cmp r4, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #0x40] str r2, [sp, #0x44] ldr ip, [r0, #8] mvn r4, #0 add r1, sp, #0x40 add r2, sp, #0 mov r0, r5 mov r3, #0x10 movne r4, #0 str ip, [sp, #0x48] bl func_ov00_0207fce0 cmp r0, #0 bne _02129e90 ldr r0, [r5, #0x144] ldr r1, [r0, #4] cmp r1, #6 cmpne r1, #7 addne sp, sp, #0x4c ldmneia sp!, {r4, r5, pc} mov r2, r4 mov r1, #2 bl func_ov00_0209c1e4 ldr r0, [r5, #0x144] mov r2, r4 mov r1, #2 bl func_ov00_0209c2d0 ldr r0, [r5, #0x198] mov r1, #1 bl func_ov15_0212c718 mov r0, r5 mov r1, #0 bl func_ov00_0207dea0 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129e90: mov ip, #0 mov lr, ip ble _02129eec add r3, sp, #0 _02129ea0: ldr r2, [r3, lr, lsl #2] cmp ip, #0 moveq ip, r2 beq _02129ee0 ldr r1, [r2, #8] cmp r1, #2 beq _02129ee0 cmp r1, #6 beq _02129edc cmp r1, #7 bne _02129ee0 ldr r1, [ip, #8] cmp r1, #6 movne ip, r2 b _02129ee0 _02129edc: mov ip, r2 _02129ee0: add lr, lr, #1 cmp lr, r0 blt _02129ea0 _02129eec: cmp ip, #0 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, pc} ldr r0, [r5, #0x144] ldr r2, [ip, #8] ldr r1, [r0, #4] cmp r1, r2 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, pc} cmp r2, #0xff cmpeq r1, #2 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, pc} cmp r2, #2 beq _02129fb0 cmp r2, #6 beq _02129f74 cmp r2, #7 bne _02129fb0 mov r2, r4 mov r1, #7 bl func_ov00_0209c1e4 ldr r0, [r5, #0x144] mov r2, r4 mov r1, #2 bl func_ov00_0209c2d0 ldr r0, [r5, #0x198] mov r1, #0 bl func_ov15_0212c718 mov r0, r5 mov r1, #0 bl func_ov00_0207dea0 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129f74: mov r2, r4 mov r1, #6 bl func_ov00_0209c1e4 ldr r0, [r5, #0x144] mov r2, r4 mov r1, #4 bl func_ov00_0209c2d0 ldr r0, [r5, #0x198] mov r1, #2 bl func_ov15_0212c718 mov r0, r5 mov r1, #0 bl func_ov00_0207dea0 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129fb0: mov r2, r4 mov r1, #2 bl func_ov00_0209c1e4 ldr r0, [r5, #0x144] mov r2, r4 mov r1, #2 bl func_ov00_0209c2d0 ldr r0, [r5, #0x198] mov r1, #1 bl func_ov15_0212c718 mov r0, r5 mov r1, #0 bl func_ov00_0207dea0 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02129da4 _02129fec: .word data_027e0d38 _02129ff0: .word data_027e0f94 .global func_ov15_02129ff4 arm_func_start func_ov15_02129ff4 func_ov15_02129ff4: ; 0x02129ff4 mov r0, #2 bx lr arm_func_end func_ov15_02129ff4 .global func_ov15_02129ffc arm_func_start func_ov15_02129ffc func_ov15_02129ffc: ; 0x02129ffc stmdb sp!, {r4, lr} mov r4, r0 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02129ffc .global func_ov15_0212a010 arm_func_start func_ov15_0212a010 func_ov15_0212a010: ; 0x0212a010 bx lr arm_func_end func_ov15_0212a010 .global func_ov15_0212a014 arm_func_start func_ov15_0212a014 func_ov15_0212a014: ; 0x0212a014 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 mov r4, r0 mov r3, #0 str r3, [r4] ldr r2, _0212a288 ; =data_02057878 str r3, [r4, #4] str r2, [r4, #8] str r3, [r4, #0xc] str r3, [r4, #0x10] ldr r0, _0212a28c ; =data_0205785c str r3, [r4, #0x14] str r0, [r4, #8] strb r3, [r4, #0x18] str r3, [r4, #0x24] str r3, [r4, #0x28] str r2, [r4, #0x2c] str r3, [r4, #0x30] str r3, [r4, #0x34] str r3, [r4, #0x38] str r0, [r4, #0x2c] strb r3, [r4, #0x3c] mov r2, #1 str r2, [r4, #0x48] mov r0, #0x20 str r0, [r4, #0x4c] str r3, [r4, #0x50] str r3, [r4, #0x54] str r3, [r4, #0x58] strh r2, [r4, #0x5c] strh r3, [r4, #0x5e] strh r3, [r4, #0x60] add r0, r4, #0x6c str r1, [r4, #0x68] bl func_ov15_0212b758 mov r0, r4 mov r1, #0 bl func_ov15_0212a3f8 mov r2, #0 ldr r0, _0212a290 ; =data_02057840 ldr r1, _0212a294 ; =data_ov15_0218a348 str r0, [sp, #0x10] add r0, r4, #8 str r2, [sp, #0x14] str r2, [sp, #0x18] str r2, [sp, #0x1c] ldr r2, [r0] ldr r5, [r1, #4] ldr r2, [r2, #0xc] blx r2 ldr r1, _0212a294 ; =data_ov15_0218a348 str r5, [r4, #0xc] add r0, sp, #0x10 ldr r5, [r1, #8] ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 add r0, sp, #0x10 mov r1, #0x10 str r5, [sp, #0x14] blx func_0203014c add r0, sp, #0x10 add r1, r4, #8 mov r2, #1 mov r3, #0 blx func_ov00_020bd728 mov r6, r0 ldrh r2, [r6, #0xe] ldr r1, _0212a298 ; =data_027e0ce0 mov r0, #0x5c add r3, r6, r2 ldr r1, [r1, #4] mov r2, #4 ldr r5, [r3, #0xc] bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0212a150 add r1, r6, r5 blx func_ov00_020a9588 _0212a150: str r0, [r4, #4] mov r0, r4 add r1, r4, #0x1c mov r2, #0 bl func_ov15_0212b5dc ldr r0, _0212a29c ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _0212a234 mov r0, r4 mov r1, #1 bl func_ov15_0212a3f8 add r0, r4, #0x2c ldr r2, [r0] ldr r1, _0212a294 ; =data_ov15_0218a348 ldr r2, [r2, #0xc] ldr r5, [r1] blx r2 ldr r0, _0212a294 ; =data_ov15_0218a348 str r5, [r4, #0x30] ldr r1, [r0, #0x10] mov r3, #0 ldr r2, _0212a290 ; =data_02057840 str r1, [sp, #4] add r0, sp, #0 mov r1, #0x10 str r2, [sp] str r3, [sp, #8] str r3, [sp, #0xc] blx func_0203014c add r0, sp, #0 add r1, r4, #0x2c mov r2, #1 mov r3, #0 blx func_ov00_020bd728 mov r6, r0 ldrh r2, [r6, #0xe] ldr r1, _0212a298 ; =data_027e0ce0 mov r0, #0x5c add r2, r6, r2 ldr r5, [r2, #0xc] ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0212a218 add r1, r6, r5 blx func_ov00_020a9588 _0212a218: str r0, [r4, #0x28] mov r0, r4 add r1, r4, #0x40 mov r2, #0 bl func_ov15_0212b654 add r0, sp, #0 blx func_0203010c _0212a234: mov r0, r4 add r1, r4, #0x1c mov r2, #0 bl func_ov15_0212b5dc ldr r1, _0212a298 ; =data_027e0ce0 ldr r0, _0212a2a0 ; =0x000009c4 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9f4 str r0, [r4, #0x64] ldr r0, [r4, #0x74] cmp r0, #8 bhs _0212a274 add r0, r4, #0x6c mov r1, #8 bl func_ov15_0212b7f4 _0212a274: add r0, sp, #0x10 blx func_0203010c mov r0, r4 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0212a014 _0212a288: .word data_02057878 _0212a28c: .word data_0205785c _0212a290: .word data_02057840 _0212a294: .word data_ov15_0218a348 _0212a298: .word data_027e0ce0 _0212a29c: .word data_027e0d38 _0212a2a0: .word 0x000009c4 .global func_ov15_0212a2a4 arm_func_start func_ov15_0212a2a4 func_ov15_0212a2a4: ; 0x0212a2a4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r0 ldr r1, [r4, #0x70] mov r2, #0 strb r2, [sp] sub r0, sp, #4 strb r2, [r0] ldr r2, [r0] add r0, r4, #0x6c bl func_ov15_0212b7e4 ldr r0, [r4, #0x68] cmp r0, #0 beq _0212a2f4 beq _0212a2ec ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0212a2ec: mov r0, #0 str r0, [r4, #0x68] _0212a2f4: ldr r0, [r4, #0x64] cmp r0, #0 beq _0212a354 ldrh r0, [r4, #0x60] mov r6, #0 cmp r0, #0 ble _0212a344 mov r5, r6 _0212a314: ldr r0, [r4, #0x64] ldr r0, [r0, r6, lsl #2] cmp r0, #0 beq _0212a334 beq _0212a32c bl _ZN9SysObjectdlEPv _0212a32c: ldr r0, [r4, #0x64] str r5, [r0, r6, lsl #2] _0212a334: ldrh r0, [r4, #0x60] add r6, r6, #1 cmp r6, r0 blt _0212a314 _0212a344: ldr r0, [r4, #0x64] bl func_0202ea18 mov r0, #0 str r0, [r4, #0x64] _0212a354: add r0, r4, #0x2c ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 ldr r0, [r4, #0x28] cmp r0, #0 beq _0212a388 beq _0212a380 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0212a380: mov r0, #0 str r0, [r4, #0x28] _0212a388: mov r0, r4 mov r1, #1 bl func_ov15_0212a4a4 add r0, r4, #8 ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 ldr r0, [r4, #4] cmp r0, #0 beq _0212a3c8 beq _0212a3c0 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0212a3c0: mov r0, #0 str r0, [r4, #4] _0212a3c8: mov r0, r4 mov r1, #0 bl func_ov15_0212a4a4 add r0, r4, #0x6c bl func_ov15_0212b76c add r0, r4, #0x2c blx func_0203005c add r0, r4, #8 blx func_0203005c mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov15_0212a2a4 .global func_ov15_0212a3f8 arm_func_start func_ov15_0212a3f8 func_ov15_0212a3f8: ; 0x0212a3f8 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 cmp r1, #0 bne _0212a454 ldr r2, [r4] cmp r2, #0 beq _0212a41c bl func_ov15_0212a4a4 _0212a41c: mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] ldr r0, _0212a49c ; =data_ov15_0218a348 ldr r1, _0212a4a0 ; =data_027e0ce0 ldr r2, [r0, #0x14] ldr r3, [r0, #0x18] ldr r1, [r1, #4] mov r0, #0x99 blx func_0202d598 add sp, sp, #8 str r0, [r4] ldmia sp!, {r4, pc} _0212a454: ldr r2, [r4, #0x24] cmp r2, #0 beq _0212a464 bl func_ov15_0212a4a4 _0212a464: mov r0, #0x10 str r0, [sp] mov r0, #0 ldr r1, _0212a4a0 ; =data_027e0ce0 str r0, [sp, #4] ldr r0, _0212a49c ; =data_ov15_0218a348 ldr r1, [r1, #4] ldr r2, [r0, #0xc] ldr r3, [r0, #0x1c] mov r0, #0x99 blx func_0202d598 str r0, [r4, #0x24] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212a3f8 _0212a49c: .word data_ov15_0218a348 _0212a4a0: .word data_027e0ce0 .global func_ov15_0212a4a4 arm_func_start func_ov15_0212a4a4 func_ov15_0212a4a4: ; 0x0212a4a4 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 bne _0212a4d0 ldr r0, [r4] cmp r0, #0 ldmeqia sp!, {r4, pc} blx func_0202d5dc mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} _0212a4d0: ldr r0, [r4, #0x24] cmp r0, #0 ldmeqia sp!, {r4, pc} blx func_0202d5dc mov r0, #0 str r0, [r4, #0x24] ldmia sp!, {r4, pc} arm_func_end func_ov15_0212a4a4 .global func_ov15_0212a4ec arm_func_start func_ov15_0212a4ec func_ov15_0212a4ec: ; 0x0212a4ec stmdb sp!, {r3, lr} ldr r0, [r0, #0x68] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov15_0212a4ec .global func_ov15_0212a504 arm_func_start func_ov15_0212a504 func_ov15_0212a504: ; 0x0212a504 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #0 mov r4, #1 _0212a514: mov r0, r6 mov r1, r4 bl func_ov15_0212ae90 add r5, r5, #1 cmp r5, #8 blo _0212a514 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0212a504 .global func_ov15_0212a530 arm_func_start func_ov15_0212a530 func_ov15_0212a530: ; 0x0212a530 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r4, r0 ldrh r0, [r4, #0x60] mov r5, #0 cmp r0, #0 ble _0212a574 _0212a54c: ldr r0, [r4, #0x68] ldr r2, [r4, #0x64] ldr r3, [r0] ldr r1, [r2, r5, lsl #2] ldr r3, [r3, #0xc] blx r3 ldrh r0, [r4, #0x60] add r5, r5, #1 cmp r5, r0 blt _0212a54c _0212a574: ldr r1, [r4, #0x70] mov r0, #0x30 mul r2, r1, r0 ldr r1, [r4, #0x6c] add r0, r1, r2 mov r6, r1 cmp r1, r0 beq _0212a5c0 mov r5, #0x30 _0212a598: ldr r1, [r4, #0x64] mov r0, r6 bl func_ov15_0212bea4 ldr r0, [r4, #0x70] ldr r1, [r4, #0x6c] mul r2, r0, r5 add r6, r6, #0x30 add r0, r1, r2 cmp r6, r0 bne _0212a598 _0212a5c0: ldrb r0, [sp, #1] add r2, r1, r2 sub r3, sp, #4 strb r0, [r3] ldr r3, [r3] add r0, sp, #0x18 str r2, [sp, #0xc] str r2, [sp, #4] str r2, [sp, #0x10] str r1, [sp, #0x14] bl func_ov15_0212a69c mov r2, #0 ldr r1, [sp, #0x18] strb r2, [sp] sub r0, sp, #4 strb r2, [r0] ldr r3, [r0] ldr r2, [sp, #4] add r0, r4, #0x6c str r1, [sp, #8] bl func_ov15_0212b938 ldrh r0, [r4, #0x60] mov r3, #0 cmp r0, #0 ble _0212a64c _0212a624: ldr r0, [r4, #0x64] ldr r2, [r0, r3, lsl #2] add r3, r3, #1 ldr r1, [r2, #4] ldr r0, [r2, #0xc] add r0, r1, r0 str r0, [r2, #4] ldrh r0, [r4, #0x60] cmp r3, r0 blt _0212a624 _0212a64c: ldrh r2, [r4, #0x5e] mov r0, #0xc ldr r1, _0212a698 ; =data_ov15_02185d08 add r2, r2, #1 strh r2, [r4, #0x5e] ldr r2, [r4, #0x48] ldrh r3, [r4, #0x5e] mul r0, r2, r0 ldrh r0, [r1, r0] cmp r3, r0 addlo sp, sp, #0x1c ldmloia sp!, {r3, r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov15_0212ae90 mov r0, #0 strh r0, [r4, #0x5e] add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0212a530 _0212a698: .word data_ov15_02185d08 .global func_ov15_0212a69c arm_func_start func_ov15_0212a69c func_ov15_0212a69c: ; 0x0212a69c stmdb sp!, {r0, r1, r2, r3} sub sp, sp, #8 ldr r3, [sp, #0x10] ldr r2, [sp, #0xc] str r3, [sp] str r2, [sp, #4] b _0212a6c0 _0212a6b8: add r2, r2, #0x30 str r2, [sp, #4] _0212a6c0: cmp r2, r3 ldrneb r1, [r2] cmpne r1, #0 bne _0212a6b8 ldr r2, [sp, #4] ldr r1, [sp, #0x10] mov r3, r2 cmp r3, r1 addne r3, r2, #0x30 str r2, [sp, #0xc] cmpne r3, r1 beq _0212a76c _0212a6f0: ldrb ip, [r3] cmp ip, #0 beq _0212a760 strb ip, [r2] ldr ip, [r3, #4] str ip, [r2, #4] ldr ip, [r3, #8] str ip, [r2, #8] ldr ip, [r3, #0xc] str ip, [r2, #0xc] ldr ip, [r3, #0x10] str ip, [r2, #0x10] ldr ip, [r3, #0x14] str ip, [r2, #0x14] ldr ip, [r3, #0x18] str ip, [r2, #0x18] ldr ip, [r3, #0x1c] str ip, [r2, #0x1c] ldr ip, [r3, #0x20] str ip, [r2, #0x20] ldr ip, [r3, #0x24] str ip, [r2, #0x24] ldr ip, [r3, #0x28] str ip, [r2, #0x28] ldr ip, [r3, #0x2c] str ip, [r2, #0x2c] add r2, r2, #0x30 str r2, [sp, #0xc] _0212a760: add r3, r3, #0x30 cmp r3, r1 bne _0212a6f0 _0212a76c: ldr r1, [sp, #0xc] str r1, [r0] add sp, sp, #8 add sp, sp, #0x10 bx lr arm_func_end func_ov15_0212a69c .global func_ov15_0212a780 arm_func_start func_ov15_0212a780 func_ov15_0212a780: ; 0x0212a780 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x7c ldr r2, _0212ad74 ; =data_027e0f94 mov r10, r0 ldr r3, [r2, #4] ldr r4, [r2] str r3, [sp, #0x74] str r4, [sp, #0x70] ldr r4, [r2, #8] add r0, sp, #0x70 mov r5, r1 mov r3, #0 mov r2, r0 add r1, r10, #0x50 str r4, [sp, #0x78] str r3, [sp, #0x74] bl func_01ff9bc4 cmp r5, #0 beq _0212a7e4 ldr r0, _0212ad78 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 beq _0212a7f8 _0212a7e4: ldr r0, [r10, #4] add r1, sp, #0x70 ldr r2, [r0] ldr r2, [r2, #0x18] blx r2 _0212a7f8: bl func_01ffa8d4 ldr r3, _0212ad7c ; =0x04000444 mov r4, #0 mov r1, #3 str r4, [r3] str r1, [r3, #-4] str r4, [r3, #0x10] mov r2, #0x40000 str r2, [r3, #0x2c] str r2, [r3, #0x2c] str r4, [r3, #0x2c] mov r0, #0x1000 str r0, [r3, #0x28] str r0, [r3, #0x28] str r0, [r3, #0x28] ldr r8, [sp, #0x78] sub r3, r0, #0x21000 mov r2, #0x800 sub r4, r1, #4 umull r9, r0, r8, r3 mla r0, r8, r4, r0 mov r4, r8, asr #0x1f sub r6, r2, #0x20800 mla r0, r4, r3, r0 ldr r7, [sp, #0x70] sub r3, r1, #4 umull r4, r8, r7, r6 adds r2, r9, #0x800 adc r1, r0, #0 adds r9, r4, #0x800 mov r4, r2, lsr #0xc orr r4, r4, r1, lsl #20 mla r8, r7, r3, r8 mov r0, r7, asr #0x1f mla r8, r0, r6, r8 adc r2, r8, #0 mov r0, r9, lsr #0xc orr r0, r0, r2, lsl #20 mov r1, #0x800000 bl func_01ff9b88 mov r6, r0 mov r0, r4 mov r1, #0x800000 bl func_01ff9b88 cmp r6, #0 addle r6, r6, #0x800000 ldr r2, _0212ad80 ; =0x04000470 cmp r0, #0 addle r0, r0, #0x800000 str r6, [r2] mov r1, #0 str r0, [r2] str r1, [r2] sub r0, r1, #0x40000 str r0, [r2] str r0, [r2] add r0, sp, #0x30 str r1, [r2] bl func_01ff91f8 mov r1, #0x10000 add r0, sp, #0x30 str r1, [sp, #0x58] str r1, [sp, #0x6c] bl func_02005660 ldr r3, _0212ad84 ; =0x04000440 mov r0, #2 str r0, [r3] ldr r2, [sp, #0x78] ldr r1, [sp, #0x70] mov r0, #0 str r1, [r3, #0x30] str r0, [r3, #0x30] str r2, [r3, #0x30] cmp r5, #0 beq _0212a94c ldr r0, _0212ad78 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _0212a94c ldr r1, _0212ad88 ; =0x001f8041 ldr r0, _0212ad8c ; =0x040004a4 str r1, [r0] b _0212a958 _0212a94c: ldr r1, _0212ad90 ; =0x001f8081 ldr r0, _0212ad8c ; =0x040004a4 str r1, [r0] _0212a958: ldr r0, _0212ad94 ; =data_ov15_0218ede0 ldr r0, [r0] tst r0, #1 bne _0212a98c mov r0, #0x1000 mov r1, #0x10000 bl Divide ldr r1, _0212ad94 ; =data_ov15_0218ede0 ldr r2, _0212ad98 ; =data_ov15_0218a348 ldr r3, [r1] str r0, [r2, #0x20] orr r0, r3, #1 str r0, [r1] _0212a98c: ldr r3, _0212ad9c ; =0x0400046c mov r0, #0x10000 str r0, [r3] str r0, [r3] str r0, [r3] ldrh r2, [r10, #0x78] ldrh r1, [r10, #0x7a] mov r0, #0 cmp r5, #0 orr r1, r2, r1, lsl #16 orr r1, r1, #0x8000 str r1, [r3, #0x54] str r0, [r3, #0x58] beq _0212ab00 ldr r0, _0212ad78 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _0212ab00 ldr r0, _0212ad78 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 ldr r1, _0212ada0 ; =0x040004a8 bne _0212aa7c ldr r5, [r10, #0x40] mov r0, r5, lsl #0x10 and r2, r5, #0x1c000000 mov r0, r0, lsr #0x10 mov r2, r2, lsr #0x1a bic r0, r0, #0xe0000000 orr r0, r0, r2, lsl #26 and r3, r5, #0x700000 and r4, r5, #0x3800000 mov r2, r3, lsr #0x14 orr r0, r0, #0x40000000 mov r3, r4, lsr #0x17 orr r0, r0, r2, lsl #20 and r5, r5, #0x20000000 orr r0, r0, r3, lsl #23 mov r2, r5, lsr #0x1d orr r0, r0, #0x30000 orr r0, r0, r2, lsl #29 str r0, [r1] ldr r0, [r10, #0x40] ldrh r2, [r10, #0x44] and r0, r0, #0x1c000000 mov r0, r0, lsr #0x1a cmp r0, #2 moveq r0, #1 movne r0, #0 mov r2, r2, lsl #0x11 rsb r1, r0, #4 mov r2, r2, lsr #0xd ldr r0, _0212ada4 ; =0x040004ac mov r1, r2, lsr r1 str r1, [r0] b _0212ab84 _0212aa7c: ldr r5, [r10, #0x1c] mov r0, r5, lsl #0x10 and r2, r5, #0x1c000000 mov r0, r0, lsr #0x10 mov r2, r2, lsr #0x1a bic r0, r0, #0xe0000000 orr r0, r0, r2, lsl #26 and r3, r5, #0x700000 and r4, r5, #0x3800000 mov r2, r3, lsr #0x14 orr r0, r0, #0x40000000 mov r3, r4, lsr #0x17 orr r0, r0, r2, lsl #20 and r5, r5, #0x20000000 orr r0, r0, r3, lsl #23 mov r2, r5, lsr #0x1d orr r0, r0, #0x30000 orr r0, r0, r2, lsl #29 str r0, [r1] ldr r0, [r10, #0x1c] ldrh r2, [r10, #0x20] and r0, r0, #0x1c000000 mov r0, r0, lsr #0x1a cmp r0, #2 moveq r0, #1 movne r0, #0 mov r2, r2, lsl #0x11 rsb r1, r0, #4 mov r2, r2, lsr #0xd ldr r0, _0212ada4 ; =0x040004ac mov r1, r2, lsr r1 str r1, [r0] b _0212ab84 _0212ab00: ldr r5, [r10, #0x1c] ldr r1, _0212ada0 ; =0x040004a8 mov r0, r5, lsl #0x10 and r2, r5, #0x1c000000 mov r0, r0, lsr #0x10 mov r2, r2, lsr #0x1a bic r0, r0, #0xe0000000 orr r0, r0, r2, lsl #26 and r3, r5, #0x700000 and r4, r5, #0x3800000 mov r2, r3, lsr #0x14 orr r0, r0, #0x40000000 mov r3, r4, lsr #0x17 orr r0, r0, r2, lsl #20 and r5, r5, #0x20000000 orr r0, r0, r3, lsl #23 mov r2, r5, lsr #0x1d orr r0, r0, #0x30000 orr r0, r0, r2, lsl #29 str r0, [r1] ldr r0, [r10, #0x1c] ldrh r2, [r10, #0x20] and r0, r0, #0x1c000000 mov r0, r0, lsr #0x1a cmp r0, #2 moveq r0, #1 movne r0, #0 mov r2, r2, lsl #0x11 rsb r1, r0, #4 mov r2, r2, lsr #0xd ldr r0, _0212ada4 ; =0x040004ac mov r1, r2, lsr r1 str r1, [r0] _0212ab84: ldr r1, _0212ad98 ; =data_ov15_0218a348 mov r0, #0 ldr r8, [r1, #0x20] str r0, [sp] _0212ab94: ldr r0, [sp] cmp r0, #0x18 bhs _0212ad4c ldr r1, [r10, #0x4c] add r4, r0, #1 mul r1, r0, r1 sub r7, r1, #0x800 mov r0, r7, lsl #0x14 mov r0, r0, asr #0x10 mov r2, r0, lsl #0x10 ldr r0, [sp] mov r3, #0x19 mul r1, r0, r3 mul r0, r4, r3 str r1, [sp, #4] ldr r1, _0212ada8 ; =0x04000500 str r0, [sp, #8] mov r3, #2 ldr r0, _0212adac ; =0x0007fc00 str r3, [r1] str r0, [r1, #-0x7c] mov r11, r2, lsr #0x10 mov r6, #0 sub r5, r1, #0x78 sub r4, r1, #0x74 _0212abf8: ldr r1, [r10, #0x4c] ldr r2, [sp, #4] mul r1, r6, r1 sub r1, r1, #0x800 mov r1, r1, lsl #0x14 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r9, r1, lsr #0x10 orr r1, r9, r11, lsl #16 str r1, [r5] ldr r3, [r10, #0x64] add r0, sp, #0x24 add r2, r3, r2, lsl #2 ldr r3, [r2, r6, lsl #2] mov r1, r8 ldr r2, [r3] str r2, [sp, #0x24] ldr r2, [r3, #4] str r2, [sp, #0x28] ldr r2, [r3, #8] str r2, [sp, #0x2c] bl func_01fffbec ldr r0, [sp, #0x2c] ldr r1, [sp, #0x24] mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 mov r0, r1, lsl #0x10 mov r0, r0, asr #0x10 mov r1, r0, lsl #0x10 mov r0, r2, lsl #0x10 ldr r2, [sp, #0x28] mov r3, r0, lsr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r2, r2, lsl #0x10 orr r1, r2, r1, lsr #16 str r1, [r4] str r3, [r4] ldr r2, [r10, #0x4c] add r0, sp, #0x18 add r2, r7, r2 mov r2, r2, lsl #0x14 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 orr r2, r9, r2, lsl #16 str r2, [r5] ldr r3, [r10, #0x64] ldr r2, [sp, #8] mov r1, r8 add r2, r3, r2, lsl #2 ldr r3, [r2, r6, lsl #2] ldr r2, [r3] str r2, [sp, #0x18] ldr r2, [r3, #4] str r2, [sp, #0x1c] ldr r2, [r3, #8] str r2, [sp, #0x20] bl func_01fffbec ldr r0, [sp, #0x20] add r6, r6, #1 mov r0, r0, lsl #0x10 ldr r1, [sp, #0x18] mov r2, r0, asr #0x10 mov r0, r1, lsl #0x10 mov r1, r2, lsl #0x10 mov r2, r1, lsr #0x10 ldr r1, [sp, #0x1c] mov r0, r0, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r0, r0, lsl #0x10 mov r1, r1, lsl #0x10 orr r0, r1, r0, lsr #16 str r0, [r4] str r2, [r4] cmp r6, #0x19 blo _0212abf8 ldr r0, _0212adb0 ; =0x04000504 mov r1, #0 str r1, [r0] _0212ad4c: ldr r0, [sp] add r0, r0, #1 str r0, [sp] cmp r0, #0x19 blo _0212ab94 ldr r0, _0212adb4 ; =0x04000448 mov r1, #1 str r1, [r0] add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212a780 _0212ad74: .word data_027e0f94 _0212ad78: .word data_027e0d38 _0212ad7c: .word 0x04000444 _0212ad80: .word 0x04000470 _0212ad84: .word 0x04000440 _0212ad88: .word 0x001f8041 _0212ad8c: .word 0x040004a4 _0212ad90: .word 0x001f8081 _0212ad94: .word data_ov15_0218ede0 _0212ad98: .word data_ov15_0218a348 _0212ad9c: .word 0x0400046c _0212ada0: .word 0x040004a8 _0212ada4: .word 0x040004ac _0212ada8: .word 0x04000500 _0212adac: .word 0x0007fc00 _0212adb0: .word 0x04000504 _0212adb4: .word 0x04000448 .global func_ov15_0212adb8 arm_func_start func_ov15_0212adb8 func_ov15_0212adb8: ; 0x0212adb8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrh r2, [r5, #0x60] ldr r0, _0212ae54 ; =0x00000271 mov r4, r1 cmp r2, r0 ldmhsia sp!, {r3, r4, r5, pc} ldr r1, _0212ae58 ; =data_027e0ce0 mov r0, #0x20 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0212ae00 mov r1, #0 str r1, [r0, #0xc] strh r1, [r0, #0x1c] strb r1, [r0, #0x1e] _0212ae00: ldrh r1, [r5, #0x60] ldr r3, [r5, #0x64] mov r2, #0 str r0, [r3, r1, lsl #2] ldrh r1, [r5, #0x60] ldr r3, [r5, #0x64] ldr r0, [r4] ldr r1, [r3, r1, lsl #2] str r0, [r1] ldr r0, [r4, #4] str r0, [r1, #4] ldr r0, [r4, #8] str r0, [r1, #8] ldrh r0, [r5, #0x60] ldr r1, [r5, #0x64] ldr r0, [r1, r0, lsl #2] str r2, [r0, #0xc] ldrh r0, [r5, #0x60] add r0, r0, #1 strh r0, [r5, #0x60] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212adb8 _0212ae54: .word 0x00000271 _0212ae58: .word data_027e0ce0 .global func_ov15_0212ae5c arm_func_start func_ov15_0212ae5c func_ov15_0212ae5c: ; 0x0212ae5c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6, #0x64] mov r5, r1 mov r4, r2 ldr r0, [r0, r5, lsl #2] mov r1, r4 bl func_ov15_0212c340 ldr r0, [r6, #0x64] mov r1, r5 ldr r0, [r0, r4, lsl #2] bl func_ov15_0212c340 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0212ae5c .global func_ov15_0212ae90 arm_func_start func_ov15_0212ae90 func_ov15_0212ae90: ; 0x0212ae90 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x60 mov r4, r0 ldr r0, [r4, #0x70] mov r6, r1 cmp r0, #8 addhs sp, sp, #0x60 ldmhsia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldr r0, _0212b2e8 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] str r1, [sp, #0x54] str r1, [sp, #0x58] str r1, [sp, #0x5c] ldr r0, [r0, #4] add r1, sp, #0x3c bl func_ov00_02087df8 ldr r2, [sp, #0x3c] ldr r3, [sp, #0x40] rsb r7, r2, #0 ldr r1, [sp, #0x44] ldr r0, _0212b2ec ; =data_027e0f78 rsb r3, r3, #0 rsb r1, r1, #0 ldr r5, [r0] str r7, [sp, #0x3c] str r3, [sp, #0x40] str r1, [sp, #0x44] ldr r2, _0212b2f0 ; =data_027e0764 ldr r0, [r5] ldr r3, [r2] str r0, [sp, #0x48] ldr r0, [r5, #4] ldr r1, [r2, #4] str r0, [sp, #0x4c] ldr r5, [r5, #8] ldr r0, _0212b2f4 ; =0x00001557 str r5, [sp, #0x50] ldr r7, [r2, #8] ldr r5, [r2, #0xc] umull r9, r8, r7, r3 mla r8, r7, r1, r8 mla r8, r5, r3, r8 ldr r7, [r2, #0x10] ldr r1, [r2, #0x14] adds r3, r7, r9 adc r7, r1, r8 str r3, [r2] mov r1, #0 umull r3, r5, r7, r0 mla r5, r7, r1, r5 mla r5, r1, r0, r5 ldr r1, _0212b2f8 ; =0xfffff555 add r0, sp, #0x48 add r1, r5, r1 mov r1, r1, lsl #0x10 str r7, [r2, #4] mov r1, r1, asr #0x10 bl func_ov00_020a61ac ldr r0, [r4, #0x48] cmp r0, #0 cmpne r0, #1 beq _0212afa0 cmp r0, #2 bne _0212afa0 add r0, sp, #0x48 mov r1, #0x1800 bl func_01fffbec _0212afa0: ldr r1, [r4, #0x48] mov r0, #0xc mul r2, r1, r0 ldr r0, _0212b2fc ; =data_ov15_02185d0a ldrh r1, [r0, r2] rsb r0, r1, #0x6e add r0, r0, #1 cmp r0, #0 movle r7, #0 ble _0212b014 ldr r2, _0212b2f0 ; =data_027e0764 ldr r5, [r2] ldmib r2, {r3, r7} umull r9, r8, r7, r5 mla r8, r7, r3, r8 ldr r3, [r2, #0xc] ldr r7, [r2, #0x10] mla r8, r3, r5, r8 ldr r3, [r2, #0x14] adds r5, r7, r9 adc r7, r3, r8 stmia r2, {r5, r7} cmp r0, #0 beq _0212b014 mov r5, #0 umull r3, r2, r7, r0 mla r2, r7, r5, r2 mla r2, r5, r0, r2 mov r7, r2 _0212b014: add r0, r1, r7 mov r0, r0, lsl #0xc mov r1, #0xa000 bl Divide mov r5, r0 cmp r6, #0 beq _0212b08c ldr r2, _0212b2f0 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r5} umull r7, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds r7, r5, r7 adc r6, r0, r6 mov r0, #0x33 umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 add r0, r5, #0xa str r7, [r2] mov r0, r0, lsl #0xc mov r1, #0xa000 str r6, [r2, #4] bl Divide mov r5, r0 _0212b08c: ldr r2, _0212b2f0 ; =data_027e0764 add r0, sp, #0x3c ldr r3, [r2] ldmib r2, {r1, r6} umull r8, r7, r6, r3 mla r7, r6, r1, r7 ldr r1, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r1, r3, r7 ldr r1, [r2, #0x14] adds r6, r6, r8 adc r3, r1, r7 mov r1, r3, lsr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 str r6, [r2] mov r1, r1, asr #0x10 str r3, [r2, #4] bl func_ov00_020a61ac add r0, sp, #0x3c mov r1, r5 bl func_01fffbec add r0, sp, #0x54 add r1, sp, #0x3c mov r2, r0 bl func_01ff9bc4 add r0, sp, #0x54 add r1, sp, #8 add r2, sp, #4 bl func_ov15_0212b54c cmp r0, #1 cmpne r0, #2 addeq sp, sp, #0x60 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldr r3, _0212b2f0 ; =data_027e0764 mov r2, #0 ldr r1, [r3] ldmib r3, {r0, r5} umull r7, r6, r5, r1 mla r6, r5, r0, r6 ldr r0, [r3, #0xc] ldr r5, [r3, #0x10] mla r6, r0, r1, r6 ldr r1, [r3, #0x14] adds r8, r5, r7 adc r7, r1, r6 mov r1, #0x33 umull r5, r6, r7, r1 mla r6, r7, r2, r6 ldr r9, [r4, #0x48] mla r6, r2, r1, r6 mov r0, #0xc mul r1, r9, r0 ldr r0, _0212b300 ; =data_ov15_02185d00 str r8, [r3] ldr r5, [r0, r1] sub r6, r6, #0x32 mov r1, #0x190000 mov r0, r5 str r7, [r3, #4] bl Divide mov r1, r6, lsl #0xc smull r0, r2, r1, r0 adds r3, r0, #0x800 adc r1, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 add r8, r5, r2 mov r2, #0x29 umull r1, r9, r8, r2 mov lr, #0 adds r1, r1, #0x800 ldr r3, [r4, #0x48] mov ip, r1, lsr #0xc mov r1, #0xc mul r1, r3, r1 mov r3, #1 strb r3, [sp, #0xc] mla r9, r8, lr, r9 mov r3, r8, asr #0x1f mla r9, r3, r2, r9 adc r2, r9, #0 orr ip, ip, r2, lsl #20 ldr r3, _0212b304 ; =data_ov15_02185d04 ldr r2, _0212b308 ; =data_ov15_02185d06 add r0, sp, #0x54 add r7, sp, #0x10 ldrh r3, [r3, r1] ldrh r8, [r2, r1] ldmia r0, {r0, r1, r2} stmia r7, {r0, r1, r2} add r6, sp, #0x48 mov r7, r3, lsl #0xc add r5, sp, #0x1c ldmia r6, {r0, r1, r2} stmia r5, {r0, r1, r2} mov r3, r8, lsl #0xc strb lr, [sp, #1] str ip, [sp, #0x2c] str r7, [sp, #0x30] str r3, [sp, #0x34] str lr, [sp, #0x28] str lr, [sp, #0x38] ldr r2, [r4, #0x70] ldr r0, [r4, #0x74] add r1, sp, #0xc cmp r2, r0 bhs _0212b2c4 add r5, r2, #1 sub r2, r5, #1 mov r0, #0x30 mul r3, r2, r0 str r5, [r4, #0x70] ldr r4, [r4, #0x6c] ldrb r2, [r1] add r0, r4, r3 add sp, sp, #0x60 strb r2, [r4, r3] ldr r2, [r1, #4] str r2, [r0, #4] ldr r2, [r1, #8] str r2, [r0, #8] ldr r2, [r1, #0xc] str r2, [r0, #0xc] ldr r2, [r1, #0x10] str r2, [r0, #0x10] ldr r2, [r1, #0x14] str r2, [r0, #0x14] ldr r2, [r1, #0x18] str r2, [r0, #0x18] ldr r2, [r1, #0x1c] str r2, [r0, #0x1c] ldr r2, [r1, #0x20] str r2, [r0, #0x20] ldr r2, [r1, #0x24] str r2, [r0, #0x24] ldr r2, [r1, #0x28] str r2, [r0, #0x28] ldr r1, [r1, #0x2c] str r1, [r0, #0x2c] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _0212b2c4: strb lr, [sp] sub r2, sp, #4 and r0, lr, #0xff strb r0, [r2] ldr r2, [r2] add r0, r4, #0x6c bl func_ov15_0212b7b4 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0212ae90 _0212b2e8: .word data_027e0f64 _0212b2ec: .word data_027e0f78 _0212b2f0: .word data_027e0764 _0212b2f4: .word 0x00001557 _0212b2f8: .word 0xfffff555 _0212b2fc: .word data_ov15_02185d0a _0212b300: .word data_ov15_02185d00 _0212b304: .word data_ov15_02185d04 _0212b308: .word data_ov15_02185d06 .global func_ov15_0212b30c arm_func_start func_ov15_0212b30c func_ov15_0212b30c: ; 0x0212b30c stmdb sp!, {r3, lr} sub sp, sp, #0x18 ldr r1, _0212b3b4 ; =data_027e0f94 ldr lr, [r0, #8] ldr ip, [r0] ldr r0, [r1, #4] ldr r2, [r1] mov r3, #0 str r0, [sp, #4] str ip, [sp, #0xc] str r3, [sp, #0x10] str lr, [sp, #0x14] str r2, [sp] ldr r2, [r1, #8] add r0, sp, #0 add r1, sp, #0xc str r2, [sp, #8] str r3, [sp, #4] bl func_01ff9ec0 cmp r0, #0x20000 addlt sp, sp, #0x18 movlt r0, #0 ldmltia sp!, {r3, pc} sub r2, r0, #0x20000 smull r1, r0, r2, r2 adds r2, r1, #0x800 mov r1, #0 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 sub r0, r1, #0x29 umull ip, r3, r2, r0 sub r1, r1, #1 adds ip, ip, #0x800 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adc r1, r3, #0 mov r0, ip, lsr #0xc orr r0, r0, r1, lsl #20 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212b30c _0212b3b4: .word data_027e0f94 .global func_ov15_0212b3b8 arm_func_start func_ov15_0212b3b8 func_ov15_0212b3b8: ; 0x0212b3b8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 ldr r3, _0212b548 ; =data_027e0f94 mov r4, r0 ldmia r1, {r0, r1, r2} ldr r6, [r3] ldr r5, [r3, #4] add r7, sp, #0xc stmia r7, {r0, r1, r2} str r6, [sp] str r5, [sp, #4] ldr r0, [r3, #8] str r0, [sp, #8] ldrsh r0, [r4, #0x5c] cmp r0, #0 ble _0212b408 add r0, sp, #0 add r1, r4, #0x50 mov r2, r0 bl func_01ff9bc4 _0212b408: add r0, sp, #0xc add r1, sp, #0 mov r2, r0 bl func_01ff9bf8 ldr lr, [sp, #0xc] ldr ip, [sp, #0x14] mov r0, lr, asr #0xc mov r1, ip, asr #0xc rsb r0, r0, #0xc rsb r5, r1, #0xc cmp r0, #1 cmpge r5, #1 blt _0212b448 cmp r0, #0x19 cmplo r5, #0x19 blo _0212b454 _0212b448: add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0212b454: mov r1, #0x19 sub r2, r5, #1 mul r3, r2, r1 mul r7, r5, r1 mov r5, #0x1000 rsb r5, r5, #0 and r1, ip, r5 sub r6, r0, #1 sub ip, ip, r1 ldr r2, [r4, #0x64] add r1, r0, r7 add r0, r0, r3 ldr r1, [r2, r1, lsl #2] ldr r0, [r2, r0, lsl #2] add r4, r6, r7 ldr r0, [r0, #4] add r3, r6, r3 ldr r4, [r2, r4, lsl #2] ldr r3, [r2, r3, lsl #2] and r2, lr, r5 sub r2, lr, r2 ldr r3, [r3, #4] ldr r5, [r1, #4] rsb r1, ip, #0x1000 smull r6, lr, r5, r1 adds r7, r6, #0x800 ldr r4, [r4, #4] smull r6, r5, r0, ip adc lr, lr, #0 adds r6, r6, #0x800 mov r7, r7, lsr #0xc adc r0, r5, #0 mov r5, r6, lsr #0xc orr r7, r7, lr, lsl #20 orr r5, r5, r0, lsl #20 add r5, r7, r5 rsb r0, r2, #0x1000 smull r6, r0, r5, r0 adds r5, r6, #0x800 smull r1, lr, r4, r1 adc r0, r0, #0 adds r6, r1, #0x800 mov r1, r5, lsr #0xc smull r5, r4, r3, ip adc ip, lr, #0 adds r5, r5, #0x800 mov r6, r6, lsr #0xc adc r3, r4, #0 mov r4, r5, lsr #0xc orr r6, r6, ip, lsl #20 orr r4, r4, r3, lsl #20 add r3, r6, r4 smull r4, r2, r3, r2 adds r3, r4, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r1, r1, r0, lsl #20 orr r3, r3, r2, lsl #20 add r0, r1, r3 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0212b3b8 _0212b548: .word data_027e0f94 .global func_ov15_0212b54c arm_func_start func_ov15_0212b54c func_ov15_0212b54c: ; 0x0212b54c stmdb sp!, {lr} sub sp, sp, #0xc add r3, sp, #0 mov lr, r1 mov ip, r2 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r0, r0, asr #0xc add r0, r0, #0xc str r0, [lr] ldr r0, [sp, #8] mov r0, r0, asr #0xc add r0, r0, #0xc str r0, [ip] ldr r1, [lr] cmp r1, #0 blt _0212b5b0 cmp r1, #0x18 bhi _0212b5b0 ldr r0, [ip] cmp r0, #0 blt _0212b5b0 cmp r0, #0x18 bls _0212b5bc _0212b5b0: add sp, sp, #0xc mov r0, #2 ldmia sp!, {pc} _0212b5bc: cmp r1, #0 cmpne r1, #0x18 cmpne r0, #0 cmpne r0, #0x18 moveq r0, #1 movne r0, #0 add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov15_0212b54c .global func_ov15_0212b5dc arm_func_start func_ov15_0212b5dc func_ov15_0212b5dc: ; 0x0212b5dc stmdb sp!, {r3, r4, r5, lr} ldr r0, [r0, #4] mov r5, r1 cmp r0, #0 mov r4, r2 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, [r0, #8] adds r3, r0, r1 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrh r0, [r3, #0xa] add r2, r3, #4 cmp r3, #0 ldrh r1, [r2, r0] add r0, r2, r0 mla r0, r1, r4, r0 ldr r0, [r0, #4] add r2, r3, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r2, #0x14] mov r0, #1 str r1, [r5] ldrh r1, [r2, #0x1c] strh r1, [r5, #4] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0212b5dc .global func_ov15_0212b654 arm_func_start func_ov15_0212b654 func_ov15_0212b654: ; 0x0212b654 stmdb sp!, {r3, r4, r5, lr} ldr r0, [r0, #0x28] mov r5, r1 cmp r0, #0 mov r4, r2 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, [r0, #8] adds r3, r0, r1 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrh r0, [r3, #0xa] add r2, r3, #4 cmp r3, #0 ldrh r1, [r2, r0] add r0, r2, r0 mla r0, r1, r4, r0 ldr r0, [r0, #4] add r2, r3, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r2, #0x14] mov r0, #1 str r1, [r5] ldrh r1, [r2, #0x1c] strh r1, [r5, #4] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0212b654 .global func_ov15_0212b6cc arm_func_start func_ov15_0212b6cc func_ov15_0212b6cc: ; 0x0212b6cc stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r0, [r7, #4] mov r6, r1 mov r5, r2 cmp r0, #0 beq _0212b70c 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 _0212b70c: ldr r0, [r7, #0x28] cmp r0, #0 beq _0212b73c 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 _0212b73c: strh r6, [r7, #0x7a] strh r5, [r7, #0x78] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_0212b6cc .global func_ov15_0212b748 arm_func_start func_ov15_0212b748 func_ov15_0212b748: ; 0x0212b748 ldr ip, _0212b754 ; =func_0201e4cc ldr r0, [r0, #0x10] bx ip .align 2, 0 arm_func_end func_ov15_0212b748 _0212b754: .word func_0201e4cc .global func_ov15_0212b758 arm_func_start func_ov15_0212b758 func_ov15_0212b758: ; 0x0212b758 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212ba28 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212b758 .global func_ov15_0212b76c arm_func_start func_ov15_0212b76c func_ov15_0212b76c: ; 0x0212b76c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r1, [r4] cmp r1, #0 beq _0212b7a8 ldr r1, [r4, #4] mov r3, #0 strb r3, [sp] sub r2, sp, #4 strb r3, [r2] ldr r2, [r2] bl func_ov15_0212b7e4 ldr r0, [r4] bl _ZN9SysObjectdlEPv _0212b7a8: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0212b76c .global func_ov15_0212b7b4 arm_func_start func_ov15_0212b7b4 func_ov15_0212b7b4: ; 0x0212b7b4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r2, #0 mov r5, r0 mov r1, #1 strb r2, [sp] bl func_ov15_0212bca0 mov r0, r5 mov r2, r4 mov r1, #1 bl func_ov15_0212baa4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0212b7b4 .global func_ov15_0212b7e4 arm_func_start func_ov15_0212b7e4 func_ov15_0212b7e4: ; 0x0212b7e4 ldr r2, [r0, #4] sub r1, r2, r1 str r1, [r0, #4] bx lr arm_func_end func_ov15_0212b7e4 .global func_ov15_0212b7f4 arm_func_start func_ov15_0212b7f4 func_ov15_0212b7f4: ; 0x0212b7f4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r0 ldrb r3, [r4, #8] mov r5, 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_ov15_0212ba9c mov r1, #0 strb r1, [sp, #2] sub r0, sp, #4 strb r1, [r0] ldr r2, [r0] add r0, sp, #4 mov r1, r5 bl func_ov15_0212bd70 ldr ip, [r4] ldr r1, [r4, #4] mov r0, #0x30 mla r3, r1, r0, ip mov r5, #0 ldr r2, [sp, #4] ldr r1, [sp, #8] strb r5, [sp, #1] mla lr, r1, r0, r2 cmp ip, r3 bhs _0212b8ec _0212b878: cmp lr, #0 beq _0212b8d0 ldrb r1, [ip] add r0, ip, #4 add r5, lr, #4 strb r1, [lr] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add r0, ip, #0x10 add r5, lr, #0x10 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [ip, #0x1c] str r0, [lr, #0x1c] ldr r0, [ip, #0x20] str r0, [lr, #0x20] ldr r0, [ip, #0x24] str r0, [lr, #0x24] ldr r0, [ip, #0x28] str r0, [lr, #0x28] ldr r0, [ip, #0x2c] str r0, [lr, #0x2c] _0212b8d0: ldr r0, [sp, #8] add ip, ip, #0x30 add r0, r0, #1 str r0, [sp, #8] cmp ip, r3 add lr, lr, #0x30 blo _0212b878 _0212b8ec: mov r0, #0 strb r0, [sp] add r3, sp, #0xc ldr r2, [r4, #8] ldr r1, [r3] add r0, sp, #4 str r1, [r4, #8] str r2, [r3] ldr r2, [r4] ldr r1, [sp, #4] str r1, [r4] str r2, [sp, #4] ldr r2, [r4, #4] ldr r1, [sp, #8] str r1, [r4, #4] str r2, [sp, #8] bl func_ov15_0212ba4c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0212b7f4 .global func_ov15_0212b938 arm_func_start func_ov15_0212b938 func_ov15_0212b938: ; 0x0212b938 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 cmp r4, r2 beq _0212ba1c ldr r5, [r0] ldr r3, [r0, #4] mov r1, #0x30 mla ip, r3, r1, r5 sub r3, ip, r2 ldr lr, _0212ba24 ; =0x2aaaaaab mov r1, r3, lsr #0x1f smull r3, r5, lr, r3 adds r5, r1, r5, asr #3 beq _0212b9f0 mov r3, r4 mov r1, r2 cmp r2, ip bhs _0212b9f0 _0212b980: ldrb lr, [r1] strb lr, [r3] ldr lr, [r1, #4] str lr, [r3, #4] ldr lr, [r1, #8] str lr, [r3, #8] ldr lr, [r1, #0xc] str lr, [r3, #0xc] ldr lr, [r1, #0x10] str lr, [r3, #0x10] ldr lr, [r1, #0x14] str lr, [r3, #0x14] ldr lr, [r1, #0x18] str lr, [r3, #0x18] ldr lr, [r1, #0x1c] str lr, [r3, #0x1c] ldr lr, [r1, #0x20] str lr, [r3, #0x20] ldr lr, [r1, #0x24] str lr, [r3, #0x24] ldr lr, [r1, #0x28] str lr, [r3, #0x28] ldr lr, [r1, #0x2c] add r1, r1, #0x30 str lr, [r3, #0x2c] cmp r1, ip add r3, r3, #0x30 blo _0212b980 _0212b9f0: mov r1, #0 ldr r3, _0212ba24 ; =0x2aaaaaab sub lr, r2, r4 strb r1, [sp] sub ip, sp, #4 strb r1, [ip] smull r2, r1, r3, lr mov r3, lr, lsr #0x1f ldr r2, [ip] add r1, r3, r1, asr #3 bl func_ov15_0212b7e4 _0212ba1c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212b938 _0212ba24: .word 0x2aaaaaab .global func_ov15_0212ba28 arm_func_start func_ov15_0212ba28 func_ov15_0212ba28: ; 0x0212ba28 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4] add r0, r4, #8 str r1, [r4, #4] bl func_ov15_0212ba94 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212ba28 .global func_ov15_0212ba4c arm_func_start func_ov15_0212ba4c func_ov15_0212ba4c: ; 0x0212ba4c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r1, [r4] cmp r1, #0 beq _0212ba88 ldr r1, [r4, #4] mov r3, #0 strb r3, [sp] sub r2, sp, #4 strb r3, [r2] ldr r2, [r2] bl func_ov15_0212b7e4 ldr r0, [r4] bl _ZN9SysObjectdlEPv _0212ba88: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0212ba4c .global func_ov15_0212ba94 arm_func_start func_ov15_0212ba94 func_ov15_0212ba94: ; 0x0212ba94 str r1, [r0] bx lr arm_func_end func_ov15_0212ba94 .global func_ov15_0212ba9c arm_func_start func_ov15_0212ba9c func_ov15_0212ba9c: ; 0x0212ba9c str r1, [r0] bx lr arm_func_end func_ov15_0212ba9c .global func_ov15_0212baa4 arm_func_start func_ov15_0212baa4 func_ov15_0212baa4: ; 0x0212baa4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r4, r0 mov r6, r1 add r0, sp, #8 add r1, r4, #8 mov r5, r2 bl func_ov15_0212be64 mov r0, #0 str r0, [sp, #0x18] ldmib r4, {r0, r1} add r2, r0, r6 mov r0, r4 sub r1, r2, r1 bl func_ov15_0212bca0 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_ov15_0212be1c ldr ip, [r4, #4] mov r0, #0 strb r0, [sp, #3] ldr r2, [sp, #8] mov r0, #0x30 mla r3, ip, r0, r2 ldr r2, [sp, #0xc] str ip, [sp, #0x18] mla r0, r2, r0, r3 cmp r6, #0 mov r1, r6 beq _0212bba0 _0212bb34: ldrb r2, [r5] subs r1, r1, #1 strb r2, [r0] ldr r2, [r5, #4] str r2, [r0, #4] ldr r2, [r5, #8] str r2, [r0, #8] ldr r2, [r5, #0xc] str r2, [r0, #0xc] ldr r2, [r5, #0x10] str r2, [r0, #0x10] ldr r2, [r5, #0x14] str r2, [r0, #0x14] ldr r2, [r5, #0x18] str r2, [r0, #0x18] ldr r2, [r5, #0x1c] str r2, [r0, #0x1c] ldr r2, [r5, #0x20] str r2, [r0, #0x20] ldr r2, [r5, #0x24] str r2, [r0, #0x24] ldr r2, [r5, #0x28] str r2, [r0, #0x28] ldr r2, [r5, #0x2c] str r2, [r0, #0x2c] add r0, r0, #0x30 bne _0212bb34 _0212bba0: ldr r1, [sp, #0xc] mov r0, #0x30 add r1, r1, r6 str r1, [sp, #0xc] ldr lr, [r4] ldr r1, [r4, #4] mov r5, #0 mla r3, r1, r0, lr ldr r2, [sp, #8] ldr r1, [sp, #0x18] strb r5, [sp, #2] mla ip, r1, r0, r2 cmp r3, lr bls _0212bc54 _0212bbd8: sub r3, r3, #0x30 subs ip, ip, #0x30 beq _0212bc34 ldrb r1, [r3] add r0, r3, #4 add r5, ip, #4 strb r1, [ip] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add r0, r3, #0x10 add r5, ip, #0x10 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [r3, #0x1c] str r0, [ip, #0x1c] ldr r0, [r3, #0x20] str r0, [ip, #0x20] ldr r0, [r3, #0x24] str r0, [ip, #0x24] ldr r0, [r3, #0x28] str r0, [ip, #0x28] ldr r0, [r3, #0x2c] str r0, [ip, #0x2c] _0212bc34: ldr r1, [sp, #0x18] ldr r0, [sp, #0xc] sub r1, r1, #1 add r0, r0, #1 str r1, [sp, #0x18] str r0, [sp, #0xc] cmp r3, lr bhi _0212bbd8 _0212bc54: mov r0, #0 strb r0, [sp, #1] add r3, sp, #0x10 ldr r2, [r4, #8] ldr r1, [r3] add r0, sp, #8 str r1, [r4, #8] str r2, [r3] ldr r2, [r4] ldr r1, [sp, #8] str r1, [r4] str r2, [sp, #8] ldr r2, [r4, #4] ldr r1, [sp, #0xc] str r1, [r4, #4] str r2, [sp, #0xc] bl func_ov15_0212bdb8 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov15_0212baa4 .global func_ov15_0212bca0 arm_func_start func_ov15_0212bca0 func_ov15_0212bca0: ; 0x0212bca0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r4, [r0, #8] ldr r0, _0212bd64 ; =0x05555555 ldr r1, [sp, #0x14] sub r0, r0, r4 cmp r1, r0 bls _0212bcc8 bl func_0204dd9c _0212bcc8: ldr r0, _0212bd68 ; =0x01c71c71 cmp r4, r0 bhs _0212bd14 add r1, r4, #1 ldr r0, _0212bd6c ; =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 _0212bd14: cmp r4, r0, lsl #1 bhs _0212bd50 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 _0212bd50: ldr r0, _0212bd64 ; =0x05555555 add sp, sp, #8 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov15_0212bca0 _0212bd64: .word 0x05555555 _0212bd68: .word 0x01c71c71 _0212bd6c: .word 0xcccccccd .global func_ov15_0212bd70 arm_func_start func_ov15_0212bd70 func_ov15_0212bd70: ; 0x0212bd70 stmdb sp!, {r3, r4, r5, lr} ldr r2, _0212bdb0 ; =0x05555555 mov r4, r1 mov r5, r0 cmp r4, r2 bls _0212bd8c bl func_0204dd9c _0212bd8c: mov r0, #0x30 mul r0, r4, r0 ldr r1, _0212bdb4 ; =data_027e0ce0 mov r2, #4 ldr r1, [r1, #4] bl _ZN9SysObjectnwEmPjj str r0, [r5] str r4, [r5, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212bd70 _0212bdb0: .word 0x05555555 _0212bdb4: .word data_027e0ce0 .global func_ov15_0212bdb8 arm_func_start func_ov15_0212bdb8 func_ov15_0212bdb8: ; 0x0212bdb8 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #4] bl func_ov15_0212bdd4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212bdb8 .global func_ov15_0212bdd4 arm_func_start func_ov15_0212bdd4 func_ov15_0212bdd4: ; 0x0212bdd4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r1, [r4] cmp r1, #0 beq _0212be10 ldr r1, [r4, #4] mov r3, #0 strb r3, [sp] sub r2, sp, #4 strb r3, [r2] ldr r2, [r2] bl func_ov15_0212be94 ldr r0, [r4] bl _ZN9SysObjectdlEPv _0212be10: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0212bdd4 .global func_ov15_0212be1c arm_func_start func_ov15_0212be1c func_ov15_0212be1c: ; 0x0212be1c stmdb sp!, {r3, r4, r5, lr} ldr r2, _0212be5c ; =0x05555555 mov r4, r1 mov r5, r0 cmp r4, r2 bls _0212be38 bl func_0204dd9c _0212be38: mov r0, #0x30 mul r0, r4, r0 ldr r1, _0212be60 ; =data_027e0ce0 mov r2, #4 ldr r1, [r1, #4] bl _ZN9SysObjectnwEmPjj str r0, [r5] str r4, [r5, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212be1c _0212be5c: .word 0x05555555 _0212be60: .word data_027e0ce0 .global func_ov15_0212be64 arm_func_start func_ov15_0212be64 func_ov15_0212be64: ; 0x0212be64 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_ov15_0212be8c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212be64 .global func_ov15_0212be8c arm_func_start func_ov15_0212be8c func_ov15_0212be8c: ; 0x0212be8c stmia r0, {r1, r2} bx lr arm_func_end func_ov15_0212be8c .global func_ov15_0212be94 arm_func_start func_ov15_0212be94 func_ov15_0212be94: ; 0x0212be94 ldr r2, [r0, #4] sub r1, r2, r1 str r1, [r0, #4] bx lr arm_func_end func_ov15_0212be94 .global func_ov15_0212bea4 arm_func_start func_ov15_0212bea4 func_ov15_0212bea4: ; 0x0212bea4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r6, r0 ldr r0, [r6, #0x2c] mov r5, r1 add r3, r0, #0x1000 add r0, r6, #4 add r1, r6, #0x10 mov r2, r0 str r3, [r6, #0x2c] bl func_01ff9bc4 add r1, sp, #4 add r2, sp, #0 add r0, r6, #4 bl func_ov15_0212b54c cmp r0, #0 beq _0212bf0c cmp r0, #1 cmpne r0, #2 bne _0212bf0c mov r0, r6 mov r1, r5 bl func_ov15_0212c0e0 add sp, sp, #8 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0212bf0c: ldr r2, [sp, #4] ldr r1, [sp] mov r0, #0x19 mla r0, r1, r0, r2 mov r0, r0, lsl #0x10 ldr r2, [r6, #0x24] ldr r1, [r6, #0x2c] mov r4, r0, lsr #0x10 cmp r1, r2 bgt _0212bf98 sub r1, r2, r1 ldr r2, [r6, #0x20] cmp r1, #0x1000 strle r2, [r6, #0x1c] ble _0212bf60 ldr r0, [r6, #0x1c] sub r0, r2, r0 bl Divide ldr r1, [r6, #0x1c] add r0, r1, r0 str r0, [r6, #0x1c] _0212bf60: ldr r3, [r5, r4, lsl #2] ldr r1, [r6, #0x1c] ldr r2, [r3, #0xc] mov r0, r6 sub r1, r2, r1 str r1, [r3, #0xc] ldr r3, [r6, #0x1c] mov r1, r5 mov r2, r4 rsb r3, r3, #0 bl func_ov15_0212c024 add sp, sp, #8 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0212bf98: ldr r0, [r6, #0x28] add r0, r2, r0 cmp r1, r0 bgt _0212c00c add r0, r0, #0x1000 sub r1, r0, r1 cmp r1, #0x1000 movle r0, #0 ble _0212bfd0 ldr r0, [r6, #0x1c] rsb r0, r0, #0 bl Divide ldr r1, [r6, #0x1c] add r0, r1, r0 _0212bfd0: str r0, [r6, #0x1c] ldr r3, [r5, r4, lsl #2] ldr r1, [r6, #0x1c] ldr r2, [r3, #0xc] mov r0, r6 sub r1, r2, r1 str r1, [r3, #0xc] ldr r3, [r6, #0x1c] mov r1, r5 mov r2, r4 rsb r3, r3, #0 bl func_ov15_0212c024 add sp, sp, #8 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0212c00c: mov r0, r6 mov r1, r5 bl func_ov15_0212c0e0 mov r0, #1 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0212bea4 .global func_ov15_0212c024 arm_func_start func_ov15_0212c024 func_ov15_0212c024: ; 0x0212c024 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr lr, _0212c0dc ; =0x51eb851f mov r4, r3, asr #0x1f umull ip, r0, r2, lr mov ip, #0x800 mov r5, r4, lsl #0xb adds r6, ip, r3, lsl #11 orr r5, r5, r3, lsr #21 mov r0, r0, lsr #0x3 mov ip, #0x19 umull r0, r3, ip, r0 umull ip, r3, r2, lr sub r0, r2, r0 mov r4, #0 mov ip, r6, lsr #0xc adc r5, r5, #0 sub r6, r4, #1 orr ip, ip, r5, lsl #20 mov r5, r6 mov r2, #0x19 _0212c074: mov r7, r5 add r8, r0, r6 _0212c07c: cmp r6, #0 cmpeq r7, #0 beq _0212c0c0 cmp r8, #1 blt _0212c0c0 cmp r8, #0x18 bhs _0212c0c0 add lr, r7, r3, lsr #3 cmp lr, #1 blt _0212c0c0 cmp lr, #0x18 bhs _0212c0c0 mla r4, lr, r2, r8 ldr lr, [r1, r4, lsl #2] ldr r4, [lr, #0xc] add r4, r4, ip str r4, [lr, #0xc] _0212c0c0: add r7, r7, #1 cmp r7, #1 ble _0212c07c add r6, r6, #1 cmp r6, #1 ble _0212c074 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0212c024 _0212c0dc: .word 0x51eb851f .global func_ov15_0212c0e0 arm_func_start func_ov15_0212c0e0 func_ov15_0212c0e0: ; 0x0212c0e0 ldr r3, [r0, #0x24] ldr r2, [r0, #0x28] mov r1, #0 add r2, r3, r2 add r2, r2, #0x1000 str r2, [r0, #0x2c] strb r1, [r0] bx lr arm_func_end func_ov15_0212c0e0 .global func_ov15_0212c100 arm_func_start func_ov15_0212c100 func_ov15_0212c100: ; 0x0212c100 ldr ip, _0212c108 ; =func_ov15_0212c1c8 bx ip .align 2, 0 arm_func_end func_ov15_0212c100 _0212c108: .word func_ov15_0212c1c8 .global func_ov15_0212c10c arm_func_start func_ov15_0212c10c func_ov15_0212c10c: ; 0x0212c10c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldrh ip, [r1, #0x1c] cmp ip, #4 ldreqb r0, [r1, #0x1e] cmpeq r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr lr, [r1, #4] ldr r3, [r1, #0xc] mov r0, #0 mov r6, r0 cmp ip, #0 sub r3, lr, r3 bls _0212c168 _0212c140: add r4, r1, r6, lsl #1 ldrh r5, [r4, #0x10] add r4, r6, #1 mov r4, r4, lsl #0x10 ldr r5, [r2, r5, lsl #2] cmp ip, r4, lsr #16 ldr r5, [r5, #4] mov r6, r4, lsr #0x10 add r0, r0, r5 bhi _0212c140 _0212c168: ldr r2, _0212c1c4 ; =data_ov15_0218ede4 ldr r5, [r2, #0x18] ldmia r2, {r4, ip} smull r2, r0, r5, r0 adds r7, r2, #0x800 smull r2, r5, ip, lr adc r0, r0, #0 adds r6, r2, #0x800 mov r2, r7, lsr #0xc smull ip, r3, r4, r3 adc r5, r5, #0 adds r4, ip, #0x800 mov r6, r6, lsr #0xc adc r3, r3, #0 mov r4, r4, lsr #0xc orr r6, r6, r5, lsl #20 orr r4, r4, r3, lsl #20 orr r2, r2, r0, lsl #20 add r0, r6, r4 add r0, r2, r0 sub r0, r0, lr str r0, [r1, #0xc] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0212c10c _0212c1c4: .word data_ov15_0218ede4 .global func_ov15_0212c1c8 arm_func_start func_ov15_0212c1c8 func_ov15_0212c1c8: ; 0x0212c1c8 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0212c308 ; =0x00001333 ldr r2, _0212c30c ; =data_ov15_0218ede4 sub r0, r1, #0x1000 str r1, [r2, #0x14] str r0, [r2, #0x10] mov r0, #0x1000 mov r1, #0x1e000 str r0, [r2, #0xc] bl Divide ldr r1, _0212c30c ; =data_ov15_0218ede4 str r0, [r1, #8] ldr r2, [r1, #0x14] ldr r1, [r1, #0xc] smull r3, r0, r2, r0 adds r3, r3, #0x800 adc r2, r0, #0 mov r0, r3, lsr #0xc orr r0, r0, r2, lsl #20 bl Divide ldr r1, _0212c30c ; =data_ov15_0218ede4 mov r4, r0 ldr r2, [r1, #0x10] ldr r1, [r1, #8] mov r0, #0x1000 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r1, r2, #0x2000 bl Divide smull r2, r1, r4, r4 adds r3, r2, #0x800 adc r2, r1, #0 mov r1, r3, lsr #0xc orr r1, r1, r2, lsl #20 mov r5, r1, asr #0x1f mov r3, r5, lsl #0xf mov r2, #0x800 adds r4, r2, r1, lsl #15 orr r3, r3, r1, lsr #17 adc r3, r3, #0 mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 rsb r3, r4, #0x4000 mov r4, r5, lsl #0xd smull ip, r5, r3, r0 adds ip, ip, #0x800 adc r3, r5, #0 mov r5, ip, lsr #0xc orr r5, r5, r3, lsl #20 ldr r3, _0212c30c ; =data_ov15_0218ede4 orr r4, r4, r1, lsr #19 str r5, [r3, #4] ldr lr, [r3, #0x10] ldr ip, [r3, #8] smull r5, ip, lr, ip adds lr, r5, #0x800 adc r5, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r5, lsl #20 sub r5, ip, #0x2000 smull lr, ip, r5, r0 adds lr, lr, #0x800 adc r5, ip, #0 adds r2, r2, r1, lsl #13 mov r1, lr, lsr #0xc orr r1, r1, r5, lsl #20 str r1, [r3] adc r1, r4, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 smull r1, r0, r2, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r3, #0x18] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212c1c8 _0212c308: .word 0x00001333 _0212c30c: .word data_ov15_0218ede4 .global func_ov15_0212c310 arm_func_start func_ov15_0212c310 func_ov15_0212c310: ; 0x0212c310 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212a010 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212c310 .global func_ov15_0212c324 arm_func_start func_ov15_0212c324 func_ov15_0212c324: ; 0x0212c324 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212a010 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212c324 .global func_ov15_0212c340 arm_func_start func_ov15_0212c340 func_ov15_0212c340: ; 0x0212c340 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrh r2, [r5, #0x1c] mov r4, r1 cmp r2, #6 ldmhsia sp!, {r3, r4, r5, pc} bl func_ov15_0212c380 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrh r0, [r5, #0x1c] add r0, r5, r0, lsl #1 strh r4, [r0, #0x10] ldrh r0, [r5, #0x1c] add r0, r0, #1 strh r0, [r5, #0x1c] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0212c340 .global func_ov15_0212c380 arm_func_start func_ov15_0212c380 func_ov15_0212c380: ; 0x0212c380 ldrh ip, [r0, #0x1c] mov r3, #0 cmp ip, #0 ble _0212c3b0 _0212c390: add r2, r0, r3, lsl #1 ldrh r2, [r2, #0x10] cmp r1, r2 moveq r0, #1 bxeq lr add r3, r3, #1 cmp r3, ip blt _0212c390 _0212c3b0: mov r0, #0 bx lr arm_func_end func_ov15_0212c380 .global func_ov15_0212c3b8 arm_func_start func_ov15_0212c3b8 func_ov15_0212c3b8: ; 0x0212c3b8 stmdb sp!, {r3, r4, r5, lr} ldr r2, _0212c418 ; =data_027e0ce0 mov r5, r0 str r1, [r5] ldr r1, [r2, #4] mov r0, #0x7c mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _0212c40c ldr r1, _0212c418 ; =data_027e0ce0 mov r0, #4 ldr r1, [r1, #4] mov r2, r0 bl _ZN9SysObjectnwEmPjj movs r1, r0 ldrne r0, _0212c41c ; =data_ov15_0218a424 strne r0, [r1] mov r0, r4 bl func_ov15_0212a014 mov r4, r0 _0212c40c: mov r0, r5 str r4, [r5, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212c3b8 _0212c418: .word data_027e0ce0 _0212c41c: .word data_ov15_0218a424 .global func_ov15_0212c420 arm_func_start func_ov15_0212c420 func_ov15_0212c420: ; 0x0212c420 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #4] cmp r4, #0 beq _0212c450 beq _0212c448 mov r0, r4 bl func_ov15_0212a2a4 mov r0, r4 bl _ZN9SysObjectdlEPv _0212c448: mov r0, #0 str r0, [r5, #4] _0212c450: mov r1, #0 mov r0, r5 str r1, [r5] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0212c420 .global func_ov15_0212c460 arm_func_start func_ov15_0212c460 func_ov15_0212c460: ; 0x0212c460 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc movs r4, r1 mov r5, r0 beq _0212c4b0 ldr r0, _0212c4c4 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _0212c4b0 ldr r1, _0212c4c8 ; =data_027e0f64 mov r0, #0x3800 ldr r1, [r1] rsb r0, r0, #0 ldr r1, [r1, #8] ldr r1, [r1, #0x270] cmp r1, r0 addle sp, sp, #0xc ldmleia sp!, {r4, r5, pc} _0212c4b0: ldr r0, [r5, #4] mov r1, r4 bl func_ov15_0212a780 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212c460 _0212c4c4: .word data_027e0d38 _0212c4c8: .word data_027e0f64 .global func_ov15_0212c4cc arm_func_start func_ov15_0212c4cc func_ov15_0212c4cc: ; 0x0212c4cc stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x18 ldr r1, _0212c6a4 ; =data_027e0d38 mov r10, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #2 bne _0212c4f8 mov r0, #1 b _0212c4fc _0212c4f8: mov r0, #0 _0212c4fc: str r0, [r10, #8] ldr r1, [r10, #8] mov r0, #0xc mul r3, r1, r0 ldr r1, _0212c6a8 ; =data_ov15_0218a434 ldr r2, [r10, #4] ldr r0, [r1, r3] add r3, r1, r3 str r0, [r2, #0x50] ldr r0, [r3, #4] ldr r1, _0212c6ac ; =data_ov15_02185d28 str r0, [r2, #0x54] ldr r0, [r3, #8] str r0, [r2, #0x58] ldmib r10, {r0, r2} ldr r1, [r1, r2, lsl #2] str r1, [r0, #0x4c] ldr r0, [r10, #4] bl func_ov15_0212a4ec mov r8, #0 str r8, [sp, #0xc] str r8, [sp, #0x10] str r8, [sp, #0x14] mov r6, r8 add r5, sp, #0 add r4, sp, #0xc mov r11, r8 _0212c568: rsb r0, r8, #0xc mov r7, r11 mov r9, r0, lsl #0xc _0212c574: rsb r0, r7, #0xc mov r3, r0, lsl #0xc mov r0, r5 mov r1, r4 mov r2, r5 str r3, [sp] str r6, [sp, #4] str r9, [sp, #8] bl func_01ff9bc4 ldr r0, [r10, #4] mov r1, r5 bl func_ov15_0212adb8 add r7, r7, #1 cmp r7, #0x19 blo _0212c574 add r8, r8, #1 cmp r8, #0x19 blo _0212c568 mov r7, #0 _0212c5c0: mov r0, #0x19 sub r2, r7, #1 add r1, r7, #1 mul r4, r7, r0 mul r5, r2, r0 mul r6, r1, r0 mov r8, #0 _0212c5dc: cmp r8, #0 ble _0212c608 sub r0, r8, #1 add r1, r8, r4 add r0, r0, r4 mov r1, r1, lsl #0x10 mov r2, r0, lsl #0x10 ldr r0, [r10, #4] mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl func_ov15_0212ae5c _0212c608: cmp r8, #0x18 bhs _0212c634 add r0, r8, #1 add r1, r8, r4 add r0, r0, r4 mov r1, r1, lsl #0x10 mov r2, r0, lsl #0x10 ldr r0, [r10, #4] mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl func_ov15_0212ae5c _0212c634: cmp r7, #0 ble _0212c65c add r1, r8, r4 add r0, r8, r5 mov r1, r1, lsl #0x10 mov r2, r0, lsl #0x10 ldr r0, [r10, #4] mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl func_ov15_0212ae5c _0212c65c: cmp r7, #0x18 bhs _0212c684 add r1, r8, r4 add r0, r8, r6 mov r1, r1, lsl #0x10 mov r2, r0, lsl #0x10 ldr r0, [r10, #4] mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl func_ov15_0212ae5c _0212c684: add r8, r8, #1 cmp r8, #0x19 blo _0212c5dc add r7, r7, #1 cmp r7, #0x19 blo _0212c5c0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212c4cc _0212c6a4: .word data_027e0d38 _0212c6a8: .word data_ov15_0218a434 _0212c6ac: .word data_ov15_02185d28 .global func_ov15_0212c6b0 arm_func_start func_ov15_0212c6b0 func_ov15_0212c6b0: ; 0x0212c6b0 ldr ip, _0212c6bc ; =func_ov15_0212a504 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov15_0212c6b0 _0212c6bc: .word func_ov15_0212a504 .global func_ov15_0212c6c0 arm_func_start func_ov15_0212c6c0 func_ov15_0212c6c0: ; 0x0212c6c0 stmdb sp!, {r3, lr} ldr r1, _0212c6ec ; =data_027e10a4 ldr r2, [r1] ldr r1, [r2, #0x2c] cmp r1, #5 ldreq r1, [r2, #0x324] cmpeq r1, #6 ldmeqia sp!, {r3, pc} ldr r0, [r0, #4] bl func_ov15_0212a530 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212c6c0 _0212c6ec: .word data_027e10a4 .global func_ov15_0212c6f0 arm_func_start func_ov15_0212c6f0 func_ov15_0212c6f0: ; 0x0212c6f0 ldr ip, _0212c6fc ; =func_ov15_0212b3b8 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov15_0212c6f0 _0212c6fc: .word func_ov15_0212b3b8 .global func_ov15_0212c700 arm_func_start func_ov15_0212c700 func_ov15_0212c700: ; 0x0212c700 stmdb sp!, {r3, lr} ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0212b6cc ldmia sp!, {r3, pc} arm_func_end func_ov15_0212c700 .global func_ov15_0212c718 arm_func_start func_ov15_0212c718 func_ov15_0212c718: ; 0x0212c718 ldr r0, [r0, #4] str r1, [r0, #0x48] bx lr arm_func_end func_ov15_0212c718 .global func_ov15_0212c724 arm_func_start func_ov15_0212c724 func_ov15_0212c724: ; 0x0212c724 ldr ip, _0212c730 ; =func_ov15_0212b748 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov15_0212c724 _0212c730: .word func_ov15_0212b748 .global func_ov15_0212c734 arm_func_start func_ov15_0212c734 func_ov15_0212c734: ; 0x0212c734 stmdb sp!, {r3, lr} ldr r1, _0212c760 ; =data_027e0fe0 mov r0, #0x30c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0212c870 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212c734 _0212c760: .word data_027e0fe0 .global func_ov15_0212c764 arm_func_start func_ov15_0212c764 func_ov15_0212c764: ; 0x0212c764 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0212c794 ; =data_ov15_0218a560 mvn r0, #0 str r1, [r4] str r0, [r4, #0x5c] mov r1, #0 mov r0, r4 strh r1, [r4, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212c764 _0212c794: .word data_ov15_0218a560 .global func_ov15_0212c798 arm_func_start func_ov15_0212c798 func_ov15_0212c798: ; 0x0212c798 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r5, r0 ldr r0, [r5, #0x5c] mov r4, r1 cmp r0, #0 bge _0212c7cc ldr r0, [r4, #4] ldr r1, _0212c864 ; =data_ov15_02185da4 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r5, #0x5c] _0212c7cc: ldr r0, [r4, #8] tst r0, #0x10 ldrneb r1, [r4, #0xae] ldr r0, [r5, #0x5c] mvneq r1, #0 cmp r0, r1 addne sp, sp, #0x48 ldmneia sp!, {r3, r4, r5, pc} ldr r4, [r4, #0xb4] ldr r3, _0212c868 ; =data_02050f54 ldr r1, [r4] add r0, sp, #0x24 bic r1, r1, #2 str r1, [r4] ldrh r1, [r5, #0x60] 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 r1, r4, #0x28 add r0, sp, #0x24 mov r2, r1 bl func_0202e030 ldr r1, _0212c86c ; =data_02053f54 add r0, sp, #0 ldrsh r2, [r1, #2] ldrsh r1, [r1] blx func_01ff8230 add r1, r4, #0x28 add r0, sp, #0 mov r2, r1 bl func_0202e030 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212c798 _0212c864: .word data_ov15_02185da4 _0212c868: .word data_02050f54 _0212c86c: .word data_02053f54 .global func_ov15_0212c870 arm_func_start func_ov15_0212c870 func_ov15_0212c870: ; 0x0212c870 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214e078 ldr r1, _0212c928 ; =data_ov15_0218a49c add r0, r4, #0x1d8 str r1, [r4] bl func_ov15_0212c764 mov r2, #0 str r2, [r4, #0x23c] str r2, [r4, #0x24c] str r2, [r4, #0x254] str r2, [r4, #0x258] str r2, [r4, #0x25c] str r2, [r4, #0x260] sub r0, r2, #1 str r0, [r4, #0x264] add r0, r4, #0x200 strh r2, [r0, #0x68] strh r2, [r0, #0x6a] strb r2, [r4, #0x26c] strb r2, [r4, #0x26f] strb r2, [r4, #0x270] strb r2, [r4, #0x271] add r0, r4, #0x274 mov r1, #0x1000000 strb r2, [r4, #0x272] bl func_ov00_020d18f4 mov r1, #0 str r1, [r4, #0x2d0] sub r0, r1, #1 str r0, [r4, #0x2d4] str r1, [r4, #0x2d8] str r1, [r4, #0x2dc] str r0, [r4, #0x2e0] str r1, [r4, #0x2e4] str r1, [r4, #0x2e8] str r0, [r4, #0x2ec] str r1, [r4, #0x2f0] str r1, [r4, #0x2f4] str r0, [r4, #0x2f8] str r1, [r4, #0x2fc] str r1, [r4, #0x300] str r0, [r4, #0x304] mov r0, r4 str r1, [r4, #0x308] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212c870 _0212c928: .word data_ov15_0218a49c .global func_ov15_0212c92c arm_func_start func_ov15_0212c92c func_ov15_0212c92c: ; 0x0212c92c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212c92c .global func_ov15_0212c940 arm_func_start func_ov15_0212c940 func_ov15_0212c940: ; 0x0212c940 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x300 bl func_ov00_020b7e6c add r0, r4, #0x300 bl func_ov00_020b7df0 add r0, r4, #0x2f4 bl func_ov00_020b7e6c add r0, r4, #0x2f4 bl func_ov00_020b7df0 add r0, r4, #0x2e8 bl func_ov00_020b7e6c add r0, r4, #0x2e8 bl func_ov00_020b7df0 add r0, r4, #0x2dc bl func_ov00_020b7e6c add r0, r4, #0x2dc bl func_ov00_020b7df0 add r0, r4, #0x2d0 bl func_ov00_020b7e6c add r0, r4, #0x2d0 bl func_ov00_020b7df0 add r0, r4, #0x274 bl func_ov00_020d1980 add r0, r4, #0x1d8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0214e118 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212c940 .global func_ov15_0212c9b8 arm_func_start func_ov15_0212c9b8 func_ov15_0212c9b8: ; 0x0212c9b8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x300 bl func_ov00_020b7e6c add r0, r4, #0x300 bl func_ov00_020b7df0 add r0, r4, #0x2f4 bl func_ov00_020b7e6c add r0, r4, #0x2f4 bl func_ov00_020b7df0 add r0, r4, #0x2e8 bl func_ov00_020b7e6c add r0, r4, #0x2e8 bl func_ov00_020b7df0 add r0, r4, #0x2dc bl func_ov00_020b7e6c add r0, r4, #0x2dc bl func_ov00_020b7df0 add r0, r4, #0x2d0 bl func_ov00_020b7e6c add r0, r4, #0x2d0 bl func_ov00_020b7df0 add r0, r4, #0x274 bl func_ov00_020d1980 add r0, r4, #0x1d8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0214e118 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212c9b8 .global func_ov15_0212ca38 arm_func_start func_ov15_0212ca38 func_ov15_0212ca38: ; 0x0212ca38 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 mov r4, r0 mov r1, #0 ldr r0, _0212cdf0 ; =data_027e0fe4 strb r1, [r4, #0x1a9] ldr r0, [r0] bl func_ov15_02184644 ldr r0, _0212cdf4 ; =gAdventureFlags mov r1, #0x37 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0212ca8c ldrh r0, [r4, #0x20] cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x272] moveq r0, #0 streqb r0, [r4, #0x272] b _0212ca94 _0212ca8c: mov r0, #0 strb r0, [r4, #0x272] _0212ca94: ldrb r0, [r4, #0x272] cmp r0, #0 beq _0212cb54 mov r0, r4 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi mov r1, #0 mov r5, r0 mov r0, r4 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii cmp r5, #0 beq _0212cb0c ldr r0, _0212cdf0 ; =data_027e0fe4 ldrh r3, [r4, #0x26] ldr r0, [r0] add r2, sp, #4 add r1, r4, #0x48 str r3, [sp, #4] bl func_ov15_021846f8 ldr r0, _0212cdf0 ; =data_027e0fe4 ldrh r3, [r4, #0x26] ldr r0, [r0] ldr r1, _0212cdf8 ; =data_ov15_0218a484 add r2, sp, #0 str r3, [sp] bl func_ov15_02184728 add sp, sp, #0x14 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0212cb0c: ldr r0, _0212cdfc ; =data_027e0fec ldr r0, [r0] add r0, r0, #0xff0 add r0, r0, #0x1000 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x1d8 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, #1 mov r1, #0xa strb r0, [r4, #0x271] add r0, r4, #0x100 strh r1, [r0, #0x20] rsb r0, r1, #0xe70 str r0, [r4, #0x184] b _0212cb90 _0212cb54: ldr r0, _0212cdfc ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x28 add r0, r0, #0x2000 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x1d8 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 add r0, r4, #0x100 mov r1, #5 strh r1, [r0, #0x20] mov r0, #0x800 str r0, [r4, #0x184] _0212cb90: mov r2, #2 add r0, r4, #0x1d8 mov r1, #6 strb r2, [r4, #0x1a8] bl func_ov00_020a9998 ldr ip, _0212cdf0 ; =data_027e0fe4 ldrh r1, [r4, #0x26] ldr r0, [ip] mov r3, #0xc mla r0, r1, r3, r0 add r0, r0, #0x68 add r5, sp, #8 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r1, [sp, #8] sub r0, r3, #0x8000000d cmp r1, r0 beq _0212cc28 ldr r1, [sp, #8] add r0, r4, #0x100 str r1, [r4, #0x48] ldr r1, [sp, #0xc] str r1, [r4, #0x4c] ldr r1, [sp, #0x10] str r1, [r4, #0x50] ldrh r1, [r4, #0x26] ldr r2, [ip] add r1, r2, r1 ldrsb r1, [r1, #0xbc] strh r1, [r0, #0x20] ldrsh r1, [r0, #0x20] cmp r1, #0 bgt _0212cc28 sub r0, r3, #0xd cmp r1, r0 addne sp, sp, #0x14 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, pc} _0212cc28: ldr r1, _0212ce00 ; =0x0000ffff mov r0, #0x800 strh r1, [r4, #0x7a] rsb r0, r0, #0 str r0, [r4, #0x4c] ldr r0, [r4, #0x48] mov r6, #7 str r0, [r4, #0x54] ldr r0, [r4, #0x4c] add r2, r4, #0x100 str r0, [r4, #0x58] ldr r0, [r4, #0x50] mov ip, #0x400 str r0, [r4, #0x5c] ldr r0, [r4, #0x48] mov r7, #0x800 str r0, [r4, #0x1c8] ldr r0, [r4, #0x4c] mov r3, #0x10 str r0, [r4, #0x1cc] ldr r0, [r4, #0x50] mov r1, #0 str r0, [r4, #0x1d0] ldrsh lr, [r4, #0x78] mov r0, #2 rsb r5, r6, #0x9a0 strh lr, [r2, #0xd4] str ip, [r4, #0x198] str r7, [r4, #0x19c] str r3, [r4, #0x6c] ldr r3, [r4, #0x184] add lr, r6, #0x32c str r1, [r4, #0x7c] str r3, [r4, #0x80] str r1, [r4, #0x84] str r3, [r4, #0x88] ldr r3, [r4, #0x7c] mov ip, #0x96 str r3, [r4, #0x188] ldr r3, [r4, #0x80] str r3, [r4, #0x18c] ldr r3, [r4, #0x84] str r3, [r4, #0x190] ldr r3, [r4, #0x88] str r3, [r4, #0x194] ldr r7, [r4, #0x188] mov r3, #0x97 str r7, [r4, #0x8c] ldr r7, [r4, #0x18c] str r7, [r4, #0x90] ldr r7, [r4, #0x190] str r7, [r4, #0x94] ldr r7, [r4, #0x194] str r7, [r4, #0x98] ldr r7, [r4, #0x184] str r1, [r4, #0xa8] str r7, [r4, #0xac] add r7, r7, #0x1000 str r1, [r4, #0xb0] str r7, [r4, #0xb4] strh r6, [r4, #0x9c] strb r1, [r4, #0x124] str r0, [r4, #0x12c] str r5, [r4, #0x158] str lr, [r4, #0x15c] strh r1, [r2, #0x68] strh r1, [r2, #0x6a] strh r1, [r2, #0x6e] strh r1, [r2, #0x6c] str r1, [r4, #0x164] str r1, [r4, #0x160] ldr lr, [r4, #0x4c] ldr r2, [r4, #0x184] add r2, lr, r2 str r2, [r4, #0x1a0] ldr r2, [r4, #8] str r2, [r4, #0x294] ldr r2, [r4, #0xc] str r2, [r4, #0x298] strb r1, [r4, #0x2c8] str ip, [r4, #0x2d4] str r0, [r4, #0x2d8] str r3, [r4, #0x2e0] str r0, [r4, #0x2e4] mov r2, #0x98 str r2, [r4, #0x2ec] str r0, [r4, #0x2f0] mov r2, #0x99 str r2, [r4, #0x2f8] str r0, [r4, #0x2fc] mov r2, #0x9a str r2, [r4, #0x304] str r0, [r4, #0x308] sub r0, r0, #0x80000003 str r0, [r4, #0x240] str r1, [r4, #0x244] str r1, [r4, #0x248] ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x1b0 add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 beq _0212cdd8 mov r0, r4 mov r1, #1 bl func_ov15_0212d008 b _0212cde4 _0212cdd8: add sp, sp, #0x14 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0212cde4: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0212ca38 _0212cdf0: .word data_027e0fe4 _0212cdf4: .word gAdventureFlags _0212cdf8: .word data_ov15_0218a484 _0212cdfc: .word data_027e0fec _0212ce00: .word 0x0000ffff .global func_ov15_0212ce04 arm_func_start func_ov15_0212ce04 func_ov15_0212ce04: ; 0x0212ce04 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldrb r1, [r4, #0x118] cmp r1, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} add r1, r4, #0x100 ldrsh r2, [r1, #0x20] cmp r2, #0 bgt _0212ce60 mvn r1, #0 cmp r2, r1 movne r0, #0 addne sp, sp, #0x18 strneb r0, [r4, #0x118] ldmneia sp!, {r4, pc} bl func_ov15_0212efa4 mov r0, r4 mov r1, #8 bl func_ov15_0212d008 add sp, sp, #0x18 ldmia sp!, {r4, pc} _0212ce60: bl func_ov15_0212e7ac ldr r0, _0212cfa8 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] add r0, r0, #0x1c bl func_ov00_020a5e9c cmp r0, #4 moveq r0, #0x96 movne r0, #0 str r0, [r4, #0x260] mov r0, r4 mov r1, #0 bl func_ov15_0212e8b8 cmp r0, #0 mov r0, r4 beq _0212cf44 mov r1, #1 bl func_ov15_0212d008 ldr r0, [r4, #0x260] cmp r0, #0 bne _0212cf4c ldr r0, _0212cfac ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a54c cmp r0, #1 bhi _0212cf4c ldr r2, _0212cfb0 ; =data_027e0f94 add r0, r4, #0x48 mov r1, #0xc800 bl func_ov00_020ce284 cmp r0, #0 beq _0212cf4c mov r0, r4 mov r1, #2 bl func_ov15_0212d008 ldr r1, _0212cfb4 ; =data_027e0fe4 add r0, sp, #0xc ldr r1, [r1] add r2, r4, #0x24 bl func_ov15_021847bc ldr r1, [sp, #0xc] mvn r0, #0x80000000 str r1, [r4, #0x240] ldr r1, [sp, #0x10] str r1, [r4, #0x244] ldr r1, [sp, #0x14] str r1, [r4, #0x248] ldr r1, [r4, #0x240] cmp r1, r0 bne _0212cf4c ldr r0, [r4, #0x48] str r0, [r4, #0x240] ldr r0, [r4, #0x4c] str r0, [r4, #0x244] ldr r0, [r4, #0x50] str r0, [r4, #0x248] b _0212cf4c _0212cf44: mov r1, #6 bl func_ov15_0212d008 _0212cf4c: ldr r1, [r4, #0x48] ldr r0, _0212cfb8 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r4, #0x50] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 str r0, [r4, #0x4c] ldr r1, _0212cfbc ; =data_ov15_0218a464 ldr r2, _0212cfc0 ; =data_ov15_0218a470 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212ce04 _0212cfa8: .word data_027e0d38 _0212cfac: .word data_027e10a4 _0212cfb0: .word data_027e0f94 _0212cfb4: .word data_027e0fe4 _0212cfb8: .word data_027e0e60 _0212cfbc: .word data_ov15_0218a464 _0212cfc0: .word data_ov15_0218a470 .global func_ov15_0212cfc4 arm_func_start func_ov15_0212cfc4 func_ov15_0212cfc4: ; 0x0212cfc4 stmdb sp!, {r3, lr} ldr r3, [r1, #4] ldr r2, _0212d004 ; =0x50534950 cmp r3, r2 ldreqh r2, [r0, #4] ldreqh r0, [r1, #0x24] cmpeq r2, r0 bne _0212cffc mov r0, r1 mov r1, #0 bl func_ov15_0212e8b8 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _0212cffc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212cfc4 _0212d004: .word 0x50534950 .global func_ov15_0212d008 arm_func_start func_ov15_0212d008 func_ov15_0212d008: ; 0x0212d008 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x118 mov r4, r1 mov r5, r0 cmp r4, #8 addls pc, pc, r4, lsl #2 b _0212d278 _0212d024: ; jump table b _0212d278 ; case 0 b _0212d048 ; case 1 b _0212d06c ; case 2 b _0212d278 ; case 3 b _0212d0b8 ; case 4 b _0212d0d8 ; case 5 b _0212d278 ; case 6 b _0212d278 ; case 7 b _0212d264 ; case 8 _0212d048: ldrb r1, [r5, #0x271] cmp r1, #0 ldreq r1, [r5, #0x23c] cmpeq r1, #0 bne _0212d278 mov r1, #0 bl func_ov15_0212d008 add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0212d06c: mov r2, #0 add r0, r5, #0x200 strh r2, [r0, #0x68] ldr r1, [r5, #0x240] sub r0, r2, #0x80000001 cmp r1, r0 bne _0212d278 ldr r1, [r5, #0x48] ldr r0, _0212d28c ; =data_027e0fe4 str r1, [r5, #0x240] ldr r2, [r5, #0x4c] add r1, r5, #0x240 str r2, [r5, #0x244] ldr r3, [r5, #0x50] add r2, r5, #0x24 str r3, [r5, #0x248] ldr r0, [r0] bl func_ov15_0218473c b _0212d278 _0212d0b8: mov r2, #0 str r2, [r5, #0x12c] str r2, [r5, #0x6c] sub r1, r2, #1 str r1, [r5, #0x88] strb r2, [r5, #0x271] bl func_ov15_0212efa4 b _0212d278 _0212d0d8: add r0, sp, #0x68 bl func_ov00_0209a4f4 ldr r0, _0212d290 ; =data_027e0f64 add r1, sp, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r1, _0212d294 ; =data_027e0f94 mvn r7, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r6, #0x32 str r7, [sp, #0x6c] strb r6, [sp, #0x71] str r3, [sp, #0x88] str r2, [sp, #0x8c] ldr r2, [r1, #8] ldr r3, [sp] str r2, [sp, #0x90] str r3, [sp, #0x94] ldr r3, [sp, #8] ldr r2, [sp, #4] str r3, [sp, #0x9c] ldr r3, [sp, #0x10] str r2, [sp, #0x98] ldr r2, [sp, #0xc] str r3, [sp, #0xa4] ldr r3, [sp, #0x18] str r2, [sp, #0xa0] ldr r2, [sp, #0x14] str r3, [sp, #0xac] ldr r3, [sp, #0x20] str r2, [sp, #0xa8] ldr r2, [sp, #0x1c] str r3, [sp, #0xb4] ldr r3, [sp, #0x28] str r2, [sp, #0xb0] ldr r2, [sp, #0x24] str r3, [sp, #0xbc] ldr r3, [sp, #0x30] str r2, [sp, #0xb8] ldr r2, [sp, #0x2c] str r3, [sp, #0xc4] ldr r3, [sp, #0x38] str r2, [sp, #0xc0] ldr r2, [sp, #0x34] str r3, [sp, #0xcc] ldr r3, [sp, #0x40] str r2, [sp, #0xc8] ldr r2, [sp, #0x3c] str r3, [sp, #0xd4] ldr r3, [sp, #0x48] str r2, [sp, #0xd0] ldr r2, [sp, #0x44] str r3, [sp, #0xdc] ldr r3, [sp, #0x50] str r2, [sp, #0xd8] ldr r2, [sp, #0x4c] str r3, [sp, #0xe4] ldr r3, [sp, #0x58] str r2, [sp, #0xe0] ldr r2, [sp, #0x54] str r3, [sp, #0xec] mov r3, #2 ldr r0, _0212d298 ; =gAdventureFlags ldrb r1, [sp, #0x60] ldrb r7, [sp, #0x61] ldrb r6, [sp, #0x62] ldrb lr, [sp, #0x63] ldrb ip, [sp, #0x64] str r2, [sp, #0xe8] ldr r2, [sp, #0x5c] strb r3, [sp, #0x72] mov r3, #4 strb r3, [sp, #0x73] mov r3, #1 strb r3, [sp, #0x7c] mov r3, #0x5c str r2, [sp, #0xf0] mov r2, #0 strb r1, [sp, #0xf4] ldr r0, [r0] add r1, sp, #0x68 strb r7, [sp, #0xf5] strb r6, [sp, #0xf6] strb lr, [sp, #0xf7] strb ip, [sp, #0xf8] str r3, [sp, #0xfc] strb r2, [sp, #0x7e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x264] mov r0, #1 strb r0, [r5, #0x1a8] strb r0, [r5, #0x270] mov r0, #0 strb r0, [r5, #0x26e] add r0, sp, #0x68 bl func_ov00_0209a508 b _0212d278 _0212d264: mov r0, #0 strb r0, [r5, #0x271] strb r0, [r5, #0x1a9] mov r0, #0x10 strh r0, [r5, #0x7a] _0212d278: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0212d008 _0212d28c: .word data_027e0fe4 _0212d290: .word data_027e0f64 _0212d294: .word data_027e0f94 _0212d298: .word gAdventureFlags .global func_ov15_0212d29c arm_func_start func_ov15_0212d29c func_ov15_0212d29c: ; 0x0212d29c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x44 mov r4, r0 ldr r0, [r4, #0x254] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x254] ldr r0, [r4, #0x258] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x258] ldr r0, [r4, #0x25c] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x25c] ldr r0, [r4, #0x260] cmp r0, #0 beq _0212d318 add r0, sp, #0x2c bl func_ov15_0215cef8 add r0, sp, #0x2c add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x38] cmp r0, #0 ldreq r0, [sp, #0x40] cmpeq r0, #0 ldrne r0, [r4, #0x260] subne r0, r0, #1 strne r0, [r4, #0x260] _0212d318: mov r0, r4 mov r1, #0xf000 bl func_ov15_0212ef28 mov r0, #0 strb r0, [r4, #0x26d] ldr r0, [r4, #0x130] ldr r1, _0212d510 ; =data_ov15_02185d50 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _0212d358 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _0212d358: blx r1 cmp r0, #0 bne _0212d430 ldr r0, [r4, #0x130] cmp r0, #8 addeq sp, sp, #0x44 ldmeqia sp!, {r3, r4, pc} ldrb r0, [r4, #0x1ac] cmp r0, #0 beq _0212d3c0 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _0212d514 ; =data_027e0e60 str r1, [sp, #0x20] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x24] ldr r2, [r4, #0x50] add r1, sp, #0x20 str r2, [sp, #0x28] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] _0212d3c0: ldr r1, _0212d518 ; =data_ov15_0218a464 ldr r2, _0212d51c ; =data_ov15_0218a470 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x184] ldr r1, _0212d520 ; =data_027e0fe4 add r2, r3, r2 add r0, r2, r0 str r0, [r4, #0x1a0] ldrh r3, [r4, #0x26] ldr r0, [r1] add r2, sp, #0x10 str r3, [sp, #0x10] add r1, r4, #0x48 bl func_ov15_021846f8 ldrh r2, [r4, #0x26] ldr r1, _0212d520 ; =data_027e0fe4 add r0, r4, #0x100 str r2, [sp, #0xc] ldrsh r3, [r0, #0x20] ldr r0, [r1] add r1, sp, #1 add r2, sp, #0xc strb r3, [sp, #1] bl func_ov15_02184728 add sp, sp, #0x44 ldmia sp!, {r3, r4, pc} _0212d430: mov r0, r4 bl _ZN5Actor12ApplyGravityEv ldr r1, [r4, #0x4c] ldr r0, [r4, #0x64] add r0, r1, r0 str r0, [r4, #0x4c] ldrb r0, [r4, #0x1ac] cmp r0, #0 beq _0212d494 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _0212d514 ; =data_027e0e60 str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x18] ldr r2, [r4, #0x50] add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] _0212d494: ldr r1, _0212d518 ; =data_ov15_0218a464 ldr r2, _0212d51c ; =data_ov15_0218a470 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x184] ldr r1, _0212d524 ; =data_ov15_02185da0 add r2, r3, r2 add r2, r2, r0 mov r0, r4 str r2, [r4, #0x1a0] bl func_ov15_0214e138 ldrh r1, [r4, #0x26] ldr r0, _0212d520 ; =data_027e0fe4 add r2, sp, #8 str r1, [sp, #8] ldr r0, [r0] add r1, r4, #0x48 bl func_ov15_021846f8 ldrh r2, [r4, #0x26] ldr r1, _0212d520 ; =data_027e0fe4 add r0, r4, #0x100 str r2, [sp, #4] ldrsh r3, [r0, #0x20] ldr r0, [r1] add r1, sp, #0 add r2, sp, #4 strb r3, [sp] bl func_ov15_02184728 add sp, sp, #0x44 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212d29c _0212d510: .word data_ov15_02185d50 _0212d514: .word data_027e0e60 _0212d518: .word data_ov15_0218a464 _0212d51c: .word data_ov15_0218a470 _0212d520: .word data_027e0fe4 _0212d524: .word data_ov15_02185da0 .global func_ov15_0212d528 arm_func_start func_ov15_0212d528 func_ov15_0212d528: ; 0x0212d528 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212e7ac mov r0, r4 mov r1, #0 bl func_ov15_0212e8b8 cmp r0, #0 beq _0212d558 mov r0, r4 mov r1, #1 bl func_ov15_0212d008 b _0212d578 _0212d558: mvn r0, #0x80000000 str r0, [r4, #0x240] mov r2, #0 str r2, [r4, #0x244] mov r0, r4 mov r1, #6 str r2, [r4, #0x248] bl func_ov15_0212d008 _0212d578: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212d528 .global func_ov15_0212d580 arm_func_start func_ov15_0212d580 func_ov15_0212d580: ; 0x0212d580 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x24 mov r4, r0 ldr r2, [r4, #0x240] mvn r1, #0x80000000 cmp r2, r1 beq _0212d6c8 add r0, r4, #0x240 add r5, sp, #0xc ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r3, [r4, #0x1cc] add r2, sp, #0 mov r0, r5 add r1, r4, #0x1c8 str r3, [sp, #0x10] bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 add r1, r4, #0x100 strh r0, [r1, #0xd4] add r0, sp, #0 bl func_01ff9cec cmp r0, #0xa4 bge _0212d5fc ldr r0, [sp] str r0, [r4, #0x60] ldr r0, [sp, #8] str r0, [r4, #0x68] b _0212d67c _0212d5fc: add r0, r4, #0x100 ldrh r1, [r0, #0xd4] ldr r5, _0212d844 ; =data_02050f54 mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r3, [r5, r1] mov r1, #0xa4 umull ip, r6, r3, r1 mla r6, r3, r2, r6 mov r3, r3, asr #0x1f adds ip, ip, #0x800 mla r6, r3, r1, r6 adc r3, r6, #0 mov r6, ip, lsr #0xc orr r6, r6, r3, lsl #20 str r6, [r4, #0x60] ldrh r0, [r0, #0xd4] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r0, [r5, r0] umull r5, r3, r0, r1 adds r5, r5, #0x800 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adc r0, r3, #0 mov r1, r5, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] _0212d67c: add r0, r4, #0x1c8 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 add r2, sp, #0x18 add r0, r4, #0x1c8 add r1, r4, #0x48 bl func_01ff9bf8 mov r2, #0 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] str r2, [sp, #0x1c] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _0212d848 ; =0x00000222 add r0, r4, #0x78 bl func_0202b154 b _0212d6d8 _0212d6c8: ldr r3, _0212d848 ; =0x00000222 add r1, sp, #0x18 mov r2, #0xa4 bl func_ov15_0214eb18 _0212d6d8: add r0, sp, #0x18 bl func_01ff9cec mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r3, r0, asr #0x5 beq _0212d6fc cmp r3, #0x14 movlt r3, #0x14 blt _0212d704 _0212d6fc: cmp r3, #0xa4 movgt r3, #0xa4 _0212d704: str r3, [r4, #0x24c] ldrh r0, [r4, #0x78] ldr lr, _0212d844 ; =data_02050f54 add r1, sp, #0x18 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh ip, [lr, r0] add r0, r4, #0x48 mov r2, r0 smull r6, r5, ip, r3 adds r6, r6, #0x800 adc r5, r5, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 str r6, [sp, #0x18] ldrh ip, [r4, #0x78] mov ip, ip, asr #0x4 mov ip, ip, lsl #0x1 add ip, ip, #1 mov ip, ip, lsl #0x1 ldrsh ip, [lr, ip] smull lr, r3, ip, r3 adds ip, lr, #0x800 adc r3, r3, #0 mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [sp, #0x20] bl func_01ff9bc4 ldr r1, [r4, #0x240] mvn r0, #0x80000000 cmp r1, r0 beq _0212d7c0 mov r0, r4 add r1, r4, #0x240 bl _ZN5Actor12XzDistanceToEP5Vec3p cmp r0, #0x1000 bge _0212d7c0 mvn r0, #0x80000000 str r0, [r4, #0x240] mov r1, #0 str r1, [r4, #0x244] ldr r0, _0212d84c ; =data_027e0fe4 str r1, [r4, #0x248] ldr r0, [r0] add r1, r4, #0x240 add r2, r4, #0x24 bl func_ov15_0218473c _0212d7c0: ldr r0, [r4, #0x260] cmp r0, #0 bne _0212d830 bl func_ov15_0215d238 cmp r0, #0 bne _0212d830 bl func_ov15_0215b780 cmp r0, #0 bne _0212d830 ldr r0, _0212d850 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a54c cmp r0, #1 bhi _0212d830 ldr r2, _0212d854 ; =data_027e0f94 add r0, r4, #0x48 mov r1, #0xc800 bl func_ov00_020ce284 cmp r0, #0 beq _0212d830 ldr r0, [r4, #0x25c] cmp r0, #0 bne _0212d828 mov r0, r4 mov r1, #2 bl func_ov15_0212d008 _0212d828: mov r0, r4 bl func_ov15_0212e2c0 _0212d830: ldr r1, [r4, #0x24c] mov r0, #1 str r1, [r4, #0x250] add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0212d580 _0212d844: .word data_02050f54 _0212d848: .word 0x00000222 _0212d84c: .word data_027e0fe4 _0212d850: .word data_027e10a4 _0212d854: .word data_027e0f94 .global func_ov15_0212d858 arm_func_start func_ov15_0212d858 func_ov15_0212d858: ; 0x0212d858 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 ldr r1, _0212db9c ; =data_027e10a4 mov r6, r0 ldr r0, [r1] mov r1, #1 bl func_ov15_0213a560 bl func_ov15_0215d238 cmp r0, #0 bne _0212db68 bl func_ov15_0215b780 cmp r0, #0 bne _0212db68 ldr r0, _0212db9c ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a54c cmp r0, #1 bhi _0212db68 mov r0, r6 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x14000 bge _0212db68 add r0, r6, #0x48 add r2, r6, #0x240 mov r1, #0x1e800 bl func_ov00_020ce284 cmp r0, #0 beq _0212db68 ldr r0, _0212dba0 ; =data_027e0f94 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} bl func_ov15_0215cf38 str r0, [r6, #0x250] mov r0, r6 bl _ZN5Actor14GetAngleToLinkEv ldr r1, _0212dba4 ; =data_027e0fac mov r0, r0, lsl #0x10 ldrh r5, [r1] rsb r4, r5, r0, lsr #16 mov r0, r4, lsl #0x10 movs r7, r0, asr #0x10 rsbmi r0, r7, #0 movmi r0, r0, lsl #0x10 movmi r7, r0, asr #0x10 mov r0, r6 bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x4000 bge _0212d944 ldr r0, _0212dba8 ; =0x00001555 cmp r7, r0 blt _0212d944 rsb r0, r0, #0x8000 cmp r7, r0 bge _0212d944 add r0, r6, #0x200 ldrh r1, [r0, #0x68] add r1, r1, #1 strh r1, [r0, #0x68] _0212d944: mov r0, r4, lsl #0x10 movs r0, r0, asr #0x10 bpl _0212d9dc add r0, r5, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _0212dbac ; =data_02050f54 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] ldrsh r2, [r1, r0] mov r0, #0x800 mov r1, r3, asr #0x1f mov r4, r1, lsl #0xd mov r1, r2, asr #0x1f mov r1, r1, lsl #0xd adds ip, r0, r3, lsl #13 orr r4, r4, r3, lsr #19 adc r4, r4, #0 adds r3, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 mov r2, ip, lsr #0xc adc r0, r1, #0 mov r1, r3, lsr #0xc ldr r3, [sp, #0x14] orr r2, r2, r4, lsl #20 add r3, r3, r2 ldr r2, [sp, #0x1c] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r3, [sp, #0x14] str r0, [sp, #0x1c] b _0212da64 _0212d9dc: sub r0, r5, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _0212dbac ; =data_02050f54 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] ldrsh r2, [r1, r0] mov r0, #0x800 mov r1, r3, asr #0x1f mov r4, r1, lsl #0xd mov r1, r2, asr #0x1f mov r1, r1, lsl #0xd adds ip, r0, r3, lsl #13 orr r4, r4, r3, lsr #19 adc r4, r4, #0 adds r3, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 mov r2, ip, lsr #0xc adc r0, r1, #0 mov r1, r3, lsr #0xc ldr r3, [sp, #0x14] orr r2, r2, r4, lsl #20 add r3, r3, r2 ldr r2, [sp, #0x1c] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r3, [sp, #0x14] str r0, [sp, #0x1c] _0212da64: ldr r0, _0212dbb0 ; =data_ov15_0218a464 mov r1, r5, asr #0x4 ldr r2, [r6, #0x250] ldr r0, [r0, #0x10] mov r3, r1, lsl #0x1 smull r1, r0, r2, r0 adds r1, r1, #0x800 mov r2, r1, lsr #0xc adc r0, r0, #0 orr r2, r2, r0, lsl #20 mov r0, r2, asr #0x1f mov r4, r0, lsl #0xd mov r0, #0x800 add r1, r3, #1 adds ip, r0, r2, lsl #13 orr r4, r4, r2, lsr #19 ldr r2, _0212dbac ; =data_02050f54 mov r0, r1, lsl #0x1 mov r3, r3, lsl #0x1 ldrsh r1, [r2, r3] ldrsh r0, [r2, r0] adc r2, r4, #0 mov r3, ip, lsr #0xc orr r3, r3, r2, lsl #20 mul r2, r1, r3 mul r1, r0, r3 add r0, r2, #0x800 ldr r3, [sp, #0x14] ldr r2, [sp, #0x1c] add r3, r3, r0, asr #12 add r0, r1, #0x800 add r0, r2, r0, asr #12 str r3, [sp, #0x14] str r0, [sp, #0x1c] ldrb r0, [r6, #0x272] cmp r0, #0 ldreq r1, _0212dbb4 ; =0x0000011f mov r0, #0x52 streq r1, [sp, #0x10] streq r0, [sp, #0xc] beq _0212db14 ldr r1, _0212dbb8 ; =0x00000171 str r0, [sp, #0xc] str r1, [sp, #0x10] _0212db14: add r0, sp, #0x10 strh r5, [sp, #8] str r0, [sp] add r3, sp, #0xc str r3, [sp, #4] add r1, sp, #0x14 add r2, sp, #8 mov r0, r6 add r3, r6, #0x250 bl func_ov15_0212ed78 ldrb r0, [r6, #0x272] cmp r0, #0 beq _0212db7c add r0, r6, #0x200 ldrh r0, [r0, #0x68] cmp r0, #0x12c blo _0212db7c mov r0, r6 mov r1, #3 bl func_ov15_0212d008 b _0212db7c _0212db68: mov r2, #0x12c mov r0, r6 mov r1, #1 str r2, [r6, #0x25c] bl func_ov15_0212d008 _0212db7c: mov r0, r6 bl func_ov15_0212e2c0 ldr r1, _0212db9c ; =data_027e10a4 mov r0, #1 ldr r1, [r1] strb r0, [r1, #0x4d4] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0212d858 _0212db9c: .word data_027e10a4 _0212dba0: .word data_027e0f94 _0212dba4: .word data_027e0fac _0212dba8: .word 0x00001555 _0212dbac: .word data_02050f54 _0212dbb0: .word data_ov15_0218a464 _0212dbb4: .word 0x0000011f _0212dbb8: .word 0x00000171 .global func_ov15_0212dbbc arm_func_start func_ov15_0212dbbc func_ov15_0212dbbc: ; 0x0212dbbc stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 bl func_ov15_0215d238 cmp r0, #0 mov r1, #1 beq _0212dbf4 mov r2, #0x12c mov r0, r4 str r2, [r4, #0x25c] bl func_ov15_0212d008 add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r3, r4, pc} _0212dbf4: ldr r0, _0212dd10 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a560 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv add r1, r4, #0x100 strh r0, [r1, #0xd4] ldrsh r1, [r1, #0xd4] add r0, r4, #0x78 mov r2, #0x2d8 bl func_0202b154 ldr r1, _0212dd14 ; =0x00000171 add r0, r4, #0x24c mov r2, #0x52 bl Approach_thunk ldrh r0, [r4, #0x78] ldr r2, _0212dd18 ; =data_02050f54 ldr lr, [r4, #0x24c] mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r1, [r2, r0] add r0, r3, #1 mov r0, r0, lsl #0x1 smull ip, r3, r1, lr ldrsh r0, [r2, r0] adds ip, ip, #0x800 smull r2, r1, r0, lr adc r0, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r0, lsl #20 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, #0 str r0, [sp, #0x14] add r0, r4, #0x48 str r1, [sp, #0x18] add r1, sp, #0x10 mov r2, r0 str r3, [sp, #0x10] bl func_01ff9bc4 mov r0, r4 bl func_ov15_0212e2c0 mov r0, r4 add r1, sp, #0 bl _ZN5Actor9GetHitboxEP8Cylinder mov r0, r4 bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x2000 blt _0212dcdc ldr r0, _0212dd1c ; =data_027e0f90 add r1, sp, #0 ldr r0, [r0] bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder cmp r0, #0 beq _0212dcf8 _0212dcdc: mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _0212dcf8 mov r0, r4 mov r1, #5 bl func_ov15_0212d008 _0212dcf8: ldr r1, _0212dd10 ; =data_027e10a4 mov r0, #1 ldr r1, [r1] strb r0, [r1, #0x4d4] add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212dbbc _0212dd10: .word data_027e10a4 _0212dd14: .word 0x00000171 _0212dd18: .word data_02050f54 _0212dd1c: .word data_027e0f90 .global func_ov15_0212dd20 arm_func_start func_ov15_0212dd20 func_ov15_0212dd20: ; 0x0212dd20 stmdb sp!, {r3, lr} add r2, r0, #0x100 ldrsh r1, [r2, #0x6a] cmp r1, #0x2000 addlt r0, r1, #0x2d strlth r0, [r2, #0x6a] blt _0212dd84 mov r1, #0x2000 strh r1, [r2, #0x6a] ldrsh r3, [r2, #0x68] ldr r1, _0212dd8c ; =0xffffeccd add r3, r3, #0xb6 strh r3, [r2, #0x68] ldr r3, [r0, #0x4c] sub r3, r3, #0x29 str r3, [r0, #0x4c] cmp r3, r1 bge _0212dd84 ldrsh r2, [r2, #0x20] cmp r2, r1, asr #13 movne r1, #0 strneb r1, [r0, #0x118] bne _0212dd84 mov r1, #8 bl func_ov15_0212d008 _0212dd84: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212dd20 _0212dd8c: .word 0xffffeccd .global func_ov15_0212dd90 arm_func_start func_ov15_0212dd90 func_ov15_0212dd90: ; 0x0212dd90 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xb8 mov r4, r0 ldr r1, [r4, #0x264] mvn r0, #0 cmp r1, r0 beq _0212de04 ldr r0, _0212e054 ; =data_027e0f64 add r1, sp, #0x50 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, _0212e058 ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #0x20] str r2, [sp, #0x24] ldr r2, [r0, #8] ldr r0, _0212e054 ; =data_027e0f64 str r2, [sp, #0x28] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #0x20 ldr r0, [r0, #4] add r3, sp, #0x50 mov r2, #2 bl func_ov00_02089318 _0212de04: ldrb r0, [r4, #0x26e] cmp r0, #0 beq _0212de20 cmp r0, #1 beq _0212df28 cmp r0, #2 b _0212e03c _0212de20: mov r0, r4 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 beq _0212de50 ldr r1, _0212e05c ; =data_027e0fac add r0, r4, #0x78 ldrsh r1, [r1] mov r2, #0x2d8 bl func_0202b154 b _0212de68 _0212de50: mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 add r0, r4, #0x78 mov r2, #0x2d8 bl func_0202b154 _0212de68: add r0, r4, #0x24c mov r1, #0 mov r2, #0x52 bl Approach_thunk ldrh r0, [r4, #0x78] ldr r2, _0212e060 ; =data_02050f54 ldr r7, [r4, #0x24c] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] mov r3, #0 smull r2, r5, r1, r7 adds r6, r2, #0x800 smull r2, r1, r0, r7 adc r0, r5, #0 adds r2, r2, #0x800 mov r5, r6, lsr #0xc orr r5, r5, r0, lsl #20 adc r0, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 add r0, r4, #0x48 str r2, [sp, #0x4c] add r1, sp, #0x44 str r5, [sp, #0x44] str r3, [sp, #0x48] mov r2, r0 bl func_01ff9bc4 ldr r0, [r4, #0x24c] cmp r0, #0 bne _0212e03c ldr r0, _0212e064 ; =data_027e0c68 ldr r2, _0212e068 ; =0x00050022 add r1, r4, #0x274 bl func_02036ce4 strb r0, [r4, #0x26f] and r1, r0, #0xff mov r0, r4 bl _ZN5Actor10SetUnk_11cEc ldrb r0, [r4, #0x26f] cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x26e] b _0212e03c _0212df28: mov r0, #0x10000 ldr r1, [r4, #0x28c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _0212e03c add r0, r4, #0x274 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x28c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _0212e03c mov r3, #0 sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff ldr r0, _0212e06c ; =data_027e0e60 str r2, [sp, #0x38] str r5, [sp, #0x2c] str r3, [sp, #0x30] str r3, [sp, #0x34] strh r3, [sp, #0x3c] strb r3, [sp, #0x3f] strb r3, [sp, #0x40] strb r3, [sp, #0x41] strb r1, [sp, #0x3e] ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x2c bl func_ov00_020838e8 cmp r0, #0 beq _0212e03c mov r0, #2 strb r0, [r4, #0x26e] ldr r0, _0212e070 ; =data_027e10a4 ldrsh r5, [sp, #0x3c] ldrb lr, [sp, #0x3e] ldrb ip, [sp, #0x3f] ldrb r3, [sp, #0x40] ldrb r2, [sp, #0x41] ldr r9, [sp, #0x2c] ldr r8, [sp, #0x30] ldr r7, [sp, #0x34] ldr r6, [sp, #0x38] ldr r0, [r0] add r1, sp, #8 str r9, [sp, #8] str r8, [sp, #0xc] str r7, [sp, #0x10] str r6, [sp, #0x14] strh r5, [sp, #0x18] strb lr, [sp, #0x1a] strb ip, [sp, #0x1b] strb r3, [sp, #0x1c] strb r2, [sp, #0x1d] bl func_ov15_021413f8 ldr r0, _0212e074 ; =gAdventureFlags mov r1, #0x81 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb mov r0, r4 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii _0212e03c: ldr r1, _0212e070 ; =data_027e10a4 mov r0, #1 ldr r1, [r1] strb r0, [r1, #0x4d4] add sp, sp, #0xb8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0212dd90 _0212e054: .word data_027e0f64 _0212e058: .word data_027e0f94 _0212e05c: .word data_027e0fac _0212e060: .word data_02050f54 _0212e064: .word data_027e0c68 _0212e068: .word 0x00050022 _0212e06c: .word data_027e0e60 _0212e070: .word data_027e10a4 _0212e074: .word gAdventureFlags .global func_ov15_0212e078 arm_func_start func_ov15_0212e078 func_ov15_0212e078: ; 0x0212e078 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x28 mov r4, r0 ldr r5, [r4, #0x23c] add r1, sp, #0x1c mov r0, r5 bl func_ov15_0212e8b8 cmp r0, #0 bne _0212e0c0 ldr r1, [sp, #0x1c] mov r0, r4 str r1, [r4, #0x240] ldr r1, [sp, #0x20] str r1, [r4, #0x244] ldr r1, [sp, #0x24] str r1, [r4, #0x248] bl func_ov15_0212d528 b _0212e158 _0212e0c0: add ip, sp, #0xc add r2, sp, #0x10 add r3, sp, #8 mov r0, r5 mov r1, r4 str ip, [sp] bl func_ov15_0212e8e0 ldr r0, _0212e164 ; =data_ov15_02185d9c ldr ip, _0212e168 ; =data_ov15_02185d98 str r0, [sp] add r1, sp, #0x10 add r2, sp, #8 add r3, sp, #0xc mov r0, r4 str ip, [sp, #4] bl func_ov15_0212ed78 ldr r0, [r4, #0x130] cmp r0, #6 bne _0212e138 mov r0, r4 bl func_ov15_0212eb90 ldr r0, [r4, #0x23c] ldr r0, [r0, #0x130] sub r0, r0, #2 cmp r0, #1 bhi _0212e158 mov r0, r4 mov r1, #7 bl func_ov15_0212d008 b _0212e158 _0212e138: ldr r0, [r4, #0x23c] ldr r0, [r0, #0x130] cmp r0, #2 cmpne r0, #3 beq _0212e158 mov r0, r4 mov r1, #6 bl func_ov15_0212d008 _0212e158: mov r0, #1 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212e078 _0212e164: .word data_ov15_02185d9c _0212e168: .word data_ov15_02185d98 .global func_ov15_0212e16c arm_func_start func_ov15_0212e16c func_ov15_0212e16c: ; 0x0212e16c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212e078 mov r0, r4 bl func_ov15_0212e2c0 ldr r1, _0212e194 ; =data_027e10a4 mov r0, #1 ldr r1, [r1] strb r0, [r1, #0x4d4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212e16c _0212e194: .word data_027e10a4 .global func_ov15_0212e198 arm_func_start func_ov15_0212e198 func_ov15_0212e198: ; 0x0212e198 ldr r1, _0212e1c4 ; =data_027e0fe4 ldrh r2, [r0, #0x26] ldr r3, [r1] mvn r1, #1 add r2, r3, r2 ldrsb r2, [r2, #0xbc] cmp r2, r1 movle r1, #0 strleb r1, [r0, #0x118] mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_0212e198 _0212e1c4: .word data_027e0fe4 .global func_ov15_0212e1c8 arm_func_start func_ov15_0212e1c8 func_ov15_0212e1c8: ; 0x0212e1c8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0212e278 ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldrb r0, [r5, #0x270] cmp r0, #0 beq _0212e220 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 b _0212e280 _0212e220: ldr r0, [r5, #0x130] cmp r0, #4 beq _0212e250 mov r0, r5 bl _ZN5Actor12ApplyGravityEv ldr r2, [r5, #0x4c] ldr r0, [r5, #0x64] ldr r1, _0212e2b0 ; =data_ov15_02185da0 add r2, r2, r0 mov r0, r5 str r2, [r5, #0x4c] bl func_ov15_0214e138 _0212e250: ldr r1, _0212e2b4 ; =data_ov15_0218a464 ldr r2, _0212e2b8 ; =data_ov15_0218a470 add r0, r5, #0x48 bl func_ov15_0215cb24 ldr r2, [r5, #0x4c] ldr r1, [r5, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r5, #0x1a0] b _0212e280 _0212e278: mvn r0, #0 str r0, [r5, #0x1a4] _0212e280: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldrb r0, [r5, #0x1a9] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0212e2bc ; =data_ov15_02190458 add r1, r5, #0x48 mov r2, #0 bl func_ov15_02184a40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212e1c8 _0212e2b0: .word data_ov15_02185da0 _0212e2b4: .word data_ov15_0218a464 _0212e2b8: .word data_ov15_0218a470 _0212e2bc: .word data_ov15_02190458 .global func_ov15_0212e2c0 arm_func_start func_ov15_0212e2c0 func_ov15_0212e2c0: ; 0x0212e2c0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x88 mov r4, r0 bl _ZN5Actor14GetAngleToLinkEv ldrsh r2, [r4, #0x78] add r1, r4, #0x200 str r0, [sp, #8] mov r0, r0 sub r0, r2, r0 strh r0, [r1, #0x38] ldr r0, [r4, #0x254] cmp r0, #0 addne sp, sp, #0x88 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _0212e770 ; =data_027e0f94 add r6, sp, #0x7c ldmia r0, {r0, r1, r2} add r3, sp, #0x70 add r5, r4, #0x48 stmia r6, {r0, r1, r2} ldmia r5, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r6 mov r1, r3 mov r2, r3 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0x70 str r1, [sp, #0x74] bl func_01ff9cec ldr r1, _0212e774 ; =0x00007b30 mov r2, #0 umull r3, r5, r0, r1 adds r3, r3, #0x800 mov r6, r3, lsr #0xc mla r5, r0, r2, r5 mov r3, r0, asr #0x1f mla r5, r3, r1, r5 adc r0, r5, #0 orr r6, r6, r0, lsl #20 sub r5, r6, #0x1000 cmp r5, #0 movle r5, r2 cmp r5, #0x1e000 add r0, sp, #0x14 movge r5, #0x1e000 bl func_ov15_0215cef8 add r0, sp, #0x14 add r3, sp, #0x64 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x70 mov r1, r3 mov r0, r5 mov r3, r2 bl func_01ff9e64 add r2, sp, #0x70 rsb r0, r5, #0 add r1, r4, #0x60 mov r3, r2 bl func_01ff9e64 mov r0, #0 str r0, [sp, #0x74] ldr r0, [sp, #0x70] ldr r1, [sp, #0x78] bl func_01ffa0f4 mov r5, r0, lsl #0x10 add r0, sp, #0x70 bl func_01ff9cec ldr r2, _0212e778 ; =data_027e0764 mov r1, #0 ldr ip, [r2] ldmib r2, {r3, r6, lr} umull r8, r7, r6, ip mla r7, r6, r3, r7 ldr r10, [r2, #0x10] mla r7, lr, ip, r7 ldr r9, [r2, #0x14] adds r6, r10, r8 adc r3, r9, r7 str r6, [r2] str r3, [r2, #4] mov r2, #0x14000 umull r2, r6, r3, r2 mla r6, r3, r1, r6 mov r3, r1 mov r2, #0x14000 mla r6, r3, r2, r6 sub r2, r6, #0xa000 add r3, r2, #0x64000 mov r11, #0x28 umull r7, r6, r3, r11 mla r6, r3, r1, r6 mov r2, r3, asr #0x1f mla r6, r2, r11, r6 adds r2, r7, #0x800 adc r1, r6, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 smull r2, r1, r0, r2 adds r2, r2, #0x800 adc r0, r1, #0 mov r7, r2, lsr #0xc orr r7, r7, r0, lsl #20 cmp r7, #0x12c00 addgt sp, sp, #0x88 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r7, #0x2000 movle r6, #0xf6 ble _0212e494 cmp r7, #0x6000 movge r6, #0x214 bge _0212e494 sub r0, r7, #0x2000 mov r1, #0x4000 bl Divide mov r6, #0xf6 _0212e494: cmp r6, #0x214 bge _0212e4e0 ldrb r0, [r4, #0x272] mov r2, #0 cmp r0, #0 ldrne r1, _0212e77c ; =0x00000171 ldr r0, [r4, #0x24c] ldreq r1, _0212e780 ; =0x0000011f cmp r1, #0 beq _0212e4c4 bl Divide mov r2, r0 _0212e4c4: rsb r0, r6, #0x214 smull r1, r0, r2, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r6, r6, r1 _0212e4e0: ldr r8, _0212e778 ; =data_027e0764 ldr r3, _0212e784 ; =0x0000014a ldr r1, [r8] ldmib r8, {r0, r2} umull r10, r9, r2, r1 mla r9, r2, r0, r9 ldr r0, [r8, #0xc] ldr r2, [r8, #0x10] mla r9, r0, r1, r9 ldr r0, [r8, #0x14] adds r1, r2, r10 adc r0, r0, r9 str r1, [r8] mov r2, r0, lsr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r1, #0 umull r10, r9, r2, r3 str r0, [r8, #4] mla r9, r2, r1, r9 mov r0, r1 adds r8, r10, #0x800 mla r9, r0, r3, r9 adc r0, r9, #0 mov r1, r8, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, r1, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0xa50 add r0, r0, r5, asr #16 mov r2, r0, lsl #0x10 mov r0, r7 mov r1, r6 mov r7, r2, asr #0x10 bl Divide mov r5, r0, asr #0x1 smull r1, r0, r5, r5 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 ldr r0, _0212e788 ; =0x0000199a bl Divide mov r1, r7, lsl #0x10 mov r7, r0 smull r2, r0, r7, r5 adds r2, r2, #0x800 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r5, r2, lsr #0xc adc r0, r0, #0 orr r5, r5, r0, lsl #20 ldr r8, _0212e78c ; =data_02050f54 mov r2, r1, lsl #0x1 add r0, r1, #1 mov r1, r0, lsl #0x1 ldrsh r2, [r8, r2] ldrsh r1, [r8, r1] add r0, r4, #0x48 smull r11, r9, r2, r6 smull r8, r2, r1, r6 adds r6, r11, #0x800 adc r1, r9, #0 mov r6, r6, lsr #0xc orr r6, r6, r1, lsl #20 adds r8, r8, #0x800 adc r1, r2, #0 mov r2, r8, lsr #0xc orr r2, r2, r1, lsl #20 add r8, r2, #0 ldmia r0, {r0, r1, r2} ldr r9, _0212e790 ; =0x000004cd add r10, sp, #0x58 stmia r10, {r0, r1, r2} str r9, [sp, #0x54] ldr r1, [sp, #8] mov r3, #0 add r0, sp, #0x4c add r6, r6, #0 str r3, [sp, #0x4c] str r3, [sp, #0x50] bl func_ov00_020a61ac ldr r0, [sp, #0x5c] add r0, r0, #0xcd add r0, r0, #0xc00 add r0, r0, #0x66 add r0, r0, #0x600 str r0, [sp, #0x5c] mov r0, r10 add r1, sp, #0x4c mov r2, r0 bl func_01ff9bc4 add r0, sp, #0x20 bl func_ov00_020c1500 mvn r0, #0 str r0, [sp, #0x3c] str r0, [sp, #0x40] add r0, sp, #0x20 bl func_ov00_020c3348 ldr r0, [r4, #8] mov r1, #1 str r0, [sp, #0x3c] ldr r2, [r4, #0xc] sub r0, r1, #2 str r2, [sp, #0x40] strh r1, [sp, #0x20] str r0, [sp, #0xc] str r0, [sp, #0x10] add r1, sp, #0xc str r1, [sp] ldr r0, _0212e794 ; =data_027e0fe8 ldr r1, _0212e798 ; =0x434e424c ldr r0, [r0] mov r2, r10 add r3, sp, #0x20 bl func_ov00_020c4048 ldr r0, _0212e79c ; =data_027e0fe4 add r1, sp, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #0x88 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} str r6, [r0, #0x60] str r5, [r0, #0x64] str r8, [r0, #0x68] str r7, [r0, #0x6c] ldr r0, [r4, #0x130] add r1, r4, #0x48 cmp r0, #2 moveq r0, #0x64 movne r0, #0xc8 str r0, [r4, #0x254] add r0, sp, #0x4c mov r2, r0 bl func_01ff9bc4 ldrb r0, [r4, #0x272] cmp r0, #0 beq _0212e730 ldr r0, [sp, #0x50] add r0, r0, #0x66 add r0, r0, #0x600 str r0, [sp, #0x50] _0212e730: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0212e7a0 ; =data_027e0e58 add r2, sp, #0x4c ldr r0, [r0] mov r1, #0x91 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _0212e7a4 ; =data_027e0ffc ldr r1, _0212e7a8 ; =0x0000020d add r2, sp, #0x4c mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x88 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212e2c0 _0212e770: .word data_027e0f94 _0212e774: .word 0x00007b30 _0212e778: .word data_027e0764 _0212e77c: .word 0x00000171 _0212e780: .word 0x0000011f _0212e784: .word 0x0000014a _0212e788: .word 0x0000199a _0212e78c: .word data_02050f54 _0212e790: .word 0x000004cd _0212e794: .word data_027e0fe8 _0212e798: .word 0x434e424c _0212e79c: .word data_027e0fe4 _0212e7a0: .word data_027e0e58 _0212e7a4: .word data_027e0ffc _0212e7a8: .word 0x0000020d .global func_ov15_0212e7ac arm_func_start func_ov15_0212e7ac func_ov15_0212e7ac: ; 0x0212e7ac stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldrh r0, [r4, #0x24] cmp r0, #0 bne _0212e7dc mov r0, #1 strb r0, [r4, #0x271] mov r0, #0 add sp, sp, #0x1c strb r0, [r4, #0x26c] ldmia sp!, {r3, r4, pc} _0212e7dc: add r3, sp, #8 mvn ip, #0 mov r2, #1 mov r1, #0 ldr r0, _0212e86c ; =data_027e0fe4 str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] str ip, [sp, #8] str ip, [sp, #0xc] ldrh ip, [r4, #0x24] ldr r3, _0212e870 ; =data_ov15_0218a490 ldr r0, [r0] add r1, sp, #0 add r2, sp, #0x10 str r3, [sp] strh ip, [sp, #4] bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList cmp r0, #0 beq _0212e854 ldr r0, _0212e86c ; =data_027e0fe4 ldr r1, [sp, #0x10] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x23c] ldrb r1, [r0, #0x26c] strb r1, [r4, #0x26c] bl func_ov15_0212e874 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} _0212e854: mov r0, #1 strb r0, [r4, #0x271] mov r0, #0 strb r0, [r4, #0x26c] add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212e7ac _0212e86c: .word data_027e0fe4 _0212e870: .word data_ov15_0218a490 .global func_ov15_0212e874 arm_func_start func_ov15_0212e874 func_ov15_0212e874: ; 0x0212e874 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x26c] add r0, r0, #1 and r1, r0, #0xff strb r0, [r4, #0x26c] cmp r1, #1 bne _0212e8a4 add r0, r4, #0x200 mov r1, #0 strh r1, [r0, #0x6a] ldmia sp!, {r4, pc} _0212e8a4: mov r0, #0x10000 bl func_02002c14 add r1, r4, #0x200 strh r0, [r1, #0x6a] ldmia sp!, {r4, pc} arm_func_end func_ov15_0212e874 .global func_ov15_0212e8b8 arm_func_start func_ov15_0212e8b8 func_ov15_0212e8b8: ; 0x0212e8b8 cmp r1, #0 beq _0212e8d8 ldr r2, [r0, #0x240] str r2, [r1] ldr r2, [r0, #0x244] str r2, [r1, #4] ldr r2, [r0, #0x248] str r2, [r1, #8] _0212e8d8: ldrb r0, [r0, #0x271] bx lr arm_func_end func_ov15_0212e8b8 .global func_ov15_0212e8e0 arm_func_start func_ov15_0212e8e0 func_ov15_0212e8e0: ; 0x0212e8e0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r6, r0 ldr r0, [r6, #0x130] mov r4, r3 sub r0, r0, #2 cmp r0, #1 ldrls r0, _0212eb7c ; =data_027e0fac mov r5, r2 ldrlssh r7, [r0] ldrhish r7, [r6, #0x78] strh r7, [r4] ldrb r2, [r6, #0x26c] add r0, r7, #0x8000 mov r0, r0, lsl #0x10 cmp r2, #1 mov r7, r0, asr #0x10 beq _0212e9dc mov r0, r6 add r1, r1, #0x48 bl _ZN5Actor10GetAngleToEP5Vec3p add r1, r6, #0x200 ldrsh r9, [r1, #0x6a] ldrb r8, [r6, #0x26c] mov ip, #0 mov r11, r9, asr #0x1 mov r1, r11, lsl #0x10 add r1, r7, r1, asr #16 mov r1, r1, lsl #0x10 mov r3, ip cmp r8, #0 mov r7, r1, asr #0x10 ldr r2, _0212eb80 ; =0x00007fff ble _0212e9b0 ldrb lr, [r6, #0x26d] mov r1, #1 _0212e96c: tst lr, r1, lsl r3 bne _0212e998 sub r10, r0, r7 mov r10, r10, lsl #0x10 movs r10, r10, asr #0x10 rsbmi r10, r10, #0 movmi r10, r10, lsl #0x10 movmi r10, r10, asr #0x10 cmp r10, r2 movlt r2, r10 movlt ip, r3 _0212e998: add r7, r7, r9 mov r7, r7, lsl #0x10 mov r7, r7, asr #0x10 add r3, r3, #1 cmp r3, r8 blt _0212e96c _0212e9b0: ldrsh r2, [r4] ldrb r1, [r6, #0x26d] mov r0, #1 add r2, r2, #0x8000 add r2, r11, r2 mla r2, r9, ip, r2 orr r1, r1, r0, lsl ip mov r0, r2, lsl #0x10 strb r1, [r6, #0x26d] mov r7, r0, asr #0x10 b _0212e9e4 _0212e9dc: mov r0, #1 strb r0, [r6, #0x26d] _0212e9e4: ldr r0, [r6, #0x130] sub r0, r0, #2 cmp r0, #1 bhi _0212ea44 ldr r0, _0212eb84 ; =data_ov15_0218a464 ldr r6, [r6, #0x250] ldr r1, [r0, #0x10] mov r0, #0x800 smull r2, r1, r6, r1 adds r2, r2, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 mov r1, r2, asr #0x1f mov r1, r1, lsl #0xd adds r8, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 ldr r3, _0212eb88 ; =data_027e0f94 adc r0, r1, #0 mov r9, r8, lsr #0xc orr r9, r9, r0, lsl #20 ldmia r3, {r1, r2, r3} mov r0, #0x9000 b _0212eae4 _0212ea44: ldrb r0, [r6, #0x272] ldr r1, [r6, #0x48] ldr r2, [r6, #0x4c] cmp r0, #0 ldr r3, [r6, #0x50] mov r0, #0x4000 beq _0212eaa4 ldr r8, _0212eb84 ; =data_ov15_0218a464 ldr r6, [r6, #0x250] ldr r9, [r8, #0x18] mov r8, #0x800 smull r10, r9, r6, r9 adds r10, r10, #0x800 adc r9, r9, #0 mov r10, r10, lsr #0xc orr r10, r10, r9, lsl #20 mov r9, r10, asr #0x1f mov r9, r9, lsl #0xd adds r11, r8, r10, lsl #13 orr r9, r9, r10, lsr #19 adc r8, r9, #0 mov r9, r11, lsr #0xc orr r9, r9, r8, lsl #20 b _0212eae4 _0212eaa4: ldr r8, _0212eb84 ; =data_ov15_0218a464 ldr r6, [r6, #0x250] ldr r9, [r8, #0x1c] mov r8, #0x800 smull r10, r9, r6, r9 adds r10, r10, #0x800 adc r9, r9, #0 mov r10, r10, lsr #0xc orr r10, r10, r9, lsl #20 mov r9, r10, asr #0x1f mov r9, r9, lsl #0xd adds r11, r8, r10, lsl #13 orr r9, r9, r10, lsr #19 adc r8, r9, #0 mov r9, r11, lsr #0xc orr r9, r9, r8, lsl #20 _0212eae4: ldr r8, [sp, #0x28] mov r7, r7, lsl #0x10 str r6, [r8] ldrh r6, [r4] mov r4, r7, lsr #0x10 mov r4, r4, asr #0x4 mov r6, r6, asr #0x4 mov r11, r6, lsl #0x1 mov r7, r4, lsl #0x1 add r6, r11, #1 add r10, r7, #1 ldr r8, _0212eb8c ; =data_02050f54 mov r4, r11, lsl #0x1 mov r7, r7, lsl #0x1 ldrsh r4, [r8, r4] mov r6, r6, lsl #0x1 ldrsh r7, [r8, r7] mov r11, r10, lsl #0x1 ldrsh r10, [r8, r6] mul r6, r4, r9 ldrsh r8, [r8, r11] mul r4, r7, r0 mul r7, r10, r9 mul r9, r8, r0 add r6, r6, #0x800 add r0, r7, #0x800 add r7, r4, #0x800 mov r4, r6, asr #0xc add r4, r4, r7, asr #12 add r1, r1, r4 str r1, [r5] add r1, r9, #0x800 mov r0, r0, asr #0xc add r0, r0, r1, asr #12 str r2, [r5, #4] add r0, r3, r0 str r0, [r5, #8] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212e8e0 _0212eb7c: .word data_027e0fac _0212eb80: .word 0x00007fff _0212eb84: .word data_ov15_0218a464 _0212eb88: .word data_027e0f94 _0212eb8c: .word data_02050f54 .global func_ov15_0212eb90 arm_func_start func_ov15_0212eb90 func_ov15_0212eb90: ; 0x0212eb90 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x260] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r2, _0212ebd0 ; =data_027e0f94 add r0, r4, #0x48 mov r1, #0xc800 bl func_ov00_020ce284 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x23c] bl func_ov15_0212ebd4 mov r0, r4 bl func_ov15_0212e2c0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212eb90 _0212ebd0: .word data_027e0f94 .global func_ov15_0212ebd4 arm_func_start func_ov15_0212ebd4 func_ov15_0212ebd4: ; 0x0212ebd4 stmdb sp!, {r3, lr} ldr r1, [r0, #0x25c] cmp r1, #0 ldmneia sp!, {r3, pc} mov r1, #2 bl func_ov15_0212d008 ldmia sp!, {r3, pc} arm_func_end func_ov15_0212ebd4 .global func_ov15_0212ebf0 arm_func_start func_ov15_0212ebf0 func_ov15_0212ebf0: ; 0x0212ebf0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r7, r0 add r4, sp, #0 mov r3, #0 strb r3, [r4] strb r3, [r4, #1] strb r3, [r4, #2] ldrb r4, [r7, #0x272] add r0, r7, #0x100 ldr r3, _0212ed60 ; =data_ov15_02185d48 add r4, r4, r4, lsl #1 ldrsh ip, [r0, #0x20] ldrb r0, [r3, r4] mov r6, r1 mov r5, r2 cmp ip, r0 bgt _0212ed10 ldr r0, _0212ed64 ; =data_ov15_02185d30 add r2, sp, #4 mov r1, r5 bl func_01ff88b0 add r0, sp, #4 mov r1, r6 mov r2, r0 bl func_01ff9bc4 ldr r0, _0212ed68 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] add r1, r7, #0x2d0 bl func_ov00_0207c474 mov r0, #1 strb r0, [sp] add r0, r7, #0x100 ldr r1, _0212ed6c ; =data_ov15_02185d49 ldrsh r2, [r0, #0x20] ldrb r0, [r1, r4] cmp r2, r0 bgt _0212ed10 ldr r0, _0212ed70 ; =data_ov15_02185d3c add r2, sp, #4 mov r1, r5 bl func_01ff88b0 add r0, sp, #4 mov r1, r6 mov r2, r0 bl func_01ff9bc4 ldr r0, _0212ed68 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] add r1, r7, #0x2dc bl func_ov00_0207c474 mov r0, #1 strb r0, [sp, #1] add r0, r7, #0x100 ldr r1, _0212ed74 ; =data_ov15_02185d4a ldrsh r2, [r0, #0x20] ldrb r0, [r1, r4] cmp r2, r0 bgt _0212ed10 ldr r0, _0212ed68 ; =data_027e0e58 mov r2, r6 ldr r0, [r0] add r1, r7, #0x2e8 bl func_ov00_0207c474 ldr r0, _0212ed68 ; =data_027e0e58 mov r2, r6 ldr r0, [r0] add r1, r7, #0x2f4 bl func_ov00_0207c474 mov r0, #1 strb r0, [sp, #2] _0212ed10: ldrb r0, [sp] cmp r0, #0 bne _0212ed24 add r0, r7, #0x2d0 bl func_ov00_020b7e6c _0212ed24: ldrb r0, [sp, #1] cmp r0, #0 bne _0212ed38 add r0, r7, #0x2dc bl func_ov00_020b7e6c _0212ed38: ldrb r0, [sp, #2] cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r0, r7, #0x2e8 bl func_ov00_020b7e6c add r0, r7, #0x2f4 bl func_ov00_020b7e6c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0212ebf0 _0212ed60: .word data_ov15_02185d48 _0212ed64: .word data_ov15_02185d30 _0212ed68: .word data_027e0e58 _0212ed6c: .word data_ov15_02185d49 _0212ed70: .word data_ov15_02185d3c _0212ed74: .word data_ov15_02185d4a .global func_ov15_0212ed78 arm_func_start func_ov15_0212ed78 func_ov15_0212ed78: ; 0x0212ed78 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0xc mov r9, r0 mov r10, r1 mov r8, r2 mov r7, r3 ldr r6, [sp, #0x30] ldr r5, [sp, #0x34] bl _ZN5Actor12XzDistanceToEP5Vec3p mov r4, r0 mov r2, r10 add r0, r9, #0x48 mov r1, #0x2000 bl func_ov00_020ce284 cmp r0, #0 mov r0, r9 mov r1, r10 beq _0212ee3c bl _ZN5Actor10GetAngleToEP5Vec3p ldrsh r1, [r9, #0x78] sub r0, r0, r1 mov r0, r0, lsl #0x10 movs r2, r0, asr #0x10 rsbmi r0, r2, #0 movmi r0, r0, lsl #0x10 movmi r2, r0, asr #0x10 ldrsh r1, [r8] add r0, r9, #0x100 cmp r2, #0x4000 strh r1, [r0, #0xd4] ldr r1, [r7] bge _0212ee2c ldr r0, _0212ef20 ; =data_ov15_0218a464 ldr r1, [r6] ldr r0, [r0, #0x14] smull r2, r0, r4, r0 adds r2, r2, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 smull r1, r0, r2, r1 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 _0212ee2c: ldr r2, [r5] add r0, r9, #0x24c bl Approach_thunk b _0212ee94 _0212ee3c: bl _ZN5Actor10GetAngleToEP5Vec3p add r1, r9, #0x100 strh r0, [r1, #0xd4] cmp r4, #0x4000 ldrge r1, [r6] bge _0212ee88 ldr r0, _0212ef20 ; =data_ov15_0218a464 ldr r1, [r6] ldr r0, [r0, #0x14] smull r2, r0, r4, r0 adds r2, r2, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 smull r1, r0, r2, r1 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 _0212ee88: ldr r2, [r5] add r0, r9, #0x24c bl Approach_thunk _0212ee94: add r0, r9, #0x100 ldrsh r1, [r0, #0xd4] add r0, r9, #0x78 mov r2, #0x2d8 bl func_0202b154 ldrh r0, [r9, #0x78] ldr r2, _0212ef24 ; =data_02050f54 ldr r6, [r9, #0x24c] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] mov r4, #0 smull r2, r3, r1, r6 adds r5, r2, #0x800 smull r2, r1, r0, r6 adc r0, r3, #0 adds r2, r2, #0x800 mov r5, r5, lsr #0xc orr r5, r5, r0, lsl #20 adc r0, r1, #0 mov r3, r2, lsr #0xc orr r3, r3, r0, lsl #20 add r0, r9, #0x48 add r1, sp, #0 mov r2, r0 str r5, [sp] str r4, [sp, #4] str r3, [sp, #8] bl func_01ff9bc4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0212ed78 _0212ef20: .word data_ov15_0218a464 _0212ef24: .word data_02050f54 .global func_ov15_0212ef28 arm_func_start func_ov15_0212ef28 func_ov15_0212ef28: ; 0x0212ef28 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r2, [r4, #0x130] mov r5, r1 cmp r2, #8 ldmeqia sp!, {r3, r4, r5, pc} bl _ZN5Actor16XzDistanceToLinkEv ldrb r1, [r4, #0x1a9] cmp r1, #0 beq _0212ef70 add r1, r5, #0x5000 cmp r0, r1 ldmleia sp!, {r3, r4, r5, pc} mov r1, #0 ldr r0, _0212efa0 ; =0x0000ffff strb r1, [r4, #0x1a9] strh r0, [r4, #0x7a] ldmia sp!, {r3, r4, r5, pc} _0212ef70: ldrb r1, [r4, #0xa4] cmp r1, #0 ldreqb r1, [r4, #0xa5] cmpeq r1, #0 ldmeqia sp!, {r3, r4, r5, pc} cmp r0, r5 ldmgeia sp!, {r3, r4, r5, pc} mov r0, #1 strb r0, [r4, #0x1a9] mov r0, #5 strh r0, [r4, #0x7a] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212ef28 _0212efa0: .word 0x0000ffff .global func_ov15_0212efa4 arm_func_start func_ov15_0212efa4 func_ov15_0212efa4: ; 0x0212efa4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r4, r0 ldrb r0, [r4, #0x272] cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #0x14 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x14 str r1, [sp, #0x30] str r1, [sp, #0x34] bl func_ov00_020c3348 mvn r2, #0 mov r1, #0xf ldr r0, _0212f0a8 ; =data_027e0764 str r2, [sp, #0xc] str r2, [sp, #0x10] strh r1, [sp, #0x14] ldr r2, [r0] ldmib r0, {r1, r3} umull lr, ip, r3, r2 mla ip, r3, r1, ip ldr r1, [r0, #0x10] ldr r5, [r0, #0x14] adds lr, r1, lr ldr r1, [r0, #0xc] mov r3, #0 mla ip, r1, r2, ip adc r5, r5, ip str lr, [r0] str r5, [r0, #4] mov r0, #5 mov r1, r3 umull r2, ip, r5, r0 mla ip, r5, r1, ip mla ip, r3, r0, ip add r0, ip, #1 strh r0, [sp, #0x16] ldrh r2, [r4, #0x26] add r1, sp, #0xc ldr r0, _0212f0ac ; =data_027e0fe8 add r2, r2, #0x20 strh r2, [sp, #0x18] str r1, [sp] ldr r0, [r0] ldr r1, _0212f0b0 ; =0x534c4152 add r2, r4, #0x48 add r3, sp, #0x14 bl func_ov00_020c4048 mvn r1, #0 add r0, r4, #0x100 strh r1, [r0, #0x20] ldrh r3, [r4, #0x26] ldr r2, _0212f0b4 ; =data_027e0fe4 add r1, sp, #4 str r3, [sp, #8] ldrsh r3, [r0, #0x20] ldr r0, [r2] add r2, sp, #8 strb r3, [sp, #4] bl func_ov15_02184728 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212efa4 _0212f0a8: .word data_027e0764 _0212f0ac: .word data_027e0fe8 _0212f0b0: .word 0x534c4152 _0212f0b4: .word data_027e0fe4 .global func_ov15_0212f0b8 arm_func_start func_ov15_0212f0b8 func_ov15_0212f0b8: ; 0x0212f0b8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrb r0, [r4, #0x1ab] cmp r0, #0 moveq r0, #1 addeq sp, sp, #0x3c streqb r0, [r4, #0x1ab] ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x130] cmp r0, #8 ldrne r0, _0212f254 ; =data_027e077c ldrne r0, [r0] cmpne r0, #0x3b bne _0212f13c add r0, r4, #0x300 bl func_ov00_020b7e6c add r0, r4, #0x2d0 bl func_ov00_020b7e6c add r0, r4, #0x2dc bl func_ov00_020b7e6c add r0, r4, #0x2e8 bl func_ov00_020b7e6c add r0, r4, #0x2f4 bl func_ov00_020b7e6c add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _0212f13c: add r0, r4, #0x100 ldrh r1, [r0, #0x68] ldr r3, _0212f258 ; =data_02050f54 add r0, sp, #0x18 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_01ff8230 add r0, r4, #0x100 ldrsh r1, [r0, #0x6a] add r0, sp, #0x18 mov r1, r1, lsl #0x1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0x18 bl func_ov15_0215cfc8 add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x130] cmp r0, #4 bne _0212f1fc ldr r0, _0212f25c ; =data_027e0e60 ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] ldr r0, [r0] add r1, sp, #0 mov r2, #0 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] bl func_ov00_02083ee0 ldr r1, _0212f260 ; =data_027e0e58 str r0, [sp, #0x10] ldr r0, [r1] add r2, sp, #0xc add r1, r4, #0x300 bl func_ov00_0207c474 b _0212f204 _0212f1fc: add r0, r4, #0x300 bl func_ov00_020b7e6c _0212f204: ldr r3, [r4, #0x1a0] add r1, sp, #0xc add r2, sp, #0x18 mov r0, r4 str r3, [sp, #0x10] bl func_ov15_0212ebf0 mov r0, #0x4000 ldr r1, [r4, #0x1a0] rsb r0, r0, #0 cmp r1, r0 addlt sp, sp, #0x3c ldmltia sp!, {r3, r4, pc} add r0, r4, #0x1d8 ldr r3, [r0] add r1, sp, #0x18 ldr r3, [r3, #0x14] add r2, sp, #0xc blx r3 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212f0b8 _0212f254: .word data_027e077c _0212f258: .word data_02050f54 _0212f25c: .word data_027e0e60 _0212f260: .word data_027e0e58 .global func_ov15_0212f264 arm_func_start func_ov15_0212f264 func_ov15_0212f264: ; 0x0212f264 stmdb sp!, {r3, lr} ldr r2, [r0, #0x258] cmp r2, #0 bne _0212f2bc ldr r2, [r1, #0x14] ldr r1, _0212f2c4 ; =0x434e424c ldr r2, [r2, #4] cmp r2, r1 bne _0212f2bc add r1, r0, #0x100 ldrsh r3, [r1, #0x20] mov r2, #0xc sub r3, r3, #1 strh r3, [r1, #0x20] str r2, [r0, #0x258] ldrsh r1, [r1, #0x20] cmp r1, #0 bne _0212f2b4 mov r1, #4 bl func_ov15_0212d008 _0212f2b4: mov r0, #1 ldmia sp!, {r3, pc} _0212f2bc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212f264 _0212f2c4: .word 0x434e424c .global func_ov15_0212f2c8 arm_func_start func_ov15_0212f2c8 func_ov15_0212f2c8: ; 0x0212f2c8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _0212f340 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r2, [r4, #0x184] ldr r1, _0212f344 ; =data_ov15_0218a46c sub r0, r0, r2 str r0, [r4, #0x4c] ldr r2, _0212f348 ; =data_ov15_0218a468 add r0, r4, #0x48 bl func_ov15_0215cbb0 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212f2c8 _0212f340: .word data_027e0e60 _0212f344: .word data_ov15_0218a46c _0212f348: .word data_ov15_0218a468 .global func_ov15_0212f34c arm_func_start func_ov15_0212f34c func_ov15_0212f34c: ; 0x0212f34c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212f34c .global func_ov15_0212f368 arm_func_start func_ov15_0212f368 func_ov15_0212f368: ; 0x0212f368 bx lr arm_func_end func_ov15_0212f368 .global func_ov15_0212f36c arm_func_start func_ov15_0212f36c func_ov15_0212f36c: ; 0x0212f36c stmdb sp!, {r3, lr} ldr r0, _0212f390 ; =gAdventureFlags mov r1, #0x37 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 movne r0, #0 ldreq r0, _0212f394 ; =data_ov15_02185dc0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212f36c _0212f390: .word gAdventureFlags _0212f394: .word data_ov15_02185dc0 .global func_ov15_0212f398 arm_func_start func_ov15_0212f398 func_ov15_0212f398: ; 0x0212f398 stmdb sp!, {r3, lr} ldr r1, _0212f3c4 ; =data_027e0fe0 ldr r0, _0212f3c8 ; =0x000004cc ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0212f534 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0212f398 _0212f3c4: .word data_027e0fe0 _0212f3c8: .word 0x000004cc .global func_ov15_0212f3cc arm_func_start func_ov15_0212f3cc func_ov15_0212f3cc: ; 0x0212f3cc cmp r0, #0 ldreq r0, _0212f3e0 ; =data_027e0e2c moveq r1, #1 streqb r1, [r0, #0x16] bx lr .align 2, 0 arm_func_end func_ov15_0212f3cc _0212f3e0: .word data_027e0e2c .global func_ov15_0212f3e4 arm_func_start func_ov15_0212f3e4 func_ov15_0212f3e4: ; 0x0212f3e4 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0212f41c ; =data_ov15_0218a6a0 add r0, r4, #0x5c str r1, [r4] mvn r1, #0 str r1, [r4, #0xbc] bl func_01ff892c add r0, r4, #0x8c bl func_01ff892c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212f3e4 _0212f41c: .word data_ov15_0218a6a0 .global func_ov15_0212f420 arm_func_start func_ov15_0212f420 func_ov15_0212f420: ; 0x0212f420 ldr ip, _0212f430 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0212f420 _0212f430: .word func_ov00_020a9998 .global func_ov15_0212f434 arm_func_start func_ov15_0212f434 func_ov15_0212f434: ; 0x0212f434 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #0xbc] mov r5, r1 cmp r0, #0 bge _0212f464 ldr r0, [r5, #4] ldr r1, _0212f4b4 ; =data_ov15_02185e44 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0xbc] _0212f464: ldr r0, [r5, #8] tst r0, #0x10 ldrneb r1, [r5, #0xae] ldr r0, [r4, #0xbc] mvneq r1, #0 cmp r0, r1 ldmneia sp!, {r3, r4, r5, pc} bl func_02018450 mov lr, r0 add ip, r4, #0x8c ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, r4, #0x5c mov r1, #0 bl func_0201b1bc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212f434 _0212f4b4: .word data_ov15_02185e44 .global func_ov15_0212f4b8 arm_func_start func_ov15_0212f4b8 func_ov15_0212f4b8: ; 0x0212f4b8 stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xe0 bl func_ov00_020c5c2c ldr r1, _0212f514 ; =data_ov15_0218a67c add r0, r4, #0x20 str r1, [r4] bl func_ov15_0212f3e4 add r0, r4, #0xe0 add r1, r4, #0x104 mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0212f518 ; =data_ov15_0218a690 ldr r2, _0212f51c ; =data_ov15_02185e18 mov r0, r4 mov r1, #0x91 str r3, [r4, #0xe0] bl func_ov00_020c5c98 add r0, r4, #0x20 bl func_ov15_0212f420 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212f4b8 _0212f514: .word data_ov15_0218a67c _0212f518: .word data_ov15_0218a690 _0212f51c: .word data_ov15_02185e18 .global func_ov15_0212f520 arm_func_start func_ov15_0212f520 func_ov15_0212f520: ; 0x0212f520 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0212f520 .global func_ov15_0212f534 arm_func_start func_ov15_0212f534 func_ov15_0212f534: ; 0x0212f534 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov15_0214e078 ldr r2, _0212f5ec ; =data_ov15_0218a5b8 mov r1, r4 add r0, r4, #0x1d8 str r2, [r4] bl func_ov15_0212f4b8 mov r1, #0 str r1, [r4, #0x314] sub r0, r1, #1 str r0, [r4, #0x318] str r1, [r4, #0x31c] str r1, [r4, #0x320] str r0, [r4, #0x324] str r1, [r4, #0x328] str r1, [r4, #0x32c] str r1, [r4, #0x330] mov r3, #2 add r0, r4, #0x334 mov r1, #0xfe mov r2, #6 str r3, [sp] bl func_ov00_02095720 add r0, r4, #0x2c add r0, r0, #0x400 mov r1, #0x1000000 bl func_ov00_020d18f4 mvn r2, #0 str r2, [r4, #0x488] str r2, [r4, #0x48c] mov r0, #0x1f000 str r0, [r4, #0x4b4] mov r1, #0 str r1, [r4, #0x4bc] add r0, r4, #0x400 strh r2, [r0, #0xc0] strh r1, [r0, #0xc2] strb r1, [r4, #0x4c4] strb r1, [r4, #0x4c6] strb r1, [r4, #0x4c8] mov r0, r4 strb r1, [r4, #0x4c9] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212f534 _0212f5ec: .word data_ov15_0218a5b8 .global func_ov15_0212f5f0 arm_func_start func_ov15_0212f5f0 func_ov15_0212f5f0: ; 0x0212f5f0 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _0212f6b0 ; =data_ov15_0218a5b8 ldr r0, _0212f6b4 ; =data_027e10a0 str r1, [r4] ldr r1, [r0] cmp r1, r4 moveq r1, #0 streq r1, [r0] ldr r0, _0212f6b8 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] bl func_ov00_020838d8 ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 bhi _0212f65c ldr r0, _0212f6bc ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0x66 bne _0212f65c ldr r0, _0212f6bc ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _0212f6c0 ; =data_ov15_02190458 mov r1, #0 bl func_ov15_021849c0 _0212f65c: add r0, r4, #0x2c add r0, r0, #0x400 bl func_ov00_020d1980 add r0, r4, #0x334 bl func_ov00_02095764 add r0, r4, #0x320 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7df0 add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x314 bl func_ov00_020b7df0 add r0, r4, #0x2b8 blx func_ov00_020a9b0c add r0, r4, #0x1f8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0214e118 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212f5f0 _0212f6b0: .word data_ov15_0218a5b8 _0212f6b4: .word data_027e10a0 _0212f6b8: .word data_027e0e60 _0212f6bc: .word data_ov00_020eec68 _0212f6c0: .word data_ov15_02190458 .global func_ov15_0212f6c4 arm_func_start func_ov15_0212f6c4 func_ov15_0212f6c4: ; 0x0212f6c4 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _0212f78c ; =data_ov15_0218a5b8 ldr r0, _0212f790 ; =data_027e10a0 str r1, [r4] ldr r1, [r0] cmp r1, r4 moveq r1, #0 streq r1, [r0] ldr r0, _0212f794 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] bl func_ov00_020838d8 ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 bhi _0212f730 ldr r0, _0212f798 ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0x66 bne _0212f730 ldr r0, _0212f798 ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _0212f79c ; =data_ov15_02190458 mov r1, #0 bl func_ov15_021849c0 _0212f730: add r0, r4, #0x2c add r0, r0, #0x400 bl func_ov00_020d1980 add r0, r4, #0x334 bl func_ov00_02095764 add r0, r4, #0x320 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7df0 add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x314 bl func_ov00_020b7df0 add r0, r4, #0x2b8 blx func_ov00_020a9b0c add r0, r4, #0x1f8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0214e118 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0212f6c4 _0212f78c: .word data_ov15_0218a5b8 _0212f790: .word data_027e10a0 _0212f794: .word data_027e0e60 _0212f798: .word data_ov00_020eec68 _0212f79c: .word data_ov15_02190458 .global func_ov15_0212f7a0 arm_func_start func_ov15_0212f7a0 func_ov15_0212f7a0: ; 0x0212f7a0 ldr r0, _0212f7ac ; =data_027e10a0 ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov15_0212f7a0 _0212f7ac: .word data_027e10a0 .global func_ov15_0212f7b0 arm_func_start func_ov15_0212f7b0 func_ov15_0212f7b0: ; 0x0212f7b0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x5c ldr r1, _0212fc08 ; =data_027e0fe4 mov r4, r0 ldr r0, [r1] bl func_ov15_021845e8 mov r1, #7 str r1, [r4, #0x130] ldr r0, _0212fc0c ; =gAdventureFlags mov r1, #0x37 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x5c movne r0, #0 ldmneia sp!, {r4, r5, pc} ldrh r0, [r4, #0x24] cmp r0, #0 bne _0212f824 ldr r0, _0212fc0c ; =gAdventureFlags ldr r1, _0212fc10 ; =0x0000010f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} ldr r0, _0212fc14 ; =data_027e10a0 str r4, [r0] _0212f824: mov r0, #0x10 ldr r5, _0212fc18 ; =0x00002666 str r0, [r4, #0x6c] mov r1, #0 str r5, [r4, #0x184] str r1, [r4, #0x7c] mov r0, #0x4800 str r0, [r4, #0x80] str r1, [r4, #0x84] mov r0, #0x3800 str r0, [r4, #0x88] str r1, [r4, #0x8c] str r5, [r4, #0x90] str r1, [r4, #0x94] str r5, [r4, #0x98] ldr r0, [r4, #0x8c] add ip, r5, #0x1000 str r0, [r4, #0x188] ldr r0, [r4, #0x90] mov r2, #2 str r0, [r4, #0x18c] ldr r0, [r4, #0x94] add r3, r4, #0x100 str r0, [r4, #0x190] ldr lr, [r4, #0x98] mov r0, #4 str lr, [r4, #0x194] str r1, [r4, #0xa8] str r5, [r4, #0xac] str r1, [r4, #0xb0] str ip, [r4, #0xb4] strh r2, [r4, #0x9c] strh r0, [r3, #0x20] strb r1, [r4, #0x124] str r1, [r4, #0x12c] mov r0, #0x1400 str r0, [r4, #0x198] mov r0, #0x2800 str r0, [r4, #0x19c] ldr ip, _0212fc1c ; =0x00006e67 ldr r0, _0212fc20 ; =0x000024cd str ip, [r4, #0x158] str r0, [r4, #0x15c] strh r1, [r3, #0x68] strh r1, [r3, #0x6a] strh r1, [r3, #0x6e] strh r1, [r3, #0x6c] str r1, [r4, #0x164] str r1, [r4, #0x160] ldr r0, [r4, #0x48] mov ip, #0x2f str r0, [r4, #0x1c8] ldr lr, [r4, #0x4c] add r0, r4, #0x1d8 str lr, [r4, #0x1cc] ldr lr, [r4, #0x50] str lr, [r4, #0x1d0] ldr lr, [r4, #0x1c8] str lr, [r4, #0x54] ldr lr, [r4, #0x1cc] str lr, [r4, #0x58] ldr lr, [r4, #0x1d0] str lr, [r4, #0x5c] ldrsh lr, [r4, #0x78] strh lr, [r3, #0xd4] str r1, [r4, #0x4b0] ldr r3, [r4, #0x4c] add r3, r3, #0xcd add r3, r3, #0x2400 str r3, [r4, #0x1a0] str ip, [r4, #0x318] str r2, [r4, #0x31c] str ip, [r4, #0x324] str r2, [r4, #0x328] bl func_ov00_020c5d74 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] mov r0, #0x3a000 str r1, [r4, #0x348] str r3, [r4, #0x34c] str r2, [r4, #0x350] str r0, [r4, #0x354] mov r1, #0x14000 ldr r0, _0212fc08 ; =data_027e0fe4 str r1, [r4, #0x358] ldr r1, [r0] add r0, r4, #0x400 ldrb r1, [r1, #0x65] strh r1, [r0, #0xc2] ldrh r0, [r4, #0x26] cmp r0, #0 beq _0212fad4 ldr r0, _0212fc0c ; =gAdventureFlags mov r1, #0xa ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} ldr r0, _0212fc0c ; =gAdventureFlags ldr r1, _0212fc10 ; =0x0000010f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x5c movne r0, #0 ldmneia sp!, {r4, r5, pc} mov r0, r4 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 beq _0212fab4 ldr r0, _0212fc0c ; =gAdventureFlags mov r1, #0xb8 ldr r0, [r0] mov r2, #0 bl _ZN14AdventureFlags3SetEjb mov r1, #4 str r1, [r4, #0x130] ldr r0, _0212fc24 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] bl func_ov00_020838c8 mov ip, #5 strb ip, [r4, #0x490] mov r1, #0x5d ldr r0, _0212fc08 ; =data_027e0fe4 strh r1, [r4, #0x7a] ldr r0, [r0] add r3, sp, #0x50 add r0, r0, #0x58 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x50] sub r0, ip, #0x80000006 cmp r1, r0 beq _0212fa68 ldr r0, [sp, #0x50] str r0, [r4, #0x48] ldr r0, [sp, #0x54] str r0, [r4, #0x4c] ldr r0, [sp, #0x58] str r0, [r4, #0x50] _0212fa68: ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x1b0 add r1, r4, #0x48 bl func_ov00_020c66e4 add r0, sp, #0xc add r1, r4, #0x1b0 bl func_ov00_020c6e08 add r0, sp, #0xc add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x4c] ldr r0, [r4, #0x50] cmp r1, r0 blt _0212fac0 add r0, r4, #0x1b0 bl func_ov00_020c6d9c b _0212fac0 _0212fab4: mov r0, r4 mov r1, #3 bl func_ov15_0212fd24 _0212fac0: mov r1, #1 ldr r0, _0212fc14 ; =data_027e10a0 strb r1, [r4, #0x4c4] str r4, [r0] b _0212fbe4 _0212fad4: ldrh r0, [r4, #0x22] ldr r1, _0212fc10 ; =0x0000010f cmp r0, #0 beq _0212fbc8 ldr r0, _0212fc0c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x5c movne r0, #0 ldmneia sp!, {r4, r5, pc} ldr r0, _0212fc0c ; =gAdventureFlags mov r1, #0xb8 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} ldr r0, _0212fc08 ; =data_027e0fe4 add ip, sp, #0x38 ldr r0, [r0] mvn r3, #0x80000000 add r0, r0, #0x58 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, [sp, #0x38] cmp r0, r3 beq _0212fb60 ldr r0, [sp, #0x38] str r0, [r4, #0x48] ldr r0, [sp, #0x3c] str r0, [r4, #0x4c] ldr r0, [sp, #0x40] str r0, [r4, #0x50] _0212fb60: ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x1b0 add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 beq _0212fbe4 add r0, sp, #0 add r1, r4, #0x1b0 bl func_ov00_020c6e08 add r0, sp, #0 add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x34] ldr r0, [r4, #0x50] cmp r1, r0 blt _0212fbb0 add r0, r4, #0x1b0 bl func_ov00_020c6d9c _0212fbb0: mov r0, r4 mov r1, #5 bl func_ov15_0212fd24 ldr r0, _0212fc14 ; =data_027e10a0 str r4, [r0] b _0212fbe4 _0212fbc8: ldr r0, _0212fc0c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} _0212fbe4: ldr r0, [r4, #8] mov r1, #0 str r0, [r4, #0x44c] ldr r2, [r4, #0xc] mov r0, #1 str r2, [r4, #0x450] strb r1, [r4, #0x480] add sp, sp, #0x5c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0212f7b0 _0212fc08: .word data_027e0fe4 _0212fc0c: .word gAdventureFlags _0212fc10: .word 0x0000010f _0212fc14: .word data_027e10a0 _0212fc18: .word 0x00002666 _0212fc1c: .word 0x00006e67 _0212fc20: .word 0x000024cd _0212fc24: .word data_027e0e60 .global func_ov15_0212fc28 arm_func_start func_ov15_0212fc28 func_ov15_0212fc28: ; 0x0212fc28 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r1, _0212fd0c ; =data_027e0fe4 mov r4, r0 ldr r1, [r1] ldr r2, _0212fd10 ; =0x4647474e add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r1, [sp, #8] mvn r0, #0 cmp r1, r0 beq _0212fc6c ldr r0, _0212fd0c ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x32c] _0212fc6c: ldr r1, _0212fd0c ; =data_027e0fe4 ldr r2, _0212fd14 ; =0x47534d47 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r2, [sp] ldr r1, [sp, #4] mvn r0, #0 str r2, [sp, #8] str r1, [sp, #0xc] cmp r2, r0 beq _0212fcb0 ldr r0, _0212fd0c ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x330] _0212fcb0: ldr r1, [r4, #0x48] ldr r0, _0212fd18 ; =data_027e0e60 str r1, [sp, #0x10] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x14] ldr r3, [r4, #0x50] add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] bl func_ov00_02083ee0 str r0, [r4, #0x4c] ldr r1, _0212fd1c ; =data_ov15_0218a5a0 ldr r2, _0212fd20 ; =data_ov15_0218a5ac add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r1, [r4, #0x4c] add r1, r1, #0xcd add r1, r1, #0x2400 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0212fc28 _0212fd0c: .word data_027e0fe4 _0212fd10: .word 0x4647474e _0212fd14: .word 0x47534d47 _0212fd18: .word data_027e0e60 _0212fd1c: .word data_ov15_0218a5a0 _0212fd20: .word data_ov15_0218a5ac .global func_ov15_0212fd24 arm_func_start func_ov15_0212fd24 func_ov15_0212fd24: ; 0x0212fd24 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x274 mov r4, r1 mov r5, r0 cmp r4, #6 addls pc, pc, r4, lsl #2 b _02130510 _0212fd40: ; jump table b _02130510 ; case 0 b _0212fd5c ; case 1 b _0212fdf8 ; case 2 b _0212fe54 ; case 3 b _0212fe8c ; case 4 b _0213010c ; case 5 b _02130188 ; case 6 _0212fd5c: ldr r3, _02130524 ; =data_027e0764 mov r0, #0 ldr r2, [r3] ldmib r3, {r1, r6} umull r8, r7, r6, r2 mla r7, r6, r1, r7 ldr r1, [r3, #0xc] ldr r6, [r3, #0x10] mla r7, r1, r2, r7 ldr r1, [r3, #0x14] adds r2, r6, r8 adc r8, r1, r7 str r2, [r3] mov r1, #0xc9 mov r2, r0 umull r6, r7, r8, r1 mla r7, r8, r2, r7 mla r7, r0, r1, r7 str r8, [r3, #4] add r1, r7, #0x258 str r1, [r5, #0x4b8] ldr r2, [r3] ldmib r3, {r1, r6} umull r8, r7, r6, r2 mla r7, r6, r1, r7 ldr r1, [r3, #0xc] ldr r9, [r3, #0x10] mla r7, r1, r2, r7 mov r1, r0, lsl #0x2 ldr r6, [r3, #0x14] adds r8, r9, r8 adc r2, r6, r7 str r8, [r3] ldr r0, _02130528 ; =data_ov15_02185dc8 orr r1, r1, r2, lsr #30 ldr r0, [r0, r1, lsl #2] str r2, [r3, #4] str r0, [r5, #0x4ac] b _02130510 _0212fdf8: ldr r1, _02130524 ; =data_027e0764 mov r2, #0 ldr r3, [r1] ldmib r1, {r0, r6} umull r8, r7, r6, r3 mla r7, r6, r0, r7 ldr r0, [r1, #0xc] ldr r6, [r1, #0x10] mla r7, r0, r3, r7 ldr r0, [r1, #0x14] adds r8, r6, r8 adc r7, r0, r7 mov r0, #0x65 umull r3, r6, r7, r0 str r8, [r1] mla r6, r7, r2, r6 mov r3, r2 mla r6, r3, r0, r6 str r7, [r1, #4] add r0, r6, #0xc8 str r0, [r5, #0x4b8] str r2, [r5, #0x4ac] b _02130510 _0212fe54: mov r3, #0 str r3, [r5, #0x4ac] ldr r0, _0213052c ; =data_027e0d0c str r3, [r5, #0x4b0] ldr r2, [r0] ldr r1, _02130530 ; =0x0000ffff str r2, [r5, #0x60] ldr r2, [r0, #4] str r2, [r5, #0x64] ldr r0, [r0, #8] str r0, [r5, #0x68] str r3, [r5, #0x4b4] strh r1, [r5, #0x7a] b _02130510 _0212fe8c: mov r0, #0 strb r0, [r5, #0x490] ldr r1, _02130530 ; =0x0000ffff add r0, sp, #0x1c4 strh r1, [r5, #0x7a] bl func_ov00_0209a4f4 ldr r1, _02130534 ; =data_027e0f94 mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r8, #0x32 mov r7, #2 mov r6, #3 ldr r0, _02130538 ; =data_027e0f64 str r9, [sp, #0x1c8] strb r8, [sp, #0x1cd] strb r7, [sp, #0x1ce] strb r6, [sp, #0x1cf] str r3, [sp, #0x1e4] str r2, [sp, #0x1e8] ldr r1, [r1, #8] ldr r0, [r0] str r1, [sp, #0x1ec] ldr r0, [r0, #4] add r1, sp, #0x15c bl func_ov00_02087d34 ldr r0, [sp, #0x15c] mov r9, #1 str r0, [r5, #0x35c] ldr r0, [sp, #0x160] str r0, [r5, #0x360] ldr r0, [sp, #0x164] str r0, [r5, #0x364] ldr r0, [sp, #0x168] str r0, [r5, #0x368] ldr r0, [sp, #0x16c] str r0, [r5, #0x36c] ldr r0, [sp, #0x170] str r0, [r5, #0x370] ldr r0, [sp, #0x174] str r0, [r5, #0x374] ldr r0, [sp, #0x178] str r0, [r5, #0x378] ldr r0, [sp, #0x17c] str r0, [r5, #0x37c] ldr r0, [sp, #0x180] str r0, [r5, #0x380] ldr r0, [sp, #0x184] str r0, [r5, #0x384] ldr r0, [sp, #0x188] str r0, [r5, #0x388] ldr r0, [sp, #0x18c] str r0, [r5, #0x38c] ldr r0, [sp, #0x190] str r0, [r5, #0x390] ldr r0, [sp, #0x194] str r0, [r5, #0x394] ldr r0, [sp, #0x198] str r0, [r5, #0x398] ldr r0, [sp, #0x19c] str r0, [r5, #0x39c] ldr r0, [sp, #0x1a0] str r0, [r5, #0x3a0] ldr r0, [sp, #0x1a4] str r0, [r5, #0x3a4] ldr r0, [sp, #0x1a8] str r0, [r5, #0x3a8] ldr r0, [sp, #0x1ac] str r0, [r5, #0x3ac] ldr r0, [sp, #0x1b0] str r0, [r5, #0x3b0] ldr r0, [sp, #0x1b4] str r0, [r5, #0x3b4] ldr r0, [sp, #0x1b8] str r0, [r5, #0x3b8] ldrb r0, [sp, #0x1bc] strb r0, [r5, #0x3bc] ldrb r0, [sp, #0x1bd] strb r0, [r5, #0x3bd] ldrb r0, [sp, #0x1be] strb r0, [r5, #0x3be] ldrb r0, [sp, #0x1bf] strb r0, [r5, #0x3bf] ldrb r0, [sp, #0x1c0] strb r0, [r5, #0x3c0] ldr r8, [sp, #0x15c] ldr r7, [sp, #0x160] ldr r6, [sp, #0x164] ldr r3, [sp, #0x168] ldr r2, [sp, #0x16c] ldr r1, [sp, #0x170] ldr r0, [sp, #0x174] strb r9, [sp, #0x1d8] str r8, [sp, #0x1f0] str r7, [sp, #0x1f4] str r6, [sp, #0x1f8] str r3, [sp, #0x1fc] str r2, [sp, #0x200] str r1, [sp, #0x204] str r0, [sp, #0x208] ldr r0, [sp, #0x17c] ldr r1, [sp, #0x178] str r0, [sp, #0x210] ldr r0, [sp, #0x194] ldr r10, [sp, #0x180] ldr r9, [sp, #0x184] ldr r8, [sp, #0x188] str r0, [sp, #0x228] ldr r0, [sp, #0x1ac] ldr r2, [sp, #0x18c] str r1, [sp, #0x20c] ldr r1, [sp, #0x190] str r10, [sp, #0x214] ldr r10, [sp, #0x198] str r9, [sp, #0x218] ldr r9, [sp, #0x19c] str r8, [sp, #0x21c] ldr r8, [sp, #0x1a0] str r0, [sp, #0x240] ldr r0, _0213053c ; =gAdventureFlags ldrb r7, [sp, #0x1bc] ldrb r6, [sp, #0x1bd] ldrb lr, [sp, #0x1be] ldrb ip, [sp, #0x1bf] ldrb r3, [sp, #0x1c0] str r2, [sp, #0x220] ldr r2, [sp, #0x1a4] str r1, [sp, #0x224] ldr r1, [sp, #0x1a8] str r10, [sp, #0x22c] ldr r10, [sp, #0x1b0] str r9, [sp, #0x230] ldr r9, [sp, #0x1b4] str r8, [sp, #0x234] ldr r8, [sp, #0x1b8] str r2, [sp, #0x238] mov r2, #0x5c str r1, [sp, #0x23c] mov r11, #0 ldr r0, [r0] add r1, sp, #0x1c4 str r10, [sp, #0x244] str r9, [sp, #0x248] str r8, [sp, #0x24c] strb r7, [sp, #0x250] strb r6, [sp, #0x251] strb lr, [sp, #0x252] strb ip, [sp, #0x253] strb r3, [sp, #0x254] str r2, [sp, #0x258] strb r11, [sp, #0x1da] bl _ZN14AdventureFlags18func_Ov00_02097810Ei ldr r1, _02130540 ; =data_027e0e60 str r0, [r5, #0x488] ldr r0, [r1] add r1, r5, #0x334 bl func_ov00_020838c8 add r0, sp, #0x1c4 bl func_ov00_0209a508 b _02130510 _0213010c: add r1, r5, #0x400 mov r2, #0 strh r2, [r1, #0xc0] add r0, sp, #0 add r1, r5, #0x1b0 bl func_ov00_020c6e08 ldr r1, [sp] mov r0, r5 str r1, [r5, #0x1c8] ldr r2, [sp, #4] add r1, r5, #0x1c8 str r2, [r5, #0x1cc] ldr r2, [sp, #8] str r2, [r5, #0x1d0] ldr r2, [r5, #0x4c] str r2, [r5, #0x1cc] bl _ZN5Actor10GetAngleToEP5Vec3p strh r0, [r5, #0x78] mov r0, #0x1f000 str r0, [r5, #0x4b4] mvn r0, #0 str r0, [r5, #0x88] mov r0, #0x5d strh r0, [r5, #0x7a] mov r1, #0 strb r1, [r5, #0x490] ldr r0, _02130540 ; =data_027e0e60 add r1, r5, #0x334 ldr r0, [r0] bl func_ov00_020838c8 b _02130510 _02130188: add r6, sp, #0x30 add r1, sp, #0x40 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r6, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 mov r0, r5 bl _ZN5Actor14GetAngleToLinkEv add r0, r0, #0x8000 ldr r2, [sp, #0x40] mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 ldr r1, _02130544 ; =data_027e10a4 orr r2, r2, #2 ldr r0, [r1] strh r6, [sp, #0x3c] str r2, [sp, #0x40] ldr r1, [r0, #0x2c] cmp r1, #4 beq _021301f8 add r1, sp, #0x30 bl func_ov15_02141344 cmp r0, #0 addeq sp, sp, #0x274 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021301f8: mov r1, #0 strb r1, [r5, #0x490] str r1, [r5, #0x4ac] ldr r0, _02130544 ; =data_027e10a4 str r1, [r5, #0x4b0] ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #1 bne _02130220 bl func_ov15_02136aa4 _02130220: add r0, sp, #0xac bl func_ov00_0209a4f4 ldr r0, _02130548 ; =0xffffc568 mvn r7, #0 mov r3, #0x32 mov r2, #2 mov r1, #3 strb r1, [sp, #0xb7] str r7, [sp, #0xb0] strb r3, [sp, #0xb5] strb r2, [sp, #0xb6] add r0, r6, r0 strh r0, [r5, #0x78] mov r0, #0 mov r1, r7, lsl #0xd str r0, [sp, #0x28] str r0, [sp, #0x2c] str r1, [sp, #0x24] ldrsh r1, [r5, #0x78] add r0, sp, #0x24 bl func_ov00_020a61ac add r0, sp, #0x24 add r1, r5, #0x48 mov r2, r0 bl func_01ff9bc4 ldr r0, _02130540 ; =data_027e0e60 add r1, sp, #0x24 ldr r0, [r0] mov r2, #0 bl func_ov00_02083ee0 str r0, [sp, #0x28] ldr r1, [sp, #0x24] add r0, sp, #0x24 str r1, [r5, #0x494] ldr r2, [sp, #0x28] ldr r1, _02130534 ; =data_027e0f94 str r2, [r5, #0x498] ldr r3, [sp, #0x2c] mov r2, r0 str r3, [r5, #0x49c] bl func_01ff9bf8 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] bl func_01ffa0f4 strh r0, [sp, #0x3c] ldr r1, [sp, #0x40] ldr r0, _02130544 ; =data_027e10a4 orr r1, r1, #2 str r1, [sp, #0x40] ldr r0, [r0] add r1, sp, #0x30 bl func_ov15_0214138c mov r0, #0x2000 rsb r0, r0, #0 str r0, [sp, #0x18] mov r0, #0 str r0, [sp, #0x1c] str r0, [sp, #0x20] ldrsh r1, [r5, #0x78] add r0, sp, #0x18 bl func_ov00_020a61ac add r0, sp, #0x18 add r1, r5, #0x48 mov r2, r0 bl func_01ff9bc4 ldr r0, _02130540 ; =data_027e0e60 add r1, sp, #0x18 ldr r0, [r0] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [sp, #0x18] str r0, [sp, #0x1c] str r1, [r5, #0x4a0] ldr r1, [sp, #0x1c] ldr r0, _02130538 ; =data_027e0f64 str r1, [r5, #0x4a4] ldr r2, [sp, #0x20] add r1, sp, #0x44 str r2, [r5, #0x4a8] ldr r7, [sp, #0x18] ldr r3, [sp, #0x1c] ldr r2, [sp, #0x20] ldr r0, [r0] str r7, [sp, #0xcc] str r3, [sp, #0xd0] str r2, [sp, #0xd4] ldr r0, [r0, #4] bl func_ov00_02087d34 add r0, r6, #0x7d0 mov r1, #0 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 ldr r2, _0213054c ; =0x00001388 mov r8, #1 mov r7, #0x5000 mov r6, #0x7d0 mov r0, #0x800 str r0, [sp, #0x10] strb r8, [sp, #0xc0] str r7, [sp, #0x5c] str r6, [sp, #0x54] str r3, [sp, #0x58] str r2, [sp, #0x50] str r1, [sp, #0xc] str r1, [sp, #0x14] ldrsh r1, [r5, #0x78] add r0, sp, #0xc bl func_ov00_020a61ac ldr r2, [sp, #0xc] ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] ldr r10, [sp, #0x44] ldr r9, [sp, #0x48] ldr r8, [sp, #0x4c] str r10, [sp, #0xd8] ldr r10, [sp, #0x50] str r9, [sp, #0xdc] ldr r9, [sp, #0x54] str r8, [sp, #0xe0] ldr r8, [sp, #0x58] str r10, [sp, #0xe4] ldr r10, [sp, #0x5c] str r9, [sp, #0xe8] ldr r9, [sp, #0x6c] str r8, [sp, #0xec] ldr r8, [sp, #0x70] str r10, [sp, #0xf0] ldr r10, [sp, #0x74] str r9, [sp, #0x100] ldr r9, [sp, #0x78] str r8, [sp, #0x104] ldr r8, [sp, #0x7c] str r10, [sp, #0x108] ldr r10, [sp, #0x80] str r9, [sp, #0x10c] ldr r9, [sp, #0x84] str r8, [sp, #0x110] ldr r8, [sp, #0x88] str r10, [sp, #0x114] ldr r10, [sp, #0x8c] str r9, [sp, #0x118] ldr r9, [sp, #0x90] str r8, [sp, #0x11c] ldr r8, [sp, #0x94] ldrb r7, [sp, #0xa4] ldrb r6, [sp, #0xa5] ldrb r3, [sp, #0xa6] str r10, [sp, #0x120] ldr r10, [sp, #0x98] str r9, [sp, #0x124] ldr r9, [sp, #0x9c] str r8, [sp, #0x128] ldr r8, [sp, #0xa0] str r10, [sp, #0x12c] str r2, [sp, #0x68] str r1, [sp, #0x64] str r0, [sp, #0x60] str r0, [sp, #0xf4] str r1, [sp, #0xf8] str r2, [sp, #0xfc] str r9, [sp, #0x130] str r8, [sp, #0x134] strb r7, [sp, #0x138] strb r6, [sp, #0x139] strb r3, [sp, #0x13a] ldrb r7, [sp, #0xa7] ldrb r6, [sp, #0xa8] ldr r0, _0213053c ; =gAdventureFlags mov r3, #0x5c mov r2, #0 ldr r0, [r0] add r1, sp, #0xac strb r7, [sp, #0x13b] strb r6, [sp, #0x13c] str r3, [sp, #0x140] strb r2, [sp, #0xc2] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x488] mov r6, #0x1e000 ldr r0, _02130550 ; =data_027e0c68 ldr r1, _02130554 ; =0x00050081 ldr r2, _02130534 ; =data_027e0f94 mov r3, #0 str r6, [r5, #0x18c] bl func_02036da8 add r0, sp, #0xac bl func_ov00_0209a508 _02130510: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x274 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0212fd24 _02130524: .word data_027e0764 _02130528: .word data_ov15_02185dc8 _0213052c: .word data_027e0d0c _02130530: .word 0x0000ffff _02130534: .word data_027e0f94 _02130538: .word data_027e0f64 _0213053c: .word gAdventureFlags _02130540: .word data_027e0e60 _02130544: .word data_027e10a4 _02130548: .word 0xffffc568 _0213054c: .word 0x00001388 _02130550: .word data_027e0c68 _02130554: .word 0x00050081 .global func_ov15_02130558 arm_func_start func_ov15_02130558 func_ov15_02130558: ; 0x02130558 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x4bc] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4bc] mov r0, r4 bl func_ov15_0213091c mov r0, r4 bl func_ov15_02130a1c ldr r0, [r4, #0x130] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02130724 _02130590: ; jump table b _02130724 ; case 0 b _021305ac ; case 1 b _02130628 ; case 2 b _02130694 ; case 3 b _021306ec ; case 4 b _02130700 ; case 5 b _02130714 ; case 6 _021305ac: ldrb r0, [r4, #0x1a9] cmp r0, #0 beq _021305c8 mov r0, r4 mov r1, #2 bl func_ov15_0212fd24 b _0213060c _021305c8: ldr r1, [r4, #0x4ac] ldr r0, [r4, #0x4b0] cmp r0, r1 bge _021305e4 add r0, r4, #0x4b0 mov r2, #2 bl Approach_thunk _021305e4: ldr r0, [r4, #0x4b8] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4b8] ldr r0, [r4, #0x4b8] cmp r0, #0 bne _0213060c mov r0, r4 mov r1, #2 bl func_ov15_0212fd24 _0213060c: mov r0, r4 bl func_ov15_02130bbc mov r0, r4 bl func_ov15_02130c38 mov r0, r4 bl func_ov15_021325f4 b _02130724 _02130628: ldr r0, [r4, #0x4b0] cmp r0, #0 beq _02130644 add r0, r4, #0x4b0 mov r1, #0 mov r2, #4 bl Approach_thunk _02130644: ldrb r0, [r4, #0x1a9] cmp r0, #0 bne _02130678 ldr r0, [r4, #0x4b8] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4b8] ldr r0, [r4, #0x4b8] cmp r0, #0 bne _02130678 mov r0, r4 mov r1, #1 bl func_ov15_0212fd24 _02130678: mov r0, r4 bl func_ov15_02130bbc mov r0, r4 bl func_ov15_02130c38 mov r0, r4 bl func_ov15_021325f4 b _02130724 _02130694: mov r0, r4 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x118] ldmneia sp!, {r4, pc} ldr r0, _02130780 ; =data_027e0e60 ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 beq _02130724 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02130724 mov r0, r4 mov r1, #4 bl func_ov15_0212fd24 b _02130724 _021306ec: mov r0, r4 bl func_ov15_021311c8 mov r0, r4 bl func_ov15_021325f4 b _02130724 _02130700: mov r0, r4 bl func_ov15_02131938 mov r0, r4 bl func_ov15_021325f4 b _02130724 _02130714: mov r0, r4 bl func_ov15_02132268 mov r0, r4 bl func_ov15_021325f4 _02130724: mov r0, r4 bl _ZN5Actor12ApplyGravityEv ldr r2, [r4, #0x4c] ldr r0, [r4, #0x64] ldr r1, _02130784 ; =data_ov15_0218a5a0 add r0, r2, r0 ldr r2, _02130788 ; =data_ov15_0218a5ac str r0, [r4, #0x4c] add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] ldr r1, _0213078c ; =data_ov15_02185e40 add r2, r2, #0xcd add r2, r2, #0x2400 add r2, r2, r0 mov r0, r4 str r2, [r4, #0x1a0] bl func_ov15_0214e138 add r0, r4, #0x1d8 bl func_ov00_020c5e20 mov r0, #0 strb r0, [r4, #0x1a9] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02130558 _02130780: .word data_027e0e60 _02130784: .word data_ov15_0218a5a0 _02130788: .word data_ov15_0218a5ac _0213078c: .word data_ov15_02185e40 .global func_ov15_02130790 arm_func_start func_ov15_02130790 func_ov15_02130790: ; 0x02130790 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214ed58 ldr r0, [r4, #0x4b4] cmp r0, #0x1f000 bne _021307d0 ldrb r0, [r4, #0xa4] add r2, r4, #0x48 cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 movne r1, #1 ldr r0, _021307e4 ; =data_ov15_02190458 moveq r1, #0 bl func_ov15_02184ab4 ldmia sp!, {r4, pc} _021307d0: ldr r0, _021307e4 ; =data_ov15_02190458 add r2, r4, #0x48 mov r1, #0 bl func_ov15_02184ab4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02130790 _021307e4: .word data_ov15_02190458 .global func_ov15_021307e8 arm_func_start func_ov15_021307e8 func_ov15_021307e8: ; 0x021307e8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021308b0 ldr r0, _02130908 ; =gAdventureFlags ldr r1, [r5, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 bne _02130848 ldr r0, _02130908 ; =gAdventureFlags ldr r1, [r5, #0x48c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 bne _02130848 mov r0, #0x10000 ldr r1, [r5, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _02130860 _02130848: mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x14] blx r2 b _021308b0 _02130860: mov r0, r5 bl _ZN5Actor12ApplyGravityEv ldr r2, [r5, #0x4c] ldr r0, [r5, #0x64] ldr r1, _0213090c ; =data_ov15_0218a5a0 add r0, r2, r0 ldr r2, _02130910 ; =data_ov15_0218a5ac str r0, [r5, #0x4c] add r0, r5, #0x48 bl func_ov15_0215cb24 ldr r2, [r5, #0x4c] ldr r1, _02130914 ; =data_ov15_02185e40 add r2, r2, #0xcd add r2, r2, #0x2400 add r2, r2, r0 mov r0, r5 str r2, [r5, #0x1a0] bl func_ov15_0214e138 add r0, r5, #0x1d8 bl func_ov00_020c5e20 _021308b0: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldr r0, [r5, #0x4b4] cmp r0, #0x1f000 bne _021308f4 ldrb r0, [r5, #0xa4] add r2, r5, #0x48 cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 movne r1, #1 ldr r0, _02130918 ; =data_ov15_02190458 moveq r1, #0 bl func_ov15_02184ab4 ldmia sp!, {r3, r4, r5, pc} _021308f4: ldr r0, _02130918 ; =data_ov15_02190458 add r2, r5, #0x48 mov r1, #0 bl func_ov15_02184ab4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021307e8 _02130908: .word gAdventureFlags _0213090c: .word data_ov15_0218a5a0 _02130910: .word data_ov15_0218a5ac _02130914: .word data_ov15_02185e40 _02130918: .word data_ov15_02190458 .global func_ov15_0213091c arm_func_start func_ov15_0213091c func_ov15_0213091c: ; 0x0213091c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1c mov r4, r0 ldr r0, [r4, #0x130] sub r0, r0, #3 cmp r0, #2 addls sp, sp, #0x1c ldmlsia sp!, {r4, r5, pc} mov r1, #0 ldr r0, _02130a0c ; =0x0000ffff strb r1, [r4, #0x1a9] strh r0, [r4, #0x7a] ldr r0, [r4, #0x130] cmp r0, #6 moveq r0, #0x5d addeq sp, sp, #0x1c streqh r0, [r4, #0x7a] ldmeqia sp!, {r4, r5, pc} ldrh r0, [r4, #0x24] cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r4, r5, pc} ldr r0, _02130a10 ; =gAdventureFlags mov r1, #0x14 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, pc} ldr r0, _02130a14 ; =data_027e0f64 ldr r1, _02130a18 ; =data_027e0f94 ldr r0, [r0] add ip, sp, #0x10 ldr r3, [r0, #4] ldmia r1, {r0, r1, r2} add r3, r3, #0x200 ldrsh r5, [r3, #0x26] stmia ip, {r0, r1, r2} add r2, sp, #4 mov r1, ip add r0, r4, #0x48 bl func_01ff9bf8 sub r0, r5, #0x8000 mov r1, r0, lsl #0x10 add ip, r4, #0x48 add r0, sp, #0x10 mov r1, r1, asr #0x10 mov r2, #0x7000 mov r3, #0x78000 str ip, [sp] bl func_0202b03c cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, pc} mov r0, #1 strb r0, [r4, #0x1a9] mov r0, #0x5d strh r0, [r4, #0x7a] add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213091c _02130a0c: .word 0x0000ffff _02130a10: .word gAdventureFlags _02130a14: .word data_027e0f64 _02130a18: .word data_027e0f94 .global func_ov15_02130a1c arm_func_start func_ov15_02130a1c func_ov15_02130a1c: ; 0x02130a1c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 mov r4, r0 ldrh r0, [r4, #0x26] cmp r0, #0 addne sp, sp, #0x34 ldmneia sp!, {r3, r4, pc} ldr r0, [r4, #0x130] cmp r0, #5 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} ldrh r0, [r4, #0x24] cmp r0, #0 bne _02130a70 ldr r0, _02130bb4 ; =gAdventureFlags mov r1, #0x14 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x34 ldmneia sp!, {r3, r4, pc} _02130a70: ldr r0, [r4, #0x4b4] cmp r0, #0x1f000 bne _02130aa8 ldr r0, _02130bb8 ; =data_027e0f94 add r1, r4, #0x48 bl func_01ff9ec0 cmp r0, #0xa000 addge sp, sp, #0x34 ldmgeia sp!, {r3, r4, pc} ldr r0, [r4, #0x4b4] add sp, sp, #0x34 sub r0, r0, #0x400 str r0, [r4, #0x4b4] ldmia sp!, {r3, r4, pc} _02130aa8: cmp r0, #0 bne _02130b30 mov r0, #0x1f000 str r0, [r4, #0x4b4] ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x1b0 add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x1b0 bl func_ov00_020c6d9c add r0, sp, #0x10 add r1, r4, #0x1b0 bl func_ov00_020c6e08 add r0, sp, #0x10 add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x28 mov r0, r3 add r1, r4, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] bl func_01ffa0f4 strh r0, [r4, #0x78] mov r0, r4 mov r1, #1 bl func_ov15_0212fd24 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _02130b30: sub r0, r0, #0x400 cmp r0, #0x1000 addge sp, sp, #0x34 str r0, [r4, #0x4b4] ldmgeia sp!, {r3, r4, pc} ldrsb r3, [r4, #0x2c] ldr r1, _02130bb8 ; =data_027e0f94 add r0, sp, #4 add r2, sp, #0 strb r3, [sp] bl func_ov15_0215c6d4 ldr r1, [sp, #4] mov r0, #0 str r1, [r4, #0x1c8] ldr r1, [sp, #8] str r1, [r4, #0x1cc] ldr r1, [sp, #0xc] str r1, [r4, #0x1d0] ldr r1, [r4, #0x1c8] str r1, [r4, #0x54] ldr r1, [r4, #0x1cc] str r1, [r4, #0x58] ldr r1, [r4, #0x1d0] str r1, [r4, #0x5c] ldr r1, [r4, #0x54] str r1, [r4, #0x48] ldr r1, [r4, #0x58] str r1, [r4, #0x4c] ldr r1, [r4, #0x5c] str r1, [r4, #0x50] str r0, [r4, #0x4b4] add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02130a1c _02130bb4: .word gAdventureFlags _02130bb8: .word data_027e0f94 .global func_ov15_02130bbc arm_func_start func_ov15_02130bbc func_ov15_02130bbc: ; 0x02130bbc stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x24] cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} ldr r0, _02130c30 ; =gAdventureFlags mov r1, #0x14 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _02130c34 ; =data_027e0f94 add r1, r4, #0x48 bl func_01ff9ec0 cmp r0, #0x6000 bge _02130c28 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02130c28 mov r0, r4 mov r1, #6 bl func_ov15_0212fd24 mov r0, #1 ldmia sp!, {r4, pc} _02130c28: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02130bbc _02130c30: .word gAdventureFlags _02130c34: .word data_027e0f94 .global func_ov15_02130c38 arm_func_start func_ov15_02130c38 func_ov15_02130c38: ; 0x02130c38 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r5, r0 ldr r1, [r5, #0x130] ldr r6, [r5, #0x4b0] cmp r1, #4 add r1, sp, #0 bne _02130c68 mov r2, r6 mov r3, #0x1f4 bl func_ov15_0214eb18 b _02130c74 _02130c68: ldr r3, _02130d1c ; =0x00000222 mov r2, r6 bl func_ov15_0214eb18 _02130c74: mov r4, r0 add r0, sp, #0 bl func_01ff9cec mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r0, r0, asr #0x5 beq _02130c9c cmp r0, #0x14 movlt r0, #0x14 blt _02130ca4 _02130c9c: cmp r0, r6 movgt r0, r6 _02130ca4: ldrh r1, [r5, #0x78] mov r3, #0 ldr r2, _02130d20 ; =data_02050f54 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 add r1, r6, #1 mov ip, r6, lsl #0x1 ldrsh ip, [r2, ip] mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] smull r6, lr, ip, r0 adds r7, r6, #0x800 smull ip, r0, r2, r0 adc r6, lr, #0 adds r2, ip, #0x800 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 adc r0, r0, #0 mov ip, r2, lsr #0xc orr ip, ip, r0, lsl #20 add r0, r5, #0x48 add r1, sp, #0 mov r2, r0 str r7, [sp] str r3, [sp, #4] str ip, [sp, #8] bl func_01ff9bc4 mov r0, r4 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02130c38 _02130d1c: .word 0x00000222 _02130d20: .word data_02050f54 .global func_ov15_02130d24 arm_func_start func_ov15_02130d24 func_ov15_02130d24: ; 0x02130d24 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r0, [r6, #0x4b4] movs r5, r1 mov r0, r0, asr #0xc and r4, r0, #0xff ldrneb r0, [r6, #0xa5] ldreqb r0, [r6, #0xa4] cmp r0, #0 beq _02130dbc cmp r4, #0 ldrne r0, [r6, #0x130] cmpne r0, #3 bne _02130d78 add r0, r6, #0x314 bl func_ov00_020b7e6c add r0, r6, #0x320 bl func_ov00_020b7e6c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} _02130d78: ldr r0, [r6, #0x1dc] mov r1, r4 bl func_020197fc cmp r4, #0x1f bne _02130d9c mov r0, r6 bl func_ov15_02130df4 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} _02130d9c: ldr r0, _02130dd4 ; =data_ov00_020e9c88 ldr r3, _02130dd8 ; =func_ov15_02130ddc mov r1, r5 add r2, r6, #0x48 str r6, [sp] bl func_ov00_0207b89c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} _02130dbc: add r0, r6, #0x314 bl func_ov00_020b7e6c add r0, r6, #0x320 bl func_ov00_020b7e6c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02130d24 _02130dd4: .word data_ov00_020e9c88 _02130dd8: .word func_ov15_02130ddc .global func_ov15_02130ddc arm_func_start func_ov15_02130ddc func_ov15_02130ddc: ; 0x02130ddc ldr ip, _02130de4 ; =func_ov15_02130de8 bx ip .align 2, 0 arm_func_end func_ov15_02130ddc _02130de4: .word func_ov15_02130de8 .global func_ov15_02130de8 arm_func_start func_ov15_02130de8 func_ov15_02130de8: ; 0x02130de8 ldr ip, _02130df0 ; =func_ov15_02130df4 bx ip .align 2, 0 arm_func_end func_ov15_02130de8 _02130df0: .word func_ov15_02130df4 .global func_ov15_02130df4 arm_func_start func_ov15_02130df4 func_ov15_02130df4: ; 0x02130df4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0xa0 mov r4, r0 add r0, r4, #0x100 ldrh r1, [r0, #0x68] ldr r3, _02130ffc ; =data_02050f54 add r0, sp, #0x7c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r5, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] blx func_01ff8230 add r0, r4, #0x100 ldrsh r1, [r0, #0x6a] add r0, sp, #0x7c mov r1, r1, lsl #0x1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0x7c bl func_ov15_0215cfc8 mov r0, #0x8000 ldr r1, [r4, #0x1a0] rsb r0, r0, #0 cmp r1, r0 bge _02130e88 add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7e6c add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} _02130e88: ldr r0, [r4, #0x48] add r1, sp, #0x7c str r0, [sp, #0x70] ldr r0, [r4, #0x4c] add r2, sp, #0x70 str r0, [sp, #0x74] ldr r3, [r4, #0x50] add r0, r4, #0x1d8 str r3, [sp, #0x78] ldr r3, [r4, #0x1a0] str r3, [sp, #0x74] bl func_ov00_020c5e88 ldr r0, [r4, #0x4b4] cmp r0, #0x1f000 bne _02130fe4 add ip, r4, #0x254 ldmia ip!, {r0, r1, r2, r3} add r5, sp, #0x34 mov lr, r5 stmia r5!, {r0, r1, r2, r3} ldmia ip!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia ip, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} add ip, r4, #0x284 add r6, sp, #4 ldmia ip!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} ldmia ip!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} ldmia ip, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} mov r5, #0x3000 ldr r3, _02131000 ; =0x00001666 str r5, [sp] mov r0, lr mov r1, lr mov r2, #0xcd bl func_01ff8988 ldr r1, [sp, #0x58] ldr r0, [sp, #0x5c] str r1, [sp, #0x64] ldr r1, [sp, #0x60] str r0, [sp, #0x68] add r0, sp, #0x64 str r1, [sp, #0x6c] add r1, sp, #4 mov r2, r0 bl func_01ff9158 ldr r0, _02131004 ; =data_027e0e58 add r1, r4, #0x314 ldr r0, [r0] add r2, sp, #0x64 bl func_ov00_0207c474 add r6, r4, #0x254 add r5, sp, #0x34 mov lr, r5 ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r6, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} mov ip, #0x3000 ldr r3, _02131008 ; =0xffffe99a str ip, [sp] mov r0, lr mov r1, lr mov r2, #0xcd bl func_01ff8988 ldr r1, [sp, #0x58] ldr r0, [sp, #0x5c] str r1, [sp, #0x64] ldr r1, [sp, #0x60] str r0, [sp, #0x68] add r0, sp, #0x64 str r1, [sp, #0x6c] add r1, sp, #4 mov r2, r0 bl func_01ff9158 ldr r0, _02131004 ; =data_027e0e58 add r1, r4, #0x320 ldr r0, [r0] add r2, sp, #0x64 bl func_ov00_0207c474 add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} _02130fe4: add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7e6c add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02130df4 _02130ffc: .word data_02050f54 _02131000: .word 0x00001666 _02131004: .word data_027e0e58 _02131008: .word 0xffffe99a .global func_ov15_0213100c arm_func_start func_ov15_0213100c func_ov15_0213100c: ; 0x0213100c ldrh r0, [r0, #0x24] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov15_0213100c .global func_ov15_02131020 arm_func_start func_ov15_02131020 func_ov15_02131020: ; 0x02131020 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldrb r0, [r4, #0x4c4] cmp r0, #0 bne _02131170 bl func_ov15_0212f7a0 cmp r0, r4 ldreq r0, [r4, #0x130] cmpeq r0, #5 moveq r0, #1 addeq sp, sp, #0x1c streqb r0, [r4, #0x4c4] ldmeqia sp!, {r3, r4, pc} mov r0, #1 strb r0, [r4, #0x4c4] ldrsb r3, [r4, #0x2c] ldr r1, _021311b8 ; =data_027e0f94 add r0, sp, #4 add r2, sp, #0 strb r3, [sp] bl func_ov15_0215c6d4 ldr r0, [sp, #4] str r0, [r4, #0x1c8] ldr r0, [sp, #8] str r0, [r4, #0x1cc] ldr r0, [sp, #0xc] str r0, [r4, #0x1d0] ldr r0, [r4, #0x1c8] str r0, [r4, #0x54] ldr r0, [r4, #0x1cc] str r0, [r4, #0x58] ldr r0, [r4, #0x1d0] str r0, [r4, #0x5c] ldr r0, [r4, #0x54] str r0, [r4, #0x48] ldr r0, [r4, #0x58] str r0, [r4, #0x4c] ldr r0, [r4, #0x5c] str r0, [r4, #0x50] bl func_ov15_0212f7a0 cmp r0, r4 bne _0213113c ldr r0, _021311bc ; =data_027e0fe4 add ip, sp, #0x10 ldr r0, [r0] mvn r3, #0x80000000 add r0, r0, #0x58 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, [sp, #0x10] cmp r0, r3 beq _0213113c ldr r0, [sp, #0x10] str r0, [r4, #0x1c8] ldr r0, [sp, #0x14] str r0, [r4, #0x1cc] ldr r0, [sp, #0x18] str r0, [r4, #0x1d0] ldr r0, [r4, #0x1c8] str r0, [r4, #0x54] ldr r0, [r4, #0x1cc] str r0, [r4, #0x58] ldr r0, [r4, #0x1d0] str r0, [r4, #0x5c] ldr r0, [r4, #0x54] str r0, [r4, #0x48] ldr r0, [r4, #0x58] str r0, [r4, #0x4c] ldr r0, [r4, #0x5c] str r0, [r4, #0x50] _0213113c: ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x1b0 add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #1 bl func_ov15_0212fd24 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} _02131170: ldr r0, [r4, #0x130] cmp r0, #5 ldreqb r0, [r4, #0x4c6] cmpeq r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, pc} ldr r2, [r4, #0x30] ldr r1, [r4, #0x330] ldr r0, _021311c0 ; =gAdventureFlags str r2, [r1, #0x1a0] ldr r0, [r0] ldr r1, _021311c4 ; =0x0000010f mov r2, #1 bl _ZN14AdventureFlags3SetEjb mov r0, r4 bl _ZN5Actor4KillEv add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02131020 _021311b8: .word data_027e0f94 _021311bc: .word data_027e0fe4 _021311c0: .word gAdventureFlags _021311c4: .word 0x0000010f .global func_ov15_021311c8 arm_func_start func_ov15_021311c8 func_ov15_021311c8: ; 0x021311c8 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x284 mov r4, r0 ldr r5, [r4, #0x4c] ldr r3, [r4, #0x50] ldr r2, [r4, #0x48] mov r1, #0x3a000 str r2, [r4, #0x348] str r5, [r4, #0x34c] str r3, [r4, #0x350] str r1, [r4, #0x354] mov r1, #0x14000 str r1, [r4, #0x358] bl func_ov15_02132630 ldrb r0, [r4, #0x490] cmp r0, #5 addls pc, pc, r0, lsl #2 b _021318fc _02131210: ; jump table b _02131228 ; case 0 b _021312b0 ; case 1 b _021314e0 ; case 2 b _0213151c ; case 3 b _02131740 ; case 4 b _02131840 ; case 5 _02131228: ldr r0, _0213190c ; =data_027e0f94 mov r2, #0 ldr r3, [r0] ldr r1, [r0, #4] str r3, [sp, #0x28] str r1, [sp, #0x2c] ldr r0, [r0, #8] mov r1, #1 str r0, [sp, #0x30] str r2, [sp] str r1, [sp, #4] ldr r0, _02131910 ; =data_027e0f64 add r1, sp, #0x28 ldr r0, [r0] add r3, r4, #0x35c ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 bl func_ov15_0215cf38 cmp r0, #0 bne _021318fc add r1, r4, #0x2c ldr r0, _02131914 ; =data_027e0c68 ldr r2, _02131918 ; =0x00050020 add r1, r1, #0x400 bl func_02036ce4 cmp r0, #0 beq _021318fc mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #1 strb r0, [r4, #0x490] b _021318fc _021312b0: mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _021318fc add r0, r4, #0x2c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _021318fc mov r0, r4 mov r1, #0 bl _ZN5Actor10SetUnk_11cEc add r0, sp, #0x1d4 bl func_ov00_0209a4f4 mvn r5, #0 mov r3, #0x32 mov r2, #4 mov r1, #3 ldr r0, _02131910 ; =data_027e0f64 str r5, [sp, #0x1d8] strb r3, [sp, #0x1dd] strb r2, [sp, #0x1de] strb r1, [sp, #0x1df] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0x1f4] ldr r2, [r4, #0x4c] add r1, sp, #0x16c str r2, [sp, #0x1f8] ldr r2, [r4, #0x50] str r2, [sp, #0x1fc] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #0xa000 mov r0, r4 str r1, [sp, #0x184] bl _ZN5Actor14GetAngleToLinkEv ldr r1, _0213191c ; =0x00001770 mov r3, #0x5000 mov r2, #0 ldrb r8, [sp, #0x1cc] ldrb r7, [sp, #0x1cd] ldrb r6, [sp, #0x1ce] strb r8, [sp, #0x260] ldr r8, [sp, #0x16c] strb r7, [sp, #0x261] ldr r7, [sp, #0x170] str r8, [sp, #0x200] ldr r8, [sp, #0x174] str r7, [sp, #0x204] ldr r7, [sp, #0x184] str r8, [sp, #0x208] ldr r8, [sp, #0x188] str r7, [sp, #0x218] ldr r7, [sp, #0x190] str r8, [sp, #0x21c] ldr r8, [sp, #0x194] str r7, [sp, #0x224] ldr r7, [sp, #0x198] str r8, [sp, #0x228] ldr r8, [sp, #0x19c] str r7, [sp, #0x22c] ldr r7, [sp, #0x1a0] str r8, [sp, #0x230] ldr r8, [sp, #0x1a4] str r7, [sp, #0x234] ldr r7, [sp, #0x1a8] str r8, [sp, #0x238] ldr r8, [sp, #0x1ac] str r7, [sp, #0x23c] ldr r7, [sp, #0x1b0] str r8, [sp, #0x240] ldr r8, [sp, #0x1b4] str r7, [sp, #0x244] ldr r7, [sp, #0x1b8] str r8, [sp, #0x248] ldr r8, [sp, #0x1bc] str r7, [sp, #0x24c] ldr r7, [sp, #0x1c0] ldrb r5, [sp, #0x1cf] str r8, [sp, #0x250] ldr r8, [sp, #0x1c4] str r7, [sp, #0x254] ldr r7, [sp, #0x1c8] str r8, [sp, #0x258] mov r8, #1 str r7, [sp, #0x25c] str r0, [sp, #0x180] str r3, [sp, #0x18c] str r2, [sp, #0x17c] str r1, [sp, #0x178] strb r8, [sp, #0x1e8] str r1, [sp, #0x20c] str r2, [sp, #0x210] str r0, [sp, #0x214] str r3, [sp, #0x220] strb r6, [sp, #0x262] strb r5, [sp, #0x263] ldr r0, _02131920 ; =gAdventureFlags ldrb r3, [sp, #0x1d0] mov r2, #0x5c ldr r0, [r0] add r1, sp, #0x1d4 strb r3, [sp, #0x264] str r2, [sp, #0x268] strb r8, [sp, #0x1ea] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x48c] ldr r0, _02131920 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021314a8 ldr r0, _02131920 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _021314a8: ldr r0, _02131924 ; =data_027e0e2c mvn r5, #0 ldr r2, _02131928 ; =func_ov15_0212f3cc mov r1, #3 mov r3, #0 str r5, [r4, #0x488] blx func_ov00_0207bd9c mov r1, #2 strb r1, [r4, #0x490] mov r1, #0x5d add r0, sp, #0x1d4 strh r1, [r4, #0x7a] bl func_ov00_0209a508 b _021318fc _021314e0: ldr r0, [r4, #0x4b4] cmp r0, #0x1f000 addlt r0, r0, #0x1000 strlt r0, [r4, #0x4b4] ldr r0, _02131910 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02089a2c cmp r0, #0 bne _021318fc mov r0, #0 str r0, [r4, #0x138] mov r0, #3 strb r0, [r4, #0x490] b _021318fc _0213151c: ldr r0, [r4, #0x4b4] cmp r0, #0x1f000 addlt r0, r0, #0x1000 strlt r0, [r4, #0x4b4] ldr r0, [r4, #0x138] cmp r0, #0x5a blt _021318fc add r1, r4, #0x2c ldr r0, _02131914 ; =data_027e0c68 ldr r2, _0213192c ; =0x00050021 add r1, r1, #0x400 bl func_02036ce4 cmp r0, #0 beq _021318fc mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r2, #4 strb r2, [r4, #0x490] ldr r1, _02131924 ; =data_027e0e2c mov r2, #0 add r0, sp, #0xbc strb r2, [r1, #0x16] bl func_ov00_0209a4f4 ldr r0, _0213190c ; =data_027e0f94 mov r3, #2 ldr r2, [r0] ldr r1, [r0, #4] mvn r6, #0 mov r5, #0x32 str r6, [sp, #0xc0] strb r5, [sp, #0xc5] strb r3, [sp, #0xc6] strb r3, [sp, #0xc7] str r2, [sp, #0xdc] str r1, [sp, #0xe0] ldr r0, [r0, #8] add r6, sp, #0x54 str r0, [sp, #0xe4] add r7, r4, #0x35c mov r5, #6 _021315c0: ldmia r7!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _021315c0 ldmia r7, {r0, r1} stmia r6, {r0, r1} ldr r2, [sp, #0x54] ldr r1, [sp, #0x58] ldr r9, [sp, #0x5c] ldr r8, [sp, #0x60] ldr r3, [sp, #0x64] str r2, [sp, #0xe8] ldr r2, [sp, #0x68] str r1, [sp, #0xec] ldr r1, [sp, #0x6c] str r9, [sp, #0xf0] ldr r9, [sp, #0x70] str r8, [sp, #0xf4] ldr r8, [sp, #0x74] str r3, [sp, #0xf8] ldr r3, [sp, #0x78] str r2, [sp, #0xfc] ldr r2, [sp, #0x7c] str r1, [sp, #0x100] ldr r1, [sp, #0x80] str r9, [sp, #0x104] ldr r9, [sp, #0x84] str r8, [sp, #0x108] ldr r8, [sp, #0x88] str r3, [sp, #0x10c] ldr r3, [sp, #0x8c] str r2, [sp, #0x110] ldr r2, [sp, #0x90] str r1, [sp, #0x114] ldr r1, [sp, #0x94] str r9, [sp, #0x118] ldr r9, [sp, #0x98] str r8, [sp, #0x11c] ldr r8, [sp, #0x9c] str r3, [sp, #0x120] ldr r3, [sp, #0xa0] ldr r0, _02131920 ; =gAdventureFlags ldrb r7, [sp, #0xb4] ldrb r6, [sp, #0xb5] ldrb r5, [sp, #0xb6] ldrb lr, [sp, #0xb7] ldrb ip, [sp, #0xb8] str r2, [sp, #0x124] ldr r2, [sp, #0xa4] str r1, [sp, #0x128] ldr r1, [sp, #0xa8] str r9, [sp, #0x12c] ldr r9, [sp, #0xac] str r8, [sp, #0x130] ldr r8, [sp, #0xb0] str r3, [sp, #0x134] mov r3, #1 strb r3, [sp, #0xd0] mov r3, #0x5c str r2, [sp, #0x138] mov r2, #0 str r1, [sp, #0x13c] ldr r0, [r0] add r1, sp, #0xbc str r9, [sp, #0x140] str r8, [sp, #0x144] strb r7, [sp, #0x148] strb r6, [sp, #0x149] strb r5, [sp, #0x14a] strb lr, [sp, #0x14b] strb ip, [sp, #0x14c] str r3, [sp, #0x150] strb r2, [sp, #0xd2] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x488] ldr r0, _02131920 ; =gAdventureFlags ldr r1, [r4, #0x48c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02131714 ldr r0, _02131920 ; =gAdventureFlags ldr r1, [r4, #0x48c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02131714: mvn r0, #0 str r0, [r4, #0x48c] ldr r0, [r4, #0x32c] cmp r0, #0 beq _02131734 bl func_ov15_0215b358 mov r0, #0 str r0, [r4, #0x32c] _02131734: add r0, sp, #0xbc bl func_ov00_0209a508 b _021318fc _02131740: ldr r0, _0213190c ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #0x1c] str r2, [sp, #0x20] ldr r2, [r0, #8] ldr r0, _02131910 ; =data_027e0f64 str r2, [sp, #0x24] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #0x1c ldr r0, [r0, #4] add r3, r4, #0x35c mov r2, #2 bl func_ov00_02089318 mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _021318fc add r0, r4, #0x2c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _021318fc mov r0, r4 mov r1, #0 bl _ZN5Actor10SetUnk_11cEc ldr r0, _02131920 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021317fc ldr r0, _02131920 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _021317fc: mvn r3, #0 mov r0, r4 mov r1, #0 mov r2, #1 str r3, [r4, #0x488] bl _ZN5Actor18func_ov00_020c1c20Eiii mov r1, #5 sub r0, r1, #6 strb r1, [r4, #0x490] str r0, [r4, #0x98] str r0, [r4, #0x88] ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x1b0 add r1, r4, #0x48 bl func_ov00_020c66e4 b _021318fc _02131840: ldr r0, _02131930 ; =data_027e0e60 ldrh r1, [r4, #0x24] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 beq _021318fc ldr r0, _0213190c ; =data_027e0f94 add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x48] mov r1, #0x3a000 str r0, [r4, #0x348] ldr r2, [sp, #0x4c] mov r0, #0x14000 str r2, [r4, #0x34c] ldr r2, [sp, #0x50] str r2, [r4, #0x350] str r1, [r4, #0x354] str r0, [r4, #0x358] ldr r1, [sp, #0x50] ldr r0, [r4, #0x50] mov r2, #0x29 sub r0, r1, r0 cmp r0, #0x14000 bge _021318bc ldr r1, _02131934 ; =0x00000171 add r0, r4, #0x4b0 bl Approach_thunk b _021318c8 _021318bc: add r0, r4, #0x4b0 mov r1, #0 bl Approach_thunk _021318c8: mov r0, r4 bl func_ov15_02130c38 ldr r1, _0213190c ; =data_027e0f94 mov r0, #0x4e000 ldr r1, [r1, #8] rsb r0, r0, #0 cmp r1, r0 bge _021318fc ldr r0, _02131920 ; =gAdventureFlags mov r1, #0xb8 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb _021318fc: mov r0, r4 bl func_ov15_021327dc add sp, sp, #0x284 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_021311c8 _0213190c: .word data_027e0f94 _02131910: .word data_027e0f64 _02131914: .word data_027e0c68 _02131918: .word 0x00050020 _0213191c: .word 0x00001770 _02131920: .word gAdventureFlags _02131924: .word data_027e0e2c _02131928: .word func_ov15_0212f3cc _0213192c: .word 0x00050021 _02131930: .word data_027e0e60 _02131934: .word 0x00000171 .global func_ov15_02131938 arm_func_start func_ov15_02131938 func_ov15_02131938: ; 0x02131938 stmdb sp!, {r4, lr} sub sp, sp, #0x188 ldr r1, _02131ed8 ; =data_027e0f94 add r3, sp, #0x1c mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x1c] mov r2, #0x3a000 str r0, [r4, #0x348] ldr r0, [sp, #0x20] mov r1, #0x14000 str r0, [r4, #0x34c] ldr r3, [sp, #0x24] mov r0, r4 str r3, [r4, #0x350] str r2, [r4, #0x354] str r1, [r4, #0x358] bl func_ov15_02132630 ldrb r0, [r4, #0x490] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02131ed0 _02131994: ; jump table b _021319b0 ; case 0 b _02131ab4 ; case 1 b _02131b98 ; case 2 b _02131c70 ; case 3 b _02131d08 ; case 4 b _02131e40 ; case 5 b _02131e50 ; case 6 _021319b0: ldr r1, [sp, #0x24] ldr r0, [r4, #0x50] mov r2, #0x29 sub r0, r1, r0 cmp r0, #0x8000 bge _021319d8 ldr r1, _02131edc ; =0x00000171 add r0, r4, #0x4b0 bl Approach_thunk b _021319e4 _021319d8: add r0, r4, #0x4b0 mov r1, #0 bl Approach_thunk _021319e4: mov r0, r4 bl func_ov15_02130c38 cmp r0, #0 bne _02131aa4 ldr r0, [r4, #0x330] ldrb r0, [r0, #0x1ad] cmp r0, #0 movne r0, #6 strneb r0, [r4, #0x490] bne _02131aa4 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02131aa4 mov r3, #1 strb r3, [r4, #0x490] add r0, r3, #0x170 str r0, [r4, #0x4ac] ldr r1, _02131ee0 ; =data_027e0d0c add r0, sp, #0xd8 ldr r2, [r1] str r2, [r4, #0x60] ldr r2, [r1, #4] str r2, [r4, #0x64] ldr r1, [r1, #8] str r1, [r4, #0x68] ldr r1, [r4, #0x32c] strb r3, [r1, #0x239] bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _02131ee4 ; =gAdventureFlags mvn ip, #0 mov r3, #0x32 ldr r0, [r0] add r1, sp, #0xd8 str ip, [sp, #0xdc] strb r3, [sp, #0xe1] strb r2, [sp, #0xe2] strb r2, [sp, #0xe3] strb r2, [sp, #0xee] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x488] mov r2, #1 strb r2, [r4, #0x4c6] ldr r1, [r4, #0x330] add r0, sp, #0xd8 strb r2, [r1, #0x1ad] bl func_ov00_0209a508 _02131aa4: mov r0, r4 bl func_ov15_021327dc add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131ab4: ldr r0, [r4, #0x32c] ldrb r0, [r0, #0x23a] cmp r0, #0 beq _02131b10 ldr r3, _02131ee8 ; =0x0000ffff add r1, r4, #0x2c strh r3, [r4, #0x7a] mov r3, #2 ldr r0, _02131eec ; =data_027e0c68 ldr r2, _02131ef0 ; =0x00050049 add r1, r1, #0x400 strb r3, [r4, #0x490] bl func_02036ce4 mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r0, _02131ef4 ; =data_027e0f64 add r1, r4, #0x3c4 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131b10: ldr r1, _02131ef8 ; =0x000002e2 add r0, r4, #0x4b0 mov r2, #0x29 bl Approach_thunk ldrh r0, [r4, #0x78] ldr r2, _02131efc ; =data_02050f54 ldr lr, [r4, #0x4b0] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r1, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] smull r2, r3, r1, lr adds ip, r2, #0x800 smull r2, r1, r0, lr adc r0, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r0, lsl #20 adds r2, r2, #0x800 str r3, [r4, #0x60] adc r0, r1, #0 mov r3, r2, lsr #0xc mov ip, #0 orr r3, r3, r0, lsl #20 add r0, r4, #0x48 str ip, [r4, #0x64] add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x68] bl func_01ff9bc4 add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131b98: mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x188 ldmeqia sp!, {r4, pc} add r0, r4, #0x2c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x188 ldmneia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x138] mov r0, #3 strb r0, [r4, #0x490] ldr r0, _02131ee4 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02131c1c ldr r0, _02131ee4 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02131c1c: add r0, sp, #0x28 bl func_ov00_0209a4f4 mov r3, #0 ldr r0, _02131ee4 ; =gAdventureFlags mvn lr, #0 mov ip, #0x32 mov r2, #6 ldr r0, [r0] add r1, sp, #0x28 str lr, [sp, #0x2c] strb ip, [sp, #0x31] strb r3, [sp, #0x32] strb r3, [sp, #0x33] strb r2, [sp, #0x34] strb r3, [sp, #0x3e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x488] add r0, sp, #0x28 bl func_ov00_0209a508 add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131c70: ldr r0, [r4, #0x138] cmp r0, #0x16 bne _02131cd0 mov r3, #0 str r3, [sp] ldr r0, _02131f00 ; =data_027e0f90 str r3, [sp, #4] ldr r0, [r0] ldr r1, _02131f04 ; =data_027e0fac ldr ip, [r0] ldrsh r2, [r1] ldr ip, [ip, #0x34] add r1, r4, #0x14 blx ip ldr r0, _02131f08 ; =data_027e0e60 add r1, r4, #0x334 ldr r0, [r0] bl func_ov00_020838d8 ldr r0, [r4, #0x32c] bl func_ov15_0215bacc mov r0, #0 add sp, sp, #0x188 str r0, [r4, #0x4b4] ldmia sp!, {r4, pc} _02131cd0: cmp r0, #0x2b blt _02131ce8 mov r0, #0 str r0, [r4, #0x138] mov r0, #4 strb r0, [r4, #0x490] _02131ce8: ldr r0, [r4, #0x138] cmp r0, #0x16 addle sp, sp, #0x188 ldmleia sp!, {r4, pc} mov r0, r4 bl func_ov15_02131f0c add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131d08: mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, _02131ee4 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02131d3c mov r0, r4 bl func_ov15_02131f0c cmp r0, #0 addeq sp, sp, #0x188 ldmeqia sp!, {r4, pc} _02131d3c: ldrb r0, [r4, #0x4c9] cmp r0, #0 bne _02131d84 add r1, r4, #0x2c ldr r2, [r4, #0x30] ldr r0, _02131eec ; =data_027e0c68 add r1, r1, #0x400 bl func_02036ce4 strb r0, [r4, #0x4c9] and r1, r0, #0xff mov r0, r4 bl _ZN5Actor10SetUnk_11cEc add r1, r4, #0x2c ldr r0, _02131eec ; =data_027e0c68 add r1, r1, #0x400 bl func_020368f4 add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131d84: mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x188 ldmeqia sp!, {r4, pc} add r0, r4, #0x2c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x444] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x188 ldmneia sp!, {r4, pc} ldr r0, _02131ee4 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02131df8 ldr r0, _02131ee4 ; =gAdventureFlags ldr r1, [r4, #0x488] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02131df8: ldr r0, _02131ef4 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_020875f8 mvn r2, #0 str r2, [r4, #0x488] mov r1, #0 strb r1, [r4, #0x4c9] ldr r0, _02131ee4 ; =gAdventureFlags add r1, r2, #0x110 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb mov r0, #5 add sp, sp, #0x188 strb r0, [r4, #0x490] ldmia sp!, {r4, pc} _02131e40: mov r0, r4 bl _ZN5Actor4KillEv add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131e50: ldr r1, _02131ef8 ; =0x000002e2 add r0, r4, #0x4b0 mov r2, #0x29 bl Approach_thunk ldrh r0, [r4, #0x78] ldr r2, _02131efc ; =data_02050f54 ldr lr, [r4, #0x4b0] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r1, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] smull r2, r3, r1, lr adds ip, r2, #0x800 smull r2, r1, r0, lr adc r0, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r0, lsl #20 adds r2, r2, #0x800 str r3, [r4, #0x60] adc r0, r1, #0 mov r3, r2, lsr #0xc mov ip, #0 orr r3, r3, r0, lsl #20 add r0, r4, #0x48 str ip, [r4, #0x64] add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x68] bl func_01ff9bc4 _02131ed0: add sp, sp, #0x188 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02131938 _02131ed8: .word data_027e0f94 _02131edc: .word 0x00000171 _02131ee0: .word data_027e0d0c _02131ee4: .word gAdventureFlags _02131ee8: .word 0x0000ffff _02131eec: .word data_027e0c68 _02131ef0: .word 0x00050049 _02131ef4: .word data_027e0f64 _02131ef8: .word 0x000002e2 _02131efc: .word data_02050f54 _02131f00: .word data_027e0f90 _02131f04: .word data_027e0fac _02131f08: .word data_027e0e60 .global func_ov15_02131f0c arm_func_start func_ov15_02131f0c func_ov15_02131f0c: ; 0x02131f0c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x50 mov r9, r0 ldrb r0, [r9, #0x490] cmp r0, #3 bne _02131fd8 ldr r0, _021321b8 ; =data_027e0f64 add r1, r9, #0x35c ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, #0x2800 str r0, [r9, #0x374] mov r0, #0x3000 str r0, [r9, #0x36c] ldr r1, _021321bc ; =0x00001770 ldr r0, _021321c0 ; =data_027e0fac str r1, [r9, #0x368] ldrsh r0, [r0] mov r2, #0 mov r1, r9 add r0, r0, #0xff add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r9, #0x370] str r2, [r9, #0x378] str r2, [r9, #0x37c] add r0, sp, #0x44 str r2, [r9, #0x380] bl func_ov15_021321c4 ldr r2, [sp, #0x44] ldr r1, [sp, #0x48] ldr r0, [sp, #0x4c] str r2, [sp, #0x38] str r1, [sp, #0x3c] str r0, [sp, #0x40] mov r0, #0 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _021321b8 ; =data_027e0f64 add r1, sp, #0x38 ldr r0, [r0] add r3, r9, #0x35c ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0x50 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _02131fd8: ldr r0, [r9, #0x138] cmp r0, #0x78 bgt _0213215c ldr r2, [r9, #0x36c] rsb r3, r0, #0x78 ldr r1, [r9, #0x368] ldr r0, [r9, #0x370] mov r4, r2, lsl #0x10 mov r7, r3, lsl #0xc ldr r2, [r9, #0x3dc] cmp r7, #0x1000 mov r5, r1, lsl #0x10 mov r6, r0, lsl #0x10 strle r2, [r9, #0x374] ble _02132030 ldr r0, [r9, #0x374] mov r1, r7 sub r0, r2, r0 bl Divide ldr r1, [r9, #0x374] add r0, r1, r0 str r0, [r9, #0x374] _02132030: ldr r0, [r9, #0x3d4] cmp r7, #0x1000 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 ble _0213206c sub r0, r8, r4, asr #16 mov r0, r0, lsl #0x10 mov r1, r7 mov r0, r0, asr #0x4 bl Divide add r0, r0, #0x800 mov r0, r0, asr #0xc add r0, r0, r4, asr #16 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _0213206c: ldr r0, [r9, #0x3d0] cmp r7, #0x1000 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 ble _021320a8 sub r0, r4, r5, asr #16 mov r0, r0, lsl #0x10 mov r1, r7 mov r0, r0, asr #0x4 bl Divide add r0, r0, #0x800 mov r0, r0, asr #0xc add r0, r0, r5, asr #16 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _021320a8: ldr r0, [r9, #0x3d8] cmp r7, #0x1000 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 ble _021320e4 sub r0, r2, r6, asr #16 mov r0, r0, lsl #0x10 mov r1, r7 mov r0, r0, asr #0x4 bl Divide add r0, r0, #0x800 mov r0, r0, asr #0xc add r0, r0, r6, asr #16 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 _021320e4: mov r0, #0 str r0, [r9, #0x378] str r0, [r9, #0x37c] str r0, [r9, #0x380] str r8, [r9, #0x36c] str r4, [r9, #0x368] add r0, sp, #0x2c mov r1, r9 str r2, [r9, #0x370] bl func_ov15_021321c4 ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] ldr r0, [sp, #0x34] str r2, [sp, #0x20] str r1, [sp, #0x24] str r0, [sp, #0x28] mov r0, #0 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _021321b8 ; =data_027e0f64 add r1, sp, #0x20 ldr r0, [r0] add r3, r9, #0x35c ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0x50 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _0213215c: add r0, sp, #0x14 mov r1, r9 bl func_ov15_021321c4 ldr r2, [sp, #0x14] ldr r1, [sp, #0x18] ldr r0, [sp, #0x1c] str r2, [sp, #8] str r1, [sp, #0xc] str r0, [sp, #0x10] mov r0, #0 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _021321b8 ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, r9, #0x35c ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 mov r0, #1 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02131f0c _021321b8: .word data_027e0f64 _021321bc: .word 0x00001770 _021321c0: .word data_027e0fac .global func_ov15_021321c4 arm_func_start func_ov15_021321c4 func_ov15_021321c4: ; 0x021321c4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 ldr r2, _02132258 ; =data_027e0fac ldr r3, [r1, #0x370] ldrsh r1, [r2] ldr ip, _0213225c ; =0x000008a4 mov r2, r3, lsl #0x10 mov r4, r0 mov lr, #0 mov r3, #0x214 add r0, sp, #0x18 str lr, [sp, #0x18] str ip, [sp, #0x1c] str r3, [sp, #0x20] mov r5, r2, asr #0x10 bl func_ov00_020a61ac mov r3, #0 ldr r2, _02132260 ; =0x0000051f add r0, sp, #0xc mov r1, r5 str r3, [sp, #0xc] str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_ov00_020a61ac add r0, sp, #0xc add r1, sp, #0x18 add r2, sp, #0 bl func_01ff9bc4 add r0, sp, #0 ldr r1, _02132264 ; =data_027e0f94 mov r2, r0 bl func_01ff9bc4 add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021321c4 _02132258: .word data_027e0fac _0213225c: .word 0x000008a4 _02132260: .word 0x0000051f _02132264: .word data_027e0f94 .global func_ov15_02132268 arm_func_start func_ov15_02132268 func_ov15_02132268: ; 0x02132268 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xa4 mov r4, r0 ldrb r0, [r4, #0x490] cmp r0, #3 addls pc, pc, r0, lsl #2 b _021325d0 _02132284: ; jump table b _02132294 ; case 0 b _021323ec ; case 1 b _02132504 ; case 2 b _021325d0 ; case 3 _02132294: add r5, sp, #0x90 add r1, sp, #0xa0 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _021325d8 ; =data_027e0f94 add r3, sp, #0x84 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x138] cmp r0, #0x3c bne _021322e8 ldr r0, _021325dc ; =data_027e0c68 ldr r1, _021325e0 ; =0x00050082 mov r2, r3 mov r3, #0 bl func_02036da8 _021322e8: add r0, r4, #0x94 add r1, sp, #0x84 add r0, r0, #0x400 bl func_ov00_020ce2f0 cmp r0, #0x1000 ldrltb r0, [r4, #0x490] ldr r2, _021325e4 ; =data_02050f54 ldr r1, _021325e8 ; =data_027e0e60 addlt r0, r0, #1 strltb r0, [r4, #0x490] ldr r0, _021325ec ; =data_027e0fac ldr r3, [sp, #0x88] ldrh r0, [r0] str r3, [sp, #0x44] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r4, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r7, [r2, r4] ldrsh r4, [r2, r0] mov r0, #0x52 umull r9, r8, r7, r0 mov r2, #0 umull r6, r5, r4, r0 mla r8, r7, r2, r8 mla r5, r4, r2, r5 mov r7, r7, asr #0x1f mov r4, r4, asr #0x1f mla r8, r7, r0, r8 adds r9, r9, #0x800 adc r7, r8, #0 mov r8, r9, lsr #0xc mla r5, r4, r0, r5 adds r6, r6, #0x800 adc r0, r5, #0 mov r4, r6, lsr #0xc orr r4, r4, r0, lsl #20 ldr r0, [r1] ldr r5, [sp, #0x84] orr r8, r8, r7, lsl #20 add r6, r5, r8 ldr r5, [sp, #0x8c] add r1, sp, #0x40 add r4, r5, r4 str r6, [sp, #0x84] str r4, [sp, #0x8c] str r6, [sp, #0x40] str r4, [sp, #0x48] bl func_ov00_02083ee0 ldr r1, [sp, #0xa0] ldr r4, [sp, #0x84] orr r2, r1, #1 ldr r3, [sp, #0x8c] ldr r1, _021325f0 ; =data_027e10a4 str r0, [sp, #0x88] str r0, [sp, #0x94] ldr r0, [r1] add r1, sp, #0x90 str r4, [sp, #0x90] str r3, [sp, #0x98] str r2, [sp, #0xa0] bl func_ov15_0214138c add sp, sp, #0xa4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021323ec: add r5, sp, #0x70 add r1, sp, #0x80 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _021325d8 ; =data_027e0f94 add r3, sp, #0x64 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x138] cmp r0, #0x3c bne _02132440 ldr r0, _021325dc ; =data_027e0c68 ldr r1, _021325e0 ; =0x00050082 mov r2, r3 mov r3, #0 bl func_02036da8 _02132440: add r0, sp, #0x64 add r1, r4, #0x4a0 mov r2, #0x52 bl func_0202b2f8 cmp r0, #0 beq _0213246c ldrb r1, [r4, #0x490] mov r0, #0 add r1, r1, #1 strb r1, [r4, #0x490] str r0, [r4, #0x138] _0213246c: ldr r1, _021325ec ; =data_027e0fac add r0, sp, #0 ldrsh r1, [r1] mov r2, #0xb6 strh r1, [sp] ldrsh r1, [r4, #0x78] bl func_0202b154 ldr r0, _021325e8 ; =data_027e0e60 ldr r1, [sp, #0x80] ldrsh r7, [sp] orr r6, r1, #2 ldr r5, [sp, #0x64] ldr r4, [sp, #0x68] ldr r3, [sp, #0x6c] ldr r0, [r0] add r1, sp, #0x28 mov r2, #0 str r6, [sp, #0x80] strh r7, [sp, #0x7c] str r5, [sp, #0x28] str r4, [sp, #0x2c] str r3, [sp, #0x30] bl func_ov00_02083ee0 ldr r1, [sp, #0x80] ldr r4, [sp, #0x64] orr r2, r1, #1 ldr r3, [sp, #0x6c] ldr r1, _021325f0 ; =data_027e10a4 str r0, [sp, #0x68] str r0, [sp, #0x74] ldr r0, [r1] add r1, sp, #0x70 str r4, [sp, #0x70] str r3, [sp, #0x78] str r2, [sp, #0x80] bl func_ov15_0214138c add sp, sp, #0xa4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02132504: ldr r0, [r4, #0x138] cmp r0, #0x32 addle sp, sp, #0xa4 ldmleia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r3, #0 sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff ldr r0, _021325e8 ; =data_027e0e60 str r2, [sp, #0x58] str r5, [sp, #0x4c] str r3, [sp, #0x50] str r3, [sp, #0x54] strh r3, [sp, #0x5c] strb r3, [sp, #0x5f] strb r3, [sp, #0x60] strb r3, [sp, #0x61] strb r1, [sp, #0x5e] ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x4c bl func_ov00_020838e8 cmp r0, #0 addeq sp, sp, #0xa4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r0, _021325f0 ; =data_027e10a4 ldrsh r5, [sp, #0x5c] ldrb lr, [sp, #0x5e] ldrb ip, [sp, #0x5f] ldrb r3, [sp, #0x60] ldrb r2, [sp, #0x61] ldr r9, [sp, #0x4c] ldr r8, [sp, #0x50] ldr r7, [sp, #0x54] ldr r6, [sp, #0x58] ldr r0, [r0] add r1, sp, #4 str r9, [sp, #4] str r8, [sp, #8] str r7, [sp, #0xc] str r6, [sp, #0x10] strh r5, [sp, #0x14] strb lr, [sp, #0x16] strb ip, [sp, #0x17] strb r3, [sp, #0x18] strb r2, [sp, #0x19] bl func_ov15_021413f8 cmp r0, #0 ldrneb r0, [r4, #0x490] addne r0, r0, #1 strneb r0, [r4, #0x490] _021325d0: add sp, sp, #0xa4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02132268 _021325d8: .word data_027e0f94 _021325dc: .word data_027e0c68 _021325e0: .word 0x00050082 _021325e4: .word data_02050f54 _021325e8: .word data_027e0e60 _021325ec: .word data_027e0fac _021325f0: .word data_027e10a4 .global func_ov15_021325f4 arm_func_start func_ov15_021325f4 func_ov15_021325f4: ; 0x021325f4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212f7a0 cmp r0, r4 ldmneia sp!, {r4, pc} ldr r0, _0213262c ; =data_027e0fe4 ldr r1, [r4, #0x48] ldr r2, [r0] str r1, [r2, #0x58] ldr r0, [r4, #0x4c] str r0, [r2, #0x5c] ldr r0, [r4, #0x50] str r0, [r2, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021325f4 _0213262c: .word data_027e0fe4 .global func_ov15_02132630 arm_func_start func_ov15_02132630 func_ov15_02132630: ; 0x02132630 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl func_ov15_0215b780 cmp r0, #0 beq _02132694 ldrb r0, [r4, #0x4c8] cmp r0, #0 beq _0213266c ldr r0, _0213277c ; =data_ov00_020eec68 mov r1, #0x5a bl func_ov00_020d716c mov r0, #0x5a str r0, [r4, #0x4bc] b _02132684 _0213266c: ldr r0, [r4, #0x4bc] cmp r0, #1 bne _02132684 ldr r0, _02132780 ; =data_ov15_02190458 mov r1, #0x64 bl func_ov15_021849c0 _02132684: mov r0, #0 add sp, sp, #0xc strb r0, [r4, #0x4c8] ldmia sp!, {r3, r4, pc} _02132694: ldr r1, _02132784 ; =data_027e0f94 add r0, r4, #0x334 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp] str r2, [sp, #4] ldr r2, [r1, #8] add r1, sp, #0 str r2, [sp, #8] ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 cmp r0, #0 beq _02132730 ldr r0, _02132788 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] ldrb r0, [r4, #0x4c8] cmp r0, #0 bne _02132700 ldr r0, _02132780 ; =data_ov15_02190458 mov r1, #0x96 bl func_ov15_021849dc mov r0, #0x96 str r0, [r4, #0x4bc] b _02132720 _02132700: ldr r0, [r4, #0x4bc] cmp r0, #1 bne _02132720 ldr r0, _0213277c ; =data_ov00_020eec68 mov r1, #0x66 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 _02132720: mov r0, #1 add sp, sp, #0xc strb r0, [r4, #0x4c8] ldmia sp!, {r3, r4, pc} _02132730: ldrb r0, [r4, #0x4c8] cmp r0, #0 beq _02132754 ldr r0, _0213277c ; =data_ov00_020eec68 mov r1, #0x5a bl func_ov00_020d716c mov r0, #0x5a str r0, [r4, #0x4bc] b _0213276c _02132754: ldr r0, [r4, #0x4bc] cmp r0, #1 bne _0213276c ldr r0, _02132780 ; =data_ov15_02190458 mov r1, #0x64 bl func_ov15_021849c0 _0213276c: mov r0, #0 strb r0, [r4, #0x4c8] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02132630 _0213277c: .word data_ov00_020eec68 _02132780: .word data_ov15_02190458 _02132784: .word data_027e0f94 _02132788: .word data_027e10a4 .global func_ov15_0213278c arm_func_start func_ov15_0213278c func_ov15_0213278c: ; 0x0213278c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 bhi _021327d0 ldr r0, _021327d8 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020846a4 cmp r0, #6 movne r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x32000 movlt r0, #1 ldmltia sp!, {r4, pc} _021327d0: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213278c _021327d8: .word data_027e0e60 .global func_ov15_021327dc arm_func_start func_ov15_021327dc func_ov15_021327dc: ; 0x021327dc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x400 ldrsh r1, [r0, #0xc2] cmp r1, #0xa ldmgeia sp!, {r4, pc} ldrsh r0, [r0, #0xc0] cmp r0, #0 ldmltia sp!, {r4, pc} bl func_ov15_0215cf38 cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x400 ldrsh r1, [r0, #0xc0] add r1, r1, #1 strh r1, [r0, #0xc0] ldrsh r1, [r0, #0xc0] cmp r1, #0xb4 ldmltia sp!, {r4, pc} mov r3, #0 strh r3, [r0, #0xc0] ldrsh r2, [r0, #0xc2] ldr r1, _0213286c ; =data_ov15_02185dd8 ldr r0, _02132870 ; =data_027e0c68 ldr r1, [r1, r2, lsl #2] ldr r2, _02132874 ; =data_027e0f94 bl func_02036da8 add r0, r4, #0x400 ldrsh r2, [r0, #0xc2] ldr r1, _02132878 ; =data_027e0fe4 add r2, r2, #1 strh r2, [r0, #0xc2] ldrsh r2, [r0, #0xc2] ldr r0, [r1] strb r2, [r0, #0x65] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021327dc _0213286c: .word data_ov15_02185dd8 _02132870: .word data_027e0c68 _02132874: .word data_027e0f94 _02132878: .word data_027e0fe4 .global func_ov15_0213287c arm_func_start func_ov15_0213287c func_ov15_0213287c: ; 0x0213287c stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldrh r1, [r4, #0x26] cmp r1, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} bl func_ov15_0215b780 cmp r0, #0 beq _021328dc mov r1, #0 strb r1, [r4, #0x118] ldr r0, _02132948 ; =gAdventureFlags mov r1, #0xb8 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb add sp, sp, #0x18 ldmia sp!, {r4, pc} _021328dc: ldr r1, [r4, #0x14] add r0, r4, #0x1b0 str r1, [r4, #0x48] ldr r2, [r4, #0x18] add r1, r4, #0x48 str r2, [r4, #0x4c] ldr r2, [r4, #0x1c] str r2, [r4, #0x50] ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] bl func_ov00_020c66e4 add r0, sp, #0 add r1, r4, #0x1b0 bl func_ov00_020c6e08 add r0, sp, #0 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x14] ldr r0, [r4, #0x50] cmp r1, r0 addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} add r0, r4, #0x1b0 bl func_ov00_020c6d9c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213287c _02132948: .word gAdventureFlags .global func_ov15_0213294c arm_func_start func_ov15_0213294c func_ov15_0213294c: ; 0x0213294c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213294c .global func_ov15_02132968 arm_func_start func_ov15_02132968 func_ov15_02132968: ; 0x02132968 bx lr arm_func_end func_ov15_02132968 .global func_ov15_0213296c arm_func_start func_ov15_0213296c func_ov15_0213296c: ; 0x0213296c stmdb sp!, {r3, lr} ldr r1, _02132998 ; =data_027e0fe0 mov r0, #0x378 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02132b18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213296c _02132998: .word data_027e0fe0 .global func_ov15_0213299c arm_func_start func_ov15_0213299c func_ov15_0213299c: ; 0x0213299c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c6114 ldr r3, _021329e8 ; =data_ov15_0218a7c0 add r0, r4, #0xfc add r1, r4, #0x120 mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _021329ec ; =data_ov15_02189ac0 ldr r2, _021329f0 ; =data_ov15_02185e58 mov r0, r4 str r1, [r4, #0xfc] mov r1, #0x94 bl func_ov00_020c5c98 ldr r1, [r4, #4] mov r0, r4 str r1, [r4, #0x104] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213299c _021329e8: .word data_ov15_0218a7c0 _021329ec: .word data_ov15_02189ac0 _021329f0: .word data_ov15_02185e58 .global func_ov15_021329f4 arm_func_start func_ov15_021329f4 func_ov15_021329f4: ; 0x021329f4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 ldr r0, _02132a70 ; =data_ov15_0218a7dc blx func_02016fe8 mov r4, r0 ldr r1, _02132a74 ; =data_ov15_0218a7f8 add r0, sp, #0 mov r2, #0x10 bl strncpy add r1, sp, #0 mov r0, r4 bl func_0201e544 mov r1, r0 add r0, r5, #0xfc bl func_ov00_020c0c9c mov r2, #0x1000 add r0, r5, #0xfc add r1, r5, #0x24 str r2, [r5, #0x10c] bl func_ov00_020c0d70 add r0, r5, #0x100 mov r1, #0 strh r1, [r0, #8] mov r0, r5 bl func_ov00_020c5d74 ldr r0, [r5, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021329f4 _02132a70: .word data_ov15_0218a7dc _02132a74: .word data_ov15_0218a7f8 .global func_ov15_02132a78 arm_func_start func_ov15_02132a78 func_ov15_02132a78: ; 0x02132a78 ldr ip, _02132a84 ; =func_ov00_020c0e04 add r0, r0, #0xfc bx ip .align 2, 0 arm_func_end func_ov15_02132a78 _02132a84: .word func_ov00_020c0e04 .global func_ov15_02132a88 arm_func_start func_ov15_02132a88 func_ov15_02132a88: ; 0x02132a88 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r2, [r4, #4] ldr r1, _02132b0c ; =data_ov15_02185e78 ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 mov r5, r0 ldr r6, [r4, #4] ldr r0, _02132b10 ; =data_ov00_020e9360 mov r1, #6 bl func_ov00_02079e68 mov r2, r0 mov r0, r6 mov r1, r5 bl func_02019534 ldr r2, [r4, #4] ldr r1, _02132b14 ; =data_ov15_02185e8c ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 ldr r5, [r4, #4] mov r4, r0 ldr r0, _02132b10 ; =data_ov00_020e9360 mov r1, #6 bl func_ov00_02079e68 mov r1, r4 mov r2, r0 mov r0, r5 bl func_02019534 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02132a88 _02132b0c: .word data_ov15_02185e78 _02132b10: .word data_ov00_020e9360 _02132b14: .word data_ov15_02185e8c .global func_ov15_02132b18 arm_func_start func_ov15_02132b18 func_ov15_02132b18: ; 0x02132b18 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _02132b7c ; =data_ov15_0218a6fc mov r1, r4 add r0, r4, #0x158 str r2, [r4] bl func_ov15_0213299c add r0, r4, #0x2a0 mov r1, #0x1000000 bl func_ov00_020d18f4 add r0, r4, #0x2fc bl func_ov00_020c66bc mov r1, #0 str r1, [r4, #0x314] sub r0, r1, #1 str r0, [r4, #0x318] str r1, [r4, #0x31c] str r1, [r4, #0x320] str r0, [r4, #0x324] str r1, [r4, #0x328] str r0, [r4, #0x36c] mov r0, r4 strb r1, [r4, #0x376] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02132b18 _02132b7c: .word data_ov15_0218a6fc .global func_ov15_02132b80 arm_func_start func_ov15_02132b80 func_ov15_02132b80: ; 0x02132b80 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x320 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7df0 add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x314 bl func_ov00_020b7df0 add r0, r4, #0x2fc bl func_ov00_020c66d0 add r0, r4, #0x2a0 bl func_ov00_020d1980 add r0, r4, #0x254 blx func_ov00_020a9acc add r0, r4, #0x1d4 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02132b80 .global func_ov15_02132be0 arm_func_start func_ov15_02132be0 func_ov15_02132be0: ; 0x02132be0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x320 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7df0 add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x314 bl func_ov00_020b7df0 add r0, r4, #0x2fc bl func_ov00_020c66d0 add r0, r4, #0x2a0 bl func_ov00_020d1980 add r0, r4, #0x254 blx func_ov00_020a9acc add r0, r4, #0x1d4 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02132be0 .global func_ov15_02132c48 arm_func_start func_ov15_02132c48 func_ov15_02132c48: ; 0x02132c48 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldrh r0, [r4, #0x20] cmp r0, #0 beq _02132c80 cmp r0, #1 bne _02132c80 ldr r0, _02132de4 ; =gAdventureFlags mov r1, #0x1d ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02132c80: mov r2, #0 str r2, [r4, #0x4c] ldr r0, [r4, #0x48] ldr r3, _02132de8 ; =data_027e0d0c str r0, [r4, #0x54] ldr r1, [r4, #0x4c] mov r0, #0x1000 str r1, [r4, #0x58] ldr r1, [r4, #0x50] mov r5, #0x2000 str r1, [r4, #0x5c] ldr r6, [r4, #0x54] add r1, r4, #0x100 str r6, [r4, #0x32c] ldr r6, [r4, #0x58] mov lr, #4 str r6, [r4, #0x330] ldr r6, [r4, #0x5c] mov ip, #2 str r6, [r4, #0x334] ldr r6, [r4, #8] str r6, [r4, #0x2c0] ldr r6, [r4, #0xc] str r6, [r4, #0x2c4] strb r2, [r4, #0x2f4] strb r2, [r4, #0x373] strb r2, [r4, #0x374] str r2, [r4, #0x6c] ldr r6, [r3] str r6, [r4, #0x7c] ldr r6, [r3, #4] str r6, [r4, #0x80] ldr r3, [r3, #8] str r3, [r4, #0x84] str r0, [r4, #0x88] ldr r3, [r4, #0x7c] str r3, [r4, #0x8c] ldr r3, [r4, #0x80] str r3, [r4, #0x90] ldr r3, [r4, #0x84] str r3, [r4, #0x94] ldr r3, [r4, #0x88] str r3, [r4, #0x98] str r2, [r4, #0xa8] str r0, [r4, #0xac] str r2, [r4, #0xb0] str r5, [r4, #0xb4] strh lr, [r1, #0x20] strb r2, [r4, #0x124] str ip, [r4, #0x12c] str r2, [r4, #0x35c] str r2, [r4, #0x360] str r2, [r4, #0x344] str r0, [r4, #0x34c] str r0, [r4, #0x350] strb r2, [r4, #0x372] ldr r1, [r4, #0x4c] str r1, [r4, #0x358] strb r2, [r4, #0x375] ldrh r1, [r4, #0x22] cmp r1, #0 bne _02132da8 str r0, [r4, #0x348] ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x2fc add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 beq _02132db8 mov r0, r4 mov r1, #2 bl func_ov15_02132dec b _02132db8 _02132da8: mov r0, r4 mov r1, #1 str r2, [r4, #0x348] bl func_ov15_02132dec _02132db8: mov r0, #0xd2 str r0, [r4, #0x318] mov r1, #2 str r1, [r4, #0x31c] mov r0, #0xd3 str r0, [r4, #0x324] add r0, r4, #0x158 str r1, [r4, #0x328] bl func_ov15_021329f4 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02132c48 _02132de4: .word gAdventureFlags _02132de8: .word data_027e0d0c .global func_ov15_02132dec arm_func_start func_ov15_02132dec func_ov15_02132dec: ; 0x02132dec stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc4 mov r4, r1 mov r5, r0 cmp r4, #8 addls pc, pc, r4, lsl #2 b _02133068 _02132e08: ; jump table b _02132e2c ; case 0 b _02132eb0 ; case 1 b _02132f10 ; case 2 b _02132f8c ; case 3 b _02133060 ; case 4 b _02133058 ; case 5 b _02133058 ; case 6 b _02133060 ; case 7 b _02133060 ; case 8 _02132e2c: mov r0, #1 ldr r2, _02133080 ; =data_027e0764 strb r0, [r5, #0x375] ldr r3, [r2] ldmib r2, {r1, r6} umull ip, r7, r6, r3 mla r7, r6, r1, r7 ldr r1, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r1, r3, r7 ldr r1, [r2, #0x14] adds r3, r6, ip adc ip, r1, r7 str r3, [r2] mov r1, #0x33 umull r6, r7, ip, r1 mov r3, #0 mla r7, ip, r3, r7 mov r6, r3 mla r7, r6, r1, r7 str ip, [r2, #4] add r1, r7, #0x96 str r1, [r5, #0x364] ldr r1, [r5, #0x350] cmp r1, #0x1000 ldreq r0, _02133084 ; =0x00000666 streq r0, [r5, #0x350] beq _02133068 str r3, [r5, #0x350] str r3, [r5, #0x368] str r0, [r5, #0x35c] mov r4, #6 b _02133068 _02132eb0: mov r0, #0 strb r0, [r5, #0x375] mov r1, #0x1000 ldr r2, _02133080 ; =data_027e0764 str r1, [r5, #0x34c] ldr r3, [r2] ldmib r2, {r1, r6} umull ip, r7, r6, r3 mla r7, r6, r1, r7 ldr r1, [r2, #0xc] ldr lr, [r2, #0x10] mla r7, r1, r3, r7 ldr r6, [r2, #0x14] adds ip, lr, ip adc r7, r6, r7 mov r1, #0x1f umull r3, r6, r7, r1 mla r6, r7, r0, r6 mla r6, r0, r1, r6 str ip, [r2] str r7, [r2, #4] add r0, r6, #0x5a str r0, [r5, #0x360] b _02133068 _02132f10: mov r0, #1 ldr r2, _02133080 ; =data_027e0764 strb r0, [r5, #0x375] ldr r1, [r2] ldmib r2, {r0, r3} umull r7, r6, r3, r1 mla r6, r3, r0, r6 ldr r0, [r2, #0xc] ldr r3, [r2, #0x10] mla r6, r0, r1, r6 ldr r0, [r2, #0x14] adds r1, r3, r7 adc r7, r0, r6 str r1, [r2] mov r0, #0x33 umull r3, r6, r7, r0 mov r1, #0 mla r6, r7, r1, r6 mov r3, r1 mla r6, r3, r0, r6 str r7, [r2, #4] add r0, r6, #0x96 str r0, [r5, #0x360] ldrh r0, [r5, #0x22] cmp r0, #0 bne _02132f80 add r0, r5, #0x2fc bl func_ov00_020c69a0 _02132f80: mov r0, #0x1000 str r0, [r5, #0x350] b _02133068 _02132f8c: mov r0, #1 strb r0, [r5, #0x375] mov r3, #0x1000 add r6, sp, #0 add r1, sp, #0x10 mov r0, #0 mov r2, #4 str r3, [r5, #0x350] bl func_020078f4 add r1, r6, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _02133088 ; =data_027e10a4 mov r1, r6 ldr r0, [r0] bl func_ov15_02141344 cmp r0, #0 ldreq r4, [r5, #0x130] beq _02133048 add r0, sp, #0x14 bl func_ov00_0209a4f4 ldr r1, _0213308c ; =data_027e0f94 mvn r7, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r6, #0x32 mov lr, #0 mov ip, #2 ldr r0, _02133090 ; =gAdventureFlags str r7, [sp, #0x18] strb r6, [sp, #0x1d] strb lr, [sp, #0x1e] strb ip, [sp, #0x1f] str r3, [sp, #0x34] str r2, [sp, #0x38] ldr r2, [r1, #8] ldr r0, [r0] add r1, sp, #0x14 str r2, [sp, #0x3c] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x36c] add r0, sp, #0x14 add r1, r5, #0x300 mov r2, #0 strh r2, [r1, #0x70] bl func_ov00_0209a508 _02133048: ldr r0, _0213308c ; =data_027e0f94 ldr r0, [r0, #4] str r0, [r5, #0x354] b _02133068 _02133058: mov r0, #0 str r0, [r5, #0x368] _02133060: mov r0, #0 strb r0, [r5, #0x375] _02133068: mov r0, #0 str r0, [r5, #0x35c] str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0xc4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02132dec _02133080: .word data_027e0764 _02133084: .word 0x00000666 _02133088: .word data_027e10a4 _0213308c: .word data_027e0f94 _02133090: .word gAdventureFlags .global func_ov15_02133094 arm_func_start func_ov15_02133094 func_ov15_02133094: ; 0x02133094 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0213312c ldr r0, [r5, #0x48] mov r1, #0 str r0, [r5, #0x54] ldr r2, [r5, #0x4c] mov r0, r5 str r2, [r5, #0x58] ldr r3, [r5, #0x50] mov r2, r1 str r3, [r5, #0x5c] bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 ldr r1, _02133140 ; =data_ov15_0218a6e0 ldr r2, _02133144 ; =data_ov15_0218a6ec add r0, r5, #0x48 bl func_ov15_0215cb24 str r0, [r5, #0x358] ldrb r0, [r5, #0x375] cmp r0, #0 beq _0213312c ldr r0, _02133148 ; =data_027e0f94 add r2, r5, #0x48 mov r1, #0xa000 bl func_ov00_020ce284 cmp r0, #0 beq _0213312c ldr r0, _0213314c ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] _0213312c: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02133094 _02133140: .word data_ov15_0218a6e0 _02133144: .word data_ov15_0218a6ec _02133148: .word data_027e0f94 _0213314c: .word data_027e10a4 .global func_ov15_02133150 arm_func_start func_ov15_02133150 func_ov15_02133150: ; 0x02133150 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021331f4 ldr r0, [r5, #0x130] cmp r0, #8 beq _0213318c ldr r0, _02133208 ; =gAdventureFlags ldr r1, [r5, #0x36c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0213319c _0213318c: mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 _0213319c: mov r0, r5 bl func_ov15_02133e14 add r0, r5, #0x158 bl func_ov00_020c5e20 ldr r1, _0213320c ; =data_ov15_0218a6e0 ldr r2, _02133210 ; =data_ov15_0218a6ec add r0, r5, #0x48 bl func_ov15_0215cb24 str r0, [r5, #0x358] ldrb r0, [r5, #0x375] cmp r0, #0 beq _021331f4 ldr r0, _02133214 ; =data_027e0f94 add r2, r5, #0x48 mov r1, #0xa000 bl func_ov00_020ce284 cmp r0, #0 beq _021331f4 ldr r0, _02133218 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] _021331f4: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02133150 _02133208: .word gAdventureFlags _0213320c: .word data_ov15_0218a6e0 _02133210: .word data_ov15_0218a6ec _02133214: .word data_027e0f94 _02133218: .word data_027e10a4 .global func_ov15_0213321c arm_func_start func_ov15_0213321c func_ov15_0213321c: ; 0x0213321c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xac mov r7, r0 ldrb r0, [r7, #0x372] cmp r0, #0 subne r0, r0, #1 strneb r0, [r7, #0x372] ldr r0, [r7, #0x130] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02133c6c _02133248: ; jump table b _0213326c ; case 0 b _021332ac ; case 1 b _0213335c ; case 2 b _021333cc ; case 3 b _021336cc ; case 4 b _021337c8 ; case 5 b _021338b4 ; case 6 b _02133b38 ; case 7 b _02133bc4 ; case 8 _0213326c: ldr r1, [r7, #0x34c] ldr r0, [r7, #0x350] cmp r1, r0 subgt r0, r1, #0x100 strgt r0, [r7, #0x34c] ldr r0, [r7, #0x364] cmp r0, #0 subne r0, r0, #1 strne r0, [r7, #0x364] ldr r0, [r7, #0x364] cmp r0, #0 bgt _02133c6c mov r0, r7 mov r1, #2 bl func_ov15_02132dec b _02133c6c _021332ac: ldr r0, [r7, #0x360] cmp r0, #0 beq _02133338 ldr r0, _02133c9c ; =data_027e0e60 ldrh r1, [r7, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 ldrne r0, [r7, #0x360] subne r0, r0, #1 strne r0, [r7, #0x360] ldr r0, [r7, #0x360] cmp r0, #0 bne _02133c6c mov r4, #0 ldr r1, _02133ca0 ; =data_ov15_02185e74 ldr r2, _02133ca4 ; =data_ov15_02185e70 ldr r3, _02133ca8 ; =data_ov15_02185e6c add r0, sp, #0x10 str r4, [sp] bl func_ov15_0215cc30 ldr r0, [sp, #0x10] str r0, [r7, #0x32c] ldr r0, [sp, #0x14] str r0, [r7, #0x330] ldr r0, [sp, #0x18] str r0, [r7, #0x334] ldr r0, [r7, #0x32c] str r0, [r7, #0x48] ldr r0, [r7, #0x330] str r0, [r7, #0x4c] ldr r0, [r7, #0x334] str r0, [r7, #0x50] b _02133c6c _02133338: mov r0, r7 bl func_ov15_02133d70 ldr r0, [r7, #0x348] cmp r0, #0x1000 bne _02133c6c mov r0, r7 mov r1, #2 bl func_ov15_02132dec b _02133c6c _0213335c: mov r0, r7 bl func_ov15_02133d4c ldrh r0, [r7, #0x22] cmp r0, #0 bne _02133394 mov r0, r7 mov r1, #0x7b bl func_ov15_02133cec cmp r0, #0 beq _021333c0 mov r0, r7 mov r1, #6 bl func_ov15_02132dec b _021333c0 _02133394: ldr r0, [r7, #0x360] cmp r0, #0 subne r0, r0, #1 strne r0, [r7, #0x360] ldr r0, [r7, #0x360] cmp r0, #0 bne _021333c0 mov r0, r7 mov r1, #7 bl func_ov15_02132dec b _02133c6c _021333c0: mov r0, r7 bl func_ov15_02133db8 b _02133c6c _021333cc: mov r0, r7 bl func_ov15_02133d4c ldr r0, _02133cac ; =data_027e0f94 add r3, sp, #0xa0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x94 mov r0, r3 add r1, r7, #0x48 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0x94 str r1, [sp, #0x98] bl func_01ff9cec ldr r1, _02133cb0 ; =data_027e0fac mov r4, r0 ldrsh r5, [r1] ldr r0, [sp, #0x94] ldr r1, [sp, #0x9c] bl func_01ffa0f4 mov r0, r0, lsl #0x10 cmp r4, #0x1000 mov r6, r0, asr #0x10 ldrlt r1, _02133cb4 ; =0x0000019a blt _02133488 cmp r4, #0x1800 movge r1, #0x52 bge _02133488 ldr r0, _02133cb8 ; =data_ov15_0218a6e0 rsb r2, r4, #0x1800 ldr r0, [r0, #0x10] mov r1, #0 smull r3, r0, r2, r0 adds r2, r3, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 mov r0, #0x148 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r2, ip, #0x800 adc r0, r3, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 add r1, r1, #0x52 _02133488: sub r0, r6, #0x6000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 ldr r2, _02133cbc ; =data_02050f54 mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r0, r0, lsl #0x1 ldrsh r2, [r2, r0] smull lr, ip, r3, r1 mov r0, #0 adds lr, lr, #0x800 smull r3, r1, r2, r1 adc ip, ip, r0 adds r2, r3, #0x800 mov lr, lr, lsr #0xc mov r3, r2, lsr #0xc adc r1, r1, r0 orr r3, r3, r1, lsl #20 orr lr, lr, ip, lsl #20 add r8, sp, #0x74 add r1, sp, #0x84 mov r2, #4 str lr, [sp, #0x88] str r0, [sp, #0x8c] str r3, [sp, #0x90] bl func_020078f4 add r1, r8, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 cmp r4, #0x800 bge _02133594 ldr r1, [sp, #0xa0] mov r0, #0 str r1, [r7, #0x32c] ldr r1, [sp, #0xa4] str r1, [r7, #0x330] ldr r1, [sp, #0xa8] str r1, [r7, #0x334] ldr r1, [r7, #0x32c] str r1, [sp, #0x68] ldr r1, [r7, #0x330] str r1, [sp, #0x6c] ldr r1, [r7, #0x334] str r1, [sp, #0x70] str r0, [r7, #0x330] ldr r0, [r7, #0x354] ldr r1, _02133cc0 ; =0x00000aab cmp r0, #0x400 addlt r0, r0, #0xc movge r0, #0x400 str r0, [r7, #0x354] add r0, r7, #0x300 ldrsh r3, [r0, #0x70] ldr r2, [sp, #0x84] add r3, r5, r3 orr r2, r2, #2 strh r3, [sp, #0x80] str r2, [sp, #0x84] ldrsh r2, [r0, #0x70] cmp r2, r1 addlt r1, r2, #0x5b strlth r1, [r0, #0x70] b _02133630 _02133594: add r0, sp, #0xa0 add r1, sp, #0x88 add r2, sp, #0x68 bl func_01ff9bc4 mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 ldr r2, _02133cbc ; =data_02050f54 mov r0, r0, lsl #0x1 ldrsh r5, [r2, r0] mov r1, r1, lsl #0x1 mov r0, #0x7b ldrsh r2, [r2, r1] umull ip, r6, r5, r0 mov r1, #0 mla r6, r5, r1, r6 umull r4, r3, r2, r0 mla r3, r2, r1, r3 mov r5, r5, asr #0x1f mov r2, r2, asr #0x1f mla r6, r5, r0, r6 mla r3, r2, r0, r3 adds ip, ip, #0x800 adc r5, r6, #0 mov r6, ip, lsr #0xc adds r4, r4, #0x800 ldr r0, [r7, #0x32c] orr r6, r6, r5, lsl #20 add r0, r0, r6 str r0, [r7, #0x32c] adc r0, r3, #0 mov r2, r4, lsr #0xc ldr r3, [r7, #0x334] orr r2, r2, r0, lsl #20 add r0, r3, r2 str r0, [r7, #0x334] str r1, [r7, #0x35c] _02133630: ldr r0, _02133cc4 ; =data_027e10a4 ldr r1, [sp, #0x84] ldr r5, [r7, #0x354] orr r2, r1, #1 ldr r4, [sp, #0x68] ldr r3, [sp, #0x70] ldr r0, [r0] add r1, sp, #0x74 str r5, [sp, #0x6c] str r4, [sp, #0x74] str r5, [sp, #0x78] str r3, [sp, #0x7c] str r2, [sp, #0x84] bl func_ov15_0214138c mov r0, #0 str r0, [sp] ldr r3, [r7, #8] ldr r0, _02133cc8 ; =data_027e0ffc add r2, r7, #0x48 mov r1, #0x260 bl func_ov00_020cec60 ldr r0, [r7, #0x35c] add r0, r0, #1 str r0, [r7, #0x35c] cmp r0, #0x78 ble _02133c6c mov r2, #1 mov r0, r7 mov r1, #5 strb r2, [r7, #0x376] bl func_ov15_02132dec ldr r0, _02133ccc ; =gAdventureFlags mov r1, #0x36 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #1 streqb r0, [r7, #0x374] b _02133c6c _021336cc: mov r0, r7 bl func_ov15_02133d4c add r2, sp, #0x5c add r0, r7, #0x338 add r1, r7, #0x48 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0x5c str r1, [sp, #0x60] bl func_01ff9cec cmp r0, #0x7b bge _02133720 mov r0, r7 mov r1, #2 bl func_ov15_02132dec ldr r0, [r7, #0x338] str r0, [r7, #0x32c] ldr r0, [r7, #0x33c] str r0, [r7, #0x330] ldr r0, [r7, #0x340] b _021337b8 _02133720: ldr r0, [sp, #0x5c] ldr r1, [sp, #0x64] bl func_01ffa0f4 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 r0, r0, lsl #0x1 add r1, r0, #1 ldr r2, _02133cbc ; =data_02050f54 mov r0, r0, lsl #0x1 ldrsh r5, [r2, r0] mov r1, r1, lsl #0x1 mov r0, #0x7b ldrsh r2, [r2, r1] umull ip, r6, r5, r0 mov r1, #0 mla r6, r5, r1, r6 umull r4, r3, r2, r0 mla r3, r2, r1, r3 mov r5, r5, asr #0x1f mov r1, r2, asr #0x1f mla r6, r5, r0, r6 mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r5, r6, #0 mov r6, ip, lsr #0xc adds r4, r4, #0x800 ldr r0, [r7, #0x32c] orr r6, r6, r5, lsl #20 add r0, r0, r6 str r0, [r7, #0x32c] adc r0, r3, #0 mov r1, r4, lsr #0xc ldr r2, [r7, #0x334] orr r1, r1, r0, lsl #20 add r0, r2, r1 _021337b8: str r0, [r7, #0x334] mov r0, r7 bl func_ov15_02133db8 b _02133c6c _021337c8: add r0, r7, #0x300 ldrsh r1, [r0, #0x70] cmp r1, #0 subgt r1, r1, #0xb6 movle r1, #0 strh r1, [r0, #0x70] add r0, r7, #0x300 ldrsh r0, [r0, #0x70] cmp r0, #0 bne _02133858 ldr r0, _02133cc4 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] bl func_ov15_021413d4 ldr r0, _02133ccc ; =gAdventureFlags ldr r1, [r7, #0x36c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02133828 ldr r0, _02133ccc ; =gAdventureFlags ldr r1, [r7, #0x36c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02133828: mvn r0, #0 str r0, [r7, #0x36c] ldrh r0, [r7, #0x22] cmp r0, #0 mov r0, r7 bne _0213384c mov r1, #6 bl func_ov15_02132dec b _02133c6c _0213384c: mov r1, #7 bl func_ov15_02132dec b _02133c6c _02133858: add r4, sp, #0x48 add r1, sp, #0x58 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r4, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r2, _02133cb0 ; =data_027e0fac add r0, r7, #0x300 ldr r1, _02133cc4 ; =data_027e10a4 ldrsh r5, [r0, #0x70] ldr r0, [r1] ldrsh r4, [r2] ldr r3, [sp, #0x58] add r1, sp, #0x48 orr r2, r3, #2 add r3, r5, r4 strh r3, [sp, #0x54] str r2, [sp, #0x58] bl func_ov15_0214138c b _02133c6c _021338b4: ldrb r0, [r7, #0x376] cmp r0, #0 beq _021338f4 ldr r0, _02133cc4 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #4 beq _021338f4 ldr r4, [r0] ldr r2, _02133cd0 ; =data_027e0d0c ldr r4, [r4, #0x30] mov r1, #4 mov r3, #1 blx r4 mov r0, #0 strb r0, [r7, #0x376] _021338f4: ldr r0, [r7, #0x368] cmp r0, #3 addls pc, pc, r0, lsl #2 b _021339b4 _02133904: ; jump table b _02133914 ; case 0 b _02133958 ; case 1 b _02133974 ; case 2 b _021339a4 ; case 3 _02133914: mov r0, r7 bl func_ov15_02133d94 ldr r2, [r7, #0x350] ldr r1, [r7, #0x348] mov r0, #0 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r7, #0x34c] ldr r1, [r7, #0x348] cmp r1, #0 movne r0, #1 strne r0, [r7, #0x35c] streq r0, [r7, #0x35c] b _021339b4 _02133958: mov r0, #0x1000 str r0, [r7, #0x350] ldr r0, [r7, #0x35c] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r7, #0x35c] b _021339b4 _02133974: mov r0, r7 bl func_ov15_02133d70 ldr r0, [r7, #0x348] str r0, [r7, #0x34c] ldr r1, [r7, #0x348] ldr r0, [r7, #0x350] cmp r1, r0 moveq r0, #0 streq r0, [r7, #0x35c] movne r0, #1 strne r0, [r7, #0x35c] b _021339b4 _021339a4: ldr r0, [r7, #0x35c] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r7, #0x35c] _021339b4: ldr r0, [r7, #0x35c] cmp r0, #0 bne _02133c6c ldr r0, [r7, #0x368] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02133b28 _021339d0: ; jump table b _021339e0 ; case 0 b _02133aa4 ; case 1 b _02133b10 ; case 2 b _02133b1c ; case 3 _021339e0: ldr r1, [r7, #0x88] ldr r0, _02133cd4 ; =0x0000ffff rsb r1, r1, #0 str r1, [r7, #0x88] ldr r2, _02133cd8 ; =data_027e0764 strh r0, [r7, #0x7a] ldr r1, [r2] ldmib r2, {r0, r3} umull r5, r4, r3, r1 mla r4, r3, r0, r4 ldr r0, [r2, #0xc] ldr r3, [r2, #0x10] mla r4, r0, r1, r4 ldr r0, [r2, #0x14] adds r1, r3, r5 adc r5, r0, r4 str r1, [r2] mov r0, #0x65 mov r1, #0 umull r3, r4, r5, r0 mla r4, r5, r1, r4 mla r4, r1, r0, r4 str r5, [r2, #4] add r0, r4, #0xc8 str r0, [r7, #0x35c] ldr r0, [r7, #0x350] cmp r0, #0 bne _02133b28 add r0, sp, #0x1c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 mov r3, #0 strh r3, [sp, #0x1c] ldr r1, [r7, #8] ldr r0, _02133cdc ; =data_027e0fe8 str r1, [sp, #0x38] ldr r2, [r7, #0xc] ldr r1, _02133ce0 ; =0x53525059 str r2, [sp, #0x3c] str r3, [sp] ldr r0, [r0] add r3, sp, #0x1c add r2, r7, #0x48 bl func_ov00_020c4048 b _02133b28 _02133aa4: ldr r1, [r7, #0x88] add r0, r7, #0x2fc rsb r1, r1, #0 str r1, [r7, #0x88] ldrsh r2, [r7, #0x78] ldrsb r3, [r7, #0x2c] add r1, r7, #0x48 bl func_ov00_020c66e4 cmp r0, #0 beq _02133b28 ldr r1, [r7, #0x300] add r0, r7, #0x2fc mov r2, #0 bl func_ov00_020c6974 ldr r0, [r7, #0x14] str r0, [r7, #0x32c] ldr r0, [r7, #0x18] str r0, [r7, #0x330] ldr r0, [r7, #0x1c] str r0, [r7, #0x334] ldr r0, [r7, #0x32c] str r0, [r7, #0x48] ldr r0, [r7, #0x330] str r0, [r7, #0x4c] ldr r0, [r7, #0x334] str r0, [r7, #0x50] b _02133b28 _02133b10: mov r0, #0x1e str r0, [r7, #0x35c] b _02133b28 _02133b1c: mov r0, r7 mov r1, #2 bl func_ov15_02132dec _02133b28: ldr r0, [r7, #0x368] add r0, r0, #1 str r0, [r7, #0x368] b _02133c6c _02133b38: ldrb r0, [r7, #0x376] cmp r0, #0 beq _02133b78 ldr r0, _02133cc4 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #4 beq _02133b78 ldr r4, [r0] ldr r2, _02133cd0 ; =data_027e0d0c ldr r4, [r4, #0x30] mov r1, #4 mov r3, #1 blx r4 mov r0, #0 strb r0, [r7, #0x376] _02133b78: mov r0, r7 bl func_ov15_02133d94 ldr r0, [r7, #0x348] cmp r0, #0 bne _02133c6c ldrb r0, [r7, #0x374] cmp r0, #0 beq _02133bb4 bl func_ov15_0215d260 cmp r0, #0 beq _02133bb4 mov r0, r7 mov r1, #8 bl func_ov15_02132dec b _02133c6c _02133bb4: mov r0, r7 mov r1, #1 bl func_ov15_02132dec b _02133c6c _02133bc4: ldrb r0, [r7, #0x373] cmp r0, #0 bne _02133c00 ldr r0, _02133ce4 ; =data_027e0c68 ldr r2, _02133ce8 ; =0x0005004e add r1, r7, #0x2a0 bl func_02036ce4 strb r0, [r7, #0x373] and r1, r0, #0xff mov r0, r7 bl _ZN5Actor10SetUnk_11cEc ldr r0, _02133ce4 ; =data_027e0c68 add r1, r7, #0x2a0 bl func_020368f4 b _02133c6c _02133c00: mov r0, #0x10000 ldr r1, [r7, #0x2b8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _02133c6c add r0, r7, #0x2a0 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r7, #0x2b8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02133c6c mov r1, #0 strb r1, [r7, #0x373] ldr r0, _02133ccc ; =gAdventureFlags strb r1, [r7, #0x374] ldr r0, [r0] mov r1, #0x36 mov r2, #1 bl _ZN14AdventureFlags3SetEjb mov r0, r7 mov r1, #1 bl func_ov15_02132dec _02133c6c: ldr r1, [r7, #0x32c] mov r0, r7 str r1, [r7, #0x48] ldr r1, [r7, #0x330] str r1, [r7, #0x4c] ldr r1, [r7, #0x334] str r1, [r7, #0x50] bl func_ov15_02133e14 add r0, r7, #0x158 bl func_ov00_020c5e20 add sp, sp, #0xac ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213321c _02133c9c: .word data_027e0e60 _02133ca0: .word data_ov15_02185e74 _02133ca4: .word data_ov15_02185e70 _02133ca8: .word data_ov15_02185e6c _02133cac: .word data_027e0f94 _02133cb0: .word data_027e0fac _02133cb4: .word 0x0000019a _02133cb8: .word data_ov15_0218a6e0 _02133cbc: .word data_02050f54 _02133cc0: .word 0x00000aab _02133cc4: .word data_027e10a4 _02133cc8: .word data_027e0ffc _02133ccc: .word gAdventureFlags _02133cd0: .word data_027e0d0c _02133cd4: .word 0x0000ffff _02133cd8: .word data_027e0764 _02133cdc: .word data_027e0fe8 _02133ce0: .word 0x53525059 _02133ce4: .word data_027e0c68 _02133ce8: .word 0x0005004e .global func_ov15_02133cec arm_func_start func_ov15_02133cec func_ov15_02133cec: ; 0x02133cec stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r2, _02133d48 ; =0x00007fff mov r4, r0 str r2, [sp] add r0, r4, #0x60 str r0, [sp, #4] add r0, r4, #0x78 str r0, [sp, #8] mov r2, r1 ldrsh r3, [r4, #0x78] add r0, r4, #0x2fc add r1, r4, #0x32c bl func_ov00_020c6838 add r0, r4, #0x32c add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 add r0, r4, #0x2fc add r1, r4, #0x32c bl func_ov00_020c6f08 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02133cec _02133d48: .word 0x00007fff .global func_ov15_02133d4c arm_func_start func_ov15_02133d4c func_ov15_02133d4c: ; 0x02133d4c ldr r1, [r0, #0x34c] cmp r1, #0x1000 bxge lr add r1, r1, #0x100 str r1, [r0, #0x34c] cmp r1, #0x1000 movge r1, #0x1000 strge r1, [r0, #0x34c] bx lr arm_func_end func_ov15_02133d4c .global func_ov15_02133d70 arm_func_start func_ov15_02133d70 func_ov15_02133d70: ; 0x02133d70 ldr r1, [r0, #0x348] cmp r1, #0x1000 bxge lr add r1, r1, #0x46 str r1, [r0, #0x348] cmp r1, #0x1000 movge r1, #0x1000 strge r1, [r0, #0x348] bx lr arm_func_end func_ov15_02133d70 .global func_ov15_02133d94 arm_func_start func_ov15_02133d94 func_ov15_02133d94: ; 0x02133d94 ldr r1, [r0, #0x348] cmp r1, #0 bxle lr sub r1, r1, #0x46 str r1, [r0, #0x348] cmp r1, #0 movle r1, #0 strle r1, [r0, #0x348] bx lr arm_func_end func_ov15_02133d94 .global func_ov15_02133db8 arm_func_start func_ov15_02133db8 func_ov15_02133db8: ; 0x02133db8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02133e10 ; =data_027e0f94 add r1, r4, #0x48 bl func_ov00_020ce2f0 ldrh r1, [r4, #0x22] cmp r1, #0 moveq r1, #0x2000 movne r1, #0x1000 cmp r0, r1 bge _02133e08 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02133e08 mov r0, r4 mov r1, #3 bl func_ov15_02132dec mov r0, #1 ldmia sp!, {r4, pc} _02133e08: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02133db8 _02133e10: .word data_027e0f94 .global func_ov15_02133e14 arm_func_start func_ov15_02133e14 func_ov15_02133e14: ; 0x02133e14 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 beq _02133e7c mov r0, #0x1000 ldr r1, [r4, #0x358] rsb r0, r0, #0 cmp r1, r0 ldrgt r1, [r4, #0x348] ldrgt r0, _02133e90 ; =0x00000333 cmpgt r1, r0 ble _02133e7c ldr r0, _02133e94 ; =data_027e0e58 add r1, r4, #0x314 ldr r0, [r0] add r2, r4, #0x48 bl func_ov00_0207c474 ldr r0, _02133e94 ; =data_027e0e58 add r1, r4, #0x320 ldr r0, [r0] add r2, r4, #0x48 bl func_ov00_0207c474 ldmia sp!, {r4, pc} _02133e7c: add r0, r4, #0x314 bl func_ov00_020b7e6c add r0, r4, #0x320 bl func_ov00_020b7e6c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02133e14 _02133e90: .word 0x00000333 _02133e94: .word data_027e0e58 .global func_ov15_02133e98 arm_func_start func_ov15_02133e98 func_ov15_02133e98: ; 0x02133e98 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 ldrb r0, [r4, #0x372] cmp r0, #0 bne _02133f5c ldr r0, [r4, #0x130] cmp r0, #3 cmpne r0, #6 cmpne r0, #5 beq _02133f5c ldr r2, [r1, #0x14] ldr r0, _02133f68 ; =0x434e424c ldr r1, [r2, #4] cmp r1, r0 bne _02133f5c add r0, r2, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #4] ldr r0, _02133f6c ; =0x00000666 cmp r1, r0 bge _02133f5c ldr r2, [r4, #0x34c] mov r0, #0x800 mov r1, r2, asr #0x1f mov r1, r1, lsl #0xd adds r0, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 adc r1, r1, #0 mov r5, r0, lsr #0xc mov r0, r3 orr r5, r5, r1, lsl #20 add r1, r4, #0x48 bl func_01ff9ec0 cmp r0, r5 bge _02133f5c ldrh r0, [r4, #0x22] cmp r0, #0 mov r0, r4 bne _02133f54 mov r1, #0 bl func_ov15_02132dec mov r0, #0xc strb r0, [r4, #0x372] b _02133f5c _02133f54: mov r1, #7 bl func_ov15_02132dec _02133f5c: mov r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02133e98 _02133f68: .word 0x434e424c _02133f6c: .word 0x00000666 .global func_ov15_02133f70 arm_func_start func_ov15_02133f70 func_ov15_02133f70: ; 0x02133f70 stmdb sp!, {r3, lr} mov ip, r0 cmp r1, #0 ldrneb r0, [ip, #0xa5] ldreqb r0, [ip, #0xa4] cmp r0, #0 ldrne r0, [ip, #0x348] cmpne r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0x3000 ldr r2, [ip, #0x358] rsb r0, r0, #0 cmp r2, r0 ldmltia sp!, {r3, pc} ldr r0, _02133fc0 ; =data_ov00_020e9c88 ldr r3, _02133fc4 ; =func_ov15_02133fc8 add r2, ip, #0x48 str ip, [sp] bl func_ov00_0207b89c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02133f70 _02133fc0: .word data_ov00_020e9c88 _02133fc4: .word func_ov15_02133fc8 .global func_ov15_02133fc8 arm_func_start func_ov15_02133fc8 func_ov15_02133fc8: ; 0x02133fc8 ldr ip, _02133fd0 ; =func_ov15_02133fd4 bx ip .align 2, 0 arm_func_end func_ov15_02133fc8 _02133fd0: .word func_ov15_02133fd4 .global func_ov15_02133fd4 arm_func_start func_ov15_02133fd4 func_ov15_02133fd4: ; 0x02133fd4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r4, [r0, #0x50] ldr r3, [r0, #0x358] ldr r2, [r0, #0x48] add r1, sp, #0 str r2, [sp, #0xc] str r3, [sp, #0x10] str r4, [sp, #0x14] ldr r4, [r0, #0x348] ldr r3, [r0, #0x34c] ldr r2, _02134038 ; =data_027e0194 smull lr, ip, r3, r4 adds lr, lr, #0x800 adc r3, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r3, lsl #20 add r3, sp, #0xc add r0, r0, #0x158 str ip, [sp] str r4, [sp, #4] str ip, [sp, #8] bl func_ov00_020c5f80 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02133fd4 _02134038: .word data_027e0194 .global func_ov15_0213403c arm_func_start func_ov15_0213403c func_ov15_0213403c: ; 0x0213403c bx lr arm_func_end func_ov15_0213403c .global func_ov15_02134040 arm_func_start func_ov15_02134040 func_ov15_02134040: ; 0x02134040 stmdb sp!, {r3, lr} ldr r1, _0213406c ; =data_027e0fe0 mov r0, #0x21c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02134070 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02134040 _0213406c: .word data_027e0fe0 .global func_ov15_02134070 arm_func_start func_ov15_02134070 func_ov15_02134070: ; 0x02134070 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _021340f8 ; =data_ov15_0218a884 add r0, r4, #0x158 mov r1, #0 str r2, [r4] blx func_ov00_020a9588 add r0, r4, #0x1b4 add r1, r4, #0x1d8 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _021340fc ; =data_ov15_0218a940 mov r0, #0 str r1, [r4, #0x1b4] str r0, [r4, #0x1f8] ldr r1, _02134100 ; =func_ov00_020b7d74 add r0, r4, #0x1fc str r1, [sp] mov r1, #3 mov r2, #4 ldr r3, _02134104 ; =func_ov15_021341a0 bl func_0204f614 mvn r0, #0 str r0, [r4, #0x208] str r0, [r4, #0x20c] mov r0, #0 strb r0, [r4, #0x216] strb r0, [r4, #0x218] strb r0, [r4, #0x21b] mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02134070 _021340f8: .word data_ov15_0218a884 _021340fc: .word data_ov15_0218a940 _02134100: .word func_ov00_020b7d74 _02134104: .word func_ov15_021341a0 .global func_ov15_02134108 arm_func_start func_ov15_02134108 func_ov15_02134108: ; 0x02134108 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _0213414c ; =func_ov00_020b7d74 add r0, r4, #0x1fc mov r1, #3 mov r2, #4 bl func_0204f754 add r0, r4, #0x1f8 bl func_ov00_020b7d74 add r0, r4, #0x1b4 blx func_ov00_020a9aac add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02134108 _0213414c: .word func_ov00_020b7d74 .global func_ov15_02134150 arm_func_start func_ov15_02134150 func_ov15_02134150: ; 0x02134150 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _0213419c ; =func_ov00_020b7d74 add r0, r4, #0x1fc mov r1, #3 mov r2, #4 bl func_0204f754 add r0, r4, #0x1f8 bl func_ov00_020b7d74 add r0, r4, #0x1b4 blx func_ov00_020a9aac add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02134150 _0213419c: .word func_ov00_020b7d74 .global func_ov15_021341a0 arm_func_start func_ov15_021341a0 func_ov15_021341a0: ; 0x021341a0 mov r1, #0 str r1, [r0] bx lr arm_func_end func_ov15_021341a0 .global func_ov15_021341ac arm_func_start func_ov15_021341ac func_ov15_021341ac: ; 0x021341ac stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1c mov r5, r0 mov r1, #0 strb r1, [r5, #0x9e] mov r2, #9 strh r2, [r5, #0x9c] mov r2, #1 strb r2, [r5, #0x219] ldrh r2, [r5, #0x20] ldr r4, _02134498 ; =0x0000019a strb r2, [r5, #0x217] bl func_ov15_021345e0 ldrb r0, [r5, #0x217] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02134284 _021341f0: ; jump table b _02134204 ; case 0 b _02134228 ; case 1 b _02134234 ; case 2 b _02134258 ; case 3 b _02134270 ; case 4 _02134204: mov r0, #0x28 str r0, [r5, #0x6c] mov r0, #0 strb r0, [r5, #0x219] strb r0, [r5, #0x217] ldrh r0, [r5, #0x9c] orr r0, r0, #0x86 strh r0, [r5, #0x9c] b _02134284 _02134228: mov r0, #2 str r0, [r5, #0x12c] b _02134284 _02134234: mov r0, #3 mov r1, #2 str r0, [r5, #0x6c] str r1, [r5, #0x12c] ldrh r0, [r5, #0x9c] add r4, r1, #0x264 orr r0, r0, #4 strh r0, [r5, #0x9c] b _02134284 _02134258: mov r0, #8 str r0, [r5, #0x6c] mov r0, #2 str r0, [r5, #0x12c] mov r4, #0x400 b _02134284 _02134270: mov r0, #4 str r0, [r5, #0x6c] mov r0, #2 str r0, [r5, #0x12c] mov r4, #0x400 _02134284: ldr r0, _0213449c ; =data_027e0d0c mov r3, r4, lsl #0x1 ldr r1, [r0] add r2, r4, #0x1000 str r1, [r5, #0x7c] ldr ip, [r0, #4] mov r1, #0 str ip, [r5, #0x80] ldr ip, [r0, #8] str ip, [r5, #0x84] str r4, [r5, #0x88] ldr r4, [r0] str r4, [r5, #0x8c] ldr r4, [r0, #4] str r4, [r5, #0x90] ldr r4, [r0, #8] str r4, [r5, #0x94] str r3, [r5, #0x98] ldr r3, [r0] str r3, [r5, #0xa8] ldr r3, [r0, #4] str r3, [r5, #0xac] ldr r0, [r0, #8] str r0, [r5, #0xb0] str r2, [r5, #0xb4] strb r1, [r5, #0x21a] ldrb r0, [r5, #0x217] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0213448c _021342fc: ; jump table b _02134310 ; case 0 b _02134368 ; case 1 b _021343c0 ; case 2 b _021343c0 ; case 3 b _0213445c ; case 4 _02134310: ldr r0, _021344a0 ; =data_ov09_0211f530 ldr r0, [r0, #4] ldr r0, [r0, #0xbc] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r1, r0 add r0, r5, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r1, #2 ldr r0, _021344a4 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r5, #0x1f8 add r3, r5, #0x48 mov r2, #0x9f bl func_ov00_0207c1f8 ldr r0, _021344a8 ; =0x000004cd str r0, [r5, #0x210] b _0213448c _02134368: ldr r0, _021344a0 ; =data_ov09_0211f530 ldr r0, [r0, #4] ldr r0, [r0, #0xbc] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r1, r0 add r0, r5, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r1, #2 ldr r0, _021344a4 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r5, #0x1f8 add r3, r5, #0x48 mov r2, #0x92 bl func_ov00_0207c1f8 ldr r0, _021344a8 ; =0x000004cd str r0, [r5, #0x210] b _0213448c _021343c0: ldr r0, _021344ac ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x2140 bl func_ov00_020c4588 mov r1, r0 add r0, r5, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 add r0, r5, #0x158 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r5, #0x1bc] ldr r0, _021344b0 ; =data_ov15_0218a948 blx func_02016fe8 mov r4, r0 ldr r1, _021344b4 ; =data_ov15_0218a95c add r0, sp, #0xc mov r2, #0x10 bl strncpy mov r0, r4 add r1, sp, #0xc bl func_0201e544 mov r1, r0 add r0, r5, #0x1b4 bl func_ov00_020c0c9c mov r0, #0x1000 str r0, [r5, #0x1c4] add r0, r5, #0x1b4 add r1, r5, #0x15c bl func_ov00_020c0d70 ldrb r0, [r5, #0x217] cmp r0, #2 ldreq r0, _021344b8 ; =0x0000099a streq r0, [r5, #0x210] movne r0, #0x1000 strne r0, [r5, #0x210] b _0213448c _0213445c: mov r0, #0x1c str r0, [sp] add r0, r5, #0x48 str r0, [sp, #4] mov r1, #2 ldr r0, _021344a4 ; =data_027e0e58 str r1, [sp, #8] ldr r0, [r0] add r1, r5, #0x1fc mov r2, #0x18 mov r3, #0x19 bl func_ov00_0207c31c _0213448c: mov r0, #1 add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021341ac _02134498: .word 0x0000019a _0213449c: .word data_027e0d0c _021344a0: .word data_ov09_0211f530 _021344a4: .word data_027e0e58 _021344a8: .word 0x000004cd _021344ac: .word data_027e0fec _021344b0: .word data_ov15_0218a948 _021344b4: .word data_ov15_0218a95c _021344b8: .word 0x0000099a .global func_ov15_021344bc arm_func_start func_ov15_021344bc func_ov15_021344bc: ; 0x021344bc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0213457c ldr r0, [r5, #0x48] ldr r1, _02134590 ; =data_ov15_02185ea8 str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldrb r0, [r5, #0x217] add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r5, r0, asr #1 ldreq r1, [r1] beq _02134518 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _02134518: blx r1 ldrb r0, [r5, #0x217] cmp r0, #1 bhi _0213457c ldr r0, [r5, #0x1f8] cmp r0, #0 beq _0213457c ldr r1, [r0, #0x20] ldr r2, [r5, #0x48] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [r5, #0x4c] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [r5, #0x50] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _0213457c: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021344bc _02134590: .word data_ov15_02185ea8 .global func_ov15_02134594 arm_func_start func_ov15_02134594 func_ov15_02134594: ; 0x02134594 stmdb sp!, {r4, lr} mov r4, r0 ldrb r2, [r4, #0x217] ldr r0, _021345dc ; =data_ov15_02185f08 ldrb r0, [r0, r2] strb r0, [r4, #0x21b] cmp r0, #0 bne _021345c0 ldr r0, [r4, #0x130] cmp r0, #1 blt _021345d0 _021345c0: mov r0, r4 ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 _021345d0: mov r0, #0 strb r0, [r4, #0x21b] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02134594 _021345dc: .word data_ov15_02185f08 .global func_ov15_021345e0 arm_func_start func_ov15_021345e0 func_ov15_021345e0: ; 0x021345e0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 mov r4, r0 str r1, [r4, #0x130] cmp r1, #1 beq _02134604 cmp r1, #2 beq _02134670 b _021348a0 _02134604: add r0, sp, #0x1c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 ldr r0, [r4, #8] ldr r2, _021348ac ; =data_ov15_02185f00 str r0, [sp, #0x38] ldr r0, [r4, #0xc] mov r5, #0 str r0, [sp, #0x3c] ldrb r3, [r4, #0x217] ldr r0, _021348b0 ; =data_027e0fe8 ldr r1, _021348b4 ; =0x43424c53 ldrb ip, [r2, r3] add r3, sp, #0x1c add r2, r4, #0x48 strh ip, [sp, #0x1c] ldrb ip, [r4, #0x218] strh ip, [sp, #0x20] ldrb ip, [r4, #0x216] strh ip, [sp, #0x22] str r5, [sp] ldr r0, [r0] bl func_ov00_020c4048 _02134670: ldrb r0, [r4, #0x217] cmp r0, #2 bne _021346dc mov r1, #0 str r1, [sp] ldr r0, _021348b8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x48 mov r1, #0xd0 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _021348b8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x48 mov r1, #0xd1 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021348bc ; =data_027e0ffc ldr r1, _021348c0 ; =0x0000021d add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc b _02134888 _021346dc: cmp r0, #3 bne _0213479c add r0, r4, #0x48 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021348b8 ; =data_027e0e58 mov r2, r3 ldr r0, [r0] mov r1, #0xb6 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021348b8 ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r0] mov r1, #0xb7 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021348b8 ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r0] mov r1, #0xb8 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021348b8 ; =data_027e0e58 mov r1, #0xb9 ldr r0, [r0] add r2, sp, #0x10 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021348bc ; =data_027e0ffc mov r1, #0x218 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc b _02134888 _0213479c: cmp r0, #4 bne _02134888 ldr r1, [r4, #0x1fc] cmp r1, #0 beq _0213482c movne r0, #0 strneh r0, [r1, #0x74] ldr r1, [r4, #0x200] add r3, r4, #0x1fc cmp r1, #0 movne r0, #0 strneh r0, [r1, #0x74] ldr r1, [r4, #0x204] add r2, r4, #0x208 cmp r1, #0 movne r0, #0 strneh r0, [r1, #0x74] cmp r3, r2 beq _02134808 _021347e8: ldr r1, [r3] add r3, r3, #4 cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #8 strne r0, [r1, #0x24] cmp r3, r2 bne _021347e8 _02134808: add r6, r4, #0x1fc add r5, r4, #0x208 cmp r6, r5 beq _0213482c _02134818: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02134818 _0213482c: mov r1, #0 str r1, [sp] ldr r0, _021348b8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x48 mov r1, #0x1a mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _021348b8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r4, #0x48 mov r1, #0x1b mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021348bc ; =data_027e0ffc ldr r1, _021348c4 ; =0x000002ed add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _02134888: mvn r3, #0 add r0, sp, #8 mov r1, r4 add r2, r4, #0x7c str r3, [r4, #0x88] bl _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder _021348a0: mov r0, #1 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021345e0 _021348ac: .word data_ov15_02185f00 _021348b0: .word data_027e0fe8 _021348b4: .word 0x43424c53 _021348b8: .word data_027e0e58 _021348bc: .word data_027e0ffc _021348c0: .word 0x0000021d _021348c4: .word 0x000002ed .global func_ov15_021348c8 arm_func_start func_ov15_021348c8 func_ov15_021348c8: ; 0x021348c8 stmdb sp!, {r4, lr} ldr r1, _0213497c ; =data_ov15_0218ee78 mov r4, r0 ldr r0, [r1, #0x20] tst r0, #1 bne _02134918 ldr r0, _02134980 ; =data_ov15_0218eea8 mov r1, #2 bl func_ov00_020beba8 ldr ip, _02134984 ; =data_ov15_0218a860 ldr r3, _0213497c ; =data_ov15_0218ee78 ldr r0, _02134980 ; =data_ov15_0218eea8 ldr r1, _02134988 ; =func_ov15_02134994 ldr r2, _0213498c ; =data_ov15_0218ee9c str ip, [r3, #0x30] bl __register_global_object ldr r0, _0213497c ; =data_ov15_0218ee78 ldr r1, [r0, #0x20] orr r1, r1, #1 str r1, [r0, #0x20] _02134918: ldr r0, _02134980 ; =data_ov15_0218eea8 str r0, [r4, #0xa0] ldrb r0, [r4, #0x219] cmp r0, #0 bne _02134948 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] bl func_01ffa0f4 add r1, r4, #0x200 strh r0, [r1, #0x14] mov r0, #1 strb r0, [r4, #0x219] _02134948: ldr r0, [r4, #0x130] ldr r1, _02134990 ; =data_ov15_02185ed0 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _02134974 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _02134974: blx r1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021348c8 _0213497c: .word data_ov15_0218ee78 _02134980: .word data_ov15_0218eea8 _02134984: .word data_ov15_0218a860 _02134988: .word func_ov15_02134994 _0213498c: .word data_ov15_0218ee9c _02134990: .word data_ov15_02185ed0 .global func_ov15_02134994 arm_func_start func_ov15_02134994 func_ov15_02134994: ; 0x02134994 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02134994 .global func_ov15_021349a8 arm_func_start func_ov15_021349a8 func_ov15_021349a8: ; 0x021349a8 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] ldr r2, _021349e0 ; =data_ov15_02185ee8 add r3, r2, r1, lsl #3 ldr r1, [r3, #4] tst r1, #1 add r0, r0, r1, asr #1 ldreq r1, [r3] beq _021349d8 ldr r2, [r0] ldr r1, [r3] ldr r1, [r2, r1] _021349d8: blx r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021349a8 _021349e0: .word data_ov15_02185ee8 .global func_ov15_021349e4 arm_func_start func_ov15_021349e4 func_ov15_021349e4: ; 0x021349e4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] ldr r1, _02134a28 ; =data_ov15_02185ee8 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _02134a18 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _02134a18: blx r1 add r0, r4, #0x1b4 bl func_ov00_020c0e04 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021349e4 _02134a28: .word data_ov15_02185ee8 .global func_ov15_02134a2c arm_func_start func_ov15_02134a2c func_ov15_02134a2c: ; 0x02134a2c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] ldr r1, _02134ae0 ; =data_ov15_02185ee8 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _02134a60 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _02134a60: blx r1 ldr r0, [r4, #0x1fc] cmp r0, #0 addne r2, r4, #0x1fc addne r1, r4, #0x208 cmpne r2, r1 ldmeqia sp!, {r4, pc} _02134a7c: ldr r0, [r2] cmp r0, #0 beq _02134ad0 ldr r3, [r0, #0x20] ldr ip, [r4, #0x48] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [r4, #0x4c] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [r4, #0x50] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _02134ad0: add r2, r2, #4 cmp r2, r1 bne _02134a7c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02134a2c _02134ae0: .word data_ov15_02185ee8 .global func_ov15_02134ae4 arm_func_start func_ov15_02134ae4 func_ov15_02134ae4: ; 0x02134ae4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov r6, r0 bl _ZN5Actor12ApplyGravityEv ldr r1, [r6, #0x208] mvn r0, #0 cmp r1, r0 beq _02134c70 ldr r0, _02134cec ; =data_027e0fe4 add r1, r6, #0x208 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02134c70 ldr r2, [r6, #0x60] add r1, sp, #8 str r2, [sp, #0x18] ldr r2, [r6, #0x64] str r2, [sp, #0x1c] ldr r2, [r6, #0x68] str r2, [sp, #0x20] bl _ZN5Actor9GetHitboxEP8Cylinder add r0, sp, #8 add r2, sp, #0x24 add r1, r6, #0x48 bl func_01ff9bf8 mov r1, #0 ldr r4, [sp, #0x28] add r0, sp, #0x18 str r1, [sp, #0x28] str r1, [sp, #0x1c] bl func_01ff9cec mov r5, r0 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] bl func_01ffa0f4 add r1, r6, #0x200 mov r0, r0, lsl #0x10 ldrsh r1, [r1, #0x14] mov r2, r0, asr #0x10 rsb r0, r1, r0, asr #16 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 movmi r0, r0, lsl #0x10 movmi r0, r0, asr #0x10 ldr r1, _02134cf0 ; =0x00000e39 mov r0, r0, lsl #0x10 cmp r1, r0, lsr #16 ble _02134c18 mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 ldr r3, _02134cf4 ; =data_02050f54 mov r0, r1, lsl #0x1 ldrsh r2, [r3, r0] add r0, r1, #1 mov r1, r0, lsl #0x1 smull r0, ip, r2, r5 adds lr, r0, #0x800 ldrsh r1, [r3, r1] mov r0, #0 adc ip, ip, #0 smull r3, r2, r1, r5 adds r1, r3, #0x800 mov r3, lr, lsr #0xc orr r3, r3, ip, lsl #20 str r0, [r6, #0x68] add r0, r3, r0 str r0, [r6, #0x60] adc r0, r2, #0 mov r1, r1, lsr #0xc ldr r2, [r6, #0x68] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r6, #0x68] _02134c18: cmp r5, #0 ble _02134c70 add r0, sp, #0x24 bl func_01ff9cec mov r1, r5 bl func_02002c14 mov r5, r0 cmp r5, #0 ble _02134c70 mov r0, r4 mov r1, r5 bl func_02002c14 mov r1, #0x28 mla r4, r5, r1, r0 ldr r2, [r6, #0x64] subs r3, r4, r2 bpl _02134c70 sub r0, r1, #0x68 cmp r3, r0 sublt r0, r2, #0x40 strlt r0, [r6, #0x64] strge r4, [r6, #0x64] _02134c70: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 bl func_01ff9bc4 ldrb r0, [r6, #0x21b] cmp r0, #0 bne _02134cdc add r0, sp, #0 mov r1, r6 bl _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ ldr r1, [sp] mvn r0, #0 cmp r1, r0 beq _02134cdc ldr r1, _02134cf8 ; =data_027e0f94 add r0, r6, #0x48 bl func_01ff9ec0 mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 mov r2, r0, asr #0xc mov r0, r6 mov r1, #1 strb r2, [r6, #0x218] bl func_ov15_021345e0 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} _02134cdc: mov r0, r6 bl func_ov15_02134d6c add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02134ae4 _02134cec: .word data_027e0fe4 _02134cf0: .word 0x00000e39 _02134cf4: .word data_02050f54 _02134cf8: .word data_027e0f94 .global func_ov15_02134cfc arm_func_start func_ov15_02134cfc func_ov15_02134cfc: ; 0x02134cfc stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor12ApplyGravityEv add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r4 mov r1, #1 bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _02134d5c ldr r1, _02134d68 ; =data_027e0f94 add r0, r4, #0x48 bl func_01ff9ec0 mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 mov r2, r0, asr #0xc mov r0, r4 mov r1, #1 strb r2, [r4, #0x218] bl func_ov15_021345e0 ldmia sp!, {r4, pc} _02134d5c: mov r0, r4 bl func_ov15_02134d6c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02134cfc _02134d68: .word data_027e0f94 .global func_ov15_02134d6c arm_func_start func_ov15_02134d6c func_ov15_02134d6c: ; 0x02134d6c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c mov r4, r0 ldrb r1, [r4, #0x21b] cmp r1, #0 bne _02134dd0 ldr r1, _02135104 ; =data_ov15_02185ea0 mov r2, #0 bl _ZN5Actor18func_ov00_020c243cEiPi cmp r0, #0 beq _02134dd0 ldrb r0, [r4, #0x217] cmp r0, #2 cmpne r0, #3 cmpne r0, #4 mov r0, r4 bne _02134dc0 mov r1, #2 bl func_ov15_021345e0 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} _02134dc0: mov r1, #1 bl func_ov15_021345e0 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} _02134dd0: mov r0, r4 mov r1, #0 bl func_01fffd04 cmp r0, #0 beq _02134e14 ldrb r0, [r4, #0x112] cmp r0, #0 beq _02134e00 ldr r0, [r4, #0x10c] cmp r0, #0x3a moveq r0, #1 streqb r0, [r4, #0x216] _02134e00: mov r0, r4 mov r1, #1 bl func_ov15_021345e0 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} _02134e14: ldr r1, [r4, #0x48] ldr r0, _02135108 ; =data_027e0e60 str r1, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x18] ldr r2, [r4, #0x50] add r1, sp, #0x14 str r2, [sp, #0x1c] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x4c] cmp r1, r0 movlt r0, #1 movge r0, #0 cmp r0, #0 beq _021350e8 ldr r0, [r4, #0x1f8] cmp r0, #0 beq _02134e6c add r0, r4, #0x1f8 bl func_ov00_020b7e6c _02134e6c: ldrb r0, [r4, #0x21a] cmp r0, #0 bne _021350d8 add r0, r4, #0x48 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02135108 ; =data_027e0e60 ldr lr, [sp, #0x20] ldr ip, [sp, #0x24] ldr r3, [sp, #0x28] ldr r0, [r0] add r1, sp, #8 mov r2, #0 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x24] ldrb r0, [r4, #0x217] cmp r0, #1 beq _02134f70 cmp r0, #2 beq _02134ed8 cmp r0, #3 beq _02134f24 b _02135014 _02134ed8: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213510c ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x83 mov r3, #2 bl func_ov00_0207c1b0 ldr r1, _02135110 ; =0x00000829 add r0, sp, #0x20 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _02135110 ; =0x00000829 add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 b _021350bc _02134f24: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213510c ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x82 mov r3, #2 bl func_ov00_0207c1b0 ldr r1, _02135114 ; =0x00000ae1 add r0, sp, #0x20 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _02135114 ; =0x00000ae1 add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 b _021350bc _02134f70: ldr r0, _02135118 ; =data_027e0f94 add r1, sp, #0x20 bl func_ov00_020ce2f0 cmp r0, #0x2000 add r0, sp, #0x20 mov r2, #0 bge _02134fd0 ldr r1, _0213511c ; =0x000009ec bl func_ov00_020c74c8 mov r2, #0 ldr r1, _0213511c ; =0x000009ec add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213510c ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x3e mov r3, #2 bl func_ov00_0207c1b0 b _021350bc _02134fd0: ldr r1, _02135120 ; =0x00000d9a bl func_ov00_020c74c8 mov r2, #0 ldr r1, _02135120 ; =0x00000d9a add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213510c ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x9b mov r3, #2 bl func_ov00_0207c1b0 b _021350bc _02135014: ldr r0, _02135118 ; =data_027e0f94 add r1, sp, #0x20 bl func_ov00_020ce2f0 cmp r0, #0x2000 bge _02135074 ldr r1, _0213511c ; =0x000009ec add r0, sp, #0x20 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _0213511c ; =0x000009ec add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213510c ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x3e mov r3, #2 bl func_ov00_0207c1b0 b _021350bc _02135074: mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213510c ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x9e mov r3, #2 bl func_ov00_0207c1b0 ldr r1, _02135120 ; =0x00000d9a add r0, sp, #0x20 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _02135120 ; =0x00000d9a add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 _021350bc: ldr r0, _02135124 ; =data_027e0ffc ldr r1, _02135128 ; =0x000001b1 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 strb r0, [r4, #0x21a] _021350d8: ldrb r0, [r4, #0x217] cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x118] _021350e8: ldr r1, [r4, #0x4c] ldr r0, _0213512c ; =0xffffd99a cmp r1, r0 movlt r0, #0 strltb r0, [r4, #0x118] add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02134d6c _02135104: .word data_ov15_02185ea0 _02135108: .word data_027e0e60 _0213510c: .word data_027e0e58 _02135110: .word 0x00000829 _02135114: .word 0x00000ae1 _02135118: .word data_027e0f94 _0213511c: .word 0x000009ec _02135120: .word 0x00000d9a _02135124: .word data_027e0ffc _02135128: .word 0x000001b1 _0213512c: .word 0xffffd99a .global func_ov15_02135130 arm_func_start func_ov15_02135130 func_ov15_02135130: ; 0x02135130 mov r1, #0 strb r1, [r0, #0x118] bx lr arm_func_end func_ov15_02135130 .global func_ov15_0213513c arm_func_start func_ov15_0213513c func_ov15_0213513c: ; 0x0213513c stmdb sp!, {lr} sub sp, sp, #0xc mov r3, r0 ldrb r0, [r3, #0x217] cmp r0, #4 addeq sp, sp, #0xc ldmeqia sp!, {pc} cmp r1, #0 ldrneb r0, [r3, #0xa5] ldreqb r0, [r3, #0xa4] cmp r0, #0 ldrne r0, [r3, #0x130] cmpne r0, #1 addeq sp, sp, #0xc ldmeqia sp!, {pc} ldr r1, [r3, #0x210] add r0, r3, #0x158 str r1, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr ip, [r0] ldr r2, _021351ac ; =data_027e0194 ldr ip, [ip, #0x10] add r1, sp, #0 add r3, r3, #0x48 blx ip add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_0213513c _021351ac: .word data_027e0194 .global func_ov15_021351b0 arm_func_start func_ov15_021351b0 func_ov15_021351b0: ; 0x021351b0 stmdb sp!, {r0, r1, r2, r3} ldr r2, [sp, #4] ldr r1, [sp, #8] str r2, [r0, #0x208] str r1, [r0, #0x20c] add sp, sp, #0x10 bx lr arm_func_end func_ov15_021351b0 .global func_ov15_021351cc arm_func_start func_ov15_021351cc func_ov15_021351cc: ; 0x021351cc stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x5c mov r5, r0 ldr r0, [r5, #0x130] mov r4, r1 cmp r0, #1 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, pc} ldrb r0, [r5, #0x217] cmp r0, #2 beq _021352ac cmp r0, #3 beq _02135210 cmp r0, #4 beq _021352b8 b _02135354 _02135210: ldr r2, _021353d8 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull r7, r6, r4, r3 mla r6, r4, r0, r6 ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds r7, r4, r7 adc r6, r0, r6 mov r0, #0x64 umull r3, r4, r6, r0 mla r4, r6, r1, r4 mla r4, r1, r0, r4 str r7, [r2] str r6, [r2, #4] cmp r4, #0x14 bge _021352ac 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 ldr r0, [r5, #8] mov r1, #0 str r0, [sp, #0x4c] ldr r2, [r5, #0xc] ldr r0, _021353dc ; =data_027e0fe8 str r2, [sp, #0x50] str r1, [sp] ldr r0, [r0] ldr r1, _021353e0 ; =0x53485254 add r3, sp, #0x30 add r2, r5, #0x48 bl func_ov00_020c4048 _021352ac: add sp, sp, #0x5c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _021352b8: ldr r2, _021353d8 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, ip} umull r6, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds r7, ip, r6 adc r6, r0, lr mov r0, #0x64 umull r3, ip, r6, r0 mla ip, r6, r1, ip mla ip, r1, r0, ip str r7, [r2] str r6, [r2, #4] cmp ip, #0x32 bge _02135354 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 ldr r0, [r5, #8] mov r1, #0 str r0, [sp, #0x20] ldr r2, [r5, #0xc] ldr r0, _021353dc ; =data_027e0fe8 str r2, [sp, #0x24] str r1, [sp] ldr r0, [r0] ldr r1, _021353e0 ; =0x53485254 add r3, sp, #4 add r2, r5, #0x48 bl func_ov00_020c4048 _02135354: ldr r2, [r4, #0x14] ldr r0, _021353e4 ; =0x43424c53 ldr r1, [r2, #4] cmp r1, r0 beq _021353b4 ldr r0, _021353e8 ; =0x434e424c cmp r1, r0 bne _021353cc ldrh r0, [r2, #0x20] cmp r0, #0 ldreqb r0, [r5, #0x217] cmpeq r0, #1 bne _02135394 mov r0, r5 mov r1, #1 bl func_ov15_021345e0 _02135394: ldr r0, [r4, #0x14] ldrb r1, [r5, #0x217] ldrh r0, [r0, #0x20] cmp r1, r0 bne _021353cc add sp, sp, #0x5c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _021353b4: ldrb r0, [r5, #0x217] cmp r0, #1 bhi _021353cc mov r0, r5 mov r1, #1 bl func_ov15_021345e0 _021353cc: mov r0, #1 add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021351cc _021353d8: .word data_027e0764 _021353dc: .word data_027e0fe8 _021353e0: .word 0x53485254 _021353e4: .word 0x43424c53 _021353e8: .word 0x434e424c .global func_ov15_021353ec arm_func_start func_ov15_021353ec func_ov15_021353ec: ; 0x021353ec stmdb sp!, {r4, lr} ldr r3, [r1, #4] ldr r2, _02135434 ; =0x53424f53 mov r4, r0 cmp r3, r2 bne _0213542c ldr r0, _02135438 ; =data_027e0fe4 add r1, r1, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_0217217c ldmia sp!, {r4, pc} _0213542c: bl _ZN5Actor12CollidesWithEPKS_ ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021353ec _02135434: .word 0x53424f53 _02135438: .word data_027e0fe4 .global func_ov15_0213543c arm_func_start func_ov15_0213543c func_ov15_0213543c: ; 0x0213543c stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x217] cmp r0, #0 bne _02135470 ldr r1, _02135480 ; =data_027e0f94 add r0, r4, #0x48 bl func_01ff9ec0 mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 mov r0, r0, asr #0xc strb r0, [r4, #0x218] _02135470: mov r0, r4 mov r1, #1 bl func_ov15_021345e0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213543c _02135480: .word data_027e0f94 .global func_ov15_02135484 arm_func_start func_ov15_02135484 func_ov15_02135484: ; 0x02135484 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02135484 .global func_ov15_021354a0 arm_func_start func_ov15_021354a0 func_ov15_021354a0: ; 0x021354a0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x30 mov r11, r0 bl func_ov15_0213ce4c bl func_ov15_0213d3b4 ldr r0, _02135548 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 mov r0, r11 bl func_ov15_021358f8 cmp r0, #0 beq _02135534 mov r10, #0 ldr r6, _0213554c ; =0x534e4156 ldr r5, _02135550 ; =data_027e0f94 ldr r4, _02135554 ; =data_027e0fe8 str r10, [r11, #0x24] add r9, sp, #4 mvn r8, #0 mov r7, r10 _021354f0: mov r0, r9 bl func_ov00_020c1500 mov r0, r9 str r8, [sp, #0x20] str r8, [sp, #0x24] bl func_ov00_020c3348 and r0, r10, #0xff strh r0, [sp, #4] str r7, [sp] ldr r0, [r4] mov r1, r6 mov r2, r5 mov r3, r9 bl func_ov00_020c4048 add r10, r10, #1 cmp r10, #3 blt _021354f0 _02135534: mov r0, r11 mov r1, #1 bl func_ov15_02175d14 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021354a0 _02135548: .word data_027e103c _0213554c: .word 0x534e4156 _02135550: .word data_027e0f94 _02135554: .word data_027e0fe8 .global func_ov15_02135558 arm_func_start func_ov15_02135558 func_ov15_02135558: ; 0x02135558 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02137ccc cmp r0, #0 ldmneia sp!, {r4, pc} bl func_ov15_0213ce4c bl func_ov15_0213d1ac cmp r0, #0 beq _02135590 mov r0, r4 mov r1, #0 bl func_ov15_02136b34 mov r0, #1 strb r0, [r4, #0x25e] _02135590: ldrb r0, [r4, #0x25e] cmp r0, #0 bne _021355a4 bl func_ov15_0213ce4c bl func_ov15_0213d1fc _021355a4: mov r0, r4 bl func_ov15_021368c8 ldr r1, _02135644 ; =data_027e0fac str r0, [r4, #0x88] ldrsh r0, [r1] strh r0, [r4, #0x9a] ldrb r0, [r4, #0x25e] cmp r0, #0 bne _021355f4 bl func_ov15_0213ce4c bl func_ov15_0213d1e4 mov r1, #0xf6 mul r1, r0, r1 mov r0, r1, asr #0xb add r0, r1, r0, lsr #20 mov r0, r0, asr #0xc ldrsh r1, [r4, #0x9a] rsb r0, r0, #0 add r0, r1, r0 strh r0, [r4, #0x9a] _021355f4: ldr r0, _02135644 ; =data_027e0fac ldrsh r1, [r4, #0x9a] ldrsh r0, [r0] sub r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 movs r0, r0, asr #0x3 rsbmi r0, r0, #0 mov r0, r0, lsl #0x1 ldr r1, [r4, #0x88] rsb r0, r0, #0x1000 smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, r4 str r1, [r4, #0x88] bl func_ov15_02136d04 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135558 _02135644: .word data_027e0fac .global func_ov15_02135648 arm_func_start func_ov15_02135648 func_ov15_02135648: ; 0x02135648 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x25f] cmp r0, #0 beq _021356d0 ldr r0, _021356e0 ; =data_027e0fac ldrsh r3, [r4, #0x9a] ldrsh r0, [r0] ldr r1, _021356e4 ; =0x0000019a mov r2, #0 sub r0, r3, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 umull ip, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r2, ip, #0x800 adc r1, r3, #0 mov r0, r2, lsr #0xc orr r0, r0, r1, lsl #20 bl func_02042f74 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r1, #0x100 movgt r1, #0x100 add r0, r4, #0x9c mov r2, #0x10 bl func_0202b154 ldrsh r1, [r4, #0x9a] ldrsh r2, [r4, #0x9c] ldr r0, _021356e0 ; =data_027e0fac bl func_0202b154 ldmia sp!, {r4, pc} _021356d0: ldrsh r1, [r4, #0x9a] ldr r0, _021356e0 ; =data_027e0fac strh r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135648 _021356e0: .word data_027e0fac _021356e4: .word 0x0000019a .global func_ov15_021356e8 arm_func_start func_ov15_021356e8 func_ov15_021356e8: ; 0x021356e8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r6, r0 bl func_ov15_021358f8 cmp r0, #0 mvneq r0, #0 addeq sp, sp, #0x18 streq r0, [r6, #0x24] ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r6, #0x24] cmp r0, #0 addlt sp, sp, #0x18 ldmltia sp!, {r4, r5, r6, pc} ldr r0, _021358cc ; =data_027e0fac ldrsh r4, [r0] bl func_ov15_0212f7a0 ldr r1, _021358d0 ; =data_027e0f94 ldr r5, [r0, #0x48] ldr r3, [r1] ldr r2, [r0, #0x50] ldr r1, [r1, #8] sub r0, r5, r3 sub r1, r2, r1 bl func_01ff9f3c ldr r1, _021358d4 ; =0x60db9391 ldr r2, _021358d8 ; =0x000028be umull r5, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r0, r5, #0 adc r0, r3, #0x800 mov r0, r0, lsl #0x4 mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 rsb r0, r4, r0, asr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 movs r5, r0, asr #0x3 ldr r0, _021358d0 ; =data_027e0f94 ldrh r4, [r6, #0x9e] ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0xc] str r1, [sp, #0x10] ldr r0, [r0, #8] rsbmi r5, r5, #0 str r0, [sp, #0x14] bl func_ov15_0212f7a0 ldr r2, [r0, #0x48] add r1, sp, #0xc str r2, [sp] ldr r2, [r0, #0x4c] str r2, [sp, #4] ldr r2, [r0, #0x50] add r0, sp, #0 str r2, [sp, #8] bl func_01ff9ec0 cmp r0, #0xd000 ldrlt r0, _021358dc ; =0x0000051f cmplt r5, r0 bge _021357f0 mov r0, #3 str r0, [r6, #0x24] ldr r1, _021358e0 ; =0x00001476 b _02135844 _021357f0: cmp r5, #0x23 bgt _02135808 mov r0, #3 str r0, [r6, #0x24] ldr r1, _021358e0 ; =0x00001476 b _02135844 _02135808: ldr r0, _021358e4 ; =0x000004e1 cmp r5, r0 bgt _02135824 mov r0, #2 str r0, [r6, #0x24] ldr r1, _021358e8 ; =0x00000d53 b _02135844 _02135824: ldr r0, _021358ec ; =0x00000ac4 cmp r5, r0 movgt r1, #0 strgt r1, [r6, #0x24] bgt _02135844 mov r0, #1 ldr r1, _021358f0 ; =0x00000817 str r0, [r6, #0x24] _02135844: ldrh r0, [r6, #0x9e] cmp r4, #0x8000 addge sp, sp, #0x18 add r0, r0, r1 strh r0, [r6, #0x9e] ldmgeia sp!, {r4, r5, r6, pc} ldrh r0, [r6, #0x9e] cmp r0, #0x8000 addlo sp, sp, #0x18 ldmloia sp!, {r4, r5, r6, pc} ldr r0, [r6, #0x24] cmp r0, #1 beq _02135890 cmp r0, #2 beq _021358a4 cmp r0, #3 beq _021358b8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _02135890: ldr r0, _021358f4 ; =data_ov00_020eec9c mov r1, #0x44 bl func_ov00_020d77e4 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _021358a4: ldr r0, _021358f4 ; =data_ov00_020eec9c mov r1, #0x45 bl func_ov00_020d77e4 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _021358b8: ldr r0, _021358f4 ; =data_ov00_020eec9c mov r1, #0x46 bl func_ov00_020d77e4 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021356e8 _021358cc: .word data_027e0fac _021358d0: .word data_027e0f94 _021358d4: .word 0x60db9391 _021358d8: .word 0x000028be _021358dc: .word 0x0000051f _021358e0: .word 0x00001476 _021358e4: .word 0x000004e1 _021358e8: .word 0x00000d53 _021358ec: .word 0x00000ac4 _021358f0: .word 0x00000817 _021358f4: .word data_ov00_020eec9c .global func_ov15_021358f8 arm_func_start func_ov15_021358f8 func_ov15_021358f8: ; 0x021358f8 stmdb sp!, {r3, lr} ldr r0, _0213592c ; =gAdventureFlags mov r1, #0x14 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02135924 bl func_ov15_0212f7a0 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02135924: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021358f8 _0213592c: .word gAdventureFlags .global func_ov15_02135930 arm_func_start func_ov15_02135930 func_ov15_02135930: ; 0x02135930 ldrh r0, [r0, #0x9e] cmp r0, #0x8000 movhs r0, #1 movlo r0, #0 bx lr arm_func_end func_ov15_02135930 .global func_ov15_02135944 arm_func_start func_ov15_02135944 func_ov15_02135944: ; 0x02135944 bx lr arm_func_end func_ov15_02135944 .global func_ov15_02135948 arm_func_start func_ov15_02135948 func_ov15_02135948: ; 0x02135948 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 bl func_ov15_02137ccc cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} bl func_ov15_0213ce4c bl func_ov15_0213d1ac cmp r0, #0 beq _02135988 mov r0, r4 mov r1, #1 bl func_ov15_02136b34 mov r0, #1 strb r0, [r4, #0x25e] _02135988: ldr r0, _02135aec ; =data_027e0fac mov r1, #0 ldrsh r0, [r0] strh r0, [r4, #0x9a] str r1, [r4, #0x88] bl func_ov15_0213ce4c add r1, sp, #0xc bl func_ov15_0213d4f4 cmp r0, #0 blt _021359e8 ldr r1, _02135af0 ; =data_027e0f94 add r0, sp, #0xc add r2, sp, #0 bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 strh r0, [r4, #0x9a] mov r0, r4 bl func_ov15_021368c8 str r0, [r4, #0x88] mov r0, r4 bl func_ov15_02135ce4 b _021359f0 _021359e8: mov r0, r4 bl func_ov15_02135d34 _021359f0: mov r0, r4 bl func_ov15_02136d04 ldrb r0, [r4, #0x194] cmp r0, #0 bne _02135ac8 bl func_ov15_0215b780 cmp r0, #0 beq _02135a20 add r0, r4, #0x100 mov r1, #0x1f strh r1, [r0, #0x92] b _02135ad4 _02135a20: ldr r1, _02135af4 ; =data_027e0f64 ldr r0, _02135aec ; =data_027e0fac ldr r2, [r1] ldrsh r1, [r0] ldr r0, [r2, #4] add r0, r0, #0x200 ldrsh r0, [r0, #0x26] sub r0, r0, #0x8000 sub r0, r0, r1 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 movmi r0, r0, lsl #0x10 movmi r0, r0, asr #0x10 sub r0, r0, #0x1000 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 movmi r0, #0 cmp r0, #0x800 movgt r0, #0x800 mov r0, r0, lsl #0x1 rsb r2, r0, #0x1000 mov r0, #0x15 mov r1, #0 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r2, ip, #0x800 mov r1, r2, lsr #0xc adc r0, r3, #0 ldr r2, [r4, #0x84] orr r1, r1, r0, lsl #20 smull r1, r0, r2, r1 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 rsb r1, r1, #0x1f add r0, r4, #0x100 strh r1, [r0, #0x92] b _02135ad4 _02135ac8: add r0, r4, #0x100 mov r1, #0xa strh r1, [r0, #0x92] _02135ad4: add r0, r4, #0x100 ldrh r1, [r0, #0x92] ldr r0, [r4, #0x20] strh r1, [r0, #0x98] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135948 _02135aec: .word data_027e0fac _02135af0: .word data_027e0f94 _02135af4: .word data_027e0f64 .global func_ov15_02135af8 arm_func_start func_ov15_02135af8 func_ov15_02135af8: ; 0x02135af8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0213ce4c ldrsh r1, [r0, #0xe] cmp r1, #0 bne _02135b28 ldrb r1, [r0, #0x42] cmp r1, #0 ldrneb r0, [r0, #0x43] cmpne r0, #0 moveq r2, #0x12c beq _02135b64 _02135b28: ldr r0, [r4, #0x84] mov r1, #0 rsb r2, r0, #0x1000 mov r0, #0x96 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f adds r2, ip, #0x800 mla r3, r1, r0, r3 adc r0, r3, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, #0x64 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 _02135b64: ldrsh r1, [r4, #0x9a] ldr r0, _02135b74 ; =data_027e0fac bl func_0202b154 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135af8 _02135b74: .word data_027e0fac .global func_ov15_02135b78 arm_func_start func_ov15_02135b78 func_ov15_02135b78: ; 0x02135b78 stmdb sp!, {r4, lr} ldr r1, _02135bc8 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_0213a570 cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} ldr r0, _02135bcc ; =data_027e0c68 bl func_020367ec cmp r0, #0 movne r0, #0 ldreqb r0, [r4, #0x26e] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135b78 _02135bc8: .word data_027e0d38 _02135bcc: .word data_027e0c68 .global func_ov15_02135bd0 arm_func_start func_ov15_02135bd0 func_ov15_02135bd0: ; 0x02135bd0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02135b78 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0x60] tst r1, #1 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x78] cmp r0, #0x148 ble _02135c28 tst r1, #2 ldreqb r0, [r4, #0x27c] cmpeq r0, #0 bne _02135c40 ldr r1, _02135cd4 ; =data_ov15_0218a9a4 mov r0, r4 bl func_ov15_02135d78 ldr r0, [r4, #0x60] orr r0, r0, #2 str r0, [r4, #0x60] b _02135c40 _02135c28: cmp r0, #0xf6 bge _02135c40 tst r1, #2 ldrne r0, [r4, #0x60] bicne r0, r0, #2 strne r0, [r4, #0x60] _02135c40: ldr r0, _02135cd8 ; =data_027e0fac ldrsh r1, [r4, #0x9a] ldrsh r0, [r0] sub r0, r1, r0 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r1, #0x2000 ble _02135c88 ldr r0, [r4, #0x60] tst r0, #4 ldmneia sp!, {r4, pc} ldr r1, _02135cdc ; =data_ov15_0218a9a8 mov r0, r4 bl func_ov15_02135d78 ldr r0, [r4, #0x60] orr r0, r0, #4 str r0, [r4, #0x60] ldmia sp!, {r4, pc} _02135c88: mov r0, #0x2000 rsb r0, r0, #0 cmp r1, r0 ldr r0, [r4, #0x60] bge _02135cc0 tst r0, #4 ldmneia sp!, {r4, pc} ldr r1, _02135ce0 ; =data_ov15_0218a9ac mov r0, r4 bl func_ov15_02135d78 ldr r0, [r4, #0x60] orr r0, r0, #4 str r0, [r4, #0x60] ldmia sp!, {r4, pc} _02135cc0: tst r0, #4 ldrne r0, [r4, #0x60] bicne r0, r0, #4 strne r0, [r4, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135bd0 _02135cd4: .word data_ov15_0218a9a4 _02135cd8: .word data_027e0fac _02135cdc: .word data_ov15_0218a9a8 _02135ce0: .word data_ov15_0218a9ac .global func_ov15_02135ce4 arm_func_start func_ov15_02135ce4 func_ov15_02135ce4: ; 0x02135ce4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02135b78 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x60] tst r0, #1 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov15_02136c34 cmp r0, #0 ldmneia sp!, {r4, pc} ldr r1, _02135d30 ; =data_ov15_0218a9b0 mov r0, r4 bl func_ov15_02135d78 ldr r0, [r4, #0x60] orr r0, r0, #1 str r0, [r4, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135ce4 _02135d30: .word data_ov15_0218a9b0 .global func_ov15_02135d34 arm_func_start func_ov15_02135d34 func_ov15_02135d34: ; 0x02135d34 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02135b78 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x60] tst r0, #8 ldmeqia sp!, {r4, pc} ldr r1, _02135d74 ; =data_ov15_0218a9b4 mov r0, r4 bl func_ov15_02135d78 ldr r0, [r4, #0x60] bic r0, r0, #1 bic r0, r0, #8 str r0, [r4, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02135d34 _02135d74: .word data_ov15_0218a9b4 .global func_ov15_02135d78 arm_func_start func_ov15_02135d78 func_ov15_02135d78: ; 0x02135d78 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 bl func_ov15_0212f7a0 movs r4, r0 beq _02135df0 bl func_ov15_0213278c cmp r0, #0 beq _02135df0 add r0, r4, #0x400 ldrsh r1, [r0, #0xc0] cmp r1, #0 movge r1, #0 strgeh r1, [r0, #0xc0] ldr r0, [r5] cmp r0, #0x18 bne _02135dd0 ldr r0, _02135e00 ; =data_027e0c68 ldr r1, _02135e04 ; =0x0005000d ldr r2, _02135e08 ; =data_027e0f94 mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} _02135dd0: cmp r0, #0x1c bne _02135df0 ldr r0, _02135e00 ; =data_027e0c68 ldr r1, _02135e0c ; =0x0005001a ldr r2, _02135e08 ; =data_027e0f94 mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} _02135df0: ldr r1, [r5] ldr r0, _02135e00 ; =data_027e0c68 bl func_ov15_02185a70 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02135d78 _02135e00: .word data_027e0c68 _02135e04: .word 0x0005000d _02135e08: .word data_027e0f94 _02135e0c: .word 0x0005001a .global func_ov15_02135e10 arm_func_start func_ov15_02135e10 func_ov15_02135e10: ; 0x02135e10 ldrsh r2, [r1] strh r2, [r0, #0x50] ldrsh r2, [r1, #2] strh r2, [r0, #0x52] ldrsh r1, [r1, #4] strh r1, [r0, #0x54] bx lr arm_func_end func_ov15_02135e10 .global func_ov15_02135e2c arm_func_start func_ov15_02135e2c func_ov15_02135e2c: ; 0x02135e2c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0xe8 ldr r2, _021360b8 ; =data_027e0f94 add r3, sp, #0xac mov r5, r0 mov r4, r1 ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0xc4 bl func_01ff80d4 ldr r0, _021360bc ; =data_027e10a4 ldr r3, _021360c0 ; =data_02050f54 ldr r1, [r0] add r0, sp, #0x50 ldrh r1, [r1, #0x90] mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8230 add r0, sp, #0xc4 add r1, sp, #0x50 mov r2, r0 bl func_01ff8690 ldr r1, _021360c4 ; =data_027e0fb0 ldr r3, _021360c0 ; =data_02050f54 ldrsh r1, [r1] add r0, sp, #0x2c rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff81f8 add r0, sp, #0xc4 add r1, sp, #0x2c mov r2, r0 bl func_01ff8690 ldr r1, _021360c8 ; =data_027e0fac ldr r3, _021360c0 ; =data_02050f54 ldrh r1, [r1] add r0, sp, #8 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, sp, #0xc4 add r1, sp, #8 mov r2, r0 bl func_01ff8690 ldr r0, [r4] ldr r1, [r4, #8] bl func_01ffa0f4 ldr r1, _021360c8 ; =data_027e0fac ldr r3, [r5, #0x20] ldrsh ip, [r1] add r1, sp, #0xb8 add r2, sp, #0xc4 sub r0, r0, ip strh r0, [r3, #0x94] ldr r0, [r5, #0x20] add r3, sp, #0xac bl func_ov09_0211530c ldr r1, [r5, #0x20] mov r0, #0 strh r0, [r1, #0x96] mov r0, #0x800 str r0, [r1, #0x88] add r3, sp, #0xa0 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r3 bl func_01ff9d4c ldr r1, _021360cc ; =0x00000333 add r0, sp, #0xa0 str r1, [sp, #0xa4] mov r1, r0 bl func_01ff9d4c ldr r3, [sp, #0xa8] ldr r2, [sp, #0xa4] ldr r1, [sp, #0xa0] add r0, r5, #0x100 strh r1, [r0, #0x8c] strh r2, [r0, #0x8e] strh r3, [r0, #0x90] add r0, r5, #0x18c str r0, [sp] ldr r1, _021360d0 ; =func_ov15_02135e10 ldr r0, _021360d4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #4 add r2, sp, #0xb8 mov r3, #1 bl func_ov00_0207c1b0 add r0, r5, #0x18c str r0, [sp] ldr r1, _021360d0 ; =func_ov15_02135e10 ldr r0, _021360d4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #5 add r2, sp, #0xb8 mov r3, #1 bl func_ov00_0207c1b0 add r0, r5, #0x18c str r0, [sp] ldr r1, _021360d0 ; =func_ov15_02135e10 ldr r0, _021360d4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #6 add r2, sp, #0xb8 mov r3, #1 bl func_ov00_0207c1b0 add r0, sp, #0x74 bl func_ov00_020c1500 mvn r0, #0 str r0, [sp, #0x90] str r0, [sp, #0x94] add r0, sp, #0x74 bl func_ov00_020c3348 mov r0, #1 str r0, [sp, #0x90] mov r0, #0 strh r0, [sp, #0x74] str r0, [sp] ldr r0, _021360d8 ; =data_027e0fe8 ldr r1, _021360dc ; =0x434e424c ldr r0, [r0] add r2, sp, #0xb8 add r3, sp, #0x74 bl func_ov00_020c4048 mov r1, r0 ldr r0, _021360e0 ; =data_027e0fe4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 addeq sp, sp, #0xe8 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4] str r1, [r0, #0x60] ldr r1, [r4, #4] str r1, [r0, #0x64] ldr r1, [r4, #8] str r1, [r0, #0x68] add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02135e2c _021360b8: .word data_027e0f94 _021360bc: .word data_027e10a4 _021360c0: .word data_02050f54 _021360c4: .word data_027e0fb0 _021360c8: .word data_027e0fac _021360cc: .word 0x00000333 _021360d0: .word func_ov15_02135e10 _021360d4: .word data_027e0e58 _021360d8: .word data_027e0fe8 _021360dc: .word 0x434e424c _021360e0: .word data_027e0fe4 .global func_ov15_021360e4 arm_func_start func_ov15_021360e4 func_ov15_021360e4: ; 0x021360e4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc0 ldr r3, _021363d8 ; =data_027e0fe4 mov r7, r1 ldr r1, [r3] mov r8, r0 mov r4, #0 mov r5, r2 add r0, sp, #0 mov r2, r4 bl _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori ldr r1, [sp] mvn r0, #0 str r1, [r5] ldr r1, [sp, #4] str r1, [r5, #4] ldr r1, [r5] cmp r1, r0 beq _02136168 ldr r0, _021363d8 ; =data_027e0fe4 mov r1, r5 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef add r1, sp, #0xa4 bl _ZN5Actor9GetHitboxEP8Cylinder ldr r2, [sp, #0xa4] ldr r1, [sp, #0xa8] ldr r0, [sp, #0xac] str r2, [sp, #0xb4] str r1, [sp, #0xb8] str r0, [sp, #0xbc] mov r4, #1 b _0213618c _02136168: ldr r2, _021363dc ; =data_027e0d78 ldr r0, _021363e0 ; =data_027e0e60 ldr r1, [r2, #0x24] ldr r0, [r0] ldr r2, [r2, #0x28] add r3, sp, #0xb4 bl func_ov00_02084d4c cmp r0, #1 movls r4, #2 _0213618c: cmp r4, #0 beq _021363cc ldr r1, _021363e4 ; =data_027e0f94 add r0, sp, #0xb4 mov r2, r7 bl func_01ff9bf8 ldr r1, [r8, #0x20] add r0, sp, #0x80 ldrsh r5, [r1, #0x94] bl func_01ff80d4 ldr r0, _021363e8 ; =data_027e10a4 ldr r3, _021363ec ; =data_02050f54 ldr r1, [r0] add r0, sp, #0x50 ldrh r1, [r1, #0x90] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 mov r1, r1, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8230 add r0, sp, #0x80 add r1, sp, #0x50 mov r2, r0 bl func_01ff8690 ldr r1, _021363f0 ; =data_027e0fb0 ldr r3, _021363ec ; =data_02050f54 ldrsh r1, [r1] add r0, sp, #0x2c rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff81f8 add r0, sp, #0x80 add r1, sp, #0x2c mov r2, r0 bl func_01ff8690 ldr r1, _021363f4 ; =data_027e0fac ldr r3, _021363ec ; =data_02050f54 ldrh r1, [r1] add r0, sp, #8 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, sp, #0x80 add r1, sp, #8 mov r2, r0 bl func_01ff8690 ldr r1, _021363f4 ; =data_027e0fac ldr r0, [r7] ldrsh r6, [r1] ldr r1, [r7, #8] bl func_01ffa0f4 sub r0, r0, r6 mov r0, r0, lsl #0x10 cmp r4, #2 mov r4, r0, asr #0x10 bne _021362fc ldr r0, _021363f8 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] add r0, r0, #0x200 ldrsh r0, [r0, #0x26] sub r0, r0, r6 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 sub r0, r4, r0, asr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_02042f68 ldr r1, _021363fc ; =data_ov15_0218a9d8 ldr r1, [r1, #0x2c] cmp r0, r1 addgt sp, sp, #0xc0 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, pc} _021362fc: ldr r0, [r8, #0x20] ldr r3, _021363e4 ; =data_027e0f94 strh r4, [r0, #0x94] ldr r0, [r8, #0x20] add r1, sp, #0x74 add r2, sp, #0x80 bl func_ov09_0211530c ldr r3, [r8, #0x20] add r0, sp, #0xb4 add r1, sp, #0x74 mov r2, r7 strh r5, [r3, #0x94] bl func_01ff9bf8 ldr r4, [r7, #4] mov r1, #0 mov r0, r7 str r1, [r7, #4] bl func_01ff9cec mov r1, r0, asr #0x9 add r0, r0, r1, lsr #22 mov r5, r0, asr #0xa cmp r5, #0 ble _02136368 mov r0, r7 bl func_01fffb4c cmp r0, #0 bne _02136374 _02136368: add sp, sp, #0xc0 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02136374: mov r0, r7 mov r1, #0x400 bl func_01fffbec mov r0, r4 mov r1, r5 bl func_02002c14 ldr r2, _021363fc ; =data_ov15_0218a9d8 mov r1, #0x28 ldr r2, [r2, #0x24] mla r3, r5, r1, r0 mul r1, r2, r1 mov r0, r1, asr #0x9 add r0, r1, r0, lsr #22 mov r0, r0, asr #0xa add r0, r0, r0, lsr #31 cmp r3, r0, asr #1 mov r0, r0, asr #0x1 movgt r3, r0 add sp, sp, #0xc0 str r3, [r7, #4] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021363cc: mov r0, #0 add sp, sp, #0xc0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021360e4 _021363d8: .word data_027e0fe4 _021363dc: .word data_027e0d78 _021363e0: .word data_027e0e60 _021363e4: .word data_027e0f94 _021363e8: .word data_027e10a4 _021363ec: .word data_02050f54 _021363f0: .word data_027e0fb0 _021363f4: .word data_027e0fac _021363f8: .word data_027e0f64 _021363fc: .word data_ov15_0218a9d8 .global func_ov15_02136400 arm_func_start func_ov15_02136400 func_ov15_02136400: ; 0x02136400 stmdb sp!, {r4, lr} ldr r1, _021364a8 ; =data_027e0fb8 mov r4, r0 ldr r0, [r1] ldrb r0, [r0, #0x79] cmp r0, #0 beq _02136428 ldr r0, [r4, #0x2c] cmp r0, #0 beq _02136434 _02136428: mov r0, #0 str r0, [r4, #0x5c] b _02136458 _02136434: ldr r0, [r4, #0x5c] cmp r0, #0 beq _02136458 subs r0, r0, #1 str r0, [r4, #0x5c] bne _02136458 ldr r0, _021364ac ; =data_ov00_020eec9c mov r1, #0x3d bl func_ov00_020d77e4 _02136458: ldr r0, [r4, #0x20] ldrb r0, [r0, #0x9b] cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_02136670 cmp r0, #0 ldrne r0, [r4, #0x5c] cmpne r0, #0 beq _02136494 ldr r0, [r4, #0x20] mov r1, #1 mov r2, #0 bl func_ov09_0211555c ldmia sp!, {r4, pc} _02136494: mov r1, #0 ldr r0, [r4, #0x20] mov r2, r1 bl func_ov09_0211555c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02136400 _021364a8: .word data_027e0fb8 _021364ac: .word data_ov00_020eec9c .global func_ov15_021364b0 arm_func_start func_ov15_021364b0 func_ov15_021364b0: ; 0x021364b0 stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 ldr r1, [r4, #0x58] cmp r1, #0 subgt r0, r1, #1 addgt sp, sp, #0x20 strgt r0, [r4, #0x58] ldmgtia sp!, {r4, pc} bl func_ov15_02136670 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} ldr r1, _0213660c ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 addne sp, sp, #0x20 ldmneia sp!, {r4, pc} ldr r0, _02136610 ; =data_027e0fb8 ldr r0, [r0] ldrb r1, [r0, #0x79] cmp r1, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} bl _ZN13PlayerControl11IsTappedNowEv cmp r0, #0 ldrneb r0, [r4, #0x26c] cmpne r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} mvn r3, #0 add r1, sp, #0x14 add r2, sp, #0 mov r0, r4 str r3, [sp] str r3, [sp, #4] bl func_ov15_021360e4 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} add r0, sp, #0x14 ldr r1, _02136614 ; =data_027e0fa0 mov r2, r0 bl func_01ff9bc4 add r1, sp, #0x14 mov r0, r4 bl func_ov15_02135e2c cmp r0, #0 ldrne r2, [sp] mvnne r1, #0 cmpne r2, r1 beq _02136590 add r1, sp, #0 ldmia r1, {r1, r2} bl func_ov15_021351b0 _02136590: ldr r1, _02136618 ; =data_027e0f94 add r0, sp, #0x14 add r2, sp, #8 bl func_01ff9bc4 ldr r0, _0213661c ; =data_027e0ffc ldr r1, _02136620 ; =0x0000020d add r2, sp, #8 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02136624 ; =data_027e0f64 mov r1, #9 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 mov r0, #0x14 str r0, [r4, #0x58] ldr r0, [r4, #0x5c] cmp r0, #0 bne _021365e8 ldr r0, _02136628 ; =data_ov00_020eec9c mov r1, #0x3c bl func_ov00_020d77e4 _021365e8: ldr r0, _0213662c ; =data_ov15_0218a9d8 mov r1, #1 ldr r0, [r0, #0x28] mov r2, #0 str r0, [r4, #0x5c] ldr r0, [r4, #0x20] bl func_ov09_021154e8 add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021364b0 _0213660c: .word data_027e0e2c _02136610: .word data_027e0fb8 _02136614: .word data_027e0fa0 _02136618: .word data_027e0f94 _0213661c: .word data_027e0ffc _02136620: .word 0x0000020d _02136624: .word data_027e0f64 _02136628: .word data_ov00_020eec9c _0213662c: .word data_ov15_0218a9d8 .global func_ov15_02136630 arm_func_start func_ov15_02136630 func_ov15_02136630: ; 0x02136630 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r4, r1 add r1, sp, #0x24 mov r5, r0 bl func_ov15_02175b58 add r1, sp, #0 mov r0, r5 bl func_ov15_02175ba8 ldr r0, [r5, #0x20] add r2, sp, #0 add r3, sp, #0x24 mov r1, r4 bl func_ov09_02115408 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02136630 .global func_ov15_02136670 arm_func_start func_ov15_02136670 func_ov15_02136670: ; 0x02136670 stmdb sp!, {r4, lr} ldr r1, _021366a8 ; =gAdventureFlags mov r4, r0 ldr r0, [r1] mov r1, #0x30 bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x2c] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02136670 _021366a8: .word gAdventureFlags .global func_ov15_021366ac arm_func_start func_ov15_021366ac func_ov15_021366ac: ; 0x021366ac bx lr arm_func_end func_ov15_021366ac .global func_ov15_021366b0 arm_func_start func_ov15_021366b0 func_ov15_021366b0: ; 0x021366b0 stmdb sp!, {r3, lr} bl func_ov15_0213ce4c bl func_ov15_0213dcb0 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov15_021366b0 .global func_ov15_021366c4 arm_func_start func_ov15_021366c4 func_ov15_021366c4: ; 0x021366c4 stmdb sp!, {r3, lr} bl func_ov15_0213ce4c bl func_ov15_0213dcb0 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov15_021366c4 .global func_ov15_021366d8 arm_func_start func_ov15_021366d8 func_ov15_021366d8: ; 0x021366d8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x27c] cmp r0, #1 ldreq r0, [r4, #0x7c] ldmeqia sp!, {r4, pc} bl func_ov15_0213ce4c bl func_ov15_0213d1d4 ldrb r1, [r4, #0x25f] cmp r1, #1 moveq r0, #2 cmp r0, #0 beq _02136720 cmp r0, #1 beq _02136728 cmp r0, #2 beq _02136730 b _0213673c _02136720: mov r0, #0 ldmia sp!, {r4, pc} _02136728: mov r0, #0x7b ldmia sp!, {r4, pc} _02136730: mov r0, r4 bl func_ov15_02136744 ldmia sp!, {r4, pc} _0213673c: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov15_021366d8 .global func_ov15_02136744 arm_func_start func_ov15_02136744 func_ov15_02136744: ; 0x02136744 ldr r0, _0213674c ; =0x0000010a bx lr .align 2, 0 arm_func_end func_ov15_02136744 _0213674c: .word 0x0000010a .global func_ov15_02136750 arm_func_start func_ov15_02136750 func_ov15_02136750: ; 0x02136750 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02136744 mov r1, r0 ldr r0, [r4, #0x78] bl Divide str r0, [r4, #0x84] cmp r0, #0 movlt r0, #0 strlt r0, [r4, #0x84] ldmia sp!, {r4, pc} arm_func_end func_ov15_02136750 .global func_ov15_0213677c arm_func_start func_ov15_0213677c func_ov15_0213677c: ; 0x0213677c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 ldr r1, _02136880 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp, #0x18] str r0, [sp, #0x1c] ldr r1, [r1, #8] add r0, sp, #0x18 str r1, [sp, #0x20] ldr r2, [r4, #0x14] add r1, sp, #0 str r2, [sp] ldr r3, [r4, #0x18] mov r2, r0 str r3, [sp, #4] ldr r3, [r4, #0x1c] str r3, [sp, #8] bl func_01ff9bf8 mov r3, #0 ldr r0, _02136884 ; =data_027e0fac mov r2, #0x1000 ldrsh r1, [r0] add r0, sp, #0xc str r3, [sp, #0x1c] str r3, [sp, #0xc] str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_ov00_020a61ac add r0, sp, #0x18 add r1, sp, #0xc bl func_01ff9c2c mov r2, r0, lsl #0xf mov r0, r2, asr #0xb add r0, r2, r0, lsr #20 ldr r1, _02136884 ; =data_027e0fac mov r0, r0, lsl #0x4 ldrsh r2, [r1] ldrsh r1, [r4, #0x8c] mov r3, r0, asr #0x10 sub r0, r2, r1 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 movmi r0, r0, lsl #0x10 movmi r0, r0, asr #0x10 mov r0, r0, lsl #0x12 mov r0, r0, asr #0x10 cmp r0, #0x1000 movgt r0, #0x1000 cmp r3, r0 movlt r3, r0 strh r3, [r4, #0x8e] ldrsh r1, [r4, #0x8e] ldr r0, [r4, #0x20] bl func_ov09_021152fc ldrb r0, [r4, #0x26e] ldr r1, [r4, #0x84] cmp r0, #0 ldr r0, [r4, #0x20] moveq r1, #0 bl func_ov09_021150d8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0213677c _02136880: .word data_027e0f94 _02136884: .word data_027e0fac .global func_ov15_02136888 arm_func_start func_ov15_02136888 func_ov15_02136888: ; 0x02136888 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x26e] cmp r1, #0 ldmeqia sp!, {r3, pc} ldr r1, [r0, #0x2c] cmp r1, #1 bne _021368ac bl func_ov15_02135648 ldmia sp!, {r3, pc} _021368ac: bl func_ov15_02135af8 ldmia sp!, {r3, pc} arm_func_end func_ov15_02136888 .global func_ov15_021368b4 arm_func_start func_ov15_021368b4 func_ov15_021368b4: ; 0x021368b4 ldrb r0, [r0, #0x27c] cmp r0, #0 movne r0, #0x41 moveq r0, #0x10 bx lr arm_func_end func_ov15_021368b4 .global func_ov15_021368c8 arm_func_start func_ov15_021368c8 func_ov15_021368c8: ; 0x021368c8 mov r0, #4 bx lr arm_func_end func_ov15_021368c8 .global func_ov15_021368d0 arm_func_start func_ov15_021368d0 func_ov15_021368d0: ; 0x021368d0 mov r0, #7 bx lr arm_func_end func_ov15_021368d0 .global func_ov15_021368d8 arm_func_start func_ov15_021368d8 func_ov15_021368d8: ; 0x021368d8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x4f0] cmp r1, #0 beq _021368f4 bl func_ov15_02137928 ldmia sp!, {r4, pc} _021368f4: ldr r0, _02136a68 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 bne _02136938 ldr r0, [r4, #0x264] cmp r0, #0 bgt _02136938 ldr r0, [r4, #0x2c] cmp r0, #5 cmpne r0, #6 beq _02136938 ldr r1, _02136a6c ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 beq _02136944 _02136938: mov r0, #3 str r0, [r4, #0x74] b _02136988 _02136944: ldrb r0, [r4, #0x25f] cmp r0, #0 bne _02136988 ldr r0, _02136a68 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _02136980 ldr r0, [r4, #0x2c] cmp r0, #0 bne _02136988 bl func_ov15_0213ce4c ldrsh r0, [r0, #0xe] cmp r0, #0 bge _02136988 _02136980: mov r0, #3 str r0, [r4, #0x74] _02136988: ldr r0, [r4, #0x74] cmp r0, #0 beq _021369cc sub r0, r0, #1 str r0, [r4, #0x74] ldr r0, [r4, #0x78] cmp r0, #0 ble _021369c0 mov r0, r4 bl func_ov15_021368d0 ldr r1, [r4, #0x78] sub r0, r1, r0 str r0, [r4, #0x78] ldmia sp!, {r4, pc} _021369c0: movle r0, #0 strle r0, [r4, #0x78] ldmia sp!, {r4, pc} _021369cc: mov r0, r4 bl func_ov15_021366d8 ldr r1, [r4, #0x78] cmp r1, r0 mov r0, r4 ble _02136a18 bl func_ov15_021368d0 ldr r1, [r4, #0x78] sub r1, r1, r0 mov r0, r4 str r1, [r4, #0x78] bl func_ov15_021366d8 ldr r1, [r4, #0x78] cmp r1, r0 bge _02136a54 mov r0, r4 bl func_ov15_021366d8 str r0, [r4, #0x78] b _02136a54 _02136a18: bl func_ov15_021366d8 ldr r2, [r4, #0x78] cmp r2, r0 bge _02136a54 ldr r1, [r4, #0x88] mov r0, r4 add r1, r2, r1 str r1, [r4, #0x78] bl func_ov15_021366d8 ldr r1, [r4, #0x78] cmp r1, r0 ble _02136a54 mov r0, r4 bl func_ov15_021366d8 str r0, [r4, #0x78] _02136a54: ldr r0, [r4, #0x78] cmp r0, #0 movlt r0, #0 strlt r0, [r4, #0x78] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021368d8 _02136a68: .word gAdventureFlags _02136a6c: .word data_027e0e2c .global func_ov15_02136a70 arm_func_start func_ov15_02136a70 func_ov15_02136a70: ; 0x02136a70 ldr r0, [r0, #0x2c] cmp r0, r1 moveq r0, #0 bxeq lr cmp r1, #5 cmpeq r0, #6 moveq r0, #0 bxeq lr cmp r1, #6 cmpeq r0, #5 moveq r0, #0 movne r0, #1 bx lr arm_func_end func_ov15_02136a70 .global func_ov15_02136aa4 arm_func_start func_ov15_02136aa4 func_ov15_02136aa4: ; 0x02136aa4 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x2c] sub r1, r2, #3 cmp r1, #3 movls r0, #0 ldmlsia sp!, {r4, pc} ldr r1, [r4, #0x28] cmp r1, r2 movne r0, #0 ldmneia sp!, {r4, pc} mov r1, #0 bl func_ov15_02136a70 cmp r0, #0 mov r0, #0 strne r0, [r4, #0x28] movne r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov15_02136aa4 .global func_ov15_02136aec arm_func_start func_ov15_02136aec func_ov15_02136aec: ; 0x02136aec stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x2c] sub r1, r2, #3 cmp r1, #3 movls r0, #0 ldmlsia sp!, {r4, pc} ldr r1, [r4, #0x28] cmp r1, r2 movne r0, #0 ldmneia sp!, {r4, pc} mov r1, #1 bl func_ov15_02136a70 cmp r0, #0 moveq r0, #0 movne r0, #1 strne r0, [r4, #0x28] ldmia sp!, {r4, pc} arm_func_end func_ov15_02136aec .global func_ov15_02136b34 arm_func_start func_ov15_02136b34 func_ov15_02136b34: ; 0x02136b34 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r2, r5, #0x100 mov r3, #0x1f mov r4, r1 strh r3, [r2, #0x92] mov r1, #0 strb r1, [r5, #0x194] bl func_ov15_02175d14 ldr r0, [r5, #0x2c] cmp r0, #5 bne _02136b78 ldr r0, [r5, #0x20] ldr r0, [r0, #0xc0] cmp r0, #0 beq _02136b78 bl func_ov15_0216e980 _02136b78: cmp r4, #6 addls pc, pc, r4, lsl #2 b _02136c00 _02136b84: ; jump table b _02136ba0 ; case 0 b _02136bb4 ; case 1 b _02136bc8 ; case 2 b _02136bd4 ; case 3 b _02136be0 ; case 4 b _02136bec ; case 5 b _02136bf8 ; case 6 _02136ba0: mov r0, r5 bl func_ov15_02135944 mov r0, #4 str r0, [r5, #0x244] b _02136c00 _02136bb4: mov r0, r5 bl func_ov15_021354a0 mov r0, #4 str r0, [r5, #0x244] b _02136c00 _02136bc8: mov r0, #4 str r0, [r5, #0x244] b _02136c00 _02136bd4: mov r0, r5 bl func_ov15_02137d1c b _02136c00 _02136be0: mov r0, r5 bl func_ov15_02141290 b _02136c00 _02136bec: mov r0, r5 bl func_ov15_02142b40 b _02136c00 _02136bf8: mov r0, r5 bl func_ov15_0215253c _02136c00: ldr r0, [r5, #0x2c] cmp r0, #1 mvneq r0, #0 streq r0, [r5, #0x24] ldr r1, [r5, #0x28] ldr r0, [r5, #0x2c] cmp r1, r0 streq r4, [r5, #0x28] ldr r1, [r5, #0x2c] mov r0, #1 str r1, [r5, #0x30] str r4, [r5, #0x2c] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02136b34 .global func_ov15_02136c34 arm_func_start func_ov15_02136c34 func_ov15_02136c34: ; 0x02136c34 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, #0 bl func_ov15_0213ce4c ldrsh r1, [r0, #0xe] cmp r1, #0 bne _02136c94 ldrb r1, [r0, #0x42] cmp r1, #0 ldrneb r0, [r0, #0x43] cmpne r0, #0 bne _02136c94 ldr r0, _02136c9c ; =data_027e0fac ldrsh r1, [r5, #0x9a] ldrsh r0, [r0] sub r0, r1, r0 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 rsbmi r0, r1, #0 movmi r0, r0, lsl #0x10 movmi r1, r0, asr #0x10 ldr r0, _02136ca0 ; =0x00000222 cmp r1, r0 movgt r4, #1 _02136c94: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02136c34 _02136c9c: .word data_027e0fac _02136ca0: .word 0x00000222 .global func_ov15_02136ca4 arm_func_start func_ov15_02136ca4 func_ov15_02136ca4: ; 0x02136ca4 ldr r1, _02136d00 ; =data_027e0fac ldrsh r2, [r0, #0x9a] ldrsh r1, [r1] sub r1, r1, r2 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 movs r2, r1, asr #0x3 rsbmi r2, r2, #0 mul r1, r2, r2 add r1, r1, #0x800 mov r2, r1, asr #0xc mov r1, #0x33 mul r1, r2, r1 add r1, r1, #0x800 mov r2, r1, asr #0xc cmp r2, #0 bxle lr ldr r1, [r0, #0x78] subs r1, r1, r2 str r1, [r0, #0x78] movmi r1, #0 strmi r1, [r0, #0x78] bx lr .align 2, 0 arm_func_end func_ov15_02136ca4 _02136d00: .word data_027e0fac .global func_ov15_02136d04 arm_func_start func_ov15_02136d04 func_ov15_02136d04: ; 0x02136d04 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x18 mov r4, r0 ldrb r0, [r4, #0x25f] cmp r0, #1 bne _02136d5c ldr r1, _0213711c ; =data_027e0f94 add r2, sp, #0xc add r0, r4, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 strh r0, [r4, #0x9a] mov r0, r4 bl func_ov15_021368c8 str r0, [r4, #0x88] add r0, sp, #0xc bl func_01ff9cec cmp r0, #0x1000 movlt r0, #0 strltb r0, [r4, #0x25f] _02136d5c: ldr r0, [r4, #0x264] cmp r0, #0 ble _0213701c ldr r2, _02137120 ; =data_027e0764 ldr r1, _02137124 ; =0x0000019b ldr r3, [r2] ldmib r2, {r0, r5} umull r7, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds r3, r5, r7 adc r5, r0, r6 stmia r2, {r3, r5} umull r0, r3, r5, r1 mov r11, #0 mla r3, r5, r11, r3 mov r0, r11 mla r3, r0, r1, r3 ldr r5, [r4, #0xa4] sub r0, r3, #0xcd add r0, r5, r0 add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 str r0, [r4, #0xa4] ldr r3, [r2] ldmib r2, {r0, r5} umull r7, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds r5, r5, r7 adc r6, r0, r6 str r5, [r2] umull r0, r5, r6, r1 mla r5, r6, r11, r5 mov r0, r11 mla r5, r0, r1, r5 str r6, [r2, #4] ldr r6, [r4, #0xa8] sub r0, r5, #0xcd add r0, r6, r0 add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 str r0, [r4, #0xa8] ldr r6, [r2, #8] ldr lr, [r2] ldr ip, [r2, #4] umull r8, r7, r6, lr mla r7, r6, ip, r7 ldr r5, [r2, #0xc] ldr r10, [r2, #0x10] mla r7, r5, lr, r7 ldr r9, [r2, #0x14] adds r5, r10, r8 adc r7, r9, r7 stmia r2, {r5, r7} umull r2, r5, r7, r1 mla r5, r7, r11, r5 mov r2, r11 mla r5, r2, r1, r5 add r3, r1, #0x198 ldr r6, [r4, #0xac] sub r1, r5, #0xcd add r1, r6, r1 add r1, r1, r1, lsr #31 mov r1, r1, asr #0x1 str r1, [r4, #0xac] ldr r1, _02137128 ; =0xfffff8cd add r0, sp, #0 str r1, [sp, #8] ldr r1, _0213712c ; =data_027e0fac str r11, [sp] ldrsh r1, [r1] str r3, [sp, #4] bl func_ov00_020a61ac add r1, sp, #0 ldr r0, _0213711c ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 add r1, sp, #0 add r0, r4, #0xa4 mov r2, r1 bl func_01ff9bc4 ldr r0, [r4, #0x264] subs r0, r0, #1 str r0, [r4, #0x264] bne _02136ef4 add r6, r4, #0x16c add r5, r4, #0x178 cmp r6, r5 beq _02136f64 _02136edc: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02136edc b _02136f64 _02136ef4: add r2, r4, #0x16c add r1, r4, #0x178 cmp r2, r1 beq _02136f64 _02136f04: ldr r0, [r2] cmp r0, #0 beq _02136f58 ldr r3, [r0, #0x20] ldr r5, [sp] ldr r3, [r3] ldr r3, [r3, #4] add r3, r5, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr r5, [sp, #4] ldr r3, [r3] ldr r3, [r3, #8] add r3, r5, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr r5, [sp, #8] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, r5, r3 str r3, [r0, #0x30] _02136f58: add r2, r2, #4 cmp r2, r1 bne _02136f04 _02136f64: ldr r0, [r4, #0x268] cmp r0, #0 ble _02137084 sub r0, r0, #1 add r2, r4, #0x178 add r1, r4, #0x180 str r0, [r4, #0x268] cmp r2, r1 beq _02136fe8 _02136f88: ldr r0, [r2] cmp r0, #0 beq _02136fdc ldr r3, [r0, #0x20] ldr r5, [sp] ldr r3, [r3] ldr r3, [r3, #4] add r3, r5, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr r5, [sp, #4] ldr r3, [r3] ldr r3, [r3, #8] add r3, r5, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr r5, [sp, #8] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, r5, r3 str r3, [r0, #0x30] _02136fdc: add r2, r2, #4 cmp r2, r1 bne _02136f88 _02136fe8: ldr r0, [r4, #0x268] cmp r0, #0 bne _02137084 add r6, r4, #0x178 add r5, r4, #0x180 cmp r6, r5 beq _02137084 _02137004: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02137004 b _02137084 _0213701c: mov r1, #0 str r1, [r4, #0xa4] str r1, [r4, #0xa8] str r1, [r4, #0xac] ldr r0, [r4, #0x268] cmp r0, #0 ble _02137084 add r6, r4, #0x16c add r5, r4, #0x178 str r1, [r4, #0x268] cmp r6, r5 beq _02137060 _0213704c: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _0213704c _02137060: add r6, r4, #0x178 add r5, r4, #0x180 cmp r6, r5 beq _02137084 _02137070: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02137070 _02137084: mov r0, r4 bl func_ov15_021368b4 ldr r1, _02137130 ; =data_027e0fa0 ldr r2, [r1, #4] sub r2, r2, r0 mov r0, r4 str r2, [r1, #4] bl func_ov15_02137278 mov r0, r4 bl func_ov15_02152184 mov r0, r4 bl func_ov15_021364b0 bl func_ov15_0213ce4c bl func_ov15_0213d87c mov r0, r4 bl func_ov15_021368d8 mov r0, r4 bl func_ov15_02136ca4 mov r1, #0 ldrb r0, [r4, #0x26e] cmp r0, #0 beq _021370f8 mov r0, r4 bl func_ov15_02136744 ldr r2, [r4, #0x78] mov r1, r0 rsb r0, r2, r2, lsl #7 bl func_02002c14 and r1, r0, #0xff _021370f8: ldr r0, _02137134 ; =data_ov00_020ee800 ldr r0, [r0] bl func_ov00_020d6868 mov r0, r4 bl func_ov15_02135bd0 mov r0, r4 bl func_ov15_02136888 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02136d04 _0213711c: .word data_027e0f94 _02137120: .word data_027e0764 _02137124: .word 0x0000019b _02137128: .word 0xfffff8cd _0213712c: .word data_027e0fac _02137130: .word data_027e0fa0 _02137134: .word data_ov00_020ee800 .global func_ov15_02137138 arm_func_start func_ov15_02137138 func_ov15_02137138: ; 0x02137138 stmdb sp!, {r4, lr} sub sp, sp, #0x20 ldr r1, _02137258 ; =data_027e0fa0 mov r4, r0 ldr r0, [r1, #4] cmp r0, #0 bge _02137164 mov r1, #0 add r0, r4, #0x180 str r1, [r4, #0x274] bl func_ov00_020b7e6c _02137164: ldr r1, _0213725c ; =data_027e0f94 ldr r0, _02137260 ; =data_027e0e60 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #8] str r2, [sp, #0xc] ldr r2, [r1, #8] ldr r0, [r0] str r2, [sp, #0x10] add r1, sp, #8 mov r2, #0 bl func_ov00_02083ee0 ldrb r1, [r4, #0x27c] mov ip, r0 cmp r1, #1 addne sp, sp, #0x20 ldmneia sp!, {r4, pc} ldr r0, _02137258 ; =data_027e0fa0 ldr r0, [r0, #4] cmp r0, #0 addgt sp, sp, #0x20 ldmgtia sp!, {r4, pc} ldr r0, _0213725c ; =data_027e0f94 ldr r1, [r0, #4] cmp ip, r1 addlt sp, sp, #0x20 ldmltia sp!, {r4, pc} mov r3, #0 strb r3, [r4, #0x27c] add r4, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r1, _02137264 ; =0x000004cd mov r0, r4 mov r2, r3 str ip, [sp, #0x18] bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02137268 ; =data_027e0e58 mov r2, r4 ldr r0, [r0] mov r1, #0x59 mov r3, #1 bl func_ov00_0207c1b0 ldr r0, _0213726c ; =data_027e0ffc ldr r1, _02137270 ; =0x000001a6 ldr r2, _0213725c ; =data_027e0f94 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02137274 ; =data_027e0f64 mov r1, #0xd ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02137258 ; =data_027e0fa0 mov r1, #0 str r1, [r0, #4] add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02137138 _02137258: .word data_027e0fa0 _0213725c: .word data_027e0f94 _02137260: .word data_027e0e60 _02137264: .word 0x000004cd _02137268: .word data_027e0e58 _0213726c: .word data_027e0ffc _02137270: .word 0x000001a6 _02137274: .word data_027e0f64 .global func_ov15_02137278 arm_func_start func_ov15_02137278 func_ov15_02137278: ; 0x02137278 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 ldr r0, [r5, #0x270] cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x270] ldr r0, [r5, #0x274] cmp r0, #0 beq _021372b4 subs r0, r0, #1 str r0, [r5, #0x274] bne _021372b4 add r0, r5, #0x180 bl func_ov00_020b7e6c _021372b4: ldr r0, [r5, #0x2c] cmp r0, #0 movne r0, #0x14 strne r0, [r5, #0x270] ldrb r0, [r5, #0x27c] cmp r0, #1 mov r0, r5 bne _021372e0 bl func_ov15_02137138 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _021372e0: bl func_ov15_021374e8 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov15_0213ce4c bl func_ov15_0213dcb8 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _021374cc ; =data_027e0fa0 bl func_01ff9cec movs r4, r0 beq _021373f0 ldr r0, _021374cc ; =data_027e0fa0 mov r1, r0 bl func_01ff9d4c mov r0, r5 bl func_ov15_021366d8 cmp r4, r0 ldr r1, [r5, #0x78] movgt r4, r0 cmp r1, r0 strgt r0, [r5, #0x78] mov r0, r5 bl func_ov15_02136750 ldr r1, [r5, #0x84] mov r0, #0x1800 umull r3, ip, r1, r0 mov r2, #0 mla ip, r1, r2, ip mov r1, r1, asr #0x1f adds lr, r3, #0x800 mla ip, r1, r0, ip ldr r3, _021374cc ; =data_027e0fa0 adc r0, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r0, lsl #20 ldr r1, [r3] add r0, r4, ip smull ip, r4, r1, r0 adds ip, ip, #0x800 adc r1, r4, #0 mov r4, ip, lsr #0xc orr r4, r4, r1, lsl #20 str r4, [r3] ldr r4, [r3, #8] ldr r1, _021374d0 ; =0x0000028f smull lr, ip, r4, r0 adds lr, lr, #0x800 adc r4, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r4, lsl #20 str ip, [r3, #8] str r0, [r5, #0x7c] ldr r0, [r5, #0x84] umull ip, r4, r0, r1 mla r4, r0, r2, r4 mov r0, r0, asr #0x1f mla r4, r0, r1, r4 adds ip, ip, #0x800 adc r0, r4, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 cmp r1, #0x148 str r1, [r3, #4] movlt r0, #0x148 strlt r0, [r3, #4] b _02137408 _021373f0: ldr r0, _021374cc ; =data_027e0fa0 mov r2, #0 str r2, [r0] mov r1, #0x148 stmib r0, {r1, r2} str r2, [r5, #0x7c] _02137408: mov r0, #0x14 mov r1, #1 str r0, [r5, #0x270] ldr r0, _021374d4 ; =data_027e0ffc ldr r2, _021374d8 ; =data_027e0f94 strb r1, [r5, #0x27c] add r1, r1, #0x1a4 mov r3, #0 bl func_ov00_020ceacc ldr r0, [r5, #0x274] cmp r0, #0 bne _021374bc ldr r0, [r5, #0x84] cmp r0, #0x800 ble _021374bc mov r1, #1 str r1, [sp] ldr r0, _021374dc ; =data_027e0e58 ldr r3, _021374e0 ; =data_027e0d0c ldr r0, [r0] add r1, r5, #0x180 mov r2, #0x58 bl func_ov00_0207c1f8 ldr r0, _021374cc ; =data_027e0fa0 ldr r1, _021374e4 ; =data_027e0fac ldr r2, [r0, #4] ldr r3, [r5, #0x78] mov r0, r2, asr #0x2 rsb r4, r3, #0 add r0, r2, r0, lsr #29 mov r0, r0, asr #0x3 rsb r2, r0, #0 mov r3, #0 ldrsh r1, [r1] add r0, sp, #4 str r3, [sp, #4] str r2, [sp, #8] str r4, [sp, #0xc] bl func_ov00_020a61ac add r0, sp, #4 mov r1, r0 bl func_01ff9d4c add r1, sp, #4 add r0, r5, #0x180 bl func_ov00_020b7ea4 _021374bc: mov r0, #8 str r0, [r5, #0x274] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02137278 _021374cc: .word data_027e0fa0 _021374d0: .word 0x0000028f _021374d4: .word data_027e0ffc _021374d8: .word data_027e0f94 _021374dc: .word data_027e0e58 _021374e0: .word data_027e0d0c _021374e4: .word data_027e0fac .global func_ov15_021374e8 arm_func_start func_ov15_021374e8 func_ov15_021374e8: ; 0x021374e8 ldrb r1, [r0, #0x27c] cmp r1, #0 bne _02137504 ldr r0, [r0, #0x270] cmp r0, #0 movle r0, #1 bxle lr _02137504: mov r0, #0 bx lr arm_func_end func_ov15_021374e8 .global func_ov15_0213750c arm_func_start func_ov15_0213750c func_ov15_0213750c: ; 0x0213750c ldr ip, _02137518 ; =func_ov15_02183578 mov r0, r1 bx ip .align 2, 0 arm_func_end func_ov15_0213750c _02137518: .word func_ov15_02183578 .global func_ov15_0213751c arm_func_start func_ov15_0213751c func_ov15_0213751c: ; 0x0213751c stmdb sp!, {r3, lr} ldr r1, [r0, #0x20] ldr r1, [r1, #0xc0] cmp r1, #0 ldmeqia sp!, {r3, pc} mov r3, #1 strb r3, [r0, #0x4e0] ldr r2, [r1, #4] mov r0, r1 mov r1, #7 str r3, [r2, #0x11c] bl func_ov15_0216e168 ldmia sp!, {r3, pc} arm_func_end func_ov15_0213751c .global func_ov15_02137550 arm_func_start func_ov15_02137550 func_ov15_02137550: ; 0x02137550 ldr r1, [r0, #0x20] ldr r2, [r1, #0xc0] cmp r2, #0 bxeq lr mov r1, #0 strb r1, [r0, #0x4e0] ldr r0, [r2, #4] str r1, [r0, #0x11c] bx lr arm_func_end func_ov15_02137550 .global func_ov15_02137574 arm_func_start func_ov15_02137574 func_ov15_02137574: ; 0x02137574 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x28 mov r6, r0 ldrb r0, [r6, #0x4e0] cmp r0, #0 ldrne r0, [r6, #0x20] ldrne r4, [r0, #0xc0] cmpne r4, #0 addeq sp, sp, #0x28 ldmeqia sp!, {r4, r5, r6, pc} ldr r2, [r4, #4] add r0, sp, #0x10 add r2, r2, #0x100 ldrsh r3, [r2, #6] add r2, sp, #0x1c strh r3, [sp, #2] ldr r3, [r4, #4] add r3, r3, #0x100 ldrsh r3, [r3, #4] strh r3, [sp] ldr r5, [r4, #4] ldr r3, [r1] ldr lr, [r5, #0xf8] ldr ip, [r5, #0xfc] ldr r5, [r5, #0x100] str r3, [sp, #0x10] ldr r3, [r1, #4] str r3, [sp, #0x14] ldr r3, [r1, #8] add r1, sp, #4 str r3, [sp, #0x18] str lr, [sp, #4] str ip, [sp, #8] str r5, [sp, #0xc] bl func_01ff9bf8 ldr r0, [r6, #0x4d8] cmp r0, #0 beq _021376b4 sub r0, r0, #1 str r0, [r6, #0x4d8] add r0, r6, #0x400 ldrh r2, [r0, #0xdc] ldrsh r1, [r0, #0xde] add r1, r2, r1 strh r1, [r0, #0xdc] ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 ldr r2, _021377bc ; =data_027e0fac add r1, r6, #0x400 ldrsh r3, [r2] ldrh r2, [r1, #0xdc] ldr r1, _021377c0 ; =0x00002e39 add r2, r3, r2 sub r0, r0, r2 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 cmp r1, r0, asr #16 movlt r5, r1 blt _02137670 rsb r0, r1, #0 cmp r5, r0 movlt r5, r0 _02137670: strh r5, [sp] ldr r0, [r6, #0x4d8] cmp r0, #0 bne _0213773c add r0, r6, #0x400 ldrh r1, [r0, #0xdc] cmp r1, #0x4000 blo _02137698 cmp r1, #0xc000 bls _021376a8 _02137698: add r0, r6, #0x400 mov r1, #0 strh r1, [r0, #0xdc] b _0213773c _021376a8: mov r1, #0x8000 strh r1, [r0, #0xdc] b _0213773c _021376b4: ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 ldr r2, _021377bc ; =data_027e0fac add r1, r6, #0x400 ldrsh r2, [r2] ldrh r1, [r1, #0xdc] add r1, r2, r1 sub r0, r0, r1 mov r0, r0, lsl #0x10 movs r5, r0, asr #0x10 rsbmi r0, r5, #0 movpl r1, r5 movmi r0, r0, lsl #0x10 movmi r1, r0, asr #0x10 ldr r0, _021377c4 ; =0x0000438e cmp r1, r0 blt _02137720 mov r0, #8 str r0, [r6, #0x4d8] cmp r5, #0 mov r1, #0x1000 addgt r0, r6, #0x400 strgth r1, [r0, #0xde] rsble r1, r1, #0 addle r0, r6, #0x400 strleh r1, [r0, #0xde] _02137720: ldr r1, _021377c0 ; =0x00002e39 cmp r5, r1 movgt r5, r1 bgt _0213773c rsb r0, r1, #0 cmp r5, r0 movlt r5, r0 _0213773c: ldr r6, [sp, #0x20] mov r1, #0 add r0, sp, #0x1c str r1, [sp, #0x20] bl func_01ff9cec mov r1, r0 mov r0, r6 bl func_01ffa0f4 rsb r0, r0, #0 mov r0, r0, lsl #0x10 ldr r2, _021377c8 ; =0x00001c72 mov r1, r0, asr #0x10 cmp r2, r0, asr #16 movlt r1, r2 blt _02137788 mov r0, #0x2000 rsb r0, r0, #0 cmp r1, r0 movlt r1, r0 _02137788: ldr r2, _021377cc ; =0x0000071c add r0, sp, #2 bl func_0202b154 ldr r2, _021377d0 ; =0x00001111 add r0, sp, #0 mov r1, r5 bl func_0202b154 ldrsh r1, [sp, #2] ldrsh r2, [sp] mov r0, r4 bl func_ov15_0216ea14 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02137574 _021377bc: .word data_027e0fac _021377c0: .word 0x00002e39 _021377c4: .word 0x0000438e _021377c8: .word 0x00001c72 _021377cc: .word 0x0000071c _021377d0: .word 0x00001111 .global func_ov15_021377d4 arm_func_start func_ov15_021377d4 func_ov15_021377d4: ; 0x021377d4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 mov r1, #1 strb r1, [r4, #0x4f0] mov ip, #0 str ip, [r4, #0x4ec] mov r0, #6 str r0, [r4, #0x4e8] rsb r3, r1, #0x334 ldr r0, _0213790c ; =data_027e0fac ldr r2, _02137910 ; =0xfffff8cd ldrsh r1, [r0] add r0, sp, #0x18 str ip, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x20] bl func_ov00_020a61ac add r1, sp, #0x18 ldr r0, _02137914 ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 mov r1, #0x5c str r1, [sp] add r0, sp, #0x18 str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, _02137918 ; =data_027e0e58 add r1, r4, #0x16c ldr r0, [r0] mov r2, #0x5a mov r3, #0x5b bl func_ov00_0207c31c add r1, sp, #0x18 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02137918 ; =data_027e0e58 add r1, r4, #0x178 ldr r0, [r0] mov r2, #0x5d mov r3, #0x5e bl func_ov00_0207c2e8 ldr r1, _0213791c ; =0xfffff23d ldr r0, _02137920 ; =0x00000829 str r1, [sp, #0xc] ldr r1, _0213790c ; =data_027e0fac str r0, [sp, #0x10] mov r0, #0 str r0, [sp, #0x14] ldrsh r1, [r1] add r0, sp, #0xc bl func_ov00_020a61ac add r0, sp, #0xc mov r1, r0 bl func_01ff9d4c add r0, r4, #0x178 add r1, sp, #0xc bl func_ov00_020b7ea4 ldr r1, _02137924 ; =0x00000dc3 ldr r0, _02137920 ; =0x00000829 str r1, [sp, #0xc] ldr r1, _0213790c ; =data_027e0fac str r0, [sp, #0x10] mov r0, #0 str r0, [sp, #0x14] ldrsh r1, [r1] add r0, sp, #0xc bl func_ov00_020a61ac add r0, sp, #0xc mov r1, r0 bl func_01ff9d4c add r0, r4, #0x17c add r1, sp, #0xc bl func_ov00_020b7ea4 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021377d4 _0213790c: .word data_027e0fac _02137910: .word 0xfffff8cd _02137914: .word data_027e0f94 _02137918: .word data_027e0e58 _0213791c: .word 0xfffff23d _02137920: .word 0x00000829 _02137924: .word 0x00000dc3 .global func_ov15_02137928 arm_func_start func_ov15_02137928 func_ov15_02137928: ; 0x02137928 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x4e8] ldr r1, _02137ca0 ; =0x00000485 cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4e8] ldr r0, _02137ca4 ; =data_027e0ffc ldr r2, _02137ca8 ; =data_027e0f94 mov r3, #0 bl func_ov00_020cec08 ldr r0, [r4, #0x4ec] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02137b00 _02137968: ; jump table b _02137980 ; case 0 b _02137a00 ; case 1 b _02137b00 ; case 2 b _02137a00 ; case 3 b _02137a44 ; case 4 b _02137ad4 ; case 5 _02137980: ldr r1, [r4, #0x20] mov r0, #0 str r0, [r1, #0x8c] mov r0, #1 strb r0, [r1, #0x9c] ldr r2, [r4, #0x4e8] mov r0, #0xa0 mov r1, r2, lsl #0x1e mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mul r3, r2, r0 ldr r0, _02137cac ; =data_02050f54 mov r1, r1, lsl #0x2 ldrsh r2, [r0, r1] add r0, r4, #0x78 mov r1, #0xe1 smull ip, r2, r3, r2 adds r3, ip, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 strh r3, [r4, #0x94] mov r2, #0x29 bl Approach_thunk ldr r0, [r4, #0x4e8] cmp r0, #0 bne _02137b00 mov r0, #5 str r0, [r4, #0x4e8] mov r0, #1 str r0, [r4, #0x4ec] b _02137b00 _02137a00: ldr r2, [r4, #0x20] ldr r1, _02137cb0 ; =0x00000171 mov r0, #1 str r1, [r2, #0x8c] strb r0, [r2, #0x9c] add r0, r4, #0x94 mov r1, #0 mov r2, #0x100 bl func_0202b154 ldr r0, [r4, #0x4e8] cmp r0, #0 bne _02137b00 mov r0, #0x2d str r0, [r4, #0x4e8] mov r0, #4 str r0, [r4, #0x4ec] b _02137b00 _02137a44: ldr r1, [r4, #0x4e8] mov r0, #0x18 mul r2, r1, r0 ldr r3, [r4, #0x20] mov r1, #1 str r2, [r3, #0x8c] strb r1, [r3, #0x9c] ldr ip, [r4, #0x4e8] ldr r2, _02137cac ; =data_02050f54 mov r1, ip, lsl #0x1e mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 mul r3, ip, r0 ldrsh r1, [r2, r1] mov r0, r4 smull r2, r1, r3, r1 adds r2, r2, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 strh r2, [r4, #0x94] bl func_ov15_021368d0 mov r2, r0 add r0, r4, #0x78 mov r1, #0 bl Approach_thunk ldr r0, [r4, #0x4e8] cmp r0, #0 bne _02137b00 mov r0, #0 strh r0, [r4, #0x94] strh r0, [r4, #0x92] mov r0, #5 str r0, [r4, #0x4ec] b _02137b00 _02137ad4: ldr r2, [r4, #0x20] mov r1, #0 mov r0, r4 str r1, [r2, #0x8c] mov r1, #1 strb r1, [r2, #0x9c] bl func_ov15_021368d0 mov r2, r0 add r0, r4, #0x78 mov r1, #0 bl Approach_thunk _02137b00: ldr r0, _02137cb4 ; =data_027e0fac ldr r3, _02137cb8 ; =0x00000333 ldrsh r1, [r0] ldr r2, _02137cbc ; =0xfffff8cd mov ip, #0 add r0, sp, #0xc str ip, [sp, #0xc] str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_ov00_020a61ac add r1, sp, #0xc ldr r0, _02137ca8 ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 add r2, r4, #0x16c add r1, r4, #0x178 cmp r2, r1 beq _02137ba8 _02137b48: ldr r0, [r2] cmp r0, #0 beq _02137b9c ldr r3, [r0, #0x20] ldr ip, [sp, #0xc] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [sp, #0x10] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [sp, #0x14] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _02137b9c: add r2, r2, #4 cmp r2, r1 bne _02137b48 _02137ba8: add r2, r4, #0x178 add r1, r4, #0x180 cmp r2, r1 beq _02137c18 _02137bb8: ldr r0, [r2] cmp r0, #0 beq _02137c0c ldr r3, [r0, #0x20] ldr ip, [sp, #0xc] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [sp, #0x10] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [sp, #0x14] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _02137c0c: add r2, r2, #4 cmp r2, r1 bne _02137bb8 _02137c18: ldr r0, _02137cb4 ; =data_027e0fac ldr ip, _02137cc0 ; =0xfffff23d ldrsh r1, [r0] ldr r3, _02137cc4 ; =0x00000829 mov r2, #0 add r0, sp, #0 str ip, [sp] str r3, [sp, #4] str r2, [sp, #8] bl func_ov00_020a61ac add r0, sp, #0 mov r1, r0 bl func_01ff9d4c add r1, sp, #0 add r0, r4, #0x178 bl func_ov00_020b7ea4 ldr r0, _02137cb4 ; =data_027e0fac ldr ip, _02137cc8 ; =0x00000dc3 ldrsh r1, [r0] ldr r3, _02137cc4 ; =0x00000829 mov r2, #0 add r0, sp, #0 str ip, [sp] str r3, [sp, #4] str r2, [sp, #8] bl func_ov00_020a61ac add r0, sp, #0 mov r1, r0 bl func_01ff9d4c add r1, sp, #0 add r0, r4, #0x17c bl func_ov00_020b7ea4 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02137928 _02137ca0: .word 0x00000485 _02137ca4: .word data_027e0ffc _02137ca8: .word data_027e0f94 _02137cac: .word data_02050f54 _02137cb0: .word 0x00000171 _02137cb4: .word data_027e0fac _02137cb8: .word 0x00000333 _02137cbc: .word 0xfffff8cd _02137cc0: .word 0xfffff23d _02137cc4: .word 0x00000829 _02137cc8: .word 0x00000dc3 .global func_ov15_02137ccc arm_func_start func_ov15_02137ccc func_ov15_02137ccc: ; 0x02137ccc stmdb sp!, {r4, lr} mov r4, r0 ldrsh r1, [r4, #0xa] cmp r1, #0 bgt _02137cf8 ldrb r1, [r4, #0x26e] cmp r1, #0 beq _02137cf8 bl func_ov15_0213a570 cmp r0, #0 beq _02137d00 _02137cf8: mov r0, #0 ldmia sp!, {r4, pc} _02137d00: mov r0, r4 mov r1, #3 bl func_ov15_02136b34 mov r0, r4 bl func_ov15_02137550 mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov15_02137ccc .global func_ov15_02137d1c arm_func_start func_ov15_02137d1c func_ov15_02137d1c: ; 0x02137d1c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0xb0 ldr r1, _02137de8 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] mov r1, #2 blx func_ov03_020f3870 mov r2, #0 str r2, [r4, #0x34] ldr r0, _02137dec ; =data_ov00_020eec68 mov r1, #5 str r2, [r4, #0x38] bl func_ov00_020d716c add r6, r4, #0x16c add r5, r4, #0x178 cmp r6, r5 beq _02137d74 _02137d60: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02137d60 _02137d74: add r6, r4, #0x178 add r5, r4, #0x180 cmp r6, r5 beq _02137d98 _02137d84: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02137d84 _02137d98: mov r1, #0 str r1, [r4, #0x264] add r0, sp, #0 str r1, [r4, #0x268] bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _02137df0 ; =gAdventureFlags mvn r4, #0 mov r3, #1 ldr r0, [r0] add r1, sp, #0 str r4, [sp, #4] strb r3, [sp, #9] strb r2, [sp, #0xa] strb r2, [sp, #0xb] bl _ZN14AdventureFlags18func_Ov00_02097810Ei add r0, sp, #0 bl func_ov00_0209a508 add sp, sp, #0xb0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02137d1c _02137de8: .word data_027e0d38 _02137dec: .word data_ov00_020eec68 _02137df0: .word gAdventureFlags .global func_ov15_02137df4 arm_func_start func_ov15_02137df4 func_ov15_02137df4: ; 0x02137df4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x64 mov r4, r0 mov r2, #0 str r2, [r4, #0x88] ldr r1, _021382d0 ; =data_027e0fa0 str r2, [r4, #0x78] str r2, [r1] bl func_ov15_021368b4 ldr r1, _021382d0 ; =data_027e0fa0 mov r2, #0 ldr r3, [r1, #4] sub r0, r3, r0 str r0, [r1, #4] mov r0, r4 str r2, [r1, #8] bl func_ov15_02137138 ldr r1, [r4, #0x34] ldr r0, _021382d4 ; =0x00000183 cmp r1, r0 bge _02138264 cmp r1, #0x28 moveq r0, #1 streq r0, [r4, #0x38] beq _02137e74 cmp r1, #0x5a bne _02137e74 ldr r0, _021382d8 ; =data_ov00_020eec68 mov r1, #0x4b mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 _02137e74: ldr r0, [r4, #0x34] cmp r0, #0 bne _02137f18 ldr r0, _021382dc ; =data_027e0fac ldr r3, _021382e0 ; =0x00000333 ldrsh r1, [r0] ldr r2, _021382e4 ; =0xfffff8a4 mov ip, #0 add r0, sp, #0x58 str ip, [sp, #0x58] str r3, [sp, #0x5c] str r2, [sp, #0x60] bl func_ov00_020a61ac add r1, sp, #0x58 ldr r0, _021382e8 ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 mov r0, #0x52 str r0, [sp] mov r0, #0x53 str r0, [sp, #4] mov r0, #0x54 str r0, [sp, #8] mov r0, #0x55 str r0, [sp, #0xc] mov r1, #0x56 str r1, [sp, #0x10] add r0, sp, #0x58 str r0, [sp, #0x14] mov r1, #1 str r1, [sp, #0x18] ldr r0, _021382ec ; =data_027e0e58 add r1, r4, #0xc0 ldr r0, [r0] mov r2, #0x50 mov r3, #0x51 bl func_ov00_0207c3e8 ldr r0, [r4, #0x20] bl func_ov09_021150a8 add r0, r4, #0x110 bl func_ov09_0211d794 _02137f18: ldr r0, [r4, #0x34] cmp r0, #4 bne _02137f8c ldr r0, _021382dc ; =data_027e0fac mov ip, #0 ldrsh r1, [r0] mov r3, #0x800 mov r2, #0xf6 add r0, sp, #0x4c str ip, [sp, #0x4c] str r3, [sp, #0x50] str r2, [sp, #0x54] bl func_ov00_020a61ac add r1, sp, #0x4c ldr r0, _021382e8 ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 mov r1, #0x53 str r1, [sp] add r0, sp, #0x4c str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, _021382ec ; =data_027e0e58 add r1, r4, #0xdc ldr r0, [r0] mov r2, #0x50 mov r3, #0x51 bl func_ov00_0207c31c _02137f8c: ldr r0, [r4, #0x34] cmp r0, #8 bne _02138000 ldr r0, _021382dc ; =data_027e0fac ldr r3, _021382e0 ; =0x00000333 ldrsh r1, [r0] ldr r2, _021382f0 ; =0x0000019a mov ip, #0 add r0, sp, #0x40 str ip, [sp, #0x40] str r3, [sp, #0x44] str r2, [sp, #0x48] bl func_ov00_020a61ac add r1, sp, #0x40 ldr r0, _021382e8 ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 mov r1, #0x53 str r1, [sp] add r0, sp, #0x40 str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, _021382ec ; =data_027e0e58 add r1, r4, #0xe8 ldr r0, [r0] mov r2, #0x50 mov r3, #0x51 bl func_ov00_0207c31c _02138000: ldr r0, [r4, #0x34] cmp r0, #0xe bne _02138084 ldr r0, _021382dc ; =data_027e0fac ldr r3, _021382e0 ; =0x00000333 ldrsh r1, [r0] rsb r2, r3, #0x52 mov ip, #0 add r0, sp, #0x34 str ip, [sp, #0x34] str r3, [sp, #0x38] str r2, [sp, #0x3c] bl func_ov00_020a61ac add r1, sp, #0x34 ldr r0, _021382e8 ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 mov r0, #0x4d str r0, [sp] mov r0, #0x4e str r0, [sp, #4] mov r1, #0x4f str r1, [sp, #8] add r0, sp, #0x34 str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] ldr r0, _021382ec ; =data_027e0e58 add r1, r4, #0xf4 ldr r0, [r0] mov r2, #0x4b mov r3, #0x4c bl func_ov00_0207c39c _02138084: ldr r0, [r4, #0x34] cmp r0, #0x14 bne _021380f4 mov r1, #1 str r1, [sp] ldr r0, _021382ec ; =data_027e0e58 ldr r3, _021382e8 ; =data_027e0f94 ldr r0, [r0] add r1, r4, #0x108 mov r2, #0xcf bl func_ov00_0207c1f8 ldr r1, [r4, #0xb0] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #8 strne r0, [r1, #0x24] ldr r1, [r4, #0xb4] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #8 strne r0, [r1, #0x24] ldr r1, [r4, #0xb8] cmp r1, #0 beq _02138150 ldr r0, [r1, #0x24] orr r0, r0, #8 str r0, [r1, #0x24] b _02138150 _021380f4: ble _02138150 ldr r0, [r4, #0x108] cmp r0, #0 beq _02138150 ldr r2, [r0, #0x20] ldr r1, _021382e8 ; =data_027e0f94 ldr r2, [r2] ldr r3, [r1] ldr r2, [r2, #4] add r2, r3, r2 str r2, [r0, #0x28] ldr r2, [r0, #0x20] ldr r3, [r1, #4] ldr r2, [r2] ldr r2, [r2, #8] add r2, r3, r2 str r2, [r0, #0x2c] ldr r2, [r0, #0x20] ldr r3, [r1, #8] ldr r1, [r2] ldr r1, [r1, #0xc] add r1, r3, r1 str r1, [r0, #0x30] _02138150: ldr r0, [r4, #0x34] cmp r0, #0x28 blt _02138224 ldr r3, _021382e8 ; =data_027e0f94 ldr r0, _021382f4 ; =data_027e0e60 ldr r2, [r3] ldr r1, [r3, #4] str r2, [sp, #0x1c] str r1, [sp, #0x20] ldr r1, [r3, #8] ldr r0, [r0] str r1, [sp, #0x24] add r1, sp, #0x1c mov r2, #0 ldr r5, [r3, #8] bl func_ov00_02083ee0 ldr r1, _021382e8 ; =data_027e0f94 str r5, [sp, #0x30] ldr r2, [r1] str r0, [sp, #0x2c] str r2, [sp, #0x28] ldr r0, [r4, #0x34] cmp r0, #0x28 bne _021381d4 mov r1, #1 str r1, [sp] ldr r0, _021382ec ; =data_027e0e58 add r3, sp, #0x28 ldr r0, [r0] add r1, r4, #0x10c mov r2, #0x5f bl func_ov00_0207c1f8 b _02138224 _021381d4: ldr r0, [r4, #0x10c] cmp r0, #0 beq _02138224 ldr r1, [r0, #0x20] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x2c] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x30] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _02138224: ldr r0, [r4, #0x34] add r0, r0, #1 str r0, [r4, #0x34] cmp r0, #0x5a blt _02138268 ldr r0, _021382f8 ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl17IsNotUntouchedNowEv cmp r0, #0 beq _02138268 ldr r0, _021382fc ; =data_ov00_020eec9c mov r1, #0x1a4 mov r2, #0 bl func_ov00_020d7f68 blx func_ov03_020f9f08 b _02138268 _02138264: blx func_ov03_020f9f08 _02138268: ldr r1, [r4, #0x34] cmp r1, #0x28 bge _02138288 mov r0, #0 str r0, [r4, #0xa0] add sp, sp, #0x64 strh r0, [r4, #0x92] ldmia sp!, {r4, r5, pc} _02138288: ldr r0, _02138300 ; =0xfffffa66 sub r1, r1, #0x28 mul r3, r1, r0 ldr r2, _02138304 ; =0x5e6ea9af mov r0, r3, lsr #0x1f smull r1, r3, r2, r3 add r3, r0, r3, asr #7 str r3, [r4, #0xa0] ldr r1, [r4, #0x34] ldr r0, _02138308 ; =0x00002aab sub r1, r1, #0x28 mul r3, r1, r0 smull r0, r1, r2, r3 mov r0, r3, lsr #0x1f add r1, r0, r1, asr #7 strh r1, [r4, #0x92] add sp, sp, #0x64 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02137df4 _021382d0: .word data_027e0fa0 _021382d4: .word 0x00000183 _021382d8: .word data_ov00_020eec68 _021382dc: .word data_027e0fac _021382e0: .word 0x00000333 _021382e4: .word 0xfffff8a4 _021382e8: .word data_027e0f94 _021382ec: .word data_027e0e58 _021382f0: .word 0x0000019a _021382f4: .word data_027e0e60 _021382f8: .word data_027e0fb8 _021382fc: .word data_ov00_020eec9c _02138300: .word 0xfffffa66 _02138304: .word 0x5e6ea9af _02138308: .word 0x00002aab .global func_ov15_0213830c arm_func_start func_ov15_0213830c func_ov15_0213830c: ; 0x0213830c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _021383a4 ; =data_027e0fac mvn r3, #0 ldrh r1, [r1] mov r2, #0 ldr r4, _021383a8 ; =data_02050f54 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 ldrsh r5, [r4, r5] mov ip, r1, lsl #0x1 sub r1, r3, #0x97 umull r7, r6, r5, r1 ldrsh ip, [r4, ip] sub r2, r2, #0x98 mla r6, r5, r3, r6 umull r4, lr, ip, r2 mov r5, r5, asr #0x1f adds r7, r7, #0x800 mla r6, r5, r1, r6 adc r1, r6, #0 mov r5, r7, lsr #0xc orr r5, r5, r1, lsl #20 adds r4, r4, #0x800 mla lr, ip, r3, lr mov r1, ip, asr #0x1f mla lr, r1, r2, lr ldr r3, _021383ac ; =0x00000429 str r5, [r0, #0x64] adc r1, lr, #0 mov r2, r4, lsr #0xc str r3, [r0, #0x68] orr r2, r2, r1, lsl #20 ldr r1, _021383b0 ; =0x000005c3 str r2, [r0, #0x6c] str r1, [r0, #0x70] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0213830c _021383a4: .word data_027e0fac _021383a8: .word data_02050f54 _021383ac: .word 0x00000429 _021383b0: .word 0x000005c3 .global func_ov15_021383b4 arm_func_start func_ov15_021383b4 func_ov15_021383b4: ; 0x021383b4 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x4d0] cmp r1, #1 ldmeqia sp!, {r4, pc} cmp r1, #2 bne _021383e4 mov r1, #0 ldr r0, _02138404 ; =data_027e0fb0 strh r1, [r4, #0x90] strh r1, [r0] ldmia sp!, {r4, pc} _021383e4: bl func_ov15_0213830c mov r0, r4 bl func_ov15_02138478 mov r0, r4 bl func_ov15_02138bc8 mov r0, r4 bl func_ov15_02138fcc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021383b4 _02138404: .word data_027e0fb0 .global func_ov15_02138408 arm_func_start func_ov15_02138408 func_ov15_02138408: ; 0x02138408 stmdb sp!, {r4, lr} ldrb r0, [r0, #0x27c] mov r4, r1 cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _0213846c ; =data_027e0e60 mov r2, #0 ldr r0, [r0] bl func_ov00_02083ee0 ldr r3, [r4, #4] ldr r1, _02138470 ; =0xfffffccd add r2, r3, r1 cmp r2, r0 movge r0, #0 ldmgeia sp!, {r4, pc} add r1, r3, #0x99 add r1, r1, #0x900 cmp r1, r0 movle r0, #0x1000 ldmleia sp!, {r4, pc} ldr r1, _02138474 ; =0x00000ccc sub r0, r0, r2 bl Divide ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02138408 _0213846c: .word data_027e0e60 _02138470: .word 0xfffffccd _02138474: .word 0x00000ccc .global func_ov15_02138478 arm_func_start func_ov15_02138478 func_ov15_02138478: ; 0x02138478 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x78 ldr r2, _02138ba0 ; =data_027e10a4 ldr r4, _02138ba4 ; =data_027e0fa0 ldr r3, _02138ba8 ; =data_ov15_0218aa28 ldr r2, [r2] str r4, [r3, #0x28] ldr r1, _02138bac ; =data_027e0fb0 ldrh r3, [r2, #0x90] ldrh r2, [r1] ldr r5, _02138bb0 ; =data_02050f54 mov r1, r3, asr #0x4 mov r2, r2, asr #0x4 mov r7, r2, lsl #0x1 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 add r1, r1, #1 ldrsh r4, [r5, r2] add r6, r7, #1 mov r2, r6, lsl #0x1 mov r3, #0 rsb r6, r4, #0 ldrsh r2, [r5, r2] mov r4, r7, lsl #0x1 ldrsh r7, [r5, r4] mov r1, r1, lsl #0x1 ldrsh r5, [r5, r1] rsb r4, r6, #0 ldr r1, _02138bb4 ; =data_027e0fac mov r9, r0 ldrsh r0, [r1] add r1, sp, #0x54 str r3, [sp, #0x6c] str r2, [sp, #0x70] str r7, [sp, #0x74] str r6, [sp, #0x60] str r5, [sp, #0x64] str r3, [sp, #0x68] str r3, [sp, #0x54] str r7, [sp, #0x58] str r2, [sp, #0x5c] str r5, [sp, #0x48] str r4, [sp, #0x4c] str r3, [sp, #0x50] bl func_0202af4c ldr r0, _02138bb4 ; =data_027e0fac add r1, sp, #0x48 ldrsh r0, [r0] bl func_0202af4c ldr r0, _02138bb8 ; =data_027e0f94 add r2, sp, #0x3c ldr r3, [r0] ldr r1, [r0, #4] str r3, [sp, #0x3c] str r1, [sp, #0x40] ldr r0, [r0, #8] add r1, sp, #0x54 str r0, [sp, #0x44] mov r3, r2 mov r0, #0x800 bl func_01ff9e64 mov r0, r9 add r1, sp, #0x3c bl func_ov15_02138408 ldr r1, _02138bb8 ; =data_027e0f94 mov r8, r0 ldr r3, [r1] ldr r2, [r1, #4] mov r0, #0x800 str r2, [sp, #0x34] str r3, [sp, #0x30] ldr r1, [r1, #8] add r2, sp, #0x30 str r1, [sp, #0x38] rsb r0, r0, #0 add r1, sp, #0x54 mov r3, r2 bl func_01ff9e64 mov r0, r9 add r1, sp, #0x30 bl func_ov15_02138408 mov r4, r0 ldr r0, _02138bb8 ; =data_027e0f94 add r2, sp, #0x24 ldr r3, [r0] ldr r1, [r0, #4] str r3, [sp, #0x24] str r1, [sp, #0x28] ldr r5, [r0, #8] add r1, sp, #0x48 mov r3, r2 mov r0, #0x400 str r5, [sp, #0x2c] bl func_01ff9e64 add r1, sp, #0x24 mov r0, r9 bl func_ov15_02138408 ldr r1, _02138bb8 ; =data_027e0f94 mov r7, r0 ldr r3, [r1] mov r0, #0x400 str r3, [sp, #0x18] ldr r3, [r1, #4] add r2, sp, #0x18 str r3, [sp, #0x1c] ldr r1, [r1, #8] rsb r0, r0, #0 str r1, [sp, #0x20] add r1, sp, #0x48 mov r3, r2 bl func_01ff9e64 mov r0, r9 add r1, sp, #0x18 bl func_ov15_02138408 mov r5, r0 ldrb r0, [r9, #0x27c] cmp r0, #0 bne _021386b0 ldr r1, _02138bb8 ; =data_027e0f94 ldr r0, _02138bbc ; =data_027e0e60 ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #4] str r3, [sp] ldr r3, [r1, #8] ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 ldr r1, _02138bb8 ; =data_027e0f94 ldr r1, [r1, #4] cmp r1, r0 movlt r0, #1 movge r0, #0 cmp r0, #0 beq _021386b0 ldr r0, _02138ba4 ; =data_027e0fa0 mvn r1, #0x5f ldr r2, [r0, #4] cmp r2, r1 strlt r1, [r0, #4] _021386b0: mov r0, r9 bl func_ov15_021366b0 add r8, r8, r0 mov r0, r9 bl func_ov15_021366c4 add r4, r4, r0 mov r0, #0 add r1, r8, r4 add r1, r5, r1 add r2, r7, r1 mov r1, r2, asr #0x1f mov r3, r1, lsl #0x4 mov r1, #0x800 adds r6, r1, r2, lsl #4 orr r3, r3, r2, lsr #28 adc r2, r3, #0 mov r3, r6, lsr #0xc orr r3, r3, r2, lsl #20 str r0, [sp, #0xc] str r3, [sp, #0x10] str r0, [sp, #0x14] cmp r8, r4 ble _02138730 ldr r2, [sp, #0x70] sub r3, r8, r4 smull r6, r2, r3, r2 adds r3, r6, r1 adc r1, r2, r0 mov r0, r3, lsr #0xc orr r0, r0, r1, lsl #20 mov r11, r0 b _02138750 _02138730: ldr r2, [sp, #0x70] sub r3, r4, r8 smull r6, r2, r3, r2 adds r3, r6, r1 adc r1, r2, r0 mov r0, r3, lsr #0xc orr r0, r0, r1, lsl #20 rsb r11, r0, #0 _02138750: cmp r7, r5 ble _0213877c ldr r1, [sp, #0x64] sub r2, r7, r5 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r10, r2, lsr #0xc orr r10, r10, r1, lsl #20 mov r6, r10 b _0213879c _0213877c: ldr r1, [sp, #0x64] sub r2, r5, r7 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r10, r2, lsr #0xc orr r10, r10, r1, lsl #20 rsb r6, r10, #0 _0213879c: mov r1, r0, asr #0x1f mov r3, r1, lsl #0x4 mov r1, #0x800 adds r1, r1, r0, lsl #4 orr r3, r3, r0, lsr #28 mov ip, r1, lsr #0xc adc r0, r3, #0 add r2, sp, #0xc orr ip, ip, r0, lsl #20 add r1, sp, #0x6c mov r3, r2 rsb r0, ip, #0 bl func_01ff9e64 mov r0, r10, asr #0x1f mov r1, r0, lsl #0x4 mov r0, #0x800 orr r1, r1, r10, lsr #28 adds r2, r0, r10, lsl #4 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 add r2, sp, #0xc rsb r0, r1, #0 add r1, sp, #0x60 mov r3, r2 bl func_01ff9e64 ldr ip, _02138ba4 ; =data_027e0fa0 ldr r0, [sp, #0x10] ldr r1, [ip, #4] mov r3, #0 add r0, r1, r0 str r0, [ip, #4] str r3, [ip] str r3, [ip, #8] ldrb r0, [r9, #0x26e] cmp r0, #0 beq _02138894 ldr r0, _02138bb4 ; =data_027e0fac ldr r10, _02138bb0 ; =data_02050f54 ldrh r0, [r0] ldr r2, [r9, #0x78] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r1, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r1, [r10, r1] ldrsh lr, [r10, r0] smull r10, r0, r1, r2 adds r1, r10, #0x800 smull r10, r2, lr, r2 adc r0, r0, r3 adds r10, r10, #0x800 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r3, r1 adc r1, r2, r3 mov r2, r10, lsr #0xc orr r2, r2, r1, lsl #20 str r0, [ip] add r0, r3, r2 str r0, [ip, #8] _02138894: ldr r1, _02138ba8 ; =data_ov15_0218aa28 mov r0, #0x800 ldr r3, [r1, #0x20] mov r1, #0x1000 mov r2, r3, asr #0x1f mov r2, r2, lsl #0x6 adds r10, r0, r3, lsl #6 orr r2, r2, r3, lsr #26 adc r0, r2, #0 mov r2, r10, lsr #0xc orr r2, r2, r0, lsl #20 smull r2, r0, r11, r2 adds r3, r2, #0x800 adc r2, r0, #0 mov r0, r3, lsr #0xc orr r0, r0, r2, lsl #20 bl Divide ldr r2, _02138ba8 ; =data_ov15_0218aa28 ldrsh r10, [r9, #0x96] ldr r3, [r2, #0x24] mov r1, #0x800 mov r2, r3, asr #0x1f mov r2, r2, lsl #0x6 add r0, r10, r0 orr r2, r2, r3, lsr #26 adds r3, r1, r3, lsl #6 strh r0, [r9, #0x96] adc r0, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r0, lsl #20 smull r2, r0, r6, r2 adds r3, r2, #0x800 adc r2, r0, #0 mov r0, r3, lsr #0xc orr r0, r0, r2, lsl #20 bl Divide ldrsh r3, [r9, #0x98] ldr r1, _02138bac ; =data_027e0fb0 ldr r2, _02138bc0 ; =0xffffc71c add r0, r3, r0 strh r0, [r9, #0x98] ldrsh r3, [r1] ldrsh r0, [r9, #0x96] add r0, r3, r0, lsl #1 strh r0, [r1] ldrsh r3, [r9, #0x90] ldrsh r0, [r9, #0x98] add r0, r3, r0 strh r0, [r9, #0x90] ldrsh r3, [r1] cmp r3, r2 strlth r2, [r1] blt _02138974 rsb r0, r2, #0 cmp r3, r0 strgth r0, [r1] _02138974: ldrsh r2, [r9, #0x90] ldr r1, _02138bc0 ; =0xffffc71c cmp r2, r1 strlth r1, [r9, #0x90] blt _02138994 rsb r0, r1, #0 cmp r2, r0 strgth r0, [r9, #0x90] _02138994: cmp r8, r4 movgt r0, r8 movle r0, r4 cmp r7, r5 movgt r2, r7 movle r2, r5 cmp r7, r5 movge r7, r5 cmp r8, r4 movge r8, r4 cmp r8, r7 movge r8, r7 cmp r0, r2 movgt r1, r0 movle r1, r2 cmp r0, #0x800 ldr r3, _02138bc4 ; =0x000004cd movge r0, #0x800 mov r4, #0 umull r6, r5, r0, r3 mla r5, r0, r4, r5 mov r0, r0, asr #0x1f add r1, r8, r1 add r1, r1, r1, lsr #31 mla r5, r0, r3, r5 adds r4, r6, #0x800 adc r0, r5, #0 mov r3, r4, lsr #0xc orr r3, r3, r0, lsl #20 ldrsh r0, [r9, #0x96] add r3, r3, #0xcd add r6, r3, #0x400 mov r1, r1, asr #0x1 cmp r0, #0 mov r3, r6, asr #0x1f blt _02138a50 rsbs r4, r6, #0 rsc r3, r3, #0 umull r6, r5, r0, r4 mla r5, r0, r3, r5 mov r3, r0, asr #0x1f mla r5, r3, r4, r5 mov r3, r6, lsr #0xc orr r3, r3, r5, lsl #20 mov r3, r3, lsl #0x10 add r0, r0, r3, asr #16 b _02138a70 _02138a50: umull r5, r4, r0, r6 mla r4, r0, r3, r4 mov r3, r0, asr #0x1f mla r4, r3, r6, r4 mov r3, r5, lsr #0xc orr r3, r3, r4, lsl #20 mov r3, r3, lsl #0x10 sub r0, r0, r3, asr #16 _02138a70: strh r0, [r9, #0x96] cmp r2, #0x800 ldr r0, _02138bc4 ; =0x000004cd movge r2, #0x800 mov r3, #0 umull r5, r4, r2, r0 mla r4, r2, r3, r4 mov r2, r2, asr #0x1f mla r4, r2, r0, r4 adds r3, r5, #0x800 adc r0, r4, #0 mov r2, r3, lsr #0xc orr r2, r2, r0, lsl #20 ldrsh r0, [r9, #0x98] add r2, r2, #0xcd add r5, r2, #0x400 cmp r0, #0 mov r2, r5, asr #0x1f blt _02138ae8 rsbs r3, r5, #0 rsc r2, r2, #0 umull r5, r4, r0, r3 mla r4, r0, r2, r4 mov r2, r0, asr #0x1f mla r4, r2, r3, r4 mov r2, r5, lsr #0xc orr r2, r2, r4, lsl #20 mov r2, r2, lsl #0x10 add r0, r0, r2, asr #16 b _02138b08 _02138ae8: umull r4, r3, r0, r5 mla r3, r0, r2, r3 mov r2, r0, asr #0x1f mla r3, r2, r5, r3 mov r2, r4, lsr #0xc orr r2, r2, r3, lsl #20 mov r2, r2, lsl #0x10 sub r0, r0, r2, asr #16 _02138b08: strh r0, [r9, #0x98] mov r0, #0x214 umull r4, r3, r1, r0 mov r2, #0 mla r3, r1, r2, r3 mov r2, r1, asr #0x1f ldr r1, _02138ba4 ; =data_027e0fa0 adds r4, r4, #0x800 mla r3, r2, r0, r3 adc r0, r3, #0 mov r4, r4, lsr #0xc ldr r5, [r1, #4] orr r4, r4, r0, lsl #20 cmp r5, #0 mov r0, r4, asr #0x1f blt _02138b78 rsbs r2, r4, #0 rsc r0, r0, #0 umull r4, r3, r5, r2 mla r3, r5, r0, r3 mov r0, r5, asr #0x1f mla r3, r0, r2, r3 mov r0, r4, lsr #0xc orr r0, r0, r3, lsl #20 add r0, r5, r0 str r0, [r1, #4] add sp, sp, #0x78 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02138b78: umull r3, r2, r5, r4 mla r2, r5, r0, r2 mov r0, r5, asr #0x1f mla r2, r0, r4, r2 mov r0, r3, lsr #0xc orr r0, r0, r2, lsl #20 sub r0, r5, r0 str r0, [r1, #4] add sp, sp, #0x78 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02138478 _02138ba0: .word data_027e10a4 _02138ba4: .word data_027e0fa0 _02138ba8: .word data_ov15_0218aa28 _02138bac: .word data_027e0fb0 _02138bb0: .word data_02050f54 _02138bb4: .word data_027e0fac _02138bb8: .word data_027e0f94 _02138bbc: .word data_027e0e60 _02138bc0: .word 0xffffc71c _02138bc4: .word 0x000004cd .global func_ov15_02138bc8 arm_func_start func_ov15_02138bc8 func_ov15_02138bc8: ; 0x02138bc8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0xe8 mov r4, r0 ldr r1, [r4, #0x2c] sub r0, r1, #5 cmp r0, #1 bhi _02138c30 cmp r1, #5 ldreq r0, [r4, #0x324] cmpeq r0, #6 bne _02138c18 ldr r1, [r4, #0x14] ldr r0, _02138f9c ; =data_027e0f94 add sp, sp, #0xe8 str r1, [r0] ldr r1, [r4, #0x18] str r1, [r0, #4] ldr r1, [r4, #0x1c] str r1, [r0, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02138c18: ldr r0, _02138f9c ; =data_027e0f94 ldr r1, _02138fa0 ; =data_027e0fa0 mov r2, r0 bl func_01ff9bc4 add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02138c30: ldr r0, _02138f9c ; =data_027e0f94 add r3, sp, #0x7c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r4 ldr r2, [r0] add r1, sp, #0x6c ldr r2, [r2, #0x14] blx r2 ldr r0, _02138fa0 ; =data_027e0fa0 add r1, sp, #0x6c add r2, sp, #0x60 bl func_01ff9bc4 ldr r0, _02138fa4 ; =data_027e0ff8 mvn r1, #0 str r1, [sp, #0x24] mov r3, #0 ldr r0, [r0] add r1, sp, #0x20 add r2, sp, #0x54 str r3, [sp, #0x20] bl func_ov05_0210826c add r0, sp, #0x60 add r1, sp, #0x54 mov r2, r0 bl func_01ff9bc4 mov r0, #0 ldr r1, _02138fa8 ; =0x0000ffff strh r0, [sp, #0xb4] strb r0, [sp, #0xd6] strb r0, [sp, #0xd7] strb r0, [sp, #0xd8] strb r0, [sp, #0xd9] strb r0, [sp, #0xe0] strb r0, [sp, #0xe1] strb r0, [sp, #0xe2] strb r0, [sp, #0xe3] strb r0, [sp, #0xe4] strb r0, [sp, #0xe5] ldr r0, _02138fac ; =data_ov15_0218eec0 strh r1, [sp, #0xac] strh r1, [sp, #0xae] strh r1, [sp, #0xb0] strh r1, [sp, #0xb2] bl func_ov00_020b157c ldr r1, [sp, #0x60] ldr r0, [sp, #0x64] str r1, [sp, #0x3c] ldr r1, [sp, #0x68] str r0, [sp, #0x40] str r1, [sp, #0x44] ldr r0, [sp, #0x78] mov r2, #0 str r0, [sp] str r2, [sp, #4] mov r0, #0xcd str r0, [sp, #8] ldr r1, _02138fac ; =data_ov15_0218eec0 ldr r0, _02138fb0 ; =data_027e0e60 str r1, [sp, #0xc] str r2, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x88 add r2, sp, #0x3c add r3, sp, #0x6c bl func_01ffbf5c cmp r0, #0 beq _02138ed0 ldrb r0, [sp, #0xe0] cmp r0, #0 ldreqb r0, [sp, #0xe2] cmpeq r0, #0 beq _02138eb8 add r0, sp, #0x94 add r1, sp, #0x48 bl func_01ff9d4c ldr r0, [sp, #0x48] ldr r1, [sp, #0x50] bl func_01ffa0f4 ldr r2, _02138fb4 ; =data_027e0fac mov r1, r0, lsl #0x10 ldrsh r3, [r2] ldr r2, _02138fb8 ; =data_02050f54 ldr r0, [r4, #0x78] rsb r1, r3, r1, asr #16 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 mov r1, r1, lsl #0x1 ldrsh r3, [r2, r1] mov r1, r5, lsl #0x1 ldrsh r2, [r2, r1] rsb r1, r3, #0 smull r3, r1, r0, r1 adds r5, r3, #0x800 adc r1, r1, #0 mov r5, r5, lsr #0xc orr r5, r5, r1, lsl #20 mov r1, r5, asr #0x1f mov r6, r1, lsl #0xc mov r1, #0x800 adds r7, r1, r5, lsl #12 orr r6, r6, r5, lsr #20 ldr r3, [r4, #0x80] adc r6, r6, #0 smull r5, r2, r3, r2 adds r3, r5, #0x800 mov r7, r7, lsr #0xc adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 mov r2, r3, asr #0x1f mov r2, r2, lsl #0xc adds r5, r1, r3, lsl #12 orr r2, r2, r3, lsr #20 adc r1, r2, #0 orr r7, r7, r6, lsl #20 mov r2, r5, lsr #0xc cmp r7, #0 orr r2, r2, r1, lsl #20 subgt r0, r0, r7 strgt r0, [r4, #0x78] cmp r2, #0 ldrgt r0, [r4, #0x80] ldr r1, _02138fa0 ; =data_027e0fa0 subgt r0, r0, r2 strgt r0, [r4, #0x80] add r0, sp, #0x48 bl func_01ff9c2c mvn r1, #0xcc cmp r0, r1 bge _02138eb8 ldrb r0, [sp, #0xe3] mov r2, #0 cmp r0, #0 beq _02138e84 ldr r0, _02138fbc ; =data_027e0f6c ldrh r1, [sp, #0xb2] ldr r0, [r0] ldr r0, [r0, #0x40] ldr r0, [r0, r1, lsl #2] cmp r0, #0 beq _02138e84 ldr r0, [r0, #0xc] and r0, r0, #0x1f cmp r0, #2 moveq r2, #1 _02138e84: cmp r2, #0 beq _02138e9c ldr r0, _02138fc0 ; =data_027e0fb8 ldr r0, [r0] blx _ZN13PlayerControl9UpdateAimEv b _02138eb8 _02138e9c: mov r0, r4 ldr r5, [r0] add r2, sp, #0x88 ldr r5, [r5, #0x30] mov r1, #4 mov r3, #0xb blx r5 _02138eb8: ldr r2, [sp, #0x88] ldr r1, [sp, #0x8c] ldr r0, [sp, #0x90] str r2, [sp, #0x60] str r1, [sp, #0x64] str r0, [sp, #0x68] _02138ed0: ldr r3, [sp, #0x60] ldr r2, _02138f9c ; =data_027e0f94 ldr r5, [sp, #0x64] ldr r6, [sp, #0x68] str r3, [r2] stmib r2, {r5, r6} ldr r1, [r4, #0x64] mvn r0, #0 sub r1, r3, r1 str r1, [r2] ldr r3, [r4, #0x68] mov r1, #0 sub r3, r5, r3 str r3, [r2, #4] ldr r3, [r4, #0x6c] add r5, sp, #0x28 sub r3, r6, r3 str r3, [r2, #8] str r0, [sp, #0x18] str r1, [sp, #0x14] ldr r1, [r4, #0x64] mov lr, #2 str r1, [sp, #0x28] ldr r1, [r4, #0x68] ldr ip, _02138fa4 ; =data_027e0ff8 str r1, [sp, #0x2c] ldr r3, [r4, #0x6c] add r1, sp, #0x14 str r3, [sp, #0x30] ldr r7, [r4, #0x70] add r3, sp, #0x7c mov r6, r7, lsl #0x1 str r7, [sp, #0x34] str r6, [sp, #0x38] stmia sp, {r5, lr} str r0, [sp, #8] ldr r0, [ip] bl func_ov05_021082e4 ldr r1, _02138fc4 ; =data_ov15_0218eeb4 ldrsh r3, [r1, #0x10] cmp r3, #0 addeq sp, sp, #0xe8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r4 ldr r4, [r0] ldrb r1, [r1, #0x12] ldr r4, [r4, #0x30] ldr r2, _02138fc8 ; =data_027e0d0c blx r4 add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02138bc8 _02138f9c: .word data_027e0f94 _02138fa0: .word data_027e0fa0 _02138fa4: .word data_027e0ff8 _02138fa8: .word 0x0000ffff _02138fac: .word data_ov15_0218eec0 _02138fb0: .word data_027e0e60 _02138fb4: .word data_027e0fac _02138fb8: .word data_02050f54 _02138fbc: .word data_027e0f6c _02138fc0: .word data_027e0fb8 _02138fc4: .word data_ov15_0218eeb4 _02138fc8: .word data_027e0d0c .global func_ov15_02138fcc arm_func_start func_ov15_02138fcc func_ov15_02138fcc: ; 0x02138fcc stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 ldr r1, [r4, #0x2c] cmp r1, #3 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} bl func_ov15_0213a538 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x2c] sub r0, r0, #5 cmp r0, #1 addls sp, sp, #0x20 ldmlsia sp!, {r4, pc} ldr r1, _02139154 ; =data_ov15_0218eec0 add r0, sp, #4 bl func_ov15_02139164 ldr r0, [sp, #4] mov r0, r0, lsr #0x10 tst r0, #0x3f bne _02139034 ldrb r0, [r4, #0x25d] cmp r0, #1 bne _02139050 _02139034: ldr r0, _02139158 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] ldrb r0, [r0, #0x34] cmp r0, #0 moveq r0, #1 beq _02139054 _02139050: mov r0, #0 _02139054: cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} mov r3, #0 mov ip, #0x47 mov r1, #0xff sub r2, r3, #2 strb r1, [sp, #0x1a] mov r0, r4 str ip, [sp, #8] str r3, [sp, #0xc] str r3, [sp, #0x10] strh r3, [sp, #0x18] strb r3, [sp, #0x1b] strb r3, [sp, #0x1c] strb r3, [sp, #0x1d] str r2, [sp, #0x14] ldr r2, [r0] mov r1, #3 ldr r2, [r2, #0x18] blx r2 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0x25d] cmp r0, #1 bne _02139100 ldr r0, _02139158 ; =data_027e0d38 add r1, r4, #0x228 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 ldrb r0, [r4, #0x25c] cmp r0, #1 bne _021390f4 ldr r2, [r4, #0x258] ldr r1, [r4, #0x254] ldr r0, _0213915c ; =data_027e0e2c str r1, [r0, #0x20] str r2, [r0, #0x24] _021390f4: mov r0, #0 strb r0, [r4, #0x25d] b _02139144 _02139100: ldr r1, _02139154 ; =data_ov15_0218eec0 add r0, sp, #0 bl func_ov15_02139164 ldr r1, [sp] ldr r0, _02139160 ; =data_027e0e60 mov r1, r1, lsr #0x10 ldr r0, [r0] and r1, r1, #0x3f add r2, sp, #8 bl func_ov00_020838e8 cmp r0, #0 beq _02139144 ldr r0, _02139158 ; =data_027e0d38 add r1, sp, #8 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 _02139144: mov r0, #0 strb r0, [r4, #0x25c] add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02138fcc _02139154: .word data_ov15_0218eec0 _02139158: .word data_027e0d38 _0213915c: .word data_027e0e2c _02139160: .word data_027e0e60 .global func_ov15_02139164 arm_func_start func_ov15_02139164 func_ov15_02139164: ; 0x02139164 ldr r1, [r1, #0x14] str r1, [r0] bx lr arm_func_end func_ov15_02139164 .global func_ov15_02139170 arm_func_start func_ov15_02139170 func_ov15_02139170: ; 0x02139170 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x48 ldr r4, _021394e8 ; =data_027e0d38 mov r6, r1 ldr r4, [r4] mov r7, r0 ldr r1, [r4, #0x28] mov r5, r2 ldrb r1, [r1, #0x34] mov r4, r3 cmp r1, #0 addne sp, sp, #0x48 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrsh r1, [r7, #8] cmp r1, #0 addgt sp, sp, #0x48 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} ldrsh r1, [r7, #0xa] cmp r1, #0 ble _021391e0 ldrb r1, [r7, #0x26e] cmp r1, #0 beq _021391e0 bl func_ov15_0213a570 cmp r0, #0 beq _021391ec _021391e0: add sp, sp, #0x48 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021391ec: mov r0, r7 ldr r2, [r0] rsb r1, r6, #0 ldr r2, [r2, #0x40] blx r2 ldr r0, _021394ec ; =data_027e0f64 mov r1, #0xb ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 cmp r6, #0 beq _0213922c ldrsh r0, [r7, #0xa] cmp r0, #0 movgt r0, #0x3c strgth r0, [r7, #8] _0213922c: ldrsh r0, [r7, #0xa] cmp r4, #0xb add r1, r0, #3 mov r0, r1, asr #0x1 add r0, r1, r0, lsr #30 mov r0, r0, asr #0x2 str r0, [sp, #0x14] bne _02139268 add r1, sp, #0x14 mov r0, r7 bl func_ov15_02135d78 ldr r0, _021394f0 ; =data_027e0fb8 ldr r0, [r0] blx _ZN13PlayerControl9UpdateAimEv b _021393f4 _02139268: ldr r0, _021394e8 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 bne _021392b4 ldr r0, [sp, #0x14] add r1, sp, #0x10 add r2, r0, #0x10 mov r0, r7 str r2, [sp, #0x10] bl func_ov15_02135d78 bl func_ov15_02177954 cmp r0, #0 beq _021392cc add r0, r0, #0x400 mov r1, #0 strh r1, [r0, #0x68] b _021392cc _021392b4: ldr r0, [sp, #0x14] add r1, sp, #0xc add r2, r0, #8 mov r0, r7 str r2, [sp, #0xc] bl func_ov15_02135d78 _021392cc: cmp r4, #2 bne _021393f4 ldr r0, _021394f4 ; =data_027e0fac mov r1, #0x5a str r1, [r7, #0x264] ldr r4, _021394f8 ; =0xfffffccd ldrsh r1, [r0] mov r2, #0 rsb r3, r4, #0x400 add r0, sp, #0x3c str r4, [sp, #0x3c] str r3, [sp, #0x40] str r2, [sp, #0x44] bl func_ov00_020a61ac add r1, sp, #0x3c ldr r0, _021394fc ; =data_027e0f94 mov r2, r1 bl func_01ff9bc4 mov r1, #0x5c str r1, [sp] add r0, sp, #0x3c str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, _02139500 ; =data_027e0e58 add r1, r7, #0x16c ldr r0, [r0] mov r2, #0x5a mov r3, #0x5b bl func_ov00_0207c31c add r1, sp, #0x3c str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02139500 ; =data_027e0e58 add r1, r7, #0x178 ldr r0, [r0] mov r2, #0x5d mov r3, #0x5e bl func_ov00_0207c2e8 sub r1, r4, #0xa90 str r1, [sp, #0x30] ldr r1, _021394f4 ; =data_027e0fac ldr r0, _02139504 ; =0x00000829 ldrsh r1, [r1] str r0, [sp, #0x34] mov r0, #0 str r0, [sp, #0x38] add r0, sp, #0x30 bl func_ov00_020a61ac add r0, sp, #0x30 mov r1, r0 bl func_01ff9d4c add r0, r7, #0x178 add r1, sp, #0x30 bl func_ov00_020b7ea4 rsb r1, r4, #0xa90 str r1, [sp, #0x30] ldr r1, _021394f4 ; =data_027e0fac ldr r0, _02139504 ; =0x00000829 ldrsh r1, [r1] str r0, [sp, #0x34] mov r0, #0 str r0, [sp, #0x38] add r0, sp, #0x30 bl func_ov00_020a61ac add r0, sp, #0x30 mov r1, r0 bl func_01ff9d4c add r0, r7, #0x17c add r1, sp, #0x30 bl func_ov00_020b7ea4 mov r0, #0x28 str r0, [r7, #0x268] _021393f4: ldr r0, _021394f0 ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldr r1, [r5] add r0, sp, #0x24 str r1, [sp, #0x24] ldr r1, [r5, #4] str r1, [sp, #0x28] ldr r1, [r5, #8] str r1, [sp, #0x2c] bl func_01fffb4c cmp r0, #0 beq _021394c8 ldr r2, [sp, #0x24] ldr r0, [sp, #0x2c] ldr r1, [sp, #0x28] rsb r2, r2, #0 rsb r0, r0, #0 rsb r1, r1, #0 str r0, [sp, #0x2c] str r2, [sp, #0x24] str r1, [sp, #0x28] ldr r1, [r7, #0x70] add r0, sp, #0x24 bl func_01fffbec add r0, sp, #0x24 add r1, r7, #0x64 mov r2, r0 bl func_01ff9bc4 ldr r1, _021394fc ; =data_027e0f94 add r0, sp, #0x24 ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #0x1c] str r3, [sp, #0x18] ldr r3, [r1, #8] add r1, sp, #0x18 mov r2, r0 str r3, [sp, #0x20] bl func_01ff9bc4 ldrsh r0, [r7, #0xa] add r2, sp, #0x24 mov r3, #0 cmp r0, #0 bgt _021394b8 ldr r0, _02139508 ; =data_027e0ffc mov r1, #0x1a4 bl func_ov00_020ceacc b _021394dc _021394b8: ldr r0, _02139508 ; =data_027e0ffc ldr r1, _0213950c ; =0x000001a3 bl func_ov00_020ceacc b _021394dc _021394c8: ldr r0, _02139508 ; =data_027e0ffc ldr r1, _0213950c ; =0x000001a3 ldr r2, _021394fc ; =data_027e0f94 mov r3, #0 bl func_ov00_020ceacc _021394dc: mov r0, #1 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02139170 _021394e8: .word data_027e0d38 _021394ec: .word data_027e0f64 _021394f0: .word data_027e0fb8 _021394f4: .word data_027e0fac _021394f8: .word 0xfffffccd _021394fc: .word data_027e0f94 _02139500: .word data_027e0e58 _02139504: .word 0x00000829 _02139508: .word data_027e0ffc _0213950c: .word 0x000001a3 .global func_ov15_02139510 arm_func_start func_ov15_02139510 func_ov15_02139510: ; 0x02139510 stmdb sp!, {r3, lr} ldr r0, _02139550 ; =data_027e0f90 ldr r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r1, _02139554 ; =data_027e0ce0 ldr r0, _02139558 ; =0x00000a44 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02139544 bl func_ov15_0213955c _02139544: ldr r1, _02139550 ; =data_027e0f90 str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02139510 _02139550: .word data_027e0f90 _02139554: .word data_027e0ce0 _02139558: .word 0x00000a44 .global func_ov15_0213955c arm_func_start func_ov15_0213955c func_ov15_0213955c: ; 0x0213955c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 blx func_ov04_0210b210 ldr r1, _02139a4c ; =data_ov15_0218aaac ldr r0, _02139a50 ; =data_ov09_0211f530 str r1, [r4] ldr r1, [r0, #4] mvn r0, #0 str r1, [r4, #0x20] str r0, [r4, #0x24] mov r0, #0 str r0, [r4, #0x28] str r0, [r4, #0x2c] str r0, [r4, #0x30] str r0, [r4, #0x34] str r0, [r4, #0x38] mov r1, #0x19 str r1, [r4, #0x54] str r0, [r4, #0x58] add r1, r4, #0x60 mov r2, #4 str r0, [r4, #0x5c] bl func_020078f4 mov r0, #0 str r0, [r4, #0x74] str r0, [r4, #0x78] str r0, [r4, #0x7c] str r0, [r4, #0x80] str r0, [r4, #0x84] str r0, [r4, #0x88] strh r0, [r4, #0x8e] strh r0, [r4, #0x90] strh r0, [r4, #0x92] strh r0, [r4, #0x94] strh r0, [r4, #0x96] strh r0, [r4, #0x98] strh r0, [r4, #0x9a] strh r0, [r4, #0x9e] str r0, [r4, #0xa0] str r0, [r4, #0xb0] str r0, [r4, #0xb4] str r0, [r4, #0xb8] ldr ip, _02139a54 ; =func_ov00_020b7d74 str r0, [r4, #0xbc] ldr r3, _02139a58 ; =func_ov15_021341a0 add r0, r4, #0xc0 mov r1, #7 mov r2, #4 str ip, [sp] bl func_0204f614 ldr r1, _02139a54 ; =func_ov00_020b7d74 add r0, r4, #0xdc str r1, [sp] mov r1, #3 mov r2, #4 ldr r3, _02139a58 ; =func_ov15_021341a0 bl func_0204f614 ldr r1, _02139a54 ; =func_ov00_020b7d74 add r0, r4, #0xe8 str r1, [sp] mov r1, #3 mov r2, #4 ldr r3, _02139a58 ; =func_ov15_021341a0 bl func_0204f614 ldr ip, _02139a54 ; =func_ov00_020b7d74 ldr r3, _02139a58 ; =func_ov15_021341a0 add r0, r4, #0xf4 mov r1, #5 mov r2, #4 str ip, [sp] bl func_0204f614 mov r1, #0 str r1, [r4, #0x108] add r0, r4, #0x110 str r1, [r4, #0x10c] bl func_ov09_0211d0b0 ldr ip, _02139a54 ; =func_ov00_020b7d74 ldr r3, _02139a58 ; =func_ov15_021341a0 add r0, r4, #0x16c mov r1, #3 mov r2, #4 str ip, [sp] bl func_0204f614 ldr r1, _02139a54 ; =func_ov00_020b7d74 add r0, r4, #0x178 str r1, [sp] mov r1, #2 mov r2, #4 ldr r3, _02139a58 ; =func_ov15_021341a0 bl func_0204f614 mov r2, #0 str r2, [r4, #0x180] str r2, [r4, #0x184] str r2, [r4, #0x188] mov r1, #0x1f add r0, r4, #0x100 strh r1, [r0, #0x92] strb r2, [r4, #0x194] add r0, r4, #0x198 blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x1a0 str r1, [r4, #0x198] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x1a8 str r1, [r4, #0x1a0] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x1b0 str r1, [r4, #0x1a8] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x1b8 str r1, [r4, #0x1b0] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x1c0 str r1, [r4, #0x1b8] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x1c8 str r1, [r4, #0x1c0] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c ldr r0, _02139a60 ; =func_ov15_02139a80 str r1, [r4, #0x1c8] str r0, [sp] add r0, r4, #0x1d0 mov r1, #6 mov r2, #8 ldr r3, _02139a64 ; =func_ov15_02139a94 bl func_0204f614 add r0, r4, #0x200 blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x208 str r1, [r4, #0x200] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x210 str r1, [r4, #0x208] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x218 str r1, [r4, #0x210] blx func_02030274 ldr r1, _02139a5c ; =data_ov15_0218ab0c add r0, r4, #0x220 str r1, [r4, #0x218] blx func_02030274 ldr r0, _02139a5c ; =data_ov15_0218ab0c mov r3, #0 str r0, [r4, #0x220] mov r0, #0x47 str r0, [r4, #0x228] str r3, [r4, #0x22c] str r3, [r4, #0x230] sub r0, r3, #2 str r0, [r4, #0x234] add r0, r4, #0x200 strh r3, [r0, #0x38] mov r0, #0xff strb r0, [r4, #0x23a] strb r3, [r4, #0x23b] strb r3, [r4, #0x23c] strb r3, [r4, #0x23d] strb r3, [r4, #0x240] str r3, [r4, #0x244] str r3, [r4, #0x248] str r3, [r4, #0x24c] strb r3, [r4, #0x250] strb r3, [r4, #0x25c] strb r3, [r4, #0x25d] strb r3, [r4, #0x25e] strb r3, [r4, #0x25f] strb r3, [r4, #0x260] str r3, [r4, #0x264] str r3, [r4, #0x268] strb r3, [r4, #0x26c] strb r3, [r4, #0x26d] strb r3, [r4, #0x26e] str r3, [r4, #0x270] str r3, [r4, #0x274] str r3, [r4, #0x278] strb r3, [r4, #0x27c] strb r3, [r4, #0x27d] str r3, [r4, #0x284] str r3, [r4, #0x288] str r3, [r4, #0x28c] strb r3, [r4, #0x290] strb r3, [r4, #0x291] strb r3, [r4, #0x292] sub r2, r0, #0x100 strb r3, [r4, #0x293] str r2, [r4, #0x2f0] str r2, [r4, #0x2f4] str r2, [r4, #0x310] str r2, [r4, #0x314] str r3, [r4, #0x318] mov r1, #1 str r1, [r4, #0x324] add r0, r4, #0x300 strh r3, [r0, #0x28] strh r3, [r0, #0x2a] str r3, [r4, #0x32c] str r3, [r4, #0x330] str r3, [r4, #0x338] str r3, [r4, #0x33c] str r2, [r4, #0x348] strb r3, [r4, #0x34d] strb r3, [r4, #0x350] strb r1, [r4, #0x351] strb r3, [r4, #0x352] strb r3, [r4, #0x354] str r2, [r4, #0x388] str r2, [r4, #0x38c] str r3, [r4, #0x3c0] str r3, [r4, #0x3c4] str r3, [r4, #0x3c8] str r3, [r4, #0x3e0] str r3, [r4, #0x3f4] add r1, r4, #8 str r3, [r4, #0x3f8] add r0, r4, #0x400 strh r3, [r0] add r1, r1, #0x400 add r0, r4, #0x430 _021398f0: str r2, [r1] str r2, [r1, #4] add r1, r1, #8 cmp r1, r0 blo _021398f0 mov r0, #1 str r0, [r4, #0x430] mov r1, #0 strb r1, [r4, #0x442] strb r1, [r4, #0x443] strb r1, [r4, #0x444] str r1, [r4, #0x4d0] strb r1, [r4, #0x4d4] strb r1, [r4, #0x4d5] strb r1, [r4, #0x4d6] strb r1, [r4, #0x4d7] str r1, [r4, #0x4d8] add r0, r4, #0x400 strh r1, [r0, #0xdc] strh r1, [r0, #0xde] strb r1, [r4, #0x4e0] str r1, [r4, #0x4ec] add r0, r4, #0xf4 strb r1, [r4, #0x4f0] add r0, r0, #0x400 strb r1, [r4, #0x4f1] bl func_02035064 add r0, r4, #0x17c add r0, r0, #0x400 bl func_02035064 add r0, r4, #0x204 add r0, r0, #0x400 bl func_02035064 add r0, r4, #0x28c add r0, r0, #0x400 bl func_02035064 add r0, r4, #0x314 add r0, r0, #0x400 bl func_02035064 ldr r1, _02139a68 ; =func_020350ac add r0, r4, #0x39c str r1, [sp] add r0, r0, #0x400 mov r1, #3 mov r2, #0x88 ldr r3, _02139a6c ; =func_02035064 bl func_0204f614 add r0, r4, #0x134 add r0, r0, #0x800 bl func_02035064 add r0, r4, #0x1bc add r0, r0, #0x800 bl func_02035064 mov r0, #0 str r0, [r4, #0xa4] str r0, [r4, #0xa8] str r0, [r4, #0xac] ldr ip, _02139a70 ; =data_027e0fbc add r3, r4, #0x300 ldr r2, [ip] add r1, r4, #0x60 ldrsh lr, [r2, #6] mov r2, #4 strh lr, [r4, #0xa] ldr ip, [ip] ldrsh ip, [ip, #8] strh ip, [r3, #0x28] bl func_020078f4 ldr r1, _02139a74 ; =data_027e10a4 mov r0, r4 str r4, [r1] bl func_ov15_0213830c ldr r0, _02139a78 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _02139a40 ldr r1, _02139a7c ; =data_027e0ce0 mov r0, #0x78 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9f4 str r0, [r4, #0x318] _02139a40: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0213955c _02139a4c: .word data_ov15_0218aaac _02139a50: .word data_ov09_0211f530 _02139a54: .word func_ov00_020b7d74 _02139a58: .word func_ov15_021341a0 _02139a5c: .word data_ov15_0218ab0c _02139a60: .word func_ov15_02139a80 _02139a64: .word func_ov15_02139a94 _02139a68: .word func_020350ac _02139a6c: .word func_02035064 _02139a70: .word data_027e0fbc _02139a74: .word data_027e10a4 _02139a78: .word data_027e0d38 _02139a7c: .word data_027e0ce0 .global func_ov15_02139a80 arm_func_start func_ov15_02139a80 func_ov15_02139a80: ; 0x02139a80 stmdb sp!, {r4, lr} mov r4, r0 blx func_02030294 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02139a80 .global func_ov15_02139a94 arm_func_start func_ov15_02139a94 func_ov15_02139a94: ; 0x02139a94 stmdb sp!, {r4, lr} mov r4, r0 blx func_02030274 ldr r1, _02139ab0 ; =data_ov15_0218ab0c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02139a94 _02139ab0: .word data_ov15_0218ab0c .global func_ov15_02139ab4 arm_func_start func_ov15_02139ab4 func_ov15_02139ab4: ; 0x02139ab4 stmdb sp!, {r4, lr} ldr r1, _02139cb8 ; =data_ov15_0218aaac mov r4, r0 str r1, [r4] ldr r1, _02139cbc ; =data_027e0fbc ldrsh r3, [r4, #0xa] ldr r2, [r1] add r0, r4, #0x300 strh r3, [r2, #6] ldrsh r2, [r0, #0x28] ldr r0, [r1] strh r2, [r0, #8] ldr r0, [r4, #0x318] cmp r0, #0 beq _02139af4 bl func_0202ea18 _02139af4: add r0, r4, #0x1bc ldr r1, _02139cc0 ; =data_027e10a4 mov r2, #0 add r0, r0, #0x800 str r2, [r1] bl func_020350ac add r0, r4, #0x134 add r0, r0, #0x800 bl func_020350ac add r0, r4, #0x39c ldr r3, _02139cc4 ; =func_020350ac add r0, r0, #0x400 mov r1, #3 mov r2, #0x88 bl func_0204f754 add r0, r4, #0x314 add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x28c add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x204 add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x17c add r0, r0, #0x400 bl func_020350ac add r0, r4, #0xf4 add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x220 blx func_02030294 add r0, r4, #0x218 blx func_02030294 add r0, r4, #0x210 blx func_02030294 add r0, r4, #0x208 blx func_02030294 add r0, r4, #0x200 blx func_02030294 add r0, r4, #0x1d0 mov r1, #6 mov r2, #8 ldr r3, _02139cc8 ; =func_ov15_02139a80 bl func_0204f754 add r0, r4, #0x1c8 blx func_02030294 add r0, r4, #0x1c0 blx func_02030294 add r0, r4, #0x1b8 blx func_02030294 add r0, r4, #0x1b0 blx func_02030294 add r0, r4, #0x1a8 blx func_02030294 add r0, r4, #0x1a0 blx func_02030294 add r0, r4, #0x198 blx func_02030294 add r0, r4, #0x188 bl func_ov00_020b7d74 add r0, r4, #0x184 bl func_ov00_020b7d74 add r0, r4, #0x180 bl func_ov00_020b7d74 ldr r3, _02139ccc ; =func_ov00_020b7d74 add r0, r4, #0x178 mov r1, #2 mov r2, #4 bl func_0204f754 ldr r3, _02139ccc ; =func_ov00_020b7d74 add r0, r4, #0x16c mov r1, #3 mov r2, #4 bl func_0204f754 add r0, r4, #0x110 bl func_ov09_0211d128 add r0, r4, #0x10c bl func_ov00_020b7d74 add r0, r4, #0x108 bl func_ov00_020b7d74 add r0, r4, #0xf4 mov r1, #5 mov r2, #4 ldr r3, _02139ccc ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xe8 mov r1, #3 mov r2, #4 ldr r3, _02139ccc ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xdc mov r1, #3 mov r2, #4 ldr r3, _02139ccc ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xc0 mov r1, #7 mov r2, #4 ldr r3, _02139ccc ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xbc bl func_ov00_020b7d74 add r0, r4, #0xb8 bl func_ov00_020b7d74 add r0, r4, #0xb4 bl func_ov00_020b7d74 add r0, r4, #0xb0 bl func_ov00_020b7d74 mov r0, r4 blx func_ov04_0210b2b0 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02139ab4 _02139cb8: .word data_ov15_0218aaac _02139cbc: .word data_027e0fbc _02139cc0: .word data_027e10a4 _02139cc4: .word func_020350ac _02139cc8: .word func_ov15_02139a80 _02139ccc: .word func_ov00_020b7d74 .global func_ov15_02139cd0 arm_func_start func_ov15_02139cd0 func_ov15_02139cd0: ; 0x02139cd0 stmdb sp!, {r4, lr} ldr r1, _02139edc ; =data_ov15_0218aaac mov r4, r0 str r1, [r4] ldr r1, _02139ee0 ; =data_027e0fbc ldrsh r3, [r4, #0xa] ldr r2, [r1] add r0, r4, #0x300 strh r3, [r2, #6] ldrsh r2, [r0, #0x28] ldr r0, [r1] strh r2, [r0, #8] ldr r0, [r4, #0x318] cmp r0, #0 beq _02139d10 bl func_0202ea18 _02139d10: add r0, r4, #0x1bc ldr r1, _02139ee4 ; =data_027e10a4 mov r2, #0 add r0, r0, #0x800 str r2, [r1] bl func_020350ac add r0, r4, #0x134 add r0, r0, #0x800 bl func_020350ac add r0, r4, #0x39c ldr r3, _02139ee8 ; =func_020350ac add r0, r0, #0x400 mov r1, #3 mov r2, #0x88 bl func_0204f754 add r0, r4, #0x314 add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x28c add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x204 add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x17c add r0, r0, #0x400 bl func_020350ac add r0, r4, #0xf4 add r0, r0, #0x400 bl func_020350ac add r0, r4, #0x220 blx func_02030294 add r0, r4, #0x218 blx func_02030294 add r0, r4, #0x210 blx func_02030294 add r0, r4, #0x208 blx func_02030294 add r0, r4, #0x200 blx func_02030294 add r0, r4, #0x1d0 mov r1, #6 mov r2, #8 ldr r3, _02139eec ; =func_ov15_02139a80 bl func_0204f754 add r0, r4, #0x1c8 blx func_02030294 add r0, r4, #0x1c0 blx func_02030294 add r0, r4, #0x1b8 blx func_02030294 add r0, r4, #0x1b0 blx func_02030294 add r0, r4, #0x1a8 blx func_02030294 add r0, r4, #0x1a0 blx func_02030294 add r0, r4, #0x198 blx func_02030294 add r0, r4, #0x188 bl func_ov00_020b7d74 add r0, r4, #0x184 bl func_ov00_020b7d74 add r0, r4, #0x180 bl func_ov00_020b7d74 ldr r3, _02139ef0 ; =func_ov00_020b7d74 add r0, r4, #0x178 mov r1, #2 mov r2, #4 bl func_0204f754 ldr r3, _02139ef0 ; =func_ov00_020b7d74 add r0, r4, #0x16c mov r1, #3 mov r2, #4 bl func_0204f754 add r0, r4, #0x110 bl func_ov09_0211d128 add r0, r4, #0x10c bl func_ov00_020b7d74 add r0, r4, #0x108 bl func_ov00_020b7d74 add r0, r4, #0xf4 mov r1, #5 mov r2, #4 ldr r3, _02139ef0 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xe8 mov r1, #3 mov r2, #4 ldr r3, _02139ef0 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xdc mov r1, #3 mov r2, #4 ldr r3, _02139ef0 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xc0 mov r1, #7 mov r2, #4 ldr r3, _02139ef0 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0xbc bl func_ov00_020b7d74 add r0, r4, #0xb8 bl func_ov00_020b7d74 add r0, r4, #0xb4 bl func_ov00_020b7d74 add r0, r4, #0xb0 bl func_ov00_020b7d74 mov r0, r4 blx func_ov04_0210b2b0 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02139cd0 _02139edc: .word data_ov15_0218aaac _02139ee0: .word data_027e0fbc _02139ee4: .word data_027e10a4 _02139ee8: .word func_020350ac _02139eec: .word func_ov15_02139a80 _02139ef0: .word func_ov00_020b7d74 .global func_ov15_02139ef4 arm_func_start func_ov15_02139ef4 func_ov15_02139ef4: ; 0x02139ef4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r0, _02139f4c ; =data_027e0f94 mov r2, r4 add r1, r5, #0x64 bl func_01ff9bc4 ldrsh r0, [r5, #0xa] cmp r0, #0 ble _02139f34 ldrb r0, [r5, #0x26e] cmp r0, #0 beq _02139f34 ldrb r0, [r5, #0x4f1] cmp r0, #0 beq _02139f40 _02139f34: mvn r0, #0 str r0, [r4, #0xc] ldmia sp!, {r3, r4, r5, pc} _02139f40: ldr r0, [r5, #0x70] str r0, [r4, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02139ef4 _02139f4c: .word data_027e0f94 .global func_ov15_02139f50 arm_func_start func_ov15_02139f50 func_ov15_02139f50: ; 0x02139f50 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r0, _02139f78 ; =data_027e0f94 mov r2, r4 add r1, r5, #0x64 bl func_01ff9bc4 ldr r0, [r5, #0x70] str r0, [r4, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02139f50 _02139f78: .word data_027e0f94 .global func_ov15_02139f7c arm_func_start func_ov15_02139f7c func_ov15_02139f7c: ; 0x02139f7c mov r0, #1 bx lr arm_func_end func_ov15_02139f7c .global func_ov15_02139f84 arm_func_start func_ov15_02139f84 func_ov15_02139f84: ; 0x02139f84 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 blx func_ov09_0211c6b4 mov r0, r4 bl func_ov15_021366ac mov r1, #1 ldr r0, _0213a138 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] ldr r3, _0213a13c ; =data_027e0d0c add r1, r4, #0xb0 mov r2, #0xaa bl func_ov00_0207c1f8 mov r0, #1 str r0, [sp] ldr r0, _0213a138 ; =data_027e0e58 add r1, r4, #0xb4 ldr r0, [r0] mov r2, #0xab ldr r3, _0213a13c ; =data_027e0d0c bl func_ov00_0207c1f8 mov r0, #1 str r0, [sp] ldr r0, _0213a138 ; =data_027e0e58 add r1, r4, #0xb8 ldr r0, [r0] mov r2, #0xac ldr r3, _0213a13c ; =data_027e0d0c bl func_ov00_0207c1f8 mov r0, #1 str r0, [sp] ldr r0, _0213a138 ; =data_027e0e58 add r1, r4, #0xbc ldr r0, [r0] mov r2, #0xad ldr r3, _0213a13c ; =data_027e0d0c bl func_ov00_0207c1f8 ldr r0, [r4, #0x20] bl func_ov09_0211500c add r0, r4, #0x110 bl func_ov09_0211d668 ldr r0, [r4, #0x20] mov r1, #0 mov r2, r1 bl func_ov09_021154e8 mov r0, r4 bl func_ov15_02174b9c mov r0, r4 bl func_ov15_02176d40 mov r0, r4 bl func_ov15_02176524 ldr r0, _0213a140 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #2 bne _0213a08c mov r0, r4 mov r1, #6 bl func_ov15_02136b34 mov r0, r4 mov r1, #1 mov r2, #0 bl func_ov15_02152548 b _0213a124 _0213a08c: cmp r0, #3 bne _0213a0c4 mov r0, r4 mov r1, #5 bl func_ov15_02136b34 mov r0, r4 mov r1, #1 mov r2, #0 bl func_ov15_021429d8 ldr r0, [r4, #0x20] mov r1, #1 mov r2, #0 bl func_ov09_021154e8 b _0213a124 _0213a0c4: cmp r0, #0 bne _0213a124 ldr r0, _0213a140 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] add r0, r0, #0x1c bl func_ov00_020a5e9c cmp r0, #3 bne _0213a124 ldr r0, _0213a144 ; =data_027e1094 ldrb r0, [r0] cmp r0, #0 beq _0213a124 mov r0, r4 mov r1, #5 bl func_ov15_02136b34 mov r0, r4 mov r1, #6 mov r2, #0 bl func_ov15_021429d8 ldr r0, [r4, #0x20] mov r1, #1 mov r2, #0 bl func_ov09_021154e8 _0213a124: ldr r0, _0213a148 ; =data_027e0fac ldrsh r0, [r0] strh r0, [r4, #0x8c] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02139f84 _0213a138: .word data_027e0e58 _0213a13c: .word data_027e0d0c _0213a140: .word data_027e0d38 _0213a144: .word data_027e1094 _0213a148: .word data_027e0fac .global func_ov15_0213a14c arm_func_start func_ov15_0213a14c func_ov15_0213a14c: ; 0x0213a14c mov r3, #0 strb r3, [r0, #0x406] mvn r2, #0 _0213a158: add r1, r0, r3, lsl #3 str r2, [r1, #0x408] add r3, r3, #1 str r2, [r1, #0x40c] cmp r3, #5 blt _0213a158 ldr r1, _0213a180 ; =data_027e0fac ldrsh r1, [r1] strh r1, [r0, #0x8c] bx lr .align 2, 0 arm_func_end func_ov15_0213a14c _0213a180: .word data_027e0fac .global func_ov15_0213a184 arm_func_start func_ov15_0213a184 func_ov15_0213a184: ; 0x0213a184 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 bl _ZN10PlayerBase18func_ov00_020a7c00Ei cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0213a454 ; =gItemManager ldr r0, [r0] bl _ZN11ItemManager18func_ov00_020ad528Ev mov r1, #1 ldr r0, _0213a458 ; =data_027e077c strb r1, [r5, #0x26e] ldr r0, [r0] cmp r0, #1 movne r0, #0 strneb r0, [r5, #0x26e] ldr r0, _0213a458 ; =data_027e077c ldr r1, [r0] ldr r0, [r0, #4] cmp r1, r0 movne r0, #0 strneb r0, [r5, #0x26e] ldr r0, _0213a45c ; =data_027e103c ldr r0, [r0] bl func_ov05_02103f4c cmp r0, #0 movne r0, #0 strneb r0, [r5, #0x26e] mov r0, r5 bl func_ov15_0213a570 cmp r0, #0 movne r0, #1 moveq r0, #0 strb r0, [r5, #0x4f1] strb r4, [r5, #0x26d] and r1, r4, #0xff ldr r0, _0213a460 ; =gAdventureFlags strb r1, [r5, #0x26c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0213a254 ldr r0, _0213a460 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 bne _0213a254 ldr r1, _0213a464 ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 beq _0213a260 _0213a254: mov r0, #0 strb r0, [r5, #0x26d] strb r0, [r5, #0x26c] _0213a260: ldr r0, _0213a468 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 beq _0213a2ac ldrb r0, [r5, #0x26e] mov r1, #1 mov r2, r1 cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x26d] streqb r0, [r5, #0x26c] ldr r0, _0213a46c ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020af2d4Ejb cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x26c] _0213a2ac: ldrb r1, [r5, #0x4d4] mov r2, #0 ldr r0, _0213a470 ; =data_027e0f94 strb r1, [r5, #0x4d5] strb r2, [r5, #0x4d4] ldrb r1, [r5, #0x4d6] strb r1, [r5, #0x4d7] strb r2, [r5, #0x4d6] ldmia r0, {r0, r1, r2} str r0, [r5, #0x14] str r1, [r5, #0x18] str r2, [r5, #0x1c] ldr r0, [r5, #0x248] add r0, r0, #1 str r0, [r5, #0x248] bl func_ov15_0213ce4c mov r1, r4 bl func_ov15_0213cfb4 mov r0, r5 bl func_ov15_0214dcac ldr r0, _0213a474 ; =data_027e0d78 ldrb r0, [r0, #0xc] cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x25e] ldr r1, [r5, #0x28] ldr r0, [r5, #0x2c] cmp r1, r0 beq _0213a328 mov r0, r5 bl func_ov15_02136b34 _0213a328: ldr r0, [r5, #0x2c] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0213a398 _0213a338: ; jump table b _0213a354 ; case 0 b _0213a360 ; case 1 b _0213a398 ; case 2 b _0213a36c ; case 3 b _0213a378 ; case 4 b _0213a384 ; case 5 b _0213a390 ; case 6 _0213a354: mov r0, r5 bl func_ov15_02135948 b _0213a398 _0213a360: mov r0, r5 bl func_ov15_02135558 b _0213a398 _0213a36c: mov r0, r5 bl func_ov15_02137df4 b _0213a398 _0213a378: mov r0, r5 bl func_ov15_021414f8 b _0213a398 _0213a384: mov r0, r5 bl func_ov15_02145938 b _0213a398 _0213a390: mov r0, r5 bl func_ov15_02154704 _0213a398: ldrsh r1, [r5, #8] cmp r1, #0 ldrneb r0, [r5, #0x26e] cmpne r0, #0 subne r0, r1, #1 strneh r0, [r5, #8] mov r0, r5 bl func_ov15_021383b4 ldr r0, [r5, #0x2c] cmp r0, #5 cmpne r0, #6 beq _0213a404 ldr r0, [r5, #0x78] cmp r0, #0 movgt r1, #1 ldr r0, _0213a478 ; =data_ov15_02190458 movle r1, #0 strb r1, [r0, #5] bl func_ov15_0213ce4c bl func_ov15_0213d710 add r0, r5, #0xf4 add r0, r0, #0x400 bl func_0203516c add r0, r5, #0xf4 ldr r1, [r5, #0x84] add r0, r0, #0x400 bl func_02035370 _0213a404: mov r0, r5 bl func_ov15_02136400 mov r0, r5 bl func_ov15_02136750 mov r0, r5 bl func_ov15_0213677c ldr r0, [r5, #0x20] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r0, [r5, #0x244] cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x244] mov r0, r5 bl func_ov15_021356e8 ldr r0, _0213a47c ; =data_027e0fac ldrsh r0, [r0] strh r0, [r5, #0x8c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213a184 _0213a454: .word gItemManager _0213a458: .word data_027e077c _0213a45c: .word data_027e103c _0213a460: .word gAdventureFlags _0213a464: .word data_027e0e2c _0213a468: .word data_027e0d38 _0213a46c: .word data_027e0fb8 _0213a470: .word data_027e0f94 _0213a474: .word data_027e0d78 _0213a478: .word data_ov15_02190458 _0213a47c: .word data_027e0fac .global func_ov15_0213a480 arm_func_start func_ov15_0213a480 func_ov15_0213a480: ; 0x0213a480 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r4, r0 ldrb r0, [r4, #0x240] mov r7, r1 mov r6, r2 mov r5, r3 cmp r0, #0 beq _0213a4b0 mov r0, #0 strb r0, [r4, #0x240] bl func_ov15_0218365c _0213a4b0: ldrb ip, [sp, #0x20] mov r0, r4 mov r1, r7 str ip, [sp] mov ip, #0 mov r2, r6 mov r3, r5 str ip, [sp, #4] bl _ZN10PlayerBase18TeleportToEntranceEib cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, _0213a4fc ; =data_027e0fac mov r0, #1 ldrsh r1, [r1] strh r1, [r4, #0x8c] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0213a480 _0213a4fc: .word data_027e0fac .global func_ov15_0213a500 arm_func_start func_ov15_0213a500 func_ov15_0213a500: ; 0x0213a500 ldmia r1, {r2, r3, ip} str r2, [r0, #0x48] str r3, [r0, #0x4c] mov r1, #1 str ip, [r0, #0x50] strb r1, [r0, #0x25f] mov r1, #0 strh r1, [r0, #0x9c] bx lr arm_func_end func_ov15_0213a500 .global func_ov15_0213a524 arm_func_start func_ov15_0213a524 func_ov15_0213a524: ; 0x0213a524 ldr r0, [r0, #0x78] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov15_0213a524 .global func_ov15_0213a538 arm_func_start func_ov15_0213a538 func_ov15_0213a538: ; 0x0213a538 ldrsh r0, [r0, #0xa] cmp r0, #0 movle r0, #1 movgt r0, #0 bx lr arm_func_end func_ov15_0213a538 .global func_ov15_0213a54c arm_func_start func_ov15_0213a54c func_ov15_0213a54c: ; 0x0213a54c ldrb r1, [r0, #0x4d7] ldrb r0, [r0, #0x4d6] cmp r0, r1 movls r0, r1 bx lr arm_func_end func_ov15_0213a54c .global func_ov15_0213a560 arm_func_start func_ov15_0213a560 func_ov15_0213a560: ; 0x0213a560 ldrb r2, [r0, #0x4d6] cmp r2, r1 strlob r1, [r0, #0x4d6] bx lr arm_func_end func_ov15_0213a560 .global func_ov15_0213a570 arm_func_start func_ov15_0213a570 func_ov15_0213a570: ; 0x0213a570 stmdb sp!, {r4, lr} ldr r1, _0213a5e0 ; =gAdventureFlags mov r4, r0 ldr r0, [r1] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0213a5d0 ldr r0, _0213a5e0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 bne _0213a5d0 ldr r1, _0213a5e4 ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 bne _0213a5d0 ldr r0, [r4, #0x2c] cmp r0, #4 cmpne r0, #3 beq _0213a5d0 sub r0, r0, #5 cmp r0, #1 bhi _0213a5d8 _0213a5d0: mov r0, #1 ldmia sp!, {r4, pc} _0213a5d8: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213a570 _0213a5e0: .word gAdventureFlags _0213a5e4: .word data_027e0e2c .global func_ov15_0213a5e8 arm_func_start func_ov15_0213a5e8 func_ov15_0213a5e8: ; 0x0213a5e8 stmdb sp!, {r4, lr} mov r4, r0 blx func_02030294 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213a5e8 .global func_ov15_0213a604 arm_func_start func_ov15_0213a604 func_ov15_0213a604: ; 0x0213a604 ldr r0, _0213a614 ; =data_027e0fbc ldr r0, [r0] ldrsh r0, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov15_0213a604 _0213a614: .word data_027e0fbc .global func_ov15_0213a618 arm_func_start func_ov15_0213a618 func_ov15_0213a618: ; 0x0213a618 stmdb sp!, {r3, lr} ldr r3, [r0] mov r2, r1 ldrh r1, [r0, #0xe] ldr r3, [r3, #0x38] blx r3 ldmia sp!, {r3, pc} arm_func_end func_ov15_0213a618 .global func_ov15_0213a634 arm_func_start func_ov15_0213a634 func_ov15_0213a634: ; 0x0213a634 stmdb sp!, {r3, lr} ldr r1, _0213a660 ; =data_027e0fe0 mov r0, #0x2b8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0213a868 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213a634 _0213a660: .word data_027e0fe0 .global func_ov15_0213a664 arm_func_start func_ov15_0213a664 func_ov15_0213a664: ; 0x0213a664 stmdb sp!, {r4, lr} ldrh r2, [r1] ldr r3, _0213a6dc ; =data_02050f54 mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 ldrsh ip, [r3, r2] add r2, r4, #1 mov r2, r2, lsl #0x1 ldrsh r3, [r3, r2] mov r2, ip, asr #0x1f mov lr, r2, lsl #0xc adds r4, r1, ip, lsl #12 orr lr, lr, ip, lsr #20 mov r2, r3, asr #0x1f adc ip, lr, #0 mov r4, r4, lsr #0xc mov r2, r2, lsl #0xc orr r4, r4, ip, lsl #20 adds ip, r1, r3, lsl #12 orr r2, r2, r3, lsr #20 strh r4, [r0, #0x50] mov r3, #0 adc r1, r2, #0 mov r2, ip, lsr #0xc strh r3, [r0, #0x52] orr r2, r2, r1, lsl #20 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213a664 _0213a6dc: .word data_02050f54 .global func_ov15_0213a6e0 arm_func_start func_ov15_0213a6e0 func_ov15_0213a6e0: ; 0x0213a6e0 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0213a710 ; =data_ov15_0218ac50 add r0, r4, #0x68 str r1, [r4] mvn r1, #0 str r1, [r4, #0x98] bl func_01ff892c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213a6e0 _0213a710: .word data_ov15_0218ac50 .global func_ov15_0213a714 arm_func_start func_ov15_0213a714 func_ov15_0213a714: ; 0x0213a714 ldr ip, _0213a724 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0213a714 _0213a724: .word func_ov00_020a9998 .global func_ov15_0213a728 arm_func_start func_ov15_0213a728 func_ov15_0213a728: ; 0x0213a728 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r4, r0 ldr r0, [r4, #0x98] mov r5, r1 cmp r0, #0 bge _0213a75c ldr r0, [r5, #4] ldr r1, _0213a7cc ; =data_ov15_02185f10 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0x98] _0213a75c: ldr r0, [r5, #8] tst r0, #0x10 ldrneb r1, [r5, #0xae] ldr r0, [r4, #0x98] mvneq r1, #0 cmp r0, r1 addne sp, sp, #0x30 ldmneia sp!, {r3, r4, r5, pc} bl func_02018450 mov lr, r0 add ip, r4, #0x68 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, sp, #0 mov r1, #0 bl func_0201b1bc ldr r2, [sp, #0x2c] ldr r1, [sp, #0x28] ldr r0, [sp, #0x24] str r0, [r4, #0x5c] str r1, [r4, #0x60] str r2, [r4, #0x64] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213a728 _0213a7cc: .word data_ov15_02185f10 .global func_ov15_0213a7d0 arm_func_start func_ov15_0213a7d0 func_ov15_0213a7d0: ; 0x0213a7d0 ldr ip, _0213a7e8 ; =func_01ff9158 mov r3, r0 mov r2, r1 add r0, r3, #0x5c add r1, r3, #0x68 bx ip .align 2, 0 arm_func_end func_ov15_0213a7d0 _0213a7e8: .word func_01ff9158 .global func_ov15_0213a7ec arm_func_start func_ov15_0213a7ec func_ov15_0213a7ec: ; 0x0213a7ec stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xbc bl func_ov00_020c5c2c ldr r1, _0213a848 ; =data_ov15_0218ac2c add r0, r4, #0x20 str r1, [r4] bl func_ov15_0213a6e0 add r0, r4, #0xbc add r1, r4, #0xe0 mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0213a84c ; =data_ov15_02189ac0 ldr r2, _0213a850 ; =data_ov15_02185f24 mov r0, r4 mov r1, #0x96 str r3, [r4, #0xbc] bl func_ov00_020c5c98 add r0, r4, #0x20 bl func_ov15_0213a714 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213a7ec _0213a848: .word data_ov15_0218ac2c _0213a84c: .word data_ov15_02189ac0 _0213a850: .word data_ov15_02185f24 .global func_ov15_0213a854 arm_func_start func_ov15_0213a854 func_ov15_0213a854: ; 0x0213a854 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213a854 .global func_ov15_0213a868 arm_func_start func_ov15_0213a868 func_ov15_0213a868: ; 0x0213a868 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0213dd50 ldr r2, _0213a890 ; =data_ov15_0218ab64 mov r1, r4 add r0, r4, #0x1a8 str r2, [r4] bl func_ov15_0213a7ec mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213a868 _0213a890: .word data_ov15_0218ab64 .global func_ov15_0213a894 arm_func_start func_ov15_0213a894 func_ov15_0213a894: ; 0x0213a894 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x264 blx func_ov00_020a9acc add r0, r4, #0x1c8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0213dda4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213a894 .global func_ov15_0213a8bc arm_func_start func_ov15_0213a8bc func_ov15_0213a8bc: ; 0x0213a8bc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x264 blx func_ov00_020a9acc add r0, r4, #0x1c8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0213dda4 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213a8bc .global func_ov15_0213a8ec arm_func_start func_ov15_0213a8ec func_ov15_0213a8ec: ; 0x0213a8ec stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r1, #0 str r1, [r4, #0x4c] str r1, [r4, #0x6c] ldr r6, _0213a9c0 ; =0x00000666 str r1, [r4, #0x7c] str r6, [r4, #0x80] str r1, [r4, #0x84] str r6, [r4, #0x88] ldr r2, [r4, #0x7c] add lr, r6, #0x1000 str r2, [r4, #0x8c] ldr r3, [r4, #0x80] add r2, r4, #0x100 str r3, [r4, #0x90] ldr r3, [r4, #0x84] mov ip, #2 str r3, [r4, #0x94] ldr r5, [r4, #0x88] mov r3, #0x1000 str r5, [r4, #0x98] str r1, [r4, #0xa8] str r6, [r4, #0xac] str r1, [r4, #0xb0] str lr, [r4, #0xb4] strh ip, [r2, #0x20] str r1, [r4, #0x188] str r3, [r4, #0x184] str r1, [r4, #0x178] bl func_ov15_0213a9c8 ldr r0, [r4, #0x48] mov r2, #0x9000 str r0, [r4, #0x224] ldr r0, [r4, #0x4c] mov r1, #0x1800 str r0, [r4, #0x228] ldr r3, [r4, #0x50] mov r0, #0x400 str r3, [r4, #0x22c] str r2, [r4, #0x18c] str r1, [r4, #0x190] str r0, [r4, #0x194] mov r0, #0x148 str r0, [r4, #0x198] mov r0, #3 str r0, [r4, #0x19c] ldr r1, _0213a9c4 ; =0x00001555 str r0, [r4, #0x1a0] add r0, r4, #0x100 strh r1, [r0, #0xa4] mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213a8ec _0213a9c0: .word 0x00000666 _0213a9c4: .word 0x00001555 .global func_ov15_0213a9c8 arm_func_start func_ov15_0213a9c8 func_ov15_0213a9c8: ; 0x0213a9c8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x2c mov r5, r0 mov r4, r1 add r0, r5, #0x1a8 mov r1, #0 bl func_ov00_020c5d74 mov r1, #1 strb r1, [r5, #0x181] cmp r4, #5 addls pc, pc, r4, lsl #2 b _0213ab94 _0213a9f8: ; jump table b _0213aa10 ; case 0 b _0213aa30 ; case 1 b _0213ab94 ; case 2 b _0213aad8 ; case 3 b _0213ab24 ; case 4 b _0213ab30 ; case 5 _0213aa10: ldr r1, _0213aba8 ; =0xffffe668 mov r0, #0 str r1, [r5, #0x4c] mov r1, r1, lsr #0x10 strh r1, [r5, #0x7a] strb r0, [r5, #0x181] str r0, [r5, #0x2b4] b _0213ab94 _0213aa30: add r0, r5, #0x48 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] ldr r0, _0213abac ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r3, [r5, #0x50] add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x24] add r0, sp, #0x20 mov r1, #0x800 mov r2, #0 bl func_ov00_020c7484 mov r2, #0 ldr r1, _0213abb0 ; =0x0000051f add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213abb4 ; =data_027e0e58 mov r1, #0x89 ldr r0, [r0] add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #1 str r0, [r5, #0x2b4] ldr r0, _0213abb8 ; =data_027e0ffc mov r1, #0x21c add r2, sp, #0x20 mov r3, #0 bl func_ov00_020ceacc b _0213ab94 _0213aad8: ldr r0, _0213abbc ; =data_027e0764 mov r1, #0 ldr r3, [r0] ldmib r0, {r2, ip} umull r6, lr, ip, r3 mla lr, ip, r2, lr ldr r2, [r0, #0xc] ldr ip, [r0, #0x10] mla lr, r2, r3, lr ldr r2, [r0, #0x14] adds r3, ip, r6 adc r2, r2, lr mov r1, r1, lsl #0x1 str r3, [r0] orr r1, r1, r2, lsr #31 str r2, [r0, #4] add r0, r1, #1 str r0, [r5, #0x2b0] b _0213ab94 _0213ab24: add r0, r5, #0x1a8 bl func_ov00_020c5d74 b _0213ab94 _0213ab30: add r1, sp, #0x14 add r0, r5, #0x1c8 bl func_ov15_0213a7d0 add r0, r5, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 add r0, r5, #0x1a8 bne _0213ab78 mov r1, #3 bl func_ov00_020c5d74 mvn ip, #0 ldr r0, _0213abb8 ; =data_027e0ffc add r2, sp, #0x14 add r1, ip, #0x21c mov r3, #0 str ip, [r5, #0x88] bl func_ov00_020ceacc b _0213ab94 _0213ab78: mov r1, #2 bl func_ov00_020c5d74 ldr r0, _0213abb8 ; =data_027e0ffc ldr r1, _0213abc0 ; =0x0000021a add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc _0213ab94: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213a9c8 _0213aba8: .word 0xffffe668 _0213abac: .word data_027e0e60 _0213abb0: .word 0x0000051f _0213abb4: .word data_027e0e58 _0213abb8: .word data_027e0ffc _0213abbc: .word data_027e0764 _0213abc0: .word 0x0000021a .global func_ov15_0213abc4 arm_func_start func_ov15_0213abc4 func_ov15_0213abc4: ; 0x0213abc4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xe4 mov r5, r0 ldr r0, [r5, #0x178] cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x178] ldr r1, [r5, #0x48] ldr r0, _0213b120 ; =data_027e0e60 str r1, [sp, #0x9c] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0xa0] ldr r2, [r5, #0x50] add r1, sp, #0x9c str r2, [sp, #0xa4] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r5, #0x130] cmp r1, #2 strgt r0, [r5, #0x4c] ldr r1, [r5, #0x130] cmp r1, #5 addls pc, pc, r1, lsl #2 b _0213b05c _0213ac28: ; jump table b _0213ac40 ; case 0 b _0213ac74 ; case 1 b _0213acd4 ; case 2 b _0213ad14 ; case 3 b _0213add8 ; case 4 b _0213af84 ; case 5 _0213ac40: mov r2, #0 mov r0, r5 mov r3, r2 mov r1, #0x5000 bl func_ov15_0213ddb8 cmp r0, #0 ldreqh r0, [r5, #0x20] cmpeq r0, #0 beq _0213b05c mov r0, r5 mov r1, #1 bl func_ov15_0213a9c8 b _0213b05c _0213ac74: ldr r1, [r5, #0x4c] add r1, r1, #0x9a add r1, r1, #0x100 str r1, [r5, #0x4c] cmp r1, r0 blt _0213b05c str r0, [r5, #0x4c] mov r0, r5 mov r1, #3 bl func_ov15_0213a9c8 mov r2, #3 ldr r0, _0213b124 ; =data_027e0c68 add r1, r5, #0x48 strh r2, [r5, #0x7a] bl func_ov15_02185b0c bl func_ov15_0212f7a0 cmp r0, #0 beq _0213b05c add r0, r0, #0x400 ldrsh r1, [r0, #0xc0] cmp r1, #0 movge r1, #0 strgeh r1, [r0, #0xc0] b _0213b05c _0213acd4: ldr r1, [r5, #0x4c] ldr r0, _0213b128 ; =0xffffe668 sub r1, r1, #0x9a sub r1, r1, #0x100 str r1, [r5, #0x4c] cmp r1, r0 bgt _0213b05c ldrh r0, [r5, #0x20] cmp r0, #0 mov r0, r5 beq _0213ad08 bl _ZN5Actor4KillEv b _0213b05c _0213ad08: mov r1, #0 bl func_ov15_0213a9c8 b _0213b05c _0213ad14: add r2, sp, #0xc mov r0, r5 mov r1, #0xa000 mov r3, #0x16c bl func_ov15_0213ddb8 cmp r0, #0 beq _0213adc0 mov r0, r5 bl func_ov15_0213b1d0 cmp r0, #0 bne _0213adc0 ldr r0, _0213b12c ; =data_ov00_020e83cc add r1, sp, #0x7c str r0, [sp, #0x7c] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #0x80] ldr r2, [r5, #0x1b0] str r2, [sp, #0x84] ldr r2, [r5, #0x1b4] str r2, [sp, #0x88] ldr r2, [r5, #0x1b8] str r2, [sp, #0x8c] ldr r2, [r5, #0x1bc] str r2, [sp, #0x90] ldr r2, [r5, #0x1c0] str r2, [sp, #0x94] ldr r2, [r5, #0x1c4] str r2, [sp, #0x98] bl func_ov15_0213e3b4 cmp r0, #0 beq _0213adcc ldr r0, [r5, #0x2b0] subs r0, r0, #1 str r0, [r5, #0x2b0] bpl _0213adcc ldr r0, [sp, #0xc] cmp r0, #0x9000 bge _0213adcc mov r0, r5 mov r1, #4 bl func_ov15_0213a9c8 b _0213adcc _0213adc0: mov r0, r5 mov r1, #2 bl func_ov15_0213a9c8 _0213adcc: mov r0, r5 bl func_ov15_0213b160 b _0213b05c _0213add8: add r2, sp, #8 mov r0, r5 mov r1, #0x9000 mov r3, #0x16c bl func_ov15_0213ddb8 mov r0, r5 bl func_ov15_0213b1d0 cmp r0, #0 beq _0213ae0c mov r0, r5 mov r1, #2 bl func_ov15_0213a9c8 b _0213af78 _0213ae0c: ldr r0, _0213b12c ; =data_ov00_020e83cc add r1, sp, #0x5c str r0, [sp, #0x5c] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #0x60] ldr r2, [r5, #0x1b0] mov r4, #0 str r2, [sp, #0x64] ldr r2, [r5, #0x1b4] str r2, [sp, #0x68] ldr r2, [r5, #0x1b8] str r2, [sp, #0x6c] ldr r2, [r5, #0x1bc] str r2, [sp, #0x70] ldr r2, [r5, #0x1c0] str r2, [sp, #0x74] ldr r2, [r5, #0x1c4] str r2, [sp, #0x78] bl func_ov15_0213e3b4 cmp r0, #0 beq _0213ae70 ldr r0, [r5, #0x188] cmp r0, #0 moveq r4, #1 _0213ae70: cmp r4, #0 beq _0213ae88 mov r0, r5 mov r1, #3 bl func_ov15_0213a9c8 b _0213af78 _0213ae88: ldr r0, [r5, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #0x1d000 bne _0213af78 add r1, sp, #0xd8 add r0, r5, #0x1c8 bl func_ov15_0213a7d0 mov r3, #0 ldr r2, _0213b130 ; =0xfffffd9a ldr r1, _0213b134 ; =0x00000429 rsb r0, r2, #0x400 str r1, [sp, #0xc8] str r3, [sp, #0xc0] str r2, [sp, #0xc4] str r3, [sp, #0xb4] str r3, [sp, #0xb8] str r0, [sp, #0xbc] ldrsh r0, [r5, #0x78] add r1, sp, #0xc0 bl func_0202af4c ldrsh r0, [r5, #0x78] add r1, sp, #0xb4 bl func_0202af4c add r0, sp, #0xd8 add r1, sp, #0xc0 add r2, sp, #0xcc bl func_01ff9bc4 add r1, sp, #0xcc mov r0, r5 ldmia r1, {r1, r2, r3} bl func_ov15_0213de4c ldr r0, _0213b138 ; =data_027e0ffc ldr r1, _0213b13c ; =0x00000219 add r2, sp, #0xcc mov r3, #0 bl func_ov00_020ceacc add r0, sp, #0xd8 add r1, sp, #0xb4 add r2, sp, #0xcc bl func_01ff9bc4 add r0, r5, #0x78 str r0, [sp] ldr r1, _0213b140 ; =func_ov15_0213a664 ldr r0, _0213b144 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #0xc1 add r2, sp, #0xcc mov r3, #2 bl func_ov00_0207c1b0 add r0, r5, #0x78 str r0, [sp] ldr r1, _0213b140 ; =func_ov15_0213a664 ldr r0, _0213b144 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #0xc2 add r2, sp, #0xcc mov r3, #2 bl func_ov00_0207c1b0 _0213af78: mov r0, r5 bl func_ov15_0213b160 b _0213b05c _0213af84: add r0, r5, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 bne _0213affc ldr r0, _0213b12c ; =data_ov00_020e83cc add r1, sp, #0x3c str r0, [sp, #0x3c] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #0x40] ldr r2, [r5, #0x1b0] str r2, [sp, #0x44] ldr r2, [r5, #0x1b4] str r2, [sp, #0x48] ldr r2, [r5, #0x1b8] str r2, [sp, #0x4c] ldr r2, [r5, #0x1bc] str r2, [sp, #0x50] ldr r2, [r5, #0x1c0] str r2, [sp, #0x54] ldr r2, [r5, #0x1c4] str r2, [sp, #0x58] bl func_ov15_0213e3b4 cmp r0, #0 beq _0213b05c mov r1, #0xcc mov r0, r5 str r1, [r5, #0x80] bl func_ov15_02123848 b _0213b05c _0213affc: ldr r0, _0213b12c ; =data_ov00_020e83cc add r1, sp, #0x1c str r0, [sp, #0x1c] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #0x20] ldr r2, [r5, #0x1b0] str r2, [sp, #0x24] ldr r2, [r5, #0x1b4] str r2, [sp, #0x28] ldr r2, [r5, #0x1b8] str r2, [sp, #0x2c] ldr r2, [r5, #0x1bc] str r2, [sp, #0x30] ldr r2, [r5, #0x1c0] str r2, [sp, #0x34] ldr r2, [r5, #0x1c4] str r2, [sp, #0x38] bl func_ov15_0213e3b4 cmp r0, #0 beq _0213b05c mov r0, r5 mov r1, #3 bl func_ov15_0213a9c8 _0213b05c: add r0, r5, #0x1a8 bl func_ov00_020c5e20 ldr r0, [r5, #0x130] cmp r0, #0 beq _0213b0f8 ldrb r0, [r5, #0xa4] cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 beq _0213b0ec ldr r0, [r5, #0x2b4] cmp r0, #0xb blt _0213b0ec add r0, r5, #0x48 add r3, sp, #0xa8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] ldr r0, _0213b120 ; =data_027e0e60 str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0x14] ldr r3, [r5, #0x50] add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] bl func_ov00_02083ee0 mov r2, #0 str r0, [sp, #0xac] ldr r1, _0213b148 ; =0x0000051f add r0, sp, #0xa8 mov r3, r2 bl func_ov00_020c75f4 mov r0, #1 str r0, [r5, #0x2b4] _0213b0ec: ldr r0, [r5, #0x2b4] add r0, r0, #1 str r0, [r5, #0x2b4] _0213b0f8: ldr r0, [r5, #0x130] cmp r0, #0 addeq sp, sp, #0xe4 ldmeqia sp!, {r4, r5, pc} ldr r0, _0213b14c ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] add sp, sp, #0xe4 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213abc4 _0213b120: .word data_027e0e60 _0213b124: .word data_027e0c68 _0213b128: .word 0xffffe668 _0213b12c: .word data_ov00_020e83cc _0213b130: .word 0xfffffd9a _0213b134: .word 0x00000429 _0213b138: .word data_027e0ffc _0213b13c: .word 0x00000219 _0213b140: .word func_ov15_0213a664 _0213b144: .word data_027e0e58 _0213b148: .word 0x0000051f _0213b14c: .word data_027e10a4 .global func_ov15_0213b150 arm_func_start func_ov15_0213b150 func_ov15_0213b150: ; 0x0213b150 ldr ip, _0213b15c ; =func_ov15_0213a9c8 mov r1, #2 bx ip .align 2, 0 arm_func_end func_ov15_0213b150 _0213b15c: .word func_ov15_0213a9c8 .global func_ov15_0213b160 arm_func_start func_ov15_0213b160 func_ov15_0213b160: ; 0x0213b160 stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 ldr r0, [r4, #0x7c] mov r2, #0 str r0, [sp, #0xc] ldr r0, [r4, #0x80] add r3, sp, #0xc str r0, [sp, #0x10] ldr r0, [r4, #0x84] sub r1, r2, #1 str r0, [sp, #0x14] ldr lr, [r4, #0x88] ldr r0, _0213b1cc ; =data_027e0ff8 mov ip, lr, lsl #0x1 str lr, [sp, #0x18] str ip, [sp, #0x1c] str r3, [sp] str r2, [sp, #4] str r1, [sp, #8] add r2, r4, #0x48 ldr r0, [r0] add r1, r4, #8 mov r3, r2 bl func_ov05_021082e4 add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213b160 _0213b1cc: .word data_027e0ff8 .global func_ov15_0213b1d0 arm_func_start func_ov15_0213b1d0 func_ov15_0213b1d0: ; 0x0213b1d0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 add r0, sp, #0 bl func_ov00_020ccef0 add r0, sp, #0 add r1, r4, #8 bl func_ov00_020ccf0c cmp r0, #0 beq _0213b210 add r0, sp, #0 bl func_ov00_020ccf40 cmp r0, #0 addeq sp, sp, #0x14 moveq r0, #1 ldmeqia sp!, {r3, r4, pc} _0213b210: mov r0, #0 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0213b1d0 .global func_ov15_0213b21c arm_func_start func_ov15_0213b21c func_ov15_0213b21c: ; 0x0213b21c stmdb sp!, {r3, lr} cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldrne r1, [r0, #0x130] cmpne r1, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x1a8 bl func_ov00_020c5f1c ldmia sp!, {r3, pc} arm_func_end func_ov15_0213b21c .global func_ov15_0213b248 arm_func_start func_ov15_0213b248 func_ov15_0213b248: ; 0x0213b248 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x178] cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} ldr r2, [r1, #0x14] ldr r0, _0213b2b8 ; =0x434e424c ldr r1, [r2, #4] cmp r1, r0 movne r0, #0 ldmneia sp!, {r4, pc} ldrh r0, [r2, #0x20] cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} add r0, r4, #0x100 ldrsh r1, [r0, #0x20] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x20] mov r0, r4 mov r1, #5 bl func_ov15_0213a9c8 mov r0, #0xc str r0, [r4, #0x178] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213b248 _0213b2b8: .word 0x434e424c .global func_ov15_0213b2bc arm_func_start func_ov15_0213b2bc func_ov15_0213b2bc: ; 0x0213b2bc stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213b2bc .global func_ov15_0213b2d8 arm_func_start func_ov15_0213b2d8 func_ov15_0213b2d8: ; 0x0213b2d8 bx lr arm_func_end func_ov15_0213b2d8 .global func_ov15_0213b2dc arm_func_start func_ov15_0213b2dc func_ov15_0213b2dc: ; 0x0213b2dc stmdb sp!, {r3, lr} ldr r1, _0213b308 ; =data_027e0fe0 mov r0, #0x294 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0213b338 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213b2dc _0213b308: .word data_027e0fe0 .global func_ov15_0213b30c arm_func_start func_ov15_0213b30c func_ov15_0213b30c: ; 0x0213b30c stmdb sp!, {r4, lr} ldr r3, _0213b330 ; =data_ov15_02185f74 mov r2, #0xa6 mov r4, r0 bl func_ov00_020c607c ldr r1, _0213b334 ; =data_ov15_0218ada4 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213b30c _0213b330: .word data_ov15_02185f74 _0213b334: .word data_ov15_0218ada4 .global func_ov15_0213b338 arm_func_start func_ov15_0213b338 func_ov15_0213b338: ; 0x0213b338 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _0213b374 ; =data_ov15_0218ace8 mov r1, r4 add r0, r4, #0x158 str r2, [r4] bl func_ov15_0213b30c mov r1, #0 str r1, [r4, #0x260] str r1, [r4, #0x254] str r1, [r4, #0x258] mov r0, r4 str r1, [r4, #0x25c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213b338 _0213b374: .word data_ov15_0218ace8 .global func_ov15_0213b378 arm_func_start func_ov15_0213b378 func_ov15_0213b378: ; 0x0213b378 stmdb sp!, {r4, lr} ldr r1, _0213b3d8 ; =data_ov15_0218ace8 mov r4, r0 ldr r0, _0213b3dc ; =data_027e0fe4 str r1, [r4] ldr r0, [r0] add r1, r4, #0x34 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0213b3b8 ldr r2, [r0, #4] ldr r1, _0213b3e0 ; =0x4b4d4741 cmp r2, r1 bne _0213b3b8 mov r1, r4 bl func_ov15_021517e0 _0213b3b8: add r0, r4, #0x1d4 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213b378 _0213b3d8: .word data_ov15_0218ace8 _0213b3dc: .word data_027e0fe4 _0213b3e0: .word 0x4b4d4741 .global func_ov15_0213b3e4 arm_func_start func_ov15_0213b3e4 func_ov15_0213b3e4: ; 0x0213b3e4 stmdb sp!, {r4, lr} ldr r1, _0213b44c ; =data_ov15_0218ace8 mov r4, r0 ldr r0, _0213b450 ; =data_027e0fe4 str r1, [r4] ldr r0, [r0] add r1, r4, #0x34 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0213b424 ldr r2, [r0, #4] ldr r1, _0213b454 ; =0x4b4d4741 cmp r2, r1 bne _0213b424 mov r1, r4 bl func_ov15_021517e0 _0213b424: add r0, r4, #0x1d4 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213b3e4 _0213b44c: .word data_ov15_0218ace8 _0213b450: .word data_027e0fe4 _0213b454: .word 0x4b4d4741 .global func_ov15_0213b458 arm_func_start func_ov15_0213b458 func_ov15_0213b458: ; 0x0213b458 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} ldr r1, _0213b63c ; =data_027e0fe4 mov r4, r0 ldr r0, [r1] add r1, r4, #0x34 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0213b49c ldr r2, [r0, #4] ldr r1, _0213b640 ; =0x4b4d4741 cmp r2, r1 bne _0213b49c mov r1, r4 bl func_ov15_021517a0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0213b49c: ldr r2, _0213b644 ; =data_027e0764 mov r11, #0 ldr r3, [r2] ldmib r2, {r1, r5} umull r7, r6, r5, r3 mla r6, r5, r1, r6 ldr r5, [r2, #0xc] ldr r0, _0213b648 ; =data_027e0f94 mla r6, r5, r3, r6 ldr r1, [r0, #4] ldr r8, [r2, #0x10] ldr r0, [r2, #0x14] adds r5, r8, r7 adc r3, r0, r6 mov r0, r11, lsl #0xc str r5, [r2] add r1, r1, #0x600 orr r0, r0, r3, lsr #20 str r3, [r2, #4] add r0, r1, r0 str r0, [r4, #0x4c] str r0, [r4, #0x26c] ldr r1, [r4, #0x48] ldr r0, _0213b64c ; =data_027e0d0c str r1, [r4, #0x54] ldr r1, [r4, #0x4c] mov r6, #0x80 str r1, [r4, #0x58] ldr r1, [r4, #0x50] mov r10, r11 str r1, [r4, #0x5c] ldr r1, [r0] mov r3, #0x1080 str r1, [r4, #0x7c] ldr r5, [r0, #4] add r1, r4, #0x200 str r5, [r4, #0x80] ldr r0, [r0, #8] str r0, [r4, #0x84] str r6, [r4, #0x88] ldr r0, [r4, #0x7c] str r0, [r4, #0x8c] ldr r0, [r4, #0x80] str r0, [r4, #0x90] ldr r5, [r4, #0x84] mov r0, r4 str r5, [r4, #0x94] ldr r5, [r4, #0x88] str r5, [r4, #0x98] str r10, [r4, #0xa8] str r6, [r4, #0xac] str r10, [r4, #0xb0] str r3, [r4, #0xb4] ldrh r3, [r4, #0x9c] bic r3, r3, #0x12 strh r3, [r4, #0x9c] str r10, [r4, #0x6c] strh r10, [r1, #0x8c] ldr ip, [r2] ldmib r2, {r3, r5, lr} umull r7, r6, r5, ip mla r6, r5, r3, r6 ldr r9, [r2, #0x10] mla r6, lr, ip, r6 ldr r8, [r2, #0x14] adds r3, r9, r7 adc r5, r8, r6 stmia r2, {r3, r5} ldr r2, _0213b650 ; =0x0000ffff umull r2, r3, r5, r2 mla r3, r5, r10, r3 ldr r2, _0213b650 ; =0x0000ffff mla r3, r11, r2, r3 strh r3, [r4, #0x78] strh r10, [r1, #0x8e] mov r1, #0x200 str r1, [r4, #0x27c] mov r1, #2 str r1, [r4, #0x12c] strb r10, [r4, #0x292] bl func_ov15_0213b908 ldr r0, _0213b644 ; =data_027e0764 mov r1, r11 ldr r5, [r0] ldmib r0, {r2, r3} umull r7, r6, r3, r5 mla r6, r3, r2, r6 ldr r2, [r0, #0x10] ldr r8, [r0, #0x14] adds r7, r2, r7 ldr r2, [r0, #0xc] mov r3, r11 mla r6, r2, r5, r6 adc r6, r8, r6 str r7, [r0] str r6, [r0, #4] mov r0, #0x97 umull r2, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r3, r0, r5 add r0, r5, #0x5a str r0, [r4, #0x284] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0213b458 _0213b63c: .word data_027e0fe4 _0213b640: .word 0x4b4d4741 _0213b644: .word data_027e0764 _0213b648: .word data_027e0f94 _0213b64c: .word data_027e0d0c _0213b650: .word 0x0000ffff .global func_ov15_0213b654 arm_func_start func_ov15_0213b654 func_ov15_0213b654: ; 0x0213b654 stmdb sp!, {r3, r4, r5, lr} mov r5, #1 strb r5, [r0, #0x292] ldr r1, _0213b6e8 ; =data_ov15_0218ac90 ldr r3, [r0, #0x274] ldr r1, [r1] ldr r4, _0213b6ec ; =data_ov15_0218ac90 cmp r3, r1 bne _0213b68c ldr r2, [r0, #0x278] ldr r1, [r4, #4] cmp r2, r1 cmpne r3, #0 moveq r5, #0 _0213b68c: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r3, _0213b6f0 ; =data_027e0764 mov r2, #0 ldr ip, [r3] ldmib r3, {r1, lr} umull r5, r4, lr, ip mla r4, lr, r1, r4 ldr r1, [r3, #0xc] ldr lr, [r3, #0x10] mla r4, r1, ip, r4 ldr r1, [r3, #0x14] adds r5, lr, r5 adc r4, r1, r4 mov r1, #0x3c umull ip, lr, r4, r1 mla lr, r4, r2, lr str r5, [r3] mla lr, r2, r1, lr str r4, [r3, #4] add r0, r0, #0x200 strh lr, [r0, #0x90] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213b654 _0213b6e8: .word data_ov15_0218ac90 _0213b6ec: .word data_ov15_0218ac90 _0213b6f0: .word data_027e0764 .global func_ov15_0213b6f4 arm_func_start func_ov15_0213b6f4 func_ov15_0213b6f4: ; 0x0213b6f4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 ldrh r0, [r4, #0x78] ldr r2, _0213b814 ; =data_02050f54 ldr r3, [r4, #0x27c] mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 mov r0, r5, lsl #0x1 ldrsh r1, [r2, r0] add r0, r5, #1 mov r0, r0, lsl #0x1 smull r5, r1, r3, r1 adds r3, r5, #0x800 adc r1, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 ldrsh r1, [r2, r0] str r3, [r4, #0x60] ldr r2, [r4, #0x27c] ldr r0, _0213b818 ; =0x00000d9a smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r4, #0x68] ldr r2, [r4, #0x64] mov r1, #0 umull r5, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r2, r5, #0x800 adc r0, r3, #0 mov r3, r2, lsr #0xc orr r3, r3, r0, lsl #20 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x64] bl func_01ff9bc4 ldr r1, _0213b81c ; =data_027e0f94 add r2, sp, #0 add r0, r4, #0x48 bl func_01ff9bf8 add r0, sp, #0 bl func_01ff9cec mov r5, r0 cmp r5, #0x800 addge sp, sp, #0xc ldmgeia sp!, {r4, r5, pc} add r0, sp, #0 bl func_01fffb4c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} mov r0, r5, lsl #0xd add r0, r0, #0x800 mov r0, r0, asr #0xc rsb r0, r0, #0x1000 mov r0, r0, lsl #0x3 add r1, r0, #0x800 add r0, sp, #0 mov r1, r1, asr #0xc bl func_01fffbec add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 bl func_01ff9bc4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213b6f4 _0213b814: .word data_02050f54 _0213b818: .word 0x00000d9a _0213b81c: .word data_027e0f94 .global func_ov15_0213b820 arm_func_start func_ov15_0213b820 func_ov15_0213b820: ; 0x0213b820 stmdb sp!, {r3, r4, r5, lr} mov r2, r0 ldr r0, [r2, #0x60] ldr r3, _0213b8c0 ; =0x00000d9a mov ip, #0 umull r4, r1, r0, r3 mla r1, r0, ip, r1 mov r0, r0, asr #0x1f adds r4, r4, #0x800 mla r1, r0, r3, r1 adc r0, r1, #0 mov r1, r4, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r2, #0x60] ldr r1, [r2, #0x64] add r0, r2, #0x48 umull r5, r4, r1, r3 adds r5, r5, #0x800 mla r4, r1, ip, r4 mov r1, r1, asr #0x1f mla r4, r1, r3, r4 adc r1, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r1, lsl #20 sub r1, r4, #8 str r1, [r2, #0x64] ldr lr, [r2, #0x68] add r1, r2, #0x60 umull r5, r4, lr, r3 mla r4, lr, ip, r4 mov ip, lr, asr #0x1f mla r4, ip, r3, r4 adds r5, r5, #0x800 adc r3, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r2, #0x68] add r2, r2, #0x48 bl func_01ff9bc4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213b820 _0213b8c0: .word 0x00000d9a .global func_ov15_0213b8c4 arm_func_start func_ov15_0213b8c4 func_ov15_0213b8c4: ; 0x0213b8c4 ldrb r1, [r0, #0x292] cmp r1, #0 beq _0213b900 add r1, r0, #0x200 ldrsh r2, [r1, #0x90] add r3, r0, #0x290 sub r0, r2, #1 strh r0, [r1, #0x90] ldrsh r0, [r1, #0x90] cmp r0, #0 movne r0, #1 bxne lr ldrsh r0, [r3] sub r0, r0, #1 strh r0, [r3] _0213b900: mov r0, #0 bx lr arm_func_end func_ov15_0213b8c4 .global func_ov15_0213b908 arm_func_start func_ov15_0213b908 func_ov15_0213b908: ; 0x0213b908 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 add r0, r4, #0x158 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x1000 ldr r3, _0213b9e0 ; =data_027e0764 str r1, [r0, #0x10] ldr r1, [r3] ldmib r3, {r0, r2} umull r6, r5, r2, r1 mla r5, r2, r0, r5 ldr r2, [r3, #0xc] ldr ip, [r3, #0x10] mla r5, r2, r1, r5 ldr r1, [r3, #0x14] adds r2, ip, r6 adc ip, r1, r5 mov r1, #0xb4 str r2, [r3] mov r0, #0 mov r2, r0 umull r5, r6, ip, r1 mla r6, ip, r2, r6 mla r6, r0, r1, r6 str ip, [r3, #4] add r1, r6, #0xb4 str r1, [r4, #0x288] ldr r1, _0213b9e4 ; =data_027e0f94 ldr ip, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, ip mla r5, lr, r2, r5 ldr lr, [r3, #0xc] ldr r1, [r1, #4] mla r5, lr, ip, r5 ldr ip, [r3, #0x10] add r2, r1, #0x600 adds ip, ip, r6 ldr r6, [r3, #0x14] mov r1, r0, lsl #0xb adc r5, r6, r5 str ip, [r3] orr r1, r1, r5, lsr #21 ldr r0, _0213b9e8 ; =data_ov15_0218ac90 str r5, [r3, #4] add r1, r2, r1 str r1, [r4, #0x26c] ldr r1, [r0, #8] ldr r0, [r0, #0xc] str r1, [r4, #0x274] str r0, [r4, #0x278] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213b908 _0213b9e0: .word data_027e0764 _0213b9e4: .word data_027e0f94 _0213b9e8: .word data_ov15_0218ac90 .global func_ov15_0213b9ec arm_func_start func_ov15_0213b9ec func_ov15_0213b9ec: ; 0x0213b9ec stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r8, r0 bl _ZN5Actor16XzDistanceToLinkEv mov r4, r0 cmp r4, #0x1000 bge _0213ba10 mov r0, r8 bl func_ov15_0213bbe4 _0213ba10: ldr r0, _0213bbd4 ; =data_027e0f94 add r2, sp, #4 add r1, r8, #0x48 bl func_01ff9bf8 ldr r0, [sp, #4] ldr r1, [sp, #0xc] bl func_01ffa0f4 ldr r1, _0213bbd8 ; =0x00000171 mov r0, r0, lsl #0x10 str r1, [r8, #0x280] ldrsh r1, [r8, #0x78] mov r7, r0, asr #0x10 sub r0, r1, r0, asr #16 mov r0, r0, lsl #0xd mov r6, r0, asr #0x10 cmp r6, #0x2000 movgt r6, #0x2000 bgt _0213ba64 ldr r0, _0213bbdc ; =0xffffe71c cmp r6, r0 movlt r6, r0 _0213ba64: add r0, r8, #0x200 ldrsh r0, [r0, #0x8e] mov r5, #0x200 cmp r0, #0 rsblt r0, r0, #0 cmp r6, #0 rsblt r1, r6, #0 movge r1, r6 cmp r1, r0 ldr r0, [r8, #0x16c] movlt r5, #0x100 cmp r0, #1 bne _0213bac4 ldr r0, [r8, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0213bac4 add r0, r8, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r8, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] _0213bac4: add r0, r8, #0x28c mov r1, #0 mov r2, #0x80 bl func_0202b3bc mov r1, r7 add r0, r8, #0x78 mov r2, #0x80 bl func_0202b3bc add r0, r8, #0x8e mov r1, r6 mov r2, r5 add r0, r0, #0x200 bl func_0202b3bc cmp r4, #0x4000 ble _0213bb30 sub r1, r4, #0x4000 mov r0, r1, asr #0x1f mov r2, r0, lsl #0x8 mov r0, #0x800 adds r3, r0, r1, lsl #8 orr r2, r2, r1, lsr #24 adc r0, r2, #0 mov r1, r3, lsr #0xc ldr r2, [r8, #0x280] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r8, #0x280] _0213bb30: add r0, r8, #0x200 ldrh r1, [r0, #0x8e] ldr r0, _0213bbe0 ; =data_02050f54 ldr r3, [r8, #0x280] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r0, r1] mov r1, #0x100 add r0, r8, #0x27c smull r4, r2, r3, r2 adds r3, r4, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r8, #0x280] str r1, [sp] ldr r1, [r8, #0x280] mov r2, #0x180 mov r3, #0x10 bl func_0202b418 ldr r1, [r8, #0x27c] add r0, r8, #0x4c mov r1, r1, asr #0x4 str r1, [sp] ldr r1, [r8, #0x26c] mov r2, #0x100 mov r3, #1 bl func_0202b418 mov r0, r8 bl func_ov15_0213b6f4 mov r0, r8 bl func_ov15_0213b8c4 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r8 bl func_ov15_0213c27c add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213b9ec _0213bbd4: .word data_027e0f94 _0213bbd8: .word 0x00000171 _0213bbdc: .word 0xffffe71c _0213bbe0: .word data_02050f54 .global func_ov15_0213bbe4 arm_func_start func_ov15_0213bbe4 func_ov15_0213bbe4: ; 0x0213bbe4 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 add r0, r4, #0x158 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x1000 ldr r3, _0213bcbc ; =data_027e0764 str r1, [r0, #0x10] ldr r1, [r3] ldmib r3, {r0, r2} umull r6, r5, r2, r1 mla r5, r2, r0, r5 ldr r2, [r3, #0xc] ldr ip, [r3, #0x10] mla r5, r2, r1, r5 ldr r1, [r3, #0x14] adds r2, ip, r6 adc ip, r1, r5 mov r1, #0x3c str r2, [r3] mov r0, #0 mov r2, r0 umull r5, r6, ip, r1 mla r6, ip, r2, r6 mla r6, r0, r1, r6 str ip, [r3, #4] add r1, r6, #0x78 str r1, [r4, #0x288] ldr r1, _0213bcc0 ; =data_027e0f94 ldr ip, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, ip mla r5, lr, r2, r5 ldr lr, [r3, #0xc] ldr r1, [r1, #4] mla r5, lr, ip, r5 ldr ip, [r3, #0x10] add r2, r1, #0x1600 adds ip, ip, r6 ldr r6, [r3, #0x14] mov r1, r0, lsl #0xb adc r5, r6, r5 str ip, [r3] orr r1, r1, r5, lsr #21 ldr r0, _0213bcc4 ; =data_ov15_0218ac90 str r5, [r3, #4] sub r1, r2, r1 str r1, [r4, #0x26c] ldr r1, [r0, #0x10] ldr r0, [r0, #0x14] str r1, [r4, #0x274] str r0, [r4, #0x278] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213bbe4 _0213bcbc: .word data_027e0764 _0213bcc0: .word data_027e0f94 _0213bcc4: .word data_ov15_0218ac90 .global func_ov15_0213bcc8 arm_func_start func_ov15_0213bcc8 func_ov15_0213bcc8: ; 0x0213bcc8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c mov r5, r0 ldr r0, _0213bee8 ; =data_027e0f94 add r2, sp, #0x10 add r1, r5, #0x48 bl func_01ff9bf8 ldr r0, _0213beec ; =data_ov15_02185f9c add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0213bef0 ; =data_027e0fac mov r1, r3 ldrsh r0, [r0] bl func_0202af4c add r0, sp, #0x10 add r1, sp, #4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r5, #0x288] sub r0, r0, #1 str r0, [r5, #0x288] cmp r0, #0 ble _0213bd38 add r0, sp, #0x10 bl func_01ff9cec cmp r0, #0x2000 bge _0213bd64 _0213bd38: ldr r0, _0213bef4 ; =data_027e0fa0 bl func_01ff9cec cmp r0, #0x52 mov r0, r5 ble _0213bd58 bl func_ov15_0213bf04 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0213bd58: bl func_ov15_0213c5c4 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0213bd64: ldr r0, [r5, #0x16c] cmp r0, #1 bne _0213bd9c ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0213bd9c add r0, r5, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r5, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] _0213bd9c: ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldrsh r1, [r5, #0x78] mov r4, r0, asr #0x10 sub r0, r1, r0, asr #16 mov r0, r0, lsl #0xd mov r7, r0, asr #0x10 cmp r7, #0x2000 movgt r7, #0x2000 bgt _0213bdd8 ldr r0, _0213bef8 ; =0xffffe71c cmp r7, r0 movlt r7, r0 _0213bdd8: add r0, r5, #0x200 ldrsh r0, [r0, #0x8e] mov r6, #0x200 mov r2, #0x80 cmp r0, #0 rsblt r0, r0, #0 cmp r7, #0 rsblt r1, r7, #0 movge r1, r7 cmp r1, r0 add r0, r5, #0x28c mov r1, #0 movlt r6, #0x100 bl func_0202b3bc mov r1, r4 add r0, r5, #0x78 mov r2, #0x40 bl func_0202b3bc add r0, r5, #0x8e mov r1, r7 mov r2, r6 add r0, r0, #0x200 bl func_0202b3bc add r0, r5, #0x200 ldrh r1, [r0, #0x8e] ldr r0, _0213befc ; =data_02050f54 mov r4, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r6, [r0, r1] ldr r1, _0213bf00 ; =0x00000133 mov ip, #0x100 umull r8, r7, r6, r1 mla r7, r6, r4, r7 mov lr, r6, asr #0x1f adds r4, r8, #0x800 mla r7, lr, r1, r7 adc r1, r7, #0 mov r4, r4, lsr #0xc orr r4, r4, r1, lsl #20 str r4, [r5, #0x280] str ip, [sp] ldr r1, [r5, #0x280] add r0, r5, #0x27c mov r2, #0x180 mov r3, #0x10 bl func_0202b418 ldr r1, [r5, #0x27c] add r0, r5, #0x4c mov r1, r1, asr #0x4 str r1, [sp] ldr r1, [r5, #0x26c] mov r2, #0x100 mov r3, #1 bl func_0202b418 mov r0, r5 bl func_ov15_0213b6f4 mov r0, r5 bl func_ov15_0213b8c4 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r0, r5 bl func_ov15_0213c27c add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213bcc8 _0213bee8: .word data_027e0f94 _0213beec: .word data_ov15_02185f9c _0213bef0: .word data_027e0fac _0213bef4: .word data_027e0fa0 _0213bef8: .word 0xffffe71c _0213befc: .word data_02050f54 _0213bf00: .word 0x00000133 .global func_ov15_0213bf04 arm_func_start func_ov15_0213bf04 func_ov15_0213bf04: ; 0x0213bf04 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x800 ldr r3, _0213bfdc ; =data_027e0764 str r1, [r0, #0x10] ldr r1, [r3] ldmib r3, {r0, r2} umull r6, r5, r2, r1 mla r5, r2, r0, r5 ldr r2, [r3, #0xc] ldr ip, [r3, #0x10] mla r5, r2, r1, r5 ldr r1, [r3, #0x14] adds r2, ip, r6 adc ip, r1, r5 mov r1, #0x3c str r2, [r3] mov r0, #0 mov r2, r0 umull r5, r6, ip, r1 mla r6, ip, r2, r6 mla r6, r0, r1, r6 str ip, [r3, #4] add r1, r6, #0x78 str r1, [r4, #0x288] ldr r1, _0213bfe0 ; =data_027e0f94 ldr ip, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, ip mla r5, lr, r2, r5 ldr lr, [r3, #0xc] ldr r1, [r1, #4] mla r5, lr, ip, r5 ldr ip, [r3, #0x10] add r2, r1, #0x1600 adds ip, ip, r6 ldr r6, [r3, #0x14] mov r1, r0, lsl #0xb adc r5, r6, r5 str ip, [r3] orr r1, r1, r5, lsr #21 ldr r0, _0213bfe4 ; =data_ov15_0218ac90 str r5, [r3, #4] sub r1, r2, r1 str r1, [r4, #0x26c] ldr r1, [r0, #0x18] ldr r0, [r0, #0x1c] str r1, [r4, #0x274] str r0, [r4, #0x278] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213bf04 _0213bfdc: .word data_027e0764 _0213bfe0: .word data_027e0f94 _0213bfe4: .word data_ov15_0218ac90 .global func_ov15_0213bfe8 arm_func_start func_ov15_0213bfe8 func_ov15_0213bfe8: ; 0x0213bfe8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r6, r0 ldr r0, _0213c258 ; =data_027e0f94 add r2, sp, #0x10 add r1, r6, #0x48 bl func_01ff9bf8 ldr r0, _0213c25c ; =data_ov15_02185fa8 add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0213c260 ; =data_027e0fac mov r1, r3 ldrsh r0, [r0] bl func_0202af4c add r0, sp, #0x10 add r1, sp, #4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0x288] cmp r0, #0 bgt _0213c0a4 ldr r0, _0213c264 ; =data_027e0764 mov r1, #0 ldr r3, [r0] ldmib r0, {r2, r4} umull ip, r5, r4, r3 mla r5, r4, r2, r5 ldr r2, [r0, #0xc] ldr r4, [r0, #0x10] mla r5, r2, r3, r5 ldr r2, [r0, #0x14] adds r3, r4, ip adc r2, r2, r5 mov r1, r1, lsl #0xc str r3, [r0] orr r1, r1, r2, lsr #20 str r2, [r0, #4] cmp r1, #0x800 mov r0, r6 bge _0213c098 bl func_ov15_0213b908 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0213c098: bl func_ov15_0213bbe4 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0213c0a4: sub r0, r0, #1 str r0, [r6, #0x288] ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldrsh r2, [r6, #0x78] mov r5, r0, asr #0x10 ldr r1, _0213c268 ; =0x00001c72 sub r0, r2, r0, asr #16 mov r0, r0, lsl #0xd mov r4, r0, asr #0x10 cmp r1, r0, asr #16 movlt r4, r1 blt _0213c0ec ldr r0, _0213c26c ; =0xfffff1c7 cmp r4, r0 movlt r4, r0 _0213c0ec: add r0, r6, #0x200 ldrsh r0, [r0, #0x8e] mov r7, #0x200 mov r2, #0x60 cmp r0, #0 rsblt r0, r0, #0 cmp r4, #0 rsblt r1, r4, #0 movge r1, r4 cmp r1, r0 ldr r1, _0213c26c ; =0xfffff1c7 add r0, r6, #0x28c movlt r7, #0x100 bl func_0202b3bc mov r1, r5 add r0, r6, #0x78 mov r2, #0x60 bl func_0202b3bc add r0, r6, #0x8e mov r1, r4 mov r2, r7 add r0, r0, #0x200 bl func_0202b3bc add r0, r6, #0x200 ldrh r2, [r0, #0x8e] ldrh r0, [r0, #0x8c] ldr r1, _0213c270 ; =data_02050f54 mov r2, r2, asr #0x4 mov r0, r0, asr #0x4 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 add r2, r2, #1 add r0, r0, #1 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r1, r2] ldrsh r1, [r1, r0] ldr r0, _0213c274 ; =data_027e0fa0 smulbb r1, r2, r1 add r1, r1, #0x800 mov r4, r1, asr #0xc bl func_01ff9cec smull r2, r1, r0, r4 adds r2, r2, #0x800 adc r0, r1, #0 mov r4, r2, lsr #0xc orr r4, r4, r0, lsl #20 mov r0, #0xc00 mov r1, #0 umull r3, r2, r4, r0 mla r2, r4, r1, r2 mov r1, r4, asr #0x1f mla r2, r1, r0, r2 adds r0, r3, #0x800 adc r1, r2, #0 mov r2, r0, lsr #0xc ldr r0, _0213c278 ; =0x00000133 orr r2, r2, r1, lsl #20 cmp r2, r0 str r4, [r6, #0x280] movgt r2, r0 bgt _0213c1ec cmp r2, #0xa4 movlt r2, #0xa4 _0213c1ec: str r2, [r6, #0x280] mov r0, #0x100 str r0, [sp] ldr r1, [r6, #0x280] add r0, r6, #0x27c mov r2, #0x1c0 mov r3, #0x10 bl func_0202b418 ldr r1, [r6, #0x27c] add r0, r6, #0x4c mov r1, r1, asr #0x4 str r1, [sp] ldr r1, [r6, #0x26c] mov r2, #0x100 mov r3, #1 bl func_0202b418 mov r0, r6 bl func_ov15_0213b6f4 mov r0, r6 bl func_ov15_0213b8c4 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 bl func_ov15_0213c27c add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0213bfe8 _0213c258: .word data_027e0f94 _0213c25c: .word data_ov15_02185fa8 _0213c260: .word data_027e0fac _0213c264: .word data_027e0764 _0213c268: .word 0x00001c72 _0213c26c: .word 0xfffff1c7 _0213c270: .word data_02050f54 _0213c274: .word data_027e0fa0 _0213c278: .word 0x00000133 .global func_ov15_0213c27c arm_func_start func_ov15_0213c27c func_ov15_0213c27c: ; 0x0213c27c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r2, #0x1000 ldr r1, _0213c358 ; =data_027e0764 str r2, [r0, #0x10] ldr r2, [r1] ldmib r1, {r0, r3} umull r6, r5, r3, r2 mla r5, r3, r0, r5 ldr r0, [r1, #0xc] ldr r7, [r1, #0x10] mla r5, r0, r2, r5 ldr r0, [r1, #0x14] adds r2, r7, r6 adc r6, r0, r5 mov r0, #0xb4 str r2, [r1] mov r8, #0 mov r2, r8 umull r3, r5, r6, r0 mla r5, r6, r2, r5 mla r5, r8, r0, r5 str r6, [r1, #4] add r0, r5, #0xb4 str r0, [r4, #0x288] ldr r0, _0213c35c ; =data_027e0f94 ldr lr, [r1] ldmib r1, {r3, r5} umull r7, r6, r5, lr mla r6, r5, r3, r6 ldr r5, [r1, #0xc] ldr r0, [r0, #4] mov r3, r8, lsl #0xa add ip, r0, #0x1600 ldr r0, [r1, #0x10] mla r6, r5, lr, r6 adds r7, r0, r7 ldr r8, [r1, #0x14] ldr r0, _0213c360 ; =data_ov15_0218ac90 adc r5, r8, r6 str r7, [r1] orr r3, r3, r5, lsr #22 str r5, [r1, #4] sub r1, ip, r3 str r1, [r4, #0x26c] str r2, [r4, #0x12c] ldr r1, [r0, #0x20] ldr r0, [r0, #0x24] str r1, [r4, #0x274] str r0, [r4, #0x278] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213c27c _0213c358: .word data_027e0764 _0213c35c: .word data_027e0f94 _0213c360: .word data_ov15_0218ac90 .global func_ov15_0213c364 arm_func_start func_ov15_0213c364 func_ov15_0213c364: ; 0x0213c364 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r7, r0 bl _ZN5Actor16XzDistanceToLinkEv mov r4, r0 ldr r0, _0213c4e0 ; =data_027e0f94 add r2, sp, #4 add r1, r7, #0x48 bl func_01ff9bf8 ldr r0, [sp, #4] ldr r1, [sp, #0xc] bl func_01ffa0f4 ldr r1, _0213c4e4 ; =0x00000171 mov r0, r0, lsl #0x10 str r1, [r7, #0x280] mov r0, r0, asr #0x10 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 ldrsh r1, [r7, #0x78] mov r5, r0, asr #0x10 sub r0, r1, r0, asr #16 mov r0, r0, lsl #0xd mov r6, r0, asr #0x10 cmp r6, #0x2000 movgt r6, #0x2000 bgt _0213c3d8 ldr r0, _0213c4e8 ; =0xffffe71c cmp r6, r0 movlt r6, r0 _0213c3d8: add r0, r7, #0x200 ldrsh r0, [r0, #0x8e] mov r8, #0x200 mov r2, #0x80 cmp r0, #0 rsblt r0, r0, #0 cmp r6, #0 rsblt r1, r6, #0 movge r1, r6 cmp r1, r0 add r0, r7, #0x28c mov r1, #0 movlt r8, #0x100 bl func_0202b3bc mov r1, r5 add r0, r7, #0x78 mov r2, #0x20 bl func_0202b3bc add r0, r7, #0x8e mov r1, r6 mov r2, r8 add r0, r0, #0x200 bl func_0202b3bc add r0, r7, #0x200 ldrh r2, [r0, #0x8e] ldr r0, _0213c4ec ; =data_02050f54 ldr r1, [r7, #0x280] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r5, [r0, r2] mov r3, #0x100 add r0, r7, #0x27c smull r6, r5, r1, r5 adds r6, r6, #0x800 adc r1, r5, #0 mov r5, r6, lsr #0xc orr r5, r5, r1, lsl #20 str r5, [r7, #0x280] str r3, [sp] ldr r1, [r7, #0x280] mov r2, #0x200 mov r3, #0x10 bl func_0202b418 ldr r1, [r7, #0x27c] add r0, r7, #0x4c mov r1, r1, asr #0x4 str r1, [sp] ldr r1, [r7, #0x26c] mov r2, #0x100 mov r3, #1 bl func_0202b418 ldrb r0, [r7, #0xa4] cmp r0, #0 ldreqb r0, [r7, #0xa5] cmpeq r0, #0 beq _0213c4c8 cmp r4, #0x14000 ble _0213c4d0 _0213c4c8: mov r0, #0 strb r0, [r7, #0x118] _0213c4d0: mov r0, r7 bl func_ov15_0213b6f4 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213c364 _0213c4e0: .word data_027e0f94 _0213c4e4: .word 0x00000171 _0213c4e8: .word 0xffffe71c _0213c4ec: .word data_02050f54 .global func_ov15_0213c4f0 arm_func_start func_ov15_0213c4f0 func_ov15_0213c4f0: ; 0x0213c4f0 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0x4000 rsb r1, r1, #0 add r0, r4, #0x200 strh r1, [r0, #0x8c] mov r0, #0x14 str r0, [r4, #0x288] add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x200 str r1, [r0, #0x10] mov r1, #0 ldr r0, _0213c574 ; =data_027e0fe4 str r1, [r4, #0x27c] ldr r0, [r0] add r1, r4, #0x34 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0213c55c ldr r2, [r0, #4] ldr r1, _0213c578 ; =0x4b4d4741 cmp r2, r1 bne _0213c55c bl func_ov15_0215185c _0213c55c: ldr r0, _0213c57c ; =data_ov15_0218ac90 ldr r1, [r0, #0x28] ldr r0, [r0, #0x2c] str r1, [r4, #0x274] str r0, [r4, #0x278] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213c4f0 _0213c574: .word data_027e0fe4 _0213c578: .word 0x4b4d4741 _0213c57c: .word data_ov15_0218ac90 .global func_ov15_0213c580 arm_func_start func_ov15_0213c580 func_ov15_0213c580: ; 0x0213c580 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x288] cmp r1, #0 subgt r0, r1, #1 strgt r0, [r4, #0x288] bgt _0213c5b8 bl func_ov15_0213b8c4 cmp r0, #0 mov r0, r4 beq _0213c5b4 bl func_ov15_0213c27c b _0213c5b8 _0213c5b4: bl func_ov15_0213b908 _0213c5b8: mov r0, r4 bl func_ov15_0213b820 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213c580 .global func_ov15_0213c5c4 arm_func_start func_ov15_0213c5c4 func_ov15_0213c5c4: ; 0x0213c5c4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r4, r0 add r0, r4, #0x158 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x1000 ldr lr, _0213c778 ; =data_027e0764 str r1, [r0, #0x10] ldr r1, [lr] ldmib lr, {r0, r2} umull r5, r3, r2, r1 mla r3, r2, r0, r3 ldr r0, [lr, #0xc] ldr r6, [lr, #0x10] mla r3, r0, r1, r3 ldr r0, [lr, #0x14] adds r6, r6, r5 adc r5, r0, r3 mov r1, #0x78 str r6, [lr] umull r0, r3, r5, r1 mov r2, #0 mov r0, r2 mla r3, r5, r0, r3 mla r3, r2, r1, r3 str r5, [lr, #4] add r0, r3, #0x3c str r0, [r4, #0x288] ldr r1, [lr] ldmib lr, {r0, r3} umull r6, r5, r3, r1 mla r5, r3, r0, r5 ldr r0, [lr, #0xc] ldr r3, [lr, #0x10] mla r5, r0, r1, r5 adds r1, r3, r6 ldr r0, [lr, #0x14] ldr r3, _0213c77c ; =0x00002001 adc r5, r0, r5 str r1, [lr] umull r0, r1, r5, r3 mov r0, r2 mla r1, r5, r0, r1 mla r1, r2, r3, r1 str r5, [lr, #4] sub r0, r1, #0x1000 str r0, [r4, #0x268] ldr ip, _0213c780 ; =data_027e0f94 ldr r8, [lr] ldr r6, [ip, #4] ldmib lr, {r7, r10} umull r11, ip, r10, r8 ldr r1, [lr, #0x10] mla ip, r10, r7, ip ldr r9, [lr, #0xc] ldr r0, [lr, #0x14] adds r1, r1, r11 mla ip, r9, r8, ip mov r5, r2, lsl #0xb adc r0, r0, ip str r1, [lr] add r6, r6, #0x1600 orr r5, r5, r0, lsr #21 str r0, [lr, #4] sub r0, r6, r5 str r0, [r4, #0x26c] ldr r1, [lr] ldmib lr, {r0, r6} umull r8, r7, r6, r1 mla r7, r6, r0, r7 ldr r5, [lr, #0xc] ldr r9, [lr, #0x10] mla r7, r5, r1, r7 ldr ip, [lr, #0x14] adds r0, r9, r8 adc r5, ip, r7 stmia lr, {r0, r5} umull r0, r1, r5, r3 mov r0, r2 mla r1, r5, r0, r1 mla r1, r2, r3, r1 sub r0, r1, #0x1000 str r0, [r4, #0x270] ldr r1, [lr] ldmib lr, {r0, ip} umull r6, r5, ip, r1 mla r5, ip, r0, r5 ldr r3, [lr, #0xc] ldr r8, [lr, #0x10] mla r5, r3, r1, r5 ldr r7, [lr, #0x14] adds r0, r8, r6 adc r3, r7, r5 stmia lr, {r0, r3} mov r0, #0x3f umull r0, r1, r3, r0 mov r0, r2 mla r1, r3, r0, r1 mov r0, #0x3f mla r1, r2, r0, r1 add r0, r1, #0x8f str r0, [r4, #0x280] ldr r0, _0213c784 ; =data_ov15_0218ac90 ldr r1, [r0, #0x30] ldr r0, [r0, #0x34] str r1, [r4, #0x274] str r0, [r4, #0x278] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0213c5c4 _0213c778: .word data_027e0764 _0213c77c: .word 0x00002001 _0213c780: .word data_027e0f94 _0213c784: .word data_ov15_0218ac90 .global func_ov15_0213c788 arm_func_start func_ov15_0213c788 func_ov15_0213c788: ; 0x0213c788 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x10 mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv ldr r0, _0213cb00 ; =data_027e0fa0 bl func_01ff9cec cmp r0, #0x52 ble _0213c7b4 mov r0, r4 bl func_ov15_0213bbe4 b _0213c958 _0213c7b4: ldr r0, [r4, #0x288] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r4, #0x288] bgt _0213c958 add r0, r4, #0x158 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r4, #0x168] mov r2, #0x1000 ldr r0, _0213cb04 ; =data_027e0764 str r2, [r1, #0x10] ldr r2, [r0] ldmib r0, {r1, r3} umull r6, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [r0, #0xc] ldr r7, [r0, #0x10] mla r5, r1, r2, r5 ldr r1, [r0, #0x14] adds r3, r7, r6 adc r5, r1, r5 str r3, [r0] mov r2, #0x78 umull r1, r3, r5, r2 mov r10, #0 mov r1, r10 mla r3, r5, r1, r3 mla r3, r10, r2, r3 str r5, [r0, #4] add r1, r3, #0x3c str r1, [r4, #0x288] ldr r2, [r0] ldmib r0, {r1, r3} umull r6, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [r0, #0xc] ldr r7, [r0, #0x10] mla r5, r1, r2, r5 ldr r3, [r0, #0x14] adds r6, r7, r6 ldr r11, _0213cb08 ; =0x00002001 adc r3, r3, r5 umull r1, r2, r3, r11 mov r1, r10 mla r2, r3, r1, r2 mla r2, r10, r11, r2 str r6, [r0] str r3, [r0, #4] sub r1, r2, #0x1000 str r1, [r4, #0x268] ldr r1, _0213cb0c ; =data_027e0f94 ldr ip, [r0] ldmib r0, {r3, r5, lr} umull r7, r6, r5, ip mla r6, r5, r3, r6 ldr r9, [r0, #0x10] ldr r1, [r1, #4] mla r6, lr, ip, r6 add r2, r1, #0x1600 ldr r8, [r0, #0x14] adds r5, r9, r7 mov r1, r10, lsl #0xb adc r3, r8, r6 str r5, [r0] orr r1, r1, r3, lsr #21 str r3, [r0, #4] sub r1, r2, r1 str r1, [r4, #0x26c] ldr r2, [r0] ldmib r0, {r1, r5} umull r7, r6, r5, r2 mla r6, r5, r1, r6 ldr r3, [r0, #0xc] ldr r9, [r0, #0x10] mla r6, r3, r2, r6 ldr r8, [r0, #0x14] adds r1, r9, r7 adc r3, r8, r6 stmia r0, {r1, r3} umull r1, r2, r3, r11 mov r1, r10 mla r2, r3, r1, r2 mla r2, r10, r11, r2 sub r1, r2, #0x1000 str r1, [r4, #0x270] ldr r2, [r0] ldmib r0, {r1, r5} umull r7, r6, r5, r2 mla r6, r5, r1, r6 ldr r3, [r0, #0xc] ldr r9, [r0, #0x10] mla r6, r3, r2, r6 ldr r8, [r0, #0x14] adds r1, r9, r7 adc r2, r8, r6 stmia r0, {r1, r2} mov r0, #0x3f umull r0, r1, r2, r0 mov r0, r10 mla r1, r2, r0, r1 mov r0, #0x3f mla r1, r10, r0, r1 add r0, r1, #0x8f str r0, [r4, #0x280] _0213c958: ldr r0, [r4, #0x16c] cmp r0, #1 bne _0213c990 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0213c990 add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] _0213c990: ldr r0, _0213cb0c ; =data_027e0f94 add r2, sp, #4 add r1, r4, #0x48 bl func_01ff9bf8 add r0, sp, #4 add r1, r4, #0x268 mov r2, r0 bl func_01ff9bc4 ldr r0, [sp, #4] ldr r1, [sp, #0xc] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldrsh r1, [r4, #0x78] mov r5, r0, asr #0x10 sub r0, r1, r0, asr #16 mov r0, r0, lsl #0xd mov r7, r0, asr #0x10 cmp r7, #0x2000 movgt r7, #0x2000 bgt _0213c9ec ldr r0, _0213cb10 ; =0xffffe71c cmp r7, r0 movlt r7, r0 _0213c9ec: add r0, r4, #0x200 ldrsh r0, [r0, #0x8e] mov r6, #0x180 mov r2, #0x80 cmp r0, #0 rsblt r0, r0, #0 cmp r7, #0 rsblt r1, r7, #0 movge r1, r7 cmp r1, r0 add r0, r4, #0x28c mov r1, #0 movlt r6, #0x80 bl func_0202b3bc mov r1, r5 add r0, r4, #0x78 mov r2, #0x80 bl func_0202b3bc add r0, r4, #0x8e mov r1, r7 mov r2, r6 add r0, r0, #0x200 bl func_0202b3bc mov r0, #0x80 str r0, [sp] add r0, r4, #0x200 ldrh r1, [r0, #0x8e] ldr r5, [r4, #0x280] add r0, r4, #0x27c mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r1, r1, #1 mov r3, r1, lsl #0x1 ldr r1, _0213cb14 ; =data_02050f54 mov r2, #0x100 ldrsh r1, [r1, r3] mov r3, #0x10 smull r6, r1, r5, r1 adds r6, r6, #0x800 adc r5, r1, #0 mov r1, r6, lsr #0xc orr r1, r1, r5, lsl #20 bl func_0202b418 ldr r1, [r4, #0x27c] add r0, r4, #0x4c mov r1, r1, asr #0x4 str r1, [sp] ldr r1, [r4, #0x26c] mov r2, #0x100 mov r3, #1 bl func_0202b418 mov r0, r4 bl func_ov15_0213b6f4 mvn r0, #0x80000000 str r0, [sp] add r0, r4, #0x280 mov r1, #0x8f mov r2, #0x10 mov r3, #0 bl func_0202b418 mov r0, r4 bl func_ov15_0213b8c4 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r4 bl func_ov15_0213c27c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0213c788 _0213cb00: .word data_027e0fa0 _0213cb04: .word data_027e0764 _0213cb08: .word 0x00002001 _0213cb0c: .word data_027e0f94 _0213cb10: .word 0xffffe71c _0213cb14: .word data_02050f54 .global func_ov15_0213cb18 arm_func_start func_ov15_0213cb18 func_ov15_0213cb18: ; 0x0213cb18 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0213cc68 add r0, r5, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r5 bl func_ov15_0213ccac ldr r0, [sp] ldr r1, _0213cc80 ; =data_ov15_0218ac90 str r0, [r5, #0x54] ldr r2, [sp, #4] mov r0, #0 str r2, [r5, #0x58] ldr r2, [sp, #8] mov r7, #1 str r2, [r5, #0x5c] ldr r3, [r5, #0x274] ldr r1, [r1, #0x38] ldr r6, _0213cc84 ; =data_ov15_0218acc8 cmp r3, r1 bne _0213cb98 ldr r2, [r5, #0x278] ldr r1, [r6, #4] cmp r2, r1 cmpne r3, #0 moveq r7, #0 _0213cb98: cmp r7, #0 beq _0213cbd8 ldr r1, _0213cc80 ; =data_ov15_0218ac90 ldr r3, [r5, #0x274] ldr r1, [r1, #0x40] mov r6, #1 cmp r3, r1 ldr r1, _0213cc88 ; =data_ov15_0218acd0 bne _0213cbd0 ldr r2, [r5, #0x278] ldr r1, [r1, #4] cmp r2, r1 cmpne r3, #0 moveq r6, #0 _0213cbd0: cmp r6, #0 movne r0, #1 _0213cbd8: cmp r0, #0 beq _0213cbf0 mov r1, #0 mov r0, r5 mov r2, r1 bl _ZN5Actor18func_ov00_020c243cEiPi _0213cbf0: ldr r0, [r5, #0x284] sub r0, r0, #1 str r0, [r5, #0x284] cmp r0, #0 bgt _0213cc68 ldr r2, _0213cc8c ; =data_027e0764 mov r3, #0 ldr r1, [r2] ldmib r2, {r0, ip} umull r6, lr, ip, r1 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r1, lr ldr r0, [r2, #0x14] adds r7, ip, r6 adc r6, r0, lr mov r0, #0x97 umull r1, ip, r6, r0 str r7, [r2] str r6, [r2, #4] mla ip, r6, r3, ip mov r1, r3 mla ip, r1, r0, ip add ip, ip, #0x5a ldr r0, _0213cc90 ; =data_027e0ffc ldr r1, _0213cc94 ; =0x00000252 add r2, r5, #0x48 str ip, [r5, #0x284] bl func_ov00_020ceacc _0213cc68: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0213cb18 _0213cc80: .word data_ov15_0218ac90 _0213cc84: .word data_ov15_0218acc8 _0213cc88: .word data_ov15_0218acd0 _0213cc8c: .word data_027e0764 _0213cc90: .word data_027e0ffc _0213cc94: .word 0x00000252 .global func_ov15_0213cc98 arm_func_start func_ov15_0213cc98 func_ov15_0213cc98: ; 0x0213cc98 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0213cc98 .global func_ov15_0213ccac arm_func_start func_ov15_0213ccac func_ov15_0213ccac: ; 0x0213ccac stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x278] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r4, #0x274] beq _0213ccd4 ldr r2, [r0] ldr r1, [r4, #0x274] ldr r1, [r2, r1] _0213ccd4: blx r1 add r0, r4, #0x158 bl func_ov00_020c5e20 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213ccac .global func_ov15_0213cce4 arm_func_start func_ov15_0213cce4 func_ov15_0213cce4: ; 0x0213cce4 stmdb sp!, {r3, lr} ldr r2, _0213cd54 ; =data_ov15_0218ac90 ldr ip, [r0, #0x274] ldr r2, [r2, #0x48] mov lr, #1 cmp ip, r2 ldr r2, _0213cd58 ; =data_ov15_0218acd8 bne _0213cd18 ldr r3, [r0, #0x278] ldr r2, [r2, #4] cmp r3, r2 cmpne ip, #0 moveq lr, #0 _0213cd18: cmp lr, #0 beq _0213cd4c ldr r2, [r1, #4] str r2, [r0, #0x60] ldr r2, [r1, #8] str r2, [r0, #0x64] ldr r1, [r1, #0xc] str r1, [r0, #0x68] ldr r1, [r0, #0x64] cmp r1, #0 movlt r1, #0 strlt r1, [r0, #0x64] bl func_ov15_0213c4f0 _0213cd4c: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213cce4 _0213cd54: .word data_ov15_0218ac90 _0213cd58: .word data_ov15_0218acd8 .global func_ov15_0213cd5c arm_func_start func_ov15_0213cd5c func_ov15_0213cd5c: ; 0x0213cd5c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x90 mov r6, r0 cmp r1, #0 ldrneb r0, [r6, #0xa5] ldreqb r0, [r6, #0xa4] cmp r0, #0 addeq sp, sp, #0x90 ldmeqia sp!, {r4, r5, r6, pc} add r3, r6, #0x200 ldrh r0, [r3, #0x8c] ldr r2, _0213ce44 ; =data_02050f54 ldrh r5, [r6, #0x78] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0 ldrh r4, [r3, #0x8e] blx func_01ff81f8 mov r0, r5, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0213ce44 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0x24 blx func_01ff8214 mov r0, r4, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0213ce44 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0x48 blx func_01ff8230 add r0, sp, #0 add r1, sp, #0x48 add r2, sp, #0x6c bl func_0202e030 add r0, sp, #0x6c add r1, sp, #0x24 mov r2, r0 bl func_0202e030 ldr r1, _0213ce48 ; =data_027e016c add r0, r6, #0x158 add r3, r6, #0x48 add r2, sp, #0x6c bl func_ov00_020c5f80 add sp, sp, #0x90 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213cd5c _0213ce44: .word data_02050f54 _0213ce48: .word data_027e016c .global func_ov15_0213ce4c arm_func_start func_ov15_0213ce4c func_ov15_0213ce4c: ; 0x0213ce4c ldr r0, _0213ce58 ; =data_ov15_0218ef1c ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov15_0213ce4c _0213ce58: .word data_ov15_0218ef1c .global func_ov15_0213ce5c arm_func_start func_ov15_0213ce5c func_ov15_0213ce5c: ; 0x0213ce5c stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4] strh r1, [r4, #0xc] str r1, [r4, #0x10] str r1, [r4, #0x14] strh r1, [r4, #0x18] strh r1, [r4, #0x1a] strb r1, [r4, #0x41] strb r1, [r4, #0x42] strb r1, [r4, #0x43] strb r1, [r4, #0x44] ldr r0, _0213cf0c ; =data_027e0ce0 strb r1, [r4, #0x45] ldr r1, [r0, #4] mov r0, #0xc00 mov r2, #4 bl func_0202e9f4 str r0, [r4, #4] ldr r1, _0213cf0c ; =data_027e0ce0 mov r0, #0x400 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9f4 str r0, [r4, #8] mvn r0, #0 strh r0, [r4, #0xe] mov r0, #2 str r0, [r4, #0x1c] str r0, [r4, #0x20] mov r1, #0 str r1, [r4, #0x2c] str r1, [r4, #0x28] str r1, [r4, #0x34] str r1, [r4, #0x30] str r1, [r4, #0x38] strb r1, [r4, #0x3d] strb r1, [r4, #0x40] strb r1, [r4, #0x3c] strb r1, [r4, #0x3e] mov r0, r4 strb r1, [r4, #0x3f] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213ce5c _0213cf0c: .word data_027e0ce0 .global func_ov15_0213cf10 arm_func_start func_ov15_0213cf10 func_ov15_0213cf10: ; 0x0213cf10 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] bl func_0202ea18 ldr r0, [r4, #8] bl func_0202ea18 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213cf10 .global func_ov15_0213cf30 arm_func_start func_ov15_0213cf30 func_ov15_0213cf30: ; 0x0213cf30 stmdb sp!, {r3, lr} ldr r0, _0213cf70 ; =data_ov15_0218ef1c ldr r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r1, _0213cf74 ; =data_027e0ce0 mov r0, #0x48 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0213cf64 bl func_ov15_0213ce5c _0213cf64: ldr r1, _0213cf70 ; =data_ov15_0218ef1c str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213cf30 _0213cf70: .word data_ov15_0218ef1c _0213cf74: .word data_027e0ce0 .global func_ov15_0213cf78 arm_func_start func_ov15_0213cf78 func_ov15_0213cf78: ; 0x0213cf78 stmdb sp!, {r4, lr} ldr r0, _0213cfb0 ; =data_ov15_0218ef1c ldr r4, [r0] cmp r4, #0 ldmeqia sp!, {r4, pc} beq _0213cfa0 mov r0, r4 bl func_ov15_0213cf10 mov r0, r4 bl _ZN9SysObjectdlEPv _0213cfa0: ldr r0, _0213cfb0 ; =data_ov15_0218ef1c mov r1, #0 str r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213cf78 _0213cfb0: .word data_ov15_0218ef1c .global func_ov15_0213cfb4 arm_func_start func_ov15_0213cfb4 func_ov15_0213cfb4: ; 0x0213cfb4 stmdb sp!, {r4, lr} ldr r2, _0213cfe4 ; =data_027e0fb8 mov r4, r0 ldr r0, [r2] mov r2, r1 mov r1, #1 bl _ZN13PlayerControl18func_ov00_020af538Ev mov r0, r4 bl func_ov15_0213dbb8 mov r0, r4 bl func_ov15_0213dcc0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213cfb4 _0213cfe4: .word data_027e0fb8 .global func_ov15_0213cfe8 arm_func_start func_ov15_0213cfe8 func_ov15_0213cfe8: ; 0x0213cfe8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x30 mov r9, r0 ldrsh r4, [r9, #0xe] mov r8, r1 mov r7, r2 mov r6, r3 cmp r4, #0 bge _0213d024 cmp r6, #0 mvnne r0, #0 strneh r0, [r6] add sp, sp, #0x30 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _0213d024: ldr r1, [r9, #4] mov r0, #0xc smlabb r0, r4, r0, r1 ldr r3, _0213d1a8 ; =data_027e0f94 add r5, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r1, [r3] ldr r0, [r3, #4] str r1, [sp, #0x18] str r0, [sp, #0x1c] ldr r2, [r3, #8] add r1, sp, #0x18 mov r0, r5 str r2, [sp, #0x20] bl func_01ff9ec0 subs r8, r8, r0 bmi _0213d09c ldrh r1, [r9, #0xc] _0213d070: add r0, r4, #1 mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 mov r4, r0, asr #0x10 addle sp, sp, #0x30 movle r0, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldr r0, [r9, #8] ldr r0, [r0, r4, lsl #2] subs r8, r8, r0 bpl _0213d070 _0213d09c: mov r0, #0xc mul r5, r4, r0 ldr r2, [r9, #4] cmp r4, #0 ldr r1, [r2, r5] add r2, r2, r5 str r1, [sp, #0xc] ldr r1, [r2, #4] str r1, [sp, #0x10] ldr r1, [r2, #8] str r1, [sp, #0x14] ble _0213d108 sub r1, r4, #1 mul r2, r1, r0 ldr r3, [r9, #4] add r0, sp, #0xc ldr r1, [r3, r2] add r3, r3, r2 str r1, [sp] ldr r2, [r3, #4] add r1, sp, #0 str r2, [sp, #4] ldr r3, [r3, #8] mov r2, r0 str r3, [sp, #8] bl func_01ff9bf8 b _0213d118 _0213d108: add r0, sp, #0xc add r1, sp, #0x18 mov r2, r0 bl func_01ff9bf8 _0213d118: ldr r1, [r9, #4] add r0, sp, #0xc ldr r1, [r1, r5] str r1, [r7] ldr r1, [r9, #4] add r1, r1, r5 ldr r1, [r1, #4] str r1, [r7, #4] ldr r1, [r9, #4] add r1, r1, r5 ldr r1, [r1, #8] str r1, [r7, #8] bl func_01fffb4c cmp r0, #0 beq _0213d190 add r0, sp, #0xc mov r1, r8 bl func_01fffbec ldr r1, [r7] ldr r0, [sp, #0xc] add r0, r1, r0 str r0, [r7] ldr r1, [r7, #4] ldr r0, [sp, #0x10] add r0, r1, r0 str r0, [r7, #4] ldr r1, [r7, #8] ldr r0, [sp, #0x14] add r0, r1, r0 str r0, [r7, #8] _0213d190: cmp r6, #0 subne r0, r4, #1 strneh r0, [r6] mov r0, #1 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0213cfe8 _0213d1a8: .word data_027e0f94 .global func_ov15_0213d1ac arm_func_start func_ov15_0213d1ac func_ov15_0213d1ac: ; 0x0213d1ac mov r0, #0 bx lr arm_func_end func_ov15_0213d1ac .global func_ov15_0213d1b4 arm_func_start func_ov15_0213d1b4 func_ov15_0213d1b4: ; 0x0213d1b4 str r1, [r0, #0x20] str r1, [r0, #0x1c] mov r1, #1 strb r1, [r0, #0x41] bx lr arm_func_end func_ov15_0213d1b4 .global func_ov15_0213d1c8 arm_func_start func_ov15_0213d1c8 func_ov15_0213d1c8: ; 0x0213d1c8 mov r1, #0 strb r1, [r0, #0x41] bx lr arm_func_end func_ov15_0213d1c8 .global func_ov15_0213d1d4 arm_func_start func_ov15_0213d1d4 func_ov15_0213d1d4: ; 0x0213d1d4 ldr r0, [r0, #0x1c] bx lr arm_func_end func_ov15_0213d1d4 .global func_ov15_0213d1dc arm_func_start func_ov15_0213d1dc func_ov15_0213d1dc: ; 0x0213d1dc ldr r0, [r0, #0x20] bx lr arm_func_end func_ov15_0213d1dc .global func_ov15_0213d1e4 arm_func_start func_ov15_0213d1e4 func_ov15_0213d1e4: ; 0x0213d1e4 ldr r0, [r0, #0x10] bx lr arm_func_end func_ov15_0213d1e4 .global func_ov15_0213d1ec arm_func_start func_ov15_0213d1ec func_ov15_0213d1ec: ; 0x0213d1ec ldrsh r0, [r0, #0x18] bx lr arm_func_end func_ov15_0213d1ec .global func_ov15_0213d1f4 arm_func_start func_ov15_0213d1f4 func_ov15_0213d1f4: ; 0x0213d1f4 ldrh r0, [r0, #0xc] bx lr arm_func_end func_ov15_0213d1f4 .global func_ov15_0213d1fc arm_func_start func_ov15_0213d1fc func_ov15_0213d1fc: ; 0x0213d1fc stmdb sp!, {r4, lr} ldr r1, _0213d3a0 ; =data_027e10a4 mov r4, r0 ldr r1, [r1] mov r0, #0 ldrb r1, [r1, #0x26c] cmp r1, #0 ldrne r1, _0213d3a4 ; =data_027e0d78 ldrneb r2, [r1, #0xc] cmpne r2, #0 beq _0213d25c ldr r1, [r1, #0x10] cmp r1, #8 ldrlt r0, _0213d3a8 ; =0xfffff3e9 blt _0213d25c cmp r1, #0xf8 ldrge r0, _0213d3ac ; =0x00000c17 bge _0213d25c ldr r0, _0213d3b0 ; =0x00000aab sub r1, r1, #0x80 mul r2, r1, r0 mov r0, r2, asr #0x6 add r0, r2, r0, lsr #25 mov r0, r0, asr #0x7 _0213d25c: ldr r1, [r4, #0x10] ldr r3, [r4, #0x14] sub r2, r0, r1 mov r1, r2, asr #0x8 add r1, r2, r1, lsr #23 add r2, r3, r1, asr #9 cmp r2, #0xaa str r2, [r4, #0x14] movge r1, #0xaa strge r1, [r4, #0x14] bge _0213d294 mvn r1, #0xa9 cmp r2, r1 strle r1, [r4, #0x14] _0213d294: cmp r0, #0 ldreq r1, [r4, #0x14] cmpeq r1, #0 bne _0213d2c8 mov r1, #0x200 ldr r2, [r4, #0x10] rsb r1, r1, #0 cmp r2, r1 blt _0213d2c8 cmp r2, #0x200 movle r1, #0 strle r1, [r4, #0x10] ble _0213d32c _0213d2c8: ldr r1, [r4, #0x10] cmp r0, r1 bge _0213d2fc ldr r1, [r4, #0x14] cmp r1, #0xb subge r1, r1, #0xb strge r1, [r4, #0x14] bge _0213d32c bge _0213d32c cmp r1, #0 movgt r1, #0 strgt r1, [r4, #0x14] b _0213d32c _0213d2fc: cmp r1, r0 bge _0213d32c ldr r2, [r4, #0x14] mvn r1, #0xa cmp r2, r1 addle r1, r2, #0xb strle r1, [r4, #0x14] ble _0213d32c ble _0213d32c cmp r2, #0 movlt r1, #0 strlt r1, [r4, #0x14] _0213d32c: ldr r3, [r4, #0x10] ldr r1, [r4, #0x14] ldr r2, _0213d3b0 ; =0x00000aab add r3, r3, r1 str r3, [r4, #0x10] cmp r3, r2 strge r2, [r4, #0x10] bge _0213d358 rsb r1, r2, #0 cmp r3, r1 strle r1, [r4, #0x10] _0213d358: cmp r0, #0 bne _0213d374 add r0, r4, #0x1a mov r1, #0 mov r2, #0x20 bl func_0202b154 b _0213d38c _0213d374: add r0, r0, r0, lsr #31 mov r1, r0, lsl #0xf add r0, r4, #0x1a mov r1, r1, asr #0x10 mov r2, #0x40 bl func_0202b154 _0213d38c: ldrsh r1, [r4, #0x18] ldrsh r0, [r4, #0x1a] add r0, r1, r0 strh r0, [r4, #0x18] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213d1fc _0213d3a0: .word data_027e10a4 _0213d3a4: .word data_027e0d78 _0213d3a8: .word 0xfffff3e9 _0213d3ac: .word 0x00000c17 _0213d3b0: .word 0x00000aab .global func_ov15_0213d3b4 arm_func_start func_ov15_0213d3b4 func_ov15_0213d3b4: ; 0x0213d3b4 mov r1, #1 strb r1, [r0, #0x3c] mov r1, #0 str r1, [r0, #0x10] strh r1, [r0, #0x18] str r1, [r0, #0x14] strh r1, [r0, #0x1a] bx lr arm_func_end func_ov15_0213d3b4 .global func_ov15_0213d3d4 arm_func_start func_ov15_0213d3d4 func_ov15_0213d3d4: ; 0x0213d3d4 mov r1, #0 strh r1, [r0, #0xc] strb r1, [r0, #0x42] strb r1, [r0, #0x43] bx lr arm_func_end func_ov15_0213d3d4 .global func_ov15_0213d3e8 arm_func_start func_ov15_0213d3e8 func_ov15_0213d3e8: ; 0x0213d3e8 ldrh r1, [r0, #0xc] cmp r1, #0 bxeq lr mov r2, #0 mov r1, #2 strh r2, [r0, #0xe] str r1, [r0, #0x1c] str r1, [r0, #0x20] bx lr arm_func_end func_ov15_0213d3e8 .global func_ov15_0213d40c arm_func_start func_ov15_0213d40c func_ov15_0213d40c: ; 0x0213d40c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 ldrh r0, [r5, #0xc] mov r4, r1 cmp r0, #0x100 movhs r0, #1 ldmhsia sp!, {r3, r4, r5, r6, r7, pc} cmp r0, #0 ldreq r6, _0213d4ec ; =data_027e0f94 moveq r7, #0x8000 beq _0213d44c ldr r3, [r5, #4] sub r1, r0, #1 mov r0, #0xc mla r6, r1, r0, r3 mov r7, #0x4000 _0213d44c: ldr r0, _0213d4f0 ; =data_027e0d3c cmp r2, #0 ldr r0, [r0] movne r7, #0x2000 bl func_ov00_02078ffc ldr r1, [r0] cmp r1, #0x1000 beq _0213d488 cmp r1, #0x2000 addeq r0, r7, r7, lsr #31 moveq r7, r0, asr #0x1 beq _0213d488 mov r0, r7 bl Divide mov r7, r0 _0213d488: mov r0, r4 mov r1, r6 bl func_01ff9ec0 cmp r0, r7 movle r0, #2 ldmleia sp!, {r3, r4, r5, r6, r7, pc} ldrh r2, [r5, #0xc] mov r1, #0xc ldr ip, [r5, #4] mul r3, r2, r1 ldr r1, [r4] add r2, ip, r3 str r1, [ip, r3] ldr r1, [r4, #4] str r1, [r2, #4] ldr r1, [r4, #8] str r1, [r2, #8] ldrh r1, [r5, #0xc] ldr r2, [r5, #8] str r0, [r2, r1, lsl #2] ldrh r1, [r5, #0xc] mov r0, #0 add r1, r1, #1 strh r1, [r5, #0xc] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0213d40c _0213d4ec: .word data_027e0f94 _0213d4f0: .word data_027e0d3c .global func_ov15_0213d4f4 arm_func_start func_ov15_0213d4f4 func_ov15_0213d4f4: ; 0x0213d4f4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r2, [r5, #0x3c] mov r4, r1 cmp r2, #1 bne _0213d514 bl func_ov15_0213d5f0 ldmia sp!, {r3, r4, r5, pc} _0213d514: ldrsh r2, [r5, #0xe] cmp r2, #0 blt _0213d52c ldrh r0, [r5, #0xc] cmp r2, r0 blt _0213d53c _0213d52c: mvn r0, #0 strh r0, [r5, #0xe] ldrsh r0, [r5, #0xe] ldmia sp!, {r3, r4, r5, pc} _0213d53c: ldr r1, [r5, #4] mov r0, #0xc smlabb r0, r2, r0, r1 ldr r1, _0213d5e8 ; =data_027e0f94 bl func_01ff9ec0 cmp r0, #0x2000 bge _0213d5b4 ldrsh r0, [r5, #0xe] add r0, r0, #1 strh r0, [r5, #0xe] ldrsh r1, [r5, #0xe] ldrh r0, [r5, #0xc] cmp r1, r0 blt _0213d5b4 ldrb r0, [r5, #0x42] cmp r0, #0 beq _0213d590 mov r0, #0 strb r0, [r5, #0x43] strh r0, [r5, #0xe] b _0213d5ac _0213d590: mvn r1, #0 ldr r0, _0213d5ec ; =data_027e10a4 strh r1, [r5, #0xe] ldr r1, [r0] ldr r0, [r1, #0x60] orr r0, r0, #8 str r0, [r1, #0x60] _0213d5ac: ldrsh r0, [r5, #0xe] ldmia sp!, {r3, r4, r5, pc} _0213d5b4: ldrsh r1, [r5, #0xe] mov r0, #0xc ldr r2, [r5, #4] smulbb r1, r1, r0 ldr r0, [r2, r1] add r1, r2, r1 str r0, [r4] ldr r0, [r1, #4] str r0, [r4, #4] ldr r0, [r1, #8] str r0, [r4, #8] ldrsh r0, [r5, #0xe] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213d4f4 _0213d5e8: .word data_027e0f94 _0213d5ec: .word data_027e10a4 .global func_ov15_0213d5f0 arm_func_start func_ov15_0213d5f0 func_ov15_0213d5f0: ; 0x0213d5f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} mov r10, r0 ldrsh r5, [r10, #0xe] mov r9, r1 cmp r5, #0 blt _0213d614 ldrh r0, [r10, #0xc] cmp r5, r0 blt _0213d62c _0213d614: mov r0, #0 strb r0, [r10, #0x3c] sub r0, r0, #1 strh r0, [r10, #0xe] ldrsh r0, [r10, #0xe] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _0213d62c: mov r6, r5 cmp r5, r0 mvn r7, #0x80000000 bge _0213d680 mov r0, #0xc smulbb r8, r5, r0 ldr r4, _0213d70c ; =data_027e0f94 _0213d648: ldr r0, [r10, #4] mov r1, r4 add r0, r0, r8 bl func_01ff9ec0 cmp r0, r7 movlt r7, r0 add r0, r5, #1 ldrh r1, [r10, #0xc] mov r0, r0, lsl #0x10 movlt r6, r5 cmp r1, r0, asr #16 add r8, r8, #0xc mov r5, r0, asr #0x10 bgt _0213d648 _0213d680: strh r6, [r10, #0xe] cmp r7, #0x2000 blt _0213d6d4 mov r0, r7, asr #0xb add r0, r7, r0, lsr #20 add r2, r6, #1 mov r1, r0, lsl #0x4 mov r0, r2, lsl #0x10 mov r2, r1, asr #0x10 cmp r2, #5 movge r2, #5 cmp r2, #0 ldrh r1, [r10, #0xc] mov r6, r0, asr #0x10 movlt r2, #0 add r0, r6, r2 cmp r0, r1 subge r0, r1, #1 movge r0, r0, lsl #0x10 movge r6, r0, asr #0x10 b _0213d6dc _0213d6d4: mov r0, #0 strb r0, [r10, #0x3c] _0213d6dc: mov r0, #0xc smulbb r1, r6, r0 ldr r2, [r10, #4] ldr r0, [r2, r1] add r1, r2, r1 str r0, [r9] ldr r0, [r1, #4] str r0, [r9, #4] ldr r0, [r1, #8] str r0, [r9, #8] mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0213d5f0 _0213d70c: .word data_027e0f94 .global func_ov15_0213d710 arm_func_start func_ov15_0213d710 func_ov15_0213d710: ; 0x0213d710 stmdb sp!, {r4, lr} ldr r1, _0213d86c ; =gAdventureFlags mov r4, r0 ldr r0, [r1] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0213d738 ldrb r0, [r4, #0x45] cmp r0, #1 bne _0213d748 _0213d738: mov r0, #0x30 str r0, [r4, #0x28] str r0, [r4, #0x34] ldmia sp!, {r4, pc} _0213d748: ldr r0, _0213d870 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 beq _0213d778 ldr r0, _0213d870 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #1 bne _0213d784 _0213d778: mov r0, #0x30 str r0, [r4, #0x28] b _0213d7f4 _0213d784: ldr r0, _0213d874 ; =data_027e10a4 ldr r1, [r0] ldrb r0, [r1, #0x26d] cmp r0, #0 beq _0213d7c4 ldr r2, [r1, #0x2c] cmp r2, #1 bne _0213d7b0 ldrb r0, [r1, #0x25f] cmp r0, #0 bne _0213d7c4 _0213d7b0: ldrsh r0, [r4, #0xe] cmp r0, #0 bge _0213d7e0 cmp r2, #0 bne _0213d7e0 _0213d7c4: ldr r0, [r4, #0x28] add r0, r0, #0xc str r0, [r4, #0x28] cmp r0, #0x30 movgt r0, #0x30 strgt r0, [r4, #0x28] b _0213d7f4 _0213d7e0: ldr r0, [r4, #0x28] subs r0, r0, #0xc str r0, [r4, #0x28] movmi r0, #0 strmi r0, [r4, #0x28] _0213d7f4: ldr r0, _0213d874 ; =data_027e10a4 ldr r1, [r0] ldrb r0, [r1, #0x26d] cmp r0, #0 beq _0213d838 ldr r0, [r1, #0x2c] cmp r0, #0 bne _0213d838 ldrb r0, [r1, #0x260] cmp r0, #1 beq _0213d838 ldr r0, _0213d878 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf03c ldrsb r0, [r0, #0x14] cmp r0, #0 beq _0213d854 _0213d838: ldr r0, [r4, #0x34] add r0, r0, #0xc str r0, [r4, #0x34] cmp r0, #0x30 movgt r0, #0x30 strgt r0, [r4, #0x34] ldmia sp!, {r4, pc} _0213d854: ldr r0, [r4, #0x34] subs r0, r0, #0xc str r0, [r4, #0x34] movmi r0, #0 strmi r0, [r4, #0x34] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213d710 _0213d86c: .word gAdventureFlags _0213d870: .word data_027e0d38 _0213d874: .word data_027e10a4 _0213d878: .word data_027e103c .global func_ov15_0213d87c arm_func_start func_ov15_0213d87c func_ov15_0213d87c: ; 0x0213d87c stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r0, [r4, #0x28] cmp r0, #0 bne _0213d8a0 ldrb r0, [r4, #0x41] cmp r0, #1 bne _0213d8b4 _0213d8a0: mov r0, #0 strb r0, [r4, #0x3d] add sp, sp, #8 strb r0, [r4, #0x3e] ldmia sp!, {r4, pc} _0213d8b4: ldr r0, _0213daf8 ; =data_027e10a4 add r2, sp, #4 ldr r0, [r0] add r3, sp, #0 ldrb r0, [r0, #0x26d] cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x3d] streqb r0, [r4, #0x3e] ldr r0, _0213dafc ; =data_027e0c38 ldr r0, [r0, #0x10] cmp r0, #1 mov r0, #0x10 bne _0213d8f8 mov r1, #5 bl func_02034698 b _0213d900 _0213d8f8: mov r1, #3 bl func_02034698 _0213d900: mov r0, r4 bl func_ov15_0213db08 ldr r1, _0213db00 ; =data_027e0d78 ldrb r2, [r1, #0xc] cmp r2, #0 beq _0213d9f4 cmp r0, #0 beq _0213da5c ldrh r2, [r1, #0x34] tst r2, #1 beq _0213d970 mov r2, #1 strb r2, [r4, #0x3d] mov r1, #0 strb r1, [r4, #0x3e] ldr r1, [r4, #0x1c] str r1, [r4, #0x24] ldr r1, [r4, #0x1c] cmp r1, #2 bne _0213d958 cmp r0, #2 b _0213d960 _0213d958: cmp r1, #0 cmpeq r0, #1 _0213d960: streqb r2, [r4, #0x3e] mov r0, #0xa str r0, [r4, #0x38] b _0213da5c _0213d970: ldrb r0, [r4, #0x3e] cmp r0, #0 beq _0213da5c ldr r1, [r1, #0x14] ldr r0, [sp] cmp r1, r0 ldr r0, [r4, #0x1c] ble _0213d9c0 cmp r0, #2 bne _0213da5c mov r2, #0 str r2, [r4, #0x38] str r2, [r4, #0x1c] ldr r0, _0213db04 ; =data_ov00_020eec9c mov r1, #0x42 str r2, [r4, #0x20] bl func_ov00_020d77e4 mov r0, #1 strb r0, [r4, #0x44] b _0213da5c _0213d9c0: cmp r0, #0 bne _0213da5c mov r0, #0 str r0, [r4, #0x38] mov r2, #2 str r2, [r4, #0x1c] ldr r0, _0213db04 ; =data_ov00_020eec9c mov r1, #0x42 str r2, [r4, #0x20] bl func_ov00_020d77e4 mov r0, #1 strb r0, [r4, #0x44] b _0213da5c _0213d9f4: ldrh r1, [r1, #0x34] tst r1, #2 beq _0213da5c cmp r0, #0 ldrne r0, [r4, #0x38] cmpne r0, #0 beq _0213da48 mov r1, #0 str r1, [r4, #0x38] ldr r0, [r4, #0x24] cmp r0, #0 moveq r0, #2 streq r0, [r4, #0x1c] beq _0213da34 cmp r0, #2 streq r1, [r4, #0x1c] _0213da34: ldr r0, _0213db04 ; =data_ov00_020eec9c mov r1, #0x42 bl func_ov00_020d77e4 mov r0, #1 strb r0, [r4, #0x44] _0213da48: ldr r1, [r4, #0x1c] mov r0, #0 str r1, [r4, #0x20] strb r0, [r4, #0x3d] strb r0, [r4, #0x3e] _0213da5c: ldr r0, [r4, #0x1c] cmp r0, #2 ldr r0, [r4, #0x2c] bne _0213dab0 subs r0, r0, #2 addpl sp, sp, #8 str r0, [r4, #0x2c] ldmplia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x2c] ldrb r0, [r4, #0x44] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _0213db04 ; =data_ov00_020eec9c mov r1, #0x43 bl func_ov00_020d77e4 mov r0, #0 add sp, sp, #8 strb r0, [r4, #0x44] ldmia sp!, {r4, pc} _0213dab0: add r0, r0, #2 cmp r0, #0x18 addle sp, sp, #8 str r0, [r4, #0x2c] ldmleia sp!, {r4, pc} mov r0, #0x18 str r0, [r4, #0x2c] ldrb r0, [r4, #0x44] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _0213db04 ; =data_ov00_020eec9c mov r1, #0x43 bl func_ov00_020d77e4 mov r0, #0 strb r0, [r4, #0x44] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213d87c _0213daf8: .word data_027e10a4 _0213dafc: .word data_027e0c38 _0213db00: .word data_027e0d78 _0213db04: .word data_ov00_020eec9c .global func_ov15_0213db08 arm_func_start func_ov15_0213db08 func_ov15_0213db08: ; 0x0213db08 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, [r0, #0x28] cmp r0, #0 addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0213dbb0 ; =data_027e0c38 add r2, sp, #4 ldr r0, [r0, #0x10] add r3, sp, #0 cmp r0, #1 mov r0, #0x10 bne _0213db4c mov r1, #5 bl func_02034698 b _0213db54 _0213db4c: mov r1, #3 bl func_02034698 _0213db54: ldr r0, _0213dbb0 ; =data_027e0c38 ldr r3, _0213dbb4 ; =data_027e0d78 ldr r0, [r0, #0x10] ldr r2, [r3, #0x24] cmp r0, #1 moveq r1, #5 ldr r3, [r3, #0x28] movne r1, #3 mov r0, #0x10 bl func_02034b90 cmp r0, #0 beq _0213dba4 ldr r0, _0213dbb4 ; =data_027e0d78 ldr r1, [sp] ldr r0, [r0, #0x14] add sp, sp, #8 cmp r0, r1 movgt r0, #1 movle r0, #2 ldmia sp!, {r3, pc} _0213dba4: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213db08 _0213dbb0: .word data_027e0c38 _0213dbb4: .word data_027e0d78 .global func_ov15_0213dbb8 arm_func_start func_ov15_0213dbb8 func_ov15_0213dbb8: ; 0x0213dbb8 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 strb r1, [r4, #0x40] ldr r1, [r4, #0x34] cmp r1, #0 bne _0213dbe8 ldr r1, _0213dc60 ; =data_027e10a4 ldr r1, [r1] ldrb r1, [r1, #0x26d] cmp r1, #0 bne _0213dbf4 _0213dbe8: mov r0, #0 strb r0, [r4, #0x3f] ldmia sp!, {r4, pc} _0213dbf4: ldr r1, _0213dc64 ; =data_027e0d78 ldrb r2, [r1, #0xc] cmp r2, #0 beq _0213dc2c ldrh r1, [r1, #0x34] tst r1, #1 ldmeqia sp!, {r4, pc} bl func_ov15_0213dc68 cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x3f] moveq r0, #0 streqb r0, [r4, #0x3f] ldmia sp!, {r4, pc} _0213dc2c: ldrb r2, [r4, #0x3f] cmp r2, #1 bne _0213dc54 ldrh r1, [r1, #0x34] tst r1, #2 beq _0213dc54 bl func_ov15_0213dc68 cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x40] _0213dc54: mov r0, #0 strb r0, [r4, #0x3f] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213dbb8 _0213dc60: .word data_027e10a4 _0213dc64: .word data_027e0d78 .global func_ov15_0213dc68 arm_func_start func_ov15_0213dc68 func_ov15_0213dc68: ; 0x0213dc68 stmdb sp!, {r3, lr} ldr r1, _0213dcac ; =data_027e0d78 mov r0, #0x10 ldr r2, [r1, #0x24] ldr r3, [r1, #0x28] mov r1, #1 bl func_02034b90 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} ldr r1, _0213dcac ; =data_027e0d78 mov r0, #0x10 ldr r2, [r1, #0x24] ldr r3, [r1, #0x28] mov r1, #2 bl func_02034b90 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213dc68 _0213dcac: .word data_027e0d78 .global func_ov15_0213dcb0 arm_func_start func_ov15_0213dcb0 func_ov15_0213dcb0: ; 0x0213dcb0 ldrb r0, [r0, #0x3f] bx lr arm_func_end func_ov15_0213dcb0 .global func_ov15_0213dcb8 arm_func_start func_ov15_0213dcb8 func_ov15_0213dcb8: ; 0x0213dcb8 ldrb r0, [r0, #0x40] bx lr arm_func_end func_ov15_0213dcb8 .global func_ov15_0213dcc0 arm_func_start func_ov15_0213dcc0 func_ov15_0213dcc0: ; 0x0213dcc0 bx lr arm_func_end func_ov15_0213dcc0 .global func_ov15_0213dcc4 arm_func_start func_ov15_0213dcc4 func_ov15_0213dcc4: ; 0x0213dcc4 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r2, _0213dd4c ; =data_027e0ff0 mov r7, r0 ldr r0, [r2] mov r4, #0 ldr r0, [r0] ldr r2, [r0, r1, lsl #3] add r5, r0, r1, lsl #3 ldrb r0, [r2, #1] cmp r0, #0 ble _0213dd28 mov r6, r4 mov r8, #1 _0213dcf8: ldr r1, [r5, #4] mov r0, r7 add r1, r1, r6 mov r2, r8 add r1, r1, #4 bl func_ov15_0213d40c ldr r2, [r5] add r4, r4, #1 ldrb r0, [r2, #1] add r6, r6, #0x24 cmp r4, r0 blt _0213dcf8 _0213dd28: ldrb r0, [r2, #2] cmp r0, #0 movne r0, #0 strneb r0, [r7, #0x42] ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #1 strb r0, [r7, #0x42] strb r0, [r7, #0x43] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0213dcc4 _0213dd4c: .word data_027e0ff0 .global func_ov15_0213dd50 arm_func_start func_ov15_0213dd50 func_ov15_0213dd50: ; 0x0213dd50 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr r1, _0213dd70 ; =data_ov15_0218adc8 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213dd50 _0213dd70: .word data_ov15_0218adc8 .global func_ov15_0213dd74 arm_func_start func_ov15_0213dd74 func_ov15_0213dd74: ; 0x0213dd74 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213dd74 .global func_ov15_0213dd88 arm_func_start func_ov15_0213dd88 func_ov15_0213dd88: ; 0x0213dd88 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213dd88 .global func_ov15_0213dda4 arm_func_start func_ov15_0213dda4 func_ov15_0213dda4: ; 0x0213dda4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213dda4 .global func_ov15_0213ddb8 arm_func_start func_ov15_0213ddb8 func_ov15_0213ddb8: ; 0x0213ddb8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r7, r0 mov r5, r2 mov r6, r1 ldr r0, _0213de48 ; =data_027e0f94 add r2, sp, #0 add r1, r7, #0x48 mov r4, r3 bl func_01ff9bf8 mov r0, #0 str r0, [sp, #4] cmp r4, #0 bne _0213de04 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 strh r0, [r7, #0x78] b _0213de24 _0213de04: ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r2, r4 mov r1, r0, asr #0x10 add r0, r7, #0x78 bl func_0202b154 _0213de24: add r0, sp, #0 bl func_01ff9cec cmp r5, #0 strne r0, [r5] cmp r0, r6 movlt r0, #1 movge r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0213ddb8 _0213de48: .word data_027e0f94 .global func_ov15_0213de4c arm_func_start func_ov15_0213de4c func_ov15_0213de4c: ; 0x0213de4c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x80 add r1, sp, #0xac mov r5, r0 add r3, sp, #0x74 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x48 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x48 str r1, [sp, #0x64] str r1, [sp, #0x68] bl func_ov00_020c3348 ldr r1, [r5, #8] ldr r0, _0213e398 ; =0x53504b4e str r1, [sp, #0x64] ldr r1, [r5, #0xc] add r2, sp, #0x74 str r1, [sp, #0x68] ldr r1, [r5, #4] add r3, sp, #0x48 cmp r1, r0 moveq r0, #2 streqh r0, [sp, #0x48] movne r0, #3 strneh r0, [sp, #0x48] mvn r0, #0 add r1, sp, #4 str r0, [sp, #4] str r0, [sp, #8] str r1, [sp] ldr r0, _0213e39c ; =data_027e0fe8 ldr r1, _0213e3a0 ; =0x434e424c ldr r0, [r0] bl func_ov00_020c4048 ldr r0, _0213e3a4 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 addeq sp, sp, #0x80 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} addeq sp, sp, #0x10 bxeq lr ldr r0, _0213e3a8 ; =data_027e0f94 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0xc bl func_ov15_0215cef8 add r0, sp, #0xc add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r5, #0x1a0] cmp r0, #1 movle r0, #0 ble _0213df4c sub r0, r0, #1 mov r1, r0, lsl #0xc mov r0, #0x32000 bl Divide _0213df4c: ldr r2, [r5, #0x188] ldr r6, [sp, #0x30] mul r3, r0, r2 smull r7, r3, r6, r3 adds r6, r7, #0x800 ldr r2, [sp, #0x40] adc r3, r3, #0 mov r6, r6, lsr #0xc add r2, r2, #0xcd add r2, r2, #0x400 ldr r7, [sp, #0x3c] orr r6, r6, r3, lsl #20 add r3, r7, r6 str r3, [sp, #0x3c] str r2, [sp, #0x40] ldr r2, [r5, #0x188] ldr r3, [sp, #0x38] mul r2, r0, r2 smull r2, r0, r3, r2 adds r2, r2, #0x800 ldr r1, _0213e3ac ; =data_027e0764 adc r0, r0, #0 mov r2, r2, lsr #0xc ldr r3, [sp, #0x44] orr r2, r2, r0, lsl #20 add r0, r3, r2 str r0, [sp, #0x44] ldr r2, [r1] ldmib r1, {r0, lr} umull r8, r3, lr, r2 ldr r7, [r1, #0x10] mla r3, lr, r0, r3 ldr ip, [r1, #0xc] mov r11, #0 mla r3, ip, r2, r3 ldr r6, [r1, #0x14] adds r9, r7, r8 adc r8, r6, r3 mov r0, r11, lsl #0x10 orr r0, r0, r8, lsr #16 str r9, [r1] sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 str r8, [r1, #4] mov r10, r0, lsr #0x10 ldr r0, [r5, #0x194] mov r2, r11 add r3, r0, #1 cmp r3, #0 ble _0213e048 umull r2, r0, lr, r9 mla r0, lr, r8, r0 adds r7, r7, r2 mla r0, ip, r9, r0 adc r2, r6, r0 str r7, [r1] str r2, [r1, #4] cmp r3, #0 beq _0213e048 umull r1, r0, r2, r3 mla r0, r2, r11, r0 mla r0, r11, r3, r0 mov r2, r0 _0213e048: mov r0, r10, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 ldr r1, _0213e3b0 ; =data_02050f54 mov r3, r3, lsl #0x1 ldrsh r3, [r1, r3] mov r0, r0, lsl #0x1 ldrsh r1, [r1, r0] smull r6, r7, r3, r2 adds r8, r6, #0x800 smull r3, r2, r1, r2 adc r1, r7, #0 adds r3, r3, #0x800 mov r7, r8, lsr #0xc orr r7, r7, r1, lsl #20 mov r6, #0 add r0, sp, #0x3c adc r1, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 add r1, sp, #0x18 mov r2, r0 str r7, [sp, #0x18] str r6, [sp, #0x1c] str r3, [sp, #0x20] bl func_01ff9bc4 add r0, sp, #0x3c add r1, sp, #0x74 add r2, sp, #0x24 bl func_01ff9bf8 ldr r8, [sp, #0x28] mov r2, r6 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] str r2, [sp, #0x28] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldrsh r2, [r5, #0x78] mov r7, r0, asr #0x10 rsb r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 rsbmi r0, r1, #0 movpl r3, r1 movmi r0, r0, lsl #0x10 movmi r3, r0, asr #0x10 add r0, r5, #0x100 ldrsh r0, [r0, #0xa4] cmp r3, r0 ble _0213e130 cmp r1, #0 sublt r0, r2, r0 movlt r0, r0, lsl #0x10 movlt r7, r0, asr #0x10 blt _0213e130 add r0, r2, r0 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _0213e130: add r0, sp, #0x24 bl func_01ff9cec ldr r1, [r5, #0x190] cmp r0, r1 bge _0213e1ac mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r3, _0213e3b0 ; =data_02050f54 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r0, [r3, r0] mov r3, #0 smull r9, r6, r2, r1 adds r9, r9, #0x800 smull r2, r1, r0, r1 adc r0, r6, #0 adds r2, r2, #0x800 mov r6, r9, lsr #0xc orr r6, r6, r0, lsl #20 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r6, [sp, #0x24] str r3, [sp, #0x28] str r1, [sp, #0x2c] ldr r0, [r5, #0x190] b _0213e21c _0213e1ac: ldr r1, [r5, #0x18c] cmp r0, r1 ble _0213e21c mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r3, _0213e3b0 ; =data_02050f54 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r0, [r3, r0] mov r3, #0 smull r9, r6, r2, r1 adds r9, r9, #0x800 smull r2, r1, r0, r1 adc r0, r6, #0 adds r2, r2, #0x800 mov r6, r9, lsr #0xc orr r6, r6, r0, lsl #20 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r6, [sp, #0x24] str r3, [sp, #0x28] str r1, [sp, #0x2c] ldr r0, [r5, #0x18c] _0213e21c: ldr r1, [r5, #0x198] bl Divide ldr r1, [r5, #0x19c] mov r6, r0 cmp r1, #0 mov r0, r8 mov r1, r6 bne _0213e2cc bl Divide mov r1, r7, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 ldr r6, _0213e3b0 ; =data_02050f54 mov r3, r2, lsl #0x1 add r1, r2, #1 mov r2, r1, lsl #0x1 ldrsh r3, [r6, r3] ldr r1, [r5, #0x198] ldrsh r2, [r6, r2] smull r6, r7, r3, r1 adds r8, r6, #0x800 mov r6, r0 smull r3, r0, r2, r1 adc r7, r7, #0 adds r2, r3, #0x800 mov r3, r8, lsr #0xc orr r3, r3, r7, lsl #20 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 ldr r0, [r5, #0x18c] add r7, r3, #0 add r8, r2, #0 bl Divide ldr r2, [sp, #0x78] mov r1, r0 add r0, r2, #0x9a add r0, r0, #0x100 rsb r0, r0, #0 bl Divide cmp r6, r0 movge r6, r0 b _0213e360 _0213e2cc: bl Divide mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r1, r2, #1 ldr r3, _0213e3b0 ; =data_02050f54 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldr r9, [r5, #0x198] ldrsh r1, [r3, r1] smull r3, r7, r2, r9 adds r8, r3, #0x800 smull r3, r2, r1, r9 adc r1, r7, #0 adds r7, r3, #0x800 mov r3, r8, lsr #0xc ldr r0, [r5, #0x19c] orr r3, r3, r1, lsl #20 smull r1, r8, r0, r6 adc r0, r2, #0 mov r2, r7, lsr #0xc adds r10, r1, #0x800 orr r2, r2, r0, lsl #20 mov r1, r6 adc r9, r8, #0 mov r6, r10, lsr #0xc ldr r7, [sp, #0x40] ldr r0, [sp, #0x78] add r8, r2, #0 sub r0, r7, r0 add r7, r3, #0 orr r6, r6, r9, lsl #20 bl Divide add r1, r6, r6, lsr #31 add r6, r0, r1, asr #1 _0213e360: str r7, [r4, #0x60] str r6, [r4, #0x64] str r8, [r4, #0x68] ldr r0, [r5, #0x188] add r1, r0, #1 str r1, [r5, #0x188] ldr r0, [r5, #0x1a0] cmp r1, r0 movge r0, #0 strge r0, [r5, #0x188] add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov15_0213de4c _0213e398: .word 0x53504b4e _0213e39c: .word data_027e0fe8 _0213e3a0: .word 0x434e424c _0213e3a4: .word data_027e0fe4 _0213e3a8: .word data_027e0f94 _0213e3ac: .word data_027e0764 _0213e3b0: .word data_02050f54 .global func_ov15_0213e3b4 arm_func_start func_ov15_0213e3b4 func_ov15_0213e3b4: ; 0x0213e3b4 stmdb sp!, {r3, lr} ldr r3, [r1, #0x10] ldr r2, [r3, #0x10] cmp r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldrh r0, [r3, #0xc] cmp r0, #1 bne _0213e3e4 add r0, r3, #0xc bl func_0202e58c ldmia sp!, {r3, pc} _0213e3e4: ldr r1, [r3, #0x14] ldr r0, [r3, #0x1c] add r1, r1, r2 cmp r1, r0 movge r0, #1 movlt r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov15_0213e3b4 .global func_ov15_0213e400 arm_func_start func_ov15_0213e400 func_ov15_0213e400: ; 0x0213e400 stmdb sp!, {r3, lr} ldr r1, _0213e42c ; =data_027e0fe0 ldr r0, _0213e430 ; =0x0000041c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0213e690 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0213e400 _0213e42c: .word data_027e0fe0 _0213e430: .word 0x0000041c .global func_ov15_0213e434 arm_func_start func_ov15_0213e434 func_ov15_0213e434: ; 0x0213e434 stmdb sp!, {r4, lr} ldrh r2, [r1] ldr r3, _0213e4ac ; =data_02050f54 mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 ldrsh ip, [r3, r2] add r2, r4, #1 mov r2, r2, lsl #0x1 ldrsh r3, [r3, r2] mov r2, ip, asr #0x1f mov lr, r2, lsl #0xc adds r4, r1, ip, lsl #12 orr lr, lr, ip, lsr #20 mov r2, r3, asr #0x1f adc ip, lr, #0 mov r4, r4, lsr #0xc mov r2, r2, lsl #0xc orr r4, r4, ip, lsl #20 adds ip, r1, r3, lsl #12 orr r2, r2, r3, lsr #20 strh r4, [r0, #0x50] mov r3, #0 adc r1, r2, #0 mov r2, ip, lsr #0xc strh r3, [r0, #0x52] orr r2, r2, r1, lsl #20 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213e434 _0213e4ac: .word data_02050f54 .global func_ov15_0213e4b0 arm_func_start func_ov15_0213e4b0 func_ov15_0213e4b0: ; 0x0213e4b0 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0213e4e4 ; =data_ov15_0218af9c mvn r0, #0 str r1, [r4] str r0, [r4, #0xa4] str r0, [r4, #0xa8] mov r1, #0 mov r0, r4 strb r1, [r4, #0xac] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213e4b0 _0213e4e4: .word data_ov15_0218af9c .global func_ov15_0213e4e8 arm_func_start func_ov15_0213e4e8 func_ov15_0213e4e8: ; 0x0213e4e8 ldr ip, _0213e4f8 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0213e4e8 _0213e4f8: .word func_ov00_020a9998 .global func_ov15_0213e4fc arm_func_start func_ov15_0213e4fc func_ov15_0213e4fc: ; 0x0213e4fc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x60 mov r5, r0 ldrb r0, [r5, #0xac] mov r4, r1 cmp r0, #0 bne _0213e550 ldr r0, [r4, #4] ldr r1, _0213e60c ; =data_ov15_021860c0 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r5, #0xa4] ldr r0, [r4, #4] ldr r1, _0213e610 ; =data_ov15_021860d4 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r5, #0xa8] mov r0, #1 strb r0, [r5, #0xac] _0213e550: ldr r0, [r4, #8] tst r0, #0x10 ldrneb r1, [r4, #0xae] ldr r0, [r5, #0xa4] mvneq r1, #0 cmp r1, r0 bne _0213e5b8 bl func_02018450 mov r4, r0 add r0, sp, #0x30 mov r1, #0 bl func_0201b1bc ldr r0, [sp, #0x58] ldr r3, [sp, #0x5c] ldr r1, [sp, #0x54] add r0, r0, #0x2b8 str r1, [r5, #0x5c] add r0, r0, #0x1000 str r0, [r5, #0x60] add r0, r5, #0x5c mov r1, r4 mov r2, r0 str r3, [r5, #0x64] bl func_01ff9158 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, pc} _0213e5b8: ldr r0, [r5, #0xa8] cmp r1, r0 addne sp, sp, #0x60 ldmneia sp!, {r3, r4, r5, pc} bl func_02018450 mov r4, r0 add r0, sp, #0 mov r1, #0 bl func_0201b1bc ldr r3, [sp, #0x2c] ldr r2, [sp, #0x28] ldr r0, [sp, #0x24] mov r1, r4 str r0, [r5, #0x68] str r2, [r5, #0x6c] add r0, r5, #0x68 mov r2, r0 str r3, [r5, #0x70] bl func_01ff9158 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213e4fc _0213e60c: .word data_ov15_021860c0 _0213e610: .word data_ov15_021860d4 .global func_ov15_0213e614 arm_func_start func_ov15_0213e614 func_ov15_0213e614: ; 0x0213e614 stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xd0 bl func_ov00_020c5c2c ldr r1, _0213e670 ; =data_ov15_0218af78 add r0, r4, #0x20 str r1, [r4] bl func_ov15_0213e4b0 add r0, r4, #0xd0 add r1, r4, #0xf4 mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0213e674 ; =data_ov15_0218a690 ldr r2, _0213e678 ; =data_ov15_02186034 mov r0, r4 mov r1, #0x97 str r3, [r4, #0xd0] bl func_ov00_020c5c98 add r0, r4, #0x20 bl func_ov15_0213e4e8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213e614 _0213e670: .word data_ov15_0218af78 _0213e674: .word data_ov15_0218a690 _0213e678: .word data_ov15_02186034 .global func_ov15_0213e67c arm_func_start func_ov15_0213e67c func_ov15_0213e67c: ; 0x0213e67c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213e67c .global func_ov15_0213e690 arm_func_start func_ov15_0213e690 func_ov15_0213e690: ; 0x0213e690 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov15_0213dd50 ldr r2, _0213e748 ; =data_ov15_0218aeb0 mov r1, r4 add r0, r4, #0x1a8 str r2, [r4] bl func_ov15_0213e614 ldr ip, _0213e74c ; =func_ov00_020b7d74 ldr r3, _0213e750 ; =func_ov15_021341a0 add r0, r4, #0x2d4 mov r1, #2 mov r2, #4 str ip, [sp] bl func_0204f614 mvn r0, #0 str r0, [r4, #0x2dc] str r0, [r4, #0x2e0] str r0, [r4, #0x2e4] str r0, [r4, #0x2e8] str r0, [r4, #0x2ec] str r0, [r4, #0x2f0] str r0, [r4, #0x2f8] str r0, [r4, #0x2fc] mov r3, #2 str r3, [sp] add r0, r4, #0x31c mov r1, #0xfe mov r2, #6 bl func_ov00_02095720 add r0, r4, #0x3bc mov r1, #0x1000000 bl func_ov00_020d18f4 mvn r0, #0 str r0, [r4, #0x2dc] str r0, [r4, #0x2e0] str r0, [r4, #0x2e4] str r0, [r4, #0x2e8] str r0, [r4, #0x2ec] str r0, [r4, #0x2f0] mov r0, #0 strb r0, [r4, #0x180] mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0213e690 _0213e748: .word data_ov15_0218aeb0 _0213e74c: .word func_ov00_020b7d74 _0213e750: .word func_ov15_021341a0 .global func_ov15_0213e754 arm_func_start func_ov15_0213e754 func_ov15_0213e754: ; 0x0213e754 stmdb sp!, {r4, lr} ldr r1, _0213e7d4 ; =data_ov15_0218aeb0 mov r4, r0 ldr r0, _0213e7d8 ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c bl func_ov00_020838d8 ldr r0, _0213e7dc ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 mov r0, r4 bl func_ov15_02140e5c add r0, r4, #0x3bc bl func_ov00_020d1980 add r0, r4, #0x31c bl func_ov00_02095764 add r0, r4, #0x2d4 mov r1, #2 mov r2, #4 ldr r3, _0213e7e0 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0x278 blx func_ov00_020a9b0c add r0, r4, #0x1c8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0213dda4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213e754 _0213e7d4: .word data_ov15_0218aeb0 _0213e7d8: .word data_027e0e60 _0213e7dc: .word data_027e103c _0213e7e0: .word func_ov00_020b7d74 .global func_ov15_0213e7e4 arm_func_start func_ov15_0213e7e4 func_ov15_0213e7e4: ; 0x0213e7e4 stmdb sp!, {r4, lr} ldr r1, _0213e86c ; =data_ov15_0218aeb0 mov r4, r0 ldr r0, _0213e870 ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0x31c bl func_ov00_020838d8 ldr r0, _0213e874 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 mov r0, r4 bl func_ov15_02140e5c add r0, r4, #0x3bc bl func_ov00_020d1980 add r0, r4, #0x31c bl func_ov00_02095764 add r0, r4, #0x2d4 mov r1, #2 mov r2, #4 ldr r3, _0213e878 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0x278 blx func_ov00_020a9b0c add r0, r4, #0x1c8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0213dda4 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0213e7e4 _0213e86c: .word data_ov15_0218aeb0 _0213e870: .word data_027e0e60 _0213e874: .word data_027e103c _0213e878: .word func_ov00_020b7d74 .global func_ov15_0213e87c arm_func_start func_ov15_0213e87c func_ov15_0213e87c: ; 0x0213e87c stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldrb r1, [r4, #0x2b] cmp r1, #0 beq _0213e89c mov r1, #1 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii _0213e89c: mov r1, #1 mov r0, r4 strb r1, [r4, #0x128] bl func_ov15_02140d0c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0213ea3c ; =data_027e0d0c ldr r2, _0213ea40 ; =0x000010cd ldr r3, [r0] mov r1, #0 str r3, [r4, #0x7c] ldr r3, [r0, #4] mov lr, #0x1800 str r3, [r4, #0x80] ldr r0, [r0, #8] mov ip, #0x2800 str r0, [r4, #0x84] str r2, [r4, #0x88] ldr r0, [r4, #0x7c] ldr r5, _0213ea44 ; =0xfffff99a str r0, [r4, #0x8c] ldr r2, [r4, #0x80] add r0, r4, #0x100 str r2, [r4, #0x90] ldr r2, [r4, #0x84] mov r3, #5 str r2, [r4, #0x94] ldr r6, [r4, #0x88] mov r2, #0x1000 str r6, [r4, #0x98] str r1, [r4, #0xa8] str lr, [r4, #0xac] str r1, [r4, #0xb0] str ip, [r4, #0xb4] str r5, [r4, #0x4c] str r1, [r4, #0x6c] strh r3, [r0, #0x20] str r1, [r4, #0x12c] str r1, [r4, #0x188] str r2, [r4, #0x318] ldrb r0, [r4, #0x2a] cmp r0, #0 beq _0213e95c mov r0, r4 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _0213e97c _0213e95c: ldrh r1, [r4, #0x20] cmp r1, #0 beq _0213e98c ldr r0, _0213ea48 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _0213e98c _0213e97c: mov r0, r4 mov r1, #8 bl func_ov15_0213ea50 b _0213e998 _0213e98c: mov r0, r4 mov r1, #0 bl func_ov15_0213ea50 _0213e998: ldr r0, [r4, #8] mov r1, #0 str r0, [r4, #0x3dc] ldr r0, [r4, #0xc] mov lr, #0 str r0, [r4, #0x3e0] strb r1, [r4, #0x410] ldr r0, [r4, #0x30] mov ip, #0x2800 mov r0, r0, asr #0x10 cmp r0, #5 streqb r1, [r4, #0x418] movne r0, #1 strneb r0, [r4, #0x418] ldr r0, [r4, #0x48] mov r3, #0x1000 str r0, [r4, #0x224] ldr r0, [r4, #0x4c] mov r2, #0x148 str r0, [r4, #0x228] ldr r0, [r4, #0x50] mov r1, #8 str r0, [r4, #0x22c] ldr r0, [r4, #0x48] str r0, [r4, #0x230] ldr r0, [r4, #0x4c] str r0, [r4, #0x234] ldr r5, [r4, #0x50] mov r0, #3 str r5, [r4, #0x238] strb lr, [r4, #0x181] str ip, [r4, #0x190] str r3, [r4, #0x194] str r2, [r4, #0x198] str r1, [r4, #0x19c] str r0, [r4, #0x1a0] ldr r1, _0213ea4c ; =0x00001555 add r0, r4, #0x100 strh r1, [r0, #0xa4] mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213e87c _0213ea3c: .word data_027e0d0c _0213ea40: .word 0x000010cd _0213ea44: .word 0xfffff99a _0213ea48: .word gAdventureFlags _0213ea4c: .word 0x00001555 .global func_ov15_0213ea50 arm_func_start func_ov15_0213ea50 func_ov15_0213ea50: ; 0x0213ea50 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1c8 str r1, [sp, #8] ldr r2, [sp, #8] mov r4, r0 mov r1, #0 strb r1, [r4, #0x344] cmp r2, #8 addls pc, pc, r2, lsl #2 b _0213f47c _0213ea78: ; jump table b _0213ea9c ; case 0 b _0213eac8 ; case 1 b _0213f110 ; case 2 b _0213f180 ; case 3 b _0213f1e4 ; case 4 b _0213f208 ; case 5 b _0213f25c ; case 6 b _0213f428 ; case 7 b _0213f470 ; case 8 _0213ea9c: add r0, r4, #0x1a8 bl func_ov00_020c5d74 ldr r0, _0213f494 ; =0x0000ffff ldr r1, [r4, #0x1b8] mov r2, #0 str r2, [r1, #0x10] strh r0, [r4, #0x7a] sub r0, r0, #0x10000 str r0, [r4, #0x88] str r2, [r4, #0x304] b _0213f47c _0213eac8: ldr r0, _0213f498 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213751c mov r1, #1 strb r1, [r4, #0x344] str r1, [r4, #0x304] ldr r0, _0213f498 ; =data_027e10a4 mov r3, #0x2e ldr r2, [r0] mov r0, r4 mov r1, #0x3c str r3, [r2, #0x54] bl func_ov15_02140c60 ldr r0, _0213f49c ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _0213f4a0 ; =0x000010cd add r5, sp, #0x9c str r0, [r4, #0x88] add r1, sp, #0xac mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _0213f498 ; =data_027e10a4 mov r1, r5 ldr r0, [r0] bl func_ov15_02141344 cmp r0, #0 addeq sp, sp, #0x1c8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r1, #3 add r0, sp, #0x118 strh r1, [r4, #0x7a] bl func_ov00_0209a4f4 add r0, r4, #0x48 add r5, sp, #0x90 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} mov r7, #0 mov r6, #6 ldr r1, _0213f4a4 ; =0x0000017a ldr r5, [sp, #0x90] ldr r2, [sp, #0x98] mov r0, #0x32 str r1, [sp, #0x11c] mov r1, #1 strb r1, [sp, #0x12c] ldr r3, _0213f4a8 ; =data_027e0f64 strb r0, [sp, #0x121] ldr r0, [r3] str r7, [sp, #0x94] strb r6, [sp, #0x122] strb r6, [sp, #0x123] str r5, [sp, #0x138] str r7, [sp, #0x13c] str r2, [sp, #0x140] ldr r0, [r0, #4] add r1, sp, #0xb0 bl func_ov00_02087d34 ldr r0, [sp, #0xb0] ldr r2, _0213f4ac ; =0x00001388 str r0, [r4, #0x348] ldr r1, [sp, #0xb4] mov r0, r4 str r1, [r4, #0x34c] ldr r3, [sp, #0xb8] sub r1, r2, #0x1f40 str r3, [r4, #0x350] ldr r5, [sp, #0xbc] mov r3, #5 str r5, [r4, #0x354] ldr r5, [sp, #0xc0] str r5, [r4, #0x358] ldr r5, [sp, #0xc4] str r5, [r4, #0x35c] ldr r5, [sp, #0xc8] str r5, [r4, #0x360] ldr r5, [sp, #0xcc] str r5, [r4, #0x364] ldr r5, [sp, #0xd0] str r5, [r4, #0x368] ldr r5, [sp, #0xd4] str r5, [r4, #0x36c] ldr r5, [sp, #0xd8] str r5, [r4, #0x370] ldr r5, [sp, #0xdc] str r5, [r4, #0x374] ldr r5, [sp, #0xe0] str r5, [r4, #0x378] ldr r5, [sp, #0xe4] str r5, [r4, #0x37c] ldr r5, [sp, #0xe8] str r5, [r4, #0x380] ldr r5, [sp, #0xec] str r5, [r4, #0x384] ldr r5, [sp, #0xf0] str r5, [r4, #0x388] ldr r5, [sp, #0xf4] str r5, [r4, #0x38c] ldr r5, [sp, #0xf8] str r5, [r4, #0x390] ldr r5, [sp, #0xfc] str r5, [r4, #0x394] ldr r5, [sp, #0x100] str r5, [r4, #0x398] ldr r5, [sp, #0x104] str r5, [r4, #0x39c] ldr r5, [sp, #0x108] str r5, [r4, #0x3a0] ldr r5, [sp, #0x10c] str r5, [r4, #0x3a4] ldrb r5, [sp, #0x110] strb r5, [r4, #0x3a8] ldrb r5, [sp, #0x111] strb r5, [r4, #0x3a9] ldrb r5, [sp, #0x112] strb r5, [r4, #0x3aa] ldrb r5, [sp, #0x113] strb r5, [r4, #0x3ab] ldrb r5, [sp, #0x114] strb r5, [r4, #0x3ac] str r3, [sp, #0xb4] str r2, [sp, #0xbc] str r1, [sp, #0xc0] bl func_ov15_02123bb4 ldr r1, [sp, #0xb8] ldr ip, [sp, #0xb0] ldr r6, [sp, #0xb4] str r1, [sp, #0x14c] ldr r1, [sp, #0xd8] str ip, [sp, #0x144] ldr ip, [sp, #0xbc] str r6, [sp, #0x148] ldr r6, [sp, #0xc0] str r1, [sp, #0x16c] ldr r1, [sp, #0xe4] str ip, [sp, #0x150] mov r2, r7 ldr ip, [sp, #0xdc] mov r5, #0x5800 mov r3, #0x2000 str r6, [sp, #0x154] ldr r6, [sp, #0xe0] str r1, [sp, #0x178] ldr r1, [sp, #0xf0] str ip, [sp, #0x170] ldr ip, [sp, #0xe8] str r6, [sp, #0x174] ldr r6, [sp, #0xec] str r1, [sp, #0x184] ldr r1, [sp, #0xfc] str ip, [sp, #0x17c] ldr ip, [sp, #0xf4] str r6, [sp, #0x180] ldr r6, [sp, #0xf8] str r1, [sp, #0x190] ldr r1, [sp, #0x108] str ip, [sp, #0x188] ldr ip, [sp, #0x100] ldrb r11, [sp, #0x110] ldrb r10, [sp, #0x111] ldrb r9, [sp, #0x112] ldrb r8, [sp, #0x113] ldrb r7, [sp, #0x114] str r6, [sp, #0x18c] ldr r6, [sp, #0x104] str r1, [sp, #0x19c] str ip, [sp, #0x194] ldr ip, [sp, #0x10c] str r6, [sp, #0x198] mov r6, #0x5c ldr r1, _0213f4b0 ; =gAdventureFlags str r0, [sp, #0xc4] str r0, [sp, #0x158] ldr r0, [r1] str ip, [sp, #0x1a0] add r1, sp, #0x118 strb r11, [sp, #0x1a4] str r5, [sp, #0xc8] str r3, [sp, #0xd0] str r2, [sp, #0xd4] str r2, [sp, #0xcc] str r5, [sp, #0x15c] str r2, [sp, #0x160] str r3, [sp, #0x164] str r2, [sp, #0x168] strb r10, [sp, #0x1a5] strb r9, [sp, #0x1a6] strb r8, [sp, #0x1a7] strb r7, [sp, #0x1a8] str r6, [sp, #0x1ac] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x2f8] ldrb r0, [r4, #0x418] cmp r0, #0 bne _0213f03c ldr r0, _0213f4b4 ; =data_027e0f94 mov r3, #6 ldr r1, [r0, #4] ldr r2, [r0] mvn r6, #0 mov r5, #0x32 str r1, [sp, #0x13c] str r6, [sp, #0x11c] strb r5, [sp, #0x121] strb r3, [sp, #0x122] strb r3, [sp, #0x123] str r2, [sp, #0x138] ldr r2, [r0, #8] mov r1, #1 ldr r0, [sp, #0xc4] str r2, [sp, #0x140] strb r1, [sp, #0x12c] str r0, [r4, #0x35c] ldr r9, [r4, #0x348] str r9, [sp, #0xb0] ldr r0, [r4, #0x34c] str r0, [sp, #0xb4] ldr r8, [r4, #0x350] str r8, [sp, #0xb8] ldr r7, [r4, #0x354] str r7, [sp, #0xbc] ldr r0, [r4, #0x358] str r0, [sp, #0xc0] ldr r6, [r4, #0x35c] str r6, [sp, #0xc4] ldr r0, [r4, #0x360] str r0, [sp, #0xc8] ldr r5, [r4, #0x364] str r5, [sp, #0xcc] ldr lr, [r4, #0x368] str lr, [sp, #0xd0] ldr ip, [r4, #0x36c] str ip, [sp, #0xd4] ldr r3, [r4, #0x370] str r3, [sp, #0xd8] ldr r2, [r4, #0x374] str r2, [sp, #0xdc] ldr r1, [r4, #0x378] str r1, [sp, #0xe0] ldr r0, [r4, #0x37c] str r0, [sp, #0xe4] ldr r11, [r4, #0x380] str r11, [sp, #0xe8] ldr r10, [r4, #0x384] str r10, [sp, #0xc] str r10, [sp, #0xec] ldr r10, [r4, #0x388] str r10, [sp, #0x10] str r10, [sp, #0xf0] ldr r10, [r4, #0x38c] str r10, [sp, #0x14] str r10, [sp, #0xf4] ldr r10, [r4, #0x390] str r10, [sp, #0x18] str r10, [sp, #0xf8] ldr r10, [r4, #0x394] str r10, [sp, #0x1c] str r10, [sp, #0xfc] ldr r10, [r4, #0x398] str r10, [sp, #0x20] str r10, [sp, #0x100] ldr r10, [r4, #0x39c] str r10, [sp, #0x24] str r10, [sp, #0x104] ldr r10, [r4, #0x3a0] str r10, [sp, #0x28] str r10, [sp, #0x108] ldr r10, [r4, #0x3a4] str r10, [sp, #0x2c] str r10, [sp, #0x10c] ldrb r10, [r4, #0x3a8] str r10, [sp, #0x30] strb r10, [sp, #0x110] ldrb r10, [r4, #0x3a9] str r10, [sp, #0x34] strb r10, [sp, #0x111] ldrb r10, [r4, #0x3aa] str r10, [sp, #0x38] strb r10, [sp, #0x112] ldrb r10, [r4, #0x3ab] str r10, [sp, #0x3c] strb r10, [sp, #0x113] ldrb r10, [r4, #0x3ac] str r5, [sp, #0x160] mov r5, #5 str r5, [sp, #0xb4] str r5, [sp, #0x148] mov r5, #0 str r5, [sp, #0xc0] str r5, [sp, #0x154] mov r5, #0x1000 str r9, [sp, #0x144] str r8, [sp, #0x14c] str r7, [sp, #0x150] str r6, [sp, #0x158] str lr, [sp, #0x164] str ip, [sp, #0x168] strb r10, [sp, #0x114] str r5, [sp, #0xc8] str r5, [sp, #0x15c] str r1, [sp, #0x174] ldr r1, [sp, #0x18] str r0, [sp, #0x178] str r1, [sp, #0x18c] ldr r1, [sp, #0x30] ldr r0, [sp, #0xc] and r8, r1, #0xff ldr r1, [sp, #0x34] str r0, [sp, #0x180] and r7, r1, #0xff ldr r0, [sp, #0x10] ldr r9, [sp, #0x20] ldr r1, [sp, #0x38] str r0, [sp, #0x184] and r6, r1, #0xff ldr r0, [sp, #0x14] str r9, [sp, #0x194] ldr r9, [sp, #0x24] ldr r1, [sp, #0x3c] str r0, [sp, #0x188] and r5, r1, #0xff ldr r0, _0213f4b0 ; =gAdventureFlags str r9, [sp, #0x198] ldr r9, [sp, #0x28] ldr r1, [sp, #0x1c] str r9, [sp, #0x19c] ldr r9, [sp, #0x2c] str r3, [sp, #0x16c] str r2, [sp, #0x170] and r3, r10, #0xff mov r2, #0x5c str r1, [sp, #0x190] ldr r0, [r0] add r1, sp, #0x118 str r11, [sp, #0x17c] str r9, [sp, #0x1a0] strb r8, [sp, #0x1a4] strb r7, [sp, #0x1a5] strb r6, [sp, #0x1a6] strb r5, [sp, #0x1a7] strb r3, [sp, #0x1a8] str r2, [sp, #0x1ac] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x2fc] _0213f03c: mov r7, #0 add r3, sp, #0x84 str r7, [r4, #0x2f4] add r0, r4, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0213f4b8 ; =data_027e0e60 ldr r6, [sp, #0x84] ldr r5, [sp, #0x88] ldr r3, [sp, #0x8c] ldr r0, [r0] add r1, sp, #0x6c mov r2, r7 str r6, [sp, #0x6c] str r5, [sp, #0x70] str r3, [sp, #0x74] bl func_ov00_02083ee0 str r0, [sp, #0x88] add r1, sp, #0x84 str r1, [sp] mov r1, #2 str r1, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 add r1, r4, #0x2d4 ldr r0, [r0] mov r2, #0xa7 mov r3, #0xa8 bl func_ov00_0207c2e8 ldr r0, _0213f4c0 ; =data_ov15_02190458 mov r1, #0x3c bl func_ov15_021849dc ldr r0, _0213f4c4 ; =data_ov00_020eec68 mov r1, #0x47 mov r2, #0x3c mov r3, #0x7f bl func_ov00_020d70a4 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] mov r0, #0x64000 str r1, [r4, #0x330] str r3, [r4, #0x334] str r2, [r4, #0x338] str r0, [r4, #0x33c] mov r0, #0x14000 str r0, [r4, #0x340] ldr r0, _0213f4b8 ; =data_027e0e60 add r1, r4, #0x31c ldr r0, [r0] bl func_ov00_020838c8 add r0, sp, #0x118 bl func_ov00_0209a508 b _0213f47c _0213f110: ldr r0, _0213f498 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02137550 ldr r0, _0213f498 ; =data_027e10a4 mov r1, #0x19 ldr r0, [r0] str r1, [r0, #0x54] ldr r0, [r4, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #0 bne _0213f154 add r0, r4, #0x1a8 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x1b8] add r0, r0, #0xc bl func_0202e670 _0213f154: ldr r1, [r4, #0x1b8] mov r2, #1 ldr r0, _0213f4b8 ; =data_027e0e60 strh r2, [r1, #0xc] ldr r0, [r0] add r1, r4, #0x31c bl func_ov00_020838d8 ldr r0, _0213f4c4 ; =data_ov00_020eec68 mov r1, #0x1e bl func_ov00_020d716c b _0213f47c _0213f180: add r0, r4, #0x1a8 mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r4, #0x1b8] mov r2, #0 strh r2, [r1, #0xc] ldr r0, _0213f4c8 ; =data_027e0764 mov r1, #0 ldr r3, [r0] ldmib r0, {r2, r5} umull r7, r6, r5, r3 mla r6, r5, r2, r6 ldr r2, [r0, #0xc] ldr r8, [r0, #0x10] mla r6, r2, r3, r6 ldr r5, [r0, #0x14] adds r7, r8, r7 adc r2, r5, r6 mov r1, r1, lsl #0x2 str r7, [r0] orr r1, r1, r2, lsr #30 str r2, [r0, #4] add r0, r1, #1 str r0, [r4, #0x300] b _0213f47c _0213f1e4: add r0, r4, #0x1a8 mov r1, #2 bl func_ov00_020c5d74 mov r0, #0 str r0, [r4, #0x30c] ldrsh r1, [r4, #0x78] add r0, r4, #0x300 strh r1, [r0, #0x14] b _0213f47c _0213f208: ldrb r0, [r4, #0x418] cmp r0, #0 bne _0213f22c mov r2, #1 ldr r0, _0213f49c ; =data_027e103c strb r2, [r4, #0x418] ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 _0213f22c: add r0, r4, #0x1a8 mov r1, #5 bl func_ov00_020c5d74 add r0, sp, #0x4c mov r1, r4 bl func_ov15_0214081c ldr r0, _0213f4cc ; =data_027e0ffc ldr r1, _0213f4d0 ; =0x00000213 add r2, sp, #0x4c mov r3, #0 bl func_ov00_020ceacc b _0213f47c _0213f25c: add r0, r4, #0x1a8 mov r1, #6 bl func_ov00_020c5d74 add r0, r4, #0x48 add r3, sp, #0x78 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r2, r3 ldr r0, [r0] mov r1, #0xc5 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r1, #0xc6 ldr r0, [r0] add r2, sp, #0x78 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r1, #0xc7 ldr r0, [r0] add r2, sp, #0x78 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r1, #0xc8 ldr r0, [r0] add r2, sp, #0x78 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r1, #0xc9 ldr r0, [r0] add r2, sp, #0x78 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r1, #0xca ldr r0, [r0] add r2, sp, #0x78 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 mov r1, #0xcb ldr r0, [r0] add r2, sp, #0x78 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 add r2, sp, #0x78 ldr r0, [r0] mov r1, #0xcc mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 add r2, sp, #0x78 ldr r0, [r0] mov r1, #0xcd mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0213f4bc ; =data_027e0e58 add r2, sp, #0x78 ldr r0, [r0] mov r1, #0xce mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _0213f49c ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _0213f4c4 ; =data_ov00_020eec68 mov r1, #0x1e bl func_ov00_020d716c ldrh r0, [r4, #0x22] cmp r0, #0xff beq _0213f47c ldr r0, _0213f49c ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, r1 bl func_ov00_020cf9dc bl func_ov15_0213ce4c mov r1, #1 strb r1, [r0, #0x45] b _0213f47c _0213f428: ldr r0, _0213f498 ; =data_027e10a4 mov r2, #1 strb r2, [r4, #0x344] ldr r2, [r0] mov r3, #0x19 sub r0, r3, #0x1a str r3, [r2, #0x54] str r0, [r4, #0x88] str r1, [r4, #0x308] add r0, sp, #0x40 mov r1, r4 bl func_ov15_0214081c ldr r0, _0213f4cc ; =data_027e0ffc add r2, sp, #0x40 mov r1, #0x214 mov r3, #0 bl func_ov00_020ceacc b _0213f47c _0213f470: str r1, [r4, #0x318] str r1, [r4, #0x304] bl func_ov15_02140e5c _0213f47c: mov r0, #0 str r0, [r4, #0x138] ldr r0, [sp, #8] str r0, [r4, #0x130] add sp, sp, #0x1c8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0213ea50 _0213f494: .word 0x0000ffff _0213f498: .word data_027e10a4 _0213f49c: .word data_027e103c _0213f4a0: .word 0x000010cd _0213f4a4: .word 0x0000017a _0213f4a8: .word data_027e0f64 _0213f4ac: .word 0x00001388 _0213f4b0: .word gAdventureFlags _0213f4b4: .word data_027e0f94 _0213f4b8: .word data_027e0e60 _0213f4bc: .word data_027e0e58 _0213f4c0: .word data_ov15_02190458 _0213f4c4: .word data_ov00_020eec68 _0213f4c8: .word data_027e0764 _0213f4cc: .word data_027e0ffc _0213f4d0: .word 0x00000213 .global func_ov15_0213f4d4 arm_func_start func_ov15_0213f4d4 func_ov15_0213f4d4: ; 0x0213f4d4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x304] cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x48 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] ldr r0, _0213f574 ; =data_027e0e60 str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #8] ldr r3, [r4, #0x50] add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] bl func_ov00_02083ee0 str r0, [sp, #0x14] mov ip, #0 add r1, sp, #0x10 add r0, r4, #0x2ec mov r2, #0x1000 mov r3, #0xb str ip, [sp] bl func_ov00_020c7734 mov r0, #1 str r0, [r4, #0x304] add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0213f4d4 _0213f574: .word data_027e0e60 .global func_ov15_0213f578 arm_func_start func_ov15_0213f578 func_ov15_0213f578: ; 0x0213f578 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldrneb r0, [r5, #0x344] cmpne r0, #0 beq _0213f5b0 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb8] blx r1 _0213f5b0: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 mov r0, r5 bl func_ov15_0213f4d4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0213f578 .global func_ov15_0213f5cc arm_func_start func_ov15_0213f5cc func_ov15_0213f5cc: ; 0x0213f5cc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 ldr r1, _0213f7ac ; =data_027e0fe4 mov r5, r0 ldr r0, [r1] add r1, r5, #0x2e4 bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 beq _0213f658 add r0, sp, #0x2c mov r1, r5 bl func_ov15_0214081c add r0, sp, #0x2c add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x48] ldr r0, [sp, #0x44] sub r1, r1, #0x1000 str r1, [sp, #0x48] str r0, [r4, #0x48] ldr r0, [sp, #0x48] mov r1, #0 str r0, [r4, #0x4c] ldr r2, [sp, #0x4c] mov r0, r4 str r2, [r4, #0x50] ldr r3, [r5, #0x60] mov r2, r1 str r3, [r4, #0x60] ldr r3, [r5, #0x64] str r3, [r4, #0x64] ldr r3, [r5, #0x68] str r3, [r4, #0x68] bl _ZN5Actor18func_ov00_020c243cEiPi _0213f658: ldr r0, [r5, #0x130] ldr r1, _0213f7b0 ; =data_ov15_02185fcc add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r5, r0, asr #1 ldreq r1, [r1] beq _0213f684 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _0213f684: blx r1 ldr r0, _0213f7b4 ; =data_ov15_0218ae88 mov r2, #3 ldr r3, [r0, #0x10] ldr r1, [r0, #0x14] str r3, [sp, #0x18] str r1, [sp, #0x1c] ldr r1, [r0, #0x18] add r3, sp, #0x18 str r1, [sp, #0x20] ldr r4, [r0, #0x1c] sub r1, r2, #4 mov r0, r4, lsl #0x1 str r0, [sp, #0x28] str r4, [sp, #0x24] str r3, [sp] str r2, [sp, #4] str r1, [sp, #8] ldr r0, _0213f7b8 ; =data_027e0ff8 add r1, r5, #8 ldr r0, [r0] add r2, r5, #0x48 add r3, r5, #0x54 bl func_ov05_021082e4 add r0, r5, #0x1a8 bl func_ov00_020c5e20 mov r0, r5 bl func_ov15_0213f4d4 ldr r0, [r5, #0x2d4] cmp r0, #0 beq _0213f780 ldr r0, [r5, #0x130] cmp r0, #1 ldreq r0, [r5, #0x1bc] cmpeq r0, #0 bne _0213f780 ldr r0, [r5, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #0x44000 bge _0213f780 add r0, r5, #0x48 add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0213f7bc ; =data_027e0e60 ldr ip, [sp, #0x38] ldr r4, [sp, #0x3c] ldr r3, [sp, #0x40] ldr r0, [r0] add r1, sp, #0xc mov r2, #0 str ip, [sp, #0xc] str r4, [sp, #0x10] str r3, [sp, #0x14] bl func_ov00_02083ee0 str r0, [sp, #0x3c] mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _0213f7c0 ; =data_027e0ffc ldr r1, _0213f7c4 ; =0x00000216 add r2, sp, #0x38 bl func_ov00_020cec60 _0213f780: ldr r0, [r5, #0x130] cmp r0, #0 cmpne r0, #8 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0213f7c8 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213f5cc _0213f7ac: .word data_027e0fe4 _0213f7b0: .word data_ov15_02185fcc _0213f7b4: .word data_ov15_0218ae88 _0213f7b8: .word data_027e0ff8 _0213f7bc: .word data_027e0e60 _0213f7c0: .word data_027e0ffc _0213f7c4: .word 0x00000216 _0213f7c8: .word data_027e10a4 .global func_ov15_0213f7cc arm_func_start func_ov15_0213f7cc func_ov15_0213f7cc: ; 0x0213f7cc stmdb sp!, {r4, lr} mov r2, #0 mov r3, r2 mov r1, #0x8000 mov r4, r0 bl func_ov15_0213ddb8 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov15_0213ea50 ldmia sp!, {r4, pc} arm_func_end func_ov15_0213f7cc .global func_ov15_0213f80c arm_func_start func_ov15_0213f80c func_ov15_0213f80c: ; 0x0213f80c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0xc0 mov r5, r0 bl func_ov15_02140ebc ldr r0, [r5, #0x2f4] add r3, sp, #0xb4 add r0, r0, #1 str r0, [r5, #0x2f4] add r0, r5, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 str r0, [sp, #0xb8] ldr r1, [r5, #0x2f4] cmp r1, #0x19 blt _0213f91c ldrsh r2, [r5, #0x78] add r6, sp, #0xa0 add r1, sp, #0xb0 add r2, r2, #0x8000 mov r3, r2, lsl #0x10 mov r2, #4 mov r4, r3, asr #0x10 bl func_020078f4 add r1, r6, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _0213fb78 ; =data_027e0f94 add r3, sp, #0x94 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x94] ldr r0, _0213fb7c ; =data_027e0e60 ldr r1, [sp, #0x98] str r2, [sp, #0x88] ldr r2, [sp, #0x9c] str r1, [sp, #0x8c] str r2, [sp, #0x90] ldr r0, [r0] add r1, sp, #0x88 mov r2, #0 bl func_ov00_02083ee0 ldr r2, [sp, #0x94] str r0, [sp, #0x98] str r0, [sp, #0xa4] ldr r0, [sp, #0x9c] str r2, [sp, #0xa0] str r0, [sp, #0xa8] ldr r0, _0213fb80 ; =data_027e0fac ldr r2, [sp, #0xb0] ldrsh r3, [r0] orr r2, r2, #1 str r2, [sp, #0xb0] mov r1, r4 add r0, sp, #8 mov r2, #0x16c strh r3, [sp, #8] bl func_0202b154 ldr r1, [sp, #0xb0] ldr r0, _0213fb84 ; =data_027e10a4 ldrsh r2, [sp, #8] orr r1, r1, #2 str r1, [sp, #0xb0] ldr r0, [r0] mov r1, r6 strh r2, [sp, #0xac] bl func_ov15_0214138c _0213f91c: ldr r0, [r5, #0x1bc] cmp r0, #0 bne _0213facc ldr r0, [r5, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #0x44000 bne _0213f9d4 add r0, sp, #0x70 mov r1, r5 bl func_ov15_0214081c ldr r4, [sp, #0x74] ldr ip, [sp, #0x70] ldr r3, [sp, #0x78] ldr r0, _0213fb7c ; =data_027e0e60 add r1, sp, #0x64 ldr r0, [r0] mov r2, #0 str r4, [sp, #0xb8] str ip, [sp, #0xb4] str r3, [sp, #0xbc] str ip, [sp, #0x64] str r4, [sp, #0x68] str r3, [sp, #0x6c] bl func_ov00_02083ee0 str r0, [sp, #0xb8] ldr r1, _0213fb88 ; =0x00000d9a add r0, sp, #0xb4 mov r2, #0 bl func_ov00_020c74a8 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0213fb8c ; =data_027e0e58 mov r1, #0x88 ldr r0, [r0] add r2, sp, #0xb4 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _0213fb90 ; =data_027e0ffc ldr r1, _0213fb94 ; =0x00000217 add r2, sp, #0xb4 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 str r0, [r5, #0x304] b _0213fa28 _0213f9d4: cmp r0, #0x7e000 bne _0213fa00 add r0, sp, #0x58 mov r1, r5 bl func_ov15_0214081c ldr r0, _0213fb90 ; =data_027e0ffc ldr r1, _0213fb98 ; =0x00000215 add r2, sp, #0x58 mov r3, #0 bl func_ov00_020ceacc b _0213fa28 _0213fa00: cmp r0, #0xa8000 bne _0213fa28 add r0, sp, #0x4c mov r1, r5 bl func_ov15_0214081c ldr r0, _0213fb90 ; =data_027e0ffc ldr r1, _0213fb9c ; =0x00000211 add r2, sp, #0x4c mov r3, #0 bl func_ov00_020ceacc _0213fa28: ldr r0, _0213fba0 ; =data_ov00_020e83cc add r1, sp, #0x2c str r0, [sp, #0x2c] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #0x30] ldr r2, [r5, #0x1b0] str r2, [sp, #0x34] ldr r2, [r5, #0x1b4] str r2, [sp, #0x38] ldr r2, [r5, #0x1b8] str r2, [sp, #0x3c] ldr r2, [r5, #0x1bc] str r2, [sp, #0x40] ldr r2, [r5, #0x1c0] str r2, [sp, #0x44] ldr r2, [r5, #0x1c4] str r2, [sp, #0x48] bl func_ov15_0213e3b4 cmp r0, #0 beq _0213faa8 ldr r0, _0213fba4 ; =data_027e0c68 ldr r1, _0213fba8 ; =0x0005009f ldr r2, _0213fb78 ; =data_027e0f94 mov r3, #0 bl func_02036da8 add r0, r5, #0x1a8 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r5, #0x1b8] mov r1, #1 strh r1, [r0, #0xc] _0213faa8: ldr r0, [r5, #0x2f4] cmp r0, #0x3c addne sp, sp, #0xc0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x1a8 mov r1, #0 bl func_ov00_020c5d74 add sp, sp, #0xc0 ldmia sp!, {r4, r5, r6, pc} _0213facc: ldr r0, _0213fba0 ; =data_ov00_020e83cc add r1, sp, #0xc str r0, [sp, #0xc] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #0x10] ldr r2, [r5, #0x1b0] str r2, [sp, #0x14] ldr r2, [r5, #0x1b4] str r2, [sp, #0x18] ldr r2, [r5, #0x1b8] str r2, [sp, #0x1c] ldr r2, [r5, #0x1bc] str r2, [sp, #0x20] ldr r2, [r5, #0x1c0] str r2, [sp, #0x24] ldr r2, [r5, #0x1c4] str r2, [sp, #0x28] bl func_ov15_0213e3b4 cmp r0, #0 addeq sp, sp, #0xc0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0213fb84 ; =data_027e10a4 mov r1, #0 ldr r0, [r0] bl func_ov15_021413d4 mov r0, r5 mov r1, #3 bl func_ov15_0213ea50 mov r1, #1 strb r1, [r5, #0x344] mov r0, #2 str r0, [r5, #0x300] ldrb r0, [r5, #0x418] cmp r0, #0 addne sp, sp, #0xc0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _0213fbac ; =data_027e103c mov r2, #0 ldr r0, [r0] bl func_ov00_020cfae8 add sp, sp, #0xc0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213f80c _0213fb78: .word data_027e0f94 _0213fb7c: .word data_027e0e60 _0213fb80: .word data_027e0fac _0213fb84: .word data_027e10a4 _0213fb88: .word 0x00000d9a _0213fb8c: .word data_027e0e58 _0213fb90: .word data_027e0ffc _0213fb94: .word 0x00000217 _0213fb98: .word 0x00000215 _0213fb9c: .word 0x00000211 _0213fba0: .word data_ov00_020e83cc _0213fba4: .word data_027e0c68 _0213fba8: .word 0x0005009f _0213fbac: .word data_027e103c .global func_ov15_0213fbb0 arm_func_start func_ov15_0213fbb0 func_ov15_0213fbb0: ; 0x0213fbb0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 ldr r1, _0213fcdc ; =data_ov00_020e83cc mov r4, r0 str r1, [sp] ldr r2, [r4, #0x1ac] add r1, sp, #0 str r2, [sp, #4] ldr r2, [r4, #0x1b0] str r2, [sp, #8] ldr r2, [r4, #0x1b4] str r2, [sp, #0xc] ldr r2, [r4, #0x1b8] str r2, [sp, #0x10] ldr r2, [r4, #0x1bc] str r2, [sp, #0x14] ldr r2, [r4, #0x1c0] str r2, [sp, #0x18] ldr r2, [r4, #0x1c4] str r2, [sp, #0x1c] bl func_ov15_0213e3b4 cmp r0, #0 ldr r0, [r4, #0x1bc] beq _0213fc78 cmp r0, #0 mov r1, #0 bne _0213fc50 mov r0, r4 bl func_ov15_0213ea50 mov r0, r4 mov r1, #0x3c bl func_ov15_02140cb8 ldr r0, _0213fce0 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _0213fce4 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} _0213fc50: add r0, r4, #0x1a8 bl func_ov00_020c5d74 ldr r0, [r4, #0x1b8] add r0, r0, #0xc bl func_0202e670 ldr r0, [r4, #0x1b8] mov r1, #1 strh r1, [r0, #0xc] add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} _0213fc78: cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r4, r5, r6, pc} ldr r0, [r4, #0x2d4] cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r4, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #0x44000 addne sp, sp, #0x20 ldmneia sp!, {r4, r5, r6, pc} add r6, r4, #0x2d4 add r5, r4, #0x2dc cmp r6, r5 beq _0213fccc _0213fcb8: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _0213fcb8 _0213fccc: mov r0, #0 str r0, [r4, #0x304] add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0213fbb0 _0213fcdc: .word data_ov00_020e83cc _0213fce0: .word data_027e103c _0213fce4: .word data_ov15_02190458 .global func_ov15_0213fce8 arm_func_start func_ov15_0213fce8 func_ov15_0213fce8: ; 0x0213fce8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r5, r0 bl func_ov15_02140ebc add r2, sp, #0 mov r0, r5 mov r1, #0x19000 mov r3, #0x16c bl func_ov15_0213ddb8 ldrb r1, [r5, #0x418] mov r4, r0 cmp r1, #0 bne _0213fd5c ldr r0, [r5, #0x138] cmp r0, #0x1e addlt sp, sp, #0x24 ldmltia sp!, {r4, r5, pc} ldr r2, [r5, #0x30] ldr r0, _0213fef0 ; =data_027e0c68 add r1, r5, #0x3bc bl func_02036ce4 strb r0, [r5, #0x418] and r1, r0, #0xff mov r0, r5 bl _ZN5Actor10SetUnk_11cEc mov r0, #1 add sp, sp, #0x24 strb r0, [r5, #0x344] ldmia sp!, {r4, r5, pc} _0213fd5c: mov r0, #0x10000 ldr r1, [r5, #0x3d4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _0213fde0 add r0, r5, #0x3bc ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r5, #0x3d4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _0213fde0 ldr r0, _0213fef4 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 ldr r0, _0213fef8 ; =gAdventureFlags ldr r1, [r5, #0x2fc] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0213fdd8 ldr r0, _0213fef8 ; =gAdventureFlags ldr r1, [r5, #0x2fc] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0213fdd8: mvn r0, #0 str r0, [r5, #0x2fc] _0213fde0: ldrb r0, [r5, #0x344] cmp r0, #1 bne _0213fe04 ldr r0, _0213fef8 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x344] _0213fe04: ldr r0, _0213fefc ; =data_ov00_020e83cc add r1, sp, #4 str r0, [sp, #4] ldr r2, [r5, #0x1ac] mov r0, r5 str r2, [sp, #8] ldr r2, [r5, #0x1b0] str r2, [sp, #0xc] ldr r2, [r5, #0x1b4] str r2, [sp, #0x10] ldr r2, [r5, #0x1b8] str r2, [sp, #0x14] ldr r2, [r5, #0x1bc] str r2, [sp, #0x18] ldr r2, [r5, #0x1c0] str r2, [sp, #0x1c] ldr r2, [r5, #0x1c4] str r2, [sp, #0x20] bl func_ov15_0213e3b4 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, pc} mov r0, #0x10000 ldr r1, [r5, #0x3d4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _0213fe8c mov r0, r5 mov r1, #0 bl _ZN5Actor10SetUnk_11cEc ldr r0, [r5, #0x300] sub r0, r0, #1 str r0, [r5, #0x300] _0213fe8c: cmp r4, #0 beq _0213fedc ldr r0, [r5, #0x300] cmp r0, #0 addgt sp, sp, #0x24 ldmgtia sp!, {r4, r5, pc} ldr r0, [sp] cmp r0, #0xa000 bge _0213fecc cmp r0, #0x2800 ble _0213fecc mov r0, r5 mov r1, #4 bl func_ov15_0213ea50 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} _0213fecc: mov r0, #1 add sp, sp, #0x24 str r0, [r5, #0x300] ldmia sp!, {r4, r5, pc} _0213fedc: mov r0, r5 mov r1, #2 bl func_ov15_0213ea50 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213fce8 _0213fef0: .word data_027e0c68 _0213fef4: .word data_027e103c _0213fef8: .word gAdventureFlags _0213fefc: .word data_ov00_020e83cc .global func_ov15_0213ff00 arm_func_start func_ov15_0213ff00 func_ov15_0213ff00: ; 0x0213ff00 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x98 mov r4, r0 bl func_ov15_02140ebc add r2, sp, #8 mov r0, r4 mov r1, #0x19000 mov r3, #0x16c bl func_ov15_0213ddb8 ldr r0, _0214023c ; =data_ov00_020e83cc add r1, sp, #0x48 str r0, [sp, #0x48] ldr r2, [r4, #0x1ac] mov r0, r4 str r2, [sp, #0x4c] ldr r2, [r4, #0x1b0] str r2, [sp, #0x50] ldr r2, [r4, #0x1b4] str r2, [sp, #0x54] ldr r2, [r4, #0x1b8] str r2, [sp, #0x58] ldr r2, [r4, #0x1bc] str r2, [sp, #0x5c] ldr r2, [r4, #0x1c0] str r2, [sp, #0x60] ldr r2, [r4, #0x1c4] str r2, [sp, #0x64] bl func_ov15_0213e3b4 ldr r2, [r4, #0x1b8] ldr r1, [r4, #0x1bc] ldr r2, [r2, #0x14] cmp r1, #2 beq _0213ff9c cmp r1, #3 beq _021401ec cmp r1, #4 beq _0213ffec add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _0213ff9c: cmp r0, #0 beq _0213ffb8 add r0, r4, #0x1a8 mov r1, #4 bl func_ov00_020c5d74 add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _0213ffb8: cmp r2, #0xa000 addne sp, sp, #0x98 ldmneia sp!, {r3, r4, r5, pc} add r0, sp, #0x3c mov r1, r4 bl func_ov15_0214081c ldr r0, _02140240 ; =data_027e0ffc ldr r1, _02140244 ; =0x00000212 add r2, sp, #0x3c mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _0213ffec: cmp r0, #0 beq _02140098 ldr r0, _02140248 ; =data_027e0f94 add r2, sp, #0x8c add r1, r4, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0x8c] ldr r1, [sp, #0x94] bl func_01ffa0f4 mov r5, r0, lsl #0x10 mov r1, #0 add r0, sp, #0x8c str r1, [sp, #0x90] bl func_01ff9cec cmp r0, #0x19000 bge _02140084 cmp r0, #0x2800 ble _02140084 cmp r0, #0xa000 bge _02140084 add r0, r4, #0x300 ldrsh r0, [r0, #0x14] rsb r0, r0, r5, asr #16 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 rsbmi r0, r1, #0 movmi r0, r0, lsl #0x10 movmi r1, r0, asr #0x10 ldr r0, _0214024c ; =0x00000aab cmp r1, r0 bge _02140084 mov r0, #0 str r0, [r4, #0x30c] ldrsh r1, [r4, #0x78] add r0, r4, #0x300 add sp, sp, #0x98 strh r1, [r0, #0x14] ldmia sp!, {r3, r4, r5, pc} _02140084: add r0, r4, #0x1a8 mov r1, #3 bl func_ov00_020c5d74 add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _02140098: ldr r1, [r4, #0x30c] ldr r0, _02140250 ; =data_ov15_02185fc0 ldr r0, [r0, r1, lsl #2] cmp r2, r0 bne _0214013c add r2, r1, #1 add r0, sp, #0x30 mov r1, r4 str r2, [r4, #0x30c] bl func_ov15_02140854 add r0, sp, #0x30 add r3, sp, #0x80 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x48 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0x80 str r1, [sp, #0x84] bl func_01ff9cec rsb r0, r0, #0xa000 str r0, [r4, #0x18c] add r0, sp, #0x24 mov r1, r4 bl func_ov15_02140854 add r1, sp, #0x24 mov r0, r4 ldmia r1, {r1, r2, r3} bl func_ov15_0213de4c mov r1, r4 add r0, sp, #0x18 bl func_ov15_02140854 ldr r0, _02140240 ; =data_027e0ffc mov r1, #0x210 add r2, sp, #0x18 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _0214013c: sub r0, r0, #0x2000 cmp r2, r0 addne sp, sp, #0x98 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x230] ldr r0, _02140254 ; =0x000004cd str r1, [sp, #0x74] ldr r1, [r4, #0x234] mov r2, #0 str r1, [sp, #0x78] ldr r3, [r4, #0x238] add r1, sp, #0x68 str r3, [sp, #0x7c] str r2, [sp, #0x68] str r2, [sp, #0x6c] str r0, [sp, #0x70] ldrsh r0, [r4, #0x78] bl func_0202af4c add r0, sp, #0x74 add r1, sp, #0x68 mov r2, r0 bl func_01ff9bc4 add r0, r4, #0x78 str r0, [sp] ldr r1, _02140258 ; =func_ov15_0213e434 ldr r0, _0214025c ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, sp, #0x74 mov r1, #0xc3 mov r3, #2 bl func_ov00_0207c1b0 add r0, r4, #0x78 str r0, [sp] ldr r1, _02140258 ; =func_ov15_0213e434 ldr r0, _0214025c ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, sp, #0x74 mov r1, #0xc4 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _021401ec: cmp r0, #0 beq _02140208 mov r0, r4 mov r1, #3 bl func_ov15_0213ea50 add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} _02140208: cmp r2, #0x37000 addne sp, sp, #0x98 ldmneia sp!, {r3, r4, r5, pc} add r0, sp, #0xc mov r1, r4 bl func_ov15_0214081c ldr r0, _02140240 ; =data_027e0ffc ldr r1, _02140260 ; =0x00000211 add r2, sp, #0xc mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0213ff00 _0214023c: .word data_ov00_020e83cc _02140240: .word data_027e0ffc _02140244: .word 0x00000212 _02140248: .word data_027e0f94 _0214024c: .word 0x00000aab _02140250: .word data_ov15_02185fc0 _02140254: .word 0x000004cd _02140258: .word func_ov15_0213e434 _0214025c: .word data_027e0e58 _02140260: .word 0x00000211 .global func_ov15_02140264 arm_func_start func_ov15_02140264 func_ov15_02140264: ; 0x02140264 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 bl func_ov15_02140ebc add r2, sp, #0 mov r0, r4 mov r1, #0x19000 mov r3, #0x16c bl func_ov15_0213ddb8 ldr r0, _02140338 ; =data_ov00_020e83cc add r1, sp, #0x10 str r0, [sp, #0x10] ldr r2, [r4, #0x1ac] mov r0, r4 str r2, [sp, #0x14] ldr r2, [r4, #0x1b0] str r2, [sp, #0x18] ldr r2, [r4, #0x1b4] str r2, [sp, #0x1c] ldr r2, [r4, #0x1b8] str r2, [sp, #0x20] ldr r2, [r4, #0x1bc] str r2, [sp, #0x24] ldr r2, [r4, #0x1c0] str r2, [sp, #0x28] ldr r2, [r4, #0x1c4] str r2, [sp, #0x2c] bl func_ov15_0213e3b4 cmp r0, #0 beq _021402fc mov r0, r4 mov r1, #4 bl func_ov15_0213ea50 add r0, r4, #0x1a8 mov r1, #4 bl func_ov00_020c5d74 add sp, sp, #0x30 ldmia sp!, {r4, pc} _021402fc: ldr r0, [r4, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #0x42000 addne sp, sp, #0x30 ldmneia sp!, {r4, pc} add r0, sp, #4 mov r1, r4 bl func_ov15_0214081c ldr r0, _0214033c ; =data_027e0ffc ldr r1, _02140340 ; =0x00000212 add r2, sp, #4 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02140264 _02140338: .word data_ov00_020e83cc _0214033c: .word data_027e0ffc _02140340: .word 0x00000212 .global func_ov15_02140344 arm_func_start func_ov15_02140344 func_ov15_02140344: ; 0x02140344 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02140ebc ldr r0, [r4, #0x1b8] ldr r0, [r0, #0x14] cmp r0, #1 ldmltia sp!, {r4, pc} mov r0, r4 bl func_ov15_021408bc ldmia sp!, {r4, pc} arm_func_end func_ov15_02140344 .global func_ov15_0214036c arm_func_start func_ov15_0214036c func_ov15_0214036c: ; 0x0214036c stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x310] add r1, r1, #1 str r1, [r4, #0x310] bl func_ov15_02140ebc ldr r0, [r4, #0x308] ldr r1, _021403b8 ; =data_ov15_02186014 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _021403b0 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _021403b0: blx r1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214036c _021403b8: .word data_ov15_02186014 .global func_ov15_021403bc arm_func_start func_ov15_021403bc func_ov15_021403bc: ; 0x021403bc stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x2a] cmp r1, #0 beq _021403e0 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 ldmneia sp!, {r4, pc} _021403e0: ldrh r1, [r4, #0x20] cmp r1, #0 ldmeqia sp!, {r4, pc} ldr r0, _02140420 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #0 bl func_ov15_0213ea50 mov r1, #0x1000 mov r0, r4 str r1, [r4, #0x318] bl func_ov15_02140d0c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021403bc _02140420: .word gAdventureFlags .global func_ov15_02140424 arm_func_start func_ov15_02140424 func_ov15_02140424: ; 0x02140424 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 ldr r1, _02140584 ; =data_ov00_020e83cc mov r4, r0 str r1, [sp] ldr r2, [r4, #0x1ac] add r1, sp, #0 str r2, [sp, #4] ldr r2, [r4, #0x1b0] str r2, [sp, #8] ldr r2, [r4, #0x1b4] str r2, [sp, #0xc] ldr r2, [r4, #0x1b8] str r2, [sp, #0x10] ldr r2, [r4, #0x1bc] str r2, [sp, #0x14] ldr r2, [r4, #0x1c0] str r2, [sp, #0x18] ldr r2, [r4, #0x1c4] str r2, [sp, #0x1c] bl func_ov15_0213e3b4 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02140588 ; =data_027e0e60 add r1, r4, #0x31c ldr r0, [r0] bl func_ov00_020838d8 mov r0, r4 mov r1, #0x3c bl func_ov15_02140cb8 ldrb r0, [r4, #0x2b] cmp r0, #0 beq _021404bc mov r0, r4 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1c20Eiii _021404bc: ldr r0, _0214058c ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _02140590 ; =data_027e10a4 mov r1, #0 ldr r0, [r0] bl func_ov15_021413d4 ldr r0, _02140594 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x220 mov r3, #0 bl func_ov00_020ceacc ldrb r0, [r4, #0x2a] cmp r0, #0 beq _02140508 mov r0, r4 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii _02140508: mov r0, r4 bl func_ov15_02140e5c mov r0, #0 str r0, [r4, #0x318] add r6, r4, #0x2d4 add r5, r4, #0x2dc str r0, [r4, #0x304] cmp r6, r5 beq _02140540 _0214052c: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _0214052c _02140540: ldr r0, _0214058c ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cfae8 ldr r0, _02140598 ; =0x0000ffff mov r1, #0 strh r0, [r4, #0x7a] ldr r2, [r4, #0x308] sub r0, r1, #1 add r2, r2, #1 str r2, [r4, #0x308] str r1, [r4, #0x138] strb r1, [r4, #0x344] str r0, [r4, #0x2fc] add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02140424 _02140584: .word data_ov00_020e83cc _02140588: .word data_027e0e60 _0214058c: .word data_027e103c _02140590: .word data_027e10a4 _02140594: .word data_027e0ffc _02140598: .word 0x0000ffff .global func_ov15_0214059c arm_func_start func_ov15_0214059c func_ov15_0214059c: ; 0x0214059c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xbc ldr r1, _021407ac ; =gAdventureFlags mov r4, r0 ldr r0, [r1] ldr r1, [r4, #0x2f8] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 bne _0214079c ldr r0, [r4, #0x138] cmp r0, #1 bne _021405e4 ldr r0, _021407b0 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 ldr r0, _021407b4 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02137550 _021405e4: ldr r1, [r4, #0x2fc] mvn r0, #0 cmp r1, r0 bne _02140730 ldr r0, [r4, #0x138] cmp r0, #0x28 blt _02140730 mov r1, #0 strb r1, [r4, #0x128] ldrh r0, [r4, #0x22] cmp r0, #0xff beq _02140720 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, pc} ldr r0, _021407b8 ; =data_027e0f68 ldrh r2, [r4, #0x22] ldr r0, [r0] mov r1, #0x25 bl func_ov00_0208cd48 cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, pc} add r0, r0, #0x18 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0xc bl func_ov00_0209a4f4 mov r2, #0 ldr r1, _021407bc ; =data_027e0f64 mov r3, #0x32 mvn ip, #0 ldr r0, _021407ac ; =gAdventureFlags ldr r1, [r1] strb r3, [sp, #0x15] strb r2, [sp, #0x16] strb r2, [sp, #0x17] str ip, [sp, #0x10] ldr ip, [r1, #4] ldr r0, [r0] ldr r2, [ip, #0x26c] add r1, sp, #0xc str r2, [sp, #0x2c] ldr r3, [ip, #0x270] mov r2, #1 str r3, [sp, #0x30] ldr r3, [ip, #0x274] str r3, [sp, #0x34] strb r2, [sp, #0x22] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x2fc] cmp r0, #0 blt _02140710 ldr r0, _021407b4 ; =data_027e10a4 add r1, sp, #0 ldr r0, [r0] bl func_ov15_0213a500 mov r2, #1 ldr r0, _021407c0 ; =data_027e103c strb r2, [r4, #0x344] mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cf9dc bl func_ov15_0213ce4c mov r1, #0 strb r1, [r0, #0x45] ldrb r0, [r4, #0x2b] cmp r0, #0 ldrne r0, [r4, #0x308] addne r0, r0, #1 strne r0, [r4, #0x308] _02140710: add r0, sp, #0xc bl func_ov00_0209a508 add sp, sp, #0xbc ldmia sp!, {r3, r4, pc} _02140720: sub r0, r1, #2 add sp, sp, #0xbc str r0, [r4, #0x2f8] ldmia sp!, {r3, r4, pc} _02140730: ldr r0, [r4, #0x138] cmp r0, #0x46 addle sp, sp, #0xbc ldmleia sp!, {r3, r4, pc} ldrh r0, [r4, #0x22] cmp r0, #0xff mov r0, r4 bne _0214075c bl _ZN5Actor4KillEv add sp, sp, #0xbc ldmia sp!, {r3, r4, pc} _0214075c: mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 addne sp, sp, #0xbc ldmneia sp!, {r3, r4, pc} ldrb r0, [r4, #0x2b] cmp r0, #0 beq _0214078c mov r1, #1 mov r0, r4 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii _0214078c: mov r0, r4 bl _ZN5Actor4KillEv add sp, sp, #0xbc ldmia sp!, {r3, r4, pc} _0214079c: mov r0, #0 str r0, [r4, #0x138] add sp, sp, #0xbc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0214059c _021407ac: .word gAdventureFlags _021407b0: .word data_ov15_02190458 _021407b4: .word data_027e10a4 _021407b8: .word data_027e0f68 _021407bc: .word data_027e0f64 _021407c0: .word data_027e103c .global func_ov15_021407c4 arm_func_start func_ov15_021407c4 func_ov15_021407c4: ; 0x021407c4 ldr r1, _021407f0 ; =data_027e0c68 ldrb r1, [r1, #4] cmp r1, #0 bne _021407e0 ldrb r1, [r0, #0x2a] cmp r1, #0 bxne lr _021407e0: ldr r1, [r0, #0x308] add r1, r1, #1 str r1, [r0, #0x308] bx lr .align 2, 0 arm_func_end func_ov15_021407c4 _021407f0: .word data_027e0c68 .global func_ov15_021407f4 arm_func_start func_ov15_021407f4 func_ov15_021407f4: ; 0x021407f4 stmdb sp!, {r3, lr} ldr r1, _02140818 ; =data_027e0c68 ldrb r1, [r1, #4] cmp r1, #0 ldmneia sp!, {r3, pc} mov r1, #1 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021407f4 _02140818: .word data_027e0c68 .global func_ov15_0214081c arm_func_start func_ov15_0214081c func_ov15_0214081c: ; 0x0214081c stmdb sp!, {lr} sub sp, sp, #0xc ldr ip, [r1, #0x224] ldr r3, [r1, #0x228] ldr r2, [r1, #0x22c] add r1, sp, #0 mov lr, r0 str ip, [sp] str r3, [sp, #4] str r2, [sp, #8] ldmia r1, {r0, r1, r2} stmia lr, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov15_0214081c .global func_ov15_02140854 arm_func_start func_ov15_02140854 func_ov15_02140854: ; 0x02140854 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r2, [r1, #0x230] mov r3, #0 str r2, [sp, #0xc] ldr ip, [r1, #0x234] mov r2, #0x1000 str ip, [sp, #0x10] ldr ip, [r1, #0x238] mov r4, r0 str ip, [sp, #0x14] str r3, [sp] str r3, [sp, #4] str r2, [sp, #8] ldrsh r0, [r1, #0x78] add r1, sp, #0 bl func_0202af4c add r0, sp, #0xc add r1, sp, #0 mov r2, r0 bl func_01ff9bc4 add r0, sp, #0xc ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov15_02140854 .global func_ov15_021408bc arm_func_start func_ov15_021408bc func_ov15_021408bc: ; 0x021408bc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x138 mov r4, r0 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0x138 mov r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} add r5, sp, #0xc add r1, sp, #0x1c mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _02140be8 ; =data_027e10a4 mov r1, r5 ldr r0, [r0] bl func_ov15_02141344 cmp r0, #0 addeq sp, sp, #0x138 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r1, #3 add r0, sp, #0x88 strh r1, [r4, #0x7a] bl func_ov00_0209a4f4 add r0, r4, #0x48 add r5, sp, #0 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} mov r8, #0 mov r6, #6 ldr r0, _02140bec ; =0x00000122 ldr r5, [sp] ldr r2, [sp, #8] mov r7, #0x32 mov r1, #1 strb r1, [sp, #0x9c] ldr r3, _02140bf0 ; =data_027e0f64 str r0, [sp, #0x8c] ldr r0, [r3] str r8, [sp, #4] strb r7, [sp, #0x91] strb r6, [sp, #0x92] strb r6, [sp, #0x93] str r5, [sp, #0xa8] str r8, [sp, #0xac] str r2, [sp, #0xb0] ldr r0, [r0, #4] add r1, sp, #0x20 bl func_ov00_02087d34 ldr r1, [sp, #0x20] mov r0, #5 str r1, [r4, #0x348] ldr r1, [sp, #0x24] str r1, [r4, #0x34c] ldr r1, [sp, #0x28] str r1, [r4, #0x350] ldr r1, [sp, #0x2c] str r1, [r4, #0x354] ldr r1, [sp, #0x30] str r1, [r4, #0x358] ldr r1, [sp, #0x34] str r1, [r4, #0x35c] ldr r1, [sp, #0x38] str r1, [r4, #0x360] ldr r1, [sp, #0x3c] str r1, [r4, #0x364] ldr r1, [sp, #0x40] str r1, [r4, #0x368] ldr r1, [sp, #0x44] str r1, [r4, #0x36c] ldr r1, [sp, #0x48] str r1, [r4, #0x370] ldr r1, [sp, #0x4c] str r1, [r4, #0x374] ldr r1, [sp, #0x50] str r1, [r4, #0x378] ldr r1, [sp, #0x54] str r1, [r4, #0x37c] ldr r1, [sp, #0x58] str r1, [r4, #0x380] ldr r1, [sp, #0x5c] str r1, [r4, #0x384] ldr r1, [sp, #0x60] str r1, [r4, #0x388] ldr r1, [sp, #0x64] str r1, [r4, #0x38c] ldr r1, [sp, #0x68] str r1, [r4, #0x390] ldr r1, [sp, #0x6c] str r1, [r4, #0x394] ldr r1, [sp, #0x70] str r1, [r4, #0x398] ldr r1, [sp, #0x74] str r1, [r4, #0x39c] ldr r1, [sp, #0x78] str r1, [r4, #0x3a0] ldr r1, [sp, #0x7c] str r1, [r4, #0x3a4] ldrb r1, [sp, #0x80] strb r1, [r4, #0x3a8] ldrb r1, [sp, #0x81] strb r1, [r4, #0x3a9] ldrb r1, [sp, #0x82] strb r1, [r4, #0x3aa] ldrb r1, [sp, #0x83] strb r1, [r4, #0x3ab] ldrb r1, [sp, #0x84] strb r1, [r4, #0x3ac] ldr r1, [sp] str r1, [r4, #0x3b0] ldr r1, [sp, #4] str r1, [r4, #0x3b4] ldr r1, [sp, #8] str r1, [r4, #0x3b8] str r0, [sp, #0x24] ldr r2, _02140bf4 ; =0x0000157c ldr r1, _02140bf8 ; =0xfffff448 mov r0, r4 str r2, [sp, #0x2c] str r1, [sp, #0x30] bl func_ov15_02123bb4 ldr r1, [sp, #0x28] ldr r10, [sp, #0x20] ldr lr, [sp, #0x24] str r1, [sp, #0xbc] ldr r1, [sp, #0x48] str r10, [sp, #0xb4] mov r2, r8 ldr r10, [sp, #0x2c] mov ip, #0x5800 mov r3, #0x2000 str lr, [sp, #0xb8] ldr lr, [sp, #0x30] str r1, [sp, #0xdc] ldr r1, [sp, #0x54] str r10, [sp, #0xc0] ldr r10, [sp, #0x4c] str lr, [sp, #0xc4] ldr lr, [sp, #0x50] str r1, [sp, #0xe8] ldr r1, [sp, #0x60] str r10, [sp, #0xe0] ldr r10, [sp, #0x58] str lr, [sp, #0xe4] ldr lr, [sp, #0x5c] str r1, [sp, #0xf4] ldr r1, [sp, #0x6c] str r10, [sp, #0xec] ldr r10, [sp, #0x64] str lr, [sp, #0xf0] ldr lr, [sp, #0x68] str r1, [sp, #0x100] ldr r1, [sp, #0x78] str r10, [sp, #0xf8] ldr r10, [sp, #0x70] ldrb r9, [sp, #0x80] ldrb r8, [sp, #0x81] ldrb r7, [sp, #0x82] ldrb r6, [sp, #0x83] ldrb r5, [sp, #0x84] str lr, [sp, #0xfc] ldr lr, [sp, #0x74] str r1, [sp, #0x10c] str r10, [sp, #0x104] ldr r10, [sp, #0x7c] str lr, [sp, #0x108] mov lr, #0x5c ldr r1, _02140bfc ; =gAdventureFlags str r0, [sp, #0x34] str r0, [sp, #0xc8] ldr r0, [r1] str r10, [sp, #0x110] add r1, sp, #0x88 strb r9, [sp, #0x114] str ip, [sp, #0x38] str r3, [sp, #0x40] str r2, [sp, #0x44] str r2, [sp, #0x3c] str ip, [sp, #0xcc] str r2, [sp, #0xd0] str r3, [sp, #0xd4] str r2, [sp, #0xd8] strb r8, [sp, #0x115] strb r7, [sp, #0x116] strb r6, [sp, #0x117] strb r5, [sp, #0x118] str lr, [sp, #0x11c] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x2f8] mov r2, #0 mov r0, r4 mov r1, #7 str r2, [r4, #0x310] bl func_ov15_0213ea50 add r0, sp, #0x88 bl func_ov00_0209a508 mov r0, #1 add sp, sp, #0x138 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_021408bc _02140be8: .word data_027e10a4 _02140bec: .word 0x00000122 _02140bf0: .word data_027e0f64 _02140bf4: .word 0x0000157c _02140bf8: .word 0xfffff448 _02140bfc: .word gAdventureFlags .global func_ov15_02140c00 arm_func_start func_ov15_02140c00 func_ov15_02140c00: ; 0x02140c00 stmdb sp!, {r3, lr} cmp r1, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02140c14 ldmia sp!, {r3, pc} arm_func_end func_ov15_02140c00 .global func_ov15_02140c14 arm_func_start func_ov15_02140c14 func_ov15_02140c14: ; 0x02140c14 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #8 ldmeqia sp!, {r4, pc} mov r1, #0 bl func_ov15_0213ea50 ldr r1, [r4, #0x1b8] mov r2, #0 ldr r0, _02140c5c ; =data_027e10a4 str r2, [r1, #0x14] ldr r2, [r0] mov r3, #0x19 mov r0, r4 mov r1, #1 str r3, [r2, #0x54] bl func_ov15_02140cb8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02140c14 _02140c5c: .word data_027e10a4 .global func_ov15_02140c60 arm_func_start func_ov15_02140c60 func_ov15_02140c60: ; 0x02140c60 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02140cb4 ; =data_027e0d3c mov r5, r0 ldr r0, [r2] mov r4, r1 bl func_ov00_02078fac cmp r0, #3 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02140cb4 ; =data_027e0d3c mov r2, r4 ldr r0, [r0] add r1, r5, #0x48 bl func_ov15_0217d59c ldrb r0, [r5, #0x2b] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1c20Eiii ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02140c60 _02140cb4: .word data_027e0d3c .global func_ov15_02140cb8 arm_func_start func_ov15_02140cb8 func_ov15_02140cb8: ; 0x02140cb8 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02140d08 ; =data_027e0d3c mov r5, r0 ldr r0, [r2] mov r4, r1 bl func_ov00_02078fac cmp r0, #3 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02140d08 ; =data_027e0d3c mov r1, r4 ldr r0, [r0] bl func_ov15_0217d5d4 ldrb r0, [r5, #0x2b] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #1 mov r0, r5 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02140cb8 _02140d08: .word data_027e0d3c .global func_ov15_02140d0c arm_func_start func_ov15_02140d0c func_ov15_02140d0c: ; 0x02140d0c stmdb sp!, {r4, lr} sub sp, sp, #0x48 mov r4, r0 add r0, sp, #0x1c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 mvn r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r4, #8] add r1, sp, #4 str r0, [sp, #0x38] ldr r2, [r4, #0xc] ldr r0, _02140e44 ; =data_027e0fe8 str r2, [sp, #0x3c] str r1, [sp] ldr r0, [r0] ldr r1, _02140e48 ; =0x4c4f4e44 add r3, sp, #0x1c add r2, r4, #0x48 bl func_ov00_020c4048 ldr r0, _02140e4c ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #0x48 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [sp, #4] ldr ip, _02140e50 ; =0x00000e66 str r1, [r4, #0x2e4] ldr r2, [sp, #8] ldr r1, _02140e54 ; =data_027e0d0c str r2, [r4, #0x2e8] ldr lr, [r1] ldr r3, [r1, #4] ldr r2, [r1, #8] mov r1, #0 str r1, [r0, #0x12c] str lr, [r0, #0x7c] str r3, [r0, #0x80] str r2, [r0, #0x84] str ip, [r0, #0x88] ldr r1, [r0, #0x7c] add r2, sp, #4 str r1, [r0, #0xa8] ldr r1, [r0, #0x80] str r1, [r0, #0xac] ldr r3, [r0, #0x84] ldr r1, _02140e44 ; =data_027e0fe8 str r3, [r0, #0xb0] str ip, [r0, #0xb4] str r2, [sp] ldr r0, [r1] ldr r1, _02140e58 ; =0x53504b48 add r3, sp, #0x1c add r2, r4, #0x48 bl func_ov00_020c4048 ldr r0, _02140e4c ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #0x48 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [sp, #4] mov r0, #1 str r1, [r4, #0x2dc] ldr r1, [sp, #8] str r1, [r4, #0x2e0] add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02140d0c _02140e44: .word data_027e0fe8 _02140e48: .word 0x4c4f4e44 _02140e4c: .word data_027e0fe4 _02140e50: .word 0x00000e66 _02140e54: .word data_027e0d0c _02140e58: .word 0x53504b48 .global func_ov15_02140e5c arm_func_start func_ov15_02140e5c func_ov15_02140e5c: ; 0x02140e5c stmdb sp!, {r4, lr} ldr r1, _02140eb8 ; =data_027e0fe4 mov r4, r0 ldr r0, [r1] add r1, r4, #0x2dc bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02140e80 bl _ZN5Actor4KillEv _02140e80: mvn r1, #0 str r1, [r4, #0x2dc] ldr r0, _02140eb8 ; =data_027e0fe4 str r1, [r4, #0x2e0] ldr r0, [r0] add r1, r4, #0x2e4 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02140ea8 bl _ZN5Actor4KillEv _02140ea8: mvn r0, #0 str r0, [r4, #0x2e4] str r0, [r4, #0x2e8] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02140e5c _02140eb8: .word data_027e0fe4 .global func_ov15_02140ebc arm_func_start func_ov15_02140ebc func_ov15_02140ebc: ; 0x02140ebc stmdb sp!, {r3, lr} sub sp, sp, #0x18 mov r1, r0 add r0, sp, #0 bl func_ov15_0214081c add r0, sp, #0 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02140ef8 ; =data_027e10a4 mov r1, r3 ldr r0, [r0] bl func_ov15_02137574 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02140ebc _02140ef8: .word data_027e10a4 .global func_ov15_02140efc arm_func_start func_ov15_02140efc func_ov15_02140efc: ; 0x02140efc stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr r2, [r0, #0x130] cmp r2, #0 ldrne r3, [r0, #0x318] cmpne r3, #0 bne _02140f48 add r5, r0, #0x2d4 add r4, r0, #0x2dc cmp r5, r4 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} _02140f2c: mov r0, r5 bl func_ov00_020b7e6c add r5, r5, #4 cmp r5, r4 bne _02140f2c add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _02140f48: cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 bne _02140f68 cmp r2, #4 addne sp, sp, #0xc ldmneia sp!, {r4, r5, pc} _02140f68: add r1, sp, #0 add r0, r0, #0x1a8 str r3, [sp] str r3, [sp, #4] str r3, [sp, #8] bl func_ov00_020c5fc0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov15_02140efc .global func_ov15_02140f88 arm_func_start func_ov15_02140f88 func_ov15_02140f88: ; 0x02140f88 stmdb sp!, {r4, lr} ldr r1, [r0, #0x130] mov r4, #1 cmp r1, #3 beq _02140fac cmp r1, #6 cmpne r1, #7 moveq r4, #0 b _02141010 _02140fac: ldrb r1, [r0, #0x418] cmp r1, #0 beq _02140fd0 mov r1, #0x10000 ldr r2, [r0, #0x3d4] rsb r1, r1, #0 and r1, r2, r1 cmp r1, #0x1000000 beq _02140fd8 _02140fd0: mov r0, #0 ldmia sp!, {r4, pc} _02140fd8: add r1, r0, #0x100 ldrsh r2, [r1, #0x20] cmp r2, #0 subne r2, r2, #1 strneh r2, [r1, #0x20] add r1, r0, #0x100 ldrsh r1, [r1, #0x20] cmp r1, #0 bne _02141008 mov r1, #6 bl func_ov15_0213ea50 b _02141010 _02141008: mov r1, #5 bl func_ov15_0213ea50 _02141010: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02140f88 .global func_ov15_02141018 arm_func_start func_ov15_02141018 func_ov15_02141018: ; 0x02141018 ldr r2, [r1, #0x14] ldr r0, _02141044 ; =0x434e424c ldr r1, [r2, #4] cmp r1, r0 movne r0, #0 bxne lr ldrh r0, [r2, #0x20] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_02141018 _02141044: .word 0x434e424c .global func_ov15_02141048 arm_func_start func_ov15_02141048 func_ov15_02141048: ; 0x02141048 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02141048 .global func_ov15_02141064 arm_func_start func_ov15_02141064 func_ov15_02141064: ; 0x02141064 stmdb sp!, {r3, lr} ldr r1, _02141090 ; =data_027e0fe0 mov r0, #0x158 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02141094 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02141064 _02141090: .word data_027e0fe0 .global func_ov15_02141094 arm_func_start func_ov15_02141094 func_ov15_02141094: ; 0x02141094 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _021410b0 ; =data_ov15_0218afe4 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02141094 _021410b0: .word data_ov15_0218afe4 .global func_ov15_021410b4 arm_func_start func_ov15_021410b4 func_ov15_021410b4: ; 0x021410b4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021410b4 .global func_ov15_021410c8 arm_func_start func_ov15_021410c8 func_ov15_021410c8: ; 0x021410c8 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_ov15_021410c8 .global func_ov15_021410e4 arm_func_start func_ov15_021410e4 func_ov15_021410e4: ; 0x021410e4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 ldr r2, _021411b4 ; =data_027e0d0c str r0, [r4, #0x6c] ldr r0, [r2] ldr r1, _021411b8 ; =0x0000099a str r0, [r4, #0x7c] ldr r0, [r2, #4] ldr r3, _021411bc ; =0x00001dec str r0, [r4, #0x80] ldr ip, [r2, #8] ldr r0, _021411c0 ; =data_027e0fe4 str ip, [r4, #0x84] str r1, [r4, #0x88] ldr ip, [r4, #0x7c] add r1, r4, #0x34 str ip, [r4, #0x8c] ldr ip, [r4, #0x80] str ip, [r4, #0x90] ldr ip, [r4, #0x84] str ip, [r4, #0x94] ldr ip, [r4, #0x88] str ip, [r4, #0x98] ldr ip, [r2] str ip, [r4, #0xa8] ldr ip, [r2, #4] str ip, [r4, #0xac] ldr r2, [r2, #8] str r2, [r4, #0xb0] str r3, [r4, #0xb4] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02141188 ldr r1, [r0, #0x48] str r1, [r4, #0x48] ldr r1, [r0, #0x4c] str r1, [r4, #0x4c] ldr r0, [r0, #0x50] str r0, [r4, #0x50] _02141188: add r0, r4, #0x100 mov r1, #5 strh r1, [r0, #0x20] mov r1, #0 strb r1, [r4, #0x124] strb r1, [r4, #0x125] mov r0, #2 str r0, [r4, #0x12c] strb r1, [r4, #0x128] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021410e4 _021411b4: .word data_027e0d0c _021411b8: .word 0x0000099a _021411bc: .word 0x00001dec _021411c0: .word data_027e0fe4 .global func_ov15_021411c4 arm_func_start func_ov15_021411c4 func_ov15_021411c4: ; 0x021411c4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} ldr r0, _02141234 ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r1, r0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} add r0, sp, #0 bl func_ov15_0214081c ldr r0, [sp] mov r1, #0 str r0, [r4, #0x48] ldr r2, [sp, #4] mov r0, r4 str r2, [r4, #0x4c] ldr r3, [sp, #8] mov r2, r1 str r3, [r4, #0x50] bl _ZN5Actor18func_ov00_020c243cEiPi add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021411c4 _02141234: .word data_027e0fe4 .global func_ov15_02141238 arm_func_start func_ov15_02141238 func_ov15_02141238: ; 0x02141238 stmdb sp!, {r3, lr} ldr r3, [r1, #0x14] ldr r1, _02141288 ; =0x434e424c ldr r2, [r3, #4] cmp r2, r1 movne r0, #0 ldmneia sp!, {r3, pc} ldrh r1, [r3, #0x20] cmp r1, #0 movne r0, #0 ldmneia sp!, {r3, pc} ldr r2, _0214128c ; =data_027e0fe4 add r1, r0, #0x34 ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02140f88 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02141238 _02141288: .word 0x434e424c _0214128c: .word data_027e0fe4 .global func_ov15_02141290 arm_func_start func_ov15_02141290 func_ov15_02141290: ; 0x02141290 ldr r1, _021412ac ; =data_027e0fa0 mov r2, #0 str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r2, [r0, #0x78] bx lr .align 2, 0 arm_func_end func_ov15_02141290 _021412ac: .word data_027e0fa0 .global func_ov15_021412b0 arm_func_start func_ov15_021412b0 func_ov15_021412b0: ; 0x021412b0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov15_0213a538 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #4 bl func_ov15_02136b34 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x48] blx r2 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_021412b0 .global func_ov15_02141300 arm_func_start func_ov15_02141300 func_ov15_02141300: ; 0x02141300 ldr r3, [r1] ldr r2, _0214132c ; =data_027e0f94 ldr r0, _02141330 ; =data_027e0fac str r3, [r2] ldr r3, [r1, #4] str r3, [r2, #4] ldr r3, [r1, #8] str r3, [r2, #8] ldrsh r1, [r1, #0xc] strh r1, [r0] bx lr .align 2, 0 arm_func_end func_ov15_02141300 _0214132c: .word data_027e0f94 _02141330: .word data_027e0fac .global func_ov15_02141334 arm_func_start func_ov15_02141334 func_ov15_02141334: ; 0x02141334 ldr ip, _02141340 ; =func_ov15_02136b34 mov r1, #0 bx ip .align 2, 0 arm_func_end func_ov15_02141334 _02141340: .word func_ov15_02136b34 .global func_ov15_02141344 arm_func_start func_ov15_02141344 func_ov15_02141344: ; 0x02141344 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov15_0213a538 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #4 bl func_ov15_02136b34 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov15_0214138c mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02141344 .global func_ov15_0214138c arm_func_start func_ov15_0214138c func_ov15_0214138c: ; 0x0214138c ldr r0, [r1, #0x10] tst r0, #1 beq _021413b4 ldr r2, [r1] ldr r0, _021413cc ; =data_027e0f94 str r2, [r0] ldr r2, [r1, #4] str r2, [r0, #4] ldr r2, [r1, #8] str r2, [r0, #8] _021413b4: ldr r0, [r1, #0x10] tst r0, #2 ldrnesh r1, [r1, #0xc] ldrne r0, _021413d0 ; =data_027e0fac strneh r1, [r0] bx lr .align 2, 0 arm_func_end func_ov15_0214138c _021413cc: .word data_027e0f94 _021413d0: .word data_027e0fac .global func_ov15_021413d4 arm_func_start func_ov15_021413d4 func_ov15_021413d4: ; 0x021413d4 cmp r1, #0 ldrne r1, _021413f0 ; =data_027e0fa0 movne r2, #0 strne r2, [r1, #4] ldr ip, _021413f4 ; =func_ov15_02136b34 ldr r1, [r0, #0x30] bx ip .align 2, 0 arm_func_end func_ov15_021413d4 _021413f0: .word data_027e0fa0 _021413f4: .word func_ov15_02136b34 .global func_ov15_021413f8 arm_func_start func_ov15_021413f8 func_ov15_021413f8: ; 0x021413f8 ldrb r2, [r0, #0x25d] cmp r2, #0 movne r0, #0 bxne lr mov ip, #1 strb ip, [r0, #0x25d] mov r2, #0 strb r2, [r0, #0x25c] ldr r3, [r1] add r2, r0, #0x200 str r3, [r0, #0x228] ldr r3, [r1, #4] str r3, [r0, #0x22c] ldr r3, [r1, #8] str r3, [r0, #0x230] ldr r3, [r1, #0xc] str r3, [r0, #0x234] ldrsh r3, [r1, #0x10] strh r3, [r2, #0x38] ldrb r2, [r1, #0x12] strb r2, [r0, #0x23a] ldrb r2, [r1, #0x13] strb r2, [r0, #0x23b] ldrb r2, [r1, #0x14] strb r2, [r0, #0x23c] ldrb r1, [r1, #0x15] strb r1, [r0, #0x23d] mov r0, ip bx lr arm_func_end func_ov15_021413f8 .global func_ov15_0214146c arm_func_start func_ov15_0214146c func_ov15_0214146c: ; 0x0214146c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 ldr r4, [r1] mov r5, r2 str r4, [sp] ldr r4, [r1, #4] mov r6, r0 str r4, [sp, #4] ldr r2, [r1, #8] mov r4, r3 str r2, [sp, #8] ldr r2, [r1, #0xc] str r2, [sp, #0xc] ldrsh r2, [r1, #0x10] strh r2, [sp, #0x10] ldrb r2, [r1, #0x12] strb r2, [sp, #0x12] ldrb r2, [r1, #0x13] strb r2, [sp, #0x13] ldrb r2, [r1, #0x14] strb r2, [sp, #0x14] ldrb r2, [r1, #0x15] add r1, sp, #0 strb r2, [sp, #0x15] bl func_ov15_021413f8 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} str r5, [r6, #0x254] str r4, [r6, #0x258] mov r0, #1 strb r0, [r6, #0x25c] add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0214146c .global func_ov15_021414f8 arm_func_start func_ov15_021414f8 func_ov15_021414f8: ; 0x021414f8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_021368b4 ldr r1, _02141534 ; =data_027e0fa0 ldr r2, [r1, #4] sub r0, r2, r0 str r0, [r1, #4] ldrb r0, [r4, #0x27c] cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x27c] mov r0, #0 str r0, [r4, #0x80] str r0, [r4, #0x78] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021414f8 _02141534: .word data_027e0fa0 .global func_ov15_02141538 arm_func_start func_ov15_02141538 func_ov15_02141538: ; 0x02141538 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #0 mov r2, r1 mov r3, r1 mov r4, r0 str r1, [sp] bl func_ov00_02095444 ldr r0, _02141574 ; =data_ov15_0218b0c4 mov r1, #0 str r0, [r4] mov r0, r4 str r1, [r4, #0x14] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02141538 _02141574: .word data_ov15_0218b0c4 .global func_ov15_02141578 arm_func_start func_ov15_02141578 func_ov15_02141578: ; 0x02141578 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #0x14] bl func_ov00_0209549c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02141578 .global func_ov15_02141594 arm_func_start func_ov15_02141594 func_ov15_02141594: ; 0x02141594 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #0x14] bl func_ov00_0209549c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02141594 .global func_ov15_021415b8 arm_func_start func_ov15_021415b8 func_ov15_021415b8: ; 0x021415b8 stmdb sp!, {r3, lr} sub sp, sp, #0x18 str r2, [r0, #0x14] ldrb r3, [r1] mvn r2, #0 strb r3, [r0, #5] ldrb lr, [r1, #2] ldrb ip, [r1, #3] ldrb r3, [r1, #4] sub lr, lr, #7 mov lr, lr, lsl #0xc ldrb r1, [r1, #1] sub lr, lr, #0x800 sub r2, r2, ip mov lr, lr, asr #0x1 mov ip, r2, lsl #0xc sub r2, r3, #6 mov r2, r2, lsl #0xc sub r2, r2, #0x800 rsb r1, r1, #0 mov r1, r1, lsl #0xc str lr, [r0, #0x18] mov r3, ip, asr #0x1 str r3, [r0, #0x1c] str lr, [r0, #0x20] mov r2, r2, asr #0x1 str r2, [r0, #0x24] mov r1, r1, asr #0x1 str r1, [r0, #0x28] str r2, [r0, #0x2c] add sp, sp, #0x18 ldmia sp!, {r3, pc} arm_func_end func_ov15_021415b8 .global func_ov15_02141638 arm_func_start func_ov15_02141638 func_ov15_02141638: ; 0x02141638 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x14] cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, pc} add r3, sp, #0xc ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x14] add r0, sp, #0 bl func_ov15_021416b0 add r0, sp, #0xc add r1, sp, #0 mov r2, r0 bl func_01ff9bf8 ldr r1, [r4, #0x14] add r0, sp, #0xc ldrsh r1, [r1, #0x24] rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a61ac add r1, sp, #0xc add r0, r4, #0x18 bl func_ov00_0208e7e8 add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov15_02141638 .global func_ov15_021416b0 arm_func_start func_ov15_021416b0 func_ov15_021416b0: ; 0x021416b0 mov r3, r0 add r0, r1, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} bx lr arm_func_end func_ov15_021416b0 .global func_ov15_021416c4 arm_func_start func_ov15_021416c4 func_ov15_021416c4: ; 0x021416c4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r2, _021417a4 ; =data_027e0ce0 mov r4, r0 str r1, [r4] ldr r1, [r2, #4] mov r0, #0x2c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214171c ldr r2, _021417a8 ; =data_ov00_020e2f04 mov r1, #1 str r2, [r0] strb r1, [r0, #4] mov r2, #0 strb r2, [r0, #5] str r2, [r0, #8] str r2, [r0, #0xc] ldr r1, _021417ac ; =data_ov00_020e2dd8 str r2, [r0, #0x10] str r1, [r0] _0214171c: str r0, [r4, #4] mov r1, #0 str r1, [r4, #8] str r1, [r4, #0xc] str r1, [r4, #0x10] str r1, [r4, #0x14] str r1, [r4, #0x18] str r1, [r4, #0x1c] str r1, [r4, #0x20] strh r1, [r4, #0x24] mov r0, #0x10000 str r0, [r4, #0x28] ldr ip, _021417b0 ; =func_ov15_02141578 str r1, [r4, #0x34] ldr r3, _021417b4 ; =func_ov15_02141538 add r0, r4, #0x38 mov r1, #8 mov r2, #0x30 str ip, [sp] bl func_0204f614 add r0, r4, #0x1b8 bl func_ov15_021422f4 mvn r0, #0 str r0, [r4, #0x2c] str r0, [r4, #0x30] ldr r0, [r4, #0x1c0] cmp r0, #8 bhs _02141798 add r0, r4, #0x1b8 mov r1, #8 bl func_ov15_021423e0 _02141798: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021416c4 _021417a4: .word data_027e0ce0 _021417a8: .word data_ov00_020e2f04 _021417ac: .word data_ov00_020e2dd8 _021417b0: .word func_ov15_02141578 _021417b4: .word func_ov15_02141538 .global func_ov15_021417b8 arm_func_start func_ov15_021417b8 func_ov15_021417b8: ; 0x021417b8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 add r0, r4, #0x14 bl func_ov00_020b7e6c ldr r1, [r4, #0x1bc] mov r0, #0 strb r0, [sp] ldr r0, [r4, #0x1bc] sub r0, r0, r1 str r0, [r4, #0x1bc] ldr r0, [r4, #0x10] cmp r0, #0 beq _02141808 beq _02141800 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02141800: mov r0, #0 str r0, [r4, #0x10] _02141808: ldr r0, [r4, #0xc] cmp r0, #0 beq _0214182c beq _02141824 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02141824: mov r0, #0 str r0, [r4, #0xc] _0214182c: mov r0, r4 bl func_ov15_021418fc ldr r0, [r4, #4] cmp r0, #0 beq _02141858 beq _02141850 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02141850: mov r0, #0 str r0, [r4, #4] _02141858: mov r1, #0 add r0, r4, #0x1b8 str r1, [r4] bl func_ov15_0214236c ldr r3, _02141890 ; =func_ov15_02141578 add r0, r4, #0x38 mov r1, #8 mov r2, #0x30 bl func_0204f754 add r0, r4, #0x14 bl func_ov00_020b7d74 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021417b8 _02141890: .word func_ov15_02141578 .global func_ov15_02141894 arm_func_start func_ov15_02141894 func_ov15_02141894: ; 0x02141894 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 ldr r2, [r5, #8] mov r4, r1 cmp r2, #0 beq _021418b4 bl func_ov15_021418fc _021418b4: mov r0, #0x10 str r0, [sp] mov r0, #0 ldr r1, _021418f0 ; =data_027e0ce0 str r0, [sp, #4] ldr r0, _021418f4 ; =data_ov15_0218b098 ldr r3, _021418f8 ; =data_ov15_0218b0a0 ldr r1, [r1, #4] ldr r2, [r0, #0x20] ldr r3, [r3, r4, lsl #2] mov r0, #0x99 blx func_0202d598 str r0, [r5, #8] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02141894 _021418f0: .word data_027e0ce0 _021418f4: .word data_ov15_0218b098 _021418f8: .word data_ov15_0218b0a0 .global func_ov15_021418fc arm_func_start func_ov15_021418fc func_ov15_021418fc: ; 0x021418fc stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #0 ldmeqia sp!, {r4, pc} blx func_0202d5dc mov r0, #0 str r0, [r4, #8] ldmia sp!, {r4, pc} arm_func_end func_ov15_021418fc .global func_ov15_02141920 arm_func_start func_ov15_02141920 func_ov15_02141920: ; 0x02141920 bx lr arm_func_end func_ov15_02141920 .global func_ov15_02141924 arm_func_start func_ov15_02141924 func_ov15_02141924: ; 0x02141924 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x10] bl func_ov00_020c0e04 add r1, sp, #0xc mov r0, r4 bl func_ov15_0214227c cmp r0, #0 ldr r1, [r4, #0x14] beq _02141a60 cmp r1, #0 ldrne r0, [r1, #0x24] add r2, sp, #0 bicne r0, r0, #2 strne r0, [r1, #0x24] add r1, sp, #0xc mov r0, r4 bl func_ov15_02142148 cmp r0, #0 ldrne r8, [r4, #0x14] cmpne r8, #0 beq _02141a00 ldr r5, [sp] ldr r3, [sp, #8] mov r1, #0xa000 umull r0, r6, r5, r1 mov r2, #0 umull lr, ip, r3, r1 adds r7, r0, #0x800 ldr r0, [r8, #0x38] mla r6, r5, r2, r6 mov r5, r5, asr #0x1f mla r6, r5, r1, r6 adc r5, r6, #0 adds lr, lr, #0x800 mov r6, r7, lsr #0xc orr r6, r6, r5, lsl #20 mla ip, r3, r2, ip mov r2, r3, asr #0x1f mla ip, r2, r1, ip adc r1, ip, #0 mov r2, lr, lsr #0xc orr r2, r2, r1, lsl #20 str r0, [sp, #4] str r6, [sp] str r2, [sp, #8] ldr r1, [r4, #0x14] cmp r1, #0 beq _02141a00 str r6, [r1, #0x34] ldr r0, [sp, #4] str r0, [r1, #0x38] ldr r0, [sp, #8] str r0, [r1, #0x3c] _02141a00: ldr r0, [r4, #0x14] cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [r0, #0x20] ldr r2, [sp, #0xc] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x10] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x14] ldr r1, [r1] add sp, sp, #0x18 ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] ldmia sp!, {r4, r5, r6, r7, r8, pc} _02141a60: cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov15_02141924 .global func_ov15_02141a78 arm_func_start func_ov15_02141a78 func_ov15_02141a78: ; 0x02141a78 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x30 ldr r1, _02141b50 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 addne sp, sp, #0x30 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [r4, #0x28] ldr r2, [r4, #0x20] ldr r0, [r4, #0x18] rsb r1, r1, #0 ldr r7, _02141b54 ; =data_ov00_020e9360 str r0, [sp, #0x24] str r1, [sp, #0x28] str r2, [sp, #0x2c] mov r8, #0 mov r6, #3 _02141ac8: mov r0, r7 mov r1, r6 bl func_ov00_02079e68 mov r5, r0 ldr r0, [r4, #0xc] ldr r1, [r0] ldr r1, [r1, #8] blx r1 add r1, r4, r8, lsl #2 ldr r1, [r1, #0x2c] mov r2, r5 bl func_02019534 add r8, r8, #1 cmp r8, #2 blt _02141ac8 ldrh r1, [r4, #0x24] ldr r3, _02141b58 ; =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 ldr r0, [r4, #0xc] add r1, sp, #0 ldr r3, [r0] add r2, sp, #0x24 ldr r3, [r3, #0x14] blx r3 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02141a78 _02141b50: .word data_027e0d38 _02141b54: .word data_ov00_020e9360 _02141b58: .word data_02050f54 .global func_ov15_02141b5c arm_func_start func_ov15_02141b5c func_ov15_02141b5c: ; 0x02141b5c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x38 ldr r3, [r1] mov r4, r0 str r3, [r4, #0x18] ldr r0, [r1, #4] mov r7, #0 str r0, [r4, #0x1c] ldr r0, [r1, #8] bic r3, r7, #0x1f str r0, [r4, #0x20] strh r2, [r4, #0x24] ldr r2, [r1] ldr r6, [r1, #8] sub r8, r2, #0x8000 sub r0, r6, #0x8000 add lr, r2, #0x8000 add r6, r6, #0x8000 str lr, [sp, #0x20] ldr r5, [r4, #0x28] sub r1, r7, #0x1000 sub r9, r1, r5 rsb r5, r5, #0 add r1, sp, #0x2c add ip, sp, #8 str r8, [sp, #0x2c] str r9, [sp, #0x30] str r0, [sp, #0x34] ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} orr r3, r3, #7 add r0, sp, #0x20 add lr, sp, #0x14 str r5, [sp, #0x24] str r6, [sp, #0x28] ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} str r7, [sp] ldr r0, [r4, #4] mov r1, ip ldr r5, [r0] sub r2, r7, #1 ldr r5, [r5, #0x14] str r3, [sp, #4] blx r5 ldr r0, [r4, #4] mov r2, #1 strb r2, [r0, #5] ldr r1, [r4, #4] ldr r0, _02141c3c ; =data_027e0f6c strb r2, [r1, #4] ldr r0, [r0] ldr r1, [r4, #4] bl func_ov00_02093a5c add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02141b5c _02141c3c: .word data_027e0f6c .global func_ov15_02141c40 arm_func_start func_ov15_02141c40 func_ov15_02141c40: ; 0x02141c40 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x38 mov r7, r0 ldr r0, [r7, #0x28] mov r6, r1 cmp r0, #0x10000 movle r4, #0 movgt r4, #1 mov r0, r7 mov r1, r4 mov r5, r2 bl func_ov15_02141894 ldr r0, [r7, #0xc] cmp r0, #0 bne _02141d50 ldr r1, _02141e60 ; =data_ov15_0218b098 add r0, sp, #0x28 mov r3, #0 ldr ip, [r1, r4, lsl #2] ldr r2, _02141e64 ; =data_02057840 mov r1, #0x10 str r3, [r0, #8] str r3, [r0, #0xc] stmia r0, {r2, ip} blx func_0203014c ldr r1, _02141e68 ; =data_027e0ce0 mov r0, #0x5c ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r8, r0 beq _02141cf4 ldr r0, [sp, #0x30] mov r2, #0 str r2, [sp] str r2, [sp, #4] ldr r1, _02141e6c ; =data_ov15_0218b0b0 str r2, [sp, #8] ldr r1, [r1, r4, lsl #2] mov r3, r2 blx func_ov00_020bd798 mov r1, r0 mov r0, r8 blx func_ov00_020a9588 mov r8, r0 _02141cf4: mov r0, r8 str r8, [r7, #0xc] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r2, [r0, #8] ldr r1, _02141e70 ; =data_ov15_02186108 add r0, r0, r2 add r0, r0, #4 bl func_0201e388 str r0, [r7, #0x2c] ldr r0, [r7, #0xc] ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r2, [r0, #8] ldr r1, _02141e74 ; =data_ov15_0218611c add r0, r0, r2 add r0, r0, #4 bl func_0201e388 str r0, [r7, #0x30] add r0, sp, #0x28 blx func_0203010c _02141d50: ldr r0, [r7, #0x10] cmp r0, #0 bne _02141df4 ldr r1, _02141e78 ; =data_ov15_0218b0a8 add r0, sp, #0x18 mov r3, #0 ldr ip, [r1, r4, lsl #2] ldr r2, _02141e64 ; =data_02057840 mov r1, #0x10 str r3, [r0, #8] str r3, [r0, #0xc] stmia r0, {r2, ip} blx func_0203014c ldr r1, _02141e7c ; =data_ov15_021860e8 add r0, sp, #0x18 add r1, r1, r4, lsl #4 bl func_ov00_020c0bdc ldr r1, _02141e68 ; =data_027e0ce0 mov r4, r0 ldr r1, [r1, #4] mov r0, #0x24 mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r8, r0 beq _02141ddc ldr r0, [r7, #0xc] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r2, r0 mov r0, r8 mov r1, r4 mov r3, #4 bl func_ov15_02141e84 mov r8, r0 _02141ddc: mov r0, r8 mov r1, #0 str r8, [r7, #0x10] bl func_ov00_020c0e5c add r0, sp, #0x18 blx func_0203010c _02141df4: ldr r0, [r7, #0xc] ldr r1, [r7, #0x10] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 mov r0, r7 mov r1, r6 mov r2, r5 bl func_ov15_02141b5c add r1, sp, #0xc mov r0, r7 bl func_ov15_0214227c ldr r0, _02141e80 ; =data_027e0e58 mov r2, #0x80 ldr r0, [r0] add r1, r7, #0x14 str r2, [sp] mov r2, #0x17 add r3, sp, #0xc bl func_ov00_0207c1f8 ldr r1, [r7, #0x14] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02141c40 _02141e60: .word data_ov15_0218b098 _02141e64: .word data_02057840 _02141e68: .word data_027e0ce0 _02141e6c: .word data_ov15_0218b0b0 _02141e70: .word data_ov15_02186108 _02141e74: .word data_ov15_0218611c _02141e78: .word data_ov15_0218b0a8 _02141e7c: .word data_ov15_021860e8 _02141e80: .word data_027e0e58 .global func_ov15_02141e84 arm_func_start func_ov15_02141e84 func_ov15_02141e84: ; 0x02141e84 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r1, #0 mov r6, r0 mov r4, r3 blx func_ov00_020c0c08 ldr r3, _02141ec8 ; =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_ov15_02141e84 _02141ec8: .word data_ov00_020e5868 .global func_ov15_02141ecc arm_func_start func_ov15_02141ecc func_ov15_02141ecc: ; 0x02141ecc stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4, #0x10] cmp r0, #0 beq _02141efc beq _02141ef4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02141ef4: mov r0, #0 str r0, [r4, #0x10] _02141efc: ldr r0, [r4, #0xc] cmp r0, #0 beq _02141f20 beq _02141f18 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02141f18: mov r0, #0 str r0, [r4, #0xc] _02141f20: mov r0, r4 bl func_ov15_021418fc ldr r1, [r4, #4] cmp r1, #0 beq _02141f40 ldr r0, _02141f6c ; =data_027e0f6c ldr r0, [r0] bl func_ov00_02093af0 _02141f40: mov r1, #0 str r1, [r4, #0x34] ldr r2, [r4, #0x1bc] add r0, r4, #0x14 strb r1, [sp] ldr r1, [r4, #0x1bc] sub r1, r1, r2 str r1, [r4, #0x1bc] bl func_ov00_020b7e6c add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02141ecc _02141f6c: .word data_027e0f6c .global func_ov15_02141f70 arm_func_start func_ov15_02141f70 func_ov15_02141f70: ; 0x02141f70 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x34] add r3, r4, #0x38 mov r0, #0x30 mla r0, r2, r0, r3 mov r2, r4 bl func_ov15_021415b8 ldr r0, [r4, #0x34] add r0, r0, #1 str r0, [r4, #0x34] ldmia sp!, {r4, pc} arm_func_end func_ov15_02141f70 .global func_ov15_02141fa0 arm_func_start func_ov15_02141fa0 func_ov15_02141fa0: ; 0x02141fa0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {lr} sub sp, sp, #0x14 ldr r1, [r0, #0x1bc] cmp r1, #8 addhs sp, sp, #0x14 movhs r0, #0 ldmhsia sp!, {lr} addhs sp, sp, #0x10 bxhs lr ldr r2, [r0, #0x1b8] ldr r1, [r0, #0x1bc] str r2, [sp, #0x10] add ip, r2, r1, lsl #2 str ip, [sp, #0xc] str ip, [sp, #4] str r2, [sp, #8] ldr r3, [sp, #0x1c] b _02141ff4 _02141fec: add r2, r2, #4 str r2, [sp, #8] _02141ff4: cmp r2, ip ldrne r1, [r2] cmpne r1, r3 bne _02141fec ldr r1, [sp, #8] cmp r1, ip addne sp, sp, #0x14 movne r0, #0 ldmneia sp!, {lr} addne sp, sp, #0x10 bxne lr mov r3, #0 strb r3, [sp, #1] ldr r2, [r0, #0x1bc] ldr r1, [r0, #0x1c0] cmp r2, r1 bhs _02142054 add r3, r2, #1 str r3, [r0, #0x1bc] ldr r1, [r0, #0x1b8] ldr r2, [sp, #0x1c] sub r0, r3, #1 str r2, [r1, r0, lsl #2] b _02142074 _02142054: strb r3, [sp] sub r2, sp, #4 and r1, r3, #0xff strb r1, [r2] ldr r2, [r2] add r1, sp, #0x1c add r0, r0, #0x1b8 bl func_ov15_021423b0 _02142074: mov r0, #0 add sp, sp, #0x14 ldmia sp!, {lr} add sp, sp, #0x10 bx lr arm_func_end func_ov15_02141fa0 .global func_ov15_02142088 arm_func_start func_ov15_02142088 func_ov15_02142088: ; 0x02142088 stmdb sp!, {r3, lr} sub sp, sp, #0x28 ldr ip, [r0, #0x1b8] ldr r2, [r0, #0x1bc] str ip, [sp, #0x20] add r3, ip, r2, lsl #2 str r3, [sp, #0x1c] str r3, [sp, #0xc] str r3, [sp, #4] str ip, [sp, #8] b _021420bc _021420b4: add ip, ip, #4 str ip, [sp, #8] _021420bc: cmp ip, r3 ldrne r2, [ip] cmpne r2, r1 bne _021420b4 ldr r2, [sp, #8] ldr r3, [sp, #0xc] mov lr, r2 cmp r2, r3 addne ip, lr, #4 cmpne ip, r3 beq _02142100 _021420e8: ldr r2, [ip] add ip, ip, #4 cmp r2, r1 strne r2, [lr], #4 cmp ip, r3 bne _021420e8 _02142100: ldr r2, [r0, #0x1b8] ldr r1, [r0, #0x1bc] mov r3, #0 add r2, r2, r1, lsl #2 strb r3, [sp] sub r1, sp, #4 strb r3, [r1] ldr r3, [r1] mov r1, lr add r0, r0, #0x1b8 str lr, [sp, #0x24] str r2, [sp, #0x18] str r2, [sp, #0x10] str lr, [sp, #0x14] bl func_ov15_02142308 mov r0, #1 add sp, sp, #0x28 ldmia sp!, {r3, pc} arm_func_end func_ov15_02142088 .global func_ov15_02142148 arm_func_start func_ov15_02142148 func_ov15_02142148: ; 0x02142148 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 add r3, sp, #0xc mov r5, r0 mov r4, r2 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x1b8] ldr r2, [r5, #0x1bc] add r0, sp, #8 add r2, r1, r2, lsl #2 str r2, [sp] str r1, [sp, #4] bl func_ov15_02142214 ldr r1, [r5, #0x1b8] ldr r0, [r5, #0x1bc] ldr r2, [sp, #8] add r0, r1, r0, lsl #2 cmp r2, r0 bne _021421b0 mov r0, #0 str r0, [r4] str r0, [r4, #4] add sp, sp, #0x18 str r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} _021421b0: ldr r1, [r2] cmp r1, #0 bne _021421d4 mov r0, #0 str r0, [r4] str r0, [r4, #4] add sp, sp, #0x18 str r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} _021421d4: ldr r0, [r1] str r0, [r4] ldr r0, [r1, #4] str r0, [r4, #4] ldr r0, [r1, #8] str r0, [r4, #8] ldr r0, [r4] cmp r0, #0 ldreq r0, [r4, #4] cmpeq r0, #0 ldreq r0, [r4, #8] cmpeq r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02142148 .global func_ov15_02142214 arm_func_start func_ov15_02142214 func_ov15_02142214: ; 0x02142214 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} ldr r6, [sp, #0x18] ldr r5, [sp, #0x14] mov r1, #0 mov r2, #1 b _02142234 _02142230: add r5, r5, #4 _02142234: cmp r5, r6 beq _0214226c ldr r4, [r5] ldr lr, [r3, #4] ldr ip, [r4, #0x10] cmp lr, ip blt _02142260 ldr ip, [r4, #0xc] cmp lr, ip movle r4, r2 ble _02142264 _02142260: mov r4, r1 _02142264: cmp r4, #0 beq _02142230 _0214226c: str r5, [r0] ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov15_02142214 .global func_ov15_0214227c arm_func_start func_ov15_0214227c func_ov15_0214227c: ; 0x0214227c stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _021422f0 ; =data_027e10a4 ldr ip, [r0, #0x18] ldr r3, [r2] ldr lr, [r0, #0x20] ldrb r2, [r3, #0x350] ldr r3, [r3, #0x298] cmp r2, #0 addne r3, r3, #0x1800 mov r2, #0x1000 subeq r3, r3, #0x1800 rsb r2, r2, #0 cmp r3, r2 movge r3, r2 bge _021422cc ldr r0, [r0, #0x28] rsb r0, r0, #0 cmp r3, r0 movle r3, r0 _021422cc: mov r0, #0x6000 str ip, [r1] rsb r0, r0, #0 cmp r3, r0 movgt r0, #0 stmib r1, {r3, lr} movle r0, #1 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_0214227c _021422f0: .word data_027e10a4 .global func_ov15_021422f4 arm_func_start func_ov15_021422f4 func_ov15_021422f4: ; 0x021422f4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02142500 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021422f4 .global func_ov15_02142308 arm_func_start func_ov15_02142308 func_ov15_02142308: ; 0x02142308 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r4, r2 mov r6, r0 cmp r5, r4 beq _02142364 ldr r2, [r6] ldr r1, [r6, #4] mov r0, r5 add r1, r2, r1, lsl #2 sub r2, r1, r4 mov r1, r2, asr #0x1 add r1, r2, r1, lsr #30 mov r2, r1, asr #0x2 mov r1, r4 mov r2, r2, lsl #0x2 bl func_020435b4 sub r1, r4, r5 mov r0, r1, asr #0x1 ldr r2, [r6, #4] add r0, r1, r0, lsr #30 sub r0, r2, r0, asr #2 str r0, [r6, #4] _02142364: mov r0, r5 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_02142308 .global func_ov15_0214236c arm_func_start func_ov15_0214236c func_ov15_0214236c: ; 0x0214236c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _021423a4 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 _021423a4: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0214236c .global func_ov15_021423b0 arm_func_start func_ov15_021423b0 func_ov15_021423b0: ; 0x021423b0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r2, #0 mov r5, r0 mov r1, #1 strb r2, [sp] bl func_ov15_02142678 mov r0, r5 mov r2, r4 mov r1, #1 bl func_ov15_0214251c ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_021423b0 .global func_ov15_021423e0 arm_func_start func_ov15_021423e0 func_ov15_021423e0: ; 0x021423e0 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_ov15_02142514 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_ov15_02142744 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_ov15_02142784 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_021423e0 .global func_ov15_021424e4 arm_func_start func_ov15_021424e4 func_ov15_021424e4: ; 0x021424e4 bx lr arm_func_end func_ov15_021424e4 .global func_ov15_021424e8 arm_func_start func_ov15_021424e8 func_ov15_021424e8: ; 0x021424e8 mov r0, #0 bx lr arm_func_end func_ov15_021424e8 .global func_ov15_021424f0 arm_func_start func_ov15_021424f0 func_ov15_021424f0: ; 0x021424f0 mov r0, #1 bx lr arm_func_end func_ov15_021424f0 .global func_ov15_021424f8 arm_func_start func_ov15_021424f8 func_ov15_021424f8: ; 0x021424f8 mov r0, #0 bx lr arm_func_end func_ov15_021424f8 .global func_ov15_02142500 arm_func_start func_ov15_02142500 func_ov15_02142500: ; 0x02142500 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_021427c8 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02142500 .global func_ov15_02142514 arm_func_start func_ov15_02142514 func_ov15_02142514: ; 0x02142514 str r1, [r0] bx lr arm_func_end func_ov15_02142514 .global func_ov15_0214251c arm_func_start func_ov15_0214251c func_ov15_0214251c: ; 0x0214251c 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_ov15_02142894 mov r0, #0 str r0, [sp, #0x18] ldmib r6, {r0, r1} add r2, r0, r5 mov r0, r6 sub r1, r2, r1 bl func_ov15_02142678 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_ov15_02142854 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 _021425b8 _021425a8: ldr r0, [r4] subs r2, r2, #1 str r0, [r1], #4 bne _021425a8 _021425b8: 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_ov15_021427f4 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov15_0214251c .global func_ov15_02142678 arm_func_start func_ov15_02142678 func_ov15_02142678: ; 0x02142678 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 _021426a0 bl func_0204dd9c _021426a0: ldr r0, _0214273c ; =0x15555555 cmp r4, r0 bhs _021426ec add r1, r4, #1 ldr r0, _02142740 ; =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 _021426ec: cmp r4, r0, lsl #1 bhs _02142728 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 _02142728: mvn r0, #0xc0000000 add sp, sp, #8 ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov15_02142678 _0214273c: .word 0x15555555 _02142740: .word 0xcccccccd .global func_ov15_02142744 arm_func_start func_ov15_02142744 func_ov15_02142744: ; 0x02142744 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mvn r1, #0xc0000000 mov r5, r0 cmp r4, r1 bls _02142760 bl func_0204dd9c _02142760: ldr r1, _02142780 ; =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_ov15_02142744 _02142780: .word data_027e0ce0 .global func_ov15_02142784 arm_func_start func_ov15_02142784 func_ov15_02142784: ; 0x02142784 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _021427bc 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 _021427bc: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_02142784 .global func_ov15_021427c8 arm_func_start func_ov15_021427c8 func_ov15_021427c8: ; 0x021427c8 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4] add r0, r4, #8 str r1, [r4, #4] bl func_ov15_021427ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021427c8 .global func_ov15_021427ec arm_func_start func_ov15_021427ec func_ov15_021427ec: ; 0x021427ec str r1, [r0] bx lr arm_func_end func_ov15_021427ec .global func_ov15_021427f4 arm_func_start func_ov15_021427f4 func_ov15_021427f4: ; 0x021427f4 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #4] bl func_ov15_02142810 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021427f4 .global func_ov15_02142810 arm_func_start func_ov15_02142810 func_ov15_02142810: ; 0x02142810 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4] cmp r0, #0 beq _02142848 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 _02142848: mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_02142810 .global func_ov15_02142854 arm_func_start func_ov15_02142854 func_ov15_02142854: ; 0x02142854 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mvn r1, #0xc0000000 mov r5, r0 cmp r4, r1 bls _02142870 bl func_0204dd9c _02142870: ldr r1, _02142890 ; =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_ov15_02142854 _02142890: .word data_027e0ce0 .global func_ov15_02142894 arm_func_start func_ov15_02142894 func_ov15_02142894: ; 0x02142894 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_ov15_021428bc mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02142894 .global func_ov15_021428bc arm_func_start func_ov15_021428bc func_ov15_021428bc: ; 0x021428bc stmia r0, {r1, r2} bx lr arm_func_end func_ov15_021428bc .global func_ov15_021428c4 arm_func_start func_ov15_021428c4 func_ov15_021428c4: ; 0x021428c4 stmdb sp!, {r4, lr} ldr r1, _021428ec ; =gAdventureFlags mov r4, r0 ldr r0, [r1] ldr r1, [r4, #0x348] bl _ZN14AdventureFlags18func_ov00_02097bccEv ldr r1, [r4, #0x30] mov r0, r4 bl func_ov15_02136b34 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021428c4 _021428ec: .word gAdventureFlags .global func_ov15_021428f0 arm_func_start func_ov15_021428f0 func_ov15_021428f0: ; 0x021428f0 stmdb sp!, {r4, lr} ldr r1, _02142944 ; =gItemManager mov r4, r0 ldr r0, [r1] mov r1, #0x2c bl _ZNK11ItemManager7HasItemEi cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #5 bl func_ov15_02136a70 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x300 ldrsh r0, [r0, #0x28] cmp r0, #0 movgt r0, #1 movle r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021428f0 _02142944: .word gItemManager .global func_ov15_02142948 arm_func_start func_ov15_02142948 func_ov15_02142948: ; 0x02142948 stmdb sp!, {r4, lr} mov r4, r0 add r3, r4, #0x300 ldrsh r2, [r3, #0x28] sub r1, r2, r1 strh r1, [r3, #0x28] ldrsh r1, [r3, #0x28] cmp r1, #0 bgt _0214298c mov r2, #0 strh r2, [r3, #0x28] strb r2, [r4, #0x350] mov r1, #3 bl func_ov15_021429d8 ldr r0, [r4, #0x20] bl func_ov15_021499f4 ldmia sp!, {r4, pc} _0214298c: ldr r0, _021429cc ; =data_027e0c68 bl func_0203673c movs r4, r0 ldmeqia sp!, {r4, pc} mov r0, #0 strb r0, [r4, #0x39] sub r2, r0, #1 mov r0, #7 mov r1, #0x65 strb r2, [r4, #0x38] bl func_ov15_021429d0 mov r2, r0 ldr r0, _021429cc ; =data_027e0c68 mov r1, r4 bl func_02036ce4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02142948 _021429cc: .word data_027e0c68 .global func_ov15_021429d0 arm_func_start func_ov15_021429d0 func_ov15_021429d0: ; 0x021429d0 orr r0, r1, r0, lsl #16 bx lr arm_func_end func_ov15_021429d0 .global func_ov15_021429d8 arm_func_start func_ov15_021429d8 func_ov15_021429d8: ; 0x021429d8 str r1, [r0, #0x324] strb r2, [r0, #0x34d] bx lr arm_func_end func_ov15_021429d8 .global func_ov15_021429e4 arm_func_start func_ov15_021429e4 func_ov15_021429e4: ; 0x021429e4 stmdb sp!, {r4, lr} mov r2, #0 mov r4, r0 strb r2, [r4, #0x354] strb r2, [r4, #0x291] strb r2, [r4, #0x292] strb r2, [r4, #0x290] str r2, [r4, #0x31c] str r2, [r4, #0x320] sub r1, r2, #0x40 str r1, [r4, #0x288] str r2, [r4, #0x28c] strb r2, [r4, #0x34f] strb r2, [r4, #0x350] strb r2, [r4, #0x353] str r2, [r4, #0x78] str r2, [r4, #0x340] str r2, [r4, #0x344] sub r3, r2, #1 mov r1, #1 str r3, [r4, #0x348] bl func_ov15_021429d8 add r2, r4, #0x200 mov r0, #0 strh r0, [r2, #0xf8] strh r0, [r2, #0xfa] strh r0, [r2, #0xfc] strh r0, [r2, #0xfe] add r0, r4, #0x300 mov r1, #0x4000 strh r1, [r0, #0x2a] ldr r1, [r4, #0x20] ldrsh r3, [r0, #0x2a] add r1, r1, #0x100 mov r0, r4 strh r3, [r1, #0xb0] ldr r1, [r4, #0x20] ldrsh r3, [r2, #0xf8] add r1, r1, #0x100 strh r3, [r1, #0xb8] ldr r1, [r4, #0x20] ldrsh r2, [r2, #0xfa] add r1, r1, #0x100 strh r2, [r1, #0xba] bl func_ov15_0214325c ldr r0, [r4, #0x2a0] mov r2, #0 str r0, [r4, #0x2ac] ldr r0, [r4, #0x2a4] ldr r1, _02142b38 ; =0xfffffe66 str r0, [r4, #0x2b0] ldr r3, [r4, #0x2a8] ldr r0, _02142b3c ; =0x00000333 str r3, [r4, #0x2b4] ldr r3, [r4, #0x2a0] str r3, [r4, #0x294] ldr r3, [r4, #0x2a4] str r3, [r4, #0x298] ldr r3, [r4, #0x2a8] str r3, [r4, #0x29c] str r2, [r4, #0x2b8] str r2, [r4, #0x2bc] str r2, [r4, #0x2c0] str r2, [r4, #0x2d0] str r2, [r4, #0x2d4] str r2, [r4, #0x2d8] strb r2, [r4, #0x351] strb r2, [r4, #0x293] str r1, [r4, #0x364] str r0, [r4, #0x368] str r2, [r4, #0x36c] str r2, [r4, #0x378] str r2, [r4, #0x37c] strb r2, [r4, #0x34e] str r2, [r4, #0x334] strb r2, [r4, #0x34c] ldr r0, [r4, #0x20] add r1, r4, #0x294 bl func_ov15_021498b8 mov r0, r4 bl func_ov15_02143d40 mvn r0, #0 str r0, [r4, #0x310] str r0, [r4, #0x314] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021429e4 _02142b38: .word 0xfffffe66 _02142b3c: .word 0x00000333 .global func_ov15_02142b40 arm_func_start func_ov15_02142b40 func_ov15_02142b40: ; 0x02142b40 stmdb sp!, {r3, lr} bl func_ov15_021429e4 ldr r0, _02142b58 ; =data_027e1094 mov r1, #0 strb r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02142b40 _02142b58: .word data_027e1094 .global func_ov15_02142b5c arm_func_start func_ov15_02142b5c func_ov15_02142b5c: ; 0x02142b5c stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02142b98 ; =data_027e0fe4 mov r4, r0 ldr r1, [r1] ldr r2, _02142b9c ; =0x534c5452 add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r1, [sp] mov r0, #1 str r1, [r4, #0x310] ldr r1, [sp, #4] str r1, [r4, #0x314] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02142b5c _02142b98: .word data_027e0fe4 _02142b9c: .word 0x534c5452 .global func_ov15_02142ba0 arm_func_start func_ov15_02142ba0 func_ov15_02142ba0: ; 0x02142ba0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r0 ldrb r0, [r4, #0x354] cmp r0, #0 bne _02142c44 ldrb r0, [r4, #0x353] cmp r0, #0 bne _02142c38 ldr r0, _02142c5c ; =data_027e0e60 mov lr, #0 ldr r0, [r0] sub ip, lr, #2 mov r5, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #0xf str r5, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _02142c60 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 beq _02142c38 ldr r0, _02142c64 ; =data_027e1094 mov r1, #1 strb r1, [r0] strb r1, [r4, #0x353] _02142c38: add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02142c44: mvn r0, #0 str r0, [r4, #0x310] str r0, [r4, #0x314] mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02142ba0 _02142c5c: .word data_027e0e60 _02142c60: .word data_027e0d38 _02142c64: .word data_027e1094 .global func_ov15_02142c68 arm_func_start func_ov15_02142c68 func_ov15_02142c68: ; 0x02142c68 ldr r0, [r0, #0x20] add r0, r0, #0x100 ldrsh r0, [r0, #0xb8] bx lr arm_func_end func_ov15_02142c68 .global func_ov15_02142c78 arm_func_start func_ov15_02142c78 func_ov15_02142c78: ; 0x02142c78 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 add r0, r4, #0x294 mov r3, r1 add ip, sp, #0xc ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, [r3] add r1, sp, #0 str r0, [sp] ldr r2, [r3, #4] mov r0, ip str r2, [sp, #4] ldr r3, [r3, #8] mov r2, ip str r3, [sp, #8] bl func_01ff9bf8 ldr r0, _02142d5c ; =data_027e0fac mov r1, #0x4000 ldrsh r2, [r0] rsb r1, r1, #0 add r0, sp, #0xc sub r1, r1, r2 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a61ac ldr r0, [sp, #0xc] mov r1, #0x400 cmp r0, #0 addlt r0, r4, #0x200 strlth r1, [r0, #0xfc] movlt r1, #0xb6 blt _02142d10 rsb r1, r1, #0 add r0, r4, #0x200 strh r1, [r0, #0xfc] mvn r1, #0xb5 _02142d10: strh r1, [r0, #0xfe] add r0, r4, #0x200 mov r1, #0 strh r1, [r0, #0xf8] str r1, [r4, #0x2b8] str r1, [r4, #0x2bc] str r1, [r4, #0x2c0] ldrb r0, [r4, #0x350] cmp r0, #1 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov15_021431c0 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} bl func_ov15_0214672c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02142c78 _02142d5c: .word data_027e0fac .global func_ov15_02142d60 arm_func_start func_ov15_02142d60 func_ov15_02142d60: ; 0x02142d60 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x324] cmp r2, #1 ldmneia sp!, {r4, pc} bl func_ov15_02142c78 add r0, r4, #0x200 ldrsh r2, [r0, #0xfa] ldr r1, _02142da4 ; =0x0000038e cmp r2, r1 strgth r1, [r0, #0xfa] add r0, r4, #0x200 ldrsh r2, [r0, #0xfa] ldr r1, _02142da8 ; =0xfffffc72 cmp r2, r1 strlth r1, [r0, #0xfa] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02142d60 _02142da4: .word 0x0000038e _02142da8: .word 0xfffffc72 .global func_ov15_02142dac arm_func_start func_ov15_02142dac func_ov15_02142dac: ; 0x02142dac stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r3, [r4, #0x344] mov r5, r1 cmp r3, #0 bne _02142e58 mov r1, #0 str r1, [r4, #0x2c0] str r1, [r4, #0x2b8] mov r1, #0x2d str r1, [r4, #0x344] ldr r1, [r4, #0x324] cmp r1, #1 ldmneia sp!, {r3, r4, r5, pc} mov r1, #1 bl func_ov15_02142948 mov r0, r4 mov r1, r5 bl func_ov15_02142c78 ldr r0, _02142e6c ; =data_027e0f64 mov r1, #3 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02142e6c ; =data_027e0f64 mov r1, #3 ldr r0, [r0] ldr r0, [r0, #8] bl func_ov00_02088000 ldrb r0, [r4, #0x350] mov r3, #0 cmp r0, #0 bne _02142e44 ldr r0, _02142e70 ; =data_027e0ffc ldr r1, _02142e74 ; =0x000003cf add r2, r4, #0x294 bl func_ov00_020ceacc ldmia sp!, {r3, r4, r5, pc} _02142e44: ldr r0, _02142e70 ; =data_027e0ffc add r2, r4, #0x294 mov r1, #0x3d0 bl func_ov00_020ceacc ldmia sp!, {r3, r4, r5, pc} _02142e58: cmp r3, #0x1e movlt r0, #0x1e strlt r0, [r4, #0x344] str r2, [r4, #0x2e8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02142dac _02142e6c: .word data_027e0f64 _02142e70: .word data_027e0ffc _02142e74: .word 0x000003cf .global func_ov15_02142e78 arm_func_start func_ov15_02142e78 func_ov15_02142e78: ; 0x02142e78 stmdb sp!, {r3, lr} ldr r2, [r0, #0x324] cmp r2, #1 ldmneia sp!, {r3, pc} mov r2, #0x1e str r2, [r0, #0x340] bl func_ov15_02142c78 ldr r0, _02142ec0 ; =data_027e0f64 mov r1, #3 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02142ec0 ; =data_027e0f64 mov r1, #3 ldr r0, [r0] ldr r0, [r0, #8] bl func_ov00_02088000 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02142e78 _02142ec0: .word data_027e0f64 .global func_ov15_02142ec4 arm_func_start func_ov15_02142ec4 func_ov15_02142ec4: ; 0x02142ec4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 add r0, r4, #0x200 ldrsh r3, [r0, #0xf8] cmp r3, #0 ldreqsh r0, [r0, #0xfc] cmpeq r0, #0 beq _02142fb0 add r1, r4, #0x200 ldrsh r2, [r1, #0xfc] mov r0, r3, asr #0x4 add r0, r3, r0, lsr #27 sub r0, r2, r0, asr #5 strh r0, [r1, #0xfc] ldrsh r2, [r1, #0xf8] ldrsh r0, [r1, #0xfc] add r0, r2, r0 strh r0, [r1, #0xf8] ldrsh r0, [r1, #0xf8] cmp r0, #0x2000 movgt r0, #0x2000 strgth r0, [r1, #0xf8] add r0, r4, #0x200 mov r1, #0x2000 ldrsh r2, [r0, #0xf8] rsb r1, r1, #0 cmp r2, r1 strlth r1, [r0, #0xf8] add r0, r4, #0x200 ldrsh r1, [r0, #0xfc] cmp r1, #0 ldrgtsh r0, [r0, #0xf8] cmpgt r0, #0 bgt _02142f64 cmp r1, #0 addlt r0, r4, #0x200 ldrltsh r0, [r0, #0xf8] cmplt r0, #0 bge _02142f74 _02142f64: add r0, r4, #0x2fc mov r1, #0 mov r2, #0x10 bl func_0202b154 _02142f74: add r0, r4, #0x200 ldrsh r1, [r0, #0xfc] cmp r1, #0 bne _02142fb0 ldrsh r0, [r0, #0xf8] cmp r0, #0 rsblt r0, r0, #0 movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 cmp r0, #0x20 bgt _02142fb0 add r0, r4, #0x200 mov r1, #0 strh r1, [r0, #0xf8] strh r1, [r0, #0xfc] _02142fb0: mov r0, #0x1e000 ldr r2, [r4, #0x2b8] rsb r0, r0, #0 umull ip, r3, r2, r0 mvn r1, #0 mla r3, r2, r1, r3 mov r2, r2, asr #0x1f mla r3, r2, r0, r3 add r1, r4, #0x200 adds ip, ip, #0x800 ldr r0, [r4, #0x20] adc r2, r3, #0 mov r3, ip, lsr #0xc ldrsh lr, [r1, #0xf8] orr r3, r3, r2, lsl #20 add r0, r0, #0x100 add r2, lr, r3 strh r2, [r0, #0xb8] ldrsh r2, [r1, #0xfa] mov r0, #0 cmp r2, #0 ldreqsh r1, [r1, #0xfe] cmpeq r1, #0 beq _021431a8 mov r0, r2, asr #0x4 add r0, r2, r0, lsr #27 mov r0, r0, lsl #0xb mvn r1, #0xff cmp r1, r0, asr #16 mov r2, r0, asr #0x10 movgt r2, r1 add r0, r4, #0x200 cmp r2, #0x100 ldrsh r1, [r0, #0xfe] movgt r2, #0x100 sub r1, r1, r2 strh r1, [r0, #0xfe] ldrsh r2, [r0, #0xfa] ldrsh r1, [r0, #0xfe] add r1, r2, r1 strh r1, [r0, #0xfa] ldrsh r1, [r0, #0xfa] cmp r1, #0x5b0 movgt r1, #0x5b0 strgth r1, [r0, #0xfa] add r0, r4, #0x200 mov r1, #0x5b0 ldrsh r2, [r0, #0xfa] rsb r1, r1, #0 cmp r2, r1 strlth r1, [r0, #0xfa] add r0, r4, #0x200 ldrsh r1, [r0, #0xfe] cmp r1, #0 ldrgtsh r0, [r0, #0xfa] cmpgt r0, #0 bgt _021430a8 cmp r1, #0 addlt r0, r4, #0x200 ldrltsh r0, [r0, #0xfa] cmplt r0, #0 bge _021430bc _021430a8: add r0, r4, #0xfe add r0, r0, #0x200 mov r1, #0 mov r2, #8 bl func_0202b154 _021430bc: add r0, r4, #0x200 ldrsh r1, [r0, #0xfe] cmp r1, #0 bne _021430f8 ldrsh r0, [r0, #0xfa] cmp r0, #0 rsblt r0, r0, #0 movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 cmp r0, #0x20 bgt _021430f8 add r0, r4, #0x200 mov r1, #0 strh r1, [r0, #0xfa] strh r1, [r0, #0xfe] _021430f8: add r0, r4, #0x2d0 ldmia r0, {r0, r1, r2} mov r3, #0 add ip, sp, #0xc stmia ip, {r0, r1, r2} sub r0, r3, #0x2000 str r0, [sp, #4] str r3, [sp] str r3, [sp, #8] add r0, r4, #0x200 ldrsh r1, [r0, #0xfa] add r0, sp, #0 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a6110 ldr r1, _021431bc ; =data_027e0fac add r0, sp, #0 ldrsh r1, [r1] bl func_ov00_020a61ac ldr r1, [sp, #4] add r0, sp, #0 add r2, r1, #0x2000 ldr r1, [sp] str r2, [sp, #4] str r1, [r4, #0x2d0] ldr r2, [sp, #4] add r1, sp, #0xc str r2, [r4, #0x2d4] ldr r3, [sp, #8] mov r2, r0 str r3, [r4, #0x2d8] bl func_01ff9bf8 add r0, r4, #0x294 add r1, sp, #0 mov r2, r0 bl func_01ff9bc4 add r0, r4, #0x200 ldrsh r1, [r0, #0xfa] ldr r0, [r4, #0x20] add sp, sp, #0x18 add r0, r0, #0x100 strh r1, [r0, #0xba] ldmia sp!, {r4, pc} _021431a8: str r0, [r4, #0x2d0] str r0, [r4, #0x2d4] str r0, [r4, #0x2d8] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02142ec4 _021431bc: .word data_027e0fac .global func_ov15_021431c0 arm_func_start func_ov15_021431c0 func_ov15_021431c0: ; 0x021431c0 stmdb sp!, {r3, lr} ldr r2, [r0, #0x310] mvn r1, #0 cmp r2, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r2, _021431ec ; =data_027e0fe4 add r1, r0, #0x310 ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021431c0 _021431ec: .word data_027e0fe4 .global func_ov15_021431f0 arm_func_start func_ov15_021431f0 func_ov15_021431f0: ; 0x021431f0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl func_ov15_021431c0 movs ip, r0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} ldrb r0, [r4, #0x350] cmp r0, #1 addne sp, sp, #0xc ldmneia sp!, {r3, r4, pc} add r0, r4, #0x294 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #4] ldr r0, [sp] sub r1, r1, #0x66 sub r1, r1, #0x600 str r1, [sp, #4] str r0, [ip, #0x48] ldr r0, [sp, #4] str r0, [ip, #0x4c] ldr r0, [sp, #8] str r0, [ip, #0x50] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_021431f0 .global func_ov15_0214325c arm_func_start func_ov15_0214325c func_ov15_0214325c: ; 0x0214325c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x64 add r1, sp, #0x10 mov r4, r0 bl func_ov15_02175b58 add r1, sp, #0x1c mov r0, r4 bl func_ov15_02175ba8 add r0, sp, #0x10 str r0, [sp] ldr r0, [r4, #0x20] add r1, sp, #0x40 add r3, sp, #0x1c add r2, r4, #0x2a0 bl func_ov15_02149894 add r0, r4, #0x300 ldrsh r2, [r0, #0x2a] mov r1, #0 mov r0, #0x39 sub r2, r2, #0x4000 smulbb r3, r2, r0 ldr r0, _0214331c ; =data_027e0fac str r1, [sp, #8] str r1, [sp, #0xc] ldr r1, _02143320 ; =0xb40b40b5 ldrsh r2, [r0] smull r0, ip, r1, r3 add r0, r2, #0x4000 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add ip, r3, ip mov r0, r3, lsr #0x1f add ip, r0, ip, asr #7 add r0, sp, #4 str ip, [sp, #4] bl func_ov00_020a61ac add r0, sp, #4 add r1, r4, #0x2ac mov r2, r0 bl func_01ff9bc4 ldr r0, [sp, #4] str r0, [r4, #0x2c4] ldr r0, [sp, #8] str r0, [r4, #0x2c8] ldr r0, [sp, #0xc] str r0, [r4, #0x2cc] add sp, sp, #0x64 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0214325c _0214331c: .word data_027e0fac _02143320: .word 0xb40b40b5 .global func_ov15_02143324 arm_func_start func_ov15_02143324 func_ov15_02143324: ; 0x02143324 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x340] cmp r0, #0 ldreq r0, [r5, #0x344] cmpeq r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r5, #0x350] cmp r0, #0 ldr r0, [r5, #0x330] beq _02143368 cmp r0, #0 movgt r4, #1 bgt _0214337c movlt r4, #2 movge r4, #0 b _0214337c _02143368: cmp r0, #0 movgt r4, #5 bgt _0214337c movlt r4, #4 movge r4, #3 _0214337c: mov r0, #0 strb r0, [r5, #0x34e] ldr r0, [r5, #0x334] cmp r0, r4 movne r0, #1 strneb r0, [r5, #0x34e] ldr r0, _021433f8 ; =data_ov15_0218613c str r4, [r5, #0x334] ldr r1, [r5, #0x298] ldr r0, [r0, r4, lsl #2] add r0, r1, r0 str r0, [r5, #0x298] ldrb r0, [r5, #0x350] cmp r0, #0 bne _021433d8 bl func_ov15_0214655c ldr r1, _021433fc ; =0x00000b33 ldr r2, [r5, #0x298] sub r0, r1, r0 cmp r2, r0 bgt _021433d8 ldr r0, [r5, #0x20] bl func_ov15_02149950 _021433d8: ldr r0, _02143400 ; =data_ov15_02186130 mov r1, r4, lsl #0x1 ldrh r1, [r0, r1] ldr r0, _02143404 ; =data_027e0ffc add r2, r5, #0x294 mov r3, #0 bl func_ov00_020cec08 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02143324 _021433f8: .word data_ov15_0218613c _021433fc: .word 0x00000b33 _02143400: .word data_ov15_02186130 _02143404: .word data_027e0ffc .global func_ov15_02143408 arm_func_start func_ov15_02143408 func_ov15_02143408: ; 0x02143408 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r5, r0 ldr r0, [r5, #0x340] cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} add r0, r5, #0x2c4 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r5, #0x2ac bl func_01ff9bf8 ldr r1, _021436bc ; =0x00001ccc add r0, sp, #0xc bl func_01fffbec add r0, sp, #0xc add r1, r5, #0x2ac mov r2, r0 bl func_01ff9bc4 ldr r0, [r5, #0x344] cmp r0, #0 bne _0214359c ldr r1, [sp, #0x10] ldr r0, [r5, #0x298] sub r4, r1, r0 cmp r4, #0x1000 ble _02143510 ldr r2, [sp, #0xc] ldr r0, [r5, #0x294] mov r1, #0 sub r2, r2, r0 mov r0, #0x52 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r2, r3, #0 mov r0, ip, lsr #0xc mov r1, r4 orr r0, r0, r2, lsl #20 bl Divide ldr r2, [r5, #0x2b8] mov r1, #0 add r0, r2, r0 str r0, [r5, #0x2b8] ldr r3, [sp, #0x14] ldr r2, [r5, #0x29c] mov r0, #0x52 sub r2, r3, r2 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r2, r3, #0 mov r0, ip, lsr #0xc mov r1, r4 orr r0, r0, r2, lsl #20 bl Divide ldr r1, [r5, #0x2c0] add r0, r1, r0 b _0214352c _02143510: ldr r1, [sp, #0xc] ldr r0, [r5, #0x294] sub r0, r1, r0 str r0, [r5, #0x2b8] ldr r1, [sp, #0x14] ldr r0, [r5, #0x29c] sub r0, r1, r0 _0214352c: str r0, [r5, #0x2c0] ldr r0, [r5, #0x324] cmp r0, #1 bne _02143578 ldr r0, _021436c0 ; =data_027e0e60 add r2, sp, #0 ldr r0, [r0] add r1, r5, #0x294 bl func_ov00_02082454 cmp r0, #0 beq _02143578 ldr r1, [r5, #0x2b8] ldr r0, [sp] add r0, r1, r0 str r0, [r5, #0x2b8] ldr r1, [r5, #0x2c0] ldr r0, [sp, #8] add r0, r1, r0 str r0, [r5, #0x2c0] _02143578: ldr r0, [r5, #0x2b8] cmp r0, #0x100 movgt r0, #0x100 strgt r0, [r5, #0x2b8] ldr r1, [r5, #0x2b8] mvn r0, #0xff cmp r1, r0 strlt r0, [r5, #0x2b8] b _021435e4 _0214359c: cmp r0, #0x1e ble _021435b4 mov r0, #0 str r0, [r5, #0x2c0] str r0, [r5, #0x2b8] b _021435e4 _021435b4: ldr r1, [sp, #0xc] ldr r0, [r5, #0x294] ldr r2, [r5, #0x2b8] sub r0, r1, r0 add r0, r2, r0, asr #8 str r0, [r5, #0x2b8] ldr r1, [sp, #0x14] ldr r0, [r5, #0x29c] ldr r2, [r5, #0x2c0] sub r0, r1, r0 add r0, r2, r0, asr #8 str r0, [r5, #0x2c0] _021435e4: ldr ip, [r5, #0x2b8] mov r0, #0x148 umull r4, r3, ip, r0 mov r1, #0 mla r3, ip, r1, r3 mov r2, ip, asr #0x1f mla r3, r2, r0, r3 adds r4, r4, #0x800 adc r2, r3, #0 mov r3, r4, lsr #0xc orr r3, r3, r2, lsl #20 sub r2, ip, r3 str r2, [r5, #0x2b8] ldr r4, [r5, #0x2c0] umull r3, r2, r4, r0 mla r2, r4, r1, r2 mov r1, r4, asr #0x1f mla r2, r1, r0, r2 adds r3, r3, #0x800 adc r0, r2, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 sub r0, r4, r1 str r0, [r5, #0x2c0] ldr r1, [r5, #0x294] ldr r0, [r5, #0x2b8] add r0, r1, r0 str r0, [r5, #0x294] ldr r1, [r5, #0x29c] ldr r0, [r5, #0x2c0] add r0, r1, r0 str r0, [r5, #0x29c] ldr r1, [r5, #0x2ac] ldr r2, [r5, #0x294] subs r0, r2, r1 rsbmi r0, r0, #0 cmp r0, #0x1700 addle sp, sp, #0x18 ldmleia sp!, {r3, r4, r5, pc} cmp r2, r1 ldrlt r0, [r5, #0x2b8] cmplt r0, #0 blt _021436a4 cmp r2, r1 ldrgt r0, [r5, #0x2b8] cmpgt r0, #0 addle sp, sp, #0x18 ldmleia sp!, {r3, r4, r5, pc} _021436a4: add r0, r5, #0x2b8 mov r1, #0 mov r2, #0x10 bl Approach_thunk add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02143408 _021436bc: .word 0x00001ccc _021436c0: .word data_027e0e60 .global func_ov15_021436c4 arm_func_start func_ov15_021436c4 func_ov15_021436c4: ; 0x021436c4 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0xc8 mov r7, r0 bl func_ov15_021431c0 ldrb r1, [r7, #0x34d] mov r4, r0 cmp r1, #3 addls pc, pc, r1, lsl #2 b _021439bc _021436e8: ; jump table b _021436f8 ; case 0 b _02143744 ; case 1 b _02143848 ; case 2 b _02143924 ; case 3 _021436f8: add r1, r1, #1 add r0, sp, #0x18 strb r1, [r7, #0x34d] bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _02143a28 ; =gAdventureFlags mvn r5, #0 mov r3, #1 ldr r0, [r0] add r1, sp, #0x18 str r5, [sp, #0x1c] strb r3, [sp, #0x21] strb r2, [sp, #0x22] strb r2, [sp, #0x23] strb r2, [sp, #0x2e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r7, #0x348] add r0, sp, #0x18 bl func_ov00_0209a508 _02143744: cmp r4, #0 beq _021439bc add r0, r7, #0x294 add r5, sp, #0xc ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [r4, #0x48] add r1, sp, #0 str r0, [sp] ldr r2, [r4, #0x4c] mov r0, r5 str r2, [sp, #4] ldr r3, [r4, #0x50] mov r2, r5 str r3, [sp, #8] bl func_01ff9bf8 add r0, r7, #0x294 add r1, r4, #0x48 mov r2, #0x29 bl func_0202b2f8 mov r5, r0 add r0, r7, #0x2b8 mov r1, #0 mov r2, #0x29 bl Approach_thunk ldr r1, [r4, #0x4c] ldr r0, [r7, #0x298] add r6, r1, #0x800 cmp r0, r6 bge _021437d0 add r0, r0, #0x29 str r0, [r7, #0x298] cmp r0, r6 strgt r6, [r7, #0x298] b _021437e4 _021437d0: ble _021437e4 sub r0, r0, #0x29 str r0, [r7, #0x298] cmp r0, r6 strlt r6, [r7, #0x298] _021437e4: ldr r0, [r7, #0x20] bl func_ov15_02149ab4 cmp r0, #0 beq _021439bc ldr r0, [r7, #0x298] cmp r0, r6 bne _021439bc cmp r5, #0 beq _021439bc ldr r0, [r4, #0x48] str r0, [r7, #0x294] ldr r0, [r4, #0x50] str r0, [r7, #0x29c] ldrb r0, [r7, #0x34d] add r0, r0, #1 strb r0, [r7, #0x34d] ldr r0, [r7, #0x20] bl func_ov15_02149a5c ldr r1, [r4, #0x4c] mov r0, #0 add r1, r1, #0x800 str r1, [r7, #0x298] str r0, [r7, #0x374] str r0, [r7, #0x378] b _021439bc _02143848: ldr r0, [r7, #0x20] bl func_ov15_02149ae4 cmp r0, #0xa000 blt _0214389c ldr r1, [r7, #0x374] ldr r0, _02143a2c ; =0xfffffccd sub r1, r1, #0x14 str r1, [r7, #0x374] cmp r1, r0 strle r0, [r7, #0x374] cmp r4, #0 beq _0214389c ldr r1, [r7, #0x298] ldr r0, [r7, #0x374] add r1, r1, r0 str r1, [r7, #0x298] ldr r0, [r4, #0x4c] add r0, r0, #0x66 add r0, r0, #0x600 cmp r1, r0 strlt r0, [r7, #0x298] _0214389c: ldr r0, [r7, #0x20] bl func_ov15_02149ae4 cmp r0, #0xf000 blt _021438f4 ldr r0, [r7, #0x378] cmp r0, #0 subne r0, r0, #1 strne r0, [r7, #0x378] bne _021438f4 ldr r0, _02143a30 ; =data_027e0ffc ldr r1, _02143a34 ; =0x000003d3 add r2, r7, #0x294 mov r3, #0 bl func_ov00_020ceacc mov r0, r7 mov r1, #2 bl func_ov15_02175d14 mov r2, #0x32 ldr r0, _02143a38 ; =data_ov00_020eec68 mov r1, #0xda str r2, [r7, #0x378] bl func_ov00_020d73bc _021438f4: ldr r0, [r7, #0x20] bl func_ov15_02149acc cmp r0, #0 beq _021439bc ldrb r1, [r7, #0x34d] mov r0, #0 add r1, r1, #1 strb r1, [r7, #0x34d] str r0, [r7, #0x2b8] str r0, [r7, #0x2bc] str r0, [r7, #0x2c0] b _021439bc _02143924: ldr r0, [r7, #0x378] subs r0, r0, #1 str r0, [r7, #0x378] bne _021439bc mov r1, #1 strb r1, [r7, #0x34f] mov r0, r7 strb r1, [r7, #0x350] bl func_ov15_021431c0 cmp r0, #0 beq _02143954 bl func_ov15_02146c70 _02143954: ldr r0, _02143a28 ; =gAdventureFlags ldr r1, [r7, #0x348] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mov r0, r7 mov r1, #0 bl func_ov15_02175d14 mov r0, r7 mov r1, #1 mov r2, #3 bl func_ov15_021429d8 ldr r0, _02143a3c ; =data_027e0c68 bl func_0203673c movs r4, r0 beq _021439bc mov r0, #0 strb r0, [r4, #0x39] sub r2, r0, #1 mov r0, #7 mov r1, #0x66 strb r2, [r4, #0x38] bl func_ov15_021429d0 mov r2, r0 ldr r0, _02143a3c ; =data_027e0c68 mov r1, r4 bl func_02036ce4 _021439bc: ldr r2, [r7, #0x2ac] ldr r1, [r7, #0x294] ldr r0, _02143a40 ; =0x00001c36 sub r2, r2, r1 umull r4, r3, r2, r0 mov r1, #0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f adds r2, r4, #0x800 mla r3, r1, r0, r3 add r0, r7, #0x2a adc r1, r3, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r1, r2, #0x4000 mov r1, r1, lsl #0x10 add r0, r0, #0x300 mov r1, r1, asr #0x10 mov r2, #0x190 bl func_0202b154 add r0, r7, #0x300 ldr r1, [r7, #0x20] ldrsh r2, [r0, #0x2a] add r0, r1, #0x100 strh r2, [r0, #0xb0] add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021436c4 _02143a28: .word gAdventureFlags _02143a2c: .word 0xfffffccd _02143a30: .word data_027e0ffc _02143a34: .word 0x000003d3 _02143a38: .word data_ov00_020eec68 _02143a3c: .word data_027e0c68 _02143a40: .word 0x00001c36 .global func_ov15_02143a44 arm_func_start func_ov15_02143a44 func_ov15_02143a44: ; 0x02143a44 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 add r0, r4, #0x300 ldrsh r0, [r0, #0x28] cmp r0, #1 bgt _02143a68 ldr r0, _02143d28 ; =data_ov00_020eec9c mov r1, #0x3e0 bl func_ov00_020d7c8c _02143a68: ldrb r0, [r4, #0x34d] cmp r0, #5 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _02143a78: ; jump table b _02143a90 ; case 0 b _02143af8 ; case 1 b _02143ba0 ; case 2 b _02143bf4 ; case 3 b _02143cac ; case 4 b _02143cfc ; case 5 _02143a90: ldr r0, [r4, #0x20] bl func_ov15_02149af0 mov r0, r4 bl func_ov15_02142b5c ldr r0, [r4, #0x2a0] mov r2, #0x1000 str r0, [r4, #0x2ac] ldr r0, [r4, #0x2a4] rsb r2, r2, #0 str r0, [r4, #0x2b0] ldr r0, [r4, #0x2a8] mov r1, #1 str r0, [r4, #0x2b4] ldr r3, [r4, #0x2ac] mov r0, #0 str r3, [r4, #0x294] ldr r3, [r4, #0x2b0] str r3, [r4, #0x298] ldr r3, [r4, #0x2b4] str r3, [r4, #0x29c] str r2, [r4, #0x298] strb r1, [r4, #0x34d] strb r1, [r4, #0x351] str r0, [r4, #0x2b8] str r0, [r4, #0x2bc] str r0, [r4, #0x2c0] _02143af8: ldr r0, _02143d2c ; =gAdventureFlags ldr r1, _02143d30 ; =0x00000112 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _02143b70 ldr r0, _02143d2c ; =gAdventureFlags ldr r1, _02143d30 ; =0x00000112 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb ldr r0, _02143d34 ; =data_027e0c68 ldr r5, [r0, #0x1c] cmp r5, #0 beq _02143b5c mov r2, #1 strb r2, [r5, #0x39] mov r0, #7 mov r1, #0x64 strb r2, [r5, #0x38] bl func_ov15_021429d0 mov r2, r0 ldr r0, _02143d34 ; =data_027e0c68 mov r1, r5 bl func_02036ce4 _02143b5c: mov r0, #1 strb r0, [r4, #0x293] mov r0, #2 strb r0, [r4, #0x34d] b _02143b78 _02143b70: mov r0, #3 strb r0, [r4, #0x34d] _02143b78: ldr r0, [r4, #0x294] str r0, [r4, #0x2dc] ldr r0, [r4, #0x298] str r0, [r4, #0x2e0] ldr r0, [r4, #0x29c] str r0, [r4, #0x2e4] ldr r0, [r4, #0x2e0] sub r0, r0, #0x800 str r0, [r4, #0x2e0] ldmia sp!, {r3, r4, r5, pc} _02143ba0: ldr r0, _02143d34 ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 bne _02143bcc ldr r0, [r0, #0x44] cmp r0, #0 beq _02143bcc mov r0, #3 strb r0, [r4, #0x34d] mov r0, #0 strb r0, [r4, #0x293] _02143bcc: ldr r0, [r4, #0x294] str r0, [r4, #0x2dc] ldr r0, [r4, #0x298] str r0, [r4, #0x2e0] ldr r0, [r4, #0x29c] str r0, [r4, #0x2e4] ldr r0, [r4, #0x2e0] sub r0, r0, #0x800 str r0, [r4, #0x2e0] ldmia sp!, {r3, r4, r5, pc} _02143bf4: mov r0, r4 bl func_ov15_02143de8 mov r0, r4 bl func_ov15_02143d40 mov r0, r4 bl func_ov15_02143324 mov r0, r4 bl func_ov15_02143408 mov r0, r4 bl func_ov15_02143f28 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x354] cmp r0, #1 beq _02143c44 mov r0, #0x1000 ldr r1, [r4, #0x298] rsb r0, r0, #0 cmp r1, r0 ble _02143c4c _02143c44: mov r0, #4 strb r0, [r4, #0x34d] _02143c4c: ldrb r0, [r4, #0x350] ldr r1, [r4, #0x298] cmp r0, #0 mov r0, #0x5000 bne _02143c7c rsb r0, r0, #0 cmp r1, r0 movgt r0, #1 strgtb r0, [r4, #0x34c] movle r0, #2 strleb r0, [r4, #0x34c] ldmia sp!, {r3, r4, r5, pc} _02143c7c: rsb r0, r0, #0 cmp r1, r0 movgt r0, #4 strgtb r0, [r4, #0x34c] ldmgtia sp!, {r3, r4, r5, pc} sub r0, r0, #0x5000 cmp r1, r0 movgt r0, #3 strgtb r0, [r4, #0x34c] movle r0, #2 strleb r0, [r4, #0x34c] ldmia sp!, {r3, r4, r5, pc} _02143cac: mov r0, r4 bl func_ov15_02143de8 ldr r1, _02143d38 ; =data_ov15_02186130 ldr r3, [r4, #0x298] ldr r2, [r1, #0xc] ldr r0, _02143d3c ; =data_027e0ffc add r2, r3, r2 str r2, [r4, #0x298] ldrh r1, [r1] add r2, r4, #0x294 mov r3, #0 bl func_ov00_020cec08 mov r0, r4 bl func_ov15_02143408 mov r0, r4 bl func_ov15_02142ba0 cmp r0, #0 movne r0, #5 strneb r0, [r4, #0x34d] ldmia sp!, {r3, r4, r5, pc} _02143cfc: ldr r1, _02143d38 ; =data_ov15_02186130 ldr r3, [r4, #0x298] ldr r2, [r1, #0xc] ldr r0, _02143d3c ; =data_027e0ffc add r2, r3, r2 str r2, [r4, #0x298] ldrh r1, [r1] add r2, r4, #0x294 mov r3, #0 bl func_ov00_020cec08 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02143a44 _02143d28: .word data_ov00_020eec9c _02143d2c: .word gAdventureFlags _02143d30: .word 0x00000112 _02143d34: .word data_027e0c68 _02143d38: .word data_ov15_02186130 _02143d3c: .word data_027e0ffc .global func_ov15_02143d40 arm_func_start func_ov15_02143d40 func_ov15_02143d40: ; 0x02143d40 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 add r0, r4, #0x300 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrb r0, [r4, #0x350] cmp r0, #1 bne _02143dac mov r0, r4 bl func_ov15_021431c0 mov r5, r0 ldr r1, [r5, #0x48] add r0, r4, #0x300 str r1, [r4, #0x300] ldr r2, [r5, #0x4c] add r1, r5, #0x7c str r2, [r4, #0x304] ldr r3, [r5, #0x50] mov r2, r0 str r3, [r4, #0x308] bl func_01ff9bc4 ldr r0, [r5, #0x88] add sp, sp, #0xc str r0, [r4, #0x30c] ldmia sp!, {r4, r5, pc} _02143dac: ldr r1, [r4, #0x294] ldr r0, _02143de4 ; =0xfffffe66 str r1, [r4, #0x300] ldr r2, [r4, #0x298] add r1, r0, #0x334 str r2, [r4, #0x304] ldr r2, [r4, #0x29c] str r2, [r4, #0x308] ldr r2, [r4, #0x304] add r0, r2, r0 str r0, [r4, #0x304] str r1, [r4, #0x30c] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02143d40 _02143de4: .word 0xfffffe66 .global func_ov15_02143de8 arm_func_start func_ov15_02143de8 func_ov15_02143de8: ; 0x02143de8 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, [r4, #0x340] cmp r0, #0 bne _02143f00 ldr r0, [r4, #0x344] cmp r0, #0 bne _02143e58 ldr r1, [r4, #0x32c] mov r0, #0xb6 mul r0, r1, r0 mov r0, r0, lsl #0x10 ldr r1, _02143f18 ; =0xffffdc72 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movge r2, r1 bge _02143e38 rsb r0, r1, #0 cmp r2, r0 movge r2, r0 _02143e38: add r0, r2, #0x4000 mov r0, r0, lsl #0x10 add r2, r4, #0x2a mov r1, r0, asr #0x10 add r0, r2, #0x300 mov r2, #0x190 bl func_0202b154 b _02143f00 _02143e58: ldr r2, [r4, #0x2ac] ldr r1, [r4, #0x2e8] ldr r0, _02143f1c ; =0x00001c36 sub r2, r2, r1 mov r1, #0 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r2, ip, #0x800 adc r0, r3, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, r1, lsl #0x10 ldr r1, _02143f20 ; =0xffffe38e mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movge r2, r1 bge _02143eb0 rsb r0, r1, #0 cmp r2, r0 movge r2, r0 _02143eb0: add r0, r2, #0x4000 mov r0, r0, lsl #0x10 add r2, r4, #0x2a mov r1, r0, asr #0x10 add r0, r2, #0x300 mov r2, #0x190 bl func_0202b154 add r0, r4, #0x32c mov r1, #0 mov r2, #1 ldr r5, [r4, #0x32c] bl Approach_thunk ldr r6, [r4, #0x32c] sub r0, r5, r6 bl func_02042f68 movs r1, r0 beq _02143f00 ldr r0, _02143f24 ; =data_ov00_020eec9c mov r2, r6 bl func_ov00_020d83f0 _02143f00: add r0, r4, #0x300 ldr r1, [r4, #0x20] ldrsh r2, [r0, #0x2a] add r0, r1, #0x100 strh r2, [r0, #0xb0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02143de8 _02143f18: .word 0xffffdc72 _02143f1c: .word 0x00001c36 _02143f20: .word 0xffffe38e _02143f24: .word data_ov00_020eec9c .global func_ov15_02143f28 arm_func_start func_ov15_02143f28 func_ov15_02143f28: ; 0x02143f28 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x350] cmp r1, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0x340] cmp r1, #0 ldreq r1, [r4, #0x344] cmpeq r1, #0 movne r0, #0 ldmneia sp!, {r4, pc} bl func_ov15_021431c0 cmp r0, #0 beq _02143fbc ldr r1, [r0, #0x130] cmp r1, #0 bne _02143fbc ldr r2, [r4, #0x294] ldr r1, [r0, #0x48] subs r2, r2, r1 ldr r1, _02143ff0 ; =0x00000266 rsbmi r2, r2, #0 cmp r2, r1 bge _02143fbc ldr r0, [r0, #0x4c] ldr r1, [r4, #0x298] add r0, r0, #0xa4 add r0, r0, #0x800 cmp r1, r0 bge _02143fbc mov r1, #0 mov r0, r4 mov r2, r1 bl func_ov15_021429d8 mov r0, #1 ldmia sp!, {r4, pc} _02143fbc: bl func_ov15_0214655c ldr r1, _02143ff4 ; =0x000004cd ldr r2, [r4, #0x298] sub r0, r1, r0 cmp r2, r0 movgt r0, #0 ldmgtia sp!, {r4, pc} mov r0, r4 mov r1, #2 mov r2, #0 bl func_ov15_021429d8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02143f28 _02143ff0: .word 0x00000266 _02143ff4: .word 0x000004cd .global func_ov15_02143ff8 arm_func_start func_ov15_02143ff8 func_ov15_02143ff8: ; 0x02143ff8 stmdb sp!, {r4, lr} sub sp, sp, #0xb0 mov r4, r0 ldrb r1, [r4, #0x34d] cmp r1, #0 beq _02144020 cmp r1, #1 beq _02144094 add sp, sp, #0xb0 ldmia sp!, {r4, pc} _02144020: mov r1, #1 strb r1, [r4, #0x34d] mov r2, #0x32 mov r1, #3 str r2, [r4, #0x378] bl func_ov15_02175d14 ldr r0, _0214415c ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _0214415c ; =data_ov00_020eec68 mov r1, #0xdb bl func_ov00_020d73bc add r0, sp, #0 bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _02144160 ; =gAdventureFlags mvn ip, #0 mov r3, #1 ldr r0, [r0] add r1, sp, #0 str ip, [sp, #4] strb r3, [sp, #9] strb r2, [sp, #0xa] strb r2, [sp, #0xb] strb r2, [sp, #0x16] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x348] add r0, sp, #0 bl func_ov00_0209a508 _02144094: ldr r0, _02144164 ; =data_ov15_02186130 ldr r1, [r4, #0x298] ldr r0, [r0, #0x18] add r0, r1, r0 str r0, [r4, #0x298] bl func_ov15_0214655c ldr r1, [r4, #0x298] rsb r0, r0, #0x200 cmp r1, r0 bgt _021440c8 bl func_ov15_0214655c rsb r0, r0, #0x200 str r0, [r4, #0x298] _021440c8: mov r0, r4 bl func_ov15_021431c0 cmp r0, #0 beq _02144110 ldr r1, [r0, #0x48] ldr r2, [r4, #0x294] ldr r0, _02144168 ; =0x0000059a subs r3, r2, r1 rsbmi r3, r3, #0 cmp r3, r0 bge _02144110 ldr r0, [r4, #0x294] cmp r2, r1 sublt r0, r0, #0x10 addge r0, r0, #0x10 str r0, [r4, #0x294] mov r0, #0 str r0, [r4, #0x2b8] _02144110: mov r0, r4 bl func_ov15_02143de8 mov r0, r4 bl func_ov15_02143408 ldr r0, [r4, #0x378] subs r0, r0, #1 addne sp, sp, #0xb0 str r0, [r4, #0x378] ldmneia sp!, {r4, pc} mov r1, #0 mov r0, r4 strb r1, [r4, #0x293] mov r3, #5 mov r1, #4 mov r2, #3 str r3, [r4, #0x31c] bl func_ov15_021429d8 add sp, sp, #0xb0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02143ff8 _0214415c: .word data_ov00_020eec68 _02144160: .word gAdventureFlags _02144164: .word data_ov15_02186130 _02144168: .word 0x0000059a .global func_ov15_0214416c arm_func_start func_ov15_0214416c func_ov15_0214416c: ; 0x0214416c stmdb sp!, {r4, lr} sub sp, sp, #0xb0 mov r4, r0 bl func_ov15_02143de8 mov r0, r4 bl func_ov15_02143408 ldrb r0, [r4, #0x34d] cmp r0, #0 beq _021441a8 cmp r0, #1 beq _02144220 cmp r0, #2 beq _0214428c add sp, sp, #0xb0 ldmia sp!, {r4, pc} _021441a8: mov r1, #1 strb r1, [r4, #0x34d] mov r2, #0x32 mov r0, r4 mov r1, #3 str r2, [r4, #0x378] bl func_ov15_02175d14 ldr r0, _021442d8 ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _021442d8 ; =data_ov00_020eec68 mov r1, #0xdb bl func_ov00_020d73bc add r0, sp, #0 bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _021442dc ; =gAdventureFlags mvn ip, #0 mov r3, #1 ldr r0, [r0] add r1, sp, #0 str ip, [sp, #4] strb r3, [sp, #9] strb r2, [sp, #0xa] strb r2, [sp, #0xb] strb r2, [sp, #0x16] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x348] add r0, sp, #0 bl func_ov00_0209a508 _02144220: ldr r0, [r4, #0x378] subs r0, r0, #1 addne sp, sp, #0xb0 str r0, [r4, #0x378] ldmneia sp!, {r4, pc} mov r0, r4 mov r1, #0 bl func_ov15_02175d14 mov r1, #2 ldr r0, _021442e0 ; =data_027e0c68 strb r1, [r4, #0x34d] ldr r4, [r0, #0x1c] cmp r4, #0 addeq sp, sp, #0xb0 ldmeqia sp!, {r4, pc} mov r2, #1 strb r2, [r4, #0x39] mov r0, #7 mov r1, #0x67 strb r2, [r4, #0x38] bl func_ov15_021429d0 mov r2, r0 ldr r0, _021442e0 ; =data_027e0c68 mov r1, r4 bl func_02036ce4 add sp, sp, #0xb0 ldmia sp!, {r4, pc} _0214428c: ldr r0, _021442e0 ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 addne sp, sp, #0xb0 ldmneia sp!, {r4, pc} ldr r0, [r0, #0x44] cmp r0, #0 addeq sp, sp, #0xb0 ldmeqia sp!, {r4, pc} mov r1, #0 mov r0, r4 strb r1, [r4, #0x293] mov r3, #0x1e mov r1, #4 mov r2, #3 str r3, [r4, #0x31c] bl func_ov15_021429d8 add sp, sp, #0xb0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214416c _021442d8: .word data_ov00_020eec68 _021442dc: .word gAdventureFlags _021442e0: .word data_027e0c68 .global func_ov15_021442e4 arm_func_start func_ov15_021442e4 func_ov15_021442e4: ; 0x021442e4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0xc8 mov r4, r0 ldr r0, [r4, #0x31c] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x31c] ldr r0, [r4, #0x320] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x320] mov r0, r4 bl func_ov15_02143de8 mov r0, r4 bl func_ov15_02143408 ldrb r0, [r4, #0x34d] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02144524 _02144330: ; jump table b _02144344 ; case 0 b _021443ac ; case 1 b _0214443c ; case 2 b _02144484 ; case 3 b _0214449c ; case 4 _02144344: ldr r0, _0214452c ; =data_ov00_020eec9c mov r1, #0x11 bl func_ov00_020d77e4 mov r1, #5 str r1, [r4, #0x31c] mov r1, #1 add r0, sp, #0x18 strb r1, [r4, #0x34d] bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _02144530 ; =gAdventureFlags mvn r5, #0 mov r3, #1 ldr r0, [r0] add r1, sp, #0x18 str r5, [sp, #0x1c] strb r3, [sp, #0x21] strb r2, [sp, #0x22] strb r2, [sp, #0x23] strb r2, [sp, #0x2e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x348] add r0, sp, #0x18 bl func_ov00_0209a508 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _021443ac: ldrb r0, [r4, #0x350] ldr r2, _02144534 ; =data_ov15_0218613c ldr r3, [r4, #0x298] cmp r0, #0 movne r5, #0 moveq r5, #3 ldr r2, [r2, r5, lsl #2] ldr r0, _02144538 ; =data_ov15_02186130 add r2, r3, r2 mov r1, r5, lsl #0x1 ldrh r1, [r0, r1] str r2, [r4, #0x298] ldr r0, _0214453c ; =data_027e0ffc add r2, r4, #0x294 mov r3, #0 bl func_ov00_020cec08 ldr r0, [r4, #0x31c] cmp r0, #0 addne sp, sp, #0xc8 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x350] cmp r0, #1 movne r0, #0x23 bne _02144420 mov r0, #0 strb r0, [r4, #0x350] ldr r0, [r4, #0x20] bl func_ov15_02149950 mov r0, #0x37 _02144420: str r0, [r4, #0x31c] mov r0, #0x96 str r0, [r4, #0x320] mov r0, #2 add sp, sp, #0xc8 strb r0, [r4, #0x34d] ldmia sp!, {r3, r4, r5, pc} _0214443c: ldr r0, [r4, #0x31c] cmp r0, #0 addne sp, sp, #0xc8 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x320] cmp r0, #0 beq _02144474 ldr r1, [r4, #0x294] ldr r0, [r4, #0x2ac] subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, #0x400 addge sp, sp, #0xc8 ldmgeia sp!, {r3, r4, r5, pc} _02144474: mov r0, #4 add sp, sp, #0xc8 strb r0, [r4, #0x34d] ldmia sp!, {r3, r4, r5, pc} _02144484: ldr r0, [r4, #0x31c] add sp, sp, #0xc8 cmp r0, #0 moveq r0, #4 streqb r0, [r4, #0x34d] ldmia sp!, {r3, r4, r5, pc} _0214449c: ldrb r0, [r4, #0x353] cmp r0, #0 addne sp, sp, #0xc8 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02144540 ; =data_027e0e60 mov lr, #0 ldr r0, [r0] sub ip, lr, #2 mov r5, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #0xf str r5, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _02144544 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov15_021465e8 mov r0, #1 strb r0, [r4, #0x354] strb r0, [r4, #0x353] _02144524: add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021442e4 _0214452c: .word data_ov00_020eec9c _02144530: .word gAdventureFlags _02144534: .word data_ov15_0218613c _02144538: .word data_ov15_02186130 _0214453c: .word data_027e0ffc _02144540: .word data_027e0e60 _02144544: .word data_027e0d38 .global func_ov15_02144548 arm_func_start func_ov15_02144548 func_ov15_02144548: ; 0x02144548 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214659c mov r0, r4 mov r1, #5 bl func_ov15_02136b34 mov r0, r4 mov r1, #5 mov r2, #0 bl func_ov15_021429d8 ldmia sp!, {r4, pc} arm_func_end func_ov15_02144548 .global func_ov15_02144574 arm_func_start func_ov15_02144574 func_ov15_02144574: ; 0x02144574 stmdb sp!, {r4, lr} sub sp, sp, #0xc8 mov r4, r0 ldrb r0, [r4, #0x34d] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02144754 _02144590: ; jump table b _021445a4 ; case 0 b _021445f8 ; case 1 b _02144640 ; case 2 b _02144680 ; case 3 b _021446d8 ; case 4 _021445a4: mov r0, #1 strb r0, [r4, #0x34d] ldr r0, [r4, #0x20] bl func_ov15_021499d4 add r0, sp, #0x18 bl func_ov00_0209a4f4 mov r3, #1 mov r2, #0 ldr r0, _0214475c ; =gAdventureFlags mvn ip, #0 ldr r0, [r0] add r1, sp, #0x18 str ip, [sp, #0x1c] strb r3, [sp, #0x21] strb r2, [sp, #0x22] strb r2, [sp, #0x23] strb r3, [sp, #0x2e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x348] add r0, sp, #0x18 bl func_ov00_0209a508 _021445f8: mov r0, r4 bl func_ov15_021368b4 ldr r1, _02144760 ; =data_027e0fa0 ldr r2, [r1, #4] sub r2, r2, r0 mov r0, r4 str r2, [r1, #4] bl func_ov15_02137138 ldr r0, [r4, #0x78] cmp r0, #0 addgt sp, sp, #0xc8 ldmgtia sp!, {r4, pc} ldrb r0, [r4, #0x27c] add sp, sp, #0xc8 cmp r0, #0 moveq r0, #2 streqb r0, [r4, #0x34d] ldmia sp!, {r4, pc} _02144640: mov r1, #0 ldr r0, [r4, #0x20] mov r2, r1 bl func_ov09_0211555c cmp r0, #0 addeq sp, sp, #0xc8 ldmeqia sp!, {r4, pc} ldr r0, _02144764 ; =data_027e0ffc mov ip, #3 ldr r1, _02144768 ; =0x000003ea add r2, r4, #0x2a0 mov r3, #0 strb ip, [r4, #0x34d] bl func_ov00_020ceacc add sp, sp, #0xc8 ldmia sp!, {r4, pc} _02144680: ldr r0, [r4, #0x20] bl func_ov15_02149b54 cmp r0, #0 beq _021446a0 mov r0, #4 strb r0, [r4, #0x34d] mov r0, #0x26 str r0, [r4, #0x378] _021446a0: ldr r0, [r4, #0x2a0] add sp, sp, #0xc8 str r0, [r4, #0x2ac] ldr r0, [r4, #0x2a4] str r0, [r4, #0x2b0] ldr r0, [r4, #0x2a8] str r0, [r4, #0x2b4] ldr r0, [r4, #0x2ac] str r0, [r4, #0x294] ldr r0, [r4, #0x2b0] str r0, [r4, #0x298] ldr r0, [r4, #0x2b4] str r0, [r4, #0x29c] ldmia sp!, {r4, pc} _021446d8: ldr r0, [r4, #0x298] sub r0, r0, #0x31 str r0, [r4, #0x298] ldr r0, [r4, #0x378] subs r0, r0, #1 addne sp, sp, #0xc8 str r0, [r4, #0x378] ldmneia sp!, {r4, pc} ldr r0, _0214476c ; =data_027e0e60 mov ip, #0 ldr r0, [r0] sub r4, ip, #2 mov lr, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #0x10 str lr, [sp] str ip, [sp, #4] str ip, [sp, #8] str r4, [sp, #0xc] strh ip, [sp, #0x10] strb r3, [sp, #0x12] strb ip, [sp, #0x13] strb ip, [sp, #0x14] strb ip, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _02144770 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 _02144754: add sp, sp, #0xc8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02144574 _0214475c: .word gAdventureFlags _02144760: .word data_027e0fa0 _02144764: .word data_027e0ffc _02144768: .word 0x000003ea _0214476c: .word data_027e0e60 _02144770: .word data_027e0d38 .global func_ov15_02144774 arm_func_start func_ov15_02144774 func_ov15_02144774: ; 0x02144774 add r1, r0, #0x300 ldrsh r3, [r1, #0x2a] ldr r1, [r0, #0x20] ldr r2, _021448ec ; =0xfffffab8 sub r3, r3, #0x8000 add r1, r1, #0x100 strh r3, [r1, #0x8c] ldr r1, [r0, #0x294] str r1, [r0, #0x364] ldr r1, [r0, #0x298] str r1, [r0, #0x368] ldr r1, [r0, #0x29c] str r1, [r0, #0x36c] ldr r1, [r0, #0x368] add r1, r1, r2 str r1, [r0, #0x368] ldrb r1, [r0, #0x34d] cmp r1, #2 bxlo lr ldr r1, [r0, #0x380] add r1, r1, #1 str r1, [r0, #0x380] ldr r1, [r0, #0x184] cmp r1, #0 beq _02144820 ldr r2, [r1, #0x20] ldr r3, [r0, #0x364] ldr r2, [r2] ldr r2, [r2, #4] add r2, r3, r2 str r2, [r1, #0x28] ldr r2, [r1, #0x20] ldr r3, [r0, #0x368] ldr r2, [r2] ldr r2, [r2, #8] add r2, r3, r2 str r2, [r1, #0x2c] ldr r2, [r1, #0x20] ldr r3, [r0, #0x36c] ldr r2, [r2] ldr r2, [r2, #0xc] add r2, r3, r2 str r2, [r1, #0x30] _02144820: ldr r1, [r0, #0x188] cmp r1, #0 beq _02144874 ldr r2, [r1, #0x20] ldr r3, [r0, #0x364] ldr r2, [r2] ldr r2, [r2, #4] add r2, r3, r2 str r2, [r1, #0x28] ldr r2, [r1, #0x20] ldr r3, [r0, #0x368] ldr r2, [r2] ldr r2, [r2, #8] add r2, r3, r2 str r2, [r1, #0x2c] ldr r2, [r1, #0x20] ldr r3, [r0, #0x36c] ldr r2, [r2] ldr r2, [r2, #0xc] add r2, r3, r2 str r2, [r1, #0x30] _02144874: ldr r1, [r0, #0x380] ldr r2, _021448f0 ; =0x60606061 mov r3, r1, lsl #0xc smull r1, ip, r2, r3 mov r1, r3, lsr #0x1f add ip, r1, ip, asr #6 rsbs r1, ip, #0x1000 ldr r2, [r0, #0x184] movmi r1, #0 cmp r2, #0 movne r1, r1, lsl #0x1 strne r1, [r2, #0x58] ldr r1, [r0, #0x380] mov r2, #0x1000 cmp r1, #0x14 blt _021448d4 sub r1, r1, #0x14 mov r2, r1, lsl #0xc ldr r3, _021448f4 ; =0x66666667 mov r1, r2, lsr #0x1f smull r2, ip, r3, r2 add ip, r1, ip, asr #4 rsbs r2, ip, #0x1000 movmi r2, #0 _021448d4: ldr r1, [r0, #0x188] cmp r1, #0 movne r0, #0xa mulne r0, r2, r0 strne r0, [r1, #0x58] bx lr .align 2, 0 arm_func_end func_ov15_02144774 _021448ec: .word 0xfffffab8 _021448f0: .word 0x60606061 _021448f4: .word 0x66666667 .global func_ov15_021448f8 arm_func_start func_ov15_021448f8 func_ov15_021448f8: ; 0x021448f8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldrb r0, [r4, #0x34d] cmp r0, #4 blo _02144928 ldr r1, [r4, #0x298] add r0, r4, #0xbc add r0, r0, #0x400 sub r1, r1, #0x800 mov r2, #0x14 bl Approach_thunk _02144928: add r0, r4, #0xc4 add r1, r4, #0xb8 add r0, r0, #0x400 add r1, r1, #0x400 bl func_01ff9ec0 add r3, r4, #0xb8 add r1, r4, #0xc4 str r0, [r4, #0x468] add r0, r1, #0x400 add r2, sp, #0xc add r1, r3, #0x400 bl func_01ff9bf8 ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, sp, #0xc str r1, [r4, #0x464] add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 str r0, [sp, #4] mov r0, r3 bl func_01ff9cec mov r1, r0 ldr r0, [sp, #0x10] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x460] add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov15_021448f8 .global func_ov15_021449b0 arm_func_start func_ov15_021449b0 func_ov15_021449b0: ; 0x021449b0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1c4 mov r9, r0 ldr r0, [r9, #0x378] cmp r0, #0 subne r0, r0, #1 strne r0, [r9, #0x378] ldr r0, [r9, #0x37c] cmp r0, #0 subne r0, r0, #1 strne r0, [r9, #0x37c] ldr r1, [r9, #0x20] ldrb r0, [r9, #0x34d] ldr r6, [r1, #0xc0] ldr r4, [r1, #0xc4] cmp r0, #0x11 addls pc, pc, r0, lsl #2 b _02145420 _021449f8: ; jump table b _02144a40 ; case 0 b _02144d14 ; case 1 b _02144e00 ; case 2 b _02144ec4 ; case 3 b _02144ee8 ; case 4 b _02144fb8 ; case 5 b _02144fdc ; case 6 b _02145140 ; case 7 b _02145140 ; case 8 b _02145204 ; case 9 b _0214526c ; case 10 b _021452b0 ; case 11 b _021452cc ; case 12 b _021452d4 ; case 13 b _02145358 ; case 14 b _02145370 ; case 15 b _02145390 ; case 16 b _02145420 ; case 17 _02144a40: bl func_ov15_02146308 ldr r0, _021457cc ; =data_027e0f64 add r1, r9, #0x450 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r1, _021457cc ; =data_027e0f64 add r0, sp, #0x114 ldr r2, [r1] mov r1, #5 ldr r2, [r2, #4] ldr r5, [r2, #0x270] ldr r3, [r2, #0x274] ldr r2, [r2, #0x26c] str r2, [r9, #0x4b8] str r5, [r9, #0x4bc] str r3, [r9, #0x4c0] str r1, [r9, #0x454] bl func_ov00_0209a4f4 mov r0, #1 mvn r3, #0 mov r2, #0x32 mov r1, #2 str r3, [sp, #0x118] strb r2, [sp, #0x11d] strb r0, [sp, #0x11f] strb r0, [sp, #0x128] strb r0, [sp, #0x12a] strb r1, [sp, #0x11e] ldr r1, [r9, #0x450] ldr r0, _021457d0 ; =gAdventureFlags str r1, [sp, #0x140] ldr r1, [r9, #0x454] ldr r0, [r0] str r1, [sp, #0x144] ldr r2, [r9, #0x458] add r1, sp, #0x114 str r2, [sp, #0x148] ldr r3, [r9, #0x45c] mov r2, #0x5c str r3, [sp, #0x14c] ldr r3, [r9, #0x460] str r3, [sp, #0x150] ldr r3, [r9, #0x464] str r3, [sp, #0x154] ldr r3, [r9, #0x468] str r3, [sp, #0x158] ldr r3, [r9, #0x46c] str r3, [sp, #0x15c] ldr r3, [r9, #0x470] str r3, [sp, #0x160] ldr r3, [r9, #0x474] str r3, [sp, #0x164] ldr r3, [r9, #0x478] str r3, [sp, #0x168] ldr r3, [r9, #0x47c] str r3, [sp, #0x16c] ldr r3, [r9, #0x480] str r3, [sp, #0x170] ldr r3, [r9, #0x484] str r3, [sp, #0x174] ldr r3, [r9, #0x488] str r3, [sp, #0x178] ldr r3, [r9, #0x48c] str r3, [sp, #0x17c] ldr r3, [r9, #0x490] str r3, [sp, #0x180] ldr r3, [r9, #0x494] str r3, [sp, #0x184] ldr r3, [r9, #0x498] str r3, [sp, #0x188] ldr r3, [r9, #0x49c] str r3, [sp, #0x18c] ldr r3, [r9, #0x4a0] str r3, [sp, #0x190] ldr r3, [r9, #0x4a4] str r3, [sp, #0x194] ldr r3, [r9, #0x4a8] str r3, [sp, #0x198] ldr r3, [r9, #0x4ac] str r3, [sp, #0x19c] ldrb r3, [r9, #0x4b0] strb r3, [sp, #0x1a0] ldrb r3, [r9, #0x4b1] strb r3, [sp, #0x1a1] ldrb r3, [r9, #0x4b2] strb r3, [sp, #0x1a2] ldrb r3, [r9, #0x4b3] strb r3, [sp, #0x1a3] ldrb r3, [r9, #0x4b4] strb r3, [sp, #0x1a4] str r2, [sp, #0x1a8] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r9, #0x348] mov r0, #1 strb r0, [r9, #0x34d] add r0, r9, #0x300 mov r1, #0x4000 strh r1, [r0, #0x2a] ldr r0, [r9, #0x20] bl func_ov15_02149af0 add r2, r9, #0x300 ldr r0, [r9, #0x20] ldrsh r3, [r2, #0x2a] add r1, r0, #0x100 mov r0, r9 strh r3, [r1, #0xb0] ldr r1, [r9, #0x20] ldrsh r3, [r2, #0x2a] add r1, r1, #0x100 mov r2, #1 strh r3, [r1, #0x8c] ldr r1, [r6, #4] str r2, [r1, #0x11c] bl func_ov15_0214325c add r1, sp, #0xf0 mov r0, r9 bl func_ov15_02175ba8 mov r0, #0x1ec str r0, [sp, #0xe8] rsb r0, r0, #0x52 str r0, [sp, #0xec] add r0, sp, #0xe4 mov r1, #0 str r1, [sp, #0xe4] add r1, sp, #0xf0 mov r2, r0 bl func_01ff88b0 ldr r1, _021457d4 ; =data_027e0f94 add r0, sp, #0xe4 add r2, r9, #0x358 bl func_01ff9bc4 ldr r0, _021457d8 ; =data_027e0fac add r1, r9, #0x300 ldrsh r0, [r0] ldr r3, _021457dc ; =0xfffffccd mov r2, #0x1000 add r0, r0, #0xab add r0, r0, #0x2a00 strh r0, [r1, #0x84] str r3, [r9, #0x298] ldr r1, [r9, #0x2a0] mov r0, #0 str r1, [r9, #0x294] ldr r3, [r9, #0x2a8] add r1, r9, #0xc4 str r3, [r9, #0x29c] str r2, [r9, #0x4c4] str r0, [r9, #0x4c8] str r0, [r9, #0x4cc] add r0, r1, #0x400 mov r2, r0 add r1, sp, #0xf0 bl func_01ff88b0 add r1, r9, #0xc4 add r0, r1, #0x400 ldr r1, _021457d4 ; =data_027e0f94 mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x294] ldr r0, _021457e0 ; =data_027e0e60 str r1, [r9, #0x4b8] ldr r2, [r9, #0x298] add r1, r9, #0x2a0 str r2, [r9, #0x4bc] ldr r3, [r9, #0x29c] mov r2, #0 str r3, [r9, #0x4c0] ldr r0, [r0] bl func_ov00_02083ee0 ldr r1, _021457e4 ; =0xfffffe66 mov r2, #0 add r0, r0, r1 str r0, [r9, #0x4bc] str r2, [r9, #0x374] mov r0, #0x2000 str r0, [r4, #0x17c] mov r0, r9 bl func_ov15_02144774 add r0, sp, #0x114 bl func_ov00_0209a508 _02144d14: add r0, r9, #0x364 add r3, sp, #0xd8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _021457e0 ; =data_027e0e60 ldr r5, [sp, #0xd8] ldr r4, [sp, #0xdc] ldr r3, [sp, #0xe0] ldr r0, [r0] add r1, sp, #0x24 mov r2, #0 str r5, [sp, #0x24] str r4, [sp, #0x28] str r3, [sp, #0x2c] bl func_ov00_02083ee0 str r0, [sp, #0xdc] ldr r0, [r9, #0x298] cmp r0, #0x2b8 blt _02144de4 ldr r0, _021457e8 ; =data_027e0ffc ldr r1, _021457ec ; =0x000003e2 add r2, r9, #0x294 mov r3, #0 bl func_ov00_020ceacc mov r2, #0 ldr r1, _021457f0 ; =0x0000028f add r0, sp, #0xd8 mov r3, r2 bl func_ov00_020c75f4 mov r1, #1 str r1, [sp] ldr r0, _021457f4 ; =data_027e0e58 add r1, r9, #0x184 ldr r0, [r0] add r3, r9, #0x364 mov r2, #2 bl func_ov00_0207c1f8 mov r0, #1 str r0, [sp] ldr r0, _021457f4 ; =data_027e0e58 add r1, r9, #0x188 ldr r0, [r0] mov r2, #3 add r3, r9, #0x364 bl func_ov00_0207c1f8 mov r0, #0 str r0, [r9, #0x380] mov r0, #0x1e str r0, [r9, #0x378] mov r0, #2 strb r0, [r9, #0x34d] b _02144e00 _02144de4: mov r4, #0 add r1, sp, #0xd8 add r0, r9, #0x2f0 mov r2, #0x148 mov r3, #0xf str r4, [sp] bl func_ov00_020c7734 _02144e00: ldr r1, [r9, #0x298] ldr r0, _021457f8 ; =0x000004cd cmp r1, r0 blt _02144e40 ldr r1, [r9, #0x294] add r0, r9, #0x374 str r1, [r9, #0x4b8] ldr r2, [r9, #0x29c] mov r1, #0x14 str r2, [r9, #0x4c0] ldr r4, [r9, #0x4bc] ldr r3, [r9, #0x374] mov r2, #1 add r3, r4, r3 str r3, [r9, #0x4bc] bl Approach_thunk _02144e40: ldr r0, [r9, #0x298] mov r3, #0 add r1, r0, #0x18 str r1, [r9, #0x298] ldr r0, [r9, #0x2a4] cmp r1, r0 blt _02144ea0 ldr r0, _021457e8 ; =data_027e0ffc add r2, r9, #0x294 mov r1, #0x3e4 bl func_ov00_020ceacc ldr r0, [r9, #0x2a0] mov r1, #3 str r0, [r9, #0x294] ldr r2, [r9, #0x2a4] mov r0, #0xa str r2, [r9, #0x298] ldr r2, [r9, #0x2a8] str r2, [r9, #0x29c] strb r1, [r9, #0x34d] str r0, [r9, #0x378] ldr r0, [r9, #0x20] bl func_ov15_02149e80 b _02144eb0 _02144ea0: ldr r0, _021457e8 ; =data_027e0ffc ldr r1, _021457fc ; =0x000003e3 add r2, r9, #0x294 bl func_ov00_020cec08 _02144eb0: mov r0, r9 bl func_ov15_02144774 mov r0, r9 bl func_ov15_021448f8 b _02145420 _02144ec4: ldr r0, [r9, #0x378] cmp r0, #0 moveq r0, #4 streqb r0, [r9, #0x34d] mov r0, r9 bl func_ov15_02144774 mov r0, r9 bl func_ov15_021448f8 b _02145420 _02144ee8: add r0, r9, #0x300 ldrsh r1, [r0, #0x2a] mov r3, #0 sub r1, r1, #0x16c strh r1, [r0, #0x2a] ldrsh r0, [r0, #0x2a] cmp r0, #0 bgt _02144f40 ldr r0, _021457e8 ; =data_027e0ffc ldr r1, _02145800 ; =0x000003e6 add r2, r9, #0x2c4 bl func_ov00_020ceacc add r0, r9, #0x300 mov r1, #0 strh r1, [r0, #0x2a] mov r0, #5 strb r0, [r9, #0x34d] mov r0, #0x14 str r0, [r9, #0x378] ldr r0, [r9, #0x20] bl func_ov15_02149e68 b _02144f50 _02144f40: ldr r0, _021457e8 ; =data_027e0ffc ldr r1, _02145804 ; =0x000003e5 add r2, r9, #0x2c4 bl func_ov00_020cec08 _02144f50: add r0, r9, #0x300 ldr r1, [r9, #0x20] ldrsh r2, [r0, #0x2a] add r1, r1, #0x100 mov r0, r9 strh r2, [r1, #0xb0] ldr r1, [r9, #0x2a0] str r1, [r9, #0x2ac] ldr r1, [r9, #0x2a4] str r1, [r9, #0x2b0] ldr r1, [r9, #0x2a8] str r1, [r9, #0x2b4] ldr r1, [r9, #0x2ac] str r1, [r9, #0x294] ldr r1, [r9, #0x2b0] str r1, [r9, #0x298] ldr r1, [r9, #0x2b4] str r1, [r9, #0x29c] bl func_ov15_02144774 ldr r1, [r9, #0x294] mov r0, r9 str r1, [r9, #0x4b8] ldr r1, [r9, #0x29c] str r1, [r9, #0x4c0] bl func_ov15_021448f8 b _02145420 _02144fb8: ldr r0, [r9, #0x378] cmp r0, #0 moveq r0, #6 streqb r0, [r9, #0x34d] mov r0, r9 bl func_ov15_02144774 mov r0, r9 bl func_ov15_021448f8 b _02145420 _02144fdc: add r1, sp, #0xb4 mov r0, r9 bl func_ov15_02175ba8 ldr r0, [r6, #4] mov r1, #0 str r1, [r0, #0x11c] ldr r0, [r9, #0x20] bl func_ov15_02149b34 ldr r1, _02145808 ; =0x000003d7 add r0, sp, #0xa8 sub r2, r1, #0x214 str r1, [sp, #0xac] mov r1, #0 str r1, [sp, #0xa8] str r2, [sp, #0xb0] add r1, sp, #0xb4 mov r2, r0 bl func_01ff88b0 ldr r1, _021457d4 ; =data_027e0f94 add r0, sp, #0xa8 add r2, r9, #0x358 bl func_01ff9bc4 ldr r1, _021457d8 ; =data_027e0fac add r0, r9, #0x300 ldrsh r3, [r1] ldr r1, _02145808 ; =0x000003d7 mov r2, #0 strh r3, [r0, #0x84] add r0, r1, #0xf6 str r0, [sp, #0xb0] str r1, [sp, #0xac] add r0, sp, #0xa8 str r2, [sp, #0xa8] add r1, sp, #0xb4 mov r2, r0 bl func_01ff88b0 add r0, sp, #0xa8 ldr r1, _021457d4 ; =data_027e0f94 mov r2, r0 bl func_01ff9bc4 ldr r3, [sp, #0xac] ldr r2, [sp, #0xb0] ldr r0, [sp, #0xa8] mvn r1, #0xcc str r0, [r9, #0x364] str r3, [r9, #0x368] str r2, [r9, #0x36c] ldr r2, [r9, #0x368] mov r0, #0x1000 add r2, r2, #0x1000 str r2, [r9, #0x368] str r1, [r9, #0x370] str r0, [r4, #0x17c] ldr r0, _021457f4 ; =data_027e0e58 add r1, r9, #0x184 ldr r0, [r0] bl func_ov00_0207c444 ldr r0, _021457f4 ; =data_027e0e58 add r1, r9, #0x188 ldr r0, [r0] bl func_ov00_0207c444 ldr r0, _021457e8 ; =data_027e0ffc ldr r1, _0214580c ; =0x000003e7 add r2, sp, #0xa8 mov r3, #0 bl func_ov00_020ceacc ldr r3, [sp, #0xac] ldr r2, [sp, #0xb0] ldr r1, [sp, #0xa8] ldr r0, _021457e4 ; =0xfffffe66 str r1, [r9, #0x4b8] str r3, [r9, #0x4bc] str r2, [r9, #0x4c0] ldr r1, [r9, #0x4bc] add r0, r1, r0 str r0, [r9, #0x4bc] ldr r0, _02145810 ; =0x00000333 mov r1, #0x180 str r0, [r9, #0x468] str r1, [r9, #0x460] ldr r0, _021457d8 ; =data_027e0fac mov r1, #7 ldrsh r2, [r0] mov r0, #0x14 sub r2, r2, #0x7800 str r2, [r9, #0x464] strb r1, [r9, #0x34d] str r0, [r9, #0x378] b _02145420 _02145140: cmp r0, #7 bne _021451e4 add r1, sp, #0x84 mov r0, r9 bl func_ov15_02175ba8 ldr r4, _02145808 ; =0x000003d7 add r0, sp, #0x78 add r3, r4, #0xf6 mov r5, #0 add r1, sp, #0x84 mov r2, r0 str r5, [sp, #0x78] str r4, [sp, #0x7c] str r3, [sp, #0x80] bl func_01ff88b0 ldr r2, [r9, #0x368] ldr r1, [r9, #0x370] ldr r0, _021457d4 ; =data_027e0f94 add r2, r2, r1 str r2, [r9, #0x368] ldr r1, [sp, #0x7c] ldr r0, [r0, #4] add r1, r1, r0 cmp r2, r1 bge _021451e4 ldr r0, _021457e8 ; =data_027e0ffc str r1, [r9, #0x368] mov r4, #8 add r2, r9, #0x364 mov r1, #0x3e8 mov r3, r5 strb r4, [r9, #0x34d] bl func_ov00_020ceacc mov r1, r5 str r1, [sp] ldr r0, _021457f4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r9, #0x364 mov r3, #1 bl func_ov00_0207c1b0 _021451e4: ldr r0, [r9, #0x378] cmp r0, #0 bne _02145420 mov r0, #9 strb r0, [r9, #0x34d] mov r0, #0x28 str r0, [r9, #0x378] b _02145420 _02145204: ldr r0, [r9, #0x378] cmp r0, #0xa bgt _02145230 bne _02145230 ldr r0, _021457e8 ; =data_027e0ffc ldr r1, _02145814 ; =0x000003e9 add r2, r9, #0x364 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 strb r0, [r4, #0x180] _02145230: ldr r0, [r9, #0x378] cmp r0, #0 moveq r0, #0xa streqb r0, [r9, #0x34d] beq _02145420 cmp r0, #0xa bne _0214525c mov r0, r6 mov r1, #0 bl func_ov15_0216e168 b _02145420 _0214525c: cmp r0, #0x1e moveq r0, #0x46 streq r0, [r9, #0x37c] b _02145420 _0214526c: ldr r0, [r4, #0x10] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02145420 mov r0, r6 bl func_ov15_0216e9bc cmp r0, #0 beq _02145420 bl func_ov15_021464fc blx _ZN4Item18func_ov00_020ad020Ei cmp r0, #0 movne r0, #0xb strneb r0, [r9, #0x34d] moveq r0, #0xd streqb r0, [r9, #0x34d] b _02145420 _021452b0: bl func_ov15_021464fc mov r1, r0 ldr r0, _02145818 ; =data_ov09_0211f5dc blx func_ov03_020fb0b0 mov r0, #0xc strb r0, [r9, #0x34d] b _02145420 _021452cc: add sp, sp, #0x1c4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021452d4: bl func_ov15_021464fc mov r5, r0 cmp r5, #0x2b bne _02145300 bl func_ov15_0214650c mov r4, r0 bl func_ov15_0214651c mov r1, r0 mov r0, r4 blx func_ov09_0211ca20 b _02145334 _02145300: cmp r5, #0x30 blt _0214531c cmp r5, #0x37 bgt _0214531c sub r0, r5, #0x30 blx func_ov09_0211cac0 b _02145334 _0214531c: cmp r5, #0x26 beq _02145334 ldr r0, _0214581c ; =gItemManager mov r1, r5 ldr r0, [r0] blx _ZN11ItemManager8GiveItemEjjj _02145334: ldr r0, _0214581c ; =gItemManager mov r1, r5 ldr r0, [r0] blx _ZN11ItemManager15LoadFanfareItemEj mov r0, r6 mov r1, #1 bl func_ov15_0216e168 mov r0, #0xe strb r0, [r9, #0x34d] _02145358: mov r0, r6 bl func_ov15_0216e9d0 cmp r0, #0 movne r0, #0xf strneb r0, [r9, #0x34d] b _02145420 _02145370: bl func_ov15_021464fc mov r4, r0 bl func_ov03_020fc10c mov r0, r4 blx _ZN11ItemManager18func_ov00_020ae648Ejjj mov r0, #0x10 strb r0, [r9, #0x34d] b _02145420 _02145390: ldr r0, _02145820 ; =data_ov00_020eec68 bl func_ov00_020d71a0 ldr r0, _021457d0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 bne _02145420 mov r0, r9 bl func_ov15_021428c4 bl func_ov15_02146578 mov r1, r0 cmp r1, #0x20 bhs _021453d4 ldr r0, _0214581c ; =gItemManager ldr r0, [r0] blx _ZN11ItemManager19SetTreasureSalvagedEj b _021453f8 _021453d4: sub r0, r1, #0x20 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 ldr r2, _02145824 ; =data_027e0fe4 ldr r1, _02145828 ; =data_ov15_0218b214 ldr r0, [r2] add r2, sp, #8 str r3, [sp, #8] bl func_ov15_02184728 _021453f8: mov r0, #0x11 strb r0, [r9, #0x34d] bl func_ov15_021464fc cmp r0, #0x26 bne _0214541c ldr r0, _0214581c ; =gItemManager mov r1, #0x26 ldr r0, [r0] blx _ZN11ItemManager8GiveItemEjjj _0214541c: bl func_ov15_021465e8 _02145420: ldr r2, [r9, #0x20] ldr r1, [r9, #0x364] add r0, r9, #0x300 str r1, [r2, #0x180] ldr r1, [r9, #0x368] str r1, [r2, #0x184] ldr r1, [r9, #0x36c] str r1, [r2, #0x188] ldr r2, [r9, #0x20] ldr r1, [r9, #0x358] str r1, [r2, #0x170] ldr r1, [r9, #0x35c] str r1, [r2, #0x174] ldr r1, [r9, #0x360] str r1, [r2, #0x178] ldr r1, [r9, #0x20] ldrh r2, [r0, #0x84] add r0, r1, #0x100 strh r2, [r0, #0x7c] ldr r0, [r6, #4] ldr r0, [r0, #0x11c] tst r0, #1 beq _02145500 add r2, sp, #0x6c add r0, r9, #0x364 add r1, r9, #0x358 bl func_01ff9bf8 ldr r0, [sp, #0x6c] ldr r1, [sp, #0x74] bl func_01ffa0f4 add r1, r9, #0x300 ldrh r1, [r1, #0x84] ldr r5, [sp, #0x70] mov r2, #0 sub r0, r0, r1 mov r1, r0, lsl #0x10 add r0, sp, #0x6c str r2, [sp, #0x70] mov r4, r1, asr #0x10 bl func_01ff9cec mov r1, r0 mov r0, r5 bl func_01ffa0f4 rsb r0, r0, #0 mov r2, #0x2000 mov r0, r0, lsl #0x10 rsb r2, r2, #0 cmp r2, r0, asr #16 mov r1, r0, asr #0x10 movgt r1, r2 ldr r0, _0214582c ; =0x00000aab mov r2, r4 cmp r1, r0 movgt r1, r0 mov r0, r6 bl func_ov15_0216ea14 _02145500: ldrb r0, [r9, #0x34d] cmp r0, #3 blo _02145524 ldr r0, [r9, #0x2a0] str r0, [r9, #0x294] ldr r0, [r9, #0x2a4] str r0, [r9, #0x298] ldr r0, [r9, #0x2a8] str r0, [r9, #0x29c] _02145524: ldr r0, [r9, #0x37c] cmp r0, #0 beq _02145798 add r1, sp, #0x48 mov r0, r9 bl func_ov15_02175ba8 ldr r4, _02145830 ; =0x0000023d add r0, sp, #0x3c add r3, r4, #0x290 mov r5, #0 add r1, sp, #0x48 mov r2, r0 str r5, [sp, #0x3c] str r4, [sp, #0x40] str r3, [sp, #0x44] bl func_01ff88b0 add r0, sp, #0x3c ldr r1, _021457d4 ; =data_027e0f94 mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x45c] ldr r0, _02145834 ; =0x00000e39 sub r0, r0, r1 bl func_02042f74 ldr r1, [r9, #0x37c] bl func_02002c14 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 add r0, r9, #0x5c ldr r1, _02145834 ; =0x00000e39 add r0, r0, #0x400 bl Approach_thunk ldr r1, [r9, #0x460] ldr r0, _02145838 ; =0x000023b0 sub r0, r0, r1 bl func_02042f74 ldr r1, [r9, #0x37c] bl func_02002c14 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 ldr r1, _02145838 ; =0x000023b0 add r0, r9, #0x460 bl func_0202b154 ldr r0, _021457d8 ; =data_027e0fac ldr r1, [r9, #0x464] ldrsh r4, [r0] ldr r0, _0214583c ; =0xffff86dc sub r1, r1, r4 sub r0, r0, r1 bl func_02042f74 ldr r1, [r9, #0x37c] bl func_02002c14 ldr r1, _0214583c ; =0xffff86dc mov r0, r0, lsl #0x10 add r1, r4, r1 mov r2, r0, asr #0x10 add r0, r9, #0x64 mov r1, r1, lsl #0x10 add r0, r0, #0x400 mov r1, r1, asr #0x10 bl func_0202b154 ldr r1, [r9, #0x468] ldr r0, _021457f0 ; =0x0000028f sub r0, r0, r1 bl func_02042f74 ldr r1, [r9, #0x37c] bl func_02002c14 mov r2, r0 add r0, r9, #0x68 ldr r1, _021457f0 ; =0x0000028f add r0, r0, #0x400 bl Approach_thunk ldr r0, _021457d8 ; =data_027e0fac ldr r8, [sp, #0x3c] ldrh r2, [r0] ldr r0, [r9, #0x4b8] add r1, r8, #0x35 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 sub r0, r1, r0 bl func_02042f74 add r1, r4, #1 ldr r2, _02145840 ; =data_02050f54 mov r3, r4, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [r2, r3] ldrsh r5, [r2, r1] ldr r1, [r9, #0x37c] mov r6, r7, asr #0x1f mov r4, r5, asr #0x1f bl func_02002c14 mov r2, r0 add r0, r9, #0xb8 add r0, r0, #0x400 mov lr, #0 mov r1, #0x35 sub r10, r1, #0x36 sub r3, r1, #0x9f umull ip, r11, r5, r1 mla r11, r5, lr, r11 mla r11, r4, r1, r11 adds ip, ip, #0x800 adc r1, r11, #0 mov r11, ip, lsr #0xc orr r11, r11, r1, lsl #20 add r1, r8, r11 umull r11, r8, r7, r3 mla r8, r7, r10, r8 mla r8, r6, r3, r8 adds r10, r11, #0x800 adc r3, r8, #0 mov r8, r10, lsr #0xc orr r8, r8, r3, lsl #20 add r1, r1, r8 bl Approach_thunk ldr r1, [sp, #0x40] ldr r0, [r9, #0x4bc] add r8, r1, #0xe9 sub r0, r8, r0 bl func_02042f74 ldr r1, [r9, #0x37c] bl func_02002c14 mov r1, r8 mov r2, r0 add r0, r9, #0xbc add r0, r0, #0x400 bl Approach_thunk ldr r8, [sp, #0x44] ldr r0, [r9, #0x4c0] sub r1, r8, #0x6a sub r0, r1, r0 bl func_02042f74 ldr r1, [r9, #0x37c] bl func_02002c14 mov r2, r0 add r0, r9, #0x4c0 mov r11, #0 mov r1, #0x35 sub ip, r1, #0x36 sub r3, r1, #0x9f umull r10, lr, r7, r1 mla lr, r7, r11, lr mla lr, r6, r1, lr adds r6, r10, #0x800 adc r1, lr, #0 mov r6, r6, lsr #0xc orr r6, r6, r1, lsl #20 add r7, r8, r6 umull r6, r1, r5, r3 mla r1, r5, ip, r1 mla r1, r4, r3, r1 adds r3, r6, #0x800 adc r1, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 add r1, r7, r3 bl Approach_thunk _02145798: mov r1, #0 str r1, [sp] ldr r0, _021457cc ; =data_027e0f64 str r1, [sp, #4] ldr r0, [r0] add r1, r9, #0xb8 ldr r0, [r0, #4] add r1, r1, #0x400 add r3, r9, #0x450 mov r2, #2 bl func_ov00_02089318 add sp, sp, #0x1c4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021449b0 _021457cc: .word data_027e0f64 _021457d0: .word gAdventureFlags _021457d4: .word data_027e0f94 _021457d8: .word data_027e0fac _021457dc: .word 0xfffffccd _021457e0: .word data_027e0e60 _021457e4: .word 0xfffffe66 _021457e8: .word data_027e0ffc _021457ec: .word 0x000003e2 _021457f0: .word 0x0000028f _021457f4: .word data_027e0e58 _021457f8: .word 0x000004cd _021457fc: .word 0x000003e3 _02145800: .word 0x000003e6 _02145804: .word 0x000003e5 _02145808: .word 0x000003d7 _0214580c: .word 0x000003e7 _02145810: .word 0x00000333 _02145814: .word 0x000003e9 _02145818: .word data_ov09_0211f5dc _0214581c: .word gItemManager _02145820: .word data_ov00_020eec68 _02145824: .word data_027e0fe4 _02145828: .word data_ov15_0218b214 _0214582c: .word 0x00000aab _02145830: .word 0x0000023d _02145834: .word 0x00000e39 _02145838: .word 0x000023b0 _0214583c: .word 0xffff86dc _02145840: .word data_02050f54 .global func_ov15_02145844 arm_func_start func_ov15_02145844 func_ov15_02145844: ; 0x02145844 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x294] mov r2, #0 str r0, [r5, #0x2dc] ldr r0, [r5, #0x29c] str r0, [r5, #0x2e4] ldrb r0, [r5, #0x34f] ldr r1, [r5, #0x298] cmp r0, #0 ldr r0, [r5, #0x330] beq _02145888 add r4, r1, #0x800 cmp r0, #0 sublt r4, r4, #0x3e8 movlt r2, #1 b _02145898 _02145888: sub r4, r1, #0x800 cmp r0, #0 addgt r4, r4, #0x3e8 movgt r2, #1 _02145898: cmp r2, #0 beq _021458c8 ldrb r0, [r5, #0x34e] mov r2, #0x320 cmp r0, #0 ldrne r0, _0214592c ; =data_ov15_0218ef6c movne r1, #0 strne r1, [r0, #0x6c] ldr r0, _02145930 ; =data_ov15_0218efd8 mov r1, #0x80 bl Approach_thunk b _021458ec _021458c8: ldrb r0, [r5, #0x352] cmp r0, #0 ldreq r0, _0214592c ; =data_ov15_0218ef6c moveq r1, #0x46 streq r1, [r0, #0x6c] beq _021458ec ldr r0, _0214592c ; =data_ov15_0218ef6c mov r1, #0x96 str r1, [r0, #0x6c] _021458ec: ldr r0, _0214592c ; =data_ov15_0218ef6c mov r1, r4 ldr r2, [r0, #0x6c] add r0, r5, #0x2e0 bl Approach_thunk ldr r0, _02145934 ; =data_027e0f64 add r1, r5, #0x2dc ldr r0, [r0] ldr r0, [r0, #8] bl func_ov00_02087fc0 ldr r0, _02145934 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #8] ldr r0, [r0, #0x270] str r0, [r5, #0x2ec] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02145844 _0214592c: .word data_ov15_0218ef6c _02145930: .word data_ov15_0218efd8 _02145934: .word data_027e0f64 .global func_ov15_02145938 arm_func_start func_ov15_02145938 func_ov15_02145938: ; 0x02145938 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r1, _02145b54 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _02145960 bl func_ov15_0216c0dc _02145960: add r0, r4, #0x17c add r0, r0, #0x400 bl func_0203516c add r0, r4, #0x204 add r0, r0, #0x400 bl func_0203516c ldr r0, [r4, #0x340] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x340] ldr r0, [r4, #0x344] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x344] mov r0, r4 bl func_ov15_02142ec4 mov r1, #0 ldr r0, _02145b58 ; =data_027e0d78 strb r1, [r4, #0x292] ldrb r0, [r0, #0xc] cmp r0, #0 beq _021459f8 ldr r0, _02145b5c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldreq r0, [r4, #0x344] cmpeq r0, #0 ldreqb r0, [r4, #0x293] cmpeq r0, #0 bne _021459f8 ldrb r0, [r4, #0x291] cmp r0, #0 bne _02145a00 mov r0, #1 strb r0, [r4, #0x291] strb r0, [r4, #0x292] b _02145a00 _021459f8: mov r0, #0 strb r0, [r4, #0x291] _02145a00: mov r0, r4 bl func_ov15_02145b70 mov r0, r4 bl func_ov15_02145d34 mov r0, r4 bl func_ov15_0214325c mov r0, r4 bl func_ov15_021368b4 ldr r2, _02145b60 ; =data_027e0fa0 mvn r3, #0x80000000 ldr ip, [r2, #4] mov r1, #0 sub r0, ip, r0 str r0, [r2, #4] str r3, [sp] add r0, r4, #0x78 mov r2, #0x100 mov r3, #0x10 bl func_0202b418 ldr r0, [r4, #0x324] cmp r0, #6 addls pc, pc, r0, lsl #2 b _02145ac8 _02145a5c: ; jump table b _02145a78 ; case 0 b _02145a84 ; case 1 b _02145a90 ; case 2 b _02145a9c ; case 3 b _02145aa8 ; case 4 b _02145ab4 ; case 5 b _02145ac0 ; case 6 _02145a78: mov r0, r4 bl func_ov15_021436c4 b _02145ac8 _02145a84: mov r0, r4 bl func_ov15_02143a44 b _02145ac8 _02145a90: mov r0, r4 bl func_ov15_02143ff8 b _02145ac8 _02145a9c: mov r0, r4 bl func_ov15_0214416c b _02145ac8 _02145aa8: mov r0, r4 bl func_ov15_021442e4 b _02145ac8 _02145ab4: mov r0, r4 bl func_ov15_02144574 b _02145ac8 _02145ac0: mov r0, r4 bl func_ov15_021449b0 _02145ac8: ldr r2, [r4, #0x20] ldr r0, [r4, #0x2c4] add r1, r4, #0x294 str r0, [r2, #0xe0] ldr r0, [r4, #0x2c8] str r0, [r2, #0xe4] ldr r0, [r4, #0x2cc] str r0, [r2, #0xe8] ldr r0, [r4, #0x20] bl func_ov15_021498b8 ldr r0, [r4, #0x324] cmp r0, #5 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} mov r0, r4 bl func_ov15_02145844 mov r0, r4 bl func_ov15_021431f0 ldrb r2, [r4, #0x34c] ldr r1, _02145b64 ; =data_ov15_02186154 ldr r0, _02145b68 ; =data_ov00_020eec9c ldr r1, [r1, r2, lsl #2] bl func_ov00_020d7d18 ldr r0, _02145b54 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 addne sp, sp, #4 ldmneia sp!, {r3, r4, pc} ldr r1, [r4, #0x298] ldr r0, _02145b6c ; =data_ov00_020eec68 bl func_ov00_020d74bc add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02145938 _02145b54: .word data_027e0d38 _02145b58: .word data_027e0d78 _02145b5c: .word gAdventureFlags _02145b60: .word data_027e0fa0 _02145b64: .word data_ov15_02186154 _02145b68: .word data_ov00_020eec9c _02145b6c: .word data_ov00_020eec68 .global func_ov15_02145b70 arm_func_start func_ov15_02145b70 func_ov15_02145b70: ; 0x02145b70 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrb r0, [r5, #0x352] ldr r4, [r5, #0x330] cmp r0, #1 bne _02145c24 ldrb r0, [r5, #0x291] cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x352] beq _02145ca4 ldr r0, _02145cf4 ; =data_027e0d78 ldr r1, [r5, #0x338] ldr r0, [r0, #0x10] ldr r2, [r5, #0x32c] add r1, r1, r0 mvn r0, #0x31 str r1, [r5, #0x32c] cmp r1, r0 strlt r0, [r5, #0x32c] blt _02145bd0 cmp r1, #0x32 movgt r0, #0x32 strgt r0, [r5, #0x32c] _02145bd0: ldr r6, [r5, #0x32c] sub r0, r2, r6 bl func_02042f68 movs r1, r0 beq _02145bf0 ldr r0, _02145cf8 ; =data_ov00_020eec9c mov r2, r6 bl func_ov00_020d83f0 _02145bf0: ldr r0, _02145cf4 ; =data_027e0d78 mvn r1, #9 ldr r0, [r0, #0x14] sub r0, r0, #0xac cmp r0, r1 strlt r1, [r5, #0x330] blt _02145ca4 cmp r0, #0xa movgt r0, #0xa strgt r0, [r5, #0x330] movle r0, #0 strle r0, [r5, #0x330] b _02145ca4 _02145c24: ldr r0, [r5, #0x324] cmp r0, #4 bne _02145c40 add r0, r5, #0x32c mov r1, #0 mov r2, #1 bl Approach_thunk _02145c40: mov r0, #0 str r0, [r5, #0x330] ldrb r0, [r5, #0x292] cmp r0, #0 beq _02145ca4 ldr r0, [r5, #0x324] cmp r0, #1 ldreqb r0, [r5, #0x290] cmpeq r0, #0 bne _02145ca4 mov r0, r5 bl func_ov15_02145d00 cmp r0, #0 beq _02145ca4 mov r0, #1 strb r0, [r5, #0x352] ldr r0, _02145cf4 ; =data_027e0d78 ldr r1, [r5, #0x32c] ldr r0, [r0, #0x10] sub r0, r1, r0 str r0, [r5, #0x338] ldrb r0, [r5, #0x351] cmp r0, #0 movne r0, #0 strneb r0, [r5, #0x351] _02145ca4: ldr r0, [r5, #0x330] cmp r4, r0 ldmeqia sp!, {r4, r5, r6, pc} cmp r0, #0xa bne _02145cc8 ldr r0, _02145cf8 ; =data_ov00_020eec9c ldr r1, _02145cfc ; =0x000003d9 bl func_ov00_020d77e4 ldmia sp!, {r4, r5, r6, pc} _02145cc8: mvn r1, #9 cmp r0, r1 bne _02145ce4 ldr r0, _02145cf8 ; =data_ov00_020eec9c mov r1, #0x3d8 bl func_ov00_020d77e4 ldmia sp!, {r4, r5, r6, pc} _02145ce4: ldr r0, _02145cf8 ; =data_ov00_020eec9c add r1, r1, #0x3e4 bl func_ov00_020d77e4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02145b70 _02145cf4: .word data_027e0d78 _02145cf8: .word data_ov00_020eec9c _02145cfc: .word 0x000003d9 .global func_ov15_02145d00 arm_func_start func_ov15_02145d00 func_ov15_02145d00: ; 0x02145d00 ldr r1, _02145d2c ; =data_027e0d78 ldr r2, [r0, #0x32c] ldr r3, [r1, #0x10] ldr r1, [r1, #0x14] ldr r0, [r0, #0x330] sub r2, r3, r2 sub r3, r1, r0 ldr ip, _02145d30 ; =func_02034b90 mov r0, #0x62 mov r1, #1 bx ip .align 2, 0 arm_func_end func_ov15_02145d00 _02145d2c: .word data_027e0d78 _02145d30: .word func_02034b90 .global func_ov15_02145d34 arm_func_start func_ov15_02145d34 func_ov15_02145d34: ; 0x02145d34 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x284] mov r2, #0 cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x284] str r2, [r4, #0x28c] ldr r1, [r4, #0x324] cmp r1, #0 cmpne r1, #2 cmpne r1, #3 beq _02145d74 ldrb r0, [r4, #0x293] cmp r0, #0 beq _02145d98 _02145d74: ldr r1, [r4, #0x288] mvn r0, #0x3f sub r1, r1, #0x10 str r1, [r4, #0x288] cmp r1, r0 strlt r0, [r4, #0x288] mov r0, #0 strb r0, [r4, #0x290] ldmia sp!, {r4, pc} _02145d98: cmp r1, #1 strneb r2, [r4, #0x290] ldmneia sp!, {r4, pc} ldr r0, [r4, #0x288] cmp r0, #0 addlt r0, r0, #0x10 strlt r0, [r4, #0x288] ldmltia sp!, {r4, pc} str r2, [r4, #0x288] ldrb r0, [r4, #0x290] cmp r0, #1 bne _02145e2c ldr r0, [r4, #0x284] cmp r0, #0 bne _02145e20 ldr r0, _02145e78 ; =data_027e0d78 ldrb r0, [r0, #0xc] cmp r0, #0 mov r0, r4 bne _02145e0c strb r2, [r4, #0x290] bl func_ov15_02145e7c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #4 mov r2, #0 bl func_ov15_021429d8 ldmia sp!, {r4, pc} _02145e0c: bl func_ov15_02145e7c cmp r0, #0 movne r0, #4 strne r0, [r4, #0x28c] ldmia sp!, {r4, pc} _02145e20: mov r0, #4 str r0, [r4, #0x28c] ldmia sp!, {r4, pc} _02145e2c: ldrb r0, [r4, #0x292] cmp r0, #0 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0x34d] cmp r0, #3 ldreqb r0, [r4, #0x352] cmpeq r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov15_02145e7c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, #4 str r0, [r4, #0x28c] mov r0, #1 strb r0, [r4, #0x290] mov r0, #3 str r0, [r4, #0x284] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02145d34 _02145e78: .word data_027e0d78 .global func_ov15_02145e7c arm_func_start func_ov15_02145e7c func_ov15_02145e7c: ; 0x02145e7c ldr r1, _02145e98 ; =data_027e0d78 ldr ip, _02145e9c ; =func_02034b90 mov r0, #0x62 ldr r2, [r1, #0x24] ldr r3, [r1, #0x28] mov r1, #0 bx ip .align 2, 0 arm_func_end func_ov15_02145e7c _02145e98: .word data_027e0d78 _02145e9c: .word func_02034b90 .global func_ov15_02145ea0 arm_func_start func_ov15_02145ea0 func_ov15_02145ea0: ; 0x02145ea0 stmdb sp!, {r3, lr} ldr r1, _02145ecc ; =data_027e0fe0 mov r0, #0x15c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02145ed0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02145ea0 _02145ecc: .word data_027e0fe0 .global func_ov15_02145ed0 arm_func_start func_ov15_02145ed0 func_ov15_02145ed0: ; 0x02145ed0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _02145ef4 ; =data_ov15_0218b224 mov r1, #0 str r0, [r4] mov r0, r4 strb r1, [r4, #0x158] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02145ed0 _02145ef4: .word data_ov15_0218b224 .global func_ov15_02145ef8 arm_func_start func_ov15_02145ef8 func_ov15_02145ef8: ; 0x02145ef8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x158] cmp r0, #0 ldrne r0, _02145f24 ; =data_ov15_0218efdc movne r1, #0 strne r1, [r0, #0x420] mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02145ef8 _02145f24: .word data_ov15_0218efdc .global func_ov15_02145f28 arm_func_start func_ov15_02145f28 func_ov15_02145f28: ; 0x02145f28 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x158] cmp r0, #0 ldrne r0, _02145f5c ; =data_ov15_0218efdc movne r1, #0 strne r1, [r0, #0x420] mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02145f28 _02145f5c: .word data_ov15_0218efdc .global func_ov15_02145f60 arm_func_start func_ov15_02145f60 func_ov15_02145f60: ; 0x02145f60 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor8vfunc_08Ev ldr r0, _02145fcc ; =data_ov15_0218efdc ldr r2, [r4, #0x48] ldr lr, [r0, #0x420] ldr r3, _02145fd0 ; =data_ov15_0218effc add r1, lr, #1 str r2, [r3, lr, lsl #4] add ip, r3, lr, lsl #4 ldr r2, [r4, #0x4c] ldr r3, _02145fd4 ; =data_ov15_0218f008 str r2, [ip, #4] ldr r2, [r4, #0x50] mov lr, lr, lsl #0x4 str r2, [ip, #8] ldrh ip, [r4, #0x20] ldr r2, _02145fd8 ; =data_ov15_0218f00a cmp r1, #1 strh ip, [r3, lr] ldrh r3, [r4, #0x22] str r1, [r0, #0x420] moveq r0, #1 strh r3, [r2, lr] movne r0, #0 strb r0, [r4, #0x158] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02145f60 _02145fcc: .word data_ov15_0218efdc _02145fd0: .word data_ov15_0218effc _02145fd4: .word data_ov15_0218f008 _02145fd8: .word data_ov15_0218f00a .global func_ov15_02145fdc arm_func_start func_ov15_02145fdc func_ov15_02145fdc: ; 0x02145fdc bx lr arm_func_end func_ov15_02145fdc .global func_ov15_02145fe0 arm_func_start func_ov15_02145fe0 func_ov15_02145fe0: ; 0x02145fe0 stmdb sp!, {r3, lr} ldr r0, _02146004 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 ldreq r0, _02146008 ; =data_ov15_02186174 ldrne r0, _0214600c ; =data_ov15_0218617c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02145fe0 _02146004: .word data_027e0d38 _02146008: .word data_ov15_02186174 _0214600c: .word data_ov15_0218617c .global func_ov15_02146010 arm_func_start func_ov15_02146010 func_ov15_02146010: ; 0x02146010 stmdb sp!, {r3, lr} ldr r1, _0214603c ; =data_027e0fe0 mov r0, #0x15c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02146040 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02146010 _0214603c: .word data_027e0fe0 .global func_ov15_02146040 arm_func_start func_ov15_02146040 func_ov15_02146040: ; 0x02146040 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _02146068 ; =data_ov15_0218b32c mov r1, #0 str r0, [r4] strb r1, [r4, #0x158] mov r0, r4 strb r1, [r4, #0x159] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146040 _02146068: .word data_ov15_0218b32c .global func_ov15_0214606c arm_func_start func_ov15_0214606c func_ov15_0214606c: ; 0x0214606c stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x158] cmp r0, #0 ldrne r0, _02146098 ; =data_ov15_0218f400 movne r1, #0 strne r1, [r0, #0xe8] mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214606c _02146098: .word data_ov15_0218f400 .global func_ov15_0214609c arm_func_start func_ov15_0214609c func_ov15_0214609c: ; 0x0214609c stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x158] cmp r0, #0 ldrne r0, _021460d0 ; =data_ov15_0218f400 movne r1, #0 strne r1, [r0, #0xe8] mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214609c _021460d0: .word data_ov15_0218f400 .global func_ov15_021460d4 arm_func_start func_ov15_021460d4 func_ov15_021460d4: ; 0x021460d4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0214617c ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bne _02146100 bl func_ov15_0216c058 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02146100: mov r0, r4 bl _ZN5Actor8vfunc_08Ev ldr r1, _02146180 ; =data_ov15_0218f400 mov r0, #0x14 ldr r3, [r1, #0xe8] ldr r2, [r4, #0x48] mul r5, r3, r0 ldr ip, _02146184 ; =data_ov15_0218f420 add r0, r3, #1 str r2, [ip, r5] add r3, ip, r5 ldr r2, [r4, #0x4c] ldr ip, _02146188 ; =data_ov15_0218f42c str r2, [r3, #4] ldr r2, [r4, #0x50] cmp r0, #1 str r2, [r3, #8] ldrh lr, [r4, #0x20] ldr r3, _0214618c ; =data_ov15_0218f42e ldr r2, _02146190 ; =data_ov15_0218f430 strh lr, [ip, r5] ldrh ip, [r4, #0x22] strh ip, [r3, r5] ldrh r3, [r4, #0x24] str r0, [r1, #0xe8] strh r3, [r2, r5] moveq r0, #1 streqb r0, [r4, #0x158] movne r0, #0 strneb r0, [r4, #0x158] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021460d4 _0214617c: .word data_027e0d38 _02146180: .word data_ov15_0218f400 _02146184: .word data_ov15_0218f420 _02146188: .word data_ov15_0218f42c _0214618c: .word data_ov15_0218f42e _02146190: .word data_ov15_0218f430 .global func_ov15_02146194 arm_func_start func_ov15_02146194 func_ov15_02146194: ; 0x02146194 bx lr arm_func_end func_ov15_02146194 .global func_ov15_02146198 arm_func_start func_ov15_02146198 func_ov15_02146198: ; 0x02146198 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_02146198 .global func_ov15_021461ac arm_func_start func_ov15_021461ac func_ov15_021461ac: ; 0x021461ac bx lr arm_func_end func_ov15_021461ac .global func_ov15_021461b0 arm_func_start func_ov15_021461b0 func_ov15_021461b0: ; 0x021461b0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r1, #0x14 mul r4, r0, r1 cmp r0, #8 bge _02146214 ldr r5, _021462c0 ; =data_ov15_0218f430 ldr r0, _021462c4 ; =gItemManager ldrh r1, [r5, r4] ldr r0, [r0] add r1, r1, #0x60 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _021462c4 ; =gItemManager ldrh r1, [r5, r4] ldr r0, [r0] bl _ZNK11ItemManager18IsTreasureSalvagedEj cmp r0, #0 beq _02146244 add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02146214: ldr r2, _021462c0 ; =data_ov15_0218f430 ldr r0, _021462c8 ; =data_027e0fe4 ldrh r2, [r2, r4] ldr r3, [r0] sub r0, r1, #0x16 sub r1, r2, #0x20 add r1, r3, r1 ldrsb r1, [r1, #0xbc] cmp r1, r0 addle sp, sp, #0x18 movle r0, #0 ldmleia sp!, {r3, r4, r5, pc} _02146244: ldr r0, _021462cc ; =data_ov15_0218f42c add r5, sp, #0xc ldrh r3, [r0, r4] ldr r0, _021462d0 ; =data_027e0f94 ldr lr, _021462d4 ; =data_ov15_0218f420 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add r4, lr, r4 add ip, sp, #0 ldmia r4, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r1, [sp, #0xc] ldr r0, [sp] mov r2, #0x6000 cmp r3, #1 moveq r2, #0xc000 subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, r2 bge _021462b4 ldr r1, [sp, #0x14] ldr r0, [sp, #8] subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, r2 addlt sp, sp, #0x18 movlt r0, #1 ldmltia sp!, {r3, r4, r5, pc} _021462b4: mov r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021461b0 _021462c0: .word data_ov15_0218f430 _021462c4: .word gItemManager _021462c8: .word data_027e0fe4 _021462cc: .word data_ov15_0218f42c _021462d0: .word data_027e0f94 _021462d4: .word data_ov15_0218f420 .global func_ov15_021462d8 arm_func_start func_ov15_021462d8 func_ov15_021462d8: ; 0x021462d8 ldr r0, _02146300 ; =data_ov15_0218b2f8 ldr r2, [r0, #0x20] cmp r2, #0 movlt r0, #0 bxlt lr mov r0, #0x14 mul r1, r2, r0 ldr r0, _02146304 ; =data_ov15_0218f42c ldrh r0, [r0, r1] bx lr .align 2, 0 arm_func_end func_ov15_021462d8 _02146300: .word data_ov15_0218b2f8 _02146304: .word data_ov15_0218f42c .global func_ov15_02146308 arm_func_start func_ov15_02146308 func_ov15_02146308: ; 0x02146308 stmdb sp!, {r3, r4, r5, lr} mov r4, #0 mov r5, #1 bl func_ov15_021462d8 cmp r0, #0xf addls pc, pc, r0, lsl #2 b _021464b0 _02146324: ; jump table b _021464b0 ; case 0 b _02146364 ; case 1 b _0214639c ; case 2 b _021463b8 ; case 3 b _021463c8 ; case 4 b _021463d8 ; case 5 b _021463e8 ; case 6 b _021463fc ; case 7 b _02146410 ; case 8 b _02146424 ; case 9 b _02146438 ; case 10 b _0214644c ; case 11 b _02146460 ; case 12 b _02146474 ; case 13 b _02146488 ; case 14 b _02146498 ; case 15 _02146364: ldr r0, _021464ec ; =gAdventureFlags mov r1, #0x16 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0214638c ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, r4 str r1, [r0, #0xec] b _021464bc _0214638c: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x26 str r1, [r0, #0xec] b _021464bc _0214639c: add r0, sp, #0 blx func_ov09_0211c808 ldr r1, [sp] ldr r0, _021464f0 ; =data_ov15_0218f400 add r1, r1, #0x30 str r1, [r0, #0xec] b _021464bc _021463b8: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #9 str r1, [r0, #0xec] b _021464bc _021463c8: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x1a str r1, [r0, #0xec] b _021464bc _021463d8: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x1b str r1, [r0, #0xec] b _021464bc _021463e8: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, r5 b _021464bc _021463fc: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #2 b _021464bc _02146410: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #4 b _021464bc _02146424: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #8 b _021464bc _02146438: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #0x10 b _021464bc _0214644c: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #0x20 b _021464bc _02146460: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #0x40 b _021464bc _02146474: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #0x80 b _021464bc _02146488: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x78 str r1, [r0, #0xec] b _021464bc _02146498: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0x2b str r1, [r0, #0xec] mov r4, #0xff mov r5, #0 b _021464bc _021464b0: ldr r0, _021464f0 ; =data_ov15_0218f400 mov r1, #0 str r1, [r0, #0xec] _021464bc: ldr r0, _021464f0 ; =data_ov15_0218f400 ldr r0, [r0, #0xec] cmp r0, #0x2b ldmneia sp!, {r3, r4, r5, pc} cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _021464f4 ; =data_ov15_0218b31c ldr r2, _021464f8 ; =data_ov15_0218b320 mov r0, r4 mov r3, r5 blx func_ov09_0211c724 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02146308 _021464ec: .word gAdventureFlags _021464f0: .word data_ov15_0218f400 _021464f4: .word data_ov15_0218b31c _021464f8: .word data_ov15_0218b320 .global func_ov15_021464fc arm_func_start func_ov15_021464fc func_ov15_021464fc: ; 0x021464fc ldr r0, _02146508 ; =data_ov15_0218f400 ldr r0, [r0, #0xec] bx lr .align 2, 0 arm_func_end func_ov15_021464fc _02146508: .word data_ov15_0218f400 .global func_ov15_0214650c arm_func_start func_ov15_0214650c func_ov15_0214650c: ; 0x0214650c ldr r0, _02146518 ; =data_ov15_0218b2f8 ldr r0, [r0, #0x24] bx lr .align 2, 0 arm_func_end func_ov15_0214650c _02146518: .word data_ov15_0218b2f8 .global func_ov15_0214651c arm_func_start func_ov15_0214651c func_ov15_0214651c: ; 0x0214651c ldr r0, _02146528 ; =data_ov15_0218b2f8 ldr r0, [r0, #0x28] bx lr .align 2, 0 arm_func_end func_ov15_0214651c _02146528: .word data_ov15_0218b2f8 .global func_ov15_0214652c arm_func_start func_ov15_0214652c func_ov15_0214652c: ; 0x0214652c ldr r0, _02146554 ; =data_ov15_0218b2f8 ldr r2, [r0, #0x20] cmp r2, #0 movlt r0, #0 bxlt lr mov r0, #0x14 mul r1, r2, r0 ldr r0, _02146558 ; =data_ov15_0218f42e ldrh r0, [r0, r1] bx lr .align 2, 0 arm_func_end func_ov15_0214652c _02146554: .word data_ov15_0218b2f8 _02146558: .word data_ov15_0218f42e .global func_ov15_0214655c arm_func_start func_ov15_0214655c func_ov15_0214655c: ; 0x0214655c stmdb sp!, {r3, lr} ldr r0, _02146574 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082424 rsb r0, r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214655c _02146574: .word data_027e0e60 .global func_ov15_02146578 arm_func_start func_ov15_02146578 func_ov15_02146578: ; 0x02146578 ldr r1, _02146594 ; =data_ov15_0218b2f8 mov r0, #0x14 ldr r2, [r1, #0x20] ldr r1, _02146598 ; =data_ov15_0218f430 mul r0, r2, r0 ldrh r0, [r1, r0] bx lr .align 2, 0 arm_func_end func_ov15_02146578 _02146594: .word data_ov15_0218b2f8 _02146598: .word data_ov15_0218f430 .global func_ov15_0214659c arm_func_start func_ov15_0214659c func_ov15_0214659c: ; 0x0214659c stmdb sp!, {r3, r4, r5, lr} ldr r4, _021465e0 ; =data_ov15_0218f400 mov r5, #0 ldr r0, [r4, #0xe8] cmp r0, #0 ldmleia sp!, {r3, r4, r5, pc} _021465b4: mov r0, r5 bl func_ov15_021461b0 cmp r0, #1 ldreq r0, _021465e4 ; =data_ov15_0218b2f8 streq r5, [r0, #0x20] ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0xe8] add r5, r5, #1 cmp r5, r0 blt _021465b4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214659c _021465e0: .word data_ov15_0218f400 _021465e4: .word data_ov15_0218b2f8 .global func_ov15_021465e8 arm_func_start func_ov15_021465e8 func_ov15_021465e8: ; 0x021465e8 ldr r1, _0214660c ; =data_ov15_0218b2f8 mvn r2, #0 str r2, [r1, #0x20] str r2, [r1, #0x24] ldr r0, _02146610 ; =data_ov15_0218f400 str r2, [r1, #0x28] mov r1, #0 str r1, [r0, #0xec] bx lr .align 2, 0 arm_func_end func_ov15_021465e8 _0214660c: .word data_ov15_0218b2f8 _02146610: .word data_ov15_0218f400 .global func_ov15_02146614 arm_func_start func_ov15_02146614 func_ov15_02146614: ; 0x02146614 stmdb sp!, {r3, lr} ldr r1, _02146640 ; =data_027e0fe0 mov r0, #0x1b8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02146644 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02146614 _02146640: .word data_027e0fe0 .global func_ov15_02146644 arm_func_start func_ov15_02146644 func_ov15_02146644: ; 0x02146644 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _02146688 ; =data_ov15_0218b400 ldr r0, _0214668c ; =data_027e0fec str r1, [r4] ldr r0, [r0] add r0, r0, #0x348 add r0, r0, #0x1c00 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x158 blx func_ov00_020a9588 mov r1, #0 mov r0, r4 str r1, [r4, #0x1b4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146644 _02146688: .word data_ov15_0218b400 _0214668c: .word data_027e0fec .global func_ov15_02146690 arm_func_start func_ov15_02146690 func_ov15_02146690: ; 0x02146690 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02146690 .global func_ov15_021466b0 arm_func_start func_ov15_021466b0 func_ov15_021466b0: ; 0x021466b0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021466b0 .global func_ov15_021466d8 arm_func_start func_ov15_021466d8 func_ov15_021466d8: ; 0x021466d8 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor8vfunc_08Ev ldr r0, [r4, #0x4c] mov r1, #0 sub r0, r0, #0x400 str r0, [r4, #0x4c] ldr r2, _02146728 ; =0x00000333 str r1, [r4, #0x7c] str r2, [r4, #0x80] str r1, [r4, #0x84] str r2, [r4, #0x88] str r1, [r4, #0x8c] str r2, [r4, #0x90] str r1, [r4, #0x94] mov r0, r4 str r2, [r4, #0x98] bl func_ov15_021468b8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021466d8 _02146728: .word 0x00000333 .global func_ov15_0214672c arm_func_start func_ov15_0214672c func_ov15_0214672c: ; 0x0214672c ldr ip, _02146748 ; =func_ov00_020ceacc mov r2, r0 ldr r0, _0214674c ; =data_027e0ffc ldr r1, _02146750 ; =0x000003d5 add r2, r2, #0x48 mov r3, #0 bx ip .align 2, 0 arm_func_end func_ov15_0214672c _02146748: .word func_ov00_020ceacc _0214674c: .word data_027e0ffc _02146750: .word 0x000003d5 .global func_ov15_02146754 arm_func_start func_ov15_02146754 func_ov15_02146754: ; 0x02146754 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 moveq r0, #0 streq r0, [r4, #0x1b4] mov r0, r4 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x48] str r0, [r4, #0x54] ldr r0, [r4, #0x4c] str r0, [r4, #0x58] ldr r0, [r4, #0x50] str r0, [r4, #0x5c] ldr r0, [r4, #0x130] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02146880 _021467a0: ; jump table b _021467b0 ; case 0 b _021467e8 ; case 1 b _02146860 ; case 2 b _02146880 ; case 3 _021467b0: ldr r0, _02146894 ; =data_027e10a4 ldr r0, [r0] ldrb r0, [r0, #0x350] cmp r0, #0 beq _02146880 mov r0, r4 mov r1, #2 bl func_ov15_021468b8 ldr r0, _02146898 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x3d4 mov r3, #0 bl func_ov00_020ceacc b _02146880 _021467e8: ldr r0, _02146894 ; =data_027e10a4 ldr r0, [r0] ldrb r0, [r0, #0x350] cmp r0, #0 beq _0214680c mov r0, r4 mov r1, #2 bl func_ov15_021468b8 b _02146880 _0214680c: ldr r1, [r4, #0x64] ldr r0, _0214689c ; =0xfffffee1 cmp r1, r0 subgt r0, r1, #0x1d str r0, [r4, #0x64] ldr r1, [r4, #0x4c] ldr r0, [r4, #0x64] add r0, r1, r0 str r0, [r4, #0x4c] bl func_ov15_0214655c ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 bge _02146880 bl func_ov15_0214655c rsb r2, r0, #0 mov r0, r4 mov r1, #0 str r2, [r4, #0x4c] bl func_ov15_021468b8 b _02146880 _02146860: ldr r0, _02146894 ; =data_027e10a4 ldr r0, [r0] ldrb r0, [r0, #0x350] cmp r0, #0 bne _02146880 mov r0, r4 mov r1, #1 bl func_ov15_021468b8 _02146880: ldr r0, _021468a0 ; =data_027e0ff4 mov r1, r4 ldr r0, [r0] bl func_ov05_0210d3d8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146754 _02146894: .word data_027e10a4 _02146898: .word data_027e0ffc _0214689c: .word 0xfffffee1 _021468a0: .word data_027e0ff4 .global func_ov15_021468a4 arm_func_start func_ov15_021468a4 func_ov15_021468a4: ; 0x021468a4 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_021468a4 .global func_ov15_021468b8 arm_func_start func_ov15_021468b8 func_ov15_021468b8: ; 0x021468b8 str r1, [r0, #0x130] cmp r1, #3 addls pc, pc, r1, lsl #2 b _021468f0 _021468c8: ; jump table b _021468d8 ; case 0 b _021468e4 ; case 1 b _021468f0 ; case 2 b _021468f0 ; case 3 _021468d8: mov r1, #0 str r1, [r0, #0x64] b _021468f0 _021468e4: mov r1, #0 str r1, [r0, #0x1b4] str r1, [r0, #0x64] _021468f0: mov r0, #1 bx lr arm_func_end func_ov15_021468b8 .global func_ov15_021468f8 arm_func_start func_ov15_021468f8 func_ov15_021468f8: ; 0x021468f8 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} ldr r0, [r4, #0x1b4] tst r0, #1 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x130] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02146958 _0214693c: ; jump table b _02146958 ; case 0 b _02146958 ; case 1 b _0214694c ; case 2 b _0214694c ; case 3 _0214694c: mov r0, r4 bl func_ov15_02146ac4 b _02146960 _02146958: mov r0, r4 bl func_ov15_021469f8 _02146960: ldr r0, _021469ec ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082424 ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x2000 addgt sp, sp, #0x18 ldmgtia sp!, {r4, pc} ldr r0, _021469ec ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082424 ldr r1, [r4, #0x4c] sub r0, r1, r0 mov r1, r0, lsl #0x5 mov r0, r1, asr #0xc add r0, r1, r0, lsr #19 mov r0, r0, asr #0xd rsbs r1, r0, #0x1f addmi sp, sp, #0x18 ldmmiia sp!, {r4, pc} ldr r3, _021469f0 ; =0x00000333 cmp r1, #0x20 movge r1, #0x1f mov r0, #0 str r3, [sp] stmib sp, {r0, r1} mov r1, #1 str r1, [sp, #0xc] str r1, [sp, #0x10] ldr r0, _021469f4 ; =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_ov15_021468f8 _021469ec: .word data_027e0e60 _021469f0: .word 0x00000333 _021469f4: .word data_ov00_020e9370 .global func_ov15_021469f8 arm_func_start func_ov15_021469f8 func_ov15_021469f8: ; 0x021469f8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x3c mov r5, r0 ldrh r0, [r5, #0x78] mov r4, r1 ldr r2, _02146abc ; =data_02050f54 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0x18 blx func_01ff8214 add r0, r5, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} cmp r4, #0 beq _02146a6c ldr r0, _02146ac0 ; =data_ov15_0218b3e0 ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp] str r1, [sp, #4] ldr r0, [r0, #8] str r0, [sp, #8] b _02146a98 _02146a6c: ldr r1, _02146ac0 ; =data_ov15_0218b3e0 ldr r0, [sp, #0x10] ldr r3, [r1, #0xc] ldr r2, [r1, #0x10] str r3, [sp] str r2, [sp, #4] add r0, r0, #0x99 ldr r1, [r1, #0x14] add r0, r0, #0x100 str r1, [sp, #8] str r0, [sp, #0x10] _02146a98: add r0, r5, #0x158 ldr r4, [r0] add r1, sp, #0 ldr r4, [r4, #0x10] add r2, sp, #0x18 add r3, sp, #0xc blx r4 add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021469f8 _02146abc: .word data_02050f54 _02146ac0: .word data_ov15_0218b3e0 .global func_ov15_02146ac4 arm_func_start func_ov15_02146ac4 func_ov15_02146ac4: ; 0x02146ac4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x78 mov r6, r0 ldrh r0, [r6, #0x78] mov r5, r1 ldr r2, _02146c64 ; =data_02050f54 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0x54 blx func_01ff8214 ldr r0, _02146c68 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02142c68 rsb r0, r0, #0 mov r0, r0, lsl #0x10 movs r4, r0, asr #0x10 beq _02146b5c mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _02146c64 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0x30 blx func_01ff8230 add r1, sp, #0x54 add r0, sp, #0x30 mov r2, r1 bl func_01ff8690 _02146b5c: mov r2, #0 str r2, [sp, #0x24] str r2, [sp, #0x28] str r2, [sp, #0x2c] cmp r5, #0 beq _02146bf0 ldr r0, _02146c6c ; =data_ov15_0218b3e0 sub r2, r2, #0x66 ldr r1, [r0, #4] ldr r3, [r0] str r1, [sp, #0x1c] str r3, [sp, #0x18] ldr r3, [r0, #8] sub r2, r2, #0x600 add r0, sp, #0x24 mov r1, r4 str r3, [sp, #0x20] str r2, [sp, #0x28] bl func_ov00_020a6250 ldrsh r1, [r6, #0x78] add r0, sp, #0x24 bl func_ov00_020a61ac ldr r1, [sp, #0x28] add r0, sp, #0x24 add r1, r1, #0x66 add r1, r1, #0x600 str r1, [sp, #0x28] ldr r2, [r6, #0x48] add r1, sp, #0xc str r2, [sp, #0xc] ldr r3, [r6, #0x4c] mov r2, r0 str r3, [sp, #0x10] ldr r3, [r6, #0x50] str r3, [sp, #0x14] bl func_01ff9bc4 b _02146c40 _02146bf0: ldr r1, _02146c6c ; =data_ov15_0218b3e0 add r0, r2, #0x99 ldr r3, [r1, #0xc] ldr r2, [r1, #0x10] str r3, [sp, #0x18] str r2, [sp, #0x1c] ldr r1, [r1, #0x14] add r0, r0, #0x100 str r0, [sp, #0x28] str r1, [sp, #0x20] ldr r1, [r6, #0x48] add r0, sp, #0x24 str r1, [sp] ldr r2, [r6, #0x4c] add r1, sp, #0 str r2, [sp, #4] ldr r3, [r6, #0x50] mov r2, r0 str r3, [sp, #8] bl func_01ff9bc4 _02146c40: add r0, r6, #0x158 ldr r4, [r0] add r1, sp, #0x18 ldr r4, [r4, #0x10] add r2, sp, #0x54 add r3, sp, #0x24 blx r4 add sp, sp, #0x78 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02146ac4 _02146c64: .word data_02050f54 _02146c68: .word data_027e10a4 _02146c6c: .word data_ov15_0218b3e0 .global func_ov15_02146c70 arm_func_start func_ov15_02146c70 func_ov15_02146c70: ; 0x02146c70 stmdb sp!, {r3, lr} sub sp, sp, #8 mov r2, #0 str r2, [sp] ldr r1, _02146ca8 ; =data_027e0e58 mov r3, r0 str r2, [sp, #4] ldr r0, [r1] ldr r1, _02146cac ; =0x00001009 add r2, r3, #0x48 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02146c70 _02146ca8: .word data_027e0e58 _02146cac: .word 0x00001009 .global func_ov15_02146cb0 arm_func_start func_ov15_02146cb0 func_ov15_02146cb0: ; 0x02146cb0 stmdb sp!, {r4, lr} ldr r1, _02146ce4 ; =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_ov15_02146ce8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146cb0 _02146ce4: .word data_027e0f84 .global func_ov15_02146ce8 arm_func_start func_ov15_02146ce8 func_ov15_02146ce8: ; 0x02146ce8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc mov r1, #0 ldr ip, _02146d18 ; =data_ov15_0218b4bc mov r2, r1 mov r3, r1 add r0, r4, #0x38 str ip, [r4] blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146ce8 _02146d18: .word data_ov15_0218b4bc .global func_ov15_02146d1c arm_func_start func_ov15_02146d1c func_ov15_02146d1c: ; 0x02146d1c 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_ov15_02146d1c .global func_ov15_02146d3c arm_func_start func_ov15_02146d3c func_ov15_02146d3c: ; 0x02146d3c 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_ov15_02146d3c .global func_ov15_02146d64 arm_func_start func_ov15_02146d64 func_ov15_02146d64: ; 0x02146d64 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x24] mov r2, #1 cmp r0, #3 movgt r2, #0 cmp r0, #0xb addls pc, pc, r0, lsl #2 b _02146e00 _02146d88: ; jump table b _02146e00 ; case 0 b _02146db8 ; case 1 b _02146ddc ; case 2 b _02146dec ; case 3 b _02146e00 ; case 4 b _02146db8 ; case 5 b _02146ddc ; case 6 b _02146dec ; case 7 b _02146df8 ; case 8 b _02146df8 ; case 9 b _02146df8 ; case 10 b _02146df8 ; case 11 _02146db8: mov r0, #0x4000 strh r0, [r4, #0xc] ldr r0, [r4, #0x18] add r0, r0, #0x800 str r0, [r4, #0x18] ldr r0, [r4, #0x20] add r0, r0, #0x800 str r0, [r4, #0x20] b _02146e20 _02146ddc: mov r0, #0x2000 rsb r0, r0, #0 strh r0, [r4, #0xc] b _02146e20 _02146dec: mov r0, #0x2000 strh r0, [r4, #0xc] b _02146e20 _02146df8: mov r2, #2 b _02146e20 _02146e00: ldr r1, [r4, #0x18] mov r0, #0 add r1, r1, #0x800 str r1, [r4, #0x18] ldr r1, [r4, #0x20] add r1, r1, #0x800 str r1, [r4, #0x20] strh r0, [r4, #0xc] _02146e20: ldr r0, _02146e48 ; =data_027e0f68 mov r1, #0x31 ldr r0, [r0] bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x38 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146d64 _02146e48: .word data_027e0f68 .global func_ov15_02146e4c arm_func_start func_ov15_02146e4c func_ov15_02146e4c: ; 0x02146e4c stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x18 bl func_ov15_0212b30c str r0, [r4, #0x1c] ldmia sp!, {r4, pc} arm_func_end func_ov15_02146e4c .global func_ov15_02146e78 arm_func_start func_ov15_02146e78 func_ov15_02146e78: ; 0x02146e78 mov r0, #0x16 bx lr arm_func_end func_ov15_02146e78 .global func_ov15_02146e80 arm_func_start func_ov15_02146e80 func_ov15_02146e80: ; 0x02146e80 mov r0, #1 bx lr arm_func_end func_ov15_02146e80 .global func_ov15_02146e88 arm_func_start func_ov15_02146e88 func_ov15_02146e88: ; 0x02146e88 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x88] blx r2 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0xc] ldr r3, _02146ef8 ; =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, r4, #0x18 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02146e88 _02146ef8: .word data_02050f54 .global func_ov15_02146efc arm_func_start func_ov15_02146efc func_ov15_02146efc: ; 0x02146efc stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _02146f48 ; =data_027e0f94 add r1, sp, #0 ldr ip, [r2] ldr r3, [r2, #4] str ip, [sp] str r3, [sp, #4] ldr r2, [r2, #8] str r2, [sp, #8] ldr r2, [r0, #0x1c] add r0, r0, #0x18 str r2, [sp, #4] bl func_01ff9ec0 cmp r0, #0x30000 movle r0, #1 movgt r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_02146efc _02146f48: .word data_027e0f94 .global func_ov15_02146f4c arm_func_start func_ov15_02146f4c func_ov15_02146f4c: ; 0x02146f4c stmdb sp!, {r3, lr} ldr r1, _02146f78 ; =data_027e0fe0 mov r0, #0x440 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02147078 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02146f4c _02146f78: .word data_027e0fe0 .global func_ov15_02146f7c arm_func_start func_ov15_02146f7c func_ov15_02146f7c: ; 0x02146f7c stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r0, _02146fa4 ; =data_ov15_0218b6a4 mvn r1, #0 str r0, [r4] mov r0, r4 str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02146f7c _02146fa4: .word data_ov15_0218b6a4 .global func_ov15_02146fa8 arm_func_start func_ov15_02146fa8 func_ov15_02146fa8: ; 0x02146fa8 ldr ip, _02146fb8 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_02146fa8 _02146fb8: .word func_ov00_020a9998 .global func_ov15_02146fbc arm_func_start func_ov15_02146fbc func_ov15_02146fbc: ; 0x02146fbc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 ldr r2, [r1, #8] mov r4, r0 tst r2, #0x10 ldrneb r5, [r1, #0xae] ldr r2, [r4, #0x68] mvn r0, #0 mvneq r5, #0 cmp r2, r0 bne _02147000 ldr r0, [r1, #4] ldr r1, _02147074 ; =data_ov15_02186184 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0x68] _02147000: ldr r0, [r4, #0x68] cmp r5, r0 addne sp, sp, #0x30 ldmneia sp!, {r3, r4, r5, pc} add r0, r4, #0x6c add r1, r4, #0x9c bl func_0201b1bc bl func_02018450 add lr, sp, #0 mov r5, r0 mov ip, lr ldmia r5!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} ldmia r5!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} ldmia r5, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} mov r1, ip ldr ip, [r4, #0x98] ldr r3, [r4, #0x94] ldr r2, [r4, #0x90] add r0, r4, #0x5c str r2, [r4, #0x5c] str r3, [r4, #0x60] mov r2, r0 str ip, [r4, #0x64] bl func_01ff9158 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02146fbc _02147074: .word data_ov15_02186184 .global func_ov15_02147078 arm_func_start func_ov15_02147078 func_ov15_02147078: ; 0x02147078 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr ip, _0214718c ; =data_ov15_0218b5b8 mov r1, r4 add r0, r4, #0x184 add r2, r4, #0x1a4 add r3, r4, #0x264 str ip, [r4] bl func_ov00_020c5c2c ldr r1, _02147190 ; =data_ov15_0218b680 add r0, r4, #0x1a4 str r1, [r4, #0x184] bl func_ov15_02146f7c add r0, r4, #0x264 add r1, r4, #0x288 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _02147194 ; =data_ov15_02189ac0 add r0, r4, #0x2b0 str r1, [r4, #0x264] mov r1, r4 add r2, r4, #0x2d0 add r3, r4, #0x390 bl func_ov00_020c5c2c ldr r1, _02147190 ; =data_ov15_0218b680 add r0, r4, #0x2d0 str r1, [r4, #0x2b0] bl func_ov15_02146f7c add r0, r4, #0x390 add r1, r4, #0x3b4 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _02147194 ; =data_ov15_02189ac0 ldr r0, _02147198 ; =func_ov00_020b7d74 str r1, [r4, #0x390] str r0, [sp] add r0, r4, #0x3e8 mov r1, #2 mov r2, #4 ldr r3, _0214719c ; =func_ov15_021341a0 bl func_0204f614 mov r1, #0 str r1, [r4, #0x3fc] str r1, [r4, #0x400] str r1, [r4, #0x404] str r1, [r4, #0x408] mov r0, #0x1000 str r0, [r4, #0x410] str r1, [r4, #0x41c] str r1, [r4, #0x420] str r1, [r4, #0x424] str r1, [r4, #0x428] str r1, [r4, #0x42c] str r1, [r4, #0x430] add r0, r4, #0x400 strh r1, [r0, #0x34] strh r1, [r0, #0x36] strb r1, [r4, #0x438] strb r1, [r4, #0x439] strb r1, [r4, #0x43a] strb r1, [r4, #0x43b] strb r1, [r4, #0x43c] mov r0, r4 strb r1, [r4, #0x43d] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02147078 _0214718c: .word data_ov15_0218b5b8 _02147190: .word data_ov15_0218b680 _02147194: .word data_ov15_02189ac0 _02147198: .word func_ov00_020b7d74 _0214719c: .word func_ov15_021341a0 .global func_ov15_021471a0 arm_func_start func_ov15_021471a0 func_ov15_021471a0: ; 0x021471a0 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021471a0 .global func_ov15_021471b4 arm_func_start func_ov15_021471b4 func_ov15_021471b4: ; 0x021471b4 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02147200 ; =func_ov00_020b7d74 add r0, r4, #0x3e8 mov r1, #2 mov r2, #4 bl func_0204f754 add r0, r4, #0x390 blx func_ov00_020a9acc add r0, r4, #0x2d0 blx func_ov00_020a95ec add r0, r4, #0x264 blx func_ov00_020a9acc add r0, r4, #0x1a4 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021471b4 _02147200: .word func_ov00_020b7d74 .global func_ov15_02147204 arm_func_start func_ov15_02147204 func_ov15_02147204: ; 0x02147204 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02147258 ; =func_ov00_020b7d74 add r0, r4, #0x3e8 mov r1, #2 mov r2, #4 bl func_0204f754 add r0, r4, #0x390 blx func_ov00_020a9acc add r0, r4, #0x2d0 blx func_ov00_020a95ec add r0, r4, #0x264 blx func_ov00_020a9acc add r0, r4, #0x1a4 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02147204 _02147258: .word func_ov00_020b7d74 .global func_ov15_0214725c arm_func_start func_ov15_0214725c func_ov15_0214725c: ; 0x0214725c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r4, r0 ldrh r0, [r4, #0x20] cmp r0, #0xff addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r2, #0 strb r2, [r4, #0x181] ldr r0, [r4, #0x48] str r0, [r4, #0x3dc] ldr r0, [r4, #0x4c] str r0, [r4, #0x3e0] ldr r0, [r4, #0x50] str r0, [r4, #0x3e4] ldrh r1, [r4, #0x20] sub r0, r1, #2 str r1, [r4, #0x41c] cmp r0, #1 bhi _021472c0 ldrh r0, [r4, #0x22] cmp r0, #0 movne r2, #1 b _021472c0 _021472c0: ldr r0, _0214753c ; =gItemManager strb r2, [r4, #0x43d] ldr r1, [r4, #0x41c] ldr r0, [r0] blx _ZNK11ItemManager10GetUnk_098Ej cmp r0, #3 blt _02147358 ldr r2, _02147540 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r5} umull ip, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds ip, r5, ip adc r6, r0, r6 mov r0, #3 umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 str ip, [r2] str r6, [r2, #4] ldr r2, [r4, #0x41c] ldr r1, _02147544 ; =data_ov15_021861c0 ldr r0, _02147548 ; =data_ov15_021861c4 ldr r1, [r1, r2, lsl #4] ldr r6, [r0, r2, lsl #4] ldr r2, _0214754c ; =0x66666667 sub r0, r6, r1 mul r3, r0, r5 smull r0, r5, r2, r3 mov r0, r3, lsr #0x1f add r5, r0, r5, asr #2 sub r0, r6, r5 b _02147378 _02147358: ldr r2, [r4, #0x41c] ldr r1, _02147544 ; =data_ov15_021861c0 ldr r0, _02147548 ; =data_ov15_021861c4 ldr r1, [r1, r2, lsl #4] ldr r0, [r0, r2, lsl #4] add r0, r0, r1 add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 _02147378: sub r0, r0, r1 add r0, r0, #1 cmp r0, #0 movle r6, #0 ble _021473d8 ldr r2, _02147540 ; =data_027e0764 ldr r5, [r2] ldmib r2, {r3, r6} umull lr, ip, r6, r5 mla ip, r6, r3, ip ldr r3, [r2, #0xc] ldr r6, [r2, #0x10] mla ip, r3, r5, ip ldr r3, [r2, #0x14] adds r5, r6, lr adc r6, r3, ip stmia r2, {r5, r6} cmp r0, #0 beq _021473d8 mov r5, #0 umull r3, r2, r6, r0 mla r2, r6, r5, r2 mla r2, r5, r0, r2 mov r6, r2 _021473d8: add r0, r1, r6 str r0, [r4, #0x420] ldr r2, [r4, #0x41c] ldr r1, _02147550 ; =data_ov15_021861bc ldr r0, _02147544 ; =data_ov15_021861c0 ldr r1, [r1, r2, lsl #4] str r1, [r4, #0x430] ldr r1, [r4, #0x41c] ldr r2, [r4, #0x420] ldr r1, [r0, r1, lsl #4] mov r0, r2, lsl #0xc bl func_02002c14 str r0, [r4, #0x410] mov r6, #0 ldr r1, _02147554 ; =data_027e0d0c str r6, [r4, #0x3fc] ldr r0, [r1] mov r5, #0x1000 str r0, [r4, #0x7c] ldr r0, [r1, #4] ldr r3, _02147558 ; =data_ov15_021861c8 str r0, [r4, #0x80] ldr r0, [r1, #8] ldr r2, _0214755c ; =data_ov15_02186194 str r0, [r4, #0x84] str r6, [r4, #0x88] ldr r6, [r4, #0x7c] add r0, r4, #0x184 str r6, [r4, #0x8c] ldr r6, [r4, #0x80] str r6, [r4, #0x90] ldr r6, [r4, #0x84] str r6, [r4, #0x94] ldr r6, [r4, #0x88] str r6, [r4, #0x98] ldr r6, [r1] str r6, [r4, #0xa8] ldr r6, [r1, #4] str r6, [r4, #0xac] ldr r1, [r1, #8] str r1, [r4, #0xb0] str r5, [r4, #0xb4] ldr r1, [r4, #0x41c] ldr r1, [r3, r1, lsl #4] bl func_ov00_020c5c98 add r0, r4, #0x184 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x194] mov r1, r5 str r1, [r0, #0x10] ldrb r0, [r4, #0x43d] cmp r0, #0 beq _021474e0 add r0, r4, #0x1a4 bl func_ov15_02146fa8 ldr r2, _0214755c ; =data_ov15_02186194 add r0, r4, #0x2b0 mov r1, #0x9e bl func_ov00_020c5c98 add r0, r4, #0x2b0 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x2c0] mov r1, r5 str r1, [r0, #0x10] _021474e0: ldr r5, _02147554 ; =data_027e0d0c mov r2, #0x1000 ldr r1, [r5] add r0, r4, #0x400 str r1, [r4, #0x60] ldr r1, [r5, #4] mov lr, #2 str r1, [r4, #0x64] ldr r1, [r5, #8] ldr ip, _02147560 ; =data_027e0e58 str r1, [r4, #0x68] ldrsh r6, [r4, #0x78] add r1, r4, #0x3e8 add r3, r2, #1 strh r6, [r0, #0x36] stmia sp, {r5, lr} ldr r0, [ip] bl func_ov00_0207c2e8 mov r0, #0 str r0, [r4, #0x3f0] mov r0, #1 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0214725c _0214753c: .word gItemManager _02147540: .word data_027e0764 _02147544: .word data_ov15_021861c0 _02147548: .word data_ov15_021861c4 _0214754c: .word 0x66666667 _02147550: .word data_ov15_021861bc _02147554: .word data_027e0d0c _02147558: .word data_ov15_021861c8 _0214755c: .word data_ov15_02186194 _02147560: .word data_027e0e58 .global func_ov15_02147564 arm_func_start func_ov15_02147564 func_ov15_02147564: ; 0x02147564 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021475d8 ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl func_ov15_021486a0 ldr r0, _021475ec ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x4d0] cmp r0, #1 moveq r0, #1 movne r0, #0 cmp r0, #0 bne _021475c4 add r0, r5, #0x184 bl func_ov00_020c5e20 _021475c4: ldrb r0, [r5, #0x43d] cmp r0, #0 beq _021475d8 add r0, r5, #0x2b0 bl func_ov00_020c5e20 _021475d8: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02147564 _021475ec: .word data_027e10a4 .global func_ov15_021475f0 arm_func_start func_ov15_021475f0 func_ov15_021475f0: ; 0x021475f0 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_021475f0 .global func_ov15_02147604 arm_func_start func_ov15_02147604 func_ov15_02147604: ; 0x02147604 ldrb r2, [r0, #0x438] cmp r2, #1 ldreq r2, [r0, #0x408] addeq r1, r2, r1 streq r1, [r0, #0x408] bx lr arm_func_end func_ov15_02147604 .global func_ov15_0214761c arm_func_start func_ov15_0214761c func_ov15_0214761c: ; 0x0214761c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1c ldr r1, _02147bb0 ; =data_027e10a4 mov r4, r0 ldr r1, [r1] add r0, sp, #0x10 ldr r5, [r1, #0x3c8] bl func_ov15_02147bb8 ldr r1, [r4, #0x50] ldr r0, [r4, #0x3e4] cmp r1, r0 ble _02147660 ldr r1, [sp, #0x18] ldr r0, [r4, #0x3f0] add r0, r1, r0 str r0, [sp, #0x18] b _02147670 _02147660: ldr r1, [sp, #0x18] ldr r0, [r4, #0x3f0] sub r0, r1, r0 str r0, [sp, #0x18] _02147670: ldr r1, [r4, #0x48] add r0, sp, #0x10 str r1, [sp, #4] ldr r2, [r4, #0x4c] add r1, sp, #4 str r2, [sp, #8] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0xc] bl func_01ff9bf8 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 ldrb r1, [r4, #0x439] mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 cmp r1, #0 beq _021476d0 cmp r1, #1 beq _02147858 cmp r1, #2 beq _0214792c add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021476d0: ldr r10, _02147bb4 ; =data_027e0764 mov r1, #0 ldr r0, [r10, #8] ldr r3, [r10] ldr r2, [r10, #4] umull r9, r8, r0, r3 mla r8, r0, r2, r8 ldr r2, [r10, #0xc] ldr r7, [r10, #0x10] mla r8, r2, r3, r8 adds r9, r7, r9 ldr r3, [r10, #0x14] umull ip, r11, r0, r9 adc r8, r3, r8 str r9, [r10] mla r11, r0, r8, r11 str r8, [r10, #4] tst r8, #0x80000000 beq _0214775c mla r11, r2, r9, r11 adds r0, r7, ip adc r3, r3, r11 mov r1, r1, lsl #0x2 orr r1, r1, r3, lsr #30 mov r1, r1, lsl #0x8 add r1, r1, #0x400 smull r2, r1, r5, r1 stmia r10, {r0, r3} adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc ldr r2, [r4, #0x3e4] orr r1, r1, r0, lsl #20 add r0, r2, r1 b _02147798 _0214775c: mla r11, r2, r9, r11 adds r0, r7, ip adc r3, r3, r11 mov r1, r1, lsl #0x2 orr r1, r1, r3, lsr #30 mov r1, r1, lsl #0x8 add r1, r1, #0x400 smull r2, r1, r5, r1 stmia r10, {r0, r3} adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc ldr r2, [r4, #0x3e4] orr r1, r1, r0, lsl #20 sub r0, r2, r1 _02147798: str r0, [r4, #0x50] mov r1, #0 str r1, [r4, #0x3fc] strh r6, [r4, #0x78] mov r0, #1 ldr r3, _02147bb4 ; =data_027e0764 strb r0, [r4, #0x439] ldr r2, [r3] ldmib r3, {r0, r5} umull r7, r6, r5, r2 mla r6, r5, r0, r6 ldr r0, [r3, #0xc] ldr r8, [r3, #0x10] mla r6, r0, r2, r6 ldr r5, [r3, #0x14] adds r7, r8, r7 adc r6, r5, r6 mov r2, #0x1f umull r0, r5, r6, r2 str r7, [r3] mla r5, r6, r1, r5 mov r0, r1 mla r5, r0, r2, r5 str r6, [r3, #4] add r2, r5, #0x3c str r2, [r4, #0x424] str r1, [r4, #0x428] ldr r5, [r3] ldmib r3, {r2, r6} umull r8, r7, r6, r5 mla r7, r6, r2, r7 ldr r2, [r3, #0xc] ldr r9, [r3, #0x10] mla r7, r2, r5, r7 ldr r6, [r3, #0x14] adds r8, r9, r8 adc r7, r6, r7 mov r2, #5 umull r5, r6, r7, r2 mla r6, r7, r1, r6 mla r6, r0, r2, r6 str r8, [r3] sub r0, r6, #2 str r7, [r3, #4] mov r0, r0, lsl #0xb add sp, sp, #0x1c str r0, [r4, #0x3f4] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02147858: mov r2, #0x100 add r0, r4, #0x3fc mov r1, #0 mov r3, #0x10 str r2, [sp] bl func_0202b418 add r0, r4, #0x400 ldr r1, _02147bb0 ; =data_027e10a4 strh r6, [r0, #0x36] ldr r0, [r1] bl func_ov15_021529f8 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [r4, #0x424] cmp r0, #0 beq _021478c8 ldr r0, _02147bb0 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_021529d8 cmp r0, #0 bne _021478c8 ldr r0, _02147bb0 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_021529f0 cmp r0, #0x1e addlt sp, sp, #0x1c ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021478c8: mov r0, #2 ldr r2, _02147bb4 ; =data_027e0764 strb r0, [r4, #0x439] ldr r1, [r2] ldmib r2, {r0, r3} umull r6, r5, r3, r1 mla r5, r3, r0, r5 ldr r0, [r2, #0xc] ldr r3, [r2, #0x10] mla r5, r0, r1, r5 ldr r0, [r2, #0x14] adds r1, r3, r6 adc r6, r0, r5 str r1, [r2] mov r0, #5 mov r1, #0 umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 sub r0, r5, #2 str r6, [r2, #4] mov r0, r0, lsl #0xb add sp, sp, #0x1c str r0, [r4, #0x3f4] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0214792c: mov r0, #0 str r0, [r4, #0x3f0] add r0, r4, #0x400 strh r6, [r0, #0x36] mov r2, #0x100 add r0, r4, #0x3fc mov r1, #0x200 mov r3, #0x10 str r2, [sp] bl func_0202b418 ldr r0, _02147bb0 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02152a0c cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x10 ldr r6, [r4, #0x420] bl func_01ff9cec mov r1, #6 mul r1, r6, r1 add r1, r1, #0x33 add r1, r1, #0xb00 cmp r0, r1 addge sp, sp, #0x1c ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r2, _02147bb4 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r6} umull r8, r7, r6, r3 mla r7, r6, r0, r7 ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r0, r3, r7 ldr r0, [r2, #0x14] adds r8, r6, r8 adc r7, r0, r7 mov r0, #0xa umull r3, r6, r7, r0 mla r6, r7, r1, r6 mla r6, r1, r0, r6 str r8, [r2] cmp r6, #3 addge sp, sp, #0x1c str r7, [r2, #4] ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r1, #1 mov r0, r4 strb r1, [r4, #0x43c] bl func_ov15_02148080 ldr r0, _02147bb0 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02152094 ldr r1, _02147bb0 ; =data_027e10a4 str r0, [r4, #0x404] ldr r0, [r1] bl func_ov15_02152050 smull r2, r1, r0, r5 adds r2, r2, #0x800 adc r0, r1, #0 mov r6, r2, lsr #0xc orr r6, r6, r0, lsl #20 mov r0, #0xa00 mov r8, r6, asr #0x1f mov r5, r8, lsl #0xa mov r1, #0x800 adds r7, r1, r6, lsl #10 orr r5, r5, r6, lsr #22 mov r2, #0 umull r1, r3, r6, r0 mla r3, r6, r2, r3 adc r6, r5, #0 adds r5, r1, #0x800 mla r3, r8, r0, r3 mov r1, r7, lsr #0xc adc r0, r3, #0 mov r3, r5, lsr #0xc orr r1, r1, r6, lsl #20 orr r3, r3, r0, lsl #20 sub r0, r3, r1 add r0, r0, #1 cmp r0, #0 ble _02147acc ldr r3, _02147bb4 ; =data_027e0764 ldr r5, [r3] ldmib r3, {r2, r6} umull r8, r7, r6, r5 mla r7, r6, r2, r7 ldr r2, [r3, #0xc] ldr r6, [r3, #0x10] mla r7, r2, r5, r7 ldr r2, [r3, #0x14] adds r5, r6, r8 adc r2, r2, r7 str r5, [r3] str r2, [r3, #4] cmp r0, #0 beq _02147acc mov r6, #0 umull r5, r3, r2, r0 mla r3, r2, r6, r3 mla r3, r6, r0, r3 mov r2, r3 _02147acc: add r0, r1, r2 ldr r2, _02147bb4 ; =data_027e0764 str r0, [r4, #0x3f0] ldr r1, [r2] ldmib r2, {r0, r3} umull r6, r5, r3, r1 mla r5, r3, r0, r5 ldr r0, [r2, #0xc] ldr r3, [r2, #0x10] mla r5, r0, r1, r5 ldr r0, [r2, #0x14] adds r3, r3, r6 adc r5, r0, r5 str r3, [r2] mov r1, #0x28 umull r0, r3, r5, r1 mov r10, #0 mla r3, r5, r10, r3 mov r0, r10 mla r3, r0, r1, r3 str r5, [r2, #4] add r0, r3, #0x14 str r0, [r4, #0x424] str r10, [r4, #0x3fc] ldr r1, [r4, #0x40c] mov r0, #0x1e0 umull r5, r3, r1, r0 mla r3, r1, r10, r3 mov r1, r1, asr #0x1f mla r3, r1, r0, r3 adds r5, r5, #0x800 adc r0, r3, #0 mov r1, r5, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x400] ldr ip, [r2] ldmib r2, {r3, r5, lr} umull r7, r6, r5, ip mla r6, r5, r3, r6 ldr r9, [r2, #0x10] mla r6, lr, ip, r6 ldr r8, [r2, #0x14] adds r3, r9, r7 adc r5, r8, r6 mov r11, #0x3c stmia r2, {r3, r5} umull r2, r3, r5, r11 mla r3, r5, r10, r3 mov r2, r10 mla r3, r2, r11, r3 add r2, r3, #0x1e mov r0, r4 mov r1, #1 str r2, [r4, #0x428] bl func_ov15_02148684 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214761c _02147bb0: .word data_027e10a4 _02147bb4: .word data_027e0764 .global func_ov15_02147bb8 arm_func_start func_ov15_02147bb8 func_ov15_02147bb8: ; 0x02147bb8 mov r3, r0 add r0, r1, #0x39c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} bx lr arm_func_end func_ov15_02147bb8 .global func_ov15_02147bcc arm_func_start func_ov15_02147bcc func_ov15_02147bcc: ; 0x02147bcc stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x1c mov r6, r0 ldr r0, _02148070 ; =data_027e10a4 ldrb r1, [r6, #0x439] ldr r0, [r0] cmp r1, #0 ldr r4, [r0, #0x3dc] ldr r5, [r0, #0x3c8] bne _02147e18 ldr r1, [r6, #0x424] cmp r1, #0 bne _02147e08 bl func_ov15_02152094 ldr r1, _02148074 ; =data_027e0764 str r0, [r6, #0x404] ldr r2, [r1] ldmib r1, {r0, r3} umull r8, r7, r3, r2 mla r7, r3, r0, r7 ldr r0, [r1, #0xc] ldr r9, [r1, #0x10] mla r7, r0, r2, r7 ldr r3, [r1, #0x14] adds r9, r9, r8 adc r8, r3, r7 mov r0, #0x28 str r9, [r1] umull r3, r7, r8, r0 mov r2, #0 mla r7, r8, r2, r7 mov r3, r2 mla r7, r3, r0, r7 str r8, [r1, #4] add r1, r7, #0x14 ldr r0, _02148070 ; =data_027e10a4 str r1, [r6, #0x424] ldr r0, [r0] ldrb r1, [r0, #0x293] cmp r1, #0 strne r2, [r6, #0x3f0] bne _02147d38 bl func_ov15_02152050 smull r2, r1, r0, r5 adds r2, r2, #0x800 adc r0, r1, #0 mov ip, r2, lsr #0xc orr ip, ip, r0, lsl #20 mov r0, #0xa00 mov r9, ip, asr #0x1f mov r2, #0 umull r7, r3, ip, r0 mla r3, ip, r2, r3 mov r8, r9, lsl #0xa mov r1, #0x800 adds r1, r1, ip, lsl #10 orr r8, r8, ip, lsr #22 adc r8, r8, #0 adds r7, r7, #0x800 mla r3, r9, r0, r3 mov r1, r1, lsr #0xc adc r0, r3, #0 mov r3, r7, lsr #0xc orr r1, r1, r8, lsl #20 orr r3, r3, r0, lsl #20 sub r0, r3, r1 add r0, r0, #1 cmp r0, #0 ble _02147d30 ldr r3, _02148074 ; =data_027e0764 ldr r7, [r3] ldmib r3, {r2, r8} umull ip, r9, r8, r7 mla r9, r8, r2, r9 ldr r2, [r3, #0xc] ldr r8, [r3, #0x10] mla r9, r2, r7, r9 ldr r2, [r3, #0x14] adds r7, r8, ip adc r2, r2, r9 str r7, [r3] str r2, [r3, #4] cmp r0, #0 beq _02147d30 mov r8, #0 umull r7, r3, r2, r0 mla r3, r2, r8, r3 mla r3, r8, r0, r3 mov r2, r3 _02147d30: add r0, r1, r2 str r0, [r6, #0x3f0] _02147d38: ldr r0, _02148074 ; =data_027e0764 ldr r2, [r0] ldmib r0, {r1, r3} umull r8, r7, r3, r2 mla r7, r3, r1, r7 ldr r1, [r0, #0xc] ldr r3, [r0, #0x10] mla r7, r1, r2, r7 ldr r1, [r0, #0x14] adds r2, r3, r8 adc r1, r1, r7 str r2, [r0] str r1, [r0, #4] tst r1, #0x80000000 ldrne r0, [r6, #0x3f0] rsbne r0, r0, #0 strne r0, [r6, #0x3f0] ldr r1, [r6, #0x408] ldr r2, [r6, #0x40c] mov r0, r1, asr #0x9 sub r0, r0, r1, asr #10 add r0, r0, #1 cmp r0, #0 movle r9, #0 ble _02147de8 ldr r3, _02148074 ; =data_027e0764 ldr r8, [r3] ldmib r3, {r7, ip} umull r9, lr, ip, r8 mla lr, ip, r7, lr ldr r7, [r3, #0xc] ldr ip, [r3, #0x10] mla lr, r7, r8, lr ldr r7, [r3, #0x14] adds r8, ip, r9 adc r9, r7, lr stmia r3, {r8, r9} cmp r0, #0 beq _02147de8 mov r8, #0 umull r7, r3, r9, r0 mla r3, r9, r8, r3 mla r3, r8, r0, r3 mov r9, r3 _02147de8: add r0, r9, r1, asr #10 add r0, r0, #0x1e0 smull r2, r1, r0, r2 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r6, #0x400] _02147e08: ldr r0, [r6, #0x408] cmp r0, #0x32000 movge r0, #0 strge r0, [r6, #0x408] _02147e18: add r0, r6, #0x400 ldrsh r1, [r0, #0x36] ldrsh r0, [r6, #0x78] sub r2, r0, r1 mov r0, r2, lsl #0x10 movs r3, r0, asr #0x10 rsbmi r0, r3, #0 movmi r0, r0, lsl #0x10 movmi r3, r0, asr #0x10 cmp r3, #0x4000 ldr r1, [r6, #0x400] ble _02147e58 mov r0, r1, asr #0x2 add r0, r1, r0, lsr #29 mov r1, r0, asr #0x3 b _02147e9c _02147e58: ldr r0, _02148078 ; =0x0000071c cmp r3, r0 ble _02147e9c mov r0, r2, lsl #0x10 mov r0, r0, asr #0x10 movs r0, r0, asr #0x3 rsbmi r0, r0, #0 mov r0, r0, lsl #0x1 rsb r0, r0, #0x1000 smull r0, r2, r1, r0 adds r3, r0, #0x800 mov r0, r1, asr #0x2 adc r2, r2, #0 mov r3, r3, lsr #0xc add r0, r1, r0, lsr #29 orr r3, r3, r2, lsl #20 add r1, r3, r0, asr #3 _02147e9c: mov r2, #0x100 str r2, [sp] add r0, r6, #0x3fc mov r3, #0x10 bl func_0202b418 ldr r2, [r6, #0x3f0] ldr r0, [r6, #0x3e4] mov r1, #0 add r2, r2, r0 str r1, [sp, #0x14] str r5, [sp, #0x10] str r2, [sp, #0x18] ldr r2, [r6, #0x48] add r0, sp, #0x10 str r2, [sp, #4] ldr r3, [r6, #0x4c] add r1, sp, #4 str r3, [sp, #8] ldr r3, [r6, #0x50] mov r2, r0 str r3, [sp, #0xc] bl func_01ff9bf8 add r0, sp, #0x10 bl func_01fffb4c cmp r0, #0 beq _02147f18 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 add r1, r6, #0x400 strh r0, [r1, #0x36] _02147f18: ldr r0, [r6, #0x428] cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r2, _02148074 ; =data_027e0764 mov r0, #0 ldr r3, [r2] ldmib r2, {r1, ip} umull r7, lr, ip, r3 mla lr, ip, r1, lr ldr r1, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r1, r3, lr ldr r1, [r2, #0x14] adds r8, ip, r7 adc r7, r1, lr mov r1, #0x1e umull r3, ip, r7, r1 str r8, [r2] str r7, [r2, #4] mla ip, r7, r0, ip mov r3, r0 mla ip, r3, r1, ip add r3, ip, #0x1e ldr r2, _02148070 ; =data_027e10a4 str r3, [r6, #0x428] ldr r3, [r2] ldrb r2, [r3, #0x293] cmp r2, #0 addne sp, sp, #0x1c ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} sub r0, r0, #0xf000 cmp r4, r0 addlt sp, sp, #0x1c ldmltia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r0, [r3, #0x3d0] cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r0, r5, asr #0xb add r0, r5, r0, lsr #20 mov r0, r0, asr #0xc sub r4, r0, #3 cmp r4, #1 addle sp, sp, #0x1c ldmleia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r0, _0214807c ; =gAdventureFlags add r1, r1, #0xf3 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _02147ff8 cmp r4, #0xf ble _02148000 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02147ff8: cmp r4, #0x19 movgt r4, #0x19 _02148000: ldr r2, _02148074 ; =data_027e0764 cmp r4, #5 ldr r3, [r2] ldmib r2, {r0, r5} umull lr, ip, r5, r3 mla ip, r5, r0, ip ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla ip, r0, r3, ip movlt r4, #5 ldr r0, [r2, #0x14] adds lr, r5, lr adc ip, r0, ip mov r0, #0x1e str lr, [r2] mov r1, #0 umull r3, r5, ip, r0 mla r5, ip, r1, r5 mla r5, r1, r0, r5 cmp r5, r4 str ip, [r2, #4] addle sp, sp, #0x1c ldmleia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r0, r6 mov r1, #2 bl func_ov15_02148684 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02147bcc _02148070: .word data_027e10a4 _02148074: .word data_027e0764 _02148078: .word 0x0000071c _0214807c: .word gAdventureFlags .global func_ov15_02148080 arm_func_start func_ov15_02148080 func_ov15_02148080: ; 0x02148080 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 add r0, r4, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x3f8] mov r2, r3 str r1, [sp, #0xc] ldr r0, _02148120 ; =data_027e0ffc mov r1, #0x1dc mov r3, #0 bl func_ov00_020ceacc ldr r2, [r4, #0x41c] ldr r1, _02148124 ; =data_ov15_0218620c add r0, sp, #8 ldr r1, [r1, r2, lsl #2] mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr ip, [r4, #0x41c] ldr r1, _02148124 ; =data_ov15_0218620c add r0, sp, #8 ldr r1, [r1, ip, lsl #2] mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02148128 ; =data_027e0e58 ldr r2, [r4, #0x41c] ldr r1, _0214812c ; =data_ov15_02186220 ldr r0, [r0] ldr r1, [r1, r2, lsl #2] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02148080 _02148120: .word data_027e0ffc _02148124: .word data_ov15_0218620c _02148128: .word data_027e0e58 _0214812c: .word data_ov15_02186220 .global func_ov15_02148130 arm_func_start func_ov15_02148130 func_ov15_02148130: ; 0x02148130 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #4 mov r4, r0 ldrb r1, [r4, #0x439] cmp r1, #3 addls pc, pc, r1, lsl #2 b _0214838c _0214814c: ; jump table b _0214815c ; case 0 b _021481fc ; case 1 b _02148210 ; case 2 b _02148234 ; case 3 _0214815c: ldr r2, [r4, #0x40c] mov r0, #0xf0 umull r5, r3, r2, r0 mov r1, #0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f adds r2, r5, #0x800 mla r3, r1, r0, r3 adc r0, r3, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x3fc] ldr r2, [r4, #0x41c] ldr r1, _021483a0 ; =data_ov15_0218b588 ldr r0, _021483a4 ; =0xfffffccd ldr r2, [r1, r2, lsl #2] mov r1, #1 add r0, r2, r0 str r0, [r4, #0x64] strb r1, [r4, #0x43a] add r0, r4, #0x400 ldrsh r3, [r0, #0x36] ldr r2, _021483a8 ; =data_027e10a4 add r0, r4, #0x184 strh r3, [r4, #0x78] ldr r2, [r2] strb r1, [r2, #0x445] bl func_ov00_020c5d74 ldr r0, [r4, #0x194] mov r1, #0xc00 str r1, [r0, #0x10] add r0, r4, #0x400 ldrsh r2, [r0, #0x36] mov r0, r4 mov r1, #1 strh r2, [r4, #0x78] strb r1, [r4, #0x439] bl func_ov15_02148080 mov r0, #0 str r0, [r4, #0x42c] _021481fc: ldr r0, [r4, #0x64] cmp r0, #0x52 movlt r0, #2 strltb r0, [r4, #0x439] b _0214838c _02148210: ldr r1, [r4, #0x64] cmp r1, #0 ldrlt r2, [r4, #0x4c] ldrlt r1, [r4, #0x3f8] cmplt r2, r1 bge _02148234 bl func_ov15_02148080 mov r0, #3 strb r0, [r4, #0x439] _02148234: mov r2, #0x100 str r2, [sp] add r0, r4, #0x3fc mov r1, #0x80 mov r3, #0x10 bl func_0202b418 ldr r0, [r4, #0x64] cmp r0, #0 rsblt r0, r0, #0 cmp r0, #0x7b bge _02148274 ldr r0, [r4, #0x6c] ldr r1, [r4, #0x64] sub r0, r0, #0x14 add r0, r1, r0 str r0, [r4, #0x64] _02148274: ldr r1, [r4, #0x420] mov r0, #0x18 mul r0, r1, r0 ldr r2, [r4, #0x3f8] add r1, r0, #0x800 ldr r0, [r4, #0x4c] sub r1, r2, r1 cmp r0, r1 bge _0214838c str r1, [r4, #0x4c] add r0, r4, #0x184 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r4, #0x194] mov r2, #0x1000 str r2, [r1, #0x10] mov r2, #0 mov r0, r4 mov r1, #1 str r2, [r4, #0x42c] bl func_ov15_02148684 mov r6, #0 strb r6, [r4, #0x43a] mov r0, #1 ldr r8, _021483ac ; =data_027e0764 strb r0, [r4, #0x43b] ldr r7, [r8] ldmib r8, {r0, r2} umull r5, r9, r2, r7 mla r9, r2, r0, r9 ldr r1, [r8, #0xc] ldr ip, [r8, #0x10] mla r9, r1, r7, r9 ldr r3, [r8, #0x14] adds r5, ip, r5 adc lr, r3, r9 mov r7, #0xa umull r9, r10, lr, r7 mla r10, lr, r6, r10 mov r0, r6 mla r10, r0, r7, r10 umull r9, r7, r2, r5 mla r7, r2, lr, r7 stmia r8, {r5, lr} cmp r10, #2 bge _02148358 mla r7, r1, r5, r7 adds r9, ip, r9 adc r5, r3, r7 mov r1, #0x1e umull r2, r3, r5, r1 mla r3, r5, r6, r3 mla r3, r0, r1, r3 str r9, [r8] str r5, [r8, #4] add r0, r3, #0x1e b _02148380 _02148358: mla r7, r1, r5, r7 adds r9, ip, r9 adc r5, r3, r7 mov r1, #0x1e umull r2, r3, r5, r1 mla r3, r5, r6, r3 mla r3, r0, r1, r3 str r9, [r8] str r5, [r8, #4] add r0, r3, #0x5a _02148380: add sp, sp, #4 str r0, [r4, #0x428] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} _0214838c: ldr r0, [r4, #0x42c] add r0, r0, #1 str r0, [r4, #0x42c] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_02148130 _021483a0: .word data_ov15_0218b588 _021483a4: .word 0xfffffccd _021483a8: .word data_027e10a4 _021483ac: .word data_027e0764 .global func_ov15_021483b0 arm_func_start func_ov15_021483b0 func_ov15_021483b0: ; 0x021483b0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _02148508 ; =data_027e10a4 str r1, [sp, #0x28] ldr r2, [r4, #0x4c] ldr r1, [r0] str r2, [sp, #0x2c] ldr r2, [r4, #0x50] add r0, sp, #0x1c str r2, [sp, #0x30] bl func_ov15_0214850c add r0, sp, #0x28 add r1, sp, #0x1c mov r2, r0 bl func_01ff9bf8 ldrb r0, [r4, #0x439] cmp r0, #0 beq _02148418 cmp r0, #1 beq _02148484 cmp r0, #2 beq _021484d0 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _02148418: mov r0, #0 str r0, [r4, #0x404] mov r0, #0x80 str r0, [r4, #0x3fc] ldr r0, _02148508 ; =data_027e10a4 ldr ip, [r4, #0x4c] ldr r1, [r0] ldr r3, [r4, #0x50] ldr r2, [r4, #0x48] add r0, sp, #4 str r2, [sp, #0x28] str ip, [sp, #0x2c] str r3, [sp, #0x30] bl func_ov15_0214850c add r0, sp, #0x28 add r1, sp, #4 mov r2, r0 bl func_01ff9bf8 ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] bl func_01ffa0f4 add r1, r4, #0x400 strh r0, [r1, #0x36] mov r0, #2 add sp, sp, #0x34 strb r0, [r4, #0x439] ldmia sp!, {r3, r4, pc} _02148484: mov r2, #0x100 str r2, [sp] add r0, r4, #0x3fc mov r1, #0x80 mov r3, #0x10 bl func_0202b418 ldr r1, [r4, #0x4c] ldr r0, [r4, #0x3f8] cmp r1, r0 addge sp, sp, #0x34 ldmgeia sp!, {r3, r4, pc} mov r0, #2 strb r0, [r4, #0x439] mov r0, #0 strb r0, [r4, #0x43a] mov r0, #1 add sp, sp, #0x34 strb r0, [r4, #0x43b] ldmia sp!, {r3, r4, pc} _021484d0: ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] bl func_01ffa0f4 add r1, r4, #0x400 strh r0, [r1, #0x36] mov ip, #0x40 add r0, r4, #0x3fc mov r1, #0x1e0 mov r2, #0x100 mov r3, #0x10 str ip, [sp] bl func_0202b418 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021483b0 _02148508: .word data_027e10a4 .global func_ov15_0214850c arm_func_start func_ov15_0214850c func_ov15_0214850c: ; 0x0214850c mov r3, r0 add r0, r1, #0x390 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} bx lr arm_func_end func_ov15_0214850c .global func_ov15_02148520 arm_func_start func_ov15_02148520 func_ov15_02148520: ; 0x02148520 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldrb r0, [r4, #0x439] cmp r0, #0 beq _02148540 cmp r0, #1 beq _02148618 b _0214862c _02148540: ldr r1, [r4, #0x420] ldr r0, _02148670 ; =gItemManager mov r2, r1, lsl #0x10 ldr r0, [r0] ldr r1, [r4, #0x41c] mov r2, r2, lsr #0x10 blx _ZN11ItemManager10SetUnk_09eEjt ldrb r0, [r4, #0x43d] cmp r0, #0 beq _021485cc ldr ip, _02148674 ; =data_027e0764 ldr r2, _02148670 ; =gItemManager ldr r1, [ip] ldmib ip, {r0, r3} umull lr, r5, r3, r1 mla r5, r3, r0, r5 ldr r0, [ip, #0xc] ldr r3, [ip, #0x10] mla r5, r0, r1, r5 ldr r0, [ip, #0x14] adds r6, r3, lr adc r3, r0, r5 mov r0, #6 mov r1, #0 umull r5, lr, r3, r0 mla lr, r3, r1, lr mla lr, r1, r0, lr add r0, lr, #0xa mov r1, r0, lsl #0x10 ldr r0, [r2] str r6, [ip] mov r2, r1, lsr #0x10 mov r1, #5 str r3, [ip, #4] blx _ZN11ItemManager10SetUnk_09eEjt _021485cc: mov r1, #0 str r1, [r4, #0x3fc] mov r2, #1 add r0, r4, #0x184 strb r2, [r4, #0x439] bl func_ov00_020c5d74 ldr r0, _02148678 ; =data_027e0e58 add r7, r4, #0x3e8 ldr r5, [r0] mov r6, #0 _021485f4: mov r0, r5 mov r1, r7 bl func_ov00_0207c444 add r6, r6, #1 cmp r6, #2 add r7, r7, #4 blo _021485f4 mov r0, #0 strb r0, [r4, #0x43a] _02148618: mov r0, #0 str r0, [r4, #0x64] sub r1, r0, #0x4000 add r0, r4, #0x400 strh r1, [r0, #0x34] _0214862c: ldr r1, [r4, #0x41c] ldr r0, _0214867c ; =data_ov15_021861c0 ldr r2, [r4, #0x420] ldr r1, [r0, r1, lsl #4] mov r0, r2, lsl #0xc bl func_02002c14 ldr r1, _02148680 ; =data_027e10a4 mov r5, r0 ldr r0, [r1] bl func_ov15_021520d8 smull r2, r1, r0, r5 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x410] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02148520 _02148670: .word gItemManager _02148674: .word data_027e0764 _02148678: .word data_027e0e58 _0214867c: .word data_ov15_021861c0 _02148680: .word data_027e10a4 .global func_ov15_02148684 arm_func_start func_ov15_02148684 func_ov15_02148684: ; 0x02148684 cmp r1, #1 movne r2, #0 strneb r2, [r0, #0x43c] strb r1, [r0, #0x438] mov r1, #0 strb r1, [r0, #0x439] bx lr arm_func_end func_ov15_02148684 .global func_ov15_021486a0 arm_func_start func_ov15_021486a0 func_ov15_021486a0: ; 0x021486a0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r5, r0 mov r0, #0 strb r0, [r5, #0x43b] ldr r0, [r5, #0x424] mov r2, #0x1000 cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x424] ldr r0, [r5, #0x428] cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x428] ldr r0, _02148abc ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x3c8] mov r0, r0, asr #0x4 cmp r0, #0x1000 movgt r0, #0x1000 cmp r0, #0x400 movlt r0, #0x400 str r0, [r5, #0x40c] ldr r1, [r5, #0x48] ldr r0, _02148ac0 ; =data_027e0e60 str r1, [sp, #0x34] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0x38] ldr r3, [r5, #0x50] add r1, sp, #0x34 str r2, [sp, #0x38] str r3, [sp, #0x3c] mov r2, #0 bl func_ov00_02083ee0 str r0, [r5, #0x3f8] ldrb r0, [r5, #0x438] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0214878c _02148740: ; jump table b _02148754 ; case 0 b _02148760 ; case 1 b _0214876c ; case 2 b _02148778 ; case 3 b _02148784 ; case 4 _02148754: mov r0, r5 bl func_ov15_0214761c b _0214878c _02148760: mov r0, r5 bl func_ov15_02147bcc b _0214878c _0214876c: mov r0, r5 bl func_ov15_02148130 b _0214878c _02148778: mov r0, r5 bl func_ov15_021483b0 b _0214878c _02148784: mov r0, r5 bl func_ov15_02148520 _0214878c: ldrb r0, [r5, #0x438] cmp r0, #4 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x400 ldrsh r1, [r0, #0x36] ldr r2, _02148ac4 ; =0x00000aab add r0, r5, #0x78 bl func_0202b154 add r0, r5, #0x400 mov r1, #0 strh r1, [r0, #0x34] ldrh r0, [r5, #0x78] ldr ip, _02148ac8 ; =data_02050f54 ldr r2, [r5, #0x3fc] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [ip, r0] add r0, r5, #0x48 add r1, r5, #0x60 smull r4, r2, r3, r2 adds r3, r4, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r5, #0x60] ldrh r4, [r5, #0x78] ldr r3, [r5, #0x3fc] mov r2, r0 mov r4, r4, asr #0x4 mov r4, r4, lsl #0x1 add r4, r4, #1 mov r4, r4, lsl #0x1 ldrsh r4, [ip, r4] smull ip, r3, r4, r3 adds r4, ip, #0x800 adc r3, r3, #0 mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r5, #0x68] bl func_01ff9bc4 ldr r2, [r5, #0x41c] ldr r0, _02148acc ; =data_ov15_0218b59c mov r1, #0x800 ldr r2, [r0, r2, lsl #2] mov r0, #6 sub r2, r2, #0x66 str r2, [r5, #0x6c] str r1, [r5, #0x70] ldr r2, [r5, #0x420] ldrb r1, [r5, #0x43a] mul r0, r2, r0 ldr r2, [r5, #0x3f8] add r0, r0, #0x800 cmp r1, #0 sub r1, r2, r0 bne _021488ac ldr r0, [r5, #0x4c] cmp r0, r1 bge _021488ac mov r2, #0x400 add r0, r5, #0x4c mov r3, #0x40 str r2, [sp] bl func_0202b418 mov r2, #0x400 add r0, r5, #0x64 mov r1, #0 mov r3, #0x40 str r2, [sp] bl func_0202b418 b _021488b4 _021488ac: mov r0, r5 bl _ZN5Actor12ApplyGravityEv _021488b4: ldrb r0, [r5, #0x438] cmp r0, #1 bne _021489b4 ldr r1, _02148abc ; =data_027e10a4 add r0, sp, #0x28 ldr r1, [r1] bl func_ov15_0214850c ldr r0, _02148abc ; =data_027e10a4 ldr r2, [r5, #0x48] ldr r1, [r0] add r0, sp, #4 ldr r3, [r1, #0x3c8] add r1, sp, #0x28 str r2, [sp, #4] ldr r2, [r5, #0x4c] add r4, r3, #0x1000 str r2, [sp, #8] ldr r2, [r5, #0x50] str r2, [sp, #0xc] bl func_01ff9ec0 cmp r0, r4 ble _021489b4 smull r0, r2, r4, r4 ldr r3, [r5, #0x4c] ldr r1, [sp, #0x2c] sub r4, r3, r1 adds r3, r0, #0x800 smull r1, r0, r4, r4 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 sub r0, r3, r1 bl func_01ff9958 mov r1, #0 str r1, [sp, #0x2c] ldr r1, [r5, #0x48] mov r4, r0 str r1, [sp, #0x1c] ldr r1, [r5, #0x4c] add r0, sp, #0x1c str r1, [sp, #0x20] ldr r3, [r5, #0x50] add r1, sp, #0x28 mov r2, r0 str r3, [sp, #0x24] bl func_01ff9bf8 add r0, sp, #0x1c mov r1, r0 bl func_01ff9d4c add r0, sp, #0x1c mov r1, r4 bl func_01fffbec add r0, sp, #0x1c add r1, sp, #0x28 mov r2, r0 bl func_01ff9bc4 ldr r0, [sp, #0x1c] str r0, [r5, #0x48] ldr r0, [sp, #0x24] str r0, [r5, #0x50] _021489b4: ldr r0, [r5, #0x48] add r2, r5, #0x14 str r0, [sp, #0x10] ldr r1, [r5, #0x4c] add r3, r5, #0x18 str r1, [sp, #0x14] ldr r0, [r5, #0x50] add r2, r2, #0x400 str r0, [sp, #0x18] ldr r0, [r5, #0x3f8] add r3, r3, #0x400 cmp r1, r0 strlt r0, [sp, #0x14] mov r1, #1 str r1, [sp] ldr r0, _02148ad0 ; =data_027e0f64 add r1, sp, #0x10 ldr r0, [r0] ldr r0, [r0, #8] bl func_01ffe468 ldrb r0, [r5, #0x438] mov r4, #0 cmp r0, #4 beq _02148a64 ldr r0, [r5, #0x3fc] cmp r0, #0x100 ble _02148a64 ldr r1, [r5, #0x420] mov r0, #6 mul r0, r1, r0 ldr r1, [r5, #0x3f8] add r0, r0, #0x800 ldr r2, [r5, #0x4c] sub r0, r1, r0 subs r0, r2, r0 rsbmi r0, r0, #0 cmp r0, #0x100 bge _02148a64 ldr r0, _02148ad4 ; =data_027e0ffc ldr r1, _02148ad8 ; =0x0000041c add r2, r5, #0x48 mov r3, #0 mov r4, #1 bl func_ov00_020cec08 _02148a64: add ip, r5, #0x3e8 add r0, r5, #0x3f0 cmp ip, r0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} cmp r4, #0 moveq r0, #1 movne r0, #0 mov r1, r0, lsl #0x1f add r0, r5, #0x3f0 _02148a8c: ldr r3, [ip] cmp r3, #0 beq _02148aa8 ldr r2, [r3, #0x24] bic r2, r2, #2 orr r2, r2, r1, lsr #30 str r2, [r3, #0x24] _02148aa8: add ip, ip, #4 cmp ip, r0 bne _02148a8c add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021486a0 _02148abc: .word data_027e10a4 _02148ac0: .word data_027e0e60 _02148ac4: .word 0x00000aab _02148ac8: .word data_02050f54 _02148acc: .word data_ov15_0218b59c _02148ad0: .word data_027e0f64 _02148ad4: .word data_027e0ffc _02148ad8: .word 0x0000041c .global func_ov15_02148adc arm_func_start func_ov15_02148adc func_ov15_02148adc: ; 0x02148adc stmdb sp!, {r4, lr} sub sp, sp, #0x108 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x108 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0x410] add r0, r4, #0x400 str r1, [sp, #0xfc] str r1, [sp, #0x100] str r1, [sp, #0x104] ldrh r1, [r0, #0x34] ldr r3, _02148cc4 ; =data_02050f54 add r0, sp, #0xd8 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_01ff81f8 ldrh r1, [r4, #0x78] ldr r3, _02148cc4 ; =data_02050f54 add r0, sp, #0xb4 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, sp, #0xd8 add r1, sp, #0xb4 add r2, sp, #0x90 bl func_01ff8690 add r1, sp, #0xfc add r0, r4, #0x184 add r2, sp, #0x90 add r3, r4, #0x48 bl func_ov00_020c5f80 ldrb r0, [r4, #0x43d] cmp r0, #0 beq _02148c34 add lr, r4, #0x210 add ip, sp, #0x60 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r0, [r4, #0x41c] cmp r0, #2 bne _02148c28 add r0, sp, #0x30 bl func_01ff892c ldr r1, _02148cc8 ; =data_027e10a4 add r0, sp, #0x18 ldr r1, [r1] bl func_ov15_02152114 ldr r0, _02148cc8 ; =data_027e10a4 ldr r2, [sp, #0x18] ldr r1, [r0] add r0, sp, #0xc str r2, [sp, #0x54] bl func_ov15_02152114 ldr r0, _02148cc8 ; =data_027e10a4 ldr r2, [sp, #0x10] ldr r1, [r0] add r0, sp, #0 str r2, [sp, #0x58] bl func_ov15_02152114 ldr r2, [sp, #8] add r1, sp, #0x60 str r2, [sp, #0x5c] add r0, sp, #0x30 mov r2, r1 bl func_01ff8e84 _02148c28: add r1, sp, #0x60 add r0, r4, #0x2b0 bl func_ov00_020c6024 _02148c34: add r0, r4, #0x48 add r3, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, [r4, #0x3f8] add r2, r4, #0x3e8 add r1, r4, #0x3f0 str r3, [sp, #0x28] cmp r2, r1 addeq sp, sp, #0x108 ldmeqia sp!, {r4, pc} ldr ip, [sp, #0x2c] _02148c64: ldr r0, [r2] cmp r0, #0 beq _02148cb0 ldr r4, [r0, #0x20] ldr lr, [sp, #0x24] ldr r4, [r4] ldr r4, [r4, #4] add r4, lr, r4 str r4, [r0, #0x28] ldr r4, [r0, #0x20] ldr r4, [r4] ldr r4, [r4, #8] add r4, r3, r4 str r4, [r0, #0x2c] ldr r4, [r0, #0x20] ldr r4, [r4] ldr r4, [r4, #0xc] add r4, ip, r4 str r4, [r0, #0x30] _02148cb0: add r2, r2, #4 cmp r2, r1 bne _02148c64 add sp, sp, #0x108 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02148adc _02148cc4: .word data_02050f54 _02148cc8: .word data_027e10a4 .global func_ov15_02148ccc arm_func_start func_ov15_02148ccc func_ov15_02148ccc: ; 0x02148ccc stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02148ccc .global func_ov15_02148ce8 arm_func_start func_ov15_02148ce8 func_ov15_02148ce8: ; 0x02148ce8 bx lr arm_func_end func_ov15_02148ce8 .global func_ov15_02148cec arm_func_start func_ov15_02148cec func_ov15_02148cec: ; 0x02148cec bx lr arm_func_end func_ov15_02148cec .global func_ov15_02148cf0 arm_func_start func_ov15_02148cf0 func_ov15_02148cf0: ; 0x02148cf0 bx lr arm_func_end func_ov15_02148cf0 .global func_ov15_02148cf4 arm_func_start func_ov15_02148cf4 func_ov15_02148cf4: ; 0x02148cf4 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 blx func_ov09_02114b30 ldr r0, _02149240 ; =data_ov15_0218b800 mov r1, #0 str r0, [r5] str r1, [r5, #0xa0] str r1, [r5, #0xa4] str r1, [r5, #0xa8] str r1, [r5, #0xac] str r1, [r5, #0xb0] str r1, [r5, #0xb4] str r1, [r5, #0xb8] str r1, [r5, #0xbc] str r1, [r5, #0xc0] str r1, [r5, #0xc4] str r1, [r5, #0xc8] add r0, r5, #0xd8 str r1, [r5, #0xd0] blx func_02030274 ldr r1, _02149244 ; =data_ov15_0218ab0c mvn r0, #0 str r1, [r5, #0xd8] str r0, [r5, #0x194] mov r2, #0 str r2, [r5, #0x1ac] add r0, r5, #0x100 mov r1, #0x4000 strh r1, [r0, #0xb0] strh r2, [r0, #0xb2] strh r2, [r0, #0xb4] strh r2, [r0, #0xb6] strh r2, [r0, #0xb8] strh r2, [r0, #0xba] strh r2, [r0, #0xbc] strh r2, [r0, #0xbe] strh r2, [r0, #0xc0] strh r2, [r0, #0xc2] strb r2, [r5, #0x1c4] strb r2, [r5, #0x1c6] strb r2, [r5, #0x1c7] strb r2, [r5, #0x1c8] strb r2, [r5, #0x1c9] bl func_ov15_0214be18 bl func_ov15_0214be08 mov r1, #0 bl func_ov15_0214bfcc mov r4, r0 add r0, r4, #8 ldr r1, _02149248 ; =data_ov15_021862cc bl func_0201e24c ldr r6, [r0] mov r0, #0x5c ldr r1, _0214924c ; =data_027e0ce0 mov r2, #4 ldr r1, [r1, #4] bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148de8 add r1, r4, r6 blx func_ov00_020a9588 _02148de8: str r0, [r5, #0xa0] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xa0] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r0, [r5, #0xa0] ldr r1, _02149250 ; =data_ov15_0218b748 bl func_ov00_020a98e8 str r0, [r5, #0x194] ldr r1, _02149254 ; =data_ov15_021862dc add r0, r4, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r6, [r0] ldr r1, [r1, #4] mov r0, #0x5c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148e48 add r1, r4, r6 blx func_ov00_020a9588 _02148e48: str r0, [r5, #0xa4] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xa4] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r1, _02149258 ; =data_ov15_021862ec add r0, r4, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r6, [r0] ldr r1, [r1, #4] mov r0, #0x5c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148e98 add r1, r4, r6 blx func_ov00_020a9588 _02148e98: str r0, [r5, #0xa8] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xa8] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r1, _0214924c ; =data_027e0ce0 mov r0, #0x24 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148edc add r1, r4, r6 mov r2, #4 blx func_ov00_020a99e0 _02148edc: str r0, [r5, #0xc8] bl func_ov15_0214be08 mov r1, #0 bl func_ov15_0214c074 ldr r0, [r0, #8] ldr r1, _0214925c ; =data_ov15_021862a4 str r0, [r5, #0xcc] bl func_0201e544 ldr r3, _02149260 ; =data_ov15_02186234 mov r1, r0 ldr r0, [r5, #0xc8] ldr r3, [r3, #0x80] mov r2, #0 bl func_ov00_020c0cc8 ldr r0, [r5, #0xa8] ldr r1, [r5, #0xc8] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 mov r0, r5 bl func_ov15_021499d4 ldr r1, _0214924c ; =data_027e0ce0 mov r0, #0x68 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148f50 bl func_ov15_0216de5c _02148f50: ldr r1, _02149264 ; =data_ov15_0218632c str r0, [r5, #0xc0] add r0, r4, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r6, [r0] ldr r1, [r1, #4] mov r0, #0x5c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148f88 add r1, r4, r6 blx func_ov00_020a9588 _02148f88: ldr r1, _02149268 ; =data_027e0d38 str r0, [r5, #0xbc] ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 cmpne r0, #0x32 bne _02149084 bl func_ov15_0214be08 mov r1, #1 bl func_ov15_0214bfcc mov r6, r0 ldr r1, _0214926c ; =data_ov15_0218633c add r0, r6, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r4, [r0] ldr r1, [r1, #4] mov r0, #0x5c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02148fec add r1, r6, r4 blx func_ov00_020a9588 _02148fec: str r0, [r5, #0xb8] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xb8] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r0, [r5, #0xb8] ldr r1, _02149270 ; =data_ov15_0218b7a8 bl func_ov00_020a98e8 str r0, [r5, #0x198] ldr r0, [r5, #0xb8] ldr r1, [r5, #0x198] bl func_ov00_020a9624 add r0, r0, #0x28 add r1, r5, #0x11c bl func_020079d8 ldr r6, _02149274 ; =data_ov15_0218b7b8 mov r4, #0 _02149038: ldr r0, [r5, #0xb8] mov r1, r6 bl func_ov00_020a990c add r1, r5, r4, lsl #2 add r4, r4, #1 str r0, [r1, #0x19c] cmp r4, #4 add r6, r6, #0x10 blt _02149038 ldr r1, _0214924c ; =data_027e0ce0 mov r0, #0x184 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214907c bl func_ov15_02177260 _0214907c: str r0, [r5, #0xc4] b _02149230 _02149084: cmp r0, #2 bne _02149230 ldr r1, _02149278 ; =data_ov15_021862fc add r0, r4, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r6, [r0] ldr r1, [r1, #4] mov r0, #0x5c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _021490c0 add r1, r4, r6 blx func_ov00_020a9588 _021490c0: str r0, [r5, #0xac] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xac] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r1, _0214927c ; =data_ov15_0218630c add r0, r4, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r6, [r0] ldr r1, [r1, #4] mov r0, #0x5c mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02149110 add r1, r4, r6 blx func_ov00_020a9588 _02149110: str r0, [r5, #0xb0] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xb0] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r1, _02149280 ; =data_ov15_0218631c add r0, r4, #8 bl func_0201e24c ldr r1, _0214924c ; =data_027e0ce0 ldr r6, [r0] ldr r1, [r1, #4] mov r0, #0x134 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02149160 add r1, r4, r6 bl func_ov15_0214b28c _02149160: str r0, [r5, #0xb4] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #0xb4] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r0, [r5, #0xb4] bl func_ov15_0214b2d0 ldr r1, _0214924c ; =data_027e0ce0 mov r0, #0x24 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _021491ac add r1, r4, r6 mov r2, #4 blx func_ov00_020a99e0 _021491ac: str r0, [r5, #0xd0] bl func_ov15_0214be08 mov r1, #0 bl func_ov15_0214c074 ldr r0, [r0, #8] ldr r1, _02149284 ; =data_ov15_021862b8 str r0, [r5, #0xd4] bl func_0201e544 ldr r2, _02149260 ; =data_ov15_02186234 mov r1, r0 ldr r3, [r2, #0x94] ldr r0, [r5, #0xd0] mov r2, #0 bl func_ov00_020c0cc8 ldr r0, [r5, #0xb4] ldr r1, [r5, #0xd0] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 ldr r0, [r5, #0xd0] mov r4, #0 ldr r6, _02149288 ; =data_ov15_02186234 str r4, [r0, #0x10] _02149208: ldr r0, [r5, #0xb4] mov r1, r6 bl func_ov00_020a98e8 ldr r1, [r5, #0xb4] add r6, r6, #0x10 add r1, r1, r4, lsl #2 add r4, r4, #1 str r0, [r1, #0x5c] cmp r4, #5 blt _02149208 _02149230: mov r0, r5 bl func_ov15_02148cf0 mov r0, r5 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02148cf4 _02149240: .word data_ov15_0218b800 _02149244: .word data_ov15_0218ab0c _02149248: .word data_ov15_021862cc _0214924c: .word data_027e0ce0 _02149250: .word data_ov15_0218b748 _02149254: .word data_ov15_021862dc _02149258: .word data_ov15_021862ec _0214925c: .word data_ov15_021862a4 _02149260: .word data_ov15_02186234 _02149264: .word data_ov15_0218632c _02149268: .word data_027e0d38 _0214926c: .word data_ov15_0218633c _02149270: .word data_ov15_0218b7a8 _02149274: .word data_ov15_0218b7b8 _02149278: .word data_ov15_021862fc _0214927c: .word data_ov15_0218630c _02149280: .word data_ov15_0218631c _02149284: .word data_ov15_021862b8 _02149288: .word data_ov15_02186234 .global func_ov15_0214928c arm_func_start func_ov15_0214928c func_ov15_0214928c: ; 0x0214928c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214928c .global func_ov15_021492a8 arm_func_start func_ov15_021492a8 func_ov15_021492a8: ; 0x021492a8 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02149494 ; =data_ov15_0218b800 mov r4, r0 str r1, [r4] ldr r0, [r4, #0xa0] cmp r0, #0 beq _021492dc beq _021492d4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _021492d4: mov r0, #0 str r0, [r4, #0xa0] _021492dc: ldr r0, [r4, #0xa4] cmp r0, #0 beq _02149300 beq _021492f8 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _021492f8: mov r0, #0 str r0, [r4, #0xa4] _02149300: ldr r0, [r4, #0xa8] cmp r0, #0 beq _02149324 beq _0214931c ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0214931c: mov r0, #0 str r0, [r4, #0xa8] _02149324: ldr r0, [r4, #0xac] cmp r0, #0 beq _02149348 beq _02149340 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149340: mov r0, #0 str r0, [r4, #0xac] _02149348: ldr r0, [r4, #0xb0] cmp r0, #0 beq _0214936c beq _02149364 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149364: mov r0, #0 str r0, [r4, #0xb0] _0214936c: ldr r0, [r4, #0xb4] cmp r0, #0 beq _02149390 beq _02149388 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149388: mov r0, #0 str r0, [r4, #0xb4] _02149390: ldr r5, [r4, #0xc0] cmp r5, #0 beq _021493b8 beq _021493b0 mov r0, r5 bl func_ov15_0216e0f0 mov r0, r5 bl _ZN9SysObjectdlEPv _021493b0: mov r0, #0 str r0, [r4, #0xc0] _021493b8: ldr r5, [r4, #0xc4] cmp r5, #0 beq _021493e0 beq _021493d8 mov r0, r5 bl func_ov15_02177290 mov r0, r5 bl _ZN9SysObjectdlEPv _021493d8: mov r0, #0 str r0, [r4, #0xc4] _021493e0: ldr r0, [r4, #0xb8] cmp r0, #0 beq _02149404 beq _021493fc ldr r1, [r0] ldr r1, [r1, #4] blx r1 _021493fc: mov r0, #0 str r0, [r4, #0xb8] _02149404: ldr r0, [r4, #0xc8] cmp r0, #0 beq _02149428 beq _02149420 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149420: mov r0, #0 str r0, [r4, #0xc8] _02149428: ldr r0, [r4, #0xd0] cmp r0, #0 beq _0214944c beq _02149444 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149444: mov r0, #0 str r0, [r4, #0xd0] _0214944c: ldr r0, [r4, #0xbc] cmp r0, #0 beq _02149470 beq _02149468 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149468: mov r0, #0 str r0, [r4, #0xbc] _02149470: bl func_ov15_0214be60 add r0, r4, #0xd8 blx func_02030294 mov r0, r4 blx func_ov09_02114ef0 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021492a8 _02149494: .word data_ov15_0218b800 .global func_ov15_02149498 arm_func_start func_ov15_02149498 func_ov15_02149498: ; 0x02149498 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0214967c ; =data_ov15_0218b800 mov r4, r0 str r1, [r4] ldr r0, [r4, #0xa0] cmp r0, #0 beq _021494cc beq _021494c4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _021494c4: mov r0, #0 str r0, [r4, #0xa0] _021494cc: ldr r0, [r4, #0xa4] cmp r0, #0 beq _021494f0 beq _021494e8 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _021494e8: mov r0, #0 str r0, [r4, #0xa4] _021494f0: ldr r0, [r4, #0xa8] cmp r0, #0 beq _02149514 beq _0214950c ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0214950c: mov r0, #0 str r0, [r4, #0xa8] _02149514: ldr r0, [r4, #0xac] cmp r0, #0 beq _02149538 beq _02149530 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149530: mov r0, #0 str r0, [r4, #0xac] _02149538: ldr r0, [r4, #0xb0] cmp r0, #0 beq _0214955c beq _02149554 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149554: mov r0, #0 str r0, [r4, #0xb0] _0214955c: ldr r0, [r4, #0xb4] cmp r0, #0 beq _02149580 beq _02149578 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149578: mov r0, #0 str r0, [r4, #0xb4] _02149580: ldr r5, [r4, #0xc0] cmp r5, #0 beq _021495a8 beq _021495a0 mov r0, r5 bl func_ov15_0216e0f0 mov r0, r5 bl _ZN9SysObjectdlEPv _021495a0: mov r0, #0 str r0, [r4, #0xc0] _021495a8: ldr r5, [r4, #0xc4] cmp r5, #0 beq _021495d0 beq _021495c8 mov r0, r5 bl func_ov15_02177290 mov r0, r5 bl _ZN9SysObjectdlEPv _021495c8: mov r0, #0 str r0, [r4, #0xc4] _021495d0: ldr r0, [r4, #0xb8] cmp r0, #0 beq _021495f4 beq _021495ec ldr r1, [r0] ldr r1, [r1, #4] blx r1 _021495ec: mov r0, #0 str r0, [r4, #0xb8] _021495f4: ldr r0, [r4, #0xc8] cmp r0, #0 beq _02149618 beq _02149610 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149610: mov r0, #0 str r0, [r4, #0xc8] _02149618: ldr r0, [r4, #0xd0] cmp r0, #0 beq _0214963c beq _02149634 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149634: mov r0, #0 str r0, [r4, #0xd0] _0214963c: ldr r0, [r4, #0xbc] cmp r0, #0 beq _02149660 beq _02149658 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02149658: mov r0, #0 str r0, [r4, #0xbc] _02149660: bl func_ov15_0214be60 add r0, r4, #0xd8 blx func_02030294 mov r0, r4 blx func_ov09_02114ef0 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02149498 _0214967c: .word data_ov15_0218b800 .global func_ov15_02149680 arm_func_start func_ov15_02149680 func_ov15_02149680: ; 0x02149680 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0xc8] cmp r0, #0 beq _021496e0 add r3, r4, #0x100 ldrh r1, [r3, #0xb6] add r0, r4, #0xb2 add r0, r0, #0x100 add ip, r1, #0x2000 mov r1, #0 mov r2, #0x80 strh ip, [r3, #0xb6] bl func_0202b154 add r0, r4, #0x1b4 mov r1, #0 mov r2, #0x40 bl func_0202b154 ldr r0, [r4, #0xc8] bl func_ov00_020c0e04 ldr r0, [r4, #0xa8] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 _021496e0: ldr r0, [r4, #0xd0] cmp r0, #0 beq _02149700 bl func_ov00_020c0e04 ldr r0, [r4, #0xb4] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 _02149700: ldr r0, [r4, #0xc0] cmp r0, #0 beq _02149760 ldr r1, _0214977c ; =data_027e10a4 mov r2, #0 ldr ip, [r1] ldr r3, [ip, #0x2c] cmp r3, #5 ldreq r1, [ip, #0x324] cmpeq r1, #6 moveq r2, #1 cmp r2, #0 bne _0214975c cmp r3, #6 bne _02149750 ldr r1, [ip, #0x2c] cmp r1, #6 ldreq r1, [ip, #0x430] cmpeq r1, #0 bne _0214975c _02149750: ldrb r1, [ip, #0x4e0] cmp r1, #0 beq _02149760 _0214975c: bl func_ov15_0216e320 _02149760: ldr r0, [r4, #0xc4] cmp r0, #0 beq _02149770 bl func_ov15_021772b8 _02149770: mov r0, r4 bl func_ov09_021152c0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02149680 _0214977c: .word data_027e10a4 .global func_ov15_02149780 arm_func_start func_ov15_02149780 func_ov15_02149780: ; 0x02149780 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _02149888 ; =data_027e0d38 mov r8, r0 ldr r0, [r4] mov r7, r1 add r0, r0, #0xc mov r6, r2 mov r5, r3 mov r4, #1 bl func_ov00_020a5e9c cmp r0, #3 bne _021497dc ldr r0, _0214988c ; =data_027e0c54 bl func_020361d0 cmp r0, #0 beq _021497dc ldr r1, _02149890 ; =data_027e10a4 mov r0, #0x2800 ldr r1, [r1] rsb r0, r0, #0 ldr r1, [r1, #0x298] cmp r1, r0 movlt r4, #0 _021497dc: cmp r4, #0 beq _021497f8 mov r0, r8 mov r1, r7 mov r2, r6 mov r3, r5 bl func_ov09_021156a4 _021497f8: ldr r0, [r8, #0x1ac] cmp r0, #0 beq _02149810 cmp r0, #1 beq _02149824 b _02149834 _02149810: mov r0, r8 mov r1, r7 mov r2, r6 bl func_ov15_0214b86c b _02149834 _02149824: mov r0, r8 mov r1, r7 mov r2, r6 bl func_ov15_0214bb9c _02149834: ldrb r0, [r8, #0x1c6] cmp r0, #0 beq _02149868 ldrb r0, [r8, #0x1c7] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r8 bl func_ov15_0214b408 mov r0, r8 bl func_ov15_0214b61c mov r0, r8 bl func_ov15_0214b7d0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02149868: ldrb r0, [r8, #0x1c4] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r8 mov r1, r7 mov r2, r6 bl func_ov15_02149cc0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02149780 _02149888: .word data_027e0d38 _0214988c: .word data_027e0c54 _02149890: .word data_027e10a4 .global func_ov15_02149894 arm_func_start func_ov15_02149894 func_ov15_02149894: ; 0x02149894 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr lr, [sp, #0x10] mov ip, #0 str lr, [sp] str ip, [sp, #4] bl func_ov15_02149e98 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end func_ov15_02149894 .global func_ov15_021498b8 arm_func_start func_ov15_021498b8 func_ov15_021498b8: ; 0x021498b8 ldmia r1, {r1, r2, r3} str r1, [r0, #0xf8] str r2, [r0, #0xfc] str r3, [r0, #0x100] bx lr arm_func_end func_ov15_021498b8 .global func_ov15_021498cc arm_func_start func_ov15_021498cc func_ov15_021498cc: ; 0x021498cc stmdb sp!, {r3, r4, r5, lr} mov r4, r0 cmp r1, #2 bge _02149940 mov r0, #0x14 mul r5, r1, r0 ldr r1, _02149948 ; =data_ov15_02186290 ldr r0, [r4, #0xcc] add r1, r1, r5 bl func_0201e544 mov r1, r0 ldr r0, [r4, #0xc8] ldr r2, [r0, #4] ldr r2, [r2, #8] cmp r2, r1 beq _02149940 bl func_ov00_020c0c44 ldr r0, [r4, #0xc8] ldr r1, [r0, #0x18] add r1, r1, #0x1000 bl func_ov00_020c0e24 ldr r1, _0214994c ; =data_ov15_021862a0 ldr r0, [r4, #0xc8] ldr r1, [r1, r5] mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020c0e5c mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02149940: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021498cc _02149948: .word data_ov15_02186290 _0214994c: .word data_ov15_021862a0 .global func_ov15_02149950 arm_func_start func_ov15_02149950 func_ov15_02149950: ; 0x02149950 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r1, #0 mov r4, r0 bl func_ov15_021498cc cmp r0, #0 bne _02149980 ldr r0, [r4, #0xc8] ldr r0, [r0, #0x10] cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, pc} _02149980: ldr r1, [r4, #0xc8] mov r2, #0x1000 str r2, [r1, #0x10] ldr r0, _021499c8 ; =data_027e10a4 ldr r1, _021499cc ; =0x000003d1 ldr ip, [r0] ldr r0, _021499d0 ; =data_027e0ffc ldr r2, [ip, #0x294] str r2, [sp] ldr r3, [ip, #0x298] add r2, sp, #0 str r3, [sp, #4] ldr ip, [ip, #0x29c] mov r3, #0 str ip, [sp, #8] bl func_ov00_020ceacc add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02149950 _021499c8: .word data_027e10a4 _021499cc: .word 0x000003d1 _021499d0: .word data_027e0ffc .global func_ov15_021499d4 arm_func_start func_ov15_021499d4 func_ov15_021499d4: ; 0x021499d4 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 bl func_ov15_021498cc ldr r0, [r4, #0xc8] mov r1, #0 str r1, [r0, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov15_021499d4 .global func_ov15_021499f4 arm_func_start func_ov15_021499f4 func_ov15_021499f4: ; 0x021499f4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r1, #0 bl func_ov15_021498cc ldr r1, [r4, #0xc8] mov r2, #0x2000 str r2, [r1, #0x10] ldr r0, _02149a50 ; =data_027e10a4 ldr r1, _02149a54 ; =0x000003d6 ldr ip, [r0] ldr r0, _02149a58 ; =data_027e0ffc ldr r2, [ip, #0x294] str r2, [sp] ldr r3, [ip, #0x298] add r2, sp, #0 str r3, [sp, #4] ldr ip, [ip, #0x29c] mov r3, #0 str ip, [sp, #8] bl func_ov00_020ceacc add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021499f4 _02149a50: .word data_027e10a4 _02149a54: .word 0x000003d6 _02149a58: .word data_027e0ffc .global func_ov15_02149a5c arm_func_start func_ov15_02149a5c func_ov15_02149a5c: ; 0x02149a5c stmdb sp!, {lr} sub sp, sp, #0xc mov r1, #1 bl func_ov15_021498cc ldr r1, _02149aa8 ; =data_027e10a4 ldr r0, _02149aac ; =data_027e0ffc ldr lr, [r1] ldr r1, _02149ab0 ; =0x000003d2 ldr r3, [lr, #0x294] add r2, sp, #0 str r3, [sp] ldr ip, [lr, #0x298] mov r3, #0 str ip, [sp, #4] ldr ip, [lr, #0x29c] str ip, [sp, #8] bl func_ov00_020ceacc add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_02149a5c _02149aa8: .word data_027e10a4 _02149aac: .word data_027e0ffc _02149ab0: .word 0x000003d2 .global func_ov15_02149ab4 arm_func_start func_ov15_02149ab4 func_ov15_02149ab4: ; 0x02149ab4 ldr r0, [r0, #0xc8] ldrh r0, [r0, #0xe] tst r0, #8 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov15_02149ab4 .global func_ov15_02149acc arm_func_start func_ov15_02149acc func_ov15_02149acc: ; 0x02149acc ldr r0, [r0, #0xc8] ldrh r0, [r0, #0xe] tst r0, #8 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov15_02149acc .global func_ov15_02149ae4 arm_func_start func_ov15_02149ae4 func_ov15_02149ae4: ; 0x02149ae4 ldr r0, [r0, #0xc8] ldr r0, [r0, #0x14] bx lr arm_func_end func_ov15_02149ae4 .global func_ov15_02149af0 arm_func_start func_ov15_02149af0 func_ov15_02149af0: ; 0x02149af0 mov r1, #1 ldr ip, _02149b0c ; =func_ov09_021154e8 strb r1, [r0, #0x1c4] mov r3, #0 mov r2, r1 strb r3, [r0, #0x1c5] bx ip .align 2, 0 arm_func_end func_ov15_02149af0 _02149b0c: .word func_ov09_021154e8 .global func_ov15_02149b10 arm_func_start func_ov15_02149b10 func_ov15_02149b10: ; 0x02149b10 mov r1, #1 strb r1, [r0, #0x1c4] ldr ip, _02149b30 ; =func_ov09_021154e8 strb r1, [r0, #0x1c5] mov r3, #0 mov r2, r1 strb r3, [r0, #0x1c8] bx ip .align 2, 0 arm_func_end func_ov15_02149b10 _02149b30: .word func_ov09_021154e8 .global func_ov15_02149b34 arm_func_start func_ov15_02149b34 func_ov15_02149b34: ; 0x02149b34 stmdb sp!, {r4, lr} mov r1, #0 mov r2, r1 mov r4, r0 bl func_ov09_021154e8 mov r0, #0 strb r0, [r4, #0x1c4] ldmia sp!, {r4, pc} arm_func_end func_ov15_02149b34 .global func_ov15_02149b54 arm_func_start func_ov15_02149b54 func_ov15_02149b54: ; 0x02149b54 mov r1, #1 strb r1, [r0, #0x1c4] mov r3, #0 strb r3, [r0, #0x1c5] ldr ip, _02149b74 ; =func_ov09_0211555c mov r2, r1 strb r3, [r0, #0x1c8] bx ip .align 2, 0 arm_func_end func_ov15_02149b54 _02149b74: .word func_ov09_0211555c .global func_ov15_02149b78 arm_func_start func_ov15_02149b78 func_ov15_02149b78: ; 0x02149b78 ldr r1, [r0, #0xd0] mov r2, #0x1000 str r2, [r1, #0x10] ldr r0, [r0, #0xd0] mov r1, #0 strh r1, [r0, #0xe] bx lr arm_func_end func_ov15_02149b78 .global func_ov15_02149b94 arm_func_start func_ov15_02149b94 func_ov15_02149b94: ; 0x02149b94 ldr r2, [r0, #0xd0] mov r1, #0 str r1, [r2, #0x10] ldr ip, _02149bac ; =func_ov00_020c0e24 ldr r0, [r0, #0xd0] bx ip .align 2, 0 arm_func_end func_ov15_02149b94 _02149bac: .word func_ov00_020c0e24 .global func_ov15_02149bb0 arm_func_start func_ov15_02149bb0 func_ov15_02149bb0: ; 0x02149bb0 stmdb sp!, {r3, lr} ldr lr, [r1] mov ip, #1 str lr, [r0, #0x104] ldr lr, [r1, #4] str lr, [r0, #0x108] ldr r1, [r1, #8] str r1, [r0, #0x10c] ldr r1, [r3] str r1, [r0, #0x110] ldr r1, [r3, #4] str r1, [r0, #0x114] ldr r1, [r3, #8] str r1, [r0, #0x118] str r2, [r0, #0x190] strb ip, [r0, #0x1c7] ldmia sp!, {r3, pc} arm_func_end func_ov15_02149bb0 .global func_ov15_02149bf4 arm_func_start func_ov15_02149bf4 func_ov15_02149bf4: ; 0x02149bf4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r5, r2, lsl #0x1 add r2, r5, #1 mov r4, r0 mov r0, r5, lsl #0x1 ldr r3, _02149cbc ; =data_02050f54 mov r2, r2, lsl #0x1 mov r5, r1 ldrsh r1, [r3, r0] ldrsh r2, [r3, r2] add r0, sp, #0 blx func_01ff81f8 ldr r0, [r4, #0xb8] ldr r1, [r4, #0x198] bl func_ov00_020a9624 mov r2, r0 add r1, sp, #0 add r0, r4, #0x11c add r2, r2, #0x28 bl func_01ff8690 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 ldr r3, _02149cbc ; =data_02050f54 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] add r0, sp, #0 blx func_01ff8230 ldr r0, [r4, #0xb8] ldr r1, [r4, #0x198] bl func_ov00_020a9624 mov r5, r0 ldr r0, [r4, #0xb8] ldr r1, [r4, #0x198] bl func_ov00_020a9624 mov r1, r0 add r2, r1, #0x28 add r0, r5, #0x28 add r1, sp, #0 bl func_01ff8690 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02149bf4 _02149cbc: .word data_02050f54 .global func_ov15_02149cc0 arm_func_start func_ov15_02149cc0 func_ov15_02149cc0: ; 0x02149cc0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r4, r0 ldrb r3, [r4, #0x1c5] mov r6, r1 mov r5, r2 cmp r3, #0 beq _02149d1c add r1, sp, #0x14 add r2, sp, #8 mov r3, r6 str r5, [sp] mov ip, #1 str ip, [sp, #4] bl func_ov15_02149e98 add r1, sp, #8 mov r0, r4 bl func_ov15_0214a874 add r1, sp, #0x14 mov r0, r4 bl func_ov15_0214a2f0 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _02149d1c: ldr r0, _02149e60 ; =data_027e0c54 bl func_020361d0 cmp r0, #0 bne _02149e2c add r1, sp, #0x14 add r2, sp, #8 mov r0, r4 mov r3, r6 str r5, [sp] mov ip, #1 str ip, [sp, #4] bl func_ov15_02149e98 add lr, sp, #0x14 ldmia lr!, {r0, r1, r2, r3} add ip, r4, #0x140 stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r0, [lr] str r0, [ip] ldr r0, [sp, #8] str r0, [r4, #0x164] ldr r0, [sp, #0xc] str r0, [r4, #0x168] ldr r0, [sp, #0x10] str r0, [r4, #0x16c] ldrb r0, [r4, #0x1c8] cmp r0, #0 bne _02149db0 mov r0, #1 strb r0, [r4, #0x1c8] ldr r0, [sp, #8] str r0, [r4, #0xec] ldr r0, [sp, #0xc] str r0, [r4, #0xf0] ldr r0, [sp, #0x10] str r0, [r4, #0xf4] _02149db0: ldr r0, _02149e60 ; =data_027e0c54 ldrb r0, [r0] cmp r0, #0 beq _02149dd4 add r1, sp, #8 mov r0, r4 bl func_ov15_0214a874 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _02149dd4: ldr r0, _02149e64 ; =data_027e10a4 ldr r1, [r0] ldr r0, [r1, #0x2c] cmp r0, #5 ldreq r0, [r1, #0x324] add r1, sp, #0x14 cmpeq r0, #6 bne _02149e10 mov r0, r4 bl func_ov15_0214a1c8 add r1, sp, #8 mov r0, r4 bl func_ov15_0214af74 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _02149e10: mov r0, r4 bl func_ov15_0214a1c8 add r1, sp, #8 mov r0, r4 bl func_ov15_0214a874 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _02149e2c: ldr r0, _02149e60 ; =data_027e0c54 ldrb r0, [r0] cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r4 add r1, r4, #0x140 bl func_ov15_0214a1c8 mov r0, r4 add r1, r4, #0x164 bl func_ov15_0214a3b0 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02149cc0 _02149e60: .word data_027e0c54 _02149e64: .word data_027e10a4 .global func_ov15_02149e68 arm_func_start func_ov15_02149e68 func_ov15_02149e68: ; 0x02149e68 add r0, r0, #0x100 mov r1, #0 strh r1, [r0, #0xb6] mov r1, #0x180 strh r1, [r0, #0xb4] bx lr arm_func_end func_ov15_02149e68 .global func_ov15_02149e80 arm_func_start func_ov15_02149e80 func_ov15_02149e80: ; 0x02149e80 add r0, r0, #0x100 mov r1, #0 strh r1, [r0, #0xb6] mov r1, #0x180 strh r1, [r0, #0xb2] bx lr arm_func_end func_ov15_02149e80 .global func_ov15_02149e98 arm_func_start func_ov15_02149e98 func_ov15_02149e98: ; 0x02149e98 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x54 mov r8, r0 ldr r0, [r8, #0x1c] mov r7, r1 ldr r1, [r0, #0x460] mov r5, r3 mov r6, r2 bl func_ov00_020a9624 mov r4, r0 mov r0, r5 mov r1, r7 bl func_020079d8 add r0, r8, #0x100 ldrsh r1, [r0, #0xb4] cmp r1, #0 beq _02149f40 ldrh r3, [r0, #0xb6] ldr r2, _0214a1c0 ; =data_02050f54 add r0, sp, #0x30 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 ldrsh r3, [r2, r3] smull ip, r3, r1, r3 adds ip, ip, #0x800 adc r1, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r1, lsl #20 mov r1, r3, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 mov ip, r3, lsl #0x1 mov r3, r1, lsl #0x1 ldrsh r1, [r2, ip] ldrsh r2, [r2, r3] blx func_01ff8230 add r0, sp, #0x30 mov r1, r7 mov r2, r7 bl func_01ff8690 _02149f40: add r0, r8, #0x100 ldrsh r1, [r0, #0xb2] cmp r1, #0 beq _02149fb4 ldrh r3, [r0, #0xb6] ldr r2, _0214a1c0 ; =data_02050f54 add r0, sp, #0x30 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 ldrsh r3, [r2, r3] smull ip, r3, r1, r3 adds ip, ip, #0x800 adc r1, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r1, lsl #20 mov r1, r3, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 mov ip, r3, lsl #0x1 mov r3, r1, lsl #0x1 ldrsh r1, [r2, ip] ldrsh r2, [r2, r3] blx func_01ff81f8 add r0, sp, #0x30 mov r1, r7 mov r2, r7 bl func_01ff8690 _02149fb4: add r0, r8, #0x100 ldrh r1, [r0, #0xb0] ldr r3, _0214a1c0 ; =data_02050f54 add r0, sp, #0x30 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, sp, #0x30 mov r1, r7 mov r2, r7 bl func_01ff8690 mov r1, r7 mov r2, r7 add r0, r4, #0x28 bl func_01ff8690 ldr r1, [r4, #0x4c] ldr r0, _0214a1c4 ; =data_027e10a4 str r1, [sp, #0x24] ldr r2, [r4, #0x50] ldr r1, [r0] str r2, [sp, #0x28] ldr r0, [r4, #0x54] mov r2, #0 str r0, [sp, #0x2c] ldr r0, [r1, #0x2c] cmp r0, #6 bne _0214a050 ldr r0, [r1, #0x430] mov r1, #1 cmp r0, #2 cmpne r0, #3 movne r1, r2 cmp r1, #0 movne r2, #1 _0214a050: cmp r2, #0 beq _0214a078 ldr r0, [sp, #0x28] ldr r1, [sp, #0x2c] add r0, r0, #0x9a add r1, r1, #0x9a add r2, r0, #0x100 add r0, r1, #0x100 str r2, [sp, #0x28] str r0, [sp, #0x2c] _0214a078: ldr r1, [r8, #0xc] add r0, sp, #0x24 bl func_01fffbec add r0, sp, #0x24 mov r1, r5 mov r2, r0 bl func_01ff88b0 add r1, sp, #0x24 ldr r0, [sp, #0x70] mov r2, r1 bl func_01ff9bc4 ldr r0, [r8, #0x1c] add r3, sp, #0 add r0, r0, #0x8c add r0, r0, #0x400 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp] ldr r0, [sp, #4] str r1, [sp, #0x18] ldr r1, [sp, #8] str r0, [sp, #0x1c] str r1, [sp, #0x20] ldr r1, [r8, #0xc] add r0, sp, #0x18 bl func_01fffbec ldrb r0, [sp, #0x74] cmp r0, #0 beq _0214a108 ldr r0, [r8, #0xa0] add r1, sp, #0x18 ldr r4, [r0] add r3, sp, #0x24 ldr r4, [r4, #0x10] mov r2, r7 blx r4 _0214a108: ldr r0, [r8, #0xa0] ldr r1, [r8, #0x194] bl func_ov00_020a9624 mov r4, r0 add r0, r4, #0x4c add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r5, [sp, #0x14] ldr r2, [sp, #0x20] ldr r1, [sp, #0x10] smull ip, r8, r5, r2 ldr r0, [sp, #0x1c] adds r5, ip, #0x800 smull r2, r0, r1, r0 adc r1, r8, #0 mov r5, r5, lsr #0xc orr r5, r5, r1, lsl #20 adds r1, r2, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [sp, #0x10] ldr r2, [sp, #0xc] ldr r1, [sp, #0x18] str r5, [sp, #0x14] smull r5, r1, r2, r1 adds r2, r5, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [sp, #0xc] mov r0, r3 mov r2, r3 mov r1, r7 bl func_01ff88b0 mov r2, r6 add r0, sp, #0x24 add r1, sp, #0xc bl func_01ff9bc4 add r0, r4, #0x28 mov r1, r7 mov r2, r7 bl func_01ff8690 add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02149e98 _0214a1c0: .word data_02050f54 _0214a1c4: .word data_027e10a4 .global func_ov15_0214a1c8 arm_func_start func_ov15_0214a1c8 func_ov15_0214a1c8: ; 0x0214a1c8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x3c ldr r2, _0214a2e4 ; =data_027e10a4 mov r5, r0 ldr r2, [r2] mov r4, r1 ldr r0, [r2, #0x2c] cmp r0, #5 bne _0214a244 ldr r0, [r2, #0x324] cmp r0, #6 cmpne r0, #5 beq _0214a244 ldr r0, _0214a2e8 ; =data_027e0f64 ldr r3, _0214a2ec ; =data_02050f54 ldr r1, [r0] mov r0, r4 ldr r1, [r1, #8] add r1, r1, #0x200 ldrsh r1, [r1, #0x26] sub r1, r1, #0x8000 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_01ff8214 _0214a244: add r0, r5, #0x100 ldrh r1, [r0, #0xb8] ldr r3, _0214a2ec ; =data_02050f54 add r0, sp, #0x18 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_01ff8230 add r0, sp, #0x18 mov r1, r4 mov r2, r4 bl func_01ff8690 ldr r0, [r5, #0x1c] add r3, sp, #0 add r0, r0, #0x8c add r0, r0, #0x400 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp] ldr r0, [sp, #4] str r1, [sp, #0xc] ldr r1, [sp, #8] str r0, [sp, #0x10] str r1, [sp, #0x14] ldr r1, [r5, #0xc] add r0, sp, #0xc bl func_01fffbec ldr r0, [r5, #0xa8] mov r2, r4 ldr r4, [r0] add r3, r5, #0xf8 ldr r4, [r4, #0x10] add r1, sp, #0xc blx r4 add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214a1c8 _0214a2e4: .word data_027e10a4 _0214a2e8: .word data_027e0f64 _0214a2ec: .word data_02050f54 .global func_ov15_0214a2f0 arm_func_start func_ov15_0214a2f0 func_ov15_0214a2f0: ; 0x0214a2f0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r5, r0 ldr r0, [r5, #0x1c] add r3, sp, #0 add r0, r0, #0x8c add r0, r0, #0x400 mov r4, r1 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0214a3a8 ; =data_027e10a4 ldr r3, [sp] ldr r2, [sp, #4] ldr r1, [sp, #8] ldr r0, [r0] str r3, [sp, #0xc] str r2, [sp, #0x10] str r1, [sp, #0x14] bl func_ov15_021520fc mov r1, r0 add r0, sp, #0xc bl func_01fffbec add r0, r5, #0x100 ldrh r1, [r0, #0xb0] ldr r3, _0214a3ac ; =data_02050f54 mov r0, r4 add r1, r1, #0x4000 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 ldr r0, [r5, #0xac] mov r2, r4 ldr r4, [r0] add r3, r5, #0xf8 ldr r4, [r4, #0x10] add r1, sp, #0xc blx r4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214a2f0 _0214a3a8: .word data_027e10a4 _0214a3ac: .word data_02050f54 .global func_ov15_0214a3b0 arm_func_start func_ov15_0214a3b0 func_ov15_0214a3b0: ; 0x0214a3b0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x80 mov r6, r0 ldr r2, [r6, #0xe0] mov r4, r1 str r2, [sp, #0x74] ldr r2, [r6, #0xe4] add r0, sp, #0x74 str r2, [sp, #0x78] ldr r2, [r6, #0xe8] add r1, sp, #0x44 str r2, [sp, #0x7c] ldr r3, [r6, #0xf8] mov r2, r0 str r3, [sp, #0x44] ldr r3, [r6, #0xfc] str r3, [sp, #0x48] ldr r3, [r6, #0x100] str r3, [sp, #0x4c] bl func_01ff9bf8 add r0, sp, #0x74 bl func_01fffb4c cmp r0, #0 addeq sp, sp, #0x80 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r2, [r6, #0xc] mov r0, #0x800 mov r1, r2, asr #0x1f mov r1, r1, lsl #0xb adds r0, r0, r2, lsl #11 orr r1, r1, r2, lsr #21 adc r2, r1, #0 mov r1, r0, lsr #0xc add r0, sp, #0x74 orr r1, r1, r2, lsl #20 bl func_01fffbec ldr r2, [sp, #0x78] ldr r0, [r4, #4] ldr r1, [r6, #0xfc] add r0, r0, r2 cmp r1, r0 addge sp, sp, #0x80 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r2, #0 addle sp, sp, #0x80 ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r2, [r6, #0xf8] ldr r1, [r6, #0xfc] ldr r0, [r6, #0x100] str r2, [sp, #0x68] str r1, [sp, #0x6c] str r0, [sp, #0x70] bl func_01ffa8d4 ldr r3, _0214a858 ; =0x0000ffff add r1, sp, #0x34 mov r0, #0x30 mov r2, #1 str r3, [sp, #0x34] bl func_01ffa9fc ldr r3, _0214a85c ; =0x001f20c0 add r1, sp, #0x30 mov r0, #0x29 mov r2, #1 str r3, [sp, #0x30] bl func_01ffa9fc ldr r0, _0214a860 ; =data_027e0d44 add r1, sp, #0x2c ldr r2, [r0] mov r0, #0x2a ldr r3, [r2, #0xb8] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 bic r3, r3, #0xe0000000 orr r3, r3, #0x6200000 orr r3, r3, #0x30000000 str r3, [sp, #0x2c] bl func_01ffa9fc ldr r1, _0214a860 ; =data_027e0d44 mov r0, #0x2b ldr r2, [r1] add r1, sp, #0x28 ldr r3, [r2, #0xbc] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x11 str r3, [sp, #0x28] bl func_01ffa9fc mov r1, #0 mov r0, #0x11 mov r2, r1 bl func_01ffa9fc ldr r1, [sp, #0x68] ldr r0, [sp, #0x6c] str r1, [sp, #0x38] ldr r1, [sp, #0x70] str r0, [sp, #0x3c] str r1, [sp, #0x40] mov r0, #0x1c add r1, sp, #0x38 mov r2, #3 bl func_01ffa9fc ldr r1, _0214a864 ; =data_027e0f64 mov r0, #0x100 str r0, [sp, #0x5c] mov r0, #0 ldr r1, [r1] str r0, [sp, #0x60] str r0, [sp, #0x64] ldr r1, [r1, #8] add r0, sp, #0x5c add r1, r1, #0x200 ldrsh r1, [r1, #0x26] sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a61ac add r1, r6, #0x100 ldrsh r1, [r1, #0xba] add r0, sp, #0x74 rsb r2, r1, #0 mov r1, r2, asr #0x1 add r1, r2, r1, lsr #30 mov r1, r1, lsl #0xe mov r1, r1, asr #0x10 bl func_ov00_020a6110 ldr r4, [sp, #0x74] mov r2, #3 mov r1, #0 mov r0, #0x3000 str r2, [sp, #0x24] umull r5, r2, r4, r0 mla r2, r4, r1, r2 mov r3, r4, asr #0x1f adds r1, r5, #0x800 mla r2, r3, r0, r2 adc r0, r2, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [sp, #0x74] add r1, sp, #0x24 mov r0, #0x40 mov r2, #1 bl func_01ffa9fc mov r4, #0 add r1, sp, #0x20 mov r0, #0x22 mov r2, #1 mov r5, r4 str r4, [sp, #0x50] str r4, [sp, #0x54] str r4, [sp, #0x58] str r4, [sp, #0x20] bl func_01ffa9fc ldr r0, [sp, #0x64] ldr r1, [sp, #0x5c] rsb r0, r0, #0 mov r0, r0, lsl #0x10 rsb r2, r1, #0 mov r3, r0, asr #0x16 mov r0, r2, lsl #0x10 ldr r1, _0214a868 ; =0x000003ff mov r2, r3, lsl #0x16 and r0, r1, r0, asr #22 orr r3, r0, r2, lsr #2 add r1, sp, #0x1c mov r0, #0x24 mov r2, #1 str r3, [sp, #0x1c] bl func_01ffa9fc mov r0, #0x200 str r0, [sp, #0x18] add r1, sp, #0x18 mov r0, #0x22 mov r2, #1 bl func_01ffa9fc ldr r0, [sp, #0x64] ldr r1, [sp, #0x5c] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r3, r0, lsl #0x16 ldr r2, _0214a868 ; =0x000003ff mov r1, r1, lsl #0x10 and r1, r2, r1, asr #22 orr r1, r1, r3, lsr #2 str r1, [sp, #0x14] mov r0, #0x24 add r1, sp, #0x14 mov r2, #1 bl func_01ffa9fc ldr r0, _0214a86c ; =0x00000333 mov r7, #0x400 add r11, r0, #0xcc mov r8, r11 rsb r7, r7, #0 _0214a6bc: ldr lr, [sp, #0x74] ldr r3, _0214a86c ; =0x00000333 cmp r5, #0x80000 umull r10, r9, lr, r3 mov r3, #0 mla r9, lr, r3, r9 moveq r5, #0 movne r5, #0x80000 add r0, sp, #0x50 ldr r3, _0214a86c ; =0x00000333 mov ip, lr, asr #0x1f mla r9, ip, r3, r9 adds r10, r10, #0x800 adc r3, r9, #0 mov r9, r10, lsr #0xc orr r9, r9, r3, lsl #20 add r1, sp, #0x74 mov r2, r0 str r9, [sp, #0x74] bl func_01ff9bc4 ldr r1, [r6, #0xfc] ldr r0, [sp, #0x54] mov r2, #1 add r0, r1, r0 str r0, [sp, #0x6c] mov r0, r5, lsl #0x8 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r9, r0, lsl #0x10 mov r0, #0x22 add r1, sp, #0x10 add r4, r4, #1 str r9, [sp, #0x10] bl func_01ffa9fc ldr r1, [sp, #0x58] ldr r0, [sp, #0x64] ldr r3, [sp, #0x50] sub r0, r1, r0 ldr r1, [sp, #0x5c] mov r0, r0, lsl #0x10 sub r1, r3, r1 mov r1, r1, lsl #0x10 mov r0, r0, asr #0x16 ldr r2, [sp, #0x54] and r3, r11, r1, asr #22 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x16 mov r1, r1, lsl #0x16 mov r0, r0, lsl #0x16 orr r1, r3, r1, lsr #12 orr r0, r1, r0, lsr #2 str r0, [sp, #0xc] mov r0, #0x24 add r1, sp, #0xc mov r2, #1 bl func_01ffa9fc orr r0, r9, #0x200 str r0, [sp, #8] mov r0, #0x22 add r1, sp, #8 mov r2, #1 bl func_01ffa9fc ldr r1, [sp, #0x58] ldr r0, [sp, #0x64] ldr r3, [sp, #0x50] add r0, r1, r0 ldr r1, [sp, #0x5c] mov r0, r0, lsl #0x10 add r1, r3, r1 mov r1, r1, lsl #0x10 mov r0, r0, asr #0x16 ldr r2, [sp, #0x54] and r3, r8, r1, asr #22 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x16 mov r1, r1, lsl #0x16 mov r0, r0, lsl #0x16 orr r1, r3, r1, lsr #12 orr r0, r1, r0, lsr #2 str r0, [sp, #4] mov r0, #0x24 add r1, sp, #4 mov r2, #1 bl func_01ffa9fc ldr r0, _0214a870 ; =data_ov15_0218b704 ldr r0, [r0, #0x24] cmp r4, r0 bhs _0214a82c ldr r0, [sp, #0x6c] cmp r0, r7 ble _0214a6bc _0214a82c: mov r1, #0 mov r2, r1 mov r0, #0x41 bl func_01ffa9fc mov r2, #1 add r1, sp, #0 mov r0, #0x12 str r2, [sp] bl func_01ffa9fc add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214a3b0 _0214a858: .word 0x0000ffff _0214a85c: .word 0x001f20c0 _0214a860: .word data_027e0d44 _0214a864: .word data_027e0f64 _0214a868: .word 0x000003ff _0214a86c: .word 0x00000333 _0214a870: .word data_ov15_0218b704 .global func_ov15_0214a874 arm_func_start func_ov15_0214a874 func_ov15_0214a874: ; 0x0214a874 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xb4 mov r10, r0 ldr r3, [r10, #0xc] mov r0, #0x800 mov r2, r3, asr #0x1f mov r2, r2, lsl #0xb adds r4, r0, r3, lsl #11 orr r2, r2, r3, lsr #21 ldrb r0, [r10, #0x1c5] adc r2, r2, #0 mov r4, r4, lsr #0xc mov r9, r1 cmp r0, #0 orr r4, r4, r2, lsl #20 beq _0214a8e8 ldr r0, _0214af58 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_021520f0 smull r0, r1, r4, r0 adds r2, r0, #0x800 mov r0, #0 adc r1, r1, #0 mov r4, r2, lsr #0xc orr r4, r4, r1, lsl #20 str r0, [sp, #0xa8] str r4, [sp, #0xac] str r0, [sp, #0xb0] b _0214a95c _0214a8e8: ldr r1, [r9] add r0, sp, #0xa8 str r1, [sp, #0xa8] ldr r2, [r9, #4] add r1, sp, #0x6c str r2, [sp, #0xac] ldr r3, [r9, #8] mov r2, r0 str r3, [sp, #0xb0] ldr r3, [r10, #0xf8] str r3, [sp, #0x6c] ldr r3, [r10, #0xfc] str r3, [sp, #0x70] ldr r3, [r10, #0x100] str r3, [sp, #0x74] bl func_01ff9bf8 ldr r1, [sp, #0xac] ldr r0, [sp, #0xa8] mov r2, r1, asr #0x2 cmp r0, r1, asr #2 add r0, sp, #0xa8 strgt r2, [sp, #0xa8] bl func_01fffb4c cmp r0, #0 addeq sp, sp, #0xb4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0xa8 mov r1, r4 bl func_01fffbec _0214a95c: ldr r2, [sp, #0xac] ldr r0, [r9, #4] ldr r1, [r10, #0xfc] add r0, r0, r2 cmp r1, r0 addge sp, sp, #0xb4 ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r2, #0 addle sp, sp, #0xb4 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r2, [r9] ldr r1, [r9, #4] ldr r0, [r9, #8] str r2, [sp, #0x9c] str r1, [sp, #0xa0] str r0, [sp, #0xa4] bl func_01ffa8d4 ldr r3, _0214af5c ; =0x0000ffff add r1, sp, #0x44 mov r0, #0x30 mov r2, #1 str r3, [sp, #0x44] bl func_01ffa9fc ldr r3, _0214af60 ; =0x001f20c0 add r1, sp, #0x40 mov r0, #0x29 mov r2, #1 str r3, [sp, #0x40] bl func_01ffa9fc ldr r0, _0214af64 ; =data_027e0d44 add r1, sp, #0x3c ldr r2, [r0] mov r0, #0x2a ldr r3, [r2, #0xb8] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 bic r3, r3, #0xe0000000 orr r3, r3, #0x6200000 orr r3, r3, #0x30000000 str r3, [sp, #0x3c] bl func_01ffa9fc ldr r1, _0214af64 ; =data_027e0d44 mov r0, #0x2b ldr r2, [r1] add r1, sp, #0x38 ldr r3, [r2, #0xbc] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x11 str r3, [sp, #0x38] bl func_01ffa9fc mov r1, #0 mov r0, #0x11 mov r2, r1 bl func_01ffa9fc ldr r1, [sp, #0x9c] ldr r0, [sp, #0xa0] str r1, [sp, #0x48] ldr r1, [sp, #0xa4] str r0, [sp, #0x4c] str r1, [sp, #0x50] mov r0, #0x1c add r1, sp, #0x48 mov r2, #3 bl func_01ffa9fc ldr r1, [r9] ldr r0, _0214af58 ; =data_027e10a4 str r1, [sp, #0x90] ldr r1, [r0] ldr r0, [r9, #4] str r0, [sp, #0x94] ldr r0, [r9, #8] str r0, [sp, #0x98] ldr r0, [r1, #0x2c] cmp r0, #5 bne _0214aab8 ldr r0, [r1, #0x324] cmp r0, #6 cmpne r0, #5 beq _0214aab8 ldr r2, [r10, #0xf0] ldr r1, [r10, #0xf4] ldr r0, [r10, #0xec] str r0, [sp, #0x90] str r2, [sp, #0x94] str r1, [sp, #0x98] _0214aab8: ldr r1, [r10, #0xf8] add r0, sp, #0x90 str r1, [sp, #0x54] ldr r2, [r10, #0xfc] add r1, sp, #0x54 str r2, [sp, #0x58] ldr r3, [r10, #0x100] mov r2, r0 str r3, [sp, #0x5c] bl func_01ff9bf8 add r0, sp, #0x90 mov r5, #0 bl func_01ff9cec cmp r0, r4 blt _0214ab04 _0214aaf4: sub r0, r0, r4 cmp r0, r4 add r5, r5, #1 bge _0214aaf4 _0214ab04: mov r1, r4 bl Divide mov r7, r0 mov r2, #0 rsb r4, r7, #0x1000 mov r0, r4, asr #0x1f mov r6, r0, lsl #0x13 mov r0, #0x800 mov r3, #0x100 ldr r1, _0214af58 ; =data_027e10a4 adds r8, r0, r4, lsl #19 orr r6, r6, r4, lsr #13 ldr r0, [r1] str r3, [sp, #0x84] str r2, [sp, #0x88] str r2, [sp, #0x8c] ldr r1, [r0, #0x2c] adc r2, r6, #0 cmp r1, #5 ldreq r1, [r0, #0x324] mov r4, r8, lsr #0xc cmpeq r1, #5 moveq r0, #0xaa orr r4, r4, r2, lsl #20 streq r0, [sp, #0x84] beq _0214ab98 ldrb r1, [r10, #0x1c5] cmp r1, #0 beq _0214ab98 bl func_ov15_021520e4 ldr r1, [sp, #0x84] smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [sp, #0x84] _0214ab98: ldr r0, _0214af58 ; =data_027e10a4 ldr r1, [r0] ldr r0, [r1, #0x2c] cmp r0, #5 ldreq r0, [r1, #0x324] cmpeq r0, #5 bne _0214abc4 ldr r0, _0214af68 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] b _0214abd0 _0214abc4: ldr r0, _0214af68 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #8] _0214abd0: add r0, r0, #0x200 ldrsh r0, [r0, #0x26] sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, lsl #0x10 add r0, sp, #0x84 mov r1, r1, asr #0x10 bl func_ov00_020a61ac mov r3, #3 add r1, sp, #0x34 mov r0, #0x40 mov r2, #1 str r3, [sp, #0x34] bl func_01ffa9fc mov r0, r4, lsl #0x8 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r4, r0, lsl #0x10 add r1, sp, #0x30 mov r0, #0x22 mov r2, #1 str r4, [sp, #0x30] bl func_01ffa9fc ldr r0, [sp, #0x8c] ldr r1, [sp, #0x84] rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r3, r0, lsl #0x16 rsb r0, r1, #0 mov r1, r0, lsl #0x10 ldr r2, _0214af6c ; =0x000003ff mov r0, #0x24 and r1, r2, r1, asr #22 orr r1, r1, r3, lsr #2 str r1, [sp, #0x2c] add r1, sp, #0x2c mov r2, #1 bl func_01ffa9fc orr r0, r4, #0x200 str r0, [sp, #0x28] mov r0, #0x22 add r1, sp, #0x28 mov r2, #1 bl func_01ffa9fc ldr r0, [sp, #0x8c] ldr r1, [sp, #0x84] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r3, r0, lsl #0x16 ldr r2, _0214af6c ; =0x000003ff mov r1, r1, lsl #0x10 and r1, r2, r1, asr #22 orr r1, r1, r3, lsr #2 str r1, [sp, #0x24] mov r0, #0x24 add r1, sp, #0x24 mov r2, #1 bl func_01ffa9fc mov r0, #0 str r0, [sp, #0x78] str r0, [sp, #0x7c] str r0, [sp, #0x80] add r0, sp, #0x78 add r1, sp, #0xa8 mov r2, r0 mov r6, #0x80000 bl func_01ff9bf8 mov r1, r7 add r0, sp, #0x78 bl func_01fffbec mov r0, #0x8000000 str r0, [sp, #0x20] mov r0, #0x22 add r1, sp, #0x20 mov r2, #1 bl func_01ffa9fc ldr r0, [sp, #0x7c] ldr r3, [sp, #0x80] ldr r2, [sp, #0x8c] mov r1, r0, lsl #0x10 sub r0, r3, r2 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x16 mov r2, r1, asr #0x16 ldr r3, [sp, #0x78] ldr r0, [sp, #0x84] ldr r1, _0214af6c ; =0x000003ff sub r0, r3, r0 mov r0, r0, lsl #0x10 and r1, r1, r0, asr #22 mov r0, r2, lsl #0x16 orr r0, r1, r0, lsr #12 mov r2, r4, lsl #0x16 orr r3, r0, r2, lsr #2 add r1, sp, #0x1c mov r0, #0x24 mov r2, #1 str r3, [sp, #0x1c] bl func_01ffa9fc ldr r3, _0214af70 ; =0x08000200 add r1, sp, #0x18 mov r0, #0x22 mov r2, #1 str r3, [sp, #0x18] bl func_01ffa9fc ldr r0, [sp, #0x7c] ldr r3, [sp, #0x80] ldr r2, [sp, #0x8c] mov r1, r0, lsl #0x10 add r0, r3, r2 mov r3, r1, asr #0x16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 ldr r2, [sp, #0x78] ldr r1, [sp, #0x84] mov r0, r0, lsl #0x16 add r1, r2, r1 ldr r2, _0214af6c ; =0x000003ff mov r1, r1, lsl #0x10 and r2, r2, r1, asr #22 mov r1, r3, lsl #0x16 orr r1, r2, r1, lsr #12 orr r3, r1, r0, lsr #2 add r1, sp, #0x14 mov r0, #0x24 mov r2, #1 str r3, [sp, #0x14] bl func_01ffa9fc cmp r5, #0 mov r7, #0 ble _0214af2c mov r4, #0x400 ldr r11, _0214af6c ; =0x000003ff rsb r4, r4, #0 _0214adf4: cmp r6, #0x80000 moveq r6, #0 add r0, sp, #0x78 movne r6, #0x80000 add r1, sp, #0xa8 mov r2, r0 bl func_01ff9bf8 mov r0, r6, lsl #0x8 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r8, r0, lsl #0x10 mov r0, #0x22 add r1, sp, #0x10 mov r2, #1 str r8, [sp, #0x10] bl func_01ffa9fc ldr r2, [sp, #0x7c] ldr r1, [sp, #0x80] ldr r0, [sp, #0x8c] mov r2, r2, lsl #0x10 sub r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r1, r0, lsl #0x16 mov r2, r2, asr #0x16 ldr r3, [sp, #0x78] ldr r0, [sp, #0x84] mov r2, r2, lsl #0x16 sub r0, r3, r0 mov r0, r0, lsl #0x10 and r0, r11, r0, asr #22 orr r0, r0, r2, lsr #12 orr r0, r0, r1, lsr #2 str r0, [sp, #0xc] mov r0, #0x24 add r1, sp, #0xc mov r2, #1 bl func_01ffa9fc orr r0, r8, #0x200 str r0, [sp, #8] mov r0, #0x22 add r1, sp, #8 mov r2, #1 bl func_01ffa9fc ldr r1, [sp, #0x80] ldr r0, [sp, #0x8c] ldr r3, [sp, #0x78] add r0, r1, r0 ldr r1, [sp, #0x84] mov r0, r0, lsl #0x10 add r1, r3, r1 mov r1, r1, lsl #0x10 mov r0, r0, asr #0x16 ldr r2, [sp, #0x7c] and r3, r11, r1, asr #22 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x16 mov r1, r1, lsl #0x16 mov r0, r0, lsl #0x16 orr r1, r3, r1, lsr #12 orr r0, r1, r0, lsr #2 str r0, [sp, #4] mov r0, #0x24 add r1, sp, #4 mov r2, #1 bl func_01ffa9fc ldr r2, [r9, #4] ldr r1, [sp, #0x7c] ldr r0, [r10, #0xfc] add r1, r2, r1 cmp r1, r0 cmpge r1, r4 blt _0214af28 add r7, r7, #1 cmp r7, r5 blt _0214adf4 _0214af28: str r1, [sp, #0xa0] _0214af2c: mov r1, #0 mov r2, r1 mov r0, #0x41 bl func_01ffa9fc mov r2, #1 add r1, sp, #0 mov r0, #0x12 str r2, [sp] bl func_01ffa9fc add sp, sp, #0xb4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214a874 _0214af58: .word data_027e10a4 _0214af5c: .word 0x0000ffff _0214af60: .word 0x001f20c0 _0214af64: .word data_027e0d44 _0214af68: .word data_027e0f64 _0214af6c: .word 0x000003ff _0214af70: .word 0x08000200 .global func_ov15_0214af74 arm_func_start func_ov15_0214af74 func_ov15_0214af74: ; 0x0214af74 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 mov r5, r0 ldr r2, [r5, #0xfc] ldr r0, [r1, #4] add r1, r2, #0x10 cmp r1, r0 addge sp, sp, #0x50 ldmgeia sp!, {r3, r4, r5, pc} ldr r2, [r5, #0xc] mov r0, #0x800 mov r1, r2, asr #0x1f mov r1, r1, lsl #0xb adds r3, r0, r2, lsl #11 orr r1, r1, r2, lsr #21 adc r0, r1, #0 mov r4, r3, lsr #0xc orr r4, r4, r0, lsl #20 bl func_01ffa8d4 ldr r3, _0214b274 ; =0x0000ffff add r1, sp, #0x34 mov r0, #0x30 mov r2, #1 str r3, [sp, #0x34] bl func_01ffa9fc ldr r3, _0214b278 ; =0x001f20c0 add r1, sp, #0x30 mov r0, #0x29 mov r2, #1 str r3, [sp, #0x30] bl func_01ffa9fc ldr r1, _0214b27c ; =data_027e0d44 mov r0, #0x2a ldr r2, [r1] add r1, sp, #0x2c ldr r3, [r2, #0xb8] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 bic r3, r3, #0xe0000000 orr r3, r3, #0x6200000 orr r3, r3, #0x30000000 str r3, [sp, #0x2c] bl func_01ffa9fc ldr r1, _0214b27c ; =data_027e0d44 mov r0, #0x2b ldr r2, [r1] add r1, sp, #0x28 ldr r3, [r2, #0xbc] mov r2, #1 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x11 str r3, [sp, #0x28] bl func_01ffa9fc mov r1, #0 mov r0, #0x11 mov r2, r1 bl func_01ffa9fc ldr r1, [r5, #0xfc] ldr r2, [r5, #0x100] ldr r0, [r5, #0xf8] add r1, r1, r4 str r0, [sp, #0x38] sub r0, r1, #0x60 str r2, [sp, #0x40] str r0, [sp, #0x3c] mov r0, #0x1c add r1, sp, #0x38 mov r2, #3 bl func_01ffa9fc ldr r1, _0214b280 ; =data_027e0f64 mov r0, #0x100 str r0, [sp, #0x44] mov r0, #0 ldr r1, [r1] str r0, [sp, #0x48] str r0, [sp, #0x4c] ldr r1, [r1, #4] add r0, sp, #0x44 add r1, r1, #0x200 ldrsh r1, [r1, #0x26] sub r1, r1, #0xa000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a61ac mov r0, #3 str r0, [sp, #0x24] mov r0, #0x40 add r1, sp, #0x24 mov r2, #1 bl func_01ffa9fc mov r0, #0 str r0, [sp, #0x20] add r1, sp, #0x20 mov r0, #0x22 mov r2, #1 bl func_01ffa9fc ldr r0, [sp, #0x4c] ldr r1, [sp, #0x44] rsb r0, r0, #0 mov r0, r0, lsl #0x10 rsb r2, r1, #0 mov r3, r0, asr #0x16 mov r0, r2, lsl #0x10 ldr r1, _0214b284 ; =0x000003ff mov r2, r3, lsl #0x16 and r0, r1, r0, asr #22 orr r3, r0, r2, lsr #2 add r1, sp, #0x1c mov r0, #0x24 mov r2, #1 str r3, [sp, #0x1c] bl func_01ffa9fc mov r3, #0x200 add r1, sp, #0x18 mov r0, #0x22 mov r2, #1 str r3, [sp, #0x18] bl func_01ffa9fc ldr r0, [sp, #0x4c] ldr r2, [sp, #0x44] mov r0, r0, lsl #0x10 mov r3, r0, asr #0x16 mov r0, r2, lsl #0x10 ldr r1, _0214b284 ; =0x000003ff mov r2, r3, lsl #0x16 and r0, r1, r0, asr #22 orr r3, r0, r2, lsr #2 add r1, sp, #0x14 mov r0, #0x24 mov r2, #1 str r3, [sp, #0x14] bl func_01ffa9fc mov r0, #0x8000000 str r0, [sp, #0x10] add r1, sp, #0x10 mov r0, #0x22 mov r2, #1 bl func_01ffa9fc rsb r0, r4, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r4, r0, lsl #0x16 ldr r0, [sp, #0x4c] ldr r1, [sp, #0x44] rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r3, r0, lsl #0x16 rsb r0, r1, #0 mov r1, r0, lsl #0x10 ldr r2, _0214b284 ; =0x000003ff mov r0, #0x24 and r1, r2, r1, asr #22 orr r1, r1, r4, lsr #12 orr r1, r1, r3, lsr #2 str r1, [sp, #0xc] add r1, sp, #0xc mov r2, #1 bl func_01ffa9fc ldr r1, _0214b288 ; =0x08000200 mov r0, #0x22 str r1, [sp, #8] add r1, sp, #8 mov r2, #1 bl func_01ffa9fc ldr r0, [sp, #0x4c] ldr r1, [sp, #0x44] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x16 mov r2, r0, lsl #0x16 mov r0, r1, lsl #0x10 ldr r1, _0214b284 ; =0x000003ff and r0, r1, r0, asr #22 orr r0, r0, r4, lsr #12 orr r0, r0, r2, lsr #2 str r0, [sp, #4] add r1, sp, #4 mov r0, #0x24 mov r2, #1 bl func_01ffa9fc mov r1, #0 mov r2, r1 mov r0, #0x41 bl func_01ffa9fc mov r2, #1 add r1, sp, #0 mov r0, #0x12 str r2, [sp] bl func_01ffa9fc add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214af74 _0214b274: .word 0x0000ffff _0214b278: .word 0x001f20c0 _0214b27c: .word data_027e0d44 _0214b280: .word data_027e0f64 _0214b284: .word 0x000003ff _0214b288: .word 0x08000200 .global func_ov15_0214b28c arm_func_start func_ov15_0214b28c func_ov15_0214b28c: ; 0x0214b28c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a956c ldr r0, _0214b2cc ; =data_ov15_0218b818 mov r2, #0 str r0, [r4] mvn r1, #0 _0214b2a8: add r0, r4, r2, lsl #2 add r2, r2, #1 str r1, [r0, #0x5c] cmp r2, #5 blt _0214b2a8 mov r1, #0 mov r0, r4 strb r1, [r4, #0x130] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214b28c _0214b2cc: .word data_ov15_0218b818 .global func_ov15_0214b2d0 arm_func_start func_ov15_0214b2d0 func_ov15_0214b2d0: ; 0x0214b2d0 ldr ip, _0214b2e0 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0214b2d0 _0214b2e0: .word func_ov00_020a9998 .global func_ov15_0214b2e4 arm_func_start func_ov15_0214b2e4 func_ov15_0214b2e4: ; 0x0214b2e4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x3c mov r7, r1 ldr r1, [r7, #8] ldr r4, [r7, #4] mov r8, r0 tst r1, #0x10 ldrneb r2, [r7, #0xae] ldrb r0, [r4, #0x25] mvneq r2, #0 cmp r0, #2 bne _0214b3a4 ldrb r0, [r8, #0x130] cmp r0, #0 beq _0214b390 mov r1, #0 _0214b324: add r0, r8, r1, lsl #2 ldr r0, [r0, #0x5c] cmp r2, r0 bne _0214b384 mov r0, #0x24 mul r6, r1, r0 ldr r5, [r7, #0xb4] add r0, r8, #0x70 ldr r1, [r5] add r0, r0, r6 bic r3, r1, #2 add r1, r5, #0x28 mov r2, r1 str r3, [r5], #0x28 bl func_01ff8690 add r0, r8, r6 add r6, r0, #0x70 ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldr r0, [r6] str r0, [r5] b _0214b390 _0214b384: add r1, r1, #1 cmp r1, #5 blt _0214b324 _0214b390: mov r0, #3 strb r0, [r7, #0x92] add sp, sp, #0x3c strb r0, [r4, #0x25] ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0214b3a4: ldr r0, [r8, #0x6c] cmp r2, r0 bne _0214b3f4 add r0, sp, #0xc mov r1, #0 bl func_0201b1bc mov r3, #0 add r0, sp, #0 mov r5, #0x800 add r1, sp, #0xc mov r2, r0 str r5, [sp] str r3, [sp, #4] str r3, [sp, #8] bl func_01ff9158 bl func_02018450 mov r1, r0 add r0, sp, #0 add r2, r8, #0x124 bl func_01ff9158 _0214b3f4: mov r0, #2 strb r0, [r7, #0x92] strb r0, [r4, #0x25] add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov15_0214b2e4 .global func_ov15_0214b408 arm_func_start func_ov15_0214b408 func_ov15_0214b408: ; 0x0214b408 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x78 mov r9, r0 ldr r0, _0214b5f4 ; =0x0000019a ldr r1, [r9, #0xc0] str r0, [sp, #0x6c] str r0, [sp, #0x70] str r0, [sp, #0x74] cmp r1, #0 ldrneb r0, [r9, #0x1c9] cmpne r0, #0 beq _0214b590 ldr r4, [r1, #4] add r0, sp, #0x54 ldr r2, [r4, #0xe0] add r1, sp, #0x60 str r2, [sp, #0x60] ldr r3, [r4, #0xe4] mov r2, r0 str r3, [sp, #0x64] ldr r3, [r4, #0xe8] str r3, [sp, #0x68] ldr r3, [r9, #0x110] str r3, [sp, #0x54] ldr r3, [r9, #0x114] str r3, [sp, #0x58] ldr r3, [r9, #0x118] str r3, [sp, #0x5c] bl func_01ff9bf8 add r0, sp, #0x54 mov r1, r0 bl func_01ff9d4c ldr r1, [r9, #0x190] add r0, sp, #0x54 bl func_01fffbec mov r1, #0 mov r0, #0x1000 str r1, [sp, #0x48] str r0, [sp, #0x4c] str r1, [sp, #0x50] ldr r0, [r9, #0x10c] ldr r1, [r9, #0x108] bl func_01ffa0f4 ldr r0, [r9, #0x104] ldr r1, [r9, #0x108] bl func_01ffa0f4 mov r7, #0 mov r10, #0x180 ldr r4, _0214b5f8 ; =data_02050f54 mov r8, r7 rsb r10, r10, #0 add r6, sp, #0x3c add r5, sp, #0x48 add r11, sp, #0x18 _0214b4e0: add r1, r7, #1 mul r0, r1, r1 mul r1, r0, r10 ldr ip, [sp, #0x54] ldr r3, [sp, #0x58] ldr r2, [sp, #0x5c] mov r0, r6 str ip, [sp, #0x3c] str r3, [sp, #0x40] str r2, [sp, #0x44] bl func_01fffbec mov r0, r6 mov r1, r5 mov r2, r6 bl func_01ff9bc4 ldr r0, [sp, #0x3c] ldr r1, [sp, #0x40] bl func_01ffa0f4 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r4, r2, lsl #1 ldrsh r1, [r4, r1] ldrsh r2, [r2, #2] mov r0, r11 blx func_01ff8214 ldr r0, [r9, #0xb4] add r7, r7, #1 add r0, r0, r8 add lr, sp, #0x18 add ip, r0, #0x70 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r0, [lr] add r8, r8, #0x24 cmp r7, #5 str r0, [ip] blt _0214b4e0 ldr r0, [r9, #0xb4] mov r1, #1 strb r1, [r0, #0x130] b _0214b59c _0214b590: ldr r0, [r9, #0xb4] mov r1, #0 strb r1, [r0, #0x130] _0214b59c: ldr r1, [r9, #0xc0] ldr r0, [r9, #0xb4] ldr r1, [r1, #4] add r1, r1, #0x5c bl func_ov00_020b3ee8 ldr r0, [r9, #0xb4] add r3, sp, #0xc add r0, r0, #0x124 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0214b5fc ; =data_027e10a4 ldr r4, [sp, #0xc] ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] ldr r0, [r0] add r1, sp, #0 str r4, [sp] str r3, [sp, #4] str r2, [sp, #8] bl func_ov15_0214b600 add sp, sp, #0x78 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214b408 _0214b5f4: .word 0x0000019a _0214b5f8: .word data_02050f54 _0214b5fc: .word data_027e10a4 .global func_ov15_0214b600 arm_func_start func_ov15_0214b600 func_ov15_0214b600: ; 0x0214b600 ldr r2, [r1] str r2, [r0, #0x390] ldr r2, [r1, #4] str r2, [r0, #0x394] ldr r1, [r1, #8] str r1, [r0, #0x398] bx lr arm_func_end func_ov15_0214b600 .global func_ov15_0214b61c arm_func_start func_ov15_0214b61c func_ov15_0214b61c: ; 0x0214b61c stmdb sp!, {r4, lr} sub sp, sp, #0x48 ldr r1, _0214b7c4 ; =data_027e10a4 mov r4, r0 ldr r1, [r1] add r0, sp, #0x3c bl func_ov15_0214850c ldr r1, [r4, #0x110] add r0, sp, #0x30 str r1, [sp, #0x30] ldr r2, [r4, #0x114] add r1, sp, #0x3c str r2, [sp, #0x34] ldr r3, [r4, #0x118] mov r2, r0 str r3, [sp, #0x38] bl func_01ff9bf8 add r0, sp, #0x30 bl func_01ff9cec movs r4, r0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, pc} add r0, sp, #0x30 bl func_01fffb4c cmp r0, #0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, pc} bl func_01ffa8d4 ldr r3, _0214b7c8 ; =0x0000ffff add r1, sp, #0x20 mov r0, #0x30 mov r2, #1 str r3, [sp, #0x20] bl func_01ffa9fc ldr r3, _0214b7cc ; =0x001f20c0 add r1, sp, #0x1c mov r0, #0x29 mov r2, #1 str r3, [sp, #0x1c] bl func_01ffa9fc mov r3, #0 add r1, sp, #0x18 mov r0, #0x2a mov r2, #1 str r3, [sp, #0x18] bl func_01ffa9fc mov r1, #0 mov r0, #0x11 mov r2, r1 bl func_01ffa9fc mov r0, #0x1c add r1, sp, #0x3c mov r2, #3 bl func_01ffa9fc mov r0, #0x1b add r1, sp, #0x24 mov r2, #3 str r4, [sp, #0x24] str r4, [sp, #0x28] str r4, [sp, #0x2c] bl func_01ffa9fc mov r0, #2 str r0, [sp, #0x14] mov r0, #0x40 add r1, sp, #0x14 mov r2, #1 bl func_01ffa9fc mov r0, #0 str r0, [sp, #0x10] mov r0, #0x24 add r1, sp, #0x10 mov r2, #1 bl func_01ffa9fc mov r0, #0 str r0, [sp, #0xc] mov r0, #0x24 add r1, sp, #0xc mov r2, #1 bl func_01ffa9fc mov r0, #0x1c add r1, sp, #0x30 mov r2, #3 bl func_01ffa9fc mov r0, #0 str r0, [sp, #8] mov r0, #0x24 add r1, sp, #8 mov r2, #1 bl func_01ffa9fc mov r0, #0 str r0, [sp, #4] mov r0, #0x24 add r1, sp, #4 mov r2, #1 bl func_01ffa9fc mov r1, #0 mov r2, r1 mov r0, #0x41 bl func_01ffa9fc mov r2, #1 add r1, sp, #0 mov r0, #0x12 str r2, [sp] bl func_01ffa9fc add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214b61c _0214b7c4: .word data_027e10a4 _0214b7c8: .word 0x0000ffff _0214b7cc: .word 0x001f20c0 .global func_ov15_0214b7d0 arm_func_start func_ov15_0214b7d0 func_ov15_0214b7d0: ; 0x0214b7d0 stmdb sp!, {r4, lr} sub sp, sp, #0x30 ldr r1, _0214b82c ; =data_027e10a4 mov r4, r0 ldr r0, [r1] bl func_ov15_02152108 ldr r2, _0214b830 ; =data_02050f54 str r0, [sp, #0x24] ldrsh r1, [r2] ldrsh r2, [r2, #2] str r0, [sp, #0x28] str r0, [sp, #0x2c] add r0, sp, #0 blx func_01ff8214 ldr r0, [r4, #0xb0] add r1, sp, #0x24 ldr ip, [r0] add r2, sp, #0 ldr ip, [ip, #0x10] add r3, r4, #0x110 blx ip add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214b7d0 _0214b82c: .word data_027e10a4 _0214b830: .word data_02050f54 .global func_ov15_0214b834 arm_func_start func_ov15_0214b834 func_ov15_0214b834: ; 0x0214b834 stmdb sp!, {r3, r4, r5, lr} add r1, r0, r1, lsl #2 ldr r4, [r1, #0x19c] mov r5, r2 cmp r4, #0 ldmltia sp!, {r3, r4, r5, pc} ldr r0, [r0, #0xb8] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r1, r4 mov r2, r5 bl func_02019570 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0214b834 .global func_ov15_0214b86c arm_func_start func_ov15_0214b86c func_ov15_0214b86c: ; 0x0214b86c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x3c mov r6, r0 ldr r0, [r6, #0xb8] mov r5, r1 cmp r0, #0 mov r4, r2 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, _0214bb88 ; =gItemManager mov r1, #0x25 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldr r1, _0214bb88 ; =gItemManager mov r7, r0 ldr r0, [r1] mov r1, #0 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 beq _0214b8c8 cmp r7, #0 moveq r8, #1 beq _0214b8cc _0214b8c8: mov r8, #0 _0214b8cc: cmp r8, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #0 bl func_ov15_0214b834 cmp r8, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #1 bl func_ov15_0214b834 cmp r7, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #2 bl func_ov15_0214b834 cmp r7, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #3 bl func_ov15_0214b834 ldr r0, _0214bb8c ; =data_027e10a4 ldr r1, _0214bb90 ; =data_ov15_0218b704 ldr r2, [r0] ldr r0, [r1, #0x3c] ldrsh ip, [r2, #0x90] ldr r3, _0214bb94 ; =data_027e0fb0 add r2, r6, #0x100 mul lr, ip, r0 ldrsh ip, [r3] mov r0, lr, asr #0xb add r0, lr, r0, lsr #20 ldrsh r3, [r2, #0xc0] mov r0, r0, lsl #0x4 rsb ip, ip, #0 add r0, r3, r0, asr #16 strh r0, [r2, #0xc0] mov r0, ip, lsl #0x10 ldr lr, [r1, #0x34] ldrsh ip, [r2, #0xc0] rsb r1, lr, #0 mov r1, r1, lsl #0x10 mov r3, r1, asr #0x10 cmp ip, r1, asr #16 mov r0, r0, asr #0x10 strlth r3, [r2, #0xc0] blt _0214b9a4 mov r1, lr, lsl #0x10 cmp ip, r1, asr #16 mov r1, r1, asr #0x10 strgth r1, [r2, #0xc0] _0214b9a4: ldr r2, _0214bb90 ; =data_ov15_0218b704 add r1, r6, #0x100 ldr r3, [r2, #0x40] ldrsh ip, [r1, #0xc2] mul r3, r0, r3 mov r0, r3, asr #0xb add r0, r3, r0, lsr #20 mov r0, r0, lsl #0x4 add r0, ip, r0, asr #16 strh r0, [r1, #0xc2] ldr r3, [r2, #0x38] ldrsh r2, [r1, #0xc2] rsb r0, r3, #0 mov r0, r0, lsl #0x10 cmp r2, r0, asr #16 mov r0, r0, asr #0x10 strlth r0, [r1, #0xc2] blt _0214b9fc mov r0, r3, lsl #0x10 cmp r2, r0, asr #16 mov r0, r0, asr #0x10 strgth r0, [r1, #0xc2] _0214b9fc: add r1, r6, #0x100 ldrsh r3, [r1, #0xbc] ldrsh r2, [r1, #0xc0] ldr r0, _0214bb90 ; =data_ov15_0218b704 add r2, r3, r2 strh r2, [r1, #0xbc] ldr r3, [r0, #0x28] ldrsh r2, [r1, #0xbc] rsb r0, r3, #0 mov r0, r0, lsl #0x10 cmp r2, r0, asr #16 mov r0, r0, asr #0x10 bge _0214ba40 strh r0, [r1, #0xbc] mov r0, #0 strh r0, [r1, #0xc0] b _0214ba58 _0214ba40: mov r0, r3, lsl #0x10 cmp r2, r0, asr #16 mov r0, r0, asr #0x10 strgth r0, [r1, #0xbc] movgt r0, #0 strgth r0, [r1, #0xc0] _0214ba58: add r1, r6, #0x100 ldrsh r3, [r1, #0xbe] ldrsh r0, [r1, #0xc2] ldr r2, _0214bb90 ; =data_ov15_0218b704 add r0, r3, r0 strh r0, [r1, #0xbe] ldr r0, [r2, #0x30] ldrsh r3, [r1, #0xbe] rsb r0, r0, #0 mov r0, r0, lsl #0x10 cmp r3, r0, asr #16 mov r0, r0, asr #0x10 bge _0214ba9c strh r0, [r1, #0xbe] mov r0, #0 strh r0, [r1, #0xc2] b _0214bab8 _0214ba9c: ldr r0, [r2, #0x2c] mov r0, r0, lsl #0x10 cmp r3, r0, asr #16 mov r0, r0, asr #0x10 strgth r0, [r1, #0xbe] movgt r0, #0 strgth r0, [r1, #0xc2] _0214bab8: add r0, r6, #0x100 ldrsh r1, [r0, #0xbc] ldrsh r2, [r0, #0xbe] mov r0, r6 bl func_ov15_02149bf4 add r1, sp, #0x18 mov r0, r5 bl func_020079d8 ldr r2, _0214bb98 ; =data_ov15_02186234 ldr r3, [r6, #0xc] ldr r0, [r2, #0x50] mov r1, r5 smull ip, r5, r0, r3 adds ip, ip, #0x800 adc r0, r5, #0 mov r5, ip, lsr #0xc orr r5, r5, r0, lsl #20 str r5, [sp, #0xc] ldr r5, [r2, #0x54] add r0, sp, #0xc smull lr, ip, r5, r3 adds lr, lr, #0x800 adc r5, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r5, lsl #20 str ip, [sp, #0x10] ldr r5, [r2, #0x58] mov r2, r0 smull ip, r3, r5, r3 adds r5, ip, #0x800 adc r3, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [sp, #0x14] bl func_01ff88b0 add r1, sp, #0xc mov r0, r4 mov r2, r1 bl func_01ff9bc4 ldr r0, [r6, #0xc] add r1, sp, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r6, #0xb8] add r2, sp, #0x18 ldr r4, [r0] add r3, sp, #0xc ldr r4, [r4, #0x10] blx r4 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0214b86c _0214bb88: .word gItemManager _0214bb8c: .word data_027e10a4 _0214bb90: .word data_ov15_0218b704 _0214bb94: .word data_027e0fb0 _0214bb98: .word data_ov15_02186234 .global func_ov15_0214bb9c arm_func_start func_ov15_0214bb9c func_ov15_0214bb9c: ; 0x0214bb9c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xb4 ldr r3, _0214bde4 ; =data_027e10a4 mov r6, r0 ldr r3, [r3] mov r5, r1 ldrb r0, [r3, #0x4e0] mov r4, r2 cmp r0, #0 beq _0214bcac add r1, sp, #0x90 mov r0, r5 bl func_020079d8 ldr r0, _0214bde4 ; =data_027e10a4 ldr r3, _0214bde8 ; =data_02050f54 ldr r1, [r0] add r0, sp, #0x6c add r1, r1, #0x400 ldrh r1, [r1, #0xdc] 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, sp, #0x90 add r1, sp, #0x6c mov r2, r0 bl func_01ff8690 ldr r0, _0214bdec ; =data_ov15_02186234 mov r1, r5 ldr r2, [r6, #0xc] ldr r5, [r0, #0x50] ldr r3, [r0, #0x54] smull lr, ip, r5, r2 adds lr, lr, #0x800 adc r5, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r5, lsl #20 str ip, [sp, #0x60] smull ip, r5, r3, r2 adds ip, ip, #0x800 adc r3, r5, #0 mov r5, ip, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [sp, #0x64] ldr r3, [r0, #0x58] add r0, sp, #0x60 smull r5, r2, r3, r2 adds r3, r5, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 mov r2, r0 str r3, [sp, #0x68] bl func_01ff88b0 add r1, sp, #0x60 mov r0, r4 mov r2, r1 bl func_01ff9bc4 ldr r0, [r6, #0xc0] add r1, sp, #0x90 add r2, sp, #0x60 bl func_ov15_0216e534 add sp, sp, #0xb4 ldmia sp!, {r3, r4, r5, r6, pc} _0214bcac: ldr r2, [r3, #0x2c] mov r1, #0 cmp r2, #5 ldreq r0, [r3, #0x324] cmpeq r0, #6 moveq r1, #1 cmp r1, #0 bne _0214bcf0 cmp r2, #6 addne sp, sp, #0xb4 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, [r3, #0x2c] cmp r0, #6 ldreq r0, [r3, #0x430] cmpeq r0, #0 addeq sp, sp, #0xb4 ldmeqia sp!, {r3, r4, r5, r6, pc} _0214bcf0: add r0, r6, #0x100 ldrh r1, [r0, #0x7c] ldr r3, _0214bde8 ; =data_02050f54 add r0, sp, #0x3c 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_01ff8214 ldr r0, [r6, #0xc0] add r1, sp, #0x3c add r2, r6, #0x170 bl func_ov15_0216e534 ldr r0, _0214bde4 ; =data_027e10a4 ldr r1, [r0] ldr r0, [r1, #0x2c] cmp r0, #5 ldreq r0, [r1, #0x324] cmpeq r0, #6 bne _0214bda8 ldr r0, [r6, #0xc4] cmp r0, #0 beq _0214bda8 add r0, r6, #0x100 ldrh r1, [r0, #0x8c] ldr r3, _0214bde8 ; =data_02050f54 add r0, sp, #0x18 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_01ff8214 add r1, sp, #0x18 mov r0, r5 mov r2, r1 bl func_01ff8690 ldr r0, [r6, #0xc4] add r1, sp, #0x18 add r2, r6, #0x180 bl func_ov15_021772d0 _0214bda8: mov r3, #0x8f str r3, [sp] mov r1, #0 str r1, [sp, #4] mov r0, #0x1a str r0, [sp, #8] mov r4, #1 str r4, [sp, #0xc] str r4, [sp, #0x10] ldr r0, _0214bdf0 ; =data_ov00_020e9370 add r2, r6, #0x170 str r4, [sp, #0x14] bl func_ov05_02102c2c add sp, sp, #0xb4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0214bb9c _0214bde4: .word data_027e10a4 _0214bde8: .word data_02050f54 _0214bdec: .word data_ov15_02186234 _0214bdf0: .word data_ov00_020e9370 .global func_ov15_0214bdf4 arm_func_start func_ov15_0214bdf4 func_ov15_0214bdf4: ; 0x0214bdf4 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214bdf4 .global func_ov15_0214be08 arm_func_start func_ov15_0214be08 func_ov15_0214be08: ; 0x0214be08 ldr r0, _0214be14 ; =data_ov15_0218f55c ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov15_0214be08 _0214be14: .word data_ov15_0218f55c .global func_ov15_0214be18 arm_func_start func_ov15_0214be18 func_ov15_0214be18: ; 0x0214be18 stmdb sp!, {r3, lr} ldr r0, _0214be58 ; =data_ov15_0218f55c ldr r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} ldr r1, _0214be5c ; =data_027e0ce0 mov r0, #0x10 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214be4c bl func_ov15_0214be9c _0214be4c: ldr r1, _0214be58 ; =data_ov15_0218f55c str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214be18 _0214be58: .word data_ov15_0218f55c _0214be5c: .word data_027e0ce0 .global func_ov15_0214be60 arm_func_start func_ov15_0214be60 func_ov15_0214be60: ; 0x0214be60 stmdb sp!, {r4, lr} ldr r0, _0214be98 ; =data_ov15_0218f55c ldr r4, [r0] cmp r4, #0 ldmeqia sp!, {r4, pc} beq _0214be88 mov r0, r4 bl func_ov15_0214bf40 mov r0, r4 bl _ZN9SysObjectdlEPv _0214be88: ldr r0, _0214be98 ; =data_ov15_0218f55c mov r1, #0 str r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214be60 _0214be98: .word data_ov15_0218f55c .global func_ov15_0214be9c arm_func_start func_ov15_0214be9c func_ov15_0214be9c: ; 0x0214be9c stmdb sp!, {r4, lr} sub sp, sp, #8 mov r1, #0x10 str r1, [sp] mov r2, #1 str r2, [sp, #4] ldr r1, _0214bf2c ; =data_027e0ce0 mov r4, r0 ldr r1, [r1, #4] ldr r2, _0214bf30 ; =data_ov15_0218b8e8 ldr r3, _0214bf34 ; =data_ov15_0218b8ec mov r0, #0x95 blx func_0202d598 mov r2, #0 str r0, [r4] mov r1, r2 _0214bedc: add r0, r4, r2, lsl #2 add r2, r2, #1 str r1, [r0, #8] cmp r2, #2 blt _0214bedc ldr r0, _0214bf38 ; =data_027e0d38 str r1, [r4, #4] ldr r0, [r0] bl func_ov00_02078b40 cmp r0, #2 bne _0214bf20 ldr r0, _0214bf3c ; =data_ov15_0218f56c mov r1, #0x10 str r0, [r4, #4] ldr r2, [r0] ldr r2, [r2, #8] blx r2 _0214bf20: mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214be9c _0214bf2c: .word data_027e0ce0 _0214bf30: .word data_ov15_0218b8e8 _0214bf34: .word data_ov15_0218b8ec _0214bf38: .word data_027e0d38 _0214bf3c: .word data_ov15_0218f56c .global func_ov15_0214bf40 arm_func_start func_ov15_0214bf40 func_ov15_0214bf40: ; 0x0214bf40 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0214bfc0 ; =data_027e0d38 mov r6, r0 ldr r0, [r1] bl func_ov00_02078b40 cmp r0, #2 bne _0214bfb8 ldr r4, _0214bfc4 ; =data_ov15_0218b8e0 mov r5, #0 _0214bf64: ldr r0, [r4, r5, lsl #2] cmp r0, #0 beq _0214bf7c ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 _0214bf7c: add r5, r5, #1 cmp r5, #2 blt _0214bf64 ldr r0, _0214bfc8 ; =data_ov15_0218f5a4 blx func_020300cc ldr r0, [r6, #4] cmp r0, #0 beq _0214bfa8 ldr r1, [r0] ldr r1, [r1, #0xc] blx r1 _0214bfa8: ldr r0, [r6] cmp r0, #0 beq _0214bfb8 blx func_0202d5dc _0214bfb8: mov r0, r6 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0214bf40 _0214bfc0: .word data_027e0d38 _0214bfc4: .word data_ov15_0218b8e0 _0214bfc8: .word data_ov15_0218f5a4 .global func_ov15_0214bfcc arm_func_start func_ov15_0214bfcc func_ov15_0214bfcc: ; 0x0214bfcc stmdb sp!, {r4, r5, r6, lr} mov r4, r1 mov r5, r0 cmp r4, #1 bne _0214c03c ldr r0, _0214c068 ; =data_ov15_0218b8e0 ldr r6, [r0, r4, lsl #2] ldr r0, [r6, #8] cmp r0, #0 bne _0214c008 mov r0, r6 ldr r2, [r0] mov r1, #0x10 ldr r2, [r2, #8] blx r2 _0214c008: ldr r0, [r6, #8] bl func_0201e4bc ldr r1, _0214c06c ; =data_027e0fc4 mov r6, r0 ldr r0, [r1] mov r1, #0 blx func_ov00_020bb378 mov r1, r0 mov r0, r6 bl func_02019380 add r0, r5, r4, lsl #2 str r6, [r0, #8] b _0214c05c _0214c03c: ldr r0, _0214c068 ; =data_ov15_0218b8e0 ldr r1, _0214c070 ; =data_ov15_0218f5a4 ldr r0, [r0, r4, lsl #2] mov r2, #1 mov r3, #0 blx func_ov00_020bd728 add r1, r5, r4, lsl #2 str r0, [r1, #8] _0214c05c: add r0, r5, r4, lsl #2 ldr r0, [r0, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0214bfcc _0214c068: .word data_ov15_0218b8e0 _0214c06c: .word data_027e0fc4 _0214c070: .word data_ov15_0218f5a4 .global func_ov15_0214c074 arm_func_start func_ov15_0214c074 func_ov15_0214c074: ; 0x0214c074 add r0, r0, r1, lsl #2 ldr r0, [r0, #4] bx lr arm_func_end func_ov15_0214c074 .global func_ov15_0214c080 arm_func_start func_ov15_0214c080 func_ov15_0214c080: ; 0x0214c080 stmdb sp!, {r4, lr} ldr r1, _0214c0b4 ; =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_ov15_0214c0b8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214c080 _0214c0b4: .word data_027e0f84 .global func_ov15_0214c0b8 arm_func_start func_ov15_0214c0b8 func_ov15_0214c0b8: ; 0x0214c0b8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_0208b5bc ldr r1, _0214c134 ; =data_ov00_020e2748 ldr r0, _0214c138 ; =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, _0214c13c ; =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, _0214c140 ; =data_ov15_0218b94c str r2, [r4, #0x54] str r0, [r4] mov r1, #0x1000 ldr r0, _0214c144 ; =data_ov15_0218b9e0 str r1, [r4, #0x60] str r0, [r4, #0x64] str r4, [r4, #0x68] strb r2, [r4, #0x6c] mov r0, r4 strb r2, [r4, #0x6d] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214c0b8 _0214c134: .word data_ov00_020e2748 _0214c138: .word data_ov00_020e2f04 _0214c13c: .word data_ov00_020e2e3c _0214c140: .word data_ov15_0218b94c _0214c144: .word data_ov15_0218b9e0 .global func_ov15_0214c148 arm_func_start func_ov15_0214c148 func_ov15_0214c148: ; 0x0214c148 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #4] bl func_ov00_02081f6c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214c148 .global func_ov15_0214c164 arm_func_start func_ov15_0214c164 func_ov15_0214c164: ; 0x0214c164 stmdb sp!, {r4, lr} ldr r1, _0214c1ac ; =data_ov15_0218b94c mov r4, r0 ldr r0, _0214c1b0 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x38 bl func_ov00_02093af0 mov r1, #0 add r0, r4, #0x64 str r1, [r4, #0x68] bl func_ov00_02081f6c 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_ov15_0214c164 _0214c1ac: .word data_ov15_0218b94c _0214c1b0: .word data_027e0f6c .global func_ov15_0214c1b4 arm_func_start func_ov15_0214c1b4 func_ov15_0214c1b4: ; 0x0214c1b4 stmdb sp!, {r4, lr} ldr r1, _0214c204 ; =data_ov15_0218b94c mov r4, r0 ldr r0, _0214c208 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x38 bl func_ov00_02093af0 mov r1, #0 add r0, r4, #0x64 str r1, [r4, #0x68] bl func_ov00_02081f6c 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_ov15_0214c1b4 _0214c204: .word data_ov15_0218b94c _0214c208: .word data_027e0f6c .global func_ov15_0214c20c arm_func_start func_ov15_0214c20c func_ov15_0214c20c: ; 0x0214c20c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #4] orr r1, r1, #0x10 str r1, [r4, #4] bl func_ov00_0208c214 ldrh r3, [r4, #0x24] ldr r0, [r4, #0x18] mov r5, #0 str r0, [sp, #8] ldr r0, [r4, #0x1c] bic ip, r5, #0x1f str r0, [sp, #0xc] ldr r2, [r4, #0x20] mov r1, #0x5000 mov r0, #0x3000 str r1, [sp, #0x14] str r0, [sp, #0x18] str r2, [sp, #0x10] orr ip, ip, #7 bic lr, ip, #0x6000 str r5, [sp] add r0, r4, #0x38 ldr ip, [r0] bic r2, lr, #0x3f0000 and r1, r3, #0xff orr r3, r2, r1, lsl #16 ldr ip, [ip, #0x10] add r1, sp, #8 mov r2, #4 str r3, [sp, #4] blx ip mov r0, r5 strb r0, [r4, #0x3c] add r1, r4, #0x64 str r1, [r4, #0x48] ldr r0, _0214c2f8 ; =data_027e0f6c add r1, r4, #0x38 ldr r0, [r0] bl func_ov00_02093a5c mov r0, r4 bl func_ov15_0214c540 cmp r0, #0 mov r0, r4 ldr r3, [r0] beq _0214c2e0 mov r1, #1 ldr r3, [r3, #0x80] mov r2, r1 blx r3 add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} _0214c2e0: ldr r3, [r3, #0x80] mov r1, r5 mov r2, #1 blx r3 add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214c20c _0214c2f8: .word data_027e0f6c .global func_ov15_0214c2fc arm_func_start func_ov15_0214c2fc func_ov15_0214c2fc: ; 0x0214c2fc 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 _0214c338 cmp r0, #1 beq _0214c364 cmp r0, #2 beq _0214c390 b _0214c3b8 _0214c338: mov r0, r4 bl func_ov15_0214c540 cmp r0, #0 beq _0214c3b8 mov r0, r4 ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, #0 blx r3 b _0214c3b8 _0214c364: mov r0, r4 bl func_ov15_0214c540 cmp r0, #0 bne _0214c3b8 mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 b _0214c3b8 _0214c390: mov r0, r4 bl func_ov15_0214c540 cmp r0, #0 bne _0214c3b8 mov r0, r4 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 _0214c3b8: mov r0, #0 strb r0, [r4, #0x6c] ldmia sp!, {r4, pc} arm_func_end func_ov15_0214c2fc .global func_ov15_0214c3c4 arm_func_start func_ov15_0214c3c4 func_ov15_0214c3c4: ; 0x0214c3c4 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #8] cmp r1, #2 ldmneia sp!, {r4, pc} bl func_ov15_0214c540 cmp r0, #0 mov r0, r4 ldr r3, [r0] bne _0214c400 mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, pc} _0214c400: ldr r3, [r3, #0x80] mov r1, #1 mov r2, #0 blx r3 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214c3c4 .global func_ov15_0214c414 arm_func_start func_ov15_0214c414 func_ov15_0214c414: ; 0x0214c414 mov r1, #0 strb r1, [r0, #0x6d] bx lr arm_func_end func_ov15_0214c414 .global func_ov15_0214c420 arm_func_start func_ov15_0214c420 func_ov15_0214c420: ; 0x0214c420 sub sp, sp, #8 str r1, [r0, #8] cmp r1, #0 beq _0214c440 cmp r1, #1 cmpne r1, #2 beq _0214c460 b _0214c478 _0214c440: ldr r1, [r0, #4] bic r1, r1, #0x10 str r1, [r0, #4] ldr r1, [r0, #0x44] bic r1, r1, #0x6000 orr r1, r1, #0x6000 str r1, [r0, #0x44] b _0214c478 _0214c460: ldr r1, [r0, #4] orr r1, r1, #0x10 str r1, [r0, #4] ldr r1, [r0, #0x44] bic r1, r1, #0x6000 str r1, [r0, #0x44] _0214c478: mov r0, #1 add sp, sp, #8 bx lr arm_func_end func_ov15_0214c420 .global func_ov15_0214c484 arm_func_start func_ov15_0214c484 func_ov15_0214c484: ; 0x0214c484 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r2, [r5, #4] mov r4, r1 tst r2, #0x10 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5, #8] cmp r1, #2 beq _0214c4b4 ldrb r1, [r5, #0x6d] cmp r1, #0 beq _0214c504 _0214c4b4: ldr r0, _0214c520 ; =data_027e103c ldr r0, [r0] bl func_ov05_021040ec cmp r0, #0 mov ip, #1 beq _0214c4e8 mov r1, #0x64 mov r0, r5 mov r2, r4 sub r3, r1, #0x65 str ip, [sp] bl func_ov00_0208bf28 ldmia sp!, {r3, r4, r5, pc} _0214c4e8: mov r1, #0x5f mov r0, r5 mov r2, r4 sub r3, r1, #0x60 str ip, [sp] bl func_ov00_0208bf28 ldmia sp!, {r3, r4, r5, pc} _0214c504: mov r1, #0x5f mov r5, #1 mov r2, r4 sub r3, r1, #0x60 str r5, [sp] bl func_ov00_0208bf28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214c484 _0214c520: .word data_027e103c .global func_ov15_0214c524 arm_func_start func_ov15_0214c524 func_ov15_0214c524: ; 0x0214c524 mov r0, #0x25 bx lr arm_func_end func_ov15_0214c524 .global func_ov15_0214c52c arm_func_start func_ov15_0214c52c func_ov15_0214c52c: ; 0x0214c52c mov r0, #1 bx lr arm_func_end func_ov15_0214c52c .global func_ov15_0214c534 arm_func_start func_ov15_0214c534 func_ov15_0214c534: ; 0x0214c534 mov r0, #0 bx lr arm_func_end func_ov15_0214c534 .global func_ov15_0214c53c arm_func_start func_ov15_0214c53c func_ov15_0214c53c: ; 0x0214c53c bx lr arm_func_end func_ov15_0214c53c .global func_ov15_0214c540 arm_func_start func_ov15_0214c540 func_ov15_0214c540: ; 0x0214c540 stmdb sp!, {r4, lr} ldr r1, _0214c584 ; =data_027e0d3c mov r4, r0 ldr r0, [r1] bl func_ov00_02078fac cmp r0, #3 bne _0214c564 mov r0, #0 ldmia sp!, {r4, pc} _0214c564: ldrb r0, [r4, #0x2e] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #0 bl func_ov00_0208b9e4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214c540 _0214c584: .word data_027e0d3c .global func_ov15_0214c588 arm_func_start func_ov15_0214c588 func_ov15_0214c588: ; 0x0214c588 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #8] cmp r1, #0 ldmeqia sp!, {r4, pc} ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 mov r0, #1 strb r0, [r4, #0x6c] mov r0, #0 strb r0, [r4, #0x6d] ldmia sp!, {r4, pc} arm_func_end func_ov15_0214c588 .global func_ov15_0214c5c4 arm_func_start func_ov15_0214c5c4 func_ov15_0214c5c4: ; 0x0214c5c4 ldr r1, [r0, #8] cmp r1, #0 cmpne r1, #2 bxeq lr mov r1, #1 strb r1, [r0, #0x6d] bx lr arm_func_end func_ov15_0214c5c4 .global func_ov15_0214c5e0 arm_func_start func_ov15_0214c5e0 func_ov15_0214c5e0: ; 0x0214c5e0 stmdb sp!, {r3, lr} cmp r2, #7 beq _0214c5f8 cmp r2, #0xa beq _0214c604 b _0214c60c _0214c5f8: ldr r0, [r0, #4] bl func_ov15_0214c588 b _0214c60c _0214c604: ldr r0, [r0, #4] bl func_ov15_0214c5c4 _0214c60c: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov15_0214c5e0 .global func_ov15_0214c614 arm_func_start func_ov15_0214c614 func_ov15_0214c614: ; 0x0214c614 mov r0, #1 bx lr arm_func_end func_ov15_0214c614 .global func_ov15_0214c61c arm_func_start func_ov15_0214c61c func_ov15_0214c61c: ; 0x0214c61c stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #4] bl func_ov00_02081f6c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214c61c .global func_ov15_0214c640 arm_func_start func_ov15_0214c640 func_ov15_0214c640: ; 0x0214c640 stmdb sp!, {r4, lr} mov r1, #0x100 mov r2, #0 mov r4, r0 blx func_ov09_0211b778 ldr r1, _0214c6ac ; =data_ov15_0218ba30 add r0, r4, #0x1c str r1, [r4] bl func_ov00_020d05dc ldr r0, _0214c6b0 ; =data_ov00_020e899c mov r1, #0 str r0, [r4, #0x1c] strb r1, [r4, #0x2c] sub r0, r1, #1 strb r0, [r4, #0x2d] strb r0, [r4, #0x2e] strb r0, [r4, #0x2f] str r1, [r4, #0x30] mov r0, r4 strb r1, [r4, #0x34] ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 mov r0, r4 bl func_ov15_0214c72c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214c640 _0214c6ac: .word data_ov15_0218ba30 _0214c6b0: .word data_ov00_020e899c .global func_ov15_0214c6b4 arm_func_start func_ov15_0214c6b4 func_ov15_0214c6b4: ; 0x0214c6b4 stmdb sp!, {r4, lr} ldr r1, _0214c6d8 ; =data_ov15_0218ba30 mov r4, r0 str r1, [r4] bl func_ov09_0211bad0 mov r0, r4 blx func_ov09_0211b7f0 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214c6b4 _0214c6d8: .word data_ov15_0218ba30 .global func_ov15_0214c6dc arm_func_start func_ov15_0214c6dc func_ov15_0214c6dc: ; 0x0214c6dc stmdb sp!, {r4, lr} ldr r1, _0214c708 ; =data_ov15_0218ba30 mov r4, r0 str r1, [r4] bl func_ov09_0211bad0 mov r0, r4 blx func_ov09_0211b7f0 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214c6dc _0214c708: .word data_ov15_0218ba30 .global func_ov15_0214c70c arm_func_start func_ov15_0214c70c func_ov15_0214c70c: ; 0x0214c70c mov r2, #0 strb r2, [r0, #0x14] ldrsh r1, [r0, #6] strh r1, [r0, #4] ldrsh r1, [r0, #0xa] strh r1, [r0, #0xe] strb r2, [r0, #0x34] bx lr arm_func_end func_ov15_0214c70c .global func_ov15_0214c72c arm_func_start func_ov15_0214c72c func_ov15_0214c72c: ; 0x0214c72c stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r1, #0x8e str r1, [sp] mov r2, #0 mov r1, #3 stmib sp, {r1, r2} mov r4, r0 mov r3, r2 add r0, r4, #0x1c mov r1, #0x10 str r2, [sp, #0xc] bl func_ov00_020cfed0 mov r0, #0xe strb r0, [r4, #0x2f] add sp, sp, #0x10 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214c72c .global func_ov15_0214c770 arm_func_start func_ov15_0214c770 func_ov15_0214c770: ; 0x0214c770 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_ov15_0214ca50 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0214c87c ; =data_027e077c ldr r0, [r0] cmp r0, #1 bne _0214c7c0 ldr r0, _0214c880 ; =data_027e0c68 bl func_02036798 cmp r0, #0 bne _0214c7c0 ldr r0, _0214c884 ; =data_027e103c ldr r1, _0214c888 ; =0x000008be ldr r0, [r0] bl func_ov00_020cf8fc cmp r0, #0 beq _0214c7c8 _0214c7c0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0214c7c8: ldr r0, _0214c884 ; =data_027e103c ldr r1, _0214c888 ; =0x000008be ldr r0, [r0] bl func_ov00_020cf8fc cmp r0, #0 bne _0214c830 ldr r0, _0214c884 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf03c ldrsh r3, [r0, #4] ldrsh r2, [r0, #6] cmp r3, r2 moveq r0, #0 beq _0214c824 ldrsh r1, [r0, #8] cmp r3, r1 moveq r0, #0x1000 beq _0214c824 sub r0, r3, r2 sub r1, r1, r2 mov r0, r0, lsl #0xc mov r1, r1, lsl #0xc bl Divide _0214c824: cmp r0, #0 movgt r0, #1 movle r0, #0 _0214c830: cmp r0, #0 bne _0214c874 add r0, r4, #0x1c ldr ip, [r0] ldrh r5, [r4, #0x26] mov r1, #0 ldr ip, [ip] mov r2, r1 mov r3, r4 blx ip mov r2, r0 mov r0, r4 mov r1, r5 bl func_ov15_0214c88c cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _0214c874: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214c770 _0214c87c: .word data_027e077c _0214c880: .word data_027e0c68 _0214c884: .word data_027e103c _0214c888: .word 0x000008be .global func_ov15_0214c88c arm_func_start func_ov15_0214c88c func_ov15_0214c88c: ; 0x0214c88c stmdb sp!, {r3, lr} cmp r2, #1 movne r3, #1 strneb r3, [r0, #0x34] tst r2, #8 moveq r0, #0 ldmeqia sp!, {r3, pc} cmp r1, #0x8e bne _0214c8dc ldr r0, _0214c8e4 ; =data_027e077c mov r1, #0x10 bl func_0202e740 ldr r0, _0214c8e8 ; =data_ov00_020eec9c mov r1, #0x41 bl func_ov00_020d77e4 ldr r0, _0214c8ec ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf330 mov r0, #1 ldmia sp!, {r3, pc} _0214c8dc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214c88c _0214c8e4: .word data_027e077c _0214c8e8: .word data_ov00_020eec9c _0214c8ec: .word data_027e103c .global func_ov15_0214c8f0 arm_func_start func_ov15_0214c8f0 func_ov15_0214c8f0: ; 0x0214c8f0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov15_0214ca50 cmp r0, #0 bne _0214c914 sub r0, r4, #1 cmp r0, #1 ldmlsia sp!, {r3, r4, r5, pc} _0214c914: mov r0, r5 mov r1, r4 bl func_ov09_0211b7f4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0214c8f0 .global func_ov15_0214c924 arm_func_start func_ov15_0214c924 func_ov15_0214c924: ; 0x0214c924 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 bl func_ov09_0211b914 cmp r4, #0 moveq r0, #0 streqb r0, [r5, #0x34] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0214c924 .global func_ov15_0214c944 arm_func_start func_ov15_0214c944 func_ov15_0214c944: ; 0x0214c944 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r5, r0 bl func_ov15_0214ca50 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, pc} ldr r1, _0214ca40 ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 addne sp, sp, #0x24 ldmneia sp!, {r4, r5, pc} ldr r0, _0214ca44 ; =data_027e0cbc mov r1, #2 bl func_0203d7e0 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, pc} ldr r0, _0214ca48 ; =data_027e103c ldr r1, _0214ca4c ; =0x000008be ldr r0, [r0] bl func_ov00_020cf864 ldr r1, _0214ca48 ; =data_027e103c mov r4, r0 ldr r0, [r1] bl func_ov00_020cf03c ldrsh r3, [r0, #4] ldrsh r2, [r0, #6] cmp r3, r2 moveq r0, #0 beq _0214c9e8 ldrsh r1, [r0, #8] cmp r3, r1 moveq r0, #0x1000 beq _0214c9e8 sub r0, r3, r2 sub r1, r1, r2 mov r0, r0, lsl #0xc mov r1, r1, lsl #0xc bl Divide _0214c9e8: cmp r4, r0 movle r4, r0 mov r2, r4 mov r0, #0 mov r1, #0x3c000 bl func_ov00_020d03f8 add r1, r0, #0x800 ldrsh r2, [r5, #0xe] add r0, sp, #4 add r4, r2, r1, asr #12 bl func_01ffbe34 ldrsb r1, [sp, #0xc] add r3, sp, #4 add r0, r5, #0x1c add r1, r1, #1 strb r1, [sp, #0xc] mov r2, #0 add r1, r4, #0x100 str r2, [sp] bl func_ov00_020d00c4 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214c944 _0214ca40: .word data_027e0e2c _0214ca44: .word data_027e0cbc _0214ca48: .word data_027e103c _0214ca4c: .word 0x000008be .global func_ov15_0214ca50 arm_func_start func_ov15_0214ca50 func_ov15_0214ca50: ; 0x0214ca50 stmdb sp!, {r4, lr} ldr r0, _0214caa4 ; =data_027e077c mov r4, #0 ldr r1, [r0] ldr r0, _0214caa8 ; =data_02056be4 mov r2, r4 ldrb r0, [r0, r1] tst r0, #1 ldreq r0, _0214caac ; =data_027e0618 ldreqb r0, [r0, #0x101] cmpeq r0, #0 moveq r2, #1 cmp r2, #0 beq _0214ca9c ldr r0, _0214cab0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 moveq r4, #1 _0214ca9c: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214ca50 _0214caa4: .word data_027e077c _0214caa8: .word data_02056be4 _0214caac: .word data_027e0618 _0214cab0: .word gAdventureFlags .global func_ov15_0214cab4 arm_func_start func_ov15_0214cab4 func_ov15_0214cab4: ; 0x0214cab4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214ca50 cmp r0, #0 bne _0214cae4 ldrsb r0, [r4, #0x14] cmp r0, #2 cmpne r0, #1 bne _0214cae4 mov r0, r4 mov r1, #0 bl func_ov09_0211b7f4 _0214cae4: mov r0, r4 bl func_ov09_0211b994 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214cab4 .global func_ov15_0214caf0 arm_func_start func_ov15_0214caf0 func_ov15_0214caf0: ; 0x0214caf0 stmdb sp!, {r3, lr} ldrb ip, [r0, #0x34] mov r3, r2 cmp ip, #0 movne r0, #0 ldmneia sp!, {r3, pc} ldrsb r0, [r0, #0x14] cmp r0, #0 beq _0214cb30 mov r2, r1 mov r0, #0x10 mov r1, #0 bl func_02034b90 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} _0214cb30: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov15_0214caf0 .global func_ov15_0214cb38 arm_func_start func_ov15_0214cb38 func_ov15_0214cb38: ; 0x0214cb38 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 blx func_ov09_0211acf8 ldr r1, _0214cc6c ; =data_ov15_0218ba6c ldr r0, _0214cc70 ; =data_027e0ce0 str r1, [r4] ldr r1, [r0, #4] mov r0, #0x38 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214cb6c bl func_ov15_0214c640 _0214cb6c: ldr r1, _0214cc70 ; =data_027e0ce0 str r0, [r4, #0x24] ldr r1, [r1, #4] mov r0, #0x364 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214cb90 bl func_ov15_021206f4 _0214cb90: ldr r1, _0214cc70 ; =data_027e0ce0 str r0, [r4, #0x28] ldr r1, [r1, #4] mov r0, #0x84 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214cbb8 ldr r1, [r4, #0x28] bl func_ov15_0211f89c _0214cbb8: ldr r1, _0214cc74 ; =data_027e0d38 str r0, [r4, #0x2c] ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 bne _0214cbf8 ldr r1, _0214cc70 ; =data_027e0ce0 mov r0, #0x4c ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0214cbfc bl func_ov15_02183704 b _0214cbfc _0214cbf8: mov r0, #0 _0214cbfc: ldr r1, _0214cc74 ; =data_027e0d38 str r0, [r4, #0x30] ldr r0, [r1] mov r5, #4 add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #3 bgt _0214cc3c cmp r0, #1 blt _0214cc54 beq _0214cc50 cmp r0, #2 beq _0214cc48 cmp r0, #3 moveq r5, #0x11 b _0214cc54 _0214cc3c: cmp r0, #0x32 moveq r5, #6 b _0214cc54 _0214cc48: mov r5, #0x12 b _0214cc54 _0214cc50: mov r5, #0x19 _0214cc54: ldr r0, _0214cc78 ; =data_027e0cbc mov r1, r5 mov r2, #0 bl func_ov03_020fa874 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214cb38 _0214cc6c: .word data_ov15_0218ba6c _0214cc70: .word data_027e0ce0 _0214cc74: .word data_027e0d38 _0214cc78: .word data_027e0cbc .global func_ov15_0214cc7c arm_func_start func_ov15_0214cc7c func_ov15_0214cc7c: ; 0x0214cc7c stmdb sp!, {r3, r4, r5, lr} ldr r1, _0214cd0c ; =data_ov15_0218ba6c mov r5, r0 str r1, [r5] ldr r4, [r5, #0x30] cmp r4, #0 beq _0214cca8 mov r0, r4 bl func_ov15_021837e0 mov r0, r4 bl _ZN9SysObjectdlEPv _0214cca8: ldr r4, [r5, #0x2c] cmp r4, #0 beq _0214ccc4 mov r0, r4 blx func_ov04_02106054 mov r0, r4 bl _ZN9SysObjectdlEPv _0214ccc4: ldr r0, [r5, #0x28] cmp r0, #0 beq _0214ccdc ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0214ccdc: ldr r0, [r5, #0x24] cmp r0, #0 beq _0214ccf4 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0214ccf4: mov r0, r5 blx func_ov09_0211ae94 mov r0, r5 bl _ZN9SysObjectdlEPv mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214cc7c _0214cd0c: .word data_ov15_0218ba6c .global func_ov15_0214cd10 arm_func_start func_ov15_0214cd10 func_ov15_0214cd10: ; 0x0214cd10 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0214cd98 ; =data_ov15_0218ba6c mov r5, r0 str r1, [r5] ldr r4, [r5, #0x30] cmp r4, #0 beq _0214cd3c mov r0, r4 bl func_ov15_021837e0 mov r0, r4 bl _ZN9SysObjectdlEPv _0214cd3c: ldr r4, [r5, #0x2c] cmp r4, #0 beq _0214cd58 mov r0, r4 blx func_ov04_02106054 mov r0, r4 bl _ZN9SysObjectdlEPv _0214cd58: ldr r0, [r5, #0x28] cmp r0, #0 beq _0214cd70 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0214cd70: ldr r0, [r5, #0x24] cmp r0, #0 beq _0214cd88 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0214cd88: mov r0, r5 blx func_ov09_0211ae94 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214cd10 _0214cd98: .word data_ov15_0218ba6c .global func_ov15_0214cd9c arm_func_start func_ov15_0214cd9c func_ov15_0214cd9c: ; 0x0214cd9c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov09_0211af28 ldr r1, [r4, #0x30] cmp r1, #0 movne r0, #0 strneb r0, [r1, #0x48] ldmia sp!, {r4, pc} arm_func_end func_ov15_0214cd9c .global func_ov15_0214cdbc arm_func_start func_ov15_0214cdbc func_ov15_0214cdbc: ; 0x0214cdbc stmdb sp!, {r4, lr} mov r4, r0 blx func_ov04_0210f4ec ldr r0, _0214cdfc ; =data_027e077c ldr r0, [r0] cmp r0, #0x11 bne _0214cdf0 ldr r0, [r4, #0x28] bl func_ov15_02120b54 ldr r0, [r4, #0x28] ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 _0214cdf0: mov r0, r4 bl func_ov15_0214d21c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214cdbc _0214cdfc: .word data_027e077c .global func_ov15_0214ce00 arm_func_start func_ov15_0214ce00 func_ov15_0214ce00: ; 0x0214ce00 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov09_0211af68 ldr r0, [r5, #0x24] mov r1, r4 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r5, #0x28] mov r1, r4 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, [r5, #0x2c] mov r1, r4 bl func_ov15_0211f9c8 ldr r0, [r5, #0x30] cmp r0, #0 beq _0214ce58 mov r1, r4 bl func_ov15_02183994 _0214ce58: mov r0, r5 bl func_ov15_0214ce64 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0214ce00 .global func_ov15_0214ce64 arm_func_start func_ov15_0214ce64 func_ov15_0214ce64: ; 0x0214ce64 stmdb sp!, {r3, lr} ldr r0, [r0, #0x28] bl func_ov15_02121700 cmp r0, #0 ldrne r0, _0214ce8c ; =data_ov15_02190458 movne r1, #1 ldreq r0, _0214ce8c ; =data_ov15_02190458 moveq r1, #0 strb r1, [r0, #6] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214ce64 _0214ce8c: .word data_ov15_02190458 .global func_ov15_0214ce90 arm_func_start func_ov15_0214ce90 func_ov15_0214ce90: ; 0x0214ce90 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov09_0211b044 ldr r0, [r4, #0x28] bl func_ov15_02121700 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x28] ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x28] mov r1, #0 ldrsh ip, [r0, #0xe] ldrsh r2, [r0, #0xa] ldr r0, [r4, #4] mov r3, r1 sub r2, ip, r2 bl func_ov05_02103c6c ldmia sp!, {r4, pc} arm_func_end func_ov15_0214ce90 .global func_ov15_0214cee8 arm_func_start func_ov15_0214cee8 func_ov15_0214cee8: ; 0x0214cee8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov09_0211b390 cmp r0, #0 bne _0214cf14 ldr r0, [r4, #0x24] ldr r1, [r0] ldr r1, [r1, #0x30] blx r1 cmp r0, #0 beq _0214cf1c _0214cf14: mov r0, #1 b _0214cf20 _0214cf1c: mov r0, #0 _0214cf20: cmp r0, #0 bne _0214cf38 ldr r0, [r4, #0x28] bl func_ov15_02120cdc cmp r0, #0 beq _0214cf40 _0214cf38: mov r2, #1 b _0214cf44 _0214cf40: mov r2, #0 _0214cf44: ldr r0, [r4, #0x30] cmp r0, #0 beq _0214cf70 cmp r2, #0 bne _0214cf64 bl func_ov15_021838b8 cmp r0, #0 beq _0214cf6c _0214cf64: mov r2, #1 b _0214cf70 _0214cf6c: mov r2, #0 _0214cf70: ldr r1, [r4, #4] ldrsh r0, [r1, #0x20] cmp r0, #0 ldreqsh r0, [r1, #0x1e] cmpeq r0, #0 movne r0, #1 moveq r0, #0 cmp r0, #0 bne _0214cfb8 cmp r2, #0 bne _0214cfac ldr r0, [r4, #0x2c] bl func_ov15_0211f9dc cmp r0, #0 beq _0214cfb4 _0214cfac: mov r2, #1 b _0214cfb8 _0214cfb4: mov r2, #0 _0214cfb8: mov r0, r2 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214cee8 .global func_ov15_0214cfc0 arm_func_start func_ov15_0214cfc0 func_ov15_0214cfc0: ; 0x0214cfc0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov09_0211b420 ldr r0, [r4, #0x24] mov r1, #1 strb r1, [r0, #0x29] ldr r0, [r4, #0x28] bl func_ov15_02121a54 ldr r0, [r4, #0x30] cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov15_02183b74 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214cfc0 .global func_ov15_0214cff4 arm_func_start func_ov15_0214cff4 func_ov15_0214cff4: ; 0x0214cff4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov09_0211b48c ldr r1, _0214d054 ; =data_027e103c ldr r1, [r1] ldrsh r2, [r1, #0x1e] ldrsh r1, [r1, #0x20] cmp r2, #0x8e cmpne r1, #0x8e moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r0, #0 beq _0214d04c ldr r0, [r6, #0x24] mov r1, r5 mov r2, r4 bl func_ov15_0214caf0 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} _0214d04c: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0214cff4 _0214d054: .word data_027e103c .global func_ov15_0214d058 arm_func_start func_ov15_0214d058 func_ov15_0214d058: ; 0x0214d058 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov09_0211b50c ldr r0, [r6, #0x28] mov r1, r5 mov r2, r4 bl func_ov15_02121738 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0214d058 .global func_ov15_0214d080 arm_func_start func_ov15_0214d080 func_ov15_0214d080: ; 0x0214d080 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov09_0211b554 ldr r0, _0214d198 ; =data_027e1054 ldr r0, [r0] ldr r0, [r0, #4] ldrb r1, [r0, #0x95] cmp r1, #0 ldmneia sp!, {r4, pc} bl func_ov03_020f4b7c cmp r0, #0 beq _0214d0d8 ldr r2, _0214d19c ; =0x04001000 ldr r1, [r2] ldr r0, [r2] and r1, r1, #0x1f00 mov r3, r1, lsr #0x8 bic r1, r0, #0x1f00 bic r0, r3, #2 orr r0, r1, r0, lsl #8 str r0, [r2] ldmia sp!, {r4, pc} _0214d0d8: ldr r0, _0214d1a0 ; =data_027e077c ldr r0, [r0] cmp r0, #0x2e bgt _0214d128 bge _0214d140 cmp r0, #6 bgt _0214d11c cmp r0, #0 addge pc, pc, r0, lsl #2 b _0214d168 _0214d100: ; jump table b _0214d168 ; case 0 b _0214d168 ; case 1 b _0214d140 ; case 2 b _0214d140 ; case 3 b _0214d140 ; case 4 b _0214d140 ; case 5 b _0214d140 ; case 6 _0214d11c: cmp r0, #0x2d beq _0214d140 b _0214d168 _0214d128: cmp r0, #0x31 bgt _0214d138 beq _0214d140 b _0214d168 _0214d138: cmp r0, #0x32 bne _0214d168 _0214d140: ldr r2, _0214d19c ; =0x04001000 ldr r1, [r2] ldr r0, [r2] and r1, r1, #0x1f00 mov r3, r1, lsr #0x8 bic r1, r0, #0x1f00 bic r0, r3, #2 orr r0, r1, r0, lsl #8 str r0, [r2] ldmia sp!, {r4, pc} _0214d168: ldr r2, _0214d19c ; =0x04001000 ldr r1, [r2] ldr r0, [r2] and r1, r1, #0x1f00 mov r3, r1, lsr #0x8 bic r1, r0, #0x1f00 orr r0, r3, #2 orr r0, r1, r0, lsl #8 str r0, [r2] ldr r0, [r4, #0x2c] bl func_ov15_0211fc80 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214d080 _0214d198: .word data_027e1054 _0214d19c: .word 0x04001000 _0214d1a0: .word data_027e077c .global func_ov15_0214d1a4 arm_func_start func_ov15_0214d1a4 func_ov15_0214d1a4: ; 0x0214d1a4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov09_0211b5ac ldr r0, [r4, #0x24] bl func_ov15_0214c944 ldr r0, [r4, #0x28] ldr r1, [r0] ldr r1, [r1, #0x34] blx r1 ldr r0, [r4, #0x30] cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov15_021839e0 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d1a4 .global func_ov15_0214d1dc arm_func_start func_ov15_0214d1dc func_ov15_0214d1dc: ; 0x0214d1dc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020d384c ldr r0, [r5, #0x30] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, r4 bl func_ov15_02183af0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0214d1dc .global func_ov15_0214d204 arm_func_start func_ov15_0214d204 func_ov15_0214d204: ; 0x0214d204 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov09_0211cc74 ldr r0, [r4, #0x2c] blx func_ov00_02079b54 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d204 .global func_ov15_0214d21c arm_func_start func_ov15_0214d21c func_ov15_0214d21c: ; 0x0214d21c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x2c] bl func_ov15_0211f954 ldr r0, [r4, #0x28] bl func_ov15_02120b54 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d21c .global func_ov15_0214d238 arm_func_start func_ov15_0214d238 func_ov15_0214d238: ; 0x0214d238 ldr ip, _0214d244 ; =func_ov15_0211f9ac ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov15_0214d238 _0214d244: .word func_ov15_0211f9ac .global func_ov15_0214d248 arm_func_start func_ov15_0214d248 func_ov15_0214d248: ; 0x0214d248 ldr ip, _0214d254 ; =func_ov15_021217e4 ldr r0, [r0, #0x28] bx ip .align 2, 0 arm_func_end func_ov15_0214d248 _0214d254: .word func_ov15_021217e4 .global func_ov15_0214d258 arm_func_start func_ov15_0214d258 func_ov15_0214d258: ; 0x0214d258 stmdb sp!, {r3, lr} ldr r1, _0214d284 ; =data_027e0fe0 mov r0, #0x15c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0214d288 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214d258 _0214d284: .word data_027e0fe0 .global func_ov15_0214d288 arm_func_start func_ov15_0214d288 func_ov15_0214d288: ; 0x0214d288 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _0214d2ac ; =data_ov15_0218bb1c mov r1, #8 str r0, [r4] mov r0, r4 str r1, [r4, #0x158] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214d288 _0214d2ac: .word data_ov15_0218bb1c .global func_ov15_0214d2b0 arm_func_start func_ov15_0214d2b0 func_ov15_0214d2b0: ; 0x0214d2b0 stmdb sp!, {r3, lr} ldrh r1, [r0, #0x20] mvn lr, #0 mov r3, #0x1000 str r1, [r0, #0x158] str lr, [r0, #0x98] ldr r1, _0214d310 ; =data_027e0d0c str lr, [r0, #0x88] ldr r2, [r1] str r2, [r0, #0xa8] ldr ip, [r1, #4] mov r2, #0 str ip, [r0, #0xac] ldr ip, [r1, #8] add r1, lr, #0x334 str ip, [r0, #0xb0] str r3, [r0, #0xb4] str r2, [r0, #0x60] str r1, [r0, #0x64] str r2, [r0, #0x68] mov r1, #0x52 str r1, [r0, #0x6c] mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214d2b0 _0214d310: .word data_027e0d0c .global func_ov15_0214d314 arm_func_start func_ov15_0214d314 func_ov15_0214d314: ; 0x0214d314 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor12ApplyGravityEv add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r1, [r4, #0x4c] ldr r0, [r4, #0x18] cmp r1, r0 ldmgeia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x6c] str r0, [r4, #0x64] ldr r0, [r4, #0x18] str r0, [r4, #0x4c] ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d314 .global func_ov15_0214d358 arm_func_start func_ov15_0214d358 func_ov15_0214d358: ; 0x0214d358 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r1, [r4, #0x48] str r1, [r4, #0x54] ldr r1, [r4, #0x4c] str r1, [r4, #0x58] ldr r1, [r4, #0x50] str r1, [r4, #0x5c] bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r4 bl func_ov15_0214d314 ldr r0, [r4, #0x138] cmp r0, #0xf ldmltia sp!, {r3, r4, r5, pc} ldr r1, _0214d3d8 ; =gItemManager ldr r0, [r4, #0x158] ldr r5, [r1] bl func_ov00_020c5a24 mov r1, r0 mov r0, r5 mov r2, #0 bl _ZN11ItemManager10GiveRupeesEjj ldr r1, [r4, #0x158] ldr r0, _0214d3dc ; =data_ov00_020eec9c add r1, r1, #0xfa mov r1, r1, lsl #0x10 ldr r2, _0214d3e0 ; =data_027e0f94 mov r1, r1, lsr #0x10 bl func_ov00_020d7a84 mov r0, r4 bl _ZN5Actor4KillEv ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214d358 _0214d3d8: .word gItemManager _0214d3dc: .word data_ov00_020eec9c _0214d3e0: .word data_027e0f94 .global func_ov15_0214d3e4 arm_func_start func_ov15_0214d3e4 func_ov15_0214d3e4: ; 0x0214d3e4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0214d404 mov r0, r5 bl func_ov15_0214d358 _0214d404: 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_ov15_0214d3e4 .global func_ov15_0214d418 arm_func_start func_ov15_0214d418 func_ov15_0214d418: ; 0x0214d418 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0214d418 .global func_ov15_0214d42c arm_func_start func_ov15_0214d42c func_ov15_0214d42c: ; 0x0214d42c mov r3, #3 str r3, [r2, #4] mov r0, #2 cmp r1, #3 str r0, [r2, #8] blt _0214d45c str r0, [r2, #0xc] add r1, r3, #0x3b8 ldr r0, _0214d474 ; =0x00000eeb str r1, [r2, #0x14] str r0, [r2, #0x18] bx lr _0214d45c: str r0, [r2, #0xc] add r1, r0, #0x2a8 ldr r0, _0214d478 ; =0x00000aa8 str r1, [r2, #0x14] str r0, [r2, #0x18] bx lr .align 2, 0 arm_func_end func_ov15_0214d42c _0214d474: .word 0x00000eeb _0214d478: .word 0x00000aa8 .global func_ov15_0214d47c arm_func_start func_ov15_0214d47c func_ov15_0214d47c: ; 0x0214d47c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r0 movs r4, r1 ldrneb r0, [r5, #0xa5] ldreqb r0, [r5, #0xa4] cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #4 bl func_ov00_0207a13c ldr r1, [r5, #0x158] add r2, sp, #4 mov r0, r5 bl func_ov15_0214d42c mov r0, #0 str r0, [sp] ldr r1, [r5, #0x158] ldr r0, _0214d4e4 ; =data_ov15_0218634c add r3, sp, #4 ldr r2, [r0, r1, lsl #2] mov r0, r4 add r1, r5, #0x48 bl func_0202bc38 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214d47c _0214d4e4: .word data_ov15_0218634c .global func_ov15_0214d4e8 arm_func_start func_ov15_0214d4e8 func_ov15_0214d4e8: ; 0x0214d4e8 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_ov15_0214d4e8 .global func_ov15_0214d504 arm_func_start func_ov15_0214d504 func_ov15_0214d504: ; 0x0214d504 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d504 .global func_ov15_0214d518 arm_func_start func_ov15_0214d518 func_ov15_0214d518: ; 0x0214d518 stmdb sp!, {r3, lr} ldr r1, _0214d544 ; =data_027e0fe0 mov r0, #0x158 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0214d548 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214d518 _0214d544: .word data_027e0fe0 .global func_ov15_0214d548 arm_func_start func_ov15_0214d548 func_ov15_0214d548: ; 0x0214d548 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0214d564 ; =data_ov15_0218bbd8 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214d548 _0214d564: .word data_ov15_0218bbd8 .global func_ov15_0214d568 arm_func_start func_ov15_0214d568 func_ov15_0214d568: ; 0x0214d568 stmdb sp!, {r3, lr} mvn lr, #0 str lr, [r0, #0x98] ldr r1, _0214d5bc ; =data_027e0d0c str lr, [r0, #0x88] ldr r2, [r1] mov r3, #0 str r2, [r0, #0xa8] ldr ip, [r1, #4] add r2, lr, #0x334 str ip, [r0, #0xac] ldr ip, [r1, #8] mov r1, #0x52 str ip, [r0, #0xb0] str lr, [r0, #0xb4] str r3, [r0, #0x60] str r2, [r0, #0x64] str r3, [r0, #0x68] str r1, [r0, #0x6c] mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214d568 _0214d5bc: .word data_027e0d0c .global func_ov15_0214d5c0 arm_func_start func_ov15_0214d5c0 func_ov15_0214d5c0: ; 0x0214d5c0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor12ApplyGravityEv add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r1, [r4, #0x4c] ldr r0, [r4, #0x18] cmp r1, r0 ldmgeia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x6c] str r0, [r4, #0x64] ldr r0, [r4, #0x18] str r0, [r4, #0x4c] ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d5c0 .global func_ov15_0214d604 arm_func_start func_ov15_0214d604 func_ov15_0214d604: ; 0x0214d604 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x48] str r1, [r4, #0x54] ldr r1, [r4, #0x4c] str r1, [r4, #0x58] ldr r1, [r4, #0x50] str r1, [r4, #0x5c] bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r4 bl func_ov15_0214d5c0 ldr r0, [r4, #0x138] cmp r0, #0xf ldmltia sp!, {r4, pc} ldr r0, _0214d670 ; =data_027e0f90 mov r1, #4 ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x40] blx r2 ldr r0, _0214d674 ; =data_ov00_020eec9c ldr r2, _0214d678 ; =data_027e0f94 mov r1, #0x100 bl func_ov00_020d7a84 mov r0, r4 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214d604 _0214d670: .word data_027e0f90 _0214d674: .word data_ov00_020eec9c _0214d678: .word data_027e0f94 .global func_ov15_0214d67c arm_func_start func_ov15_0214d67c func_ov15_0214d67c: ; 0x0214d67c stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_0214d604 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d67c .global func_ov15_0214d69c arm_func_start func_ov15_0214d69c func_ov15_0214d69c: ; 0x0214d69c stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0214d69c .global func_ov15_0214d6b0 arm_func_start func_ov15_0214d6b0 func_ov15_0214d6b0: ; 0x0214d6b0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r4, r0 movs r5, r1 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #4 bl func_ov00_0207a13c mov ip, #1 mov lr, #5 mov r2, #0x400 mov r1, #0x800 str r2, [sp, #0x18] str r1, [sp, #0x1c] add r3, sp, #4 mov r0, r5 str lr, [sp, #8] str ip, [sp, #0xc] str ip, [sp, #0x10] mov ip, #0 add r1, r4, #0x48 mov r2, #0xe str ip, [sp] bl func_0202bc38 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0214d6b0 .global func_ov15_0214d724 arm_func_start func_ov15_0214d724 func_ov15_0214d724: ; 0x0214d724 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_ov15_0214d724 .global func_ov15_0214d740 arm_func_start func_ov15_0214d740 func_ov15_0214d740: ; 0x0214d740 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d740 .global func_ov15_0214d754 arm_func_start func_ov15_0214d754 func_ov15_0214d754: ; 0x0214d754 stmdb sp!, {r3, lr} ldr r1, _0214d780 ; =data_027e0fe0 mov r0, #0x16c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0214d784 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214d754 _0214d780: .word data_027e0fe0 .global func_ov15_0214d784 arm_func_start func_ov15_0214d784 func_ov15_0214d784: ; 0x0214d784 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _0214d808 ; =data_ov15_0218bca4 mov ip, #0x400 str r0, [r4] ldr r1, _0214d80c ; =data_027e0d0c str ip, [r4, #0x15c] ldr r0, [r1] mov r2, #0x2000 str r0, [r4, #0x7c] ldr r0, [r1, #4] str r0, [r4, #0x80] ldr r3, [r1, #8] mov r0, r4 str r3, [r4, #0x84] str ip, [r4, #0x88] ldr r3, [r4, #0x7c] str r3, [r4, #0x8c] ldr r3, [r4, #0x80] str r3, [r4, #0x90] ldr r3, [r4, #0x84] str r3, [r4, #0x94] ldr r3, [r4, #0x88] str r3, [r4, #0x98] ldr r3, [r1] str r3, [r4, #0xa8] ldr r3, [r1, #4] str r3, [r4, #0xac] ldr r1, [r1, #8] str r1, [r4, #0xb0] str r2, [r4, #0xb4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214d784 _0214d808: .word data_ov15_0218bca4 _0214d80c: .word data_027e0d0c .global func_ov15_0214d810 arm_func_start func_ov15_0214d810 func_ov15_0214d810: ; 0x0214d810 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214d810 .global func_ov15_0214d824 arm_func_start func_ov15_0214d824 func_ov15_0214d824: ; 0x0214d824 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_ov15_0214d824 .global func_ov15_0214d840 arm_func_start func_ov15_0214d840 func_ov15_0214d840: ; 0x0214d840 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 mov r0, #0xc strb r0, [r4, #0x125] mov r0, #0x18 str r0, [r4, #0x168] ldr r0, [r4, #0x4c] mov r1, #0xcf add r0, r0, #0x800 str r0, [r4, #0x4c] strh r1, [r4, #0x9c] ldrh r0, [r4, #0x26] cmp r0, #0 bne _0214d8a0 ldr r0, _0214d9c4 ; =data_027e0ffc add r1, r1, #0xde add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _0214d9c8 ; =data_027e1038 add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020cef10 _0214d8a0: ldr r0, _0214d9cc ; =data_027e0f64 mov r1, #0xa ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 mov r0, #4 strb r0, [r4, #0x124] ldr r1, [r4, #0x4c] mov r0, #0x800 sub r1, r1, #0x800 str r1, [r4, #0x4c] str r0, [r4, #0x160] mov r0, #0x80 str r0, [r4, #0x164] ldrh r0, [r4, #0x20] cmp r0, #0 beq _0214d8f8 cmp r0, #1 beq _0214d90c cmp r0, #4 beq _0214d98c b _0214d9a4 _0214d8f8: mov r0, #0 strb r0, [r4, #0x124] sub r0, r0, #1 str r0, [r4, #0x160] str r0, [r4, #0x15c] _0214d90c: add r0, r4, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0214d9d0 ; =data_027e0e58 mov r2, r3 ldr r0, [r0] mov r1, #0x93 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0214d9d0 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x94 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0214d9d0 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x95 mov r3, #2 bl func_ov00_0207c1b0 b _0214d9a4 _0214d98c: ldr r1, _0214d9d4 ; =0x00001ccd mov r0, #6 str r1, [r4, #0x160] sub r1, r1, #0x1800 str r1, [r4, #0x164] str r0, [r4, #0x168] _0214d9a4: ldrh r0, [r4, #0x22] cmp r0, #0 movne r0, #1 moveq r0, #0 strb r0, [r4, #0x158] mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0214d840 _0214d9c4: .word data_027e0ffc _0214d9c8: .word data_027e1038 _0214d9cc: .word data_027e0f64 _0214d9d0: .word data_027e0e58 _0214d9d4: .word 0x00001ccd .global func_ov15_0214d9d8 arm_func_start func_ov15_0214d9d8 func_ov15_0214d9d8: ; 0x0214d9d8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x94 mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0214dbd0 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 r1, [r5, #0x15c] ldr r0, [r5, #0x164] add r1, r1, r0 str r1, [r5, #0x15c] ldr r0, [r5, #0x160] cmp r1, r0 strle r1, [r5, #0x88] ble _0214da40 cmp r1, #0x1000 movgt r0, #0x1000 strgt r0, [r5, #0x15c] mvn r0, #0 str r0, [r5, #0x88] _0214da40: add r0, sp, #0x14 mov r1, r5 bl _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ ldrb r0, [r5, #0x158] cmp r0, #0 beq _0214da70 ldr r0, _0214dbe8 ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 movne r0, #1 bne _0214da74 _0214da70: mov r0, #0 _0214da74: strb r0, [r5, #0x158] tst r0, #0xff beq _0214daa8 mov r1, #0 str r1, [sp] ldr r0, _0214dbec ; =data_027e0f64 str r1, [sp, #4] ldr r0, [r0] add r2, r5, #0x48 ldr r0, [r0, #4] add r3, r5, #0x60 mov r1, #7 bl func_ov00_0208967c _0214daa8: ldr r0, [r5, #0x168] sub r0, r0, #1 str r0, [r5, #0x168] cmp r0, #0 movle r0, #0 strleb r0, [r5, #0x118] ble _0214dae0 ldrb r0, [r5, #0x124] cmp r0, #0 beq _0214dae0 mov r0, r5 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p _0214dae0: ldr r0, _0214dbf0 ; =data_ov15_0218f62c ldr r0, [r0, #0x20] tst r0, #1 bne _0214db1c ldr r0, _0214dbf4 ; =data_ov15_0218f65c mov r1, #2 bl func_ov00_020bebc0 ldr r0, _0214dbf4 ; =data_ov15_0218f65c ldr r1, _0214dbf8 ; =func_ov15_0214dc08 ldr r2, _0214dbfc ; =data_ov15_0218f650 bl __register_global_object ldr r0, _0214dbf0 ; =data_ov15_0218f62c ldr r1, [r0, #0x20] orr r1, r1, #1 str r1, [r0, #0x20] _0214db1c: ldr r0, _0214dc00 ; =0x0000ffff mov r3, #0 strh r0, [sp, #0x58] strh r0, [sp, #0x5a] strh r0, [sp, #0x5c] strh r0, [sp, #0x5e] strh r3, [sp, #0x60] strb r3, [sp, #0x82] strb r3, [sp, #0x83] strb r3, [sp, #0x84] strb r3, [sp, #0x85] strb r3, [sp, #0x8c] strb r3, [sp, #0x8d] strb r3, [sp, #0x8e] strb r3, [sp, #0x8f] strb r3, [sp, #0x90] strb r3, [sp, #0x91] ldr r0, [r5, #0x88] cmp r0, #0 ble _0214dbd0 ldr r0, [r5, #8] ldr r1, [r5, #0x54] add r7, r5, #0x8c str r1, [sp, #0x28] ldr r1, [r5, #0x58] ldr lr, _0214dbf4 ; =data_ov15_0218f65c str r1, [sp, #0x2c] ldr r1, [r5, #0x5c] mov r6, #4 str r1, [sp, #0x30] ldr r1, [r5, #0x48] ldr ip, _0214dc04 ; =data_027e0e60 str r1, [sp, #0x1c] ldr r2, [r5, #0x4c] add r1, sp, #0x34 str r2, [sp, #0x20] ldr r8, [r5, #0x50] add r2, sp, #0x1c str r8, [sp, #0x24] str r7, [sp] stmib sp, {r0, r6, lr} str r3, [sp, #0x10] ldr r0, [ip] add r3, sp, #0x28 bl func_01ffbe78 _0214dbd0: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x94 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0214d9d8 _0214dbe8: .word data_027e0fb8 _0214dbec: .word data_027e0f64 _0214dbf0: .word data_ov15_0218f62c _0214dbf4: .word data_ov15_0218f65c _0214dbf8: .word func_ov15_0214dc08 _0214dbfc: .word data_ov15_0218f650 _0214dc00: .word 0x0000ffff _0214dc04: .word data_027e0e60 .global func_ov15_0214dc08 arm_func_start func_ov15_0214dc08 func_ov15_0214dc08: ; 0x0214dc08 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214dc08 .global func_ov15_0214dc1c arm_func_start func_ov15_0214dc1c func_ov15_0214dc1c: ; 0x0214dc1c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0214dc94 ldr r1, [r5, #0x15c] ldr r0, [r5, #0x164] add r0, r1, r0 str r0, [r5, #0x15c] cmp r0, #0x1000 movgt r0, #0x1000 strgt r0, [r5, #0x15c] ldrb r0, [r5, #0x158] cmp r0, #0 beq _0214dc74 ldr r0, _0214dca8 ; =data_027e0fb8 ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 movne r0, #1 bne _0214dc78 _0214dc74: mov r0, #0 _0214dc78: strb r0, [r5, #0x158] ldr r0, [r5, #0x168] sub r0, r0, #1 str r0, [r5, #0x168] cmp r0, #0 movle r0, #0 strleb r0, [r5, #0x118] _0214dc94: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214dc1c _0214dca8: .word data_027e0fb8 .global func_ov15_0214dcac arm_func_start func_ov15_0214dcac func_ov15_0214dcac: ; 0x0214dcac stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 ldr r1, _0214e060 ; =data_027e0f64 mov r4, r0 ldr r3, [r1] ldr r0, [r3, #4] ldr r1, [r0, #0x160] cmp r1, #0xc addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} ldr r1, [r4, #0x2c] cmp r1, #3 bne _0214dd14 ldr r1, [r4, #0x38] ldr r2, [r0, #0x15c] cmp r1, #0 moveq r1, #0xe movne r1, #0xf cmp r1, r2 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} mov r2, #0 mov r3, r2 bl func_ov00_020872e8 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214dd14: cmp r1, #5 bne _0214dd98 ldreq r1, [r4, #0x324] cmpeq r1, #6 addne sp, sp, #0x34 ldmneia sp!, {r3, r4, pc} ldr r0, [r0, #0x15c] cmp r0, #0x2b addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} ldr r0, _0214e064 ; =data_027e0f94 add r4, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r0, [sp, #0x2c] ldr r1, [sp, #0x28] add r0, r0, #0x33 add r2, r0, #0x300 ldr r0, [sp, #0x30] str r1, [sp, #0x1c] str r0, [sp, #0x24] str r2, [sp, #0x2c] str r2, [sp, #0x20] mov r0, #0 str r0, [sp] ldr r1, _0214e068 ; =data_027e0fac ldr r0, [r3, #4] ldrsh r3, [r1] add r2, sp, #0x1c mov r1, #0x2b bl func_ov00_02087584 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214dd98: cmp r1, #6 bne _0214de3c ldreq r0, [r4, #0x430] cmpeq r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} ldr r0, _0214e06c ; =data_027e1060 bl func_ov15_0217705c cmp r0, #0 beq _0214dddc ldr r0, [r4, #0x430] cmp r0, #2 moveq r1, #0x29 moveq r4, #0x2a movne r1, #0x27 movne r4, #0x28 b _0214dde4 _0214dddc: mov r1, #0x25 mov r4, #0x26 _0214dde4: ldr r0, _0214e060 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] ldr r2, [r0, #0x15c] cmp r1, r2 beq _0214de08 mov r2, #0 mov r3, r2 bl func_ov00_020872e8 _0214de08: ldr r0, _0214e060 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #8] ldr r1, [r0, #0x15c] cmp r4, r1 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} mov r2, #0 mov r1, r4 mov r3, r2 bl func_ov00_020872e8 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214de3c: ldr r0, _0214e070 ; =data_027e0fb8 mov r1, #1 ldr r0, [r0] mov r2, r1 bl _ZN13PlayerControl18func_ov00_020af2d4Ejb cmp r0, #0 beq _0214dec4 ldr r0, _0214e070 ; =data_027e0fb8 ldr r3, [r0] ldrh r0, [r3, #0x34] tst r0, #1 beq _0214de84 ldr r0, _0214e060 ; =data_027e0f64 ldr r1, [r3, #0x24] ldr r0, [r0] ldr r2, [r3, #0x28] bl func_ov00_0208b1a8 b _0214dec4 _0214de84: tst r0, #2 beq _0214dea4 ldr r0, _0214e060 ; =data_027e0f64 ldr r1, [r3, #0x24] ldr r0, [r0] ldr r2, [r3, #0x28] bl func_ov00_0208b1f8 b _0214dec4 _0214dea4: ldrb r0, [r3, #0xc] cmp r0, #0 beq _0214dec4 ldr r0, _0214e060 ; =data_027e0f64 ldr r1, [r3, #0x24] ldr r0, [r0] ldr r2, [r3, #0x28] bl func_ov00_0208b1d0 _0214dec4: ldr r0, _0214e074 ; =data_ov09_0211f5b4 bl func_ov03_020f3f94 cmp r0, #0 beq _0214df08 ldr r0, _0214e060 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] ldr r1, [r0, #0x15c] cmp r1, #0x1a addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} mov r2, #0 mov r3, r2 mov r1, #0x1a bl func_ov00_020872e8 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214df08: ldrb r0, [r4, #0x260] cmp r0, #1 bne _0214df94 ldr r0, _0214e060 ; =data_027e0f64 ldr ip, [r0] ldr r0, [ip, #4] ldr r0, [r0, #0x15c] cmp r0, #0x4f beq _0214df68 ldr r1, [r4, #0x3c] mov r0, #1 str r1, [sp, #0x10] ldr r1, [r4, #0x40] add r2, sp, #0x10 str r1, [sp, #0x14] ldr r3, [r4, #0x44] mov r1, #0x4f str r3, [sp, #0x18] str r0, [sp] ldr r0, [ip, #4] mov r3, #0 bl func_ov00_02087584 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214df68: ldr r0, [r4, #0x3c] add r1, sp, #4 str r0, [sp, #4] ldr r0, [r4, #0x40] str r0, [sp, #8] ldr r0, [r4, #0x44] str r0, [sp, #0xc] ldr r0, [ip, #4] bl func_ov00_02087fc0 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214df94: ldr r0, [r4, #0x2c] mov r1, #1 cmp r0, #1 cmpne r0, #2 movne r1, #0 cmp r1, #0 beq _0214dfe4 ldr r0, _0214e060 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] ldr r1, [r0, #0x15c] cmp r1, #0x10 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} mov r1, #0x10 mov r2, #1 mov r3, #0 bl func_ov00_020872e8 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214dfe4: ldr r0, _0214e070 ; =data_027e0fb8 ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 beq _0214e02c ldr r0, _0214e060 ; =data_027e0f64 ldr r1, [r4, #0x54] ldr r0, [r0] ldr r0, [r0, #4] ldr r2, [r0, #0x15c] cmp r1, r2 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} mov r2, #0 mov r3, r2 bl func_ov00_020872e8 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214e02c: ldr r0, _0214e060 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] ldr r1, [r0, #0x15c] cmp r1, #0x18 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} mov r1, #0x18 mov r2, #1 mov r3, #0 bl func_ov00_020872e8 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0214dcac _0214e060: .word data_027e0f64 _0214e064: .word data_027e0f94 _0214e068: .word data_027e0fac _0214e06c: .word data_027e1060 _0214e070: .word data_027e0fb8 _0214e074: .word data_ov09_0211f5b4 .global func_ov15_0214e078 arm_func_start func_ov15_0214e078 func_ov15_0214e078: ; 0x0214e078 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0214e0cc ; =data_ov15_0218bd70 add r0, r4, #0x170 str r1, [r4] bl func_ov00_020ccef0 mvn r0, #0 str r0, [r4, #0x1a4] mov r0, #4 strb r0, [r4, #0x1a8] mov r1, #0 strb r1, [r4, #0x1a9] strb r1, [r4, #0x1ab] add r0, r4, #0x1b0 strb r1, [r4, #0x1ac] bl func_ov00_020c66bc mov r1, #0 mov r0, r4 strb r1, [r4, #0x1d6] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214e078 _0214e0cc: .word data_ov15_0218bd70 .global func_ov15_0214e0d0 arm_func_start func_ov15_0214e0d0 func_ov15_0214e0d0: ; 0x0214e0d0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b0 bl func_ov00_020c66d0 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214e0d0 .global func_ov15_0214e0f0 arm_func_start func_ov15_0214e0f0 func_ov15_0214e0f0: ; 0x0214e0f0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b0 bl func_ov00_020c66d0 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214e0f0 .global func_ov15_0214e118 arm_func_start func_ov15_0214e118 func_ov15_0214e118: ; 0x0214e118 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b0 bl func_ov00_020c66d0 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214e118 .global func_ov15_0214e138 arm_func_start func_ov15_0214e138 func_ov15_0214e138: ; 0x0214e138 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xbc mov r10, r0 ldr r2, [r10, #0x1a0] ldr r0, [r1] cmp r2, r0 bge _0214e16c mov r0, #0 str r0, [r10, #0x64] ldr r0, [r10, #0x58] add sp, sp, #0xbc str r0, [r10, #0x4c] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0214e16c: add r0, r10, #0x100 ldrh r1, [r0, #0x68] ldrh r3, [r0, #0x6a] mov r0, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r3, asr #0x4 mov r4, r1, lsl #0x1 add r1, r2, #1 add r3, r4, #1 ldr r6, _0214eaac ; =data_02050f54 mov r2, r2, lsl #0x1 mov r3, r3, lsl #0x1 ldrsh r5, [r6, r3] ldrsh r2, [r6, r2] mov r1, r1, lsl #0x1 str r5, [sp, #0xb4] rsb r3, r2, #0 mov r2, r4, lsl #0x1 ldrsh r4, [r6, r2] ldrsh r2, [r6, r1] rsb r1, r3, #0 str r1, [sp, #0x90] str r4, [sp, #0xb8] str r3, [sp, #0xa4] str r2, [sp, #0xa8] str r4, [sp, #0x9c] str r5, [sp, #0xa0] str r2, [sp, #0x8c] str r0, [sp, #0xb0] str r0, [sp, #0xac] str r0, [sp, #0x98] str r0, [sp, #0x94] ldrsh r0, [r10, #0x78] add r1, sp, #0x98 bl func_0202af4c ldrsh r0, [r10, #0x78] add r1, sp, #0x8c bl func_0202af4c ldr r0, [r10, #0x48] add r2, sp, #0x80 str r0, [sp, #0x80] ldr r0, [r10, #0x4c] add r1, sp, #0x98 str r0, [sp, #0x84] ldr r0, [r10, #0x50] mov r3, r2 str r0, [sp, #0x88] ldr r0, [r10, #0x48] str r0, [sp, #0x74] ldr r0, [r10, #0x4c] str r0, [sp, #0x78] ldr r0, [r10, #0x50] str r0, [sp, #0x7c] ldr r0, [r10, #0x48] str r0, [sp, #0x68] ldr r0, [r10, #0x4c] str r0, [sp, #0x6c] ldr r0, [r10, #0x50] str r0, [sp, #0x70] ldr r0, [r10, #0x48] str r0, [sp, #0x5c] ldr r0, [r10, #0x4c] str r0, [sp, #0x60] ldr r0, [r10, #0x50] str r0, [sp, #0x64] ldr r11, [r10, #0x19c] ldr r4, [r10, #0x198] mov r0, r11 bl func_01ff9e64 add r2, sp, #0x74 rsb r0, r11, #0 add r1, sp, #0x98 mov r3, r2 bl func_01ff9e64 add r2, sp, #0x68 add r1, sp, #0x8c mov r0, r4 mov r3, r2 bl func_01ff9e64 add r2, sp, #0x5c add r1, sp, #0x8c mov r3, r2 rsb r0, r4, #0 bl func_01ff9e64 add r1, sp, #0x80 mov r0, r10 bl func_ov15_0214eabc mov r9, r0 add r1, sp, #0x74 mov r0, r10 bl func_ov15_0214eabc mov r5, r0 mov r0, r10 add r1, sp, #0x68 bl func_ov15_0214eabc mov r8, r0 mov r0, r10 add r1, sp, #0x5c bl func_ov15_0214eabc mov r6, r0 mov r0, #0 add r1, r9, r5 add r1, r6, r1 add r2, r8, r1 mov r1, r2, asr #0x1f mov r3, r1, lsl #0x4 mov r1, #0x800 orr r3, r3, r2, lsr #28 adds r7, r1, r2, lsl #4 adc r2, r3, #0 mov r3, r7, lsr #0xc orr r3, r3, r2, lsl #20 str r0, [sp, #0x50] str r0, [sp, #0x58] str r3, [sp, #0x54] cmp r9, r5 ble _0214e368 ldr r2, [sp, #0xb4] sub r3, r9, r5 smull r7, r2, r3, r2 adds r3, r7, r1 adc r1, r2, r0 mov r0, r3, lsr #0xc orr r0, r0, r1, lsl #20 str r0, [sp, #0x10] b _0214e38c _0214e368: ldr r2, [sp, #0xb4] sub r3, r5, r9 smull r7, r2, r3, r2 adds r3, r7, r1 adc r1, r2, r0 mov r0, r3, lsr #0xc orr r0, r0, r1, lsl #20 rsb r1, r0, #0 str r1, [sp, #0x10] _0214e38c: cmp r8, r6 ble _0214e3b8 ldr r1, [sp, #0xa8] sub r2, r8, r6 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r7, r2, lsr #0xc orr r7, r7, r1, lsl #20 str r7, [sp, #0xc] b _0214e3dc _0214e3b8: ldr r1, [sp, #0xa8] sub r2, r6, r8 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r7, r2, lsr #0xc orr r7, r7, r1, lsl #20 rsb r1, r7, #0 str r1, [sp, #0xc] _0214e3dc: mov r1, r0, asr #0x1f mov r3, r1, lsl #0x4 mov r1, #0x800 adds r1, r1, r0, lsl #4 orr r3, r3, r0, lsr #28 adc r0, r3, #0 mov r1, r1, lsr #0xc add r2, sp, #0x50 orr r1, r1, r0, lsl #20 rsb r0, r1, #0 add r1, sp, #0xb0 mov r3, r2 bl func_01ff9e64 mov r0, r7, asr #0x1f mov r1, r0, lsl #0x4 mov r0, #0x800 orr r1, r1, r7, lsr #28 adds r2, r0, r7, lsl #4 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 add r2, sp, #0x50 rsb r0, r1, #0 add r1, sp, #0xa4 mov r3, r2 bl func_01ff9e64 ldr r1, [r10, #0x64] ldr r0, [sp, #0x54] add r0, r1, r0 str r0, [r10, #0x64] ldr r1, [r10, #0x160] ldr r0, [sp, #0x58] add r0, r1, r0 str r0, [r10, #0x160] ldr r1, [r10, #0x164] ldr r0, [sp, #0x50] add r0, r1, r0 str r0, [r10, #0x164] mov r0, #0 str r0, [r10, #0x60] str r0, [r10, #0x68] ldrh r0, [r10, #0x78] ldr r7, [r10, #0x160] ldr r3, [r10, #0x60] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 ldr r0, _0214eaac ; =data_02050f54 mov r1, r2, lsl #0x1 ldrsh r0, [r0, r1] add r1, r2, #1 mov r2, r1, lsl #0x1 ldr r1, _0214eaac ; =data_02050f54 ldrsh ip, [r1, r2] smull r2, r1, r0, r7 adds r2, r2, #0x800 smull r7, r0, ip, r7 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r1, r3, r2 str r1, [r10, #0x60] adds r1, r7, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 ldr r0, [r10, #0x68] add r0, r0, r1 str r0, [r10, #0x68] ldrsh r1, [r10, #0x78] ldr r0, [r10, #0x164] ldr r7, [r10, #0x60] add r1, r1, #0x4000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 ldr r1, _0214eaac ; =data_02050f54 mov r2, ip, lsl #0x1 ldrsh r1, [r1, r2] mov lr, r0, asr #0x1f smull r3, r2, r1, r0 adds r1, r3, #0x800 adc r2, r2, #0 mov r1, r1, lsr #0xc orr r1, r1, r2, lsl #20 add r1, r7, r1 str r1, [r10, #0x60] add r1, ip, #1 mov r2, r1, lsl #0x1 ldr r1, _0214eaac ; =data_02050f54 ldr ip, [r10, #0x68] ldrsh r3, [r1, r2] mov r1, r11, lsl #0x1 umull r11, r7, r3, r0 mla r7, r3, lr, r7 mov r2, r3, asr #0x1f mla r7, r2, r0, r7 mov r0, #0x800 adds r2, r11, r0 mov r0, #0 adc r0, r7, r0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 add r0, ip, r2 str r0, [r10, #0x68] ldr r0, _0214eab0 ; =data_ov15_0218bd58 ldr r2, [r0] ldr r0, [sp, #0x10] smull r3, r2, r0, r2 mov r0, #0x800 adds r3, r3, r0 mov r0, #0 adc r2, r2, r0 mov r0, r3, lsr #0xc orr r0, r0, r2, lsl #20 bl Divide ldr r2, _0214eab0 ; =data_ov15_0218bd58 mov r1, r4, lsl #0x1 ldr r4, [r2, #0xc] ldr r2, [sp, #0xc] add r3, r10, #0x100 smull r7, r4, r2, r4 adds r7, r7, #0x800 adc r2, r4, #0 ldrsh r4, [r3, #0x6c] add r0, r4, r0 strh r0, [r3, #0x6c] mov r0, r7, lsr #0xc orr r0, r0, r2, lsl #20 bl Divide add r1, r10, #0x100 ldrsh r3, [r1, #0x6e] ldr r2, _0214eab4 ; =0xffffc71c add r0, r3, r0 strh r0, [r1, #0x6e] ldrsh r3, [r1, #0x6a] ldrsh r0, [r1, #0x6c] add r0, r3, r0 strh r0, [r1, #0x6a] ldrsh r3, [r1, #0x68] ldrsh r0, [r1, #0x6e] add r0, r3, r0 strh r0, [r1, #0x68] ldrsh r3, [r1, #0x6a] cmp r3, r2 strlth r2, [r1, #0x6a] blt _0214e63c rsb r0, r2, #0 cmp r3, r0 strgth r0, [r1, #0x6a] _0214e63c: add r1, r10, #0x100 ldrsh r3, [r1, #0x68] ldr r2, _0214eab4 ; =0xffffc71c cmp r3, r2 strlth r2, [r1, #0x68] blt _0214e660 rsb r0, r2, #0 cmp r3, r0 strgth r0, [r1, #0x68] _0214e660: add r4, r10, #0x48 add r3, sp, #0x44 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r10, #0x8c] add r1, sp, #0x34 str r0, [sp, #0x34] ldr r2, [r10, #0x90] mov r0, r4 str r2, [sp, #0x38] ldr r3, [r10, #0x94] mov r2, r1 str r3, [sp, #0x3c] ldr r3, [r10, #0x98] str r3, [sp, #0x40] bl func_01ff9bc4 add r1, sp, #0x34 add r2, sp, #0x28 add r0, r10, #0x60 bl func_01ff9bc4 ldrb r0, [r10, #0x1a8] cmp r0, #4 beq _0214e6e4 add r0, r10, #0x170 add r1, r10, #8 bl func_ov00_020ccf0c cmp r0, #0 beq _0214e6e4 add r2, sp, #0x28 add r1, r10, #0x170 mov r3, r2 mov r0, #0xc00 bl func_01ff9e64 _0214e6e4: mov r0, r10 mov r1, #0 bl func_01fffd04 ldrb r0, [r10, #0x110] cmp r0, #0 ldreqb r0, [r10, #0x112] cmpeq r0, #0 ldreqb r0, [r10, #0x113] cmpeq r0, #0 beq _0214e728 ldr r0, [r10, #0xb8] str r0, [sp, #0x28] ldr r0, [r10, #0xbc] str r0, [sp, #0x2c] ldr r0, [r10, #0xc0] str r0, [sp, #0x30] b _0214e738 _0214e728: ldrb r0, [r10, #0x111] cmp r0, #0 ldrne r0, [r10, #0xbc] strne r0, [sp, #0x2c] _0214e738: ldr r0, [sp, #0x28] add r7, sp, #0x14 str r0, [r10, #0x48] ldr r0, [sp, #0x2c] mvn r4, #0 str r0, [r10, #0x4c] ldr r1, [sp, #0x30] ldr r0, _0214eab8 ; =data_027e0ff8 str r1, [r10, #0x50] ldr r2, [r10, #0x4c] ldr r1, [r10, #0x184] add r3, sp, #0x44 sub r1, r2, r1 str r1, [r10, #0x4c] ldr r2, [r10, #0x188] add r1, r10, #8 str r2, [sp, #0x14] ldr r11, [r10, #0x18c] add r2, r10, #0x48 str r11, [sp, #0x18] ldr r11, [r10, #0x190] str r11, [sp, #0x1c] ldr ip, [r10, #0x194] mov r11, ip, lsl #0x1 str ip, [sp, #0x20] str r11, [sp, #0x24] str r7, [sp] ldrb r7, [r10, #0x1a8] str r7, [sp, #4] str r4, [sp, #8] ldr r0, [r0] bl func_ov05_021082e4 cmp r9, r5 movgt r2, r9 movle r2, r5 cmp r8, r6 movgt r3, r8 movle r3, r6 cmp r8, r6 movge r8, r6 cmp r9, r5 movge r9, r5 cmp r9, r8 movge r9, r8 cmp r2, r3 movgt r0, r2 movle r0, r3 add r0, r9, r0 cmp r2, #0x800 movlt r5, r2 add r0, r0, r0, lsr #31 movge r5, #0x800 mov r1, r0, asr #0x1 mov r0, r5, asr #0x1f mov r4, r0, lsl #0x9 mov r0, #0x800 adds r0, r0, r5, lsl #9 orr r4, r4, r5, lsr #23 add r5, r10, #0x100 mov r6, r0, lsr #0xc adc r4, r4, #0 ldrsh r0, [r5, #0x6c] orr r6, r6, r4, lsl #20 add r8, r6, #0x40 cmp r0, #0 mov r4, r8, asr #0x1f blt _0214e870 rsbs r6, r8, #0 rsc r4, r4, #0 umull r8, r7, r0, r6 mla r7, r0, r4, r7 mov r4, r0, asr #0x1f mla r7, r4, r6, r7 mov r4, r8, lsr #0xc orr r4, r4, r7, lsl #20 mov r4, r4, lsl #0x10 add r0, r0, r4, asr #16 b _0214e890 _0214e870: umull r7, r6, r0, r8 mla r6, r0, r4, r6 mov r4, r0, asr #0x1f mla r6, r4, r8, r6 mov r4, r7, lsr #0xc orr r4, r4, r6, lsl #20 mov r4, r4, lsl #0x10 sub r0, r0, r4, asr #16 _0214e890: strh r0, [r5, #0x6c] cmp r3, #0x800 movlt r5, r3 movge r5, #0x800 mov r0, r5, asr #0x1f mov r4, r0, lsl #0x9 mov r0, #0x800 adds r0, r0, r5, lsl #9 orr r4, r4, r5, lsr #23 add r5, r10, #0x100 mov r6, r0, lsr #0xc adc r4, r4, #0 ldrsh r0, [r5, #0x6e] orr r6, r6, r4, lsl #20 add r8, r6, #0x40 cmp r0, #0 mov r4, r8, asr #0x1f blt _0214e904 rsbs r6, r8, #0 rsc r4, r4, #0 umull r8, r7, r0, r6 mla r7, r0, r4, r7 mov r4, r0, asr #0x1f mla r7, r4, r6, r7 mov r4, r8, lsr #0xc orr r4, r4, r7, lsl #20 mov r4, r4, lsl #0x10 add r0, r0, r4, asr #16 b _0214e924 _0214e904: umull r7, r6, r0, r8 mla r6, r0, r4, r6 mov r4, r0, asr #0x1f mla r6, r4, r8, r6 mov r4, r7, lsr #0xc orr r4, r4, r6, lsl #20 mov r4, r4, lsl #0x10 sub r0, r0, r4, asr #16 _0214e924: strh r0, [r5, #0x6e] mov r0, r1, asr #0x1f mov r4, r0, lsl #0x9 mov r0, #0x800 adds r5, r0, r1, lsl #9 orr r4, r4, r1, lsr #23 adc r0, r4, #0 mov r5, r5, lsr #0xc ldr r6, [r10, #0x64] orr r5, r5, r0, lsl #20 cmp r6, #0 mov r0, r5, asr #0x1f blt _0214e980 rsbs r1, r5, #0 rsc r0, r0, #0 umull r5, r4, r6, r1 mla r4, r6, r0, r4 mov r0, r6, asr #0x1f mla r4, r0, r1, r4 mov r0, r5, lsr #0xc orr r0, r0, r4, lsl #20 add r0, r6, r0 b _0214e99c _0214e980: umull r4, r1, r6, r5 mla r1, r6, r0, r1 mov r0, r6, asr #0x1f mla r1, r0, r5, r1 mov r0, r4, lsr #0xc orr r0, r0, r1, lsl #20 sub r0, r6, r0 _0214e99c: str r0, [r10, #0x64] mov r0, r2, asr #0x1f mov r1, r0, lsl #0x6 mov r0, #0x800 adds r4, r0, r2, lsl #6 orr r1, r1, r2, lsr #26 adc r0, r1, #0 mov r5, r4, lsr #0xc ldr r6, [r10, #0x160] orr r5, r5, r0, lsl #20 cmp r6, #0 mov r0, r5, asr #0x1f blt _0214e9f8 rsbs r1, r5, #0 rsc r0, r0, #0 umull r5, r4, r6, r1 mla r4, r6, r0, r4 mov r0, r6, asr #0x1f mla r4, r0, r1, r4 mov r0, r5, lsr #0xc orr r0, r0, r4, lsl #20 add r0, r6, r0 b _0214ea14 _0214e9f8: umull r4, r1, r6, r5 mla r1, r6, r0, r1 mov r0, r6, asr #0x1f mla r1, r0, r5, r1 mov r0, r4, lsr #0xc orr r0, r0, r1, lsl #20 sub r0, r6, r0 _0214ea14: str r0, [r10, #0x160] add r0, r2, r3 add r0, r0, r0, lsr #31 mov r1, r0, asr #0x1 mov r0, r1, asr #0x1f mov r2, r0, lsl #0x9 mov r0, #0x800 adds r3, r0, r1, lsl #9 orr r2, r2, r1, lsr #23 adc r0, r2, #0 mov r3, r3, lsr #0xc ldr r4, [r10, #0x164] orr r3, r3, r0, lsl #20 cmp r4, #0 mov r0, r3, asr #0x1f blt _0214ea84 rsbs r1, r3, #0 rsc r0, r0, #0 umull r3, r2, r4, r1 mla r2, r4, r0, r2 mov r0, r4, asr #0x1f mla r2, r0, r1, r2 mov r0, r3, lsr #0xc orr r0, r0, r2, lsl #20 add r0, r4, r0 add sp, sp, #0xbc str r0, [r10, #0x164] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0214ea84: umull r2, r1, r4, r3 mla r1, r4, r0, r1 mov r0, r4, asr #0x1f mla r1, r0, r3, r1 mov r0, r2, lsr #0xc orr r0, r0, r1, lsl #20 sub r0, r4, r0 str r0, [r10, #0x164] add sp, sp, #0xbc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214e138 _0214eaac: .word data_02050f54 _0214eab0: .word data_ov15_0218bd58 _0214eab4: .word 0xffffc71c _0214eab8: .word data_027e0ff8 .global func_ov15_0214eabc arm_func_start func_ov15_0214eabc func_ov15_0214eabc: ; 0x0214eabc stmdb sp!, {r3, r4, r5, lr} ldr r2, _0214eb14 ; =data_027e0e60 mov r5, r0 ldr r0, [r2] mov r4, r1 mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #4] ldr ip, [r5, #0x15c] sub r3, r1, ip cmp r3, r0 movge r0, #0 ldmgeia sp!, {r3, r4, r5, pc} ldr r2, [r5, #0x158] add r1, r1, r2 cmp r1, r0 movle r0, #0x1000 ldmleia sp!, {r3, r4, r5, pc} sub r0, r0, r3 add r1, r2, ip bl Divide ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214eabc _0214eb14: .word data_027e0e60 .global func_ov15_0214eb18 arm_func_start func_ov15_0214eb18 func_ov15_0214eb18: ; 0x0214eb18 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x24 movs r6, r2 mov r8, r0 mov r7, r1 mov r5, r3 bne _0214eb74 ldr r1, _0214ed4c ; =data_027e0d0c add sp, sp, #0x24 ldr r2, [r1] mov r0, #1 str r2, [r8, #0x60] ldr r2, [r1, #4] str r2, [r8, #0x64] ldr r2, [r1, #8] str r2, [r8, #0x68] ldr r2, [r1] str r2, [r7] ldr r2, [r1, #4] str r2, [r7, #4] ldr r1, [r1, #8] str r1, [r7, #8] ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0214eb74: ldrb r0, [r8, #0x1d6] cmp r0, #0 beq _0214ebf4 ldrsh r0, [r8, #0x78] add r1, r8, #0x100 ldr r3, _0214ed50 ; =data_02050f54 strh r0, [r1, #0xd4] ldrh r2, [r1, #0xd4] add sp, sp, #0x24 mov r0, #1 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 ldrsh r2, [r3, r2] smull r5, r4, r2, r6 adds r5, r5, #0x800 adc r2, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r2, lsl #20 str r4, [r8, #0x60] ldrh r1, [r1, #0xd4] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] smull r3, r2, r1, r6 adds r3, r3, #0x800 adc r1, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r8, #0x68] ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0214ebf4: add r0, sp, #0 add r1, r8, #0x1b0 mov r4, #1 bl func_ov00_020c6e08 add r0, sp, #0 add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r8, #0x1cc] add r2, sp, #0xc str r0, [sp, #0x1c] mov r0, r3 add r1, r8, #0x1c8 bl func_01ff9bf8 ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 add r1, r8, #0x100 strh r0, [r1, #0xd4] add r0, sp, #0xc bl func_01ff9cec cmp r0, r6 bge _0214ec64 ldr r0, [sp, #0xc] str r0, [r8, #0x60] ldr r0, [sp, #0x14] str r0, [r8, #0x68] b _0214ecc4 _0214ec64: add r0, r8, #0x100 ldrh r1, [r0, #0xd4] ldr r2, _0214ed50 ; =data_02050f54 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r2, r1] smull ip, r3, r1, r6 adds ip, ip, #0x800 adc r1, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r1, lsl #20 str r3, [r8, #0x60] ldrh r0, [r0, #0xd4] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r0, [r2, r0] smull r2, r1, r0, r6 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r8, #0x68] _0214ecc4: add r0, r8, #0x1c8 add r1, r8, #0x60 mov r2, r0 bl func_01ff9bc4 add r0, sp, #0x18 add r1, r8, #0x1c8 bl func_ov00_020ce2f0 ldr r1, _0214ed54 ; =0x0000019a cmp r0, r1 bge _0214ecf8 add r0, r8, #0x1b0 bl func_ov00_020c6d9c mov r4, r0 _0214ecf8: cmp r4, #0 moveq r3, #1 movne r3, #0 mov r2, r7 add r0, r8, #0x1c8 add r1, r8, #0x48 strb r3, [r8, #0x1d6] bl func_01ff9bf8 mov r0, #0 str r0, [r7, #4] ldr r0, [r7] ldr r1, [r7, #8] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 mov r2, r5 add r0, r8, #0x78 bl func_0202b154 mov r0, r4 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0214eb18 _0214ed4c: .word data_027e0d0c _0214ed50: .word data_02050f54 _0214ed54: .word 0x0000019a .global func_ov15_0214ed58 arm_func_start func_ov15_0214ed58 func_ov15_0214ed58: ; 0x0214ed58 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 mvneq r0, #0 streq r0, [r4, #0x1a4] beq _0214edb8 mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r4, #0x48] mov r1, #0 str r0, [r4, #0x54] ldr r2, [r4, #0x4c] mov r0, r4 str r2, [r4, #0x58] ldr r3, [r4, #0x50] mov r2, r1 str r3, [r4, #0x5c] bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 _0214edb8: mov r1, r5 add r0, r4, #0xa4 add r2, r4, #0x48 bl func_ov00_0207a1c8 ldrb r0, [r4, #0x1a9] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0214ede8 ; =data_ov15_02190458 add r1, r4, #0x48 mov r2, #0 bl func_ov15_02184a40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214ed58 _0214ede8: .word data_ov15_02190458 .global func_ov15_0214edec arm_func_start func_ov15_0214edec func_ov15_0214edec: ; 0x0214edec stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0214ee30 ; =data_027e0ff4 mov r4, r0 ldr r0, [r1] ldr r1, [r4, #0x1a4] add r2, sp, #0 bl func_ov05_0210d6dc cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 bl func_01ff9bc4 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0214edec _0214ee30: .word data_027e0ff4 .global func_ov15_0214ee34 arm_func_start func_ov15_0214ee34 func_ov15_0214ee34: ; 0x0214ee34 stmdb sp!, {r4, lr} ldr r1, _0214ee54 ; =data_027e0ff4 mov r4, r0 ldr r0, [r1] mov r1, r4 bl func_ov05_0210d3d8 str r0, [r4, #0x1a4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214ee34 _0214ee54: .word data_027e0ff4 .global func_ov15_0214ee58 arm_func_start func_ov15_0214ee58 func_ov15_0214ee58: ; 0x0214ee58 stmdb sp!, {r3, lr} ldr r1, _0214ee84 ; =data_027e0fe0 mov r0, #0x2e0 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0214ee88 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214ee58 _0214ee84: .word data_027e0fe0 .global func_ov15_0214ee88 arm_func_start func_ov15_0214ee88 func_ov15_0214ee88: ; 0x0214ee88 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0214eeb8 ; =data_ov15_0218be40 add r0, r4, #0x1b0 str r1, [r4] mov r2, #0 mov r1, #0x1000000 str r2, [r4, #0x160] bl func_ov00_020d18f4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214ee88 _0214eeb8: .word data_ov15_0218be40 .global func_ov15_0214eebc arm_func_start func_ov15_0214eebc func_ov15_0214eebc: ; 0x0214eebc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b0 bl func_ov00_020d1980 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214eebc .global func_ov15_0214eedc arm_func_start func_ov15_0214eedc func_ov15_0214eedc: ; 0x0214eedc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b0 bl func_ov00_020d1980 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0214eedc .global func_ov15_0214ef04 arm_func_start func_ov15_0214ef04 func_ov15_0214ef04: ; 0x0214ef04 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x48 ldr r1, _0214f10c ; =gAdventureFlags mov r7, r0 ldr r0, [r1] mov r1, #0x37 bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x48 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r0, _0214f110 ; =data_027e0ff0 ldrh r1, [r7, #0x20] ldr r0, [r0] mov r4, #0 ldr r2, [r0] and r0, r1, #0xff add r0, r2, r0, lsl #3 str r0, [r7, #0x158] ldr r0, [r0] ldrb r5, [r0, #1] cmp r5, #0xa movgt r5, #0xa cmp r5, #0 ble _0214f058 mov r6, r4 add r10, sp, #0x30 add r9, sp, #0x3c mov r8, #0x24 _0214ef78: add r0, r4, #1 cmp r0, r5 bne _0214efcc ldr r0, [r7, #0x158] ldr r0, [r0, #4] add r0, r0, r6 ldr r2, [r0, #8] ldr r1, [r0, #0xc] ldr r0, [r0, #4] str r0, [sp, #0x3c] str r2, [sp, #0x40] str r1, [sp, #0x44] ldr r0, [r7, #0x158] ldr r0, [r0, #4] ldr r2, [r0, #8] ldr r1, [r0, #0xc] ldr r0, [r0, #4] str r0, [sp, #0x30] str r2, [sp, #0x34] str r1, [sp, #0x38] b _0214f010 _0214efcc: ldr r1, [r7, #0x158] ldr r1, [r1, #4] add r1, r1, r6 ldr r3, [r1, #8] ldr r2, [r1, #0xc] ldr r1, [r1, #4] str r3, [sp, #0x40] str r2, [sp, #0x44] str r1, [sp, #0x3c] ldr r1, [r7, #0x158] ldr r1, [r1, #4] mla r3, r0, r8, r1 ldr r1, [r3, #0xc] ldmib r3, {r0, r2} str r0, [sp, #0x30] str r2, [sp, #0x34] str r1, [sp, #0x38] _0214f010: mov r0, r10 mov r1, r9 mov r2, r10 bl func_01ff9bf8 ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] bl func_01ffa0f4 add r1, r7, r4, lsl #1 add r1, r1, #0x100 strh r0, [r1, #0x64] mov r0, r10 bl func_01ff9cec add r1, r7, r4, lsl #2 add r4, r4, #1 str r0, [r1, #0x178] cmp r4, r5 add r6, r6, #0x24 blt _0214ef78 _0214f058: ldr r0, _0214f110 ; =data_027e0ff0 ldrh r1, [r7, #0x22] ldr r2, [r0] mov r0, #0 ldr r2, [r2] and r1, r1, #0xff add r3, r2, r1, lsl #3 str r3, [r7, #0x15c] strb r0, [r7, #0x1a4] strb r0, [r7, #0x1a5] ldr r1, [r7, #0x15c] ldr r1, [r1] ldrb r5, [r1, #1] cmp r5, #0 ble _0214f0d0 mov r4, r0 add r2, r7, #0x1a4 _0214f09c: ldr r1, [r3, #4] add r0, r0, #1 add r1, r1, r4 ldrsb r1, [r1, #0x10] mov r0, r0, lsl #0x18 add r4, r4, #0x24 cmp r1, #0 ldrgesb r1, [r2] addge r1, r1, #1 strgeb r1, [r2] cmp r5, r0, asr #24 mov r0, r0, asr #0x18 bgt _0214f09c _0214f0d0: mov r2, #0 str r2, [r7, #0x130] sub r0, r2, #1 str r0, [r7, #0x1a8] strb r2, [r7, #0x1ac] ldr r1, [r7, #8] mov r0, #1 str r1, [r7, #0x1d0] ldr r1, [r7, #0xc] str r1, [r7, #0x1d4] strb r2, [r7, #0x204] strb r2, [r7, #0x20c] str r2, [r7, #0x1a0] add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0214ef04 _0214f10c: .word gAdventureFlags _0214f110: .word data_027e0ff0 .global func_ov15_0214f114 arm_func_start func_ov15_0214f114 func_ov15_0214f114: ; 0x0214f114 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldrb r0, [r4, #0x118] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _0214f194 ; =gAdventureFlags ldr r1, _0214f198 ; =0x0000010f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 movne r0, #1 strb r0, [r4, #0x1ad] ldr r1, _0214f19c ; =data_027e0fe4 ldr r2, _0214f1a0 ; =0x4647474e ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r1, [sp] mvn r0, #0 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _0214f19c ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x160] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0214f114 _0214f194: .word gAdventureFlags _0214f198: .word 0x0000010f _0214f19c: .word data_027e0fe4 _0214f1a0: .word 0x4647474e .global func_ov15_0214f1a4 arm_func_start func_ov15_0214f1a4 func_ov15_0214f1a4: ; 0x0214f1a4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x224 mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x130] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0214f724 _0214f1d0: ; jump table b _0214f1e8 ; case 0 b _0214f2e4 ; case 1 b _0214f388 ; case 2 b _0214f43c ; case 3 b _0214f510 ; case 4 b _0214f5fc ; case 5 _0214f1e8: mov r0, r4 bl func_ov15_0214f9d4 mov r0, r4 bl func_ov15_0214f768 cmp r0, #0 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} ldrb r0, [r4, #0x1ac] cmp r0, #1 addne sp, sp, #0x224 ldmneia sp!, {r3, r4, pc} add r0, r4, #0x100 ldrsb r1, [r0, #0xa5] ldrsb r0, [r0, #0xa4] cmp r1, r0 beq _0214f2d4 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _0214f2c4 ldr r1, [r4, #0x160] mov r2, #1 add r0, sp, #0x174 strb r2, [r1, #0x239] bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _0214f72c ; =gAdventureFlags mvn ip, #0 mov r3, #0x32 ldr r0, [r0] add r1, sp, #0x174 str ip, [sp, #0x178] strb r3, [sp, #0x17d] strb r2, [sp, #0x17e] strb r2, [sp, #0x17f] strb r2, [sp, #0x18a] bl _ZN14AdventureFlags18func_Ov00_02097810Ei mvn r1, #0 str r0, [r4, #0x1a8] cmp r0, r1 bne _0214f29c add r0, sp, #0x174 bl func_ov00_0209a508 add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f29c: mov r0, #2 str r0, [r4, #0x130] mov r1, #0 str r1, [r4, #0x138] mov r1, #1 add r0, sp, #0x174 strb r1, [r4, #0x1ad] bl func_ov00_0209a508 add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f2c4: mov r0, #1 add sp, sp, #0x224 str r0, [r4, #0x130] ldmia sp!, {r3, r4, pc} _0214f2d4: mov r0, #0 add sp, sp, #0x224 strb r0, [r4, #0x1ac] ldmia sp!, {r3, r4, pc} _0214f2e4: mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} ldr r1, [r4, #0x160] mov r2, #1 add r0, sp, #0xc4 strb r2, [r1, #0x239] bl func_ov00_0209a4f4 mov r3, #0 ldr r0, _0214f72c ; =gAdventureFlags mvn lr, #0 mov ip, #0x32 mov r2, #2 ldr r0, [r0] add r1, sp, #0xc4 str lr, [sp, #0xc8] strb ip, [sp, #0xcd] strb r3, [sp, #0xce] strb r2, [sp, #0xcf] strb r3, [sp, #0xda] bl _ZN14AdventureFlags18func_Ov00_02097810Ei mvn r1, #0 str r0, [r4, #0x1a8] cmp r0, r1 bne _0214f360 add r0, sp, #0xc4 bl func_ov00_0209a508 add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f360: mov r0, #2 str r0, [r4, #0x130] mov r1, #0 str r1, [r4, #0x138] mov r1, #1 add r0, sp, #0xc4 strb r1, [r4, #0x1ad] bl func_ov00_0209a508 add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f388: ldr r0, [r4, #0x160] ldrb r0, [r0, #0x23a] cmp r0, #0 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} ldr r0, _0214f730 ; =data_027e0c68 mov r3, #3 ldr r2, _0214f734 ; =0x00050049 add r1, r4, #0x1b0 str r3, [r4, #0x130] bl func_02036ce4 mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r0, _0214f738 ; =data_027e0f64 add r1, r4, #0x278 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, _0214f73c ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #1 addne sp, sp, #0x224 ldmneia sp!, {r3, r4, pc} bl func_ov15_02136aa4 ldr r0, _0214f740 ; =0x00001333 mov r2, #0 str r0, [r4, #0x290] str r2, [r4, #0x29c] sub r0, r0, #0xc00 str r0, [r4, #0x298] ldr r1, _0214f744 ; =0x0000051f ldr r0, _0214f748 ; =0x00001770 str r1, [r4, #0x294] str r0, [r4, #0x284] ldr r0, _0214f74c ; =data_027e0fac str r2, [r4, #0x288] ldrsh r0, [r0] add sp, sp, #0x224 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x28c] ldmia sp!, {r3, r4, pc} _0214f43c: mov r0, #0x10000 ldr r1, [r4, #0x1c8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x1b0 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x1c8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x224 ldmneia sp!, {r3, r4, pc} mov r0, #4 str r0, [r4, #0x130] mov r0, #0 str r0, [r4, #0x138] ldr r0, _0214f72c ; =gAdventureFlags ldr r1, [r4, #0x1a8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0214f4bc ldr r0, _0214f72c ; =gAdventureFlags ldr r1, [r4, #0x1a8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0214f4bc: add r0, sp, #0x14 bl func_ov00_0209a4f4 mov r3, #0 ldr r0, _0214f72c ; =gAdventureFlags mvn lr, #0 mov ip, #0x32 mov r2, #6 ldr r0, [r0] add r1, sp, #0x14 str lr, [sp, #0x18] strb ip, [sp, #0x1d] strb r3, [sp, #0x1e] strb r3, [sp, #0x1f] strb r2, [sp, #0x20] strb r3, [sp, #0x2a] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x1a8] add r0, sp, #0x14 bl func_ov00_0209a508 add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f510: mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r4, #0x138] cmp r0, #0x16 bne _0214f56c add r0, r4, #0x14 add lr, sp, #8 ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} mov r3, #0 str r3, [sp] ldr r0, _0214f750 ; =data_027e0f90 str r3, [sp, #4] ldr r0, [r0] ldr r1, _0214f74c ; =data_027e0fac ldr ip, [r0] ldrsh r2, [r1] ldr ip, [ip, #0x34] mov r1, lr blx ip ldr r0, [r4, #0x160] bl func_ov15_0215bacc b _0214f5b0 _0214f56c: cmp r0, #0x2d blt _0214f5b0 mov r1, #0 strb r1, [r4, #0x1a5] ldr r0, [r4, #0x1a0] cmp r0, #0 movne r0, #5 strne r0, [r4, #0x130] bne _0214f5a8 ldr r0, [r4, #0x30] mov r0, r0, asr #0x10 cmp r0, #5 moveq r0, #5 streq r0, [r4, #0x130] strne r1, [r4, #0x130] _0214f5a8: mov r0, #0 str r0, [r4, #0x138] _0214f5b0: ldr r0, [r4, #0x130] cmp r0, #5 beq _0214f5ec ldr r0, [r4, #0x1a0] cmp r0, #0 bne _0214f5dc ldr r0, [r4, #0x30] mov r0, r0, asr #0x10 cmp r0, #5 addne sp, sp, #0x224 ldmneia sp!, {r3, r4, pc} _0214f5dc: ldr r0, [r4, #0x138] cmp r0, #0x16 addle sp, sp, #0x224 ldmleia sp!, {r3, r4, pc} _0214f5ec: mov r0, r4 bl func_ov15_0214fbec add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f5fc: mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, _0214f72c ; =gAdventureFlags ldr r1, [r4, #0x1a8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0214f630 mov r0, r4 bl func_ov15_0214fbec cmp r0, #0 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} _0214f630: ldrb r0, [r4, #0x20c] cmp r0, #0 bne _0214f68c ldr r2, [r4, #0x1a0] cmp r2, #0 beq _0214f664 ldr r0, _0214f730 ; =data_027e0c68 add r1, r4, #0x1b0 bl func_02036ce4 strb r0, [r4, #0x20c] mov r0, #0 str r0, [r4, #0x1a0] b _0214f678 _0214f664: ldr r2, [r4, #0x30] ldr r0, _0214f730 ; =data_027e0c68 add r1, r4, #0x1b0 bl func_02036ce4 strb r0, [r4, #0x20c] _0214f678: ldrb r1, [r4, #0x20c] mov r0, r4 bl _ZN5Actor10SetUnk_11cEc add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} _0214f68c: mov r0, #0x10000 ldr r1, [r4, #0x1c8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x224 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x1b0 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x1c8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x224 ldmneia sp!, {r3, r4, pc} ldr r0, _0214f72c ; =gAdventureFlags ldr r1, [r4, #0x1a8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0214f6fc ldr r0, _0214f72c ; =gAdventureFlags ldr r1, [r4, #0x1a8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0214f6fc: ldr r0, _0214f738 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_020875f8 mvn r0, #0 str r0, [r4, #0x1a8] mov r0, #0 strb r0, [r4, #0x20c] str r0, [r4, #0x130] _0214f724: add sp, sp, #0x224 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0214f1a4 _0214f72c: .word gAdventureFlags _0214f730: .word data_027e0c68 _0214f734: .word 0x00050049 _0214f738: .word data_027e0f64 _0214f73c: .word data_027e10a4 _0214f740: .word 0x00001333 _0214f744: .word 0x0000051f _0214f748: .word 0x00001770 _0214f74c: .word data_027e0fac _0214f750: .word data_027e0f90 .global func_ov15_0214f754 arm_func_start func_ov15_0214f754 func_ov15_0214f754: ; 0x0214f754 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0214f754 .global func_ov15_0214f768 arm_func_start func_ov15_0214f768 func_ov15_0214f768: ; 0x0214f768 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x4c ldr r1, _0214f9c8 ; =data_027e0f94 mov r9, r0 add r7, sp, #0x40 ldmia r1, {r0, r1, r2} stmia r7, {r0, r1, r2} ldr r0, [r9, #0x158] ldrb r1, [r9, #0x1ac] ldr r2, [r0] mvn r0, #0 str r0, [sp, #4] ldrb r5, [r2, #1] mov r0, #0 cmp r1, #0 mov r6, #0x3e8000 str r0, [sp] bne _0214f81c ldr r8, [sp] cmp r5, #0 ble _0214f81c mov r10, r8 add r4, sp, #0x28 _0214f7c4: ldr r1, [r9, #0x158] mov r0, r7 ldr r2, [r1, #4] add r1, sp, #0x34 add r2, r2, r10 ldr r11, [r2, #0xc] ldmib r2, {r3, ip} mov r2, r4 str r3, [sp, #0x34] str ip, [sp, #0x38] str r11, [sp, #0x3c] bl func_01ff9bf8 mov r1, #0 mov r0, r4 str r1, [sp, #0x2c] bl func_01ff9cec cmp r0, r6 add r8, r8, #1 movlt r6, r0 cmp r8, r5 add r10, r10, #0x24 blt _0214f7c4 _0214f81c: cmp r5, #0 mov r8, #0 ble _0214f92c ldr r10, _0214f9cc ; =data_02050f54 mov r7, r8 add r11, sp, #0x28 _0214f834: ldr r1, [r9, #0x158] add r0, sp, #0x40 ldr r2, [r1, #4] add r1, sp, #0x34 add r2, r2, r7 ldr r4, [r2, #0xc] ldmib r2, {r3, ip} mov r2, r11 str r3, [sp, #0x34] str ip, [sp, #0x38] str r4, [sp, #0x3c] bl func_01ff9bf8 mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] bl func_01ffa0f4 mov r1, r0, lsl #0x10 add r0, r9, r8, lsl #1 add r0, r0, #0x100 ldrsh r2, [r0, #0x64] mov r0, r11 rsb r1, r2, r1, asr #16 mov r1, r1, lsl #0x10 mov r4, r1, lsr #0x10 bl func_01ff9cec mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r10, r2, lsl #1 ldrsh lr, [r2, #2] mov ip, r0, asr #0x1f smull r3, r2, lr, r0 adds lr, r3, #0x800 adc r2, r2, #0 mov r3, lr, lsr #0xc orrs r3, r3, r2, lsl #20 bmi _0214f91c add r2, r9, r8, lsl #2 ldr r2, [r2, #0x178] cmp r3, r2 bge _0214f91c ldrsh r2, [r10, r1] umull lr, r3, r2, r0 mla r3, r2, ip, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 mov r0, #0x800 adds r1, lr, r0 mov r0, #0 adc r0, r3, r0 mov r1, r1, lsr #0xc orrs r1, r1, r0, lsl #20 rsbmi r1, r1, #0 cmp r1, r6 movlt r6, r1 strlt r4, [sp, #8] strlt r8, [sp, #4] _0214f91c: add r7, r7, #0x24 add r8, r8, #1 cmp r8, r5 blt _0214f834 _0214f92c: ldr r0, [sp, #4] cmp r0, #0 blt _0214f9bc ldr r0, [sp, #8] mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 bpl _0214f99c mvn r0, #0 strb r0, [sp, #0xc] strb r0, [sp, #0xd] ldrh r2, [r9, #0x20] ldr r0, _0214f9d0 ; =data_027e0ff0 add r1, sp, #0xc strb r2, [sp, #0xc] ldr r2, [sp, #4] ldr r0, [r0] strb r2, [sp, #0xd] bl func_ov00_020c47cc ldrsb r1, [r0, #0x10] mvn r0, #0 cmp r1, r0 moveq r0, #1 streq r0, [sp] beq _0214f9bc mov r0, #0 str r0, [sp] strb r0, [r9, #0x1ac] b _0214f9bc _0214f99c: ldrb r1, [r9, #0x1ac] mov r0, #0 str r0, [sp] cmp r1, #0 ldreq r0, [sp] streqb r0, [r9, #0x1a5] mov r0, #1 strb r0, [r9, #0x1ac] _0214f9bc: ldr r0, [sp] add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214f768 _0214f9c8: .word data_027e0f94 _0214f9cc: .word data_02050f54 _0214f9d0: .word data_027e0ff0 .global func_ov15_0214f9d4 arm_func_start func_ov15_0214f9d4 func_ov15_0214f9d4: ; 0x0214f9d4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x60 ldr r1, _0214fbdc ; =gAdventureFlags str r0, [sp] ldr r0, [r1] ldr r1, _0214fbe0 ; =0x0000010f bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x60 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [sp] add r0, r0, #0x100 str r0, [sp, #8] ldrsb r1, [r0, #0xa5] ldrsb r0, [r0, #0xa4] cmp r1, r0 addeq sp, sp, #0x60 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _0214fbe4 ; =data_027e10a4 ldr r1, _0214fbe8 ; =data_027e0f94 ldr r3, [r0] ldr r0, [sp] add r4, r3, #0x14 ldr r7, [r0, #0x15c] add r3, sp, #0x18 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} add r3, sp, #0xc ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r7] mov r8, #0 ldrb r0, [r0, #1] str r0, [sp, #4] cmp r0, #0 addle sp, sp, #0x60 ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [sp] mov r10, r8 add r0, r0, #0xa5 add r4, r0, #0x100 add r11, sp, #0x3c add r6, sp, #0x54 _0214fa80: ldr r0, [r7, #4] add r2, r0, r10 ldrsb r9, [r2, #0x10] cmp r9, #0 blt _0214fbb8 ldr r0, [r2, #4] add r3, r8, #1 str r0, [sp, #0x3c] ldr r0, [r2, #8] mov r1, r11 str r0, [sp, #0x40] ldr r0, [r2, #0xc] mov r2, r6 str r0, [sp, #0x44] ldr r5, [r7, #4] mov r0, #0x24 mla r0, r3, r0, r5 add r0, r0, #4 bl func_01ff9bf8 ldr r0, [sp, #0x54] cmp r0, #0 ldreq r0, [sp, #0x58] cmpeq r0, #0 ldreq r0, [sp, #0x5c] cmpeq r0, #0 beq _0214fbb8 mov r0, r6 add r1, sp, #0x48 bl func_01ff9d4c add r0, sp, #0x18 mov r1, r11 add r2, sp, #0x30 bl func_01ff9bf8 add r0, sp, #0xc mov r1, r11 add r2, sp, #0x24 bl func_01ff9bf8 mov r0, #0 str r0, [sp, #0x28] str r0, [sp, #0x34] add r0, sp, #0x30 add r1, sp, #0x48 bl func_01ff9c2c mov r5, r0 mov r0, r6 bl func_01ff9cec cmp r5, r0 bgt _0214fbb8 cmp r5, #0 blt _0214fbb8 add r0, sp, #0x24 mov r1, r6 mov r2, r0 bl func_01ff9c68 add r0, sp, #0x30 mov r1, r6 mov r2, r0 bl func_01ff9c68 ldr r1, [sp, #0x34] ldr r0, [sp, #0x28] teq r1, r0 bpl _0214fbb8 ldr r0, [sp, #8] ldrsb r0, [r0, #0xa5] cmp r0, r9 bne _0214fb98 ldrsb r0, [r4] add r0, r0, #1 strb r0, [r4] b _0214fbb8 _0214fb98: cmp r0, #1 cmpeq r9, #0 beq _0214fbb8 ldr r0, [sp] mov r1, #0 strb r1, [r0, #0x1a5] add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0214fbb8: add r0, r8, #1 mov r1, r0, lsl #0x18 ldr r0, [sp, #4] add r10, r10, #0x24 cmp r0, r1, asr #24 mov r8, r1, asr #0x18 bgt _0214fa80 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0214f9d4 _0214fbdc: .word gAdventureFlags _0214fbe0: .word 0x0000010f _0214fbe4: .word data_027e10a4 _0214fbe8: .word data_027e0f94 .global func_ov15_0214fbec arm_func_start func_ov15_0214fbec func_ov15_0214fbec: ; 0x0214fbec stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x50 mov r9, r0 ldr r0, [r9, #0x130] cmp r0, #4 bne _0214fcb8 ldr r0, _0214fe98 ; =data_027e0f64 add r1, r9, #0x210 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, #0x2800 str r0, [r9, #0x228] mov r0, #0x3000 str r0, [r9, #0x220] ldr r1, _0214fe9c ; =0x00001770 ldr r0, _0214fea0 ; =data_027e0fac str r1, [r9, #0x21c] ldrsh r0, [r0] mov r2, #0 mov r1, r9 add r0, r0, #0xff add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r9, #0x224] str r2, [r9, #0x22c] str r2, [r9, #0x230] add r0, sp, #0x44 str r2, [r9, #0x234] bl func_ov15_0214fea4 ldr r2, [sp, #0x44] ldr r1, [sp, #0x48] ldr r0, [sp, #0x4c] str r2, [sp, #0x38] str r1, [sp, #0x3c] str r0, [sp, #0x40] mov r0, #0 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _0214fe98 ; =data_027e0f64 add r1, sp, #0x38 ldr r0, [r0] add r3, r9, #0x210 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0x50 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _0214fcb8: ldr r0, [r9, #0x138] cmp r0, #0x78 bgt _0214fe3c ldr r2, [r9, #0x220] rsb r3, r0, #0x78 ldr r1, [r9, #0x21c] ldr r0, [r9, #0x224] mov r4, r2, lsl #0x10 mov r7, r3, lsl #0xc ldr r2, [r9, #0x290] cmp r7, #0x1000 mov r5, r1, lsl #0x10 mov r6, r0, lsl #0x10 strle r2, [r9, #0x228] ble _0214fd10 ldr r0, [r9, #0x228] mov r1, r7 sub r0, r2, r0 bl Divide ldr r1, [r9, #0x228] add r0, r1, r0 str r0, [r9, #0x228] _0214fd10: ldr r0, [r9, #0x288] cmp r7, #0x1000 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 ble _0214fd4c sub r0, r8, r4, asr #16 mov r0, r0, lsl #0x10 mov r1, r7 mov r0, r0, asr #0x4 bl Divide add r0, r0, #0x800 mov r0, r0, asr #0xc add r0, r0, r4, asr #16 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 _0214fd4c: ldr r0, [r9, #0x284] cmp r7, #0x1000 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 ble _0214fd88 sub r0, r4, r5, asr #16 mov r0, r0, lsl #0x10 mov r1, r7 mov r0, r0, asr #0x4 bl Divide add r0, r0, #0x800 mov r0, r0, asr #0xc add r0, r0, r5, asr #16 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _0214fd88: ldr r0, [r9, #0x28c] cmp r7, #0x1000 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 ble _0214fdc4 sub r0, r2, r6, asr #16 mov r0, r0, lsl #0x10 mov r1, r7 mov r0, r0, asr #0x4 bl Divide add r0, r0, #0x800 mov r0, r0, asr #0xc add r0, r0, r6, asr #16 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 _0214fdc4: mov r0, #0 str r0, [r9, #0x22c] str r0, [r9, #0x230] str r0, [r9, #0x234] str r8, [r9, #0x220] str r4, [r9, #0x21c] add r0, sp, #0x2c mov r1, r9 str r2, [r9, #0x224] bl func_ov15_0214fea4 ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] ldr r0, [sp, #0x34] str r2, [sp, #0x20] str r1, [sp, #0x24] str r0, [sp, #0x28] mov r0, #0 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _0214fe98 ; =data_027e0f64 add r1, sp, #0x20 ldr r0, [r0] add r3, r9, #0x210 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0x50 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _0214fe3c: add r0, sp, #0x14 mov r1, r9 bl func_ov15_0214fea4 ldr r2, [sp, #0x14] ldr r1, [sp, #0x18] ldr r0, [sp, #0x1c] str r2, [sp, #8] str r1, [sp, #0xc] str r0, [sp, #0x10] mov r0, #0 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r0, _0214fe98 ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, r9, #0x210 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 mov r0, #1 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0214fbec _0214fe98: .word data_027e0f64 _0214fe9c: .word 0x00001770 _0214fea0: .word data_027e0fac .global func_ov15_0214fea4 arm_func_start func_ov15_0214fea4 func_ov15_0214fea4: ; 0x0214fea4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 ldr r2, _0214ff38 ; =data_027e0fac ldr r3, [r1, #0x224] ldrsh r1, [r2] ldr ip, _0214ff3c ; =0x000008a4 mov r2, r3, lsl #0x10 mov r4, r0 mov lr, #0 mov r3, #0x214 add r0, sp, #0x18 str lr, [sp, #0x18] str ip, [sp, #0x1c] str r3, [sp, #0x20] mov r5, r2, asr #0x10 bl func_ov00_020a61ac mov r3, #0 ldr r2, _0214ff40 ; =0x0000051f add r0, sp, #0xc mov r1, r5 str r3, [sp, #0xc] str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_ov00_020a61ac add r0, sp, #0xc add r1, sp, #0x18 add r2, sp, #0 bl func_01ff9bc4 add r0, sp, #0 ldr r1, _0214ff44 ; =data_027e0f94 mov r2, r0 bl func_01ff9bc4 add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0214fea4 _0214ff38: .word data_027e0fac _0214ff3c: .word 0x000008a4 _0214ff40: .word 0x0000051f _0214ff44: .word data_027e0f94 .global func_ov15_0214ff48 arm_func_start func_ov15_0214ff48 func_ov15_0214ff48: ; 0x0214ff48 stmdb sp!, {r3} sub sp, sp, #0x1c ldr r0, _0214ffbc ; =data_027e0dbc add ip, sp, #0xc ldmia r0, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r3, [sp, #0x18] ldr r0, _0214ffc0 ; =data_027e0dcc cmp r3, #0 add ip, sp, #0 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} mov r1, #0 cmpne r3, #6 bne _0214ff9c ldr r0, [sp] cmp r0, #0xa blo _0214ffa8 cmp r0, #0xc movlo r1, #1 b _0214ffa8 _0214ff9c: ldr r0, [sp] cmp r0, #0x16 movhs r1, #1 _0214ffa8: ldr r0, _0214ffc4 ; =data_ov15_02186384 add r0, r0, r1, lsl #3 add sp, sp, #0x1c ldmia sp!, {r3} bx lr .align 2, 0 arm_func_end func_ov15_0214ff48 _0214ffbc: .word data_027e0dbc _0214ffc0: .word data_027e0dcc _0214ffc4: .word data_ov15_02186384 .global func_ov15_0214ffc8 arm_func_start func_ov15_0214ffc8 func_ov15_0214ffc8: ; 0x0214ffc8 stmdb sp!, {r3, lr} ldr r1, _0214fff4 ; =data_027e0fe0 mov r0, #0x2d4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02150030 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0214ffc8 _0214fff4: .word data_027e0fe0 .global func_ov15_0214fff8 arm_func_start func_ov15_0214fff8 func_ov15_0214fff8: ; 0x0214fff8 cmp r2, #7 bne _02150010 ldr r0, [r0, #4] mov r1, #1 strb r1, [r0, #0x29e] b _02150020 _02150010: cmp r2, #0xa ldreq r0, [r0, #4] moveq r1, #1 streqb r1, [r0, #0x29f] _02150020: mov r0, #1 bx lr arm_func_end func_ov15_0214fff8 .global func_ov15_02150028 arm_func_start func_ov15_02150028 func_ov15_02150028: ; 0x02150028 mov r0, #1 bx lr arm_func_end func_ov15_02150028 .global func_ov15_02150030 arm_func_start func_ov15_02150030 func_ov15_02150030: ; 0x02150030 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214e078 ldr r2, _021500d0 ; =data_ov15_0218bf10 add r0, r4, #0x1d8 mov r1, #0x1000000 str r2, [r4] bl func_ov00_020d18f4 add r0, r4, #0x234 mov r1, #0 blx func_ov00_020a9588 mvn r0, #0 str r0, [r4, #0x294] mov r0, #0x1e str r0, [r4, #0x298] mov r1, #0 strb r1, [r4, #0x29e] strb r1, [r4, #0x29f] strb r1, [r4, #0x2a0] strb r1, [r4, #0x2a1] ldr r0, _021500d4 ; =data_ov00_020e2f04 strb r1, [r4, #0x2a2] str r0, [r4, #0x2a4] mov r0, #1 strb r0, [r4, #0x2a8] strb r1, [r4, #0x2a9] str r1, [r4, #0x2ac] str r1, [r4, #0x2b0] ldr r0, _021500d8 ; =data_ov00_020e2e3c str r1, [r4, #0x2b4] str r0, [r4, #0x2a4] str r1, [r4, #0x2c4] str r1, [r4, #0x2b8] str r1, [r4, #0x2bc] ldr r0, _021500dc ; =data_ov15_0218bfd0 str r1, [r4, #0x2c0] str r0, [r4, #0x2cc] mov r0, r4 str r4, [r4, #0x2d0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02150030 _021500d0: .word data_ov15_0218bf10 _021500d4: .word data_ov00_020e2f04 _021500d8: .word data_ov00_020e2e3c _021500dc: .word data_ov15_0218bfd0 .global func_ov15_021500e0 arm_func_start func_ov15_021500e0 func_ov15_021500e0: ; 0x021500e0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021500e0 .global func_ov15_021500f4 arm_func_start func_ov15_021500f4 func_ov15_021500f4: ; 0x021500f4 stmdb sp!, {r4, lr} ldr r1, _02150144 ; =data_ov15_0218bf10 mov r4, r0 ldr r0, _02150148 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x2a4 bl func_ov00_02093af0 add r0, r4, #0x2cc bl func_ov00_02081f6c add r0, r4, #0x2a4 bl func_ov00_02094824 add r0, r4, #0x234 blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_020d1980 mov r0, r4 bl func_ov15_0214e118 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021500f4 _02150144: .word data_ov15_0218bf10 _02150148: .word data_027e0f6c .global func_ov15_0215014c arm_func_start func_ov15_0215014c func_ov15_0215014c: ; 0x0215014c stmdb sp!, {r4, lr} ldr r1, _021501a4 ; =data_ov15_0218bf10 mov r4, r0 ldr r0, _021501a8 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x2a4 bl func_ov00_02093af0 add r0, r4, #0x2cc bl func_ov00_02081f6c add r0, r4, #0x2a4 bl func_ov00_02094824 add r0, r4, #0x234 blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_020d1980 mov r0, r4 bl func_ov15_0214e118 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215014c _021501a4: .word data_ov15_0218bf10 _021501a8: .word data_027e0f6c .global func_ov15_021501ac arm_func_start func_ov15_021501ac func_ov15_021501ac: ; 0x021501ac stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x8c ldr r1, _02150848 ; =data_027e0dbc add r6, sp, #0x7c mov r10, r0 ldmia r1, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} ldr r5, _0215084c ; =data_027e0dcc ldr r4, _02150850 ; =data_027e0fe4 add r3, sp, #0x70 ldmia r5, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4] mov r1, #0 strb r1, [r0, #0x29] ldr r0, [sp, #0x88] cmp r0, #0 cmpne r0, #6 bne _02150220 ldr r0, [sp, #0x70] cmp r0, #0xa blo _02150234 cmp r0, #0xc bhs _02150234 ldr r0, _02150850 ; =data_027e0fe4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x29] b _02150234 _02150220: ldr r0, [sp, #0x70] cmp r0, #0x16 ldrhs r0, [r4] movhs r1, #1 strhsb r1, [r0, #0x29] _02150234: mov r0, #0 str r0, [r10, #0x4c] ldr r1, [r10, #0x48] mov r2, #0xc00 str r1, [r10, #0x54] ldr r1, [r10, #0x4c] mov r7, #0x1800 str r1, [r10, #0x58] ldr r4, [r10, #0x50] mov r1, #0x800 str r4, [r10, #0x5c] strb r0, [r10, #0x29d] str r2, [r10, #0x198] str r1, [r10, #0x19c] str r7, [r10, #0x184] mov r1, #0x10 str r1, [r10, #0x6c] str r0, [r10, #0x7c] str r7, [r10, #0x80] str r0, [r10, #0x84] str r7, [r10, #0x88] str r0, [r10, #0x8c] str r7, [r10, #0x90] str r0, [r10, #0x94] str r7, [r10, #0x98] ldr r1, [r10, #0x8c] mov r5, #0x2800 str r1, [r10, #0x188] ldr r1, [r10, #0x90] mov r4, #2 str r1, [r10, #0x18c] ldr r2, [r10, #0x94] mov r3, #5 str r2, [r10, #0x190] ldr r6, [r10, #0x98] add r1, r10, #0x100 str r6, [r10, #0x194] str r0, [r10, #0xa8] str r7, [r10, #0xac] str r0, [r10, #0xb0] str r5, [r10, #0xb4] strh r4, [r10, #0x9c] strh r3, [r1, #0x20] ldr r2, _02150854 ; =0x00000999 strb r0, [r10, #0x124] str r2, [r10, #0x158] rsb r2, r3, #0x338 str r2, [r10, #0x15c] strh r0, [r1, #0x68] strh r0, [r1, #0x6a] strh r0, [r1, #0x6e] strh r0, [r1, #0x6c] str r0, [r10, #0x164] str r0, [r10, #0x160] ldr r2, [r10, #0x4c] ldr r1, [r10, #0x184] ldr r0, _02150850 ; =data_027e0fe4 add r1, r2, r1 str r1, [r10, #0x1a0] ldr r1, [r0] ldr r0, _02150858 ; =data_027e0e60 ldrb r6, [r1, #0x28] ldr r0, [r0] bl func_ov00_02082d40 strb r0, [sp, #8] and r0, r0, #0xff strb r0, [r10, #0x29c] cmp r6, #0xff beq _0215035c ldr r0, _02150850 ; =data_027e0fe4 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 bne _0215036c _0215035c: ldr r0, _02150850 ; =data_027e0fe4 ldrb r1, [sp, #8] ldr r0, [r0] strb r1, [r0, #0x28] _0215036c: ldr r3, _02150850 ; =data_027e0fe4 add r4, sp, #0x64 ldr r5, [r3] cmp r6, #0xff add r0, r5, #0x1c ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} beq _02150714 ldr r0, [sp, #0x64] str r0, [r10, #0x48] ldr r0, [sp, #0x68] str r0, [r10, #0x4c] ldr r0, [sp, #0x6c] str r0, [r10, #0x50] ldrb r0, [sp, #8] cmp r6, r0 beq _0215072c ldr r0, [r3] ldrb r0, [r0, #0x29] cmp r0, #0 addne sp, sp, #0x8c movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r1, sp, #8 mov r0, r10 bl func_ov15_02151208 ldr r1, _0215085c ; =data_027e0ff0 mov r4, r0 ldr r1, [r1] mvn r0, #0 ldr r1, [r1] ldr r7, _02150860 ; =data_ov15_02186394 ldr r1, [r1, r4, lsl #3] add r3, sp, #0x54 ldrb r8, [r1, #1] mov r5, #0 mov r2, #8 strb r0, [sp, #9] strb r0, [sp, #0xa] _02150408: ldrb r1, [r7] ldrb r0, [r7, #1] add r7, r7, #2 strb r1, [r3] strb r0, [r3, #1] add r3, r3, #2 subs r2, r2, #1 bne _02150408 ldrb r1, [sp, #8] add r0, sp, #0x54 add r0, r0, r6, lsl #2 ldrsb r9, [r1, r0] cmp r9, #3 bne _02150460 ldr r1, _02150864 ; =data_ov15_0218bef4 ldr r0, _02150850 ; =data_027e0fe4 ldrb r2, [r1, #0x10] ldr r1, [r0] add sp, sp, #0x8c strb r2, [r1, #0x28] mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02150460: ldr r0, _02150868 ; =data_027e0f94 add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02150858 ; =data_027e0e60 add r1, sp, #0x30 ldr r0, [r0] bl func_ov00_0208346c ldr r1, [sp, #0x30] ldr r0, [sp, #0x38] add r1, r1, #0xc000 str r1, [sp, #0x30] ldr r1, [sp, #0x48] add r0, r0, #0xc000 ldr r3, [sp, #0x44] str r0, [sp, #0x38] ldr r0, [sp, #0x4c] ldr r2, [sp, #0x50] str r0, [sp, #0x28] sub r3, r3, #0xc000 ldr r7, [sp, #0x3c] str r1, [sp, #0x24] sub r1, r7, #0xc000 str r1, [sp, #0x3c] add r0, sp, #0x30 add r1, sp, #0x24 str r3, [sp, #0x44] str r2, [sp, #0x2c] bl func_ov00_0208e7a4 cmp r0, #0 beq _021504fc cmp r9, #0 rsblt r0, r9, #0 movlt r0, r0, lsl #0x18 movlt r9, r0, asr #0x18 rsb r0, r9, #0 mov r0, r0, lsl #0x18 mov r9, r0, asr #0x18 b _02150560 _021504fc: cmp r9, #1 beq _02150510 cmp r9, #2 beq _0215053c b _02150560 _02150510: ldrb r0, [sp, #8] cmp r6, r0 bhs _0215052c ldr r0, [sp, #0x3c] add r0, r0, #0xc000 str r0, [sp, #0x48] b _02150560 _0215052c: ldr r0, [sp, #0x30] sub r0, r0, #0xc000 str r0, [sp, #0x48] b _02150560 _0215053c: ldrb r0, [sp, #8] cmp r6, r0 ldrhs r0, [sp, #0x44] addhs r0, r0, #0xc000 strhs r0, [sp, #0x50] bhs _02150560 ldr r0, [sp, #0x38] sub r0, r0, #0xc000 str r0, [sp, #0x50] _02150560: mov r0, r4, lsl #0x18 mov r7, r0, asr #0x18 rsb r0, r9, #0 str r0, [sp, #4] mov r0, r0, lsl #0x18 mov r11, r0, asr #0x18 _02150578: ldr r0, _0215085c ; =data_027e0ff0 add r1, sp, #9 ldr r0, [r0] strb r7, [sp, #9] strb r5, [sp, #0xa] bl func_ov00_020c47cc mov r4, r0 cmp r9, #0 movge r1, r9 ldrsb r0, [r4, #0x10] movlt r1, r11 cmp r0, r1 bne _021506e0 add r1, sp, #9 add r0, r10, #0x1b0 bl func_ov00_020c6940 add r0, sp, #0x48 add r1, sp, #0x64 bl func_01ff9ec0 cmp r0, #0x32000 bge _021505d4 cmp r9, #0 bge _021505e0 _021505d4: mov r1, #0x3c mov r0, #0x5a b _021505f4 _021505e0: cmp r0, #0x14000 movlt r1, #0xf movlt r0, #0x1e movge r1, #0x1e movge r0, #0x3c _021505f4: sub r2, r0, r1 mov r0, #0x1e ldr r3, [r4, #4] mul r0, r2, r0 str r3, [r10, #0x48] ldr r2, [r4, #8] add r0, r0, #1 str r2, [r10, #0x4c] ldr r2, [r4, #0xc] cmp r0, #0 str r2, [r10, #0x50] movle r5, #0 ble _02150674 ldr r2, _0215086c ; =data_027e0764 ldr r4, [r2] ldmib r2, {r3, r5} umull r8, r7, r5, r4 mla r7, r5, r3, r7 ldr r3, [r2, #0xc] ldr r5, [r2, #0x10] mla r7, r3, r4, r7 ldr r3, [r2, #0x14] adds r4, r5, r8 adc r5, r3, r7 stmia r2, {r4, r5} cmp r0, #0 beq _02150674 mov r4, #0 umull r3, r2, r5, r0 mla r2, r5, r4, r2 mla r2, r4, r0, r2 mov r5, r2 _02150674: mov r0, #0x1e mla r2, r1, r0, r5 mov r0, #0xa4 mul r1, r2, r0 cmp r9, #0 ldrlt r0, [sp, #4] movlt r0, r0, lsl #0x18 movlt r9, r0, asr #0x18 cmp r9, #2 bne _021506c4 cmp r6, #1 cmpne r6, #3 ldr r0, [r10, #0x50] bne _021506b8 sub r0, r0, r1 str r0, [r10, #0x50] b _02150734 _021506b8: add r0, r0, r1 str r0, [r10, #0x50] b _02150734 _021506c4: ldr r0, [r10, #0x48] cmp r6, #1 subls r0, r0, r1 strls r0, [r10, #0x48] addhi r0, r0, r1 strhi r0, [r10, #0x48] b _02150734 _021506e0: add r0, r5, #1 mov r0, r0, lsl #0x18 cmp r8, r0, asr #24 mov r5, r0, asr #0x18 bgt _02150578 ldr r1, _02150864 ; =data_ov15_0218bef4 ldr r0, _02150850 ; =data_027e0fe4 ldrb r2, [r1, #0x11] ldr r1, [r0] add sp, sp, #0x8c strb r2, [r1, #0x28] mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02150714: ldr r0, [r10, #0x48] str r0, [r5, #0x1c] ldr r0, [r10, #0x4c] str r0, [r5, #0x20] ldr r0, [r10, #0x50] str r0, [r5, #0x24] _0215072c: mov r0, #0xa4 str r0, [r10, #0x290] _02150734: ldr r1, [r10, #0x48] ldr r0, _02150850 ; =data_027e0fe4 str r1, [r10, #0x1c8] ldr r1, [r10, #0x4c] str r1, [r10, #0x1cc] ldr r1, [r10, #0x50] str r1, [r10, #0x1d0] ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 beq _0215078c ldr r0, _02150870 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x338 add r0, r0, #0x2000 bl func_ov00_020c4588 mov r1, r0 add r0, r10, #0x234 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _021507b0 _0215078c: ldr r0, _02150870 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x2300 bl func_ov00_020c4588 mov r1, r0 add r0, r10, #0x234 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 _021507b0: mov r0, #0x59 strh r0, [r10, #0x7a] ldr r1, [r10, #8] mov r0, #0 str r1, [r10, #0x1f8] ldr r2, [r10, #0xc] bic r1, r0, #0x6000 str r2, [r10, #0x1fc] strb r0, [r10, #0x22c] ldrh r2, [r10, #0x20] ldr r0, [r10, #0x48] bic r1, r1, #0x1f str r0, [sp, #0x10] ldr r0, [r10, #0x4c] orr r3, r1, #7 str r0, [sp, #0x14] ldr r1, [r10, #0x50] mov r0, #0x3000 str r1, [sp, #0x18] str r0, [sp, #0x1c] str r0, [sp, #0x20] add r0, r10, #0x2cc str r0, [sp] add r0, r10, #0x2a4 ldr r4, [r0] and r1, r2, #0xff bic r3, r3, #0x3f0000 orr r3, r3, r1, lsl #16 ldr r4, [r4, #0x10] add r1, sp, #0x10 mov r2, #4 str r3, [sp, #0xc] blx r4 mov r0, #0 strb r0, [r10, #0x2a8] mov r0, #1 add sp, sp, #0x8c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021501ac _02150848: .word data_027e0dbc _0215084c: .word data_027e0dcc _02150850: .word data_027e0fe4 _02150854: .word 0x00000999 _02150858: .word data_027e0e60 _0215085c: .word data_027e0ff0 _02150860: .word data_ov15_02186394 _02150864: .word data_ov15_0218bef4 _02150868: .word data_027e0f94 _0215086c: .word data_027e0764 _02150870: .word data_027e0fec .global func_ov15_02150874 arm_func_start func_ov15_02150874 func_ov15_02150874: ; 0x02150874 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x3800 movlt r0, #1 strltb r0, [r4, #0x29d] mov r0, r4 bl func_ov15_02151174 ldr r1, [r4, #0x48] ldr r0, _021508f4 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r4, #0x50] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 str r0, [r4, #0x4c] ldr r1, _021508f8 ; =data_ov15_0218bef4 ldr r2, _021508fc ; =data_ov15_0218bef8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02150874 _021508f4: .word data_027e0e60 _021508f8: .word data_ov15_0218bef4 _021508fc: .word data_ov15_0218bef8 .global func_ov15_02150900 arm_func_start func_ov15_02150900 func_ov15_02150900: ; 0x02150900 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02150998 ldr r0, [r5, #0x298] cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x298] mov r0, r5 bl func_ov15_02151174 ldrb r0, [r5, #0x2a0] cmp r0, #1 bne _02150954 ldr r0, _021509b4 ; =data_027e0f6c add r1, r5, #0x2a4 ldr r0, [r0] bl func_ov00_02093af0 mov r0, #0 strb r0, [r5, #0x2a0] _02150954: mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r5, #0x48] mov r1, #0 str r0, [r5, #0x54] ldr r2, [r5, #0x4c] mov r0, r5 str r2, [r5, #0x58] ldr r3, [r5, #0x50] mov r2, r1 str r3, [r5, #0x5c] bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 b _021509a0 _02150998: mvn r0, #0 str r0, [r5, #0x1a4] _021509a0: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02150900 _021509b4: .word data_027e0f6c .global func_ov15_021509b8 arm_func_start func_ov15_021509b8 func_ov15_021509b8: ; 0x021509b8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x134 mov r5, r0 ldrb r1, [r5, #0x2a2] cmp r1, #0 bne _02150ab4 mov r1, #1 strb r1, [r5, #0x2a2] ldrsh r4, [r5, #0x78] add r1, r5, #0x29c bl func_ov15_02151208 mov r3, r0, lsl #0x18 mov r2, r4 add r0, r5, #0x1b0 add r1, r5, #0x48 mov r3, r3, asr #0x18 bl func_ov00_020c66e4 ldr r0, [r5, #0x1b4] add r1, r5, #0x29c ldr r0, [r0] ldrb r0, [r0, #5] cmp r0, #0 movne r4, #1 moveq r4, #0 mov r0, r5 bl func_ov15_02151208 strb r0, [sp] add r1, sp, #0 mov r2, r4 add r0, r5, #0x48 bl func_ov15_0215c8b4 mov r4, r0 mvn r0, #0 cmp r4, r0 beq _02150a6c add r0, r5, #0x1b0 bl func_ov00_020c6ce0 cmp r4, r0 beq _02150a6c _02150a54: add r0, r5, #0x1b0 bl func_ov00_020c6d9c add r0, r5, #0x1b0 bl func_ov00_020c6ce0 cmp r4, r0 bne _02150a54 _02150a6c: add r0, sp, #4 add r1, r5, #0x1b0 bl func_ov00_020c6e08 add r0, sp, #4 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r5, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 add r1, r5, #0x100 strh r0, [r1, #0xd4] ldrsh r0, [r1, #0xd4] strh r0, [r5, #0x78] _02150ab4: mov r0, r5 bl _ZN5Actor16XzDistanceToLinkEv ldrb r1, [r5, #0x29e] mov r4, r0 cmp r1, #0 movne r0, #0 strne r0, [r5, #0x290] bne _02150b4c ldr r0, _02150e94 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 movne r0, #0 strne r0, [r5, #0x290] bne _02150b4c cmp r4, #0x1e000 movgt r0, #0xa4 strgt r0, [r5, #0x290] bgt _02150b4c cmp r4, #0x4000 movlt r0, #0 strlt r0, [r5, #0x290] blt _02150b4c sub r0, r4, #0x4000 mov r1, #0x1a000 bl Divide mov r1, #0xa4 umull r6, r3, r0, r1 mov r2, #0 adds r6, r6, #0x800 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adc r0, r3, #0 mov r1, r6, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r5, #0x290] _02150b4c: cmp r4, #0x3800 bge _02150dec bl func_ov15_0215d238 cmp r0, #0 bne _02150dec ldrb r0, [r5, #0x29d] cmp r0, #0 bne _02150db8 mov r0, #0x10000 ldr r1, [r5, #0x1f0] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02150df8 _02150b84: ldr r0, _02150e98 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #4 beq _02150df8 ldr r0, _02150e9c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldreq r0, _02150ea0 ; =data_027e0c68 ldreqb r0, [r0, #4] cmpeq r0, #0 bne _02150df8 mov r0, r5 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02150df8 bl func_ov15_0215d260 cmp r0, #0 beq _02150df8 ldr r0, _02150ea0 ; =data_027e0c68 ldr r2, _02150ea4 ; =0x00050007 add r1, r5, #0x1d8 bl func_02036ce4 cmp r0, #0 beq _02150df8 mov r2, #0 mov r0, r5 mov r1, #1 strb r2, [r5, #0x2a3] bl _ZN5Actor10SetUnk_11cEc ldr r0, _02150ea0 ; =data_027e0c68 add r1, r5, #0x1d8 bl func_020368f4 ldrb r0, [r5, #0x29e] cmp r0, #0 beq _02150c24 ldr r0, _02150ea8 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 _02150c24: mov r1, #0 add r0, sp, #0x84 str r1, [r5, #0x138] bl func_ov00_0209a4f4 mov r1, #3 mvn r3, #0 mov r2, #0x32 ldr r0, _02150eac ; =data_027e0f64 str r3, [sp, #0x88] strb r2, [sp, #0x8d] strb r1, [sp, #0x8e] strb r1, [sp, #0x8f] ldr r1, [r5, #0x4c] ldr r4, [r5, #0x50] ldr r2, [r5, #0x48] add r3, r1, #0x800 mov r1, #1 strb r1, [sp, #0x98] ldr r0, [r0] str r2, [sp, #0xa4] str r3, [sp, #0xa8] str r4, [sp, #0xac] ldr r0, [r0, #4] add r1, sp, #0x1c bl func_ov00_02087d34 ldr r2, _02150eb0 ; =0x00001388 mov r1, #0x3000 mov r0, r5 str r2, [sp, #0x2c] str r1, [sp, #0x34] bl _ZN5Actor14GetAngleToLinkEv ldr r1, [sp, #0x1c] ldr r8, [sp, #0x20] ldr r7, [sp, #0x24] ldr r2, [sp, #0x28] str r1, [sp, #0xb0] ldr r1, [sp, #0x2c] str r8, [sp, #0xb4] ldr r8, [sp, #0x34] str r7, [sp, #0xb8] ldr r7, [sp, #0x38] str r2, [sp, #0xbc] ldr r2, [sp, #0x3c] str r1, [sp, #0xc0] ldr r1, [sp, #0x40] str r8, [sp, #0xc8] ldr r8, [sp, #0x44] str r7, [sp, #0xcc] ldr r7, [sp, #0x48] str r2, [sp, #0xd0] ldr r2, [sp, #0x4c] str r1, [sp, #0xd4] ldr r1, [sp, #0x50] str r8, [sp, #0xd8] ldr r8, [sp, #0x54] str r7, [sp, #0xdc] ldr r7, [sp, #0x58] str r2, [sp, #0xe0] ldr r2, [sp, #0x5c] str r1, [sp, #0xe4] ldr r1, [sp, #0x60] str r8, [sp, #0xe8] ldr r8, [sp, #0x64] str r7, [sp, #0xec] ldr r7, [sp, #0x68] ldrb r6, [sp, #0x7c] ldrb lr, [sp, #0x7d] ldrb ip, [sp, #0x7e] ldrb r4, [sp, #0x7f] ldrb r3, [sp, #0x80] str r2, [sp, #0xf0] ldr r2, [sp, #0x6c] str r1, [sp, #0xf4] ldr r1, [sp, #0x70] str r8, [sp, #0xf8] ldr r8, [sp, #0x74] str r7, [sp, #0xfc] ldr r7, [sp, #0x78] str r2, [sp, #0x100] mov r2, #0x5c str r1, [sp, #0x104] mov r1, #0 str r8, [sp, #0x108] str r0, [sp, #0x30] str r0, [sp, #0xc4] str r7, [sp, #0x10c] strb r6, [sp, #0x110] strb lr, [sp, #0x111] strb ip, [sp, #0x112] strb r4, [sp, #0x113] strb r3, [sp, #0x114] str r2, [sp, #0x118] strb r1, [sp, #0x9a] ldr r0, _02150e9c ; =gAdventureFlags add r1, sp, #0x84 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x294] add r0, sp, #0x84 bl func_ov00_0209a508 b _02150df8 _02150db8: ldr r0, [r5, #0x298] cmp r0, #0 bne _02150df8 mov r0, r5 ldr r2, [r0] mov r1, #1 ldr r2, [r2, #0x40] blx r2 cmp r0, #0 beq _02150df8 mov r0, #0 strb r0, [r5, #0x29d] b _02150b84 _02150dec: cmp r4, #0x4000 movge r0, #0 strgeb r0, [r5, #0x29d] _02150df8: mov r0, #0x10000 ldr r1, [r5, #0x1f0] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _02150e64 add r0, r5, #0x1d8 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r5, #0x1f0] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02150e64 ldrb r0, [r5, #0x2a3] cmp r0, #0 bne _02150e5c ldr r0, _02150e9c ; =gAdventureFlags ldr r1, [r5, #0x294] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r0, #0 str r0, [r5, #0x294] _02150e5c: mov r0, #1 strb r0, [r5, #0x29d] _02150e64: mov r0, r5 bl func_ov15_02150fd8 ldr r0, _02150eb4 ; =data_027e0fe4 ldr r1, [r5, #0x48] ldr r2, [r0] str r1, [r2, #0x1c] ldr r0, [r5, #0x4c] str r0, [r2, #0x20] ldr r0, [r5, #0x50] str r0, [r2, #0x24] add sp, sp, #0x134 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021509b8 _02150e94: .word data_027e0d3c _02150e98: .word data_027e10a4 _02150e9c: .word gAdventureFlags _02150ea0: .word data_027e0c68 _02150ea4: .word 0x00050007 _02150ea8: .word data_027e103c _02150eac: .word data_027e0f64 _02150eb0: .word 0x00001388 _02150eb4: .word data_027e0fe4 .global func_ov15_02150eb8 arm_func_start func_ov15_02150eb8 func_ov15_02150eb8: ; 0x02150eb8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02150fb8 mov r0, r5 bl func_ov15_02151174 ldrb r0, [r5, #0x2a0] cmp r0, #0 bne _02150f70 bl func_ov15_0215d238 cmp r0, #0 bne _02150f70 ldrb r0, [r5, #0x2a1] cmp r0, #0 beq _02150f70 ldrb r0, [r5, #0x29d] cmp r0, #0 ldreq r0, _02150fd0 ; =data_027e077c ldreq r0, [r0] cmpeq r0, #0x11 bne _02150f70 ldr r1, [r5, #0x48] add r0, r5, #0x2a4 str r1, [sp] ldr r2, [r5, #0x4c] add r1, sp, #0 str r2, [sp, #4] ldr r2, [r5, #0x50] str r2, [sp, #8] ldr r2, [r0] ldr r2, [r2, #0x30] blx r2 add r0, r5, #0x2a4 ldr r2, [r0] mov r1, #0x4000 ldr r2, [r2, #0x34] blx r2 ldr r0, _02150fd4 ; =data_027e0f6c add r1, r5, #0x2a4 ldr r0, [r0] bl func_ov00_02093a5c mov r0, #1 strb r0, [r5, #0x2a0] _02150f70: ldr r1, [r5, #0x48] mov r0, #0x10000 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] rsb r0, r0, #0 str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] ldr r1, [r5, #0x1f0] and r0, r1, r0 cmp r0, #0x1000000 beq _02150fb0 mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 _02150fb0: mov r0, r5 bl func_ov15_021510c0 _02150fb8: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02150eb8 _02150fd0: .word data_027e077c _02150fd4: .word data_027e0f6c .global func_ov15_02150fd8 arm_func_start func_ov15_02150fd8 func_ov15_02150fd8: ; 0x02150fd8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 ldr r2, [r4, #0x290] cmp r2, #0 beq _02151098 ldr r3, _021510b8 ; =0x00000222 add r1, sp, #0 bl func_ov15_0214eb18 add r0, sp, #0 bl func_01ff9cec mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r0, r0, asr #0x5 beq _02151020 cmp r0, #0x14 movlt r0, #0x14 blt _0215102c _02151020: ldr r1, [r4, #0x290] cmp r0, r1 movgt r0, r1 _0215102c: ldrh r1, [r4, #0x78] mov r3, #0 ldr r2, _021510bc ; =data_02050f54 mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 mov ip, r5, lsl #0x1 ldrsh ip, [r2, ip] mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] smull r5, lr, ip, r0 adds r6, r5, #0x800 smull ip, r0, r2, r0 adc r5, lr, #0 adds r2, ip, #0x800 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 adc r0, r0, #0 mov ip, r2, lsr #0xc orr ip, ip, r0, lsl #20 add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 str r6, [sp] str r3, [sp, #4] str ip, [sp, #8] bl func_01ff9bc4 _02151098: mov r0, r4 bl func_ov15_0214edec mov r0, r4 bl func_ov15_021510c0 mov r0, r4 bl func_ov15_0214ee34 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02150fd8 _021510b8: .word 0x00000222 _021510bc: .word data_02050f54 .global func_ov15_021510c0 arm_func_start func_ov15_021510c0 func_ov15_021510c0: ; 0x021510c0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl _ZN5Actor12ApplyGravityEv ldr r1, [r4, #0x4c] ldr r0, [r4, #0x64] add r0, r1, r0 str r0, [r4, #0x4c] ldrb r0, [r4, #0x1ac] cmp r0, #0 beq _0215112c sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _02151164 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] _0215112c: ldr r1, _02151168 ; =data_ov15_0218bef4 ldr r2, _0215116c ; =data_ov15_0218bef8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x184] ldr r1, _02151170 ; =data_ov15_021863a4 add r2, r3, r2 add r2, r2, r0 mov r0, r4 str r2, [r4, #0x1a0] bl func_ov15_0214e138 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021510c0 _02151164: .word data_027e0e60 _02151168: .word data_ov15_0218bef4 _0215116c: .word data_ov15_0218bef8 _02151170: .word data_ov15_021863a4 .global func_ov15_02151174 arm_func_start func_ov15_02151174 func_ov15_02151174: ; 0x02151174 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x8000 ble _021511f4 add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _02151204 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r4, #0x48 bl func_ov00_02079470 cmp r0, #0 beq _021511f4 ldr r0, [sp, #0x14] cmp r0, #0xc ble _021511f4 cmp r0, #0xf4 bgt _021511f4 ldr r0, [sp, #0x10] cmp r0, #0xc ble _021511f4 cmp r0, #0xb4 movle r0, #1 addle sp, sp, #0x18 strleb r0, [r4, #0x2a1] ldmleia sp!, {r4, pc} _021511f4: mov r0, #0 strb r0, [r4, #0x2a1] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151174 _02151204: .word data_027e0d3c .global func_ov15_02151208 arm_func_start func_ov15_02151208 func_ov15_02151208: ; 0x02151208 stmdb sp!, {r4, lr} ldrb r1, [r1] mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0x2c] ldmneia sp!, {r4, pc} ldr r0, _02151248 ; =data_027e0f68 ldrh r2, [r4, #0x26] ldr r0, [r0] mov r1, #0x39 bl func_ov00_0208cd48 cmp r0, #0 ldreqb r0, [r4, #0x2c] ldrneh r0, [r4, #0x24] andne r0, r0, #0xff ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151208 _02151248: .word data_027e0f68 .global func_ov15_0215124c arm_func_start func_ov15_0215124c func_ov15_0215124c: ; 0x0215124c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r4, r0 cmp r1, #1 bne _02151310 ldrh r0, [r4, #0x20] ldr r1, _0215131c ; =data_02050f54 mov lr, #1 strh r0, [sp] ldrh r0, [r4, #0x78] ldr ip, [r4, #0x4c] mov r3, #0 mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 add r0, r5, #1 mov r2, r0, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r5, lsl #0x1 ldrsh r1, [r1, r0] subs r6, lr, r2 sbc r5, r3, r2, asr #31 subs r2, lr, r1 sbc r1, r3, r1, asr #31 mov r5, r5, lsl #0xb mov r1, r1, lsl #0xb mov lr, r6, lsl #0xb orr r5, r5, r6, lsr #21 mov r6, lr, lsr #0xc mov r3, r2, lsl #0xb orr r1, r1, r2, lsr #21 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 ldr r3, [r4, #0x48] ldr r0, [r4, #0x50] orr r6, r6, r5, lsl #20 add r5, r0, r6 add ip, ip, #0x2000 add r2, r3, r2 add r0, sp, #0 add r1, sp, #4 str r2, [sp, #4] str ip, [sp, #8] str r5, [sp, #0xc] bl func_ov15_0215d078 cmp r0, #0 movne r0, #1 addne sp, sp, #0x10 strneb r0, [r4, #0x2a3] ldmneia sp!, {r4, r5, r6, pc} _02151310: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215124c _0215131c: .word data_02050f54 .global func_ov15_02151320 arm_func_start func_ov15_02151320 func_ov15_02151320: ; 0x02151320 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0x1ab] cmp r0, #0 moveq r0, #1 addeq sp, sp, #0x30 streqb r0, [r4, #0x1ab] ldmeqia sp!, {r4, pc} ldr r0, _0215141c ; =data_027e077c ldr r0, [r0] cmp r0, #0x3b addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} add r0, r4, #0x100 ldrh r1, [r0, #0x68] ldr r3, _02151420 ; =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_01ff8230 add r0, r4, #0x100 ldrsh r1, [r0, #0x6a] add r0, sp, #0xc mov r1, r1, lsl #0x1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0xc bl func_ov15_0215cfc8 add r0, r4, #0x48 mov r3, #0x4000 add ip, sp, #0 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, [r4, #0x1a0] rsb r3, r3, #0 str r0, [sp, #4] ldr r0, [r4, #0x1a0] cmp r0, r3 addlt sp, sp, #0x30 ldmltia sp!, {r4, pc} add r0, r4, #0x234 ldr r3, [r0] add r1, sp, #0xc ldr r3, [r3, #0x14] mov r2, ip blx r3 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151320 _0215141c: .word data_027e077c _02151420: .word data_02050f54 .global func_ov15_02151424 arm_func_start func_ov15_02151424 func_ov15_02151424: ; 0x02151424 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 mov r4, r0 ldrh r2, [r4, #0x7a] ldr r0, _021515a8 ; =0x0000ffff mov r5, r1 cmp r2, r0 addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov15_0215d238 cmp r0, #0 addne sp, sp, #0x38 ldmneia sp!, {r3, r4, r5, pc} ldrh r0, [r5] tst r0, #4 bne _02151470 tst r0, #8 addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, pc} _02151470: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _021515ac ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r4, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #0x18 bl func_01ffbe34 ldr r0, [sp, #0x14] mov r1, #1 str r1, [sp, #0x1c] cmp r0, #0xc addle sp, sp, #0x38 ldmleia sp!, {r3, r4, r5, pc} cmp r0, #0xf4 addgt sp, sp, #0x38 ldmgtia sp!, {r3, r4, r5, pc} ldr r0, [sp, #0x10] cmp r0, #0xc addle sp, sp, #0x38 ldmleia sp!, {r3, r4, r5, pc} cmp r0, #0xb4 addgt sp, sp, #0x38 ldmgtia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x29e] cmp r0, #0 beq _02151548 ldr r0, _021515b0 ; =data_027e0fe4 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 beq _0215152c ldr r0, _021515b4 ; =data_027e103c ldr r0, [r0] bl func_ov05_021040ec cmp r0, #0 movne r3, #0x62 moveq r3, #0x5a b _02151588 _0215152c: ldr r0, _021515b4 ; =data_027e103c ldr r0, [r0] bl func_ov05_021040ec cmp r0, #0 movne r3, #0x61 moveq r3, #0x59 b _02151588 _02151548: ldrb r0, [r4, #0x29f] cmp r0, #0 beq _02151570 ldr r0, _021515b0 ; =data_027e0fe4 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 movne r3, #0x62 moveq r3, #0x61 b _02151588 _02151570: ldr r0, _021515b0 ; =data_027e0fe4 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 movne r3, #0x5a moveq r3, #0x59 _02151588: add r1, sp, #0x18 str r1, [sp] ldr r0, _021515b8 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] bl func_020313c8 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02151424 _021515a8: .word 0x0000ffff _021515ac: .word data_027e0d3c _021515b0: .word data_027e0fe4 _021515b4: .word data_027e103c _021515b8: .word data_02063e4c .global func_ov15_021515bc arm_func_start func_ov15_021515bc func_ov15_021515bc: ; 0x021515bc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldrh r2, [r0, #0x78] ldr ip, _02151678 ; =data_02050f54 ldr lr, [r0, #0x4c] mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 add r2, r4, #1 mov r3, r2, lsl #0x1 mov r2, r4, lsl #0x1 ldrsh r3, [ip, r3] ldrsh r2, [ip, r2] mov r4, #1 mov ip, #0 subs r6, r4, r3 sbc r5, ip, r3, asr #31 subs r3, r4, r2 sbc r2, ip, r2, asr #31 mov r4, r5, lsl #0xb mov r5, r6, lsl #0xb mov r2, r2, lsl #0xb orr r4, r4, r6, lsr #21 mov r5, r5, lsr #0xc ldr r6, [r0, #0x50] orr r5, r5, r4, lsl #20 cmp r1, #0 mov ip, r3, lsl #0xb orr r2, r2, r3, lsr #21 mov r3, ip, lsr #0xc orr r3, r3, r2, lsl #20 ldr r0, [r0, #0x48] add r4, r6, r5 add r2, lr, #0x2000 add r0, r0, r3 str r0, [sp] str r2, [sp, #4] str r4, [sp, #8] add r0, sp, #0 ldr r1, _0215167c ; =0x00000b33 mov r2, #8 beq _0215166c bl func_0202b864 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0215166c: bl func_0202b894 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021515bc _02151678: .word data_02050f54 _0215167c: .word 0x00000b33 .global func_ov15_02151680 arm_func_start func_ov15_02151680 func_ov15_02151680: ; 0x02151680 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _021516f8 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r2, [r4, #0x184] ldr r1, _021516fc ; =data_ov15_0218bf00 sub r0, r0, r2 str r0, [r4, #0x4c] ldr r2, _02151700 ; =data_ov15_0218befc add r0, r4, #0x48 bl func_ov15_0215cbb0 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02151680 _021516f8: .word data_027e0e60 _021516fc: .word data_ov15_0218bf00 _02151700: .word data_ov15_0218befc .global func_ov15_02151704 arm_func_start func_ov15_02151704 func_ov15_02151704: ; 0x02151704 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02151704 .global func_ov15_02151720 arm_func_start func_ov15_02151720 func_ov15_02151720: ; 0x02151720 stmdb sp!, {r3, lr} ldr r1, _0215174c ; =data_027e0fe0 mov r0, #0x188 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02151750 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02151720 _0215174c: .word data_027e0fe0 .global func_ov15_02151750 arm_func_start func_ov15_02151750 func_ov15_02151750: ; 0x02151750 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0215176c ; =data_ov15_0218c030 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151750 _0215176c: .word data_ov15_0218c030 .global func_ov15_02151770 arm_func_start func_ov15_02151770 func_ov15_02151770: ; 0x02151770 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02151770 .global func_ov15_02151784 arm_func_start func_ov15_02151784 func_ov15_02151784: ; 0x02151784 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_ov15_02151784 .global func_ov15_021517a0 arm_func_start func_ov15_021517a0 func_ov15_021517a0: ; 0x021517a0 mov ip, #0 _021517a4: add r3, r0, ip, lsl #2 ldr r2, [r3, #0x160] cmp r2, #0 bne _021517cc str r1, [r3, #0x160] ldr r1, [r0, #0x174] add r1, r1, #1 str r1, [r0, #0x174] mov r0, #1 bx lr _021517cc: add ip, ip, #1 cmp ip, #5 blt _021517a4 mov r0, #0 bx lr arm_func_end func_ov15_021517a0 .global func_ov15_021517e0 arm_func_start func_ov15_021517e0 func_ov15_021517e0: ; 0x021517e0 mov ip, #0 _021517e4: add r3, r0, ip, lsl #2 ldr r2, [r3, #0x160] cmp r2, r1 bne _0215180c mov r1, #0 str r1, [r3, #0x160] ldr r1, [r0, #0x174] sub r1, r1, #1 str r1, [r0, #0x174] bx lr _0215180c: add ip, ip, #1 cmp ip, #5 blt _021517e4 bx lr arm_func_end func_ov15_021517e0 .global func_ov15_0215181c arm_func_start func_ov15_0215181c func_ov15_0215181c: ; 0x0215181c ldr r1, _02151858 ; =data_ov15_0218bff8 mov r3, #0 ldr r2, [r1] ldr r1, [r1, #4] str r2, [r0, #0x158] str r1, [r0, #0x15c] mov r1, r3 _02151838: add r2, r0, r3, lsl #2 ldr r2, [r2, #0x160] add r3, r3, #1 cmp r2, #0 strneb r1, [r2, #0x118] cmp r3, #5 blt _02151838 bx lr .align 2, 0 arm_func_end func_ov15_0215181c _02151858: .word data_ov15_0218bff8 .global func_ov15_0215185c arm_func_start func_ov15_0215185c func_ov15_0215185c: ; 0x0215185c stmdb sp!, {r3, r4, r5, lr} ldr r1, _021518e8 ; =data_ov15_0218bff8 mov r4, r0 ldr r2, [r4, #0x158] ldr r0, [r1, #8] mov r3, #1 cmp r2, r0 ldr r0, _021518ec ; =data_ov15_0218c000 bne _02151894 ldr r1, [r4, #0x15c] ldr r0, [r0, #4] cmp r1, r0 cmpne r2, #0 moveq r3, #0 _02151894: cmp r3, #0 beq _021518a4 mov r0, r4 bl func_ov15_02151f68 _021518a4: ldr r0, _021518f0 ; =data_027e0764 mov r1, #0 ldr r3, [r0] ldmib r0, {r2, ip} umull r5, lr, ip, r3 mla lr, ip, r2, lr ldr r2, [r0, #0xc] ldr ip, [r0, #0x10] mla lr, r2, r3, lr ldr r2, [r0, #0x14] adds r3, ip, r5 str r3, [r0] adc r2, r2, lr str r2, [r0, #4] add r0, r1, #0x258 str r0, [r4, #0x184] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215185c _021518e8: .word data_ov15_0218bff8 _021518ec: .word data_ov15_0218c000 _021518f0: .word data_027e0764 .global func_ov15_021518f4 arm_func_start func_ov15_021518f4 func_ov15_021518f4: ; 0x021518f4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x28 mov r10, r0 mov r0, #0 str r0, [sp] _02151908: ldr r0, [sp] add r0, r10, r0, lsl #2 ldr r8, [r0, #0x160] cmp r8, #0 beq _02151a2c ldr r0, [sp] add r7, r0, #1 cmp r7, #5 bge _02151a2c add r5, sp, #4 add r6, sp, #0x1c add r11, sp, #0x10 _02151938: add r0, r10, r7, lsl #2 ldr r9, [r0, #0x160] cmp r9, #0 beq _02151a20 ldr r1, [r8, #0x48] mov r0, r6 str r1, [sp, #0x1c] ldr r2, [r8, #0x4c] mov r1, r11 str r2, [sp, #0x20] ldr r3, [r8, #0x50] mov r2, r5 str r3, [sp, #0x24] ldr r3, [r9, #0x48] str r3, [sp, #0x10] ldr r3, [r9, #0x4c] str r3, [sp, #0x14] ldr r3, [r9, #0x50] str r3, [sp, #0x18] bl func_01ff9bf8 mov r0, r5 bl func_01ff9cec mov r4, r0 cmp r4, #0x1000 bge _02151a20 mov r0, r5 bl func_01fffb4c cmp r0, #0 beq _02151a20 mov r0, r4, lsl #0xc add r0, r0, #0x800 mov r0, r0, asr #0xc rsb r0, r0, #0x1000 mov r0, r0, lsl #0x3 add r1, r0, #0x800 mov r0, r5 mov r1, r1, asr #0xc bl func_01fffbec mov r0, r6 mov r1, r5 mov r2, r6 bl func_01ff9bc4 mov r0, r11 mov r1, r5 mov r2, r11 bl func_01ff9bf8 ldr r0, [sp, #0x1c] str r0, [r8, #0x48] ldr r0, [sp, #0x20] str r0, [r8, #0x4c] ldr r0, [sp, #0x24] str r0, [r8, #0x50] ldr r0, [sp, #0x10] str r0, [r9, #0x48] ldr r0, [sp, #0x14] str r0, [r9, #0x4c] ldr r0, [sp, #0x18] str r0, [r9, #0x50] _02151a20: add r7, r7, #1 cmp r7, #5 blt _02151938 _02151a2c: ldr r0, [sp] add r0, r0, #1 str r0, [sp] cmp r0, #4 blt _02151908 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} arm_func_end func_ov15_021518f4 .global func_ov15_02151a48 arm_func_start func_ov15_02151a48 func_ov15_02151a48: ; 0x02151a48 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r2, #0 ldr lr, _02151b38 ; =data_027e0d0c str r2, [r0, #0x6c] ldr r3, [lr] sub r1, r2, #1 str r3, [r0, #0x7c] ldr r3, [lr, #4] ldr ip, _02151b3c ; =data_027e0764 str r3, [r0, #0x80] ldr r4, [lr, #8] mov r3, #0x3d str r4, [r0, #0x84] str r1, [r0, #0x88] ldr r5, [r0, #0x7c] mov r4, r2 str r5, [r0, #0x8c] ldr r5, [r0, #0x80] str r5, [r0, #0x90] ldr r5, [r0, #0x84] str r5, [r0, #0x94] ldr r5, [r0, #0x88] str r5, [r0, #0x98] ldr r5, [lr] str r5, [r0, #0xa8] ldr r5, [lr, #4] str r5, [r0, #0xac] ldr r5, [lr, #8] str r5, [r0, #0xb0] str r1, [r0, #0xb4] strb r2, [r0, #0x11a] str r2, [r0, #0x130] ldr lr, [ip] ldmib ip, {r1, r5} umull r7, r6, r5, lr mla r6, r5, r1, r6 ldr r1, [ip, #0xc] ldr r5, [ip, #0x10] mla r6, r1, lr, r6 ldr r1, [ip, #0x14] adds r7, r5, r7 adc r5, r1, r6 umull r1, lr, r5, r3 mla lr, r5, r2, lr mla lr, r4, r3, lr str r7, [ip] str r5, [ip, #4] add r1, lr, #0x1e str r1, [r0, #0x180] str r2, [r0, #0x184] str r2, [r0, #0x174] mov r3, r2 _02151b18: add r1, r0, r2, lsl #2 add r2, r2, #1 str r3, [r1, #0x160] cmp r2, #5 blt _02151b18 bl func_ov15_02151ce0 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02151a48 _02151b38: .word data_027e0d0c _02151b3c: .word data_027e0764 .global func_ov15_02151b40 arm_func_start func_ov15_02151b40 func_ov15_02151b40: ; 0x02151b40 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x48 ldr r1, _02151cc0 ; =data_027e0f90 mov r4, r0 ldr r0, [r1] ldrsh r0, [r0, #0xa] cmp r0, #0 addle sp, sp, #0x48 ldmleia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02151cc4 ; =data_027e0f94 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x10 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] str r1, [sp, #0x30] bl func_ov00_020c3348 ldr ip, _02151cc8 ; =data_027e0764 ldr r0, _02151ccc ; =0x00001001 ldr r2, [ip] ldmib ip, {r1, r3} umull r6, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [ip, #0xc] ldr r7, [ip, #0x10] mla r5, r1, r2, r5 adds r2, r7, r6 ldr r1, [ip, #0x14] mov r7, #0 adc r1, r1, r5 umull r5, r6, r1, r0 str r2, [ip] str r1, [ip, #4] mla r6, r1, r7, r6 mov r5, r7 mla r6, r5, r0, r6 add r0, r6, #0x2000 rsb r5, r0, #0 ldr r3, _02151cd0 ; =data_027e0f64 ldr ip, _02151cc8 ; =data_027e0764 str r7, [sp, #4] str r7, [sp, #8] str r5, [sp, #0xc] ldr lr, [ip, #8] ldr r0, [r3] umull r7, r6, lr, r2 mla r6, lr, r1, r6 ldr r0, [r0, #4] ldr r5, [ip, #0xc] ldr r3, [r0, #0x160] add r0, r0, #0x200 cmp r3, #3 ldrsh r0, [r0, #0x26] mla r6, r5, r2, r6 subne r0, r0, #0x8000 movne r0, r0, lsl #0x10 ldr lr, [ip, #0x10] movne r0, r0, asr #0x10 ldr r1, [ip, #0x14] adds r7, lr, r7 adc r2, r1, r6 ldr r3, _02151cd4 ; =0x00002aab str r7, [ip] mov r1, #0 umull lr, r5, r2, r3 mla r5, r2, r1, r5 mla r5, r1, r3, r5 sub r1, r3, #0x4000 add r1, r5, r1 add r0, r0, r1 mov r0, r0, lsl #0x10 add r1, sp, #4 mov r0, r0, asr #0x10 str r2, [ip, #4] bl func_0202af4c add r0, sp, #0x3c add r1, sp, #4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r4, #8] mov r1, #0 str r0, [sp, #0x2c] ldr r2, [r4, #0xc] ldr r0, _02151cd8 ; =data_027e0fe8 str r2, [sp, #0x30] str r1, [sp] ldr r0, [r0] ldr r1, _02151cdc ; =0x4b4d4d45 add r2, sp, #0x3c add r3, sp, #0x10 bl func_ov00_020c4048 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02151b40 _02151cc0: .word data_027e0f90 _02151cc4: .word data_027e0f94 _02151cc8: .word data_027e0764 _02151ccc: .word 0x00001001 _02151cd0: .word data_027e0f64 _02151cd4: .word 0x00002aab _02151cd8: .word data_027e0fe8 _02151cdc: .word 0x4b4d4d45 .global func_ov15_02151ce0 arm_func_start func_ov15_02151ce0 func_ov15_02151ce0: ; 0x02151ce0 ldr r1, _02151cf8 ; =data_ov15_0218bff8 ldr r2, [r1, #0x10] ldr r1, [r1, #0x14] str r2, [r0, #0x158] str r1, [r0, #0x15c] bx lr .align 2, 0 arm_func_end func_ov15_02151ce0 _02151cf8: .word data_ov15_0218bff8 .global func_ov15_02151cfc arm_func_start func_ov15_02151cfc func_ov15_02151cfc: ; 0x02151cfc stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02151d7c ; =data_027e0e60 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 bne _02151d68 ldr r0, _02151d80 ; =data_027e10a4 ldr r1, [r0] ldrb r0, [r1, #0x4d4] cmp r0, #0 ldreqb r0, [r1, #0x4d5] cmpeq r0, #0 bne _02151d68 ldr r0, _02151d7c ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020846a4 cmp r0, #6 beq _02151d68 ldr r0, [r4, #0x184] cmp r0, #0 bne _02151d68 mov r0, r4 bl func_ov15_02151d84 ldmia sp!, {r4, pc} _02151d68: ldr r0, [r4, #0x184] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r4, #0x184] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151cfc _02151d7c: .word data_027e0e60 _02151d80: .word data_027e10a4 .global func_ov15_02151d84 arm_func_start func_ov15_02151d84 func_ov15_02151d84: ; 0x02151d84 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr ip, _02151e3c ; =data_027e0764 mov r3, #0 ldr r2, [ip] ldmib ip, {r1, r4} umull r6, r5, r4, r2 mla r5, r4, r1, r5 ldr r1, [ip, #0xc] ldr r4, [ip, #0x10] mla r5, r1, r2, r5 ldr r1, [ip, #0x14] adds r6, r4, r6 adc r5, r1, r5 mov r2, #3 umull r1, r4, r5, r2 str r6, [ip] mla r4, r5, r3, r4 mov r1, r3 mla r4, r1, r2, r4 str r5, [ip, #4] add r2, r4, #2 str r2, [r0, #0x178] ldr r4, [ip] ldmib ip, {r2, lr} umull r6, r5, lr, r4 mla r5, lr, r2, r5 ldr r2, [ip, #0xc] ldr r7, [ip, #0x10] mla r5, r2, r4, r5 adds r7, r7, r6 ldr r6, [ip, #0x14] mov r2, #0x3d adc r5, r6, r5 umull lr, r4, r5, r2 mla r4, r5, r3, r4 mla r4, r1, r2, r4 str r7, [ip] str r5, [ip, #4] add r2, r4, #0x1e ldr r1, _02151e40 ; =data_ov15_0218bff8 str r2, [r0, #0x180] ldr r2, [r1, #0x18] ldr r1, [r1, #0x1c] str r2, [r0, #0x158] str r1, [r0, #0x15c] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02151d84 _02151e3c: .word data_027e0764 _02151e40: .word data_ov15_0218bff8 .global func_ov15_02151e44 arm_func_start func_ov15_02151e44 func_ov15_02151e44: ; 0x02151e44 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r1, [r4, #0x180] cmp r1, #0 bge _02151ecc bl func_ov15_02151b40 ldr r1, [r4, #0x174] ldr r0, [r4, #0x178] cmp r1, r0 bge _02151ec0 ldr r2, _02151ed8 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds r6, ip, r5 adc r5, r0, lr mov r0, #0x3d umull r3, ip, r5, r0 mla ip, r5, r1, ip mla ip, r1, r0, ip str r6, [r2] str r5, [r2, #4] add r0, ip, #0x1e str r0, [r4, #0x180] ldmia sp!, {r4, r5, r6, pc} _02151ec0: mov r0, r4 bl func_ov15_02151edc ldmia sp!, {r4, r5, r6, pc} _02151ecc: sub r0, r1, #1 str r0, [r4, #0x180] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02151e44 _02151ed8: .word data_027e0764 .global func_ov15_02151edc arm_func_start func_ov15_02151edc func_ov15_02151edc: ; 0x02151edc ldr r1, _02151ef4 ; =data_ov15_0218bff8 ldr r2, [r1, #0x20] ldr r1, [r1, #0x24] str r2, [r0, #0x158] str r1, [r0, #0x15c] bx lr .align 2, 0 arm_func_end func_ov15_02151edc _02151ef4: .word data_ov15_0218bff8 .global func_ov15_02151ef8 arm_func_start func_ov15_02151ef8 func_ov15_02151ef8: ; 0x02151ef8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02151f60 ; =data_027e0e60 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 bne _02151f4c ldr r0, _02151f64 ; =data_027e10a4 ldr r1, [r0] ldrb r0, [r1, #0x4d4] cmp r0, #0 ldreqb r0, [r1, #0x4d5] cmpeq r0, #0 bne _02151f4c ldr r0, _02151f60 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020846a4 cmp r0, #6 ldmneia sp!, {r4, pc} _02151f4c: mov r1, #0x78 mov r0, r4 str r1, [r4, #0x184] bl func_ov15_02151f68 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02151ef8 _02151f60: .word data_027e0e60 _02151f64: .word data_027e10a4 .global func_ov15_02151f68 arm_func_start func_ov15_02151f68 func_ov15_02151f68: ; 0x02151f68 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02151fac ; =data_ov15_0218bff8 mov r5, r0 ldr r2, [r1, #0x28] ldr r0, [r1, #0x2c] mov r4, #0 str r2, [r5, #0x158] str r0, [r5, #0x15c] _02151f88: add r0, r5, r4, lsl #2 ldr r0, [r0, #0x160] cmp r0, #0 beq _02151f9c bl func_ov15_0213b654 _02151f9c: add r4, r4, #1 cmp r4, #5 blt _02151f88 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02151f68 _02151fac: .word data_ov15_0218bff8 .global func_ov15_02151fb0 arm_func_start func_ov15_02151fb0 func_ov15_02151fb0: ; 0x02151fb0 stmdb sp!, {r3, lr} ldr r1, [r0, #0x174] cmp r1, #0 ldmneia sp!, {r3, pc} bl func_ov15_02151ce0 ldmia sp!, {r3, pc} arm_func_end func_ov15_02151fb0 .global func_ov15_02151fc8 arm_func_start func_ov15_02151fc8 func_ov15_02151fc8: ; 0x02151fc8 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x15c] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r4, #0x158] beq _02151ffc ldr r2, [r0] ldr r1, [r4, #0x158] ldr r1, [r2, r1] _02151ffc: blx r1 mov r0, r4 bl func_ov15_021518f4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02151fc8 .global func_ov15_0215200c arm_func_start func_ov15_0215200c func_ov15_0215200c: ; 0x0215200c stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x15c] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r4, #0x158] beq _02152040 ldr r2, [r0] ldr r1, [r4, #0x158] ldr r1, [r2, r1] _02152040: blx r1 mov r0, r4 bl func_ov15_021518f4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215200c .global func_ov15_02152050 arm_func_start func_ov15_02152050 func_ov15_02152050: ; 0x02152050 stmdb sp!, {r3, lr} ldr r1, _02152088 ; =data_027e0fe4 mov r2, r0 ldr r0, [r1] add r1, r2, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldreq r0, _0215208c ; =data_ov15_021863a8 ldreq r0, [r0, #0xa0] ldmeqia sp!, {r3, pc} ldr r1, [r0, #0x41c] ldr r0, _02152090 ; =data_ov15_02186448 ldr r0, [r0, r1, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02152050 _02152088: .word data_027e0fe4 _0215208c: .word data_ov15_021863a8 _02152090: .word data_ov15_02186448 .global func_ov15_02152094 arm_func_start func_ov15_02152094 func_ov15_02152094: ; 0x02152094 stmdb sp!, {r3, lr} ldr r1, _021520cc ; =data_027e0fe4 mov r2, r0 ldr r0, [r1] add r1, r2, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldreq r0, _021520d0 ; =data_ov15_021863a8 ldreq r0, [r0, #0xb4] ldmeqia sp!, {r3, pc} ldr r1, [r0, #0x41c] ldr r0, _021520d4 ; =data_ov15_0218645c ldr r0, [r0, r1, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02152094 _021520cc: .word data_027e0fe4 _021520d0: .word data_ov15_021863a8 _021520d4: .word data_ov15_0218645c .global func_ov15_021520d8 arm_func_start func_ov15_021520d8 func_ov15_021520d8: ; 0x021520d8 ldr r0, _021520e0 ; =0x0000019a bx lr .align 2, 0 arm_func_end func_ov15_021520d8 _021520e0: .word 0x0000019a .global func_ov15_021520e4 arm_func_start func_ov15_021520e4 func_ov15_021520e4: ; 0x021520e4 ldr r0, _021520ec ; =0x00000421 bx lr .align 2, 0 arm_func_end func_ov15_021520e4 _021520ec: .word 0x00000421 .global func_ov15_021520f0 arm_func_start func_ov15_021520f0 func_ov15_021520f0: ; 0x021520f0 ldr r0, _021520f8 ; =0x00000662 bx lr .align 2, 0 arm_func_end func_ov15_021520f0 _021520f8: .word 0x00000662 .global func_ov15_021520fc arm_func_start func_ov15_021520fc func_ov15_021520fc: ; 0x021520fc ldr r0, _02152104 ; =0x000008c9 bx lr .align 2, 0 arm_func_end func_ov15_021520fc _02152104: .word 0x000008c9 .global func_ov15_02152108 arm_func_start func_ov15_02152108 func_ov15_02152108: ; 0x02152108 ldr r0, _02152110 ; =0x0000019a bx lr .align 2, 0 arm_func_end func_ov15_02152108 _02152110: .word 0x0000019a .global func_ov15_02152114 arm_func_start func_ov15_02152114 func_ov15_02152114: ; 0x02152114 stmdb sp!, {r3} sub sp, sp, #0xc mov r3, #0x28 mov r2, #0 add r1, sp, #0 mov ip, r0 str r3, [sp] str r2, [sp, #4] str r2, [sp, #8] ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3} bx lr arm_func_end func_ov15_02152114 .global func_ov15_0215214c arm_func_start func_ov15_0215214c func_ov15_0215214c: ; 0x0215214c stmdb sp!, {lr} sub sp, sp, #0xc mov ip, #0xf5 mov r3, #0 mov r2, #0xcc add r1, sp, #0 mov lr, r0 str ip, [sp] str r3, [sp, #4] str r2, [sp, #8] ldmia r1, {r0, r1, r2} stmia lr, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov15_0215214c .global func_ov15_02152184 arm_func_start func_ov15_02152184 func_ov15_02152184: ; 0x02152184 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x7c mov r7, r0 ldrb r0, [r7, #0x406] cmp r0, #0 bne _02152278 mov r1, #1 ldr r0, _02152348 ; =data_027e0fe4 strb r1, [r7, #0x406] sub r8, r1, #2 mov r6, #0 add r5, sp, #0x68 ldr ip, _0215234c ; =_ZTV11FilterActor ldr r9, _02152350 ; =0x4653524c add r4, sp, #0xc mov r3, #5 ldr r0, [r0] add r1, sp, #0x34 add r2, sp, #0 str r6, [sp, #8] str ip, [sp, #0x34] str r9, [sp, #0x38] str r8, [sp, #0x3c] str r8, [sp, #0x40] str r6, [sp, #0x44] strb r6, [sp, #0x48] strb r6, [sp, #0x64] str r6, [r5, #0xc] str r6, [r5] str r6, [r5, #4] str r6, [r5, #8] str r8, [sp, #0xc] str r8, [sp, #0x10] str r8, [sp, #0x14] str r8, [sp, #0x18] str r8, [sp, #0x1c] str r8, [sp, #0x20] str r8, [sp, #0x24] str r8, [sp, #0x28] str r8, [sp, #0x2c] str r8, [sp, #0x30] str r4, [sp] str r3, [sp, #4] bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList ldr r0, [sp, #8] mov r3, r6 cmp r0, #0 ble _02152278 mov r4, r3 _02152248: ldr r2, [sp] add r1, r7, r3, lsl #3 ldr r0, [r2, r4] add r2, r2, r4 str r0, [r1, #0x408] ldr r0, [r2, #4] add r3, r3, #1 str r0, [r1, #0x40c] ldr r0, [sp, #8] add r4, r4, #8 cmp r3, r0 blt _02152248 _02152278: ldr r0, [r7, #0x2c] cmp r0, #0 ldreqb r0, [r7, #0x444] cmpeq r0, #1 addne sp, sp, #0x7c ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r0, r7 mov r1, #6 bl func_ov15_02136b34 mov r1, #0 mov r0, r7 mov r2, r1 bl func_ov15_02152548 add r0, r7, #8 ldr r9, _02152348 ; =data_027e0fe4 add r6, r0, #0x400 mov r5, #0 mvn r8, #0 _021522c0: add r0, r7, r5, lsl #3 ldr r0, [r0, #0x408] cmp r0, r8 beq _02152330 ldr r0, [r9] mov r1, r6 bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 beq _02152330 bl func_ov15_02183bc4 cmp r0, #0 beq _02152330 ldr r0, [r4, #0x17c] ldr r1, _02152354 ; =data_027e1060 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 str r0, [r1, #0xc] ldr r0, [r4, #0x170] mov r2, #1 strh r0, [r1, #8] ldr r0, [r4, #0x17c] ldrh r3, [r1, #0x32] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 orr r0, r3, r2, lsl r0 strh r0, [r1, #0x32] add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02152330: add r5, r5, #1 cmp r5, #5 add r6, r6, #8 blt _021522c0 add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02152184 _02152348: .word data_027e0fe4 _0215234c: .word _ZTV11FilterActor _02152350: .word 0x4653524c _02152354: .word data_027e1060 .global func_ov15_02152358 arm_func_start func_ov15_02152358 func_ov15_02152358: ; 0x02152358 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _021523dc ; =gItemManager mov r4, r0 ldr r0, [r1] mov r1, #0x28 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, r4, #8 ldr r6, _021523e0 ; =data_027e0fe4 add r8, r0, #0x400 mov r7, #0 mvn r5, #0 _02152390: add r0, r4, r7, lsl #3 ldr r0, [r0, #0x408] cmp r0, r5 beq _021523c4 ldr r0, [r6] mov r1, r8 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _021523c4 bl func_ov15_02183bc4 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _021523c4: add r7, r7, #1 cmp r7, #5 add r8, r8, #8 blt _02152390 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02152358 _021523dc: .word gItemManager _021523e0: .word data_027e0fe4 .global func_ov15_021523e4 arm_func_start func_ov15_021523e4 func_ov15_021523e4: ; 0x021523e4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02152534 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #2 bne _0215244c mov r0, r4 mov r1, #1 mov r2, #0 bl func_ov15_02152548 ldr r0, _02152538 ; =data_027e0f94 mov r3, #0 str r3, [r0] str r3, [r0, #8] ldr r0, [r4, #0x20] mov r1, #1 strb r1, [r0, #0x1c6] ldr r0, [r4, #0x20] mov r1, #3 ldr r0, [r0, #0xc0] ldr r2, [r0, #4] str r3, [r2, #0x11c] bl func_ov15_0216e168 _0215244c: mov ip, #0 str ip, [r4, #0x78] add r0, r4, #0x400 strh ip, [r0] ldr r0, _02152538 ; =data_027e0f94 str ip, [r4, #0x3c0] ldr r2, [r0, #8] ldmia r0, {r1, r3} str r1, [r4, #0x390] str r3, [r4, #0x394] str r2, [r4, #0x398] mov r0, #0x23000 str r0, [r4, #0x3c8] str ip, [r4, #0x3dc] str ip, [r4, #0x3c4] str ip, [r4, #0x3f4] str ip, [r4, #0x3f8] mov r0, #0x1000 str ip, [r4, #0x3b4] str r0, [r4, #0x3b8] str ip, [r4, #0x3bc] strb ip, [r4, #0x442] strb ip, [r4, #0x443] strb ip, [r4, #0x291] strb ip, [r4, #0x292] strb ip, [r4, #0x44a] strb ip, [r4, #0x449] sub r0, r0, #0x1040 str r0, [r4, #0x280] str r0, [r4, #0x288] str ip, [r4, #0x28c] strb ip, [r4, #0x290] mvn r2, #0 _021524d0: add r0, r4, ip add ip, ip, #1 strb r2, [r0, #0x43e] cmp ip, #4 blt _021524d0 mov r1, #1 mov r0, #0 strb r1, [r4, #0x44b] str r0, [r4, #0x3e4] str r0, [r4, #0x3e8] str r0, [r4, #0x3ec] str r0, [r4, #0x3f0] str r2, [r4, #0x388] str r2, [r4, #0x38c] strb r0, [r4, #0x448] strb r0, [r4, #0x434] strb r0, [r4, #0x293] str r0, [r4, #0x3d8] str r0, [r4, #0x3d4] str r0, [r4, #0x3d0] str r0, [r4, #0x3cc] strb r0, [r4, #0x446] str r0, [r4, #0x3fc] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021523e4 _02152534: .word data_027e0d38 _02152538: .word data_027e0f94 .global func_ov15_0215253c arm_func_start func_ov15_0215253c func_ov15_0215253c: ; 0x0215253c ldr ip, _02152544 ; =func_ov15_021523e4 bx ip .align 2, 0 arm_func_end func_ov15_0215253c _02152544: .word func_ov15_021523e4 .global func_ov15_02152548 arm_func_start func_ov15_02152548 func_ov15_02152548: ; 0x02152548 ldr ip, _0215255c ; =func_ov15_02175d14 str r1, [r0, #0x430] mov r1, #0 strb r2, [r0, #0x436] bx ip .align 2, 0 arm_func_end func_ov15_02152548 _0215255c: .word func_ov15_02175d14 .global func_ov15_02152560 arm_func_start func_ov15_02152560 func_ov15_02152560: ; 0x02152560 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0xc8 mov r4, r0 ldrb r0, [r4, #0x436] cmp r0, #0 beq _02152590 cmp r0, #1 beq _021525f4 cmp r0, #2 beq _0215265c add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} _02152590: add r0, sp, #0x18 bl func_ov00_0209a4f4 mov r3, #1 mov r2, #0 ldr r0, _02152684 ; =gAdventureFlags mvn r5, #0 ldr r0, [r0] add r1, sp, #0x18 str r5, [sp, #0x1c] strb r3, [sp, #0x21] strb r2, [sp, #0x22] strb r2, [sp, #0x23] strb r3, [sp, #0x2e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x348] mov r0, #1 mov r2, #0x800 strb r0, [r4, #0x436] mov r1, #0x3c str r1, [r4, #0x3e4] add r0, sp, #0x18 rsb r2, r2, #0 add r1, r4, #0x400 strh r2, [r1, #0x4c] bl func_ov00_0209a508 _021525f4: ldr r0, _02152688 ; =data_027e0e60 mov lr, #0 ldr r0, [r0] sub ip, lr, #2 mov r5, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #0xf str r5, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _0215268c ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 moveq r0, #2 streqb r0, [r4, #0x436] _0215265c: mov r0, r4 bl func_ov15_021368b4 ldr r1, _02152690 ; =data_027e0fa0 ldr r2, [r1, #4] sub r2, r2, r0 mov r0, r4 str r2, [r1, #4] bl func_ov15_02137138 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02152560 _02152684: .word gAdventureFlags _02152688: .word data_027e0e60 _0215268c: .word data_027e0d38 _02152690: .word data_027e0fa0 .global func_ov15_02152694 arm_func_start func_ov15_02152694 func_ov15_02152694: ; 0x02152694 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 add r0, r4, #0xb8 add ip, r0, #0x400 add r3, sp, #0x24 ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0xc4 mov r1, ip add r0, r0, #0x400 bl func_01ff9ec0 add r3, r4, #0xb8 add r1, r4, #0xc4 str r0, [r4, #0x468] add r0, r1, #0x400 add r2, sp, #0x18 add r1, r3, #0x400 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, [r4, #0x464] add r0, sp, #0x18 add ip, sp, #0xc ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} mov r3, #0 mov r0, ip str r3, [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 str r0, [r4, #0x460] ldr r0, [r4, #0x468] cmp r0, #0x1000 ble _0215279c mov r0, #0x1000 str r0, [r4, #0x468] ldr r1, [r4, #0x4b8] add r0, sp, #0x24 str r1, [sp, #0x24] ldr r2, [r4, #0x4bc] add r1, r4, #0xc4 str r2, [sp, #0x28] ldr r3, [r4, #0x4c0] mov r2, r0 add r1, r1, #0x400 str r3, [sp, #0x2c] bl func_01ff9bf8 add r0, sp, #0x24 mov r1, r0 bl func_01ff9d4c add r0, sp, #0x24 mov r1, #0x1000 bl func_01fffbec add r0, sp, #0x24 add r1, r4, #0xc4 mov r2, r0 add r1, r1, #0x400 bl func_01ff9bc4 _0215279c: mvn r0, #0 str r0, [sp] mov r1, #0 str r1, [sp, #4] ldr r0, _021527d0 ; =data_027e0f64 str r1, [sp, #8] ldr r0, [r0] add r2, sp, #0x24 ldr r0, [r0, #4] add r3, r4, #0x450 bl func_ov00_020888e8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02152694 _021527d0: .word data_027e0f64 .global func_ov15_021527d4 arm_func_start func_ov15_021527d4 func_ov15_021527d4: ; 0x021527d4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 ldr r2, _021529b0 ; =data_027e1060 ldr r1, _021529b4 ; =0x0000ffff ldrh r4, [r2, #8] mov r6, r0 cmp r4, r1 addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _021529b8 ; =gAdventureFlags ldr r1, _021529bc ; =0x00000111 ldr r0, [r0] mov r5, #0 bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021528d0 ldr r0, _021529c0 ; =gItemManager mov r1, #0x2f ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi ldr ip, _021529c4 ; =data_027e0764 cmp r0, #0 ldr r2, [ip] ldmib ip, {r1, r3} umull lr, r7, r3, r2 mla r7, r3, r1, r7 ldr r1, [ip, #0xc] addne r0, r4, #2 mla r7, r1, r2, r7 movne r0, r0, lsl #0x10 movne r4, r0, lsr #0x10 ldr r3, [ip, #0x10] ldr r1, [ip, #0x14] adds lr, r3, lr str lr, [ip] adc r8, r1, r7 mov r2, #0x64 umull r3, r1, r8, r2 mov r0, #0 mla r1, r8, r0, r1 mov r7, r0 ldr lr, _021529c8 ; =data_ov15_02186470 mov r3, #0x14 mla lr, r4, r3, lr mla r1, r7, r2, r1 mov r3, r0 str r8, [ip, #4] _02152890: ldr r2, [lr, r3, lsl #2] add r0, r0, r2 cmp r0, r1 andge r5, r3, #0xff bge _021528b0 add r3, r3, #1 cmp r3, #5 blt _02152890 _021528b0: cmp r5, #4 bne _021528d0 ldr r0, _021529b8 ; =gAdventureFlags mov r1, #0xe ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 movne r5, #3 _021528d0: ldr r1, _021529c4 ; =data_027e0764 mov r4, #0 ldr r2, [r1] ldmib r1, {r0, r3} umull lr, ip, r3, r2 mla ip, r3, r0, ip ldr r0, [r1, #0xc] ldr r3, [r1, #0x10] mla ip, r0, r2, ip ldr r0, [r1, #0x14] adds lr, r3, lr adc ip, r0, ip mov r0, #0x64 umull r2, r3, ip, r0 str lr, [r1] mla r3, ip, r4, r3 mov r2, r4 mla r3, r2, r0, r3 cmp r3, #5 add r0, sp, #0x1c str ip, [r1, #4] movlt r4, #1 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 ldr r1, _021529cc ; =data_027e0f94 mov ip, #0 ldr r2, [r1, #4] ldr r3, [r1] mov r0, #0x23000 str r0, [sp, #0x10] strh r5, [sp, #0x1c] strh r4, [sp, #0x1e] str ip, [sp, #0x14] str ip, [sp, #0x18] str r2, [sp, #8] add r0, sp, #0x10 str r3, [sp, #4] ldr r3, [r1, #8] add r1, sp, #4 mov r2, r0 str r3, [sp, #0xc] bl func_01ff9bc4 add r1, r6, #0x388 str r1, [sp] ldr r0, _021529d0 ; =data_027e0fe8 ldr r1, _021529d4 ; =0x534c4653 ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021527d4 _021529b0: .word data_027e1060 _021529b4: .word 0x0000ffff _021529b8: .word gAdventureFlags _021529bc: .word 0x00000111 _021529c0: .word gItemManager _021529c4: .word data_027e0764 _021529c8: .word data_ov15_02186470 _021529cc: .word data_027e0f94 _021529d0: .word data_027e0fe8 _021529d4: .word 0x534c4653 .global func_ov15_021529d8 arm_func_start func_ov15_021529d8 func_ov15_021529d8: ; 0x021529d8 ldrb r1, [r0, #0x443] cmp r1, #0 ldrne r0, [r0, #0x3e8] addne r0, r0, #1 moveq r0, #0 bx lr arm_func_end func_ov15_021529d8 .global func_ov15_021529f0 arm_func_start func_ov15_021529f0 func_ov15_021529f0: ; 0x021529f0 ldrb r0, [r0, #0x434] bx lr arm_func_end func_ov15_021529f0 .global func_ov15_021529f8 arm_func_start func_ov15_021529f8 func_ov15_021529f8: ; 0x021529f8 ldrb r0, [r0, #0x436] cmp r0, #7 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov15_021529f8 .global func_ov15_02152a0c arm_func_start func_ov15_02152a0c func_ov15_02152a0c: ; 0x02152a0c stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x3c8] cmp r1, #0x1f000 blt _02152a40 bl func_ov15_021529d8 cmp r0, #0 bne _02152a38 ldrb r0, [r4, #0x291] cmp r0, #0 bne _02152a40 _02152a38: mov r0, #1 ldmia sp!, {r4, pc} _02152a40: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov15_02152a0c .global func_ov15_02152a48 arm_func_start func_ov15_02152a48 func_ov15_02152a48: ; 0x02152a48 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1ac ldr r1, _02153464 ; =data_027e0fe4 mov r5, r0 ldr r0, [r1] add r1, r5, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef ldr r2, [r5, #0x20] mov r1, #0 ldr r4, [r2, #0xc0] mov r3, #0x1000 str r1, [sp, #0xf0] str r3, [sp, #0xf4] str r1, [sp, #0xf8] ldrb r2, [r5, #0x436] mov r6, r0 cmp r2, #9 addls pc, pc, r2, lsl #2 b _02153454 _02152a94: ; jump table b _02152abc ; case 0 b _02152b98 ; case 1 b _02152d70 ; case 2 b _02152e6c ; case 3 b _02152f6c ; case 4 b _021531cc ; case 5 b _02153208 ; case 6 b _02153234 ; case 7 b _02153364 ; case 8 b _0215340c ; case 9 _02152abc: mov r0, r5 bl func_ov15_021527d4 ldr r1, _02153468 ; =data_027e0f94 add r0, sp, #0xfc ldr r3, [r1, #4] ldr r2, [r1, #8] ldr r1, [r1] str r1, [r5, #0x390] str r3, [r5, #0x394] str r2, [r5, #0x398] bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _0215346c ; =gAdventureFlags mvn r6, #0 mov r3, #1 ldr r0, [r0] add r1, sp, #0xfc str r6, [sp, #0x100] strb r3, [sp, #0x105] strb r2, [sp, #0x106] strb r2, [sp, #0x107] strb r2, [sp, #0x112] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x348] add r0, sp, #0xb4 mov r1, r5 bl func_ov15_0214850c ldr r0, [sp, #0xb4] mov r2, #0x23000 str r0, [r5, #0x39c] ldr r1, [sp, #0xb8] ldr r0, _02153470 ; =data_027e0f64 str r1, [r5, #0x3a0] ldr r3, [sp, #0xbc] add r1, r5, #0x450 str r3, [r5, #0x3a4] str r2, [r5, #0x3c8] ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #3 str r1, [r5, #0x3f0] mov r0, #0 str r0, [r5, #0x3ec] mov r0, #0x1e str r0, [r5, #0x3e4] mov r0, r4 bl func_ov15_0216e168 ldr r0, [r5, #0x20] mov r1, #0 strb r1, [r0, #0x1c9] mov r0, #1 strb r0, [r5, #0x436] add r0, sp, #0xfc bl func_ov00_0209a508 _02152b98: add r0, sp, #0xa8 mov r1, r5 bl func_ov15_0214850c ldr r1, [sp, #0xa8] mov r0, #0x23000 str r1, [r5, #0x39c] ldr r1, [sp, #0xac] str r1, [r5, #0x3a0] ldr r1, [sp, #0xb0] str r1, [r5, #0x3a4] str r0, [r5, #0x3c8] ldr r0, [r5, #0x3f0] cmp r0, #0 beq _02152d1c ldr r1, _02153474 ; =data_027e0fac ldr r11, _02153478 ; =data_02050f54 ldrsh r3, [r1] ldr r0, _0215347c ; =0xfffffd9a mvn r1, #0 mov r2, r3, asr #0x4 mov r6, r2, lsl #0x1 add r2, r3, #0x2000 mov r3, r6, lsl #0x1 ldrsh r8, [r11, r3] add r3, r6, #1 mov r3, r3, lsl #0x1 ldrsh r6, [r11, r3] umull r10, r9, r8, r0 umull ip, r7, r6, r0 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 add r2, r3, #1 mov r2, r2, lsl #0x1 ldrsh lr, [r11, r2] adds r10, r10, #0x800 mla r9, r8, r1, r9 mla r7, r6, r1, r7 mov r1, r6, asr #0x1f mov r3, r3, lsl #0x1 str ip, [sp, #8] ldrsh ip, [r11, r3] mov r11, r8, asr #0x1f mla r9, r11, r0, r9 rsb r2, r0, #0x800 mla r7, r1, r0, r7 mov r10, r10, lsr #0xc adc r8, r9, #0 orr r10, r10, r8, lsl #20 sub r8, r10, #0x2000 str r8, [r5, #0x4b8] sub r0, r0, #0x1b4 str r0, [r5, #0x4bc] ldr r0, [sp, #8] mov r11, #0 adds r1, r0, #0x800 umull r9, r8, lr, r2 adc r0, r7, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r10, r1, #0x3800 str r10, [r5, #0x4c0] ldr r0, [r5, #0x4bc] mla r8, lr, r11, r8 mov r7, lr, asr #0x1f mla r8, r7, r2, r8 adds r7, r9, #0x800 mov r3, r2 add r6, r0, #0xcd adc r2, r8, #0 mov r7, r7, lsr #0xc orr r7, r7, r2, lsl #20 add r2, r10, r7 umull r8, r7, ip, r3 mla r7, ip, r11, r7 mov r0, ip, asr #0x1f mla r7, r0, r3, r7 adds r3, r8, #0x800 ldr r1, [r5, #0x4b8] adc r0, r7, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 add r0, r1, r3 str r0, [r5, #0x4c4] str r6, [r5, #0x4c8] str r2, [r5, #0x4cc] ldr r0, [r5, #0x20] ldr r0, [r0, #0x68] cmp r0, #5 bne _02152d14 ldr r0, [r5, #0x4bc] add r0, r0, #0x66 add r0, r0, #0x200 str r0, [r5, #0x4c8] _02152d14: mov r0, r5 bl func_ov15_02152694 _02152d1c: mov r2, #0 str r2, [r5, #0x3d8] ldr r0, [r5, #0x20] add r1, sp, #0xf0 add r3, r5, #0x39c bl func_ov15_02149bb0 ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02153454 mov r0, r4 mov r1, #6 bl func_ov15_0216e168 ldr r0, [r5, #0x20] bl func_ov15_02149b78 mov r0, #2 strb r0, [r5, #0x436] mov r0, #0xd str r0, [r5, #0x3e4] mov r0, #0xc str r0, [r5, #0x3f0] b _02153454 _02152d70: add r0, sp, #0x9c mov r1, r5 bl func_ov15_0214850c ldr r1, [sp, #0x9c] mov r0, #0x23000 str r1, [r5, #0x39c] ldr r1, [sp, #0xa0] str r1, [r5, #0x3a0] ldr r1, [sp, #0xa4] str r1, [r5, #0x3a4] str r0, [r5, #0x3c8] ldr r0, [r5, #0x3f0] cmp r0, #0 bne _02152dfc add r0, sp, #0x90 mov r1, r5 bl func_ov15_0214850c add r0, sp, #0x84 mov r1, r5 bl func_ov15_0214850c ldr r0, [sp, #0x90] ldr r4, [r5, #0x3a0] add r3, r0, #0x23000 ldr r2, [sp, #0x8c] add r0, r5, #0xb8 str r3, [sp, #0xe4] str r4, [sp, #0xe8] str r2, [sp, #0xec] mov r4, #0x180 add r1, sp, #0xe4 add r0, r0, #0x400 mov r2, #0x80 mov r3, #0 str r4, [sp] bl func_0202b4e4 _02152dfc: mov r0, r5 bl func_ov15_02152694 mov r2, #0 str r2, [r5, #0x3d8] ldr r0, [r5, #0x20] add r1, sp, #0xf0 add r3, r5, #0x39c bl func_ov15_02149bb0 ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02153454 mov r3, #0 ldr r0, _02153480 ; =0x000004aa strb r3, [r5, #0x293] mov r2, #0x1ec str r0, [r5, #0x3a8] str r2, [r5, #0x3ac] mov r1, #0x82 ldr r0, _02153484 ; =data_027e0ffc str r1, [r5, #0x3e4] mov r4, #5 add r1, r2, #0x228 add r2, r5, #0x39c str r4, [r5, #0x3f0] bl func_ov00_020ceacc mov r0, #3 strb r0, [r5, #0x436] b _02153454 _02152e6c: ldr r3, [r5, #0x39c] ldr r2, [r5, #0x3a8] sub r0, r1, #0xcd add r2, r3, r2 str r2, [r5, #0x39c] ldr r2, [r5, #0x3ac] sub r2, r2, #0x14 str r2, [r5, #0x3ac] cmp r2, r0 strlt r0, [r5, #0x3ac] ldr r2, [r5, #0x3a0] ldr r1, [r5, #0x3ac] ldr r0, _02153488 ; =data_027e0e60 add r1, r2, r1 str r1, [r5, #0x3a0] ldr r0, [r0] add r1, r5, #0x39c mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r5, #0x3a0] cmp r1, r0 bge _02152f6c str r0, [r5, #0x3a0] add r0, r5, #0x39c add r3, sp, #0xd8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02153488 ; =data_027e0e60 ldr r7, [sp, #0xd8] ldr r6, [sp, #0xdc] ldr r3, [sp, #0xe0] ldr r0, [r0] add r1, sp, #0x78 mov r2, #0 str r7, [sp, #0x78] str r6, [sp, #0x7c] str r3, [sp, #0x80] bl func_ov00_02083ee0 str r0, [sp, #0xdc] ldr r1, _0215348c ; =0x00000266 add r0, sp, #0xd8 mov r2, #0 bl func_ov00_020c7484 mov r2, #0 add r0, sp, #0xd8 mov r1, #0x35c mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02153490 ; =data_027e0e58 ldr r1, _02153494 ; =0x00001002 ldr r0, [r0] add r2, sp, #0xd8 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02153484 ; =data_027e0ffc ldr r1, _02153498 ; =0x00000415 add r2, r5, #0x39c mov r3, #0 bl func_ov00_020ceacc mov r0, #4 strb r0, [r5, #0x436] _02152f6c: mov r0, r4 bl func_ov15_0216e9e4 cmp r0, #0 beq _02152fa8 mov r0, r4 mov r1, #3 bl func_ov15_0216e168 ldr r0, [r5, #0x20] bl func_ov15_02149b94 ldr r0, [r4, #4] mov r1, #3 str r1, [r0, #0x11c] ldr r0, [r5, #0x20] mov r1, #1 strb r1, [r0, #0x1c9] _02152fa8: add r0, sp, #0x6c mov r1, r5 bl func_ov15_0214850c add r0, sp, #0x60 mov r1, r5 bl func_ov15_0214850c ldr r0, [sp, #0x6c] ldr r3, [r5, #0x3a0] add r2, r0, #0x23000 ldr r1, [sp, #0x68] add r0, r5, #0xb8 str r2, [sp, #0xcc] str r3, [sp, #0xd0] str r1, [sp, #0xd4] mov r2, #0x180 str r2, [sp] add r1, sp, #0xcc add r0, r0, #0x400 mov r2, #0x100 mov r3, #0 bl func_0202b4e4 ldr r0, [r5, #0x3f0] cmp r0, #0 bne _021530c4 ldr r0, _02153474 ; =data_027e0fac ldr r4, _02153478 ; =data_02050f54 ldrsh r0, [r0] ldr r1, _02153468 ; =data_027e0f94 add r2, r5, #0xc4 add r0, r0, #0x7800 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r6, [r4, r0] add r0, r3, #1 mov r0, r0, lsl #0x1 mov r3, r6, asr #0x1f ldrsh r4, [r4, r0] mov r3, r3, lsl #0xb mov r0, #0x800 adds r8, r0, r6, lsl #11 orr r3, r3, r6, lsr #21 adc r7, r3, #0 mov r8, r8, lsr #0xc mov r3, r4, asr #0x1f adds r6, r0, r4, lsl #11 mov r3, r3, lsl #0xb orr r3, r3, r4, lsr #21 ldr r0, [r1] orr r8, r8, r7, lsl #20 add r7, r0, r8 ldr r4, [r1, #4] ldr r0, _0215347c ; =0xfffffd9a str r7, [sp, #0xcc] add r0, r4, r0 str r0, [sp, #0xd0] adc r0, r3, #0 mov r3, r6, lsr #0xc ldr r1, [r1, #8] orr r3, r3, r0, lsl #20 add r0, r1, r3 str r0, [sp, #0xd4] mov r4, #0x180 add r0, r2, #0x400 add r1, sp, #0xcc mov r3, #0 mov r2, #0x100 str r4, [sp] bl func_0202b4e4 _021530c4: mov r0, r5 bl func_ov15_02152694 ldrb r0, [r5, #0x436] cmp r0, #4 bne _021531b0 ldr r0, _02153488 ; =data_027e0e60 add r1, r5, #0x39c ldr r0, [r0] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r5, #0x3a0] cmp r1, r0 strlt r0, [r5, #0x3a0] ldr r0, [r5, #0x3e4] cmp r0, #0 bne _021531b0 add r0, sp, #0x54 mov r1, r5 bl func_ov15_0214850c ldr r1, [sp, #0x5c] ldr r0, _02153468 ; =data_027e0f94 str r1, [r5, #0x3a4] ldr r2, [r0, #4] add r0, sp, #0x48 mov r1, r5 str r2, [r5, #0x3a0] bl func_ov15_0214850c ldr r1, [sp, #0x48] mov r0, #7 add r1, r1, #0x23000 str r1, [r5, #0x39c] strb r0, [r5, #0x436] mov r1, #0 strb r1, [r5, #0x434] ldr r0, _02153470 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_020875f8 ldr r0, _0215346c ; =gAdventureFlags ldr r1, [r5, #0x348] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv ldr r0, _0215346c ; =gAdventureFlags ldr r1, _0215349c ; =0x00000111 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _0215319c mov r0, #0x1e str r0, [r5, #0x3e4] mov r0, #5 strb r0, [r5, #0x436] b _021531b0 _0215319c: ldr r1, [r5, #0x60] mov r0, #7 orr r1, r1, #0x70 str r1, [r5, #0x60] strb r0, [r5, #0x436] _021531b0: mov r2, #0 str r2, [r5, #0x3d8] ldr r0, [r5, #0x20] add r1, sp, #0xf0 add r3, r5, #0x39c bl func_ov15_02149bb0 b _02153454 _021531cc: ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02153454 mov r0, #7 mov r1, #4 bl func_ov15_021429d0 mov r1, r0 ldr r0, _021534a0 ; =data_027e0c68 mov r2, #0 bl func_020370d0 mov r0, #1 strb r0, [r5, #0x293] mov r0, #6 strb r0, [r5, #0x436] b _02153454 _02153208: ldr r0, _021534a0 ; =data_027e0c68 bl func_02036798 cmp r0, #0 bne _02153454 mov r0, #0 strb r0, [r5, #0x293] mov r0, #7 strb r0, [r5, #0x436] mov r0, #0xa str r0, [r5, #0x3e4] b _02153454 _02153234: ldrb r0, [r5, #0x434] cmp r0, #0 subne r0, r0, #1 strneb r0, [r5, #0x434] mov r0, r5 bl func_ov15_02154ba4 ldr r0, _02153468 ; =data_027e0f94 ldr r1, [r5, #0x3c8] ldr r0, [r0] add r0, r0, r1 str r0, [r5, #0x39c] ldrb r0, [r5, #0x443] cmp r0, #0 beq _0215329c add r0, sp, #0x3c mov r1, r5 bl func_ov15_0214850c mov r0, #0x100 str r0, [sp] ldr r2, [r5, #0x3e8] ldr r1, [sp, #0x44] add r0, r5, #0x3a4 mov r2, r2, lsl #0x6 mov r3, #1 bl func_0202b418 b _02153314 _0215329c: ldrb r0, [r5, #0x291] cmp r0, #1 bne _021532f0 add r0, sp, #0x30 mov r1, r5 bl func_ov15_0214850c mov r0, #0x200 str r0, [sp] add r0, r5, #0x400 ldrh r1, [r0, #2] ldr r0, _02153478 ; =data_02050f54 ldr r3, [sp, #0x38] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] add r0, r5, #0x3a4 mov r2, #0x100 add r1, r3, r1 mov r3, #1 bl func_0202b418 b _02153314 _021532f0: add r0, sp, #0x24 mov r1, r5 bl func_ov15_0214850c mov r2, #0x10 str r2, [sp] ldr r1, [sp, #0x2c] add r0, r5, #0x3a4 mov r3, #1 bl func_0202b418 _02153314: mov r0, r5 bl func_ov15_021534a8 ldrb r0, [r5, #0x434] cmp r0, #0x32 movhs r0, #0x32 strhsb r0, [r5, #0x434] cmp r6, #0 ldrneb r0, [r6, #0x43c] cmpne r0, #0 beq _02153454 mov r1, #8 mov r0, r5 strb r1, [r5, #0x436] mov r2, #1 mov r1, #5 strb r2, [r5, #0x448] bl func_ov15_02175d14 mov r0, #0x32 str r0, [r5, #0x3e4] b _02153454 _02153364: sub r1, r3, #0x3d000 mov r0, r5 str r1, [r5, #0x3dc] bl func_ov15_02154ba4 cmp r6, #0 beq _02153394 ldr r2, [r6, #0x4c] ldr r1, [r6, #0x50] ldr r0, [r6, #0x48] str r0, [r5, #0x39c] str r2, [r5, #0x3a0] str r1, [r5, #0x3a4] _02153394: mov r0, r5 bl func_ov15_021534a8 ldr r0, [r5, #0x3e4] cmp r0, #0 bne _021533bc mov r0, r5 mov r1, #4 mov r2, #0 bl func_ov15_02152548 b _02153454 _021533bc: ldr r0, [r5, #0x3cc] cmp r0, #0xc00 ble _02153454 ldr r0, _021534a4 ; =data_ov00_020eec68 mov r1, #0xdd mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 mov r0, r5 mov r1, #4 bl func_ov15_02175d14 mov r0, #0x1e str r0, [r5, #0x3e4] mov r0, #9 strb r0, [r5, #0x436] ldr r0, [r5, #0x60] tst r0, #0x10 moveq r0, #0x28 streq r0, [r5, #0x3ec] b _02153454 _0215340c: mov r0, r5 bl func_ov15_021536e0 mov r0, r5 bl func_ov15_02154ba4 mov r0, r5 bl func_ov15_02155230 mov r0, r5 bl func_ov15_02153604 cmp r6, #0 beq _0215344c ldr r2, [r6, #0x4c] ldr r1, [r6, #0x50] ldr r0, [r6, #0x48] str r0, [r5, #0x39c] str r2, [r5, #0x3a0] str r1, [r5, #0x3a4] _0215344c: mov r0, r5 bl func_ov15_021534a8 _02153454: mov r0, r5 bl func_ov15_021548c4 add sp, sp, #0x1ac ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02152a48 _02153464: .word data_027e0fe4 _02153468: .word data_027e0f94 _0215346c: .word gAdventureFlags _02153470: .word data_027e0f64 _02153474: .word data_027e0fac _02153478: .word data_02050f54 _0215347c: .word 0xfffffd9a _02153480: .word 0x000004aa _02153484: .word data_027e0ffc _02153488: .word data_027e0e60 _0215348c: .word 0x00000266 _02153490: .word data_027e0e58 _02153494: .word 0x00001002 _02153498: .word 0x00000415 _0215349c: .word 0x00000111 _021534a0: .word data_027e0c68 _021534a4: .word data_ov00_020eec68 .global func_ov15_021534a8 arm_func_start func_ov15_021534a8 func_ov15_021534a8: ; 0x021534a8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r5, r0 ldr r1, [r5, #0x388] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02153600 ; =data_027e0fe4 add r1, r5, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r0, [r5, #0x448] cmp r0, #0 beq _02153530 ldr r0, [r5, #0x3c8] cmp r0, #0x4000 bge _02153530 ldr r0, [r4, #0x41c] mov r2, #0 cmp r0, #1 mov r0, r5 ble _02153520 mov r1, #2 bl func_ov15_02152548 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02153520: mov r1, #3 bl func_ov15_02152548 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02153530: mov r0, #0x1000 mov r1, #0 str r0, [sp, #8] str r1, [sp, #4] str r1, [sp, #0xc] ldr r1, [r5, #0x3cc] sub r0, r0, #0x2000 bl func_01ffa0f4 add r0, r0, #0x4000 mov r2, r0, lsl #0x10 ldr r0, [r5, #0x3b4] ldr r1, [r5, #0x3bc] mov r6, r2, asr #0x10 bl func_01ffa0f4 mov r1, #0x2800 mov r0, r0, lsl #0x10 rsb r1, r1, #0 mov r7, r0, asr #0x10 cmp r1, r0, asr #16 movgt r7, r1 cmp r7, #0x2800 movgt r7, #0x2800 add r0, sp, #4 mov r1, r6 bl func_ov00_020a6250 add r0, sp, #4 mov r1, r7 bl func_ov00_020a61ac add r0, sp, #4 mov r1, r0 bl func_01ff9d4c ldrb r0, [r5, #0x448] ldr r2, [r5, #0x3d0] mov r3, #0x10 cmp r0, #0 ldrne r0, [r4, #0x404] mov r1, r2, asr #0x3 addne r0, r2, r0 movne r1, r0, asr #0x3 mov r2, #0x100 cmp r1, #0x400 movge r1, #0x400 str r2, [sp] add r0, r5, #0x3d8 bl func_0202b418 ldr r0, [r5, #0x20] ldr r2, [r5, #0x3d8] add r1, sp, #4 add r3, r5, #0x39c bl func_ov15_02149bb0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021534a8 _02153600: .word data_027e0fe4 .global func_ov15_02153604 arm_func_start func_ov15_02153604 func_ov15_02153604: ; 0x02153604 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _021536dc ; =data_027e0c68 bl func_02036798 cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x293] ldrb r0, [r4, #0x293] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x60] tst r0, #0x10 bne _0215368c ldr r0, [r4, #0x3ec] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x3ec] ldr r0, [r4, #0x3ec] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r1, [r4, #0x60] mov r0, #7 orr r2, r1, #0x10 mov r1, #1 str r2, [r4, #0x60] bl func_ov15_021429d0 mov r1, r0 ldr r0, _021536dc ; =data_027e0c68 mov r2, #0 bl func_020370d0 mov r0, #1 strb r0, [r4, #0x293] strb r0, [r4, #0x449] ldmia sp!, {r4, pc} _0215368c: tst r0, #0x40 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x3c8] cmp r0, #0x12000 ldmgtia sp!, {r4, pc} mov r0, #0x12000 str r0, [r4, #0x3c8] ldr r1, [r4, #0x60] mov r0, #7 orr r2, r1, #0x40 mov r1, #3 str r2, [r4, #0x60] bl func_ov15_021429d0 mov r1, r0 ldr r0, _021536dc ; =data_027e0c68 mov r2, #0 bl func_020370d0 mov r0, #1 strb r0, [r4, #0x293] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02153604 _021536dc: .word data_027e0c68 .global func_ov15_021536e0 arm_func_start func_ov15_021536e0 func_ov15_021536e0: ; 0x021536e0 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x3e4] cmp r1, #0 beq _0215371c mov r1, #4 bl func_ov15_02175d14 ldr r0, [r4, #0x3e4] cmp r0, #1 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x60] tst r0, #0x10 movne r0, #1 strneb r0, [r4, #0x449] ldmia sp!, {r4, pc} _0215371c: ldr r0, _0215378c ; =data_027e0fe4 add r1, r4, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldmeqia sp!, {r4, pc} ldrb r1, [r0, #0x43a] cmp r1, #0 beq _0215375c ldr r0, [r0, #0x42c] cmp r0, #5 blt _0215375c mov r0, r4 mov r1, #6 bl func_ov15_02175d14 ldmia sp!, {r4, pc} _0215375c: mov r0, #0x3c000 ldr r1, [r4, #0x3dc] rsb r0, r0, #0 cmp r1, r0 mov r0, r4 bge _02153780 mov r1, #5 bl func_ov15_02175d14 ldmia sp!, {r4, pc} _02153780: mov r1, #0 bl func_ov15_02175d14 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021536e0 _0215378c: .word data_027e0fe4 .global func_ov15_02153790 arm_func_start func_ov15_02153790 func_ov15_02153790: ; 0x02153790 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xbc ldr r1, _02153920 ; =data_027e0f64 mov r4, r0 ldr r0, [r1] add r1, r4, #0x450 ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r1, _02153920 ; =data_027e0f64 add r0, sp, #0xc ldr r2, [r1] mov r1, #5 ldr r2, [r2, #4] ldr r5, [r2, #0x270] ldr r3, [r2, #0x274] ldr r2, [r2, #0x26c] str r2, [r4, #0x4b8] str r5, [r4, #0x4bc] str r3, [r4, #0x4c0] str r1, [r4, #0x454] bl func_ov00_0209a4f4 mov r3, #1 mov r2, #0 ldr r0, _02153924 ; =gAdventureFlags mvn r5, #0 ldr r0, [r0] add r1, sp, #0xc str r5, [sp, #0x10] strb r3, [sp, #0x15] strb r2, [sp, #0x16] strb r2, [sp, #0x17] strb r3, [sp, #0x22] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x348] add r0, r4, #0x300 mov r1, #0x6000 strh r1, [r0, #0x2a] ldr r0, [r4, #0x20] ldr r1, [r4, #0x430] ldr r5, [r0, #0xc0] cmp r1, #2 bne _0215386c bl func_ov15_02149b10 add r0, r4, #0x300 ldr r1, [r4, #0x20] ldrsh r2, [r0, #0x2a] add r1, r1, #0x100 mov r0, r5 strh r2, [r1, #0xb0] ldr r2, [r4, #0x20] mov r3, #0 mov r1, #4 strb r3, [r2, #0x1c6] bl func_ov15_0216e168 b _02153898 _0215386c: bl func_ov15_02149b94 mov r0, r5 mov r1, #5 bl func_ov15_0216e168 mov r2, #2 ldr r1, _02153928 ; =data_027e0f94 mov r0, r4 str r2, [r4, #0x4d0] mov r2, #0x400 str r2, [r1, #4] bl func_ov15_02153f94 _02153898: ldr r0, _0215392c ; =data_027e0fe4 add r1, r4, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r5, r0 beq _021538d8 mov r1, #4 bl func_ov15_02148684 ldr r0, [r5, #0x41c] cmp r0, #4 bne _021538d8 ldr r0, _02153924 ; =gAdventureFlags mov r1, #0xe ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb _021538d8: ldr r1, _02153930 ; =0x00003fff ldr r0, _02153924 ; =gAdventureFlags str r1, [r4, #0x3c8] ldr r0, [r0] ldr r1, _02153934 ; =0x00000111 mov r2, #1 bl _ZN14AdventureFlags3SetEjb add r0, r4, #0x400 mov r2, #0 strh r2, [r0, #0x4c] ldr r1, [r4, #0x20] add r0, sp, #0xc strb r2, [r1, #0x1c9] mov r1, #3 strb r1, [r4, #0x436] bl func_ov00_0209a508 add sp, sp, #0xbc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02153790 _02153920: .word data_027e0f64 _02153924: .word gAdventureFlags _02153928: .word data_027e0f94 _0215392c: .word data_027e0fe4 _02153930: .word 0x00003fff _02153934: .word 0x00000111 .global func_ov15_02153938 arm_func_start func_ov15_02153938 func_ov15_02153938: ; 0x02153938 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02153a40 ; =data_027e0fe4 mov r2, r0 ldr r0, [r1] add r1, r2, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r5, [r4, #0x420] blx func_0202ab48 cmp r0, #1 beq _02153974 blx func_0202ab48 cmp r0, #2 bne _021539d4 _02153974: ldr r0, _02153a44 ; =data_027e05f4 ldr r0, [r0] cmp r0, #1 bne _021539d4 ldr r1, _02153a48 ; =0x000028a4 mov r0, r5, lsl #0xc bl Divide add r0, r0, #0x800 mov lr, r0, asr #0xc cmp lr, #1 movlt lr, #1 ldr r1, _02153a4c ; =0x2aaaaaab mov r3, lr, lsr #0x1f smull r0, ip, r1, lr smull r0, r5, r1, lr add ip, r3, ip, asr #1 mov r2, #0xc smull r0, r1, r2, ip ldr r1, _02153a50 ; =data_ov15_0218f6c8 sub ip, lr, r0 str ip, [r1, #4] add r5, r3, r5, asr #1 str r5, [r1] b _02153a18 _021539d4: ldr r0, [r4, #0x41c] cmp r0, #0 ldreq r0, _02153a50 ; =data_ov15_0218f6c8 streq r5, [r0] beq _02153a18 ldr r1, _02153a54 ; =0x51eb851f mov r3, r5, lsr #0x1f smull r0, lr, r1, r5 smull r0, ip, r1, r5 add lr, r3, lr, asr #5 mov r2, #0x64 smull r0, r1, r2, lr ldr r1, _02153a50 ; =data_ov15_0218f6c8 sub lr, r5, r0 str lr, [r1, #4] add ip, r3, ip, asr #5 str ip, [r1] _02153a18: ldr r0, _02153a58 ; =data_027e0c68 ldr r1, _02153a5c ; =data_ov15_0218f6c8 ldr r2, [r0, #0x30] mov r0, #2 str r1, [r2, #0x38] strh r0, [r2, #0x3c] ldr r0, [r4, #0x41c] add r0, r0, #0x46 bl func_ov03_020fc10c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02153938 _02153a40: .word data_027e0fe4 _02153a44: .word data_027e05f4 _02153a48: .word 0x000028a4 _02153a4c: .word 0x2aaaaaab _02153a50: .word data_ov15_0218f6c8 _02153a54: .word 0x51eb851f _02153a58: .word data_027e0c68 _02153a5c: .word data_ov15_0218f6c8 .global func_ov15_02153a60 arm_func_start func_ov15_02153a60 func_ov15_02153a60: ; 0x02153a60 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc0 ldr r1, _02153f58 ; =data_027e0fe4 mov r5, r0 ldr r0, [r1] add r1, r5, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 addeq sp, sp, #0xc0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r5 bl func_ov15_0214325c ldrb r0, [r5, #0x436] cmp r0, #0xb addls pc, pc, r0, lsl #2 b _02153d74 _02153aa0: ; jump table b _02153ad0 ; case 0 b _02153ad0 ; case 1 b _02153ae4 ; case 2 b _02153b04 ; case 3 b _02153b28 ; case 4 b _02153b54 ; case 5 b _02153ba8 ; case 6 b _02153ce0 ; case 7 b _02153d74 ; case 8 b _02153d74 ; case 9 b _02153d0c ; case 10 b _02153d74 ; case 11 _02153ad0: ldr r1, [r4, #0x41c] ldr r0, _02153f5c ; =data_027e1060 bl func_ov15_0217706c mov r0, #2 strb r0, [r5, #0x436] _02153ae4: ldr r1, [r5, #0x280] mvn r0, #0x3f sub r1, r1, #0x10 str r1, [r5, #0x280] cmp r1, r0 add sp, sp, #0xc0 strle r0, [r5, #0x280] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02153b04: ldr r0, _02153f5c ; =data_027e1060 bl func_ov15_0217705c cmp r0, #0 beq _02153d74 mov r0, #0xa str r0, [r5, #0x3e4] mov r0, #4 strb r0, [r5, #0x436] b _02153d74 _02153b28: ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02153d74 mov r0, r5 bl func_ov15_02153938 ldr r0, [r4, #0x41c] add r0, r0, #0x46 blx _ZN11ItemManager18func_ov00_020ae648Ejjj mov r0, #5 strb r0, [r5, #0x436] b _02153d74 _02153b54: ldr r0, _02153f60 ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 bne _02153d74 ldr r0, [r0, #0x44] cmp r0, #0 beq _02153d74 ldrb r0, [r4, #0x43d] cmp r0, #0 moveq r0, #0xa streqb r0, [r5, #0x436] beq _02153d74 mov r0, #0x28 str r0, [r5, #0x3e4] mov r0, #2 str r0, [r5, #0x3f0] mov r0, #6 strb r0, [r5, #0x436] mov r0, #1 str r0, [r5, #0x4d0] b _02153d74 _02153ba8: ldr r0, [r5, #0x3f0] cmp r0, #0 beq _02153ca4 ldr r0, _02153f64 ; =data_027e0f64 add r1, r5, #0x450 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #5 str r1, [r5, #0x454] ldr r0, _02153f68 ; =0x000006f6 ldr r1, _02153f6c ; =0xffffdf2b str r0, [r5, #0x468] ldrsh r0, [r4, #0x78] ldr r2, _02153f70 ; =0x000004cd add r0, r0, #0x7f add r0, r0, #0x2700 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r5, #0x464] str r1, [r5, #0x460] str r2, [r5, #0x45c] ldr r0, _02153f64 ; =data_027e0f64 ldr r1, _02153f74 ; =0xfffff8e1 ldr r0, [r0] sub r2, r2, #0x1e0 ldr r0, [r0, #4] ldr r7, [r0, #0x270] ldr r6, [r0, #0x274] ldr r3, [r0, #0x26c] add r0, r1, #0xc90 str r3, [r5, #0x4b8] str r7, [r5, #0x4bc] str r6, [r5, #0x4c0] str r0, [sp, #0xbc] add r3, sp, #0x30 add r0, r4, #0x200 str r2, [sp, #0xb4] str r1, [sp, #0xb8] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x30] ldr r6, [sp, #0x34] ldr r3, [sp, #0x38] add r0, sp, #0xb4 str r2, [sp, #0xa8] add r1, sp, #0xa8 mov r2, r0 str r6, [sp, #0xac] str r3, [sp, #0xb0] bl func_01ff9bc4 mvn r0, #0 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, _02153f64 ; =data_027e0f64 mov r1, #0x1e ldr r0, [r0] add r2, sp, #0xb4 ldr r0, [r0, #4] add r3, r5, #0x450 bl func_ov00_020888e8 _02153ca4: ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02153d74 mov r0, #7 mov r1, #0x32 bl func_ov15_021429d0 mov r1, r0 ldr r0, _02153f60 ; =data_027e0c68 mov r2, #0 bl func_020370d0 mov r0, #7 strb r0, [r5, #0x436] mov r0, #0x1e str r0, [r5, #0x3e4] b _02153d74 _02153ce0: ldr r0, [r5, #0x3e4] cmp r0, #0 ldreq r0, _02153f60 ; =data_027e0c68 ldreq r1, [r0, #0x40] cmpeq r1, #0 bne _02153d74 ldr r0, [r0, #0x44] cmp r0, #0 movne r0, #0xa strneb r0, [r5, #0x436] b _02153d74 _02153d0c: ldr r0, _02153f78 ; =data_027e0e60 mov r7, #0 ldr r0, [r0] sub r6, r7, #2 mov r8, #0x47 mov r3, #0xff add r2, sp, #0x90 mov r1, #0xf str r8, [sp, #0x90] str r7, [sp, #0x94] str r7, [sp, #0x98] str r6, [sp, #0x9c] strh r7, [sp, #0xa0] strb r3, [sp, #0xa2] strb r7, [sp, #0xa3] strb r7, [sp, #0xa4] strb r7, [sp, #0xa5] bl func_ov00_020838e8 ldr r0, _02153f7c ; =data_027e0d38 add r1, sp, #0x90 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 movne r0, #0xb strneb r0, [r5, #0x436] _02153d74: add r0, sp, #0x6c bl func_01ff80d4 ldr r0, _02153f80 ; =data_027e0fac ldr r3, _02153f84 ; =data_02050f54 ldrh r1, [r0] add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r6, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r6] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, sp, #0x6c add r1, sp, #0xc mov r2, r0 bl func_01ff8690 add ip, r5, #0x300 ldr r0, [r5, #0x20] ldrsh r1, [ip, #0x2a] add r0, r0, #0x100 add r3, r5, #0x2a0 strh r1, [r0, #0xb0] add r6, sp, #0x60 ldmia r3, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r8, [r4, #0x420] mov r11, #0x3000 ldr lr, _02153f88 ; =data_ov15_021863a8 ldr r0, [r4, #0x41c] umull r10, r9, r8, r11 ldr r2, [lr, r0, lsl #2] mov r0, #0 mla r9, r8, r0, r9 mov r7, r8, asr #0x1f mla r9, r7, r11, r9 adds r7, r10, #0x800 adc r0, r9, #0 mov r7, r7, lsr #0xc orr r7, r7, r0, lsl #20 ldr r6, [sp, #0x64] add r0, r7, r2 add r0, r6, r0 ldr r1, [sp, #0x60] str r0, [sp, #0x64] str r1, [r4, #0x48] ldr r0, [sp, #0x64] str r0, [r4, #0x4c] ldr r0, [sp, #0x68] str r0, [r4, #0x50] ldrsh r0, [ip, #0x2a] sub r0, r0, #0x1800 strh r0, [r4, #0x78] ldmia r3, {r0, r1, r2} add r3, sp, #0x54 stmia r3, {r0, r1, r2} ldr r0, [r4, #0x41c] ldr r2, [sp, #0x58] ldr r0, [lr, r0, lsl #2] mov r1, r3 add r0, r7, r0 add r3, r2, r0 str r3, [sp, #0x58] ldr r2, [r4, #0x41c] ldr r0, _02153f8c ; =data_ov15_021863bc ldr r0, [r0, r2, lsl #2] add r0, r3, r0 str r0, [sp, #0x58] ldr r0, [r5, #0x20] bl func_ov15_021498b8 mvn r0, #0x51 str r0, [sp, #0x48] mov r0, #0x214 str r0, [sp, #0x4c] sub r0, r0, #0x35c str r0, [sp, #0x50] add r0, sp, #0x48 add r1, sp, #0x6c mov r2, r0 bl func_01ff88b0 ldr r1, _02153f90 ; =data_027e0f94 add r0, sp, #0x48 add r2, r5, #0x358 bl func_01ff9bc4 ldr r1, _02153f80 ; =data_027e0fac add r0, r5, #0x4c ldrsh r1, [r1] add r3, r5, #0x300 add r0, r0, #0x400 add r1, r1, #0x298 add r1, r1, #0x3800 strh r1, [r3, #0x84] ldr r6, [r5, #0x20] ldr r1, [r5, #0x358] mov r2, #0x80 str r1, [r6, #0x170] ldr r1, [r5, #0x35c] str r1, [r6, #0x174] ldr r1, [r5, #0x360] str r1, [r6, #0x178] ldr r1, [r5, #0x20] ldrh r3, [r3, #0x84] add r1, r1, #0x100 strh r3, [r1, #0x7c] ldr r1, [r4, #0x410] rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_0202b3bc ldr r0, [r5, #0x20] mov r4, #1 ldr r0, [r0, #0xc0] add r1, r5, #0x400 ldr r3, [r0, #4] mov r2, #0 str r4, [r3, #0x11c] ldrsh r1, [r1, #0x4c] bl func_ov15_0216ea14 add sp, sp, #0xc0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02153a60 _02153f58: .word data_027e0fe4 _02153f5c: .word data_027e1060 _02153f60: .word data_027e0c68 _02153f64: .word data_027e0f64 _02153f68: .word 0x000006f6 _02153f6c: .word 0xffffdf2b _02153f70: .word 0x000004cd _02153f74: .word 0xfffff8e1 _02153f78: .word data_027e0e60 _02153f7c: .word data_027e0d38 _02153f80: .word data_027e0fac _02153f84: .word data_02050f54 _02153f88: .word data_ov15_021863a8 _02153f8c: .word data_ov15_021863bc _02153f90: .word data_027e0f94 .global func_ov15_02153f94 arm_func_start func_ov15_02153f94 func_ov15_02153f94: ; 0x02153f94 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x60 ldr r1, _02154178 ; =data_027e0fe4 mov r5, r0 ldr r0, [r1] add r1, r5, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef mov r4, r0 add r1, sp, #0x3c mov r0, r5 bl func_ov15_02175ba8 ldr r1, _0215417c ; =data_027e0f94 ldr r0, _02154180 ; =data_027e0e60 ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #0x10] str r3, [sp, #0xc] ldr r3, [r1, #8] ldr r0, [r0] add r1, sp, #0xc mov r2, #0 str r3, [sp, #0x14] bl func_ov00_02083ee0 ldr r1, _0215417c ; =data_027e0f94 ldr r2, [r1, #4] cmp r2, r0 strlt r0, [r1, #4] ldr r6, _02154184 ; =0x000003d7 add r0, sp, #0x30 sub r3, r6, #0x29 mov ip, #0 add r1, sp, #0x3c mov r2, r0 str ip, [sp, #0x30] str r6, [sp, #0x34] str r3, [sp, #0x38] bl func_01ff88b0 ldr r1, _0215417c ; =data_027e0f94 add r0, sp, #0x30 add r2, r5, #0x358 bl func_01ff9bc4 ldr r0, _02154188 ; =data_027e0fac add r1, r5, #0x300 ldrsh r2, [r0] add r0, r5, #0x4c add r0, r0, #0x400 add r2, r2, #0x8000 strh r2, [r1, #0x84] ldr r6, [r5, #0x20] ldr r3, [r5, #0x358] mov r2, #0x80 str r3, [r6, #0x170] ldr r3, [r5, #0x35c] str r3, [r6, #0x174] ldr r3, [r5, #0x360] str r3, [r6, #0x178] ldr r3, [r5, #0x20] ldrh r6, [r1, #0x84] add r1, r3, #0x100 strh r6, [r1, #0x7c] ldr r1, [r4, #0x410] rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_0202b3bc ldr r0, [r5, #0x20] mov r3, #1 ldr r6, [r0, #0xc0] add r1, r5, #0x400 ldr r2, [r6, #4] mov r0, r6 str r3, [r2, #0x11c] ldrsh r1, [r1, #0x4c] mov r2, #0 bl func_ov15_0216ea14 ldr r1, [r6, #4] ldr ip, _0215418c ; =data_ov15_021863bc ldr r0, [r1, #0xec] mov r3, #0 str r0, [sp, #0x24] ldr r6, [r1, #0xf0] mov r0, #0x1000 str r6, [sp, #0x28] ldr r2, [r1, #0xf4] add r1, sp, #0x18 str r2, [sp, #0x2c] ldr lr, [r4, #0x41c] ldr r2, _02154190 ; =0x0000019a ldr ip, [ip, lr, lsl #2] str r0, [sp, #0x1c] add r0, r6, ip str r0, [sp, #0x28] str r3, [sp, #0x18] str r3, [sp, #0x20] ldr lr, [r4, #0x4c] ldr ip, [r4, #0x50] ldr r0, [r4, #0x48] add r3, sp, #0x24 str r0, [r5, #0x39c] str lr, [r5, #0x3a0] str ip, [r5, #0x3a4] ldr r0, [r5, #0x20] bl func_ov15_02149bb0 ldr r1, [r4, #0x41c] ldr r0, _02154194 ; =data_ov15_021863a8 ldr r2, [sp, #0x28] ldr r0, [r0, r1, lsl #2] ldr r1, [sp, #0x24] add r0, r2, r0 str r0, [sp, #0x28] str r1, [r4, #0x48] ldr r1, [sp, #0x28] add r0, r5, #0x300 str r1, [r4, #0x4c] ldr r1, [sp, #0x2c] str r1, [r4, #0x50] ldrh r0, [r0, #0x84] sub r0, r0, #0x4000 strh r0, [r4, #0x78] add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02153f94 _02154178: .word data_027e0fe4 _0215417c: .word data_027e0f94 _02154180: .word data_027e0e60 _02154184: .word 0x000003d7 _02154188: .word data_027e0fac _0215418c: .word data_ov15_021863bc _02154190: .word 0x0000019a _02154194: .word data_ov15_021863a8 .global func_ov15_02154198 arm_func_start func_ov15_02154198 func_ov15_02154198: ; 0x02154198 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 ldr r1, _02154314 ; =data_027e0fe4 mov r4, r0 ldr r0, [r1] add r1, r4, #0x388 bl _ZN12ActorManager8GetActorEP8ActorRef movs r5, r0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x436] cmp r0, #0xa addls pc, pc, r0, lsl #2 b _02154304 _021541d0: ; jump table b _021541fc ; case 0 b _021541fc ; case 1 b _02154210 ; case 2 b _02154230 ; case 3 b _02154254 ; case 4 b _02154280 ; case 5 b _02154304 ; case 6 b _02154304 ; case 7 b _02154304 ; case 8 b _02154304 ; case 9 b _02154304 ; case 10 _021541fc: ldr r1, [r5, #0x41c] ldr r0, _02154318 ; =data_027e1060 bl func_ov15_0217706c mov r0, #2 strb r0, [r4, #0x436] _02154210: ldr r1, [r4, #0x280] mvn r0, #0x3f sub r1, r1, #0x10 str r1, [r4, #0x280] cmp r1, r0 add sp, sp, #0x18 strle r0, [r4, #0x280] ldmia sp!, {r3, r4, r5, pc} _02154230: ldr r0, _02154318 ; =data_027e1060 bl func_ov15_0217705c cmp r0, #0 beq _02154304 mov r0, #0xa str r0, [r4, #0x3e4] mov r0, #4 strb r0, [r4, #0x436] b _02154304 _02154254: ldr r0, [r4, #0x3e4] cmp r0, #0 bne _02154304 mov r0, r4 bl func_ov15_02153938 ldr r0, [r5, #0x41c] add r0, r0, #0x46 blx _ZN11ItemManager18func_ov00_020ae648Ejjj mov r0, #5 strb r0, [r4, #0x436] b _02154304 _02154280: ldr r0, _0215431c ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 bne _02154304 ldr r0, [r0, #0x44] cmp r0, #0 beq _02154304 ldr r0, _02154320 ; =data_027e0e60 mov lr, #0 ldr r0, [r0] sub ip, lr, #2 mov r5, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #0xf str r5, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _02154324 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 movne r0, #0xa strneb r0, [r4, #0x436] _02154304: mov r0, r4 bl func_ov15_02153f94 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02154198 _02154314: .word data_027e0fe4 _02154318: .word data_027e1060 _0215431c: .word data_027e0c68 _02154320: .word data_027e0e60 _02154324: .word data_027e0d38 .global func_ov15_02154328 arm_func_start func_ov15_02154328 func_ov15_02154328: ; 0x02154328 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x64 mov r5, r0 ldrb r0, [r5, #0x436] cmp r0, #0 beq _02154354 cmp r0, #1 beq _02154404 cmp r0, #2 beq _02154490 b _0215460c _02154354: ldr r0, _0215461c ; =data_027e0fe4 add r1, r5, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 beq _02154374 mov r1, #3 bl func_ov15_02148684 _02154374: mov r0, #0x3c str r0, [r5, #0x3e4] mov r0, #0x1000 ldr r1, [r5, #0x3cc] rsb r0, r0, #0 bl func_01ffa0f4 add r1, r0, #0x4000 add r0, r5, #0x400 strh r1, [r0, #0x38] ldr r0, [r5, #0x3b4] ldr r1, [r5, #0x3bc] bl func_01ffa0f4 add r1, r5, #0x400 strh r0, [r1, #0x3a] mov r2, #0 strh r2, [r1, #0x3c] mov r0, r5 mov r1, #7 strb r2, [r5, #0x44b] bl func_ov15_02175d14 ldr r0, _02154620 ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _02154620 ; =data_ov00_020eec68 mov r1, #0xde bl func_ov00_020d73bc mov r0, #1 strb r0, [r5, #0x436] mov r0, #0 str r0, [r5, #0x3cc] ldr r2, [r4, #0x4c] ldr r1, [r4, #0x50] ldr r0, [r4, #0x48] str r0, [r5, #0x39c] str r2, [r5, #0x3a0] str r1, [r5, #0x3a4] _02154404: ldr r1, [r5, #0x280] mvn r0, #0x3f sub r1, r1, #0x10 str r1, [r5, #0x280] cmp r1, r0 strle r0, [r5, #0x280] ldr r0, [r5, #0x3e4] cmp r0, #0 bne _02154490 ldr r0, _02154624 ; =data_027e0e60 mov ip, #0 ldr r0, [r0] sub r4, ip, #2 mov lr, #0x47 mov r3, #0xff add r2, sp, #0x4c mov r1, #0xf str lr, [sp, #0x4c] str ip, [sp, #0x50] str ip, [sp, #0x54] str r4, [sp, #0x58] strh ip, [sp, #0x5c] strb r3, [sp, #0x5e] strb ip, [sp, #0x5f] strb ip, [sp, #0x60] strb ip, [sp, #0x61] bl func_ov00_020838e8 ldr r0, _02154628 ; =data_027e0d38 add r1, sp, #0x4c ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 movne r0, #2 strneb r0, [r5, #0x436] _02154490: mov r2, #0 mov r0, #0x1000 str r0, [sp, #0x44] add r1, sp, #0x40 str r2, [sp, #0x40] str r2, [sp, #0x48] mov r2, #0x100 add r0, r5, #0x3b4 mov r3, #0x10 str r2, [sp] bl func_0202b4e4 add r0, r5, #0x400 ldrsh r0, [r0, #0x38] mov r1, #0 mov r2, r0, asr #0x4 cmp r2, #0x400 movgt r2, #0x400 add r0, r5, #0x38 cmp r2, #0x10 movlt r2, #0x10 add r0, r0, #0x400 bl func_0202b154 add r1, r5, #0x400 ldrsh r0, [r1, #0x3c] mov r4, #0 mov r3, #0x1000 add r0, r0, #0x1800 strh r0, [r1, #0x3c] ldrsh ip, [r1, #0x3a] ldr r2, _0215462c ; =data_02050f54 add r0, sp, #0x34 add ip, ip, #0x100 strh ip, [r1, #0x3a] str r4, [sp, #0x34] str r4, [sp, #0x3c] str r3, [sp, #0x38] ldrh r3, [r1, #0x3c] ldrsh r4, [r1, #0x38] mov r1, r3, asr #0x4 mov r1, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] smull r2, r1, r4, r1 adds r2, r2, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a6250 add r0, r5, #0x400 ldrsh r1, [r0, #0x3a] add r0, sp, #0x34 bl func_ov00_020a61ac add r0, sp, #0x34 mov r1, r0 bl func_01ff9d4c mov r2, #0x100 add r0, r5, #0x3d8 mov r1, #0 mov r3, #0x10 str r2, [sp] bl func_0202b418 add r0, sp, #0x10 mov r1, r5 bl func_ov15_0214850c add r0, sp, #0x10 add r4, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r2, [sp, #0x28] ldr r3, _02154624 ; =data_027e0e60 ldr r1, [sp, #0x2c] str r2, [sp, #4] ldr r2, [sp, #0x30] str r1, [sp, #8] str r2, [sp, #0xc] ldr r0, [r3] add r1, sp, #4 mov r2, #0 bl func_ov00_02083ee0 str r0, [sp, #0x2c] mvn r0, #0x80000000 str r0, [sp] add r0, r5, #0x39c mov r1, r4 mov r2, #0x60 mov r3, #0 bl func_0202b4e4 ldr r0, [r5, #0x20] ldr r2, [r5, #0x3d8] add r1, sp, #0x34 add r3, r5, #0x39c bl func_ov15_02149bb0 _0215460c: mov r0, r5 bl func_ov15_021548c4 add sp, sp, #0x64 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02154328 _0215461c: .word data_027e0fe4 _02154620: .word data_ov00_020eec68 _02154624: .word data_027e0e60 _02154628: .word data_027e0d38 _0215462c: .word data_02050f54 .global func_ov15_02154630 arm_func_start func_ov15_02154630 func_ov15_02154630: ; 0x02154630 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r0 ldrb r0, [r4, #0x436] cmp r0, #0 beq _02154654 cmp r0, #1 beq _021546d0 b _021546e8 _02154654: ldr r0, _021546f8 ; =data_027e0e60 mov lr, #0 ldr r0, [r0] sub ip, lr, #2 mov r5, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #0xf str r5, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _021546fc ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 beq _021546e8 ldr r0, _02154700 ; =data_ov00_020eec9c mov r1, #0x11 bl func_ov00_020d77e4 mov r0, #1 strb r0, [r4, #0x436] b _021546e8 _021546d0: ldr r1, [r4, #0x280] mvn r0, #0x3f sub r1, r1, #0x10 str r1, [r4, #0x280] cmp r1, r0 strle r0, [r4, #0x280] _021546e8: mov r0, r4 bl func_ov15_021548c4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02154630 _021546f8: .word data_027e0e60 _021546fc: .word data_027e0d38 _02154700: .word data_ov00_020eec9c .global func_ov15_02154704 arm_func_start func_ov15_02154704 func_ov15_02154704: ; 0x02154704 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r0, [r4, #0x2c] cmp r0, #6 ldreq r0, [r4, #0x430] cmpeq r0, #0 beq _021547c8 mov r0, r4 bl func_ov15_0217674c mov r0, #0 ldr r1, _021548b4 ; =data_027e0d78 strb r0, [r4, #0x292] ldrb r2, [r1, #0xc] cmp r2, #0 ldrneb r2, [r4, #0x26c] cmpne r2, #0 beq _021547ac ldrb r2, [r4, #0x290] cmp r2, #0 ldreqb r2, [r4, #0x293] cmpeq r2, #0 bne _021547ac ldrb r2, [r4, #0x291] cmp r2, #0 bne _021547b8 mov r2, #1 strb r2, [r4, #0x291] strb r2, [r4, #0x292] mov r2, #3 str r2, [r4, #0x3e8] ldr r2, [r1, #0x10] str r2, [r4, #0x3f4] ldr r1, [r1, #0x14] mvn r2, #0 str r1, [r4, #0x3f8] _02154794: add r1, r4, r0 add r0, r0, #1 strb r2, [r1, #0x43e] cmp r0, #4 blt _02154794 b _021547b8 _021547ac: mov r0, #0 strb r0, [r4, #0x291] strb r0, [r4, #0x443] _021547b8: ldr r0, _021548b8 ; =data_027e0fa0 mov r1, #0 str r1, [r0] str r1, [r0, #8] _021547c8: mov r0, r4 bl func_ov15_021368b4 ldr r2, _021548b8 ; =data_027e0fa0 mvn r3, #0x80000000 ldr ip, [r2, #4] mov r1, #0 sub r0, ip, r0 str r0, [r2, #4] str r3, [sp] add r0, r4, #0x78 mov r2, #0x100 mov r3, #0x10 bl func_0202b418 ldr r0, [r4, #0x3e4] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x3e4] ldr r0, [r4, #0x3f0] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x3f0] ldr r0, [r4, #0x430] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02154888 _0215482c: ; jump table b _02154844 ; case 0 b _02154850 ; case 1 b _0215485c ; case 2 b _02154868 ; case 3 b _02154874 ; case 4 b _02154880 ; case 5 _02154844: mov r0, r4 bl func_ov15_02152560 b _02154888 _02154850: mov r0, r4 bl func_ov15_02152a48 b _02154888 _0215485c: mov r0, r4 bl func_ov15_02153a60 b _02154888 _02154868: mov r0, r4 bl func_ov15_02154198 b _02154888 _02154874: mov r0, r4 bl func_ov15_02154328 b _02154888 _02154880: mov r0, r4 bl func_ov15_02154630 _02154888: mov r0, r4 bl func_ov15_0215548c ldr r0, [r4, #0x430] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} ldr r0, _021548bc ; =data_ov00_020eec9c ldr r1, _021548c0 ; =0x0000041d bl func_ov00_020d7d18 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02154704 _021548b4: .word data_027e0d78 _021548b8: .word data_027e0fa0 _021548bc: .word data_ov00_020eec9c _021548c0: .word 0x0000041d .global func_ov15_021548c4 arm_func_start func_ov15_021548c4 func_ov15_021548c4: ; 0x021548c4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x54 mov r6, r0 mov r0, #0x1000 ldr r1, [r6, #0x3cc] rsb r0, r0, #0 bl func_01ffa0f4 mov r1, #0x4000 rsb r1, r1, #0 sub r0, r1, r0 mov r2, r0, lsl #0x10 ldr r0, [r6, #0x3b4] ldr r1, [r6, #0x3bc] mov r4, r2, asr #0x10 ldr r5, [r6, #0x3cc] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 smull r0, r1, r2, r5 adds r2, r0, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 mov r1, r2, lsl #0x10 mov r0, #0x800 sub r2, r0, #0x2800 mov r5, r1, asr #0x10 cmp r2, r1, asr #16 movgt r5, r2 cmp r5, #0x2000 movgt r5, #0x2000 ldr r1, _02154a68 ; =data_027e0fac add r0, r6, #0x300 ldrsh r2, [r1] add r1, r6, #0x39c ldr r3, _02154a6c ; =data_027e0f94 add r2, r2, r5 strh r2, [r0, #0x84] add ip, sp, #0x48 ldmia r1, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r1, [r3] ldr r0, [r3, #4] str r1, [sp] str r0, [sp, #4] ldr r3, [r3, #8] add r1, sp, #0 mov r0, ip mov r2, ip str r3, [sp, #8] bl func_01ff9bf8 ldr r0, [sp, #0x48] ldr r1, [sp, #0x50] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x4000 sub r2, r0, r5 ldr r1, [r6, #0x20] rsb r0, r4, #0 add r0, r0, r0, lsr #31 ldr r5, [r1, #0xc0] mov r0, r0, lsl #0xf mov r1, r0, asr #0x10 mov r0, r2, lsl #0x10 mov r2, r0, asr #0x10 mov r0, r5 bl func_ov15_0216ea14 ldr r1, [r5, #4] mov r0, r6 add r1, r1, #0x100 strh r4, [r1, #8] add r1, sp, #0x3c bl func_ov15_02175b58 mov r0, r6 add r1, sp, #0x18 bl func_ov15_02175ba8 mov r0, #0 str r0, [sp, #0xc] mov r0, #0x400 str r0, [sp, #0x10] add r0, r0, #0xcd str r0, [sp, #0x14] add r0, sp, #0xc add r1, sp, #0x18 mov r2, r0 bl func_01ff88b0 add r0, sp, #0x3c add r1, sp, #0xc add r2, r6, #0x358 bl func_01ff9bc4 ldr r2, [r6, #0x20] ldr r1, [r6, #0x358] add r0, r6, #0x300 str r1, [r2, #0x170] ldr r1, [r6, #0x35c] str r1, [r2, #0x174] ldr r1, [r6, #0x360] str r1, [r2, #0x178] ldrh r1, [r0, #0x84] ldr r0, [r6, #0x20] add r0, r0, #0x100 strh r1, [r0, #0x7c] add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021548c4 _02154a68: .word data_027e0fac _02154a6c: .word data_027e0f94 .global func_ov15_02154a70 arm_func_start func_ov15_02154a70 func_ov15_02154a70: ; 0x02154a70 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 add r1, r0, #0x400 ldrsb r5, [r1, #0x3e] ldrsb r4, [r1, #0x3f] ldrsb r3, [r1, #0x40] ldrsb r1, [r1, #0x41] mvn r2, #0 str r4, [sp, #4] str r3, [sp, #8] mov ip, r2 str r5, [sp] str r1, [sp, #0xc] mov r4, #0 add r3, sp, #0 _02154aac: ldr r1, [r3, r4, lsl #2] cmp r1, #0 moveq r2, r4 beq _02154ad0 cmp r1, #1 moveq ip, r4 add r4, r4, #1 cmp r4, #4 blt _02154aac _02154ad0: cmp r2, #0 bge _02154aec cmp ip, #0 addlt sp, sp, #0x10 movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} mov r2, ip _02154aec: mov r3, #2 mov ip, r3 mov lr, #1 add r1, sp, #0 _02154afc: cmp r3, #0 beq _02154b24 add r5, r2, lr sub r4, r5, #1 and r5, r5, #3 and r4, r4, #3 ldr r5, [r1, r5, lsl #2] ldr r4, [r1, r4, lsl #2] cmp r5, r4 suble r3, r3, #1 _02154b24: cmp ip, #0 beq _02154b4c sub r5, r2, lr add r4, r5, #1 and r5, r5, #3 and r4, r4, #3 ldr r5, [r1, r5, lsl #2] ldr r4, [r1, r4, lsl #2] cmp r5, r4 suble ip, ip, #1 _02154b4c: add lr, lr, #1 cmp lr, #4 blt _02154afc cmp r3, #2 cmpne ip, #2 bne _02154b78 mov r1, #1 strb r1, [r0, #0x442] add sp, sp, #0x10 mov r0, r1 ldmia sp!, {r3, r4, r5, pc} _02154b78: cmp r3, #1 cmpne ip, #1 bne _02154b98 ldrb r0, [r0, #0x442] cmp r0, #1 addeq sp, sp, #0x10 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _02154b98: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02154a70 .global func_ov15_02154ba4 arm_func_start func_ov15_02154ba4 func_ov15_02154ba4: ; 0x02154ba4 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x34 mov r4, r0 ldr r0, [r4, #0x3e8] add r1, r4, #0x388 cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x3e8] ldr r0, _02155204 ; =data_027e0fe4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef ldr r5, [r4, #0x3cc] mov r2, #0 mov r1, #0x1000 str r2, [sp, #0x28] str r2, [sp, #0x30] str r1, [sp, #0x2c] ldr r1, [r4, #0x39c] mov r6, r0 str r1, [sp, #0x1c] ldr r0, [r4, #0x3a0] str r0, [sp, #0x20] ldr r0, [r4, #0x3a4] str r0, [sp, #0x24] ldrb r0, [r4, #0x448] cmp r0, #0 beq _02154c40 ldr r0, _02155208 ; =data_027e0fa0 add r2, sp, #0x1c ldr r3, [r0] ldr r1, [r0, #4] str r3, [sp, #0x10] str r1, [sp, #0x14] ldr r7, [r0, #8] add r1, sp, #0x10 mov r3, r2 mov r0, #0x1e000 str r7, [sp, #0x18] bl func_01ff9e64 _02154c40: ldr r1, _0215520c ; =data_027e0f94 add r0, sp, #0x1c ldr r2, [r1, #4] ldr r3, [r1] str r2, [sp, #8] str r3, [sp, #4] ldr r3, [r1, #8] add r1, sp, #4 mov r2, r0 str r3, [sp, #0xc] bl func_01ff9bf8 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x4000 mov r1, r0, lsl #0x1 add r0, r4, #0x400 strh r1, [r0, #4] ldrb r0, [r4, #0x291] cmp r0, #1 ldreqb r0, [r4, #0x443] cmpeq r0, #0 bne _02154f3c ldr r1, _02155210 ; =data_027e0d78 mov r0, #0x30 ldr r2, [r1, #0x10] ldr r1, [r1, #0x14] sub r2, r2, #0x80 mul r0, r2, r0 str r0, [sp, #0x28] cmp r0, #0x1000 movgt r0, #0x1000 sub r1, r1, #0x20 strgt r0, [sp, #0x28] str r1, [sp, #0x30] mov r0, #0x1000 ldr r1, [sp, #0x28] rsb r0, r0, #0 cmp r1, r0 ldr r1, [sp, #0x30] strlt r0, [sp, #0x28] cmp r1, #0 ble _02154d1c mov r0, #0x60 mul r0, r1, r0 str r0, [sp, #0x30] cmp r0, #0x2000 movgt r0, #0x2000 strgt r0, [sp, #0x30] b _02154d24 _02154d1c: mov r0, #0 str r0, [sp, #0x30] _02154d24: add r0, sp, #0x28 mov r1, r0 bl func_01ff9d4c mov r0, #0x800 str r0, [sp] add r1, sp, #0x28 add r0, r4, #0x3b4 mov r2, #0x400 mov r3, #0x10 bl func_0202b4e4 ldr r1, [r4, #0x3bc] ldr r0, [r4, #0x3b4] mov r2, #0 str r0, [sp, #0x28] str r2, [sp, #0x2c] str r1, [sp, #0x30] bl func_01ffa0f4 add r1, r4, #0x400 mov r0, r0, lsl #0x10 ldrsh r9, [r1, #4] mov r8, r0, asr #0x10 rsb r0, r9, r0, asr #16 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 movmi r0, r0, lsl #0x10 movmi r0, r0, asr #0x10 cmp r0, #0x2000 movgt r0, #0x2000 mov r0, r0, lsl #0x11 mov r0, r0, asr #0x14 mov r0, r0, lsl #0x1 add r1, r0, #1 cmp r9, #0 cmplt r8, #0 ldr r0, _02155214 ; =data_02050f54 mov r1, r1, lsl #0x1 ldrsh r7, [r0, r1] cmplt r8, r9 blt _02154dd4 cmp r9, #0 cmpgt r8, #0 cmpgt r8, r9 ble _02154e24 _02154dd4: cmp r9, #0 movge r0, r9 rsblt r0, r9, #0 movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 mov r1, r0, asr #0x4 ldr r0, _02155214 ; =data_02050f54 mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] cmp r7, r0 bge _02154e24 cmp r9, #0 movge r0, r9 rsblt r0, r9, #0 movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 mov r1, r0, asr #0x4 ldr r0, _02155214 ; =data_02050f54 mov r1, r1, lsl #0x2 ldrsh r7, [r0, r1] _02154e24: add r0, sp, #0x28 bl func_01ff9cec smull r2, r1, r0, r7 adds r2, r2, #0x800 str r0, [r4, #0x3cc] adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r4, #0x3d0] add r0, r4, #0x400 strh r8, [r0, #2] strh r9, [r0, #4] ldr r1, [r4, #0x3cc] mov r0, #0 cmp r1, #0x100 ble _02154e70 ldrb r1, [r4, #0x449] cmp r1, #0 strneb r0, [r4, #0x449] _02154e70: ldr r0, [r4, #0x3cc] cmp r0, #0x800 ble _02154f2c ldr r0, [r4, #0x3c0] cmp r0, #0 bne _02154eb4 mov r2, #1 ldr r0, _02155218 ; =data_ov00_020eec9c ldr r1, _0215521c ; =0x00000102 str r2, [r4, #0x3c0] bl func_ov00_020d77e4 ldr r0, [r4, #0x3b4] ldr r1, [r4, #0x3bc] bl func_01ffa0f4 add r1, r4, #0x400 strh r0, [r1] b _02154f9c _02154eb4: add r0, r4, #0x400 ldrsh r0, [r0] ldr r1, [r4, #0x3bc] cmp r0, #0 ldr r0, [r4, #0x3b4] bge _02154efc bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #0x1000 ble _02154f9c ldr r0, _02155218 ; =data_ov00_020eec9c ldr r1, _0215521c ; =0x00000102 add r2, r4, #0x400 mov r3, #0x1000 strh r3, [r2] bl func_ov00_020d77e4 b _02154f9c _02154efc: bl func_01ffa0f4 mov r3, #0x1000 mov r0, r0, lsl #0x10 rsb r3, r3, #0 cmp r3, r0, asr #16 ble _02154f9c ldr r0, _02155218 ; =data_ov00_020eec9c add r2, r4, #0x400 ldr r1, _0215521c ; =0x00000102 strh r3, [r2] bl func_ov00_020d77e4 b _02154f9c _02154f2c: cmp r0, #0x400 movlt r0, #0 strlt r0, [r4, #0x3c0] b _02154f9c _02154f3c: mov r0, #0 str r0, [r4, #0x3c0] mov r2, #0x100 add r1, sp, #0x28 str r2, [sp] add r0, r4, #0x3b4 mov r3, #0x10 bl func_0202b4e4 ldr r3, [r4, #0x3bc] ldr r2, [r4, #0x3b4] mov r1, #0 add r0, sp, #0x28 str r2, [sp, #0x28] str r1, [sp, #0x2c] str r3, [sp, #0x30] bl func_01ff9cec mov r2, #0x80 str r0, [r4, #0x3cc] mvn r0, #0x80000000 str r0, [sp] mov r3, r2 add r0, r4, #0x3d0 mov r1, #0 bl func_0202b418 _02154f9c: ldr r1, [r4, #0x3cc] mov r7, #0 sub r0, r1, r5 cmp r0, #0x100 strgt r1, [r4, #0x3d4] ldr r1, _02155210 ; =data_027e0d78 ldr r0, [r4, #0x3f4] ldr r1, [r1, #0x10] ldr r3, _02155210 ; =data_027e0d78 cmp r1, r0 addgt r2, r7, #1 movgt r2, r2, lsl #0x18 movgt r7, r2, asr #0x18 ldr r2, [r4, #0x3f8] ldr r3, [r3, #0x14] cmp r3, r2 ble _02154ff8 add r5, r7, #2 mov r5, r5, lsl #0x18 mov r5, r5, asr #0x18 eor r5, r5, #1 mov r5, r5, lsl #0x18 mov r7, r5, asr #0x18 _02154ff8: ldrb r5, [r4, #0x291] cmp r5, #1 ldreqb r5, [r4, #0x292] cmpeq r5, #0 addne sp, sp, #0x34 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, #4 blt _021551ac subs r0, r3, r2 rsbmi r0, r0, #0 cmp r0, #4 blt _021551ac ldr r0, _02155210 ; =data_027e0d78 str r1, [r4, #0x3f4] ldr r1, [r0, #0x14] add r0, r4, #0x400 str r1, [r4, #0x3f8] ldrb r1, [r4, #0x434] add r1, r1, #5 strb r1, [r4, #0x434] ldrsb r0, [r0, #0x41] cmp r7, r0 beq _021551c0 mov r0, #3 str r0, [r4, #0x3e8] mov r2, #0 _02155068: add r1, r4, r2 add r0, r1, #0x400 ldrsb r0, [r0, #0x3f] add r2, r2, #1 cmp r2, #3 strb r0, [r1, #0x43e] blt _02155068 mov r0, r4 strb r7, [r4, #0x441] bl func_ov15_02154a70 cmp r0, #0 beq _0215519c mov r2, #1 strb r2, [r4, #0x44b] strb r2, [r4, #0x443] ldrb r0, [r4, #0x448] cmp r0, #0 beq _02155164 mov r0, #0x32000 ldr r1, [r4, #0x3dc] rsb r0, r0, #0 cmp r1, r0 blt _021551c0 ldrb r0, [r6, #0x43a] cmp r0, #0 bne _021551c0 ldr r0, _02155218 ; =data_ov00_020eec9c add r1, r2, #0x100 ldr r5, [r4, #0x3c8] bl func_ov00_020d77e4 ldr r0, [r4, #0x3c8] ldr r3, _02155220 ; =0x00000333 cmp r0, #0x12000 ldrlt r3, _02155224 ; =0x0000019a cmp r6, #0 beq _02155124 ldr r1, [r6, #0x41c] ldr r0, _02155228 ; =data_ov15_021863d0 ldr r2, [r4, #0x3c8] ldr r0, [r0, r1, lsl #2] smull r1, r0, r3, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 sub r0, r2, r1 str r0, [r4, #0x3c8] _02155124: ldr r0, [r4, #0x3c8] cmp r0, #0x4000 ldrlt r0, _0215522c ; =0x00003fff strlt r0, [r4, #0x3c8] ldrb r0, [r4, #0x436] cmp r0, #9 bne _021551c0 ldr r0, [r4, #0x3c8] mov r0, r0, asr #0xc cmp r0, r5, asr #12 beq _021551c0 sub r1, r0, #3 ldr r0, _02155218 ; =data_ov00_020eec9c and r1, r1, #0xff bl func_ov00_020d8458 b _021551c0 _02155164: ldr r0, _02155218 ; =data_ov00_020eec9c add r1, r2, #0x100 bl func_ov00_020d77e4 ldr r0, [r4, #0x3c8] ldr r1, _02155220 ; =0x00000333 cmp r0, #0x12000 ldrlt r1, _02155224 ; =0x0000019a ldr r0, [r4, #0x3c8] sub r0, r0, r1 str r0, [r4, #0x3c8] cmp r0, #0x1f000 movlt r0, #0x1f000 strlt r0, [r4, #0x3c8] b _021551c0 _0215519c: mov r0, #0 strb r0, [r4, #0x442] strb r0, [r4, #0x443] b _021551c0 _021551ac: ldr r0, [r4, #0x3e8] cmp r0, #0 moveq r0, #0 streqb r0, [r4, #0x442] streqb r0, [r4, #0x443] _021551c0: ldr r0, [r4, #0x3e8] cmp r0, #0 addne sp, sp, #0x34 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r0, #5 str r0, [r4, #0x3e8] mov r2, #0 _021551dc: add r1, r4, r2 add r0, r1, #0x400 ldrsb r0, [r0, #0x3f] add r2, r2, #1 cmp r2, #3 strb r0, [r1, #0x43e] blt _021551dc strb r7, [r4, #0x441] add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02154ba4 _02155204: .word data_027e0fe4 _02155208: .word data_027e0fa0 _0215520c: .word data_027e0f94 _02155210: .word data_027e0d78 _02155214: .word data_02050f54 _02155218: .word data_ov00_020eec9c _0215521c: .word 0x00000102 _02155220: .word 0x00000333 _02155224: .word 0x0000019a _02155228: .word data_ov15_021863d0 _0215522c: .word 0x00003fff .global func_ov15_02155230 arm_func_start func_ov15_02155230 func_ov15_02155230: ; 0x02155230 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r0, [r6, #0x280] adds r0, r0, #0x10 str r0, [r6, #0x280] movpl r1, #0 strpl r1, [r6, #0x280] bpl _02155268 mov r0, #0 str r0, [r6, #0x3c4] add sp, sp, #4 str r0, [r6, #0x3dc] ldmia sp!, {r3, r4, r5, r6, pc} _02155268: ldrb r0, [r6, #0x293] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r3, r4, r5, r6, pc} sub r4, r1, #0x80000001 add r0, r6, #0x3d4 mov r2, #0x200 mov r3, #0x80 str r4, [sp] bl func_0202b418 ldr r0, _02155478 ; =data_027e0fe4 add r1, r6, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r4, r0 ldrb r0, [r4, #0x43a] cmp r0, #0 beq _021552c8 ldrb r0, [r6, #0x291] add sp, sp, #4 cmp r0, #0 moveq r0, #0 streqb r0, [r6, #0x445] ldmia sp!, {r3, r4, r5, r6, pc} _021552c8: ldrb r0, [r4, #0x43b] cmp r0, #0 ldrneb r0, [r6, #0x445] cmpne r0, #0 beq _021552f4 mov r0, r6 mov r1, #4 mov r2, #0 bl func_ov15_02152548 mov r0, #0 strb r0, [r6, #0x445] _021552f4: ldrb r0, [r6, #0x291] ldr r2, [r6, #0x3d0] ldr r1, [r4, #0x404] cmp r0, #0 ldrneb r0, [r6, #0x443] sub r5, r2, r1 cmpne r0, #1 ldreq r0, [r6, #0x3d4] addeq r5, r5, r0 cmp r5, #0 ble _021553c4 mov r0, #0x32000 ldr r1, [r6, #0x3dc] rsb r0, r0, #0 cmp r1, r0 strlt r0, [r6, #0x3dc] ldr r3, [r4, #0x41c] ldr r1, _0215547c ; =data_ov15_021863f8 ldr r2, [r6, #0x3dc] ldr r0, [r1, r3, lsl #2] cmp r2, r0 bge _02155390 add r0, r2, r5 str r0, [r6, #0x3dc] ldr r2, [r4, #0x41c] ldr r0, _02155480 ; =data_ov15_0218640c ldr r1, [r1, r2, lsl #2] ldr r2, [r0, r2, lsl #2] add r0, r6, #0x3dc smull r3, r2, r5, r2 adds r3, r3, #0x800 adc r2, r2, #0 mov ip, r3, lsr #0xc orr ip, ip, r2, lsl #20 mov r2, #0x100 mov r3, #0x10 str ip, [sp] bl func_0202b418 b _021553b4 _02155390: ldr r0, _02155484 ; =data_ov15_02186420 ldr r0, [r0, r3, lsl #2] smull r1, r0, r5, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r6, #0x3dc] _021553b4: mov r0, r4 mov r1, r5 bl func_ov15_02147604 b _0215541c _021553c4: ldr r0, [r6, #0x3dc] mov r2, #0 cmp r0, #0x32000 movgt r0, #0x32000 strgt r0, [r6, #0x3dc] ldr r1, [r4, #0x41c] ldr r0, _02155488 ; =data_ov15_02186434 ldr r3, [r6, #0x3dc] ldr r0, [r0, r1, lsl #2] smull r1, r0, r5, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r1, r3, r1 sub r0, r2, #0x64000 str r1, [r6, #0x3dc] cmp r1, r0 bge _0215541c mov r0, r6 mov r1, #4 bl func_ov15_02152548 _0215541c: ldr r1, [r6, #0x3dc] mov r2, #0 mov r0, r1, asr #0xb add r0, r1, r0, lsr #20 mov r0, r0, asr #0xc str r0, [r6, #0x3c4] strb r2, [r6, #0x44a] ldr r1, [r6, #0x3c4] sub r0, r2, #0x32 cmp r1, r0 bge _02155464 str r0, [r6, #0x3c4] ldrb r0, [r4, #0x43a] add sp, sp, #4 cmp r0, #0 moveq r0, #1 streqb r0, [r6, #0x44a] ldmia sp!, {r3, r4, r5, r6, pc} _02155464: cmp r1, #0x32 movgt r0, #0x32 strgt r0, [r6, #0x3c4] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02155230 _02155478: .word data_027e0fe4 _0215547c: .word data_ov15_021863f8 _02155480: .word data_ov15_0218640c _02155484: .word data_ov15_02186420 _02155488: .word data_ov15_02186434 .global func_ov15_0215548c arm_func_start func_ov15_0215548c func_ov15_0215548c: ; 0x0215548c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x284] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x284] ldr r0, [r4, #0x430] cmp r0, #1 ldmneia sp!, {r4, pc} ldrb r0, [r4, #0x291] cmp r0, #1 ldrb r0, [r4, #0x446] bne _021554f0 cmp r0, #0 bne _021554e4 ldr r0, [r4, #0x3fc] cmp r0, #0x14 addlt r0, r0, #1 strlt r0, [r4, #0x3fc] movge r0, #1 strgeb r0, [r4, #0x446] b _02155534 _021554e4: mov r0, #0x14 str r0, [r4, #0x3fc] b _02155534 _021554f0: cmp r0, #0 beq _0215552c ldr r0, [r4, #0x3fc] cmp r0, #0 beq _02155520 cmp r0, #0xa movgt r0, #0xa strgt r0, [r4, #0x3fc] ldr r0, [r4, #0x3fc] sub r0, r0, #1 str r0, [r4, #0x3fc] b _02155534 _02155520: mov r0, #0 strb r0, [r4, #0x446] b _02155534 _0215552c: mov r0, #0 str r0, [r4, #0x3fc] _02155534: mov r1, #0 str r1, [r4, #0x28c] ldrb r0, [r4, #0x26c] cmp r0, #0 beq _02155568 ldrb r0, [r4, #0x446] cmp r0, #0 ldreqb r0, [r4, #0x293] cmpeq r0, #0 bne _02155568 ldrb r0, [r4, #0x436] cmp r0, #7 bhs _0215558c _02155568: ldr r1, [r4, #0x288] mvn r0, #0x3f sub r1, r1, #0x10 str r1, [r4, #0x288] cmp r1, r0 strlt r0, [r4, #0x288] mov r0, #0 strb r0, [r4, #0x290] ldmia sp!, {r4, pc} _0215558c: ldr r0, [r4, #0x288] cmp r0, #0 addlt r0, r0, #0x10 strlt r0, [r4, #0x288] ldmltia sp!, {r4, pc} str r1, [r4, #0x288] ldrb r0, [r4, #0x290] cmp r0, #1 bne _02155614 ldr r0, [r4, #0x284] cmp r0, #0 bne _02155608 ldr r0, _02155658 ; =data_027e0d78 ldrb r0, [r0, #0xc] cmp r0, #0 mov r0, r4 bne _021555f4 strb r1, [r4, #0x290] bl func_ov15_0215565c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #5 mov r2, #0 bl func_ov15_02152548 ldmia sp!, {r4, pc} _021555f4: bl func_ov15_0215565c cmp r0, #0 movne r0, #4 strne r0, [r4, #0x28c] ldmia sp!, {r4, pc} _02155608: mov r0, #4 str r0, [r4, #0x28c] ldmia sp!, {r4, pc} _02155614: ldr r0, _02155658 ; =data_027e0d78 ldrb r0, [r0, #0xc] cmp r0, #0 ldrneb r0, [r4, #0x292] cmpne r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_0215565c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, #4 str r0, [r4, #0x28c] mov r0, #1 strb r0, [r4, #0x290] mov r0, #3 str r0, [r4, #0x284] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215548c _02155658: .word data_027e0d78 .global func_ov15_0215565c arm_func_start func_ov15_0215565c func_ov15_0215565c: ; 0x0215565c ldr r1, _02155678 ; =data_027e0d78 ldr ip, _0215567c ; =func_02034b90 mov r0, #0x66 ldr r2, [r1, #0x24] ldr r3, [r1, #0x28] mov r1, #0 bx ip .align 2, 0 arm_func_end func_ov15_0215565c _02155678: .word data_027e0d78 _0215567c: .word func_02034b90 .global func_ov15_02155680 arm_func_start func_ov15_02155680 func_ov15_02155680: ; 0x02155680 stmdb sp!, {r3, lr} ldr r1, _021556ac ; =data_027e0fe0 mov r0, #0x2f8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_021556dc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02155680 _021556ac: .word data_027e0fe0 .global func_ov15_021556b0 arm_func_start func_ov15_021556b0 func_ov15_021556b0: ; 0x021556b0 stmdb sp!, {r4, lr} ldr r3, _021556d4 ; =data_ov15_021864c4 mov r2, #0xbf mov r4, r0 bl func_ov00_020c607c ldr r1, _021556d8 ; =data_ov15_0218c1cc mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021556b0 _021556d4: .word data_ov15_021864c4 _021556d8: .word data_ov15_0218c1cc .global func_ov15_021556dc arm_func_start func_ov15_021556dc func_ov15_021556dc: ; 0x021556dc stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _02155758 ; =data_ov15_0218c110 add r0, r4, #0x158 mov r1, #0x1000000 str r2, [r4] bl func_ov00_020d18f4 mov r1, r4 add r0, r4, #0x1b4 bl func_ov15_021556b0 mov r1, #0 str r1, [r4, #0x2b0] str r1, [r4, #0x2b4] str r1, [r4, #0x2b8] sub r0, r1, #1 str r0, [r4, #0x2d4] str r1, [r4, #0x2e0] str r1, [r4, #0x2e4] add r0, r4, #0x200 strh r1, [r0, #0xe8] strh r1, [r0, #0xea] strb r1, [r4, #0x2f0] strb r1, [r4, #0x2f1] strb r1, [r4, #0x2f2] strb r1, [r4, #0x2f3] strb r1, [r4, #0x2f4] strb r1, [r4, #0x2f5] mov r0, r4 strb r1, [r4, #0x2f6] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021556dc _02155758: .word data_ov15_0218c110 .global func_ov15_0215575c arm_func_start func_ov15_0215575c func_ov15_0215575c: ; 0x0215575c stmdb sp!, {r4, lr} ldr r1, _021557c0 ; =data_ov15_0218c110 mov r4, r0 str r1, [r4] ldr r1, [r4, #0x2b8] cmp r1, #0 beq _02155798 ldr r0, _021557c4 ; =data_027e0fe4 add r1, r1, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldrne r0, [r4, #0x2b8] movne r1, #0 strneb r1, [r0, #0x118] _02155798: add r0, r4, #0x230 blx func_ov00_020a9b6c add r0, r4, #0x1d4 blx func_ov00_020a95a4 add r0, r4, #0x158 bl func_ov00_020d1980 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215575c _021557c0: .word data_ov15_0218c110 _021557c4: .word data_027e0fe4 .global func_ov15_021557c8 arm_func_start func_ov15_021557c8 func_ov15_021557c8: ; 0x021557c8 stmdb sp!, {r4, lr} ldr r1, _02155834 ; =data_ov15_0218c110 mov r4, r0 str r1, [r4] ldr r1, [r4, #0x2b8] cmp r1, #0 beq _02155804 ldr r0, _02155838 ; =data_027e0fe4 add r1, r1, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldrne r0, [r4, #0x2b8] movne r1, #0 strneb r1, [r0, #0x118] _02155804: add r0, r4, #0x230 blx func_ov00_020a9b6c add r0, r4, #0x1d4 blx func_ov00_020a95a4 add r0, r4, #0x158 bl func_ov00_020d1980 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021557c8 _02155834: .word data_ov15_0218c110 _02155838: .word data_027e0fe4 .global func_ov15_0215583c arm_func_start func_ov15_0215583c func_ov15_0215583c: ; 0x0215583c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r5, r0 add r0, r5, #0x1b4 mov r1, #0 bl func_ov00_020c5d74 ldr r2, _02155b58 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull lr, ip, r4, r3 mla ip, r4, r0, ip ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla ip, r0, r3, ip ldr r4, [r2, #0x14] adds lr, r6, lr adc r6, r4, ip mov r0, #0x3c000 umull r3, r4, r6, r0 mla r4, r6, r1, r4 mla r4, r1, r0, r4 str lr, [r2] str r6, [r2, #4] ldr r0, _02155b5c ; =0x7ffff000 ldr r1, [r5, #0x1c4] and r0, r4, r0 str r0, [r1, #0x14] ldrsh r2, [r5, #0x78] add r0, r5, #0x200 ldr r1, _02155b60 ; =data_027e0d0c strh r2, [r0, #0xee] ldr r2, [r1] mov r0, #0x800 str r2, [r5, #0x7c] ldr r2, [r1, #4] mov r3, #0x1800 str r2, [r5, #0x80] ldr r4, [r1, #8] mov r2, #1 str r4, [r5, #0x84] str r0, [r5, #0x88] ldr r4, [r5, #0x7c] ldr r0, _02155b64 ; =data_027e0d38 str r4, [r5, #0x8c] ldr r4, [r5, #0x80] str r4, [r5, #0x90] ldr r4, [r5, #0x84] str r4, [r5, #0x94] ldr r4, [r5, #0x88] str r4, [r5, #0x98] ldr r4, [r1] str r4, [r5, #0xa8] ldr r4, [r1, #4] str r4, [r5, #0xac] ldr r1, [r1, #8] str r1, [r5, #0xb0] str r3, [r5, #0xb4] strh r2, [r5, #0x9c] ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #1 mvneq r0, #0 streq r0, [r5, #0x88] mov r0, #2 str r0, [r5, #0x12c] mov r0, #4 strb r0, [r5, #0x124] mov r3, #0 strb r3, [r5, #0x125] ldr r1, [r5, #0x4c] add r0, r5, #0x200 str r1, [r5, #0x2d8] ldrh r1, [r5, #0x24] strh r1, [r0, #0xec] str r3, [r5, #0x138] ldrh r0, [r5, #0x20] cmp r0, #0 ldrh r0, [r5, #0x22] bne _02155abc cmp r0, #0 beq _0215599c ldr r0, _02155b68 ; =data_027e0fe4 add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r5, #0x2b0] _0215599c: ldr r0, _02155b6c ; =data_027e0ff0 ldrh r1, [r5, #0x22] ldr r0, [r0] ldrb ip, [r5, #0x2c] ldr lr, [r0] and r3, r1, #0xff add r0, lr, ip, lsl #3 ldr r1, [r0, #4] mov r0, #0x24 mla r2, r3, r0, r1 ldr r1, [r2, #4] add r0, r3, #1 str r1, [r5, #0x48] ldr r1, [r2, #8] and r4, r0, #0xff str r1, [r5, #0x4c] ldr r0, [r2, #0xc] str r0, [r5, #0x50] ldr r1, [lr, ip, lsl #3] ldrb r0, [r1, #1] cmp r4, r0 bhs _02155a8c add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 ldr r0, [r5, #8] mvn r3, #0 str r0, [sp, #0x28] ldr r0, [r5, #0xc] add r2, sp, #4 str r0, [sp, #0x2c] ldrsb ip, [r5, #0x2c] ldr r0, _02155b70 ; =data_027e0fe8 ldr r1, _02155b74 ; =0x42554949 strb ip, [sp, #0x18] strh r4, [sp, #0xe] str r3, [sp, #4] str r3, [sp, #8] str r2, [sp] ldr r0, [r0] add r3, sp, #0xc add r2, r5, #0x48 bl func_ov00_020c4048 ldr r0, _02155b68 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r1, r0 addeq sp, sp, #0x38 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 str r1, [r5, #0x2b4] bl func_ov15_021562c4 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _02155a8c: ldrb r0, [r1, #2] cmp r0, #0 bne _02155b4c mov r0, r5 bl func_ov15_0215641c str r0, [r5, #0x2b4] str r5, [r0, #0x2b0] ldr r1, [r5, #0x2b4] mov r0, r5 bl func_ov15_021562c4 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _02155abc: cmp r0, #0 bne _02155b34 mov r0, #1 strb r0, [r5, #0x2f0] strb r3, [r5, #0x2f2] ldr r1, [r5, #8] ldr r0, _02155b78 ; =data_027e0c68 str r1, [r5, #0x178] ldr r1, [r5, #0xc] ldr r2, _02155b7c ; =0x00050035 str r1, [r5, #0x17c] add r1, r5, #0x158 strb r3, [r5, #0x1ac] bl func_02036ce4 cmp r0, #0 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r0, _02155b80 ; =gAdventureFlags ldr r1, _02155b84 ; =0x00000101 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02155b34 ldr r0, _02155b78 ; =data_027e0c68 mov r1, #0x19 bl func_ov15_02185a70 _02155b34: ldr r1, [r5, #0x4c] mov r0, r5 sub r1, r1, #0x66 sub r1, r1, #0x600 str r1, [r5, #0x4c] bl func_ov15_02156a44 _02155b4c: mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215583c _02155b58: .word data_027e0764 _02155b5c: .word 0x7ffff000 _02155b60: .word data_027e0d0c _02155b64: .word data_027e0d38 _02155b68: .word data_027e0fe4 _02155b6c: .word data_027e0ff0 _02155b70: .word data_027e0fe8 _02155b74: .word 0x42554949 _02155b78: .word data_027e0c68 _02155b7c: .word 0x00050035 _02155b80: .word gAdventureFlags _02155b84: .word 0x00000101 .global func_ov15_02155b88 arm_func_start func_ov15_02155b88 func_ov15_02155b88: ; 0x02155b88 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x130 mov r6, r0 mov r5, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0215615c ldr r1, [r6, #0x48] add r0, r6, #0x200 str r1, [r6, #0x54] ldr r1, [r6, #0x4c] str r1, [r6, #0x58] ldr r1, [r6, #0x50] str r1, [r6, #0x5c] ldrh r1, [r0, #0xea] cmp r1, #1 subhi r1, r1, #1 strhih r1, [r0, #0xea] add r0, r6, #0x200 ldrh r0, [r0, #0xe8] ldr r4, [r6, #0x4c] cmp r0, #0 ldreqb r0, [r6, #0x2f4] cmpeq r0, #0 beq _02155d4c add r0, r6, #0x200 ldrh r1, [r0, #0xe8] sub r1, r1, #1 strh r1, [r0, #0xe8] ldr r0, [r6, #0x1c8] cmp r0, #1 bne _02155c28 ldr r0, [r6, #0x1c4] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02155c28 add r0, r6, #0x1b4 mov r1, #0 bl func_ov00_020c5d74 _02155c28: mov r0, r6 bl func_ov15_02156440 cmp r0, #0 beq _02155cd8 mov r0, #0x2000 ldr r1, [r6, #0x4c] rsb r0, r0, #0 cmp r1, r0 strle r0, [r6, #0x4c] movle r0, #0 strleb r0, [r6, #0x2f1] ble _02155c64 sub r0, r1, #0x66 sub r0, r0, #0x200 str r0, [r6, #0x4c] _02155c64: ldrb r0, [r6, #0x2f3] cmp r0, #0 bne _02155c98 ldr r0, _02156174 ; =0xfffff99a cmp r4, r0 blt _02155c98 ldr r1, [r6, #0x4c] cmp r1, r0 bge _02155c98 mov r1, #1 mov r0, r6 strb r1, [r6, #0x2f3] bl func_ov15_02156970 _02155c98: ldrb r0, [r6, #0x2f0] cmp r0, #0 beq _02156010 mov r0, #0x2000 ldr r1, [r6, #0x4c] rsb r0, r0, #0 cmp r1, r0 bne _02156010 ldr r0, [r6, #0x2b4] bl func_ov15_021568d0 cmp r0, #0 beq _02156010 mov r0, #0 add sp, sp, #0x130 strb r0, [r6, #0x118] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02155cd8: ldr r0, [r6, #0x4c] ldr r1, _02156174 ; =0xfffff99a cmp r0, r1 ble _02155d08 sub r0, r0, #0xcd str r0, [r6, #0x4c] cmp r0, r1 bge _02155d24 str r1, [r6, #0x4c] mov r0, #0 strb r0, [r6, #0x2f1] b _02155d24 _02155d08: bge _02155d24 add r0, r0, #0xcd str r0, [r6, #0x4c] cmp r0, r1 strgt r1, [r6, #0x4c] movgt r0, #0 strgtb r0, [r6, #0x2f1] _02155d24: mov r0, #0x1800 rsb r0, r0, #0 cmp r4, r0 bgt _02156010 ldr r1, [r6, #0x4c] cmp r1, r0 ble _02156010 mov r0, r6 bl func_ov15_02156a44 b _02156010 _02155d4c: mov r0, r6 bl func_ov15_02156664 cmp r0, #0 beq _02155fc4 ldr r0, [r6, #0x4c] cmp r0, #0 addlt r0, r0, #0xcd strlt r0, [r6, #0x4c] movge r0, #0 strge r0, [r6, #0x4c] strgeb r0, [r6, #0x2f1] ldrb r0, [r6, #0x2f0] cmp r0, #0 beq _02155fec ldrb r0, [r6, #0x2f5] cmp r0, #0 bne _02155da4 mov r0, r6 bl func_ov15_02156738 cmp r0, #0 movne r0, #1 strneb r0, [r6, #0x2f5] _02155da4: ldrb r0, [r6, #0x2f5] cmp r0, #0 beq _02155fec ldr r0, _02156178 ; =gAdventureFlags ldr r1, _0215617c ; =0x00000101 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _02155dd8 mov r0, r6 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02155fec _02155dd8: mov r0, r6 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, _02156178 ; =gAdventureFlags ldr r1, _0215617c ; =0x00000101 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _02155fa0 ldr r0, _02156178 ; =gAdventureFlags ldr r1, _0215617c ; =0x00000101 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb add r0, sp, #0x80 bl func_ov00_0209a4f4 mvn r7, #0 mov r3, #0x32 mov r2, #6 mov r1, #2 strb r2, [sp, #0x8a] ldr r0, _02156180 ; =data_027e0f64 str r7, [sp, #0x84] strb r3, [sp, #0x89] strb r1, [sp, #0x8b] ldr r1, [r6, #0x2bc] ldr r0, [r0] str r1, [sp, #0xa0] ldr r1, [r6, #0x2c0] mov r2, #1 str r1, [sp, #0xa4] ldr r3, [r6, #0x2c4] add r1, sp, #0x18 str r3, [sp, #0xa8] strb r2, [sp, #0x94] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r3, #5 mov r2, #0x64 mov r1, #0x4000 mov r0, r6 str r3, [sp, #0x1c] str r2, [sp, #0x28] str r1, [sp, #0x30] bl _ZN5Actor14GetAngleToLinkEv ldrb lr, [sp, #0x78] ldrb ip, [sp, #0x79] ldrb r3, [sp, #0x7a] strb lr, [sp, #0x10c] strb ip, [sp, #0x10d] ldr lr, [sp, #0x1c] ldr ip, [sp, #0x20] str lr, [sp, #0xb0] ldr lr, [sp, #0x24] str ip, [sp, #0xb4] ldr ip, [sp, #0x28] str lr, [sp, #0xb8] ldr lr, [sp, #0x30] str ip, [sp, #0xbc] ldr ip, [sp, #0x34] str lr, [sp, #0xc4] ldr lr, [sp, #0x38] str ip, [sp, #0xc8] ldr ip, [sp, #0x3c] str lr, [sp, #0xcc] ldr lr, [sp, #0x40] str ip, [sp, #0xd0] ldr ip, [sp, #0x44] str lr, [sp, #0xd4] ldr lr, [sp, #0x48] str ip, [sp, #0xd8] ldr ip, [sp, #0x4c] str lr, [sp, #0xdc] ldr lr, [sp, #0x50] str ip, [sp, #0xe0] ldr ip, [sp, #0x54] str lr, [sp, #0xe4] ldr lr, [sp, #0x58] str ip, [sp, #0xe8] ldr ip, [sp, #0x5c] str lr, [sp, #0xec] ldr lr, [sp, #0x60] str ip, [sp, #0xf0] ldr ip, [sp, #0x64] str lr, [sp, #0xf4] ldr lr, [sp, #0x68] str ip, [sp, #0xf8] ldr ip, [sp, #0x6c] ldrb r2, [sp, #0x7b] ldrb r1, [sp, #0x7c] ldr r7, [sp, #0x18] str lr, [sp, #0xfc] ldr lr, [sp, #0x70] str ip, [sp, #0x100] ldr ip, [sp, #0x74] str r7, [sp, #0xac] str lr, [sp, #0x104] str r0, [sp, #0x2c] str r0, [sp, #0xc0] str ip, [sp, #0x108] strb r3, [sp, #0x10e] strb r2, [sp, #0x10f] strb r1, [sp, #0x110] ldr r0, _02156178 ; =gAdventureFlags mov r2, #0x5c ldr r0, [r0] add r1, sp, #0x80 str r2, [sp, #0x114] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r6, #0x2d4] mov r1, #0 str r1, [r6, #0x130] add r0, sp, #0x80 str r1, [r6, #0x138] bl func_ov00_0209a508 _02155fa0: ldr r0, [r6, #0x138] cmp r0, #0x1e blt _02155fec add r0, r6, #0x200 ldrh r0, [r0, #0xea] cmp r0, #0 ldreq r0, _02156184 ; =0x00000171 streq r0, [r6, #0x2e4] b _02155fec _02155fc4: ldr r1, [r6, #0x4c] ldr r0, _02156174 ; =0xfffff99a cmp r1, r0 bge _02155fec add r1, r1, #0xcd str r1, [r6, #0x4c] cmp r1, r0 strgt r0, [r6, #0x4c] movgt r0, #0 strgtb r0, [r6, #0x2f1] _02155fec: mov r0, #0x1800 rsb r0, r0, #0 cmp r4, r0 bgt _02156010 ldr r1, [r6, #0x4c] cmp r1, r0 ble _02156010 mov r0, r6 bl func_ov15_02156a44 _02156010: ldrb r0, [r6, #0x2f0] cmp r0, #0 beq _02156084 mov r0, r6 bl func_ov15_02156b04 ldrb r0, [r6, #0x2f3] cmp r0, #0 bne _02156084 ldrb r0, [r6, #0x2f2] cmp r0, #0 beq _0215604c mov r0, r6 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x7800 bge _0215605c _0215604c: add r0, r6, #0x200 ldrh r0, [r0, #0xea] cmp r0, #1 bne _02156084 _0215605c: mov r1, #1 strb r1, [r6, #0x2f3] add r2, r6, #0x200 strh r1, [r2, #0xea] mov r3, #0x12c mov r0, r6 strh r3, [r2, #0xe8] bl func_ov15_02156970 ldr r0, [r6, #0x2b4] bl func_ov15_0215692c _02156084: mov r0, r6 bl func_ov15_0215658c ldr r1, _02156188 ; =data_ov15_0218c0e4 ldr r2, _0215618c ; =data_ov15_0218c0f0 add r0, r6, #0x48 bl func_ov15_0215cb24 str r0, [r6, #0x2d8] ldr r2, [r6, #0x4c] mov r1, #0x2000 add r0, r2, r0 rsb r1, r1, #0 cmp r0, r1 blt _02156154 ldr r0, _02156190 ; =data_027e0f94 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02156194 ; =data_027e0e60 ldr ip, [sp, #0xc] ldr r4, [sp, #0x10] ldr r3, [sp, #0x14] ldr r0, [r0] add r1, sp, #0 mov r2, #0 str ip, [sp] str r4, [sp, #4] str r3, [sp, #8] bl func_ov00_02083ee0 ldr r1, [sp, #0x10] sub r4, r1, r0 mov r0, r6 bl func_ov15_0215641c ldrb r1, [r0, #0x2f3] cmp r1, #0 ldreqb r0, [r0, #0x2f6] cmpeq r0, #0 bne _02156144 ldr r0, _02156198 ; =0x00000333 cmp r4, r0 bge _02156144 mov r0, r6 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 beq _02156144 mov r0, r6 bl func_ov15_02156800 _02156144: mov r1, #0 mov r0, r6 mov r2, r1 bl _ZN5Actor18func_ov00_020c243cEiPi _02156154: add r0, r6, #0x1b4 bl func_ov00_020c5e20 _0215615c: mov r1, r5 add r0, r6, #0xa4 add r2, r6, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x130 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02155b88 _02156174: .word 0xfffff99a _02156178: .word gAdventureFlags _0215617c: .word 0x00000101 _02156180: .word data_027e0f64 _02156184: .word 0x00000171 _02156188: .word data_ov15_0218c0e4 _0215618c: .word data_ov15_0218c0f0 _02156190: .word data_027e0f94 _02156194: .word data_027e0e60 _02156198: .word 0x00000333 .global func_ov15_0215619c arm_func_start func_ov15_0215619c func_ov15_0215619c: ; 0x0215619c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021561f0 ldr r0, _02156204 ; =gAdventureFlags ldr r1, [r5, #0x2d4] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021561d4 mov r0, r5 bl func_ov15_021574f4 _021561d4: add r0, r5, #0x1b4 bl func_ov00_020c5e20 ldr r1, _02156208 ; =data_ov15_0218c0e4 ldr r2, _0215620c ; =data_ov15_0218c0f0 add r0, r5, #0x48 bl func_ov15_0215cb24 str r0, [r5, #0x2d8] _021561f0: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215619c _02156204: .word gAdventureFlags _02156208: .word data_ov15_0218c0e4 _0215620c: .word data_ov15_0218c0f0 .global func_ov15_02156210 arm_func_start func_ov15_02156210 func_ov15_02156210: ; 0x02156210 stmdb sp!, {r3, r4, r5, lr} ldr r1, [r1, #0x14] mov r4, r0 cmp r1, #0 ldrne r1, [r1, #4] ldrne r0, _021562bc ; =0x434e424c cmpne r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x2b0] mov r5, #1 cmp r0, #0 beq _02156250 bl func_ov15_021564c4 tst r0, #1 moveq r5, #0 _02156250: ldr r0, [r4, #0x2b4] cmp r0, #0 beq _0215626c bl func_ov15_02156528 tst r5, r0 movne r5, #1 moveq r5, #0 _0215626c: cmp r5, #0 bne _02156280 mov r0, r4 mov r1, #0 bl func_ov15_02156970 _02156280: add r2, r4, #0x200 mov r3, #0x12c add r0, r4, #0x1b4 mov r1, #1 strh r3, [r2, #0xe8] bl func_ov00_020c5d74 mov ip, #1 ldr r0, _021562c0 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x284 mov r3, #0 strb ip, [r4, #0x2f1] bl func_ov00_020ceacc mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02156210 _021562bc: .word 0x434e424c _021562c0: .word data_027e0ffc .global func_ov15_021562c4 arm_func_start func_ov15_021562c4 func_ov15_021562c4: ; 0x021562c4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 mvn r2, #0 mov r5, r0 add r0, sp, #0x24 mov r4, r1 str r2, [sp, #4] str r2, [sp, #8] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] str r1, [sp, #0x44] bl func_ov00_020c3348 ldr r0, [r5, #8] add r3, sp, #0x18 str r0, [sp, #0x40] ldr r1, [r5, #0xc] add r0, r5, #0x48 str r1, [sp, #0x44] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x48 bl func_01ff9bc4 ldr r1, [sp, #0x1c] ldr r2, [sp, #0x18] mov r1, r1, asr #0x1 str r1, [sp, #0x1c] ldr r1, [sp, #0x20] mov r2, r2, asr #0x1 mov r1, r1, asr #0x1 add r0, r4, #0x48 add r3, sp, #0xc str r2, [sp, #0x18] str r1, [sp, #0x20] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, r3 mov r0, r5 bl _ZN5Actor12XzDistanceToEP5Vec3p mov r4, r0 ldr r1, [sp, #0xc] ldr r0, [r5, #0x48] ldr r2, [sp, #0x14] sub r0, r1, r0 ldr r1, [r5, #0x50] sub r1, r2, r1 bl func_01ffa0f4 strh r0, [sp, #0x38] ldr r2, [sp, #0x10] ldr r1, [r5, #0x4c] mov r0, r4 sub r1, r2, r1 bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x4000 str r0, [sp, #0x48] add r1, sp, #4 str r1, [sp] ldr r0, _02156410 ; =data_027e0fe8 ldr r1, _02156414 ; =0x53524f50 ldr r0, [r0] add r2, sp, #0x18 add r3, sp, #0x24 bl func_ov00_020c4048 mvn r1, #0 cmp r0, r1 addeq sp, sp, #0x50 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02156418 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r5, #0x2b8] cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021562c4 _02156410: .word data_027e0fe8 _02156414: .word 0x53524f50 _02156418: .word data_027e0fe4 .global func_ov15_0215641c arm_func_start func_ov15_0215641c func_ov15_0215641c: ; 0x0215641c stmdb sp!, {r3, lr} ldr r2, [r0, #0x2b0] cmp r2, #0 ldrneh r1, [r0, #0x22] cmpne r1, #0 ldmeqia sp!, {r3, pc} mov r0, r2 bl func_ov15_0215641c ldmia sp!, {r3, pc} arm_func_end func_ov15_0215641c .global func_ov15_02156440 arm_func_start func_ov15_02156440 func_ov15_02156440: ; 0x02156440 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r0, [r5, #0x2f4] cmp r0, #0 bne _02156474 add r0, r5, #0x200 ldrh r0, [r0, #0xe8] cmp r0, #0 beq _0215647c ldr r1, [r5, #0x4c] ldr r0, _021564c0 ; =0xfffff99a cmp r1, r0 bgt _0215647c _02156474: mov r4, #1 b _02156480 _0215647c: mov r4, #0 _02156480: ldr r0, [r5, #0x2b0] cmp r0, #0 beq _0215649c bl func_ov15_021564c4 tst r4, r0 movne r4, #1 moveq r4, #0 _0215649c: ldr r0, [r5, #0x2b4] cmp r0, #0 beq _021564b8 bl func_ov15_02156528 tst r4, r0 movne r4, #1 moveq r4, #0 _021564b8: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02156440 _021564c0: .word 0xfffff99a .global func_ov15_021564c4 arm_func_start func_ov15_021564c4 func_ov15_021564c4: ; 0x021564c4 stmdb sp!, {r4, lr} ldrb r1, [r0, #0x2f4] cmp r1, #0 bne _021564f4 add r1, r0, #0x200 ldrh r1, [r1, #0xe8] cmp r1, #0 beq _021564fc ldr r2, [r0, #0x4c] ldr r1, _02156524 ; =0xfffff99a cmp r2, r1 bgt _021564fc _021564f4: mov r4, #1 b _02156500 _021564fc: mov r4, #0 _02156500: ldr r0, [r0, #0x2b0] cmp r0, #0 beq _0215651c bl func_ov15_021564c4 tst r4, r0 movne r4, #1 moveq r4, #0 _0215651c: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021564c4 _02156524: .word 0xfffff99a .global func_ov15_02156528 arm_func_start func_ov15_02156528 func_ov15_02156528: ; 0x02156528 stmdb sp!, {r4, lr} ldrb r1, [r0, #0x2f4] cmp r1, #0 bne _02156558 add r1, r0, #0x200 ldrh r1, [r1, #0xe8] cmp r1, #0 beq _02156560 ldr r2, [r0, #0x4c] ldr r1, _02156588 ; =0xfffff99a cmp r2, r1 bgt _02156560 _02156558: mov r4, #1 b _02156564 _02156560: mov r4, #0 _02156564: ldr r0, [r0, #0x2b4] cmp r0, #0 beq _02156580 bl func_ov15_02156528 tst r4, r0 movne r4, #1 moveq r4, #0 _02156580: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02156528 _02156588: .word 0xfffff99a .global func_ov15_0215658c arm_func_start func_ov15_0215658c func_ov15_0215658c: ; 0x0215658c stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 ldr r0, [r4, #0x2b8] cmp r0, #0 ldrne r0, [r4, #0x2b4] cmpne r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} add r0, r0, #0x48 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #8 mov r0, r3 add r1, r4, #0x48 bl func_01ff9bc4 ldr r0, [sp, #0xc] ldr r2, [sp, #8] mov r0, r0, asr #0x1 ldr r1, [sp, #0x10] mov ip, r2, asr #0x1 mov r3, r1, asr #0x1 add r0, r0, #0x33 add r2, r0, #0x700 add r1, sp, #0x14 mov r0, r4 str ip, [sp, #8] str r3, [sp, #0x10] str r2, [sp, #0xc] bl _ZN5Actor12XzDistanceToEP5Vec3p ldr r2, [sp, #0x18] ldr r1, [r4, #0x4c] sub r1, r2, r1 bl func_01ffa0f4 add r0, r0, #0x4000 strh r0, [sp, #6] ldr r1, [sp, #0x14] ldr r0, [r4, #0x48] ldr r2, [sp, #0x1c] sub r0, r1, r0 ldr r1, [r4, #0x50] sub r1, r2, r1 bl func_01ffa0f4 strh r0, [sp, #4] add r0, sp, #4 str r0, [sp] ldr r0, [r4, #0x2b8] add r1, sp, #8 add r2, r4, #0x48 add r3, sp, #6 bl func_ov15_02157844 add sp, sp, #0x20 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215658c .global func_ov15_02156664 arm_func_start func_ov15_02156664 func_ov15_02156664: ; 0x02156664 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r0, r5, #0x200 ldrh r0, [r0, #0xe8] cmp r0, #0 moveq r4, #1 ldr r0, [r5, #0x2b0] movne r4, #0 cmp r0, #0 beq _0215669c bl func_ov15_021566c0 tst r4, r0 movne r4, #1 moveq r4, #0 _0215669c: ldr r0, [r5, #0x2b4] cmp r0, #0 beq _021566b8 bl func_ov15_021566fc tst r4, r0 movne r4, #1 moveq r4, #0 _021566b8: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02156664 .global func_ov15_021566c0 arm_func_start func_ov15_021566c0 func_ov15_021566c0: ; 0x021566c0 stmdb sp!, {r4, lr} add r1, r0, #0x200 ldrh r1, [r1, #0xe8] ldr r0, [r0, #0x2b0] cmp r1, #0 moveq r4, #1 movne r4, #0 cmp r0, #0 beq _021566f4 bl func_ov15_021566c0 tst r4, r0 movne r4, #1 moveq r4, #0 _021566f4: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021566c0 .global func_ov15_021566fc arm_func_start func_ov15_021566fc func_ov15_021566fc: ; 0x021566fc stmdb sp!, {r4, lr} add r1, r0, #0x200 ldrh r1, [r1, #0xe8] ldr r0, [r0, #0x2b4] cmp r1, #0 moveq r4, #1 movne r4, #0 cmp r0, #0 beq _02156730 bl func_ov15_021566fc tst r4, r0 movne r4, #1 moveq r4, #0 _02156730: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021566fc .global func_ov15_02156738 arm_func_start func_ov15_02156738 func_ov15_02156738: ; 0x02156738 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x4c] cmp r0, #0 moveq r4, #1 ldr r0, [r5, #0x2b0] movne r4, #0 cmp r0, #0 beq _0215676c bl func_ov15_02156790 tst r4, r0 movne r4, #1 moveq r4, #0 _0215676c: ldr r0, [r5, #0x2b4] cmp r0, #0 beq _02156788 bl func_ov15_021567c8 tst r4, r0 movne r4, #1 moveq r4, #0 _02156788: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02156738 .global func_ov15_02156790 arm_func_start func_ov15_02156790 func_ov15_02156790: ; 0x02156790 stmdb sp!, {r4, lr} ldr r1, [r0, #0x4c] ldr r0, [r0, #0x2b0] cmp r1, #0 moveq r4, #1 movne r4, #0 cmp r0, #0 beq _021567c0 bl func_ov15_02156790 tst r4, r0 movne r4, #1 moveq r4, #0 _021567c0: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02156790 .global func_ov15_021567c8 arm_func_start func_ov15_021567c8 func_ov15_021567c8: ; 0x021567c8 stmdb sp!, {r4, lr} ldr r1, [r0, #0x4c] ldr r0, [r0, #0x2b4] cmp r1, #0 moveq r4, #1 movne r4, #0 cmp r0, #0 beq _021567f8 bl func_ov15_021567c8 tst r4, r0 movne r4, #1 moveq r4, #0 _021567f8: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021567c8 .global func_ov15_02156800 arm_func_start func_ov15_02156800 func_ov15_02156800: ; 0x02156800 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x2b0] cmp r0, #0 beq _02156818 bl func_ov15_02156850 _02156818: ldr r0, [r4, #0x2b4] cmp r0, #0 beq _02156828 bl func_ov15_02156890 _02156828: ldrb r0, [r4, #0x2f4] cmp r0, #0 ldmneia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x2f4] strb r1, [r4, #0x2f3] mov r0, r4 strb r1, [r4, #0x2f2] bl func_ov15_02156970 ldmia sp!, {r4, pc} arm_func_end func_ov15_02156800 .global func_ov15_02156850 arm_func_start func_ov15_02156850 func_ov15_02156850: ; 0x02156850 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x2b0] cmp r0, #0 beq _02156868 bl func_ov15_02156850 _02156868: ldrb r0, [r4, #0x2f4] cmp r0, #0 ldmneia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x2f4] strb r1, [r4, #0x2f3] mov r0, r4 strb r1, [r4, #0x2f2] bl func_ov15_02156970 ldmia sp!, {r4, pc} arm_func_end func_ov15_02156850 .global func_ov15_02156890 arm_func_start func_ov15_02156890 func_ov15_02156890: ; 0x02156890 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x2b4] cmp r0, #0 beq _021568a8 bl func_ov15_02156890 _021568a8: ldrb r0, [r4, #0x2f4] cmp r0, #0 ldmneia sp!, {r4, pc} mov r1, #1 strb r1, [r4, #0x2f4] strb r1, [r4, #0x2f3] mov r0, r4 strb r1, [r4, #0x2f2] bl func_ov15_02156970 ldmia sp!, {r4, pc} arm_func_end func_ov15_02156890 .global func_ov15_021568d0 arm_func_start func_ov15_021568d0 func_ov15_021568d0: ; 0x021568d0 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x2000 ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 bne _02156924 ldr r0, [r4, #0x2b4] cmp r0, #0 beq _02156914 bl func_ov15_021568d0 cmp r0, #0 beq _02156924 mov r0, #0 strb r0, [r4, #0x118] mov r0, #1 ldmia sp!, {r4, pc} _02156914: mov r0, #0 strb r0, [r4, #0x118] mov r0, #1 ldmia sp!, {r4, pc} _02156924: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov15_021568d0 .global func_ov15_0215692c arm_func_start func_ov15_0215692c func_ov15_0215692c: ; 0x0215692c stmdb sp!, {r4, lr} mov r4, r0 add r1, r4, #0x200 mov r2, #0x12c strh r2, [r1, #0xe8] mov r1, #1 strb r1, [r4, #0x2f3] bl func_ov15_02156970 ldrb r0, [r4, #0x2f1] cmp r0, #0 moveq r0, #1 streqb r0, [r4, #0x2f1] ldr r0, [r4, #0x2b4] cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov15_0215692c ldmia sp!, {r4, pc} arm_func_end func_ov15_0215692c .global func_ov15_02156970 arm_func_start func_ov15_02156970 func_ov15_02156970: ; 0x02156970 stmdb sp!, {r4, lr} sub sp, sp, #0x20 add r3, sp, #0x14 add r0, r0, #0x48 mov r4, r1 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02156a2c ; =data_027e0e60 ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] ldr r0, [r0] add r1, sp, #8 mov r2, #0 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x18] ldr r1, _02156a30 ; =0x00000333 add r0, sp, #0x14 mov r2, #0 bl func_ov00_020c7484 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02156a34 ; =data_027e0e58 mov r1, #0x80 ldr r0, [r0] add r2, sp, #0x14 mov r3, #2 bl func_ov00_0207c1b0 mov r2, #0 ldr r1, _02156a38 ; =0x00000666 add r0, sp, #0x14 mov r3, r2 bl func_ov00_020c75f4 cmp r4, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} ldr r0, _02156a3c ; =data_027e0ffc ldr r1, _02156a40 ; =0x00000285 add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02156970 _02156a2c: .word data_027e0e60 _02156a30: .word 0x00000333 _02156a34: .word data_027e0e58 _02156a38: .word 0x00000666 _02156a3c: .word data_027e0ffc _02156a40: .word 0x00000285 .global func_ov15_02156a44 arm_func_start func_ov15_02156a44 func_ov15_02156a44: ; 0x02156a44 stmdb sp!, {r3, lr} sub sp, sp, #0x20 add r0, r0, #0x48 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02156af0 ; =data_027e0e60 ldr lr, [sp, #0x14] ldr ip, [sp, #0x18] ldr r3, [sp, #0x1c] ldr r0, [r0] add r1, sp, #8 mov r2, #0 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x18] add r0, sp, #0x14 mov r1, #0xa00 mov r2, #0 bl func_ov00_020c74c8 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02156af4 ; =data_027e0e58 add r2, sp, #0x14 ldr r0, [r0] mov r1, #0x80 mov r3, #2 bl func_ov00_0207c1b0 mov r2, #0 ldr r1, _02156af8 ; =0x000009ec add r0, sp, #0x14 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _02156afc ; =data_027e0ffc ldr r1, _02156b00 ; =0x00000285 add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x20 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02156a44 _02156af0: .word data_027e0e60 _02156af4: .word data_027e0e58 _02156af8: .word 0x000009ec _02156afc: .word data_027e0ffc _02156b00: .word 0x00000285 .global func_ov15_02156b04 arm_func_start func_ov15_02156b04 func_ov15_02156b04: ; 0x02156b04 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x38 mov r6, r0 add r0, r6, #0x200 ldrh r0, [r0, #0xea] cmp r0, #0 movne r0, #0 addne sp, sp, #0x38 strne r0, [r6, #0x2e0] ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r1, [r6, #0x2e4] add r0, r6, #0x2e0 mov r2, #0xcd bl Approach_thunk ldrb r0, [r6, #0x2f2] cmp r0, #0 beq _02156be4 ldr r7, [r6, #0x2bc] ldr r8, _02157078 ; =data_02050f54 str r7, [sp, #0x20] ldr r0, [r6, #0x2c0] add r1, sp, #0x20 str r0, [sp, #0x24] ldr r5, [r6, #0x2c4] add r2, sp, #0x14 str r5, [sp, #0x28] ldrh r3, [r6, #0x78] ldr r4, [r6, #0x2e0] add r0, r6, #0x2bc mov r3, r3, asr #0x4 mov r9, r3, lsl #0x1 add r3, r9, #1 mov r9, r9, lsl #0x1 ldrsh r9, [r8, r9] mov r3, r3, lsl #0x1 ldrsh r8, [r8, r3] smull r3, r10, r9, r4 adds r3, r3, #0x800 smull r9, r4, r8, r4 adc r10, r10, #0 mov r3, r3, lsr #0xc orr r3, r3, r10, lsl #20 add r7, r7, r3 adds r8, r9, #0x800 adc r3, r4, #0 mov r4, r8, lsr #0xc orr r4, r4, r3, lsl #20 add r3, r5, r4 str r7, [sp, #0x20] str r3, [sp, #0x28] ldr r3, [r6, #0x4c] str r3, [sp, #0x24] bl func_01ff9bf8 ldrsh r0, [r6, #0x78] strh r0, [sp, #4] b _02156d4c _02156be4: mov r0, r6 bl func_ov15_02157088 add r2, sp, #0x14 add r0, r6, #0x2c8 add r1, r6, #0x2bc bl func_01ff9bf8 ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldrsh r2, [r6, #0x78] mov r1, r0, asr #0x10 sub r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 movs r2, r0, asr #0x3 rsbmi r2, r2, #0 mul r0, r2, r2 add r0, r0, #0x800 mov r2, r0, asr #0xc mov r0, #0x3d mul r0, r2, r0 add r0, r0, #0x800 mov r2, r0, asr #0xc cmp r2, #0 ble _02156c60 ldr r0, [r6, #0x2e0] subs r0, r0, r2 str r0, [r6, #0x2e0] movmi r0, #0 strmi r0, [r6, #0x2e0] _02156c60: ldrsh r3, [r6, #0x78] add r0, sp, #4 mov r2, #0x1f4 strh r3, [sp, #4] bl func_0202b154 ldr r1, [r6, #0x2bc] ldrh r0, [sp, #4] str r1, [sp, #0x20] ldr r2, [r6, #0x2c0] mov r0, r0, asr #0x4 str r2, [sp, #0x24] mov r3, r0, lsl #0x1 add r2, r3, #1 ldr r0, [r6, #0x2c4] ldr r4, _02157078 ; =data_02050f54 str r0, [sp, #0x28] ldr r5, [r6, #0x4c] mov r3, r3, lsl #0x1 str r5, [sp, #0x24] mov r2, r2, lsl #0x1 ldrsh r3, [r4, r3] ldr r8, [r6, #0x2e0] ldrsh r2, [r4, r2] smull r4, r5, r3, r8 adds r7, r4, #0x800 smull r4, r3, r2, r8 adc r5, r5, #0 adds r2, r4, #0x800 mov r4, r7, lsr #0xc orr r4, r4, r5, lsl #20 add r4, r1, r4 adc r1, r3, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 str r4, [sp, #0x20] str r0, [sp, #0x28] bl func_ov15_0215cf38 ldr r1, [r6, #0x2e0] ldr r2, [r6, #0x2dc] add r0, r1, r0 sub r0, r2, r0 str r0, [r6, #0x2dc] cmp r0, #0 bgt _02156d4c mov r0, #1 strb r0, [r6, #0x2f2] ldrb r0, [r6, #0x2f3] cmp r0, #0 ldreqb r0, [r6, #0x2f6] cmpeq r0, #0 bne _02156d4c ldr r0, _0215707c ; =data_027e0c68 ldr r1, _02157080 ; =0x000500a3 ldr r2, _02157084 ; =data_027e0f94 mov r3, #0 bl func_02036da8 mov r0, #1 strb r0, [r6, #0x2f6] _02156d4c: ldr r4, [sp, #0x20] ldr r0, [sp, #0x24] ldr r3, [sp, #0x28] add r7, sp, #8 str r4, [sp, #0x2c] str r3, [sp, #0x34] add r5, r6, #0x54 str r0, [sp] str r0, [sp, #0x30] ldmia r5, {r0, r1, r2} stmia r7, {r0, r1, r2} ldrsh r0, [sp, #4] strh r0, [r6, #0x78] ldr r0, [sp, #0x20] str r0, [r6, #0x54] ldr r0, [sp, #0x24] str r0, [r6, #0x58] ldr r0, [sp, #0x28] str r0, [r6, #0x5c] ldr r0, [r6, #0x54] str r0, [r6, #0x48] ldr r0, [r5, #4] str r0, [r6, #0x4c] ldr r0, [r5, #8] str r0, [r6, #0x50] ldrh r0, [r6, #0x20] cmp r0, #1 bne _02156ed4 ldrsh r5, [sp, #4] ldr r1, _02157078 ; =data_02050f54 mov r0, #0x800 sub r2, r5, #0x4000 mov r2, r2, lsl #0x10 add r5, r5, #0x4000 mov r2, r2, asr #0x10 mov r5, r5, lsl #0x10 mov r2, r2, lsl #0x10 mov r5, r5, asr #0x10 mov r7, r2, lsr #0x10 mov r2, r5, lsl #0x10 mov r5, r7, asr #0x4 mov r7, r5, lsl #0x1 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r5, r7, #1 mov r7, r7, lsl #0x1 ldrsh r10, [r1, r7] mov r5, r5, lsl #0x1 mov r7, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r5, [r1, r5] ldrsh r7, [r1, r7] ldrsh r1, [r1, r2] mov r9, r10, asr #0x1f mov r8, r5, asr #0x1f mov r2, r7, asr #0x1f mov r11, r9, lsl #0xd mov r9, r8, lsl #0xd mov r8, r2, lsl #0xd mov r2, r1, asr #0x1f mov r2, r2, lsl #0xd adds ip, r0, r10, lsl #13 orr r11, r11, r10, lsr #19 adc r10, r11, #0 mov r11, ip, lsr #0xc orr r11, r11, r10, lsl #20 add r4, r4, r11 adds r10, r0, r5, lsl #13 orr r9, r9, r5, lsr #19 adc r5, r9, #0 mov r9, r10, lsr #0xc orr r9, r9, r5, lsl #20 add r5, r3, r9 adds r9, r0, r7, lsl #13 orr r8, r8, r7, lsr #19 adc r3, r8, #0 mov r7, r9, lsr #0xc orr r7, r7, r3, lsl #20 adds r3, r0, r1, lsl #13 orr r2, r2, r1, lsr #19 adc r0, r2, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 ldr r2, [sp, #0x2c] ldr r0, [sp, #0x34] add r2, r2, r7 add r1, r0, r1 str r2, [sp, #0x2c] ldr r0, [sp, #0x20] str r1, [sp, #0x34] str r0, [r6, #0x2bc] ldr r0, [sp, #0x24] str r0, [r6, #0x2c0] ldr r0, [sp, #0x28] str r0, [r6, #0x2c4] b _02157038 _02156ed4: ldr r1, [sp, #0x20] ldr r0, _02157078 ; =data_02050f54 str r1, [r6, #0x2bc] ldr r2, [sp, #0x24] mov r1, #0x800 str r2, [r6, #0x2c0] ldr r2, [sp, #0x28] str r2, [r6, #0x2c4] ldr r2, [sp, #0x24] ldrsh r3, [sp, #4] str r2, [sp] ldr r9, [sp, #0x20] sub r2, r3, #0x4000 mov r2, r2, lsl #0x10 add r3, r3, #0x4000 mov r2, r2, asr #0x10 mov r3, r3, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r3, asr #0x10 mov r4, r2, lsr #0x10 mov r2, r3, lsl #0x10 mov r3, r4, asr #0x4 mov r4, r3, lsl #0x1 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r3, r4, lsl #0x1 ldrsh r10, [r0, r3] add r3, r4, #1 mov r5, r3, lsl #0x1 mov r2, r2, lsl #0x1 mov r3, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r3, [r0, r3] ldrsh lr, [r0, r5] ldrsh r2, [r0, r2] mov r8, r3, asr #0x1f mov ip, r8, lsl #0xe mov r8, r2, asr #0x1f mov r11, r8, lsl #0xe mov r4, r10, asr #0x1f mov r0, r4, lsl #0xc ldr r8, [sp] mov r5, lr, asr #0x1f mov r7, r5, lsl #0xc str r8, [sp, #0x30] adds r8, r1, r10, lsl #12 orr r0, r0, r10, lsr #20 mov r4, r4, lsl #0xe mov r5, r5, lsl #0xe adc r0, r0, #0 mov r8, r8, lsr #0xc orr r8, r8, r0, lsl #20 add r0, r9, r8 adds r8, r1, lr, lsl #12 orr r7, r7, lr, lsr #20 ldr r9, [sp, #0x28] adc r7, r7, #0 mov r8, r8, lsr #0xc orr r8, r8, r7, lsl #20 add r7, r9, r8 adds r8, r1, r10, lsl #14 orr r4, r4, r10, lsr #18 adc r4, r4, #0 mov r8, r8, lsr #0xc orr r8, r8, r4, lsl #20 add r4, r0, r8 adds r8, r1, lr, lsl #14 orr r5, r5, lr, lsr #18 adc r5, r5, #0 mov r8, r8, lsr #0xc orr r8, r8, r5, lsl #20 add r5, r7, r8 adds r8, r1, r3, lsl #14 orr ip, ip, r3, lsr #18 adc r3, ip, #0 mov r8, r8, lsr #0xc adds r1, r1, r2, lsl #14 orr r8, r8, r3, lsl #20 str r0, [sp, #0x20] add r0, r0, r8 orr r11, r11, r2, lsr #18 str r0, [sp, #0x2c] adc r0, r11, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r7, r1 str r7, [sp, #0x28] str r0, [sp, #0x34] _02157038: ldr r0, [r6, #0x2b4] add r1, sp, #0x20 add r2, sp, #0x2c bl func_ov15_02157478 ldr r0, [sp] str r4, [r6, #0x48] str r0, [r6, #0x4c] str r5, [r6, #0x50] ldr r0, [sp, #8] str r0, [r6, #0x54] ldr r0, [sp, #0xc] str r0, [r6, #0x58] ldr r0, [sp, #0x10] str r0, [r6, #0x5c] add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02156b04 _02157078: .word data_02050f54 _0215707c: .word data_027e0c68 _02157080: .word 0x000500a3 _02157084: .word data_027e0f94 .global func_ov15_02157088 arm_func_start func_ov15_02157088 func_ov15_02157088: ; 0x02157088 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x18 mov r10, r0 add r0, r10, #0x200 ldrsh r7, [r0, #0xec] ldr r8, [r10, #0x2e0] cmp r7, #0 bge _02157114 ldrh r1, [r0, #0xee] ldr r3, _02157274 ; =data_02050f54 ldr r0, [r10, #0x2c8] mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 mov r1, r4, lsl #0x1 ldrsh r2, [r3, r1] add r1, r4, #1 mov r1, r1, lsl #0x1 smull r5, r4, r2, r8 adds r2, r5, #0x800 ldrsh r1, [r3, r1] mov r5, r2, lsr #0xc adc r4, r4, #0 smull r3, r2, r1, r8 orr r5, r5, r4, lsl #20 add r0, r0, r5 adds r1, r3, #0x800 str r0, [r10, #0x2c8] adc r0, r2, #0 mov r1, r1, lsr #0xc ldr r2, [r10, #0x2d0] orr r1, r1, r0, lsl #20 add r0, r2, r1 add sp, sp, #0x18 str r0, [r10, #0x2d0] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02157114: cmp r8, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} bl func_ov15_0213ce4c mov r1, #0xc ldr r2, [r0, #4] smulbb r9, r7, r1 ldr r0, [r2, r9] add r2, r2, r9 str r0, [sp, #0xc] ldr r1, [r2, #4] add r0, sp, #0xc str r1, [sp, #0x10] ldr r3, [r2, #8] add r2, sp, #0 add r1, r10, #0x2c8 str r3, [sp, #0x14] bl func_01ff9bf8 add r4, r10, #0x200 add r11, sp, #0xc add r5, sp, #0 mov r6, #0 _0215716c: mov r0, r5 str r6, [sp, #4] bl func_01ff9cec cmp r0, r8 ble _021571ec add r0, r10, #0x200 ldrh r1, [r0, #0xee] ldr r3, _02157274 ; =data_02050f54 ldr r0, [r10, #0x2c8] mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 mov r1, r4, lsl #0x1 ldrsh r2, [r3, r1] add r1, r4, #1 mov r1, r1, lsl #0x1 smull r5, r4, r2, r8 adds r2, r5, #0x800 ldrsh r1, [r3, r1] adc r4, r4, #0 mov r5, r2, lsr #0xc smull r3, r2, r1, r8 adds r1, r3, #0x800 orr r5, r5, r4, lsl #20 add r0, r0, r5 str r0, [r10, #0x2c8] adc r0, r2, #0 mov r1, r1, lsr #0xc ldr r2, [r10, #0x2d0] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r10, #0x2d0] b _02157264 _021571ec: sub r1, r7, #1 mov r1, r1, lsl #0x10 sub r8, r8, r0 sub r9, r9, #0xc movs r7, r1, asr #0x10 bmi _02157264 ldr r0, [sp, #0xc] str r0, [r10, #0x2c8] ldr r0, [sp, #0x10] str r0, [r10, #0x2cc] ldr r0, [sp, #0x14] str r0, [r10, #0x2d0] bl func_ov15_0213ce4c ldr r2, [r0, #4] mov r0, r11 ldr r1, [r2, r9] add r3, r2, r9 str r1, [sp, #0xc] ldr r2, [r3, #4] add r1, r10, #0x2c8 str r2, [sp, #0x10] ldr r3, [r3, #8] mov r2, r5 str r3, [sp, #0x14] bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 strh r0, [r4, #0xee] b _0215716c _02157264: add r0, r10, #0x200 strh r7, [r0, #0xec] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02157088 _02157274: .word data_02050f54 .global func_ov15_02157278 arm_func_start func_ov15_02157278 func_ov15_02157278: ; 0x02157278 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 ldr r2, [r1] mov r10, r0 str r2, [r10, #0x2bc] ldr r2, [r1, #4] add r0, r10, #0x200 str r2, [r10, #0x2c0] ldr r1, [r1, #8] str r1, [r10, #0x2c4] ldrsh r7, [r0, #0xec] cmp r7, #0 bge _021572d0 ldr r0, _02157474 ; =data_027e0f94 add sp, sp, #0x24 ldr r1, [r0] str r1, [r10, #0x2c8] ldr r1, [r0, #4] str r1, [r10, #0x2cc] ldr r0, [r0, #8] str r0, [r10, #0x2d0] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021572d0: bne _02157308 bl func_ov15_0213ce4c mov r1, #0xc smulbb r1, r7, r1 ldr r2, [r0, #4] add sp, sp, #0x24 ldr r0, [r2, r1] add r1, r2, r1 str r0, [r10, #0x2c8] ldr r0, [r1, #4] str r0, [r10, #0x2cc] ldr r0, [r1, #8] str r0, [r10, #0x2d0] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02157308: add r0, r10, #0x2bc mov r3, #0xc add r6, sp, #0xc ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} smulbb r9, r7, r3 mov r8, #0x800 add r11, sp, #0 add r5, sp, #0x18 mov r4, #0 _02157330: bl func_ov15_0213ce4c ldr r2, [r0, #4] mov r0, r11 ldr r1, [r2, r9] add r3, r2, r9 str r1, [sp] ldr r2, [r3, #4] mov r1, r6 str r2, [sp, #4] ldr r3, [r3, #8] mov r2, r5 str r3, [sp, #8] bl func_01ff9bf8 mov r0, r5 str r4, [sp, #0x1c] bl func_01ff9cec cmp r0, r8 bge _021573c0 sub r1, r7, #1 ldr r7, [sp] ldr r3, [sp, #4] ldr r2, [sp, #8] mov r1, r1, lsl #0x10 str r7, [sp, #0xc] str r3, [sp, #0x10] str r2, [sp, #0x14] sub r8, r8, r0 sub r9, r9, #0xc movs r7, r1, asr #0x10 bpl _02157330 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] bl func_01ffa0f4 add r1, r10, #0x200 strh r0, [r1, #0xee] b _0215744c _021573c0: ldr r0, [sp, #0x18] cmp r0, #0 ldreq r0, [sp, #0x1c] cmpeq r0, #0 ldreq r0, [sp, #0x20] cmpeq r0, #0 beq _0215744c ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] bl func_01ffa0f4 add r1, r10, #0x200 strh r0, [r1, #0xee] add r0, sp, #0x18 mov r1, r0 bl func_01ff9d4c ldr r1, [sp, #0x18] ldr r0, [sp, #0x20] smull r2, r3, r1, r8 adds r4, r2, #0x800 smull r1, r2, r0, r8 adc r0, r3, #0 adds r3, r1, #0x800 mov r4, r4, lsr #0xc orr r4, r4, r0, lsl #20 adc r0, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r0, lsl #20 ldr r1, [sp, #0xc] ldr r0, [sp, #0x14] add r1, r1, r4 add r0, r0, r2 str r4, [sp, #0x18] str r2, [sp, #0x20] str r1, [sp, #0xc] str r0, [sp, #0x14] _0215744c: ldr r1, [sp, #0xc] add r0, r10, #0x200 str r1, [r10, #0x2c8] ldr r1, [sp, #0x10] str r1, [r10, #0x2cc] ldr r1, [sp, #0x14] str r1, [r10, #0x2d0] strh r7, [r0, #0xec] add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02157278 _02157474: .word data_027e0f94 .global func_ov15_02157478 arm_func_start func_ov15_02157478 func_ov15_02157478: ; 0x02157478 stmdb sp!, {r3, lr} ldrh r3, [r0, #0x20] cmp r3, #1 beq _02157494 cmp r3, #2 beq _021574b0 ldmia sp!, {r3, pc} _02157494: ldr ip, [r2, #8] ldr r3, [r0, #0x4c] ldr r1, [r2] str r1, [r0, #0x48] str r3, [r0, #0x4c] str ip, [r0, #0x50] ldmia sp!, {r3, pc} _021574b0: ldrh r3, [r0, #0x22] cmp r3, #1 ldrne lr, [r1, #8] ldrne ip, [r0, #0x4c] ldrne r3, [r1] bne _021574d4 ldr lr, [r2, #8] ldr ip, [r0, #0x4c] ldr r3, [r2] _021574d4: str r3, [r0, #0x48] str ip, [r0, #0x4c] str lr, [r0, #0x50] ldr r0, [r0, #0x2b4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02157478 ldmia sp!, {r3, pc} arm_func_end func_ov15_02157478 .global func_ov15_021574f4 arm_func_start func_ov15_021574f4 func_ov15_021574f4: ; 0x021574f4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r4, #0x130] cmp r0, #0 beq _02157518 cmp r0, #1 beq _02157548 ldmia sp!, {r4, pc} _02157518: ldr r0, [r4, #0x138] cmp r0, #0x19 ldmneia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r1, [r4, #0x130] mov r0, #0 add r1, r1, #1 str r1, [r4, #0x130] str r0, [r4, #0x138] ldmia sp!, {r4, pc} _02157548: mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmeqia sp!, {r4, pc} add r0, r4, #0x158 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmneia sp!, {r4, pc} ldr r0, _021575ac ; =gAdventureFlags ldr r1, [r4, #0x2d4] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r0, #0 str r0, [r4, #0x2d4] mov r0, #0 str r0, [r4, #0x138] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021574f4 _021575ac: .word gAdventureFlags .global func_ov15_021575b0 arm_func_start func_ov15_021575b0 func_ov15_021575b0: ; 0x021575b0 stmdb sp!, {r3, lr} cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldmeqia sp!, {r3, pc} ldr r1, [r0, #0x2d8] ldr r3, [r0, #0x4c] mov r2, #0x2000 add r3, r3, r1 rsb r2, r2, #0 cmp r3, r2 ldmltia sp!, {r3, pc} add r0, r0, #0x1b4 bl func_ov00_020c5f34 ldmia sp!, {r3, pc} arm_func_end func_ov15_021575b0 .global func_ov15_021575f0 arm_func_start func_ov15_021575f0 func_ov15_021575f0: ; 0x021575f0 cmp r1, #1 bne _02157608 ldr r0, [r0, #0x138] cmp r0, #0x19 movlt r0, #0 bxlt lr _02157608: mov r0, #1 bx lr arm_func_end func_ov15_021575f0 .global func_ov15_02157610 arm_func_start func_ov15_02157610 func_ov15_02157610: ; 0x02157610 stmdb sp!, {r3, lr} ldr r1, _0215763c ; =data_027e0fe0 mov r0, #0x214 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02157640 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02157610 _0215763c: .word data_027e0fe0 .global func_ov15_02157640 arm_func_start func_ov15_02157640 func_ov15_02157640: ; 0x02157640 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _02157668 ; =data_ov15_0218c204 add r0, r4, #0x17c mov r1, #0 str r2, [r4] blx func_ov00_020a9588 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02157640 _02157668: .word data_ov15_0218c204 .global func_ov15_0215766c arm_func_start func_ov15_0215766c func_ov15_0215766c: ; 0x0215766c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x17c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215766c .global func_ov15_0215768c arm_func_start func_ov15_0215768c func_ov15_0215768c: ; 0x0215768c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x17c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215768c .global func_ov15_021576b4 arm_func_start func_ov15_021576b4 func_ov15_021576b4: ; 0x021576b4 stmdb sp!, {r4, lr} ldr r1, _021577dc ; =data_027e0fec mov r4, r0 ldr r0, [r1] add r0, r0, #0x2a00 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x17c ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, _021577e0 ; =data_027e0d0c ldr r3, _021577e4 ; =0x000004cd ldr r1, [r0] mvn r2, #0 str r1, [r4, #0x7c] ldr ip, [r0, #4] mov r1, #0 str ip, [r4, #0x80] ldr ip, [r0, #8] mov r0, #4 str ip, [r4, #0x84] str r3, [r4, #0x88] str r2, [r4, #0x98] str r1, [r4, #0x12c] strb r0, [r4, #0x124] ldr r1, [r4, #0x48] ldr r0, _021577e8 ; =data_027e0fe4 str r1, [r4, #0x1d8] ldr r2, [r4, #0x4c] add r1, r4, #0x34 str r2, [r4, #0x1dc] ldr r2, [r4, #0x50] str r2, [r4, #0x1e0] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _021577b8 ldr r2, [r0, #0x48] add r1, r4, #0x48 str r2, [r4, #0x1e4] ldr r2, [r0, #0x4c] str r2, [r4, #0x1e8] ldr r2, [r0, #0x50] add r0, r4, #0x1e4 str r2, [r4, #0x1ec] bl func_ov00_020ce2f0 mov r0, r0, lsl #0x1 str r0, [r4, #0x208] str r0, [r4, #0x1f0] mov r0, #0x1000 str r0, [r4, #0x1f4] str r0, [r4, #0x1f8] ldr r0, _021577e0 ; =data_027e0d0c ldr r2, [r4, #0x208] ldr r1, [r0] mov r2, r2, asr #0x1 str r1, [r4, #0xa8] ldr r1, [r0, #4] add r2, r2, #0x1000 str r1, [r4, #0xac] ldr r0, [r0, #8] str r0, [r4, #0xb0] str r2, [r4, #0xb4] b _021577c0 _021577b8: mov r0, #0 ldmia sp!, {r4, pc} _021577c0: ldr r2, [r4, #0x140] add r1, r4, #0x200 mov r0, r4 strh r2, [r1, #0x10] bl func_ov15_021577ec mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021576b4 _021577dc: .word data_027e0fec _021577e0: .word data_027e0d0c _021577e4: .word 0x000004cd _021577e8: .word data_027e0fe4 .global func_ov15_021577ec arm_func_start func_ov15_021577ec func_ov15_021577ec: ; 0x021577ec stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x200 ldrh r1, [r0, #0x10] ldr r3, _02157840 ; =data_02050f54 add r0, r4, #0x158 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_01ff8230 ldrsh r1, [r4, #0x78] add r0, r4, #0x158 add r1, r1, #0x4000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cfc8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021577ec _02157840: .word data_02050f54 .global func_ov15_02157844 arm_func_start func_ov15_02157844 func_ov15_02157844: ; 0x02157844 stmdb sp!, {r3, r4, r5, lr} ldr r5, [r2] mov r4, r0 str r5, [r4, #0x1e4] ldr r0, [r2, #4] add ip, r4, #0x200 str r0, [r4, #0x1e8] ldr r0, [r2, #8] ldr lr, [sp, #0x10] str r0, [r4, #0x1ec] ldr r2, [r4, #0x1e8] add r0, r4, #0x1d8 add r2, r2, #0x33 add r2, r2, #0x700 str r2, [r4, #0x1e8] ldr r5, [r1] add r2, r4, #0x1fc str r5, [r4, #0x1d8] ldr r5, [r1, #4] str r5, [r4, #0x1dc] ldr r5, [r1, #8] add r1, r4, #0x1e4 str r5, [r4, #0x1e0] ldr r5, [r4, #0x1d8] str r5, [r4, #0x48] ldr r5, [r4, #0x1dc] str r5, [r4, #0x4c] ldr r5, [r4, #0x1e0] str r5, [r4, #0x50] ldrsh r3, [r3] strh r3, [ip, #0x10] ldrsh r3, [lr] strh r3, [r4, #0x78] bl func_01ff9bf8 add r0, r4, #0x1fc bl func_01fffb4c mov r0, r4 bl func_ov15_021577ec ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02157844 .global func_ov15_021578e0 arm_func_start func_ov15_021578e0 func_ov15_021578e0: ; 0x021578e0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x5c mov r4, r0 mov r11, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02157c08 ldr r1, _02157c20 ; =data_ov15_0218c1d8 ldr r2, _02157c24 ; =data_ov15_0218c1e4 add r0, r4, #0x1d8 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] mov r1, #0x1000 add r0, r2, r0 rsb r1, r1, #0 str r0, [r4, #0x20c] cmp r0, r1 blt _02157c08 ldr r0, _02157c28 ; =data_027e0f94 add r3, sp, #0x50 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r5, [r4, #0x208] mov r0, r3 add r1, r4, #0x1d8 bl func_ov00_020ce2f0 cmp r0, r5, asr #1 bge _02157b1c add r0, sp, #0x50 add r2, sp, #0x44 add r1, r4, #0x1e4 bl func_01ff9bf8 mov r2, #0 add r0, sp, #0x44 add r1, r4, #0x1fc str r2, [sp, #0x48] bl func_01ff9c2c cmp r0, #0 blt _02157b1c cmp r0, r5 bge _02157b1c ldr r3, [r4, #0x1e8] ldr r10, [r4, #0x1ec] ldr r9, [r4, #0x1e4] ldr r5, _02157c2c ; =data_02050f54 str r9, [sp, #0x44] str r3, [sp, #0x48] str r10, [sp, #0x4c] ldrh r2, [r4, #0x78] add r8, sp, #0x44 add r1, r4, #0x200 mov r2, r2, asr #0x4 mov r6, r2, lsl #0x1 add r2, r6, #1 mov r6, r6, lsl #0x1 ldrsh r7, [r5, r6] mov r2, r2, lsl #0x1 ldrsh r2, [r5, r2] smull ip, r6, r7, r0 adds r7, ip, #0x800 smull lr, ip, r2, r0 adc r2, r6, #0 mov r6, r7, lsr #0xc orr r6, r6, r2, lsl #20 adds r7, lr, #0x800 add r2, r9, r6 adc r6, ip, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 add r6, r10, r7 str r6, [r8, #8] str r2, [r8] ldrh r1, [r1, #0x10] add r8, sp, #0x38 ldr r6, _02157c30 ; =data_027e0e60 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r5, r1] mov r7, #0 smull r1, r9, r0, r1 ldr r0, _02157c28 ; =data_027e0f94 adds r5, r1, #0x800 ldmia r0, {r0, r1, r2} stmia r8, {r0, r1, r2} ldr r0, [sp, #0x38] ldr r2, [sp, #0x3c] str r0, [sp, #8] str r2, [sp, #0xc] adc r1, r9, #0 mov r0, r5, lsr #0xc orr r0, r0, r1, lsl #20 add r0, r3, r0 ldr r3, [sp, #0x40] str r0, [sp, #0x48] ldr r0, [r6] add r1, sp, #8 mov r2, r7 str r3, [sp, #0x10] bl func_ov00_02083ee0 ldr r1, [sp, #0x3c] ldr r7, _02157c34 ; =0x000004cd sub r5, r1, r0 add r0, r4, #0x48 add r9, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r9, {r0, r1, r2} ldr r8, [sp, #0x44] sub r6, r7, #0x800 str r8, [r4, #0x48] ldr r0, [sp, #0x48] ldr r3, _02157c38 ; =data_027e0fe4 str r0, [r4, #0x4c] ldr r0, [sp, #0x4c] add r1, r4, #0x34 str r0, [r4, #0x50] str r7, [r4, #0x88] str r6, [r4, #0x80] ldr r0, [r3] bl _ZN12ActorManager8GetActorEP8ActorRef mov r6, r0 ldrb r0, [r6, #0x2f3] cmp r0, #0 ldreqb r0, [r6, #0x2f6] cmpeq r0, #0 bne _02157b04 rsb r0, r7, #0x800 cmp r5, r0 bge _02157b04 mov r0, r4 mov r1, #1 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 cmpne r6, #0 beq _02157b04 mov r0, r6 bl func_ov15_02156800 _02157b04: ldr r0, [sp, #0x2c] str r0, [r4, #0x48] ldr r0, [sp, #0x30] str r0, [r4, #0x4c] ldr r0, [sp, #0x34] str r0, [r4, #0x50] _02157b1c: add r0, r4, #0x48 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x1d8] ldr r2, _02157c3c ; =0x00001333 str r0, [r4, #0x48] ldr r0, [r4, #0x1dc] mov r3, #0 str r0, [r4, #0x4c] ldr r1, [r4, #0x1e0] add r0, sp, #0 str r1, [r4, #0x50] ldr r5, [r4, #0x208] mov r1, r4 mov r5, r5, asr #0x1 umull r7, r6, r5, r2 mla r6, r5, r3, r6 mov r3, r5, asr #0x1f mla r6, r3, r2, r6 adds r5, r7, #0x800 adc r2, r6, #0 mov r3, r5, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r4, #0x88] bl _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ ldr r1, [sp] mvn r0, #0 cmp r1, r0 beq _02157bf0 ldr r0, _02157c38 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02157bf0 ldr r2, [r0, #4] ldr r0, _02157c40 ; =0x444e5043 cmp r2, r0 ldrne r1, _02157c44 ; =0x50534950 cmpne r2, r1 ldrne r0, _02157c48 ; =0x504c5350 cmpne r2, r0 subne r0, r1, #0xfc000000 cmpne r2, r0 bne _02157bf0 ldr r0, _02157c38 ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02157bf0 bl func_ov15_02156800 _02157bf0: ldr r0, [sp, #0x20] str r0, [r4, #0x48] ldr r0, [sp, #0x24] str r0, [r4, #0x4c] ldr r0, [sp, #0x28] str r0, [r4, #0x50] _02157c08: mov r1, r11 add r0, r4, #0xa4 add r2, r4, #0x1d8 bl func_ov00_0207a1c8 add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021578e0 _02157c20: .word data_ov15_0218c1d8 _02157c24: .word data_ov15_0218c1e4 _02157c28: .word data_027e0f94 _02157c2c: .word data_02050f54 _02157c30: .word data_027e0e60 _02157c34: .word 0x000004cd _02157c38: .word data_027e0fe4 _02157c3c: .word 0x00001333 _02157c40: .word 0x444e5043 _02157c44: .word 0x50534950 _02157c48: .word 0x504c5350 .global func_ov15_02157c4c arm_func_start func_ov15_02157c4c func_ov15_02157c4c: ; 0x02157c4c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02157c80 ldr r1, _02157c94 ; =data_ov15_0218c1d8 ldr r2, _02157c98 ; =data_ov15_0218c1e4 add r0, r5, #0x1d8 bl func_ov15_0215cb24 ldr r1, [r5, #0x4c] add r0, r1, r0 str r0, [r5, #0x20c] _02157c80: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x1d8 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02157c4c _02157c94: .word data_ov15_0218c1d8 _02157c98: .word data_ov15_0218c1e4 .global func_ov15_02157c9c arm_func_start func_ov15_02157c9c func_ov15_02157c9c: ; 0x02157c9c stmdb sp!, {lr} sub sp, sp, #0xc mov lr, r0 cmp r1, #0 ldrneb r0, [lr, #0xa5] ldreqb r0, [lr, #0xa4] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {pc} mov r0, #0x1000 ldr r3, [lr, #0x20c] rsb r0, r0, #0 cmp r3, r0 addlt sp, sp, #0xc ldmltia sp!, {pc} ldr r2, [lr, #0x1e0] ldr r1, [lr, #0x1d8] add r0, lr, #0x17c str r1, [sp] str r3, [sp, #4] str r2, [sp, #8] ldr ip, [r0] add r3, sp, #0 ldr ip, [ip, #0x10] add r1, lr, #0x1f0 add r2, lr, #0x158 blx ip add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov15_02157c9c .global func_ov15_02157d10 arm_func_start func_ov15_02157d10 func_ov15_02157d10: ; 0x02157d10 stmdb sp!, {r3, lr} ldr r1, _02157d3c ; =data_027e0fe0 mov r0, #0x17c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02157d40 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02157d10 _02157d3c: .word data_027e0fe0 .global func_ov15_02157d40 arm_func_start func_ov15_02157d40 func_ov15_02157d40: ; 0x02157d40 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _02157da4 ; =data_ov15_0218c2d0 add r2, r4, #0x158 str r0, [r4] add r0, r4, #0x170 mvn r1, #0 _02157d60: str r1, [r2] str r1, [r2, #4] add r2, r2, #8 cmp r2, r0 blo _02157d60 mov r2, #0 mvn r1, #0 _02157d7c: add r0, r4, r2, lsl #3 str r1, [r0, #0x158] add r2, r2, #1 str r1, [r0, #0x15c] cmp r2, #3 blt _02157d7c mov r1, #0 mov r0, r4 strb r1, [r4, #0x179] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02157d40 _02157da4: .word data_ov15_0218c2d0 .global func_ov15_02157da8 arm_func_start func_ov15_02157da8 func_ov15_02157da8: ; 0x02157da8 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02157da8 .global func_ov15_02157dbc arm_func_start func_ov15_02157dbc func_ov15_02157dbc: ; 0x02157dbc 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_ov15_02157dbc .global func_ov15_02157dd8 arm_func_start func_ov15_02157dd8 func_ov15_02157dd8: ; 0x02157dd8 stmdb sp!, {r4, lr} ldrh r1, [r0, #0x22] cmp r1, #0 beq _02157df0 cmp r1, #3 bls _02157df8 _02157df0: mov r0, #0 ldmia sp!, {r4, pc} _02157df8: mvn r4, #0 str r4, [r0, #0x88] ldr r1, [r0, #0x7c] ldr r2, _02157e64 ; =data_027e0d0c str r1, [r0, #0x8c] ldr r1, [r0, #0x80] mov ip, #0 str r1, [r0, #0x90] ldr r3, [r0, #0x84] add r1, r0, #0x100 str r3, [r0, #0x94] ldr lr, [r0, #0x88] mov r3, #0x1e str lr, [r0, #0x98] ldr lr, [r2] str lr, [r0, #0xa8] ldr lr, [r2, #4] str lr, [r0, #0xac] ldr r2, [r2, #8] str r2, [r0, #0xb0] str r4, [r0, #0xb4] str ip, [r0, #0x170] strh r3, [r1, #0x74] strb ip, [r0, #0x176] strb ip, [r0, #0x177] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02157dd8 _02157e64: .word data_027e0d0c .global func_ov15_02157e68 arm_func_start func_ov15_02157e68 func_ov15_02157e68: ; 0x02157e68 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x5c mov r10, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrb r0, [r10, #0x176] cmp r0, #0 bne _021580c4 ldr r0, [r10, #0x170] cmp r0, #0x96 bge _02157ed8 add r0, sp, #0xc bl func_ov15_0215cef8 add r0, sp, #0xc add r3, sp, #0x50 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x50] cmp r0, #0 ldreq r0, [sp, #0x58] add sp, sp, #0x5c cmpeq r0, #0 ldrne r0, [r10, #0x170] addne r0, r0, #1 strne r0, [r10, #0x170] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02157ed8: ldr r0, _021583a4 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a54c cmp r0, #0 addne sp, sp, #0x5c ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _021583a8 ; =data_027e0e60 ldrh r1, [r10, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r10, #0x100 ldrh r1, [r0, #0x74] sub r1, r1, #1 strh r1, [r0, #0x74] ldrh r1, [r0, #0x74] cmp r1, #0 addne sp, sp, #0x5c ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r1, #0x1e ldr r2, _021583ac ; =data_027e0764 strh r1, [r0, #0x74] ldr r3, [r2] ldmib r2, {r0, r1} umull r6, r5, r1, r3 mla r5, r1, r0, r5 ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla r5, r0, r3, r5 ldr r3, [r2, #0x14] adds r6, r4, r6 adc r5, r3, r5 mov r7, #0x64 str r6, [r2] mov r8, #0 umull r9, r11, r5, r7 mla r11, r5, r8, r11 mla r11, r8, r7, r11 cmp r11, #0xa addge sp, sp, #0x5c str r5, [r2, #4] ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} umull r8, r7, r1, r6 mla r7, r1, r5, r7 ldrh r5, [r10, #0x22] adds r1, r4, r8 mla r7, r0, r6, r7 adc r4, r3, r7 mov r0, r4, lsr #0x10 mov r0, r0, lsl #0x10 str r1, [r2] and r9, r5, #0xff mov r3, r0, lsr #0x10 str r4, [r2, #4] mov r1, r9 mov r0, #0x10000 mov r4, r3, lsl #0x10 bl func_02002c14 ldr r1, _021583b0 ; =data_027e0f94 mov r5, r0, lsl #0x10 add r3, sp, #0x44 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x18 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] str r1, [sp, #0x38] bl func_ov00_020c3348 ldr r0, [r10, #8] ldr lr, _021583ac ; =data_027e0764 str r0, [sp, #0x34] ldr r2, [r10, #0xc] ldr r1, [lr] str r2, [sp, #0x38] ldr r3, [lr, #8] ldr r0, [lr, #4] umull r8, r7, r3, r1 mla r7, r3, r0, r7 ldr r2, [lr, #0xc] ldr ip, [lr, #0x10] mla r7, r2, r1, r7 ldr r11, [lr, #0x14] adds r1, ip, r8 adc r0, r11, r7 str r1, [lr] str r0, [lr, #4] mov r0, r0, asr #0x1f and r0, r0, #0xff mov r6, #0 strh r0, [sp, #0x18] cmp r9, #0 addle sp, sp, #0x5c ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r7, r6 add r8, r10, #0x158 mvn r11, #0 _0215806c: add r0, r7, r4, asr #16 strh r0, [sp, #0x2c] ldr r0, _021583b4 ; =data_027e0fe8 str r8, [sp] ldr r0, [r0] ldr r1, _021583b8 ; =0x47595247 add r2, sp, #0x44 add r3, sp, #0x18 bl func_ov00_020c4048 add r0, r10, r6, lsl #3 ldr r0, [r0, #0x158] add r6, r6, #1 cmp r0, r11 ldrneb r0, [r10, #0x176] add r7, r7, r5, asr #16 add r8, r8, #8 addne r0, r0, #1 strneb r0, [r10, #0x176] cmp r6, r9 blt _0215806c add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021580c4: mov r6, #0 mov r7, r6 mov r8, r6 add r9, r10, #0x158 add r5, sp, #4 mov r11, r6 mvn r4, #0 _021580e0: add r0, r10, r8, lsl #3 ldr r0, [r0, #0x158] mov r1, r8, lsl #0x1 strh r11, [r5, r1] cmp r0, r4 beq _02158134 ldr r0, _021583bc ; =data_027e0fe4 mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02158134 add r0, r0, #0x200 ldrh r3, [r0, #0xea] mov r0, #1 orr r1, r6, r0, lsl r8 mov r2, r8, lsl #0x1 add r0, r7, #1 strh r3, [r5, r2] and r6, r1, #0xff and r7, r0, #0xff _02158134: add r8, r8, #1 cmp r8, #3 add r9, r9, #8 blt _021580e0 cmp r7, #1 beq _02158394 cmp r7, #2 bne _0215824c tst r6, #1 beq _02158170 tst r6, #2 movne r6, #1 mov r1, #0 moveq r6, #2 b _02158178 _02158170: mov r1, #1 mov r6, #2 _02158178: add r3, sp, #4 mov r0, r1, lsl #0x1 mov r2, r6, lsl #0x1 ldrh r0, [r3, r0] ldrh r4, [r3, r2] sub r2, r0, r4 mov r2, r2, lsl #0x10 movs r3, r2, asr #0x10 bpl _021581ac mvn r2, #0 smulbb r2, r3, r2 mov r2, r2, lsl #0x10 mov r3, r2, asr #0x10 _021581ac: ldr r2, _021583c0 ; =0x000078e4 cmp r3, r2 bge _02158394 add r2, r0, r4 mov r2, r2, lsl #0xf sub r0, r0, r2, lsr #16 mov r0, r0, lsl #0x10 mov r2, r2, lsr #0x10 movs r0, r0, asr #0x10 submi r0, r2, #0x4000 addmi r2, r2, #0x4000 addpl r0, r2, #0x4000 mov r0, r0, lsl #0x10 subpl r2, r2, #0x4000 mov r4, r0, lsr #0x10 ldr r0, _021583bc ; =data_027e0fe4 mov r2, r2, lsl #0x10 mov r5, r2, lsr #0x10 add r2, r10, #0x158 ldr r0, [r0] add r1, r2, r1, lsl #3 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0215821c add r1, r0, #0x200 strh r4, [r1, #0xe8] mov r1, #1 strb r1, [r0, #0x2f1] _0215821c: ldr r0, _021583bc ; =data_027e0fe4 add r1, r10, #0x158 ldr r0, [r0] add r1, r1, r6, lsl #3 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02158394 add r1, r0, #0x200 strh r5, [r1, #0xe8] mov r1, #1 strb r1, [r0, #0x2f1] b _02158394 _0215824c: ldr r4, _021583c4 ; =0xffffaaab add r9, r10, #0x158 mov r8, #0 add r6, sp, #4 mvn r5, #0 _02158260: ldr r0, _021583c8 ; =0x55555556 add r1, r8, #1 smull r3, r2, r0, r1 ldr r7, _021583c8 ; =0x55555556 add r0, r8, #2 smull r11, r3, r7, r0 add r3, r3, r0, lsr #31 mov r7, #3 smull r3, r11, r7, r3 sub r3, r0, r3 add r2, r2, r1, lsr #31 smull r2, r11, r7, r2 sub r2, r1, r2 mov r0, r8, lsl #0x1 mov r1, r2, lsl #0x1 mov r3, r3, lsl #0x1 ldrh r0, [r6, r0] ldrh r7, [r6, r1] ldrh r11, [r6, r3] sub r1, r7, r0 mov r1, r1, lsl #0x10 movs r1, r1, asr #0x10 mov r2, r1 smulbbmi r1, r1, r5 sub r3, r11, r0 movmi r1, r1, lsl #0x10 mov r3, r3, lsl #0x10 movmi r1, r1, asr #0x10 movs ip, r3, asr #0x10 mov r3, ip smulbbmi ip, ip, r5 movmi ip, ip, lsl #0x10 movmi ip, ip, asr #0x10 cmp r1, ip bge _02158318 cmp r2, #0 ble _02158304 add r1, r7, r4 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 b _02158340 _02158304: add r1, r7, #0x55 add r1, r1, #0x5500 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 b _02158340 _02158318: cmp r3, #0 ble _02158330 add r1, r11, r4 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 b _02158340 _02158330: add r1, r11, #0x55 add r1, r1, #0x5500 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 _02158340: sub r0, r7, r0 add r0, r0, #0x31c add r0, r0, #0x400 mov r1, r0, lsl #0x10 ldr r0, _021583cc ; =0x00000e39 cmp r0, r1, lsr #16 bge _02158384 ldr r0, _021583bc ; =data_027e0fe4 mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02158384 add r1, r0, #0x200 strh r7, [r1, #0xe8] mov r1, #1 strb r1, [r0, #0x2f1] _02158384: add r8, r8, #1 cmp r8, #3 add r9, r9, #8 blt _02158260 _02158394: mov r0, r10 bl func_ov15_0215846c add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02157e68 _021583a4: .word data_027e10a4 _021583a8: .word data_027e0e60 _021583ac: .word data_027e0764 _021583b0: .word data_027e0f94 _021583b4: .word data_027e0fe8 _021583b8: .word 0x47595247 _021583bc: .word data_027e0fe4 _021583c0: .word 0x000078e4 _021583c4: .word 0xffffaaab _021583c8: .word 0x55555556 _021583cc: .word 0x00000e39 .global func_ov15_021583d0 arm_func_start func_ov15_021583d0 func_ov15_021583d0: ; 0x021583d0 ldr ip, [r1] mov r2, #0 _021583d8: add r3, r0, r2, lsl #3 ldr r1, [r3, #0x158] cmp ip, r1 bne _02158414 ldrb r2, [r0, #0x176] mvn r1, #0 sub r2, r2, #1 strb r2, [r0, #0x176] str r1, [r3, #0x158] str r1, [r3, #0x15c] ldrb r1, [r0, #0x176] cmp r1, #0 moveq r1, #0 streqb r1, [r0, #0x179] bx lr _02158414: add r2, r2, #1 cmp r2, #3 blt _021583d8 bx lr arm_func_end func_ov15_021583d0 .global func_ov15_02158424 arm_func_start func_ov15_02158424 func_ov15_02158424: ; 0x02158424 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r4, _02158468 ; =data_027e0fe4 strb r1, [r7, #0x178] add r6, r7, #0x158 mov r5, #0 _0215843c: ldr r0, [r4] mov r1, r6 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldrneb r1, [r7, #0x178] add r5, r5, #1 add r6, r6, #8 strneb r1, [r0, #0x2f0] cmp r5, #3 blt _0215843c ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02158424 _02158468: .word data_027e0fe4 .global func_ov15_0215846c arm_func_start func_ov15_0215846c func_ov15_0215846c: ; 0x0215846c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} mov r5, r0 ldrb r0, [r5, #0x179] cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldrh r0, [r5, #0x24] mov r4, #0 ands r1, r0, #0xff beq _021584f8 ldr r0, _0215856c ; =data_027e0e60 mov r2, r4 ldr r0, [r0] bl func_ov00_020836dc cmp r0, #0 beq _021584f8 ldr r6, _02158570 ; =data_027e0fe4 add r10, r5, #0x158 mov r9, r4 mov r7, r4 mov r8, #1 _021584bc: ldr r0, [r6] mov r1, r10 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _021584e0 bl func_ov15_0215a1b8 tst r4, r0 movne r4, r8 moveq r4, r7 _021584e0: add r9, r9, #1 cmp r9, #3 add r10, r10, #8 blt _021584bc strb r4, [r5, #0x179] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _021584f8: ldrh r0, [r5, #0x26] ands r1, r0, #0xff ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r0, _0215856c ; =data_027e0e60 mov r2, #0 ldr r0, [r0] bl func_ov00_020836dc cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r9, #0 ldr r6, _02158570 ; =data_027e0fe4 add r10, r5, #0x158 mov r7, r9 mov r8, #1 _02158530: ldr r0, [r6] mov r1, r10 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02158554 bl func_ov15_0215a1b8 tst r4, r0 movne r4, r8 moveq r4, r7 _02158554: add r9, r9, #1 cmp r9, #3 add r10, r10, #8 blt _02158530 strb r4, [r5, #0x179] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0215846c _0215856c: .word data_027e0e60 _02158570: .word data_027e0fe4 .global func_ov15_02158574 arm_func_start func_ov15_02158574 func_ov15_02158574: ; 0x02158574 stmdb sp!, {r3, lr} ldr r1, _021585a0 ; =data_027e0fe0 mov r0, #0x2f4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_021585d0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02158574 _021585a0: .word data_027e0fe0 .global func_ov15_021585a4 arm_func_start func_ov15_021585a4 func_ov15_021585a4: ; 0x021585a4 stmdb sp!, {r4, lr} ldr r3, _021585c8 ; =data_ov15_02186564 mov r2, #0xa4 mov r4, r0 bl func_ov00_020c607c ldr r1, _021585cc ; =data_ov15_0218c46c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021585a4 _021585c8: .word data_ov15_02186564 _021585cc: .word data_ov15_0218c46c .global func_ov15_021585d0 arm_func_start func_ov15_021585d0 func_ov15_021585d0: ; 0x021585d0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr r0, _02158644 ; =data_ov15_0218c3a4 ldr ip, _02158648 ; =func_ov15_02123d44 str r0, [r4] ldr r3, _0215864c ; =func_ov15_02158650 add r0, r4, #0x184 mov r1, #4 mov r2, #0xc str ip, [sp] bl func_0204f614 ldr ip, _02158648 ; =func_ov15_02123d44 ldr r3, _0215864c ; =func_ov15_02158650 add r0, r4, #0x1b4 mov r1, #4 mov r2, #0xc str ip, [sp] bl func_0204f614 mov r1, r4 add r0, r4, #0x1e4 bl func_ov15_021585a4 mov r1, #0 mov r0, r4 strb r1, [r4, #0x2f3] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021585d0 _02158644: .word data_ov15_0218c3a4 _02158648: .word func_ov15_02123d44 _0215864c: .word func_ov15_02158650 .global func_ov15_02158650 arm_func_start func_ov15_02158650 func_ov15_02158650: ; 0x02158650 mov r2, #0 str r2, [r0] sub r1, r2, #1 stmib r0, {r1, r2} bx lr arm_func_end func_ov15_02158650 .global func_ov15_02158664 arm_func_start func_ov15_02158664 func_ov15_02158664: ; 0x02158664 stmdb sp!, {r4, lr} ldr r1, _021586ec ; =data_ov15_0218c3a4 mov r4, r0 str r1, [r4] ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 beq _021586a4 ldr r0, _021586f0 ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _021586a4 add r1, r4, #8 bl func_ov15_021583d0 _021586a4: add r0, r4, #0x260 blx func_ov00_020a9b6c add r0, r4, #0x204 blx func_ov00_020a95a4 ldr r3, _021586f4 ; =func_ov15_02123d44 add r0, r4, #0x1b4 mov r1, #4 mov r2, #0xc bl func_0204f754 ldr r3, _021586f4 ; =func_ov15_02123d44 add r0, r4, #0x184 mov r1, #4 mov r2, #0xc bl func_0204f754 mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02158664 _021586ec: .word data_ov15_0218c3a4 _021586f0: .word data_027e0fe4 _021586f4: .word func_ov15_02123d44 .global func_ov15_021586f8 arm_func_start func_ov15_021586f8 func_ov15_021586f8: ; 0x021586f8 stmdb sp!, {r4, lr} ldr r1, _02158788 ; =data_ov15_0218c3a4 mov r4, r0 str r1, [r4] ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 beq _02158738 ldr r0, _0215878c ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02158738 add r1, r4, #8 bl func_ov15_021583d0 _02158738: add r0, r4, #0x260 blx func_ov00_020a9b6c add r0, r4, #0x204 blx func_ov00_020a95a4 ldr r3, _02158790 ; =func_ov15_02123d44 add r0, r4, #0x1b4 mov r1, #4 mov r2, #0xc bl func_0204f754 ldr r3, _02158790 ; =func_ov15_02123d44 add r0, r4, #0x184 mov r1, #4 mov r2, #0xc bl func_0204f754 mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021586f8 _02158788: .word data_ov15_0218c3a4 _0215878c: .word data_027e0fe4 _02158790: .word func_ov15_02123d44 .global func_ov15_02158794 arm_func_start func_ov15_02158794 func_ov15_02158794: ; 0x02158794 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _021588d8 ; =data_027e0d0c mov r4, r0 ldr r0, [r3] mov r6, #0x1800 str r0, [r4, #0x7c] ldr r1, [r3, #4] mov r0, #0x800 str r1, [r4, #0x80] ldr r1, [r3, #8] sub r5, r6, #0x2800 str r1, [r4, #0x84] str r0, [r4, #0x88] ldr r0, [r4, #0x7c] add r2, r4, #0x200 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] mov lr, #0x32 str r0, [r4, #0x90] ldr r0, [r4, #0x84] mov r1, #0 str r0, [r4, #0x94] ldr r7, [r4, #0x88] add r0, r4, #0x1e4 str r7, [r4, #0x98] ldr r7, [r3] mov ip, #4 str r7, [r4, #0xa8] ldr r7, [r3, #4] str r7, [r4, #0xac] ldr r3, [r3, #8] str r3, [r4, #0xb0] str r6, [r4, #0xb4] str r5, [r4, #0x4c] ldr r3, [r4, #0x48] str r3, [r4, #0x54] ldr r3, [r4, #0x4c] str r3, [r4, #0x58] ldr r3, [r4, #0x50] str r3, [r4, #0x5c] strh lr, [r2, #0xec] str r1, [r4, #0x2e4] strb ip, [r4, #0x124] bl func_ov00_020c5d74 ldr ip, _021588dc ; =data_ov15_02186504 ldr r1, _021588e0 ; =data_ov15_0218650c mov r6, r4 mov r5, #0 mov r2, #2 _02158858: mov r0, r5, lsl #0x1 ldrsh r3, [ip, r0] add r5, r5, #1 ldrsh r0, [r1, r0] str r3, [r6, #0x188] str r2, [r6, #0x18c] str r0, [r6, #0x1b8] str r2, [r6, #0x1bc] cmp r5, #4 add r6, r6, #0xc blt _02158858 ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 bne _021588a4 mov r0, r4 mov r1, #0 bl func_ov15_021588e4 b _021588d0 _021588a4: ldrh r0, [r4, #0x20] add r2, r4, #0x200 mov r1, #1 cmp r0, #0 movne r0, #1 moveq r0, #0 strb r0, [r4, #0x2f0] ldrsh r3, [r4, #0x78] mov r0, r4 strh r3, [r2, #0xea] bl func_ov15_021588e4 _021588d0: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02158794 _021588d8: .word data_027e0d0c _021588dc: .word data_ov15_02186504 _021588e0: .word data_ov15_0218650c .global func_ov15_021588e4 arm_func_start func_ov15_021588e4 func_ov15_021588e4: ; 0x021588e4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x24 mov r4, r1 mov r5, r0 mov r1, #1 strb r1, [r5, #0x181] mov r2, #0x800 str r2, [r5, #0x88] cmp r4, #9 addls pc, pc, r4, lsl #2 b _02158c9c _02158910: ; jump table b _02158938 ; case 0 b _021589f8 ; case 1 b _02158aec ; case 2 b _02158b30 ; case 3 b _02158b38 ; case 4 b _02158bd8 ; case 5 b _02158c38 ; case 6 b _02158c38 ; case 7 b _02158c48 ; case 8 b _02158c7c ; case 9 _02158938: mov r0, #0 strb r0, [r5, #0x181] rsb r2, r1, #0x10000 strh r2, [r5, #0x7a] ldr r3, _02158cb0 ; =data_027e0d0c ldr r2, _02158cb4 ; =data_027e0764 ldr r6, [r3] str r6, [r5, #0x60] ldr r6, [r3, #4] str r6, [r5, #0x64] ldr r3, [r3, #8] str r3, [r5, #0x68] ldr r6, [r2] ldmib r2, {r3, r7} umull r9, r8, r7, r6 mla r8, r7, r3, r8 ldr r3, [r2, #0xc] ldr r10, [r2, #0x10] mla r8, r3, r6, r8 ldr r7, [r2, #0x14] adds r9, r10, r9 adc r6, r7, r8 str r9, [r2] mov r3, r6, asr #0x1f str r6, [r2, #4] tst r3, #1 moveq r1, r0 ldr r2, _02158cb4 ; =data_027e0764 strb r1, [r5, #0x2f0] ldr r1, [r2] ldmib r2, {r0, r3} umull r7, r6, r3, r1 mla r6, r3, r0, r6 ldr r0, [r2, #0xc] ldr r3, [r2, #0x10] mla r6, r0, r1, r6 ldr r0, [r2, #0x14] adds r3, r3, r7 adc r1, r0, r6 str r3, [r2] str r1, [r2, #4] mov r3, r1, lsr #0x10 add r2, r5, #0x200 mov r0, r5 mov r1, #0 strh r3, [r2, #0xea] bl func_ov15_02159d80 b _02158c9c _021589f8: mov r0, #3 strh r0, [r5, #0x7a] add r0, r5, #0x200 ldrsh r0, [r0, #0xea] ldr r1, _02158cb8 ; =data_02050f54 mov ip, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r3, r0, lsl #0x1 ldrsh r9, [r1, r3] add r0, r0, #1 mov r0, r0, lsl #0x1 mov r3, #0x7000 ldrsh r6, [r1, r0] umull r0, r10, r9, r3 adds r1, r0, r2 umull r8, r7, r6, r3 mla r10, r9, ip, r10 mov r0, r9, asr #0x1f mla r10, r0, r3, r10 adc r0, r10, #0 adds r8, r8, r2 mov r1, r1, lsr #0xc mla r7, r6, ip, r7 mov r2, r6, asr #0x1f mla r7, r2, r3, r7 ldr lr, _02158cbc ; =data_027e0f94 orr r1, r1, r0, lsl #20 ldr r6, [lr] adc r0, r7, #0 mov r2, r8, lsr #0xc orr r2, r2, r0, lsl #20 ldr r3, [lr, #8] add r1, r6, r1 str r1, [r5, #0x48] add r1, r3, r2 str r1, [r5, #0x50] ldr r0, _02158cc0 ; =data_027e0fac add r1, r5, #0x48 ldrsh r2, [r0] ldr r0, _02158cc4 ; =data_027e0c68 strh r2, [r5, #0x78] bl func_ov15_02185b0c add r0, sp, #0xc bl func_ov15_0215cef8 ldr r0, [sp, #0xc] mov r2, #0 str r0, [r5, #0x60] ldr r0, [sp, #0x10] add r1, r5, #0x200 str r0, [r5, #0x64] ldr r3, [sp, #0x14] mov r0, r5 str r3, [r5, #0x68] str r2, [r5, #0x64] strh r2, [r1, #0xee] mov r1, #1 bl func_ov15_02159d80 b _02158c9c _02158aec: bl _ZN5Actor14GetAngleToLinkEv add r1, r0, #0x8000 add r0, r5, #0x200 strh r1, [r0, #0xea] mov r1, #0 strh r1, [r0, #0xee] str r1, [r5, #0x2e4] ldr r0, [r5, #0x1f8] cmp r0, #0 cmpne r0, #1 beq _02158b20 add r0, r5, #0x1e4 bl func_ov00_020c5d74 _02158b20: mov r0, r5 mov r1, #1 bl func_ov15_02159d80 b _02158c9c _02158b30: bl func_ov15_02159d80 b _02158c9c _02158b38: ldr r1, [r5, #0x48] ldr r0, _02158cc8 ; =data_027e0e60 str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r5, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r2, [r5, #0x4c] ldr r1, _02158ccc ; =data_ov15_0218c384 sub r0, r0, r2 add r2, r0, #0x2000 ldr r0, [r1, #0x10] mov r1, r2, lsl #0x1 smull r2, r0, r1, r0 adds r1, r2, #0x800 mov lr, r1, lsr #0xc adc r0, r0, #0 orr lr, lr, r0, lsl #20 mov r0, #0x1d000 umull r2, r3, lr, r0 mov r1, #0 adds ip, r2, #0x800 mla r3, lr, r1, r3 mov r2, lr, asr #0x1f mla r3, r2, r0, r3 adc r0, r3, #0 mov r2, ip, lsr #0xc orr r2, r2, r0, lsl #20 str lr, [r5, #0x6c] ldr r0, _02158cd0 ; =0x00000ccd str r2, [r5, #0x64] str r0, [r5, #0x88] mov r0, r5 strb r1, [r5, #0x2f2] bl func_ov15_02159d80 b _02158c9c _02158bd8: ldr r2, [r5, #0x34] sub r0, r1, #2 cmp r2, r0 beq _02158c04 ldr r0, _02158cd4 ; =data_027e0fe4 add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r1, #1 strneb r1, [r0, #0x177] _02158c04: add r0, r5, #0x60 add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, #0 mov r0, r3 str r1, [sp, #0x1c] bl func_01ff9cec str r0, [r5, #0x2e0] add r0, r5, #0x1e4 mov r1, #4 bl func_ov00_020c5d74 b _02158c9c _02158c38: ldr r0, [r5, #0x1f4] mov r1, #0x1000 str r1, [r0, #0x10] b _02158c9c _02158c48: mov r0, #0 strb r0, [r5, #0x181] sub r2, r0, #1 str r2, [r5, #0x88] add r0, r5, #0x1e4 mov r1, #3 str r2, [r5, #0x98] bl func_ov00_020c5d74 ldr r0, _02158cd8 ; =data_027e0ffc ldr r1, _02158cdc ; =0x000003bd add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _02158c7c: mov r0, #0 strb r0, [r5, #0x181] sub r0, r0, #1 str r0, [r5, #0x88] str r0, [r5, #0x98] ldr r0, [r5, #0x1f4] mov r1, #0x1000 str r1, [r0, #0x10] _02158c9c: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_021588e4 _02158cb0: .word data_027e0d0c _02158cb4: .word data_027e0764 _02158cb8: .word data_02050f54 _02158cbc: .word data_027e0f94 _02158cc0: .word data_027e0fac _02158cc4: .word data_027e0c68 _02158cc8: .word data_027e0e60 _02158ccc: .word data_ov15_0218c384 _02158cd0: .word 0x00000ccd _02158cd4: .word data_027e0fe4 _02158cd8: .word data_027e0ffc _02158cdc: .word 0x000003bd .global func_ov15_02158ce0 arm_func_start func_ov15_02158ce0 func_ov15_02158ce0: ; 0x02158ce0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x4c mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #9 addls pc, pc, r1, lsl #2 b _02159268 _02158cfc: ; jump table b _02158d24 ; case 0 b _02158d48 ; case 1 b _02158e14 ; case 2 b _02158fbc ; case 3 b _02158fc0 ; case 4 b _021590c4 ; case 5 b _021590c4 ; case 6 b _021590c4 ; case 7 b _02159228 ; case 8 b _02159234 ; case 9 _02158d24: ldr r0, _02159270 ; =data_027e0d0c add sp, sp, #0x4c ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] str r1, [r4, #0x64] ldr r0, [r0, #8] str r0, [r4, #0x68] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02158d48: add r0, sp, #0x10 bl func_ov15_0215cef8 ldr r0, [sp, #0x10] add r5, r4, #0x200 str r0, [r4, #0x60] ldr r0, [sp, #0x14] ldr r2, _02159274 ; =data_02050f54 str r0, [r4, #0x64] ldr r0, [sp, #0x18] mov ip, #0 str r0, [r4, #0x68] ldrh r0, [r5, #0xee] mov r3, #0x52 ldr r1, [r4, #0x60] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r7, [r2, r0] mov r6, #0x29 mov r0, r4 umull r9, r8, r7, r3 mla r8, r7, ip, r8 mov r7, r7, asr #0x1f mla r8, r7, r3, r8 adds r9, r9, #0x800 adc r3, r8, #0 mov r7, r9, lsr #0xc orr r7, r7, r3, lsl #20 add r1, r1, r7 str r1, [r4, #0x60] ldrh r3, [r5, #0xee] ldr r1, [r4, #0x68] mov r3, r3, asr #0x4 mov r3, r3, lsl #0x1 add r3, r3, #1 mov r3, r3, lsl #0x1 ldrsh r2, [r2, r3] umull r5, r3, r2, r6 mla r3, r2, ip, r3 mov r2, r2, asr #0x1f mla r3, r2, r6, r3 adds r5, r5, #0x800 adc r2, r3, #0 mov r3, r5, lsr #0xc orr r3, r3, r2, lsl #20 add r1, r1, r3 str r1, [r4, #0x68] bl func_ov15_02159b70 mov r0, r4 bl func_ov15_02159db8 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02158e14: ldr r0, _02159278 ; =data_027e0f94 add r3, sp, #0x40 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x200 ldrh r0, [r0, #0xea] ldr r1, _02159274 ; =data_02050f54 mov r3, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r2, r0, lsl #0x1 add r0, r0, #1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r1, [r1, r0] mov r0, #0x7000 umull r8, r7, r6, r0 mla r7, r6, r3, r7 umull r5, r2, r1, r0 mla r2, r1, r3, r2 mov r6, r6, asr #0x1f mov r1, r1, asr #0x1f mla r2, r1, r0, r2 mla r7, r6, r0, r7 adds r8, r8, #0x800 adc r6, r7, #0 mov r7, r8, lsr #0xc adds r5, r5, #0x800 adc r0, r2, #0 ldr r1, [sp, #0x40] orr r7, r7, r6, lsl #20 add r6, r1, r7 mov r1, r5, lsr #0xc ldr r2, [sp, #0x48] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [sp, #0x48] str r6, [sp, #0x40] add r0, r4, #0x48 add r5, sp, #0x34 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} sub r1, r3, #0x80000001 str r1, [sp] ldr r1, [sp, #0x40] mov r0, r5 mov r2, #0x200 bl func_0202b418 mvn r0, #0x80000000 str r0, [sp] ldr r1, [sp, #0x48] add r0, sp, #0x3c mov r2, #0x200 mov r3, #0 bl func_0202b418 ldr r1, [sp, #0x34] ldr r0, [r4, #0x48] add r5, r4, #0x200 sub r0, r1, r0 str r0, [r4, #0x60] ldr r1, [sp, #0x3c] ldr r0, [r4, #0x50] ldr r2, _02159274 ; =data_02050f54 sub r0, r1, r0 str r0, [r4, #0x68] ldrh r0, [r5, #0xee] mov ip, #0 mov r3, #0x52 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r7, [r2, r0] ldr r1, [r4, #0x60] mov r6, #0x29 umull r9, r8, r7, r3 mla r8, r7, ip, r8 mov lr, r7, asr #0x1f adds r7, r9, #0x800 mla r8, lr, r3, r8 adc r3, r8, #0 mov r7, r7, lsr #0xc orr r7, r7, r3, lsl #20 add r1, r1, r7 str r1, [r4, #0x60] ldrh r3, [r5, #0xee] ldr r1, [r4, #0x68] mov r0, r4 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x1 add r3, r3, #1 mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] umull lr, r5, r3, r6 mla r5, r3, ip, r5 mov r2, r3, asr #0x1f adds r3, lr, #0x800 mla r5, r2, r6, r5 adc r2, r5, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 add r1, r1, r3 str r1, [r4, #0x68] bl func_ov15_02159b70 mov r0, r4 bl func_ov15_02159db8 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02158fbc: bl func_ov15_02159db8 _02158fc0: ldr r0, _02159278 ; =data_027e0f94 add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x200 ldrh r0, [r0, #0xea] ldr r1, _02159274 ; =data_02050f54 mov r3, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r2, r0, lsl #0x1 add r0, r0, #1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r1, [r1, r0] mov r0, #0x5000 umull lr, ip, r6, r0 mla ip, r6, r3, ip umull r5, r2, r1, r0 mla r2, r1, r3, r2 mov r6, r6, asr #0x1f mov r1, r1, asr #0x1f mla r2, r1, r0, r2 mla ip, r6, r0, ip adds lr, lr, #0x800 adc r6, ip, #0 mov ip, lr, lsr #0xc adds r5, r5, #0x800 adc r0, r2, #0 ldr r1, [sp, #0x28] orr ip, ip, r6, lsl #20 add r6, r1, ip mov r1, r5, lsr #0xc ldr r2, [sp, #0x30] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [sp, #0x30] str r6, [sp, #0x28] add r0, r4, #0x48 add r5, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} sub r1, r3, #0x80000001 str r1, [sp] ldr r1, [sp, #0x28] ldr r2, _0215927c ; =0x0000019a mov r0, r5 bl func_0202b418 mvn r0, #0x80000000 str r0, [sp] ldr r1, [sp, #0x30] ldr r2, _0215927c ; =0x0000019a add r0, sp, #0x24 mov r3, #0 bl func_0202b418 ldr r1, [sp, #0x1c] ldr r0, [r4, #0x48] sub r0, r1, r0 str r0, [r4, #0x60] ldr r1, [sp, #0x24] ldr r0, [r4, #0x50] add sp, sp, #0x4c sub r0, r1, r0 str r0, [r4, #0x68] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021590c4: ldrh r1, [r4, #0x78] ldr r5, _02159274 ; =data_02050f54 ldr r2, [r4, #0x2e0] mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 mov r1, r6, lsl #0x1 ldrsh r3, [r5, r1] add r1, r6, #1 ldr r0, [r4, #0x1f4] smull r6, r2, r3, r2 adds r3, r6, #0x800 ldr r6, [r0, #0x14] adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 mov r1, r1, lsl #0x1 str r3, [r4, #0x60] ldrsh r2, [r5, r1] ldr r1, [r4, #0x2e0] ldr r0, _02159280 ; =data_027e0e60 smull r3, r1, r2, r1 adds r2, r3, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r4, #0x68] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x4c] add r1, sp, #4 str r2, [sp, #8] ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0xc] bl func_ov00_02083ee0 ldr r1, [r4, #0x1f8] mov r5, r0 cmp r1, #4 bne _0215920c cmp r6, #0xe000 mov r0, r4 bge _0215917c mov r1, #1 bl func_ov15_02159d80 b _02159184 _0215917c: mov r1, #2 bl func_ov15_02159d80 _02159184: ldr r0, [r4, #0x1f4] ldr r0, [r0, #0x14] cmp r0, #0x42000 ldr r0, [r4, #0x4c] bgt _021591d0 cmp r0, r5 bge _021591bc sub r0, r5, r0 cmp r0, #0x66 movgt r0, #0x66 strgt r0, [r4, #0x64] add sp, sp, #0x4c strle r0, [r4, #0x64] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021591bc: mov r0, #0 str r0, [r4, #0x64] add sp, sp, #0x4c str r5, [r4, #0x4c] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021591d0: sub r1, r5, #0x800 cmp r0, r1 bge _021591f0 mov r0, #0 str r0, [r4, #0x64] add sp, sp, #0x4c str r1, [r4, #0x4c] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021591f0: sub r1, r0, r1 mvn r0, #0x9c cmp r1, r0 strgt r0, [r4, #0x64] add sp, sp, #0x4c strle r1, [r4, #0x64] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215920c: mov r0, r4 mov r1, #1 bl func_ov15_02159d80 mov r0, r4 bl func_ov15_02159b70 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02159228: bl _ZN5Actor12ApplyGravityEv add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02159234: mov r1, #0 mvn r5, #0x80000000 mov r3, r1 add r0, r4, #0x60 mov r2, #0x66 str r5, [sp] bl func_0202b418 mov r1, #0 mov r3, r1 add r0, r4, #0x68 mov r2, #0x66 str r5, [sp] bl func_0202b418 _02159268: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02158ce0 _02159270: .word data_027e0d0c _02159274: .word data_02050f54 _02159278: .word data_027e0f94 _0215927c: .word 0x0000019a _02159280: .word data_027e0e60 .global func_ov15_02159284 arm_func_start func_ov15_02159284 func_ov15_02159284: ; 0x02159284 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, [r4, #0x130] ldr r1, _0215936c ; =data_ov15_02186514 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _021592b8 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _021592b8: blx r1 add r0, r4, #0x1e4 bl func_ov00_020c5e20 ldr r0, [r4, #0x1f4] ldr r0, [r0, #0x14] cmp r0, #0 bne _02159348 ldr r0, [r4, #0x1f8] mov r1, #0 cmp r0, #0 bne _02159340 ldr r2, _02159370 ; =data_027e0764 ldr r3, [r2] ldmib r2, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds r6, ip, r5 adc r5, r0, lr mov r0, #0x64 umull r3, ip, r5, r0 mla ip, r5, r1, ip mla ip, r1, r0, ip str r6, [r2] str r5, [r2, #4] cmp ip, #0xa bge _02159348 add r0, r4, #0x1e4 mov r1, #1 bl func_ov00_020c5d74 b _02159348 _02159340: add r0, r4, #0x1e4 bl func_ov00_020c5d74 _02159348: mov r0, r4 bl func_ov15_02159e3c ldr r0, _02159374 ; =data_027e10a4 mov r2, #1 ldr r1, [r0] mov r0, #0 strb r2, [r1, #0x4d4] strb r0, [r4, #0x2f1] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02159284 _0215936c: .word data_ov15_02186514 _02159370: .word data_027e0764 _02159374: .word data_027e10a4 .global func_ov15_02159378 arm_func_start func_ov15_02159378 func_ov15_02159378: ; 0x02159378 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _021593a4 ; =data_027e0f94 add r1, r4, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x7000 ldmgeia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov15_021588e4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02159378 _021593a4: .word data_027e0f94 .global func_ov15_021593a8 arm_func_start func_ov15_021593a8 func_ov15_021593a8: ; 0x021593a8 stmdb sp!, {r4, lr} ldr r1, _021593f4 ; =data_027e0fac mov r4, r0 ldrsh r1, [r1] add r0, r4, #0x200 strh r1, [r4, #0x78] ldrsh r1, [r0, #0xee] add r1, r1, #0x16c strh r1, [r0, #0xee] ldr r0, [r4, #0x138] cmp r0, #0x96 bge _021593e4 bl func_ov15_0215cf38 cmp r0, #0xcd ldmgeia sp!, {r4, pc} _021593e4: mov r0, r4 mov r1, #2 bl func_ov15_021588e4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021593a8 _021593f4: .word data_027e0fac .global func_ov15_021593f8 arm_func_start func_ov15_021593f8 func_ov15_021593f8: ; 0x021593f8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_ov15_02159bec add r0, r4, #0x200 ldrsh r1, [r0, #0xee] add r1, r1, #0x16c strh r1, [r0, #0xee] ldr r0, [r4, #0x2e4] add r0, r0, #1 str r0, [r4, #0x2e4] cmp r0, #0xa ldmltia sp!, {r3, r4, r5, pc} mov r0, #0 str r0, [r4, #0x2e4] bl func_ov15_0215cf38 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, _02159508 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds ip, ip, r5 adc r5, r0, lr mov r0, #0x64000 umull r3, lr, r5, r0 mla lr, r5, r1, lr mla lr, r1, r0, lr str ip, [r2] str r5, [r2, #4] cmp lr, #0x4000 bgt _0215949c mov r0, r4 mov r1, #3 bl func_ov15_021588e4 ldmia sp!, {r3, r4, r5, pc} _0215949c: ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} cmp lr, #0xe000 ldmgtia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 beq _021594f8 ldr r0, _0215950c ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _021594f8 ldrb r0, [r0, #0x177] cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _021594f8: mov r0, r4 mov r1, #5 bl func_ov15_021588e4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021593f8 _02159508: .word data_027e0764 _0215950c: .word data_027e0fe4 .global func_ov15_02159510 arm_func_start func_ov15_02159510 func_ov15_02159510: ; 0x02159510 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02159bec mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x5800 bge _0215956c ldr r0, [r4, #0x1f8] cmp r0, #2 beq _02159544 add r0, r4, #0x1e4 mov r1, #2 bl func_ov00_020c5d74 _02159544: ldr r0, _02159578 ; =0xfffffe66 str r0, [r4, #0x64] ldr r0, [r4, #0x1f4] ldr r0, [r0, #0x14] cmp r0, #0xc000 ldmltia sp!, {r4, pc} mov r0, r4 mov r1, #4 bl func_ov15_021588e4 ldmia sp!, {r4, pc} _0215956c: mov r0, r4 bl func_ov15_02159b70 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02159510 _02159578: .word 0xfffffe66 .global func_ov15_0215957c arm_func_start func_ov15_0215957c func_ov15_0215957c: ; 0x0215957c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r5, r0 ldr r1, [r5, #0x1f4] ldr r6, [r1, #0x14] cmp r6, #0x2b000 bge _0215969c ldr r1, [r5, #0x48] ldr r0, _021597b8 ; =data_027e0e60 str r1, [sp, #0x14] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0x18] ldr r3, [r5, #0x50] add r1, sp, #0x14 mov r2, #0 str r3, [sp, #0x1c] bl func_ov00_02083ee0 mov r4, r0 cmp r6, #0x2a000 bne _021595fc ldr r1, [r5, #0x4c] ldr r0, _021597bc ; =data_ov15_0218c384 sub r1, r1, r4 ldr r0, [r0, #0x14] mov r1, r1, lsl #0x1 smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r5, #0x6c] _021595fc: mov r0, r5 bl _ZN5Actor12ApplyGravityEv ldr r0, [r5, #0x58] cmp r0, r4 addgt sp, sp, #0x38 ldmgtia sp!, {r4, r5, r6, pc} ldr r0, [r5, #0x4c] cmp r0, r4 addle sp, sp, #0x38 ldmleia sp!, {r4, r5, r6, pc} add r0, r5, #0x48 add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, _021597c0 ; =0x00000d9a mov r0, r3 mov r2, #0 str r4, [sp, #0x30] bl func_ov00_020c74c8 mov r2, #0 ldr r1, _021597c0 ; =0x00000d9a add r0, sp, #0x2c mov r3, r2 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021597c4 ; =data_027e0e58 add r2, sp, #0x2c ldr r0, [r0] mov r1, #0x9e mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021597c8 ; =data_027e0ffc ldr r1, _021597cc ; =0x000003ba add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _0215969c: ldrb r1, [r5, #0x2f2] cmp r1, #0 bne _0215976c bl _ZN5Actor12ApplyGravityEv ldr r1, [r5, #0x48] ldr r0, _021597b8 ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r2, [r5, #0x50] add r1, sp, #8 str r2, [sp, #0x10] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r5, #0x4c] mov r4, r0 cmp r1, r4 addgt sp, sp, #0x38 ldmgtia sp!, {r4, r5, r6, pc} add r0, r5, #0x48 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, _021597c0 ; =0x00000d9a mov r0, r3 mov r2, #0 str r4, [sp, #0x24] bl func_ov00_020c74c8 mov r2, #0 ldr r1, _021597c0 ; =0x00000d9a add r0, sp, #0x20 mov r3, r2 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021597c4 ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x9e mov r3, #2 bl func_ov00_0207c1b0 mov r0, #1 strb r0, [r5, #0x2f2] rsb r1, r0, #0x3bc ldr r0, _021597c8 ; =data_027e0ffc add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} _0215976c: ldr r2, [r5, #0x6c] add r0, r5, #0x64 mov r1, #0 bl Approach_thunk ldr r0, [r5, #0x64] cmp r0, #0 addne sp, sp, #0x38 ldmneia sp!, {r4, r5, r6, pc} ldr r0, [r5, #0x1f4] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #2 bl func_ov15_021588e4 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215957c _021597b8: .word data_027e0e60 _021597bc: .word data_ov15_0218c384 _021597c0: .word 0x00000d9a _021597c4: .word data_027e0e58 _021597c8: .word data_027e0ffc _021597cc: .word 0x000003ba .global func_ov15_021597d0 arm_func_start func_ov15_021597d0 func_ov15_021597d0: ; 0x021597d0 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r1, #0 mov r4, r0 str r1, [sp] ldr r3, [r4, #8] ldr r0, _02159980 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x3bc bl func_ov00_020cec60 mov r0, r4 bl func_ov15_02159bec ldr r1, [r4, #0x1f4] add ip, sp, #4 ldr r0, [r1, #0x14] mov r5, #0 cmp r0, #0x42000 movge r0, #0 strge r0, [r1, #0x10] ldr r0, _02159984 ; =data_027e0f94 mov lr, #0xb000 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} add r2, r4, #0x200 ldrh r0, [r2, #0xea] ldr r1, _02159988 ; =data_02050f54 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [r1, r0] ldr r0, [sp, #4] umull r7, r6, r3, lr mla r6, r3, r5, r6 mov r3, r3, asr #0x1f mla r6, r3, lr, r6 adds r7, r7, #0x800 adc r3, r6, #0 mov r6, r7, lsr #0xc orr r6, r6, r3, lsl #20 add r0, r0, r6 str r0, [sp, #4] ldrh r2, [r2, #0xea] mov r0, ip ldr r3, [sp, #0xc] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r2, ip add r1, r4, #0x48 umull r8, r7, r6, lr mla r7, r6, r5, r7 mov ip, r6, asr #0x1f adds r6, r8, #0x800 mla r7, ip, lr, r7 adc r5, r7, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 add r3, r3, r6 str r3, [sp, #0xc] bl func_01ff9bf8 ldr r0, [sp, #4] ldr r1, [sp, #0xc] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 mvn r0, #0x80000000 str r0, [sp] ldr r1, _0215998c ; =0x000002e1 add r0, r4, #0x2e0 mov r2, #0x200 mov r3, #0 bl func_0202b418 mov r1, r5 add r0, r4, #0x78 mov r2, #0x5b0 bl func_0202b154 mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0xa000 addlt sp, sp, #0x10 ldmltia sp!, {r4, r5, r6, r7, r8, pc} ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 mov r0, r4 beq _02159940 mov r1, #6 bl func_ov15_021588e4 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02159940: mov r1, #2 bl func_ov15_021588e4 ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _02159990 ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x177] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021597d0 _02159980: .word data_027e0ffc _02159984: .word data_027e0f94 _02159988: .word data_02050f54 _0215998c: .word 0x000002e1 _02159990: .word data_027e0fe4 .global func_ov15_02159994 arm_func_start func_ov15_02159994 func_ov15_02159994: ; 0x02159994 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #0 mov r4, r0 str r1, [sp] ldr r3, [r4, #8] ldr r0, _02159a38 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x3bc bl func_ov00_020cec60 ldr r1, [r4, #0x1f4] mvn ip, #0x80000000 ldr r0, [r1, #0x14] mov r2, #0x200 cmp r0, #0x42000 movge r0, #0 strge r0, [r1, #0x10] ldr r1, _02159a3c ; =0x000002e1 add r0, r4, #0x2e0 mov r3, #0 str ip, [sp] bl func_0202b418 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 add r0, r4, #0x78 mov r2, #0x5b0 bl func_0202b154 mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x1000 bge _02159a20 mov r0, r4 mov r1, #7 bl func_ov15_021588e4 _02159a20: mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv add r1, r4, #0x200 strh r0, [r1, #0xea] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159994 _02159a38: .word data_027e0ffc _02159a3c: .word 0x000002e1 .global func_ov15_02159a40 arm_func_start func_ov15_02159a40 func_ov15_02159a40: ; 0x02159a40 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1f4] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02159a68 add r0, r4, #0x1e4 mov r1, #0 bl func_ov00_020c5d74 _02159a68: mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x7000 ble _02159ac8 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv add r1, r0, #0x8000 add r0, r4, #0x200 strh r1, [r0, #0xea] ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 beq _02159ab8 ldr r0, _02159ae8 ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x177] _02159ab8: mov r0, r4 mov r1, #2 bl func_ov15_021588e4 ldmia sp!, {r4, pc} _02159ac8: cmp r0, #0x3800 ldmleia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv add r1, r0, #0x8000 add r0, r4, #0x200 strh r1, [r0, #0xea] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02159a40 _02159ae8: .word data_027e0fe4 .global func_ov15_02159aec arm_func_start func_ov15_02159aec func_ov15_02159aec: ; 0x02159aec stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1f4] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_02123848 ldmia sp!, {r4, pc} arm_func_end func_ov15_02159aec .global func_ov15_02159b14 arm_func_start func_ov15_02159b14 func_ov15_02159b14: ; 0x02159b14 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1f8] cmp r0, #0 beq _02159b48 ldr r0, [r4, #0x1f4] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02159b48 add r0, r4, #0x1e4 mov r1, #0 bl func_ov00_020c5d74 _02159b48: ldr r1, _02159b6c ; =0xfffffe66 mov r0, #0x1000 str r1, [r4, #0x64] ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 movle r0, #0 strleb r0, [r4, #0x118] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02159b14 _02159b6c: .word 0xfffffe66 .global func_ov15_02159b70 arm_func_start func_ov15_02159b70 func_ov15_02159b70: ; 0x02159b70 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _02159be8 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r2, [r4, #0x4c] sub r1, r0, #0x800 cmp r2, r1 bge _02159bd4 sub r0, r1, r2 cmp r0, #0xa4 movgt r0, #0xa4 strgt r0, [r4, #0x64] add sp, sp, #0xc strle r0, [r4, #0x64] ldmia sp!, {r3, r4, pc} _02159bd4: mov r0, #0 str r0, [r4, #0x64] str r1, [r4, #0x4c] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159b70 _02159be8: .word data_027e0e60 .global func_ov15_02159bec arm_func_start func_ov15_02159bec func_ov15_02159bec: ; 0x02159bec stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r0, [r6, #0x60] add r2, r6, #0x200 ldr r1, [r6, #0x68] ldrh r4, [r2, #0xea] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldr r2, _02159d70 ; =0x00000444 mov r1, r0, asr #0x10 add r0, r6, #0x78 bl func_0202b154 ldrb r0, [r6, #0x2f1] cmp r0, #0 beq _02159c60 add r1, r6, #0x200 ldrh r2, [r1, #0xea] add r0, sp, #0 strh r2, [sp] ldrh r2, [r1, #0xec] ldrsh r1, [r1, #0xe8] mov r2, r2, lsl #0x11 mov r2, r2, asr #0x10 bl func_0202b154 ldrsh r1, [sp] add r0, r6, #0x200 strh r1, [r0, #0xea] b _02159c90 _02159c60: ldrb r0, [r6, #0x2f0] cmp r0, #0 add r0, r6, #0x200 ldrh r2, [r0, #0xea] beq _02159c84 ldrh r1, [r0, #0xec] add r1, r2, r1 strh r1, [r0, #0xea] b _02159c90 _02159c84: ldrh r1, [r0, #0xec] sub r1, r2, r1 strh r1, [r0, #0xea] _02159c90: ldr r1, _02159d74 ; =data_027e0fac mov r0, r6 ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv sub r0, r0, #0x8000 sub r0, r0, r5 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 movmi r0, r0, lsl #0x10 movmi r0, r0, asr #0x10 cmp r0, #0x2000 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, pc} add r0, r6, #0x200 ldrh r0, [r0, #0xea] sub r0, r0, r5 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 rsbmi r0, r1, #0 movmi r0, r0, lsl #0x10 movmi r1, r0, asr #0x10 ldr r0, _02159d78 ; =0x00001c72 cmp r1, r0 addle sp, sp, #4 ldmleia sp!, {r3, r4, r5, r6, pc} sub r0, r4, r5 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 movmi r0, r0, lsl #0x10 movmi r0, r0, asr #0x10 cmp r1, r0 addle sp, sp, #4 ldmleia sp!, {r3, r4, r5, r6, pc} ldrb r0, [r6, #0x2f0] teq r0, #1 movne r0, #1 moveq r0, #0 strb r0, [r6, #0x2f0] ldr r1, [r6, #0x34] mvn r0, #0 cmp r1, r0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _02159d7c ; =data_027e0fe4 add r1, r6, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} ldrb r1, [r6, #0x2f0] bl func_ov15_02158424 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02159bec _02159d70: .word 0x00000444 _02159d74: .word data_027e0fac _02159d78: .word 0x00001c72 _02159d7c: .word data_027e0fe4 .global func_ov15_02159d80 arm_func_start func_ov15_02159d80 func_ov15_02159d80: ; 0x02159d80 cmp r1, #1 beq _02159d94 cmp r1, #2 beq _02159da0 b _02159dac _02159d94: mov r1, #1 strb r1, [r0, #0x2f3] bx lr _02159da0: mov r1, #2 strb r1, [r0, #0x2f3] bx lr _02159dac: mov r1, #0 strb r1, [r0, #0x2f3] bx lr arm_func_end func_ov15_02159d80 .global func_ov15_02159db8 arm_func_start func_ov15_02159db8 func_ov15_02159db8: ; 0x02159db8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _02159e34 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r4, #0x50] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 ldr r1, _02159e38 ; =0xfffff4cd ldr r2, [r4, #0x4c] add r0, r0, r1 cmp r2, r0 movlt r0, #1 movge r0, #0 cmp r0, #0 mov r0, r4 beq _02159e24 mov r1, #0 bl func_ov15_02159d80 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _02159e24: mov r1, #1 bl func_ov15_02159d80 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02159db8 _02159e34: .word data_027e0e60 _02159e38: .word 0xfffff4cd .global func_ov15_02159e3c arm_func_start func_ov15_02159e3c func_ov15_02159e3c: ; 0x02159e3c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x3c str r0, [sp] ldrb r0, [r0, #0xa4] cmp r0, #0 ldreq r0, [sp] ldreqb r0, [r0, #0xa5] cmpeq r0, #0 beq _0215a16c ldr r0, [sp] ldrb r0, [r0, #0x2f3] cmp r0, #0 beq _0215a16c cmp r0, #1 mov r1, #0 bne _02159e90 mov r0, #0x400 str r1, [sp, #0x30] str r1, [sp, #0x34] str r0, [sp, #0x38] b _02159ea0 _02159e90: mov r0, #0x1000 str r1, [sp, #0x30] str r1, [sp, #0x34] str r0, [sp, #0x38] _02159ea0: ldr r0, [sp] ldr r2, [sp, #0x30] ldrh r0, [r0, #0x78] ldr r3, _0215a1a8 ; =data_02050f54 rsb r6, r2, #0 mov r0, r0, asr #0x4 mov r4, r0, lsl #0x1 add r0, r4, #1 mov r0, r0, lsl #0x1 ldrsh r0, [r3, r0] mov r4, r4, lsl #0x1 add r1, sp, #0x30 str r0, [sp, #0xc] ldrsh r0, [r3, r4] ldr r3, [sp, #0xc] str r0, [sp, #4] smull r4, r3, r2, r3 ldr r0, [sp, #0x38] adds r5, r4, #0x800 ldr r2, [sp, #4] adc r4, r3, #0 smull r2, r7, r0, r2 adds r10, r2, #0x800 ldr r2, [sp, #4] mov r5, r5, lsr #0xc smull r3, r8, r6, r2 adc r2, r7, #0 adds r9, r3, #0x800 ldr r6, [sp, #0xc] mov r3, r10, lsr #0xc orr r3, r3, r2, lsl #20 orr r5, r5, r4, lsl #20 add r3, r5, r3 str r3, [sp, #0x30] ldr r3, [sp, #4] smull r7, r6, r0, r6 adc r8, r8, #0 adds r7, r7, #0x800 mov r9, r9, lsr #0xc adc r0, r6, #0 mov r6, r7, lsr #0xc mov r3, r3, asr #0x1f str r3, [sp, #8] ldr r3, [sp, #0xc] orr r9, r9, r8, lsl #20 orr r6, r6, r0, lsl #20 add r0, r9, r6 str r0, [sp, #0x38] ldr r0, [sp] mov r3, r3, asr #0x1f mov r2, r1 add r0, r0, #0x48 str r3, [sp, #0x10] bl func_01ff9bc4 ldr r0, [sp] ldr r1, _0215a1ac ; =data_027e0e60 ldr r0, [r0, #0x48] str r0, [sp, #0x24] ldr r0, [sp] ldr r2, [r0, #0x4c] ldr r0, [r1] ldr r1, [sp] str r2, [sp, #0x28] ldr r2, [r1, #0x50] add r1, sp, #0x24 str r2, [sp, #0x2c] mov r2, #0 bl func_ov00_02083ee0 str r0, [sp, #0x34] mov r0, #0 ldr r7, [sp] str r0, [sp, #0x18] mov r0, r7 ldr r5, _0215a1b0 ; =data_ov15_021864ec add r6, r0, #0x184 add r8, r0, #0x1b4 _02159fd0: ldrsh r9, [r5] ldr r0, [sp] ldr r10, [sp, #0x10] rsb r2, r9, #0 mov ip, r2, asr #0x1f str ip, [sp, #0x1c] ldr ip, [sp, #0xc] ldrb r0, [r0, #0x2f3] umull lr, ip, r9, ip mla ip, r9, r10, ip mov r3, r9, asr #0x1f ldr r9, [sp, #0xc] ldrsh r1, [r5, #4] mla ip, r3, r9, ip adds r9, lr, #0x800 adc r3, ip, #0 mov lr, r9, lsr #0xc orr lr, lr, r3, lsl #20 ldr r3, [sp, #4] str r0, [sp, #0x20] umull r10, r3, r1, r3 adds r9, r10, #0x800 mov ip, r9, lsr #0xc ldr r9, [sp, #8] mov r0, r1, asr #0x1f mla r3, r1, r9, r3 ldr r9, [sp, #4] ldrsh r4, [r5, #2] mla r3, r0, r9, r3 adc r3, r3, #0 orr ip, ip, r3, lsl #20 add r3, lr, ip mov r3, r3, lsl #0x10 mov r3, r3, asr #0x10 str r3, [sp, #0x14] mov r3, r9 ldr r9, [sp, #8] umull ip, r3, r2, r3 mla r3, r2, r9, r3 ldr r9, [sp, #0x1c] ldr r2, [sp, #4] mla r3, r9, r2, r3 adds r9, ip, #0x800 adc r3, r3, #0 mov r2, r9, lsr #0xc orr r2, r2, r3, lsl #20 ldr r3, [sp, #0xc] umull r10, r9, r1, r3 ldr r3, [sp, #0x10] mla r9, r1, r3, r9 ldr r1, [sp, #0xc] mla r9, r0, r1, r9 mov r0, #0x800 adds r3, r10, r0 mov r0, #0 adc r1, r9, r0 ldr r0, [sp, #0x20] cmp r0, #1 mov r0, r3, lsr #0xc orr r0, r0, r1, lsl #20 add r0, r2, r0 mov r0, r0, lsl #0x10 mov r9, r0, asr #0x10 add r2, sp, #0x30 bne _0215a10c ldr r0, _0215a1b4 ; =data_027e0e58 mov r1, r6 ldr r0, [r0] bl func_ov00_0207c474 ldr r1, [r7, #0x184] cmp r1, #0 beq _0215a100 ldr r0, [sp, #0x14] strh r0, [r1, #0x50] strh r4, [r1, #0x52] strh r9, [r1, #0x54] _0215a100: mov r0, r8 bl func_ov00_020b7e6c b _0215a140 _0215a10c: ldr r0, _0215a1b4 ; =data_027e0e58 mov r1, r8 ldr r0, [r0] bl func_ov00_0207c474 ldr r1, [r7, #0x1b4] cmp r1, #0 beq _0215a138 ldr r0, [sp, #0x14] strh r0, [r1, #0x50] strh r4, [r1, #0x52] strh r9, [r1, #0x54] _0215a138: mov r0, r6 bl func_ov00_020b7e6c _0215a140: ldr r0, [sp, #0x18] add r5, r5, #6 add r0, r0, #1 add r6, r6, #0xc add r7, r7, #0xc add r8, r8, #0xc str r0, [sp, #0x18] cmp r0, #4 blt _02159fd0 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} _0215a16c: ldr r0, [sp] mov r6, #0 add r4, r0, #0x184 add r5, r0, #0x1b4 _0215a17c: mov r0, r4 bl func_ov00_020b7e6c mov r0, r5 bl func_ov00_020b7e6c add r6, r6, #1 cmp r6, #4 add r4, r4, #0xc add r5, r5, #0xc blt _0215a17c add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_02159e3c _0215a1a8: .word data_02050f54 _0215a1ac: .word data_027e0e60 _0215a1b0: .word data_ov15_021864ec _0215a1b4: .word data_027e0e58 .global func_ov15_0215a1b8 arm_func_start func_ov15_0215a1b8 func_ov15_0215a1b8: ; 0x0215a1b8 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] cmp r1, #9 addls pc, pc, r1, lsl #2 b _0215a204 _0215a1cc: ; jump table b _0215a1f4 ; case 0 b _0215a204 ; case 1 b _0215a204 ; case 2 b _0215a204 ; case 3 b _0215a1f4 ; case 4 b _0215a204 ; case 5 b _0215a1f4 ; case 6 b _0215a204 ; case 7 b _0215a1f4 ; case 8 b _0215a1fc ; case 9 _0215a1f4: mov r0, #0 ldmia sp!, {r3, pc} _0215a1fc: mov r0, #1 ldmia sp!, {r3, pc} _0215a204: mov r1, #9 bl func_ov15_021588e4 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov15_0215a1b8 .global func_ov15_0215a214 arm_func_start func_ov15_0215a214 func_ov15_0215a214: ; 0x0215a214 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #4 bne _0215a2dc ldr r1, [r1, #0x14] ldr r0, [r1, #0x60] ldr r1, [r1, #0x68] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _0215a2f0 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh lr, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r2, [r1, r0] mov r0, #0x148 umull r6, r5, lr, r0 mov r1, #0 mla r5, lr, r1, r5 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mov lr, lr, asr #0x1f adds r6, r6, #0x800 mla r5, lr, r0, r5 adc r5, r5, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 mla r3, r1, r0, r3 adds ip, ip, #0x800 str r6, [r4, #0x60] mov r2, #0x35c str r2, [r4, #0x64] adc r0, r3, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] mov r2, #0x56 mov r0, r4 mov r1, #8 str r2, [r4, #0x6c] bl func_ov15_021588e4 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215a2dc: sub r0, r0, #5 cmp r0, #1 movls r0, #1 movhi r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215a214 _0215a2f0: .word data_02050f54 .global func_ov15_0215a2f4 arm_func_start func_ov15_0215a2f4 func_ov15_0215a2f4: ; 0x0215a2f4 stmdb sp!, {r3, lr} cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x1e4 bl func_ov00_020c5f1c ldmia sp!, {r3, pc} arm_func_end func_ov15_0215a2f4 .global func_ov15_0215a318 arm_func_start func_ov15_0215a318 func_ov15_0215a318: ; 0x0215a318 stmdb sp!, {r3, lr} ldr r1, _0215a344 ; =data_027e0fe0 mov r0, #0x23c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0215a3b4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0215a318 _0215a344: .word data_027e0fe0 .global func_ov15_0215a348 arm_func_start func_ov15_0215a348 func_ov15_0215a348: ; 0x0215a348 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0215a368 ; =data_ov15_0218c544 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215a348 _0215a368: .word data_ov15_0218c544 .global func_ov15_0215a36c arm_func_start func_ov15_0215a36c func_ov15_0215a36c: ; 0x0215a36c ldr ip, _0215a37c ; =func_ov00_020a9998 mov r1, #4 mov r2, #2 bx ip .align 2, 0 arm_func_end func_ov15_0215a36c _0215a37c: .word func_ov00_020a9998 .global func_ov15_0215a380 arm_func_start func_ov15_0215a380 func_ov15_0215a380: ; 0x0215a380 ldrb r2, [r0, #0x5c] ldr r3, [r1, #0xb0] cmp r2, #0x1f ldreq r1, [r3, #0xc] biceq r1, r1, #0x3f000000 streq r1, [r3, #0xc] ldrb r0, [r0, #0x5d] cmp r0, #0 ldr r0, [r3, #0xc] biceq r0, r0, #0x8000 orrne r0, r0, #0x8000 str r0, [r3, #0xc] bx lr arm_func_end func_ov15_0215a380 .global func_ov15_0215a3b4 arm_func_start func_ov15_0215a3b4 func_ov15_0215a3b4: ; 0x0215a3b4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0215a3f8 ; =data_ov15_0218c488 add r0, r4, #0x158 str r1, [r4] bl func_ov15_0215a348 mov r0, #0 str r0, [r4, #0x1b8] sub r2, r0, #1 str r2, [r4, #0x1bc] str r0, [r4, #0x1c0] str r0, [r4, #0x230] add r1, r4, #0x200 mov r0, r4 strh r2, [r1, #0x34] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215a3b4 _0215a3f8: .word data_ov15_0218c488 .global func_ov15_0215a3fc arm_func_start func_ov15_0215a3fc func_ov15_0215a3fc: ; 0x0215a3fc stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215a3fc .global func_ov15_0215a410 arm_func_start func_ov15_0215a410 func_ov15_0215a410: ; 0x0215a410 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b8 bl func_ov00_020b7e6c add r0, r4, #0x1b8 bl func_ov00_020b7df0 add r0, r4, #0x158 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215a410 .global func_ov15_0215a440 arm_func_start func_ov15_0215a440 func_ov15_0215a440: ; 0x0215a440 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b8 bl func_ov00_020b7e6c add r0, r4, #0x1b8 bl func_ov00_020b7df0 add r0, r4, #0x158 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215a440 .global func_ov15_0215a478 arm_func_start func_ov15_0215a478 func_ov15_0215a478: ; 0x0215a478 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x30 ldr r1, _0215a748 ; =gAdventureFlags mov r10, r0 ldr r0, [r1] ldr r2, _0215a74c ; =data_027e10a8 mov r3, #0 mov r1, #0x17c strb r3, [r2] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x30 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mvn r0, #0 str r0, [r10, #0x98] str r0, [r10, #0x88] mov r0, #7 str r0, [r10, #0x1bc] mov r0, #2 str r0, [r10, #0x1c0] mov r0, #0xa0000 str r0, [r10, #0x1c4] mov r3, #0 ldr r2, _0215a750 ; =data_ov15_021865c8 str r3, [r10, #0x1dc] _0215a4e0: ldr r1, [r2, r3, lsl #2] add r0, r10, r3, lsl #2 add r3, r3, #1 str r1, [r0, #0x1c8] cmp r3, #5 blt _0215a4e0 ldr r2, _0215a754 ; =data_ov15_021865dc mov r3, #0 _0215a500: ldr r1, [r2, r3, lsl #2] add r0, r10, r3, lsl #2 add r3, r3, #1 str r1, [r0, #0x1e0] cmp r3, #3 blt _0215a500 ldr r0, _0215a758 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x18 add r0, r0, #0x2400 bl func_ov00_020c4588 mov r1, r0 add r0, r10, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 add r0, r10, #0x158 bl func_ov15_0215a36c ldrsb r0, [r10, #0x2c] cmp r0, #0 addlt sp, sp, #0x30 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _0215a75c ; =data_027e0e60 ldrh r1, [r10, #0x20] ldr r0, [r0] add r2, sp, #0x18 bl func_ov00_020836bc str r0, [r10, #0x1ec] ldr r2, [sp, #0x24] ldr r1, [sp, #0x18] ldr r0, _0215a760 ; =data_027e0ff0 add r1, r2, r1 mov r1, r1, asr #0x1 str r1, [r10, #0x48] ldr r2, [sp, #0x2c] ldr r1, [sp, #0x20] mov r8, #0 add r1, r2, r1 mov r1, r1, asr #0x1 str r1, [r10, #0x50] ldr r0, [r0] ldrb r1, [r10, #0x2c] ldr r2, [r0] ldr r0, [r2, r1, lsl #3] add r6, r2, r1, lsl #3 ldrb r7, [r0, #1] str r8, [r10, #0x1ec] cmp r7, #0 ble _0215a6b0 mov r9, r8 add r5, r10, #0x1f0 mov r11, #0xc mov r4, #0x24 _0215a5d8: ldr r0, [r6, #4] add r2, r0, r9 ldrsb r0, [r2, #0x10] cmp r0, #0 beq _0215a5f8 cmp r0, #1 beq _0215a680 b _0215a698 _0215a5f8: ldr r3, [r2, #4] add r0, sp, #0xc str r3, [sp, #0xc] ldr ip, [r2, #8] add r1, sp, #0 str ip, [sp, #0x10] ldr r2, [r2, #0xc] str r2, [sp, #0x14] ldr ip, [r10, #0x1ec] mul r2, ip, r11 str r3, [r5, r2] ldr r3, [sp, #0x10] add ip, r5, r2 str r3, [ip, #4] ldr r2, [sp, #0x14] str r2, [ip, #8] ldr ip, [r6, #4] add r2, ip, r9 ldrsb r3, [r2, #0x11] mla r2, r3, r4, ip ldr r3, [r2, #4] str r3, [sp] ldr r3, [r2, #8] str r3, [sp, #4] ldr r2, [r2, #0xc] str r2, [sp, #8] bl func_01ff9ec0 ldr r1, [r10, #0x1ec] add r1, r10, r1, lsl #2 str r0, [r1, #0x214] ldr r0, [r10, #0x1ec] add r0, r0, #1 str r0, [r10, #0x1ec] b _0215a698 _0215a680: add r0, r10, #0x48 add r1, r2, #4 bl func_01ff9ec0 mov r0, r0, lsl #0x1 str r0, [r10, #0x224] str r0, [r10, #0x220] _0215a698: add r0, r8, #1 mov r0, r0, lsl #0x18 cmp r7, r0, asr #24 add r9, r9, #0x24 mov r8, r0, asr #0x18 bgt _0215a5d8 _0215a6b0: mov r4, #0 str r4, [r10, #0x228] strb r4, [r10, #0x1b4] strb r4, [r10, #0x1b5] ldr r1, [r10, #0x220] mov r0, #0x8f umull r3, r2, r1, r0 mla r2, r1, r4, r2 mov r1, r1, asr #0x1f mla r2, r1, r0, r2 adds r3, r3, #0x800 adc r0, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r0, lsl #20 smull r1, r0, r2, r2 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, _0215a764 ; =0x02f44000 orr r1, r1, r0, lsl #20 sub r0, r2, r1 bl func_01ff9958 str r0, [r10, #0x22c] ldr r0, [r10, #0x48] mov r1, r4 str r0, [r10, #0x54] ldr r2, [r10, #0x4c] mov r0, #1 str r2, [r10, #0x58] ldr r2, [r10, #0x50] str r2, [r10, #0x5c] strb r1, [r10, #0x236] strb r1, [r10, #0x237] strb r1, [r10, #0x238] strb r1, [r10, #0x239] strb r1, [r10, #0x23a] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215a478 _0215a748: .word gAdventureFlags _0215a74c: .word data_027e10a8 _0215a750: .word data_ov15_021865c8 _0215a754: .word data_ov15_021865dc _0215a758: .word data_027e0fec _0215a75c: .word data_027e0e60 _0215a760: .word data_027e0ff0 _0215a764: .word 0x02f44000 .global func_ov15_0215a768 arm_func_start func_ov15_0215a768 func_ov15_0215a768: ; 0x0215a768 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldrb r0, [r4, #0x118] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _0215a8bc ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 mov r1, #0x37 beq _0215a820 ldr r0, _0215a8c0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 movne r0, #4 moveq r0, #2 strb r0, [r4, #0x236] mov r0, #0x12000 str r0, [r4, #0x1c4] mov r0, #0x9000 ldr r2, _0215a8c4 ; =data_ov15_021865e8 str r0, [r4, #0x1dc] mov r3, #0 _0215a7d8: ldr r1, [r2, r3, lsl #2] add r0, r4, r3, lsl #2 add r3, r3, #1 str r1, [r0, #0x1c8] cmp r3, #5 blt _0215a7d8 ldr r2, _0215a8c8 ; =data_ov15_021865fc mov r3, #0 _0215a7f8: ldr r1, [r2, r3, lsl #2] add r0, r4, r3, lsl #2 add r3, r3, #1 str r1, [r0, #0x1e0] cmp r3, #3 blt _0215a7f8 ldr r0, _0215a8cc ; =data_027e10a8 mov r1, #1 strb r1, [r0] b _0215a860 _0215a820: ldr r0, _0215a8c0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0215a858 mov r1, #0 strb r1, [r4, #0x118] ldr r0, _0215a8c0 ; =gAdventureFlags mov r1, #0x17c ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb add sp, sp, #8 ldmia sp!, {r4, pc} _0215a858: mov r0, #1 strb r0, [r4, #0x236] _0215a860: ldr r0, _0215a8bc ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d40 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} ldr r1, _0215a8d0 ; =data_027e0fe4 ldr r2, _0215a8d4 ; =0x47534950 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r1, [sp] mvn r0, #0 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _0215a8d0 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef bl func_ov15_0213287c add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215a768 _0215a8bc: .word data_027e0e60 _0215a8c0: .word gAdventureFlags _0215a8c4: .word data_ov15_021865e8 _0215a8c8: .word data_ov15_021865fc _0215a8cc: .word data_027e10a8 _0215a8d0: .word data_027e0fe4 _0215a8d4: .word 0x47534950 .global func_ov15_0215a8d8 arm_func_start func_ov15_0215a8d8 func_ov15_0215a8d8: ; 0x0215a8d8 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0215a8fc mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r4 bl func_ov15_0215a970 _0215a8fc: ldr r0, [r4, #0x230] cmp r0, #0 beq _0215a93c sub r1, r0, #1 ldr r0, _0215a950 ; =data_027e0d38 str r1, [r4, #0x230] ldr r0, [r0] ldr r0, [r0, #0x28] ldrb r0, [r0, #0x34] cmp r0, #0 beq _0215a93c ldr r0, _0215a954 ; =data_027e10a8 mov r1, #0 strb r1, [r0] mov r0, #5 str r0, [r4, #0x230] _0215a93c: ldr r1, _0215a954 ; =data_027e10a8 ldr r0, _0215a958 ; =data_ov15_02190458 ldrb r1, [r1] strb r1, [r0, #7] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215a8d8 _0215a950: .word data_027e0d38 _0215a954: .word data_027e10a8 _0215a958: .word data_ov15_02190458 .global func_ov15_0215a95c arm_func_start func_ov15_0215a95c func_ov15_0215a95c: ; 0x0215a95c stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0215a95c .global func_ov15_0215a970 arm_func_start func_ov15_0215a970 func_ov15_0215a970: ; 0x0215a970 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x40 ldr r1, _0215b264 ; =data_027e0f94 add r3, sp, #0x34 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0215b268 ; =data_027e10a8 mov r1, #0 strb r1, [r0] add r0, r4, #0x54 bl func_ov00_020c53b0 strh r0, [r4, #0x78] ldrb r0, [r4, #0x239] cmp r0, #0 beq _0215a9c0 mov r0, r4 bl func_ov15_0215b790 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0215a9c0: ldr r0, _0215b26c ; =data_027e0e60 mov r6, #0 ldr r0, [r0] bl func_ov00_02082d40 cmp r0, #0 beq _0215a9e4 cmp r0, #1 addeq r6, r6, #0x28000 b _0215aa5c _0215a9e4: bl func_ov15_0212f7a0 movs r5, r0 beq _0215aa5c bl func_ov15_0213278c cmp r0, #0 beq _0215aa5c add r0, r4, #0x200 ldrsh r0, [r0, #0x34] cmp r0, #0 blt _0215aa5c cmp r0, #0x3c bge _0215aa5c mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _0215aa5c add r0, r4, #0x200 ldrsh r1, [r0, #0x34] add r1, r1, #1 strh r1, [r0, #0x34] ldrsh r0, [r0, #0x34] cmp r0, #0x3c blt _0215aa5c ldr r0, _0215b270 ; =data_027e0c68 ldr r1, _0215b274 ; =0x0005000f ldr r2, _0215b264 ; =data_027e0f94 add r5, r5, #0x400 mov r3, r6 strh r3, [r5, #0xc0] bl func_02036da8 _0215aa5c: ldrh r1, [r4, #0x78] ldr r2, _0215b278 ; =data_02050f54 ldr r0, [r4, #0x54] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r2, r1] mov r3, #0 smull r7, r5, r1, r6 adds r7, r7, #0x800 adc r1, r5, #0 mov r5, r7, lsr #0xc orr r5, r5, r1, lsl #20 add r0, r0, r5 str r0, [r4, #0x48] ldrh r1, [r4, #0x78] ldr r0, [r4, #0x5c] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] smull r5, r2, r1, r6 adds r5, r5, #0x800 adc r1, r2, #0 mov r2, r5, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 str r0, [r4, #0x50] ldrb r0, [r4, #0x238] cmp r0, #0 addne sp, sp, #0x40 strneb r3, [r4, #0x238] ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r1, sp, #0x10 add r2, sp, #0xc mov r0, r4 bl func_ov15_0215b29c add r1, sp, #0x34 add r0, r4, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x5a000 bge _0215ab24 cmp r0, #0x55000 movle r6, #0x1000 ble _0215ab28 sub r0, r0, #0x55000 mov r1, #0x5000 bl Divide rsb r6, r0, #0x1000 b _0215ab28 _0215ab24: mov r6, #0 _0215ab28: ldrh r1, [r4, #0x22] mov r5, #0 cmp r1, #0 beq _0215ab4c ldr r0, _0215b26c ; =data_027e0e60 mov r2, r5 ldr r0, [r0] bl func_ov00_020836dc mov r5, r0 _0215ab4c: ldrb r0, [r4, #0x236] cmp r0, #4 beq _0215ab84 ldr r0, _0215b26c ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 bne _0215ab84 ldrb r0, [r4, #0x236] cmp r0, #2 movhs r0, #1 strhsb r0, [r4, #0x236] _0215ab84: ldrb r0, [r4, #0x236] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0215afb4 _0215ab94: ; jump table b _0215afb4 ; case 0 b _0215aba8 ; case 1 b _0215adcc ; case 2 b _0215aba8 ; case 3 b _0215ae58 ; case 4 _0215aba8: ldr r0, [sp, #0xc] ldr r1, [sp, #0x10] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x214] add r0, r0, #0x5000 cmp r1, r0 bge _0215ad6c cmp r5, #0 bne _0215ad6c subs r0, r0, #0xa000 str r0, [sp] movmi r0, #0 strmi r0, [sp] ldr r0, [sp] cmp r1, r0 bgt _0215abf8 mov r0, #3 strb r0, [r4, #0x236] mov r10, #0x1000 b _0215ac10 _0215abf8: sub r0, r1, r0 mov r1, #0xa000 bl Divide mov r1, #1 strb r1, [r4, #0x236] rsb r10, r0, #0x1000 _0215ac10: mov r0, #0x8e000 mov r8, #0 umull r2, r1, r10, r0 mla r1, r10, r8, r1 mov r9, r10, asr #0x1f mla r1, r9, r0, r1 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 rsb r0, r1, #0xa0000 ldr r7, _0215b27c ; =data_ov15_021865c8 ldr r3, _0215b280 ; =data_ov15_021865e8 str r0, [sp, #8] add r1, sp, #0x20 mov r11, r8 _0215ac50: ldr r6, [r7, r8, lsl #2] ldr r2, [r3, r8, lsl #2] add r0, r8, #1 sub ip, r2, r6 umull r5, lr, r10, ip mov r2, ip, asr #0x1f mla lr, r10, r2, lr adds r5, r5, #0x800 mla lr, r9, ip, lr adc r2, lr, r11 mov r5, r5, lsr #0xc orr r5, r5, r2, lsl #20 add r2, r6, r5 mov r0, r0, lsl #0x10 str r2, [r1, r8, lsl #2] mov r8, r0, lsr #0x10 cmp r8, #5 blo _0215ac50 mov r0, #0x9000 umull r3, r2, r10, r0 mov r1, #0 mla r2, r10, r1, r2 mla r2, r9, r0, r2 adds r3, r3, #0x800 mov r0, r3, lsr #0xc adc r1, r2, #0 orr r0, r0, r1, lsl #20 mov r11, r10, lsl #0x2 cmp r11, #0x1000 movge r11, #0x1000 mov ip, #0 ldr r9, _0215b284 ; =data_ov15_021865dc ldr r3, _0215b288 ; =data_ov15_021865fc str r0, [sp, #4] mov r10, r11, asr #0x1f add r1, sp, #0x14 mov lr, ip _0215ace4: ldr r8, [r9, ip, lsl #2] ldr r2, [r3, ip, lsl #2] add r0, ip, #1 sub r5, r2, r8 mov r2, r5, asr #0x1f umull r7, r6, r11, r5 mla r6, r11, r2, r6 mla r6, r10, r5, r6 adds r5, r7, #0x800 adc r2, r6, lr mov r5, r5, lsr #0xc orr r5, r5, r2, lsl #20 add r2, r8, r5 mov r0, r0, lsl #0x10 str r2, [r1, ip, lsl #2] mov ip, r0, lsr #0x10 cmp ip, #3 blo _0215ace4 ldr r0, [sp, #0xc] ldr r1, [sp, #0x10] add r2, r4, r0, lsl #2 ldr r0, [sp] cmp r1, r0 ldr r0, [r2, #0x214] movle r6, #0 ble _0215afb4 cmp r1, r0 movge r6, #0x1000 bge _0215afb4 sub r0, r0, r1 mov r1, #0x5000 bl Divide rsb r6, r0, #0x1000 b _0215afb4 _0215ad6c: mov r5, #0 mov r0, #0xa0000 ldr r3, _0215b27c ; =data_ov15_021865c8 str r5, [sp, #4] str r0, [sp, #8] add r1, sp, #0x20 _0215ad84: add r0, r5, #1 ldr r2, [r3, r5, lsl #2] mov r0, r0, lsl #0x10 str r2, [r1, r5, lsl #2] mov r5, r0, lsr #0x10 cmp r5, #5 blo _0215ad84 ldr r3, _0215b284 ; =data_ov15_021865dc mov r5, #0 add r1, sp, #0x14 _0215adac: add r0, r5, #1 ldr r2, [r3, r5, lsl #2] mov r0, r0, lsl #0x10 str r2, [r1, r5, lsl #2] mov r5, r0, lsr #0x10 cmp r5, #3 blo _0215adac b _0215afb4 _0215adcc: cmp r5, #0 movne r0, #1 strneb r0, [r4, #0x236] mov r0, #0x12000 str r0, [sp, #8] str r0, [r4, #0x1c4] mov r0, #0x9000 ldr r5, _0215b280 ; =data_ov15_021865e8 str r0, [sp, #4] str r0, [r4, #0x1dc] mov r6, #0 add r2, sp, #0x20 _0215adfc: ldr r3, [r5, r6, lsl #2] add r0, r6, #1 add r1, r4, r6, lsl #2 mov r0, r0, lsl #0x10 str r3, [r2, r6, lsl #2] mov r6, r0, lsr #0x10 str r3, [r1, #0x1c8] cmp r6, #5 blo _0215adfc ldr r5, _0215b288 ; =data_ov15_021865fc mov r6, #0 add r2, sp, #0x14 _0215ae2c: ldr r3, [r5, r6, lsl #2] add r0, r6, #1 add r1, r4, r6, lsl #2 mov r0, r0, lsl #0x10 str r3, [r2, r6, lsl #2] mov r6, r0, lsr #0x10 str r3, [r1, #0x1e0] cmp r6, #3 blo _0215ae2c mov r6, #0 b _0215afb4 _0215ae58: ldr r0, [r4, #0x138] cmp r0, #0xb4 bgt _0215ae78 mov r0, r0, lsl #0xc mov r1, #0xb4000 bl Divide rsb r5, r0, #0x1000 b _0215ae94 _0215ae78: mov r5, #0 ldr r0, _0215b28c ; =gAdventureFlags strb r5, [r4, #0x118] ldr r0, [r0] mov r1, #0x17c mov r2, #1 bl _ZN14AdventureFlags3SetEjb _0215ae94: mov r0, #0x8e000 mov r10, #0 umull r2, r1, r5, r0 mla r1, r5, r10, r1 mov r9, r5, asr #0x1f mla r1, r9, r0, r1 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 rsb r0, r1, #0xa0000 str r0, [sp, #8] ldr r8, _0215b27c ; =data_ov15_021865c8 ldr r1, _0215b280 ; =data_ov15_021865e8 add r0, sp, #0x20 mov lr, r10 _0215aed4: ldr r7, [r8, r10, lsl #2] ldr r2, [r1, r10, lsl #2] add r11, r10, #1 sub r2, r2, r7 umull ip, r3, r5, r2 adds r6, ip, #0x800 mov ip, r2, asr #0x1f mla r3, r5, ip, r3 mla r3, r9, r2, r3 mov r6, r6, lsr #0xc adc r2, r3, lr orr r6, r6, r2, lsl #20 add r2, r7, r6 mov r11, r11, lsl #0x10 str r2, [r0, r10, lsl #2] mov r10, r11, lsr #0x10 cmp r10, #5 blo _0215aed4 mov r0, #0x9000 umull r3, r2, r5, r0 mov r1, #0 mla r2, r5, r1, r2 mla r2, r9, r0, r2 adds r3, r3, #0x800 mov r0, r3, lsr #0xc adc r1, r2, #0 orr r0, r0, r1, lsl #20 mov r11, r5, lsl #0x2 cmp r11, #0x1000 movge r11, #0x1000 mov ip, #0 ldr r9, _0215b284 ; =data_ov15_021865dc ldr r3, _0215b288 ; =data_ov15_021865fc str r0, [sp, #4] mov r10, r11, asr #0x1f add r1, sp, #0x14 mov lr, ip _0215af68: ldr r8, [r9, ip, lsl #2] ldr r2, [r3, ip, lsl #2] add r0, ip, #1 sub r5, r2, r8 mov r2, r5, asr #0x1f umull r7, r6, r11, r5 mla r6, r11, r2, r6 mla r6, r10, r5, r6 adds r5, r7, #0x800 adc r2, r6, lr mov r5, r5, lsr #0xc orr r5, r5, r2, lsl #20 add r2, r8, r5 mov r0, r0, lsl #0x10 str r2, [r1, ip, lsl #2] mov ip, r0, lsr #0x10 cmp ip, #3 blo _0215af68 mov r6, #0 _0215afb4: ldr r0, _0215b290 ; =data_ov15_0218c478 mov r1, #0 ldr r8, [r0] mov r0, #0x8e000 umull r3, r2, r8, r0 mla r2, r8, r1, r2 mov r7, r8, asr #0x1f mla r2, r7, r0, r2 adds r1, r3, #0x800 adc r3, r2, #0 mov r2, r1, lsr #0xc ldr r1, [sp, #8] add r0, r4, #0x1c4 orr r2, r2, r3, lsl #20 bl Approach_thunk tst r0, #1 movne r10, #1 moveq r10, #0 mov r9, #0 add r5, r4, #0x1c8 _0215b004: ldr r2, _0215b280 ; =data_ov15_021865e8 add r1, sp, #0x20 ldr r3, [r2, r9, lsl #2] ldr r2, _0215b27c ; =data_ov15_021865c8 ldr r1, [r1, r9, lsl #2] ldr r2, [r2, r9, lsl #2] add r0, r5, r9, lsl #2 sub ip, r3, r2 umull r3, r2, ip, r8 mla r2, ip, r7, r2 mov r11, ip, asr #0x1f mla r2, r11, r8, r2 adds r11, r3, #0x800 adc r3, r2, #0 mov r2, r11, lsr #0xc orr r2, r2, r3, lsl #20 bl Approach_thunk tst r10, r0 add r0, r9, #1 mov r0, r0, lsl #0x10 movne r10, #1 mov r9, r0, lsr #0x10 moveq r10, #0 cmp r9, #5 blo _0215b004 mov r0, #0x9000 mov r1, #0 umull r3, r2, r8, r0 mla r2, r8, r1, r2 mla r2, r7, r0, r2 adds r1, r3, #0x800 adc r3, r2, #0 mov r2, r1, lsr #0xc ldr r1, [sp, #4] add r0, r4, #0x1dc orr r2, r2, r3, lsl #20 bl Approach_thunk tst r10, r0 movne r10, #1 moveq r10, #0 mov r7, r8, asr #0x1f mov r9, #0 add r5, r4, #0x1e0 _0215b0b0: ldr r2, _0215b288 ; =data_ov15_021865fc add r1, sp, #0x14 ldr r3, [r2, r9, lsl #2] ldr r2, _0215b284 ; =data_ov15_021865dc ldr r1, [r1, r9, lsl #2] ldr r2, [r2, r9, lsl #2] add r0, r5, r9, lsl #2 sub ip, r3, r2 umull r3, r2, ip, r8 mla r2, ip, r7, r2 mov r11, ip, asr #0x1f mla r2, r11, r8, r2 adds r11, r3, #0x800 adc r3, r2, #0 mov r2, r11, lsr #0xc orr r2, r2, r3, lsl #20 bl Approach_thunk tst r10, r0 add r0, r9, #1 mov r0, r0, lsl #0x10 movne r10, #1 mov r9, r0, lsr #0x10 moveq r10, #0 cmp r9, #3 blo _0215b0b0 ldr r0, [r4, #0x1dc] cmp r0, #0 bne _0215b164 mov r0, r4 bl func_ov15_0215b630 ldr r0, [sp, #0x10] cmp r0, #0x55000 movle r5, #0x1e000 ble _0215b248 mov r0, #0x1e000 umull r3, r2, r6, r0 mov r1, #0 mla r2, r6, r1, r2 mov r1, r6, asr #0x1f adds r3, r3, #0x800 mla r2, r1, r0, r2 adc r0, r2, #0 mov r5, r3, lsr #0xc orr r5, r5, r0, lsl #20 b _0215b248 _0215b164: ldrb r0, [r4, #0x236] add r2, sp, #0x34 cmp r0, #4 ldrne r0, _0215b268 ; =data_027e10a8 movne r1, #1 strneb r1, [r0] ldr r0, _0215b294 ; =data_027e0e58 add r1, r4, #0x1b8 ldr r0, [r0] bl func_ov00_0207c474 mov r0, r4 bl func_ov15_0215b84c mov r0, #0x1e000 umull r3, r2, r6, r0 mov r1, #0 mla r2, r6, r1, r2 mov r1, r6, asr #0x1f mla r2, r1, r0, r2 adds r3, r3, #0x800 ldrb r0, [r4, #0x236] adc r1, r2, #0 mov r5, r3, lsr #0xc cmp r0, #3 orr r5, r5, r1, lsl #20 cmpeq r10, #1 bne _0215b240 ldr r0, _0215b26c ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d40 cmp r0, #0 bne _0215b238 add r0, r4, #0x200 ldrsh r0, [r0, #0x34] cmp r0, #0 bge _0215b238 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _0215b238 add r0, r4, #0x200 mov r1, #0 strh r1, [r0, #0x34] bl func_ov15_0212f7a0 cmp r0, #0 beq _0215b238 bl func_ov15_0213278c cmp r0, #0 beq _0215b238 ldr r0, _0215b270 ; =data_027e0c68 ldr r1, _0215b298 ; =0x0005000e ldr r2, _0215b264 ; =data_027e0f94 mov r3, #0 bl func_02036da8 _0215b238: mov r0, #2 strb r0, [r4, #0x236] _0215b240: mov r0, #0 strb r0, [r4, #0x237] _0215b248: ldr r0, _0215b290 ; =data_ov15_0218c478 mov r1, r5 ldr r2, [r0, #4] add r0, r4, #0x228 bl Approach_thunk add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215a970 _0215b264: .word data_027e0f94 _0215b268: .word data_027e10a8 _0215b26c: .word data_027e0e60 _0215b270: .word data_027e0c68 _0215b274: .word 0x0005000f _0215b278: .word data_02050f54 _0215b27c: .word data_ov15_021865c8 _0215b280: .word data_ov15_021865e8 _0215b284: .word data_ov15_021865dc _0215b288: .word data_ov15_021865fc _0215b28c: .word gAdventureFlags _0215b290: .word data_ov15_0218c478 _0215b294: .word data_027e0e58 _0215b298: .word 0x0005000e .global func_ov15_0215b29c arm_func_start func_ov15_0215b29c func_ov15_0215b29c: ; 0x0215b29c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x10 ldr r5, _0215b354 ; =data_027e0f94 add r4, sp, #4 mov r10, r0 mov r6, #0 mov r11, r1 str r2, [sp] ldmia r5, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r0, [r10, #0x1ec] mov r9, r3 mov r7, r6 cmp r0, #0 mvn r5, #0x80000000 bls _0215b30c add r8, r10, #0x1f0 _0215b2e0: mov r0, r8 mov r1, r4 bl func_ov00_020ce2f0 cmp r0, r5 movlt r5, r0 movlt r6, r7 ldr r0, [r10, #0x1ec] add r7, r7, #1 cmp r7, r0 add r8, r8, #0xc blo _0215b2e0 _0215b30c: ldr r0, [sp] cmp r11, #0 strne r5, [r11] cmp r0, #0 strne r6, [r0] cmp r9, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, #0xc mla r1, r6, r0, r10 ldr r0, [r1, #0x1f0] str r0, [r9] ldr r0, [r1, #0x1f4] str r0, [r9, #4] ldr r0, [r1, #0x1f8] str r0, [r9, #8] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215b29c _0215b354: .word data_027e0f94 .global func_ov15_0215b358 arm_func_start func_ov15_0215b358 func_ov15_0215b358: ; 0x0215b358 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} str r0, [sp] ldr r0, _0215b620 ; =data_ov00_020ee0a0 mov r1, #0xa0 bl func_ov00_0209cdf8 ldr r0, _0215b620 ; =data_ov00_020ee0a0 mov r1, #0 bl func_ov00_0209cddc ldr r0, _0215b624 ; =data_ov15_021865c8 ldr r4, _0215b620 ; =data_ov00_020ee0a0 ldr r6, [r0] ldr r0, [r0, #4] mov r5, #1 sub r8, r0, r6 mov r7, r8, asr #0x1f mov r10, #0 mov r9, #0x800 _0215b39c: mov r1, r5, lsl #0x9 mov r0, r1, asr #0x1f umull r3, r2, r8, r1 mla r2, r8, r0, r2 adds r3, r3, r9 mla r2, r7, r1, r2 adc r0, r2, r10 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r6, r1 mov r2, r0, asr #0xc mov r0, r4 mov r1, r5 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 cmp r5, #8 blo _0215b39c ldr r1, _0215b624 ; =data_ov15_021865c8 ldr r0, _0215b620 ; =data_ov00_020ee0a0 ldr r7, [r1, #4] mov r1, #8 mov r2, r7, asr #0xc and r2, r2, #0xff bl func_ov00_0209cd40 ldr r0, _0215b624 ; =data_ov15_021865c8 ldr r4, _0215b620 ; =data_ov00_020ee0a0 ldr r0, [r0, #8] mov r8, #9 sub r6, r0, r7 mov r5, r6, asr #0x1f mov r10, #0 mov r9, #0x800 _0215b428: sub r0, r8, #8 mov r1, r0, lsl #0x9 mov r0, r1, asr #0x1f umull r3, r2, r6, r1 mla r2, r6, r0, r2 adds r3, r3, r9 mla r2, r5, r1, r2 adc r0, r2, r10 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r7, r1 mov r2, r0, asr #0xc mov r0, r4 mov r1, r8 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, lsr #0x10 cmp r8, #0x10 blo _0215b428 ldr r1, _0215b624 ; =data_ov15_021865c8 ldr r0, _0215b620 ; =data_ov00_020ee0a0 ldr r7, [r1, #8] mov r1, #0x10 mov r2, r7, asr #0xc and r2, r2, #0xff bl func_ov00_0209cd40 ldr r0, _0215b624 ; =data_ov15_021865c8 ldr r4, _0215b620 ; =data_ov00_020ee0a0 ldr r0, [r0, #0xc] mov r8, #0x11 sub r6, r0, r7 mov r5, r6, asr #0x1f mov r10, #0 mov r9, #0x800 _0215b4b8: sub r0, r8, #0x10 mov r1, r0, lsl #0x9 mov r0, r1, asr #0x1f umull r3, r2, r6, r1 mla r2, r6, r0, r2 adds r3, r3, r9 mla r2, r5, r1, r2 adc r0, r2, r10 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r7, r1 mov r2, r0, asr #0xc mov r0, r4 mov r1, r8 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, lsr #0x10 cmp r8, #0x18 blo _0215b4b8 ldr r1, _0215b624 ; =data_ov15_021865c8 ldr r0, _0215b620 ; =data_ov00_020ee0a0 ldr r9, [r1, #0xc] mov r1, #0x18 mov r2, r9, asr #0xc and r2, r2, #0xff bl func_ov00_0209cd40 ldr r0, _0215b624 ; =data_ov15_021865c8 ldr r11, _0215b620 ; =data_ov00_020ee0a0 ldr r0, [r0, #0x10] ldr r4, _0215b628 ; =0x00000249 sub r8, r0, r9 mov r10, #0x19 mov r7, r8, asr #0x1f mov r6, #0 mov r5, #0x800 _0215b54c: sub r0, r10, #0x18 mul r1, r0, r4 mov r0, r1, asr #0x1f umull r3, r2, r8, r1 mla r2, r8, r0, r2 adds r3, r3, r5 mla r2, r7, r1, r2 adc r0, r2, r6 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r9, r1 mov r1, r0, asr #0xc mov r0, r11 and r2, r1, #0xff mov r1, r10 bl func_ov00_0209cd40 add r0, r10, #1 mov r0, r0, lsl #0x10 mov r10, r0, lsr #0x10 cmp r10, #0x1f blo _0215b54c ldr r1, _0215b624 ; =data_ov15_021865c8 ldr r0, _0215b620 ; =data_ov00_020ee0a0 ldr r2, [r1, #0x10] mov r1, #0x1f mov r2, r2, asr #0xc and r2, r2, #0xff bl func_ov00_0209cd40 ldr r0, [sp] add r0, r0, #0x1b8 bl func_ov00_020b7e6c ldr r1, _0215b624 ; =data_ov15_021865c8 ldr r0, _0215b620 ; =data_ov00_020ee0a0 ldr r2, [r1, #0x18] ldr r4, [r1, #0x1c] mov r2, r2, asr #0xc ldr r3, [r1, #0x14] mov r1, r2, lsl #0x5 mov r2, r4, asr #0xc orr r1, r1, r3, asr #12 orr r1, r1, r2, lsl #10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl func_ov00_0209cdbc ldr r0, _0215b62c ; =data_027e0e60 mov r1, #0 ldr r0, [r0] bl func_ov00_020823b4 ldr r0, _0215b62c ; =data_027e0e60 mov r1, #0 ldr r0, [r0] bl func_ov00_020823a4 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215b358 _0215b620: .word data_ov00_020ee0a0 _0215b624: .word data_ov15_021865c8 _0215b628: .word 0x00000249 _0215b62c: .word data_027e0e60 .global func_ov15_0215b630 arm_func_start func_ov15_0215b630 func_ov15_0215b630: ; 0x0215b630 stmdb sp!, {r4, lr} mov r4, r0 ldrb r1, [r4, #0x237] cmp r1, #0 bne _0215b648 bl func_ov15_0215b358 _0215b648: mov r0, #1 strb r0, [r4, #0x237] ldmia sp!, {r4, pc} arm_func_end func_ov15_0215b630 .global func_ov15_0215b654 arm_func_start func_ov15_0215b654 func_ov15_0215b654: ; 0x0215b654 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 movs r5, r1 ldrneb r0, [r6, #0xa5] ldreqb r0, [r6, #0xa4] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [r6, #0x228] mov r0, r0, asr #0xc and r4, r0, #0xff strb r4, [r6, #0x1b4] cmp r4, #0x1f bne _0215b6ac ldr r0, [r6, #0x1dc] cmp r0, #0 moveq r0, #0 streqb r0, [r6, #0x1b5] movne r0, #1 strneb r0, [r6, #0x1b5] b _0215b6b4 _0215b6ac: mov r0, #1 strb r0, [r6, #0x1b5] _0215b6b4: cmp r4, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, r6, #0x158 ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r1, r4 bl func_020197fc ldr r0, _0215b6f8 ; =data_ov00_020e9c88 ldr r3, _0215b6fc ; =func_ov15_0215b700 mov r1, r5 add r2, r6, #0x48 str r6, [sp] bl func_ov00_0207b89c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215b654 _0215b6f8: .word data_ov00_020e9c88 _0215b6fc: .word func_ov15_0215b700 .global func_ov15_0215b700 arm_func_start func_ov15_0215b700 func_ov15_0215b700: ; 0x0215b700 ldr ip, _0215b708 ; =func_ov15_0215b70c bx ip .align 2, 0 arm_func_end func_ov15_0215b700 _0215b708: .word func_ov15_0215b70c .global func_ov15_0215b70c arm_func_start func_ov15_0215b70c func_ov15_0215b70c: ; 0x0215b70c stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0x78] ldr r3, _0215b77c ; =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, #0x220] ldr r1, [r4, #0x224] add r0, r4, #0x158 str r1, [sp, #4] str r2, [sp] str r2, [sp, #8] ldr ip, [r0] add r1, sp, #0 ldr ip, [ip, #0x10] add r2, sp, #0xc add r3, r4, #0x48 blx ip add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215b70c _0215b77c: .word data_02050f54 .global func_ov15_0215b780 arm_func_start func_ov15_0215b780 func_ov15_0215b780: ; 0x0215b780 ldr r0, _0215b78c ; =data_027e10a8 ldrb r0, [r0] bx lr .align 2, 0 arm_func_end func_ov15_0215b780 _0215b78c: .word data_027e10a8 .global func_ov15_0215b790 arm_func_start func_ov15_0215b790 func_ov15_0215b790: ; 0x0215b790 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 ldr r1, _0215b840 ; =data_027e10a8 mov r2, #1 mov r10, r0 mov r8, #0 mov r0, #0x7f000 strb r2, [r1] str r8, [r10, #0x228] strb r8, [r10, #0x237] str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] str r0, [sp, #0x10] strb r2, [r10, #0x23a] add r4, r10, #0x3a add r9, r10, #0x1c8 mov r11, r8 mov r5, r2 add r7, sp, #0 mov r6, #0x2000 _0215b7e8: ldr r1, [r7, r8, lsl #2] mov r0, r9 mov r2, r6 bl Approach_thunk ldrb r1, [r4, #0x200] add r8, r8, #1 add r9, r9, #4 tst r1, r0 movne r0, r5 moveq r0, r11 strb r0, [r4, #0x200] cmp r8, #5 blt _0215b7e8 ldr r0, _0215b844 ; =data_027e0e58 ldr r2, _0215b848 ; =data_027e0f94 ldr r0, [r0] add r1, r10, #0x1b8 bl func_ov00_0207c474 mov r0, r10 bl func_ov15_0215b84c add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215b790 _0215b840: .word data_027e10a8 _0215b844: .word data_027e0e58 _0215b848: .word data_027e0f94 .global func_ov15_0215b84c arm_func_start func_ov15_0215b84c func_ov15_0215b84c: ; 0x0215b84c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} ldr r1, _0215bac0 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] mov r1, #1 bl func_ov00_020823b4 ldr r1, [r4, #0x1c4] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc bl func_ov00_0209cdf8 ldr r1, [r4, #0x1c8] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc and r2, r1, #0xff mov r1, #0 bl func_ov00_0209cd40 ldr r5, _0215bac4 ; =data_ov00_020ee0a0 mov r6, #1 mov r8, #0 mov r7, #0x800 _0215b89c: ldr r0, [r4, #0x1c8] ldr r2, [r4, #0x1cc] mov r1, r6, lsl #0x9 sub r2, r2, r0 smull r3, r1, r2, r1 adds r2, r3, r7 adc r1, r1, r8 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 mov r2, r0, asr #0xc mov r0, r5 mov r1, r6 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, lsr #0x10 cmp r6, #8 blo _0215b89c ldr r1, [r4, #0x1cc] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc and r2, r1, #0xff mov r1, #8 bl func_ov00_0209cd40 ldr r5, _0215bac4 ; =data_ov00_020ee0a0 mov r6, #9 mov r8, #0 mov r7, #0x800 _0215b914: ldr r0, [r4, #0x1cc] ldr r2, [r4, #0x1d0] sub r1, r6, #8 sub r2, r2, r0 mov r1, r1, lsl #0x9 smull r3, r1, r2, r1 adds r2, r3, r7 adc r1, r1, r8 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 mov r2, r0, asr #0xc mov r0, r5 mov r1, r6 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, lsr #0x10 cmp r6, #0x10 blo _0215b914 ldr r1, [r4, #0x1d0] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc and r2, r1, #0xff mov r1, #0x10 bl func_ov00_0209cd40 ldr r5, _0215bac4 ; =data_ov00_020ee0a0 mov r6, #0x11 mov r8, #0 mov r7, #0x800 _0215b990: ldr r0, [r4, #0x1d0] ldr r2, [r4, #0x1d4] sub r1, r6, #0x10 sub r2, r2, r0 mov r1, r1, lsl #0x9 smull r3, r1, r2, r1 adds r2, r3, r7 adc r1, r1, r8 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 mov r2, r0, asr #0xc mov r0, r5 mov r1, r6 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, lsr #0x10 cmp r6, #0x18 blo _0215b990 ldr r1, [r4, #0x1d4] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc and r2, r1, #0xff mov r1, #0x18 bl func_ov00_0209cd40 ldr r5, _0215bac4 ; =data_ov00_020ee0a0 ldr r7, _0215bac8 ; =0x00000249 mov r6, #0x19 mov r9, #0 mov r8, #0x800 _0215ba10: sub r0, r6, #0x18 mul r2, r0, r7 ldr r1, [r4, #0x1d4] ldr r3, [r4, #0x1d8] mov r0, r5 sub r3, r3, r1 smull ip, r2, r3, r2 adds r3, ip, r8 adc r2, r2, r9 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 add r1, r1, r3 mov r2, r1, asr #0xc mov r1, r6 and r2, r2, #0xff bl func_ov00_0209cd40 add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, lsr #0x10 cmp r6, #0x1f blo _0215ba10 ldr r1, [r4, #0x1d8] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc and r2, r1, #0xff mov r1, #0x1f bl func_ov00_0209cd40 ldr r1, [r4, #0x1dc] ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, asr #0xc bl func_ov00_0209cddc ldr r0, [r4, #0x1e4] ldr r2, [r4, #0x1e8] mov r0, r0, asr #0xc ldr r1, [r4, #0x1e0] mov r0, r0, lsl #0x5 mov r2, r2, asr #0xc orr r0, r0, r1, asr #12 orr r0, r0, r2, lsl #10 mov r1, r0, lsl #0x10 ldr r0, _0215bac4 ; =data_ov00_020ee0a0 mov r1, r1, lsr #0x10 bl func_ov00_0209cdbc ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0215b84c _0215bac0: .word data_027e0e60 _0215bac4: .word data_ov00_020ee0a0 _0215bac8: .word 0x00000249 .global func_ov15_0215bacc arm_func_start func_ov15_0215bacc func_ov15_0215bacc: ; 0x0215bacc stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x12000 str r0, [r4, #0x1c4] mov r0, #0x9000 ldr r2, _0215bb1c ; =data_ov15_021865e8 str r0, [r4, #0x1dc] mov r3, #0 _0215baec: ldr r1, [r2, r3, lsl #2] add r0, r4, r3, lsl #2 add r3, r3, #1 str r1, [r0, #0x1c8] cmp r3, #5 blt _0215baec mov r0, r4 bl func_ov15_0215b84c mov r0, #0 strb r0, [r4, #0x239] strb r0, [r4, #0x23a] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215bacc _0215bb1c: .word data_ov15_021865e8 .global func_ov15_0215bb20 arm_func_start func_ov15_0215bb20 func_ov15_0215bb20: ; 0x0215bb20 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215bb20 .global func_ov15_0215bb3c arm_func_start func_ov15_0215bb3c func_ov15_0215bb3c: ; 0x0215bb3c stmdb sp!, {r3, lr} ldr r1, _0215bb68 ; =data_027e0fe0 mov r0, #0x1c0 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0215bbcc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0215bb3c _0215bb68: .word data_027e0fe0 .global func_ov15_0215bb6c arm_func_start func_ov15_0215bb6c func_ov15_0215bb6c: ; 0x0215bb6c stmdb sp!, {r3, lr} cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0215bbc4 ; =data_027e0e2c mov r2, #1 strb r2, [r0, #0x16] cmp r1, #0 bne _0215bba8 ldr r0, _0215bbc8 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #0 ldmneia sp!, {r3, pc} bl func_ov15_02136aec ldmia sp!, {r3, pc} _0215bba8: ldr r0, _0215bbc8 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #1 ldmneia sp!, {r3, pc} bl func_ov15_02136aa4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0215bb6c _0215bbc4: .word data_027e0e2c _0215bbc8: .word data_027e10a4 .global func_ov15_0215bbcc arm_func_start func_ov15_0215bbcc func_ov15_0215bbcc: ; 0x0215bbcc stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _0215bbfc ; =data_ov15_0218c59c add r0, r4, #0x158 mov r1, #0x1000000 str r2, [r4] bl func_ov00_020d18f4 mvn r1, #0 mov r0, r4 str r1, [r4, #0x1b4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215bbcc _0215bbfc: .word data_ov15_0218c59c .global func_ov15_0215bc00 arm_func_start func_ov15_0215bc00 func_ov15_0215bc00: ; 0x0215bc00 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 bl func_ov00_020d1980 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215bc00 .global func_ov15_0215bc20 arm_func_start func_ov15_0215bc20 func_ov15_0215bc20: ; 0x0215bc20 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 bl func_ov00_020d1980 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215bc20 .global func_ov15_0215bc48 arm_func_start func_ov15_0215bc48 func_ov15_0215bc48: ; 0x0215bc48 stmdb sp!, {r4, lr} ldr r1, _0215bcec ; =gAdventureFlags mov r4, r0 ldr r0, [r1] ldr r1, _0215bcf0 ; =0x00000186 mov r2, #0 bl _ZN14AdventureFlags3SetEjb ldr r0, _0215bcec ; =gAdventureFlags mov r1, #0x37 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} ldr r0, _0215bcec ; =gAdventureFlags mov r1, #0x14 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] mov r1, #0 str r0, [r4, #0x178] ldr r2, [r4, #0xc] mov r0, r4 str r2, [r4, #0x17c] strb r1, [r4, #0x1ac] strb r1, [r4, #0x1b9] strb r1, [r4, #0x1ba] strb r1, [r4, #0x1bb] bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 movne r0, #1 moveq r0, #0 strb r0, [r4, #0x1bc] mov r0, #0 strb r0, [r4, #0x1b8] str r0, [r4, #0x130] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215bc48 _0215bcec: .word gAdventureFlags _0215bcf0: .word 0x00000186 .global func_ov15_0215bcf4 arm_func_start func_ov15_0215bcf4 func_ov15_0215bcf4: ; 0x0215bcf4 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_0215bdac cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _0215bda0 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] ldrb r0, [r0, #0x34] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, _0215bda4 ; =data_027e0e2c ldrb r1, [r0, #0x16] cmp r1, #0 beq _0215bd68 ldrb r1, [r4, #0x1b8] add r2, r1, #1 and r1, r2, #0xff cmp r1, #6 strb r2, [r4, #0x1b8] movhi r1, #0 strhib r1, [r0, #0x16] b _0215bd70 _0215bd68: mov r0, #0 strb r0, [r4, #0x1b8] _0215bd70: ldr r0, _0215bda8 ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 mov r0, r4 beq _0215bd98 bl func_ov15_0215be4c ldmia sp!, {r4, pc} _0215bd98: bl func_ov15_0215c35c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215bcf4 _0215bda0: .word data_027e0d38 _0215bda4: .word data_027e0e2c _0215bda8: .word data_027e0e60 .global func_ov15_0215bdac arm_func_start func_ov15_0215bdac func_ov15_0215bdac: ; 0x0215bdac stmdb sp!, {r4, lr} ldr r1, _0215be40 ; =data_027e10a4 mov r4, r0 ldr r0, [r1] ldrb r0, [r0, #0x25f] cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x1bb] ldmneia sp!, {r4, pc} ldrb r0, [r4, #0x1bb] cmp r0, #1 bne _0215be34 ldr r0, _0215be44 ; =gAdventureFlags ldr r1, [r4, #0x1b4] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0215be04 ldr r0, _0215be44 ; =gAdventureFlags ldr r1, [r4, #0x1b4] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0215be04: mvn r1, #0 ldr r0, _0215be40 ; =data_027e10a4 str r1, [r4, #0x1b4] ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #0 bne _0215be34 ldr r0, _0215be48 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 _0215be34: mov r0, #0 strb r0, [r4, #0x1bb] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215bdac _0215be40: .word data_027e10a4 _0215be44: .word gAdventureFlags _0215be48: .word data_027e103c .global func_ov15_0215be4c arm_func_start func_ov15_0215be4c func_ov15_0215be4c: ; 0x0215be4c stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x1b4 mov r4, r0 mov r2, #1 mov r1, #0 strb r2, [r4, #0x1ba] bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _0215c068 ldr r0, [r4, #0x130] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0215c324 _0215be80: ; jump table b _0215be90 ; case 0 b _0215bf2c ; case 1 b _0215bf70 ; case 2 b _0215c324 ; case 3 _0215be90: mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0x1b4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} add r0, sp, #0x104 bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _0215c32c ; =data_027e0f64 mov r3, #0x32 ldr r1, [r0] mvn r5, #0 strb r3, [sp, #0x10d] ldr r0, _0215c330 ; =gAdventureFlags strb r2, [sp, #0x10e] strb r2, [sp, #0x10f] str r5, [sp, #0x108] ldr r5, [r1, #4] ldr r0, [r0] ldr r2, [r5, #0x26c] add r1, sp, #0x104 str r2, [sp, #0x124] ldr r3, [r5, #0x270] mov r2, #1 str r3, [sp, #0x128] ldr r3, [r5, #0x274] str r3, [sp, #0x12c] strb r2, [sp, #0x11a] bl _ZN14AdventureFlags18func_Ov00_02097810Ei ldr r1, _0215c334 ; =data_027e10a4 str r0, [r4, #0x1b4] ldr r0, [r1] bl func_ov15_021377d4 mov r1, #1 add r0, sp, #0x104 str r1, [r4, #0x130] bl func_ov00_0209a508 add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215bf2c: bl func_ov15_0215cf38 cmp r0, #0 addne sp, sp, #0x1b4 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r0, _0215c338 ; =data_027e0c68 ldr r2, _0215c33c ; =0x0005004a add r1, r4, #0x158 bl func_02036ce4 mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #1 strb r0, [r4, #0x1b9] mov r0, #2 add sp, sp, #0x1b4 str r0, [r4, #0x130] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215bf70: add r0, r4, #0x158 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x1b4 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r3, #0 sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff ldr r0, _0215c340 ; =data_027e0e60 str r2, [sp, #0x48] str r5, [sp, #0x3c] str r3, [sp, #0x40] str r3, [sp, #0x44] strh r3, [sp, #0x4c] strb r3, [sp, #0x4f] strb r3, [sp, #0x50] strb r3, [sp, #0x51] strb r1, [sp, #0x4e] ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x3c bl func_ov00_020838e8 cmp r0, #0 beq _0215c058 ldr r0, _0215c334 ; =data_027e10a4 ldrsh r5, [sp, #0x4c] ldrb lr, [sp, #0x4e] ldrb ip, [sp, #0x4f] ldrb r3, [sp, #0x50] ldrb r2, [sp, #0x51] ldr r9, [sp, #0x3c] ldr r8, [sp, #0x40] ldr r7, [sp, #0x44] ldr r6, [sp, #0x48] ldr r0, [r0] add r1, sp, #0 str r9, [sp] str r8, [sp, #4] str r7, [sp, #8] str r6, [sp, #0xc] strh r5, [sp, #0x10] strb lr, [sp, #0x12] strb ip, [sp, #0x13] strb r3, [sp, #0x14] strb r2, [sp, #0x15] bl func_ov15_021413f8 ldr r0, _0215c330 ; =gAdventureFlags ldr r1, _0215c344 ; =0x00000186 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb _0215c058: mov r0, #3 add sp, sp, #0x1b4 str r0, [r4, #0x130] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215c068: ldr r0, _0215c334 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #0 bne _0215c240 ldr r0, _0215c348 ; =data_027e0e2c ldr r0, [r0, #4] cmp r0, #0 beq _0215c240 ldrb r0, [r4, #0x1b9] cmp r0, #0 bne _0215c0c0 ldr r2, [r4, #0x30] ldr r0, _0215c338 ; =data_027e0c68 add r1, r4, #0x158 bl func_02036ce4 strb r0, [r4, #0x1b9] and r1, r0, #0xff mov r0, r4 bl _ZN5Actor10SetUnk_11cEc add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215c0c0: mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x1b4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} add r0, r4, #0x158 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x1b4 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r1, #0 ldr r0, _0215c338 ; =data_027e0c68 strb r1, [r4, #0x1b9] ldr r0, [r0, #0x28] add r0, r0, #0x500 ldrh r0, [r0, #0x76] cmp r0, #0 bne _0215c154 ldr r0, _0215c348 ; =data_027e0e2c ldr r2, _0215c34c ; =func_ov15_0215bb6c mov r3, r1 blx func_ov00_0207bd9c ldr r0, _0215c350 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cfae8 add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215c154: ldr r0, _0215c354 ; =data_027e0f94 add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0215c340 ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x18 bl func_ov00_020836bc ldr r2, [sp, #0x2c] ldr r1, [sp, #0x38] sub r0, r2, #0x7000 cmp r1, r0 addgt r0, r2, #0x2000 strgt r0, [sp, #0x38] ldrle r0, [sp, #0x24] addle r0, r0, #0x2000 strle r0, [sp, #0x30] add r0, sp, #0x54 bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _0215c32c ; =data_027e0f64 mov r3, #0x32 ldr r1, [r0] mvn ip, #0 ldr r0, _0215c330 ; =gAdventureFlags strb r3, [sp, #0x5d] strb r2, [sp, #0x5e] strb r2, [sp, #0x5f] str ip, [sp, #0x58] ldr ip, [r1, #4] ldr r0, [r0] ldr r2, [ip, #0x26c] add r1, sp, #0x54 str r2, [sp, #0x74] ldr r3, [ip, #0x270] mov r2, #1 str r3, [sp, #0x78] ldr r3, [ip, #0x274] str r3, [sp, #0x7c] strb r2, [sp, #0x6a] bl _ZN14AdventureFlags18func_Ov00_02097810Ei ldr r1, _0215c334 ; =data_027e10a4 str r0, [r4, #0x1b4] ldr r0, [r1] add r1, sp, #0x30 bl func_ov15_0213a500 ldr r0, _0215c350 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _0215c350 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cfae8 add r0, sp, #0x54 bl func_ov00_0209a508 add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215c240: ldrb r0, [r4, #0x1bc] cmp r0, #0 addne sp, sp, #0x1b4 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r1, _0215c348 ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 addne sp, sp, #0x1b4 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} ldrb r1, [r4, #0x1b9] cmp r1, #0 bne _0215c29c ldr r0, _0215c338 ; =data_027e0c68 ldr r2, _0215c358 ; =0x00050013 add r1, r4, #0x158 bl func_02036ce4 strb r0, [r4, #0x1b9] and r1, r0, #0xff mov r0, r4 bl _ZN5Actor10SetUnk_11cEc add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215c29c: ldr r1, [r4, #0x170] and r0, r1, r0, lsl #16 cmp r0, #0x1000000 addeq sp, sp, #0x1b4 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} add r0, r4, #0x158 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x1b4 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} mov r1, #0 mov r0, r4 strb r1, [r4, #0x1b9] mov r2, #1 strb r2, [r4, #0x1bc] bl _ZN5Actor18func_ov00_020c1c20Eiii ldr r0, _0215c330 ; =gAdventureFlags ldr r1, [r4, #0x1b4] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0215c31c ldr r0, _0215c330 ; =gAdventureFlags ldr r1, [r4, #0x1b4] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0215c31c: mvn r0, #0 str r0, [r4, #0x1b4] _0215c324: add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0215be4c _0215c32c: .word data_027e0f64 _0215c330: .word gAdventureFlags _0215c334: .word data_027e10a4 _0215c338: .word data_027e0c68 _0215c33c: .word 0x0005004a _0215c340: .word data_027e0e60 _0215c344: .word 0x00000186 _0215c348: .word data_027e0e2c _0215c34c: .word func_ov15_0215bb6c _0215c350: .word data_027e103c _0215c354: .word data_027e0f94 _0215c358: .word 0x00050013 .global func_ov15_0215c35c arm_func_start func_ov15_0215c35c func_ov15_0215c35c: ; 0x0215c35c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xd4 mov r4, r0 ldrb r0, [r4, #0x1b9] cmp r0, #0 bne _0215c384 bl func_ov15_0215d260 cmp r0, #0 addeq sp, sp, #0xd4 ldmeqia sp!, {r3, r4, pc} _0215c384: ldrb r0, [r4, #0x1ba] cmp r0, #1 ldrneb r0, [r4, #0x1b9] cmpne r0, #1 bne _0215c54c ldr r0, _0215c55c ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #1 bne _0215c54c ldr r0, _0215c560 ; =data_027e0e2c ldr r0, [r0, #4] cmp r0, #0 beq _0215c54c ldrb r0, [r4, #0x1b9] cmp r0, #0 bne _0215c3ec ldr r0, _0215c564 ; =data_027e0c68 ldr r2, _0215c568 ; =0x00050010 add r1, r4, #0x158 bl func_02036ce4 strb r0, [r4, #0x1b9] and r1, r0, #0xff mov r0, r4 bl _ZN5Actor10SetUnk_11cEc b _0215c54c _0215c3ec: mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _0215c54c add r0, r4, #0x158 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x170] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _0215c54c mov r1, #0 ldr r0, _0215c564 ; =data_027e0c68 strb r1, [r4, #0x1b9] ldr r0, [r0, #0x28] add r0, r0, #0x500 ldrh r0, [r0, #0x76] cmp r0, #0 bne _0215c474 ldr r0, _0215c560 ; =data_027e0e2c ldr r2, _0215c56c ; =func_ov15_0215bb6c mov r3, #1 blx func_ov00_0207bd9c ldr r0, _0215c570 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 b _0215c54c _0215c474: ldr r0, _0215c574 ; =data_027e0f94 add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0215c578 ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0 bl func_ov00_020836bc ldr r2, [sp, #0x14] ldr r1, [sp, #0x20] sub r0, r2, #0x7000 cmp r1, r0 subgt r0, r2, #0x2000 strgt r0, [sp, #0x20] ldrle r0, [sp, #0xc] suble r0, r0, #0x2000 strle r0, [sp, #0x18] add r0, sp, #0x24 bl func_ov00_0209a4f4 mov r2, #0 ldr r0, _0215c57c ; =data_027e0f64 mov r3, #0x32 ldr r1, [r0] mvn ip, #0 ldr r0, _0215c580 ; =gAdventureFlags strb r3, [sp, #0x2d] strb r2, [sp, #0x2e] strb r2, [sp, #0x2f] str ip, [sp, #0x28] ldr ip, [r1, #4] ldr r0, [r0] ldr r2, [ip, #0x26c] add r1, sp, #0x24 str r2, [sp, #0x44] ldr r3, [ip, #0x270] mov r2, #1 str r3, [sp, #0x48] ldr r3, [ip, #0x274] str r3, [sp, #0x4c] strb r2, [sp, #0x3a] bl _ZN14AdventureFlags18func_Ov00_02097810Ei ldr r1, _0215c55c ; =data_027e10a4 str r0, [r4, #0x1b4] ldr r0, [r1] add r1, sp, #0x18 bl func_ov15_0213a500 ldr r0, _0215c570 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cfae8 add r0, sp, #0x24 bl func_ov00_0209a508 _0215c54c: mov r0, #0 strb r0, [r4, #0x1ba] add sp, sp, #0xd4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215c35c _0215c55c: .word data_027e10a4 _0215c560: .word data_027e0e2c _0215c564: .word data_027e0c68 _0215c568: .word 0x00050010 _0215c56c: .word func_ov15_0215bb6c _0215c570: .word data_027e103c _0215c574: .word data_027e0f94 _0215c578: .word data_027e0e60 _0215c57c: .word data_027e0f64 _0215c580: .word gAdventureFlags .global func_ov15_0215c584 arm_func_start func_ov15_0215c584 func_ov15_0215c584: ; 0x0215c584 stmdb sp!, {r4, lr} sub sp, sp, #0xb0 mov r4, r0 ldr r0, _0215c690 ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 beq _0215c660 ldrb r0, [r4, #0x1bc] cmp r0, #0 bne _0215c620 add r0, sp, #0 bl func_ov00_0209a4f4 mov ip, #0 ldr r0, _0215c694 ; =data_027e0f64 mvn r2, #0 mov r1, #0x32 ldr r0, [r0] str r2, [sp, #4] strb r1, [sp, #9] strb ip, [sp, #0xa] strb ip, [sp, #0xb] ldr r3, [r0, #4] ldr r0, _0215c698 ; =gAdventureFlags ldr r1, [r3, #0x26c] ldr r0, [r0] str r1, [sp, #0x20] ldr r2, [r3, #0x270] add r1, sp, #0 str r2, [sp, #0x24] ldr r2, [r3, #0x274] str r2, [sp, #0x28] strb ip, [sp, #0x16] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x1b4] add r0, sp, #0 bl func_ov00_0209a508 _0215c620: mov r0, r4 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii mov r1, #1 ldr r0, _0215c69c ; =data_027e10a4 strb r1, [r4, #0x1ba] ldr r0, [r0] bl func_ov15_02136aec ldr r0, _0215c6a0 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cfae8 add sp, sp, #0xb0 ldmia sp!, {r4, pc} _0215c660: mov r1, #0 ldr r0, _0215c69c ; =data_027e10a4 strb r1, [r4, #0x1ba] ldr r0, [r0] bl func_ov15_02136aa4 ldr r0, _0215c6a0 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cfae8 add sp, sp, #0xb0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215c584 _0215c690: .word data_027e0e60 _0215c694: .word data_027e0f64 _0215c698: .word gAdventureFlags _0215c69c: .word data_027e10a4 _0215c6a0: .word data_027e103c .global func_ov15_0215c6a4 arm_func_start func_ov15_0215c6a4 func_ov15_0215c6a4: ; 0x0215c6a4 stmdb sp!, {r3, lr} ldrb r2, [r0, #0x1b9] cmp r2, #1 beq _0215c6c4 ldr r3, [r0, #0x1b4] mvn r2, #0 cmp r3, r2 ldmeqia sp!, {r3, pc} _0215c6c4: ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0215c6a4 .global func_ov15_0215c6d4 arm_func_start func_ov15_0215c6d4 func_ov15_0215c6d4: ; 0x0215c6d4 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x44 ldr r4, _0215c7d8 ; =data_027e0ff0 mov r7, #0 ldr r3, [r4] str r0, [sp] ldr r0, [r3, #4] mov r10, r1 mov r9, r2 mov r8, r7 cmp r0, #0 ble _0215c7c0 add r6, sp, #0x20 add r5, sp, #4 add r11, sp, #8 _0215c710: ldr r0, [r3] ldr r2, [r0, r8, lsl #3] cmp r2, #0 beq _0215c7a8 ldrb r1, [r9] ldrb r0, [r2, #4] cmp r1, r0 bne _0215c7a8 ldrb r3, [r2] mov r0, r6 mov r1, r10 mov r2, r5 strb r3, [sp, #4] bl func_ov15_0215c7dc ldr r0, [sp, #0x20] ldr r1, [sp, #0x24] str r0, [sp, #0x38] ldr r0, [sp, #0x28] str r1, [sp, #0x3c] str r0, [sp, #0x40] ldr r1, [r10] mov r0, r11 str r1, [sp, #8] ldr r2, [r10, #4] add r1, sp, #0x38 str r2, [sp, #0xc] ldr r2, [r10, #8] str r2, [sp, #0x10] bl func_01ff9ec0 cmp r0, r7 ble _0215c7a8 ldr r3, [sp, #0x38] ldr r2, [sp, #0x3c] ldr r1, [sp, #0x40] mov r7, r0 str r3, [sp, #0x2c] str r2, [sp, #0x30] str r1, [sp, #0x34] _0215c7a8: ldr r3, [r4] add r1, r8, #1 ldr r0, [r3, #4] and r8, r1, #0xff cmp r8, r0 blt _0215c710 _0215c7c0: ldr r3, [sp] add r0, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215c6d4 _0215c7d8: .word data_027e0ff0 .global func_ov15_0215c7dc arm_func_start func_ov15_0215c7dc func_ov15_0215c7dc: ; 0x0215c7dc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x34 ldr r3, _0215c8b0 ; =data_027e0ff0 mov r7, #0 ldr r3, [r3] ldrb r2, [r2] ldr r3, [r3] str r0, [sp] ldr r0, [r3, r2, lsl #3] mov r10, r1 ldrb r6, [r0, #1] mov r5, r7 add r8, r3, r2, lsl #3 cmp r6, #0 ble _0215c898 mov r9, r7 add r4, sp, #4 add r11, sp, #0x28 _0215c824: ldr r1, [r8, #4] mov r0, r4 add r1, r1, r9 ldr r3, [r1, #0xc] ldmib r1, {r2, ip} str ip, [sp, #0x2c] str r3, [sp, #0x30] str r2, [sp, #0x28] ldr r2, [r10] mov r1, r11 str r2, [sp, #4] ldr r2, [r10, #4] str r2, [sp, #8] ldr r2, [r10, #8] str r2, [sp, #0xc] bl func_01ff9ec0 cmp r0, r7 ble _0215c888 ldr r3, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] mov r7, r0 str r3, [sp, #0x1c] str r2, [sp, #0x20] str r1, [sp, #0x24] _0215c888: add r5, r5, #1 cmp r5, r6 add r9, r9, #0x24 blt _0215c824 _0215c898: ldr r3, [sp] add r0, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215c7dc _0215c8b0: .word data_027e0ff0 .global func_ov15_0215c8b4 arm_func_start func_ov15_0215c8b4 func_ov15_0215c8b4: ; 0x0215c8b4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x60 ldr r3, _0215cb1c ; =data_027e0ff0 ldrb r1, [r1] ldr r3, [r3] mov r10, r0 ldr r3, [r3] mvn r5, #0 add r8, r3, r1, lsl #3 ldmia r8, {r0, r1} ldrb r7, [r0, #1] ldr r0, [r1, #4] mov r6, #1 str r2, [sp] str r0, [sp, #0x54] ldr r0, [r1, #8] cmp r7, #1 str r0, [sp, #0x58] ldr r1, [r1, #0xc] sub r0, r5, #0x80000000 str r0, [sp, #4] str r1, [sp, #0x5c] blt _0215cb10 mov r9, #0x24 add r11, sp, #0x30 _0215c918: cmp r6, r7 ldr r0, [r8, #4] bne _0215c940 ldr r2, [r0, #8] ldr r1, [r0, #0xc] ldr r0, [r0, #4] str r0, [sp, #0x48] str r2, [sp, #0x4c] str r1, [sp, #0x50] b _0215c95c _0215c940: add r0, r0, r9 ldr r2, [r0, #8] ldr r1, [r0, #0xc] ldr r0, [r0, #4] str r0, [sp, #0x48] str r2, [sp, #0x4c] str r1, [sp, #0x50] _0215c95c: add r0, sp, #0x48 add r1, sp, #0x54 mov r2, r11 bl func_01ff9bf8 mov r0, #0 str r0, [sp, #0x34] mov r0, r11 bl func_01ff9cec str r0, [sp, #8] mov r0, r11 bl func_01fffb4c cmp r0, #0 beq _0215cb00 ldr r1, [r10] add r0, sp, #0xc str r1, [sp, #0xc] ldr r2, [r10, #4] add r1, sp, #0x54 str r2, [sp, #0x10] ldr r3, [r10, #8] add r2, sp, #0x3c str r3, [sp, #0x14] bl func_01ff9bf8 add r0, sp, #0x3c mov r1, r11 bl func_01ff9c2c movs r4, r0 bmi _0215ca60 ldr r0, [sp, #8] cmp r4, r0 bge _0215ca60 ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] bl func_01ffa0f4 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 r0, r0, lsl #0x1 ldr r1, _0215cb20 ; =data_02050f54 mov r3, r0, lsl #0x1 ldrsh ip, [r1, r3] add r0, r1, r0, lsl #1 ldrsh r3, [r0, #2] smull r1, r0, ip, r4 adds r1, r1, #0x800 smull ip, r4, r3, r4 ldr r2, [sp, #0x54] adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [sp, #0x3c] mov r0, #0x800 adds r1, ip, r0 mov r3, #0 mov r0, r3 adc r0, r4, r0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 ldr r0, [sp, #0x5c] add r0, r0, r1 str r0, [sp, #0x44] b _0215ca78 _0215ca60: ldr r1, [sp, #0x48] ldr r0, [sp, #0x4c] str r1, [sp, #0x3c] str r0, [sp, #0x40] ldr r0, [sp, #0x50] str r0, [sp, #0x44] _0215ca78: add r0, sp, #0x3c mov r1, r10 mov r2, r0 bl func_01ff9bf8 mov r0, #0 str r0, [sp, #0x40] add r0, sp, #0x3c bl func_01ff9cec ldr r1, [sp, #4] cmp r0, r1 bge _0215cae8 str r0, [sp, #4] ldr r0, [sp] cmp r0, #0 movne r5, r6 bne _0215cae0 mov r0, r10 add r1, sp, #0x54 bl func_ov00_020ce2f0 mov r4, r0 mov r0, r10 add r1, sp, #0x48 bl func_ov00_020ce2f0 cmp r4, r0 sublt r5, r6, #1 movge r5, r6 _0215cae0: cmp r5, r7 moveq r5, #0 _0215cae8: ldr r1, [sp, #0x48] ldr r0, [sp, #0x4c] str r1, [sp, #0x54] str r0, [sp, #0x58] ldr r0, [sp, #0x50] str r0, [sp, #0x5c] _0215cb00: add r9, r9, #0x24 add r6, r6, #1 cmp r6, r7 ble _0215c918 _0215cb10: mov r0, r5 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215c8b4 _0215cb1c: .word data_027e0ff0 _0215cb20: .word data_02050f54 .global func_ov15_0215cb24 arm_func_start func_ov15_0215cb24 func_ov15_0215cb24: ; 0x0215cb24 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr r3, _0215cbac ; =data_027e0f64 mov lr, r0 ldr r3, [r3] add ip, sp, #0 ldr r0, [r3, #4] mov r5, r1 add r0, r0, #0x260 mov r4, r2 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} mov r0, lr mov r1, ip bl func_ov00_020ce2f0 ldr r1, [r5] cmp r0, r1 addlt sp, sp, #0xc movlt r0, #0 ldmltia sp!, {r4, r5, pc} sub r2, r0, r1 smull r1, r0, r2, r2 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [r4] orr r1, r1, r0, lsl #20 smull r1, r0, r2, r1 adds r2, r1, #0x800 adc r1, r0, #0 mov r0, r2, lsr #0xc orr r0, r0, r1, lsl #20 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215cb24 _0215cbac: .word data_027e0f64 .global func_ov15_0215cbb0 arm_func_start func_ov15_0215cbb0 func_ov15_0215cbb0: ; 0x0215cbb0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr ip, _0215cc2c ; =data_027e0f94 add r3, sp, #0 mov lr, r0 mov r5, r1 mov r4, r2 ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, lr mov r1, r3 bl func_ov00_020ce2f0 ldr r1, [r5] cmp r0, r1 addlt sp, sp, #0xc movlt r0, #0 ldmltia sp!, {r4, r5, pc} sub r2, r0, r1 smull r1, r0, r2, r2 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [r4] orr r1, r1, r0, lsl #20 smull r1, r0, r2, r1 adds r2, r1, #0x800 adc r1, r0, #0 mov r0, r2, lsr #0xc orr r0, r0, r1, lsl #20 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215cbb0 _0215cc2c: .word data_027e0f94 .global func_ov15_0215cc30 arm_func_start func_ov15_0215cc30 func_ov15_0215cc30: ; 0x0215cc30 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 ldr r6, _0215cee4 ; =data_027e0f94 add r4, sp, #0xc mov r11, r0 mov r7, r1 mov r5, r2 ldmia r6, {r0, r1, r2} stmia r4, {r0, r1, r2} mov r4, r3 bl func_ov15_0213ce4c ldr r1, [r7] ldr r3, [sp, #0x48] add r2, sp, #0x18 bl func_ov15_0213cfe8 cmp r0, #0 bne _0215cd18 ldr r3, [sp, #0xc] ldr r0, [sp, #0x10] ldr r2, [sp, #0x14] str r3, [sp, #0x18] str r0, [sp, #0x1c] str r2, [sp, #0x20] ldr r8, [r4] ldr r6, _0215cee8 ; =0x00001333 ldr r1, _0215ceec ; =data_027e0fac umull r9, r0, r8, r6 mov r7, #0 ldrh r10, [r1] adds r1, r9, #0x800 mla r0, r8, r7, r0 mov r7, r8, asr #0x1f mla r0, r7, r6, r0 mov r6, r10, asr #0x4 mov r7, r6, lsl #0x1 add r6, r7, #1 ldr r8, _0215cef0 ; =data_02050f54 mov r7, r7, lsl #0x1 mov r6, r6, lsl #0x1 ldrsh r7, [r8, r7] ldrsh r6, [r8, r6] adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 smull r0, r8, r7, r1 adds r7, r0, #0x800 smull r1, r0, r6, r1 adc r6, r8, #0 adds r1, r1, #0x800 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 add r3, r3, r7 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r2, r1 str r3, [sp, #0x18] str r0, [sp, #0x20] _0215cd18: ldr r0, _0215cef4 ; =data_027e0764 mov ip, #0 ldr r2, [r0] ldmib r0, {r1, r6, lr} umull r9, r3, r6, r2 mla r3, r6, r1, r3 ldr r8, [r0, #0x10] mla r3, lr, r2, r3 ldr r7, [r0, #0x14] adds r10, r8, r9 str r10, [r0] adc r9, r7, r3 str r9, [r0, #4] mov r1, ip, lsl #0x10 ldr r2, [r5] orr r1, r1, r9, lsr #16 sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 add r3, r2, #1 mov r5, r1, asr #0x10 cmp r3, #0 movle r1, ip ble _0215cda8 umull r2, r1, r6, r10 mla r1, r6, r9, r1 adds r2, r8, r2 mla r1, lr, r10, r1 adc r1, r7, r1 str r2, [r0] str r1, [r0, #4] cmp r3, #0 beq _0215cda8 umull r2, r0, r1, r3 mla r0, r1, ip, r0 mla r0, ip, r3, r0 mov r1, r0 _0215cda8: mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 ldr r2, _0215cef0 ; =data_02050f54 mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r0, r0, lsl #0x1 ldrsh r2, [r2, r0] smull r6, r5, r3, r1 adds r6, r6, #0x800 smull r3, r1, r2, r1 adc r5, r5, #0 adds r2, r3, #0x800 mov r3, r6, lsr #0xc ldr r0, [sp, #0x18] orr r3, r3, r5, lsl #20 add r3, r0, r3 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 ldr r2, [sp, #0x20] add r0, sp, #0x18 add r2, r2, r1 add r1, sp, #0xc str r3, [sp, #0x18] str r2, [sp, #0x20] bl func_01ff9ec0 ldr r1, [r4] cmp r0, r1 bge _0215ced0 add r0, sp, #0x18 add r1, sp, #0xc add r2, sp, #0 bl func_01ff9bf8 ldr r5, [sp, #0xc] ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] ldr r0, [sp] ldr r1, [sp, #8] str r5, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x20] ldr r4, [r4] bl func_01ffa0f4 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 add r0, r1, #1 ldr r2, _0215cef0 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] ldr r6, [sp, #0x18] smull r2, r3, r1, r4 adds r5, r2, #0x800 smull r2, r1, r0, r4 adc r0, r3, #0 mov r3, r5, lsr #0xc orr r3, r3, r0, lsl #20 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc add r3, r6, r3 ldr r2, [sp, #0x20] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r3, [sp, #0x18] str r0, [sp, #0x20] _0215ced0: add r0, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r11, {r0, r1, r2} add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215cc30 _0215cee4: .word data_027e0f94 _0215cee8: .word 0x00001333 _0215ceec: .word data_027e0fac _0215cef0: .word data_02050f54 _0215cef4: .word data_027e0764 .global func_ov15_0215cef8 arm_func_start func_ov15_0215cef8 func_ov15_0215cef8: ; 0x0215cef8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0215cf30 ; =data_027e10a4 mov r4, r0 ldr r1, [r1] ldr r0, _0215cf34 ; =data_027e0f94 add r2, sp, #0 add r1, r1, #0x14 bl func_01ff9bf8 add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215cef8 _0215cf30: .word data_027e10a4 _0215cf34: .word data_027e0f94 .global func_ov15_0215cf38 arm_func_start func_ov15_0215cf38 func_ov15_0215cf38: ; 0x0215cf38 stmdb sp!, {r3, lr} sub sp, sp, #0x18 add r0, sp, #0 bl func_ov15_0215cef8 add r0, sp, #0 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 add sp, sp, #0x18 ldmia sp!, {r3, pc} arm_func_end func_ov15_0215cf38 .global func_ov15_0215cf70 arm_func_start func_ov15_0215cf70 func_ov15_0215cf70: ; 0x0215cf70 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 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 ldr r3, _0215cfc4 ; =data_02050f54 mov r2, r1, lsl #0x1 mov r4, r0 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] add r0, sp, #0 blx func_01ff81f8 add r1, sp, #0 mov r0, r4 mov r2, r4 bl func_0202e030 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215cf70 _0215cfc4: .word data_02050f54 .global func_ov15_0215cfc8 arm_func_start func_ov15_0215cfc8 func_ov15_0215cfc8: ; 0x0215cfc8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 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 ldr r3, _0215d01c ; =data_02050f54 mov r2, r1, lsl #0x1 mov r4, r0 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] add r0, sp, #0 blx func_01ff8214 add r1, sp, #0 mov r0, r4 mov r2, r4 bl func_0202e030 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215cfc8 _0215d01c: .word data_02050f54 .global func_ov15_0215d020 arm_func_start func_ov15_0215d020 func_ov15_0215d020: ; 0x0215d020 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 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 ldr r3, _0215d074 ; =data_02050f54 mov r2, r1, lsl #0x1 mov r4, r0 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] add r0, sp, #0 blx func_01ff8230 add r1, sp, #0 mov r0, r4 mov r2, r4 bl func_0202e030 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215d020 _0215d074: .word data_02050f54 .global func_ov15_0215d078 arm_func_start func_ov15_0215d078 func_ov15_0215d078: ; 0x0215d078 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x6c mov r5, #0 sub r4, r5, #2 mov r6, #0x47 mov r3, #0xff str r4, [sp, #0x60] ldr r2, _0215d22c ; =data_027e0e60 str r6, [sp, #0x54] str r5, [sp, #0x58] str r5, [sp, #0x5c] strh r5, [sp, #0x64] strb r3, [sp, #0x66] strb r5, [sp, #0x67] strb r5, [sp, #0x68] strb r5, [sp, #0x69] mov r4, r1 ldrh r1, [r0] ldr r0, [r2] add r2, sp, #0x54 bl func_ov00_020838e8 cmp r0, #0 addeq sp, sp, #0x6c moveq r0, r5 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} cmp r4, #0 beq _0215d1cc add r3, sp, #0x48 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x48] ldr r1, [sp, #0x4c] ldr r0, [sp, #0x50] str r2, [sp, #0x3c] str r1, [sp, #0x40] str r0, [sp, #0x44] mov r1, #1 str r1, [sp] ldr r0, _0215d230 ; =data_027e0f64 add r1, sp, #0x3c ldr r0, [r0] add r2, sp, #8 ldr r0, [r0, #4] add r3, sp, #4 bl func_01ffe468 cmp r0, #0 beq _0215d1cc ldr r2, [sp, #8] mvn r0, #0x1f cmp r2, r0 blt _0215d1cc cmp r2, #0x120 bge _0215d1cc ldr r3, [sp, #4] add r0, r0, #8 cmp r3, r0 blt _0215d1cc cmp r3, #0xd8 bge _0215d1cc ldr r0, _0215d234 ; =data_027e10a4 ldrsh r6, [sp, #0x64] ldrb r5, [sp, #0x66] ldrb r4, [sp, #0x67] ldrb lr, [sp, #0x68] ldrb ip, [sp, #0x69] ldr r10, [sp, #0x54] ldr r9, [sp, #0x58] ldr r8, [sp, #0x5c] ldr r7, [sp, #0x60] ldr r0, [r0] add r1, sp, #0x24 mov r2, r2, lsl #0xc mov r3, r3, lsl #0xc str r10, [sp, #0x24] str r9, [sp, #0x28] str r8, [sp, #0x2c] str r7, [sp, #0x30] strh r6, [sp, #0x34] strb r5, [sp, #0x36] strb r4, [sp, #0x37] strb lr, [sp, #0x38] strb ip, [sp, #0x39] bl func_ov15_0214146c add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} _0215d1cc: ldr r0, _0215d234 ; =data_027e10a4 ldrsh r6, [sp, #0x64] ldrb r5, [sp, #0x66] ldrb r4, [sp, #0x67] ldrb r3, [sp, #0x68] ldrb r2, [sp, #0x69] ldr r10, [sp, #0x54] ldr r9, [sp, #0x58] ldr r8, [sp, #0x5c] ldr r7, [sp, #0x60] ldr r0, [r0] add r1, sp, #0xc str r10, [sp, #0xc] str r9, [sp, #0x10] str r8, [sp, #0x14] str r7, [sp, #0x18] strh r6, [sp, #0x1c] strb r5, [sp, #0x1e] strb r4, [sp, #0x1f] strb r3, [sp, #0x20] strb r2, [sp, #0x21] bl func_ov15_021413f8 add sp, sp, #0x6c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0215d078 _0215d22c: .word data_027e0e60 _0215d230: .word data_027e0f64 _0215d234: .word data_027e10a4 .global func_ov15_0215d238 arm_func_start func_ov15_0215d238 func_ov15_0215d238: ; 0x0215d238 stmdb sp!, {r3, lr} ldr r0, _0215d25c ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0215d238 _0215d25c: .word data_027e0d3c .global func_ov15_0215d260 arm_func_start func_ov15_0215d260 func_ov15_0215d260: ; 0x0215d260 ldr r0, _0215d2bc ; =data_027e0f90 ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 ble _0215d2b4 ldr r0, _0215d2c0 ; =data_027e077c ldr r1, [r0] ldr r0, [r0, #4] cmp r1, r0 bne _0215d2b4 cmp r1, #1 cmpne r1, #0x3d bne _0215d2b4 ldr r0, _0215d2c4 ; =data_027e10a4 ldr r1, [r0] ldr r0, [r1, #0x2c] cmp r0, #5 ldreq r0, [r1, #0x324] cmpeq r0, #5 movne r0, #1 bxne lr _0215d2b4: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_0215d260 _0215d2bc: .word data_027e0f90 _0215d2c0: .word data_027e077c _0215d2c4: .word data_027e10a4 .global func_ov15_0215d2c8 arm_func_start func_ov15_0215d2c8 func_ov15_0215d2c8: ; 0x0215d2c8 stmdb sp!, {r4, lr} ldr r1, _0215d2fc ; =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_ov15_0215d300 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215d2c8 _0215d2fc: .word data_027e0f84 .global func_ov15_0215d300 arm_func_start func_ov15_0215d300 func_ov15_0215d300: ; 0x0215d300 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165298 ldr r1, _0215d31c ; =data_ov15_0218c658 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215d300 _0215d31c: .word data_ov15_0218c658 .global func_ov15_0215d320 arm_func_start func_ov15_0215d320 func_ov15_0215d320: ; 0x0215d320 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d320 .global func_ov15_0215d334 arm_func_start func_ov15_0215d334 func_ov15_0215d334: ; 0x0215d334 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d334 .global func_ov15_0215d350 arm_func_start func_ov15_0215d350 func_ov15_0215d350: ; 0x0215d350 mov r0, #0x6c bx lr arm_func_end func_ov15_0215d350 .global func_ov15_0215d358 arm_func_start func_ov15_0215d358 func_ov15_0215d358: ; 0x0215d358 mov r0, #0xf bx lr arm_func_end func_ov15_0215d358 .global func_ov15_0215d360 arm_func_start func_ov15_0215d360 func_ov15_0215d360: ; 0x0215d360 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0215d3dc ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xbd 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, _0215d3e0 ; =data_ov15_02186608 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_02165398 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215d360 _0215d3dc: .word data_027e0f68 _0215d3e0: .word data_ov15_02186608 .global func_ov15_0215d3e4 arm_func_start func_ov15_0215d3e4 func_ov15_0215d3e4: ; 0x0215d3e4 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0215d424 ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xe8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _0215d41c mov r1, r5 bl func_ov15_02165298 ldr r0, _0215d428 ; =data_ov15_0218c6f0 str r0, [r4] _0215d41c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215d3e4 _0215d424: .word data_027e0f84 _0215d428: .word data_ov15_0218c6f0 .global func_ov15_0215d42c arm_func_start func_ov15_0215d42c func_ov15_0215d42c: ; 0x0215d42c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0215d4a8 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xca 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, _0215d4ac ; =data_ov15_02186614 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_02165398 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215d42c _0215d4a8: .word data_027e0f68 _0215d4ac: .word data_ov15_02186614 .global func_ov15_0215d4b0 arm_func_start func_ov15_0215d4b0 func_ov15_0215d4b0: ; 0x0215d4b0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d4b0 .global func_ov15_0215d4c4 arm_func_start func_ov15_0215d4c4 func_ov15_0215d4c4: ; 0x0215d4c4 mov r0, #0x4e bx lr arm_func_end func_ov15_0215d4c4 .global func_ov15_0215d4cc arm_func_start func_ov15_0215d4cc func_ov15_0215d4cc: ; 0x0215d4cc mov r0, #0xd bx lr arm_func_end func_ov15_0215d4cc .global func_ov15_0215d4d4 arm_func_start func_ov15_0215d4d4 func_ov15_0215d4d4: ; 0x0215d4d4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d4d4 .global func_ov15_0215d4f0 arm_func_start func_ov15_0215d4f0 func_ov15_0215d4f0: ; 0x0215d4f0 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0215d530 ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xe8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _0215d528 mov r1, r5 bl func_ov15_02165298 ldr r0, _0215d534 ; =data_ov15_0218c788 str r0, [r4] _0215d528: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215d4f0 _0215d530: .word data_027e0f84 _0215d534: .word data_ov15_0218c788 .global func_ov15_0215d538 arm_func_start func_ov15_0215d538 func_ov15_0215d538: ; 0x0215d538 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0215d5b4 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xcb 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, _0215d5b8 ; =data_ov15_02186620 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_02165398 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215d538 _0215d5b4: .word data_027e0f68 _0215d5b8: .word data_ov15_02186620 .global func_ov15_0215d5bc arm_func_start func_ov15_0215d5bc func_ov15_0215d5bc: ; 0x0215d5bc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d5bc .global func_ov15_0215d5d0 arm_func_start func_ov15_0215d5d0 func_ov15_0215d5d0: ; 0x0215d5d0 mov r0, #0x52 bx lr arm_func_end func_ov15_0215d5d0 .global func_ov15_0215d5d8 arm_func_start func_ov15_0215d5d8 func_ov15_0215d5d8: ; 0x0215d5d8 mov r0, #0xe bx lr arm_func_end func_ov15_0215d5d8 .global func_ov15_0215d5e0 arm_func_start func_ov15_0215d5e0 func_ov15_0215d5e0: ; 0x0215d5e0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d5e0 .global func_ov15_0215d5fc arm_func_start func_ov15_0215d5fc func_ov15_0215d5fc: ; 0x0215d5fc stmdb sp!, {r3, r4, r5, lr} ldr r1, _0215d63c ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xe8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _0215d634 mov r1, r5 bl func_ov15_02165298 ldr r0, _0215d640 ; =data_ov15_0218c820 str r0, [r4] _0215d634: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215d5fc _0215d63c: .word data_027e0f84 _0215d640: .word data_ov15_0218c820 .global func_ov15_0215d644 arm_func_start func_ov15_0215d644 func_ov15_0215d644: ; 0x0215d644 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _0215d6c0 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xc9 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, _0215d6c4 ; =data_ov15_0218662c add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_02165398 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215d644 _0215d6c0: .word data_027e0f68 _0215d6c4: .word data_ov15_0218662c .global func_ov15_0215d6c8 arm_func_start func_ov15_0215d6c8 func_ov15_0215d6c8: ; 0x0215d6c8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d6c8 .global func_ov15_0215d6dc arm_func_start func_ov15_0215d6dc func_ov15_0215d6dc: ; 0x0215d6dc mov r0, #0x4c bx lr arm_func_end func_ov15_0215d6dc .global func_ov15_0215d6e4 arm_func_start func_ov15_0215d6e4 func_ov15_0215d6e4: ; 0x0215d6e4 mov r0, #0xc bx lr arm_func_end func_ov15_0215d6e4 .global func_ov15_0215d6ec arm_func_start func_ov15_0215d6ec func_ov15_0215d6ec: ; 0x0215d6ec stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d6ec .global func_ov15_0215d708 arm_func_start func_ov15_0215d708 func_ov15_0215d708: ; 0x0215d708 stmdb sp!, {r3, lr} ldr r1, _0215d734 ; =data_027e0fe0 mov r0, #0x3f0 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0215dc84 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0215d708 _0215d734: .word data_027e0fe0 .global func_ov15_0215d738 arm_func_start func_ov15_0215d738 func_ov15_0215d738: ; 0x0215d738 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r0, _0215d768 ; =data_ov15_0218c9c8 mov r1, #0 str r0, [r4] strh r1, [r4, #0x5c] strh r1, [r4, #0x5e] mov r0, r4 strb r1, [r4, #0x64] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215d738 _0215d768: .word data_ov15_0218c9c8 .global func_ov15_0215d76c arm_func_start func_ov15_0215d76c func_ov15_0215d76c: ; 0x0215d76c ldr ip, _0215d77c ; =func_ov00_020a9998 mov r1, #6 mov r2, #2 bx ip .align 2, 0 arm_func_end func_ov15_0215d76c _0215d77c: .word func_ov00_020a9998 .global func_ov15_0215d780 arm_func_start func_ov15_0215d780 func_ov15_0215d780: ; 0x0215d780 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r5, r0 ldrb r0, [r5, #0x64] mov r4, r1 cmp r0, #0 bne _0215d7bc mov r0, #1 strb r0, [r5, #0x64] ldr r0, [r4, #4] ldr r1, _0215d86c ; =data_ov15_02186718 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r5, #0x60] _0215d7bc: ldr r0, [r4, #8] tst r0, #0x10 ldrneb r1, [r4, #0xae] ldr r0, [r5, #0x60] mvneq r1, #0 cmp r1, r0 addne sp, sp, #0x24 ldmneia sp!, {r4, r5, pc} ldr r4, [r4, #0xb4] ldr r3, _0215d870 ; =data_02050f54 ldr r1, [r4] add r0, sp, #0 bic r1, r1, #2 str r1, [r4] ldrh r1, [r5, #0x5e] 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 r1, r4, #0x28 add r0, sp, #0 mov r2, r1 bl func_0202e030 ldrh r1, [r5, #0x5c] ldr r3, _0215d870 ; =data_02050f54 add r0, sp, #0 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 add r1, r4, #0x28 add r0, sp, #0 mov r2, r1 bl func_0202e030 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215d780 _0215d86c: .word data_ov15_02186718 _0215d870: .word data_02050f54 .global func_ov15_0215d874 arm_func_start func_ov15_0215d874 func_ov15_0215d874: ; 0x0215d874 stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0x88 bl func_ov00_020c5c2c ldr r1, _0215d8f8 ; =data_ov15_0218c9a4 add r0, r4, #0x20 str r1, [r4] bl func_ov15_0215d738 add r0, r4, #0x88 add r1, r4, #0xac mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0215d8fc ; =data_ov15_0218a690 add r0, r4, #0xe4 add r1, r4, #0x108 mov r2, #0 str r3, [r4, #0x88] blx func_ov00_020c0c08 ldr r1, _0215d8fc ; =data_ov15_0218a690 add r0, r4, #0x140 str r1, [r4, #0xe4] add r1, r4, #0x164 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0215d8fc ; =data_ov15_0218a690 mov r0, r4 str r1, [r4, #0x140] mov r1, #0xa2 ldr r2, _0215d900 ; =data_ov15_02186638 bl func_ov00_020c5c98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215d874 _0215d8f8: .word data_ov15_0218c9a4 _0215d8fc: .word data_ov15_0218a690 _0215d900: .word data_ov15_02186638 .global func_ov15_0215d904 arm_func_start func_ov15_0215d904 func_ov15_0215d904: ; 0x0215d904 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215d904 .global func_ov15_0215d918 arm_func_start func_ov15_0215d918 func_ov15_0215d918: ; 0x0215d918 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r4, r0 add r0, r4, #0x20 bl func_ov15_0215d76c add r0, r4, #0x20 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r4, #0xec] add r0, r4, #0x20 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r4, #0x148] ldr r1, _0215d9d0 ; =data_027e0fec ldr r0, _0215d9d4 ; =data_ov15_0218ca08 ldr r1, [r1] add r1, r1, #0x2000 ldr r6, [r1, #0x3b0] blx func_02016fe8 mov r5, r0 ldr r1, _0215d9d8 ; =data_ov15_0218ca18 add r0, sp, #0 mov r2, #0x10 bl strncpy mov r0, r5 add r1, sp, #0 bl func_0201e544 mov r1, r0 mov r2, r6 add r0, r4, #0x140 mov r3, #1 bl func_ov00_020c0cc8 add r0, r4, #0x20 ldr r2, [r0] add r1, r4, #0x140 ldr r2, [r2, #0x24] blx r2 mov r0, #0 str r0, [r4, #0x150] ldr r1, _0215d9dc ; =data_ov15_0218c8c4 mov r0, r4 bl func_ov15_0215d9e0 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215d918 _0215d9d0: .word data_027e0fec _0215d9d4: .word data_ov15_0218ca08 _0215d9d8: .word data_ov15_0218ca18 _0215d9dc: .word data_ov15_0218c8c4 .global func_ov15_0215d9e0 arm_func_start func_ov15_0215d9e0 func_ov15_0215d9e0: ; 0x0215d9e0 stmdb sp!, {r3, lr} ldr r1, [r1] cmp r1, #0 ldmltia sp!, {r3, pc} str r1, [r0, #0x154] add r0, r0, #0x140 bl func_ov00_020c0e04 ldmia sp!, {r3, pc} arm_func_end func_ov15_0215d9e0 .global func_ov15_0215da00 arm_func_start func_ov15_0215da00 func_ov15_0215da00: ; 0x0215da00 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov15_0215dc0c cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x19c] ldr r0, [r5, #0x1a0] add r4, r1, r0 str r4, [r5, #0x19c] cmp r4, #0x1000 ble _0215da38 mov r0, r5 bl func_ov15_0215dbb4 ldmia sp!, {r3, r4, r5, pc} _0215da38: ldr r0, [r5, #0x10] bl func_ov00_020c0d4c rsb r1, r4, #0x1000 str r1, [r0, #4] add r0, r5, #0xe4 bl func_ov00_020c0d4c ldr r1, [r5, #0x19c] str r1, [r0, #4] add r0, r5, #0xe4 bl func_ov00_020c0e04 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0215da00 .global func_ov15_0215da64 arm_func_start func_ov15_0215da64 func_ov15_0215da64: ; 0x0215da64 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r6, r0 ldr r3, [r6, #0x14] mov r5, r1 mov r4, r2 cmp r5, r3 ldrne r2, [r6, #0x1a4] cmpne r5, r2 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, pc} mvn r2, #0 cmp r3, r2 bne _0215daa8 bl func_ov15_0215db90 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0215daa8: mov r2, #0 str r2, [sp, #4] ldr ip, [r0] add r2, sp, #4 ldr ip, [ip] add r3, sp, #0 blx ip ldr r0, [sp, #4] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, [r6, #0x1a4] mvn r0, #0 cmp r1, r0 beq _0215db20 ldr r0, [r6, #0x19c] cmp r0, #0x800 ble _0215dafc mov r0, r6 bl func_ov15_0215db90 b _0215db20 _0215dafc: ldr r0, [r6, #0xc] ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 ldr r0, [r6, #0xc] ldr r1, [r6, #0x10] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 _0215db20: str r5, [r6, #0x1a4] ldr r1, [sp, #4] ldr r3, [sp] add r0, r6, #0xe4 mov r2, #0 bl func_ov00_020c0cc8 ldr r0, [r6, #0xc] add r1, r6, #0xe4 ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 mov r0, #0 str r0, [r6, #0x19c] str r4, [r6, #0x1a0] ldr r0, [r6, #0x10] bl func_ov00_020c0d4c ldr r1, [r6, #0x19c] rsb r1, r1, #0x1000 str r1, [r0, #4] add r0, r6, #0xe4 bl func_ov00_020c0d4c ldr r2, [r6, #0x19c] mov r1, #0x1000 str r2, [r0, #4] mov r0, r6 bl func_ov15_0215dc38 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0215da64 .global func_ov15_0215db90 arm_func_start func_ov15_0215db90 func_ov15_0215db90: ; 0x0215db90 stmdb sp!, {r4, lr} mov r4, r0 mvn r2, #0 str r2, [r4, #0x1a4] bl func_ov00_020c5d74 mov r0, r4 mov r1, #0x1000 bl func_ov15_0215dc38 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215db90 .global func_ov15_0215dbb4 arm_func_start func_ov15_0215dbb4 func_ov15_0215dbb4: ; 0x0215dbb4 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r2, [r4, #0x1a4] mvn r1, #0 cmp r2, r1 ldmeqia sp!, {r4, r5, r6, pc} mov r1, #0x1000 str r1, [r4, #0x19c] ldr r6, [r4, #0xf4] ldr r1, [r4, #0x1a4] ldr r5, [r4, #0xf8] bl func_ov15_0215db90 mov r0, r4 mov r1, r6 bl func_ov15_0215dc38 ldr r0, [r4, #0x10] str r5, [r0, #0x14] ldr r0, [r4, #0x10] bl func_ov00_020c0e04 mvn r0, #0 str r0, [r4, #0x1a4] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0215dbb4 .global func_ov15_0215dc0c arm_func_start func_ov15_0215dc0c func_ov15_0215dc0c: ; 0x0215dc0c ldr r1, [r0, #0x1a4] mvn r0, #0 cmp r1, r0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov15_0215dc0c .global func_ov15_0215dc24 arm_func_start func_ov15_0215dc24 func_ov15_0215dc24: ; 0x0215dc24 ldr r2, [r0, #0x1a4] cmp r2, r1 ldreq r0, [r0, #0xf8] ldrne r0, [r0, #0x9c] bx lr arm_func_end func_ov15_0215dc24 .global func_ov15_0215dc38 arm_func_start func_ov15_0215dc38 func_ov15_0215dc38: ; 0x0215dc38 str r1, [r0, #0x98] str r1, [r0, #0xf4] bx lr arm_func_end func_ov15_0215dc38 .global func_ov15_0215dc44 arm_func_start func_ov15_0215dc44 func_ov15_0215dc44: ; 0x0215dc44 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov ip, #0x14 mul r4, r1, ip mov r7, r0 ldr r1, [r7, #0x18] ldr r0, [r7, #8] mov r6, r2 add r1, r1, r4 mov r5, r3 bl func_0201e544 str r0, [r6] ldr r0, [r7, #0x18] add r0, r0, r4 ldr r0, [r0, #0x10] str r0, [r5] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_0215dc44 .global func_ov15_0215dc84 arm_func_start func_ov15_0215dc84 func_ov15_0215dc84: ; 0x0215dc84 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr r0, _0215dd0c ; =data_ov15_0218c8dc mvn r2, #0 str r0, [r4] str r2, [r4, #0x188] add r0, r4, #0x190 mov r1, #0x1000000 str r2, [r4, #0x18c] bl func_ov00_020d18f4 mov r2, #0 str r2, [r4, #0x1ec] sub r0, r2, #1 str r0, [r4, #0x1f0] str r2, [r4, #0x1f4] str r2, [r4, #0x1f8] str r0, [r4, #0x1fc] mov r1, r4 add r0, r4, #0x204 str r2, [r4, #0x200] bl func_ov15_0215d874 mov r1, #0 str r1, [r4, #0x3cc] add r0, r4, #0x300 strh r1, [r0, #0xe4] strb r1, [r4, #0x3ec] strb r1, [r4, #0x3ef] sub r1, r1, #1 str r1, [r4, #0x188] mov r0, r4 str r1, [r4, #0x18c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215dc84 _0215dd0c: .word data_ov15_0218c8dc .global func_ov15_0215dd10 arm_func_start func_ov15_0215dd10 func_ov15_0215dd10: ; 0x0215dd10 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x344 blx func_ov00_020a9b0c add r0, r4, #0x2e8 blx func_ov00_020a9b0c add r0, r4, #0x28c blx func_ov00_020a9b0c add r0, r4, #0x224 blx func_ov00_020a95ec add r0, r4, #0x1f8 bl func_ov00_020b7e6c add r0, r4, #0x1f8 bl func_ov00_020b7df0 add r0, r4, #0x1ec bl func_ov00_020b7e6c add r0, r4, #0x1ec bl func_ov00_020b7df0 add r0, r4, #0x190 bl func_ov00_020d1980 mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215dd10 .global func_ov15_0215dd70 arm_func_start func_ov15_0215dd70 func_ov15_0215dd70: ; 0x0215dd70 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x344 blx func_ov00_020a9b0c add r0, r4, #0x2e8 blx func_ov00_020a9b0c add r0, r4, #0x28c blx func_ov00_020a9b0c add r0, r4, #0x224 blx func_ov00_020a95ec add r0, r4, #0x1f8 bl func_ov00_020b7e6c add r0, r4, #0x1f8 bl func_ov00_020b7df0 add r0, r4, #0x1ec bl func_ov00_020b7e6c add r0, r4, #0x1ec bl func_ov00_020b7df0 add r0, r4, #0x190 bl func_ov00_020d1980 mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0215dd70 .global func_ov15_0215ddd8 arm_func_start func_ov15_0215ddd8 func_ov15_0215ddd8: ; 0x0215ddd8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldrh r0, [r4, #0x24] cmp r0, #3 cmpne r0, #4 beq _0215de30 ldrh r0, [r4, #0x22] cmp r0, #0 bne _0215de18 ldr r0, _0215dfd8 ; =data_027e0dbc mov r1, #0 blx func_ov03_020f3d5c cmp r0, #0 beq _0215de30 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215de18: ldr r0, _0215dfd8 ; =data_027e0dbc mov r1, #1 blx func_ov03_020f3d5c cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _0215de30: ldr r1, [r4, #0x48] mov r0, #0 str r1, [r4, #0x54] ldr r1, [r4, #0x4c] str r1, [r4, #0x58] ldr r1, [r4, #0x50] str r1, [r4, #0x5c] strb r0, [r4, #0x181] ldrh r0, [r4, #0x26] cmp r0, #0 bne _0215deb8 ldr r3, _0215dfdc ; =data_027e0764 ldr r1, _0215dfe0 ; =0x55555556 ldr r2, [r3] ldmib r3, {r0, ip} umull r5, lr, ip, r2 mla lr, ip, r0, lr ldr r0, [r3, #0xc] ldr ip, [r3, #0x10] mla lr, r0, r2, lr ldr r0, [r3, #0x14] adds r2, ip, r5 adc r5, r0, lr str r2, [r3] mov r0, r5, asr #0x1e and ip, r0, #0xff smull r0, lr, r1, ip add lr, lr, ip, lsr #31 mov r2, #3 smull r0, r1, r2, lr sub lr, ip, r0 add r0, lr, #1 str r5, [r3, #4] add r0, r0, r0, lsl #2 _0215deb8: strb r0, [r4, #0x3e8] mov r0, #0x11 str r0, [r4, #0x1f0] mov r0, #2 mov r2, #0x10 str r0, [r4, #0x1f4] str r2, [r4, #0x1fc] ldr r1, _0215dfe4 ; =data_027e0d0c str r0, [r4, #0x200] ldr r3, [r1] sub r2, r2, #0x11 str r3, [r4, #0x7c] ldr r3, [r1, #4] ldr ip, _0215dfe8 ; =0x00001666 str r3, [r4, #0x80] ldr lr, [r1, #8] mov r3, #9 str lr, [r4, #0x84] str r2, [r4, #0x88] ldr lr, [r4, #0x7c] mov r2, #0 str lr, [r4, #0x8c] ldr lr, [r4, #0x80] str lr, [r4, #0x90] ldr lr, [r4, #0x84] str lr, [r4, #0x94] ldr lr, [r4, #0x88] str lr, [r4, #0x98] ldr lr, [r1] str lr, [r4, #0xa8] ldr lr, [r1, #4] str lr, [r4, #0xac] ldr r1, [r1, #8] str r1, [r4, #0xb0] str ip, [r4, #0xb4] strh r3, [r4, #0x9c] str r0, [r4, #0x12c] strb r2, [r4, #0x124] strb r2, [r4, #0x3eb] ldr r0, [r4, #8] str r0, [r4, #0x1b0] ldr r0, [r4, #0xc] str r0, [r4, #0x1b4] ldrh r0, [r4, #0x24] cmp r0, #3 bne _0215dfa4 ldrsb r2, [r4, #0x2c] ldr r0, _0215dfec ; =gAdventureFlags ldr r1, _0215dff0 ; =data_ov15_02186700 ldr r0, [r0] ldr r1, [r1, r2, lsl #2] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0215dfa4 mov r0, #0x46 strh r0, [r4, #0x7a] mov r0, #0 strb r0, [r4, #0x3ee] b _0215dfac _0215dfa4: ldr r0, _0215dff4 ; =0x0000ffff strh r0, [r4, #0x7a] _0215dfac: ldrh r0, [r4, #0x24] cmp r0, #4 mov r0, r4 bne _0215dfc8 mov r1, #7 bl func_ov15_0215dff8 b _0215dfd0 _0215dfc8: mov r1, #0 bl func_ov15_0215dff8 _0215dfd0: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215ddd8 _0215dfd8: .word data_027e0dbc _0215dfdc: .word data_027e0764 _0215dfe0: .word 0x55555556 _0215dfe4: .word data_027e0d0c _0215dfe8: .word 0x00001666 _0215dfec: .word gAdventureFlags _0215dff0: .word data_ov15_02186700 _0215dff4: .word 0x0000ffff .global func_ov15_0215dff8 arm_func_start func_ov15_0215dff8 func_ov15_0215dff8: ; 0x0215dff8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 add r0, r6, #0x1f8 mov r5, r1 bl func_ov00_020b7e6c mov r3, #0 strb r3, [r6, #0x3ed] str r3, [r6, #0x3b8] str r3, [r6, #0x3c4] str r3, [r6, #0x3c8] ldr r0, _0215e568 ; =data_027e0d0c str r3, [r6, #0x6c] ldr r1, [r0] cmp r5, #7 str r1, [r6, #0x60] ldr r1, [r0, #4] str r1, [r6, #0x64] ldr r0, [r0, #8] str r0, [r6, #0x68] addls pc, pc, r5, lsl #2 b _0215e558 _0215e04c: ; jump table b _0215e06c ; case 0 b _0215e150 ; case 1 b _0215e298 ; case 2 b _0215e314 ; case 3 b _0215e34c ; case 4 b _0215e380 ; case 5 b _0215e3fc ; case 6 b _0215e404 ; case 7 _0215e06c: mov r1, r3 add r0, r6, #0x204 bl func_ov15_0215db90 mov r0, #0x1000 rsb r0, r0, #0 str r0, [r6, #0x4c] mov r0, r0, asr #0xc str r0, [r6, #0x88] ldr r2, _0215e56c ; =data_027e0764 str r0, [r6, #0x98] ldr r1, [r2] ldmib r2, {r0, r3} umull r7, r4, r3, r1 mla r4, r3, r0, r4 ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla r4, r0, r1, r4 ldr r3, [r2, #0x14] adds ip, ip, r7 adc r7, r3, r4 mov r0, #0x12c str ip, [r2] mov r1, #0 umull r3, r4, r7, r0 mla r4, r7, r1, r4 mla r4, r1, r0, r4 str r7, [r2, #4] str r4, [r6, #0x3b8] bl func_ov15_02160528 cmp r0, #0 beq _0215e0f4 bl func_ov15_02160528 add r1, r6, #8 bl func_ov15_02160598 _0215e0f4: ldrh r0, [r6, #0x24] cmp r0, #2 bhi _0215e558 ldrh r1, [r6, #0x22] cmp r1, #0 ldrneb r0, [r6, #0x3eb] cmpne r0, #0 beq _0215e558 ldr r0, _0215e570 ; =data_027e0e60 mov r2, #0 ldr r0, [r0] bl func_ov00_020836dc cmp r0, #0 bne _0215e558 ldr r0, _0215e574 ; =data_027e0dbc mov r1, #1 blx func_ov03_020f3d5c cmp r0, #0 bne _0215e558 ldr r0, _0215e574 ; =data_027e0dbc mov r1, #1 blx func_ov03_020f3d74 b _0215e558 _0215e150: ldr r1, _0215e578 ; =0x00000ccc ldr r0, _0215e57c ; =data_027e0f64 str r1, [r6, #0x98] ldr r0, [r0] ldr r0, [r0, #4] ldr r1, [r0, #0x160] add r0, r0, #0x200 ldrsh r4, [r0, #0x26] cmp r1, #3 subne r0, r4, #0x8000 movne r0, r0, lsl #0x10 movne r4, r0, asr #0x10 bl func_ov15_02160528 cmp r0, #0 beq _0215e1ac bl func_ov15_02160528 add r1, r6, #8 bl func_ov15_0216054c mvn r1, #0 str r0, [r6, #0x3d0] cmp r0, r1 bne _0215e1b4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215e1ac: mov r0, #0x7000 str r0, [r6, #0x3d0] _0215e1b4: ldr r1, _0215e580 ; =data_027e0f94 mov r0, r4, lsl #0x10 ldr r2, [r1] mov r0, r0, lsr #0x10 str r2, [r6, #0x48] ldr r2, [r1, #4] mov r0, r0, asr #0x4 str r2, [r6, #0x4c] mov ip, r0, lsl #0x1 ldr r0, [r1, #8] ldr r7, _0215e584 ; =data_02050f54 str r0, [r6, #0x50] mov r0, ip, lsl #0x1 ldrsh r3, [r7, r0] ldr r2, [r6, #0x3d0] add r0, ip, #1 smull ip, r2, r3, r2 adds r3, ip, #0x800 mov r0, r0, lsl #0x1 adc r2, r2, #0 mov r3, r3, lsr #0xc ldr ip, [r6, #0x48] orr r3, r3, r2, lsl #20 add r2, ip, r3 str r2, [r6, #0x48] ldrsh r2, [r7, r0] ldr r0, [r6, #0x3d0] ldr r7, [r6, #0x50] smull r3, r0, r2, r0 adds r2, r3, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 add r3, r7, r2 add r0, r6, #0x48 add r2, r6, #0x3ac str r3, [r6, #0x50] bl func_01ff9bf8 add r0, r6, #0x300 strh r4, [r0, #0xdc] sub r0, r4, #0x8000 strh r0, [r6, #0x78] mov r1, #0xc ldr r0, _0215e588 ; =0x00000185 str r1, [r6, #0x6c] str r0, [r6, #0x64] mov r0, #0xc000 str r0, [r6, #0x3c4] ldr r2, [r6, #0x214] mov r3, #0 add r0, r6, #0x204 mov r1, #0x1000 str r3, [r2, #0x14] bl func_ov15_0215dc38 mov r0, #1 strb r0, [r6, #0x3eb] b _0215e558 _0215e298: ldr r1, _0215e580 ; =data_027e0f94 mov r0, r6 bl _ZN5Actor10GetAngleToEP5Vec3p sub r2, r0, #0x8000 add r0, r6, #0x300 ldr r1, _0215e56c ; =data_027e0764 strh r2, [r0, #0xde] ldr r3, [r1] ldmib r1, {r2, r4} umull ip, r7, r4, r3 mla r7, r4, r2, r7 ldr r2, [r1, #0xc] ldr lr, [r1, #0x10] mla r7, r2, r3, r7 ldr r4, [r1, #0x14] adds ip, lr, ip adc r2, r4, r7 str ip, [r1] str r2, [r1, #4] tst r2, #0x80000000 beq _0215e300 mov r1, #0x78 strh r1, [r0, #0xe0] mov r1, #0x28 strh r1, [r0, #0xe2] b _0215e558 _0215e300: mvn r1, #0x77 strh r1, [r0, #0xe0] add r1, r1, #0x50 strh r1, [r0, #0xe2] b _0215e558 _0215e314: add r0, r6, #0x204 mov r1, #0x1000 bl func_ov15_0215dc38 mov r1, #0x21 str r1, [r6, #0x6c] rsb r2, r1, #0x1ec ldr r1, _0215e58c ; =0x00000666 str r2, [r6, #0x64] mov r0, #0 str r1, [r6, #0x88] str r0, [r6, #0x3c8] str r0, [r6, #0x3c4] strb r0, [r6, #0x3e9] b _0215e558 _0215e34c: ldr r0, _0215e590 ; =0x00000333 mov r4, #0x1ec str r0, [r6, #0x3d4] sub r0, r0, #0x334 str r0, [r6, #0x88] mov r0, #0x31 str r0, [r6, #0x6c] ldr r0, _0215e594 ; =data_027e0ffc add r1, r4, #0x9a add r2, r6, #0x48 str r4, [r6, #0x64] bl func_ov00_020ceacc b _0215e558 _0215e380: mov r1, r3 add r0, r6, #0x204 bl func_ov15_0215dc38 ldr r0, _0215e590 ; =0x00000333 mov r1, #0x1ec str r0, [r6, #0x3d4] sub r0, r0, #0x334 str r0, [r6, #0x88] mov r0, #0x31 str r0, [r6, #0x6c] ldr r0, _0215e594 ; =data_027e0ffc str r1, [r6, #0x64] add r1, r1, #0x9a add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r2, [r6, #0x30] ldr r0, _0215e598 ; =data_027e0c68 add r1, r6, #0x190 bl func_02036ce4 mov r0, r6 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r0, _0215e598 ; =data_027e0c68 add r1, r6, #0x190 bl func_020368f4 mov r0, #0 strb r0, [r6, #0x3ea] mov r0, #1 strb r0, [r6, #0x3ed] b _0215e558 _0215e3fc: strb r3, [r6, #0x3ee] b _0215e558 _0215e404: ldr r1, _0215e56c ; =data_027e0764 add r0, r6, #0x300 ldr r4, [r1] ldmib r1, {r2, r7} umull lr, ip, r7, r4 mla ip, r7, r2, ip ldr r2, [r1, #0xc] ldr r7, [r1, #0x10] mla ip, r2, r4, ip ldr r2, [r1, #0x14] adds r4, r7, lr adc r2, r2, ip str r4, [r1] str r2, [r1, #4] mov r2, r2, lsr #0x10 strh r2, [r0, #0xe6] ldr r2, [r1] ldmib r1, {r0, r4} umull ip, r7, r4, r2 mla r7, r4, r0, r7 ldr r0, [r1, #0xc] ldr lr, [r1, #0x10] mla r7, r0, r2, r7 ldr r4, [r1, #0x14] adds ip, lr, ip adc r2, r4, r7 mov r0, r2, lsr #0x10 str ip, [r1] mov r0, r0, lsl #0x10 str r2, [r1, #4] mov r0, r0, lsr #0x10 str r0, [r6, #0x3c4] ldr r2, [r1] ldmib r1, {r0, r4} umull ip, r7, r4, r2 mla r7, r4, r0, r7 ldr r0, [r1, #0xc] ldr lr, [r1, #0x10] mla r7, r0, r2, r7 ldr r4, [r1, #0x14] adds ip, lr, ip adc r0, r4, r7 str ip, [r1] str r0, [r1, #4] mov r0, r0, lsr #0x10 strh r0, [r6, #0x78] ldr r4, [r1] ldmib r1, {r0, r2} umull lr, ip, r2, r4 mla ip, r2, r0, ip ldr r0, [r1, #0x10] ldr r7, [r1, #0x14] adds lr, r0, lr ldr r0, [r1, #0xc] sub r2, r3, #1 mla ip, r0, r4, ip adc r0, r7, ip str lr, [r1] str r0, [r1, #4] mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 str r0, [r6, #0x3c8] mov r1, r3 str r2, [r6, #0x88] add r0, r6, #0x204 bl func_ov15_0215db90 ldr r0, [r6, #0x214] mov r1, #0xb000 str r1, [r0, #0x14] add r0, r6, #0x204 mov r1, #0 bl func_ov15_0215dc38 mov r0, #0 str r0, [r6, #0x6c] mov r0, #1 strb r0, [r6, #0x3ed] ldr r0, _0215e59c ; =data_027e0fe4 add r1, r6, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r6, #0x184] cmp r0, #0 moveq r0, #0 streqb r0, [r6, #0x118] _0215e558: mov r0, #0 str r0, [r6, #0x138] str r5, [r6, #0x130] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0215dff8 _0215e568: .word data_027e0d0c _0215e56c: .word data_027e0764 _0215e570: .word data_027e0e60 _0215e574: .word data_027e0dbc _0215e578: .word 0x00000ccc _0215e57c: .word data_027e0f64 _0215e580: .word data_027e0f94 _0215e584: .word data_02050f54 _0215e588: .word 0x00000185 _0215e58c: .word 0x00000666 _0215e590: .word 0x00000333 _0215e594: .word data_027e0ffc _0215e598: .word data_027e0c68 _0215e59c: .word data_027e0fe4 .global func_ov15_0215e5a0 arm_func_start func_ov15_0215e5a0 func_ov15_0215e5a0: ; 0x0215e5a0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #7 addls pc, pc, r1, lsl #2 b _0215e7e4 _0215e5bc: ; jump table b _0215e7e4 ; case 0 b _0215e7e4 ; case 1 b _0215e5dc ; case 2 b _0215e700 ; case 3 b _0215e79c ; case 4 b _0215e7bc ; case 5 b _0215e7e4 ; case 6 b _0215e7e4 ; case 7 _0215e5dc: ldr r0, [r4, #0x6c] add r3, sp, #0x10 cmp r0, #0 add r0, r4, #0x300 ldreqh r2, [r0, #0xde] ldreqsh r1, [r0, #0xe0] ldr r5, _0215e7ec ; =data_02050f54 ldrneh r2, [r0, #0xde] ldrnesh r1, [r0, #0xe2] add r1, r2, r1 strh r1, [r0, #0xde] ldr r0, _0215e7f0 ; =data_027e0f94 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r3, r4, #0x300 ldrh r2, [r3, #0xde] ldr r1, [r4, #0x3d0] mov r0, r2, asr #0x4 mov r6, r0, lsl #0x1 add r0, r6, #1 mov r6, r6, lsl #0x1 ldrsh r6, [r5, r6] mov r0, r0, lsl #0x1 ldrsh r5, [r5, r0] smull lr, ip, r6, r1 adds lr, lr, #0x800 smull r6, r1, r5, r1 adc ip, ip, #0 adds r5, r6, #0x800 mov r6, lr, lsr #0xc ldr r0, [sp, #0x10] orr r6, r6, ip, lsl #20 add r6, r0, r6 adc r0, r1, #0 mov r1, r5, lsr #0xc ldr r5, [sp, #0x18] orr r1, r1, r0, lsl #20 add r0, r5, r1 str r6, [sp, #0x10] str r0, [sp, #0x18] ldrsh r0, [r3, #0xe0] add r3, sp, #4 cmp r0, #0 addge r0, r2, #0x4000 sublt r0, r2, #0x4000 strh r0, [r4, #0x78] add r0, r4, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mvn r0, #0x80000000 str r0, [sp] mov r0, r3 ldr r1, [sp, #0x10] mov r2, #0x200 mov r3, #0 bl func_0202b418 mvn r0, #0x80000000 str r0, [sp] ldr r1, [sp, #0x18] add r0, sp, #0xc mov r2, #0x200 mov r3, #0 bl func_0202b418 ldr r1, [sp, #4] ldr r0, [r4, #0x48] sub r0, r1, r0 str r0, [r4, #0x60] ldr r1, [sp, #0xc] ldr r0, [r4, #0x50] add sp, sp, #0x1c sub r0, r1, r0 str r0, [r4, #0x68] ldmia sp!, {r3, r4, r5, r6, pc} _0215e700: add r0, r4, #0x48 bl func_ov00_020c53b0 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x78 mov r2, #0x2d8 bl func_0202b154 ldrh r1, [r4, #0x78] ldr r2, _0215e7ec ; =data_02050f54 ldr r0, _0215e7f4 ; =0x0000011f mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 mov r1, r3, lsl #0x1 ldrsh lr, [r2, r1] add r1, r3, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] umull r6, r5, lr, r0 mov r1, #0 mla r5, lr, r1, r5 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov lr, lr, asr #0x1f mov r1, r2, asr #0x1f adds r6, r6, #0x800 mla r5, lr, r0, r5 adc r5, r5, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r0, r3, #0 mov r1, ip, lsr #0xc str r6, [r4, #0x60] orr r1, r1, r0, lsl #20 add sp, sp, #0x1c str r1, [r4, #0x68] ldmia sp!, {r3, r4, r5, r6, pc} _0215e79c: ldr r2, [r4, #0x64] mov r1, #0 str r1, [r4, #0x60] str r2, [r4, #0x64] str r1, [r4, #0x68] bl _ZN5Actor12ApplyGravityEv add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _0215e7bc: ldr r1, [r4, #0x6c] cmp r1, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r2, [r4, #0x64] mov r1, #0 str r1, [r4, #0x60] str r2, [r4, #0x64] str r1, [r4, #0x68] bl _ZN5Actor12ApplyGravityEv _0215e7e4: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215e5a0 _0215e7ec: .word data_02050f54 _0215e7f0: .word data_027e0f94 _0215e7f4: .word 0x0000011f .global func_ov15_0215e7f8 arm_func_start func_ov15_0215e7f8 func_ov15_0215e7f8: ; 0x0215e7f8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0215e81c mov r0, r5 mov r1, r4 bl func_ov15_02123a9c _0215e81c: mov r0, #0x10000 ldr r1, [r5, #0x1a8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x190 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0215e7f8 .global func_ov15_0215e848 arm_func_start func_ov15_0215e848 func_ov15_0215e848: ; 0x0215e848 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} ldrb r0, [r5, #0x3ed] cmp r0, #0 mov r0, r5 beq _0215e884 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, r4, r5, pc} _0215e884: mov r1, r4 bl _ZN5Actor8vfunc_18Ej ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0215e848 .global func_ov15_0215e890 arm_func_start func_ov15_0215e890 func_ov15_0215e890: ; 0x0215e890 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xd0 mov r9, r0 ldr r1, [r9, #0x3b8] add r0, r9, #0x300 add r1, r1, #1 str r1, [r9, #0x3b8] ldrsh r3, [r0, #0xe4] ldr r2, _0215f7b8 ; =data_027e0e60 add r1, sp, #0x4c add r3, r3, #1 strh r3, [r0, #0xe4] ldr r3, [r9, #0x48] ldr r0, [r2] str r3, [sp, #0x4c] ldr r3, [r9, #0x4c] mov r2, #0 str r3, [sp, #0x50] ldr r3, [r9, #0x50] str r3, [sp, #0x54] bl func_ov00_02083ee0 ldr r1, [r9, #0x130] mov r6, r0 cmp r1, #7 addls pc, pc, r1, lsl #2 b _0215f70c _0215e8f8: ; jump table b _0215e918 ; case 0 b _0215e9bc ; case 1 b _0215ebbc ; case 2 b _0215ee08 ; case 3 b _0215ef48 ; case 4 b _0215ef7c ; case 5 b _0215f70c ; case 6 b _0215f50c ; case 7 _0215e918: ldr r0, _0215f7b8 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020846a4 cmp r0, #6 ldr r0, [r9, #0x3b8] subeq r0, r0, #1 streq r0, [r9, #0x3b8] beq _0215f70c cmp r0, #0x12c blt _0215f70c mov r0, r9 bl func_ov15_0215fb6c cmp r0, #0 beq _0215e9b0 ldr r2, _0215f7bc ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull r7, r5, r4, r3 mla r5, r4, r0, r5 ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla r5, r0, r3, r5 ldr r0, [r2, #0x14] adds r7, r4, r7 adc r5, r0, r5 mov r0, #0x64 umull r3, r4, r5, r0 mla r4, r5, r1, r4 str r7, [r2] mla r4, r1, r0, r4 str r5, [r2, #4] ldrb r0, [r9, #0x3e8] cmp r4, r0 bge _0215e9b0 mov r0, r9 mov r1, #1 bl func_ov15_0215dff8 _0215e9b0: mov r0, #0 str r0, [r9, #0x3b8] b _0215f70c _0215e9bc: ldr r0, _0215f7c0 ; =data_027e0e58 add r1, r9, #0x1f8 ldr r0, [r0] add r2, r9, #0x48 bl func_ov00_0207c474 ldr r0, _0215f7c4 ; =data_027e0f94 add r3, sp, #0xc4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0xc4] ldr r1, [r9, #0x3ac] mov r0, r9 add r1, r2, r1 str r1, [r9, #0x48] ldr r2, [sp, #0xcc] ldr r1, [r9, #0x3b4] add r1, r2, r1 str r1, [r9, #0x50] ldr r4, [r9, #0x64] bl _ZN5Actor12ApplyGravityEv cmp r4, #0 ble _0215ea34 ldr r0, [r9, #0x64] cmp r0, #0 bgt _0215ea34 ldr r0, _0215f7c8 ; =data_027e0ffc ldr r1, _0215f7cc ; =0x00000286 add r2, r9, #0x48 mov r3, #0 bl func_ov00_020ceacc _0215ea34: add r0, r9, #0x48 add r1, r9, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r0, [r9, #0x6c] ldr r1, [r9, #0x64] rsb r0, r0, r0, lsl #4 cmp r1, r0 bge _0215ea8c ldr r2, _0215f7d0 ; =0x00000889 add r0, r9, #0x3c8 mov r1, #0x10000 bl Approach_thunk ldr r2, _0215f7d4 ; =0x00000444 add r0, r9, #0x3c4 mov r1, #0x14000 bl Approach_thunk add r0, r9, #0x300 ldrsh r1, [r0, #0xdc] ldr r2, _0215f7d4 ; =0x00000444 add r0, r9, #0x78 bl func_0202b154 _0215ea8c: ldr r0, [r9, #0x64] cmp r0, #0 bge _0215eb2c add r0, r9, #0x300 ldrsh r1, [r9, #0x78] ldrsh r0, [r0, #0xdc] cmp r1, r0 bne _0215eab8 add r0, r9, #0x204 mov r1, #0x3800 bl func_ov15_0215dc38 _0215eab8: mov r0, #0x1000 ldr r1, [r9, #0x4c] rsb r0, r0, #0 cmp r1, r0 bge _0215eadc mov r0, r9 mov r1, #2 bl func_ov15_0215dff8 b _0215ebac _0215eadc: ldrb r0, [r9, #0x3ec] cmp r0, #1 bne _0215ebac cmp r1, r6 bge _0215ebac ldr r3, [r9, #0x50] ldr r2, [r9, #0x48] add r1, sp, #0xb8 mov r0, r9 str r2, [sp, #0xb8] str r6, [sp, #0xbc] str r3, [sp, #0xc0] bl func_ov15_0215fca0 mov r3, #0 ldr r0, _0215f7c8 ; =data_027e0ffc ldr r1, _0215f7d8 ; =0x00000289 add r2, sp, #0xb8 strb r3, [r9, #0x3ec] bl func_ov00_020ceacc b _0215ebac _0215eb2c: add r0, r9, #0x204 mvn r1, #1 bl func_ov15_0215dc24 cmp r0, #0xb000 blt _0215eb58 ldr r2, [r9, #0x214] mov r3, #0xb000 add r0, r9, #0x204 mov r1, #0 str r3, [r2, #0x14] bl func_ov15_0215dc38 _0215eb58: ldrb r0, [r9, #0x3ec] cmp r0, #0 bne _0215ebac ldr r0, [r9, #0x4c] cmp r0, r6 blt _0215ebac ldr r3, [r9, #0x50] ldr r2, [r9, #0x48] add r1, sp, #0xac mov r0, r9 str r2, [sp, #0xac] str r6, [sp, #0xb0] str r3, [sp, #0xb4] bl func_ov15_0215fca0 mov r4, #1 ldr r0, _0215f7c8 ; =data_027e0ffc add r2, sp, #0xac mov r1, #0x288 mov r3, #0 strb r4, [r9, #0x3ec] bl func_ov00_020ceacc _0215ebac: add r0, r9, #0x300 mov r1, #0 strh r1, [r0, #0xe4] b _0215f70c _0215ebbc: ldr r0, _0215f7c0 ; =data_027e0e58 add r1, r9, #0x1f8 ldr r0, [r0] add r2, r9, #0x48 bl func_ov00_0207c474 mov r0, #0x1000 ldr r1, [r9, #0x4c] rsb r0, r0, #0 cmp r1, r0 bgt _0215ecbc ldr r0, [r9, #0x6c] cmp r0, #0 bne _0215ecbc mov r0, r9 bl func_ov15_0215fb6c cmp r0, #0 beq _0215ec14 ldr r0, _0215f7b8 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020846a4 cmp r0, #6 bne _0215ec24 _0215ec14: mov r0, r9 mov r1, #3 bl func_ov15_0215dff8 b _0215f70c _0215ec24: add r0, r9, #0x300 ldrsh r0, [r0, #0xe4] cmp r0, #0x258 blt _0215ec44 mov r0, r9 mov r1, #3 bl func_ov15_0215dff8 b _0215f70c _0215ec44: ldr r2, _0215f7bc ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull r7, r5, r4, r3 mla r5, r4, r0, r5 ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla r5, r0, r3, r5 ldr r0, [r2, #0x14] adds r7, r4, r7 adc r5, r0, r5 mov r0, #0x64 umull r3, r4, r5, r0 mla r4, r5, r1, r4 mla r4, r1, r0, r4 str r7, [r2] str r5, [r2, #4] cmp r4, #5 bge _0215f70c mov r0, r9 bl func_ov15_0215f81c ldr r1, _0215f7dc ; =0x00000666 mov r0, #0 str r1, [r9, #0x88] str r0, [r9, #0x3c8] add r0, r9, #0x300 mov r1, #0x5b0 strh r1, [r0, #0xda] b _0215f70c _0215ecbc: mov r0, r9 bl func_ov15_0215f8b0 mov r0, #0x1000 ldr r1, [r9, #0x4c] rsb r0, r0, #0 cmp r1, r0 ble _0215f70c ldr r1, [r9, #0x68] ldr r0, [r9, #0x60] mov r4, r1, lsl #0x6 mov r1, r0, lsl #0x6 smull r0, r2, r1, r1 adds r3, r0, #0x800 smull r1, r0, r4, r4 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 mov r2, r0, asr #0x6 str r2, [sp, #0xc] add r1, sp, #0xc mov r0, r9 add r2, r9, #0x64 bl func_ov15_0215fa30 ldr r2, [r9, #0x64] cmp r2, #0 ble _0215ed88 ldr r0, [r9, #0x3c8] cmp r0, #0x14000 bge _0215ed64 ldr r2, _0215f7e0 ; =0x00000266 mvn r4, #0x80000000 add r0, r9, #0x3c8 mov r1, #0x14000 mov r3, #0x16c str r4, [sp] bl func_0202b418 _0215ed64: add r0, r9, #0x204 mvn r1, #1 bl func_ov15_0215dc24 cmp r0, #0xb000 bne _0215edd8 add r0, r9, #0x204 mov r1, #0 bl func_ov15_0215dc38 b _0215edd8 _0215ed88: ldr r0, _0215f7e4 ; =data_ov15_0218c8b0 ldr r1, [r9, #0x4c] ldr r0, [r0, #0x10] cmp r1, r0 bgt _0215edd8 cmp r2, #0 bge _0215edd8 add r0, r9, #0x204 mov r1, #0x4000 bl func_ov15_0215dc38 add r0, r9, #0xda ldr r1, _0215f7e8 ; =0x000009f5 add r0, r0, #0x300 mov r2, #0x200 bl func_0202b154 add r0, r9, #0x300 ldrsh r2, [r0, #0xda] add r0, r9, #0x3c8 mov r1, #0x1c000 bl Approach_thunk _0215edd8: ldr r0, [r9, #0x3c8] cmp r0, #0x14000 blt _0215f70c cmp r0, #0x1c000 bge _0215f70c add r0, r0, #0xdd add r0, r0, #0x400 str r0, [r9, #0x3c8] cmp r0, #0x1c000 movge r0, #0x1c000 strge r0, [r9, #0x3c8] b _0215f70c _0215ee08: ldr r0, _0215f7c0 ; =data_027e0e58 add r1, r9, #0x1f8 ldr r0, [r0] add r2, r9, #0x48 bl func_ov00_0207c474 ldr r0, [r9, #0x6c] cmp r0, #0 bne _0215eea0 ldr r2, _0215f7bc ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull r7, r5, r4, r3 mla r5, r4, r0, r5 ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla r5, r0, r3, r5 ldr r0, [r2, #0x14] adds r7, r4, r7 adc r5, r0, r5 mov r0, #0x64 umull r3, r4, r5, r0 mla r4, r5, r1, r4 mla r4, r1, r0, r4 str r7, [r2] str r5, [r2, #4] cmp r4, #0x14 bge _0215eef4 mov r0, #0x21 str r0, [r9, #0x6c] rsb r1, r0, #0x1ec ldr r0, _0215f7dc ; =0x00000666 str r1, [r9, #0x64] str r0, [r9, #0x88] ldrb r0, [r9, #0x3e9] add r0, r0, #1 strb r0, [r9, #0x3e9] b _0215eef4 _0215eea0: mov r0, r9 bl func_ov15_0215f8b0 ldr r2, [r9, #0x68] ldr r4, [r9, #0x60] smull r1, r0, r2, r2 smull r3, r2, r4, r4 adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 str r0, [sp, #8] add r1, sp, #8 mov r0, r9 add r2, r9, #0x64 bl func_ov15_0215fa30 _0215eef4: ldr r0, _0215f7c4 ; =data_027e0f94 add r3, sp, #0xa0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r9, #0x4c] str r0, [sp, #0xa4] ldr r0, [r9, #0x6c] cmp r0, #0 bne _0215f70c mov r1, r3 add r0, r9, #0x48 bl func_ov00_020ce2f0 cmp r0, #0xa000 ble _0215f70c ldrb r0, [r9, #0x3e9] cmp r0, #3 blo _0215f70c mov r0, r9 mov r1, #0 bl func_ov15_0215dff8 b _0215f70c _0215ef48: ldrh r0, [r9, #0x24] cmp r0, #2 bhi _0215ef6c ldrh r0, [r9, #0x22] cmp r0, #0 bne _0215ef6c ldr r0, _0215f7ec ; =data_027e0dbc mov r1, #0 blx func_ov03_020f3d74 _0215ef6c: mov r0, r9 mov r1, #7 bl func_ov15_02123828 b _0215f70c _0215ef7c: ldr r0, _0215f7c0 ; =data_027e0e58 add r1, r9, #0x1f8 ldr r0, [r0] add r2, r9, #0x48 bl func_ov00_0207c474 ldr r0, [r9, #0x6c] cmp r0, #0 beq _0215f130 ldr r2, _0215f7d0 ; =0x00000889 add r0, r9, #0x3c8 mov r1, #0x10000 bl Approach_thunk ldr r2, _0215f7d0 ; =0x00000889 add r0, r9, #0x3c4 mov r1, #0x14000 bl Approach_thunk add r0, r9, #0x48 add r1, r9, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r1, [r9, #0x48] ldr r0, _0215f7b8 ; =data_027e0e60 str r1, [sp, #0x40] ldr r1, [r9, #0x4c] ldr r0, [r0] str r1, [sp, #0x44] ldr r2, [r9, #0x50] add r1, sp, #0x40 str r2, [sp, #0x48] mov r2, #0 bl func_ov00_02083ee0 ldrb r1, [r9, #0x3ec] cmp r1, #1 bne _0215f048 ldr r1, [r9, #0x4c] cmp r1, r0 bge _0215f048 mov r3, #0 strb r3, [r9, #0x3ec] ldr r5, [r9, #0x50] ldr r4, [r9, #0x48] ldr r1, _0215f7d8 ; =0x00000289 str r0, [sp, #0x98] ldr r0, _0215f7c8 ; =data_027e0ffc add r2, sp, #0x94 str r4, [sp, #0x94] str r5, [sp, #0x9c] bl func_ov00_020ceacc add r1, sp, #0x94 mov r0, r9 bl func_ov15_0215fca0 _0215f048: mov r0, #0x1000 ldr r1, [r9, #0x4c] rsb r0, r0, #0 cmp r1, r0 ldrlt r0, [r9, #0x64] cmplt r0, #0 bge _0215f478 ldr r1, _0215f7f0 ; =data_027e0d0c mov r0, #0 str r0, [r9, #0x6c] ldr r0, [r1] ldr r2, _0215f7f4 ; =data_ov15_0218664c str r0, [r9, #0x60] ldr r3, [r1, #4] add r0, r9, #0x204 str r3, [r9, #0x64] ldr r3, [r1, #8] mov r1, #0xa3 str r3, [r9, #0x68] bl func_ov00_020c5c98 add r0, r9, #0x204 bl func_ov15_0215d918 ldrsb r2, [r9, #0x2c] add r1, sp, #4 add r0, r9, #0x204 mov r2, r2, lsl #0xc str r2, [sp, #4] bl func_ov15_0215d9e0 mov r1, #0 str r1, [r9, #0x3c8] mov r0, r9 str r1, [r9, #0x3c4] bl _ZN5Actor14GetAngleToLinkEv strh r0, [r9, #0x78] add r0, r9, #0x204 mov r1, #1 bl func_ov15_0215db90 mov r2, #0 str r2, [r9, #0x138] mov r0, #1 strb r0, [r9, #0x3ea] ldr r1, [r9, #0x48] ldr r0, _0215f7b8 ; =data_027e0e60 str r1, [sp, #0x34] ldr r3, [r9, #0x4c] ldr r0, [r0] str r3, [sp, #0x38] ldr r3, [r9, #0x50] add r1, sp, #0x34 str r3, [sp, #0x3c] bl func_ov00_02083ee0 ldr r1, _0215f7f8 ; =0xfffffccd ldr r2, [r9, #0x4c] add r0, r0, r1 add r1, r2, r0 str r1, [r9, #0x3cc] str r0, [r9, #0x4c] b _0215f478 _0215f130: ldrb r0, [r9, #0x3ea] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0215f478 _0215f140: ; jump table b _0215f478 ; case 0 b _0215f478 ; case 1 b _0215f158 ; case 2 b _0215f250 ; case 3 b _0215f35c ; case 4 b _0215f40c ; case 5 _0215f158: mov r0, r9 bl _ZN5Actor16XzDistanceToLinkEv ldr r1, _0215f7c4 ; =data_027e0f94 ldr r2, [r9, #0x4c] ldr r1, [r1, #4] add r1, r1, #0x1800 sub r1, r1, r2 bl func_01ffa0f4 rsb r1, r0, #0x4000 add r0, r9, #0x200 strh r1, [r0, #0x82] ldr r1, [r9, #0x48] ldr r0, _0215f7b8 ; =data_027e0e60 str r1, [sp, #0x28] ldr r1, [r9, #0x4c] ldr r0, [r0] str r1, [sp, #0x2c] ldr r3, [r9, #0x50] add r1, sp, #0x28 mov r2, #0 str r3, [sp, #0x30] bl func_ov00_02083ee0 mov r4, r0 ldr r0, _0215f7f8 ; =0xfffffccd ldr r2, _0215f7e0 ; =0x00000266 add r1, r4, r0 str r1, [r9, #0x4c] add r0, r9, #0x3cc mov r1, #0 bl Approach_thunk cmp r0, #0 beq _0215f1f4 mov r1, #5 mov r3, #3 add r0, r9, #0x204 rsb r2, r1, #0x338 strb r3, [r9, #0x3ea] bl func_ov15_0215da64 b _0215f478 _0215f1f4: ldrb r0, [r9, #0x3ec] cmp r0, #0 bne _0215f478 ldr r1, [r9, #0x3cc] ldr r0, _0215f7fc ; =0xfffff99a cmp r1, r0 blt _0215f478 mov r0, #1 strb r0, [r9, #0x3ec] ldr r7, [r9, #0x50] ldr r5, [r9, #0x48] ldr r0, _0215f7c8 ; =data_027e0ffc add r2, sp, #0x88 mov r1, #0x288 mov r3, #0 str r5, [sp, #0x88] str r4, [sp, #0x8c] str r7, [sp, #0x90] bl func_ov00_020ceacc add r1, sp, #0x88 mov r0, r9 bl func_ov15_0215fca0 b _0215f478 _0215f250: ldr r1, [r9, #0x48] ldr r0, _0215f7b8 ; =data_027e0e60 str r1, [sp, #0x1c] ldr r1, [r9, #0x4c] ldr r0, [r0] str r1, [sp, #0x20] ldr r2, [r9, #0x50] add r1, sp, #0x1c str r2, [sp, #0x24] mov r2, #0 ldr r4, [r9, #0x50] bl func_ov00_02083ee0 ldr r1, [r9, #0x48] mov r3, #0 str r0, [sp, #0x80] str r1, [sp, #0x7c] str r4, [sp, #0x84] str r3, [sp] ldr r2, _0215f800 ; =0x00000548 add r1, sp, #0x7c add r0, r9, #0x188 mov r3, #0xa bl func_ov00_020c7734 ldr r2, [sp, #0x80] ldr r1, _0215f7f8 ; =0xfffffccd mov r0, r9 add r1, r2, r1 str r1, [r9, #0x4c] bl _ZN5Actor16XzDistanceToLinkEv ldr r1, _0215f7c4 ; =data_027e0f94 ldr r2, [r9, #0x4c] ldr r1, [r1, #4] add r1, r1, #0x1800 sub r1, r1, r2 bl func_01ffa0f4 rsb r2, r0, #0x4000 add r0, r9, #0x200 mov r1, #0x10000 strh r2, [r0, #0x82] ldr r0, [r9, #0x1a8] rsb r1, r1, #0 and r0, r0, r1 cmp r0, #0x1000000 bne _0215f478 ldr r0, [r9, #0x218] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0215f340 _0215f310: ; jump table b _0215f340 ; case 0 b _0215f350 ; case 1 b _0215f340 ; case 2 b _0215f32c ; case 3 b _0215f340 ; case 4 b _0215f32c ; case 5 b _0215f350 ; case 6 _0215f32c: ldr r2, _0215f804 ; =0x00000333 add r0, r9, #0x204 mov r1, #6 bl func_ov15_0215da64 b _0215f350 _0215f340: ldr r2, _0215f804 ; =0x00000333 add r0, r9, #0x204 mov r1, #8 bl func_ov15_0215da64 _0215f350: mov r0, #4 strb r0, [r9, #0x3ea] b _0215f478 _0215f35c: ldr r1, [r9, #0x48] ldr r0, _0215f7b8 ; =data_027e0e60 str r1, [sp, #0x10] ldr r1, [r9, #0x4c] ldr r0, [r0] str r1, [sp, #0x14] ldr r3, [r9, #0x50] add r1, sp, #0x10 mov r2, #0 str r3, [sp, #0x18] bl func_ov00_02083ee0 mov r1, #0x2000 mov r4, r0 ldr r2, _0215f808 ; =0x0000019a add r0, r9, #0x4c rsb r1, r1, #0 bl Approach_thunk cmp r0, #0 movne r0, #5 strneb r0, [r9, #0x3ea] bne _0215f478 ldrb r0, [r9, #0x3ec] cmp r0, #1 bne _0215f478 ldr r0, _0215f7fc ; =0xfffff99a ldr r1, [r9, #0x4c] add r0, r4, r0 cmp r1, r0 bge _0215f478 mov r3, #0 strb r3, [r9, #0x3ec] ldr r7, [r9, #0x50] ldr r5, [r9, #0x48] ldr r0, _0215f7c8 ; =data_027e0ffc ldr r1, _0215f7d8 ; =0x00000289 add r2, sp, #0x70 str r5, [sp, #0x70] str r4, [sp, #0x74] str r7, [sp, #0x78] bl func_ov00_020ceacc add r1, sp, #0x70 mov r0, r9 bl func_ov15_0215fca0 b _0215f478 _0215f40c: ldr r0, [r9, #0x3c0] mov r7, #0 cmp r0, #0 ble _0215f464 ldr r8, _0215f80c ; =data_ov15_0218f81c ldr r11, _0215f810 ; =data_027e0fe4 mov r4, r8 mov r10, #1 mvn r5, #0 _0215f430: ldr r0, [r11] mov r1, r8 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 strneb r10, [r0, #0x11a] str r5, [r4, r7, lsl #3] add r0, r4, r7, lsl #3 str r5, [r0, #4] ldr r0, [r9, #0x3c0] add r7, r7, #1 cmp r7, r0 add r8, r8, #8 blt _0215f430 _0215f464: mov r2, #0 mov r0, r9 mov r1, #6 str r2, [r9, #0x3c0] bl func_ov15_0215dff8 _0215f478: add r0, r9, #0x204 bl func_ov15_0215dc0c cmp r0, #0 beq _0215f70c ldr r0, [r9, #0x218] cmp r0, #8 addls pc, pc, r0, lsl #2 b _0215f70c _0215f498: ; jump table b _0215f70c ; case 0 b _0215f70c ; case 1 b _0215f70c ; case 2 b _0215f70c ; case 3 b _0215f70c ; case 4 b _0215f4bc ; case 5 b _0215f4d0 ; case 6 b _0215f4e4 ; case 7 b _0215f4f8 ; case 8 _0215f4bc: mov r1, #3 add r0, r9, #0x204 add r2, r1, #0x330 bl func_ov15_0215da64 b _0215f70c _0215f4d0: mov r1, #1 add r0, r9, #0x204 rsb r2, r1, #0x334 bl func_ov15_0215da64 b _0215f70c _0215f4e4: ldr r2, _0215f804 ; =0x00000333 add r0, r9, #0x204 mov r1, #4 bl func_ov15_0215da64 b _0215f70c _0215f4f8: ldr r2, _0215f804 ; =0x00000333 add r0, r9, #0x204 mov r1, #2 bl func_ov15_0215da64 b _0215f70c _0215f50c: ldr r0, [r9, #0x184] add r3, sp, #0x64 add r0, r0, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r9, #0x4c] add r1, r0, #0xcd str r1, [r9, #0x4c] ldr r4, [sp, #0x68] add r0, r4, #0xa000 cmp r1, r0 strgt r0, [r9, #0x4c] ldr r2, [r9, #0x4c] ldr r3, _0215f814 ; =0x0000099a sub r5, r2, r4 mov r1, #0 umull r7, r0, r5, r3 mla r0, r5, r1, r0 add r4, r9, #0x300 ldrh r8, [r4, #0xe6] mov r5, r5, asr #0x1f mla r0, r5, r3, r0 mov r1, r8, asr #0x4 mov r8, r1, lsl #0x1 adds r1, r7, #0x800 add r3, r8, #1 mov r5, r8, lsl #0x1 ldr r7, _0215f818 ; =data_02050f54 adc r8, r0, #0 mov r0, r1, lsr #0xc ldrsh r5, [r7, r5] orr r0, r0, r8, lsl #20 mov r3, r3, lsl #0x1 smull r1, r8, r5, r0 adds r10, r1, #0x800 ldrsh r1, [r7, r3] adc r5, r8, #0 mov r7, r10, lsr #0xc smull r3, r0, r1, r0 adds r1, r3, #0x800 ldr r3, [sp, #0x64] orr r7, r7, r5, lsl #20 add r3, r3, r7 str r3, [r9, #0x48] str r2, [r9, #0x4c] adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [sp, #0x6c] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r9, #0x50] ldrsh r1, [r4, #0xe6] mov r8, #0x800 sub r0, r8, #0xe2 add r1, r1, #0x3b8 add r1, r1, #0x800 strh r1, [r4, #0xe6] ldr r3, _0215f7bc ; =data_027e0764 mov r1, r0 ldr r7, [r3, #8] ldmia r3, {r4, lr} umull r10, r8, r7, r4 mla r8, r7, lr, r8 ldr r5, [r3, #0xc] ldr ip, [r3, #0x10] mla r8, r5, r4, r8 ldr r11, [r3, #0x14] adds r4, ip, r10 adc r8, r11, r8 umull r5, r7, r8, r0 mov r5, #0 mla r7, r8, r5, r7 stmia r3, {r4, r8} mla r7, r5, r0, r7 mov r2, r0 add r0, r7, #0x31c add r0, r0, #0x400 ldr r4, [r9, #0x3c4] mov r0, r0, lsl #0x10 add r0, r4, r0, asr #16 str r0, [r9, #0x3c4] ldr r4, [r3] ldmib r3, {r0, r7} umull r10, r8, r7, r4 mla r8, r7, r0, r8 ldr r5, [r3, #0xc] ldr ip, [r3, #0x10] mla r8, r5, r4, r8 ldr r11, [r3, #0x14] adds r0, ip, r10 adc r7, r11, r8 stmia r3, {r0, r7} umull r0, r4, r7, r1 mov r0, #0 mla r4, r7, r0, r4 mla r4, r0, r1, r4 add r0, r4, #0x31c add r0, r0, #0x400 ldrsh r5, [r9, #0x78] mov r0, r0, lsl #0x10 add r0, r5, r0, asr #16 strh r0, [r9, #0x78] ldr r1, [r3] ldmib r3, {r0, r5} umull r8, r7, r5, r1 mla r7, r5, r0, r7 ldr r4, [r3, #0xc] ldr r11, [r3, #0x10] mla r7, r4, r1, r7 ldr r10, [r3, #0x14] adds r0, r11, r8 adc r4, r10, r7 stmia r3, {r0, r4} umull r0, r1, r4, r2 mov r0, #0 mla r1, r4, r0, r1 mla r1, r0, r2, r1 add r0, r1, #0x31c add r0, r0, #0x400 ldr r3, [r9, #0x3c8] mov r0, r0, lsl #0x10 add r0, r3, r0, asr #16 str r0, [r9, #0x3c8] ldr r0, _0215f7c0 ; =data_027e0e58 add r1, r9, #0x1f8 ldr r0, [r0] add r2, r9, #0x48 bl func_ov00_0207c474 _0215f70c: add r0, r9, #0x204 bl func_ov00_020c5e20 ldrb r0, [r9, #0xa4] cmp r0, #0 ldreqb r0, [r9, #0xa5] cmpeq r0, #0 beq _0215f7a8 add r0, r9, #0x48 add r3, sp, #0x58 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0215f7c0 ; =data_027e0e58 mov r2, r3 ldr r0, [r0] str r6, [sp, #0x5c] add r1, r9, #0x1ec bl func_ov00_0207c474 ldr r1, [r9, #0x4c] ldr r0, [sp, #0x5c] mov r2, #0 cmp r1, r0 bgt _0215f770 ldr r0, [r9, #0x130] cmp r0, #2 moveq r2, #1 _0215f770: ldr r3, [r9, #0x1ec] cmp r3, #0 addeq sp, sp, #0xd0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r2, #0 moveq r0, #1 ldr r1, [r3, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 add sp, sp, #0xd0 str r0, [r3, #0x24] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0215f7a8: add r0, r9, #0x1ec bl func_ov00_020b7e6c add sp, sp, #0xd0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0215e890 _0215f7b8: .word data_027e0e60 _0215f7bc: .word data_027e0764 _0215f7c0: .word data_027e0e58 _0215f7c4: .word data_027e0f94 _0215f7c8: .word data_027e0ffc _0215f7cc: .word 0x00000286 _0215f7d0: .word 0x00000889 _0215f7d4: .word 0x00000444 _0215f7d8: .word 0x00000289 _0215f7dc: .word 0x00000666 _0215f7e0: .word 0x00000266 _0215f7e4: .word data_ov15_0218c8b0 _0215f7e8: .word 0x000009f5 _0215f7ec: .word data_027e0dbc _0215f7f0: .word data_027e0d0c _0215f7f4: .word data_ov15_0218664c _0215f7f8: .word 0xfffffccd _0215f7fc: .word 0xfffff99a _0215f800: .word 0x00000548 _0215f804: .word 0x00000333 _0215f808: .word 0x0000019a _0215f80c: .word data_ov15_0218f81c _0215f810: .word data_027e0fe4 _0215f814: .word 0x0000099a _0215f818: .word data_02050f54 .global func_ov15_0215f81c arm_func_start func_ov15_0215f81c func_ov15_0215f81c: ; 0x0215f81c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr lr, _0215f8a4 ; =data_027e0764 mov r1, #0 ldr r6, [lr] ldmib lr, {r4, r5, r7, ip} umull r3, r2, r5, r6 mla r2, r5, r4, r2 mov r5, r0 ldr r0, _0215f8a8 ; =0x7ffff000 add r1, r1, #0x64000 and r0, r1, r0 mov r4, r0, asr #0xc mul r1, r0, r4 mla r2, r7, r6, r2 ldr r0, [lr, #0x14] adds r3, ip, r3 adc r2, r0, r2 str r3, [lr] str r2, [lr, #4] mov r2, #0 ldr r0, _0215f8ac ; =0x0000f998 str r2, [r5, #0x3b8] bl Divide mul r1, r0, r4 str r0, [r5, #0x6c] mov r0, r1, asr #0x1 str r0, [r5, #0x64] ldr r2, [r5, #0x214] mov r3, #0 add r0, r5, #0x204 mov r1, #0x1000 str r3, [r2, #0x14] bl func_ov15_0215dc38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0215f81c _0215f8a4: .word data_027e0764 _0215f8a8: .word 0x7ffff000 _0215f8ac: .word 0x0000f998 .global func_ov15_0215f8b0 arm_func_start func_ov15_0215f8b0 func_ov15_0215f8b0: ; 0x0215f8b0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x24 mov r6, r0 ldr r5, [r6, #0x64] ldr r1, [r6, #0x48] ldr r0, _0215fa20 ; =data_027e0e60 str r1, [sp] ldr r1, [r6, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r6, #0x50] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 mov r4, r0 mov r0, r6 bl _ZN5Actor12ApplyGravityEv add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0x64] cmp r0, #0 ldrb r0, [r6, #0x3ec] ble _0215f96c cmp r0, #0 bne _0215f9e0 ldr r0, [r6, #0x4c] cmp r0, r4 blt _0215f9e0 mov r0, #1 strb r0, [r6, #0x3ec] ldr ip, [r6, #0x50] ldr r5, [r6, #0x48] ldr r0, _0215fa24 ; =data_027e0ffc add r2, sp, #0x18 mov r1, #0x288 mov r3, #0 str r5, [sp, #0x18] str r4, [sp, #0x1c] str ip, [sp, #0x20] bl func_ov00_020ceacc add r1, sp, #0x18 mov r0, r6 bl func_ov15_0215fca0 b _0215f9e0 _0215f96c: cmp r0, #1 bne _0215f9b8 ldr r0, [r6, #0x4c] cmp r0, r4 bge _0215f9b8 mov r3, #0 strb r3, [r6, #0x3ec] ldr lr, [r6, #0x50] ldr ip, [r6, #0x48] ldr r0, _0215fa24 ; =data_027e0ffc ldr r1, _0215fa28 ; =0x00000289 add r2, sp, #0xc str ip, [sp, #0xc] str r4, [sp, #0x10] str lr, [sp, #0x14] bl func_ov00_020ceacc add r1, sp, #0xc mov r0, r6 bl func_ov15_0215fca0 _0215f9b8: ldr r0, [r6, #0x130] cmp r0, #2 bne _0215f9e0 cmp r5, #0 ble _0215f9e0 ldr r0, _0215fa24 ; =data_027e0ffc ldr r1, _0215fa2c ; =0x00000286 add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc _0215f9e0: mov r0, #0x1000 ldr r1, [r6, #0x4c] rsb r0, r0, #0 cmp r1, r0 addge sp, sp, #0x24 ldmgeia sp!, {r3, r4, r5, r6, pc} mov r1, #0 str r1, [r6, #0x6c] str r1, [r6, #0x64] str r0, [r6, #0x4c] sub r0, r1, #1 str r0, [r6, #0x88] str r1, [r6, #0x3c8] str r1, [r6, #0x3c4] add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0215f8b0 _0215fa20: .word data_027e0e60 _0215fa24: .word data_027e0ffc _0215fa28: .word 0x00000289 _0215fa2c: .word 0x00000286 .global func_ov15_0215fa30 arm_func_start func_ov15_0215fa30 func_ov15_0215fa30: ; 0x0215fa30 stmdb sp!, {r4, lr} ldr r2, [r2] mov r4, r0 cmp r2, #0 ldr r0, [r1] bge _0215fa68 rsb r1, r2, #0 rsb r0, r0, #0 bl func_01ffa0f4 add r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x3c4] ldmia sp!, {r4, pc} _0215fa68: mov r1, r2 rsb r0, r0, #0 bl func_01ffa0f4 add r1, r0, #0x4000 mvn r0, #0 mul r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x3c4] ldmia sp!, {r4, pc} arm_func_end func_ov15_0215fa30 .global func_ov15_0215fa90 arm_func_start func_ov15_0215fa90 func_ov15_0215fa90: ; 0x0215fa90 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r1 ldr ip, [r4, #0x14] ldr r1, _0215fb68 ; =0x434e424c ldr r2, [ip, #4] mov r5, r0 cmp r2, r1 addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} add r0, ip, #0x60 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0xc] cmp r0, #0 ldreq r0, [sp, #0x14] cmpeq r0, #0 bne _0215fb00 add r2, sp, #0 add r0, r5, #0x48 add r1, ip, #0x48 bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 b _0215fb0c _0215fb00: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 _0215fb0c: add r1, r5, #0x300 strh r0, [r1, #0xd8] ldrh r0, [r5, #0x24] cmp r0, #3 bne _0215fb50 bl func_ov15_0215d260 cmp r0, #0 beq _0215fb44 mov r0, r5 mov r1, #5 bl func_ov15_0215dff8 ldr r0, [r4, #0x14] bl func_ov15_0213543c b _0215fb5c _0215fb44: add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215fb50: mov r0, r5 mov r1, #4 bl func_ov15_0215dff8 _0215fb5c: mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215fa90 _0215fb68: .word 0x434e424c .global func_ov15_0215fb6c arm_func_start func_ov15_0215fb6c func_ov15_0215fb6c: ; 0x0215fb6c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r0 ldrh r0, [r4, #0x20] ands r1, r0, #0xff beq _0215fba8 ldr r0, _0215fc94 ; =data_027e0e60 mov r2, #0 ldr r0, [r0] bl func_ov00_020836dc cmp r0, #0 movne r0, #0 addne sp, sp, #0x18 strneb r0, [r4, #0x3ef] ldmneia sp!, {r3, r4, r5, pc} _0215fba8: ldrh r0, [r4, #0x22] ands r5, r0, #0xff beq _0215fc0c ldr r0, _0215fc98 ; =data_027e0dbc mov r1, #1 blx func_ov03_020f3d5c cmp r0, #0 addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0215fc94 ; =data_027e0e60 mov r1, r5 ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 moveq r0, #0 addeq sp, sp, #0x18 streqb r0, [r4, #0x3ef] ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x3ef] cmp r0, #0 addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _0215fc0c: ldrh r0, [r4, #0x24] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0215fc88 _0215fc1c: ; jump table b _0215fc2c ; case 0 b _0215fc38 ; case 1 b _0215fc60 ; case 2 b _0215fc2c ; case 3 _0215fc2c: add sp, sp, #0x18 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _0215fc38: ldr r0, _0215fc9c ; =data_027e0dcc add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0xc] add sp, sp, #0x18 cmp r0, #0xc movlo r0, #1 movhs r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215fc60: ldr r0, _0215fc9c ; =data_027e0dcc add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] add sp, sp, #0x18 cmp r0, #0xc movhs r0, #1 movlo r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215fc88: mov r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215fb6c _0215fc94: .word data_027e0e60 _0215fc98: .word data_027e0dbc _0215fc9c: .word data_027e0dcc .global func_ov15_0215fca0 arm_func_start func_ov15_0215fca0 func_ov15_0215fca0: ; 0x0215fca0 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r1 ldr r1, _0215fcfc ; =0x00000548 mov r0, r4 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _0215fcfc ; =0x00000548 mov r0, r4 mov r3, r2 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] ldr r0, _0215fd00 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x12 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215fca0 _0215fcfc: .word 0x00000548 _0215fd00: .word data_027e0e58 .global func_ov15_0215fd04 arm_func_start func_ov15_0215fd04 func_ov15_0215fd04: ; 0x0215fd04 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x130] cmp r0, #0 cmpne r0, #6 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} cmp r0, #2 bne _0215fd68 add r0, r4, #0x300 ldrsh r0, [r0, #0xe2] cmp r0, #0 bge _0215fd68 ldr r0, [r4, #0x3c8] rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 b _0215fd74 _0215fd68: ldr r0, [r4, #0x3c8] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 _0215fd74: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0215fe2c ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0x18 blx func_01ff8230 ldr r1, [r4, #0x3c4] add r0, sp, #0x18 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0x18 bl func_ov15_0215cfc8 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x3cc] ldr r3, [r4, #0x50] ldr r0, [r4, #0x48] add r1, r2, r1 str r1, [sp, #0x10] str r3, [sp, #0x14] str r0, [sp, #0xc] ldr r0, [r4, #0x130] cmp r0, #7 bne _0215fe14 ldr ip, _0215fe30 ; =0x00000666 add r1, sp, #0 add r2, sp, #0x18 add r3, sp, #0xc add r0, r4, #0x204 str ip, [sp] str ip, [sp, #4] str ip, [sp, #8] bl func_ov00_020c5f80 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _0215fe14: add r1, sp, #0x18 add r2, sp, #0xc add r0, r4, #0x204 bl func_ov00_020c5e88 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0215fd04 _0215fe2c: .word data_02050f54 _0215fe30: .word 0x00000666 .global func_ov15_0215fe34 arm_func_start func_ov15_0215fe34 func_ov15_0215fe34: ; 0x0215fe34 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 mov r5, r0 ldrh r4, [r5, #0x7a] ldr r0, _0215fef0 ; =0x0000ffff cmp r4, r0 addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, pc} ldrh r0, [r1] tst r0, #4 bne _0215fe6c tst r0, #8 addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, pc} _0215fe6c: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _0215fef4 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r5, #0x14 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #0x18 bl func_01ffbe34 mov r1, #1 str r1, [sp, #0x1c] ldrb r0, [r5, #0x3ee] mov r3, r4 cmp r0, #0 subne r0, r1, #4 strneb r0, [sp, #0x20] moveq r0, #0 streqb r0, [sp, #0x20] add r1, sp, #0x18 str r1, [sp] ldr r0, _0215fef8 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] bl func_020313c8 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215fe34 _0215fef0: .word 0x0000ffff _0215fef4: .word data_027e0d3c _0215fef8: .word data_02063e4c .global func_ov15_0215fefc arm_func_start func_ov15_0215fefc func_ov15_0215fefc: ; 0x0215fefc stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #7 moveq r0, #0 streqb r0, [r4, #0x118] ldmeqia sp!, {r4, pc} cmp r1, #5 ldmgeia sp!, {r4, pc} mov r1, #0 bl func_ov15_0215dff8 ldrh r0, [r4, #0x24] cmp r0, #3 ldmneia sp!, {r4, pc} ldr r0, _0215ff58 ; =data_027e0e60 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x3ef] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0215fefc _0215ff58: .word data_027e0e60 .global func_ov15_0215ff5c arm_func_start func_ov15_0215ff5c func_ov15_0215ff5c: ; 0x0215ff5c stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 ldr r0, [r5, #4] mov r4, r1 cmp r4, r0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r4, r5, pc} add r0, r4, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r5, #4] mov r1, r3 bl _ZN5Actor12XzDistanceToEP5Vec3p ldr r1, [r5, #8] cmp r0, r1 addgt sp, sp, #0xc movgt r0, #0 ldmgtia sp!, {r4, r5, pc} cmp r0, #0x4000 ble _0215fff4 ldr r0, [r5, #4] add r1, sp, #0 bl _ZN5Actor10GetAngleToEP5Vec3p ldrsh r1, [r5, #0xc] sub r0, r1, r0 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 rsbmi r0, r1, #0 movmi r0, r0, lsl #0x10 movmi r1, r0, asr #0x10 ldr r0, _021600d8 ; =0x00001555 cmp r1, r0 addgt sp, sp, #0xc movgt r0, #0 ldmgtia sp!, {r4, r5, pc} _0215fff4: ldr r0, [r4, #4] ldr r1, _021600dc ; =0x45465756 cmp r0, r1 ldrne r1, _021600e0 ; =0x45465250 cmpne r0, r1 subne r1, r1, #4 cmpne r0, r1 ldrne r1, _021600e4 ; =0x434e424c cmpne r0, r1 ldrne r1, _021600e8 ; =0x43424c53 cmpne r0, r1 ldrne r1, _021600ec ; =0x4b4d4741 cmpne r0, r1 ldrne r1, _021600f0 ; =0x534e4745 cmpne r0, r1 subne r1, r1, #4 cmpne r0, r1 ldrne r1, _021600f4 ; =0x534c4152 cmpne r0, r1 ldrne r1, _021600f8 ; =0x46534152 cmpne r0, r1 ldrne r1, _021600fc ; =0x4653524c cmpne r0, r1 ldrne r1, _02160100 ; =0x534e4156 cmpne r0, r1 ldrne r1, _02160104 ; =0x53525059 cmpne r0, r1 ldrne r1, _02160108 ; =0x53485254 cmpne r0, r1 ldrne r2, _0216010c ; =0x47534d47 cmpne r0, r2 ldrne r1, _02160110 ; =0x53504b48 cmpne r0, r1 ldrne r1, _02160114 ; =0x4c4f4e44 cmpne r0, r1 ldrne r1, _02160118 ; =0x4647474e cmpne r0, r1 addne r1, r2, #0x60000 cmpne r0, r1 ldrne r1, _0216011c ; =0x49434247 cmpne r0, r1 ldrne r1, _02160120 ; =0x53424f53 cmpne r0, r1 ldrne r1, _02160124 ; =0x53424559 cmpne r0, r1 ldrne r1, _02160128 ; =0x474f4332 cmpne r0, r1 ldrne r1, _0216012c ; =0x474f3245 cmpne r0, r1 ldrne r1, _02160130 ; =0x43435447 cmpne r0, r1 subne r1, r2, #0x10c0000 cmpne r0, r1 moveq r0, #0 movne r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0215ff5c _021600d8: .word 0x00001555 _021600dc: .word 0x45465756 _021600e0: .word 0x45465250 _021600e4: .word 0x434e424c _021600e8: .word 0x43424c53 _021600ec: .word 0x4b4d4741 _021600f0: .word 0x534e4745 _021600f4: .word 0x534c4152 _021600f8: .word 0x46534152 _021600fc: .word 0x4653524c _02160100: .word 0x534e4156 _02160104: .word 0x53525059 _02160108: .word 0x53485254 _0216010c: .word 0x47534d47 _02160110: .word 0x53504b48 _02160114: .word 0x4c4f4e44 _02160118: .word 0x4647474e _0216011c: .word 0x49434247 _02160120: .word 0x53424f53 _02160124: .word 0x53424559 _02160128: .word 0x474f4332 _0216012c: .word 0x474f3245 _02160130: .word 0x43435447 .global func_ov15_02160134 arm_func_start func_ov15_02160134 func_ov15_02160134: ; 0x02160134 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r4, r0 cmp r1, #6 addls pc, pc, r1, lsl #2 b _021602fc _0216014c: ; jump table b _021602fc ; case 0 b _02160168 ; case 1 b _02160240 ; case 2 b _021602fc ; case 3 b _021602fc ; case 4 b _021602ac ; case 5 b _021602f0 ; case 6 _02160168: ldrb r0, [r4, #0x3ea] cmp r0, #1 addlo sp, sp, #0x1c movlo r0, #0 ldmloia sp!, {r4, r5, r6, r7, pc} ldr r5, _02160308 ; =data_ov15_0218f81c mov r2, #0 mvn r1, #0 _02160188: str r1, [r5, r2, lsl #3] add r0, r5, r2, lsl #3 add r2, r2, #1 str r1, [r0, #4] cmp r2, #8 blt _02160188 ldr r1, _0216030c ; =data_ov15_0218c8d0 mov r3, #8 mov r2, #0 mov r0, r4 str r5, [sp, #0x10] str r3, [sp, #0x14] str r2, [sp, #0x18] str r1, [sp] str r4, [sp, #4] bl _ZN5Actor16XzDistanceToLinkEv str r0, [sp, #8] mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv ldr r1, _02160310 ; =data_027e0fe4 strh r0, [sp, #0xc] ldr r0, [r1] add r1, sp, #0 add r2, sp, #0x10 bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList str r0, [r4, #0x3c0] cmp r0, #0 ble _021602fc cmp r0, #0 mov r7, #0 ble _021602fc ldr r5, _02160310 ; =data_027e0fe4 mov r6, r7 _0216020c: ldr r0, [r5] ldr r1, [sp, #0x10] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 strneb r6, [r0, #0x11a] ldr r0, [sp, #0x10] add r7, r7, #1 add r0, r0, #8 str r0, [sp, #0x10] ldr r0, [r4, #0x3c0] cmp r7, r0 blt _0216020c b _021602fc _02160240: add r0, r4, #0x204 bl func_ov15_0215dc0c cmp r0, #0 beq _021602a0 ldr r0, [r4, #0x214] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021602a0 ldr r0, [r4, #0x218] cmp r0, #2 bne _02160284 mov r1, #7 add r0, r4, #0x204 add r2, r1, #0x32c bl func_ov15_0215da64 b _02160294 _02160284: ldr r2, _02160314 ; =0x00000333 add r0, r4, #0x204 mov r1, #4 bl func_ov15_0215da64 _02160294: add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _021602a0: add sp, sp, #0x1c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _021602ac: ldrb r0, [r4, #0x3ea] cmp r0, #1 bne _021602d8 ldr r0, [r4, #0x138] cmp r0, #0x3c blt _021602d8 ldr r0, _02160318 ; =data_027e077c ldr r0, [r0] cmp r0, #1 moveq r0, #2 streqb r0, [r4, #0x3ea] _021602d8: ldrb r0, [r4, #0x3ea] cmp r0, #3 bhs _021602fc add sp, sp, #0x1c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _021602f0: add sp, sp, #0x1c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _021602fc: mov r0, #1 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02160134 _02160308: .word data_ov15_0218f81c _0216030c: .word data_ov15_0218c8d0 _02160310: .word data_027e0fe4 _02160314: .word 0x00000333 _02160318: .word data_027e077c .global func_ov15_0216031c arm_func_start func_ov15_0216031c func_ov15_0216031c: ; 0x0216031c stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #5 addls pc, pc, r1, lsl #2 b _021603d0 _02160330: ; jump table b _021603d0 ; case 0 b _02160348 ; case 1 b _02160384 ; case 2 b _02160398 ; case 3 b _021603ac ; case 4 b _021603c0 ; case 5 _02160348: ldr r2, _021603d8 ; =0x00000333 add r0, r4, #0x204 mov r1, #0 bl func_ov15_0215da64 mov r0, #0x46 strh r0, [r4, #0x7a] mov r2, #1 strb r2, [r4, #0x3ee] ldr r0, _021603dc ; =gAdventureFlags ldrsb r3, [r4, #0x2c] ldr r1, _021603e0 ; =data_ov15_02186700 ldr r0, [r0] ldr r1, [r1, r3, lsl #2] bl _ZN14AdventureFlags3SetEjb b _021603d0 _02160384: mov r1, #5 add r0, r4, #0x204 rsb r2, r1, #0x338 bl func_ov15_0215da64 b _021603d0 _02160398: ldr r2, _021603d8 ; =0x00000333 add r0, r4, #0x204 mov r1, #6 bl func_ov15_0215da64 b _021603d0 _021603ac: mov r1, #7 add r0, r4, #0x204 add r2, r1, #0x32c bl func_ov15_0215da64 b _021603d0 _021603c0: ldr r2, _021603d8 ; =0x00000333 add r0, r4, #0x204 mov r1, #8 bl func_ov15_0215da64 _021603d0: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216031c _021603d8: .word 0x00000333 _021603dc: .word gAdventureFlags _021603e0: .word data_ov15_02186700 .global func_ov15_021603e4 arm_func_start func_ov15_021603e4 func_ov15_021603e4: ; 0x021603e4 stmdb sp!, {r3, lr} mov r2, r0 cmp r1, #0 ldmneia sp!, {r3, pc} ldr r0, _0216040c ; =data_027e0ffc ldr r1, _02160410 ; =0x00000286 add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021603e4 _0216040c: .word data_027e0ffc _02160410: .word 0x00000286 .global func_ov15_02160414 arm_func_start func_ov15_02160414 func_ov15_02160414: ; 0x02160414 mov r0, #0x41 bx lr arm_func_end func_ov15_02160414 .global func_ov15_0216041c arm_func_start func_ov15_0216041c func_ov15_0216041c: ; 0x0216041c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216041c .global func_ov15_02160438 arm_func_start func_ov15_02160438 func_ov15_02160438: ; 0x02160438 mvn r1, #0 str r1, [r0] str r1, [r0, #4] bx lr arm_func_end func_ov15_02160438 .global func_ov15_02160448 arm_func_start func_ov15_02160448 func_ov15_02160448: ; 0x02160448 stmdb sp!, {r3, lr} ldr r1, _02160474 ; =data_027e0fe0 mov r0, #0x180 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02160478 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02160448 _02160474: .word data_027e0fe0 .global func_ov15_02160478 arm_func_start func_ov15_02160478 func_ov15_02160478: ; 0x02160478 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _021604d4 ; =data_ov15_0218ca38 add r2, r4, #0x158 str r0, [r4] add r0, r4, #0x180 mvn r1, #0 _02160498: str r1, [r2] str r1, [r2, #4] add r2, r2, #8 cmp r2, r0 blo _02160498 mov r2, #0 mvn r1, #0 _021604b4: add r0, r4, r2, lsl #3 str r1, [r0, #0x158] add r2, r2, #1 str r1, [r0, #0x15c] cmp r2, #5 blt _021604b4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02160478 _021604d4: .word data_ov15_0218ca38 .global func_ov15_021604d8 arm_func_start func_ov15_021604d8 func_ov15_021604d8: ; 0x021604d8 stmdb sp!, {r4, lr} ldr r1, _021604f8 ; =data_027e10ac mov r2, #0 mov r4, r0 str r2, [r1] bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021604d8 _021604f8: .word data_027e10ac .global func_ov15_021604fc arm_func_start func_ov15_021604fc func_ov15_021604fc: ; 0x021604fc stmdb sp!, {r4, lr} ldr r1, _02160524 ; =data_027e10ac mov r2, #0 mov r4, r0 str r2, [r1] bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021604fc _02160524: .word data_027e10ac .global func_ov15_02160528 arm_func_start func_ov15_02160528 func_ov15_02160528: ; 0x02160528 ldr r0, _02160534 ; =data_027e10ac ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov15_02160528 _02160534: .word data_027e10ac .global func_ov15_02160538 arm_func_start func_ov15_02160538 func_ov15_02160538: ; 0x02160538 ldr r1, _02160548 ; =data_027e10ac str r0, [r1] mov r0, #1 bx lr .align 2, 0 arm_func_end func_ov15_02160538 _02160548: .word data_027e10ac .global func_ov15_0216054c arm_func_start func_ov15_0216054c func_ov15_0216054c: ; 0x0216054c stmdb sp!, {r3, lr} mov lr, #0 mvn r2, #0 _02160558: add ip, r0, lr, lsl #3 ldr r3, [ip, #0x158] cmp r3, r2 bne _02160584 ldr r2, [r1] mov r0, lr, lsl #0xc str r2, [ip, #0x158] ldr r1, [r1, #4] add r0, r0, #0x7000 str r1, [ip, #0x15c] ldmia sp!, {r3, pc} _02160584: add lr, lr, #1 cmp lr, #5 blt _02160558 mvn r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov15_0216054c .global func_ov15_02160598 arm_func_start func_ov15_02160598 func_ov15_02160598: ; 0x02160598 ldr ip, [r1] mov r3, #0 _021605a0: add r2, r0, r3, lsl #3 ldr r1, [r2, #0x158] cmp r1, ip bne _021605c0 mvn r0, #0 str r0, [r2, #0x158] str r0, [r2, #0x15c] bx lr _021605c0: add r3, r3, #1 cmp r3, #5 blt _021605a0 bx lr arm_func_end func_ov15_02160598 .global func_ov15_021605d0 arm_func_start func_ov15_021605d0 func_ov15_021605d0: ; 0x021605d0 stmdb sp!, {r3, lr} ldr r1, _021605fc ; =data_027e0fe0 mov r0, #0x3d0 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02160658 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021605d0 _021605fc: .word data_027e0fe0 .global func_ov15_02160600 arm_func_start func_ov15_02160600 func_ov15_02160600: ; 0x02160600 cmp r2, #7 bne _02160618 ldr r0, [r0, #4] mov r1, #1 strb r1, [r0, #0x39a] b _02160628 _02160618: cmp r2, #0xa ldreq r0, [r0, #4] moveq r1, #1 streqb r1, [r0, #0x39b] _02160628: mov r0, #1 bx lr arm_func_end func_ov15_02160600 .global func_ov15_02160630 arm_func_start func_ov15_02160630 func_ov15_02160630: ; 0x02160630 mov r0, #1 bx lr arm_func_end func_ov15_02160630 .global func_ov15_02160638 arm_func_start func_ov15_02160638 func_ov15_02160638: ; 0x02160638 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c6114 ldr r1, _02160654 ; =data_ov15_0218cbdc mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02160638 _02160654: .word data_ov15_0218cbdc .global func_ov15_02160658 arm_func_start func_ov15_02160658 func_ov15_02160658: ; 0x02160658 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214e078 ldr r2, _02160700 ; =data_ov15_0218cb04 add r0, r4, #0x1d8 mov r1, #0x1000000 str r2, [r4] bl func_ov00_020d18f4 add r0, r4, #0x234 mov r1, #0 blx func_ov00_020a9588 mov r1, r4 add r0, r4, #0x290 bl func_ov15_02160638 mvn r0, #0 str r0, [r4, #0x390] mov r0, #0x1e str r0, [r4, #0x394] mov r1, #0 strb r1, [r4, #0x39a] strb r1, [r4, #0x39b] strb r1, [r4, #0x39c] ldr r0, _02160704 ; =data_ov00_020e2f04 strb r1, [r4, #0x39d] str r0, [r4, #0x3a0] mov r0, #1 strb r0, [r4, #0x3a4] strb r1, [r4, #0x3a5] str r1, [r4, #0x3a8] str r1, [r4, #0x3ac] ldr r0, _02160708 ; =data_ov00_020e2e3c str r1, [r4, #0x3b0] str r0, [r4, #0x3a0] str r1, [r4, #0x3c0] str r1, [r4, #0x3b4] str r1, [r4, #0x3b8] ldr r0, _0216070c ; =data_ov15_0218cbc4 str r1, [r4, #0x3bc] str r0, [r4, #0x3c8] mov r0, r4 str r4, [r4, #0x3cc] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02160658 _02160700: .word data_ov15_0218cb04 _02160704: .word data_ov00_020e2f04 _02160708: .word data_ov00_020e2e3c _0216070c: .word data_ov15_0218cbc4 .global func_ov15_02160710 arm_func_start func_ov15_02160710 func_ov15_02160710: ; 0x02160710 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02160710 .global func_ov15_02160724 arm_func_start func_ov15_02160724 func_ov15_02160724: ; 0x02160724 stmdb sp!, {r4, lr} ldr r1, _02160784 ; =data_ov15_0218cb04 mov r4, r0 ldr r0, _02160788 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x3a0 bl func_ov00_02093af0 add r0, r4, #0x3c8 bl func_ov00_02081f6c add r0, r4, #0x3a0 bl func_ov00_02094824 add r0, r4, #0x30c blx func_ov00_020a9b6c add r0, r4, #0x2b0 blx func_ov00_020a95a4 add r0, r4, #0x234 blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_020d1980 mov r0, r4 bl func_ov15_0214e118 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02160724 _02160784: .word data_ov15_0218cb04 _02160788: .word data_027e0f6c .global func_ov15_0216078c arm_func_start func_ov15_0216078c func_ov15_0216078c: ; 0x0216078c stmdb sp!, {r4, lr} ldr r1, _021607f4 ; =data_ov15_0218cb04 mov r4, r0 ldr r0, _021607f8 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x3a0 bl func_ov00_02093af0 add r0, r4, #0x3c8 bl func_ov00_02081f6c add r0, r4, #0x3a0 bl func_ov00_02094824 add r0, r4, #0x30c blx func_ov00_020a9b6c add r0, r4, #0x2b0 blx func_ov00_020a95a4 add r0, r4, #0x234 blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_020d1980 mov r0, r4 bl func_ov15_0214e118 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216078c _021607f4: .word data_ov15_0218cb04 _021607f8: .word data_027e0f6c .global func_ov15_021607fc arm_func_start func_ov15_021607fc func_ov15_021607fc: ; 0x021607fc stmdb sp!, {r4, r5, lr} sub sp, sp, #0x5c mov r4, r0 mov r0, #3 strb r0, [r4, #0x1a8] ldrh r1, [r4, #0x24] cmp r1, #0 beq _02160838 ldr r0, _02160c08 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} _02160838: ldrh r1, [r4, #0x20] and r0, r1, #0xff strb r1, [sp, #5] cmp r0, #2 bne _021608b4 ldr r0, _02160c0c ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] add r0, r0, #0x1c bl func_ov00_020a5e9c cmp r0, #8 bne _021608b4 ldr r0, _02160c08 ; =gAdventureFlags mov r1, #0xb3 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02160898 ldr r0, _02160c08 ; =gAdventureFlags mov r1, #0xa7 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021608cc _02160898: ldrb r0, [sp, #5] bl func_ov03_020f3cd0 cmp r0, #0 bne _021608cc add sp, sp, #0x5c mov r0, #0 ldmia sp!, {r4, r5, pc} _021608b4: ldrb r0, [sp, #5] bl func_ov03_020f3cd0 cmp r0, #0 addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} _021608cc: ldrb r0, [sp, #5] cmp r0, #1 bne _021608f8 ldr r2, _02160c10 ; =data_ov15_0218672c add r0, r4, #0x290 mov r1, #0xc2 bl func_ov00_020c5c98 add r0, r4, #0x290 mov r1, #0 bl func_ov00_020c5d74 b _02160920 _021608f8: ldr r0, _02160c14 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x238 add r0, r0, #0x2800 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x234 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 _02160920: mov r0, #0x10 str r0, [r4, #0x6c] mov ip, #0 str ip, [r4, #0x7c] mov r5, #0x1000 str r5, [r4, #0x80] str ip, [r4, #0x84] str r5, [r4, #0x88] str ip, [r4, #0x8c] str r5, [r4, #0x90] str ip, [r4, #0x94] str r5, [r4, #0x98] ldr r0, [r4, #0x8c] mov r2, #0x2000 str r0, [r4, #0x188] ldr r0, [r4, #0x90] mov r1, #2 str r0, [r4, #0x18c] ldr r3, [r4, #0x94] ldr r0, _02160c18 ; =data_027e0fe4 str r3, [r4, #0x190] ldr r3, [r4, #0x98] str r3, [r4, #0x194] str ip, [r4, #0xa8] str r5, [r4, #0xac] str ip, [r4, #0xb0] str r2, [r4, #0xb4] strh r1, [r4, #0x9c] ldr r0, [r0] bl func_ov15_02184540 ldr r0, _02160c18 ; =data_027e0fe4 add r1, sp, #5 ldr r0, [r0] bl func_ov15_0218450c strb r0, [r4, #0x398] ldr r1, _02160c18 ; =data_027e0fe4 ldrb r5, [sp, #5] ldr r2, [r1] and r0, r0, #0xff add r0, r2, r0 strb r5, [r0, #0x55] mov r0, #0 strb r0, [r4, #0x399] ldrb r2, [r4, #0x398] ldr r0, [r1] mov r3, #0xc mla r0, r2, r3, r0 add r0, r0, #0x3c ldmia r0, {r0, r1, r2} add ip, sp, #0xc stmia ip, {r0, r1, r2} add r5, sp, #0x44 ldmia ip, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r1, [sp, #0x44] sub r0, r3, #0x8000000d cmp r1, r0 beq _02160a2c add r3, sp, #0x38 ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x38] str r0, [r4, #0x48] ldr r0, [sp, #0x3c] str r0, [r4, #0x4c] ldr r0, [sp, #0x40] str r0, [r4, #0x50] _02160a2c: mov r5, #0 str r5, [r4, #0x4c] ldr r0, [r4, #0x48] mov r2, #0x800 str r0, [r4, #0x54] ldr r1, [r4, #0x4c] mov r0, #0x1000 str r1, [r4, #0x58] ldr r3, [r4, #0x50] ldr r1, _02160c1c ; =0x00000999 str r3, [r4, #0x5c] str r2, [r4, #0x198] str r2, [r4, #0x19c] str r0, [r4, #0x184] ldr r0, _02160c20 ; =0x00000333 str r1, [r4, #0x158] str r0, [r4, #0x15c] add r0, r4, #0x100 strh r5, [r0, #0x68] strh r5, [r0, #0x6a] strh r5, [r0, #0x6e] strh r5, [r0, #0x6c] str r5, [r4, #0x164] str r5, [r4, #0x160] str r5, [r4, #0x130] mov r0, #0x58 strh r0, [r4, #0x7a] ldr r1, [r4, #0x4c] add r0, r4, #0x1b0 str r1, [r4, #0x1a0] ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r1, r4, #0x48 bl func_ov00_020c66e4 ldr r0, [r4, #0x1b4] ldrsb r3, [r4, #0x2c] ldr r0, [r0] add r1, sp, #4 ldrb r0, [r0, #5] cmp r0, #0 movne r2, #1 moveq r2, r5 add r0, r4, #0x48 strb r3, [sp, #4] bl func_ov15_0215c8b4 mov r5, r0 mvn r0, #0 cmp r5, r0 beq _02160b18 add r0, r4, #0x1b0 bl func_ov00_020c6ce0 cmp r5, r0 beq _02160b18 _02160b00: add r0, r4, #0x1b0 bl func_ov00_020c6d9c add r0, r4, #0x1b0 bl func_ov00_020c6ce0 cmp r5, r0 bne _02160b00 _02160b18: ldr r1, [r4, #0x48] add r0, sp, #0x2c str r1, [r4, #0x1c8] ldr r2, [r4, #0x4c] add r1, r4, #0x1b0 str r2, [r4, #0x1cc] ldr r2, [r4, #0x50] str r2, [r4, #0x1d0] bl func_ov00_020c6e08 add r0, sp, #0x2c add r3, sp, #0x50 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0x50] ldr r1, [sp, #0x58] bl func_01ffa0f4 add r1, r4, #0x100 strh r0, [r1, #0xd4] ldrsh r2, [r1, #0xd4] mov r1, #0 bic r0, r1, #0x6000 bic r0, r0, #0x1f orr r0, r0, #7 strh r2, [r4, #0x78] bic r3, r0, #0x3f0000 ldr r0, [r4, #8] mov lr, #0x3000 str r0, [r4, #0x1f8] ldr r0, [r4, #0xc] add ip, r4, #0x3c8 str r0, [r4, #0x1fc] strb r1, [r4, #0x22c] ldrh r2, [r4, #0x22] ldr r1, [r4, #0x48] add r0, r4, #0x3a0 str r1, [sp, #0x18] and r1, r2, #0xff orr r3, r3, r1, lsl #16 ldr r2, [r4, #0x4c] add r1, sp, #0x18 str r2, [sp, #0x1c] ldr r5, [r4, #0x50] mov r2, #4 str r5, [sp, #0x20] str lr, [sp, #0x24] str lr, [sp, #0x28] str ip, [sp] ldr ip, [r0] str r3, [sp, #8] ldr ip, [ip, #0x10] blx ip mov r0, #0 strb r0, [r4, #0x3a4] mov r0, #1 add sp, sp, #0x5c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021607fc _02160c08: .word gAdventureFlags _02160c0c: .word data_027e0d38 _02160c10: .word data_ov15_0218672c _02160c14: .word data_027e0fec _02160c18: .word data_027e0fe4 _02160c1c: .word 0x00000999 _02160c20: .word 0x00000333 .global func_ov15_02160c24 arm_func_start func_ov15_02160c24 func_ov15_02160c24: ; 0x02160c24 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x3000 movlt r0, #1 strltb r0, [r4, #0x399] mov r0, r4 bl func_ov15_02161458 ldr r1, [r4, #0x48] ldr r0, _02160ca4 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r4, #0x50] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 str r0, [r4, #0x4c] ldr r1, _02160ca8 ; =data_ov15_0218caec ldr r2, _02160cac ; =data_ov15_0218caf8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02160c24 _02160ca4: .word data_027e0e60 _02160ca8: .word data_ov15_0218caec _02160cac: .word data_ov15_0218caf8 .global func_ov15_02160cb0 arm_func_start func_ov15_02160cb0 func_ov15_02160cb0: ; 0x02160cb0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02160d50 ldr r0, [r5, #0x394] cmp r0, #0 subne r0, r0, #1 strne r0, [r5, #0x394] mov r0, r5 bl func_ov15_02161458 ldrb r0, [r5, #0x39c] cmp r0, #1 bne _02160d04 ldr r0, _02160d6c ; =data_027e0f6c add r1, r5, #0x3a0 ldr r0, [r0] bl func_ov00_02093af0 mov r0, #0 strb r0, [r5, #0x39c] _02160d04: mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r5, #0x48] mov r1, #0 str r0, [r5, #0x54] ldr r2, [r5, #0x4c] mov r0, r5 str r2, [r5, #0x58] ldr r3, [r5, #0x50] mov r2, r1 str r3, [r5, #0x5c] bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r5 bl func_ov15_02161478 b _02160d58 _02160d50: mvn r0, #0 str r0, [r5, #0x1a4] _02160d58: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02160cb0 _02160d6c: .word data_027e0f6c .global func_ov15_02160d70 arm_func_start func_ov15_02160d70 func_ov15_02160d70: ; 0x02160d70 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x118 mov r5, r0 ldr r1, [r5, #0x130] cmp r1, #0 beq _02160d98 cmp r1, #1 moveq r0, #0 streq r0, [r5, #0x38c] b _0216112c _02160d98: bl _ZN5Actor16XzDistanceToLinkEv ldrb r1, [r5, #0x39a] mov r4, r0 cmp r1, #0 movne r0, #0 strne r0, [r5, #0x38c] bne _02160e2c ldr r0, _02161168 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 movne r0, #0 strne r0, [r5, #0x38c] bne _02160e2c cmp r4, #0x1e000 movgt r0, #0xa4 strgt r0, [r5, #0x38c] bgt _02160e2c cmp r4, #0x4000 movlt r0, #0 strlt r0, [r5, #0x38c] blt _02160e2c sub r0, r4, #0x4000 mov r1, #0x1a000 bl Divide mov r1, #0xa4 umull r6, r3, r0, r1 mov r2, #0 adds r6, r6, #0x800 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adc r0, r3, #0 mov r1, r6, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r5, #0x38c] _02160e2c: cmp r4, #0x3000 bge _021610b4 bl func_ov15_0215d238 cmp r0, #0 bne _021610b4 ldrb r0, [r5, #0x399] cmp r0, #0 bne _02161080 mov r0, #0x10000 ldr r1, [r5, #0x1f0] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _021610c0 _02160e64: ldr r0, _0216116c ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #4 beq _021610c0 ldr r0, _02161170 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldreq r0, _02161174 ; =data_027e0c68 ldreqb r0, [r0, #4] cmpeq r0, #0 bne _021610c0 mov r0, r5 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _021610c0 bl func_ov15_0215d260 cmp r0, #0 beq _021610c0 ldr r0, _02161174 ; =data_027e0c68 ldr r2, _02161178 ; =0x00050007 add r1, r5, #0x1d8 bl func_02036ce4 cmp r0, #0 beq _021610c0 mov r1, #0 mov r0, r5 str r1, [r5, #0x138] mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldrb r0, [r5, #0x39a] cmp r0, #0 beq _02160ef8 ldr r0, _0216117c ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 _02160ef8: add r0, sp, #0x68 bl func_ov00_0209a4f4 mov r1, #3 mvn r0, #0 mov r2, #0x32 str r0, [sp, #0x6c] strb r2, [sp, #0x71] ldr r0, _02161180 ; =data_027e0f64 strb r1, [sp, #0x72] strb r1, [sp, #0x73] ldr r1, [r5, #0x48] ldr r0, [r0] str r1, [sp, #0x88] ldr r1, [r5, #0x4c] mov r2, #1 str r1, [sp, #0x8c] ldr r3, [r5, #0x50] add r1, sp, #0 str r3, [sp, #0x90] strb r2, [sp, #0x7c] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r2, _02161184 ; =0x00001388 mov r1, #0x3000 mov r0, r5 str r2, [sp, #0x10] str r1, [sp, #0x18] bl _ZN5Actor14GetAngleToLinkEv ldr r2, [sp] ldr r3, [sp, #4] str r2, [sp, #0x94] ldr r2, [sp, #8] str r3, [sp, #0x98] ldr r3, [sp, #0xc] str r2, [sp, #0x9c] ldr r2, [sp, #0x10] str r3, [sp, #0xa0] ldr r3, [sp, #0x18] str r2, [sp, #0xa4] ldr r2, [sp, #0x1c] str r3, [sp, #0xac] ldr r3, [sp, #0x20] str r2, [sp, #0xb0] ldr r2, [sp, #0x24] str r3, [sp, #0xb4] ldr r3, [sp, #0x28] str r2, [sp, #0xb8] ldr r2, [sp, #0x2c] str r3, [sp, #0xbc] ldr r3, [sp, #0x30] str r2, [sp, #0xc0] ldr r2, [sp, #0x34] str r3, [sp, #0xc4] ldr r3, [sp, #0x38] str r2, [sp, #0xc8] ldr r2, [sp, #0x3c] str r3, [sp, #0xcc] ldr r3, [sp, #0x40] str r2, [sp, #0xd0] ldr r2, [sp, #0x44] ldrb r1, [sp, #0x60] str r3, [sp, #0xd4] ldr r3, [sp, #0x48] str r2, [sp, #0xd8] ldr r2, [sp, #0x4c] str r3, [sp, #0xdc] ldr r3, [sp, #0x50] str r2, [sp, #0xe0] ldr r2, [sp, #0x54] strb r1, [sp, #0xf4] ldrb r6, [sp, #0x61] ldrb lr, [sp, #0x62] ldrb ip, [sp, #0x63] ldrb r4, [sp, #0x64] str r3, [sp, #0xe4] ldr r3, [sp, #0x58] str r2, [sp, #0xe8] ldr r2, [sp, #0x5c] str r3, [sp, #0xec] mov r3, #0x5c str r2, [sp, #0xf0] mov r2, #0 ldr r1, _02161170 ; =gAdventureFlags str r0, [sp, #0x14] str r0, [sp, #0xa8] ldr r0, [r1] add r1, sp, #0x68 strb r6, [sp, #0xf5] strb lr, [sp, #0xf6] strb ip, [sp, #0xf7] strb r4, [sp, #0xf8] str r3, [sp, #0xfc] strb r2, [sp, #0x7e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x390] add r0, sp, #0x68 bl func_ov00_0209a508 b _021610c0 _02161080: ldr r0, [r5, #0x394] cmp r0, #0 bne _021610c0 mov r0, r5 ldr r2, [r0] mov r1, #1 ldr r2, [r2, #0x40] blx r2 cmp r0, #0 beq _021610c0 mov r0, #0 strb r0, [r5, #0x399] b _02160e64 _021610b4: cmp r4, #0x4000 movge r0, #0 strgeb r0, [r5, #0x399] _021610c0: mov r0, #0x10000 ldr r1, [r5, #0x1f0] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _0216112c add r0, r5, #0x1d8 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r5, #0x1f0] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _0216112c ldr r0, [r5, #0x130] cmp r0, #1 beq _02161124 ldr r0, _02161170 ; =gAdventureFlags ldr r1, [r5, #0x390] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r0, #0 str r0, [r5, #0x390] _02161124: mov r0, #1 strb r0, [r5, #0x399] _0216112c: mov r0, r5 bl func_ov15_021612bc ldr r0, _02161188 ; =data_027e0fe4 ldrb r2, [r5, #0x398] ldr r1, [r0] mov r0, #0xc mla r1, r2, r0, r1 ldr r0, [r5, #0x48] str r0, [r1, #0x3c] ldr r0, [r5, #0x4c] str r0, [r1, #0x40] ldr r0, [r5, #0x50] str r0, [r1, #0x44] add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02160d70 _02161168: .word data_027e0d3c _0216116c: .word data_027e10a4 _02161170: .word gAdventureFlags _02161174: .word data_027e0c68 _02161178: .word 0x00050007 _0216117c: .word data_027e103c _02161180: .word data_027e0f64 _02161184: .word 0x00001388 _02161188: .word data_027e0fe4 .global func_ov15_0216118c arm_func_start func_ov15_0216118c func_ov15_0216118c: ; 0x0216118c stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0216129c mov r0, r5 bl func_ov15_02161458 ldrb r0, [r5, #0x39c] cmp r0, #0 bne _02161244 bl func_ov15_0215d238 cmp r0, #0 bne _02161244 ldrb r0, [r5, #0x39d] cmp r0, #0 beq _02161244 ldrb r0, [r5, #0x399] cmp r0, #0 ldreq r0, _021612b4 ; =data_027e077c ldreq r0, [r0] cmpeq r0, #0x11 bne _02161244 ldr r1, [r5, #0x48] add r0, r5, #0x3a0 str r1, [sp] ldr r2, [r5, #0x4c] add r1, sp, #0 str r2, [sp, #4] ldr r2, [r5, #0x50] str r2, [sp, #8] ldr r2, [r0] ldr r2, [r2, #0x30] blx r2 add r0, r5, #0x3a0 ldr r2, [r0] mov r1, #0x4000 ldr r2, [r2, #0x34] blx r2 ldr r0, _021612b8 ; =data_027e0f6c add r1, r5, #0x3a0 ldr r0, [r0] bl func_ov00_02093a5c mov r0, #1 strb r0, [r5, #0x39c] _02161244: ldr r1, [r5, #0x48] mov r0, #0x10000 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] rsb r0, r0, #0 str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] ldr r1, [r5, #0x1f0] and r0, r1, r0 cmp r0, #0x1000000 beq _0216128c mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 _0216128c: mov r0, r5 bl func_ov15_021613a4 mov r0, r5 bl func_ov15_02161478 _0216129c: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216118c _021612b4: .word data_027e077c _021612b8: .word data_027e0f6c .global func_ov15_021612bc arm_func_start func_ov15_021612bc func_ov15_021612bc: ; 0x021612bc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 ldr r2, [r4, #0x38c] cmp r2, #0 beq _0216137c ldr r3, _0216139c ; =0x00000222 add r1, sp, #0 bl func_ov15_0214eb18 add r0, sp, #0 bl func_01ff9cec mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r0, r0, asr #0x5 beq _02161304 cmp r0, #0x14 movlt r0, #0x14 blt _02161310 _02161304: ldr r1, [r4, #0x38c] cmp r0, r1 movgt r0, r1 _02161310: ldrh r1, [r4, #0x78] mov r3, #0 ldr r2, _021613a0 ; =data_02050f54 mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 mov ip, r5, lsl #0x1 ldrsh ip, [r2, ip] mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] smull r5, lr, ip, r0 adds r6, r5, #0x800 smull ip, r0, r2, r0 adc r5, lr, #0 adds r2, ip, #0x800 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 adc r0, r0, #0 mov ip, r2, lsr #0xc orr ip, ip, r0, lsl #20 add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 str r6, [sp] str r3, [sp, #4] str ip, [sp, #8] bl func_01ff9bc4 _0216137c: mov r0, r4 bl func_ov15_0214edec mov r0, r4 bl func_ov15_021613a4 mov r0, r4 bl func_ov15_0214ee34 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021612bc _0216139c: .word 0x00000222 _021613a0: .word data_02050f54 .global func_ov15_021613a4 arm_func_start func_ov15_021613a4 func_ov15_021613a4: ; 0x021613a4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl _ZN5Actor12ApplyGravityEv ldr r1, [r4, #0x4c] ldr r0, [r4, #0x64] add r0, r1, r0 str r0, [r4, #0x4c] ldrb r0, [r4, #0x1ac] cmp r0, #0 beq _02161410 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _02161448 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] _02161410: ldr r1, _0216144c ; =data_ov15_0218caec ldr r2, _02161450 ; =data_ov15_0218caf8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x184] ldr r1, _02161454 ; =data_ov15_0218677c add r2, r3, r2 add r2, r2, r0 mov r0, r4 str r2, [r4, #0x1a0] bl func_ov15_0214e138 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021613a4 _02161448: .word data_027e0e60 _0216144c: .word data_ov15_0218caec _02161450: .word data_ov15_0218caf8 _02161454: .word data_ov15_0218677c .global func_ov15_02161458 arm_func_start func_ov15_02161458 func_ov15_02161458: ; 0x02161458 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x8000 movgt r0, #1 movle r0, #0 strb r0, [r4, #0x39d] ldmia sp!, {r4, pc} arm_func_end func_ov15_02161458 .global func_ov15_02161478 arm_func_start func_ov15_02161478 func_ov15_02161478: ; 0x02161478 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x20] cmp r0, #1 ldmneia sp!, {r4, pc} add r0, r4, #0x290 bl func_ov00_020c5e20 ldr r0, [r4, #0x2a0] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x2a4] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _021614b8: ; jump table b _021614c8 ; case 0 b _021614e8 ; case 1 b _02161518 ; case 2 b _021614f8 ; case 3 _021614c8: mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x3000 ldmgeia sp!, {r4, pc} add r0, r4, #0x290 mov r1, #2 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} _021614e8: add r0, r4, #0x290 mov r1, #0 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} _021614f8: mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x3000 ldmleia sp!, {r4, pc} add r0, r4, #0x290 mov r1, #1 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} _02161518: add r0, r4, #0x290 mov r1, #3 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} arm_func_end func_ov15_02161478 .global func_ov15_02161528 arm_func_start func_ov15_02161528 func_ov15_02161528: ; 0x02161528 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 cmp r1, #1 bne _0216157c ldr r1, [r4, #0x4c] ldr r0, [r4, #0x80] ldr ip, [r4, #0x50] ldr r2, [r4, #0x48] add r3, r1, r0 add r1, sp, #0 add r0, r4, #0x22 str r2, [sp] str r3, [sp, #4] str ip, [sp, #8] bl func_ov15_0215d078 cmp r0, #0 movne r0, #1 addne sp, sp, #0xc strne r0, [r4, #0x130] ldmneia sp!, {r3, r4, pc} _0216157c: mov r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_02161528 .global func_ov15_02161588 arm_func_start func_ov15_02161588 func_ov15_02161588: ; 0x02161588 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0x1ab] cmp r0, #0 moveq r0, #1 addeq sp, sp, #0x30 streqb r0, [r4, #0x1ab] ldmeqia sp!, {r4, pc} ldr r0, _021616a4 ; =data_027e077c ldr r0, [r0] cmp r0, #0x3b addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} add r0, r4, #0x100 ldrh r1, [r0, #0x68] ldr r3, _021616a8 ; =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_01ff8230 add r0, r4, #0x100 ldrsh r1, [r0, #0x6a] add r0, sp, #0xc mov r1, r1, lsl #0x1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0xc bl func_ov15_0215cfc8 add r0, r4, #0x48 mov r3, #0x4000 add ip, sp, #0 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, [r4, #0x1a0] rsb r3, r3, #0 str r0, [sp, #4] ldr r0, [r4, #0x1a0] cmp r0, r3 addlt sp, sp, #0x30 ldmltia sp!, {r4, pc} ldrh r0, [r4, #0x20] add r1, sp, #0xc cmp r0, #1 bne _02161688 mov r2, ip add r0, r4, #0x290 bl func_ov00_020c5e88 add sp, sp, #0x30 ldmia sp!, {r4, pc} _02161688: add r0, r4, #0x234 ldr r3, [r0] mov r2, ip ldr r3, [r3, #0x14] blx r3 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02161588 _021616a4: .word data_027e077c _021616a8: .word data_02050f54 .global func_ov15_021616ac arm_func_start func_ov15_021616ac func_ov15_021616ac: ; 0x021616ac stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r5, r0 ldrh r4, [r5, #0x7a] ldr r0, _02161798 ; =0x0000ffff mov r6, r1 cmp r4, r0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, pc} bl func_ov15_0215d238 cmp r0, #0 addne sp, sp, #0x38 ldmneia sp!, {r4, r5, r6, pc} ldrh r0, [r6] tst r0, #4 bne _021616f8 tst r0, #8 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, pc} _021616f8: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _0216179c ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r5, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, pc} add r0, sp, #0x18 bl func_01ffbe34 mov r0, #1 str r0, [sp, #0x1c] ldrb r0, [r5, #0x39a] cmp r0, #0 beq _02161768 ldr r0, _021617a0 ; =data_027e103c ldr r0, [r0] bl func_ov05_021040ec cmp r0, #0 movne r4, #0x60 moveq r4, #0x58 b _02161774 _02161768: ldrb r0, [r5, #0x39b] cmp r0, #0 movne r4, #0x60 _02161774: add r1, sp, #0x18 str r1, [sp] ldr r0, _021617a4 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, r4 bl func_020313c8 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021616ac _02161798: .word 0x0000ffff _0216179c: .word data_027e0d3c _021617a0: .word data_027e103c _021617a4: .word data_02063e4c .global func_ov15_021617a8 arm_func_start func_ov15_021617a8 func_ov15_021617a8: ; 0x021617a8 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xc ldrh r4, [r0, #0x78] mvn r3, #0 mov r2, #0x800 mov r4, r4, asr #0x4 mov r5, r4, lsl #0x1 add r4, r5, #1 ldr r6, _02161878 ; =data_02050f54 mov r4, r4, lsl #0x1 mov r5, r5, lsl #0x1 ldrsh r4, [r6, r4] ldrsh ip, [r6, r5] mov r8, r3, lsl #0xa umull r5, r6, r4, r8 sub r2, r2, #0xc00 mla r6, r4, r3, r6 adds r7, r5, #0x800 umull r9, lr, ip, r2 mla lr, ip, r3, lr mov r4, r4, asr #0x1f mla r6, r4, r8, r6 mov r3, ip, asr #0x1f ldr r5, [r0, #0x4c] adc r6, r6, #0 mov r7, r7, lsr #0xc mla lr, r3, r2, lr adds r4, r9, #0x800 adc r2, lr, #0 mov r3, r4, lsr #0xc ldr r4, [r0, #0x50] orr r7, r7, r6, lsl #20 cmp r1, #0 ldr r0, [r0, #0x48] orr r3, r3, r2, lsl #20 add r5, r5, #0x33 add r4, r4, r7 add r2, r5, #0x1300 add r0, r0, r3 str r0, [sp] str r2, [sp, #4] str r4, [sp, #8] add r0, sp, #0 ldr r1, _0216187c ; =0x00000b33 mov r2, #8 beq _0216186c bl func_0202b864 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216186c: bl func_0202b894 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_021617a8 _02161878: .word data_02050f54 _0216187c: .word 0x00000b33 .global func_ov15_02161880 arm_func_start func_ov15_02161880 func_ov15_02161880: ; 0x02161880 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _021618f8 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r2, [r4, #0x184] ldr r1, _021618fc ; =data_ov15_0218caf4 sub r0, r0, r2 str r0, [r4, #0x4c] ldr r2, _02161900 ; =data_ov15_0218caf0 add r0, r4, #0x48 bl func_ov15_0215cbb0 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02161880 _021618f8: .word data_027e0e60 _021618fc: .word data_ov15_0218caf4 _02161900: .word data_ov15_0218caf0 .global func_ov15_02161904 arm_func_start func_ov15_02161904 func_ov15_02161904: ; 0x02161904 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02161904 .global func_ov15_02161920 arm_func_start func_ov15_02161920 func_ov15_02161920: ; 0x02161920 stmdb sp!, {r3, lr} ldr r0, _02161964 ; =gAdventureFlags mov r1, #0x1f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02161954 ldr r0, _02161964 ; =gAdventureFlags mov r1, #0xf5 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0216195c _02161954: mov r0, #0 ldmia sp!, {r3, pc} _0216195c: ldr r0, _02161968 ; =data_ov15_02186780 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02161920 _02161964: .word gAdventureFlags _02161968: .word data_ov15_02186780 .global func_ov15_0216196c arm_func_start func_ov15_0216196c func_ov15_0216196c: ; 0x0216196c stmdb sp!, {r3, lr} ldr r1, _02161998 ; =data_027e0fe0 mov r0, #0x3d4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02161a30 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216196c _02161998: .word data_027e0fe0 .global func_ov15_0216199c arm_func_start func_ov15_0216199c func_ov15_0216199c: ; 0x0216199c stmdb sp!, {r4, lr} ldrh r2, [r1] ldr r3, _02161a14 ; =data_02050f54 mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 ldrsh ip, [r3, r2] add r2, r4, #1 mov r2, r2, lsl #0x1 ldrsh r3, [r3, r2] mov r2, ip, asr #0x1f mov lr, r2, lsl #0xc adds r4, r1, ip, lsl #12 orr lr, lr, ip, lsr #20 mov r2, r3, asr #0x1f adc ip, lr, #0 mov r4, r4, lsr #0xc mov r2, r2, lsl #0xc orr r4, r4, ip, lsl #20 adds ip, r1, r3, lsl #12 orr r2, r2, r3, lsr #20 strh r4, [r0, #0x50] mov r3, #0 adc r1, r2, #0 mov r2, ip, lsr #0xc strh r3, [r0, #0x52] orr r2, r2, r1, lsl #20 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216199c _02161a14: .word data_02050f54 .global func_ov15_02161a18 arm_func_start func_ov15_02161a18 func_ov15_02161a18: ; 0x02161a18 cmp r0, #0 ldreq r0, _02161a2c ; =data_027e0e2c moveq r1, #1 streqb r1, [r0, #0x16] bx lr .align 2, 0 arm_func_end func_ov15_02161a18 _02161a2c: .word data_027e0e2c .global func_ov15_02161a30 arm_func_start func_ov15_02161a30 func_ov15_02161a30: ; 0x02161a30 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0214e078 ldr r2, _02161abc ; =data_ov15_0218cc1c add r0, r4, #0x1d8 mov r1, #0 str r2, [r4] blx func_ov00_020a9588 mvn r2, #0 str r2, [r4, #0x240] str r2, [r4, #0x244] mov r0, #0 str r0, [r4, #0x258] str r2, [r4, #0x25c] str r0, [r4, #0x260] str r0, [r4, #0x264] str r2, [r4, #0x268] str r0, [r4, #0x26c] str r0, [r4, #0x270] str r2, [r4, #0x274] str r0, [r4, #0x278] str r0, [r4, #0x27c] str r2, [r4, #0x280] str r0, [r4, #0x284] str r2, [r4, #0x288] str r2, [r4, #0x28c] str r2, [r4, #0x290] add r0, r4, #0x374 mov r1, #0x1000000 str r2, [r4, #0x294] bl func_ov00_020d18f4 mov r1, #0 mov r0, r4 strb r1, [r4, #0x3d1] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02161a30 _02161abc: .word data_ov15_0218cc1c .global func_ov15_02161ac0 arm_func_start func_ov15_02161ac0 func_ov15_02161ac0: ; 0x02161ac0 stmdb sp!, {r4, lr} ldr r1, _02161b94 ; =data_ov15_0218cc1c mov r4, r0 str r1, [r4] ldr r0, _02161b98 ; =gAdventureFlags ldr r1, [r4, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02161af8 ldr r0, _02161b98 ; =gAdventureFlags ldr r1, [r4, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02161af8: ldr r0, _02161b98 ; =gAdventureFlags ldr r1, [r4, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02161b20 ldr r0, _02161b98 ; =gAdventureFlags ldr r1, [r4, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02161b20: ldrb r0, [r4, #0x3d1] cmp r0, #0 beq _02161b34 ldr r0, _02161b9c ; =data_027e0e2c blx func_ov00_0207bcb4 _02161b34: add r0, r4, #0x374 bl func_ov00_020d1980 add r0, r4, #0x27c bl func_ov00_020b7e6c add r0, r4, #0x27c bl func_ov00_020b7df0 add r0, r4, #0x270 bl func_ov00_020b7e6c add r0, r4, #0x270 bl func_ov00_020b7df0 add r0, r4, #0x264 bl func_ov00_020b7e6c add r0, r4, #0x264 bl func_ov00_020b7df0 add r0, r4, #0x258 bl func_ov00_020b7e6c add r0, r4, #0x258 bl func_ov00_020b7df0 add r0, r4, #0x1d8 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_0214e118 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02161ac0 _02161b94: .word data_ov15_0218cc1c _02161b98: .word gAdventureFlags _02161b9c: .word data_027e0e2c .global func_ov15_02161ba0 arm_func_start func_ov15_02161ba0 func_ov15_02161ba0: ; 0x02161ba0 stmdb sp!, {r4, lr} ldr r1, _02161c7c ; =data_ov15_0218cc1c mov r4, r0 str r1, [r4] ldr r0, _02161c80 ; =gAdventureFlags ldr r1, [r4, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02161bd8 ldr r0, _02161c80 ; =gAdventureFlags ldr r1, [r4, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02161bd8: ldr r0, _02161c80 ; =gAdventureFlags ldr r1, [r4, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02161c00 ldr r0, _02161c80 ; =gAdventureFlags ldr r1, [r4, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02161c00: ldrb r0, [r4, #0x3d1] cmp r0, #0 beq _02161c14 ldr r0, _02161c84 ; =data_027e0e2c blx func_ov00_0207bcb4 _02161c14: add r0, r4, #0x374 bl func_ov00_020d1980 add r0, r4, #0x27c bl func_ov00_020b7e6c add r0, r4, #0x27c bl func_ov00_020b7df0 add r0, r4, #0x270 bl func_ov00_020b7e6c add r0, r4, #0x270 bl func_ov00_020b7df0 add r0, r4, #0x264 bl func_ov00_020b7e6c add r0, r4, #0x264 bl func_ov00_020b7df0 add r0, r4, #0x258 bl func_ov00_020b7e6c add r0, r4, #0x258 bl func_ov00_020b7df0 add r0, r4, #0x1d8 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_0214e118 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02161ba0 _02161c7c: .word data_ov15_0218cc1c _02161c80: .word gAdventureFlags _02161c84: .word data_027e0e2c .global func_ov15_02161c88 arm_func_start func_ov15_02161c88 func_ov15_02161c88: ; 0x02161c88 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x6c ldr r1, _02162424 ; =gAdventureFlags mov r10, r0 ldr r0, [r1] mov r1, #0x1f bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02161cc4 ldr r0, _02162424 ; =gAdventureFlags mov r1, #0xf5 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02161cd0 _02161cc4: add sp, sp, #0x6c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02161cd0: mov r1, #2 ldr r0, _02162428 ; =data_027e0fec strb r1, [r10, #0x1a8] ldr r0, [r0] add r0, r0, #0x2a8 add r0, r0, #0x2800 bl func_ov00_020c4588 mov r1, r0 add r0, r10, #0x1d8 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, #0x800 rsb r0, r0, #0 str r0, [r10, #0x4c] ldr r2, [r10, #0x48] mov r1, #0x1000 str r2, [r10, #0x54] ldr r3, [r10, #0x4c] mov r2, #0x10 str r3, [r10, #0x58] ldr r3, [r10, #0x50] mov r0, #0 str r3, [r10, #0x5c] str r1, [r10, #0x184] str r2, [r10, #0x6c] str r0, [r10, #0x7c] str r1, [r10, #0x80] str r0, [r10, #0x84] str r1, [r10, #0x88] ldr r2, [r10, #0x7c] mov r6, #5 str r2, [r10, #0x188] ldr r3, [r10, #0x80] mov r7, #0x2000 str r3, [r10, #0x18c] ldr r3, [r10, #0x84] add r2, r10, #0x100 str r3, [r10, #0x190] ldr r3, [r10, #0x88] ldr r5, _0216242c ; =0x00000999 str r3, [r10, #0x194] ldr r3, [r10, #0x188] rsb r4, r6, #0x338 str r3, [r10, #0x8c] ldr r3, [r10, #0x18c] str r3, [r10, #0x90] ldr r3, [r10, #0x190] str r3, [r10, #0x94] ldr r8, [r10, #0x194] mov r3, #0x400 str r8, [r10, #0x98] str r0, [r10, #0xa8] str r1, [r10, #0xac] str r0, [r10, #0xb0] str r7, [r10, #0xb4] strh r6, [r2, #0x20] strb r0, [r10, #0x124] str r5, [r10, #0x158] str r4, [r10, #0x15c] strh r0, [r2, #0x68] strh r0, [r2, #0x6a] strh r0, [r2, #0x6e] strh r0, [r2, #0x6c] str r0, [r10, #0x164] str r0, [r10, #0x160] str r3, [r10, #0x198] mov r1, #0x800 str r1, [r10, #0x19c] str r0, [r10, #0x238] str r0, [r10, #0x23c] str r0, [r10, #0x24c] str r0, [r10, #0x234] ldr r1, [r10, #8] str r1, [r10, #0x394] ldr r1, [r10, #0xc] str r1, [r10, #0x398] strb r0, [r10, #0x3c8] strb r0, [r10, #0x3d0] sub r0, r6, #6 str r0, [r10, #0x288] str r0, [r10, #0x28c] ldr r2, [r10, #0x4c] ldr r1, [r10, #0x184] mov r0, #0xaa add r1, r2, r1 str r1, [r10, #0x1a0] str r0, [r10, #0x25c] mov r1, #2 str r1, [r10, #0x260] mov r0, #0xab str r0, [r10, #0x268] str r1, [r10, #0x26c] mov r0, #0xac str r0, [r10, #0x274] str r1, [r10, #0x278] mov r0, #0xad str r0, [r10, #0x280] ldr r0, _02162430 ; =data_027e0e60 str r1, [r10, #0x284] ldr r0, [r0] bl func_ov00_02082d40 ldr r1, _02162434 ; =data_027e0d38 ldr r2, _02162438 ; =data_027e0fe4 ldr r1, [r1] ldr r2, [r2] ldr r1, [r1, #0x28] mov r5, r0 add r0, r1, #0x1c ldrb r7, [r2, #0x38] bl func_ov00_020a5e9c cmp r0, #0 mov r1, #0x62 bne _02161eac ldr r0, _02162424 ; =gAdventureFlags mov r2, #0 ldr r0, [r0] bl _ZN14AdventureFlags3SetEjb b _02161f2c _02161eac: ldr r0, _02162424 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02161f2c cmp r7, r5 beq _02161ee4 ldr r0, _02162434 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] add r0, r0, #0x1c bl func_ov00_020a5e9c cmp r0, #4 bne _02161f18 _02161ee4: ldrb r0, [r10, #0x2b] cmp r0, #0 beq _02161f00 mov r1, #1 mov r0, r10 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii _02161f00: ldr r1, _02162438 ; =data_027e0fe4 add sp, sp, #0x6c ldr r1, [r1] mov r0, #0 strb r5, [r1, #0x38] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02161f18: ldr r0, _02162424 ; =gAdventureFlags mov r1, #0x62 ldr r0, [r0] mov r2, #0 bl _ZN14AdventureFlags3SetEjb _02161f2c: ldr r1, _02162438 ; =data_027e0fe4 ldr r0, _02162424 ; =gAdventureFlags ldr r2, [r1] mov r1, #0x52 strb r5, [r2, #0x38] ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02161f88 ldr r0, _02162424 ; =gAdventureFlags mov r1, #0x37 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _02161f88 ldr r1, _0216243c ; =data_ov15_0218cc00 ldr r0, _02162438 ; =data_027e0fe4 ldrb r2, [r1, #0x10] ldr r1, [r0] add sp, sp, #0x6c strb r2, [r1, #0x38] mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02161f88: ldrb r0, [r10, #0x2a] cmp r0, #0 beq _02161fd4 mov r0, r10 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _02161fd4 ldrsh r2, [r10, #0x78] ldrsb r3, [r10, #0x2c] add r0, r10, #0x1b0 add r1, r10, #0x48 bl func_ov00_020c66e4 mov r0, r10 mov r1, #0 bl func_ov15_02162688 add sp, sp, #0x6c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02161fd4: ldr r0, _02162438 ; =data_027e0fe4 add r3, sp, #0x60 ldr r4, [r0] cmp r7, #0xff add r0, r4, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} beq _0216237c ldr r0, [sp, #0x60] cmp r7, r5 str r0, [r10, #0x48] ldr r0, [sp, #0x64] str r0, [r10, #0x4c] ldr r0, [sp, #0x68] str r0, [r10, #0x50] beq _02162394 ldr r0, _02162440 ; =data_027e0ff0 ldrsb r4, [r10, #0x2c] ldr r1, [r0] mvn r0, #0 ldr r2, [r1] and r1, r4, #0xff ldr r1, [r2, r1, lsl #3] ldr r9, _02162444 ; =data_ov15_021867c4 ldrb r8, [r1, #1] add r3, sp, #0x50 mov r6, #0 strb r0, [sp, #4] strb r0, [sp, #5] mov r2, #8 _0216204c: ldrb r1, [r9] ldrb r0, [r9, #1] add r9, r9, #2 strb r1, [r3] strb r0, [r3, #1] add r3, r3, #2 subs r2, r2, #1 bne _0216204c add r0, sp, #0x50 add r0, r0, r7, lsl #2 ldrsb r9, [r5, r0] cmp r9, #3 bne _021620bc ldr r1, _0216243c ; =data_ov15_0218cc00 ldr r0, _02162438 ; =data_027e0fe4 ldrb r2, [r1, #0x11] ldr r1, [r0] mov r0, r10 strb r2, [r1, #0x38] bl func_ov15_02164604 cmp r0, #0 beq _021620b0 ldr r0, _02162448 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 _021620b0: add sp, sp, #0x6c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021620bc: ldr r0, _0216244c ; =data_027e0f94 add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02162430 ; =data_027e0e60 add r1, sp, #0x2c ldr r0, [r0] bl func_ov00_0208346c ldr r1, [sp, #0x34] ldr r0, [sp, #0x38] ldr r2, [sp, #0x2c] add r1, r1, #0xc000 str r1, [sp, #0x34] ldr r1, [sp, #0x44] sub r0, r0, #0xc000 add r2, r2, #0xc000 str r0, [sp, #0x38] ldr r0, [sp, #0x48] str r2, [sp, #0x2c] ldr r2, [sp, #0x4c] str r0, [sp, #0x18] ldr r3, [sp, #0x40] str r1, [sp, #0x14] sub r1, r3, #0xc000 str r1, [sp, #0x40] add r0, sp, #0x2c add r1, sp, #0x14 str r2, [sp, #0x1c] bl func_ov00_0208e7a4 cmp r0, #0 beq _02162158 cmp r9, #0 rsblt r0, r9, #0 movlt r0, r0, lsl #0x18 movlt r9, r0, asr #0x18 rsb r0, r9, #0 mov r0, r0, lsl #0x18 mov r9, r0, asr #0x18 b _021621b4 _02162158: cmp r9, #1 beq _0216216c cmp r9, #2 beq _02162194 b _021621b4 _0216216c: cmp r7, r5 bhs _02162184 ldr r0, [sp, #0x38] add r0, r0, #0xc000 str r0, [sp, #0x44] b _021621b4 _02162184: ldr r0, [sp, #0x2c] sub r0, r0, #0xc000 str r0, [sp, #0x44] b _021621b4 _02162194: cmp r7, r5 ldrhs r0, [sp, #0x40] addhs r0, r0, #0xc000 strhs r0, [sp, #0x4c] bhs _021621b4 ldr r0, [sp, #0x34] sub r0, r0, #0xc000 str r0, [sp, #0x4c] _021621b4: rsb r0, r9, #0 str r0, [sp] mov r0, r0, lsl #0x18 mov r11, r0, asr #0x18 _021621c4: ldr r0, _02162440 ; =data_027e0ff0 add r1, sp, #4 ldr r0, [r0] strb r4, [sp, #4] strb r6, [sp, #5] bl func_ov00_020c47cc mov r5, r0 cmp r9, #0 movge r1, r9 ldrsb r0, [r5, #0x10] movlt r1, r11 cmp r0, r1 bne _0216232c add r1, sp, #4 add r0, r10, #0x1b0 bl func_ov00_020c6940 add r0, sp, #0x44 add r1, sp, #0x60 bl func_01ff9ec0 cmp r0, #0x32000 bge _02162220 cmp r9, #0 bge _0216222c _02162220: mov r1, #0x3c mov r0, #0x5a b _02162240 _0216222c: cmp r0, #0x14000 movlt r1, #0xf movlt r0, #0x1e movge r1, #0x1e movge r0, #0x3c _02162240: sub r2, r0, r1 mov r0, #0x1e ldr r3, [r5, #4] mul r0, r2, r0 str r3, [r10, #0x48] ldr r2, [r5, #8] add r0, r0, #1 str r2, [r10, #0x4c] ldr r2, [r5, #0xc] cmp r0, #0 str r2, [r10, #0x50] movle r5, #0 ble _021622c0 ldr r2, _02162450 ; =data_027e0764 ldr r4, [r2] ldmib r2, {r3, r5} umull r8, r6, r5, r4 mla r6, r5, r3, r6 ldr r3, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r3, r4, r6 ldr r3, [r2, #0x14] adds r4, r5, r8 adc r5, r3, r6 stmia r2, {r4, r5} cmp r0, #0 beq _021622c0 mov r4, #0 umull r3, r2, r5, r0 mla r2, r5, r4, r2 mla r2, r4, r0, r2 mov r5, r2 _021622c0: mov r0, #0x1e mla r2, r1, r0, r5 mov r0, #0x148 mul r1, r2, r0 cmp r9, #0 ldrlt r0, [sp] movlt r0, r0, lsl #0x18 movlt r9, r0, asr #0x18 cmp r9, #2 bne _02162310 cmp r7, #1 cmpne r7, #3 ldr r0, [r10, #0x50] bne _02162304 sub r0, r0, r1 str r0, [r10, #0x50] b _021623a8 _02162304: add r0, r0, r1 str r0, [r10, #0x50] b _021623a8 _02162310: ldr r0, [r10, #0x48] cmp r7, #1 subls r0, r0, r1 strls r0, [r10, #0x48] addhi r0, r0, r1 strhi r0, [r10, #0x48] b _021623a8 _0216232c: add r0, r6, #1 mov r0, r0, lsl #0x18 cmp r8, r0, asr #24 mov r6, r0, asr #0x18 bgt _021621c4 ldr r1, _0216243c ; =data_ov15_0218cc00 ldr r0, _02162438 ; =data_027e0fe4 ldrb r2, [r1, #0x12] ldr r1, [r0] mov r0, r10 strb r2, [r1, #0x38] bl func_ov15_02164604 cmp r0, #0 beq _02162370 ldr r0, _02162448 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 _02162370: add sp, sp, #0x6c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216237c: ldr r0, [r10, #0x48] str r0, [r4, #0x2c] ldr r0, [r10, #0x4c] str r0, [r4, #0x30] ldr r0, [r10, #0x50] str r0, [r4, #0x34] _02162394: ldrsh r2, [r10, #0x78] ldrsb r3, [r10, #0x2c] add r0, r10, #0x1b0 add r1, r10, #0x48 bl func_ov00_020c66e4 _021623a8: mov r0, r10 bl func_ov15_02164604 cmp r0, #0 beq _021623c4 ldr r0, _02162448 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 _021623c4: mov r0, r10 mov r1, #3 bl func_ov15_02162688 add r0, sp, #8 add r1, r10, #0x1b0 bl func_ov00_020c6e08 add r0, sp, #8 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r10, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0x20] ldr r1, [sp, #0x28] bl func_01ffa0f4 add r1, r10, #0x100 strh r0, [r1, #0xd4] ldrsh r1, [r1, #0xd4] mov r0, #1 strh r1, [r10, #0x78] add sp, sp, #0x6c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02161c88 _02162424: .word gAdventureFlags _02162428: .word data_027e0fec _0216242c: .word 0x00000999 _02162430: .word data_027e0e60 _02162434: .word data_027e0d38 _02162438: .word data_027e0fe4 _0216243c: .word data_ov15_0218cc00 _02162440: .word data_027e0ff0 _02162444: .word data_ov15_021867c4 _02162448: .word data_ov15_02190458 _0216244c: .word data_027e0f94 _02162450: .word data_027e0764 .global func_ov15_02162454 arm_func_start func_ov15_02162454 func_ov15_02162454: ; 0x02162454 stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #3 bne _021624c8 ldr r0, _02162524 ; =data_027e0d38 ldr r0, [r0] ldr r0, [r0, #0x28] add r0, r0, #0x1c bl func_ov00_020a5e9c sub r0, r0, #2 cmp r0, #8 bhi _021624c8 ldr r1, _02162528 ; =data_027e0f94 add r0, r4, #0x48 str r1, [sp] ldrsh r1, [r4, #0x78] mov r2, #0x12000 mov r3, #0x168000 bl func_0202b03c cmp r0, #0 beq _021624c8 mov r0, r4 mov r1, #4 bl func_ov15_02162688 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv strh r0, [r4, #0x78] _021624c8: ldr r1, [r4, #0x48] ldr r0, _0216252c ; =data_027e0e60 str r1, [sp, #4] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #8] ldr r3, [r4, #0x50] add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] bl func_ov00_02083ee0 str r0, [r4, #0x4c] ldr r1, _02162530 ; =data_ov15_0218cc00 ldr r2, _02162534 ; =data_ov15_0218cc0c add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02162454 _02162524: .word data_027e0d38 _02162528: .word data_027e0f94 _0216252c: .word data_027e0e60 _02162530: .word data_ov15_0218cc00 _02162534: .word data_ov15_0218cc0c .global func_ov15_02162538 arm_func_start func_ov15_02162538 func_ov15_02162538: ; 0x02162538 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02162634 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, #1 beq _02162584 sub r0, r0, #7 cmp r0, #1 bhi _021625a0 _02162584: mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 b _02162634 _021625a0: mov r0, r5 bl _ZN5Actor12ApplyGravityEv ldr r1, [r5, #0x4c] ldr r0, [r5, #0x64] add r0, r1, r0 str r0, [r5, #0x4c] ldrb r0, [r5, #0x1ac] cmp r0, #0 beq _02162604 sub r0, r0, #1 strb r0, [r5, #0x1ac] ldr r1, [r5, #0x48] ldr r0, _02162678 ; =data_027e0e60 str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r5, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r5, #0x184] sub r0, r0, r1 str r0, [r5, #0x4c] _02162604: ldr r1, _0216267c ; =data_ov15_0218cc00 ldr r2, _02162680 ; =data_ov15_0218cc0c add r0, r5, #0x48 bl func_ov15_0215cb24 ldr r3, [r5, #0x4c] ldr r2, [r5, #0x184] ldr r1, _02162684 ; =data_ov15_021867d4 add r2, r3, r2 add r2, r2, r0 mov r0, r5 str r2, [r5, #0x1a0] bl func_ov15_0214e138 _02162634: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 mov r0, #0x10000 ldr r1, [r5, #0x38c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} add r0, r5, #0x374 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02162538 _02162678: .word data_027e0e60 _0216267c: .word data_ov15_0218cc00 _02162680: .word data_ov15_0218cc0c _02162684: .word data_ov15_021867d4 .global func_ov15_02162688 arm_func_start func_ov15_02162688 func_ov15_02162688: ; 0x02162688 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x394 mov r4, r1 mov r5, r0 cmp r4, #8 addls pc, pc, r4, lsl #2 b _02162dc4 _021626a4: ; jump table b _021626c8 ; case 0 b _021626dc ; case 1 b _021627fc ; case 2 b _02162808 ; case 3 b _0216289c ; case 4 b _02162904 ; case 5 b _02162dc4 ; case 6 b _0216296c ; case 7 b _02162b58 ; case 8 _021626c8: ldr r1, _02162ddc ; =0x0000ffff mov r0, #0 strh r1, [r5, #0x7a] strb r0, [r5, #0x256] b _02162dc4 _021626dc: ldrb r1, [r5, #0x2a] cmp r1, #0 beq _02162744 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _02162744 mov r0, r5 bl _ZN5Actor14GetAngleToLinkEv strh r0, [r5, #0x78] add r0, sp, #0xb4 mov r1, r5 mov r2, #0 bl func_ov15_0216463c ldr r0, _02162de0 ; =gAdventureFlags add r1, sp, #0xb4 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x240] add r0, sp, #0xb4 bl func_ov00_0209a508 ldr r0, _02162de4 ; =data_027e0c68 ldr r2, _02162de8 ; =0x00050014 add r1, r5, #0x374 bl func_02036ce4 b _021627e8 _02162744: ldr r0, _02162dec ; =data_027e0e2c ldr r2, _02162df0 ; =func_ov15_02161a18 mov r1, #3 mov r3, #0 blx func_ov00_0207bd9c cmp r0, #0 beq _02162dc4 add r0, sp, #4 mov r1, r5 mov r2, #3 bl func_ov15_0216463c ldr r0, _02162de0 ; =gAdventureFlags add r1, sp, #4 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x240] add r0, sp, #4 bl func_ov00_0209a508 ldr r1, _02162df4 ; =data_027e0f64 ldr r0, _02162df8 ; =data_ov15_02190458 ldr r2, [r1] mov r1, #0 ldr r3, [r2, #4] ldr r2, [r3, #0x26c] str r2, [r5, #0x368] ldr r2, [r3, #0x270] str r2, [r5, #0x36c] ldr r2, [r3, #0x274] str r2, [r5, #0x370] bl func_ov15_021849dc ldr r0, _02162dfc ; =data_ov00_020eec68 mov r1, #0x69 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 ldr r0, _02162de4 ; =data_027e0c68 ldr r2, _02162e00 ; =0x00050019 add r1, r5, #0x374 bl func_02036ce4 mov r0, #1 strb r0, [r5, #0x3d1] _021627e8: mov r0, #0 strb r0, [r5, #0x254] str r0, [r5, #0x248] strb r0, [r5, #0x256] b _02162dc4 _021627fc: mov r0, #0x5b strh r0, [r5, #0x7a] b _02162dc4 _02162808: mov r0, #0x5b strh r0, [r5, #0x7a] ldr r0, [r5, #0x1b4] ldrsb r3, [r5, #0x2c] ldr r0, [r0] add r1, sp, #0 ldrb r0, [r0, #5] cmp r0, #0 movne r2, #1 moveq r2, #0 add r0, r5, #0x48 strb r3, [sp] bl func_ov15_0215c8b4 mov r6, r0 mvn r0, #0 cmp r6, r0 beq _02162874 add r0, r5, #0x1b0 bl func_ov00_020c6ce0 cmp r6, r0 beq _02162874 _0216285c: add r0, r5, #0x1b0 bl func_ov00_020c6d9c add r0, r5, #0x1b0 bl func_ov00_020c6ce0 cmp r6, r0 bne _0216285c _02162874: ldr r1, [r5, #0x48] add r0, r5, #0x100 str r1, [r5, #0x1c8] ldr r1, [r5, #0x4c] str r1, [r5, #0x1cc] ldr r1, [r5, #0x50] str r1, [r5, #0x1d0] ldrsh r1, [r5, #0x78] strh r1, [r0, #0xd4] b _02162dc4 _0216289c: ldr r0, [r5, #0x130] ldr r1, _02162e04 ; =data_027e0764 cmp r0, #1 moveq r0, #0x190 streq r0, [r5, #0x24c] ldr r3, [r1] ldmib r1, {r2, r6} umull r8, r7, r6, r3 mla r7, r6, r2, r7 ldr r2, [r1, #0xc] ldr r6, [r1, #0x10] mla r7, r2, r3, r7 ldr r2, [r1, #0x14] adds r8, r6, r8 adc r7, r2, r7 mov r2, #0x5b str r8, [r1] mov r0, #0 umull r3, r6, r7, r2 mla r6, r7, r0, r6 mla r6, r0, r2, r6 str r7, [r1, #4] add r0, r6, #0x5a str r0, [r5, #0x250] strh r2, [r5, #0x7a] b _02162dc4 _02162904: ldr r0, _02162df8 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 ldr r2, _02162e04 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r6} umull r8, r7, r6, r3 mla r7, r6, r0, r7 ldr r0, [r2, #0xc] ldr r9, [r2, #0x10] mla r7, r0, r3, r7 ldr r6, [r2, #0x14] adds r8, r9, r8 adc r7, r6, r7 mov r0, #0x1f umull r3, r6, r7, r0 mla r6, r7, r1, r6 mla r6, r1, r0, r6 str r8, [r2] str r7, [r2, #4] add r0, r6, #0x5a str r0, [r5, #0x24c] mov r0, #0x5b strh r0, [r5, #0x7a] b _02162dc4 _0216296c: ldrb r1, [r5, #0x2a] cmp r1, #0 beq _02162984 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii _02162984: ldr r0, _02162dfc ; =data_ov00_020eec68 mov r1, #0x1e bl func_ov00_020d716c ldr r0, _02162de0 ; =gAdventureFlags ldr r1, [r5, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021629c0 ldr r0, _02162de0 ; =gAdventureFlags ldr r1, [r5, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r0, #0 str r0, [r5, #0x240] _021629c0: add r0, sp, #0x2e4 bl func_ov00_0209a4f4 ldr r0, _02162df4 ; =data_027e0f64 mvn r7, #0 mov r6, #0x32 mov r1, #3 mov r2, #2 strb r1, [sp, #0x2ef] ldr r3, [r0] str r7, [sp, #0x2e8] strb r6, [sp, #0x2ed] strb r2, [sp, #0x2ee] ldr r2, [r3, #4] add r1, sp, #0x27c ldr r0, [r2, #0x26c] str r0, [sp, #0x304] ldr r0, [r2, #0x270] str r0, [sp, #0x308] ldr r0, [r2, #0x274] str r0, [sp, #0x30c] ldr r0, [r3, #4] bl func_ov00_02087d34 mov r1, #5 ldr r2, [sp, #0x27c] ldr r11, [sp, #0x284] ldr r10, [sp, #0x288] ldr r0, [sp, #0x28c] str r2, [sp, #0x310] ldr r2, [sp, #0x290] str r11, [sp, #0x318] ldr r11, [sp, #0x294] str r10, [sp, #0x31c] ldr r10, [sp, #0x298] str r0, [sp, #0x320] ldr r0, [sp, #0x29c] str r2, [sp, #0x324] ldr r2, [sp, #0x2a0] str r11, [sp, #0x328] ldr r11, [sp, #0x2a4] str r10, [sp, #0x32c] ldr r10, [sp, #0x2a8] str r0, [sp, #0x330] ldr r0, [sp, #0x2ac] str r2, [sp, #0x334] ldr r2, [sp, #0x2b0] str r11, [sp, #0x338] ldr r11, [sp, #0x2b4] str r10, [sp, #0x33c] ldr r10, [sp, #0x2b8] str r0, [sp, #0x340] ldr r0, [sp, #0x2bc] str r2, [sp, #0x344] ldr r2, [sp, #0x2c0] str r11, [sp, #0x348] ldr r11, [sp, #0x2c4] str r10, [sp, #0x34c] ldr r10, [sp, #0x2c8] ldrb r9, [sp, #0x2dc] ldrb r8, [sp, #0x2dd] ldrb r7, [sp, #0x2de] ldrb r6, [sp, #0x2df] ldrb r3, [sp, #0x2e0] str r0, [sp, #0x350] ldr r0, [sp, #0x2cc] str r2, [sp, #0x354] ldr r2, [sp, #0x2d0] str r11, [sp, #0x358] ldr r11, [sp, #0x2d4] str r10, [sp, #0x35c] ldr r10, [sp, #0x2d8] str r0, [sp, #0x360] mov r0, #1 str r2, [sp, #0x364] mov r2, #0x5c str r11, [sp, #0x368] strb r0, [sp, #0x2f8] str r10, [sp, #0x36c] strb r9, [sp, #0x370] strb r8, [sp, #0x371] strb r7, [sp, #0x372] strb r6, [sp, #0x373] strb r3, [sp, #0x374] str r2, [sp, #0x378] str r1, [sp, #0x280] str r1, [sp, #0x314] ldr r1, [r5, #0x130] cmp r1, #8 streqb r0, [sp, #0x2fa] movne r0, #0 strneb r0, [sp, #0x2fa] ldr r0, _02162de0 ; =gAdventureFlags add r1, sp, #0x2e4 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x240] ldr r0, _02162de4 ; =data_027e0c68 ldr r2, _02162e08 ; =0x00050022 add r1, r5, #0x374 bl func_02036ce4 add r0, sp, #0x2e4 bl func_ov00_0209a508 b _02162dc4 _02162b58: add r0, sp, #0x1cc bl func_ov00_0209a4f4 ldr r1, _02162e0c ; =data_027e0f94 mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r8, #0x32 mov r7, #2 mov r6, #3 ldr r0, _02162df4 ; =data_027e0f64 str r9, [sp, #0x1d0] strb r8, [sp, #0x1d5] strb r7, [sp, #0x1d6] strb r6, [sp, #0x1d7] str r3, [sp, #0x1ec] str r2, [sp, #0x1f0] ldr r1, [r1, #8] ldr r0, [r0] str r1, [sp, #0x1f4] ldr r0, [r0, #4] add r1, sp, #0x164 bl func_ov00_02087d34 ldr r0, [sp, #0x164] mov r9, #5 str r0, [r5, #0x298] ldr r0, [sp, #0x168] mov r10, #1 str r0, [r5, #0x29c] ldr r0, [sp, #0x16c] str r0, [r5, #0x2a0] ldr r0, [sp, #0x170] str r0, [r5, #0x2a4] ldr r0, [sp, #0x174] str r0, [r5, #0x2a8] ldr r0, [sp, #0x178] str r0, [r5, #0x2ac] ldr r0, [sp, #0x17c] str r0, [r5, #0x2b0] ldr r0, [sp, #0x180] str r0, [r5, #0x2b4] ldr r0, [sp, #0x184] str r0, [r5, #0x2b8] ldr r0, [sp, #0x188] str r0, [r5, #0x2bc] ldr r0, [sp, #0x18c] str r0, [r5, #0x2c0] ldr r0, [sp, #0x190] str r0, [r5, #0x2c4] ldr r0, [sp, #0x194] str r0, [r5, #0x2c8] ldr r0, [sp, #0x198] str r0, [r5, #0x2cc] ldr r0, [sp, #0x19c] str r0, [r5, #0x2d0] ldr r0, [sp, #0x1a0] str r0, [r5, #0x2d4] ldr r0, [sp, #0x1a4] str r0, [r5, #0x2d8] ldr r0, [sp, #0x1a8] str r0, [r5, #0x2dc] ldr r0, [sp, #0x1ac] str r0, [r5, #0x2e0] ldr r0, [sp, #0x1b0] str r0, [r5, #0x2e4] ldr r0, [sp, #0x1b4] str r0, [r5, #0x2e8] ldr r0, [sp, #0x1b8] str r0, [r5, #0x2ec] ldr r0, [sp, #0x1bc] str r0, [r5, #0x2f0] ldr r0, [sp, #0x1c0] str r0, [r5, #0x2f4] ldrb r0, [sp, #0x1c4] strb r0, [r5, #0x2f8] ldrb r0, [sp, #0x1c5] strb r0, [r5, #0x2f9] ldrb r0, [sp, #0x1c6] strb r0, [r5, #0x2fa] ldrb r0, [sp, #0x1c7] strb r0, [r5, #0x2fb] ldrb r0, [sp, #0x1c8] strb r0, [r5, #0x2fc] ldr r8, [sp, #0x164] ldr r7, [sp, #0x16c] ldr r6, [sp, #0x170] ldr r3, [sp, #0x174] ldr r2, [sp, #0x178] ldr r1, [sp, #0x17c] ldr r0, [sp, #0x180] str r9, [sp, #0x168] strb r10, [sp, #0x1e0] str r8, [sp, #0x1f8] str r9, [sp, #0x1fc] str r7, [sp, #0x200] str r6, [sp, #0x204] str r3, [sp, #0x208] str r2, [sp, #0x20c] str r1, [sp, #0x210] str r0, [sp, #0x214] ldr r0, [sp, #0x18c] ldr r7, [sp, #0x184] str r0, [sp, #0x220] ldr r0, [sp, #0x1a0] ldr r1, [sp, #0x188] ldr r9, [sp, #0x190] ldr r8, [sp, #0x194] str r7, [sp, #0x218] ldr r7, [sp, #0x198] str r0, [sp, #0x234] ldr r0, [sp, #0x1b4] str r1, [sp, #0x21c] ldr r1, [sp, #0x19c] str r9, [sp, #0x224] ldr r9, [sp, #0x1a4] str r8, [sp, #0x228] ldr r8, [sp, #0x1a8] str r7, [sp, #0x22c] ldr r7, [sp, #0x1ac] ldrb r6, [sp, #0x1c4] ldrb lr, [sp, #0x1c5] ldrb ip, [sp, #0x1c6] ldrb r3, [sp, #0x1c7] ldrb r2, [sp, #0x1c8] str r0, [sp, #0x248] ldr r0, _02162de0 ; =gAdventureFlags str r1, [sp, #0x230] ldr r1, [sp, #0x1b0] str r9, [sp, #0x238] ldr r9, [sp, #0x1b8] str r8, [sp, #0x23c] ldr r8, [sp, #0x1bc] str r7, [sp, #0x240] ldr r7, [sp, #0x1c0] mov r11, #0x5c str r1, [sp, #0x244] ldr r0, [r0] add r1, sp, #0x1cc str r9, [sp, #0x24c] str r8, [sp, #0x250] str r7, [sp, #0x254] strb r6, [sp, #0x258] strb lr, [sp, #0x259] strb ip, [sp, #0x25a] strb r3, [sp, #0x25b] strb r2, [sp, #0x25c] str r11, [sp, #0x260] strb r10, [sp, #0x1e2] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x240] ldr r0, _02162de4 ; =data_027e0c68 ldr r2, _02162e10 ; =0x00050046 add r1, r5, #0x374 bl func_02036ce4 add r0, sp, #0x1cc bl func_ov00_0209a508 _02162dc4: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] strb r0, [r5, #0x255] add sp, sp, #0x394 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02162688 _02162ddc: .word 0x0000ffff _02162de0: .word gAdventureFlags _02162de4: .word data_027e0c68 _02162de8: .word 0x00050014 _02162dec: .word data_027e0e2c _02162df0: .word func_ov15_02161a18 _02162df4: .word data_027e0f64 _02162df8: .word data_ov15_02190458 _02162dfc: .word data_ov00_020eec68 _02162e00: .word 0x00050019 _02162e04: .word data_027e0764 _02162e08: .word 0x00050022 _02162e0c: .word data_027e0f94 _02162e10: .word 0x00050046 .global func_ov15_02162e14 arm_func_start func_ov15_02162e14 func_ov15_02162e14: ; 0x02162e14 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xe8 mov r4, r0 ldr r0, [r4, #0x238] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x238] ldr r0, [r4, #0x23c] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x23c] ldr r0, [r4, #0x130] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02163b90 _02162e50: ; jump table b _02162e74 ; case 0 b _02162ecc ; case 1 b _02163b90 ; case 2 b _02162f28 ; case 3 b _02163074 ; case 4 b _02163338 ; case 5 b _02163408 ; case 6 b _0216374c ; case 7 b _02163930 ; case 8 _02162e74: ldr r0, [r4, #0x138] cmp r0, #0x3c blt _02163b90 ldr r0, _02163c2c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldreq r0, _02163c30 ; =data_027e0c68 ldreqb r0, [r0, #4] cmpeq r0, #0 bne _02163b90 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02163b90 bl func_ov15_0215d260 cmp r0, #0 beq _02163b90 mov r0, r4 mov r1, #1 bl func_ov15_02162688 b _02163b90 _02162ecc: ldrb r0, [r4, #0x2a] cmp r0, #0 beq _02162f04 mov r0, r4 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _02162f04 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv strh r0, [r4, #0x78] mov r0, r4 bl func_ov15_02163d10 b _02163b90 _02162f04: mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 add r0, r4, #0x78 mov r2, #0x2d8 bl func_0202b154 mov r0, r4 bl func_ov15_021643e4 b _02163b90 _02162f28: mov r2, #0x148 add r1, sp, #0xdc mov r0, r4 add r3, r2, #0xda bl func_ov15_0214eb18 add r0, sp, #0xdc bl func_01ff9cec mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 mov r3, r0, asr #0x5 cmp r3, #0x14 movlt r3, #0x14 blt _02162f64 cmp r3, #0x148 movgt r3, #0x148 _02162f64: str r3, [r4, #0x234] ldrh r0, [r4, #0x78] ldr r6, _02163c34 ; =data_02050f54 add r1, sp, #0xdc mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r5, [r6, r0] add r0, r4, #0x48 mov r2, r0 smull r8, r7, r5, r3 adds r8, r8, #0x800 adc r5, r7, #0 mov r7, r8, lsr #0xc orr r7, r7, r5, lsl #20 str r7, [sp, #0xdc] ldrh r5, [r4, #0x78] mov r5, r5, asr #0x4 mov r5, r5, lsl #0x1 add r5, r5, #1 mov r5, r5, lsl #0x1 ldrsh r5, [r6, r5] smull r6, r3, r5, r3 adds r5, r6, #0x800 adc r3, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [sp, #0xe4] bl func_01ff9bc4 bl func_ov15_0215b780 cmp r0, #0 bne _02163050 bl func_ov15_0215d238 cmp r0, #0 bne _02163050 ldr r0, [r4, #0x138] cmp r0, #0xa blt _02163050 mov r0, r4 bl func_ov15_02164478 cmp r0, #0 beq _02163050 ldr r0, _02163c2c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldreq r0, _02163c30 ; =data_027e0c68 ldreqb r0, [r0, #4] cmpeq r0, #0 bne _02163050 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02163050 bl func_ov15_0215d260 cmp r0, #0 beq _02163050 mov r0, r4 mov r1, #1 bl func_ov15_02162688 _02163050: ldr r0, _02163c38 ; =data_027e0fe4 ldr r1, [r4, #0x48] ldr r2, [r0] str r1, [r2, #0x2c] ldr r0, [r4, #0x4c] str r0, [r2, #0x30] ldr r0, [r4, #0x50] str r0, [r2, #0x34] b _02163b90 _02163074: mov r0, r4 bl func_ov15_02164604 cmp r0, #0 bne _021630a4 ldr r0, _02163c3c ; =data_ov15_02190458 mov r1, #0 bl func_ov15_021849dc ldr r0, _02163c40 ; =data_ov00_020eec68 mov r1, #0x6a mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 _021630a4: ldr r0, _02163c44 ; =data_027e10a4 mov r1, #2 ldr r0, [r0] bl func_ov15_0213a560 ldr r0, [r4, #0x24c] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x24c] ldr r1, [r4, #0x288] mvn r0, #0 cmp r1, r0 beq _021630ec ldr r0, _02163c38 ; =data_027e0fe4 add r1, r4, #0x288 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 bne _02163180 _021630ec: mvn r0, #0 str r0, [r4, #0x288] str r0, [r4, #0x28c] ldrb r0, [r4, #0x2b] cmp r0, #0 beq _02163160 mov r0, r4 mov r1, #1 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 bne _02163160 ldr r0, _02163c48 ; =data_027e0e60 ldrh r1, [r4, #0x22] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 bne _02163160 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02163160 bl func_ov15_0215d260 cmp r0, #0 beq _02163160 mov r0, r4 mov r1, #8 bl func_ov15_02162688 b _02163b90 _02163160: mov r0, r4 bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x3000 blt _02163180 ldr r0, [r4, #0x250] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x250] _02163180: ldr r0, _02163c4c ; =data_027e0f94 add r2, sp, #0xd0 add r1, r4, #0x48 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0xd0 str r1, [sp, #0xd4] bl func_01ff9cec mov r5, r0 bl func_ov15_0215b780 cmp r0, #0 bne _021631bc bl func_ov15_0215d238 cmp r0, #0 beq _02163208 _021631bc: ldr r0, _02163c3c ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 mov r0, r4 mov r1, #3 bl func_ov15_02162688 ldr r0, _02163c38 ; =data_027e0fe4 ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 str r1, [r3, #0x2c] ldr r2, [r4, #0x4c] mov r1, #1 str r2, [r3, #0x30] ldr r2, [r4, #0x50] str r2, [r3, #0x34] ldr r0, [r0] strb r1, [r0, #0x4d4] b _02163b90 _02163208: ldr r0, [r4, #0x250] cmp r0, #0 bne _02163224 mov r0, r4 mov r1, #6 bl func_ov15_02162688 b _021632fc _02163224: cmp r5, #0x13000 blt _02163238 ldr r0, [r4, #0x24c] cmp r0, #0 beq _021632f0 _02163238: ldr r0, [sp, #0xd0] ldr r1, [sp, #0xd8] bl func_01ffa0f4 add r1, r4, #0x100 strh r0, [r1, #0xd4] ldrsh r1, [r1, #0xd4] add r0, r4, #0x78 mov r2, #0x16c bl func_0202b154 ldr r0, _02163c50 ; =data_027e0d0c add r3, sp, #0xc4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x234 mov r1, #0xf6 mov r2, #0xcd bl Approach_thunk ldrh r0, [r4, #0x78] ldr r2, _02163c34 ; =data_02050f54 ldr r6, [r4, #0x234] mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r1, [r2, r0] add r0, r3, #1 mov r0, r0, lsl #0x1 smull r5, r3, r1, r6 ldrsh r0, [r2, r0] adds r5, r5, #0x800 smull r2, r1, r0, r6 adc r0, r3, #0 mov r3, r5, lsr #0xc orr r3, r3, r0, lsl #20 adds r2, r2, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, #0 str r0, [sp, #0xc8] add r0, r4, #0x48 str r1, [sp, #0xcc] add r1, sp, #0xc4 mov r2, r0 str r3, [sp, #0xc4] bl func_01ff9bc4 b _021632fc _021632f0: mov r0, r4 mov r1, #5 bl func_ov15_02162688 _021632fc: mov r0, r4 bl func_ov15_02163c88 ldr r0, _02163c38 ; =data_027e0fe4 ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 str r1, [r3, #0x2c] ldr r2, [r4, #0x4c] mov r1, #1 str r2, [r3, #0x30] ldr r2, [r4, #0x50] str r2, [r3, #0x34] ldr r0, [r0] strb r1, [r0, #0x4d4] b _02163b90 _02163338: ldr r0, [r4, #0x24c] mov r1, #0 cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x24c] add r0, r4, #0x234 mov r2, #0xcd bl Approach_thunk ldrh r0, [r4, #0x78] ldr r6, _02163c34 ; =data_02050f54 ldr r2, [r4, #0x234] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [r6, r0] add r0, r4, #0x48 add r1, r4, #0x60 smull r5, r2, r3, r2 adds r3, r5, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r4, #0x60] ldrh r5, [r4, #0x78] ldr r3, [r4, #0x234] mov r2, r0 mov r5, r5, asr #0x4 mov r5, r5, lsl #0x1 add r5, r5, #1 mov r5, r5, lsl #0x1 ldrsh r5, [r6, r5] smull r6, r3, r5, r3 adds r5, r6, #0x800 adc r3, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [r4, #0x68] bl func_01ff9bc4 mov r0, r4 bl func_ov15_02164478 cmp r0, #0 beq _021633ec mov r0, r4 mov r1, #4 bl func_ov15_02162688 b _02163b90 _021633ec: ldr r0, [r4, #0x24c] cmp r0, #0 bne _02163b90 mov r0, r4 mov r1, #3 bl func_ov15_02162688 b _02163b90 _02163408: bl func_ov15_0215d238 cmp r0, #0 bne _02163420 bl func_ov15_0215b780 cmp r0, #0 beq _0216346c _02163420: ldr r0, _02163c3c ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 mov r0, r4 mov r1, #3 bl func_ov15_02162688 ldr r0, _02163c38 ; =data_027e0fe4 ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 str r1, [r3, #0x2c] ldr r2, [r4, #0x4c] mov r1, #1 str r2, [r3, #0x30] ldr r2, [r4, #0x50] str r2, [r3, #0x34] ldr r0, [r0] strb r1, [r0, #0x4d4] b _02163b90 _0216346c: ldr r0, _02163c44 ; =data_027e10a4 mov r1, #2 ldr r0, [r0] bl func_ov15_0213a560 ldr r0, [r4, #0x250] cmp r0, #0 bne _02163700 add r0, r4, #0x234 mov r1, #0 mov r2, #0x1f bl Approach_thunk ldrh r0, [r4, #0x78] ldr r6, _02163c34 ; =data_02050f54 ldr r2, [r4, #0x234] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [r6, r0] add r0, r4, #0x48 add r1, r4, #0x60 smull r5, r2, r3, r2 adds r3, r5, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r4, #0x60] ldrh r5, [r4, #0x78] ldr r3, [r4, #0x234] mov r2, r0 mov r5, r5, asr #0x4 mov r5, r5, lsl #0x1 add r5, r5, #1 mov r5, r5, lsl #0x1 ldrsh r5, [r6, r5] smull r6, r3, r5, r3 adds r5, r6, #0x800 adc r3, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [r4, #0x68] bl func_01ff9bc4 ldr r0, [r4, #0x234] cmp r0, #0 bne _02163718 ldr r2, _02163c54 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r5} umull r7, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds r7, r5, r7 adc r6, r0, r6 mov r0, #0x5b umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 str r7, [r2] add r0, sp, #0x98 str r6, [r2, #4] add r1, r5, #0x5a str r1, [r4, #0x250] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x98 str r1, [sp, #0xb4] str r1, [sp, #0xb8] bl func_ov00_020c3348 ldrsh r1, [r4, #0x78] add r0, r4, #0x48 add r3, sp, #0x8c strh r1, [sp, #0xac] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr ip, _02163c34 ; =data_02050f54 ldr r2, [sp, #0x8c] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r1, [ip, r0] ldr r0, _02163c48 ; =data_027e0e60 ldr r5, [sp, #0x90] mov r1, r1, lsl #0xc add r1, r1, #0x800 add r7, r2, r1, asr #12 str r7, [sp, #0x8c] ldrh r6, [r4, #0x78] ldr r3, [sp, #0x94] ldr r0, [r0] str r5, [sp, #0x54] mov r5, r6, asr #0x4 mov r5, r5, lsl #0x1 add r5, r5, #1 mov r5, r5, lsl #0x1 ldrsh r5, [ip, r5] add r1, sp, #0x50 mov r2, #0 mov r5, r5, lsl #0xc add r5, r5, #0x800 add r3, r3, r5, asr #12 str r7, [sp, #0x50] str r3, [sp, #0x94] str r3, [sp, #0x58] bl func_ov00_02083ee0 str r0, [sp, #0x90] add r0, r4, #0x288 str r0, [sp] ldr r0, _02163c58 ; =data_027e0fe8 ldr r1, _02163c5c ; =0x544f5044 ldr r0, [r0] add r2, sp, #0x8c add r3, sp, #0x98 bl func_ov00_020c4048 ldr r0, _02163c54 ; =data_027e0764 mov r1, #0 ldr r3, [r0] ldmib r0, {r2, r6} umull r8, r7, r6, r3 mla r7, r6, r2, r7 ldr r5, [r0, #0xc] ldr ip, [r0, #0x10] mla r7, r5, r3, r7 ldr r9, [r0, #0x14] adds r3, ip, r8 mov r1, r1, lsl #0x4 adc r2, r9, r7 str r3, [r0] orr r1, r1, r2, lsr #28 str r2, [r0, #4] add r0, r1, #0xf str r0, [r4, #0x250] ldr r1, _02163c60 ; =0x0000019a mov r2, #0 add r0, r1, #0xc00 str r0, [sp, #0x88] str r2, [sp, #0x80] str r1, [sp, #0x84] ldrsh r1, [r4, #0x78] add r0, sp, #0x80 bl func_ov00_020a61ac ldr r2, [sp, #0x80] ldr r0, [r4, #0x48] ldr r1, [sp, #0x84] add r0, r2, r0 str r0, [sp, #0x80] ldr r0, [r4, #0x1a0] ldr r2, [sp, #0x88] add r0, r1, r0 str r0, [sp, #0x84] ldr r1, [r4, #0x50] add r0, r4, #0x78 add r1, r2, r1 str r1, [sp, #0x88] str r0, [sp] ldr r1, _02163c64 ; =func_ov15_0216199c ldr r0, _02163c68 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, sp, #0x80 mov r1, #0x2e mov r3, #2 bl func_ov00_0207c1b0 b _02163718 _02163700: subs r0, r0, #1 str r0, [r4, #0x250] bne _02163718 mov r0, r4 mov r1, #4 bl func_ov15_02162688 _02163718: ldr r0, _02163c38 ; =data_027e0fe4 ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 str r1, [r3, #0x2c] ldr r2, [r4, #0x4c] mov r1, #1 str r2, [r3, #0x30] ldr r2, [r4, #0x50] str r2, [r3, #0x34] ldr r0, [r0] strb r1, [r0, #0x4d4] b _02163b90 _0216374c: ldr r0, _02163c44 ; =data_027e10a4 mov r1, #2 ldr r0, [r0] bl func_ov15_0213a560 ldrb r0, [r4, #0x255] cmp r0, #0 beq _02163774 cmp r0, #1 beq _02163854 b _0216391c _02163774: ldr r1, _02163c6c ; =data_027e0fac add r0, r4, #0x78 ldrsh r1, [r1] mov r2, #0x16c bl func_0202b154 add r0, r4, #0x234 mov r1, #0 mov r2, #0x14 bl Approach_thunk ldrh r0, [r4, #0x78] ldr r1, _02163c34 ; =data_02050f54 ldr r3, [r4, #0x234] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r0, [r1, r0] smull r6, r5, r2, r3 smull r3, r2, r0, r3 adds r6, r6, #0x800 adc r0, r5, #0 mov r5, r6, lsr #0xc orr r5, r5, r0, lsl #20 mov r0, #0 adds r3, r3, #0x800 str r0, [sp, #0x78] adc r0, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r0, lsl #20 add r0, r4, #0x48 str r2, [sp, #0x7c] add r1, sp, #0x74 mov r2, r0 str r5, [sp, #0x74] bl func_01ff9bc4 ldr r0, _02163c70 ; =data_027e0ff8 add r1, r4, #8 ldr r0, [r0] add r2, sp, #0x74 mov r3, #0 bl func_ov05_0210826c add r0, r4, #0x48 add r1, sp, #0x74 mov r2, r0 bl func_01ff9bc4 ldr r0, [r4, #0x234] cmp r0, #0 bne _0216391c mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #1 strb r0, [r4, #0x255] b _0216391c _02163854: ldrb r0, [r4, #0x11c] cmp r0, #0 bne _0216391c mov r3, #0 sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff ldr r0, _02163c48 ; =data_027e0e60 str r2, [sp, #0x68] str r5, [sp, #0x5c] str r3, [sp, #0x60] str r3, [sp, #0x64] strh r3, [sp, #0x6c] strb r3, [sp, #0x6f] strb r3, [sp, #0x70] strb r3, [sp, #0x71] strb r1, [sp, #0x6e] ldrh r1, [r4, #0x20] ldr r0, [r0] add r2, sp, #0x5c bl func_ov00_020838e8 cmp r0, #0 beq _0216391c ldr r0, _02163c44 ; =data_027e10a4 ldrsh r5, [sp, #0x6c] ldrb lr, [sp, #0x6e] ldrb ip, [sp, #0x6f] ldrb r3, [sp, #0x70] ldrb r2, [sp, #0x71] ldr r9, [sp, #0x5c] ldr r8, [sp, #0x60] ldr r7, [sp, #0x64] ldr r6, [sp, #0x68] ldr r0, [r0] add r1, sp, #0x38 str r9, [sp, #0x38] str r8, [sp, #0x3c] str r7, [sp, #0x40] str r6, [sp, #0x44] strh r5, [sp, #0x48] strb lr, [sp, #0x4a] strb ip, [sp, #0x4b] strb r3, [sp, #0x4c] strb r2, [sp, #0x4d] bl func_ov15_021413f8 ldr r0, _02163c2c ; =gAdventureFlags mov r1, #0x62 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb _0216391c: ldr r0, _02163c44 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] b _02163b90 _02163930: ldr r0, _02163c44 ; =data_027e10a4 mov r1, #2 ldr r0, [r0] bl func_ov15_0213a560 ldrb r0, [r4, #0x255] cmp r0, #0 beq _02163960 cmp r0, #1 beq _021639f0 cmp r0, #2 beq _02163a8c b _02163b1c _02163960: mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 ldr r2, _02163c74 ; =0x0000038e add r0, r4, #0x78 bl func_0202b154 ldr r0, _02163c4c ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #0x2c] str r2, [sp, #0x30] ldr r2, [r0, #8] ldr r0, _02163c78 ; =data_027e0f64 str r2, [sp, #0x34] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #0x2c ldr r0, [r0, #4] add r3, r4, #0x298 mov r2, #2 bl func_ov00_02089318 add r0, r4, #0x234 mov r1, #0 mov r2, #0x1f bl Approach_thunk bl func_ov15_0215cf38 cmp r0, #0 bne _02163b1c mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #1 strb r0, [r4, #0x255] b _02163b1c _021639f0: mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 ldr r2, _02163c74 ; =0x0000038e add r0, r4, #0x78 bl func_0202b154 add r0, r4, #0x234 mov r1, #0 mov r2, #0x1f bl Approach_thunk mov r0, #0x10000 ldr r1, [r4, #0x38c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02163b1c mov r0, #2 strb r0, [r4, #0x255] ldr r0, [r4, #0x48] mov r2, #0 str r0, [sp, #0x20] ldr r1, [r4, #0x4c] ldr r0, _02163c78 ; =data_027e0f64 str r1, [sp, #0x24] ldr r3, [r4, #0x50] add r1, sp, #0x20 str r3, [sp, #0x28] str r2, [sp] str r2, [sp, #4] ldr r0, [r0] add r3, r4, #0x298 ldr r0, [r0, #4] mov r2, #3 bl func_ov00_02089318 mov r0, #0 str r0, [r4, #0x138] mov r0, #1 strb r0, [r4, #0x1a8] b _02163b1c _02163a8c: mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 ldr r2, _02163c74 ; =0x0000038e add r0, r4, #0x78 bl func_0202b154 ldr r1, _02163c78 ; =data_027e0f64 mov r0, r4 ldr r1, [r1] ldr r1, [r1, #4] add r1, r1, #0x260 bl _ZN5Actor10GetAngleToEP5Vec3p ldr r1, _02163c4c ; =data_027e0f94 str r0, [r4, #0x2ac] ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp, #0x14] str r0, [sp, #0x18] ldr r1, [r1, #8] mov r0, #0 str r1, [sp, #0x1c] str r0, [sp] str r0, [sp, #4] ldr r0, _02163c78 ; =data_027e0f64 add r1, sp, #0x14 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #4] add r3, r4, #0x298 bl func_ov00_02089318 add r0, r4, #0x234 mov r1, #0x1ec mov r2, #0xcd bl Approach_thunk mov r0, r4 bl func_ov15_02163c88 _02163b1c: ldrh r0, [r4, #0x78] ldr lr, _02163c34 ; =data_02050f54 ldr r2, [r4, #0x234] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [lr, r0] add r0, r4, #0x48 add r1, r4, #0x60 smull ip, r2, r3, r2 adds r3, ip, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r4, #0x60] ldrh ip, [r4, #0x78] ldr r3, [r4, #0x234] mov r2, r0 mov ip, ip, asr #0x4 mov ip, ip, lsl #0x1 add ip, ip, #1 mov ip, ip, lsl #0x1 ldrsh ip, [lr, ip] smull lr, r3, ip, r3 adds ip, lr, #0x800 adc r3, r3, #0 mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [r4, #0x68] bl func_01ff9bc4 _02163b90: mov r0, r4 bl _ZN5Actor12ApplyGravityEv ldr r1, [r4, #0x4c] ldr r0, [r4, #0x64] add r0, r1, r0 str r0, [r4, #0x4c] ldrb r0, [r4, #0x1ac] cmp r0, #0 beq _02163bf4 sub r0, r0, #1 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _02163c48 ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r2, [r4, #0x50] add r1, sp, #8 str r2, [sp, #0x10] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x184] sub r0, r0, r1 str r0, [r4, #0x4c] _02163bf4: ldr r1, _02163c7c ; =data_ov15_0218cc00 ldr r2, _02163c80 ; =data_ov15_0218cc0c add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x184] ldr r1, _02163c84 ; =data_ov15_021867d4 add r2, r3, r2 add r2, r2, r0 mov r0, r4 str r2, [r4, #0x1a0] bl func_ov15_0214e138 add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02162e14 _02163c2c: .word gAdventureFlags _02163c30: .word data_027e0c68 _02163c34: .word data_02050f54 _02163c38: .word data_027e0fe4 _02163c3c: .word data_ov15_02190458 _02163c40: .word data_ov00_020eec68 _02163c44: .word data_027e10a4 _02163c48: .word data_027e0e60 _02163c4c: .word data_027e0f94 _02163c50: .word data_027e0d0c _02163c54: .word data_027e0764 _02163c58: .word data_027e0fe8 _02163c5c: .word 0x544f5044 _02163c60: .word 0x0000019a _02163c64: .word func_ov15_0216199c _02163c68: .word data_027e0e58 _02163c6c: .word data_027e0fac _02163c70: .word data_027e0ff8 _02163c74: .word 0x0000038e _02163c78: .word data_027e0f64 _02163c7c: .word data_ov15_0218cc00 _02163c80: .word data_ov15_0218cc0c _02163c84: .word data_ov15_021867d4 .global func_ov15_02163c88 arm_func_start func_ov15_02163c88 func_ov15_02163c88: ; 0x02163c88 stmdb sp!, {r4, lr} ldr r1, _02163d08 ; =data_027e0d38 mov r4, r0 ldr r1, [r1] ldr r1, [r1, #0x28] ldrb r1, [r1, #0x34] cmp r1, #0 bne _02163cbc ldr r1, _02163d0c ; =data_027e10a4 ldr r1, [r1] ldr r1, [r1, #0x2c] cmp r1, #4 bne _02163cc4 _02163cbc: mov r0, #0 ldmia sp!, {r4, pc} _02163cc4: bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x2000 bge _02163d00 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02163d00 bl func_ov15_0215d260 cmp r0, #0 beq _02163d00 mov r0, r4 mov r1, #7 bl func_ov15_02162688 mov r0, #1 ldmia sp!, {r4, pc} _02163d00: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02163c88 _02163d08: .word data_027e0d38 _02163d0c: .word data_027e10a4 .global func_ov15_02163d10 arm_func_start func_ov15_02163d10 func_ov15_02163d10: ; 0x02163d10 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x3d4 mov r6, r0 ldr r1, [r6, #0x248] add r1, r1, #1 str r1, [r6, #0x248] ldrb r5, [r6, #0x254] cmp r5, #0 beq _02163d38 bl func_ov15_02164c0c _02163d38: cmp r5, #6 addls pc, pc, r5, lsl #2 b _02164388 _02163d44: ; jump table b _02163d60 ; case 0 b _02163e68 ; case 1 b _02163f14 ; case 2 b _02163fe8 ; case 3 b _02164048 ; case 4 b _02164294 ; case 5 b _02164324 ; case 6 _02163d60: ldr r0, _021643a0 ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #0x14] str r2, [sp, #0x18] ldr r2, [r0, #8] ldr r0, _021643a4 ; =data_027e0f64 str r2, [sp, #0x1c] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #0x14 ldr r0, [r0, #4] add r3, r6, #0x298 mov r2, #2 bl func_ov00_02089318 ldrb r0, [r6, #0x3d0] cmp r0, #0 bne _02163dc4 mov r1, #1 mov r0, r6 strb r1, [r6, #0x3d0] bl _ZN5Actor10SetUnk_11cEc b _02164388 _02163dc4: mov r0, #0x10000 ldr r1, [r6, #0x38c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02164388 mov r0, #0 strb r0, [r6, #0x3d0] mov r0, #0x5b strh r0, [r6, #0x7a] ldrb r2, [r6, #0x254] add r0, sp, #0x324 mov r1, r6 add r3, r2, #1 mov r2, #1 strb r3, [r6, #0x254] bl func_ov15_0216463c ldr r0, _021643a8 ; =gAdventureFlags add r1, sp, #0x324 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r6, #0x244] add r0, sp, #0x324 bl func_ov00_0209a508 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02163e4c ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02163e4c: ldr r0, _021643ac ; =data_027e0c68 mvn r3, #0 ldr r2, _021643b0 ; =0x00050015 add r1, r6, #0x374 str r3, [r6, #0x240] bl func_02036ce4 b _02164388 _02163e68: ldr r0, [r6, #0x248] cmp r0, #0x1e blt _02163e90 ldrb r0, [r6, #0x3d0] cmp r0, #0 bne _02163e90 mov r1, #1 mov r0, r6 strb r1, [r6, #0x3d0] bl _ZN5Actor10SetUnk_11cEc _02163e90: ldr r0, [r6, #0x248] cmp r0, #0x3c blt _02164388 ldrb r0, [r6, #0x3d0] cmp r0, #1 bne _02164388 add r0, sp, #0x274 mov r1, r6 mov r2, #2 bl func_ov15_0216463c ldr r0, _021643a8 ; =gAdventureFlags add r1, sp, #0x274 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r6, #0x240] add r0, sp, #0x274 bl func_ov00_0209a508 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02163efc ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02163efc: mvn r0, #0 str r0, [r6, #0x244] ldrb r0, [r6, #0x254] add r0, r0, #1 strb r0, [r6, #0x254] b _02164388 _02163f14: ldrb r0, [r6, #0x11c] cmp r0, #0 moveq r0, #0 streqb r0, [r6, #0x3d0] ldr r0, [r6, #0x248] cmp r0, #0x3c blt _02164388 add r0, sp, #0x1c4 mov r1, r6 mov r2, #3 bl func_ov15_0216463c ldr r0, _021643a8 ; =gAdventureFlags add r1, sp, #0x1c4 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r6, #0x244] add r0, sp, #0x1c4 bl func_ov00_0209a508 ldr r1, [r6, #0x48] ldr r0, _021643a8 ; =gAdventureFlags str r1, [r6, #0x368] ldr r1, [r6, #0x4c] str r1, [r6, #0x36c] ldr r1, [r6, #0x50] str r1, [r6, #0x370] ldr r0, [r0] ldr r1, [r6, #0x240] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02163f9c ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02163f9c: add r0, sp, #0x114 mov r1, r6 mov r2, #4 bl func_ov15_0216463c ldr r0, _021643a8 ; =gAdventureFlags add r1, sp, #0x114 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r6, #0x240] add r0, sp, #0x114 bl func_ov00_0209a508 ldrb r2, [r6, #0x254] mov r0, r6 mov r1, #0 add r2, r2, #1 strb r2, [r6, #0x254] str r1, [r6, #0x138] bl func_ov15_02165128 b _02164388 _02163fe8: mov r0, r6 bl func_ov15_02165128 ldrb r0, [r6, #0x11c] cmp r0, #0 bne _02164388 ldr r0, _021643ac ; =data_027e0c68 ldr r2, _021643b4 ; =0x00050016 add r1, r6, #0x374 bl func_02036ce4 mov r1, #1 mov r0, r6 strb r1, [r6, #0x3d0] bl _ZN5Actor10SetUnk_11cEc ldrb r1, [r6, #0x254] ldr r0, _021643b8 ; =data_027e10a4 add r1, r1, #1 strb r1, [r6, #0x254] ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #4 bne _02164388 mov r1, #0 bl func_ov15_021413d4 b _02164388 _02164048: ldrb r0, [r6, #0x11c] cmp r0, #0 beq _0216406c mov r0, r6 bl func_ov15_02165128 mov r0, #0 add sp, sp, #0x3d4 str r0, [r6, #0x248] ldmia sp!, {r4, r5, r6, r7, pc} _0216406c: ldr r0, _021643bc ; =data_027e0e2c mov r3, #0 strb r3, [r0, #0x16] strb r3, [r6, #0x3d1] ldr r0, [r0, #4] cmp r0, #3 beq _02164388 ldr r0, _021643ac ; =data_027e0c68 ldr r2, _021643c0 ; =0x00050017 add r1, r6, #0x374 strb r3, [r6, #0x3d0] bl func_02036ce4 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021640c4 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _021640c4: ldr r0, [r6, #0x248] cmp r0, #0x1e blt _02164388 add r0, sp, #0x38 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x38 str r1, [sp, #0x54] str r1, [sp, #0x58] bl func_ov00_020c3348 ldr r0, _021643a0 ; =data_027e0f94 add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x34] mov r1, r3 sub r2, r2, #0x1800 mov r0, r6 str r2, [sp, #0x34] bl _ZN5Actor10GetAngleToEP5Vec3p strh r0, [sp, #0x4c] mov r0, #1 strh r0, [sp, #0x38] ldr r4, [r6, #0x48] ldr r3, _021643c4 ; =data_02050f54 str r4, [sp, #0x2c] ldr lr, [r6, #0x4c] ldr r0, _021643c8 ; =data_027e0e60 str lr, [sp, #0x30] ldr ip, [r6, #0x50] ldr r0, [r0] str ip, [sp, #0x34] ldrh r7, [r6, #0x78] add r1, sp, #8 mov r2, #0 mov r7, r7, asr #0x4 mov r7, r7, lsl #0x2 ldrsh r7, [r3, r7] mov r7, r7, lsl #0xc add r7, r7, #0x800 add r7, r4, r7, asr #12 str r7, [sp, #0x2c] ldrh r4, [r6, #0x78] mov r4, r4, asr #0x4 mov r4, r4, lsl #0x1 add r4, r4, #1 mov r4, r4, lsl #0x1 ldrsh r3, [r3, r4] str r7, [sp, #8] str lr, [sp, #0xc] mov r3, r3, lsl #0xc add r3, r3, #0x800 add r3, ip, r3, asr #12 str r3, [sp, #0x34] str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x30] add r0, r6, #0x288 str r0, [sp] ldr r0, _021643cc ; =data_027e0fe8 ldr r1, _021643d0 ; =0x544f5044 ldr r0, [r0] add r2, sp, #0x2c add r3, sp, #0x38 bl func_ov00_020c4048 ldr r1, _021643d4 ; =0x0000019a mov r0, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] add r1, r1, #0xc00 str r1, [sp, #0x28] ldrsh r1, [r6, #0x78] add r0, sp, #0x20 bl func_ov00_020a61ac ldr r1, [sp, #0x20] ldr r0, [r6, #0x48] add r0, r1, r0 str r0, [sp, #0x20] ldr r1, [sp, #0x24] ldr r0, [r6, #0x1a0] ldr r2, [sp, #0x28] add r0, r1, r0 str r0, [sp, #0x24] ldr r1, [r6, #0x50] add r0, r6, #0x78 add r1, r2, r1 str r1, [sp, #0x28] str r0, [sp] ldr r1, _021643d8 ; =func_ov15_0216199c ldr r0, _021643dc ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, sp, #0x20 mov r1, #0x2e mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021643a4 ; =data_027e0f64 mov r1, #0xa ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 add r0, sp, #0x64 mov r1, r6 mov r2, #5 bl func_ov15_0216463c ldr r0, _021643a8 ; =gAdventureFlags add r1, sp, #0x64 ldr r0, [r0] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r6, #0x244] add r0, sp, #0x64 bl func_ov00_0209a508 ldrb r0, [r6, #0x254] add r0, r0, #1 strb r0, [r6, #0x254] b _02164388 _02164294: ldr r0, _021643e0 ; =data_027e0fe4 add r1, r6, #0x288 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 beq _021642cc bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x5000 bgt _02164388 mov r0, #1 strb r0, [r4, #0x11a] sub r0, r0, #2 str r0, [r6, #0x288] str r0, [r6, #0x28c] _021642cc: ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021642f4 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _021642f4: mvn r2, #0 mov r0, r6 mov r1, #1 str r2, [r6, #0x240] bl _ZN5Actor10SetUnk_11cEc ldr r0, _021643ac ; =data_027e0c68 add r1, r6, #0x374 bl func_020368f4 ldrb r0, [r6, #0x254] add r0, r0, #1 strb r0, [r6, #0x254] b _02164388 _02164324: ldrb r0, [r6, #0x11c] cmp r0, #0 bne _02164388 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02164358 ldr r0, _021643a8 ; =gAdventureFlags ldr r1, [r6, #0x244] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02164358: mvn r2, #0 mov r0, r6 mov r1, #4 str r2, [r6, #0x244] bl func_ov15_02162688 ldr r0, _021643b8 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #4 bne _02164388 mov r1, #0 bl func_ov15_021413d4 _02164388: ldrb r0, [r6, #0x254] cmp r0, r5 movne r0, #0 strne r0, [r6, #0x248] add sp, sp, #0x3d4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02163d10 _021643a0: .word data_027e0f94 _021643a4: .word data_027e0f64 _021643a8: .word gAdventureFlags _021643ac: .word data_027e0c68 _021643b0: .word 0x00050015 _021643b4: .word 0x00050016 _021643b8: .word data_027e10a4 _021643bc: .word data_027e0e2c _021643c0: .word 0x00050017 _021643c4: .word data_02050f54 _021643c8: .word data_027e0e60 _021643cc: .word data_027e0fe8 _021643d0: .word 0x544f5044 _021643d4: .word 0x0000019a _021643d8: .word func_ov15_0216199c _021643dc: .word data_027e0e58 _021643e0: .word data_027e0fe4 .global func_ov15_021643e4 arm_func_start func_ov15_021643e4 func_ov15_021643e4: ; 0x021643e4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165128 ldrb r0, [r4, #0x3d0] cmp r0, #0 bne _02164410 mov r1, #1 mov r0, r4 strb r1, [r4, #0x3d0] bl _ZN5Actor10SetUnk_11cEc ldmia sp!, {r4, pc} _02164410: ldrb r0, [r4, #0x11c] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _02164470 ; =data_027e0e2c mov r1, #0 strb r1, [r0, #0x16] strb r1, [r4, #0x3d1] strb r1, [r4, #0x3d0] ldr r0, _02164474 ; =gAdventureFlags ldr r1, [r4, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02164458 ldr r0, _02164474 ; =gAdventureFlags ldr r1, [r4, #0x240] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02164458: mvn r2, #0 mov r0, r4 mov r1, #4 str r2, [r4, #0x240] bl func_ov15_02162688 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021643e4 _02164470: .word data_027e0e2c _02164474: .word gAdventureFlags .global func_ov15_02164478 arm_func_start func_ov15_02164478 func_ov15_02164478: ; 0x02164478 stmdb sp!, {r4, lr} sub sp, sp, #0xa8 ldr r1, _021645ec ; =data_027e0d38 mov r4, r0 ldr r0, [r1] ldr r0, [r0, #0x28] ldrb r0, [r0, #0x34] cmp r0, #0 bne _021644c4 ldr r0, _021645f0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _021644c4 ldr r0, _021645f4 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #4 bne _021644d0 _021644c4: add sp, sp, #0xa8 mov r0, #0 ldmia sp!, {r4, pc} _021644d0: ldr r0, _021645f8 ; =data_027e0f94 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} str r3, [sp] ldrsh r1, [r4, #0x78] add r0, r4, #0x48 mov r2, #0x12000 mov r3, #0x168000 bl func_0202b03c cmp r0, #0 beq _021645e0 ldr r1, _021645fc ; =0x0000ffff mov r0, #0 strh r1, [sp, #0x6c] strh r1, [sp, #0x6e] strh r1, [sp, #0x70] strh r1, [sp, #0x72] strh r0, [sp, #0x74] ldr r1, _021645f8 ; =data_027e0f94 strb r0, [sp, #0x96] strb r0, [sp, #0x97] strb r0, [sp, #0x98] strb r0, [sp, #0x99] strb r0, [sp, #0xa0] strb r0, [sp, #0xa1] strb r0, [sp, #0xa2] strb r0, [sp, #0xa3] strb r0, [sp, #0xa4] strb r0, [sp, #0xa5] ldr r2, [r4, #0x48] ldr ip, [r1] str r2, [sp, #0x30] ldr r3, [r4, #0x4c] ldr r2, [r1, #4] str r3, [sp, #0x34] ldr lr, [r4, #0x50] mov r3, #0x2000 str r2, [sp, #0x28] str lr, [sp, #0x38] str ip, [sp, #0x24] ldr ip, [r1, #8] mov r2, #0x1000 add r1, sp, #0x14 str ip, [sp, #0x2c] str r3, [sp, #0x28] str r3, [sp, #0x34] str r0, [sp, #0x14] str r0, [sp, #0x18] str r0, [sp, #0x1c] str r2, [sp, #0x20] str r1, [sp] ldr r2, [r4, #8] mov r1, #0xd str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] ldr r1, _02164600 ; =data_027e0e60 str r0, [sp, #0x10] ldr r0, [r1] add r1, sp, #0x48 add r2, sp, #0x30 add r3, sp, #0x24 bl func_01ffbe78 cmp r0, #0 addeq sp, sp, #0xa8 moveq r0, #1 ldmeqia sp!, {r4, pc} _021645e0: mov r0, #0 add sp, sp, #0xa8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02164478 _021645ec: .word data_027e0d38 _021645f0: .word gAdventureFlags _021645f4: .word data_027e10a4 _021645f8: .word data_027e0f94 _021645fc: .word 0x0000ffff _02164600: .word data_027e0e60 .global func_ov15_02164604 arm_func_start func_ov15_02164604 func_ov15_02164604: ; 0x02164604 stmdb sp!, {r3, lr} ldr r0, _02164638 ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0x69 beq _02164628 ldr r0, _02164638 ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0x6a bne _02164630 _02164628: mov r0, #1 ldmia sp!, {r3, pc} _02164630: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02164604 _02164638: .word data_ov00_020eec68 .global func_ov15_0216463c arm_func_start func_ov15_0216463c func_ov15_0216463c: ; 0x0216463c stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x74 mov r9, r0 mov r8, r1 mov r7, r2 bl func_ov00_0209a4f4 ldr r0, _02164bd4 ; =data_027e0f64 add r1, sp, #0xc ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #0 str r1, [sp, #0x30] str r1, [sp, #0x28] cmp r7, #5 addls pc, pc, r7, lsl #2 b _02164ab8 _02164680: ; jump table b _02164698 ; case 0 b _0216479c ; case 1 b _02164854 ; case 2 b _021648d4 ; case 3 b _02164908 ; case 4 b _0216499c ; case 5 _02164698: ldr r0, _02164bd8 ; =data_027e0f94 mov r1, #2 ldmia r0, {r4, r5, r6} mov r0, #7 strb r1, [r9, #0xa] strb r0, [r9, #0xb] ldr r0, [sp, #0xc] str r0, [r8, #0x298] ldr r0, [sp, #0x10] str r0, [r8, #0x29c] ldr r0, [sp, #0x14] str r0, [r8, #0x2a0] ldr r0, [sp, #0x18] str r0, [r8, #0x2a4] ldr r0, [sp, #0x1c] str r0, [r8, #0x2a8] ldr r0, [sp, #0x20] str r0, [r8, #0x2ac] ldr r0, [sp, #0x24] str r0, [r8, #0x2b0] ldr r0, [sp, #0x28] str r0, [r8, #0x2b4] ldr r0, [sp, #0x2c] str r0, [r8, #0x2b8] ldr r0, [sp, #0x30] str r0, [r8, #0x2bc] ldr r0, [sp, #0x34] str r0, [r8, #0x2c0] ldr r0, [sp, #0x38] str r0, [r8, #0x2c4] ldr r0, [sp, #0x3c] str r0, [r8, #0x2c8] ldr r0, [sp, #0x40] str r0, [r8, #0x2cc] ldr r0, [sp, #0x44] str r0, [r8, #0x2d0] ldr r0, [sp, #0x48] str r0, [r8, #0x2d4] ldr r0, [sp, #0x4c] str r0, [r8, #0x2d8] ldr r0, [sp, #0x50] str r0, [r8, #0x2dc] ldr r0, [sp, #0x54] str r0, [r8, #0x2e0] ldr r0, [sp, #0x58] str r0, [r8, #0x2e4] ldr r0, [sp, #0x5c] str r0, [r8, #0x2e8] ldr r0, [sp, #0x60] str r0, [r8, #0x2ec] ldr r0, [sp, #0x64] str r0, [r8, #0x2f0] ldr r0, [sp, #0x68] str r0, [r8, #0x2f4] ldrb r0, [sp, #0x6c] strb r0, [r8, #0x2f8] ldrb r0, [sp, #0x6d] strb r0, [r8, #0x2f9] ldrb r0, [sp, #0x6e] strb r0, [r8, #0x2fa] ldrb r0, [sp, #0x6f] strb r0, [r8, #0x2fb] ldrb r0, [sp, #0x70] strb r0, [r8, #0x2fc] b _02164ab8 _0216479c: ldr r0, _02164bdc ; =data_ov15_02190458 ldr r4, [r8, #0x48] ldr r5, [r8, #0x4c] ldr r6, [r8, #0x50] bl func_ov15_021849dc ldr r0, _02164be0 ; =data_ov00_020eec68 mov r1, #0x69 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 mov r0, #3 strb r0, [r9, #0xa] mov r0, #6 strb r0, [r9, #0xb] mov r0, #5 str r0, [sp, #0x10] mov r0, r8 bl _ZN5Actor14DistanceToLinkEv mov r3, r0, asr #0x1f mov r2, #0 ldr r1, _02164be4 ; =0x00000f64 umull ip, r7, r0, r1 mla r7, r0, r2, r7 mla r7, r3, r1, r7 adds r1, ip, #0x800 adc r0, r7, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [sp, #0x24] mov r0, r8 bl _ZN5Actor14GetAngleToLinkEv str r0, [sp, #0x20] mov r0, #0x1000 str r0, [sp, #0x2c] ldr r1, _02164be8 ; =0x000003f7 ldr r0, _02164bec ; =0x00002aab str r1, [sp, #0x1c] str r0, [sp, #0x18] ldr r0, _02164bf0 ; =data_027e0e2c mov r1, #3 ldr r2, _02164bf4 ; =func_ov15_02161a18 mov r3, #0 blx func_ov00_0207bd9c mov r0, #1 strb r0, [r8, #0x3d1] b _02164ab8 _02164854: ldr r4, [r8, #0x48] ldr r5, [r8, #0x4c] ldr r6, [r8, #0x50] mov r0, #4 strb r0, [r9, #0xa] mov r1, #7 mov r0, r8 strb r1, [r9, #0xb] mov r1, #5 str r1, [sp, #0x10] bl _ZN5Actor14DistanceToLinkEv ldr r1, _02164bf8 ; =0x000004b3 mov r2, #0 umull r7, r3, r0, r1 adds r7, r7, #0x800 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adc r0, r3, #0 mov r1, r7, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, r8 str r1, [sp, #0x24] bl _ZN5Actor14GetAngleToLinkEv mvn r2, #0x28 ldr r3, _02164bfc ; =0x00001846 add r1, r2, #0xc60 str r0, [sp, #0x20] str r3, [sp, #0x2c] str r2, [sp, #0x1c] str r1, [sp, #0x18] b _02164ab8 _021648d4: ldr r0, _02164bd4 ; =data_027e0f64 add r1, r8, #0x300 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r4, [r8, #0x48] ldr r5, [r8, #0x4c] ldr r6, [r8, #0x50] mov r0, #0 strb r0, [r9, #0xa] mov r0, #7 strb r0, [r9, #0xb] b _02164ab8 _02164908: ldr r4, [r8, #0x48] ldr r5, [r8, #0x4c] ldr r6, [r8, #0x50] mov r0, #2 strb r0, [r9, #0xa] mov r1, #7 strb r1, [r9, #0xb] mov r2, #5 mov r1, #0x2000 mov r0, r8 str r2, [sp, #0x10] str r1, [sp, #0x24] bl _ZN5Actor14GetAngleToLinkEv mov r1, #0 add r0, r0, #0xa60 add r0, r0, #0xe000 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 mov r0, #0x1000 str r0, [sp, #8] str r2, [sp, #0x20] str r1, [sp] str r1, [sp, #4] ldrsh r1, [r8, #0x78] add r0, sp, #0 bl func_ov00_020a61ac ldr r7, [sp] ldr r2, [sp, #8] ldr r3, _02164c00 ; =0x00001333 ldr r0, _02164c04 ; =0x00000dac mov r1, #0xc8 str r7, [sp, #0x30] str r3, [sp, #0x2c] str r2, [sp, #0x28] str r1, [sp, #0x1c] str r0, [sp, #0x18] b _02164ab8 _0216499c: ldr r0, _02164bd8 ; =data_027e0f94 mov r2, #0x1800 ldmia r0, {r4, r5, r6} mov r0, #2 strb r0, [r9, #0xa] strb r0, [r9, #0xb] mov r0, #5 str r0, [sp, #0x10] ldr r0, [r8, #0x298] ldr r1, _02164c08 ; =0x00001194 str r0, [sp, #0xc] ldr r3, [r8, #0x29c] sub r0, r2, #0x90 str r3, [sp, #0x10] ldr r3, [r8, #0x2a0] str r3, [sp, #0x14] ldr r3, [r8, #0x2a4] str r3, [sp, #0x18] ldr r3, [r8, #0x2a8] str r3, [sp, #0x1c] ldr r3, [r8, #0x2ac] str r3, [sp, #0x20] ldr r3, [r8, #0x2b0] str r3, [sp, #0x24] ldr r3, [r8, #0x2b4] str r3, [sp, #0x28] ldr r3, [r8, #0x2b8] str r3, [sp, #0x2c] ldr r3, [r8, #0x2bc] str r3, [sp, #0x30] ldr r3, [r8, #0x2c0] str r3, [sp, #0x34] ldr r3, [r8, #0x2c4] str r3, [sp, #0x38] ldr r3, [r8, #0x2c8] str r3, [sp, #0x3c] ldr r3, [r8, #0x2cc] str r3, [sp, #0x40] ldr r3, [r8, #0x2d0] str r3, [sp, #0x44] ldr r3, [r8, #0x2d4] str r3, [sp, #0x48] ldr r3, [r8, #0x2d8] str r3, [sp, #0x4c] ldr r3, [r8, #0x2dc] str r3, [sp, #0x50] ldr r3, [r8, #0x2e0] str r3, [sp, #0x54] ldr r3, [r8, #0x2e4] str r3, [sp, #0x58] ldr r3, [r8, #0x2e8] str r3, [sp, #0x5c] ldr r3, [r8, #0x2ec] str r3, [sp, #0x60] ldr r3, [r8, #0x2f0] str r3, [sp, #0x64] ldr r3, [r8, #0x2f4] str r3, [sp, #0x68] ldrb r3, [r8, #0x2f8] strb r3, [sp, #0x6c] ldrb r3, [r8, #0x2f9] strb r3, [sp, #0x6d] ldrb r3, [r8, #0x2fa] strb r3, [sp, #0x6e] ldrb r3, [r8, #0x2fb] strb r3, [sp, #0x6f] ldrb r3, [r8, #0x2fc] strb r3, [sp, #0x70] str r2, [sp, #0x24] str r1, [sp, #0x1c] str r0, [sp, #0x18] _02164ab8: mvn r0, #0 str r0, [r9, #4] mov r0, #0x32 strb r0, [r9, #9] str r4, [r9, #0x20] str r5, [r9, #0x24] str r6, [r9, #0x28] mov r0, #1 strb r0, [r9, #0x14] ldr r1, [sp, #0xc] mov r0, #0x5c str r1, [r9, #0x2c] ldr r1, [sp, #0x10] str r1, [r9, #0x30] ldr r1, [sp, #0x14] str r1, [r9, #0x34] ldr r1, [sp, #0x18] str r1, [r9, #0x38] ldr r1, [sp, #0x1c] str r1, [r9, #0x3c] ldr r1, [sp, #0x20] str r1, [r9, #0x40] ldr r1, [sp, #0x24] str r1, [r9, #0x44] ldr r1, [sp, #0x28] str r1, [r9, #0x48] ldr r1, [sp, #0x2c] str r1, [r9, #0x4c] ldr r1, [sp, #0x30] str r1, [r9, #0x50] ldr r1, [sp, #0x34] str r1, [r9, #0x54] ldr r1, [sp, #0x38] str r1, [r9, #0x58] ldr r1, [sp, #0x3c] str r1, [r9, #0x5c] ldr r1, [sp, #0x40] str r1, [r9, #0x60] ldr r1, [sp, #0x44] str r1, [r9, #0x64] ldr r1, [sp, #0x48] str r1, [r9, #0x68] ldr r1, [sp, #0x4c] str r1, [r9, #0x6c] ldr r1, [sp, #0x50] str r1, [r9, #0x70] ldr r1, [sp, #0x54] str r1, [r9, #0x74] ldr r1, [sp, #0x58] str r1, [r9, #0x78] ldr r1, [sp, #0x5c] str r1, [r9, #0x7c] ldr r1, [sp, #0x60] str r1, [r9, #0x80] ldr r1, [sp, #0x64] str r1, [r9, #0x84] ldr r1, [sp, #0x68] str r1, [r9, #0x88] ldrb r1, [sp, #0x6c] strb r1, [r9, #0x8c] ldrb r1, [sp, #0x6d] strb r1, [r9, #0x8d] ldrb r1, [sp, #0x6e] strb r1, [r9, #0x8e] ldrb r1, [sp, #0x6f] strb r1, [r9, #0x8f] ldrb r1, [sp, #0x70] strb r1, [r9, #0x90] str r0, [r9, #0x94] add sp, sp, #0x74 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0216463c _02164bd4: .word data_027e0f64 _02164bd8: .word data_027e0f94 _02164bdc: .word data_ov15_02190458 _02164be0: .word data_ov00_020eec68 _02164be4: .word 0x00000f64 _02164be8: .word 0x000003f7 _02164bec: .word 0x00002aab _02164bf0: .word data_027e0e2c _02164bf4: .word func_ov15_02161a18 _02164bf8: .word 0x000004b3 _02164bfc: .word 0x00001846 _02164c00: .word 0x00001333 _02164c04: .word 0x00000dac _02164c08: .word 0x00001194 .global func_ov15_02164c0c arm_func_start func_ov15_02164c0c func_ov15_02164c0c: ; 0x02164c0c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 bl _ZN5Actor14GetAngleToLinkEv ldr r1, _02164cbc ; =data_027e0fac add r0, r0, #0x8000 mov r0, r0, lsl #0x10 ldrsh r1, [r1] mov r4, r0, asr #0x10 cmp r4, r1 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} add r5, sp, #4 add r1, sp, #0x14 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r1, _02164cbc ; =data_027e0fac add r0, sp, #0 ldrsh r3, [r1] mov r1, r4 mov r2, #0x16c strh r3, [sp] bl func_0202b154 ldrsh r2, [sp] ldr r0, _02164cc0 ; =data_027e10a4 ldr r1, [sp, #0x14] ldr r0, [r0] orr r1, r1, #2 strh r2, [sp, #0x10] str r1, [sp, #0x14] ldr r1, [r0, #0x2c] cmp r1, #4 mov r1, r5 bne _02164cb0 bl func_ov15_0214138c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02164cb0: bl func_ov15_02141344 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02164c0c _02164cbc: .word data_027e0fac _02164cc0: .word data_027e10a4 .global func_ov15_02164cc4 arm_func_start func_ov15_02164cc4 func_ov15_02164cc4: ; 0x02164cc4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r6, r0 add r4, sp, #0 mov r3, #0 strb r3, [r4] strb r3, [r4, #1] strb r3, [r4, #2] add r0, r6, #0x100 ldrsh r0, [r0, #0x20] mov r5, r1 mov r4, r2 cmp r0, #4 bgt _02164e04 ldr r0, _02164e54 ; =data_ov15_02186794 add r2, sp, #4 mov r1, r4 bl func_01ff88b0 add r0, sp, #4 mov r1, r5 mov r2, r0 bl func_01ff9bc4 ldr r0, _02164e58 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] add r1, r6, #0x258 bl func_ov00_0207c474 mov r0, #1 strb r0, [sp] add r0, r6, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #2 bgt _02164e04 ldr r0, _02164e5c ; =data_ov15_021867a0 add r2, sp, #4 mov r1, r4 bl func_01ff88b0 add r0, sp, #4 mov r1, r5 mov r2, r0 bl func_01ff9bc4 ldr r0, _02164e58 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] add r1, r6, #0x264 bl func_ov00_0207c474 mov r0, #1 strb r0, [sp, #1] add r0, r6, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #1 bgt _02164e04 ldr r0, _02164e60 ; =data_ov15_021867ac add r2, sp, #4 mov r1, r4 bl func_01ff88b0 add r0, sp, #4 mov r1, r5 mov r2, r0 bl func_01ff9bc4 ldr r0, _02164e58 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] add r1, r6, #0x270 bl func_ov00_0207c474 ldr r0, _02164e64 ; =data_ov15_021867b8 add r2, sp, #4 mov r1, r4 bl func_01ff88b0 add r0, sp, #4 mov r1, r5 mov r2, r0 bl func_01ff9bc4 ldr r0, _02164e58 ; =data_027e0e58 add r1, r6, #0x27c ldr r0, [r0] add r2, sp, #4 bl func_ov00_0207c474 mov r0, #1 strb r0, [sp, #2] _02164e04: ldrb r0, [sp] cmp r0, #0 bne _02164e18 add r0, r6, #0x258 bl func_ov00_020b7e6c _02164e18: ldrb r0, [sp, #1] cmp r0, #0 bne _02164e2c add r0, r6, #0x264 bl func_ov00_020b7e6c _02164e2c: ldrb r0, [sp, #2] cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r4, r5, r6, pc} add r0, r6, #0x270 bl func_ov00_020b7e6c add r0, r6, #0x27c bl func_ov00_020b7e6c add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02164cc4 _02164e54: .word data_ov15_02186794 _02164e58: .word data_027e0e58 _02164e5c: .word data_ov15_021867a0 _02164e60: .word data_ov15_021867ac _02164e64: .word data_ov15_021867b8 .global func_ov15_02164e68 arm_func_start func_ov15_02164e68 func_ov15_02164e68: ; 0x02164e68 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrb r0, [r4, #0x1ab] cmp r0, #0 moveq r0, #1 addeq sp, sp, #0x3c streqb r0, [r4, #0x1ab] ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x130] cmp r0, #0 ldrne r0, _02164f90 ; =data_027e077c ldrne r0, [r0] cmpne r0, #0x3b addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} mov r0, #0x1000 str r0, [sp, #0x38] str r0, [sp, #0x34] str r0, [sp, #0x30] add r0, r4, #0x100 ldrh r1, [r0, #0x68] ldr r3, _02164f94 ; =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_01ff8230 add r0, r4, #0x100 ldrsh r1, [r0, #0x6a] add r0, sp, #0xc mov r1, r1, lsl #0x1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0xc bl func_ov15_0215cfc8 add r0, r4, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [r4, #0x1a0] mov r1, r3 str r2, [sp, #4] mov r0, r4 add r2, sp, #0xc bl func_ov15_02164cc4 mov r0, #0x4000 ldr r1, [r4, #0x1a0] rsb r0, r0, #0 cmp r1, r0 addlt sp, sp, #0x3c ldmltia sp!, {r3, r4, pc} add r0, r4, #0x1d8 ldr r4, [r0] add r1, sp, #0x30 ldr r4, [r4, #0x10] add r2, sp, #0xc add r3, sp, #0 blx r4 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02164e68 _02164f90: .word data_027e077c _02164f94: .word data_02050f54 .global func_ov15_02164f98 arm_func_start func_ov15_02164f98 func_ov15_02164f98: ; 0x02164f98 stmdb sp!, {r4, lr} sub sp, sp, #0x38 mov ip, r0 ldrh r4, [ip, #0x7a] ldr r0, _0216506c ; =0x0000ffff cmp r4, r0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, pc} ldrh r0, [r1] tst r0, #4 bne _02164fd0 tst r0, #8 addeq sp, sp, #0x38 ldmeqia sp!, {r4, pc} _02164fd0: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _02165070 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, ip, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, pc} add r0, sp, #0x18 bl func_01ffbe34 ldr r1, [sp, #0x14] mov r0, #1 str r0, [sp, #0x1c] cmp r1, #0xc addle sp, sp, #0x38 ldmleia sp!, {r4, pc} cmp r1, #0xf4 addgt sp, sp, #0x38 ldmgtia sp!, {r4, pc} ldr r2, [sp, #0x10] cmp r2, #0xc addle sp, sp, #0x38 ldmleia sp!, {r4, pc} cmp r2, #0xb4 addgt sp, sp, #0x38 ldmgtia sp!, {r4, pc} ldr r0, _02165074 ; =data_02063e4c add ip, sp, #0x18 mov r3, r4 str ip, [sp] bl func_020313c8 add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02164f98 _0216506c: .word 0x0000ffff _02165070: .word data_027e0d3c _02165074: .word data_02063e4c .global func_ov15_02165078 arm_func_start func_ov15_02165078 func_ov15_02165078: ; 0x02165078 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #4 cmpne r0, #6 bne _021650ac ldr r0, _02165118 ; =data_ov15_02190458 mov r1, #0x1e bl func_ov15_021849c0 mov r0, r4 mov r1, #3 bl func_ov15_02162688 _021650ac: mov r0, #2 strb r0, [r4, #0x1ac] ldr r1, [r4, #0x48] ldr r0, _0216511c ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r2, [r4, #0x184] ldr r1, _02165120 ; =data_ov15_0218cc08 sub r0, r0, r2 str r0, [r4, #0x4c] ldr r2, _02165124 ; =data_ov15_0218cc04 add r0, r4, #0x48 bl func_ov15_0215cbb0 ldr r2, [r4, #0x4c] ldr r1, [r4, #0x184] add r1, r2, r1 add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02165078 _02165118: .word data_ov15_02190458 _0216511c: .word data_027e0e60 _02165120: .word data_ov15_0218cc08 _02165124: .word data_ov15_0218cc04 .global func_ov15_02165128 arm_func_start func_ov15_02165128 func_ov15_02165128: ; 0x02165128 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 ldr r0, [r5, #0x138] rsb r0, r0, #0x1e movs r4, r0, lsl #0xc bmi _02165214 cmp r4, #0x1000 ldr r0, _0216526c ; =0x000016a2 ble _02165168 ldr r2, [r5, #0x318] mov r1, r4 sub r0, r0, r2 bl Divide ldr r1, [r5, #0x318] add r0, r1, r0 _02165168: str r0, [r5, #0x318] mov r0, r5 bl _ZN5Actor14GetAngleToLinkEv cmp r4, #0x1000 ble _02165194 ldr r2, [r5, #0x314] mov r1, r4 sub r0, r0, r2 bl Divide ldr r1, [r5, #0x314] add r0, r1, r0 _02165194: str r0, [r5, #0x314] cmp r4, #0x1000 ldr r0, _02165270 ; =0x00001bd0 ble _021651bc ldr r2, [r5, #0x320] mov r1, r4 sub r0, r0, r2 bl Divide ldr r1, [r5, #0x320] add r0, r1, r0 _021651bc: str r0, [r5, #0x320] cmp r4, #0x1000 movle r0, #0x29 ble _021651e4 ldr r0, [r5, #0x310] mov r1, r4 rsb r0, r0, #0x29 bl Divide ldr r1, [r5, #0x310] add r0, r1, r0 _021651e4: str r0, [r5, #0x310] ldr r0, _02165274 ; =0x00000b43 cmp r4, #0x1000 strle r0, [r5, #0x30c] ble _02165214 ldr r2, [r5, #0x30c] mov r1, r4 sub r0, r0, r2 bl Divide ldr r1, [r5, #0x30c] add r0, r1, r0 str r0, [r5, #0x30c] _02165214: mov r2, r4 add r0, r5, #0x368 add r1, r5, #0x48 bl func_0202b308 ldr r0, [r5, #0x368] mov r2, #0 str r0, [sp, #8] ldr r1, [r5, #0x36c] ldr r0, _02165278 ; =data_027e0f64 str r1, [sp, #0xc] ldr r3, [r5, #0x370] add r1, sp, #8 str r3, [sp, #0x10] str r2, [sp] str r2, [sp, #4] ldr r0, [r0] add r3, r5, #0x300 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02165128 _0216526c: .word 0x000016a2 _02165270: .word 0x00001bd0 _02165274: .word 0x00000b43 _02165278: .word data_027e0f64 .global func_ov15_0216527c arm_func_start func_ov15_0216527c func_ov15_0216527c: ; 0x0216527c bx lr arm_func_end func_ov15_0216527c .global func_ov15_02165280 arm_func_start func_ov15_02165280 func_ov15_02165280: ; 0x02165280 cmp r0, #0 ldreq r0, _02165294 ; =data_027e0e2c moveq r1, #1 streqb r1, [r0, #0x16] bx lr .align 2, 0 arm_func_end func_ov15_02165280 _02165294: .word data_027e0e2c .global func_ov15_02165298 arm_func_start func_ov15_02165298 func_ov15_02165298: ; 0x02165298 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02126128 ldr r1, _021652cc ; =data_ov15_0218cd00 mvn r0, #0 str r1, [r4] str r0, [r4, #0xd8] mov r1, #0 str r1, [r4, #0xdc] strb r1, [r4, #0xe0] mov r0, r4 str r1, [r4, #0xe4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02165298 _021652cc: .word data_ov15_0218cd00 .global func_ov15_021652d0 arm_func_start func_ov15_021652d0 func_ov15_021652d0: ; 0x021652d0 stmdb sp!, {r4, lr} ldr r1, _02165308 ; =data_ov15_0218cd00 mov r4, r0 ldr r0, _0216530c ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7d74 mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021652d0 _02165308: .word data_ov15_0218cd00 _0216530c: .word data_027e0e58 .global func_ov15_02165310 arm_func_start func_ov15_02165310 func_ov15_02165310: ; 0x02165310 stmdb sp!, {r4, lr} ldr r1, _02165350 ; =data_ov15_0218cd00 mov r4, r0 ldr r0, _02165354 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7d74 mov r0, r4 bl func_ov15_02126234 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02165310 _02165350: .word data_ov15_0218cd00 _02165354: .word data_027e0e58 .global func_ov15_02165358 arm_func_start func_ov15_02165358 func_ov15_02165358: ; 0x02165358 stmdb sp!, {r4, lr} ldr r1, _02165390 ; =data_ov15_0218cd00 mov r4, r0 ldr r0, _02165394 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xe4 bl func_ov00_0207c444 add r0, r4, #0xe4 bl func_ov00_020b7d74 mov r0, r4 bl func_ov15_02126234 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02165358 _02165390: .word data_ov15_0218cd00 _02165394: .word data_027e0e58 .global func_ov15_02165398 arm_func_start func_ov15_02165398 func_ov15_02165398: ; 0x02165398 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0212627c ldr r1, [r4, #4] mov r0, r4 bic r1, r1, #0x10 str r1, [r4, #4] bl func_ov00_0208c214 ldmia sp!, {r4, pc} arm_func_end func_ov15_02165398 .global func_ov15_021653bc arm_func_start func_ov15_021653bc func_ov15_021653bc: ; 0x021653bc stmdb sp!, {r4, r5, r6, lr} ldr r2, [r0] ldr r1, _0216543c ; =data_027e0f7c ldr r2, [r2, #0x8c] ldr r5, [r1] mov r6, r0 mov r4, #0 blx r2 mov r1, r0 mov r0, r5 bl func_ov00_0209d8d8 cmp r0, #0 ldrneb r4, [r0, #0x14] mov r0, r6 mov r1, #0 bl func_ov00_0208b9e4 cmp r0, #0 cmpeq r4, #0 mov r0, r6 beq _02165424 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, #1 blx r3 ldmia sp!, {r4, r5, r6, pc} _02165424: ldr r3, [r0] mov r1, #1 ldr r3, [r3, #0x80] mov r2, r1 blx r3 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021653bc _0216543c: .word data_027e0f7c .global func_ov15_02165440 arm_func_start func_ov15_02165440 func_ov15_02165440: ; 0x02165440 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x24 mov r5, r0 mov r4, r1 bl func_ov15_021262d8 mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [r5, #8] cmp r0, #0xa addls pc, pc, r0, lsl #2 b _021659f0 _02165484: ; jump table b _021659f0 ; case 0 b _021654b0 ; case 1 b _0216569c ; case 2 b _02165700 ; case 3 b _02165748 ; case 4 b _021657b0 ; case 5 b _021657f8 ; case 6 b _02165840 ; case 7 b _021658b4 ; case 8 b _02165938 ; case 9 b _021659bc ; case 10 _021654b0: ldr r0, _021659f8 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} mov r0, r5 bl func_ov00_0208c3a4 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _021659fc ; =data_027e071c bl func_0202d7ac cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} bl func_ov15_0215b780 cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, _02165a00 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #1 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, pc} ldrb r1, [r0, #0x4d4] cmp r1, #0 ldreqb r1, [r0, #0x4d5] cmpeq r1, #0 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} bl func_ov15_0213a54c cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, [r5, #0xa8] cmp r0, #0x23000 bgt _02165564 cmp r4, #0 ldrneb r0, [r5, #0x95] ldreqb r0, [r5, #0x94] cmp r0, #0 bne _02165574 _02165564: mov r0, #0 add sp, sp, #0x24 str r0, [r5, #0xdc] ldmia sp!, {r3, r4, r5, r6, pc} _02165574: ldr r1, _02165a04 ; =data_027e0f64 mov r0, r5 ldr r1, [r1] ldr r1, [r1, #4] add r1, r1, #0x200 ldrsh r4, [r1, #0x26] bl func_ov00_0208b930 subs r1, r4, r0 ldr r0, _02165a08 ; =0x000011c7 rsbmi r1, r1, #0 cmp r1, r0 movgt r0, #0 addgt sp, sp, #0x24 strgt r0, [r5, #0xdc] ldmgtia sp!, {r3, r4, r5, r6, pc} ldr r0, _02165a0c ; =data_027e0f94 ldr r3, _02165a10 ; =data_ov15_0218f8bc ldr r6, [r5, #0x20] ldr lr, [r5, #0x18] ldr r4, [r0] ldr r2, [r0, #4] mov ip, #0x2000 ldr r1, [r3] str lr, [sp, #0x18] str ip, [sp, #0x1c] str r6, [sp, #0x20] str r4, [sp, #0xc] str r2, [sp, #0x10] ldr r0, [r0, #8] tst r1, #1 str r0, [sp, #0x14] str ip, [sp, #0x10] bne _02165620 ldr r4, _02165a14 ; =data_ov15_0218cce0 ldr r0, _02165a18 ; =data_ov15_0218f8cc ldr r1, _02165a1c ; =func_ov15_02165a34 ldr r2, _02165a20 ; =data_ov15_0218f8c0 str r4, [r3, #0x10] bl __register_global_object ldr r0, _02165a10 ; =data_ov15_0218f8bc ldr r1, [r0] orr r1, r1, #1 str r1, [r0] _02165620: mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r1, _02165a18 ; =data_ov15_0218f8cc ldr r0, _02165a24 ; =data_027e0e60 str r1, [sp, #8] ldr r0, [r0] add r1, sp, #0x18 add r2, sp, #0xc mov r3, #0x800 bl func_01ffe1cc cmp r0, #0 movne r0, #0 addne sp, sp, #0x24 strne r0, [r5, #0xdc] ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, [r5, #0xdc] add r0, r0, #1 cmp r0, #0x1e addlt sp, sp, #0x24 str r0, [r5, #0xdc] ldmltia sp!, {r3, r4, r5, r6, pc} mov r0, r5 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _0216569c: ldr r0, _02165a28 ; =gAdventureFlags ldr r1, [r5, #0xd8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} mov r0, r5 ldr r3, [r0] mov r1, #3 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _02165700: ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} mov r0, r5 ldr r3, [r0] mov r1, #4 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _02165748: ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} ldr r0, [r5, #0xa8] mov r2, #0 cmp r0, #0xa000 mov r0, r5 ldr r3, [r0] bgt _0216579c ldr r3, [r3, #0x80] mov r1, #7 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _0216579c: ldr r3, [r3, #0x80] mov r1, #5 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _021657b0: ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} mov r0, r5 ldr r3, [r0] mov r1, #6 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _021657f8: ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} mov r0, r5 ldr r3, [r0] mov r1, #7 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _02165840: ldr r0, _02165a30 ; =data_027e0c68 ldr r1, [r0, #0x40] cmp r1, #0 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r1, [r0, #0x44] cmp r1, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [r0, #0x18] mov r0, #0x10000 ldr r1, [r1, #0x18] rsb r0, r0, #0 and r1, r1, r0 cmp r1, #0x1000000 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r2, _02165a28 ; =gAdventureFlags mov r1, r0, asr #0x10 ldr r0, [r2] bl _ZN14AdventureFlags18func_ov00_020980bcEi mov r0, r5 ldr r3, [r0] mov r1, #8 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _021658b4: ldr r0, [r5, #0xa8] cmp r0, #0xa000 bgt _021658f0 ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] sub r1, r1, #0x96 cmp r0, r1 bhs _02165918 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _021658f0: ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} _02165918: mov r0, r5 ldr r3, [r0] mov r1, #9 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _02165938: ldr r0, [r5, #0xa8] cmp r0, #0xa000 bgt _02165974 ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] sub r1, r1, #0x96 cmp r0, r1 bhs _0216599c add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _02165974: ldr r0, _02165a28 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02098058Ev ldr r2, [r5, #8] ldr r1, _02165a2c ; =data_ov15_021867d8 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] cmp r0, r1 addlo sp, sp, #0x24 ldmloia sp!, {r3, r4, r5, r6, pc} _0216599c: mov r0, r5 ldr r3, [r0] mov r1, #0xa ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} _021659bc: ldr r0, _02165a28 ; =gAdventureFlags ldr r1, [r5, #0xd8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bacEv cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r5 ldr r3, [r0] mov r1, #0 ldr r3, [r3, #0x80] mov r2, r1 blx r3 _021659f0: add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02165440 _021659f8: .word data_027e0d3c _021659fc: .word data_027e071c _02165a00: .word data_027e10a4 _02165a04: .word data_027e0f64 _02165a08: .word 0x000011c7 _02165a0c: .word data_027e0f94 _02165a10: .word data_ov15_0218f8bc _02165a14: .word data_ov15_0218cce0 _02165a18: .word data_ov15_0218f8cc _02165a1c: .word func_ov15_02165a34 _02165a20: .word data_ov15_0218f8c0 _02165a24: .word data_027e0e60 _02165a28: .word gAdventureFlags _02165a2c: .word data_ov15_021867d8 _02165a30: .word data_027e0c68 .global func_ov15_02165a34 arm_func_start func_ov15_02165a34 func_ov15_02165a34: ; 0x02165a34 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02165a34 .global func_ov15_02165a48 arm_func_start func_ov15_02165a48 func_ov15_02165a48: ; 0x02165a48 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x22c mov r4, r0 str r1, [r4, #8] mov r3, #0 str r3, [r4, #0xdc] ldr r1, [r4, #8] cmp r1, #0xa addls pc, pc, r1, lsl #2 b _02165e14 _02165a70: ; jump table b _02165a9c ; case 0 b _02165ac8 ; case 1 b _02165af4 ; case 2 b _02165b60 ; case 3 b _02165b90 ; case 4 b _02165c5c ; case 5 b _02165c70 ; case 6 b _02165d2c ; case 7 b _02165d70 ; case 8 b _02165da0 ; case 9 b _02165e0c ; case 10 _02165a9c: sub r1, r3, #1 str r1, [r4, #0xd8] mov r1, #1 bl func_ov15_02165ee0 ldr r1, [r4, #4] mov r0, r4 orr r2, r1, #0x10 mov r1, #1 str r2, [r4, #4] bl func_ov15_02165e94 b _02165e14 _02165ac8: sub r2, r3, #1 mov r1, r3 str r2, [r4, #0xd8] bl func_ov15_02165ee0 ldr r1, [r4, #4] mov r0, r4 bic r2, r1, #0x10 mov r1, #0 str r2, [r4, #4] bl func_ov15_02165e94 b _02165e14 _02165af4: add r0, sp, #0x17c bl func_ov00_0209a4f4 ldr r0, [r4, #0xa8] cmp r0, #0xa000 ldrgt r0, _02165e20 ; =data_ov15_021867d8 ldrgth r0, [r0, #0x14] strgt r0, [sp, #0x180] bgt _02165b24 ldr r0, _02165e20 ; =data_ov15_021867d8 ldrh r0, [r0, #0x14] sub r0, r0, #0x96 str r0, [sp, #0x180] _02165b24: ldr r0, _02165e24 ; =gAdventureFlags mov r3, #0 mov r5, #0x1e mov r2, #6 ldr r0, [r0] add r1, sp, #0x17c strb r5, [sp, #0x185] strb r3, [sp, #0x186] strb r2, [sp, #0x187] strb r3, [sp, #0x192] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0xd8] add r0, sp, #0x17c bl func_ov00_0209a508 b _02165e14 _02165b60: ldr r0, _02165e28 ; =data_ov00_020eec9c mov r1, #0x37 bl func_ov00_020d77e4 mov r1, #4 ldr r0, _02165e2c ; =data_027e0e58 str r1, [sp] ldr r0, [r0] ldr r3, _02165e30 ; =data_027e0f94 add r1, r4, #0xe4 mov r2, #0x57 bl func_ov00_0207c1f8 b _02165e14 _02165b90: ldr r0, _02165e2c ; =data_027e0e58 add r1, r4, #0xe4 ldr r0, [r0] bl func_ov00_0207c444 ldr r0, _02165e34 ; =data_027e0f64 add r1, sp, #0x114 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, _02165e34 ; =data_027e0f64 add r5, sp, #0xc ldr r1, [r0] add r0, sp, #0x2c ldr lr, [r1, #4] add r1, sp, #0x38 ldr r3, [lr, #0x260] add r2, sp, #0x10 str r3, [sp, #0x38] ldr ip, [lr, #0x264] add r3, sp, #0xe str ip, [sp, #0x3c] ldr ip, [lr, #0x268] str ip, [sp, #0x40] ldr ip, [r4, #0x1c] ldr lr, [r4, #0x20] ldr r4, [r4, #0x18] add ip, ip, #0x3000 str r4, [sp, #0x2c] str ip, [sp, #0x30] str lr, [sp, #0x34] str r5, [sp] bl func_0202b734 ldrsh r1, [sp, #0xe] ldrsh r0, [sp, #0xc] ldr r2, [sp, #0x10] str r1, [sp, #0x124] str r2, [sp, #0x12c] str r0, [sp, #0x128] mvn r0, #0 str r0, [sp] mov r1, #0 str r1, [sp, #4] str r1, [sp, #8] ldr r0, _02165e34 ; =data_027e0f64 add r2, sp, #0x2c ldr r0, [r0] mov r1, #0xf ldr r0, [r0, #4] add r3, sp, #0x114 bl func_ov00_020888e8 b _02165e14 _02165c5c: ldr r0, _02165e38 ; =data_027e0e2c ldr r2, _02165e3c ; =func_ov15_02165280 mov r1, #3 blx func_ov00_0207bd9c b _02165e14 _02165c70: ldr r0, _02165e34 ; =data_027e0f64 add r1, sp, #0xac ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r1, [r4, #0xa8] ldr r0, _02165e40 ; =0x00000ccd rsb r1, r1, #0x23000 umull ip, r3, r1, r0 mov r2, #0 mla r3, r1, r2, r3 mov r1, r1, asr #0x1f mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r0, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r0, lsl #20 add ip, r3, #0xf000 ldr r0, _02165e44 ; =0x0b60b60b mov r1, #0xb6 umull r5, lr, ip, r0 mla lr, ip, r1, lr mov r3, ip, asr #0x1f mla lr, r3, r0, lr adds r5, r5, #0 adc r0, lr, #0x800 mov r0, r0, lsl #0x4 mov r0, r0, lsr #0x10 str r0, [sp, #0xb8] ldr r0, [r4, #0x1c] ldr lr, [r4, #0x20] ldr r3, [r4, #0x18] add ip, r0, #0x3000 sub r0, r1, #0xb7 str r3, [sp, #0x20] str ip, [sp, #0x24] str lr, [sp, #0x28] stmia sp, {r0, r2} str r2, [sp, #8] ldr r0, _02165e34 ; =data_027e0f64 add r2, sp, #0x20 ldr r0, [r0] add r3, sp, #0xac ldr r0, [r0, #4] mov r1, #0xf bl func_ov00_020888e8 b _02165e14 _02165d2c: ldr r0, [r4, #0xa8] cmp r0, #0xa000 bgt _02165d4c ldr r0, _02165e48 ; =data_027e0c68 ldr r1, _02165e4c ; =0x0005001a mov r2, r3 bl func_020370d0 b _02165d5c _02165d4c: ldr r0, _02165e48 ; =data_027e0c68 ldr r1, _02165e50 ; =0x00050018 mov r2, r3 bl func_020370d0 _02165d5c: ldr r0, _02165e24 ; =gAdventureFlags mov r1, #1 ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_020980bcEi b _02165e14 _02165d70: ldr r1, [r4, #4] ldr r0, _02165e54 ; =data_027e0e60 orr r1, r1, #0x10 str r1, [r4, #4] ldr r0, [r0] mov r2, r3 add r1, r4, #0x18 bl func_ov00_02084a5c mov r0, r4 mov r1, #1 bl func_ov15_02165e94 b _02165e14 _02165da0: ldr r0, _02165e34 ; =data_027e0f64 add r1, sp, #0x44 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r1, _02165e58 ; =0x00001770 mvn r0, #0 str r1, [sp, #0x50] ldr r2, [r4, #0x1c] ldr r3, [r4, #0x20] ldr r1, [r4, #0x18] add r2, r2, #0x3000 str r1, [sp, #0x14] str r2, [sp, #0x18] str r3, [sp, #0x1c] str r0, [sp] mov r1, #0 str r1, [sp, #4] str r1, [sp, #8] ldr r0, _02165e34 ; =data_027e0f64 add r2, sp, #0x14 ldr r0, [r0] add r3, sp, #0x44 ldr r0, [r0, #4] mov r1, #0xf bl func_ov00_020888e8 b _02165e14 _02165e0c: ldr r0, _02165e38 ; =data_027e0e2c strb r3, [r0, #0x16] _02165e14: mov r0, #1 add sp, sp, #0x22c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02165a48 _02165e20: .word data_ov15_021867d8 _02165e24: .word gAdventureFlags _02165e28: .word data_ov00_020eec9c _02165e2c: .word data_027e0e58 _02165e30: .word data_027e0f94 _02165e34: .word data_027e0f64 _02165e38: .word data_027e0e2c _02165e3c: .word func_ov15_02165280 _02165e40: .word 0x00000ccd _02165e44: .word 0x0b60b60b _02165e48: .word data_027e0c68 _02165e4c: .word 0x0005001a _02165e50: .word 0x00050018 _02165e54: .word data_027e0e60 _02165e58: .word 0x00001770 .global func_ov15_02165e5c arm_func_start func_ov15_02165e5c func_ov15_02165e5c: ; 0x02165e5c stmdb sp!, {r3, lr} ldr r3, [r0, #4] mov r2, r1 tst r3, #0x10 ldmeqia sp!, {r3, pc} mov r1, #0x43 mov ip, #1 sub r3, r1, #0x44 str ip, [sp] bl func_ov00_0208bf28 ldmia sp!, {r3, pc} arm_func_end func_ov15_02165e5c .global func_ov15_02165e88 arm_func_start func_ov15_02165e88 func_ov15_02165e88: ; 0x02165e88 ldr ip, _02165e90 ; =func_ov15_0212632c bx ip .align 2, 0 arm_func_end func_ov15_02165e88 _02165e90: .word func_ov15_0212632c .global func_ov15_02165e94 arm_func_start func_ov15_02165e94 func_ov15_02165e94: ; 0x02165e94 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 strb r5, [r6, #0xe0] ldr r2, [r0] ldr r1, _02165edc ; =data_027e0f7c ldr r2, [r2, #0x8c] ldr r4, [r1] blx r2 mov r1, r0 mov r0, r4 mov r2, r5 bl func_ov00_0209d8f4 mov r0, r6 mov r2, r5 mov r1, #0 bl func_ov00_0208ba08 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02165e94 _02165edc: .word data_027e0f7c .global func_ov15_02165ee0 arm_func_start func_ov15_02165ee0 func_ov15_02165ee0: ; 0x02165ee0 stmdb sp!, {r3, r4, r5, lr} ldrh r4, [r0, #0x2a] ldr r0, _02165f4c ; =data_027e0f6c mov r5, r1 ldr r1, [r0] add r0, sp, #0 mov r2, r4 bl func_ov00_02093a4c cmp r5, #0 add r2, sp, #0 beq _02165f2c ldr r0, _02165f4c ; =data_027e0f6c ldr r1, [sp] ldr r0, [r0] bic r3, r1, #0x2000000 mov r1, r4 str r3, [sp] bl func_ov00_02093a3c ldmia sp!, {r3, r4, r5, pc} _02165f2c: ldr r0, _02165f4c ; =data_027e0f6c ldr r1, [sp] ldr r0, [r0] orr r3, r1, #0x2000000 mov r1, r4 str r3, [sp] bl func_ov00_02093a3c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02165ee0 _02165f4c: .word data_027e0f6c .global func_ov15_02165f50 arm_func_start func_ov15_02165f50 func_ov15_02165f50: ; 0x02165f50 stmdb sp!, {r3, lr} ldrh r2, [r1] ldr r0, _02165f94 ; =0x0000ffff cmp r2, r0 beq _02165f8c ldr r1, _02165f98 ; =data_027e0f6c add r0, sp, #0 ldr r1, [r1] bl func_ov00_02093a1c ldr r0, [sp] mov r0, r0, lsr #0x16 and r0, r0, #1 cmp r0, #1 moveq r0, #1 ldmeqia sp!, {r3, pc} _02165f8c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02165f50 _02165f94: .word 0x0000ffff _02165f98: .word data_027e0f6c .global func_ov15_02165f9c arm_func_start func_ov15_02165f9c func_ov15_02165f9c: ; 0x02165f9c mov r0, #0 bx lr arm_func_end func_ov15_02165f9c .global func_ov15_02165fa4 arm_func_start func_ov15_02165fa4 func_ov15_02165fa4: ; 0x02165fa4 mov r0, #0 bx lr arm_func_end func_ov15_02165fa4 .global func_ov15_02165fac arm_func_start func_ov15_02165fac func_ov15_02165fac: ; 0x02165fac stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02165fac .global func_ov15_02165fc8 arm_func_start func_ov15_02165fc8 func_ov15_02165fc8: ; 0x02165fc8 stmdb sp!, {r3, lr} ldr r1, _02165ff4 ; =data_027e0fe0 mov r0, #0x268 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02166024 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02165fc8 _02165ff4: .word data_027e0fe0 .global func_ov15_02165ff8 arm_func_start func_ov15_02165ff8 func_ov15_02165ff8: ; 0x02165ff8 stmdb sp!, {r4, lr} ldr r3, _0216601c ; =data_ov15_02186804 mov r2, #0xc4 mov r4, r0 bl func_ov00_020c607c ldr r1, _02166020 ; =data_ov15_0218ce6c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02165ff8 _0216601c: .word data_ov15_02186804 _02166020: .word data_ov15_0218ce6c .global func_ov15_02166024 arm_func_start func_ov15_02166024 func_ov15_02166024: ; 0x02166024 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _02166068 ; =data_ov15_0218cda8 mov r1, r4 add r0, r4, #0x15c str r2, [r4] bl func_ov15_02165ff8 mov r1, #0 strb r1, [r4, #0x258] strb r1, [r4, #0x259] str r1, [r4, #0x25c] sub r0, r1, #1 str r0, [r4, #0x260] mov r0, r4 str r1, [r4, #0x264] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02166024 _02166068: .word data_ov15_0218cda8 .global func_ov15_0216606c arm_func_start func_ov15_0216606c func_ov15_0216606c: ; 0x0216606c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x25c bl func_ov00_020b7e6c add r0, r4, #0x25c bl func_ov00_020b7df0 add r0, r4, #0x1d8 blx func_ov00_020a9b6c add r0, r4, #0x17c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216606c .global func_ov15_021660a4 arm_func_start func_ov15_021660a4 func_ov15_021660a4: ; 0x021660a4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x25c bl func_ov00_020b7e6c add r0, r4, #0x25c bl func_ov00_020b7df0 add r0, r4, #0x1d8 blx func_ov00_020a9b6c add r0, r4, #0x17c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021660a4 .global func_ov15_021660e4 arm_func_start func_ov15_021660e4 func_ov15_021660e4: ; 0x021660e4 stmdb sp!, {r4, r5, r6, lr} ldr r2, _021661a0 ; =data_027e0d0c mov r4, r0 ldr r0, [r2] ldr r6, _021661a4 ; =0x00000266 str r0, [r4, #0x7c] ldr r0, [r2, #4] mov r1, #0 str r0, [r4, #0x80] ldr r0, [r2, #8] add lr, r6, #0x1000 str r0, [r4, #0x84] str r6, [r4, #0x88] ldr r0, [r4, #0x7c] mov ip, #4 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] mov r3, #2 str r0, [r4, #0x90] ldr r0, [r4, #0x84] mov r2, #0x90 str r0, [r4, #0x94] ldr r5, [r4, #0x88] add r0, r4, #0x15c str r5, [r4, #0x98] str r1, [r4, #0xa8] str r6, [r4, #0xac] str r1, [r4, #0xb0] str lr, [r4, #0xb4] ldr lr, [r4, #0x48] str lr, [r4, #0x54] ldr lr, [r4, #0x4c] str lr, [r4, #0x58] ldr lr, [r4, #0x50] str lr, [r4, #0x5c] strb ip, [r4, #0x124] str r3, [r4, #0x12c] str r2, [r4, #0x260] str r3, [r4, #0x264] bl func_ov00_020c5d74 ldr r0, _021661a8 ; =data_027e0ffc add r1, r6, #0x24 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021660e4 _021661a0: .word data_027e0d0c _021661a4: .word 0x00000266 _021661a8: .word data_027e0ffc .global func_ov15_021661ac arm_func_start func_ov15_021661ac func_ov15_021661ac: ; 0x021661ac stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor14GetAngleToLinkEv ldrsh r2, [r4, #0x78] mov r1, r0 sub r0, r1, r2 mov r0, r0, lsl #0x10 movs r2, r0, asr #0x10 rsbmi r0, r2, #0 movmi r0, r0, lsl #0x10 movmi r2, r0, asr #0x10 ldr r0, _02166290 ; =0x00002aab cmp r2, r0 bge _02166208 ldrh r0, [r4, #0x20] cmp r0, #1 beq _021661fc add r0, r4, #0x78 mov r2, #0x16c bl func_0202b154 _021661fc: mov r0, #1 strb r0, [r4, #0x258] b _02166210 _02166208: mov r0, #0 strb r0, [r4, #0x258] _02166210: ldrh r1, [r4, #0x78] ldr r3, _02166294 ; =data_02050f54 ldr r0, _02166298 ; =0x00000333 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r2, [r3, r1] mov r1, #0 umull lr, ip, r2, r0 mla ip, r2, r1, ip mov r2, r2, asr #0x1f adds lr, lr, #0x800 mla ip, r2, r0, ip adc r2, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r2, lsl #20 str ip, [r4, #0x60] ldrh r2, [r4, #0x78] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r2, [r3, r2] umull ip, r3, r2, r0 adds ip, ip, #0x800 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adc r0, r3, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021661ac _02166290: .word 0x00002aab _02166294: .word data_02050f54 _02166298: .word 0x00000333 .global func_ov15_0216629c arm_func_start func_ov15_0216629c func_ov15_0216629c: ; 0x0216629c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02166374 mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _02166388 ; =data_027e0ffc ldr r1, _0216638c ; =0x0000028b add r2, r5, #0x48 bl func_ov00_020cec60 mov r0, r5 bl func_ov15_0216648c mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r5 mov r1, #2 mov r2, #0 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 bne _02166328 ldr r1, _02166390 ; =data_ov15_021867f0 mov r0, r5 mov r2, #0 bl _ZN5Actor18func_ov00_020c243cEiPi cmp r0, #0 beq _0216633c _02166328: mov r0, r5 bl func_ov15_02166584 mov r0, #0 strb r0, [r5, #0x118] ldmia sp!, {r3, r4, r5, pc} _0216633c: ldrb r0, [r5, #0x258] cmp r0, #0 bne _0216636c mov r0, r5 bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x6000 blt _0216636c mov r0, r5 bl func_ov15_02166584 mov r0, #0 strb r0, [r5, #0x118] ldmia sp!, {r3, r4, r5, pc} _0216636c: add r0, r5, #0x15c bl func_ov00_020c5e20 _02166374: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216629c _02166388: .word data_027e0ffc _0216638c: .word 0x0000028b _02166390: .word data_ov15_021867f0 .global func_ov15_02166394 arm_func_start func_ov15_02166394 func_ov15_02166394: ; 0x02166394 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrh r2, [r4, #0x20] cmp r2, #1 bne _0216646c ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldrb r0, [r4, #0x259] cmp r0, #0 ldreqb r0, [r4, #0xa4] cmpeq r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, pc} mov r0, #1 strb r0, [r4, #0x259] mov r1, #0 ldr r0, _02166480 ; =data_027e0f94 strb r1, [r4, #0x11a] add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #8] mov r1, r3 sub r0, r0, #0x1800 str r0, [sp, #8] add r0, r4, #0x48 bl func_ov00_020ce2f0 ldrh r2, [r4, #0x78] ldr r1, _02166484 ; =0xffff8003 ldr ip, _02166488 ; =data_02050f54 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r3, r2, lsl #0x1 add r2, r2, #1 ldrsh r3, [ip, r3] mov r2, r2, lsl #0x1 add r1, r0, r1 ldrsh r0, [ip, r2] mul r2, r3, r1 mul r1, r0, r1 ldr r3, [r4, #0x48] add r0, r2, #0x800 add r0, r3, r0, asr #12 str r0, [r4, #0x48] ldr r2, [r4, #0x50] add r0, r1, #0x800 add r0, r2, r0, asr #12 add sp, sp, #0xc str r0, [r4, #0x50] ldmia sp!, {r3, r4, pc} _0216646c: add r0, r4, #0xa4 add r2, r4, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02166394 _02166480: .word data_027e0f94 _02166484: .word 0xffff8003 _02166488: .word data_02050f54 .global func_ov15_0216648c arm_func_start func_ov15_0216648c func_ov15_0216648c: ; 0x0216648c stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _02166574 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 str r0, [r4, #0x4c] ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 beq _02166564 ldrb r0, [r4, #0x11a] cmp r0, #0 beq _02166564 add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr lr, _02166578 ; =data_02050f54 ldr r1, _0216657c ; =data_027e0e58 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 mov ip, r2, lsl #0x1 add r0, r2, #1 mov r2, r0, lsl #0x1 ldrsh ip, [lr, ip] ldr r0, _02166580 ; =0xfffffe66 ldrsh r2, [lr, r2] smulbb ip, ip, r0 smulbb r0, r2, r0 ldr lr, [sp, #0xc] add r2, ip, #0x800 add lr, lr, r2, asr #12 ldr r2, [sp, #0x14] add r0, r0, #0x800 add ip, r2, r0, asr #12 ldr r0, [r1] mov r2, r3 add r1, r4, #0x25c str lr, [sp, #0xc] str ip, [sp, #0x14] bl func_ov00_0207c474 add sp, sp, #0x18 ldmia sp!, {r4, pc} _02166564: add r0, r4, #0x25c bl func_ov00_020b7e6c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216648c _02166574: .word data_027e0e60 _02166578: .word data_02050f54 _0216657c: .word data_027e0e58 _02166580: .word 0xfffffe66 .global func_ov15_02166584 arm_func_start func_ov15_02166584 func_ov15_02166584: ; 0x02166584 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x20 mov r4, r0 add r0, r4, #0x48 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] ldr r0, _02166678 ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r3, [r4, #0x50] add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x18] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216667c ; =data_027e0e58 add r2, sp, #0x14 ldr r0, [r0] mov r1, #0x80 mov r3, #2 bl func_ov00_0207c1b0 add r0, sp, #0x14 mov r1, #0xa00 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _02166680 ; =0x000009ec add r0, sp, #0x14 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _02166684 ; =data_027e0ffc ldr r1, _02166688 ; =0x000001b1 add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc mov r9, #0 ldr r7, _0216668c ; =data_ov15_021867fc ldr r4, _0216667c ; =data_027e0e58 mov r8, r9 add r6, sp, #0x14 mov r5, #2 _02166644: str r8, [sp] mov r0, r9, lsl #0x1 str r8, [sp, #4] ldrsh r1, [r7, r0] ldr r0, [r4] mov r2, r6 mov r3, r5 bl func_ov00_0207c1b0 add r9, r9, #1 cmp r9, #4 blt _02166644 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02166584 _02166678: .word data_027e0e60 _0216667c: .word data_027e0e58 _02166680: .word 0x000009ec _02166684: .word data_027e0ffc _02166688: .word 0x000001b1 _0216668c: .word data_ov15_021867fc .global func_ov15_02166690 arm_func_start func_ov15_02166690 func_ov15_02166690: ; 0x02166690 stmdb sp!, {r3, lr} cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x15c bl func_ov00_020c5f1c ldmia sp!, {r3, pc} arm_func_end func_ov15_02166690 .global func_ov15_021666b4 arm_func_start func_ov15_021666b4 func_ov15_021666b4: ; 0x021666b4 mov r1, #0 strb r1, [r0, #0x118] bx lr arm_func_end func_ov15_021666b4 .global func_ov15_021666c0 arm_func_start func_ov15_021666c0 func_ov15_021666c0: ; 0x021666c0 bx lr arm_func_end func_ov15_021666c0 .global func_ov15_021666c4 arm_func_start func_ov15_021666c4 func_ov15_021666c4: ; 0x021666c4 stmdb sp!, {r4, lr} ldr r1, _021666f8 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x104 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_021666fc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021666c4 _021666f8: .word data_027e0f84 .global func_ov15_021666fc arm_func_start func_ov15_021666fc func_ov15_021666fc: ; 0x021666fc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165298 ldr r0, _02166730 ; =data_ov15_0218ce80 mov r1, #0 str r0, [r4] strb r1, [r4, #0xe8] str r1, [r4, #0xf8] sub r0, r1, #1 str r0, [r4, #0xfc] mov r0, r4 str r1, [r4, #0x100] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021666fc _02166730: .word data_ov15_0218ce80 .global func_ov15_02166734 arm_func_start func_ov15_02166734 func_ov15_02166734: ; 0x02166734 stmdb sp!, {r4, lr} ldr r1, _02166774 ; =data_ov15_0218ce80 mov r4, r0 ldr r0, _02166778 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xf8 bl func_ov00_0207c444 add r0, r4, #0xf8 bl func_ov00_020b7e6c add r0, r4, #0xf8 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02165358 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02166734 _02166774: .word data_ov15_0218ce80 _02166778: .word data_027e0e58 .global func_ov15_0216677c arm_func_start func_ov15_0216677c func_ov15_0216677c: ; 0x0216677c stmdb sp!, {r4, lr} ldr r1, _021667c4 ; =data_ov15_0218ce80 mov r4, r0 ldr r0, _021667c8 ; =data_027e0e58 str r1, [r4] ldr r0, [r0] add r1, r4, #0xf8 bl func_ov00_0207c444 add r0, r4, #0xf8 bl func_ov00_020b7e6c add r0, r4, #0xf8 bl func_ov00_020b7df0 mov r0, r4 bl func_ov15_02165358 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216677c _021667c4: .word data_ov15_0218ce80 _021667c8: .word data_027e0e58 .global func_ov15_021667cc arm_func_start func_ov15_021667cc func_ov15_021667cc: ; 0x021667cc mov r0, #0x79 bx lr arm_func_end func_ov15_021667cc .global func_ov15_021667d4 arm_func_start func_ov15_021667d4 func_ov15_021667d4: ; 0x021667d4 mov r0, #0xa bx lr arm_func_end func_ov15_021667d4 .global func_ov15_021667dc arm_func_start func_ov15_021667dc func_ov15_021667dc: ; 0x021667dc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02166878 ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xc3 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, _0216687c ; =data_ov15_02186818 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r0, [sp, #4] mov r1, #0 str r0, [r4, #0x9c] ldr r3, [sp, #8] mov r0, #0x14 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] str r0, [r4, #0xfc] mov r0, #4 str r0, [r4, #0x100] ldr r1, _02166880 ; =func_ov15_02166908 add r0, r4, #0x3c str r4, [r4, #0x68] bl func_02018cb8 mov r0, r4 bl func_ov15_02165398 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021667dc _02166878: .word data_027e0f68 _0216687c: .word data_ov15_02186818 _02166880: .word func_ov15_02166908 .global func_ov15_02166884 arm_func_start func_ov15_02166884 func_ov15_02166884: ; 0x02166884 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl func_ov15_02165440 ldrb r0, [r4, #0xe8] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0xa8] cmp r0, #0x40000 bgt _021668ec add r0, r4, #0xec add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 mov r2, r3 add r1, r4, #0x18 bl func_01ff9bc4 ldr r0, _02166904 ; =data_027e0e58 add r2, sp, #0 ldr r0, [r0] add r1, r4, #0xf8 bl func_ov00_0207c474 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _021668ec: ldr r0, _02166904 ; =data_027e0e58 add r1, r4, #0xf8 ldr r0, [r0] bl func_ov00_0207c444 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02166884 _02166904: .word data_027e0e58 .global func_ov15_02166908 arm_func_start func_ov15_02166908 func_ov15_02166908: ; 0x02166908 ldr r2, _0216691c ; =func_ov15_02166920 mov r1, #2 str r2, [r0, #0x24] strb r1, [r0, #0x92] bx lr .align 2, 0 arm_func_end func_ov15_02166908 _0216691c: .word func_ov15_02166920 .global func_ov15_02166920 arm_func_start func_ov15_02166920 func_ov15_02166920: ; 0x02166920 mov r1, r0 ldr r0, [r1, #4] ldr ip, _02166934 ; =func_ov15_02166938 ldr r0, [r0, #0x2c] bx ip .align 2, 0 arm_func_end func_ov15_02166920 _02166934: .word func_ov15_02166938 .global func_ov15_02166938 arm_func_start func_ov15_02166938 func_ov15_02166938: ; 0x02166938 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, _021669c4 ; =data_ov15_02186824 add r0, r0, #0x40 bl func_0201e388 cmp r5, r0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, pc} ldr ip, [r6, #0xb4] add r2, sp, #0 ldr r3, [ip, #0x4c] mov r0, #1 str r3, [sp] ldr r1, [ip, #0x50] str r1, [sp, #4] ldr r1, [ip, #0x54] str r1, [sp, #8] str r3, [r4, #0xec] ldr r1, [r2, #4] str r1, [r4, #0xf0] ldr r1, [r2, #8] str r1, [r4, #0xf4] strb r0, [r4, #0xe8] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02166938 _021669c4: .word data_ov15_02186824 .global func_ov15_021669c8 arm_func_start func_ov15_021669c8 func_ov15_021669c8: ; 0x021669c8 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02166a08 ; =data_027e0f84 mov r5, r0 ldr r1, [r1] mov r0, #0xe8 ldr r1, [r1] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _02166a00 mov r1, r5 bl func_ov15_02165298 ldr r0, _02166a0c ; =data_ov15_0218cf18 str r0, [r4] _02166a00: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021669c8 _02166a08: .word data_027e0f84 _02166a0c: .word data_ov15_0218cf18 .global func_ov15_02166a10 arm_func_start func_ov15_02166a10 func_ov15_02166a10: ; 0x02166a10 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02166a8c ; =data_027e0f68 mov r4, r0 ldr r0, [r1] mov r1, #0xc8 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, _02166a90 ; =data_ov15_02186838 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp] mov r2, #0x7800 str r0, [r4, #0x98] ldr r1, [sp, #4] mov r0, r4 str r1, [r4, #0x9c] ldr r3, [sp, #8] mov r1, #0 str r3, [r4, #0xa0] str r2, [r4, #0xa4] strb r1, [r4, #0xd4] bl func_ov15_02165398 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02166a10 _02166a8c: .word data_027e0f68 _02166a90: .word data_ov15_02186838 .global func_ov15_02166a94 arm_func_start func_ov15_02166a94 func_ov15_02166a94: ; 0x02166a94 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02166a94 .global func_ov15_02166aa8 arm_func_start func_ov15_02166aa8 func_ov15_02166aa8: ; 0x02166aa8 mov r0, #0x78 bx lr arm_func_end func_ov15_02166aa8 .global func_ov15_02166ab0 arm_func_start func_ov15_02166ab0 func_ov15_02166ab0: ; 0x02166ab0 mov r0, #0xb bx lr arm_func_end func_ov15_02166ab0 .global func_ov15_02166ab8 arm_func_start func_ov15_02166ab8 func_ov15_02166ab8: ; 0x02166ab8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02165358 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02166ab8 .global func_ov15_02166ad4 arm_func_start func_ov15_02166ad4 func_ov15_02166ad4: ; 0x02166ad4 stmdb sp!, {r3, lr} ldr r1, _02166b00 ; =data_027e0fe0 mov r0, #0x290 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02166b30 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02166ad4 _02166b00: .word data_027e0fe0 .global func_ov15_02166b04 arm_func_start func_ov15_02166b04 func_ov15_02166b04: ; 0x02166b04 stmdb sp!, {r4, lr} ldr r3, _02166b28 ; =data_ov15_02186850 mov r2, #0xc8 mov r4, r0 bl func_ov00_020c607c ldr r1, _02166b2c ; =data_ov15_0218d088 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02166b04 _02166b28: .word data_ov15_02186850 _02166b2c: .word data_ov15_0218d088 .global func_ov15_02166b30 arm_func_start func_ov15_02166b30 func_ov15_02166b30: ; 0x02166b30 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr r2, _02166b74 ; =data_ov15_0218cfc0 mov r1, r4 add r0, r4, #0x184 str r2, [r4] bl func_ov15_02166b04 mvn r0, #0 str r0, [r4, #0x280] mov r1, #0 str r1, [r4, #0x284] strb r1, [r4, #0x28c] mov r0, r4 strb r1, [r4, #0x28d] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02166b30 _02166b74: .word data_ov15_0218cfc0 .global func_ov15_02166b78 arm_func_start func_ov15_02166b78 func_ov15_02166b78: ; 0x02166b78 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x200 blx func_ov00_020a9b6c add r0, r4, #0x1a4 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02166b78 .global func_ov15_02166ba0 arm_func_start func_ov15_02166ba0 func_ov15_02166ba0: ; 0x02166ba0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x200 blx func_ov00_020a9b6c add r0, r4, #0x1a4 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02166ba0 .global func_ov15_02166bd0 arm_func_start func_ov15_02166bd0 func_ov15_02166bd0: ; 0x02166bd0 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02166cf8 ; =gAdventureFlags mov r4, r0 ldr r0, [r1] mov r1, #0x30 bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #0 ldr r5, _02166cfc ; =0xfffffe66 str r1, [r4, #0x7c] str r5, [r4, #0x80] ldr r3, _02166d00 ; =0x000004cd str r1, [r4, #0x84] str r3, [r4, #0x88] ldr r0, [r4, #0x7c] mov r2, #0x66 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] add ip, r3, #0x1000 str r0, [r4, #0x90] ldr r0, [r4, #0x84] mov r3, #0xd str r0, [r4, #0x94] ldr lr, [r4, #0x88] ldr r0, _02166d04 ; =data_ov15_02186844 str lr, [r4, #0x98] str r1, [r4, #0xa8] str r5, [r4, #0xac] str r1, [r4, #0xb0] str ip, [r4, #0xb4] strh r3, [r4, #0x9c] str r0, [r4, #0x158] str r1, [r4, #0x6c] strb r1, [r4, #0x124] ldr r3, [r4, #0x48] sub r0, r2, #0x67 str r3, [r4, #0x54] ldr r3, [r4, #0x4c] str r3, [r4, #0x58] ldr r3, [r4, #0x50] str r3, [r4, #0x5c] str r2, [r4, #0x70] str r1, [r4, #0x178] strb r1, [r4, #0x181] ldr r2, [r4, #0x34] cmp r2, r0 bne _02166cb8 mov r0, r4 bl func_ov15_02166d08 mov r2, #0x2000 rsb r2, r2, #0 add r0, r4, #0x184 mov r1, #2 str r2, [r4, #0x4c] bl func_ov00_020c5d74 b _02166ce8 _02166cb8: mov r0, #1 str r0, [r4, #0x130] ldrsh r2, [r4, #0x78] add r1, r4, #0x200 mov r0, r4 strh r2, [r1, #0x8a] bl func_ov15_02167444 mov r2, #0xf add r0, r4, #0x184 mov r1, #1 str r2, [r4, #0x178] bl func_ov00_020c5d74 _02166ce8: mov r0, #2 str r0, [r4, #0x12c] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02166bd0 _02166cf8: .word gAdventureFlags _02166cfc: .word 0xfffffe66 _02166d00: .word 0x000004cd _02166d04: .word data_ov15_02186844 .global func_ov15_02166d08 arm_func_start func_ov15_02166d08 func_ov15_02166d08: ; 0x02166d08 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x28 movs r4, r1 mov r5, r0 beq _02166d30 cmp r4, #1 beq _02166d48 cmp r4, #2 beq _02166e58 b _02166ecc _02166d30: mvn r0, #0 str r0, [r5, #0x88] mov r0, #0 str r0, [r5, #0x284] strb r0, [r5, #0x28c] b _02166ecc _02166d48: ldrb r2, [r5, #0x28d] ldr r1, _02166ee0 ; =0x000004cd ldr r0, _02166ee4 ; =data_027e0f64 add r2, r2, #1 strb r2, [r5, #0x28d] str r1, [r5, #0x88] mov r2, #0 mov r1, #0x2000 str r1, [sp, #0x24] ldr r0, [r0] str r2, [sp, #0x1c] str r2, [sp, #0x20] ldr r0, [r0, #4] add r2, r5, #0x200 add r0, r0, #0x200 ldrsh r0, [r0, #0x26] add r1, sp, #0x1c add r0, r0, #0x8000 strh r0, [r2, #0x8a] ldrsh r0, [r2, #0x8a] bl func_0202af4c ldr r0, _02166ee8 ; =data_027e0f94 add r1, sp, #0x1c add r2, r5, #0x48 bl func_01ff9bc4 ldr r1, [r5, #0x48] ldr r0, _02166eec ; =data_027e0e60 str r1, [sp, #0x10] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #0x14] ldr r2, [r5, #0x50] add r1, sp, #0x10 str r2, [sp, #0x18] mov r2, #0 bl func_ov00_02083ee0 str r0, [r5, #0x4c] ldr r0, _02166ef0 ; =data_027e0ffc mov r1, #0x1dc add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc add r0, r5, #0x48 mov r1, #0x400 mov r2, #0 bl func_ov00_020c7484 mov r2, #0 ldr r1, _02166ef4 ; =0x00000666 add r0, r5, #0x48 mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02166ef8 ; =data_027e0e58 mov r1, #0x73 ldr r0, [r0] add r2, r5, #0x48 mov r3, #2 bl func_ov00_0207c1b0 mov r0, r5 bl func_ov15_02167444 add r0, r5, #0x184 mov r1, #2 bl func_ov00_020c5d74 ldr r0, _02166efc ; =0x00000133 str r0, [r5, #0x64] b _02166ecc _02166e58: mvn r3, #0 ldr r0, _02166f00 ; =data_027e0d0c str r3, [r5, #0x88] ldr r2, [r0] mov r1, #0 str r2, [r5, #0x60] ldr r2, [r0, #4] str r2, [r5, #0x64] ldr r0, [r0, #8] str r0, [r5, #0x68] ldr r0, [r5, #0x34] str r0, [sp, #8] ldr r0, [r5, #0x38] str r0, [sp, #0xc] strb r1, [r5, #0x28c] ldr r0, [sp, #8] cmp r0, r3 beq _02166ec0 ldr r0, _02166f04 ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02166ecc bl func_ov15_02167560 b _02166ecc _02166ec0: ldrb r0, [r5, #0x28d] sub r0, r0, #1 strb r0, [r5, #0x28d] _02166ecc: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02166d08 _02166ee0: .word 0x000004cd _02166ee4: .word data_027e0f64 _02166ee8: .word data_027e0f94 _02166eec: .word data_027e0e60 _02166ef0: .word data_027e0ffc _02166ef4: .word 0x00000666 _02166ef8: .word data_027e0e58 _02166efc: .word 0x00000133 _02166f00: .word data_027e0d0c _02166f04: .word data_027e0fe4 .global func_ov15_02166f08 arm_func_start func_ov15_02166f08 func_ov15_02166f08: ; 0x02166f08 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x34 mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #1 beq _02166f44 ldr r0, _021670cc ; =data_027e0d0c add sp, sp, #0x34 ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] str r1, [r4, #0x64] ldr r0, [r0, #8] str r0, [r4, #0x68] ldmia sp!, {r3, r4, r5, r6, pc} _02166f44: mov r1, #6 str r1, [r4, #0x6c] bl _ZN5Actor12ApplyGravityEv add r3, r4, #0x200 ldrsh r2, [r3, #0x8a] ldrsh r1, [r3, #0x88] ldr r0, _021670d0 ; =data_027e0f94 add r5, sp, #0x28 add r1, r2, r1 strh r1, [r3, #0x8a] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldrh r0, [r3, #0x8a] ldr r1, _021670d4 ; =data_02050f54 ldr r6, [sp, #0x28] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r2, r0, lsl #0x1 add r0, r0, #1 ldrsh ip, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r2, [r1, r0] mov r1, ip, asr #0x1f mov lr, r1, lsl #0xd mov r0, #0x800 mov r1, r2, asr #0x1f adds r5, r0, ip, lsl #13 orr lr, lr, ip, lsr #19 mov r1, r1, lsl #0xd adc ip, lr, #0 mov r5, r5, lsr #0xc orr r5, r5, ip, lsl #20 add r5, r6, r5 adds ip, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 adc r0, r1, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 ldr r2, [sp, #0x30] str r5, [sp, #0x28] add r1, r2, r1 add r0, r4, #0x48 str r1, [sp, #0x30] add ip, sp, #0x1c ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} mov r3, #0 sub r1, r3, #0x80000001 str r1, [sp] ldr r1, [sp, #0x28] mov r0, ip mov r2, #0x200 bl func_0202b418 mvn r0, #0x80000000 str r0, [sp] ldr r1, [sp, #0x30] add r0, sp, #0x24 mov r2, #0x200 mov r3, #0 bl func_0202b418 ldr r2, [sp, #0x1c] ldr r1, [r4, #0x48] ldr r0, _021670d8 ; =data_027e0ff4 sub r1, r2, r1 str r1, [r4, #0x60] ldr r3, [sp, #0x24] ldr r1, [r4, #0x50] add r2, sp, #0x10 sub r1, r3, r1 str r1, [r4, #0x68] ldr r0, [r0] ldr r1, [r4, #0x280] bl func_ov05_0210d6dc cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0x10 bl func_01ff9cec mov r5, r0 ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] ldr r1, [sp, #0x18] cmp r5, #4 movgt r5, #4 add r0, sp, #4 str r3, [sp, #4] str r2, [sp, #8] str r1, [sp, #0xc] bl func_01fffb4c add r0, sp, #4 mov r1, r5 bl func_01fffbec add r0, r4, #0x60 add r1, sp, #4 mov r2, r0 bl func_01ff9bc4 add sp, sp, #0x34 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02166f08 _021670cc: .word data_027e0d0c _021670d0: .word data_027e0f94 _021670d4: .word data_02050f54 _021670d8: .word data_027e0ff4 .global func_ov15_021670dc arm_func_start func_ov15_021670dc func_ov15_021670dc: ; 0x021670dc stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, [r4, #0x178] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x178] ldr r0, [r4, #0x130] cmp r0, #0 beq _02167114 cmp r0, #1 beq _021671bc cmp r0, #2 beq _02167208 b _02167238 _02167114: ldr r0, _0216728c ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020846a4 cmp r0, #6 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0216728c ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 ldreq r0, [r4, #0x284] addeq r0, r0, #1 streq r0, [r4, #0x284] ldr r0, [r4, #0x284] cmp r0, #0x12c ldmltia sp!, {r4, r5, r6, pc} mov r0, #0 ldr r2, _02167290 ; =data_027e0764 str r0, [r4, #0x284] ldr r3, [r2] ldmib r2, {r1, ip} umull r5, lr, ip, r3 mla lr, ip, r1, lr ldr r1, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r1, r3, lr ldr r1, [r2, #0x14] adds r6, ip, r5 adc r5, r1, lr mov r1, #0x64 umull r3, ip, r5, r1 mla ip, r5, r0, ip mla ip, r0, r1, ip str r6, [r2] str r5, [r2, #4] cmp ip, #0xa ldmgeia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, #1 bl func_ov15_02166d08 ldmia sp!, {r4, r5, r6, pc} _021671bc: mov r0, r4 mov r1, #0 bl func_01fffd04 cmp r0, #0 bne _021671f0 mov r0, #0x1000 ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 bgt _021671f0 mov r0, r4 mov r1, #2 bl func_ov15_02166d08 _021671f0: ldr r0, _02167294 ; =data_027e0ff4 mov r1, r4 ldr r0, [r0] bl func_ov05_0210d3d8 str r0, [r4, #0x280] b _02167238 _02167208: ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 movne r0, #0 strneb r0, [r4, #0x118] bne _02167238 ldrb r0, [r4, #0x28d] cmp r0, #0 bne _02167238 mov r0, r4 mov r1, #0 bl func_ov15_02166d08 _02167238: add r0, r4, #0x184 bl func_ov00_020c5e20 ldr r1, [r4, #0x194] ldrh r0, [r1, #0xc] cmp r0, #1 bne _0216726c add r0, r1, #0xc bl func_0202e58c cmp r0, #0 beq _0216726c add r0, r4, #0x184 mov r1, #0 bl func_ov00_020c5d74 _0216726c: ldr r0, [r4, #0x130] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02167298 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021670dc _0216728c: .word data_027e0e60 _02167290: .word data_027e0764 _02167294: .word data_027e0ff4 _02167298: .word data_027e10a4 .global func_ov15_0216729c arm_func_start func_ov15_0216729c func_ov15_0216729c: ; 0x0216729c stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 ldr r0, [r4, #0x178] cmp r0, #0 addne sp, sp, #0x30 movne r0, #0 ldmneia sp!, {r4, pc} ldrb r2, [r4, #0x28c] ldr r1, _02167400 ; =data_ov15_0218688c ldr r0, _02167404 ; =data_027e0ffc mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldrb r0, [r4, #0x28c] add r1, r0, #1 and r0, r1, #0xff strb r1, [r4, #0x28c] cmp r0, #8 blo _021673d8 mov r1, #0 mov r0, r4 strb r1, [r4, #0x28c] bl func_ov15_02167500 cmp r0, #3 beq _021673d8 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 ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 bne _0216734c ldr r0, [r4, #8] str r0, [sp, #0x20] ldr r0, [r4, #0xc] str r0, [sp, #0x24] b _021673a4 _0216734c: add r2, r4, #0x8a mov r0, r4 add r1, r4, #0x48 add r2, r2, #0x200 bl func_ov15_021675e8 cmp r0, #0 bne _0216737c ldr r0, [r4, #0x34] str r0, [sp, #0x20] ldr r0, [r4, #0x38] str r0, [sp, #0x24] b _021673a4 _0216737c: mov r2, #0xf mov r0, r4 mov r1, #0 str r2, [r4, #0x178] bl func_ov15_02123a28 mov r0, r4 bl func_ov15_02167444 add sp, sp, #0x30 mov r0, #1 ldmia sp!, {r4, pc} _021673a4: add r0, r4, #0x200 ldrsh r2, [r0, #0x8a] mov r1, #0 ldr r0, _02167408 ; =data_027e0fe8 strh r2, [sp, #0x18] str r1, [sp] ldr r0, [r0] ldr r1, _0216740c ; =0x424a4653 add r3, sp, #4 add r2, r4, #0x48 bl func_ov00_020c4048 mov r0, r4 bl func_ov15_02167570 _021673d8: mov r0, r4 mov r1, #0 bl func_ov15_02123a28 mov r0, r4 bl func_ov15_02167444 mov r0, #0xf str r0, [r4, #0x178] mov r0, #1 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216729c _02167400: .word data_ov15_0218688c _02167404: .word data_027e0ffc _02167408: .word data_027e0fe8 _0216740c: .word 0x424a4653 .global func_ov15_02167410 arm_func_start func_ov15_02167410 func_ov15_02167410: ; 0x02167410 stmdb sp!, {r3, lr} ldr r2, [r0, #0x34] mvn r1, #0 cmp r2, r1 movne r1, #0 strneb r1, [r0, #0x118] ldmneia sp!, {r3, pc} ldrb r1, [r0, #0x28d] cmp r1, #0 ldmneia sp!, {r3, pc} mov r1, #0 bl func_ov15_02166d08 ldmia sp!, {r3, pc} arm_func_end func_ov15_02167410 .global func_ov15_02167444 arm_func_start func_ov15_02167444 func_ov15_02167444: ; 0x02167444 stmdb sp!, {r4, r5, r6, lr} ldr r3, _021674fc ; =data_027e0764 mov r2, #0 ldr r4, [r3] ldmib r3, {r1, r5} umull ip, r6, r5, r4 mla r6, r5, r1, r6 ldr r1, [r3, #0xc] ldr r5, [r3, #0x10] mla r6, r1, r4, r6 ldr r1, [r3, #0x14] adds ip, r5, ip adc r6, r1, r6 mov r1, #0x46 umull r4, r5, r6, r1 mla r5, r6, r2, r5 mla r5, r2, r1, r5 str ip, [r3] str r6, [r3, #4] add r1, r0, #0x200 strh r5, [r1, #0x88] ldr ip, [r3] ldmib r3, {r2, lr} umull r5, r4, lr, ip mla r4, lr, r2, r4 ldr r2, [r3, #0xc] ldr r6, [r3, #0x10] mla r4, r2, ip, r4 ldr lr, [r3, #0x14] adds r5, r6, r5 adc r2, lr, r4 str r5, [r3] str r2, [r3, #4] tst r2, #0x80000000 ldrnesh r2, [r1, #0x88] rsbne r2, r2, #0 strneh r2, [r1, #0x88] mov r2, #0 str r2, [r0, #0x60] mov r1, #0xb0 str r1, [r0, #0x64] str r2, [r0, #0x68] add r0, r0, #0x184 mov r1, #1 bl func_ov00_020c5d74 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02167444 _021674fc: .word data_027e0764 .global func_ov15_02167500 arm_func_start func_ov15_02167500 func_ov15_02167500: ; 0x02167500 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r2, [r4, #0x34] mvn r0, #0 str r2, [sp] ldr r1, [r4, #0x38] cmp r2, r0 str r1, [sp, #4] addeq sp, sp, #8 ldreqb r0, [r4, #0x28d] ldmeqia sp!, {r4, pc} ldr r0, _0216755c ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #8 ldreqb r0, [r4, #0x28d] ldmeqia sp!, {r4, pc} bl func_ov15_02167500 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02167500 _0216755c: .word data_027e0fe4 .global func_ov15_02167560 arm_func_start func_ov15_02167560 func_ov15_02167560: ; 0x02167560 ldrb r1, [r0, #0x28d] sub r1, r1, #1 strb r1, [r0, #0x28d] bx lr arm_func_end func_ov15_02167560 .global func_ov15_02167570 arm_func_start func_ov15_02167570 func_ov15_02167570: ; 0x02167570 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r2, [r4, #0x34] mvn r0, #0 str r2, [sp] ldr r1, [r4, #0x38] cmp r2, r0 str r1, [sp, #4] bne _021675ac ldrb r0, [r4, #0x28d] add sp, sp, #8 add r0, r0, #1 strb r0, [r4, #0x28d] ldmia sp!, {r4, pc} _021675ac: ldr r0, _021675e4 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 bne _021675d8 ldrb r0, [r4, #0x28d] add sp, sp, #8 add r0, r0, #1 strb r0, [r4, #0x28d] ldmia sp!, {r4, pc} _021675d8: bl func_ov15_02167570 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02167570 _021675e4: .word data_027e0fe4 .global func_ov15_021675e8 arm_func_start func_ov15_021675e8 func_ov15_021675e8: ; 0x021675e8 stmdb sp!, {r3, r4, r5, lr} ldr r3, _02167624 ; =data_027e0fe4 mov r4, r0 ldr r0, [r3] mov r5, r1 add r1, r4, #0x34 mov r4, r2 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, r5 mov r2, r4 bl func_ov15_02167628 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021675e8 _02167624: .word data_027e0fe4 .global func_ov15_02167628 arm_func_start func_ov15_02167628 func_ov15_02167628: ; 0x02167628 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, [r4, #0x130] cmp r3, #1 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r3, #1 str r3, [r4, #0x130] ldr ip, [r1] add r3, r4, #0x200 str ip, [r4, #0x48] ldr lr, [r1, #4] ldr ip, _0216768c ; =0x000004cd str lr, [r4, #0x4c] ldr r1, [r1, #8] str r1, [r4, #0x50] ldrsh r1, [r2] strh r1, [r3, #0x8a] str ip, [r4, #0x88] bl func_ov15_02167444 ldrb r1, [r4, #0x28d] mov r0, #1 add r1, r1, #1 strb r1, [r4, #0x28d] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02167628 _0216768c: .word 0x000004cd .global func_ov15_02167690 arm_func_start func_ov15_02167690 func_ov15_02167690: ; 0x02167690 stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr r2, [r0, #0x88] mov r4, r1 cmp r2, #0 mov r1, #0 blt _021676e0 add r1, sp, #0 bl _ZN5Actor9GetHitboxEP8Cylinder cmp r4, #0 add r0, sp, #0 mov r2, #8 beq _021676d4 ldr r1, [sp, #0xc] bl func_0202b864 mov r1, r0 b _021676e0 _021676d4: ldr r1, [sp, #0xc] bl func_0202b894 mov r1, r0 _021676e0: mov r0, r1 add sp, sp, #0x10 ldmia sp!, {r4, pc} arm_func_end func_ov15_02167690 .global func_ov15_021676ec arm_func_start func_ov15_021676ec func_ov15_021676ec: ; 0x021676ec stmdb sp!, {r3, lr} ldr r2, [r0, #0x130] cmp r2, #1 ldmneia sp!, {r3, pc} cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x184 bl func_ov00_020c5f1c ldmia sp!, {r3, pc} arm_func_end func_ov15_021676ec .global func_ov15_0216771c arm_func_start func_ov15_0216771c func_ov15_0216771c: ; 0x0216771c stmdb sp!, {r3, lr} ldr r1, _02167748 ; =data_027e0fe0 mov r0, #0x314 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02167898 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216771c _02167748: .word data_027e0fe0 .global func_ov15_0216774c arm_func_start func_ov15_0216774c func_ov15_0216774c: ; 0x0216774c stmdb sp!, {r4, lr} ldr r3, _02167788 ; =data_ov15_021868dc mov r2, #0xc9 mov r4, r0 bl func_ov00_020c607c ldr r3, _0216778c ; =data_ov15_0218d180 add r0, r4, #0xfc add r1, r4, #0x120 mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _02167790 ; =data_ov15_02189ac0 mov r0, r4 str r1, [r4, #0xfc] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216774c _02167788: .word data_ov15_021868dc _0216778c: .word data_ov15_0218d180 _02167790: .word data_ov15_02189ac0 .global func_ov15_02167794 arm_func_start func_ov15_02167794 func_ov15_02167794: ; 0x02167794 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x28 mov r5, r0 add r0, r5, #0x20 ldr r2, [r0] mov r4, r1 ldr r2, [r2, #8] blx r2 ldr r1, _02167884 ; =data_027e0fec str r0, [r5, #0x104] ldr r0, [r1] cmp r4, #0 add r0, r0, #0x2000 ldr r4, [r0, #0xc00] ldrne r0, _02167888 ; =data_ov15_0218d19c add ip, sp, #0 ldreq r0, _0216788c ; =data_ov15_0218d1a4 ldrb r1, [r0, #3] ldrb r6, [r0] ldrb r3, [r0, #1] ldrb r2, [r0, #2] ldrb r0, [r0, #4] strb r1, [ip, #3] strb r2, [ip, #2] strb r0, [ip, #4] mov r2, #0 ldr r1, _02167890 ; =data_ov15_0218d1ac add r0, sp, #0x18 strb r6, [ip] strb r3, [ip, #1] strb r2, [sp, #0x18] bl strcat add r0, sp, #0x18 add r1, sp, #0 bl strcat ldr r1, _02167894 ; =data_ov15_0218d1b4 add r0, sp, #0x18 bl strcat add r0, sp, #0x18 blx func_02016fe8 mov r6, r0 add r0, sp, #8 add r1, sp, #0 mov r2, #0x10 bl strncpy mov r0, r6 add r1, sp, #8 bl func_0201e544 mov r1, r0 mov r2, r4 add r0, r5, #0xfc mov r3, #1 bl func_ov00_020c0cc8 add r0, r5, #0x20 ldr r2, [r0] add r1, r5, #0xfc ldr r2, [r2, #0x24] blx r2 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02167794 _02167884: .word data_027e0fec _02167888: .word data_ov15_0218d19c _0216788c: .word data_ov15_0218d1a4 _02167890: .word data_ov15_0218d1ac _02167894: .word data_ov15_0218d1b4 .global func_ov15_02167898 arm_func_start func_ov15_02167898 func_ov15_02167898: ; 0x02167898 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 bl func_ov15_02123474 ldr r1, _021678f4 ; =data_ov15_0218d0b8 mvn r0, #0 str r1, [r4] str r0, [r4, #0x194] str r0, [r4, #0x198] str r0, [r4, #0x19c] mov r1, r4 str r0, [r4, #0x1a0] mov r2, #0 add r0, r4, #0x1a8 str r2, [r4, #0x1a4] bl func_ov15_0216774c mvn r1, #0 str r1, [r4, #0x194] str r1, [r4, #0x198] str r1, [r4, #0x19c] mov r0, r4 str r1, [r4, #0x1a0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02167898 _021678f4: .word data_ov15_0218d0b8 .global func_ov15_021678f8 arm_func_start func_ov15_021678f8 func_ov15_021678f8: ; 0x021678f8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x2a4 blx func_ov00_020a9acc add r0, r4, #0x224 blx func_ov00_020a9b6c add r0, r4, #0x1c8 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021678f8 .global func_ov15_02167928 arm_func_start func_ov15_02167928 func_ov15_02167928: ; 0x02167928 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x2a4 blx func_ov00_020a9acc add r0, r4, #0x224 blx func_ov00_020a9b6c add r0, r4, #0x1c8 blx func_ov00_020a95a4 mov r0, r4 bl func_ov15_02123510 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02167928 .global func_ov15_02167960 arm_func_start func_ov15_02167960 func_ov15_02167960: ; 0x02167960 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x14 ldr r1, _02167d0c ; =data_027e0d0c ldr r3, _02167d10 ; =0x00000266 ldr r2, [r1] mov r4, r0 str r2, [r4, #0x7c] ldr r0, [r1, #4] mov r2, #0 str r0, [r4, #0x80] ldr r1, [r1, #8] add r0, r3, #0x1000 str r1, [r4, #0x84] str r3, [r4, #0x88] ldr r1, [r4, #0x7c] 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 r3, [r4, #0xac] str r2, [r4, #0xb0] str r0, [r4, #0xb4] ldrh r0, [r4, #0x22] cmp r0, #0 beq _021679e4 ldr r0, [r4, #0x34] str r0, [r4, #0x194] ldr r0, [r4, #0x38] str r0, [r4, #0x198] _021679e4: ldrsh r2, [r4, #0x78] add r0, r4, #0x300 mov r1, #0 strh r2, [r0, #0xa] strh r1, [r0, #0x10] ldrh r3, [r4, #0x26] ldr r5, _02167d14 ; =data_ov15_0218689c add r0, r4, #0x100 ldr r2, [r5, r3, lsl #4] add r3, r5, r3, lsl #4 str r2, [r4, #0x184] ldr r2, [r3, #4] str r2, [r4, #0x188] ldr r2, [r3, #8] str r2, [r4, #0x18c] ldrsh r2, [r3, #0xc] strh r2, [r0, #0x90] ldrh r2, [r4, #0x22] ldrh r0, [r4, #0x24] cmp r2, r0 movne r1, #1 add r0, r4, #0x1a8 bl func_ov15_02167794 ldrh r0, [r4, #0x26] cmp r0, #3 bne _02167b40 mov r1, #0xa000 str r1, [r4, #0x2f8] ldr r0, _02167d18 ; =data_027e0fe4 add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #0x14 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r2, [r0, #0x68] ldr r5, [r0, #0x60] smull r1, r0, r2, r2 smull r3, r2, r5, r5 adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 add r0, r0, #0x33 add r0, r0, #0x300 str r0, [r4, #0x2fc] ldrh r1, [r4, #0x78] ldr r3, _02167d1c ; =data_02050f54 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] smull r5, r3, r2, r0 adds r5, r5, #0x800 smull r2, r0, r1, r0 adc r3, r3, #0 adds r1, r2, #0x800 mov r2, r5, lsr #0xc orr r2, r2, r3, lsl #20 str r2, [r4, #0x60] mov r2, #0 str r2, [r4, #0x64] adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] mov r2, #0x52 mov r0, r4 mov r1, #2 str r2, [r4, #0x6c] bl func_ov15_02167d30 mov r0, #0x5a str r0, [r4, #0x304] sub r0, r0, #0x5b str r0, [r4, #0x194] str r0, [r4, #0x198] b _02167cdc _02167b40: ldrh r0, [r4, #0x22] cmp r0, #0 bne _02167b58 ldr r0, _02167d20 ; =data_027e0c68 add r1, r4, #0x48 bl func_ov15_02185b0c _02167b58: mov r0, #0x8000 str r0, [r4, #0x2f4] ldrsb r0, [r4, #0x2c] cmp r0, #0 bne _02167c1c ldr r1, _02167d18 ; =data_027e0fe4 ldr r2, _02167d24 ; =0x49434247 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r0, _02167d18 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #0x14 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, _02167d28 ; =data_027e0fac str r0, [r4, #0x1a4] ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv sub r0, r0, r5 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #0x8000 movhs r0, #1 movlo r0, #0 strb r0, [r4, #0x312] add r2, r4, #0x300 mov r3, #0 add r0, sp, #8 mov r1, r4 strh r3, [r2, #0xc] bl func_ov15_02168888 ldr r0, [sp, #8] mov r2, #0xa000 str r0, [r4, #0x48] ldr r0, [sp, #0xc] mov r1, #1 str r0, [r4, #0x4c] ldr r0, [sp, #0x10] str r0, [r4, #0x50] str r2, [r4, #0x2f8] str r2, [r4, #0x2f0] mov r0, r4 str r2, [r4, #0x4c] bl func_ov15_02167d30 b _02167cd4 _02167c1c: ldr r0, _02167d2c ; =data_027e0f94 mov r1, #0xa000 ldr r2, [r0] ldr lr, _02167d1c ; =data_02050f54 str r2, [r4, #0x48] ldr r2, [r0, #4] str r2, [r4, #0x4c] ldr r2, [r0, #8] ldr r0, _02167d28 ; =data_027e0fac str r2, [r4, #0x50] str r1, [r4, #0x2f8] str r1, [r4, #0x2f0] str r1, [r4, #0x4c] add r1, r4, #0x300 ldrsh r2, [r0] ldrsh r3, [r1, #0xa] mov r0, r4 add r2, r3, r2 strh r2, [r1, #0xc] ldrh r3, [r1, #0xc] ldr r2, [r4, #0x2f4] ldr r1, [r4, #0x48] mov r3, r3, asr #0x4 mov r5, r3, lsl #0x1 mov r3, r5, lsl #0x1 ldrsh ip, [lr, r3] add r3, r5, #1 mov r3, r3, lsl #0x1 smull r6, r5, ip, r2 adds r6, r6, #0x800 ldrsh r3, [lr, r3] adc r5, r5, #0 mov r6, r6, lsr #0xc smull ip, r2, r3, r2 orr r6, r6, r5, lsl #20 add r1, r1, r6 adds r3, ip, #0x800 str r1, [r4, #0x48] adc r1, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 ldr r3, [r4, #0x50] mov r1, #0 add r2, r3, r2 str r2, [r4, #0x50] bl func_ov15_02167d30 _02167cd4: mov r0, #0 str r0, [r4, #0x304] _02167cdc: ldr r0, [r4, #0x48] mov r1, #3 str r0, [r4, #0x54] ldr r2, [r4, #0x4c] mov r0, #1 str r2, [r4, #0x58] ldr r2, [r4, #0x50] str r2, [r4, #0x5c] strh r1, [r4, #0x7a] strb r0, [r4, #0x181] add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02167960 _02167d0c: .word data_027e0d0c _02167d10: .word 0x00000266 _02167d14: .word data_ov15_0218689c _02167d18: .word data_027e0fe4 _02167d1c: .word data_02050f54 _02167d20: .word data_027e0c68 _02167d24: .word 0x49434247 _02167d28: .word data_027e0fac _02167d2c: .word data_027e0f94 .global func_ov15_02167d30 arm_func_start func_ov15_02167d30 func_ov15_02167d30: ; 0x02167d30 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} mov r6, r1 mov r7, r0 cmp r6, #6 addls pc, pc, r6, lsl #2 b _02167ef0 _02167d48: ; jump table b _02167d64 ; case 0 b _02167d64 ; case 1 b _02167d64 ; case 2 b _02167d74 ; case 3 b _02167e68 ; case 4 b _02167e98 ; case 5 b _02167eac ; case 6 _02167d64: add r0, r7, #0x1a8 mov r1, #0 bl func_ov00_020c5d74 b _02167ef0 _02167d74: bl _ZN5Actor16XzDistanceToLinkEv str r0, [r7, #0x2f4] ldr r1, [r7, #0x4c] ldr r0, _02167f00 ; =data_027e0fac str r1, [r7, #0x2f0] ldrsh r4, [r0] mov r0, r7 bl _ZN5Actor14GetAngleToLinkEv add r0, r0, #0x8000 sub r1, r0, r4 add r0, r7, #0x300 strh r1, [r0, #0xa] ldr r1, _02167f00 ; =data_027e0fac ldrsh r2, [r0, #0xa] ldrsh r1, [r1] add r1, r2, r1 strh r1, [r0, #0xc] ldr r0, [r7, #0x2f4] ldr r1, [r7, #0x188] bl Divide ldr r1, _02167f04 ; =data_027e0f94 ldr r3, [r7, #0x2f0] ldr r1, [r1, #4] ldr r2, [r7, #0x4c] add r1, r1, #0x66 add r5, r3, #0x400 mov r4, r0 add r9, r1, #0x600 sub r0, r5, r2 bl func_01ff9958 mov r8, r0 sub r0, r5, r9 bl func_01ff9958 add r1, r8, r0 mov r0, r8 bl Divide smull r1, r0, r4, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r4, r1, lsr #0xc orr r4, r4, r0, lsl #20 smull r2, r1, r4, r4 ldr r0, [r7, #0x4c] adds r3, r2, #0x800 sub r0, r5, r0 adc r2, r1, #0 mov r1, r3, lsr #0xc mov r0, r0, lsl #0x1 orr r1, r1, r2, lsl #20 bl Divide smull r2, r1, r0, r4 adds r2, r2, #0x800 str r0, [r7, #0x6c] adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r7, #0x64] mov r1, #0 add r0, r7, #0x1a8 bl func_ov00_020c5d74 b _02167ef0 _02167e68: mvn r0, #0 ldr r4, _02167f08 ; =0x0000019a str r0, [r7, #0x88] mov r0, #0x31 str r0, [r7, #0x6c] ldr r0, _02167f0c ; =data_027e0ffc add r1, r4, #0x41 add r2, r7, #0x48 mov r3, #0 str r4, [r7, #0x64] bl func_ov00_020ceacc b _02167ef0 _02167e98: ldr r1, _02167f10 ; =0x0000ffff mov r0, #0 strh r1, [r7, #0x7a] strb r0, [r7, #0x181] b _02167ef0 _02167eac: ldrsb r0, [r7, #0x2c] cmp r0, #0 bne _02167ee4 ldr r0, [r7, #0x1a4] cmp r0, #0 bne _02167ed4 ldrsh r1, [r7, #0x78] add r0, r7, #0x300 strh r1, [r0, #0xa] b _02167ef0 _02167ed4: bl _ZN5Actor14GetAngleToLinkEv add r1, r7, #0x300 strh r0, [r1, #0xa] b _02167ef0 _02167ee4: ldrsh r1, [r7, #0x78] add r0, r7, #0x300 strh r1, [r0, #0xa] _02167ef0: mov r0, #0 str r0, [r7, #0x138] str r6, [r7, #0x130] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02167d30 _02167f00: .word data_027e0fac _02167f04: .word data_027e0f94 _02167f08: .word 0x0000019a _02167f0c: .word data_027e0ffc _02167f10: .word 0x0000ffff .global func_ov15_02167f14 arm_func_start func_ov15_02167f14 func_ov15_02167f14: ; 0x02167f14 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #6 addls pc, pc, r1, lsl #2 b _02168338 _02167f30: ; jump table b _02167fe0 ; case 0 b _02167f4c ; case 1 b _02168128 ; case 2 b _021681e8 ; case 3 b _02168288 ; case 4 b _021682b8 ; case 5 b _021682dc ; case 6 _02167f4c: ldr r1, [r4, #0x2f4] cmp r1, #0x1000 bge _02167fa4 ldr r1, _02168340 ; =data_027e0fac ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv add r0, r0, #0x8000 sub r0, r0, r5 add r2, r4, #0x300 strh r0, [r2, #0xa] ldrsh r3, [r2, #0xa] mov r0, r4 mov r1, #0 add r3, r5, r3 strh r3, [r2, #0xc] bl func_ov15_02167d30 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _02167fa4: add r0, sp, #0x10 mov r1, r4 bl func_ov15_02168888 ldr ip, [sp, #0x10] ldr r5, [sp, #0x14] ldr r3, [sp, #0x18] add r0, sp, #0x34 add r1, r4, #0x48 add r2, r4, #0x60 str ip, [sp, #0x34] str r5, [sp, #0x38] str r3, [sp, #0x3c] bl func_01ff9bf8 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _02167fe0: bl func_ov15_02168700 ldr r3, _02168344 ; =data_027e0f94 add r5, sp, #0x28 ldmia r3, {r0, r1, r2} stmia r5, {r0, r1, r2} add r0, r4, #0x300 ldrh r0, [r0, #0xc] ldr r5, _02168348 ; =data_02050f54 ldr r1, [r4, #0x2f4] mov r0, r0, asr #0x4 mov lr, r0, lsl #0x1 mov r0, lr, lsl #0x1 ldrsh r2, [r5, r0] ldr ip, [sp, #0x28] add r0, lr, #1 mul r1, r2, r1 add r1, r1, #0x800 add r1, ip, r1, asr #12 mov r0, r0, lsl #0x1 str r1, [sp, #0x28] ldrsh r1, [r5, r0] ldr r0, [r4, #0x2f4] ldr r2, [sp, #0x30] mul r0, r1, r0 add r0, r0, #0x800 add r0, r2, r0, asr #12 str r0, [sp, #0x30] ldr r1, [r4, #0x184] ldr r0, [r4, #0x2f0] mov r2, #0x29 cmp r0, r1 ble _02168078 mvn r5, #0x80000000 mov r3, r2 add r0, r4, #0x2f0 str r5, [sp] bl func_0202b418 b _02168098 _02168078: mvn r0, #0x80000000 str r0, [sp] ldr r1, [r3, #4] add r0, r4, #0x2f0 add r1, r1, #0xcd add r1, r1, #0x400 mov r3, #0 bl func_0202b418 _02168098: ldr r0, _0216834c ; =data_027e0e60 ldr r5, [sp, #0x28] ldr r3, [sp, #0x2c] ldr r2, [sp, #0x30] ldr r0, [r0] str r2, [sp, #0xc] add r1, sp, #4 str r5, [sp, #4] str r3, [sp, #8] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r4, #0x98] ldr r2, [r4, #0x18c] add r1, r1, r0 ldr r0, [r4, #0x2f0] add r1, r2, r1 cmp r0, r1 strlt r1, [r4, #0x2f0] add r0, r4, #0x300 ldrh r2, [r0, #8] ldr r0, _02168348 ; =data_02050f54 ldr r1, [r4, #0x18c] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 ldrsh r2, [r0, r2] ldr r3, [r4, #0x2f0] add r0, sp, #0x28 mul r1, r2, r1 add r1, r1, #0x800 add r3, r3, r1, asr #12 add r1, r4, #0x48 add r2, r4, #0x60 str r3, [sp, #0x2c] bl func_01ff9bf8 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _02168128: ldrh r1, [r4, #0x78] ldr r3, _02168348 ; =data_02050f54 ldr lr, [r4, #0x2fc] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 add r1, r1, #1 ldrsh r2, [r3, r2] mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] smull r3, r5, r2, lr adds ip, r3, #0x800 smull r3, r2, r1, lr adc r1, r5, #0 adds r3, r3, #0x800 mov r5, ip, lsr #0xc ldr ip, [r4, #0x64] orr r5, r5, r1, lsl #20 str r5, [r4, #0x60] adc r1, r2, #0 mov r2, r3, lsr #0xc str ip, [r4, #0x64] orr r2, r2, r1, lsl #20 str r2, [r4, #0x68] ldr r2, [r4, #0x138] mov r1, #0 cmp r2, #5 bge _021681a0 bl _ZN5Actor12ApplyGravityEv b _021681b4 _021681a0: ldr r2, [r4, #0x64] ldr r0, [r4, #0x6c] adds r0, r2, r0 str r0, [r4, #0x64] strpl r1, [r4, #0x64] _021681b4: ldr r0, [r4, #0x64] cmp r0, #0 addne sp, sp, #0x40 ldmneia sp!, {r3, r4, r5, pc} ldr r2, _02168350 ; =0x00000666 mvn r5, #0x80000000 add r0, r4, #0x2fc mov r1, #0 mov r3, #0x29 str r5, [sp] bl func_0202b418 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _021681e8: bl func_ov15_02168700 ldr r0, _02168344 ; =data_027e0f94 add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x300 ldrh r0, [r0, #0xc] ldr ip, _02168348 ; =data_02050f54 ldr r1, [r4, #0x2f4] mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 mov r0, r5, lsl #0x1 ldrsh r2, [ip, r0] ldr lr, [sp, #0x1c] add r0, r5, #1 mul r1, r2, r1 add r1, r1, #0x800 add r1, lr, r1, asr #12 mov r0, r0, lsl #0x1 str r1, [sp, #0x1c] ldrsh r1, [ip, r0] ldr r0, [r4, #0x2f4] ldr r2, [sp, #0x24] mul r0, r1, r0 add r0, r0, #0x800 add r0, r2, r0, asr #12 str r0, [sp, #0x24] ldr r5, [r4, #0x64] ldr r1, [r4, #0x4c] mov r0, r3 add r3, r1, r5 add r1, r4, #0x48 add r2, r4, #0x60 str r3, [sp, #0x20] bl func_01ff9bf8 mov r0, r4 str r5, [r4, #0x64] bl _ZN5Actor12ApplyGravityEv add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _02168288: ldr r2, [r4, #0x64] mov r1, #0 str r1, [r4, #0x60] str r2, [r4, #0x64] str r1, [r4, #0x68] bl _ZN5Actor12ApplyGravityEv ldr r0, [r4, #0x138] add sp, sp, #0x40 cmp r0, #8 movge r0, #0 strge r0, [r4, #0x64] ldmia sp!, {r3, r4, r5, pc} _021682b8: ldr r0, _02168354 ; =data_027e0d0c add sp, sp, #0x40 ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] str r1, [r4, #0x64] ldr r0, [r0, #8] str r0, [r4, #0x68] ldmia sp!, {r3, r4, r5, pc} _021682dc: ldrh r1, [r4, #0x78] ldr r3, _02168348 ; =data_02050f54 mov r0, #0x7b mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 add r1, r1, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] smulbb r2, r2, r0 smulbb r1, r1, r0 add r2, r2, #0x800 mov r2, r2, asr #0xc add r1, r1, #0x800 str r2, [r4, #0x60] mov r1, r1, asr #0xc str r1, [r4, #0x68] ldrh r1, [r4, #0x26] cmp r1, #3 moveq r0, #0xf6 streq r0, [r4, #0x64] strne r0, [r4, #0x64] _02168338: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02167f14 _02168340: .word data_027e0fac _02168344: .word data_027e0f94 _02168348: .word data_02050f54 _0216834c: .word data_027e0e60 _02168350: .word 0x00000666 _02168354: .word data_027e0d0c .global func_ov15_02168358 arm_func_start func_ov15_02168358 func_ov15_02168358: ; 0x02168358 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r4, r0 ldr r1, [r4, #0x304] add r1, r1, #1 str r1, [r4, #0x304] ldr r1, [r4, #0x130] cmp r1, #6 addls pc, pc, r1, lsl #2 b _021685dc _02168380: ; jump table b _0216839c ; case 0 b _0216839c ; case 1 b _02168450 ; case 2 b _0216839c ; case 3 b _02168488 ; case 4 b _021685dc ; case 5 b _02168598 ; case 6 _0216839c: ldr r1, [r4, #0x2f4] cmp r1, #0 ble _021683c4 bl _ZN5Actor14GetAngleToLinkEv strh r0, [r4, #0x78] ldr r1, [r4, #0x2f4] ldr r0, [r4, #0x188] sub r0, r1, r0 str r0, [r4, #0x2f4] b _021683d4 _021683c4: mov r1, #6 bl func_ov15_02167d30 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} _021683d4: add r1, r4, #0x300 add r0, r4, #0x100 ldrsh r2, [r0, #0x90] ldrsh r3, [r1, #8] mov r0, r4 add r2, r3, r2 strh r2, [r1, #8] bl func_ov15_02168dc0 ldr r0, _021686e0 ; =data_027e0f94 add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r4 mov r1, r3 bl _ZN5Actor12XzDistanceToEP5Vec3p ldr r2, _021686e4 ; =0x00000733 mov r1, r0 cmp r1, r2 ble _0216843c ldr r2, [r4, #0x4c] ldr r0, [sp, #0x60] sub r0, r2, r0 bl func_01ffa0f4 add r1, r4, #0x300 strh r0, [r1, #0x10] b _021685dc _0216843c: add r0, r4, #0x310 mov r1, #0 mov r2, #0xb6 bl func_0202b154 b _021685dc _02168450: bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 add r0, r4, #0x78 mov r2, #0x5b0 bl func_0202b154 ldr r1, [r4, #0x64] cmp r1, #0 bne _021685dc cmp r0, #0 beq _021685dc mov r0, r4 mov r1, #3 bl func_ov15_02167d30 b _021685dc _02168488: ldr r1, [r4, #0x138] cmp r1, #8 blt _021685dc ldrh r1, [r4, #0x26] cmp r1, #3 bne _0216854c ldr r3, _021686e8 ; =data_027e0764 mov r2, #0 ldr ip, [r3] ldmib r3, {r1, lr} umull r6, r5, lr, ip mla r5, lr, r1, r5 ldr r1, [r3, #0xc] ldr lr, [r3, #0x10] mla r5, r1, ip, r5 ldr r1, [r3, #0x14] adds r6, lr, r6 adc r5, r1, r5 mov r1, #0x64000 umull ip, lr, r5, r1 mla lr, r5, r2, lr mla lr, r2, r1, lr str r6, [r3] str r5, [r3, #4] cmp lr, #0x32000 bge _02168540 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 ldr r0, [r4, #8] mov r1, #0 str r0, [sp, #0x4c] ldr r2, [r4, #0xc] ldr r0, _021686ec ; =data_027e0fe8 str r2, [sp, #0x50] str r1, [sp] ldr r0, [r0] ldr r1, _021686f0 ; =0x53485254 add r3, sp, #0x30 add r2, r4, #0x48 bl func_ov00_020c4048 b _02168570 _02168540: mov r1, #2 bl func_ov15_02123914 b _02168570 _0216854c: ldrh r2, [r4, #0x22] ldrh r1, [r4, #0x24] cmp r2, r1 bne _02168568 mov r1, #4 bl func_ov15_02123914 b _02168570 _02168568: mov r1, #2 bl func_ov15_02123914 _02168570: ldr r0, [r4, #0x304] cmp r0, #0x5a mov r0, r4 ble _0216858c bl func_ov15_02168c50 add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} _0216858c: mov r1, #5 bl func_ov15_02167d30 b _021685dc _02168598: ldr r2, [r4, #0x4c] ldr r1, [r4, #0x2f8] cmp r2, r1 movge r0, #0 addge sp, sp, #0x68 strgeb r0, [r4, #0x118] ldmgeia sp!, {r4, r5, r6, pc} bl func_ov15_02168dc0 add r0, r4, #0x310 mov r1, #0 mov r2, #0xb6 bl func_0202b154 add r0, r4, #0x300 ldrsh r1, [r0, #0xa] ldr r2, _021686f4 ; =0x00000444 add r0, r4, #0x78 bl func_0202b154 _021685dc: add r0, r4, #0x1a8 bl func_ov00_020c5e20 ldrh r0, [r4, #0x22] ldrh r1, [r4, #0x20] add r0, r0, #1 cmp r1, r0 ble _021686b4 ldr r0, [r4, #0x304] cmp r0, #0x5a bne _021686b4 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 ldrh r1, [r4, #0x20] add r0, r4, #0x300 strh r1, [sp, #4] ldrh r1, [r4, #0x22] add r1, r1, #1 and r1, r1, #0xff strh r1, [sp, #6] ldrh r1, [r4, #0x24] strh r1, [sp, #8] ldrh r1, [r4, #0x26] strh r1, [sp, #0xa] ldrsh r0, [r0, #0xa] strh r0, [sp, #0x18] ldr r0, [r4, #0x130] cmp r0, #5 bne _0216867c ldr r1, [r4, #0x194] mov r0, r4 str r1, [sp, #0x20] ldr r1, [r4, #0x198] str r1, [sp, #0x24] bl func_ov15_02168c50 b _0216868c _0216867c: ldr r0, [r4, #8] str r0, [sp, #0x20] ldr r0, [r4, #0xc] str r0, [sp, #0x24] _0216868c: ldrsb r2, [r4, #0x2c] add r1, r4, #0x19c ldr r0, _021686ec ; =data_027e0fe8 strb r2, [sp, #0x10] str r1, [sp] ldr r0, [r0] ldr r1, _021686f8 ; =0x464c5052 add r3, sp, #4 add r2, r4, #0x48 bl func_ov00_020c4048 _021686b4: ldr r0, [r4, #0x130] cmp r0, #4 cmpne r0, #5 addeq sp, sp, #0x68 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _021686fc ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02168358 _021686e0: .word data_027e0f94 _021686e4: .word 0x00000733 _021686e8: .word data_027e0764 _021686ec: .word data_027e0fe8 _021686f0: .word 0x53485254 _021686f4: .word 0x00000444 _021686f8: .word 0x464c5052 _021686fc: .word data_027e10a4 .global func_ov15_02168700 arm_func_start func_ov15_02168700 func_ov15_02168700: ; 0x02168700 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r5, r0 ldr r1, _02168878 ; =data_027e0fac add r0, r5, #0x300 ldrsh r3, [r0, #0xa] ldrsh r0, [r1] ldr r2, [r5, #0x194] mvn r1, #0 add r0, r3, r0 mov r0, r0, lsl #0x10 cmp r2, r1 mov r6, r0, asr #0x10 beq _02168770 ldr r0, _0216887c ; =data_027e0fe4 add r1, r5, #0x194 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02168764 ldr r1, [r0, #0x130] cmp r1, #1 addls r0, r0, #0x300 ldrlssh r6, [r0, #0xc] b _02168770 _02168764: mvn r0, #0 str r0, [r5, #0x194] str r0, [r5, #0x198] _02168770: add r0, r5, #0x300 ldrsh r4, [r0, #0xc] mov r1, r6 add r0, r5, #0x30c mov r2, #0x7b bl func_0202b3bc mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov ip, r0, lsl #0x1 ldr r1, _02168880 ; =data_02050f54 mov r0, ip, lsl #0x1 ldrsh r3, [r1, r0] ldr r2, [r5, #0x2f4] add r0, ip, #1 mul r2, r3, r2 add r2, r2, #0x800 mov r0, r0, lsl #0x1 mov r2, r2, asr #0xc ldrsh r3, [r1, r0] str r2, [sp] ldr r2, [r5, #0x2f4] add r0, r5, #0x300 mul r2, r3, r2 add r2, r2, #0x800 mov r2, r2, asr #0xc str r2, [sp, #8] ldrh r2, [r0, #0xc] ldr r3, [r5, #0x2f4] add r0, sp, #0xc mov r2, r2, asr #0x4 mov lr, r2, lsl #0x1 mov r2, lr, lsl #0x1 ldrsh ip, [r1, r2] add r2, lr, #1 mov r2, r2, lsl #0x1 mul r3, ip, r3 add r3, r3, #0x800 mov r3, r3, asr #0xc str r3, [sp, #0xc] ldrsh r3, [r1, r2] ldr r2, [r5, #0x2f4] add r1, sp, #0 mul r2, r3, r2 add r2, r2, #0x800 mov r2, r2, asr #0xc str r2, [sp, #0x14] bl func_ov00_020ce2f0 mov r1, r0 ldr r0, _02168884 ; =0x0000019a cmp r1, r0 addle sp, sp, #0x18 ldmleia sp!, {r4, r5, r6, pc} bl Divide add r2, r5, #0x300 ldrsh r1, [r2, #0xc] sub r1, r1, r4 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mul r0, r1, r0 add r0, r0, #0x800 mov r0, r0, lsl #0x4 add r0, r4, r0, asr #16 strh r0, [r2, #0xc] add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02168700 _02168878: .word data_027e0fac _0216887c: .word data_027e0fe4 _02168880: .word data_02050f54 _02168884: .word 0x0000019a .global func_ov15_02168888 arm_func_start func_ov15_02168888 func_ov15_02168888: ; 0x02168888 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x3c mov r5, r1 mov r6, r0 ldr r0, [r5, #0x1a4] bl _ZN5Actor16XzDistanceToLinkEv mov r4, r0 ldr r0, [r5, #0x1a4] bl _ZN5Actor14GetAngleToLinkEv strh r0, [sp, #6] cmp r4, #0x12800 bge _021688e8 add r0, sp, #0x24 add r3, sp, #6 mov r1, r5 add r2, r5, #0x2f4 bl func_ov15_02168b30 ldr r2, [sp, #0x24] ldr r1, [sp, #0x28] ldr r0, [sp, #0x2c] str r2, [sp, #0x30] str r1, [sp, #0x34] str r0, [sp, #0x38] b _02168a44 _021688e8: smull r0, r1, r4, r4 adds r2, r0, #0x800 ldr r0, _02168b20 ; =data_ov15_0218d094 adc r1, r1, #0 mov r2, r2, lsr #0xc ldr r0, [r0, #0x14] orr r2, r2, r1, lsl #20 sub r0, r2, r0 bl func_01ff9958 ldr r2, [r5, #0x2f4] mov r1, r0 cmp r1, r2 bge _0216898c sub r2, r2, r1 mov r1, #0x12800 str r2, [sp, #8] bl func_01ffa0f4 strh r0, [sp, #4] ldrb r0, [r5, #0x312] cmp r0, #0 bne _0216894c ldrsh r1, [sp, #4] mvn r0, #0 smulbb r0, r1, r0 strh r0, [sp, #4] _0216894c: ldrsh r3, [sp, #4] ldrsh r1, [sp, #6] add r0, sp, #0x18 add r2, sp, #8 add r4, r3, r1 add r3, sp, #4 mov r1, r5 strh r4, [sp, #4] bl func_ov15_02168b30 ldr r2, [sp, #0x18] ldr r1, [sp, #0x1c] ldr r0, [sp, #0x20] str r2, [sp, #0x30] str r1, [sp, #0x34] str r0, [sp, #0x38] b _02168a44 _0216898c: mov r0, #0x12800 bl func_01ffa0f4 ldrb r1, [r5, #0x312] mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 cmp r1, #0 bne _021689b8 mvn r0, #0 smulbb r0, r3, r0 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 _021689b8: ldrsh r0, [sp, #6] ldr r1, _02168b24 ; =data_027e0f94 ldr r2, _02168b28 ; =data_02050f54 add r0, r0, #0x8000 sub r0, r0, r3 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 r3, r0, lsl #0x1 add r0, r3, #1 mov r3, r3, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r2, r3] ldr r4, [r5, #0x2f4] ldrsh r2, [r2, r0] smull r0, ip, r3, r4 adds lr, r0, #0x800 ldr r0, [r1, #4] smull r4, r3, r2, r4 adc ip, ip, #0 adds r4, r4, #0x800 mov lr, lr, lsr #0xc adc r2, r3, #0 mov r3, r4, lsr #0xc ldr r4, [r1] orr lr, lr, ip, lsl #20 add r4, r4, lr ldr r1, [r1, #8] orr r3, r3, r2, lsl #20 add r1, r1, r3 str r0, [sp, #0x34] str r4, [sp, #0x30] str r1, [sp, #0x38] _02168a44: ldr r1, [r5, #0x184] ldr r2, [r5, #0x2f0] add r0, r5, #0x300 cmp r2, r1 ldrh r4, [r0, #8] mov r2, #0x29 ble _02168a78 mvn ip, #0x80000000 mov r3, r2 add r0, r5, #0x2f0 str ip, [sp] bl func_0202b418 b _02168a9c _02168a78: ldr r0, _02168b24 ; =data_027e0f94 mvn r1, #0x80000000 str r1, [sp] ldr r1, [r0, #4] add r0, r5, #0x2f0 add r1, r1, #0xcd add r1, r1, #0x400 mov r3, #0 bl func_0202b418 _02168a9c: ldr r0, _02168b2c ; =data_027e0e60 ldr ip, [sp, #0x30] ldr r3, [sp, #0x34] ldr r2, [sp, #0x38] ldr r0, [r0] str r2, [sp, #0x14] add r1, sp, #0xc str ip, [sp, #0xc] str r3, [sp, #0x10] mov r2, #0 bl func_ov00_02083ee0 ldr r1, [r5, #0x98] ldr r2, [r5, #0x18c] add r1, r1, r0 ldr r0, [r5, #0x2f0] add r1, r2, r1 cmp r0, r1 strlt r1, [r5, #0x2f0] mov r1, r4, asr #0x4 ldr r0, _02168b28 ; =data_02050f54 mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] ldr r0, [r5, #0x18c] ldr r2, [r5, #0x2f0] mul r0, r1, r0 add r0, r0, #0x800 add r1, r2, r0, asr #12 add r0, sp, #0x30 str r1, [sp, #0x34] ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02168888 _02168b20: .word data_ov15_0218d094 _02168b24: .word data_027e0f94 _02168b28: .word data_02050f54 _02168b2c: .word data_027e0e60 .global func_ov15_02168b30 arm_func_start func_ov15_02168b30 func_ov15_02168b30: ; 0x02168b30 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r4, _02168c48 ; =data_ov15_0218d094 mov r5, r0 mov r6, r1 ldr r0, [r2] ldr r1, [r4, #0x18] mov r4, r3 bl Divide ldr r2, [r6, #0x1a4] mov r0, r0, lsl #0x10 ldrb r1, [r6, #0x312] add r0, r0, #0x800 ldr r6, [r2, #0x48] ldr r3, [r2, #0x4c] ldr r2, [r2, #0x50] mov r0, r0, lsl #0x4 str r6, [sp] str r3, [sp, #4] str r2, [sp, #8] cmp r1, #0 mov r3, r0, asr #0x10 bne _02168b9c mvn r0, #0 smulbb r0, r3, r0 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 _02168b9c: ldrsh r0, [r4] ldr r2, _02168c4c ; =data_02050f54 mov r1, #0 add r0, r0, r3 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 r0, r0, lsl #0x1 mov r3, r0, lsl #0x1 add r0, r0, #1 ldrsh ip, [r2, r3] mov r0, r0, lsl #0x1 ldrsh r2, [r2, r0] mov r0, #0x12800 umull r6, lr, ip, r0 mla lr, ip, r1, lr umull r4, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mov ip, ip, asr #0x1f adds r7, r6, #0x800 mla lr, ip, r0, lr adc r6, lr, #0 mov r7, r7, lsr #0xc mla r3, r1, r0, r3 adds r4, r4, #0x800 ldr r2, [sp] orr r7, r7, r6, lsl #20 adc r0, r3, #0 add r3, r2, r7 mov r1, r4, lsr #0xc orr r1, r1, r0, lsl #20 ldr r2, [sp, #8] add r0, sp, #0 add r1, r2, r1 str r3, [sp] str r1, [sp, #8] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02168b30 _02168c48: .word data_ov15_0218d094 _02168c4c: .word data_02050f54 .global func_ov15_02168c50 arm_func_start func_ov15_02168c50 func_ov15_02168c50: ; 0x02168c50 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x194] mvn r0, #0 cmp r1, r0 beq _02168c88 ldr r0, _02168d08 ; =data_027e0fe4 add r1, r4, #0x194 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02168c88 add r1, r4, #0x19c bl func_ov15_02168d0c _02168c88: ldrh r0, [r4, #0x22] ldr r1, [r4, #0x19c] cmp r0, #0 mvn r0, #0 bne _02168cc4 cmp r1, r0 mov r0, r4 bne _02168cb8 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 ldmia sp!, {r4, pc} _02168cb8: mov r1, #5 bl func_ov15_02167d30 ldmia sp!, {r4, pc} _02168cc4: cmp r1, r0 beq _02168cf4 ldr r0, _02168d08 ; =data_027e0fe4 add r1, r4, #0x19c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02168cf4 ldr r1, [r4, #0x194] str r1, [r0, #0x194] ldr r1, [r4, #0x198] str r1, [r0, #0x198] _02168cf4: mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02168c50 _02168d08: .word data_027e0fe4 .global func_ov15_02168d0c arm_func_start func_ov15_02168d0c func_ov15_02168d0c: ; 0x02168d0c stmdb sp!, {r3, lr} ldr r2, [r1] str r2, [r0, #0x19c] ldr r1, [r1, #4] str r1, [r0, #0x1a0] ldrh r1, [r0, #0x22] cmp r1, #0 ldreq r1, [r0, #0x130] cmpeq r1, #5 ldreq r2, [r0, #0x19c] mvneq r1, #0 cmpeq r2, r1 ldmneia sp!, {r3, pc} mov r1, #0 strb r1, [r0, #0x180] ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov15_02168d0c .global func_ov15_02168d58 arm_func_start func_ov15_02168d58 func_ov15_02168d58: ; 0x02168d58 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #0x1a4] mov r1, #6 bl func_ov15_02167d30 ldr r1, [r4, #0x19c] mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} ldr r0, _02168da0 ; =data_027e0fe4 add r1, r4, #0x19c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov15_02168d58 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02168d58 _02168da0: .word data_027e0fe4 .global func_ov15_02168da4 arm_func_start func_ov15_02168da4 func_ov15_02168da4: ; 0x02168da4 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] cmp r1, #4 ldmeqia sp!, {r3, pc} mov r1, #4 bl func_ov15_02167d30 ldmia sp!, {r3, pc} arm_func_end func_ov15_02168da4 .global func_ov15_02168dc0 arm_func_start func_ov15_02168dc0 func_ov15_02168dc0: ; 0x02168dc0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1b8] mov r1, #0 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _02168df8 ldr r0, [r4, #0x1b8] mov r1, #0x1e000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02168e10 _02168df8: ldr r0, _02168e58 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x2a0 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} _02168e10: ldr r0, [r4, #0x1b8] mov r1, #0xf000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _02168e40 ldr r0, [r4, #0x1b8] mov r1, #0x2d000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} _02168e40: ldr r0, _02168e58 ; =data_027e0ffc ldr r1, _02168e5c ; =0x000002a1 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02168dc0 _02168e58: .word data_027e0ffc _02168e5c: .word 0x000002a1 .global func_ov15_02168e60 arm_func_start func_ov15_02168e60 func_ov15_02168e60: ; 0x02168e60 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02168eec ldr r0, [r5, #0x130] cmp r0, #4 bne _02168eec ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldrb r0, [r5, #0x118] cmp r0, #0 beq _02168eec mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb8] blx r1 ldrb r0, [r5, #0x118] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _02168eec: mov r0, r5 mov r1, r4 bl func_ov15_02123b78 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02168e60 .global func_ov15_02168efc arm_func_start func_ov15_02168efc func_ov15_02168efc: ; 0x02168efc stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr ip, [r1, #0x14] ldr r1, _02168f94 ; =0x434e424c ldr r2, [ip, #4] mov r4, r0 cmp r2, r1 addne sp, sp, #0x18 movne r0, #0 ldmneia sp!, {r4, pc} add r0, ip, #0x60 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0xc] cmp r0, #0 ldreq r0, [sp, #0x14] cmpeq r0, #0 bne _02168f68 add r2, sp, #0 add r0, r4, #0x48 add r1, ip, #0x48 bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 b _02168f74 _02168f68: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] bl func_01ffa0f4 _02168f74: add r1, r4, #0x300 strh r0, [r1, #0xe] mov r0, r4 mov r1, #4 bl func_ov15_02167d30 mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02168efc _02168f94: .word 0x434e424c .global func_ov15_02168f98 arm_func_start func_ov15_02168f98 func_ov15_02168f98: ; 0x02168f98 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 ldrne r0, [r4, #0x130] cmpne r0, #5 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x300 ldrh r1, [r0, #0x10] ldr r3, _02169018 ; =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_01ff81f8 ldrsh r1, [r4, #0x78] add r0, sp, #0 bl func_ov15_0215cfc8 add r1, sp, #0 add r0, r4, #0x1a8 add r2, r4, #0x48 bl func_ov00_020c5e88 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02168f98 _02169018: .word data_02050f54 .global func_ov15_0216901c arm_func_start func_ov15_0216901c func_ov15_0216901c: ; 0x0216901c stmdb sp!, {r3, lr} ldr r1, _02169048 ; =data_027e0fe0 mov r0, #0x33c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_021691b0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216901c _02169048: .word data_027e0fe0 .global func_ov15_0216904c arm_func_start func_ov15_0216904c func_ov15_0216904c: ; 0x0216904c ldr r1, _02169074 ; =data_ov15_0218d2e4 mov r3, #0 str r1, [r0] mov r2, r3 _0216905c: add r1, r0, r3 add r3, r3, #1 strb r2, [r1, #4] cmp r3, #0x10 blt _0216905c bx lr .align 2, 0 arm_func_end func_ov15_0216904c _02169074: .word data_ov15_0218d2e4 .global func_ov15_02169078 arm_func_start func_ov15_02169078 func_ov15_02169078: ; 0x02169078 ldr r2, _02169088 ; =data_ov15_0218d1d4 str r2, [r0] str r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov15_02169078 _02169088: .word data_ov15_0218d1d4 .global func_ov15_0216908c arm_func_start func_ov15_0216908c func_ov15_0216908c: ; 0x0216908c ldr r3, [r1, #4] ldr r2, _021690b0 ; =0x434e424c cmp r3, r2 ldreq r2, [r0, #4] ldreq r0, [r1, #8] cmpeq r2, r0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_0216908c _021690b0: .word 0x434e424c .global func_ov15_021690b4 arm_func_start func_ov15_021690b4 func_ov15_021690b4: ; 0x021690b4 mov r0, #1 bx lr arm_func_end func_ov15_021690b4 .global func_ov15_021690bc arm_func_start func_ov15_021690bc func_ov15_021690bc: ; 0x021690bc stmdb sp!, {r3, lr} sub sp, sp, #8 add r0, sp, #0 mov r1, r2 bl func_ov15_02169078 ldr r0, _021690f8 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] mov r2, #0 bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021690bc _021690f8: .word data_027e0fe4 .global func_ov15_021690fc arm_func_start func_ov15_021690fc func_ov15_021690fc: ; 0x021690fc stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r0, _02169140 ; =data_ov15_0218d29c mov r3, #0 str r0, [r4] mov r2, r3 _0216911c: add r1, r4, r3 add r0, r4, r3, lsl #2 strb r2, [r1, #0x5c] add r3, r3, #1 str r2, [r0, #0x6c] cmp r3, #0x10 blt _0216911c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021690fc _02169140: .word data_ov15_0218d29c .global func_ov15_02169144 arm_func_start func_ov15_02169144 func_ov15_02169144: ; 0x02169144 ldr ip, _02169154 ; =func_ov00_020a9998 mov r1, #6 mov r2, #2 bx ip .align 2, 0 arm_func_end func_ov15_02169144 _02169154: .word func_ov00_020a9998 .global func_ov15_02169158 arm_func_start func_ov15_02169158 func_ov15_02169158: ; 0x02169158 ldr r2, [r1, #8] tst r2, #0x10 ldrneb r2, [r1, #0xae] mvneq r2, #0 cmp r2, #0 bxeq lr sub r3, r2, #1 add r2, r0, r3 ldrb r2, [r2, #0x5c] cmp r2, #0 addeq r0, r0, r3, lsl #2 moveq r1, #0 streq r1, [r0, #0x6c] bxeq lr ldr r1, [r1, #0xb4] add r2, r0, r3, lsl #2 ldr r0, [r1] ldr r2, [r2, #0x6c] bic r0, r0, #4 str r0, [r1] str r2, [r1, #0x50] bx lr arm_func_end func_ov15_02169158 .global func_ov15_021691b0 arm_func_start func_ov15_021691b0 func_ov15_021691b0: ; 0x021691b0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0216925c ; =data_ov15_0218d1e0 add r0, r4, #0x158 str r1, [r4] bl func_02035064 add r0, r4, #0x1e0 bl func_ov15_021690fc mvn r1, #0 str r1, [r4, #0x28c] ldr r0, _02169260 ; =data_ov00_020e2f04 str r1, [r4, #0x290] str r0, [r4, #0x294] mov r0, #1 strb r0, [r4, #0x298] mov r1, #0 strb r1, [r4, #0x299] str r1, [r4, #0x29c] str r1, [r4, #0x2a0] ldr r0, _02169264 ; =data_ov00_020e2e3c str r1, [r4, #0x2a4] str r0, [r4, #0x294] str r1, [r4, #0x2b4] str r1, [r4, #0x2a8] str r1, [r4, #0x2ac] add r0, r4, #0x2bc str r1, [r4, #0x2b0] bl func_ov15_0216904c mvn r0, #0 str r0, [r4, #0x2d8] add r0, r4, #0x200 mov r2, #0 strh r2, [r0, #0xdc] add r0, r4, #0x2e0 mov r1, #0x1000000 strb r2, [r4, #0x2de] bl func_ov00_020d18f4 mvn r1, #0 str r1, [r4, #0x28c] mov r0, r4 str r1, [r4, #0x290] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021691b0 _0216925c: .word data_ov15_0218d1e0 _02169260: .word data_ov00_020e2f04 _02169264: .word data_ov00_020e2e3c .global func_ov15_02169268 arm_func_start func_ov15_02169268 func_ov15_02169268: ; 0x02169268 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02169268 .global func_ov15_0216927c arm_func_start func_ov15_0216927c func_ov15_0216927c: ; 0x0216927c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216927c .global func_ov15_02169290 arm_func_start func_ov15_02169290 func_ov15_02169290: ; 0x02169290 stmdb sp!, {r4, lr} ldr r1, _021692e8 ; =data_ov15_0218d1e0 mov r4, r0 ldr r0, _021692ec ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x294 bl func_ov00_02093af0 add r0, r4, #0x2e0 bl func_ov00_020d1980 add r0, r4, #0x2bc bl func_ov00_02081f6c add r0, r4, #0x294 bl func_ov00_02094824 add r0, r4, #0x1e0 blx func_ov00_020a95ec add r0, r4, #0x158 bl func_020350ac mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02169290 _021692e8: .word data_ov15_0218d1e0 _021692ec: .word data_027e0f6c .global func_ov15_021692f0 arm_func_start func_ov15_021692f0 func_ov15_021692f0: ; 0x021692f0 stmdb sp!, {r4, lr} ldr r1, _02169350 ; =data_ov15_0218d1e0 mov r4, r0 ldr r0, _02169354 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x294 bl func_ov00_02093af0 add r0, r4, #0x2e0 bl func_ov00_020d1980 add r0, r4, #0x2bc bl func_ov00_02081f6c add r0, r4, #0x294 bl func_ov00_02094824 add r0, r4, #0x1e0 blx func_ov00_020a95ec add r0, r4, #0x158 bl func_020350ac mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021692f0 _02169350: .word data_ov15_0218d1e0 _02169354: .word data_027e0f6c .global func_ov15_02169358 arm_func_start func_ov15_02169358 func_ov15_02169358: ; 0x02169358 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r1, #0 mov r2, #1 mov r4, r0 bl _ZN5Actor18func_ov00_020c1c20Eiii ldr r0, _021694e4 ; =gAdventureFlags mov r1, #0xb7 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addne sp, sp, #0x20 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _021694e8 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0xc30 add r0, r0, #0x2000 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x1e0 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 add r0, r4, #0x1e0 bl func_ov15_02169144 ldr r0, _021694ec ; =data_027e0d0c mov r3, #0x15000 ldr r1, [r0] mvn r2, #0 str r1, [r4, #0x7c] ldr r1, [r0, #4] mov r5, #0x10800 str r1, [r4, #0x80] ldr ip, [r0, #8] mov r1, #0 str ip, [r4, #0x84] str r3, [r4, #0x88] bic r1, r1, #0x6000 str r2, [r4, #0x98] bic r1, r1, #0x1f orr r3, r1, #9 ldr r1, [r0] mov lr, #0xf800 str r1, [r4, #0xa8] ldr r1, [r0, #4] mov ip, #0xd800 str r1, [r4, #0xac] ldr r0, [r0, #8] add r2, r4, #0x2bc str r0, [r4, #0xb0] str r5, [r4, #0xb4] ldr r1, [r4, #0x48] add r0, r4, #0x294 str r1, [sp, #0xc] ldr r5, [r4, #0x4c] add r1, sp, #0xc str r5, [sp, #0x10] ldr r5, [r4, #0x50] str r3, [sp, #8] str r5, [sp, #0x14] str lr, [sp, #0x18] str ip, [sp, #0x1c] str r2, [sp] ldr ip, [r0] ldr r2, [r4, #8] ldr ip, [ip, #0x10] blx ip ldr r0, _021694f0 ; =data_027e0f6c str r4, [r4, #0x2d0] ldr r0, [r0] add r1, r4, #0x294 bl func_ov00_02093a5c ldr r0, [r4, #8] mov r3, #0 str r0, [r4, #0x300] ldr r1, [r4, #0xc] add r0, r4, #0x158 str r1, [r4, #0x304] strb r3, [r4, #0x334] ldr r2, [r4, #0x4c] mov r1, #7 str r2, [r4, #0x2d4] str r3, [sp] mov r2, #6 str r3, [sp, #4] bl func_020350b4 mov r2, #0 add r0, r4, #0x158 mov r1, #1 mov r3, r2 str r2, [sp] bl func_020351b8 mov r0, r4 mov r1, #0 bl func_ov15_02169ab4 mov r0, #1 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02169358 _021694e4: .word gAdventureFlags _021694e8: .word data_027e0fec _021694ec: .word data_027e0d0c _021694f0: .word data_027e0f6c .global func_ov15_021694f4 arm_func_start func_ov15_021694f4 func_ov15_021694f4: ; 0x021694f4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x20 mov r10, r0 str r1, [sp, #4] bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02169650 mov r0, r10 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r10, #0x130] ldr r1, _02169668 ; =data_ov15_021868f0 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r10, r0, asr #1 ldreq r1, [r1] beq _02169544 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _02169544: blx r1 ldr r1, _0216966c ; =data_ov15_0218d1bc ldr r2, _02169670 ; =data_ov15_0218d1c8 add r0, r10, #0x48 bl func_ov15_0215cb24 ldr r2, [r10, #0x4c] mov r1, #0 add r3, r2, r0 mov r0, r10 mov r2, r1 str r3, [r10, #0x2d4] bl _ZN5Actor18func_ov00_020c243cEiPi ldr r0, [r10, #0x130] cmp r0, #3 beq _02169648 mov r7, #0 ldr r4, _02169674 ; =data_027e0ffc ldr r5, _02169678 ; =data_ov15_02186918 mov r9, r7 add r11, sp, #0x14 _02169594: add r0, r10, r7 ldrb r6, [r0, #0x23c] tst r6, #1 beq _02169638 ldr r0, [r10, #0x48] ldr r3, [r5, r9, lsl #2] str r0, [sp, #8] ldr r1, [r10, #0x4c] ldr r0, _0216967c ; =data_027e0e60 str r1, [sp, #0xc] ldr r2, [r10, #0x50] ldr r0, [r0] str r2, [sp, #0x10] ldr r8, [r10, #0x50] add r1, sp, #8 mov r2, #0 add r8, r8, r3 bl func_ov00_02083ee0 ldr r2, [r10, #0x48] ldr r1, [r5, r9, lsl #2] str r0, [sp, #0x18] add r0, r2, r1 str r0, [sp, #0x14] str r8, [sp, #0x1c] mov r0, #0 cmp r6, #2 str r0, [sp] bhs _02169620 ldr r3, [r10, #8] mov r0, r4 mov r1, #0x358 mov r2, r11 add r3, r7, r3 bl func_ov00_020cec60 b _02169638 _02169620: ldr r3, [r10, #8] ldr r1, _02169680 ; =0x00000359 mov r0, r4 mov r2, r11 add r3, r7, r3 bl func_ov00_020cec60 _02169638: add r9, r9, #2 add r7, r7, #1 cmp r7, #0x10 blt _02169594 _02169648: mov r0, r10 bl func_ov15_0216a39c _02169650: ldr r1, [sp, #4] add r0, r10, #0xa4 add r2, r10, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021694f4 _02169668: .word data_ov15_021868f0 _0216966c: .word data_ov15_0218d1bc _02169670: .word data_ov15_0218d1c8 _02169674: .word data_027e0ffc _02169678: .word data_ov15_02186918 _0216967c: .word data_027e0e60 _02169680: .word 0x00000359 .global func_ov15_02169684 arm_func_start func_ov15_02169684 func_ov15_02169684: ; 0x02169684 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #0x10000 ldr r1, [r4, #0x2f8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _021696cc ldr r0, _02169700 ; =gAdventureFlags ldr r1, [r4, #0x2d8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021696e0 _021696cc: mov r0, r4 ldr r2, [r0] mov r1, r5 ldr r2, [r2, #0x14] blx r2 _021696e0: ldr r1, _02169704 ; =data_ov15_0218d1bc ldr r2, _02169708 ; =data_ov15_0218d1c8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r1, [r4, #0x4c] add r0, r1, r0 str r0, [r4, #0x2d4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02169684 _02169700: .word gAdventureFlags _02169704: .word data_ov15_0218d1bc _02169708: .word data_ov15_0218d1c8 .global func_ov15_0216970c arm_func_start func_ov15_0216970c func_ov15_0216970c: ; 0x0216970c stmdb sp!, {lr} sub sp, sp, #0xc cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 addeq sp, sp, #0xc ldmeqia sp!, {pc} mov r1, #0x6000 ldr r3, [r0, #0x2d4] rsb r1, r1, #0 cmp r3, r1 addlt sp, sp, #0xc ldmltia sp!, {pc} ldr r2, [r0, #0x50] ldr r1, [r0, #0x48] add r0, r0, #0x1e0 str r1, [sp] str r2, [sp, #8] str r3, [sp, #4] ldr r3, [r0] ldr r1, _02169778 ; =data_027e0194 ldr r3, [r3, #0x14] add r2, sp, #0 blx r3 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_0216970c _02169778: .word data_027e0194 .global func_ov15_0216977c arm_func_start func_ov15_0216977c func_ov15_0216977c: ; 0x0216977c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x44 ldrh r1, [r1] mov r10, r0 tst r1, #4 bne _021697a0 tst r1, #8 addeq sp, sp, #0x44 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021697a0: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _02169928 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r10, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x44 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x24 bl func_01ffbe34 ldr r0, _02169928 ; =data_027e0d3c mov r3, #2 mov r2, #1 ldr r0, [r0] mov r1, #0 str r3, [sp, #0x28] strb r2, [sp, #0x2f] bl func_ov00_02079008 str r0, [sp, #0x24] ldr r0, [r10, #0x130] cmp r0, #3 bge _021698d8 add r1, sp, #0x24 str r1, [sp] ldr r0, _0216992c ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x47 bl func_020313c8 ldr r8, _02169930 ; =data_ov15_021869b8 ldr r4, _02169934 ; =data_ov15_02186998 ldr r11, _02169928 ; =data_027e0d3c mov r9, #0 add r7, sp, #0x14 add r6, sp, #0x10 add r5, sp, #0x24 _02169848: add r0, r10, r9 ldrb r0, [r0, #0x23c] cmp r0, #4 bhs _021698c0 ldr r2, [r10, #0x50] ldr r0, [r8, #4] ldr r1, [r10, #0x48] add r2, r2, r0 ldr r0, [r8] str r2, [sp, #0x20] add r0, r1, r0 str r0, [sp, #0x18] mov r0, #0 str r0, [sp, #0x1c] str r7, [sp] str r6, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] mov r2, #0 ldr r0, [r11] add r1, sp, #0x18 mov r3, r2 bl func_ov00_02079470 str r5, [sp] mov r3, r9, lsl #0x1 ldrh r3, [r4, r3] ldr r0, _0216992c ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] bl func_020313c8 _021698c0: add r9, r9, #1 cmp r9, #0x10 add r8, r8, #8 blt _02169848 add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021698d8: addne sp, sp, #0x44 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r10, #0x100 ldrh r0, [r0, #0xb4] cmp r0, #1 ldreq r1, [r10, #0x1d4] ldreq r0, [r10, #0x1bc] cmpeq r1, r0 moveq r0, #1 movne r0, #0 cmp r0, #0 addne sp, sp, #0x44 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] add r3, sp, #0x24 add r0, r10, #0x158 bl func_02034a1c add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216977c _02169928: .word data_027e0d3c _0216992c: .word data_02063e4c _02169930: .word data_ov15_021869b8 _02169934: .word data_ov15_02186998 .global func_ov15_02169938 arm_func_start func_ov15_02169938 func_ov15_02169938: ; 0x02169938 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xc mov r5, r1 ldr r2, [r5, #0x14] mov r4, r0 cmp r2, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r1, [r2, #4] ldr r0, _02169aac ; =0x434e424c cmp r1, r0 addne sp, sp, #0xc movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} add r0, r2, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, [r4, #0x48] ldr r0, [sp] ldr r2, [sp, #8] ldr r1, [r4, #0x50] sub r0, r3, r0 sub r1, r2, r1 bl func_01ffa0f4 ldr r2, [r5, #0x14] mov r0, r0, asr #0xc add r0, r0, #8 and r6, r0, #0xf add r0, r4, r6, lsl #2 add r5, r4, #0x23c ldr r1, [r4, #0x4c] ldr r0, [r0, #0x24c] ldr r8, [r2, #0x88] add r0, r1, r0 add r9, r0, #0xd800 ldr r0, [sp, #4] add r1, r9, r8 cmp r1, r0 ldrb r7, [r5, r6] addlt sp, sp, #0xc movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, r9, pc} add r1, sp, #0 mov r0, r4 bl _ZN5Actor12XzDistanceToEP5Vec3p ldr r2, [sp, #4] ldr r1, _02169ab0 ; =0x0000159f sub r2, r2, r9 add r2, r2, #0xd800 mov r9, r0 cmp r2, r1 movlt r0, #0xf800 blt _02169a54 rsb r0, r1, #0 add r0, r2, r0 rsb r1, r1, #0xd800 bl Divide rsb ip, r0, #0x1000 mov r0, #0x6800 umull r3, r2, ip, r0 mov r1, #0 adds r3, r3, #0x800 mla r2, ip, r1, r2 mov r1, ip, asr #0x1f mla r2, r1, r0, r2 adc r0, r2, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, #0x9000 _02169a54: add r0, r0, r8 cmp r9, r0 bgt _02169a6c rsb r0, r8, #0x9000 cmp r9, r0 bge _02169a78 _02169a6c: add sp, sp, #0xc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02169a78: ldr r0, [r4, #0x130] cmp r0, #2 bne _02169aa0 cmp r7, #0 moveq r0, #1 streqb r0, [r5, r6] beq _02169aa0 cmp r7, #2 moveq r0, #3 streqb r0, [r5, r6] _02169aa0: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02169938 _02169aac: .word 0x434e424c _02169ab0: .word 0x0000159f .global func_ov15_02169ab4 arm_func_start func_ov15_02169ab4 func_ov15_02169ab4: ; 0x02169ab4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x118 mov r4, r1 mov r5, r0 cmp r4, #4 addls pc, pc, r4, lsl #2 b _02169e2c _02169ad0: ; jump table b _02169ae4 ; case 0 b _02169b50 ; case 1 b _02169be4 ; case 2 b _02169c3c ; case 3 b _02169dc8 ; case 4 _02169ae4: ldr r0, [r5, #0x130] cmp r0, #2 bne _02169e2c ldr r0, _02169e40 ; =data_027e10a4 mov r2, #0x19 ldr r1, [r0] ldr r0, _02169e44 ; =data_027e0d3c str r2, [r1, #0x54] ldr r0, [r0] bl func_ov00_02078fac cmp r0, #3 bne _02169e2c ldr r0, _02169e44 ; =data_027e0d3c mov r1, #0x3c ldr r0, [r0] bl func_ov15_0217d5d4 ldrb r0, [r5, #0x2a] cmp r0, #0 beq _02169b40 mov r0, r5 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii _02169b40: ldr r0, _02169e48 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 b _02169e2c _02169b50: ldr r0, _02169e48 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _02169e44 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078fac cmp r0, #3 beq _02169ba0 ldr r0, _02169e44 ; =data_027e0d3c add r1, r5, #0x48 ldr r0, [r0] mov r2, #0x3c bl func_ov15_0217d59c ldrb r0, [r5, #0x2a] cmp r0, #0 beq _02169ba0 mov r1, #0 mov r0, r5 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii _02169ba0: ldr r0, _02169e4c ; =data_027e0c68 ldr r2, _02169e50 ; =0x00050023 add r1, r5, #0x2e0 bl func_02036ce4 cmp r0, #0 mov r0, r5 beq _02169bd4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r0, _02169e4c ; =data_027e0c68 add r1, r5, #0x2e0 bl func_020368f4 b _02169e2c _02169bd4: mov r1, #2 bl func_ov15_02169ab4 add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, pc} _02169be4: ldr r0, _02169e40 ; =data_027e10a4 mov r2, #0x2e ldr r1, [r0] ldr r0, _02169e44 ; =data_027e0d3c str r2, [r1, #0x54] ldr r0, [r0] bl func_ov00_02078fac cmp r0, #3 beq _02169e2c ldr r0, _02169e44 ; =data_027e0d3c add r1, r5, #0x48 ldr r0, [r0] mov r2, #0x3c bl func_ov15_0217d59c ldrb r0, [r5, #0x2a] cmp r0, #0 beq _02169e2c mov r1, #0 mov r0, r5 mov r2, r1 bl _ZN5Actor18func_ov00_020c1c20Eiii b _02169e2c _02169c3c: add r0, sp, #0x68 bl func_ov00_0209a4f4 mov r1, #2 mvn r0, #0 mov r2, #0x32 str r0, [sp, #0x6c] strb r2, [sp, #0x71] ldr r0, _02169e54 ; =data_027e0f64 strb r1, [sp, #0x72] strb r1, [sp, #0x73] ldr r1, [r5, #0x48] ldr r0, [r0] str r1, [sp, #0x88] ldr r1, [r5, #0x4c] mov r2, #1 str r1, [sp, #0x8c] ldr r3, [r5, #0x50] add r1, sp, #0 str r3, [sp, #0x90] strb r2, [sp, #0x7c] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r2, _02169e58 ; =0x00000bb8 mov r3, #5 mov r1, #0xfa mov r0, r5 str r3, [sp, #4] str r2, [sp, #0xc] str r1, [sp, #0x10] bl _ZN5Actor14GetAngleToLinkEv ldrb r1, [sp, #0x61] ldrb r3, [sp, #0x60] mov r2, #0x1e000 strb r1, [sp, #0xf5] ldr r1, [sp, #4] strb r3, [sp, #0xf4] str r1, [sp, #0x98] ldr r1, [sp, #0xc] ldr r3, [sp] str r1, [sp, #0xa0] ldr r1, [sp, #0x1c] str r3, [sp, #0x94] ldr r3, [sp, #8] str r1, [sp, #0xb0] ldr r1, [sp, #0x24] str r3, [sp, #0x9c] ldr r3, [sp, #0x10] str r1, [sp, #0xb8] ldr r1, [sp, #0x2c] str r3, [sp, #0xa4] ldr r3, [sp, #0x20] str r1, [sp, #0xc0] ldr r1, [sp, #0x34] str r3, [sp, #0xb4] ldr r3, [sp, #0x28] str r1, [sp, #0xc8] ldr r1, [sp, #0x3c] str r3, [sp, #0xbc] ldr r3, [sp, #0x30] str r1, [sp, #0xd0] ldr r1, [sp, #0x44] str r3, [sp, #0xc4] ldr r3, [sp, #0x38] str r1, [sp, #0xd8] ldr r1, [sp, #0x4c] str r3, [sp, #0xcc] ldr r3, [sp, #0x40] str r1, [sp, #0xe0] ldr r1, [sp, #0x54] str r3, [sp, #0xd4] ldr r3, [sp, #0x48] str r1, [sp, #0xe8] ldr r1, [sp, #0x5c] str r3, [sp, #0xdc] ldr r3, [sp, #0x50] str r1, [sp, #0xf0] ldrb r6, [sp, #0x62] ldrb lr, [sp, #0x63] ldrb ip, [sp, #0x64] str r3, [sp, #0xe4] ldr r3, [sp, #0x58] ldr r1, _02169e5c ; =gAdventureFlags str r3, [sp, #0xec] mov r3, #0x5c str r0, [sp, #0x14] str r0, [sp, #0xa8] ldr r0, [r1] add r1, sp, #0x68 strb r6, [sp, #0xf6] strb lr, [sp, #0xf7] str r2, [sp, #0x18] str r2, [sp, #0xac] strb ip, [sp, #0xf8] str r3, [sp, #0xfc] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x2d8] add r0, sp, #0x68 bl func_ov00_0209a508 b _02169e2c _02169dc8: ldr r0, _02169e5c ; =gAdventureFlags ldr r1, [r5, #0x2d8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02169df0 ldr r0, _02169e5c ; =gAdventureFlags ldr r1, [r5, #0x2d8] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02169df0: ldr r0, _02169e4c ; =data_027e0c68 mvn r3, #0 ldr r2, _02169e60 ; =0x00050024 add r1, r5, #0x2e0 str r3, [r5, #0x2d8] bl func_02036ce4 cmp r0, #0 addeq sp, sp, #0x118 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldr r0, _02169e4c ; =data_027e0c68 add r1, r5, #0x2e0 bl func_020368f4 _02169e2c: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02169ab4 _02169e40: .word data_027e10a4 _02169e44: .word data_027e0d3c _02169e48: .word data_027e103c _02169e4c: .word data_027e0c68 _02169e50: .word 0x00050023 _02169e54: .word data_027e0f64 _02169e58: .word 0x00000bb8 _02169e5c: .word gAdventureFlags _02169e60: .word 0x00050024 .global func_ov15_02169e64 arm_func_start func_ov15_02169e64 func_ov15_02169e64: ; 0x02169e64 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x1e000 ldmgeia sp!, {r4, pc} bl func_ov15_0215d260 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov15_02169ab4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02169e64 .global func_ov15_02169e94 arm_func_start func_ov15_02169e94 func_ov15_02169e94: ; 0x02169e94 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x10000 ldr r1, [r4, #0x2f8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmeqia sp!, {r4, pc} add r0, r4, #0x2e0 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x2f8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmneia sp!, {r4, pc} mov r0, r4 mov r1, #2 bl func_ov15_02169ab4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02169e94 .global func_ov15_02169eec arm_func_start func_ov15_02169eec func_ov15_02169eec: ; 0x02169eec stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216a100 mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x32000 mov r1, #0 ble _02169f18 mov r0, r4 bl func_ov15_02169ab4 ldmia sp!, {r4, pc} _02169f18: add r0, r4, r1 ldrb r0, [r0, #0x23c] cmp r0, #4 ldmloia sp!, {r4, pc} add r1, r1, #1 cmp r1, #0x10 blt _02169f18 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #3 bl func_ov15_02169ab4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02169eec .global func_ov15_02169f54 arm_func_start func_ov15_02169f54 func_ov15_02169f54: ; 0x02169f54 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x138] cmp r0, #0x28 bgt _02169f98 ldmneia sp!, {r4, pc} ldr r0, _0216a004 ; =data_ov00_020eec9c ldr r1, _0216a008 ; =0x0000035a bl func_ov00_020d77e4 mov r2, #0 mov r1, #5 _02169f80: add r0, r4, r2 add r2, r2, #1 strb r1, [r0, #0x23c] cmp r2, #0x10 blt _02169f80 ldmia sp!, {r4, pc} _02169f98: add r0, r4, #0x158 bl func_0203516c mov r1, #0 _02169fa4: add r0, r4, r1 ldrb r0, [r0, #0x23c] cmp r0, #6 ldmneia sp!, {r4, pc} add r1, r1, #1 cmp r1, #0x10 blt _02169fa4 add r0, r4, #0x100 ldrh r0, [r0, #0xb4] cmp r0, #1 ldreq r1, [r4, #0x1d4] ldreq r0, [r4, #0x1bc] cmpeq r1, r0 moveq r0, #1 movne r0, #0 cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov15_0215d260 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #4 bl func_ov15_02169ab4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02169f54 _0216a004: .word data_ov00_020eec9c _0216a008: .word 0x0000035a .global func_ov15_0216a00c arm_func_start func_ov15_0216a00c func_ov15_0216a00c: ; 0x0216a00c stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0x10000 ldr r2, [r4, #0x2f8] rsb r1, r1, #0 and r1, r2, r1 cmp r1, #0x1000000 beq _0216a0e4 add r0, r4, #0x2e0 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x2f8] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmneia sp!, {r4, pc} ldr r0, _0216a0ec ; =data_027e10a4 mov r2, #0x19 ldr r1, [r0] ldr r0, _0216a0f0 ; =data_027e0d3c str r2, [r1, #0x54] ldr r0, [r0] bl func_ov00_02078fac cmp r0, #3 bne _0216a088 ldr r0, _0216a0f0 ; =data_027e0d3c mov r1, #0x3c ldr r0, [r0] bl func_ov15_0217d5d4 _0216a088: ldrb r0, [r4, #0x2a] cmp r0, #0 beq _0216a0a4 mov r0, r4 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii _0216a0a4: ldr r0, _0216a0f4 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _0216a0f8 ; =data_027e0fe4 add r1, r4, #0x28c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0216a0cc bl func_ov15_02168d58 _0216a0cc: ldr r0, _0216a0fc ; =gAdventureFlags mov r1, #0xb7 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb ldmia sp!, {r4, pc} _0216a0e4: bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216a00c _0216a0ec: .word data_027e10a4 _0216a0f0: .word data_027e0d3c _0216a0f4: .word data_027e103c _0216a0f8: .word data_027e0fe4 _0216a0fc: .word gAdventureFlags .global func_ov15_0216a100 arm_func_start func_ov15_0216a100 func_ov15_0216a100: ; 0x0216a100 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x3c ldr r1, _0216a384 ; =data_027e0f90 mov r4, r0 ldr r0, [r1] ldrsh r0, [r0, #0xa] cmp r0, #0 addle sp, sp, #0x3c ldmleia sp!, {r4, r5, r6, r7, r8, r9, pc} ldrb r0, [r4, #0x2de] tst r0, #1 bne _0216a2f8 add r0, r4, #0x200 ldrh r1, [r0, #0xdc] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0xdc] addne sp, sp, #0x3c ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} 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 ldr r0, [r4, #8] ldr r5, _0216a388 ; =data_027e0764 str r0, [sp, #0x20] ldr r0, [r4, #0xc] ldr r7, [r5] str r0, [sp, #0x24] ldr r0, [r4, #0x48] ldr r2, [r5, #4] str r0, [sp, #0x30] ldr r0, [r4, #0x4c] mov r9, #0 str r0, [sp, #0x34] ldr r0, [r4, #0x50] mov r6, r9, lsl #0x1 str r0, [sp, #0x38] ldr r1, [r5, #8] ldr r0, [r5, #0xc] umull ip, r8, r1, r7 mla r8, r1, r2, r8 ldr r3, [r5, #0x10] mla r8, r0, r7, r8 ldr r2, [r5, #0x14] adds lr, r3, ip adc ip, r2, r8 orr r6, r6, ip, lsr #31 add r6, r6, #3 and r8, r6, #0xff str lr, [r5] mov r6, r9 str ip, [r5, #4] strh r8, [sp, #4] cmp r8, #4 strh r6, [sp, #6] blo _0216a234 cmp r8, #0 ble _0216a228 umull r7, r6, r1, lr mla r6, r1, ip, r6 mla r6, r0, lr, r6 adds lr, r3, r7 adc ip, r2, r6 cmp r8, #0 moveq r6, ip umullne r0, r6, ip, r8 mlane r6, ip, r9, r6 str lr, [r5] mlane r6, r9, r8, r6 str ip, [r5, #4] _0216a228: and r0, r6, #0xff strh r0, [sp, #8] b _0216a23c _0216a234: mov r0, #0xff strh r0, [sp, #8] _0216a23c: ldr r6, _0216a388 ; =data_027e0764 ldr r5, _0216a38c ; =0x00005555 ldr r9, [r6, #8] ldr r1, [r6, #0xc] umull r2, r3, r9, lr mla r3, r9, ip, r3 mla r3, r1, lr, r3 ldr r0, [r6, #0x10] mov lr, #0 adds ip, r0, r2 ldr r2, [r6, #0x14] umull r8, r7, r9, ip adc r3, r2, r3 mla r7, r9, r3, r7 mla r7, r1, ip, r7 adds r0, r0, r8 adc r8, r2, r7 mov r2, #3 umull r7, r1, r3, r2 str ip, [r6] stmia r6, {r0, r3} umull ip, r7, r8, r5 mla r1, r3, lr, r1 mov r0, lr mla r1, r0, r2, r1 mla r7, r8, lr, r7 mla r7, r0, r5, r7 sub r0, r5, #0x8000 and r1, r1, #0xff add r0, r7, r0 strh r1, [sp, #0xa] strh r0, [sp, #0x18] str r8, [r6, #4] strb lr, [sp, #0x10] add r1, r4, #0x28c str r1, [sp] ldr r0, _0216a390 ; =data_027e0fe8 ldr r1, _0216a394 ; =0x464c5052 ldr r0, [r0] add r2, sp, #0x30 add r3, sp, #4 bl func_ov00_020c4048 ldrb r0, [r4, #0x2de] add sp, sp, #0x3c orr r0, r0, #1 strb r0, [r4, #0x2de] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216a2f8: ldr r0, _0216a398 ; =data_027e0fe4 add r1, r4, #0x28c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addne sp, sp, #0x3c ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} ldrb r0, [r4, #0x2de] ldr r2, _0216a388 ; =data_027e0764 mov r1, #0 bic r0, r0, #1 strb r0, [r4, #0x2de] ldr r3, [r2] ldmib r2, {r0, r5} umull ip, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds ip, r5, ip adc r6, r0, r6 mov r0, #0x65 umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 add r0, r5, #0x5e str ip, [r2] add r0, r0, #0x100 and r1, r0, #0xff str r6, [r2, #4] add r0, r4, #0x200 strh r1, [r0, #0xdc] add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0216a100 _0216a384: .word data_027e0f90 _0216a388: .word data_027e0764 _0216a38c: .word 0x00005555 _0216a390: .word data_027e0fe8 _0216a394: .word 0x464c5052 _0216a398: .word data_027e0fe4 .global func_ov15_0216a39c arm_func_start func_ov15_0216a39c func_ov15_0216a39c: ; 0x0216a39c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc mov ip, #0xf000 rsb ip, ip, #0 add r3, ip, #0x3000 add r11, ip, #0xc000 str r3, [sp] str r3, [sp, #8] mov r3, r11 str r3, [sp, #4] add r1, r0, #0x23c ldr r3, _0216a554 ; =data_027e0764 add r0, r0, #0x24c mov r2, #0 _0216a3d4: ldrb r4, [r1, r2] cmp r4, #0 beq _0216a540 cmp r4, #1 bne _0216a458 ldr r5, [r3] ldmib r3, {r4, r7} umull r9, r8, r7, r5 mla r8, r7, r4, r8 ldr r6, [r3, #0xc] ldr lr, [r3, #0x10] mla r8, r6, r5, r8 ldr r10, [r3, #0x14] adds r4, lr, r9 adc r5, r10, r8 stmia r3, {r4, r5} mov r4, #0x1ec umull r4, r6, r5, r4 mov r4, #0 mla r6, r5, r4, r6 mov r5, r4 mov r4, #0x1ec mla r6, r5, r4, r6 ldr r7, [r0, r2, lsl #2] ldr r4, [sp, #4] sub r5, r7, r6 str r5, [r0, r2, lsl #2] cmp r5, r4 bgt _0216a540 str r11, [r0, r2, lsl #2] mov r4, #2 strb r4, [r1, r2] b _0216a540 _0216a458: cmp r4, #3 bne _0216a4d4 ldr r5, [r3] ldmib r3, {r4, r7} umull r9, r8, r7, r5 mla r8, r7, r4, r8 ldr r6, [r3, #0xc] ldr lr, [r3, #0x10] mla r8, r6, r5, r8 ldr r10, [r3, #0x14] adds r4, lr, r9 adc r5, r10, r8 stmia r3, {r4, r5} mov r4, #0x1ec umull r4, r6, r5, r4 mov r4, #0 mla r6, r5, r4, r6 mov r5, r4 mov r4, #0x1ec mla r6, r5, r4, r6 ldr r7, [r0, r2, lsl #2] ldr r4, [sp, #8] sub r5, r7, r6 str r5, [r0, r2, lsl #2] cmp r5, r4 bgt _0216a540 ldr r4, [sp] str r4, [r0, r2, lsl #2] mov r4, #4 strb r4, [r1, r2] b _0216a540 _0216a4d4: cmp r4, #5 bne _0216a540 ldr r6, [r3, #8] ldmia r3, {r4, lr} umull r8, r7, r6, r4 mla r7, r6, lr, r7 ldr r5, [r3, #0xc] ldr r10, [r3, #0x10] mla r7, r5, r4, r7 ldr r9, [r3, #0x14] adds r4, r10, r8 adc r5, r9, r7 stmia r3, {r4, r5} mov r4, #0x1ec umull r4, r6, r5, r4 mov r4, #0 mla r6, r5, r4, r6 mov r5, r4 mov r4, #0x1ec mla r6, r5, r4, r6 ldr r7, [r0, r2, lsl #2] sub r4, r7, r6 str r4, [r0, r2, lsl #2] cmp r4, ip strle ip, [r0, r2, lsl #2] movle r4, #6 strleb r4, [r1, r2] _0216a540: add r2, r2, #1 cmp r2, #0x10 blt _0216a3d4 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216a39c _0216a554: .word data_027e0764 .global func_ov15_0216a558 arm_func_start func_ov15_0216a558 func_ov15_0216a558: ; 0x0216a558 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216a558 .global func_ov15_0216a574 arm_func_start func_ov15_0216a574 func_ov15_0216a574: ; 0x0216a574 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216a574 .global func_ov15_0216a590 arm_func_start func_ov15_0216a590 func_ov15_0216a590: ; 0x0216a590 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #8 mov r0, #1 ldr r1, _0216a734 ; =gAdventureFlags str r0, [sp, #4] ldr r0, [r1] ldr r1, [sp, #4] str r1, [sp] ldr r11, [sp, #4] mov r4, r11 mov r5, r11 mov r6, r11 mov r7, r11 mov r8, r11 mov r9, r11 mov r10, r11 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0216a614 ldr r0, _0216a738 ; =data_027e0c68 bl func_02036798 cmp r0, #0 bne _0216a614 ldr r0, _0216a73c ; =data_ov09_0211f5b4 bl func_ov03_020f3f94 cmp r0, #0 bne _0216a614 ldr r0, _0216a740 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 movne r10, #0 _0216a614: cmp r10, #0 bne _0216a630 ldr r0, _0216a744 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #1 movne r9, #0 _0216a630: cmp r9, #0 bne _0216a64c ldr r0, _0216a744 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a538 cmp r0, #0 moveq r8, #0 _0216a64c: cmp r8, #0 bne _0216a66c ldr r0, _0216a748 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 moveq r7, #0 _0216a66c: cmp r7, #0 bne _0216a680 bl func_ov15_0217e4c4 cmp r0, #0 moveq r6, #0 _0216a680: cmp r6, #0 ldreq r0, _0216a74c ; =data_027e0d04 ldreqb r0, [r0, #5] cmpeq r0, #0 moveq r5, #0 cmp r5, #0 bne _0216a6a8 bl func_ov15_0215b780 cmp r0, #0 moveq r4, #0 _0216a6a8: cmp r4, #0 bne _0216a6c4 ldr r0, _0216a750 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_020848b8 cmp r0, #0 moveq r11, #0 _0216a6c4: cmp r11, #0 bne _0216a704 ldr r0, _0216a734 ; =gAdventureFlags mov r1, #0x1f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #1 bne _0216a6fc ldr r0, _0216a734 ; =gAdventureFlags mov r1, #0x52 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0216a704 _0216a6fc: mov r0, #0 str r0, [sp] _0216a704: ldr r0, [sp] cmp r0, #0 bne _0216a728 ldr r0, _0216a744 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_021428f0 cmp r0, #0 movne r0, #0 strne r0, [sp, #4] _0216a728: ldr r0, [sp, #4] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216a590 _0216a734: .word gAdventureFlags _0216a738: .word data_027e0c68 _0216a73c: .word data_ov09_0211f5b4 _0216a740: .word data_027e0d38 _0216a744: .word data_027e10a4 _0216a748: .word data_027e0d3c _0216a74c: .word data_027e0d04 _0216a750: .word data_027e0e60 .global func_ov15_0216a754 arm_func_start func_ov15_0216a754 func_ov15_0216a754: ; 0x0216a754 ldr r1, _0216a764 ; =data_027e1058 ldr ip, _0216a768 ; =func_ov09_0211c0a4 ldr r1, [r1] bx ip .align 2, 0 arm_func_end func_ov15_0216a754 _0216a764: .word data_027e1058 _0216a768: .word func_ov09_0211c0a4 .global func_ov15_0216a76c arm_func_start func_ov15_0216a76c func_ov15_0216a76c: ; 0x0216a76c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 blx func_ov03_020fab28 ldr r0, _0216a7b4 ; =data_ov15_0218d358 mov r1, #4 ldr ip, _0216a7b8 ; =func_ov00_020b7d74 str r0, [r4] ldr r3, _0216a7bc ; =func_ov15_021341a0 mov r2, r1 add r0, r4, #0xc str ip, [sp] bl func_0204f614 add r0, r4, #0x1c blx func_ov09_0211cebc mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216a76c _0216a7b4: .word data_ov15_0218d358 _0216a7b8: .word func_ov00_020b7d74 _0216a7bc: .word func_ov15_021341a0 .global func_ov15_0216a7c0 arm_func_start func_ov15_0216a7c0 func_ov15_0216a7c0: ; 0x0216a7c0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1c blx func_ov09_0211ced8 mov r1, #4 ldr r3, _0216a7f4 ; =func_ov00_020b7d74 mov r2, r1 add r0, r4, #0xc bl func_0204f754 mov r0, r4 blx func_ov03_020fab4c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216a7c0 _0216a7f4: .word func_ov00_020b7d74 .global func_ov15_0216a7f8 arm_func_start func_ov15_0216a7f8 func_ov15_0216a7f8: ; 0x0216a7f8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1c blx func_ov09_0211ced8 mov r1, #4 ldr r3, _0216a834 ; =func_ov00_020b7d74 mov r2, r1 add r0, r4, #0xc bl func_0204f754 mov r0, r4 blx func_ov03_020fab4c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216a7f8 _0216a834: .word func_ov00_020b7d74 .global func_ov15_0216a838 arm_func_start func_ov15_0216a838 func_ov15_0216a838: ; 0x0216a838 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r2 mov r5, r0 blx func_ov03_020fab50 cmp r4, #0x2b bne _0216a870 bl func_ov15_0214650c mov r2, r0 add r0, r5, #0x1c mov r1, #0x2b mov r3, #0 blx func_ov09_0211ceec b _0216a8a8 _0216a870: ldr r0, [r5, #8] cmp r0, #0x25 bne _0216a894 mov r2, #0 mov r3, r2 add r0, r5, #0x1c mov r1, #0x25 blx func_ov09_0211ceec b _0216a8a8 _0216a894: mov r1, #0 mov r2, r1 mov r3, r1 add r0, r5, #0x1c blx func_ov09_0211ceec _0216a8a8: cmp r4, #0x2b bne _0216a8cc bl func_ov15_0214650c mov r6, r0 bl func_ov15_0214651c mov r1, r0 mov r0, r6 blx func_ov09_0211ca20 b _0216a8f8 _0216a8cc: cmp r4, #0x30 blt _0216a8e8 cmp r4, #0x37 bgt _0216a8e8 sub r0, r4, #0x30 blx func_ov09_0211cac0 b _0216a8f8 _0216a8e8: ldr r0, _0216a95c ; =gItemManager mov r1, r4 ldr r0, [r0] blx _ZN11ItemManager8GiveItemEjjj _0216a8f8: bl func_ov15_02146578 mov r1, r0 cmp r1, #0x20 bhs _0216a918 ldr r0, _0216a95c ; =gItemManager ldr r0, [r0] blx _ZN11ItemManager19SetTreasureSalvagedEj b _0216a93c _0216a918: sub r0, r1, #0x20 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 ldr r2, _0216a960 ; =data_027e0fe4 ldr r1, _0216a964 ; =data_ov15_0218d34c ldr r0, [r2] add r2, sp, #0 str r3, [sp] bl func_ov15_02184728 _0216a93c: ldr r0, _0216a95c ; =gItemManager mov r1, r4 ldr r0, [r0] blx _ZN11ItemManager15LoadFanfareItemEj mov r0, r5 bl func_ov15_0216a968 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216a838 _0216a95c: .word gItemManager _0216a960: .word data_027e0fe4 _0216a964: .word data_ov15_0218d34c .global func_ov15_0216a968 arm_func_start func_ov15_0216a968 func_ov15_0216a968: ; 0x0216a968 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldr r0, [r4, #8] blx _ZN4Item18func_ov00_020ad020Ei cmp r0, #0 beq _0216a994 ldr r0, _0216aa1c ; =data_027e0c68 ldr r1, _0216aa20 ; =func_ov15_0216a754 ldr r0, [r0, #0x28] str r1, [r0, #4] _0216a994: ldr r0, [r4, #8] bl func_ov03_020fc10c ldr r0, _0216aa24 ; =data_ov00_020eec68 mov r1, #0x28 bl func_ov00_020d73bc mov r1, #0 sub r0, r1, #0x1000 str r0, [sp, #0x18] str r1, [sp, #0x10] str r1, [sp, #0x14] str r1, [sp] str r1, [sp, #4] ldr r0, _0216aa28 ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r0] mov r1, #0x71 mov r3, #8 bl func_ov00_0207c1b0 mov r0, #0x6f str r0, [sp] mov r0, #0x70 str r0, [sp, #4] add r0, sp, #0x10 str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] ldr r0, _0216aa28 ; =data_027e0e58 add r1, r4, #0xc ldr r0, [r0] mov r2, #0x6d mov r3, #0x6e bl func_ov00_0207c358 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216a968 _0216aa1c: .word data_027e0c68 _0216aa20: .word func_ov15_0216a754 _0216aa24: .word data_ov00_020eec68 _0216aa28: .word data_027e0e58 .global func_ov15_0216aa2c arm_func_start func_ov15_0216aa2c func_ov15_0216aa2c: ; 0x0216aa2c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0216aa7c ; =data_027e0e58 mov r7, r0 ldr r4, [r1] add r6, r7, #0xc mov r5, #0 _0216aa44: mov r0, r4 mov r1, r6 bl func_ov00_0207c444 add r5, r5, #1 cmp r5, #4 add r6, r6, #4 blo _0216aa44 mov r0, r7 blx func_ov03_020fab58 bl func_ov15_021465e8 ldr r0, _0216aa80 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_021428c4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0216aa2c _0216aa7c: .word data_027e0e58 _0216aa80: .word data_027e10a4 .global func_ov15_0216aa84 arm_func_start func_ov15_0216aa84 func_ov15_0216aa84: ; 0x0216aa84 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 blx func_ov03_020fab5c ldr r0, _0216aad0 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 bne _0216aabc cmp r4, #0 bne _0216aac4 ldr r0, _0216aad4 ; =data_ov09_0211f5dc blx func_ov03_020fb118 b _0216aac4 _0216aabc: ldr r0, _0216aad8 ; =data_ov00_020eec68 bl func_ov00_020d71a0 _0216aac4: add r0, r5, #0x1c blx func_ov09_0211cedc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216aa84 _0216aad0: .word gAdventureFlags _0216aad4: .word data_ov09_0211f5dc _0216aad8: .word data_ov00_020eec68 .global func_ov15_0216aadc arm_func_start func_ov15_0216aadc func_ov15_0216aadc: ; 0x0216aadc stmdb sp!, {r4, r5, lr} sub sp, sp, #0x54 mov r4, r0 blx func_ov03_020fab60 add r0, sp, #0x30 add r1, r4, #0x1c blx func_ov09_0211d090 add r0, sp, #0x30 add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0216abe0 ; =gItemManager add r1, sp, #0x3c ldr r0, [r0] blx _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p cmp r0, #0 beq _0216ab80 ldr r2, [sp, #0x48] ldr r1, [sp, #0x3c] ldr r3, [sp, #0x4c] ldr r0, [sp, #0x40] smull r1, lr, r2, r1 adds r5, r1, #0x800 ldr r2, [sp, #0x50] ldr r1, [sp, #0x44] smull r0, ip, r3, r0 adc r3, lr, #0 adds lr, r0, #0x800 mov r0, r5, lsr #0xc orr r0, r0, r3, lsl #20 smull r3, r1, r2, r1 adc ip, ip, #0 adds r2, r3, #0x800 mov r3, lr, lsr #0xc orr r3, r3, ip, lsl #20 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r0, [sp, #0x48] str r3, [sp, #0x4c] str r2, [sp, #0x50] _0216ab80: add r4, r4, #0x1c add ip, sp, #0 ldmia r4, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r3, _0216abe0 ; =gItemManager add r0, sp, #0xc ldr r1, [r3] ldr r5, [r1, #0x114] mov r1, r4 blx func_ov09_0211d00c mov r0, r5 ldr r4, [r0] add r1, sp, #0x48 ldr r4, [r4, #0x10] add r2, sp, #0xc add r3, sp, #0 blx r4 ldr r0, _0216abe4 ; =data_027e0e58 mov r1, #0 ldr r0, [r0] mov r2, #8 bl func_ov05_0210d820 add sp, sp, #0x54 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216aadc _0216abe0: .word gItemManager _0216abe4: .word data_027e0e58 .global func_ov15_0216abe8 arm_func_start func_ov15_0216abe8 func_ov15_0216abe8: ; 0x0216abe8 stmdb sp!, {r3, lr} ldr r1, _0216ac14 ; =data_027e0fe0 mov r0, #0x1d4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0216ac84 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216abe8 _0216ac14: .word data_027e0fe0 .global func_ov15_0216ac18 arm_func_start func_ov15_0216ac18 func_ov15_0216ac18: ; 0x0216ac18 stmdb sp!, {r3, lr} ldr r1, _0216ac44 ; =data_027e0fe0 mov r0, #0x1d4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0216acbc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216ac18 _0216ac44: .word data_027e0fe0 .global func_ov15_0216ac48 arm_func_start func_ov15_0216ac48 func_ov15_0216ac48: ; 0x0216ac48 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _0216ac80 ; =data_ov15_0218d4f8 add r0, r4, #0x15c str r1, [r4] mov r1, #0 str r1, [r4, #0x158] blx func_ov00_020a9588 mov r1, #0 str r1, [r4, #0x1c4] mov r0, r4 strb r1, [r4, #0x1c8] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216ac48 _0216ac80: .word data_ov15_0218d4f8 .global func_ov15_0216ac84 arm_func_start func_ov15_0216ac84 func_ov15_0216ac84: ; 0x0216ac84 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216ac48 ldr r0, _0216acb8 ; =data_ov15_0218d438 add r1, r4, #0x100 str r0, [r4] mov r2, #0 strh r2, [r1, #0xca] strh r2, [r1, #0xce] strb r2, [r4, #0x1d2] mov r0, r4 strh r2, [r1, #0xd0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216ac84 _0216acb8: .word data_ov15_0218d438 .global func_ov15_0216acbc arm_func_start func_ov15_0216acbc func_ov15_0216acbc: ; 0x0216acbc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216ac48 ldr r0, _0216acf0 ; =data_ov15_0218d378 add r1, r4, #0x100 str r0, [r4] mov r2, #0 strh r2, [r1, #0xca] strh r2, [r1, #0xce] strb r2, [r4, #0x1d2] mov r0, r4 strh r2, [r1, #0xd0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216acbc _0216acf0: .word data_ov15_0218d378 .global func_ov15_0216acf4 arm_func_start func_ov15_0216acf4 func_ov15_0216acf4: ; 0x0216acf4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216acf4 .global func_ov15_0216ad14 arm_func_start func_ov15_0216ad14 func_ov15_0216ad14: ; 0x0216ad14 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ad14 .global func_ov15_0216ad3c arm_func_start func_ov15_0216ad3c func_ov15_0216ad3c: ; 0x0216ad3c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ad3c .global func_ov15_0216ad5c arm_func_start func_ov15_0216ad5c func_ov15_0216ad5c: ; 0x0216ad5c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216ad3c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ad5c .global func_ov15_0216ad70 arm_func_start func_ov15_0216ad70 func_ov15_0216ad70: ; 0x0216ad70 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216ad3c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ad70 .global func_ov15_0216ad8c arm_func_start func_ov15_0216ad8c func_ov15_0216ad8c: ; 0x0216ad8c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216ad3c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ad8c .global func_ov15_0216ada0 arm_func_start func_ov15_0216ada0 func_ov15_0216ada0: ; 0x0216ada0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0216ad3c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ada0 .global func_ov15_0216adbc arm_func_start func_ov15_0216adbc func_ov15_0216adbc: ; 0x0216adbc stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r1, #0x1000 str r1, [r4, #0x1b8] str r1, [r4, #0x1bc] str r1, [r4, #0x1c0] ldrh r2, [r4, #0x22] ldr r3, [r4, #0x4c] mov r1, #0 add r2, r3, r2, lsl #11 str r2, [r4, #0x4c] str r1, [r4, #0x7c] mov ip, #0x800 str ip, [r4, #0x80] str r1, [r4, #0x84] str ip, [r4, #0x88] ldr r2, [r4, #0x7c] mov r3, #0x1800 str r2, [r4, #0x8c] ldr r5, [r4, #0x80] add r2, r4, #0x100 str r5, [r4, #0x90] ldr r5, [r4, #0x84] str r5, [r4, #0x94] ldr r5, [r4, #0x88] str r5, [r4, #0x98] str r1, [r4, #0xa8] str ip, [r4, #0xac] str r1, [r4, #0xb0] str r3, [r4, #0xb4] strh r1, [r4, #0x9c] strh r1, [r2, #0xcc] str r1, [r4, #0x130] ldrh r2, [r4, #0x20] cmp r2, #0 beq _0216ae60 cmp r2, #1 beq _0216ae68 cmp r2, #2 beq _0216aeb0 b _0216aebc _0216ae60: bl func_ov15_0216b9dc b _0216aec0 _0216ae68: mov r1, #2 bl func_ov15_0216b9dc ldr r0, _0216aee0 ; =data_027e0764 ldr r2, [r0] ldmib r0, {r1, r3} umull lr, ip, r3, r2 mla ip, r3, r1, ip ldr r1, [r0, #0xc] ldr r5, [r0, #0x10] mla ip, r1, r2, ip ldr r3, [r0, #0x14] adds r5, r5, lr adc r1, r3, ip str r5, [r0] str r1, [r0, #4] mov r0, r1, lsr #0x10 strh r0, [r4, #0x78] b _0216aec0 _0216aeb0: mov r1, #1 bl func_ov15_0216b9dc b _0216aec0 _0216aebc: bl func_ov15_0216b9dc _0216aec0: mov r0, #2 str r0, [r4, #0x12c] mov r1, #0 str r1, [r4, #0x158] mov r0, r4 str r1, [r4, #0x6c] bl _ZN5Actor8vfunc_08Ev ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216adbc _0216aee0: .word data_027e0764 .global func_ov15_0216aee4 arm_func_start func_ov15_0216aee4 func_ov15_0216aee4: ; 0x0216aee4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x4c] ldr r1, _0216af30 ; =data_027e0fec add r0, r0, #0x33 add r0, r0, #0x300 str r0, [r4, #0x4c] ldr r0, [r1] add r0, r0, #0x6f0 add r0, r0, #0x2000 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x15c ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, r4 bl func_ov15_0216adbc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216aee4 _0216af30: .word data_027e0fec .global func_ov15_0216af34 arm_func_start func_ov15_0216af34 func_ov15_0216af34: ; 0x0216af34 stmdb sp!, {r4, lr} ldr r1, _0216af70 ; =data_027e0fec mov r4, r0 ldr r0, [r1] add r0, r0, #0x328 add r0, r0, #0x2400 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x15c ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, r4 bl func_ov15_0216adbc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216af34 _0216af70: .word data_027e0fec .global func_ov15_0216af74 arm_func_start func_ov15_0216af74 func_ov15_0216af74: ; 0x0216af74 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0216b144 ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl _ZN5Actor18func_ov00_020c1cf8Ev ldr r0, [r5, #0x154] cmp r0, #0 bne _0216b144 ldr r0, [r5, #0x158] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r5, #0x158] add r0, r5, #0x100 ldrsb r0, [r0, #0xd2] cmp r0, #0 subgt r0, r0, #1 strgtb r0, [r5, #0x1d2] ldr r0, [r5, #0x1c4] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0216b12c _0216afec: ; jump table b _0216b000 ; case 0 b _0216b028 ; case 1 b _0216b00c ; case 2 b _0216b03c ; case 3 b _0216b0f4 ; case 4 _0216b000: mov r0, r5 bl func_ov15_0216b9c4 b _0216b12c _0216b00c: ldrsh r1, [r5, #0x78] mov r0, r5 add r1, r1, #0xc2 add r1, r1, #0x100 strh r1, [r5, #0x78] bl func_ov15_0216b9c4 b _0216b12c _0216b028: mov r0, r5 bl func_ov15_0216b2d0 mov r0, r5 bl func_ov15_0216b9c4 b _0216b12c _0216b03c: add r1, r5, #0x100 ldrsh r3, [r1, #0xd0] ldrsb r2, [r1, #0xd2] mov r0, #0x16c mla r0, r2, r0, r3 strh r0, [r1, #0xd0] ldrsh r0, [r1, #0xce] sub r0, r0, #0xc8 strh r0, [r1, #0xce] ldrsh r3, [r1, #0xce] cmp r3, #0 bgt _0216b0bc mov r0, r5 mov r1, #4 bl func_ov15_0216b9dc ldr r1, _0216b158 ; =data_027e0764 add r0, r5, #0x100 ldr r3, [r1] ldmib r1, {r2, ip} umull r6, lr, ip, r3 mla lr, ip, r2, lr ldr r2, [r1, #0xc] ldr r7, [r1, #0x10] mla lr, r2, r3, lr ldr ip, [r1, #0x14] adds r6, r7, r6 adc r2, ip, lr str r6, [r1] str r2, [r1, #4] mov r1, r2, lsr #0x10 strh r1, [r0, #0xcc] b _0216b12c _0216b0bc: ldrh r2, [r1, #0xd0] ldr r0, _0216b15c ; =data_02050f54 rsb r3, r3, #0 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 ldrsh r0, [r0, 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 sub r0, r2, #0x8000 strh r0, [r1, #0xca] b _0216b12c _0216b0f4: add r0, r5, #0x100 ldrsh r2, [r0, #0xd0] mov r1, #0x4000 rsb r1, r1, #0 add r2, r2, #0xa strh r2, [r0, #0xd0] ldrsh r3, [r0, #0xca] ldrsh r2, [r0, #0xd0] sub r2, r3, r2 strh r2, [r0, #0xca] ldrsh r0, [r0, #0xca] cmp r0, r1 movle r0, #0 strleb r0, [r5, #0x118] _0216b12c: mov r1, #0 str r1, [r5, #0x7c] mov r0, #0x800 str r0, [r5, #0x80] str r1, [r5, #0x84] str r0, [r5, #0x88] _0216b144: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0216af74 _0216b158: .word data_027e0764 _0216b15c: .word data_02050f54 .global func_ov15_0216b160 arm_func_start func_ov15_0216b160 func_ov15_0216b160: ; 0x0216b160 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0216b2b8 ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl _ZN5Actor18func_ov00_020c1cf8Ev ldr r0, [r5, #0x154] cmp r0, #0 bne _0216b2b8 ldr r0, [r5, #0x158] add r1, r5, #0x100 cmp r0, #0 subgt r0, r0, #1 strgt r0, [r5, #0x158] add r0, r5, #0x100 ldrsb r0, [r0, #0xd2] cmp r0, #0 subgt r0, r0, #1 strgtb r0, [r5, #0x1d2] ldrsh r3, [r1, #0xd0] ldrsb r2, [r1, #0xd2] mov r0, #0x16c mla r0, r2, r0, r3 strh r0, [r1, #0xd0] ldrsh r0, [r1, #0xce] sub r0, r0, #0x64 strh r0, [r1, #0xce] ldrsh r0, [r1, #0xce] cmp r0, #0 bgt _0216b208 mov r0, #0 strh r0, [r1, #0xce] strh r0, [r1, #0xca] strh r0, [r1, #0xd0] _0216b208: add r3, r5, #0x100 ldrh r1, [r3, #0xd0] ldrsh r2, [r3, #0xce] ldr r0, _0216b2cc ; =data_02050f54 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] rsb r2, r2, #0 mov r0, #0 smull ip, r1, r2, r1 adds r2, ip, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 strh r2, [r3, #0xca] ldr r1, [r5, #0x1c4] cmp r1, #3 addls pc, pc, r1, lsl #2 b _0216b2b8 _0216b254: ; jump table b _0216b264 ; case 0 b _0216b2a0 ; case 1 b _0216b270 ; case 2 b _0216b2b4 ; case 3 _0216b264: mov r0, r5 bl func_ov15_0216b9c4 b _0216b2b8 _0216b270: ldrsh r1, [r5, #0x78] mov r2, #0xc8 mov r0, r5 add r1, r1, #0xc2 add r1, r1, #0x100 strh r1, [r5, #0x78] ldrsh ip, [r5, #0x78] ldrsb r1, [r3, #0xd2] mla r2, r1, r2, ip strh r2, [r5, #0x78] bl func_ov15_0216b9c4 b _0216b2b8 _0216b2a0: mov r0, r5 bl func_ov15_0216b2d0 mov r0, r5 bl func_ov15_0216b9c4 b _0216b2b8 _0216b2b4: strb r0, [r5, #0x118] _0216b2b8: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216b160 _0216b2cc: .word data_02050f54 .global func_ov15_0216b2d0 arm_func_start func_ov15_0216b2d0 func_ov15_0216b2d0: ; 0x0216b2d0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #0 beq _0216b2fc cmp r0, #1 beq _0216b324 cmp r0, #2 moveq r0, #0 streq r0, [r4, #0x130] ldmia sp!, {r4, pc} _0216b2fc: ldr r1, _0216b34c ; =0x0000199a add r0, r4, #0x4c mov r2, #0x7b bl Approach_thunk cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x130] add r0, r0, #1 str r0, [r4, #0x130] ldmia sp!, {r4, pc} _0216b324: ldr r1, _0216b350 ; =0x00000333 add r0, r4, #0x4c mov r2, #0x7b bl Approach_thunk cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x130] add r0, r0, #1 str r0, [r4, #0x130] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216b2d0 _0216b34c: .word 0x0000199a _0216b350: .word 0x00000333 .global func_ov15_0216b354 arm_func_start func_ov15_0216b354 func_ov15_0216b354: ; 0x0216b354 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0216b354 .global func_ov15_0216b368 arm_func_start func_ov15_0216b368 func_ov15_0216b368: ; 0x0216b368 stmdb sp!, {r4, lr} ldr r2, [r1, #0x14] ldr r1, _0216b3b4 ; =0x434e424c ldr r2, [r2, #4] mov r4, r0 cmp r2, r1 movne r0, #0 ldmneia sp!, {r4, pc} ldr r1, [r4, #0x158] cmp r1, #0 movgt r0, #0 ldmgtia sp!, {r4, pc} ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, #0xa str r0, [r4, #0x158] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216b368 _0216b3b4: .word 0x434e424c .global func_ov15_0216b3b8 arm_func_start func_ov15_0216b3b8 func_ov15_0216b3b8: ; 0x0216b3b8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 mov r0, #0x64 blx func_ov09_0211c428 mov r0, r4 mov r1, #3 bl func_ov15_0216b9dc add r0, r4, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0xc] mov r2, r3 add r0, r0, #0x1000 str r0, [sp, #0xc] mov r3, #0 str r3, [sp] ldr r0, _0216b4b4 ; =data_027e0e58 str r3, [sp, #4] ldr r0, [r0] mov r1, #0x8a bl func_ov00_0207c1b0 mov r3, #0 str r3, [sp] ldr r0, _0216b4b4 ; =data_027e0e58 str r3, [sp, #4] ldr r0, [r0] mov r1, #0x49 add r2, r4, #0x48 bl func_ov00_0207c1b0 mov r3, #0 str r3, [sp] ldr r0, _0216b4b4 ; =data_027e0e58 str r3, [sp, #4] ldr r0, [r0] mov r1, #0x4a add r2, r4, #0x48 bl func_ov00_0207c1b0 ldr r0, _0216b4b8 ; =data_ov00_020eec9c ldr r1, _0216b4bc ; =0x000003f7 bl func_ov00_020d77e4 ldr r0, _0216b4c0 ; =data_027e0ffc ldr r1, _0216b4c4 ; =0x000003f9 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r1, #0x8000 rsb r1, r1, #0 add r0, r4, #0x100 strh r1, [r0, #0xca] ldr r1, _0216b4c8 ; =0xffffeccd mov r0, r4 str r1, [r4, #0x4c] bl _ZN5Actor14GetAngleToLinkEv add r1, r4, #0x100 strh r0, [r1, #0xcc] ldr r2, _0216b4cc ; =0x000011c7 mov r0, #0x1e strh r2, [r1, #0xce] strb r0, [r4, #0x1d2] add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216b3b8 _0216b4b4: .word data_027e0e58 _0216b4b8: .word data_ov00_020eec9c _0216b4bc: .word 0x000003f7 _0216b4c0: .word data_027e0ffc _0216b4c4: .word 0x000003f9 _0216b4c8: .word 0xffffeccd _0216b4cc: .word 0x000011c7 .global func_ov15_0216b4d0 arm_func_start func_ov15_0216b4d0 func_ov15_0216b4d0: ; 0x0216b4d0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 add r0, r4, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0xc] mov r0, #0x14 add r1, r1, #0x1000 str r1, [sp, #0xc] blx func_ov09_0211c428 mov r3, #0 str r3, [sp] ldr r0, _0216b578 ; =data_027e0e58 str r3, [sp, #4] ldr r0, [r0] add r2, sp, #8 mov r1, #0x8b bl func_ov00_0207c1b0 ldr r0, _0216b57c ; =data_ov00_020eec9c mov r1, #0x3f8 bl func_ov00_020d77e4 ldr r0, _0216b580 ; =data_027e0ffc ldr r1, _0216b584 ; =0x000003fa add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv add r1, r4, #0x100 strh r0, [r1, #0xcc] ldrsh r0, [r1, #0xce] cmp r0, #0 addgt r0, r0, #0xab addgt r0, r0, #0xa00 ldrle r0, _0216b588 ; =0x000011c7 strh r0, [r1, #0xce] mov r0, #0x1e strb r0, [r4, #0x1d2] add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216b4d0 _0216b578: .word data_027e0e58 _0216b57c: .word data_ov00_020eec9c _0216b580: .word data_027e0ffc _0216b584: .word 0x000003fa _0216b588: .word 0x000011c7 .global func_ov15_0216b58c arm_func_start func_ov15_0216b58c func_ov15_0216b58c: ; 0x0216b58c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x80 mov r9, r0 ldr r4, [r9, #0x88] mov r5, r1 cmp r4, #0 mov r0, #0 blt _0216b5e8 add r0, r9, #0x48 add r3, sp, #0x74 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x78] cmp r5, #0 add r0, r0, r4 str r0, [sp, #0x78] mov r0, r3 mov r2, #8 mov r1, r4 beq _0216b5e4 bl func_0202b864 b _0216b5e8 _0216b5e4: bl func_0202b894 _0216b5e8: cmp r0, #0 addeq sp, sp, #0x80 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [r9, #0x48] mov r2, #1 str r0, [sp, #0x3c] ldr r1, [r9, #0x4c] ldr r0, _0216b9bc ; =data_027e0f64 str r1, [sp, #0x40] ldr r3, [r9, #0x50] add r1, sp, #0x3c str r3, [sp, #0x44] str r2, [sp] ldr r0, [r0] add r2, sp, #0x64 ldr r0, [r0, #4] add r3, sp, #0x54 bl func_01ffe468 mov r6, #0 ldr r11, _0216b9bc ; =data_027e0f64 add r7, sp, #0x54 add r8, sp, #0x64 add r4, sp, #0x48 mov r10, #1 mov r5, r6 _0216b650: str r5, [sp, #0x48] str r5, [sp, #0x4c] str r5, [sp, #0x50] cmp r6, #3 addls pc, pc, r6, lsl #2 b _0216b6cc _0216b668: ; jump table b _0216b678 ; case 0 b _0216b694 ; case 1 b _0216b6b0 ; case 2 b _0216b6c0 ; case 3 _0216b678: ldr r0, [r9, #0x88] add r0, r5, r0 str r0, [sp, #0x48] ldr r0, [r9, #0x88] add r0, r5, r0, lsl #1 str r0, [sp, #0x4c] b _0216b6cc _0216b694: ldr r0, [r9, #0x88] sub r0, r5, r0 str r0, [sp, #0x48] ldr r0, [r9, #0x88] add r0, r5, r0, lsl #1 str r0, [sp, #0x4c] b _0216b6cc _0216b6b0: ldr r0, [r9, #0x88] add r0, r5, r0 str r0, [sp, #0x48] b _0216b6cc _0216b6c0: ldr r0, [r9, #0x88] sub r0, r5, r0 str r0, [sp, #0x48] _0216b6cc: ldrsh r1, [r9, #0x78] mov r0, r4 bl func_ov00_020a61ac ldr r1, [r9, #0x48] mov r0, r4 str r1, [sp, #0x30] ldr r2, [r9, #0x4c] add r1, sp, #0x30 str r2, [sp, #0x34] ldr r3, [r9, #0x50] mov r2, r4 str r3, [sp, #0x38] bl func_01ff9bc4 str r10, [sp] ldr r0, [r11] mov r1, r4 ldr r0, [r0, #4] mov r2, r8 mov r3, r7 bl func_01ffe468 cmp r0, #0 addeq sp, sp, #0x80 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r6, r6, #1 cmp r6, #4 add r7, r7, #4 add r8, r8, #4 blt _0216b650 ldr r0, _0216b9c0 ; =data_027e0d78 ldrb r1, [r0, #0xc] cmp r1, #0 ldrne r3, [r0, #0x10] ldrne r11, [r0, #0x14] bne _0216b778 ldrh r1, [r0, #0x34] tst r1, #2 ldrne r3, [r0, #0x1c] ldrne r11, [r0, #0x20] bne _0216b778 add sp, sp, #0x80 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216b778: ldr r1, [sp, #0x64] ldr r0, [sp, #0x68] cmp r1, r0 bge _0216b79c sub r1, r1, #8 add r0, r0, #8 str r1, [sp, #0x64] str r0, [sp, #0x68] b _0216b7ac _0216b79c: add r1, r1, #8 sub r0, r0, #8 str r1, [sp, #0x64] str r0, [sp, #0x68] _0216b7ac: ldr r1, [sp, #0x6c] ldr r0, [sp, #0x70] cmp r1, r0 bge _0216b7d0 sub r1, r1, #8 add r0, r0, #8 str r1, [sp, #0x6c] str r0, [sp, #0x70] b _0216b7e0 _0216b7d0: add r1, r1, #8 sub r0, r0, #8 str r1, [sp, #0x6c] str r0, [sp, #0x70] _0216b7e0: ldr r2, [sp, #0x54] ldr r4, [sp, #0x58] ldr r1, [sp, #0x5c] ldr r0, [sp, #0x60] ldr r5, [sp, #0x64] ldr r9, [sp, #0x68] sub r6, r4, #8 sub r10, r3, r5 ldr r4, [sp, #0x6c] ldr r7, [sp, #0x70] sub r5, r11, r6 sub r2, r2, #8 sub r6, r11, r2 sub r9, r3, r9 sub r8, r3, r4 add r1, r1, #8 sub r4, r11, r1 sub r7, r3, r7 add r0, r0, #8 sub r3, r11, r0 smull r1, r0, r9, r6 smull r11, r2, r10, r5 smull lr, ip, r9, r4 str r0, [sp, #4] str ip, [sp, #0x24] subs r11, r11, r1 ldr ip, [sp, #4] str r6, [sp, #0x54] sbc r2, r2, ip smull r6, ip, r8, r6 smull r1, r0, r8, r5 str r5, [sp, #0x58] str r4, [sp, #0x5c] str r6, [sp, #0x28] str ip, [sp, #8] smull ip, r6, r10, r4 str r6, [sp, #0x10] smull r6, r4, r7, r4 str r4, [sp, #0x18] smull r5, r4, r7, r5 str r3, [sp, #0x60] str r6, [sp, #0x14] str r4, [sp, #0x20] str r5, [sp, #0x1c] smull r4, r5, r8, r3 str r5, [sp, #0x2c] smull r6, r5, r9, r3 str r8, [sp, #0x6c] str r9, [sp, #0x68] ldr r3, [sp, #0x24] str r7, [sp, #0x70] subs r8, lr, r1 sbc r7, r3, r0 ldr r3, [sp, #0x28] mov r9, ip str r10, [sp, #0x64] subs r10, r3, r9 ldr r9, [sp, #8] ldr r3, [sp, #0x10] str ip, [sp, #0xc] sbc r9, r9, r3 ldr r3, [sp, #0x14] subs ip, r3, r4 ldr r4, [sp, #0x18] ldr r3, [sp, #0x2c] sbc r3, r4, r3 ldr r4, [sp, #0x24] subs r1, r1, lr sbc r0, r0, r4 ldr r4, [sp, #0x1c] subs r4, r6, r4 ldr r6, [sp, #0x20] sbc r6, r5, r6 subs r5, r11, #0 sbcs r5, r2, #0 mov r5, #0 blt _0216b92c subs lr, r8, r5 sbcs lr, r7, r5 blt _0216b92c subs lr, r10, r5 sbcs lr, r9, r5 bge _0216b9a4 _0216b92c: mov r5, #0 subs r11, r5, r11 sbcs r11, r5, r2 blt _0216b954 subs r2, r5, r8 sbcs r2, r5, r7 blt _0216b954 subs r2, r5, r10 sbcs r2, r5, r9 bge _0216b9a4 _0216b954: subs r2, ip, #0 sbcs r2, r3, #0 mov r5, #0 blt _0216b97c subs r2, r1, r5 sbcs r2, r0, r5 blt _0216b97c subs r2, r4, r5 sbcs r2, r6, r5 bge _0216b9a4 _0216b97c: mov r5, #0 subs r2, r5, ip sbcs r2, r5, r3 blt _0216b9b0 subs r1, r5, r1 sbcs r1, r5, r0 blt _0216b9b0 subs r0, r5, r4 sbcs r0, r5, r6 blt _0216b9b0 _0216b9a4: add sp, sp, #0x80 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216b9b0: mov r0, #0 add sp, sp, #0x80 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216b58c _0216b9bc: .word data_027e0f64 _0216b9c0: .word data_027e0d78 .global func_ov15_0216b9c4 arm_func_start func_ov15_0216b9c4 func_ov15_0216b9c4: ; 0x0216b9c4 ldr ip, _0216b9d4 ; =_ZN5Actor18func_ov00_020c243cEiPi ldr r1, _0216b9d8 ; =data_ov15_02186a38 mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov15_0216b9c4 _0216b9d4: .word _ZN5Actor18func_ov00_020c243cEiPi _0216b9d8: .word data_ov15_02186a38 .global func_ov15_0216b9dc arm_func_start func_ov15_0216b9dc func_ov15_0216b9dc: ; 0x0216b9dc str r1, [r0, #0x1c4] cmp r1, #4 addls pc, pc, r1, lsl #2 bx lr _0216b9ec: ; jump table b _0216ba00 ; case 0 b _0216ba18 ; case 1 b _0216ba0c ; case 2 bx lr ; case 3 b _0216ba24 ; case 4 _0216ba00: mov r1, #1 strb r1, [r0, #0x1c8] bx lr _0216ba0c: mov r1, #1 strb r1, [r0, #0x1c8] bx lr _0216ba18: mov r1, #1 strb r1, [r0, #0x1c8] bx lr _0216ba24: mov r2, #0 add r0, r0, #0x100 strh r2, [r0, #0xce] sub r1, r2, #0x8000 strh r1, [r0, #0xca] strh r2, [r0, #0xd0] bx lr arm_func_end func_ov15_0216b9dc .global func_ov15_0216ba40 arm_func_start func_ov15_0216ba40 func_ov15_0216ba40: ; 0x0216ba40 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xac mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 ldrneb r0, [r4, #0x1c8] cmpne r0, #0 addeq sp, sp, #0xac ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x15c ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, _0216bc50 ; =data_027e0f78 ldr r1, [r1] ldrh r1, [r1, #0x1a] bl func_020196bc add r0, r4, #0x15c ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, _0216bc54 ; =0x00007fff bl func_020196fc add r0, r4, #0x100 ldrh r1, [r0, #0xcc] ldr r3, _0216bc58 ; =data_02050f54 add r0, sp, #0x40 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x100 ldrsh r1, [r0, #0xcc] ldr r3, _0216bc58 ; =data_02050f54 add r0, sp, #0x1c rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x100 ldrh r1, [r0, #0xca] ldr r3, _0216bc58 ; =data_02050f54 add r0, sp, #0x88 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff81f8 ldrh r1, [r4, #0x78] ldr r3, _0216bc58 ; =data_02050f54 add r0, sp, #0x64 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 mov r0, #0x800 ldr r1, [r4, #0x4c] rsb r0, r0, #0 sub r0, r0, r1 mov r1, #0 str r1, [sp, #0x10] str r1, [sp, #0x18] str r0, [sp, #0x14] ldr r0, [r4, #0x4c] add r3, r0, #0x800 mov r2, r1 mov r0, #0x11 str r1, [sp, #4] str r3, [sp, #8] str r1, [sp, #0xc] bl func_01ffa9fc add r1, r4, #0x48 mov r0, #0x1c mov r2, #3 bl func_01ffa9fc add r1, sp, #4 mov r0, #0x1c mov r2, #3 bl func_01ffa9fc add r1, sp, #0x40 mov r0, #0x1a mov r2, #9 bl func_01ffa9fc add r1, sp, #0x88 mov r0, #0x1a mov r2, #9 bl func_01ffa9fc mov r0, #0x1a add r1, sp, #0x1c mov r2, #9 bl func_01ffa9fc mov r0, #0x1c add r1, sp, #0x10 mov r2, #3 bl func_01ffa9fc mov r0, #0x1a add r1, sp, #0x64 mov r2, #9 bl func_01ffa9fc mov r0, #0x1b add r1, r4, #0x1b8 mov r2, #3 bl func_01ffa9fc add r0, r4, #0x160 bl func_02019ae8 mov r2, #1 mov r0, #0x12 add r1, sp, #0 str r2, [sp] bl func_01ffa9fc add sp, sp, #0xac ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216ba40 _0216bc50: .word data_027e0f78 _0216bc54: .word 0x00007fff _0216bc58: .word data_02050f54 .global func_ov15_0216bc5c arm_func_start func_ov15_0216bc5c func_ov15_0216bc5c: ; 0x0216bc5c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xac mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 ldrneb r0, [r4, #0x1c8] cmpne r0, #0 addeq sp, sp, #0xac ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x15c ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, _0216be6c ; =data_027e0f78 ldr r1, [r1] ldrh r1, [r1, #0x1a] bl func_020196bc add r0, r4, #0x15c ldr r1, [r0] ldr r1, [r1, #8] blx r1 ldr r1, _0216be70 ; =0x00007fff bl func_020196fc add r0, r4, #0x100 ldrh r1, [r0, #0xca] ldr r3, _0216be74 ; =data_02050f54 add r0, sp, #0x88 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff81f8 ldrh r1, [r4, #0x78] ldr r3, _0216be74 ; =data_02050f54 add r0, sp, #0x64 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x100 ldrh r1, [r0, #0xcc] ldr r3, _0216be74 ; =data_02050f54 add r0, sp, #0x40 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x100 ldrsh r1, [r0, #0xcc] ldr r3, _0216be74 ; =data_02050f54 add r0, sp, #0x1c rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 mov r0, #0x800 ldr r1, [r4, #0x4c] rsb r0, r0, #0 sub r0, r0, r1 mov r1, #0 str r1, [sp, #0x10] str r1, [sp, #0x18] str r0, [sp, #0x14] ldr r0, [r4, #0x4c] add r3, r0, #0x800 mov r2, r1 mov r0, #0x11 str r1, [sp, #4] str r3, [sp, #8] str r1, [sp, #0xc] bl func_01ffa9fc add r1, r4, #0x48 mov r0, #0x1c mov r2, #3 bl func_01ffa9fc add r1, sp, #0x10 mov r0, #0x1c mov r2, #3 bl func_01ffa9fc add r1, sp, #0x40 mov r0, #0x1a mov r2, #9 bl func_01ffa9fc add r1, sp, #0x88 mov r0, #0x1a mov r2, #9 bl func_01ffa9fc mov r0, #0x1a add r1, sp, #0x1c mov r2, #9 bl func_01ffa9fc mov r0, #0x1c add r1, sp, #4 mov r2, #3 bl func_01ffa9fc mov r0, #0x1a add r1, sp, #0x64 mov r2, #9 bl func_01ffa9fc mov r0, #0x1b add r1, r4, #0x1b8 mov r2, #3 bl func_01ffa9fc add r0, r4, #0x160 bl func_02019ae8 mov r2, #1 mov r0, #0x12 add r1, sp, #0 str r2, [sp] bl func_01ffa9fc add sp, sp, #0xac ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216bc5c _0216be6c: .word data_027e0f78 _0216be70: .word 0x00007fff _0216be74: .word data_02050f54 .global func_ov15_0216be78 arm_func_start func_ov15_0216be78 func_ov15_0216be78: ; 0x0216be78 stmdb sp!, {r3, lr} ldr r1, _0216bea4 ; =data_027e0fe0 mov r0, #0x4e0 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0216c118 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216be78 _0216bea4: .word data_027e0fe0 .global func_ov15_0216bea8 arm_func_start func_ov15_0216bea8 func_ov15_0216bea8: ; 0x0216bea8 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r0, _0216bed0 ; =data_ov15_0218d6a0 mvn r1, #0 str r0, [r4] mov r0, r4 str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216bea8 _0216bed0: .word data_ov15_0218d6a0 .global func_ov15_0216bed4 arm_func_start func_ov15_0216bed4 func_ov15_0216bed4: ; 0x0216bed4 ldr ip, _0216bee4 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0216bed4 _0216bee4: .word func_ov00_020a9998 .global func_ov15_0216bee8 arm_func_start func_ov15_0216bee8 func_ov15_0216bee8: ; 0x0216bee8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x60 ldr r2, [r1, #8] mov r4, r0 tst r2, #0x10 ldrneb r5, [r1, #0xae] ldr r2, [r4, #0x68] mvn r0, #0 mvneq r5, #0 cmp r2, r0 bne _0216bf2c ldr r0, [r1, #4] ldr r1, _0216bfa0 ; =data_ov15_02186aa4 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0x68] _0216bf2c: ldr r0, [r4, #0x68] cmp r5, r0 addne sp, sp, #0x60 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r0, sp, #0x30 mov r1, #0 bl func_0201b1bc bl func_02018450 add r7, sp, #0 mov r8, r0 mov r6, r7 ldmia r8!, {r0, r1, r2, r3} stmia r7!, {r0, r1, r2, r3} ldmia r8!, {r0, r1, r2, r3} stmia r7!, {r0, r1, r2, r3} ldmia r8, {r0, r1, r2, r3} stmia r7, {r0, r1, r2, r3} add r0, r4, #0x5c ldr r5, [sp, #0x5c] ldr lr, [sp, #0x58] ldr ip, [sp, #0x54] mov r1, r6 str ip, [r4, #0x5c] str lr, [r4, #0x60] mov r2, r0 str r5, [r4, #0x64] bl func_01ff9158 add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0216bee8 _0216bfa0: .word data_ov15_02186aa4 .global func_ov15_0216bfa4 arm_func_start func_ov15_0216bfa4 func_ov15_0216bfa4: ; 0x0216bfa4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r6, r0 add r0, r6, #0xa0 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r6, #0x28] ldr r1, _0216c03c ; =data_027e0fec ldr r0, _0216c040 ; =data_ov15_0218d704 ldr r1, [r1] add r1, r1, #0x1000 ldr r5, [r1, #0xf88] blx func_02016fe8 mov r4, r0 ldr r1, _0216c044 ; =data_ov15_0218d718 add r0, sp, #0 mov r2, #0x10 bl strncpy mov r0, r4 add r1, sp, #0 bl func_0201e544 mov r1, r0 mov r2, r5 add r0, r6, #0x20 mov r3, #1 bl func_ov00_020c0cc8 mov r1, #0 add r0, r6, #0x20 str r1, [r6, #0x30] bl func_ov00_020c0e24 add r0, r6, #0xa0 ldr r2, [r0] add r1, r6, #0x20 ldr r2, [r2, #0x24] blx r2 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216bfa4 _0216c03c: .word data_027e0fec _0216c040: .word data_ov15_0218d704 _0216c044: .word data_ov15_0218d718 .global func_ov15_0216c048 arm_func_start func_ov15_0216c048 func_ov15_0216c048: ; 0x0216c048 ldr ip, _0216c054 ; =func_ov00_020c0e24 add r0, r0, #0x20 bx ip .align 2, 0 arm_func_end func_ov15_0216c048 _0216c054: .word func_ov00_020c0e24 .global func_ov15_0216c058 arm_func_start func_ov15_0216c058 func_ov15_0216c058: ; 0x0216c058 stmdb sp!, {r4, lr} ldr r0, _0216c0c4 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x1f80 bl func_ov00_020c4588 mov r4, r0 ldr r0, _0216c0c8 ; =data_ov15_0218f9e4 mov r1, r4 bl func_ov00_020a9614 ldr r0, _0216c0c4 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x1f80 bl func_ov00_020c45b0 ldr r1, _0216c0cc ; =data_ov15_02186a44 bl func_0201e544 mov r1, r0 ldr r2, _0216c0d0 ; =data_ov15_0218f9b8 ldr r0, _0216c0d4 ; =data_ov15_0218fa4c str r4, [r2, #0x9c] mov r2, #0 ldr r3, _0216c0d8 ; =data_ov15_02186a44 ldr r3, [r3, #0x10] bl func_ov00_020c0cc8 ldr r0, _0216c0c8 ; =data_ov15_0218f9e4 ldr r1, _0216c0d4 ; =data_ov15_0218fa4c bl func_ov00_020a97e0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216c058 _0216c0c4: .word data_027e0fec _0216c0c8: .word data_ov15_0218f9e4 _0216c0cc: .word data_ov15_02186a44 _0216c0d0: .word data_ov15_0218f9b8 _0216c0d4: .word data_ov15_0218fa4c _0216c0d8: .word data_ov15_02186a44 .global func_ov15_0216c0dc arm_func_start func_ov15_0216c0dc func_ov15_0216c0dc: ; 0x0216c0dc ldr ip, _0216c0e8 ; =func_ov00_020c0e04 ldr r0, _0216c0ec ; =data_ov15_0218fa4c bx ip .align 2, 0 arm_func_end func_ov15_0216c0dc _0216c0e8: .word func_ov00_020c0e04 _0216c0ec: .word data_ov15_0218fa4c .global func_ov15_0216c0f0 arm_func_start func_ov15_0216c0f0 func_ov15_0216c0f0: ; 0x0216c0f0 stmdb sp!, {r3, lr} ldr r3, [r0, #0x14] cmp r3, #0 bne _0216c10c ldr r0, _0216c114 ; =data_ov15_0218f9e4 bl func_ov00_020a96d4 ldmia sp!, {r3, pc} _0216c10c: bl func_ov00_020c5e88 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216c0f0 _0216c114: .word data_ov15_0218f9e4 .global func_ov15_0216c118 arm_func_start func_ov15_0216c118 func_ov15_0216c118: ; 0x0216c118 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _0216c1e4 ; =data_ov15_0218d5cc mov r2, #0 str r0, [r4] str r2, [r4, #0x158] sub r0, r2, #1 str r0, [r4, #0x15c] str r2, [r4, #0x160] mov r1, r4 add r0, r4, #0x168 str r2, [r4, #0x164] bl func_ov15_0216d4ec mov r1, r4 add r0, r4, #0x2f4 add r2, r4, #0x394 add r3, r4, #0x400 bl func_ov00_020c5c2c ldr r1, _0216c1e8 ; =data_ov15_0218d688 add r0, r4, #0x314 str r1, [r4, #0x2f4] add r1, r4, #0x338 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0216c1ec ; =data_ov15_0218d6fc add r0, r4, #0x394 str r1, [r4, #0x314] bl func_ov15_0216bea8 add r0, r4, #0x400 add r1, r0, #0x24 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0216c1ec ; =data_ov15_0218d6fc mov r0, #0 str r1, [r4, #0x400] str r0, [r4, #0x480] str r0, [r4, #0x484] str r0, [r4, #0x488] str r0, [r4, #0x4b8] str r0, [r4, #0x4bc] str r0, [r4, #0x4c0] str r0, [r4, #0x4c4] str r0, [r4, #0x4c8] str r0, [r4, #0x4cc] str r0, [r4, #0x4d0] strb r0, [r4, #0x4dc] mov r0, #1 strb r0, [r4, #0x4dd] mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216c118 _0216c1e4: .word data_ov15_0218d5cc _0216c1e8: .word data_ov15_0218d688 _0216c1ec: .word data_ov15_0218d6fc .global func_ov15_0216c1f0 arm_func_start func_ov15_0216c1f0 func_ov15_0216c1f0: ; 0x0216c1f0 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216c1f0 .global func_ov15_0216c204 arm_func_start func_ov15_0216c204 func_ov15_0216c204: ; 0x0216c204 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x394 blx func_ov00_020a95ec add r0, r4, #0x314 blx func_ov00_020a9b6c add r0, r4, #0x264 blx func_ov00_020a9b6c add r0, r4, #0x1e4 blx func_ov00_020a9b6c add r0, r4, #0x188 blx func_ov00_020a95a4 add r0, r4, #0x164 bl func_ov00_020b7d74 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} arm_func_end func_ov15_0216c204 .global func_ov15_0216c264 arm_func_start func_ov15_0216c264 func_ov15_0216c264: ; 0x0216c264 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x394 blx func_ov00_020a95ec add r0, r4, #0x314 blx func_ov00_020a9b6c add r0, r4, #0x264 blx func_ov00_020a9b6c add r0, r4, #0x1e4 blx func_ov00_020a9b6c add r0, r4, #0x188 blx func_ov00_020a95a4 add r0, r4, #0x164 bl func_ov00_020b7d74 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} arm_func_end func_ov15_0216c264 .global func_ov15_0216c2cc arm_func_start func_ov15_0216c2cc func_ov15_0216c2cc: ; 0x0216c2cc stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 mov r4, r0 ldrh r3, [r4, #0x20] ldr r2, _0216c580 ; =data_ov15_02186a44 add r0, r4, #0x2f4 str r3, [r4, #0x480] mov r1, #0x90 str r3, [r4, #0x484] bl func_ov00_020c5c98 add r0, r4, #0x2f4 bl func_ov15_0216bfa4 bl func_ov15_0216c058 ldr r0, [r4, #0x480] cmp r0, #0 beq _0216c320 cmp r0, #1 beq _0216c3c8 cmp r0, #2 beq _0216c474 b _0216c54c _0216c320: add r0, r4, #0x2f4 mov r1, #0 bl func_ov00_020c5d74 add r0, r4, #0x2f4 mov r1, #0 bl func_ov15_0216c048 ldr r1, _0216c584 ; =0x00001003 mov r0, #2 str r1, [r4, #0x15c] ldr r3, _0216c588 ; =data_027e0764 str r0, [r4, #0x160] ldr r1, [r3] ldmib r3, {r0, r2} umull lr, ip, r2, r1 mla ip, r2, r0, ip ldr r0, [r3, #0xc] ldr r5, [r3, #0x10] mla ip, r0, r1, ip ldr r2, [r3, #0x14] adds lr, r5, lr adc r5, r2, ip str lr, [r3] mov r0, #0x64 str r5, [r3, #4] umull r3, ip, r5, r0 mov r1, #0 mla ip, r5, r1, ip mla ip, r1, r0, ip str ip, [r4, #0x4d0] ldrh r1, [r4, #0x78] add r2, r4, #0x8c add r0, r2, #0x400 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 ldr r3, _0216c58c ; =data_02050f54 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 b _0216c54c _0216c3c8: mov r0, r4 bl func_ov15_0216cfc8 cmp r0, #0 beq _0216c3f0 mov r2, #3 add r0, r4, #0x2f4 mov r1, #1 str r2, [r4, #0x488] bl func_ov00_020c5d74 b _0216c404 _0216c3f0: mov r2, #5 add r0, r4, #0x2f4 mov r1, #0 str r2, [r4, #0x488] bl func_ov00_020c5d74 _0216c404: add r0, r4, #0x2f4 mov r1, #0x1000 bl func_ov15_0216c048 add r0, r4, #0x394 bl func_ov15_0216bed4 ldrh r1, [r4, #0x78] add r0, r4, #0x8c ldr r3, _0216c58c ; =data_02050f54 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] add r0, r0, #0x400 blx func_01ff8214 ldr r2, _0216c590 ; =data_02051f54 add r0, sp, #0 ldrsh r1, [r2] ldrsh r2, [r2, #2] blx func_01ff81f8 add r2, r4, #0x8c add r1, r2, #0x400 add r0, sp, #0 add r2, r2, #0x400 bl func_01ff8690 b _0216c54c _0216c474: mov r0, r4 bl func_ov15_0216cfc8 cmp r0, #0 beq _0216c49c mov r2, #0 add r0, r4, #0x2f4 mov r1, #1 str r2, [r4, #0x488] bl func_ov00_020c5d74 b _0216c4b0 _0216c49c: mov r2, #2 add r0, r4, #0x2f4 mov r1, #0 str r2, [r4, #0x488] bl func_ov00_020c5d74 _0216c4b0: mov r2, #0 add r0, r4, #0x2f4 mov r1, #0x1000 strb r2, [r4, #0x4dc] bl func_ov15_0216c048 add r0, r4, #0x394 bl func_ov15_0216bed4 ldrb r0, [r4, #0x4dc] add r3, r4, #0x8c cmp r0, #0 ldrsh r0, [r4, #0x78] beq _0216c518 add r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0216c58c ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, r3, #0x400 blx func_01ff8214 b _0216c54c _0216c518: add r0, r0, #0xc000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0216c58c ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, r3, #0x400 blx func_01ff8214 _0216c54c: mov r0, r4 bl _ZN5Actor8vfunc_08Ev ldr r1, [r4, #0x48] mov r0, r4 str r1, [r4, #0x4b8] ldr r1, [r4, #0x4c] str r1, [r4, #0x4bc] ldr r1, [r4, #0x50] str r1, [r4, #0x4c0] bl func_ov15_0216c664 mov r0, #1 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216c2cc _0216c580: .word data_ov15_02186a44 _0216c584: .word 0x00001003 _0216c588: .word data_027e0764 _0216c58c: .word data_02050f54 _0216c590: .word data_02051f54 .global func_ov15_0216c594 arm_func_start func_ov15_0216c594 func_ov15_0216c594: ; 0x0216c594 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _0216c648 ; =data_027e10a4 ldr r1, [r4, #0x4c] ldr r0, [r0] ldr r0, [r0, #0x2ec] subs r1, r1, r0 ldr r0, _0216c64c ; =0x0000199a rsbmi r1, r1, #0 cmp r1, r0 ble _0216c5f0 add r0, r4, #0x158 bl func_ov00_020b7e6c add r0, r4, #0x164 bl func_ov00_020b7e6c mov r0, r4 bl func_ov15_0216cffc mov r0, #0 strb r0, [r4, #0x4dd] ldmia sp!, {r4, pc} _0216c5f0: mov r0, #1 strb r0, [r4, #0x4dd] ldr r0, [r4, #0x480] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _0216c608: ; jump table b _0216c618 ; case 0 b _0216c624 ; case 1 b _0216c630 ; case 2 b _0216c63c ; case 3 _0216c618: mov r0, r4 bl func_ov15_0216c6b8 ldmia sp!, {r4, pc} _0216c624: mov r0, r4 bl func_ov15_0216c800 ldmia sp!, {r4, pc} _0216c630: mov r0, r4 bl func_ov15_0216cb30 ldmia sp!, {r4, pc} _0216c63c: mov r0, r4 bl func_ov15_0216cdec ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216c594 _0216c648: .word data_027e10a4 _0216c64c: .word 0x0000199a .global func_ov15_0216c650 arm_func_start func_ov15_0216c650 func_ov15_0216c650: ; 0x0216c650 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0216c650 .global func_ov15_0216c664 arm_func_start func_ov15_0216c664 func_ov15_0216c664: ; 0x0216c664 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0216c6b4 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] mov r5, #0 bl func_ov00_02082424 ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x2000 bgt _0216c6ac mov r1, r0, lsl #0x5 mov r0, r1, asr #0xc add r0, r1, r0, lsr #19 mov r0, r0, asr #0xd rsbs r5, r0, #0x1f movmi r5, #0 cmp r5, #0x1f movgt r5, #0x1f _0216c6ac: str r5, [r4, #0x4d8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216c664 _0216c6b4: .word data_027e0e60 .global func_ov15_0216c6b8 arm_func_start func_ov15_0216c6b8 func_ov15_0216c6b8: ; 0x0216c6b8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0xc mov r4, r0 ldr r0, [r4, #0x4d0] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4d0] bne _0216c7d8 ldr r2, _0216c7e8 ; =data_027e0764 mov r3, #0 ldr r1, [r2] ldmib r2, {r0, r5} umull r7, r6, r5, r1 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r1, r6 ldr r0, [r2, #0x14] adds r1, r5, r7 str r1, [r2] adc r5, r0, r6 str r5, [r2, #4] add r5, r3, #0x32 ldr r0, _0216c7ec ; =data_027e0ffc ldr r1, _0216c7f0 ; =0x000003c6 add r2, r4, #0x48 str r5, [r4, #0x4d0] bl func_ov00_020ceacc add r0, r4, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr ip, _0216c7f4 ; =data_02050f54 ldr r5, _0216c7f8 ; =0x000004cd mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r8, [ip, r0] mov r6, #0 ldr lr, [sp] umull r10, r9, r8, r5 mla r9, r8, r6, r9 mov r7, r8, asr #0x1f adds r8, r10, #0x800 mla r9, r7, r5, r9 ldr r0, _0216c7fc ; =data_027e0e58 mov r2, r3 adc r7, r9, #0 mov r8, r8, lsr #0xc orr r8, r8, r7, lsl #20 add r7, lr, r8 str r7, [sp] ldrh lr, [r4, #0x78] ldr r3, [sp, #8] ldr r0, [r0] mov lr, lr, asr #0x4 mov lr, lr, lsl #0x1 add lr, lr, #1 mov lr, lr, lsl #0x1 ldrsh lr, [ip, lr] add r1, r4, #0x158 umull r8, r7, lr, r5 mla r7, lr, r6, r7 mov ip, lr, asr #0x1f adds r6, r8, #0x800 mla r7, ip, r5, r7 adc r5, r7, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 add r3, r3, r6 str r3, [sp, #8] bl func_ov00_0207c518 _0216c7d8: mov r0, r4 bl func_ov15_0216ced8 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0216c6b8 _0216c7e8: .word data_027e0764 _0216c7ec: .word data_027e0ffc _0216c7f0: .word 0x000003c6 _0216c7f4: .word data_02050f54 _0216c7f8: .word 0x000004cd _0216c7fc: .word data_027e0e58 .global func_ov15_0216c800 arm_func_start func_ov15_0216c800 func_ov15_0216c800: ; 0x0216c800 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x4d4] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4d4] ldr r0, [r4, #0x488] cmp r0, #3 beq _0216c83c cmp r0, #4 beq _0216c8c4 cmp r0, #5 beq _0216c94c b _0216c9cc _0216c83c: ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0xf000 bne _0216c854 mov r0, r4 bl func_ov15_0216cffc _0216c854: ldr r1, [r4, #0x64] mvn r0, #0x51 sub r1, r1, #0x14 str r1, [r4, #0x64] cmp r1, r0 strle r0, [r4, #0x64] ldr r0, [r4, #0x4c8] mov r1, #0 cmp r0, #0 movlt r0, #0 strlt r0, [r4, #0x4c8] ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0x1b000 movge r0, #4 strge r0, [r4, #0x488] ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0 blt _0216c8ac cmp r0, #0x18000 movle r1, #1 _0216c8ac: cmp r1, #0 movne r0, #1 strneb r0, [r4, #0x2f1] add r0, r4, #0x168 bl func_ov00_020c5e20 b _0216c9cc _0216c8c4: ldr r0, [r4, #0x64] add r0, r0, #0x14 str r0, [r4, #0x64] cmp r0, #0xcd movge r0, #0xcd strge r0, [r4, #0x64] ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0x1e000 blt _0216c930 bne _0216c8fc mov r0, r4 mov r1, #1 bl func_ov15_0216d120 _0216c8fc: ldr r0, [r4, #0x304] mov r1, #0 ldr r0, [r0, #0x14] cmp r0, #0x1e000 blt _0216c918 cmp r0, #0x23000 movle r1, #1 _0216c918: cmp r1, #0 beq _0216c928 mov r0, r4 bl func_ov15_0216d3c4 _0216c928: mov r0, #0x10 str r0, [r4, #0x4d4] _0216c930: add r0, r4, #0x168 bl func_ov00_020c5e20 ldr r0, [r4, #0x4c8] cmp r0, #0x1000 movge r0, #5 strge r0, [r4, #0x488] b _0216c9cc _0216c94c: ldr r0, [r4, #0x308] cmp r0, #1 bne _0216c964 ldr r0, [r4, #0x304] add r0, r0, #0xc bl func_0202e58c _0216c964: ldr r1, [r4, #0x4c8] ldr r0, _0216ca7c ; =0x0000099a cmp r1, r0 bge _0216c9b4 ldr r0, [r4, #0x64] add r0, r0, #0x14 str r0, [r4, #0x64] cmp r0, #0 movgt r0, #0 strgt r0, [r4, #0x64] mov r0, r4 bl func_ov15_0216cfc8 cmp r0, #0 beq _0216c9cc mov r2, #3 add r0, r4, #0x2f4 mov r1, #1 str r2, [r4, #0x488] bl func_ov00_020c5d74 b _0216c9cc _0216c9b4: ldr r1, [r4, #0x64] mvn r0, #0x51 sub r1, r1, #0x14 str r1, [r4, #0x64] cmp r1, r0 strle r0, [r4, #0x64] _0216c9cc: ldr r0, [r4, #0x60] add r2, r4, #0xc4 str r0, [sp] ldr r0, [r4, #0x64] add r1, sp, #0 str r0, [sp, #4] ldr r3, [r4, #0x68] add r0, r2, #0x400 add r2, r2, #0x400 str r3, [sp, #8] bl func_01ff9bc4 add r0, r4, #0xc4 add r0, r0, #0x400 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrsh r1, [r4, #0x78] mov r0, r3 bl func_ov00_020a61ac add r0, sp, #0xc add r1, r4, #0xb8 mov r2, r0 add r1, r1, #0x400 bl func_01ff9bc4 ldr r1, [sp, #0xc] mov r0, r4 str r1, [r4, #0x48] ldr r1, [sp, #0x10] str r1, [r4, #0x4c] ldr r1, [sp, #0x14] str r1, [r4, #0x50] bl func_ov15_0216c664 mov r0, r4 bl func_ov15_0216d258 mov r0, r4 bl func_ov15_0216ced8 ldr r0, [r4, #0x308] cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} add r0, r4, #0x2f4 bl func_ov00_020c5e20 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216c800 _0216ca7c: .word 0x0000099a .global func_ov15_0216ca80 arm_func_start func_ov15_0216ca80 func_ov15_0216ca80: ; 0x0216ca80 stmdb sp!, {r3, lr} ldr r2, [r0, #0x60] add r1, r0, #0xdc rsb r2, r2, #0 str r2, [r0, #0x60] ldrb r2, [r0, #0x4dc] add r3, r0, #0x8c teq r2, #1 movne r2, #1 moveq r2, #0 strb r2, [r1, #0x400] ldrb r1, [r0, #0x4dc] cmp r1, #0 ldrsh r1, [r0, #0x78] beq _0216caf4 add r0, r1, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0216cb2c ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, r3, #0x400 blx func_01ff8214 ldmia sp!, {r3, pc} _0216caf4: add r0, r1, #0xc000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _0216cb2c ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, r3, #0x400 blx func_01ff8214 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216ca80 _0216cb2c: .word data_02050f54 .global func_ov15_0216cb30 arm_func_start func_ov15_0216cb30 func_ov15_0216cb30: ; 0x0216cb30 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x4d4] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4d4] ldr r0, [r4, #0x488] cmp r0, #0 beq _0216cb6c cmp r0, #1 beq _0216cbe8 cmp r0, #2 beq _0216cc90 b _0216cd44 _0216cb6c: ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0xf000 bne _0216cb84 mov r0, r4 bl func_ov15_0216cffc _0216cb84: ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0x19000 movge r0, #1 strge r0, [r4, #0x488] bge _0216cbb4 ldr r0, [r4, #0x4c4] bl func_02042f74 cmp r0, #0x3000 blt _0216cbb4 mov r0, r4 bl func_ov15_0216ca80 _0216cbb4: ldr r0, [r4, #0x304] mov r1, #0 ldr r0, [r0, #0x14] cmp r0, #0 blt _0216cbd0 cmp r0, #0x18000 movle r1, #1 _0216cbd0: cmp r1, #0 movne r0, #1 strneb r0, [r4, #0x2f1] add r0, r4, #0x168 bl func_ov00_020c5e20 b _0216cd44 _0216cbe8: ldrb r0, [r4, #0x4dc] cmp r0, #0 ldr r0, [r4, #0x60] addeq r0, r0, #8 subne r0, r0, #8 str r0, [r4, #0x60] ldr r0, [r4, #0x304] ldr r0, [r0, #0x14] cmp r0, #0x1e000 blt _0216cc54 bne _0216cc20 mov r0, r4 mov r1, #0 bl func_ov15_0216d120 _0216cc20: ldr r0, [r4, #0x304] mov r1, #0 ldr r0, [r0, #0x14] cmp r0, #0x1e000 blt _0216cc3c cmp r0, #0x23000 movle r1, #1 _0216cc3c: cmp r1, #0 beq _0216cc4c mov r0, r4 bl func_ov15_0216d3c4 _0216cc4c: mov r0, #0x10 str r0, [r4, #0x4d4] _0216cc54: add r0, r4, #0x168 bl func_ov00_020c5e20 ldr r0, [r4, #0x60] bl func_02042f74 cmp r0, #0xcd movge r0, #2 strge r0, [r4, #0x488] bge _0216cd44 ldr r0, [r4, #0x4c4] bl func_02042f74 cmp r0, #0x3000 blt _0216cd44 mov r0, r4 bl func_ov15_0216ca80 b _0216cd44 _0216cc90: ldr r0, [r4, #0x308] cmp r0, #1 bne _0216cca8 ldr r0, [r4, #0x304] add r0, r0, #0xc bl func_0202e58c _0216cca8: ldrb r0, [r4, #0x4dc] mov r5, #0 cmp r0, #0 ldr r0, [r4, #0x60] bne _0216cce4 sub r0, r0, #8 str r0, [r4, #0x60] cmp r0, #0 bgt _0216cd04 mov r0, r4 str r5, [r4, #0x60] bl func_ov15_0216cfc8 cmp r0, #0 movne r5, #1 b _0216cd04 _0216cce4: adds r0, r0, #8 str r0, [r4, #0x60] bmi _0216cd04 mov r0, r4 str r5, [r4, #0x60] bl func_ov15_0216cfc8 cmp r0, #0 movne r5, #1 _0216cd04: cmp r5, #0 beq _0216cd2c mov r2, #0 add r0, r4, #0x2f4 mov r1, #1 str r2, [r4, #0x60] bl func_ov00_020c5d74 mov r0, #0 str r0, [r4, #0x488] b _0216cd44 _0216cd2c: ldr r0, [r4, #0x4c4] bl func_02042f74 cmp r0, #0x3000 blt _0216cd44 mov r0, r4 bl func_ov15_0216ca80 _0216cd44: ldr r0, [r4, #0x60] add r2, r4, #0xc4 str r0, [sp] ldr r0, [r4, #0x64] add r1, sp, #0 str r0, [sp, #4] ldr r3, [r4, #0x68] add r0, r2, #0x400 add r2, r2, #0x400 str r3, [sp, #8] bl func_01ff9bc4 add r0, r4, #0xc4 add r0, r0, #0x400 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrsh r1, [r4, #0x78] mov r0, r3 bl func_ov00_020a61ac add r0, sp, #0xc add r1, r4, #0xb8 mov r2, r0 add r1, r1, #0x400 bl func_01ff9bc4 ldr r1, [sp, #0xc] mov r0, r4 str r1, [r4, #0x48] ldr r1, [sp, #0x10] str r1, [r4, #0x4c] ldr r1, [sp, #0x14] str r1, [r4, #0x50] bl func_ov15_0216d258 mov r0, r4 bl func_ov15_0216ced8 ldr r0, [r4, #0x308] cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} add r0, r4, #0x2f4 bl func_ov00_020c5e20 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0216cb30 .global func_ov15_0216cdec arm_func_start func_ov15_0216cdec func_ov15_0216cdec: ; 0x0216cdec stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r0, [r4, #0x304] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0216cea8 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216cec8 ; =data_027e0e58 add r2, r4, #0x48 ldr r0, [r0] mov r1, #0x1000 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216cec8 ; =data_027e0e58 ldr r1, _0216cecc ; =0x00001001 ldr r0, [r0] add r2, r4, #0x48 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216cec8 ; =data_027e0e58 ldr r1, _0216ced0 ; =0x00001002 ldr r0, [r0] add r2, r4, #0x48 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _0216ced4 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] bl func_ov15_02142948 ldr r0, _0216ced4 ; =data_027e10a4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov15_02142e78 mov r0, #0 add sp, sp, #8 strb r0, [r4, #0x118] ldmia sp!, {r4, pc} _0216cea8: ldr r0, [r4, #0x308] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} add r0, r4, #0x2f4 bl func_ov00_020c5e20 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216cdec _0216cec8: .word data_027e0e58 _0216cecc: .word 0x00001001 _0216ced0: .word 0x00001002 _0216ced4: .word data_027e10a4 .global func_ov15_0216ced8 arm_func_start func_ov15_0216ced8 func_ov15_0216ced8: ; 0x0216ced8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1c ldr r1, _0216cfbc ; =data_027e10a4 mov r4, r0 ldr r3, [r1] add r0, sp, #0xc ldr r2, [r3, #0x300] add r1, sp, #0 str r2, [sp, #0xc] ldr r2, [r3, #0x304] str r2, [sp, #0x10] ldr r2, [r3, #0x308] str r2, [sp, #0x14] ldr r5, [r3, #0x30c] str r5, [sp, #0x18] ldr r2, [r4, #0x48] str r2, [sp] ldr r2, [r4, #0x4c] str r2, [sp, #4] ldr r2, [r4, #0x50] str r2, [sp, #8] bl func_01fffb80 smull r2, r1, r5, r5 adds r2, r2, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r1, r2, #0x100 cmp r0, r1 mov r0, #0 movlt r0, #1 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, pc} mov r2, #3 add r0, r4, #0x2f4 mov r1, #2 str r2, [r4, #0x480] bl func_ov00_020c5d74 add r0, r4, #0x2f4 mov r1, #0x2000 bl func_ov15_0216c048 ldr r0, _0216cfc0 ; =data_027e0ffc ldr r1, _0216cfc4 ; =0x000003c7 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc add r0, r4, #0x158 bl func_ov00_020b7e6c mov r0, r4 bl func_ov15_0216cffc ldr r0, _0216cfbc ; =data_027e10a4 mov r1, #0x3c ldr r0, [r0] str r1, [r0, #0x340] add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216ced8 _0216cfbc: .word data_027e10a4 _0216cfc0: .word data_027e0ffc _0216cfc4: .word 0x000003c7 .global func_ov15_0216cfc8 arm_func_start func_ov15_0216cfc8 func_ov15_0216cfc8: ; 0x0216cfc8 ldr r2, _0216cff4 ; =data_ov15_0218f9b8 ldr r1, [r2, #0x114] cmp r1, #0 movne r0, #0 bxne lr ldr r3, [r0, #8] ldr r1, _0216cff8 ; =data_ov15_0218d5b0 mov r0, #1 str r3, [r1, #0x10] str r0, [r2, #0x114] bx lr .align 2, 0 arm_func_end func_ov15_0216cfc8 _0216cff4: .word data_ov15_0218f9b8 _0216cff8: .word data_ov15_0218d5b0 .global func_ov15_0216cffc arm_func_start func_ov15_0216cffc func_ov15_0216cffc: ; 0x0216cffc ldr r2, _0216d034 ; =data_ov15_0218f9b8 ldr r1, [r2, #0x114] cmp r1, #1 bxne lr ldr r1, _0216d038 ; =data_ov15_0218d5b0 ldr r0, [r0, #8] ldr r3, [r1, #0x10] cmp r3, r0 bxne lr mvn r3, #0 mov r0, #0 str r3, [r1, #0x10] str r0, [r2, #0x114] bx lr .align 2, 0 arm_func_end func_ov15_0216cffc _0216d034: .word data_ov15_0218f9b8 _0216d038: .word data_ov15_0218d5b0 .global func_ov15_0216d03c arm_func_start func_ov15_0216d03c func_ov15_0216d03c: ; 0x0216d03c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldrb r0, [r4, #0x4dd] cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x2f4 ldr r3, [r0] add r1, r4, #0x8c ldr r3, [r3, #0xc] add r1, r1, #0x400 add r2, r4, #0x48 blx r3 ldr r0, [r4, #0x484] cmp r0, #1 cmpne r0, #2 bne _0216d0b8 add r0, r4, #0x3f0 add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, r3 add r0, r4, #0x168 bl func_ov15_0216d6e8 _0216d0b8: ldr r0, [r4, #0x4d8] cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} mov r3, #0x400 str r3, [sp] mov r1, #0 str r1, [sp, #4] str r0, [sp, #8] mov ip, #1 str ip, [sp, #0xc] str ip, [sp, #0x10] ldr r0, _0216d100 ; =data_ov00_020e9370 add r2, r4, #0x48 str ip, [sp, #0x14] bl func_ov05_02102c2c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216d03c _0216d100: .word data_ov00_020e9370 .global func_ov15_0216d104 arm_func_start func_ov15_0216d104 func_ov15_0216d104: ; 0x0216d104 ldrsh r2, [r1] strh r2, [r0, #0x50] ldrsh r2, [r1, #2] strh r2, [r0, #0x52] ldrsh r1, [r1, #4] strh r1, [r0, #0x54] bx lr arm_func_end func_ov15_0216d104 .global func_ov15_0216d120 arm_func_start func_ov15_0216d120 func_ov15_0216d120: ; 0x0216d120 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x2c mov r5, r0 mov lr, #0 add r0, sp, #0x20 mov ip, #0x1000 add r3, r5, #0x8c mov r4, r1 mov r2, r0 str lr, [sp, #0x20] str lr, [sp, #0x24] str ip, [sp, #0x28] add r1, r3, #0x400 bl func_01ff88b0 ldr r3, [sp, #0x28] ldr r2, [sp, #0x24] ldr r1, [sp, #0x20] add r0, r5, #0x400 strh r1, [r0, #0xb0] strh r2, [r0, #0xb2] strh r3, [r0, #0xb4] add r0, r5, #0x4b0 str r0, [sp] ldr r1, _0216d244 ; =func_ov15_0216d104 ldr r0, _0216d248 ; =data_027e0e58 str r1, [sp, #4] ldr r1, _0216d24c ; =data_ov15_02186a80 mov r4, r4, lsl #0x1 ldr r0, [r0] ldr r1, [r1, r4, lsl #2] add r2, r5, #0x48 mov r3, #2 bl func_ov00_0207c1b0 add r0, r5, #0x4b0 str r0, [sp] ldr r0, _0216d244 ; =func_ov15_0216d104 ldr r1, _0216d24c ; =data_ov15_02186a80 str r0, [sp, #4] ldr r0, _0216d248 ; =data_027e0e58 add r2, r4, #1 ldr r1, [r1, r2, lsl #2] ldr r0, [r0] add r2, r5, #0x48 mov r3, #2 bl func_ov00_0207c1b0 add r0, r5, #0x3f0 add lr, sp, #0x14 ldmia r0, {r0, r1, r2} mov ip, #0 ldr r4, _0216d250 ; =0x0000019a stmia lr, {r0, r1, r2} add r3, r5, #0x8c add r0, sp, #8 add r1, r3, #0x400 mov r2, r0 str r4, [sp, #0x10] str ip, [sp, #8] str ip, [sp, #0xc] bl func_01ff88b0 add r1, sp, #0x14 add r0, sp, #8 mov r2, r1 bl func_01ff9bc4 mov r0, #2 str r0, [sp] ldr r0, _0216d248 ; =data_027e0e58 ldr r2, _0216d254 ; =0x00001008 ldr r0, [r0] add r1, r5, #0x164 add r3, sp, #0x14 bl func_ov00_0207c1f8 add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216d120 _0216d244: .word func_ov15_0216d104 _0216d248: .word data_027e0e58 _0216d24c: .word data_ov15_02186a80 _0216d250: .word 0x0000019a _0216d254: .word 0x00001008 .global func_ov15_0216d258 arm_func_start func_ov15_0216d258 func_ov15_0216d258: ; 0x0216d258 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 ldr r0, [r4, #0x4d4] cmp r0, #0 beq _0216d3a4 add r0, r4, #0x3f0 add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov ip, #0 add r0, sp, #0xc add r1, r4, #0x8c ldr r3, _0216d3c0 ; =0x0000019a mov r2, r0 add r1, r1, #0x400 str ip, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] bl func_01ff88b0 add r1, sp, #0x18 add r0, sp, #0xc mov r2, r1 bl func_01ff9bc4 ldr r0, [r4, #0x164] cmp r0, #0 beq _0216d30c ldr r1, [r0, #0x20] ldr r2, [sp, #0x18] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x1c] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x20] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _0216d30c: add r0, sp, #0 mov ip, #0 add r1, r4, #0x8c mov r3, #0x1000 mov r2, r0 add r1, r1, #0x400 str ip, [sp] str ip, [sp, #4] str r3, [sp, #8] bl func_01ff88b0 add r1, sp, #0 add r0, r4, #0x164 bl func_ov00_020b7ea4 ldr r1, [r4, #0x4d4] mov r0, #0xc cmp r1, #8 bge _0216d35c mul r0, r1, r0 mov r0, r0, lsl #0xd mov r0, r0, lsr #0x10 _0216d35c: ldr r2, [r4, #0x164] cmp r2, #0 beq _0216d380 ldr r1, [r2, #0x84] and r0, r0, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r2, #0x84] _0216d380: ldr r1, [r4, #0x164] cmp r1, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldr r0, [r1, #0x24] add sp, sp, #0x24 bic r0, r0, #2 str r0, [r1, #0x24] ldmia sp!, {r3, r4, pc} _0216d3a4: ldr r1, [r4, #0x164] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216d258 _0216d3c0: .word 0x0000019a .global func_ov15_0216d3c4 arm_func_start func_ov15_0216d3c4 func_ov15_0216d3c4: ; 0x0216d3c4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r1, _0216d4e8 ; =data_027e10a4 mov r4, r0 ldr ip, [r1] add r1, sp, #0xc ldr r0, [ip, #0x300] add r2, sp, #0 str r0, [sp, #0xc] ldr r3, [ip, #0x304] add r0, r4, #0x48 str r3, [sp, #0x10] ldr r3, [ip, #0x308] str r3, [sp, #0x14] ldr r3, [ip, #0x30c] str r3, [sp, #0x18] bl func_01ff9bf8 add r0, sp, #0 add r1, r4, #0x8c mov r2, r0 add r1, r1, #0x400 bl func_01ff88b0 ldr r0, [r4, #0x480] cmp r0, #1 beq _0216d434 cmp r0, #2 beq _0216d48c b _0216d4dc _0216d434: ldr r0, [sp] bl func_02042f74 ldr r2, [sp, #0x18] add r1, r2, #0x200 cmp r0, r1 bge _0216d4dc mov r0, #0x1000 rsb r0, r0, #0 ldr r1, [sp, #8] sub r0, r0, r2 cmp r1, r0 ble _0216d4dc sub r0, r2, #0x800 cmp r1, r0 bge _0216d4dc ldr r0, _0216d4e8 ; =data_027e10a4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov15_02142d60 add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r3, r4, pc} _0216d48c: ldr r0, [sp, #4] bl func_02042f74 ldr r2, [sp, #0x18] add r1, r2, #0x200 cmp r0, r1 bge _0216d4dc ldr r1, [sp, #8] rsb r0, r2, #0x200 cmp r1, r0 ble _0216d4dc add r0, r2, #0x1400 cmp r1, r0 bge _0216d4dc ldr r0, _0216d4e8 ; =data_027e10a4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov15_02142d60 add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r3, r4, pc} _0216d4dc: mov r0, #0 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216d3c4 _0216d4e8: .word data_027e10a4 .global func_ov15_0216d4ec arm_func_start func_ov15_0216d4ec func_ov15_0216d4ec: ; 0x0216d4ec stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r0 bl func_ov00_020c6114 ldr r3, _0216d5f0 ; =data_ov15_0218d6e8 add r0, r4, #0xfc add r1, r4, #0x120 mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _0216d5f4 ; =data_ov15_0218d6fc ldr r0, _0216d5f8 ; =0x00000333 str r1, [r4, #0xfc] str r0, [r4, #0x17c] mov r1, #0 strb r1, [r4, #0x188] ldr r2, _0216d5fc ; =data_ov15_02186a90 mov r0, r4 mov r1, #0x8b bl func_ov00_020c5c98 ldr r0, [r4, #4] ldr r1, _0216d600 ; =data_ov15_02186ab8 str r0, [r4, #0x104] ldr r2, [r4, #4] ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 str r0, [r4, #0x180] ldr r2, [r4, #4] ldr r1, _0216d604 ; =data_ov15_02186acc ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 str r0, [r4, #0x184] ldr r0, _0216d608 ; =data_ov15_0218d724 blx func_02016fe8 mov r5, r0 ldr r1, _0216d60c ; =data_ov15_0218d738 add r0, sp, #0 mov r2, #0x10 bl strncpy mov r0, r5 add r1, sp, #0 bl func_0201e544 mov r1, r0 add r0, r4, #0xfc bl func_ov00_020c0c9c mov r0, #0x1000 str r0, [r4, #0x10c] add r0, r4, #0x20 ldr r2, [r0] add r1, r4, #0xfc ldr r2, [r2, #0x24] blx r2 mov r0, r4 mov r1, #0 bl func_ov00_020c5d74 ldr r2, [r4, #0x10] mov r1, #0x1000 mov r0, r4 str r1, [r2, #0x10] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216d4ec _0216d5f0: .word data_ov15_0218d6e8 _0216d5f4: .word data_ov15_0218d6fc _0216d5f8: .word 0x00000333 _0216d5fc: .word data_ov15_02186a90 _0216d600: .word data_ov15_02186ab8 _0216d604: .word data_ov15_02186acc _0216d608: .word data_ov15_0218d724 _0216d60c: .word data_ov15_0218d738 .global func_ov15_0216d610 arm_func_start func_ov15_0216d610 func_ov15_0216d610: ; 0x0216d610 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x189] cmp r0, #0 beq _0216d64c ldr r0, _0216d688 ; =0x00000333 str r0, [r4, #0x17c] ldrb r0, [r4, #0x188] add r1, r0, #4 and r0, r1, #0xff cmp r0, #0xe strb r1, [r4, #0x188] movhi r0, #0xe strhib r0, [r4, #0x188] b _0216d668 _0216d64c: add r0, r4, #0x17c mov r1, #0 mov r2, #0x88 bl Approach_thunk cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x188] _0216d668: mov r0, #0 strb r0, [r4, #0x189] ldrb r0, [r4, #0x188] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0xfc bl func_ov00_020c0e04 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216d610 _0216d688: .word 0x00000333 .global func_ov15_0216d68c arm_func_start func_ov15_0216d68c func_ov15_0216d68c: ; 0x0216d68c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, _0216d6e4 ; =data_ov00_020e9360 ldr r4, [r5, #4] mov r1, #2 bl func_ov00_02079e68 mov r2, r0 ldr r1, [r5, #0x180] mov r0, r4 bl func_02019534 ldr r0, _0216d6e4 ; =data_ov00_020e9360 ldr r4, [r5, #4] mov r1, #2 bl func_ov00_02079e68 mov r2, r0 ldr r1, [r5, #0x184] mov r0, r4 bl func_02019534 ldrb r1, [r5, #0x188] ldr r0, [r5, #4] bl func_020197fc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216d68c _0216d6e4: .word data_ov00_020e9360 .global func_ov15_0216d6e8 arm_func_start func_ov15_0216d6e8 func_ov15_0216d6e8: ; 0x0216d6e8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x3c mov r5, r0 ldrb r0, [r5, #0x188] mov r4, r1 cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r2, [r5, #0x17c] mov r1, #0 ldr r0, _0216d794 ; =0x0000019a str r2, [sp, #0x30] str r2, [sp, #0x34] str r2, [sp, #0x38] str r1, [sp, #0x24] str r1, [sp, #0x28] str r0, [sp, #0x2c] ldr r0, [r5, #0x1c] add lr, sp, #0 add r0, r0, #0x8c add r6, r0, #0x400 ldmia r6!, {r0, r1, r2, r3} mov ip, lr stmia lr!, {r0, r1, r2, r3} ldmia r6!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} ldr r2, [r6] add r0, sp, #0x24 str r2, [lr] mov r1, ip mov r2, r0 bl func_01ff88b0 add r1, sp, #0x24 mov r0, r4 mov r2, r1 bl func_01ff9bc4 mov r0, r5 add r1, sp, #0x30 add r2, sp, #0 add r3, sp, #0x24 bl func_ov00_020c5f80 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216d6e8 _0216d794: .word 0x0000019a .global func_ov15_0216d798 arm_func_start func_ov15_0216d798 func_ov15_0216d798: ; 0x0216d798 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216d798 .global func_ov15_0216d7b4 arm_func_start func_ov15_0216d7b4 func_ov15_0216d7b4: ; 0x0216d7b4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 blx func_ov09_0211c510 ldr r0, _0216d858 ; =data_ov09_0211f5c8 mov r2, #0 strh r2, [r0] strh r2, [r4, #0x1a] ldr r1, _0216d85c ; =0x0211f5ca strb r2, [r4, #0xc] add r0, sp, #0x10 strb r2, [r1] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] str r1, [sp, #0x30] bl func_ov00_020c3348 ldr r0, _0216d860 ; =data_ov15_02186ae0 add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #4 str r0, [sp] ldr r0, _0216d864 ; =data_027e0fe8 mov r2, r3 ldr r1, _0216d868 ; =0x4d544354 ldr r0, [r0] add r3, sp, #0x10 bl func_ov00_020c4048 mov r3, #0 ldr r0, _0216d86c ; =data_027e0fb8 strb r3, [r4, #0x18] ldr r2, [r0] mov r1, #1 strb r1, [r2, #0x79] strb r1, [r2, #0x7b] ldr r0, [r0] strb r3, [r0, #0x7a] add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216d7b4 _0216d858: .word data_ov09_0211f5c8 _0216d85c: .word data_ov09_0211f5ca _0216d860: .word data_ov15_02186ae0 _0216d864: .word data_027e0fe8 _0216d868: .word 0x4d544354 _0216d86c: .word data_027e0fb8 .global func_ov15_0216d870 arm_func_start func_ov15_0216d870 func_ov15_0216d870: ; 0x0216d870 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 blx func_ov09_0211c41c mov r4, r0 blx func_ov09_0211c444 cmp r4, r0 bls _0216d8ac ldrb r0, [r5, #0xc] cmp r0, #0 bne _0216d8ac blx func_ov09_0211c41c blx func_ov09_0211c450 ldr r0, _0216d8c0 ; =0x0211f5ca mov r1, #1 strb r1, [r0] _0216d8ac: ldr r0, _0216d8c4 ; =data_027e0fb8 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x7a] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216d870 _0216d8c0: .word data_ov09_0211f5ca _0216d8c4: .word data_027e0fb8 .global func_ov15_0216d8c8 arm_func_start func_ov15_0216d8c8 func_ov15_0216d8c8: ; 0x0216d8c8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r1, _0216d95c ; =data_027e0e60 mov r2, #1 strb r2, [r0, #0xc] mov lr, #0 ldr r0, [r1] sub ip, lr, #2 mov r4, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #6 str r4, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _0216d960 ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} ldr r0, _0216d964 ; =gAdventureFlags mov r1, #0x100 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216d8c8 _0216d95c: .word data_027e0e60 _0216d960: .word data_027e0d38 _0216d964: .word gAdventureFlags .global func_ov15_0216d968 arm_func_start func_ov15_0216d968 func_ov15_0216d968: ; 0x0216d968 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r0 cmp r1, #0 bne _0216da38 ldrb r1, [r4, #0xd] cmp r1, #0 bne _0216d9b0 bl func_ov15_0216de40 mov r0, #5 mov r1, #0x1e bl func_ov15_021429d0 mov r1, r0 ldr r0, _0216da94 ; =data_027e0c68 mov r2, #0 bl func_020370d0 mov r0, #1 strb r0, [r4, #0xd] _0216d9b0: mov r0, r4 bl func_ov15_0216dd8c cmp r0, #0 beq _0216da38 ldr r0, _0216da98 ; =data_027e0e60 mov lr, #0 ldr r0, [r0] sub ip, lr, #2 mov r5, #0x47 mov r3, #0xff add r2, sp, #0 mov r1, #6 str r5, [sp] str lr, [sp, #4] str lr, [sp, #8] str ip, [sp, #0xc] strh lr, [sp, #0x10] strb r3, [sp, #0x12] strb lr, [sp, #0x13] strb lr, [sp, #0x14] strb lr, [sp, #0x15] bl func_ov00_020838e8 ldr r0, _0216da9c ; =data_027e0d38 add r1, sp, #0 ldr r0, [r0] mov r2, #1 bl func_ov05_02100ae0 cmp r0, #0 beq _0216da38 ldr r0, _0216daa0 ; =gAdventureFlags mov r1, #0x56 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb _0216da38: ldr r0, _0216da94 ; =data_027e0c68 mov r1, #0 bl func_02036770 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x18] cmp r0, #0 ldreqb r0, [r4, #0xd] cmpeq r0, #1 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0216daa4 ; =data_027e0fe4 add r1, r4, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _0216da84 bl func_ov03_020fb5cc _0216da84: mov r0, #1 strb r0, [r4, #0x18] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216d968 _0216da94: .word data_027e0c68 _0216da98: .word data_027e0e60 _0216da9c: .word data_027e0d38 _0216daa0: .word gAdventureFlags _0216daa4: .word data_027e0fe4 .global func_ov15_0216daa8 arm_func_start func_ov15_0216daa8 func_ov15_0216daa8: ; 0x0216daa8 bx lr arm_func_end func_ov15_0216daa8 .global func_ov15_0216daac arm_func_start func_ov15_0216daac func_ov15_0216daac: ; 0x0216daac stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x24 ldr r2, _0216dc28 ; =data_027e0618 mov r7, r0 ldrb r0, [r2, #0x101] mov r4, r1 cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} add r0, sp, #4 bl func_01ffbe34 mov r0, #1 strb r0, [sp, #0xe] ldrh r0, [r4] tst r0, #2 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r1, #0 add r0, sp, #4 str r0, [sp] mov r2, r1 mov r3, r1 mov r0, #0x6a bl func_0203493c blx func_ov09_0211c444 ldrb r1, [r7, #0xe] mov r5, #0 mov r4, r0 mov r6, r5 cmp r1, #0 beq _0216db64 ldrsh r0, [r7, #0x1a] add r0, r0, #1 strh r0, [r7, #0x1a] ldrsh r0, [r7, #0x1a] cmp r0, #0xa ble _0216db5c cmp r0, #0xb moveq r6, #1 cmp r0, #0x22 movgt r0, #0 strgth r0, [r7, #0x1a] mov r5, #1 b _0216db68 _0216db5c: cmp r0, #0 b _0216db68 _0216db64: mov r5, #1 _0216db68: blx func_ov09_0211c41c mov r8, r0 blx func_ov09_0211c444 cmp r8, r0 blo _0216dbd0 cmp r6, #0 beq _0216db90 ldr r0, _0216dc2c ; =data_ov00_020eec9c mov r1, #0xc0 bl func_ov00_020d77e4 _0216db90: blx func_ov09_0211c41c mov r4, r0 cmp r5, #0 beq _0216dbb8 blx func_ov09_0211c41c mov r3, r0 mov r0, r7 mov r1, #0x14 mov r2, #1 bl func_ov15_0216dc30 _0216dbb8: mov r0, r7 mov r3, r4 mov r1, #0x14 mov r2, #6 bl func_ov15_0216dc30 b _0216dc04 _0216dbd0: cmp r5, #0 beq _0216dbf0 blx func_ov09_0211c41c mov r3, r0 mov r0, r7 mov r1, #0xa mov r2, #1 bl func_ov15_0216dc30 _0216dbf0: mov r0, r7 mov r3, r4 mov r1, #0xa mov r2, #6 bl func_ov15_0216dc30 _0216dc04: mov r2, #0 add r4, sp, #4 mov r3, r2 mov r0, #0x6a mov r1, #5 str r4, [sp] bl func_0203493c add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0216daac _0216dc28: .word data_027e0618 _0216dc2c: .word data_ov00_020eec9c .global func_ov15_0216dc30 arm_func_start func_ov15_0216dc30 func_ov15_0216dc30: ; 0x0216dc30 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x28 add r0, sp, #8 mov r6, r1 mov r5, r2 mov r4, r3 bl func_01ffbe34 ldr r2, _0216dd78 ; =0x66666667 mov r0, r4, lsr #0x1f smull r1, r7, r2, r4 mov r1, #1 add r7, r0, r7, asr #2 mov r2, #0xa strb r1, [sp, #0x12] smull r0, r1, r2, r7 sub r7, r4, r0 mov r3, #0 str r3, [sp] add r2, sp, #8 str r2, [sp, #4] add r1, r6, r7 mov r0, #0x6a add r2, r5, #3 bl func_020349cc ldr r2, _0216dd78 ; =0x66666667 mov r0, r4, lsr #0x1f smull r1, r3, r2, r4 add r3, r0, r3, asr #2 smull r0, r1, r2, r3 mov r0, r3, lsr #0x1f add r1, r0, r1, asr #2 mov r2, #0xa smull r0, r1, r2, r1 sub r1, r3, r0 mov r3, #0 str r3, [sp] add r2, sp, #8 str r2, [sp, #4] add r1, r6, r1 mov r0, #0x6a add r2, r5, #2 bl func_020349cc mov r3, #0 ldr lr, _0216dd7c ; =0x51eb851f str r3, [sp] add r1, sp, #8 str r1, [sp, #4] smull ip, r1, lr, r4 mov r2, r4, lsr #0x1f add r1, r2, r1, asr #5 ldr lr, _0216dd78 ; =0x66666667 mov r2, r1, lsr #0x1f smull ip, r7, lr, r1 add r7, r2, r7, asr #2 mov lr, #0xa smull r2, ip, lr, r7 sub r7, r1, r2 mov r0, #0x6a add r1, r6, r7 add r2, r5, #1 bl func_020349cc mov r3, #0 mov r2, r5 ldr ip, _0216dd80 ; =0x10624dd3 str r3, [sp] add r1, sp, #8 str r1, [sp, #4] mov r5, r4, lsr #0x1f smull r4, r1, ip, r4 add r1, r5, r1, asr #6 ldr ip, _0216dd78 ; =0x66666667 mov r4, r1, lsr #0x1f smull r5, lr, ip, r1 add lr, r4, lr, asr #2 mov ip, #0xa smull r4, r5, ip, lr sub lr, r1, r4 mov r0, #0x6a add r1, r6, lr bl func_020349cc add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0216dc30 _0216dd78: .word 0x66666667 _0216dd7c: .word 0x51eb851f _0216dd80: .word 0x10624dd3 .global func_ov15_0216dd84 arm_func_start func_ov15_0216dd84 func_ov15_0216dd84: ; 0x0216dd84 mov r0, #0 bx lr arm_func_end func_ov15_0216dd84 .global func_ov15_0216dd8c arm_func_start func_ov15_0216dd8c func_ov15_0216dd8c: ; 0x0216dd8c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0213ce4c ldrsh r0, [r0, #0xe] cmp r0, #0 bge _0216de30 ldrb r0, [r4, #0xe] cmp r0, #0 bne _0216de14 bl func_ov03_020fb44c ldr r0, [r0, #0x130] cmp r0, #5 beq _0216ddd8 bl func_ov03_020fb44c ldr r0, [r0, #0x130] cmp r0, #6 beq _0216ddd8 bl func_ov03_020fb44c bl func_ov03_020fb654 _0216ddd8: bl func_ov03_020fb44c ldr r0, [r0, #0x130] cmp r0, #6 bne _0216de0c mov r0, #5 mov r1, #0x1f bl func_ov15_021429d0 mov r1, r0 ldr r0, _0216de38 ; =data_027e0c68 mov r2, #0 bl func_020370d0 mov r0, #1 strb r0, [r4, #0xe] _0216de0c: mov r0, #0 ldmia sp!, {r4, pc} _0216de14: ldr r0, _0216de3c ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, pc} _0216de30: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216dd8c _0216de38: .word data_027e0c68 _0216de3c: .word gAdventureFlags .global func_ov15_0216de40 arm_func_start func_ov15_0216de40 func_ov15_0216de40: ; 0x0216de40 stmdb sp!, {r3, lr} bl func_ov15_0213ce4c mov r1, #0 bl func_ov15_0213dcc4 bl func_ov15_0213ce4c bl func_ov15_0213d3e8 ldmia sp!, {r3, pc} arm_func_end func_ov15_0216de40 .global func_ov15_0216de5c arm_func_start func_ov15_0216de5c func_ov15_0216de5c: ; 0x0216de5c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x84 ldr r1, _0216e09c ; =data_027e0fc4 mov r5, r0 ldr r0, [r1] ldr r1, _0216e0a0 ; =data_027e0ce0 ldr r4, [r0, #8] mov r0, #0x120 ldrh r3, [r4, #0xe] mov r2, #4 add r3, r4, r3 ldr r3, [r3, #0xc] add r3, r4, r3 str r3, [r5] ldr r1, [r1, #4] bl _ZN9SysObjectnwEmPjj movs r4, r0 beq _0216def8 ldr r1, [r5] blx func_ov00_020a956c ldr r1, _0216e0a4 ; =data_ov15_0218d80c mvn r0, #0 str r1, [r4] str r0, [r4, #0x118] str r0, [r4, #0x114] str r0, [r4, #0x110] str r0, [r4, #0x10c] mov r1, #0 add r0, r4, #0x100 strh r1, [r0, #8] strh r1, [r0, #4] strh r1, [r0, #6] str r1, [r4, #0x11c] ldr r0, _0216e0a8 ; =0xffffdb4b ldr r1, _0216e0ac ; =0x000009c3 str r0, [r4, #0xec] ldr r0, _0216e0b0 ; =0x000038c7 str r1, [r4, #0xf0] str r0, [r4, #0xf4] _0216def8: ldr r0, _0216e0a0 ; =data_027e0ce0 str r4, [r5, #4] ldr r1, [r0, #4] mov r0, #0x24 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0216df24 ldr r1, [r5] mov r2, #4 blx func_ov00_020a99e0 _0216df24: ldr r1, _0216e0a0 ; =data_027e0ce0 str r0, [r5, #8] ldr r1, [r1, #4] mov r0, #0x24 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _0216df50 ldr r1, [r5] mov r2, #4 blx func_ov00_020a99e0 _0216df50: str r0, [r5, #0xc] mov r0, #0 mov r1, #4 str r0, [r5, #0x14] ldr r4, _0216e0b4 ; =func_ov00_020b7d74 ldr r3, _0216e0b8 ; =func_ov15_021341a0 mov r2, r1 add r0, r5, #0x54 str r4, [sp] bl func_0204f614 mov r0, #0 strh r0, [r5, #0x64] strb r0, [r5, #0x66] ldr r0, [r5, #4] bl func_ov15_0216ebd0 ldr r1, _0216e0a0 ; =data_027e0ce0 mov r0, #0x6000 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9f4 str r0, [r5, #0x10] add r2, sp, #4 mov r1, #0x20 mov r0, #0 _0216dfb0: strb r0, [r2] strb r0, [r2, #1] strb r0, [r2, #2] strb r0, [r2, #3] add r2, r2, #4 subs r1, r1, #1 bne _0216dfb0 ldr r1, _0216e0bc ; =data_ov15_0218d760 add r0, sp, #4 ldr r1, [r1, #0x20] bl strcat mov r3, #0 str r3, [sp] ldr r1, [r5, #0x10] add r0, sp, #4 mov r2, #0x6000 blx func_0202d56c ldr r0, [r5, #4] mov r1, #4 blx func_ov00_020a9938 ldr r0, [r5, #4] ldr r1, _0216e0c0 ; =data_ov15_0218d784 bl func_ov00_020a98e8 ldr r2, [r5, #4] ldr r1, _0216e0c4 ; =data_ov15_0218d794 str r0, [r2, #0x114] ldr r0, [r5, #4] bl func_ov00_020a98e8 ldr r2, [r5, #4] ldr r1, _0216e0c8 ; =data_ov15_0218d7a4 str r0, [r2, #0x118] ldr r0, [r5, #4] bl func_ov00_020a98e8 ldr r2, [r5, #4] ldr r1, _0216e0cc ; =data_ov15_0218d7b4 str r0, [r2, #0x10c] ldr r0, [r5, #4] bl func_ov00_020a98e8 ldr r1, [r5, #4] mov r4, #0 str r0, [r1, #0x110] str r4, [r5, #0x50] ldr r6, _0216e0d0 ; =data_ov15_0218d7c4 str r4, [r5, #0x4c] _0216e060: ldr r0, [r5, #4] mov r1, r6 bl func_ov00_020a990c add r1, r5, r4, lsl #2 add r4, r4, #1 str r0, [r1, #0x3c] cmp r4, #4 add r6, r6, #0x10 blt _0216e060 mov r0, r5 mov r1, #2 bl func_ov15_0216e168 mov r0, r5 add sp, sp, #0x84 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216de5c _0216e09c: .word data_027e0fc4 _0216e0a0: .word data_027e0ce0 _0216e0a4: .word data_ov15_0218d80c _0216e0a8: .word 0xffffdb4b _0216e0ac: .word 0x000009c3 _0216e0b0: .word 0x000038c7 _0216e0b4: .word func_ov00_020b7d74 _0216e0b8: .word func_ov15_021341a0 _0216e0bc: .word data_ov15_0218d760 _0216e0c0: .word data_ov15_0218d784 _0216e0c4: .word data_ov15_0218d794 _0216e0c8: .word data_ov15_0218d7a4 _0216e0cc: .word data_ov15_0218d7b4 _0216e0d0: .word data_ov15_0218d7c4 .global func_ov15_0216e0d4 arm_func_start func_ov15_0216e0d4 func_ov15_0216e0d4: ; 0x0216e0d4 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216e0d4 .global func_ov15_0216e0f0 arm_func_start func_ov15_0216e0f0 func_ov15_0216e0f0: ; 0x0216e0f0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] cmp r0, #0 beq _0216e110 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0216e110: ldr r0, [r4, #8] cmp r0, #0 beq _0216e128 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0216e128: ldr r0, [r4, #0xc] cmp r0, #0 beq _0216e140 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _0216e140: ldr r0, [r4, #0x10] bl func_0202ea18 mov r1, #4 ldr r3, _0216e164 ; =func_ov00_020b7d74 mov r2, r1 add r0, r4, #0x54 bl func_0204f754 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216e0f0 _0216e164: .word func_ov00_020b7d74 .global func_ov15_0216e168 arm_func_start func_ov15_0216e168 func_ov15_0216e168: ; 0x0216e168 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 mov r6, r1 str r6, [r7, #0x14] ldr r0, [r7, #4] ldr r1, [r0] ldr r1, [r1, #0x28] blx r1 ldr r0, [r7, #0x14] mov r4, #0 mov r5, r4 cmp r0, #7 addls pc, pc, r0, lsl #2 b _0216e248 _0216e1a0: ; jump table b _0216e1c0 ; case 0 b _0216e1ec ; case 1 b _0216e208 ; case 2 b _0216e1c0 ; case 3 b _0216e1c0 ; case 4 b _0216e1c0 ; case 5 b _0216e1c0 ; case 6 b _0216e220 ; case 7 _0216e1c0: ldr r0, _0216e310 ; =data_027e0fc4 mov r1, #2 ldr r0, [r0] blx func_ov00_020bb3a8 ldr r1, _0216e310 ; =data_027e0fc4 ldr r4, [r0, #8] ldr r0, [r1] mov r1, #5 blx func_ov00_020bb3a8 ldr r5, [r0, #8] b _0216e248 _0216e1ec: ldr r0, _0216e310 ; =data_027e0fc4 mov r1, #5 ldr r0, [r0] ldr r4, [r7, #0x10] blx func_ov00_020bb3a8 ldr r5, [r0, #8] b _0216e248 _0216e208: ldr r0, _0216e310 ; =data_027e0fc4 mov r1, #2 ldr r0, [r0] blx func_ov00_020bb3a8 ldr r4, [r0, #8] b _0216e248 _0216e220: ldr r0, _0216e310 ; =data_027e0fc4 mov r1, #3 ldr r0, [r0] blx func_ov00_020bb3a8 ldr r1, _0216e310 ; =data_027e0fc4 ldr r4, [r0, #8] ldr r0, [r1] mov r1, #5 blx func_ov00_020bb3a8 ldr r5, [r0, #8] _0216e248: cmp r4, #0 beq _0216e29c mov r0, #0x28 mul r8, r6, r0 ldr r1, _0216e314 ; =data_ov15_02186aec mov r0, r4 add r1, r1, r8 bl func_0201e544 ldr r2, _0216e318 ; =data_ov15_02186b0c mov r1, r0 ldr r3, [r2, r8] ldr r0, [r7, #8] mov r2, #0 bl func_ov00_020c0cc8 ldr r0, [r7, #8] mov r1, #0x1000 str r1, [r0, #0x10] ldmib r7, {r0, r1} ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 _0216e29c: cmp r5, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #0x28 mul r4, r6, r0 ldr r1, _0216e314 ; =data_ov15_02186aec mov r0, r5 add r1, r1, r4 add r1, r1, #0x10 bl func_0201e544 ldr r1, _0216e310 ; =data_027e0fc4 mov r5, r0 ldr r0, [r1] mov r1, #0 blx func_ov00_020bb378 ldr r1, _0216e31c ; =data_ov15_02186b10 mov r2, r0 ldr r0, [r7, #0xc] ldr r3, [r1, r4] mov r1, r5 bl func_ov00_020c0cc8 ldr r0, [r7, #0xc] mov r1, #0x1000 str r1, [r0, #0x10] ldr r0, [r7, #4] ldr r1, [r7, #0xc] ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0216e168 _0216e310: .word data_027e0fc4 _0216e314: .word data_ov15_02186aec _0216e318: .word data_ov15_02186b0c _0216e31c: .word data_ov15_02186b10 .global func_ov15_0216e320 arm_func_start func_ov15_0216e320 func_ov15_0216e320: ; 0x0216e320 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r0, _0216e4f4 ; =data_027e071c bl func_0202d7ac cmp r0, #0 bne _0216e4d8 ldr r0, [r4, #8] bl func_ov00_020c0e04 ldr r0, [r4, #0x14] cmp r0, #7 addls pc, pc, r0, lsl #2 b _0216e4d8 _0216e350: ; jump table b _0216e370 ; case 0 b _0216e4c0 ; case 1 b _0216e4d8 ; case 2 b _0216e37c ; case 3 b _0216e370 ; case 4 b _0216e370 ; case 5 b _0216e370 ; case 6 b _0216e37c ; case 7 _0216e370: ldr r0, [r4, #0xc] bl func_ov00_020c0e04 b _0216e4d8 _0216e37c: ldr r0, [r4, #0x4c] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x4c] bne _0216e4b4 ldr r0, [r4, #0x50] cmp r0, #0 bne _0216e444 ldr r3, _0216e4f8 ; =data_027e0764 mov r2, #0 ldr r1, [r3] ldmib r3, {r0, r5} umull ip, r6, r5, r1 mla r6, r5, r0, r6 ldr r0, [r3, #0xc] ldr r5, [r3, #0x10] mla r6, r0, r1, r6 ldr r0, [r3, #0x14] adds ip, r5, ip adc r6, r0, r6 mov r1, #0xa umull r0, r5, r6, r1 str ip, [r3] mla r5, r6, r2, r5 mov r0, r2 mla r5, r0, r1, r5 str r6, [r3, #4] cmp r5, #3 bge _0216e444 mov r1, #1 str r1, [r4, #0x50] ldr r5, [r3] ldmib r3, {r1, r6} umull lr, ip, r6, r5 mla ip, r6, r1, ip ldr r1, [r3, #0xc] ldr r6, [r3, #0x10] mla ip, r1, r5, ip ldr r1, [r3, #0x14] adds lr, r6, lr adc ip, r1, ip mov r1, #5 umull r5, r6, ip, r1 mla r6, ip, r2, r6 mla r6, r0, r1, r6 str lr, [r3] str ip, [r3, #4] add r0, r6, #8 str r0, [r4, #0x4c] b _0216e49c _0216e444: ldr r1, _0216e4f8 ; =data_027e0764 mov r2, #0 ldr r3, [r1] ldmib r1, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r1, #0xc] ldr ip, [r1, #0x10] mla lr, r0, r3, lr ldr r0, [r1, #0x14] adds r6, ip, r5 adc r5, r0, lr mov r0, #0x15 umull r3, ip, r5, r0 str r6, [r1] mla ip, r5, r2, ip mov r3, r2 mla ip, r3, r0, ip str r5, [r1, #4] add r0, ip, #0x28 str r0, [r4, #0x4c] str r2, [r4, #0x50] _0216e49c: ldr r0, [r4, #0xc] mov r1, #0 strh r1, [r0, #0xe] ldr r0, [r4, #0xc] ldr r1, [r0, #0x18] bl func_ov00_020c0e24 _0216e4b4: ldr r0, [r4, #0xc] bl func_ov00_020c0e04 b _0216e4d8 _0216e4c0: ldr r0, [r4, #0xc] bl func_ov00_020c0e04 ldrh r0, [r4, #0x64] add r0, r0, #0xe add r0, r0, #0x100 strh r0, [r4, #0x64] _0216e4d8: ldr r0, [r4, #4] ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 ldr r0, [r4, #4] bl func_ov15_0216ea30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216e320 _0216e4f4: .word data_027e071c _0216e4f8: .word data_027e0764 .global func_ov15_0216e4fc arm_func_start func_ov15_0216e4fc func_ov15_0216e4fc: ; 0x0216e4fc stmdb sp!, {r3, r4, r5, lr} add r1, r0, r1, lsl #2 ldr r4, [r1, #0x3c] mov r5, r2 cmp r4, #0 ldmltia sp!, {r3, r4, r5, pc} ldr r0, [r0, #4] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r1, r4 mov r2, r5 bl func_02019570 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_0216e4fc .global func_ov15_0216e534 arm_func_start func_ov15_0216e534 func_ov15_0216e534: ; 0x0216e534 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r6, r0 ldr r0, [r6, #4] mov r5, r1 mov lr, r5 mov r4, r2 add ip, r0, #0xbc ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r1, [lr] ldr r0, _0216e694 ; =gItemManager str r1, [ip] ldr r0, [r0] mov r1, #0x25 bl _ZNK11ItemManager7HasItemEi mov r7, r0 ldr r0, _0216e694 ; =gItemManager mov r1, #0 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi cmp r0, #0 beq _0216e5a4 cmp r7, #0 moveq r8, #1 beq _0216e5a8 _0216e5a4: mov r8, #0 _0216e5a8: cmp r8, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #0 bl func_ov15_0216e4fc cmp r8, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #1 bl func_ov15_0216e4fc cmp r7, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #2 bl func_ov15_0216e4fc cmp r7, #0 movne r2, #0x1f moveq r2, #0 mov r0, r6 mov r1, #3 bl func_ov15_0216e4fc mov lr, r5 ldmia lr!, {r0, r1, r2, r3} add ip, r6, #0x18 stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r1, [lr] ldr r0, _0216e698 ; =0x000001df str r1, [ip] str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r6, #4] add r1, sp, #0 ldr ip, [r0] mov r2, r5 ldr ip, [ip, #0x10] mov r3, r4 blx ip ldr r0, [r6, #0x14] cmp r0, #1 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r0, r6 bl func_ov15_0216e9d0 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} add r1, sp, #0 mov r0, r6 mov r2, r5 mov r3, r4 bl func_ov15_0216e69c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0216e534 _0216e694: .word gItemManager _0216e698: .word 0x000001df .global func_ov15_0216e69c arm_func_start func_ov15_0216e69c func_ov15_0216e69c: ; 0x0216e69c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x50 mov r4, r1 mvn ip, #0 ldr r1, [r4, #8] sub r9, ip, #0xcc umull r5, r7, r1, r9 str r3, [sp, #0x10] adds r3, r5, #0x800 mov r5, r0 mla r7, r1, ip, r7 mov r0, r1, asr #0x1f mla r7, r0, r9, r7 ldmia r4, {r6, r8} adc r0, r7, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 str r3, [sp, #0x4c] ldr r3, _0216e96c ; =0x0000152d mov r7, r8, asr #0x1f umull r10, r9, r8, r3 mov r3, #0 mla r9, r8, r3, r9 ldr r3, _0216e96c ; =0x0000152d mov r11, r2 mla r9, r7, r3, r9 adds r7, r10, #0x800 add r0, sp, #0x44 adc r3, r9, #0 mov r7, r7, lsr #0xc orr r7, r7, r3, lsl #20 ldr r3, _0216e970 ; =0xfffffa1d str r7, [sp, #0x48] umull r8, r7, r6, r3 mla r7, r6, ip, r7 mov lr, r6, asr #0x1f adds r6, r8, #0x800 mla r7, lr, r3, r7 adc r3, r7, #0 mov r6, r6, lsr #0xc orr r6, r6, r3, lsl #20 mov r1, r11 mov r2, r0 str r6, [sp, #0x44] bl func_01ff88b0 add r0, sp, #0x44 ldr r1, [sp, #0x10] mov r2, r0 bl func_01ff9bc4 ldrh r1, [r5, #0x64] ldr r3, _0216e974 ; =data_02050f54 add r0, sp, #0x20 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 add r1, sp, #0x20 mov r0, r11 mov r2, r1 bl func_01ff8690 ldr r0, _0216e978 ; =gItemManager add r1, sp, #0x14 ldr r0, [r0] ldr r6, [r0, #0x114] blx _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p cmp r0, #0 beq _0216e838 ldr r2, [r4, #8] ldr r0, [sp, #0x1c] ldr r3, [r4, #4] smull r0, r7, r2, r0 adds r8, r0, #0x800 ldr r1, [sp, #0x18] ldr r2, [r4] smull r1, r4, r3, r1 adc r3, r7, #0 adds r7, r1, #0x800 mov r1, r8, lsr #0xc orr r1, r1, r3, lsl #20 ldr r0, [sp, #0x14] str r1, [sp, #0x1c] smull r3, r0, r2, r0 adc r4, r4, #0 adds r2, r3, #0x800 mov r3, r7, lsr #0xc orr r3, r3, r4, lsl #20 str r3, [sp, #0x18] adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 str r2, [sp, #0x14] mov r0, r6 ldr r4, [r0] add r1, sp, #0x14 ldr r4, [r4, #0x10] add r2, sp, #0x20 add r3, sp, #0x44 blx r4 b _0216e854 _0216e838: mov r0, r6 ldr r6, [r0] add r2, sp, #0x20 ldr r6, [r6, #0x10] add r3, sp, #0x44 mov r1, r4 blx r6 _0216e854: ldrb r0, [r5, #0x66] cmp r0, #0 bne _0216e8c0 mov r3, #1 strb r3, [r5, #0x66] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216e97c ; =data_027e0e58 add r2, sp, #0x44 ldr r0, [r0] mov r1, #0x6c bl func_ov00_0207c1b0 mov r0, #0x6a str r0, [sp] mov r1, #0x6b str r1, [sp, #4] add r0, sp, #0x44 str r0, [sp, #8] mov r1, #1 str r1, [sp, #0xc] ldr r0, _0216e97c ; =data_027e0e58 add r1, r5, #0x54 ldr r0, [r0] mov r2, #0x68 mov r3, #0x69 bl func_ov00_0207c358 _0216e8c0: add r2, r5, #0x54 add r1, r5, #0x64 cmp r2, r1 beq _0216e930 _0216e8d0: ldr r0, [r2] cmp r0, #0 beq _0216e924 ldr r3, [r0, #0x20] ldr r4, [sp, #0x44] ldr r3, [r3] ldr r3, [r3, #4] add r3, r4, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr r4, [sp, #0x48] ldr r3, [r3] ldr r3, [r3, #8] add r3, r4, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr r4, [sp, #0x4c] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, r4, r3 str r3, [r0, #0x30] _0216e924: add r2, r2, #4 cmp r2, r1 bne _0216e8d0 _0216e930: add r3, r5, #0x54 add r2, r5, #0x64 cmp r3, r2 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216e944: ldr r1, [r3] add r3, r3, #4 cmp r1, #0 ldrne r0, [r1, #0x24] bicne r0, r0, #8 strne r0, [r1, #0x24] cmp r3, r2 bne _0216e944 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216e69c _0216e96c: .word 0x0000152d _0216e970: .word 0xfffffa1d _0216e974: .word data_02050f54 _0216e978: .word gItemManager _0216e97c: .word data_027e0e58 .global func_ov15_0216e980 arm_func_start func_ov15_0216e980 func_ov15_0216e980: ; 0x0216e980 stmdb sp!, {r4, r5, r6, lr} mov r5, #0 ldr r1, _0216e9b8 ; =data_027e0e58 strb r5, [r0, #0x66] ldr r4, [r1] add r6, r0, #0x54 _0216e998: mov r0, r4 mov r1, r6 bl func_ov00_0207c444 add r5, r5, #1 cmp r5, #4 add r6, r6, #4 blo _0216e998 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216e980 _0216e9b8: .word data_027e0e58 .global func_ov15_0216e9bc arm_func_start func_ov15_0216e9bc func_ov15_0216e9bc: ; 0x0216e9bc ldr r0, [r0, #8] ldr ip, _0216e9cc ; =func_0202e58c add r0, r0, #0xc bx ip .align 2, 0 arm_func_end func_ov15_0216e9bc _0216e9cc: .word func_0202e58c .global func_ov15_0216e9d0 arm_func_start func_ov15_0216e9d0 func_ov15_0216e9d0: ; 0x0216e9d0 ldr r0, [r0, #8] ldr ip, _0216e9e0 ; =func_0202e58c add r0, r0, #0xc bx ip .align 2, 0 arm_func_end func_ov15_0216e9d0 _0216e9e0: .word func_0202e58c .global func_ov15_0216e9e4 arm_func_start func_ov15_0216e9e4 func_ov15_0216e9e4: ; 0x0216e9e4 stmdb sp!, {r3, lr} ldr r1, [r0, #0x14] cmp r1, #6 bne _0216ea0c ldr r0, [r0, #8] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _0216ea0c: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov15_0216e9e4 .global func_ov15_0216ea14 arm_func_start func_ov15_0216ea14 func_ov15_0216ea14: ; 0x0216ea14 ldr r3, [r0, #4] add r3, r3, #0x100 strh r1, [r3, #6] ldr r0, [r0, #4] add r0, r0, #0x100 strh r2, [r0, #4] bx lr arm_func_end func_ov15_0216ea14 .global func_ov15_0216ea30 arm_func_start func_ov15_0216ea30 func_ov15_0216ea30: ; 0x0216ea30 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x94 mov r8, r0 ldr r1, [r8, #0x11c] tst r1, #1 beq _0216eb64 ldr r1, [r8, #0x114] bl func_ov00_020a9624 ldr r5, [r8, #8] mov r6, r0 ldr r4, [r5, #4] ldr r7, [r8, #0x114] mvn r1, #0 add r0, sp, #0x4c str r1, [sp] bl func_01ff80d4 add r10, sp, #0x4c add r9, sp, #0 b _0216eaa8 _0216ea7c: mov r0, r8 bl func_ov00_020a9624 mov r1, r0 ldr r0, [r1] ldr r7, [sp] tst r0, #2 bne _0216eaa8 mov r0, r10 mov r2, r10 add r1, r1, #0x28 bl func_01ff8690 _0216eaa8: mov r0, r9 mov r2, r7 add r1, r5, r4 bl func_0201b2f8 cmp r0, #0 ldrne r1, [sp] cmpne r1, r7 bne _0216ea7c add r0, sp, #0x4c add r1, sp, #0x28 bl func_01ff83a0 cmp r0, #0 bne _0216eb64 add r0, r8, #0x100 ldrh r1, [r0, #6] ldr r3, _0216ebcc ; =data_02050f54 add r0, sp, #0x70 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, #0x28 bl func_01ff8248 add r0, r6, #0x28 add r1, sp, #0x70 mov r2, r0 bl func_01ff8690 add r0, r8, #0x100 ldrh r1, [r0, #4] ldr r3, _0216ebcc ; =data_02050f54 add r0, sp, #0x70 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, #0x34 bl func_01ff8248 add r0, r6, #0x28 add r1, sp, #0x70 mov r2, r0 bl func_01ff8690 _0216eb64: ldr r0, [r8, #0x11c] tst r0, #2 addeq sp, sp, #0x94 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} ldr r1, [r8, #0x118] mov r0, r8 bl func_ov00_020a9624 add r1, r8, #0x100 ldrh r1, [r1, #8] mov r4, r0 ldr r2, _0216ebcc ; =data_02050f54 mov r0, r1, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #4 blx func_01ff81f8 add r0, r4, #0x28 add r1, sp, #4 mov r2, r0 bl func_01ff8690 add sp, sp, #0x94 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0216ea30 _0216ebcc: .word data_02050f54 .global func_ov15_0216ebd0 arm_func_start func_ov15_0216ebd0 func_ov15_0216ebd0: ; 0x0216ebd0 ldr ip, _0216ebe0 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0216ebd0 _0216ebe0: .word func_ov00_020a9998 .global func_ov15_0216ebe4 arm_func_start func_ov15_0216ebe4 func_ov15_0216ebe4: ; 0x0216ebe4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x144 ldr r2, [r1, #8] mov r4, r0 tst r2, #0x10 ldrneb r5, [r1, #0xae] ldr r3, [r4, #0x114] ldr r2, [r1, #4] mvneq r5, #0 cmp r5, r3 ldrne r0, [r4, #0x118] cmpne r5, r0 ldrne r0, [r4, #0x10c] cmpne r5, r0 ldrne r0, [r4, #0x110] cmpne r5, r0 addne sp, sp, #0x144 ldmneia sp!, {r4, r5, pc} ldrb r0, [r2, #0x25] cmp r0, #2 bne _0216ec4c mov r0, #3 strb r0, [r1, #0x92] strb r0, [r2, #0x25] add sp, sp, #0x144 ldmia sp!, {r4, r5, pc} _0216ec4c: cmp r5, r3 bne _0216ecb8 add r0, sp, #0x114 mov r1, #0 bl func_0201b1bc ldr r2, [sp, #0x140] ldr r1, [sp, #0x13c] ldr r0, [sp, #0x138] str r0, [r4, #0xf8] str r1, [r4, #0xfc] str r2, [r4, #0x100] bl func_02018450 add ip, sp, #0xe4 mov lr, r0 mov r5, ip ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, r4, #0xf8 mov r1, r5 mov r2, r0 bl func_01ff9158 add sp, sp, #0x144 ldmia sp!, {r4, r5, pc} _0216ecb8: ldr r0, [r4, #0x10c] cmp r5, r0 bne _0216ed28 add r0, r4, #0x5c mov r1, #0 bl func_0201b1bc bl func_02018450 add ip, sp, #0xb4 mov lr, r0 mov r5, ip ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} mov r1, r5 ldr r5, [r4, #0x88] ldr r3, [r4, #0x84] ldr r2, [r4, #0x80] add r0, r4, #0xe0 str r2, [r4, #0xe0] str r3, [r4, #0xe4] mov r2, r0 str r5, [r4, #0xe8] bl func_01ff9158 add sp, sp, #0x144 ldmia sp!, {r4, r5, pc} _0216ed28: ldr r0, [r4, #0x110] cmp r5, r0 addne sp, sp, #0x144 ldmneia sp!, {r4, r5, pc} add r0, sp, #0x84 mov r1, #0 bl func_0201b1bc add r0, sp, #0x54 bl func_01ff892c ldr r1, _0216edfc ; =data_027e10a4 add r0, sp, #0x18 ldr r1, [r1] bl func_ov15_0215214c ldr r0, _0216edfc ; =data_027e10a4 ldr r2, [sp, #0x18] ldr r1, [r0] add r0, sp, #0xc str r2, [sp, #0x78] bl func_ov15_0215214c ldr r1, [sp, #0x10] add r0, sp, #0 str r1, [sp, #0x7c] ldr r1, _0216edfc ; =data_027e10a4 ldr r1, [r1] bl func_ov15_0215214c ldr r1, [sp, #8] add r0, sp, #0x54 str r1, [sp, #0x80] add r1, sp, #0x84 mov r2, r1 bl func_01ff8e84 ldr r2, [sp, #0xb0] ldr r1, [sp, #0xac] ldr r0, [sp, #0xa8] str r0, [r4, #0xec] str r1, [r4, #0xf0] str r2, [r4, #0xf4] bl func_02018450 mov r5, r0 add lr, sp, #0x24 ldmia r5!, {r0, r1, r2, r3} mov ip, lr stmia lr!, {r0, r1, r2, r3} ldmia r5!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} ldmia r5, {r0, r1, r2, r3} stmia lr, {r0, r1, r2, r3} add r0, r4, #0xec mov r1, ip mov r2, r0 bl func_01ff9158 add sp, sp, #0x144 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0216ebe4 _0216edfc: .word data_027e10a4 .global func_ov15_0216ee00 arm_func_start func_ov15_0216ee00 func_ov15_0216ee00: ; 0x0216ee00 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ee00 .global func_ov15_0216ee14 arm_func_start func_ov15_0216ee14 func_ov15_0216ee14: ; 0x0216ee14 stmdb sp!, {r3, lr} ldr r1, _0216ee40 ; =data_027e0fe0 mov r0, #0x2bc ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0216ee70 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216ee14 _0216ee40: .word data_027e0fe0 .global func_ov15_0216ee44 arm_func_start func_ov15_0216ee44 func_ov15_0216ee44: ; 0x0216ee44 stmdb sp!, {r4, lr} ldr r3, _0216ee68 ; =data_ov15_02186c38 mov r2, #0x4e mov r4, r0 bl func_ov00_020c607c ldr r1, _0216ee6c ; =data_ov15_0218d948 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216ee44 _0216ee68: .word data_ov15_02186c38 _0216ee6c: .word data_ov15_0218d948 .global func_ov15_0216ee70 arm_func_start func_ov15_0216ee70 func_ov15_0216ee70: ; 0x0216ee70 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _0216eecc ; =data_ov15_0218d88c mov r1, r4 str r0, [r4] mov r2, #0 add r0, r4, #0x15c str r2, [r4, #0x158] bl func_ov15_0216ee44 ldr r0, _0216eed0 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x110 add r0, r0, #0x1000 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x258 blx func_ov00_020a9588 add r1, r4, #0x200 mov r2, #0 mov r0, r4 strh r2, [r1, #0xb8] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216ee70 _0216eecc: .word data_ov15_0218d88c _0216eed0: .word data_027e0fec .global func_ov15_0216eed4 arm_func_start func_ov15_0216eed4 func_ov15_0216eed4: ; 0x0216eed4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x258 blx func_ov00_020a95a4 add r0, r4, #0x1d8 blx func_ov00_020a9b6c add r0, r4, #0x17c blx func_ov00_020a95a4 add r0, r4, #0x158 bl func_ov00_020b7d74 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216eed4 .global func_ov15_0216ef0c arm_func_start func_ov15_0216ef0c func_ov15_0216ef0c: ; 0x0216ef0c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x258 blx func_ov00_020a95a4 add r0, r4, #0x1d8 blx func_ov00_020a9b6c add r0, r4, #0x17c blx func_ov00_020a95a4 add r0, r4, #0x158 bl func_ov00_020b7d74 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216ef0c .global func_ov15_0216ef4c arm_func_start func_ov15_0216ef4c func_ov15_0216ef4c: ; 0x0216ef4c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r4, r0 add r1, r4, #0x200 mov r2, #0 strh r2, [r1, #0xba] ldrh r1, [r4, #0x20] str r1, [r4, #0x2b4] bl _ZN5Actor8vfunc_08Ev add r0, r4, #0x15c mov r1, #0 bl func_ov00_020c5d74 ldr r2, _0216efec ; =data_027e0764 add r0, r4, #0x200 ldr r6, [r2, #8] ldr lr, [r2] ldr ip, [r2, #4] umull r8, r7, r6, lr mla r7, r6, ip, r7 ldr r5, [r2, #0xc] ldr r10, [r2, #0x10] mla r7, r5, lr, r7 ldr r9, [r2, #0x14] adds r6, r10, r8 adc r5, r9, r7 str r6, [r2] str r5, [r2, #4] mov r2, r5, lsr #0x10 strh r2, [r0, #0xb8] mov r11, #2 str r11, [sp] ldr r0, _0216eff0 ; =data_027e0e58 add r1, r4, #0x158 add r3, r4, #0x48 ldr r4, [r4, #0x2b4] ldr r2, _0216eff4 ; =data_ov15_02186c2c ldr r0, [r0] ldr r2, [r2, r4, lsl #2] bl func_ov00_0207c1f8 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216ef4c _0216efec: .word data_027e0764 _0216eff0: .word data_027e0e58 _0216eff4: .word data_ov15_02186c2c .global func_ov15_0216eff8 arm_func_start func_ov15_0216eff8 func_ov15_0216eff8: ; 0x0216eff8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} ldr r0, _0216f318 ; =data_027e10a4 ldr r1, [r0] ldr r1, [r1, #0x2c] cmp r1, #1 movne r0, #0 addne sp, sp, #0x18 strneb r0, [r4, #0x118] ldmneia sp!, {r4, pc} ldr r1, [r4, #0x48] str r1, [r4, #0x54] ldr r1, [r4, #0x4c] str r1, [r4, #0x58] ldr r1, [r4, #0x50] str r1, [r4, #0x5c] ldr r0, [r0] ldr r0, [r0, #0x24] cmp r0, #1 beq _0216f070 cmp r0, #2 beq _0216f084 cmp r0, #3 beq _0216f098 b _0216f0a8 _0216f070: add r0, r4, #0x200 ldrsh r1, [r0, #0xb8] add r1, r1, #0x200 strh r1, [r0, #0xb8] b _0216f0a8 _0216f084: add r0, r4, #0x200 ldrsh r1, [r0, #0xb8] add r1, r1, #0x400 strh r1, [r0, #0xb8] b _0216f0a8 _0216f098: add r0, r4, #0x200 ldrsh r1, [r0, #0xb8] add r1, r1, #0x800 strh r1, [r0, #0xb8] _0216f0a8: mov r1, #0 add r0, r1, #0x9a add r0, r0, #0x100 str r0, [sp, #0x10] add r0, r4, #0x200 str r1, [sp, #0xc] str r1, [sp, #0x14] ldrsh r1, [r0, #0xb8] add r0, sp, #0xc bl func_ov00_020a6250 ldr r0, [r4, #0x2b4] cmp r0, #0 beq _0216f0f0 cmp r0, #1 beq _0216f10c cmp r0, #2 beq _0216f134 b _0216f158 _0216f0f0: ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] add r1, r1, #0xc00 add r0, r0, #0x1000 str r1, [sp, #0x10] str r0, [sp, #0x14] b _0216f158 _0216f10c: ldr r2, [sp, #0xc] ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] sub r2, r2, #0x800 add r1, r1, #0x800 add r0, r0, #0x1000 str r2, [sp, #0xc] str r1, [sp, #0x10] str r0, [sp, #0x14] b _0216f158 _0216f134: ldr r2, [sp, #0xc] ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] add r2, r2, #0x800 add r1, r1, #0x800 add r0, r0, #0x1000 str r2, [sp, #0xc] str r1, [sp, #0x10] str r0, [sp, #0x14] _0216f158: ldr r1, _0216f31c ; =data_027e0fac add r0, sp, #0xc ldrsh r1, [r1] strh r1, [r4, #0x78] bl func_ov00_020a61ac ldr r3, _0216f320 ; =data_027e0f94 add r0, r4, #0x48 ldr r2, [r3] add r1, sp, #0xc str r2, [r4, #0x48] ldr ip, [r3, #4] mov r2, r0 str ip, [r4, #0x4c] ldr r3, [r3, #8] str r3, [r4, #0x50] bl func_01ff9bc4 add r0, r4, #0x15c bl func_ov00_020c5e20 ldr r0, _0216f324 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097750Ev cmp r0, #0 beq _0216f1ec ldr r1, [r4, #0x158] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] ldr r1, [r4, #0x158] cmp r1, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} ldr r0, [r1, #0x24] add sp, sp, #0x18 orr r0, r0, #8 str r0, [r1, #0x24] ldmia sp!, {r4, pc} _0216f1ec: ldr r0, _0216f318 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x24] cmp r0, #3 blt _0216f2a0 add r0, r4, #0x200 ldrsh r0, [r0, #0xba] cmp r0, #0 bne _0216f2a0 add r0, r4, #0x48 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #4] add r0, r0, #0x33 add r0, r0, #0x300 str r0, [sp, #4] ldr r0, [r4, #0x158] cmp r0, #0 beq _0216f284 ldr r1, [r0, #0x20] ldr r2, [sp] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #4] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #8] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _0216f284: ldr r1, [r4, #0x158] cmp r1, #0 beq _0216f2b4 ldr r0, [r1, #0x24] bic r0, r0, #2 str r0, [r1, #0x24] b _0216f2b4 _0216f2a0: ldr r1, [r4, #0x158] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] _0216f2b4: add r3, r4, #0x200 ldrsh r0, [r3, #0xba] ldr r1, _0216f328 ; =0x55555556 mov r2, #3 add ip, r0, #1 smull r0, lr, r1, ip add lr, lr, ip, lsr #31 smull r0, r1, r2, lr sub lr, ip, r0 strh lr, [r3, #0xba] ldr r2, [r4, #0x158] ldrb r0, [r4, #0x11a] cmp r2, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} cmp r0, #0 moveq r0, #1 ldr r1, [r2, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #8 orr r0, r1, r0, lsr #28 str r0, [r2, #0x24] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216eff8 _0216f318: .word data_027e10a4 _0216f31c: .word data_027e0fac _0216f320: .word data_027e0f94 _0216f324: .word gAdventureFlags _0216f328: .word 0x55555556 .global func_ov15_0216f32c arm_func_start func_ov15_0216f32c func_ov15_0216f32c: ; 0x0216f32c stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0216f32c .global func_ov15_0216f340 arm_func_start func_ov15_0216f340 func_ov15_0216f340: ; 0x0216f340 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _0216f42c ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02135930 cmp r0, #0 beq _0216f3b8 ldr r0, _0216f430 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x110 add r0, r0, #0x1000 bl func_ov00_020c4588 mov r6, r0 ldr r0, [r4, #0x2b4] bl func_ov00_020b8790 mov r5, r0 ldr r0, [r4, #0x2b4] bl func_ov00_020b87cc mov r2, r0 mov r0, r6 mov r1, r5 bl func_ov00_020b8830 b _0216f3f4 _0216f3b8: ldr r0, _0216f430 ; =data_027e0fec ldr r0, [r0] add r0, r0, #0x110 add r0, r0, #0x1000 bl func_ov00_020c4588 mov r6, r0 ldr r0, [r4, #0x2b4] bl func_ov00_020b8808 mov r5, r0 ldr r0, [r4, #0x2b4] bl func_ov00_020b881c mov r2, r0 mov r0, r6 mov r1, r5 bl func_ov00_020b8830 _0216f3f4: ldr r0, _0216f42c ; =data_027e10a4 ldr r2, _0216f434 ; =0x00000666 ldr r0, [r0] add r1, sp, #0 ldr r0, [r0, #0x24] cmp r0, #3 movge r2, #0x800 add r0, r4, #0x15c str r2, [sp] str r2, [sp, #4] str r2, [sp, #8] bl func_ov00_020c5fc0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216f340 _0216f42c: .word data_027e10a4 _0216f430: .word data_027e0fec _0216f434: .word 0x00000666 .global func_ov15_0216f438 arm_func_start func_ov15_0216f438 func_ov15_0216f438: ; 0x0216f438 ldr r1, _0216f44c ; =data_027e0fb8 mov r2, #0 ldr r1, [r1] strb r2, [r1, #0x7a] bx lr .align 2, 0 arm_func_end func_ov15_0216f438 _0216f44c: .word data_027e0fb8 .global func_ov15_0216f450 arm_func_start func_ov15_0216f450 func_ov15_0216f450: ; 0x0216f450 ldr r1, _0216f464 ; =data_027e0fb8 mov r2, #1 ldr r1, [r1] strb r2, [r1, #0x7a] bx lr .align 2, 0 arm_func_end func_ov15_0216f450 _0216f464: .word data_027e0fb8 .global func_ov15_0216f468 arm_func_start func_ov15_0216f468 func_ov15_0216f468: ; 0x0216f468 bx lr arm_func_end func_ov15_0216f468 .global func_ov15_0216f46c arm_func_start func_ov15_0216f46c func_ov15_0216f46c: ; 0x0216f46c bx lr arm_func_end func_ov15_0216f46c .global func_ov15_0216f470 arm_func_start func_ov15_0216f470 func_ov15_0216f470: ; 0x0216f470 stmdb sp!, {r3, lr} ldr r1, _0216f49c ; =data_027e0fe0 mov r0, #0x5a0 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0216f98c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0216f470 _0216f49c: .word data_027e0fe0 .global func_ov15_0216f4a0 arm_func_start func_ov15_0216f4a0 func_ov15_0216f4a0: ; 0x0216f4a0 stmdb sp!, {r4, lr} ldrh r2, [r1] ldr r3, _0216f518 ; =data_02050f54 mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 ldrsh ip, [r3, r2] add r2, r4, #1 mov r2, r2, lsl #0x1 ldrsh r3, [r3, r2] mov r2, ip, asr #0x1f mov lr, r2, lsl #0xc adds r4, r1, ip, lsl #12 orr lr, lr, ip, lsr #20 mov r2, r3, asr #0x1f adc ip, lr, #0 mov r4, r4, lsr #0xc mov r2, r2, lsl #0xc orr r4, r4, ip, lsl #20 adds ip, r1, r3, lsl #12 orr r2, r2, r3, lsr #20 strh r4, [r0, #0x50] mov r3, #0 adc r1, r2, #0 mov r2, ip, lsr #0xc strh r3, [r0, #0x52] orr r2, r2, r1, lsl #20 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216f4a0 _0216f518: .word data_02050f54 .global func_ov15_0216f51c arm_func_start func_ov15_0216f51c func_ov15_0216f51c: ; 0x0216f51c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r0, _0216f580 ; =data_ov15_0218da48 mov r7, #0 mov r8, r7 str r0, [r4] add r6, r4, #0x5c mov r5, #0x1000 _0216f544: add r0, r6, r8 bl func_01ff892c add r0, r4, r7, lsl #2 add r7, r7, #1 str r5, [r0, #0x1b8] cmp r7, #6 add r8, r8, #0x30 blt _0216f544 add r1, r4, #0x100 mov r2, #0 add r0, r4, #0x17c strh r2, [r1, #0xd0] bl func_01ff892c mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0216f51c _0216f580: .word data_ov15_0218da48 .global func_ov15_0216f584 arm_func_start func_ov15_0216f584 func_ov15_0216f584: ; 0x0216f584 ldr ip, _0216f594 ; =func_ov00_020a9998 mov r1, #6 mov r2, #2 bx ip .align 2, 0 arm_func_end func_ov15_0216f584 _0216f594: .word func_ov00_020a9998 .global func_ov15_0216f598 arm_func_start func_ov15_0216f598 func_ov15_0216f598: ; 0x0216f598 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r6, r1 ldr r1, [r6, #8] mov r7, r0 tst r1, #0x10 ldrneb r0, [r6, #0xae] mvneq r0, #0 sub r0, r0, #8 cmp r0, #0xa addls pc, pc, r0, lsl #2 b _0216f62c _0216f5c8: ; jump table b _0216f5f4 ; case 0 b _0216f614 ; case 1 b _0216f5fc ; case 2 b _0216f62c ; case 3 b _0216f62c ; case 4 b _0216f62c ; case 5 b _0216f62c ; case 6 b _0216f604 ; case 7 b _0216f60c ; case 8 b _0216f61c ; case 9 b _0216f624 ; case 10 _0216f5f4: mov r4, #0 b _0216f634 _0216f5fc: mov r4, #6 b _0216f634 _0216f604: mov r4, #1 b _0216f634 _0216f60c: mov r4, #2 b _0216f634 _0216f614: mov r4, #3 b _0216f634 _0216f61c: mov r4, #4 b _0216f634 _0216f624: mov r4, #5 b _0216f634 _0216f62c: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216f634: ldr r5, [r6, #4] ldrb r0, [r5, #0x25] cmp r0, #2 bne _0216f68c cmp r4, #6 bge _0216f678 ldr r2, [r6, #0xb4] add r1, r7, r4, lsl #2 ldr r0, [r2] bic r0, r0, #1 str r0, [r2] ldr r0, [r1, #0x1b8] str r0, [r2, #4] ldr r0, [r1, #0x1b8] str r0, [r2, #8] ldr r0, [r1, #0x1b8] str r0, [r2, #0xc] _0216f678: mov r0, #3 strb r0, [r6, #0x92] add sp, sp, #0x30 strb r0, [r5, #0x25] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216f68c: cmp r0, #3 addne sp, sp, #0x30 ldmneia sp!, {r3, r4, r5, r6, r7, pc} cmp r4, #0 bne _0216f6c4 bl func_02018450 mov lr, r0 add ip, r7, #0x17c ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} _0216f6c4: cmp r4, #6 bne _0216f704 add r0, sp, #0 mov r1, #0 bl func_0201b1bc ldr r3, [sp, #0x2c] ldr r2, [sp, #0x28] ldr r1, [sp, #0x24] add r0, r7, #0x1ac str r1, [r7, #0x1ac] str r2, [r7, #0x1b0] add r1, r7, #0x17c mov r2, r0 str r3, [r7, #0x1b4] bl func_01ff9158 b _0216f770 _0216f704: add r1, r7, #0x5c mov r0, #0x30 mla r0, r4, r0, r1 mov r1, #0 bl func_0201b1bc add r0, r7, #0x100 ldrh r1, [r0, #0xd0] mov r0, r4, lsl #0x1 mov r0, r1, asr r0 ands r0, r0, #3 beq _0216f73c cmp r0, #1 beq _0216f74c b _0216f75c _0216f73c: ldr r0, [r7, #0x1d4] mov r1, #0 str r1, [r0, #0x14] b _0216f768 _0216f74c: ldr r0, [r7, #0x1d4] mov r1, #0x2000 str r1, [r0, #0x14] b _0216f768 _0216f75c: ldr r0, [r7, #0x1d4] mov r1, #0x1000 str r1, [r0, #0x14] _0216f768: ldr r0, [r7, #0x1d4] bl func_ov00_020c0e04 _0216f770: mov r0, #2 strb r0, [r6, #0x92] strb r0, [r5, #0x25] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_0216f598 .global func_ov15_0216f784 arm_func_start func_ov15_0216f784 func_ov15_0216f784: ; 0x0216f784 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r3, #0x30 mla r3, r2, r3, r1 mov r4, r0 add r0, sp, #0 ldr lr, [r3, #0x88] ldr ip, [r3, #0x84] ldr r3, [r3, #0x80] mov r2, r0 add r1, r1, #0x17c str r3, [sp] str ip, [sp, #4] str lr, [sp, #8] bl func_01ff9158 add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0216f784 .global func_ov15_0216f7d4 arm_func_start func_ov15_0216f7d4 func_ov15_0216f7d4: ; 0x0216f7d4 stmdb sp!, {r3, lr} add r3, r0, #0x100 mov r1, r1, lsl #0x1 mov ip, #3 mov lr, ip, lsl r1 ldrh ip, [r3, #0xd0] mov r3, lr, lsl #0x10 cmp r2, #0 and r2, ip, r3, lsr #16 mov r2, r2, asr r1 mov r2, r2, lsl #0x10 mov lr, r2, lsr #0x10 beq _0216f820 cmp lr, #2 bhs _0216f824 add r2, lr, #1 mov r2, r2, lsl #0x10 mov lr, r2, lsr #0x10 b _0216f824 _0216f820: mov lr, #0 _0216f824: add r2, r0, #0x100 ldrh ip, [r2, #0xd0] mvn r3, r3, lsr #16 mov r0, lr, lsl r1 and r1, ip, r3 strh r1, [r2, #0xd0] ldrh r1, [r2, #0xd0] mov r0, r0, lsl #0x10 orr r0, r1, r0, lsr #16 strh r0, [r2, #0xd0] ldmia sp!, {r3, pc} arm_func_end func_ov15_0216f7d4 .global func_ov15_0216f850 arm_func_start func_ov15_0216f850 func_ov15_0216f850: ; 0x0216f850 stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0x1f8 bl func_ov00_020c5c2c ldr r1, _0216f8cc ; =data_ov15_0218da34 add r0, r4, #0x20 str r1, [r4] bl func_ov15_0216f51c add r0, r4, #0x1f8 add r1, r4, #0x21c mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0216f8d0 ; =data_ov15_0218d6fc add r0, r4, #0x278 add r1, r4, #0x29c mov r2, #0 str r3, [r4, #0x1f8] blx func_ov00_020c0c08 ldr r1, _0216f8d0 ; =data_ov15_0218d6fc mov r0, r4 str r1, [r4, #0x278] mov r1, #0xd3 ldr r2, _0216f8d4 ; =data_ov15_02186c84 bl func_ov00_020c5c98 add r0, r4, #0x278 str r0, [r4, #0x1f4] add r0, r4, #0x20 bl func_ov15_0216f584 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216f850 _0216f8cc: .word data_ov15_0218da34 _0216f8d0: .word data_ov15_0218d6fc _0216f8d4: .word data_ov15_02186c84 .global func_ov15_0216f8d8 arm_func_start func_ov15_0216f8d8 func_ov15_0216f8d8: ; 0x0216f8d8 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0216f8d8 .global func_ov15_0216f8ec arm_func_start func_ov15_0216f8ec func_ov15_0216f8ec: ; 0x0216f8ec stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r4, r0 add r0, r4, #0x20 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r4, #0x280] ldr r1, _0216f980 ; =data_027e0fec ldr r0, _0216f984 ; =data_ov15_0218da98 ldr r1, [r1] add r1, r1, #0x2000 ldr r6, [r1, #0xe30] blx func_02016fe8 mov r5, r0 ldr r1, _0216f988 ; =data_ov15_0218dab0 add r0, sp, #0 mov r2, #0x10 bl strncpy mov r0, r5 add r1, sp, #0 bl func_0201e544 mov r1, r0 mov r2, r6 add r0, r4, #0x278 mov r3, #1 bl func_ov00_020c0cc8 add r0, r4, #0x20 ldr r2, [r0] add r1, r4, #0x278 ldr r2, [r2, #0x24] blx r2 mov r0, #0 str r0, [r4, #0x28c] str r0, [r4, #0x288] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216f8ec _0216f980: .word data_027e0fec _0216f984: .word data_ov15_0218da98 _0216f988: .word data_ov15_0218dab0 .global func_ov15_0216f98c arm_func_start func_ov15_0216f98c func_ov15_0216f98c: ; 0x0216f98c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _0216fa94 ; =data_ov15_0218d978 mov r1, r4 add r0, r4, #0x158 str r2, [r4] bl func_ov15_0216f850 mov r3, #0 add r1, r4, #0x74 str r3, [r4, #0x450] sub r2, r3, #1 str r2, [r4, #0x454] str r3, [r4, #0x458] str r3, [r4, #0x45c] add r0, r4, #0x5c str r2, [r0, #0x404] str r3, [r0, #0x408] str r3, [r4, #0x468] add r0, r4, #0x68 str r2, [r0, #0x404] str r3, [r0, #0x408] mov r3, #2 add r0, r1, #0x400 mov r1, #0xfe mov r2, #6 str r3, [sp] bl func_ov00_02095720 add r0, r4, #0x9c add r0, r0, #0x400 mov r1, #0x1000000 bl func_ov00_020d18f4 add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab78 mvn r0, #0 str r0, [r4, #0x53c] str r0, [r4, #0x540] mov r1, #0 str r1, [r4, #0x544] str r1, [r4, #0x550] str r1, [r4, #0x554] add r0, r4, #0x500 strh r1, [r0, #0x58] strh r1, [r0, #0x5a] strh r1, [r0, #0x5c] strh r1, [r0, #0x66] strh r1, [r0, #0x68] strb r1, [r4, #0x56c] strb r1, [r4, #0x56d] mov r0, #1 strb r0, [r4, #0x56e] strb r1, [r4, #0x56f] strb r1, [r4, #0x570] strb r1, [r4, #0x571] strb r1, [r4, #0x573] strb r1, [r4, #0x574] strb r0, [r4, #0x575] str r1, [r4, #0x578] add r0, r4, #0x17c add r0, r0, #0x400 bl func_01ff80d4 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0216f98c _0216fa94: .word data_ov15_0218d978 .global func_ov15_0216fa98 arm_func_start func_ov15_0216fa98 func_ov15_0216fa98: ; 0x0216fa98 stmdb sp!, {r4, lr} ldr r1, _0216fb48 ; =data_ov15_0218d978 mov r4, r0 ldr r0, _0216fb4c ; =data_027e0e60 str r1, [r4] add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838d8 add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab64 add r0, r4, #0x9c add r0, r0, #0x400 bl func_ov00_020d1980 add r0, r4, #0x74 add r0, r0, #0x400 bl func_ov00_02095764 add r0, r4, #0x68 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x68 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x5c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x5c add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x450 bl func_ov00_020b7e6c add r0, r4, #0x450 bl func_ov00_020b7df0 add r0, r4, #0x3d0 blx func_ov00_020a9b6c add r0, r4, #0x350 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216fa98 _0216fb48: .word data_ov15_0218d978 _0216fb4c: .word data_027e0e60 .global func_ov15_0216fb50 arm_func_start func_ov15_0216fb50 func_ov15_0216fb50: ; 0x0216fb50 stmdb sp!, {r4, lr} ldr r1, _0216fc08 ; =data_ov15_0218d978 mov r4, r0 ldr r0, _0216fc0c ; =data_027e0e60 str r1, [r4] add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838d8 add r0, r4, #0xf8 add r0, r0, #0x400 blx func_0202ab64 add r0, r4, #0x9c add r0, r0, #0x400 bl func_ov00_020d1980 add r0, r4, #0x74 add r0, r0, #0x400 bl func_ov00_02095764 add r0, r4, #0x68 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x68 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x5c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x5c add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x450 bl func_ov00_020b7e6c add r0, r4, #0x450 bl func_ov00_020b7df0 add r0, r4, #0x3d0 blx func_ov00_020a9b6c add r0, r4, #0x350 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0216fb50 _0216fc08: .word data_ov15_0218d978 _0216fc0c: .word data_027e0e60 .global func_ov15_0216fc10 arm_func_start func_ov15_0216fc10 func_ov15_0216fc10: ; 0x0216fc10 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r1, #0 mov r4, r0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 addne sp, sp, #0x38 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r5, #0 str r5, [r4, #0x7c] ldr r1, _0216fdec ; =0x000024cd str r5, [r4, #0x80] sub r3, r5, #0x800 str r3, [r4, #0x84] str r1, [r4, #0x88] ldr r0, [r4, #0x7c] add r1, r1, #0x1000 str r0, [r4, #0x8c] ldr r2, [r4, #0x80] add r0, r4, #0x158 str r2, [r4, #0x90] ldr r2, [r4, #0x84] str r2, [r4, #0x94] ldr r2, [r4, #0x88] str r2, [r4, #0x98] str r5, [r4, #0xa8] str r5, [r4, #0xac] str r3, [r4, #0xb0] str r1, [r4, #0xb4] str r5, [r4, #0x12c] ldr r1, [r4, #8] str r1, [r4, #0x4bc] ldr r1, [r4, #0xc] str r1, [r4, #0x4c0] strb r5, [r4, #0x4f0] bl func_ov15_0216f8ec add r0, r4, #0x158 mov r1, r5 bl func_ov00_020c5d74 add r1, r4, #0x100 mov r2, #6 strh r2, [r1, #0x20] mov r1, #4 add r0, sp, #0xc strb r1, [r4, #0x124] bl func_ov00_020c1500 mvn r0, #0 str r0, [sp, #0x28] str r0, [sp, #0x2c] add r0, sp, #0xc bl func_ov00_020c3348 mvn r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r4, #8] mov r1, #6 str r0, [sp, #0x28] ldr r2, [r4, #0xc] add r0, sp, #4 str r2, [sp, #0x2c] strh r1, [sp, #0xc] str r0, [sp] ldr r0, _0216fdf0 ; =data_027e0fe8 ldr r1, _0216fdf4 ; =0x53424559 ldr r0, [r0] add r2, r4, #0x48 add r3, sp, #0xc bl func_ov00_020c4048 ldr r0, _0216fdf8 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 str r0, [r4, #0x578] addeq sp, sp, #0x38 moveq r0, r5 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #0x22 str r0, [r4, #0x454] mov r1, #2 str r1, [r4, #0x458] mov r0, #0x20 str r0, [r4, #0x460] str r1, [r4, #0x464] mov r0, #0x21 str r0, [r4, #0x46c] ldr r2, _0216fdfc ; =data_027e0764 str r1, [r4, #0x470] ldr r1, [r2] ldmib r2, {r0, r3} umull lr, ip, r3, r1 mla ip, r3, r0, ip ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla ip, r0, r1, ip ldr r5, [r2, #0x14] adds r6, r6, lr adc r5, r5, ip mov r0, #0x1f str r6, [r2] umull ip, lr, r5, r0 mov r1, #0 mla lr, r5, r1, lr mov ip, r1 mla lr, ip, r0, lr str r5, [r2, #4] add r2, lr, #0x3c add r0, r4, #0x500 strh r2, [r0, #0x62] strh r1, [r0, #0x64] mov r3, #0xf6 str r3, [r4, #0x54c] mov r0, r4 str r3, [r4, #0x548] bl func_ov15_0216fe00 mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0216fc10 _0216fdec: .word 0x000024cd _0216fdf0: .word data_027e0fe8 _0216fdf4: .word 0x53424559 _0216fdf8: .word data_027e0fe4 _0216fdfc: .word data_027e0764 .global func_ov15_0216fe00 arm_func_start func_ov15_0216fe00 func_ov15_0216fe00: ; 0x0216fe00 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x338 mov r4, r1 mov r5, r0 cmp r4, #5 addls pc, pc, r4, lsl #2 b _0217060c _0216fe1c: ; jump table b _0216fe34 ; case 0 b _0216fe54 ; case 1 b _0217007c ; case 2 b _021703ac ; case 3 b _0217060c ; case 4 b _021703c8 ; case 5 _0216fe34: add r0, r5, #0x158 mov r1, #0 bl func_ov00_020c5d74 mov r1, #0 ldr r0, _02170624 ; =0x0000ffff strb r1, [r5, #0x575] strh r0, [r5, #0x7a] b _0217060c _0216fe54: mov r1, #1 ldr r0, _02170628 ; =data_027e103c strb r1, [r5, #0x570] ldr r0, [r0] bl func_ov00_020cf2b8 ldr r0, _02170628 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cfae8 bl func_ov15_0213ce4c mov r1, #0 bl func_ov15_0213d1b4 add r0, r5, #0x74 add r1, r0, #0x400 ldr r6, [r5, #0x4c] ldr r3, [r5, #0x50] ldr r2, [r5, #0x48] mov r0, #0xc8000 str r2, [r5, #0x488] str r6, [r5, #0x48c] str r3, [r5, #0x490] str r0, [r5, #0x494] mov r2, #0x14000 ldr r0, _0217062c ; =data_027e0e60 str r2, [r5, #0x498] ldr r0, [r0] bl func_ov00_020838c8 add r0, sp, #0x288 bl func_ov00_0209a4f4 ldr r2, _02170630 ; =data_027e0f94 mvn r0, #0 str r0, [sp, #0x28c] mov r0, #0x32 ldr r1, [r2] ldr r3, [r2, #4] strb r0, [sp, #0x291] mov r0, #2 str r1, [sp, #0x2a8] strb r0, [sp, #0x292] strb r0, [sp, #0x293] ldr r0, _02170634 ; =data_027e0f64 str r3, [sp, #0x2ac] ldr r2, [r2, #8] ldr r0, [r0] str r2, [sp, #0x2b0] ldr r0, [r0, #4] add r1, sp, #0x220 bl func_ov00_02087d34 ldr r0, [sp, #0x224] ldr r1, [sp, #0x220] str r0, [sp, #0x2b8] ldr r0, [sp, #0x22c] str r1, [sp, #0x2b4] ldr r1, [sp, #0x228] str r0, [sp, #0x2c0] ldr r0, [sp, #0x234] str r1, [sp, #0x2bc] ldr r1, [sp, #0x230] str r0, [sp, #0x2c8] ldr r0, [sp, #0x23c] str r1, [sp, #0x2c4] ldr r1, [sp, #0x238] str r0, [sp, #0x2d0] ldr r0, [sp, #0x244] str r1, [sp, #0x2cc] ldr r1, [sp, #0x240] str r0, [sp, #0x2d8] ldr r0, [sp, #0x24c] str r1, [sp, #0x2d4] ldr r1, [sp, #0x248] str r0, [sp, #0x2e0] ldr r0, [sp, #0x254] str r1, [sp, #0x2dc] ldr r1, [sp, #0x250] str r0, [sp, #0x2e8] ldr r0, [sp, #0x25c] str r1, [sp, #0x2e4] ldr r1, [sp, #0x258] str r0, [sp, #0x2f0] ldr r0, [sp, #0x264] str r1, [sp, #0x2ec] ldr r1, [sp, #0x260] str r0, [sp, #0x2f8] ldr r0, [sp, #0x268] mov r10, #1 strb r10, [sp, #0x29c] str r1, [sp, #0x2f4] str r0, [sp, #0x2fc] ldr r0, [sp, #0x270] ldrb r6, [sp, #0x280] str r0, [sp, #0x304] ldr r0, _02170638 ; =gAdventureFlags ldrb lr, [sp, #0x281] ldrb ip, [sp, #0x282] ldrb r3, [sp, #0x283] ldrb r2, [sp, #0x284] ldr r1, [sp, #0x26c] ldr r9, [sp, #0x274] ldr r8, [sp, #0x278] ldr r7, [sp, #0x27c] str r1, [sp, #0x300] mov r11, #0x5c ldr r0, [r0] add r1, sp, #0x288 str r9, [sp, #0x308] str r8, [sp, #0x30c] str r7, [sp, #0x310] strb r6, [sp, #0x314] strb lr, [sp, #0x315] strb ip, [sp, #0x316] strb r3, [sp, #0x317] strb r2, [sp, #0x318] str r11, [sp, #0x31c] strb r10, [sp, #0x29e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei add r1, r5, #0xf8 str r0, [r5, #0x53c] add r0, r1, #0x400 blx func_0202ab54 mov r0, r10 str r0, [r5, #0x4f8] mov r1, #0 ldr r0, _02170634 ; =data_027e0f64 str r1, [r5, #0x500] ldr r1, [r0] add r0, sp, #0x288 ldr r2, [r1, #4] ldr r1, [r2, #0x260] str r1, [r5, #0x51c] ldr r1, [r2, #0x264] str r1, [r5, #0x520] ldr r1, [r2, #0x268] str r1, [r5, #0x524] ldr r1, [sp, #0x238] str r1, [r5, #0x538] bl func_ov00_0209a508 b _0217060c _0217007c: ldr r0, _02170638 ; =gAdventureFlags ldr r1, [r5, #0x53c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _021700a4 ldr r0, _02170638 ; =gAdventureFlags ldr r1, [r5, #0x53c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _021700a4: ldr r0, _0217063c ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213751c ldr r0, [r5, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] ldr r1, [r5, #0x550] ldr r0, _02170630 ; =data_027e0f94 sub r1, r1, #0x2000 str r1, [r5, #0x550] ldr r1, [r0] mov r2, #0x6000 str r1, [r5, #0x48] ldr r3, [r0, #4] ldr r1, _02170640 ; =data_027e0fac str r3, [r5, #0x4c] ldr r0, [r0, #8] ldr r7, _02170644 ; =data_02050f54 str r0, [r5, #0x50] str r2, [r5, #0x4c] ldr r0, [r5, #0x550] ldrsh r3, [r1] mov r1, r0, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r8, r1, lsl #0x2 mov r1, r3, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 mov r0, r0, lsl #0x11 mov r0, r0, lsr #0x10 mov r6, r0, asr #0x4 add r1, r1, #1 add r0, r3, #0x4000 mov r6, r6, lsl #0x2 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r9, r0, lsl #0x1 mov r0, r9, lsl #0x1 add r9, r9, #1 mov r10, r9, lsl #0x1 ldrsh r8, [r7, r8] mov r9, #0x4800 ldrsh r6, [r7, r6] smulbb r8, r8, r9 add r8, r8, #0x800 smulbb r6, r6, r9 add r6, r6, #0x800 ldrsh r2, [r7, r2] mov r8, r8, asr #0xc ldrsh r1, [r7, r1] mul r9, r2, r8 mul r8, r1, r8 ldr r2, [r5, #0x48] add r1, r9, #0x800 add r1, r2, r1, asr #12 str r1, [r5, #0x48] ldrsh r1, [r7, r0] mov r6, r6, asr #0xc ldrsh r0, [r7, r10] mul r2, r1, r6 mul r1, r0, r6 ldr r6, [r5, #0x50] add r0, r8, #0x800 add r0, r6, r0, asr #12 str r0, [r5, #0x50] ldr r6, [r5, #0x48] add r0, r2, #0x800 add r0, r6, r0, asr #12 str r0, [r5, #0x48] ldr r2, [r5, #0x50] add r0, r1, #0x800 add r0, r2, r0, asr #12 str r0, [r5, #0x50] add r0, r3, #0x2000 strh r0, [r5, #0x78] ldrh r2, [r5, #0x78] ldr r0, _02170648 ; =0xffffd738 mvn r1, #0 mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 mov r2, r3, lsl #0x1 ldrsh r8, [r7, r2] add r2, r3, #1 mov r2, r2, lsl #0x1 umull r10, r9, r8, r0 ldrsh r2, [r7, r2] mla r9, r8, r1, r9 umull r6, r3, r2, r0 mov r7, r8, asr #0x1f adds r8, r10, #0x800 mla r9, r7, r0, r9 adc r7, r9, #0 mov r8, r8, lsr #0xc adds r6, r6, #0x800 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 ldr r0, [r5, #0x48] orr r8, r8, r7, lsl #20 add r0, r0, r8 str r0, [r5, #0x48] adc r0, r3, #0 mov r1, r6, lsr #0xc ldr r2, [r5, #0x50] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r5, #0x50] ldr r0, [r5, #0x4c] ldr r1, _0217064c ; =data_027e0d3c add r0, r0, #0x19c add r0, r0, #0x800 str r0, [r5, #0x4c] ldr r0, [r1] bl func_ov00_02078fac cmp r0, #3 beq _0217029c ldr r0, _0217064c ; =data_027e0d3c ldr r1, _02170630 ; =data_027e0f94 ldr r0, [r0] mov r2, #0x1e bl func_ov15_0217d59c _0217029c: mov r7, #0 ldr r0, _02170640 ; =data_027e0fac str r7, [r5, #0x534] ldrsh r0, [r0] add r1, r5, #0x500 ldr r2, _02170630 ; =data_027e0f94 strh r0, [r1, #0x5e] ldr r0, [r2] ldr r3, _02170650 ; =0x00000aab str r0, [r5, #0x528] ldr r6, [r2, #4] add r0, sp, #0x170 str r6, [r5, #0x52c] ldr r2, [r2, #8] str r2, [r5, #0x530] strh r7, [r1, #0x6a] strh r3, [r1, #0x60] bl func_ov00_0209a4f4 ldr r0, _02170630 ; =data_027e0f94 mvn r7, #0 mov r10, #0x32 mov r9, #0 mov r8, #3 mov r3, #1 add r6, sp, #0x4c ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r0, _02170638 ; =gAdventureFlags str r7, [sp, #0x174] ldr r7, [sp, #0x4c] ldr r6, [sp, #0x50] ldr r2, [sp, #0x54] ldr r0, [r0] strb r10, [sp, #0x179] strb r9, [sp, #0x17a] strb r8, [sp, #0x17b] add r1, sp, #0x170 str r7, [sp, #0x190] str r6, [sp, #0x194] str r2, [sp, #0x198] strb r3, [sp, #0x186] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x53c] add r6, sp, #0x38 add r1, sp, #0x48 mov r0, r9 mov r2, #4 bl func_020078f4 add r1, r6, #0x10 mov r0, r9 mov r2, #4 bl func_020078f4 ldr r0, [sp, #0x48] ldr r3, [r5, #0x52c] ldr r2, [r5, #0x530] ldr r1, [r5, #0x528] orr r0, r0, #1 str r0, [sp, #0x48] ldr r0, _0217063c ; =data_027e10a4 str r1, [sp, #0x38] ldr r0, [r0] mov r1, r6 str r3, [sp, #0x3c] str r2, [sp, #0x40] bl func_ov15_0214138c add r0, sp, #0x170 bl func_ov00_0209a508 b _0217060c _021703ac: mov r1, #0xf6 ldr r0, _0217063c ; =data_027e10a4 str r1, [r5, #0x54c] ldr r0, [r0] mov r1, #1 strb r1, [r0, #0x194] b _0217060c _021703c8: bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 bne _021703e8 mov r0, r5 mov r1, #4 bl func_ov15_0216fe00 add sp, sp, #0x338 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021703e8: ldr r0, _0217063c ; =data_027e10a4 mov r6, #0 ldr r0, [r0] ldr r1, _02170654 ; =data_027e0d0c strb r6, [r0, #0x194] ldr r2, [r1] add r0, sp, #0xc0 str r2, [r5, #0x60] ldr r3, [r1, #4] mov r2, #0x29 str r3, [r5, #0x64] ldr r1, [r1, #8] str r1, [r5, #0x68] strb r6, [r5, #0x56c] str r2, [r5, #0x6c] bl func_ov00_0209a4f4 mov r0, #3 mvn r2, #0 mov r1, #0x32 add r3, sp, #0x2c strb r0, [sp, #0xca] strb r0, [sp, #0xcb] add r0, r5, #0x48 str r2, [sp, #0xc4] strb r1, [sp, #0xc9] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r5, #0x48] ldr r0, _0217062c ; =data_027e0e60 str r1, [sp] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r5, #0x50] add r1, sp, #0 mov r2, r6 str r3, [sp, #8] bl func_ov00_02083ee0 ldr r1, _02170634 ; =data_027e0f64 ldr r3, [sp, #0x2c] ldr r2, [sp, #0x34] ldr r1, [r1] str r3, [sp, #0xe0] str r2, [sp, #0xe8] str r0, [sp, #0x30] str r0, [sp, #0xe4] ldr r0, [r1, #4] add r1, sp, #0x58 bl func_ov00_02087d34 ldr r1, _02170658 ; =0x000005dc mov r6, #0xf000 mov r0, #0x7d0 ldr r2, [sp, #0x58] ldr r3, [sp, #0x5c] str r2, [sp, #0xec] ldr r2, [sp, #0x60] str r3, [sp, #0xf0] ldr r3, [sp, #0x6c] str r2, [sp, #0xf4] ldr r2, [sp, #0x74] str r3, [sp, #0x100] ldr r3, [sp, #0x78] str r2, [sp, #0x108] ldr r2, [sp, #0x7c] str r3, [sp, #0x10c] ldr r3, [sp, #0x80] str r2, [sp, #0x110] ldr r2, [sp, #0x84] str r3, [sp, #0x114] ldr r3, [sp, #0x88] str r2, [sp, #0x118] ldr r2, [sp, #0x8c] str r3, [sp, #0x11c] ldr r3, [sp, #0x90] str r2, [sp, #0x120] ldr r2, [sp, #0x94] str r3, [sp, #0x124] ldr r3, [sp, #0x98] str r2, [sp, #0x128] ldr r2, [sp, #0x9c] mov ip, #1 str r6, [sp, #0x70] str r6, [sp, #0x104] str r3, [sp, #0x12c] str r2, [sp, #0x130] strb ip, [sp, #0xd4] str r1, [sp, #0x68] str r0, [sp, #0x64] str r0, [sp, #0xf8] str r1, [sp, #0xfc] ldr r0, [sp, #0xa8] ldr r9, [sp, #0xa0] str r0, [sp, #0x13c] ldr r0, _02170638 ; =gAdventureFlags ldrb r8, [sp, #0xb8] ldrb r7, [sp, #0xb9] ldrb r6, [sp, #0xba] ldrb r3, [sp, #0xbb] ldrb r2, [sp, #0xbc] ldr r1, [sp, #0xa4] ldr r11, [sp, #0xac] ldr r10, [sp, #0xb0] str r9, [sp, #0x134] ldr r9, [sp, #0xb4] str r1, [sp, #0x138] mov lr, #0x5c ldr r0, [r0] add r1, sp, #0xc0 str r11, [sp, #0x140] str r10, [sp, #0x144] str r9, [sp, #0x148] strb r8, [sp, #0x14c] strb r7, [sp, #0x14d] strb r6, [sp, #0x14e] strb r3, [sp, #0x14f] strb r2, [sp, #0x150] str lr, [sp, #0x154] strb ip, [sp, #0xd6] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x53c] ldr r1, _0217063c ; =data_027e10a4 mov r0, r5 ldr r1, [r1] mov r2, #0 strb r2, [r1, #0x260] bl func_ov15_02172f64 add r0, r5, #0x5c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r5, #0x68 add r0, r0, #0x400 bl func_ov00_020b7e6c ldr r0, _0217065c ; =data_ov00_020eec68 mov r1, #0x1e bl func_ov00_020d716c add r0, sp, #0xc0 bl func_ov00_0209a508 _0217060c: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] strb r0, [r5, #0x56c] add sp, sp, #0x338 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0216fe00 _02170624: .word 0x0000ffff _02170628: .word data_027e103c _0217062c: .word data_027e0e60 _02170630: .word data_027e0f94 _02170634: .word data_027e0f64 _02170638: .word gAdventureFlags _0217063c: .word data_027e10a4 _02170640: .word data_027e0fac _02170644: .word data_02050f54 _02170648: .word 0xffffd738 _0217064c: .word data_027e0d3c _02170650: .word 0x00000aab _02170654: .word data_027e0d0c _02170658: .word 0x000005dc _0217065c: .word data_ov00_020eec68 .global func_ov15_02170660 arm_func_start func_ov15_02170660 func_ov15_02170660: ; 0x02170660 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021706a0 ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 bl func_ov15_02170754 _021706a0: 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_ov15_02170660 .global func_ov15_021706b4 arm_func_start func_ov15_021706b4 func_ov15_021706b4: ; 0x021706b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0217073c ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl _ZN5Actor20IncreaseActiveFramesEv mov r0, #0x10000 ldr r1, [r5, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02170734 ldr r0, _02170750 ; =gAdventureFlags ldr r1, [r5, #0x53c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 bne _02170734 ldr r0, _02170750 ; =gAdventureFlags ldr r1, [r5, #0x540] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0217073c _02170734: mov r0, r5 bl func_ov15_02170754 _0217073c: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021706b4 _02170750: .word gAdventureFlags .global func_ov15_02170754 arm_func_start func_ov15_02170754 func_ov15_02170754: ; 0x02170754 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 strb r0, [r4, #0x572] ldr r0, [r4, #0x130] ldr r1, _021707dc ; =data_ov15_02186c4c add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _02170790 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _02170790: blx r1 ldr r1, _021707e0 ; =data_ov15_02186c7c mov r0, r4 mov r2, #0 bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r4 bl func_ov15_021724d0 add r0, r4, #0x158 bl func_ov00_020c5e20 mov r0, r4 bl func_ov15_02172070 ldr r0, [r4, #0x130] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _021707e4 ; =data_027e10a4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4d4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02170754 _021707dc: .word data_ov15_02186c4c _021707e0: .word data_ov15_02186c7c _021707e4: .word data_027e10a4 .global func_ov15_021707e8 arm_func_start func_ov15_021707e8 func_ov15_021707e8: ; 0x021707e8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0217082c ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov15_0216fe00 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021707e8 _0217082c: .word data_027e0e60 .global func_ov15_02170830 arm_func_start func_ov15_02170830 func_ov15_02170830: ; 0x02170830 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xa4 ldr r1, _021709ec ; =data_027e0f64 mov r4, r0 ldr r0, [r1] add r1, sp, #0x3c ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, _021709f0 ; =data_027e0f94 add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrb r0, [r4, #0x56c] cmp r0, #0 beq _02170884 cmp r0, #1 beq _021708e0 cmp r0, #2 beq _021709a8 add sp, sp, #0xa4 ldmia sp!, {r3, r4, pc} _02170884: mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov15_0217317c bl func_ov15_0215cf38 cmp r0, #0 addne sp, sp, #0xa4 ldmneia sp!, {r3, r4, pc} add r1, r4, #0x9c ldr r0, _021709f4 ; =data_027e0c68 ldr r2, _021709f8 ; =0x0005002b add r1, r1, #0x400 bl func_02036ce4 cmp r0, #0 addeq sp, sp, #0xa4 ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #1 add sp, sp, #0xa4 strb r0, [r4, #0x56c] ldmia sp!, {r3, r4, pc} _021708e0: mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov15_0217317c mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0xa4 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x9c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0xa4 ldmneia sp!, {r3, r4, pc} 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 ldr r1, [r4, #8] mov r0, #6 str r1, [sp, #0x20] ldr r2, [r4, #0xc] mov r1, #0 str r2, [sp, #0x24] strh r0, [sp, #6] str r1, [sp] ldr r0, _021709fc ; =data_027e0fe8 ldr r1, _02170a00 ; =0x4852434e ldr r0, [r0] add r2, sp, #0x30 add r3, sp, #4 bl func_ov00_020c4048 mov r0, #2 strb r0, [r4, #0x56c] mov r0, #0 add sp, sp, #0xa4 str r0, [r4, #0x138] ldmia sp!, {r3, r4, pc} _021709a8: ldr r2, [r4, #0x138] cmp r2, #0x3c movge r1, #0x3000 movge r2, #1 bge _021709dc ldr r0, [r4, #0x538] mov r1, #0x3c000 rsb r0, r0, #0x3000 mul r0, r2, r0 bl Divide ldr r1, [r4, #0x538] mov r2, #0 add r1, r1, r0 _021709dc: mov r0, r4 bl func_ov15_0217317c add sp, sp, #0xa4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02170830 _021709ec: .word data_027e0f64 _021709f0: .word data_027e0f94 _021709f4: .word data_027e0c68 _021709f8: .word 0x0005002b _021709fc: .word data_027e0fe8 _02170a00: .word 0x4852434e .global func_ov15_02170a04 arm_func_start func_ov15_02170a04 func_ov15_02170a04: ; 0x02170a04 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x294 mov r4, r0 ldrb r1, [r4, #0x56c] cmp r1, #2 blo _02170a38 bl func_ov15_02171aa8 mov r0, r4 bl func_ov15_02172014 ldr r0, _02170fe0 ; =data_027e10a4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov15_02137574 _02170a38: ldrb r0, [r4, #0x56c] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02170fd8 _02170a48: ; jump table b _02170a5c ; case 0 b _02170ac8 ; case 1 b _02170e08 ; case 2 b _02170e3c ; case 3 b _02170eec ; case 4 _02170a5c: mov r0, r4 bl func_ov15_021733b0 cmp r0, #0 addeq sp, sp, #0x294 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [r4, #0x138] cmp r0, #0x5a addlt sp, sp, #0x294 ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r1, r4, #0x9c ldr r0, _02170fe4 ; =data_027e0c68 ldr r2, _02170fe8 ; =0x00050027 add r1, r1, #0x400 bl func_02036ce4 cmp r0, #0 addeq sp, sp, #0x294 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r1, #1 ldr r0, _02170fe0 ; =data_027e10a4 strb r1, [r4, #0x56c] ldr r0, [r0] bl func_ov15_021413d4 add sp, sp, #0x294 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02170ac8: ldr r0, _02170fec ; =data_027e0f64 add r1, sp, #0x22c ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 add r1, sp, #0x38 add r2, sp, #0x22c mov r0, r4 bl func_ov15_021735a8 ldr r2, [sp, #0x38] ldr r1, [sp, #0x3c] ldr r0, [sp, #0x40] str r2, [sp, #0x20] str r1, [sp, #0x24] str r0, [sp, #0x28] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02170fec ; =data_027e0f64 add r1, sp, #0x20 ldr r0, [r0] add r3, sp, #0x22c ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x294 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r4, #0x9c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x294 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x17c bl func_ov00_0209a4f4 mvn r5, #0 mov r2, #0x32 mov r1, #4 mov r0, #3 strb r0, [sp, #0x187] add r3, sp, #0x2c str r5, [sp, #0x180] strb r2, [sp, #0x185] strb r1, [sp, #0x186] add r0, r4, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] ldr r2, _02170ff0 ; =data_02050f54 ldr r0, _02170ff4 ; =0x0000276c mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 mov r1, r3, lsl #0x1 ldrsh r7, [r2, r1] add r1, r3, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] umull r6, r8, r7, r0 mov r1, #0 umull r5, r3, r2, r0 adds r6, r6, #0x800 mov r9, r6, lsr #0xc mla r8, r7, r1, r8 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mov r6, r7, asr #0x1f mla r8, r6, r0, r8 adc r6, r8, #0 mla r3, r1, r0, r3 adds r1, r5, #0x800 adc r0, r3, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 ldr r0, [sp, #0x30] ldr r2, [sp, #0x34] sub r0, r0, #0x4a sub r0, r0, #0x900 add r1, r2, r1 ldr r10, [sp, #0x2c] orr r9, r9, r6, lsl #20 add r6, r10, r9 str r0, [sp, #0x30] str r0, [sp, #0x1a0] ldr r0, _02170fec ; =data_027e0f64 str r6, [sp, #0x2c] ldr r0, [r0] str r6, [sp, #0x19c] str r1, [sp, #0x34] str r1, [sp, #0x1a4] ldr r0, [r0, #4] add r1, sp, #0x114 bl func_ov00_02087d34 mov r0, #0xf000 str r0, [sp, #0x12c] mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv ldr r1, [sp, #0x114] mov r10, #1 str r1, [sp, #0x1a8] ldr r1, [sp, #0x11c] str r0, [sp, #0x128] str r0, [sp, #0x1bc] mov r0, #0 str r1, [sp, #0x1b0] ldr r1, [sp, #0x13c] str r0, [sp, #0x124] str r0, [sp, #0x130] str r0, [sp, #0x138] str r0, [sp, #0x1b8] str r0, [sp, #0x1c4] str r0, [sp, #0x1cc] mov r0, #0x7d0 str r0, [sp, #0x120] str r0, [sp, #0x1b4] sub r0, r0, #0xfd0 str r0, [sp, #0x134] str r0, [sp, #0x1c8] ldr r0, [sp, #0x118] strb r10, [sp, #0x190] str r0, [sp, #0x1ac] ldr r0, [sp, #0x12c] str r1, [sp, #0x1d0] str r0, [sp, #0x1c0] ldr r0, [sp, #0x140] str r0, [sp, #0x1d4] ldr r0, [sp, #0x148] ldr r1, [sp, #0x144] str r0, [sp, #0x1dc] ldr r0, [sp, #0x160] ldr r9, [sp, #0x14c] ldr r8, [sp, #0x150] ldr r7, [sp, #0x154] ldr r6, [sp, #0x158] ldrb r5, [sp, #0x174] ldrb lr, [sp, #0x175] ldrb ip, [sp, #0x176] ldrb r3, [sp, #0x177] ldrb r2, [sp, #0x178] str r0, [sp, #0x1f4] ldr r0, _02170ff8 ; =gAdventureFlags str r1, [sp, #0x1d8] ldr r1, [sp, #0x15c] str r9, [sp, #0x1e0] ldr r9, [sp, #0x164] str r8, [sp, #0x1e4] ldr r8, [sp, #0x168] str r7, [sp, #0x1e8] ldr r7, [sp, #0x16c] str r6, [sp, #0x1ec] ldr r6, [sp, #0x170] mov r11, #0x5c str r1, [sp, #0x1f0] ldr r0, [r0] add r1, sp, #0x17c str r9, [sp, #0x1f8] str r8, [sp, #0x1fc] str r7, [sp, #0x200] str r6, [sp, #0x204] strb r5, [sp, #0x208] strb lr, [sp, #0x209] strb ip, [sp, #0x20a] strb r3, [sp, #0x20b] strb r2, [sp, #0x20c] str r11, [sp, #0x210] strb r10, [sp, #0x192] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x540] ldr r0, _02170ff8 ; =gAdventureFlags ldr r1, [r4, #0x53c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02170db8 ldr r0, _02170ff8 ; =gAdventureFlags ldr r1, [r4, #0x53c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02170db8: mvn r0, #0 str r0, [r4, #0x53c] mov r1, #3 strh r1, [r4, #0x7a] mov r2, #2 ldr r0, _02170ffc ; =data_ov15_02190458 mov r1, #0x3c strb r2, [r4, #0x56c] bl func_ov15_021849dc ldr r0, _02171000 ; =data_ov00_020eec68 mov r1, #0x48 mov r2, #0x3c mov r3, #0x7f bl func_ov00_020d70a4 mov r1, #1 add r0, sp, #0x17c strb r1, [r4, #0x575] bl func_ov00_0209a508 add sp, sp, #0x294 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02170e08: ldr r0, _02170fec ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02089a2c cmp r0, #0 addne sp, sp, #0x294 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, #3 strb r0, [r4, #0x56c] mov r0, #0 add sp, sp, #0x294 str r0, [r4, #0x138] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02170e3c: add r0, r4, #0x4c mov r1, #0x2000 mov r2, #0x52 bl Approach_thunk ldr r0, _02170fec ; =data_027e0f64 add r1, sp, #0xac ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, [r4, #0x48] mov r2, #0 str r0, [sp, #0x14] ldr r1, [r4, #0x4c] ldr r0, _02170fec ; =data_027e0f64 str r1, [sp, #0x18] ldr r3, [r4, #0x50] add r1, sp, #0x14 str r3, [sp, #0x1c] str r2, [sp] str r2, [sp, #4] ldr r0, [r0] add r3, sp, #0xac ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 ldr r0, [r4, #0x138] cmp r0, #0x3c addlt sp, sp, #0x294 ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r1, r4, #0x9c ldr r0, _02170fe4 ; =data_027e0c68 ldr r2, _02171004 ; =0x00050028 add r1, r1, #0x400 bl func_02036ce4 cmp r0, #0 addeq sp, sp, #0x294 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #4 add sp, sp, #0x294 strb r0, [r4, #0x56c] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02170eec: add r0, r4, #0x4c mov r1, #0x2000 mov r2, #0x52 bl Approach_thunk ldr r0, _02170fec ; =data_027e0f64 add r1, sp, #0x44 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, [r4, #0x48] mov r2, #0 str r0, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, _02170fec ; =data_027e0f64 str r1, [sp, #0xc] ldr r3, [r4, #0x50] add r1, sp, #8 str r3, [sp, #0x10] str r2, [sp] str r2, [sp, #4] ldr r0, [r0] add r3, sp, #0x44 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x294 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r4, #0x9c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x294 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02170ff8 ; =gAdventureFlags ldr r1, [r4, #0x540] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02170fc4 ldr r0, _02170ff8 ; =gAdventureFlags ldr r1, [r4, #0x540] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02170fc4: mvn r2, #0 mov r0, r4 mov r1, #3 str r2, [r4, #0x540] bl func_ov15_0216fe00 _02170fd8: add sp, sp, #0x294 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02170a04 _02170fe0: .word data_027e10a4 _02170fe4: .word data_027e0c68 _02170fe8: .word 0x00050027 _02170fec: .word data_027e0f64 _02170ff0: .word data_02050f54 _02170ff4: .word 0x0000276c _02170ff8: .word gAdventureFlags _02170ffc: .word data_ov15_02190458 _02171000: .word data_ov00_020eec68 _02171004: .word 0x00050028 .global func_ov15_02171008 arm_func_start func_ov15_02171008 func_ov15_02171008: ; 0x02171008 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xc mov r4, r0 add r0, r4, #0x500 ldrh r1, [r0, #0x66] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x66] add r0, r4, #0x500 ldrh r1, [r0, #0x68] cmp r1, #0 beq _02171050 sub r1, r1, #1 strh r1, [r0, #0x68] ldrh r0, [r0, #0x68] cmp r0, #0 moveq r0, #0xf6 streq r0, [r4, #0x54c] _02171050: ldr r1, [r4, #0x550] cmp r1, #0x8000 blo _021710d4 ldr r0, _0217126c ; =0x0000b7dc cmp r1, r0 bhs _021710d4 sub r0, r1, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #0x2000 blt _021710bc sub r0, r0, #0x2000 ldr r1, _02171270 ; =0x017dc000 mov r0, r0, lsl #0xc bl Divide mov r1, #0xf6 umull r5, r3, r0, r1 mov r2, #0 adds r5, r5, #0x800 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adc r0, r3, #0 mov r1, r5, lsr #0xc orr r1, r1, r0, lsl #20 rsb r0, r1, #0x1ec str r0, [r4, #0x548] _021710bc: mov r0, #0xf6 str r0, [r4, #0x54c] add r0, r4, #0x500 mov r1, #0 strh r1, [r0, #0x68] b _02171114 _021710d4: ldr r1, [r4, #0x54c] ldr r0, [r4, #0x548] cmp r0, r1 ble _021710fc sub r1, r0, #8 str r1, [r4, #0x548] ldr r0, [r4, #0x54c] cmp r1, r0 strlt r0, [r4, #0x548] b _02171114 _021710fc: bge _02171114 add r1, r0, #8 str r1, [r4, #0x548] ldr r0, [r4, #0x54c] cmp r1, r0 strgt r0, [r4, #0x548] _02171114: ldr r0, _02171274 ; =data_027e10a4 add r1, r4, #0x48 ldr r0, [r0] bl func_ov15_02137574 add r0, r4, #0x48 ldr r3, _02171274 ; =data_027e10a4 add r5, sp, #0 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r3, [r3] ldr r1, [sp] mov r0, r4 str r1, [r3, #0x3c] ldr r2, [sp, #4] mov r1, #1 str r2, [r3, #0x40] ldr r2, [sp, #8] str r2, [r3, #0x44] strb r1, [r3, #0x260] bl func_ov15_02171aa8 mov r0, r4 bl func_ov15_02172014 mov r0, r4 bl func_ov15_0217193c mov r0, r4 bl func_ov15_021725cc ldr r0, [r4, #0x16c] cmp r0, #1 bne _0217125c ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217125c add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r7, _02171278 ; =data_027e0764 mov r8, #0 ldr r6, [r7] ldmib r7, {r0, r2} umull r5, r9, r2, r6 ldr ip, [r7, #0x10] mla r9, r2, r0, r9 ldr r1, [r7, #0xc] ldr r3, [r7, #0x14] mla r9, r1, r6, r9 adds r5, ip, r5 adc lr, r3, r9 mov r6, #0x64000 umull r0, r9, lr, r6 mla r9, lr, r8, r9 mov r0, r8 mla r9, r0, r6, r9 stmia r7, {r5, lr} cmp r9, #0x28000 bge _0217121c mov r0, #2 strb r0, [r4, #0x56e] mov r1, #0xb6 add r0, r4, #0x500 strh r1, [r0, #0x5a] ldr r0, [r4, #0x554] add r0, r0, #0xb6 str r0, [r4, #0x554] b _0217125c _0217121c: umull r9, r6, r2, r5 mla r6, r2, lr, r6 adds r9, ip, r9 mla r6, r1, r5, r6 adc r5, r3, r6 mov r1, #3 umull r2, r3, r5, r1 mla r3, r5, r8, r3 mla r3, r0, r1, r3 str r9, [r7] str r5, [r7, #4] add r0, r3, #4 strb r0, [r4, #0x56f] add r0, r4, #0x500 strh r8, [r0, #0x62] strh r8, [r0, #0x64] _0217125c: mov r0, r4 bl func_ov15_02172d90 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02171008 _0217126c: .word 0x0000b7dc _02171270: .word 0x017dc000 _02171274: .word data_027e10a4 _02171278: .word data_027e0764 .global func_ov15_0217127c arm_func_start func_ov15_0217127c func_ov15_0217127c: ; 0x0217127c ldr ip, _02171288 ; =func_ov15_0216fe00 mov r1, #5 bx ip .align 2, 0 arm_func_end func_ov15_0217127c _02171288: .word func_ov15_0216fe00 .global func_ov15_0217128c arm_func_start func_ov15_0217128c func_ov15_0217128c: ; 0x0217128c stmdb sp!, {r4, lr} sub sp, sp, #0x1e8 mov r4, r0 ldrb r1, [r4, #0x56c] cmp r1, #7 addls pc, pc, r1, lsl #2 b _021718ec _021712a8: ; jump table b _021712c8 ; case 0 b _0217140c ; case 1 b _021714f8 ; case 2 b _02171558 ; case 3 b _021715ac ; case 4 b _02171640 ; case 5 b _02171790 ; case 6 b _0217187c ; case 7 _021712c8: bl _ZN5Actor12ApplyGravityEv ldr r2, [r4, #0x4c] ldr r1, [r4, #0x64] ldr r0, _021718f4 ; =data_027e0e60 add r1, r2, r1 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0x38] ldr r2, [r4, #0x4c] add r1, sp, #0x38 str r2, [sp, #0x3c] ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x40] bl func_ov00_02083ee0 ldr r1, [r4, #0x4c] mov lr, r0 cmp r1, lr bge _021713f8 ldr r0, [r4, #0x58] cmp r0, lr blt _021713ac mov ip, #0 str ip, [r4, #0x6c] sub r0, ip, #0x52 str r0, [r4, #0x64] add r0, r4, #0x48 add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, _021718f8 ; =0x00000d9a mov r0, r3 mov r2, ip str lr, [sp, #0x60] bl func_ov00_020c74a8 mov r2, #0 add r0, sp, #0x5c mov r3, r2 mov r1, #0x1000 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021718fc ; =data_027e0e58 add r2, sp, #0x5c ldr r0, [r0] mov r1, #0x88 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02171900 ; =data_027e0ffc ldr r1, _02171904 ; =0x00000217 add r2, sp, #0x5c mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x1e8 ldmia sp!, {r4, pc} _021713ac: mov r0, r4 bl func_ov15_02172d18 mov r0, #0x2800 ldr r1, [r4, #0x4c] rsb r0, r0, #0 cmp r1, r0 addge sp, sp, #0x1e8 ldmgeia sp!, {r4, pc} mov r2, #0 str r2, [r4, #0x554] sub r1, r2, #0x4000 add r0, r4, #0x500 strh r1, [r0, #0x58] ldrb r0, [r4, #0x56c] add sp, sp, #0x1e8 add r0, r0, #1 strb r0, [r4, #0x56c] str r2, [r4, #0x138] ldmia sp!, {r4, pc} _021713f8: ldr r0, [r4, #0x554] add sp, sp, #0x1e8 add r0, r0, #0x12c str r0, [r4, #0x554] ldmia sp!, {r4, pc} _0217140c: bl func_ov15_02172d18 ldr r1, [r4, #0x4c] ldr r0, _021718f4 ; =data_027e0e60 add r1, r1, #0x148 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0x2c] ldr r2, [r4, #0x4c] add r1, sp, #0x2c str r2, [sp, #0x30] ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x34] bl func_ov00_02083ee0 mov ip, r0 ldr r1, [r4, #0x4c] sub r0, ip, #0x1800 cmp r1, r0 addlt sp, sp, #0x1e8 ldmltia sp!, {r4, pc} add r0, r4, #0x48 add r3, sp, #0x50 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, _021718f8 ; =0x00000d9a mov r0, r3 mov r2, #0 str ip, [sp, #0x54] bl func_ov00_020c74a8 mov r2, #0 add r0, sp, #0x50 mov r3, r2 mov r1, #0x1000 bl func_ov00_020c75f4 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021718fc ; =data_027e0e58 add r2, sp, #0x50 ldr r0, [r0] mov r1, #0x88 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02171900 ; =data_027e0ffc ldr r1, _02171908 ; =0x000002e9 add r2, sp, #0x50 mov r3, #0 bl func_ov00_020ceacc add r0, r4, #0x158 mov r1, #2 bl func_ov00_020c5d74 ldrb r1, [r4, #0x56c] add r0, r4, #0x450 add r1, r1, #1 strb r1, [r4, #0x56c] bl func_ov00_020b7e6c add sp, sp, #0x1e8 ldmia sp!, {r4, pc} _021714f8: ldr r1, [r4, #0x4c] ldr r0, _021718f4 ; =data_027e0e60 add r1, r1, #0x148 str r1, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0x20] ldr r2, [r4, #0x4c] add r1, sp, #0x20 str r2, [sp, #0x24] ldr r3, [r4, #0x50] mov r2, #0 str r3, [sp, #0x28] bl func_ov00_02083ee0 ldr r1, [r4, #0x4c] add r0, r0, #0x29 cmp r1, r0 addlt sp, sp, #0x1e8 ldmltia sp!, {r4, pc} ldrb r0, [r4, #0x56c] add sp, sp, #0x1e8 add r0, r0, #1 strb r0, [r4, #0x56c] ldmia sp!, {r4, pc} _02171558: bl func_ov15_02172d18 ldr r1, [r4, #0x4c] mov r0, #0x2800 sub r1, r1, #0x98 rsb r0, r0, #0 cmp r1, r0 addge sp, sp, #0x1e8 str r1, [r4, #0x4c] ldmgeia sp!, {r4, pc} add r0, r4, #0x450 bl func_ov00_020b7e6c ldrb r2, [r4, #0x56c] mov r1, #0 ldr r0, _0217190c ; =0x0000ffff add r2, r2, #1 strb r2, [r4, #0x56c] str r1, [r4, #0x138] strb r1, [r4, #0x575] add sp, sp, #0x1e8 strh r0, [r4, #0x7a] ldmia sp!, {r4, pc} _021715ac: ldr r0, [r4, #0x138] cmp r0, #0x3c addlt sp, sp, #0x1e8 ldmltia sp!, {r4, pc} add r1, r4, #0x9c ldr r0, _02171910 ; =data_027e0c68 ldr r2, _02171914 ; =0x00050029 add r1, r1, #0x400 bl func_02036ce4 cmp r0, #0 addeq sp, sp, #0x1e8 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc ldrb r1, [r4, #0x56c] ldr r0, _02171918 ; =gAdventureFlags add r1, r1, #1 strb r1, [r4, #0x56c] ldr r0, [r0] ldr r1, [r4, #0x53c] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0217161c ldr r0, _02171918 ; =gAdventureFlags ldr r1, [r4, #0x53c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0217161c: mvn r1, #0 str r1, [r4, #0x53c] ldr r0, _021718f4 ; =data_027e0e60 add r1, r4, #0x74 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838d8 add sp, sp, #0x1e8 ldmia sp!, {r4, pc} _02171640: mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x1e8 ldmeqia sp!, {r4, pc} add r0, r4, #0x9c add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x4b4] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x1e8 ldmneia sp!, {r4, pc} ldrb r2, [r4, #0x56c] ldr r0, _0217191c ; =data_ov15_02190458 mov r1, #0x1e add r2, r2, #1 strb r2, [r4, #0x56c] bl func_ov15_021849c0 ldr r0, _02171920 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02137550 bl func_ov15_0213ce4c bl func_ov15_0213d1c8 ldrh r2, [r4, #0x20] cmp r2, #0 addeq sp, sp, #0x1e8 ldmeqia sp!, {r4, pc} ldr r0, _02171924 ; =data_027e0f68 mov r1, #0x25 ldr r0, [r0] bl func_ov00_0208cd48 cmp r0, #0 addeq sp, sp, #0x1e8 ldmeqia sp!, {r4, pc} add r0, r0, #0x18 add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x44] add r0, sp, #0x138 str r1, [r4, #0x48] ldr r1, [sp, #0x48] str r1, [r4, #0x4c] ldr r1, [sp, #0x4c] str r1, [r4, #0x50] bl func_ov00_0209a4f4 mov r2, #0 ldr r1, _02171928 ; =data_027e0f64 mov r3, #0x32 mvn ip, #0 ldr r0, _02171918 ; =gAdventureFlags ldr r1, [r1] strb r3, [sp, #0x141] strb r2, [sp, #0x142] strb r2, [sp, #0x143] str ip, [sp, #0x13c] ldr ip, [r1, #4] ldr r0, [r0] ldr r2, [ip, #0x26c] add r1, sp, #0x138 str r2, [sp, #0x158] ldr r3, [ip, #0x270] mov r2, #1 str r3, [sp, #0x15c] ldr r3, [ip, #0x274] str r3, [sp, #0x160] strb r2, [sp, #0x14e] bl _ZN14AdventureFlags18func_Ov00_02097810Ei ldr r1, _02171920 ; =data_027e10a4 str r0, [r4, #0x53c] ldr r0, [r1] add r1, sp, #0x44 bl func_ov15_0213a500 add r0, sp, #0x138 bl func_ov00_0209a508 add sp, sp, #0x1e8 ldmia sp!, {r4, pc} _02171790: ldr r0, _02171928 ; =data_027e0f64 add r1, sp, #0xd0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 ldr r2, _0217192c ; =0x00000222 add r0, sp, #0xe4 bl Approach_thunk ldr r0, _02171930 ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #0x14] str r2, [sp, #0x18] ldr r2, [r0, #8] ldr r0, _02171928 ; =data_027e0f64 str r2, [sp, #0x1c] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #0x14 ldr r0, [r0, #4] mov r2, #2 add r3, sp, #0xd0 bl func_ov00_02089318 ldr r0, [r4, #0x578] cmp r0, #0 beq _02171818 bl func_ov15_02173c08 mov r0, #0 str r0, [r4, #0x578] _02171818: mov r0, r4 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii ldr r0, _02171934 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078fac cmp r0, #3 bne _0217184c ldr r0, _02171934 ; =data_027e0d3c mov r1, #0x1e ldr r0, [r0] bl func_ov15_0217d5d4 _0217184c: ldr r0, _02171938 ; =data_027e0d04 mov r1, #1 strb r1, [r0, #5] ldrb r2, [r4, #0x56c] mov r1, #0 mov r0, #2 add r2, r2, #1 strb r2, [r4, #0x56c] str r1, [r4, #0x138] add sp, sp, #0x1e8 strb r0, [r4, #0x570] ldmia sp!, {r4, pc} _0217187c: ldr r0, _02171928 ; =data_027e0f64 add r1, sp, #0x68 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv mov r1, r0 ldr r2, _0217192c ; =0x00000222 add r0, sp, #0x7c bl Approach_thunk ldr r0, _02171930 ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #8] str r2, [sp, #0xc] ldr r2, [r0, #8] ldr r0, _02171928 ; =data_027e0f64 str r2, [sp, #0x10] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #8 ldr r0, [r0, #4] mov r2, #2 add r3, sp, #0x68 bl func_ov00_02089318 _021718ec: add sp, sp, #0x1e8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217128c _021718f4: .word data_027e0e60 _021718f8: .word 0x00000d9a _021718fc: .word data_027e0e58 _02171900: .word data_027e0ffc _02171904: .word 0x00000217 _02171908: .word 0x000002e9 _0217190c: .word 0x0000ffff _02171910: .word data_027e0c68 _02171914: .word 0x00050029 _02171918: .word gAdventureFlags _0217191c: .word data_ov15_02190458 _02171920: .word data_027e10a4 _02171924: .word data_027e0f68 _02171928: .word data_027e0f64 _0217192c: .word 0x00000222 _02171930: .word data_027e0f94 _02171934: .word data_027e0d3c _02171938: .word data_027e0d04 .global func_ov15_0217193c arm_func_start func_ov15_0217193c func_ov15_0217193c: ; 0x0217193c stmdb sp!, {r3, r4, r5, lr} add r1, r0, #0x500 ldrh r1, [r1, #0x66] cmp r1, #0 bne _0217195c ldr r1, [r0, #0x16c] cmp r1, #1 bne _02171968 _0217195c: ldr r1, [r0, #0x554] cmp r1, #0 ldmeqia sp!, {r3, r4, r5, pc} _02171968: ldr r2, [r0, #0x554] cmp r2, #0 bne _021719e0 ldr r3, _02171aa0 ; =data_027e0764 mov r2, #0 ldr ip, [r3] ldmib r3, {r1, lr} umull r5, r4, lr, ip mla r4, lr, r1, r4 ldr r1, [r3, #0xc] ldr lr, [r3, #0x10] mla r4, r1, ip, r4 ldr r1, [r3, #0x14] adds r5, lr, r5 adc r4, r1, r4 mov r1, #0x64000 umull ip, lr, r4, r1 mla lr, r4, r2, lr mla lr, r2, r1, lr ldr r1, _02171aa4 ; =0x000004cd str r5, [r3] str r4, [r3, #4] cmp lr, r1 bge _02171a28 add r1, r0, #0x500 mov r2, #0xb6 strh r2, [r1, #0x5a] mov r1, #1 strb r1, [r0, #0x56e] b _02171a28 _021719e0: mov r1, r2, lsl #0x10 mov r1, r1, asr #0x10 cmp r1, #0 ble _02171a0c cmp r2, #0x8000 bge _02171a28 add r1, r0, #0x500 ldrsh r2, [r1, #0x5a] add r2, r2, #0xb6 strh r2, [r1, #0x5a] b _02171a28 _02171a0c: ldrb r1, [r0, #0x56e] cmp r1, #1 bne _02171a28 add r1, r0, #0x500 ldrsh r2, [r1, #0x5a] sub r2, r2, #0xb6 strh r2, [r1, #0x5a] _02171a28: ldr r3, [r0, #0x554] mov r1, r3, lsl #0x10 movs r1, r1, asr #0x10 bpl _02171a88 add r1, r0, #0x500 ldrsh r2, [r1, #0x5a] add r2, r3, r2 mov r2, r2, lsl #0x10 movs r2, r2, asr #0x10 bmi _02171a88 ldrb r2, [r0, #0x56e] sub r2, r2, #1 strb r2, [r0, #0x56e] tst r2, #0xff bne _02171a74 mov r2, #0 strh r2, [r1, #0x5a] str r2, [r0, #0x554] ldmia sp!, {r3, r4, r5, pc} _02171a74: ldrsh r1, [r1, #0x5a] ldr r2, [r0, #0x554] add r1, r2, r1 str r1, [r0, #0x554] ldmia sp!, {r3, r4, r5, pc} _02171a88: add r1, r0, #0x500 ldrsh r1, [r1, #0x5a] ldr r2, [r0, #0x554] add r1, r2, r1 str r1, [r0, #0x554] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217193c _02171aa0: .word data_027e0764 _02171aa4: .word 0x000004cd .global func_ov15_02171aa8 arm_func_start func_ov15_02171aa8 func_ov15_02171aa8: ; 0x02171aa8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x28 ldr r1, _02171ec4 ; =data_027e0f94 add r3, sp, #0x1c mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x1c] ldr r1, [sp, #0x24] ldr r3, _02171ec8 ; =data_027e0fac str r2, [sp, #0x10] str r1, [sp, #0x18] ldr r0, [r4, #0x544] ldrsh r5, [r3] cmp r0, #0 beq _02171b44 add r3, r4, #0x500 ldrsh r3, [r3, #0x5c] ldr r7, _02171ecc ; =data_02050f54 add r3, r5, r3 add r3, r3, #0x6000 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 mov r3, r3, asr #0x4 mov r8, r3, lsl #0x1 mov r3, r8, lsl #0x1 ldrsh r6, [r7, r3] add r3, r8, #1 mov r3, r3, lsl #0x1 mul r0, r6, r0 add r0, r0, #0x800 add r0, r2, r0, asr #12 str r0, [sp, #0x10] ldrsh r2, [r7, r3] ldr r0, [r4, #0x544] mul r0, r2, r0 add r0, r0, #0x800 add r0, r1, r0, asr #12 str r0, [sp, #0x18] _02171b44: add ip, r4, #0x500 ldr r0, [r4, #0x550] ldrsh r2, [ip, #0x5c] mov r1, r0, lsl #0x10 mov r3, r1, lsr #0x10 add r1, r5, r2 mov r6, r3, asr #0x4 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 ldr r3, _02171ecc ; =data_02050f54 mov r7, r6, lsl #0x2 mov r6, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [r3, r7] mov r2, #0x4800 ldrsh r6, [r3, r6] smulbb r7, r7, r2 add r7, r7, #0x800 mov r8, r7, asr #0xc ldrsh r1, [r3, r1] mul r7, r6, r8 mul r6, r1, r8 mov r0, r0, lsl #0x11 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r8, [r3, r0] ldr r1, [sp, #0x10] add r0, r7, #0x800 add r1, r1, r0, asr #12 smulbb r0, r8, r2 add r7, r0, #0x800 ldr r2, [sp, #0x18] add r0, r6, #0x800 add r0, r2, r0, asr #12 str r1, [sp, #0x10] str r0, [sp, #0x18] ldrsh r6, [ip, #0x5c] mov r2, r7, asr #0xc add r5, r5, r6 add r5, r5, #0x4000 mov r5, r5, lsl #0x10 mov r5, r5, lsr #0x10 mov r5, r5, asr #0x4 mov r6, r5, lsl #0x1 add r5, r6, #1 mov r6, r6, lsl #0x1 mov r5, r5, lsl #0x1 ldrsh r6, [r3, r6] ldrsh r5, [r3, r5] mul r7, r6, r2 mul r2, r5, r2 add r5, r7, #0x800 add r2, r2, #0x800 add r1, r1, r5, asr #12 add r0, r0, r2, asr #12 str r1, [sp, #0x10] str r0, [sp, #0x18] ldr r0, [r4, #0x130] cmp r0, #3 bne _02171d58 ldr r2, [r4, #0x548] add r1, sp, #0x10 add r0, r4, #0x48 ldr r5, [r4, #0x550] bl func_0202b2f8 add r1, sp, #0x10 mov r0, r4 bl _ZN5Actor12XzDistanceToEP5Vec3p cmp r0, #0xf6 movle r0, #0x2d8 movgt r0, #0 strh r0, [sp] ldrb r0, [r4, #0x573] cmp r0, #0 beq _02171cd4 ldr r2, [r4, #0x550] ldr r1, _02171ed0 ; =0x00001dde sub r0, r2, #0x8000 mov r0, r0, lsl #0x10 cmp r1, r0, lsr #16 ble _02171cd4 ldrsh r0, [sp] add r0, r2, r0 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 cmp r1, r0, lsr #16 bgt _02171cd4 ldr r0, [r4, #0x554] cmp r0, #0 bne _02171cd4 mov r1, #0xb6 add r0, r4, #0x500 strh r1, [r0, #0x5a] str r1, [r4, #0x554] mov r0, #1 strb r0, [r4, #0x56e] _02171cd4: ldrsh r0, [sp] ldr r1, [r4, #0x550] add r0, r1, r0 str r0, [r4, #0x550] ldr r0, [r4, #0x4c] cmp r0, #0x2000 bgt _02171e28 ldrb r0, [r4, #0x56d] tst r0, #1 movne r1, #0x8000 bne _02171d10 add r0, r4, #0x500 mov r1, #0 strh r1, [r0, #0x68] mov r1, #0x6000 _02171d10: cmp r5, r1 bhi _02171d48 ldr r0, [r4, #0x550] cmp r0, r1 bls _02171d48 ldrb r0, [r4, #0x56d] eor r1, r0, #1 and r0, r1, #0xff tst r0, #1 strb r1, [r4, #0x56d] moveq r0, #1 streqb r0, [r4, #0x573] movne r0, #0x1ec strne r0, [r4, #0x54c] _02171d48: add r1, sp, #0 mov r0, r4 bl func_ov15_02171ed4 b _02171e28 _02171d58: cmp r0, #2 bne _02171dfc ldrb r0, [r4, #0x56c] cmp r0, #3 bhs _02171dfc ldr r2, [r4, #0x48] mov ip, #0 str r2, [sp, #0x10] ldr r0, [r4, #0x4c] mov r5, #0x15c str r0, [sp, #0x14] ldr r1, [r4, #0x50] str r1, [sp, #0x18] ldrh r0, [r4, #0x78] mov r0, r0, asr #0x4 mov r6, r0, lsl #0x1 mov r0, r6, lsl #0x1 ldrsh r7, [r3, r0] add r0, r6, #1 mov r0, r0, lsl #0x1 ldrsh r3, [r3, r0] umull r0, r8, r7, r5 umull r6, lr, r3, r5 adds r0, r0, #0x800 mla r8, r7, ip, r8 mov r7, r7, asr #0x1f mla r8, r7, r5, r8 adc r7, r8, #0 adds r6, r6, #0x800 mov r0, r0, lsr #0xc orr r0, r0, r7, lsl #20 add r7, r2, r0 mla lr, r3, ip, lr mov r0, r3, asr #0x1f mla lr, r0, r5, lr adc r0, lr, #0 mov r2, r6, lsr #0xc orr r2, r2, r0, lsl #20 add r0, r1, r2 str r7, [sp, #0x10] str r0, [sp, #0x18] _02171dfc: add r1, sp, #0x10 add r0, r4, #0x48 mov r2, #0x15c bl func_0202b2f8 add r1, sp, #0x10 mov r0, r4 bl _ZN5Actor12XzDistanceToEP5Vec3p cmp r0, #0xf6 ldrle r0, [r4, #0x550] addle r0, r0, #0x16c strle r0, [r4, #0x550] _02171e28: ldr r0, [r4, #0x550] add r2, sp, #4 cmp r0, #0x10000 movhs r0, r0, lsl #0x10 movhs r0, r0, lsr #0x10 strhs r0, [r4, #0x550] add r0, r4, #0x48 add r1, r4, #0x54 bl func_01ff9bf8 ldr r0, [sp, #4] ldr r1, [sp, #0xc] bl func_01ffa0f4 ldr r1, [r4, #0x130] mov r0, r0, lsl #0x10 cmp r1, #3 ldrsh r2, [r4, #0x78] bne _02171e98 rsb r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r1, #0xa000 mov r0, r0, asr #0x4 bl Divide ldrsh r1, [r4, #0x78] add r0, r0, #0x800 add sp, sp, #0x28 add r0, r1, r0, asr #12 strh r0, [r4, #0x78] ldmia sp!, {r4, r5, r6, r7, r8, pc} _02171e98: rsb r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r1, #0x14000 mov r0, r0, asr #0x4 bl Divide ldrsh r1, [r4, #0x78] add r0, r0, #0x800 add r0, r1, r0, asr #12 strh r0, [r4, #0x78] add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02171aa8 _02171ec4: .word data_027e0f94 _02171ec8: .word data_027e0fac _02171ecc: .word data_02050f54 _02171ed0: .word 0x00001dde .global func_ov15_02171ed4 arm_func_start func_ov15_02171ed4 func_ov15_02171ed4: ; 0x02171ed4 stmdb sp!, {r3, r4, r5, lr} ldrb r2, [r0, #0x573] cmp r2, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r0, #0x550] sub r2, r2, #0x8000 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #0x2000 mov r3, r2, lsl #0x2 bge _02171f58 cmp r3, #0x4000 movge r3, #0x3800 strge r3, [r0, #0x544] bge _02171fb0 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 mov r4, r3, asr #0x4 ldr r3, _02172010 ; =data_02050f54 mov r4, r4, lsl #0x2 ldrsh r4, [r3, r4] mov r3, #0x3800 mov ip, #0 umull lr, r5, r4, r3 mla r5, r4, ip, r5 mov r4, r4, asr #0x1f mla r5, r4, r3, r5 adds ip, lr, #0x800 adc r3, r5, #0 mov r4, ip, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r0, #0x544] b _02171fb0 _02171f58: cmp r3, #0xc000 movlt r3, #0x3800 strlt r3, [r0, #0x544] blt _02171fb0 sub r3, r3, #0x8000 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 mov ip, r3, asr #0x4 ldr r3, _02172010 ; =data_02050f54 mov ip, ip, lsl #0x2 ldrsh lr, [r3, ip] mov r3, #0x3800 mov ip, #0 umull r5, r4, lr, r3 mla r4, lr, ip, r4 mov ip, lr, asr #0x1f adds r5, r5, #0x800 mla r4, ip, r3, r4 adc r3, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r0, #0x544] _02171fb0: cmp r2, #0x2000 ldmltia sp!, {r3, r4, r5, pc} mov r2, #0xf6 str r2, [r0, #0x54c] add r2, r0, #0x500 ldrsh lr, [r2, #0x5c] ldrsh ip, [r1] mov r1, lr, lsl #0x10 mov r1, r1, lsr #0x10 add r3, r1, ip, lsl #1 mov r1, lr, asr #0xe mov r3, r3, asr #0xe and r1, r1, #3 add ip, lr, ip, lsl #1 and r3, r3, #7 add r1, r1, #1 strh ip, [r2, #0x5c] cmp r3, r1 ldmneia sp!, {r3, r4, r5, pc} mov r1, r3, lsl #0xe strh r1, [r2, #0x5c] mov r1, #0 strb r1, [r0, #0x573] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02171ed4 _02172010: .word data_02050f54 .global func_ov15_02172014 arm_func_start func_ov15_02172014 func_ov15_02172014: ; 0x02172014 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x56d] tst r0, #1 beq _0217203c add r0, r4, #0x4c mov r1, #0x800 mov r2, #0xcd bl Approach_thunk b _02172058 _0217203c: ldr r0, [r4, #0x4c] mov r1, #0x2000 cmp r0, #0x2000 movgt r2, #0x52 movle r2, #0xcd add r0, r4, #0x4c bl Approach_thunk _02172058: ldr r0, [r4, #0x4c] cmp r0, #0x2000 addlt r0, r4, #0x500 movlt r1, #1 strlth r1, [r0, #0x66] ldmia sp!, {r4, pc} arm_func_end func_ov15_02172014 .global func_ov15_02172070 arm_func_start func_ov15_02172070 func_ov15_02172070: ; 0x02172070 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 add r2, sp, #0 add r0, r4, #0x48 add r1, r4, #0x54 bl func_01ff9bf8 add r0, sp, #0 bl func_01ff9cec ldr r2, [r4, #0x130] mov r1, r0 cmp r2, #5 beq _021720e4 ldr r0, [sp, #4] rsb r0, r0, #0 bl func_01ffa0f4 add r1, r4, #0x500 ldrsh r2, [r1, #0x58] mov r0, r0, lsl #0x10 mov r1, #0x14000 rsb r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl Divide add r1, r4, #0x500 ldrsh r2, [r1, #0x58] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x58] _021720e4: add r0, r4, #0x500 ldrh r1, [r0, #0x58] ldr r3, _02172178 ; =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_01ff81f8 ldr r1, [r4, #0x554] add r0, sp, #0xc mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215d020 ldrsh r1, [r4, #0x78] add r0, sp, #0xc bl func_ov15_0215cfc8 add r0, r4, #0x17c add lr, sp, #0xc add ip, r0, #0x400 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r0, [lr] str r0, [ip] ldr r0, [r4, #0x578] cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov15_02173c28 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02172070 _02172178: .word data_02050f54 .global func_ov15_0217217c arm_func_start func_ov15_0217217c func_ov15_0217217c: ; 0x0217217c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov ip, r1 ldr r2, [ip, #0x48] add r1, sp, #0 str r2, [sp] ldr r3, [ip, #0x4c] add r2, ip, #0x88 str r3, [sp, #4] ldr r3, [ip, #0x50] mov r4, r0 str r3, [sp, #8] bl func_ov15_02172260 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, pc} mov r0, r4 bl func_ov15_02172cc4 mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0217217c .global func_ov15_021721d4 arm_func_start func_ov15_021721d4 func_ov15_021721d4: ; 0x021721d4 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 add r0, r4, #0x178 mov r2, #1 mov r5, r1 bl func_ov15_0216f7d4 add r0, r4, #0x300 ldrh r1, [r0, #0x48] mov r0, r5, lsl #0x1 mov r0, r1, asr r0 and r0, r0, #3 cmp r0, #2 blt _02172218 add r0, r4, #0x100 ldrsh r1, [r0, #0x20] sub r1, r1, #1 strh r1, [r0, #0x20] _02172218: add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 ldmgtia sp!, {r3, r4, r5, pc} mov r0, r4 mov r1, #5 bl func_ov15_0216fe00 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_021721d4 .global func_ov15_02172238 arm_func_start func_ov15_02172238 func_ov15_02172238: ; 0x02172238 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x178 mov r2, #0 bl func_ov15_0216f7d4 add r0, r4, #0x100 ldrsh r1, [r0, #0x20] add r1, r1, #1 strh r1, [r0, #0x20] ldmia sp!, {r4, pc} arm_func_end func_ov15_02172238 .global func_ov15_02172260 arm_func_start func_ov15_02172260 func_ov15_02172260: ; 0x02172260 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x40 mov r4, r0 str r1, [sp] ldr r1, [r1, #4] ldr r0, [r4, #0x4c] str r2, [sp, #4] subs r1, r1, r0 ldr r0, [sp, #4] rsbmi r1, r1, #0 ldr r0, [r0] add r0, r0, #0x9a add r0, r0, #0x900 cmp r1, r0 addge sp, sp, #0x40 movge r0, #0 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r10, [r4, #0x48] mov r1, #0x800 str r10, [sp, #0x28] ldr r0, [r4, #0x4c] sub ip, r1, #0x2800 str r0, [sp, #0x2c] ldr r9, [r4, #0x50] ldr r11, _021724c4 ; =0x00001266 str r0, [sp, #0x38] str r9, [sp, #0x30] mov r0, #0 sub r0, r0, #1 str r10, [sp, #0x34] str r9, [sp, #0x3c] ldrh r2, [r4, #0x78] str r0, [sp, #0xc] mov lr, ip mov r0, r2, asr #0x4 mov r5, r0, lsl #0x1 ldr r0, _021724c8 ; =data_02050f54 mov r2, r5, lsl #0x1 ldrsh r3, [r0, r2] add r0, r5, #1 mov r2, r0, lsl #0x1 ldr r0, _021724c8 ; =data_02050f54 add r1, sp, #0x34 ldrsh r6, [r0, r2] umull r0, r5, r3, r11 adds r0, r0, #0x800 mov r7, r0, lsr #0xc mov r0, #0 mla r5, r3, r0, r5 mov r2, r3, asr #0x1f mla r5, r2, r11, r5 adc r0, r5, #0 orr r7, r7, r0, lsl #20 add r0, r10, r7 mov r3, #0 umull r8, r7, r6, r11 str r0, [sp, #0x34] mla r7, r6, r3, r7 mov r5, r6, asr #0x1f mla r7, r5, r11, r7 adds r5, r8, #0x800 adc r3, r7, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 add r3, r9, r5 str r3, [sp, #0x3c] ldrh r3, [r4, #0x78] mov r0, #0 sub r0, r0, #1 mov r3, r3, asr #0x4 mov r7, r3, lsl #0x1 str r0, [sp, #8] ldr r3, _021724c8 ; =data_02050f54 mov r5, r7, lsl #0x1 ldrsh r6, [r3, r5] add r3, r7, #1 mov r5, r3, lsl #0x1 ldr r3, _021724c8 ; =data_02050f54 umull r8, r7, r6, ip ldrsh r11, [r3, r5] ldr r3, [sp, #0xc] mov r5, r6, asr #0x1f mla r7, r6, r3, r7 mla r7, r5, ip, r7 adds r5, r8, #0x800 adc r3, r7, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 add r3, r10, r5 str r3, [sp, #0x28] ldr r3, [sp, #8] umull r7, r6, r11, lr mla r6, r11, r3, r6 mov r5, r11, asr #0x1f mla r6, r5, lr, r6 adds r5, r7, #0x800 adc r3, r6, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 add r3, r9, r5 add r0, sp, #0x28 add r2, sp, #0x1c str r3, [sp, #0x30] bl func_01ff9bf8 add r0, sp, #0x1c bl func_01fffb4c ldr r0, [sp] add r1, sp, #0x34 add r2, sp, #0x10 bl func_01ff9bf8 add r0, sp, #0x10 add r1, sp, #0x1c bl func_01ff9c2c cmp r0, #0 blt _021724b8 ldr r1, _021724cc ; =0x00003266 cmp r0, r1 bge _021724b8 mov r1, #0 add r0, sp, #0x10 str r1, [sp, #0x14] bl func_01ff9cec mov r5, r0 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] bl func_01ffa0f4 ldrsh r2, [r4, #0x78] mov r0, r0, lsl #0x10 ldr r1, _021724c8 ; =data_02050f54 sub r0, r2, r0, asr #16 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [r1, r0] smull r1, r0, r5, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orrs r1, r1, r0, lsl #20 ldr r0, [sp, #4] rsbmi r1, r1, #0 ldr r0, [r0] add r0, r0, #0x9a add r0, r0, #0x900 cmp r1, r0 addlt sp, sp, #0x40 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021724b8: mov r0, #0 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02172260 _021724c4: .word 0x00001266 _021724c8: .word data_02050f54 _021724cc: .word 0x00003266 .global func_ov15_021724d0 arm_func_start func_ov15_021724d0 func_ov15_021724d0: ; 0x021724d0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c mov r4, r0 ldrb r1, [r4, #0x575] cmp r1, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, pc} bl _ZN5Actor18func_ov00_020c1d58Ev cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x88] cmp r0, #0 addlt sp, sp, #0x2c ldmltia sp!, {r3, r4, pc} add r1, sp, #0x1c mov r0, r4 bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, _021725c4 ; =data_027e0f90 add r1, sp, #0x1c ldr r0, [r0] bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, pc} ldr r0, _021725c4 ; =data_027e0f90 add r1, sp, #0xc ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x10] blx r2 ldr r1, _021725c8 ; =data_027e0f94 add r2, sp, #0x18 mov r0, r4 bl func_ov15_02172260 cmp r0, #0 beq _021725b4 ldrb r0, [r4, #0x571] cmp r0, #0 addne sp, sp, #0x2c ldmneia sp!, {r3, r4, pc} ldr r0, _021725c8 ; =data_027e0f94 add r2, sp, #0 add r1, r4, #0x54 bl func_01ff9bf8 ldr r0, _021725c4 ; =data_027e0f90 add r2, sp, #0 ldr r0, [r0] mov r1, #4 ldr ip, [r0] mov r3, #1 ldr ip, [ip, #0x30] blx ip mov r0, #1 add sp, sp, #0x2c strb r0, [r4, #0x571] ldmia sp!, {r3, r4, pc} _021725b4: mov r0, #0 strb r0, [r4, #0x571] add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021724d0 _021725c4: .word data_027e0f90 _021725c8: .word data_027e0f94 .global func_ov15_021725cc arm_func_start func_ov15_021725cc func_ov15_021725cc: ; 0x021725cc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #8 mov r5, r0 ldr r0, [r5, #0x578] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r0, [r5, #0x554] cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r0, #1 strb r0, [sp] ldr r1, [r5, #0x550] add r0, r5, #0x300 strh r1, [sp, #2] ldrh r1, [sp, #2] ldrh r4, [r0, #0x48] cmp r1, #0x8000 blo _02172670 sub r1, r1, #0x8000 mov r0, #0 strh r1, [sp, #2] strb r0, [sp] ands r6, r4, #0x3f beq _021726b0 and r0, r4, #2 cmp r0, #2 andne r0, r4, #8 cmpne r0, #8 andne r0, r4, #0x20 cmpne r0, #0x20 bne _021726b0 add r1, sp, #2 add r2, sp, #0 mov r0, r5 bl func_ov15_021728ac cmp r6, #0x2a bne _021726b0 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _02172670: ands r6, r4, #0xfc0 beq _021726b0 and r0, r4, #0x80 cmp r0, #0x80 andne r0, r4, #0x200 cmpne r0, #0x200 andne r0, r4, #0x800 cmpne r0, #0x800 bne _021726b0 add r1, sp, #2 add r2, sp, #0 mov r0, r5 bl func_ov15_021728ac cmp r6, #0xa80 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _021726b0: ldrb lr, [sp] cmp lr, #0 beq _021726d8 ldrh r1, [sp, #2] ldr r0, _02172844 ; =0x00002af8 cmp r1, r0 blo _021726d8 rsb r0, r0, #0x7d00 cmp r1, r0 bls _02172708 _021726d8: cmp lr, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldrh r1, [sp, #2] ldr r0, _02172848 ; =0x000037dc cmp r1, r0 addlo sp, sp, #8 ldmloia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r0, _0217284c ; =0x00005208 cmp r1, r0 addhi sp, sp, #8 ldmhiia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _02172708: ldrb r0, [r5, #0x56f] cmp r0, #0 beq _02172728 mov r0, #0xa4 str r0, [r5, #0x54c] add r0, r5, #0x500 mov r1, #2 strh r1, [r0, #0x68] _02172728: add r0, r5, #0x500 ldrh r1, [r0, #0x62] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x62] addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r0, #3 mov r1, #0 ldr r8, _02172850 ; =data_027e0764 mov r7, r1 mov r6, r0 _02172758: ldr r10, [r8, #8] ldmia r8, {r9, ip} umull r3, r2, r10, r9 mla r2, r10, ip, r2 ldr r10, [r8, #0xc] ldr ip, [r8, #0x10] mla r2, r10, r9, r2 ldr r9, [r8, #0x14] adds r3, ip, r3 adc r9, r9, r2 umull ip, r2, r9, r6 mla r2, r9, r7, r2 mla r2, r1, r6, r2 cmp lr, #1 addeq r2, r2, #3 stmia r8, {r3, r9} mov r3, r2, lsl #0x1 and r3, r4, r0, lsl r3 cmp r3, #2 beq _02172758 str r2, [sp, #4] ldr r0, [r5, #0x578] add r1, sp, #4 bl func_ov15_02173c84 ldr r2, _02172850 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull r7, r6, r4, r3 mla r6, r4, r0, r6 ldr r0, [r2, #0xc] ldr r8, [r2, #0x10] mla r6, r0, r3, r6 ldr r4, [r2, #0x14] adds r7, r8, r7 adc r6, r4, r6 mov r0, #0x1f umull r3, r4, r6, r0 mla r4, r6, r1, r4 mla r4, r1, r0, r4 str r7, [r2] str r6, [r2, #4] add r1, r4, #0x3c add r0, r5, #0x500 strh r1, [r0, #0x62] ldrb r1, [r5, #0x56f] cmp r1, #0 beq _02172830 sub r1, r1, #1 strb r1, [r5, #0x56f] tst r1, #0xff ldrneh r1, [r0, #0x62] movne r1, r1, asr #0x1 strneh r1, [r0, #0x62] _02172830: add r0, r5, #0x500 mov r1, #0x1e strh r1, [r0, #0x66] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_021725cc _02172844: .word 0x00002af8 _02172848: .word 0x000037dc _0217284c: .word 0x00005208 _02172850: .word data_027e0764 .global func_ov15_02172854 arm_func_start func_ov15_02172854 func_ov15_02172854: ; 0x02172854 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #1 add r0, r4, #0x158 strb r1, [r4, #0x572] bl func_ov00_020c5d74 mov r0, r4 bl func_ov15_02172cc4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02172854 .global func_ov15_02172878 arm_func_start func_ov15_02172878 func_ov15_02172878: ; 0x02172878 ldrb r1, [r0, #0x572] cmp r1, #0 movne r0, #0 bxne lr ldr r1, [r0, #0x554] cmp r1, #0 movne r0, #0 bxne lr ldr r0, [r0, #0x16c] cmp r0, #1 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov15_02172878 .global func_ov15_021728ac arm_func_start func_ov15_021728ac func_ov15_021728ac: ; 0x021728ac stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x58 ldrb r3, [r2] mov r4, r0 cmp r3, #0 beq _021728e8 ldrh r2, [r1] ldr r0, _02172c98 ; =0x00002af8 cmp r2, r0 addlo sp, sp, #0x58 ldmloia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _02172c9c ; =0x00004e20 cmp r2, r0 addhi sp, sp, #0x58 ldmhiia sp!, {r4, r5, r6, r7, r8, pc} _021728e8: cmp r3, #0 bne _02172914 ldrh r1, [r1] ldr r0, _02172c98 ; =0x00002af8 cmp r1, r0 addlo sp, sp, #0x58 ldmloia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _02172c9c ; =0x00004e20 cmp r1, r0 addhi sp, sp, #0x58 ldmhiia sp!, {r4, r5, r6, r7, r8, pc} _02172914: ldrb r0, [r4, #0x56f] cmp r0, #0 beq _02172934 mov r0, #0xa4 str r0, [r4, #0x54c] add r0, r4, #0x500 mov r1, #2 strh r1, [r0, #0x68] _02172934: add r0, r4, #0x500 ldrh r1, [r0, #0x64] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x64] addne sp, sp, #0x58 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [r4, #0x554] cmp r0, #0 ldreq r0, [r4, #0x16c] cmpeq r0, #0 addne sp, sp, #0x58 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldrb r0, [r4, #0x574] ldr r2, [r4, #0x168] cmp r0, #0 movne r3, #0x2a000 ldr r1, [r2, #0x14] moveq r3, #0x20000 cmp r1, r3 addlt sp, sp, #0x58 ldmltia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [r2, #0x10] add r0, r3, r0 cmp r1, r0 addge sp, sp, #0x58 ldmgeia sp!, {r4, r5, r6, r7, r8, pc} add r0, r4, #0x48 add r3, sp, #0x4c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] ldr r2, _02172ca0 ; =data_02050f54 mov r0, #0x800 mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 mov r1, r5, lsl #0x1 ldrsh r3, [r2, r1] add r1, r5, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] mov r1, r3, asr #0x1f mov r5, r1, lsl #0xc mov r1, r2, asr #0x1f mov r1, r1, lsl #0xc orr r5, r5, r3, lsr #20 adds r6, r0, r3, lsl #12 adc r5, r5, #0 adds r3, r0, r2, lsl #12 orr r1, r1, r2, lsr #20 mov r2, r6, lsr #0xc adc r0, r1, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 ldr r3, [sp, #0x4c] orr r2, r2, r5, lsl #20 add r3, r3, r2 ldr r2, [sp, #0x54] add r0, sp, #0x20 add r1, r2, r1 str r3, [sp, #0x4c] str r1, [sp, #0x54] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x20 str r1, [sp, #0x3c] str r1, [sp, #0x40] bl func_ov00_020c3348 ldr r0, [r4, #8] mov r3, #0 str r0, [sp, #0x3c] ldr r1, [r4, #0xc] mov r0, #1 strh r0, [sp, #0x22] mov r0, #0xff strh r0, [sp, #0x24] mov r0, #3 str r1, [sp, #0x40] strh r0, [sp, #0x26] strh r3, [sp, #0x20] ldrsh r2, [r4, #0x78] ldr r0, _02172ca4 ; =data_027e0fe8 ldr r1, _02172ca8 ; =0x464c5052 strh r2, [sp, #0x34] str r3, [sp] ldr r0, [r0] add r2, sp, #0x4c add r3, sp, #0x20 bl func_ov00_020c4048 ldrb r0, [r4, #0x574] cmp r0, #0 bne _02172b0c ldr r1, _02172cac ; =data_027e0764 mov r2, #0 ldr r3, [r1] ldmib r1, {r0, r5} umull r7, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r1, #0xc] ldr r5, [r1, #0x10] mla r6, r0, r3, r6 ldr r0, [r1, #0x14] adds r7, r5, r7 adc r6, r0, r6 mov r0, #0x64000 umull r3, r5, r6, r0 str r7, [r1] mla r5, r6, r2, r5 mov r3, r2 mla r5, r3, r0, r5 str r6, [r1, #4] cmp r5, #0x23000 bge _02172b0c mov r0, #1 strb r0, [r4, #0x574] add r0, r4, #0x500 strh r2, [r0, #0x64] b _02172b54 _02172b0c: mov r1, #0 ldr r0, _02172cac ; =data_027e0764 strb r1, [r4, #0x574] ldr r2, [r0] ldmib r0, {r1, r3} umull r6, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [r0, #0xc] ldr r7, [r0, #0x10] mla r5, r1, r2, r5 ldr r3, [r0, #0x14] adds r6, r7, r6 str r6, [r0] adc r1, r3, r5 str r1, [r0, #4] add r0, r4, #0x500 mov r1, #0 strh r1, [r0, #0x64] _02172b54: ldrb r0, [r4, #0x56f] cmp r0, #0 beq _02172b80 sub r0, r0, #1 strb r0, [r4, #0x56f] tst r0, #0xff beq _02172b80 add r0, r4, #0x500 ldrh r1, [r0, #0x64] mov r1, r1, asr #0x1 strh r1, [r0, #0x64] _02172b80: mov r1, #0x1e add r0, r4, #0x500 strh r1, [r0, #0x66] ldrh r0, [r4, #0x78] add r7, r1, #0x17c ldr r1, _02172ca0 ; =data_02050f54 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov r0, r0, lsl #0x1 ldrsh r5, [r1, r0] mov r2, r2, lsl #0x1 mov r3, #0 ldrsh r0, [r1, r2] smull r2, r8, r3, r5 adds lr, r2, #0x800 ldr r6, _02172cb0 ; =0x00000666 rsb r1, r3, #0 smull r3, r2, r6, r0 adc ip, r8, #0 adds r3, r3, #0x800 smull r8, r0, r1, r0 adc r2, r2, #0 adds r1, r8, #0x800 mov lr, lr, lsr #0xc mov r3, r3, lsr #0xc smull r8, r5, r6, r5 adc r0, r0, #0 adds r6, r8, #0x800 mov r8, r1, lsr #0xc adc r5, r5, #0 mov r6, r6, lsr #0xc orr r8, r8, r0, lsl #20 orr r6, r6, r5, lsl #20 add r0, r8, r6 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp, #0x1c] orr lr, lr, ip, lsl #20 orr r3, r3, r2, lsl #20 add r1, lr, r3 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 add r3, sp, #8 str r7, [sp, #0x18] add r0, r4, #0x324 str r1, [sp, #0x14] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x14 mov r1, r3 mov r2, r3 bl func_01ff9bc4 add r0, r4, #0x78 str r0, [sp] ldr r1, _02172cb4 ; =func_ov15_0216f4a0 ldr r0, _02172cb8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, sp, #8 mov r1, #0x1f mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02172cbc ; =data_027e0ffc ldr r1, _02172cc0 ; =0x000002ea add r2, sp, #8 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021728ac _02172c98: .word 0x00002af8 _02172c9c: .word 0x00004e20 _02172ca0: .word data_02050f54 _02172ca4: .word data_027e0fe8 _02172ca8: .word 0x464c5052 _02172cac: .word data_027e0764 _02172cb0: .word 0x00000666 _02172cb4: .word func_ov15_0216f4a0 _02172cb8: .word data_027e0e58 _02172cbc: .word data_027e0ffc _02172cc0: .word 0x000002ea .global func_ov15_02172cc4 arm_func_start func_ov15_02172cc4 func_ov15_02172cc4: ; 0x02172cc4 ldrb r1, [r0, #0x56d] tst r1, #1 bxne lr add r1, r0, #0x500 mov r2, #0x3c strh r2, [r1, #0x68] ldr r1, [r0, #0x54c] sub r1, r1, #0x10 str r1, [r0, #0x54c] ldrb r1, [r0, #0x56f] cmp r1, #0 ldr r1, [r0, #0x54c] beq _02172d08 cmp r1, #0xa4 movlt r1, #0xa4 strlt r1, [r0, #0x54c] bx lr _02172d08: cmp r1, #0xcd movlt r1, #0xcd strlt r1, [r0, #0x54c] bx lr arm_func_end func_ov15_02172cc4 .global func_ov15_02172d18 arm_func_start func_ov15_02172d18 func_ov15_02172d18: ; 0x02172d18 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _02172d88 ; =data_027e0e60 str r1, [sp, #0xc] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x10] ldr r2, [r4, #0x50] add r1, sp, #0 str r2, [sp, #0x14] ldr r3, [r4, #0x48] mov r2, #0 str r3, [sp] ldr r3, [r4, #0x4c] str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] bl func_ov00_02083ee0 ldr r1, _02172d8c ; =data_027e0e58 str r0, [sp, #0x10] ldr r0, [r1] add r2, sp, #0xc add r1, r4, #0x450 bl func_ov00_0207c474 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02172d18 _02172d88: .word data_027e0e60 _02172d8c: .word data_027e0e58 .global func_ov15_02172d90 arm_func_start func_ov15_02172d90 func_ov15_02172d90: ; 0x02172d90 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x48] ldr r0, _02172eec ; =data_027e0e60 str r1, [sp, #0x10] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x14] ldr r2, [r4, #0x50] add r1, sp, #4 str r2, [sp, #0x18] ldr r3, [r4, #0x48] mov r2, #0 str r3, [sp, #4] ldr r3, [r4, #0x4c] str r3, [sp, #8] ldr r3, [r4, #0x50] str r3, [sp, #0xc] bl func_ov00_02083ee0 str r0, [sp, #0x14] ldr r1, [r4, #0x4c] sub r0, r1, r0 cmp r0, #0x1800 bge _02172ecc ldrh r0, [r4, #0x78] ldr r1, _02172ef0 ; =data_02050f54 mov r3, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov r2, r2, lsl #0x1 ldrsh r8, [r1, r2] mov r0, r0, lsl #0x1 ldr r2, _02172ef4 ; =0x0000119a ldrsh r5, [r1, r0] umull r0, r9, r8, r2 umull r7, r6, r5, r2 adds r1, r0, #0x800 mla r9, r8, r3, r9 mov r0, r8, asr #0x1f mla r6, r5, r3, r6 mla r9, r0, r2, r9 mov r8, r1, lsr #0xc adc r0, r9, #0 mov r1, r5, asr #0x1f orr r8, r8, r0, lsl #20 ldr r3, [sp, #0x10] mla r6, r1, r2, r6 adds r7, r7, #0x800 add r5, r3, r8 ldr lr, _02172ef8 ; =data_027e0e58 adc r1, r6, #0 mov r2, r7, lsr #0xc ldr r0, [sp, #0x18] orr r2, r2, r1, lsl #20 add r3, r0, r2 add ip, r4, #0x5c ldr r0, [lr] add r2, sp, #0x10 add r1, ip, #0x400 str r5, [sp, #0x10] str r3, [sp, #0x18] bl func_ov00_0207c474 ldr r0, _02172ef8 ; =data_027e0e58 add r1, r4, #0x68 ldr r0, [r0] add r2, sp, #0x10 add r1, r1, #0x400 bl func_ov00_0207c474 mov r0, #0 str r0, [sp] ldr r0, _02172efc ; =data_027e0ffc ldr r3, [r4, #8] mov r1, #0x2ec add r2, r4, #0x48 bl func_ov00_020cec60 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02172ecc: add r0, r4, #0x5c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x68 add r0, r0, #0x400 bl func_ov00_020b7e6c add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02172d90 _02172eec: .word data_027e0e60 _02172ef0: .word data_02050f54 _02172ef4: .word 0x0000119a _02172ef8: .word data_027e0e58 _02172efc: .word data_027e0ffc .global func_ov15_02172f00 arm_func_start func_ov15_02172f00 func_ov15_02172f00: ; 0x02172f00 stmdb sp!, {r0, r1, r2, r3} ldr r1, _02172f24 ; =data_ov15_0218d96c ldr r2, [sp, #4] str r1, [r0] ldr r1, [sp, #8] str r2, [r0, #4] str r1, [r0, #8] add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov15_02172f00 _02172f24: .word data_ov15_0218d96c .global func_ov15_02172f28 arm_func_start func_ov15_02172f28 func_ov15_02172f28: ; 0x02172f28 ldr r3, [r1, #4] ldr r2, _02172f5c ; =0x434e424c cmp r3, r2 ldrne r2, _02172f60 ; =0x464c5052 cmpne r3, r2 bne _02172f54 ldr r1, [r1, #0x34] ldr r0, [r0, #4] cmp r1, r0 moveq r0, #1 bxeq lr _02172f54: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_02172f28 _02172f5c: .word 0x434e424c _02172f60: .word 0x464c5052 .global func_ov15_02172f64 arm_func_start func_ov15_02172f64 func_ov15_02172f64: ; 0x02172f64 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0xb8 mov r4, r0 add r2, sp, #0x18 mvn r1, #0 add r0, sp, #0xb8 _02172f7c: str r1, [r2] str r1, [r2, #4] add r2, r2, #8 cmp r2, r0 blo _02172f7c add r3, sp, #0x18 mov r1, #0 mov r2, #0x14 str r1, [sp, #0x14] add r0, sp, #0 str r3, [sp, #0xc] add r1, r4, #8 str r2, [sp, #0x10] ldmia r1, {r1, r2} bl func_ov15_02172f00 ldr r0, _0217302c ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] add r2, sp, #0xc bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList mov r6, r0 cmp r6, #0 mov r7, #0 addle sp, sp, #0xb8 ldmleia sp!, {r3, r4, r5, r6, r7, pc} ldr r5, _0217302c ; =data_027e0fe4 ldr r4, _02173030 ; =0x434e424c _02172fe8: ldr r0, [r5] ldr r1, [sp, #0xc] bl _ZN12ActorManager8GetActorEP8ActorRef ldr r1, [r0, #4] cmp r1, r4 bne _02173008 bl func_ov15_0213543c b _0217300c _02173008: bl func_ov15_02168da4 _0217300c: ldr r0, [sp, #0xc] add r7, r7, #1 add r0, r0, #8 str r0, [sp, #0xc] cmp r7, r6 blt _02172fe8 add sp, sp, #0xb8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02172f64 _0217302c: .word data_027e0fe4 _02173030: .word 0x434e424c .global func_ov15_02173034 arm_func_start func_ov15_02173034 func_ov15_02173034: ; 0x02173034 stmdb sp!, {r3, lr} mov r2, r0 cmp r1, #0 ldrneb r0, [r2, #0xa5] ldreqb r0, [r2, #0xa4] cmp r0, #0 ldrneb r0, [r2, #0x575] cmpne r0, #0 ldmeqia sp!, {r3, pc} add r1, r2, #0x17c add r0, r2, #0x158 add r1, r1, #0x400 add r2, r2, #0x48 bl func_ov00_020c5e88 ldmia sp!, {r3, pc} arm_func_end func_ov15_02173034 .global func_ov15_02173070 arm_func_start func_ov15_02173070 func_ov15_02173070: ; 0x02173070 ldr r1, [r1, #0x14] ldr r0, _0217308c ; =0x434e424c ldr r1, [r1, #4] cmp r1, r0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_02173070 _0217308c: .word 0x434e424c .global func_ov15_02173090 arm_func_start func_ov15_02173090 func_ov15_02173090: ; 0x02173090 stmdb sp!, {r3, r4, r5, lr} mov r1, #0 mov r4, r0 str r1, [sp] add r5, sp, #0 _021730a4: ldr r0, [r4, #0x578] mov r1, r5 bl func_ov15_02173ff8 ldr r0, [sp] add r0, r0, #1 str r0, [sp] cmp r0, #6 blt _021730a4 mov r1, #0 str r1, [r4, #0x550] add r0, r4, #0x500 strh r1, [r0, #0x5a] str r1, [r4, #0x554] strh r1, [r0, #0x5c] str r1, [r4, #0x544] strh r1, [r0, #0x68] strh r1, [r0, #0x66] strh r1, [r0, #0x64] strh r1, [r0, #0x62] strb r1, [r4, #0x56d] mov r0, #1 strb r0, [r4, #0x56e] strb r1, [r4, #0x56f] strb r1, [r4, #0x571] strb r1, [r4, #0x573] mov r2, #0xf6 strb r1, [r4, #0x574] str r2, [r4, #0x54c] mov r0, r4 str r2, [r4, #0x548] bl func_ov15_0216fe00 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02173090 .global func_ov15_02173124 arm_func_start func_ov15_02173124 func_ov15_02173124: ; 0x02173124 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 add r0, r4, #0xf8 mov r1, #0x3c mov ip, #0 mov r3, r1 add r0, r0, #0x400 mov r2, #2 str ip, [sp] blx func_0202ac0c add r1, r4, #0xf8 ldr r0, _02173168 ; =data_027e071c add r1, r1, #0x400 bl func_0202d77c add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02173124 _02173168: .word data_027e071c .global func_ov15_0217316c arm_func_start func_ov15_0217316c func_ov15_0217316c: ; 0x0217316c ldr ip, _02173178 ; =func_ov15_0216fe00 mov r1, #2 bx ip .align 2, 0 arm_func_end func_ov15_0217316c _02173178: .word func_ov15_0216fe00 .global func_ov15_0217317c arm_func_start func_ov15_0217317c func_ov15_0217317c: ; 0x0217317c stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xac ldr r3, _021733a0 ; =data_027e0f64 mov r5, r1 ldr r1, [r3] mov r6, r0 ldr r0, [r1, #4] add r1, sp, #0x44 mov r4, r2 bl func_ov00_02087d34 ldr r7, _021733a4 ; =data_027e0f94 add r3, sp, #0x38 ldmia r7, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r6, #0x11c add r9, r0, #0x400 add r3, sp, #0x2c ldmia r7, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [sp, #0x2c] ldr r0, [sp, #0x68] ldr r2, [sp, #0x30] add r0, r1, r0 str r0, [sp, #0x2c] ldr r0, [sp, #0x64] ldr r1, [sp, #0x34] add r0, r2, r0 str r0, [sp, #0x30] ldr r0, [sp, #0x60] add r8, sp, #0x20 add r0, r1, r0 str r0, [sp, #0x34] ldr r0, [sp, #0x54] ldr r3, _021733a8 ; =data_027e0e60 mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 ldmia r9, {r0, r1, r2} stmia r8, {r0, r1, r2} ldr r2, [sp, #0x20] ldr r1, [sp, #0x24] str r2, [sp, #0x14] ldr r2, [sp, #0x28] str r1, [sp, #0x18] str r2, [sp, #0x1c] ldr r0, [r3] add r1, sp, #0x14 mov r2, #0 bl func_ov00_02083ee0 add r0, r0, #0x9a add r1, r0, #0x900 ldr r0, [sp, #0x24] cmp r0, r1 bge _02173264 add r0, sp, #0x24 mov r2, #0xcd bl Approach_thunk ldr r0, [sp, #0x24] str r0, [r6, #0x520] _02173264: add r1, r6, #0x11c add r0, sp, #0x2c add r1, r1, #0x400 bl func_01ff9ec0 mov r1, r7, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 ldr r2, [sp, #0x58] ldr ip, _021733ac ; =data_02050f54 mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [ip, r3] add r2, r2, #0x8000 mov r2, r2, lsl #0x10 smull r8, r3, r7, r0 adds r7, r8, #0x800 ldrsh r1, [ip, r1] mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r8, r2, lsl #0x1 add r2, r2, #1 adc lr, r3, #0 smull r9, r0, r1, r0 adds r1, r9, #0x800 mov r7, r7, lsr #0xc mov r2, r2, lsl #0x1 ldrsh r3, [ip, r8] ldrsh ip, [ip, r2] adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 smull r8, r0, r3, r1 adds r3, r8, #0x800 ldr r2, [sp, #0x30] orr r7, r7, lr, lsl #20 add r2, r2, r7 smull lr, r7, ip, r1 adc r8, r0, #0 adds ip, lr, #0x800 mov lr, r3, lsr #0xc adc r0, r7, #0 mov r3, ip, lsr #0xc ldr r7, [sp, #0x2c] orr lr, lr, r8, lsl #20 str r2, [sp, #0x24] add r2, r7, lr str r2, [r6, #0x51c] ldr r2, [sp, #0x34] orr r3, r3, r0, lsl #20 add r0, r2, r3 str r0, [r6, #0x524] cmp r4, #0 beq _02173350 ldr r2, [r6, #0x520] ldr r0, [sp, #0x30] sub r0, r2, r0 bl func_01ffa0f4 str r0, [sp, #0x54] _02173350: ldr r2, [sp, #0x38] ldr r1, [sp, #0x3c] ldr r0, [sp, #0x40] cmp r5, #0 str r2, [sp, #8] str r1, [sp, #0xc] str r0, [sp, #0x10] strne r5, [sp, #0x5c] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021733a0 ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, sp, #0x44 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0xac ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_0217317c _021733a0: .word data_027e0f64 _021733a4: .word data_027e0f94 _021733a8: .word data_027e0e60 _021733ac: .word data_02050f54 .global func_ov15_021733b0 arm_func_start func_ov15_021733b0 func_ov15_021733b0: ; 0x021733b0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xb4 mov r4, r0 add r3, r4, #0x500 ldrh r0, [r3, #0x6a] add r5, sp, #0x38 add r1, sp, #0x48 add ip, r0, #1 mov r0, #0 mov r2, #4 strh ip, [r3, #0x6a] bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r1, [r4, #0x534] ldr r0, _02173598 ; =0x00000133 add r1, r1, #0x52 str r1, [r4, #0x534] cmp r1, r0 strge r0, [r4, #0x534] ldr r2, [r4, #0x52c] ldr r1, [r4, #0x534] add r0, r4, #0x500 sub r1, r2, r1 str r1, [r4, #0x52c] ldrsh ip, [r0, #0x5e] ldrsh r3, [r0, #0x60] ldr r2, _0217359c ; =data_027e0e60 add r1, sp, #0x20 add r3, ip, r3 strh r3, [r0, #0x5e] ldr r3, [r4, #0x528] ldr r0, [r2] str r3, [sp, #0x20] ldr r3, [r4, #0x52c] mov r2, #0 str r3, [sp, #0x24] ldr r3, [r4, #0x530] str r3, [sp, #0x28] bl func_ov00_02083ee0 ldr r1, [r4, #0x52c] cmp r1, r0 blt _02173474 add r1, r4, #0x500 ldrh r2, [r1, #0x6a] cmp r2, #1 bls _021734c8 _02173474: str r0, [r4, #0x52c] add r0, r4, #0x500 ldrh r1, [r0, #0x6a] sub r1, r1, #1 rsb r1, r1, #0x1e mov r1, r1, lsl #0xc cmp r1, #0x1000 movle r1, #0 strleh r1, [r0, #0x60] ble _021734d0 ldrsh r0, [r0, #0x60] rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl Divide add r1, r4, #0x500 ldrsh r2, [r1, #0x60] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x60] b _021734d0 _021734c8: mov r0, #0 strh r0, [r1, #0x6a] _021734d0: ldr r0, [sp, #0x48] ldr lr, [r4, #0x52c] orr r2, r0, #1 ldr ip, [r4, #0x530] ldr r3, [r4, #0x528] ldr r1, _021735a0 ; =data_027e10a4 str r2, [sp, #0x48] add r0, r4, #0x500 str lr, [sp, #0x3c] str ip, [sp, #0x40] str r3, [sp, #0x38] ldrsh r3, [r0, #0x5e] ldr r0, [r1] orr r2, r2, #2 add r1, sp, #0x38 strh r3, [sp, #0x44] str r2, [sp, #0x48] bl func_ov15_0214138c ldr r0, _021735a4 ; =data_027e0f64 add r1, sp, #0x4c ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 add r1, sp, #0x2c add r2, sp, #0x4c mov r0, r4 bl func_ov15_021735a8 ldr r1, [sp, #0x2c] ldr r0, [sp, #0x30] str r1, [sp, #8] ldr r1, [sp, #0x34] str r0, [sp, #0xc] str r1, [sp, #0x10] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021735a4 ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #4] add r3, sp, #0x4c bl func_ov00_02089318 add r0, r4, #0x500 ldrh r0, [r0, #0x6a] cmp r0, #0x1f movhi r0, #1 movls r0, #0 add sp, sp, #0xb4 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021733b0 _02173598: .word 0x00000133 _0217359c: .word data_027e0e60 _021735a0: .word data_027e10a4 _021735a4: .word data_027e0f64 .global func_ov15_021735a8 arm_func_start func_ov15_021735a8 func_ov15_021735a8: ; 0x021735a8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x3c ldr r7, _02173704 ; =data_027e0f94 add r3, sp, #0x30 mov r6, r0 mov r5, r1 mov r4, r2 ldmia r7, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r7, #0 str r7, [r4, #0x1c] str r7, [r4, #0x20] str r7, [r4, #0x24] mov r1, #0x8000 ldr r0, _02173708 ; =0x00001770 str r1, [r4, #0x14] str r0, [r4, #0xc] ldr r0, _0217370c ; =data_027e0fac ldr r3, _02173710 ; =0x000008a4 ldrsh r1, [r0] mov r2, #0x214 add r0, sp, #0x24 str r7, [sp, #0x24] str r3, [sp, #0x28] str r2, [sp, #0x2c] bl func_ov00_020a61ac mov r0, r7 ldr r1, _02173714 ; =0xfffffae1 str r0, [sp, #0x18] str r0, [sp, #0x1c] str r1, [sp, #0x20] add r0, sp, #0x18 add r1, sp, #0x24 mov r2, r5 bl func_01ff9bc4 mov r0, r5 add r1, sp, #0x30 mov r2, r5 bl func_01ff9bc4 ldr r3, _02173718 ; =data_027e0e60 add r8, sp, #0xc ldmia r5, {r0, r1, r2} stmia r8, {r0, r1, r2} ldr r7, [sp, #0x30] ldr lr, [sp, #0x34] ldr ip, [sp, #0x38] ldr r0, [r3] add r1, sp, #0 mov r2, #0 str r7, [sp] str lr, [sp, #4] str ip, [sp, #8] bl func_ov00_02083ee0 add r0, r0, #0xa4 add r3, r0, #0x800 ldr r0, [r5, #4] cmp r0, r3 bge _021736a4 mov r0, #0 str r0, [r4, #0x10] mov r0, #0x1000 str r0, [r4, #0x18] b _021736e4 _021736a4: ldr r1, [sp, #0x14] mov r0, r8 add r2, r1, #0x1000 mov r1, r5 str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_01ff9ec0 str r0, [r4, #0x18] ldr r2, [sp, #0x10] ldr r0, [r5, #4] mov r1, #0x1000 sub r0, r2, r0 bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x10] _021736e4: ldr r0, [sp, #0xc] str r0, [r6, #0x51c] ldr r0, [sp, #0x10] str r0, [r6, #0x520] ldr r0, [sp, #0x14] str r0, [r6, #0x524] add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021735a8 _02173704: .word data_027e0f94 _02173708: .word 0x00001770 _0217370c: .word data_027e0fac _02173710: .word 0x000008a4 _02173714: .word 0xfffffae1 _02173718: .word data_027e0e60 .global func_ov15_0217371c arm_func_start func_ov15_0217371c func_ov15_0217371c: ; 0x0217371c stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217371c .global func_ov15_02173738 arm_func_start func_ov15_02173738 func_ov15_02173738: ; 0x02173738 stmdb sp!, {r3, lr} ldr r1, _02173764 ; =data_027e0fe0 mov r0, #0x174 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02173768 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02173738 _02173764: .word data_027e0fe0 .global func_ov15_02173768 arm_func_start func_ov15_02173768 func_ov15_02173768: ; 0x02173768 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _021737c4 ; =data_ov15_0218dad4 ldr ip, _021737c8 ; =func_ov00_020b7d74 str r0, [r4] ldr r3, _021737cc ; =func_ov15_021341a0 add r0, r4, #0x158 mov r1, #2 mov r2, #4 str ip, [sp] bl func_0204f614 mov r1, #0 str r1, [r4, #0x160] str r1, [r4, #0x164] mov r0, #0x1000 str r0, [r4, #0x168] strb r1, [r4, #0x170] mov r0, r4 strb r1, [r4, #0x171] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02173768 _021737c4: .word data_ov15_0218dad4 _021737c8: .word func_ov00_020b7d74 _021737cc: .word func_ov15_021341a0 .global func_ov15_021737d0 arm_func_start func_ov15_021737d0 func_ov15_021737d0: ; 0x021737d0 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _021737fc ; =func_ov00_020b7d74 add r0, r4, #0x158 mov r1, #2 mov r2, #4 bl func_0204f754 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021737d0 _021737fc: .word func_ov00_020b7d74 .global func_ov15_02173800 arm_func_start func_ov15_02173800 func_ov15_02173800: ; 0x02173800 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02173834 ; =func_ov00_020b7d74 add r0, r4, #0x158 mov r1, #2 mov r2, #4 bl func_0204f754 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02173800 _02173834: .word func_ov00_020b7d74 .global func_ov15_02173838 arm_func_start func_ov15_02173838 func_ov15_02173838: ; 0x02173838 stmdb sp!, {r4, lr} sub sp, sp, #0x38 ldr r2, _02173974 ; =data_027e0d0c mov r4, r0 ldr r1, [r2] mov r0, #0x35c str r1, [r4, #0x7c] ldr r1, [r2, #4] add ip, r0, #0x1000 str r1, [r4, #0x80] ldr r1, [r2, #8] mov r3, #2 str r1, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] ldr r0, _02173978 ; =data_027e0fe4 str r1, [r4, #0x8c] ldr lr, [r4, #0x80] add r1, r4, #0x34 str lr, [r4, #0x90] ldr lr, [r4, #0x84] str lr, [r4, #0x94] ldr lr, [r4, #0x88] str lr, [r4, #0x98] ldr lr, [r2] str lr, [r4, #0xa8] ldr lr, [r2, #4] str lr, [r4, #0xac] ldr r2, [r2, #8] str r2, [r4, #0xb0] str ip, [r4, #0xb4] str r3, [r4, #0x12c] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x160] ldrh r0, [r4, #0x20] cmp r0, #0 beq _0217395c add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 mvn r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r4, #0x34] add r2, sp, #4 str r0, [sp, #0x28] ldr r1, [r4, #0x38] ldr r0, _0217397c ; =data_027e0fe8 str r1, [sp, #0x2c] ldrh ip, [r4, #0x20] ldr r1, _02173980 ; =0x53424559 add r3, sp, #0xc sub ip, ip, #1 and ip, ip, #0xff strh ip, [sp, #0xc] str r2, [sp] ldr r0, [r0] add r2, r4, #0x48 bl func_ov00_020c4048 ldr r0, _02173978 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 str r0, [r4, #0x164] addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, pc} _0217395c: add r0, r4, #0x100 mov r1, #2 strh r1, [r0, #0x20] mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02173838 _02173974: .word data_027e0d0c _02173978: .word data_027e0fe4 _0217397c: .word data_027e0fe8 _02173980: .word 0x53424559 .global func_ov15_02173984 arm_func_start func_ov15_02173984 func_ov15_02173984: ; 0x02173984 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021739a4 mov r0, r5 bl func_ov15_021739ec _021739a4: 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_ov15_02173984 .global func_ov15_021739b8 arm_func_start func_ov15_021739b8 func_ov15_021739b8: ; 0x021739b8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _021739d8 mov r0, r5 bl func_ov15_021739ec _021739d8: 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_ov15_021739b8 .global func_ov15_021739ec arm_func_start func_ov15_021739ec func_ov15_021739ec: ; 0x021739ec stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldrb r1, [r4, #0x170] cmp r1, #0 bne _02173ac0 ldrb r1, [r4, #0x171] cmp r1, #0 beq _02173a50 ldr r1, [r4, #0x168] add r1, r1, #0x214 str r1, [r4, #0x168] cmp r1, #0x2000 blt _02173a3c mov r1, #0x2000 str r1, [r4, #0x168] mov r1, #0 strb r1, [r4, #0x171] mov r1, #0x1000 str r1, [r4, #0x168] bl func_ov15_02173cb4 _02173a3c: ldrh r0, [r4, #0x20] ldr r1, [r4, #0x160] ldr r2, [r4, #0x168] add r0, r1, r0, lsl #2 str r2, [r0, #0x330] _02173a50: mov r1, #0 mov r0, r4 mov r2, r1 bl _ZN5Actor18func_ov00_020c243cEiPi cmp r0, #0 beq _02173b28 ldr r0, [r4, #0x160] bl func_ov15_02172878 cmp r0, #0 beq _02173b28 mov r0, #1 strb r0, [r4, #0x170] sub r0, r0, #2 str r0, [r4, #0x88] mov r1, #0x2000 ldr r0, _02173be4 ; =data_027e0ffc str r1, [r4, #0x168] add r2, r4, #0x48 mov r1, #0x2e8 mov r3, #0 bl func_ov00_020ceacc ldr r0, [r4, #0x160] bl func_ov15_02172854 add r0, r4, #0x100 ldrsh r1, [r0, #0x20] sub r1, r1, #1 strh r1, [r0, #0x20] b _02173b28 _02173ac0: ldr r0, [r4, #0x168] cmp r0, #0x1000 ble _02173b28 sub r0, r0, #0x9a sub r0, r0, #0x100 str r0, [r4, #0x168] cmp r0, #0x1000 bgt _02173b14 mov r0, #0x1000 str r0, [r4, #0x168] ldrh r1, [r4, #0x20] ldr r0, [r4, #0x160] bl func_ov15_021721d4 add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 beq _02173b14 mov r0, #0 strb r0, [r4, #0x170] mov r0, #0x35c str r0, [r4, #0x88] _02173b14: ldrh r0, [r4, #0x20] ldr r1, [r4, #0x160] ldr r2, [r4, #0x168] add r0, r1, r0, lsl #2 str r2, [r0, #0x330] _02173b28: ldr r0, [r4, #0x158] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x16c] add r2, r4, #0x158 add r0, r0, #1 add r1, r4, #0x160 str r0, [r4, #0x16c] cmp r2, r1 beq _02173bb0 _02173b50: ldr r0, [r2] cmp r0, #0 beq _02173ba4 ldr r3, [r0, #0x20] ldr ip, [r4, #0x48] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [r4, #0x4c] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [r4, #0x50] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _02173ba4: add r2, r2, #4 cmp r2, r1 bne _02173b50 _02173bb0: ldr r0, [r4, #0x16c] cmp r0, #0xa ldmleia sp!, {r3, r4, r5, pc} add r5, r4, #0x158 add r4, r4, #0x160 cmp r5, r4 ldmeqia sp!, {r3, r4, r5, pc} _02173bcc: mov r0, r5 bl func_ov00_020b7e6c add r5, r5, #4 cmp r5, r4 bne _02173bcc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021739ec _02173be4: .word data_027e0ffc .global func_ov15_02173be8 arm_func_start func_ov15_02173be8 func_ov15_02173be8: ; 0x02173be8 ldr r1, [r1, #0x14] ldr r0, _02173c04 ; =0x434e424c ldr r1, [r1, #4] cmp r1, r0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_02173be8 _02173c04: .word 0x434e424c .global func_ov15_02173c08 arm_func_start func_ov15_02173c08 func_ov15_02173c08: ; 0x02173c08 stmdb sp!, {r3, lr} mov r1, #0 strb r1, [r0, #0x118] ldr r0, [r0, #0x164] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02173c08 ldmia sp!, {r3, pc} arm_func_end func_ov15_02173c08 .global func_ov15_02173c28 arm_func_start func_ov15_02173c28 func_ov15_02173c28: ; 0x02173c28 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 ldrh r2, [r5, #0x20] mov r4, r1 add r0, sp, #0 add r1, r4, #0x178 and r2, r2, #0xff bl func_ov15_0216f784 ldr r0, [sp] str r0, [r5, #0x48] ldr r0, [sp, #4] str r0, [r5, #0x4c] ldr r0, [sp, #8] str r0, [r5, #0x50] ldr r0, [r5, #0x164] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} mov r1, r4 bl func_ov15_02173c28 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov15_02173c28 .global func_ov15_02173c84 arm_func_start func_ov15_02173c84 func_ov15_02173c84: ; 0x02173c84 stmdb sp!, {r3, lr} ldrh r2, [r0, #0x20] ldr r3, [r1] cmp r3, r2 moveq r1, #1 streqb r1, [r0, #0x171] ldmeqia sp!, {r3, pc} ldr r0, [r0, #0x164] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02173c84 ldmia sp!, {r3, pc} arm_func_end func_ov15_02173c84 .global func_ov15_02173cb4 arm_func_start func_ov15_02173cb4 func_ov15_02173cb4: ; 0x02173cb4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x78 mov r4, r0 add r0, r4, #0x48 add r3, sp, #0x6c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 str r0, [r4, #0x16c] str r3, [sp] mov r1, #2 str r1, [sp, #4] ldr r0, _02173fcc ; =data_027e0e58 add r1, r4, #0x158 ldr r0, [r0] mov r2, #0x1d mov r3, #0x1e bl func_ov00_0207c2e8 add r0, sp, #0x40 bl func_ov00_020c1500 mvn r0, #0 str r0, [sp, #0x5c] str r0, [sp, #0x60] add r0, sp, #0x40 bl func_ov00_020c3348 ldr r0, [r4, #0x34] mov r1, #4 str r0, [sp, #0x5c] ldr r2, [r4, #0x38] sub r0, r1, #5 str r2, [sp, #0x60] strh r1, [sp, #0x40] str r0, [sp, #8] str r0, [sp, #0xc] add r1, sp, #8 str r1, [sp] ldr r0, _02173fd0 ; =data_027e0fe8 ldr r1, _02173fd4 ; =0x434e424c ldr r0, [r0] add r2, sp, #0x6c add r3, sp, #0x40 bl func_ov00_020c4048 ldr r0, _02173fd8 ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 addeq sp, sp, #0x78 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02173fdc ; =data_027e0ffc ldr r1, _02173fe0 ; =0x000002eb add r2, sp, #0x6c mov r3, #0 bl func_ov00_020ceacc ldr r0, _02173fe4 ; =data_027e0f94 add r3, sp, #0x34 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x10 bl func_ov15_0215cef8 ldr r0, _02173fe8 ; =data_027e0764 ldr lr, _02173fec ; =data_02050f54 ldr r6, [r0, #8] ldr r10, [r0] ldr r9, [r0, #4] umull ip, r11, r6, r10 mla r11, r6, r9, r11 ldr r5, [r0, #0xc] ldr r8, [r0, #0x10] mla r11, r5, r10, r11 ldr r7, [r0, #0x14] mov r0, #0 adds r10, r8, ip adc r9, r7, r11 mov r3, r0, lsl #0x10 orr r3, r3, r9, lsr #16 sub r3, r3, #0x8000 ldr r11, _02173fe8 ; =data_027e0764 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 str r10, [r11] mov r3, r3, asr #0x4 str r9, [r11, #4] mov r11, r3, lsl #0x1 mov r3, r11, lsl #0x1 add r11, r11, #1 mov r11, r11, lsl #0x1 ldrsh r3, [lr, r3] ldrsh r11, [lr, r11] umull lr, ip, r6, r10 mla ip, r6, r9, ip mla ip, r5, r10, ip adds r8, r8, lr ldr r5, _02173fe8 ; =data_027e0764 str r0, [sp, #0x20] add r0, sp, #0x34 adc r6, r7, ip str r8, [r5] str r6, [r5, #4] ldr r5, _02173ff0 ; =0x00001001 add r1, sp, #0x1c umull r5, r8, r6, r5 mov r5, #0 mla r8, r6, r5, r8 mov r6, r5 ldr r5, _02173ff0 ; =0x00001001 mov r2, r0 mla r8, r6, r5, r8 smull r7, r6, r3, r8 adds r7, r7, #0x800 smull r5, r3, r11, r8 adc r6, r6, #0 adds r5, r5, #0x800 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 adc r3, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r7, [sp, #0x1c] str r5, [sp, #0x24] bl func_01ff9bc4 add r0, sp, #0x34 add r1, sp, #0x6c add r2, sp, #0x28 bl func_01ff9bf8 ldr r7, [sp, #0x2c] mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 add r0, sp, #0x28 bl func_01ff9cec ldr r1, _02173ff4 ; =0x00010a68 mov r2, #0 umull r5, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f adds r2, r5, #0x800 mla r3, r0, r1, r3 adc r0, r3, #0 mov r5, r2, lsr #0xc orr r5, r5, r0, lsl #20 mov r0, r7 mov r1, r5 bl Divide mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _02173fec ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r9, [r2, r0] ldrsh r1, [r2, r1] mov r3, #0xf6 mov r2, #0 umull r0, r6, r1, r3 adds r0, r0, #0x800 mov r7, r0, lsr #0xc mla r6, r1, r2, r6 mov r0, r1, asr #0x1f mla r6, r0, r3, r6 adc r0, r6, #0 orr r7, r7, r0, lsl #20 add r6, r7, #0 ldr r7, [sp, #0x38] ldr r0, [sp, #0x70] mov r8, r9, asr #0x1f sub r0, r7, r0 umull r10, r7, r9, r3 mla r7, r9, r2, r7 mla r7, r8, r3, r7 adds r3, r10, #0x800 adc r2, r7, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 mov r1, r5 add r7, r3, #0 bl Divide mov r1, r5, asr #0x1f mov r2, r1, lsl #0x2 mov r1, #0x800 orr r2, r2, r5, lsr #30 adds r3, r1, r5, lsl #2 adc r1, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 add r1, r2, r2, lsr #31 str r6, [r4, #0x60] add r0, r0, r1, asr #1 str r0, [r4, #0x64] str r7, [r4, #0x68] add sp, sp, #0x78 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02173cb4 _02173fcc: .word data_027e0e58 _02173fd0: .word data_027e0fe8 _02173fd4: .word 0x434e424c _02173fd8: .word data_027e0fe4 _02173fdc: .word data_027e0ffc _02173fe0: .word 0x000002eb _02173fe4: .word data_027e0f94 _02173fe8: .word data_027e0764 _02173fec: .word data_02050f54 _02173ff0: .word 0x00001001 _02173ff4: .word 0x00010a68 .global func_ov15_02173ff8 arm_func_start func_ov15_02173ff8 func_ov15_02173ff8: ; 0x02173ff8 stmdb sp!, {r3, lr} ldrh r2, [r0, #0x20] ldr r3, [r1] cmp r3, r2 bne _0217404c add r2, r0, #0x100 mov r3, #2 strh r3, [r2, #0x20] ldrb r2, [r0, #0x170] cmp r2, #0 ldmeqia sp!, {r3, pc} mov r2, #0 strb r2, [r0, #0x170] mov r2, #0x35c str r2, [r0, #0x88] mov r2, #0x1000 str r2, [r0, #0x168] ldr r0, [r0, #0x160] ldr r1, [r1] bl func_ov15_02172238 ldmia sp!, {r3, pc} _0217404c: ldr r0, [r0, #0x164] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02173ff8 ldmia sp!, {r3, pc} arm_func_end func_ov15_02173ff8 .global func_ov15_02174060 arm_func_start func_ov15_02174060 func_ov15_02174060: ; 0x02174060 stmdb sp!, {r3, lr} ldr r1, _0217408c ; =data_027e0fe0 mov r0, #0x174 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02174090 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02174060 _0217408c: .word data_027e0fe0 .global func_ov15_02174090 arm_func_start func_ov15_02174090 func_ov15_02174090: ; 0x02174090 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _021740cc ; =data_ov15_0218db90 mov r1, #0 str r0, [r4] str r1, [r4, #0x158] str r1, [r4, #0x15c] str r1, [r4, #0x160] str r1, [r4, #0x164] str r1, [r4, #0x168] str r1, [r4, #0x16c] mov r0, r4 str r1, [r4, #0x170] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02174090 _021740cc: .word data_ov15_0218db90 .global func_ov15_021740d0 arm_func_start func_ov15_021740d0 func_ov15_021740d0: ; 0x021740d0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021740d0 .global func_ov15_021740e4 arm_func_start func_ov15_021740e4 func_ov15_021740e4: ; 0x021740e4 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_ov15_021740e4 .global func_ov15_02174100 arm_func_start func_ov15_02174100 func_ov15_02174100: ; 0x02174100 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, _02174174 ; =data_027e0e60 ldrsh r5, [r4, #0x78] ldr r0, [r0] bl func_ov00_02082504 sub r0, r5, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bbbc cmp r0, #0 beq _02174144 cmp r0, #1 bne _02174144 mov r0, #1 str r0, [r4, #0x15c] b _0217414c _02174144: mov r0, #0 str r0, [r4, #0x15c] _0217414c: ldrh r1, [r4, #0x20] mov r0, r4 str r1, [r4, #0x158] bl func_ov15_021741d4 mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov15_02174188 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02174100 _02174174: .word data_027e0e60 .global func_ov15_02174178 arm_func_start func_ov15_02174178 func_ov15_02174178: ; 0x02174178 stmdb sp!, {r3, lr} bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov15_02174178 .global func_ov15_02174188 arm_func_start func_ov15_02174188 func_ov15_02174188: ; 0x02174188 stmdb sp!, {r3, lr} str r1, [r0, #0x130] cmp r1, #0 beq _021741a4 cmp r1, #1 beq _021741b8 b _021741c8 _021741a4: ldr r2, _021741d0 ; =data_027e0e60 add r1, r0, #0x160 ldr r0, [r2] bl func_ov00_02082494 b _021741c8 _021741b8: ldr r2, _021741d0 ; =data_027e0e60 add r1, r0, #0x160 ldr r0, [r2] bl func_ov00_020824cc _021741c8: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02174188 _021741d0: .word data_027e0e60 .global func_ov15_021741d4 arm_func_start func_ov15_021741d4 func_ov15_021741d4: ; 0x021741d4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldr r0, [r4, #0x4c] add r0, r0, #0x400 str r0, [r4, #0x16c] ldrh r0, [r4, #0x22] ldr r1, [r4, #0x4c] add r0, r0, #1 mov r0, r0, lsl #0xc sub r0, r1, r0, asr #1 add r0, r0, #0x400 str r0, [r4, #0x170] ldr r0, [r4, #0x15c] cmp r0, #0 beq _02174238 cmp r0, #1 bne _02174238 mov r1, #0x1000 mov r0, #0 rsb r1, r1, #0 str r1, [sp] str r0, [sp, #4] str r0, [sp, #8] b _0217424c _02174238: mov r0, #0 mov r1, #0x1000 str r1, [sp] str r0, [sp, #4] str r0, [sp, #8] _0217424c: ldr r0, [r4, #0x158] cmp r0, #1 add r0, sp, #0 bne _02174268 mov r1, #6 bl func_01fffbec b _02174270 _02174268: mov r1, #4 bl func_01fffbec _02174270: ldr r0, _021742a8 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082504 mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac ldr r0, [sp] str r0, [r4, #0x160] ldr r0, [sp, #4] str r0, [r4, #0x164] ldr r0, [sp, #8] str r0, [r4, #0x168] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021741d4 _021742a8: .word data_027e0e60 .global func_ov15_021742ac arm_func_start func_ov15_021742ac func_ov15_021742ac: ; 0x021742ac stmdb sp!, {r3, lr} ldr r1, _021742d8 ; =data_027e0fe0 mov r0, #0x15c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_021742dc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021742ac _021742d8: .word data_027e0fe0 .global func_ov15_021742dc arm_func_start func_ov15_021742dc func_ov15_021742dc: ; 0x021742dc stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r0, _02174300 ; =data_ov15_0218dcb8 mov r1, #0 str r0, [r4] mov r0, r4 strb r1, [r4, #0x158] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021742dc _02174300: .word data_ov15_0218dcb8 .global func_ov15_02174304 arm_func_start func_ov15_02174304 func_ov15_02174304: ; 0x02174304 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x158] cmp r0, #0 ldrne r0, _02174330 ; =data_ov15_0218fb50 movne r1, #0 strne r1, [r0, #0x738] mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02174304 _02174330: .word data_ov15_0218fb50 .global func_ov15_02174334 arm_func_start func_ov15_02174334 func_ov15_02174334: ; 0x02174334 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x158] cmp r0, #0 ldrne r0, _02174368 ; =data_ov15_0218fb50 movne r1, #0 strne r1, [r0, #0x738] mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02174334 _02174368: .word data_ov15_0218fb50 .global func_ov15_0217436c arm_func_start func_ov15_0217436c func_ov15_0217436c: ; 0x0217436c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrb r1, [r4, #0x2a] cmp r1, #0 beq _0217439c mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {r3, r4, pc} _0217439c: ldrh r1, [r4, #0x20] ldr r0, _02174420 ; =data_ov15_0218fb50 ldr r2, _02174424 ; =data_ov15_0218fb88 str r1, [sp] ldr r1, [r0, #0x738] mov r0, #0x38 mla r0, r1, r0, r2 add r1, r4, #0x48 ldmia r1, {r1, r2, r3} bl func_ov15_021745e4 ldr r0, _02174420 ; =data_ov15_0218fb50 ldr r2, _02174424 ; =data_ov15_0218fb88 ldr r1, [r0, #0x738] mov r0, #0x38 mla r0, r1, r0, r2 ldrb r1, [r4, #0x28] ldrb r2, [r4, #0x2a] bl func_ov15_02174698 ldr r0, _02174420 ; =data_ov15_0218fb50 ldr r1, [r0, #0x738] add r1, r1, #1 cmp r1, #1 str r1, [r0, #0x738] addgt sp, sp, #4 movgt r0, #0 ldmgtia sp!, {r3, r4, pc} mov r1, #1 mov r0, r4 strb r1, [r4, #0x158] bl _ZN5Actor8vfunc_08Ev mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217436c _02174420: .word data_ov15_0218fb50 _02174424: .word data_ov15_0218fb88 .global func_ov15_02174428 arm_func_start func_ov15_02174428 func_ov15_02174428: ; 0x02174428 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, _021744d4 ; =data_027e10a4 ldr r5, _021744d8 ; =data_ov15_0218fb50 ldr r4, [r0] ldr r3, [r5, #0x738] ldr r2, [r4, #0x30c] ldr r8, [r4, #0x300] smull r1, r0, r2, r2 adds r1, r1, #0x800 adc ip, r0, #0 ldr r7, [r4, #0x304] ldr lr, [r4, #0x308] mov r4, r1, lsr #0xc str r7, [sp, #0x10] add r0, sp, #0xc add r6, sp, #0 str r8, [sp, #0xc] str lr, [sp, #0x14] str r2, [sp, #0x18] cmp r3, #0 ldmia r0, {r0, r1, r2} orr r4, r4, ip, lsl #20 mov r7, #0 addle sp, sp, #0x1c stmia r6, {r0, r1, r2} ldmleia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r8, _021744dc ; =data_ov15_0218fb88 _021744a8: mov r0, r8 mov r1, r6 mov r2, r4 bl func_ov15_021746a4 ldr r0, [r5, #0x738] add r7, r7, #1 cmp r7, r0 add r8, r8, #0x38 blt _021744a8 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02174428 _021744d4: .word data_027e10a4 _021744d8: .word data_ov15_0218fb50 _021744dc: .word data_ov15_0218fb88 .global func_ov15_021744e0 arm_func_start func_ov15_021744e0 func_ov15_021744e0: ; 0x021744e0 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_021744e0 .global func_ov15_021744f4 arm_func_start func_ov15_021744f4 func_ov15_021744f4: ; 0x021744f4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r4, _02174544 ; =data_ov15_0218fb50 mov r5, #0 ldr r0, [r4, #0x738] cmp r0, #0 ldmleia sp!, {r3, r4, r5, r6, r7, pc} ldr r6, _02174548 ; =data_ov15_0218fb88 _02174520: mov r0, r6 mov r1, r7 bl func_ov15_021748dc ldr r0, [r4, #0x738] add r5, r5, #1 cmp r5, r0 add r6, r6, #0x38 blt _02174520 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021744f4 _02174544: .word data_ov15_0218fb50 _02174548: .word data_ov15_0218fb88 .global func_ov15_0217454c arm_func_start func_ov15_0217454c func_ov15_0217454c: ; 0x0217454c ldr r1, _02174578 ; =data_ov15_0218dd74 mov r2, #0 stmia r0, {r1, r2} sub r1, r2, #1 str r1, [r0, #8] str r2, [r0, #0xc] str r2, [r0, #0x10] str r1, [r0, #0x14] str r2, [r0, #0x18] strb r2, [r0, #0x37] bx lr .align 2, 0 arm_func_end func_ov15_0217454c _02174578: .word data_ov15_0218dd74 .global func_ov15_0217457c arm_func_start func_ov15_0217457c func_ov15_0217457c: ; 0x0217457c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x10 bl func_ov00_020b7e6c add r0, r4, #0x10 bl func_ov00_020b7df0 add r0, r4, #4 bl func_ov00_020b7e6c add r0, r4, #4 bl func_ov00_020b7df0 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217457c .global func_ov15_021745ac arm_func_start func_ov15_021745ac func_ov15_021745ac: ; 0x021745ac stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x10 bl func_ov00_020b7e6c add r0, r4, #0x10 bl func_ov00_020b7df0 add r0, r4, #4 bl func_ov00_020b7e6c add r0, r4, #4 bl func_ov00_020b7df0 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021745ac .global func_ov15_021745e4 arm_func_start func_ov15_021745e4 func_ov15_021745e4: ; 0x021745e4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} ldr r1, _0217468c ; =0x0000100a mov r4, r0 str r1, [r4, #8] mov r2, #2 add r0, r1, #1 str r2, [r4, #0xc] str r0, [r4, #0x14] str r2, [r4, #0x18] ldr r1, [sp, #0xc] ldr r0, [sp, #0x18] str r1, [r4, #0x1c] ldr r2, [sp, #0x10] ldr r1, [sp, #0x14] str r2, [r4, #0x20] str r1, [r4, #0x24] str r0, [r4, #0x2c] cmp r0, #3 blt _0217465c ldr r1, [r4, #4] cmp r1, #0 movne r0, #0x140 strne r0, [r1, #0x70] ldr r1, [r4, #0x10] cmp r1, #0 movne r0, #0x140 strne r0, [r1, #0x70] ldr r0, _02174690 ; =0x000001f5 b _02174660 _0217465c: mov r0, #0x100 _02174660: str r0, [r4, #0x28] ldr r0, _02174694 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082424 mov r0, #0 str r0, [r4, #0x30] mov r0, #1 strb r0, [r4, #0x37] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov15_021745e4 _0217468c: .word 0x0000100a _02174690: .word 0x000001f5 _02174694: .word data_027e0e60 .global func_ov15_02174698 arm_func_start func_ov15_02174698 func_ov15_02174698: ; 0x02174698 strb r1, [r0, #0x34] strb r2, [r0, #0x35] bx lr arm_func_end func_ov15_02174698 .global func_ov15_021746a4 arm_func_start func_ov15_021746a4 func_ov15_021746a4: ; 0x021746a4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 ldrb r0, [r6, #0x37] mov r5, r1 mov r4, r2 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _0217478c ; =data_027e10a4 ldr r1, [r6, #0x20] ldr r0, [r0] ldr r0, [r0, #0x2ec] subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, #0x1800 ble _02174708 mov r1, #0 add r0, r6, #4 strb r1, [r6, #0x36] bl func_ov00_020b7e6c add r0, r6, #0x10 bl func_ov00_020b7e6c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _02174708: mov r1, #1 strb r1, [r6, #0x36] ldr r0, _02174790 ; =data_027e0e58 add r1, r6, #4 ldr r0, [r0] add r2, r6, #0x1c bl func_ov00_0207c474 ldr r0, _02174790 ; =data_027e0e58 add r1, r6, #0x10 ldr r0, [r0] add r2, r6, #0x1c bl func_ov00_0207c474 ldr r0, [r6, #0x1c] add r1, sp, #0 str r0, [sp] ldr r2, [r6, #0x20] mov r0, r5 str r2, [sp, #4] ldr r2, [r6, #0x24] str r2, [sp, #8] bl func_01fffb80 ldr r1, [r6, #0x28] add r1, r1, r4 cmp r0, r1 movlt r0, #1 movge r0, #0 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r6 bl func_ov15_02174794 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_021746a4 _0217478c: .word data_027e10a4 _02174790: .word data_027e0e58 .global func_ov15_02174794 arm_func_start func_ov15_02174794 func_ov15_02174794: ; 0x02174794 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 ldr r1, _02174874 ; =gItemManager mov r4, r0 ldr r5, [r1] ldr r0, [r4, #0x2c] bl func_ov00_020c5a24 mov r1, r0 mov r0, r5 mov r2, #0 bl _ZN11ItemManager10GiveRupeesEjj ldr r1, [r4, #0x2c] ldr r0, _02174878 ; =data_ov00_020eec9c add r1, r1, #0xfa mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl func_ov00_020d7ad4 mov r0, #0 strb r0, [r4, #0x37] strb r0, [r4, #0x36] ldr r0, [r4, #4] cmp r0, #0 beq _02174800 ldr r0, _0217487c ; =data_027e0e58 add r1, r4, #4 ldr r0, [r0] bl func_ov00_0207c444 _02174800: ldr r0, [r4, #0x10] cmp r0, #0 beq _0217481c ldr r0, _0217487c ; =data_027e0e58 add r1, r4, #0x10 ldr r0, [r0] bl func_ov00_0207c444 _0217481c: mov r1, #0 str r1, [sp] ldr r0, _0217487c ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] ldr r1, _02174880 ; =0x00001009 add r2, r4, #0x1c mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02174884 ; =data_027e0ffc add r2, r4, #0x1c mov r1, #0x3c8 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02174888 ; =data_027e0e60 ldrb r1, [r4, #0x35] ldrb r2, [r4, #0x34] ldr r0, [r0] mov r3, #1 bl func_ov00_02084b38 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02174794 _02174874: .word gItemManager _02174878: .word data_ov00_020eec9c _0217487c: .word data_027e0e58 _02174880: .word 0x00001009 _02174884: .word data_027e0ffc _02174888: .word data_027e0e60 .global func_ov15_0217488c arm_func_start func_ov15_0217488c func_ov15_0217488c: ; 0x0217488c mov r0, #3 str r0, [r2, #4] mov r0, #2 str r0, [r2, #8] str r0, [r2, #0xc] cmp r1, #3 blt _021748c0 ldr r0, _021748d8 ; =data_ov15_0218dc64 ldr r1, [r0, #0x44] str r1, [r2, #0x14] ldr r0, [r0, #0x48] str r0, [r2, #0x18] bx lr _021748c0: ldr r0, _021748d8 ; =data_ov15_0218dc64 ldr r1, [r0, #0x3c] str r1, [r2, #0x14] ldr r0, [r0, #0x40] str r0, [r2, #0x18] bx lr .align 2, 0 arm_func_end func_ov15_0217488c _021748d8: .word data_ov15_0218dc64 .global func_ov15_021748dc arm_func_start func_ov15_021748dc func_ov15_021748dc: ; 0x021748dc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r5, r0 ldrb r0, [r5, #0x36] mov r4, r1 cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #0x24 bl func_ov00_0207a13c ldr r1, [r5, #0x2c] add r2, sp, #0x24 mov r0, r5 bl func_ov15_0217488c ldr r2, [r5, #0x20] ldr r1, [sp, #0x3c] ldr r3, [r5, #0x24] ldr r0, [r5, #0x1c] sub r1, r2, r1, asr #1 str r0, [sp, #0x18] str r1, [sp, #0x1c] str r3, [sp, #0x20] mov r0, #0 str r0, [sp] ldr r2, [r5, #0x2c] ldr r0, _021749a0 ; =data_ov15_02186cc0 add r1, sp, #0x18 ldr r2, [r0, r2, lsl #2] add r3, sp, #0x24 mov r0, r4 bl func_0202bc38 ldr r0, [r5, #0x30] cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} mov r3, #0x400 str r3, [sp] mov r1, #0 str r1, [sp, #4] str r0, [sp, #8] mov r4, #1 str r4, [sp, #0xc] str r4, [sp, #0x10] ldr r0, _021749a4 ; =data_ov00_020e9370 add r2, r5, #0x1c str r4, [sp, #0x14] bl func_ov05_02102c2c add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021748dc _021749a0: .word data_ov15_02186cc0 _021749a4: .word data_ov00_020e9370 .global func_ov15_021749a8 arm_func_start func_ov15_021749a8 func_ov15_021749a8: ; 0x021749a8 ldr ip, _021749c0 ; =func_0204f754 ldr r0, _021749c4 ; =data_ov15_0218fb88 ldr r3, _021749c8 ; =func_ov15_0217457c mov r1, #0x20 mov r2, #0x38 bx ip .align 2, 0 arm_func_end func_ov15_021749a8 _021749c0: .word func_0204f754 _021749c4: .word data_ov15_0218fb88 _021749c8: .word func_ov15_0217457c .global func_ov15_021749cc arm_func_start func_ov15_021749cc func_ov15_021749cc: ; 0x021749cc 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 r1, _02174a24 ; =data_ov15_0218dd84 mvn r0, #0 str r1, [r5] str r0, [r5, #0x40] str r4, [r5, #0x44] ldr r2, _02174a28 ; =func_ov15_02174a7c ldr r0, _02174a2c ; =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_ov15_021749cc _02174a24: .word data_ov15_0218dd84 _02174a28: .word func_ov15_02174a7c _02174a2c: .word data_027e077c .global func_ov15_02174a30 arm_func_start func_ov15_02174a30 func_ov15_02174a30: ; 0x02174a30 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02174a70 ; =data_ov15_0218dd84 mov r4, r0 str r1, [r4] ldr r2, _02174a74 ; =func_ov15_02174a7c ldr r0, _02174a78 ; =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_ov15_02174a30 _02174a70: .word data_ov15_0218dd84 _02174a74: .word func_ov15_02174a7c _02174a78: .word data_027e077c .global func_ov15_02174a7c arm_func_start func_ov15_02174a7c func_ov15_02174a7c: ; 0x02174a7c stmdb sp!, {r3, lr} cmp r1, #0x23 beq _02174a94 cmp r1, #0x26 beq _02174aa0 ldmia sp!, {r3, pc} _02174a94: mov r0, r2 bl func_ov09_0211366c ldmia sp!, {r3, pc} _02174aa0: mov r0, r2 bl func_ov09_02113698 ldmia sp!, {r3, pc} arm_func_end func_ov15_02174a7c .global func_ov15_02174aac arm_func_start func_ov15_02174aac func_ov15_02174aac: ; 0x02174aac stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02174aec ; =data_027e077c mov r1, #0x24 bl func_0202e740 ldr r1, _02174af0 ; =0x04000304 ldrh r0, [r1] orr r0, r0, #0x8000 strh r0, [r1] ldr r0, [r4, #0x44] ldr r1, [r4, #0x40] bl func_ov15_0216f468 ldr r0, _02174af4 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02153790 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02174aac _02174aec: .word data_027e077c _02174af0: .word 0x04000304 _02174af4: .word data_027e10a4 .global func_ov15_02174af8 arm_func_start func_ov15_02174af8 func_ov15_02174af8: ; 0x02174af8 ldr ip, _02174b08 ; =func_0202e740 ldr r0, _02174b0c ; =data_027e077c mov r1, #0x25 bx ip .align 2, 0 arm_func_end func_ov15_02174af8 _02174b08: .word func_0202e740 _02174b0c: .word data_027e077c .global func_ov15_02174b10 arm_func_start func_ov15_02174b10 func_ov15_02174b10: ; 0x02174b10 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02174b40 ; =data_027e077c mov r1, #0x27 bl func_0202e740 ldr r1, _02174b44 ; =0x04000304 ldrh r0, [r1] bic r0, r0, #0x8000 strh r0, [r1] ldr r0, [r4, #0x44] bl func_ov15_0216f46c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02174b10 _02174b40: .word data_027e077c _02174b44: .word 0x04000304 .global func_ov15_02174b48 arm_func_start func_ov15_02174b48 func_ov15_02174b48: ; 0x02174b48 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02174b7c ; =data_027e077c mov r1, #1 bl func_0202e740 add r0, r4, #4 blx func_ov00_0207a730 mov r0, #0 str r0, [r4, #0x38] sub r0, r0, #1 str r0, [r4, #0x3c] str r0, [r4, #0x40] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02174b48 _02174b7c: .word data_027e077c .global func_ov15_02174b80 arm_func_start func_ov15_02174b80 func_ov15_02174b80: ; 0x02174b80 ldr ip, _02174b94 ; =func_0202e740 str r1, [r0, #0x40] ldr r0, _02174b98 ; =data_027e077c mov r1, #0x23 bx ip .align 2, 0 arm_func_end func_ov15_02174b80 _02174b94: .word func_0202e740 _02174b98: .word data_027e077c .global func_ov15_02174b9c arm_func_start func_ov15_02174b9c func_ov15_02174b9c: ; 0x02174b9c stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 mov r2, #0 add r0, r4, #0xf4 str r2, [sp] mov r3, r2 add r0, r0, #0x400 mov r1, #2 str r2, [sp, #4] bl func_020350b4 mov r1, #0 add r0, r4, #0xf4 mov r2, r1 mov r3, r1 add r0, r0, #0x400 str r1, [sp] bl func_020351b8 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov15_02174b9c .global func_ov15_02174bec arm_func_start func_ov15_02174bec func_ov15_02174bec: ; 0x02174bec stmdb sp!, {r4, r5, r6, lr} ldr r2, _02174c6c ; =data_027e0d38 mov r6, r0 ldr r0, [r2] mov r5, r1 add r0, r0, #0xc bl func_ov00_020a5e9c mov r4, r0 mov r0, r6 mov r1, r5 bl func_ov15_02174f68 ldr r0, [r6, #0x2c] cmp r0, #6 bne _02174c3c cmp r4, #2 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 bl func_ov15_0217690c ldmia sp!, {r4, r5, r6, pc} _02174c3c: cmp r0, #5 bne _02174c5c cmp r4, #3 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 bl func_ov15_02176ed8 ldmia sp!, {r4, r5, r6, pc} _02174c5c: mov r0, r6 mov r1, r5 bl func_ov15_02174edc ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02174bec _02174c6c: .word data_027e0d38 .global func_ov15_02174c70 arm_func_start func_ov15_02174c70 func_ov15_02174c70: ; 0x02174c70 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r6, r0 mov r7, r1 bl func_ov15_0213ce4c ldr r4, [r0, #0x28] bl func_ov15_0213ce4c ldr r1, _02174df4 ; =data_027e0c38 ldr r5, [r0, #0x2c] ldr r0, [r1, #0x10] cmp r0, #1 ldrh r0, [r7] rsbeq r4, r4, #0 tst r0, #1 bne _02174cb8 tst r0, #2 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02174cb8: ldr r0, _02174df8 ; =data_027e0c54 bl func_020360a8 mov r1, r0 mov r0, r7 bl func_02031d58 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02174df4 ; =data_027e0c38 mov ip, #0 ldr r0, [r0, #0x10] mov r3, r4 cmp r0, #1 moveq r2, #9 add r0, r6, #0xf4 str ip, [sp] movne r2, #2 add r0, r0, #0x400 mov r1, #0x10 str ip, [sp, #4] bl func_02034b0c ldr r0, _02174df4 ; =data_027e0c38 mov r3, #0 ldr r0, [r0, #0x10] mov r2, r4 cmp r0, #1 moveq r1, #0xa movne r1, #3 str r3, [sp] mov r0, #0x10 bl func_0203493c ldr r0, [r6, #0x2c] cmp r0, #0 bne _02174d50 bl func_ov15_0213ce4c ldrsh r0, [r0, #0xe] cmp r0, #0 bge _02174d60 _02174d50: ldr r0, [r6, #0x2c] cmp r0, #1 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _02174d60: bl func_ov15_0213ce4c bl func_ov15_0213d1dc cmp r0, #0 mov r3, #0 beq _02174d9c ldr r0, _02174df4 ; =data_027e0c38 mov r2, r4 ldr r0, [r0, #0x10] cmp r0, #1 moveq r1, #0xb movne r1, #4 mov r0, #0x10 str r3, [sp] bl func_0203493c b _02174dc0 _02174d9c: ldr r0, _02174df4 ; =data_027e0c38 mov r2, r4 ldr r0, [r0, #0x10] cmp r0, #1 moveq r1, #0xc movne r1, #5 mov r0, #0x10 str r3, [sp] bl func_0203493c _02174dc0: ldr r0, _02174df4 ; =data_027e0c38 mov r6, #0 ldr r0, [r0, #0x10] mov r2, r4 cmp r0, #1 moveq r1, #0xd movne r1, #6 mov r3, r5 mov r0, #0x10 str r6, [sp] bl func_0203493c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02174c70 _02174df4: .word data_027e0c38 _02174df8: .word data_027e0c54 .global func_ov15_02174dfc arm_func_start func_ov15_02174dfc func_ov15_02174dfc: ; 0x02174dfc stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r7, r0 mov r6, r1 bl func_ov15_0213ce4c ldr r5, [r0, #0x30] bl func_ov15_0213ce4c ldr r1, _02174ed0 ; =data_027e0c38 ldr r4, [r0, #0x34] ldr r0, [r1, #0x10] cmp r0, #1 mov r0, r7 rsbeq r5, r5, #0 bl func_ov15_021374e8 cmp r0, #0 beq _02174e4c bl func_ov15_0213ce4c bl func_ov15_0213dcb0 cmp r0, #0 addne r4, r4, #2 _02174e4c: ldrh r0, [r6] tst r0, #1 bne _02174e64 tst r0, #2 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02174e64: ldr r0, _02174ed4 ; =data_027e0c54 bl func_020360a8 mov r1, r0 mov r0, r6 bl func_02031d58 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 bl func_ov15_021374e8 cmp r0, #0 moveq r1, #0x10 beq _02174eac bl func_ov15_0213ce4c bl func_ov15_0213dcb0 cmp r0, #0 movne r1, #0xf moveq r1, #1 _02174eac: mov r3, r5 str r4, [sp] mov ip, #0 mov r0, #0x10 mov r2, #1 str ip, [sp, #4] bl func_020349cc add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02174dfc _02174ed0: .word data_027e0c38 _02174ed4: .word data_027e0c54 .global func_ov15_02174ed8 arm_func_start func_ov15_02174ed8 func_ov15_02174ed8: ; 0x02174ed8 bx lr arm_func_end func_ov15_02174ed8 .global func_ov15_02174edc arm_func_start func_ov15_02174edc func_ov15_02174edc: ; 0x02174edc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r0, _02174f58 ; =data_027e0cbc mov r1, #2 bl func_0203d7e0 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02174f5c ; =data_027e0618 ldrb r0, [r0, #0x101] cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _02174f60 ; =data_027e0e2c mvn r0, #0 ldr r1, [r1, #4] cmp r1, r0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02174f64 ; =data_ov09_0211f5dc bl func_ov09_021136e8 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov15_02174c70 mov r0, r5 mov r1, r4 bl func_ov15_02174dfc mov r0, r5 mov r1, r4 bl func_ov15_02174ed8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02174edc _02174f58: .word data_027e0cbc _02174f5c: .word data_027e0618 _02174f60: .word data_027e0e2c _02174f64: .word data_ov09_0211f5dc .global func_ov15_02174f68 arm_func_start func_ov15_02174f68 func_ov15_02174f68: ; 0x02174f68 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 ldr r2, _02175270 ; =data_027e0d38 mov r4, r0 ldr r0, [r2] mov r5, r1 add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, pc} sub r0, r0, #2 cmp r0, #1 addls sp, sp, #0x48 ldmlsia sp!, {r4, r5, r6, pc} ldrh r0, [r5] tst r0, #4 bne _02174fbc tst r0, #8 addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, pc} _02174fbc: add r1, sp, #0x14 str r1, [sp] add r0, sp, #0x10 str r0, [sp, #4] mov r0, #1 mov r2, #0 str r0, [sp, #8] ldr r0, _02175274 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] ldr r1, _02175278 ; =data_027e0f94 mov r3, r2 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, pc} add r0, sp, #0x28 bl func_01ffbe34 ldr r0, _0217527c ; =data_027e0fac mov ip, #2 ldrsh r0, [r0] mov r3, #1 ldr r1, _02175280 ; =data_02050f54 sub r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 mov r0, r0, lsl #0x1 mov r5, r2, lsl #0x1 ldrsh r2, [r1, r0] ldrsh r1, [r1, r5] add r0, sp, #0x18 rsb r2, r2, #0 str ip, [sp, #0x2c] strb r3, [sp, #0x33] blx func_01ff8018 ldr r0, _02175284 ; =data_027e1054 add r1, sp, #0x18 ldr r0, [r0] str r1, [sp, #0x28] ldr r0, [r0, #4] ldrb r0, [r0, #0x95] cmp r0, #0 beq _02175094 add r1, sp, #0x28 str r1, [sp] ldr r0, _02175288 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x6c bl func_020313c8 b _021750e4 _02175094: ldr r0, _02175270 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 add r1, sp, #0x28 bne _021750cc str r1, [sp] ldr r0, _02175288 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x68 bl func_020313c8 b _021750e4 _021750cc: str r1, [sp] ldr r0, _02175288 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x42 bl func_020313c8 _021750e4: ldr r0, _0217528c ; =data_027e077c ldr r0, [r0] cmp r0, #1 addne sp, sp, #0x48 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _02175290 ; =data_027e0c68 ldr r0, [r0, #0x38] cmp r0, #0 beq _0217511c add r0, r0, #0x100 ldrsh r0, [r0, #0x5c] cmp r0, #0 addgt sp, sp, #0x48 ldmgtia sp!, {r4, r5, r6, pc} _0217511c: ldr r0, [r4, #0x2c] cmp r0, #5 cmpne r0, #6 addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02175294 ; =data_ov09_0211f5dc bl func_ov09_021136e8 cmp r0, #0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02175298 ; =data_027e0f64 ldr r3, _02175280 ; =data_02050f54 ldr r1, [r0] add r0, sp, #0x18 ldr r1, [r1, #4] add r1, r1, #0x200 ldrsh r1, [r1, #0x26] sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 mov r4, r1, lsr #0x10 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r1, r1, lsl #0x1 mov r5, r2, lsl #0x1 ldrsh r2, [r3, r1] ldrsh r1, [r3, r5] rsb r2, r2, #0 blx func_01ff8018 mov r0, r4, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _02175280 ; =data_02050f54 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r0] ldrsh lr, [r1, r2] mov r1, #0xd000 mov r0, #0 umull r2, r5, lr, r1 adds r6, r2, #0x800 umull ip, r4, r3, r1 mov r2, #2 str r2, [sp, #0x2c] mla r5, lr, r0, r5 mla r4, r3, r0, r4 mov r2, lr, asr #0x1f mla r5, r2, r1, r5 mov r0, r3, asr #0x1f adc r5, r5, #0 mov r6, r6, lsr #0xc orr r6, r6, r5, lsl #20 mla r4, r0, r1, r4 adds r2, ip, #0x800 adc r0, r4, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 add r5, r6, #0 add r3, r1, #0 ldr r1, [sp, #0x14] add r0, r5, #0x800 add r2, r1, r0, asr #12 add r0, r3, #0x800 ldr r1, [sp, #0x10] str r2, [sp, #0x14] add r1, r1, r0, asr #12 add r0, sp, #0x28 str r1, [sp, #0x10] str r0, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02175288 ; =data_02063e4c mov r3, #0x25 bl func_020313c8 ldr r0, _0217529c ; =data_027e0c38 mov r1, #2 mov r2, #5 mov r3, #1 bl func_02033e70 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02174f68 _02175270: .word data_027e0d38 _02175274: .word data_027e0d3c _02175278: .word data_027e0f94 _0217527c: .word data_027e0fac _02175280: .word data_02050f54 _02175284: .word data_027e1054 _02175288: .word data_02063e4c _0217528c: .word data_027e077c _02175290: .word data_027e0c68 _02175294: .word data_ov09_0211f5dc _02175298: .word data_027e0f64 _0217529c: .word data_027e0c38 .global func_ov15_021752a0 arm_func_start func_ov15_021752a0 func_ov15_021752a0: ; 0x021752a0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r5, r0 bl func_ov15_02175e48 ldrb r0, [r5, #0x26e] mov r4, #0 cmp r0, #0 ldrnesh ip, [r5, #8] cmpne ip, #0 beq _021752fc ldr r2, _02175434 ; =0x66666667 mov r0, ip, lsr #0x1f smull r1, r3, r2, ip add r3, r0, r3, asr #1 mov r2, #5 smull r0, r1, r2, r3 sub r3, ip, r0 cmp r3, #2 bge _021752fc ldr r0, _02175438 ; =data_027e0e5c ldrh r0, [r0] cmp r0, #0 moveq r4, #1 _021752fc: add r1, sp, #0x24 mov r0, r5 bl func_ov15_02175b58 add r1, sp, #0 mov r0, r5 bl func_ov15_02175ba8 ldrb r0, [r5, #0x11] cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r3, r4, r5, pc} cmp r4, #0 addne sp, sp, #0x30 ldmneia sp!, {r3, r4, r5, pc} ldr r3, [r5, #0x2c] mov r1, #0 mov r2, r1 cmp r3, #5 bne _02175350 ldr r0, [r5, #0x324] cmp r0, #6 movne r2, #1 _02175350: cmp r2, #0 ldrne r0, [r5, #0x324] cmpne r0, #5 movne r1, #1 cmp r1, #0 bne _02175370 cmp r3, #3 bne _02175380 _02175370: ldr r0, [r5, #0x20] mov r1, #2 str r1, [r0, #0x1ac] b _021753fc _02175380: cmp r3, #5 ldreq r0, [r5, #0x324] cmpeq r0, #6 beq _021753e0 cmp r3, #6 mov r1, #0 bne _021753b8 ldr r0, [r5, #0x430] mov r2, #1 cmp r0, #2 cmpne r0, #3 movne r2, r1 cmp r2, #0 movne r1, #1 _021753b8: cmp r1, #0 bne _021753e0 cmp r3, #6 bne _021753d4 ldreq r0, [r5, #0x430] cmpeq r0, #0 bne _021753e0 _021753d4: ldrb r0, [r5, #0x4e0] cmp r0, #0 beq _021753f0 _021753e0: ldr r0, [r5, #0x20] mov r1, #1 str r1, [r0, #0x1ac] b _021753fc _021753f0: ldr r0, [r5, #0x20] mov r1, #0 str r1, [r0, #0x1ac] _021753fc: ldr r0, [r5, #0x20] ldr r1, _0217543c ; =data_027e0fac ldr r4, [r0] ldrsh r3, [r1] ldr r4, [r4, #0xc] add r1, sp, #0 add r2, sp, #0x24 blx r4 add r1, sp, #0 add r2, sp, #0x24 mov r0, r5 bl func_ov15_02175440 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021752a0 _02175434: .word 0x66666667 _02175438: .word data_027e0e5c _0217543c: .word data_027e0fac .global func_ov15_02175440 arm_func_start func_ov15_02175440 func_ov15_02175440: ; 0x02175440 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x50 ldr r3, _02175b30 ; =data_027e0d38 mov r6, r0 ldr r0, [r3] mov r5, r1 add r0, r0, #0xc mov r4, r2 bl func_ov00_020a5e9c cmp r0, #3 bne _02175480 ldr r0, _02175b34 ; =data_027e0c54 bl func_020361d0 cmp r0, #0 addne sp, sp, #0x50 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _02175480: ldr r2, [r6, #0x2c] mov r1, #0 cmp r2, #6 bne _0217549c ldreq r0, [r6, #0x430] cmpeq r0, #0 movne r1, #1 _0217549c: cmp r1, #0 bne _02175944 cmp r2, #5 ldreq r0, [r6, #0x324] cmpeq r0, #6 beq _02175944 ldr r0, [r6, #0x2c] cmp r0, #1 beq _02175944 ldr r7, [r6, #0x84] mov r0, #7 umull r3, r2, r7, r0 mov r1, #0 mla r2, r7, r1, r2 mov r1, r7, asr #0x1f mla r2, r1, r0, r2 adds r3, r3, #0x800 adc r0, r2, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 rsb r0, r1, #0x14 mov r3, r0, lsl #0x10 mov r7, r7, asr #0x1 ldr r0, _02175b38 ; =data_ov15_02186d04 add r2, sp, #0x44 mov r1, r5 add r7, r7, #0x1000 mov r8, r3, lsr #0x10 bl func_01ff88b0 add r0, sp, #0x44 mov r1, r4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0xb0] cmp r0, #0 beq _02175574 ldr r1, [r0, #0x20] ldr r2, [sp, #0x44] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x48] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x4c] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _02175574: ldr r0, [r6, #0xb0] cmp r0, #0 strne r7, [r0, #0x58] ldr r0, [r6, #0xb0] cmp r0, #0 strneh r8, [r0, #0x74] ldr r0, _02175b3c ; =data_027e0f90 ldr r2, [r6, #0xb0] ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0xc movle r0, #1 movgt r0, #0 cmp r2, #0 beq _021755d0 cmp r0, #0 moveq r0, #1 ldr r1, [r2, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 str r0, [r2, #0x24] _021755d0: ldr r2, [r6, #0xb0] add r0, r6, #0x100 cmp r2, #0 ldrh r0, [r0, #0x92] beq _021755fc ldr r1, [r2, #0x84] and r0, r0, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r2, #0x84] _021755fc: ldr r2, [r6, #0x84] mov r0, #6 mov r1, #0 umull r8, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r2, r8, #0x800 mov r1, r2, lsr #0xc adc r0, r3, #0 orr r1, r1, r0, lsl #20 rsb r0, r1, #0x12 mov r3, r0, lsl #0x10 ldr r0, _02175b40 ; =data_ov15_02186d10 add r2, sp, #0x44 mov r1, r5 mov r8, r3, lsr #0x10 bl func_01ff88b0 add r0, sp, #0x44 mov r1, r4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0xb4] cmp r0, #0 beq _021756a8 ldr r1, [r0, #0x20] ldr r2, [sp, #0x44] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x48] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x4c] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _021756a8: ldr r0, [r6, #0xb4] cmp r0, #0 strne r7, [r0, #0x58] ldr r0, [r6, #0xb4] cmp r0, #0 strneh r8, [r0, #0x74] ldr r0, _02175b3c ; =data_027e0f90 ldr r2, [r6, #0xb4] ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #8 movle r0, #1 movgt r0, #0 cmp r2, #0 beq _02175704 cmp r0, #0 moveq r0, #1 ldr r1, [r2, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 str r0, [r2, #0x24] _02175704: ldr r2, [r6, #0xb4] add r0, r6, #0x100 cmp r2, #0 ldrh r0, [r0, #0x92] beq _02175730 ldr r1, [r2, #0x84] and r0, r0, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r2, #0x84] _02175730: ldr r2, [r6, #0x84] mov r0, #0x800 mov r1, r2, asr #0x1f mov r1, r1, lsl #0x3 adds r3, r0, r2, lsl #3 orr r1, r1, r2, lsr #29 adc r0, r1, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 rsb r0, r1, #0x19 mov r3, r0, lsl #0x10 ldr r0, _02175b44 ; =data_ov15_02186d1c add r2, sp, #0x44 mov r1, r5 mov r8, r3, lsr #0x10 bl func_01ff88b0 add r0, sp, #0x44 mov r1, r4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0xb8] cmp r0, #0 beq _021757d4 ldr r1, [r0, #0x20] ldr r2, [sp, #0x44] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x48] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x4c] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _021757d4: ldr r0, [r6, #0xb8] cmp r0, #0 strne r7, [r0, #0x58] ldr r0, [r6, #0xb8] cmp r0, #0 strneh r8, [r0, #0x74] ldr r0, _02175b3c ; =data_027e0f90 ldr r2, [r6, #0xb8] ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #4 movle r0, #1 movgt r0, #0 cmp r2, #0 beq _02175830 cmp r0, #0 moveq r0, #1 ldr r1, [r2, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 str r0, [r2, #0x24] _02175830: ldr r2, [r6, #0xb8] add r0, r6, #0x100 cmp r2, #0 ldrh r0, [r0, #0x92] beq _0217585c ldr r1, [r2, #0x84] and r0, r0, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r2, #0x84] _0217585c: ldr r0, _02175b48 ; =data_ov15_02186d28 add r2, sp, #0x44 mov r1, r5 bl func_01ff88b0 add r0, sp, #0x44 mov r1, r4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0xbc] cmp r0, #0 beq _021758d0 ldr r1, [r0, #0x20] ldr r2, [sp, #0x44] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x48] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x4c] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _021758d0: ldr r0, _02175b3c ; =data_027e0f90 ldr r2, [r6, #0xbc] ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #4 movle r0, #1 movgt r0, #0 cmp r2, #0 beq _02175914 cmp r0, #0 moveq r0, #1 ldr r1, [r2, #0x24] movne r0, #0 mov r0, r0, lsl #0x1f bic r1, r1, #2 orr r0, r1, r0, lsr #30 str r0, [r2, #0x24] _02175914: ldr r2, [r6, #0xbc] add r0, r6, #0x100 cmp r2, #0 ldrh r0, [r0, #0x92] beq _02175994 ldr r1, [r2, #0x84] and r0, r0, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r2, #0x84] b _02175994 _02175944: ldr r1, [r6, #0xb0] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] ldr r1, [r6, #0xb4] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] ldr r1, [r6, #0xb8] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] ldr r1, [r6, #0xbc] cmp r1, #0 ldrne r0, [r1, #0x24] orrne r0, r0, #2 strne r0, [r1, #0x24] _02175994: ldr r0, [r6, #0x20] add r1, sp, #0x38 mov r2, r5 mov r3, r4 bl func_ov09_02115478 mov r3, #0 add r7, sp, #0x18 mov r0, r3 mov r2, r7 mov r1, r3 stmia r2!, {r0, r1} stmia r2!, {r0, r1} stmia r2!, {r0, r1} stmia r2, {r0, r1} ldmia r4, {r0, r1, r2} stmia r7, {r0, r1, r2} add r0, sp, #0x38 add r7, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r7, {r0, r1, r2} ldr r1, [r6, #0x84] ldr r0, _02175b4c ; =data_027e0fac str r1, [sp, #0x30] ldrsh r7, [r6, #0x8e] ldrsh r1, [r0] mov r0, #0x2800 mov r2, r7, asr #0x1f strh r1, [sp, #0x36] umull r8, r1, r7, r0 mla r1, r7, r3, r1 mla r1, r2, r0, r1 adds r2, r8, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 strh r1, [sp, #0x34] ldrb r0, [r6, #0x26e] add r1, sp, #0x18 cmp r0, #0 streq r3, [sp, #0x30] add r0, r6, #0x110 bl func_ov09_0211d180 ldr r0, [r6, #0x274] cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, sp, #0xc mov r7, #0 ldr r3, _02175b50 ; =0x00000e66 mov r1, r5 mov r2, r0 str r7, [sp, #0xc] str r7, [sp, #0x10] str r3, [sp, #0x14] bl func_01ff88b0 add r0, sp, #0xc mov r1, r4 mov r2, r0 bl func_01ff9bc4 ldr r0, [r6, #0x180] cmp r0, #0 beq _02175ad4 ldr r1, [r0, #0x20] ldr r2, [sp, #0xc] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x10] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x14] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _02175ad4: ldr r0, _02175b54 ; =data_027e0fa0 ldr r1, _02175b4c ; =data_027e0fac ldr r2, [r0, #4] ldr r3, [r6, #0x78] mov r0, r2, asr #0x2 add r0, r2, r0, lsr #29 mov r0, r0, asr #0x3 rsb r4, r3, #0 rsb r2, r0, #0 mov r3, #0 ldrsh r1, [r1] add r0, sp, #0 str r3, [sp] str r2, [sp, #4] str r4, [sp, #8] bl func_ov00_020a61ac add r0, sp, #0 bl func_01fffb4c add r1, sp, #0 add r0, r6, #0x180 bl func_ov00_020b7ea4 add sp, sp, #0x50 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02175440 _02175b30: .word data_027e0d38 _02175b34: .word data_027e0c54 _02175b38: .word data_ov15_02186d04 _02175b3c: .word data_027e0f90 _02175b40: .word data_ov15_02186d10 _02175b44: .word data_ov15_02186d1c _02175b48: .word data_ov15_02186d28 _02175b4c: .word data_027e0fac _02175b50: .word 0x00000e66 _02175b54: .word data_027e0fa0 .global func_ov15_02175b58 arm_func_start func_ov15_02175b58 func_ov15_02175b58: ; 0x02175b58 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02175ba4 ; =data_027e0f94 mov r4, r1 ldr r1, [r2] mov r5, r0 str r1, [r4] ldr r1, [r2, #4] mov r0, r4 str r1, [r4, #4] ldr r1, [r2, #8] mov r2, r4 str r1, [r4, #8] add r1, r5, #0xa4 bl func_01ff9bc4 ldr r1, [r4, #4] ldr r0, [r5, #0xa0] add r0, r1, r0 str r0, [r4, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02175b58 _02175ba4: .word data_027e0f94 .global func_ov15_02175ba8 arm_func_start func_ov15_02175ba8 func_ov15_02175ba8: ; 0x02175ba8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x6c mov r4, r1 mov r5, r0 mov r0, r4 bl func_01ff80d4 ldrsh r2, [r5, #0x90] ldrsh r1, [r5, #0x94] ldr r3, _02175cb8 ; =data_02050f54 add r0, sp, #0x48 add r1, r2, r1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 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_01ff8230 add r1, sp, #0x48 mov r0, r4 mov r2, r4 bl func_01ff8690 ldr r0, _02175cbc ; =data_027e0fb0 ldrsh r1, [r5, #0x92] ldrsh r2, [r0] ldr r3, _02175cb8 ; =data_02050f54 add r0, sp, #0x24 add r1, r2, r1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff81f8 mov r0, r4 add r1, sp, #0x24 mov r2, r4 bl func_01ff8690 ldr r1, _02175cc0 ; =data_027e0fac ldr r3, _02175cb8 ; =data_02050f54 ldrh r1, [r1] add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] blx func_01ff8214 mov r0, r4 mov r2, r4 add r1, sp, #0 bl func_01ff8690 add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02175ba8 _02175cb8: .word data_02050f54 _02175cbc: .word data_027e0fb0 _02175cc0: .word data_027e0fac .global func_ov15_02175cc4 arm_func_start func_ov15_02175cc4 func_ov15_02175cc4: ; 0x02175cc4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x3c mov r4, r1 add r1, sp, #0x30 mov r5, r0 bl func_ov15_02175b58 add r1, sp, #0xc mov r0, r5 bl func_ov15_02175ba8 ldr r0, _02175d10 ; =data_ov15_02186ce0 add r1, sp, #0xc add r2, sp, #0 bl func_01ff88b0 add r0, sp, #0x30 add r1, sp, #0 mov r2, r4 bl func_01ff9bc4 add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02175cc4 _02175d10: .word data_ov15_02186ce0 .global func_ov15_02175d14 arm_func_start func_ov15_02175d14 func_ov15_02175d14: ; 0x02175d14 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x250] cmp r0, r1 ldmeqia sp!, {r4, pc} strb r1, [r4, #0x250] mov ip, #0 ldr r2, _02175e34 ; =data_ov15_0218dd94 strb ip, [r4, #0x251] mov r0, #0x80 str r0, [r2, #8] mov r3, #0x60 str r3, [r2, #4] mov r0, #0x1000 str r0, [r2] cmp r1, #7 addls pc, pc, r1, lsl #2 b _02175e28 _02175d5c: ; jump table b _02175e28 ; case 0 b _02175e28 ; case 1 b _02175e14 ; case 2 b _02175d94 ; case 3 b _02175e14 ; case 4 b _02175d7c ; case 5 b _02175d7c ; case 6 b _02175dd4 ; case 7 _02175d7c: ldr r0, _02175e38 ; =data_ov00_020eec9c add r1, r3, #0x3b8 bl func_ov00_020d77e4 mov r0, #6 str r0, [r4, #0x24c] ldmia sp!, {r4, pc} _02175d94: ldr r0, _02175e38 ; =data_ov00_020eec9c ldr r1, _02175e3c ; =0x000003e1 bl func_ov00_020d77e4 mvn r2, #0xff ldr r1, _02175e34 ; =data_ov15_0218dd94 mov r0, r2, lsl #0xc str r2, [r1, #4] bl func_02002540 mov r1, #0x3f000000 bl func_02002774 bl func_0200250c ldr r1, _02175e40 ; =data_ov15_0219028c mov r2, #0 str r0, [r1, #4] str r2, [r4, #0x24c] ldmia sp!, {r4, pc} _02175dd4: ldr r0, _02175e38 ; =data_ov00_020eec9c ldr r1, _02175e44 ; =0x0000041b bl func_ov00_020d77e4 mvn r2, #0x1f ldr r1, _02175e34 ; =data_ov15_0218dd94 mov r0, r2, lsl #0xc str r2, [r1, #4] bl func_02002540 mov r1, #0x3f000000 bl func_02002774 bl func_0200250c ldr r1, _02175e40 ; =data_ov15_0219028c mov r2, #0 str r0, [r1, #4] str r2, [r4, #0x24c] ldmia sp!, {r4, pc} _02175e14: ldr r0, _02175e40 ; =data_ov15_0219028c str ip, [r0] str ip, [r2] str ip, [r4, #0x24c] ldmia sp!, {r4, pc} _02175e28: mov r0, #0 str r0, [r4, #0x24c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02175d14 _02175e34: .word data_ov15_0218dd94 _02175e38: .word data_ov00_020eec9c _02175e3c: .word 0x000003e1 _02175e40: .word data_ov15_0219028c _02175e44: .word 0x0000041b .global func_ov15_02175e48 arm_func_start func_ov15_02175e48 func_ov15_02175e48: ; 0x02175e48 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 movs r5, r1 ldrne r0, [r4, #0x24c] cmpne r0, #0 subne r0, r0, #1 strne r0, [r4, #0x24c] bl func_ov15_0217e4c4 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x250] cmp r0, #7 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, r4, r5, pc} _02175e80: ; jump table ldmia sp!, {r3, r4, r5, pc} ; case 0 b _02175ea0 ; case 1 b _02175ed4 ; case 2 b _02175f9c ; case 3 b _02175ed4 ; case 4 b _0217606c ; case 5 b _021760a4 ; case 6 b _0217601c ; case 7 _02175ea0: ldr r0, _021760dc ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldreqb r0, [r4, #0x25f] cmpeq r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _021760e0 ; =data_027e0de4 ldr r2, _021760e4 ; =func_ov15_02176118 mov r1, #6 mov r3, #0 bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _02175ed4: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r0, [r4, #0x251] cmp r0, #0 beq _02175ef4 cmp r0, #1 beq _02175f30 b _02175f68 _02175ef4: ldr r1, _021760e8 ; =data_ov15_0218dd94 ldr ip, _021760ec ; =0x0000099a ldr r0, [r1] ldr r2, _021760f0 ; =data_ov15_0219028c add r0, r0, #0x9a add r3, r0, #0x900 ldr r0, _021760f4 ; =0x000010cd str ip, [r2] str r3, [r1] cmp r3, r0 ble _02175f68 ldrb r0, [r4, #0x251] add r0, r0, #1 strb r0, [r4, #0x251] b _02175f68 _02175f30: ldr r0, _021760e8 ; =data_ov15_0218dd94 mvn r3, #0x23c ldr r2, [r0] ldr r1, _021760f0 ; =data_ov15_0219028c add r2, r2, r3 str r3, [r1] str r2, [r0] cmp r2, #0x1000 bge _02175f68 mov r1, #0x1000 str r1, [r0] ldrb r0, [r4, #0x251] add r0, r0, #1 strb r0, [r4, #0x251] _02175f68: ldrb r0, [r4, #0x250] mov r1, #6 mov r3, #0 cmp r0, #2 bne _02175f8c ldr r0, _021760e0 ; =data_027e0de4 ldr r2, _021760f8 ; =func_ov15_02176310 bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _02175f8c: ldr r0, _021760e0 ; =data_027e0de4 ldr r2, _021760fc ; =func_ov15_021762e0 bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _02175f9c: cmp r5, #0 beq _02175fec ldr r0, _02176100 ; =data_ov15_02190290 mov r4, #0x31000 ldr r3, _02176104 ; =0x00007ccd mov r1, #0x60000 mov r2, #0x800 str r4, [sp] bl func_0202b418 ldr r0, _021760f0 ; =data_ov15_0219028c ldr r4, _021760e8 ; =data_ov15_0218dd94 ldr r1, [r0, #4] ldr r0, _021760e0 ; =data_027e0de4 mov ip, r1, asr #0xc ldr r2, _02176108 ; =func_ov15_02176320 mov r1, #6 mov r3, #0 str ip, [r4, #4] bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _02175fec: ldr r0, _021760f0 ; =data_ov15_0219028c ldr r4, _021760e8 ; =data_ov15_0218dd94 ldr r1, [r0, #4] ldr r0, _021760e0 ; =data_027e0de4 mov r1, r1, asr #0xc add ip, r1, #0xe0 ldr r2, _02176108 ; =func_ov15_02176320 mov r1, #6 mov r3, #0 str ip, [r4, #4] bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _0217601c: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02176100 ; =data_ov15_02190290 mov r4, #0x31000 ldr r3, _02176104 ; =0x00007ccd mov r1, #0x60000 mov r2, #0x800 str r4, [sp] bl func_0202b418 ldr r0, _021760f0 ; =data_ov15_0219028c ldr r4, _021760e8 ; =data_ov15_0218dd94 ldr r1, [r0, #4] ldr r0, _021760e0 ; =data_027e0de4 mov ip, r1, asr #0xc ldr r2, _02176108 ; =func_ov15_02176320 mov r1, #6 mov r3, #0 str ip, [r4, #4] bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _0217606c: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x24c] ldr r0, _0217610c ; =data_ov15_02186d34 ldr r4, _021760e8 ; =data_ov15_0218dd94 ldr r1, [r0, r1, lsl #2] ldr r0, _021760e0 ; =data_027e0de4 add ip, r1, #0x80 ldr r2, _02176110 ; =func_ov15_021762f0 mov r1, #6 mov r3, #0 str ip, [r4, #8] bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} _021760a4: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x24c] ldr r0, _0217610c ; =data_ov15_02186d34 ldr r4, _021760e8 ; =data_ov15_0218dd94 ldr r1, [r0, r1, lsl #2] ldr r0, _021760e0 ; =data_027e0de4 add ip, r1, #0x80 ldr r2, _02176114 ; =func_ov15_02176300 mov r1, #6 mov r3, #0 str ip, [r4, #8] bl func_ov00_0207bb1c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02175e48 _021760dc: .word gAdventureFlags _021760e0: .word data_027e0de4 _021760e4: .word func_ov15_02176118 _021760e8: .word data_ov15_0218dd94 _021760ec: .word 0x0000099a _021760f0: .word data_ov15_0219028c _021760f4: .word 0x000010cd _021760f8: .word func_ov15_02176310 _021760fc: .word func_ov15_021762e0 _02176100: .word data_ov15_02190290 _02176104: .word 0x00007ccd _02176108: .word func_ov15_02176320 _0217610c: .word data_ov15_02186d34 _02176110: .word func_ov15_021762f0 _02176114: .word func_ov15_02176300 .global func_ov15_02176118 arm_func_start func_ov15_02176118 func_ov15_02176118: ; 0x02176118 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} bl func_ov15_0213ce4c bl func_ov15_0213d1ec ldr r4, _021762cc ; =0x04000488 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 mov r6, #0 sub r11, r4, #0x88 _02176138: ldr r0, _021762d0 ; =0x0000ffff str r0, [r4, #0x38] ldr r0, _021762d4 ; =0x001f0080 str r0, [r4, #0x1c] ldr r0, _021762d8 ; =data_027e0d44 ldr r1, [r0] mov r0, #0x80 ldr r1, [r1, #0x98] mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bic r2, r1, #0xe0000000 orr r1, r2, #0x5b00000 orr r1, r1, #0x30000000 str r1, [r4, #0x20] ldr r1, _021762d8 ; =data_027e0d44 ldr r1, [r1] ldr r1, [r1, #0x9c] mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x11 str r1, [r4, #0x24] mov r1, #1 str r1, [r4, #0x78] bl func_ov05_0210e288 mov r7, r0 mov r0, #0xc0 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r7, lsl #0x10 mov r0, r0, lsl #0x10 str r11, [r4] orr r0, r0, r1, lsr #16 str r0, [r4, #4] mov r0, #0 str r0, [r4, #4] mov r0, r5, asr #0x4 mov r8, r0, lsl #0x1 ldr r0, _021762dc ; =data_02050f54 mov r1, r8, lsl #0x1 ldrsh r0, [r0, r1] mov r1, r0, lsl #0x6 mov r0, r1, asr #0xb add r10, r1, r0, lsr #20 mov r7, r10, asr #0xc add r0, r7, #0x80 bl func_ov05_0210e288 ldr r1, _021762dc ; =data_02050f54 mov r9, r0 add r1, r1, r8, lsl #1 ldrsh r1, [r1, #2] mov r1, r1, lsl #0x6 mov r0, r1, asr #0xb add r0, r1, r0, lsr #20 mov r8, r0, asr #0xc rsb r0, r8, #0xc0 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r2, r9, lsl #0x10 mov r1, #0x400 mov r0, r0, lsl #0x10 str r1, [r4] orr r0, r0, r2, lsr #16 rsb r9, r8, #0x80 str r0, [r4, #0xc] add r0, r9, r10, asr #12 bl func_ov05_0210e288 mov r10, r0 rsb r7, r7, #0xc0 sub r0, r7, r8 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0 mov r2, r10, lsl #0x10 mov r0, r0, lsl #0x10 str r1, [r4] orr r0, r0, r2, lsr #16 str r0, [r4, #0xc] mov r0, r9 bl func_ov05_0210e288 mov r8, r0 mov r0, r7 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 add r6, r6, #1 mov r1, r8, lsl #0x10 mov r0, r0, lsl #0x10 orr r1, r0, r1, lsr #16 mov r0, #0x4000000 str r0, [r4] str r1, [r4, #0xc] mov r0, #0 str r0, [r4, #0x7c] add r0, r5, #0x4000 mov r0, r0, lsl #0x10 cmp r6, #4 mov r5, r0, lsr #0x10 blt _02176138 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02176118 _021762cc: .word 0x04000488 _021762d0: .word 0x0000ffff _021762d4: .word 0x001f0080 _021762d8: .word data_027e0d44 _021762dc: .word data_02050f54 .global func_ov15_021762e0 arm_func_start func_ov15_021762e0 func_ov15_021762e0: ; 0x021762e0 ldr ip, _021762ec ; =func_ov15_02176330 mov r0, #0x13 bx ip .align 2, 0 arm_func_end func_ov15_021762e0 _021762ec: .word func_ov15_02176330 .global func_ov15_021762f0 arm_func_start func_ov15_021762f0 func_ov15_021762f0: ; 0x021762f0 ldr ip, _021762fc ; =func_ov15_02176330 mov r0, #0x14 bx ip .align 2, 0 arm_func_end func_ov15_021762f0 _021762fc: .word func_ov15_02176330 .global func_ov15_02176300 arm_func_start func_ov15_02176300 func_ov15_02176300: ; 0x02176300 ldr ip, _0217630c ; =func_ov15_02176330 mov r0, #0x15 bx ip .align 2, 0 arm_func_end func_ov15_02176300 _0217630c: .word func_ov15_02176330 .global func_ov15_02176310 arm_func_start func_ov15_02176310 func_ov15_02176310: ; 0x02176310 ldr ip, _0217631c ; =func_ov15_02176330 mov r0, #0x17 bx ip .align 2, 0 arm_func_end func_ov15_02176310 _0217631c: .word func_ov15_02176330 .global func_ov15_02176320 arm_func_start func_ov15_02176320 func_ov15_02176320: ; 0x02176320 ldr ip, _0217632c ; =func_ov15_02176330 mov r0, #0x18 bx ip .align 2, 0 arm_func_end func_ov15_02176320 _0217632c: .word func_ov15_02176330 .global func_ov15_02176330 arm_func_start func_ov15_02176330 func_ov15_02176330: ; 0x02176330 stmdb sp!, {r4, r5, r6, lr} ldr r3, _02176508 ; =0x0000ffff ldr r1, _0217650c ; =0x040004c0 ldr r2, _02176510 ; =0x001f0080 str r3, [r1] ldr r3, _02176514 ; =data_027e0d44 str r2, [r1, #-0x1c] ldr r2, [r3] mov r5, #1 add r2, r2, r0, lsl #3 ldr r2, [r2, #8] ldr r4, _02176518 ; =data_ov15_0218dd94 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 bic r2, r2, #0xe0000000 orr r2, r2, #0x5d00000 orr r2, r2, #0x30000000 str r2, [r1, #-0x18] ldr r2, [r3] mov r3, #0 add r0, r2, r0, lsl #3 ldr r0, [r0, #0xc] mov r2, #0x60 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x11 str r0, [r1, #-0x14] str r5, [r1, #0x40] ldr r0, [r4] ldr r4, [r4, #8] umull r5, r1, r0, r2 mov r6, r0, asr #0x1f mla r1, r0, r3, r1 adds r5, r5, #0x800 mla r1, r6, r2, r1 mov r2, r6, lsl #0x5 adc r3, r1, #0 mov r6, r5, lsr #0xc mov r1, #0x800 orr r6, r6, r3, lsl #20 adds r3, r1, r0, lsl #5 orr r2, r2, r0, lsr #27 adc r1, r2, #0 mov r5, r3, lsr #0xc sub r0, r4, r6 orr r5, r5, r1, lsl #20 bl func_ov05_0210e288 ldr r1, _02176518 ; =data_ov15_0218dd94 mov r4, r0 ldr r0, [r1, #4] sub r0, r0, r5 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 ldr r2, _0217651c ; =0x04000488 mov r0, r4, lsl #0x10 mov r1, r1, lsl #0x10 orr r0, r1, r0, lsr #16 mov r1, #0 str r1, [r2] str r0, [r2, #4] ldr r0, _02176518 ; =data_ov15_0218dd94 str r1, [r2, #4] ldr r0, [r0, #8] sub r0, r0, r6 bl func_ov05_0210e288 ldr r1, _02176518 ; =data_ov15_0218dd94 mov r4, r0 ldr r0, [r1, #4] add r0, r0, r5 bl func_ov05_0210e2a4 mov r1, r4, lsl #0x10 mov r3, #0x4000000 ldr r2, _0217651c ; =0x04000488 mov r0, r0, lsl #0x10 str r3, [r2] mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 orr r0, r0, r1, lsr #16 str r0, [r2, #0xc] ldr r0, _02176518 ; =data_ov15_0218dd94 ldr r0, [r0, #8] add r0, r0, r6 bl func_ov05_0210e288 mov r4, r0 ldr r0, _02176518 ; =data_ov15_0218dd94 ldr r0, [r0, #4] add r0, r0, r5 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 ldr r3, _02176520 ; =0x04000c00 ldr r2, _0217651c ; =0x04000488 mov r0, r4, lsl #0x10 mov r1, r1, lsl #0x10 str r3, [r2] orr r1, r1, r0, lsr #16 ldr r0, _02176518 ; =data_ov15_0218dd94 str r1, [r2, #0xc] ldr r0, [r0, #8] add r0, r0, r6 bl func_ov05_0210e288 ldr r1, _02176518 ; =data_ov15_0218dd94 mov r4, r0 ldr r0, [r1, #4] sub r0, r0, r5 bl func_ov05_0210e2a4 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 ldr r2, _0217651c ; =0x04000488 mov r3, #0xc00 mov r0, r4, lsl #0x10 mov r1, r1, lsl #0x10 str r3, [r2] orr r0, r1, r0, lsr #16 str r0, [r2, #0xc] mov r0, #0 str r0, [r2, #0x7c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02176330 _02176508: .word 0x0000ffff _0217650c: .word 0x040004c0 _02176510: .word 0x001f0080 _02176514: .word data_027e0d44 _02176518: .word data_ov15_0218dd94 _0217651c: .word 0x04000488 _02176520: .word 0x04000c00 .global func_ov15_02176524 arm_func_start func_ov15_02176524 func_ov15_02176524: ; 0x02176524 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 add r0, r4, #0x28c mov r3, #0 str r3, [sp] add r0, r0, #0x400 mov r1, #0x19 mov r2, #1 str r3, [sp, #4] bl func_020350b4 mov r1, #0 add r0, r4, #0x28c mov r2, r1 mov r3, r1 add r0, r0, #0x400 str r1, [sp] bl func_020351b8 add r0, r4, #0x28c add r0, r0, #0x400 mov r1, #0x1000 bl func_02035370 mov r3, #0 str r3, [sp] str r3, [sp, #4] add r0, r4, #0x134 add r0, r0, #0x800 mov r1, #0x19 mov r2, #3 bl func_020350b4 mov r1, #0 str r1, [sp] add r0, r4, #0x134 add r0, r0, #0x800 mov r2, r1 mov r3, r1 bl func_020351b8 add r0, r4, #0x134 add r0, r0, #0x800 mov r1, #0x1000 bl func_02035370 mov r3, #0 str r3, [sp] str r3, [sp, #4] add r0, r4, #0x1bc add r0, r0, #0x800 mov r1, #0x19 mov r2, #2 bl func_020350b4 mov r1, #0 str r1, [sp] add r0, r4, #0x1bc add r0, r0, #0x800 mov r2, r1 mov r3, r1 bl func_020351b8 add r0, r4, #0x1bc add r0, r0, #0x800 mov r1, #0x1000 bl func_02035370 mov r2, #0 str r2, [sp] str r2, [sp, #4] add r0, r4, #0x314 add r0, r0, #0x400 mov r1, #0x19 mov r3, r2 bl func_020350b4 mov r1, #0 add r0, r4, #0x314 mov r2, r1 mov r3, r1 add r0, r0, #0x400 str r1, [sp] bl func_020351b8 add r0, r4, #0x314 add r0, r0, #0x400 mov r1, #0x1000 bl func_02035370 add r0, r4, #0x39c mov r3, #0 str r3, [sp] add r0, r0, #0x400 mov r1, #0x19 mov r2, #4 str r3, [sp, #4] bl func_020350b4 mov r1, #0 str r1, [sp] add r0, r4, #0x39c add r0, r0, #0x400 mov r2, r1 mov r3, r1 bl func_020351b8 add r0, r4, #0x39c add r0, r0, #0x400 mov r1, #0x1000 bl func_02035370 mov r3, #0 str r3, [sp] str r3, [sp, #4] add r0, r4, #0x24 add r0, r0, #0x800 mov r1, #0x19 mov r2, #5 bl func_020350b4 mov r1, #0 str r1, [sp] add r0, r4, #0x24 add r0, r0, #0x800 mov r2, r1 mov r3, r1 bl func_020351b8 add r0, r4, #0x24 add r0, r0, #0x800 mov r1, #0x1000 bl func_02035370 mov r3, #0 str r3, [sp] str r3, [sp, #4] add r0, r4, #0xac add r0, r0, #0x800 mov r1, #0x19 mov r2, #6 bl func_020350b4 mov r1, #0 str r1, [sp] add r0, r4, #0xac add r0, r0, #0x800 mov r2, r1 mov r3, r1 bl func_020351b8 add r0, r4, #0xac add r0, r0, #0x800 mov r1, #0x1000 bl func_02035370 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov15_02176524 .global func_ov15_0217674c arm_func_start func_ov15_0217674c func_ov15_0217674c: ; 0x0217674c stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #0x3c4] mvn r1, #0x13 cmp r0, r1 bgt _021767ec bl func_02042f74 sub r0, r0, #0x12 cmp r0, #0x20 movgt r0, #0x20 cmp r0, #0 movlt r0, #0 cmp r0, #0 mov r0, r0, lsl #0xc ble _0217679c bl func_02002540 mov r1, r0 mov r0, #0x3f000000 bl func_02001a9c b _021767a8 _0217679c: bl func_02002540 mov r1, #0x3f000000 bl func_02002774 _021767a8: bl func_0200250c mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 mov r5, r0, asr #0x5 add r0, r4, #0x28c mov r1, r5 add r0, r0, #0x400 bl func_02035370 add r0, r4, #0x134 mov r1, r5 add r0, r0, #0x800 bl func_02035370 add r0, r4, #0x1bc mov r1, r5 add r0, r0, #0x800 bl func_02035370 b _02176858 _021767ec: add r0, r4, #0x28c add r0, r0, #0x400 mov r1, #0 bl func_02035370 add r0, r4, #0x28c mov r1, #0 add r0, r0, #0x400 str r1, [r4, #0x6f0] bl func_020352d8 add r0, r4, #0x134 add r0, r0, #0x800 mov r1, #0 bl func_02035370 add r0, r4, #0x134 mov r1, #0 add r0, r0, #0x800 str r1, [r4, #0x998] bl func_020352d8 add r0, r4, #0x1bc add r0, r0, #0x800 mov r1, #0 bl func_02035370 add r0, r4, #0x1bc mov r1, #0 add r0, r0, #0x800 str r1, [r4, #0xa20] bl func_020352d8 _02176858: ldr r0, [r4, #0x280] cmp r0, #0 bne _021768a8 add r0, r4, #0x2e8 add r0, r0, #0x400 mov r1, #0x14000 bl func_0202e310 cmp r0, #0 beq _021768a8 ldr r0, [r4, #0x3c4] bl func_02042f74 cmp r0, #0x32 bge _0217689c ldr r0, _02176900 ; =data_ov00_020eec9c ldr r1, _02176904 ; =0x00000416 bl func_ov00_020d77e4 b _021768a8 _0217689c: ldr r0, _02176900 ; =data_ov00_020eec9c ldr r1, _02176908 ; =0x00000417 bl func_ov00_020d77e4 _021768a8: add r0, r4, #0x28c add r0, r0, #0x400 bl func_0203516c add r0, r4, #0x134 add r0, r0, #0x800 bl func_0203516c add r0, r4, #0x1bc add r0, r0, #0x800 bl func_0203516c add r0, r4, #0x314 add r0, r0, #0x400 bl func_0203516c add r0, r4, #0x39c add r0, r0, #0x400 bl func_0203516c add r0, r4, #0x24 add r0, r0, #0x800 bl func_0203516c add r0, r4, #0xac add r0, r0, #0x800 bl func_0203516c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217674c _02176900: .word data_ov00_020eec9c _02176904: .word 0x00000416 _02176908: .word 0x00000417 .global func_ov15_0217690c arm_func_start func_ov15_0217690c func_ov15_0217690c: ; 0x0217690c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r2, _02176d20 ; =data_027e0618 mov r8, r0 ldrb r0, [r2, #0x101] mov r7, r1 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _02176d24 ; =data_027e0c54 bl func_020360a8 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, [r8, #0x2c] mov r1, #0 cmp r2, #6 ldreq r0, [r8, #0x430] cmpeq r0, #0 moveq r1, #1 cmp r1, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} cmp r2, #6 mov r1, #0 bne _02176990 ldr r0, [r8, #0x430] mov r2, #1 cmp r0, #2 cmpne r0, #3 movne r2, r1 cmp r2, #0 movne r1, #1 _02176990: cmp r1, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldrb r0, [r8, #0x448] cmp r0, #0 beq _02176ce0 ldr r0, _02176d24 ; =data_027e0c54 bl func_020360a8 mov r1, r0 mov r0, r7 bl func_02031d58 cmp r0, #0 beq _02176c38 ldr r2, [r8, #0x280] mvn r1, #0x3f cmp r2, r1 ble _02176adc ldr r3, [r8, #0x3c4] ldr r0, _02176d28 ; =0xffffec7a add r1, r1, #0x3f umull r5, r4, r3, r0 mla r4, r3, r1, r4 mov r1, r3, asr #0x1f mla r4, r1, r0, r4 adds r3, r5, #0x800 adc r0, r4, #0 mov r4, r3, lsr #0xc orr r4, r4, r0, lsl #20 cmp r4, #0x3d movgt r4, #0x3d mvn r0, #0x3c cmp r4, r0 movlt r4, r0 ldr r0, _02176d2c ; =data_027e0c38 ldr r0, [r0, #0x10] cmp r0, #0 mov r0, #0x65 bne _02176a84 mov r1, #0 mov r3, r1 str r1, [sp] bl func_0203493c mov r0, #0 str r0, [sp] str r0, [sp, #4] add r0, r8, #0x28c ldr r3, [r8, #0x280] add r0, r0, #0x400 mov r1, #0x65 mov r2, #1 bl func_02034b0c add r0, r8, #0x134 str r4, [sp] mov r1, #0 str r1, [sp, #4] ldr r3, [r8, #0x280] add r0, r0, #0x800 mov r1, #0x65 mov r2, #2 bl func_02034b0c b _02176adc _02176a84: mov r3, #0 mov r1, #0x12 str r3, [sp] bl func_0203493c mov r0, #0 str r0, [sp] str r0, [sp, #4] add r0, r8, #0x28c ldr r3, [r8, #0x280] add r0, r0, #0x400 mov r1, #0x65 mov r2, #0x13 bl func_02034b0c add r0, r8, #0x1bc str r4, [sp] mov r1, #0 str r1, [sp, #4] ldr r3, [r8, #0x280] add r0, r0, #0x800 mov r1, #0x65 mov r2, #0x14 bl func_02034b0c _02176adc: ldr r0, [r8, #0x430] cmp r0, #1 ldreqb r0, [r8, #0x436] cmpeq r0, #9 bne _02176ce0 ldr r0, _02176d30 ; =data_027e0fe4 add r1, r8, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02176ce0 ldrb r1, [r8, #0x250] cmp r1, #0 bne _02176ce0 ldr r2, [r0, #0x414] ldr r0, [r0, #0x418] ldr r1, [r8, #0x3c8] sub r4, r2, #0x80 sub r5, r0, #0x5a mov r0, #0 sub r6, r1, #0x3000 mov r2, r4 mov r3, r5 str r0, [sp] mov r0, #0x65 mov r1, #4 mov r6, r6, asr #0xc bl func_0203493c ldrb r0, [r8, #0x44b] cmp r0, #0 beq _02176ce0 cmp r6, #0xa blt _02176b90 ldr r2, _02176d34 ; =0x66666667 mov r0, r6, lsr #0x1f smull r1, ip, r2, r6 add ip, r0, ip, asr #2 mov r3, r4 str r5, [sp] mov lr, #0 add r1, ip, #8 mov r0, #0x65 mov r2, #5 str lr, [sp, #4] bl func_020349cc _02176b90: ldr r2, _02176d34 ; =0x66666667 mov r0, r6, lsr #0x1f smull r1, ip, r2, r6 add ip, r0, ip, asr #2 mov r2, #0xa smull r0, r1, r2, ip sub ip, r6, r0 mov r3, r4 str r5, [sp] mov lr, #0 add r1, ip, #8 mov r0, #0x65 mov r2, #6 str lr, [sp, #4] bl func_020349cc blx func_0202ab48 cmp r0, #1 beq _02176be4 blx func_0202ab48 cmp r0, #2 bne _02176c18 _02176be4: ldr r0, _02176d38 ; =data_027e05f4 ldr r0, [r0] cmp r0, #1 cmpeq r6, #1 bne _02176c18 mov r6, #0 mov r2, r4 mov r3, r5 mov r0, #0x65 mov r1, #0x16 str r6, [sp] bl func_0203493c b _02176ce0 _02176c18: mov r6, #0 mov r2, r4 mov r3, r5 mov r0, #0x65 mov r1, #7 str r6, [sp] bl func_0203493c b _02176ce0 _02176c38: ldr r0, [r8, #0x430] cmp r0, #1 ldreqb r0, [r8, #0x436] cmpeq r0, #9 ldreqb r0, [r8, #0x293] cmpeq r0, #0 bne _02176ce0 ldrb r0, [r8, #0x44a] cmp r0, #0 beq _02176cb4 add r0, r8, #0x400 ldrsh r1, [r0, #4] mov r2, #0 sub r0, r2, #0x1400 cmp r1, r0 movlt r2, #1 blt _02176c84 cmp r1, #0x1400 movgt r2, #2 _02176c84: add r0, r8, #0x39c add r1, r0, #0x400 mov r0, #0x88 mla r0, r2, r0, r1 ldr r1, _02176d3c ; =data_ov15_02186d60 mov r3, #0 str r3, [sp] ldr r2, [r1, r2, lsl #2] mov r1, #0x66 str r3, [sp, #4] bl func_02034b0c b _02176ce0 _02176cb4: ldrb r0, [r8, #0x449] cmp r0, #0 beq _02176ce0 add r0, r8, #0x314 mov r3, #0 str r3, [sp] add r0, r0, #0x400 mov r1, #0x66 mov r2, #1 str r3, [sp, #4] bl func_02034b0c _02176ce0: ldr r0, _02176d24 ; =data_027e0c54 bl func_020360a8 mov r1, r0 mov r0, r7 bl func_02031d58 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r1, #0 str r1, [sp] ldr r2, [r8, #0x288] ldr r3, [r8, #0x28c] mov r0, #0x66 bl func_0203493c add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0217690c _02176d20: .word data_027e0618 _02176d24: .word data_027e0c54 _02176d28: .word 0xffffec7a _02176d2c: .word data_027e0c38 _02176d30: .word data_027e0fe4 _02176d34: .word 0x66666667 _02176d38: .word data_027e05f4 _02176d3c: .word data_ov15_02186d60 .global func_ov15_02176d40 arm_func_start func_ov15_02176d40 func_ov15_02176d40: ; 0x02176d40 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r4, r0 mov r2, #0 add r0, r4, #0x17c str r2, [sp] mov r3, r2 add r0, r0, #0x400 mov r1, #0x18 str r2, [sp, #4] bl func_020350b4 mov r1, #0 add r0, r4, #0x17c mov r2, r1 mov r3, r1 add r0, r0, #0x400 str r1, [sp] bl func_020351b8 add r0, r4, #0x17c add r0, r0, #0x400 mov r1, #0x1000 bl func_02035370 mov r3, #0 add r0, r4, #0x204 str r3, [sp] add r0, r0, #0x400 mov r1, #0x18 mov r2, #1 str r3, [sp, #4] bl func_020350b4 mov r1, #0 add r0, r4, #0x204 add r0, r0, #0x400 mov r2, r1 mov r3, r1 str r1, [sp] bl func_020351b8 add r0, r4, #0x204 add r0, r0, #0x400 mov r1, #0x1000 bl func_02035370 ldr r0, [r4, #0x318] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r6, #0 mov r7, r6 mov r5, #0x62 _02176e00: ldr r1, [r4, #0x318] mov r0, r5 add r2, r1, r7 add r1, r6, #5 add r3, r2, #4 bl func_02034698 add r6, r6, #1 cmp r6, #5 add r7, r7, #8 blt _02176e00 mov r6, #0 mov r5, #0x62 _02176e30: ldr r1, [r4, #0x318] add r0, r6, #5 add r2, r1, r0, lsl #3 mov r0, r5 add r1, r6, #0xb add r3, r2, #4 bl func_02034698 add r6, r6, #1 cmp r6, #5 blt _02176e30 ldr r1, [r4, #0x318] mov r0, #0x62 add r2, r1, #0x50 add r3, r1, #0x54 mov r1, #0 bl func_02034698 ldr r1, [r4, #0x318] mov r0, #0x62 add r2, r1, #0x58 add r3, r1, #0x5c mov r1, #1 bl func_02034698 ldr r1, [r4, #0x318] mov r0, #0x62 add r2, r1, #0x60 add r3, r1, #0x64 mov r1, #2 bl func_02034698 ldr r3, [r4, #0x318] mov r0, #0x62 mov r1, #3 add r2, r3, #0x68 add r3, r3, #0x6c bl func_02034698 ldr r3, [r4, #0x318] mov r0, #0x62 mov r1, #4 add r2, r3, #0x70 add r3, r3, #0x74 bl func_02034698 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_02176d40 .global func_ov15_02176ed8 arm_func_start func_ov15_02176ed8 func_ov15_02176ed8: ; 0x02176ed8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} ldr r2, _02177050 ; =data_027e0618 mov r10, r0 ldrb r0, [r2, #0x101] mov r4, r1 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02177054 ; =data_027e0c54 bl func_020360a8 mov r1, r0 mov r0, r4 bl func_02031d58 cmp r0, #0 ldrne r8, [r10, #0x318] cmpne r8, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02177058 ; =data_027e0c38 mov r9, #0 ldr r0, [r0, #0x10] add r5, r10, #0x17c cmp r0, #1 addeq r8, r8, #0x28 add r4, r10, #0x300 mov r6, r9 mov r11, #0x62 mov r7, r9 _02176f40: ldrsh r0, [r4, #0x28] cmp r0, r9 ble _02176f60 mov r3, r7 add r0, r5, #0x400 ldmia r8, {r1, r2} bl func_02034a1c b _02176f74 _02176f60: str r6, [sp] mov r0, r11 mov r1, #0xa ldmia r8, {r2, r3} bl func_02034984 _02176f74: add r9, r9, #1 cmp r9, #5 add r8, r8, #8 blt _02176f40 ldr r4, [r10, #0x318] mov r1, #0 str r1, [sp] ldr r5, [r4, #0x50] ldr r2, [r10, #0x288] ldr r3, [r4, #0x54] ldr r0, [r10, #0x28c] add r2, r5, r2 add r3, r3, r0 mov r0, #0x62 bl func_02034984 mov r0, #0 str r0, [sp] ldr r2, [r4, #0x58] ldr r3, [r4, #0x5c] mov r0, #0x62 mov r1, #1 bl func_02034984 mov r0, #0 str r0, [sp] ldr r1, [r4, #0x60] ldr r0, [r10, #0x32c] ldr r3, [r4, #0x64] add r2, r1, r0 mov r0, #0x62 mov r1, #2 bl func_02034984 mov r0, #0 str r0, [sp] ldr r3, [r4, #0x68] ldr r2, [r10, #0x32c] ldr r5, [r4, #0x6c] add r2, r3, r2 ldr r3, [r10, #0x330] mov r0, #0x62 mov r1, #3 add r3, r5, r3 bl func_02034984 ldrb r0, [r10, #0x351] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [r10, #0x324] cmp r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r10, #0x204 ldr r1, [r4, #0x70] ldr r2, [r4, #0x74] add r0, r0, #0x400 mov r3, #0 bl func_02034a1c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02176ed8 _02177050: .word data_027e0618 _02177054: .word data_027e0c54 _02177058: .word data_027e0c38 .global func_ov15_0217705c arm_func_start func_ov15_0217705c func_ov15_0217705c: ; 0x0217705c ldr ip, _02177068 ; =func_ov09_021136c4 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov15_0217705c _02177068: .word func_ov09_021136c4 .global func_ov15_0217706c arm_func_start func_ov15_0217706c func_ov15_0217706c: ; 0x0217706c ldr ip, _02177078 ; =func_ov15_02174b80 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov15_0217706c _02177078: .word func_ov15_02174b80 .global func_ov15_0217707c arm_func_start func_ov15_0217707c func_ov15_0217707c: ; 0x0217707c ldr ip, _02177088 ; =func_ov09_0211372c ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov15_0217707c _02177088: .word func_ov09_0211372c .global func_ov15_0217708c arm_func_start func_ov15_0217708c func_ov15_0217708c: ; 0x0217708c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r0, #1 str r0, [sp] ldr r11, [sp] ldr r1, _021771fc ; =gAdventureFlags mov r4, r11 ldr r0, [r1] mov r5, r11 mov r6, r11 mov r7, r11 mov r8, r11 mov r9, r11 mov r10, r11 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _02177104 ldr r0, _02177200 ; =data_027e0c68 bl func_02036798 cmp r0, #0 bne _02177104 ldr r0, _02177204 ; =data_ov09_0211f5b4 bl func_ov03_020f3f94 cmp r0, #0 bne _02177104 ldr r0, _02177208 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 movne r10, #0 _02177104: cmp r10, #0 bne _02177120 ldr r0, _0217720c ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #1 movne r9, #0 _02177120: cmp r9, #0 bne _0217713c ldr r0, _0217720c ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a538 cmp r0, #0 moveq r8, #0 _0217713c: cmp r8, #0 bne _0217715c ldr r0, _02177210 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 moveq r7, #0 _0217715c: cmp r7, #0 bne _02177170 bl func_ov15_0217e4c4 cmp r0, #0 moveq r6, #0 _02177170: cmp r6, #0 ldreq r0, _02177214 ; =data_027e0d04 ldreqb r0, [r0, #5] cmpeq r0, #0 moveq r5, #0 cmp r5, #0 bne _02177198 bl func_ov15_0215b780 cmp r0, #0 moveq r4, #0 _02177198: cmp r4, #0 bne _021771d4 ldr r0, _021771fc ; =gAdventureFlags mov r1, #0x1f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #1 bne _021771d0 ldr r0, _021771fc ; =gAdventureFlags mov r1, #0x52 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021771d4 _021771d0: mov r11, #0 _021771d4: cmp r11, #0 bne _021771f4 ldr r0, _0217720c ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02152358 cmp r0, #0 movne r0, #0 strne r0, [sp] _021771f4: ldr r0, [sp] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217708c _021771fc: .word gAdventureFlags _02177200: .word data_027e0c68 _02177204: .word data_ov09_0211f5b4 _02177208: .word data_027e0d38 _0217720c: .word data_027e10a4 _02177210: .word data_027e0d3c _02177214: .word data_027e0d04 .global func_ov15_02177218 arm_func_start func_ov15_02177218 func_ov15_02177218: ; 0x02177218 stmdb sp!, {r4, lr} ldr r3, _02177254 ; =data_ov15_02186d6c mov r2, #0x8f mov r4, r0 bl func_ov00_020c607c ldr r3, _02177258 ; =data_ov15_0218dda8 add r0, r4, #0xfc add r1, r4, #0x120 mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _0217725c ; =data_ov15_0218d6fc mov r0, r4 str r1, [r4, #0xfc] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02177218 _02177254: .word data_ov15_02186d6c _02177258: .word data_ov15_0218dda8 _0217725c: .word data_ov15_0218d6fc .global func_ov15_02177260 arm_func_start func_ov15_02177260 func_ov15_02177260: ; 0x02177260 stmdb sp!, {r4, lr} mov r4, r0 mov r1, r4 bl func_ov15_02177218 mov r1, #0x1000 mov r0, r4 str r1, [r4, #0x17c] mov r1, #0 strb r1, [r4, #0x180] bl func_ov00_020c5d74 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02177260 .global func_ov15_02177290 arm_func_start func_ov15_02177290 func_ov15_02177290: ; 0x02177290 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0xfc blx func_ov00_020a9b6c add r0, r4, #0x7c blx func_ov00_020a9b6c add r0, r4, #0x20 blx func_ov00_020a95a4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02177290 .global func_ov15_021772b8 arm_func_start func_ov15_021772b8 func_ov15_021772b8: ; 0x021772b8 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x180] cmp r1, #0 ldmeqia sp!, {r3, pc} bl func_ov00_020c5e20 ldmia sp!, {r3, pc} arm_func_end func_ov15_021772b8 .global func_ov15_021772d0 arm_func_start func_ov15_021772d0 func_ov15_021772d0: ; 0x021772d0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr lr, [r0, #0x17c] ldr r3, _0217732c ; =0x000001df mov ip, #0 umull r5, r4, lr, r3 mla r4, lr, ip, r4 mov ip, lr, asr #0x1f mla r4, ip, r3, r4 adds r5, r5, #0x800 mov ip, r1 adc r1, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r1, lsl #20 mov r3, r2 add r1, sp, #0 mov r2, ip str r4, [sp] str r4, [sp, #4] str r4, [sp, #8] bl func_ov00_020c5f80 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021772d0 _0217732c: .word 0x000001df .global func_ov15_02177330 arm_func_start func_ov15_02177330 func_ov15_02177330: ; 0x02177330 stmdb sp!, {r4, lr} ldr r0, _0217739c ; =data_027e0d38 mov r4, #0 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 beq _02177390 ldr r0, _021773a0 ; =gAdventureFlags mov r1, #0xf8 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 movne r4, #2 bne _02177390 ldr r0, _021773a0 ; =gAdventureFlags mov r1, #0xf7 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 movne r4, #1 bne _02177390 mov r0, r4 ldmia sp!, {r4, pc} _02177390: ldr r0, _021773a4 ; =data_ov15_02186dac add r0, r0, r4, lsl #3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02177330 _0217739c: .word data_027e0d38 _021773a0: .word gAdventureFlags _021773a4: .word data_ov15_02186dac .global func_ov15_021773a8 arm_func_start func_ov15_021773a8 func_ov15_021773a8: ; 0x021773a8 stmdb sp!, {r3, lr} ldr r1, _021773d4 ; =data_027e0fe0 ldr r0, _021773d8 ; =0x000004ac ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02177548 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021773a8 _021773d4: .word data_027e0fe0 _021773d8: .word 0x000004ac .global func_ov15_021773dc arm_func_start func_ov15_021773dc func_ov15_021773dc: ; 0x021773dc cmp r2, #7 bne _021773f4 ldr r0, [r0, #4] mov r1, #1 strb r1, [r0, #0x4a9] b _02177404 _021773f4: cmp r2, #0xa ldreq r0, [r0, #4] moveq r1, #1 streqb r1, [r0, #0x4aa] _02177404: mov r0, #1 bx lr arm_func_end func_ov15_021773dc .global func_ov15_0217740c arm_func_start func_ov15_0217740c func_ov15_0217740c: ; 0x0217740c mov r0, #1 bx lr arm_func_end func_ov15_0217740c .global func_ov15_02177414 arm_func_start func_ov15_02177414 func_ov15_02177414: ; 0x02177414 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0217744c ; =data_ov15_0218df14 add r0, r4, #0x5c str r1, [r4] mvn r1, #0 str r1, [r4, #0xbc] bl func_01ff892c add r0, r4, #0x8c bl func_01ff892c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02177414 _0217744c: .word data_ov15_0218df14 .global func_ov15_02177450 arm_func_start func_ov15_02177450 func_ov15_02177450: ; 0x02177450 ldr ip, _02177460 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_02177450 _02177460: .word func_ov00_020a9998 .global func_ov15_02177464 arm_func_start func_ov15_02177464 func_ov15_02177464: ; 0x02177464 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #0xbc] mov r5, r1 cmp r0, #0 bge _02177494 ldr r0, [r5, #4] ldr r1, _021774e4 ; =data_ov15_02186f4c ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0xbc] _02177494: ldr r0, [r5, #8] tst r0, #0x10 ldrneb r1, [r5, #0xae] ldr r0, [r4, #0xbc] mvneq r1, #0 cmp r0, r1 ldmneia sp!, {r3, r4, r5, pc} bl func_02018450 mov lr, r0 add ip, r4, #0x8c ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, r4, #0x5c mov r1, #0 bl func_0201b1bc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02177464 _021774e4: .word data_ov15_02186f4c .global func_ov15_021774e8 arm_func_start func_ov15_021774e8 func_ov15_021774e8: ; 0x021774e8 stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xe0 bl func_ov00_020c5c2c ldr r1, _0217752c ; =data_ov15_0218def0 add r0, r4, #0x20 str r1, [r4] bl func_ov15_02177414 add r0, r4, #0xe0 add r1, r4, #0x104 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _02177530 ; =data_ov15_0218a690 mov r0, r4 str r1, [r4, #0xe0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021774e8 _0217752c: .word data_ov15_0218def0 _02177530: .word data_ov15_0218a690 .global func_ov15_02177534 arm_func_start func_ov15_02177534 func_ov15_02177534: ; 0x02177534 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02177534 .global func_ov15_02177548 arm_func_start func_ov15_02177548 func_ov15_02177548: ; 0x02177548 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov15_0214e078 ldr r2, _021776a0 ; =data_ov15_0218de14 mov r1, r4 add r0, r4, #0x1d8 str r2, [r4] bl func_ov15_021774e8 add r0, r4, #0x314 mov r1, #0x1000000 bl func_ov00_020d18f4 mvn r0, #0 str r0, [r4, #0x370] mov r3, #2 str r3, [sp] add r0, r4, #0x374 mov r1, #0xfe mov r2, #6 bl func_ov00_02095720 mov r2, #0 str r2, [r4, #0x39c] sub r0, r2, #1 str r0, [r4, #0x3a0] str r2, [r4, #0x3a4] str r2, [r4, #0x3a8] str r0, [r4, #0x3ac] str r2, [r4, #0x3b0] str r2, [r4, #0x3b4] str r0, [r4, #0x3b8] str r2, [r4, #0x3bc] str r2, [r4, #0x3c0] str r2, [r4, #0x3c4] str r2, [r4, #0x3c8] str r2, [r4, #0x3cc] str r2, [r4, #0x430] str r2, [r4, #0x434] str r2, [r4, #0x440] str r2, [r4, #0x444] str r2, [r4, #0x448] str r2, [r4, #0x450] add r0, r4, #0x400 strh r2, [r0, #0x54] strh r2, [r0, #0x56] strh r2, [r0, #0x58] strh r2, [r0, #0x5a] strh r2, [r0, #0x5c] strh r2, [r0, #0x5e] strh r2, [r0, #0x60] strh r2, [r0, #0x66] strh r2, [r0, #0x68] strh r2, [r0, #0x6a] strb r2, [r4, #0x46c] strb r2, [r4, #0x46d] strb r2, [r4, #0x46e] strb r2, [r4, #0x46f] strb r2, [r4, #0x471] strb r2, [r4, #0x472] strb r2, [r4, #0x473] strb r2, [r4, #0x474] add r0, r4, #0x78 ldr r1, _021776a4 ; =data_ov00_020e2f04 strb r2, [r4, #0x475] str r1, [r4, #0x478] add r1, r0, #0x400 mov r0, #1 strb r0, [r1, #4] strb r2, [r1, #5] str r2, [r1, #8] str r2, [r1, #0xc] ldr r0, _021776a8 ; =data_ov00_020e2e3c str r2, [r1, #0x10] str r0, [r4, #0x478] str r2, [r1, #0x20] str r2, [r1, #0x14] str r2, [r1, #0x18] ldr r0, _021776ac ; =data_ov15_0218ded8 str r2, [r1, #0x1c] str r0, [r4, #0x4a0] str r4, [r4, #0x4a4] strb r2, [r4, #0x4a8] strb r2, [r4, #0x4a9] mov r0, r4 strb r2, [r4, #0x4aa] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02177548 _021776a0: .word data_ov15_0218de14 _021776a4: .word data_ov00_020e2f04 _021776a8: .word data_ov00_020e2e3c _021776ac: .word data_ov15_0218ded8 .global func_ov15_021776b0 arm_func_start func_ov15_021776b0 func_ov15_021776b0: ; 0x021776b0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021776b0 .global func_ov15_021776c4 arm_func_start func_ov15_021776c4 func_ov15_021776c4: ; 0x021776c4 stmdb sp!, {r4, lr} ldr r1, _021777e8 ; =data_ov15_0218de14 mov r4, r0 ldr r0, _021777ec ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 bl func_ov00_020838d8 ldr r0, _021777f0 ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_02093af0 ldr r0, _021777f4 ; =data_027e0d38 ldr r1, _021777f8 ; =data_027e10b0 ldr r0, [r0] mov r2, #0 add r0, r0, #0xc str r2, [r1] bl func_ov00_020a5e9c cmp r0, #0x32 beq _02177774 ldr r0, _021777fc ; =gAdventureFlags mov r1, #0xf8 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _0217774c ldr r0, _021777fc ; =gAdventureFlags mov r1, #0xf7 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02177774 _0217774c: ldr r0, _02177800 ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0x66 bne _02177774 ldr r0, _02177800 ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _02177804 ; =data_ov15_02190458 mov r1, #0 bl func_ov15_021849c0 _02177774: add r0, r4, #0x4a0 bl func_ov00_02081f6c add r0, r4, #0x78 add r0, r0, #0x400 bl func_ov00_02094824 add r0, r4, #0x3b4 bl func_ov00_020b7e6c add r0, r4, #0x3b4 bl func_ov00_020b7df0 add r0, r4, #0x3a8 bl func_ov00_020b7e6c add r0, r4, #0x3a8 bl func_ov00_020b7df0 add r0, r4, #0x39c bl func_ov00_020b7e6c add r0, r4, #0x39c bl func_ov00_020b7df0 add r0, r4, #0x374 bl func_ov00_02095764 add r0, r4, #0x314 bl func_ov00_020d1980 add r0, r4, #0x2b8 blx func_ov00_020a9b0c add r0, r4, #0x1f8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0214e118 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021776c4 _021777e8: .word data_ov15_0218de14 _021777ec: .word data_027e0e60 _021777f0: .word data_027e0f6c _021777f4: .word data_027e0d38 _021777f8: .word data_027e10b0 _021777fc: .word gAdventureFlags _02177800: .word data_ov00_020eec68 _02177804: .word data_ov15_02190458 .global func_ov15_02177808 arm_func_start func_ov15_02177808 func_ov15_02177808: ; 0x02177808 stmdb sp!, {r4, lr} ldr r1, _02177934 ; =data_ov15_0218de14 mov r4, r0 ldr r0, _02177938 ; =data_027e0e60 str r1, [r4] ldr r0, [r0] add r1, r4, #0x374 bl func_ov00_020838d8 ldr r0, _0217793c ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_02093af0 ldr r0, _02177940 ; =data_027e0d38 ldr r1, _02177944 ; =data_027e10b0 ldr r0, [r0] mov r2, #0 add r0, r0, #0xc str r2, [r1] bl func_ov00_020a5e9c cmp r0, #0x32 beq _021778b8 ldr r0, _02177948 ; =gAdventureFlags mov r1, #0xf8 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 bne _02177890 ldr r0, _02177948 ; =gAdventureFlags mov r1, #0xf7 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021778b8 _02177890: ldr r0, _0217794c ; =data_ov00_020eec68 bl func_ov00_020d7424 cmp r0, #0x66 bne _021778b8 ldr r0, _0217794c ; =data_ov00_020eec68 mov r1, #0 bl func_ov00_020d716c ldr r0, _02177950 ; =data_ov15_02190458 mov r1, #0 bl func_ov15_021849c0 _021778b8: add r0, r4, #0x4a0 bl func_ov00_02081f6c add r0, r4, #0x78 add r0, r0, #0x400 bl func_ov00_02094824 add r0, r4, #0x3b4 bl func_ov00_020b7e6c add r0, r4, #0x3b4 bl func_ov00_020b7df0 add r0, r4, #0x3a8 bl func_ov00_020b7e6c add r0, r4, #0x3a8 bl func_ov00_020b7df0 add r0, r4, #0x39c bl func_ov00_020b7e6c add r0, r4, #0x39c bl func_ov00_020b7df0 add r0, r4, #0x374 bl func_ov00_02095764 add r0, r4, #0x314 bl func_ov00_020d1980 add r0, r4, #0x2b8 blx func_ov00_020a9b0c add r0, r4, #0x1f8 blx func_ov00_020a95ec mov r0, r4 bl func_ov15_0214e118 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02177808 _02177934: .word data_ov15_0218de14 _02177938: .word data_027e0e60 _0217793c: .word data_027e0f6c _02177940: .word data_027e0d38 _02177944: .word data_027e10b0 _02177948: .word gAdventureFlags _0217794c: .word data_ov00_020eec68 _02177950: .word data_ov15_02190458 .global func_ov15_02177954 arm_func_start func_ov15_02177954 func_ov15_02177954: ; 0x02177954 ldr r0, _02177960 ; =data_027e10b0 ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov15_02177954 _02177960: .word data_027e10b0 .global func_ov15_02177964 arm_func_start func_ov15_02177964 func_ov15_02177964: ; 0x02177964 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x7c ldr r1, _02177ef4 ; =data_027e10b0 mov r4, r0 str r4, [r1] ldr r1, [r4, #0x48] ldr r0, _02177ef8 ; =data_027e0e60 str r1, [sp, #0x38] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0x3c] ldr r3, [r4, #0x50] add r1, sp, #0x38 mov r2, #0 str r3, [sp, #0x40] bl func_ov00_02083ee0 ldr r2, _02177efc ; =data_027e0764 str r0, [r4, #0x4c] ldr r1, [r2] ldmib r2, {r0, r3} umull r6, r5, r3, r1 mla r5, r3, r0, r5 ldr r0, [r2, #0xc] ldr r7, [r2, #0x10] mla r5, r0, r1, r5 mov r8, #0 ldr r3, [r2, #0x14] adds r7, r7, r6 adc r6, r3, r5 str r7, [r2] mov r0, #0x15 umull r1, r3, r6, r0 mla r3, r6, r8, r3 mov r10, r8 mla r3, r10, r0, r3 str r6, [r2, #4] mov r5, #0x10 add r1, r3, #0x14 add r0, r4, #0x400 strh r1, [r0, #0x62] ldr r3, [r4, #0x48] add r1, r4, #0x100 str r3, [r4, #0x54] ldr r3, [r4, #0x4c] mov r7, #0x1400 str r3, [r4, #0x58] ldr r3, [r4, #0x50] mov r6, #0x2800 str r3, [r4, #0x5c] ldr r3, [r4, #0x48] mov lr, #0x3800 str r3, [r4, #0x1c8] ldr r3, [r4, #0x4c] sub ip, r5, #0x11 str r3, [r4, #0x1cc] ldr r9, [r4, #0x50] mov r3, #2 str r9, [r4, #0x1d0] ldrsh r9, [r4, #0x78] ldr r11, _02177f00 ; =0x0000a332 strh r9, [r1, #0xd4] str r8, [r4, #0x44c] str r7, [r4, #0x198] str r6, [r4, #0x19c] str r5, [r4, #0x6c] str lr, [r4, #0x184] str r8, [r4, #0x7c] str lr, [r4, #0x80] str r8, [r4, #0x84] str lr, [r4, #0x88] ldr r5, [r4, #0x7c] str r5, [r4, #0x8c] ldr r5, [r4, #0x80] str r5, [r4, #0x90] ldr r5, [r4, #0x84] str r5, [r4, #0x94] ldr r5, [r4, #0x88] str r5, [r4, #0x98] str r8, [r4, #0x188] str lr, [r4, #0x18c] str r8, [r4, #0x190] str lr, [r4, #0x194] str r8, [r4, #0xa8] str r8, [r4, #0xac] str r8, [r4, #0xb0] str ip, [r4, #0xb4] strh r3, [r4, #0x9c] strb r8, [r4, #0x124] str r8, [r4, #0x12c] ldr r5, _02177f04 ; =0x00003666 str r11, [r4, #0x158] str r5, [r4, #0x15c] strh r8, [r1, #0x68] ldrsh r6, [r1, #0x68] mov r5, #0x2f mov r7, #0xf strh r6, [r1, #0x6a] strh r8, [r1, #0x6e] ldrsh r9, [r1, #0x6e] mov r6, #0x3d ldr lr, _02177f08 ; =data_027e0d38 strh r9, [r1, #0x6c] str r8, [r4, #0x164] str r8, [r4, #0x160] ldr r9, [r4, #0x4c] str r8, [sp, #0xc] str r9, [r4, #0x1a0] ldr r9, [r4, #8] str r9, [r4, #0x334] ldr r9, [r4, #0xc] str r9, [r4, #0x338] strb r8, [r4, #0x368] str r5, [r4, #0x3a0] str r3, [r4, #0x3a4] str r5, [r4, #0x3ac] str r3, [r4, #0x3b0] ldr r11, [r2] ldmib r2, {r9, ip} umull r5, r3, ip, r11 mla r3, ip, r9, r3 ldr r9, [r2, #0xc] ldr ip, [r2, #0x10] mla r3, r9, r11, r3 ldr r9, [r2, #0x14] adds r5, ip, r5 adc r11, r9, r3 umull r3, r9, r11, r6 mla r9, r11, r8, r9 mla r9, r10, r6, r9 stmia r2, {r5, r11} add r2, r9, #0x3c strh r2, [r0, #0x64] strh r7, [r1, #0x20] ldr r0, [lr] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 beq _02177c5c mov r1, #0x5e ldr r0, _02177f0c ; =gAdventureFlags strh r1, [r4, #0x7a] ldr r0, [r0] mov r1, #0xf8 bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02177bd4 mov r0, r4 mov r1, #5 bl func_ov15_02177f5c ldrh r0, [r4, #0x20] mov r1, r8 bic r1, r1, #0x3f0000 and r0, r0, #0xff orr r0, r1, r0, lsl #16 str r0, [sp, #0xc] b _02177c20 _02177bd4: ldr r0, _02177f0c ; =gAdventureFlags mov r1, #0xf7 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _02177c14 mov r0, r4 mov r1, #4 bl func_ov15_02177f5c ldrh r0, [r4, #0x22] mov r1, r8 bic r1, r1, #0x3f0000 and r0, r0, #0xff orr r0, r1, r0, lsl #16 str r0, [sp, #0xc] b _02177c20 _02177c14: add sp, sp, #0x7c mov r0, r8 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02177c20: ldr r3, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] mov r0, #0x1e000 str r1, [r4, #0x388] str r3, [r4, #0x38c] str r2, [r4, #0x390] str r0, [r4, #0x394] mov r1, #0x14000 ldr r0, _02177ef8 ; =data_027e0e60 str r1, [r4, #0x398] ldr r0, [r0] add r1, r4, #0x374 bl func_ov00_020838c8 b _02177c84 _02177c5c: mov r1, #0x69 strh r1, [r4, #0x7a] ldr r0, _02177f10 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, r8 bl func_ov00_020cfae8 mov r0, r4 mov r1, r8 bl func_ov15_02177f5c _02177c84: ldr r2, _02177f14 ; =data_ov15_02186dc4 add r0, r4, #0x1d8 mov r1, #0x91 bl func_ov00_020c5c98 add r0, r4, #0x1f8 bl func_ov15_02177450 add r0, r4, #0x1d8 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [sp, #0xc] add r0, r4, #0x48 bic r1, r1, #0x6000 orr r1, r1, #0x4000 bic r1, r1, #0x1f orr r3, r1, #7 add r9, sp, #0x70 ldmia r0, {r0, r1, r2} stmia r9, {r0, r1, r2} ldr r2, [sp, #0x78] ldr r1, [sp, #0x70] add r2, r2, #0x3000 mov r8, #0x7000 mov r7, #0x3000 add r5, r4, #0x78 str r1, [sp, #0x10] str r2, [sp, #0x78] str r2, [sp, #0x18] ldr r2, [sp, #0x74] add r6, r4, #0x4a0 str r2, [sp, #0x14] str r8, [sp, #0x1c] str r7, [sp, #0x20] add r0, r5, #0x400 str r6, [sp] ldr r5, [r0] add r1, sp, #0x10 ldr r5, [r5, #0x10] mov r2, #4 str r3, [sp, #0xc] blx r5 mov r0, #0 strb r0, [r4, #0x47c] ldr r0, [r4, #0x130] cmp r0, #5 addeq sp, sp, #0x7c moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x44 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x44 str r1, [sp, #0x60] str r1, [sp, #0x64] bl func_ov00_020c3348 mvn r2, #0 mov r1, #0 mov r0, #3 strh r1, [sp, #0x44] str r2, [sp, #4] str r2, [sp, #8] strh r0, [sp, #0x46] ldr r0, [r4, #8] add r1, sp, #4 str r0, [sp, #0x60] ldr r2, [r4, #0xc] ldr r0, _02177f18 ; =data_027e0fe8 str r2, [sp, #0x64] str r1, [sp] ldr r0, [r0] ldr r1, _02177f1c ; =0x474f3245 add r3, sp, #0x44 add r2, r4, #0x48 bl func_ov00_020c4048 ldr r1, [sp, #4] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02177f20 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x3c0] mov r0, #1 strh r0, [sp, #0x44] add r1, sp, #4 str r1, [sp] ldr r0, _02177f18 ; =data_027e0fe8 ldr r1, _02177f1c ; =0x474f3245 ldr r0, [r0] add r3, sp, #0x44 add r2, r4, #0x48 bl func_ov00_020c4048 ldr r1, [sp, #4] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02177f20 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x3c4] mov r0, #2 strh r0, [sp, #0x44] add r1, sp, #4 str r1, [sp] ldr r0, _02177f18 ; =data_027e0fe8 ldr r1, _02177f1c ; =0x474f3245 ldr r0, [r0] add r3, sp, #0x44 add r2, r4, #0x48 bl func_ov00_020c4048 ldr r1, [sp, #4] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02177f20 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x3c8] mov r2, #3 mov r0, #2 strh r2, [sp, #0x44] strh r0, [sp, #0x46] add r1, sp, #4 str r1, [sp] ldr r0, _02177f18 ; =data_027e0fe8 ldr r1, _02177f1c ; =0x474f3245 ldr r0, [r0] add r3, sp, #0x44 add r2, r4, #0x48 bl func_ov00_020c4048 ldr r1, [sp, #4] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02177f20 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x3cc] mov r0, #0x2d str r0, [r4, #0x3b8] mov r0, #2 str r0, [r4, #0x3bc] mov r0, #1 add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02177964 _02177ef4: .word data_027e10b0 _02177ef8: .word data_027e0e60 _02177efc: .word data_027e0764 _02177f00: .word 0x0000a332 _02177f04: .word 0x00003666 _02177f08: .word data_027e0d38 _02177f0c: .word gAdventureFlags _02177f10: .word data_027e103c _02177f14: .word data_ov15_02186dc4 _02177f18: .word data_027e0fe8 _02177f1c: .word 0x474f3245 _02177f20: .word data_027e0fe4 .global func_ov15_02177f24 arm_func_start func_ov15_02177f24 func_ov15_02177f24: ; 0x02177f24 ldr r1, _02177f30 ; =data_ov15_0218de08 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov15_02177f24 _02177f30: .word data_ov15_0218de08 .global func_ov15_02177f34 arm_func_start func_ov15_02177f34 func_ov15_02177f34: ; 0x02177f34 ldr r1, [r1, #4] ldr r0, _02177f54 ; =0x474f3242 cmp r1, r0 ldrne r0, _02177f58 ; =0x434e424c cmpne r1, r0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_02177f34 _02177f54: .word 0x474f3242 _02177f58: .word 0x434e424c .global func_ov15_02177f5c arm_func_start func_ov15_02177f5c func_ov15_02177f5c: ; 0x02177f5c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x28 mov r6, r1 mov r7, r0 cmp r6, #5 addls pc, pc, r6, lsl #2 b _02178114 _02177f78: ; jump table b _02177f90 ; case 0 b _02177fa0 ; case 1 b _021780a0 ; case 2 b _021780c8 ; case 3 b _02178114 ; case 4 b _021780fc ; case 5 _02177f90: ldr r0, _02178128 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213751c b _02178114 _02177fa0: ldr r0, _02178128 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02137550 mvn r4, #0 add r3, sp, #0x10 mov r2, #3 mov r1, #0 add r0, sp, #0 str r4, [sp, #0x10] str r4, [sp, #0x14] str r4, [sp, #0x18] str r4, [sp, #0x1c] str r4, [sp, #0x20] str r4, [sp, #0x24] str r3, [sp, #4] str r2, [sp, #8] str r1, [sp, #0xc] bl func_ov15_02177f24 ldr r0, _0217812c ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] add r2, sp, #4 bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList cmp r0, #0 beq _0217804c ldr r0, [sp, #0xc] mov r4, #0 cmp r0, #0 ble _0217804c ldr r8, _0217812c ; =data_027e0fe4 mov r5, r4 mov r9, r4 _02178020: ldr r1, [sp, #4] ldr r0, [r8] add r1, r1, r5 bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 strneb r9, [r0, #0x118] ldr r0, [sp, #0xc] add r4, r4, #1 cmp r4, r0 add r5, r5, #8 blt _02178020 _0217804c: mov r4, #0 ldr r0, _02178130 ; =data_027e0d0c str r4, [r7, #0x44c] ldr r1, [r0] ldr r2, _02178134 ; =0x00000ccd str r1, [r7, #0x60] ldr r3, [r0, #4] add r1, r7, #0x100 str r3, [r7, #0x64] ldr r3, [r0, #8] mov r0, r7 str r3, [r7, #0x68] str r2, [r7, #0x448] strh r4, [r1, #0x6a] strh r4, [r1, #0x68] bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02178114 mov r0, r7 bl func_ov15_0217a850 b _02178114 _021780a0: ldr r0, _02178128 ; =data_027e10a4 add r1, r7, #0x48 ldr r0, [r0] bl func_ov15_0213a500 ldr r0, _02178138 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, r1 bl func_ov00_020cf9dc b _02178114 _021780c8: ldr r0, _0217813c ; =gAdventureFlags mov r1, #0xf8 ldr r0, [r0] mov r2, #1 bl _ZN14AdventureFlags3SetEjb ldr r0, _02178140 ; =data_027e0c68 ldr r2, _02178144 ; =0x00050047 add r1, r7, #0x314 bl func_02036ce4 mov r0, r7 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc b _02178114 _021780fc: mov r1, #0x1500 rsb r1, r1, #0 add r0, r7, #0x100 strh r1, [r0, #0x6a] mov r1, #0 strh r1, [r0, #0x68] _02178114: mov r0, #0 str r0, [r7, #0x138] str r6, [r7, #0x130] add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02177f5c _02178128: .word data_027e10a4 _0217812c: .word data_027e0fe4 _02178130: .word data_027e0d0c _02178134: .word 0x00000ccd _02178138: .word data_027e103c _0217813c: .word gAdventureFlags _02178140: .word data_027e0c68 _02178144: .word 0x00050047 .global func_ov15_02178148 arm_func_start func_ov15_02178148 func_ov15_02178148: ; 0x02178148 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] ldr r1, _021781b4 ; =data_ov15_02186dec add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _0217817c ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _0217817c: blx r1 mov r0, r4 bl func_ov15_0214ee34 mov r0, r4 bl func_ov15_0217a640 mov r0, #0 strb r0, [r4, #0x470] ldrb r0, [r4, #0x474] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _021781b8 ; =data_ov00_020eec9c ldr r1, _021781bc ; =0x00000463 bl func_ov00_020d7c8c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02178148 _021781b4: .word data_ov15_02186dec _021781b8: .word data_ov00_020eec9c _021781bc: .word 0x00000463 .global func_ov15_021781c0 arm_func_start func_ov15_021781c0 func_ov15_021781c0: ; 0x021781c0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02178248 mov r0, r4 bl func_ov15_0217a680 ldrb r0, [r4, #0x4a8] cmp r0, #1 bne _02178204 ldr r0, _02178254 ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_02093af0 mov r0, #0 strb r0, [r4, #0x4a8] _02178204: mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r4, #0x48] mov r1, #0 str r0, [r4, #0x54] ldr r2, [r4, #0x4c] mov r0, r4 str r2, [r4, #0x58] ldr r3, [r4, #0x50] mov r2, r1 str r3, [r4, #0x5c] bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 ldmia sp!, {r4, pc} _02178248: mvn r0, #0 str r0, [r4, #0x1a4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021781c0 _02178254: .word data_027e0f6c .global func_ov15_02178258 arm_func_start func_ov15_02178258 func_ov15_02178258: ; 0x02178258 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_0217a680 ldr r0, _02178390 ; =gAdventureFlags ldr r1, [r4, #0x370] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 bne _021782a4 ldr r0, [r4, #0x130] sub r0, r0, #3 cmp r0, #2 bhi _021782bc _021782a4: mov r1, #1 mov r0, r4 strb r1, [r4, #0x470] ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 _021782bc: ldrb r0, [r4, #0x4a8] cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x130] cmp r0, #4 addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0xa000 addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} ldr r0, _02178394 ; =data_027e077c ldr r0, [r0] cmp r0, #0x11 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02178398 ; =data_027e0f94 ldr r1, [sp, #0x14] ldr r3, [r0, #4] add r2, r1, #0x3000 ldr r1, [sp, #0xc] add r0, r4, #0x78 str r1, [sp] str r3, [sp, #0x10] str r3, [sp, #4] add r0, r0, #0x400 str r2, [sp, #0x14] str r2, [sp, #8] ldr r2, [r0] add r1, sp, #0 ldr r2, [r2, #0x30] blx r2 add r0, r4, #0x78 add r0, r0, #0x400 ldr r2, [r0] mov r1, #0x7000 ldr r2, [r2, #0x34] blx r2 ldr r0, _0217839c ; =data_027e0f6c add r1, r4, #0x78 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_02093a5c mov r0, #1 strb r0, [r4, #0x4a8] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02178258 _02178390: .word gAdventureFlags _02178394: .word data_027e077c _02178398: .word data_027e0f94 _0217839c: .word data_027e0f6c .global func_ov15_021783a0 arm_func_start func_ov15_021783a0 func_ov15_021783a0: ; 0x021783a0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrb r1, [r4, #0x471] cmp r1, #0 bne _02178408 mov r1, #0 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 beq _02178408 bl func_ov15_0213ce4c ldrh r1, [r4, #0x24] and r1, r1, #0xff bl func_ov15_0213dcc4 bl func_ov15_0213ce4c bl func_ov15_0213d3e8 mov r0, #1 strb r0, [r4, #0x471] ldr r0, _02178480 ; =data_027e0c68 ldr r1, _02178484 ; =0x00050025 ldr r2, _02178488 ; =data_027e0f94 mov r3, #0 bl func_02036da8 mov r1, #0 add r0, r4, #0x400 strh r1, [r0, #0x68] _02178408: mov r0, r4 bl func_ov15_02179d64 ldr r1, _0217848c ; =data_ov15_02186f48 mov r0, r4 bl func_ov15_02179ac8 mov r0, r4 bl func_ov15_021797d0 mov r0, r4 bl func_ov15_02179ff0 mov r0, r4 bl func_ov15_0217a568 ldr r1, _02178490 ; =data_027e10a4 mov r0, r4 ldr r1, [r1] mov r2, #1 strb r2, [r1, #0x4d4] bl func_ov15_0217a734 ldr r0, _02178490 ; =data_027e10a4 ldr r2, [r4, #0x4c] ldr r3, [r4, #0x50] ldr r1, [r4, #0x48] add r2, r2, #0x6800 str r1, [sp] ldr r0, [r0] add r1, sp, #0 str r2, [sp, #4] str r3, [sp, #8] bl func_ov15_02137574 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021783a0 _02178480: .word data_027e0c68 _02178484: .word 0x00050025 _02178488: .word data_027e0f94 _0217848c: .word data_ov15_02186f48 _02178490: .word data_027e10a4 .global func_ov15_02178494 arm_func_start func_ov15_02178494 func_ov15_02178494: ; 0x02178494 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x5c mov r5, r0 ldr r2, [r5, #0x370] mvn r1, #0 cmp r2, r1 bne _021784d0 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0x5c ldmeqia sp!, {r4, r5, pc} mov r0, r5 bl func_ov15_0217a850 add sp, sp, #0x5c ldmia sp!, {r4, r5, pc} _021784d0: bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r5, #0x138] cmp r0, #0x1e bgt _021787e0 bne _02178954 add r4, r5, #0x48 add r3, sp, #0x20 ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, _0217898c ; =data_ov15_0218ddcc ldr r2, _02178990 ; =data_ov15_0218ddc8 mov r0, r4 bl func_ov15_0215cb24 ldr r1, [sp, #0x24] ldr r2, _02178994 ; =data_ov15_02186d80 add r1, r1, #0x66 add r1, r1, #0x3600 add ip, r1, r0 ldr r4, [r5, #0x448] ldr r3, [r2, #0x19c] ldr r0, [r2, #0x194] ldr r1, [r2, #0x198] sub r2, ip, r4 str r0, [sp, #0x58] str r2, [sp, #0x24] str r3, [sp, #0x50] str r1, [sp, #0x54] ldrsh r1, [r5, #0x78] add r0, sp, #0x50 bl func_ov00_020a61ac add r0, sp, #0x50 add r1, sp, #0x20 mov r2, r0 bl func_01ff9bc4 ldr r1, _02178994 ; =data_ov15_02186d80 add r0, sp, #0x44 ldr r3, [r1, #0x1a8] ldr r2, [r1, #0x1a4] ldr r1, [r1, #0x1a0] str r3, [sp, #0x44] str r2, [sp, #0x48] str r1, [sp, #0x4c] ldrsh r1, [r5, #0x78] bl func_ov00_020a61ac add r0, sp, #0x44 add r1, sp, #0x20 mov r2, r0 bl func_01ff9bc4 ldr r1, _02178994 ; =data_ov15_02186d80 add r0, sp, #0x38 ldr r2, [r1, #0x1b4] str r2, [sp, #0x38] ldr r2, [r1, #0x1b0] str r2, [sp, #0x3c] ldr r1, [r1, #0x1ac] str r1, [sp, #0x40] ldrsh r1, [r5, #0x78] bl func_ov00_020a61ac add r0, sp, #0x38 add r1, sp, #0x20 mov r2, r0 bl func_01ff9bc4 ldr r1, _02178994 ; =data_ov15_02186d80 add r0, sp, #0x2c ldr r2, [r1, #0x1c0] str r2, [sp, #0x2c] ldr r2, [r1, #0x1bc] str r2, [sp, #0x30] ldr r1, [r1, #0x1b8] str r1, [sp, #0x34] ldrsh r1, [r5, #0x78] bl func_ov00_020a61ac add r0, sp, #0x2c add r1, sp, #0x20 mov r2, r0 bl func_01ff9bc4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 mov r1, #0x26 ldr r0, [r0] add r2, sp, #0x50 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 add r2, sp, #0x50 ldr r0, [r0] mov r1, #0x27 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 add r2, sp, #0x50 ldr r0, [r0] mov r1, #0x28 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 add r2, sp, #0x50 ldr r0, [r0] mov r1, #0x29 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 mov r1, #0x2a ldr r0, [r0] add r2, sp, #0x44 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 mov r1, #0x2a ldr r0, [r0] add r2, sp, #0x38 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 mov r1, #0x2b ldr r0, [r0] add r2, sp, #0x2c mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 ldr r1, _0217899c ; =0x00001003 ldr r0, [r0] add r2, sp, #0x44 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 ldr r1, _0217899c ; =0x00001003 ldr r0, [r0] add r2, sp, #0x38 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 ldr r1, _0217899c ; =0x00001003 ldr r0, [r0] add r2, sp, #0x2c mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021789a0 ; =data_027e0e60 ldr r2, [r5, #0x4c] ldr r4, [r5, #0x50] ldr r3, [r5, #0x48] ldr r0, [r0] str r2, [sp, #0x54] add r1, sp, #0x50 mov r2, #0 str r3, [sp, #0x50] str r4, [sp, #0x58] bl func_ov00_02083ee0 mov r2, #0 str r0, [sp, #0x54] ldr r1, _021789a4 ; =0x00001ccd add r0, sp, #0x50 mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02178998 ; =data_027e0e58 mov r1, #0x2c ldr r0, [r0] add r2, sp, #0x50 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021789a8 ; =data_ov00_020eec9c ldr r1, _021789ac ; =0x00000462 bl func_ov00_020d77e4 b _02178954 _021787e0: mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _021789b0 ; =data_027e0ffc ldr r1, _021789b4 ; =0x00000461 add r2, r5, #0x48 bl func_ov00_020cec60 ldr r0, [r5, #0x138] cmp r0, #0x46 blt _02178810 mov r0, r5 bl func_ov15_0217a79c _02178810: ldr r2, [r5, #0x138] cmp r2, #0x82 bgt _02178910 ldr r1, [r5, #0x48] rsb r4, r2, #0x82 str r1, [sp, #8] ldr r1, [r5, #0x4c] ldr r0, _021789a0 ; =data_027e0e60 str r1, [sp, #0xc] ldr r3, [r5, #0x50] ldr r0, [r0] add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] mov r4, r4, lsl #0xc bl func_ov00_02083ee0 ldr r1, _021789b8 ; =0xffffc4cd cmp r4, #0x1000 add r2, r0, r1 strle r2, [r5, #0x4c] ble _02178880 ldr r0, [r5, #0x4c] mov r1, r4 sub r0, r2, r0 bl Divide ldr r1, [r5, #0x4c] add r0, r1, r0 str r0, [r5, #0x4c] _02178880: cmp r4, #0x1000 bgt _02178898 ldr r1, _021789bc ; =0xffffe4a8 add r0, r5, #0x100 strh r1, [r0, #0x6a] b _021788cc _02178898: add r0, r5, #0x100 ldrsh r2, [r0, #0x6a] ldr r0, _021789bc ; =0xffffe4a8 mov r1, r4 sub r0, r0, r2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl Divide add r1, r5, #0x100 ldrsh r2, [r1, #0x6a] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x6a] _021788cc: cmp r4, #0x1000 add r0, r5, #0x100 movle r1, #0 strleh r1, [r0, #0x68] ble _02178954 ldrsh r0, [r0, #0x68] mov r1, r4 rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl Divide add r1, r5, #0x100 ldrsh r2, [r1, #0x68] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x68] b _02178954 _02178910: cmp r2, #0xb4 ble _02178954 ldr r0, _021789c0 ; =gAdventureFlags ldr r1, [r5, #0x370] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02178940 ldr r0, _021789c0 ; =gAdventureFlags ldr r1, [r5, #0x370] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02178940: mvn r2, #0 mov r0, r5 mov r1, #2 str r2, [r5, #0x370] bl func_ov15_02177f5c _02178954: ldr r1, _0217898c ; =data_ov15_0218ddcc ldr r2, _02178990 ; =data_ov15_0218ddc8 add r0, r5, #0x48 bl func_ov15_0215cb24 ldr r1, [r5, #0x4c] add r1, r1, #0x66 add r1, r1, #0x3600 add r1, r1, r0 str r1, [r5, #0x1a0] ldr r0, [r5, #0x448] sub r0, r1, r0 str r0, [r5, #0x1a0] add sp, sp, #0x5c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02178494 _0217898c: .word data_ov15_0218ddcc _02178990: .word data_ov15_0218ddc8 _02178994: .word data_ov15_02186d80 _02178998: .word data_027e0e58 _0217899c: .word 0x00001003 _021789a0: .word data_027e0e60 _021789a4: .word 0x00001ccd _021789a8: .word data_ov00_020eec9c _021789ac: .word 0x00000462 _021789b0: .word data_027e0ffc _021789b4: .word 0x00000461 _021789b8: .word 0xffffc4cd _021789bc: .word 0xffffe4a8 _021789c0: .word gAdventureFlags .global func_ov15_021789c4 arm_func_start func_ov15_021789c4 func_ov15_021789c4: ; 0x021789c4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #0 mov r4, r0 str r1, [sp] ldr r3, [r4, #8] ldr r0, _02178a58 ; =data_027e0ffc ldr r1, _02178a5c ; =0x00000461 add r2, r4, #0x48 bl func_ov00_020cec60 mov r0, r4 bl func_ov15_0217a79c mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x4800 bgt _02178a10 mov r0, r4 mov r1, #3 bl func_ov15_02177f5c _02178a10: ldr r0, _02178a60 ; =data_027e10a4 mov r3, #1 ldr r0, [r0] ldr r1, _02178a64 ; =data_ov15_0218ddcc strb r3, [r0, #0x4d4] ldr r2, _02178a68 ; =data_ov15_0218ddc8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r1, [r4, #0x4c] add r1, r1, #0x66 add r1, r1, #0x3600 add r1, r1, r0 str r1, [r4, #0x1a0] ldr r0, [r4, #0x448] sub r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021789c4 _02178a58: .word data_027e0ffc _02178a5c: .word 0x00000461 _02178a60: .word data_027e10a4 _02178a64: .word data_ov15_0218ddcc _02178a68: .word data_ov15_0218ddc8 .global func_ov15_02178a6c arm_func_start func_ov15_02178a6c func_ov15_02178a6c: ; 0x02178a6c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #0 mov r4, r0 str r1, [sp] ldr r3, [r4, #8] ldr r0, _02178b60 ; =data_027e0ffc ldr r1, _02178b64 ; =0x00000461 add r2, r4, #0x48 bl func_ov00_020cec60 mov r0, r4 bl func_ov15_0217a79c mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, #0x10000 ldr r1, [r4, #0x32c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _02178b18 add r0, r4, #0x314 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x32c] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02178b18 mov r1, #0 ldr r0, _02178b68 ; =gAdventureFlags strb r1, [r4, #0x474] ldr r0, [r0] mov r1, #0x18 bl _ZN14AdventureFlags18func_ov00_02097968Ei add r0, r4, #0x3b4 bl func_ov00_020b7e6c ldr r0, _02178b6c ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cf9dc _02178b18: ldr r0, _02178b70 ; =data_027e10a4 mov r3, #1 ldr r0, [r0] ldr r1, _02178b74 ; =data_ov15_0218ddcc strb r3, [r0, #0x4d4] ldr r2, _02178b78 ; =data_ov15_0218ddc8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r1, [r4, #0x4c] add r1, r1, #0x66 add r1, r1, #0x3600 add r1, r1, r0 str r1, [r4, #0x1a0] ldr r0, [r4, #0x448] sub r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02178a6c _02178b60: .word data_027e0ffc _02178b64: .word 0x00000461 _02178b68: .word gAdventureFlags _02178b6c: .word data_027e103c _02178b70: .word data_027e10a4 _02178b74: .word data_ov15_0218ddcc _02178b78: .word data_ov15_0218ddc8 .global func_ov15_02178b7c arm_func_start func_ov15_02178b7c func_ov15_02178b7c: ; 0x02178b7c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x30 mov r4, r0 bl func_ov15_0217aa30 ldrb r0, [r4, #0x46f] cmp r0, #0 bne _02178c58 mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0xf000 bge _02178c58 mov r3, #0 sub r2, r3, #2 mov r5, #0x47 mov r1, #0xff ldr r0, _02178c68 ; =data_027e0e60 str r2, [sp, #0x24] str r5, [sp, #0x18] str r3, [sp, #0x1c] str r3, [sp, #0x20] strh r3, [sp, #0x28] strb r3, [sp, #0x2b] strb r3, [sp, #0x2c] strb r3, [sp, #0x2d] strb r1, [sp, #0x2a] ldrh r1, [r4, #0x22] ldr r0, [r0] add r2, sp, #0x18 bl func_ov00_020838e8 cmp r0, #0 beq _02178c58 ldr r0, _02178c6c ; =data_027e10a4 ldrsh r5, [sp, #0x28] ldrb lr, [sp, #0x2a] ldrb ip, [sp, #0x2b] ldrb r3, [sp, #0x2c] ldrb r2, [sp, #0x2d] ldr r9, [sp, #0x18] ldr r8, [sp, #0x1c] ldr r7, [sp, #0x20] ldr r6, [sp, #0x24] ldr r0, [r0] add r1, sp, #0 str r9, [sp] str r8, [sp, #4] str r7, [sp, #8] str r6, [sp, #0xc] strh r5, [sp, #0x10] strb lr, [sp, #0x12] strb ip, [sp, #0x13] strb r3, [sp, #0x14] strb r2, [sp, #0x15] bl func_ov15_021413f8 mov r0, #1 strb r0, [r4, #0x46f] _02178c58: mov r0, r4 bl func_ov15_0217a734 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02178b7c _02178c68: .word data_027e0e60 _02178c6c: .word data_027e10a4 .global func_ov15_02178c70 arm_func_start func_ov15_02178c70 func_ov15_02178c70: ; 0x02178c70 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl func_ov15_0217aa30 ldr r1, [r4, #0x48] ldr r0, _02178d64 ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r3, [r4, #0x50] add r1, sp, #0 mov r2, #0 str r3, [sp, #8] bl func_ov00_02083ee0 sub r0, r0, #0x1000 mov r1, #0x1500 str r0, [r4, #0x4c] rsb r1, r1, #0 add r0, r4, #0x100 strh r1, [r0, #0x6a] mov r1, #0 strh r1, [r0, #0x68] ldrb r0, [r4, #0x470] cmp r0, #0 beq _02178cfc ldr r1, _02178d68 ; =data_ov15_0218ddcc ldr r2, _02178d6c ; =data_ov15_0218ddc8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r1, [r4, #0x4c] add sp, sp, #0xc add r0, r1, r0 str r0, [r4, #0x1a0] ldmia sp!, {r3, r4, pc} _02178cfc: ldrb r0, [r4, #0x46f] cmp r0, #0 bne _02178d40 mov r0, r4 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x5000 bge _02178d40 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02178d40 ldr r0, _02178d70 ; =gAdventureFlags mov r1, #0x18 ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097968Ei mov r0, #1 strb r0, [r4, #0x46f] _02178d40: ldr r1, _02178d68 ; =data_ov15_0218ddcc ldr r2, _02178d6c ; =data_ov15_0218ddc8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r1, [r4, #0x4c] add r0, r1, r0 str r0, [r4, #0x1a0] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02178c70 _02178d64: .word data_027e0e60 _02178d68: .word data_ov15_0218ddcc _02178d6c: .word data_ov15_0218ddc8 _02178d70: .word gAdventureFlags .global func_ov15_02178d74 arm_func_start func_ov15_02178d74 func_ov15_02178d74: ; 0x02178d74 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x70 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x70 ldmeqia sp!, {r4, r5, r6, pc} ldrb r0, [r4, #0x1ab] cmp r0, #0 moveq r0, #1 addeq sp, sp, #0x70 streqb r0, [r4, #0x1ab] ldmeqia sp!, {r4, r5, r6, pc} add r0, r4, #0x100 ldrh r1, [r0, #0x68] ldr r3, _02178fe8 ; =data_02050f54 add r0, sp, #0x4c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov r5, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] blx func_01ff8230 ldr r0, [r4, #0x130] cmp r0, #0 cmpne r0, #4 add r0, r4, #0x100 bne _02178e14 ldrsh r1, [r0, #0x6a] add r0, sp, #0x4c mov r1, r1, lsl #0x1 rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov15_0215cf70 b _02178e20 _02178e14: ldrsh r1, [r0, #0x6a] add r0, sp, #0x4c bl func_ov15_0215cf70 _02178e20: ldrsh r1, [r4, #0x78] add r0, sp, #0x4c bl func_ov15_0215cfc8 mov r0, #0x8000 ldr r1, [r4, #0x1a0] rsb r0, r0, #0 cmp r1, r0 bge _02178e58 add r0, r4, #0x39c bl func_ov00_020b7e6c add r0, r4, #0x3a8 bl func_ov00_020b7e6c add sp, sp, #0x70 ldmia sp!, {r4, r5, r6, pc} _02178e58: ldr r0, [r4, #0x48] add r1, sp, #0x4c str r0, [sp, #0x40] ldr r0, [r4, #0x4c] add r2, sp, #0x40 str r0, [sp, #0x44] ldr r3, [r4, #0x50] add r0, r4, #0x1d8 str r3, [sp, #0x48] ldr r3, [r4, #0x1a0] str r3, [sp, #0x44] bl func_ov00_020c5e88 add r6, r4, #0x254 add r5, r4, #0x3d0 ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r6, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} add lr, r4, #0x284 add ip, r4, #0x400 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r0, [r4, #0x130] cmp r0, #0 cmpne r0, #4 bne _02178f18 ldr r0, [r4, #0x3c0] add r1, r4, #0x3d0 add r2, r4, #0x400 bl func_ov15_0217b84c ldr r0, [r4, #0x3c4] add r1, r4, #0x3d0 add r2, r4, #0x400 bl func_ov15_0217b84c ldr r0, [r4, #0x3c8] add r1, r4, #0x3d0 add r2, r4, #0x400 bl func_ov15_0217b84c ldr r0, [r4, #0x3cc] add r1, r4, #0x3d0 add r2, r4, #0x400 bl func_ov15_0217b84c _02178f18: add r1, sp, #4 add r0, r4, #0x3d0 bl func_020079f4 add r0, sp, #4 mov ip, #0x3000 ldr r3, _02178fec ; =0x00001666 mov r1, r0 mov r2, #0xcd str ip, [sp] bl func_01ff8988 ldr r1, [sp, #0x28] add r0, sp, #0x34 ldr ip, [sp, #0x2c] ldr r3, [sp, #0x30] str r1, [sp, #0x34] mov r2, r0 add r1, r4, #0x400 str ip, [sp, #0x38] str r3, [sp, #0x3c] bl func_01ff9158 ldr r0, _02178ff0 ; =data_027e0e58 add r1, r4, #0x39c ldr r0, [r0] add r2, sp, #0x34 bl func_ov00_0207c474 add r0, r4, #0x3d0 add r1, sp, #4 bl func_020079f4 mov r0, #0x3000 str r0, [sp] add r0, sp, #4 ldr r3, _02178ff4 ; =0xffffe99a mov r2, #0xcd mov r1, r0 bl func_01ff8988 ldr r1, [sp, #0x28] ldr r0, [sp, #0x2c] str r1, [sp, #0x34] ldr r1, [sp, #0x30] str r0, [sp, #0x38] add r0, sp, #0x34 str r1, [sp, #0x3c] add r1, r4, #0x400 mov r2, r0 bl func_01ff9158 ldr r0, _02178ff0 ; =data_027e0e58 add r1, r4, #0x3a8 ldr r0, [r0] add r2, sp, #0x34 bl func_ov00_0207c474 add sp, sp, #0x70 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02178d74 _02178fe8: .word data_02050f54 _02178fec: .word 0x00001666 _02178ff0: .word data_027e0e58 _02178ff4: .word 0xffffe99a .global func_ov15_02178ff8 arm_func_start func_ov15_02178ff8 func_ov15_02178ff8: ; 0x02178ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xa0 ldrh r1, [r1] mov r10, r0 ldrh r4, [r10, #0x7a] tst r1, #4 bne _02179020 tst r1, #8 addeq sp, sp, #0xa0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02179020: cmp r4, #0x69 beq _021790c8 add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _0217932c ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r10, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0xa0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x80 bl func_01ffbe34 mov r0, #1 str r0, [sp, #0x84] ldrb r0, [r10, #0x4a9] cmp r0, #0 beq _02179098 ldr r0, _02179330 ; =data_027e103c ldr r0, [r0] bl func_ov05_021040ec cmp r0, #0 movne r4, #0x63 moveq r4, #0x5e b _021790a4 _02179098: ldrb r0, [r10, #0x4aa] cmp r0, #0 movne r4, #0x63 _021790a4: add r1, sp, #0x80 str r1, [sp] ldr r0, _02179334 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, r4 bl func_020313c8 add sp, sp, #0xa0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021790c8: add r0, sp, #0x60 bl func_01ffbe34 mov r1, #1 add r0, sp, #0x50 str r1, [sp, #0x64] bl func_01ff8000 add r0, sp, #0x50 ldr r7, _02179338 ; =data_ov15_02186e60 ldr r6, _0217933c ; =data_ov15_02186e9c mov r9, #0 str r0, [sp, #0x60] add r4, r10, #0x400 add r11, sp, #0x44 add r5, sp, #0x60 mov r8, #1 _02179104: ldrh r0, [r4, #0x6a] tst r0, r8, lsl sb bne _0217916c ldr r2, [r7, r9, lsl #2] mov r0, r11 add r1, r6, r2, lsl #3 ldr r2, [r6, r2, lsl #3] ldr r1, [r1, #4] str r2, [sp, #0x44] str r1, [sp, #0x4c] ldrsh r1, [r4, #0x56] bl func_ov00_020a61ac ldr r1, [sp, #0x44] ldr r0, [sp, #0x4c] mov r1, r1, asr #0xc mov r0, r0, asr #0xc add r1, r1, #0x7f add r0, r0, #0x46 str r0, [sp, #0x10] str r1, [sp, #0x14] str r5, [sp] ldr r0, _02179334 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x6a bl func_020313c8 _0217916c: add r9, r9, #1 cmp r9, #0xf blt _02179104 ldr r0, _02179340 ; =data_027e0d0c add r4, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add r5, r10, #0x400 ldrh r0, [r5, #0x5a] ldr r3, _02179344 ; =data_02050f54 mov r2, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r6, [r3, r0] mov r1, #0xe000 ldr r0, [sp, #0x40] umull r8, r7, r6, r1 mla r7, r6, r2, r7 mov r6, r6, asr #0x1f mla r7, r6, r1, r7 adds r8, r8, #0x800 adc r1, r7, #0 mov r6, r8, lsr #0xc orr r6, r6, r1, lsl #20 sub ip, r0, r6 str ip, [sp, #0x40] ldr r8, [r10, #0x43c] ldrh r5, [r5, #0x5a] mov r1, r4 mov r0, #0x7000 mov r4, r5, asr #0x4 mov r9, r4, lsl #0x1 mov r4, r9, lsl #0x1 ldrsh r5, [r3, r4] add r4, r9, #1 umull r11, r9, r8, r0 mov r4, r4, lsl #0x1 ldrsh r4, [r3, r4] mla r9, r8, r2, r9 mov r7, r8, asr #0x1f mla r9, r7, r0, r9 adds r7, r11, #0x800 adc r0, r9, #0 mov r9, r7, lsr #0xc orr r9, r9, r0, lsl #20 smull r8, r7, r5, r9 smull r5, r0, r4, r9 adds r8, r8, #0x800 adc r4, r7, #0 mov r7, r8, lsr #0xc ldr r6, [sp, #0x38] orr r7, r7, r4, lsl #20 add r4, r6, r7 str r4, [sp, #0x38] adds r4, r5, #0x800 adc r0, r0, #0 mov r4, r4, lsr #0xc orr r4, r4, r0, lsl #20 add r0, ip, r4 str r0, [sp, #0x40] add lr, sp, #0x14 str lr, [sp] add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _0217932c ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 bl func_ov00_02079470 ldr r1, [sp, #0x14] ldr r0, [sp, #0x10] sub r1, r1, #1 sub r0, r0, #0xa str r0, [sp, #0x10] ldr r2, _02179348 ; =data_02051f54 str r1, [sp, #0x14] ldrsh r1, [r2] ldrsh r2, [r2, #2] add r0, sp, #0x50 rsb r2, r2, #0 blx func_01ff8018 add r1, sp, #0x50 add r0, sp, #0x60 str r1, [sp, #0x60] str r0, [sp] ldr r0, _02179334 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x68 bl func_020313c8 ldrh r4, [r10, #0x7a] add r0, sp, #0x18 bl func_01ffbe34 mov r0, #1 mov r1, #2 strb r0, [sp, #0x2c] add r0, r10, #0x400 str r1, [sp, #0x1c] ldrsh r1, [r0, #0x56] ldr r0, _02179334 ; =data_02063e4c add r5, sp, #0x18 add r1, r1, #0x4000 strh r1, [sp, #0x2e] mov r3, r4 mov r1, #0x7f mov r2, #0x46 str r5, [sp] bl func_020313c8 add sp, sp, #0xa0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02178ff8 _0217932c: .word data_027e0d3c _02179330: .word data_027e103c _02179334: .word data_02063e4c _02179338: .word data_ov15_02186e60 _0217933c: .word data_ov15_02186e9c _02179340: .word data_027e0d0c _02179344: .word data_02050f54 _02179348: .word data_02051f54 .global func_ov15_0217934c arm_func_start func_ov15_0217934c func_ov15_0217934c: ; 0x0217934c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc8 mov r5, r1 ldr r3, [r5, #0x14] ldr r1, _021796a4 ; =0x434e424c ldr r2, [r3, #4] mov r4, r0 cmp r2, r1 addne sp, sp, #0xc8 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r3, #0x48 add r8, sp, #0xbc ldmia r0, {r0, r1, r2} stmia r8, {r0, r1, r2} ldr r0, [r5, #0x14] add r3, sp, #0xac add r5, r0, #0x7c ldmia r5, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r5, #0xc] ldr r1, [sp, #0xc0] str r0, [sp, #0xb8] add r0, r0, #0x33 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x448] add r0, r0, #0x5b00 sub r11, r3, r2 sub r1, r1, r11 cmp r1, r0 addge sp, sp, #0xc8 movge r0, #0 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r4, #0x48 add r9, sp, #0xa0 ldmia r0, {r0, r1, r2} stmia r9, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr r1, [sp, #0xa4] ldr r2, _021796a8 ; =data_02050f54 add r10, r1, #0x4800 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r3, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r5, [r2, r3] ldrsh r3, [r2, r0] ldr r0, _021796ac ; =0xffffeccd ldr r7, _021796ac ; =0xffffeccd umull r0, r6, r5, r0 mvn r2, #0 umull lr, ip, r3, r7 mla ip, r3, r2, ip mla r6, r5, r2, r6 adds r0, r0, #0x800 mov r7, r0, lsr #0xc mov r0, r8 str r10, [sp, #0xa4] mov r1, r9 ldr r9, [r4, #0x448] ldr r2, _021796ac ; =0xffffeccd sub r9, r10, r9 str r9, [sp, #0xa4] mov r9, r5, asr #0x1f ldr r5, _021796ac ; =0xffffeccd mov r3, r3, asr #0x1f mla r6, r9, r5, r6 adc r5, r6, #0 mla ip, r3, r2, ip adds r3, lr, #0x800 ldr r8, [sp, #0xa0] orr r7, r7, r5, lsl #20 add r5, r8, r7 str r5, [sp, #0xa0] adc r2, ip, #0 mov r3, r3, lsr #0xc ldr r5, [sp, #0xa8] orr r3, r3, r2, lsl #20 add r2, r5, r3 str r2, [sp, #0xa8] bl func_01ff9ec0 ldr r1, [sp, #0xb8] add r1, r1, #0x2000 cmp r0, r1 blt _0217968c add r5, sp, #0x4c add r7, r4, #0x3d0 mov r6, r5 ldmia r7!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r7!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} ldmia r7, {r0, r1, r2, r3} stmia r5, {r0, r1, r2, r3} add r5, r11, #0x33 ldr r3, _021796b0 ; =data_ov15_0218ddc4 mov r0, r6 mov r1, r6 ldr r6, [r3, #0x1c] add r2, r5, #0x5b00 str r6, [sp] ldr r3, [r3, #0x14] bl func_01ff8988 add r0, sp, #0x4c add r1, r4, #0x400 mov r2, r0 bl func_01ff8e84 ldr r0, [sp, #0x74] ldr r1, [sp, #0x70] str r0, [sp, #0x98] ldr r0, [sp, #0x78] add r8, sp, #0x4c add r9, r4, #0x3d0 str r1, [sp, #0x94] str r0, [sp, #0x9c] mov r7, r8 ldmia r9!, {r0, r1, r2, r3} stmia r8!, {r0, r1, r2, r3} ldmia r9!, {r0, r1, r2, r3} stmia r8!, {r0, r1, r2, r3} ldmia r9, {r0, r1, r2, r3} stmia r8, {r0, r1, r2, r3} ldr r6, _021796b0 ; =data_ov15_0218ddc4 mov r0, r7 ldr r1, [r6, #0x28] add r2, r5, #0x5b00 str r1, [sp] ldr r3, [r6, #0x20] mov r1, r7 bl func_01ff8988 mov r0, r7 add r1, r4, #0x400 mov r2, r0 bl func_01ff8e84 ldr r0, [sp, #0x74] ldr r1, [sp, #0x70] str r0, [sp, #0x8c] ldr r0, [sp, #0x78] add r9, r4, #0x3d0 mov r8, r7 str r1, [sp, #0x88] str r0, [sp, #0x90] ldmia r9!, {r0, r1, r2, r3} stmia r8!, {r0, r1, r2, r3} ldmia r9!, {r0, r1, r2, r3} stmia r8!, {r0, r1, r2, r3} ldmia r9, {r0, r1, r2, r3} stmia r8, {r0, r1, r2, r3} ldr r1, [r6, #0x34] add r2, r5, #0x5b00 str r1, [sp] ldr r3, [r6, #0x2c] mov r0, r7 mov r1, r7 bl func_01ff8988 mov r0, r7 add r1, r4, #0x400 mov r2, r0 bl func_01ff8e84 mov r3, #0 ldr r1, [sp, #0x70] ldr r0, [sp, #0x78] str r1, [sp, #0x7c] str r0, [sp, #0x84] str r3, [sp, #0x80] str r3, [sp, #0x8c] add r0, sp, #0x94 add r1, sp, #0xbc add r2, sp, #0x40 str r3, [sp, #0x98] str r3, [sp, #0xc0] bl func_01ff9bf8 add r0, sp, #0x88 add r1, sp, #0xbc add r2, sp, #0x34 bl func_01ff9bf8 add r0, sp, #0x7c add r1, sp, #0xbc add r2, sp, #0x28 bl func_01ff9bf8 add r0, sp, #0x40 add r1, sp, #0x34 add r2, sp, #0x1c bl func_01ff9c68 add r0, sp, #0x34 add r1, sp, #0x28 add r2, sp, #0x10 bl func_01ff9c68 add r0, sp, #0x28 add r1, sp, #0x40 add r2, sp, #4 bl func_01ff9c68 ldr r1, [sp, #0x20] cmp r1, #0 ldrlt r0, [sp, #0x14] cmplt r0, #0 ldrlt r0, [sp, #8] cmplt r0, #0 blt _0217968c cmp r1, #0 ldrge r0, [sp, #0x14] cmpge r0, #0 ldrge r0, [sp, #8] cmpge r0, #0 addlt sp, sp, #0xc8 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0217968c: add r0, r4, #0x1d8 mov r1, #1 bl func_ov00_020c5d74 mov r0, #1 add sp, sp, #0xc8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217934c _021796a4: .word 0x434e424c _021796a8: .word data_02050f54 _021796ac: .word 0xffffeccd _021796b0: .word data_ov15_0218ddc4 .global func_ov15_021796b4 arm_func_start func_ov15_021796b4 func_ov15_021796b4: ; 0x021796b4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc ldr r1, _021797c0 ; =data_027e0fac mov r4, r0 ldrsh r3, [r1] add r1, r4, #0x400 mov r2, #0 strh r3, [r1, #0x58] strh r2, [r1, #0x5e] strh r2, [r1, #0x5c] bl _ZN5Actor14GetAngleToLinkEv add r1, r4, #0x400 add r5, r0, #0x8000 ldrsh r2, [r1, #0x58] ldr r3, _021797c4 ; =data_027e0764 ldr r0, _021797c8 ; =0x00004001 sub r2, r5, r2 strh r2, [r1, #0x5a] ldrsh r5, [r1, #0x5a] mov r2, #0 mov ip, r2 strh r5, [r1, #0x60] ldr lr, [r3] ldmib r3, {r1, r5} umull r7, r6, r5, lr mla r6, r5, r1, r6 ldr r1, [r3, #0xc] ldr r8, [r3, #0x10] mla r6, r1, lr, r6 ldr r5, [r3, #0x14] adds r7, r8, r7 adc r5, r5, r6 umull r1, lr, r5, r0 mla lr, r5, r2, lr mla lr, ip, r0, lr str r7, [r3] str r5, [r3, #4] add r1, lr, #0x6000 mov r0, r4 str r1, [r4, #0x438] bl _ZN5Actor16XzDistanceToLinkEv str r0, [r4, #0x43c] str r0, [r4, #0x440] mov r0, #0 str r0, [r4, #0x444] ldr r0, [r4, #0x130] sub r0, r0, #4 cmp r0, #1 addhi sp, sp, #0xc ldmhiia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r1, _021797cc ; =data_027e0f94 add r0, r4, #0x374 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp] str r2, [sp, #4] ldr r2, [r1, #8] add r1, sp, #0 str r2, [sp, #8] ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x475] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021796b4 _021797c0: .word data_027e0fac _021797c4: .word data_027e0764 _021797c8: .word 0x00004001 _021797cc: .word data_027e0f94 .global func_ov15_021797d0 arm_func_start func_ov15_021797d0 func_ov15_021797d0: ; 0x021797d0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc mov r7, r0 add r1, r7, #0x400 ldrh r0, [r1, #0x64] cmp r0, #0 subne r0, r0, #1 strneh r0, [r1, #0x64] addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r2, _02179ac0 ; =data_027e0764 mov r5, #0 ldr r3, [r2] ldmib r2, {r0, r4} umull r8, r6, r4, r3 mla r6, r4, r0, r6 ldr r0, [r2, #0xc] ldr r4, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds r8, r4, r8 adc r6, r0, r6 mov r0, #0x3d umull r3, r4, r6, r0 str r8, [r2] mla r4, r6, r5, r4 mov r3, r5 mla r4, r3, r0, r4 str r6, [r2, #4] add r0, r4, #0x3c strh r0, [r1, #0x64] ldrsh r4, [r1, #0x5a] strh r5, [sp, #8] strb r5, [sp] cmp r4, #0x2000 ldrge r6, [r7, #0x3c4] movge r5, #1 bge _0217987c sub r0, r5, #0x2000 cmp r4, r0 ldrle r6, [r7, #0x3c8] movle r5, #2 ldrgt r6, [r7, #0x3c0] _0217987c: add r1, sp, #8 add r2, sp, #0 mov r0, r6 bl func_ov15_0217bb6c ldrb r11, [sp] cmp r11, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrh r2, [sp, #8] ldr r3, _02179ac0 ; =data_027e0764 mov ip, #1 mov lr, #0 _021798ac: ldr r9, [r3] ldmib r3, {r8, r10} umull r1, r0, r10, r9 mla r0, r10, r8, r0 ldr r8, [r3, #0xc] ldr r10, [r3, #0x10] mla r0, r8, r9, r0 ldr r9, [r3, #0x14] adds r1, r10, r1 mov r8, lr, lsl #0x2 adc r0, r9, r0 orr r8, r8, r0, lsr #30 mov r8, r8, lsl #0x10 str r1, [r3] mov r8, r8, lsr #0x10 str r0, [r3, #4] tst r2, ip, lsl r8 bne _021798ac mov r3, #0x1e000 sub r9, r3, #0x1f000 strh r8, [sp, #6] cmp r4, r9 blt _02179910 cmp r4, #0x1000 ble _02179914 _02179910: mov r3, #0 _02179914: add r4, r7, #0x100 ldrsh r4, [r4, #0x20] cmp r4, #0xa bgt _02179988 cmp r5, #0 beq _02179988 ldr r2, _02179ac0 ; =data_027e0764 mov r3, #0 ldr r5, [r2, #8] ldr r4, [r2, #0xc] umull r8, r7, r5, r1 mla r7, r5, r0, r7 ldr r5, [r2, #0x10] mla r7, r4, r1, r7 ldr r0, [r2, #0x14] adds r8, r5, r8 adc r5, r0, r7 mov r0, #0x46000 umull r1, r4, r5, r0 str r8, [r2] mla r4, r5, r3, r4 mov r1, r3 mla r4, r1, r0, r4 cmp r4, #0x46000 strleh r3, [sp, #4] movgt r0, #3 str r5, [r2, #4] strgth r0, [sp, #4] b _02179aa8 _02179988: cmp r4, #0xc bgt _02179aa0 cmp r3, #0 beq _02179a20 cmp r4, #7 bgt _02179a20 cmp r11, #1 bls _02179a20 mov r3, #0 ldr r4, _02179ac0 ; =data_027e0764 strh r3, [sp, #4] mov r5, #1 mov r7, r3 _021799bc: ldr r9, [r4, #8] ldr r3, [r4, #0xc] umull r11, r10, r9, r1 mla r10, r9, r0, r10 mla r10, r3, r1, r10 ldr r1, [r4, #0x10] ldr r0, [r4, #0x14] adds r1, r1, r11 adc r0, r0, r10 mov r3, r7, lsl #0x2 orr r3, r3, r0, lsr #30 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 str r1, [r4] str r0, [r4, #4] cmp r3, r8 beq _021799bc tst r2, r5, lsl r3 bne _021799bc ldr r2, _02179ac4 ; =data_ov15_0218ddfc add r1, sp, #2 mov r0, r6 strh r3, [sp, #2] bl func_ov15_0217bbb0 b _02179aa8 _02179a20: add r2, r3, #0x46000 cmp r2, #0 movle r5, #0 ble _02179a78 ldr r4, _02179ac0 ; =data_027e0764 ldr r7, [r4, #8] ldr r5, [r4, #0xc] umull r9, r8, r7, r1 mla r8, r7, r0, r8 mla r8, r5, r1, r8 ldr r7, [r4, #0x10] ldr r0, [r4, #0x14] adds r1, r7, r9 adc r5, r0, r8 stmia r4, {r1, r5} cmp r2, #0 beq _02179a78 mov r4, #0 umull r1, r0, r5, r2 mla r0, r5, r4, r0 mla r0, r4, r2, r0 mov r5, r0 _02179a78: cmp r5, #0x46000 movlt r0, #0 strlth r0, [sp, #4] blt _02179aa8 cmp r3, #0 movne r0, #1 strneh r0, [sp, #4] bne _02179aa8 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02179aa0: mov r0, #0 strh r0, [sp, #4] _02179aa8: add r1, sp, #6 add r2, sp, #4 mov r0, r6 bl func_ov15_0217bbb0 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021797d0 _02179ac0: .word data_027e0764 _02179ac4: .word data_ov15_0218ddfc .global func_ov15_02179ac8 arm_func_start func_ov15_02179ac8 func_ov15_02179ac8: ; 0x02179ac8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x14 ldr r3, _02179d54 ; =data_027e0fac mov r6, r0 add r2, r6, #0x400 ldrsh r4, [r3] ldrh r3, [r2, #0x58] ldrsh r5, [r2, #0x5a] mov r0, r4, lsl #0x10 rsb r0, r3, r0, lsr #16 mov r0, r0, lsl #0x10 sub r0, r5, r0, asr #16 strh r0, [r2, #0x5a] ldrsh r7, [r2, #0x5a] mov r3, #0x30000 add r0, sp, #4 mov r5, r7, lsl #0xc str r5, [sp, #4] ldrsh r8, [r2, #0x5c] ldr r2, _02179d58 ; =0x0000019a mov r5, r1 mov r8, r8, lsl #0xc str r3, [sp] mov r1, r8 mov r3, #0x6000 bl func_0202b418 ldr r0, [sp, #4] add r1, r6, #0x400 sub r2, r0, r7, lsl #12 mov r0, r2, asr #0x1f mov r3, r0, lsl #0x10 mov r0, #0x800 adds r7, r0, r2, lsl #16 orr r3, r3, r2, lsr #16 adc r0, r3, #0 mov r3, r7, lsr #0xc ldrsh r2, [r1, #0x56] orr r3, r3, r0, lsl #20 mov r0, r3, lsl #0x4 rsb r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r1, #0x14000 mov r0, r0, asr #0x4 bl Divide add r1, r6, #0x400 ldrsh r2, [r1, #0x56] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x56] ldr r0, [sp, #4] mov r0, r0, asr #0xc strh r0, [r1, #0x5a] ldr r0, [r6, #0x444] cmp r0, #0x1000 beq _02179bc4 ldrsh r2, [r1, #0x60] ldr r0, [sp, #4] subs r1, r8, r2, lsl #12 rsbmi r1, r1, #0 subs r0, r0, r2, lsl #12 rsbmi r0, r0, #0 bl Divide str r0, [r6, #0x444] _02179bc4: add r0, r6, #0x400 strh r4, [r0, #0x58] ldrsh r7, [r0, #0x5a] ldr r1, _02179d5c ; =data_02050f54 add r3, r6, #0x3c mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r8, [r1, r0] mov r1, #0x800 ldr r0, [r6, #0x438] mov r2, r8, asr #0x1f mov r2, r2, lsl #0xd adds ip, r1, r8, lsl #13 orr r2, r2, r8, lsr #19 adc r1, r2, #0 mov r2, ip, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 ldr r1, [r6, #0x440] ldr r2, [r6, #0x444] sub r0, r0, r1 smull r8, r0, r2, r0 adds r2, r8, #0x800 mov r8, r2, lsr #0xc adc r0, r0, #0 orr r8, r8, r0, lsl #20 ldr r2, [r5] add r0, r3, #0x400 add r1, r1, r8 add r5, r6, #0x72 bl Approach_thunk ldrb r1, [r6, #0x472] orrs r0, r1, r0 add r0, r4, r7 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 movne r1, #1 mov r0, r0, asr #0x4 mov r4, r0, lsl #0x1 moveq r1, #0 strb r1, [r5, #0x400] ldr r0, _02179d60 ; =data_027e0f94 add r5, sp, #8 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add r3, r4, #1 ldr r2, _02179d5c ; =data_02050f54 mov r1, r4, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r1, [r2, r1] ldr r5, [r6, #0x43c] ldrsh r0, [r2, r0] smull r2, r3, r1, r5 adds r4, r2, #0x800 smull r2, r1, r0, r5 adc r3, r3, #0 adds r2, r2, #0x800 mov r4, r4, lsr #0xc adc r0, r1, #0 mov r1, r2, lsr #0xc ldr r2, [sp, #8] orr r4, r4, r3, lsl #20 add r3, r2, r4 ldr r2, [sp, #0x10] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r3, [sp, #8] str r0, [sp, #0x10] ldr r0, [r6, #0x48] sub r0, r3, r0 str r0, [r6, #0x60] ldr r1, [sp, #0x10] ldr r0, [r6, #0x50] sub r4, r1, r0 str r4, [r6, #0x68] ldr r1, [r6, #0x60] smull r0, r2, r1, r1 adds r3, r0, #0x800 smull r1, r0, r4, r4 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 str r0, [r6, #0x44c] ldr r1, _02179d54 ; =data_027e0fac add r0, r6, #0x78 ldrsh r1, [r1] mov r2, #0xb6 bl func_0202b154 add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02179ac8 _02179d54: .word data_027e0fac _02179d58: .word 0x0000019a _02179d5c: .word data_02050f54 _02179d60: .word data_027e0f94 .global func_ov15_02179d64 arm_func_start func_ov15_02179d64 func_ov15_02179d64: ; 0x02179d64 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, [r0, #0x444] cmp r1, #0x1000 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrb r1, [r0, #0x472] cmp r1, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r1, r0, #0x400 ldrh r2, [r1, #0x62] add r3, r0, #0x400 cmp r2, #0 subne r2, r2, #1 strneh r2, [r1, #0x62] ldrh r1, [r3, #0x62] cmp r1, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r0, #0x43c] ldr ip, _02179fe8 ; =data_027e0764 str r1, [r0, #0x440] ldrsh r4, [r3, #0x5a] ldr r1, _02179fec ; =0x00004001 mov r2, #0 strh r4, [r3, #0x60] ldr r5, [ip] ldmib ip, {r4, r6} umull r7, lr, r6, r5 mla lr, r6, r4, lr ldr r4, [ip, #0xc] ldr r6, [ip, #0x10] mla lr, r4, r5, lr ldr r4, [ip, #0x14] adds r7, r6, r7 adc r6, r4, lr umull r4, r5, r6, r1 str r7, [ip] mla r5, r6, r2, r5 mov r4, r2 mla r5, r4, r1, r5 str r6, [ip, #4] add r1, r5, #0x6000 str r1, [r0, #0x438] ldrh r3, [r3, #0x6a] and r1, r3, #0xf cmp r1, #0xf and r1, r3, #0xf0 moveq r2, #1 cmp r1, #0xf0 and r1, r3, #0xf00 add r3, r0, #0x400 moveq r6, #1 movne r6, #0 cmp r1, #0xf00 moveq r7, #1 ldrsh r5, [r3, #0x5e] ldrsh r4, [r3, #0x5c] mov r1, #0 movne r7, #0 strh r4, [r3, #0x5e] str r1, [r0, #0x444] ldrsh r4, [r3, #0x5c] cmp r4, #0 bne _02179f14 cmp r6, #0 cmpne r7, #0 beq _02179ec8 cmp r2, #0 beq _02179ebc ldr r2, _02179fe8 ; =data_027e0764 ldr r5, [r2] ldmib r2, {r4, ip} umull r6, lr, ip, r5 mla lr, ip, r4, lr ldr r4, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r4, r5, lr ldr r4, [r2, #0x14] adds r5, ip, r6 adc r4, r4, lr str r5, [r2] tst r4, #0x80000000 str r4, [r2, #4] subne r1, r1, #0x4000 strneh r1, [r3, #0x5c] moveq r1, #0x4000 streqh r1, [r3, #0x5c] b _02179f88 _02179ebc: mov r1, #0x1000 str r1, [r0, #0x444] b _02179f88 _02179ec8: cmp r6, #0 mov r2, #0x4000 beq _02179ee4 rsb r2, r2, #0 add r1, r0, #0x400 strh r2, [r1, #0x5c] b _02179f88 _02179ee4: cmp r7, #0 addne r1, r0, #0x400 strneh r2, [r1, #0x5c] bne _02179f88 cmp r5, #0x4000 addne r1, r0, #0x400 strneh r2, [r1, #0x5c] bne _02179f88 rsb r2, r2, #0 add r1, r0, #0x400 strh r2, [r1, #0x5c] b _02179f88 _02179f14: cmp r4, #0x4000 bne _02179f5c cmp r2, #0 cmpne r7, #0 movne r1, #0x1000 strne r1, [r0, #0x444] bne _02179f88 cmp r2, #0 beq _02179f4c mov r2, #0x4000 rsb r2, r2, #0 add r1, r0, #0x400 strh r2, [r1, #0x5c] b _02179f88 _02179f4c: add r1, r0, #0x400 mov r2, #0 strh r2, [r1, #0x5c] b _02179f88 _02179f5c: cmp r2, #0 cmpne r6, #0 movne r1, #0x1000 strne r1, [r0, #0x444] bne _02179f88 cmp r2, #0 add r1, r0, #0x400 movne r2, #0x4000 strneh r2, [r1, #0x5c] moveq r2, #0 streqh r2, [r1, #0x5c] _02179f88: ldr r2, _02179fe8 ; =data_027e0764 mov r3, #0 ldr ip, [r2] ldmib r2, {r1, lr} umull r5, r4, lr, ip mla r4, lr, r1, r4 ldr r1, [r2, #0xc] ldr lr, [r2, #0x10] mla r4, r1, ip, r4 ldr r1, [r2, #0x14] adds r5, lr, r5 adc r4, r1, r4 mov r1, #0x15 umull ip, lr, r4, r1 str r5, [r2] mla lr, r4, r3, lr mov ip, r3 mla lr, ip, r1, lr str r4, [r2, #4] add r2, lr, #0x14 add r1, r0, #0x400 strh r2, [r1, #0x62] strb r3, [r0, #0x472] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02179d64 _02179fe8: .word data_027e0764 _02179fec: .word 0x00004001 .global func_ov15_02179ff0 arm_func_start func_ov15_02179ff0 func_ov15_02179ff0: ; 0x02179ff0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 add r1, r4, #0x400 ldrh r0, [r1, #0x6a] and r2, r0, #0xf0 cmp r2, #0xf0 andne r2, r0, #0xf00 cmpne r2, #0xf00 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} tst r0, #0xf moveq r0, #0x104 streqh r0, [r1, #0x66] ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrh r2, [r1, #0x66] cmp r2, #0 subne r0, r2, #1 strneh r0, [r1, #0x66] ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r2, _0217a0ac ; =data_027e0764 mov r3, #1 mov ip, #0 _0217a044: ldr lr, [r2] ldmib r2, {r1, r5} umull r7, r6, r5, lr mla r6, r5, r1, r6 ldr r1, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r1, lr, r6 ldr r1, [r2, #0x14] adds r7, r5, r7 adc r5, r1, r6 mov r1, ip, lsl #0x2 orr r1, r1, r5, lsr #30 mov r1, r1, lsl #0x10 str r7, [r2] mov r1, r1, lsr #0x10 str r5, [r2, #4] tst r0, r3, lsl r1 beq _0217a044 strh r1, [sp] ldr r0, [r4, #0x3c0] add r1, sp, #0 bl func_ov15_0217bafc add r0, r4, #0x400 mov r1, #0x104 strh r1, [r0, #0x66] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02179ff0 _0217a0ac: .word data_027e0764 .global func_ov15_0217a0b0 arm_func_start func_ov15_0217a0b0 func_ov15_0217a0b0: ; 0x0217a0b0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x24 mov r6, r1 mov r7, r0 cmp r3, #0 ldrh r0, [r6] beq _0217a1c4 cmp r0, #0 beq _0217a0e8 cmp r0, #1 beq _0217a108 cmp r0, #2 beq _0217a12c b _0217a150 _0217a0e8: ldrh r1, [r2] add r0, r7, #0x400 mov r2, #1 ldrh r3, [r0, #0x6a] mvn r1, r2, lsl r1 and r1, r3, r1 strh r1, [r0, #0x6a] b _0217a170 _0217a108: ldrh r1, [r2] add r0, r7, #0x400 ldrh r3, [r0, #0x6a] add r1, r1, #4 mov r2, #1 mvn r1, r2, lsl r1 and r1, r3, r1 strh r1, [r0, #0x6a] b _0217a170 _0217a12c: ldrh r1, [r2] add r0, r7, #0x400 ldrh r3, [r0, #0x6a] add r1, r1, #8 mov r2, #1 mvn r1, r2, lsl r1 and r1, r3, r1 strh r1, [r0, #0x6a] b _0217a170 _0217a150: ldrh r1, [r2] add r0, r7, #0x400 ldrh r3, [r0, #0x6a] add r1, r1, #0xc mov r2, #1 mvn r1, r2, lsl r1 and r1, r3, r1 strh r1, [r0, #0x6a] _0217a170: add r0, r7, #0x100 ldrsh r1, [r0, #0x20] add r1, r1, #1 strh r1, [r0, #0x20] ldrsh r1, [r0, #0x20] cmp r1, #0xf blt _0217a1a4 mov r1, #0xf strh r1, [r0, #0x20] mov r0, #0 add sp, sp, #0x24 str r0, [r7, #0x448] ldmia sp!, {r4, r5, r6, r7, pc} _0217a1a4: ldr r0, _0217a548 ; =0x00000ccd rsb r1, r1, #0xf mul r0, r1, r0 mov r1, #0xf000 bl Divide add sp, sp, #0x24 str r0, [r7, #0x448] ldmia sp!, {r4, r5, r6, r7, pc} _0217a1c4: cmp r0, #0 beq _0217a1e0 cmp r0, #1 beq _0217a1e8 cmp r0, #2 beq _0217a1f4 b _0217a200 _0217a1e0: ldrh r4, [r2] b _0217a208 _0217a1e8: ldrh r0, [r2] add r4, r0, #4 b _0217a208 _0217a1f4: ldrh r0, [r2] add r4, r0, #8 b _0217a208 _0217a200: ldrh r0, [r2] add r4, r0, #0xc _0217a208: add r1, r7, #0x400 ldrh r3, [r1, #0x6a] mov r2, #1 ldr r0, _0217a54c ; =0x00000fff orr r2, r3, r2, lsl r4 strh r2, [r1, #0x6a] ldr r1, [r7, #0x430] and r0, r3, r0 add r1, r1, #1 mov r0, r0, lsl #0x10 str r1, [r7, #0x430] cmp r1, #8 mov r5, r0, lsr #0x10 bne _0217a270 ldr r0, _0217a550 ; =data_027e0e60 mov r1, #0x11 ldr r0, [r0] sub r2, r1, #0x12 bl func_ov00_02082650 ldr r0, _0217a550 ; =data_027e0e60 mov r1, #0x27 ldr r0, [r0] sub r2, r1, #0x28 bl func_ov00_02082660 mov r0, #1 strb r0, [r7, #0x474] _0217a270: ldr r1, _0217a54c ; =0x00000fff cmp r5, r1 beq _0217a310 add r0, r7, #0x400 ldrh r2, [r0, #0x6a] and r2, r2, r1 cmp r2, r1 bne _0217a310 ldrsh r0, [r0, #0x5c] cmp r0, #0 bne _0217a300 ldr r0, _0217a554 ; =data_027e0764 ldr r2, [r0] ldmib r0, {r1, r3} umull ip, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [r0, #0xc] ldr r3, [r0, #0x10] mla r5, r1, r2, r5 ldr r1, [r0, #0x14] adds r2, r3, ip adc r1, r1, r5 str r2, [r0] str r1, [r0, #4] tst r1, #0x80000000 movne r1, #1 moveq r1, #0 cmp r1, #0 mov r2, #0x4000 addeq r0, r7, #0x400 streqh r2, [r0, #0x5c] beq _0217a308 rsb r2, r2, #0 add r0, r7, #0x400 strh r2, [r0, #0x5c] b _0217a308 _0217a300: movlt r1, #1 movge r1, #0 _0217a308: ldr r0, [r7, #0x3cc] bl func_ov15_0217be34 _0217a310: add r0, r7, #0x100 ldrsh r1, [r0, #0x20] sub r1, r1, #1 strh r1, [r0, #0x20] ldrsh r1, [r0, #0x20] cmp r1, #0 bgt _0217a370 mov r1, #0 strh r1, [r0, #0x20] ldr r2, _0217a548 ; =0x00000ccd mov r0, r7 mov r1, #1 str r2, [r7, #0x448] bl func_ov15_02177f5c ldr r0, _0217a558 ; =data_027e0c68 ldr r1, _0217a55c ; =0x0005003d ldr r2, _0217a560 ; =data_027e0f94 mov r3, #0 bl func_02036da8 add r0, r7, #0x400 mov r1, #0 strh r1, [r0, #0x68] add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} _0217a370: ldr r0, _0217a548 ; =0x00000ccd rsb r1, r1, #0xf mul r0, r1, r0 mov r1, #0xf000 bl Divide str r0, [r7, #0x448] ldrb r2, [r7, #0x46c] ldr r1, _0217a564 ; =data_ov15_02186e1c ldr r0, _0217a558 ; =data_027e0c68 ldr r1, [r1, r2, lsl #2] ldr r2, _0217a560 ; =data_027e0f94 mov r3, #0 bl func_02036da8 ldrb r0, [r7, #0x46c] add r1, r0, #1 and r0, r1, #0xff strb r1, [r7, #0x46c] cmp r0, #0xc movhs r0, #5 strhsb r0, [r7, #0x46c] add r1, r7, #0x400 mov r0, #0 strh r0, [r1, #0x68] ldrh r2, [r6] add r2, r2, #0xff add r2, r2, #0xff00 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #1 addhi sp, sp, #0x24 ldmhiia sp!, {r4, r5, r6, r7, pc} ldrb r2, [r7, #0x46d] add r3, r2, #1 and r2, r3, #0xff cmp r2, #2 addlo sp, sp, #0x24 strb r3, [r7, #0x46d] ldmloia sp!, {r4, r5, r6, r7, pc} cmp r2, #0xe addhs sp, sp, #0x24 ldmhsia sp!, {r4, r5, r6, r7, pc} mov r6, #4 add r2, sp, #4 mov r3, #1 _0217a420: cmp r6, r4 beq _0217a444 ldrh r5, [r1, #0x6a] tst r5, r3, lsl r6 beq _0217a444 str r6, [r2, r0, lsl #2] add r0, r0, #1 cmp r0, #8 bge _0217a450 _0217a444: add r6, r6, #1 cmp r6, #0xf blt _0217a420 _0217a450: cmp r0, #0 ble _0217a48c ldr r1, _0217a554 ; =data_027e0764 ldr r3, [r1] ldmib r1, {r2, r4} umull r6, r5, r4, r3 mla r5, r4, r2, r5 ldr r2, [r1, #0xc] ldr r4, [r1, #0x10] mla r5, r2, r3, r5 ldr r2, [r1, #0x14] adds r3, r4, r6 str r3, [r1] adc r2, r2, r5 str r2, [r1, #4] _0217a48c: cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, pc} cmp r0, #1 bne _0217a4a8 mov r4, #0 b _0217a500 _0217a4a8: cmp r0, #0 movle r4, #0 ble _0217a500 ldr r1, _0217a554 ; =data_027e0764 ldr r3, [r1] ldmib r1, {r2, r4} umull r6, r5, r4, r3 mla r5, r4, r2, r5 ldr r2, [r1, #0xc] ldr r4, [r1, #0x10] mla r5, r2, r3, r5 ldr r2, [r1, #0x14] adds r3, r4, r6 adc r4, r2, r5 stmia r1, {r3, r4} cmp r0, #0 beq _0217a500 mov r3, #0 umull r2, r1, r4, r0 mla r1, r4, r3, r1 mla r1, r3, r0, r1 mov r4, r1 _0217a500: add r0, sp, #4 ldr r0, [r0, r4, lsl #2] cmp r0, #8 bge _0217a52c sub r0, r0, #4 strh r0, [sp, #2] ldr r0, [r7, #0x3c4] add r1, sp, #2 bl func_ov15_0217bafc add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} _0217a52c: sub r0, r0, #8 strh r0, [sp] ldr r0, [r7, #0x3c8] add r1, sp, #0 bl func_ov15_0217bafc add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0217a0b0 _0217a548: .word 0x00000ccd _0217a54c: .word 0x00000fff _0217a550: .word data_027e0e60 _0217a554: .word data_027e0764 _0217a558: .word data_027e0c68 _0217a55c: .word 0x0005003d _0217a560: .word data_027e0f94 _0217a564: .word data_ov15_02186e1c .global func_ov15_0217a568 arm_func_start func_ov15_0217a568 func_ov15_0217a568: ; 0x0217a568 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 add r0, r4, #0x400 ldrh r1, [r0, #0x68] add r1, r1, #1 strh r1, [r0, #0x68] ldrh r0, [r0, #0x68] cmp r0, #0xd2 ldmlsia sp!, {r4, r5, r6, pc} ldr ip, _0217a5fc ; =data_027e0764 mov r3, #0 ldr r1, [ip] ldmib ip, {r0, r2} umull r5, lr, r2, r1 mla lr, r2, r0, lr ldr r0, [ip, #0xc] ldr r2, [ip, #0x10] mla lr, r0, r1, lr ldr r0, [ip, #0x14] adds r6, r2, r5 adc r5, r0, lr mov r0, #5 umull r1, r2, r5, r0 str r6, [ip] mla r2, r5, r3, r2 mov r1, r3 mla r2, r1, r0, r2 ldr r1, _0217a600 ; =data_ov15_02186e4c ldr r0, _0217a604 ; =data_027e0c68 ldr r1, [r1, r2, lsl #2] ldr r2, _0217a608 ; =data_027e0f94 str r5, [ip, #4] bl func_02036da8 add r0, r4, #0x400 mov r1, #0 strh r1, [r0, #0x68] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217a568 _0217a5fc: .word data_027e0764 _0217a600: .word data_ov15_02186e4c _0217a604: .word data_027e0c68 _0217a608: .word data_027e0f94 .global func_ov15_0217a60c arm_func_start func_ov15_0217a60c func_ov15_0217a60c: ; 0x0217a60c cmp r1, #0 add r1, r0, #0x400 ldrnesb r1, [r1, #0x6e] addne r1, r1, #1 ldreqsb r1, [r1, #0x6e] subeq r1, r1, #1 strb r1, [r0, #0x46e] add r1, r0, #0x400 ldrsb r1, [r1, #0x6e] cmp r1, #0 movlt r1, #0 strltb r1, [r0, #0x46e] bx lr arm_func_end func_ov15_0217a60c .global func_ov15_0217a640 arm_func_start func_ov15_0217a640 func_ov15_0217a640: ; 0x0217a640 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1d8 bl func_ov00_020c5e20 ldr r0, [r4, #0x1ec] cmp r0, #1 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x1e8] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x1d8 mov r1, #0 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217a640 .global func_ov15_0217a680 arm_func_start func_ov15_0217a680 func_ov15_0217a680: ; 0x0217a680 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #4 ldmgeia sp!, {r3, r4, r5, pc} bl func_ov15_0215cf38 add r2, r4, #0x400 ldrsh r1, [r2, #0x54] ldr lr, _0217a720 ; =data_02050f54 ldr r3, _0217a724 ; =0x00000548 add r1, r1, #0x354 add r1, r1, #0x800 strh r1, [r2, #0x54] ldrh r1, [r2, #0x54] mov ip, #0 ldr r2, _0217a728 ; =0x0000259a mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh lr, [lr, r1] ldr r1, _0217a72c ; =0x0000010a umull r5, r4, lr, r3 mla r4, lr, ip, r4 mov ip, lr, asr #0x1f mla r4, ip, r3, r4 adds r5, r5, #0x800 adc r3, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r3, lsl #20 add r4, r2, r4 bl Divide smull r2, r1, r0, r4 adds r2, r2, #0x800 ldr r0, _0217a730 ; =data_027e0d3c adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 ldr r0, [r0] rsb r1, r2, #0 bl func_ov15_0217d5f4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217a680 _0217a720: .word data_02050f54 _0217a724: .word 0x00000548 _0217a728: .word 0x0000259a _0217a72c: .word 0x0000010a _0217a730: .word data_027e0d3c .global func_ov15_0217a734 arm_func_start func_ov15_0217a734 func_ov15_0217a734: ; 0x0217a734 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor12ApplyGravityEv add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r1, _0217a790 ; =data_ov15_0218ddcc ldr r2, _0217a794 ; =data_ov15_0218ddc8 add r0, r4, #0x48 bl func_ov15_0215cb24 ldr r2, [r4, #0x4c] ldr r1, _0217a798 ; =data_ov15_02186f44 add r2, r2, #0x66 add r2, r2, #0x3600 add r2, r2, r0 str r2, [r4, #0x1a0] ldr r0, [r4, #0x448] sub r2, r2, r0 mov r0, r4 str r2, [r4, #0x1a0] bl func_ov15_0214e138 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217a734 _0217a790: .word data_ov15_0218ddcc _0217a794: .word data_ov15_0218ddc8 _0217a798: .word data_ov15_02186f44 .global func_ov15_0217a79c arm_func_start func_ov15_0217a79c func_ov15_0217a79c: ; 0x0217a79c stmdb sp!, {r4, lr} sub sp, sp, #0x30 ldr r1, _0217a844 ; =0x00001ccd mov r4, r0 mov r0, #0 str r0, [sp, #0x24] str r0, [sp, #0x2c] add r0, r4, #0x100 str r1, [sp, #0x28] ldrh r1, [r0, #0x68] ldr r3, _0217a848 ; =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_01ff8230 add r0, r4, #0x100 ldrsh r1, [r0, #0x6a] add r0, sp, #0 bl func_ov15_0215cf70 ldrsh r1, [r4, #0x78] add r0, sp, #0 bl func_ov15_0215cfc8 add r0, sp, #0x24 add r1, sp, #0 mov r2, r0 bl func_01ff88b0 add r0, sp, #0x24 add r1, r4, #0x48 mov r2, r0 bl func_01ff9bc4 ldr r0, _0217a84c ; =data_027e0e58 add r1, r4, #0x3b4 ldr r0, [r0] add r2, sp, #0x24 bl func_ov00_0207c474 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217a79c _0217a844: .word 0x00001ccd _0217a848: .word data_02050f54 _0217a84c: .word data_027e0e58 .global func_ov15_0217a850 arm_func_start func_ov15_0217a850 func_ov15_0217a850: ; 0x0217a850 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x130 mov r4, r0 add r0, sp, #0x80 bl func_ov00_0209a4f4 add r0, r4, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _0217aa20 ; =data_027e0e60 ldr r6, [sp, #0xc] ldr r5, [sp, #0x10] ldr r3, [sp, #0x14] ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r6, [sp] str r5, [sp, #4] str r3, [sp, #8] bl func_ov00_02083ee0 mov r5, #2 ldr r2, [sp, #0xc] ldr r1, _0217aa24 ; =data_027e0f64 str r2, [sp, #0xa0] mvn r2, #0 ldr r3, [sp, #0x14] str r2, [sp, #0x84] mov r2, #0x32 strb r2, [sp, #0x89] mov r2, #1 ldr r1, [r1] str r3, [sp, #0xa8] strb r5, [sp, #0x8a] strb r5, [sp, #0x8b] strb r2, [sp, #0x94] str r0, [sp, #0x10] str r0, [sp, #0xa4] ldr r0, [r1, #4] add r1, sp, #0x18 bl func_ov00_02087d34 mov r0, #0 ldr r6, _0217aa28 ; =0x000024cd mov r7, #5 mov r5, #0xfa0 str r7, [sp, #0x1c] str r0, [sp, #0x3c] str r6, [sp, #0x38] str r0, [sp, #0x34] str r5, [sp, #0x24] str r0, [sp, #0x28] ldrsh r2, [r4, #0x78] mov r3, #0xc000 ldr r1, [sp, #0x18] str r5, [sp, #0xb8] sub r5, r2, #0x6000 str r1, [sp, #0xac] ldr r1, [sp, #0x20] ldr r2, [sp, #0x40] str r1, [sp, #0xb4] ldr r1, [sp, #0x44] str r2, [sp, #0xd4] ldr r2, [sp, #0x48] str r1, [sp, #0xd8] ldr r1, [sp, #0x4c] str r2, [sp, #0xdc] ldr r2, [sp, #0x50] str r1, [sp, #0xe0] ldr r1, [sp, #0x54] str r2, [sp, #0xe4] ldr r2, [sp, #0x58] str r1, [sp, #0xe8] ldr r1, [sp, #0x5c] str r7, [sp, #0xb0] str r6, [sp, #0xcc] str r5, [sp, #0x2c] str r5, [sp, #0xc0] str r2, [sp, #0xec] str r3, [sp, #0x30] str r0, [sp, #0xbc] str r3, [sp, #0xc4] str r0, [sp, #0xc8] str r0, [sp, #0xd0] str r1, [sp, #0xf0] ldrb r5, [sp, #0x78] ldrb lr, [sp, #0x79] ldrb ip, [sp, #0x7a] ldrb r3, [sp, #0x7b] ldrb r2, [sp, #0x7c] ldr r0, [sp, #0x60] ldr r10, [sp, #0x64] ldr r9, [sp, #0x68] ldr r8, [sp, #0x6c] ldr r7, [sp, #0x70] ldr r6, [sp, #0x74] mov r11, #0x5c ldr r1, _0217aa2c ; =gAdventureFlags str r0, [sp, #0xf4] ldr r0, [r1] add r1, sp, #0x80 str r10, [sp, #0xf8] str r9, [sp, #0xfc] str r8, [sp, #0x100] str r7, [sp, #0x104] str r6, [sp, #0x108] strb r5, [sp, #0x10c] strb lr, [sp, #0x10d] strb ip, [sp, #0x10e] strb r3, [sp, #0x10f] strb r2, [sp, #0x110] str r11, [sp, #0x114] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x370] add r0, sp, #0x80 bl func_ov00_0209a508 add sp, sp, #0x130 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217a850 _0217aa20: .word data_027e0e60 _0217aa24: .word data_027e0f64 _0217aa28: .word 0x000024cd _0217aa2c: .word gAdventureFlags .global func_ov15_0217aa30 arm_func_start func_ov15_0217aa30 func_ov15_0217aa30: ; 0x0217aa30 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldr r0, [r4, #0x434] ldr r1, _0217ab54 ; =data_027e0f94 cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x434] ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp] str r2, [sp, #4] ldr r2, [r1, #8] add r0, r4, #0x374 str r2, [sp, #8] ldr r2, [r0] add r1, sp, #0 ldr r2, [r2, #0x14] blx r2 cmp r0, #0 ldrb r0, [r4, #0x473] beq _0217ab0c cmp r0, #0 bne _0217aadc ldrb r0, [r4, #0x475] cmp r0, #0 beq _0217aac4 ldr r0, _0217ab58 ; =data_ov15_02190458 mov r1, #0 strb r1, [r4, #0x475] bl func_ov15_021849dc ldr r0, _0217ab5c ; =data_ov00_020eec68 mov r1, #0x66 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 b _0217aafc _0217aac4: ldr r0, _0217ab58 ; =data_ov15_02190458 mov r1, #0x96 bl func_ov15_021849dc mov r0, #0x96 str r0, [r4, #0x434] b _0217aafc _0217aadc: ldr r0, [r4, #0x434] cmp r0, #1 bne _0217aafc ldr r0, _0217ab5c ; =data_ov00_020eec68 mov r1, #0x66 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 _0217aafc: mov r0, #1 add sp, sp, #0xc strb r0, [r4, #0x473] ldmia sp!, {r3, r4, pc} _0217ab0c: cmp r0, #0 beq _0217ab2c ldr r0, _0217ab5c ; =data_ov00_020eec68 mov r1, #0x5a bl func_ov00_020d716c mov r0, #0x5a str r0, [r4, #0x434] b _0217ab44 _0217ab2c: ldr r0, [r4, #0x434] cmp r0, #1 bne _0217ab44 ldr r0, _0217ab58 ; =data_ov15_02190458 mov r1, #0x64 bl func_ov15_021849c0 _0217ab44: mov r0, #0 strb r0, [r4, #0x473] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217aa30 _0217ab54: .word data_027e0f94 _0217ab58: .word data_ov15_02190458 _0217ab5c: .word data_ov00_020eec68 .global func_ov15_0217ab60 arm_func_start func_ov15_0217ab60 func_ov15_0217ab60: ; 0x0217ab60 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217ab60 .global func_ov15_0217ab7c arm_func_start func_ov15_0217ab7c func_ov15_0217ab7c: ; 0x0217ab7c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217ab7c .global func_ov15_0217ab98 arm_func_start func_ov15_0217ab98 func_ov15_0217ab98: ; 0x0217ab98 bx lr arm_func_end func_ov15_0217ab98 .global func_ov15_0217ab9c arm_func_start func_ov15_0217ab9c func_ov15_0217ab9c: ; 0x0217ab9c stmdb sp!, {r3, lr} ldr r1, _0217abc8 ; =data_027e0fe0 mov r0, #0x2e8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217ae64 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217ab9c _0217abc8: .word data_027e0fe0 .global func_ov15_0217abcc arm_func_start func_ov15_0217abcc func_ov15_0217abcc: ; 0x0217abcc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov ip, #0 mov r4, r0 add r0, sp, #0 mov r3, #0x1000 mov r2, r0 str ip, [sp] str r3, [sp, #4] str ip, [sp, #8] bl func_01ff88b0 ldr r2, [sp, #8] ldr r1, [sp, #4] ldr r0, [sp] strh r0, [r4, #0x50] strh r1, [r4, #0x52] strh r2, [r4, #0x54] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0217abcc .global func_ov15_0217ac18 arm_func_start func_ov15_0217ac18 func_ov15_0217ac18: ; 0x0217ac18 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r1, #0 mov r5, r0 blx func_ov00_020a956c ldr r1, _0217ac40 ; =data_ov15_0218e118 mov r0, r5 str r1, [r5] str r4, [r5, #0x5c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217ac18 _0217ac40: .word data_ov15_0218e118 .global func_ov15_0217ac44 arm_func_start func_ov15_0217ac44 func_ov15_0217ac44: ; 0x0217ac44 ldr ip, _0217ac54 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0217ac44 _0217ac54: .word func_ov00_020a9998 .global func_ov15_0217ac58 arm_func_start func_ov15_0217ac58 func_ov15_0217ac58: ; 0x0217ac58 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x6c ldr r2, [r1, #8] mov r4, r0 ldr r0, [r1, #4] tst r2, #0x10 ldrneb r5, [r1, #0xae] ldr r0, [r0, #4] ldr r1, _0217ad10 ; =data_ov15_02187004 mvneq r5, #0 add r0, r0, #0x40 bl func_0201e388 cmp r5, r0 addne sp, sp, #0x6c ldmneia sp!, {r4, r5, pc} bl func_02018450 mov lr, r0 add ip, sp, #0x3c ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, sp, #0xc mov r1, #0 bl func_0201b1bc ldr r1, [sp, #0x38] ldr r0, [sp, #0x34] str r1, [sp, #8] ldr r1, [sp, #0x30] str r0, [sp, #4] add r0, sp, #0 str r1, [sp] add r1, sp, #0x3c mov r2, r0 bl func_01ff9158 ldr r1, [r4, #0x5c] ldr r0, [sp] str r0, [r1, #0x2ac] ldr r0, [sp, #4] str r0, [r1, #0x2b0] ldr r0, [sp, #8] str r0, [r1, #0x2b4] add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217ac58 _0217ad10: .word data_ov15_02187004 .global func_ov15_0217ad14 arm_func_start func_ov15_0217ad14 func_ov15_0217ad14: ; 0x0217ad14 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r2, r5, #0x20 add r3, r5, #0x80 mov r4, r1 bl func_ov00_020c5c2c ldr r2, _0217ad78 ; =data_ov15_0218e0f4 mov r1, r4 add r0, r5, #0x20 str r2, [r5] bl func_ov15_0217ac18 add r0, r5, #0x80 add r1, r5, #0xa4 mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0217ad7c ; =data_ov15_0218e108 add r0, r5, #0xd4 add r1, r5, #0xf8 mov r2, #0 str r3, [r5, #0x80] blx func_ov00_020c0c08 ldr r1, _0217ad7c ; =data_ov15_0218e108 mov r0, r5 str r1, [r5, #0xd4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217ad14 _0217ad78: .word data_ov15_0218e0f4 _0217ad7c: .word data_ov15_0218e108 .global func_ov15_0217ad80 arm_func_start func_ov15_0217ad80 func_ov15_0217ad80: ; 0x0217ad80 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217ad80 .global func_ov15_0217ad94 arm_func_start func_ov15_0217ad94 func_ov15_0217ad94: ; 0x0217ad94 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 ldr r1, [r5, #0x1c] ldrh r1, [r1, #0x20] cmp r1, #3 bne _0217add4 ldr r2, _0217ae44 ; =data_ov15_02186fb4 mov r1, #0xf3 bl func_ov00_020c5c98 ldr r0, _0217ae48 ; =data_ov15_0218e158 blx func_02016fe8 mov r4, r0 add r0, r5, #0x20 bl func_ov15_0217ac44 b _0217adec _0217add4: ldr r2, _0217ae44 ; =data_ov15_02186fb4 mov r1, #0xf4 bl func_ov00_020c5c98 ldr r0, _0217ae4c ; =data_ov15_0218e16c blx func_02016fe8 mov r4, r0 _0217adec: add r0, r5, #0x20 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r5, #0xdc] ldr r1, _0217ae50 ; =data_ov15_0218e180 add r0, sp, #0 mov r2, #0x10 bl strncpy add r1, sp, #0 mov r0, r4 bl func_0201e544 mov r1, r0 add r0, r5, #0xd4 bl func_ov00_020c0c9c mov r2, #0x1000 add r0, r5, #0xd4 add r1, r5, #0x24 str r2, [r5, #0xe4] bl func_ov00_020c0d70 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217ad94 _0217ae44: .word data_ov15_02186fb4 _0217ae48: .word data_ov15_0218e158 _0217ae4c: .word data_ov15_0218e16c _0217ae50: .word data_ov15_0218e180 .global func_ov15_0217ae54 arm_func_start func_ov15_0217ae54 func_ov15_0217ae54: ; 0x0217ae54 ldr ip, _0217ae60 ; =func_ov00_020c0e04 add r0, r0, #0xd4 bx ip .align 2, 0 arm_func_end func_ov15_0217ae54 _0217ae60: .word func_ov00_020c0e04 .global func_ov15_0217ae64 arm_func_start func_ov15_0217ae64 func_ov15_0217ae64: ; 0x0217ae64 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _0217aea0 ; =data_ov15_0218e038 mov r1, r4 add r0, r4, #0x158 str r2, [r4] bl func_ov15_0217ad14 mov r1, #0 str r1, [r4, #0x284] str r1, [r4, #0x2dc] strb r1, [r4, #0x2e2] mov r0, r4 strb r1, [r4, #0x2e3] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217ae64 _0217aea0: .word data_ov15_0218e038 .global func_ov15_0217aea4 arm_func_start func_ov15_0217aea4 func_ov15_0217aea4: ; 0x0217aea4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x22c blx func_ov00_020a9aec add r0, r4, #0x1d8 blx func_ov00_020a9aec add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217aea4 .global func_ov15_0217aed4 arm_func_start func_ov15_0217aed4 func_ov15_0217aed4: ; 0x0217aed4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x22c blx func_ov00_020a9aec add r0, r4, #0x1d8 blx func_ov00_020a9aec add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217aed4 .global func_ov15_0217af0c arm_func_start func_ov15_0217af0c func_ov15_0217af0c: ; 0x0217af0c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r4, r0 ldrh r0, [r4, #0x22] cmp r0, #0 beq _0217afc0 add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 mvn r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldrh r1, [r4, #0x20] add r5, sp, #4 ldr r0, _0217b0f8 ; =data_027e0fe8 strh r1, [sp, #0xc] ldrh r2, [r4, #0x22] ldr r1, _0217b0fc ; =0x474f3245 add r3, sp, #0xc sub r2, r2, #1 and r2, r2, #0xff strh r2, [sp, #0xe] ldr r6, [r4, #8] add r2, r4, #0x48 str r6, [sp, #0x28] ldr r6, [r4, #0xc] str r6, [sp, #0x2c] str r5, [sp] ldr r0, [r0] bl func_ov00_020c4048 ldr r1, [sp, #4] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0217b100 ; =data_027e0fe4 mov r1, r5 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x284] _0217afc0: add r0, r4, #0x158 bl func_ov15_0217ad94 ldr r2, _0217b104 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla lr, r0, r3, lr ldr ip, [r2, #0x14] adds r6, r6, r5 adc r5, ip, lr mov r0, #0x3b000 umull r3, ip, r5, r0 str r6, [r2] str r5, [r2, #4] mla ip, r5, r1, ip mov r2, r1 mla ip, r2, r0, ip ldr r0, _0217b108 ; =0x7ffff000 ldr r2, [r4, #0x168] and r0, ip, r0 str r0, [r2, #0x14] ldr r0, [r4, #0x48] sub ip, r1, #1 str r0, [r4, #0x2ac] ldr r2, [r4, #0x4c] ldr r0, _0217b10c ; =data_027e0d0c str r2, [r4, #0x2b0] ldr r3, [r4, #0x50] mov r2, #2 str r3, [r4, #0x2b4] str ip, [r4, #0x98] ldr r3, [r0] str r3, [r4, #0xa8] ldr r3, [r0, #4] str r3, [r4, #0xac] ldr r0, [r0, #8] str r0, [r4, #0xb0] str ip, [r4, #0xb4] str r2, [r4, #0x12c] ldrh r0, [r4, #0x20] cmp r0, #3 bne _0217b098 add r0, r4, #0x158 bl func_ov00_020c5d74 mov r0, r4 mov r1, #1 bl func_ov15_0217b11c ldr r0, _0217b10c ; =data_027e0d0c ldr r1, _0217b110 ; =0x00000666 b _0217b0b4 _0217b098: mov r0, r4 bl func_ov15_0217b11c add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, _0217b10c ; =data_027e0d0c ldr r1, _0217b114 ; =0x000004cd _0217b0b4: ldr r2, [r0] str r2, [r4, #0x7c] ldr r2, [r0, #4] str r2, [r4, #0x80] ldr r0, [r0, #8] str r0, [r4, #0x84] ldr r0, _0217b118 ; =data_027e0d38 str r1, [r4, #0x88] ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 mvnne r0, #0 strne r0, [r4, #0x88] mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217af0c _0217b0f8: .word data_027e0fe8 _0217b0fc: .word 0x474f3245 _0217b100: .word data_027e0fe4 _0217b104: .word data_027e0764 _0217b108: .word 0x7ffff000 _0217b10c: .word data_027e0d0c _0217b110: .word 0x00000666 _0217b114: .word 0x000004cd _0217b118: .word data_027e0d38 .global func_ov15_0217b11c arm_func_start func_ov15_0217b11c func_ov15_0217b11c: ; 0x0217b11c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r4, r1 mov r5, r0 cmp r4, #4 addls pc, pc, r4, lsl #2 b _0217b398 _0217b138: ; jump table b _0217b14c ; case 0 b _0217b164 ; case 1 b _0217b1d0 ; case 2 b _0217b260 ; case 3 b _0217b310 ; case 4 _0217b14c: mov r3, #1 add r1, r5, #0x20 add r2, r5, #0x22 strb r3, [r5, #0x11a] bl func_ov15_0217bb3c b _0217b398 _0217b164: mvn r0, #0 str r0, [r5, #0x88] ldr r1, [r5, #0x168] mov r0, #0 ldr r2, _0217b3ac ; =data_027e0764 str r0, [r1, #0x10] ldr r3, [r2] ldmib r2, {r1, ip} umull r6, lr, ip, r3 mla lr, ip, r1, lr ldr r1, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r1, r3, lr ldr r1, [r2, #0x14] adds r7, ip, r6 adc r6, r1, lr mov r1, #0x1f umull r3, ip, r6, r1 str r7, [r2] mla ip, r6, r0, ip mov r3, r0 mla ip, r3, r1, ip str r6, [r2, #4] add r1, ip, #0x5a str r1, [r5, #0x2dc] strb r0, [r5, #0x11a] b _0217b398 _0217b1d0: mov r0, #1 strb r0, [r5, #0x11a] bl func_ov15_02177954 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r2, [r5, #0x2e3] cmp r2, #0 bne _0217b208 add r1, r0, #0x400 ldrsb r1, [r1, #0x6e] cmp r1, #1 addgt sp, sp, #8 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} _0217b208: cmp r2, #0 add r1, r0, #0x400 bne _0217b218 b _0217b218 _0217b218: ldrsh r1, [r1, #0x5a] cmp r1, #0 movlt r1, #1 strltb r1, [r5, #0x2e4] movge r1, #0 strgeb r1, [r5, #0x2e4] mov r1, #1 bl func_ov15_0217a60c ldr r0, _0217b3b0 ; =data_027e0ffc ldr r1, _0217b3b4 ; =0x00000457 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 bl func_ov15_0217bf54 mov r0, #0 strb r0, [r5, #0x2e2] b _0217b398 _0217b260: ldrh r0, [r5, #0x20] mov r3, #0 cmp r0, #3 bne _0217b2ac ldr r0, _0217b3b0 ; =data_027e0ffc ldr r1, _0217b3b8 ; =0x0000045a add r2, r5, #0x48 bl func_ov00_020ceacc add r0, r5, #0x288 str r0, [sp] ldr r1, _0217b3bc ; =func_ov15_0217abcc ldr r0, _0217b3c0 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r5, #0x48 mov r1, #0x1000 mov r3, #2 bl func_ov00_0207c1b0 b _0217b2e0 _0217b2ac: ldr r0, _0217b3b0 ; =data_027e0ffc ldr r1, _0217b3c4 ; =0x0000045e add r2, r5, #0x48 bl func_ov00_020ceacc mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0217b3c0 ; =data_027e0e58 ldr r1, _0217b3c8 ; =0x00001002 ldr r0, [r0] add r2, r5, #0x48 mov r3, #2 bl func_ov00_0207c1b0 _0217b2e0: mvn r2, #0 add r0, r5, #0x158 mov r1, #3 str r2, [r5, #0x88] bl func_ov00_020c5d74 bl func_ov15_02177954 cmp r0, #0 beq _0217b398 add r0, r0, #0x1d8 mov r1, #1 bl func_ov00_020c5d74 b _0217b398 _0217b310: mov r3, #0 add r1, r5, #0x20 add r2, r5, #0x22 strb r3, [r5, #0x11a] bl func_ov15_0217bb3c mvn r0, #0 str r0, [r5, #0x88] mov r1, #0 str r1, [sp] ldr r0, _0217b3c0 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r5, #0x48 mov r1, #0xbe mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _0217b3c0 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, r5, #0x48 mov r1, #0xbf mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0217b3c0 ; =data_027e0e58 mov r1, #0xc0 ldr r0, [r0] add r2, r5, #0x48 mov r3, #2 bl func_ov00_0207c1b0 _0217b398: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0217b11c _0217b3ac: .word data_027e0764 _0217b3b0: .word data_027e0ffc _0217b3b4: .word 0x00000457 _0217b3b8: .word 0x0000045a _0217b3bc: .word func_ov15_0217abcc _0217b3c0: .word data_027e0e58 _0217b3c4: .word 0x0000045e _0217b3c8: .word 0x00001002 .global func_ov15_0217b3cc arm_func_start func_ov15_0217b3cc func_ov15_0217b3cc: ; 0x0217b3cc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x2c mov r5, r0 ldr r0, [r5, #0x130] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0217b724 _0217b3e8: ; jump table b _0217b3fc ; case 0 b _0217b490 ; case 1 b _0217b4d4 ; case 2 b _0217b704 ; case 3 b _0217b724 ; case 4 _0217b3fc: ldr r0, [r5, #0x16c] cmp r0, #1 bne _0217b430 ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217b430 add r0, r5, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r0, _0217b7b0 ; =0x000004cd str r0, [r5, #0x88] _0217b430: ldr r0, [r5, #0x16c] cmp r0, #2 bne _0217b724 ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217b460 add r0, r5, #0x158 mov r1, #0 bl func_ov00_020c5d74 b _0217b724 _0217b460: ldrb r0, [r5, #0x2e2] cmp r0, #0 beq _0217b724 ldr r0, [r5, #0x168] ldr r0, [r0, #0x14] cmp r0, #0x9000 blt _0217b724 mov r1, #0 mov r0, r5 strb r1, [r5, #0x2e2] bl func_ov15_0217bc00 b _0217b724 _0217b490: ldr r0, _0217b7b4 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 bne _0217b724 ldrb r0, [r5, #0x2e3] cmp r0, #0 bne _0217b4c4 mov r0, r5 bl func_ov15_0217be58 cmp r0, #0 beq _0217b724 _0217b4c4: mov r0, r5 mov r1, #2 bl func_ov15_0217b11c b _0217b724 _0217b4d4: bl func_ov15_02177954 movs r4, r0 beq _0217b4f4 ldrsh r6, [r4, #0x78] mov r0, r5 bl _ZN5Actor14GetAngleToLinkEv sub r0, r0, r6 strh r0, [r5, #0x78] _0217b4f4: add r0, r5, #0x2ac add r1, r5, #0x48 add r2, r5, #0x7c bl func_01ff9bf8 ldrsh r1, [r5, #0x78] ldr r3, _0217b7b8 ; =data_02050f54 add r0, sp, #8 rsb r1, r1, #0 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_01ff8214 add r0, r5, #0x7c add r1, sp, #8 mov r2, r0 bl func_01ff88b0 ldr r0, [r5, #0x16c] cmp r0, #0 beq _0217b668 cmp r0, #1 beq _0217b5d0 cmp r0, #2 bne _0217b724 ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217b594 add r0, r5, #0x158 mov r1, #0 bl func_ov00_020c5d74 mov r0, #0 str r0, [r5, #0x138] b _0217b724 _0217b594: ldrb r0, [r5, #0x2e2] cmp r0, #0 bne _0217b724 ldr r0, [r5, #0x168] ldr r0, [r0, #0x14] cmp r0, #0xd000 blt _0217b724 mov r1, #1 mov r0, r5 strb r1, [r5, #0x2e2] add r1, r5, #0x200 mov r2, #0 strh r2, [r1, #0xe0] bl func_ov15_0217bc00 b _0217b724 _0217b5d0: ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217b724 ldr r0, [r5, #0x168] ldr r0, [r0, #0x10] cmp r0, #0 bge _0217b63c cmp r4, #0 beq _0217b608 mov r0, r4 mov r1, #0 bl func_ov15_0217a60c _0217b608: mov r0, r5 mov r1, #1 bl func_ov15_0217b11c mov r1, #0 str r1, [sp] ldr r0, _0217b7bc ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] ldr r1, _0217b7c0 ; =0x00001001 add r2, r5, #0x48 mov r3, #2 bl func_ov00_0207c1b0 b _0217b724 _0217b63c: add r0, r5, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldr r1, [r5, #0x168] mov r2, #0x1000 ldr r0, _0217b7c4 ; =0x00000666 str r2, [r1, #0x10] str r0, [r5, #0x88] mov r0, #0 str r0, [r5, #0x138] b _0217b724 _0217b668: ldrb r0, [r5, #0x2e2] cmp r0, #0 ldr r0, [r5, #0x138] bne _0217b68c cmp r0, #0x1e blt _0217b724 mov r0, r5 bl func_ov15_0217bfb8 b _0217b724 _0217b68c: cmp r0, #0x1e blt _0217b724 ldrb r0, [r5, #0x2e3] cmp r0, #0 bne _0217b6e4 add r0, r5, #0x158 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e670 ldr r0, [r5, #0x168] mov r1, #1 strh r1, [r0, #0xc] mov r3, #0 str r3, [r5, #0x138] ldr r0, _0217b7c8 ; =data_027e0ffc ldr r1, _0217b7cc ; =0x00000458 add r2, r5, #0x48 strb r3, [r5, #0x2e2] bl func_ov00_020ceacc b _0217b724 _0217b6e4: mov r0, r5 bl func_ov15_0217be58 cmp r0, #0 beq _0217b724 mov r0, #0 str r0, [r5, #0x138] strb r0, [r5, #0x2e2] b _0217b724 _0217b704: ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217b724 mov r0, r5 mov r1, #4 bl func_ov15_0217b11c _0217b724: add r0, r5, #0x158 bl func_ov00_020c5e20 ldr r0, [r5, #0x16c] cmp r0, #0 addne sp, sp, #0x2c ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, [r5, #0x168] mov r1, #0 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _0217b770 ldr r0, [r5, #0x168] mov r1, #0x1e000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, r5, r6, pc} _0217b770: ldrh r0, [r5, #0x20] mov r3, #0 cmp r0, #3 bne _0217b798 ldr r0, _0217b7c8 ; =data_027e0ffc ldr r1, _0217b7d0 ; =0x00000456 add r2, r5, #0x48 bl func_ov00_020ceacc add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, pc} _0217b798: ldr r0, _0217b7c8 ; =data_027e0ffc ldr r1, _0217b7d4 ; =0x0000045b add r2, r5, #0x48 bl func_ov00_020ceacc add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217b3cc _0217b7b0: .word 0x000004cd _0217b7b4: .word data_027e0d38 _0217b7b8: .word data_02050f54 _0217b7bc: .word data_027e0e58 _0217b7c0: .word 0x00001001 _0217b7c4: .word 0x00000666 _0217b7c8: .word data_027e0ffc _0217b7cc: .word 0x00000458 _0217b7d0: .word 0x00000456 _0217b7d4: .word 0x0000045b .global func_ov15_0217b7d8 arm_func_start func_ov15_0217b7d8 func_ov15_0217b7d8: ; 0x0217b7d8 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv ldr r0, [r4, #0x48] mov r1, #0 str r0, [r4, #0x54] ldr r2, [r4, #0x4c] mov r0, r4 str r2, [r4, #0x58] ldr r3, [r4, #0x50] mov r2, r1 str r3, [r4, #0x5c] bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r4 bl func_ov15_0217b3cc ldmia sp!, {r4, pc} arm_func_end func_ov15_0217b7d8 .global func_ov15_0217b828 arm_func_start func_ov15_0217b828 func_ov15_0217b828: ; 0x0217b828 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_0217b3cc ldmia sp!, {r4, pc} arm_func_end func_ov15_0217b828 .global func_ov15_0217b848 arm_func_start func_ov15_0217b848 func_ov15_0217b848: ; 0x0217b848 bx lr arm_func_end func_ov15_0217b848 .global func_ov15_0217b84c arm_func_start func_ov15_0217b84c func_ov15_0217b84c: ; 0x0217b84c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x12c mov r4, r0 ldrh r5, [r4, #0x20] str r1, [sp, #4] mov r11, r2 cmp r5, #3 ldrh r8, [r4, #0x22] mov r1, #0xc bne _0217b8c4 mul r0, r8, r1 ldrb r2, [r4, #0x2e4] ldr r9, _0217ba9c ; =data_ov15_0218e010 ldr r10, _0217baa0 ; =data_ov15_0218e00c mov r7, r8, lsl #0x1 ldr r5, _0217baa4 ; =data_ov15_02186fa8 ldr r6, _0217baa8 ; =data_ov15_0218e014 ldr r8, [r10, r0] ldr r10, [r6, r0] ldr r3, _0217baac ; =data_ov15_02186fae ldrh r5, [r5, r7] cmp r2, #0 ldr r9, [r9, r0] ldrh r6, [r4, #0x78] ldrh r7, [r3, r7] beq _0217b91c sub r0, r1, #0xd mul r0, r9, r0 mov r9, r0 b _0217b91c _0217b8c4: mov r0, #0x30 mul r0, r5, r0 mul r3, r8, r1 ldr r2, _0217bab0 ; =data_ov15_0218df7c ldr ip, _0217bab4 ; =data_ov15_0218df80 ldr r9, _0217bab8 ; =data_ov15_02186f60 ldr r7, _0217babc ; =data_ov15_02186f78 ldr r6, _0217bac0 ; =data_ov15_02186f90 ldr r10, _0217bac4 ; =data_ov15_0218df84 add r2, r2, r0 add r1, ip, r0 add r0, r10, r0 add r10, r9, r5, lsl #3 add r9, r7, r5, lsl #3 mov r8, r8, lsl #0x1 add r7, r6, r5, lsl #3 ldrh r5, [r8, r10] ldrh r6, [r8, r9] ldrh r7, [r8, r7] ldr r8, [r3, r2] ldr r9, [r3, r1] ldr r10, [r3, r0] _0217b91c: ldr lr, [sp, #4] add ip, sp, #0xfc str ip, [sp, #8] ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} ldr r0, [sp, #8] mov r2, r8 mov r3, r9 mov r1, r0 str r10, [sp] bl func_01ff8988 add r0, sp, #0xfc mov r1, r11 add r2, sp, #0xcc bl func_01ff8e84 mov r0, r5, asr #0x4 mov r1, r0, lsl #0x1 ldr r5, [sp, #0xf8] ldr r3, [sp, #0xf4] ldr r2, [sp, #0xf0] add r0, sp, #0x6c str r2, [r4, #0x48] str r3, [r4, #0x4c] str r5, [r4, #0x50] mov r5, r1, lsl #0x1 add r1, r1, #1 ldr r3, _0217bac8 ; =data_02050f54 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] blx func_01ff8a80 mov r0, r6, asr #0x4 mov r1, r0, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 ldr r3, _0217bac8 ; =data_02050f54 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] add r0, sp, #0x3c blx func_01ff8aa0 mov r0, r7, asr #0x4 mov r1, r0, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 ldr r3, _0217bac8 ; =data_02050f54 mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] add r0, sp, #0xc blx func_01ff8abc add r1, sp, #0xfc add r0, sp, #0x6c mov r2, r1 bl func_01ff8e84 add r1, sp, #0xfc add r0, sp, #0xc mov r2, r1 bl func_01ff8e84 add r1, sp, #0xfc add r0, sp, #0x3c mov r2, r1 bl func_01ff8e84 mov r3, #0 add r0, sp, #0xfc _0217ba30: ldr r2, [r0, r3, lsl #2] add r1, r4, r3, lsl #2 add r3, r3, #1 str r2, [r1, #0x288] cmp r3, #9 blt _0217ba30 add r2, sp, #0x9c mov r1, r11 bl func_01ff8e84 add r0, sp, #0x9c add r1, r4, #0x288 bl func_020079d8 ldrb r0, [r4, #0x11a] cmp r0, #0 beq _0217ba78 add r1, sp, #0xfc add r0, r4, #0x158 bl func_ov00_020c6024 _0217ba78: ldr r0, [r4, #0x284] cmp r0, #0 addeq sp, sp, #0x12c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r1, [sp, #4] mov r2, r11 bl func_ov15_0217b84c add sp, sp, #0x12c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217b84c _0217ba9c: .word data_ov15_0218e010 _0217baa0: .word data_ov15_0218e00c _0217baa4: .word data_ov15_02186fa8 _0217baa8: .word data_ov15_0218e014 _0217baac: .word data_ov15_02186fae _0217bab0: .word data_ov15_0218df7c _0217bab4: .word data_ov15_0218df80 _0217bab8: .word data_ov15_02186f60 _0217babc: .word data_ov15_02186f78 _0217bac0: .word data_ov15_02186f90 _0217bac4: .word data_ov15_0218df84 _0217bac8: .word data_02050f54 .global func_ov15_0217bacc arm_func_start func_ov15_0217bacc func_ov15_0217bacc: ; 0x0217bacc stmdb sp!, {r3, lr} ldr r2, [r1, #0x14] ldr r1, _0217baf8 ; =0x434e424c ldr r2, [r2, #4] cmp r2, r1 movne r0, #0 ldmneia sp!, {r3, pc} mov r1, #3 bl func_ov15_0217b11c mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217bacc _0217baf8: .word 0x434e424c .global func_ov15_0217bafc arm_func_start func_ov15_0217bafc func_ov15_0217bafc: ; 0x0217bafc stmdb sp!, {r4, lr} mov r4, r0 ldrh r3, [r1] ldrh r2, [r4, #0x22] cmp r3, r2 bne _0217bb28 mov r1, #0 bl func_ov15_0217b11c mov r0, r4 bl func_ov15_0217bf54 ldmia sp!, {r4, pc} _0217bb28: ldr r0, [r4, #0x284] cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov15_0217bafc ldmia sp!, {r4, pc} arm_func_end func_ov15_0217bafc .global func_ov15_0217bb3c arm_func_start func_ov15_0217bb3c func_ov15_0217bb3c: ; 0x0217bb3c stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov15_02177954 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r1, r6 mov r2, r5 mov r3, r4 bl func_ov15_0217a0b0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0217bb3c .global func_ov15_0217bb6c arm_func_start func_ov15_0217bb6c func_ov15_0217bb6c: ; 0x0217bb6c stmdb sp!, {r3, lr} ldr r3, [r0, #0x16c] cmp r3, #0 ldreqb r3, [r2] addeq r3, r3, #1 streqb r3, [r2] beq _0217bb9c ldrh lr, [r1] ldrh r3, [r0, #0x22] mov ip, #1 orr r3, lr, ip, lsl r3 strh r3, [r1] _0217bb9c: ldr r0, [r0, #0x284] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217bb6c ldmia sp!, {r3, pc} arm_func_end func_ov15_0217bb6c .global func_ov15_0217bbb0 arm_func_start func_ov15_0217bbb0 func_ov15_0217bbb0: ; 0x0217bbb0 stmdb sp!, {r3, lr} ldrh ip, [r1] ldrh r3, [r0, #0x22] cmp ip, r3 bne _0217bbec ldr r1, [r0, #0x130] cmp r1, #0 ldmneia sp!, {r3, pc} mov r1, #1 strb r1, [r0, #0x2e2] ldrh r2, [r2] add r1, r0, #0x200 strh r2, [r1, #0xe0] bl func_ov15_0217bfb8 ldmia sp!, {r3, pc} _0217bbec: ldr r0, [r0, #0x284] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217bbb0 ldmia sp!, {r3, pc} arm_func_end func_ov15_0217bbb0 .global func_ov15_0217bc00 arm_func_start func_ov15_0217bc00 func_ov15_0217bc00: ; 0x0217bc00 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x68 mov r6, r0 add r0, sp, #0x3c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x3c str r1, [sp, #0x58] str r1, [sp, #0x5c] bl func_ov00_020c3348 ldr r1, [r6, #8] add r0, r6, #0x200 str r1, [sp, #0x58] ldr r1, [r6, #0xc] str r1, [sp, #0x5c] ldrh r0, [r0, #0xe0] strh r0, [sp, #0x3c] ldrh r0, [r6, #0x20] cmp r0, #3 bne _0217bc74 mov r3, #0 mov r2, #0x800 mov r1, #0x2000 mov r0, #1 str r3, [sp, #0x24] str r2, [sp, #0x28] str r1, [sp, #0x2c] strh r0, [sp, #0x3e] b _0217bc8c _0217bc74: ldr r0, _0217be1c ; =0x0000099a mov r1, #0 str r1, [sp, #0x24] str r0, [sp, #0x28] str r1, [sp, #0x2c] strh r1, [sp, #0x3e] _0217bc8c: add r0, sp, #0x24 add r1, r6, #0x288 mov r2, r0 bl func_01ff88b0 add r1, sp, #0x24 add r2, sp, #0x30 add r0, r6, #0x48 bl func_01ff9bc4 mvn r0, #0 add r1, sp, #4 str r0, [sp, #4] str r0, [sp, #8] str r1, [sp] ldr r0, _0217be20 ; =data_027e0fe8 ldr r1, _0217be24 ; =0x474f3242 ldr r0, [r0] add r2, sp, #0x30 add r3, sp, #0x3c bl func_ov00_020c4048 ldr r0, _0217be28 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 addeq sp, sp, #0x68 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _0217be2c ; =data_027e0d0c add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r6, #0x200 ldrh r0, [r0, #0xe0] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0217be14 _0217bd18: ; jump table b _0217be14 ; case 0 b _0217bd28 ; case 1 b _0217bd28 ; case 2 b _0217be14 ; case 3 _0217bd28: bl func_ov15_02177954 movs r5, r0 ldrnesh r0, [r5, #0x78] addne r0, r0, #0x8000 bne _0217bd44 mov r0, r6 bl _ZN5Actor14GetAngleToLinkEv _0217bd44: mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _0217be30 ; =data_02050f54 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh ip, [r1, r2] ldrsh r2, [r1, r0] mov r0, #0x29 umull r7, lr, ip, r0 mov r1, #0 mla lr, ip, r1, lr umull r3, r6, r2, r0 mla r6, r2, r1, r6 mov ip, ip, asr #0x1f mov r1, r2, asr #0x1f mla lr, ip, r0, lr adds r8, r7, #0x800 adc r7, lr, #0 adds ip, r3, #0x800 mla r6, r1, r0, r6 mov r3, r8, lsr #0xc adc r0, r6, #0 mov ip, ip, lsr #0xc orr r3, r3, r7, lsl #20 orr ip, ip, r0, lsl #20 str r3, [sp, #0x18] str ip, [sp, #0x20] cmp r5, #0 beq _0217bdec add r0, r5, #0x60 add r6, sp, #0xc ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r1, [sp, #0xc] ldr r0, [sp, #0x14] add r1, r3, r1 add r0, ip, r0 str r1, [sp, #0x18] str r0, [sp, #0x20] _0217bdec: ldr r0, [sp, #0x18] str r0, [r4, #0x60] ldr r0, [sp, #0x1c] str r0, [r4, #0x64] ldr r0, [sp, #0x20] str r0, [r4, #0x68] ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] bl func_01ffa0f4 strh r0, [r4, #0x78] _0217be14: add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0217bc00 _0217be1c: .word 0x0000099a _0217be20: .word data_027e0fe8 _0217be24: .word 0x474f3242 _0217be28: .word data_027e0fe4 _0217be2c: .word data_027e0d0c _0217be30: .word data_02050f54 .global func_ov15_0217be34 arm_func_start func_ov15_0217be34 func_ov15_0217be34: ; 0x0217be34 stmdb sp!, {r3, lr} mov r2, #1 strb r2, [r0, #0x2e3] strb r1, [r0, #0x2e4] ldr r0, [r0, #0x284] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217be34 ldmia sp!, {r3, pc} arm_func_end func_ov15_0217be34 .global func_ov15_0217be58 arm_func_start func_ov15_0217be58 func_ov15_0217be58: ; 0x0217be58 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 bl func_ov15_02177954 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r0, r0, #0x400 ldrsh r1, [r0, #0x5a] cmp r1, #0x2000 bge _0217be94 mov r0, #0x2000 rsb r0, r0, #0 cmp r1, r0 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, pc} _0217be94: ldr r0, [r4, #0x2dc] cmp r0, #0 beq _0217beb0 sub r0, r0, #1 str r0, [r4, #0x2dc] mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0217beb0: ldr r3, _0217bf50 ; =data_027e0764 mov r0, #0 ldr r2, [r3] ldmib r3, {r1, r5} umull ip, r6, r5, r2 mla r6, r5, r1, r6 ldr r1, [r3, #0xc] ldr r5, [r3, #0x10] mla r6, r1, r2, r6 ldr r1, [r3, #0x14] adds ip, r5, ip adc r6, r1, r6 mov r2, #0x1f umull r1, r5, r6, r2 str ip, [r3] mla r5, r6, r0, r5 mov r1, r0 mla r5, r1, r2, r5 str r6, [r3, #4] add r2, r5, #0x5a str r2, [r4, #0x2dc] ldr r4, [r3] ldmib r3, {r2, ip} umull r5, lr, ip, r4 mla lr, ip, r2, lr ldr r2, [r3, #0xc] ldr r6, [r3, #0x10] mla lr, r2, r4, lr ldr ip, [r3, #0x14] adds r6, r6, r5 adc r5, ip, lr mov r2, #0x64000 umull r4, ip, r5, r2 mla ip, r5, r0, ip mla ip, r1, r2, ip str r6, [r3] cmp ip, #0x14000 str r5, [r3, #4] movlt r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217be58 _0217bf50: .word data_027e0764 .global func_ov15_0217bf54 arm_func_start func_ov15_0217bf54 func_ov15_0217bf54: ; 0x0217bf54 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x20] mov r3, #0 cmp r0, #3 bne _0217bf80 ldr r0, _0217bfac ; =data_027e0ffc ldr r1, _0217bfb0 ; =0x00000457 add r2, r4, #0x48 bl func_ov00_020ceacc b _0217bf90 _0217bf80: ldr r0, _0217bfac ; =data_027e0ffc ldr r1, _0217bfb4 ; =0x0000045c add r2, r4, #0x48 bl func_ov00_020ceacc _0217bf90: add r0, r4, #0x158 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217bf54 _0217bfac: .word data_027e0ffc _0217bfb0: .word 0x00000457 _0217bfb4: .word 0x0000045c .global func_ov15_0217bfb8 arm_func_start func_ov15_0217bfb8 func_ov15_0217bfb8: ; 0x0217bfb8 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x20] mov r3, #0 cmp r0, #3 bne _0217bfe4 ldr r0, _0217c004 ; =data_027e0ffc ldr r1, _0217c008 ; =0x00000459 add r2, r4, #0x48 bl func_ov00_020ceacc b _0217bff4 _0217bfe4: ldr r0, _0217c004 ; =data_027e0ffc ldr r1, _0217c00c ; =0x0000045d add r2, r4, #0x48 bl func_ov00_020ceacc _0217bff4: add r0, r4, #0x158 mov r1, #2 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217bfb8 _0217c004: .word data_027e0ffc _0217c008: .word 0x00000459 _0217c00c: .word 0x0000045d .global func_ov15_0217c010 arm_func_start func_ov15_0217c010 func_ov15_0217c010: ; 0x0217c010 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217c010 .global func_ov15_0217c02c arm_func_start func_ov15_0217c02c func_ov15_0217c02c: ; 0x0217c02c stmdb sp!, {r3, lr} ldr r1, _0217c058 ; =data_027e0fe0 mov r0, #0x2ec ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217c12c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217c02c _0217c058: .word data_027e0fe0 .global func_ov15_0217c05c arm_func_start func_ov15_0217c05c func_ov15_0217c05c: ; 0x0217c05c stmdb sp!, {r4, lr} ldr r3, _0217c098 ; =data_ov15_02187058 mov r2, #0xf5 mov r4, r0 bl func_ov00_020c607c ldr r3, _0217c09c ; =data_ov15_0218e26c add r0, r4, #0xfc add r1, r4, #0x120 mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _0217c0a0 ; =data_ov15_02189ac0 mov r0, r4 str r1, [r4, #0xfc] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217c05c _0217c098: .word data_ov15_02187058 _0217c09c: .word data_ov15_0218e26c _0217c0a0: .word data_ov15_02189ac0 .global func_ov15_0217c0a4 arm_func_start func_ov15_0217c0a4 func_ov15_0217c0a4: ; 0x0217c0a4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 add r0, r5, #0x20 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r5, #0x104] ldr r0, _0217c114 ; =data_ov15_0218e288 blx func_02016fe8 mov r4, r0 ldr r1, _0217c118 ; =data_ov15_0218e29c add r0, sp, #0 mov r2, #0x10 bl strncpy add r1, sp, #0 mov r0, r4 bl func_0201e544 mov r1, r0 add r0, r5, #0xfc bl func_ov00_020c0c9c mov r0, #0x1000 str r0, [r5, #0x10c] add r0, r5, #0xfc add r1, r5, #0x24 bl func_ov00_020c0d70 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217c0a4 _0217c114: .word data_ov15_0218e288 _0217c118: .word data_ov15_0218e29c .global func_ov15_0217c11c arm_func_start func_ov15_0217c11c func_ov15_0217c11c: ; 0x0217c11c ldr ip, _0217c128 ; =func_ov00_020c0e04 add r0, r0, #0xfc bx ip .align 2, 0 arm_func_end func_ov15_0217c11c _0217c128: .word func_ov00_020c0e04 .global func_ov15_0217c12c arm_func_start func_ov15_0217c12c func_ov15_0217c12c: ; 0x0217c12c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _0217c184 ; =data_ov15_0218e1b0 mov r1, r4 add r0, r4, #0x158 str r2, [r4] bl func_ov15_0217c05c ldr ip, _0217c188 ; =func_ov15_02123d44 ldr r3, _0217c18c ; =func_ov15_02158650 add r0, r4, #0x2a0 mov r1, #4 mov r2, #0xc str ip, [sp] bl func_0204f614 mov r1, #0 strb r1, [r4, #0x2e8] mov r0, r4 strb r1, [r4, #0x2e9] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217c12c _0217c184: .word data_ov15_0218e1b0 _0217c188: .word func_ov15_02123d44 _0217c18c: .word func_ov15_02158650 .global func_ov15_0217c190 arm_func_start func_ov15_0217c190 func_ov15_0217c190: ; 0x0217c190 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _0217c1d4 ; =func_ov15_02123d44 add r0, r4, #0x2a0 mov r1, #4 mov r2, #0xc bl func_0204f754 add r0, r4, #0x254 blx func_ov00_020a9acc add r0, r4, #0x1d4 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217c190 _0217c1d4: .word func_ov15_02123d44 .global func_ov15_0217c1d8 arm_func_start func_ov15_0217c1d8 func_ov15_0217c1d8: ; 0x0217c1d8 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _0217c224 ; =func_ov15_02123d44 add r0, r4, #0x2a0 mov r1, #4 mov r2, #0xc bl func_0204f754 add r0, r4, #0x254 blx func_ov00_020a9acc add r0, r4, #0x1d4 blx func_ov00_020a9b6c add r0, r4, #0x178 blx func_ov00_020a95a4 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217c1d8 _0217c224: .word func_ov15_02123d44 .global func_ov15_0217c228 arm_func_start func_ov15_0217c228 func_ov15_0217c228: ; 0x0217c228 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x28 mov r8, r0 add r0, r8, #0x158 bl func_ov15_0217c0a4 add r0, r8, #0x158 mov r1, #1 bl func_ov00_020c5d74 mvn r0, #0 str r0, [r8, #0x98] ldr r1, _0217c660 ; =data_027e0d0c ldrh r2, [r8, #0x20] ldr r0, [r1] ldr r5, _0217c664 ; =data_ov15_02187038 str r0, [r8, #0x7c] ldr r0, [r1, #4] ldr r3, [r5, r2, lsl #2] str r0, [r8, #0x80] ldr r2, [r1, #8] add r0, r8, #0x100 str r2, [r8, #0x84] str r3, [r8, #0x88] ldrh r4, [r8, #0x20] ldr r3, [r1] mov r2, #1 str r3, [r8, #0xa8] ldr r3, [r1, #4] ldr r4, [r5, r4, lsl #2] str r3, [r8, #0xac] ldr r1, [r1, #8] add r3, r4, #0x1000 str r1, [r8, #0xb0] str r3, [r8, #0xb4] strh r2, [r0, #0x20] ldrh r0, [r8, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0217c63c _0217c2c0: ; jump table b _0217c2d0 ; case 0 b _0217c518 ; case 1 b _0217c518 ; case 2 b _0217c554 ; case 3 _0217c2d0: ldrh r0, [r8, #0x22] mov r1, #0x2d000 mov r3, #0x64000 cmp r0, #0 moveq r2, #0x148 movne r2, #0x1ec str r2, [sp, #0xc] str r1, [sp, #8] add r0, sp, #8 str r0, [sp] str r3, [sp, #4] add r0, sp, #0x10 add r2, sp, #0xc mov r1, r8 add r3, r8, #0x48 bl func_ov15_0217d3bc ldr r3, [sp, #8] add r0, sp, #0x10 add r4, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} cmp r3, #0x64000 blt _0217c344 mov r1, r4 add r0, r8, #0x48 bl func_ov00_020ce2f0 mov r1, #0x64000 bl Divide str r0, [sp, #0xc] _0217c344: add r1, sp, #0x1c mov r0, r8 bl _ZN5Actor10GetAngleToEP5Vec3p strh r0, [r8, #0x78] ldrh r0, [r8, #0x78] ldr r3, _0217c668 ; =data_02050f54 ldr r1, [sp, #0xc] mov r0, r0, asr #0x4 mov r4, r0, lsl #0x1 mov r0, r4, lsl #0x1 ldrsh r2, [r3, r0] add r0, r4, #1 mov r0, r0, lsl #0x1 smull r4, r1, r2, r1 adds r2, r4, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r8, #0x60] ldrsh r2, [r3, r0] ldr r0, [sp, #0xc] add r1, sp, #0x1c smull r3, r0, r2, r0 adds r2, r3, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 mov r0, r8 str r2, [r8, #0x68] bl _ZN5Actor12XzDistanceToEP5Vec3p ldr r1, [sp, #0xc] bl Divide ldr r4, [r8, #0x4c] mov r7, r0 cmp r4, #0x1800 blt _0217c408 smull r1, r0, r7, r7 adds r1, r1, #0x800 ldr r3, [sp, #0x20] adc r2, r0, #0 sub r0, r4, r3 mov r1, r1, lsr #0xc mov r0, r0, lsl #0x1 orr r1, r1, r2, lsl #20 bl Divide str r0, [r8, #0x6c] mov r0, #0 str r0, [r8, #0x64] b _0217c4f0 _0217c408: rsb r0, r4, #0x1800 bl func_01ff9958 ldr r1, [r8, #0x4c] mov r5, r0 rsb r0, r1, #0x1800 mov r6, r7, asr #0x1f bl func_01ff9958 ldr r1, [sp, #0x20] mov r4, r0 rsb r0, r1, #0x1800 bl func_01ff9958 smull r2, r1, r7, r5 adds r2, r2, #0x800 mov r3, r0 adc r1, r1, #0 mov r0, r2, lsr #0xc orr r0, r0, r1, lsl #20 add r1, r4, r3 bl Divide mov r5, r0 smull r1, r0, r5, r5 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 ldr r0, [r8, #0x4c] mov r4, r5, asr #0x1f rsb r0, r0, #0x1800 mov r0, r0, lsl #0x1 bl Divide str r0, [r8, #0x6c] cmp r0, #0 bne _0217c4cc umull r1, r0, r7, r7 mla r0, r7, r6, r0 adds r1, r1, #0x800 mla r0, r6, r7, r0 ldr r4, [r8, #0x4c] ldr r3, [sp, #0x20] adc r2, r0, #0 sub r0, r4, r3 mov r1, r1, lsr #0xc mov r0, r0, lsl #0x1 orr r1, r1, r2, lsl #20 bl Divide str r0, [r8, #0x6c] mov r0, #0 str r0, [r8, #0x64] b _0217c4f0 _0217c4cc: umull r2, r1, r0, r5 mla r1, r0, r4, r1 mov r0, r0, asr #0x1f adds r2, r2, #0x800 mla r1, r0, r5, r1 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r8, #0x64] _0217c4f0: ldr r0, [r8, #0x6c] cmp r0, #0 bne _0217c63c ldr r2, [sp, #0x20] ldr r0, [r8, #0x4c] mov r1, r7 sub r0, r2, r0 bl Divide str r0, [r8, #0x64] b _0217c63c _0217c518: mov r0, #0xc str r0, [r8, #0x6c] ldr r2, _0217c66c ; =data_ov15_02187050 mov r4, r8 mov r3, #0 mov r0, #2 _0217c530: mov r1, r3, lsl #0x1 ldrsh r1, [r2, r1] add r3, r3, #1 cmp r3, #4 str r1, [r4, #0x2a4] str r0, [r4, #0x2a8] add r4, r4, #0xc blt _0217c530 b _0217c63c _0217c554: ldr r0, _0217c670 ; =data_027e0fac add r1, r8, #0x200 ldrsh r2, [r0] mov r0, r8 strh r2, [r1, #0xe6] bl _ZN5Actor16XzDistanceToLinkEv str r0, [r8, #0x2e0] mov r0, r8 bl _ZN5Actor14GetAngleToLinkEv add r2, r8, #0x200 ldrsh r3, [r2, #0xe6] add r0, r0, #0x8000 mov r1, #0xa4 sub r0, r0, r3 strh r0, [r2, #0xe4] ldr r0, [r8, #0x2e0] bl Divide ldr r1, _0217c674 ; =0x00000666 mov r2, #0 umull r4, r3, r0, r1 str r2, [r8, #0x6c] adds r4, r4, #0x800 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 ldr r0, [r8, #0x4c] adc r2, r3, #0 mov r1, r4, lsr #0xc cmp r0, #0x1800 orr r1, r1, r2, lsl #20 bge _0217c5dc rsb r0, r0, #0x1800 bl Divide str r0, [r8, #0x64] _0217c5dc: ldr r0, _0217c678 ; =data_027e0f94 ldr r1, [r8, #0x64] ldr r0, [r0, #4] ldr r2, [r8, #0x4c] add r0, r0, #0xcd add r0, r0, #0xc00 cmp r1, #0 sub r4, r2, r0 bne _0217c630 ldr r0, [r8, #0x2e0] mov r1, #0xa4 add r0, r0, #0x2000 bl Divide smull r2, r1, r0, r0 adds r0, r2, #0x800 adc r2, r1, #0 mov r1, r0, lsr #0xc mov r0, r4, lsl #0x1 orr r1, r1, r2, lsl #20 bl Divide str r0, [r8, #0x6c] _0217c630: add r0, r8, #0x100 mov r1, #3 strh r1, [r0, #0x20] _0217c63c: mov r1, #0 mov r0, r8 strb r1, [r8, #0x124] mov r2, #2 str r2, [r8, #0x12c] bl func_ov15_0217c82c mov r0, #1 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0217c228 _0217c660: .word data_027e0d0c _0217c664: .word data_ov15_02187038 _0217c668: .word data_02050f54 _0217c66c: .word data_ov15_02187050 _0217c670: .word data_027e0fac _0217c674: .word 0x00000666 _0217c678: .word data_027e0f94 .global func_ov15_0217c67c arm_func_start func_ov15_0217c67c func_ov15_0217c67c: ; 0x0217c67c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0217c7d4 ldrb r0, [r5, #0x2e8] cmp r0, #0 subne r0, r0, #1 strneb r0, [r5, #0x2e8] 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, #1 movge r0, #0 addge sp, sp, #0x10 strgeb r0, [r5, #0x118] ldmgeia sp!, {r3, r4, r5, pc} ldr r1, [r5, #0x48] ldr r0, _0217c7ec ; =data_027e0e60 str r1, [sp, #4] ldr r1, [r5, #0x4c] ldr r0, [r0] str r1, [sp, #8] ldr r3, [r5, #0x50] add r1, sp, #4 mov r2, #0 str r3, [sp, #0xc] bl func_ov00_02083ee0 str r0, [sp] ldrh r0, [r5, #0x20] ldr r2, _0217c7f0 ; =data_ov15_02187018 add r1, sp, #0 add r2, r2, r0, lsl #3 ldr r0, [r2, #4] tst r0, #1 add r0, r5, r0, asr #1 ldreq r2, [r2] beq _0217c738 ldr r3, [r0] ldr r2, [r2] ldr r2, [r3, r2] _0217c738: blx r2 mov r0, r5 mov r1, #1 bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _0217c7a4 ldr r1, _0217c7f4 ; =data_027e0f94 add r0, r5, #0x48 bl func_01ff9ec0 mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 mov r2, r0, asr #0xc mov r0, r5 mov r1, #1 strb r2, [r5, #0x2e9] bl func_ov15_0217c82c add r5, r5, #0x2a0 mov r4, #0 _0217c784: mov r0, r5 bl func_ov00_020b7e6c add r4, r4, #1 cmp r4, #4 add r5, r5, #0xc blt _0217c784 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _0217c7a4: mov r1, #0 mov r0, r5 mov r2, r1 bl _ZN5Actor18func_ov00_020c243cEiPi mov r0, r5 bl _ZN5Actor12ApplyGravityEv add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r5 bl func_ov15_0217d550 _0217c7d4: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217c67c _0217c7ec: .word data_027e0e60 _0217c7f0: .word data_ov15_02187018 _0217c7f4: .word data_027e0f94 .global func_ov15_0217c7f8 arm_func_start func_ov15_0217c7f8 func_ov15_0217c7f8: ; 0x0217c7f8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _0217c818 mov r0, r5 bl func_ov15_0217d550 _0217c818: 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_ov15_0217c7f8 .global func_ov15_0217c82c arm_func_start func_ov15_0217c82c func_ov15_0217c82c: ; 0x0217c82c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 movs r4, r1 mov r5, r0 beq _0217c920 cmp r4, #1 beq _0217c854 cmp r4, #2 beq _0217c8b4 b _0217c920 _0217c854: add r0, sp, #0x14 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x14 str r1, [sp, #0x30] str r1, [sp, #0x34] bl func_ov00_020c3348 ldr r1, [r5, #8] mov r0, #3 str r1, [sp, #0x30] ldr r1, [r5, #0xc] mov r2, #0 str r1, [sp, #0x34] strh r0, [sp, #0x14] ldrb r3, [r5, #0x2e9] ldr r0, _0217c934 ; =data_027e0fe8 ldr r1, _0217c938 ; =0x43424c53 strh r3, [sp, #0x18] strh r2, [sp, #0x1a] str r2, [sp] ldr r0, [r0] add r3, sp, #0x14 add r2, r5, #0x48 bl func_ov00_020c4048 _0217c8b4: add r0, r5, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0217c93c ; =data_027e0e58 mov r2, r3 ldr r0, [r0] ldr r1, _0217c940 ; =0x00001004 mov r3, #2 bl func_ov00_0207c1b0 cmp r4, #1 mov r3, #0 bne _0217c908 ldr r0, _0217c944 ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x460 bl func_ov00_020ceacc b _0217c918 _0217c908: ldr r0, _0217c944 ; =data_027e0ffc ldr r1, _0217c948 ; =0x0000045f add r2, r5, #0x48 bl func_ov00_020ceacc _0217c918: mvn r0, #0 str r0, [r5, #0x88] _0217c920: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217c82c _0217c934: .word data_027e0fe8 _0217c938: .word 0x43424c53 _0217c93c: .word data_027e0e58 _0217c940: .word 0x00001004 _0217c944: .word data_027e0ffc _0217c948: .word 0x0000045f .global func_ov15_0217c94c arm_func_start func_ov15_0217c94c func_ov15_0217c94c: ; 0x0217c94c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 mov ip, r1 ldr r1, [r4, #0x4c] ldr r0, [ip] cmp r1, r0 addge sp, sp, #0x14 ldmgeia sp!, {r3, r4, pc} add r0, r4, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [ip] mov r2, r3 str r0, [sp, #0xc] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0217c9f4 ; =data_027e0e58 mov r1, #0x82 ldr r0, [r0] mov r3, #2 bl func_ov00_0207c1b0 ldr r1, _0217c9f8 ; =0x00000ae1 add r0, sp, #8 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _0217c9f8 ; =0x00000ae1 add r0, sp, #8 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _0217c9fc ; =data_027e0ffc ldr r1, _0217ca00 ; =0x000001b1 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 strb r0, [r4, #0x118] add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217c94c _0217c9f4: .word data_027e0e58 _0217c9f8: .word 0x00000ae1 _0217c9fc: .word data_027e0ffc _0217ca00: .word 0x000001b1 .global func_ov15_0217ca04 arm_func_start func_ov15_0217ca04 func_ov15_0217ca04: ; 0x0217ca04 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x5c mov r4, r0 ldr r0, [r4, #0x6c] cmp r0, #0 bne _0217cc78 ldr r3, [r1] ldr r1, _0217cea0 ; =0x0000019a add r0, r4, #0x2dc mov r2, #0x29 str r3, [r4, #0x4c] bl Approach_thunk add r2, r4, #0x200 ldr r0, _0217cea4 ; =data_027e0fac ldrh r3, [r2, #0xe6] ldrsh r5, [r0] ldrsh r6, [r2, #0xe4] ldr r0, _0217cea8 ; =data_027e0f94 mov r1, r5, lsl #0x10 rsb r1, r3, r1, lsr #16 mov r1, r1, lsl #0x10 sub r1, r6, r1, asr #16 strh r1, [r2, #0xe4] ldr r3, [r4, #0x2e0] ldr r1, [r4, #0x2dc] add r2, sp, #0x50 sub r3, r3, r1 add r1, r4, #0x2d0 str r3, [r4, #0x2e0] bl func_01ff9bc4 add r2, r4, #0x200 ldrsh r0, [r2, #0xe4] ldr r8, _0217ceac ; =data_02050f54 ldr r3, [r4, #0x2e0] add r0, r5, r0 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, r1, asr #0x4 mov r9, r0, lsl #0x1 add r0, r1, #0x8000 mov r1, r9, lsl #0x1 ldrsh r7, [r8, r1] add r1, r9, #1 mov r1, r1, lsl #0x1 ldrsh r9, [r8, r1] smull r3, r1, r7, r3 adds r3, r3, #0x800 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 ldr r0, [sp, #0x50] adc r1, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 add r1, r0, r3 str r1, [sp, #0x50] ldr r8, [r4, #0x2e0] ldr r0, [sp, #0x58] smull r10, r8, r9, r8 adds r9, r10, #0x800 adc r8, r8, #0 mov r9, r9, lsr #0xc orr r9, r9, r8, lsl #20 add r0, r0, r9 str r0, [sp, #0x58] ldr r8, [r4, #0x48] ldr r3, _0217ceb0 ; =0x000004cd sub r1, r1, r8 str r1, [r4, #0x60] ldr r9, [sp, #0x58] ldr r8, [r4, #0x50] mov r7, #0 sub r8, r9, r8 str r8, [r4, #0x68] strh r5, [r2, #0xe6] add r0, sp, #0x44 mov r1, r6 str r3, [sp, #0x4c] str r7, [sp, #0x44] str r7, [sp, #0x48] bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x44 str r1, [sp, #0x14] ldr r2, [r4, #0x4c] add r1, sp, #0x14 str r2, [sp, #0x18] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x1c] bl func_01ff9bc4 ldr r5, _0217ceb4 ; =0xfffff8cd ldr r3, _0217ceb8 ; =0x00000d71 ldr r2, _0217cebc ; =0xfffffb33 add r0, sp, #0x38 mov r1, r6 str r5, [sp, #0x38] str r3, [sp, #0x3c] str r2, [sp, #0x40] bl func_ov00_020a61ac ldr r10, _0217cec0 ; =data_027e0e58 mov r9, r4 add r8, r4, #0x2a0 add r5, sp, #0x44 _0217cba0: ldr r0, [r10] mov r1, r8 mov r2, r5 bl func_ov00_0207c474 ldr r3, [r9, #0x2a0] cmp r3, #0 beq _0217cbd4 ldr r2, [sp, #0x3c] ldr r1, [sp, #0x40] ldr r0, [sp, #0x38] strh r0, [r3, #0x50] strh r2, [r3, #0x52] strh r1, [r3, #0x54] _0217cbd4: add r7, r7, #1 cmp r7, #2 add r8, r8, #0xc add r9, r9, #0xc blt _0217cba0 ldr r5, _0217cec4 ; =0x00000733 ldr r3, _0217ceb8 ; =0x00000d71 sub r2, r5, #0xc00 add r0, sp, #0x38 mov r1, r6 str r5, [sp, #0x38] str r3, [sp, #0x3c] str r2, [sp, #0x40] bl func_ov00_020a61ac ldr r9, _0217cec0 ; =data_027e0e58 add r6, r4, #0x2b8 add r7, r4, #0x18 mov r8, #2 add r5, sp, #0x44 _0217cc20: ldr r0, [r9] mov r1, r6 mov r2, r5 bl func_ov00_0207c474 ldr r3, [r7, #0x2a0] cmp r3, #0 beq _0217cc54 ldr r2, [sp, #0x3c] ldr r1, [sp, #0x40] ldr r0, [sp, #0x38] strh r0, [r3, #0x50] strh r2, [r3, #0x52] strh r1, [r3, #0x54] _0217cc54: add r8, r8, #1 cmp r8, #4 add r6, r6, #0xc add r7, r7, #0xc blt _0217cc20 mov r0, r4 bl func_ov15_0217cedc add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} _0217cc78: ldr r2, [r4, #0x4c] ldr r0, [r1] cmp r2, r0 addge sp, sp, #0x5c ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r0, r4, #0x48 add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r4, #0x48] ldr r0, _0217cec8 ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r3, [r4, #0x50] add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x30] ldr r0, _0217cecc ; =data_027e0ffc add r2, sp, #0x2c mov r1, #0x1dc mov r3, #0 bl func_ov00_020ceacc add r0, sp, #0x2c mov r1, #0x400 mov r2, #0 bl func_ov00_020c7484 mov r2, #0 ldr r1, _0217ced0 ; =0x00000666 add r0, sp, #0x2c mov r3, r2 bl func_ov00_020c75f4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _0217cec0 ; =data_027e0e58 mov r1, #0x73 ldr r0, [r0] add r2, sp, #0x2c mov r3, #2 bl func_ov00_0207c1b0 ldrh r0, [r4, #0x20] cmp r0, #2 bne _0217cde4 ldr r3, _0217ced4 ; =data_027e0764 ldr r6, _0217ceac ; =data_02050f54 ldr r1, [r3] ldmib r3, {r0, r2} umull r7, r5, r2, r1 mla r5, r2, r0, r5 ldr r0, [r3, #0xc] ldr r2, [r3, #0x10] mla r5, r0, r1, r5 ldr r0, [r3, #0x14] adds r1, r2, r7 adc r0, r0, r5 mov r2, r0, lsr #0x10 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r5, r2, lsl #0x1 add r2, r2, #1 str r1, [r3] str r0, [r3, #4] ldrsh r5, [r6, r5] mov r2, r2, lsl #0x1 ldrsh r6, [r6, r2] mov r2, r5, asr #0x1f mov r7, r2, lsl #0xc mov r2, #0x800 adds r8, r2, r5, lsl #12 orr r7, r7, r5, lsr #20 mov r5, r6, asr #0x1f adc r7, r7, #0 mov r8, r8, lsr #0xc mov r1, r5, lsl #0xc orr r8, r8, r7, lsl #20 adds r2, r2, r6, lsl #12 orr r1, r1, r6, lsr #20 adc r0, r1, #0 mov r1, r2, lsr #0xc str r8, [r4, #0x2d0] mov r3, #0 str r3, [r4, #0x2d4] orr r1, r1, r0, lsl #20 str r1, [r4, #0x2d8] b _0217ce00 _0217cde4: ldr r0, _0217ced8 ; =data_027e0d0c ldr r1, [r0] str r1, [r4, #0x2d0] ldr r1, [r0, #4] str r1, [r4, #0x2d4] ldr r0, [r0, #8] str r0, [r4, #0x2d8] _0217ce00: mov r3, #0 str r3, [r4, #0x6c] ldr r0, _0217cea8 ; =data_027e0f94 add r2, sp, #0x20 add r1, r4, #0x2d0 str r3, [r4, #0x64] bl func_01ff9bc4 ldr r0, _0217cea4 ; =data_027e0fac add r2, r4, #0x200 ldrsh r3, [r0] add r1, sp, #0x20 mov r0, r4 strh r3, [r2, #0xe6] bl _ZN5Actor12XzDistanceToEP5Vec3p str r0, [r4, #0x2e0] add r1, sp, #0x20 mov r0, r4 bl _ZN5Actor10GetAngleToEP5Vec3p add r1, r4, #0x200 ldrsh r2, [r1, #0xe6] add r0, r0, #0x8000 sub r0, r0, r2 strh r0, [r1, #0xe4] ldr r2, [r4, #0x68] ldr r5, [r4, #0x60] smull r1, r0, r2, r2 smull r3, r2, r5, r5 adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 str r0, [r4, #0x2dc] add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0217ca04 _0217cea0: .word 0x0000019a _0217cea4: .word data_027e0fac _0217cea8: .word data_027e0f94 _0217ceac: .word data_02050f54 _0217ceb0: .word 0x000004cd _0217ceb4: .word 0xfffff8cd _0217ceb8: .word 0x00000d71 _0217cebc: .word 0xfffffb33 _0217cec0: .word data_027e0e58 _0217cec4: .word 0x00000733 _0217cec8: .word data_027e0e60 _0217cecc: .word data_027e0ffc _0217ced0: .word 0x00000666 _0217ced4: .word data_027e0764 _0217ced8: .word data_027e0d0c .global func_ov15_0217cedc arm_func_start func_ov15_0217cedc func_ov15_0217cedc: ; 0x0217cedc stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x20 mov r10, r0 ldr r1, [r10, #0x2e0] cmp r1, #0 addge sp, sp, #0x20 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0x6000 addlt sp, sp, #0x20 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r10, #0x48 add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r1, [r10, #0x48] ldr r0, _0217d008 ; =data_027e0e60 str r1, [sp, #8] ldr r1, [r10, #0x4c] ldr r0, [r0] str r1, [sp, #0xc] ldr r3, [r10, #0x50] add r1, sp, #8 mov r2, #0 str r3, [sp, #0x10] bl func_ov00_02083ee0 str r0, [sp, #0x18] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0217d00c ; =data_027e0e58 add r2, sp, #0x14 ldr r0, [r0] mov r1, #0x80 mov r3, #2 bl func_ov00_0207c1b0 add r0, sp, #0x14 mov r1, #0xa00 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 ldr r1, _0217d010 ; =0x000009ec add r0, sp, #0x14 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _0217d014 ; =data_027e0ffc ldr r1, _0217d018 ; =0x000001b1 add r2, sp, #0x14 mov r3, #0 bl func_ov00_020ceacc mov r8, #0 ldr r6, _0217d01c ; =data_ov15_02187048 ldr r4, _0217d00c ; =data_027e0e58 add r9, r10, #0x2a0 mov r7, r8 add r5, sp, #0x14 mov r11, #2 _0217cfc0: str r7, [sp] mov r0, r8, lsl #0x1 str r7, [sp, #4] ldrsh r1, [r6, r0] ldr r0, [r4] mov r2, r5 mov r3, r11 bl func_ov00_0207c1b0 mov r0, r9 bl func_ov00_020b7e6c add r8, r8, #1 cmp r8, #4 add r9, r9, #0xc blt _0217cfc0 mov r0, #0 strb r0, [r10, #0x118] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217cedc _0217d008: .word data_027e0e60 _0217d00c: .word data_027e0e58 _0217d010: .word 0x000009ec _0217d014: .word data_027e0ffc _0217d018: .word 0x000001b1 _0217d01c: .word data_ov15_02187048 .global func_ov15_0217d020 arm_func_start func_ov15_0217d020 func_ov15_0217d020: ; 0x0217d020 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 ldr r2, _0217d204 ; =data_027e0fac mov r5, r0 add ip, r5, #0x200 ldrsh r3, [r2] ldrh r2, [ip, #0xe6] ldrsh r4, [ip, #0xe4] mov r0, r3, lsl #0x10 rsb r0, r2, r0, lsr #16 mov r0, r0, lsl #0x10 sub r0, r4, r0, asr #16 strh r0, [ip, #0xe4] ldr r2, [r5, #0x2e0] ldr r0, _0217d208 ; =data_027e0f94 sub r2, r2, #0xa4 add r6, sp, #0x14 str r2, [r5, #0x2e0] mov r4, r1 ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldrsh r0, [ip, #0xe4] ldr r2, _0217d20c ; =data_02050f54 ldr r1, [r5, #0x2e0] add r0, r3, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r6, r0, lsl #0x1 mov lr, r6, lsl #0x1 add r0, r6, #1 ldrsh lr, [r2, lr] mov r0, r0, lsl #0x1 ldrsh r2, [r2, r0] smull r7, r6, lr, r1 adds r7, r7, #0x800 smull lr, r1, r2, r1 adc r6, r6, #0 mov r7, r7, lsr #0xc ldr r0, [sp, #0x14] orr r7, r7, r6, lsl #20 add r6, r0, r7 adds r2, lr, #0x800 adc r0, r1, #0 mov r1, r2, lsr #0xc ldr r2, [sp, #0x1c] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r6, [sp, #0x14] str r0, [sp, #0x1c] ldr r0, [r5, #0x48] sub r0, r6, r0 str r0, [r5, #0x60] ldr r1, [sp, #0x1c] ldr r0, [r5, #0x50] sub r0, r1, r0 str r0, [r5, #0x68] strh r3, [ip, #0xe6] ldr r0, [r5, #0x6c] cmp r0, #0 bne _0217d16c ldr r0, [r5, #0x4c] cmp r0, #0x1800 blt _0217d16c ldr r0, [r5, #0x2e0] mov r1, #0xa4 bl Divide smull r2, r1, r0, r0 ldr r0, _0217d208 ; =data_027e0f94 adds r3, r2, #0x800 ldr r0, [r0, #4] adc r2, r1, #0 add r0, r0, #0xcd mov r1, r3, lsr #0xc ldr ip, [r5, #0x4c] add r0, r0, #0xc00 sub r0, ip, r0 mov r0, r0, lsl #0x1 orr r1, r1, r2, lsl #20 bl Divide str r0, [r5, #0x6c] mov r0, #0 str r0, [r5, #0x64] _0217d16c: ldr r1, [r5, #0x4c] ldr r0, [r4] cmp r1, r0 addge sp, sp, #0x20 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} add r0, r5, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4] mov r2, r3 str r0, [sp, #0xc] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0217d210 ; =data_027e0e58 mov r1, #0x82 ldr r0, [r0] mov r3, #2 bl func_ov00_0207c1b0 add r0, sp, #8 mov r1, #0x1000 mov r2, #0 bl func_ov00_020c74c8 mov r2, #0 add r0, sp, #8 mov r1, #0x1000 mov r3, r2 bl func_ov00_020c75f4 ldr r0, _0217d214 ; =data_027e0ffc ldr r1, _0217d218 ; =0x000001b1 add r2, sp, #8 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 strb r0, [r5, #0x118] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0217d020 _0217d204: .word data_027e0fac _0217d208: .word data_027e0f94 _0217d20c: .word data_02050f54 _0217d210: .word data_027e0e58 _0217d214: .word data_027e0ffc _0217d218: .word 0x000001b1 .global func_ov15_0217d21c arm_func_start func_ov15_0217d21c func_ov15_0217d21c: ; 0x0217d21c stmdb sp!, {lr} sub sp, sp, #0xc cmp r1, #0 ldrneb r1, [r0, #0xa5] ldreqb r1, [r0, #0xa4] cmp r1, #0 ldrne r1, [r0, #0x130] cmpne r1, #1 addeq sp, sp, #0xc ldmeqia sp!, {pc} ldrh r1, [r0, #0x20] cmp r1, #3 bne _0217d264 mov r1, #0x2000 str r1, [sp] str r1, [sp, #4] str r1, [sp, #8] b _0217d274 _0217d264: mov r1, #0x1000 str r1, [sp] str r1, [sp, #4] str r1, [sp, #8] _0217d274: add r1, sp, #0 add r0, r0, #0x158 bl func_ov00_020c5fc0 add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov15_0217d21c .global func_ov15_0217d288 arm_func_start func_ov15_0217d288 func_ov15_0217d288: ; 0x0217d288 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov r4, r0 ldrb r2, [r4, #0x2e8] cmp r2, #0 addne sp, sp, #0x30 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r2, [r1, #0x14] ldr r1, _0217d3ac ; =0x434e424c ldr r2, [r2, #4] cmp r2, r1 addne sp, sp, #0x30 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r1, #0xa strb r1, [r4, #0x2e8] add r1, r4, #0x100 ldrsh r2, [r1, #0x20] sub r2, r2, #1 strh r2, [r1, #0x20] ldrsh r1, [r1, #0x20] cmp r1, #0 addne sp, sp, #0x30 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} mov r1, #2 bl func_ov15_0217c82c ldrh r0, [r4, #0x20] cmp r0, #0 bne _0217d3a0 ldr r2, _0217d3b0 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds r6, ip, r5 adc r5, r0, lr mov r0, #0x64000 umull r3, ip, r5, r0 mla ip, r5, r1, ip mla ip, r1, r0, ip str r6, [r2] str r5, [r2, #4] cmp ip, #0x14000 bge _0217d3a0 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 ldr r0, [r4, #8] mov r1, #0 str r0, [sp, #0x20] ldr r2, [r4, #0xc] ldr r0, _0217d3b4 ; =data_027e0fe8 str r2, [sp, #0x24] str r1, [sp] ldr r0, [r0] ldr r1, _0217d3b8 ; =0x53485254 add r3, sp, #4 add r2, r4, #0x48 bl func_ov00_020c4048 _0217d3a0: mov r0, #1 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217d288 _0217d3ac: .word 0x434e424c _0217d3b0: .word data_027e0764 _0217d3b4: .word data_027e0fe8 _0217d3b8: .word 0x53485254 .global func_ov15_0217d3bc arm_func_start func_ov15_0217d3bc func_ov15_0217d3bc: ; 0x0217d3bc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x34 ldr r1, [sp, #0x58] ldr r6, [sp, #0x5c] ldr r4, [r1] ldr r11, _0217d538 ; =0x0000010a str r1, [sp, #0x58] str r0, [sp, #4] mov r8, r2 mov r7, r3 mov r5, #0 _0217d3e8: mov ip, #0 umull r10, r9, r4, r11 mla r9, r4, ip, r9 mov lr, r4, asr #0x1f adds r10, r10, #0x800 mla r9, lr, r11, r9 mov r10, r10, lsr #0xc adc r9, r9, #0 orr r10, r10, r9, lsl #20 ldr r2, _0217d53c ; =data_ov15_0218e198 ldr r3, _0217d540 ; =data_ov15_0218e19c str r10, [sp, #0xc] mov r9, ip add r0, sp, #0x1c add r1, sp, #0xc str r9, [sp] bl func_ov15_0215cc30 ldr r1, [sp, #0x1c] ldr r0, [sp, #0x20] str r1, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x2c] str r1, [sp, #0x30] add r0, sp, #0x28 mov r1, r7 bl func_ov00_020ce2f0 ldr r1, [r8] bl Divide cmp r5, #8 bge _0217d50c add r5, r5, #1 add r1, r4, #0x1000 cmp r0, r1 ble _0217d4fc cmp r0, r6 mov r4, r0 blt _0217d3e8 ldr r0, _0217d538 ; =0x0000010a mov r4, r9 umull r3, r2, r6, r0 mla r2, r6, r4, r2 mov r1, r6, asr #0x1f mla r2, r1, r0, r2 adds r3, r3, #0x800 adc r0, r2, #0 mov r1, r3, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [sp, #8] ldr r2, _0217d544 ; =data_ov15_0218e1a0 ldr r3, _0217d548 ; =data_ov15_0218e1a4 add r0, sp, #0x10 add r1, sp, #8 str r4, [sp] bl func_ov15_0215cc30 ldr r0, _0217d54c ; =data_027e0f94 ldr r2, [sp, #0x10] ldr r0, [r0, #4] ldr r1, [sp, #0x18] str r0, [sp, #0x2c] str r1, [sp, #0x30] ldr r0, [sp, #0x58] str r2, [sp, #0x28] ldr r3, [sp, #4] add r1, sp, #0x28 str r6, [r0] ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0217d4fc: sub r1, r4, #0x1000 cmp r0, r1 movlt r4, r0 blt _0217d3e8 _0217d50c: ldr r1, _0217d54c ; =data_027e0f94 ldr r3, [sp, #4] ldr r1, [r1, #4] add r2, sp, #0x28 str r1, [sp, #0x2c] ldr r1, [sp, #0x58] str r0, [r1] ldmia r2, {r0, r1, r2} stmia r3, {r0, r1, r2} add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217d3bc _0217d538: .word 0x0000010a _0217d53c: .word data_ov15_0218e198 _0217d540: .word data_ov15_0218e19c _0217d544: .word data_ov15_0218e1a0 _0217d548: .word data_ov15_0218e1a4 _0217d54c: .word data_027e0f94 .global func_ov15_0217d550 arm_func_start func_ov15_0217d550 func_ov15_0217d550: ; 0x0217d550 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 bl func_ov00_020c5e20 ldr r0, [r4, #0x16c] cmp r0, #1 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217d550 .global func_ov15_0217d590 arm_func_start func_ov15_0217d590 func_ov15_0217d590: ; 0x0217d590 ldr r0, [r0] add r0, r0, #0x70 bx lr arm_func_end func_ov15_0217d590 .global func_ov15_0217d59c arm_func_start func_ov15_0217d59c func_ov15_0217d59c: ; 0x0217d59c stmdb sp!, {r3, lr} ldr ip, [r0] cmp ip, #0 ldmeqia sp!, {r3, pc} ldr r3, [r1] str r3, [ip, #0x70] ldr r3, [r1, #4] str r3, [ip, #0x74] ldr r3, [r1, #8] mov r1, #3 str r3, [ip, #0x78] ldr r0, [r0] bl func_ov03_020f0b8c ldmia sp!, {r3, pc} arm_func_end func_ov15_0217d59c .global func_ov15_0217d5d4 arm_func_start func_ov15_0217d5d4 func_ov15_0217d5d4: ; 0x0217d5d4 stmdb sp!, {r3, lr} ldr r0, [r0] mov r2, r1 cmp r0, #0 ldmeqia sp!, {r3, pc} mov r1, #0 bl func_ov03_020f0b8c ldmia sp!, {r3, pc} arm_func_end func_ov15_0217d5d4 .global func_ov15_0217d5f4 arm_func_start func_ov15_0217d5f4 func_ov15_0217d5f4: ; 0x0217d5f4 ldr ip, _0217d600 ; =func_ov03_020f0e4c ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov15_0217d5f4 _0217d600: .word func_ov03_020f0e4c .global func_ov15_0217d604 arm_func_start func_ov15_0217d604 func_ov15_0217d604: ; 0x0217d604 cmp r1, #0 bxeq lr ldr r2, [r0] add r1, r2, r1 str r1, [r0] cmp r1, #0x100000 blt _0217d634 _0217d620: ldr r1, [r0] sub r1, r1, #0x100000 str r1, [r0] cmp r1, #0x100000 bge _0217d620 _0217d634: cmp r1, #0 bxge lr _0217d63c: ldr r1, [r0] adds r1, r1, #0x100000 str r1, [r0] bmi _0217d63c bx lr arm_func_end func_ov15_0217d604 .global func_ov15_0217d650 arm_func_start func_ov15_0217d650 func_ov15_0217d650: ; 0x0217d650 stmdb sp!, {r3, lr} sub sp, sp, #8 mov r1, #0 str r1, [sp] ldr r1, [r0] ldr r0, _0217d688 ; =0x04001030 mov ip, r1, asr #0xc ldr r1, _0217d68c ; =data_027e0184 mov r2, #0x80 mov r3, #0x60 str ip, [sp, #4] bl func_02005234 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217d650 _0217d688: .word 0x04001030 _0217d68c: .word data_027e0184 .global func_ov15_0217d690 arm_func_start func_ov15_0217d690 func_ov15_0217d690: ; 0x0217d690 stmdb sp!, {r3, lr} ldr r1, _0217d6bc ; =data_027e0fe0 mov r0, #0x170 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217d6c0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217d690 _0217d6bc: .word data_027e0fe0 .global func_ov15_0217d6c0 arm_func_start func_ov15_0217d6c0 func_ov15_0217d6c0: ; 0x0217d6c0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev mov r1, #0 ldr r0, _0217d6f4 ; =data_ov15_0218e478 mov r2, r1 str r0, [r4] mov r3, r1 add r0, r4, #0x15c str r1, [r4, #0x158] blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217d6c0 _0217d6f4: .word data_ov15_0218e478 .global func_ov15_0217d6f8 arm_func_start func_ov15_0217d6f8 func_ov15_0217d6f8: ; 0x0217d6f8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020b3ea8 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217d6f8 .global func_ov15_0217d718 arm_func_start func_ov15_0217d718 func_ov15_0217d718: ; 0x0217d718 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020b3ea8 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217d718 .global func_ov15_0217d740 arm_func_start func_ov15_0217d740 func_ov15_0217d740: ; 0x0217d740 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrh r0, [r4, #0x20] mov r1, #0 str r0, [r4, #0x158] cmp r0, #3 movge r0, #0 strge r0, [r4, #0x158] str r1, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr r0, [r4, #0x158] cmp r0, #0 cmpne r0, #1 beq _0217d79c cmp r0, #2 bne _0217d79c sub r1, r1, #0x1400 mov r0, #0x800 str r1, [sp, #4] str r0, [sp] b _0217d7b0 _0217d79c: mov r1, #0xc00 rsb r1, r1, #0 mov r0, #0x1400 str r1, [sp, #4] str r0, [sp] _0217d7b0: ldr r0, _0217d860 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082504 mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac ldr r1, [r4, #0x48] ldr r0, [sp] add r0, r1, r0 str r0, [r4, #0x48] ldr r1, [r4, #0x4c] ldr r0, [sp, #4] add r0, r1, r0 str r0, [r4, #0x4c] ldr r1, [r4, #0x50] ldr r0, [sp, #8] add r0, r1, r0 str r0, [r4, #0x50] ldr r1, [r4, #0x48] add r0, r1, #0x9a add r0, r0, #0x2500 cmp r0, #0x800 movlo r0, #0 strlo r0, [r4, #0x168] blo _0217d82c ldr r0, _0217d864 ; =0xffffda66 cmp r1, r0 movlt r0, #1 strlt r0, [r4, #0x168] movge r0, #2 strge r0, [r4, #0x168] _0217d82c: ldr r0, _0217d868 ; =data_027e0f68 ldr r2, [r4, #0x158] ldr r0, [r0] mov r1, #0xac bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x15c ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217d740 _0217d860: .word data_027e0e60 _0217d864: .word 0xffffda66 _0217d868: .word data_027e0f68 .global func_ov15_0217d86c arm_func_start func_ov15_0217d86c func_ov15_0217d86c: ; 0x0217d86c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0x16c] cmpne r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] ldr r3, _0217d8d8 ; =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, #0x15c ldr r3, [r0] add r1, sp, #0 ldr r3, [r3, #0x14] add r2, r4, #0x48 blx r3 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217d86c _0217d8d8: .word data_02050f54 .global func_ov15_0217d8dc arm_func_start func_ov15_0217d8dc func_ov15_0217d8dc: ; 0x0217d8dc ldr r1, _0217d904 ; =data_027e10a4 ldr r2, [r0, #0x4c] ldr r0, [r1] ldr r0, [r0, #0x2ec] subs r0, r2, r0 rsbmi r0, r0, #0 cmp r0, #0x3000 movgt r0, #0 movle r0, #1 bx lr .align 2, 0 arm_func_end func_ov15_0217d8dc _0217d904: .word data_027e10a4 .global func_ov15_0217d908 arm_func_start func_ov15_0217d908 func_ov15_0217d908: ; 0x0217d908 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} mov r0, r4 bl func_ov15_0217d8dc cmp r0, #0 moveq r0, #0 addeq sp, sp, #4 streqb r0, [r4, #0x16c] ldmeqia sp!, {r3, r4, pc} mov r2, #1 add r1, sp, #0 mov r0, r4 strb r2, [r4, #0x16c] bl func_ov15_0217d994 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} ldr r0, _0217d97c ; =data_027e10a4 ldr r2, [sp] ldr r0, [r0] add r1, r4, #0x48 bl func_ov15_02142dac add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217d908 _0217d97c: .word data_027e10a4 .global func_ov15_0217d980 arm_func_start func_ov15_0217d980 func_ov15_0217d980: ; 0x0217d980 stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov15_0217d980 .global func_ov15_0217d994 arm_func_start func_ov15_0217d994 func_ov15_0217d994: ; 0x0217d994 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x10 ldr r2, _0217db3c ; =data_027e10a4 mov r7, r0 ldr r3, [r2] mov r6, r1 ldr r2, [r3, #0x300] ldr r0, _0217db40 ; =data_ov15_0218e464 str r2, [sp] ldr r1, [r3, #0x304] add r8, sp, #0 str r1, [sp, #4] ldr r1, [r3, #0x308] str r1, [sp, #8] ldr r9, [r3, #0x30c] str r9, [sp, #0xc] ldr r5, [r7, #0x158] ldr r10, [r0, r5, lsl #2] ldr r4, [r10] ldr r0, [r10, #4] sub r0, r4, r0 bl func_02042f68 ldr r2, [sp, #4] ldr r3, [r7, #0x4c] sub r1, r2, r9 sub r1, r1, r3 add r2, r2, r9 rsb ip, r4, r1, asr #8 cmp ip, r0 sub r2, r2, r3 addge sp, sp, #0x10 rsb r1, r4, r2, asr #8 movge r0, #0 ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} cmp r1, #0 addle sp, sp, #0x10 movle r0, #0 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} cmp r1, r0 movgt r1, r0 cmp ip, #0 movlt ip, #0 mov r4, ip cmp ip, r1 add r10, r10, #8 mov r2, #0 bgt _0217da68 _0217da50: ldr r3, [r10, r4, lsl #2] add r4, r4, #1 cmp r2, r3 movlt r2, r3 cmp r4, r1 ble _0217da50 _0217da68: ldr r4, [r7, #0x48] ldr r8, [r8] add r3, r4, r2, lsl #8 sub lr, r8, r9 cmp lr, r3 addgt sp, sp, #0x10 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} cmp r5, #2 bne _0217dab8 cmp ip, r1 add r10, r10, r0, lsl #2 mov r2, #0 bgt _0217dab8 _0217daa0: ldr r0, [r10, ip, lsl #2] add ip, ip, #1 cmp r2, r0 movlt r2, r0 cmp ip, r1 ble _0217daa0 _0217dab8: sub r1, r4, r2, lsl #8 add r0, r8, r9 cmp r0, r1 addlt sp, sp, #0x10 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r0, [r7, #0x168] cmp r0, #0 beq _0217daf8 cmp r0, #1 beq _0217db24 cmp r0, #2 subeq r0, r1, #0x600 subeq r0, r0, r9 streq r0, [r6] b _0217db30 _0217daf8: add r0, r3, r1 cmp r8, r0, asr #1 ble _0217db14 add r0, r3, #0x600 add r0, r9, r0 str r0, [r6] b _0217db30 _0217db14: sub r0, r1, #0x600 sub r0, r0, r9 str r0, [r6] b _0217db30 _0217db24: add r0, r3, #0x600 add r0, r9, r0 str r0, [r6] _0217db30: mov r0, #1 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0217d994 _0217db3c: .word data_027e10a4 _0217db40: .word data_ov15_0218e464 .global func_ov15_0217db44 arm_func_start func_ov15_0217db44 func_ov15_0217db44: ; 0x0217db44 stmdb sp!, {r3, lr} ldr r1, _0217db70 ; =data_027e0fe0 mov r0, #0x168 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217db74 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217db44 _0217db70: .word data_027e0fe0 .global func_ov15_0217db74 arm_func_start func_ov15_0217db74 func_ov15_0217db74: ; 0x0217db74 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev mov r1, #0 ldr ip, _0217dba4 ; =data_ov15_0218e534 mov r2, r1 mov r3, r1 add r0, r4, #0x15c str ip, [r4] blx func_ov00_020bd618 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217db74 _0217dba4: .word data_ov15_0218e534 .global func_ov15_0217dba8 arm_func_start func_ov15_0217dba8 func_ov15_0217dba8: ; 0x0217dba8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020b3ea8 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217dba8 .global func_ov15_0217dbc8 arm_func_start func_ov15_0217dbc8 func_ov15_0217dbc8: ; 0x0217dbc8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c blx func_ov00_020b3ea8 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217dbc8 .global func_ov15_0217dbf0 arm_func_start func_ov15_0217dbf0 func_ov15_0217dbf0: ; 0x0217dbf0 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #0x20] mov r2, #0 str r0, [r4, #0x158] cmp r0, #1 movge r0, #0 strge r0, [r4, #0x158] ldr r1, [r4, #0x4c] ldr r0, _0217dc48 ; =data_027e0f68 sub r1, r1, #0x400 str r1, [r4, #0x4c] ldr r0, [r0] mov r1, #0xad bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x15c ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217dbf0 _0217dc48: .word data_027e0f68 .global func_ov15_0217dc4c arm_func_start func_ov15_0217dc4c func_ov15_0217dc4c: ; 0x0217dc4c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 bl func_ov15_0217dd10 cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] ldr r3, _0217dd08 ; =data_02050f54 add r0, sp, #0x18 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 r1, [r4, #0x48] ldr r0, _0217dd0c ; =data_027e0e60 str r1, [sp, #0xc] ldr r1, [r4, #0x4c] mov r2, #0 str r1, [sp, #0x10] ldr r3, [r4, #0x50] sub r1, r2, #0x2000 ldr r0, [r0] str r3, [sp, #0x14] str r2, [sp] str r2, [sp, #4] str r1, [sp, #8] bl func_ov00_02082504 mov r1, r0 add r0, sp, #0 bl func_ov00_020a61ac add r0, sp, #0xc add r1, sp, #0 mov r2, r0 bl func_01ff9bc4 add r0, r4, #0x15c ldr r3, [r0] add r1, sp, #0x18 ldr r3, [r3, #0x14] add r2, sp, #0xc blx r3 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217dc4c _0217dd08: .word data_02050f54 _0217dd0c: .word data_027e0e60 .global func_ov15_0217dd10 arm_func_start func_ov15_0217dd10 func_ov15_0217dd10: ; 0x0217dd10 cmp r1, #0 moveq r0, #0 bxeq lr ldr r1, _0217dd44 ; =data_027e10a4 ldr r2, [r0, #0x4c] ldr r0, [r1] ldr r0, [r0, #0x2ec] subs r0, r2, r0 rsbmi r0, r0, #0 cmp r0, #0x3000 movgt r0, #0 movle r0, #1 bx lr .align 2, 0 arm_func_end func_ov15_0217dd10 _0217dd44: .word data_027e10a4 .global func_ov15_0217dd48 arm_func_start func_ov15_0217dd48 func_ov15_0217dd48: ; 0x0217dd48 stmdb sp!, {r3, lr} mov r1, #0 mvn r2, #0 _0217dd54: ldr r3, [r0, r1, lsl #2] cmp r3, r2 beq _0217ddac add r3, r0, r1, lsl #2 ldr r3, [r3, #0x10] ldr r3, [r3] ldr ip, [r3, #4] cmp ip, #0 beq _0217ddac _0217dd78: ldr r3, [ip, #0x20] ldr lr, [ip] ldr r3, [r3] ldr r3, [r3, #0x58] mov r3, r3, lsl #0x18 mov r3, r3, lsr #0x18 and r3, r3, #0xff tst r3, #0x80 ldrneh r3, [r0, #0x22] strneh r3, [ip, #0x76] mov ip, lr cmp lr, #0 bne _0217dd78 _0217ddac: add r1, r1, #1 cmp r1, #2 blt _0217dd54 ldmia sp!, {r3, pc} arm_func_end func_ov15_0217dd48 .global func_ov15_0217ddbc arm_func_start func_ov15_0217ddbc func_ov15_0217ddbc: ; 0x0217ddbc stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r1, #7 mov r4, r0 blx func_ov03_020f1dd0 ldr r1, _0217def0 ; =data_ov15_0218e630 mov r0, #6 str r1, [r4] str r0, [sp] mov r1, #1 ldr r0, _0217def4 ; =func_ov03_020f23b4 str r1, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r4, #0x20] mov r1, #5 add r0, r0, #0x30 mov r2, #3 mov r3, #2 bl func_ov00_020cfed0 mov r0, #7 str r0, [sp] mov r1, #1 ldr r0, _0217def4 ; =func_ov03_020f23b4 str r1, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r4, #0x20] mov r1, #5 add r0, r0, #0x48 mov r2, #4 mov r3, #3 bl func_ov00_020cfed0 mov r0, #8 str r0, [sp] mov r3, #1 str r3, [sp, #4] ldr r1, _0217def8 ; =func_ov15_0217e1c8 mov r0, #0 str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [r4, #0x20] mov r1, #0x11 add r0, r0, #0x60 mov r2, #2 bl func_ov00_020cfed0 mov r0, #9 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r1, _0217def8 ; =func_ov15_0217e1c8 mov r0, #0 str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [r4, #0x20] mov r1, #0x11 add r0, r0, #0x78 mov r2, #3 mov r3, #2 bl func_ov00_020cfed0 mov r0, #0xa str r0, [sp] mov r2, #1 str r2, [sp, #4] ldr r0, _0217def8 ; =func_ov15_0217e1c8 mov r3, #0 str r0, [sp, #8] str r3, [sp, #0xc] ldr r0, [r4, #0x20] mov r1, #0x11 add r0, r0, #0x90 bl func_ov00_020cfed0 mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217ddbc _0217def0: .word data_ov15_0218e630 _0217def4: .word func_ov03_020f23b4 _0217def8: .word func_ov15_0217e1c8 .global func_ov15_0217defc arm_func_start func_ov15_0217defc func_ov15_0217defc: ; 0x0217defc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 mov r10, r0 mov r9, r1 ldr r0, _0217dffc ; =data_027e0cbc mov r1, #2 bl func_0203d7e0 cmp r0, #0 ldrnesb r0, [r10, #0x14] cmpne r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #4 bl func_01ffbe34 mov r0, r10 bl func_ov09_0211bcfc cmp r0, #0 movne r0, #1 mov r1, #0 strneb r0, [sp, #0xe] add r4, sp, #4 mov r2, r9 mov r3, r1 mov r0, #5 str r4, [sp] bl func_0203493c mov r0, r4 mov r1, #0 str r0, [sp] mov r2, r9 mov r3, r1 mov r0, #0x11 bl func_0203493c ldrb r0, [r10, #0x1d] mov r7, #0 cmp r0, #0 addle sp, sp, #0x24 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r11, r4 ldr r4, _0217e000 ; =gItemManager mov r8, r7 mov r5, r7 mov r6, #0x21 _0217dfa8: cmp r7, #2 bne _0217dfc4 ldr r0, [r4] mov r1, r6 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 beq _0217dfe0 _0217dfc4: str r10, [sp] ldr r0, [r10, #0x20] mov r1, r9 mov r2, r5 mov r3, r11 add r0, r0, r8 bl func_ov00_020d00c4 _0217dfe0: ldrb r0, [r10, #0x1d] add r7, r7, #1 add r8, r8, #0x18 cmp r7, r0 blt _0217dfa8 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217defc _0217dffc: .word data_027e0cbc _0217e000: .word gItemManager .global func_ov15_0217e004 arm_func_start func_ov15_0217e004 func_ov15_0217e004: ; 0x0217e004 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov03_020f25a0 ldr r0, _0217e044 ; =data_027e0cbc mov r1, #2 bl func_0203d7e0 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r2, #0 mov r3, r2 add r0, r5, #0x24 add r1, r4, #0x100 str r2, [sp] bl func_ov00_020d00c4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217e004 _0217e044: .word data_027e0cbc .global func_ov15_0217e048 arm_func_start func_ov15_0217e048 func_ov15_0217e048: ; 0x0217e048 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r6, r0 mov r4, r2 cmp r5, #8 beq _0217e074 cmp r5, #9 beq _0217e0d8 cmp r5, #0xa beq _0217e140 b _0217e1a4 _0217e074: bl func_ov15_0216a590 cmp r0, #0 bne _0217e0ac ldr r0, _0217e1b8 ; =data_ov00_020eec9c mov r1, #6 bl func_ov00_020d77e4 ldr r0, _0217e1bc ; =data_027e10a4 ldr r0, [r0] bl func_ov15_02144548 ldr r0, _0217e1c0 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf330 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0217e0ac: ldr r0, _0217e1c4 ; =gItemManager mov r1, #0x2c ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi cmp r0, #0 beq _0217e1a4 ldr r0, _0217e1b8 ; =data_ov00_020eec9c mov r1, #0xc bl func_ov00_020d77e4 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0217e0d8: bl func_ov15_0217708c cmp r0, #0 bne _0217e114 ldr r0, _0217e1b8 ; =data_ov00_020eec9c mov r1, #6 bl func_ov00_020d77e4 ldr r0, _0217e1bc ; =data_027e10a4 mov r2, #1 ldr r1, [r0] ldr r0, _0217e1c0 ; =data_027e103c strb r2, [r1, #0x444] ldr r0, [r0] bl func_ov00_020cf330 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0217e114: ldr r0, _0217e1c4 ; =gItemManager mov r1, #0x28 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi cmp r0, #0 beq _0217e1a4 ldr r0, _0217e1b8 ; =data_ov00_020eec9c mov r1, #0xc bl func_ov00_020d77e4 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0217e140: bl func_ov15_0217e368 cmp r0, #0 bne _0217e178 ldr r0, _0217e1b8 ; =data_ov00_020eec9c mov r1, #0x47 bl func_ov00_020d77e4 ldr r0, _0217e1c0 ; =data_027e103c ldr r0, [r0] bl func_ov05_021040c8 ldr r0, _0217e1c0 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf330 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0217e178: ldr r0, _0217e1c4 ; =gItemManager mov r1, #0x2e ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi cmp r0, #0 beq _0217e1a4 ldr r0, _0217e1b8 ; =data_ov00_020eec9c mov r1, #0xc bl func_ov00_020d77e4 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0217e1a4: mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov03_020f25a4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217e048 _0217e1b8: .word data_ov00_020eec9c _0217e1bc: .word data_027e10a4 _0217e1c0: .word data_027e103c _0217e1c4: .word gItemManager .global func_ov15_0217e1c8 arm_func_start func_ov15_0217e1c8 func_ov15_0217e1c8: ; 0x0217e1c8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r6, r1 ldrh r0, [r6, #0xa] mov r5, r2 mov r4, r3 cmp r0, #8 beq _0217e1fc cmp r0, #9 beq _0217e260 cmp r0, #0xa beq _0217e2c4 b _0217e328 _0217e1fc: ldr r0, _0217e334 ; =gItemManager mov r1, #0x2c ldr r0, [r0] mvn r7, #0 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 moveq r7, #4 beq _0217e228 bl func_ov15_0216a590 cmp r0, #0 movne r7, #6 _0217e228: mvn r0, #0 cmp r7, r0 beq _0217e328 str r4, [sp] mov r0, #0 str r0, [sp, #4] ldrsb r2, [r6, #0x10] mov r3, r5 and r1, r7, #0xff mov r0, #0x11 bl func_020349cc add sp, sp, #8 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217e260: ldr r0, _0217e334 ; =gItemManager mov r1, #0x28 ldr r0, [r0] mvn r7, #0 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 moveq r7, #4 beq _0217e28c bl func_ov15_0217708c cmp r0, #0 movne r7, #7 _0217e28c: mvn r0, #0 cmp r7, r0 beq _0217e328 str r4, [sp] mov r0, #0 str r0, [sp, #4] ldrsb r2, [r6, #0x10] mov r3, r5 and r1, r7, #0xff mov r0, #0x11 bl func_020349cc add sp, sp, #8 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217e2c4: ldr r0, _0217e334 ; =gItemManager mov r1, #0x2e ldr r0, [r0] mvn r7, #0 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 moveq r7, #4 beq _0217e2f0 bl func_ov15_0217e368 cmp r0, #0 movne r7, #5 _0217e2f0: mvn r0, #0 cmp r7, r0 beq _0217e328 str r4, [sp] mov r0, #0 str r0, [sp, #4] ldrsb r2, [r6, #0x10] mov r3, r5 and r1, r7, #0xff mov r0, #0x11 bl func_020349cc add sp, sp, #8 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217e328: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0217e1c8 _0217e334: .word gItemManager .global func_ov15_0217e338 arm_func_start func_ov15_0217e338 func_ov15_0217e338: ; 0x0217e338 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov03_020f1f0c mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217e338 .global func_ov15_0217e354 arm_func_start func_ov15_0217e354 func_ov15_0217e354: ; 0x0217e354 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov03_020f1f0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217e354 .global func_ov15_0217e368 arm_func_start func_ov15_0217e368 func_ov15_0217e368: ; 0x0217e368 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} ldr r0, _0217e4a4 ; =gAdventureFlags mov r4, #1 ldr r0, [r0] mov r5, r4 mov r6, r4 mov r7, r4 mov r8, r4 mov r9, r4 mov r10, r4 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0217e3d4 ldr r0, _0217e4a8 ; =data_027e0c68 bl func_02036798 cmp r0, #0 bne _0217e3d4 ldr r0, _0217e4ac ; =data_ov09_0211f5b4 bl func_ov03_020f3f94 cmp r0, #0 bne _0217e3d4 ldr r0, _0217e4b0 ; =data_027e0d38 ldr r0, [r0] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x32 movne r10, #0 _0217e3d4: cmp r10, #0 bne _0217e3f0 ldr r0, _0217e4b4 ; =data_027e10a4 ldr r0, [r0] ldr r0, [r0, #0x2c] cmp r0, #1 movne r9, #0 _0217e3f0: cmp r9, #0 bne _0217e40c ldr r0, _0217e4b4 ; =data_027e10a4 ldr r0, [r0] bl func_ov15_0213a538 cmp r0, #0 moveq r8, #0 _0217e40c: cmp r8, #0 bne _0217e42c ldr r0, _0217e4b8 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078ffc ldr r0, [r0] cmp r0, #0x1000 moveq r7, #0 _0217e42c: cmp r7, #0 ldreq r0, _0217e4bc ; =data_027e0d04 ldreqb r0, [r0, #5] cmpeq r0, #0 moveq r6, #0 cmp r6, #0 bne _0217e460 ldr r0, _0217e4c0 ; =gItemManager mov r1, #0x2e ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi cmp r0, #0 movne r5, #0 _0217e460: cmp r5, #0 bne _0217e49c ldr r0, _0217e4a4 ; =gAdventureFlags mov r1, #0x1f ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #1 bne _0217e498 ldr r0, _0217e4a4 ; =gAdventureFlags mov r1, #0x52 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0217e49c _0217e498: mov r4, #0 _0217e49c: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_0217e368 _0217e4a4: .word gAdventureFlags _0217e4a8: .word data_027e0c68 _0217e4ac: .word data_ov09_0211f5b4 _0217e4b0: .word data_027e0d38 _0217e4b4: .word data_027e10a4 _0217e4b8: .word data_027e0d3c _0217e4bc: .word data_027e0d04 _0217e4c0: .word gItemManager .global func_ov15_0217e4c4 arm_func_start func_ov15_0217e4c4 func_ov15_0217e4c4: ; 0x0217e4c4 ldr r0, _0217e4ec ; =data_027e077c ldr r0, [r0] cmp r0, #0x3a cmpne r0, #0x3b cmpne r0, #0x3c bne _0217e4e4 mov r0, #1 bx lr _0217e4e4: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov15_0217e4c4 _0217e4ec: .word data_027e077c .global func_ov15_0217e4f0 arm_func_start func_ov15_0217e4f0 func_ov15_0217e4f0: ; 0x0217e4f0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 str r1, [r4] mov r3, #0 strb r3, [r4, #4] strb r3, [r4, #5] mov r2, #0x1f str r2, [r4, #8] str r3, [r4, #0xc] str r3, [r4, #0x10] str r3, [r4, #0x14] str r3, [r4, #0x18] mov r1, #6 ldr r0, _0217e5c4 ; =data_ov15_0218e824 str r1, [r4, #0x1c] str r0, [r4, #0x20] str r3, [r4, #0x24] ldr r0, _0217e5c8 ; =data_ov03_02100654 strh r3, [r4, #0x28] str r0, [r4, #0x20] ldr r0, _0217e5cc ; =0x00007fff strb r2, [r4, #0x2a] strh r0, [r4, #0x2c] str r3, [r4, #0x30] ldr r0, _0217e5d0 ; =data_ov15_0218e7e0 str r3, [r4, #0x34] ldr ip, _0217e5d4 ; =func_ov15_0217e60c str r0, [r4, #0x20] ldr r3, _0217e5d8 ; =func_ov15_0217e610 add r0, r4, #0x38 mov r1, #0x12c mov r2, #0x14 str ip, [sp] bl func_0204f614 add r0, r4, #0x3a8 ldr r2, _0217e5dc ; =data_ov15_0218e84c add r1, r4, #0x1000 str r2, [r1, #0x7a8] add r3, r0, #0x1400 mov r0, #0x5000 str r0, [r3, #4] mov r2, #0x1000 ldr r0, _0217e5cc ; =0x00007fff str r2, [r3, #8] strh r0, [r3, #0xc] mov r0, #0x1f ldr r2, _0217e5e0 ; =data_ov03_02100634 strb r0, [r3, #0xe] mov r0, r4 str r2, [r1, #0x7a8] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217e4f0 _0217e5c4: .word data_ov15_0218e824 _0217e5c8: .word data_ov03_02100654 _0217e5cc: .word 0x00007fff _0217e5d0: .word data_ov15_0218e7e0 _0217e5d4: .word func_ov15_0217e60c _0217e5d8: .word func_ov15_0217e610 _0217e5dc: .word data_ov15_0218e84c _0217e5e0: .word data_ov03_02100634 .global func_ov15_0217e5e4 arm_func_start func_ov15_0217e5e4 func_ov15_0217e5e4: ; 0x0217e5e4 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _0217e608 ; =func_ov15_0217e60c add r0, r4, #0x18 mov r1, #0x12c mov r2, #0x14 bl func_0204f754 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217e5e4 _0217e608: .word func_ov15_0217e60c .global func_ov15_0217e60c arm_func_start func_ov15_0217e60c func_ov15_0217e60c: ; 0x0217e60c bx lr arm_func_end func_ov15_0217e60c .global func_ov15_0217e610 arm_func_start func_ov15_0217e610 func_ov15_0217e610: ; 0x0217e610 ldr r1, _0217e61c ; =data_ov15_0218e814 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov15_0217e610 _0217e61c: .word data_ov15_0218e814 .global func_ov15_0217e620 arm_func_start func_ov15_0217e620 func_ov15_0217e620: ; 0x0217e620 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0217f440 ldr r3, _0217e648 ; =func_ov15_0217e60c add r0, r4, #0x38 mov r1, #0x12c mov r2, #0x14 bl func_0204f754 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217e620 _0217e648: .word func_ov15_0217e60c .global func_ov15_0217e64c arm_func_start func_ov15_0217e64c func_ov15_0217e64c: ; 0x0217e64c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 cmp r1, #0 mov r4, r0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r4, #0xc] cmp r1, #0xb addls pc, pc, r1, lsl #2 b _0217eaec _0217e674: ; jump table b _0217eaec ; case 0 b _0217e6a4 ; case 1 b _0217eaec ; case 2 b _0217e720 ; case 3 b _0217e798 ; case 4 b _0217e934 ; case 5 b _0217eaec ; case 6 b _0217e9a4 ; case 7 b _0217e9cc ; case 8 b _0217e9f4 ; case 9 b _0217eaec ; case 10 b _0217ea84 ; case 11 _0217e6a4: ldr r0, _0217eaf4 ; =data_027e077c ldr r0, [r0] cmp r0, #0x3a addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r4, #0x10] ldr r0, _0217eaf8 ; =data_ov15_0218e688 sub r1, r1, #1 str r1, [r4, #0x10] ldr r2, [r0, #0x14c] mov r1, r1, lsl #0xc cmp r1, #0x1000 strle r2, [r4, #0x18] ble _0217e6fc ldr r0, [r4, #0x18] sub r0, r2, r0 mov r0, r0, lsl #0xc bl Divide ldr r1, [r4, #0x18] add r0, r0, #0x800 add r0, r1, r0, asr #12 str r0, [r4, #0x18] _0217e6fc: ldr r0, [r4, #0x10] cmp r0, #0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, #2 bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e720: ldr r0, _0217eaf4 ; =data_027e077c ldr r0, [r0] cmp r0, #0x3b addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _0217eafc ; =data_027e103c ldr r1, [r0] ldrsh r0, [r1, #0x20] cmp r0, #0 ldreqsh r0, [r1, #0x1e] cmpeq r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _0217eb00 ; =data_027e0d78 ldrh r1, [r0, #0x34] tst r1, #1 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, [r0, #0x14] ldr r0, [r0, #0x10] cmp r1, #0xa0 blt _0217e784 cmp r0, #0x20 addle sp, sp, #8 ldmleia sp!, {r4, r5, r6, pc} _0217e784: mov r0, r4 mov r1, #4 bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e798: ldr r0, _0217eaf4 ; =data_027e077c ldr r0, [r0] cmp r0, #0x3b addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _0217eafc ; =data_027e103c ldr r1, [r0] ldrsh r0, [r1, #0x20] cmp r0, #0 ldreqsh r0, [r1, #0x1e] cmpeq r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _0217eb00 ; =data_027e0d78 ldrh r2, [r0, #0x34] tst r2, #2 ldrne r1, [r4, #0x24] cmpne r1, #0 beq _0217e89c ldr r5, [r0, #0x1c] ldr r6, [r0, #0x20] cmp r5, #0x20 blt _0217e80c cmp r5, #0xe0 bgt _0217e80c cmp r6, #0x30 blt _0217e80c cmp r6, #0xa0 ble _0217e83c _0217e80c: cmp r1, #0 beq _0217e828 ldr r0, _0217eb04 ; =data_027e1048 ldr r0, [r0] ldr r5, [r0, #0x1c] ldr r6, [r0, #0x20] b _0217e83c _0217e828: ldr r0, _0217eb04 ; =data_027e1048 ldr r0, [r0] bl func_ov09_02119018 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e83c: ldr r0, _0217eb04 ; =data_027e1048 mov r1, r5 ldr r0, [r0] mov r2, r6 mov r3, #1 bl func_ov09_02119048 cmp r0, #0 beq _0217e870 ldr r0, _0217eb08 ; =data_027e104c mov r1, r5 ldr r0, [r0] mov r2, r6 bl func_ov09_0211a538 _0217e870: ldr r0, _0217eb08 ; =data_027e104c ldr r0, [r0] bl func_ov09_0211a59c ldr r0, _0217eb08 ; =data_027e104c ldr r0, [r0] bl func_ov09_0211a52c mov r0, r4 mov r1, #6 bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e89c: ldr r0, _0217eb00 ; =data_027e0d78 ldrb r0, [r0, #0xc] cmp r0, #0 bne _0217e8b8 tst r2, #1 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, pc} _0217e8b8: ldr r0, _0217eb00 ; =data_027e0d78 ldr r4, [r0, #0x10] ldr r5, [r0, #0x14] cmp r4, #0x20 addlt sp, sp, #8 ldmltia sp!, {r4, r5, r6, pc} cmp r4, #0xe0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, pc} cmp r5, #0x30 addlt sp, sp, #8 ldmltia sp!, {r4, r5, r6, pc} cmp r5, #0xa0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, pc} ldr r0, _0217eb04 ; =data_027e1048 mov r1, r4 ldr r0, [r0] mov r2, r5 mov r3, #0 bl func_ov09_02119048 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0217eb08 ; =data_027e104c mov r1, r4 ldr r0, [r0] mov r2, r5 bl func_ov09_0211a538 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e934: ldr r0, [r4, #0x10] sub r2, r0, #1 rsb r0, r2, #0xf rsb r0, r0, #5 mov r1, r0, lsl #0xc cmp r1, #0x1000 str r2, [r4, #0x10] movle r0, #0 ble _0217e974 ldr r0, [r4, #8] rsb r0, r0, #0 mov r0, r0, lsl #0xc bl Divide ldr r1, [r4, #8] add r0, r0, #0x800 add r0, r1, r0, asr #12 _0217e974: str r0, [r4, #8] ldr r0, [r4, #8] strb r0, [r4, #0x2a] ldr r0, [r4, #0x10] cmp r0, #0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, #3 bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e9a4: ldr r1, [r4, #0x10] sub r1, r1, #1 cmp r1, #0 addgt sp, sp, #8 str r1, [r4, #0x10] ldmgtia sp!, {r4, r5, r6, pc} mov r1, #5 bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e9cc: ldr r1, [r4, #0x10] sub r1, r1, #1 cmp r1, #0 addgt sp, sp, #8 str r1, [r4, #0x10] ldmgtia sp!, {r4, r5, r6, pc} mov r1, #9 bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217e9f4: ldr r1, [r4, #0x10] ldr r0, _0217eaf8 ; =data_ov15_0218e688 sub r2, r1, #1 rsb r1, r2, #0x3c rsb r1, r1, #0xf str r2, [r4, #0x10] mov r1, r1, lsl #0xc ldr r2, [r0, #0x144] cmp r1, #0x1000 strle r2, [r4, #0x18] ble _0217ea40 ldr r0, [r4, #0x18] sub r0, r2, r0 mov r0, r0, lsl #0xc bl Divide ldr r1, [r4, #0x18] add r0, r0, #0x800 add r0, r1, r0, asr #12 str r0, [r4, #0x18] _0217ea40: ldr r0, _0217eaf8 ; =data_ov15_0218e688 ldr r2, [r4, #0x18] ldr r1, [r0, #0x14c] mov r0, #0 sub r1, r2, r1 str r0, [r4, #0x30] mov r0, r1, lsl #0xc str r0, [r4, #0x34] ldr r0, [r4, #0x10] cmp r0, #0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, #0xa bl func_ov15_0217eb0c add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _0217ea84: ldr r1, [r4, #0x10] ldr r0, _0217eaf8 ; =data_ov15_0218e688 sub r2, r1, #1 rsb r1, r2, #0x1e rsb r1, r1, #0xf str r2, [r4, #0x10] mov r1, r1, lsl #0xc ldr r2, [r0, #0x144] cmp r1, #0x1000 strle r2, [r4, #0x18] ble _0217ead0 ldr r0, [r4, #0x18] sub r0, r2, r0 mov r0, r0, lsl #0xc bl Divide ldr r1, [r4, #0x18] add r0, r0, #0x800 add r0, r1, r0, asr #12 str r0, [r4, #0x18] _0217ead0: ldr r0, [r4, #0x10] cmp r0, #0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, #0 bl func_ov15_0217eb0c _0217eaec: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217e64c _0217eaf4: .word data_027e077c _0217eaf8: .word data_ov15_0218e688 _0217eafc: .word data_027e103c _0217eb00: .word data_027e0d78 _0217eb04: .word data_027e1048 _0217eb08: .word data_027e104c .global func_ov15_0217eb0c arm_func_start func_ov15_0217eb0c func_ov15_0217eb0c: ; 0x0217eb0c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14 mov r4, r0 str r1, [r4, #0xc] mov r7, #0 str r7, [r4, #0x30] str r7, [r4, #0x34] ldr r1, [r4, #0xc] cmp r1, #0xb addls pc, pc, r1, lsl #2 b _0217ee04 _0217eb38: ; jump table b _0217eb68 ; case 0 b _0217eba0 ; case 1 b _0217ec04 ; case 2 b _0217ec34 ; case 3 b _0217ee04 ; case 4 b _0217ed38 ; case 5 b _0217ec5c ; case 6 b _0217ed28 ; case 7 b _0217ed5c ; case 8 b _0217ed6c ; case 9 b _0217eda0 ; case 10 b _0217ede8 ; case 11 _0217eb68: strb r7, [r4, #5] ldr r0, _0217ee10 ; =data_ov15_0218e688 strb r7, [r4, #4] ldr r2, [r0, #0x140] mov r1, r7 str r2, [r4, #0x14] ldr r0, [r0, #0x144] str r0, [r4, #0x18] ldr r0, [r4] bl func_ov15_02183824 ldr r0, _0217ee14 ; =data_027e077c mov r1, #1 bl func_0202e740 b _0217ee04 _0217eba0: bl func_ov15_0217f420 ldr r0, _0217ee14 ; =data_027e077c mov r1, #0x3a bl func_0202e740 mov r0, #1 strb r0, [r4, #4] mov r0, #0xf str r0, [r4, #0x10] ldr r1, _0217ee10 ; =data_ov15_0218e688 ldr r0, _0217ee18 ; =data_027e1048 ldr r2, [r1, #0x140] str r2, [r4, #0x14] ldr r2, [r1, #0x144] add r1, r4, #0x20 str r2, [r4, #0x18] ldr r0, [r0] bl func_ov09_02118e5c ldr r0, _0217ee18 ; =data_027e1048 add r1, r4, #0x3a8 ldr r0, [r0] add r1, r1, #0x1400 bl func_ov09_02118e44 mov r0, r7 strb r0, [r4, #5] b _0217ee04 _0217ec04: ldr r0, _0217ee14 ; =data_027e077c mov r1, #0x3b bl func_0202e740 ldr r2, _0217ee10 ; =data_ov15_0218e688 mov r0, r4 ldr r3, [r2, #0x148] mov r1, #3 str r3, [r4, #0x14] ldr r2, [r2, #0x14c] str r2, [r4, #0x18] bl func_ov15_0217eb0c b _0217ee04 _0217ec34: mov r1, #1 strb r1, [r4, #5] bl func_ov15_0217f3f8 ldr r0, _0217ee1c ; =data_027e104c ldr r0, [r0] bl func_ov09_0211a514 mov r0, #0x1f str r0, [r4, #8] strb r0, [r4, #0x2a] b _0217ee04 _0217ec5c: ldr r0, _0217ee1c ; =data_027e104c sub r1, r7, #1 ldr r0, [r0] str r7, [sp, #0x10] bl func_ov09_0211a604 ldr r10, _0217ee20 ; =data_ov15_0218e6d8 ldr r11, _0217ee1c ; =data_027e104c mov r8, #6 mov r9, r7 mov r6, #3 add r5, sp, #0x10 _0217ec88: mov r0, r4 mov r1, r9 bl func_ov15_0217f47c cmp r0, #0 beq _0217ece0 str r6, [sp] str r5, [sp, #4] ldr r0, [r11] ldr r1, [r10, #0x1c] ldr r2, [r10, #0x20] ldr r3, [r10, #0x24] bl func_ov09_0211a74c cmp r0, #0 beq _0217ece0 cmp r8, #6 moveq r8, r9 ldreq r7, [sp, #0x10] beq _0217ece0 ldr r0, [sp, #0x10] cmp r0, r7 movgt r7, r0 movgt r8, r9 _0217ece0: add r9, r9, #1 cmp r9, #6 add r10, r10, #0x28 blt _0217ec88 str r8, [r4, #0x1c] cmp r8, #6 bne _0217ed18 ldr r0, _0217ee1c ; =data_027e104c ldr r0, [r0] bl func_ov09_0211a514 mov r0, r4 mov r1, #7 bl func_ov15_0217eb0c b _0217ee04 _0217ed18: mov r0, r4 mov r1, #8 bl func_ov15_0217eb0c b _0217ee04 _0217ed28: strb r7, [r4, #5] mov r0, #0xf str r0, [r4, #0x10] b _0217ee04 _0217ed38: strb r7, [r4, #5] mov r1, #0xf ldr r0, _0217ee24 ; =data_ov00_020eec9c str r1, [r4, #0x10] mov r2, #0x1f mov r1, #0xb str r2, [r4, #8] bl func_ov00_020d77e4 b _0217ee04 _0217ed5c: strb r7, [r4, #5] mov r0, #0x3c str r0, [r4, #0x10] b _0217ee04 _0217ed6c: strb r7, [r4, #5] mov r0, #0x3c str r0, [r4, #0x10] ldr r0, [r4] mov r1, r7 bl func_ov15_02183824 ldr r0, _0217ee14 ; =data_027e077c mov r1, #0x3c bl func_0202e740 ldr r0, _0217ee28 ; =data_027e0ffc mov r1, r7 bl func_ov00_020ce8e4 b _0217ee04 _0217eda0: strb r7, [r4, #5] ldr r1, _0217ee10 ; =data_ov15_0218e688 strb r7, [r4, #4] ldr r2, [r1, #0x140] str r2, [r4, #0x14] ldr r1, [r1, #0x144] str r1, [r4, #0x18] bl func_ov15_0217f440 ldr r0, _0217ee14 ; =data_027e077c mov r1, #1 bl func_0202e740 ldr r1, [r4, #0x1c] mov r0, r4 bl func_ov15_0217f600 mov r0, r4 mov r1, r7 bl func_ov15_0217eb0c b _0217ee04 _0217ede8: strb r7, [r4, #5] bl func_ov15_0217f440 ldr r0, _0217ee14 ; =data_027e077c mov r1, #0x3c bl func_0202e740 mov r0, #0x1e str r0, [r4, #0x10] _0217ee04: mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217eb0c _0217ee10: .word data_ov15_0218e688 _0217ee14: .word data_027e077c _0217ee18: .word data_027e1048 _0217ee1c: .word data_027e104c _0217ee20: .word data_ov15_0218e6d8 _0217ee24: .word data_ov00_020eec9c _0217ee28: .word data_027e0ffc .global func_ov15_0217ee2c arm_func_start func_ov15_0217ee2c func_ov15_0217ee2c: ; 0x0217ee2c stmdb sp!, {r3, lr} mov r3, r0 cmp r1, #0 ldmneia sp!, {r3, pc} ldrb r0, [r3, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _0217ee5c ; =data_027e0de4 ldr r2, _0217ee60 ; =func_ov15_0217ee64 mov r1, #4 bl func_ov00_0207bb1c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217ee2c _0217ee5c: .word data_027e0de4 _0217ee60: .word func_ov15_0217ee64 .global func_ov15_0217ee64 arm_func_start func_ov15_0217ee64 func_ov15_0217ee64: ; 0x0217ee64 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x14c ldr r3, _0217f3a0 ; =0x0000ffff ldr r2, _0217f3a4 ; =0x040004c0 ldr r1, _0217f3a8 ; =0x001f0080 str r3, [r2] ldr r3, _0217f3ac ; =data_027e0d44 str r1, [r2, #-0x1c] ldr r1, [r3] str r0, [sp, #4] ldr r0, [r1, #0xd0] mov r1, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bic r0, r0, #0xe0000000 orr r0, r0, #0x36400000 str r0, [r2, #-0x18] ldr r0, [r3] mov r3, #0x20 ldr r4, [r0, #0xd4] add r0, sp, #0x13c mov r4, r4, lsl #0x10 mov r4, r4, lsr #0x11 str r4, [r2, #-0x14] ldr r2, [sp, #4] ldr r4, [r2, #0x14] ldr r5, [r2, #0x18] mov r2, r1 str r4, [sp, #0x13c] str r5, [sp, #0x140] str r3, [sp, #0x144] str r3, [sp, #0x148] mov r3, #0x20000 str r3, [sp] bl func_ov05_0210e2c4 mov r1, #0x20 add r2, r4, #0x20 str r2, [sp, #0x12c] add r0, sp, #0x12c str r5, [sp, #0x130] str r1, [sp, #0x134] str r1, [sp, #0x138] mov r1, #0x20000 mov r2, #0 mov r3, #0x40000 str r1, [sp] bl func_ov05_0210e2c4 mov r1, #0x20 add r0, r4, #0x40 str r0, [sp, #0x11c] add r0, sp, #0x11c str r5, [sp, #0x120] str r1, [sp, #0x124] str r1, [sp, #0x128] mov r1, #0x20000 mov r2, #0 mov r3, #0x40000 str r1, [sp] bl func_ov05_0210e2c4 add r0, r4, #0x60 str r0, [sp, #0x10c] mov r0, #0x10 str r0, [sp, #0x114] mov r0, #0x20 str r0, [sp, #0x118] str r5, [sp, #0x110] mov r0, #0x20000 str r0, [sp] add r0, sp, #0x10c mov r1, #0x30000 mov r2, #0 mov r3, #0x40000 bl func_ov05_0210e2c4 add r0, r4, #0x70 mov r1, #0x20 str r5, [sp, #0x100] str r0, [sp, #0xfc] str r1, [sp, #0x104] str r1, [sp, #0x108] mov r6, #0x20000 add r0, sp, #0xfc mov r1, #0x40000 mov r2, #0 mov r3, #0x60000 str r6, [sp] bl func_ov05_0210e2c4 add r3, r4, #0x90 mov r2, #0x10 mov r1, #0x20 str r3, [sp, #0xec] str r2, [sp, #0xf4] str r1, [sp, #0xf8] str r5, [sp, #0xf0] add r0, sp, #0xec mov r1, #0x3f000 mov r2, #0 mov r3, #0x30000 str r6, [sp] bl func_ov05_0210e2c4 mov r1, #0x20 add r2, r4, #0xa0 str r2, [sp, #0xdc] add r0, sp, #0xdc str r5, [sp, #0xe0] str r1, [sp, #0xe4] str r1, [sp, #0xe8] mov r3, r6 mov r1, #0x3f000 mov r2, #0 str r3, [sp] bl func_ov05_0210e2c4 add r0, r4, #0xc0 str r0, [sp, #0xcc] mov r0, #0x20 str r5, [sp, #0xd0] str r0, [sp, #0xd4] str r0, [sp, #0xd8] mov r3, r6 add r0, sp, #0xcc mov r1, #0x3f000 mov r2, #0 str r3, [sp] bl func_ov05_0210e2c4 add r0, r4, #0xe0 str r0, [sp, #0xbc] mov r0, #0x20 mov r2, #0 str r5, [sp, #0xc0] str r0, [sp, #0xc4] str r0, [sp, #0xc8] mov r0, r6 str r0, [sp] add r0, sp, #0xbc mov r1, #0x1f000 mov r3, r2 bl func_ov05_0210e2c4 ldr r0, [sp, #4] mov r2, #0x30000 ldr r1, [r0, #0x18] ldr r0, [r0, #0x14] add r5, r1, #0x20 add r4, r0, #0x10 mov r0, #0x10 str r0, [sp, #0xb4] mov r0, #0x20 str r0, [sp, #0xb8] str r4, [sp, #0xac] str r5, [sp, #0xb0] mov r0, #0x50000 str r0, [sp] add r0, sp, #0xac mov r1, #0x10000 mov r3, r6 bl func_ov05_0210e2c4 add r3, r5, #0x20 mov r2, #0x10 mov r1, #0x30 str r3, [sp, #0xa0] str r2, [sp, #0xa4] str r1, [sp, #0xa8] add r0, sp, #0x9c str r4, [sp, #0x9c] mov r6, #0x60000 mov r1, #0 mov r2, #0x30000 mov r3, #0x10000 str r6, [sp] bl func_ov05_0210e2c4 add r2, r5, #0x50 mov r1, #0x10 mov r0, #0x20 str r2, [sp, #0x90] str r1, [sp, #0x94] str r0, [sp, #0x98] str r4, [sp, #0x8c] mov r1, #0x50000 str r1, [sp] add r0, sp, #0x8c mov r1, #0x10000 mov r2, #0x30000 mov r3, #0x20000 bl func_ov05_0210e2c4 ldr r0, [sp, #4] mov r7, #0x20 ldr r1, [r0, #0x18] mov r0, #0 str r0, [sp, #8] add r10, r1, #0x20 mov r6, #0x50000 add r5, sp, #0x7c mov r4, #0x20000 mov r11, #0x30000 _0217f164: ldr r0, [sp, #4] mov r8, #0 ldr r0, [r0, #0x14] add r9, r0, #0x20 _0217f174: mov r0, r5 mov r1, r4 str r9, [sp, #0x7c] str r10, [sp, #0x80] str r7, [sp, #0x84] str r7, [sp, #0x88] mov r2, r11 mov r3, #0x40000 str r6, [sp] bl func_ov05_0210e2c4 add r8, r8, #1 cmp r8, #6 add r9, r9, #0x20 blt _0217f174 ldr r0, [sp, #8] add r10, r10, #0x20 add r0, r0, #1 str r0, [sp, #8] cmp r0, #3 blt _0217f164 ldr r0, [sp, #4] mov r10, #0 ldr r1, [r0, #0x18] ldr r0, [r0, #0x14] add r9, r1, #0x80 add r8, r0, #0x20 mov r7, #0x20 mov r6, #0x10 mov r5, #0x50000 add r4, sp, #0x6c mov r11, #0x20000 _0217f1f0: mov r2, #0x40000 mov r0, r4 mov r1, r11 mov r3, r2 str r8, [sp, #0x6c] str r9, [sp, #0x70] str r7, [sp, #0x74] str r6, [sp, #0x78] str r5, [sp] bl func_ov05_0210e2c4 add r10, r10, #1 cmp r10, #6 add r8, r8, #0x20 blt _0217f1f0 ldr r0, [sp, #4] mov r2, #0x10 ldr r1, [r0, #0x18] ldr r0, [r0, #0x14] add r5, r1, #0x20 add r4, r0, #0xe0 mov r1, #0x20 str r2, [sp, #0x64] str r1, [sp, #0x68] add r0, sp, #0x5c str r4, [sp, #0x5c] str r5, [sp, #0x60] mov r6, #0x50000 mov r1, #0x1f000 mov r2, #0x30000 mov r3, #0x10000 str r6, [sp] bl func_ov05_0210e2c4 add r3, r5, #0x20 mov r2, #0x10 mov r1, #0x30 str r3, [sp, #0x50] str r2, [sp, #0x54] str r1, [sp, #0x58] add r0, sp, #0x4c str r4, [sp, #0x4c] mov r6, #0x60000 mov r1, #0xf000 mov r2, #0x30000 mov r3, #0 str r6, [sp] bl func_ov05_0210e2c4 add r2, r5, #0x50 mov r1, #0x10 mov r0, #0x20 str r2, [sp, #0x40] str r1, [sp, #0x44] str r0, [sp, #0x48] str r4, [sp, #0x3c] mov r1, #0x50000 str r1, [sp] add r0, sp, #0x3c mov r1, #0x1f000 mov r2, #0x30000 mov r3, #0x10000 bl func_ov05_0210e2c4 ldr r0, [sp, #4] mov r2, #0x20000 ldr r1, [r0, #0x18] ldr r0, [r0, #0x14] add r5, r1, #0x90 add r4, r0, #0x10 mov r0, #0x60 str r0, [sp, #0x34] mov r0, #0x10 str r0, [sp, #0x38] str r4, [sp, #0x2c] str r5, [sp, #0x30] mov r0, #0x30000 str r0, [sp] add r0, sp, #0x2c mov r1, #0 mov r3, r6 bl func_ov05_0210e2c4 add r0, r4, #0x60 str r0, [sp, #0x1c] mov r0, #0x20 str r0, [sp, #0x24] mov r0, #0x10 str r0, [sp, #0x28] str r5, [sp, #0x20] mov r0, r6 str r0, [sp] add r0, sp, #0x1c mov r1, #0x10000 mov r2, #0x50000 mov r3, #0x30000 bl func_ov05_0210e2c4 add r0, r4, #0x80 mov r2, #0x60 mov r1, #0x10 str r0, [sp, #0xc] str r2, [sp, #0x14] str r1, [sp, #0x18] add r0, sp, #0xc str r5, [sp, #0x10] mov r4, #0x30000 mov r1, #0x5f000 mov r2, #0x20000 mov r3, #0 str r4, [sp] bl func_ov05_0210e2c4 add sp, sp, #0x14c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_0217ee64 _0217f3a0: .word 0x0000ffff _0217f3a4: .word 0x040004c0 _0217f3a8: .word 0x001f0080 _0217f3ac: .word data_027e0d44 .global func_ov15_0217f3b0 arm_func_start func_ov15_0217f3b0 func_ov15_0217f3b0: ; 0x0217f3b0 stmdb sp!, {r3, lr} ldr r1, [r0, #0xc] cmp r1, #0 ldmneia sp!, {r3, pc} mov r1, #1 bl func_ov15_0217eb0c ldmia sp!, {r3, pc} arm_func_end func_ov15_0217f3b0 .global func_ov15_0217f3cc arm_func_start func_ov15_0217f3cc func_ov15_0217f3cc: ; 0x0217f3cc stmdb sp!, {r3, lr} ldr r1, [r0, #0xc] cmp r1, #0 cmpne r1, #0xb bne _0217f3e8 mov r0, #0 ldmia sp!, {r3, pc} _0217f3e8: mov r1, #0xb bl func_ov15_0217eb0c mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov15_0217f3cc .global func_ov15_0217f3f8 arm_func_start func_ov15_0217f3f8 func_ov15_0217f3f8: ; 0x0217f3f8 stmdb sp!, {r3, lr} ldr r0, _0217f418 ; =data_027e1048 ldr r0, [r0] bl func_ov09_02118e74 ldr r0, _0217f41c ; =data_027e104c ldr r0, [r0] bl func_ov09_0211a52c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217f3f8 _0217f418: .word data_027e1048 _0217f41c: .word data_027e104c .global func_ov15_0217f420 arm_func_start func_ov15_0217f420 func_ov15_0217f420: ; 0x0217f420 ldr r1, _0217f438 ; =data_027e1048 mov r2, r0 ldr r0, [r1] ldr ip, _0217f43c ; =func_ov09_02118e8c add r1, r2, #0x20 bx ip .align 2, 0 arm_func_end func_ov15_0217f420 _0217f438: .word data_027e1048 _0217f43c: .word func_ov09_02118e8c .global func_ov15_0217f440 arm_func_start func_ov15_0217f440 func_ov15_0217f440: ; 0x0217f440 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_0217f3f8 ldr r0, _0217f478 ; =data_027e1048 ldr r0, [r0] bl func_ov09_02119018 ldr r0, _0217f478 ; =data_027e1048 ldr r0, [r0] bl func_ov09_02119030 ldr r0, _0217f478 ; =data_027e1048 add r1, r4, #0x20 ldr r0, [r0] bl func_ov09_02118f58 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217f440 _0217f478: .word data_027e1048 .global func_ov15_0217f47c arm_func_start func_ov15_0217f47c func_ov15_0217f47c: ; 0x0217f47c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 cmp r1, #6 addge sp, sp, #0x18 movge r0, #0 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #0x28 mul r4, r1, r0 ldr r0, _0217f5d0 ; =gAdventureFlags ldr r1, _0217f5d4 ; =data_ov15_0218e6f0 ldr r0, [r0] ldr r1, [r1, r4] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr lr, _0217f5d8 ; =data_ov15_0218e6e8 ldr ip, _0217f5dc ; =data_ov15_0218e6ea ldr r3, _0217f5e0 ; =data_ov15_0218e6eb ldr r2, _0217f5e4 ; =data_ov15_0218e6ec ldr r1, _0217f5e8 ; =data_ov15_0218e6ed ldr r7, _0217f5ec ; =data_ov15_0218e6d8 ldr r6, _0217f5f0 ; =data_ov15_0218e6dc ldr r5, _0217f5f4 ; =data_ov15_0218e6e0 ldrsh lr, [lr, r4] ldrb ip, [ip, r4] ldrb r3, [r3, r4] ldrb r2, [r2, r4] ldrb r1, [r1, r4] ldr r7, [r7, r4] ldr r6, [r6, r4] ldr r5, [r5, r4] ldr r0, _0217f5f8 ; =data_ov15_0218e6e4 str r7, [sp] ldr r4, [r0, r4] add r0, sp, #0 str r6, [sp, #4] str r5, [sp, #8] str r4, [sp, #0xc] strh lr, [sp, #0x10] strb ip, [sp, #0x12] strb r3, [sp, #0x13] strb r2, [sp, #0x14] strb r1, [sp, #0x15] bl func_ov00_020a5e9c cmp r0, #0 addne sp, sp, #0x18 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrb r0, [sp, #0x12] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0217f5c4 _0217f554: ; jump table b _0217f564 ; case 0 b _0217f57c ; case 1 b _0217f594 ; case 2 b _0217f5ac ; case 3 _0217f564: ldr r0, _0217f5fc ; =gItemManager mov r1, #0x21 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217f57c: ldr r0, _0217f5fc ; =gItemManager mov r1, #0x22 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217f594: ldr r0, _0217f5fc ; =gItemManager mov r1, #0x23 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217f5ac: ldr r0, _0217f5fc ; =gItemManager mov r1, #0x24 ldr r0, [r0] bl _ZNK11ItemManager7HasItemEi add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217f5c4: mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_0217f47c _0217f5d0: .word gAdventureFlags _0217f5d4: .word data_ov15_0218e6f0 _0217f5d8: .word data_ov15_0218e6e8 _0217f5dc: .word data_ov15_0218e6ea _0217f5e0: .word data_ov15_0218e6eb _0217f5e4: .word data_ov15_0218e6ec _0217f5e8: .word data_ov15_0218e6ed _0217f5ec: .word data_ov15_0218e6d8 _0217f5f0: .word data_ov15_0218e6dc _0217f5f4: .word data_ov15_0218e6e0 _0217f5f8: .word data_ov15_0218e6e4 _0217f5fc: .word gItemManager .global func_ov15_0217f600 arm_func_start func_ov15_0217f600 func_ov15_0217f600: ; 0x0217f600 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x30 cmp r1, #6 addge sp, sp, #0x30 movge r0, #0 ldmgeia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #0x28 mul r0, r1, r0 ldr r1, _0217f6cc ; =data_ov15_0218e6ea ldr r2, _0217f6d0 ; =data_ov15_0218e6e8 ldrb r3, [r1, r0] ldr r1, _0217f6d4 ; =data_ov15_0218e6ec ldr r4, _0217f6d8 ; =data_ov15_0218e6d8 ldrb r7, [r1, r0] ldrsh ip, [r2, r0] ldr r5, [r4, r0] ldr r1, _0217f6dc ; =data_ov15_0218e6ed ldr r2, _0217f6e0 ; =data_ov15_0218e6eb ldrb r6, [r1, r0] ldrb r2, [r2, r0] ldr r1, _0217f6e4 ; =data_ov15_0218e6e0 ldr r4, _0217f6e8 ; =data_ov15_0218e6dc ldr lr, [r1, r0] ldr r4, [r4, r0] ldr r8, _0217f6ec ; =data_ov15_0218e6e4 ldr r1, _0217f6f0 ; =data_027e10a4 ldr r8, [r8, r0] ldr r0, [r1] add r1, sp, #0 strh ip, [sp, #0x28] strb r3, [sp, #0x2a] strb r2, [sp, #0x2b] strb r7, [sp, #0x2c] str r5, [sp, #0x18] str r4, [sp, #0x1c] str lr, [sp, #0x20] str r8, [sp, #0x24] strb r6, [sp, #0x2d] str r5, [sp] str r4, [sp, #4] str lr, [sp, #8] str r8, [sp, #0xc] strh ip, [sp, #0x10] strb r3, [sp, #0x12] strb r2, [sp, #0x13] strb r7, [sp, #0x14] strb r6, [sp, #0x15] bl func_ov15_0213750c mov r0, #1 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_0217f600 _0217f6cc: .word data_ov15_0218e6ea _0217f6d0: .word data_ov15_0218e6e8 _0217f6d4: .word data_ov15_0218e6ec _0217f6d8: .word data_ov15_0218e6d8 _0217f6dc: .word data_ov15_0218e6ed _0217f6e0: .word data_ov15_0218e6eb _0217f6e4: .word data_ov15_0218e6e0 _0217f6e8: .word data_ov15_0218e6dc _0217f6ec: .word data_ov15_0218e6e4 _0217f6f0: .word data_027e10a4 .global func_ov15_0217f6f4 arm_func_start func_ov15_0217f6f4 func_ov15_0217f6f4: ; 0x0217f6f4 mov r0, #0x12c bx lr arm_func_end func_ov15_0217f6f4 .global func_ov15_0217f6fc arm_func_start func_ov15_0217f6fc func_ov15_0217f6fc: ; 0x0217f6fc add r2, r0, #0x18 mov r0, #0x14 mla r0, r1, r0, r2 bx lr arm_func_end func_ov15_0217f6fc .global func_ov15_0217f70c arm_func_start func_ov15_0217f70c func_ov15_0217f70c: ; 0x0217f70c add r2, r0, #0x18 mov r0, #0x14 mla r0, r1, r0, r2 bx lr arm_func_end func_ov15_0217f70c .global func_ov15_0217f71c arm_func_start func_ov15_0217f71c func_ov15_0217f71c: ; 0x0217f71c mov r3, #0x14 mla r3, r1, r3, r0 ldr r0, [r2, #4] str r0, [r3, #0x1c] ldr r0, [r2, #8] str r0, [r3, #0x20] ldr r0, [r2, #0xc] str r0, [r3, #0x24] ldr r0, [r2, #0x10] str r0, [r3, #0x28] bx lr arm_func_end func_ov15_0217f71c .global func_ov15_0217f748 arm_func_start func_ov15_0217f748 func_ov15_0217f748: ; 0x0217f748 bx lr arm_func_end func_ov15_0217f748 .global func_ov15_0217f74c arm_func_start func_ov15_0217f74c func_ov15_0217f74c: ; 0x0217f74c bx lr arm_func_end func_ov15_0217f74c .global func_ov15_0217f750 arm_func_start func_ov15_0217f750 func_ov15_0217f750: ; 0x0217f750 mov r0, #0 bx lr arm_func_end func_ov15_0217f750 .global func_ov15_0217f758 arm_func_start func_ov15_0217f758 func_ov15_0217f758: ; 0x0217f758 mov r0, #0 bx lr arm_func_end func_ov15_0217f758 .global func_ov15_0217f760 arm_func_start func_ov15_0217f760 func_ov15_0217f760: ; 0x0217f760 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217f760 .global func_ov15_0217f774 arm_func_start func_ov15_0217f774 func_ov15_0217f774: ; 0x0217f774 bx lr arm_func_end func_ov15_0217f774 .global func_ov15_0217f778 arm_func_start func_ov15_0217f778 func_ov15_0217f778: ; 0x0217f778 bx lr arm_func_end func_ov15_0217f778 .global func_ov15_0217f77c arm_func_start func_ov15_0217f77c func_ov15_0217f77c: ; 0x0217f77c stmdb sp!, {r4, lr} mov r4, r0 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217f77c .global func_ov15_0217f790 arm_func_start func_ov15_0217f790 func_ov15_0217f790: ; 0x0217f790 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217f790 .global func_ov15_0217f7a4 arm_func_start func_ov15_0217f7a4 func_ov15_0217f7a4: ; 0x0217f7a4 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _0217f7d0 ; =func_ov15_0217e60c add r0, r4, #0x18 mov r1, #0x12c mov r2, #0x14 bl func_0204f754 mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217f7a4 _0217f7d0: .word func_ov15_0217e60c .global func_ov15_0217f7d4 arm_func_start func_ov15_0217f7d4 func_ov15_0217f7d4: ; 0x0217f7d4 bx lr arm_func_end func_ov15_0217f7d4 .global func_ov15_0217f7d8 arm_func_start func_ov15_0217f7d8 func_ov15_0217f7d8: ; 0x0217f7d8 ldr ip, _0217f7f0 ; =func_0204f754 ldr r0, _0217f7f4 ; =data_ov15_0218e6d8 ldr r3, _0217f7f8 ; =func_ov15_0217f7fc mov r1, #6 mov r2, #0x28 bx ip .align 2, 0 arm_func_end func_ov15_0217f7d8 _0217f7f0: .word func_0204f754 _0217f7f4: .word data_ov15_0218e6d8 _0217f7f8: .word func_ov15_0217f7fc .global func_ov15_0217f7fc arm_func_start func_ov15_0217f7fc func_ov15_0217f7fc: ; 0x0217f7fc bx lr arm_func_end func_ov15_0217f7fc .global func_ov15_0217f800 arm_func_start func_ov15_0217f800 func_ov15_0217f800: ; 0x0217f800 stmdb sp!, {r3, lr} ldr r1, _0217f82c ; =data_027e0fe0 ldr r0, _0217f830 ; =0x00000478 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_0217fb14 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0217f800 _0217f82c: .word data_027e0fe0 _0217f830: .word 0x00000478 .global func_ov15_0217f834 arm_func_start func_ov15_0217f834 func_ov15_0217f834: ; 0x0217f834 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _0217f864 ; =data_ov15_0218e9c8 add r0, r4, #0x68 str r1, [r4] mvn r1, #0 str r1, [r4, #0x98] bl func_01ff892c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217f834 _0217f864: .word data_ov15_0218e9c8 .global func_ov15_0217f868 arm_func_start func_ov15_0217f868 func_ov15_0217f868: ; 0x0217f868 ldr ip, _0217f878 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov15_0217f868 _0217f878: .word func_ov00_020a9998 .global func_ov15_0217f87c arm_func_start func_ov15_0217f87c func_ov15_0217f87c: ; 0x0217f87c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r4, r0 ldr r0, [r4, #0x98] mov r5, r1 cmp r0, #0 bge _0217f8b0 ldr r0, [r5, #4] ldr r1, _0217f920 ; =data_ov15_0218712c ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r4, #0x98] _0217f8b0: ldr r0, [r5, #8] tst r0, #0x10 ldrneb r1, [r5, #0xae] ldr r0, [r4, #0x98] mvneq r1, #0 cmp r0, r1 addne sp, sp, #0x30 ldmneia sp!, {r3, r4, r5, pc} bl func_02018450 mov lr, r0 add ip, r4, #0x68 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add r0, sp, #0 mov r1, #0 bl func_0201b1bc ldr r2, [sp, #0x2c] ldr r1, [sp, #0x28] ldr r0, [sp, #0x24] str r0, [r4, #0x5c] str r1, [r4, #0x60] str r2, [r4, #0x64] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217f87c _0217f920: .word data_ov15_0218712c .global func_ov15_0217f924 arm_func_start func_ov15_0217f924 func_ov15_0217f924: ; 0x0217f924 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 add r0, r1, #0x5c add r2, sp, #0 add r1, r1, #0x68 bl func_01ff9158 add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov15_0217f924 .global func_ov15_0217f954 arm_func_start func_ov15_0217f954 func_ov15_0217f954: ; 0x0217f954 stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xbc bl func_ov00_020c5c2c ldr r1, _0217f9d0 ; =data_ov15_0218e9a4 add r0, r4, #0x20 str r1, [r4] bl func_ov15_0217f834 add r0, r4, #0xbc add r1, r4, #0xe0 mov r2, #0 blx func_ov00_020c0c08 ldr r3, _0217f9d4 ; =data_ov15_0218e108 add r0, r4, #0x110 add r1, r4, #0x134 mov r2, #0 str r3, [r4, #0xbc] blx func_ov00_020c0c08 ldr r1, _0217f9d4 ; =data_ov15_0218e108 mov r0, r4 str r1, [r4, #0x110] mov r1, #0x95 ldr r2, _0217f9d8 ; =data_ov15_02187118 bl func_ov00_020c5c98 add r0, r4, #0x20 bl func_ov15_0217f868 ldr r1, [r4, #4] mov r0, r4 str r1, [r4, #0x118] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217f954 _0217f9d0: .word data_ov15_0218e9a4 _0217f9d4: .word data_ov15_0218e108 _0217f9d8: .word data_ov15_02187118 .global func_ov15_0217f9dc arm_func_start func_ov15_0217f9dc func_ov15_0217f9dc: ; 0x0217f9dc stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_0217f9dc .global func_ov15_0217f9f0 arm_func_start func_ov15_0217f9f0 func_ov15_0217f9f0: ; 0x0217f9f0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 ldr r0, _0217fa6c ; =data_ov15_0218ea08 blx func_02016fe8 mov r4, r0 ldr r1, _0217fa70 ; =data_ov15_0218ea20 add r0, sp, #0 mov r2, #0x10 bl strncpy add r1, sp, #0 mov r0, r4 bl func_0201e544 mov r1, r0 add r0, r5, #0x110 bl func_ov00_020c0c9c mov r2, #0x1000 add r0, r5, #0x110 add r1, r5, #0x24 str r2, [r5, #0x120] bl func_ov00_020c0d70 add r0, r5, #0x100 mov r1, #0 strh r1, [r0, #0x1c] mov r0, r5 bl func_ov00_020c5d74 ldr r0, [r5, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_0217f9f0 _0217fa6c: .word data_ov15_0218ea08 _0217fa70: .word data_ov15_0218ea20 .global func_ov15_0217fa74 arm_func_start func_ov15_0217fa74 func_ov15_0217fa74: ; 0x0217fa74 ldr ip, _0217fa80 ; =func_ov00_020c0e04 add r0, r0, #0x110 bx ip .align 2, 0 arm_func_end func_ov15_0217fa74 _0217fa80: .word func_ov00_020c0e04 .global func_ov15_0217fa84 arm_func_start func_ov15_0217fa84 func_ov15_0217fa84: ; 0x0217fa84 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r2, [r4, #4] ldr r1, _0217fb08 ; =data_ov15_02187140 ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 mov r5, r0 ldr r6, [r4, #4] ldr r0, _0217fb0c ; =data_ov00_020e9360 mov r1, #6 bl func_ov00_02079e68 mov r2, r0 mov r0, r6 mov r1, r5 bl func_02019534 ldr r2, [r4, #4] ldr r1, _0217fb10 ; =data_ov15_02187154 ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 ldr r5, [r4, #4] mov r4, r0 ldr r0, _0217fb0c ; =data_ov00_020e9360 mov r1, #6 bl func_ov00_02079e68 mov r1, r4 mov r2, r0 mov r0, r5 bl func_02019534 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_0217fa84 _0217fb08: .word data_ov15_02187140 _0217fb0c: .word data_ov00_020e9360 _0217fb10: .word data_ov15_02187154 .global func_ov15_0217fb14 arm_func_start func_ov15_0217fb14 func_ov15_0217fb14: ; 0x0217fb14 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl _ZN5ActorC2Ev ldr r2, _0217fc3c ; =data_ov15_0218e8e8 mov r1, r4 add r0, r4, #0x158 str r2, [r4] bl func_ov15_0217f954 mov r0, #0x47 mov r1, #0 str r0, [r4, #0x33c] str r1, [r4, #0x340] str r1, [r4, #0x344] sub r0, r1, #2 str r0, [r4, #0x348] add r0, r4, #0x300 strh r1, [r0, #0x4c] mov r0, #0xff strb r0, [r4, #0x34e] strb r1, [r4, #0x34f] strb r1, [r4, #0x350] add r0, r4, #0x354 strb r1, [r4, #0x351] bl func_ov00_020c66bc mvn r0, #0 str r0, [r4, #0x36c] str r0, [r4, #0x370] mov r2, #0 str r2, [r4, #0x374] str r0, [r4, #0x38c] strb r2, [r4, #0x3a0] add r0, r4, #0x3a4 mov r1, #0x1000000 strb r2, [r4, #0x3a1] bl func_ov00_020d18f4 mov r2, #0 strb r2, [r4, #0x400] str r2, [r4, #0x404] add r0, r4, #4 sub r1, r2, #1 str r1, [r0, #0x404] str r2, [r0, #0x408] str r2, [r4, #0x410] str r1, [r4, #0x414] str r2, [r4, #0x418] str r2, [r4, #0x41c] add r0, r4, #0x1c str r1, [r0, #0x404] str r2, [r0, #0x408] str r2, [r4, #0x428] add r0, r4, #0x28 str r1, [r0, #0x404] str r2, [r0, #0x408] str r2, [r4, #0x434] add r0, r4, #0x34 str r1, [r0, #0x404] str r2, [r0, #0x408] str r2, [r4, #0x440] str r1, [r4, #0x444] str r2, [r4, #0x448] add r0, r4, #0x4c mov r3, #2 add r0, r0, #0x400 mov r1, #0xfe mov r2, #6 str r3, [sp] bl func_ov00_02095720 mvn r1, #0 str r1, [r4, #0x36c] mov r0, r4 str r1, [r4, #0x370] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_0217fb14 _0217fc3c: .word data_ov15_0218e8e8 .global func_ov15_0217fc40 arm_func_start func_ov15_0217fc40 func_ov15_0217fc40: ; 0x0217fc40 stmdb sp!, {r4, lr} ldr r1, _0217fd58 ; =data_ov15_0218e8e8 mov r4, r0 ldr r0, _0217fd5c ; =data_027e0e60 str r1, [r4] add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838d8 ldrb r0, [r4, #0x3a1] cmp r0, #0 beq _0217fc94 ldr r0, _0217fd60 ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #4 bne _0217fc94 mov r1, #0 bl func_ov15_021413d4 mov r0, #0 strb r0, [r4, #0x3a1] _0217fc94: add r0, r4, #0x4c add r0, r0, #0x400 bl func_ov00_02095764 add r0, r4, #0x440 bl func_ov00_020b7e6c add r0, r4, #0x440 bl func_ov00_020b7df0 add r0, r4, #0x34 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x34 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x28 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x28 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x1c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x1c add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x410 bl func_ov00_020b7e6c add r0, r4, #0x410 bl func_ov00_020b7df0 add r0, r4, #4 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #4 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x3a4 bl func_ov00_020d1980 add r0, r4, #0x354 bl func_ov00_020c66d0 add r0, r4, #0x268 blx func_ov00_020a9aec add r0, r4, #0x214 blx func_ov00_020a9aec add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217fc40 _0217fd58: .word data_ov15_0218e8e8 _0217fd5c: .word data_027e0e60 _0217fd60: .word data_027e10a4 .global func_ov15_0217fd64 arm_func_start func_ov15_0217fd64 func_ov15_0217fd64: ; 0x0217fd64 stmdb sp!, {r4, lr} ldr r1, _0217fe84 ; =data_ov15_0218e8e8 mov r4, r0 ldr r0, _0217fe88 ; =data_027e0e60 str r1, [r4] add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838d8 ldrb r0, [r4, #0x3a1] cmp r0, #0 beq _0217fdb8 ldr r0, _0217fe8c ; =data_027e10a4 ldr r0, [r0] ldr r1, [r0, #0x2c] cmp r1, #4 bne _0217fdb8 mov r1, #0 bl func_ov15_021413d4 mov r0, #0 strb r0, [r4, #0x3a1] _0217fdb8: add r0, r4, #0x4c add r0, r0, #0x400 bl func_ov00_02095764 add r0, r4, #0x440 bl func_ov00_020b7e6c add r0, r4, #0x440 bl func_ov00_020b7df0 add r0, r4, #0x34 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x34 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x28 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x28 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x1c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x1c add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x410 bl func_ov00_020b7e6c add r0, r4, #0x410 bl func_ov00_020b7df0 add r0, r4, #4 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #4 add r0, r0, #0x400 bl func_ov00_020b7df0 add r0, r4, #0x3a4 bl func_ov00_020d1980 add r0, r4, #0x354 bl func_ov00_020c66d0 add r0, r4, #0x268 blx func_ov00_020a9aec add r0, r4, #0x214 blx func_ov00_020a9aec add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0217fd64 _0217fe84: .word data_ov15_0218e8e8 _0217fe88: .word data_027e0e60 _0217fe8c: .word data_027e10a4 .global func_ov15_0217fe90 arm_func_start func_ov15_0217fe90 func_ov15_0217fe90: ; 0x0217fe90 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x50 mov r4, r0 mov r10, #0 str r10, [r4, #0x4c] ldr r1, [r4, #0x48] ldr r0, _02180330 ; =data_027e0d0c str r1, [r4, #0x54] ldr r1, [r4, #0x4c] mov r9, #0x6000 str r1, [r4, #0x58] ldr r1, [r4, #0x50] mov r7, #0x7000 str r1, [r4, #0x5c] ldr r2, [r0] add r1, r4, #0x100 str r2, [r4, #0x60] ldr r2, [r0, #4] mov r6, #4 str r2, [r4, #0x64] ldr r2, [r0, #8] mov r5, #0xae str r2, [r4, #0x68] str r10, [r4, #0x6c] ldr r2, [r0] mov lr, #2 str r2, [r4, #0x7c] ldr r2, [r0, #4] mov ip, #0xaf str r2, [r4, #0x80] ldr r0, [r0, #8] mov r3, #0xb0 str r0, [r4, #0x84] str r9, [r4, #0x88] ldr r0, [r4, #0x7c] mov r2, #0xb1 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] mov r11, #0xb2 str r0, [r4, #0x90] ldr r0, [r4, #0x84] str r0, [r4, #0x94] ldr r8, [r4, #0x88] add r0, r4, #0x158 str r8, [r4, #0x98] str r10, [r4, #0xa8] str r9, [r4, #0xac] str r10, [r4, #0xb0] str r7, [r4, #0xb4] strh r6, [r1, #0x20] strb r10, [r4, #0x124] str r10, [r4, #0x12c] str r10, [r4, #0x37c] str r10, [r4, #0x390] str r10, [r4, #0x378] str r5, [r4, #0x408] str lr, [r4, #0x40c] str ip, [r4, #0x414] str lr, [r4, #0x418] str r3, [r4, #0x420] str lr, [r4, #0x424] str r2, [r4, #0x42c] str lr, [r4, #0x430] str r11, [r4, #0x438] str lr, [r4, #0x43c] mov r1, #0xb3 str r1, [r4, #0x444] str lr, [r4, #0x448] bl func_ov15_0217f9f0 ldr r1, [r4, #0x48] mov r0, r10 str r1, [r4, #0x1d4] ldr r1, [r4, #0x4c] str r1, [r4, #0x1d8] ldr r1, [r4, #0x50] str r1, [r4, #0x1dc] strb r0, [r4, #0x39f] ldr r0, [r4, #0x4c] str r0, [r4, #0x384] ldrh r0, [r4, #0x22] cmp r0, #6 bne _0217fff0 mov r0, r4 mov r1, #8 bl func_ov15_021803ac add sp, sp, #0x50 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0217fff0: cmp r0, #8 bne _02180038 mov r0, r4 bl func_ov15_02182dc4 cmp r0, #0 bne _02180014 bl func_ov15_0215d238 cmp r0, #0 beq _02180020 _02180014: add sp, sp, #0x50 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02180020: mov r0, r4 mov r1, #0xa bl func_ov15_021803ac add sp, sp, #0x50 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02180038: cmp r0, #9 bne _02180058 mov r0, r4 mov r1, #0xc bl func_ov15_021803ac add sp, sp, #0x50 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _02180058: ldrh r0, [r4, #0x24] cmp r0, #0 beq _02180078 cmp r0, #1 beq _0218009c cmp r0, #2 beq _021800c0 b _021800fc _02180078: ldr r0, _02180334 ; =gAdventureFlags mov r1, #0x1e ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021800fc add sp, sp, #0x50 mov r0, r10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0218009c: ldr r0, _02180334 ; =gAdventureFlags mov r1, #0x33 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _021800fc add sp, sp, #0x50 mov r0, r10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021800c0: ldr r0, _02180334 ; =gAdventureFlags mov r1, #0x33 ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 addeq sp, sp, #0x50 moveq r0, r10 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r4 mov r1, r10 bl _ZN5Actor18func_Ov00_020c1bfcEi cmp r0, #0 addne sp, sp, #0x50 movne r0, r10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _021800fc: ldr r0, [r4, #8] mov r1, #0 str r0, [r4, #0x3c4] ldr r0, [r4, #0xc] str r0, [r4, #0x3c8] strb r1, [r4, #0x3f8] ldrsb r3, [r4, #0x2c] cmp r3, #0 bge _0218012c mov r0, r4 bl func_ov15_021803ac b _0218015c _0218012c: ldrsh r2, [r4, #0x78] add r0, r4, #0x354 add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 mov r0, r4 beq _02180154 mov r1, #1 bl func_ov15_021803ac b _0218015c _02180154: mov r1, #0 bl func_ov15_021803ac _0218015c: ldrh r0, [r4, #0x22] cmp r0, #3 bne _021801ac ldr r0, _02180338 ; =data_027e0dcc add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, [sp, #0x48] ldr r0, _0218033c ; =0xcccccccd mov r2, #0xa umull r0, r5, r3, r0 mov r5, r5, lsr #0x3 umull r0, r1, r2, r5 sub r5, r3, r0 ldr r1, _02180340 ; =0x00000708 ldr r2, [sp, #0x4c] mul r1, r5, r1 mov r0, #0x1e mla r0, r2, r0, r1 str r0, [r4, #0x394] _021801ac: ldr r3, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] mov r0, #0x8000 str r1, [r4, #0x460] str r3, [r4, #0x464] str r2, [r4, #0x468] str r0, [r4, #0x46c] mov r0, #0x14000 str r0, [r4, #0x470] ldrh r0, [r4, #0x22] cmp r0, #4 bne _021802a4 ldrh r0, [r4, #0x24] cmp r0, #2 bne _021801fc mov r0, r4 mov r1, #0xb bl func_ov15_021803ac b _021802e8 _021801fc: mov r2, #0 arm_func_end func_ov15_0217fe90 .global func_ov15_02180200 arm_func_start func_ov15_02180200 func_ov15_02180200: ; 0x02180200 arm_func_end func_ov15_02180200 _02180200: mov r0, r4 mov r1, #7 str r2, [r4, #0x37c] bl func_ov15_021803ac mov r1, #0 add r0, sp, #0x18 strb r1, [r4, #0x39e] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] str r1, [sp, #0x38] bl func_ov00_020c3348 ldrh r1, [r4, #0x20] mov r0, #5 add r5, r4, #0x36c strh r1, [sp, #0x18] strh r0, [sp, #0x1a] ldrh r2, [r4, #0x24] ldr r0, _02180344 ldr r1, _02180348 strh r2, [sp, #0x1c] ldrh r6, [r4, #0x26] add r2, r4, #0x48 add r3, sp, #0x18 strh r6, [sp, #0x1e] ldrsb r6, [r4, #0x2c] strb r6, [sp, #0x24] ldr r6, [r4, #0x30] str r6, [sp, #0x28] str r5, [sp] ldr r0, [r0] bl func_ov00_020c4048 ldr r0, _0218034c add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838c8 mov r0, #1 strb r0, [r4, #0x474] b _021802e8 _021802a4: mov r0, r4 bl func_ov15_02182aa0 cmp r0, #0 beq _021802c4 mov r0, #0 str r0, [r4, #0x37c] strb r0, [r4, #0x474] b _021802e8 _021802c4: mov r1, #0x1000 ldr r0, _0218034c ; =data_027e0e60 str r1, [r4, #0x37c] add r1, r4, #0x4c ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838c8 mov r0, #1 strb r0, [r4, #0x474] _021802e8: ldr r0, [r4, #0x37c] cmp r0, #0 ldreq r0, _02180350 ; =0x0000ffff streqh r0, [r4, #0x7a] beq _02180324 ldrh r0, [r4, #0x22] cmp r0, #4 blo _0218031c ldrh r0, [r4, #0x24] cmp r0, #0 ldreq r0, _02180350 ; =0x0000ffff streqh r0, [r4, #0x7a] beq _02180324 _0218031c: mov r0, #0x67 strh r0, [r4, #0x7a] _02180324: mov r0, #1 add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02180330: .word data_027e0d0c _02180334: .word gAdventureFlags _02180338: .word data_027e0dcc _0218033c: .word 0xcccccccd _02180340: .word 0x00000708 _02180344: .word data_027e0fe8 _02180348: .word 0x4852434e _0218034c: .word data_027e0e60 _02180350: .word 0x0000ffff .global func_ov15_02180354 arm_func_start func_ov15_02180354 func_ov15_02180354: ; 0x02180354 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _021803a4 ; =data_027e0fe4 mov r4, r0 ldr r1, [r1] ldr r2, _021803a8 ; =0x53424f53 add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r1, [sp] mvn r0, #0 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _021803a4 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x374] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02180354 _021803a4: .word data_027e0fe4 _021803a8: .word 0x53424f53 .global func_ov15_021803ac arm_func_start func_ov15_021803ac func_ov15_021803ac: ; 0x021803ac stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x31c mov r5, r0 mov r4, r1 mov r0, #0 strb r0, [r5, #0x3a0] cmp r4, #0xc addls pc, pc, r4, lsl #2 b _02180ab8 _021803d0: ; jump table b _02180404 ; case 0 b _02180ab8 ; case 1 b _02180424 ; case 2 b _02180ab8 ; case 3 b _02180ab8 ; case 4 b _02180614 ; case 5 b _02180638 ; case 6 b _02180644 ; case 7 b _0218064c ; case 8 b _02180ab8 ; case 9 b _021806b8 ; case 10 b _02180a1c ; case 11 b _02180a3c ; case 12 _02180404: ldr r0, _02180acc ; =data_027e0d0c ldr r1, [r0] str r1, [r5, #0x60] ldr r1, [r0, #4] str r1, [r5, #0x64] ldr r0, [r0, #8] str r0, [r5, #0x68] b _02180ab8 _02180424: add r6, sp, #0x28 add r1, sp, #0x38 mov r2, #4 bl func_020078f4 add r1, r6, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _02180ad0 ; =data_027e10a4 mov r1, r6 ldr r0, [r0] bl func_ov15_02141344 cmp r0, #0 addeq sp, sp, #0x31c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r5, #0x300 mov r1, #0 strh r1, [r0, #0x9a] mov r1, #1 ldr r0, _02180ad4 ; =data_027e0f94 strb r1, [r5, #0x3a1] ldr r1, [r0, #4] ldr r0, _02180ad8 ; =data_027e0f64 str r1, [r5, #0x380] ldr r0, [r0] add r1, sp, #0x2b4 ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r0, [sp, #0x2b4] ldr r1, _02180ad8 ; =data_027e0f64 str r0, [r5, #0x2bc] ldr r2, [sp, #0x2b8] add r0, sp, #0x204 str r2, [r5, #0x2c0] ldr r2, [sp, #0x2bc] str r2, [r5, #0x2c4] ldr r2, [sp, #0x2c0] str r2, [r5, #0x2c8] ldr r2, [sp, #0x2c4] str r2, [r5, #0x2cc] ldr r2, [sp, #0x2c8] str r2, [r5, #0x2d0] ldr r2, [sp, #0x2cc] str r2, [r5, #0x2d4] ldr r2, [sp, #0x2d0] str r2, [r5, #0x2d8] ldr r2, [sp, #0x2d4] str r2, [r5, #0x2dc] ldr r2, [sp, #0x2d8] str r2, [r5, #0x2e0] ldr r2, [sp, #0x2dc] str r2, [r5, #0x2e4] ldr r2, [sp, #0x2e0] str r2, [r5, #0x2e8] ldr r2, [sp, #0x2e4] str r2, [r5, #0x2ec] ldr r2, [sp, #0x2e8] str r2, [r5, #0x2f0] ldr r2, [sp, #0x2ec] str r2, [r5, #0x2f4] ldr r2, [sp, #0x2f0] str r2, [r5, #0x2f8] ldr r2, [sp, #0x2f4] str r2, [r5, #0x2fc] ldr r2, [sp, #0x2f8] str r2, [r5, #0x300] ldr r2, [sp, #0x2fc] str r2, [r5, #0x304] ldr r2, [sp, #0x300] str r2, [r5, #0x308] ldr r2, [sp, #0x304] str r2, [r5, #0x30c] ldr r2, [sp, #0x308] str r2, [r5, #0x310] ldr r2, [sp, #0x30c] str r2, [r5, #0x314] ldr r2, [sp, #0x310] str r2, [r5, #0x318] ldrb r2, [sp, #0x314] strb r2, [r5, #0x31c] ldrb r2, [sp, #0x315] strb r2, [r5, #0x31d] ldrb r2, [sp, #0x316] strb r2, [r5, #0x31e] ldrb r2, [sp, #0x317] strb r2, [r5, #0x31f] ldrb r2, [sp, #0x318] strb r2, [r5, #0x320] ldr r1, [r1] ldr r2, [r1, #4] ldr r1, [r2, #0x260] str r1, [r5, #0x324] ldr r1, [r2, #0x264] str r1, [r5, #0x328] ldr r1, [r2, #0x268] str r1, [r5, #0x32c] bl func_ov00_0209a4f4 ldr r1, _02180ad4 ; =data_027e0f94 mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r8, #0x32 mov r7, #0 mov r6, #2 ldr r0, _02180adc ; =gAdventureFlags str r9, [sp, #0x208] strb r8, [sp, #0x20d] strb r7, [sp, #0x20e] strb r6, [sp, #0x20f] str r3, [sp, #0x224] str r2, [sp, #0x228] ldr r2, [r1, #8] ldr r0, [r0] add r1, sp, #0x204 str r2, [sp, #0x22c] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x38c] mov r1, #1 strb r1, [r5, #0x3a0] sub r1, r1, #2 add r0, sp, #0x204 str r1, [r5, #0x390] bl func_ov00_0209a508 b _02180ab8 _02180614: ldr r0, [r5, #0x358] ldr r1, [r0, #4] ldr r0, [r1, #4] str r0, [r5, #0x48] ldr r0, [r1, #8] str r0, [r5, #0x4c] ldr r0, [r1, #0xc] str r0, [r5, #0x50] b _02180ab8 _02180638: mov r0, #1 strb r0, [r5, #0x3a0] b _02180ab8 _02180644: strb r0, [r5, #0x39e] b _02180ab8 _0218064c: add r6, sp, #0x14 add r1, sp, #0x24 mov r2, #4 bl func_020078f4 add r1, r6, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r0, _02180ad0 ; =data_027e10a4 mov r1, r6 ldr r0, [r0] bl func_ov15_02141344 cmp r0, #0 addeq sp, sp, #0x31c ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r2, #0 str r2, [r5, #0x37c] strb r2, [r5, #0x39e] add r0, r5, #0x300 ldr r1, _02180ad4 ; =data_027e0f94 strh r2, [r0, #0x9a] ldr r1, [r1, #4] mov r0, #1 str r1, [r5, #0x380] strb r0, [r5, #0x3a0] strb r0, [r5, #0x3a1] b _02180ab8 _021806b8: add r6, sp, #0 add r1, sp, #0x10 mov r2, #4 str r0, [r5, #0x37c] bl func_020078f4 add r1, r6, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 mov r0, r5 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02180a14 ldr r0, _02180ad0 ; =data_027e10a4 mov r1, r6 ldr r0, [r0] bl func_ov15_02141344 cmp r0, #0 beq _02180a14 mov r2, #0 ldr r1, _02180ad4 ; =data_027e0f94 strb r2, [r5, #0x39e] add r0, r5, #0x300 strh r2, [r0, #0x9a] ldr r2, [r1, #4] add r0, sp, #0x154 str r2, [r5, #0x380] ldr r2, [r1] str r2, [r5, #0x48] ldr r2, [r1, #4] str r2, [r5, #0x4c] ldr r1, [r1, #8] str r1, [r5, #0x50] bl func_ov00_0209a4f4 ldr r1, _02180ad4 ; =data_027e0f94 mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r8, #0x32 mov r7, #2 mov r6, #3 ldr r0, _02180ad8 ; =data_027e0f64 str r9, [sp, #0x158] strb r8, [sp, #0x15d] strb r7, [sp, #0x15e] strb r6, [sp, #0x15f] str r3, [sp, #0x174] str r2, [sp, #0x178] ldr r2, [r1, #8] mov r1, #1 strb r1, [sp, #0x168] ldr r0, [r0] str r2, [sp, #0x17c] ldr r0, [r0, #4] add r1, sp, #0xec bl func_ov00_02087d34 ldr r1, [sp, #0xec] ldr r0, _02180ad8 ; =data_027e0f64 str r1, [r5, #0x2bc] ldr r1, [sp, #0xf0] str r1, [r5, #0x2c0] ldr r1, [sp, #0xf4] str r1, [r5, #0x2c4] ldr r1, [sp, #0xf8] str r1, [r5, #0x2c8] ldr r1, [sp, #0xfc] str r1, [r5, #0x2cc] ldr r1, [sp, #0x100] str r1, [r5, #0x2d0] ldr r1, [sp, #0x104] str r1, [r5, #0x2d4] ldr r1, [sp, #0x108] str r1, [r5, #0x2d8] ldr r1, [sp, #0x10c] str r1, [r5, #0x2dc] ldr r1, [sp, #0x110] str r1, [r5, #0x2e0] ldr r1, [sp, #0x114] str r1, [r5, #0x2e4] ldr r1, [sp, #0x118] str r1, [r5, #0x2e8] ldr r1, [sp, #0x11c] str r1, [r5, #0x2ec] ldr r1, [sp, #0x120] str r1, [r5, #0x2f0] ldr r1, [sp, #0x124] str r1, [r5, #0x2f4] ldr r1, [sp, #0x128] str r1, [r5, #0x2f8] ldr r1, [sp, #0x12c] str r1, [r5, #0x2fc] ldr r1, [sp, #0x130] str r1, [r5, #0x300] ldr r1, [sp, #0x134] str r1, [r5, #0x304] ldr r1, [sp, #0x138] str r1, [r5, #0x308] ldr r1, [sp, #0x13c] str r1, [r5, #0x30c] ldr r1, [sp, #0x140] str r1, [r5, #0x310] ldr r1, [sp, #0x144] str r1, [r5, #0x314] ldr r1, [sp, #0x148] str r1, [r5, #0x318] ldrb r1, [sp, #0x14c] strb r1, [r5, #0x31c] ldrb r1, [sp, #0x14d] strb r1, [r5, #0x31d] ldrb r1, [sp, #0x14e] strb r1, [r5, #0x31e] ldrb r1, [sp, #0x14f] strb r1, [r5, #0x31f] ldrb r1, [sp, #0x150] strb r1, [r5, #0x320] ldr r0, [r0] ldr r1, [r0, #4] ldr r0, [r1, #0x260] str r0, [r5, #0x324] ldr r0, [r1, #0x264] mov r11, #0x5c str r0, [r5, #0x328] ldr r0, [r1, #0x268] str r0, [r5, #0x32c] ldr r0, [sp, #0xfc] ldr r9, [sp, #0xec] ldr r8, [sp, #0xf0] ldr r7, [sp, #0xf4] str r0, [sp, #0x190] ldr r0, [sp, #0x110] ldr r1, [sp, #0xf8] str r9, [sp, #0x180] ldr r9, [sp, #0x100] str r8, [sp, #0x184] ldr r8, [sp, #0x104] str r7, [sp, #0x188] ldr r7, [sp, #0x108] str r0, [sp, #0x1a4] ldr r0, [sp, #0x124] str r1, [sp, #0x18c] ldr r1, [sp, #0x10c] str r9, [sp, #0x194] ldr r9, [sp, #0x114] str r8, [sp, #0x198] ldr r8, [sp, #0x118] str r7, [sp, #0x19c] ldr r7, [sp, #0x11c] str r0, [sp, #0x1b8] ldr r0, [sp, #0x138] str r1, [sp, #0x1a0] ldr r1, [sp, #0x120] str r9, [sp, #0x1a8] ldr r9, [sp, #0x128] str r8, [sp, #0x1ac] ldr r8, [sp, #0x12c] str r7, [sp, #0x1b0] ldr r7, [sp, #0x130] ldrb r6, [sp, #0x14c] ldrb lr, [sp, #0x14d] ldrb ip, [sp, #0x14e] ldrb r3, [sp, #0x14f] ldrb r2, [sp, #0x150] str r0, [sp, #0x1cc] ldr r0, _02180adc ; =gAdventureFlags str r1, [sp, #0x1b4] ldr r1, [sp, #0x134] str r9, [sp, #0x1bc] ldr r10, [sp, #0x13c] str r8, [sp, #0x1c0] ldr r9, [sp, #0x140] str r7, [sp, #0x1c4] ldr r8, [sp, #0x144] ldr r7, [sp, #0x148] str r1, [sp, #0x1c8] ldr r0, [r0] add r1, sp, #0x154 str r10, [sp, #0x1d0] str r9, [sp, #0x1d4] str r8, [sp, #0x1d8] str r7, [sp, #0x1dc] strb r6, [sp, #0x1e0] strb lr, [sp, #0x1e1] strb ip, [sp, #0x1e2] strb r3, [sp, #0x1e3] strb r2, [sp, #0x1e4] str r11, [sp, #0x1e8] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x38c] mov r0, #1 strb r0, [r5, #0x3a0] ldr r2, _02180ae0 ; =data_027e0764 strb r0, [r5, #0x3a1] ldr r1, [r2] ldmib r2, {r0, r3} umull r7, r6, r3, r1 mla r6, r3, r0, r6 ldr r0, [r2, #0xc] ldr r8, [r2, #0x10] mla r6, r0, r1, r6 ldr r3, [r2, #0x14] adds r8, r8, r7 adc r7, r3, r6 mov r0, #0xb str r8, [r2] mov r1, #0 umull r3, r6, r7, r0 mla r6, r7, r1, r6 mla r6, r1, r0, r6 str r7, [r2, #4] add r0, sp, #0x154 add r2, r6, #0x1e add r1, r5, #0x300 strh r2, [r1, #0x9c] bl func_ov00_0209a508 b _02180ab8 _02180a14: mov r4, #9 b _02180ab8 _02180a1c: mov r1, #0x1000 str r1, [r5, #0x37c] strb r0, [r5, #0x39e] ldr r0, _02180ae4 ; =data_027e0c68 ldr r2, _02180ae8 ; =0x00050048 add r1, r5, #0x3a4 bl func_02036ce4 b _02180ab8 _02180a3c: ldr r1, _02180aec ; =data_027e0fac str r0, [r5, #0x388] ldrsh r2, [r1] add r1, r5, #0x300 add r0, sp, #0x3c strh r2, [r1, #0x98] bl func_ov00_0209a4f4 ldr r1, _02180ad4 ; =data_027e0f94 mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r8, #0x32 mov r7, #0 mov r6, #2 ldr r0, _02180adc ; =gAdventureFlags str r9, [sp, #0x40] strb r8, [sp, #0x45] strb r7, [sp, #0x46] strb r6, [sp, #0x47] str r3, [sp, #0x5c] str r2, [sp, #0x60] ldr r2, [r1, #8] ldr r0, [r0] add r1, sp, #0x3c str r2, [sp, #0x64] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r5, #0x38c] mov r1, #1 add r0, sp, #0x3c strb r1, [r5, #0x3a0] bl func_ov00_0209a508 _02180ab8: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0x31c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021803ac _02180acc: .word data_027e0d0c _02180ad0: .word data_027e10a4 _02180ad4: .word data_027e0f94 _02180ad8: .word data_027e0f64 _02180adc: .word gAdventureFlags _02180ae0: .word data_027e0764 _02180ae4: .word data_027e0c68 _02180ae8: .word 0x00050048 _02180aec: .word data_027e0fac .global func_ov15_02180af0 arm_func_start func_ov15_02180af0 func_ov15_02180af0: ; 0x02180af0 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02180c1c ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] bl func_ov15_0215d238 mov r6, r0 mov r0, r5 bl func_ov15_02182dc4 cmp r0, #0 cmpeq r6, #0 mov r0, r5 beq _02180b4c mov r1, r6 bl func_ov15_02182e78 b _02180b60 _02180b4c: bl func_ov15_02182b90 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 bl func_ov15_02180d78 _02180b60: ldr r0, [r5, #0x37c] cmp r0, #0 ldreq r0, _02180c4c ; =0x0000ffff streqh r0, [r5, #0x7a] beq _02180b9c ldrh r0, [r5, #0x22] cmp r0, #4 blo _02180b94 ldrh r0, [r5, #0x24] cmp r0, #0 ldreq r0, _02180c4c ; =0x0000ffff streqh r0, [r5, #0x7a] beq _02180b9c _02180b94: mov r0, #0x67 strh r0, [r5, #0x7a] _02180b9c: ldr r0, [r5, #0x37c] cmp r0, #0x800 ldrb r0, [r5, #0x474] bge _02180bd4 cmp r0, #0 beq _02180bf8 ldr r0, _02180c50 ; =data_027e0e60 add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838d8 mov r0, #0 strb r0, [r5, #0x474] b _02180bf8 _02180bd4: cmp r0, #0 bne _02180bf8 ldr r0, _02180c50 ; =data_027e0e60 add r1, r5, #0x4c ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020838c8 mov r0, #1 strb r0, [r5, #0x474] _02180bf8: mov r0, r5 bl func_ov15_02182c4c add r0, r5, #0x158 bl func_ov00_020c5e20 ldr r1, _02180c54 ; =data_ov15_0218e8c8 ldr r2, _02180c58 ; =data_ov15_0218e8d4 add r0, r5, #0x48 bl func_ov15_0215cb24 str r0, [r5, #0x384] _02180c1c: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldr r0, [r5, #0x37c] cmp r0, #0x800 ldmltia sp!, {r4, r5, r6, pc} ldr r0, _02180c5c ; =data_ov15_02190458 add r1, r5, #0x48 mov r2, #0 bl func_ov15_02184a40 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02180af0 _02180c4c: .word 0x0000ffff _02180c50: .word data_027e0e60 _02180c54: .word data_ov15_0218e8c8 _02180c58: .word data_ov15_0218e8d4 _02180c5c: .word data_ov15_02190458 .global func_ov15_02180c60 arm_func_start func_ov15_02180c60 func_ov15_02180c60: ; 0x02180c60 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r1 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 beq _02180d44 ldr r0, _02180d68 ; =0x0000ffff strh r0, [r5, #0x7a] bl func_ov15_0215d238 mov r6, r0 mov r0, r5 bl func_ov15_02182dc4 cmp r0, #0 cmpeq r6, #0 beq _02180cb8 ldr r0, [r5, #0x130] cmp r0, #8 bge _02180cb8 mov r0, r5 mov r1, r6 bl func_ov15_02182e78 b _02180d20 _02180cb8: ldr r0, [r5, #0x48] str r0, [r5, #0x54] ldr r0, [r5, #0x4c] str r0, [r5, #0x58] ldr r0, [r5, #0x50] str r0, [r5, #0x5c] ldrb r0, [r5, #0x3a0] cmp r0, #0 beq _02180cf4 mov r0, r5 bl func_ov15_02182b90 mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 bl func_ov15_02180d78 _02180cf4: ldr r0, [r5, #0x37c] cmp r0, #0 beq _02180d20 ldrh r0, [r5, #0x22] cmp r0, #4 blo _02180d18 ldrh r0, [r5, #0x24] cmp r0, #0 beq _02180d20 _02180d18: mov r0, #0x67 strh r0, [r5, #0x7a] _02180d20: mov r0, r5 bl func_ov15_02182c4c add r0, r5, #0x158 bl func_ov00_020c5e20 ldr r1, _02180d6c ; =data_ov15_0218e8c8 ldr r2, _02180d70 ; =data_ov15_0218e8d4 add r0, r5, #0x48 bl func_ov15_0215cb24 str r0, [r5, #0x384] _02180d44: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldr r0, _02180d74 ; =data_ov15_02190458 add r1, r5, #0x48 mov r2, #0 bl func_ov15_02184a40 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02180c60 _02180d68: .word 0x0000ffff _02180d6c: .word data_ov15_0218e8c8 _02180d70: .word data_ov15_0218e8d4 _02180d74: .word data_ov15_02190458 .global func_ov15_02180d78 arm_func_start func_ov15_02180d78 func_ov15_02180d78: ; 0x02180d78 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] ldr r2, _02180db0 ; =data_ov15_02187080 add r3, r2, r1, lsl #3 ldr r1, [r3, #4] tst r1, #1 add r0, r0, r1, asr #1 ldreq r1, [r3] beq _02180da8 ldr r2, [r0] ldr r1, [r3] ldr r1, [r2, r1] _02180da8: blx r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02180d78 _02180db0: .word data_ov15_02187080 .global func_ov15_02180db4 arm_func_start func_ov15_02180db4 func_ov15_02180db4: ; 0x02180db4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02182e08 mov r0, r4 bl func_ov15_02182aa0 cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov15_02182a50 ldmia sp!, {r4, pc} arm_func_end func_ov15_02180db4 .global func_ov15_02180ddc arm_func_start func_ov15_02180ddc func_ov15_02180ddc: ; 0x02180ddc stmdb sp!, {r3, r4, r5, lr} ldr r1, _02180e40 ; =0x00000133 mov r5, r0 bl func_ov15_021829f0 mov r4, r0 mov r0, r5 bl func_ov15_02182e08 cmp r4, #0 beq _02180e24 ldrh r0, [r5, #0x22] cmp r0, #3 bne _02180e1c mov r0, r5 mov r1, #4 bl func_ov15_021803ac b _02180e24 _02180e1c: add r0, r5, #0x354 bl func_ov00_020c69cc _02180e24: mov r0, r5 bl func_ov15_02182aa0 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov15_02182a50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02180ddc _02180e40: .word 0x00000133 .global func_ov15_02180e44 arm_func_start func_ov15_02180e44 func_ov15_02180e44: ; 0x02180e44 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x114 mov r4, r0 ldr r1, [r4, #0x390] cmp r1, #0x1f bge _02180e68 bl func_ov15_02182e08 mov r0, r4 bl func_ov15_02182fc0 _02180e68: ldr r0, _02181360 ; =data_027e0f94 add r3, sp, #0x58 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x4c mov r0, r3 add r1, r4, #0x48 bl func_01ff9bf8 mov r1, #0 add r0, sp, #0x4c str r1, [sp, #0x50] bl func_01ff9cec mov r5, r0 ldr r2, _02181364 ; =data_027e0fac ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] ldrsh r6, [r2] bl func_01ffa0f4 mov r0, r0, lsl #0x10 cmp r5, #0x3000 mov r7, r0, asr #0x10 ldrlt r1, _02181368 ; =0x0000019a blt _02180f1c cmp r5, #0x4800 movge r1, #0x52 bge _02180f1c ldr r0, _0218136c ; =data_ov15_0218e8c8 rsb r2, r5, #0x4800 ldr r0, [r0, #0x14] mov r1, #0 smull r3, r0, r2, r0 adds r2, r3, #0x800 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 mov r0, #0x148 umull r8, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds r2, r8, #0x800 adc r0, r3, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 add r1, r1, #0x52 _02180f1c: sub r0, r7, #0x6000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 ldr r2, _02181370 ; =data_02050f54 mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r0, r0, lsl #0x1 ldrsh r2, [r2, r0] smull r9, r8, r3, r1 mov r0, #0 adds r9, r9, #0x800 smull r3, r1, r2, r1 adc r8, r8, r0 adds r2, r3, #0x800 mov r9, r9, lsr #0xc orr r9, r9, r8, lsl #20 mov r3, r2, lsr #0xc adc r1, r1, r0 orr r3, r3, r1, lsl #20 add r8, sp, #0x2c add r1, sp, #0x3c mov r2, #4 str r9, [sp, #0x40] str r0, [sp, #0x44] str r3, [sp, #0x48] bl func_020078f4 add r1, r8, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 cmp r5, #0x1800 bge _021810e4 ldr r0, [r4, #0x390] cmp r0, #0x1f bgt _02180fc0 ldr r0, _02181374 ; =data_ov00_020eec9c ldr r1, _02181378 ; =0x0000025d bl func_ov00_020d7d18 _02180fc0: ldr r1, [sp, #0x58] mov r0, #0 str r1, [r4, #0x48] ldr r1, [sp, #0x5c] str r1, [r4, #0x4c] ldr r1, [sp, #0x60] str r1, [r4, #0x50] ldr r1, [r4, #0x48] str r1, [sp, #0x20] ldr r1, [r4, #0x4c] str r1, [sp, #0x24] ldr r1, [r4, #0x50] str r1, [sp, #0x28] str r0, [r4, #0x4c] ldr r0, [r4, #0x380] cmp r0, #0x2000 ble _021810a4 ldr r0, [r4, #0x390] cmp r0, #0 bge _021810a4 ldr r0, _0218137c ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02181038 ldr r0, _0218137c ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _02181038: add r0, sp, #0x64 bl func_ov00_0209a4f4 ldr r0, _0218137c ; =gAdventureFlags ldr r5, [sp, #0x58] ldr r3, [sp, #0x5c] ldr r2, [sp, #0x60] mvn r9, #0 mov r8, #0x32 mov lr, #0 mov ip, #1 mov r7, #4 ldr r0, [r0] add r1, sp, #0x64 str r9, [sp, #0x68] strb r8, [sp, #0x6d] strb lr, [sp, #0x6e] strb ip, [sp, #0x6f] strb r7, [sp, #0x70] str r5, [sp, #0x84] str r3, [sp, #0x88] str r2, [sp, #0x8c] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x38c] mov r1, #0 add r0, sp, #0x64 str r1, [r4, #0x390] bl func_ov00_0209a508 _021810a4: ldr r1, [r4, #0x380] add r0, r4, #0x300 add r1, r1, #0xa4 str r1, [r4, #0x380] ldrsh r3, [r0, #0x9a] ldr r2, [sp, #0x3c] ldr r1, _02181380 ; =0x00000aab add r3, r6, r3 orr r2, r2, #2 strh r3, [sp, #0x38] str r2, [sp, #0x3c] ldrsh r2, [r0, #0x9a] cmp r2, r1 addlt r1, r2, #0x5b strlth r1, [r0, #0x9a] b _0218117c _021810e4: add r0, sp, #0x58 add r1, sp, #0x40 add r2, sp, #0x20 bl func_01ff9bc4 mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 ldr r2, _02181370 ; =data_02050f54 mov r0, r0, lsl #0x1 ldrsh r6, [r2, r0] ldr r0, _02181384 ; =0x00000133 mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] umull ip, r7, r6, r0 mov r1, #0 mla r7, r6, r1, r7 umull r5, r3, r2, r0 mla r3, r2, r1, r3 mov r6, r6, asr #0x1f mov r1, r2, asr #0x1f mla r7, r6, r0, r7 mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r6, r7, #0 mov r7, ip, lsr #0xc adds r5, r5, #0x800 ldr r0, [r4, #0x48] orr r7, r7, r6, lsl #20 add r0, r0, r7 str r0, [r4, #0x48] adc r0, r3, #0 mov r1, r5, lsr #0xc ldr r2, [r4, #0x50] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r4, #0x50] _0218117c: ldr r3, [r4, #0x380] ldr r0, [sp, #0x3c] ldr r2, [sp, #0x20] ldr r1, [sp, #0x28] orr r0, r0, #1 str r3, [sp, #0x24] str r2, [sp, #0x2c] str r3, [sp, #0x30] str r1, [sp, #0x34] str r0, [sp, #0x3c] ldr r0, [r4, #0x390] cmp r0, #0 addge r0, r0, #1 strge r0, [r4, #0x390] ldr r0, [r4, #0x390] cmp r0, #0x1f bge _021811d8 ldr r0, _02181388 ; =data_027e10a4 add r1, sp, #0x2c ldr r0, [r0] bl func_ov15_0214138c add sp, sp, #0x114 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021811d8: bne _021812e4 mov r0, #0 strb r0, [r4, #0x3a1] ldr r1, _0218138c ; =data_027e0764 ldr r0, _02181390 ; =data_027e0ff0 ldr r3, [r1] ldmib r1, {r2, r5} umull r7, r6, r5, r3 mla r6, r5, r2, r6 ldr lr, [r0] ldr r5, [r1, #0xc] ldrh r0, [r4, #0x20] mla r6, r5, r3, r6 ldr ip, [r1, #0x10] ldr r2, [lr] ldr r3, [r1, #0x14] adds r5, ip, r7 and r0, r0, #0xff str r5, [r1] adc r3, r3, r6 str r3, [r1, #4] ldr r1, [r2, r0, lsl #3] mov r3, r3, lsr #0x18 add r5, r2, r0, lsl #3 ldrb r1, [r1, #1] and r0, r3, #0xff bl func_02002c14 ldr r2, [r5, #4] mov r0, #0x24 mla r0, r1, r0, r2 add r0, r0, #4 ldr r3, _02181360 ; =data_027e0f94 add ip, sp, #0x14 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r1, [r3, #4] ldr r0, [sp, #0x14] str r1, [sp, #0x18] str r0, [r4, #0x330] ldr r0, [sp, #0x18] ldr r1, _02181364 ; =data_027e0fac str r0, [r4, #0x334] ldr r2, [sp, #0x1c] add r0, r4, #0x300 str r2, [r4, #0x338] ldrsh r2, [r1] mov r3, #0 ldr r5, _02181394 ; =data_027e0f90 strh r2, [r0, #0x98] ldr r2, _02181380 ; =0x00000aab str r3, [r4, #0x388] strh r2, [r0, #0x9a] str r3, [r4, #0x138] str r3, [sp] str r3, [sp, #4] ldrsh r2, [r0, #0x98] ldr r0, [r5] mov r1, ip ldr r5, [r0] ldr r5, [r5, #0x34] blx r5 ldrh r0, [r4, #0x22] add sp, sp, #0x114 cmp r0, #4 moveq r0, #0 streq r0, [r4, #0x37c] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021812e4: mov r0, r4 bl func_ov15_02182810 cmp r0, #0 addeq sp, sp, #0x114 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r0, [r4, #0x390] cmp r0, #0x5a addlt sp, sp, #0x114 ldmltia sp!, {r4, r5, r6, r7, r8, r9, pc} ldr r0, _02181388 ; =data_027e10a4 mov r1, #0 ldr r0, [r0] bl func_ov15_021413d4 ldr r0, [r4, #0x30] cmp r0, #0 beq _02181338 mov r0, r4 mov r1, #6 bl func_ov15_021803ac add sp, sp, #0x114 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02181338: ldr r0, _0218137c ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r1, #0 mov r0, r4 str r1, [r4, #0x38c] bl func_ov15_02182b48 add sp, sp, #0x114 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02180e44 _02181360: .word data_027e0f94 _02181364: .word data_027e0fac _02181368: .word 0x0000019a _0218136c: .word data_ov15_0218e8c8 _02181370: .word data_02050f54 _02181374: .word data_ov00_020eec9c _02181378: .word 0x0000025d _0218137c: .word gAdventureFlags _02181380: .word 0x00000aab _02181384: .word 0x00000133 _02181388: .word data_027e10a4 _0218138c: .word data_027e0764 _02181390: .word data_027e0ff0 _02181394: .word data_027e0f90 .global func_ov15_02181398 arm_func_start func_ov15_02181398 func_ov15_02181398: ; 0x02181398 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02182aa0 cmp r0, #0 mov r0, r4 beq _021813b8 bl func_ov15_02182e40 ldmia sp!, {r4, pc} _021813b8: bl func_ov15_02182e08 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov15_02182b48 ldmia sp!, {r4, pc} arm_func_end func_ov15_02181398 .global func_ov15_021813d0 arm_func_start func_ov15_021813d0 func_ov15_021813d0: ; 0x021813d0 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x37c] cmp r1, #0 ldmleia sp!, {r4, pc} bl func_ov15_02182e40 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #5 bl func_ov15_021803ac ldmia sp!, {r4, pc} arm_func_end func_ov15_021813d0 .global func_ov15_02181400 arm_func_start func_ov15_02181400 func_ov15_02181400: ; 0x02181400 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02182e08 cmp r0, #0 ldmeqia sp!, {r4, pc} ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x354 add r1, r4, #0x48 bl func_ov00_020c66e4 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov15_021803ac ldmia sp!, {r4, pc} arm_func_end func_ov15_02181400 .global func_ov15_02181440 arm_func_start func_ov15_02181440 func_ov15_02181440: ; 0x02181440 stmdb sp!, {r4, lr} sub sp, sp, #0x88 ldr r1, _02181568 ; =data_027e0f64 mov r4, r0 ldr r0, [r1] add r1, sp, #0x20 ldr r0, [r0, #4] bl func_ov00_02087d34 add r1, sp, #0x14 add r2, sp, #0x20 mov r0, r4 bl func_ov15_021826ac ldr r2, [sp, #0x14] ldr r1, [sp, #0x18] ldr r0, [sp, #0x1c] str r2, [sp, #8] str r1, [sp, #0xc] str r0, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02181568 ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, sp, #0x20 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 ldrb r0, [r4, #0x400] cmp r0, #0 bne _021814f0 ldr r2, [r4, #0x30] ldr r0, _0218156c ; =data_027e0c68 add r1, r4, #0x3a4 bl func_02036ce4 strb r0, [r4, #0x400] and r1, r0, #0xff mov r0, r4 bl _ZN5Actor10SetUnk_11cEc ldr r0, _0218156c ; =data_027e0c68 add r1, r4, #0x3a4 bl func_020368f4 add sp, sp, #0x88 ldmia sp!, {r4, pc} _021814f0: mov r0, #0x10000 ldr r1, [r4, #0x3bc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x88 ldmeqia sp!, {r4, pc} add r0, r4, #0x3a4 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x3bc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x88 ldmneia sp!, {r4, pc} mov r0, #0 strb r0, [r4, #0x400] ldr r0, _02181570 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r1, #0 mov r0, r4 str r1, [r4, #0x38c] bl func_ov15_02182b48 add sp, sp, #0x88 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02181440 _02181568: .word data_027e0f64 _0218156c: .word data_027e0c68 _02181570: .word gAdventureFlags .global func_ov15_02181574 arm_func_start func_ov15_02181574 func_ov15_02181574: ; 0x02181574 stmdb sp!, {r3, lr} ldrb r1, [r0, #0x39e] ldr r2, _021815ac ; =data_ov15_021870e8 add r3, r2, r1, lsl #3 ldr r1, [r3, #4] tst r1, #1 add r0, r0, r1, asr #1 ldreq r1, [r3] beq _021815a4 ldr r2, [r0] ldr r1, [r3] ldr r1, [r2, r1] _021815a4: blx r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02181574 _021815ac: .word data_ov15_021870e8 .global func_ov15_021815b0 arm_func_start func_ov15_021815b0 func_ov15_021815b0: ; 0x021815b0 stmdb sp!, {r3, r4, r5, lr} ldr r1, _0218160c ; =data_027e0fe4 mov r5, r0 ldr r0, [r1] add r1, r5, #0x36c bl _ZN12ActorManager8GetActorEP8ActorRef ldr r2, _02181610 ; =data_027e0e60 mov r4, r0 ldr r0, [r2] ldrh r1, [r5, #0x26] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 cmpne r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02181614 ; =data_027e0f94 add r2, r4, #0x48 mov r1, #0x6000 bl func_ov00_020ce284 cmp r0, #0 moveq r0, #1 streqb r0, [r5, #0x39e] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021815b0 _0218160c: .word data_027e0fe4 _02181610: .word data_027e0e60 _02181614: .word data_027e0f94 .global func_ov15_02181618 arm_func_start func_ov15_02181618 func_ov15_02181618: ; 0x02181618 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x118 mov r4, r0 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0x118 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x68 bl func_ov00_0209a4f4 ldr r1, _021818c0 ; =data_027e0f94 mov r5, #2 ldr r3, [r1] ldr r2, [r1, #4] mvn r7, #0 mov r6, #0x32 ldr r0, _021818c4 ; =data_027e0f64 str r7, [sp, #0x6c] strb r6, [sp, #0x71] strb r5, [sp, #0x72] strb r5, [sp, #0x73] str r3, [sp, #0x88] str r2, [sp, #0x8c] ldr r2, [r1, #8] mov r1, #1 strb r1, [sp, #0x7c] ldr r0, [r0] str r2, [sp, #0x90] ldr r0, [r0, #4] add r1, sp, #0 bl func_ov00_02087d34 ldr r0, [sp] str r0, [r4, #0x2bc] ldr r0, [sp, #4] str r0, [r4, #0x2c0] ldr r0, [sp, #8] str r0, [r4, #0x2c4] ldr r0, [sp, #0xc] str r0, [r4, #0x2c8] ldr r0, [sp, #0x10] str r0, [r4, #0x2cc] ldr r0, [sp, #0x14] str r0, [r4, #0x2d0] ldr r0, [sp, #0x18] str r0, [r4, #0x2d4] ldr r0, [sp, #0x1c] str r0, [r4, #0x2d8] ldr r0, [sp, #0x20] str r0, [r4, #0x2dc] ldr r0, [sp, #0x24] str r0, [r4, #0x2e0] ldr r0, [sp, #0x28] str r0, [r4, #0x2e4] ldr r0, [sp, #0x2c] str r0, [r4, #0x2e8] ldr r0, [sp, #0x30] str r0, [r4, #0x2ec] ldr r0, [sp, #0x34] str r0, [r4, #0x2f0] ldr r0, [sp, #0x38] str r0, [r4, #0x2f4] ldr r0, [sp, #0x3c] str r0, [r4, #0x2f8] ldr r0, [sp, #0x40] str r0, [r4, #0x2fc] ldr r0, [sp, #0x44] str r0, [r4, #0x300] ldr r0, [sp, #0x48] str r0, [r4, #0x304] ldr r0, [sp, #0x4c] str r0, [r4, #0x308] ldr r0, [sp, #0x50] str r0, [r4, #0x30c] ldr r0, [sp, #0x54] str r0, [r4, #0x310] ldr r0, [sp, #0x58] str r0, [r4, #0x314] ldr r0, [sp, #0x5c] str r0, [r4, #0x318] ldrb r0, [sp, #0x60] strb r0, [r4, #0x31c] ldrb r0, [sp, #0x61] strb r0, [r4, #0x31d] ldrb r0, [sp, #0x62] strb r0, [r4, #0x31e] ldrb r0, [sp, #0x63] strb r0, [r4, #0x31f] ldrb r0, [sp, #0x64] strb r0, [r4, #0x320] ldr r0, [sp, #0x14] sub r0, r0, #0x8000 strh r0, [r4, #0x78] ldr r7, [sp] ldr r6, [sp, #4] ldr r5, [sp, #8] ldr r3, [sp, #0xc] ldr r2, [sp, #0x10] ldr r1, [sp, #0x14] ldr r0, [sp, #0x18] str r7, [sp, #0x94] str r6, [sp, #0x98] str r5, [sp, #0x9c] str r3, [sp, #0xa0] str r2, [sp, #0xa4] str r1, [sp, #0xa8] str r0, [sp, #0xac] ldr r0, [sp, #0x2c] ldr r8, [sp, #0x1c] ldr r7, [sp, #0x20] ldr r6, [sp, #0x24] str r0, [sp, #0xc0] ldr r0, [sp, #0x48] ldr r1, [sp, #0x28] ldr r10, [sp, #0x30] ldr r9, [sp, #0x34] str r8, [sp, #0xb0] ldr r8, [sp, #0x38] str r7, [sp, #0xb4] ldr r7, [sp, #0x3c] str r6, [sp, #0xb8] ldr r6, [sp, #0x40] str r0, [sp, #0xdc] ldr r0, _021818c8 ; =gAdventureFlags ldrb r5, [sp, #0x60] ldrb lr, [sp, #0x61] ldrb ip, [sp, #0x62] ldrb r3, [sp, #0x63] ldrb r2, [sp, #0x64] str r1, [sp, #0xbc] ldr r1, [sp, #0x44] str r10, [sp, #0xc4] ldr r10, [sp, #0x4c] str r9, [sp, #0xc8] ldr r9, [sp, #0x50] str r8, [sp, #0xcc] ldr r8, [sp, #0x54] str r7, [sp, #0xd0] ldr r7, [sp, #0x58] str r6, [sp, #0xd4] ldr r6, [sp, #0x5c] str r1, [sp, #0xd8] mov r11, #0x5c ldr r0, [r0] add r1, sp, #0x68 str r10, [sp, #0xe0] str r9, [sp, #0xe4] str r8, [sp, #0xe8] str r7, [sp, #0xec] str r6, [sp, #0xf0] strb r5, [sp, #0xf4] strb lr, [sp, #0xf5] strb ip, [sp, #0xf6] strb r3, [sp, #0xf7] strb r2, [sp, #0xf8] str r11, [sp, #0xfc] bl _ZN14AdventureFlags18func_Ov00_02097810Ei mvn r1, #0 str r0, [r4, #0x38c] cmp r0, r1 beq _021818b0 ldrb r2, [r4, #0x39e] mov r1, #0 mov r0, #1 add r2, r2, #1 strb r2, [r4, #0x39e] str r1, [r4, #0x138] strb r0, [r4, #0x3a0] _021818b0: add r0, sp, #0x68 bl func_ov00_0209a508 add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02181618 _021818c0: .word data_027e0f94 _021818c4: .word data_027e0f64 _021818c8: .word gAdventureFlags .global func_ov15_021818cc arm_func_start func_ov15_021818cc func_ov15_021818cc: ; 0x021818cc stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x2c ldr r1, _02181a18 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp, #8] str r0, [sp, #0xc] ldr r0, [r1, #8] mov r1, #0 str r0, [sp, #0x10] str r1, [sp] str r1, [sp, #4] ldr r0, _02181a1c ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, r4, #0x2bc ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 ldr r0, _02181a20 ; =data_027e10a4 ldr r3, _02181a18 ; =data_027e0f94 ldr r5, [r0] add r6, sp, #0x20 ldmia r3, {r0, r1, r2} stmia r6, {r0, r1, r2} add r0, r5, #0x14 add r5, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r1, [sp, #0x20] ldr r0, [sp, #0x14] cmp r1, r0 ldreq r1, [sp, #0x28] ldreq r0, [sp, #0x1c] cmpeq r1, r0 addne sp, sp, #0x2c ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, [r3] ldr ip, _02181a24 ; =data_02050f54 str r0, [r4, #0x48] ldr r0, [r3, #4] mov r2, #0 str r0, [r4, #0x4c] ldr r0, [r3, #8] mov r1, #0x6000 str r0, [r4, #0x50] ldrh r3, [r4, #0x78] ldr r0, [r4, #0x48] mov r3, r3, asr #0x4 mov r6, r3, lsl #0x1 mov r3, r6, lsl #0x1 ldrsh r5, [ip, r3] add r3, r6, #1 mov r3, r3, lsl #0x1 umull r7, r6, r5, r1 ldrsh r3, [ip, r3] mla r6, r5, r2, r6 umull lr, ip, r3, r1 mov r5, r5, asr #0x1f adds r7, r7, #0x800 mla r6, r5, r1, r6 adc r5, r6, #0 mov r6, r7, lsr #0xc orr r6, r6, r5, lsl #20 add r0, r0, r6 str r0, [r4, #0x48] adds lr, lr, #0x800 mla ip, r3, r2, ip mov r0, r3, asr #0x1f mla ip, r0, r1, ip adc r0, ip, #0 mov r1, lr, lsr #0xc ldr r3, [r4, #0x50] orr r1, r1, r0, lsl #20 add r0, r3, r1 str r0, [r4, #0x50] ldrb r0, [r4, #0x39e] add r0, r0, #1 strb r0, [r4, #0x39e] str r2, [r4, #0x138] add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021818cc _02181a18: .word data_027e0f94 _02181a1c: .word data_027e0f64 _02181a20: .word data_027e10a4 _02181a24: .word data_02050f54 .global func_ov15_02181a28 arm_func_start func_ov15_02181a28 func_ov15_02181a28: ; 0x02181a28 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 ldr r1, _02181b48 ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp, #8] str r0, [sp, #0xc] ldr r0, [r1, #8] mov r1, #0 str r0, [sp, #0x10] str r1, [sp] str r1, [sp, #4] ldr r0, _02181b4c ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, r4, #0x2bc ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 ldr r0, [r4, #0x138] cmp r0, #0x23 addlt sp, sp, #0x14 ldmltia sp!, {r4, r5, pc} bne _02181b08 ldr r1, [r4, #0x36c] mvn r0, #0 cmp r1, r0 beq _02181aec ldr r0, _02181b50 ; =data_027e0fe4 add r1, r4, #0x36c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r5, r0 beq _02181ae0 bl func_ov15_02182c08 cmp r0, #0 beq _02181aec mov r0, r5 bl func_ov15_02182bcc mov r0, #5 strb r0, [r4, #0x39e] mov r0, #0 add sp, sp, #0x14 str r0, [r4, #0x138] ldmia sp!, {r4, r5, pc} _02181ae0: mvn r0, #0 str r0, [r4, #0x36c] str r0, [r4, #0x370] _02181aec: ldr r0, _02181b54 ; =data_027e0ffc ldr r1, _02181b58 ; =0x0000025f add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #0x1e strb r0, [r4, #0x39f] _02181b08: ldr r0, [r4, #0x37c] cmp r0, #0x1000 addge sp, sp, #0x14 ldmgeia sp!, {r4, r5, pc} add r0, r0, #0x52 str r0, [r4, #0x37c] cmp r0, #0x1000 movgt r0, #0x1000 strgt r0, [r4, #0x37c] ldr r0, [r4, #0x37c] cmp r0, #0x1000 ldreqb r0, [r4, #0x39e] addeq r0, r0, #1 streqb r0, [r4, #0x39e] add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02181a28 _02181b48: .word data_027e0f94 _02181b4c: .word data_027e0f64 _02181b50: .word data_027e0fe4 _02181b54: .word data_027e0ffc _02181b58: .word 0x0000025f .global func_ov15_02181b5c arm_func_start func_ov15_02181b5c func_ov15_02181b5c: ; 0x02181b5c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 ldr r1, _02181c3c ; =data_027e0f94 mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] str r2, [sp, #8] str r0, [sp, #0xc] ldr r0, [r1, #8] mov r1, #0 str r0, [sp, #0x10] str r1, [sp] str r1, [sp, #4] ldr r0, _02181c40 ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] add r3, r4, #0x2bc ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 ldr r1, _02181c3c ; =data_027e0f94 ldr r2, _02181c44 ; =0x00000133 add r0, r4, #0x48 bl func_0202b2e8 ldr r1, _02181c3c ; =data_027e0f94 add r0, r4, #0x48 bl func_01ff9ec0 cmp r0, #0x5000 addge sp, sp, #0x14 ldmgeia sp!, {r3, r4, pc} ldr r0, _02181c48 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 bne _02181c10 ldr r0, [r4, #0x38c] cmp r0, #0 addge sp, sp, #0x14 ldmgeia sp!, {r3, r4, pc} mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} _02181c10: ldr r0, _02181c48 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r2, #0 mov r0, r4 mov r1, #2 str r2, [r4, #0x38c] bl func_ov15_021803ac add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_02181b5c _02181c3c: .word data_027e0f94 _02181c40: .word data_027e0f64 _02181c44: .word 0x00000133 _02181c48: .word gAdventureFlags .global func_ov15_02181c4c arm_func_start func_ov15_02181c4c func_ov15_02181c4c: ; 0x02181c4c stmdb sp!, {r4, lr} ldr r1, _02181cb0 ; =data_027e0fe4 mov r4, r0 ldr r0, [r1] add r1, r4, #0x36c bl _ZN12ActorManager8GetActorEP8ActorRef ldr r1, [r4, #0x38c] ldr r0, [r0, #0x130] cmp r1, #0 blt _02181c9c cmp r0, #2 ldmneia sp!, {r4, pc} ldr r0, _02181cb4 ; =gAdventureFlags ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r0, #0 str r0, [r4, #0x38c] mov r0, #0 strb r0, [r4, #0x3a0] ldmia sp!, {r4, pc} _02181c9c: cmp r0, #2 movne r0, #0 strneb r0, [r4, #0x39e] strneb r0, [r4, #0x3a0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02181c4c _02181cb0: .word data_027e0fe4 _02181cb4: .word gAdventureFlags .global func_ov15_02181cb8 arm_func_start func_ov15_02181cb8 func_ov15_02181cb8: ; 0x02181cb8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r7, r0 bl func_ov15_02182e08 ldr r0, [r7, #0x37c] cmp r0, #0x800 addlt sp, sp, #0x44 ldmltia sp!, {r4, r5, r6, r7, pc} ldr r0, _02181ea0 ; =data_027e0f94 add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, _02181ea4 ; =data_027e0fac add r5, sp, #0x24 add r1, sp, #0x34 mov r0, #0 mov r2, #4 ldrsh r4, [r3] bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r1, [sp, #0x38] mov r0, #0 str r1, [r7, #0x48] ldr r1, [sp, #0x3c] str r1, [r7, #0x4c] ldr r6, [sp, #0x40] str r6, [r7, #0x50] ldr r5, [r7, #0x48] str r0, [r7, #0x4c] ldr r0, [r7, #0x380] cmp r0, #0x2000 ble _02181d78 ldr r0, [r7, #0x390] cmp r0, #0 bne _02181d6c ldr r0, _02181ea8 ; =data_027e0fe4 add r1, r7, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02181d6c bl func_ov15_02173124 _02181d6c: ldr r0, [r7, #0x390] add r0, r0, #1 str r0, [r7, #0x390] _02181d78: add r0, r7, #0x300 ldrsh r2, [r0, #0x9a] ldr r1, _02181eac ; =0x00000aab cmp r2, r1 addlt r1, r2, #0x5b strlth r1, [r0, #0x9a] add r0, r7, #0x300 ldrsh r1, [r0, #0x9a] ldr r0, [sp, #0x34] add r1, r4, r1 orr r0, r0, #2 strh r1, [sp, #0x30] str r0, [sp, #0x34] ldr r0, [r7, #0x37c] ldr r1, _02181eb0 ; =0x0000025d cmp r0, #0x1000 ldrge r0, [r7, #0x380] addge r0, r0, #0xa4 strge r0, [r7, #0x380] ldr r3, [r7, #0x380] ldr r0, [sp, #0x34] str r5, [sp, #0x24] orr r2, r0, #1 ldr r0, _02181eb4 ; =data_ov00_020eec9c str r3, [sp, #0x28] str r6, [sp, #0x2c] str r2, [sp, #0x34] bl func_ov00_020d7d18 ldr r0, [r7, #0x390] cmp r0, #0x1f bge _02181e0c ldr r0, _02181eb8 ; =data_027e10a4 add r1, sp, #0x24 ldr r0, [r0] bl func_ov15_0214138c add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} _02181e0c: addne sp, sp, #0x44 ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _02181ea8 ; =data_027e0fe4 add r1, r7, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 beq _02181e8c ldrsh r1, [r4, #0x12] ldr r0, [sp, #0x34] add r3, sp, #0x18 orr ip, r0, #2 str ip, [sp, #0x34] add r0, r4, #0x14 strh r1, [sp, #0x30] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r6, #0x2000 ldr r0, _02181eb8 ; =data_027e10a4 ldr r5, [sp, #0x18] ldr r3, [sp, #0x20] orr r2, ip, #1 ldr r0, [r0] add r1, sp, #0x24 str r6, [sp, #0x1c] str r5, [sp, #0x24] str r6, [sp, #0x28] str r3, [sp, #0x2c] str r2, [sp, #0x34] bl func_ov15_0214138c mov r0, r4 bl func_ov15_0217316c _02181e8c: mov r0, #0 strb r0, [r7, #0x3a1] strb r0, [r7, #0x118] add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02181cb8 _02181ea0: .word data_027e0f94 _02181ea4: .word data_027e0fac _02181ea8: .word data_027e0fe4 _02181eac: .word 0x00000aab _02181eb0: .word 0x0000025d _02181eb4: .word data_ov00_020eec9c _02181eb8: .word data_027e10a4 .global func_ov15_02181ebc arm_func_start func_ov15_02181ebc func_ov15_02181ebc: ; 0x02181ebc ldr ip, _02181ec8 ; =func_ov15_021803ac mov r1, #0xa bx ip .align 2, 0 arm_func_end func_ov15_02181ebc _02181ec8: .word func_ov15_021803ac .global func_ov15_02181ecc arm_func_start func_ov15_02181ecc func_ov15_02181ecc: ; 0x02181ecc stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x4c mov r7, r0 bl func_ov15_02182e08 mov r0, r7 bl func_ov15_02182fc0 mov r0, r7 bl func_ov15_02183250 ldr r0, [r7, #0x37c] cmp r0, #0x800 addlt sp, sp, #0x4c ldmltia sp!, {r4, r5, r6, r7, pc} ldr r0, _021820f0 ; =data_027e0f94 add r3, sp, #0x40 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, _021820f4 ; =data_027e0fac add r5, sp, #0x2c add r1, sp, #0x3c mov r0, #0 mov r2, #4 ldrsh r4, [r3] bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r1, [sp, #0x40] mov r0, #0 str r1, [r7, #0x48] ldr r1, [sp, #0x44] str r1, [r7, #0x4c] ldr r6, [sp, #0x48] str r6, [r7, #0x50] ldr r5, [r7, #0x48] str r0, [r7, #0x4c] ldr r0, [r7, #0x380] cmp r0, #0x2000 ble _02181f9c ldr r0, [r7, #0x390] cmp r0, #0 bne _02181f90 ldr r0, _021820f8 ; =data_027e0fe4 add r1, r7, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02181f90 bl func_ov15_02173124 _02181f90: ldr r0, [r7, #0x390] add r0, r0, #1 str r0, [r7, #0x390] _02181f9c: add r0, r7, #0x300 ldrsh r2, [r0, #0x9a] ldr r1, _021820fc ; =0x00000aab cmp r2, r1 addlt r1, r2, #0x5b strlth r1, [r0, #0x9a] add r0, r7, #0x300 ldrsh r1, [r0, #0x9a] ldr r0, [sp, #0x3c] add r1, r4, r1 orr r0, r0, #2 strh r1, [sp, #0x38] str r0, [sp, #0x3c] ldr r0, [r7, #0x37c] ldr r1, _02182100 ; =0x0000025d cmp r0, #0x1000 ldrge r0, [r7, #0x380] addge r0, r0, #0xa4 strge r0, [r7, #0x380] ldr r3, [r7, #0x380] ldr r0, [sp, #0x3c] str r5, [sp, #0x2c] orr r2, r0, #1 ldr r0, _02182104 ; =data_ov00_020eec9c str r3, [sp, #0x30] str r6, [sp, #0x34] str r2, [sp, #0x3c] bl func_ov00_020d7d18 ldr r0, _02182108 ; =data_027e10a4 add r1, sp, #0x2c ldr r0, [r0] bl func_ov15_0214138c ldr r0, [r7, #0x390] cmp r0, #0x1f addne sp, sp, #0x4c ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _02182108 ; =data_027e10a4 mov r3, #1 ldr r1, [r0] add r2, r7, #0x300 strb r3, [r1, #0x240] ldr r1, [r7, #0x33c] ldr r0, [r0] str r1, [sp, #8] ldr r3, [r7, #0x340] add r1, sp, #8 str r3, [sp, #0xc] ldr r3, [r7, #0x344] str r3, [sp, #0x10] ldr r3, [r7, #0x348] str r3, [sp, #0x14] ldrsh r2, [r2, #0x4c] strh r2, [sp, #0x18] ldrb r2, [r7, #0x34e] strb r2, [sp, #0x1a] ldrb r2, [r7, #0x34f] strb r2, [sp, #0x1b] ldrb r2, [r7, #0x350] strb r2, [sp, #0x1c] ldrb r2, [r7, #0x351] strb r2, [sp, #0x1d] bl func_ov15_021413f8 ldr r1, _021820f8 ; =data_027e0fe4 ldr r2, _0218210c ; =0x4647474e ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r0, _02182108 ; =data_027e10a4 mov r1, #0 ldr r0, [r0] bl func_ov15_021413d4 ldr r1, [sp] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, _021820f8 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r1, #5 strne r1, [r0, #0x230] add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02181ecc _021820f0: .word data_027e0f94 _021820f4: .word data_027e0fac _021820f8: .word data_027e0fe4 _021820fc: .word 0x00000aab _02182100: .word 0x0000025d _02182104: .word data_ov00_020eec9c _02182108: .word data_027e10a4 _0218210c: .word 0x4647474e .global func_ov15_02182110 arm_func_start func_ov15_02182110 func_ov15_02182110: ; 0x02182110 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x150 mov r4, r0 ldrb r1, [r4, #0x39e] cmp r1, #4 addls pc, pc, r1, lsl #2 b _02182548 _0218212c: ; jump table b _02182140 ; case 0 b _021823e4 ; case 1 b _02182494 ; case 2 b _021824dc ; case 3 b _0218251c ; case 4 _02182140: ldr r0, _0218257c ; =data_027e0e60 ldrh r1, [r4, #0x26] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 beq _02182548 mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 beq _02182548 mov r1, #1 add r0, sp, #0xa0 strb r1, [r4, #0x39e] bl func_ov00_0209a4f4 ldr r1, _02182580 ; =data_027e0f94 mvn r8, #0 ldr r3, [r1] ldr r2, [r1, #4] mov r7, #0x32 mov r6, #2 mov r5, #3 ldr r0, _02182584 ; =data_027e0f64 str r8, [sp, #0xa4] strb r7, [sp, #0xa9] strb r6, [sp, #0xaa] strb r5, [sp, #0xab] str r3, [sp, #0xc0] str r2, [sp, #0xc4] ldr r2, [r1, #8] mov r1, #1 strb r1, [sp, #0xb4] ldr r0, [r0] str r2, [sp, #0xc8] ldr r0, [r0, #4] add r1, sp, #0x38 bl func_ov00_02087d34 mov r1, #5 ldr r0, [sp, #0x38] str r1, [sp, #0x3c] str r0, [r4, #0x2bc] ldr r0, [sp, #0x3c] str r0, [r4, #0x2c0] ldr r0, [sp, #0x40] str r0, [r4, #0x2c4] ldr r0, [sp, #0x44] str r0, [r4, #0x2c8] ldr r0, [sp, #0x48] str r0, [r4, #0x2cc] ldr r0, [sp, #0x4c] str r0, [r4, #0x2d0] ldr r0, [sp, #0x50] str r0, [r4, #0x2d4] ldr r0, [sp, #0x54] str r0, [r4, #0x2d8] ldr r0, [sp, #0x58] str r0, [r4, #0x2dc] ldr r0, [sp, #0x5c] str r0, [r4, #0x2e0] ldr r0, [sp, #0x60] str r0, [r4, #0x2e4] ldr r0, [sp, #0x64] str r0, [r4, #0x2e8] ldr r0, [sp, #0x68] str r0, [r4, #0x2ec] ldr r0, [sp, #0x6c] str r0, [r4, #0x2f0] ldr r0, [sp, #0x70] str r0, [r4, #0x2f4] ldr r0, [sp, #0x74] str r0, [r4, #0x2f8] ldr r0, [sp, #0x78] str r0, [r4, #0x2fc] ldr r0, [sp, #0x7c] str r0, [r4, #0x300] ldr r0, [sp, #0x80] str r0, [r4, #0x304] ldr r0, [sp, #0x84] str r0, [r4, #0x308] ldr r0, [sp, #0x88] str r0, [r4, #0x30c] ldr r0, [sp, #0x8c] str r0, [r4, #0x310] ldr r0, [sp, #0x90] str r0, [r4, #0x314] ldr r0, [sp, #0x94] str r0, [r4, #0x318] ldrb r0, [sp, #0x98] strb r0, [r4, #0x31c] ldrb r0, [sp, #0x99] strb r0, [r4, #0x31d] ldrb r0, [sp, #0x9a] strb r0, [r4, #0x31e] ldrb r0, [sp, #0x9b] strb r0, [r4, #0x31f] ldrb r0, [sp, #0x9c] strb r0, [r4, #0x320] ldr r7, [sp, #0x38] ldr r6, [sp, #0x3c] ldr r5, [sp, #0x40] ldr r3, [sp, #0x44] ldr r2, [sp, #0x48] ldr r1, [sp, #0x4c] ldr r0, [sp, #0x50] str r7, [sp, #0xcc] str r6, [sp, #0xd0] str r5, [sp, #0xd4] str r3, [sp, #0xd8] str r2, [sp, #0xdc] str r1, [sp, #0xe0] str r0, [sp, #0xe4] ldr r0, [sp, #0x68] ldr r9, [sp, #0x54] ldr r8, [sp, #0x58] ldr r7, [sp, #0x5c] ldr r2, [sp, #0x60] str r0, [sp, #0xfc] ldr r0, [sp, #0x84] ldr r1, [sp, #0x64] ldr r10, [sp, #0x6c] str r9, [sp, #0xe8] ldr r9, [sp, #0x70] str r8, [sp, #0xec] ldr r8, [sp, #0x74] str r7, [sp, #0xf0] ldr r7, [sp, #0x78] ldrb r6, [sp, #0x98] ldrb r5, [sp, #0x99] ldrb lr, [sp, #0x9a] ldrb ip, [sp, #0x9b] ldrb r3, [sp, #0x9c] str r2, [sp, #0xf4] ldr r2, [sp, #0x7c] str r0, [sp, #0x118] ldr r0, _02182588 ; =gAdventureFlags str r1, [sp, #0xf8] ldr r1, [sp, #0x80] str r10, [sp, #0x100] ldr r10, [sp, #0x88] str r9, [sp, #0x104] ldr r9, [sp, #0x8c] str r8, [sp, #0x108] ldr r8, [sp, #0x90] str r7, [sp, #0x10c] ldr r7, [sp, #0x94] str r2, [sp, #0x110] mov r2, #0x5c mov r11, #0 str r1, [sp, #0x114] ldr r0, [r0] add r1, sp, #0xa0 str r10, [sp, #0x11c] str r9, [sp, #0x120] str r8, [sp, #0x124] str r7, [sp, #0x128] strb r6, [sp, #0x12c] strb r5, [sp, #0x12d] strb lr, [sp, #0x12e] strb ip, [sp, #0x12f] strb r3, [sp, #0x130] str r2, [sp, #0x134] strb r11, [sp, #0xb6] bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x38c] mov r1, #1 add r0, sp, #0xa0 strb r1, [r4, #0x3a0] bl func_ov00_0209a508 b _02182548 _021823e4: ldr r0, _02182580 ; =data_027e0f94 add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] ldr r0, [sp, #0x34] str r2, [sp, #0x14] str r1, [sp, #0x18] str r0, [sp, #0x1c] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182584 ; =data_027e0f64 add r1, sp, #0x14 ldr r0, [r0] add r3, r4, #0x2bc ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 ldr r0, _0218258c ; =data_027e10a4 add r5, sp, #0x20 ldr r0, [r0] ldr r3, [sp, #0x2c] add r0, r0, #0x14 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [sp, #0x20] cmp r3, r0 ldreq r1, [sp, #0x34] ldreq r0, [sp, #0x28] cmpeq r1, r0 bne _02182548 ldr r0, _02182584 ; =data_027e0f64 add r1, r4, #0x2bc ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc mov r0, #2 strb r0, [r4, #0x39e] b _02182548 _02182494: ldr r0, _02182580 ; =data_027e0f94 mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] str r3, [sp, #8] str r2, [sp, #0xc] ldr r2, [r0, #8] ldr r0, _02182584 ; =data_027e0f64 str r2, [sp, #0x10] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r1, sp, #8 ldr r0, [r0, #4] add r3, r4, #0x2bc mov r2, #2 bl func_ov00_02089318 b _02182548 _021824dc: ldr r0, [r4, #0x37c] sub r0, r0, #0x29 str r0, [r4, #0x37c] cmp r0, #0 bgt _02182548 mov r0, #0 str r0, [r4, #0x37c] mov r0, #4 strb r0, [r4, #0x39e] ldr r0, _02182588 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r0, #0 str r0, [r4, #0x38c] b _02182548 _0218251c: mov r1, #0x10000 ldr r2, [r4, #0x3bc] rsb r1, r1, #0 and r1, r2, r1 cmp r1, #0x1000000 bne _02182548 mov r1, #0 mov r2, #1 bl _ZN5Actor18func_ov00_020c1c20Eiii mov r0, #0 strb r0, [r4, #0x118] _02182548: mov r0, #0x10000 ldr r1, [r4, #0x3bc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addeq sp, sp, #0x150 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, r4, #0x3a4 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 add sp, sp, #0x150 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02182110 _0218257c: .word data_027e0e60 _02182580: .word data_027e0f94 _02182584: .word data_027e0f64 _02182588: .word gAdventureFlags _0218258c: .word data_027e10a4 .global func_ov15_02182590 arm_func_start func_ov15_02182590 func_ov15_02182590: ; 0x02182590 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 ldr r1, _0218269c ; =data_027e10a4 mov r4, r0 ldr r1, [r1] ldr r1, [r1, #0x2c] cmp r1, #4 beq _02182644 add r5, sp, #0xc add r1, sp, #0x1c mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r2, _021826a0 ; =data_027e0f94 mov lr, #0x2000 ldr r1, [r2] ldr r0, _0218269c ; =data_027e10a4 str r1, [r4, #0x330] ldr r3, [r2, #4] mov r1, r5 str r3, [r4, #0x334] ldr r2, [r2, #8] str r2, [r4, #0x338] str lr, [r4, #0x334] ldr r2, [sp, #0x1c] ldr ip, [r4, #0x338] ldr r3, [r4, #0x330] orr r2, r2, #1 ldr r0, [r0] str r3, [sp, #0xc] str lr, [sp, #0x10] str ip, [sp, #0x14] str r2, [sp, #0x1c] bl func_ov15_02141344 mov r0, #0 str r0, [r4, #0x138] ldr r1, _021826a4 ; =0x00000aab add r0, r4, #0x300 strh r1, [r0, #0x9a] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02182644: bl func_ov15_02182810 cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0218269c ; =data_027e10a4 mov r1, #1 ldr r0, [r0] bl func_ov15_021413d4 ldr r0, _021826a8 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _0218268c ldr r0, _021826a8 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv _0218268c: mov r0, #0 strb r0, [r4, #0x118] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02182590 _0218269c: .word data_027e10a4 _021826a0: .word data_027e0f94 _021826a4: .word 0x00000aab _021826a8: .word gAdventureFlags .global func_ov15_021826ac arm_func_start func_ov15_021826ac func_ov15_021826ac: ; 0x021826ac stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x3c ldr r0, _021827f4 ; =data_027e0f94 add r3, sp, #0x30 mov r5, r1 mov r4, r2 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r6, #0 str r6, [r4, #0x1c] str r6, [r4, #0x20] str r6, [r4, #0x24] mov r1, #0x8000 ldr r0, _021827f8 ; =0x00001770 str r1, [r4, #0x14] str r0, [r4, #0xc] ldr r0, _021827fc ; =data_027e0fac ldr r3, _02182800 ; =0x000008a4 ldrsh r1, [r0] mov r2, #0x214 add r0, sp, #0x24 str r6, [sp, #0x24] str r3, [sp, #0x28] str r2, [sp, #0x2c] bl func_ov00_020a61ac mov r3, r6 ldr r2, _02182804 ; =0xfffffae1 add r0, sp, #0x18 str r2, [sp, #0x20] add r1, sp, #0x24 mov r2, r5 str r3, [sp, #0x18] str r3, [sp, #0x1c] bl func_01ff9bc4 add r1, sp, #0x30 mov r0, r5 mov r2, r5 bl func_01ff9bc4 ldr r3, _02182808 ; =data_027e0e60 add r7, sp, #0xc ldmia r5, {r0, r1, r2} stmia r7, {r0, r1, r2} ldr r6, [sp, #0x30] ldr lr, [sp, #0x34] ldr ip, [sp, #0x38] ldr r0, [r3] add r1, sp, #0 mov r2, #0 str r6, [sp] str lr, [sp, #4] str ip, [sp, #8] bl func_ov00_02083ee0 add r0, r0, #0xa4 add r3, r0, #0x800 ldr r0, [r5, #4] cmp r0, r3 bge _021827a8 mov r1, #0 ldr r0, _0218280c ; =0x00001333 str r1, [r4, #0x10] add sp, sp, #0x3c str r0, [r4, #0x18] ldmia sp!, {r4, r5, r6, r7, pc} _021827a8: ldr r1, [sp, #0x14] mov r0, r7 add r1, r1, #0x33 add r2, r1, #0x1300 mov r1, r5 str r3, [sp, #0x10] str r2, [sp, #0x14] bl func_01ff9ec0 str r0, [r4, #0x18] ldr r2, [sp, #0x10] ldr r0, [r5, #4] ldr r1, _0218280c ; =0x00001333 sub r0, r2, r0 bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x10] add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021826ac _021827f4: .word data_027e0f94 _021827f8: .word 0x00001770 _021827fc: .word data_027e0fac _02182800: .word 0x000008a4 _02182804: .word 0xfffffae1 _02182808: .word data_027e0e60 _0218280c: .word 0x00001333 .global func_ov15_02182810 arm_func_start func_ov15_02182810 func_ov15_02182810: ; 0x02182810 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xb4 mov r4, r0 add r5, sp, #0x38 add r1, sp, #0x48 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r5, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 ldr r1, [r4, #0x388] ldr r0, _021829e0 ; =0x00000133 add r1, r1, #0x52 str r1, [r4, #0x388] cmp r1, r0 strge r0, [r4, #0x388] ldr r2, [r4, #0x334] ldr r1, [r4, #0x388] add r0, r4, #0x300 sub r1, r2, r1 str r1, [r4, #0x334] ldrsh ip, [r0, #0x98] ldrsh r3, [r0, #0x9a] ldr r2, _021829e4 ; =data_027e0e60 add r1, sp, #0x20 add r3, ip, r3 strh r3, [r0, #0x98] ldr r3, [r4, #0x330] ldr r0, [r2] str r3, [sp, #0x20] ldr r3, [r4, #0x334] mov r2, #0 str r3, [sp, #0x24] ldr r3, [r4, #0x338] str r3, [sp, #0x28] bl func_ov00_02083ee0 ldr r1, [r4, #0x334] cmp r1, r0 blt _021828c0 ldr r1, [r4, #0x138] cmp r1, #1 ble _02182914 _021828c0: str r0, [r4, #0x334] ldr r0, [r4, #0x138] sub r0, r0, #1 rsb r0, r0, #0x1e mov r1, r0, lsl #0xc cmp r1, #0x1000 add r0, r4, #0x300 movle r1, #0 strleh r1, [r0, #0x9a] ble _0218291c ldrsh r0, [r0, #0x9a] rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl Divide add r1, r4, #0x300 ldrsh r2, [r1, #0x9a] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x9a] b _0218291c _02182914: mov r0, #0 str r0, [r4, #0x138] _0218291c: ldr r0, [sp, #0x48] ldr lr, [r4, #0x334] orr r2, r0, #1 ldr ip, [r4, #0x338] ldr r3, [r4, #0x330] ldr r1, _021829e8 ; =data_027e10a4 str r2, [sp, #0x48] add r0, r4, #0x300 str lr, [sp, #0x3c] str ip, [sp, #0x40] str r3, [sp, #0x38] ldrsh r3, [r0, #0x98] ldr r0, [r1] orr r2, r2, #2 add r1, sp, #0x38 strh r3, [sp, #0x44] str r2, [sp, #0x48] bl func_ov15_0214138c ldr r0, _021829ec ; =data_027e0f64 add r1, sp, #0x4c ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 add r1, sp, #0x2c add r2, sp, #0x4c mov r0, r4 bl func_ov15_021826ac ldr r1, [sp, #0x2c] ldr r0, [sp, #0x30] str r1, [sp, #8] ldr r1, [sp, #0x34] str r0, [sp, #0xc] str r1, [sp, #0x10] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021829ec ; =data_027e0f64 add r1, sp, #8 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #4] add r3, sp, #0x4c bl func_ov00_02089318 ldr r0, [r4, #0x138] cmp r0, #0x1f movgt r0, #1 movle r0, #0 add sp, sp, #0xb4 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02182810 _021829e0: .word 0x00000133 _021829e4: .word data_027e0e60 _021829e8: .word data_027e10a4 _021829ec: .word data_027e0f64 .global func_ov15_021829f0 arm_func_start func_ov15_021829f0 func_ov15_021829f0: ; 0x021829f0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r2, _02182a4c ; =0x00007fff mov r4, r0 str r2, [sp] add r0, r4, #0x60 str r0, [sp, #4] add r0, r4, #0x78 str r0, [sp, #8] mov r2, r1 ldrsh r3, [r4, #0x78] add r0, r4, #0x354 add r1, r4, #0x48 bl func_ov00_020c6838 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 add r0, r4, #0x354 add r1, r4, #0x48 bl func_ov00_020c6f08 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov15_021829f0 _02182a4c: .word 0x00007fff .global func_ov15_02182a50 arm_func_start func_ov15_02182a50 func_ov15_02182a50: ; 0x02182a50 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x37c] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _02182a9c ; =data_027e0f94 add r2, r4, #0x48 mov r1, #0x6000 bl func_ov00_020ce284 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #2 bl func_ov15_021803ac ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02182a50 _02182a9c: .word data_027e0f94 .global func_ov15_02182aa0 arm_func_start func_ov15_02182aa0 func_ov15_02182aa0: ; 0x02182aa0 stmdb sp!, {r4, lr} ldrh r1, [r0, #0x22] mov r4, #0 cmp r1, #5 addls pc, pc, r1, lsl #2 b _02182b20 _02182ab8: ; jump table b _02182ad0 ; case 0 b _02182ad4 ; case 1 b _02182ae8 ; case 2 b _02182afc ; case 3 b _02182ad0 ; case 4 b _02182ad0 ; case 5 _02182ad0: b _02182b20 _02182ad4: ldr r1, _02182b40 ; =data_027e0dbc ldr r1, [r1, #0x10] cmp r1, #0xc movhs r4, #1 b _02182b20 _02182ae8: ldr r1, _02182b40 ; =data_027e0dbc ldr r1, [r1, #0x10] cmp r1, #0xc movlo r4, #1 b _02182b20 _02182afc: ldr r2, [r0, #0x394] ldr r1, _02182b44 ; =0x00004650 add r2, r2, #1 str r2, [r0, #0x394] cmp r2, r1 strhs r4, [r0, #0x394] bhs _02182b20 cmp r2, r1, lsr #1 movhs r4, #1 _02182b20: cmp r4, #0 ldrne r1, [r0, #0x130] cmpne r1, #3 beq _02182b38 mov r1, #3 bl func_ov15_021803ac _02182b38: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02182aa0 _02182b40: .word data_027e0dbc _02182b44: .word 0x00004650 .global func_ov15_02182b48 arm_func_start func_ov15_02182b48 func_ov15_02182b48: ; 0x02182b48 stmdb sp!, {r3, lr} ldrh r1, [r0, #0x22] cmp r1, #4 bne _02182b6c mov r2, #0 mov r1, #7 str r2, [r0, #0x37c] bl func_ov15_021803ac ldmia sp!, {r3, pc} _02182b6c: ldrsb r1, [r0, #0x2c] cmp r1, #0 bge _02182b84 mov r1, #0 bl func_ov15_021803ac ldmia sp!, {r3, pc} _02182b84: mov r1, #1 bl func_ov15_021803ac ldmia sp!, {r3, pc} arm_func_end func_ov15_02182b48 .global func_ov15_02182b90 arm_func_start func_ov15_02182b90 func_ov15_02182b90: ; 0x02182b90 stmdb sp!, {r3} sub sp, sp, #0x14 ldr ip, [r0, #0x4c] ldr r3, [r0, #0x50] ldr r2, [r0, #0x48] mov r1, #0x8000 str r2, [r0, #0x460] str ip, [r0, #0x464] str r3, [r0, #0x468] str r1, [r0, #0x46c] mov r1, #0x14000 str r1, [r0, #0x470] add sp, sp, #0x14 ldmia sp!, {r3} bx lr arm_func_end func_ov15_02182b90 .global func_ov15_02182bcc arm_func_start func_ov15_02182bcc func_ov15_02182bcc: ; 0x02182bcc stmdb sp!, {r4, lr} mov r1, #7 mov r4, r0 bl func_ov15_021803ac mov r1, #4 ldr r0, _02182c04 ; =data_027e0f64 strb r1, [r4, #0x39e] ldr r0, [r0] add r1, r4, #0x2bc ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, #1 strb r0, [r4, #0x3a0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02182bcc _02182c04: .word data_027e0f64 .global func_ov15_02182c08 arm_func_start func_ov15_02182c08 func_ov15_02182c08: ; 0x02182c08 stmdb sp!, {r3, lr} mov r1, r0 ldrb r0, [r1, #0xa4] cmp r0, #0 ldreqb r0, [r1, #0xa5] cmpeq r0, #0 beq _02182c40 ldr r0, _02182c48 ; =data_027e0f94 add r2, r1, #0x48 mov r1, #0xf000 bl func_ov00_020ce284 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _02182c40: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02182c08 _02182c48: .word data_027e0f94 .global func_ov15_02182c4c arm_func_start func_ov15_02182c4c func_ov15_02182c4c: ; 0x02182c4c stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] cmpeq r0, #0 beq _02182d28 mov r0, #0x5000 ldr r1, [r4, #0x384] rsb r0, r0, #0 cmp r1, r0 ble _02182d28 ldr r1, [r4, #0x37c] ldr r0, _02182db4 ; =0x00000333 cmp r1, r0 blt _02182d28 ldr r0, _02182db8 ; =data_027e0e58 add r1, r4, #4 ldr r0, [r0] add r1, r1, #0x400 add r2, r4, #0x48 bl func_ov00_0207c474 ldr r0, _02182db8 ; =data_027e0e58 add r1, r4, #0x410 ldr r0, [r0] add r2, r4, #0x48 bl func_ov00_0207c474 ldr r0, _02182db8 ; =data_027e0e58 add r1, r4, #0x1c ldr r0, [r0] add r1, r1, #0x400 add r2, r4, #0x48 bl func_ov00_0207c474 ldr r0, _02182db8 ; =data_027e0e58 add r1, r4, #0x28 ldr r0, [r0] add r1, r1, #0x400 add r2, r4, #0x48 bl func_ov00_0207c474 ldr r0, _02182db8 ; =data_027e0e58 add r1, r4, #0x34 ldr r0, [r0] add r1, r1, #0x400 add r2, r4, #0x48 bl func_ov00_0207c474 add r0, sp, #4 add r1, r4, #0x178 bl func_ov15_0217f924 ldr r0, _02182db8 ; =data_027e0e58 add r1, r4, #0x440 ldr r0, [r0] add r2, sp, #4 bl func_ov00_0207c474 b _02182d68 _02182d28: add r0, r4, #4 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x410 bl func_ov00_020b7e6c add r0, r4, #0x1c add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x28 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x34 add r0, r0, #0x400 bl func_ov00_020b7e6c add r0, r4, #0x440 bl func_ov00_020b7e6c _02182d68: ldrb r0, [r4, #0x39f] cmp r0, #0 subne r0, r0, #1 addne sp, sp, #0x10 strneb r0, [r4, #0x39f] ldmneia sp!, {r4, pc} ldr r0, [r4, #0x37c] cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02182dbc ; =data_027e0ffc ldr r1, _02182dc0 ; =0x0000025e add r2, r4, #0x48 bl func_ov00_020cec60 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02182c4c _02182db4: .word 0x00000333 _02182db8: .word data_027e0e58 _02182dbc: .word data_027e0ffc _02182dc0: .word 0x0000025e .global func_ov15_02182dc4 arm_func_start func_ov15_02182dc4 func_ov15_02182dc4: ; 0x02182dc4 ldr r1, [r0, #0x374] cmp r1, #0 moveq r0, #0 bxeq lr ldrb r1, [r1, #0x570] cmp r1, #0 beq _02182df8 cmp r1, #1 beq _02182e00 cmp r1, #2 moveq r1, #0 streq r1, [r0, #0x374] b _02182e00 _02182df8: mov r0, #0 bx lr _02182e00: mov r0, #1 bx lr arm_func_end func_ov15_02182dc4 .global func_ov15_02182e08 arm_func_start func_ov15_02182e08 func_ov15_02182e08: ; 0x02182e08 ldr r1, [r0, #0x37c] cmp r1, #0x1000 bge _02182e38 add r1, r1, #0x52 str r1, [r0, #0x37c] cmp r1, #0x1000 movlt r0, #0 bxlt lr mov r1, #0x1000 str r1, [r0, #0x37c] mov r0, #1 bx lr _02182e38: mov r0, #1 bx lr arm_func_end func_ov15_02182e08 .global func_ov15_02182e40 arm_func_start func_ov15_02182e40 func_ov15_02182e40: ; 0x02182e40 ldr r1, [r0, #0x37c] cmp r1, #0 ble _02182e70 sub r1, r1, #0x52 str r1, [r0, #0x37c] cmp r1, #0 movgt r0, #0 bxgt lr mov r1, #0 str r1, [r0, #0x37c] mov r0, #1 bx lr _02182e70: mov r0, #1 bx lr arm_func_end func_ov15_02182e40 .global func_ov15_02182e78 arm_func_start func_ov15_02182e78 func_ov15_02182e78: ; 0x02182e78 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl func_ov15_02182e40 cmp r0, #0 beq _02182eb8 cmp r5, #0 beq _02182eb0 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x18] ldr r0, [r4, #0x14] str r0, [r4, #0x48] str r1, [r4, #0x4c] str r2, [r4, #0x50] _02182eb0: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02182eb8: ldr r0, [r4, #0x37c] cmp r0, #0 beq _02182ee4 ldrh r0, [r4, #0x22] cmp r0, #4 blo _02182edc ldrh r0, [r4, #0x24] cmp r0, #0 beq _02182ee4 _02182edc: mov r0, #0x67 strh r0, [r4, #0x7a] _02182ee4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov15_02182e78 .global func_ov15_02182eec arm_func_start func_ov15_02182eec func_ov15_02182eec: ; 0x02182eec stmdb sp!, {r3, lr} mov ip, r0 cmp r1, #0 ldrneb r0, [ip, #0xa5] ldreqb r0, [ip, #0xa4] cmp r0, #0 ldrne r0, [ip, #0x37c] cmpne r0, #0 ldmeqia sp!, {r3, pc} mov r0, #0x9000 ldr r2, [ip, #0x384] rsb r0, r0, #0 cmp r2, r0 ldmltia sp!, {r3, pc} ldr r0, _02182f3c ; =data_ov00_020e9c88 ldr r3, _02182f40 ; =func_ov15_02182f44 add r2, ip, #0x48 str ip, [sp] bl func_ov00_0207b89c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02182eec _02182f3c: .word data_ov00_020e9c88 _02182f40: .word func_ov15_02182f44 .global func_ov15_02182f44 arm_func_start func_ov15_02182f44 func_ov15_02182f44: ; 0x02182f44 ldr ip, _02182f4c ; =func_ov15_02182f50 bx ip .align 2, 0 arm_func_end func_ov15_02182f44 _02182f4c: .word func_ov15_02182f50 .global func_ov15_02182f50 arm_func_start func_ov15_02182f50 func_ov15_02182f50: ; 0x02182f50 stmdb sp!, {r3, lr} sub sp, sp, #0x18 ldr ip, [r0, #0x50] ldr r3, [r0, #0x384] ldr r2, [r0, #0x48] add r1, sp, #0 str r2, [sp, #0xc] str r3, [sp, #0x10] str ip, [sp, #0x14] ldr ip, [r0, #0x37c] ldr r2, _02182f9c ; =data_027e0194 add r3, sp, #0xc add r0, r0, #0x158 str ip, [sp] str ip, [sp, #4] str ip, [sp, #8] bl func_ov00_020c5f80 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02182f50 _02182f9c: .word data_027e0194 .global func_ov15_02182fa0 arm_func_start func_ov15_02182fa0 func_ov15_02182fa0: ; 0x02182fa0 mov r0, #0 bx lr arm_func_end func_ov15_02182fa0 .global func_ov15_02182fa8 arm_func_start func_ov15_02182fa8 func_ov15_02182fa8: ; 0x02182fa8 cmp r1, #0 ldreqh r1, [r0, #0x22] cmpeq r1, #8 moveq r1, #0 streqb r1, [r0, #0x118] bx lr arm_func_end func_ov15_02182fa8 .global func_ov15_02182fc0 arm_func_start func_ov15_02182fc0 func_ov15_02182fc0: ; 0x02182fc0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0xb0 mov r6, r0 ldr r0, [r6, #0x138] cmp r0, #0x5a movgt r5, #0x1000 movgt r4, #1 bgt _02182ff0 mov r1, #0x5a bl Divide mov r5, r0 mov r4, #0 _02182ff0: ldr r0, _02183240 ; =data_027e0f64 add r1, sp, #0x48 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r8, _02183244 ; =data_027e0f94 add r3, sp, #0x3c ldmia r8, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, [sp, #0x58] add r7, sp, #0x30 ldmia r8, {r0, r1, r2} stmia r7, {r0, r1, r2} mov r0, r3, lsl #0x10 mov r7, r0, lsr #0x10 ldr r2, [sp, #0x30] ldr r0, [sp, #0x6c] ldr r1, [sp, #0x34] add r0, r2, r0 str r0, [sp, #0x30] ldr r0, [sp, #0x68] ldr r2, [sp, #0x38] add r0, r1, r0 ldr r1, [sp, #0x64] str r0, [sp, #0x34] add r1, r2, r1 add r0, r6, #0x324 str r1, [sp, #0x38] add r3, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] str r0, [sp, #0x1c] ldr r0, _02183248 ; =data_027e0e60 str r1, [sp, #0x18] ldr r1, [sp, #0x2c] ldr r0, [r0] str r1, [sp, #0x20] add r1, sp, #0x18 mov r2, #0 bl func_ov00_02083ee0 add r0, r0, #0x9a add r1, r0, #0x900 ldr r0, [sp, #0x28] cmp r0, r1 bge _021830c0 add r0, sp, #0x28 mov r2, #0xcd bl Approach_thunk ldr r0, [sp, #0x28] str r0, [r6, #0x328] _021830c0: add r0, sp, #0x30 add r1, r6, #0x324 bl func_01ff9ec0 mov r1, r7, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 ldr r2, [sp, #0x5c] ldr ip, _0218324c ; =data_02050f54 mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [ip, r3] add r2, r2, #0x8000 mov r2, r2, lsl #0x10 smull r8, r3, r7, r0 adds r7, r8, #0x800 ldrsh r1, [ip, r1] mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r8, r2, lsl #0x1 add r2, r2, #1 adc lr, r3, #0 smull r9, r0, r1, r0 adds r1, r9, #0x800 mov r7, r7, lsr #0xc mov r2, r2, lsl #0x1 ldrsh r3, [ip, r8] ldrsh ip, [ip, r2] adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 smull r8, r0, r3, r1 adds r3, r8, #0x800 ldr r2, [sp, #0x34] orr r7, r7, lr, lsl #20 add r2, r2, r7 smull lr, r7, ip, r1 adc r8, r0, #0 adds ip, lr, #0x800 mov lr, r3, lsr #0xc adc r0, r7, #0 mov r3, ip, lsr #0xc ldr r7, [sp, #0x30] orr lr, lr, r8, lsl #20 str r2, [sp, #0x28] add r2, r7, lr str r2, [r6, #0x324] ldr r2, [sp, #0x38] orr r3, r3, r0, lsl #20 add r0, r2, r3 str r0, [r6, #0x32c] cmp r4, #0 ldreq r0, [sp, #0x58] streq r0, [r6, #0x2cc] beq _021831d4 ldr r2, [r6, #0x2cc] ldr r0, [sp, #0x34] strh r2, [sp, #8] ldr r2, [r6, #0x328] sub r0, r2, r0 bl func_01ffa0f4 mov r1, r0, lsl #0x10 add r0, sp, #8 mov r1, r1, asr #0x10 mov r2, #0x96 bl func_0202b154 ldrsh r0, [sp, #8] str r0, [r6, #0x2cc] str r0, [sp, #0x58] _021831d4: ldr r4, [r6, #0x2d4] ldr r2, [sp, #0x3c] rsb r0, r4, #0x3000 smull r3, r1, r0, r5 adds r3, r3, #0x800 adc r0, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 ldr r1, [sp, #0x40] ldr r0, [sp, #0x44] add r3, r4, r3 str r3, [sp, #0x60] str r2, [sp, #0xc] str r1, [sp, #0x10] str r0, [sp, #0x14] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02183240 ; =data_027e0f64 add r1, sp, #0xc ldr r0, [r0] add r3, sp, #0x48 ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 add sp, sp, #0xb0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02182fc0 _02183240: .word data_027e0f64 _02183244: .word data_027e0f94 _02183248: .word data_027e0e60 _0218324c: .word data_02050f54 .global func_ov15_02183250 arm_func_start func_ov15_02183250 func_ov15_02183250: ; 0x02183250 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x30 mov r4, r0 add r0, r4, #0x300 ldrh r1, [r0, #0x9c] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x9c] addne sp, sp, #0x30 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} 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 r2, #0 mov r1, #4 mov r0, #0x64 strh r1, [sp, #8] strh r2, [sp, #4] strh r2, [sp, #6] strh r0, [sp, #0xa] ldr r0, [r4, #8] add r1, r4, #0x36c str r0, [sp, #0x20] ldr r2, [r4, #0xc] ldr r0, _02183344 ; =data_027e0fe8 str r2, [sp, #0x24] str r1, [sp] ldr r0, [r0] ldr r1, _02183348 ; =0x47464953 add r3, sp, #4 add r2, r4, #0x48 bl func_ov00_020c4048 ldr r3, _0218334c ; =data_027e0764 mov r1, #0 ldr r6, [r3, #8] ldr lr, [r3] add r2, r4, #0x300 ldr ip, [r3, #4] umull r8, r7, r6, lr mla r7, r6, ip, r7 ldr r5, [r3, #0xc] ldr r10, [r3, #0x10] mla r7, r5, lr, r7 ldr r9, [r3, #0x14] adds r6, r10, r8 mov r0, #0xb adc r5, r9, r7 str r6, [r3] str r5, [r3, #4] umull r3, ip, r5, r0 mla ip, r5, r1, ip mov r4, r1 mla ip, r4, r0, ip add r0, ip, #0x1e strh r0, [r2, #0x9c] add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_02183250 _02183344: .word data_027e0fe8 _02183348: .word 0x47464953 _0218334c: .word data_027e0764 .global func_ov15_02183350 arm_func_start func_ov15_02183350 func_ov15_02183350: ; 0x02183350 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x118 mov r4, r0 cmp r1, #1 bne _0218355c ldrb r0, [r4, #0x39e] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0218355c _02183374: ; jump table b _02183550 ; case 0 b _02183550 ; case 1 b _02183384 ; case 2 b _02183550 ; case 3 _02183384: ldr r0, _02183568 ; =gAdventureFlags ldr r1, [r4, #0x38c] ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r1, #0 add r0, sp, #0x68 str r1, [r4, #0x38c] bl func_ov00_0209a4f4 mov r1, #3 mvn r3, #0 mov r2, #0x32 strb r2, [sp, #0x71] ldr r0, _0218356c ; =data_027e0f64 str r3, [sp, #0x6c] strb r1, [sp, #0x72] strb r1, [sp, #0x73] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0x88] ldr r1, [r4, #0x4c] mov r2, #1 str r1, [sp, #0x8c] ldr r3, [r4, #0x50] add r1, sp, #0 str r3, [sp, #0x90] strb r2, [sp, #0x7c] ldr r0, [r0, #4] bl func_ov00_02087d34 ldr r2, _02183570 ; =0x00001770 ldr r1, _02183574 ; =0x000009c4 mov r0, r4 str r2, [sp, #0xc] str r1, [sp, #0x10] bl _ZN5Actor14GetAngleToLinkEv mov r2, #0x3000 mov r1, #0x1000 ldr r5, [sp] ldr r6, [sp, #4] str r5, [sp, #0x94] ldr r5, [sp, #8] str r6, [sp, #0x98] ldr r6, [sp, #0xc] str r5, [sp, #0x9c] ldr r5, [sp, #0x10] str r6, [sp, #0xa0] ldr r6, [sp, #0x1c] str r5, [sp, #0xa4] ldr r5, [sp, #0x24] str r6, [sp, #0xb0] ldr r6, [sp, #0x28] str r5, [sp, #0xb8] ldr r5, [sp, #0x2c] str r6, [sp, #0xbc] ldr r6, [sp, #0x30] str r5, [sp, #0xc0] ldr r5, [sp, #0x34] str r6, [sp, #0xc4] ldr r6, [sp, #0x38] str r5, [sp, #0xc8] ldr r5, [sp, #0x3c] str r6, [sp, #0xcc] ldr r6, [sp, #0x40] str r5, [sp, #0xd0] ldr r5, [sp, #0x44] str r6, [sp, #0xd4] ldr r6, [sp, #0x48] str r5, [sp, #0xd8] ldr r5, [sp, #0x4c] str r6, [sp, #0xdc] ldr r6, [sp, #0x50] str r5, [sp, #0xe0] ldr r5, [sp, #0x54] ldrb lr, [sp, #0x60] ldrb ip, [sp, #0x61] ldrb r3, [sp, #0x62] str r6, [sp, #0xe4] ldr r6, [sp, #0x58] str r5, [sp, #0xe8] ldr r5, [sp, #0x5c] str r6, [sp, #0xec] str r0, [sp, #0x14] str r2, [sp, #0x18] str r1, [sp, #0x20] str r0, [sp, #0xa8] str r2, [sp, #0xac] str r1, [sp, #0xb4] str r5, [sp, #0xf0] strb lr, [sp, #0xf4] strb ip, [sp, #0xf5] strb r3, [sp, #0xf6] ldr r0, _02183568 ; =gAdventureFlags ldrb ip, [sp, #0x63] ldrb r3, [sp, #0x64] mov r2, #0x5c ldr r0, [r0] add r1, sp, #0x68 strb ip, [sp, #0xf7] strb r3, [sp, #0xf8] str r2, [sp, #0xfc] bl _ZN14AdventureFlags18func_Ov00_02097810Ei mvn r1, #0 str r0, [r4, #0x38c] cmp r0, r1 add r0, sp, #0x68 bne _02183538 bl func_ov00_0209a508 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02183538: mov r1, #3 strb r1, [r4, #0x39e] bl func_ov00_0209a508 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02183550: add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0218355c: mov r0, #1 add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02183350 _02183568: .word gAdventureFlags _0218356c: .word data_027e0f64 _02183570: .word 0x00001770 _02183574: .word 0x000009c4 .global func_ov15_02183578 arm_func_start func_ov15_02183578 func_ov15_02183578: ; 0x02183578 stmdb sp!, {r4, lr} sub sp, sp, #0x38 mov r4, r0 add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 mvn r2, #0 mov r0, #8 strh r0, [sp, #0xe] add r1, sp, #4 str r2, [sp, #4] str r2, [sp, #8] str r1, [sp] ldr r0, _0218364c ; =data_027e0fe8 ldr r1, _02183650 ; =0x4852434e ldr r0, [r0] ldr r2, _02183654 ; =data_027e0f94 add r3, sp, #0xc bl func_ov00_020c4048 ldr r0, _02183658 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r2, [r4] add r1, r0, #0x300 str r2, [r0, #0x33c] ldr r2, [r4, #4] str r2, [r0, #0x340] ldr r2, [r4, #8] str r2, [r0, #0x344] ldr r2, [r4, #0xc] str r2, [r0, #0x348] ldrsh r2, [r4, #0x10] strh r2, [r1, #0x4c] ldrb r1, [r4, #0x12] strb r1, [r0, #0x34e] ldrb r1, [r4, #0x13] strb r1, [r0, #0x34f] ldrb r1, [r4, #0x14] strb r1, [r0, #0x350] ldrb r1, [r4, #0x15] strb r1, [r0, #0x351] mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02183578 _0218364c: .word data_027e0fe8 _02183650: .word 0x4852434e _02183654: .word data_027e0f94 _02183658: .word data_027e0fe4 .global func_ov15_0218365c arm_func_start func_ov15_0218365c func_ov15_0218365c: ; 0x0218365c stmdb sp!, {r3, lr} sub sp, sp, #0x38 add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 mvn r2, #0 mov r0, #9 strh r0, [sp, #0xe] add r1, sp, #4 str r2, [sp, #4] str r2, [sp, #8] str r1, [sp] ldr r0, _021836d8 ; =data_027e0fe8 ldr r1, _021836dc ; =0x4852434e ldr r0, [r0] ldr r2, _021836e0 ; =data_027e0f94 add r3, sp, #0xc bl func_ov00_020c4048 ldr r0, _021836e4 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x38 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218365c _021836d8: .word data_027e0fe8 _021836dc: .word 0x4852434e _021836e0: .word data_027e0f94 _021836e4: .word data_027e0fe4 .global func_ov15_021836e8 arm_func_start func_ov15_021836e8 func_ov15_021836e8: ; 0x021836e8 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_021836e8 .global func_ov15_02183704 arm_func_start func_ov15_02183704 func_ov15_02183704: ; 0x02183704 stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r4, r0 bl func_ov00_020d0460 mov r0, #0 str r0, [r4, #8] mov r0, #0x32000 str r0, [r4, #0xc] mov r1, #3 ldr r0, _021837d0 ; =data_027e0ce0 strb r1, [r4, #0x10] ldr r1, [r0, #4] ldr r0, _021837d4 ; =0x000017b8 mov r2, #4 bl _ZN9SysObjectnwEmPjj cmp r0, #0 beq _02183750 mov r1, r4 bl func_ov15_0217e4f0 _02183750: ldr ip, _021837d8 ; =func_ov15_021208e0 str r0, [r4, #0x14] ldr r3, _021837dc ; =func_ov15_021208e4 add r0, r4, #0x18 mov r1, #2 mov r2, #0x18 str ip, [sp] bl func_0204f614 mov r2, #0 strb r2, [r4, #0x48] mov r0, #0x43 str r0, [sp] mov r0, #1 stmib sp, {r0, r2} mov r3, r2 add r0, r4, #0x18 mov r1, #0x3f str r2, [sp, #0xc] bl func_ov00_020cfed0 mov r2, #1 mov r0, #0x44 stmia sp, {r0, r2} mov r1, #0 str r1, [sp, #8] str r1, [sp, #0xc] mov r3, r2 add r0, r4, #0x30 mov r1, #0x3f bl func_ov00_020cfed0 mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02183704 _021837d0: .word data_027e0ce0 _021837d4: .word 0x000017b8 _021837d8: .word func_ov15_021208e0 _021837dc: .word func_ov15_021208e4 .global func_ov15_021837e0 arm_func_start func_ov15_021837e0 func_ov15_021837e0: ; 0x021837e0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0x14] cmp r4, #0 beq _02183804 mov r0, r4 bl func_ov15_0217e620 mov r0, r4 bl _ZN9SysObjectdlEPv _02183804: ldr r3, _02183820 ; =func_ov15_021208e0 add r0, r5, #0x18 mov r1, #2 mov r2, #0x18 bl func_0204f754 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021837e0 _02183820: .word func_ov15_021208e0 .global func_ov15_02183824 arm_func_start func_ov15_02183824 func_ov15_02183824: ; 0x02183824 stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 mov r2, #1 beq _02183860 ldr r0, _02183890 ; =data_027e0cbc mov r1, #0x28 bl func_ov03_020fa874 ldr r0, _02183894 ; =data_027e103c mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020cf9dc ldrsh r0, [r5, #4] b _02183884 _02183860: ldr r0, _02183890 ; =data_027e0cbc mov r1, #4 bl func_ov03_020fa874 ldr r0, _02183894 ; =data_027e103c mov r1, #0 ldr r0, [r0] mov r2, r1 bl func_ov00_020cf9dc ldrsh r0, [r5, #2] _02183884: strh r0, [r5] strb r4, [r5, #0x48] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02183824 _02183890: .word data_027e0cbc _02183894: .word data_027e103c .global func_ov15_02183898 arm_func_start func_ov15_02183898 func_ov15_02183898: ; 0x02183898 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x14] bl func_ov15_0217f3b0 mov r0, r4 mov r1, #1 bl func_ov15_02183824 ldmia sp!, {r4, pc} arm_func_end func_ov15_02183898 .global func_ov15_021838b8 arm_func_start func_ov15_021838b8 func_ov15_021838b8: ; 0x021838b8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} mov r10, r0 ldrb r0, [r10, #0x48] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [r10, #0x14] ldrb r0, [r0, #5] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrsh r1, [r10] ldrsh r0, [r10, #2] cmp r1, r0 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _02183990 ; =data_027e077c ldr r0, [r0] cmp r0, #0x3b movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r9, #0 mov r6, r9 mov r8, r10 add r7, r10, #0x18 mov r11, r9 mov r4, #1 mov r5, r9 _02183928: mov r0, r7 ldr ip, [r0] mov r1, r5 ldr ip, [ip] mov r2, r5 mov r3, r5 blx ip tst r0, #8 beq _02183974 cmp r9, #0 bne _02183968 ldrh r1, [r8, #0x22] mov r0, r10 bl func_ov15_02183b00 cmp r0, #0 beq _02183970 _02183968: mov r9, r4 b _02183974 _02183970: mov r9, r11 _02183974: add r6, r6, #1 cmp r6, #2 add r7, r7, #0x18 add r8, r8, #0x18 blt _02183928 mov r0, r9 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_021838b8 _02183990: .word data_027e077c .global func_ov15_02183994 arm_func_start func_ov15_02183994 func_ov15_02183994: ; 0x02183994 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x14] bl func_ov15_0217e64c ldrb r0, [r4, #0x48] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _021839dc ; =data_027e077c ldr r0, [r0] cmp r0, #0x3b mov r0, r4 beq _021839d4 bl func_ov00_020d054c ldmia sp!, {r4, pc} _021839d4: bl func_ov00_020d0594 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02183994 _021839dc: .word data_027e077c .global func_ov15_021839e0 arm_func_start func_ov15_021839e0 func_ov15_021839e0: ; 0x021839e0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} ldr r1, _02183ae0 ; =data_027e0618 mov r5, r0 ldrb r0, [r1, #0x101] cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldr r0, [r5, #0x14] ldrb r0, [r0, #5] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldr r0, _02183ae4 ; =data_027e077c ldr r1, _02183ae8 ; =data_02056be4 ldr r0, [r0] ldrb r0, [r1, r0] tst r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldr r0, _02183aec ; =data_027e0cbc mov r1, #0x14 bl func_0203d7e0 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} ldrsh r0, [r5] ldrsh r2, [r5, #2] mov r4, #0 cmp r0, r2 moveq r3, r4 beq _02183a74 ldrsh r1, [r5, #4] cmp r0, r1 moveq r3, #0x1000 beq _02183a74 sub r0, r0, r2 sub r1, r1, r2 mov r0, r0, lsl #0xc mov r1, r1, lsl #0xc bl Divide mov r3, r0 _02183a74: ldrb r0, [r5, #0x10] ldr r1, [r5, #8] ldr r2, [r5, #0xc] bl func_ov00_020d02bc add r0, r0, #0x800 mov r9, r0, asr #0xc mov r6, #0 add r7, r5, #0x18 rsb r8, r9, #0 mov r5, r6 _02183a9c: cmp r6, #0 beq _02183ab0 cmp r6, #1 moveq r4, r9 b _02183ab4 _02183ab0: mov r4, r8 _02183ab4: mov r0, r7 mov r1, r4 mov r2, r5 mov r3, r5 str r5, [sp] bl func_ov00_020d00c4 add r6, r6, #1 cmp r6, #2 add r7, r7, #0x18 blt _02183a9c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_021839e0 _02183ae0: .word data_027e0618 _02183ae4: .word data_027e077c _02183ae8: .word data_02056be4 _02183aec: .word data_027e0cbc .global func_ov15_02183af0 arm_func_start func_ov15_02183af0 func_ov15_02183af0: ; 0x02183af0 ldr ip, _02183afc ; =func_ov15_0217ee2c ldr r0, [r0, #0x14] bx ip .align 2, 0 arm_func_end func_ov15_02183af0 _02183afc: .word func_ov15_0217ee2c .global func_ov15_02183b00 arm_func_start func_ov15_02183b00 func_ov15_02183b00: ; 0x02183b00 stmdb sp!, {r3, lr} cmp r1, #0x43 beq _02183b18 cmp r1, #0x44 beq _02183b30 b _02183b60 _02183b18: ldr r0, [r0, #0x14] bl func_ov15_0217f3cc ldr r0, _02183b68 ; =data_ov00_020eec9c mov r1, #0x11 bl func_ov00_020d77e4 b _02183b60 _02183b30: ldr r0, _02183b6c ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf750 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _02183b70 ; =data_027e1054 mov r1, #1 ldr r0, [r0] blx func_ov03_020f4718 mov r0, #0 ldmia sp!, {r3, pc} _02183b60: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02183b00 _02183b68: .word data_ov00_020eec9c _02183b6c: .word data_027e103c _02183b70: .word data_027e1054 .global func_ov15_02183b74 arm_func_start func_ov15_02183b74 func_ov15_02183b74: ; 0x02183b74 mov r2, #0 mov r1, #1 _02183b7c: add r2, r2, #1 strb r1, [r0, #0x25] cmp r2, #2 add r0, r0, #0x18 blt _02183b7c bx lr arm_func_end func_ov15_02183b74 .global func_ov15_02183b94 arm_func_start func_ov15_02183b94 func_ov15_02183b94: ; 0x02183b94 stmdb sp!, {r3, lr} ldr r1, _02183bc0 ; =data_027e0fe0 mov r0, #0x180 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl _ZN9SysObjectnwEmPjj cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov15_02183c44 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02183b94 _02183bc0: .word data_027e0fe0 .global func_ov15_02183bc4 arm_func_start func_ov15_02183bc4 func_ov15_02183bc4: ; 0x02183bc4 stmdb sp!, {r3, lr} sub sp, sp, #0x18 ldr r1, [r0, #0x178] cmp r1, #1 bne _02183c34 ldr r2, [r0, #0x48] ldr r1, _02183c40 ; =data_027e0f94 str r2, [sp, #0xc] ldr r2, [r0, #0x4c] ldr r3, [r1] str r2, [sp, #0x10] ldr ip, [r0, #0x50] ldr r2, [r1, #4] str ip, [sp, #0x14] str r2, [sp, #4] add r0, sp, #0xc str r3, [sp] ldr r3, [r1, #8] add r1, sp, #0 mov r2, r0 str r3, [sp, #8] bl func_01ff9bf8 add r0, sp, #0xc bl func_01ff9cec cmp r0, #0xc000 addlt sp, sp, #0x18 movlt r0, #1 ldmltia sp!, {r3, pc} _02183c34: mov r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02183bc4 _02183c40: .word data_027e0f94 .global func_ov15_02183c44 arm_func_start func_ov15_02183c44 func_ov15_02183c44: ; 0x02183c44 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5ActorC2Ev ldr r1, _02183c68 ; =data_ov15_0218ea78 add r0, r4, #0x158 str r1, [r4] bl func_ov00_020c66bc mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02183c44 _02183c68: .word data_ov15_0218ea78 .global func_ov15_02183c6c arm_func_start func_ov15_02183c6c func_ov15_02183c6c: ; 0x02183c6c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 bl func_ov00_020c66d0 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02183c6c .global func_ov15_02183c8c arm_func_start func_ov15_02183c8c func_ov15_02183c8c: ; 0x02183c8c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 bl func_ov00_020c66d0 mov r0, r4 bl _ZN5ActorD2Ev mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02183c8c .global func_ov15_02183cb4 arm_func_start func_ov15_02183cb4 func_ov15_02183cb4: ; 0x02183cb4 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _021840e0 ; =gItemManager mov r4, r0 ldr r0, [r1] mov r1, #0x28 bl _ZNK11ItemManager7HasItemEi cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrh r0, [r4, #0x22] and r0, r0, #3 str r0, [r4, #0x17c] ldrh r0, [r4, #0x20] str r0, [r4, #0x170] cmp r0, #0 movne r0, #1 strne r0, [r4, #0x170] ldr r0, _021840e4 ; =data_027e0ff0 ldrb r1, [r4, #0x2c] ldr r0, [r0] ldr r2, [r0] ldr r0, [r2, r1, lsl #3] add r1, r2, r1, lsl #3 ldrb r0, [r0, #1] cmp r0, #0 movle r6, #0 ble _02183d6c ldr r2, _021840e8 ; =data_027e0764 ldr r5, [r2] ldmib r2, {r3, r6} umull ip, r7, r6, r5 mla r7, r6, r3, r7 ldr r3, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r3, r5, r7 ldr r3, [r2, #0x14] adds r5, r6, ip adc r6, r3, r7 stmia r2, {r5, r6} cmp r0, #0 beq _02183d6c mov r5, #0 umull r3, r2, r6, r0 mla r2, r6, r5, r2 mla r2, r5, r0, r2 mov r6, r2 _02183d6c: ldr r1, [r1, #4] mov r0, #0x24 mla r2, r6, r0, r1 ldr r1, [r2, #4] ldr r0, _021840ec ; =data_027e0d38 str r1, [r4, #0x48] ldr r1, [r2, #8] mov r5, #0 str r1, [r4, #0x4c] ldr r1, [r2, #0xc] str r1, [r4, #0x50] ldr r0, [r0] ldr r0, [r0, #0x28] add r0, r0, #0x1c bl func_ov00_020a5e9c cmp r0, #0xa addls pc, pc, r0, lsl #2 b _02183de4 _02183db4: ; jump table b _02183de4 ; case 0 b _02183de4 ; case 1 b _02183de0 ; case 2 b _02183de0 ; case 3 b _02183de0 ; case 4 b _02183de0 ; case 5 b _02183de0 ; case 6 b _02183de0 ; case 7 b _02183de0 ; case 8 b _02183de0 ; case 9 b _02183de0 ; case 10 _02183de0: mov r5, #1 _02183de4: ldr r0, _021840f0 ; =data_027e1060 ldr r1, [r4, #0x17c] ldrh r2, [r0, #0x30] mov r0, #1 tst r2, r0, lsl r1 mov r1, #0 str r1, [r4, #0x174] ldr r0, [r4, #0x170] moveq r5, #0 cmp r0, #1 bne _02183fbc ldr r0, _021840f4 ; =gAdventureFlags mov r1, #0x15c ldr r0, [r0] bl _ZN14AdventureFlags3GetEj cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r5, #0 mov r2, #1 bne _02183f1c ldr ip, _021840f0 ; =data_027e1060 ldr r0, [r4, #0x17c] ldrh r1, [ip, #0x30] mvn r0, r2, lsl r0 and r0, r1, r0 strh r0, [ip, #0x30] ldr r0, [r4, #0x17c] ldrh r1, [ip, #0x32] mvn r0, r2, lsl r0 and r0, r1, r0 ldr r5, _021840e8 ; =data_027e0764 strh r0, [ip, #0x32] ldr r1, [r5] ldmib r5, {r0, r3} umull lr, r6, r3, r1 mla r6, r3, r0, r6 ldr r0, [r5, #0xc] ldr r7, [r5, #0x10] mla r6, r0, r1, r6 ldr r3, [r5, #0x14] adds lr, r7, lr adc r7, r3, r6 mov r3, #0x64 str lr, [r5] umull r1, r6, r7, r3 mov r0, #0 mla r6, r7, r0, r6 mov r1, r0 mla r6, r1, r3, r6 str r7, [r5, #4] cmp r6, #0x14 ble _02183ecc ldrh r3, [ip, #0x32] ldr r1, [r4, #0x17c] orr r1, r3, r2, lsl r1 strh r1, [ip, #0x32] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02183ecc: str r0, [r4, #0x178] ldr r3, [r5] ldmib r5, {r2, r6} umull lr, ip, r6, r3 mla ip, r6, r2, ip ldr r2, [r5, #0xc] ldr r6, [r5, #0x10] mla ip, r2, r3, ip ldr r3, [r5, #0x14] adds lr, r6, lr ldr r2, _021840f8 ; =0x000005dd adc ip, r3, ip umull r3, r6, ip, r2 mla r6, ip, r0, r6 mla r6, r1, r2, r6 str lr, [r5] str ip, [r5, #4] add r0, r6, #0x12c str r0, [r4, #0x174] b _021840bc _02183f1c: ldr r0, _021840f0 ; =data_027e1060 ldr r3, [r4, #0x17c] ldrh r1, [r0, #0x32] tst r1, r2, lsl r3 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrh r0, [r0, #0x30] tst r0, r2, lsl r3 beq _02183f5c ldr r1, _021840fc ; =data_027e1070 ldr r0, _02184100 ; =data_027e1080 ldr r1, [r1, r3, lsl #2] str r1, [r4, #0x48] ldr r1, [r4, #0x17c] ldr r0, [r0, r1, lsl #2] str r0, [r4, #0x50] _02183f5c: mov r0, #1 ldr r2, _021840e8 ; =data_027e0764 str r0, [r4, #0x178] ldr r1, [r2] ldmib r2, {r0, r3} umull r6, r5, r3, r1 mla r5, r3, r0, r5 ldr r0, [r2, #0xc] ldr r3, [r2, #0x10] mla r5, r0, r1, r5 ldr r1, [r2, #0x14] adds r3, r3, r6 adc r6, r1, r5 str r3, [r2] ldr r0, _02184104 ; =0x00000709 mov r1, #0 umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 add r0, r5, #0x328 str r6, [r2, #4] add r0, r0, #0x2000 str r0, [r4, #0x174] b _021840bc _02183fbc: cmp r5, #0 bne _02183ffc ldr r0, _021840f0 ; =data_027e1060 ldr r1, [r4, #0x17c] mov r3, #1 ldrh r2, [r0, #0x30] mvn r1, r3, lsl r1 and r1, r2, r1 strh r1, [r0, #0x30] ldr r1, [r4, #0x17c] ldrh r2, [r0, #0x32] mvn r1, r3, lsl r1 and r1, r2, r1 strh r1, [r0, #0x32] str r3, [r4, #0x178] b _021840bc _02183ffc: ldr r2, _021840f0 ; =data_027e1060 ldr r6, [r4, #0x17c] ldrh r3, [r2, #0x32] mov r0, #1 tst r3, r0, lsl r6 beq _0218408c ldrh r5, [r2, #0x30] mvn r3, r0, lsl r6 and r3, r5, r3 strh r3, [r2, #0x30] ldr r3, [r4, #0x17c] ldrh r5, [r2, #0x32] mvn r3, r0, lsl r3 and r3, r5, r3 strh r3, [r2, #0x32] ldr r2, _021840e8 ; =data_027e0764 str r1, [r4, #0x178] ldr r5, [r2] ldmib r2, {r3, ip} umull r6, lr, ip, r5 mla lr, ip, r3, lr ldr r3, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r3, r5, lr ldr r3, [r2, #0x14] adds ip, ip, r6 adc r6, r3, lr rsb r0, r0, #0x2f0 umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 str ip, [r2] str r6, [r2, #4] add r0, r5, #0x96 str r0, [r4, #0x174] b _021840bc _0218408c: ldrh r1, [r2, #0x30] tst r1, r0, lsl r6 beq _021840b4 ldr r1, _021840fc ; =data_027e1070 ldr r0, _02184100 ; =data_027e1080 ldr r1, [r1, r6, lsl #2] str r1, [r4, #0x48] ldr r1, [r4, #0x17c] ldr r0, [r0, r1, lsl #2] str r0, [r4, #0x50] _021840b4: mov r0, #1 str r0, [r4, #0x178] _021840bc: mov r0, r4 bl _ZN5Actor8vfunc_08Ev ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x158 add r1, r4, #0x48 bl func_ov00_020c66e4 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02183cb4 _021840e0: .word gItemManager _021840e4: .word data_027e0ff0 _021840e8: .word data_027e0764 _021840ec: .word data_027e0d38 _021840f0: .word data_027e1060 _021840f4: .word gAdventureFlags _021840f8: .word 0x000005dd _021840fc: .word data_027e1070 _02184100: .word data_027e1080 _02184104: .word 0x00000709 .global func_ov15_02184108 arm_func_start func_ov15_02184108 func_ov15_02184108: ; 0x02184108 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 bl _ZN5Actor18func_ov00_020c313cEj cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r0, [r4, #0x174] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x174] ldr r0, [r4, #0x178] cmp r0, #0 beq _02184150 cmp r0, #1 beq _021841c8 cmp r0, #2 b _02184218 _02184150: ldr r0, [r4, #0x174] cmp r0, #0 bne _02184218 mov r0, #1 str r0, [r4, #0x178] ldr r0, [r4, #0x170] cmp r0, #1 bne _02184218 ldr r2, _02184268 ; =data_027e0764 ldr r0, _0218426c ; =0x00000709 ldr r3, [r2] ldmib r2, {r1, ip} umull r5, lr, ip, r3 mla lr, ip, r1, lr ldr r1, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r1, r3, lr ldr r1, [r2, #0x14] adds r3, ip, r5 adc r5, r1, lr str r3, [r2] mov r1, #0 umull r3, ip, r5, r0 mla ip, r5, r1, ip mla ip, r1, r0, ip add r0, ip, #0x328 str r5, [r2, #4] add r0, r0, #0x2000 str r0, [r4, #0x174] b _02184218 _021841c8: ldr r0, [r4, #0x170] ldr r1, _02184270 ; =data_027e1080 cmp r0, #1 ldreq r0, [r4, #0x174] cmpeq r0, #0 moveq r0, #2 streq r0, [r4, #0x178] ldr r3, [r4, #0x48] ldr r2, [r4, #0x17c] ldr r0, _02184274 ; =data_027e1070 str r3, [r0, r2, lsl #2] ldr r3, [r4, #0x50] ldr r2, [r4, #0x17c] ldr r0, _02184278 ; =data_027e1060 str r3, [r1, r2, lsl #2] ldrh r3, [r0, #0x30] ldr r1, [r4, #0x17c] mov r2, #1 orr r1, r3, r2, lsl r1 strh r1, [r0, #0x30] _02184218: ldr r0, [r4, #0x170] mov r2, #0xa4 cmp r0, #1 mov r0, #0x100 str r0, [sp] add r0, r4, #0x60 str r0, [sp, #4] add r0, r4, #0x78 str r0, [sp, #8] ldrsh r3, [r4, #0x78] moveq r2, #0xf6 add r0, r4, #0x158 add r1, r4, #0x48 bl func_ov00_020c6838 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02184108 _02184268: .word data_027e0764 _0218426c: .word 0x00000709 _02184270: .word data_027e1080 _02184274: .word data_027e1070 _02184278: .word data_027e1060 .global func_ov15_0218427c arm_func_start func_ov15_0218427c func_ov15_0218427c: ; 0x0218427c stmdb sp!, {r4, lr} sub sp, sp, #0x38 mov r4, r0 ldr r0, [r4, #0x178] cmp r0, #1 addne sp, sp, #0x38 ldmneia sp!, {r4, pc} ldrh r0, [r1] tst r0, #4 bne _021842b0 tst r0, #8 addeq sp, sp, #0x38 ldmeqia sp!, {r4, pc} _021842b0: add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _02184328 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 add r1, r4, #0x48 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, pc} add r0, sp, #0x18 bl func_01ffbe34 mov r0, #1 str r0, [sp, #0x1c] ldr r0, [r4, #0x170] add r1, sp, #0x18 str r1, [sp] cmp r0, #1 mov r3, #0x44 ldr r0, _0218432c ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] moveq r3, #0x45 bl func_020313c8 add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0218427c _02184328: .word data_027e0d3c _0218432c: .word data_02063e4c .global func_ov15_02184330 arm_func_start func_ov15_02184330 func_ov15_02184330: ; 0x02184330 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub r4, r2, r1 mov r6, #0 str r6, [r0] add ip, r4, #1 str r6, [r0, #4] cmp ip, #0 ble _0218439c ldr lr, _021843bc ; =data_027e0764 ldr r5, [lr] ldmib lr, {r4, r6} umull r8, r7, r6, r5 mla r7, r6, r4, r7 ldr r4, [lr, #0xc] ldr r6, [lr, #0x10] mla r7, r4, r5, r7 ldr r4, [lr, #0x14] adds r5, r6, r8 adc r6, r4, r7 stmia lr, {r5, r6} cmp ip, #0 beq _0218439c mov r5, #0 umull r4, lr, r6, ip mla lr, r6, r5, lr mla lr, r5, ip, lr mov r6, lr _0218439c: add ip, r1, r6 str ip, [r0, #8] str r1, [r0, #0xc] str r2, [r0, #0x10] ldr r1, [sp, #0x18] str r3, [r0, #0x14] str r1, [r0, #0x18] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_02184330 _021843bc: .word data_027e0764 .global func_ov15_021843c0 arm_func_start func_ov15_021843c0 func_ov15_021843c0: ; 0x021843c0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, [r0, #4] mov r3, #0 adds r1, r1, #1 str r1, [r0, #4] strmi r3, [r0, #4] ldr r2, [r0, #4] ldr r1, [r0, #8] cmp r2, r1 blt _02184500 ldr r1, [r0] cmp r1, #0 moveq r3, #1 movne r3, #0 cmp r3, #0 beq _0218440c cmp r3, #1 beq _02184480 b _021844f0 _0218440c: ldr r2, [r0, #0xc] ldr r1, [r0, #0x10] sub r1, r1, r2 add r1, r1, #1 cmp r1, #0 movle r7, #0 ble _02184474 ldr ip, _02184508 ; =data_027e0764 ldr r5, [ip] ldmib ip, {r4, r6} umull lr, r7, r6, r5 mla r7, r6, r4, r7 ldr r4, [ip, #0xc] ldr r6, [ip, #0x10] mla r7, r4, r5, r7 ldr r4, [ip, #0x14] adds r5, r6, lr adc r7, r4, r7 stmia ip, {r5, r7} cmp r1, #0 beq _02184474 mov r6, #0 umull r5, r4, r7, r1 mla r4, r7, r6, r4 mla r4, r6, r1, r4 mov r7, r4 _02184474: add r1, r2, r7 str r1, [r0, #8] b _021844f0 _02184480: ldr r2, [r0, #0x14] ldr r1, [r0, #0x18] sub r1, r1, r2 add r1, r1, #1 cmp r1, #0 movle r6, #0 ble _021844e8 ldr ip, _02184508 ; =data_027e0764 ldr lr, [ip] ldmib ip, {r4, r5} umull r7, r6, r5, lr mla r6, r5, r4, r6 ldr r4, [ip, #0xc] ldr r5, [ip, #0x10] mla r6, r4, lr, r6 ldr r4, [ip, #0x14] adds r5, r5, r7 adc r6, r4, r6 stmia ip, {r5, r6} cmp r1, #0 beq _021844e8 mov r4, #0 umull lr, ip, r6, r1 mla ip, r6, r4, ip mla ip, r4, r1, ip mov r6, ip _021844e8: add r1, r2, r6 str r1, [r0, #8] _021844f0: mov r1, #0 str r1, [r0, #4] str r3, [r0] mov r3, #1 _02184500: mov r0, r3 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_021843c0 _02184508: .word data_027e0764 .global func_ov15_0218450c arm_func_start func_ov15_0218450c func_ov15_0218450c: ; 0x0218450c ldrb r2, [r1] ldrb r1, [r0, #0x55] cmp r1, r2 moveq r0, #0 bxeq lr ldrb r0, [r0, #0x56] cmp r0, r2 moveq r0, #1 bxeq lr cmp r1, #0xff movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov15_0218450c .global func_ov15_02184540 arm_func_start func_ov15_02184540 func_ov15_02184540: ; 0x02184540 stmdb sp!, {r4, lr} ldr r1, _021845e0 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _021845e4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d08 ldrb r1, [r4, #0x54] cmp r1, r0 bne _021845b4 ldrb r0, [r4, #0x55] bl func_ov03_020f3cd0 cmp r0, #0 beq _02184598 ldrb r0, [r4, #0x56] bl func_ov03_020f3cd0 cmp r0, #0 ldmneia sp!, {r4, pc} _02184598: mov r1, #0xff strb r1, [r4, #0x56] mvn r0, #0x80000000 strb r1, [r4, #0x55] str r0, [r4, #0x48] str r0, [r4, #0x3c] ldmia sp!, {r4, pc} _021845b4: mov r0, #0xff strb r0, [r4, #0x56] strb r0, [r4, #0x55] mvn r1, #0x80000000 str r1, [r4, #0x48] ldr r0, _021845e4 ; =data_027e0e60 str r1, [r4, #0x3c] ldr r0, [r0] bl func_ov00_02082d08 strb r0, [r4, #0x54] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02184540 _021845e0: .word data_027e0d38 _021845e4: .word data_027e0e60 .global func_ov15_021845e8 arm_func_start func_ov15_021845e8 func_ov15_021845e8: ; 0x021845e8 stmdb sp!, {r4, lr} ldr r1, _0218463c ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _02184640 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d08 ldrb r1, [r4, #0x64] cmp r0, r1 ldmeqia sp!, {r4, pc} strb r0, [r4, #0x64] mvn r0, #0x80000000 str r0, [r4, #0x58] mov r0, #0 str r0, [r4, #0x5c] str r0, [r4, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_021845e8 _0218463c: .word data_027e0d38 _02184640: .word data_027e0e60 .global func_ov15_02184644 arm_func_start func_ov15_02184644 func_ov15_02184644: ; 0x02184644 stmdb sp!, {r4, lr} ldr r1, _021846f0 ; =data_027e0d38 mov r4, r0 ldr r0, [r1] add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _021846f4 ; =data_027e0e60 ldr r0, [r0] bl func_ov00_02082d08 ldrb r1, [r4, #0xc3] cmp r0, r1 ldmeqia sp!, {r4, pc} mov r3, #0 mvn r2, #0x80000000 mov ip, r4 strb r0, [r4, #0xc3] sub r1, r2, #0x80000000 mov lr, r3 _02184694: str r2, [ip, #0x68] str lr, [ip, #0x6c] str lr, [ip, #0x70] add r0, r4, r3 add r3, r3, #1 strb r1, [r0, #0xbc] cmp r3, #5 add ip, ip, #0xc blt _02184694 mov ip, r4 mvn r3, #0x80000000 mov r2, #0 mov r1, #0xff _021846c8: str r3, [ip, #0xa4] str r2, [ip, #0xa8] str r2, [ip, #0xac] add r0, r4, lr add lr, lr, #1 strb r1, [r0, #0xc1] cmp lr, #2 add ip, ip, #0xc blt _021846c8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02184644 _021846f0: .word data_027e0d38 _021846f4: .word data_027e0e60 .global func_ov15_021846f8 arm_func_start func_ov15_021846f8 func_ov15_021846f8: ; 0x021846f8 ldr r3, [r2] mov r2, #0xc mul r2, r3, r2 add r3, r0, #0x68 ldr r0, [r1] add ip, r3, r2 str r0, [r3, r2] ldr r0, [r1, #4] str r0, [ip, #4] ldr r0, [r1, #8] str r0, [ip, #8] bx lr arm_func_end func_ov15_021846f8 .global func_ov15_02184728 arm_func_start func_ov15_02184728 func_ov15_02184728: ; 0x02184728 ldr r2, [r2] ldrsb r1, [r1] add r0, r0, r2 strb r1, [r0, #0xbc] bx lr arm_func_end func_ov15_02184728 .global func_ov15_0218473c arm_func_start func_ov15_0218473c func_ov15_0218473c: ; 0x0218473c stmdb sp!, {r3, lr} ldrh lr, [r2] mov ip, #0 _02184748: add r3, r0, ip ldrb r2, [r3, #0xc1] cmp lr, r2 bne _0218477c mov r2, #0xc mla r2, ip, r2, r0 ldr r0, [r1] str r0, [r2, #0xa4] ldr r0, [r1, #4] str r0, [r2, #0xa8] ldr r0, [r1, #8] str r0, [r2, #0xac] ldmia sp!, {r3, pc} _0218477c: cmp r2, #0xff bne _021847ac mov r2, #0xc mla r2, ip, r2, r0 strb lr, [r3, #0xc1] ldr r0, [r1] str r0, [r2, #0xa4] ldr r0, [r1, #4] str r0, [r2, #0xa8] ldr r0, [r1, #8] str r0, [r2, #0xac] ldmia sp!, {r3, pc} _021847ac: add ip, ip, #1 cmp ip, #2 blt _02184748 ldmia sp!, {r3, pc} arm_func_end func_ov15_0218473c .global func_ov15_021847bc arm_func_start func_ov15_021847bc func_ov15_021847bc: ; 0x021847bc stmdb sp!, {r3} sub sp, sp, #0xc ldrh ip, [r2] mov r3, r0 mov r2, #0 _021847d0: add r0, r1, r2 ldrb r0, [r0, #0xc1] cmp ip, r0 bne _02184800 mov r0, #0xc mla r0, r2, r0, r1 add r0, r0, #0xa4 ldmia r0, {r0, r1, r2} add sp, sp, #0xc stmia r3, {r0, r1, r2} ldmia sp!, {r3} bx lr _02184800: add r2, r2, #1 cmp r2, #2 blt _021847d0 mov r1, #0 mvn r2, #0x80000000 add r0, sp, #0 str r2, [sp] str r1, [sp, #4] str r1, [sp, #8] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3} bx lr arm_func_end func_ov15_021847bc .global func_ov15_02184838 arm_func_start func_ov15_02184838 func_ov15_02184838: ; 0x02184838 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} ldr r1, [r0, #4] ldr r2, [r0, #0x10] cmp r1, #0 mov r1, #0 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r4, _021848cc ; =0x54534950 ldr lr, _021848d0 ; =0x444e5043 ldr ip, _021848d4 ; =0x474f4332 ldr r3, _021848d8 ; =0x42554949 mov r6, #1 mov r7, r1 mov r8, r1 mov r9, r1 _02184870: ldr r10, [r2] cmp r10, #0 ldrneb r5, [r10, #0x118] cmpne r5, #0 beq _021848b4 ldr r5, [r10, #4] cmp r5, r4 streqb r9, [r10, #0x29e] beq _021848b4 cmp r5, lr streqb r8, [r10, #0x39a] beq _021848b4 cmp r5, ip streqb r7, [r10, #0x4a9] beq _021848b4 cmp r5, r3 streqb r6, [r10, #0x2f2] _021848b4: ldr r5, [r0, #4] add r1, r1, #1 cmp r1, r5 add r2, r2, #4 blt _02184870 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 arm_func_end func_ov15_02184838 _021848cc: .word 0x54534950 _021848d0: .word 0x444e5043 _021848d4: .word 0x474f4332 _021848d8: .word 0x42554949 .global func_ov15_021848dc arm_func_start func_ov15_021848dc func_ov15_021848dc: ; 0x021848dc stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, [r0, #4] ldr r8, [r0, #0x10] mov r7, #0 cmp r1, #0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} ldr r3, _0218495c ; =0x54534950 ldr r2, _02184960 ; =0x444e5043 ldr r1, _02184964 ; =0x474f4332 mov lr, r7 mov r4, r7 mov r5, r7 _0218490c: ldr r6, [r8] cmp r6, #0 ldrneb ip, [r6, #0x118] cmpne ip, #0 beq _02184944 ldr ip, [r6, #4] cmp ip, r3 streqb r5, [r6, #0x29f] beq _02184944 cmp ip, r2 streqb r4, [r6, #0x39b] beq _02184944 cmp ip, r1 streqb lr, [r6, #0x4aa] _02184944: ldr ip, [r0, #4] add r7, r7, #1 cmp r7, ip add r8, r8, #4 blt _0218490c ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov15_021848dc _0218495c: .word 0x54534950 _02184960: .word 0x444e5043 _02184964: .word 0x474f4332 .global func_ov15_02184968 arm_func_start func_ov15_02184968 func_ov15_02184968: ; 0x02184968 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x14000 str r0, [r4] mov r1, #0 strb r1, [r4, #4] strb r1, [r4, #5] strb r1, [r4, #6] add r0, r4, #8 strb r1, [r4, #7] bl func_ov15_02185094 add r0, r4, #8 bl func_ov15_021850e4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02184968 .global func_ov15_021849a4 arm_func_start func_ov15_021849a4 func_ov15_021849a4: ; 0x021849a4 ldr ip, _021849bc ; =func_ov15_02185200 mov r1, #0 mov r2, r1 mov r3, r1 add r0, r0, #8 bx ip .align 2, 0 arm_func_end func_ov15_021849a4 _021849bc: .word func_ov15_02185200 .global func_ov15_021849c0 arm_func_start func_ov15_021849c0 func_ov15_021849c0: ; 0x021849c0 ldr ip, _021849d8 ; =func_ov15_02185200 mov r3, r1 mov r1, #0 mov r2, r1 add r0, r0, #8 bx ip .align 2, 0 arm_func_end func_ov15_021849c0 _021849d8: .word func_ov15_02185200 .global func_ov15_021849dc arm_func_start func_ov15_021849dc func_ov15_021849dc: ; 0x021849dc ldr ip, _021849e8 ; =func_ov15_02185424 add r0, r0, #8 bx ip .align 2, 0 arm_func_end func_ov15_021849dc _021849e8: .word func_ov15_02185424 .global func_ov15_021849ec arm_func_start func_ov15_021849ec func_ov15_021849ec: ; 0x021849ec stmdb sp!, {r3, r4, r5, lr} ldr r2, _02184a3c ; =data_027e0d38 mov r5, r0 ldr r0, [r2] mov r4, r1 add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} add r0, r5, #8 bl func_ov15_02185128 cmp r4, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov15_02184ac4 mov r0, #0x14000 str r0, [r5] mov r0, #0 strb r0, [r5, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_021849ec _02184a3c: .word data_027e0d38 .global func_ov15_02184a40 arm_func_start func_ov15_02184a40 func_ov15_02184a40: ; 0x02184a40 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r0, [r5, #4] mov r4, r2 cmp r0, #0 cmpeq r4, #0 movne r0, #1 moveq r0, #0 strb r0, [r5, #4] tst r0, #0xff ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02184a88 ; =data_027e0f94 bl func_01ff9ec0 mov r1, r0 mov r0, r5 mov r2, r4 bl func_ov15_02184a8c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02184a40 _02184a88: .word data_027e0f94 .global func_ov15_02184a8c arm_func_start func_ov15_02184a8c func_ov15_02184a8c: ; 0x02184a8c ldrb r3, [r0, #4] cmp r3, #0 cmpeq r2, #0 movne r2, #1 moveq r2, #0 strb r2, [r0, #4] ldr r2, [r0] cmp r1, r2 strlt r1, [r0] bx lr arm_func_end func_ov15_02184a8c .global func_ov15_02184ab4 arm_func_start func_ov15_02184ab4 func_ov15_02184ab4: ; 0x02184ab4 ldr ip, _02184ac0 ; =func_ov15_02185638 add r0, r0, #8 bx ip .align 2, 0 arm_func_end func_ov15_02184ab4 _02184ac0: .word func_ov15_02185638 .global func_ov15_02184ac4 arm_func_start func_ov15_02184ac4 func_ov15_02184ac4: ; 0x02184ac4 stmdb sp!, {r3, lr} ldrb r1, [r0, #6] cmp r1, #0 ldrb r1, [r0, #4] beq _02184b08 cmp r1, #0 bne _02184aec ldr r1, [r0] cmp r1, #0x8000 bge _02184af4 _02184aec: mov r1, #4 b _02184b44 _02184af4: ldrb r1, [r0, #7] cmp r1, #0 movne r1, #6 moveq r1, #0 b _02184b44 _02184b08: cmp r1, #0 bne _02184b1c ldr r1, [r0] cmp r1, #0x8000 bge _02184b24 _02184b1c: mov r1, #3 b _02184b44 _02184b24: ldrb r1, [r0, #7] cmp r1, #0 movne r1, #5 bne _02184b44 ldrb r1, [r0, #5] cmp r1, #0 movne r1, #2 moveq r1, #1 _02184b44: ldr r2, [r0, #0xc] cmp r1, r2 ldmeqia sp!, {r3, pc} add r0, r0, #8 bl func_ov15_02185474 ldmia sp!, {r3, pc} arm_func_end func_ov15_02184ac4 .global func_ov15_02184b5c arm_func_start func_ov15_02184b5c func_ov15_02184b5c: ; 0x02184b5c stmdb sp!, {r4, lr} mov r3, #0 mov r4, r0 str r3, [r4] ldr ip, _02184bac ; =data_ov15_0218727c str r3, [r4, #0x4c] mov r2, r3 _02184b78: add r1, r4, r3, lsl #2 str r2, [r1, #4] ldr r0, [ip, #4] add r3, r3, #1 str r0, [r1, #0x34] ldr r0, [ip], #0xc cmp r3, #6 str r0, [r1, #0x1c] blt _02184b78 mov r0, r4 bl func_ov15_02184ed0 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02184b5c _02184bac: .word data_ov15_0218727c .global func_ov15_02184bb0 arm_func_start func_ov15_02184bb0 func_ov15_02184bb0: ; 0x02184bb0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_02185004 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov15_02184bb0 .global func_ov15_02184bc4 arm_func_start func_ov15_02184bc4 func_ov15_02184bc4: ; 0x02184bc4 bx lr arm_func_end func_ov15_02184bc4 .global func_ov15_02184bc8 arm_func_start func_ov15_02184bc8 func_ov15_02184bc8: ; 0x02184bc8 bx lr arm_func_end func_ov15_02184bc8 .global func_ov15_02184bcc arm_func_start func_ov15_02184bcc func_ov15_02184bcc: ; 0x02184bcc bx lr arm_func_end func_ov15_02184bcc .global func_ov15_02184bd0 arm_func_start func_ov15_02184bd0 func_ov15_02184bd0: ; 0x02184bd0 stmdb sp!, {r3, lr} cmp r1, #0 ldmneia sp!, {r3, pc} bl func_ov15_02184be4 ldmia sp!, {r3, pc} arm_func_end func_ov15_02184bd0 .global func_ov15_02184be4 arm_func_start func_ov15_02184be4 func_ov15_02184be4: ; 0x02184be4 stmdb sp!, {r3, lr} mov r3, r0 cmp r1, #0 ldmneia sp!, {r3, pc} ldr r0, _02184c08 ; =data_027e0de4 ldr r2, _02184c0c ; =func_ov15_02184c10 mov r1, #0 bl func_ov00_0207bb1c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02184be4 _02184c08: .word data_027e0de4 _02184c0c: .word func_ov15_02184c10 .global func_ov15_02184c10 arm_func_start func_ov15_02184c10 func_ov15_02184c10: ; 0x02184c10 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x5c ldr r1, _02184eb8 ; =data_027e0f64 mov r2, #0x60 ldr r1, [r1] mov r3, #0x80 ldr r4, [r1, #4] sub r1, r2, #0x70 ldr r5, [r4, #0x2e4] ldr r4, [r4, #0x2e8] mov r8, r0 str r5, [sp, #0xc] str r4, [sp, #0x10] str r3, [sp, #4] str r2, [sp, #8] cmp r5, r1 addlt sp, sp, #0x5c ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r5, #0x110 addgt sp, sp, #0x5c ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r1 cmp r4, r0 addlt sp, sp, #0x5c ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r4, #0xd0 addgt sp, sp, #0x5c ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} sub r1, r3, r5 mov r3, r1, lsl #0xc sub r0, r2, r4 mov r2, r0, lsl #0xc mov r1, #0 add r0, sp, #0x38 str r3, [sp, #0x38] str r2, [sp, #0x3c] str r1, [sp, #0x40] bl func_01ff9cec mov r4, r0 add r0, sp, #0x38 bl func_01fffb4c cmp r4, #0xa0000 addge sp, sp, #0x5c ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r4, #0x50000 movle r7, #0x1000 ble _02184cec ldr r0, _02184ebc ; =data_ov15_0218ebac rsb r1, r4, #0xa0000 ldr r0, [r0] smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 mov r7, r1, lsr #0xc orr r7, r7, r0, lsl #20 _02184cec: ldr r0, [r8, #0x4c] ldr r1, _02184ec0 ; =0xfffff4cd cmp r0, r1 addle sp, sp, #0x5c ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r0, #0 bgt _02184d2c rsb r0, r0, #0 rsb r1, r1, #0 bl Divide rsb r0, r0, #0x1000 smull r1, r0, r7, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r7, r1, lsr #0xc orr r7, r7, r0, lsl #20 _02184d2c: ldr r5, _02184ec4 ; =data_027e0194 add r4, sp, #0x14 ldmia r5!, {r0, r1, r2, r3} str r4, [sp] stmia r4!, {r0, r1, r2, r3} ldmia r5!, {r0, r1, r2, r3} stmia r4!, {r0, r1, r2, r3} ldr r0, [r5] ldr r5, _02184ec8 ; =data_ov15_0218727c str r0, [r4] ldr r10, [sp, #0x10] ldr r11, [sp, #0xc] mov r6, r7, asr #0x1f mov r4, #0 _02184d64: ldr r2, [r5, #4] add r0, r8, r4, lsl #2 mov r1, r2, asr #0x1f umull r9, r3, r7, r2 mla r3, r7, r1, r3 mla r3, r6, r2, r3 adds r2, r9, #0x800 adc r1, r3, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r0, #0x34] ldr r2, [r5] mov r1, r2, asr #0x1f umull r9, r3, r7, r2 mla r3, r7, r1, r3 mla r3, r6, r2, r3 adds r2, r9, #0x800 adc r1, r3, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r0, #0x1c] ldr r0, [r0, #4] ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r9, r0 ldr r0, _02184ecc ; =data_ov00_020e9360 mov r1, #5 bl func_ov00_02079e68 mov r1, r0 mov r0, r9 bl func_020197bc add r1, r8, r4, lsl #2 ldr r1, [r1, #0x34] mov r0, r9 add r1, r1, #0x800 mov r1, r1, asr #0xc bl func_020197fc add r0, r8, r4, lsl #2 ldr r0, [r0, #0x1c] ldr r1, [r5, #8] str r0, [sp, #0x50] str r0, [sp, #0x54] str r0, [sp, #0x58] ldr r0, [sp, #0x3c] smull r3, r2, r1, r0 mov r0, #0x800 adds r1, r3, r0 mov r0, #0 adc r0, r2, r0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, r10, lsl #12 bl func_ov05_0210e19c mov r9, r0 ldr r1, [r5, #8] ldr r0, [sp, #0x38] smull r3, r2, r1, r0 mov r0, #0x800 adds r1, r3, r0 mov r0, #0 adc r0, r2, r0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, r11, lsl #12 bl func_ov05_0210e184 str r0, [sp, #0x44] mov r0, #0 str r0, [sp, #0x4c] str r9, [sp, #0x48] add r0, r8, r4, lsl #2 ldr r0, [r0, #4] ldr r2, [sp] ldr r9, [r0] add r1, sp, #0x50 ldr r9, [r9, #0x10] add r3, sp, #0x44 blx sb add r4, r4, #1 add r5, r5, #0xc cmp r4, #6 blt _02184d64 bl func_01ffa8d4 add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02184c10 _02184eb8: .word data_027e0f64 _02184ebc: .word data_ov15_0218ebac _02184ec0: .word 0xfffff4cd _02184ec4: .word data_027e0194 _02184ec8: .word data_ov15_0218727c _02184ecc: .word data_ov00_020e9360 .global func_ov15_02184ed0 arm_func_start func_ov15_02184ed0 func_ov15_02184ed0: ; 0x02184ed0 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} mov r4, r0 bl func_ov15_02185004 ldr r0, [r4] cmp r0, #0 bne _02184f68 ldr r1, _02184fc4 ; =data_027e0ce0 mov r0, #0x60 ldr r1, [r1, #4] mov r2, #4 bl _ZN9SysObjectnwEmPjj movs r6, r0 beq _02184f54 mvn r0, #0 str r0, [r6] mov r1, #0 str r1, [r6, #4] ldr r0, _02184fc8 ; =data_02057878 str r1, [r6, #8] str r0, [r6, #0xc] str r1, [r6, #0x10] str r1, [r6, #0x14] ldr r0, _02184fcc ; =data_0205785c str r1, [r6, #0x18] str r0, [r6, #0xc] ldr r5, _02184fd0 ; =func_0203010c strb r1, [r6, #0x1c] ldr r3, _02184fd4 ; =func_ov15_02184fdc add r0, r6, #0x20 mov r1, #4 mov r2, #0x10 str r5, [sp] bl func_0204f614 _02184f54: ldr r2, _02184fd8 ; =data_ov15_0218726c mov r0, r6 mov r1, #0 str r6, [r4] bl func_ov00_020a5b38 _02184f68: ldr r5, _02184fc4 ; =data_027e0ce0 mov r8, #0 mov r7, #0x5c mov r6, #4 _02184f78: ldr r1, [r5, #4] mov r0, r7 mov r2, r6 bl _ZN9SysObjectnwEmPjj movs r9, r0 beq _02184fac ldr r0, [r4] mov r1, r8 bl func_ov00_020a5d10 mov r1, r0 mov r0, r9 blx func_ov00_020a9588 mov r9, r0 _02184fac: add r0, r4, r8, lsl #2 add r8, r8, #1 str r9, [r0, #4] cmp r8, #6 blt _02184f78 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02184ed0 _02184fc4: .word data_027e0ce0 _02184fc8: .word data_02057878 _02184fcc: .word data_0205785c _02184fd0: .word func_0203010c _02184fd4: .word func_ov15_02184fdc _02184fd8: .word data_ov15_0218726c .global func_ov15_02184fdc arm_func_start func_ov15_02184fdc func_ov15_02184fdc: ; 0x02184fdc ldr r1, _02184ffc ; =data_02057878 mov r2, #0 stmia r0, {r1, r2} str r2, [r0, #8] ldr r1, _02185000 ; =data_02057840 str r2, [r0, #0xc] str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov15_02184fdc _02184ffc: .word data_02057878 _02185000: .word data_02057840 .global func_ov15_02185004 arm_func_start func_ov15_02185004 func_ov15_02185004: ; 0x02185004 stmdb sp!, {r4, r5, r6, lr} mov r6, #0 mov r4, r0 mov r5, r6 _02185014: add r0, r4, r6, lsl #2 ldr r0, [r0, #4] cmp r0, #0 beq _0218503c beq _02185034 ldr r1, [r0] ldr r1, [r1, #4] blx r1 _02185034: add r0, r4, r6, lsl #2 str r5, [r0, #4] _0218503c: add r6, r6, #1 cmp r6, #6 blt _02185014 ldr r5, [r4] cmp r5, #0 ldmeqia sp!, {r4, r5, r6, pc} beq _02185084 mov r0, r5 bl func_ov00_020a5ccc ldr r3, _02185090 ; =func_0203010c add r0, r5, #0x20 mov r1, #4 mov r2, #0x10 bl func_0204f754 add r0, r5, #0xc blx func_0203005c mov r0, r5 bl _ZN9SysObjectdlEPv _02185084: mov r0, #0 str r0, [r4] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02185004 _02185090: .word func_0203010c .global func_ov15_02185094 arm_func_start func_ov15_02185094 func_ov15_02185094: ; 0x02185094 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r1, #1 mov r0, #7 str r1, [r6] str r0, [r6, #4] sub r0, r0, #8 str r0, [r6, #8] mov r0, #0 strb r0, [r6, #0xc] strb r0, [r6, #0xd] add r5, r6, #0x10 add r4, r6, #0x40 _021850c8: mov r0, r5 bl func_ov15_0218579c add r5, r5, #0x18 cmp r5, r4 blo _021850c8 mov r0, r6 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_02185094 .global func_ov15_021850e4 arm_func_start func_ov15_021850e4 func_ov15_021850e4: ; 0x021850e4 mov r2, #0 ldr ip, _02185124 ; =data_ov00_020eec68 mov r1, r2 _021850f0: cmp r2, #0 blt _02185104 cmp r2, #3 movlt r3, ip blt _02185108 _02185104: mov r3, r1 _02185108: add r2, r2, #1 str r3, [r0, #0x24] cmp r2, #2 add ip, ip, #4 add r0, r0, #0x18 blt _021850f0 bx lr .align 2, 0 arm_func_end func_ov15_021850e4 _02185124: .word data_ov00_020eec68 .global func_ov15_02185128 arm_func_start func_ov15_02185128 func_ov15_02185128: ; 0x02185128 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldr r2, [r4, #8] cmp r2, #0 ble _021851b4 ldr r1, [r4] cmp r1, #0 bne _021851b4 ldr r1, _021851fc ; =data_ov00_020ee734 ldrb r1, [r1, #0x94] sub r1, r2, r1 str r1, [r4, #8] cmp r1, #0 bgt _021851b4 ldr r1, [r4, #4] bl func_ov15_02185a54 cmp r0, #0 bne _02185184 mov r0, r4 mov r3, #0x3c ldmia r4, {r1, r2} bl func_ov15_02185200 b _021851ac _02185184: ldr r1, [r4, #4] mov r0, r4 bl func_ov15_02185a54 cmp r0, #0 beq _021851ac mov r1, r4 add r0, r4, #0x28 mov r2, #0x67 mov r3, #0x3c bl func_ov15_0218588c _021851ac: mvn r0, #0 str r0, [r4, #8] _021851b4: add r6, r4, #0x10 mov r5, #0 _021851bc: mov r0, r6 bl func_ov15_021857d8 add r5, r5, #1 cmp r5, #2 add r6, r6, #0x18 blt _021851bc ldrb r0, [r4, #0xd] cmp r0, #0 movne r0, #0 strneb r0, [r4, #0xd] ldmneia sp!, {r4, r5, r6, pc} ldr r0, [r4, #0x3c] mov r1, #0x80 mov r2, #0 bl func_0201f83c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov15_02185128 _021851fc: .word data_ov00_020ee734 .global func_ov15_02185200 arm_func_start func_ov15_02185200 func_ov15_02185200: ; 0x02185200 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc mov r10, r0 ldrb r4, [r10, #0xc] str r1, [sp] str r2, [sp, #4] str r3, [sp, #8] cmp r4, #0 beq _0218522c mov r1, #0 bl func_ov15_02185424 _0218522c: ldr r0, [sp] str r0, [r10] ldr r0, [sp, #4] str r0, [r10, #4] ldr r0, [sp] cmp r0, #0 bne _02185268 ldr r0, [sp, #4] cmp r0, #0 blt _0218525c cmp r0, #3 ble _02185284 _0218525c: mov r0, #2 str r0, [sp, #4] b _02185284 _02185268: ldr r0, [sp, #4] cmp r0, #0 blt _0218527c cmp r0, #8 blt _02185284 _0218527c: mov r0, #7 str r0, [sp, #4] _02185284: ldr r0, [r10] cmp r0, #1 ldrlt r1, [r10, #4] cmplt r1, #7 addge sp, sp, #0xc ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} cmp r0, #0 bne _02185354 mov r0, r10 bl func_ov15_02185a54 cmp r0, #0 beq _02185354 mov r1, r10 add r0, r10, #0x10 mov r2, #0x65 mov r3, #0x3c bl func_ov15_0218588c mov r1, r10 add r0, r10, #0x28 mov r2, #0x67 mov r3, #0x3c bl func_ov15_0218588c mov r5, #0 ldr r11, _0218541c ; =data_ov15_021872e4 mov r7, r5 add r4, r10, #0x10 _021852ec: mov r6, #0 mov r8, r4 add r9, r11, r7 _021852f8: ldr r0, [r10, #4] ldr r2, [r4, #0x14] add r0, r9, r0, lsl #2 ldrb r1, [r6, r0] mov r0, r8 bl func_ov15_02185940 add r6, r6, #1 cmp r6, #2 add r8, r8, #6 blt _021852f8 add r5, r5, #1 cmp r5, #2 add r4, r4, #0x18 add r7, r7, #2 blt _021852ec ldr r0, [r4, #0x14] mov r1, #0x80 mov r2, #0 bl func_0201f83c mov r0, #1 add sp, sp, #0xc strb r0, [r10, #0xc] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02185354: mov r11, #0 mov r6, r11 mov r7, r11 add r4, r10, #0x10 _02185364: ldr r1, [r10] ldr r0, _02185420 ; =data_ov15_021872c4 add r2, r0, r1, lsl #4 ldr r0, [r2, r11, lsl #3] cmp r0, #0 beq _021853c8 ldr r3, [sp, #8] mov r0, r4 mov r1, r10 add r2, r2, r6 bl func_ov15_02185838 ldr r0, _0218541c ; =data_ov15_021872e4 mov r5, #0 mov r8, r4 add r9, r0, r7 _021853a0: mov r0, r8 ldr r1, [r10, #4] ldr r2, [r4, #0x14] add r1, r9, r1, lsl #2 ldrb r1, [r5, r1] bl func_ov15_02185940 add r8, r8, #6 add r5, r5, #1 cmp r5, #2 blt _021853a0 _021853c8: add r11, r11, #1 cmp r11, #2 add r4, r4, #0x18 add r6, r6, #8 add r7, r7, #2 blt _02185364 mov r0, #1 strb r0, [r10, #0xc] ldr r0, [sp] cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [sp, #4] cmp r0, #1 addhi sp, sp, #0xc ldmhiia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, [r10, #0x24] mov r1, #0xfa bl func_0201f8ac add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 arm_func_end func_ov15_02185200 _0218541c: .word data_ov15_021872e4 _02185420: .word data_ov15_021872c4 .global func_ov15_02185424 arm_func_start func_ov15_02185424 func_ov15_02185424: ; 0x02185424 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 add r4, r7, #0x10 mov r5, #0 _02185438: mov r0, r4 mov r1, r7 mov r2, r6 bl func_ov15_021858e4 add r5, r5, #1 cmp r5, #2 add r4, r4, #0x18 blt _02185438 mov r0, #1 str r0, [r7] mov r0, #7 str r0, [r7, #4] mov r0, #0 strb r0, [r7, #0xc] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_02185424 .global func_ov15_02185474 arm_func_start func_ov15_02185474 func_ov15_02185474: ; 0x02185474 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 ldrb r2, [r5, #0xc] mov r4, r1 cmp r2, #0 beq _02185628 ldr r0, [r5, #8] cmp r0, #0 bge _02185628 bge _02185590 ldr r0, [r5] cmp r0, #0 bne _02185590 cmp r4, #0 blt _021854b8 cmp r4, #6 ble _021854bc _021854b8: mov r4, #2 _021854bc: ldr r1, [r5, #4] mov r0, r5 bl func_ov15_02185a54 cmp r0, #0 bne _021854e4 mov r0, r5 mov r1, r4 bl func_ov15_02185a54 cmp r0, #0 bne _0218550c _021854e4: ldr r1, [r5, #4] mov r0, r5 bl func_ov15_02185a54 cmp r0, #0 beq _02185534 mov r0, r5 mov r1, r4 bl func_ov15_02185a54 cmp r0, #0 bne _02185534 _0218550c: mov r2, #0x41 mov r0, r5 mov r1, #0x3c str r2, [r5, #8] bl func_ov15_02185424 mov r0, #0 stmia r5, {r0, r4} mov r0, #1 strb r0, [r5, #0xc] b _021855cc _02185534: ldr r0, [r5, #4] cmp r0, #0 blt _02185564 cmp r0, #2 bgt _02185564 cmp r4, #3 blt _02185564 cmp r4, #4 bgt _02185564 mov r0, #6 bl func_ov15_02185a44 b _0218556c _02185564: mov r0, #2 bl func_ov15_02185a44 _0218556c: cmp r4, #1 ldr r0, [r5, #0x24] bhi _02185584 mov r1, #0xfa bl func_0201f8ac b _021855cc _02185584: mov r1, #0x100 bl func_0201f8ac b _021855cc _02185590: ldr r0, [r5] cmp r0, #0 bne _021855b8 cmp r4, #0 blt _021855ac cmp r4, #6 ble _021855b0 _021855ac: mov r4, #2 _021855b0: str r4, [r5, #4] b _021855cc _021855b8: cmp r4, #0 blt _021855c8 cmp r4, #8 blt _021855cc _021855c8: mov r4, #7 _021855cc: mov ip, #0 ldr r1, _02185634 ; =data_ov15_021872e4 mov lr, ip str r4, [r5, #4] add r3, r5, #0x10 mov r2, ip _021855e4: mov r4, r2 mov r6, r3 add r7, r1, lr _021855f0: ldr r0, [r5, #4] add r0, r7, r0, lsl #2 ldrb r0, [r4, r0] add r4, r4, #1 cmp r4, #2 strb r0, [r6, #1] add r6, r6, #6 blt _021855f0 add ip, ip, #1 cmp ip, #2 add r3, r3, #0x18 add lr, lr, #2 blt _021855e4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185628: cmp r2, #0 strne r4, [r5, #4] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02185474 _02185634: .word data_ov15_021872e4 .global func_ov15_02185638 arm_func_start func_ov15_02185638 func_ov15_02185638: ; 0x02185638 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r3, _02185764 ; =data_027e0f64 mov r5, r2 ldr r3, [r3] add r4, sp, #0 ldr r2, [r3, #4] mov r7, r0 add r0, r2, #0x260 mov r6, r1 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} mov r0, r4 mov r1, r5 bl func_01ff9ec0 cmp r0, #0x28000 movle r4, #0x7f ble _021856c0 cmp r0, #0xdc000 movge r4, #0x40 bge _021856c0 mov r1, #0xb4000 sub r0, r0, #0xdc000 rsb r1, r1, #0 bl Divide mov r0, r0, lsl #0x6 add r0, r0, #0x800 mov r0, r0, asr #0xc add r4, r0, #0x3f cmp r4, #0x7f movgt r4, #0x7f bgt _021856c0 cmp r4, #0x40 movlt r4, #0x40 _021856c0: cmp r6, #0 bne _021856e0 sub r4, r4, #0x40 cmp r4, #0x40 movgt r4, #0x40 bgt _021856e0 cmp r4, #0 movlt r4, #0 _021856e0: ldr r0, _02185764 ; =data_027e0f64 ldr r3, [r5] ldr r0, [r0] ldr r2, [sp] ldr r1, [r0, #4] sub r0, r3, r2 add r1, r1, #0x200 ldrsh r1, [r1, #0x26] cmp r1, #0 beq _0218573c mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 ldr r1, _02185768 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh r1, [r1, r2] smull r2, r1, r0, r1 adds r0, r2, #0x800 adc r1, r1, #0 mov r0, r0, lsr #0xc orr r0, r0, r1, lsl #20 _0218573c: mov r1, #0x1e000 bl Divide ldr r0, [r7, #0x3c] mov r2, r4 mov r1, #0x80 bl func_0201f83c mov r0, #1 strb r0, [r7, #0xd] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov15_02185638 _02185764: .word data_027e0f64 _02185768: .word data_02050f54 .global func_ov15_0218576c arm_func_start func_ov15_0218576c func_ov15_0218576c: ; 0x0218576c stmdb sp!, {r3, lr} ldr r0, _02185784 ; =data_ov00_020eec68 mov ip, #0x7f str ip, [sp] bl func_ov00_020d6d30 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218576c _02185784: .word data_ov00_020eec68 .global func_ov15_02185788 arm_func_start func_ov15_02185788 func_ov15_02185788: ; 0x02185788 ldr ip, _02185794 ; =func_ov00_020d6e14 ldr r0, _02185798 ; =data_ov00_020eec68 bx ip .align 2, 0 arm_func_end func_ov15_02185788 _02185794: .word func_ov00_020d6e14 _02185798: .word data_ov00_020eec68 .global func_ov15_0218579c arm_func_start func_ov15_0218579c func_ov15_0218579c: ; 0x0218579c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r6 add r4, r6, #0xc _021857ac: mov r0, r5 bl func_ov15_02185918 add r5, r5, #6 cmp r5, r4 blo _021857ac mvn r0, #0 str r0, [r6, #0xc] mov r1, #0 mov r0, r6 str r1, [r6, #0x14] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_0218579c .global func_ov15_021857d8 arm_func_start func_ov15_021857d8 func_ov15_021857d8: ; 0x021857d8 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 ldrb r0, [r4, #0x10] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r5, r4 mov r6, #0 _021857f4: ldrh r0, [r5, #2] cmp r0, #0 ldrneb r1, [r5] ldrneb r0, [r5, #1] cmpne r1, r0 bne _02185818 ldrb r0, [r5, #4] cmp r0, #0 beq _02185824 _02185818: ldr r1, [r4, #0x14] mov r0, r5 bl func_ov15_02185984 _02185824: add r6, r6, #1 cmp r6, #2 add r5, r5, #6 blt _021857f4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_021857d8 .global func_ov15_02185838 arm_func_start func_ov15_02185838 func_ov15_02185838: ; 0x02185838 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r2 ldr r2, [r6] mov r7, r0 str r2, [r7, #0xc] mov r0, r1 ldr r1, [r7, #0x14] bl func_ov15_0218576c mov r5, r7 mov r4, #0 _02185860: add r0, r6, r4, lsl #1 ldrh r1, [r0, #4] mov r0, r5 bl func_ov15_02185930 add r4, r4, #1 cmp r4, #2 add r5, r5, #6 blt _02185860 mov r0, #1 strb r0, [r7, #0x10] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov15_02185838 .global func_ov15_0218588c arm_func_start func_ov15_0218588c func_ov15_0218588c: ; 0x0218588c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0xc] cmp r0, r2 bne _021858ac ldrb r0, [r4, #0x10] cmp r0, #0 ldmneia sp!, {r4, pc} _021858ac: str r2, [r4, #0xc] mov r0, r1 ldr r1, [r4, #0x14] bl func_ov15_0218576c ldr r1, _021858e0 ; =0x0000ff7f mov r0, r4 bl func_ov15_02185930 add r0, r4, #6 mov r1, #0 bl func_ov15_02185930 mov r0, #1 strb r0, [r4, #0x10] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_0218588c _021858e0: .word 0x0000ff7f .global func_ov15_021858e4 arm_func_start func_ov15_021858e4 func_ov15_021858e4: ; 0x021858e4 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x10] cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r1 ldr r1, [r4, #0x14] bl func_ov15_02185788 mvn r0, #0 str r0, [r4, #0xc] mov r0, #0 strb r0, [r4, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov15_021858e4 .global func_ov15_02185918 arm_func_start func_ov15_02185918 func_ov15_02185918: ; 0x02185918 mov r1, #0 strb r1, [r0] strb r1, [r0, #1] strh r1, [r0, #2] strb r1, [r0, #4] bx lr arm_func_end func_ov15_02185918 .global func_ov15_02185930 arm_func_start func_ov15_02185930 func_ov15_02185930: ; 0x02185930 strh r1, [r0, #2] mov r1, #0 strb r1, [r0, #4] bx lr arm_func_end func_ov15_02185930 .global func_ov15_02185940 arm_func_start func_ov15_02185940 func_ov15_02185940: ; 0x02185940 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 strb r5, [r6] strb r5, [r6, #1] mov r4, r2 ldrh r1, [r6, #2] mov r0, r4 mov r2, r5 bl func_0201f83c cmp r5, #0 ldmneia sp!, {r4, r5, r6, pc} ldrh r1, [r6, #2] mov r0, r4 mov r2, #1 bl func_0201f81c ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov15_02185940 .global func_ov15_02185984 arm_func_start func_ov15_02185984 func_ov15_02185984: ; 0x02185984 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r0, [r5, #4] ldrb r3, [r5, #1] ldrb r2, [r5] mov r4, r1 cmp r0, #0 sub r2, r3, r2 beq _021859c8 mov r0, #0 strb r0, [r5] strb r0, [r5, #1] ldrh r1, [r5, #2] mov r0, r4 mov r2, #1 bl func_0201f81c ldmia sp!, {r3, r4, r5, pc} _021859c8: cmp r2, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02185a40 ; =data_ov15_0218ebd8 rsblt ip, r2, #0 ldrb r1, [r0] movge ip, r2 cmp ip, r1 strltb r3, [r5] blt _02185a04 ldrb r0, [r5] cmp r2, #0 sublt r0, r0, r1 strltb r0, [r5] addge r0, r0, r1 strgeb r0, [r5] _02185a04: ldrh r1, [r5, #2] ldrb r2, [r5] mov r0, r4 bl func_0201f83c ldrb r0, [r5] ldrh r1, [r5, #2] cmp r0, #0 mov r0, r4 beq _02185a34 mov r2, #0 bl func_0201f81c ldmia sp!, {r3, r4, r5, pc} _02185a34: mov r2, #1 bl func_0201f81c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02185984 _02185a40: .word data_ov15_0218ebd8 .global func_ov15_02185a44 arm_func_start func_ov15_02185a44 func_ov15_02185a44: ; 0x02185a44 ldr r1, _02185a50 ; =data_ov15_0218ebd8 strb r0, [r1] bx lr .align 2, 0 arm_func_end func_ov15_02185a44 _02185a50: .word data_ov15_0218ebd8 .global func_ov15_02185a54 arm_func_start func_ov15_02185a54 func_ov15_02185a54: ; 0x02185a54 cmp r1, #5 blt _02185a68 cmp r1, #6 movle r0, #1 bxle lr _02185a68: mov r0, #0 bx lr arm_func_end func_ov15_02185a54 .global func_ov15_02185a70 arm_func_start func_ov15_02185a70 func_ov15_02185a70: ; 0x02185a70 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, _02185b00 ; =data_ov09_0211f5b4 mov r4, r1 bl func_ov03_020f3f94 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_020367ec cmp r0, #0 bne _02185ab0 mov r0, r5 bl func_02036808 cmp r0, #0 beq _02185ab8 _02185ab0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02185ab8: ldr r0, [r5, #0x38] add r0, r0, #0x100 ldrsh r0, [r0, #0x5c] cmp r0, #0 ble _02185ad8 ldrb r0, [r5, #2] cmp r4, r0 bge _02185af8 _02185ad8: ldr r0, _02185b04 ; =data_ov15_02187304 and r1, r4, #0xff ldr r1, [r0, r1, lsl #2] ldr r2, _02185b08 ; =data_027e0f94 mov r0, r5 mov r3, #0 strb r4, [r5, #2] bl func_02036da8 _02185af8: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov15_02185a70 _02185b00: .word data_ov09_0211f5b4 _02185b04: .word data_ov15_02187304 _02185b08: .word data_027e0f94 .global func_ov15_02185b0c arm_func_start func_ov15_02185b0c func_ov15_02185b0c: ; 0x02185b0c ldr ip, _02185b18 ; =func_ov15_02185a70 mov r1, #0x1a bx ip .align 2, 0 arm_func_end func_ov15_02185b0c _02185b18: .word func_ov15_02185a70 .rodata .global data_ov15_02185b1c data_ov15_02185b1c: ; 0x02185b1c .byte 0x07 .global data_ov15_02185b1d data_ov15_02185b1d: ; 0x02185b1d .byte 0x03 .global data_ov15_02185b1e data_ov15_02185b1e: ; 0x02185b1e .byte 0x08 .global data_ov15_02185b1f data_ov15_02185b1f: ; 0x02185b1f .byte 0x03 .global data_ov15_02185b20 data_ov15_02185b20: ; 0x02185b20 .byte 0x09 .global data_ov15_02185b21 data_ov15_02185b21: ; 0x02185b21 .byte 0x03 .global data_ov15_02185b22 data_ov15_02185b22: ; 0x02185b22 .byte 0x0a .global data_ov15_02185b23 data_ov15_02185b23: ; 0x02185b23 .byte 0x03 .global data_ov15_02185b24 data_ov15_02185b24: ; 0x02185b24 .byte 0x0b .global data_ov15_02185b25 data_ov15_02185b25: ; 0x02185b25 .byte 0x03 .global data_ov15_02185b26 data_ov15_02185b26: ; 0x02185b26 .byte 0x0c .global data_ov15_02185b27 data_ov15_02185b27: ; 0x02185b27 .byte 0x03 .global data_ov15_02185b28 data_ov15_02185b28: ; 0x02185b28 .byte 0x0d .global data_ov15_02185b29 data_ov15_02185b29: ; 0x02185b29 .byte 0x03 .global data_ov15_02185b2a data_ov15_02185b2a: ; 0x02185b2a .byte 0x0e .global data_ov15_02185b2b data_ov15_02185b2b: ; 0x02185b2b .byte 0x03 .global data_ov15_02185b2c data_ov15_02185b2c: ; 0x02185b2c .byte 0x00, 0xd0, 0xff, 0xff .global data_ov15_02185b30 data_ov15_02185b30: ; 0x02185b30 .byte 0x00, 0x80, 0x00, 0x00 .global data_ov15_02185b34 data_ov15_02185b34: ; 0x02185b34 .byte 0x00, 0x40, 0x01, 0x00 .global data_ov15_02185b38 data_ov15_02185b38: ; 0x02185b38 .byte 0x00, 0x90, 0x01, 0x00 .global data_ov15_02185b3c data_ov15_02185b3c: ; 0x02185b3c .byte 0x00, 0xf0, 0xfe, 0xff .global data_ov15_02185b40 data_ov15_02185b40: ; 0x02185b40 .byte 0x00, 0x80, 0x00, 0x00 .global data_ov15_02185b44 data_ov15_02185b44: ; 0x02185b44 .byte 0x00, 0x40, 0x01, 0x00 .global data_ov15_02185b48 data_ov15_02185b48: ; 0x02185b48 .byte 0x00, 0x90, 0x01, 0x00 .global data_ov15_02185b4c data_ov15_02185b4c: ; 0x02185b4c .byte 0x1e, 0x00, 0x00, 0x00 .global data_ov15_02185b50 data_ov15_02185b50: ; 0x02185b50 .byte 0x05, 0x00, 0x00, 0x00 .global data_ov15_02185b54 data_ov15_02185b54: ; 0x02185b54 .byte 0x0f, 0xf2, 0x00, 0x00 .global data_ov15_02185b58 data_ov15_02185b58: ; 0x02185b58 .byte 0x02 .global data_ov15_02185b59 data_ov15_02185b59: ; 0x02185b59 .byte 0x03 .global data_ov15_02185b5a data_ov15_02185b5a: ; 0x02185b5a .byte 0x04 .global data_ov15_02185b5b data_ov15_02185b5b: ; 0x02185b5b .byte 0x05 .global data_ov15_02185b5c data_ov15_02185b5c: ; 0x02185b5c .byte 0x00 .global data_ov15_02185b5d data_ov15_02185b5d: ; 0x02185b5d .byte 0x01 .global data_ov15_02185b5e data_ov15_02185b5e: ; 0x02185b5e .byte 0x02 .global data_ov15_02185b5f data_ov15_02185b5f: ; 0x02185b5f .byte 0x03 .global data_ov15_02185b60 data_ov15_02185b60: ; 0x02185b60 .byte 0x00, 0x50, 0x00, 0x00 .global data_ov15_02185b64 data_ov15_02185b64: ; 0x02185b64 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02185b68 data_ov15_02185b68: ; 0x02185b68 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02185b6c data_ov15_02185b6c: ; 0x02185b6c .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02185b70 data_ov15_02185b70: ; 0x02185b70 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02185b74 data_ov15_02185b74: ; 0x02185b74 .byte 0x00, 0x60, 0x00, 0x00 .global data_ov15_02185b78 data_ov15_02185b78: ; 0x02185b78 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_02185b7c data_ov15_02185b7c: ; 0x02185b7c .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02185b80 data_ov15_02185b80: ; 0x02185b80 .byte 0x00, 0x50, 0x00, 0x00 .global data_ov15_02185b84 data_ov15_02185b84: ; 0x02185b84 .byte 0x00, 0x40, 0x00, 0x00 .global data_ov15_02185b88 data_ov15_02185b88: ; 0x02185b88 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185b8c data_ov15_02185b8c: ; 0x02185b8c .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02185b94 data_ov15_02185b94: ; 0x02185b94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185b98 data_ov15_02185b98: ; 0x02185b98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185b9c data_ov15_02185b9c: ; 0x02185b9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ba0 data_ov15_02185ba0: ; 0x02185ba0 .ascii "attack1" .byte 0x00 .global data_ov15_02185ba8 data_ov15_02185ba8: ; 0x02185ba8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bac data_ov15_02185bac: ; 0x02185bac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bb0 data_ov15_02185bb0: ; 0x02185bb0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185bb4 data_ov15_02185bb4: ; 0x02185bb4 .ascii "damage1" .byte 0x00 .global data_ov15_02185bbc data_ov15_02185bbc: ; 0x02185bbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bc0 data_ov15_02185bc0: ; 0x02185bc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bc4 data_ov15_02185bc4: ; 0x02185bc4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185bc8 data_ov15_02185bc8: ; 0x02185bc8 .byte 0x00, 0x40, 0x00, 0x00 .global data_ov15_02185bcc data_ov15_02185bcc: ; 0x02185bcc .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02185bd0 data_ov15_02185bd0: ; 0x02185bd0 .byte 0x00, 0x00, 0x01, 0x00 .global data_ov15_02185bd4 data_ov15_02185bd4: ; 0x02185bd4 .byte 0x00, 0x60, 0x01, 0x00 .global data_ov15_02185bd8 data_ov15_02185bd8: ; 0x02185bd8 .byte 0x00, 0xc0, 0x01, 0x00 .global data_ov15_02185bdc data_ov15_02185bdc: ; 0x02185bdc .byte 0x00, 0x20, 0x02, 0x00 .global data_ov15_02185be0 data_ov15_02185be0: ; 0x02185be0 .byte 0x00, 0x80, 0x02, 0x00 .global data_ov15_02185be4 data_ov15_02185be4: ; 0x02185be4 .byte 0x00, 0xe0, 0x02, 0x00 .global data_ov15_02185be8 data_ov15_02185be8: ; 0x02185be8 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02185bf0 data_ov15_02185bf0: ; 0x02185bf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bf4 data_ov15_02185bf4: ; 0x02185bf4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bf8 data_ov15_02185bf8: ; 0x02185bf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185bfc data_ov15_02185bfc: ; 0x02185bfc .ascii "damage1" .byte 0x00 .global data_ov15_02185c04 data_ov15_02185c04: ; 0x02185c04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c08 data_ov15_02185c08: ; 0x02185c08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c0c data_ov15_02185c0c: ; 0x02185c0c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185c10 data_ov15_02185c10: ; 0x02185c10 .ascii "is_philos2" .byte 0x00, 0x00 .global data_ov15_02185c1c data_ov15_02185c1c: ; 0x02185c1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c20 data_ov15_02185c20: ; 0x02185c20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c24 data_ov15_02185c24: ; 0x02185c24 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185c28 data_ov15_02185c28: ; 0x02185c28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c2c data_ov15_02185c2c: ; 0x02185c2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c30 data_ov15_02185c30: ; 0x02185c30 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185c34 data_ov15_02185c34: ; 0x02185c34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c38 data_ov15_02185c38: ; 0x02185c38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c3c data_ov15_02185c3c: ; 0x02185c3c .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185c40 data_ov15_02185c40: ; 0x02185c40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c44 data_ov15_02185c44: ; 0x02185c44 .ascii "smoke" .byte 0x00, 0x00, 0x00 .global data_ov15_02185c4c data_ov15_02185c4c: ; 0x02185c4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c50 data_ov15_02185c50: ; 0x02185c50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c54 data_ov15_02185c54: ; 0x02185c54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c58 data_ov15_02185c58: ; 0x02185c58 .ascii "is_main" .byte 0x00 .global data_ov15_02185c60 data_ov15_02185c60: ; 0x02185c60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c64 data_ov15_02185c64: ; 0x02185c64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c68 data_ov15_02185c68: ; 0x02185c68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c6c data_ov15_02185c6c: ; 0x02185c6c .byte 0x00, 0x60, 0x00, 0x00 .global data_ov15_02185c70 data_ov15_02185c70: ; 0x02185c70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c74 data_ov15_02185c74: ; 0x02185c74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c78 data_ov15_02185c78: ; 0x02185c78 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185c7c data_ov15_02185c7c: ; 0x02185c7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c80 data_ov15_02185c80: ; 0x02185c80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c84 data_ov15_02185c84: ; 0x02185c84 .byte 0x00, 0x80, 0x00, 0x00 .global data_ov15_02185c88 data_ov15_02185c88: ; 0x02185c88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c8c data_ov15_02185c8c: ; 0x02185c8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c90 data_ov15_02185c90: ; 0x02185c90 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185c94 data_ov15_02185c94: ; 0x02185c94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185c98 data_ov15_02185c98: ; 0x02185c98 .ascii "smoke" .byte 0x00, 0x00, 0x00 .global data_ov15_02185ca0 data_ov15_02185ca0: ; 0x02185ca0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ca4 data_ov15_02185ca4: ; 0x02185ca4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ca8 data_ov15_02185ca8: ; 0x02185ca8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cac data_ov15_02185cac: ; 0x02185cac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cb0 data_ov15_02185cb0: ; 0x02185cb0 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185cb4 data_ov15_02185cb4: ; 0x02185cb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cb8 data_ov15_02185cb8: ; 0x02185cb8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cbc data_ov15_02185cbc: ; 0x02185cbc .byte 0x00, 0x60, 0x00, 0x00 .global data_ov15_02185cc0 data_ov15_02185cc0: ; 0x02185cc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cc4 data_ov15_02185cc4: ; 0x02185cc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cc8 data_ov15_02185cc8: ; 0x02185cc8 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185ccc data_ov15_02185ccc: ; 0x02185ccc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cd0 data_ov15_02185cd0: ; 0x02185cd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cd4 data_ov15_02185cd4: ; 0x02185cd4 .byte 0x00, 0x18, 0x00, 0x00 .global data_ov15_02185cd8 data_ov15_02185cd8: ; 0x02185cd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cdc data_ov15_02185cdc: ; 0x02185cdc .byte 0x66, 0x26, 0x00, 0x00 .global data_ov15_02185ce0 data_ov15_02185ce0: ; 0x02185ce0 .byte 0xcd, 0x24, 0x00, 0x00 .global data_ov15_02185ce4 data_ov15_02185ce4: ; 0x02185ce4 .byte 0x9a, 0x21, 0x00, 0x00 .global data_ov15_02185ce8 data_ov15_02185ce8: ; 0x02185ce8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cec data_ov15_02185cec: ; 0x02185cec .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02185cf0 data_ov15_02185cf0: ; 0x02185cf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cf4 data_ov15_02185cf4: ; 0x02185cf4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185cf8 data_ov15_02185cf8: ; 0x02185cf8 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02185cfc data_ov15_02185cfc: ; 0x02185cfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d00 data_ov15_02185d00: ; 0x02185d00 .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov15_02185d04 data_ov15_02185d04: ; 0x02185d04 .byte 0x03, 0x00 .global data_ov15_02185d06 data_ov15_02185d06: ; 0x02185d06 .byte 0x03, 0x00 .global data_ov15_02185d08 data_ov15_02185d08: ; 0x02185d08 .byte 0x06, 0x00 .global data_ov15_02185d0a data_ov15_02185d0a: ; 0x02185d0a .byte 0x1e, 0x00 .global data_ov15_02185d0c data_ov15_02185d0c: ; 0x02185d0c .byte 0x33, 0x03 .global data_ov15_02185d0e data_ov15_02185d0e: ; 0x02185d0e .byte 0x00, 0x00 .global data_ov15_02185d10 data_ov15_02185d10: ; 0x02185d10 .byte 0x05, 0x00 .global data_ov15_02185d12 data_ov15_02185d12: ; 0x02185d12 .byte 0x03, 0x00 .global data_ov15_02185d14 data_ov15_02185d14: ; 0x02185d14 .byte 0x02, 0x00 .global data_ov15_02185d16 data_ov15_02185d16: ; 0x02185d16 .byte 0x1e, 0x00 .global data_ov15_02185d18 data_ov15_02185d18: ; 0x02185d18 .byte 0x00, 0x08 .global data_ov15_02185d1a data_ov15_02185d1a: ; 0x02185d1a .byte 0x00, 0x00 .global data_ov15_02185d1c data_ov15_02185d1c: ; 0x02185d1c .byte 0x03, 0x00 .global data_ov15_02185d1e data_ov15_02185d1e: ; 0x02185d1e .byte 0x02, 0x00 .global data_ov15_02185d20 data_ov15_02185d20: ; 0x02185d20 .byte 0x02, 0x00 .global data_ov15_02185d22 data_ov15_02185d22: ; 0x02185d22 .byte 0x32, 0x00 .global data_ov15_02185d24 data_ov15_02185d24: ; 0x02185d24 .byte 0x00, 0x00 .global data_ov15_02185d26 data_ov15_02185d26: ; 0x02185d26 .byte 0x01, 0x00 .global data_ov15_02185d28 data_ov15_02185d28: ; 0x02185d28 .byte 0x20, 0x00, 0x00, 0x00 .global data_ov15_02185d2c data_ov15_02185d2c: ; 0x02185d2c .byte 0x30, 0x00, 0x00, 0x00 .global data_ov15_02185d30 data_ov15_02185d30: ; 0x02185d30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d34 data_ov15_02185d34: ; 0x02185d34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d38 data_ov15_02185d38: ; 0x02185d38 .byte 0x33, 0xff, 0xff, 0xff .global data_ov15_02185d3c data_ov15_02185d3c: ; 0x02185d3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d40 data_ov15_02185d40: ; 0x02185d40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d44 data_ov15_02185d44: ; 0x02185d44 .byte 0xcd, 0x00, 0x00, 0x00 .global data_ov15_02185d48 data_ov15_02185d48: ; 0x02185d48 .byte 0x04 .global data_ov15_02185d49 data_ov15_02185d49: ; 0x02185d49 .byte 0x02 .global data_ov15_02185d4a data_ov15_02185d4a: ; 0x02185d4a .byte 0x01 .global data_ov15_02185d4b data_ov15_02185d4b: ; 0x02185d4b .byte 0x08 .global data_ov15_02185d4c data_ov15_02185d4c: ; 0x02185d4c .byte 0x06 .global data_ov15_02185d4d data_ov15_02185d4d: ; 0x02185d4d .byte 0x02 .global data_ov15_02185d4e data_ov15_02185d4e: ; 0x02185d4e .byte 0x00 .global data_ov15_02185d4f data_ov15_02185d4f: ; 0x02185d4f .byte 0x00 .global data_ov15_02185d50 data_ov15_02185d50: ; 0x02185d50 .word func_ov15_0212d528 .global data_ov15_02185d54 data_ov15_02185d54: ; 0x02185d54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d58 data_ov15_02185d58: ; 0x02185d58 .word func_ov15_0212d580 .global data_ov15_02185d5c data_ov15_02185d5c: ; 0x02185d5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d60 data_ov15_02185d60: ; 0x02185d60 .word func_ov15_0212d858 .global data_ov15_02185d64 data_ov15_02185d64: ; 0x02185d64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d68 data_ov15_02185d68: ; 0x02185d68 .word func_ov15_0212dbbc .global data_ov15_02185d6c data_ov15_02185d6c: ; 0x02185d6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d70 data_ov15_02185d70: ; 0x02185d70 .word func_ov15_0212dd20 .global data_ov15_02185d74 data_ov15_02185d74: ; 0x02185d74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d78 data_ov15_02185d78: ; 0x02185d78 .word func_ov15_0212dd90 .global data_ov15_02185d7c data_ov15_02185d7c: ; 0x02185d7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d80 data_ov15_02185d80: ; 0x02185d80 .word func_ov15_0212e078 .global data_ov15_02185d84 data_ov15_02185d84: ; 0x02185d84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d88 data_ov15_02185d88: ; 0x02185d88 .word func_ov15_0212e16c .global data_ov15_02185d8c data_ov15_02185d8c: ; 0x02185d8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d90 data_ov15_02185d90: ; 0x02185d90 .word func_ov15_0212e198 .global data_ov15_02185d94 data_ov15_02185d94: ; 0x02185d94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185d98 data_ov15_02185d98: ; 0x02185d98 .byte 0x52, 0x00, 0x00, 0x00 .global data_ov15_02185d9c data_ov15_02185d9c: ; 0x02185d9c .byte 0x1f, 0x01, 0x00, 0x00 .global data_ov15_02185da0 data_ov15_02185da0: ; 0x02185da0 .byte 0x00, 0xc0, 0xff, 0xff .global data_ov15_02185da4 data_ov15_02185da4: ; 0x02185da4 .ascii "head" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185dac data_ov15_02185dac: ; 0x02185dac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185db0 data_ov15_02185db0: ; 0x02185db0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185db4 data_ov15_02185db4: ; 0x02185db4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185db8 data_ov15_02185db8: ; 0x02185db8 .byte 0x91, 0x00, 0x00, 0x00 .global data_ov15_02185dbc data_ov15_02185dbc: ; 0x02185dbc .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02185dc0 data_ov15_02185dc0: ; 0x02185dc0 .ascii "PISG" .global data_ov15_02185dc4 data_ov15_02185dc4: ; 0x02185dc4 .word data_ov15_02185db8 ; data_ov32_02185db8, data_ov34_02185db8, data_ov35_02185db8 .global data_ov15_02185dc8 data_ov15_02185dc8: ; 0x02185dc8 .byte 0x52, 0x00, 0x00, 0x00 .global data_ov15_02185dcc data_ov15_02185dcc: ; 0x02185dcc .byte 0x52, 0x00, 0x00, 0x00 .global data_ov15_02185dd0 data_ov15_02185dd0: ; 0x02185dd0 .byte 0xa4, 0x00, 0x00, 0x00 .global data_ov15_02185dd4 data_ov15_02185dd4: ; 0x02185dd4 .byte 0x48, 0x01, 0x00, 0x00 .global data_ov15_02185dd8 data_ov15_02185dd8: ; 0x02185dd8 .byte 0x10, 0x00 .global data_ov15_02185dda data_ov15_02185dda: ; 0x02185dda .byte 0x05, 0x00 .global data_ov15_02185ddc data_ov15_02185ddc: ; 0x02185ddc .byte 0x12, 0x00 .global data_ov15_02185dde data_ov15_02185dde: ; 0x02185dde .byte 0x05, 0x00 .global data_ov15_02185de0 data_ov15_02185de0: ; 0x02185de0 .byte 0x13, 0x00 .global data_ov15_02185de2 data_ov15_02185de2: ; 0x02185de2 .byte 0x05, 0x00 .global data_ov15_02185de4 data_ov15_02185de4: ; 0x02185de4 .byte 0x14, 0x00 .global data_ov15_02185de6 data_ov15_02185de6: ; 0x02185de6 .byte 0x05, 0x00 .global data_ov15_02185de8 data_ov15_02185de8: ; 0x02185de8 .byte 0x15, 0x00 .global data_ov15_02185dea data_ov15_02185dea: ; 0x02185dea .byte 0x05, 0x00 .global data_ov15_02185dec data_ov15_02185dec: ; 0x02185dec .byte 0x16, 0x00 .global data_ov15_02185dee data_ov15_02185dee: ; 0x02185dee .byte 0x05, 0x00 .global data_ov15_02185df0 data_ov15_02185df0: ; 0x02185df0 .byte 0x17, 0x00 .global data_ov15_02185df2 data_ov15_02185df2: ; 0x02185df2 .byte 0x05, 0x00 .global data_ov15_02185df4 data_ov15_02185df4: ; 0x02185df4 .byte 0x18, 0x00 .global data_ov15_02185df6 data_ov15_02185df6: ; 0x02185df6 .byte 0x05, 0x00 .global data_ov15_02185df8 data_ov15_02185df8: ; 0x02185df8 .byte 0x19, 0x00 .global data_ov15_02185dfa data_ov15_02185dfa: ; 0x02185dfa .byte 0x05, 0x00 .global data_ov15_02185dfc data_ov15_02185dfc: ; 0x02185dfc .byte 0x11, 0x00 .global data_ov15_02185dfe data_ov15_02185dfe: ; 0x02185dfe .byte 0x05, 0x00 .global data_ov15_02185e00 data_ov15_02185e00: ; 0x02185e00 .byte 0x66, 0x16 .global data_ov15_02185e02 data_ov15_02185e02: ; 0x02185e02 .byte 0x00, 0x00 .global data_ov15_02185e04 data_ov15_02185e04: ; 0x02185e04 .byte 0x9a, 0x05 .global data_ov15_02185e06 data_ov15_02185e06: ; 0x02185e06 .byte 0x00, 0x00 .global data_ov15_02185e08 data_ov15_02185e08: ; 0x02185e08 .byte 0x66, 0x2e .global data_ov15_02185e0a data_ov15_02185e0a: ; 0x02185e0a .byte 0x00, 0x00 .global data_ov15_02185e0c data_ov15_02185e0c: ; 0x02185e0c .byte 0x9a, 0xe9 .global data_ov15_02185e0e data_ov15_02185e0e: ; 0x02185e0e .byte 0xff, 0xff .global data_ov15_02185e10 data_ov15_02185e10: ; 0x02185e10 .byte 0x9a, 0x05 .global data_ov15_02185e12 data_ov15_02185e12: ; 0x02185e12 .byte 0x00, 0x00 .global data_ov15_02185e14 data_ov15_02185e14: ; 0x02185e14 .byte 0x66, 0x2e .global data_ov15_02185e16 data_ov15_02185e16: ; 0x02185e16 .byte 0x00, 0x00 .global data_ov15_02185e18 data_ov15_02185e18: ; 0x02185e18 .ascii "cruise" .byte 0x00, 0x00 .global data_ov15_02185e20 data_ov15_02185e20: ; 0x02185e20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e24 data_ov15_02185e24: ; 0x02185e24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e28 data_ov15_02185e28: ; 0x02185e28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e2c data_ov15_02185e2c: ; 0x02185e2c .ascii "damage1" .byte 0x00 .global data_ov15_02185e34 data_ov15_02185e34: ; 0x02185e34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e38 data_ov15_02185e38: ; 0x02185e38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e3c data_ov15_02185e3c: ; 0x02185e3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e40 data_ov15_02185e40: ; 0x02185e40 .byte 0x00, 0x80, 0xff, 0xff .global data_ov15_02185e44 data_ov15_02185e44: ; 0x02185e44 .ascii "phantom_base" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e54 data_ov15_02185e54: ; 0x02185e54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e58 data_ov15_02185e58: ; 0x02185e58 .ascii "ef_seatornado1" .byte 0x00, 0x00 .global data_ov15_02185e68 data_ov15_02185e68: ; 0x02185e68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e6c data_ov15_02185e6c: ; 0x02185e6c .byte 0x00, 0x60, 0x00, 0x00 .global data_ov15_02185e70 data_ov15_02185e70: ; 0x02185e70 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_02185e74 data_ov15_02185e74: ; 0x02185e74 .byte 0x00, 0x90, 0x00, 0x00 .global data_ov15_02185e78 data_ov15_02185e78: ; 0x02185e78 .ascii "tornado1_b" .byte 0x00, 0x00 .global data_ov15_02185e84 data_ov15_02185e84: ; 0x02185e84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e88 data_ov15_02185e88: ; 0x02185e88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e8c data_ov15_02185e8c: ; 0x02185e8c .ascii "tornado1_f" .byte 0x00, 0x00 .global data_ov15_02185e98 data_ov15_02185e98: ; 0x02185e98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185e9c data_ov15_02185e9c: ; 0x02185e9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ea0 data_ov15_02185ea0: ; 0x02185ea0 .ascii "LBNC" .global data_ov15_02185ea4 data_ov15_02185ea4: ; 0x02185ea4 .ascii "LLUN" .global data_ov15_02185ea8 data_ov15_02185ea8: ; 0x02185ea8 .word func_ov15_021348c8 .global data_ov15_02185eac data_ov15_02185eac: ; 0x02185eac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185eb0 data_ov15_02185eb0: ; 0x02185eb0 .word func_ov15_021349a8 .global data_ov15_02185eb4 data_ov15_02185eb4: ; 0x02185eb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185eb8 data_ov15_02185eb8: ; 0x02185eb8 .word func_ov15_021349e4 .global data_ov15_02185ebc data_ov15_02185ebc: ; 0x02185ebc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ec0 data_ov15_02185ec0: ; 0x02185ec0 .word func_ov15_021349e4 .global data_ov15_02185ec4 data_ov15_02185ec4: ; 0x02185ec4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ec8 data_ov15_02185ec8: ; 0x02185ec8 .word func_ov15_02134a2c .global data_ov15_02185ecc data_ov15_02185ecc: ; 0x02185ecc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ed0 data_ov15_02185ed0: ; 0x02185ed0 .word func_ov15_02134ae4 .global data_ov15_02185ed4 data_ov15_02185ed4: ; 0x02185ed4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ed8 data_ov15_02185ed8: ; 0x02185ed8 .word func_ov15_02135130 .global data_ov15_02185edc data_ov15_02185edc: ; 0x02185edc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ee0 data_ov15_02185ee0: ; 0x02185ee0 .word func_ov15_02135130 .global data_ov15_02185ee4 data_ov15_02185ee4: ; 0x02185ee4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ee8 data_ov15_02185ee8: ; 0x02185ee8 .word func_ov15_02134cfc .global data_ov15_02185eec data_ov15_02185eec: ; 0x02185eec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ef0 data_ov15_02185ef0: ; 0x02185ef0 .word func_ov15_02135130 .global data_ov15_02185ef4 data_ov15_02185ef4: ; 0x02185ef4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ef8 data_ov15_02185ef8: ; 0x02185ef8 .word func_ov15_02135130 .global data_ov15_02185efc data_ov15_02185efc: ; 0x02185efc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f00 data_ov15_02185f00: ; 0x02185f00 .byte 0x00 .global data_ov15_02185f01 data_ov15_02185f01: ; 0x02185f01 .byte 0x01 .global data_ov15_02185f02 data_ov15_02185f02: ; 0x02185f02 .byte 0x02 .global data_ov15_02185f03 data_ov15_02185f03: ; 0x02185f03 .byte 0x03 .global data_ov15_02185f04 data_ov15_02185f04: ; 0x02185f04 .byte 0x05 .global data_ov15_02185f05 data_ov15_02185f05: ; 0x02185f05 .byte 0x00 .global data_ov15_02185f06 data_ov15_02185f06: ; 0x02185f06 .byte 0x00 .global data_ov15_02185f07 data_ov15_02185f07: ; 0x02185f07 .byte 0x00 .global data_ov15_02185f08 data_ov15_02185f08: ; 0x02185f08 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185f0c data_ov15_02185f0c: ; 0x02185f0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f10 data_ov15_02185f10: ; 0x02185f10 .ascii "mouth" .byte 0x00, 0x00, 0x00 .global data_ov15_02185f18 data_ov15_02185f18: ; 0x02185f18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f1c data_ov15_02185f1c: ; 0x02185f1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f20 data_ov15_02185f20: ; 0x02185f20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f24 data_ov15_02185f24: ; 0x02185f24 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02185f2c data_ov15_02185f2c: ; 0x02185f2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f30 data_ov15_02185f30: ; 0x02185f30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f34 data_ov15_02185f34: ; 0x02185f34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f38 data_ov15_02185f38: ; 0x02185f38 .ascii "attack1" .byte 0x00 .global data_ov15_02185f40 data_ov15_02185f40: ; 0x02185f40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f44 data_ov15_02185f44: ; 0x02185f44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f48 data_ov15_02185f48: ; 0x02185f48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f4c data_ov15_02185f4c: ; 0x02185f4c .ascii "damage1" .byte 0x00 .global data_ov15_02185f54 data_ov15_02185f54: ; 0x02185f54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f58 data_ov15_02185f58: ; 0x02185f58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f5c data_ov15_02185f5c: ; 0x02185f5c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185f60 data_ov15_02185f60: ; 0x02185f60 .ascii "dead1" .byte 0x00, 0x00, 0x00 .global data_ov15_02185f68 data_ov15_02185f68: ; 0x02185f68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f6c data_ov15_02185f6c: ; 0x02185f6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f70 data_ov15_02185f70: ; 0x02185f70 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185f74 data_ov15_02185f74: ; 0x02185f74 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02185f7c data_ov15_02185f7c: ; 0x02185f7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f80 data_ov15_02185f80: ; 0x02185f80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f84 data_ov15_02185f84: ; 0x02185f84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f88 data_ov15_02185f88: ; 0x02185f88 .ascii "wait2" .byte 0x00, 0x00, 0x00 .global data_ov15_02185f90 data_ov15_02185f90: ; 0x02185f90 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f94 data_ov15_02185f94: ; 0x02185f94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185f98 data_ov15_02185f98: ; 0x02185f98 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02185f9c data_ov15_02185f9c: ; 0x02185f9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fa0 data_ov15_02185fa0: ; 0x02185fa0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fa4 data_ov15_02185fa4: ; 0x02185fa4 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02185fa8 data_ov15_02185fa8: ; 0x02185fa8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fac data_ov15_02185fac: ; 0x02185fac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fb0 data_ov15_02185fb0: ; 0x02185fb0 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02185fb4 data_ov15_02185fb4: ; 0x02185fb4 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_02185fb8 data_ov15_02185fb8: ; 0x02185fb8 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02185fbc data_ov15_02185fbc: ; 0x02185fbc .byte 0x00, 0x08, 0x00, 0x00 .global data_ov15_02185fc0 data_ov15_02185fc0: ; 0x02185fc0 .byte 0x00, 0x80, 0x03, 0x00 .global data_ov15_02185fc4 data_ov15_02185fc4: ; 0x02185fc4 .byte 0x00, 0x30, 0x05, 0x00 .global data_ov15_02185fc8 data_ov15_02185fc8: ; 0x02185fc8 .byte 0x00, 0x20, 0x07, 0x00 .global data_ov15_02185fcc data_ov15_02185fcc: ; 0x02185fcc .word func_ov15_0213f7cc .global data_ov15_02185fd0 data_ov15_02185fd0: ; 0x02185fd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fd4 data_ov15_02185fd4: ; 0x02185fd4 .word func_ov15_0213f80c .global data_ov15_02185fd8 data_ov15_02185fd8: ; 0x02185fd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fdc data_ov15_02185fdc: ; 0x02185fdc .word func_ov15_0213fbb0 ; func_ov60_0213fbb0 .global data_ov15_02185fe0 data_ov15_02185fe0: ; 0x02185fe0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fe4 data_ov15_02185fe4: ; 0x02185fe4 .word func_ov15_0213fce8 .global data_ov15_02185fe8 data_ov15_02185fe8: ; 0x02185fe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185fec data_ov15_02185fec: ; 0x02185fec .word func_ov15_0213ff00 ; func_ov60_0213ff00 .global data_ov15_02185ff0 data_ov15_02185ff0: ; 0x02185ff0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ff4 data_ov15_02185ff4: ; 0x02185ff4 .word func_ov15_02140264 .global data_ov15_02185ff8 data_ov15_02185ff8: ; 0x02185ff8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02185ffc data_ov15_02185ffc: ; 0x02185ffc .word func_ov15_02140344 .global data_ov15_02186000 data_ov15_02186000: ; 0x02186000 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186004 data_ov15_02186004: ; 0x02186004 .word func_ov15_0214036c .global data_ov15_02186008 data_ov15_02186008: ; 0x02186008 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218600c data_ov15_0218600c: ; 0x0218600c .word func_ov15_021403bc .global data_ov15_02186010 data_ov15_02186010: ; 0x02186010 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186014 data_ov15_02186014: ; 0x02186014 .word func_ov15_02140424 .global data_ov15_02186018 data_ov15_02186018: ; 0x02186018 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218601c data_ov15_0218601c: ; 0x0218601c .word func_ov15_0214059c .global data_ov15_02186020 data_ov15_02186020: ; 0x02186020 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186024 data_ov15_02186024: ; 0x02186024 .word func_ov15_021407c4 .global data_ov15_02186028 data_ov15_02186028: ; 0x02186028 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218602c data_ov15_0218602c: ; 0x0218602c .word func_ov15_021407f4 .global data_ov15_02186030 data_ov15_02186030: ; 0x02186030 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186034 data_ov15_02186034: ; 0x02186034 .ascii "appear1" .byte 0x00 .global data_ov15_0218603c data_ov15_0218603c: ; 0x0218603c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186040 data_ov15_02186040: ; 0x02186040 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186044 data_ov15_02186044: ; 0x02186044 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186048 data_ov15_02186048: ; 0x02186048 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186050 data_ov15_02186050: ; 0x02186050 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186054 data_ov15_02186054: ; 0x02186054 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186058 data_ov15_02186058: ; 0x02186058 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218605c data_ov15_0218605c: ; 0x0218605c .ascii "hide1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186064 data_ov15_02186064: ; 0x02186064 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186068 data_ov15_02186068: ; 0x02186068 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218606c data_ov15_0218606c: ; 0x0218606c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186070 data_ov15_02186070: ; 0x02186070 .ascii "hide_end" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218607c data_ov15_0218607c: ; 0x0218607c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186080 data_ov15_02186080: ; 0x02186080 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186084 data_ov15_02186084: ; 0x02186084 .ascii "attack1" .byte 0x00 .global data_ov15_0218608c data_ov15_0218608c: ; 0x0218608c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186090 data_ov15_02186090: ; 0x02186090 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186094 data_ov15_02186094: ; 0x02186094 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186098 data_ov15_02186098: ; 0x02186098 .ascii "damage1" .byte 0x00 .global data_ov15_021860a0 data_ov15_021860a0: ; 0x021860a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860a4 data_ov15_021860a4: ; 0x021860a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860a8 data_ov15_021860a8: ; 0x021860a8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021860ac data_ov15_021860ac: ; 0x021860ac .ascii "dead1" .byte 0x00, 0x00, 0x00 .global data_ov15_021860b4 data_ov15_021860b4: ; 0x021860b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860b8 data_ov15_021860b8: ; 0x021860b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860bc data_ov15_021860bc: ; 0x021860bc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021860c0 data_ov15_021860c0: ; 0x021860c0 .ascii "head2" .byte 0x00, 0x00, 0x00 .global data_ov15_021860c8 data_ov15_021860c8: ; 0x021860c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860cc data_ov15_021860cc: ; 0x021860cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860d0 data_ov15_021860d0: ; 0x021860d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860d4 data_ov15_021860d4: ; 0x021860d4 .ascii "mouth" .byte 0x00, 0x00, 0x00 .global data_ov15_021860dc data_ov15_021860dc: ; 0x021860dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860e0 data_ov15_021860e0: ; 0x021860e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860e4 data_ov15_021860e4: ; 0x021860e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860e8 data_ov15_021860e8: ; 0x021860e8 .ascii "salvage_BG00" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021860f8 data_ov15_021860f8: ; 0x021860f8 .ascii "salvage_BG01" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186108 data_ov15_02186108: ; 0x02186108 .ascii "cc_suji" .byte 0x00 .global data_ov15_02186110 data_ov15_02186110: ; 0x02186110 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186114 data_ov15_02186114: ; 0x02186114 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186118 data_ov15_02186118: ; 0x02186118 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218611c data_ov15_0218611c: ; 0x0218611c .ascii "cc_yurayura" .byte 0x00 .global data_ov15_02186128 data_ov15_02186128: ; 0x02186128 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218612c data_ov15_0218612c: ; 0x0218612c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186130 data_ov15_02186130: ; 0x02186130 .byte 0xcd, 0x03 .global data_ov15_02186132 data_ov15_02186132: ; 0x02186132 .byte 0xce, 0x03 .global data_ov15_02186134 data_ov15_02186134: ; 0x02186134 .byte 0xcc, 0x03 .global data_ov15_02186136 data_ov15_02186136: ; 0x02186136 .byte 0xca, 0x03 .global data_ov15_02186138 data_ov15_02186138: ; 0x02186138 .byte 0xcb, 0x03 .global data_ov15_0218613a data_ov15_0218613a: ; 0x0218613a .byte 0xc9, 0x03 .global data_ov15_0218613c data_ov15_0218613c: ; 0x0218613c .byte 0x29, 0x00, 0x00, 0x00 .global data_ov15_02186140 data_ov15_02186140: ; 0x02186140 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_02186144 data_ov15_02186144: ; 0x02186144 .byte 0x52, 0x00, 0x00, 0x00 .global data_ov15_02186148 data_ov15_02186148: ; 0x02186148 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218614c data_ov15_0218614c: ; 0x0218614c .byte 0xec, 0xff, 0xff, 0xff .global data_ov15_02186150 data_ov15_02186150: ; 0x02186150 .byte 0xae, 0xff, 0xff, 0xff .global data_ov15_02186154 data_ov15_02186154: ; 0x02186154 .byte 0xdb, 0x03, 0x00, 0x00 .global data_ov15_02186158 data_ov15_02186158: ; 0x02186158 .byte 0xdc, 0x03, 0x00, 0x00 .global data_ov15_0218615c data_ov15_0218615c: ; 0x0218615c .byte 0xdd, 0x03, 0x00, 0x00 .global data_ov15_02186160 data_ov15_02186160: ; 0x02186160 .byte 0xde, 0x03, 0x00, 0x00 .global data_ov15_02186164 data_ov15_02186164: ; 0x02186164 .byte 0xdf, 0x03, 0x00, 0x00 .global data_ov15_02186168 data_ov15_02186168: ; 0x02186168 .byte 0x90, 0x00, 0x00, 0x00 .global data_ov15_0218616c data_ov15_0218616c: ; 0x0218616c .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186170 data_ov15_02186170: ; 0x02186170 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186174 data_ov15_02186174: ; 0x02186174 .ascii "RALS" .global data_ov15_02186178 data_ov15_02186178: ; 0x02186178 .word data_ov15_02186168 ; data_ov32_02186168, data_ov34_02186168, data_ov35_02186168, data_ov39_02186168 .global data_ov15_0218617c data_ov15_0218617c: ; 0x0218617c .ascii "RALS" .global data_ov15_02186180 data_ov15_02186180: ; 0x02186180 .word data_ov15_02186170 ; data_ov32_02186170, data_ov34_02186170, data_ov35_02186170, data_ov39_02186170 .global data_ov15_02186184 data_ov15_02186184: ; 0x02186184 .ascii "unite" .byte 0x00, 0x00, 0x00 .global data_ov15_0218618c data_ov15_0218618c: ; 0x0218618c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186190 data_ov15_02186190: ; 0x02186190 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186194 data_ov15_02186194: ; 0x02186194 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218619c data_ov15_0218619c: ; 0x0218619c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021861a0 data_ov15_021861a0: ; 0x021861a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021861a4 data_ov15_021861a4: ; 0x021861a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021861a8 data_ov15_021861a8: ; 0x021861a8 .ascii "jump" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021861b0 data_ov15_021861b0: ; 0x021861b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021861b4 data_ov15_021861b4: ; 0x021861b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021861b8 data_ov15_021861b8: ; 0x021861b8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021861bc data_ov15_021861bc: ; 0x021861bc .byte 0x0f, 0x00, 0x00, 0x00 .global data_ov15_021861c0 data_ov15_021861c0: ; 0x021861c0 .byte 0x32, 0x00, 0x00, 0x00 .global data_ov15_021861c4 data_ov15_021861c4: ; 0x021861c4 .byte 0x50, 0x00, 0x00, 0x00 .global data_ov15_021861c8 data_ov15_021861c8: ; 0x021861c8 .byte 0x99, 0x00, 0x00, 0x00 .global data_ov15_021861cc data_ov15_021861cc: ; 0x021861cc .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_021861d0 data_ov15_021861d0: ; 0x021861d0 .byte 0x50, 0x00, 0x00, 0x00 .global data_ov15_021861d4 data_ov15_021861d4: ; 0x021861d4 .byte 0x8c, 0x00, 0x00, 0x00 .global data_ov15_021861d8 data_ov15_021861d8: ; 0x021861d8 .byte 0x9a, 0x00, 0x00, 0x00 .global data_ov15_021861dc data_ov15_021861dc: ; 0x021861dc .byte 0x28, 0x00, 0x00, 0x00 .global data_ov15_021861e0 data_ov15_021861e0: ; 0x021861e0 .byte 0x96, 0x00, 0x00, 0x00 .global data_ov15_021861e4 data_ov15_021861e4: ; 0x021861e4 .byte 0xd2, 0x00, 0x00, 0x00 .global data_ov15_021861e8 data_ov15_021861e8: ; 0x021861e8 .byte 0x9b, 0x00, 0x00, 0x00 .global data_ov15_021861ec data_ov15_021861ec: ; 0x021861ec .byte 0x50, 0x00, 0x00, 0x00 .global data_ov15_021861f0 data_ov15_021861f0: ; 0x021861f0 .byte 0x2c, 0x01, 0x00, 0x00 .global data_ov15_021861f4 data_ov15_021861f4: ; 0x021861f4 .byte 0xa4, 0x01, 0x00, 0x00 .global data_ov15_021861f8 data_ov15_021861f8: ; 0x021861f8 .byte 0x9c, 0x00, 0x00, 0x00 .global data_ov15_021861fc data_ov15_021861fc: ; 0x021861fc .byte 0x64, 0x00, 0x00, 0x00 .global data_ov15_02186200 data_ov15_02186200: ; 0x02186200 .byte 0x0d, 0x02, 0x00, 0x00 .global data_ov15_02186204 data_ov15_02186204: ; 0x02186204 .byte 0x0d, 0x02, 0x00, 0x00 .global data_ov15_02186208 data_ov15_02186208: ; 0x02186208 .byte 0x9d, 0x00, 0x00, 0x00 .global data_ov15_0218620c data_ov15_0218620c: ; 0x0218620c .byte 0x33, 0x03, 0x00, 0x00 .global data_ov15_02186210 data_ov15_02186210: ; 0x02186210 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_02186214 data_ov15_02186214: ; 0x02186214 .byte 0x00, 0x08, 0x00, 0x00 .global data_ov15_02186218 data_ov15_02186218: ; 0x02186218 .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov15_0218621c data_ov15_0218621c: ; 0x0218621c .byte 0x66, 0x0e, 0x00, 0x00 .global data_ov15_02186220 data_ov15_02186220: ; 0x02186220 .byte 0x04, 0x10, 0x00, 0x00 .global data_ov15_02186224 data_ov15_02186224: ; 0x02186224 .byte 0x06, 0x10, 0x00, 0x00 .global data_ov15_02186228 data_ov15_02186228: ; 0x02186228 .byte 0x07, 0x10, 0x00, 0x00 .global data_ov15_0218622c data_ov15_0218622c: ; 0x0218622c .byte 0x03, 0x10, 0x00, 0x00 .global data_ov15_02186230 data_ov15_02186230: ; 0x02186230 .byte 0x05, 0x10, 0x00, 0x00 .global data_ov15_02186234 data_ov15_02186234: ; 0x02186234 .ascii "joint_fp01" .byte 0x00, 0x00 .global data_ov15_02186240 data_ov15_02186240: ; 0x02186240 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186244 data_ov15_02186244: ; 0x02186244 .ascii "joint_fp02" .byte 0x00, 0x00 .global data_ov15_02186250 data_ov15_02186250: ; 0x02186250 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186254 data_ov15_02186254: ; 0x02186254 .ascii "joint_fp03" .byte 0x00, 0x00 .global data_ov15_02186260 data_ov15_02186260: ; 0x02186260 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186264 data_ov15_02186264: ; 0x02186264 .ascii "joint_fp04" .byte 0x00, 0x00 .global data_ov15_02186270 data_ov15_02186270: ; 0x02186270 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186274 data_ov15_02186274: ; 0x02186274 .ascii "joint_fp05" .byte 0x00, 0x00 .global data_ov15_02186280 data_ov15_02186280: ; 0x02186280 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186284 data_ov15_02186284: ; 0x02186284 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186288 data_ov15_02186288: ; 0x02186288 .byte 0x00, 0x04, 0x00, 0x00 .global data_ov15_0218628c data_ov15_0218628c: ; 0x0218628c .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_02186290 data_ov15_02186290: ; 0x02186290 .ascii "slv01_h_open" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021862a0 data_ov15_021862a0: ; 0x021862a0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021862a4 data_ov15_021862a4: ; 0x021862a4 .ascii "slv01_h_close" .byte 0x00, 0x00, 0x00 .global data_ov15_021862b4 data_ov15_021862b4: ; 0x021862b4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021862b8 data_ov15_021862b8: ; 0x021862b8 .ascii "fp_cast" .byte 0x00 .global data_ov15_021862c0 data_ov15_021862c0: ; 0x021862c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021862c4 data_ov15_021862c4: ; 0x021862c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021862c8 data_ov15_021862c8: ; 0x021862c8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021862cc data_ov15_021862cc: ; 0x021862cc .ascii "sp_slv01_a" .byte 0x00, 0x00 .global data_ov15_021862d8 data_ov15_021862d8: ; 0x021862d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021862dc data_ov15_021862dc: ; 0x021862dc .ascii "sp_slv01_c" .byte 0x00, 0x00 .global data_ov15_021862e8 data_ov15_021862e8: ; 0x021862e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021862ec data_ov15_021862ec: ; 0x021862ec .ascii "sp_slv01_h" .byte 0x00, 0x00 .global data_ov15_021862f8 data_ov15_021862f8: ; 0x021862f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021862fc data_ov15_021862fc: ; 0x021862fc .ascii "sp_slv01_n" .byte 0x00, 0x00 .global data_ov15_02186308 data_ov15_02186308: ; 0x02186308 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218630c data_ov15_0218630c: ; 0x0218630c .ascii "fp_hook" .byte 0x00 .global data_ov15_02186314 data_ov15_02186314: ; 0x02186314 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186318 data_ov15_02186318: ; 0x02186318 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218631c data_ov15_0218631c: ; 0x0218631c .ascii "fp" .byte 0x00, 0x00 .global data_ov15_02186320 data_ov15_02186320: ; 0x02186320 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186324 data_ov15_02186324: ; 0x02186324 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186328 data_ov15_02186328: ; 0x02186328 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218632c data_ov15_0218632c: ; 0x0218632c .ascii "sea_bomb" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186338 data_ov15_02186338: ; 0x02186338 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218633c data_ov15_0218633c: ; 0x0218633c .ascii "link_model_sea" .byte 0x00, 0x00 .global data_ov15_0218634c data_ov15_0218634c: ; 0x0218634c .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_02186350 data_ov15_02186350: ; 0x02186350 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_02186354 data_ov15_02186354: ; 0x02186354 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_02186358 data_ov15_02186358: ; 0x02186358 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218635c data_ov15_0218635c: ; 0x0218635c .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_02186360 data_ov15_02186360: ; 0x02186360 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_02186364 data_ov15_02186364: ; 0x02186364 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186368 data_ov15_02186368: ; 0x02186368 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218636c data_ov15_0218636c: ; 0x0218636c .byte 0xa8, 0x0a, 0x00, 0x00 .global data_ov15_02186370 data_ov15_02186370: ; 0x02186370 .byte 0xaa, 0x02, 0x00, 0x00 .global data_ov15_02186374 data_ov15_02186374: ; 0x02186374 .byte 0xa0, 0x00, 0x00, 0x00 .global data_ov15_02186378 data_ov15_02186378: ; 0x02186378 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218637c data_ov15_0218637c: ; 0x0218637c .byte 0xa1, 0x00, 0x00, 0x00 .global data_ov15_02186380 data_ov15_02186380: ; 0x02186380 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186384 data_ov15_02186384: ; 0x02186384 .ascii "PIST" .global data_ov15_02186388 data_ov15_02186388: ; 0x02186388 .word data_ov15_02186374 ; data_ov34_02186374, data_ov35_02186374, data_ov39_02186374 .global data_ov15_0218638c data_ov15_0218638c: ; 0x0218638c .ascii "PIST" .global data_ov15_02186390 data_ov15_02186390: ; 0x02186390 .word data_ov15_0218637c ; data_ov34_0218637c, data_ov35_0218637c, data_ov39_0218637c .global data_ov15_02186394 data_ov15_02186394: ; 0x02186394 .byte 0x00 .global data_ov15_02186395 data_ov15_02186395: ; 0x02186395 .byte 0x02 .global data_ov15_02186396 data_ov15_02186396: ; 0x02186396 .byte 0x01 .global data_ov15_02186397 data_ov15_02186397: ; 0x02186397 .byte 0xfe .global data_ov15_02186398 data_ov15_02186398: ; 0x02186398 .byte 0x02 .global data_ov15_02186399 data_ov15_02186399: ; 0x02186399 .byte 0x00 .global data_ov15_0218639a data_ov15_0218639a: ; 0x0218639a .byte 0xff .global data_ov15_0218639b data_ov15_0218639b: ; 0x0218639b .byte 0x03 .global data_ov15_0218639c data_ov15_0218639c: ; 0x0218639c .byte 0x01 .global data_ov15_0218639d data_ov15_0218639d: ; 0x0218639d .byte 0xfe .global data_ov15_0218639e data_ov15_0218639e: ; 0x0218639e .byte 0x00 .global data_ov15_0218639f data_ov15_0218639f: ; 0x0218639f .byte 0x02 .global data_ov15_021863a0 data_ov15_021863a0: ; 0x021863a0 .byte 0xff .global data_ov15_021863a1 data_ov15_021863a1: ; 0x021863a1 .byte 0x03 .global data_ov15_021863a2 data_ov15_021863a2: ; 0x021863a2 .byte 0x02 .global data_ov15_021863a3 data_ov15_021863a3: ; 0x021863a3 .byte 0x00 .global data_ov15_021863a4 data_ov15_021863a4: ; 0x021863a4 .byte 0x00, 0xc0, 0xff, 0xff .global data_ov15_021863a8 data_ov15_021863a8: ; 0x021863a8 .byte 0xae, 0xff, 0xff, 0xff .global data_ov15_021863ac data_ov15_021863ac: ; 0x021863ac .byte 0xae, 0xff, 0xff, 0xff .global data_ov15_021863b0 data_ov15_021863b0: ; 0x021863b0 .byte 0x89, 0xf7, 0xff, 0xff .global data_ov15_021863b4 data_ov15_021863b4: ; 0x021863b4 .byte 0x60, 0xf7, 0xff, 0xff .global data_ov15_021863b8 data_ov15_021863b8: ; 0x021863b8 .byte 0x6a, 0xf6, 0xff, 0xff .global data_ov15_021863bc data_ov15_021863bc: ; 0x021863bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021863c0 data_ov15_021863c0: ; 0x021863c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021863c4 data_ov15_021863c4: ; 0x021863c4 .byte 0xa2, 0x01, 0x00, 0x00 .global data_ov15_021863c8 data_ov15_021863c8: ; 0x021863c8 .byte 0x00, 0x02, 0x00, 0x00 .global data_ov15_021863cc data_ov15_021863cc: ; 0x021863cc .byte 0x4e, 0x02, 0x00, 0x00 .global data_ov15_021863d0 data_ov15_021863d0: ; 0x021863d0 .byte 0x71, 0x0d, 0x00, 0x00 .global data_ov15_021863d4 data_ov15_021863d4: ; 0x021863d4 .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov15_021863d8 data_ov15_021863d8: ; 0x021863d8 .byte 0x66, 0x0a, 0x00, 0x00 .global data_ov15_021863dc data_ov15_021863dc: ; 0x021863dc .byte 0x66, 0x0a, 0x00, 0x00 .global data_ov15_021863e0 data_ov15_021863e0: ; 0x021863e0 .byte 0x66, 0x0a, 0x00, 0x00 .global data_ov15_021863e4 data_ov15_021863e4: ; 0x021863e4 .byte 0x00, 0x1c, 0x00, 0x00 .global data_ov15_021863e8 data_ov15_021863e8: ; 0x021863e8 .byte 0x00, 0x1c, 0x00, 0x00 .global data_ov15_021863ec data_ov15_021863ec: ; 0x021863ec .byte 0x00, 0x1c, 0x00, 0x00 .global data_ov15_021863f0 data_ov15_021863f0: ; 0x021863f0 .byte 0x00, 0x1c, 0x00, 0x00 .global data_ov15_021863f4 data_ov15_021863f4: ; 0x021863f4 .byte 0x00, 0x1c, 0x00, 0x00 .global data_ov15_021863f8 data_ov15_021863f8: ; 0x021863f8 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_021863fc data_ov15_021863fc: ; 0x021863fc .byte 0x00, 0x40, 0x01, 0x00 .global data_ov15_02186400 data_ov15_02186400: ; 0x02186400 .byte 0x00, 0x80, 0x01, 0x00 .global data_ov15_02186404 data_ov15_02186404: ; 0x02186404 .byte 0x00, 0x80, 0x01, 0x00 .global data_ov15_02186408 data_ov15_02186408: ; 0x02186408 .byte 0x00, 0xe0, 0x01, 0x00 .global data_ov15_0218640c data_ov15_0218640c: ; 0x0218640c .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186410 data_ov15_02186410: ; 0x02186410 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186414 data_ov15_02186414: ; 0x02186414 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186418 data_ov15_02186418: ; 0x02186418 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_0218641c data_ov15_0218641c: ; 0x0218641c .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186420 data_ov15_02186420: ; 0x02186420 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_02186424 data_ov15_02186424: ; 0x02186424 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_02186428 data_ov15_02186428: ; 0x02186428 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_0218642c data_ov15_0218642c: ; 0x0218642c .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_02186430 data_ov15_02186430: ; 0x02186430 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_02186434 data_ov15_02186434: ; 0x02186434 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186438 data_ov15_02186438: ; 0x02186438 .byte 0x00, 0x28, 0x00, 0x00 .global data_ov15_0218643c data_ov15_0218643c: ; 0x0218643c .byte 0x00, 0x28, 0x00, 0x00 .global data_ov15_02186440 data_ov15_02186440: ; 0x02186440 .byte 0x00, 0x28, 0x00, 0x00 .global data_ov15_02186444 data_ov15_02186444: ; 0x02186444 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02186448 data_ov15_02186448: ; 0x02186448 .byte 0x33, 0x03, 0x00, 0x00 .global data_ov15_0218644c data_ov15_0218644c: ; 0x0218644c .byte 0xcd, 0x0c, 0x00, 0x00 .global data_ov15_02186450 data_ov15_02186450: ; 0x02186450 .byte 0xcd, 0x0c, 0x00, 0x00 .global data_ov15_02186454 data_ov15_02186454: ; 0x02186454 .byte 0xcd, 0x0c, 0x00, 0x00 .global data_ov15_02186458 data_ov15_02186458: ; 0x02186458 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_0218645c data_ov15_0218645c: ; 0x0218645c .byte 0x66, 0x06, 0x00, 0x00 .global data_ov15_02186460 data_ov15_02186460: ; 0x02186460 .byte 0x33, 0x07, 0x00, 0x00 .global data_ov15_02186464 data_ov15_02186464: ; 0x02186464 .byte 0xae, 0x07, 0x00, 0x00 .global data_ov15_02186468 data_ov15_02186468: ; 0x02186468 .byte 0x00, 0x08, 0x00, 0x00 .global data_ov15_0218646c data_ov15_0218646c: ; 0x0218646c .byte 0x9a, 0x09, 0x00, 0x00 .global data_ov15_02186470 data_ov15_02186470: ; 0x02186470 .byte 0x37, 0x00, 0x00, 0x00 .global data_ov15_02186474 data_ov15_02186474: ; 0x02186474 .byte 0x1e, 0x00, 0x00, 0x00 .global data_ov15_02186478 data_ov15_02186478: ; 0x02186478 .byte 0x0f, 0x00, 0x00, 0x00 .global data_ov15_0218647c data_ov15_0218647c: ; 0x0218647c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186480 data_ov15_02186480: ; 0x02186480 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186484 data_ov15_02186484: ; 0x02186484 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186488 data_ov15_02186488: ; 0x02186488 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218648c data_ov15_0218648c: ; 0x0218648c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186490 data_ov15_02186490: ; 0x02186490 .byte 0x46, 0x00, 0x00, 0x00 .global data_ov15_02186494 data_ov15_02186494: ; 0x02186494 .byte 0x1e, 0x00, 0x00, 0x00 .global data_ov15_02186498 data_ov15_02186498: ; 0x02186498 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218649c data_ov15_0218649c: ; 0x0218649c .byte 0x1e, 0x00, 0x00, 0x00 .global data_ov15_021864a0 data_ov15_021864a0: ; 0x021864a0 .byte 0x28, 0x00, 0x00, 0x00 .global data_ov15_021864a4 data_ov15_021864a4: ; 0x021864a4 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_021864a8 data_ov15_021864a8: ; 0x021864a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864ac data_ov15_021864ac: ; 0x021864ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864b0 data_ov15_021864b0: ; 0x021864b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864b4 data_ov15_021864b4: ; 0x021864b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864b8 data_ov15_021864b8: ; 0x021864b8 .byte 0x46, 0x00, 0x00, 0x00 .global data_ov15_021864bc data_ov15_021864bc: ; 0x021864bc .byte 0x1e, 0x00, 0x00, 0x00 .global data_ov15_021864c0 data_ov15_021864c0: ; 0x021864c0 .byte 0xa4, 0x28, 0x00, 0x00 .global data_ov15_021864c4 data_ov15_021864c4: ; 0x021864c4 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_021864cc data_ov15_021864cc: ; 0x021864cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864d0 data_ov15_021864d0: ; 0x021864d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864d4 data_ov15_021864d4: ; 0x021864d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864d8 data_ov15_021864d8: ; 0x021864d8 .ascii "damage1" .byte 0x00 .global data_ov15_021864e0 data_ov15_021864e0: ; 0x021864e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864e4 data_ov15_021864e4: ; 0x021864e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021864e8 data_ov15_021864e8: ; 0x021864e8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021864ec data_ov15_021864ec: ; 0x021864ec .byte 0xcd, 0xf8 .global data_ov15_021864ee data_ov15_021864ee: ; 0x021864ee .byte 0x71, 0x0d .global data_ov15_021864f0 data_ov15_021864f0: ; 0x021864f0 .byte 0x33, 0xfb .global data_ov15_021864f2 data_ov15_021864f2: ; 0x021864f2 .byte 0xcd, 0xf8 .global data_ov15_021864f4 data_ov15_021864f4: ; 0x021864f4 .byte 0x71, 0x0d .global data_ov15_021864f6 data_ov15_021864f6: ; 0x021864f6 .byte 0x33, 0xfb .global data_ov15_021864f8 data_ov15_021864f8: ; 0x021864f8 .byte 0x33, 0x07 .global data_ov15_021864fa data_ov15_021864fa: ; 0x021864fa .byte 0x71, 0x0d .global data_ov15_021864fc data_ov15_021864fc: ; 0x021864fc .byte 0x33, 0xfb .global data_ov15_021864fe data_ov15_021864fe: ; 0x021864fe .byte 0x33, 0x07 .global data_ov15_02186500 data_ov15_02186500: ; 0x02186500 .byte 0x71, 0x0d .global data_ov15_02186502 data_ov15_02186502: ; 0x02186502 .byte 0x33, 0xfb .global data_ov15_02186504 data_ov15_02186504: ; 0x02186504 .byte 0x08, 0x00 .global data_ov15_02186506 data_ov15_02186506: ; 0x02186506 .byte 0x09, 0x00 .global data_ov15_02186508 data_ov15_02186508: ; 0x02186508 .byte 0x0a, 0x00 .global data_ov15_0218650a data_ov15_0218650a: ; 0x0218650a .byte 0x0b, 0x00 .global data_ov15_0218650c data_ov15_0218650c: ; 0x0218650c .byte 0x0c, 0x00 .global data_ov15_0218650e data_ov15_0218650e: ; 0x0218650e .byte 0x0d, 0x00 .global data_ov15_02186510 data_ov15_02186510: ; 0x02186510 .byte 0x0e, 0x00 .global data_ov15_02186512 data_ov15_02186512: ; 0x02186512 .byte 0x0f, 0x00 .global data_ov15_02186514 data_ov15_02186514: ; 0x02186514 .word func_ov15_02159378 .global data_ov15_02186518 data_ov15_02186518: ; 0x02186518 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218651c data_ov15_0218651c: ; 0x0218651c .word func_ov15_021593a8 .global data_ov15_02186520 data_ov15_02186520: ; 0x02186520 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186524 data_ov15_02186524: ; 0x02186524 .word func_ov15_021593f8 .global data_ov15_02186528 data_ov15_02186528: ; 0x02186528 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218652c data_ov15_0218652c: ; 0x0218652c .word func_ov15_02159510 .global data_ov15_02186530 data_ov15_02186530: ; 0x02186530 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186534 data_ov15_02186534: ; 0x02186534 .word func_ov15_0215957c .global data_ov15_02186538 data_ov15_02186538: ; 0x02186538 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218653c data_ov15_0218653c: ; 0x0218653c .word func_ov15_021597d0 .global data_ov15_02186540 data_ov15_02186540: ; 0x02186540 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186544 data_ov15_02186544: ; 0x02186544 .word func_ov15_02159994 .global data_ov15_02186548 data_ov15_02186548: ; 0x02186548 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218654c data_ov15_0218654c: ; 0x0218654c .word func_ov15_02159a40 .global data_ov15_02186550 data_ov15_02186550: ; 0x02186550 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186554 data_ov15_02186554: ; 0x02186554 .word func_ov15_02159aec .global data_ov15_02186558 data_ov15_02186558: ; 0x02186558 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218655c data_ov15_0218655c: ; 0x0218655c .word func_ov15_02159b14 .global data_ov15_02186560 data_ov15_02186560: ; 0x02186560 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186564 data_ov15_02186564: ; 0x02186564 .ascii "swim1" .byte 0x00, 0x00, 0x00 .global data_ov15_0218656c data_ov15_0218656c: ; 0x0218656c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186570 data_ov15_02186570: ; 0x02186570 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186574 data_ov15_02186574: ; 0x02186574 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186578 data_ov15_02186578: ; 0x02186578 .ascii "swim2" .byte 0x00, 0x00, 0x00 .global data_ov15_02186580 data_ov15_02186580: ; 0x02186580 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186584 data_ov15_02186584: ; 0x02186584 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186588 data_ov15_02186588: ; 0x02186588 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218658c data_ov15_0218658c: ; 0x0218658c .ascii "jump1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186594 data_ov15_02186594: ; 0x02186594 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186598 data_ov15_02186598: ; 0x02186598 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218659c data_ov15_0218659c: ; 0x0218659c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021865a0 data_ov15_021865a0: ; 0x021865a0 .ascii "dead1" .byte 0x00, 0x00, 0x00 .global data_ov15_021865a8 data_ov15_021865a8: ; 0x021865a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021865ac data_ov15_021865ac: ; 0x021865ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021865b0 data_ov15_021865b0: ; 0x021865b0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021865b4 data_ov15_021865b4: ; 0x021865b4 .ascii "attack1" .byte 0x00 .global data_ov15_021865bc data_ov15_021865bc: ; 0x021865bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021865c0 data_ov15_021865c0: ; 0x021865c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021865c4 data_ov15_021865c4: ; 0x021865c4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021865c8 data_ov15_021865c8: ; 0x021865c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021865cc data_ov15_021865cc: ; 0x021865cc .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021865d0 data_ov15_021865d0: ; 0x021865d0 .byte 0x00, 0x00, 0x04, 0x00 .global data_ov15_021865d4 data_ov15_021865d4: ; 0x021865d4 .byte 0x00, 0x00, 0x06, 0x00 .global data_ov15_021865d8 data_ov15_021865d8: ; 0x021865d8 .byte 0x00, 0xf0, 0x07, 0x00 .global data_ov15_021865dc data_ov15_021865dc: ; 0x021865dc .byte 0x00, 0x40, 0x01, 0x00 .global data_ov15_021865e0 data_ov15_021865e0: ; 0x021865e0 .byte 0x00, 0xf0, 0x01, 0x00 .global data_ov15_021865e4 data_ov15_021865e4: ; 0x021865e4 .byte 0x00, 0xf0, 0x01, 0x00 .global data_ov15_021865e8 data_ov15_021865e8: ; 0x021865e8 .byte 0x00, 0xe0, 0x01, 0x00 .global data_ov15_021865ec data_ov15_021865ec: ; 0x021865ec .byte 0x00, 0x00, 0x05, 0x00 .global data_ov15_021865f0 data_ov15_021865f0: ; 0x021865f0 .byte 0x00, 0x30, 0x07, 0x00 .global data_ov15_021865f4 data_ov15_021865f4: ; 0x021865f4 .byte 0x00, 0xa0, 0x07, 0x00 .global data_ov15_021865f8 data_ov15_021865f8: ; 0x021865f8 .byte 0x00, 0xf0, 0x07, 0x00 .global data_ov15_021865fc data_ov15_021865fc: ; 0x021865fc .byte 0x00, 0xf0, 0x01, 0x00 .global data_ov15_02186600 data_ov15_02186600: ; 0x02186600 .byte 0x00, 0xf0, 0x01, 0x00 .global data_ov15_02186604 data_ov15_02186604: ; 0x02186604 .byte 0x00, 0xf0, 0x01, 0x00 .global data_ov15_02186608 data_ov15_02186608: ; 0x02186608 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218660c data_ov15_0218660c: ; 0x0218660c .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02186610 data_ov15_02186610: ; 0x02186610 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186614 data_ov15_02186614: ; 0x02186614 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186618 data_ov15_02186618: ; 0x02186618 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_0218661c data_ov15_0218661c: ; 0x0218661c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186620 data_ov15_02186620: ; 0x02186620 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186624 data_ov15_02186624: ; 0x02186624 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02186628 data_ov15_02186628: ; 0x02186628 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218662c data_ov15_0218662c: ; 0x0218662c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186630 data_ov15_02186630: ; 0x02186630 .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02186634 data_ov15_02186634: ; 0x02186634 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186638 data_ov15_02186638: ; 0x02186638 .ascii "swim" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186640 data_ov15_02186640: ; 0x02186640 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186644 data_ov15_02186644: ; 0x02186644 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186648 data_ov15_02186648: ; 0x02186648 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218664c data_ov15_0218664c: ; 0x0218664c .ascii "h_up" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186654 data_ov15_02186654: ; 0x02186654 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186658 data_ov15_02186658: ; 0x02186658 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218665c data_ov15_0218665c: ; 0x0218665c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186660 data_ov15_02186660: ; 0x02186660 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186668 data_ov15_02186668: ; 0x02186668 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218666c data_ov15_0218666c: ; 0x0218666c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186670 data_ov15_02186670: ; 0x02186670 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186674 data_ov15_02186674: ; 0x02186674 .ascii "wait2" .byte 0x00, 0x00, 0x00 .global data_ov15_0218667c data_ov15_0218667c: ; 0x0218667c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186680 data_ov15_02186680: ; 0x02186680 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186684 data_ov15_02186684: ; 0x02186684 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186688 data_ov15_02186688: ; 0x02186688 .ascii "talk1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186690 data_ov15_02186690: ; 0x02186690 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186694 data_ov15_02186694: ; 0x02186694 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186698 data_ov15_02186698: ; 0x02186698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218669c data_ov15_0218669c: ; 0x0218669c .ascii "talk2" .byte 0x00, 0x00, 0x00 .global data_ov15_021866a4 data_ov15_021866a4: ; 0x021866a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866a8 data_ov15_021866a8: ; 0x021866a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866ac data_ov15_021866ac: ; 0x021866ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866b0 data_ov15_021866b0: ; 0x021866b0 .ascii "w1_t1" .byte 0x00, 0x00, 0x00 .global data_ov15_021866b8 data_ov15_021866b8: ; 0x021866b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866bc data_ov15_021866bc: ; 0x021866bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866c0 data_ov15_021866c0: ; 0x021866c0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021866c4 data_ov15_021866c4: ; 0x021866c4 .ascii "t1_w1" .byte 0x00, 0x00, 0x00 .global data_ov15_021866cc data_ov15_021866cc: ; 0x021866cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866d0 data_ov15_021866d0: ; 0x021866d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866d4 data_ov15_021866d4: ; 0x021866d4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021866d8 data_ov15_021866d8: ; 0x021866d8 .ascii "w2_t2" .byte 0x00, 0x00, 0x00 .global data_ov15_021866e0 data_ov15_021866e0: ; 0x021866e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866e4 data_ov15_021866e4: ; 0x021866e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866e8 data_ov15_021866e8: ; 0x021866e8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_021866ec data_ov15_021866ec: ; 0x021866ec .ascii "t2_w2" .byte 0x00, 0x00, 0x00 .global data_ov15_021866f4 data_ov15_021866f4: ; 0x021866f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866f8 data_ov15_021866f8: ; 0x021866f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021866fc data_ov15_021866fc: ; 0x021866fc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186700 data_ov15_02186700: ; 0x02186700 .byte 0x37, 0x01, 0x00, 0x00 .global data_ov15_02186704 data_ov15_02186704: ; 0x02186704 .byte 0x38, 0x01, 0x00, 0x00 .global data_ov15_02186708 data_ov15_02186708: ; 0x02186708 .byte 0x39, 0x01, 0x00, 0x00 .global data_ov15_0218670c data_ov15_0218670c: ; 0x0218670c .byte 0x3a, 0x01, 0x00, 0x00 .global data_ov15_02186710 data_ov15_02186710: ; 0x02186710 .byte 0x3b, 0x01, 0x00, 0x00 .global data_ov15_02186714 data_ov15_02186714: ; 0x02186714 .byte 0x3c, 0x01, 0x00, 0x00 .global data_ov15_02186718 data_ov15_02186718: ; 0x02186718 .ascii "head" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186720 data_ov15_02186720: ; 0x02186720 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186724 data_ov15_02186724: ; 0x02186724 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186728 data_ov15_02186728: ; 0x02186728 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218672c data_ov15_0218672c: ; 0x0218672c .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186734 data_ov15_02186734: ; 0x02186734 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186738 data_ov15_02186738: ; 0x02186738 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218673c data_ov15_0218673c: ; 0x0218673c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186740 data_ov15_02186740: ; 0x02186740 .ascii "away1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186748 data_ov15_02186748: ; 0x02186748 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218674c data_ov15_0218674c: ; 0x0218674c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186750 data_ov15_02186750: ; 0x02186750 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186754 data_ov15_02186754: ; 0x02186754 .ascii "land1" .byte 0x00, 0x00, 0x00 .global data_ov15_0218675c data_ov15_0218675c: ; 0x0218675c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186760 data_ov15_02186760: ; 0x02186760 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186764 data_ov15_02186764: ; 0x02186764 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186768 data_ov15_02186768: ; 0x02186768 .ascii "wait2" .byte 0x00, 0x00, 0x00 .global data_ov15_02186770 data_ov15_02186770: ; 0x02186770 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186774 data_ov15_02186774: ; 0x02186774 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186778 data_ov15_02186778: ; 0x02186778 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218677c data_ov15_0218677c: ; 0x0218677c .byte 0x00, 0xc0, 0xff, 0xff .global data_ov15_02186780 data_ov15_02186780: ; 0x02186780 .ascii "PSLP" .global data_ov15_02186784 data_ov15_02186784: ; 0x02186784 .word data_ov15_02186788 ; data_ov35_02186788, data_ov36_02186788, data_ov39_02186788 .global data_ov15_02186788 data_ov15_02186788: ; 0x02186788 .byte 0xc3, 0x00, 0x00, 0x00 .global data_ov15_0218678c data_ov15_0218678c: ; 0x0218678c .byte 0xc4, 0x00, 0x00, 0x00 .global data_ov15_02186790 data_ov15_02186790: ; 0x02186790 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186794 data_ov15_02186794: ; 0x02186794 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186798 data_ov15_02186798: ; 0x02186798 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218679c data_ov15_0218679c: ; 0x0218679c .byte 0x6f, 0xfc, 0xff, 0xff .global data_ov15_021867a0 data_ov15_021867a0: ; 0x021867a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867a4 data_ov15_021867a4: ; 0x021867a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867a8 data_ov15_021867a8: ; 0x021867a8 .byte 0x0c, 0xfa, 0xff, 0xff .global data_ov15_021867ac data_ov15_021867ac: ; 0x021867ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867b0 data_ov15_021867b0: ; 0x021867b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867b4 data_ov15_021867b4: ; 0x021867b4 .byte 0xcd, 0xfe, 0xff, 0xff .global data_ov15_021867b8 data_ov15_021867b8: ; 0x021867b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867bc data_ov15_021867bc: ; 0x021867bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867c0 data_ov15_021867c0: ; 0x021867c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021867c4 data_ov15_021867c4: ; 0x021867c4 .byte 0x00 .global data_ov15_021867c5 data_ov15_021867c5: ; 0x021867c5 .byte 0x02 .global data_ov15_021867c6 data_ov15_021867c6: ; 0x021867c6 .byte 0x01 .global data_ov15_021867c7 data_ov15_021867c7: ; 0x021867c7 .byte 0xfe .global data_ov15_021867c8 data_ov15_021867c8: ; 0x021867c8 .byte 0x02 .global data_ov15_021867c9 data_ov15_021867c9: ; 0x021867c9 .byte 0x00 .global data_ov15_021867ca data_ov15_021867ca: ; 0x021867ca .byte 0xff .global data_ov15_021867cb data_ov15_021867cb: ; 0x021867cb .byte 0x03 .global data_ov15_021867cc data_ov15_021867cc: ; 0x021867cc .byte 0x01 .global data_ov15_021867cd data_ov15_021867cd: ; 0x021867cd .byte 0xfe .global data_ov15_021867ce data_ov15_021867ce: ; 0x021867ce .byte 0x00 .global data_ov15_021867cf data_ov15_021867cf: ; 0x021867cf .byte 0x02 .global data_ov15_021867d0 data_ov15_021867d0: ; 0x021867d0 .byte 0xff .global data_ov15_021867d1 data_ov15_021867d1: ; 0x021867d1 .byte 0x03 .global data_ov15_021867d2 data_ov15_021867d2: ; 0x021867d2 .byte 0x02 .global data_ov15_021867d3 data_ov15_021867d3: ; 0x021867d3 .byte 0x00 .global data_ov15_021867d4 data_ov15_021867d4: ; 0x021867d4 .byte 0x00, 0xc0, 0xff, 0xff .global data_ov15_021867d8 data_ov15_021867d8: ; 0x021867d8 .byte 0x00, 0x00 .global data_ov15_021867da data_ov15_021867da: ; 0x021867da .byte 0x00, 0x00 .global data_ov15_021867dc data_ov15_021867dc: ; 0x021867dc .byte 0x1e, 0x00 .global data_ov15_021867de data_ov15_021867de: ; 0x021867de .byte 0x5a, 0x00 .global data_ov15_021867e0 data_ov15_021867e0: ; 0x021867e0 .byte 0x6e, 0x00 .global data_ov15_021867e2 data_ov15_021867e2: ; 0x021867e2 .byte 0xaa, 0x00 .global data_ov15_021867e4 data_ov15_021867e4: ; 0x021867e4 .byte 0xe6, 0x00 .global data_ov15_021867e6 data_ov15_021867e6: ; 0x021867e6 .byte 0x04, 0x01 .global data_ov15_021867e8 data_ov15_021867e8: ; 0x021867e8 .byte 0x0e, 0x01 .global data_ov15_021867ea data_ov15_021867ea: ; 0x021867ea .byte 0x22, 0x01 .global data_ov15_021867ec data_ov15_021867ec: ; 0x021867ec .byte 0x40, 0x01 .global data_ov15_021867ee data_ov15_021867ee: ; 0x021867ee .byte 0x00, 0x00 .global data_ov15_021867f0 data_ov15_021867f0: ; 0x021867f0 .ascii "SLBC" .global data_ov15_021867f4 data_ov15_021867f4: ; 0x021867f4 .ascii "LBNC" .global data_ov15_021867f8 data_ov15_021867f8: ; 0x021867f8 .ascii "LLUN" .global data_ov15_021867fc data_ov15_021867fc: ; 0x021867fc .byte 0x8c, 0x00 .global data_ov15_021867fe data_ov15_021867fe: ; 0x021867fe .byte 0x8d, 0x00 .global data_ov15_02186800 data_ov15_02186800: ; 0x02186800 .byte 0x8e, 0x00 .global data_ov15_02186802 data_ov15_02186802: ; 0x02186802 .byte 0x8f, 0x00 .global data_ov15_02186804 data_ov15_02186804: ; 0x02186804 .ascii "torpedo" .byte 0x00 .global data_ov15_0218680c data_ov15_0218680c: ; 0x0218680c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186810 data_ov15_02186810: ; 0x02186810 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186814 data_ov15_02186814: ; 0x02186814 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186818 data_ov15_02186818: ; 0x02186818 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218681c data_ov15_0218681c: ; 0x0218681c .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02186820 data_ov15_02186820: ; 0x02186820 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186824 data_ov15_02186824: ; 0x02186824 .ascii "smoke" .byte 0x00, 0x00, 0x00 .global data_ov15_0218682c data_ov15_0218682c: ; 0x0218682c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186830 data_ov15_02186830: ; 0x02186830 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186834 data_ov15_02186834: ; 0x02186834 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186838 data_ov15_02186838: ; 0x02186838 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218683c data_ov15_0218683c: ; 0x0218683c .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_02186840 data_ov15_02186840: ; 0x02186840 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186844 data_ov15_02186844: ; 0x02186844 .ascii "SLBC" .global data_ov15_02186848 data_ov15_02186848: ; 0x02186848 .ascii "LBNC" .global data_ov15_0218684c data_ov15_0218684c: ; 0x0218684c .ascii "LLUN" .global data_ov15_02186850 data_ov15_02186850: ; 0x02186850 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186858 data_ov15_02186858: ; 0x02186858 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218685c data_ov15_0218685c: ; 0x0218685c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186860 data_ov15_02186860: ; 0x02186860 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186864 data_ov15_02186864: ; 0x02186864 .ascii "hit" .byte 0x00 .global data_ov15_02186868 data_ov15_02186868: ; 0x02186868 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218686c data_ov15_0218686c: ; 0x0218686c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186870 data_ov15_02186870: ; 0x02186870 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186874 data_ov15_02186874: ; 0x02186874 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186878 data_ov15_02186878: ; 0x02186878 .ascii "rise" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186880 data_ov15_02186880: ; 0x02186880 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186884 data_ov15_02186884: ; 0x02186884 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186888 data_ov15_02186888: ; 0x02186888 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218688c data_ov15_0218688c: ; 0x0218688c .byte 0xbe, 0x03 .global data_ov15_0218688e data_ov15_0218688e: ; 0x0218688e .byte 0xbf, 0x03 .global data_ov15_02186890 data_ov15_02186890: ; 0x02186890 .byte 0xc0, 0x03 .global data_ov15_02186892 data_ov15_02186892: ; 0x02186892 .byte 0xc1, 0x03 .global data_ov15_02186894 data_ov15_02186894: ; 0x02186894 .byte 0xc2, 0x03 .global data_ov15_02186896 data_ov15_02186896: ; 0x02186896 .byte 0xc3, 0x03 .global data_ov15_02186898 data_ov15_02186898: ; 0x02186898 .byte 0xc4, 0x03 .global data_ov15_0218689a data_ov15_0218689a: ; 0x0218689a .byte 0xc5, 0x03 .global data_ov15_0218689c data_ov15_0218689c: ; 0x0218689c .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_021868a0 data_ov15_021868a0: ; 0x021868a0 .byte 0x29, 0x00, 0x00, 0x00 .global data_ov15_021868a4 data_ov15_021868a4: ; 0x021868a4 .byte 0x00, 0x08, 0x00, 0x00 .global data_ov15_021868a8 data_ov15_021868a8: ; 0x021868a8 .byte 0x8e, 0x03, 0x00, 0x00 .global data_ov15_021868ac data_ov15_021868ac: ; 0x021868ac .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_021868b0 data_ov15_021868b0: ; 0x021868b0 .byte 0x52, 0x00, 0x00, 0x00 .global data_ov15_021868b4 data_ov15_021868b4: ; 0x021868b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868b8 data_ov15_021868b8: ; 0x021868b8 .byte 0x8e, 0x03, 0x00, 0x00 .global data_ov15_021868bc data_ov15_021868bc: ; 0x021868bc .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_021868c0 data_ov15_021868c0: ; 0x021868c0 .byte 0x29, 0x00, 0x00, 0x00 .global data_ov15_021868c4 data_ov15_021868c4: ; 0x021868c4 .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov15_021868c8 data_ov15_021868c8: ; 0x021868c8 .byte 0x8e, 0x03, 0x00, 0x00 .global data_ov15_021868cc data_ov15_021868cc: ; 0x021868cc .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_021868d0 data_ov15_021868d0: ; 0x021868d0 .byte 0x48, 0x01, 0x00, 0x00 .global data_ov15_021868d4 data_ov15_021868d4: ; 0x021868d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868d8 data_ov15_021868d8: ; 0x021868d8 .byte 0x8e, 0x03, 0x00, 0x00 .global data_ov15_021868dc data_ov15_021868dc: ; 0x021868dc .ascii "flap" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868e4 data_ov15_021868e4: ; 0x021868e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868e8 data_ov15_021868e8: ; 0x021868e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868ec data_ov15_021868ec: ; 0x021868ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868f0 data_ov15_021868f0: ; 0x021868f0 .word func_ov15_02169e64 ; func_ov18_02169e64 .global data_ov15_021868f4 data_ov15_021868f4: ; 0x021868f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021868f8 data_ov15_021868f8: ; 0x021868f8 .word func_ov15_02169e94 .global data_ov15_021868fc data_ov15_021868fc: ; 0x021868fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186900 data_ov15_02186900: ; 0x02186900 .word func_ov15_02169eec .global data_ov15_02186904 data_ov15_02186904: ; 0x02186904 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186908 data_ov15_02186908: ; 0x02186908 .word func_ov15_02169f54 ; func_ov17_02169f54 .global data_ov15_0218690c data_ov15_0218690c: ; 0x0218690c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186910 data_ov15_02186910: ; 0x02186910 .word func_ov15_0216a00c .global data_ov15_02186914 data_ov15_02186914: ; 0x02186914 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186918 data_ov15_02186918: ; 0x02186918 .byte 0x9a, 0xd9, 0xff, 0xff .global data_ov15_0218691c data_ov15_0218691c: ; 0x0218691c .byte 0x00, 0x40, 0xff, 0xff .global data_ov15_02186920 data_ov15_02186920: ; 0x02186920 .byte 0xcd, 0x24, 0x00, 0x00 .global data_ov15_02186924 data_ov15_02186924: ; 0x02186924 .byte 0x00, 0x40, 0xff, 0xff .global data_ov15_02186928 data_ov15_02186928: ; 0x02186928 .byte 0x00, 0x68, 0x00, 0x00 .global data_ov15_0218692c data_ov15_0218692c: ; 0x0218692c .byte 0x00, 0x60, 0xff, 0xff .global data_ov15_02186930 data_ov15_02186930: ; 0x02186930 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02186934 data_ov15_02186934: ; 0x02186934 .byte 0x00, 0xa0, 0xff, 0xff .global data_ov15_02186938 data_ov15_02186938: ; 0x02186938 .byte 0x00, 0xc0, 0x00, 0x00 .global data_ov15_0218693c data_ov15_0218693c: ; 0x0218693c .byte 0x00, 0xe0, 0xff, 0xff .global data_ov15_02186940 data_ov15_02186940: ; 0x02186940 .byte 0x00, 0xc0, 0x00, 0x00 .global data_ov15_02186944 data_ov15_02186944: ; 0x02186944 .byte 0x00, 0x28, 0x00, 0x00 .global data_ov15_02186948 data_ov15_02186948: ; 0x02186948 .byte 0x00, 0xa8, 0x00, 0x00 .global data_ov15_0218694c data_ov15_0218694c: ; 0x0218694c .byte 0x00, 0x70, 0x00, 0x00 .global data_ov15_02186950 data_ov15_02186950: ; 0x02186950 .byte 0x00, 0x68, 0x00, 0x00 .global data_ov15_02186954 data_ov15_02186954: ; 0x02186954 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02186958 data_ov15_02186958: ; 0x02186958 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_0218695c data_ov15_0218695c: ; 0x0218695c .byte 0x00, 0xc0, 0x00, 0x00 .global data_ov15_02186960 data_ov15_02186960: ; 0x02186960 .byte 0x00, 0xd8, 0xff, 0xff .global data_ov15_02186964 data_ov15_02186964: ; 0x02186964 .byte 0x66, 0xb6, 0x00, 0x00 .global data_ov15_02186968 data_ov15_02186968: ; 0x02186968 .byte 0x00, 0x90, 0xff, 0xff .global data_ov15_0218696c data_ov15_0218696c: ; 0x0218696c .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02186970 data_ov15_02186970: ; 0x02186970 .byte 0x00, 0x50, 0xff, 0xff .global data_ov15_02186974 data_ov15_02186974: ; 0x02186974 .byte 0x00, 0x68, 0x00, 0x00 .global data_ov15_02186978 data_ov15_02186978: ; 0x02186978 .byte 0x00, 0x40, 0xff, 0xff .global data_ov15_0218697c data_ov15_0218697c: ; 0x0218697c .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186980 data_ov15_02186980: ; 0x02186980 .byte 0x00, 0x48, 0xff, 0xff .global data_ov15_02186984 data_ov15_02186984: ; 0x02186984 .byte 0x00, 0xd8, 0xff, 0xff .global data_ov15_02186988 data_ov15_02186988: ; 0x02186988 .byte 0x00, 0x60, 0xff, 0xff .global data_ov15_0218698c data_ov15_0218698c: ; 0x0218698c .byte 0x00, 0x98, 0xff, 0xff .global data_ov15_02186990 data_ov15_02186990: ; 0x02186990 .byte 0x66, 0x96, 0xff, 0xff .global data_ov15_02186994 data_ov15_02186994: ; 0x02186994 .byte 0x66, 0x66, 0xff, 0xff .global data_ov15_02186998 data_ov15_02186998: ; 0x02186998 .byte 0x57, 0x00 .global data_ov15_0218699a data_ov15_0218699a: ; 0x0218699a .byte 0x56, 0x00 .global data_ov15_0218699c data_ov15_0218699c: ; 0x0218699c .byte 0x55, 0x00 .global data_ov15_0218699e data_ov15_0218699e: ; 0x0218699e .byte 0x54, 0x00 .global data_ov15_021869a0 data_ov15_021869a0: ; 0x021869a0 .byte 0x53, 0x00 .global data_ov15_021869a2 data_ov15_021869a2: ; 0x021869a2 .byte 0x52, 0x00 .global data_ov15_021869a4 data_ov15_021869a4: ; 0x021869a4 .byte 0x51, 0x00 .global data_ov15_021869a6 data_ov15_021869a6: ; 0x021869a6 .byte 0x50, 0x00 .global data_ov15_021869a8 data_ov15_021869a8: ; 0x021869a8 .byte 0x4f, 0x00 .global data_ov15_021869aa data_ov15_021869aa: ; 0x021869aa .byte 0x4e, 0x00 .global data_ov15_021869ac data_ov15_021869ac: ; 0x021869ac .byte 0x4d, 0x00 .global data_ov15_021869ae data_ov15_021869ae: ; 0x021869ae .byte 0x4c, 0x00 .global data_ov15_021869b0 data_ov15_021869b0: ; 0x021869b0 .byte 0x4b, 0x00 .global data_ov15_021869b2 data_ov15_021869b2: ; 0x021869b2 .byte 0x4a, 0x00 .global data_ov15_021869b4 data_ov15_021869b4: ; 0x021869b4 .byte 0x49, 0x00 .global data_ov15_021869b6 data_ov15_021869b6: ; 0x021869b6 .byte 0x48, 0x00 .global data_ov15_021869b8 data_ov15_021869b8: ; 0x021869b8 .byte 0xe1, 0x24, 0x00, 0x00 .global data_ov15_021869bc data_ov15_021869bc: ; 0x021869bc .byte 0x06, 0x5d, 0xff, 0xff .global data_ov15_021869c0 data_ov15_021869c0: ; 0x021869c0 .byte 0x03, 0x71, 0x00, 0x00 .global data_ov15_021869c4 data_ov15_021869c4: ; 0x021869c4 .byte 0x8b, 0x66, 0xff, 0xff .global data_ov15_021869c8 data_ov15_021869c8: ; 0x021869c8 .byte 0xd6, 0x9b, 0x00, 0x00 .global data_ov15_021869cc data_ov15_021869cc: ; 0x021869cc .byte 0x81, 0x98, 0xff, 0xff .global data_ov15_021869d0 data_ov15_021869d0: ; 0x021869d0 .byte 0x86, 0xbf, 0x00, 0x00 .global data_ov15_021869d4 data_ov15_021869d4: ; 0x021869d4 .byte 0x43, 0xe2, 0xff, 0xff .global data_ov15_021869d8 data_ov15_021869d8: ; 0x021869d8 .byte 0x1d, 0xaa, 0x00, 0x00 .global data_ov15_021869dc data_ov15_021869dc: ; 0x021869dc .byte 0xbd, 0x1d, 0x00, 0x00 .global data_ov15_021869e0 data_ov15_021869e0: ; 0x021869e0 .byte 0xd6, 0x9b, 0x00, 0x00 .global data_ov15_021869e4 data_ov15_021869e4: ; 0x021869e4 .byte 0x03, 0x71, 0x00, 0x00 .global data_ov15_021869e8 data_ov15_021869e8: ; 0x021869e8 .byte 0xa2, 0x6e, 0x00, 0x00 .global data_ov15_021869ec data_ov15_021869ec: ; 0x021869ec .byte 0x37, 0x9e, 0x00, 0x00 .global data_ov15_021869f0 data_ov15_021869f0: ; 0x021869f0 .byte 0x1e, 0x20, 0x00, 0x00 .global data_ov15_021869f4 data_ov15_021869f4: ; 0x021869f4 .byte 0x86, 0xbf, 0x00, 0x00 .global data_ov15_021869f8 data_ov15_021869f8: ; 0x021869f8 .byte 0xe2, 0xdf, 0xff, 0xff .global data_ov15_021869fc data_ov15_021869fc: ; 0x021869fc .byte 0x1d, 0xaa, 0x00, 0x00 .global data_ov15_02186a00 data_ov15_02186a00: ; 0x02186a00 .byte 0x20, 0x96, 0xff, 0xff .global data_ov15_02186a04 data_ov15_02186a04: ; 0x02186a04 .byte 0xd6, 0x9b, 0x00, 0x00 .global data_ov15_02186a08 data_ov15_02186a08: ; 0x02186a08 .byte 0x8b, 0x66, 0xff, 0xff .global data_ov15_02186a0c data_ov15_02186a0c: ; 0x02186a0c .byte 0x41, 0x6c, 0x00, 0x00 .global data_ov15_02186a10 data_ov15_02186a10: ; 0x02186a10 .byte 0xdb, 0x42, 0xff, 0xff .global data_ov15_02186a14 data_ov15_02186a14: ; 0x02186a14 .byte 0x1e, 0x20, 0x00, 0x00 .global data_ov15_02186a18 data_ov15_02186a18: ; 0x02186a18 .byte 0x07, 0x5d, 0xff, 0xff .global data_ov15_02186a1c data_ov15_02186a1c: ; 0x02186a1c .byte 0xe2, 0xdf, 0xff, 0xff .global data_ov15_02186a20 data_ov15_02186a20: ; 0x02186a20 .byte 0xec, 0x68, 0xff, 0xff .global data_ov15_02186a24 data_ov15_02186a24: ; 0x02186a24 .byte 0xbf, 0x93, 0xff, 0xff .global data_ov15_02186a28 data_ov15_02186a28: ; 0x02186a28 .byte 0xbf, 0x93, 0xff, 0xff .global data_ov15_02186a2c data_ov15_02186a2c: ; 0x02186a2c .byte 0x8b, 0x66, 0xff, 0xff .global data_ov15_02186a30 data_ov15_02186a30: ; 0x02186a30 .byte 0xa4, 0xe4, 0xff, 0xff .global data_ov15_02186a34 data_ov15_02186a34: ; 0x02186a34 .byte 0x9d, 0x47, 0xff, 0xff .global data_ov15_02186a38 data_ov15_02186a38: ; 0x02186a38 .ascii "LBNC" .global data_ov15_02186a3c data_ov15_02186a3c: ; 0x02186a3c .ascii "LLUN" .global data_ov15_02186a40 data_ov15_02186a40: ; 0x02186a40 .byte 0xff, 0x7f, 0xff, 0x7f .global data_ov15_02186a44 data_ov15_02186a44: ; 0x02186a44 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186a4c data_ov15_02186a4c: ; 0x02186a4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a50 data_ov15_02186a50: ; 0x02186a50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a54 data_ov15_02186a54: ; 0x02186a54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a58 data_ov15_02186a58: ; 0x02186a58 .ascii "swim1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186a60 data_ov15_02186a60: ; 0x02186a60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a64 data_ov15_02186a64: ; 0x02186a64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a68 data_ov15_02186a68: ; 0x02186a68 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186a6c data_ov15_02186a6c: ; 0x02186a6c .ascii "bomb1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186a74 data_ov15_02186a74: ; 0x02186a74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a78 data_ov15_02186a78: ; 0x02186a78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a7c data_ov15_02186a7c: ; 0x02186a7c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186a80 data_ov15_02186a80: ; 0x02186a80 .byte 0x04, 0x10, 0x00, 0x00 .global data_ov15_02186a84 data_ov15_02186a84: ; 0x02186a84 .byte 0x05, 0x10, 0x00, 0x00 .global data_ov15_02186a88 data_ov15_02186a88: ; 0x02186a88 .byte 0x06, 0x10, 0x00, 0x00 .global data_ov15_02186a8c data_ov15_02186a8c: ; 0x02186a8c .byte 0x07, 0x10, 0x00, 0x00 .global data_ov15_02186a90 data_ov15_02186a90: ; 0x02186a90 .ascii "inhale" .byte 0x00, 0x00 .global data_ov15_02186a98 data_ov15_02186a98: ; 0x02186a98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186a9c data_ov15_02186a9c: ; 0x02186a9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186aa0 data_ov15_02186aa0: ; 0x02186aa0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186aa4 data_ov15_02186aa4: ; 0x02186aa4 .ascii "mouth" .byte 0x00, 0x00, 0x00 .global data_ov15_02186aac data_ov15_02186aac: ; 0x02186aac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ab0 data_ov15_02186ab0: ; 0x02186ab0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ab4 data_ov15_02186ab4: ; 0x02186ab4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ab8 data_ov15_02186ab8: ; 0x02186ab8 .ascii "inhale_tex01" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ac8 data_ov15_02186ac8: ; 0x02186ac8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186acc data_ov15_02186acc: ; 0x02186acc .ascii "inhale_tex02" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186adc data_ov15_02186adc: ; 0x02186adc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ae0 data_ov15_02186ae0: ; 0x02186ae0 .byte 0x00, 0xa0, 0xf1, 0xff .global data_ov15_02186ae4 data_ov15_02186ae4: ; 0x02186ae4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ae8 data_ov15_02186ae8: ; 0x02186ae8 .byte 0x00, 0x20, 0xff, 0xff .global data_ov15_02186aec data_ov15_02186aec: ; 0x02186aec .ascii "boxopen" .byte 0x00 .global data_ov15_02186af4 data_ov15_02186af4: ; 0x02186af4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186af8 data_ov15_02186af8: ; 0x02186af8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186afc data_ov15_02186afc: ; 0x02186afc .ascii "boxopen" .byte 0x00 .global data_ov15_02186b04 data_ov15_02186b04: ; 0x02186b04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b08 data_ov15_02186b08: ; 0x02186b08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b0c data_ov15_02186b0c: ; 0x02186b0c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186b10 data_ov15_02186b10: ; 0x02186b10 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186b14 data_ov15_02186b14: ; 0x02186b14 .ascii "itemget" .byte 0x00 .global data_ov15_02186b1c data_ov15_02186b1c: ; 0x02186b1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b20 data_ov15_02186b20: ; 0x02186b20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b24 data_ov15_02186b24: ; 0x02186b24 .ascii "Tm0e2m2" .byte 0x00 .global data_ov15_02186b2c data_ov15_02186b2c: ; 0x02186b2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b30 data_ov15_02186b30: ; 0x02186b30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b34 data_ov15_02186b34: ; 0x02186b34 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186b38 data_ov15_02186b38: ; 0x02186b38 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186b3c data_ov15_02186b3c: ; 0x02186b3c .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b44 data_ov15_02186b44: ; 0x02186b44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b48 data_ov15_02186b48: ; 0x02186b48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b4c data_ov15_02186b4c: ; 0x02186b4c .ascii "TmabaA" .byte 0x00, 0x00 .global data_ov15_02186b54 data_ov15_02186b54: ; 0x02186b54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b58 data_ov15_02186b58: ; 0x02186b58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b5c data_ov15_02186b5c: ; 0x02186b5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b60 data_ov15_02186b60: ; 0x02186b60 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186b64 data_ov15_02186b64: ; 0x02186b64 .ascii "turiwait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b70 data_ov15_02186b70: ; 0x02186b70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b74 data_ov15_02186b74: ; 0x02186b74 .ascii "TmabaA" .byte 0x00, 0x00 .global data_ov15_02186b7c data_ov15_02186b7c: ; 0x02186b7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b80 data_ov15_02186b80: ; 0x02186b80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b84 data_ov15_02186b84: ; 0x02186b84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b88 data_ov15_02186b88: ; 0x02186b88 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186b8c data_ov15_02186b8c: ; 0x02186b8c .ascii "glad" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b94 data_ov15_02186b94: ; 0x02186b94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b98 data_ov15_02186b98: ; 0x02186b98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186b9c data_ov15_02186b9c: ; 0x02186b9c .ascii "Tm3e5m2" .byte 0x00 .global data_ov15_02186ba4 data_ov15_02186ba4: ; 0x02186ba4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ba8 data_ov15_02186ba8: ; 0x02186ba8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bac data_ov15_02186bac: ; 0x02186bac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bb0 data_ov15_02186bb0: ; 0x02186bb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bb4 data_ov15_02186bb4: ; 0x02186bb4 .ascii "turiget" .byte 0x00 .global data_ov15_02186bbc data_ov15_02186bbc: ; 0x02186bbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bc0 data_ov15_02186bc0: ; 0x02186bc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bc4 data_ov15_02186bc4: ; 0x02186bc4 .ascii "Tm0e2m2" .byte 0x00 .global data_ov15_02186bcc data_ov15_02186bcc: ; 0x02186bcc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bd0 data_ov15_02186bd0: ; 0x02186bd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bd4 data_ov15_02186bd4: ; 0x02186bd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bd8 data_ov15_02186bd8: ; 0x02186bd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bdc data_ov15_02186bdc: ; 0x02186bdc .ascii "turicast" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186be8 data_ov15_02186be8: ; 0x02186be8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bec data_ov15_02186bec: ; 0x02186bec .ascii "turicast" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bf8 data_ov15_02186bf8: ; 0x02186bf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186bfc data_ov15_02186bfc: ; 0x02186bfc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186c00 data_ov15_02186c00: ; 0x02186c00 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186c04 data_ov15_02186c04: ; 0x02186c04 .ascii "aten_waitL" .byte 0x00, 0x00 .global data_ov15_02186c10 data_ov15_02186c10: ; 0x02186c10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c14 data_ov15_02186c14: ; 0x02186c14 .ascii "TmabaA" .byte 0x00, 0x00 .global data_ov15_02186c1c data_ov15_02186c1c: ; 0x02186c1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c20 data_ov15_02186c20: ; 0x02186c20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c24 data_ov15_02186c24: ; 0x02186c24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c28 data_ov15_02186c28: ; 0x02186c28 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186c2c data_ov15_02186c2c: ; 0x02186c2c .byte 0x24, 0x00, 0x00, 0x00 .global data_ov15_02186c30 data_ov15_02186c30: ; 0x02186c30 .byte 0x25, 0x00, 0x00, 0x00 .global data_ov15_02186c34 data_ov15_02186c34: ; 0x02186c34 .byte 0x23, 0x00, 0x00, 0x00 .global data_ov15_02186c38 data_ov15_02186c38: ; 0x02186c38 .ascii "navi" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c40 data_ov15_02186c40: ; 0x02186c40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c44 data_ov15_02186c44: ; 0x02186c44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c48 data_ov15_02186c48: ; 0x02186c48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c4c data_ov15_02186c4c: ; 0x02186c4c .word func_ov15_021707e8 .global data_ov15_02186c50 data_ov15_02186c50: ; 0x02186c50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c54 data_ov15_02186c54: ; 0x02186c54 .word func_ov15_02170830 ; func_ov20_02170830 .global data_ov15_02186c58 data_ov15_02186c58: ; 0x02186c58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c5c data_ov15_02186c5c: ; 0x02186c5c .word func_ov15_02170a04 ; func_ov21_02170a04 .global data_ov15_02186c60 data_ov15_02186c60: ; 0x02186c60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c64 data_ov15_02186c64: ; 0x02186c64 .word func_ov15_02171008 ; data_ov21_02171008 .global data_ov15_02186c68 data_ov15_02186c68: ; 0x02186c68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c6c data_ov15_02186c6c: ; 0x02186c6c .word func_ov15_0217127c ; data_ov21_0217127c .global data_ov15_02186c70 data_ov15_02186c70: ; 0x02186c70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c74 data_ov15_02186c74: ; 0x02186c74 .word func_ov15_0217128c ; data_ov21_0217128c .global data_ov15_02186c78 data_ov15_02186c78: ; 0x02186c78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c7c data_ov15_02186c7c: ; 0x02186c7c .ascii "LBNC" .global data_ov15_02186c80 data_ov15_02186c80: ; 0x02186c80 .ascii "LLUN" .global data_ov15_02186c84 data_ov15_02186c84: ; 0x02186c84 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c8c data_ov15_02186c8c: ; 0x02186c8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c90 data_ov15_02186c90: ; 0x02186c90 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c94 data_ov15_02186c94: ; 0x02186c94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186c98 data_ov15_02186c98: ; 0x02186c98 .ascii "damage" .byte 0x00, 0x00 .global data_ov15_02186ca0 data_ov15_02186ca0: ; 0x02186ca0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ca4 data_ov15_02186ca4: ; 0x02186ca4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ca8 data_ov15_02186ca8: ; 0x02186ca8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186cac data_ov15_02186cac: ; 0x02186cac .ascii "struggle" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186cb8 data_ov15_02186cb8: ; 0x02186cb8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186cbc data_ov15_02186cbc: ; 0x02186cbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186cc0 data_ov15_02186cc0: ; 0x02186cc0 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_02186cc4 data_ov15_02186cc4: ; 0x02186cc4 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_02186cc8 data_ov15_02186cc8: ; 0x02186cc8 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_02186ccc data_ov15_02186ccc: ; 0x02186ccc .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_02186cd0 data_ov15_02186cd0: ; 0x02186cd0 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_02186cd4 data_ov15_02186cd4: ; 0x02186cd4 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_02186cd8 data_ov15_02186cd8: ; 0x02186cd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186cdc data_ov15_02186cdc: ; 0x02186cdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ce0 data_ov15_02186ce0: ; 0x02186ce0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ce4 data_ov15_02186ce4: ; 0x02186ce4 .byte 0x00, 0x04, 0x00, 0x00 .global data_ov15_02186ce8 data_ov15_02186ce8: ; 0x02186ce8 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_02186cec data_ov15_02186cec: ; 0x02186cec .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov15_02186cf0 data_ov15_02186cf0: ; 0x02186cf0 .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov15_02186cf4 data_ov15_02186cf4: ; 0x02186cf4 .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov15_02186cf8 data_ov15_02186cf8: ; 0x02186cf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186cfc data_ov15_02186cfc: ; 0x02186cfc .byte 0xf4, 0x05, 0x00, 0x00 .global data_ov15_02186d00 data_ov15_02186d00: ; 0x02186d00 .byte 0x0c, 0xfa, 0xff, 0xff .global data_ov15_02186d04 data_ov15_02186d04: ; 0x02186d04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d08 data_ov15_02186d08: ; 0x02186d08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d0c data_ov15_02186d0c: ; 0x02186d0c .byte 0x6f, 0xfc, 0xff, 0xff .global data_ov15_02186d10 data_ov15_02186d10: ; 0x02186d10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d14 data_ov15_02186d14: ; 0x02186d14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d18 data_ov15_02186d18: ; 0x02186d18 .byte 0x0c, 0xfa, 0xff, 0xff .global data_ov15_02186d1c data_ov15_02186d1c: ; 0x02186d1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d20 data_ov15_02186d20: ; 0x02186d20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d24 data_ov15_02186d24: ; 0x02186d24 .byte 0xcd, 0xfe, 0xff, 0xff .global data_ov15_02186d28 data_ov15_02186d28: ; 0x02186d28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d2c data_ov15_02186d2c: ; 0x02186d2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d30 data_ov15_02186d30: ; 0x02186d30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d34 data_ov15_02186d34: ; 0x02186d34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d38 data_ov15_02186d38: ; 0x02186d38 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186d3c data_ov15_02186d3c: ; 0x02186d3c .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186d40 data_ov15_02186d40: ; 0x02186d40 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_02186d44 data_ov15_02186d44: ; 0x02186d44 .byte 0xfe, 0xff, 0xff, 0xff .global data_ov15_02186d48 data_ov15_02186d48: ; 0x02186d48 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov15_02186d4c data_ov15_02186d4c: ; 0x02186d4c .byte 0xfd, 0xff, 0xff, 0xff .global data_ov15_02186d50 data_ov15_02186d50: ; 0x02186d50 .byte 0x00, 0x00, 0x04, 0x00 .global data_ov15_02186d54 data_ov15_02186d54: ; 0x02186d54 .byte 0x00, 0x00, 0x0c, 0x00 .global data_ov15_02186d58 data_ov15_02186d58: ; 0x02186d58 .byte 0x00, 0x00, 0x04, 0x00 .global data_ov15_02186d5c data_ov15_02186d5c: ; 0x02186d5c .byte 0x00, 0x00, 0x04, 0x00 .global data_ov15_02186d60 data_ov15_02186d60: ; 0x02186d60 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_02186d64 data_ov15_02186d64: ; 0x02186d64 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov15_02186d68 data_ov15_02186d68: ; 0x02186d68 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov15_02186d6c data_ov15_02186d6c: ; 0x02186d6c .ascii "open" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d74 data_ov15_02186d74: ; 0x02186d74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d78 data_ov15_02186d78: ; 0x02186d78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186d7c data_ov15_02186d7c: ; 0x02186d7c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186d80 data_ov15_02186d80: ; 0x02186d80 .byte 0x91, 0x00, 0x00, 0x00 .global data_ov15_02186d84 data_ov15_02186d84: ; 0x02186d84 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186d88 data_ov15_02186d88: ; 0x02186d88 .byte 0x91, 0x00, 0x00, 0x00 .global data_ov15_02186d8c data_ov15_02186d8c: ; 0x02186d8c .byte 0xf3, 0x00, 0x00, 0x00 .global data_ov15_02186d90 data_ov15_02186d90: ; 0x02186d90 .byte 0xf4, 0x00, 0x00, 0x00 .global data_ov15_02186d94 data_ov15_02186d94: ; 0x02186d94 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186d98 data_ov15_02186d98: ; 0x02186d98 .byte 0x91, 0x00, 0x00, 0x00 .global data_ov15_02186d9c data_ov15_02186d9c: ; 0x02186d9c .byte 0xf3, 0x00, 0x00, 0x00 .global data_ov15_02186da0 data_ov15_02186da0: ; 0x02186da0 .byte 0xf4, 0x00, 0x00, 0x00 .global data_ov15_02186da4 data_ov15_02186da4: ; 0x02186da4 .byte 0xf5, 0x00, 0x00, 0x00 .global data_ov15_02186da8 data_ov15_02186da8: ; 0x02186da8 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_02186dac data_ov15_02186dac: ; 0x02186dac .ascii "2COG" .global data_ov15_02186db0 data_ov15_02186db0: ; 0x02186db0 .word data_ov15_02186d98 ; data_ov35_02186d98, data_ov36_02186d98 .global data_ov15_02186db4 data_ov15_02186db4: ; 0x02186db4 .ascii "2COG" .global data_ov15_02186db8 data_ov15_02186db8: ; 0x02186db8 .word data_ov15_02186d88 ; data_ov35_02186d88, data_ov36_02186d88 .global data_ov15_02186dbc data_ov15_02186dbc: ; 0x02186dbc .ascii "2COG" .global data_ov15_02186dc0 data_ov15_02186dc0: ; 0x02186dc0 .word data_ov15_02186d80 ; data_ov35_02186d80, data_ov36_02186d80 .global data_ov15_02186dc4 data_ov15_02186dc4: ; 0x02186dc4 .ascii "cruise" .byte 0x00, 0x00 .global data_ov15_02186dcc data_ov15_02186dcc: ; 0x02186dcc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186dd0 data_ov15_02186dd0: ; 0x02186dd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186dd4 data_ov15_02186dd4: ; 0x02186dd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186dd8 data_ov15_02186dd8: ; 0x02186dd8 .ascii "damage1" .byte 0x00 .global data_ov15_02186de0 data_ov15_02186de0: ; 0x02186de0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186de4 data_ov15_02186de4: ; 0x02186de4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186de8 data_ov15_02186de8: ; 0x02186de8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186dec data_ov15_02186dec: ; 0x02186dec .word func_ov15_021783a0 ; data_ov20_021783a0, data_ov28_021783a0 .global data_ov15_02186df0 data_ov15_02186df0: ; 0x02186df0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186df4 data_ov15_02186df4: ; 0x02186df4 .word func_ov15_02178494 ; data_ov20_02178494, data_ov28_02178494 .global data_ov15_02186df8 data_ov15_02186df8: ; 0x02186df8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186dfc data_ov15_02186dfc: ; 0x02186dfc .word func_ov15_021789c4 ; data_ov20_021789c4, data_ov22_021789c4, data_ov28_021789c4 .global data_ov15_02186e00 data_ov15_02186e00: ; 0x02186e00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186e04 data_ov15_02186e04: ; 0x02186e04 .word func_ov15_02178a6c ; data_ov20_02178a6c, data_ov28_02178a6c .global data_ov15_02186e08 data_ov15_02186e08: ; 0x02186e08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186e0c data_ov15_02186e0c: ; 0x02186e0c .word func_ov15_02178b7c ; data_ov20_02178b7c, func_ov27_02178b7c, func_ov61_02178b7c .global data_ov15_02186e10 data_ov15_02186e10: ; 0x02186e10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186e14 data_ov15_02186e14: ; 0x02186e14 .word func_ov15_02178c70 ; data_ov20_02178c70, data_ov28_02178c70 .global data_ov15_02186e18 data_ov15_02186e18: ; 0x02186e18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186e1c data_ov15_02186e1c: ; 0x02186e1c .byte 0x26, 0x00 .global data_ov15_02186e1e data_ov15_02186e1e: ; 0x02186e1e .byte 0x05, 0x00 .global data_ov15_02186e20 data_ov15_02186e20: ; 0x02186e20 .byte 0x2a, 0x00 .global data_ov15_02186e22 data_ov15_02186e22: ; 0x02186e22 .byte 0x05, 0x00 .global data_ov15_02186e24 data_ov15_02186e24: ; 0x02186e24 .byte 0x2b, 0x00 .global data_ov15_02186e26 data_ov15_02186e26: ; 0x02186e26 .byte 0x05, 0x00 .global data_ov15_02186e28 data_ov15_02186e28: ; 0x02186e28 .byte 0x2c, 0x00 .global data_ov15_02186e2a data_ov15_02186e2a: ; 0x02186e2a .byte 0x05, 0x00 .global data_ov15_02186e2c data_ov15_02186e2c: ; 0x02186e2c .byte 0x2d, 0x00 .global data_ov15_02186e2e data_ov15_02186e2e: ; 0x02186e2e .byte 0x05, 0x00 .global data_ov15_02186e30 data_ov15_02186e30: ; 0x02186e30 .byte 0x2e, 0x00 .global data_ov15_02186e32 data_ov15_02186e32: ; 0x02186e32 .byte 0x05, 0x00 .global data_ov15_02186e34 data_ov15_02186e34: ; 0x02186e34 .byte 0x2f, 0x00 .global data_ov15_02186e36 data_ov15_02186e36: ; 0x02186e36 .byte 0x05, 0x00 .global data_ov15_02186e38 data_ov15_02186e38: ; 0x02186e38 .byte 0x30, 0x00 .global data_ov15_02186e3a data_ov15_02186e3a: ; 0x02186e3a .byte 0x05, 0x00 .global data_ov15_02186e3c data_ov15_02186e3c: ; 0x02186e3c .byte 0x31, 0x00 .global data_ov15_02186e3e data_ov15_02186e3e: ; 0x02186e3e .byte 0x05, 0x00 .global data_ov15_02186e40 data_ov15_02186e40: ; 0x02186e40 .byte 0x27, 0x00 .global data_ov15_02186e42 data_ov15_02186e42: ; 0x02186e42 .byte 0x05, 0x00 .global data_ov15_02186e44 data_ov15_02186e44: ; 0x02186e44 .byte 0x28, 0x00 .global data_ov15_02186e46 data_ov15_02186e46: ; 0x02186e46 .byte 0x05, 0x00 .global data_ov15_02186e48 data_ov15_02186e48: ; 0x02186e48 .byte 0x29, 0x00 .global data_ov15_02186e4a data_ov15_02186e4a: ; 0x02186e4a .byte 0x05, 0x00 .global data_ov15_02186e4c data_ov15_02186e4c: ; 0x02186e4c .byte 0x32, 0x00 .global data_ov15_02186e4e data_ov15_02186e4e: ; 0x02186e4e .byte 0x05, 0x00 .global data_ov15_02186e50 data_ov15_02186e50: ; 0x02186e50 .byte 0x33, 0x00 .global data_ov15_02186e52 data_ov15_02186e52: ; 0x02186e52 .byte 0x05, 0x00 .global data_ov15_02186e54 data_ov15_02186e54: ; 0x02186e54 .byte 0x34, 0x00 .global data_ov15_02186e56 data_ov15_02186e56: ; 0x02186e56 .byte 0x05, 0x00 .global data_ov15_02186e58 data_ov15_02186e58: ; 0x02186e58 .byte 0x35, 0x00 .global data_ov15_02186e5a data_ov15_02186e5a: ; 0x02186e5a .byte 0x05, 0x00 .global data_ov15_02186e5c data_ov15_02186e5c: ; 0x02186e5c .byte 0x36, 0x00 .global data_ov15_02186e5e data_ov15_02186e5e: ; 0x02186e5e .byte 0x05, 0x00 .global data_ov15_02186e60 data_ov15_02186e60: ; 0x02186e60 .byte 0x05, 0x00, 0x00, 0x00 .global data_ov15_02186e64 data_ov15_02186e64: ; 0x02186e64 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_02186e68 data_ov15_02186e68: ; 0x02186e68 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov15_02186e6c data_ov15_02186e6c: ; 0x02186e6c .byte 0x06, 0x00, 0x00, 0x00 .global data_ov15_02186e70 data_ov15_02186e70: ; 0x02186e70 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_02186e74 data_ov15_02186e74: ; 0x02186e74 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_02186e78 data_ov15_02186e78: ; 0x02186e78 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_02186e7c data_ov15_02186e7c: ; 0x02186e7c .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_02186e80 data_ov15_02186e80: ; 0x02186e80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186e84 data_ov15_02186e84: ; 0x02186e84 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186e88 data_ov15_02186e88: ; 0x02186e88 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov15_02186e8c data_ov15_02186e8c: ; 0x02186e8c .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_02186e90 data_ov15_02186e90: ; 0x02186e90 .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_02186e94 data_ov15_02186e94: ; 0x02186e94 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_02186e98 data_ov15_02186e98: ; 0x02186e98 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_02186e9c data_ov15_02186e9c: ; 0x02186e9c .byte 0x00, 0x00, 0xff, 0xff .global data_ov15_02186ea0 data_ov15_02186ea0: ; 0x02186ea0 .byte 0x00, 0xd0, 0xfe, 0xff .global data_ov15_02186ea4 data_ov15_02186ea4: ; 0x02186ea4 .byte 0x00, 0xd0, 0xfe, 0xff .global data_ov15_02186ea8 data_ov15_02186ea8: ; 0x02186ea8 .byte 0x00, 0xb0, 0xff, 0xff .global data_ov15_02186eac data_ov15_02186eac: ; 0x02186eac .byte 0x00, 0xb0, 0xfe, 0xff .global data_ov15_02186eb0 data_ov15_02186eb0: ; 0x02186eb0 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02186eb4 data_ov15_02186eb4: ; 0x02186eb4 .byte 0x00, 0x90, 0xfe, 0xff .global data_ov15_02186eb8 data_ov15_02186eb8: ; 0x02186eb8 .byte 0x00, 0x90, 0x01, 0x00 .global data_ov15_02186ebc data_ov15_02186ebc: ; 0x02186ebc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ec0 data_ov15_02186ec0: ; 0x02186ec0 .byte 0x00, 0x50, 0x02, 0x00 .global data_ov15_02186ec4 data_ov15_02186ec4: ; 0x02186ec4 .byte 0x00, 0x30, 0xff, 0xff .global data_ov15_02186ec8 data_ov15_02186ec8: ; 0x02186ec8 .byte 0x00, 0x80, 0x02, 0x00 .global data_ov15_02186ecc data_ov15_02186ecc: ; 0x02186ecc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ed0 data_ov15_02186ed0: ; 0x02186ed0 .byte 0x00, 0x00, 0x03, 0x00 .global data_ov15_02186ed4 data_ov15_02186ed4: ; 0x02186ed4 .byte 0x00, 0xe0, 0x00, 0x00 .global data_ov15_02186ed8 data_ov15_02186ed8: ; 0x02186ed8 .byte 0x00, 0x80, 0x02, 0x00 .global data_ov15_02186edc data_ov15_02186edc: ; 0x02186edc .byte 0x00, 0x80, 0x01, 0x00 .global data_ov15_02186ee0 data_ov15_02186ee0: ; 0x02186ee0 .byte 0x00, 0xa0, 0x01, 0x00 .global data_ov15_02186ee4 data_ov15_02186ee4: ; 0x02186ee4 .byte 0x00, 0x60, 0x01, 0x00 .global data_ov15_02186ee8 data_ov15_02186ee8: ; 0x02186ee8 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_02186eec data_ov15_02186eec: ; 0x02186eec .byte 0x00, 0x50, 0x01, 0x00 .global data_ov15_02186ef0 data_ov15_02186ef0: ; 0x02186ef0 .byte 0x00, 0xb0, 0xff, 0xff .global data_ov15_02186ef4 data_ov15_02186ef4: ; 0x02186ef4 .byte 0x00, 0x00, 0x01, 0x00 .global data_ov15_02186ef8 data_ov15_02186ef8: ; 0x02186ef8 .byte 0x00, 0xd0, 0xfe, 0xff .global data_ov15_02186efc data_ov15_02186efc: ; 0x02186efc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f00 data_ov15_02186f00: ; 0x02186f00 .byte 0x00, 0xe0, 0xfe, 0xff .global data_ov15_02186f04 data_ov15_02186f04: ; 0x02186f04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f08 data_ov15_02186f08: ; 0x02186f08 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186f0c data_ov15_02186f0c: ; 0x02186f0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f10 data_ov15_02186f10: ; 0x02186f10 .byte 0x00, 0x50, 0x01, 0x00 .global data_ov15_02186f14 data_ov15_02186f14: ; 0x02186f14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f18 data_ov15_02186f18: ; 0x02186f18 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186f1c data_ov15_02186f1c: ; 0x02186f1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f20 data_ov15_02186f20: ; 0x02186f20 .byte 0xcd, 0xec, 0xff, 0xff .global data_ov15_02186f24 data_ov15_02186f24: ; 0x02186f24 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186f28 data_ov15_02186f28: ; 0x02186f28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f2c data_ov15_02186f2c: ; 0x02186f2c .byte 0x33, 0x13, 0x00, 0x00 .global data_ov15_02186f30 data_ov15_02186f30: ; 0x02186f30 .byte 0x00, 0x20, 0x00, 0x00 .global data_ov15_02186f34 data_ov15_02186f34: ; 0x02186f34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f38 data_ov15_02186f38: ; 0x02186f38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f3c data_ov15_02186f3c: ; 0x02186f3c .byte 0x00, 0x28, 0x00, 0x00 .global data_ov15_02186f40 data_ov15_02186f40: ; 0x02186f40 .byte 0x00, 0xe8, 0xff, 0xff .global data_ov15_02186f44 data_ov15_02186f44: ; 0x02186f44 .byte 0x00, 0x80, 0xff, 0xff .global data_ov15_02186f48 data_ov15_02186f48: ; 0x02186f48 .byte 0x48, 0x01, 0x00, 0x00 .global data_ov15_02186f4c data_ov15_02186f4c: ; 0x02186f4c .ascii "phantom_base" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f5c data_ov15_02186f5c: ; 0x02186f5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186f60 data_ov15_02186f60: ; 0x02186f60 .byte 0xf4, 0xb0, 0x34, 0xd0 .global data_ov15_02186f64 data_ov15_02186f64: ; 0x02186f64 .byte 0x00, 0xc0, 0x00, 0xc0 .global data_ov15_02186f68 data_ov15_02186f68: ; 0x02186f68 .byte 0xd0, 0x0a, 0xb0, 0x04 .global data_ov15_02186f6c data_ov15_02186f6c: ; 0x02186f6c .byte 0x48, 0xee, 0x48, 0x71 .global data_ov15_02186f70 data_ov15_02186f70: ; 0x02186f70 .byte 0x30, 0x75, 0x18, 0x79 .global data_ov15_02186f74 data_ov15_02186f74: ; 0x02186f74 .byte 0xd8, 0x8b, 0x10, 0x8b .global data_ov15_02186f78 data_ov15_02186f78: ; 0x02186f78 .byte 0xb8, 0x0b, 0x64, 0x19 .global data_ov15_02186f7c data_ov15_02186f7c: ; 0x02186f7c .byte 0x00, 0x00, 0x88, 0x13 .global data_ov15_02186f80 data_ov15_02186f80: ; 0x02186f80 .byte 0x28, 0x0a, 0x94, 0x11 .global data_ov15_02186f84 data_ov15_02186f84: ; 0x02186f84 .byte 0xd0, 0x07, 0xb8, 0x0b .global data_ov15_02186f88 data_ov15_02186f88: ; 0x02186f88 .byte 0x88, 0x13, 0xa4, 0x06 .global data_ov15_02186f8c data_ov15_02186f8c: ; 0x02186f8c .byte 0x70, 0x17, 0x00, 0x00 .global data_ov15_02186f90 data_ov15_02186f90: ; 0x02186f90 .byte 0xf4, 0xfb, 0xf4, 0xfb .global data_ov15_02186f94 data_ov15_02186f94: ; 0x02186f94 .byte 0xc0, 0xda, 0x2c, 0xfb .global data_ov15_02186f98 data_ov15_02186f98: ; 0x02186f98 .byte 0x9e, 0x07, 0xdc, 0x05 .global data_ov15_02186f9c data_ov15_02186f9c: ; 0x02186f9c .byte 0x00, 0x00, 0x0c, 0x7b .global data_ov15_02186fa0 data_ov15_02186fa0: ; 0x02186fa0 .byte 0x9e, 0x07, 0xe8, 0x03 .global data_ov15_02186fa4 data_ov15_02186fa4: ; 0x02186fa4 .byte 0x00, 0x00, 0x98, 0x08 .global data_ov15_02186fa8 data_ov15_02186fa8: ; 0x02186fa8 .byte 0x00, 0x00 .global data_ov15_02186faa data_ov15_02186faa: ; 0x02186faa .byte 0x00, 0x00 .global data_ov15_02186fac data_ov15_02186fac: ; 0x02186fac .byte 0x00, 0x00 .global data_ov15_02186fae data_ov15_02186fae: ; 0x02186fae .byte 0x00, 0xc0 .global data_ov15_02186fb0 data_ov15_02186fb0: ; 0x02186fb0 .byte 0x00, 0xc0 .global data_ov15_02186fb2 data_ov15_02186fb2: ; 0x02186fb2 .byte 0x00, 0xc0 .global data_ov15_02186fb4 data_ov15_02186fb4: ; 0x02186fb4 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186fbc data_ov15_02186fbc: ; 0x02186fbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fc0 data_ov15_02186fc0: ; 0x02186fc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fc4 data_ov15_02186fc4: ; 0x02186fc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fc8 data_ov15_02186fc8: ; 0x02186fc8 .ascii "appear1" .byte 0x00 .global data_ov15_02186fd0 data_ov15_02186fd0: ; 0x02186fd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fd4 data_ov15_02186fd4: ; 0x02186fd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fd8 data_ov15_02186fd8: ; 0x02186fd8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186fdc data_ov15_02186fdc: ; 0x02186fdc .ascii "attack1" .byte 0x00 .global data_ov15_02186fe4 data_ov15_02186fe4: ; 0x02186fe4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fe8 data_ov15_02186fe8: ; 0x02186fe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186fec data_ov15_02186fec: ; 0x02186fec .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02186ff0 data_ov15_02186ff0: ; 0x02186ff0 .ascii "dead1" .byte 0x00, 0x00, 0x00 .global data_ov15_02186ff8 data_ov15_02186ff8: ; 0x02186ff8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02186ffc data_ov15_02186ffc: ; 0x02186ffc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187000 data_ov15_02187000: ; 0x02187000 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02187004 data_ov15_02187004: ; 0x02187004 .ascii "head1" .byte 0x00, 0x00, 0x00 .global data_ov15_0218700c data_ov15_0218700c: ; 0x0218700c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187010 data_ov15_02187010: ; 0x02187010 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187014 data_ov15_02187014: ; 0x02187014 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187018 data_ov15_02187018: ; 0x02187018 .word func_ov15_0217c94c .global data_ov15_0218701c data_ov15_0218701c: ; 0x0218701c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187020 data_ov15_02187020: ; 0x02187020 .word func_ov15_0217ca04 ; func_ov38_0217ca04 .global data_ov15_02187024 data_ov15_02187024: ; 0x02187024 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187028 data_ov15_02187028: ; 0x02187028 .word func_ov15_0217ca04 ; func_ov38_0217ca04 .global data_ov15_0218702c data_ov15_0218702c: ; 0x0218702c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187030 data_ov15_02187030: ; 0x02187030 .word func_ov15_0217d020 .global data_ov15_02187034 data_ov15_02187034: ; 0x02187034 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187038 data_ov15_02187038: ; 0x02187038 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_0218703c data_ov15_0218703c: ; 0x0218703c .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_02187040 data_ov15_02187040: ; 0x02187040 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_02187044 data_ov15_02187044: ; 0x02187044 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov15_02187048 data_ov15_02187048: ; 0x02187048 .byte 0x8c, 0x00 .global data_ov15_0218704a data_ov15_0218704a: ; 0x0218704a .byte 0x8d, 0x00 .global data_ov15_0218704c data_ov15_0218704c: ; 0x0218704c .byte 0x8e, 0x00 .global data_ov15_0218704e data_ov15_0218704e: ; 0x0218704e .byte 0x8f, 0x00 .global data_ov15_02187050 data_ov15_02187050: ; 0x02187050 .byte 0x05, 0x10 .global data_ov15_02187052 data_ov15_02187052: ; 0x02187052 .byte 0x06, 0x10 .global data_ov15_02187054 data_ov15_02187054: ; 0x02187054 .byte 0x07, 0x10 .global data_ov15_02187056 data_ov15_02187056: ; 0x02187056 .byte 0x08, 0x10 .global data_ov15_02187058 data_ov15_02187058: ; 0x02187058 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_02187060 data_ov15_02187060: ; 0x02187060 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187064 data_ov15_02187064: ; 0x02187064 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187068 data_ov15_02187068: ; 0x02187068 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218706c data_ov15_0218706c: ; 0x0218706c .ascii "shoot1" .byte 0x00, 0x00 .global data_ov15_02187074 data_ov15_02187074: ; 0x02187074 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187078 data_ov15_02187078: ; 0x02187078 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218707c data_ov15_0218707c: ; 0x0218707c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_02187080 data_ov15_02187080: ; 0x02187080 .word func_ov15_02180db4 ; data_ov61_02180db4 .global data_ov15_02187084 data_ov15_02187084: ; 0x02187084 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187088 data_ov15_02187088: ; 0x02187088 .word func_ov15_02180ddc ; func_ov31_02180ddc, data_ov61_02180ddc .global data_ov15_0218708c data_ov15_0218708c: ; 0x0218708c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187090 data_ov15_02187090: ; 0x02187090 .word func_ov15_02180e44 ; func_ov31_02180e44, data_ov61_02180e44 .global data_ov15_02187094 data_ov15_02187094: ; 0x02187094 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187098 data_ov15_02187098: ; 0x02187098 .word func_ov15_02181398 ; data_ov61_02181398 .global data_ov15_0218709c data_ov15_0218709c: ; 0x0218709c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870a0 data_ov15_021870a0: ; 0x021870a0 .word func_ov15_021813d0 ; func_ov39_021813d0, data_ov61_021813d0 .global data_ov15_021870a4 data_ov15_021870a4: ; 0x021870a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870a8 data_ov15_021870a8: ; 0x021870a8 .word func_ov15_02181400 ; data_ov61_02181400 .global data_ov15_021870ac data_ov15_021870ac: ; 0x021870ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870b0 data_ov15_021870b0: ; 0x021870b0 .word func_ov15_02181440 ; data_ov61_02181440 .global data_ov15_021870b4 data_ov15_021870b4: ; 0x021870b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870b8 data_ov15_021870b8: ; 0x021870b8 .word func_ov15_02181574 ; data_ov61_02181574 .global data_ov15_021870bc data_ov15_021870bc: ; 0x021870bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870c0 data_ov15_021870c0: ; 0x021870c0 .word func_ov15_02181cb8 .global data_ov15_021870c4 data_ov15_021870c4: ; 0x021870c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870c8 data_ov15_021870c8: ; 0x021870c8 .word func_ov15_02181ebc .global data_ov15_021870cc data_ov15_021870cc: ; 0x021870cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870d0 data_ov15_021870d0: ; 0x021870d0 .word func_ov15_02181ecc .global data_ov15_021870d4 data_ov15_021870d4: ; 0x021870d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870d8 data_ov15_021870d8: ; 0x021870d8 .word func_ov15_02182110 ; data_ov31_02182110, func_ov40_02182110 .global data_ov15_021870dc data_ov15_021870dc: ; 0x021870dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870e0 data_ov15_021870e0: ; 0x021870e0 .word func_ov15_02182590 ; data_ov31_02182590 .global data_ov15_021870e4 data_ov15_021870e4: ; 0x021870e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870e8 data_ov15_021870e8: ; 0x021870e8 .word func_ov15_021815b0 ; data_ov61_021815b0 .global data_ov15_021870ec data_ov15_021870ec: ; 0x021870ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870f0 data_ov15_021870f0: ; 0x021870f0 .word func_ov15_02181618 ; data_ov61_02181618 .global data_ov15_021870f4 data_ov15_021870f4: ; 0x021870f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021870f8 data_ov15_021870f8: ; 0x021870f8 .word func_ov15_021818cc ; data_ov31_021818cc, data_ov61_021818cc .global data_ov15_021870fc data_ov15_021870fc: ; 0x021870fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187100 data_ov15_02187100: ; 0x02187100 .word func_ov15_02181a28 ; data_ov31_02181a28 .global data_ov15_02187104 data_ov15_02187104: ; 0x02187104 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187108 data_ov15_02187108: ; 0x02187108 .word func_ov15_02181b5c ; data_ov31_02181b5c .global data_ov15_0218710c data_ov15_0218710c: ; 0x0218710c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187110 data_ov15_02187110: ; 0x02187110 .word func_ov15_02181c4c .global data_ov15_02187114 data_ov15_02187114: ; 0x02187114 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187118 data_ov15_02187118: ; 0x02187118 .ascii "ef_hurricane" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187128 data_ov15_02187128: ; 0x02187128 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218712c data_ov15_0218712c: ; 0x0218712c .ascii "base" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187134 data_ov15_02187134: ; 0x02187134 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187138 data_ov15_02187138: ; 0x02187138 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218713c data_ov15_0218713c: ; 0x0218713c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187140 data_ov15_02187140: ; 0x02187140 .ascii "tornado1_b" .byte 0x00, 0x00 .global data_ov15_0218714c data_ov15_0218714c: ; 0x0218714c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187150 data_ov15_02187150: ; 0x02187150 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187154 data_ov15_02187154: ; 0x02187154 .ascii "tornado1_f" .byte 0x00, 0x00 .global data_ov15_02187160 data_ov15_02187160: ; 0x02187160 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187164 data_ov15_02187164: ; 0x02187164 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187168 data_ov15_02187168: ; 0x02187168 .ascii " !%&'(./2345:;?" .byte 0x00 .global data_ov15_02187178 data_ov15_02187178: ; 0x02187178 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218717c data_ov15_0218717c: ; 0x0218717c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187180 data_ov15_02187180: ; 0x02187180 .byte 0x00 .global data_ov15_02187181 data_ov15_02187181: ; 0x02187181 .byte 0x00 .global data_ov15_02187182 data_ov15_02187182: ; 0x02187182 .byte 0x01 .global data_ov15_02187183 data_ov15_02187183: ; 0x02187183 .byte 0x0f .global data_ov15_02187184 data_ov15_02187184: ; 0x02187184 .byte 0x02 .global data_ov15_02187185 data_ov15_02187185: ; 0x02187185 .byte 0x00 .global data_ov15_02187186 data_ov15_02187186: ; 0x02187186 .byte 0x0c .global data_ov15_02187187 data_ov15_02187187: ; 0x02187187 .byte 0x0f .global data_ov15_02187188 data_ov15_02187188: ; 0x02187188 .byte 0x0d .global data_ov15_02187189 data_ov15_02187189: ; 0x02187189 .byte 0x08 .global data_ov15_0218718a data_ov15_0218718a: ; 0x0218718a .byte 0x0f .global data_ov15_0218718b data_ov15_0218718b: ; 0x0218718b .byte 0x0f .global data_ov15_0218718c data_ov15_0218718c: ; 0x0218718c .byte 0x08 .global data_ov15_0218718d data_ov15_0218718d: ; 0x0218718d .byte 0x02 .global data_ov15_0218718e data_ov15_0218718e: ; 0x0218718e .byte 0x6a .global data_ov15_0218718f data_ov15_0218718f: ; 0x0218718f .byte 0x06 .global data_ov15_02187190 data_ov15_02187190: ; 0x02187190 .byte 0x07 .global data_ov15_02187191 data_ov15_02187191: ; 0x02187191 .byte 0x00 .global data_ov15_02187192 data_ov15_02187192: ; 0x02187192 .byte 0x0c .global data_ov15_02187193 data_ov15_02187193: ; 0x02187193 .byte 0x0f .global data_ov15_02187194 data_ov15_02187194: ; 0x02187194 .byte 0x00 .global data_ov15_02187195 data_ov15_02187195: ; 0x02187195 .byte 0x00 .global data_ov15_02187196 data_ov15_02187196: ; 0x02187196 .byte 0x0f .global data_ov15_02187197 data_ov15_02187197: ; 0x02187197 .byte 0x0f .global data_ov15_02187198 data_ov15_02187198: ; 0x02187198 .byte 0x02 .global data_ov15_02187199 data_ov15_02187199: ; 0x02187199 .byte 0x00 .global data_ov15_0218719a data_ov15_0218719a: ; 0x0218719a .byte 0x06 .global data_ov15_0218719b data_ov15_0218719b: ; 0x0218719b .byte 0x0f .global data_ov15_0218719c data_ov15_0218719c: ; 0x0218719c .byte 0x02 .global data_ov15_0218719d data_ov15_0218719d: ; 0x0218719d .byte 0x00 .global data_ov15_0218719e data_ov15_0218719e: ; 0x0218719e .byte 0x07 .global data_ov15_0218719f data_ov15_0218719f: ; 0x0218719f .byte 0x0f .global data_ov15_021871a0 data_ov15_021871a0: ; 0x021871a0 .byte 0x08 .global data_ov15_021871a1 data_ov15_021871a1: ; 0x021871a1 .byte 0x00 .global data_ov15_021871a2 data_ov15_021871a2: ; 0x021871a2 .byte 0x0c .global data_ov15_021871a3 data_ov15_021871a3: ; 0x021871a3 .byte 0x0f .global data_ov15_021871a4 data_ov15_021871a4: ; 0x021871a4 .byte 0xd3, 0x00, 0x00, 0x00 .global data_ov15_021871a8 data_ov15_021871a8: ; 0x021871a8 .word data_ov15_0218eb4c ; data_ov40_0218eb4c, data_ov41_0218eb4c, data_ov45_0218eb4c .global data_ov15_021871ac data_ov15_021871ac: ; 0x021871ac .byte 0x00, 0x03, 0x00, 0x0f .global data_ov15_021871b0 data_ov15_021871b0: ; 0x021871b0 .byte 0x01, 0x03, 0x01, 0x0f .global data_ov15_021871b4 data_ov15_021871b4: ; 0x021871b4 .byte 0x62, 0x00, 0x00, 0x00 .global data_ov15_021871b8 data_ov15_021871b8: ; 0x021871b8 .word data_ov15_0218eb7c ; data_ov40_0218eb7c, data_ov45_0218eb7c .global data_ov15_021871bc data_ov15_021871bc: ; 0x021871bc .byte 0x02, 0x02, 0x18, 0x02 .global data_ov15_021871c0 data_ov15_021871c0: ; 0x021871c0 .byte 0x19, 0x00, 0x6a, 0x06 .global data_ov15_021871c4 data_ov15_021871c4: ; 0x021871c4 .byte 0x65, 0x00, 0x00, 0x00 .global data_ov15_021871c8 data_ov15_021871c8: ; 0x021871c8 .word data_ov15_0218eb58 ; data_ov40_0218eb58, data_ov41_0218eb58, data_ov45_0218eb58 .global data_ov15_021871cc data_ov15_021871cc: ; 0x021871cc .byte 0x66, 0x00, 0x00, 0x00 .global data_ov15_021871d0 data_ov15_021871d0: ; 0x021871d0 .word data_ov15_0218eb70 ; data_ov40_0218eb70, data_ov45_0218eb70 .global data_ov15_021871d4 data_ov15_021871d4: ; 0x021871d4 .byte 0x0f, 0x00, 0x00, 0x00 .global data_ov15_021871d8 data_ov15_021871d8: ; 0x021871d8 .word data_ov15_0218eb88 ; data_ov40_0218eb88, data_ov45_0218eb88 .global data_ov15_021871dc data_ov15_021871dc: ; 0x021871dc .byte 0x10, 0x00, 0x00, 0x00 .global data_ov15_021871e0 data_ov15_021871e0: ; 0x021871e0 .word data_ov15_0218eb94 ; data_ov40_0218eb94, data_ov45_0218eb94 .global data_ov15_021871e4 data_ov15_021871e4: ; 0x021871e4 .byte 0x11, 0x00, 0x00, 0x00 .global data_ov15_021871e8 data_ov15_021871e8: ; 0x021871e8 .word data_ov15_0218eba0 ; data_ov40_0218eba0, data_ov45_0218eba0 .global data_ov15_021871ec data_ov15_021871ec: ; 0x021871ec .word data_ov15_0218eb64 ; data_ov40_0218eb64, data_ov45_0218eb64 .word data_ov15_021871a4 .byte 0x01, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00 .byte 0x00, 0x01, 0x00, 0x00 .word data_ov15_021871a0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218720c data_ov15_0218720c: ; 0x0218720c .word data_ov15_0218eb40 ; data_ov40_0218eb40, data_ov41_0218eb40, data_ov45_0218eb40 .word data_ov15_021871c4 .byte 0x02, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .word data_ov15_02187190 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218722c data_ov15_0218722c: ; 0x0218722c .word data_ov15_0218eb2c ; data_ov40_0218eb2c, data_ov41_0218eb2c, data_ov45_0218eb2c .word data_ov15_021871d4 .byte 0x03, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00 .word data_ov15_02187190 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218724c data_ov15_0218724c: ; 0x0218724c .word data_ov15_0218eb34 ; data_ov40_0218eb34, data_ov41_0218eb34, data_ov45_0218eb34 .word data_ov15_021871b4 .byte 0x01, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .word data_ov15_02187190 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218726c data_ov15_0218726c: ; 0x0218726c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02187270 data_ov15_02187270: ; 0x02187270 .word data_ov15_0218ebb0 ; data_ov40_0218ebb0, data_ov45_0218ebb0 .global data_ov15_02187274 data_ov15_02187274: ; 0x02187274 .word data_ov15_0218ebb4 ; data_ov40_0218ebb4, data_ov45_0218ebb4 .global data_ov15_02187278 data_ov15_02187278: ; 0x02187278 .word data_ov15_0218ebc4 ; data_ov40_0218ebc4, data_ov45_0218ebc4 .global data_ov15_0218727c data_ov15_0218727c: ; 0x0218727c .byte 0xc3, 0x01, 0x00, 0x00 .global data_ov15_02187280 data_ov15_02187280: ; 0x02187280 .byte 0x00, 0x00, 0x01, 0x00 .global data_ov15_02187284 data_ov15_02187284: ; 0x02187284 .byte 0x00, 0xe4, 0x01, 0x00 .global data_ov15_02187288 data_ov15_02187288: ; 0x02187288 .byte 0x66, 0x02, 0x00, 0x00 .global data_ov15_0218728c data_ov15_0218728c: ; 0x0218728c .byte 0x00, 0xb0, 0x00, 0x00 .global data_ov15_02187290 data_ov15_02187290: ; 0x02187290 .byte 0x00, 0x78, 0x03, 0x00 .global data_ov15_02187294 data_ov15_02187294: ; 0x02187294 .byte 0x33, 0x03, 0x00, 0x00 .global data_ov15_02187298 data_ov15_02187298: ; 0x02187298 .byte 0x00, 0xe0, 0x00, 0x00 .global data_ov15_0218729c data_ov15_0218729c: ; 0x0218729c .byte 0x9a, 0x89, 0x04, 0x00 .global data_ov15_021872a0 data_ov15_021872a0: ; 0x021872a0 .byte 0x85, 0x01, 0x00, 0x00 .global data_ov15_021872a4 data_ov15_021872a4: ; 0x021872a4 .byte 0x00, 0xd0, 0x00, 0x00 .global data_ov15_021872a8 data_ov15_021872a8: ; 0x021872a8 .byte 0x00, 0xa0, 0x06, 0x00 .global data_ov15_021872ac data_ov15_021872ac: ; 0x021872ac .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov15_021872b0 data_ov15_021872b0: ; 0x021872b0 .byte 0x00, 0x40, 0x01, 0x00 .global data_ov15_021872b4 data_ov15_021872b4: ; 0x021872b4 .byte 0x00, 0x90, 0x05, 0x00 .global data_ov15_021872b8 data_ov15_021872b8: ; 0x021872b8 .byte 0xec, 0x01, 0x00, 0x00 .global data_ov15_021872bc data_ov15_021872bc: ; 0x021872bc .byte 0x00, 0x30, 0x00, 0x00 .global data_ov15_021872c0 data_ov15_021872c0: ; 0x021872c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021872c4 data_ov15_021872c4: ; 0x021872c4 .byte 0x65, 0x00, 0x00, 0x00 .global data_ov15_021872c8 data_ov15_021872c8: ; 0x021872c8 .byte 0x3a, 0x03, 0xd5, 0x04 .global data_ov15_021872cc data_ov15_021872cc: ; 0x021872cc .byte 0x68, 0x00, 0x00, 0x00 .global data_ov15_021872d0 data_ov15_021872d0: ; 0x021872d0 .byte 0x7f, 0xff, 0x00, 0x00 .global data_ov15_021872d4 data_ov15_021872d4: ; 0x021872d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021872d8 data_ov15_021872d8: ; 0x021872d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021872dc data_ov15_021872dc: ; 0x021872dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021872e0 data_ov15_021872e0: ; 0x021872e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021872e4 data_ov15_021872e4: ; 0x021872e4 .byte 0x30 .global data_ov15_021872e5 data_ov15_021872e5: ; 0x021872e5 .byte 0x30 .global data_ov15_021872e6 data_ov15_021872e6: ; 0x021872e6 .byte 0x00 .global data_ov15_021872e7 data_ov15_021872e7: ; 0x021872e7 .byte 0x00 .global data_ov15_021872e8 data_ov15_021872e8: ; 0x021872e8 .byte 0x40 .global data_ov15_021872e9 data_ov15_021872e9: ; 0x021872e9 .byte 0x00 .global data_ov15_021872ea data_ov15_021872ea: ; 0x021872ea .byte 0x00 .global data_ov15_021872eb data_ov15_021872eb: ; 0x021872eb .byte 0x00 .global data_ov15_021872ec data_ov15_021872ec: ; 0x021872ec .byte 0x7f .global data_ov15_021872ed data_ov15_021872ed: ; 0x021872ed .byte 0x7f .global data_ov15_021872ee data_ov15_021872ee: ; 0x021872ee .byte 0x00 .global data_ov15_021872ef data_ov15_021872ef: ; 0x021872ef .byte 0x00 .global data_ov15_021872f0 data_ov15_021872f0: ; 0x021872f0 .byte 0x00 .global data_ov15_021872f1 data_ov15_021872f1: ; 0x021872f1 .byte 0x00 .global data_ov15_021872f2 data_ov15_021872f2: ; 0x021872f2 .byte 0x7f .global data_ov15_021872f3 data_ov15_021872f3: ; 0x021872f3 .byte 0x00 .global data_ov15_021872f4 data_ov15_021872f4: ; 0x021872f4 .byte 0x00 .global data_ov15_021872f5 data_ov15_021872f5: ; 0x021872f5 .byte 0x00 .global data_ov15_021872f6 data_ov15_021872f6: ; 0x021872f6 .byte 0x40 .global data_ov15_021872f7 data_ov15_021872f7: ; 0x021872f7 .byte 0x00 .global data_ov15_021872f8 data_ov15_021872f8: ; 0x021872f8 .byte 0x00 .global data_ov15_021872f9 data_ov15_021872f9: ; 0x021872f9 .byte 0x00 .global data_ov15_021872fa data_ov15_021872fa: ; 0x021872fa .byte 0x7f .global data_ov15_021872fb data_ov15_021872fb: ; 0x021872fb .byte 0x00 .global data_ov15_021872fc data_ov15_021872fc: ; 0x021872fc .byte 0x00 .global data_ov15_021872fd data_ov15_021872fd: ; 0x021872fd .byte 0x00 .global data_ov15_021872fe data_ov15_021872fe: ; 0x021872fe .byte 0x40 .global data_ov15_021872ff data_ov15_021872ff: ; 0x021872ff .byte 0x00 .global data_ov15_02187300 data_ov15_02187300: ; 0x02187300 .byte 0x00 .global data_ov15_02187301 data_ov15_02187301: ; 0x02187301 .byte 0x00 .global data_ov15_02187302 data_ov15_02187302: ; 0x02187302 .byte 0x00 .global data_ov15_02187303 data_ov15_02187303: ; 0x02187303 .byte 0x00 .global data_ov15_02187304 data_ov15_02187304: ; 0x02187304 .byte 0x8d, 0x00 .global data_ov15_02187306 data_ov15_02187306: ; 0x02187306 .byte 0x05, 0x00 .global data_ov15_02187308 data_ov15_02187308: ; 0x02187308 .byte 0x8c, 0x00 .global data_ov15_0218730a data_ov15_0218730a: ; 0x0218730a .byte 0x05, 0x00 .global data_ov15_0218730c data_ov15_0218730c: ; 0x0218730c .byte 0x8b, 0x00 .global data_ov15_0218730e data_ov15_0218730e: ; 0x0218730e .byte 0x05, 0x00 .global data_ov15_02187310 data_ov15_02187310: ; 0x02187310 .byte 0x8a, 0x00 .global data_ov15_02187312 data_ov15_02187312: ; 0x02187312 .byte 0x05, 0x00 .global data_ov15_02187314 data_ov15_02187314: ; 0x02187314 .byte 0x8e, 0x00 .global data_ov15_02187316 data_ov15_02187316: ; 0x02187316 .byte 0x05, 0x00 .global data_ov15_02187318 data_ov15_02187318: ; 0x02187318 .byte 0x8f, 0x00 .global data_ov15_0218731a data_ov15_0218731a: ; 0x0218731a .byte 0x05, 0x00 .global data_ov15_0218731c data_ov15_0218731c: ; 0x0218731c .byte 0x90, 0x00 .global data_ov15_0218731e data_ov15_0218731e: ; 0x0218731e .byte 0x05, 0x00 .global data_ov15_02187320 data_ov15_02187320: ; 0x02187320 .byte 0x91, 0x00 .global data_ov15_02187322 data_ov15_02187322: ; 0x02187322 .byte 0x05, 0x00 .global data_ov15_02187324 data_ov15_02187324: ; 0x02187324 .byte 0x98, 0x00 .global data_ov15_02187326 data_ov15_02187326: ; 0x02187326 .byte 0x05, 0x00 .global data_ov15_02187328 data_ov15_02187328: ; 0x02187328 .byte 0x97, 0x00 .global data_ov15_0218732a data_ov15_0218732a: ; 0x0218732a .byte 0x05, 0x00 .global data_ov15_0218732c data_ov15_0218732c: ; 0x0218732c .byte 0x96, 0x00 .global data_ov15_0218732e data_ov15_0218732e: ; 0x0218732e .byte 0x05, 0x00 .global data_ov15_02187330 data_ov15_02187330: ; 0x02187330 .byte 0x95, 0x00 .global data_ov15_02187332 data_ov15_02187332: ; 0x02187332 .byte 0x05, 0x00 .global data_ov15_02187334 data_ov15_02187334: ; 0x02187334 .byte 0x99, 0x00 .global data_ov15_02187336 data_ov15_02187336: ; 0x02187336 .byte 0x05, 0x00 .global data_ov15_02187338 data_ov15_02187338: ; 0x02187338 .byte 0x9a, 0x00 .global data_ov15_0218733a data_ov15_0218733a: ; 0x0218733a .byte 0x05, 0x00 .global data_ov15_0218733c data_ov15_0218733c: ; 0x0218733c .byte 0x9b, 0x00 .global data_ov15_0218733e data_ov15_0218733e: ; 0x0218733e .byte 0x05, 0x00 .global data_ov15_02187340 data_ov15_02187340: ; 0x02187340 .byte 0x9c, 0x00 .global data_ov15_02187342 data_ov15_02187342: ; 0x02187342 .byte 0x05, 0x00 .global data_ov15_02187344 data_ov15_02187344: ; 0x02187344 .byte 0x24, 0x00 .global data_ov15_02187346 data_ov15_02187346: ; 0x02187346 .byte 0x05, 0x00 .global data_ov15_02187348 data_ov15_02187348: ; 0x02187348 .byte 0x23, 0x00 .global data_ov15_0218734a data_ov15_0218734a: ; 0x0218734a .byte 0x05, 0x00 .global data_ov15_0218734c data_ov15_0218734c: ; 0x0218734c .byte 0x22, 0x00 .global data_ov15_0218734e data_ov15_0218734e: ; 0x0218734e .byte 0x05, 0x00 .global data_ov15_02187350 data_ov15_02187350: ; 0x02187350 .byte 0x21, 0x00 .global data_ov15_02187352 data_ov15_02187352: ; 0x02187352 .byte 0x05, 0x00 .global data_ov15_02187354 data_ov15_02187354: ; 0x02187354 .byte 0x99, 0x00 .global data_ov15_02187356 data_ov15_02187356: ; 0x02187356 .byte 0x05, 0x00 .global data_ov15_02187358 data_ov15_02187358: ; 0x02187358 .byte 0x9a, 0x00 .global data_ov15_0218735a data_ov15_0218735a: ; 0x0218735a .byte 0x05, 0x00 .global data_ov15_0218735c data_ov15_0218735c: ; 0x0218735c .byte 0x9b, 0x00 .global data_ov15_0218735e data_ov15_0218735e: ; 0x0218735e .byte 0x05, 0x00 .global data_ov15_02187360 data_ov15_02187360: ; 0x02187360 .byte 0x9c, 0x00 .global data_ov15_02187362 data_ov15_02187362: ; 0x02187362 .byte 0x05, 0x00 .global data_ov15_02187364 data_ov15_02187364: ; 0x02187364 .byte 0x9d, 0x00 .global data_ov15_02187366 data_ov15_02187366: ; 0x02187366 .byte 0x05, 0x00 .global data_ov15_02187368 data_ov15_02187368: ; 0x02187368 .byte 0xa0, 0x00 .global data_ov15_0218736a data_ov15_0218736a: ; 0x0218736a .byte 0x05, 0x00 .global data_ov15_0218736c data_ov15_0218736c: ; 0x0218736c .byte 0xa1, 0x00, 0x05, 0x00 .global data_ov15_02187370 data_ov15_02187370: ; 0x02187370 .byte 0xa2, 0x00, 0x05, 0x00 .global data_ov15_02187374 data_ov15_02187374: ; 0x02187374 .byte 0xa4, 0x00, 0x05, 0x00 .global data_ov15_02187378 data_ov15_02187378: ; 0x02187378 .byte 0x93, 0x00, 0x05, 0x00 .global data_ov15_0218737c data_ov15_0218737c: ; 0x0218737c .byte 0x94, 0x00, 0x05, 0x00 .global data_ov15_02187380 data_ov15_02187380: ; 0x02187380 .byte 0x92, 0x00, 0x05, 0x00 .section .init, 4, 1, 4 .global func_ov15_02187384 arm_func_start func_ov15_02187384 func_ov15_02187384: ; 0x02187384 ldr r0, _021873c4 ; =data_ov15_02189420 mov r2, #0xc str r2, [r0] str r2, [r0, #4] mov r1, #0xe8 str r1, [r0, #8] mov r1, #0xa8 str r1, [r0, #0xc] str r2, [r0, #0x10] mov r1, #0 str r1, [r0, #0x14] mov r1, #0xf4 str r1, [r0, #0x18] mov r1, #0xb4 str r1, [r0, #0x1c] bx lr .align 2, 0 arm_func_end func_ov15_02187384 _021873c4: .word data_ov15_02189420 .global func_ov15_021873c8 arm_func_start func_ov15_021873c8 func_ov15_021873c8: ; 0x021873c8 ldr r0, _02187404 ; =data_ov15_021894bc mov r2, #0 str r2, [r0, #0x20] str r2, [r0, #0x24] mov r1, #0x20 str r1, [r0, #0x28] mov r1, #0xc0 str r1, [r0, #0x2c] str r2, [r0, #0x30] mov r1, #0x9b str r1, [r0, #0x34] mov r1, #0x25 str r1, [r0, #0x38] str r1, [r0, #0x3c] bx lr .align 2, 0 arm_func_end func_ov15_021873c8 _02187404: .word data_ov15_021894bc .global func_ov15_02187408 arm_func_start func_ov15_02187408 func_ov15_02187408: ; 0x02187408 stmdb sp!, {r3, lr} ldr r0, _02187434 ; =data_ov15_0218ec64 ldr r1, _02187438 ; =0x534e4745 ldr r2, _0218743c ; =func_ov15_02121a94 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187434 ; =data_ov15_0218ec64 ldr r1, _02187440 ; =_ZN9ActorTypeD1Ev ldr r2, _02187444 ; =data_ov15_0218ec58 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187408 _02187434: .word data_ov15_0218ec64 _02187438: .word 0x534e4745 _0218743c: .word func_ov15_02121a94 _02187440: .word _ZN9ActorTypeD1Ev _02187444: .word data_ov15_0218ec58 .global func_ov15_02187448 arm_func_start func_ov15_02187448 func_ov15_02187448: ; 0x02187448 stmdb sp!, {r3, lr} ldr r0, _02187474 ; =data_ov15_0218ec84 ldr r1, _02187478 ; =0x534e4741 ldr r2, _0218747c ; =func_ov15_021220b4 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187474 ; =data_ov15_0218ec84 ldr r1, _02187480 ; =_ZN9ActorTypeD1Ev ldr r2, _02187484 ; =data_ov15_0218ec78 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187448 _02187474: .word data_ov15_0218ec84 _02187478: .word 0x534e4741 _0218747c: .word func_ov15_021220b4 _02187480: .word _ZN9ActorTypeD1Ev _02187484: .word data_ov15_0218ec78 .global func_ov15_02187488 arm_func_start func_ov15_02187488 func_ov15_02187488: ; 0x02187488 stmdb sp!, {r3, lr} ldr r0, _021874b4 ; =data_ov15_0218eca8 ldr r1, _021874b8 ; =0x53454f43 ldr r2, _021874bc ; =func_ov15_02123bec mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021874b4 ; =data_ov15_0218eca8 ldr r1, _021874c0 ; =_ZN9ActorTypeD1Ev ldr r2, _021874c4 ; =data_ov15_0218ec9c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187488 _021874b4: .word data_ov15_0218eca8 _021874b8: .word 0x53454f43 _021874bc: .word func_ov15_02123bec _021874c0: .word _ZN9ActorTypeD1Ev _021874c4: .word data_ov15_0218ec9c .global func_ov15_021874c8 arm_func_start func_ov15_021874c8 func_ov15_021874c8: ; 0x021874c8 stmdb sp!, {r3, lr} ldr r0, _02187528 ; =data_ov15_0218ecc8 ldr r1, _0218752c ; =0x53454b45 ldr r2, _02187530 ; =func_ov15_02125388 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187528 ; =data_ov15_0218ecc8 ldr r1, _02187534 ; =_ZN9ActorTypeD1Ev ldr r2, _02187538 ; =data_ov15_0218ecbc bl __register_global_object ldr r0, _0218753c ; =0x00000333 mov r1, #0x16000 bl Divide mov r1, r0, asr #0x1f mov r2, r1, lsl #0xc mov r1, #0x800 adds r3, r1, r0, lsl #12 orr r2, r2, r0, lsr #20 adc r1, r2, #0 mov r2, r3, lsr #0xc ldr r0, _02187540 ; =data_ov15_02189898 orr r2, r2, r1, lsl #20 str r2, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021874c8 _02187528: .word data_ov15_0218ecc8 _0218752c: .word 0x53454b45 _02187530: .word func_ov15_02125388 _02187534: .word _ZN9ActorTypeD1Ev _02187538: .word data_ov15_0218ecbc _0218753c: .word 0x00000333 _02187540: .word data_ov15_02189898 .global func_ov15_02187544 arm_func_start func_ov15_02187544 func_ov15_02187544: ; 0x02187544 stmdb sp!, {r3, lr} ldr r0, _0218756c ; =data_ov15_0218ecdc ldr r2, _02187570 ; =func_ov15_021263e4 mov r1, #0x56 bl func_0203eba8 ldr r0, _0218756c ; =data_ov15_0218ecdc ldr r1, _02187574 ; =func_0203ebc8 ldr r2, _02187578 ; =data_ov15_0218ece4 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187544 _0218756c: .word data_ov15_0218ecdc _02187570: .word func_ov15_021263e4 _02187574: .word func_0203ebc8 _02187578: .word data_ov15_0218ece4 .global func_ov15_0218757c arm_func_start func_ov15_0218757c func_ov15_0218757c: ; 0x0218757c stmdb sp!, {r3, lr} ldr r0, _021875a4 ; =data_ov15_0218ecf0 ldr r2, _021875a8 ; =func_ov15_02126708 mov r1, #0x4b bl func_0203eba8 ldr r0, _021875a4 ; =data_ov15_0218ecf0 ldr r1, _021875ac ; =func_0203ebc8 ldr r2, _021875b0 ; =data_ov15_0218ecf8 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218757c _021875a4: .word data_ov15_0218ecf0 _021875a8: .word func_ov15_02126708 _021875ac: .word func_0203ebc8 _021875b0: .word data_ov15_0218ecf8 .global func_ov15_021875b4 arm_func_start func_ov15_021875b4 func_ov15_021875b4: ; 0x021875b4 stmdb sp!, {r3, lr} ldr r0, _021875dc ; =data_ov15_0218ed04 ldr r2, _021875e0 ; =func_ov15_02126918 mov r1, #0x4d bl func_0203eba8 ldr r0, _021875dc ; =data_ov15_0218ed04 ldr r1, _021875e4 ; =func_0203ebc8 ldr r2, _021875e8 ; =data_ov15_0218ed0c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021875b4 _021875dc: .word data_ov15_0218ed04 _021875e0: .word func_ov15_02126918 _021875e4: .word func_0203ebc8 _021875e8: .word data_ov15_0218ed0c .global func_ov15_021875ec arm_func_start func_ov15_021875ec func_ov15_021875ec: ; 0x021875ec stmdb sp!, {r3, lr} ldr r0, _02187614 ; =data_ov15_0218ed18 ldr r2, _02187618 ; =func_ov15_02126cd4 mov r1, #0x4f bl func_0203eba8 ldr r0, _02187614 ; =data_ov15_0218ed18 ldr r1, _0218761c ; =func_0203ebc8 ldr r2, _02187620 ; =data_ov15_0218ed20 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021875ec _02187614: .word data_ov15_0218ed18 _02187618: .word func_ov15_02126cd4 _0218761c: .word func_0203ebc8 _02187620: .word data_ov15_0218ed20 .global func_ov15_02187624 arm_func_start func_ov15_02187624 func_ov15_02187624: ; 0x02187624 stmdb sp!, {r3, lr} ldr r0, _0218764c ; =data_ov15_0218ed2c ldr r2, _02187650 ; =func_ov15_02126eb8 mov r1, #0x50 bl func_0203eba8 ldr r0, _0218764c ; =data_ov15_0218ed2c ldr r1, _02187654 ; =func_0203ebc8 ldr r2, _02187658 ; =data_ov15_0218ed34 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187624 _0218764c: .word data_ov15_0218ed2c _02187650: .word func_ov15_02126eb8 _02187654: .word func_0203ebc8 _02187658: .word data_ov15_0218ed34 .global func_ov15_0218765c arm_func_start func_ov15_0218765c func_ov15_0218765c: ; 0x0218765c stmdb sp!, {r3, lr} ldr r0, _02187684 ; =data_ov15_0218ed40 ldr r2, _02187688 ; =func_ov15_02126fc4 mov r1, #0x51 bl func_0203eba8 ldr r0, _02187684 ; =data_ov15_0218ed40 ldr r1, _0218768c ; =func_0203ebc8 ldr r2, _02187690 ; =data_ov15_0218ed48 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218765c _02187684: .word data_ov15_0218ed40 _02187688: .word func_ov15_02126fc4 _0218768c: .word func_0203ebc8 _02187690: .word data_ov15_0218ed48 .global func_ov15_02187694 arm_func_start func_ov15_02187694 func_ov15_02187694: ; 0x02187694 stmdb sp!, {r3, lr} ldr r0, _021876bc ; =data_ov15_0218ed54 ldr r2, _021876c0 ; =func_ov15_021270d0 mov r1, #0x53 bl func_0203eba8 ldr r0, _021876bc ; =data_ov15_0218ed54 ldr r1, _021876c4 ; =func_0203ebc8 ldr r2, _021876c8 ; =data_ov15_0218ed5c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187694 _021876bc: .word data_ov15_0218ed54 _021876c0: .word func_ov15_021270d0 _021876c4: .word func_0203ebc8 _021876c8: .word data_ov15_0218ed5c .global func_ov15_021876cc arm_func_start func_ov15_021876cc func_ov15_021876cc: ; 0x021876cc stmdb sp!, {r3, lr} ldr r0, _021876f4 ; =data_ov15_0218ed68 ldr r2, _021876f8 ; =func_ov15_0212748c mov r1, #0x54 bl func_0203eba8 ldr r0, _021876f4 ; =data_ov15_0218ed68 ldr r1, _021876fc ; =func_0203ebc8 ldr r2, _02187700 ; =data_ov15_0218ed70 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021876cc _021876f4: .word data_ov15_0218ed68 _021876f8: .word func_ov15_0212748c _021876fc: .word func_0203ebc8 _02187700: .word data_ov15_0218ed70 .global func_ov15_02187704 arm_func_start func_ov15_02187704 func_ov15_02187704: ; 0x02187704 stmdb sp!, {r3, lr} ldr r0, _0218772c ; =data_ov15_0218ed7c ldr r2, _02187730 ; =func_ov15_02127694 mov r1, #0x55 bl func_0203eba8 ldr r0, _0218772c ; =data_ov15_0218ed7c ldr r1, _02187734 ; =func_0203ebc8 ldr r2, _02187738 ; =data_ov15_0218ed84 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187704 _0218772c: .word data_ov15_0218ed7c _02187730: .word func_ov15_02127694 _02187734: .word func_0203ebc8 _02187738: .word data_ov15_0218ed84 .global func_ov15_0218773c arm_func_start func_ov15_0218773c func_ov15_0218773c: ; 0x0218773c stmdb sp!, {r3, lr} ldr r0, _02187764 ; =data_ov15_0218ed90 ldr r2, _02187768 ; =func_ov15_021277a0 mov r1, #0x4a bl func_0203eba8 ldr r0, _02187764 ; =data_ov15_0218ed90 ldr r1, _0218776c ; =func_0203ebc8 ldr r2, _02187770 ; =data_ov15_0218ed98 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218773c _02187764: .word data_ov15_0218ed90 _02187768: .word func_ov15_021277a0 _0218776c: .word func_0203ebc8 _02187770: .word data_ov15_0218ed98 .global func_ov15_02187774 arm_func_start func_ov15_02187774 func_ov15_02187774: ; 0x02187774 stmdb sp!, {r3, lr} ldr r0, _0218779c ; =data_ov15_0218eda4 ldr r2, _021877a0 ; =func_ov15_021278bc mov r1, #0x31 bl func_0203eba8 ldr r0, _0218779c ; =data_ov15_0218eda4 ldr r1, _021877a4 ; =func_0203ebc8 ldr r2, _021877a8 ; =data_ov15_0218edac bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187774 _0218779c: .word data_ov15_0218eda4 _021877a0: .word func_ov15_021278bc _021877a4: .word func_0203ebc8 _021877a8: .word data_ov15_0218edac .global func_ov15_021877ac arm_func_start func_ov15_021877ac func_ov15_021877ac: ; 0x021877ac stmdb sp!, {r3, lr} ldr r0, _021877d4 ; =data_ov15_0218edb8 ldr r2, _021877d8 ; =func_ov15_02127bf4 mov r1, #0x39 bl func_0203eba8 ldr r0, _021877d4 ; =data_ov15_0218edb8 ldr r1, _021877dc ; =func_0203ebc8 ldr r2, _021877e0 ; =data_ov15_0218edc0 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021877ac _021877d4: .word data_ov15_0218edb8 _021877d8: .word func_ov15_02127bf4 _021877dc: .word func_0203ebc8 _021877e0: .word data_ov15_0218edc0 .global func_ov15_021877e4 arm_func_start func_ov15_021877e4 func_ov15_021877e4: ; 0x021877e4 stmdb sp!, {r3, lr} ldr r0, _0218780c ; =data_ov15_0218edcc ldr r2, _02187810 ; =func_ov15_02128334 mov r1, #0x3a bl func_0203eba8 ldr r0, _0218780c ; =data_ov15_0218edcc ldr r1, _02187814 ; =func_0203ebc8 ldr r2, _02187818 ; =data_ov15_0218edd4 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021877e4 _0218780c: .word data_ov15_0218edcc _02187810: .word func_ov15_02128334 _02187814: .word func_0203ebc8 _02187818: .word data_ov15_0218edd4 .global func_ov15_0218781c arm_func_start func_ov15_0218781c func_ov15_0218781c: ; 0x0218781c stmdb sp!, {r3, lr} ldr r3, _0218786c ; =data_ov15_0218a434 mov ip, #0 str ip, [r3] str ip, [r3, #4] ldr r0, _02187870 ; =data_ov15_0218a434 ldr r1, _02187874 ; =func_0202bac0 ldr r2, _02187878 ; =data_ov15_0218ee0c str ip, [r3, #8] bl __register_global_object ldr r0, _0218787c ; =data_ov15_0218a440 mov r3, #0 mov ip, #0x8000 ldr r1, _02187874 ; =func_0202bac0 ldr r2, _02187880 ; =data_ov15_0218ee00 str ip, [r0] str r3, [r0, #4] str r3, [r0, #8] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218781c _0218786c: .word data_ov15_0218a434 _02187870: .word data_ov15_0218a434 _02187874: .word func_0202bac0 _02187878: .word data_ov15_0218ee0c _0218787c: .word data_ov15_0218a440 _02187880: .word data_ov15_0218ee00 .global func_ov15_02187884 arm_func_start func_ov15_02187884 func_ov15_02187884: ; 0x02187884 stmdb sp!, {r3, lr} ldr r0, _021878d4 ; =data_ov15_0218ee24 ldr r1, _021878d8 ; =0x50534950 ldr r2, _021878dc ; =func_ov15_0212c734 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021878d4 ; =data_ov15_0218ee24 ldr r1, _021878e0 ; =_ZN9ActorTypeD1Ev ldr r2, _021878e4 ; =data_ov15_0218ee18 bl __register_global_object ldr r2, _021878e8 ; =0x0000f660 ldr r0, _021878ec ; =data_ov15_0218a464 mov r1, #0x400 str r2, [r0, #0x10] ldr r2, _021878f0 ; =0x0000b19a str r1, [r0, #0x14] ldr r1, _021878f4 ; =0x0000e459 str r2, [r0, #0x18] str r1, [r0, #0x1c] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187884 _021878d4: .word data_ov15_0218ee24 _021878d8: .word 0x50534950 _021878dc: .word func_ov15_0212c734 _021878e0: .word _ZN9ActorTypeD1Ev _021878e4: .word data_ov15_0218ee18 _021878e8: .word 0x0000f660 _021878ec: .word data_ov15_0218a464 _021878f0: .word 0x0000b19a _021878f4: .word 0x0000e459 .global func_ov15_021878f8 arm_func_start func_ov15_021878f8 func_ov15_021878f8: ; 0x021878f8 stmdb sp!, {r3, lr} ldr r0, _02187924 ; =data_ov15_0218ee44 ldr r1, _02187928 ; =0x47534950 ldr r2, _0218792c ; =func_ov15_0212f398 ldr r3, _02187930 ; =func_ov15_0212f36c bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187924 ; =data_ov15_0218ee44 ldr r1, _02187934 ; =_ZN9ActorTypeD1Ev ldr r2, _02187938 ; =data_ov15_0218ee38 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021878f8 _02187924: .word data_ov15_0218ee44 _02187928: .word 0x47534950 _0218792c: .word func_ov15_0212f398 _02187930: .word func_ov15_0212f36c _02187934: .word _ZN9ActorTypeD1Ev _02187938: .word data_ov15_0218ee38 .global func_ov15_0218793c arm_func_start func_ov15_0218793c func_ov15_0218793c: ; 0x0218793c stmdb sp!, {r3, lr} ldr r0, _02187974 ; =data_ov15_0218ee64 ldr r1, _02187978 ; =0x53544e44 ldr r2, _0218797c ; =func_ov15_0213296c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187974 ; =data_ov15_0218ee64 ldr r1, _02187980 ; =_ZN9ActorTypeD1Ev ldr r2, _02187984 ; =data_ov15_0218ee58 bl __register_global_object ldr r0, _02187988 ; =data_ov15_0218a6e0 mov r1, #0x2000 str r1, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218793c _02187974: .word data_ov15_0218ee64 _02187978: .word 0x53544e44 _0218797c: .word func_ov15_0213296c _02187980: .word _ZN9ActorTypeD1Ev _02187984: .word data_ov15_0218ee58 _02187988: .word data_ov15_0218a6e0 .global func_ov15_0218798c arm_func_start func_ov15_0218798c func_ov15_0218798c: ; 0x0218798c stmdb sp!, {r3, lr} ldr r0, _021879b8 ; =data_ov15_0218ee84 ldr r1, _021879bc ; =0x434e424c ldr r2, _021879c0 ; =func_ov15_02134040 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021879b8 ; =data_ov15_0218ee84 ldr r1, _021879c4 ; =_ZN9ActorTypeD1Ev ldr r2, _021879c8 ; =data_ov15_0218ee78 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218798c _021879b8: .word data_ov15_0218ee84 _021879bc: .word 0x434e424c _021879c0: .word func_ov15_02134040 _021879c4: .word _ZN9ActorTypeD1Ev _021879c8: .word data_ov15_0218ee78 .global func_ov15_021879cc arm_func_start func_ov15_021879cc func_ov15_021879cc: ; 0x021879cc ldr r0, _021879dc ; =data_ov15_0218a9d8 mov r1, #0xc800 str r1, [r0, #0x20] bx lr .align 2, 0 arm_func_end func_ov15_021879cc _021879dc: .word data_ov15_0218a9d8 .global func_ov15_021879e0 arm_func_start func_ov15_021879e0 func_ov15_021879e0: ; 0x021879e0 stmdb sp!, {r3, lr} mov r0, #0x1000 mov r1, r0 bl Divide ldr r1, _02187a28 ; =data_ov15_0218aa28 str r0, [r1, #0x20] mov r0, #0x1000 mov r1, r0 bl Divide ldr r1, _02187a28 ; =data_ov15_0218aa28 str r0, [r1, #0x24] ldr r0, _02187a2c ; =data_ov15_0218eec0 blx func_ov00_020b153c ldr r0, _02187a2c ; =data_ov15_0218eec0 ldr r1, _02187a30 ; =0x020b1551 ldr r2, _02187a34 ; =data_ov15_0218eeb4 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021879e0 _02187a28: .word data_ov15_0218aa28 _02187a2c: .word data_ov15_0218eec0 _02187a30: .word func_ov00_020b1550 _02187a34: .word data_ov15_0218eeb4 .global func_ov15_02187a38 arm_func_start func_ov15_02187a38 func_ov15_02187a38: ; 0x02187a38 stmdb sp!, {r3, lr} ldr r0, _02187a64 ; =data_ov15_0218eee8 ldr r1, _02187a68 ; =0x53504b4e ldr r2, _02187a6c ; =func_ov15_0213a634 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187a64 ; =data_ov15_0218eee8 ldr r1, _02187a70 ; =_ZN9ActorTypeD1Ev ldr r2, _02187a74 ; =data_ov15_0218eedc bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187a38 _02187a64: .word data_ov15_0218eee8 _02187a68: .word 0x53504b4e _02187a6c: .word func_ov15_0213a634 _02187a70: .word _ZN9ActorTypeD1Ev _02187a74: .word data_ov15_0218eedc .global func_ov15_02187a78 arm_func_start func_ov15_02187a78 func_ov15_02187a78: ; 0x02187a78 stmdb sp!, {r3, lr} ldr r0, _02187aa4 ; =data_ov15_0218ef08 ldr r1, _02187aa8 ; =0x4b4d4d45 ldr r2, _02187aac ; =func_ov15_0213b2dc mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187aa4 ; =data_ov15_0218ef08 ldr r1, _02187ab0 ; =_ZN9ActorTypeD1Ev ldr r2, _02187ab4 ; =data_ov15_0218eefc bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187a78 _02187aa4: .word data_ov15_0218ef08 _02187aa8: .word 0x4b4d4d45 _02187aac: .word func_ov15_0213b2dc _02187ab0: .word _ZN9ActorTypeD1Ev _02187ab4: .word data_ov15_0218eefc .global func_ov15_02187ab8 arm_func_start func_ov15_02187ab8 func_ov15_02187ab8: ; 0x02187ab8 stmdb sp!, {lr} sub sp, sp, #0xc ldr r0, _02187b18 ; =data_ov15_0218ef2c ldr r1, _02187b1c ; =0x53504b4c ldr r2, _02187b20 ; =func_ov15_0213e400 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187b18 ; =data_ov15_0218ef2c ldr r1, _02187b24 ; =_ZN9ActorTypeD1Ev ldr r2, _02187b28 ; =data_ov15_0218ef20 bl __register_global_object ldr r3, _02187b2c ; =data_ov15_0218ae88 mov r0, #0 str r0, [r3, #0x10] str r0, [r3, #0x14] ldr ip, _02187b30 ; =0x000024cd str r0, [r3, #0x18] ldr r0, _02187b34 ; =data_ov15_0218ae98 ldr r1, _02187b38 ; =func_ov15_0212346c ldr r2, _02187b3c ; =data_ov15_0218ef40 str ip, [r3, #0x1c] bl __register_global_object add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov15_02187ab8 _02187b18: .word data_ov15_0218ef2c _02187b1c: .word 0x53504b4c _02187b20: .word func_ov15_0213e400 _02187b24: .word _ZN9ActorTypeD1Ev _02187b28: .word data_ov15_0218ef20 _02187b2c: .word data_ov15_0218ae88 _02187b30: .word 0x000024cd _02187b34: .word data_ov15_0218ae98 _02187b38: .word func_ov15_0212346c _02187b3c: .word data_ov15_0218ef40 .global func_ov15_02187b40 arm_func_start func_ov15_02187b40 func_ov15_02187b40: ; 0x02187b40 stmdb sp!, {r3, lr} ldr r0, _02187b6c ; =data_ov15_0218ef58 ldr r1, _02187b70 ; =0x53504b48 ldr r2, _02187b74 ; =func_ov15_02141064 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187b6c ; =data_ov15_0218ef58 ldr r1, _02187b78 ; =_ZN9ActorTypeD1Ev ldr r2, _02187b7c ; =data_ov15_0218ef4c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187b40 _02187b6c: .word data_ov15_0218ef58 _02187b70: .word 0x53504b48 _02187b74: .word func_ov15_02141064 _02187b78: .word _ZN9ActorTypeD1Ev _02187b7c: .word data_ov15_0218ef4c .global func_ov15_02187b80 arm_func_start func_ov15_02187b80 func_ov15_02187b80: ; 0x02187b80 stmdb sp!, {r3, lr} ldr r0, _02187be0 ; =0x0000ffff ldr r3, _02187be4 ; =data_ov15_0218ef6c mov ip, #0 strh r0, [r3, #0x30] strh r0, [r3, #0x32] strh r0, [r3, #0x34] strh r0, [r3, #0x36] strh ip, [r3, #0x38] strb ip, [r3, #0x5a] strb ip, [r3, #0x5b] strb ip, [r3, #0x5c] strb ip, [r3, #0x5d] strb ip, [r3, #0x64] strb ip, [r3, #0x65] strb ip, [r3, #0x66] strb ip, [r3, #0x67] strb ip, [r3, #0x68] ldr r0, _02187be8 ; =data_ov15_0218ef78 ldr r1, _02187bec ; =func_ov15_02123470 ldr r2, _02187bf0 ; =data_ov15_0218ef6c strb ip, [r3, #0x69] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187b80 _02187be0: .word 0x0000ffff _02187be4: .word data_ov15_0218ef6c _02187be8: .word data_ov15_0218ef78 _02187bec: .word func_ov15_02123470 _02187bf0: .word data_ov15_0218ef6c .global func_ov15_02187bf4 arm_func_start func_ov15_02187bf4 func_ov15_02187bf4: ; 0x02187bf4 stmdb sp!, {r3, lr} ldr r0, _02187c20 ; =data_ov15_0218efe8 ldr r1, _02187c24 ; =0x46534152 ldr r2, _02187c28 ; =func_ov15_02145ea0 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187c20 ; =data_ov15_0218efe8 ldr r1, _02187c2c ; =_ZN9ActorTypeD1Ev ldr r2, _02187c30 ; =data_ov15_0218efdc bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187bf4 _02187c20: .word data_ov15_0218efe8 _02187c24: .word 0x46534152 _02187c28: .word func_ov15_02145ea0 _02187c2c: .word _ZN9ActorTypeD1Ev _02187c30: .word data_ov15_0218efdc .global func_ov15_02187c34 arm_func_start func_ov15_02187c34 func_ov15_02187c34: ; 0x02187c34 stmdb sp!, {r3, lr} ldr r0, _02187c60 ; =data_ov15_0218f40c ldr r1, _02187c64 ; =0x534c4152 ldr r2, _02187c68 ; =func_ov15_02146010 ldr r3, _02187c6c ; =func_ov15_02145fe0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187c60 ; =data_ov15_0218f40c ldr r1, _02187c70 ; =_ZN9ActorTypeD1Ev ldr r2, _02187c74 ; =data_ov15_0218f400 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187c34 _02187c60: .word data_ov15_0218f40c _02187c64: .word 0x534c4152 _02187c68: .word func_ov15_02146010 _02187c6c: .word func_ov15_02145fe0 _02187c70: .word _ZN9ActorTypeD1Ev _02187c74: .word data_ov15_0218f400 .global func_ov15_02187c78 arm_func_start func_ov15_02187c78 func_ov15_02187c78: ; 0x02187c78 stmdb sp!, {r3, lr} ldr r0, _02187cec ; =data_ov15_0218f4fc ldr r1, _02187cf0 ; =0x534c5452 ldr r2, _02187cf4 ; =func_ov15_02146614 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187cec ; =data_ov15_0218f4fc ldr r1, _02187cf8 ; =_ZN9ActorTypeD1Ev ldr r2, _02187cfc ; =data_ov15_0218f4f0 bl __register_global_object ldr ip, _02187d00 ; =0x00000666 ldr r3, _02187d04 ; =data_ov15_0218b3e0 ldr r0, _02187d08 ; =data_ov15_0218b3e0 str ip, [r3] str ip, [r3, #4] ldr r1, _02187d0c ; =func_0202bac0 ldr r2, _02187d10 ; =data_ov15_0218f510 str ip, [r3, #8] bl __register_global_object ldr ip, _02187d14 ; =0x00000333 ldr r3, _02187d04 ; =data_ov15_0218b3e0 ldr r0, _02187d18 ; =data_ov15_0218b3ec str ip, [r3, #0xc] str ip, [r3, #0x10] ldr r1, _02187d0c ; =func_0202bac0 ldr r2, _02187d1c ; =data_ov15_0218f51c str ip, [r3, #0x14] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187c78 _02187cec: .word data_ov15_0218f4fc _02187cf0: .word 0x534c5452 _02187cf4: .word func_ov15_02146614 _02187cf8: .word _ZN9ActorTypeD1Ev _02187cfc: .word data_ov15_0218f4f0 _02187d00: .word 0x00000666 _02187d04: .word data_ov15_0218b3e0 _02187d08: .word data_ov15_0218b3e0 _02187d0c: .word func_0202bac0 _02187d10: .word data_ov15_0218f510 _02187d14: .word 0x00000333 _02187d18: .word data_ov15_0218b3ec _02187d1c: .word data_ov15_0218f51c .global func_ov15_02187d20 arm_func_start func_ov15_02187d20 func_ov15_02187d20: ; 0x02187d20 stmdb sp!, {r3, lr} ldr r0, _02187d48 ; =data_ov15_0218f528 ldr r2, _02187d4c ; =func_ov15_02146cb0 mov r1, #0x16 bl func_0203eba8 ldr r0, _02187d48 ; =data_ov15_0218f528 ldr r1, _02187d50 ; =func_0203ebc8 ldr r2, _02187d54 ; =data_ov15_0218f530 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187d20 _02187d48: .word data_ov15_0218f528 _02187d4c: .word func_ov15_02146cb0 _02187d50: .word func_0203ebc8 _02187d54: .word data_ov15_0218f530 .global func_ov15_02187d58 arm_func_start func_ov15_02187d58 func_ov15_02187d58: ; 0x02187d58 stmdb sp!, {r3, lr} ldr r0, _02187d84 ; =data_ov15_0218f548 ldr r1, _02187d88 ; =0x534c4653 ldr r2, _02187d8c ; =func_ov15_02146f4c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187d84 ; =data_ov15_0218f548 ldr r1, _02187d90 ; =_ZN9ActorTypeD1Ev ldr r2, _02187d94 ; =data_ov15_0218f53c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187d58 _02187d84: .word data_ov15_0218f548 _02187d88: .word 0x534c4653 _02187d8c: .word func_ov15_02146f4c _02187d90: .word _ZN9ActorTypeD1Ev _02187d94: .word data_ov15_0218f53c .global func_ov15_02187d98 arm_func_start func_ov15_02187d98 func_ov15_02187d98: ; 0x02187d98 stmdb sp!, {r3, lr} ldr r0, _02187e8c ; =data_02057878 ldr r3, _02187e90 ; =data_ov15_0218f55c ldr r1, _02187e94 ; =data_ov15_0218b8fc str r0, [r3, #0x10] str r1, [r3, #0x14] mov r0, #0 str r0, [r3, #0x18] ldr ip, _02187e98 ; =data_02057840 str r0, [r3, #0x1c] ldr r0, _02187e9c ; =data_ov15_0218f56c ldr r1, _02187ea0 ; =func_0203010c ldr r2, _02187ea4 ; =data_ov15_0218f560 str ip, [r3, #0x10] bl __register_global_object ldr r0, _02187e8c ; =data_02057878 ldr r3, _02187e90 ; =data_ov15_0218f55c ldr r1, _02187ea8 ; =data_ov15_0218b90c str r0, [r3, #0x2c] str r1, [r3, #0x30] mov r0, #0 str r0, [r3, #0x34] ldr ip, _02187e98 ; =data_02057840 str r0, [r3, #0x38] ldr r0, _02187eac ; =data_ov15_0218f588 ldr r1, _02187ea0 ; =func_0203010c ldr r2, _02187eb0 ; =data_ov15_0218f57c str ip, [r3, #0x2c] bl __register_global_object ldr r0, _02187e8c ; =data_02057878 ldr r3, _02187e90 ; =data_ov15_0218f55c ldr r1, _02187eb4 ; =data_ov15_0218b91c str r0, [r3, #0x48] str r1, [r3, #0x4c] mov ip, #0 str ip, [r3, #0x50] ldr r0, _02187eb8 ; =data_0205785c str ip, [r3, #0x54] str r0, [r3, #0x48] ldr r0, _02187ebc ; =data_ov15_0218f5a4 ldr r1, _02187ec0 ; =func_0203005c ldr r2, _02187ec4 ; =data_ov15_0218f598 strb ip, [r3, #0x58] bl __register_global_object ldr r0, _02187e8c ; =data_02057878 ldr r3, _02187e90 ; =data_ov15_0218f55c ldr r1, _02187ec8 ; =data_ov15_0218b92c str r0, [r3, #0x68] str r1, [r3, #0x6c] mov r0, #0 str r0, [r3, #0x70] ldr ip, _02187eb8 ; =data_0205785c str r0, [r3, #0x74] ldr r0, _02187ecc ; =data_ov15_0218f5c4 ldr r1, _02187ec0 ; =func_0203005c ldr r2, _02187ed0 ; =data_ov15_0218f5b8 str ip, [r3, #0x68] mov ip, #1 strb ip, [r3, #0x78] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187d98 _02187e8c: .word data_02057878 _02187e90: .word data_ov15_0218f55c _02187e94: .word data_ov15_0218b8fc _02187e98: .word data_02057840 _02187e9c: .word data_ov15_0218f56c _02187ea0: .word func_0203010c _02187ea4: .word data_ov15_0218f560 _02187ea8: .word data_ov15_0218b90c _02187eac: .word data_ov15_0218f588 _02187eb0: .word data_ov15_0218f57c _02187eb4: .word data_ov15_0218b91c _02187eb8: .word data_0205785c _02187ebc: .word data_ov15_0218f5a4 _02187ec0: .word func_0203005c _02187ec4: .word data_ov15_0218f598 _02187ec8: .word data_ov15_0218b92c _02187ecc: .word data_ov15_0218f5c4 _02187ed0: .word data_ov15_0218f5b8 .global func_ov15_02187ed4 arm_func_start func_ov15_02187ed4 func_ov15_02187ed4: ; 0x02187ed4 stmdb sp!, {r3, lr} ldr r0, _02187efc ; =data_ov15_0218f5d8 ldr r2, _02187f00 ; =func_ov15_0214c080 mov r1, #0x25 bl func_0203eba8 ldr r0, _02187efc ; =data_ov15_0218f5d8 ldr r1, _02187f04 ; =func_0203ebc8 ldr r2, _02187f08 ; =data_ov15_0218f5e0 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187ed4 _02187efc: .word data_ov15_0218f5d8 _02187f00: .word func_ov15_0214c080 _02187f04: .word func_0203ebc8 _02187f08: .word data_ov15_0218f5e0 .global func_ov15_02187f0c arm_func_start func_ov15_02187f0c func_ov15_02187f0c: ; 0x02187f0c ldr r0, _02187f44 ; =data_ov15_0218ba08 mov ip, #0 str ip, [r0] mov r3, #0xa2 str r3, [r0, #4] mov r2, #0x100 str r2, [r0, #8] mov r1, #0xc0 str r1, [r0, #0xc] str ip, [r0, #0x10] str r3, [r0, #0x14] str r2, [r0, #0x18] str r1, [r0, #0x1c] bx lr .align 2, 0 arm_func_end func_ov15_02187f0c _02187f44: .word data_ov15_0218ba08 .global func_ov15_02187f48 arm_func_start func_ov15_02187f48 func_ov15_02187f48: ; 0x02187f48 stmdb sp!, {r3, lr} ldr r0, _02187f74 ; =data_ov15_0218f5f8 ldr r1, _02187f78 ; =0x53525059 ldr r2, _02187f7c ; =func_ov15_0214d258 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187f74 ; =data_ov15_0218f5f8 ldr r1, _02187f80 ; =_ZN9ActorTypeD1Ev ldr r2, _02187f84 ; =data_ov15_0218f5ec bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187f48 _02187f74: .word data_ov15_0218f5f8 _02187f78: .word 0x53525059 _02187f7c: .word func_ov15_0214d258 _02187f80: .word _ZN9ActorTypeD1Ev _02187f84: .word data_ov15_0218f5ec .global func_ov15_02187f88 arm_func_start func_ov15_02187f88 func_ov15_02187f88: ; 0x02187f88 stmdb sp!, {r3, lr} ldr r0, _02187fb4 ; =data_ov15_0218f618 ldr r1, _02187fb8 ; =0x53485254 ldr r2, _02187fbc ; =func_ov15_0214d518 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187fb4 ; =data_ov15_0218f618 ldr r1, _02187fc0 ; =_ZN9ActorTypeD1Ev ldr r2, _02187fc4 ; =data_ov15_0218f60c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187f88 _02187fb4: .word data_ov15_0218f618 _02187fb8: .word 0x53485254 _02187fbc: .word func_ov15_0214d518 _02187fc0: .word _ZN9ActorTypeD1Ev _02187fc4: .word data_ov15_0218f60c .global func_ov15_02187fc8 arm_func_start func_ov15_02187fc8 func_ov15_02187fc8: ; 0x02187fc8 stmdb sp!, {r3, lr} ldr r0, _02187ff4 ; =data_ov15_0218f638 ldr r1, _02187ff8 ; =0x43424c53 ldr r2, _02187ffc ; =func_ov15_0214d754 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02187ff4 ; =data_ov15_0218f638 ldr r1, _02188000 ; =_ZN9ActorTypeD1Ev ldr r2, _02188004 ; =data_ov15_0218f62c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02187fc8 _02187ff4: .word data_ov15_0218f638 _02187ff8: .word 0x43424c53 _02187ffc: .word func_ov15_0214d754 _02188000: .word _ZN9ActorTypeD1Ev _02188004: .word data_ov15_0218f62c .global func_ov15_02188008 arm_func_start func_ov15_02188008 func_ov15_02188008: ; 0x02188008 stmdb sp!, {r4, lr} mov r0, #0x1000 mov r1, r0 bl Divide ldr r1, _02188080 ; =data_ov15_0218bd58 str r0, [r1, #8] mov r0, #0x1000 mov r1, r0 bl Divide ldr r2, _02188080 ; =data_ov15_0218bd58 mov r3, r0, asr #0x1f str r0, [r2, #4] ldr lr, [r2, #8] mov r1, #0x800 mov ip, lr, asr #0x1f mov ip, ip, lsl #0x6 adds r4, r1, lr, lsl #6 orr ip, ip, lr, lsr #26 mov r3, r3, lsl #0x6 adc ip, ip, #0 mov r4, r4, lsr #0xc adds r1, r1, r0, lsl #6 orr r3, r3, r0, lsr #26 orr r4, r4, ip, lsl #20 adc r0, r3, #0 mov r1, r1, lsr #0xc str r4, [r2] orr r1, r1, r0, lsl #20 str r1, [r2, #0xc] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov15_02188008 _02188080: .word data_ov15_0218bd58 .global func_ov15_02188084 arm_func_start func_ov15_02188084 func_ov15_02188084: ; 0x02188084 stmdb sp!, {r3, lr} ldr r0, _021880b0 ; =data_ov15_0218f674 ldr r1, _021880b4 ; =0x47534d47 ldr r2, _021880b8 ; =func_ov15_0214ee58 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021880b0 ; =data_ov15_0218f674 ldr r1, _021880bc ; =_ZN9ActorTypeD1Ev ldr r2, _021880c0 ; =data_ov15_0218f668 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188084 _021880b0: .word data_ov15_0218f674 _021880b4: .word 0x47534d47 _021880b8: .word func_ov15_0214ee58 _021880bc: .word _ZN9ActorTypeD1Ev _021880c0: .word data_ov15_0218f668 .global func_ov15_021880c4 arm_func_start func_ov15_021880c4 func_ov15_021880c4: ; 0x021880c4 stmdb sp!, {r3, lr} ldr r0, _021880f0 ; =data_ov15_0218f694 ldr r1, _021880f4 ; =0x54534950 ldr r2, _021880f8 ; =func_ov15_0214ffc8 ldr r3, _021880fc ; =func_ov15_0214ff48 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021880f0 ; =data_ov15_0218f694 ldr r1, _02188100 ; =_ZN9ActorTypeD1Ev ldr r2, _02188104 ; =data_ov15_0218f688 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021880c4 _021880f0: .word data_ov15_0218f694 _021880f4: .word 0x54534950 _021880f8: .word func_ov15_0214ffc8 _021880fc: .word func_ov15_0214ff48 _02188100: .word _ZN9ActorTypeD1Ev _02188104: .word data_ov15_0218f688 .global func_ov15_02188108 arm_func_start func_ov15_02188108 func_ov15_02188108: ; 0x02188108 stmdb sp!, {r3, lr} ldr r0, _02188134 ; =data_ov15_0218f6b4 ldr r1, _02188138 ; =0x4b4d4741 ldr r2, _0218813c ; =func_ov15_02151720 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188134 ; =data_ov15_0218f6b4 ldr r1, _02188140 ; =_ZN9ActorTypeD1Ev ldr r2, _02188144 ; =data_ov15_0218f6a8 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188108 _02188134: .word data_ov15_0218f6b4 _02188138: .word 0x4b4d4741 _0218813c: .word func_ov15_02151720 _02188140: .word _ZN9ActorTypeD1Ev _02188144: .word data_ov15_0218f6a8 .global func_ov15_02188148 arm_func_start func_ov15_02188148 func_ov15_02188148: ; 0x02188148 stmdb sp!, {r3, lr} ldr r0, _021881b0 ; =data_ov15_0218f6e0 ldr r1, _021881b4 ; =0x42554949 ldr r2, _021881b8 ; =func_ov15_02155680 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021881b0 ; =data_ov15_0218f6e0 ldr r1, _021881bc ; =_ZN9ActorTypeD1Ev ldr r2, _021881c0 ; =data_ov15_0218f6d4 bl __register_global_object ldr r0, _021881c4 ; =data_027e0d0c ldr r3, _021881c8 ; =data_ov15_0218c0e4 ldr r2, [r0] ldr r1, [r0, #4] str r2, [r3, #0x10] str r1, [r3, #0x14] ldr r0, [r0, #8] mov ip, #0x800 str r0, [r3, #0x18] str ip, [r3, #0x1c] ldr r0, _021881cc ; =data_ov15_0218c0f4 ldr r1, _021881d0 ; =func_ov15_021262d4 ldr r2, _021881d4 ; =data_ov15_0218f6f4 str ip, [r3, #0x20] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188148 _021881b0: .word data_ov15_0218f6e0 _021881b4: .word 0x42554949 _021881b8: .word func_ov15_02155680 _021881bc: .word _ZN9ActorTypeD1Ev _021881c0: .word data_ov15_0218f6d4 _021881c4: .word data_027e0d0c _021881c8: .word data_ov15_0218c0e4 _021881cc: .word data_ov15_0218c0f4 _021881d0: .word func_ov15_021262d4 _021881d4: .word data_ov15_0218f6f4 .global func_ov15_021881d8 arm_func_start func_ov15_021881d8 func_ov15_021881d8: ; 0x021881d8 stmdb sp!, {r3, lr} ldr r0, _02188244 ; =data_ov15_0218f70c ldr r1, _02188248 ; =0x53524f50 ldr r2, _0218824c ; =func_ov15_02157610 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188244 ; =data_ov15_0218f70c ldr r1, _02188250 ; =_ZN9ActorTypeD1Ev ldr r2, _02188254 ; =data_ov15_0218f700 bl __register_global_object ldr r0, _02188258 ; =data_027e0d0c ldr r3, _0218825c ; =data_ov15_0218c1d8 ldr r2, [r0] ldr r1, [r0, #4] str r2, [r3, #0x10] str r1, [r3, #0x14] ldr r1, [r0, #8] mov r0, #0x800 str r1, [r3, #0x18] ldr ip, _02188260 ; =0x0000019a str r0, [r3, #0x1c] ldr r0, _02188264 ; =data_ov15_0218c1e8 ldr r1, _02188268 ; =func_ov15_021262d4 ldr r2, _0218826c ; =data_ov15_0218f720 str ip, [r3, #0x20] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021881d8 _02188244: .word data_ov15_0218f70c _02188248: .word 0x53524f50 _0218824c: .word func_ov15_02157610 _02188250: .word _ZN9ActorTypeD1Ev _02188254: .word data_ov15_0218f700 _02188258: .word data_027e0d0c _0218825c: .word data_ov15_0218c1d8 _02188260: .word 0x0000019a _02188264: .word data_ov15_0218c1e8 _02188268: .word func_ov15_021262d4 _0218826c: .word data_ov15_0218f720 .global func_ov15_02188270 arm_func_start func_ov15_02188270 func_ov15_02188270: ; 0x02188270 stmdb sp!, {r3, lr} ldr r0, _0218829c ; =data_ov15_0218f738 ldr r1, _021882a0 ; =0x47594d47 ldr r2, _021882a4 ; =func_ov15_02157d10 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _0218829c ; =data_ov15_0218f738 ldr r1, _021882a8 ; =_ZN9ActorTypeD1Ev ldr r2, _021882ac ; =data_ov15_0218f72c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188270 _0218829c: .word data_ov15_0218f738 _021882a0: .word 0x47594d47 _021882a4: .word func_ov15_02157d10 _021882a8: .word _ZN9ActorTypeD1Ev _021882ac: .word data_ov15_0218f72c .global func_ov15_021882b0 arm_func_start func_ov15_021882b0 func_ov15_021882b0: ; 0x021882b0 stmdb sp!, {r3, lr} ldr r0, _021882ec ; =data_ov15_0218f758 ldr r1, _021882f0 ; =0x47595247 ldr r2, _021882f4 ; =func_ov15_02158574 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021882ec ; =data_ov15_0218f758 ldr r1, _021882f8 ; =_ZN9ActorTypeD1Ev ldr r2, _021882fc ; =data_ov15_0218f74c bl __register_global_object ldr r0, _02188300 ; =data_ov15_0218c384 mov r1, #4 str r1, [r0, #0x10] str r1, [r0, #0x14] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021882b0 _021882ec: .word data_ov15_0218f758 _021882f0: .word 0x47595247 _021882f4: .word func_ov15_02158574 _021882f8: .word _ZN9ActorTypeD1Ev _021882fc: .word data_ov15_0218f74c _02188300: .word data_ov15_0218c384 .global func_ov15_02188304 arm_func_start func_ov15_02188304 func_ov15_02188304: ; 0x02188304 stmdb sp!, {r3, lr} ldr r0, _02188344 ; =data_ov15_0218f778 ldr r1, _02188348 ; =0x4647474e ldr r2, _0218834c ; =func_ov15_0215a318 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188344 ; =data_ov15_0218f778 ldr r1, _02188350 ; =_ZN9ActorTypeD1Ev ldr r2, _02188354 ; =data_ov15_0218f76c bl __register_global_object mov r2, #0x44 ldr r0, _02188358 ; =data_ov15_0218c478 rsb r1, r2, #0x880 str r2, [r0] str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188304 _02188344: .word data_ov15_0218f778 _02188348: .word 0x4647474e _0218834c: .word func_ov15_0215a318 _02188350: .word _ZN9ActorTypeD1Ev _02188354: .word data_ov15_0218f76c _02188358: .word data_ov15_0218c478 .global func_ov15_0218835c arm_func_start func_ov15_0218835c func_ov15_0218835c: ; 0x0218835c stmdb sp!, {r3, lr} ldr r0, _02188388 ; =data_ov15_0218f798 ldr r1, _0218838c ; =0x43435447 ldr r2, _02188390 ; =func_ov15_0215bb3c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188388 ; =data_ov15_0218f798 ldr r1, _02188394 ; =_ZN9ActorTypeD1Ev ldr r2, _02188398 ; =data_ov15_0218f78c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218835c _02188388: .word data_ov15_0218f798 _0218838c: .word 0x43435447 _02188390: .word func_ov15_0215bb3c _02188394: .word _ZN9ActorTypeD1Ev _02188398: .word data_ov15_0218f78c .global func_ov15_0218839c arm_func_start func_ov15_0218839c func_ov15_0218839c: ; 0x0218839c stmdb sp!, {r3, lr} ldr r0, _021883c4 ; =data_ov15_0218f7ac ldr r2, _021883c8 ; =func_ov15_0215d2c8 mov r1, #0x6c bl func_0203eba8 ldr r0, _021883c4 ; =data_ov15_0218f7ac ldr r1, _021883cc ; =func_0203ebc8 ldr r2, _021883d0 ; =data_ov15_0218f7b4 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218839c _021883c4: .word data_ov15_0218f7ac _021883c8: .word func_ov15_0215d2c8 _021883cc: .word func_0203ebc8 _021883d0: .word data_ov15_0218f7b4 .global func_ov15_021883d4 arm_func_start func_ov15_021883d4 func_ov15_021883d4: ; 0x021883d4 stmdb sp!, {r3, lr} ldr r0, _021883fc ; =data_ov15_0218f7c0 ldr r2, _02188400 ; =func_ov15_0215d3e4 mov r1, #0x4e bl func_0203eba8 ldr r0, _021883fc ; =data_ov15_0218f7c0 ldr r1, _02188404 ; =func_0203ebc8 ldr r2, _02188408 ; =data_ov15_0218f7c8 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021883d4 _021883fc: .word data_ov15_0218f7c0 _02188400: .word func_ov15_0215d3e4 _02188404: .word func_0203ebc8 _02188408: .word data_ov15_0218f7c8 .global func_ov15_0218840c arm_func_start func_ov15_0218840c func_ov15_0218840c: ; 0x0218840c stmdb sp!, {r3, lr} ldr r0, _02188434 ; =data_ov15_0218f7d4 ldr r2, _02188438 ; =func_ov15_0215d4f0 mov r1, #0x52 bl func_0203eba8 ldr r0, _02188434 ; =data_ov15_0218f7d4 ldr r1, _0218843c ; =func_0203ebc8 ldr r2, _02188440 ; =data_ov15_0218f7dc bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218840c _02188434: .word data_ov15_0218f7d4 _02188438: .word func_ov15_0215d4f0 _0218843c: .word func_0203ebc8 _02188440: .word data_ov15_0218f7dc .global func_ov15_02188444 arm_func_start func_ov15_02188444 func_ov15_02188444: ; 0x02188444 stmdb sp!, {r3, lr} ldr r0, _0218846c ; =data_ov15_0218f7e8 ldr r2, _02188470 ; =func_ov15_0215d5fc mov r1, #0x4c bl func_0203eba8 ldr r0, _0218846c ; =data_ov15_0218f7e8 ldr r1, _02188474 ; =func_0203ebc8 ldr r2, _02188478 ; =data_ov15_0218f7f0 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188444 _0218846c: .word data_ov15_0218f7e8 _02188470: .word func_ov15_0215d5fc _02188474: .word func_0203ebc8 _02188478: .word data_ov15_0218f7f0 .global func_ov15_0218847c arm_func_start func_ov15_0218847c func_ov15_0218847c: ; 0x0218847c stmdb sp!, {r3, lr} ldr r0, _021884d0 ; =data_ov15_0218f808 ldr r1, _021884d4 ; =0x47464953 ldr r2, _021884d8 ; =func_ov15_0215d708 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021884d0 ; =data_ov15_0218f808 ldr r1, _021884dc ; =_ZN9ActorTypeD1Ev ldr r2, _021884e0 ; =data_ov15_0218f7fc bl __register_global_object mov r1, #8 mov ip, #0 ldr lr, _021884e4 ; =0x00001f4d ldr r2, _021884e8 ; =data_ov15_0218c8b0 ldr r0, _021884ec ; =data_ov15_0218f81c ldr r3, _021884f0 ; =func_ov15_02160438 str lr, [r2, #0x10] mov r2, r1 str ip, [sp] bl func_0204f614 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218847c _021884d0: .word data_ov15_0218f808 _021884d4: .word 0x47464953 _021884d8: .word func_ov15_0215d708 _021884dc: .word _ZN9ActorTypeD1Ev _021884e0: .word data_ov15_0218f7fc _021884e4: .word 0x00001f4d _021884e8: .word data_ov15_0218c8b0 _021884ec: .word data_ov15_0218f81c _021884f0: .word func_ov15_02160438 .global func_ov15_021884f4 arm_func_start func_ov15_021884f4 func_ov15_021884f4: ; 0x021884f4 stmdb sp!, {r3, lr} ldr r0, _02188520 ; =data_ov15_0218f868 ldr r1, _02188524 ; =0x46474d47 ldr r2, _02188528 ; =func_ov15_02160448 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188520 ; =data_ov15_0218f868 ldr r1, _0218852c ; =_ZN9ActorTypeD1Ev ldr r2, _02188530 ; =data_ov15_0218f85c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021884f4 _02188520: .word data_ov15_0218f868 _02188524: .word 0x46474d47 _02188528: .word func_ov15_02160448 _0218852c: .word _ZN9ActorTypeD1Ev _02188530: .word data_ov15_0218f85c .global func_ov15_02188534 arm_func_start func_ov15_02188534 func_ov15_02188534: ; 0x02188534 stmdb sp!, {r3, lr} ldr r0, _02188560 ; =data_ov15_0218f888 ldr r1, _02188564 ; =0x444e5043 ldr r2, _02188568 ; =func_ov15_021605d0 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188560 ; =data_ov15_0218f888 ldr r1, _0218856c ; =_ZN9ActorTypeD1Ev ldr r2, _02188570 ; =data_ov15_0218f87c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188534 _02188560: .word data_ov15_0218f888 _02188564: .word 0x444e5043 _02188568: .word func_ov15_021605d0 _0218856c: .word _ZN9ActorTypeD1Ev _02188570: .word data_ov15_0218f87c .global func_ov15_02188574 arm_func_start func_ov15_02188574 func_ov15_02188574: ; 0x02188574 stmdb sp!, {r3, lr} ldr r0, _021885a0 ; =data_ov15_0218f8a8 ldr r1, _021885a4 ; =0x504c5350 ldr r2, _021885a8 ; =func_ov15_0216196c ldr r3, _021885ac ; =func_ov15_02161920 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021885a0 ; =data_ov15_0218f8a8 ldr r1, _021885b0 ; =_ZN9ActorTypeD1Ev ldr r2, _021885b4 ; =data_ov15_0218f89c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188574 _021885a0: .word data_ov15_0218f8a8 _021885a4: .word 0x504c5350 _021885a8: .word func_ov15_0216196c _021885ac: .word func_ov15_02161920 _021885b0: .word _ZN9ActorTypeD1Ev _021885b4: .word data_ov15_0218f89c .global func_ov15_021885b8 arm_func_start func_ov15_021885b8 func_ov15_021885b8: ; 0x021885b8 stmdb sp!, {r3, lr} ldr r0, _021885e4 ; =data_ov15_0218f8dc ldr r1, _021885e8 ; =0x544f5044 ldr r2, _021885ec ; =func_ov15_02165fc8 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021885e4 ; =data_ov15_0218f8dc ldr r1, _021885f0 ; =_ZN9ActorTypeD1Ev ldr r2, _021885f4 ; =data_ov15_0218f8d0 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021885b8 _021885e4: .word data_ov15_0218f8dc _021885e8: .word 0x544f5044 _021885ec: .word func_ov15_02165fc8 _021885f0: .word _ZN9ActorTypeD1Ev _021885f4: .word data_ov15_0218f8d0 .global func_ov15_021885f8 arm_func_start func_ov15_021885f8 func_ov15_021885f8: ; 0x021885f8 stmdb sp!, {r3, lr} ldr r0, _02188620 ; =data_ov15_0218f8f0 ldr r2, _02188624 ; =func_ov15_021666c4 mov r1, #0x79 bl func_0203eba8 ldr r0, _02188620 ; =data_ov15_0218f8f0 ldr r1, _02188628 ; =func_0203ebc8 ldr r2, _0218862c ; =data_ov15_0218f8f8 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021885f8 _02188620: .word data_ov15_0218f8f0 _02188624: .word func_ov15_021666c4 _02188628: .word func_0203ebc8 _0218862c: .word data_ov15_0218f8f8 .global func_ov15_02188630 arm_func_start func_ov15_02188630 func_ov15_02188630: ; 0x02188630 stmdb sp!, {r3, lr} ldr r0, _02188658 ; =data_ov15_0218f904 ldr r2, _0218865c ; =func_ov15_021669c8 mov r1, #0x78 bl func_0203eba8 ldr r0, _02188658 ; =data_ov15_0218f904 ldr r1, _02188660 ; =func_0203ebc8 ldr r2, _02188664 ; =data_ov15_0218f90c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188630 _02188658: .word data_ov15_0218f904 _0218865c: .word func_ov15_021669c8 _02188660: .word func_0203ebc8 _02188664: .word data_ov15_0218f90c .global func_ov15_02188668 arm_func_start func_ov15_02188668 func_ov15_02188668: ; 0x02188668 stmdb sp!, {r3, lr} ldr r0, _02188694 ; =data_ov15_0218f924 ldr r1, _02188698 ; =0x424a4653 ldr r2, _0218869c ; =func_ov15_02166ad4 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188694 ; =data_ov15_0218f924 ldr r1, _021886a0 ; =_ZN9ActorTypeD1Ev ldr r2, _021886a4 ; =data_ov15_0218f918 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188668 _02188694: .word data_ov15_0218f924 _02188698: .word 0x424a4653 _0218869c: .word func_ov15_02166ad4 _021886a0: .word _ZN9ActorTypeD1Ev _021886a4: .word data_ov15_0218f918 .global func_ov15_021886a8 arm_func_start func_ov15_021886a8 func_ov15_021886a8: ; 0x021886a8 stmdb sp!, {r3, lr} ldr r0, _021886f8 ; =data_ov15_0218f944 ldr r1, _021886fc ; =0x464c5052 ldr r2, _02188700 ; =func_ov15_0216771c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021886f8 ; =data_ov15_0218f944 ldr r1, _02188704 ; =_ZN9ActorTypeD1Ev ldr r2, _02188708 ; =data_ov15_0218f938 bl __register_global_object mov r0, #0x8000 mov r1, #0xf bl func_01ff9b4c ldr r1, _0218870c ; =data_ov15_0218d094 ldr r2, _02188710 ; =0x00156400 strh r0, [r1, #0x10] ldr r0, _02188714 ; =0x000743d4 str r2, [r1, #0x14] str r0, [r1, #0x18] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021886a8 _021886f8: .word data_ov15_0218f944 _021886fc: .word 0x464c5052 _02188700: .word func_ov15_0216771c _02188704: .word _ZN9ActorTypeD1Ev _02188708: .word data_ov15_0218f938 _0218870c: .word data_ov15_0218d094 _02188710: .word 0x00156400 _02188714: .word 0x000743d4 .global func_ov15_02188718 arm_func_start func_ov15_02188718 func_ov15_02188718: ; 0x02188718 stmdb sp!, {r3, lr} ldr r0, _02188744 ; =data_ov15_0218f964 ldr r1, _02188748 ; =0x49434247 ldr r2, _0218874c ; =func_ov15_0216901c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188744 ; =data_ov15_0218f964 ldr r1, _02188750 ; =_ZN9ActorTypeD1Ev ldr r2, _02188754 ; =data_ov15_0218f958 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188718 _02188744: .word data_ov15_0218f964 _02188748: .word 0x49434247 _0218874c: .word func_ov15_0216901c _02188750: .word _ZN9ActorTypeD1Ev _02188754: .word data_ov15_0218f958 .global func_ov15_02188758 arm_func_start func_ov15_02188758 func_ov15_02188758: ; 0x02188758 stmdb sp!, {r3, lr} ldr r0, _021887a8 ; =data_ov15_0218f984 ldr r1, _021887ac ; =0x534d5453 ldr r2, _021887b0 ; =func_ov15_0216abe8 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021887a8 ; =data_ov15_0218f984 ldr r1, _021887b4 ; =_ZN9ActorTypeD1Ev ldr r2, _021887b8 ; =data_ov15_0218f978 bl __register_global_object ldr r0, _021887bc ; =data_ov15_0218f9a4 ldr r1, _021887c0 ; =0x534d544c ldr r2, _021887c4 ; =func_ov15_0216ac18 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021887bc ; =data_ov15_0218f9a4 ldr r1, _021887b4 ; =_ZN9ActorTypeD1Ev ldr r2, _021887c8 ; =data_ov15_0218f998 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188758 _021887a8: .word data_ov15_0218f984 _021887ac: .word 0x534d5453 _021887b0: .word func_ov15_0216abe8 _021887b4: .word _ZN9ActorTypeD1Ev _021887b8: .word data_ov15_0218f978 _021887bc: .word data_ov15_0218f9a4 _021887c0: .word 0x534d544c _021887c4: .word func_ov15_0216ac18 _021887c8: .word data_ov15_0218f998 .global func_ov15_021887cc arm_func_start func_ov15_021887cc func_ov15_021887cc: ; 0x021887cc stmdb sp!, {r3, lr} ldr r0, _02188840 ; =data_ov15_0218f9c4 ldr r1, _02188844 ; =0x534c4f43 ldr r2, _02188848 ; =func_ov15_0216be78 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188840 ; =data_ov15_0218f9c4 ldr r1, _0218884c ; =_ZN9ActorTypeD1Ev ldr r2, _02188850 ; =data_ov15_0218f9b8 bl __register_global_object ldr r0, _02188854 ; =data_ov15_0218f9e4 mov r1, #0 blx func_ov00_020a9588 ldr r0, _02188854 ; =data_ov15_0218f9e4 ldr r1, _02188858 ; =func_ov00_020a95a4 ldr r2, _0218885c ; =data_ov15_0218f9d8 bl __register_global_object ldr r0, _02188860 ; =data_ov15_0218fa4c ldr r1, _02188864 ; =data_ov15_0218fa70 mov r2, #0 blx func_ov00_020c0c08 ldr r2, _02188868 ; =data_ov15_0218d6fc ldr r1, _0218886c ; =data_ov15_0218f9b8 ldr r0, _02188860 ; =data_ov15_0218fa4c str r2, [r1, #0x94] ldr r1, _02188870 ; =func_ov00_020a9b6c ldr r2, _02188874 ; =data_ov15_0218fa40 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021887cc _02188840: .word data_ov15_0218f9c4 _02188844: .word 0x534c4f43 _02188848: .word func_ov15_0216be78 _0218884c: .word _ZN9ActorTypeD1Ev _02188850: .word data_ov15_0218f9b8 _02188854: .word data_ov15_0218f9e4 _02188858: .word func_ov00_020a95a4 _0218885c: .word data_ov15_0218f9d8 _02188860: .word data_ov15_0218fa4c _02188864: .word data_ov15_0218fa70 _02188868: .word data_ov15_0218d6fc _0218886c: .word data_ov15_0218f9b8 _02188870: .word func_ov00_020a9b6c _02188874: .word data_ov15_0218fa40 .global func_ov15_02188878 arm_func_start func_ov15_02188878 func_ov15_02188878: ; 0x02188878 stmdb sp!, {r3, lr} ldr r0, _021888a4 ; =data_ov15_0218fadc ldr r1, _021888a8 ; =0x534e4156 ldr r2, _021888ac ; =func_ov15_0216ee14 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021888a4 ; =data_ov15_0218fadc ldr r1, _021888b0 ; =_ZN9ActorTypeD1Ev ldr r2, _021888b4 ; =data_ov15_0218fad0 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188878 _021888a4: .word data_ov15_0218fadc _021888a8: .word 0x534e4156 _021888ac: .word func_ov15_0216ee14 _021888b0: .word _ZN9ActorTypeD1Ev _021888b4: .word data_ov15_0218fad0 .global func_ov15_021888b8 arm_func_start func_ov15_021888b8 func_ov15_021888b8: ; 0x021888b8 stmdb sp!, {r3, lr} ldr r0, _021888e4 ; =data_ov15_0218fafc ldr r1, _021888e8 ; =0x53424f53 ldr r2, _021888ec ; =func_ov15_0216f470 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _021888e4 ; =data_ov15_0218fafc ldr r1, _021888f0 ; =_ZN9ActorTypeD1Ev ldr r2, _021888f4 ; =data_ov15_0218faf0 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021888b8 _021888e4: .word data_ov15_0218fafc _021888e8: .word 0x53424f53 _021888ec: .word func_ov15_0216f470 _021888f0: .word _ZN9ActorTypeD1Ev _021888f4: .word data_ov15_0218faf0 .global func_ov15_021888f8 arm_func_start func_ov15_021888f8 func_ov15_021888f8: ; 0x021888f8 stmdb sp!, {r3, lr} ldr r0, _02188924 ; =data_ov15_0218fb1c ldr r1, _02188928 ; =0x53424559 ldr r2, _0218892c ; =func_ov15_02173738 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188924 ; =data_ov15_0218fb1c ldr r1, _02188930 ; =_ZN9ActorTypeD1Ev ldr r2, _02188934 ; =data_ov15_0218fb10 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021888f8 _02188924: .word data_ov15_0218fb1c _02188928: .word 0x53424559 _0218892c: .word func_ov15_02173738 _02188930: .word _ZN9ActorTypeD1Ev _02188934: .word data_ov15_0218fb10 .global func_ov15_02188938 arm_func_start func_ov15_02188938 func_ov15_02188938: ; 0x02188938 stmdb sp!, {r3, lr} ldr r0, _02188964 ; =data_ov15_0218fb3c ldr r1, _02188968 ; =0x534c5444 ldr r2, _0218896c ; =func_ov15_02174060 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188964 ; =data_ov15_0218fb3c ldr r1, _02188970 ; =_ZN9ActorTypeD1Ev ldr r2, _02188974 ; =data_ov15_0218fb30 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188938 _02188964: .word data_ov15_0218fb3c _02188968: .word 0x534c5444 _0218896c: .word func_ov15_02174060 _02188970: .word _ZN9ActorTypeD1Ev _02188974: .word data_ov15_0218fb30 .global func_ov15_02188978 arm_func_start func_ov15_02188978 func_ov15_02188978: ; 0x02188978 stmdb sp!, {r3, lr} ldr r0, _02188a18 ; =data_ov15_0218fb5c ldr r1, _02188a1c ; =0x534c5250 ldr r2, _02188a20 ; =func_ov15_021742ac mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188a18 ; =data_ov15_0218fb5c ldr r1, _02188a24 ; =_ZN9ActorTypeD1Ev ldr r2, _02188a28 ; =data_ov15_0218fb50 bl __register_global_object ldr r3, _02188a2c ; =data_ov15_0218dc64 mov ip, #0x1000 str ip, [r3, #0x30] str ip, [r3, #0x34] ldr r0, _02188a30 ; =data_ov15_0218dc94 ldr r1, _02188a34 ; =func_0202bac0 ldr r2, _02188a38 ; =data_ov15_0218fb70 str ip, [r3, #0x38] bl __register_global_object mov r2, #0x100 ldr r0, _02188a2c ; =data_ov15_0218dc64 mov r1, #0x400 str r2, [r0, #0x3c] str r1, [r0, #0x40] add r1, r2, #0x66 str r1, [r0, #0x44] ldr r2, _02188a3c ; =0x0000059a ldr r1, _02188a40 ; =func_ov15_0217457c str r2, [r0, #0x48] ldr r0, _02188a44 ; =data_ov15_0218fb88 str r1, [sp] ldr r3, _02188a48 ; =func_ov15_0217454c mov r1, #0x20 mov r2, #0x38 bl func_0204f614 mov r0, #0 ldr r1, _02188a4c ; =func_ov15_021749a8 ldr r2, _02188a50 ; =data_ov15_0218fb7c bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188978 _02188a18: .word data_ov15_0218fb5c _02188a1c: .word 0x534c5250 _02188a20: .word func_ov15_021742ac _02188a24: .word _ZN9ActorTypeD1Ev _02188a28: .word data_ov15_0218fb50 _02188a2c: .word data_ov15_0218dc64 _02188a30: .word data_ov15_0218dc94 _02188a34: .word func_0202bac0 _02188a38: .word data_ov15_0218fb70 _02188a3c: .word 0x0000059a _02188a40: .word func_ov15_0217457c _02188a44: .word data_ov15_0218fb88 _02188a48: .word func_ov15_0217454c _02188a4c: .word func_ov15_021749a8 _02188a50: .word data_ov15_0218fb7c .global func_ov15_02188a54 arm_func_start func_ov15_02188a54 func_ov15_02188a54: ; 0x02188a54 stmdb sp!, {r3, lr} ldr r0, _02188b10 ; =data_ov15_021902a0 ldr r1, _02188b14 ; =0x474f4332 ldr r2, _02188b18 ; =func_ov15_021773a8 ldr r3, _02188b1c ; =func_ov15_02177330 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188b10 ; =data_ov15_021902a0 ldr r1, _02188b20 ; =_ZN9ActorTypeD1Ev ldr r2, _02188b24 ; =data_ov15_02190294 bl __register_global_object ldr r0, _02188b28 ; =0x00000ccd mov r1, #0xf000 bl Divide ldr r3, _02188b2c ; =data_ov15_0218ddc4 mov ip, #0 str r0, [r3, #0x10] str ip, [r3, #0x14] ldr r0, _02188b30 ; =data_ov15_0218ddd8 ldr r1, _02188b34 ; =func_0202bac0 ldr r2, _02188b38 ; =data_ov15_021902b4 str ip, [r3, #0x18] mov ip, #0x3800 str ip, [r3, #0x1c] bl __register_global_object ldr r2, _02188b3c ; =0x0000199a ldr r1, _02188b2c ; =data_ov15_0218ddc4 mov r0, #0 str r2, [r1, #0x20] str r0, [r1, #0x24] ldr r2, _02188b40 ; =0xfffffccd ldr r0, _02188b44 ; =data_ov15_0218dde4 str r2, [r1, #0x28] ldr r1, _02188b34 ; =func_0202bac0 ldr r2, _02188b48 ; =data_ov15_021902c0 bl __register_global_object ldr r2, _02188b4c ; =0xffffe666 ldr r1, _02188b2c ; =data_ov15_0218ddc4 mov r0, #0 str r2, [r1, #0x2c] str r0, [r1, #0x30] ldr r2, _02188b40 ; =0xfffffccd ldr r0, _02188b50 ; =data_ov15_0218ddf0 str r2, [r1, #0x34] ldr r1, _02188b34 ; =func_0202bac0 ldr r2, _02188b54 ; =data_ov15_021902cc bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188a54 _02188b10: .word data_ov15_021902a0 _02188b14: .word 0x474f4332 _02188b18: .word func_ov15_021773a8 _02188b1c: .word func_ov15_02177330 _02188b20: .word _ZN9ActorTypeD1Ev _02188b24: .word data_ov15_02190294 _02188b28: .word 0x00000ccd _02188b2c: .word data_ov15_0218ddc4 _02188b30: .word data_ov15_0218ddd8 _02188b34: .word func_0202bac0 _02188b38: .word data_ov15_021902b4 _02188b3c: .word 0x0000199a _02188b40: .word 0xfffffccd _02188b44: .word data_ov15_0218dde4 _02188b48: .word data_ov15_021902c0 _02188b4c: .word 0xffffe666 _02188b50: .word data_ov15_0218ddf0 _02188b54: .word data_ov15_021902cc .global func_ov15_02188b58 arm_func_start func_ov15_02188b58 func_ov15_02188b58: ; 0x02188b58 stmdb sp!, {r3, lr} ldr r0, _02188dec ; =data_ov15_021902e4 ldr r1, _02188df0 ; =0x474f3245 ldr r2, _02188df4 ; =func_ov15_0217ab9c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188dec ; =data_ov15_021902e4 ldr r1, _02188df8 ; =_ZN9ActorTypeD1Ev ldr r2, _02188dfc ; =data_ov15_021902d8 bl __register_global_object ldr lr, _02188e00 ; =0x00001ccd ldr r3, _02188e04 ; =data_ov15_0218df6c sub ip, lr, #0x2c00 str lr, [r3, #0x10] ldr r0, _02188e08 ; =data_ov15_0218df7c ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e10 ; =data_ov15_021902f8 str ip, [r3, #0x14] sub ip, lr, #0x4800 str ip, [r3, #0x18] bl __register_global_object ldr r2, _02188e00 ; =0x00001ccd ldr r0, _02188e14 ; =data_ov15_0218df88 rsb ip, r2, #0x2c00 sub r3, r2, #0x4800 ldr r1, _02188e0c ; =func_0202bac0 str r2, [r0] ldr r2, _02188e18 ; =data_ov15_02190304 str ip, [r0, #4] str r3, [r0, #8] bl __register_global_object mov r1, #0 ldr r0, _02188e1c ; =data_ov15_0218df94 ldr r2, _02188e20 ; =0x00002e66 str r1, [r0, #4] str r2, [r0] sub r1, r1, #0x3000 str r1, [r0, #8] ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e24 ; =data_ov15_02190310 bl __register_global_object ldr r0, _02188e28 ; =data_ov15_0218dfa0 ldr r2, _02188e00 ; =0x00001ccd mov r1, #0 str r2, [r0] str r1, [r0, #4] ldr r2, _02188e2c ; =0xffffceb8 ldr r1, _02188e0c ; =func_0202bac0 str r2, [r0, #8] ldr r2, _02188e30 ; =data_ov15_0219031c bl __register_global_object ldr r0, _02188e34 ; =data_ov15_0218dfac ldr r2, _02188e38 ; =0x0000199a mov r1, #0x1400 str r2, [r0] str r1, [r0, #4] mov r1, #0x1800 str r1, [r0, #8] ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e3c ; =data_ov15_02190328 bl __register_global_object ldr r0, _02188e40 ; =data_ov15_0218dfb8 ldr r2, _02188e44 ; =0x00000ccd str r2, [r0] mov r1, r2, lsl #0x1 str r1, [r0, #4] ldr r1, _02188e0c ; =func_0202bac0 sub r3, r2, #0x800 ldr r2, _02188e48 ; =data_ov15_02190334 str r3, [r0, #8] bl __register_global_object ldr r0, _02188e4c ; =data_ov15_0218dfc4 ldr ip, _02188e50 ; =0x00001b33 ldr r3, _02188e54 ; =0xffffe266 mov lr, #0x1800 ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e58 ; =data_ov15_02190340 str lr, [r0] str ip, [r0, #4] str r3, [r0, #8] bl __register_global_object mov lr, #0x2000 ldr r0, _02188e5c ; =data_ov15_0218dfd0 ldr ip, _02188e50 ; =0x00001b33 sub r3, lr, #0x3000 ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e60 ; =data_ov15_0219034c str lr, [r0] str ip, [r0, #4] str r3, [r0, #8] bl __register_global_object mov r2, #0x1400 ldr r0, _02188e64 ; =data_ov15_0218dfdc ldr r1, _02188e38 ; =0x0000199a rsb r2, r2, #0 mov r3, #0x1800 str r1, [r0] ldr r1, _02188e0c ; =func_0202bac0 str r2, [r0, #4] ldr r2, _02188e68 ; =data_ov15_02190358 str r3, [r0, #8] bl __register_global_object ldr r2, _02188e44 ; =0x00000ccd ldr r0, _02188e6c ; =data_ov15_0218dfe8 ldr r1, _02188e70 ; =0xffffe666 str r2, [r0] str r1, [r0, #4] sub r1, r2, #0x800 str r1, [r0, #8] ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e74 ; =data_ov15_02190364 bl __register_global_object ldr r0, _02188e78 ; =data_ov15_0218dff4 mov r1, #0x1800 str r1, [r0] ldr r2, _02188e7c ; =0xffffe4cd ldr r1, _02188e54 ; =0xffffe266 str r2, [r0, #4] str r1, [r0, #8] ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e80 ; =data_ov15_02190370 bl __register_global_object ldr r0, _02188e84 ; =data_ov15_0218e000 ldr r2, _02188e88 ; =0x00001e66 ldr r1, _02188e7c ; =0xffffe4cd str r2, [r0] str r1, [r0, #4] mov r1, #0x1000 rsb r1, r1, #0 str r1, [r0, #8] ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e8c ; =data_ov15_0219037c bl __register_global_object ldr r0, _02188e90 ; =0x00001f5c ldr r3, _02188e04 ; =data_ov15_0218df6c ldr ip, _02188e94 ; =0x00000a66 str r0, [r3, #0xa0] ldr r0, _02188e98 ; =data_ov15_0218e00c ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188e9c ; =data_ov15_02190388 str ip, [r3, #0xa4] mov ip, #0x1800 str ip, [r3, #0xa8] bl __register_global_object ldr r0, _02188ea0 ; =data_ov15_0218e018 ldr lr, _02188ea4 ; =0x000013d7 ldr ip, _02188e44 ; =0x00000ccd ldr r3, _02188ea8 ; =0x00000266 ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188eac ; =data_ov15_02190394 str lr, [r0] str ip, [r0, #4] str r3, [r0, #8] bl __register_global_object ldr r0, _02188eb0 ; =data_ov15_0218e024 ldr ip, _02188eb4 ; =0x00000b33 ldr r3, _02188eb8 ; =0xffffeccd mov lr, #0x2400 ldr r1, _02188e0c ; =func_0202bac0 ldr r2, _02188ebc ; =data_ov15_021903a0 str lr, [r0] str ip, [r0, #4] str r3, [r0, #8] bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188b58 _02188dec: .word data_ov15_021902e4 _02188df0: .word 0x474f3245 _02188df4: .word func_ov15_0217ab9c _02188df8: .word _ZN9ActorTypeD1Ev _02188dfc: .word data_ov15_021902d8 _02188e00: .word 0x00001ccd _02188e04: .word data_ov15_0218df6c _02188e08: .word data_ov15_0218df7c _02188e0c: .word func_0202bac0 _02188e10: .word data_ov15_021902f8 _02188e14: .word data_ov15_0218df88 _02188e18: .word data_ov15_02190304 _02188e1c: .word data_ov15_0218df94 _02188e20: .word 0x00002e66 _02188e24: .word data_ov15_02190310 _02188e28: .word data_ov15_0218dfa0 _02188e2c: .word 0xffffceb8 _02188e30: .word data_ov15_0219031c _02188e34: .word data_ov15_0218dfac _02188e38: .word 0x0000199a _02188e3c: .word data_ov15_02190328 _02188e40: .word data_ov15_0218dfb8 _02188e44: .word 0x00000ccd _02188e48: .word data_ov15_02190334 _02188e4c: .word data_ov15_0218dfc4 _02188e50: .word 0x00001b33 _02188e54: .word 0xffffe266 _02188e58: .word data_ov15_02190340 _02188e5c: .word data_ov15_0218dfd0 _02188e60: .word data_ov15_0219034c _02188e64: .word data_ov15_0218dfdc _02188e68: .word data_ov15_02190358 _02188e6c: .word data_ov15_0218dfe8 _02188e70: .word 0xffffe666 _02188e74: .word data_ov15_02190364 _02188e78: .word data_ov15_0218dff4 _02188e7c: .word 0xffffe4cd _02188e80: .word data_ov15_02190370 _02188e84: .word data_ov15_0218e000 _02188e88: .word 0x00001e66 _02188e8c: .word data_ov15_0219037c _02188e90: .word 0x00001f5c _02188e94: .word 0x00000a66 _02188e98: .word data_ov15_0218e00c _02188e9c: .word data_ov15_02190388 _02188ea0: .word data_ov15_0218e018 _02188ea4: .word 0x000013d7 _02188ea8: .word 0x00000266 _02188eac: .word data_ov15_02190394 _02188eb0: .word data_ov15_0218e024 _02188eb4: .word 0x00000b33 _02188eb8: .word 0xffffeccd _02188ebc: .word data_ov15_021903a0 .global func_ov15_02188ec0 arm_func_start func_ov15_02188ec0 func_ov15_02188ec0: ; 0x02188ec0 stmdb sp!, {r3, lr} ldr r0, _02188eec ; =data_ov15_021903b8 ldr r1, _02188ef0 ; =0x474f3242 ldr r2, _02188ef4 ; =func_ov15_0217c02c mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188eec ; =data_ov15_021903b8 ldr r1, _02188ef8 ; =_ZN9ActorTypeD1Ev ldr r2, _02188efc ; =data_ov15_021903ac bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188ec0 _02188eec: .word data_ov15_021903b8 _02188ef0: .word 0x474f3242 _02188ef4: .word func_ov15_0217c02c _02188ef8: .word _ZN9ActorTypeD1Ev _02188efc: .word data_ov15_021903ac .global func_ov15_02188f00 arm_func_start func_ov15_02188f00 func_ov15_02188f00: ; 0x02188f00 stmdb sp!, {r3, lr} ldr r0, _02188f2c ; =data_ov15_021903d8 ldr r1, _02188f30 ; =0x534c5243 ldr r2, _02188f34 ; =func_ov15_0217d690 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188f2c ; =data_ov15_021903d8 ldr r1, _02188f38 ; =_ZN9ActorTypeD1Ev ldr r2, _02188f3c ; =data_ov15_021903cc bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188f00 _02188f2c: .word data_ov15_021903d8 _02188f30: .word 0x534c5243 _02188f34: .word func_ov15_0217d690 _02188f38: .word _ZN9ActorTypeD1Ev _02188f3c: .word data_ov15_021903cc .global func_ov15_02188f40 arm_func_start func_ov15_02188f40 func_ov15_02188f40: ; 0x02188f40 stmdb sp!, {r3, lr} ldr r0, _02188f6c ; =data_ov15_021903f8 ldr r1, _02188f70 ; =0x534c5347 ldr r2, _02188f74 ; =func_ov15_0217db44 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02188f6c ; =data_ov15_021903f8 ldr r1, _02188f78 ; =_ZN9ActorTypeD1Ev ldr r2, _02188f7c ; =data_ov15_021903ec bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_02188f40 _02188f6c: .word data_ov15_021903f8 _02188f70: .word 0x534c5347 _02188f74: .word func_ov15_0217db44 _02188f78: .word _ZN9ActorTypeD1Ev _02188f7c: .word data_ov15_021903ec .global func_ov15_02188f80 arm_func_start func_ov15_02188f80 func_ov15_02188f80: ; 0x02188f80 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x90 ldr r6, _021891ec ; =data_ov15_0218e688 mov r0, #0 mov r4, #0x16 strh r0, [sp, #0x88] sub lr, r4, #0x18 str r0, [r6, #0x50] str r4, [r6, #0x54] str r0, [r6, #0x58] mov ip, #0xff mov r7, #0xa ldrsh r1, [sp, #0x88] str lr, [r6, #0x5c] strh r0, [sp, #0x70] strh r1, [r6, #0x60] strb r0, [r6, #0x62] strb r7, [r6, #0x63] strb ip, [r6, #0x64] strb r0, [r6, #0x65] str r0, [r6, #0x78] str r4, [r6, #0x7c] str r0, [r6, #0x80] mov r5, #0xb ldrsh r1, [sp, #0x70] str lr, [r6, #0x84] mov r3, #1 strh r1, [r6, #0x88] strb r0, [r6, #0x8a] strb r5, [r6, #0x8b] strb ip, [r6, #0x8c] strb r0, [r6, #0x8d] strh r0, [sp, #0x58] str r0, [r6, #0xa0] str r4, [r6, #0xa4] str r0, [r6, #0xa8] mov r2, #0xc ldrsh r1, [sp, #0x58] str lr, [r6, #0xac] str r0, [sp, #0x78] strh r1, [r6, #0xb0] str r4, [sp, #0x7c] str r0, [sp, #0x80] str lr, [sp, #0x84] strb r0, [sp, #0x8a] strb r7, [sp, #0x8b] strb ip, [sp, #0x8c] strb r0, [sp, #0x8d] str r0, [sp, #0x60] str r4, [sp, #0x64] str r0, [sp, #0x68] str lr, [sp, #0x6c] strb r0, [sp, #0x72] strb r5, [sp, #0x73] strb ip, [sp, #0x74] strb r0, [sp, #0x75] str r0, [sp, #0x48] str r4, [sp, #0x4c] str r0, [sp, #0x50] str lr, [sp, #0x54] strb r3, [sp, #0x5a] strb r2, [sp, #0x5b] strb ip, [sp, #0x5c] strb r0, [sp, #0x5d] strb r3, [r6, #0xb2] and r1, r2, #0xff strb r1, [r6, #0xb3] and r1, ip, #0xff strb r1, [r6, #0xb4] and r1, r0, #0xff strb r1, [r6, #0xb5] strh r0, [sp, #0x40] str r0, [r6, #0xc8] mov r3, #2 str r4, [r6, #0xcc] str r0, [r6, #0xd0] mov r2, #0xd ldrsh r1, [sp, #0x40] str lr, [r6, #0xd4] strh r0, [sp, #0x28] strh r1, [r6, #0xd8] strb r3, [r6, #0xda] strb r2, [r6, #0xdb] and r5, ip, #0xff strb r5, [r6, #0xdc] and r5, r0, #0xff strb r5, [r6, #0xdd] str r0, [r6, #0xf0] str r4, [r6, #0xf4] str r0, [r6, #0xf8] mov r1, #0xe mov r8, #3 mov r7, #0xf ldrsh r9, [sp, #0x28] ldr r5, _021891f0 ; =data_ov15_0218e788 str lr, [r6, #0xfc] strh r9, [r5] strb r3, [r6, #0x102] strb r1, [r6, #0x103] and r9, ip, #0xff strb r9, [r6, #0x104] and r9, r0, #0xff strb r9, [r6, #0x105] str r0, [r6, #0x118] str r4, [r6, #0x11c] str r0, [r6, #0x120] strb r1, [sp, #0x2b] strh r0, [sp, #0x10] strb r2, [sp, #0x43] ldrsh r2, [sp, #0x10] str lr, [r6, #0x124] and r1, r8, #0xff strh r2, [r5, #0x28] strb r1, [r6, #0x12a] and r1, r7, #0xff strb r1, [r6, #0x12b] strb r3, [sp, #0x42] strb r3, [sp, #0x2a] and r3, ip, #0xff strb r3, [r6, #0x12c] mov r3, r9 ldr r1, _021891f4 ; =func_ov15_0217f7d8 ldr r2, _021891f8 ; =data_ov15_0219040c str r0, [sp, #0x30] str r4, [sp, #0x34] str r0, [sp, #0x38] str lr, [sp, #0x3c] strb ip, [sp, #0x44] strb r0, [sp, #0x45] str r0, [sp, #0x18] str r4, [sp, #0x1c] str r0, [sp, #0x20] str lr, [sp, #0x24] strb ip, [sp, #0x2c] strb r0, [sp, #0x2d] str r0, [sp] str r4, [sp, #4] str r0, [sp, #8] str lr, [sp, #0xc] strb r8, [sp, #0x12] strb r7, [sp, #0x13] strb ip, [sp, #0x14] strb r0, [sp, #0x15] strb r3, [r6, #0x12d] bl __register_global_object mov r0, r6 mov r2, #0 str r2, [r0, #0x140] mov r1, #0xc0 str r1, [r0, #0x144] str r2, [r0, #0x148] mov r1, #0x10 str r1, [r0, #0x14c] add sp, sp, #0x90 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 arm_func_end func_ov15_02188f80 _021891ec: .word data_ov15_0218e688 _021891f0: .word data_ov15_0218e788 _021891f4: .word func_ov15_0217f7d8 _021891f8: .word data_ov15_0219040c .global func_ov15_021891fc arm_func_start func_ov15_021891fc func_ov15_021891fc: ; 0x021891fc stmdb sp!, {r3, lr} ldr r0, _0218923c ; =data_ov15_02190424 ldr r1, _02189240 ; =0x4852434e ldr r2, _02189244 ; =func_ov15_0217f800 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _0218923c ; =data_ov15_02190424 ldr r1, _02189248 ; =_ZN9ActorTypeD1Ev ldr r2, _0218924c ; =data_ov15_02190418 bl __register_global_object ldr r2, _02189250 ; =0x00009998 ldr r0, _02189254 ; =data_ov15_0218e8c8 ldr r1, _02189258 ; =0x00000aaa str r2, [r0, #0x10] str r1, [r0, #0x14] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021891fc _0218923c: .word data_ov15_02190424 _02189240: .word 0x4852434e _02189244: .word func_ov15_0217f800 _02189248: .word _ZN9ActorTypeD1Ev _0218924c: .word data_ov15_02190418 _02189250: .word 0x00009998 _02189254: .word data_ov15_0218e8c8 _02189258: .word 0x00000aaa .global func_ov15_0218925c arm_func_start func_ov15_0218925c func_ov15_0218925c: ; 0x0218925c stmdb sp!, {r3, lr} ldr r0, _02189288 ; =data_ov15_02190444 ldr r1, _0218928c ; =0x4653524c ldr r2, _02189290 ; =func_ov15_02183b94 mov r3, #0 bl _ZN9ActorTypeC1EjPFP5ActorvEPv ldr r0, _02189288 ; =data_ov15_02190444 ldr r1, _02189294 ; =_ZN9ActorTypeD1Ev ldr r2, _02189298 ; =data_ov15_02190438 bl __register_global_object ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_0218925c _02189288: .word data_ov15_02190444 _0218928c: .word 0x4653524c _02189290: .word func_ov15_02183b94 _02189294: .word _ZN9ActorTypeD1Ev _02189298: .word data_ov15_02190438 .global func_ov15_0218929c arm_func_start func_ov15_0218929c func_ov15_0218929c: ; 0x0218929c ldr ip, _021892a8 ; =func_ov15_02184968 ldr r0, _021892ac ; =data_ov15_02190458 bx ip .align 2, 0 arm_func_end func_ov15_0218929c _021892a8: .word func_ov15_02184968 _021892ac: .word data_ov15_02190458 .global func_ov15_021892b0 arm_func_start func_ov15_021892b0 func_ov15_021892b0: ; 0x021892b0 stmdb sp!, {r3, lr} mov r0, #0x1000 mov r1, #0x50000 bl Divide ldr r1, _021892cc ; =data_ov15_0218ebac str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov15_021892b0 _021892cc: .word data_ov15_0218ebac .section .ctor, 4, 1, 4 .global data_ov15_021892d0 data_ov15_021892d0: ; 0x021892d0 .word func_ov15_02187384 .global data_ov15_021892d4 data_ov15_021892d4: ; 0x021892d4 .word func_ov15_021873c8 .global data_ov15_021892d8 data_ov15_021892d8: ; 0x021892d8 .word func_ov15_02187408 .global data_ov15_021892dc data_ov15_021892dc: ; 0x021892dc .word func_ov15_02187448 .global data_ov15_021892e0 data_ov15_021892e0: ; 0x021892e0 .word func_ov15_02187488 .global data_ov15_021892e4 data_ov15_021892e4: ; 0x021892e4 .word func_ov15_021874c8 .global data_ov15_021892e8 data_ov15_021892e8: ; 0x021892e8 .word func_ov15_02187544 .global data_ov15_021892ec data_ov15_021892ec: ; 0x021892ec .word func_ov15_0218757c .global data_ov15_021892f0 data_ov15_021892f0: ; 0x021892f0 .word func_ov15_021875b4 .global data_ov15_021892f4 data_ov15_021892f4: ; 0x021892f4 .word func_ov15_021875ec .global data_ov15_021892f8 data_ov15_021892f8: ; 0x021892f8 .word func_ov15_02187624 .global data_ov15_021892fc data_ov15_021892fc: ; 0x021892fc .word func_ov15_0218765c .global data_ov15_02189300 data_ov15_02189300: ; 0x02189300 .word func_ov15_02187694 .global data_ov15_02189304 data_ov15_02189304: ; 0x02189304 .word func_ov15_021876cc .global data_ov15_02189308 data_ov15_02189308: ; 0x02189308 .word func_ov15_02187704 .global data_ov15_0218930c data_ov15_0218930c: ; 0x0218930c .word func_ov15_0218773c .global data_ov15_02189310 data_ov15_02189310: ; 0x02189310 .word func_ov15_02187774 .global data_ov15_02189314 data_ov15_02189314: ; 0x02189314 .word func_ov15_021877ac .global data_ov15_02189318 data_ov15_02189318: ; 0x02189318 .word func_ov15_021877e4 .global data_ov15_0218931c data_ov15_0218931c: ; 0x0218931c .word func_ov15_0218781c .global data_ov15_02189320 data_ov15_02189320: ; 0x02189320 .word func_ov15_02187884 .global data_ov15_02189324 data_ov15_02189324: ; 0x02189324 .word func_ov15_021878f8 .global data_ov15_02189328 data_ov15_02189328: ; 0x02189328 .word func_ov15_0218793c .global data_ov15_0218932c data_ov15_0218932c: ; 0x0218932c .word func_ov15_0218798c .global data_ov15_02189330 data_ov15_02189330: ; 0x02189330 .word func_ov15_021879cc .global data_ov15_02189334 data_ov15_02189334: ; 0x02189334 .word func_ov15_021879e0 .global data_ov15_02189338 data_ov15_02189338: ; 0x02189338 .word func_ov15_02187a38 .global data_ov15_0218933c data_ov15_0218933c: ; 0x0218933c .word func_ov15_02187a78 .global data_ov15_02189340 data_ov15_02189340: ; 0x02189340 .word func_ov15_02187ab8 .global data_ov15_02189344 data_ov15_02189344: ; 0x02189344 .word func_ov15_02187b40 .global data_ov15_02189348 data_ov15_02189348: ; 0x02189348 .word func_ov15_02187b80 .global data_ov15_0218934c data_ov15_0218934c: ; 0x0218934c .word func_ov15_02187bf4 .global data_ov15_02189350 data_ov15_02189350: ; 0x02189350 .word func_ov15_02187c34 ; func_ov37_02187c34 .global data_ov15_02189354 data_ov15_02189354: ; 0x02189354 .word func_ov15_02187c78 .global data_ov15_02189358 data_ov15_02189358: ; 0x02189358 .word func_ov15_02187d20 .global data_ov15_0218935c data_ov15_0218935c: ; 0x0218935c .word func_ov15_02187d58 .global data_ov15_02189360 data_ov15_02189360: ; 0x02189360 .word func_ov15_02187d98 .global data_ov15_02189364 data_ov15_02189364: ; 0x02189364 .word func_ov15_02187ed4 ; data_ov37_02187ed4 .global data_ov15_02189368 data_ov15_02189368: ; 0x02189368 .word func_ov15_02187f0c .global data_ov15_0218936c data_ov15_0218936c: ; 0x0218936c .word func_ov15_02187f48 .global data_ov15_02189370 data_ov15_02189370: ; 0x02189370 .word func_ov15_02187f88 .global data_ov15_02189374 data_ov15_02189374: ; 0x02189374 .word func_ov15_02187fc8 ; data_ov37_02187fc8 .global data_ov15_02189378 data_ov15_02189378: ; 0x02189378 .word func_ov15_02188008 ; data_ov37_02188008, data_ov40_02188008 .global data_ov15_0218937c data_ov15_0218937c: ; 0x0218937c .word func_ov15_02188084 ; data_ov37_02188084, data_ov40_02188084 .global data_ov15_02189380 data_ov15_02189380: ; 0x02189380 .word func_ov15_021880c4 ; data_ov37_021880c4, data_ov40_021880c4 .global data_ov15_02189384 data_ov15_02189384: ; 0x02189384 .word func_ov15_02188108 ; data_ov37_02188108, data_ov40_02188108 .global data_ov15_02189388 data_ov15_02189388: ; 0x02189388 .word func_ov15_02188148 ; data_ov37_02188148, data_ov40_02188148 .global data_ov15_0218938c data_ov15_0218938c: ; 0x0218938c .word func_ov15_021881d8 ; data_ov37_021881d8, data_ov40_021881d8 .global data_ov15_02189390 data_ov15_02189390: ; 0x02189390 .word func_ov15_02188270 ; data_ov37_02188270, data_ov40_02188270 .global data_ov15_02189394 data_ov15_02189394: ; 0x02189394 .word func_ov15_021882b0 ; data_ov37_021882b0 .global data_ov15_02189398 data_ov15_02189398: ; 0x02189398 .word func_ov15_02188304 .global data_ov15_0218939c data_ov15_0218939c: ; 0x0218939c .word func_ov15_0218835c ; data_ov37_0218835c .global data_ov15_021893a0 data_ov15_021893a0: ; 0x021893a0 .word func_ov15_0218839c ; data_ov37_0218839c .global data_ov15_021893a4 data_ov15_021893a4: ; 0x021893a4 .word func_ov15_021883d4 ; data_ov37_021883d4 .global data_ov15_021893a8 data_ov15_021893a8: ; 0x021893a8 .word func_ov15_0218840c .global data_ov15_021893ac data_ov15_021893ac: ; 0x021893ac .word func_ov15_02188444 .global data_ov15_021893b0 data_ov15_021893b0: ; 0x021893b0 .word func_ov15_0218847c ; data_ov37_0218847c .global data_ov15_021893b4 data_ov15_021893b4: ; 0x021893b4 .word func_ov15_021884f4 ; data_ov37_021884f4 .global data_ov15_021893b8 data_ov15_021893b8: ; 0x021893b8 .word func_ov15_02188534 ; data_ov37_02188534 .global data_ov15_021893bc data_ov15_021893bc: ; 0x021893bc .word func_ov15_02188574 .global data_ov15_021893c0 data_ov15_021893c0: ; 0x021893c0 .word func_ov15_021885b8 ; func_ov30_021885b8, data_ov37_021885b8 .global data_ov15_021893c4 data_ov15_021893c4: ; 0x021893c4 .word func_ov15_021885f8 ; data_ov30_021885f8, data_ov37_021885f8 .global data_ov15_021893c8 data_ov15_021893c8: ; 0x021893c8 .word func_ov15_02188630 ; data_ov30_02188630, data_ov37_02188630 .global data_ov15_021893cc data_ov15_021893cc: ; 0x021893cc .word func_ov15_02188668 ; data_ov30_02188668, data_ov37_02188668, data_ov40_02188668 .global data_ov15_021893d0 data_ov15_021893d0: ; 0x021893d0 .word func_ov15_021886a8 ; data_ov30_021886a8, data_ov40_021886a8 .global data_ov15_021893d4 data_ov15_021893d4: ; 0x021893d4 .word func_ov15_02188718 ; data_ov30_02188718, data_ov40_02188718 .global data_ov15_021893d8 data_ov15_021893d8: ; 0x021893d8 .word func_ov15_02188758 ; data_ov30_02188758, data_ov40_02188758 .global data_ov15_021893dc data_ov15_021893dc: ; 0x021893dc .word func_ov15_021887cc ; data_ov30_021887cc, data_ov40_021887cc .global data_ov15_021893e0 data_ov15_021893e0: ; 0x021893e0 .word func_ov15_02188878 ; data_ov40_02188878 .global data_ov15_021893e4 data_ov15_021893e4: ; 0x021893e4 .word func_ov15_021888b8 ; data_ov40_021888b8 .global data_ov15_021893e8 data_ov15_021893e8: ; 0x021893e8 .word func_ov15_021888f8 ; data_ov40_021888f8 .global data_ov15_021893ec data_ov15_021893ec: ; 0x021893ec .word func_ov15_02188938 ; data_ov38_02188938, data_ov40_02188938 .global data_ov15_021893f0 data_ov15_021893f0: ; 0x021893f0 .word func_ov15_02188978 ; data_ov38_02188978, data_ov40_02188978 .global data_ov15_021893f4 data_ov15_021893f4: ; 0x021893f4 .word func_ov15_02188a54 ; data_ov30_02188a54, data_ov37_02188a54, data_ov40_02188a54 .global data_ov15_021893f8 data_ov15_021893f8: ; 0x021893f8 .word func_ov15_02188b58 ; data_ov30_02188b58, data_ov37_02188b58, data_ov40_02188b58 .global data_ov15_021893fc data_ov15_021893fc: ; 0x021893fc .word func_ov15_02188ec0 ; data_ov30_02188ec0, data_ov37_02188ec0, data_ov38_02188ec0 .global data_ov15_02189400 data_ov15_02189400: ; 0x02189400 .word func_ov15_02188f00 ; data_ov30_02188f00, data_ov37_02188f00, data_ov38_02188f00 .global data_ov15_02189404 data_ov15_02189404: ; 0x02189404 .word func_ov15_02188f40 ; data_ov30_02188f40, data_ov37_02188f40, data_ov38_02188f40 .global data_ov15_02189408 data_ov15_02189408: ; 0x02189408 .word func_ov15_02188f80 ; data_ov30_02188f80, data_ov37_02188f80, data_ov38_02188f80, data_ov40_02188f80 .global data_ov15_0218940c data_ov15_0218940c: ; 0x0218940c .word func_ov15_021891fc ; data_ov30_021891fc, data_ov37_021891fc, data_ov38_021891fc, data_ov40_021891fc .global data_ov15_02189410 data_ov15_02189410: ; 0x02189410 .word func_ov15_0218925c ; data_ov30_0218925c, data_ov38_0218925c, data_ov40_0218925c .global data_ov15_02189414 data_ov15_02189414: ; 0x02189414 .word func_ov15_0218929c ; data_ov38_0218929c, data_ov40_0218929c .global data_ov15_02189418 data_ov15_02189418: ; 0x02189418 .word func_ov15_021892b0 ; data_ov30_021892b0, data_ov38_021892b0, data_ov40_021892b0 .data .global data_ov15_02189420 data_ov15_02189420: ; 0x02189420 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189424 data_ov15_02189424: ; 0x02189424 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189428 data_ov15_02189428: ; 0x02189428 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218942c data_ov15_0218942c: ; 0x0218942c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189430 data_ov15_02189430: ; 0x02189430 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189434 data_ov15_02189434: ; 0x02189434 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189438 data_ov15_02189438: ; 0x02189438 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218943c data_ov15_0218943c: ; 0x0218943c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189440 data_ov15_02189440: ; 0x02189440 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189444 data_ov15_02189444: ; 0x02189444 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189448 data_ov15_02189448: ; 0x02189448 .word func_ov15_0211fc58 .global data_ov15_0218944c data_ov15_0218944c: ; 0x0218944c .word func_ov15_021206bc .global data_ov15_02189450 data_ov15_02189450: ; 0x02189450 .word func_ov15_0211f640 .global data_ov15_02189454 data_ov15_02189454: ; 0x02189454 .word func_ov15_0211f68c .global data_ov15_02189458 data_ov15_02189458: ; 0x02189458 .word func_ov15_0211f694 .global data_ov15_0218945c data_ov15_0218945c: ; 0x0218945c .word func_ov15_0211f69c .global data_ov15_02189460 data_ov15_02189460: ; 0x02189460 .word func_ov15_0211f880 .global data_ov15_02189464 data_ov15_02189464: ; 0x02189464 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189468 data_ov15_02189468: ; 0x02189468 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218946c data_ov15_0218946c: ; 0x0218946c .word func_ov15_0211fc6c .global data_ov15_02189470 data_ov15_02189470: ; 0x02189470 .word func_ov15_021206d8 .global data_ov15_02189474 data_ov15_02189474: ; 0x02189474 .word func_ov15_0211f640 .global data_ov15_02189478 data_ov15_02189478: ; 0x02189478 .word func_ov15_0211f68c .global data_ov15_0218947c data_ov15_0218947c: ; 0x0218947c .word func_ov15_0211f694 .global data_ov15_02189480 data_ov15_02189480: ; 0x02189480 .word func_ov15_0211f69c .global data_ov15_02189484 data_ov15_02189484: ; 0x02189484 .word func_ov15_0211f864 ; func_ov16_0211f864 .global data_ov15_02189488 data_ov15_02189488: ; 0x02189488 .ascii "Menu/Bg/Color0.NCLR" .byte 0x00 .global data_ov15_0218949c data_ov15_0218949c: ; 0x0218949c .ascii "brg" .byte 0x00 .global data_ov15_021894a0 data_ov15_021894a0: ; 0x021894a0 .ascii "fnl" .byte 0x00 .global data_ov15_021894a4 data_ov15_021894a4: ; 0x021894a4 .ascii "pdl" .byte 0x00 .global data_ov15_021894a8 data_ov15_021894a8: ; 0x021894a8 .ascii "dco" .byte 0x00 .global data_ov15_021894ac data_ov15_021894ac: ; 0x021894ac .ascii "can" .byte 0x00 .global data_ov15_021894b0 data_ov15_021894b0: ; 0x021894b0 .ascii "hul" .byte 0x00 .global data_ov15_021894b4 data_ov15_021894b4: ; 0x021894b4 .ascii "bow" .byte 0x00 .global data_ov15_021894b8 data_ov15_021894b8: ; 0x021894b8 .ascii "anc" .byte 0x00 .global data_ov15_021894bc data_ov15_021894bc: ; 0x021894bc .word data_ov15_021894b8 ; data_ov30_021894b8, data_ov40_021894b8 .global data_ov15_021894c0 data_ov15_021894c0: ; 0x021894c0 .word data_ov15_021894b4 ; data_ov30_021894b4, data_ov40_021894b4 .global data_ov15_021894c4 data_ov15_021894c4: ; 0x021894c4 .word data_ov15_021894b0 ; data_ov30_021894b0, data_ov40_021894b0 .global data_ov15_021894c8 data_ov15_021894c8: ; 0x021894c8 .word data_ov15_021894ac ; data_ov30_021894ac, data_ov40_021894ac .global data_ov15_021894cc data_ov15_021894cc: ; 0x021894cc .word data_ov15_021894a8 ; data_ov30_021894a8, data_ov40_021894a8 .global data_ov15_021894d0 data_ov15_021894d0: ; 0x021894d0 .word data_ov15_021894a4 ; data_ov30_021894a4, data_ov40_021894a4 .global data_ov15_021894d4 data_ov15_021894d4: ; 0x021894d4 .word data_ov15_021894a0 ; data_ov30_021894a0, data_ov40_021894a0 .global data_ov15_021894d8 data_ov15_021894d8: ; 0x021894d8 .word data_ov15_0218949c ; data_ov30_0218949c, data_ov38_0218949c, data_ov40_0218949c .global data_ov15_021894dc data_ov15_021894dc: ; 0x021894dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894e0 data_ov15_021894e0: ; 0x021894e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894e4 data_ov15_021894e4: ; 0x021894e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894e8 data_ov15_021894e8: ; 0x021894e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894ec data_ov15_021894ec: ; 0x021894ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894f0 data_ov15_021894f0: ; 0x021894f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894f4 data_ov15_021894f4: ; 0x021894f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894f8 data_ov15_021894f8: ; 0x021894f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021894fc data_ov15_021894fc: ; 0x021894fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189500 data_ov15_02189500: ; 0x02189500 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189504 data_ov15_02189504: ; 0x02189504 .word func_ov15_02120920 .global data_ov15_02189508 data_ov15_02189508: ; 0x02189508 .word func_ov15_021209c0 .global data_ov15_0218950c data_ov15_0218950c: ; 0x0218950c .word func_ov09_0211b7f4 .global data_ov15_02189510 data_ov15_02189510: ; 0x02189510 .word func_ov15_02120f44 .global data_ov15_02189514 data_ov15_02189514: ; 0x02189514 .word func_ov15_021210f4 .global data_ov15_02189518 data_ov15_02189518: ; 0x02189518 .word func_ov09_0211baf4 .global data_ov15_0218951c data_ov15_0218951c: ; 0x0218951c .word func_ov09_0211bc64 ; func_ov12_0211bc64 .global data_ov15_02189520 data_ov15_02189520: ; 0x02189520 .word func_ov09_0211bc84 .global data_ov15_02189524 data_ov15_02189524: ; 0x02189524 .word func_ov09_0211bcd8 .global data_ov15_02189528 data_ov15_02189528: ; 0x02189528 .word func_ov09_0211bd14 .global data_ov15_0218952c data_ov15_0218952c: ; 0x0218952c .word func_ov09_0211bd58 .global data_ov15_02189530 data_ov15_02189530: ; 0x02189530 .word func_ov15_02120c58 .global data_ov15_02189534 data_ov15_02189534: ; 0x02189534 .word func_ov15_02120c94 .global data_ov15_02189538 data_ov15_02189538: ; 0x02189538 .word func_ov15_0212113c .global data_ov15_0218953c data_ov15_0218953c: ; 0x0218953c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189540 data_ov15_02189540: ; 0x02189540 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189544 data_ov15_02189544: ; 0x02189544 .word func_ov15_02121ae4 .global data_ov15_02189548 data_ov15_02189548: ; 0x02189548 .word func_ov15_02121af8 .global data_ov15_0218954c data_ov15_0218954c: ; 0x0218954c .word func_ov15_02121b14 .global data_ov15_02189550 data_ov15_02189550: ; 0x02189550 .word _ZN5Actor8vfunc_0cEv .global data_ov15_02189554 data_ov15_02189554: ; 0x02189554 .word _ZN5Actor8vfunc_10Ej .global data_ov15_02189558 data_ov15_02189558: ; 0x02189558 .word func_ov15_02121e40 .global data_ov15_0218955c data_ov15_0218955c: ; 0x0218955c .word _ZN5Actor8vfunc_18Ej .global data_ov15_02189560 data_ov15_02189560: ; 0x02189560 .word _ZN5Actor8vfunc_1cEt .global data_ov15_02189564 data_ov15_02189564: ; 0x02189564 .word _ZN5Actor8vfunc_20Ei .global data_ov15_02189568 data_ov15_02189568: ; 0x02189568 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218956c data_ov15_0218956c: ; 0x0218956c .word _ZN5Actor8vfunc_28Ev .global data_ov15_02189570 data_ov15_02189570: ; 0x02189570 .word _ZN5Actor8vfunc_2cEv .global data_ov15_02189574 data_ov15_02189574: ; 0x02189574 .word _ZN5Actor8vfunc_30Ev .global data_ov15_02189578 data_ov15_02189578: ; 0x02189578 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218957c data_ov15_0218957c: ; 0x0218957c .word _ZN5Actor8vfunc_38Ev .global data_ov15_02189580 data_ov15_02189580: ; 0x02189580 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_02189584 data_ov15_02189584: ; 0x02189584 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189588 data_ov15_02189588: ; 0x02189588 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218958c data_ov15_0218958c: ; 0x0218958c .word _ZN5Actor8vfunc_48Ei .global data_ov15_02189590 data_ov15_02189590: ; 0x02189590 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_02189594 data_ov15_02189594: ; 0x02189594 .word _ZN5Actor6GetPosEv .global data_ov15_02189598 data_ov15_02189598: ; 0x02189598 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218959c data_ov15_0218959c: ; 0x0218959c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_021895a0 data_ov15_021895a0: ; 0x021895a0 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_021895a4 data_ov15_021895a4: ; 0x021895a4 .word _ZN5Actor8vfunc_60Ev .global data_ov15_021895a8 data_ov15_021895a8: ; 0x021895a8 .word _ZN5Actor8vfunc_64Ev .global data_ov15_021895ac data_ov15_021895ac: ; 0x021895ac .word _ZN5Actor8vfunc_68Ev .global data_ov15_021895b0 data_ov15_021895b0: ; 0x021895b0 .word _ZN5Actor8vfunc_6cEv .global data_ov15_021895b4 data_ov15_021895b4: ; 0x021895b4 .word _ZN5Actor8vfunc_70Ev .global data_ov15_021895b8 data_ov15_021895b8: ; 0x021895b8 .word _ZN5Actor8vfunc_74Ev .global data_ov15_021895bc data_ov15_021895bc: ; 0x021895bc .word _ZN5Actor8vfunc_78Ev .global data_ov15_021895c0 data_ov15_021895c0: ; 0x021895c0 .word _ZN5Actor8vfunc_7cEv .global data_ov15_021895c4 data_ov15_021895c4: ; 0x021895c4 .word _ZN5Actor8vfunc_80Ev .global data_ov15_021895c8 data_ov15_021895c8: ; 0x021895c8 .word _ZN5Actor8vfunc_84Ev .global data_ov15_021895cc data_ov15_021895cc: ; 0x021895cc .word _ZN5Actor8vfunc_88Ev .global data_ov15_021895d0 data_ov15_021895d0: ; 0x021895d0 .word _ZN5Actor8vfunc_8cEv .global data_ov15_021895d4 data_ov15_021895d4: ; 0x021895d4 .word _ZN5Actor8vfunc_90Ev .global data_ov15_021895d8 data_ov15_021895d8: ; 0x021895d8 .word _ZN5Actor8vfunc_94Ev .global data_ov15_021895dc data_ov15_021895dc: ; 0x021895dc .word _ZN5Actor8vfunc_98Ev .global data_ov15_021895e0 data_ov15_021895e0: ; 0x021895e0 .word _ZN5Actor8vfunc_9cEv .global data_ov15_021895e4 data_ov15_021895e4: ; 0x021895e4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_021895e8 data_ov15_021895e8: ; 0x021895e8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_021895ec data_ov15_021895ec: ; 0x021895ec .word _ZN5Actor8vfunc_a8Ev .global data_ov15_021895f0 data_ov15_021895f0: ; 0x021895f0 .word _ZN5Actor8vfunc_acEv .global data_ov15_021895f4 data_ov15_021895f4: ; 0x021895f4 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_021895f8 data_ov15_021895f8: ; 0x021895f8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021895fc data_ov15_021895fc: ; 0x021895fc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_02189600 data_ov15_02189600: ; 0x02189600 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_02189604 data_ov15_02189604: ; 0x02189604 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_02189608 data_ov15_02189608: ; 0x02189608 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218960c data_ov15_0218960c: ; 0x0218960c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189610 data_ov15_02189610: ; 0x02189610 .word func_ov15_021230e0 .global data_ov15_02189614 data_ov15_02189614: ; 0x02189614 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189618 data_ov15_02189618: ; 0x02189618 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218961c data_ov15_0218961c: ; 0x0218961c .word func_ov15_02122110 .global data_ov15_02189620 data_ov15_02189620: ; 0x02189620 .word func_ov15_02122124 .global data_ov15_02189624 data_ov15_02189624: ; 0x02189624 .word func_ov15_02122140 .global data_ov15_02189628 data_ov15_02189628: ; 0x02189628 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218962c data_ov15_0218962c: ; 0x0218962c .word _ZN5Actor8vfunc_10Ej .global data_ov15_02189630 data_ov15_02189630: ; 0x02189630 .word func_ov15_02122e34 .global data_ov15_02189634 data_ov15_02189634: ; 0x02189634 .word _ZN5Actor8vfunc_18Ej .global data_ov15_02189638 data_ov15_02189638: ; 0x02189638 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218963c data_ov15_0218963c: ; 0x0218963c .word _ZN5Actor8vfunc_20Ei .global data_ov15_02189640 data_ov15_02189640: ; 0x02189640 .word _ZN5Actor8vfunc_24Ev .global data_ov15_02189644 data_ov15_02189644: ; 0x02189644 .word _ZN5Actor8vfunc_28Ev .global data_ov15_02189648 data_ov15_02189648: ; 0x02189648 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218964c data_ov15_0218964c: ; 0x0218964c .word _ZN5Actor8vfunc_30Ev .global data_ov15_02189650 data_ov15_02189650: ; 0x02189650 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_02189654 data_ov15_02189654: ; 0x02189654 .word _ZN5Actor8vfunc_38Ev .global data_ov15_02189658 data_ov15_02189658: ; 0x02189658 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218965c data_ov15_0218965c: ; 0x0218965c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189660 data_ov15_02189660: ; 0x02189660 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_02189664 data_ov15_02189664: ; 0x02189664 .word _ZN5Actor8vfunc_48Ei .global data_ov15_02189668 data_ov15_02189668: ; 0x02189668 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218966c data_ov15_0218966c: ; 0x0218966c .word _ZN5Actor6GetPosEv .global data_ov15_02189670 data_ov15_02189670: ; 0x02189670 .word _ZN5Actor8vfunc_54Ev .global data_ov15_02189674 data_ov15_02189674: ; 0x02189674 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_02189678 data_ov15_02189678: ; 0x02189678 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218967c data_ov15_0218967c: ; 0x0218967c .word _ZN5Actor8vfunc_60Ev .global data_ov15_02189680 data_ov15_02189680: ; 0x02189680 .word _ZN5Actor8vfunc_64Ev .global data_ov15_02189684 data_ov15_02189684: ; 0x02189684 .word _ZN5Actor8vfunc_68Ev .global data_ov15_02189688 data_ov15_02189688: ; 0x02189688 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218968c data_ov15_0218968c: ; 0x0218968c .word _ZN5Actor8vfunc_70Ev .global data_ov15_02189690 data_ov15_02189690: ; 0x02189690 .word _ZN5Actor8vfunc_74Ev .global data_ov15_02189694 data_ov15_02189694: ; 0x02189694 .word _ZN5Actor8vfunc_78Ev .global data_ov15_02189698 data_ov15_02189698: ; 0x02189698 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218969c data_ov15_0218969c: ; 0x0218969c .word _ZN5Actor8vfunc_80Ev .global data_ov15_021896a0 data_ov15_021896a0: ; 0x021896a0 .word _ZN5Actor8vfunc_84Ev .global data_ov15_021896a4 data_ov15_021896a4: ; 0x021896a4 .word _ZN5Actor8vfunc_88Ev .global data_ov15_021896a8 data_ov15_021896a8: ; 0x021896a8 .word _ZN5Actor8vfunc_8cEv .global data_ov15_021896ac data_ov15_021896ac: ; 0x021896ac .word _ZN5Actor8vfunc_90Ev .global data_ov15_021896b0 data_ov15_021896b0: ; 0x021896b0 .word _ZN5Actor8vfunc_94Ev .global data_ov15_021896b4 data_ov15_021896b4: ; 0x021896b4 .word _ZN5Actor8vfunc_98Ev .global data_ov15_021896b8 data_ov15_021896b8: ; 0x021896b8 .word _ZN5Actor8vfunc_9cEv .global data_ov15_021896bc data_ov15_021896bc: ; 0x021896bc .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_021896c0 data_ov15_021896c0: ; 0x021896c0 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_021896c4 data_ov15_021896c4: ; 0x021896c4 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_021896c8 data_ov15_021896c8: ; 0x021896c8 .word _ZN5Actor8vfunc_acEv .global data_ov15_021896cc data_ov15_021896cc: ; 0x021896cc .word _ZN5Actor8vfunc_b0Ev .global data_ov15_021896d0 data_ov15_021896d0: ; 0x021896d0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_021896d4 data_ov15_021896d4: ; 0x021896d4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021896d8 data_ov15_021896d8: ; 0x021896d8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_021896dc data_ov15_021896dc: ; 0x021896dc .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021896e0 data_ov15_021896e0: ; 0x021896e0 .byte 0x00, 0x00 .global data_ov15_021896e2 data_ov15_021896e2: ; 0x021896e2 .byte 0x00, 0x00 .global data_ov15_021896e4 data_ov15_021896e4: ; 0x021896e4 .byte 0x00, 0x00 .global data_ov15_021896e6 data_ov15_021896e6: ; 0x021896e6 .byte 0x00, 0x00 .global data_ov15_021896e8 data_ov15_021896e8: ; 0x021896e8 .byte 0x00, 0x00 .global data_ov15_021896ea data_ov15_021896ea: ; 0x021896ea .byte 0x00, 0x00 .global data_ov15_021896ec data_ov15_021896ec: ; 0x021896ec .word func_ov15_021234e0 .global data_ov15_021896f0 data_ov15_021896f0: ; 0x021896f0 .word func_ov15_021234f4 .global data_ov15_021896f4 data_ov15_021896f4: ; 0x021896f4 .word _ZN5Actor8vfunc_08Ev .global data_ov15_021896f8 data_ov15_021896f8: ; 0x021896f8 .word _ZN5Actor8vfunc_0cEv .global data_ov15_021896fc data_ov15_021896fc: ; 0x021896fc .word func_ov15_02123ba8 .global data_ov15_02189700 data_ov15_02189700: ; 0x02189700 .word func_ov15_02123a9c .global data_ov15_02189704 data_ov15_02189704: ; 0x02189704 .word func_ov15_02123b78 .global data_ov15_02189708 data_ov15_02189708: ; 0x02189708 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218970c data_ov15_0218970c: ; 0x0218970c .word _ZN5Actor8vfunc_20Ei .global data_ov15_02189710 data_ov15_02189710: ; 0x02189710 .word _ZN5Actor8vfunc_24Ev .global data_ov15_02189714 data_ov15_02189714: ; 0x02189714 .word _ZN5Actor8vfunc_28Ev .global data_ov15_02189718 data_ov15_02189718: ; 0x02189718 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218971c data_ov15_0218971c: ; 0x0218971c .word _ZN5Actor8vfunc_30Ev .global data_ov15_02189720 data_ov15_02189720: ; 0x02189720 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_02189724 data_ov15_02189724: ; 0x02189724 .word _ZN5Actor8vfunc_38Ev .global data_ov15_02189728 data_ov15_02189728: ; 0x02189728 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218972c data_ov15_0218972c: ; 0x0218972c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189730 data_ov15_02189730: ; 0x02189730 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_02189734 data_ov15_02189734: ; 0x02189734 .word _ZN5Actor8vfunc_48Ei .global data_ov15_02189738 data_ov15_02189738: ; 0x02189738 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218973c data_ov15_0218973c: ; 0x0218973c .word _ZN5Actor6GetPosEv .global data_ov15_02189740 data_ov15_02189740: ; 0x02189740 .word _ZN5Actor8vfunc_54Ev .global data_ov15_02189744 data_ov15_02189744: ; 0x02189744 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_02189748 data_ov15_02189748: ; 0x02189748 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218974c data_ov15_0218974c: ; 0x0218974c .word _ZN5Actor8vfunc_60Ev .global data_ov15_02189750 data_ov15_02189750: ; 0x02189750 .word _ZN5Actor8vfunc_64Ev .global data_ov15_02189754 data_ov15_02189754: ; 0x02189754 .word _ZN5Actor8vfunc_68Ev .global data_ov15_02189758 data_ov15_02189758: ; 0x02189758 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218975c data_ov15_0218975c: ; 0x0218975c .word _ZN5Actor8vfunc_70Ev .global data_ov15_02189760 data_ov15_02189760: ; 0x02189760 .word _ZN5Actor8vfunc_74Ev .global data_ov15_02189764 data_ov15_02189764: ; 0x02189764 .word _ZN5Actor8vfunc_78Ev .global data_ov15_02189768 data_ov15_02189768: ; 0x02189768 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218976c data_ov15_0218976c: ; 0x0218976c .word _ZN5Actor8vfunc_80Ev .global data_ov15_02189770 data_ov15_02189770: ; 0x02189770 .word _ZN5Actor8vfunc_84Ev .global data_ov15_02189774 data_ov15_02189774: ; 0x02189774 .word _ZN5Actor8vfunc_88Ev .global data_ov15_02189778 data_ov15_02189778: ; 0x02189778 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218977c data_ov15_0218977c: ; 0x0218977c .word _ZN5Actor8vfunc_90Ev .global data_ov15_02189780 data_ov15_02189780: ; 0x02189780 .word _ZN5Actor8vfunc_94Ev .global data_ov15_02189784 data_ov15_02189784: ; 0x02189784 .word _ZN5Actor8vfunc_98Ev .global data_ov15_02189788 data_ov15_02189788: ; 0x02189788 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218978c data_ov15_0218978c: ; 0x0218978c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_02189790 data_ov15_02189790: ; 0x02189790 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_02189794 data_ov15_02189794: ; 0x02189794 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_02189798 data_ov15_02189798: ; 0x02189798 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218979c data_ov15_0218979c: ; 0x0218979c .word _ZN5Actor8vfunc_b0Ev .global data_ov15_021897a0 data_ov15_021897a0: ; 0x021897a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021897a4 data_ov15_021897a4: ; 0x021897a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021897a8 data_ov15_021897a8: ; 0x021897a8 .word func_ov15_02123770 .global data_ov15_021897ac data_ov15_021897ac: ; 0x021897ac .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021897b0 data_ov15_021897b0: ; 0x021897b0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_021897b4 data_ov15_021897b4: ; 0x021897b4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021897b8 data_ov15_021897b8: ; 0x021897b8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_021897bc data_ov15_021897bc: ; 0x021897bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021897c0 data_ov15_021897c0: ; 0x021897c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021897c4 data_ov15_021897c4: ; 0x021897c4 .word func_ov15_02123d60 .global data_ov15_021897c8 data_ov15_021897c8: ; 0x021897c8 .word func_ov15_02123dc8 .global data_ov15_021897cc data_ov15_021897cc: ; 0x021897cc .word func_ov15_02123e38 .global data_ov15_021897d0 data_ov15_021897d0: ; 0x021897d0 .word _ZN5Actor8vfunc_0cEv .global data_ov15_021897d4 data_ov15_021897d4: ; 0x021897d4 .word func_ov15_02123ba8 .global data_ov15_021897d8 data_ov15_021897d8: ; 0x021897d8 .word func_ov15_02124a40 .global data_ov15_021897dc data_ov15_021897dc: ; 0x021897dc .word func_ov15_02123b78 .global data_ov15_021897e0 data_ov15_021897e0: ; 0x021897e0 .word _ZN5Actor8vfunc_1cEt .global data_ov15_021897e4 data_ov15_021897e4: ; 0x021897e4 .word func_ov15_021251ec .global data_ov15_021897e8 data_ov15_021897e8: ; 0x021897e8 .word _ZN5Actor8vfunc_24Ev .global data_ov15_021897ec data_ov15_021897ec: ; 0x021897ec .word _ZN5Actor8vfunc_28Ev .global data_ov15_021897f0 data_ov15_021897f0: ; 0x021897f0 .word _ZN5Actor8vfunc_2cEv .global data_ov15_021897f4 data_ov15_021897f4: ; 0x021897f4 .word _ZN5Actor8vfunc_30Ev .global data_ov15_021897f8 data_ov15_021897f8: ; 0x021897f8 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_021897fc data_ov15_021897fc: ; 0x021897fc .word _ZN5Actor8vfunc_38Ev .global data_ov15_02189800 data_ov15_02189800: ; 0x02189800 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_02189804 data_ov15_02189804: ; 0x02189804 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189808 data_ov15_02189808: ; 0x02189808 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218980c data_ov15_0218980c: ; 0x0218980c .word _ZN5Actor8vfunc_48Ei .global data_ov15_02189810 data_ov15_02189810: ; 0x02189810 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_02189814 data_ov15_02189814: ; 0x02189814 .word _ZN5Actor6GetPosEv .global data_ov15_02189818 data_ov15_02189818: ; 0x02189818 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218981c data_ov15_0218981c: ; 0x0218981c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_02189820 data_ov15_02189820: ; 0x02189820 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_02189824 data_ov15_02189824: ; 0x02189824 .word _ZN5Actor8vfunc_60Ev .global data_ov15_02189828 data_ov15_02189828: ; 0x02189828 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218982c data_ov15_0218982c: ; 0x0218982c .word _ZN5Actor8vfunc_68Ev .global data_ov15_02189830 data_ov15_02189830: ; 0x02189830 .word _ZN5Actor8vfunc_6cEv .global data_ov15_02189834 data_ov15_02189834: ; 0x02189834 .word _ZN5Actor8vfunc_70Ev .global data_ov15_02189838 data_ov15_02189838: ; 0x02189838 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218983c data_ov15_0218983c: ; 0x0218983c .word _ZN5Actor8vfunc_78Ev .global data_ov15_02189840 data_ov15_02189840: ; 0x02189840 .word _ZN5Actor8vfunc_7cEv .global data_ov15_02189844 data_ov15_02189844: ; 0x02189844 .word _ZN5Actor8vfunc_80Ev .global data_ov15_02189848 data_ov15_02189848: ; 0x02189848 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218984c data_ov15_0218984c: ; 0x0218984c .word _ZN5Actor8vfunc_88Ev .global data_ov15_02189850 data_ov15_02189850: ; 0x02189850 .word _ZN5Actor8vfunc_8cEv .global data_ov15_02189854 data_ov15_02189854: ; 0x02189854 .word _ZN5Actor8vfunc_90Ev .global data_ov15_02189858 data_ov15_02189858: ; 0x02189858 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218985c data_ov15_0218985c: ; 0x0218985c .word _ZN5Actor8vfunc_98Ev .global data_ov15_02189860 data_ov15_02189860: ; 0x02189860 .word _ZN5Actor8vfunc_9cEv .global data_ov15_02189864 data_ov15_02189864: ; 0x02189864 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_02189868 data_ov15_02189868: ; 0x02189868 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218986c data_ov15_0218986c: ; 0x0218986c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_02189870 data_ov15_02189870: ; 0x02189870 .word _ZN5Actor8vfunc_acEv .global data_ov15_02189874 data_ov15_02189874: ; 0x02189874 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_02189878 data_ov15_02189878: ; 0x02189878 .word func_ov15_021240ac .global data_ov15_0218987c data_ov15_0218987c: ; 0x0218987c .word func_ov15_02124694 .global data_ov15_02189880 data_ov15_02189880: ; 0x02189880 .word func_ov15_02123770 .global data_ov15_02189884 data_ov15_02189884: ; 0x02189884 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189888 data_ov15_02189888: ; 0x02189888 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218988c data_ov15_0218988c: ; 0x0218988c .word func_ov00_020c5d34 .global data_ov15_02189890 data_ov15_02189890: ; 0x02189890 .word func_ov15_02125384 .global data_ov15_02189894 data_ov15_02189894: ; 0x02189894 .word func_ov00_020c5e58 .global data_ov15_02189898 data_ov15_02189898: ; 0x02189898 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218989c data_ov15_0218989c: ; 0x0218989c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_021898a0 data_ov15_021898a0: ; 0x021898a0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_021898a4 data_ov15_021898a4: ; 0x021898a4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_021898a8 data_ov15_021898a8: ; 0x021898a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021898ac data_ov15_021898ac: ; 0x021898ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021898b0 data_ov15_021898b0: ; 0x021898b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_021898b4 data_ov15_021898b4: ; 0x021898b4 .word func_ov15_0212541c .global data_ov15_021898b8 data_ov15_021898b8: ; 0x021898b8 .word func_ov15_02125444 .global data_ov15_021898bc data_ov15_021898bc: ; 0x021898bc .word func_ov15_02125474 .global data_ov15_021898c0 data_ov15_021898c0: ; 0x021898c0 .word _ZN5Actor8vfunc_0cEv .global data_ov15_021898c4 data_ov15_021898c4: ; 0x021898c4 .word func_ov15_02123ba8 .global data_ov15_021898c8 data_ov15_021898c8: ; 0x021898c8 .word func_ov15_02123a9c .global data_ov15_021898cc data_ov15_021898cc: ; 0x021898cc .word func_ov15_02123b78 .global data_ov15_021898d0 data_ov15_021898d0: ; 0x021898d0 .word _ZN5Actor8vfunc_1cEt .global data_ov15_021898d4 data_ov15_021898d4: ; 0x021898d4 .word func_ov15_0212602c .global data_ov15_021898d8 data_ov15_021898d8: ; 0x021898d8 .word _ZN5Actor8vfunc_24Ev .global data_ov15_021898dc data_ov15_021898dc: ; 0x021898dc .word _ZN5Actor8vfunc_28Ev .global data_ov15_021898e0 data_ov15_021898e0: ; 0x021898e0 .word _ZN5Actor8vfunc_2cEv .global data_ov15_021898e4 data_ov15_021898e4: ; 0x021898e4 .word _ZN5Actor8vfunc_30Ev .global data_ov15_021898e8 data_ov15_021898e8: ; 0x021898e8 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_021898ec data_ov15_021898ec: ; 0x021898ec .word _ZN5Actor8vfunc_38Ev .global data_ov15_021898f0 data_ov15_021898f0: ; 0x021898f0 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_021898f4 data_ov15_021898f4: ; 0x021898f4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_021898f8 data_ov15_021898f8: ; 0x021898f8 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_021898fc data_ov15_021898fc: ; 0x021898fc .word func_ov15_021260a8 .global data_ov15_02189900 data_ov15_02189900: ; 0x02189900 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_02189904 data_ov15_02189904: ; 0x02189904 .word _ZN5Actor6GetPosEv .global data_ov15_02189908 data_ov15_02189908: ; 0x02189908 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218990c data_ov15_0218990c: ; 0x0218990c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_02189910 data_ov15_02189910: ; 0x02189910 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_02189914 data_ov15_02189914: ; 0x02189914 .word _ZN5Actor8vfunc_60Ev .global data_ov15_02189918 data_ov15_02189918: ; 0x02189918 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218991c data_ov15_0218991c: ; 0x0218991c .word _ZN5Actor8vfunc_68Ev .global data_ov15_02189920 data_ov15_02189920: ; 0x02189920 .word _ZN5Actor8vfunc_6cEv .global data_ov15_02189924 data_ov15_02189924: ; 0x02189924 .word _ZN5Actor8vfunc_70Ev .global data_ov15_02189928 data_ov15_02189928: ; 0x02189928 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218992c data_ov15_0218992c: ; 0x0218992c .word _ZN5Actor8vfunc_78Ev .global data_ov15_02189930 data_ov15_02189930: ; 0x02189930 .word _ZN5Actor8vfunc_7cEv .global data_ov15_02189934 data_ov15_02189934: ; 0x02189934 .word _ZN5Actor8vfunc_80Ev .global data_ov15_02189938 data_ov15_02189938: ; 0x02189938 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218993c data_ov15_0218993c: ; 0x0218993c .word _ZN5Actor8vfunc_88Ev .global data_ov15_02189940 data_ov15_02189940: ; 0x02189940 .word _ZN5Actor8vfunc_8cEv .global data_ov15_02189944 data_ov15_02189944: ; 0x02189944 .word _ZN5Actor8vfunc_90Ev .global data_ov15_02189948 data_ov15_02189948: ; 0x02189948 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218994c data_ov15_0218994c: ; 0x0218994c .word _ZN5Actor8vfunc_98Ev .global data_ov15_02189950 data_ov15_02189950: ; 0x02189950 .word _ZN5Actor8vfunc_9cEv .global data_ov15_02189954 data_ov15_02189954: ; 0x02189954 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_02189958 data_ov15_02189958: ; 0x02189958 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218995c data_ov15_0218995c: ; 0x0218995c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_02189960 data_ov15_02189960: ; 0x02189960 .word _ZN5Actor8vfunc_acEv .global data_ov15_02189964 data_ov15_02189964: ; 0x02189964 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_02189968 data_ov15_02189968: ; 0x02189968 .word func_ov15_021255d8 .global data_ov15_0218996c data_ov15_0218996c: ; 0x0218996c .word func_ov15_02125a0c .global data_ov15_02189970 data_ov15_02189970: ; 0x02189970 .word func_ov15_02123770 .global data_ov15_02189974 data_ov15_02189974: ; 0x02189974 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189978 data_ov15_02189978: ; 0x02189978 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218997c data_ov15_0218997c: ; 0x0218997c .word func_ov00_020c5d34 .global data_ov15_02189980 data_ov15_02189980: ; 0x02189980 .word func_ov15_02125384 .global data_ov15_02189984 data_ov15_02189984: ; 0x02189984 .word func_ov00_020c5e58 .global data_ov15_02189988 data_ov15_02189988: ; 0x02189988 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218998c data_ov15_0218998c: ; 0x0218998c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189990 data_ov15_02189990: ; 0x02189990 .word func_ov15_0212619c .global data_ov15_02189994 data_ov15_02189994: ; 0x02189994 .word func_ov15_021261e4 .global data_ov15_02189998 data_ov15_02189998: ; 0x02189998 .word func_ov15_0212627c .global data_ov15_0218999c data_ov15_0218999c: ; 0x0218999c .word func_ov15_021262d8 .global data_ov15_021899a0 data_ov15_021899a0: ; 0x021899a0 .word func_ov00_0208b694 .global data_ov15_021899a4 data_ov15_021899a4: ; 0x021899a4 .word func_ov00_0208b698 .global data_ov15_021899a8 data_ov15_021899a8: ; 0x021899a8 .word func_ov00_0208b6b8 .global data_ov15_021899ac data_ov15_021899ac: ; 0x021899ac .word func_ov15_02126360 .global data_ov15_021899b0 data_ov15_021899b0: ; 0x021899b0 .word func_ov00_0208b6bc .global data_ov15_021899b4 data_ov15_021899b4: ; 0x021899b4 .word func_ov00_0208b6c4 .global data_ov15_021899b8 data_ov15_021899b8: ; 0x021899b8 .word func_ov00_0208b6c8 .global data_ov15_021899bc data_ov15_021899bc: ; 0x021899bc .word func_ov00_0208b6d0 .global data_ov15_021899c0 data_ov15_021899c0: ; 0x021899c0 .word func_ov00_0208b6d8 .global data_ov15_021899c4 data_ov15_021899c4: ; 0x021899c4 .word func_ov00_0208b6e0 .global data_ov15_021899c8 data_ov15_021899c8: ; 0x021899c8 .word func_ov00_0208b6e8 .global data_ov15_021899cc data_ov15_021899cc: ; 0x021899cc .word func_ov00_0208b6f0 .global data_ov15_021899d0 data_ov15_021899d0: ; 0x021899d0 .word func_ov00_0208b6f8 .global data_ov15_021899d4 data_ov15_021899d4: ; 0x021899d4 .word func_ov00_0208b700 .global data_ov15_021899d8 data_ov15_021899d8: ; 0x021899d8 .word func_ov00_0208b704 .global data_ov15_021899dc data_ov15_021899dc: ; 0x021899dc .word func_ov00_0208b70c .global data_ov15_021899e0 data_ov15_021899e0: ; 0x021899e0 .word func_ov00_0208b710 .global data_ov15_021899e4 data_ov15_021899e4: ; 0x021899e4 .word func_ov00_0208b714 .global data_ov15_021899e8 data_ov15_021899e8: ; 0x021899e8 .word func_ov15_02126370 .global data_ov15_021899ec data_ov15_021899ec: ; 0x021899ec .word func_ov00_0208b844 .global data_ov15_021899f0 data_ov15_021899f0: ; 0x021899f0 .word func_ov00_0208b870 .global data_ov15_021899f4 data_ov15_021899f4: ; 0x021899f4 .word func_ov00_0208b89c .global data_ov15_021899f8 data_ov15_021899f8: ; 0x021899f8 .word func_ov00_0208ba30 .global data_ov15_021899fc data_ov15_021899fc: ; 0x021899fc .word func_ov00_0208ba38 .global data_ov15_02189a00 data_ov15_02189a00: ; 0x02189a00 .word func_ov00_0208ba40 .global data_ov15_02189a04 data_ov15_02189a04: ; 0x02189a04 .word func_ov15_02126368 .global data_ov15_02189a08 data_ov15_02189a08: ; 0x02189a08 .word func_ov00_0208ba50 .global data_ov15_02189a0c data_ov15_02189a0c: ; 0x02189a0c .word func_ov15_0212632c .global data_ov15_02189a10 data_ov15_02189a10: ; 0x02189a10 .word func_ov00_0208c384 .global data_ov15_02189a14 data_ov15_02189a14: ; 0x02189a14 .word func_ov00_0208c38c .global data_ov15_02189a18 data_ov15_02189a18: ; 0x02189a18 .word func_ov15_02126378 .global data_ov15_02189a1c data_ov15_02189a1c: ; 0x02189a1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189a20 data_ov15_02189a20: ; 0x02189a20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189a24 data_ov15_02189a24: ; 0x02189a24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189a28 data_ov15_02189a28: ; 0x02189a28 .word func_ov15_02126458 .global data_ov15_02189a2c data_ov15_02189a2c: ; 0x02189a2c .word func_ov15_02126478 .global data_ov15_02189a30 data_ov15_02189a30: ; 0x02189a30 .word func_ov15_021264b0 .global data_ov15_02189a34 data_ov15_02189a34: ; 0x02189a34 .word func_ov15_021265f8 .global data_ov15_02189a38 data_ov15_02189a38: ; 0x02189a38 .word func_ov00_0208b694 .global data_ov15_02189a3c data_ov15_02189a3c: ; 0x02189a3c .word func_ov00_0208b698 .global data_ov15_02189a40 data_ov15_02189a40: ; 0x02189a40 .word func_ov15_021265c8 .global data_ov15_02189a44 data_ov15_02189a44: ; 0x02189a44 .word func_ov15_021264a0 .global data_ov15_02189a48 data_ov15_02189a48: ; 0x02189a48 .word func_ov00_0208b6bc .global data_ov15_02189a4c data_ov15_02189a4c: ; 0x02189a4c .word func_ov00_0208b6c4 .global data_ov15_02189a50 data_ov15_02189a50: ; 0x02189a50 .word func_ov00_0208b6c8 .global data_ov15_02189a54 data_ov15_02189a54: ; 0x02189a54 .word func_ov00_0208b6d0 .global data_ov15_02189a58 data_ov15_02189a58: ; 0x02189a58 .word func_ov00_0208b6d8 .global data_ov15_02189a5c data_ov15_02189a5c: ; 0x02189a5c .word func_ov00_0208b6e0 .global data_ov15_02189a60 data_ov15_02189a60: ; 0x02189a60 .word func_ov00_0208b6e8 .global data_ov15_02189a64 data_ov15_02189a64: ; 0x02189a64 .word func_ov00_0208b6f0 .global data_ov15_02189a68 data_ov15_02189a68: ; 0x02189a68 .word func_ov00_0208b6f8 .global data_ov15_02189a6c data_ov15_02189a6c: ; 0x02189a6c .word func_ov00_0208b700 .global data_ov15_02189a70 data_ov15_02189a70: ; 0x02189a70 .word func_ov00_0208b704 .global data_ov15_02189a74 data_ov15_02189a74: ; 0x02189a74 .word func_ov00_0208b70c .global data_ov15_02189a78 data_ov15_02189a78: ; 0x02189a78 .word func_ov00_0208b710 .global data_ov15_02189a7c data_ov15_02189a7c: ; 0x02189a7c .word func_ov00_0208b714 .global data_ov15_02189a80 data_ov15_02189a80: ; 0x02189a80 .word func_ov15_02126370 .global data_ov15_02189a84 data_ov15_02189a84: ; 0x02189a84 .word func_ov00_0208b844 .global data_ov15_02189a88 data_ov15_02189a88: ; 0x02189a88 .word func_ov00_0208b870 .global data_ov15_02189a8c data_ov15_02189a8c: ; 0x02189a8c .word func_ov00_0208b89c .global data_ov15_02189a90 data_ov15_02189a90: ; 0x02189a90 .word func_ov00_0208ba30 .global data_ov15_02189a94 data_ov15_02189a94: ; 0x02189a94 .word func_ov00_0208ba38 .global data_ov15_02189a98 data_ov15_02189a98: ; 0x02189a98 .word func_ov00_0208ba40 .global data_ov15_02189a9c data_ov15_02189a9c: ; 0x02189a9c .word func_ov15_02126368 .global data_ov15_02189aa0 data_ov15_02189aa0: ; 0x02189aa0 .word func_ov00_0208ba50 .global data_ov15_02189aa4 data_ov15_02189aa4: ; 0x02189aa4 .word func_ov15_0212632c .global data_ov15_02189aa8 data_ov15_02189aa8: ; 0x02189aa8 .word func_ov00_0208c384 .global data_ov15_02189aac data_ov15_02189aac: ; 0x02189aac .word func_ov00_0208c38c .global data_ov15_02189ab0 data_ov15_02189ab0: ; 0x02189ab0 .word func_ov15_02126378 .global data_ov15_02189ab4 data_ov15_02189ab4: ; 0x02189ab4 .word func_ov15_021264a8 .global data_ov15_02189ab8 data_ov15_02189ab8: ; 0x02189ab8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189abc data_ov15_02189abc: ; 0x02189abc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189ac0 data_ov15_02189ac0: ; 0x02189ac0 .word func_ov00_020a9acc .global data_ov15_02189ac4 data_ov15_02189ac4: ; 0x02189ac4 .word func_ov00_020a9ad8 .global data_ov15_02189ac8 data_ov15_02189ac8: ; 0x02189ac8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189acc data_ov15_02189acc: ; 0x02189acc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189ad0 data_ov15_02189ad0: ; 0x02189ad0 .word func_ov15_02126774 .global data_ov15_02189ad4 data_ov15_02189ad4: ; 0x02189ad4 .word func_ov15_021267bc .global data_ov15_02189ad8 data_ov15_02189ad8: ; 0x02189ad8 .word func_ov15_0212681c .global data_ov15_02189adc data_ov15_02189adc: ; 0x02189adc .word func_ov15_021268b0 .global data_ov15_02189ae0 data_ov15_02189ae0: ; 0x02189ae0 .word func_ov00_0208b694 .global data_ov15_02189ae4 data_ov15_02189ae4: ; 0x02189ae4 .word func_ov00_0208b698 .global data_ov15_02189ae8 data_ov15_02189ae8: ; 0x02189ae8 .word func_ov00_0208b6b8 .global data_ov15_02189aec data_ov15_02189aec: ; 0x02189aec .word func_ov15_0212680c .global data_ov15_02189af0 data_ov15_02189af0: ; 0x02189af0 .word func_ov00_0208b6bc .global data_ov15_02189af4 data_ov15_02189af4: ; 0x02189af4 .word func_ov00_0208b6c4 .global data_ov15_02189af8 data_ov15_02189af8: ; 0x02189af8 .word func_ov00_0208b6c8 .global data_ov15_02189afc data_ov15_02189afc: ; 0x02189afc .word func_ov00_0208b6d0 .global data_ov15_02189b00 data_ov15_02189b00: ; 0x02189b00 .word func_ov00_0208b6d8 .global data_ov15_02189b04 data_ov15_02189b04: ; 0x02189b04 .word func_ov00_0208b6e0 .global data_ov15_02189b08 data_ov15_02189b08: ; 0x02189b08 .word func_ov00_0208b6e8 .global data_ov15_02189b0c data_ov15_02189b0c: ; 0x02189b0c .word func_ov00_0208b6f0 .global data_ov15_02189b10 data_ov15_02189b10: ; 0x02189b10 .word func_ov00_0208b6f8 .global data_ov15_02189b14 data_ov15_02189b14: ; 0x02189b14 .word func_ov00_0208b700 .global data_ov15_02189b18 data_ov15_02189b18: ; 0x02189b18 .word func_ov00_0208b704 .global data_ov15_02189b1c data_ov15_02189b1c: ; 0x02189b1c .word func_ov00_0208b70c .global data_ov15_02189b20 data_ov15_02189b20: ; 0x02189b20 .word func_ov00_0208b710 .global data_ov15_02189b24 data_ov15_02189b24: ; 0x02189b24 .word func_ov00_0208b714 .global data_ov15_02189b28 data_ov15_02189b28: ; 0x02189b28 .word func_ov15_02126370 .global data_ov15_02189b2c data_ov15_02189b2c: ; 0x02189b2c .word func_ov00_0208b844 .global data_ov15_02189b30 data_ov15_02189b30: ; 0x02189b30 .word func_ov00_0208b870 .global data_ov15_02189b34 data_ov15_02189b34: ; 0x02189b34 .word func_ov00_0208b89c .global data_ov15_02189b38 data_ov15_02189b38: ; 0x02189b38 .word func_ov00_0208ba30 .global data_ov15_02189b3c data_ov15_02189b3c: ; 0x02189b3c .word func_ov00_0208ba38 .global data_ov15_02189b40 data_ov15_02189b40: ; 0x02189b40 .word func_ov00_0208ba40 .global data_ov15_02189b44 data_ov15_02189b44: ; 0x02189b44 .word func_ov15_02126368 .global data_ov15_02189b48 data_ov15_02189b48: ; 0x02189b48 .word func_ov00_0208ba50 .global data_ov15_02189b4c data_ov15_02189b4c: ; 0x02189b4c .word func_ov15_0212632c .global data_ov15_02189b50 data_ov15_02189b50: ; 0x02189b50 .word func_ov00_0208c384 .global data_ov15_02189b54 data_ov15_02189b54: ; 0x02189b54 .word func_ov00_0208c38c .global data_ov15_02189b58 data_ov15_02189b58: ; 0x02189b58 .word func_ov15_02126378 .global data_ov15_02189b5c data_ov15_02189b5c: ; 0x02189b5c .word func_ov15_02126814 .global data_ov15_02189b60 data_ov15_02189b60: ; 0x02189b60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189b64 data_ov15_02189b64: ; 0x02189b64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189b68 data_ov15_02189b68: ; 0x02189b68 .word func_ov15_02126988 .global data_ov15_02189b6c data_ov15_02189b6c: ; 0x02189b6c .word func_ov15_021269d0 .global data_ov15_02189b70 data_ov15_02189b70: ; 0x02189b70 .word func_ov15_02126a30 .global data_ov15_02189b74 data_ov15_02189b74: ; 0x02189b74 .word func_ov15_02126adc .global data_ov15_02189b78 data_ov15_02189b78: ; 0x02189b78 .word func_ov00_0208b694 .global data_ov15_02189b7c data_ov15_02189b7c: ; 0x02189b7c .word func_ov00_0208b698 .global data_ov15_02189b80 data_ov15_02189b80: ; 0x02189b80 .word func_ov00_0208b6b8 .global data_ov15_02189b84 data_ov15_02189b84: ; 0x02189b84 .word func_ov15_02126a20 .global data_ov15_02189b88 data_ov15_02189b88: ; 0x02189b88 .word func_ov00_0208b6bc .global data_ov15_02189b8c data_ov15_02189b8c: ; 0x02189b8c .word func_ov00_0208b6c4 .global data_ov15_02189b90 data_ov15_02189b90: ; 0x02189b90 .word func_ov00_0208b6c8 .global data_ov15_02189b94 data_ov15_02189b94: ; 0x02189b94 .word func_ov00_0208b6d0 .global data_ov15_02189b98 data_ov15_02189b98: ; 0x02189b98 .word func_ov00_0208b6d8 .global data_ov15_02189b9c data_ov15_02189b9c: ; 0x02189b9c .word func_ov00_0208b6e0 .global data_ov15_02189ba0 data_ov15_02189ba0: ; 0x02189ba0 .word func_ov00_0208b6e8 .global data_ov15_02189ba4 data_ov15_02189ba4: ; 0x02189ba4 .word func_ov00_0208b6f0 .global data_ov15_02189ba8 data_ov15_02189ba8: ; 0x02189ba8 .word func_ov00_0208b6f8 .global data_ov15_02189bac data_ov15_02189bac: ; 0x02189bac .word func_ov00_0208b700 .global data_ov15_02189bb0 data_ov15_02189bb0: ; 0x02189bb0 .word func_ov00_0208b704 .global data_ov15_02189bb4 data_ov15_02189bb4: ; 0x02189bb4 .word func_ov00_0208b70c .global data_ov15_02189bb8 data_ov15_02189bb8: ; 0x02189bb8 .word func_ov00_0208b710 .global data_ov15_02189bbc data_ov15_02189bbc: ; 0x02189bbc .word func_ov00_0208b714 .global data_ov15_02189bc0 data_ov15_02189bc0: ; 0x02189bc0 .word func_ov15_02126370 .global data_ov15_02189bc4 data_ov15_02189bc4: ; 0x02189bc4 .word func_ov00_0208b844 .global data_ov15_02189bc8 data_ov15_02189bc8: ; 0x02189bc8 .word func_ov00_0208b870 .global data_ov15_02189bcc data_ov15_02189bcc: ; 0x02189bcc .word func_ov00_0208b89c .global data_ov15_02189bd0 data_ov15_02189bd0: ; 0x02189bd0 .word func_ov00_0208ba30 .global data_ov15_02189bd4 data_ov15_02189bd4: ; 0x02189bd4 .word func_ov00_0208ba38 .global data_ov15_02189bd8 data_ov15_02189bd8: ; 0x02189bd8 .word func_ov00_0208ba40 .global data_ov15_02189bdc data_ov15_02189bdc: ; 0x02189bdc .word func_ov15_02126368 .global data_ov15_02189be0 data_ov15_02189be0: ; 0x02189be0 .word func_ov00_0208ba50 .global data_ov15_02189be4 data_ov15_02189be4: ; 0x02189be4 .word func_ov15_0212632c .global data_ov15_02189be8 data_ov15_02189be8: ; 0x02189be8 .word func_ov15_02126bc0 .global data_ov15_02189bec data_ov15_02189bec: ; 0x02189bec .word func_ov00_0208c38c .global data_ov15_02189bf0 data_ov15_02189bf0: ; 0x02189bf0 .word func_ov15_02126378 .global data_ov15_02189bf4 data_ov15_02189bf4: ; 0x02189bf4 .word func_ov15_02126a28 .global data_ov15_02189bf8 data_ov15_02189bf8: ; 0x02189bf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189bfc data_ov15_02189bfc: ; 0x02189bfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189c00 data_ov15_02189c00: ; 0x02189c00 .word func_ov15_02126d48 .global data_ov15_02189c04 data_ov15_02189c04: ; 0x02189c04 .word func_ov15_02126d68 .global data_ov15_02189c08 data_ov15_02189c08: ; 0x02189c08 .word func_ov15_02126da0 .global data_ov15_02189c0c data_ov15_02189c0c: ; 0x02189c0c .word func_ov15_02126e80 .global data_ov15_02189c10 data_ov15_02189c10: ; 0x02189c10 .word func_ov00_0208b694 .global data_ov15_02189c14 data_ov15_02189c14: ; 0x02189c14 .word func_ov00_0208b698 .global data_ov15_02189c18 data_ov15_02189c18: ; 0x02189c18 .word func_ov00_0208b6b8 .global data_ov15_02189c1c data_ov15_02189c1c: ; 0x02189c1c .word func_ov15_02126d90 .global data_ov15_02189c20 data_ov15_02189c20: ; 0x02189c20 .word func_ov00_0208b6bc .global data_ov15_02189c24 data_ov15_02189c24: ; 0x02189c24 .word func_ov00_0208b6c4 .global data_ov15_02189c28 data_ov15_02189c28: ; 0x02189c28 .word func_ov00_0208b6c8 .global data_ov15_02189c2c data_ov15_02189c2c: ; 0x02189c2c .word func_ov00_0208b6d0 .global data_ov15_02189c30 data_ov15_02189c30: ; 0x02189c30 .word func_ov00_0208b6d8 .global data_ov15_02189c34 data_ov15_02189c34: ; 0x02189c34 .word func_ov00_0208b6e0 .global data_ov15_02189c38 data_ov15_02189c38: ; 0x02189c38 .word func_ov00_0208b6e8 .global data_ov15_02189c3c data_ov15_02189c3c: ; 0x02189c3c .word func_ov00_0208b6f0 .global data_ov15_02189c40 data_ov15_02189c40: ; 0x02189c40 .word func_ov00_0208b6f8 .global data_ov15_02189c44 data_ov15_02189c44: ; 0x02189c44 .word func_ov00_0208b700 .global data_ov15_02189c48 data_ov15_02189c48: ; 0x02189c48 .word func_ov00_0208b704 .global data_ov15_02189c4c data_ov15_02189c4c: ; 0x02189c4c .word func_ov00_0208b70c .global data_ov15_02189c50 data_ov15_02189c50: ; 0x02189c50 .word func_ov00_0208b710 .global data_ov15_02189c54 data_ov15_02189c54: ; 0x02189c54 .word func_ov00_0208b714 .global data_ov15_02189c58 data_ov15_02189c58: ; 0x02189c58 .word func_ov15_02126370 .global data_ov15_02189c5c data_ov15_02189c5c: ; 0x02189c5c .word func_ov00_0208b844 .global data_ov15_02189c60 data_ov15_02189c60: ; 0x02189c60 .word func_ov00_0208b870 .global data_ov15_02189c64 data_ov15_02189c64: ; 0x02189c64 .word func_ov00_0208b89c .global data_ov15_02189c68 data_ov15_02189c68: ; 0x02189c68 .word func_ov00_0208ba30 .global data_ov15_02189c6c data_ov15_02189c6c: ; 0x02189c6c .word func_ov00_0208ba38 .global data_ov15_02189c70 data_ov15_02189c70: ; 0x02189c70 .word func_ov00_0208ba40 .global data_ov15_02189c74 data_ov15_02189c74: ; 0x02189c74 .word func_ov15_02126368 .global data_ov15_02189c78 data_ov15_02189c78: ; 0x02189c78 .word func_ov00_0208ba50 .global data_ov15_02189c7c data_ov15_02189c7c: ; 0x02189c7c .word func_ov15_0212632c .global data_ov15_02189c80 data_ov15_02189c80: ; 0x02189c80 .word func_ov00_0208c384 .global data_ov15_02189c84 data_ov15_02189c84: ; 0x02189c84 .word func_ov00_0208c38c .global data_ov15_02189c88 data_ov15_02189c88: ; 0x02189c88 .word func_ov15_02126378 .global data_ov15_02189c8c data_ov15_02189c8c: ; 0x02189c8c .word func_ov15_02126d98 .global data_ov15_02189c90 data_ov15_02189c90: ; 0x02189c90 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189c94 data_ov15_02189c94: ; 0x02189c94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189c98 data_ov15_02189c98: ; 0x02189c98 .word func_ov00_020a9acc .global data_ov15_02189c9c data_ov15_02189c9c: ; 0x02189c9c .word func_ov00_020a9ad8 .global data_ov15_02189ca0 data_ov15_02189ca0: ; 0x02189ca0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189ca4 data_ov15_02189ca4: ; 0x02189ca4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189ca8 data_ov15_02189ca8: ; 0x02189ca8 .word func_ov15_02126f84 .global data_ov15_02189cac data_ov15_02189cac: ; 0x02189cac .word func_ov15_02126fa8 .global data_ov15_02189cb0 data_ov15_02189cb0: ; 0x02189cb0 .word func_ov15_02126f00 .global data_ov15_02189cb4 data_ov15_02189cb4: ; 0x02189cb4 .word func_ov15_021262d8 .global data_ov15_02189cb8 data_ov15_02189cb8: ; 0x02189cb8 .word func_ov00_0208b694 .global data_ov15_02189cbc data_ov15_02189cbc: ; 0x02189cbc .word func_ov00_0208b698 .global data_ov15_02189cc0 data_ov15_02189cc0: ; 0x02189cc0 .word func_ov00_0208b6b8 .global data_ov15_02189cc4 data_ov15_02189cc4: ; 0x02189cc4 .word func_ov15_02126f98 .global data_ov15_02189cc8 data_ov15_02189cc8: ; 0x02189cc8 .word func_ov00_0208b6bc .global data_ov15_02189ccc data_ov15_02189ccc: ; 0x02189ccc .word func_ov00_0208b6c4 .global data_ov15_02189cd0 data_ov15_02189cd0: ; 0x02189cd0 .word func_ov00_0208b6c8 .global data_ov15_02189cd4 data_ov15_02189cd4: ; 0x02189cd4 .word func_ov00_0208b6d0 .global data_ov15_02189cd8 data_ov15_02189cd8: ; 0x02189cd8 .word func_ov00_0208b6d8 .global data_ov15_02189cdc data_ov15_02189cdc: ; 0x02189cdc .word func_ov00_0208b6e0 .global data_ov15_02189ce0 data_ov15_02189ce0: ; 0x02189ce0 .word func_ov00_0208b6e8 .global data_ov15_02189ce4 data_ov15_02189ce4: ; 0x02189ce4 .word func_ov00_0208b6f0 .global data_ov15_02189ce8 data_ov15_02189ce8: ; 0x02189ce8 .word func_ov00_0208b6f8 .global data_ov15_02189cec data_ov15_02189cec: ; 0x02189cec .word func_ov00_0208b700 .global data_ov15_02189cf0 data_ov15_02189cf0: ; 0x02189cf0 .word func_ov00_0208b704 .global data_ov15_02189cf4 data_ov15_02189cf4: ; 0x02189cf4 .word func_ov00_0208b70c .global data_ov15_02189cf8 data_ov15_02189cf8: ; 0x02189cf8 .word func_ov00_0208b710 .global data_ov15_02189cfc data_ov15_02189cfc: ; 0x02189cfc .word func_ov00_0208b714 .global data_ov15_02189d00 data_ov15_02189d00: ; 0x02189d00 .word func_ov15_02126370 .global data_ov15_02189d04 data_ov15_02189d04: ; 0x02189d04 .word func_ov00_0208b844 .global data_ov15_02189d08 data_ov15_02189d08: ; 0x02189d08 .word func_ov00_0208b870 .global data_ov15_02189d0c data_ov15_02189d0c: ; 0x02189d0c .word func_ov00_0208b89c .global data_ov15_02189d10 data_ov15_02189d10: ; 0x02189d10 .word func_ov00_0208ba30 .global data_ov15_02189d14 data_ov15_02189d14: ; 0x02189d14 .word func_ov00_0208ba38 .global data_ov15_02189d18 data_ov15_02189d18: ; 0x02189d18 .word func_ov00_0208ba40 .global data_ov15_02189d1c data_ov15_02189d1c: ; 0x02189d1c .word func_ov15_02126368 .global data_ov15_02189d20 data_ov15_02189d20: ; 0x02189d20 .word func_ov00_0208ba50 .global data_ov15_02189d24 data_ov15_02189d24: ; 0x02189d24 .word func_ov15_0212632c .global data_ov15_02189d28 data_ov15_02189d28: ; 0x02189d28 .word func_ov00_0208c384 .global data_ov15_02189d2c data_ov15_02189d2c: ; 0x02189d2c .word func_ov00_0208c38c .global data_ov15_02189d30 data_ov15_02189d30: ; 0x02189d30 .word func_ov15_02126378 .global data_ov15_02189d34 data_ov15_02189d34: ; 0x02189d34 .word func_ov15_02126fa0 .global data_ov15_02189d38 data_ov15_02189d38: ; 0x02189d38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189d3c data_ov15_02189d3c: ; 0x02189d3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189d40 data_ov15_02189d40: ; 0x02189d40 .word func_ov15_02127090 .global data_ov15_02189d44 data_ov15_02189d44: ; 0x02189d44 .word func_ov15_021270b4 .global data_ov15_02189d48 data_ov15_02189d48: ; 0x02189d48 .word func_ov15_0212700c .global data_ov15_02189d4c data_ov15_02189d4c: ; 0x02189d4c .word func_ov15_021262d8 .global data_ov15_02189d50 data_ov15_02189d50: ; 0x02189d50 .word func_ov00_0208b694 .global data_ov15_02189d54 data_ov15_02189d54: ; 0x02189d54 .word func_ov00_0208b698 .global data_ov15_02189d58 data_ov15_02189d58: ; 0x02189d58 .word func_ov00_0208b6b8 .global data_ov15_02189d5c data_ov15_02189d5c: ; 0x02189d5c .word func_ov15_021270a4 .global data_ov15_02189d60 data_ov15_02189d60: ; 0x02189d60 .word func_ov00_0208b6bc .global data_ov15_02189d64 data_ov15_02189d64: ; 0x02189d64 .word func_ov00_0208b6c4 .global data_ov15_02189d68 data_ov15_02189d68: ; 0x02189d68 .word func_ov00_0208b6c8 .global data_ov15_02189d6c data_ov15_02189d6c: ; 0x02189d6c .word func_ov00_0208b6d0 .global data_ov15_02189d70 data_ov15_02189d70: ; 0x02189d70 .word func_ov00_0208b6d8 .global data_ov15_02189d74 data_ov15_02189d74: ; 0x02189d74 .word func_ov00_0208b6e0 .global data_ov15_02189d78 data_ov15_02189d78: ; 0x02189d78 .word func_ov00_0208b6e8 .global data_ov15_02189d7c data_ov15_02189d7c: ; 0x02189d7c .word func_ov00_0208b6f0 .global data_ov15_02189d80 data_ov15_02189d80: ; 0x02189d80 .word func_ov00_0208b6f8 .global data_ov15_02189d84 data_ov15_02189d84: ; 0x02189d84 .word func_ov00_0208b700 .global data_ov15_02189d88 data_ov15_02189d88: ; 0x02189d88 .word func_ov00_0208b704 .global data_ov15_02189d8c data_ov15_02189d8c: ; 0x02189d8c .word func_ov00_0208b70c .global data_ov15_02189d90 data_ov15_02189d90: ; 0x02189d90 .word func_ov00_0208b710 .global data_ov15_02189d94 data_ov15_02189d94: ; 0x02189d94 .word func_ov00_0208b714 .global data_ov15_02189d98 data_ov15_02189d98: ; 0x02189d98 .word func_ov15_02126370 .global data_ov15_02189d9c data_ov15_02189d9c: ; 0x02189d9c .word func_ov00_0208b844 .global data_ov15_02189da0 data_ov15_02189da0: ; 0x02189da0 .word func_ov00_0208b870 .global data_ov15_02189da4 data_ov15_02189da4: ; 0x02189da4 .word func_ov00_0208b89c .global data_ov15_02189da8 data_ov15_02189da8: ; 0x02189da8 .word func_ov00_0208ba30 .global data_ov15_02189dac data_ov15_02189dac: ; 0x02189dac .word func_ov00_0208ba38 .global data_ov15_02189db0 data_ov15_02189db0: ; 0x02189db0 .word func_ov00_0208ba40 .global data_ov15_02189db4 data_ov15_02189db4: ; 0x02189db4 .word func_ov15_02126368 .global data_ov15_02189db8 data_ov15_02189db8: ; 0x02189db8 .word func_ov00_0208ba50 .global data_ov15_02189dbc data_ov15_02189dbc: ; 0x02189dbc .word func_ov15_0212632c .global data_ov15_02189dc0 data_ov15_02189dc0: ; 0x02189dc0 .word func_ov00_0208c384 .global data_ov15_02189dc4 data_ov15_02189dc4: ; 0x02189dc4 .word func_ov00_0208c38c .global data_ov15_02189dc8 data_ov15_02189dc8: ; 0x02189dc8 .word func_ov15_02126378 .global data_ov15_02189dcc data_ov15_02189dcc: ; 0x02189dcc .word func_ov15_021270ac .global data_ov15_02189dd0 data_ov15_02189dd0: ; 0x02189dd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189dd4 data_ov15_02189dd4: ; 0x02189dd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189dd8 data_ov15_02189dd8: ; 0x02189dd8 .word func_ov15_02127140 .global data_ov15_02189ddc data_ov15_02189ddc: ; 0x02189ddc .word func_ov15_02127188 .global data_ov15_02189de0 data_ov15_02189de0: ; 0x02189de0 .word func_ov15_021271d8 .global data_ov15_02189de4 data_ov15_02189de4: ; 0x02189de4 .word func_ov15_02127284 .global data_ov15_02189de8 data_ov15_02189de8: ; 0x02189de8 .word func_ov00_0208b694 .global data_ov15_02189dec data_ov15_02189dec: ; 0x02189dec .word func_ov00_0208b698 .global data_ov15_02189df0 data_ov15_02189df0: ; 0x02189df0 .word func_ov00_0208b6b8 .global data_ov15_02189df4 data_ov15_02189df4: ; 0x02189df4 .word func_ov15_021273bc .global data_ov15_02189df8 data_ov15_02189df8: ; 0x02189df8 .word func_ov00_0208b6bc .global data_ov15_02189dfc data_ov15_02189dfc: ; 0x02189dfc .word func_ov00_0208b6c4 .global data_ov15_02189e00 data_ov15_02189e00: ; 0x02189e00 .word func_ov00_0208b6c8 .global data_ov15_02189e04 data_ov15_02189e04: ; 0x02189e04 .word func_ov00_0208b6d0 .global data_ov15_02189e08 data_ov15_02189e08: ; 0x02189e08 .word func_ov00_0208b6d8 .global data_ov15_02189e0c data_ov15_02189e0c: ; 0x02189e0c .word func_ov00_0208b6e0 .global data_ov15_02189e10 data_ov15_02189e10: ; 0x02189e10 .word func_ov00_0208b6e8 .global data_ov15_02189e14 data_ov15_02189e14: ; 0x02189e14 .word func_ov00_0208b6f0 .global data_ov15_02189e18 data_ov15_02189e18: ; 0x02189e18 .word func_ov00_0208b6f8 .global data_ov15_02189e1c data_ov15_02189e1c: ; 0x02189e1c .word func_ov00_0208b700 .global data_ov15_02189e20 data_ov15_02189e20: ; 0x02189e20 .word func_ov00_0208b704 .global data_ov15_02189e24 data_ov15_02189e24: ; 0x02189e24 .word func_ov00_0208b70c .global data_ov15_02189e28 data_ov15_02189e28: ; 0x02189e28 .word func_ov00_0208b710 .global data_ov15_02189e2c data_ov15_02189e2c: ; 0x02189e2c .word func_ov00_0208b714 .global data_ov15_02189e30 data_ov15_02189e30: ; 0x02189e30 .word func_ov15_02126370 .global data_ov15_02189e34 data_ov15_02189e34: ; 0x02189e34 .word func_ov00_0208b844 .global data_ov15_02189e38 data_ov15_02189e38: ; 0x02189e38 .word func_ov00_0208b870 .global data_ov15_02189e3c data_ov15_02189e3c: ; 0x02189e3c .word func_ov00_0208b89c .global data_ov15_02189e40 data_ov15_02189e40: ; 0x02189e40 .word func_ov00_0208ba30 .global data_ov15_02189e44 data_ov15_02189e44: ; 0x02189e44 .word func_ov00_0208ba38 .global data_ov15_02189e48 data_ov15_02189e48: ; 0x02189e48 .word func_ov00_0208ba40 .global data_ov15_02189e4c data_ov15_02189e4c: ; 0x02189e4c .word func_ov15_02126368 .global data_ov15_02189e50 data_ov15_02189e50: ; 0x02189e50 .word func_ov00_0208ba50 .global data_ov15_02189e54 data_ov15_02189e54: ; 0x02189e54 .word func_ov15_0212632c .global data_ov15_02189e58 data_ov15_02189e58: ; 0x02189e58 .word func_ov15_02127368 .global data_ov15_02189e5c data_ov15_02189e5c: ; 0x02189e5c .word func_ov00_0208c38c .global data_ov15_02189e60 data_ov15_02189e60: ; 0x02189e60 .word func_ov15_02126378 .global data_ov15_02189e64 data_ov15_02189e64: ; 0x02189e64 .word func_ov15_021273c4 .global data_ov15_02189e68 data_ov15_02189e68: ; 0x02189e68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189e6c data_ov15_02189e6c: ; 0x02189e6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189e70 data_ov15_02189e70: ; 0x02189e70 .word func_ov15_021274f8 .global data_ov15_02189e74 data_ov15_02189e74: ; 0x02189e74 .word func_ov15_02127540 .global data_ov15_02189e78 data_ov15_02189e78: ; 0x02189e78 .word func_ov15_021275a0 .global data_ov15_02189e7c data_ov15_02189e7c: ; 0x02189e7c .word func_ov15_02127634 .global data_ov15_02189e80 data_ov15_02189e80: ; 0x02189e80 .word func_ov00_0208b694 .global data_ov15_02189e84 data_ov15_02189e84: ; 0x02189e84 .word func_ov00_0208b698 .global data_ov15_02189e88 data_ov15_02189e88: ; 0x02189e88 .word func_ov00_0208b6b8 .global data_ov15_02189e8c data_ov15_02189e8c: ; 0x02189e8c .word func_ov15_02127590 .global data_ov15_02189e90 data_ov15_02189e90: ; 0x02189e90 .word func_ov00_0208b6bc .global data_ov15_02189e94 data_ov15_02189e94: ; 0x02189e94 .word func_ov00_0208b6c4 .global data_ov15_02189e98 data_ov15_02189e98: ; 0x02189e98 .word func_ov00_0208b6c8 .global data_ov15_02189e9c data_ov15_02189e9c: ; 0x02189e9c .word func_ov00_0208b6d0 .global data_ov15_02189ea0 data_ov15_02189ea0: ; 0x02189ea0 .word func_ov00_0208b6d8 .global data_ov15_02189ea4 data_ov15_02189ea4: ; 0x02189ea4 .word func_ov00_0208b6e0 .global data_ov15_02189ea8 data_ov15_02189ea8: ; 0x02189ea8 .word func_ov00_0208b6e8 .global data_ov15_02189eac data_ov15_02189eac: ; 0x02189eac .word func_ov00_0208b6f0 .global data_ov15_02189eb0 data_ov15_02189eb0: ; 0x02189eb0 .word func_ov00_0208b6f8 .global data_ov15_02189eb4 data_ov15_02189eb4: ; 0x02189eb4 .word func_ov00_0208b700 .global data_ov15_02189eb8 data_ov15_02189eb8: ; 0x02189eb8 .word func_ov00_0208b704 .global data_ov15_02189ebc data_ov15_02189ebc: ; 0x02189ebc .word func_ov00_0208b70c .global data_ov15_02189ec0 data_ov15_02189ec0: ; 0x02189ec0 .word func_ov00_0208b710 .global data_ov15_02189ec4 data_ov15_02189ec4: ; 0x02189ec4 .word func_ov00_0208b714 .global data_ov15_02189ec8 data_ov15_02189ec8: ; 0x02189ec8 .word func_ov15_02126370 .global data_ov15_02189ecc data_ov15_02189ecc: ; 0x02189ecc .word func_ov00_0208b844 .global data_ov15_02189ed0 data_ov15_02189ed0: ; 0x02189ed0 .word func_ov00_0208b870 .global data_ov15_02189ed4 data_ov15_02189ed4: ; 0x02189ed4 .word func_ov00_0208b89c .global data_ov15_02189ed8 data_ov15_02189ed8: ; 0x02189ed8 .word func_ov00_0208ba30 .global data_ov15_02189edc data_ov15_02189edc: ; 0x02189edc .word func_ov00_0208ba38 .global data_ov15_02189ee0 data_ov15_02189ee0: ; 0x02189ee0 .word func_ov00_0208ba40 .global data_ov15_02189ee4 data_ov15_02189ee4: ; 0x02189ee4 .word func_ov15_02126368 .global data_ov15_02189ee8 data_ov15_02189ee8: ; 0x02189ee8 .word func_ov00_0208ba50 .global data_ov15_02189eec data_ov15_02189eec: ; 0x02189eec .word func_ov15_0212632c .global data_ov15_02189ef0 data_ov15_02189ef0: ; 0x02189ef0 .word func_ov00_0208c384 .global data_ov15_02189ef4 data_ov15_02189ef4: ; 0x02189ef4 .word func_ov00_0208c38c .global data_ov15_02189ef8 data_ov15_02189ef8: ; 0x02189ef8 .word func_ov15_02126378 .global data_ov15_02189efc data_ov15_02189efc: ; 0x02189efc .word func_ov15_02127598 .global data_ov15_02189f00 data_ov15_02189f00: ; 0x02189f00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189f04 data_ov15_02189f04: ; 0x02189f04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189f08 data_ov15_02189f08: ; 0x02189f08 .word func_ov15_02127760 .global data_ov15_02189f0c data_ov15_02189f0c: ; 0x02189f0c .word func_ov15_02127784 .global data_ov15_02189f10 data_ov15_02189f10: ; 0x02189f10 .word func_ov15_021276dc .global data_ov15_02189f14 data_ov15_02189f14: ; 0x02189f14 .word func_ov15_021262d8 .global data_ov15_02189f18 data_ov15_02189f18: ; 0x02189f18 .word func_ov00_0208b694 .global data_ov15_02189f1c data_ov15_02189f1c: ; 0x02189f1c .word func_ov00_0208b698 .global data_ov15_02189f20 data_ov15_02189f20: ; 0x02189f20 .word func_ov00_0208b6b8 .global data_ov15_02189f24 data_ov15_02189f24: ; 0x02189f24 .word func_ov15_02127774 .global data_ov15_02189f28 data_ov15_02189f28: ; 0x02189f28 .word func_ov00_0208b6bc .global data_ov15_02189f2c data_ov15_02189f2c: ; 0x02189f2c .word func_ov00_0208b6c4 .global data_ov15_02189f30 data_ov15_02189f30: ; 0x02189f30 .word func_ov00_0208b6c8 .global data_ov15_02189f34 data_ov15_02189f34: ; 0x02189f34 .word func_ov00_0208b6d0 .global data_ov15_02189f38 data_ov15_02189f38: ; 0x02189f38 .word func_ov00_0208b6d8 .global data_ov15_02189f3c data_ov15_02189f3c: ; 0x02189f3c .word func_ov00_0208b6e0 .global data_ov15_02189f40 data_ov15_02189f40: ; 0x02189f40 .word func_ov00_0208b6e8 .global data_ov15_02189f44 data_ov15_02189f44: ; 0x02189f44 .word func_ov00_0208b6f0 .global data_ov15_02189f48 data_ov15_02189f48: ; 0x02189f48 .word func_ov00_0208b6f8 .global data_ov15_02189f4c data_ov15_02189f4c: ; 0x02189f4c .word func_ov00_0208b700 .global data_ov15_02189f50 data_ov15_02189f50: ; 0x02189f50 .word func_ov00_0208b704 .global data_ov15_02189f54 data_ov15_02189f54: ; 0x02189f54 .word func_ov00_0208b70c .global data_ov15_02189f58 data_ov15_02189f58: ; 0x02189f58 .word func_ov00_0208b710 .global data_ov15_02189f5c data_ov15_02189f5c: ; 0x02189f5c .word func_ov00_0208b714 .global data_ov15_02189f60 data_ov15_02189f60: ; 0x02189f60 .word func_ov15_02126370 .global data_ov15_02189f64 data_ov15_02189f64: ; 0x02189f64 .word func_ov00_0208b844 .global data_ov15_02189f68 data_ov15_02189f68: ; 0x02189f68 .word func_ov00_0208b870 .global data_ov15_02189f6c data_ov15_02189f6c: ; 0x02189f6c .word func_ov00_0208b89c .global data_ov15_02189f70 data_ov15_02189f70: ; 0x02189f70 .word func_ov00_0208ba30 .global data_ov15_02189f74 data_ov15_02189f74: ; 0x02189f74 .word func_ov00_0208ba38 .global data_ov15_02189f78 data_ov15_02189f78: ; 0x02189f78 .word func_ov00_0208ba40 .global data_ov15_02189f7c data_ov15_02189f7c: ; 0x02189f7c .word func_ov15_02126368 .global data_ov15_02189f80 data_ov15_02189f80: ; 0x02189f80 .word func_ov00_0208ba50 .global data_ov15_02189f84 data_ov15_02189f84: ; 0x02189f84 .word func_ov15_0212632c .global data_ov15_02189f88 data_ov15_02189f88: ; 0x02189f88 .word func_ov00_0208c384 .global data_ov15_02189f8c data_ov15_02189f8c: ; 0x02189f8c .word func_ov00_0208c38c .global data_ov15_02189f90 data_ov15_02189f90: ; 0x02189f90 .word func_ov15_02126378 .global data_ov15_02189f94 data_ov15_02189f94: ; 0x02189f94 .word func_ov15_0212777c .global data_ov15_02189f98 data_ov15_02189f98: ; 0x02189f98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189f9c data_ov15_02189f9c: ; 0x02189f9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_02189fa0 data_ov15_02189fa0: ; 0x02189fa0 .word func_ov15_021277f8 .global data_ov15_02189fa4 data_ov15_02189fa4: ; 0x02189fa4 .word func_ov15_0212780c .global data_ov15_02189fa8 data_ov15_02189fa8: ; 0x02189fa8 .word func_ov15_02127838 .global data_ov15_02189fac data_ov15_02189fac: ; 0x02189fac .word func_ov15_021262d8 .global data_ov15_02189fb0 data_ov15_02189fb0: ; 0x02189fb0 .word func_ov00_0208b694 .global data_ov15_02189fb4 data_ov15_02189fb4: ; 0x02189fb4 .word func_ov00_0208b698 .global data_ov15_02189fb8 data_ov15_02189fb8: ; 0x02189fb8 .word func_ov00_0208b6b8 .global data_ov15_02189fbc data_ov15_02189fbc: ; 0x02189fbc .word func_ov15_02127828 .global data_ov15_02189fc0 data_ov15_02189fc0: ; 0x02189fc0 .word func_ov00_0208b6bc .global data_ov15_02189fc4 data_ov15_02189fc4: ; 0x02189fc4 .word func_ov00_0208b6c4 .global data_ov15_02189fc8 data_ov15_02189fc8: ; 0x02189fc8 .word func_ov00_0208b6c8 .global data_ov15_02189fcc data_ov15_02189fcc: ; 0x02189fcc .word func_ov00_0208b6d0 .global data_ov15_02189fd0 data_ov15_02189fd0: ; 0x02189fd0 .word func_ov00_0208b6d8 .global data_ov15_02189fd4 data_ov15_02189fd4: ; 0x02189fd4 .word func_ov00_0208b6e0 .global data_ov15_02189fd8 data_ov15_02189fd8: ; 0x02189fd8 .word func_ov00_0208b6e8 .global data_ov15_02189fdc data_ov15_02189fdc: ; 0x02189fdc .word func_ov00_0208b6f0 .global data_ov15_02189fe0 data_ov15_02189fe0: ; 0x02189fe0 .word func_ov00_0208b6f8 .global data_ov15_02189fe4 data_ov15_02189fe4: ; 0x02189fe4 .word func_ov00_0208b700 .global data_ov15_02189fe8 data_ov15_02189fe8: ; 0x02189fe8 .word func_ov00_0208b704 .global data_ov15_02189fec data_ov15_02189fec: ; 0x02189fec .word func_ov00_0208b70c .global data_ov15_02189ff0 data_ov15_02189ff0: ; 0x02189ff0 .word func_ov00_0208b710 .global data_ov15_02189ff4 data_ov15_02189ff4: ; 0x02189ff4 .word func_ov00_0208b714 .global data_ov15_02189ff8 data_ov15_02189ff8: ; 0x02189ff8 .word func_ov15_02126370 .global data_ov15_02189ffc data_ov15_02189ffc: ; 0x02189ffc .word func_ov00_0208b844 .global data_ov15_0218a000 data_ov15_0218a000: ; 0x0218a000 .word func_ov00_0208b870 .global data_ov15_0218a004 data_ov15_0218a004: ; 0x0218a004 .word func_ov00_0208b89c .global data_ov15_0218a008 data_ov15_0218a008: ; 0x0218a008 .word func_ov00_0208ba30 .global data_ov15_0218a00c data_ov15_0218a00c: ; 0x0218a00c .word func_ov00_0208ba38 .global data_ov15_0218a010 data_ov15_0218a010: ; 0x0218a010 .word func_ov00_0208ba40 .global data_ov15_0218a014 data_ov15_0218a014: ; 0x0218a014 .word func_ov15_02126368 .global data_ov15_0218a018 data_ov15_0218a018: ; 0x0218a018 .word func_ov00_0208ba50 .global data_ov15_0218a01c data_ov15_0218a01c: ; 0x0218a01c .word func_ov15_0212632c .global data_ov15_0218a020 data_ov15_0218a020: ; 0x0218a020 .word func_ov00_0208c384 .global data_ov15_0218a024 data_ov15_0218a024: ; 0x0218a024 .word func_ov00_0208c38c .global data_ov15_0218a028 data_ov15_0218a028: ; 0x0218a028 .word func_ov15_02126378 .global data_ov15_0218a02c data_ov15_0218a02c: ; 0x0218a02c .word func_ov15_02127830 .global data_ov15_0218a030 data_ov15_0218a030: ; 0x0218a030 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a034 data_ov15_0218a034: ; 0x0218a034 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a038 data_ov15_0218a038: ; 0x0218a038 .word func_ov15_0212799c .global data_ov15_0218a03c data_ov15_0218a03c: ; 0x0218a03c .word func_ov15_021279c4 .global data_ov15_0218a040 data_ov15_0218a040: ; 0x0218a040 .word func_ov15_021279f4 .global data_ov15_0218a044 data_ov15_0218a044: ; 0x0218a044 .word func_ov15_02127af0 .global data_ov15_0218a048 data_ov15_0218a048: ; 0x0218a048 .word func_ov00_0208b694 .global data_ov15_0218a04c data_ov15_0218a04c: ; 0x0218a04c .word func_ov00_0208b698 .global data_ov15_0218a050 data_ov15_0218a050: ; 0x0218a050 .word func_ov00_0208b6b8 .global data_ov15_0218a054 data_ov15_0218a054: ; 0x0218a054 .word func_ov15_02127b44 .global data_ov15_0218a058 data_ov15_0218a058: ; 0x0218a058 .word func_ov00_0208b6bc .global data_ov15_0218a05c data_ov15_0218a05c: ; 0x0218a05c .word func_ov00_0208b6c4 .global data_ov15_0218a060 data_ov15_0218a060: ; 0x0218a060 .word func_ov00_0208b6c8 .global data_ov15_0218a064 data_ov15_0218a064: ; 0x0218a064 .word func_ov00_0208b6d0 .global data_ov15_0218a068 data_ov15_0218a068: ; 0x0218a068 .word func_ov00_0208b6d8 .global data_ov15_0218a06c data_ov15_0218a06c: ; 0x0218a06c .word func_ov00_0208b6e0 .global data_ov15_0218a070 data_ov15_0218a070: ; 0x0218a070 .word func_ov00_0208b6e8 .global data_ov15_0218a074 data_ov15_0218a074: ; 0x0218a074 .word func_ov00_0208b6f0 .global data_ov15_0218a078 data_ov15_0218a078: ; 0x0218a078 .word func_ov00_0208b6f8 .global data_ov15_0218a07c data_ov15_0218a07c: ; 0x0218a07c .word func_ov00_0208b700 .global data_ov15_0218a080 data_ov15_0218a080: ; 0x0218a080 .word func_ov00_0208b704 .global data_ov15_0218a084 data_ov15_0218a084: ; 0x0218a084 .word func_ov00_0208b70c .global data_ov15_0218a088 data_ov15_0218a088: ; 0x0218a088 .word func_ov00_0208b710 .global data_ov15_0218a08c data_ov15_0218a08c: ; 0x0218a08c .word func_ov00_0208c9f8 .global data_ov15_0218a090 data_ov15_0218a090: ; 0x0218a090 .word func_ov00_0208b71c .global data_ov15_0218a094 data_ov15_0218a094: ; 0x0218a094 .word func_ov00_0208b844 .global data_ov15_0218a098 data_ov15_0218a098: ; 0x0218a098 .word func_ov00_0208b870 .global data_ov15_0218a09c data_ov15_0218a09c: ; 0x0218a09c .word func_ov00_0208b89c .global data_ov15_0218a0a0 data_ov15_0218a0a0: ; 0x0218a0a0 .word func_ov00_0208ba30 .global data_ov15_0218a0a4 data_ov15_0218a0a4: ; 0x0218a0a4 .word func_ov00_0208ba38 .global data_ov15_0218a0a8 data_ov15_0218a0a8: ; 0x0218a0a8 .word func_ov00_0208ba40 .global data_ov15_0218a0ac data_ov15_0218a0ac: ; 0x0218a0ac .word func_ov15_02127b4c .global data_ov15_0218a0b0 data_ov15_0218a0b0: ; 0x0218a0b0 .word func_ov00_0208ba50 .global data_ov15_0218a0b4 data_ov15_0218a0b4: ; 0x0218a0b4 .word func_ov15_02127b54 .global data_ov15_0218a0b8 data_ov15_0218a0b8: ; 0x0218a0b8 .word func_ov00_0208c384 .global data_ov15_0218a0bc data_ov15_0218a0bc: ; 0x0218a0bc .word func_ov00_0208c38c .global data_ov15_0218a0c0 data_ov15_0218a0c0: ; 0x0218a0c0 .word func_ov15_02127b88 .global data_ov15_0218a0c4 data_ov15_0218a0c4: ; 0x0218a0c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a0c8 data_ov15_0218a0c8: ; 0x0218a0c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a0cc data_ov15_0218a0cc: ; 0x0218a0cc .word func_ov15_02127ce4 .global data_ov15_0218a0d0 data_ov15_0218a0d0: ; 0x0218a0d0 .word func_ov15_02127d3c .global data_ov15_0218a0d4 data_ov15_0218a0d4: ; 0x0218a0d4 .word func_ov15_02127d9c .global data_ov15_0218a0d8 data_ov15_0218a0d8: ; 0x0218a0d8 .word func_ov15_02127ef8 .global data_ov15_0218a0dc data_ov15_0218a0dc: ; 0x0218a0dc .word func_ov00_0208b694 .global data_ov15_0218a0e0 data_ov15_0218a0e0: ; 0x0218a0e0 .word func_ov00_0208b698 .global data_ov15_0218a0e4 data_ov15_0218a0e4: ; 0x0218a0e4 .word func_ov00_0208b6b8 .global data_ov15_0218a0e8 data_ov15_0218a0e8: ; 0x0218a0e8 .word func_ov15_021281e0 .global data_ov15_0218a0ec data_ov15_0218a0ec: ; 0x0218a0ec .word func_ov00_0208b6bc .global data_ov15_0218a0f0 data_ov15_0218a0f0: ; 0x0218a0f0 .word func_ov00_0208b6c4 .global data_ov15_0218a0f4 data_ov15_0218a0f4: ; 0x0218a0f4 .word func_ov00_0208b6c8 .global data_ov15_0218a0f8 data_ov15_0218a0f8: ; 0x0218a0f8 .word func_ov00_0208b6d0 .global data_ov15_0218a0fc data_ov15_0218a0fc: ; 0x0218a0fc .word func_ov00_0208b6d8 .global data_ov15_0218a100 data_ov15_0218a100: ; 0x0218a100 .word func_ov00_0208b6e0 .global data_ov15_0218a104 data_ov15_0218a104: ; 0x0218a104 .word func_ov00_0208b6e8 .global data_ov15_0218a108 data_ov15_0218a108: ; 0x0218a108 .word func_ov00_0208b6f0 .global data_ov15_0218a10c data_ov15_0218a10c: ; 0x0218a10c .word func_ov00_0208b6f8 .global data_ov15_0218a110 data_ov15_0218a110: ; 0x0218a110 .word func_ov00_0208b700 .global data_ov15_0218a114 data_ov15_0218a114: ; 0x0218a114 .word func_ov15_021281f8 .global data_ov15_0218a118 data_ov15_0218a118: ; 0x0218a118 .word func_ov00_0208b70c .global data_ov15_0218a11c data_ov15_0218a11c: ; 0x0218a11c .word func_ov00_0208b710 .global data_ov15_0218a120 data_ov15_0218a120: ; 0x0218a120 .word func_ov00_0208c9f8 .global data_ov15_0218a124 data_ov15_0218a124: ; 0x0218a124 .word func_ov15_021281f0 .global data_ov15_0218a128 data_ov15_0218a128: ; 0x0218a128 .word func_ov00_0208b844 .global data_ov15_0218a12c data_ov15_0218a12c: ; 0x0218a12c .word func_ov00_0208b870 .global data_ov15_0218a130 data_ov15_0218a130: ; 0x0218a130 .word func_ov00_0208b89c .global data_ov15_0218a134 data_ov15_0218a134: ; 0x0218a134 .word func_ov00_0208ba30 .global data_ov15_0218a138 data_ov15_0218a138: ; 0x0218a138 .word func_ov00_0208ba38 .global data_ov15_0218a13c data_ov15_0218a13c: ; 0x0218a13c .word func_ov00_0208ba40 .global data_ov15_0218a140 data_ov15_0218a140: ; 0x0218a140 .word func_ov15_021281e8 .global data_ov15_0218a144 data_ov15_0218a144: ; 0x0218a144 .word func_ov00_0208ba50 .global data_ov15_0218a148 data_ov15_0218a148: ; 0x0218a148 .word func_ov15_02128294 .global data_ov15_0218a14c data_ov15_0218a14c: ; 0x0218a14c .word func_ov15_02127f4c .global data_ov15_0218a150 data_ov15_0218a150: ; 0x0218a150 .word func_ov00_0208c38c .global data_ov15_0218a154 data_ov15_0218a154: ; 0x0218a154 .word func_ov15_021282c8 .global data_ov15_0218a158 data_ov15_0218a158: ; 0x0218a158 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a15c data_ov15_0218a15c: ; 0x0218a15c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a160 data_ov15_0218a160: ; 0x0218a160 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a164 data_ov15_0218a164: ; 0x0218a164 .word func_ov00_02081f58 .global data_ov15_0218a168 data_ov15_0218a168: ; 0x0218a168 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a16c data_ov15_0218a16c: ; 0x0218a16c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a170 data_ov15_0218a170: ; 0x0218a170 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a174 data_ov15_0218a174: ; 0x0218a174 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a178 data_ov15_0218a178: ; 0x0218a178 .word func_ov15_02128450 .global data_ov15_0218a17c data_ov15_0218a17c: ; 0x0218a17c .word func_ov15_02128478 .global data_ov15_0218a180 data_ov15_0218a180: ; 0x0218a180 .word func_ov15_021284a8 .global data_ov15_0218a184 data_ov15_0218a184: ; 0x0218a184 .word func_ov15_02128670 .global data_ov15_0218a188 data_ov15_0218a188: ; 0x0218a188 .word func_ov00_0208b694 .global data_ov15_0218a18c data_ov15_0218a18c: ; 0x0218a18c .word func_ov00_0208b698 .global data_ov15_0218a190 data_ov15_0218a190: ; 0x0218a190 .word func_ov00_0208b6b8 .global data_ov15_0218a194 data_ov15_0218a194: ; 0x0218a194 .word func_ov15_02128b8c .global data_ov15_0218a198 data_ov15_0218a198: ; 0x0218a198 .word func_ov00_0208b6bc .global data_ov15_0218a19c data_ov15_0218a19c: ; 0x0218a19c .word func_ov00_0208b6c4 .global data_ov15_0218a1a0 data_ov15_0218a1a0: ; 0x0218a1a0 .word func_ov00_0208b6c8 .global data_ov15_0218a1a4 data_ov15_0218a1a4: ; 0x0218a1a4 .word func_ov00_0208b6d0 .global data_ov15_0218a1a8 data_ov15_0218a1a8: ; 0x0218a1a8 .word func_ov00_0208b6d8 .global data_ov15_0218a1ac data_ov15_0218a1ac: ; 0x0218a1ac .word func_ov00_0208b6e0 .global data_ov15_0218a1b0 data_ov15_0218a1b0: ; 0x0218a1b0 .word func_ov00_0208b6e8 .global data_ov15_0218a1b4 data_ov15_0218a1b4: ; 0x0218a1b4 .word func_ov00_0208b6f0 .global data_ov15_0218a1b8 data_ov15_0218a1b8: ; 0x0218a1b8 .word func_ov00_0208b6f8 .global data_ov15_0218a1bc data_ov15_0218a1bc: ; 0x0218a1bc .word func_ov00_0208b700 .global data_ov15_0218a1c0 data_ov15_0218a1c0: ; 0x0218a1c0 .word func_ov15_02128b9c .global data_ov15_0218a1c4 data_ov15_0218a1c4: ; 0x0218a1c4 .word func_ov00_0208b70c .global data_ov15_0218a1c8 data_ov15_0218a1c8: ; 0x0218a1c8 .word func_ov00_0208b710 .global data_ov15_0218a1cc data_ov15_0218a1cc: ; 0x0218a1cc .word func_ov00_0208c9f8 .global data_ov15_0218a1d0 data_ov15_0218a1d0: ; 0x0218a1d0 .word func_ov00_0208b71c .global data_ov15_0218a1d4 data_ov15_0218a1d4: ; 0x0218a1d4 .word func_ov00_0208b844 .global data_ov15_0218a1d8 data_ov15_0218a1d8: ; 0x0218a1d8 .word func_ov00_0208b870 .global data_ov15_0218a1dc data_ov15_0218a1dc: ; 0x0218a1dc .word func_ov00_0208b89c .global data_ov15_0218a1e0 data_ov15_0218a1e0: ; 0x0218a1e0 .word func_ov00_0208ba30 .global data_ov15_0218a1e4 data_ov15_0218a1e4: ; 0x0218a1e4 .word func_ov00_0208ba38 .global data_ov15_0218a1e8 data_ov15_0218a1e8: ; 0x0218a1e8 .word func_ov00_0208ba40 .global data_ov15_0218a1ec data_ov15_0218a1ec: ; 0x0218a1ec .word func_ov15_02128b94 .global data_ov15_0218a1f0 data_ov15_0218a1f0: ; 0x0218a1f0 .word func_ov00_0208ba50 .global data_ov15_0218a1f4 data_ov15_0218a1f4: ; 0x0218a1f4 .word func_ov15_02128c2c .global data_ov15_0218a1f8 data_ov15_0218a1f8: ; 0x0218a1f8 .word func_ov15_021288cc .global data_ov15_0218a1fc data_ov15_0218a1fc: ; 0x0218a1fc .word func_ov00_0208c38c .global data_ov15_0218a200 data_ov15_0218a200: ; 0x0218a200 .word func_ov15_02128d6c .global data_ov15_0218a204 data_ov15_0218a204: ; 0x0218a204 .ascii "brg" .byte 0x00 .global data_ov15_0218a208 data_ov15_0218a208: ; 0x0218a208 .ascii "fnl" .byte 0x00 .global data_ov15_0218a20c data_ov15_0218a20c: ; 0x0218a20c .ascii "pdl" .byte 0x00 .global data_ov15_0218a210 data_ov15_0218a210: ; 0x0218a210 .ascii "dco" .byte 0x00 .global data_ov15_0218a214 data_ov15_0218a214: ; 0x0218a214 .ascii "can" .byte 0x00 .global data_ov15_0218a218 data_ov15_0218a218: ; 0x0218a218 .ascii "hul" .byte 0x00 .global data_ov15_0218a21c data_ov15_0218a21c: ; 0x0218a21c .ascii "bow" .byte 0x00 .global data_ov15_0218a220 data_ov15_0218a220: ; 0x0218a220 .ascii "anc" .byte 0x00 .global data_ov15_0218a224 data_ov15_0218a224: ; 0x0218a224 .word data_ov15_0218a220 ; data_ov40_0218a220 .global data_ov15_0218a228 data_ov15_0218a228: ; 0x0218a228 .word data_ov15_0218a21c ; data_ov40_0218a21c, func_ov43_0218a21c .global data_ov15_0218a22c data_ov15_0218a22c: ; 0x0218a22c .word data_ov15_0218a218 ; data_ov40_0218a218 .global data_ov15_0218a230 data_ov15_0218a230: ; 0x0218a230 .word data_ov15_0218a214 ; data_ov40_0218a214 .global data_ov15_0218a234 data_ov15_0218a234: ; 0x0218a234 .word data_ov15_0218a210 ; data_ov40_0218a210 .global data_ov15_0218a238 data_ov15_0218a238: ; 0x0218a238 .word data_ov15_0218a20c ; data_ov40_0218a20c .global data_ov15_0218a23c data_ov15_0218a23c: ; 0x0218a23c .word data_ov15_0218a208 ; data_ov40_0218a208 .global data_ov15_0218a240 data_ov15_0218a240: ; 0x0218a240 .word data_ov15_0218a204 ; data_ov40_0218a204 .global data_ov15_0218a244 data_ov15_0218a244: ; 0x0218a244 .word data_ov15_0218a314 ; data_ov40_0218a314 .global data_ov15_0218a248 data_ov15_0218a248: ; 0x0218a248 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a24c data_ov15_0218a24c: ; 0x0218a24c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a250 data_ov15_0218a250: ; 0x0218a250 .word func_ov15_02128e84 .global data_ov15_0218a254 data_ov15_0218a254: ; 0x0218a254 .word func_ov15_02128f50 .global data_ov15_0218a258 data_ov15_0218a258: ; 0x0218a258 .word func_ov15_02129024 .global data_ov15_0218a25c data_ov15_0218a25c: ; 0x0218a25c .word func_ov04_0210c3fc ; data_ov07_0210c3fc .global data_ov15_0218a260 data_ov15_0218a260: ; 0x0218a260 .word func_ov04_0210c52c ; data_ov07_0210c52c .global data_ov15_0218a264 data_ov15_0218a264: ; 0x0218a264 .word func_ov15_02129774 .global data_ov15_0218a268 data_ov15_0218a268: ; 0x0218a268 .word func_ov15_0212984c .global data_ov15_0218a26c data_ov15_0218a26c: ; 0x0218a26c .word func_ov15_02129868 .global data_ov15_0218a270 data_ov15_0218a270: ; 0x0218a270 .word func_ov15_021298b8 .global data_ov15_0218a274 data_ov15_0218a274: ; 0x0218a274 .word func_ov15_0212991c .global data_ov15_0218a278 data_ov15_0218a278: ; 0x0218a278 .word func_ov15_02129920 .global data_ov15_0218a27c data_ov15_0218a27c: ; 0x0218a27c .word func_ov15_02129940 .global data_ov15_0218a280 data_ov15_0218a280: ; 0x0218a280 .word func_ov15_02129244 .global data_ov15_0218a284 data_ov15_0218a284: ; 0x0218a284 .word func_ov04_0210c800 ; data_ov07_0210c800 .global data_ov15_0218a288 data_ov15_0218a288: ; 0x0218a288 .word func_ov04_0210c88c ; data_ov07_0210c88c .global data_ov15_0218a28c data_ov15_0218a28c: ; 0x0218a28c .word func_ov04_0210c8d4 ; data_ov07_0210c8d4 .global data_ov15_0218a290 data_ov15_0218a290: ; 0x0218a290 .word func_ov04_0210ca84 ; data_ov07_0210ca84 .global data_ov15_0218a294 data_ov15_0218a294: ; 0x0218a294 .word func_ov15_021299a8 .global data_ov15_0218a298 data_ov15_0218a298: ; 0x0218a298 .word func_ov00_0207e46c .global data_ov15_0218a29c data_ov15_0218a29c: ; 0x0218a29c .word func_ov15_02129ff4 .global data_ov15_0218a2a0 data_ov15_0218a2a0: ; 0x0218a2a0 .word func_ov15_021299d4 .global data_ov15_0218a2a4 data_ov15_0218a2a4: ; 0x0218a2a4 .word func_ov15_021299e4 .global data_ov15_0218a2a8 data_ov15_0218a2a8: ; 0x0218a2a8 .word func_ov00_0207e498 .global data_ov15_0218a2ac data_ov15_0218a2ac: ; 0x0218a2ac .word func_ov15_021299ec .global data_ov15_0218a2b0 data_ov15_0218a2b0: ; 0x0218a2b0 .word func_ov15_021299f4 .global data_ov15_0218a2b4 data_ov15_0218a2b4: ; 0x0218a2b4 .word func_ov00_0207e4b0 .global data_ov15_0218a2b8 data_ov15_0218a2b8: ; 0x0218a2b8 .word func_ov15_021299fc .global data_ov15_0218a2bc data_ov15_0218a2bc: ; 0x0218a2bc .word func_ov15_02129a10 .global data_ov15_0218a2c0 data_ov15_0218a2c0: ; 0x0218a2c0 .word func_ov15_02129a40 .global data_ov15_0218a2c4 data_ov15_0218a2c4: ; 0x0218a2c4 .word func_ov15_02129a4c .global data_ov15_0218a2c8 data_ov15_0218a2c8: ; 0x0218a2c8 .word func_ov15_02129a54 .global data_ov15_0218a2cc data_ov15_0218a2cc: ; 0x0218a2cc .word func_ov15_02129a6c .global data_ov15_0218a2d0 data_ov15_0218a2d0: ; 0x0218a2d0 .word func_ov15_02129b1c .global data_ov15_0218a2d4 data_ov15_0218a2d4: ; 0x0218a2d4 .word func_ov15_02129b24 .global data_ov15_0218a2d8 data_ov15_0218a2d8: ; 0x0218a2d8 .word func_ov15_0212924c .global data_ov15_0218a2dc data_ov15_0218a2dc: ; 0x0218a2dc .word func_ov15_02129254 .global data_ov15_0218a2e0 data_ov15_0218a2e0: ; 0x0218a2e0 .word func_ov15_02129b2c .global data_ov15_0218a2e4 data_ov15_0218a2e4: ; 0x0218a2e4 .word func_ov00_0207f4a0 .global data_ov15_0218a2e8 data_ov15_0218a2e8: ; 0x0218a2e8 .word func_ov00_02080d78 .global data_ov15_0218a2ec data_ov15_0218a2ec: ; 0x0218a2ec .word func_ov15_02129b50 .global data_ov15_0218a2f0 data_ov15_0218a2f0: ; 0x0218a2f0 .word func_ov15_02129c04 .global data_ov15_0218a2f4 data_ov15_0218a2f4: ; 0x0218a2f4 .word func_ov00_0207f33c .global data_ov15_0218a2f8 data_ov15_0218a2f8: ; 0x0218a2f8 .word func_ov00_0207f344 .global data_ov15_0218a2fc data_ov15_0218a2fc: ; 0x0218a2fc .word func_ov00_0207f348 .global data_ov15_0218a300 data_ov15_0218a300: ; 0x0218a300 .word func_ov15_02129b38 .global data_ov15_0218a304 data_ov15_0218a304: ; 0x0218a304 .word func_ov15_02129d94 .global data_ov15_0218a308 data_ov15_0218a308: ; 0x0218a308 .word func_ov15_02129b30 .global data_ov15_0218a30c data_ov15_0218a30c: ; 0x0218a30c .word func_ov00_02080d74 .global data_ov15_0218a310 data_ov15_0218a310: ; 0x0218a310 .word func_ov00_02080d7c .global data_ov15_0218a314 data_ov15_0218a314: ; 0x0218a314 .ascii "M01" .byte 0x00 .global data_ov15_0218a318 data_ov15_0218a318: ; 0x0218a318 .ascii "%s:zmb/salvage_%d%d.zmb" .byte 0x00 .global data_ov15_0218a330 data_ov15_0218a330: ; 0x0218a330 .ascii "Map/salvage/map%d%d.bin" .byte 0x00 .global data_ov15_0218a348 data_ov15_0218a348: ; 0x0218a348 .word data_ov15_0218a3f8 ; data_ov40_0218a3f8 .global data_ov15_0218a34c data_ov15_0218a34c: ; 0x0218a34c .word data_ov15_0218a3b8 ; data_ov40_0218a3b8, func_ov41_0218a3b8 .global data_ov15_0218a350 data_ov15_0218a350: ; 0x0218a350 .word data_ov15_0218a374 ; data_ov40_0218a374 .global data_ov15_0218a354 data_ov15_0218a354: ; 0x0218a354 .word data_ov15_0218a370 ; data_ov40_0218a370, func_ov44_0218a370 .global data_ov15_0218a358 data_ov15_0218a358: ; 0x0218a358 .word data_ov15_0218a384 ; data_ov40_0218a384 .global data_ov15_0218a35c data_ov15_0218a35c: ; 0x0218a35c .word data_ov15_0218a36c ; data_ov40_0218a36c .global data_ov15_0218a360 data_ov15_0218a360: ; 0x0218a360 .word data_ov15_0218a39c ; data_ov40_0218a39c .global data_ov15_0218a364 data_ov15_0218a364: ; 0x0218a364 .word data_ov15_0218a3d4 ; data_ov40_0218a3d4 .global data_ov15_0218a368 data_ov15_0218a368: ; 0x0218a368 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a36c data_ov15_0218a36c: ; 0x0218a36c .ascii "MWV" .byte 0x00 .global data_ov15_0218a370 data_ov15_0218a370: ; 0x0218a370 .ascii "MWU" .byte 0x00 .global data_ov15_0218a374 data_ov15_0218a374: ; 0x0218a374 .ascii "MWV:ocean.nsbmd" .byte 0x00 .global data_ov15_0218a384 data_ov15_0218a384: ; 0x0218a384 .ascii "MWU:under_ocean.nsbmd" .byte 0x00, 0x00, 0x00 .global data_ov15_0218a39c data_ov15_0218a39c: ; 0x0218a39c .ascii "Environment/Sea/ocean.narc" .byte 0x00, 0x00 .global data_ov15_0218a3b8 data_ov15_0218a3b8: ; 0x0218a3b8 .ascii "Environment/Sea/ocean.nsbtx" .byte 0x00 .global data_ov15_0218a3d4 data_ov15_0218a3d4: ; 0x0218a3d4 .ascii "Environment/Sea/under_ocean.narc" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a3f8 data_ov15_0218a3f8: ; 0x0218a3f8 .ascii "Environment/Sea/under_ocean.nsbtx" .byte 0x00, 0x00, 0x00 .global data_ov15_0218a41c data_ov15_0218a41c: ; 0x0218a41c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a420 data_ov15_0218a420: ; 0x0218a420 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a424 data_ov15_0218a424: ; 0x0218a424 .word func_ov15_0212c310 .global data_ov15_0218a428 data_ov15_0218a428: ; 0x0218a428 .word func_ov15_0212c324 .global data_ov15_0218a42c data_ov15_0218a42c: ; 0x0218a42c .word func_ov15_0212c100 .global data_ov15_0218a430 data_ov15_0218a430: ; 0x0218a430 .word func_ov15_0212c10c .global data_ov15_0218a434 data_ov15_0218a434: ; 0x0218a434 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a438 data_ov15_0218a438: ; 0x0218a438 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a43c data_ov15_0218a43c: ; 0x0218a43c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a440 data_ov15_0218a440: ; 0x0218a440 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a444 data_ov15_0218a444: ; 0x0218a444 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a448 data_ov15_0218a448: ; 0x0218a448 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a44c data_ov15_0218a44c: ; 0x0218a44c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a450 data_ov15_0218a450: ; 0x0218a450 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a454 data_ov15_0218a454: ; 0x0218a454 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a458 data_ov15_0218a458: ; 0x0218a458 .word func_ov15_02129ffc .global data_ov15_0218a45c data_ov15_0218a45c: ; 0x0218a45c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a460 data_ov15_0218a460: ; 0x0218a460 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a464 data_ov15_0218a464: ; 0x0218a464 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a468 data_ov15_0218a468: ; 0x0218a468 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a46c data_ov15_0218a46c: ; 0x0218a46c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a470 data_ov15_0218a470: ; 0x0218a470 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a474 data_ov15_0218a474: ; 0x0218a474 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a478 data_ov15_0218a478: ; 0x0218a478 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a47c data_ov15_0218a47c: ; 0x0218a47c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a480 data_ov15_0218a480: ; 0x0218a480 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a484 data_ov15_0218a484: ; 0x0218a484 .byte 0xfe, 0x00, 0x00, 0x00 .global data_ov15_0218a488 data_ov15_0218a488: ; 0x0218a488 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a48c data_ov15_0218a48c: ; 0x0218a48c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a490 data_ov15_0218a490: ; 0x0218a490 .word func_ov15_0212cfc4 .global data_ov15_0218a494 data_ov15_0218a494: ; 0x0218a494 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a498 data_ov15_0218a498: ; 0x0218a498 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a49c data_ov15_0218a49c: ; 0x0218a49c .word func_ov15_0212c940 .global data_ov15_0218a4a0 data_ov15_0218a4a0: ; 0x0218a4a0 .word func_ov15_0212c9b8 .global data_ov15_0218a4a4 data_ov15_0218a4a4: ; 0x0218a4a4 .word func_ov15_0212ca38 .global data_ov15_0218a4a8 data_ov15_0218a4a8: ; 0x0218a4a8 .word func_ov15_0212ce04 .global data_ov15_0218a4ac data_ov15_0218a4ac: ; 0x0218a4ac .word func_ov15_0212f2c8 .global data_ov15_0218a4b0 data_ov15_0218a4b0: ; 0x0218a4b0 .word func_ov15_0214ed58 .global data_ov15_0218a4b4 data_ov15_0218a4b4: ; 0x0218a4b4 .word func_ov15_0212e1c8 .global data_ov15_0218a4b8 data_ov15_0218a4b8: ; 0x0218a4b8 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218a4bc data_ov15_0218a4bc: ; 0x0218a4bc .word func_ov15_0212f0b8 .global data_ov15_0218a4c0 data_ov15_0218a4c0: ; 0x0218a4c0 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218a4c4 data_ov15_0218a4c4: ; 0x0218a4c4 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218a4c8 data_ov15_0218a4c8: ; 0x0218a4c8 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218a4cc data_ov15_0218a4cc: ; 0x0218a4cc .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218a4d0 data_ov15_0218a4d0: ; 0x0218a4d0 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218a4d4 data_ov15_0218a4d4: ; 0x0218a4d4 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218a4d8 data_ov15_0218a4d8: ; 0x0218a4d8 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218a4dc data_ov15_0218a4dc: ; 0x0218a4dc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a4e0 data_ov15_0218a4e0: ; 0x0218a4e0 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218a4e4 data_ov15_0218a4e4: ; 0x0218a4e4 .word func_ov15_0212f264 .global data_ov15_0218a4e8 data_ov15_0218a4e8: ; 0x0218a4e8 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218a4ec data_ov15_0218a4ec: ; 0x0218a4ec .word _ZN5Actor6GetPosEv .global data_ov15_0218a4f0 data_ov15_0218a4f0: ; 0x0218a4f0 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218a4f4 data_ov15_0218a4f4: ; 0x0218a4f4 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218a4f8 data_ov15_0218a4f8: ; 0x0218a4f8 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218a4fc data_ov15_0218a4fc: ; 0x0218a4fc .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218a500 data_ov15_0218a500: ; 0x0218a500 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218a504 data_ov15_0218a504: ; 0x0218a504 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218a508 data_ov15_0218a508: ; 0x0218a508 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218a50c data_ov15_0218a50c: ; 0x0218a50c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218a510 data_ov15_0218a510: ; 0x0218a510 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218a514 data_ov15_0218a514: ; 0x0218a514 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218a518 data_ov15_0218a518: ; 0x0218a518 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218a51c data_ov15_0218a51c: ; 0x0218a51c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218a520 data_ov15_0218a520: ; 0x0218a520 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218a524 data_ov15_0218a524: ; 0x0218a524 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218a528 data_ov15_0218a528: ; 0x0218a528 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218a52c data_ov15_0218a52c: ; 0x0218a52c .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218a530 data_ov15_0218a530: ; 0x0218a530 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218a534 data_ov15_0218a534: ; 0x0218a534 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218a538 data_ov15_0218a538: ; 0x0218a538 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218a53c data_ov15_0218a53c: ; 0x0218a53c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218a540 data_ov15_0218a540: ; 0x0218a540 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218a544 data_ov15_0218a544: ; 0x0218a544 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218a548 data_ov15_0218a548: ; 0x0218a548 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218a54c data_ov15_0218a54c: ; 0x0218a54c .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218a550 data_ov15_0218a550: ; 0x0218a550 .word func_ov15_0212d29c .global data_ov15_0218a554 data_ov15_0218a554: ; 0x0218a554 .word func_ov15_0212f368 .global data_ov15_0218a558 data_ov15_0218a558: ; 0x0218a558 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a55c data_ov15_0218a55c: ; 0x0218a55c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a560 data_ov15_0218a560: ; 0x0218a560 .word func_ov15_0212c92c .global data_ov15_0218a564 data_ov15_0218a564: ; 0x0218a564 .word func_ov15_0212f34c .global data_ov15_0218a568 data_ov15_0218a568: ; 0x0218a568 .word func_ov00_020a960c .global data_ov15_0218a56c data_ov15_0218a56c: ; 0x0218a56c .word func_ov00_020a9614 .global data_ov15_0218a570 data_ov15_0218a570: ; 0x0218a570 .word func_ov00_020a9650 .global data_ov15_0218a574 data_ov15_0218a574: ; 0x0218a574 .word func_ov00_020a96d4 .global data_ov15_0218a578 data_ov15_0218a578: ; 0x0218a578 .word func_ov00_020a9740 .global data_ov15_0218a57c data_ov15_0218a57c: ; 0x0218a57c .word func_ov00_020a9764 .global data_ov15_0218a580 data_ov15_0218a580: ; 0x0218a580 .word func_ov00_020a97d0 .global data_ov15_0218a584 data_ov15_0218a584: ; 0x0218a584 .word func_ov00_020a97e0 .global data_ov15_0218a588 data_ov15_0218a588: ; 0x0218a588 .word func_ov00_020a97f8 .global data_ov15_0218a58c data_ov15_0218a58c: ; 0x0218a58c .word func_ov00_020a9864 .global data_ov15_0218a590 data_ov15_0218a590: ; 0x0218a590 .word func_ov00_020a98bc .global data_ov15_0218a594 data_ov15_0218a594: ; 0x0218a594 .word func_ov00_020a9890 .global data_ov15_0218a598 data_ov15_0218a598: ; 0x0218a598 .word func_ov00_020a9968 .global data_ov15_0218a59c data_ov15_0218a59c: ; 0x0218a59c .word func_ov15_0212c798 .global data_ov15_0218a5a0 data_ov15_0218a5a0: ; 0x0218a5a0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a5a4 data_ov15_0218a5a4: ; 0x0218a5a4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a5a8 data_ov15_0218a5a8: ; 0x0218a5a8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a5ac data_ov15_0218a5ac: ; 0x0218a5ac .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a5b0 data_ov15_0218a5b0: ; 0x0218a5b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a5b4 data_ov15_0218a5b4: ; 0x0218a5b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a5b8 data_ov15_0218a5b8: ; 0x0218a5b8 .word func_ov15_0212f5f0 .global data_ov15_0218a5bc data_ov15_0218a5bc: ; 0x0218a5bc .word func_ov15_0212f6c4 .global data_ov15_0218a5c0 data_ov15_0218a5c0: ; 0x0218a5c0 .word func_ov15_0212f7b0 .global data_ov15_0218a5c4 data_ov15_0218a5c4: ; 0x0218a5c4 .word func_ov15_0212fc28 .global data_ov15_0218a5c8 data_ov15_0218a5c8: ; 0x0218a5c8 .word func_ov15_02131020 .global data_ov15_0218a5cc data_ov15_0218a5cc: ; 0x0218a5cc .word func_ov15_02130790 .global data_ov15_0218a5d0 data_ov15_0218a5d0: ; 0x0218a5d0 .word func_ov15_021307e8 .global data_ov15_0218a5d4 data_ov15_0218a5d4: ; 0x0218a5d4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218a5d8 data_ov15_0218a5d8: ; 0x0218a5d8 .word func_ov15_02130d24 .global data_ov15_0218a5dc data_ov15_0218a5dc: ; 0x0218a5dc .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218a5e0 data_ov15_0218a5e0: ; 0x0218a5e0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218a5e4 data_ov15_0218a5e4: ; 0x0218a5e4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218a5e8 data_ov15_0218a5e8: ; 0x0218a5e8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218a5ec data_ov15_0218a5ec: ; 0x0218a5ec .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218a5f0 data_ov15_0218a5f0: ; 0x0218a5f0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218a5f4 data_ov15_0218a5f4: ; 0x0218a5f4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218a5f8 data_ov15_0218a5f8: ; 0x0218a5f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a5fc data_ov15_0218a5fc: ; 0x0218a5fc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218a600 data_ov15_0218a600: ; 0x0218a600 .word func_ov15_0213100c .global data_ov15_0218a604 data_ov15_0218a604: ; 0x0218a604 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218a608 data_ov15_0218a608: ; 0x0218a608 .word _ZN5Actor6GetPosEv .global data_ov15_0218a60c data_ov15_0218a60c: ; 0x0218a60c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218a610 data_ov15_0218a610: ; 0x0218a610 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218a614 data_ov15_0218a614: ; 0x0218a614 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218a618 data_ov15_0218a618: ; 0x0218a618 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218a61c data_ov15_0218a61c: ; 0x0218a61c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218a620 data_ov15_0218a620: ; 0x0218a620 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218a624 data_ov15_0218a624: ; 0x0218a624 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218a628 data_ov15_0218a628: ; 0x0218a628 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218a62c data_ov15_0218a62c: ; 0x0218a62c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218a630 data_ov15_0218a630: ; 0x0218a630 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218a634 data_ov15_0218a634: ; 0x0218a634 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218a638 data_ov15_0218a638: ; 0x0218a638 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218a63c data_ov15_0218a63c: ; 0x0218a63c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218a640 data_ov15_0218a640: ; 0x0218a640 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218a644 data_ov15_0218a644: ; 0x0218a644 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218a648 data_ov15_0218a648: ; 0x0218a648 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218a64c data_ov15_0218a64c: ; 0x0218a64c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218a650 data_ov15_0218a650: ; 0x0218a650 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218a654 data_ov15_0218a654: ; 0x0218a654 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218a658 data_ov15_0218a658: ; 0x0218a658 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218a65c data_ov15_0218a65c: ; 0x0218a65c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218a660 data_ov15_0218a660: ; 0x0218a660 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218a664 data_ov15_0218a664: ; 0x0218a664 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218a668 data_ov15_0218a668: ; 0x0218a668 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218a66c data_ov15_0218a66c: ; 0x0218a66c .word func_ov15_02130558 .global data_ov15_0218a670 data_ov15_0218a670: ; 0x0218a670 .word func_ov15_02132968 .global data_ov15_0218a674 data_ov15_0218a674: ; 0x0218a674 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a678 data_ov15_0218a678: ; 0x0218a678 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a67c data_ov15_0218a67c: ; 0x0218a67c .word func_ov00_020c5d34 .global data_ov15_0218a680 data_ov15_0218a680: ; 0x0218a680 .word func_ov15_02125384 .global data_ov15_0218a684 data_ov15_0218a684: ; 0x0218a684 .word func_ov00_020c5e58 .global data_ov15_0218a688 data_ov15_0218a688: ; 0x0218a688 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a68c data_ov15_0218a68c: ; 0x0218a68c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a690 data_ov15_0218a690: ; 0x0218a690 .word func_ov00_020a9b0c .global data_ov15_0218a694 data_ov15_0218a694: ; 0x0218a694 .word func_ov00_020a9b18 .global data_ov15_0218a698 data_ov15_0218a698: ; 0x0218a698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a69c data_ov15_0218a69c: ; 0x0218a69c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a6a0 data_ov15_0218a6a0: ; 0x0218a6a0 .word func_ov15_0212f520 .global data_ov15_0218a6a4 data_ov15_0218a6a4: ; 0x0218a6a4 .word func_ov15_0213294c .global data_ov15_0218a6a8 data_ov15_0218a6a8: ; 0x0218a6a8 .word func_ov00_020a960c .global data_ov15_0218a6ac data_ov15_0218a6ac: ; 0x0218a6ac .word func_ov00_020a9614 .global data_ov15_0218a6b0 data_ov15_0218a6b0: ; 0x0218a6b0 .word func_ov00_020a9650 .global data_ov15_0218a6b4 data_ov15_0218a6b4: ; 0x0218a6b4 .word func_ov00_020a96d4 .global data_ov15_0218a6b8 data_ov15_0218a6b8: ; 0x0218a6b8 .word func_ov00_020a9740 .global data_ov15_0218a6bc data_ov15_0218a6bc: ; 0x0218a6bc .word func_ov00_020a9764 .global data_ov15_0218a6c0 data_ov15_0218a6c0: ; 0x0218a6c0 .word func_ov00_020a97d0 .global data_ov15_0218a6c4 data_ov15_0218a6c4: ; 0x0218a6c4 .word func_ov00_020a97e0 .global data_ov15_0218a6c8 data_ov15_0218a6c8: ; 0x0218a6c8 .word func_ov00_020a97f8 .global data_ov15_0218a6cc data_ov15_0218a6cc: ; 0x0218a6cc .word func_ov00_020a9864 .global data_ov15_0218a6d0 data_ov15_0218a6d0: ; 0x0218a6d0 .word func_ov00_020a98bc .global data_ov15_0218a6d4 data_ov15_0218a6d4: ; 0x0218a6d4 .word func_ov00_020a9890 .global data_ov15_0218a6d8 data_ov15_0218a6d8: ; 0x0218a6d8 .word func_ov00_020a9968 .global data_ov15_0218a6dc data_ov15_0218a6dc: ; 0x0218a6dc .word func_ov15_0212f434 .global data_ov15_0218a6e0 data_ov15_0218a6e0: ; 0x0218a6e0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a6e4 data_ov15_0218a6e4: ; 0x0218a6e4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a6e8 data_ov15_0218a6e8: ; 0x0218a6e8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a6ec data_ov15_0218a6ec: ; 0x0218a6ec .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a6f0 data_ov15_0218a6f0: ; 0x0218a6f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a6f4 data_ov15_0218a6f4: ; 0x0218a6f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a6f8 data_ov15_0218a6f8: ; 0x0218a6f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a6fc data_ov15_0218a6fc: ; 0x0218a6fc .word func_ov15_02132b80 .global data_ov15_0218a700 data_ov15_0218a700: ; 0x0218a700 .word func_ov15_02132be0 .global data_ov15_0218a704 data_ov15_0218a704: ; 0x0218a704 .word func_ov15_02132c48 .global data_ov15_0218a708 data_ov15_0218a708: ; 0x0218a708 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218a70c data_ov15_0218a70c: ; 0x0218a70c .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218a710 data_ov15_0218a710: ; 0x0218a710 .word func_ov15_02133094 .global data_ov15_0218a714 data_ov15_0218a714: ; 0x0218a714 .word func_ov15_02133150 .global data_ov15_0218a718 data_ov15_0218a718: ; 0x0218a718 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218a71c data_ov15_0218a71c: ; 0x0218a71c .word func_ov15_02133f70 .global data_ov15_0218a720 data_ov15_0218a720: ; 0x0218a720 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218a724 data_ov15_0218a724: ; 0x0218a724 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218a728 data_ov15_0218a728: ; 0x0218a728 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218a72c data_ov15_0218a72c: ; 0x0218a72c .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218a730 data_ov15_0218a730: ; 0x0218a730 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218a734 data_ov15_0218a734: ; 0x0218a734 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218a738 data_ov15_0218a738: ; 0x0218a738 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218a73c data_ov15_0218a73c: ; 0x0218a73c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a740 data_ov15_0218a740: ; 0x0218a740 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218a744 data_ov15_0218a744: ; 0x0218a744 .word func_ov15_02133e98 .global data_ov15_0218a748 data_ov15_0218a748: ; 0x0218a748 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218a74c data_ov15_0218a74c: ; 0x0218a74c .word _ZN5Actor6GetPosEv .global data_ov15_0218a750 data_ov15_0218a750: ; 0x0218a750 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218a754 data_ov15_0218a754: ; 0x0218a754 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218a758 data_ov15_0218a758: ; 0x0218a758 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218a75c data_ov15_0218a75c: ; 0x0218a75c .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218a760 data_ov15_0218a760: ; 0x0218a760 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218a764 data_ov15_0218a764: ; 0x0218a764 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218a768 data_ov15_0218a768: ; 0x0218a768 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218a76c data_ov15_0218a76c: ; 0x0218a76c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218a770 data_ov15_0218a770: ; 0x0218a770 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218a774 data_ov15_0218a774: ; 0x0218a774 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218a778 data_ov15_0218a778: ; 0x0218a778 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218a77c data_ov15_0218a77c: ; 0x0218a77c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218a780 data_ov15_0218a780: ; 0x0218a780 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218a784 data_ov15_0218a784: ; 0x0218a784 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218a788 data_ov15_0218a788: ; 0x0218a788 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218a78c data_ov15_0218a78c: ; 0x0218a78c .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218a790 data_ov15_0218a790: ; 0x0218a790 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218a794 data_ov15_0218a794: ; 0x0218a794 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218a798 data_ov15_0218a798: ; 0x0218a798 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218a79c data_ov15_0218a79c: ; 0x0218a79c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218a7a0 data_ov15_0218a7a0: ; 0x0218a7a0 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218a7a4 data_ov15_0218a7a4: ; 0x0218a7a4 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218a7a8 data_ov15_0218a7a8: ; 0x0218a7a8 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218a7ac data_ov15_0218a7ac: ; 0x0218a7ac .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218a7b0 data_ov15_0218a7b0: ; 0x0218a7b0 .word func_ov15_0213321c .global data_ov15_0218a7b4 data_ov15_0218a7b4: ; 0x0218a7b4 .word func_ov15_0213403c .global data_ov15_0218a7b8 data_ov15_0218a7b8: ; 0x0218a7b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a7bc data_ov15_0218a7bc: ; 0x0218a7bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a7c0 data_ov15_0218a7c0: ; 0x0218a7c0 .word func_ov00_020c5d34 .global data_ov15_0218a7c4 data_ov15_0218a7c4: ; 0x0218a7c4 .word func_ov15_02132a78 .global data_ov15_0218a7c8 data_ov15_0218a7c8: ; 0x0218a7c8 .word func_ov15_02132a88 .global data_ov15_0218a7cc data_ov15_0218a7cc: ; 0x0218a7cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a7d0 data_ov15_0218a7d0: ; 0x0218a7d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a7d4 data_ov15_0218a7d4: ; 0x0218a7d4 .word func_ov00_020a9acc .global data_ov15_0218a7d8 data_ov15_0218a7d8: ; 0x0218a7d8 .word func_ov00_020a9ad8 .global data_ov15_0218a7dc data_ov15_0218a7dc: ; 0x0218a7dc .ascii "STR:/ef_seatornado1.nsbta" .byte 0x00, 0x00, 0x00 .global data_ov15_0218a7f8 data_ov15_0218a7f8: ; 0x0218a7f8 .ascii "ef_seatornado1" .byte 0x00, 0x00 .global data_ov15_0218a808 data_ov15_0218a808: ; 0x0218a808 .ascii "brg" .byte 0x00 .global data_ov15_0218a80c data_ov15_0218a80c: ; 0x0218a80c .ascii "fnl" .byte 0x00 .global data_ov15_0218a810 data_ov15_0218a810: ; 0x0218a810 .ascii "pdl" .byte 0x00 .global data_ov15_0218a814 data_ov15_0218a814: ; 0x0218a814 .ascii "dco" .byte 0x00 .global data_ov15_0218a818 data_ov15_0218a818: ; 0x0218a818 .ascii "can" .byte 0x00 .global data_ov15_0218a81c data_ov15_0218a81c: ; 0x0218a81c .ascii "hul" .byte 0x00 .global data_ov15_0218a820 data_ov15_0218a820: ; 0x0218a820 .ascii "bow" .byte 0x00 .global data_ov15_0218a824 data_ov15_0218a824: ; 0x0218a824 .ascii "anc" .byte 0x00 .global data_ov15_0218a828 data_ov15_0218a828: ; 0x0218a828 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a82c data_ov15_0218a82c: ; 0x0218a82c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a830 data_ov15_0218a830: ; 0x0218a830 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218a834 data_ov15_0218a834: ; 0x0218a834 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218a838 data_ov15_0218a838: ; 0x0218a838 .word data_ov15_0218a824 ; data_ov40_0218a824, func_ov45_0218a824 .global data_ov15_0218a83c data_ov15_0218a83c: ; 0x0218a83c .word data_ov15_0218a820 ; data_ov40_0218a820 .global data_ov15_0218a840 data_ov15_0218a840: ; 0x0218a840 .word data_ov15_0218a81c ; data_ov40_0218a81c .global data_ov15_0218a844 data_ov15_0218a844: ; 0x0218a844 .word data_ov15_0218a818 ; data_ov40_0218a818 .global data_ov15_0218a848 data_ov15_0218a848: ; 0x0218a848 .word data_ov15_0218a814 ; data_ov40_0218a814 .global data_ov15_0218a84c data_ov15_0218a84c: ; 0x0218a84c .word data_ov15_0218a810 ; data_ov40_0218a810 .global data_ov15_0218a850 data_ov15_0218a850: ; 0x0218a850 .word data_ov15_0218a80c ; data_ov40_0218a80c .global data_ov15_0218a854 data_ov15_0218a854: ; 0x0218a854 .word data_ov15_0218a808 ; data_ov40_0218a808 .global data_ov15_0218a858 data_ov15_0218a858: ; 0x0218a858 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a85c data_ov15_0218a85c: ; 0x0218a85c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a860 data_ov15_0218a860: ; 0x0218a860 .word func_ov15_02134994 .global data_ov15_0218a864 data_ov15_0218a864: ; 0x0218a864 .word func_ov15_02135484 .global data_ov15_0218a868 data_ov15_0218a868: ; 0x0218a868 .word func_ov00_020bebd8 .global data_ov15_0218a86c data_ov15_0218a86c: ; 0x0218a86c .word func_ov00_020bec5c .global data_ov15_0218a870 data_ov15_0218a870: ; 0x0218a870 .word func_ov00_020bece0 .global data_ov15_0218a874 data_ov15_0218a874: ; 0x0218a874 .word func_ov00_020bedcc .global data_ov15_0218a878 data_ov15_0218a878: ; 0x0218a878 .word func_ov00_020bed7c .global data_ov15_0218a87c data_ov15_0218a87c: ; 0x0218a87c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a880 data_ov15_0218a880: ; 0x0218a880 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a884 data_ov15_0218a884: ; 0x0218a884 .word func_ov15_02134108 .global data_ov15_0218a888 data_ov15_0218a888: ; 0x0218a888 .word func_ov15_02134150 .global data_ov15_0218a88c data_ov15_0218a88c: ; 0x0218a88c .word func_ov15_021341ac .global data_ov15_0218a890 data_ov15_0218a890: ; 0x0218a890 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218a894 data_ov15_0218a894: ; 0x0218a894 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218a898 data_ov15_0218a898: ; 0x0218a898 .word func_ov15_021344bc .global data_ov15_0218a89c data_ov15_0218a89c: ; 0x0218a89c .word func_ov15_02134594 .global data_ov15_0218a8a0 data_ov15_0218a8a0: ; 0x0218a8a0 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218a8a4 data_ov15_0218a8a4: ; 0x0218a8a4 .word func_ov15_0213513c .global data_ov15_0218a8a8 data_ov15_0218a8a8: ; 0x0218a8a8 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218a8ac data_ov15_0218a8ac: ; 0x0218a8ac .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218a8b0 data_ov15_0218a8b0: ; 0x0218a8b0 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218a8b4 data_ov15_0218a8b4: ; 0x0218a8b4 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218a8b8 data_ov15_0218a8b8: ; 0x0218a8b8 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218a8bc data_ov15_0218a8bc: ; 0x0218a8bc .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218a8c0 data_ov15_0218a8c0: ; 0x0218a8c0 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218a8c4 data_ov15_0218a8c4: ; 0x0218a8c4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a8c8 data_ov15_0218a8c8: ; 0x0218a8c8 .word func_ov15_021353ec .global data_ov15_0218a8cc data_ov15_0218a8cc: ; 0x0218a8cc .word func_ov15_021351cc .global data_ov15_0218a8d0 data_ov15_0218a8d0: ; 0x0218a8d0 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218a8d4 data_ov15_0218a8d4: ; 0x0218a8d4 .word _ZN5Actor6GetPosEv .global data_ov15_0218a8d8 data_ov15_0218a8d8: ; 0x0218a8d8 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218a8dc data_ov15_0218a8dc: ; 0x0218a8dc .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218a8e0 data_ov15_0218a8e0: ; 0x0218a8e0 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218a8e4 data_ov15_0218a8e4: ; 0x0218a8e4 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218a8e8 data_ov15_0218a8e8: ; 0x0218a8e8 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218a8ec data_ov15_0218a8ec: ; 0x0218a8ec .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218a8f0 data_ov15_0218a8f0: ; 0x0218a8f0 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218a8f4 data_ov15_0218a8f4: ; 0x0218a8f4 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218a8f8 data_ov15_0218a8f8: ; 0x0218a8f8 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218a8fc data_ov15_0218a8fc: ; 0x0218a8fc .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218a900 data_ov15_0218a900: ; 0x0218a900 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218a904 data_ov15_0218a904: ; 0x0218a904 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218a908 data_ov15_0218a908: ; 0x0218a908 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218a90c data_ov15_0218a90c: ; 0x0218a90c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218a910 data_ov15_0218a910: ; 0x0218a910 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218a914 data_ov15_0218a914: ; 0x0218a914 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218a918 data_ov15_0218a918: ; 0x0218a918 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218a91c data_ov15_0218a91c: ; 0x0218a91c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218a920 data_ov15_0218a920: ; 0x0218a920 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218a924 data_ov15_0218a924: ; 0x0218a924 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218a928 data_ov15_0218a928: ; 0x0218a928 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218a92c data_ov15_0218a92c: ; 0x0218a92c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218a930 data_ov15_0218a930: ; 0x0218a930 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218a934 data_ov15_0218a934: ; 0x0218a934 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218a938 data_ov15_0218a938: ; 0x0218a938 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a93c data_ov15_0218a93c: ; 0x0218a93c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a940 data_ov15_0218a940: ; 0x0218a940 .word func_ov00_020a9aac .global data_ov15_0218a944 data_ov15_0218a944: ; 0x0218a944 .word func_ov00_020a9ab8 .global data_ov15_0218a948 data_ov15_0218a948: ; 0x0218a948 .ascii "PKB:/roll1.nsbta" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a95c data_ov15_0218a95c: ; 0x0218a95c .ascii "roll1" .byte 0x00, 0x00, 0x00 .global data_ov15_0218a964 data_ov15_0218a964: ; 0x0218a964 .ascii "brg" .byte 0x00 .global data_ov15_0218a968 data_ov15_0218a968: ; 0x0218a968 .ascii "fnl" .byte 0x00 .global data_ov15_0218a96c data_ov15_0218a96c: ; 0x0218a96c .ascii "pdl" .byte 0x00 .global data_ov15_0218a970 data_ov15_0218a970: ; 0x0218a970 .ascii "dco" .byte 0x00 .global data_ov15_0218a974 data_ov15_0218a974: ; 0x0218a974 .ascii "can" .byte 0x00 .global data_ov15_0218a978 data_ov15_0218a978: ; 0x0218a978 .ascii "hul" .byte 0x00 .global data_ov15_0218a97c data_ov15_0218a97c: ; 0x0218a97c .ascii "bow" .byte 0x00 .global data_ov15_0218a980 data_ov15_0218a980: ; 0x0218a980 .ascii "anc" .byte 0x00 .global data_ov15_0218a984 data_ov15_0218a984: ; 0x0218a984 .word data_ov15_0218a980 ; data_ov40_0218a980 .global data_ov15_0218a988 data_ov15_0218a988: ; 0x0218a988 .word data_ov15_0218a97c ; data_ov40_0218a97c .global data_ov15_0218a98c data_ov15_0218a98c: ; 0x0218a98c .word data_ov15_0218a978 ; data_ov40_0218a978 .global data_ov15_0218a990 data_ov15_0218a990: ; 0x0218a990 .word data_ov15_0218a974 ; data_ov40_0218a974 .global data_ov15_0218a994 data_ov15_0218a994: ; 0x0218a994 .word data_ov15_0218a970 ; data_ov40_0218a970 .global data_ov15_0218a998 data_ov15_0218a998: ; 0x0218a998 .word data_ov15_0218a96c ; data_ov40_0218a96c .global data_ov15_0218a99c data_ov15_0218a99c: ; 0x0218a99c .word data_ov15_0218a968 ; data_ov40_0218a968, func_ov41_0218a968 .global data_ov15_0218a9a0 data_ov15_0218a9a0: ; 0x0218a9a0 .word data_ov15_0218a964 ; data_ov40_0218a964 .global data_ov15_0218a9a4 data_ov15_0218a9a4: ; 0x0218a9a4 .byte 0x1f, 0x00, 0x00, 0x00 .global data_ov15_0218a9a8 data_ov15_0218a9a8: ; 0x0218a9a8 .byte 0x1e, 0x00, 0x00, 0x00 .global data_ov15_0218a9ac data_ov15_0218a9ac: ; 0x0218a9ac .byte 0x1d, 0x00, 0x00, 0x00 .global data_ov15_0218a9b0 data_ov15_0218a9b0: ; 0x0218a9b0 .byte 0x18, 0x00, 0x00, 0x00 .global data_ov15_0218a9b4 data_ov15_0218a9b4: ; 0x0218a9b4 .byte 0x1c, 0x00, 0x00, 0x00 .global data_ov15_0218a9b8 data_ov15_0218a9b8: ; 0x0218a9b8 .ascii "brg" .byte 0x00 .global data_ov15_0218a9bc data_ov15_0218a9bc: ; 0x0218a9bc .ascii "fnl" .byte 0x00 .global data_ov15_0218a9c0 data_ov15_0218a9c0: ; 0x0218a9c0 .ascii "pdl" .byte 0x00 .global data_ov15_0218a9c4 data_ov15_0218a9c4: ; 0x0218a9c4 .ascii "dco" .byte 0x00 .global data_ov15_0218a9c8 data_ov15_0218a9c8: ; 0x0218a9c8 .ascii "can" .byte 0x00 .global data_ov15_0218a9cc data_ov15_0218a9cc: ; 0x0218a9cc .ascii "hul" .byte 0x00 .global data_ov15_0218a9d0 data_ov15_0218a9d0: ; 0x0218a9d0 .ascii "bow" .byte 0x00 .global data_ov15_0218a9d4 data_ov15_0218a9d4: ; 0x0218a9d4 .ascii "anc" .byte 0x00 .global data_ov15_0218a9d8 data_ov15_0218a9d8: ; 0x0218a9d8 .word data_ov15_0218a9d4 ; data_ov40_0218a9d4 .global data_ov15_0218a9dc data_ov15_0218a9dc: ; 0x0218a9dc .word data_ov15_0218a9d0 ; data_ov40_0218a9d0 .global data_ov15_0218a9e0 data_ov15_0218a9e0: ; 0x0218a9e0 .word data_ov15_0218a9cc ; data_ov40_0218a9cc .global data_ov15_0218a9e4 data_ov15_0218a9e4: ; 0x0218a9e4 .word data_ov15_0218a9c8 ; data_ov40_0218a9c8 .global data_ov15_0218a9e8 data_ov15_0218a9e8: ; 0x0218a9e8 .word data_ov15_0218a9c4 ; data_ov40_0218a9c4 .global data_ov15_0218a9ec data_ov15_0218a9ec: ; 0x0218a9ec .word data_ov15_0218a9c0 ; data_ov40_0218a9c0, func_ov41_0218a9c0 .global data_ov15_0218a9f0 data_ov15_0218a9f0: ; 0x0218a9f0 .word data_ov15_0218a9bc ; data_ov40_0218a9bc .global data_ov15_0218a9f4 data_ov15_0218a9f4: ; 0x0218a9f4 .word data_ov15_0218a9b8 ; data_ov40_0218a9b8, func_ov45_0218a9b8 .global data_ov15_0218a9f8 data_ov15_0218a9f8: ; 0x0218a9f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218a9fc data_ov15_0218a9fc: ; 0x0218a9fc .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov15_0218aa00 data_ov15_0218aa00: ; 0x0218aa00 .byte 0x78, 0x00, 0x00, 0x00 .global data_ov15_0218aa04 data_ov15_0218aa04: ; 0x0218aa04 .byte 0x55, 0x55, 0x00, 0x00 .global data_ov15_0218aa08 data_ov15_0218aa08: ; 0x0218aa08 .ascii "brg" .byte 0x00 .global data_ov15_0218aa0c data_ov15_0218aa0c: ; 0x0218aa0c .ascii "fnl" .byte 0x00 .global data_ov15_0218aa10 data_ov15_0218aa10: ; 0x0218aa10 .ascii "pdl" .byte 0x00 .global data_ov15_0218aa14 data_ov15_0218aa14: ; 0x0218aa14 .ascii "dco" .byte 0x00 .global data_ov15_0218aa18 data_ov15_0218aa18: ; 0x0218aa18 .ascii "can" .byte 0x00 .global data_ov15_0218aa1c data_ov15_0218aa1c: ; 0x0218aa1c .ascii "hul" .byte 0x00 .global data_ov15_0218aa20 data_ov15_0218aa20: ; 0x0218aa20 .ascii "bow" .byte 0x00 .global data_ov15_0218aa24 data_ov15_0218aa24: ; 0x0218aa24 .ascii "anc" .byte 0x00 .global data_ov15_0218aa28 data_ov15_0218aa28: ; 0x0218aa28 .word data_ov15_0218aa24 ; data_ov40_0218aa24 .global data_ov15_0218aa2c data_ov15_0218aa2c: ; 0x0218aa2c .word data_ov15_0218aa20 ; data_ov40_0218aa20 .global data_ov15_0218aa30 data_ov15_0218aa30: ; 0x0218aa30 .word data_ov15_0218aa1c ; data_ov40_0218aa1c .global data_ov15_0218aa34 data_ov15_0218aa34: ; 0x0218aa34 .word data_ov15_0218aa18 ; data_ov40_0218aa18 .global data_ov15_0218aa38 data_ov15_0218aa38: ; 0x0218aa38 .word data_ov15_0218aa14 ; data_ov40_0218aa14 .global data_ov15_0218aa3c data_ov15_0218aa3c: ; 0x0218aa3c .word data_ov15_0218aa10 ; data_ov40_0218aa10 .global data_ov15_0218aa40 data_ov15_0218aa40: ; 0x0218aa40 .word data_ov15_0218aa0c ; data_ov40_0218aa0c .global data_ov15_0218aa44 data_ov15_0218aa44: ; 0x0218aa44 .word data_ov15_0218aa08 ; data_ov40_0218aa08 .global data_ov15_0218aa48 data_ov15_0218aa48: ; 0x0218aa48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aa4c data_ov15_0218aa4c: ; 0x0218aa4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aa50 data_ov15_0218aa50: ; 0x0218aa50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aa54 data_ov15_0218aa54: ; 0x0218aa54 .ascii "brg" .byte 0x00 .global data_ov15_0218aa58 data_ov15_0218aa58: ; 0x0218aa58 .ascii "fnl" .byte 0x00 .global data_ov15_0218aa5c data_ov15_0218aa5c: ; 0x0218aa5c .ascii "pdl" .byte 0x00 .global data_ov15_0218aa60 data_ov15_0218aa60: ; 0x0218aa60 .ascii "dco" .byte 0x00 .global data_ov15_0218aa64 data_ov15_0218aa64: ; 0x0218aa64 .ascii "can" .byte 0x00 .global data_ov15_0218aa68 data_ov15_0218aa68: ; 0x0218aa68 .ascii "hul" .byte 0x00 .global data_ov15_0218aa6c data_ov15_0218aa6c: ; 0x0218aa6c .ascii "bow" .byte 0x00 .global data_ov15_0218aa70 data_ov15_0218aa70: ; 0x0218aa70 .ascii "anc" .byte 0x00 .global data_ov15_0218aa74 data_ov15_0218aa74: ; 0x0218aa74 .word data_ov15_0218aa70 ; data_ov40_0218aa70 .global data_ov15_0218aa78 data_ov15_0218aa78: ; 0x0218aa78 .word data_ov15_0218aa6c ; data_ov40_0218aa6c .global data_ov15_0218aa7c data_ov15_0218aa7c: ; 0x0218aa7c .word data_ov15_0218aa68 ; data_ov40_0218aa68 .global data_ov15_0218aa80 data_ov15_0218aa80: ; 0x0218aa80 .word data_ov15_0218aa64 ; data_ov40_0218aa64 .global data_ov15_0218aa84 data_ov15_0218aa84: ; 0x0218aa84 .word data_ov15_0218aa60 ; data_ov40_0218aa60 .global data_ov15_0218aa88 data_ov15_0218aa88: ; 0x0218aa88 .word data_ov15_0218aa5c ; data_ov40_0218aa5c .global data_ov15_0218aa8c data_ov15_0218aa8c: ; 0x0218aa8c .word data_ov15_0218aa58 ; data_ov40_0218aa58 .global data_ov15_0218aa90 data_ov15_0218aa90: ; 0x0218aa90 .word data_ov15_0218aa54 ; data_ov40_0218aa54 .global data_ov15_0218aa94 data_ov15_0218aa94: ; 0x0218aa94 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218aa98 data_ov15_0218aa98: ; 0x0218aa98 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218aa9c data_ov15_0218aa9c: ; 0x0218aa9c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218aaa0 data_ov15_0218aaa0: ; 0x0218aaa0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218aaa4 data_ov15_0218aaa4: ; 0x0218aaa4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aaa8 data_ov15_0218aaa8: ; 0x0218aaa8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aaac data_ov15_0218aaac: ; 0x0218aaac .word func_ov15_0213a604 .global data_ov15_0218aab0 data_ov15_0218aab0: ; 0x0218aab0 .word _ZN10PlayerBase8vfunc_04Ev .global data_ov15_0218aab4 data_ov15_0218aab4: ; 0x0218aab4 .word _ZN10PlayerBase10GetEquipIdEv .global data_ov15_0218aab8 data_ov15_0218aab8: ; 0x0218aab8 .word _ZN10PlayerBase7CanMoveEv .global data_ov15_0218aabc data_ov15_0218aabc: ; 0x0218aabc .word func_ov15_02139ef4 .global data_ov15_0218aac0 data_ov15_0218aac0: ; 0x0218aac0 .word func_ov15_02139f50 .global data_ov15_0218aac4 data_ov15_0218aac4: ; 0x0218aac4 .word func_ov15_02139f7c .global data_ov15_0218aac8 data_ov15_0218aac8: ; 0x0218aac8 .word func_ov15_02139f84 .global data_ov15_0218aacc data_ov15_0218aacc: ; 0x0218aacc .word func_ov15_0213a14c .global data_ov15_0218aad0 data_ov15_0218aad0: ; 0x0218aad0 .word func_ov15_02174bec .global data_ov15_0218aad4 data_ov15_0218aad4: ; 0x0218aad4 .word func_ov15_021752a0 .global data_ov15_0218aad8 data_ov15_0218aad8: ; 0x0218aad8 .word func_ov15_0213a184 .global data_ov15_0218aadc data_ov15_0218aadc: ; 0x0218aadc .word func_ov15_02139170 .global data_ov15_0218aae0 data_ov15_0218aae0: ; 0x0218aae0 .word func_ov15_0213a480 .global data_ov15_0218aae4 data_ov15_0218aae4: ; 0x0218aae4 .word _ZN10PlayerBase8TeleportEP5Vec3psibb .global data_ov15_0218aae8 data_ov15_0218aae8: ; 0x0218aae8 .word func_ov15_0213a618 .global data_ov15_0218aaec data_ov15_0218aaec: ; 0x0218aaec .word _ZN10PlayerBase9AddHealthEs .global data_ov15_0218aaf0 data_ov15_0218aaf0: ; 0x0218aaf0 .word func_ov15_021412b0 .global data_ov15_0218aaf4 data_ov15_0218aaf4: ; 0x0218aaf4 .word func_ov15_02141300 .global data_ov15_0218aaf8 data_ov15_0218aaf8: ; 0x0218aaf8 .word func_ov15_02141334 .global data_ov15_0218aafc data_ov15_0218aafc: ; 0x0218aafc .word func_ov15_02139ab4 .global data_ov15_0218ab00 data_ov15_0218ab00: ; 0x0218ab00 .word func_ov15_02139cd0 .global data_ov15_0218ab04 data_ov15_0218ab04: ; 0x0218ab04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ab08 data_ov15_0218ab08: ; 0x0218ab08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ab0c data_ov15_0218ab0c: ; 0x0218ab0c .word func_ov15_02139a80 .global data_ov15_0218ab10 data_ov15_0218ab10: ; 0x0218ab10 .word func_ov15_0213a5e8 .global data_ov15_0218ab14 data_ov15_0218ab14: ; 0x0218ab14 .word func_02030320 .global data_ov15_0218ab18 data_ov15_0218ab18: ; 0x0218ab18 .word func_02030324 .global data_ov15_0218ab1c data_ov15_0218ab1c: ; 0x0218ab1c .word func_02030328 .global data_ov15_0218ab20 data_ov15_0218ab20: ; 0x0218ab20 .word func_0203032c .global data_ov15_0218ab24 data_ov15_0218ab24: ; 0x0218ab24 .word func_02030330 .global data_ov15_0218ab28 data_ov15_0218ab28: ; 0x0218ab28 .word func_02030334 .global data_ov15_0218ab2c data_ov15_0218ab2c: ; 0x0218ab2c .word func_02030338 .global data_ov15_0218ab30 data_ov15_0218ab30: ; 0x0218ab30 .word func_0203033c .global data_ov15_0218ab34 data_ov15_0218ab34: ; 0x0218ab34 .word func_02030340 .global data_ov15_0218ab38 data_ov15_0218ab38: ; 0x0218ab38 .word func_02030344 .global data_ov15_0218ab3c data_ov15_0218ab3c: ; 0x0218ab3c .word func_02030348 .global data_ov15_0218ab40 data_ov15_0218ab40: ; 0x0218ab40 .word func_020302d4 .global data_ov15_0218ab44 data_ov15_0218ab44: ; 0x0218ab44 .word func_0203034c .global data_ov15_0218ab48 data_ov15_0218ab48: ; 0x0218ab48 .word func_02030350 .global data_ov15_0218ab4c data_ov15_0218ab4c: ; 0x0218ab4c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ab50 data_ov15_0218ab50: ; 0x0218ab50 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ab54 data_ov15_0218ab54: ; 0x0218ab54 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ab58 data_ov15_0218ab58: ; 0x0218ab58 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ab5c data_ov15_0218ab5c: ; 0x0218ab5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ab60 data_ov15_0218ab60: ; 0x0218ab60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ab64 data_ov15_0218ab64: ; 0x0218ab64 .word func_ov15_0213a894 .global data_ov15_0218ab68 data_ov15_0218ab68: ; 0x0218ab68 .word func_ov15_0213a8bc .global data_ov15_0218ab6c data_ov15_0218ab6c: ; 0x0218ab6c .word func_ov15_0213a8ec .global data_ov15_0218ab70 data_ov15_0218ab70: ; 0x0218ab70 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218ab74 data_ov15_0218ab74: ; 0x0218ab74 .word func_ov15_02123ba8 .global data_ov15_0218ab78 data_ov15_0218ab78: ; 0x0218ab78 .word func_ov15_02123a9c .global data_ov15_0218ab7c data_ov15_0218ab7c: ; 0x0218ab7c .word func_ov15_02123b78 .global data_ov15_0218ab80 data_ov15_0218ab80: ; 0x0218ab80 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218ab84 data_ov15_0218ab84: ; 0x0218ab84 .word func_ov15_0213b21c .global data_ov15_0218ab88 data_ov15_0218ab88: ; 0x0218ab88 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218ab8c data_ov15_0218ab8c: ; 0x0218ab8c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218ab90 data_ov15_0218ab90: ; 0x0218ab90 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218ab94 data_ov15_0218ab94: ; 0x0218ab94 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218ab98 data_ov15_0218ab98: ; 0x0218ab98 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218ab9c data_ov15_0218ab9c: ; 0x0218ab9c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218aba0 data_ov15_0218aba0: ; 0x0218aba0 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218aba4 data_ov15_0218aba4: ; 0x0218aba4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218aba8 data_ov15_0218aba8: ; 0x0218aba8 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218abac data_ov15_0218abac: ; 0x0218abac .word func_ov15_0213b248 .global data_ov15_0218abb0 data_ov15_0218abb0: ; 0x0218abb0 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218abb4 data_ov15_0218abb4: ; 0x0218abb4 .word _ZN5Actor6GetPosEv .global data_ov15_0218abb8 data_ov15_0218abb8: ; 0x0218abb8 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218abbc data_ov15_0218abbc: ; 0x0218abbc .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218abc0 data_ov15_0218abc0: ; 0x0218abc0 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218abc4 data_ov15_0218abc4: ; 0x0218abc4 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218abc8 data_ov15_0218abc8: ; 0x0218abc8 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218abcc data_ov15_0218abcc: ; 0x0218abcc .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218abd0 data_ov15_0218abd0: ; 0x0218abd0 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218abd4 data_ov15_0218abd4: ; 0x0218abd4 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218abd8 data_ov15_0218abd8: ; 0x0218abd8 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218abdc data_ov15_0218abdc: ; 0x0218abdc .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218abe0 data_ov15_0218abe0: ; 0x0218abe0 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218abe4 data_ov15_0218abe4: ; 0x0218abe4 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218abe8 data_ov15_0218abe8: ; 0x0218abe8 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218abec data_ov15_0218abec: ; 0x0218abec .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218abf0 data_ov15_0218abf0: ; 0x0218abf0 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218abf4 data_ov15_0218abf4: ; 0x0218abf4 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218abf8 data_ov15_0218abf8: ; 0x0218abf8 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218abfc data_ov15_0218abfc: ; 0x0218abfc .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218ac00 data_ov15_0218ac00: ; 0x0218ac00 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218ac04 data_ov15_0218ac04: ; 0x0218ac04 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218ac08 data_ov15_0218ac08: ; 0x0218ac08 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218ac0c data_ov15_0218ac0c: ; 0x0218ac0c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218ac10 data_ov15_0218ac10: ; 0x0218ac10 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218ac14 data_ov15_0218ac14: ; 0x0218ac14 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218ac18 data_ov15_0218ac18: ; 0x0218ac18 .word func_ov15_0213b2d8 .global data_ov15_0218ac1c data_ov15_0218ac1c: ; 0x0218ac1c .word func_ov15_0213abc4 .global data_ov15_0218ac20 data_ov15_0218ac20: ; 0x0218ac20 .word func_ov15_02123770 .global data_ov15_0218ac24 data_ov15_0218ac24: ; 0x0218ac24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac28 data_ov15_0218ac28: ; 0x0218ac28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac2c data_ov15_0218ac2c: ; 0x0218ac2c .word func_ov00_020c5d34 .global data_ov15_0218ac30 data_ov15_0218ac30: ; 0x0218ac30 .word func_ov15_02125384 .global data_ov15_0218ac34 data_ov15_0218ac34: ; 0x0218ac34 .word func_ov00_020c5e58 .global data_ov15_0218ac38 data_ov15_0218ac38: ; 0x0218ac38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac3c data_ov15_0218ac3c: ; 0x0218ac3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac40 data_ov15_0218ac40: ; 0x0218ac40 .word func_ov00_020a9acc .global data_ov15_0218ac44 data_ov15_0218ac44: ; 0x0218ac44 .word func_ov00_020a9ad8 .global data_ov15_0218ac48 data_ov15_0218ac48: ; 0x0218ac48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac4c data_ov15_0218ac4c: ; 0x0218ac4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac50 data_ov15_0218ac50: ; 0x0218ac50 .word func_ov15_0213a854 .global data_ov15_0218ac54 data_ov15_0218ac54: ; 0x0218ac54 .word func_ov15_0213b2bc .global data_ov15_0218ac58 data_ov15_0218ac58: ; 0x0218ac58 .word func_ov00_020a960c .global data_ov15_0218ac5c data_ov15_0218ac5c: ; 0x0218ac5c .word func_ov00_020a9614 .global data_ov15_0218ac60 data_ov15_0218ac60: ; 0x0218ac60 .word func_ov00_020a9650 .global data_ov15_0218ac64 data_ov15_0218ac64: ; 0x0218ac64 .word func_ov00_020a96d4 .global data_ov15_0218ac68 data_ov15_0218ac68: ; 0x0218ac68 .word func_ov00_020a9740 .global data_ov15_0218ac6c data_ov15_0218ac6c: ; 0x0218ac6c .word func_ov00_020a9764 .global data_ov15_0218ac70 data_ov15_0218ac70: ; 0x0218ac70 .word func_ov00_020a97d0 .global data_ov15_0218ac74 data_ov15_0218ac74: ; 0x0218ac74 .word func_ov00_020a97e0 .global data_ov15_0218ac78 data_ov15_0218ac78: ; 0x0218ac78 .word func_ov00_020a97f8 .global data_ov15_0218ac7c data_ov15_0218ac7c: ; 0x0218ac7c .word func_ov00_020a9864 .global data_ov15_0218ac80 data_ov15_0218ac80: ; 0x0218ac80 .word func_ov00_020a98bc .global data_ov15_0218ac84 data_ov15_0218ac84: ; 0x0218ac84 .word func_ov00_020a9890 .global data_ov15_0218ac88 data_ov15_0218ac88: ; 0x0218ac88 .word func_ov00_020a9968 .global data_ov15_0218ac8c data_ov15_0218ac8c: ; 0x0218ac8c .word func_ov15_0213a728 .global data_ov15_0218ac90 data_ov15_0218ac90: ; 0x0218ac90 .word func_ov15_0213c580 .global data_ov15_0218ac94 data_ov15_0218ac94: ; 0x0218ac94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ac98 data_ov15_0218ac98: ; 0x0218ac98 .word func_ov15_0213b9ec .global data_ov15_0218ac9c data_ov15_0218ac9c: ; 0x0218ac9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aca0 data_ov15_0218aca0: ; 0x0218aca0 .word func_ov15_0213bcc8 .global data_ov15_0218aca4 data_ov15_0218aca4: ; 0x0218aca4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aca8 data_ov15_0218aca8: ; 0x0218aca8 .word func_ov15_0213bfe8 .global data_ov15_0218acac data_ov15_0218acac: ; 0x0218acac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218acb0 data_ov15_0218acb0: ; 0x0218acb0 .word func_ov15_0213c364 .global data_ov15_0218acb4 data_ov15_0218acb4: ; 0x0218acb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218acb8 data_ov15_0218acb8: ; 0x0218acb8 .word func_ov15_0213c580 .global data_ov15_0218acbc data_ov15_0218acbc: ; 0x0218acbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218acc0 data_ov15_0218acc0: ; 0x0218acc0 .word func_ov15_0213c788 .global data_ov15_0218acc4 data_ov15_0218acc4: ; 0x0218acc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218acc8 data_ov15_0218acc8: ; 0x0218acc8 .word func_ov15_0213c580 .global data_ov15_0218accc data_ov15_0218accc: ; 0x0218accc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218acd0 data_ov15_0218acd0: ; 0x0218acd0 .word func_ov15_0213c364 .global data_ov15_0218acd4 data_ov15_0218acd4: ; 0x0218acd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218acd8 data_ov15_0218acd8: ; 0x0218acd8 .word func_ov15_0213c580 .global data_ov15_0218acdc data_ov15_0218acdc: ; 0x0218acdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ace0 data_ov15_0218ace0: ; 0x0218ace0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ace4 data_ov15_0218ace4: ; 0x0218ace4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ace8 data_ov15_0218ace8: ; 0x0218ace8 .word func_ov15_0213b378 .global data_ov15_0218acec data_ov15_0218acec: ; 0x0218acec .word func_ov15_0213b3e4 .global data_ov15_0218acf0 data_ov15_0218acf0: ; 0x0218acf0 .word func_ov15_0213b458 .global data_ov15_0218acf4 data_ov15_0218acf4: ; 0x0218acf4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218acf8 data_ov15_0218acf8: ; 0x0218acf8 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218acfc data_ov15_0218acfc: ; 0x0218acfc .word func_ov15_0213cb18 .global data_ov15_0218ad00 data_ov15_0218ad00: ; 0x0218ad00 .word func_ov15_0213cc98 .global data_ov15_0218ad04 data_ov15_0218ad04: ; 0x0218ad04 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218ad08 data_ov15_0218ad08: ; 0x0218ad08 .word func_ov15_0213cd5c .global data_ov15_0218ad0c data_ov15_0218ad0c: ; 0x0218ad0c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218ad10 data_ov15_0218ad10: ; 0x0218ad10 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218ad14 data_ov15_0218ad14: ; 0x0218ad14 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218ad18 data_ov15_0218ad18: ; 0x0218ad18 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218ad1c data_ov15_0218ad1c: ; 0x0218ad1c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218ad20 data_ov15_0218ad20: ; 0x0218ad20 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218ad24 data_ov15_0218ad24: ; 0x0218ad24 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218ad28 data_ov15_0218ad28: ; 0x0218ad28 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218ad2c data_ov15_0218ad2c: ; 0x0218ad2c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218ad30 data_ov15_0218ad30: ; 0x0218ad30 .word func_ov15_0213cce4 .global data_ov15_0218ad34 data_ov15_0218ad34: ; 0x0218ad34 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218ad38 data_ov15_0218ad38: ; 0x0218ad38 .word _ZN5Actor6GetPosEv .global data_ov15_0218ad3c data_ov15_0218ad3c: ; 0x0218ad3c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218ad40 data_ov15_0218ad40: ; 0x0218ad40 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218ad44 data_ov15_0218ad44: ; 0x0218ad44 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218ad48 data_ov15_0218ad48: ; 0x0218ad48 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218ad4c data_ov15_0218ad4c: ; 0x0218ad4c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218ad50 data_ov15_0218ad50: ; 0x0218ad50 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218ad54 data_ov15_0218ad54: ; 0x0218ad54 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218ad58 data_ov15_0218ad58: ; 0x0218ad58 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218ad5c data_ov15_0218ad5c: ; 0x0218ad5c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218ad60 data_ov15_0218ad60: ; 0x0218ad60 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218ad64 data_ov15_0218ad64: ; 0x0218ad64 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218ad68 data_ov15_0218ad68: ; 0x0218ad68 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218ad6c data_ov15_0218ad6c: ; 0x0218ad6c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218ad70 data_ov15_0218ad70: ; 0x0218ad70 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218ad74 data_ov15_0218ad74: ; 0x0218ad74 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218ad78 data_ov15_0218ad78: ; 0x0218ad78 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218ad7c data_ov15_0218ad7c: ; 0x0218ad7c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218ad80 data_ov15_0218ad80: ; 0x0218ad80 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218ad84 data_ov15_0218ad84: ; 0x0218ad84 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218ad88 data_ov15_0218ad88: ; 0x0218ad88 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218ad8c data_ov15_0218ad8c: ; 0x0218ad8c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218ad90 data_ov15_0218ad90: ; 0x0218ad90 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218ad94 data_ov15_0218ad94: ; 0x0218ad94 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218ad98 data_ov15_0218ad98: ; 0x0218ad98 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218ad9c data_ov15_0218ad9c: ; 0x0218ad9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ada0 data_ov15_0218ada0: ; 0x0218ada0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ada4 data_ov15_0218ada4: ; 0x0218ada4 .word func_ov00_020c5d34 .global data_ov15_0218ada8 data_ov15_0218ada8: ; 0x0218ada8 .word func_ov15_02125384 .global data_ov15_0218adac data_ov15_0218adac: ; 0x0218adac .word func_ov00_020c5e58 .global data_ov15_0218adb0 data_ov15_0218adb0: ; 0x0218adb0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218adb4 data_ov15_0218adb4: ; 0x0218adb4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218adb8 data_ov15_0218adb8: ; 0x0218adb8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218adbc data_ov15_0218adbc: ; 0x0218adbc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218adc0 data_ov15_0218adc0: ; 0x0218adc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218adc4 data_ov15_0218adc4: ; 0x0218adc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218adc8 data_ov15_0218adc8: ; 0x0218adc8 .word func_ov15_0213dd74 .global data_ov15_0218adcc data_ov15_0218adcc: ; 0x0218adcc .word func_ov15_0213dd88 .global data_ov15_0218add0 data_ov15_0218add0: ; 0x0218add0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218add4 data_ov15_0218add4: ; 0x0218add4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218add8 data_ov15_0218add8: ; 0x0218add8 .word func_ov15_02123ba8 .global data_ov15_0218addc data_ov15_0218addc: ; 0x0218addc .word func_ov15_02123a9c .global data_ov15_0218ade0 data_ov15_0218ade0: ; 0x0218ade0 .word func_ov15_02123b78 .global data_ov15_0218ade4 data_ov15_0218ade4: ; 0x0218ade4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218ade8 data_ov15_0218ade8: ; 0x0218ade8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218adec data_ov15_0218adec: ; 0x0218adec .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218adf0 data_ov15_0218adf0: ; 0x0218adf0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218adf4 data_ov15_0218adf4: ; 0x0218adf4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218adf8 data_ov15_0218adf8: ; 0x0218adf8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218adfc data_ov15_0218adfc: ; 0x0218adfc .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218ae00 data_ov15_0218ae00: ; 0x0218ae00 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218ae04 data_ov15_0218ae04: ; 0x0218ae04 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218ae08 data_ov15_0218ae08: ; 0x0218ae08 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218ae0c data_ov15_0218ae0c: ; 0x0218ae0c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218ae10 data_ov15_0218ae10: ; 0x0218ae10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ae14 data_ov15_0218ae14: ; 0x0218ae14 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218ae18 data_ov15_0218ae18: ; 0x0218ae18 .word _ZN5Actor6GetPosEv .global data_ov15_0218ae1c data_ov15_0218ae1c: ; 0x0218ae1c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218ae20 data_ov15_0218ae20: ; 0x0218ae20 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218ae24 data_ov15_0218ae24: ; 0x0218ae24 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218ae28 data_ov15_0218ae28: ; 0x0218ae28 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218ae2c data_ov15_0218ae2c: ; 0x0218ae2c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218ae30 data_ov15_0218ae30: ; 0x0218ae30 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218ae34 data_ov15_0218ae34: ; 0x0218ae34 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218ae38 data_ov15_0218ae38: ; 0x0218ae38 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218ae3c data_ov15_0218ae3c: ; 0x0218ae3c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218ae40 data_ov15_0218ae40: ; 0x0218ae40 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218ae44 data_ov15_0218ae44: ; 0x0218ae44 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218ae48 data_ov15_0218ae48: ; 0x0218ae48 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218ae4c data_ov15_0218ae4c: ; 0x0218ae4c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218ae50 data_ov15_0218ae50: ; 0x0218ae50 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218ae54 data_ov15_0218ae54: ; 0x0218ae54 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218ae58 data_ov15_0218ae58: ; 0x0218ae58 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218ae5c data_ov15_0218ae5c: ; 0x0218ae5c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218ae60 data_ov15_0218ae60: ; 0x0218ae60 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218ae64 data_ov15_0218ae64: ; 0x0218ae64 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218ae68 data_ov15_0218ae68: ; 0x0218ae68 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218ae6c data_ov15_0218ae6c: ; 0x0218ae6c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218ae70 data_ov15_0218ae70: ; 0x0218ae70 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218ae74 data_ov15_0218ae74: ; 0x0218ae74 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218ae78 data_ov15_0218ae78: ; 0x0218ae78 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218ae7c data_ov15_0218ae7c: ; 0x0218ae7c .word func_ov15_0213b2d8 .global data_ov15_0218ae80 data_ov15_0218ae80: ; 0x0218ae80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ae84 data_ov15_0218ae84: ; 0x0218ae84 .word func_ov15_02123770 .global data_ov15_0218ae88 data_ov15_0218ae88: ; 0x0218ae88 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ae8c data_ov15_0218ae8c: ; 0x0218ae8c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ae90 data_ov15_0218ae90: ; 0x0218ae90 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ae94 data_ov15_0218ae94: ; 0x0218ae94 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ae98 data_ov15_0218ae98: ; 0x0218ae98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ae9c data_ov15_0218ae9c: ; 0x0218ae9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aea0 data_ov15_0218aea0: ; 0x0218aea0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aea4 data_ov15_0218aea4: ; 0x0218aea4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aea8 data_ov15_0218aea8: ; 0x0218aea8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aeac data_ov15_0218aeac: ; 0x0218aeac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218aeb0 data_ov15_0218aeb0: ; 0x0218aeb0 .word func_ov15_0213e754 .global data_ov15_0218aeb4 data_ov15_0218aeb4: ; 0x0218aeb4 .word func_ov15_0213e7e4 .global data_ov15_0218aeb8 data_ov15_0218aeb8: ; 0x0218aeb8 .word func_ov15_0213e87c .global data_ov15_0218aebc data_ov15_0218aebc: ; 0x0218aebc .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218aec0 data_ov15_0218aec0: ; 0x0218aec0 .word func_ov15_02140c00 .global data_ov15_0218aec4 data_ov15_0218aec4: ; 0x0218aec4 .word func_ov15_02123a9c .global data_ov15_0218aec8 data_ov15_0218aec8: ; 0x0218aec8 .word func_ov15_0213f578 .global data_ov15_0218aecc data_ov15_0218aecc: ; 0x0218aecc .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218aed0 data_ov15_0218aed0: ; 0x0218aed0 .word func_ov15_02140efc .global data_ov15_0218aed4 data_ov15_0218aed4: ; 0x0218aed4 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218aed8 data_ov15_0218aed8: ; 0x0218aed8 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218aedc data_ov15_0218aedc: ; 0x0218aedc .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218aee0 data_ov15_0218aee0: ; 0x0218aee0 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218aee4 data_ov15_0218aee4: ; 0x0218aee4 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218aee8 data_ov15_0218aee8: ; 0x0218aee8 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218aeec data_ov15_0218aeec: ; 0x0218aeec .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218aef0 data_ov15_0218aef0: ; 0x0218aef0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218aef4 data_ov15_0218aef4: ; 0x0218aef4 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218aef8 data_ov15_0218aef8: ; 0x0218aef8 .word func_ov15_02141018 .global data_ov15_0218aefc data_ov15_0218aefc: ; 0x0218aefc .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218af00 data_ov15_0218af00: ; 0x0218af00 .word _ZN5Actor6GetPosEv .global data_ov15_0218af04 data_ov15_0218af04: ; 0x0218af04 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218af08 data_ov15_0218af08: ; 0x0218af08 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218af0c data_ov15_0218af0c: ; 0x0218af0c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218af10 data_ov15_0218af10: ; 0x0218af10 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218af14 data_ov15_0218af14: ; 0x0218af14 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218af18 data_ov15_0218af18: ; 0x0218af18 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218af1c data_ov15_0218af1c: ; 0x0218af1c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218af20 data_ov15_0218af20: ; 0x0218af20 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218af24 data_ov15_0218af24: ; 0x0218af24 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218af28 data_ov15_0218af28: ; 0x0218af28 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218af2c data_ov15_0218af2c: ; 0x0218af2c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218af30 data_ov15_0218af30: ; 0x0218af30 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218af34 data_ov15_0218af34: ; 0x0218af34 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218af38 data_ov15_0218af38: ; 0x0218af38 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218af3c data_ov15_0218af3c: ; 0x0218af3c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218af40 data_ov15_0218af40: ; 0x0218af40 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218af44 data_ov15_0218af44: ; 0x0218af44 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218af48 data_ov15_0218af48: ; 0x0218af48 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218af4c data_ov15_0218af4c: ; 0x0218af4c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218af50 data_ov15_0218af50: ; 0x0218af50 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218af54 data_ov15_0218af54: ; 0x0218af54 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218af58 data_ov15_0218af58: ; 0x0218af58 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218af5c data_ov15_0218af5c: ; 0x0218af5c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218af60 data_ov15_0218af60: ; 0x0218af60 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218af64 data_ov15_0218af64: ; 0x0218af64 .word func_ov15_0213b2d8 .global data_ov15_0218af68 data_ov15_0218af68: ; 0x0218af68 .word func_ov15_0213f5cc .global data_ov15_0218af6c data_ov15_0218af6c: ; 0x0218af6c .word func_ov15_02123770 .global data_ov15_0218af70 data_ov15_0218af70: ; 0x0218af70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218af74 data_ov15_0218af74: ; 0x0218af74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218af78 data_ov15_0218af78: ; 0x0218af78 .word func_ov00_020c5d34 .global data_ov15_0218af7c data_ov15_0218af7c: ; 0x0218af7c .word func_ov15_02125384 .global data_ov15_0218af80 data_ov15_0218af80: ; 0x0218af80 .word func_ov00_020c5e58 .global data_ov15_0218af84 data_ov15_0218af84: ; 0x0218af84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218af88 data_ov15_0218af88: ; 0x0218af88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218af8c data_ov15_0218af8c: ; 0x0218af8c .word func_ov00_020a9b0c .global data_ov15_0218af90 data_ov15_0218af90: ; 0x0218af90 .word func_ov00_020a9b18 .global data_ov15_0218af94 data_ov15_0218af94: ; 0x0218af94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218af98 data_ov15_0218af98: ; 0x0218af98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218af9c data_ov15_0218af9c: ; 0x0218af9c .word func_ov15_0213e67c .global data_ov15_0218afa0 data_ov15_0218afa0: ; 0x0218afa0 .word func_ov15_02141048 .global data_ov15_0218afa4 data_ov15_0218afa4: ; 0x0218afa4 .word func_ov00_020a960c .global data_ov15_0218afa8 data_ov15_0218afa8: ; 0x0218afa8 .word func_ov00_020a9614 .global data_ov15_0218afac data_ov15_0218afac: ; 0x0218afac .word func_ov00_020a9650 .global data_ov15_0218afb0 data_ov15_0218afb0: ; 0x0218afb0 .word func_ov00_020a96d4 .global data_ov15_0218afb4 data_ov15_0218afb4: ; 0x0218afb4 .word func_ov00_020a9740 .global data_ov15_0218afb8 data_ov15_0218afb8: ; 0x0218afb8 .word func_ov00_020a9764 .global data_ov15_0218afbc data_ov15_0218afbc: ; 0x0218afbc .word func_ov00_020a97d0 .global data_ov15_0218afc0 data_ov15_0218afc0: ; 0x0218afc0 .word func_ov00_020a97e0 .global data_ov15_0218afc4 data_ov15_0218afc4: ; 0x0218afc4 .word func_ov00_020a97f8 .global data_ov15_0218afc8 data_ov15_0218afc8: ; 0x0218afc8 .word func_ov00_020a9864 .global data_ov15_0218afcc data_ov15_0218afcc: ; 0x0218afcc .word func_ov00_020a98bc .global data_ov15_0218afd0 data_ov15_0218afd0: ; 0x0218afd0 .word func_ov00_020a9890 .global data_ov15_0218afd4 data_ov15_0218afd4: ; 0x0218afd4 .word func_ov00_020a9968 .global data_ov15_0218afd8 data_ov15_0218afd8: ; 0x0218afd8 .word func_ov15_0213e4fc .global data_ov15_0218afdc data_ov15_0218afdc: ; 0x0218afdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218afe0 data_ov15_0218afe0: ; 0x0218afe0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218afe4 data_ov15_0218afe4: ; 0x0218afe4 .word func_ov15_021410b4 .global data_ov15_0218afe8 data_ov15_0218afe8: ; 0x0218afe8 .word func_ov15_021410c8 ; func_ov61_021410c8 .global data_ov15_0218afec data_ov15_0218afec: ; 0x0218afec .word func_ov15_021410e4 .global data_ov15_0218aff0 data_ov15_0218aff0: ; 0x0218aff0 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218aff4 data_ov15_0218aff4: ; 0x0218aff4 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218aff8 data_ov15_0218aff8: ; 0x0218aff8 .word func_ov15_021411c4 .global data_ov15_0218affc data_ov15_0218affc: ; 0x0218affc .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218b000 data_ov15_0218b000: ; 0x0218b000 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218b004 data_ov15_0218b004: ; 0x0218b004 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218b008 data_ov15_0218b008: ; 0x0218b008 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218b00c data_ov15_0218b00c: ; 0x0218b00c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218b010 data_ov15_0218b010: ; 0x0218b010 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218b014 data_ov15_0218b014: ; 0x0218b014 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218b018 data_ov15_0218b018: ; 0x0218b018 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218b01c data_ov15_0218b01c: ; 0x0218b01c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218b020 data_ov15_0218b020: ; 0x0218b020 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218b024 data_ov15_0218b024: ; 0x0218b024 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b028 data_ov15_0218b028: ; 0x0218b028 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218b02c data_ov15_0218b02c: ; 0x0218b02c .word func_ov15_02141238 .global data_ov15_0218b030 data_ov15_0218b030: ; 0x0218b030 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218b034 data_ov15_0218b034: ; 0x0218b034 .word _ZN5Actor6GetPosEv .global data_ov15_0218b038 data_ov15_0218b038: ; 0x0218b038 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218b03c data_ov15_0218b03c: ; 0x0218b03c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218b040 data_ov15_0218b040: ; 0x0218b040 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218b044 data_ov15_0218b044: ; 0x0218b044 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218b048 data_ov15_0218b048: ; 0x0218b048 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218b04c data_ov15_0218b04c: ; 0x0218b04c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218b050 data_ov15_0218b050: ; 0x0218b050 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218b054 data_ov15_0218b054: ; 0x0218b054 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218b058 data_ov15_0218b058: ; 0x0218b058 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218b05c data_ov15_0218b05c: ; 0x0218b05c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218b060 data_ov15_0218b060: ; 0x0218b060 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218b064 data_ov15_0218b064: ; 0x0218b064 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218b068 data_ov15_0218b068: ; 0x0218b068 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218b06c data_ov15_0218b06c: ; 0x0218b06c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218b070 data_ov15_0218b070: ; 0x0218b070 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218b074 data_ov15_0218b074: ; 0x0218b074 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218b078 data_ov15_0218b078: ; 0x0218b078 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218b07c data_ov15_0218b07c: ; 0x0218b07c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218b080 data_ov15_0218b080: ; 0x0218b080 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218b084 data_ov15_0218b084: ; 0x0218b084 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218b088 data_ov15_0218b088: ; 0x0218b088 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218b08c data_ov15_0218b08c: ; 0x0218b08c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218b090 data_ov15_0218b090: ; 0x0218b090 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218b094 data_ov15_0218b094: ; 0x0218b094 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218b098 data_ov15_0218b098: ; 0x0218b098 .word data_ov15_0218b110 ; data_ov40_0218b110 .global data_ov15_0218b09c data_ov15_0218b09c: ; 0x0218b09c .word data_ov15_0218b128 ; data_ov40_0218b128 .global data_ov15_0218b0a0 data_ov15_0218b0a0: ; 0x0218b0a0 .word data_ov15_0218b164 ; data_ov40_0218b164 .global data_ov15_0218b0a4 data_ov15_0218b0a4: ; 0x0218b0a4 .word data_ov15_0218b140 ; data_ov40_0218b140 .global data_ov15_0218b0a8 data_ov15_0218b0a8: ; 0x0218b0a8 .word data_ov15_0218b0f8 ; data_ov40_0218b0f8 .global data_ov15_0218b0ac data_ov15_0218b0ac: ; 0x0218b0ac .word data_ov15_0218b0e0 ; data_ov40_0218b0e0 .global data_ov15_0218b0b0 data_ov15_0218b0b0: ; 0x0218b0b0 .word data_ov15_0218b188 ; data_ov40_0218b188 .global data_ov15_0218b0b4 data_ov15_0218b0b4: ; 0x0218b0b4 .word data_ov15_0218b1ac ; data_ov40_0218b1ac .global data_ov15_0218b0b8 data_ov15_0218b0b8: ; 0x0218b0b8 .word data_ov15_0218b1d0 ; data_ov40_0218b1d0 .global data_ov15_0218b0bc data_ov15_0218b0bc: ; 0x0218b0bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b0c0 data_ov15_0218b0c0: ; 0x0218b0c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b0c4 data_ov15_0218b0c4: ; 0x0218b0c4 .word func_ov15_02141578 .global data_ov15_0218b0c8 data_ov15_0218b0c8: ; 0x0218b0c8 .word func_ov15_02141594 ; func_ov60_02141594 .global data_ov15_0218b0cc data_ov15_0218b0cc: ; 0x0218b0cc .word func_ov15_021424e4 .global data_ov15_0218b0d0 data_ov15_0218b0d0: ; 0x0218b0d0 .word func_ov15_021424e8 .global data_ov15_0218b0d4 data_ov15_0218b0d4: ; 0x0218b0d4 .word func_ov15_021424f0 .global data_ov15_0218b0d8 data_ov15_0218b0d8: ; 0x0218b0d8 .word func_ov15_02141638 .global data_ov15_0218b0dc data_ov15_0218b0dc: ; 0x0218b0dc .word func_ov15_021424f8 ; func_ov61_021424f8 .global data_ov15_0218b0e0 data_ov15_0218b0e0: ; 0x0218b0e0 .ascii "MUS:salvage_BG01.nsbta" .byte 0x00, 0x00 .global data_ov15_0218b0f8 data_ov15_0218b0f8: ; 0x0218b0f8 .ascii "MUS:salvage_BG00.nsbta" .byte 0x00, 0x00 .global data_ov15_0218b110 data_ov15_0218b110: ; 0x0218b110 .ascii "MUS:salvage_BG00.nsbmd" .byte 0x00, 0x00 .global data_ov15_0218b128 data_ov15_0218b128: ; 0x0218b128 .ascii "MUS:salvage_BG01.nsbmd" .byte 0x00, 0x00 .global data_ov15_0218b140 data_ov15_0218b140: ; 0x0218b140 .ascii "Environment/Sea/salvage_BG01.narc" .byte 0x00, 0x00, 0x00 .global data_ov15_0218b164 data_ov15_0218b164: ; 0x0218b164 .ascii "Environment/Sea/salvage_BG00.narc" .byte 0x00, 0x00, 0x00 .global data_ov15_0218b188 data_ov15_0218b188: ; 0x0218b188 .ascii "Environment/Sea/salvage_BG00.nsbtx" .byte 0x00, 0x00 .global data_ov15_0218b1ac data_ov15_0218b1ac: ; 0x0218b1ac .ascii "Environment/Sea/salvage_BG01.nsbtx" .byte 0x00, 0x00 .global data_ov15_0218b1d0 data_ov15_0218b1d0: ; 0x0218b1d0 .ascii "MUS" .byte 0x00 .global data_ov15_0218b1d4 data_ov15_0218b1d4: ; 0x0218b1d4 .ascii "brg" .byte 0x00 .global data_ov15_0218b1d8 data_ov15_0218b1d8: ; 0x0218b1d8 .ascii "fnl" .byte 0x00 .global data_ov15_0218b1dc data_ov15_0218b1dc: ; 0x0218b1dc .ascii "pdl" .byte 0x00 .global data_ov15_0218b1e0 data_ov15_0218b1e0: ; 0x0218b1e0 .ascii "dco" .byte 0x00 .global data_ov15_0218b1e4 data_ov15_0218b1e4: ; 0x0218b1e4 .ascii "can" .byte 0x00 .global data_ov15_0218b1e8 data_ov15_0218b1e8: ; 0x0218b1e8 .ascii "hul" .byte 0x00 .global data_ov15_0218b1ec data_ov15_0218b1ec: ; 0x0218b1ec .ascii "bow" .byte 0x00 .global data_ov15_0218b1f0 data_ov15_0218b1f0: ; 0x0218b1f0 .ascii "anc" .byte 0x00 .global data_ov15_0218b1f4 data_ov15_0218b1f4: ; 0x0218b1f4 .word data_ov15_0218b1f0 ; data_ov40_0218b1f0 .global data_ov15_0218b1f8 data_ov15_0218b1f8: ; 0x0218b1f8 .word data_ov15_0218b1ec ; data_ov40_0218b1ec .global data_ov15_0218b1fc data_ov15_0218b1fc: ; 0x0218b1fc .word data_ov15_0218b1e8 ; data_ov40_0218b1e8, func_ov41_0218b1e8 .global data_ov15_0218b200 data_ov15_0218b200: ; 0x0218b200 .word data_ov15_0218b1e4 ; data_ov40_0218b1e4 .global data_ov15_0218b204 data_ov15_0218b204: ; 0x0218b204 .word data_ov15_0218b1e0 ; data_ov40_0218b1e0 .global data_ov15_0218b208 data_ov15_0218b208: ; 0x0218b208 .word data_ov15_0218b1dc ; data_ov40_0218b1dc, func_ov44_0218b1dc .global data_ov15_0218b20c data_ov15_0218b20c: ; 0x0218b20c .word data_ov15_0218b1d8 ; data_ov40_0218b1d8 .global data_ov15_0218b210 data_ov15_0218b210: ; 0x0218b210 .word data_ov15_0218b1d4 ; data_ov40_0218b1d4 .global data_ov15_0218b214 data_ov15_0218b214: ; 0x0218b214 .byte 0xfe, 0x00, 0x00, 0x00 .global data_ov15_0218b218 data_ov15_0218b218: ; 0x0218b218 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218b21c data_ov15_0218b21c: ; 0x0218b21c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b220 data_ov15_0218b220: ; 0x0218b220 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b224 data_ov15_0218b224: ; 0x0218b224 .word func_ov15_02145ef8 .global data_ov15_0218b228 data_ov15_0218b228: ; 0x0218b228 .word func_ov15_02145f28 .global data_ov15_0218b22c data_ov15_0218b22c: ; 0x0218b22c .word func_ov15_02145f60 .global data_ov15_0218b230 data_ov15_0218b230: ; 0x0218b230 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218b234 data_ov15_0218b234: ; 0x0218b234 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218b238 data_ov15_0218b238: ; 0x0218b238 .word _ZN5Actor8vfunc_14Ej .global data_ov15_0218b23c data_ov15_0218b23c: ; 0x0218b23c .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218b240 data_ov15_0218b240: ; 0x0218b240 .word func_ov15_02145fdc .global data_ov15_0218b244 data_ov15_0218b244: ; 0x0218b244 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218b248 data_ov15_0218b248: ; 0x0218b248 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218b24c data_ov15_0218b24c: ; 0x0218b24c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218b250 data_ov15_0218b250: ; 0x0218b250 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218b254 data_ov15_0218b254: ; 0x0218b254 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218b258 data_ov15_0218b258: ; 0x0218b258 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218b25c data_ov15_0218b25c: ; 0x0218b25c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218b260 data_ov15_0218b260: ; 0x0218b260 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218b264 data_ov15_0218b264: ; 0x0218b264 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b268 data_ov15_0218b268: ; 0x0218b268 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218b26c data_ov15_0218b26c: ; 0x0218b26c .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218b270 data_ov15_0218b270: ; 0x0218b270 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218b274 data_ov15_0218b274: ; 0x0218b274 .word _ZN5Actor6GetPosEv .global data_ov15_0218b278 data_ov15_0218b278: ; 0x0218b278 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218b27c data_ov15_0218b27c: ; 0x0218b27c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218b280 data_ov15_0218b280: ; 0x0218b280 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218b284 data_ov15_0218b284: ; 0x0218b284 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218b288 data_ov15_0218b288: ; 0x0218b288 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218b28c data_ov15_0218b28c: ; 0x0218b28c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218b290 data_ov15_0218b290: ; 0x0218b290 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218b294 data_ov15_0218b294: ; 0x0218b294 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218b298 data_ov15_0218b298: ; 0x0218b298 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218b29c data_ov15_0218b29c: ; 0x0218b29c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218b2a0 data_ov15_0218b2a0: ; 0x0218b2a0 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218b2a4 data_ov15_0218b2a4: ; 0x0218b2a4 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218b2a8 data_ov15_0218b2a8: ; 0x0218b2a8 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218b2ac data_ov15_0218b2ac: ; 0x0218b2ac .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218b2b0 data_ov15_0218b2b0: ; 0x0218b2b0 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218b2b4 data_ov15_0218b2b4: ; 0x0218b2b4 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218b2b8 data_ov15_0218b2b8: ; 0x0218b2b8 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218b2bc data_ov15_0218b2bc: ; 0x0218b2bc .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218b2c0 data_ov15_0218b2c0: ; 0x0218b2c0 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218b2c4 data_ov15_0218b2c4: ; 0x0218b2c4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218b2c8 data_ov15_0218b2c8: ; 0x0218b2c8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218b2cc data_ov15_0218b2cc: ; 0x0218b2cc .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218b2d0 data_ov15_0218b2d0: ; 0x0218b2d0 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218b2d4 data_ov15_0218b2d4: ; 0x0218b2d4 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218b2d8 data_ov15_0218b2d8: ; 0x0218b2d8 .ascii "brg" .byte 0x00 .global data_ov15_0218b2dc data_ov15_0218b2dc: ; 0x0218b2dc .ascii "fnl" .byte 0x00 .global data_ov15_0218b2e0 data_ov15_0218b2e0: ; 0x0218b2e0 .ascii "pdl" .byte 0x00 .global data_ov15_0218b2e4 data_ov15_0218b2e4: ; 0x0218b2e4 .ascii "dco" .byte 0x00 .global data_ov15_0218b2e8 data_ov15_0218b2e8: ; 0x0218b2e8 .ascii "can" .byte 0x00 .global data_ov15_0218b2ec data_ov15_0218b2ec: ; 0x0218b2ec .ascii "hul" .byte 0x00 .global data_ov15_0218b2f0 data_ov15_0218b2f0: ; 0x0218b2f0 .ascii "bow" .byte 0x00 .global data_ov15_0218b2f4 data_ov15_0218b2f4: ; 0x0218b2f4 .ascii "anc" .byte 0x00 .global data_ov15_0218b2f8 data_ov15_0218b2f8: ; 0x0218b2f8 .word data_ov15_0218b2f4 ; data_ov40_0218b2f4 .global data_ov15_0218b2fc data_ov15_0218b2fc: ; 0x0218b2fc .word data_ov15_0218b2f0 ; data_ov40_0218b2f0 .global data_ov15_0218b300 data_ov15_0218b300: ; 0x0218b300 .word data_ov15_0218b2ec ; data_ov40_0218b2ec .global data_ov15_0218b304 data_ov15_0218b304: ; 0x0218b304 .word data_ov15_0218b2e8 ; data_ov40_0218b2e8 .global data_ov15_0218b308 data_ov15_0218b308: ; 0x0218b308 .word data_ov15_0218b2e4 ; data_ov40_0218b2e4 .global data_ov15_0218b30c data_ov15_0218b30c: ; 0x0218b30c .word data_ov15_0218b2e0 ; data_ov40_0218b2e0 .global data_ov15_0218b310 data_ov15_0218b310: ; 0x0218b310 .word data_ov15_0218b2dc ; data_ov40_0218b2dc .global data_ov15_0218b314 data_ov15_0218b314: ; 0x0218b314 .word data_ov15_0218b2d8 ; data_ov40_0218b2d8 .global data_ov15_0218b318 data_ov15_0218b318: ; 0x0218b318 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218b31c data_ov15_0218b31c: ; 0x0218b31c .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218b320 data_ov15_0218b320: ; 0x0218b320 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218b324 data_ov15_0218b324: ; 0x0218b324 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b328 data_ov15_0218b328: ; 0x0218b328 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b32c data_ov15_0218b32c: ; 0x0218b32c .word func_ov15_0214606c .global data_ov15_0218b330 data_ov15_0218b330: ; 0x0218b330 .word func_ov15_0214609c .global data_ov15_0218b334 data_ov15_0218b334: ; 0x0218b334 .word func_ov15_021460d4 .global data_ov15_0218b338 data_ov15_0218b338: ; 0x0218b338 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218b33c data_ov15_0218b33c: ; 0x0218b33c .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218b340 data_ov15_0218b340: ; 0x0218b340 .word func_ov15_02146194 .global data_ov15_0218b344 data_ov15_0218b344: ; 0x0218b344 .word func_ov15_02146198 .global data_ov15_0218b348 data_ov15_0218b348: ; 0x0218b348 .word func_ov15_021461ac .global data_ov15_0218b34c data_ov15_0218b34c: ; 0x0218b34c .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218b350 data_ov15_0218b350: ; 0x0218b350 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218b354 data_ov15_0218b354: ; 0x0218b354 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218b358 data_ov15_0218b358: ; 0x0218b358 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218b35c data_ov15_0218b35c: ; 0x0218b35c .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218b360 data_ov15_0218b360: ; 0x0218b360 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218b364 data_ov15_0218b364: ; 0x0218b364 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218b368 data_ov15_0218b368: ; 0x0218b368 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218b36c data_ov15_0218b36c: ; 0x0218b36c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b370 data_ov15_0218b370: ; 0x0218b370 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218b374 data_ov15_0218b374: ; 0x0218b374 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218b378 data_ov15_0218b378: ; 0x0218b378 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218b37c data_ov15_0218b37c: ; 0x0218b37c .word _ZN5Actor6GetPosEv .global data_ov15_0218b380 data_ov15_0218b380: ; 0x0218b380 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218b384 data_ov15_0218b384: ; 0x0218b384 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218b388 data_ov15_0218b388: ; 0x0218b388 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218b38c data_ov15_0218b38c: ; 0x0218b38c .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218b390 data_ov15_0218b390: ; 0x0218b390 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218b394 data_ov15_0218b394: ; 0x0218b394 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218b398 data_ov15_0218b398: ; 0x0218b398 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218b39c data_ov15_0218b39c: ; 0x0218b39c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218b3a0 data_ov15_0218b3a0: ; 0x0218b3a0 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218b3a4 data_ov15_0218b3a4: ; 0x0218b3a4 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218b3a8 data_ov15_0218b3a8: ; 0x0218b3a8 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218b3ac data_ov15_0218b3ac: ; 0x0218b3ac .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218b3b0 data_ov15_0218b3b0: ; 0x0218b3b0 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218b3b4 data_ov15_0218b3b4: ; 0x0218b3b4 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218b3b8 data_ov15_0218b3b8: ; 0x0218b3b8 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218b3bc data_ov15_0218b3bc: ; 0x0218b3bc .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218b3c0 data_ov15_0218b3c0: ; 0x0218b3c0 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218b3c4 data_ov15_0218b3c4: ; 0x0218b3c4 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218b3c8 data_ov15_0218b3c8: ; 0x0218b3c8 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218b3cc data_ov15_0218b3cc: ; 0x0218b3cc .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218b3d0 data_ov15_0218b3d0: ; 0x0218b3d0 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218b3d4 data_ov15_0218b3d4: ; 0x0218b3d4 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218b3d8 data_ov15_0218b3d8: ; 0x0218b3d8 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218b3dc data_ov15_0218b3dc: ; 0x0218b3dc .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218b3e0 data_ov15_0218b3e0: ; 0x0218b3e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3e4 data_ov15_0218b3e4: ; 0x0218b3e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3e8 data_ov15_0218b3e8: ; 0x0218b3e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3ec data_ov15_0218b3ec: ; 0x0218b3ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3f0 data_ov15_0218b3f0: ; 0x0218b3f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3f4 data_ov15_0218b3f4: ; 0x0218b3f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3f8 data_ov15_0218b3f8: ; 0x0218b3f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b3fc data_ov15_0218b3fc: ; 0x0218b3fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b400 data_ov15_0218b400: ; 0x0218b400 .word func_ov15_02146690 .global data_ov15_0218b404 data_ov15_0218b404: ; 0x0218b404 .word func_ov15_021466b0 .global data_ov15_0218b408 data_ov15_0218b408: ; 0x0218b408 .word func_ov15_021466d8 .global data_ov15_0218b40c data_ov15_0218b40c: ; 0x0218b40c .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218b410 data_ov15_0218b410: ; 0x0218b410 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218b414 data_ov15_0218b414: ; 0x0218b414 .word func_ov15_02146754 .global data_ov15_0218b418 data_ov15_0218b418: ; 0x0218b418 .word func_ov15_021468a4 .global data_ov15_0218b41c data_ov15_0218b41c: ; 0x0218b41c .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218b420 data_ov15_0218b420: ; 0x0218b420 .word func_ov15_021468f8 .global data_ov15_0218b424 data_ov15_0218b424: ; 0x0218b424 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218b428 data_ov15_0218b428: ; 0x0218b428 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218b42c data_ov15_0218b42c: ; 0x0218b42c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218b430 data_ov15_0218b430: ; 0x0218b430 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218b434 data_ov15_0218b434: ; 0x0218b434 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218b438 data_ov15_0218b438: ; 0x0218b438 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218b43c data_ov15_0218b43c: ; 0x0218b43c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218b440 data_ov15_0218b440: ; 0x0218b440 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b444 data_ov15_0218b444: ; 0x0218b444 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218b448 data_ov15_0218b448: ; 0x0218b448 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218b44c data_ov15_0218b44c: ; 0x0218b44c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218b450 data_ov15_0218b450: ; 0x0218b450 .word _ZN5Actor6GetPosEv .global data_ov15_0218b454 data_ov15_0218b454: ; 0x0218b454 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218b458 data_ov15_0218b458: ; 0x0218b458 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218b45c data_ov15_0218b45c: ; 0x0218b45c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218b460 data_ov15_0218b460: ; 0x0218b460 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218b464 data_ov15_0218b464: ; 0x0218b464 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218b468 data_ov15_0218b468: ; 0x0218b468 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218b46c data_ov15_0218b46c: ; 0x0218b46c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218b470 data_ov15_0218b470: ; 0x0218b470 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218b474 data_ov15_0218b474: ; 0x0218b474 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218b478 data_ov15_0218b478: ; 0x0218b478 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218b47c data_ov15_0218b47c: ; 0x0218b47c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218b480 data_ov15_0218b480: ; 0x0218b480 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218b484 data_ov15_0218b484: ; 0x0218b484 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218b488 data_ov15_0218b488: ; 0x0218b488 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218b48c data_ov15_0218b48c: ; 0x0218b48c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218b490 data_ov15_0218b490: ; 0x0218b490 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218b494 data_ov15_0218b494: ; 0x0218b494 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218b498 data_ov15_0218b498: ; 0x0218b498 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218b49c data_ov15_0218b49c: ; 0x0218b49c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218b4a0 data_ov15_0218b4a0: ; 0x0218b4a0 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218b4a4 data_ov15_0218b4a4: ; 0x0218b4a4 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218b4a8 data_ov15_0218b4a8: ; 0x0218b4a8 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218b4ac data_ov15_0218b4ac: ; 0x0218b4ac .word _ZN5Actor8vfunc_acEv .global data_ov15_0218b4b0 data_ov15_0218b4b0: ; 0x0218b4b0 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218b4b4 data_ov15_0218b4b4: ; 0x0218b4b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b4b8 data_ov15_0218b4b8: ; 0x0218b4b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b4bc data_ov15_0218b4bc: ; 0x0218b4bc .word func_ov15_02146d1c .global data_ov15_0218b4c0 data_ov15_0218b4c0: ; 0x0218b4c0 .word func_ov15_02146d3c .global data_ov15_0218b4c4 data_ov15_0218b4c4: ; 0x0218b4c4 .word func_ov15_02146d64 .global data_ov15_0218b4c8 data_ov15_0218b4c8: ; 0x0218b4c8 .word func_ov15_02146e4c .global data_ov15_0218b4cc data_ov15_0218b4cc: ; 0x0218b4cc .word func_ov00_0208b694 .global data_ov15_0218b4d0 data_ov15_0218b4d0: ; 0x0218b4d0 .word func_ov00_0208b698 .global data_ov15_0218b4d4 data_ov15_0218b4d4: ; 0x0218b4d4 .word func_ov00_0208b6b8 .global data_ov15_0218b4d8 data_ov15_0218b4d8: ; 0x0218b4d8 .word func_ov15_02146e78 .global data_ov15_0218b4dc data_ov15_0218b4dc: ; 0x0218b4dc .word func_ov00_0208b6bc .global data_ov15_0218b4e0 data_ov15_0218b4e0: ; 0x0218b4e0 .word func_ov00_0208b6c4 .global data_ov15_0218b4e4 data_ov15_0218b4e4: ; 0x0218b4e4 .word func_ov00_0208b6c8 .global data_ov15_0218b4e8 data_ov15_0218b4e8: ; 0x0218b4e8 .word func_ov00_0208b6d0 .global data_ov15_0218b4ec data_ov15_0218b4ec: ; 0x0218b4ec .word func_ov00_0208b6d8 .global data_ov15_0218b4f0 data_ov15_0218b4f0: ; 0x0218b4f0 .word func_ov00_0208b6e0 .global data_ov15_0218b4f4 data_ov15_0218b4f4: ; 0x0218b4f4 .word func_ov00_0208b6e8 .global data_ov15_0218b4f8 data_ov15_0218b4f8: ; 0x0218b4f8 .word func_ov00_0208b6f0 .global data_ov15_0218b4fc data_ov15_0218b4fc: ; 0x0218b4fc .word func_ov00_0208b6f8 .global data_ov15_0218b500 data_ov15_0218b500: ; 0x0218b500 .word func_ov00_0208b700 .global data_ov15_0218b504 data_ov15_0218b504: ; 0x0218b504 .word func_ov00_0208b704 .global data_ov15_0218b508 data_ov15_0218b508: ; 0x0218b508 .word func_ov00_0208b70c .global data_ov15_0218b50c data_ov15_0218b50c: ; 0x0218b50c .word func_ov00_0208b710 .global data_ov15_0218b510 data_ov15_0218b510: ; 0x0218b510 .word func_ov00_0208b714 .global data_ov15_0218b514 data_ov15_0218b514: ; 0x0218b514 .word func_ov00_0208b71c .global data_ov15_0218b518 data_ov15_0218b518: ; 0x0218b518 .word func_ov00_0208b844 .global data_ov15_0218b51c data_ov15_0218b51c: ; 0x0218b51c .word func_ov00_0208b870 .global data_ov15_0218b520 data_ov15_0218b520: ; 0x0218b520 .word func_ov00_0208b89c .global data_ov15_0218b524 data_ov15_0218b524: ; 0x0218b524 .word func_ov00_0208ba30 .global data_ov15_0218b528 data_ov15_0218b528: ; 0x0218b528 .word func_ov00_0208ba38 .global data_ov15_0218b52c data_ov15_0218b52c: ; 0x0218b52c .word func_ov00_0208ba40 .global data_ov15_0218b530 data_ov15_0218b530: ; 0x0218b530 .word func_ov15_02146e80 .global data_ov15_0218b534 data_ov15_0218b534: ; 0x0218b534 .word func_ov00_0208ba50 .global data_ov15_0218b538 data_ov15_0218b538: ; 0x0218b538 .word func_ov15_02146e88 .global data_ov15_0218b53c data_ov15_0218b53c: ; 0x0218b53c .word func_ov00_0208c384 .global data_ov15_0218b540 data_ov15_0218b540: ; 0x0218b540 .word func_ov00_0208c38c .global data_ov15_0218b544 data_ov15_0218b544: ; 0x0218b544 .word func_ov15_02146efc .global data_ov15_0218b548 data_ov15_0218b548: ; 0x0218b548 .ascii "brg" .byte 0x00 .global data_ov15_0218b54c data_ov15_0218b54c: ; 0x0218b54c .ascii "fnl" .byte 0x00 .global data_ov15_0218b550 data_ov15_0218b550: ; 0x0218b550 .ascii "pdl" .byte 0x00 .global data_ov15_0218b554 data_ov15_0218b554: ; 0x0218b554 .ascii "dco" .byte 0x00 .global data_ov15_0218b558 data_ov15_0218b558: ; 0x0218b558 .ascii "can" .byte 0x00 .global data_ov15_0218b55c data_ov15_0218b55c: ; 0x0218b55c .ascii "hul" .byte 0x00 .global data_ov15_0218b560 data_ov15_0218b560: ; 0x0218b560 .ascii "bow" .byte 0x00 .global data_ov15_0218b564 data_ov15_0218b564: ; 0x0218b564 .ascii "anc" .byte 0x00 .global data_ov15_0218b568 data_ov15_0218b568: ; 0x0218b568 .word data_ov15_0218b564 ; data_ov40_0218b564 .global data_ov15_0218b56c data_ov15_0218b56c: ; 0x0218b56c .word data_ov15_0218b560 ; data_ov40_0218b560 .global data_ov15_0218b570 data_ov15_0218b570: ; 0x0218b570 .word data_ov15_0218b55c ; data_ov40_0218b55c, func_ov44_0218b55c .global data_ov15_0218b574 data_ov15_0218b574: ; 0x0218b574 .word data_ov15_0218b558 ; data_ov40_0218b558 .global data_ov15_0218b578 data_ov15_0218b578: ; 0x0218b578 .word data_ov15_0218b554 ; data_ov40_0218b554 .global data_ov15_0218b57c data_ov15_0218b57c: ; 0x0218b57c .word data_ov15_0218b550 ; data_ov40_0218b550 .global data_ov15_0218b580 data_ov15_0218b580: ; 0x0218b580 .word data_ov15_0218b54c ; data_ov40_0218b54c .global data_ov15_0218b584 data_ov15_0218b584: ; 0x0218b584 .word data_ov15_0218b548 ; data_ov40_0218b548 .global data_ov15_0218b588 data_ov15_0218b588: ; 0x0218b588 .byte 0x66, 0x06, 0x00, 0x00 .global data_ov15_0218b58c data_ov15_0218b58c: ; 0x0218b58c .byte 0x0a, 0x07, 0x00, 0x00 .global data_ov15_0218b590 data_ov15_0218b590: ; 0x0218b590 .byte 0xae, 0x07, 0x00, 0x00 .global data_ov15_0218b594 data_ov15_0218b594: ; 0x0218b594 .byte 0x52, 0x08, 0x00, 0x00 .global data_ov15_0218b598 data_ov15_0218b598: ; 0x0218b598 .byte 0xf6, 0x08, 0x00, 0x00 .global data_ov15_0218b59c data_ov15_0218b59c: ; 0x0218b59c .byte 0x93, 0x00, 0x00, 0x00 .global data_ov15_0218b5a0 data_ov15_0218b5a0: ; 0x0218b5a0 .byte 0x98, 0x00, 0x00, 0x00 .global data_ov15_0218b5a4 data_ov15_0218b5a4: ; 0x0218b5a4 .byte 0x9c, 0x00, 0x00, 0x00 .global data_ov15_0218b5a8 data_ov15_0218b5a8: ; 0x0218b5a8 .byte 0xa0, 0x00, 0x00, 0x00 .global data_ov15_0218b5ac data_ov15_0218b5ac: ; 0x0218b5ac .byte 0xa4, 0x00, 0x00, 0x00 .global data_ov15_0218b5b0 data_ov15_0218b5b0: ; 0x0218b5b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b5b4 data_ov15_0218b5b4: ; 0x0218b5b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b5b8 data_ov15_0218b5b8: ; 0x0218b5b8 .word func_ov15_021471b4 .global data_ov15_0218b5bc data_ov15_0218b5bc: ; 0x0218b5bc .word func_ov15_02147204 .global data_ov15_0218b5c0 data_ov15_0218b5c0: ; 0x0218b5c0 .word func_ov15_0214725c .global data_ov15_0218b5c4 data_ov15_0218b5c4: ; 0x0218b5c4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218b5c8 data_ov15_0218b5c8: ; 0x0218b5c8 .word func_ov15_02123ba8 .global data_ov15_0218b5cc data_ov15_0218b5cc: ; 0x0218b5cc .word func_ov15_02147564 .global data_ov15_0218b5d0 data_ov15_0218b5d0: ; 0x0218b5d0 .word func_ov15_021475f0 .global data_ov15_0218b5d4 data_ov15_0218b5d4: ; 0x0218b5d4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218b5d8 data_ov15_0218b5d8: ; 0x0218b5d8 .word func_ov15_02148adc .global data_ov15_0218b5dc data_ov15_0218b5dc: ; 0x0218b5dc .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218b5e0 data_ov15_0218b5e0: ; 0x0218b5e0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218b5e4 data_ov15_0218b5e4: ; 0x0218b5e4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218b5e8 data_ov15_0218b5e8: ; 0x0218b5e8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218b5ec data_ov15_0218b5ec: ; 0x0218b5ec .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218b5f0 data_ov15_0218b5f0: ; 0x0218b5f0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218b5f4 data_ov15_0218b5f4: ; 0x0218b5f4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218b5f8 data_ov15_0218b5f8: ; 0x0218b5f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b5fc data_ov15_0218b5fc: ; 0x0218b5fc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218b600 data_ov15_0218b600: ; 0x0218b600 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218b604 data_ov15_0218b604: ; 0x0218b604 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218b608 data_ov15_0218b608: ; 0x0218b608 .word _ZN5Actor6GetPosEv .global data_ov15_0218b60c data_ov15_0218b60c: ; 0x0218b60c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218b610 data_ov15_0218b610: ; 0x0218b610 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218b614 data_ov15_0218b614: ; 0x0218b614 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218b618 data_ov15_0218b618: ; 0x0218b618 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218b61c data_ov15_0218b61c: ; 0x0218b61c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218b620 data_ov15_0218b620: ; 0x0218b620 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218b624 data_ov15_0218b624: ; 0x0218b624 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218b628 data_ov15_0218b628: ; 0x0218b628 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218b62c data_ov15_0218b62c: ; 0x0218b62c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218b630 data_ov15_0218b630: ; 0x0218b630 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218b634 data_ov15_0218b634: ; 0x0218b634 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218b638 data_ov15_0218b638: ; 0x0218b638 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218b63c data_ov15_0218b63c: ; 0x0218b63c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218b640 data_ov15_0218b640: ; 0x0218b640 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218b644 data_ov15_0218b644: ; 0x0218b644 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218b648 data_ov15_0218b648: ; 0x0218b648 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218b64c data_ov15_0218b64c: ; 0x0218b64c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218b650 data_ov15_0218b650: ; 0x0218b650 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218b654 data_ov15_0218b654: ; 0x0218b654 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218b658 data_ov15_0218b658: ; 0x0218b658 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218b65c data_ov15_0218b65c: ; 0x0218b65c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218b660 data_ov15_0218b660: ; 0x0218b660 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218b664 data_ov15_0218b664: ; 0x0218b664 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218b668 data_ov15_0218b668: ; 0x0218b668 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218b66c data_ov15_0218b66c: ; 0x0218b66c .word func_ov15_02148ce8 .global data_ov15_0218b670 data_ov15_0218b670: ; 0x0218b670 .word func_ov15_02148cec .global data_ov15_0218b674 data_ov15_0218b674: ; 0x0218b674 .word func_ov15_02123770 .global data_ov15_0218b678 data_ov15_0218b678: ; 0x0218b678 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b67c data_ov15_0218b67c: ; 0x0218b67c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b680 data_ov15_0218b680: ; 0x0218b680 .word func_ov00_020c5d34 .global data_ov15_0218b684 data_ov15_0218b684: ; 0x0218b684 .word func_ov15_02125384 .global data_ov15_0218b688 data_ov15_0218b688: ; 0x0218b688 .word func_ov00_020c5e58 .global data_ov15_0218b68c data_ov15_0218b68c: ; 0x0218b68c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b690 data_ov15_0218b690: ; 0x0218b690 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b694 data_ov15_0218b694: ; 0x0218b694 .word func_ov00_020a9acc .global data_ov15_0218b698 data_ov15_0218b698: ; 0x0218b698 .word func_ov00_020a9ad8 .global data_ov15_0218b69c data_ov15_0218b69c: ; 0x0218b69c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b6a0 data_ov15_0218b6a0: ; 0x0218b6a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b6a4 data_ov15_0218b6a4: ; 0x0218b6a4 .word func_ov15_021471a0 ; func_ov61_021471a0 .global data_ov15_0218b6a8 data_ov15_0218b6a8: ; 0x0218b6a8 .word func_ov15_02148ccc .global data_ov15_0218b6ac data_ov15_0218b6ac: ; 0x0218b6ac .word func_ov00_020a960c .global data_ov15_0218b6b0 data_ov15_0218b6b0: ; 0x0218b6b0 .word func_ov00_020a9614 .global data_ov15_0218b6b4 data_ov15_0218b6b4: ; 0x0218b6b4 .word func_ov00_020a9650 .global data_ov15_0218b6b8 data_ov15_0218b6b8: ; 0x0218b6b8 .word func_ov00_020a96d4 .global data_ov15_0218b6bc data_ov15_0218b6bc: ; 0x0218b6bc .word func_ov00_020a9740 .global data_ov15_0218b6c0 data_ov15_0218b6c0: ; 0x0218b6c0 .word func_ov00_020a9764 .global data_ov15_0218b6c4 data_ov15_0218b6c4: ; 0x0218b6c4 .word func_ov00_020a97d0 .global data_ov15_0218b6c8 data_ov15_0218b6c8: ; 0x0218b6c8 .word func_ov00_020a97e0 .global data_ov15_0218b6cc data_ov15_0218b6cc: ; 0x0218b6cc .word func_ov00_020a97f8 .global data_ov15_0218b6d0 data_ov15_0218b6d0: ; 0x0218b6d0 .word func_ov00_020a9864 .global data_ov15_0218b6d4 data_ov15_0218b6d4: ; 0x0218b6d4 .word func_ov00_020a98bc .global data_ov15_0218b6d8 data_ov15_0218b6d8: ; 0x0218b6d8 .word func_ov00_020a9890 .global data_ov15_0218b6dc data_ov15_0218b6dc: ; 0x0218b6dc .word func_ov00_020a9968 .global data_ov15_0218b6e0 data_ov15_0218b6e0: ; 0x0218b6e0 .word func_ov15_02146fbc .global data_ov15_0218b6e4 data_ov15_0218b6e4: ; 0x0218b6e4 .ascii "brg" .byte 0x00 .global data_ov15_0218b6e8 data_ov15_0218b6e8: ; 0x0218b6e8 .ascii "fnl" .byte 0x00 .global data_ov15_0218b6ec data_ov15_0218b6ec: ; 0x0218b6ec .ascii "pdl" .byte 0x00 .global data_ov15_0218b6f0 data_ov15_0218b6f0: ; 0x0218b6f0 .ascii "dco" .byte 0x00 .global data_ov15_0218b6f4 data_ov15_0218b6f4: ; 0x0218b6f4 .ascii "can" .byte 0x00 .global data_ov15_0218b6f8 data_ov15_0218b6f8: ; 0x0218b6f8 .ascii "hul" .byte 0x00 .global data_ov15_0218b6fc data_ov15_0218b6fc: ; 0x0218b6fc .ascii "bow" .byte 0x00 .global data_ov15_0218b700 data_ov15_0218b700: ; 0x0218b700 .ascii "anc" .byte 0x00 .global data_ov15_0218b704 data_ov15_0218b704: ; 0x0218b704 .word data_ov15_0218b700 ; data_ov40_0218b700, func_ov44_0218b700 .global data_ov15_0218b708 data_ov15_0218b708: ; 0x0218b708 .word data_ov15_0218b6fc ; data_ov40_0218b6fc .global data_ov15_0218b70c data_ov15_0218b70c: ; 0x0218b70c .word data_ov15_0218b6f8 ; data_ov40_0218b6f8 .global data_ov15_0218b710 data_ov15_0218b710: ; 0x0218b710 .word data_ov15_0218b6f4 ; data_ov40_0218b6f4 .global data_ov15_0218b714 data_ov15_0218b714: ; 0x0218b714 .word data_ov15_0218b6f0 ; data_ov40_0218b6f0 .global data_ov15_0218b718 data_ov15_0218b718: ; 0x0218b718 .word data_ov15_0218b6ec ; data_ov40_0218b6ec .global data_ov15_0218b71c data_ov15_0218b71c: ; 0x0218b71c .word data_ov15_0218b6e8 ; data_ov40_0218b6e8 .global data_ov15_0218b720 data_ov15_0218b720: ; 0x0218b720 .word data_ov15_0218b6e4 ; data_ov40_0218b6e4 .global data_ov15_0218b724 data_ov15_0218b724: ; 0x0218b724 .byte 0x00, 0xf8, 0xff, 0xff .global data_ov15_0218b728 data_ov15_0218b728: ; 0x0218b728 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov15_0218b72c data_ov15_0218b72c: ; 0x0218b72c .byte 0xd0, 0x07, 0x00, 0x00 .global data_ov15_0218b730 data_ov15_0218b730: ; 0x0218b730 .byte 0xd0, 0x07, 0x00, 0x00 .global data_ov15_0218b734 data_ov15_0218b734: ; 0x0218b734 .byte 0xd0, 0x07, 0x00, 0x00 .global data_ov15_0218b738 data_ov15_0218b738: ; 0x0218b738 .byte 0xc8, 0x00, 0x00, 0x00 .global data_ov15_0218b73c data_ov15_0218b73c: ; 0x0218b73c .byte 0xc8, 0x00, 0x00, 0x00 .global data_ov15_0218b740 data_ov15_0218b740: ; 0x0218b740 .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov15_0218b744 data_ov15_0218b744: ; 0x0218b744 .byte 0x66, 0xfe, 0xff, 0xff .global data_ov15_0218b748 data_ov15_0218b748: ; 0x0218b748 .ascii "slv_arm_pt" .byte 0x00, 0x00 .global data_ov15_0218b754 data_ov15_0218b754: ; 0x0218b754 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b758 data_ov15_0218b758: ; 0x0218b758 .ascii "slv_up_pt" .byte 0x00, 0x00, 0x00 .global data_ov15_0218b764 data_ov15_0218b764: ; 0x0218b764 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b768 data_ov15_0218b768: ; 0x0218b768 .ascii "slv_down_pt" .byte 0x00 .global data_ov15_0218b774 data_ov15_0218b774: ; 0x0218b774 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b778 data_ov15_0218b778: ; 0x0218b778 .ascii "slv_hook_pt" .byte 0x00 .global data_ov15_0218b784 data_ov15_0218b784: ; 0x0218b784 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b788 data_ov15_0218b788: ; 0x0218b788 .ascii "l_arm" .byte 0x00, 0x00, 0x00 .global data_ov15_0218b790 data_ov15_0218b790: ; 0x0218b790 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b794 data_ov15_0218b794: ; 0x0218b794 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b798 data_ov15_0218b798: ; 0x0218b798 .ascii "r_arm" .byte 0x00, 0x00, 0x00 .global data_ov15_0218b7a0 data_ov15_0218b7a0: ; 0x0218b7a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7a4 data_ov15_0218b7a4: ; 0x0218b7a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7a8 data_ov15_0218b7a8: ; 0x0218b7a8 .ascii "head_jnt" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7b4 data_ov15_0218b7b4: ; 0x0218b7b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7b8 data_ov15_0218b7b8: ; 0x0218b7b8 .ascii "swA" .byte 0x00 .global data_ov15_0218b7bc data_ov15_0218b7bc: ; 0x0218b7bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7c0 data_ov15_0218b7c0: ; 0x0218b7c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7c4 data_ov15_0218b7c4: ; 0x0218b7c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7c8 data_ov15_0218b7c8: ; 0x0218b7c8 .ascii "sheath" .byte 0x00, 0x00 .global data_ov15_0218b7d0 data_ov15_0218b7d0: ; 0x0218b7d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7d4 data_ov15_0218b7d4: ; 0x0218b7d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7d8 data_ov15_0218b7d8: ; 0x0218b7d8 .ascii "swB" .byte 0x00 .global data_ov15_0218b7dc data_ov15_0218b7dc: ; 0x0218b7dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7e0 data_ov15_0218b7e0: ; 0x0218b7e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7e4 data_ov15_0218b7e4: ; 0x0218b7e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7e8 data_ov15_0218b7e8: ; 0x0218b7e8 .ascii "sheathB" .byte 0x00 .global data_ov15_0218b7f0 data_ov15_0218b7f0: ; 0x0218b7f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7f4 data_ov15_0218b7f4: ; 0x0218b7f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7f8 data_ov15_0218b7f8: ; 0x0218b7f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b7fc data_ov15_0218b7fc: ; 0x0218b7fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b800 data_ov15_0218b800: ; 0x0218b800 .word func_ov15_02149498 .global data_ov15_0218b804 data_ov15_0218b804: ; 0x0218b804 .word func_ov15_021492a8 .global data_ov15_0218b808 data_ov15_0218b808: ; 0x0218b808 .word func_ov15_02149680 .global data_ov15_0218b80c data_ov15_0218b80c: ; 0x0218b80c .word func_ov15_02149780 .global data_ov15_0218b810 data_ov15_0218b810: ; 0x0218b810 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b814 data_ov15_0218b814: ; 0x0218b814 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b818 data_ov15_0218b818: ; 0x0218b818 .word func_ov15_0214bdf4 .global data_ov15_0218b81c data_ov15_0218b81c: ; 0x0218b81c .word func_ov15_0214928c .global data_ov15_0218b820 data_ov15_0218b820: ; 0x0218b820 .word func_ov00_020a960c .global data_ov15_0218b824 data_ov15_0218b824: ; 0x0218b824 .word func_ov00_020a9614 .global data_ov15_0218b828 data_ov15_0218b828: ; 0x0218b828 .word func_ov00_020a9650 .global data_ov15_0218b82c data_ov15_0218b82c: ; 0x0218b82c .word func_ov00_020a96d4 .global data_ov15_0218b830 data_ov15_0218b830: ; 0x0218b830 .word func_ov00_020a9740 .global data_ov15_0218b834 data_ov15_0218b834: ; 0x0218b834 .word func_ov00_020a9764 .global data_ov15_0218b838 data_ov15_0218b838: ; 0x0218b838 .word func_ov00_020a97d0 .global data_ov15_0218b83c data_ov15_0218b83c: ; 0x0218b83c .word func_ov00_020a97e0 .global data_ov15_0218b840 data_ov15_0218b840: ; 0x0218b840 .word func_ov00_020a97f8 .global data_ov15_0218b844 data_ov15_0218b844: ; 0x0218b844 .word func_ov00_020a9864 .global data_ov15_0218b848 data_ov15_0218b848: ; 0x0218b848 .word func_ov00_020a98bc .global data_ov15_0218b84c data_ov15_0218b84c: ; 0x0218b84c .word func_ov00_020a9890 .global data_ov15_0218b850 data_ov15_0218b850: ; 0x0218b850 .word func_ov00_020a9968 .global data_ov15_0218b854 data_ov15_0218b854: ; 0x0218b854 .word func_ov15_0214b2e4 .global data_ov15_0218b858 data_ov15_0218b858: ; 0x0218b858 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b85c data_ov15_0218b85c: ; 0x0218b85c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b860 data_ov15_0218b860: ; 0x0218b860 .word func_ov15_02139a80 .global data_ov15_0218b864 data_ov15_0218b864: ; 0x0218b864 .word func_ov15_0213a5e8 .global data_ov15_0218b868 data_ov15_0218b868: ; 0x0218b868 .word func_02030320 .global data_ov15_0218b86c data_ov15_0218b86c: ; 0x0218b86c .word func_02030324 .global data_ov15_0218b870 data_ov15_0218b870: ; 0x0218b870 .word func_02030328 .global data_ov15_0218b874 data_ov15_0218b874: ; 0x0218b874 .word func_0203032c .global data_ov15_0218b878 data_ov15_0218b878: ; 0x0218b878 .word func_02030330 .global data_ov15_0218b87c data_ov15_0218b87c: ; 0x0218b87c .word func_02030334 .global data_ov15_0218b880 data_ov15_0218b880: ; 0x0218b880 .word func_02030338 .global data_ov15_0218b884 data_ov15_0218b884: ; 0x0218b884 .word func_0203033c .global data_ov15_0218b888 data_ov15_0218b888: ; 0x0218b888 .word func_02030340 .global data_ov15_0218b88c data_ov15_0218b88c: ; 0x0218b88c .word func_02030344 .global data_ov15_0218b890 data_ov15_0218b890: ; 0x0218b890 .word func_02030348 .global data_ov15_0218b894 data_ov15_0218b894: ; 0x0218b894 .word func_020302d4 .global data_ov15_0218b898 data_ov15_0218b898: ; 0x0218b898 .word func_0203034c .global data_ov15_0218b89c data_ov15_0218b89c: ; 0x0218b89c .word func_02030350 .global data_ov15_0218b8a0 data_ov15_0218b8a0: ; 0x0218b8a0 .ascii "brg" .byte 0x00 .global data_ov15_0218b8a4 data_ov15_0218b8a4: ; 0x0218b8a4 .ascii "fnl" .byte 0x00 .global data_ov15_0218b8a8 data_ov15_0218b8a8: ; 0x0218b8a8 .ascii "pdl" .byte 0x00 .global data_ov15_0218b8ac data_ov15_0218b8ac: ; 0x0218b8ac .ascii "dco" .byte 0x00 .global data_ov15_0218b8b0 data_ov15_0218b8b0: ; 0x0218b8b0 .ascii "can" .byte 0x00 .global data_ov15_0218b8b4 data_ov15_0218b8b4: ; 0x0218b8b4 .ascii "hul" .byte 0x00 .global data_ov15_0218b8b8 data_ov15_0218b8b8: ; 0x0218b8b8 .ascii "bow" .byte 0x00 .global data_ov15_0218b8bc data_ov15_0218b8bc: ; 0x0218b8bc .ascii "anc" .byte 0x00 .global data_ov15_0218b8c0 data_ov15_0218b8c0: ; 0x0218b8c0 .word data_ov15_0218b8bc ; data_ov40_0218b8bc .global data_ov15_0218b8c4 data_ov15_0218b8c4: ; 0x0218b8c4 .word data_ov15_0218b8b8 ; data_ov40_0218b8b8 .global data_ov15_0218b8c8 data_ov15_0218b8c8: ; 0x0218b8c8 .word data_ov15_0218b8b4 ; data_ov40_0218b8b4 .global data_ov15_0218b8cc data_ov15_0218b8cc: ; 0x0218b8cc .word data_ov15_0218b8b0 ; data_ov40_0218b8b0 .global data_ov15_0218b8d0 data_ov15_0218b8d0: ; 0x0218b8d0 .word data_ov15_0218b8ac ; data_ov40_0218b8ac .global data_ov15_0218b8d4 data_ov15_0218b8d4: ; 0x0218b8d4 .word data_ov15_0218b8a8 ; data_ov40_0218b8a8 .global data_ov15_0218b8d8 data_ov15_0218b8d8: ; 0x0218b8d8 .word data_ov15_0218b8a4 ; data_ov40_0218b8a4 .global data_ov15_0218b8dc data_ov15_0218b8dc: ; 0x0218b8dc .word data_ov15_0218b8a0 ; data_ov40_0218b8a0 .global data_ov15_0218b8e0 data_ov15_0218b8e0: ; 0x0218b8e0 .word data_ov15_0218f588 ; data_ov40_0218f588, data_ov44_0218f588 .global data_ov15_0218b8e4 data_ov15_0218b8e4: ; 0x0218b8e4 .word data_ov15_0218f5c4 ; data_ov40_0218f5c4, data_ov44_0218f5c4 .global data_ov15_0218b8e8 data_ov15_0218b8e8: ; 0x0218b8e8 .ascii "SHS" .byte 0x00 .global data_ov15_0218b8ec data_ov15_0218b8ec: ; 0x0218b8ec .ascii "Ship/sea.bin" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b8fc data_ov15_0218b8fc: ; 0x0218b8fc .ascii "SHS:/sea.nsbca" .byte 0x00, 0x00 .global data_ov15_0218b90c data_ov15_0218b90c: ; 0x0218b90c .ascii "SHS:/sea.nsbmd" .byte 0x00, 0x00 .global data_ov15_0218b91c data_ov15_0218b91c: ; 0x0218b91c .ascii "Ship/sea.nsbtx" .byte 0x00, 0x00 .global data_ov15_0218b92c data_ov15_0218b92c: ; 0x0218b92c .ascii "Ship/link_model_sea.bin" .byte 0x00 .global data_ov15_0218b944 data_ov15_0218b944: ; 0x0218b944 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b948 data_ov15_0218b948: ; 0x0218b948 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b94c data_ov15_0218b94c: ; 0x0218b94c .word func_ov15_0214c164 .global data_ov15_0218b950 data_ov15_0218b950: ; 0x0218b950 .word func_ov15_0214c1b4 .global data_ov15_0218b954 data_ov15_0218b954: ; 0x0218b954 .word func_ov15_0214c20c .global data_ov15_0218b958 data_ov15_0218b958: ; 0x0218b958 .word func_ov15_0214c2fc .global data_ov15_0218b95c data_ov15_0218b95c: ; 0x0218b95c .word func_ov15_0214c484 .global data_ov15_0218b960 data_ov15_0218b960: ; 0x0218b960 .word func_ov00_0208b698 .global data_ov15_0218b964 data_ov15_0218b964: ; 0x0218b964 .word func_ov00_0208b6b8 .global data_ov15_0218b968 data_ov15_0218b968: ; 0x0218b968 .word func_ov15_0214c524 .global data_ov15_0218b96c data_ov15_0218b96c: ; 0x0218b96c .word func_ov00_0208b6bc .global data_ov15_0218b970 data_ov15_0218b970: ; 0x0218b970 .word func_ov00_0208b6c4 .global data_ov15_0218b974 data_ov15_0218b974: ; 0x0218b974 .word func_ov00_0208b6c8 .global data_ov15_0218b978 data_ov15_0218b978: ; 0x0218b978 .word func_ov00_0208b6d0 .global data_ov15_0218b97c data_ov15_0218b97c: ; 0x0218b97c .word func_ov00_0208b6d8 .global data_ov15_0218b980 data_ov15_0218b980: ; 0x0218b980 .word func_ov00_0208b6e0 .global data_ov15_0218b984 data_ov15_0218b984: ; 0x0218b984 .word func_ov00_0208b6e8 .global data_ov15_0218b988 data_ov15_0218b988: ; 0x0218b988 .word func_ov00_0208b6f0 .global data_ov15_0218b98c data_ov15_0218b98c: ; 0x0218b98c .word func_ov00_0208b6f8 .global data_ov15_0218b990 data_ov15_0218b990: ; 0x0218b990 .word func_ov00_0208b700 .global data_ov15_0218b994 data_ov15_0218b994: ; 0x0218b994 .word func_ov00_0208b704 .global data_ov15_0218b998 data_ov15_0218b998: ; 0x0218b998 .word func_ov00_0208b70c .global data_ov15_0218b99c data_ov15_0218b99c: ; 0x0218b99c .word func_ov00_0208b710 .global data_ov15_0218b9a0 data_ov15_0218b9a0: ; 0x0218b9a0 .word func_ov00_0208c9f8 .global data_ov15_0218b9a4 data_ov15_0218b9a4: ; 0x0218b9a4 .word func_ov15_0214c534 .global data_ov15_0218b9a8 data_ov15_0218b9a8: ; 0x0218b9a8 .word func_ov00_0208b844 .global data_ov15_0218b9ac data_ov15_0218b9ac: ; 0x0218b9ac .word func_ov00_0208b870 .global data_ov15_0218b9b0 data_ov15_0218b9b0: ; 0x0218b9b0 .word func_ov00_0208b89c .global data_ov15_0218b9b4 data_ov15_0218b9b4: ; 0x0218b9b4 .word func_ov00_0208ba30 .global data_ov15_0218b9b8 data_ov15_0218b9b8: ; 0x0218b9b8 .word func_ov00_0208ba38 .global data_ov15_0218b9bc data_ov15_0218b9bc: ; 0x0218b9bc .word func_ov00_0208ba40 .global data_ov15_0218b9c0 data_ov15_0218b9c0: ; 0x0218b9c0 .word func_ov15_0214c52c .global data_ov15_0218b9c4 data_ov15_0218b9c4: ; 0x0218b9c4 .word func_ov00_0208ba50 .global data_ov15_0218b9c8 data_ov15_0218b9c8: ; 0x0218b9c8 .word func_ov15_0214c53c .global data_ov15_0218b9cc data_ov15_0218b9cc: ; 0x0218b9cc .word func_ov15_0214c420 .global data_ov15_0218b9d0 data_ov15_0218b9d0: ; 0x0218b9d0 .word func_ov00_0208c38c .global data_ov15_0218b9d4 data_ov15_0218b9d4: ; 0x0218b9d4 .word func_ov00_0208c39c .global data_ov15_0218b9d8 data_ov15_0218b9d8: ; 0x0218b9d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b9dc data_ov15_0218b9dc: ; 0x0218b9dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b9e0 data_ov15_0218b9e0: ; 0x0218b9e0 .word func_ov15_0214c148 .global data_ov15_0218b9e4 data_ov15_0218b9e4: ; 0x0218b9e4 .word func_ov15_0214c61c .global data_ov15_0218b9e8 data_ov15_0218b9e8: ; 0x0218b9e8 .word func_ov15_0214c5e0 .global data_ov15_0218b9ec data_ov15_0218b9ec: ; 0x0218b9ec .word func_ov15_0214c614 .global data_ov15_0218b9f0 data_ov15_0218b9f0: ; 0x0218b9f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b9f4 data_ov15_0218b9f4: ; 0x0218b9f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b9f8 data_ov15_0218b9f8: ; 0x0218b9f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218b9fc data_ov15_0218b9fc: ; 0x0218b9fc .word func_ov00_02081f58 .global data_ov15_0218ba00 data_ov15_0218ba00: ; 0x0218ba00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba04 data_ov15_0218ba04: ; 0x0218ba04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba08 data_ov15_0218ba08: ; 0x0218ba08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba0c data_ov15_0218ba0c: ; 0x0218ba0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba10 data_ov15_0218ba10: ; 0x0218ba10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba14 data_ov15_0218ba14: ; 0x0218ba14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba18 data_ov15_0218ba18: ; 0x0218ba18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba1c data_ov15_0218ba1c: ; 0x0218ba1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba20 data_ov15_0218ba20: ; 0x0218ba20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba24 data_ov15_0218ba24: ; 0x0218ba24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba28 data_ov15_0218ba28: ; 0x0218ba28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba2c data_ov15_0218ba2c: ; 0x0218ba2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba30 data_ov15_0218ba30: ; 0x0218ba30 .word func_ov15_0214c6b4 .global data_ov15_0218ba34 data_ov15_0218ba34: ; 0x0218ba34 .word func_ov15_0214c6dc .global data_ov15_0218ba38 data_ov15_0218ba38: ; 0x0218ba38 .word func_ov15_0214c8f0 .global data_ov15_0218ba3c data_ov15_0218ba3c: ; 0x0218ba3c .word func_ov15_0214c924 .global data_ov15_0218ba40 data_ov15_0218ba40: ; 0x0218ba40 .word func_ov15_0214cab4 .global data_ov15_0218ba44 data_ov15_0218ba44: ; 0x0218ba44 .word func_ov09_0211baf4 .global data_ov15_0218ba48 data_ov15_0218ba48: ; 0x0218ba48 .word func_ov09_0211bc64 ; func_ov12_0211bc64 .global data_ov15_0218ba4c data_ov15_0218ba4c: ; 0x0218ba4c .word func_ov09_0211bc84 .global data_ov15_0218ba50 data_ov15_0218ba50: ; 0x0218ba50 .word func_ov09_0211bcd8 .global data_ov15_0218ba54 data_ov15_0218ba54: ; 0x0218ba54 .word func_ov09_0211bd14 .global data_ov15_0218ba58 data_ov15_0218ba58: ; 0x0218ba58 .word func_ov09_0211bd58 .global data_ov15_0218ba5c data_ov15_0218ba5c: ; 0x0218ba5c .word func_ov15_0214c70c .global data_ov15_0218ba60 data_ov15_0218ba60: ; 0x0218ba60 .word func_ov15_0214c770 .global data_ov15_0218ba64 data_ov15_0218ba64: ; 0x0218ba64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba68 data_ov15_0218ba68: ; 0x0218ba68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ba6c data_ov15_0218ba6c: ; 0x0218ba6c .word func_ov15_0214ce00 .global data_ov15_0218ba70 data_ov15_0218ba70: ; 0x0218ba70 .word func_ov15_0214cd10 .global data_ov15_0218ba74 data_ov15_0218ba74: ; 0x0218ba74 .word func_ov15_0214cc7c .global data_ov15_0218ba78 data_ov15_0218ba78: ; 0x0218ba78 .word func_ov09_0211af10 .global data_ov15_0218ba7c data_ov15_0218ba7c: ; 0x0218ba7c .word func_ov15_0214cd9c .global data_ov15_0218ba80 data_ov15_0218ba80: ; 0x0218ba80 .word func_ov15_0214cdbc .global data_ov15_0218ba84 data_ov15_0218ba84: ; 0x0218ba84 .word func_ov09_0211af38 .global data_ov15_0218ba88 data_ov15_0218ba88: ; 0x0218ba88 .word func_ov04_0210f4f4 .global data_ov15_0218ba8c data_ov15_0218ba8c: ; 0x0218ba8c .word func_ov09_0211af48 .global data_ov15_0218ba90 data_ov15_0218ba90: ; 0x0218ba90 .word func_ov00_020d1060 .global data_ov15_0218ba94 data_ov15_0218ba94: ; 0x0218ba94 .word func_ov09_0211b0dc .global data_ov15_0218ba98 data_ov15_0218ba98: ; 0x0218ba98 .word func_ov15_0214cee8 .global data_ov15_0218ba9c data_ov15_0218ba9c: ; 0x0218ba9c .word func_ov15_0214cfc0 .global data_ov15_0218baa0 data_ov15_0218baa0: ; 0x0218baa0 .word func_ov15_0214cff4 .global data_ov15_0218baa4 data_ov15_0218baa4: ; 0x0218baa4 .word func_ov15_0214d058 .global data_ov15_0218baa8 data_ov15_0218baa8: ; 0x0218baa8 .word func_ov15_0214d080 .global data_ov15_0218baac data_ov15_0218baac: ; 0x0218baac .word func_ov15_0214d1a4 .global data_ov15_0218bab0 data_ov15_0218bab0: ; 0x0218bab0 .word func_ov09_0211b678 .global data_ov15_0218bab4 data_ov15_0218bab4: ; 0x0218bab4 .word func_ov15_0214d204 .global data_ov15_0218bab8 data_ov15_0218bab8: ; 0x0218bab8 .word func_ov09_0211cc98 .global data_ov15_0218babc data_ov15_0218babc: ; 0x0218babc .word func_ov15_0214d1dc .global data_ov15_0218bac0 data_ov15_0218bac0: ; 0x0218bac0 .word func_ov09_0211b6d0 .global data_ov15_0218bac4 data_ov15_0218bac4: ; 0x0218bac4 .word func_ov09_0211b740 .global data_ov15_0218bac8 data_ov15_0218bac8: ; 0x0218bac8 .word func_ov15_0214ce90 .global data_ov15_0218bacc data_ov15_0218bacc: ; 0x0218bacc .word func_ov09_0211b0c0 .global data_ov15_0218bad0 data_ov15_0218bad0: ; 0x0218bad0 .word func_ov09_0211b674 .global data_ov15_0218bad4 data_ov15_0218bad4: ; 0x0218bad4 .ascii "brg" .byte 0x00 .global data_ov15_0218bad8 data_ov15_0218bad8: ; 0x0218bad8 .ascii "fnl" .byte 0x00 .global data_ov15_0218badc data_ov15_0218badc: ; 0x0218badc .ascii "pdl" .byte 0x00 .global data_ov15_0218bae0 data_ov15_0218bae0: ; 0x0218bae0 .ascii "dco" .byte 0x00 .global data_ov15_0218bae4 data_ov15_0218bae4: ; 0x0218bae4 .ascii "can" .byte 0x00 .global data_ov15_0218bae8 data_ov15_0218bae8: ; 0x0218bae8 .ascii "hul" .byte 0x00 .global data_ov15_0218baec data_ov15_0218baec: ; 0x0218baec .ascii "bow" .byte 0x00 .global data_ov15_0218baf0 data_ov15_0218baf0: ; 0x0218baf0 .ascii "anc" .byte 0x00 .global data_ov15_0218baf4 data_ov15_0218baf4: ; 0x0218baf4 .word data_ov15_0218baf0 ; data_ov40_0218baf0, func_ov42_0218baf0 .global data_ov15_0218baf8 data_ov15_0218baf8: ; 0x0218baf8 .word data_ov15_0218baec ; data_ov40_0218baec .global data_ov15_0218bafc data_ov15_0218bafc: ; 0x0218bafc .word data_ov15_0218bae8 ; data_ov40_0218bae8 .global data_ov15_0218bb00 data_ov15_0218bb00: ; 0x0218bb00 .word data_ov15_0218bae4 ; data_ov40_0218bae4, func_ov44_0218bae4 .global data_ov15_0218bb04 data_ov15_0218bb04: ; 0x0218bb04 .word data_ov15_0218bae0 ; data_ov40_0218bae0 .global data_ov15_0218bb08 data_ov15_0218bb08: ; 0x0218bb08 .word data_ov15_0218badc ; data_ov40_0218badc .global data_ov15_0218bb0c data_ov15_0218bb0c: ; 0x0218bb0c .word data_ov15_0218bad8 ; data_ov40_0218bad8 .global data_ov15_0218bb10 data_ov15_0218bb10: ; 0x0218bb10 .word data_ov15_0218bad4 ; data_ov40_0218bad4, func_ov42_0218bad4 .global data_ov15_0218bb14 data_ov15_0218bb14: ; 0x0218bb14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bb18 data_ov15_0218bb18: ; 0x0218bb18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bb1c data_ov15_0218bb1c: ; 0x0218bb1c .word func_ov15_0214d504 .global data_ov15_0218bb20 data_ov15_0218bb20: ; 0x0218bb20 .word func_ov15_0214d4e8 .global data_ov15_0218bb24 data_ov15_0218bb24: ; 0x0218bb24 .word func_ov15_0214d2b0 .global data_ov15_0218bb28 data_ov15_0218bb28: ; 0x0218bb28 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218bb2c data_ov15_0218bb2c: ; 0x0218bb2c .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218bb30 data_ov15_0218bb30: ; 0x0218bb30 .word func_ov15_0214d3e4 .global data_ov15_0218bb34 data_ov15_0218bb34: ; 0x0218bb34 .word func_ov15_0214d418 .global data_ov15_0218bb38 data_ov15_0218bb38: ; 0x0218bb38 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218bb3c data_ov15_0218bb3c: ; 0x0218bb3c .word func_ov15_0214d47c .global data_ov15_0218bb40 data_ov15_0218bb40: ; 0x0218bb40 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218bb44 data_ov15_0218bb44: ; 0x0218bb44 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218bb48 data_ov15_0218bb48: ; 0x0218bb48 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218bb4c data_ov15_0218bb4c: ; 0x0218bb4c .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218bb50 data_ov15_0218bb50: ; 0x0218bb50 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218bb54 data_ov15_0218bb54: ; 0x0218bb54 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218bb58 data_ov15_0218bb58: ; 0x0218bb58 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218bb5c data_ov15_0218bb5c: ; 0x0218bb5c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bb60 data_ov15_0218bb60: ; 0x0218bb60 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218bb64 data_ov15_0218bb64: ; 0x0218bb64 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218bb68 data_ov15_0218bb68: ; 0x0218bb68 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218bb6c data_ov15_0218bb6c: ; 0x0218bb6c .word _ZN5Actor6GetPosEv .global data_ov15_0218bb70 data_ov15_0218bb70: ; 0x0218bb70 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218bb74 data_ov15_0218bb74: ; 0x0218bb74 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218bb78 data_ov15_0218bb78: ; 0x0218bb78 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218bb7c data_ov15_0218bb7c: ; 0x0218bb7c .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218bb80 data_ov15_0218bb80: ; 0x0218bb80 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218bb84 data_ov15_0218bb84: ; 0x0218bb84 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218bb88 data_ov15_0218bb88: ; 0x0218bb88 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218bb8c data_ov15_0218bb8c: ; 0x0218bb8c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218bb90 data_ov15_0218bb90: ; 0x0218bb90 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218bb94 data_ov15_0218bb94: ; 0x0218bb94 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218bb98 data_ov15_0218bb98: ; 0x0218bb98 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218bb9c data_ov15_0218bb9c: ; 0x0218bb9c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218bba0 data_ov15_0218bba0: ; 0x0218bba0 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218bba4 data_ov15_0218bba4: ; 0x0218bba4 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218bba8 data_ov15_0218bba8: ; 0x0218bba8 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218bbac data_ov15_0218bbac: ; 0x0218bbac .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218bbb0 data_ov15_0218bbb0: ; 0x0218bbb0 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218bbb4 data_ov15_0218bbb4: ; 0x0218bbb4 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218bbb8 data_ov15_0218bbb8: ; 0x0218bbb8 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218bbbc data_ov15_0218bbbc: ; 0x0218bbbc .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218bbc0 data_ov15_0218bbc0: ; 0x0218bbc0 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218bbc4 data_ov15_0218bbc4: ; 0x0218bbc4 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218bbc8 data_ov15_0218bbc8: ; 0x0218bbc8 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218bbcc data_ov15_0218bbcc: ; 0x0218bbcc .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218bbd0 data_ov15_0218bbd0: ; 0x0218bbd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bbd4 data_ov15_0218bbd4: ; 0x0218bbd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bbd8 data_ov15_0218bbd8: ; 0x0218bbd8 .word func_ov15_0214d740 .global data_ov15_0218bbdc data_ov15_0218bbdc: ; 0x0218bbdc .word func_ov15_0214d724 .global data_ov15_0218bbe0 data_ov15_0218bbe0: ; 0x0218bbe0 .word func_ov15_0214d568 .global data_ov15_0218bbe4 data_ov15_0218bbe4: ; 0x0218bbe4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218bbe8 data_ov15_0218bbe8: ; 0x0218bbe8 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218bbec data_ov15_0218bbec: ; 0x0218bbec .word func_ov15_0214d67c .global data_ov15_0218bbf0 data_ov15_0218bbf0: ; 0x0218bbf0 .word func_ov15_0214d69c .global data_ov15_0218bbf4 data_ov15_0218bbf4: ; 0x0218bbf4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218bbf8 data_ov15_0218bbf8: ; 0x0218bbf8 .word func_ov15_0214d6b0 .global data_ov15_0218bbfc data_ov15_0218bbfc: ; 0x0218bbfc .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218bc00 data_ov15_0218bc00: ; 0x0218bc00 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218bc04 data_ov15_0218bc04: ; 0x0218bc04 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218bc08 data_ov15_0218bc08: ; 0x0218bc08 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218bc0c data_ov15_0218bc0c: ; 0x0218bc0c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218bc10 data_ov15_0218bc10: ; 0x0218bc10 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218bc14 data_ov15_0218bc14: ; 0x0218bc14 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218bc18 data_ov15_0218bc18: ; 0x0218bc18 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bc1c data_ov15_0218bc1c: ; 0x0218bc1c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218bc20 data_ov15_0218bc20: ; 0x0218bc20 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218bc24 data_ov15_0218bc24: ; 0x0218bc24 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218bc28 data_ov15_0218bc28: ; 0x0218bc28 .word _ZN5Actor6GetPosEv .global data_ov15_0218bc2c data_ov15_0218bc2c: ; 0x0218bc2c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218bc30 data_ov15_0218bc30: ; 0x0218bc30 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218bc34 data_ov15_0218bc34: ; 0x0218bc34 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218bc38 data_ov15_0218bc38: ; 0x0218bc38 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218bc3c data_ov15_0218bc3c: ; 0x0218bc3c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218bc40 data_ov15_0218bc40: ; 0x0218bc40 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218bc44 data_ov15_0218bc44: ; 0x0218bc44 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218bc48 data_ov15_0218bc48: ; 0x0218bc48 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218bc4c data_ov15_0218bc4c: ; 0x0218bc4c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218bc50 data_ov15_0218bc50: ; 0x0218bc50 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218bc54 data_ov15_0218bc54: ; 0x0218bc54 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218bc58 data_ov15_0218bc58: ; 0x0218bc58 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218bc5c data_ov15_0218bc5c: ; 0x0218bc5c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218bc60 data_ov15_0218bc60: ; 0x0218bc60 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218bc64 data_ov15_0218bc64: ; 0x0218bc64 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218bc68 data_ov15_0218bc68: ; 0x0218bc68 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218bc6c data_ov15_0218bc6c: ; 0x0218bc6c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218bc70 data_ov15_0218bc70: ; 0x0218bc70 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218bc74 data_ov15_0218bc74: ; 0x0218bc74 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218bc78 data_ov15_0218bc78: ; 0x0218bc78 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218bc7c data_ov15_0218bc7c: ; 0x0218bc7c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218bc80 data_ov15_0218bc80: ; 0x0218bc80 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218bc84 data_ov15_0218bc84: ; 0x0218bc84 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218bc88 data_ov15_0218bc88: ; 0x0218bc88 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218bc8c data_ov15_0218bc8c: ; 0x0218bc8c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218bc90 data_ov15_0218bc90: ; 0x0218bc90 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218bc94 data_ov15_0218bc94: ; 0x0218bc94 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218bc98 data_ov15_0218bc98: ; 0x0218bc98 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218bc9c data_ov15_0218bc9c: ; 0x0218bc9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bca0 data_ov15_0218bca0: ; 0x0218bca0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bca4 data_ov15_0218bca4: ; 0x0218bca4 .word func_ov15_0214d810 .global data_ov15_0218bca8 data_ov15_0218bca8: ; 0x0218bca8 .word func_ov15_0214d824 .global data_ov15_0218bcac data_ov15_0218bcac: ; 0x0218bcac .word func_ov15_0214d840 .global data_ov15_0218bcb0 data_ov15_0218bcb0: ; 0x0218bcb0 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218bcb4 data_ov15_0218bcb4: ; 0x0218bcb4 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218bcb8 data_ov15_0218bcb8: ; 0x0218bcb8 .word func_ov15_0214d9d8 .global data_ov15_0218bcbc data_ov15_0218bcbc: ; 0x0218bcbc .word func_ov15_0214dc1c .global data_ov15_0218bcc0 data_ov15_0218bcc0: ; 0x0218bcc0 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218bcc4 data_ov15_0218bcc4: ; 0x0218bcc4 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218bcc8 data_ov15_0218bcc8: ; 0x0218bcc8 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218bccc data_ov15_0218bccc: ; 0x0218bccc .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218bcd0 data_ov15_0218bcd0: ; 0x0218bcd0 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218bcd4 data_ov15_0218bcd4: ; 0x0218bcd4 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218bcd8 data_ov15_0218bcd8: ; 0x0218bcd8 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218bcdc data_ov15_0218bcdc: ; 0x0218bcdc .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218bce0 data_ov15_0218bce0: ; 0x0218bce0 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218bce4 data_ov15_0218bce4: ; 0x0218bce4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bce8 data_ov15_0218bce8: ; 0x0218bce8 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218bcec data_ov15_0218bcec: ; 0x0218bcec .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218bcf0 data_ov15_0218bcf0: ; 0x0218bcf0 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218bcf4 data_ov15_0218bcf4: ; 0x0218bcf4 .word _ZN5Actor6GetPosEv .global data_ov15_0218bcf8 data_ov15_0218bcf8: ; 0x0218bcf8 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218bcfc data_ov15_0218bcfc: ; 0x0218bcfc .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218bd00 data_ov15_0218bd00: ; 0x0218bd00 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218bd04 data_ov15_0218bd04: ; 0x0218bd04 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218bd08 data_ov15_0218bd08: ; 0x0218bd08 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218bd0c data_ov15_0218bd0c: ; 0x0218bd0c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218bd10 data_ov15_0218bd10: ; 0x0218bd10 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218bd14 data_ov15_0218bd14: ; 0x0218bd14 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218bd18 data_ov15_0218bd18: ; 0x0218bd18 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218bd1c data_ov15_0218bd1c: ; 0x0218bd1c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218bd20 data_ov15_0218bd20: ; 0x0218bd20 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218bd24 data_ov15_0218bd24: ; 0x0218bd24 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218bd28 data_ov15_0218bd28: ; 0x0218bd28 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218bd2c data_ov15_0218bd2c: ; 0x0218bd2c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218bd30 data_ov15_0218bd30: ; 0x0218bd30 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218bd34 data_ov15_0218bd34: ; 0x0218bd34 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218bd38 data_ov15_0218bd38: ; 0x0218bd38 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218bd3c data_ov15_0218bd3c: ; 0x0218bd3c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218bd40 data_ov15_0218bd40: ; 0x0218bd40 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218bd44 data_ov15_0218bd44: ; 0x0218bd44 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218bd48 data_ov15_0218bd48: ; 0x0218bd48 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218bd4c data_ov15_0218bd4c: ; 0x0218bd4c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218bd50 data_ov15_0218bd50: ; 0x0218bd50 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218bd54 data_ov15_0218bd54: ; 0x0218bd54 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218bd58 data_ov15_0218bd58: ; 0x0218bd58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bd5c data_ov15_0218bd5c: ; 0x0218bd5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bd60 data_ov15_0218bd60: ; 0x0218bd60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bd64 data_ov15_0218bd64: ; 0x0218bd64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bd68 data_ov15_0218bd68: ; 0x0218bd68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bd6c data_ov15_0218bd6c: ; 0x0218bd6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bd70 data_ov15_0218bd70: ; 0x0218bd70 .word func_ov15_0214e0d0 .global data_ov15_0218bd74 data_ov15_0218bd74: ; 0x0218bd74 .word func_ov15_0214e0f0 .global data_ov15_0218bd78 data_ov15_0218bd78: ; 0x0218bd78 .word _ZN5Actor8vfunc_08Ev .global data_ov15_0218bd7c data_ov15_0218bd7c: ; 0x0218bd7c .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218bd80 data_ov15_0218bd80: ; 0x0218bd80 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218bd84 data_ov15_0218bd84: ; 0x0218bd84 .word func_ov15_0214ed58 .global data_ov15_0218bd88 data_ov15_0218bd88: ; 0x0218bd88 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218bd8c data_ov15_0218bd8c: ; 0x0218bd8c .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218bd90 data_ov15_0218bd90: ; 0x0218bd90 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218bd94 data_ov15_0218bd94: ; 0x0218bd94 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218bd98 data_ov15_0218bd98: ; 0x0218bd98 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218bd9c data_ov15_0218bd9c: ; 0x0218bd9c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218bda0 data_ov15_0218bda0: ; 0x0218bda0 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218bda4 data_ov15_0218bda4: ; 0x0218bda4 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218bda8 data_ov15_0218bda8: ; 0x0218bda8 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218bdac data_ov15_0218bdac: ; 0x0218bdac .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218bdb0 data_ov15_0218bdb0: ; 0x0218bdb0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bdb4 data_ov15_0218bdb4: ; 0x0218bdb4 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218bdb8 data_ov15_0218bdb8: ; 0x0218bdb8 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218bdbc data_ov15_0218bdbc: ; 0x0218bdbc .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218bdc0 data_ov15_0218bdc0: ; 0x0218bdc0 .word _ZN5Actor6GetPosEv .global data_ov15_0218bdc4 data_ov15_0218bdc4: ; 0x0218bdc4 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218bdc8 data_ov15_0218bdc8: ; 0x0218bdc8 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218bdcc data_ov15_0218bdcc: ; 0x0218bdcc .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218bdd0 data_ov15_0218bdd0: ; 0x0218bdd0 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218bdd4 data_ov15_0218bdd4: ; 0x0218bdd4 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218bdd8 data_ov15_0218bdd8: ; 0x0218bdd8 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218bddc data_ov15_0218bddc: ; 0x0218bddc .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218bde0 data_ov15_0218bde0: ; 0x0218bde0 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218bde4 data_ov15_0218bde4: ; 0x0218bde4 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218bde8 data_ov15_0218bde8: ; 0x0218bde8 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218bdec data_ov15_0218bdec: ; 0x0218bdec .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218bdf0 data_ov15_0218bdf0: ; 0x0218bdf0 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218bdf4 data_ov15_0218bdf4: ; 0x0218bdf4 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218bdf8 data_ov15_0218bdf8: ; 0x0218bdf8 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218bdfc data_ov15_0218bdfc: ; 0x0218bdfc .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218be00 data_ov15_0218be00: ; 0x0218be00 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218be04 data_ov15_0218be04: ; 0x0218be04 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218be08 data_ov15_0218be08: ; 0x0218be08 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218be0c data_ov15_0218be0c: ; 0x0218be0c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218be10 data_ov15_0218be10: ; 0x0218be10 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218be14 data_ov15_0218be14: ; 0x0218be14 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218be18 data_ov15_0218be18: ; 0x0218be18 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218be1c data_ov15_0218be1c: ; 0x0218be1c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218be20 data_ov15_0218be20: ; 0x0218be20 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218be24 data_ov15_0218be24: ; 0x0218be24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218be28 data_ov15_0218be28: ; 0x0218be28 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218be2c data_ov15_0218be2c: ; 0x0218be2c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218be30 data_ov15_0218be30: ; 0x0218be30 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218be34 data_ov15_0218be34: ; 0x0218be34 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218be38 data_ov15_0218be38: ; 0x0218be38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218be3c data_ov15_0218be3c: ; 0x0218be3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218be40 data_ov15_0218be40: ; 0x0218be40 .word func_ov15_0214eebc .global data_ov15_0218be44 data_ov15_0218be44: ; 0x0218be44 .word func_ov15_0214eedc .global data_ov15_0218be48 data_ov15_0218be48: ; 0x0218be48 .word func_ov15_0214ef04 .global data_ov15_0218be4c data_ov15_0218be4c: ; 0x0218be4c .word func_ov15_0214f114 .global data_ov15_0218be50 data_ov15_0218be50: ; 0x0218be50 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218be54 data_ov15_0218be54: ; 0x0218be54 .word func_ov15_0214f1a4 .global data_ov15_0218be58 data_ov15_0218be58: ; 0x0218be58 .word func_ov15_0214f754 .global data_ov15_0218be5c data_ov15_0218be5c: ; 0x0218be5c .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218be60 data_ov15_0218be60: ; 0x0218be60 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218be64 data_ov15_0218be64: ; 0x0218be64 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218be68 data_ov15_0218be68: ; 0x0218be68 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218be6c data_ov15_0218be6c: ; 0x0218be6c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218be70 data_ov15_0218be70: ; 0x0218be70 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218be74 data_ov15_0218be74: ; 0x0218be74 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218be78 data_ov15_0218be78: ; 0x0218be78 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218be7c data_ov15_0218be7c: ; 0x0218be7c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218be80 data_ov15_0218be80: ; 0x0218be80 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218be84 data_ov15_0218be84: ; 0x0218be84 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218be88 data_ov15_0218be88: ; 0x0218be88 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218be8c data_ov15_0218be8c: ; 0x0218be8c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218be90 data_ov15_0218be90: ; 0x0218be90 .word _ZN5Actor6GetPosEv .global data_ov15_0218be94 data_ov15_0218be94: ; 0x0218be94 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218be98 data_ov15_0218be98: ; 0x0218be98 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218be9c data_ov15_0218be9c: ; 0x0218be9c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218bea0 data_ov15_0218bea0: ; 0x0218bea0 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218bea4 data_ov15_0218bea4: ; 0x0218bea4 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218bea8 data_ov15_0218bea8: ; 0x0218bea8 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218beac data_ov15_0218beac: ; 0x0218beac .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218beb0 data_ov15_0218beb0: ; 0x0218beb0 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218beb4 data_ov15_0218beb4: ; 0x0218beb4 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218beb8 data_ov15_0218beb8: ; 0x0218beb8 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218bebc data_ov15_0218bebc: ; 0x0218bebc .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218bec0 data_ov15_0218bec0: ; 0x0218bec0 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218bec4 data_ov15_0218bec4: ; 0x0218bec4 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218bec8 data_ov15_0218bec8: ; 0x0218bec8 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218becc data_ov15_0218becc: ; 0x0218becc .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218bed0 data_ov15_0218bed0: ; 0x0218bed0 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218bed4 data_ov15_0218bed4: ; 0x0218bed4 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218bed8 data_ov15_0218bed8: ; 0x0218bed8 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218bedc data_ov15_0218bedc: ; 0x0218bedc .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218bee0 data_ov15_0218bee0: ; 0x0218bee0 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218bee4 data_ov15_0218bee4: ; 0x0218bee4 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218bee8 data_ov15_0218bee8: ; 0x0218bee8 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218beec data_ov15_0218beec: ; 0x0218beec .word _ZN5Actor8vfunc_acEv .global data_ov15_0218bef0 data_ov15_0218bef0: ; 0x0218bef0 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218bef4 data_ov15_0218bef4: ; 0x0218bef4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218bef8 data_ov15_0218bef8: ; 0x0218bef8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218befc data_ov15_0218befc: ; 0x0218befc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218bf00 data_ov15_0218bf00: ; 0x0218bf00 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218bf04 data_ov15_0218bf04: ; 0x0218bf04 .byte 0xff .global data_ov15_0218bf05 data_ov15_0218bf05: ; 0x0218bf05 .byte 0xff .global data_ov15_0218bf06 data_ov15_0218bf06: ; 0x0218bf06 .byte 0x00 .global data_ov15_0218bf07 data_ov15_0218bf07: ; 0x0218bf07 .byte 0x00 .global data_ov15_0218bf08 data_ov15_0218bf08: ; 0x0218bf08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bf0c data_ov15_0218bf0c: ; 0x0218bf0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bf10 data_ov15_0218bf10: ; 0x0218bf10 .word func_ov15_021500f4 .global data_ov15_0218bf14 data_ov15_0218bf14: ; 0x0218bf14 .word func_ov15_0215014c .global data_ov15_0218bf18 data_ov15_0218bf18: ; 0x0218bf18 .word func_ov15_021501ac .global data_ov15_0218bf1c data_ov15_0218bf1c: ; 0x0218bf1c .word func_ov15_02150874 .global data_ov15_0218bf20 data_ov15_0218bf20: ; 0x0218bf20 .word func_ov15_02151680 .global data_ov15_0218bf24 data_ov15_0218bf24: ; 0x0218bf24 .word func_ov15_02150900 .global data_ov15_0218bf28 data_ov15_0218bf28: ; 0x0218bf28 .word func_ov15_02150eb8 .global data_ov15_0218bf2c data_ov15_0218bf2c: ; 0x0218bf2c .word func_ov15_02151424 .global data_ov15_0218bf30 data_ov15_0218bf30: ; 0x0218bf30 .word func_ov15_02151320 .global data_ov15_0218bf34 data_ov15_0218bf34: ; 0x0218bf34 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218bf38 data_ov15_0218bf38: ; 0x0218bf38 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218bf3c data_ov15_0218bf3c: ; 0x0218bf3c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218bf40 data_ov15_0218bf40: ; 0x0218bf40 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218bf44 data_ov15_0218bf44: ; 0x0218bf44 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218bf48 data_ov15_0218bf48: ; 0x0218bf48 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218bf4c data_ov15_0218bf4c: ; 0x0218bf4c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218bf50 data_ov15_0218bf50: ; 0x0218bf50 .word func_ov15_021515bc .global data_ov15_0218bf54 data_ov15_0218bf54: ; 0x0218bf54 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218bf58 data_ov15_0218bf58: ; 0x0218bf58 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218bf5c data_ov15_0218bf5c: ; 0x0218bf5c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218bf60 data_ov15_0218bf60: ; 0x0218bf60 .word _ZN5Actor6GetPosEv .global data_ov15_0218bf64 data_ov15_0218bf64: ; 0x0218bf64 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218bf68 data_ov15_0218bf68: ; 0x0218bf68 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218bf6c data_ov15_0218bf6c: ; 0x0218bf6c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218bf70 data_ov15_0218bf70: ; 0x0218bf70 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218bf74 data_ov15_0218bf74: ; 0x0218bf74 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218bf78 data_ov15_0218bf78: ; 0x0218bf78 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218bf7c data_ov15_0218bf7c: ; 0x0218bf7c .word func_ov15_0215124c .global data_ov15_0218bf80 data_ov15_0218bf80: ; 0x0218bf80 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218bf84 data_ov15_0218bf84: ; 0x0218bf84 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218bf88 data_ov15_0218bf88: ; 0x0218bf88 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218bf8c data_ov15_0218bf8c: ; 0x0218bf8c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218bf90 data_ov15_0218bf90: ; 0x0218bf90 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218bf94 data_ov15_0218bf94: ; 0x0218bf94 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218bf98 data_ov15_0218bf98: ; 0x0218bf98 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218bf9c data_ov15_0218bf9c: ; 0x0218bf9c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218bfa0 data_ov15_0218bfa0: ; 0x0218bfa0 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218bfa4 data_ov15_0218bfa4: ; 0x0218bfa4 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218bfa8 data_ov15_0218bfa8: ; 0x0218bfa8 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218bfac data_ov15_0218bfac: ; 0x0218bfac .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218bfb0 data_ov15_0218bfb0: ; 0x0218bfb0 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218bfb4 data_ov15_0218bfb4: ; 0x0218bfb4 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218bfb8 data_ov15_0218bfb8: ; 0x0218bfb8 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218bfbc data_ov15_0218bfbc: ; 0x0218bfbc .word _ZN5Actor8vfunc_acEv .global data_ov15_0218bfc0 data_ov15_0218bfc0: ; 0x0218bfc0 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218bfc4 data_ov15_0218bfc4: ; 0x0218bfc4 .word func_ov15_021509b8 .global data_ov15_0218bfc8 data_ov15_0218bfc8: ; 0x0218bfc8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bfcc data_ov15_0218bfcc: ; 0x0218bfcc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bfd0 data_ov15_0218bfd0: ; 0x0218bfd0 .word func_ov15_021500e0 .global data_ov15_0218bfd4 data_ov15_0218bfd4: ; 0x0218bfd4 .word func_ov15_02151704 .global data_ov15_0218bfd8 data_ov15_0218bfd8: ; 0x0218bfd8 .word func_ov15_0214fff8 .global data_ov15_0218bfdc data_ov15_0218bfdc: ; 0x0218bfdc .word func_ov15_02150028 .global data_ov15_0218bfe0 data_ov15_0218bfe0: ; 0x0218bfe0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bfe4 data_ov15_0218bfe4: ; 0x0218bfe4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bfe8 data_ov15_0218bfe8: ; 0x0218bfe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bfec data_ov15_0218bfec: ; 0x0218bfec .word func_ov00_02081f58 .global data_ov15_0218bff0 data_ov15_0218bff0: ; 0x0218bff0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bff4 data_ov15_0218bff4: ; 0x0218bff4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218bff8 data_ov15_0218bff8: ; 0x0218bff8 .word func_ov15_02151fb0 .global data_ov15_0218bffc data_ov15_0218bffc: ; 0x0218bffc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c000 data_ov15_0218c000: ; 0x0218c000 .word func_ov15_02151fb0 .global data_ov15_0218c004 data_ov15_0218c004: ; 0x0218c004 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c008 data_ov15_0218c008: ; 0x0218c008 .word func_ov15_02151cfc .global data_ov15_0218c00c data_ov15_0218c00c: ; 0x0218c00c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c010 data_ov15_0218c010: ; 0x0218c010 .word func_ov15_02151e44 .global data_ov15_0218c014 data_ov15_0218c014: ; 0x0218c014 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c018 data_ov15_0218c018: ; 0x0218c018 .word func_ov15_02151ef8 .global data_ov15_0218c01c data_ov15_0218c01c: ; 0x0218c01c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c020 data_ov15_0218c020: ; 0x0218c020 .word func_ov15_02151fb0 .global data_ov15_0218c024 data_ov15_0218c024: ; 0x0218c024 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c028 data_ov15_0218c028: ; 0x0218c028 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c02c data_ov15_0218c02c: ; 0x0218c02c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c030 data_ov15_0218c030: ; 0x0218c030 .word func_ov15_02151770 .global data_ov15_0218c034 data_ov15_0218c034: ; 0x0218c034 .word func_ov15_02151784 .global data_ov15_0218c038 data_ov15_0218c038: ; 0x0218c038 .word func_ov15_02151a48 .global data_ov15_0218c03c data_ov15_0218c03c: ; 0x0218c03c .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c040 data_ov15_0218c040: ; 0x0218c040 .word func_ov15_0215181c .global data_ov15_0218c044 data_ov15_0218c044: ; 0x0218c044 .word func_ov15_02151fc8 .global data_ov15_0218c048 data_ov15_0218c048: ; 0x0218c048 .word func_ov15_0215200c ; func_ov61_0215200c .global data_ov15_0218c04c data_ov15_0218c04c: ; 0x0218c04c .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c050 data_ov15_0218c050: ; 0x0218c050 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218c054 data_ov15_0218c054: ; 0x0218c054 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c058 data_ov15_0218c058: ; 0x0218c058 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c05c data_ov15_0218c05c: ; 0x0218c05c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c060 data_ov15_0218c060: ; 0x0218c060 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c064 data_ov15_0218c064: ; 0x0218c064 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c068 data_ov15_0218c068: ; 0x0218c068 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c06c data_ov15_0218c06c: ; 0x0218c06c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c070 data_ov15_0218c070: ; 0x0218c070 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c074 data_ov15_0218c074: ; 0x0218c074 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c078 data_ov15_0218c078: ; 0x0218c078 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218c07c data_ov15_0218c07c: ; 0x0218c07c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c080 data_ov15_0218c080: ; 0x0218c080 .word _ZN5Actor6GetPosEv .global data_ov15_0218c084 data_ov15_0218c084: ; 0x0218c084 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c088 data_ov15_0218c088: ; 0x0218c088 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c08c data_ov15_0218c08c: ; 0x0218c08c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c090 data_ov15_0218c090: ; 0x0218c090 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c094 data_ov15_0218c094: ; 0x0218c094 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c098 data_ov15_0218c098: ; 0x0218c098 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c09c data_ov15_0218c09c: ; 0x0218c09c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218c0a0 data_ov15_0218c0a0: ; 0x0218c0a0 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c0a4 data_ov15_0218c0a4: ; 0x0218c0a4 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c0a8 data_ov15_0218c0a8: ; 0x0218c0a8 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c0ac data_ov15_0218c0ac: ; 0x0218c0ac .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c0b0 data_ov15_0218c0b0: ; 0x0218c0b0 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c0b4 data_ov15_0218c0b4: ; 0x0218c0b4 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c0b8 data_ov15_0218c0b8: ; 0x0218c0b8 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c0bc data_ov15_0218c0bc: ; 0x0218c0bc .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c0c0 data_ov15_0218c0c0: ; 0x0218c0c0 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c0c4 data_ov15_0218c0c4: ; 0x0218c0c4 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c0c8 data_ov15_0218c0c8: ; 0x0218c0c8 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c0cc data_ov15_0218c0cc: ; 0x0218c0cc .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c0d0 data_ov15_0218c0d0: ; 0x0218c0d0 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c0d4 data_ov15_0218c0d4: ; 0x0218c0d4 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c0d8 data_ov15_0218c0d8: ; 0x0218c0d8 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c0dc data_ov15_0218c0dc: ; 0x0218c0dc .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c0e0 data_ov15_0218c0e0: ; 0x0218c0e0 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c0e4 data_ov15_0218c0e4: ; 0x0218c0e4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c0e8 data_ov15_0218c0e8: ; 0x0218c0e8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c0ec data_ov15_0218c0ec: ; 0x0218c0ec .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c0f0 data_ov15_0218c0f0: ; 0x0218c0f0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c0f4 data_ov15_0218c0f4: ; 0x0218c0f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c0f8 data_ov15_0218c0f8: ; 0x0218c0f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c0fc data_ov15_0218c0fc: ; 0x0218c0fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c100 data_ov15_0218c100: ; 0x0218c100 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c104 data_ov15_0218c104: ; 0x0218c104 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c108 data_ov15_0218c108: ; 0x0218c108 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c10c data_ov15_0218c10c: ; 0x0218c10c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c110 data_ov15_0218c110: ; 0x0218c110 .word func_ov15_0215575c .global data_ov15_0218c114 data_ov15_0218c114: ; 0x0218c114 .word func_ov15_021557c8 .global data_ov15_0218c118 data_ov15_0218c118: ; 0x0218c118 .word func_ov15_0215583c .global data_ov15_0218c11c data_ov15_0218c11c: ; 0x0218c11c .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c120 data_ov15_0218c120: ; 0x0218c120 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218c124 data_ov15_0218c124: ; 0x0218c124 .word func_ov15_02155b88 .global data_ov15_0218c128 data_ov15_0218c128: ; 0x0218c128 .word func_ov15_0215619c .global data_ov15_0218c12c data_ov15_0218c12c: ; 0x0218c12c .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c130 data_ov15_0218c130: ; 0x0218c130 .word func_ov15_021575b0 .global data_ov15_0218c134 data_ov15_0218c134: ; 0x0218c134 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c138 data_ov15_0218c138: ; 0x0218c138 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c13c data_ov15_0218c13c: ; 0x0218c13c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c140 data_ov15_0218c140: ; 0x0218c140 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c144 data_ov15_0218c144: ; 0x0218c144 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c148 data_ov15_0218c148: ; 0x0218c148 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c14c data_ov15_0218c14c: ; 0x0218c14c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c150 data_ov15_0218c150: ; 0x0218c150 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c154 data_ov15_0218c154: ; 0x0218c154 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c158 data_ov15_0218c158: ; 0x0218c158 .word func_ov15_02156210 .global data_ov15_0218c15c data_ov15_0218c15c: ; 0x0218c15c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c160 data_ov15_0218c160: ; 0x0218c160 .word _ZN5Actor6GetPosEv .global data_ov15_0218c164 data_ov15_0218c164: ; 0x0218c164 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c168 data_ov15_0218c168: ; 0x0218c168 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c16c data_ov15_0218c16c: ; 0x0218c16c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c170 data_ov15_0218c170: ; 0x0218c170 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c174 data_ov15_0218c174: ; 0x0218c174 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c178 data_ov15_0218c178: ; 0x0218c178 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c17c data_ov15_0218c17c: ; 0x0218c17c .word func_ov15_021575f0 .global data_ov15_0218c180 data_ov15_0218c180: ; 0x0218c180 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c184 data_ov15_0218c184: ; 0x0218c184 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c188 data_ov15_0218c188: ; 0x0218c188 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c18c data_ov15_0218c18c: ; 0x0218c18c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c190 data_ov15_0218c190: ; 0x0218c190 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c194 data_ov15_0218c194: ; 0x0218c194 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c198 data_ov15_0218c198: ; 0x0218c198 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c19c data_ov15_0218c19c: ; 0x0218c19c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c1a0 data_ov15_0218c1a0: ; 0x0218c1a0 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c1a4 data_ov15_0218c1a4: ; 0x0218c1a4 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c1a8 data_ov15_0218c1a8: ; 0x0218c1a8 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c1ac data_ov15_0218c1ac: ; 0x0218c1ac .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c1b0 data_ov15_0218c1b0: ; 0x0218c1b0 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c1b4 data_ov15_0218c1b4: ; 0x0218c1b4 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c1b8 data_ov15_0218c1b8: ; 0x0218c1b8 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c1bc data_ov15_0218c1bc: ; 0x0218c1bc .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c1c0 data_ov15_0218c1c0: ; 0x0218c1c0 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c1c4 data_ov15_0218c1c4: ; 0x0218c1c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1c8 data_ov15_0218c1c8: ; 0x0218c1c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1cc data_ov15_0218c1cc: ; 0x0218c1cc .word func_ov00_020c5d34 .global data_ov15_0218c1d0 data_ov15_0218c1d0: ; 0x0218c1d0 .word func_ov15_02125384 .global data_ov15_0218c1d4 data_ov15_0218c1d4: ; 0x0218c1d4 .word func_ov00_020c5e58 .global data_ov15_0218c1d8 data_ov15_0218c1d8: ; 0x0218c1d8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c1dc data_ov15_0218c1dc: ; 0x0218c1dc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c1e0 data_ov15_0218c1e0: ; 0x0218c1e0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c1e4 data_ov15_0218c1e4: ; 0x0218c1e4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c1e8 data_ov15_0218c1e8: ; 0x0218c1e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1ec data_ov15_0218c1ec: ; 0x0218c1ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1f0 data_ov15_0218c1f0: ; 0x0218c1f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1f4 data_ov15_0218c1f4: ; 0x0218c1f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1f8 data_ov15_0218c1f8: ; 0x0218c1f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c1fc data_ov15_0218c1fc: ; 0x0218c1fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c200 data_ov15_0218c200: ; 0x0218c200 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c204 data_ov15_0218c204: ; 0x0218c204 .word func_ov15_0215766c .global data_ov15_0218c208 data_ov15_0218c208: ; 0x0218c208 .word func_ov15_0215768c .global data_ov15_0218c20c data_ov15_0218c20c: ; 0x0218c20c .word func_ov15_021576b4 .global data_ov15_0218c210 data_ov15_0218c210: ; 0x0218c210 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c214 data_ov15_0218c214: ; 0x0218c214 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218c218 data_ov15_0218c218: ; 0x0218c218 .word func_ov15_021578e0 .global data_ov15_0218c21c data_ov15_0218c21c: ; 0x0218c21c .word func_ov15_02157c4c .global data_ov15_0218c220 data_ov15_0218c220: ; 0x0218c220 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c224 data_ov15_0218c224: ; 0x0218c224 .word func_ov15_02157c9c .global data_ov15_0218c228 data_ov15_0218c228: ; 0x0218c228 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c22c data_ov15_0218c22c: ; 0x0218c22c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c230 data_ov15_0218c230: ; 0x0218c230 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c234 data_ov15_0218c234: ; 0x0218c234 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c238 data_ov15_0218c238: ; 0x0218c238 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c23c data_ov15_0218c23c: ; 0x0218c23c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c240 data_ov15_0218c240: ; 0x0218c240 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c244 data_ov15_0218c244: ; 0x0218c244 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c248 data_ov15_0218c248: ; 0x0218c248 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c24c data_ov15_0218c24c: ; 0x0218c24c .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218c250 data_ov15_0218c250: ; 0x0218c250 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c254 data_ov15_0218c254: ; 0x0218c254 .word _ZN5Actor6GetPosEv .global data_ov15_0218c258 data_ov15_0218c258: ; 0x0218c258 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c25c data_ov15_0218c25c: ; 0x0218c25c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c260 data_ov15_0218c260: ; 0x0218c260 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c264 data_ov15_0218c264: ; 0x0218c264 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c268 data_ov15_0218c268: ; 0x0218c268 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c26c data_ov15_0218c26c: ; 0x0218c26c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c270 data_ov15_0218c270: ; 0x0218c270 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218c274 data_ov15_0218c274: ; 0x0218c274 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c278 data_ov15_0218c278: ; 0x0218c278 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c27c data_ov15_0218c27c: ; 0x0218c27c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c280 data_ov15_0218c280: ; 0x0218c280 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c284 data_ov15_0218c284: ; 0x0218c284 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c288 data_ov15_0218c288: ; 0x0218c288 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c28c data_ov15_0218c28c: ; 0x0218c28c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c290 data_ov15_0218c290: ; 0x0218c290 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c294 data_ov15_0218c294: ; 0x0218c294 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c298 data_ov15_0218c298: ; 0x0218c298 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c29c data_ov15_0218c29c: ; 0x0218c29c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c2a0 data_ov15_0218c2a0: ; 0x0218c2a0 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c2a4 data_ov15_0218c2a4: ; 0x0218c2a4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c2a8 data_ov15_0218c2a8: ; 0x0218c2a8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c2ac data_ov15_0218c2ac: ; 0x0218c2ac .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c2b0 data_ov15_0218c2b0: ; 0x0218c2b0 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c2b4 data_ov15_0218c2b4: ; 0x0218c2b4 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c2b8 data_ov15_0218c2b8: ; 0x0218c2b8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c2bc data_ov15_0218c2bc: ; 0x0218c2bc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c2c0 data_ov15_0218c2c0: ; 0x0218c2c0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c2c4 data_ov15_0218c2c4: ; 0x0218c2c4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c2c8 data_ov15_0218c2c8: ; 0x0218c2c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c2cc data_ov15_0218c2cc: ; 0x0218c2cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c2d0 data_ov15_0218c2d0: ; 0x0218c2d0 .word func_ov15_02157da8 .global data_ov15_0218c2d4 data_ov15_0218c2d4: ; 0x0218c2d4 .word func_ov15_02157dbc .global data_ov15_0218c2d8 data_ov15_0218c2d8: ; 0x0218c2d8 .word func_ov15_02157dd8 .global data_ov15_0218c2dc data_ov15_0218c2dc: ; 0x0218c2dc .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c2e0 data_ov15_0218c2e0: ; 0x0218c2e0 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218c2e4 data_ov15_0218c2e4: ; 0x0218c2e4 .word func_ov15_02157e68 .global data_ov15_0218c2e8 data_ov15_0218c2e8: ; 0x0218c2e8 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218c2ec data_ov15_0218c2ec: ; 0x0218c2ec .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c2f0 data_ov15_0218c2f0: ; 0x0218c2f0 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218c2f4 data_ov15_0218c2f4: ; 0x0218c2f4 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c2f8 data_ov15_0218c2f8: ; 0x0218c2f8 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c2fc data_ov15_0218c2fc: ; 0x0218c2fc .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c300 data_ov15_0218c300: ; 0x0218c300 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c304 data_ov15_0218c304: ; 0x0218c304 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c308 data_ov15_0218c308: ; 0x0218c308 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c30c data_ov15_0218c30c: ; 0x0218c30c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c310 data_ov15_0218c310: ; 0x0218c310 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c314 data_ov15_0218c314: ; 0x0218c314 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c318 data_ov15_0218c318: ; 0x0218c318 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218c31c data_ov15_0218c31c: ; 0x0218c31c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c320 data_ov15_0218c320: ; 0x0218c320 .word _ZN5Actor6GetPosEv .global data_ov15_0218c324 data_ov15_0218c324: ; 0x0218c324 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c328 data_ov15_0218c328: ; 0x0218c328 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c32c data_ov15_0218c32c: ; 0x0218c32c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c330 data_ov15_0218c330: ; 0x0218c330 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c334 data_ov15_0218c334: ; 0x0218c334 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c338 data_ov15_0218c338: ; 0x0218c338 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c33c data_ov15_0218c33c: ; 0x0218c33c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218c340 data_ov15_0218c340: ; 0x0218c340 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c344 data_ov15_0218c344: ; 0x0218c344 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c348 data_ov15_0218c348: ; 0x0218c348 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c34c data_ov15_0218c34c: ; 0x0218c34c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c350 data_ov15_0218c350: ; 0x0218c350 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c354 data_ov15_0218c354: ; 0x0218c354 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c358 data_ov15_0218c358: ; 0x0218c358 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c35c data_ov15_0218c35c: ; 0x0218c35c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c360 data_ov15_0218c360: ; 0x0218c360 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c364 data_ov15_0218c364: ; 0x0218c364 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c368 data_ov15_0218c368: ; 0x0218c368 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c36c data_ov15_0218c36c: ; 0x0218c36c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c370 data_ov15_0218c370: ; 0x0218c370 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c374 data_ov15_0218c374: ; 0x0218c374 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c378 data_ov15_0218c378: ; 0x0218c378 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c37c data_ov15_0218c37c: ; 0x0218c37c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c380 data_ov15_0218c380: ; 0x0218c380 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c384 data_ov15_0218c384: ; 0x0218c384 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c388 data_ov15_0218c388: ; 0x0218c388 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c38c data_ov15_0218c38c: ; 0x0218c38c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c390 data_ov15_0218c390: ; 0x0218c390 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c394 data_ov15_0218c394: ; 0x0218c394 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c398 data_ov15_0218c398: ; 0x0218c398 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c39c data_ov15_0218c39c: ; 0x0218c39c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c3a0 data_ov15_0218c3a0: ; 0x0218c3a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c3a4 data_ov15_0218c3a4: ; 0x0218c3a4 .word func_ov15_02158664 .global data_ov15_0218c3a8 data_ov15_0218c3a8: ; 0x0218c3a8 .word func_ov15_021586f8 .global data_ov15_0218c3ac data_ov15_0218c3ac: ; 0x0218c3ac .word func_ov15_02158794 .global data_ov15_0218c3b0 data_ov15_0218c3b0: ; 0x0218c3b0 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c3b4 data_ov15_0218c3b4: ; 0x0218c3b4 .word func_ov15_02123ba8 .global data_ov15_0218c3b8 data_ov15_0218c3b8: ; 0x0218c3b8 .word func_ov15_02123a9c .global data_ov15_0218c3bc data_ov15_0218c3bc: ; 0x0218c3bc .word func_ov15_02123b78 .global data_ov15_0218c3c0 data_ov15_0218c3c0: ; 0x0218c3c0 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c3c4 data_ov15_0218c3c4: ; 0x0218c3c4 .word func_ov15_0215a2f4 .global data_ov15_0218c3c8 data_ov15_0218c3c8: ; 0x0218c3c8 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c3cc data_ov15_0218c3cc: ; 0x0218c3cc .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c3d0 data_ov15_0218c3d0: ; 0x0218c3d0 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c3d4 data_ov15_0218c3d4: ; 0x0218c3d4 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c3d8 data_ov15_0218c3d8: ; 0x0218c3d8 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c3dc data_ov15_0218c3dc: ; 0x0218c3dc .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c3e0 data_ov15_0218c3e0: ; 0x0218c3e0 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c3e4 data_ov15_0218c3e4: ; 0x0218c3e4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c3e8 data_ov15_0218c3e8: ; 0x0218c3e8 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c3ec data_ov15_0218c3ec: ; 0x0218c3ec .word func_ov15_0215a214 .global data_ov15_0218c3f0 data_ov15_0218c3f0: ; 0x0218c3f0 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c3f4 data_ov15_0218c3f4: ; 0x0218c3f4 .word _ZN5Actor6GetPosEv .global data_ov15_0218c3f8 data_ov15_0218c3f8: ; 0x0218c3f8 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c3fc data_ov15_0218c3fc: ; 0x0218c3fc .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c400 data_ov15_0218c400: ; 0x0218c400 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c404 data_ov15_0218c404: ; 0x0218c404 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c408 data_ov15_0218c408: ; 0x0218c408 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c40c data_ov15_0218c40c: ; 0x0218c40c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c410 data_ov15_0218c410: ; 0x0218c410 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218c414 data_ov15_0218c414: ; 0x0218c414 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c418 data_ov15_0218c418: ; 0x0218c418 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c41c data_ov15_0218c41c: ; 0x0218c41c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c420 data_ov15_0218c420: ; 0x0218c420 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c424 data_ov15_0218c424: ; 0x0218c424 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c428 data_ov15_0218c428: ; 0x0218c428 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c42c data_ov15_0218c42c: ; 0x0218c42c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c430 data_ov15_0218c430: ; 0x0218c430 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c434 data_ov15_0218c434: ; 0x0218c434 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c438 data_ov15_0218c438: ; 0x0218c438 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c43c data_ov15_0218c43c: ; 0x0218c43c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c440 data_ov15_0218c440: ; 0x0218c440 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c444 data_ov15_0218c444: ; 0x0218c444 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c448 data_ov15_0218c448: ; 0x0218c448 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c44c data_ov15_0218c44c: ; 0x0218c44c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c450 data_ov15_0218c450: ; 0x0218c450 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c454 data_ov15_0218c454: ; 0x0218c454 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c458 data_ov15_0218c458: ; 0x0218c458 .word func_ov15_02158ce0 .global data_ov15_0218c45c data_ov15_0218c45c: ; 0x0218c45c .word func_ov15_02159284 .global data_ov15_0218c460 data_ov15_0218c460: ; 0x0218c460 .word func_ov15_02123770 .global data_ov15_0218c464 data_ov15_0218c464: ; 0x0218c464 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c468 data_ov15_0218c468: ; 0x0218c468 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c46c data_ov15_0218c46c: ; 0x0218c46c .word func_ov00_020c5d34 .global data_ov15_0218c470 data_ov15_0218c470: ; 0x0218c470 .word func_ov15_02125384 .global data_ov15_0218c474 data_ov15_0218c474: ; 0x0218c474 .word func_ov00_020c5e58 .global data_ov15_0218c478 data_ov15_0218c478: ; 0x0218c478 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c47c data_ov15_0218c47c: ; 0x0218c47c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c480 data_ov15_0218c480: ; 0x0218c480 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c484 data_ov15_0218c484: ; 0x0218c484 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c488 data_ov15_0218c488: ; 0x0218c488 .word func_ov15_0215a410 .global data_ov15_0218c48c data_ov15_0218c48c: ; 0x0218c48c .word func_ov15_0215a440 .global data_ov15_0218c490 data_ov15_0218c490: ; 0x0218c490 .word func_ov15_0215a478 .global data_ov15_0218c494 data_ov15_0218c494: ; 0x0218c494 .word func_ov15_0215a768 .global data_ov15_0218c498 data_ov15_0218c498: ; 0x0218c498 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218c49c data_ov15_0218c49c: ; 0x0218c49c .word func_ov15_0215a8d8 .global data_ov15_0218c4a0 data_ov15_0218c4a0: ; 0x0218c4a0 .word func_ov15_0215a95c .global data_ov15_0218c4a4 data_ov15_0218c4a4: ; 0x0218c4a4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c4a8 data_ov15_0218c4a8: ; 0x0218c4a8 .word func_ov15_0215b654 .global data_ov15_0218c4ac data_ov15_0218c4ac: ; 0x0218c4ac .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c4b0 data_ov15_0218c4b0: ; 0x0218c4b0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c4b4 data_ov15_0218c4b4: ; 0x0218c4b4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c4b8 data_ov15_0218c4b8: ; 0x0218c4b8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c4bc data_ov15_0218c4bc: ; 0x0218c4bc .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c4c0 data_ov15_0218c4c0: ; 0x0218c4c0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c4c4 data_ov15_0218c4c4: ; 0x0218c4c4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c4c8 data_ov15_0218c4c8: ; 0x0218c4c8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c4cc data_ov15_0218c4cc: ; 0x0218c4cc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c4d0 data_ov15_0218c4d0: ; 0x0218c4d0 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218c4d4 data_ov15_0218c4d4: ; 0x0218c4d4 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c4d8 data_ov15_0218c4d8: ; 0x0218c4d8 .word _ZN5Actor6GetPosEv .global data_ov15_0218c4dc data_ov15_0218c4dc: ; 0x0218c4dc .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c4e0 data_ov15_0218c4e0: ; 0x0218c4e0 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c4e4 data_ov15_0218c4e4: ; 0x0218c4e4 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c4e8 data_ov15_0218c4e8: ; 0x0218c4e8 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c4ec data_ov15_0218c4ec: ; 0x0218c4ec .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c4f0 data_ov15_0218c4f0: ; 0x0218c4f0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c4f4 data_ov15_0218c4f4: ; 0x0218c4f4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218c4f8 data_ov15_0218c4f8: ; 0x0218c4f8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c4fc data_ov15_0218c4fc: ; 0x0218c4fc .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c500 data_ov15_0218c500: ; 0x0218c500 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c504 data_ov15_0218c504: ; 0x0218c504 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c508 data_ov15_0218c508: ; 0x0218c508 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c50c data_ov15_0218c50c: ; 0x0218c50c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c510 data_ov15_0218c510: ; 0x0218c510 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c514 data_ov15_0218c514: ; 0x0218c514 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c518 data_ov15_0218c518: ; 0x0218c518 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c51c data_ov15_0218c51c: ; 0x0218c51c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c520 data_ov15_0218c520: ; 0x0218c520 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c524 data_ov15_0218c524: ; 0x0218c524 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c528 data_ov15_0218c528: ; 0x0218c528 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c52c data_ov15_0218c52c: ; 0x0218c52c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c530 data_ov15_0218c530: ; 0x0218c530 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c534 data_ov15_0218c534: ; 0x0218c534 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c538 data_ov15_0218c538: ; 0x0218c538 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c53c data_ov15_0218c53c: ; 0x0218c53c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c540 data_ov15_0218c540: ; 0x0218c540 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c544 data_ov15_0218c544: ; 0x0218c544 .word func_ov15_0215a3fc .global data_ov15_0218c548 data_ov15_0218c548: ; 0x0218c548 .word func_ov15_0215bb20 .global data_ov15_0218c54c data_ov15_0218c54c: ; 0x0218c54c .word func_ov00_020a960c .global data_ov15_0218c550 data_ov15_0218c550: ; 0x0218c550 .word func_ov00_020a9614 .global data_ov15_0218c554 data_ov15_0218c554: ; 0x0218c554 .word func_ov00_020a9650 .global data_ov15_0218c558 data_ov15_0218c558: ; 0x0218c558 .word func_ov00_020a96d4 .global data_ov15_0218c55c data_ov15_0218c55c: ; 0x0218c55c .word func_ov00_020a9740 .global data_ov15_0218c560 data_ov15_0218c560: ; 0x0218c560 .word func_ov00_020a9764 .global data_ov15_0218c564 data_ov15_0218c564: ; 0x0218c564 .word func_ov00_020a97d0 .global data_ov15_0218c568 data_ov15_0218c568: ; 0x0218c568 .word func_ov00_020a97e0 .global data_ov15_0218c56c data_ov15_0218c56c: ; 0x0218c56c .word func_ov00_020a97f8 .global data_ov15_0218c570 data_ov15_0218c570: ; 0x0218c570 .word func_ov00_020a9864 .global data_ov15_0218c574 data_ov15_0218c574: ; 0x0218c574 .word func_ov00_020a98bc .global data_ov15_0218c578 data_ov15_0218c578: ; 0x0218c578 .word func_ov00_020a9890 .global data_ov15_0218c57c data_ov15_0218c57c: ; 0x0218c57c .word func_ov00_020a9968 .global data_ov15_0218c580 data_ov15_0218c580: ; 0x0218c580 .word func_ov15_0215a380 .global data_ov15_0218c584 data_ov15_0218c584: ; 0x0218c584 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c588 data_ov15_0218c588: ; 0x0218c588 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c58c data_ov15_0218c58c: ; 0x0218c58c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c590 data_ov15_0218c590: ; 0x0218c590 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c594 data_ov15_0218c594: ; 0x0218c594 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c598 data_ov15_0218c598: ; 0x0218c598 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c59c data_ov15_0218c59c: ; 0x0218c59c .word func_ov15_0215bc00 .global data_ov15_0218c5a0 data_ov15_0218c5a0: ; 0x0218c5a0 .word func_ov15_0215bc20 .global data_ov15_0218c5a4 data_ov15_0218c5a4: ; 0x0218c5a4 .word func_ov15_0215bc48 .global data_ov15_0218c5a8 data_ov15_0218c5a8: ; 0x0218c5a8 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c5ac data_ov15_0218c5ac: ; 0x0218c5ac .word func_ov15_0215c584 .global data_ov15_0218c5b0 data_ov15_0218c5b0: ; 0x0218c5b0 .word func_ov15_0215bcf4 .global data_ov15_0218c5b4 data_ov15_0218c5b4: ; 0x0218c5b4 .word func_ov15_0215c6a4 .global data_ov15_0218c5b8 data_ov15_0218c5b8: ; 0x0218c5b8 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218c5bc data_ov15_0218c5bc: ; 0x0218c5bc .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218c5c0 data_ov15_0218c5c0: ; 0x0218c5c0 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c5c4 data_ov15_0218c5c4: ; 0x0218c5c4 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c5c8 data_ov15_0218c5c8: ; 0x0218c5c8 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c5cc data_ov15_0218c5cc: ; 0x0218c5cc .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c5d0 data_ov15_0218c5d0: ; 0x0218c5d0 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c5d4 data_ov15_0218c5d4: ; 0x0218c5d4 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218c5d8 data_ov15_0218c5d8: ; 0x0218c5d8 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c5dc data_ov15_0218c5dc: ; 0x0218c5dc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c5e0 data_ov15_0218c5e0: ; 0x0218c5e0 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c5e4 data_ov15_0218c5e4: ; 0x0218c5e4 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218c5e8 data_ov15_0218c5e8: ; 0x0218c5e8 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c5ec data_ov15_0218c5ec: ; 0x0218c5ec .word _ZN5Actor6GetPosEv .global data_ov15_0218c5f0 data_ov15_0218c5f0: ; 0x0218c5f0 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c5f4 data_ov15_0218c5f4: ; 0x0218c5f4 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c5f8 data_ov15_0218c5f8: ; 0x0218c5f8 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c5fc data_ov15_0218c5fc: ; 0x0218c5fc .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c600 data_ov15_0218c600: ; 0x0218c600 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c604 data_ov15_0218c604: ; 0x0218c604 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c608 data_ov15_0218c608: ; 0x0218c608 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218c60c data_ov15_0218c60c: ; 0x0218c60c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218c610 data_ov15_0218c610: ; 0x0218c610 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c614 data_ov15_0218c614: ; 0x0218c614 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c618 data_ov15_0218c618: ; 0x0218c618 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c61c data_ov15_0218c61c: ; 0x0218c61c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c620 data_ov15_0218c620: ; 0x0218c620 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c624 data_ov15_0218c624: ; 0x0218c624 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218c628 data_ov15_0218c628: ; 0x0218c628 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c62c data_ov15_0218c62c: ; 0x0218c62c .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c630 data_ov15_0218c630: ; 0x0218c630 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c634 data_ov15_0218c634: ; 0x0218c634 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c638 data_ov15_0218c638: ; 0x0218c638 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c63c data_ov15_0218c63c: ; 0x0218c63c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c640 data_ov15_0218c640: ; 0x0218c640 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c644 data_ov15_0218c644: ; 0x0218c644 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c648 data_ov15_0218c648: ; 0x0218c648 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c64c data_ov15_0218c64c: ; 0x0218c64c .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c650 data_ov15_0218c650: ; 0x0218c650 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c654 data_ov15_0218c654: ; 0x0218c654 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c658 data_ov15_0218c658: ; 0x0218c658 .word func_ov15_0215d320 .global data_ov15_0218c65c data_ov15_0218c65c: ; 0x0218c65c .word func_ov15_0215d334 .global data_ov15_0218c660 data_ov15_0218c660: ; 0x0218c660 .word func_ov15_0215d360 .global data_ov15_0218c664 data_ov15_0218c664: ; 0x0218c664 .word func_ov15_02165440 .global data_ov15_0218c668 data_ov15_0218c668: ; 0x0218c668 .word func_ov15_02165e5c .global data_ov15_0218c66c data_ov15_0218c66c: ; 0x0218c66c .word func_ov00_0208b698 .global data_ov15_0218c670 data_ov15_0218c670: ; 0x0218c670 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218c674 data_ov15_0218c674: ; 0x0218c674 .word func_ov15_0215d350 .global data_ov15_0218c678 data_ov15_0218c678: ; 0x0218c678 .word func_ov00_0208b6bc .global data_ov15_0218c67c data_ov15_0218c67c: ; 0x0218c67c .word func_ov00_0208b6c4 .global data_ov15_0218c680 data_ov15_0218c680: ; 0x0218c680 .word func_ov00_0208b6c8 .global data_ov15_0218c684 data_ov15_0218c684: ; 0x0218c684 .word func_ov00_0208b6d0 .global data_ov15_0218c688 data_ov15_0218c688: ; 0x0218c688 .word func_ov00_0208b6d8 .global data_ov15_0218c68c data_ov15_0218c68c: ; 0x0218c68c .word func_ov00_0208b6e0 .global data_ov15_0218c690 data_ov15_0218c690: ; 0x0218c690 .word func_ov00_0208b6e8 .global data_ov15_0218c694 data_ov15_0218c694: ; 0x0218c694 .word func_ov00_0208b6f0 .global data_ov15_0218c698 data_ov15_0218c698: ; 0x0218c698 .word func_ov00_0208b6f8 .global data_ov15_0218c69c data_ov15_0218c69c: ; 0x0218c69c .word func_ov00_0208b700 .global data_ov15_0218c6a0 data_ov15_0218c6a0: ; 0x0218c6a0 .word func_ov00_0208b704 .global data_ov15_0218c6a4 data_ov15_0218c6a4: ; 0x0218c6a4 .word func_ov00_0208b70c .global data_ov15_0218c6a8 data_ov15_0218c6a8: ; 0x0218c6a8 .word func_ov00_0208b710 .global data_ov15_0218c6ac data_ov15_0218c6ac: ; 0x0218c6ac .word func_ov00_0208b714 .global data_ov15_0218c6b0 data_ov15_0218c6b0: ; 0x0218c6b0 .word func_ov15_02126370 .global data_ov15_0218c6b4 data_ov15_0218c6b4: ; 0x0218c6b4 .word func_ov00_0208b844 .global data_ov15_0218c6b8 data_ov15_0218c6b8: ; 0x0218c6b8 .word func_ov00_0208b870 .global data_ov15_0218c6bc data_ov15_0218c6bc: ; 0x0218c6bc .word func_ov00_0208b89c .global data_ov15_0218c6c0 data_ov15_0218c6c0: ; 0x0218c6c0 .word func_ov00_0208ba30 .global data_ov15_0218c6c4 data_ov15_0218c6c4: ; 0x0218c6c4 .word func_ov00_0208ba38 .global data_ov15_0218c6c8 data_ov15_0218c6c8: ; 0x0218c6c8 .word func_ov00_0208ba40 .global data_ov15_0218c6cc data_ov15_0218c6cc: ; 0x0218c6cc .word func_ov15_02126368 .global data_ov15_0218c6d0 data_ov15_0218c6d0: ; 0x0218c6d0 .word func_ov00_0208ba50 .global data_ov15_0218c6d4 data_ov15_0218c6d4: ; 0x0218c6d4 .word func_ov15_02165e88 .global data_ov15_0218c6d8 data_ov15_0218c6d8: ; 0x0218c6d8 .word func_ov15_02165a48 .global data_ov15_0218c6dc data_ov15_0218c6dc: ; 0x0218c6dc .word func_ov00_0208c38c .global data_ov15_0218c6e0 data_ov15_0218c6e0: ; 0x0218c6e0 .word func_ov15_02126378 .global data_ov15_0218c6e4 data_ov15_0218c6e4: ; 0x0218c6e4 .word func_ov15_0215d358 .global data_ov15_0218c6e8 data_ov15_0218c6e8: ; 0x0218c6e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c6ec data_ov15_0218c6ec: ; 0x0218c6ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c6f0 data_ov15_0218c6f0: ; 0x0218c6f0 .word func_ov15_0215d4b0 .global data_ov15_0218c6f4 data_ov15_0218c6f4: ; 0x0218c6f4 .word func_ov15_0215d4d4 .global data_ov15_0218c6f8 data_ov15_0218c6f8: ; 0x0218c6f8 .word func_ov15_0215d42c .global data_ov15_0218c6fc data_ov15_0218c6fc: ; 0x0218c6fc .word func_ov15_02165440 .global data_ov15_0218c700 data_ov15_0218c700: ; 0x0218c700 .word func_ov15_02165e5c .global data_ov15_0218c704 data_ov15_0218c704: ; 0x0218c704 .word func_ov00_0208b698 .global data_ov15_0218c708 data_ov15_0218c708: ; 0x0218c708 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218c70c data_ov15_0218c70c: ; 0x0218c70c .word func_ov15_0215d4c4 .global data_ov15_0218c710 data_ov15_0218c710: ; 0x0218c710 .word func_ov00_0208b6bc .global data_ov15_0218c714 data_ov15_0218c714: ; 0x0218c714 .word func_ov00_0208b6c4 .global data_ov15_0218c718 data_ov15_0218c718: ; 0x0218c718 .word func_ov00_0208b6c8 .global data_ov15_0218c71c data_ov15_0218c71c: ; 0x0218c71c .word func_ov00_0208b6d0 .global data_ov15_0218c720 data_ov15_0218c720: ; 0x0218c720 .word func_ov00_0208b6d8 .global data_ov15_0218c724 data_ov15_0218c724: ; 0x0218c724 .word func_ov00_0208b6e0 .global data_ov15_0218c728 data_ov15_0218c728: ; 0x0218c728 .word func_ov00_0208b6e8 .global data_ov15_0218c72c data_ov15_0218c72c: ; 0x0218c72c .word func_ov00_0208b6f0 .global data_ov15_0218c730 data_ov15_0218c730: ; 0x0218c730 .word func_ov00_0208b6f8 .global data_ov15_0218c734 data_ov15_0218c734: ; 0x0218c734 .word func_ov00_0208b700 .global data_ov15_0218c738 data_ov15_0218c738: ; 0x0218c738 .word func_ov00_0208b704 .global data_ov15_0218c73c data_ov15_0218c73c: ; 0x0218c73c .word func_ov00_0208b70c .global data_ov15_0218c740 data_ov15_0218c740: ; 0x0218c740 .word func_ov00_0208b710 .global data_ov15_0218c744 data_ov15_0218c744: ; 0x0218c744 .word func_ov00_0208b714 .global data_ov15_0218c748 data_ov15_0218c748: ; 0x0218c748 .word func_ov15_02126370 .global data_ov15_0218c74c data_ov15_0218c74c: ; 0x0218c74c .word func_ov00_0208b844 .global data_ov15_0218c750 data_ov15_0218c750: ; 0x0218c750 .word func_ov00_0208b870 .global data_ov15_0218c754 data_ov15_0218c754: ; 0x0218c754 .word func_ov00_0208b89c .global data_ov15_0218c758 data_ov15_0218c758: ; 0x0218c758 .word func_ov00_0208ba30 .global data_ov15_0218c75c data_ov15_0218c75c: ; 0x0218c75c .word func_ov00_0208ba38 .global data_ov15_0218c760 data_ov15_0218c760: ; 0x0218c760 .word func_ov00_0208ba40 .global data_ov15_0218c764 data_ov15_0218c764: ; 0x0218c764 .word func_ov15_02126368 .global data_ov15_0218c768 data_ov15_0218c768: ; 0x0218c768 .word func_ov00_0208ba50 .global data_ov15_0218c76c data_ov15_0218c76c: ; 0x0218c76c .word func_ov15_02165e88 .global data_ov15_0218c770 data_ov15_0218c770: ; 0x0218c770 .word func_ov15_02165a48 .global data_ov15_0218c774 data_ov15_0218c774: ; 0x0218c774 .word func_ov00_0208c38c .global data_ov15_0218c778 data_ov15_0218c778: ; 0x0218c778 .word func_ov15_02126378 .global data_ov15_0218c77c data_ov15_0218c77c: ; 0x0218c77c .word func_ov15_0215d4cc .global data_ov15_0218c780 data_ov15_0218c780: ; 0x0218c780 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c784 data_ov15_0218c784: ; 0x0218c784 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c788 data_ov15_0218c788: ; 0x0218c788 .word func_ov15_0215d5bc .global data_ov15_0218c78c data_ov15_0218c78c: ; 0x0218c78c .word func_ov15_0215d5e0 .global data_ov15_0218c790 data_ov15_0218c790: ; 0x0218c790 .word func_ov15_0215d538 .global data_ov15_0218c794 data_ov15_0218c794: ; 0x0218c794 .word func_ov15_02165440 .global data_ov15_0218c798 data_ov15_0218c798: ; 0x0218c798 .word func_ov15_02165e5c .global data_ov15_0218c79c data_ov15_0218c79c: ; 0x0218c79c .word func_ov00_0208b698 .global data_ov15_0218c7a0 data_ov15_0218c7a0: ; 0x0218c7a0 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218c7a4 data_ov15_0218c7a4: ; 0x0218c7a4 .word func_ov15_0215d5d0 .global data_ov15_0218c7a8 data_ov15_0218c7a8: ; 0x0218c7a8 .word func_ov00_0208b6bc .global data_ov15_0218c7ac data_ov15_0218c7ac: ; 0x0218c7ac .word func_ov00_0208b6c4 .global data_ov15_0218c7b0 data_ov15_0218c7b0: ; 0x0218c7b0 .word func_ov00_0208b6c8 .global data_ov15_0218c7b4 data_ov15_0218c7b4: ; 0x0218c7b4 .word func_ov00_0208b6d0 .global data_ov15_0218c7b8 data_ov15_0218c7b8: ; 0x0218c7b8 .word func_ov00_0208b6d8 .global data_ov15_0218c7bc data_ov15_0218c7bc: ; 0x0218c7bc .word func_ov00_0208b6e0 .global data_ov15_0218c7c0 data_ov15_0218c7c0: ; 0x0218c7c0 .word func_ov00_0208b6e8 .global data_ov15_0218c7c4 data_ov15_0218c7c4: ; 0x0218c7c4 .word func_ov00_0208b6f0 .global data_ov15_0218c7c8 data_ov15_0218c7c8: ; 0x0218c7c8 .word func_ov00_0208b6f8 .global data_ov15_0218c7cc data_ov15_0218c7cc: ; 0x0218c7cc .word func_ov00_0208b700 .global data_ov15_0218c7d0 data_ov15_0218c7d0: ; 0x0218c7d0 .word func_ov00_0208b704 .global data_ov15_0218c7d4 data_ov15_0218c7d4: ; 0x0218c7d4 .word func_ov00_0208b70c .global data_ov15_0218c7d8 data_ov15_0218c7d8: ; 0x0218c7d8 .word func_ov00_0208b710 .global data_ov15_0218c7dc data_ov15_0218c7dc: ; 0x0218c7dc .word func_ov00_0208b714 .global data_ov15_0218c7e0 data_ov15_0218c7e0: ; 0x0218c7e0 .word func_ov15_02126370 .global data_ov15_0218c7e4 data_ov15_0218c7e4: ; 0x0218c7e4 .word func_ov00_0208b844 .global data_ov15_0218c7e8 data_ov15_0218c7e8: ; 0x0218c7e8 .word func_ov00_0208b870 .global data_ov15_0218c7ec data_ov15_0218c7ec: ; 0x0218c7ec .word func_ov00_0208b89c .global data_ov15_0218c7f0 data_ov15_0218c7f0: ; 0x0218c7f0 .word func_ov00_0208ba30 .global data_ov15_0218c7f4 data_ov15_0218c7f4: ; 0x0218c7f4 .word func_ov00_0208ba38 .global data_ov15_0218c7f8 data_ov15_0218c7f8: ; 0x0218c7f8 .word func_ov00_0208ba40 .global data_ov15_0218c7fc data_ov15_0218c7fc: ; 0x0218c7fc .word func_ov15_02126368 .global data_ov15_0218c800 data_ov15_0218c800: ; 0x0218c800 .word func_ov00_0208ba50 .global data_ov15_0218c804 data_ov15_0218c804: ; 0x0218c804 .word func_ov15_02165e88 .global data_ov15_0218c808 data_ov15_0218c808: ; 0x0218c808 .word func_ov15_02165a48 .global data_ov15_0218c80c data_ov15_0218c80c: ; 0x0218c80c .word func_ov00_0208c38c .global data_ov15_0218c810 data_ov15_0218c810: ; 0x0218c810 .word func_ov15_02126378 .global data_ov15_0218c814 data_ov15_0218c814: ; 0x0218c814 .word func_ov15_0215d5d8 .global data_ov15_0218c818 data_ov15_0218c818: ; 0x0218c818 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c81c data_ov15_0218c81c: ; 0x0218c81c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c820 data_ov15_0218c820: ; 0x0218c820 .word func_ov15_0215d6c8 .global data_ov15_0218c824 data_ov15_0218c824: ; 0x0218c824 .word func_ov15_0215d6ec .global data_ov15_0218c828 data_ov15_0218c828: ; 0x0218c828 .word func_ov15_0215d644 .global data_ov15_0218c82c data_ov15_0218c82c: ; 0x0218c82c .word func_ov15_02165440 .global data_ov15_0218c830 data_ov15_0218c830: ; 0x0218c830 .word func_ov15_02165e5c .global data_ov15_0218c834 data_ov15_0218c834: ; 0x0218c834 .word func_ov00_0208b698 .global data_ov15_0218c838 data_ov15_0218c838: ; 0x0218c838 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218c83c data_ov15_0218c83c: ; 0x0218c83c .word func_ov15_0215d6dc .global data_ov15_0218c840 data_ov15_0218c840: ; 0x0218c840 .word func_ov00_0208b6bc .global data_ov15_0218c844 data_ov15_0218c844: ; 0x0218c844 .word func_ov00_0208b6c4 .global data_ov15_0218c848 data_ov15_0218c848: ; 0x0218c848 .word func_ov00_0208b6c8 .global data_ov15_0218c84c data_ov15_0218c84c: ; 0x0218c84c .word func_ov00_0208b6d0 .global data_ov15_0218c850 data_ov15_0218c850: ; 0x0218c850 .word func_ov00_0208b6d8 .global data_ov15_0218c854 data_ov15_0218c854: ; 0x0218c854 .word func_ov00_0208b6e0 .global data_ov15_0218c858 data_ov15_0218c858: ; 0x0218c858 .word func_ov00_0208b6e8 .global data_ov15_0218c85c data_ov15_0218c85c: ; 0x0218c85c .word func_ov00_0208b6f0 .global data_ov15_0218c860 data_ov15_0218c860: ; 0x0218c860 .word func_ov00_0208b6f8 .global data_ov15_0218c864 data_ov15_0218c864: ; 0x0218c864 .word func_ov00_0208b700 .global data_ov15_0218c868 data_ov15_0218c868: ; 0x0218c868 .word func_ov00_0208b704 .global data_ov15_0218c86c data_ov15_0218c86c: ; 0x0218c86c .word func_ov00_0208b70c .global data_ov15_0218c870 data_ov15_0218c870: ; 0x0218c870 .word func_ov00_0208b710 .global data_ov15_0218c874 data_ov15_0218c874: ; 0x0218c874 .word func_ov00_0208b714 .global data_ov15_0218c878 data_ov15_0218c878: ; 0x0218c878 .word func_ov15_02126370 .global data_ov15_0218c87c data_ov15_0218c87c: ; 0x0218c87c .word func_ov00_0208b844 .global data_ov15_0218c880 data_ov15_0218c880: ; 0x0218c880 .word func_ov00_0208b870 .global data_ov15_0218c884 data_ov15_0218c884: ; 0x0218c884 .word func_ov00_0208b89c .global data_ov15_0218c888 data_ov15_0218c888: ; 0x0218c888 .word func_ov00_0208ba30 .global data_ov15_0218c88c data_ov15_0218c88c: ; 0x0218c88c .word func_ov00_0208ba38 .global data_ov15_0218c890 data_ov15_0218c890: ; 0x0218c890 .word func_ov00_0208ba40 .global data_ov15_0218c894 data_ov15_0218c894: ; 0x0218c894 .word func_ov15_02126368 .global data_ov15_0218c898 data_ov15_0218c898: ; 0x0218c898 .word func_ov00_0208ba50 .global data_ov15_0218c89c data_ov15_0218c89c: ; 0x0218c89c .word func_ov15_02165e88 .global data_ov15_0218c8a0 data_ov15_0218c8a0: ; 0x0218c8a0 .word func_ov15_02165a48 .global data_ov15_0218c8a4 data_ov15_0218c8a4: ; 0x0218c8a4 .word func_ov00_0208c38c .global data_ov15_0218c8a8 data_ov15_0218c8a8: ; 0x0218c8a8 .word func_ov15_02126378 .global data_ov15_0218c8ac data_ov15_0218c8ac: ; 0x0218c8ac .word func_ov15_0215d6e4 .global data_ov15_0218c8b0 data_ov15_0218c8b0: ; 0x0218c8b0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c8b4 data_ov15_0218c8b4: ; 0x0218c8b4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c8b8 data_ov15_0218c8b8: ; 0x0218c8b8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218c8bc data_ov15_0218c8bc: ; 0x0218c8bc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218c8c0 data_ov15_0218c8c0: ; 0x0218c8c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c8c4 data_ov15_0218c8c4: ; 0x0218c8c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c8c8 data_ov15_0218c8c8: ; 0x0218c8c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c8cc data_ov15_0218c8cc: ; 0x0218c8cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c8d0 data_ov15_0218c8d0: ; 0x0218c8d0 .word func_ov15_0215ff5c .global data_ov15_0218c8d4 data_ov15_0218c8d4: ; 0x0218c8d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c8d8 data_ov15_0218c8d8: ; 0x0218c8d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c8dc data_ov15_0218c8dc: ; 0x0218c8dc .word func_ov15_0215dd10 .global data_ov15_0218c8e0 data_ov15_0218c8e0: ; 0x0218c8e0 .word func_ov15_0215dd70 .global data_ov15_0218c8e4 data_ov15_0218c8e4: ; 0x0218c8e4 .word func_ov15_0215ddd8 .global data_ov15_0218c8e8 data_ov15_0218c8e8: ; 0x0218c8e8 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218c8ec data_ov15_0218c8ec: ; 0x0218c8ec .word func_ov15_0215fefc .global data_ov15_0218c8f0 data_ov15_0218c8f0: ; 0x0218c8f0 .word func_ov15_0215e7f8 .global data_ov15_0218c8f4 data_ov15_0218c8f4: ; 0x0218c8f4 .word func_ov15_0215e848 .global data_ov15_0218c8f8 data_ov15_0218c8f8: ; 0x0218c8f8 .word func_ov15_0215fe34 .global data_ov15_0218c8fc data_ov15_0218c8fc: ; 0x0218c8fc .word func_ov15_0215fd04 .global data_ov15_0218c900 data_ov15_0218c900: ; 0x0218c900 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218c904 data_ov15_0218c904: ; 0x0218c904 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218c908 data_ov15_0218c908: ; 0x0218c908 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218c90c data_ov15_0218c90c: ; 0x0218c90c .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218c910 data_ov15_0218c910: ; 0x0218c910 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218c914 data_ov15_0218c914: ; 0x0218c914 .word func_ov15_02160414 .global data_ov15_0218c918 data_ov15_0218c918: ; 0x0218c918 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218c91c data_ov15_0218c91c: ; 0x0218c91c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c920 data_ov15_0218c920: ; 0x0218c920 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218c924 data_ov15_0218c924: ; 0x0218c924 .word func_ov15_0215fa90 .global data_ov15_0218c928 data_ov15_0218c928: ; 0x0218c928 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218c92c data_ov15_0218c92c: ; 0x0218c92c .word _ZN5Actor6GetPosEv .global data_ov15_0218c930 data_ov15_0218c930: ; 0x0218c930 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218c934 data_ov15_0218c934: ; 0x0218c934 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218c938 data_ov15_0218c938: ; 0x0218c938 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218c93c data_ov15_0218c93c: ; 0x0218c93c .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218c940 data_ov15_0218c940: ; 0x0218c940 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218c944 data_ov15_0218c944: ; 0x0218c944 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218c948 data_ov15_0218c948: ; 0x0218c948 .word func_ov15_02160134 .global data_ov15_0218c94c data_ov15_0218c94c: ; 0x0218c94c .word func_ov15_0216031c .global data_ov15_0218c950 data_ov15_0218c950: ; 0x0218c950 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218c954 data_ov15_0218c954: ; 0x0218c954 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218c958 data_ov15_0218c958: ; 0x0218c958 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218c95c data_ov15_0218c95c: ; 0x0218c95c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218c960 data_ov15_0218c960: ; 0x0218c960 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218c964 data_ov15_0218c964: ; 0x0218c964 .word func_ov15_021603e4 .global data_ov15_0218c968 data_ov15_0218c968: ; 0x0218c968 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218c96c data_ov15_0218c96c: ; 0x0218c96c .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218c970 data_ov15_0218c970: ; 0x0218c970 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218c974 data_ov15_0218c974: ; 0x0218c974 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218c978 data_ov15_0218c978: ; 0x0218c978 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218c97c data_ov15_0218c97c: ; 0x0218c97c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218c980 data_ov15_0218c980: ; 0x0218c980 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218c984 data_ov15_0218c984: ; 0x0218c984 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218c988 data_ov15_0218c988: ; 0x0218c988 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218c98c data_ov15_0218c98c: ; 0x0218c98c .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218c990 data_ov15_0218c990: ; 0x0218c990 .word func_ov15_0215e5a0 ; func_ov61_0215e5a0 .global data_ov15_0218c994 data_ov15_0218c994: ; 0x0218c994 .word func_ov15_0215e890 .global data_ov15_0218c998 data_ov15_0218c998: ; 0x0218c998 .word func_ov15_02123770 .global data_ov15_0218c99c data_ov15_0218c99c: ; 0x0218c99c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c9a0 data_ov15_0218c9a0: ; 0x0218c9a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c9a4 data_ov15_0218c9a4: ; 0x0218c9a4 .word func_ov15_0215dc44 .global data_ov15_0218c9a8 data_ov15_0218c9a8: ; 0x0218c9a8 .word func_ov15_0215da00 .global data_ov15_0218c9ac data_ov15_0218c9ac: ; 0x0218c9ac .word func_ov00_020c5e58 .global data_ov15_0218c9b0 data_ov15_0218c9b0: ; 0x0218c9b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c9b4 data_ov15_0218c9b4: ; 0x0218c9b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c9b8 data_ov15_0218c9b8: ; 0x0218c9b8 .word func_ov00_020a9b0c .global data_ov15_0218c9bc data_ov15_0218c9bc: ; 0x0218c9bc .word func_ov00_020a9b18 .global data_ov15_0218c9c0 data_ov15_0218c9c0: ; 0x0218c9c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c9c4 data_ov15_0218c9c4: ; 0x0218c9c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218c9c8 data_ov15_0218c9c8: ; 0x0218c9c8 .word func_ov15_0215d904 .global data_ov15_0218c9cc data_ov15_0218c9cc: ; 0x0218c9cc .word func_ov15_0216041c .global data_ov15_0218c9d0 data_ov15_0218c9d0: ; 0x0218c9d0 .word func_ov00_020a960c .global data_ov15_0218c9d4 data_ov15_0218c9d4: ; 0x0218c9d4 .word func_ov00_020a9614 .global data_ov15_0218c9d8 data_ov15_0218c9d8: ; 0x0218c9d8 .word func_ov00_020a9650 .global data_ov15_0218c9dc data_ov15_0218c9dc: ; 0x0218c9dc .word func_ov00_020a96d4 .global data_ov15_0218c9e0 data_ov15_0218c9e0: ; 0x0218c9e0 .word func_ov00_020a9740 .global data_ov15_0218c9e4 data_ov15_0218c9e4: ; 0x0218c9e4 .word func_ov00_020a9764 .global data_ov15_0218c9e8 data_ov15_0218c9e8: ; 0x0218c9e8 .word func_ov00_020a97d0 .global data_ov15_0218c9ec data_ov15_0218c9ec: ; 0x0218c9ec .word func_ov00_020a97e0 .global data_ov15_0218c9f0 data_ov15_0218c9f0: ; 0x0218c9f0 .word func_ov00_020a97f8 .global data_ov15_0218c9f4 data_ov15_0218c9f4: ; 0x0218c9f4 .word func_ov00_020a9864 .global data_ov15_0218c9f8 data_ov15_0218c9f8: ; 0x0218c9f8 .word func_ov00_020a98bc .global data_ov15_0218c9fc data_ov15_0218c9fc: ; 0x0218c9fc .word func_ov00_020a9890 .global data_ov15_0218ca00 data_ov15_0218ca00: ; 0x0218ca00 .word func_ov00_020a9968 .global data_ov15_0218ca04 data_ov15_0218ca04: ; 0x0218ca04 .word func_ov15_0215d780 .global data_ov15_0218ca08 data_ov15_0218ca08: ; 0x0218ca08 .ascii "GFB:/warp.nsbtp" .byte 0x00 .global data_ov15_0218ca18 data_ov15_0218ca18: ; 0x0218ca18 .ascii "warp" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ca20 data_ov15_0218ca20: ; 0x0218ca20 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ca24 data_ov15_0218ca24: ; 0x0218ca24 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ca28 data_ov15_0218ca28: ; 0x0218ca28 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ca2c data_ov15_0218ca2c: ; 0x0218ca2c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ca30 data_ov15_0218ca30: ; 0x0218ca30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ca34 data_ov15_0218ca34: ; 0x0218ca34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ca38 data_ov15_0218ca38: ; 0x0218ca38 .word func_ov15_021604d8 .global data_ov15_0218ca3c data_ov15_0218ca3c: ; 0x0218ca3c .word func_ov15_021604fc .global data_ov15_0218ca40 data_ov15_0218ca40: ; 0x0218ca40 .word func_ov15_02160538 .global data_ov15_0218ca44 data_ov15_0218ca44: ; 0x0218ca44 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218ca48 data_ov15_0218ca48: ; 0x0218ca48 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218ca4c data_ov15_0218ca4c: ; 0x0218ca4c .word _ZN5Actor8vfunc_14Ej .global data_ov15_0218ca50 data_ov15_0218ca50: ; 0x0218ca50 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218ca54 data_ov15_0218ca54: ; 0x0218ca54 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218ca58 data_ov15_0218ca58: ; 0x0218ca58 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218ca5c data_ov15_0218ca5c: ; 0x0218ca5c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218ca60 data_ov15_0218ca60: ; 0x0218ca60 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218ca64 data_ov15_0218ca64: ; 0x0218ca64 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218ca68 data_ov15_0218ca68: ; 0x0218ca68 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218ca6c data_ov15_0218ca6c: ; 0x0218ca6c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218ca70 data_ov15_0218ca70: ; 0x0218ca70 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218ca74 data_ov15_0218ca74: ; 0x0218ca74 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218ca78 data_ov15_0218ca78: ; 0x0218ca78 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218ca7c data_ov15_0218ca7c: ; 0x0218ca7c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218ca80 data_ov15_0218ca80: ; 0x0218ca80 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218ca84 data_ov15_0218ca84: ; 0x0218ca84 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218ca88 data_ov15_0218ca88: ; 0x0218ca88 .word _ZN5Actor6GetPosEv .global data_ov15_0218ca8c data_ov15_0218ca8c: ; 0x0218ca8c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218ca90 data_ov15_0218ca90: ; 0x0218ca90 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218ca94 data_ov15_0218ca94: ; 0x0218ca94 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218ca98 data_ov15_0218ca98: ; 0x0218ca98 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218ca9c data_ov15_0218ca9c: ; 0x0218ca9c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218caa0 data_ov15_0218caa0: ; 0x0218caa0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218caa4 data_ov15_0218caa4: ; 0x0218caa4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218caa8 data_ov15_0218caa8: ; 0x0218caa8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218caac data_ov15_0218caac: ; 0x0218caac .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218cab0 data_ov15_0218cab0: ; 0x0218cab0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218cab4 data_ov15_0218cab4: ; 0x0218cab4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218cab8 data_ov15_0218cab8: ; 0x0218cab8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218cabc data_ov15_0218cabc: ; 0x0218cabc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218cac0 data_ov15_0218cac0: ; 0x0218cac0 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218cac4 data_ov15_0218cac4: ; 0x0218cac4 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218cac8 data_ov15_0218cac8: ; 0x0218cac8 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218cacc data_ov15_0218cacc: ; 0x0218cacc .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218cad0 data_ov15_0218cad0: ; 0x0218cad0 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218cad4 data_ov15_0218cad4: ; 0x0218cad4 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218cad8 data_ov15_0218cad8: ; 0x0218cad8 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218cadc data_ov15_0218cadc: ; 0x0218cadc .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218cae0 data_ov15_0218cae0: ; 0x0218cae0 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218cae4 data_ov15_0218cae4: ; 0x0218cae4 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218cae8 data_ov15_0218cae8: ; 0x0218cae8 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218caec data_ov15_0218caec: ; 0x0218caec .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218caf0 data_ov15_0218caf0: ; 0x0218caf0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218caf4 data_ov15_0218caf4: ; 0x0218caf4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218caf8 data_ov15_0218caf8: ; 0x0218caf8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cafc data_ov15_0218cafc: ; 0x0218cafc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cb00 data_ov15_0218cb00: ; 0x0218cb00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cb04 data_ov15_0218cb04: ; 0x0218cb04 .word func_ov15_02160724 .global data_ov15_0218cb08 data_ov15_0218cb08: ; 0x0218cb08 .word func_ov15_0216078c .global data_ov15_0218cb0c data_ov15_0218cb0c: ; 0x0218cb0c .word func_ov15_021607fc .global data_ov15_0218cb10 data_ov15_0218cb10: ; 0x0218cb10 .word func_ov15_02160c24 ; func_ov61_02160c24 .global data_ov15_0218cb14 data_ov15_0218cb14: ; 0x0218cb14 .word func_ov15_02161880 .global data_ov15_0218cb18 data_ov15_0218cb18: ; 0x0218cb18 .word func_ov15_02160cb0 .global data_ov15_0218cb1c data_ov15_0218cb1c: ; 0x0218cb1c .word func_ov15_0216118c ; func_ov18_0216118c .global data_ov15_0218cb20 data_ov15_0218cb20: ; 0x0218cb20 .word func_ov15_021616ac .global data_ov15_0218cb24 data_ov15_0218cb24: ; 0x0218cb24 .word func_ov15_02161588 .global data_ov15_0218cb28 data_ov15_0218cb28: ; 0x0218cb28 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218cb2c data_ov15_0218cb2c: ; 0x0218cb2c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218cb30 data_ov15_0218cb30: ; 0x0218cb30 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218cb34 data_ov15_0218cb34: ; 0x0218cb34 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218cb38 data_ov15_0218cb38: ; 0x0218cb38 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218cb3c data_ov15_0218cb3c: ; 0x0218cb3c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218cb40 data_ov15_0218cb40: ; 0x0218cb40 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218cb44 data_ov15_0218cb44: ; 0x0218cb44 .word func_ov15_021617a8 ; func_ov17_021617a8 .global data_ov15_0218cb48 data_ov15_0218cb48: ; 0x0218cb48 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218cb4c data_ov15_0218cb4c: ; 0x0218cb4c .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218cb50 data_ov15_0218cb50: ; 0x0218cb50 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218cb54 data_ov15_0218cb54: ; 0x0218cb54 .word _ZN5Actor6GetPosEv .global data_ov15_0218cb58 data_ov15_0218cb58: ; 0x0218cb58 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218cb5c data_ov15_0218cb5c: ; 0x0218cb5c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218cb60 data_ov15_0218cb60: ; 0x0218cb60 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218cb64 data_ov15_0218cb64: ; 0x0218cb64 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218cb68 data_ov15_0218cb68: ; 0x0218cb68 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218cb6c data_ov15_0218cb6c: ; 0x0218cb6c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218cb70 data_ov15_0218cb70: ; 0x0218cb70 .word func_ov15_02161528 .global data_ov15_0218cb74 data_ov15_0218cb74: ; 0x0218cb74 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218cb78 data_ov15_0218cb78: ; 0x0218cb78 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218cb7c data_ov15_0218cb7c: ; 0x0218cb7c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218cb80 data_ov15_0218cb80: ; 0x0218cb80 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218cb84 data_ov15_0218cb84: ; 0x0218cb84 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218cb88 data_ov15_0218cb88: ; 0x0218cb88 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218cb8c data_ov15_0218cb8c: ; 0x0218cb8c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218cb90 data_ov15_0218cb90: ; 0x0218cb90 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218cb94 data_ov15_0218cb94: ; 0x0218cb94 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218cb98 data_ov15_0218cb98: ; 0x0218cb98 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218cb9c data_ov15_0218cb9c: ; 0x0218cb9c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218cba0 data_ov15_0218cba0: ; 0x0218cba0 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218cba4 data_ov15_0218cba4: ; 0x0218cba4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218cba8 data_ov15_0218cba8: ; 0x0218cba8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218cbac data_ov15_0218cbac: ; 0x0218cbac .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218cbb0 data_ov15_0218cbb0: ; 0x0218cbb0 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218cbb4 data_ov15_0218cbb4: ; 0x0218cbb4 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218cbb8 data_ov15_0218cbb8: ; 0x0218cbb8 .word func_ov15_02160d70 .global data_ov15_0218cbbc data_ov15_0218cbbc: ; 0x0218cbbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbc0 data_ov15_0218cbc0: ; 0x0218cbc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbc4 data_ov15_0218cbc4: ; 0x0218cbc4 .word func_ov15_02160710 .global data_ov15_0218cbc8 data_ov15_0218cbc8: ; 0x0218cbc8 .word func_ov15_02161904 .global data_ov15_0218cbcc data_ov15_0218cbcc: ; 0x0218cbcc .word func_ov15_02160600 .global data_ov15_0218cbd0 data_ov15_0218cbd0: ; 0x0218cbd0 .word func_ov15_02160630 .global data_ov15_0218cbd4 data_ov15_0218cbd4: ; 0x0218cbd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbd8 data_ov15_0218cbd8: ; 0x0218cbd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbdc data_ov15_0218cbdc: ; 0x0218cbdc .word func_ov00_020c5d34 .global data_ov15_0218cbe0 data_ov15_0218cbe0: ; 0x0218cbe0 .word func_ov15_02125384 .global data_ov15_0218cbe4 data_ov15_0218cbe4: ; 0x0218cbe4 .word func_ov00_020c5e58 .global data_ov15_0218cbe8 data_ov15_0218cbe8: ; 0x0218cbe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbec data_ov15_0218cbec: ; 0x0218cbec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbf0 data_ov15_0218cbf0: ; 0x0218cbf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbf4 data_ov15_0218cbf4: ; 0x0218cbf4 .word func_ov00_02081f58 .global data_ov15_0218cbf8 data_ov15_0218cbf8: ; 0x0218cbf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cbfc data_ov15_0218cbfc: ; 0x0218cbfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cc00 data_ov15_0218cc00: ; 0x0218cc00 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218cc04 data_ov15_0218cc04: ; 0x0218cc04 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cc08 data_ov15_0218cc08: ; 0x0218cc08 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218cc0c data_ov15_0218cc0c: ; 0x0218cc0c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cc10 data_ov15_0218cc10: ; 0x0218cc10 .byte 0xff .global data_ov15_0218cc11 data_ov15_0218cc11: ; 0x0218cc11 .byte 0xff .global data_ov15_0218cc12 data_ov15_0218cc12: ; 0x0218cc12 .byte 0xff .global data_ov15_0218cc13 data_ov15_0218cc13: ; 0x0218cc13 .byte 0x00 .global data_ov15_0218cc14 data_ov15_0218cc14: ; 0x0218cc14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cc18 data_ov15_0218cc18: ; 0x0218cc18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cc1c data_ov15_0218cc1c: ; 0x0218cc1c .word func_ov15_02161ac0 .global data_ov15_0218cc20 data_ov15_0218cc20: ; 0x0218cc20 .word func_ov15_02161ba0 .global data_ov15_0218cc24 data_ov15_0218cc24: ; 0x0218cc24 .word func_ov15_02161c88 .global data_ov15_0218cc28 data_ov15_0218cc28: ; 0x0218cc28 .word func_ov15_02162454 .global data_ov15_0218cc2c data_ov15_0218cc2c: ; 0x0218cc2c .word func_ov15_02165078 .global data_ov15_0218cc30 data_ov15_0218cc30: ; 0x0218cc30 .word func_ov15_0214ed58 .global data_ov15_0218cc34 data_ov15_0218cc34: ; 0x0218cc34 .word func_ov15_02162538 .global data_ov15_0218cc38 data_ov15_0218cc38: ; 0x0218cc38 .word func_ov15_02164f98 .global data_ov15_0218cc3c data_ov15_0218cc3c: ; 0x0218cc3c .word func_ov15_02164e68 .global data_ov15_0218cc40 data_ov15_0218cc40: ; 0x0218cc40 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218cc44 data_ov15_0218cc44: ; 0x0218cc44 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218cc48 data_ov15_0218cc48: ; 0x0218cc48 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218cc4c data_ov15_0218cc4c: ; 0x0218cc4c .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218cc50 data_ov15_0218cc50: ; 0x0218cc50 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218cc54 data_ov15_0218cc54: ; 0x0218cc54 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218cc58 data_ov15_0218cc58: ; 0x0218cc58 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218cc5c data_ov15_0218cc5c: ; 0x0218cc5c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218cc60 data_ov15_0218cc60: ; 0x0218cc60 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218cc64 data_ov15_0218cc64: ; 0x0218cc64 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218cc68 data_ov15_0218cc68: ; 0x0218cc68 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218cc6c data_ov15_0218cc6c: ; 0x0218cc6c .word _ZN5Actor6GetPosEv .global data_ov15_0218cc70 data_ov15_0218cc70: ; 0x0218cc70 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218cc74 data_ov15_0218cc74: ; 0x0218cc74 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218cc78 data_ov15_0218cc78: ; 0x0218cc78 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218cc7c data_ov15_0218cc7c: ; 0x0218cc7c .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218cc80 data_ov15_0218cc80: ; 0x0218cc80 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218cc84 data_ov15_0218cc84: ; 0x0218cc84 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218cc88 data_ov15_0218cc88: ; 0x0218cc88 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218cc8c data_ov15_0218cc8c: ; 0x0218cc8c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218cc90 data_ov15_0218cc90: ; 0x0218cc90 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218cc94 data_ov15_0218cc94: ; 0x0218cc94 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218cc98 data_ov15_0218cc98: ; 0x0218cc98 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218cc9c data_ov15_0218cc9c: ; 0x0218cc9c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218cca0 data_ov15_0218cca0: ; 0x0218cca0 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218cca4 data_ov15_0218cca4: ; 0x0218cca4 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218cca8 data_ov15_0218cca8: ; 0x0218cca8 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218ccac data_ov15_0218ccac: ; 0x0218ccac .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218ccb0 data_ov15_0218ccb0: ; 0x0218ccb0 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218ccb4 data_ov15_0218ccb4: ; 0x0218ccb4 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218ccb8 data_ov15_0218ccb8: ; 0x0218ccb8 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218ccbc data_ov15_0218ccbc: ; 0x0218ccbc .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218ccc0 data_ov15_0218ccc0: ; 0x0218ccc0 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218ccc4 data_ov15_0218ccc4: ; 0x0218ccc4 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218ccc8 data_ov15_0218ccc8: ; 0x0218ccc8 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218cccc data_ov15_0218cccc: ; 0x0218cccc .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218ccd0 data_ov15_0218ccd0: ; 0x0218ccd0 .word func_ov15_02162e14 .global data_ov15_0218ccd4 data_ov15_0218ccd4: ; 0x0218ccd4 .word func_ov15_0216527c .global data_ov15_0218ccd8 data_ov15_0218ccd8: ; 0x0218ccd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ccdc data_ov15_0218ccdc: ; 0x0218ccdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cce0 data_ov15_0218cce0: ; 0x0218cce0 .word func_ov15_02165a34 .global data_ov15_0218cce4 data_ov15_0218cce4: ; 0x0218cce4 .word func_ov15_02165fac .global data_ov15_0218cce8 data_ov15_0218cce8: ; 0x0218cce8 .word func_ov15_02165f50 ; func_ov18_02165f50 .global data_ov15_0218ccec data_ov15_0218ccec: ; 0x0218ccec .word func_ov15_02165f9c .global data_ov15_0218ccf0 data_ov15_0218ccf0: ; 0x0218ccf0 .word func_ov15_02165fa4 .global data_ov15_0218ccf4 data_ov15_0218ccf4: ; 0x0218ccf4 .word func_ov00_02081f50 .global data_ov15_0218ccf8 data_ov15_0218ccf8: ; 0x0218ccf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ccfc data_ov15_0218ccfc: ; 0x0218ccfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cd00 data_ov15_0218cd00: ; 0x0218cd00 .word func_ov15_021652d0 .global data_ov15_0218cd04 data_ov15_0218cd04: ; 0x0218cd04 .word func_ov15_02165310 ; func_ov17_02165310 .global data_ov15_0218cd08 data_ov15_0218cd08: ; 0x0218cd08 .word func_ov15_02165398 .global data_ov15_0218cd0c data_ov15_0218cd0c: ; 0x0218cd0c .word func_ov15_02165440 .global data_ov15_0218cd10 data_ov15_0218cd10: ; 0x0218cd10 .word func_ov15_02165e5c .global data_ov15_0218cd14 data_ov15_0218cd14: ; 0x0218cd14 .word func_ov00_0208b698 .global data_ov15_0218cd18 data_ov15_0218cd18: ; 0x0218cd18 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218cd1c data_ov15_0218cd1c: ; 0x0218cd1c .word func_ov15_02126360 .global data_ov15_0218cd20 data_ov15_0218cd20: ; 0x0218cd20 .word func_ov00_0208b6bc .global data_ov15_0218cd24 data_ov15_0218cd24: ; 0x0218cd24 .word func_ov00_0208b6c4 .global data_ov15_0218cd28 data_ov15_0218cd28: ; 0x0218cd28 .word func_ov00_0208b6c8 .global data_ov15_0218cd2c data_ov15_0218cd2c: ; 0x0218cd2c .word func_ov00_0208b6d0 .global data_ov15_0218cd30 data_ov15_0218cd30: ; 0x0218cd30 .word func_ov00_0208b6d8 .global data_ov15_0218cd34 data_ov15_0218cd34: ; 0x0218cd34 .word func_ov00_0208b6e0 .global data_ov15_0218cd38 data_ov15_0218cd38: ; 0x0218cd38 .word func_ov00_0208b6e8 .global data_ov15_0218cd3c data_ov15_0218cd3c: ; 0x0218cd3c .word func_ov00_0208b6f0 .global data_ov15_0218cd40 data_ov15_0218cd40: ; 0x0218cd40 .word func_ov00_0208b6f8 .global data_ov15_0218cd44 data_ov15_0218cd44: ; 0x0218cd44 .word func_ov00_0208b700 .global data_ov15_0218cd48 data_ov15_0218cd48: ; 0x0218cd48 .word func_ov00_0208b704 .global data_ov15_0218cd4c data_ov15_0218cd4c: ; 0x0218cd4c .word func_ov00_0208b70c .global data_ov15_0218cd50 data_ov15_0218cd50: ; 0x0218cd50 .word func_ov00_0208b710 .global data_ov15_0218cd54 data_ov15_0218cd54: ; 0x0218cd54 .word func_ov00_0208b714 .global data_ov15_0218cd58 data_ov15_0218cd58: ; 0x0218cd58 .word func_ov15_02126370 .global data_ov15_0218cd5c data_ov15_0218cd5c: ; 0x0218cd5c .word func_ov00_0208b844 .global data_ov15_0218cd60 data_ov15_0218cd60: ; 0x0218cd60 .word func_ov00_0208b870 .global data_ov15_0218cd64 data_ov15_0218cd64: ; 0x0218cd64 .word func_ov00_0208b89c .global data_ov15_0218cd68 data_ov15_0218cd68: ; 0x0218cd68 .word func_ov00_0208ba30 .global data_ov15_0218cd6c data_ov15_0218cd6c: ; 0x0218cd6c .word func_ov00_0208ba38 .global data_ov15_0218cd70 data_ov15_0218cd70: ; 0x0218cd70 .word func_ov00_0208ba40 .global data_ov15_0218cd74 data_ov15_0218cd74: ; 0x0218cd74 .word func_ov15_02126368 .global data_ov15_0218cd78 data_ov15_0218cd78: ; 0x0218cd78 .word func_ov00_0208ba50 .global data_ov15_0218cd7c data_ov15_0218cd7c: ; 0x0218cd7c .word func_ov15_02165e88 .global data_ov15_0218cd80 data_ov15_0218cd80: ; 0x0218cd80 .word func_ov15_02165a48 .global data_ov15_0218cd84 data_ov15_0218cd84: ; 0x0218cd84 .word func_ov00_0208c38c .global data_ov15_0218cd88 data_ov15_0218cd88: ; 0x0218cd88 .word func_ov15_02126378 .global data_ov15_0218cd8c data_ov15_0218cd8c: ; 0x0218cd8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cd90 data_ov15_0218cd90: ; 0x0218cd90 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218cd94 data_ov15_0218cd94: ; 0x0218cd94 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cd98 data_ov15_0218cd98: ; 0x0218cd98 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218cd9c data_ov15_0218cd9c: ; 0x0218cd9c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cda0 data_ov15_0218cda0: ; 0x0218cda0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cda4 data_ov15_0218cda4: ; 0x0218cda4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cda8 data_ov15_0218cda8: ; 0x0218cda8 .word func_ov15_0216606c .global data_ov15_0218cdac data_ov15_0218cdac: ; 0x0218cdac .word func_ov15_021660a4 .global data_ov15_0218cdb0 data_ov15_0218cdb0: ; 0x0218cdb0 .word func_ov15_021660e4 .global data_ov15_0218cdb4 data_ov15_0218cdb4: ; 0x0218cdb4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218cdb8 data_ov15_0218cdb8: ; 0x0218cdb8 .word func_ov15_021666b4 .global data_ov15_0218cdbc data_ov15_0218cdbc: ; 0x0218cdbc .word func_ov15_0216629c .global data_ov15_0218cdc0 data_ov15_0218cdc0: ; 0x0218cdc0 .word func_ov15_02166394 .global data_ov15_0218cdc4 data_ov15_0218cdc4: ; 0x0218cdc4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218cdc8 data_ov15_0218cdc8: ; 0x0218cdc8 .word func_ov15_02166690 .global data_ov15_0218cdcc data_ov15_0218cdcc: ; 0x0218cdcc .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218cdd0 data_ov15_0218cdd0: ; 0x0218cdd0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218cdd4 data_ov15_0218cdd4: ; 0x0218cdd4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218cdd8 data_ov15_0218cdd8: ; 0x0218cdd8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218cddc data_ov15_0218cddc: ; 0x0218cddc .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218cde0 data_ov15_0218cde0: ; 0x0218cde0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218cde4 data_ov15_0218cde4: ; 0x0218cde4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218cde8 data_ov15_0218cde8: ; 0x0218cde8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218cdec data_ov15_0218cdec: ; 0x0218cdec .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218cdf0 data_ov15_0218cdf0: ; 0x0218cdf0 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218cdf4 data_ov15_0218cdf4: ; 0x0218cdf4 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218cdf8 data_ov15_0218cdf8: ; 0x0218cdf8 .word _ZN5Actor6GetPosEv .global data_ov15_0218cdfc data_ov15_0218cdfc: ; 0x0218cdfc .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218ce00 data_ov15_0218ce00: ; 0x0218ce00 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218ce04 data_ov15_0218ce04: ; 0x0218ce04 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218ce08 data_ov15_0218ce08: ; 0x0218ce08 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218ce0c data_ov15_0218ce0c: ; 0x0218ce0c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218ce10 data_ov15_0218ce10: ; 0x0218ce10 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218ce14 data_ov15_0218ce14: ; 0x0218ce14 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218ce18 data_ov15_0218ce18: ; 0x0218ce18 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218ce1c data_ov15_0218ce1c: ; 0x0218ce1c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218ce20 data_ov15_0218ce20: ; 0x0218ce20 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218ce24 data_ov15_0218ce24: ; 0x0218ce24 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218ce28 data_ov15_0218ce28: ; 0x0218ce28 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218ce2c data_ov15_0218ce2c: ; 0x0218ce2c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218ce30 data_ov15_0218ce30: ; 0x0218ce30 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218ce34 data_ov15_0218ce34: ; 0x0218ce34 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218ce38 data_ov15_0218ce38: ; 0x0218ce38 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218ce3c data_ov15_0218ce3c: ; 0x0218ce3c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218ce40 data_ov15_0218ce40: ; 0x0218ce40 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218ce44 data_ov15_0218ce44: ; 0x0218ce44 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218ce48 data_ov15_0218ce48: ; 0x0218ce48 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218ce4c data_ov15_0218ce4c: ; 0x0218ce4c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218ce50 data_ov15_0218ce50: ; 0x0218ce50 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218ce54 data_ov15_0218ce54: ; 0x0218ce54 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218ce58 data_ov15_0218ce58: ; 0x0218ce58 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218ce5c data_ov15_0218ce5c: ; 0x0218ce5c .word func_ov15_021661ac .global data_ov15_0218ce60 data_ov15_0218ce60: ; 0x0218ce60 .word func_ov15_021666c0 .global data_ov15_0218ce64 data_ov15_0218ce64: ; 0x0218ce64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ce68 data_ov15_0218ce68: ; 0x0218ce68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ce6c data_ov15_0218ce6c: ; 0x0218ce6c .word func_ov00_020c5d34 .global data_ov15_0218ce70 data_ov15_0218ce70: ; 0x0218ce70 .word func_ov15_02125384 .global data_ov15_0218ce74 data_ov15_0218ce74: ; 0x0218ce74 .word func_ov00_020c5e58 .global data_ov15_0218ce78 data_ov15_0218ce78: ; 0x0218ce78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ce7c data_ov15_0218ce7c: ; 0x0218ce7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ce80 data_ov15_0218ce80: ; 0x0218ce80 .word func_ov15_02166734 .global data_ov15_0218ce84 data_ov15_0218ce84: ; 0x0218ce84 .word func_ov15_0216677c .global data_ov15_0218ce88 data_ov15_0218ce88: ; 0x0218ce88 .word func_ov15_021667dc .global data_ov15_0218ce8c data_ov15_0218ce8c: ; 0x0218ce8c .word func_ov15_02166884 .global data_ov15_0218ce90 data_ov15_0218ce90: ; 0x0218ce90 .word func_ov15_02165e5c .global data_ov15_0218ce94 data_ov15_0218ce94: ; 0x0218ce94 .word func_ov00_0208b698 .global data_ov15_0218ce98 data_ov15_0218ce98: ; 0x0218ce98 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218ce9c data_ov15_0218ce9c: ; 0x0218ce9c .word func_ov15_021667cc .global data_ov15_0218cea0 data_ov15_0218cea0: ; 0x0218cea0 .word func_ov00_0208b6bc .global data_ov15_0218cea4 data_ov15_0218cea4: ; 0x0218cea4 .word func_ov00_0208b6c4 .global data_ov15_0218cea8 data_ov15_0218cea8: ; 0x0218cea8 .word func_ov00_0208b6c8 .global data_ov15_0218ceac data_ov15_0218ceac: ; 0x0218ceac .word func_ov00_0208b6d0 .global data_ov15_0218ceb0 data_ov15_0218ceb0: ; 0x0218ceb0 .word func_ov00_0208b6d8 .global data_ov15_0218ceb4 data_ov15_0218ceb4: ; 0x0218ceb4 .word func_ov00_0208b6e0 .global data_ov15_0218ceb8 data_ov15_0218ceb8: ; 0x0218ceb8 .word func_ov00_0208b6e8 .global data_ov15_0218cebc data_ov15_0218cebc: ; 0x0218cebc .word func_ov00_0208b6f0 .global data_ov15_0218cec0 data_ov15_0218cec0: ; 0x0218cec0 .word func_ov00_0208b6f8 .global data_ov15_0218cec4 data_ov15_0218cec4: ; 0x0218cec4 .word func_ov00_0208b700 .global data_ov15_0218cec8 data_ov15_0218cec8: ; 0x0218cec8 .word func_ov00_0208b704 .global data_ov15_0218cecc data_ov15_0218cecc: ; 0x0218cecc .word func_ov00_0208b70c .global data_ov15_0218ced0 data_ov15_0218ced0: ; 0x0218ced0 .word func_ov00_0208b710 .global data_ov15_0218ced4 data_ov15_0218ced4: ; 0x0218ced4 .word func_ov00_0208b714 .global data_ov15_0218ced8 data_ov15_0218ced8: ; 0x0218ced8 .word func_ov15_02126370 .global data_ov15_0218cedc data_ov15_0218cedc: ; 0x0218cedc .word func_ov00_0208b844 .global data_ov15_0218cee0 data_ov15_0218cee0: ; 0x0218cee0 .word func_ov00_0208b870 .global data_ov15_0218cee4 data_ov15_0218cee4: ; 0x0218cee4 .word func_ov00_0208b89c .global data_ov15_0218cee8 data_ov15_0218cee8: ; 0x0218cee8 .word func_ov00_0208ba30 .global data_ov15_0218ceec data_ov15_0218ceec: ; 0x0218ceec .word func_ov00_0208ba38 .global data_ov15_0218cef0 data_ov15_0218cef0: ; 0x0218cef0 .word func_ov00_0208ba40 .global data_ov15_0218cef4 data_ov15_0218cef4: ; 0x0218cef4 .word func_ov15_02126368 .global data_ov15_0218cef8 data_ov15_0218cef8: ; 0x0218cef8 .word func_ov00_0208ba50 .global data_ov15_0218cefc data_ov15_0218cefc: ; 0x0218cefc .word func_ov15_02165e88 .global data_ov15_0218cf00 data_ov15_0218cf00: ; 0x0218cf00 .word func_ov15_02165a48 .global data_ov15_0218cf04 data_ov15_0218cf04: ; 0x0218cf04 .word func_ov00_0208c38c .global data_ov15_0218cf08 data_ov15_0218cf08: ; 0x0218cf08 .word func_ov15_02126378 .global data_ov15_0218cf0c data_ov15_0218cf0c: ; 0x0218cf0c .word func_ov15_021667d4 .global data_ov15_0218cf10 data_ov15_0218cf10: ; 0x0218cf10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cf14 data_ov15_0218cf14: ; 0x0218cf14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cf18 data_ov15_0218cf18: ; 0x0218cf18 .word func_ov15_02166a94 .global data_ov15_0218cf1c data_ov15_0218cf1c: ; 0x0218cf1c .word func_ov15_02166ab8 .global data_ov15_0218cf20 data_ov15_0218cf20: ; 0x0218cf20 .word func_ov15_02166a10 .global data_ov15_0218cf24 data_ov15_0218cf24: ; 0x0218cf24 .word func_ov15_02165440 .global data_ov15_0218cf28 data_ov15_0218cf28: ; 0x0218cf28 .word func_ov15_02165e5c .global data_ov15_0218cf2c data_ov15_0218cf2c: ; 0x0218cf2c .word func_ov00_0208b698 .global data_ov15_0218cf30 data_ov15_0218cf30: ; 0x0218cf30 .word func_ov15_021653bc ; func_ov18_021653bc .global data_ov15_0218cf34 data_ov15_0218cf34: ; 0x0218cf34 .word func_ov15_02166aa8 .global data_ov15_0218cf38 data_ov15_0218cf38: ; 0x0218cf38 .word func_ov00_0208b6bc .global data_ov15_0218cf3c data_ov15_0218cf3c: ; 0x0218cf3c .word func_ov00_0208b6c4 .global data_ov15_0218cf40 data_ov15_0218cf40: ; 0x0218cf40 .word func_ov00_0208b6c8 .global data_ov15_0218cf44 data_ov15_0218cf44: ; 0x0218cf44 .word func_ov00_0208b6d0 .global data_ov15_0218cf48 data_ov15_0218cf48: ; 0x0218cf48 .word func_ov00_0208b6d8 .global data_ov15_0218cf4c data_ov15_0218cf4c: ; 0x0218cf4c .word func_ov00_0208b6e0 .global data_ov15_0218cf50 data_ov15_0218cf50: ; 0x0218cf50 .word func_ov00_0208b6e8 .global data_ov15_0218cf54 data_ov15_0218cf54: ; 0x0218cf54 .word func_ov00_0208b6f0 .global data_ov15_0218cf58 data_ov15_0218cf58: ; 0x0218cf58 .word func_ov00_0208b6f8 .global data_ov15_0218cf5c data_ov15_0218cf5c: ; 0x0218cf5c .word func_ov00_0208b700 .global data_ov15_0218cf60 data_ov15_0218cf60: ; 0x0218cf60 .word func_ov00_0208b704 .global data_ov15_0218cf64 data_ov15_0218cf64: ; 0x0218cf64 .word func_ov00_0208b70c .global data_ov15_0218cf68 data_ov15_0218cf68: ; 0x0218cf68 .word func_ov00_0208b710 .global data_ov15_0218cf6c data_ov15_0218cf6c: ; 0x0218cf6c .word func_ov00_0208b714 .global data_ov15_0218cf70 data_ov15_0218cf70: ; 0x0218cf70 .word func_ov15_02126370 .global data_ov15_0218cf74 data_ov15_0218cf74: ; 0x0218cf74 .word func_ov00_0208b844 .global data_ov15_0218cf78 data_ov15_0218cf78: ; 0x0218cf78 .word func_ov00_0208b870 .global data_ov15_0218cf7c data_ov15_0218cf7c: ; 0x0218cf7c .word func_ov00_0208b89c .global data_ov15_0218cf80 data_ov15_0218cf80: ; 0x0218cf80 .word func_ov00_0208ba30 .global data_ov15_0218cf84 data_ov15_0218cf84: ; 0x0218cf84 .word func_ov00_0208ba38 .global data_ov15_0218cf88 data_ov15_0218cf88: ; 0x0218cf88 .word func_ov00_0208ba40 .global data_ov15_0218cf8c data_ov15_0218cf8c: ; 0x0218cf8c .word func_ov15_02126368 .global data_ov15_0218cf90 data_ov15_0218cf90: ; 0x0218cf90 .word func_ov00_0208ba50 .global data_ov15_0218cf94 data_ov15_0218cf94: ; 0x0218cf94 .word func_ov15_02165e88 .global data_ov15_0218cf98 data_ov15_0218cf98: ; 0x0218cf98 .word func_ov15_02165a48 .global data_ov15_0218cf9c data_ov15_0218cf9c: ; 0x0218cf9c .word func_ov00_0208c38c .global data_ov15_0218cfa0 data_ov15_0218cfa0: ; 0x0218cfa0 .word func_ov15_02126378 .global data_ov15_0218cfa4 data_ov15_0218cfa4: ; 0x0218cfa4 .word func_ov15_02166ab0 .global data_ov15_0218cfa8 data_ov15_0218cfa8: ; 0x0218cfa8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218cfac data_ov15_0218cfac: ; 0x0218cfac .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cfb0 data_ov15_0218cfb0: ; 0x0218cfb0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218cfb4 data_ov15_0218cfb4: ; 0x0218cfb4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218cfb8 data_ov15_0218cfb8: ; 0x0218cfb8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cfbc data_ov15_0218cfbc: ; 0x0218cfbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218cfc0 data_ov15_0218cfc0: ; 0x0218cfc0 .word func_ov15_02166b78 .global data_ov15_0218cfc4 data_ov15_0218cfc4: ; 0x0218cfc4 .word func_ov15_02166ba0 .global data_ov15_0218cfc8 data_ov15_0218cfc8: ; 0x0218cfc8 .word func_ov15_02166bd0 .global data_ov15_0218cfcc data_ov15_0218cfcc: ; 0x0218cfcc .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218cfd0 data_ov15_0218cfd0: ; 0x0218cfd0 .word func_ov15_02167410 .global data_ov15_0218cfd4 data_ov15_0218cfd4: ; 0x0218cfd4 .word func_ov15_02123a9c .global data_ov15_0218cfd8 data_ov15_0218cfd8: ; 0x0218cfd8 .word func_ov15_02123b78 .global data_ov15_0218cfdc data_ov15_0218cfdc: ; 0x0218cfdc .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218cfe0 data_ov15_0218cfe0: ; 0x0218cfe0 .word func_ov15_021676ec .global data_ov15_0218cfe4 data_ov15_0218cfe4: ; 0x0218cfe4 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218cfe8 data_ov15_0218cfe8: ; 0x0218cfe8 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218cfec data_ov15_0218cfec: ; 0x0218cfec .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218cff0 data_ov15_0218cff0: ; 0x0218cff0 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218cff4 data_ov15_0218cff4: ; 0x0218cff4 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218cff8 data_ov15_0218cff8: ; 0x0218cff8 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218cffc data_ov15_0218cffc: ; 0x0218cffc .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d000 data_ov15_0218d000: ; 0x0218d000 .word func_ov15_02167690 .global data_ov15_0218d004 data_ov15_0218d004: ; 0x0218d004 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d008 data_ov15_0218d008: ; 0x0218d008 .word func_ov15_0216729c .global data_ov15_0218d00c data_ov15_0218d00c: ; 0x0218d00c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d010 data_ov15_0218d010: ; 0x0218d010 .word _ZN5Actor6GetPosEv .global data_ov15_0218d014 data_ov15_0218d014: ; 0x0218d014 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d018 data_ov15_0218d018: ; 0x0218d018 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d01c data_ov15_0218d01c: ; 0x0218d01c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d020 data_ov15_0218d020: ; 0x0218d020 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d024 data_ov15_0218d024: ; 0x0218d024 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d028 data_ov15_0218d028: ; 0x0218d028 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d02c data_ov15_0218d02c: ; 0x0218d02c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d030 data_ov15_0218d030: ; 0x0218d030 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d034 data_ov15_0218d034: ; 0x0218d034 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d038 data_ov15_0218d038: ; 0x0218d038 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d03c data_ov15_0218d03c: ; 0x0218d03c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d040 data_ov15_0218d040: ; 0x0218d040 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d044 data_ov15_0218d044: ; 0x0218d044 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d048 data_ov15_0218d048: ; 0x0218d048 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d04c data_ov15_0218d04c: ; 0x0218d04c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d050 data_ov15_0218d050: ; 0x0218d050 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d054 data_ov15_0218d054: ; 0x0218d054 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d058 data_ov15_0218d058: ; 0x0218d058 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d05c data_ov15_0218d05c: ; 0x0218d05c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d060 data_ov15_0218d060: ; 0x0218d060 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d064 data_ov15_0218d064: ; 0x0218d064 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d068 data_ov15_0218d068: ; 0x0218d068 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d06c data_ov15_0218d06c: ; 0x0218d06c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d070 data_ov15_0218d070: ; 0x0218d070 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d074 data_ov15_0218d074: ; 0x0218d074 .word func_ov15_02166f08 .global data_ov15_0218d078 data_ov15_0218d078: ; 0x0218d078 .word func_ov15_021670dc .global data_ov15_0218d07c data_ov15_0218d07c: ; 0x0218d07c .word func_ov15_02123770 .global data_ov15_0218d080 data_ov15_0218d080: ; 0x0218d080 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d084 data_ov15_0218d084: ; 0x0218d084 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d088 data_ov15_0218d088: ; 0x0218d088 .word func_ov00_020c5d34 .global data_ov15_0218d08c data_ov15_0218d08c: ; 0x0218d08c .word func_ov15_02125384 .global data_ov15_0218d090 data_ov15_0218d090: ; 0x0218d090 .word func_ov00_020c5e58 .global data_ov15_0218d094 data_ov15_0218d094: ; 0x0218d094 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d098 data_ov15_0218d098: ; 0x0218d098 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d09c data_ov15_0218d09c: ; 0x0218d09c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d0a0 data_ov15_0218d0a0: ; 0x0218d0a0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d0a4 data_ov15_0218d0a4: ; 0x0218d0a4 .byte 0x00, 0x00 .global data_ov15_0218d0a6 data_ov15_0218d0a6: ; 0x0218d0a6 .byte 0x00, 0x00 .global data_ov15_0218d0a8 data_ov15_0218d0a8: ; 0x0218d0a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d0ac data_ov15_0218d0ac: ; 0x0218d0ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d0b0 data_ov15_0218d0b0: ; 0x0218d0b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d0b4 data_ov15_0218d0b4: ; 0x0218d0b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d0b8 data_ov15_0218d0b8: ; 0x0218d0b8 .word func_ov15_021678f8 .global data_ov15_0218d0bc data_ov15_0218d0bc: ; 0x0218d0bc .word func_ov15_02167928 .global data_ov15_0218d0c0 data_ov15_0218d0c0: ; 0x0218d0c0 .word func_ov15_02167960 .global data_ov15_0218d0c4 data_ov15_0218d0c4: ; 0x0218d0c4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d0c8 data_ov15_0218d0c8: ; 0x0218d0c8 .word func_ov15_02123ba8 .global data_ov15_0218d0cc data_ov15_0218d0cc: ; 0x0218d0cc .word func_ov15_02123a9c .global data_ov15_0218d0d0 data_ov15_0218d0d0: ; 0x0218d0d0 .word func_ov15_02168e60 .global data_ov15_0218d0d4 data_ov15_0218d0d4: ; 0x0218d0d4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d0d8 data_ov15_0218d0d8: ; 0x0218d0d8 .word func_ov15_02168f98 .global data_ov15_0218d0dc data_ov15_0218d0dc: ; 0x0218d0dc .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d0e0 data_ov15_0218d0e0: ; 0x0218d0e0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d0e4 data_ov15_0218d0e4: ; 0x0218d0e4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d0e8 data_ov15_0218d0e8: ; 0x0218d0e8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d0ec data_ov15_0218d0ec: ; 0x0218d0ec .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d0f0 data_ov15_0218d0f0: ; 0x0218d0f0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d0f4 data_ov15_0218d0f4: ; 0x0218d0f4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d0f8 data_ov15_0218d0f8: ; 0x0218d0f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d0fc data_ov15_0218d0fc: ; 0x0218d0fc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d100 data_ov15_0218d100: ; 0x0218d100 .word func_ov15_02168efc .global data_ov15_0218d104 data_ov15_0218d104: ; 0x0218d104 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d108 data_ov15_0218d108: ; 0x0218d108 .word _ZN5Actor6GetPosEv .global data_ov15_0218d10c data_ov15_0218d10c: ; 0x0218d10c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d110 data_ov15_0218d110: ; 0x0218d110 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d114 data_ov15_0218d114: ; 0x0218d114 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d118 data_ov15_0218d118: ; 0x0218d118 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d11c data_ov15_0218d11c: ; 0x0218d11c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d120 data_ov15_0218d120: ; 0x0218d120 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d124 data_ov15_0218d124: ; 0x0218d124 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d128 data_ov15_0218d128: ; 0x0218d128 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d12c data_ov15_0218d12c: ; 0x0218d12c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d130 data_ov15_0218d130: ; 0x0218d130 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d134 data_ov15_0218d134: ; 0x0218d134 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d138 data_ov15_0218d138: ; 0x0218d138 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d13c data_ov15_0218d13c: ; 0x0218d13c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d140 data_ov15_0218d140: ; 0x0218d140 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d144 data_ov15_0218d144: ; 0x0218d144 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d148 data_ov15_0218d148: ; 0x0218d148 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d14c data_ov15_0218d14c: ; 0x0218d14c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d150 data_ov15_0218d150: ; 0x0218d150 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d154 data_ov15_0218d154: ; 0x0218d154 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d158 data_ov15_0218d158: ; 0x0218d158 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d15c data_ov15_0218d15c: ; 0x0218d15c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d160 data_ov15_0218d160: ; 0x0218d160 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d164 data_ov15_0218d164: ; 0x0218d164 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d168 data_ov15_0218d168: ; 0x0218d168 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d16c data_ov15_0218d16c: ; 0x0218d16c .word func_ov15_02167f14 .global data_ov15_0218d170 data_ov15_0218d170: ; 0x0218d170 .word func_ov15_02168358 .global data_ov15_0218d174 data_ov15_0218d174: ; 0x0218d174 .word func_ov15_02123770 .global data_ov15_0218d178 data_ov15_0218d178: ; 0x0218d178 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d17c data_ov15_0218d17c: ; 0x0218d17c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d180 data_ov15_0218d180: ; 0x0218d180 .word func_ov00_020c5d34 .global data_ov15_0218d184 data_ov15_0218d184: ; 0x0218d184 .word func_ov15_02125384 .global data_ov15_0218d188 data_ov15_0218d188: ; 0x0218d188 .word func_ov00_020c5e58 .global data_ov15_0218d18c data_ov15_0218d18c: ; 0x0218d18c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d190 data_ov15_0218d190: ; 0x0218d190 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d194 data_ov15_0218d194: ; 0x0218d194 .word func_ov00_020a9acc .global data_ov15_0218d198 data_ov15_0218d198: ; 0x0218d198 .word func_ov00_020a9ad8 .global data_ov15_0218d19c data_ov15_0218d19c: ; 0x0218d19c .ascii "fl_0" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d1a4 data_ov15_0218d1a4: ; 0x0218d1a4 .ascii "fl_1" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d1ac data_ov15_0218d1ac: ; 0x0218d1ac .ascii "FLP:/" .byte 0x00, 0x00, 0x00 .global data_ov15_0218d1b4 data_ov15_0218d1b4: ; 0x0218d1b4 .ascii ".nsbtp" .byte 0x00, 0x00 .global data_ov15_0218d1bc data_ov15_0218d1bc: ; 0x0218d1bc .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d1c0 data_ov15_0218d1c0: ; 0x0218d1c0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d1c4 data_ov15_0218d1c4: ; 0x0218d1c4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d1c8 data_ov15_0218d1c8: ; 0x0218d1c8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d1cc data_ov15_0218d1cc: ; 0x0218d1cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d1d0 data_ov15_0218d1d0: ; 0x0218d1d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d1d4 data_ov15_0218d1d4: ; 0x0218d1d4 .word func_ov15_0216908c .global data_ov15_0218d1d8 data_ov15_0218d1d8: ; 0x0218d1d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d1dc data_ov15_0218d1dc: ; 0x0218d1dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d1e0 data_ov15_0218d1e0: ; 0x0218d1e0 .word func_ov15_02169290 .global data_ov15_0218d1e4 data_ov15_0218d1e4: ; 0x0218d1e4 .word func_ov15_021692f0 .global data_ov15_0218d1e8 data_ov15_0218d1e8: ; 0x0218d1e8 .word func_ov15_02169358 .global data_ov15_0218d1ec data_ov15_0218d1ec: ; 0x0218d1ec .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d1f0 data_ov15_0218d1f0: ; 0x0218d1f0 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218d1f4 data_ov15_0218d1f4: ; 0x0218d1f4 .word func_ov15_021694f4 .global data_ov15_0218d1f8 data_ov15_0218d1f8: ; 0x0218d1f8 .word func_ov15_02169684 .global data_ov15_0218d1fc data_ov15_0218d1fc: ; 0x0218d1fc .word func_ov15_0216977c .global data_ov15_0218d200 data_ov15_0218d200: ; 0x0218d200 .word func_ov15_0216970c .global data_ov15_0218d204 data_ov15_0218d204: ; 0x0218d204 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d208 data_ov15_0218d208: ; 0x0218d208 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d20c data_ov15_0218d20c: ; 0x0218d20c .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d210 data_ov15_0218d210: ; 0x0218d210 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d214 data_ov15_0218d214: ; 0x0218d214 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d218 data_ov15_0218d218: ; 0x0218d218 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d21c data_ov15_0218d21c: ; 0x0218d21c .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d220 data_ov15_0218d220: ; 0x0218d220 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d224 data_ov15_0218d224: ; 0x0218d224 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d228 data_ov15_0218d228: ; 0x0218d228 .word func_ov15_02169938 .global data_ov15_0218d22c data_ov15_0218d22c: ; 0x0218d22c .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d230 data_ov15_0218d230: ; 0x0218d230 .word _ZN5Actor6GetPosEv .global data_ov15_0218d234 data_ov15_0218d234: ; 0x0218d234 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d238 data_ov15_0218d238: ; 0x0218d238 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d23c data_ov15_0218d23c: ; 0x0218d23c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d240 data_ov15_0218d240: ; 0x0218d240 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d244 data_ov15_0218d244: ; 0x0218d244 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d248 data_ov15_0218d248: ; 0x0218d248 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d24c data_ov15_0218d24c: ; 0x0218d24c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d250 data_ov15_0218d250: ; 0x0218d250 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d254 data_ov15_0218d254: ; 0x0218d254 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d258 data_ov15_0218d258: ; 0x0218d258 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d25c data_ov15_0218d25c: ; 0x0218d25c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d260 data_ov15_0218d260: ; 0x0218d260 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d264 data_ov15_0218d264: ; 0x0218d264 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d268 data_ov15_0218d268: ; 0x0218d268 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d26c data_ov15_0218d26c: ; 0x0218d26c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d270 data_ov15_0218d270: ; 0x0218d270 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d274 data_ov15_0218d274: ; 0x0218d274 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d278 data_ov15_0218d278: ; 0x0218d278 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d27c data_ov15_0218d27c: ; 0x0218d27c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d280 data_ov15_0218d280: ; 0x0218d280 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d284 data_ov15_0218d284: ; 0x0218d284 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d288 data_ov15_0218d288: ; 0x0218d288 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d28c data_ov15_0218d28c: ; 0x0218d28c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d290 data_ov15_0218d290: ; 0x0218d290 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d294 data_ov15_0218d294: ; 0x0218d294 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d298 data_ov15_0218d298: ; 0x0218d298 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d29c data_ov15_0218d29c: ; 0x0218d29c .word func_ov15_0216927c ; func_ov18_0216927c .global data_ov15_0218d2a0 data_ov15_0218d2a0: ; 0x0218d2a0 .word func_ov15_0216a558 .global data_ov15_0218d2a4 data_ov15_0218d2a4: ; 0x0218d2a4 .word func_ov00_020a960c .global data_ov15_0218d2a8 data_ov15_0218d2a8: ; 0x0218d2a8 .word func_ov00_020a9614 .global data_ov15_0218d2ac data_ov15_0218d2ac: ; 0x0218d2ac .word func_ov00_020a9650 .global data_ov15_0218d2b0 data_ov15_0218d2b0: ; 0x0218d2b0 .word func_ov00_020a96d4 .global data_ov15_0218d2b4 data_ov15_0218d2b4: ; 0x0218d2b4 .word func_ov00_020a9740 .global data_ov15_0218d2b8 data_ov15_0218d2b8: ; 0x0218d2b8 .word func_ov00_020a9764 .global data_ov15_0218d2bc data_ov15_0218d2bc: ; 0x0218d2bc .word func_ov00_020a97d0 .global data_ov15_0218d2c0 data_ov15_0218d2c0: ; 0x0218d2c0 .word func_ov00_020a97e0 .global data_ov15_0218d2c4 data_ov15_0218d2c4: ; 0x0218d2c4 .word func_ov00_020a97f8 .global data_ov15_0218d2c8 data_ov15_0218d2c8: ; 0x0218d2c8 .word func_ov00_020a9864 .global data_ov15_0218d2cc data_ov15_0218d2cc: ; 0x0218d2cc .word func_ov00_020a98bc .global data_ov15_0218d2d0 data_ov15_0218d2d0: ; 0x0218d2d0 .word func_ov00_020a9890 .global data_ov15_0218d2d4 data_ov15_0218d2d4: ; 0x0218d2d4 .word func_ov00_020a9968 .global data_ov15_0218d2d8 data_ov15_0218d2d8: ; 0x0218d2d8 .word func_ov15_02169158 ; func_ov18_02169158 .global data_ov15_0218d2dc data_ov15_0218d2dc: ; 0x0218d2dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d2e0 data_ov15_0218d2e0: ; 0x0218d2e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d2e4 data_ov15_0218d2e4: ; 0x0218d2e4 .word func_ov15_02169268 .global data_ov15_0218d2e8 data_ov15_0218d2e8: ; 0x0218d2e8 .word func_ov15_0216a574 .global data_ov15_0218d2ec data_ov15_0218d2ec: ; 0x0218d2ec .word func_ov15_021690bc .global data_ov15_0218d2f0 data_ov15_0218d2f0: ; 0x0218d2f0 .word func_ov15_021690b4 .global data_ov15_0218d2f4 data_ov15_0218d2f4: ; 0x0218d2f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d2f8 data_ov15_0218d2f8: ; 0x0218d2f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d2fc data_ov15_0218d2fc: ; 0x0218d2fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d300 data_ov15_0218d300: ; 0x0218d300 .word func_ov00_02081f58 .global data_ov15_0218d304 data_ov15_0218d304: ; 0x0218d304 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d308 data_ov15_0218d308: ; 0x0218d308 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d30c data_ov15_0218d30c: ; 0x0218d30c .ascii "brg" .byte 0x00 .global data_ov15_0218d310 data_ov15_0218d310: ; 0x0218d310 .ascii "fnl" .byte 0x00 .global data_ov15_0218d314 data_ov15_0218d314: ; 0x0218d314 .ascii "pdl" .byte 0x00 .global data_ov15_0218d318 data_ov15_0218d318: ; 0x0218d318 .ascii "dco" .byte 0x00 .global data_ov15_0218d31c data_ov15_0218d31c: ; 0x0218d31c .ascii "can" .byte 0x00 .global data_ov15_0218d320 data_ov15_0218d320: ; 0x0218d320 .ascii "hul" .byte 0x00 .global data_ov15_0218d324 data_ov15_0218d324: ; 0x0218d324 .ascii "bow" .byte 0x00 .global data_ov15_0218d328 data_ov15_0218d328: ; 0x0218d328 .ascii "anc" .byte 0x00 .global data_ov15_0218d32c data_ov15_0218d32c: ; 0x0218d32c .word data_ov15_0218d328 ; data_ov40_0218d328 .global data_ov15_0218d330 data_ov15_0218d330: ; 0x0218d330 .word data_ov15_0218d324 ; data_ov40_0218d324, func_ov41_0218d324 .global data_ov15_0218d334 data_ov15_0218d334: ; 0x0218d334 .word data_ov15_0218d320 ; data_ov40_0218d320 .global data_ov15_0218d338 data_ov15_0218d338: ; 0x0218d338 .word data_ov15_0218d31c ; data_ov40_0218d31c .global data_ov15_0218d33c data_ov15_0218d33c: ; 0x0218d33c .word data_ov15_0218d318 ; data_ov40_0218d318 .global data_ov15_0218d340 data_ov15_0218d340: ; 0x0218d340 .word data_ov15_0218d314 ; data_ov40_0218d314, func_ov43_0218d314 .global data_ov15_0218d344 data_ov15_0218d344: ; 0x0218d344 .word data_ov15_0218d310 ; data_ov40_0218d310 .global data_ov15_0218d348 data_ov15_0218d348: ; 0x0218d348 .word data_ov15_0218d30c ; data_ov40_0218d30c, func_ov43_0218d30c .global data_ov15_0218d34c data_ov15_0218d34c: ; 0x0218d34c .byte 0xfe, 0x00, 0x00, 0x00 .global data_ov15_0218d350 data_ov15_0218d350: ; 0x0218d350 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d354 data_ov15_0218d354: ; 0x0218d354 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d358 data_ov15_0218d358: ; 0x0218d358 .word func_ov15_0216a7c0 .global data_ov15_0218d35c data_ov15_0218d35c: ; 0x0218d35c .word func_ov15_0216a7f8 .global data_ov15_0218d360 data_ov15_0218d360: ; 0x0218d360 .word func_ov15_0216a838 .global data_ov15_0218d364 data_ov15_0218d364: ; 0x0218d364 .word func_ov15_0216aa2c .global data_ov15_0218d368 data_ov15_0218d368: ; 0x0218d368 .word func_ov15_0216aa84 .global data_ov15_0218d36c data_ov15_0218d36c: ; 0x0218d36c .word func_ov15_0216aadc .global data_ov15_0218d370 data_ov15_0218d370: ; 0x0218d370 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d374 data_ov15_0218d374: ; 0x0218d374 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d378 data_ov15_0218d378: ; 0x0218d378 .word func_ov15_0216ad8c .global data_ov15_0218d37c data_ov15_0218d37c: ; 0x0218d37c .word func_ov15_0216ada0 .global data_ov15_0218d380 data_ov15_0218d380: ; 0x0218d380 .word func_ov15_0216af34 ; func_ov18_0216af34 .global data_ov15_0218d384 data_ov15_0218d384: ; 0x0218d384 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d388 data_ov15_0218d388: ; 0x0218d388 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218d38c data_ov15_0218d38c: ; 0x0218d38c .word func_ov15_0216b160 .global data_ov15_0218d390 data_ov15_0218d390: ; 0x0218d390 .word func_ov15_0216b354 ; func_ov18_0216b354 .global data_ov15_0218d394 data_ov15_0218d394: ; 0x0218d394 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d398 data_ov15_0218d398: ; 0x0218d398 .word func_ov15_0216bc5c ; data_ov17_0216bc5c .global data_ov15_0218d39c data_ov15_0218d39c: ; 0x0218d39c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d3a0 data_ov15_0218d3a0: ; 0x0218d3a0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d3a4 data_ov15_0218d3a4: ; 0x0218d3a4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d3a8 data_ov15_0218d3a8: ; 0x0218d3a8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d3ac data_ov15_0218d3ac: ; 0x0218d3ac .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d3b0 data_ov15_0218d3b0: ; 0x0218d3b0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d3b4 data_ov15_0218d3b4: ; 0x0218d3b4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d3b8 data_ov15_0218d3b8: ; 0x0218d3b8 .word func_ov15_0216b58c ; data_ov18_0216b58c .global data_ov15_0218d3bc data_ov15_0218d3bc: ; 0x0218d3bc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d3c0 data_ov15_0218d3c0: ; 0x0218d3c0 .word func_ov15_0216b368 .global data_ov15_0218d3c4 data_ov15_0218d3c4: ; 0x0218d3c4 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d3c8 data_ov15_0218d3c8: ; 0x0218d3c8 .word _ZN5Actor6GetPosEv .global data_ov15_0218d3cc data_ov15_0218d3cc: ; 0x0218d3cc .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d3d0 data_ov15_0218d3d0: ; 0x0218d3d0 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d3d4 data_ov15_0218d3d4: ; 0x0218d3d4 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d3d8 data_ov15_0218d3d8: ; 0x0218d3d8 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d3dc data_ov15_0218d3dc: ; 0x0218d3dc .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d3e0 data_ov15_0218d3e0: ; 0x0218d3e0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d3e4 data_ov15_0218d3e4: ; 0x0218d3e4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d3e8 data_ov15_0218d3e8: ; 0x0218d3e8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d3ec data_ov15_0218d3ec: ; 0x0218d3ec .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d3f0 data_ov15_0218d3f0: ; 0x0218d3f0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d3f4 data_ov15_0218d3f4: ; 0x0218d3f4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d3f8 data_ov15_0218d3f8: ; 0x0218d3f8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d3fc data_ov15_0218d3fc: ; 0x0218d3fc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d400 data_ov15_0218d400: ; 0x0218d400 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d404 data_ov15_0218d404: ; 0x0218d404 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d408 data_ov15_0218d408: ; 0x0218d408 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d40c data_ov15_0218d40c: ; 0x0218d40c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d410 data_ov15_0218d410: ; 0x0218d410 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d414 data_ov15_0218d414: ; 0x0218d414 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d418 data_ov15_0218d418: ; 0x0218d418 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d41c data_ov15_0218d41c: ; 0x0218d41c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d420 data_ov15_0218d420: ; 0x0218d420 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d424 data_ov15_0218d424: ; 0x0218d424 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d428 data_ov15_0218d428: ; 0x0218d428 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d42c data_ov15_0218d42c: ; 0x0218d42c .word func_ov15_0216b4d0 ; data_ov18_0216b4d0 .global data_ov15_0218d430 data_ov15_0218d430: ; 0x0218d430 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d434 data_ov15_0218d434: ; 0x0218d434 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d438 data_ov15_0218d438: ; 0x0218d438 .word func_ov15_0216ad5c .global data_ov15_0218d43c data_ov15_0218d43c: ; 0x0218d43c .word func_ov15_0216ad70 .global data_ov15_0218d440 data_ov15_0218d440: ; 0x0218d440 .word func_ov15_0216aee4 .global data_ov15_0218d444 data_ov15_0218d444: ; 0x0218d444 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d448 data_ov15_0218d448: ; 0x0218d448 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218d44c data_ov15_0218d44c: ; 0x0218d44c .word func_ov15_0216af74 .global data_ov15_0218d450 data_ov15_0218d450: ; 0x0218d450 .word func_ov15_0216b354 ; func_ov18_0216b354 .global data_ov15_0218d454 data_ov15_0218d454: ; 0x0218d454 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d458 data_ov15_0218d458: ; 0x0218d458 .word func_ov15_0216ba40 ; data_ov17_0216ba40 .global data_ov15_0218d45c data_ov15_0218d45c: ; 0x0218d45c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d460 data_ov15_0218d460: ; 0x0218d460 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d464 data_ov15_0218d464: ; 0x0218d464 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d468 data_ov15_0218d468: ; 0x0218d468 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d46c data_ov15_0218d46c: ; 0x0218d46c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d470 data_ov15_0218d470: ; 0x0218d470 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d474 data_ov15_0218d474: ; 0x0218d474 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d478 data_ov15_0218d478: ; 0x0218d478 .word func_ov15_0216b58c ; data_ov18_0216b58c .global data_ov15_0218d47c data_ov15_0218d47c: ; 0x0218d47c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d480 data_ov15_0218d480: ; 0x0218d480 .word func_ov15_0216b368 .global data_ov15_0218d484 data_ov15_0218d484: ; 0x0218d484 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d488 data_ov15_0218d488: ; 0x0218d488 .word _ZN5Actor6GetPosEv .global data_ov15_0218d48c data_ov15_0218d48c: ; 0x0218d48c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d490 data_ov15_0218d490: ; 0x0218d490 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d494 data_ov15_0218d494: ; 0x0218d494 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d498 data_ov15_0218d498: ; 0x0218d498 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d49c data_ov15_0218d49c: ; 0x0218d49c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d4a0 data_ov15_0218d4a0: ; 0x0218d4a0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d4a4 data_ov15_0218d4a4: ; 0x0218d4a4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d4a8 data_ov15_0218d4a8: ; 0x0218d4a8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d4ac data_ov15_0218d4ac: ; 0x0218d4ac .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d4b0 data_ov15_0218d4b0: ; 0x0218d4b0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d4b4 data_ov15_0218d4b4: ; 0x0218d4b4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d4b8 data_ov15_0218d4b8: ; 0x0218d4b8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d4bc data_ov15_0218d4bc: ; 0x0218d4bc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d4c0 data_ov15_0218d4c0: ; 0x0218d4c0 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d4c4 data_ov15_0218d4c4: ; 0x0218d4c4 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d4c8 data_ov15_0218d4c8: ; 0x0218d4c8 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d4cc data_ov15_0218d4cc: ; 0x0218d4cc .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d4d0 data_ov15_0218d4d0: ; 0x0218d4d0 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d4d4 data_ov15_0218d4d4: ; 0x0218d4d4 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d4d8 data_ov15_0218d4d8: ; 0x0218d4d8 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d4dc data_ov15_0218d4dc: ; 0x0218d4dc .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d4e0 data_ov15_0218d4e0: ; 0x0218d4e0 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d4e4 data_ov15_0218d4e4: ; 0x0218d4e4 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d4e8 data_ov15_0218d4e8: ; 0x0218d4e8 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d4ec data_ov15_0218d4ec: ; 0x0218d4ec .word func_ov15_0216b3b8 ; func_ov17_0216b3b8 .global data_ov15_0218d4f0 data_ov15_0218d4f0: ; 0x0218d4f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d4f4 data_ov15_0218d4f4: ; 0x0218d4f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d4f8 data_ov15_0218d4f8: ; 0x0218d4f8 .word func_ov15_0216acf4 .global data_ov15_0218d4fc data_ov15_0218d4fc: ; 0x0218d4fc .word func_ov15_0216ad14 .global data_ov15_0218d500 data_ov15_0218d500: ; 0x0218d500 .word func_ov15_0216adbc .global data_ov15_0218d504 data_ov15_0218d504: ; 0x0218d504 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d508 data_ov15_0218d508: ; 0x0218d508 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218d50c data_ov15_0218d50c: ; 0x0218d50c .word _ZN5Actor8vfunc_14Ej .global data_ov15_0218d510 data_ov15_0218d510: ; 0x0218d510 .word func_ov15_0216b354 ; func_ov18_0216b354 .global data_ov15_0218d514 data_ov15_0218d514: ; 0x0218d514 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d518 data_ov15_0218d518: ; 0x0218d518 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218d51c data_ov15_0218d51c: ; 0x0218d51c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d520 data_ov15_0218d520: ; 0x0218d520 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d524 data_ov15_0218d524: ; 0x0218d524 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d528 data_ov15_0218d528: ; 0x0218d528 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d52c data_ov15_0218d52c: ; 0x0218d52c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d530 data_ov15_0218d530: ; 0x0218d530 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d534 data_ov15_0218d534: ; 0x0218d534 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d538 data_ov15_0218d538: ; 0x0218d538 .word func_ov15_0216b58c ; data_ov18_0216b58c .global data_ov15_0218d53c data_ov15_0218d53c: ; 0x0218d53c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d540 data_ov15_0218d540: ; 0x0218d540 .word func_ov15_0216b368 .global data_ov15_0218d544 data_ov15_0218d544: ; 0x0218d544 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d548 data_ov15_0218d548: ; 0x0218d548 .word _ZN5Actor6GetPosEv .global data_ov15_0218d54c data_ov15_0218d54c: ; 0x0218d54c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d550 data_ov15_0218d550: ; 0x0218d550 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d554 data_ov15_0218d554: ; 0x0218d554 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d558 data_ov15_0218d558: ; 0x0218d558 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d55c data_ov15_0218d55c: ; 0x0218d55c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d560 data_ov15_0218d560: ; 0x0218d560 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d564 data_ov15_0218d564: ; 0x0218d564 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d568 data_ov15_0218d568: ; 0x0218d568 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d56c data_ov15_0218d56c: ; 0x0218d56c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d570 data_ov15_0218d570: ; 0x0218d570 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d574 data_ov15_0218d574: ; 0x0218d574 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d578 data_ov15_0218d578: ; 0x0218d578 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d57c data_ov15_0218d57c: ; 0x0218d57c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d580 data_ov15_0218d580: ; 0x0218d580 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d584 data_ov15_0218d584: ; 0x0218d584 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d588 data_ov15_0218d588: ; 0x0218d588 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d58c data_ov15_0218d58c: ; 0x0218d58c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d590 data_ov15_0218d590: ; 0x0218d590 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d594 data_ov15_0218d594: ; 0x0218d594 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d598 data_ov15_0218d598: ; 0x0218d598 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d59c data_ov15_0218d59c: ; 0x0218d59c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d5a0 data_ov15_0218d5a0: ; 0x0218d5a0 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d5a4 data_ov15_0218d5a4: ; 0x0218d5a4 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d5a8 data_ov15_0218d5a8: ; 0x0218d5a8 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d5ac data_ov15_0218d5ac: ; 0x0218d5ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d5b0 data_ov15_0218d5b0: ; 0x0218d5b0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d5b4 data_ov15_0218d5b4: ; 0x0218d5b4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d5b8 data_ov15_0218d5b8: ; 0x0218d5b8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d5bc data_ov15_0218d5bc: ; 0x0218d5bc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d5c0 data_ov15_0218d5c0: ; 0x0218d5c0 .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218d5c4 data_ov15_0218d5c4: ; 0x0218d5c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d5c8 data_ov15_0218d5c8: ; 0x0218d5c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d5cc data_ov15_0218d5cc: ; 0x0218d5cc .word func_ov15_0216c204 ; data_ov17_0216c204, data_ov18_0216c204 .global data_ov15_0218d5d0 data_ov15_0218d5d0: ; 0x0218d5d0 .word func_ov15_0216c264 ; data_ov17_0216c264, data_ov18_0216c264 .global data_ov15_0218d5d4 data_ov15_0218d5d4: ; 0x0218d5d4 .word func_ov15_0216c2cc ; data_ov17_0216c2cc, data_ov18_0216c2cc .global data_ov15_0218d5d8 data_ov15_0218d5d8: ; 0x0218d5d8 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d5dc data_ov15_0218d5dc: ; 0x0218d5dc .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218d5e0 data_ov15_0218d5e0: ; 0x0218d5e0 .word func_ov15_0216c594 ; data_ov17_0216c594, data_ov18_0216c594 .global data_ov15_0218d5e4 data_ov15_0218d5e4: ; 0x0218d5e4 .word func_ov15_0216c650 ; data_ov17_0216c650, data_ov18_0216c650 .global data_ov15_0218d5e8 data_ov15_0218d5e8: ; 0x0218d5e8 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d5ec data_ov15_0218d5ec: ; 0x0218d5ec .word func_ov15_0216d03c ; data_ov17_0216d03c, data_ov18_0216d03c .global data_ov15_0218d5f0 data_ov15_0218d5f0: ; 0x0218d5f0 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d5f4 data_ov15_0218d5f4: ; 0x0218d5f4 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d5f8 data_ov15_0218d5f8: ; 0x0218d5f8 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d5fc data_ov15_0218d5fc: ; 0x0218d5fc .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d600 data_ov15_0218d600: ; 0x0218d600 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d604 data_ov15_0218d604: ; 0x0218d604 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d608 data_ov15_0218d608: ; 0x0218d608 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d60c data_ov15_0218d60c: ; 0x0218d60c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d610 data_ov15_0218d610: ; 0x0218d610 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d614 data_ov15_0218d614: ; 0x0218d614 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218d618 data_ov15_0218d618: ; 0x0218d618 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d61c data_ov15_0218d61c: ; 0x0218d61c .word _ZN5Actor6GetPosEv .global data_ov15_0218d620 data_ov15_0218d620: ; 0x0218d620 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d624 data_ov15_0218d624: ; 0x0218d624 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d628 data_ov15_0218d628: ; 0x0218d628 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d62c data_ov15_0218d62c: ; 0x0218d62c .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d630 data_ov15_0218d630: ; 0x0218d630 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d634 data_ov15_0218d634: ; 0x0218d634 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d638 data_ov15_0218d638: ; 0x0218d638 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d63c data_ov15_0218d63c: ; 0x0218d63c .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d640 data_ov15_0218d640: ; 0x0218d640 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d644 data_ov15_0218d644: ; 0x0218d644 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d648 data_ov15_0218d648: ; 0x0218d648 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d64c data_ov15_0218d64c: ; 0x0218d64c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d650 data_ov15_0218d650: ; 0x0218d650 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d654 data_ov15_0218d654: ; 0x0218d654 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d658 data_ov15_0218d658: ; 0x0218d658 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d65c data_ov15_0218d65c: ; 0x0218d65c .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d660 data_ov15_0218d660: ; 0x0218d660 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d664 data_ov15_0218d664: ; 0x0218d664 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d668 data_ov15_0218d668: ; 0x0218d668 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d66c data_ov15_0218d66c: ; 0x0218d66c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d670 data_ov15_0218d670: ; 0x0218d670 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d674 data_ov15_0218d674: ; 0x0218d674 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d678 data_ov15_0218d678: ; 0x0218d678 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d67c data_ov15_0218d67c: ; 0x0218d67c .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d680 data_ov15_0218d680: ; 0x0218d680 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d684 data_ov15_0218d684: ; 0x0218d684 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d688 data_ov15_0218d688: ; 0x0218d688 .word func_ov00_020c5d34 .global data_ov15_0218d68c data_ov15_0218d68c: ; 0x0218d68c .word func_ov15_02125384 .global data_ov15_0218d690 data_ov15_0218d690: ; 0x0218d690 .word func_ov00_020c5e58 .global data_ov15_0218d694 data_ov15_0218d694: ; 0x0218d694 .word func_ov15_0216c0f0 ; data_ov17_0216c0f0, data_ov18_0216c0f0 .global data_ov15_0218d698 data_ov15_0218d698: ; 0x0218d698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d69c data_ov15_0218d69c: ; 0x0218d69c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d6a0 data_ov15_0218d6a0: ; 0x0218d6a0 .word func_ov15_0216c1f0 ; data_ov17_0216c1f0 .global data_ov15_0218d6a4 data_ov15_0218d6a4: ; 0x0218d6a4 .word func_ov15_0216d798 .global data_ov15_0218d6a8 data_ov15_0218d6a8: ; 0x0218d6a8 .word func_ov00_020a960c .global data_ov15_0218d6ac data_ov15_0218d6ac: ; 0x0218d6ac .word func_ov00_020a9614 .global data_ov15_0218d6b0 data_ov15_0218d6b0: ; 0x0218d6b0 .word func_ov00_020a9650 .global data_ov15_0218d6b4 data_ov15_0218d6b4: ; 0x0218d6b4 .word func_ov00_020a96d4 .global data_ov15_0218d6b8 data_ov15_0218d6b8: ; 0x0218d6b8 .word func_ov00_020a9740 .global data_ov15_0218d6bc data_ov15_0218d6bc: ; 0x0218d6bc .word func_ov00_020a9764 .global data_ov15_0218d6c0 data_ov15_0218d6c0: ; 0x0218d6c0 .word func_ov00_020a97d0 .global data_ov15_0218d6c4 data_ov15_0218d6c4: ; 0x0218d6c4 .word func_ov00_020a97e0 .global data_ov15_0218d6c8 data_ov15_0218d6c8: ; 0x0218d6c8 .word func_ov00_020a97f8 .global data_ov15_0218d6cc data_ov15_0218d6cc: ; 0x0218d6cc .word func_ov00_020a9864 .global data_ov15_0218d6d0 data_ov15_0218d6d0: ; 0x0218d6d0 .word func_ov00_020a98bc .global data_ov15_0218d6d4 data_ov15_0218d6d4: ; 0x0218d6d4 .word func_ov00_020a9890 .global data_ov15_0218d6d8 data_ov15_0218d6d8: ; 0x0218d6d8 .word func_ov00_020a9968 .global data_ov15_0218d6dc data_ov15_0218d6dc: ; 0x0218d6dc .word func_ov15_0216bee8 ; data_ov17_0216bee8 .global data_ov15_0218d6e0 data_ov15_0218d6e0: ; 0x0218d6e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d6e4 data_ov15_0218d6e4: ; 0x0218d6e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d6e8 data_ov15_0218d6e8: ; 0x0218d6e8 .word func_ov00_020c5d34 .global data_ov15_0218d6ec data_ov15_0218d6ec: ; 0x0218d6ec .word func_ov15_0216d610 ; data_ov18_0216d610 .global data_ov15_0218d6f0 data_ov15_0218d6f0: ; 0x0218d6f0 .word func_ov15_0216d68c ; data_ov18_0216d68c .global data_ov15_0218d6f4 data_ov15_0218d6f4: ; 0x0218d6f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d6f8 data_ov15_0218d6f8: ; 0x0218d6f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d6fc data_ov15_0218d6fc: ; 0x0218d6fc .word func_ov00_020a9b6c .global data_ov15_0218d700 data_ov15_0218d700: ; 0x0218d700 .word func_ov00_020a9b78 .global data_ov15_0218d704 data_ov15_0218d704: ; 0x0218d704 .ascii "SVO:/bombocta.nsbtp" .byte 0x00 .global data_ov15_0218d718 data_ov15_0218d718: ; 0x0218d718 .ascii "bombocta" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d724 data_ov15_0218d724: ; 0x0218d724 .ascii "LKI:/inhale.nsbta" .byte 0x00, 0x00, 0x00 .global data_ov15_0218d738 data_ov15_0218d738: ; 0x0218d738 .ascii "inhale" .byte 0x00, 0x00 .global data_ov15_0218d740 data_ov15_0218d740: ; 0x0218d740 .ascii "brg" .byte 0x00 .global data_ov15_0218d744 data_ov15_0218d744: ; 0x0218d744 .ascii "fnl" .byte 0x00 .global data_ov15_0218d748 data_ov15_0218d748: ; 0x0218d748 .ascii "pdl" .byte 0x00 .global data_ov15_0218d74c data_ov15_0218d74c: ; 0x0218d74c .ascii "dco" .byte 0x00 .global data_ov15_0218d750 data_ov15_0218d750: ; 0x0218d750 .ascii "can" .byte 0x00 .global data_ov15_0218d754 data_ov15_0218d754: ; 0x0218d754 .ascii "hul" .byte 0x00 .global data_ov15_0218d758 data_ov15_0218d758: ; 0x0218d758 .ascii "bow" .byte 0x00 .global data_ov15_0218d75c data_ov15_0218d75c: ; 0x0218d75c .ascii "anc" .byte 0x00 .global data_ov15_0218d760 data_ov15_0218d760: ; 0x0218d760 .word data_ov15_0218d75c ; data_ov40_0218d75c, data_ov43_0218d75c .global data_ov15_0218d764 data_ov15_0218d764: ; 0x0218d764 .word data_ov15_0218d758 ; data_ov40_0218d758, data_ov43_0218d758 .global data_ov15_0218d768 data_ov15_0218d768: ; 0x0218d768 .word data_ov15_0218d754 ; data_ov40_0218d754, data_ov43_0218d754 .global data_ov15_0218d76c data_ov15_0218d76c: ; 0x0218d76c .word data_ov15_0218d750 ; data_ov40_0218d750, data_ov43_0218d750 .global data_ov15_0218d770 data_ov15_0218d770: ; 0x0218d770 .word data_ov15_0218d74c ; data_ov40_0218d74c, data_ov43_0218d74c .global data_ov15_0218d774 data_ov15_0218d774: ; 0x0218d774 .word data_ov15_0218d748 ; data_ov40_0218d748, data_ov43_0218d748 .global data_ov15_0218d778 data_ov15_0218d778: ; 0x0218d778 .word data_ov15_0218d744 ; data_ov40_0218d744, data_ov43_0218d744 .global data_ov15_0218d77c data_ov15_0218d77c: ; 0x0218d77c .word data_ov15_0218d740 ; data_ov40_0218d740, data_ov43_0218d740 .global data_ov15_0218d780 data_ov15_0218d780: ; 0x0218d780 .word data_ov15_0218d84c ; data_ov40_0218d84c, data_ov43_0218d84c .global data_ov15_0218d784 data_ov15_0218d784: ; 0x0218d784 .ascii "neck_jnt" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d790 data_ov15_0218d790: ; 0x0218d790 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d794 data_ov15_0218d794: ; 0x0218d794 .ascii "body_chn" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7a0 data_ov15_0218d7a0: ; 0x0218d7a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7a4 data_ov15_0218d7a4: ; 0x0218d7a4 .ascii "cl_RhandA" .byte 0x00, 0x00, 0x00 .global data_ov15_0218d7b0 data_ov15_0218d7b0: ; 0x0218d7b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7b4 data_ov15_0218d7b4: ; 0x0218d7b4 .ascii "cl_LhandA" .byte 0x00, 0x00, 0x00 .global data_ov15_0218d7c0 data_ov15_0218d7c0: ; 0x0218d7c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7c4 data_ov15_0218d7c4: ; 0x0218d7c4 .ascii "swA" .byte 0x00 .global data_ov15_0218d7c8 data_ov15_0218d7c8: ; 0x0218d7c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7cc data_ov15_0218d7cc: ; 0x0218d7cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7d0 data_ov15_0218d7d0: ; 0x0218d7d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7d4 data_ov15_0218d7d4: ; 0x0218d7d4 .ascii "sheath" .byte 0x00, 0x00 .global data_ov15_0218d7dc data_ov15_0218d7dc: ; 0x0218d7dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7e0 data_ov15_0218d7e0: ; 0x0218d7e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7e4 data_ov15_0218d7e4: ; 0x0218d7e4 .ascii "swB" .byte 0x00 .global data_ov15_0218d7e8 data_ov15_0218d7e8: ; 0x0218d7e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7ec data_ov15_0218d7ec: ; 0x0218d7ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7f0 data_ov15_0218d7f0: ; 0x0218d7f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d7f4 data_ov15_0218d7f4: ; 0x0218d7f4 .ascii "sheathB" .byte 0x00 .global data_ov15_0218d7fc data_ov15_0218d7fc: ; 0x0218d7fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d800 data_ov15_0218d800: ; 0x0218d800 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d804 data_ov15_0218d804: ; 0x0218d804 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d808 data_ov15_0218d808: ; 0x0218d808 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d80c data_ov15_0218d80c: ; 0x0218d80c .word func_ov15_0216ee00 .global data_ov15_0218d810 data_ov15_0218d810: ; 0x0218d810 .word func_ov15_0216e0d4 .global data_ov15_0218d814 data_ov15_0218d814: ; 0x0218d814 .word func_ov00_020a960c .global data_ov15_0218d818 data_ov15_0218d818: ; 0x0218d818 .word func_ov00_020a9614 .global data_ov15_0218d81c data_ov15_0218d81c: ; 0x0218d81c .word func_ov00_020a9650 .global data_ov15_0218d820 data_ov15_0218d820: ; 0x0218d820 .word func_ov00_020a96d4 .global data_ov15_0218d824 data_ov15_0218d824: ; 0x0218d824 .word func_ov00_020a9740 .global data_ov15_0218d828 data_ov15_0218d828: ; 0x0218d828 .word func_ov00_020a9764 .global data_ov15_0218d82c data_ov15_0218d82c: ; 0x0218d82c .word func_ov00_020a97d0 .global data_ov15_0218d830 data_ov15_0218d830: ; 0x0218d830 .word func_ov00_020a97e0 .global data_ov15_0218d834 data_ov15_0218d834: ; 0x0218d834 .word func_ov00_020a97f8 .global data_ov15_0218d838 data_ov15_0218d838: ; 0x0218d838 .word func_ov00_020a9864 .global data_ov15_0218d83c data_ov15_0218d83c: ; 0x0218d83c .word func_ov00_020a98bc .global data_ov15_0218d840 data_ov15_0218d840: ; 0x0218d840 .word func_ov00_020a9890 .global data_ov15_0218d844 data_ov15_0218d844: ; 0x0218d844 .word func_ov00_020a9968 .global data_ov15_0218d848 data_ov15_0218d848: ; 0x0218d848 .word func_ov15_0216ebe4 .global data_ov15_0218d84c data_ov15_0218d84c: ; 0x0218d84c .ascii "Player/link_anm/switch/itemget.nsbca" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d874 data_ov15_0218d874: ; 0x0218d874 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d878 data_ov15_0218d878: ; 0x0218d878 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d87c data_ov15_0218d87c: ; 0x0218d87c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d880 data_ov15_0218d880: ; 0x0218d880 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d884 data_ov15_0218d884: ; 0x0218d884 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d888 data_ov15_0218d888: ; 0x0218d888 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d88c data_ov15_0218d88c: ; 0x0218d88c .word func_ov15_0216eed4 ; func_ov28_0216eed4 .global data_ov15_0218d890 data_ov15_0218d890: ; 0x0218d890 .word func_ov15_0216ef0c .global data_ov15_0218d894 data_ov15_0218d894: ; 0x0218d894 .word func_ov15_0216ef4c .global data_ov15_0218d898 data_ov15_0218d898: ; 0x0218d898 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d89c data_ov15_0218d89c: ; 0x0218d89c .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218d8a0 data_ov15_0218d8a0: ; 0x0218d8a0 .word func_ov15_0216eff8 .global data_ov15_0218d8a4 data_ov15_0218d8a4: ; 0x0218d8a4 .word func_ov15_0216f32c ; func_ov19_0216f32c .global data_ov15_0218d8a8 data_ov15_0218d8a8: ; 0x0218d8a8 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d8ac data_ov15_0218d8ac: ; 0x0218d8ac .word func_ov15_0216f340 .global data_ov15_0218d8b0 data_ov15_0218d8b0: ; 0x0218d8b0 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d8b4 data_ov15_0218d8b4: ; 0x0218d8b4 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d8b8 data_ov15_0218d8b8: ; 0x0218d8b8 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d8bc data_ov15_0218d8bc: ; 0x0218d8bc .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d8c0 data_ov15_0218d8c0: ; 0x0218d8c0 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d8c4 data_ov15_0218d8c4: ; 0x0218d8c4 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d8c8 data_ov15_0218d8c8: ; 0x0218d8c8 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d8cc data_ov15_0218d8cc: ; 0x0218d8cc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d8d0 data_ov15_0218d8d0: ; 0x0218d8d0 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d8d4 data_ov15_0218d8d4: ; 0x0218d8d4 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218d8d8 data_ov15_0218d8d8: ; 0x0218d8d8 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d8dc data_ov15_0218d8dc: ; 0x0218d8dc .word _ZN5Actor6GetPosEv .global data_ov15_0218d8e0 data_ov15_0218d8e0: ; 0x0218d8e0 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d8e4 data_ov15_0218d8e4: ; 0x0218d8e4 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d8e8 data_ov15_0218d8e8: ; 0x0218d8e8 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d8ec data_ov15_0218d8ec: ; 0x0218d8ec .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d8f0 data_ov15_0218d8f0: ; 0x0218d8f0 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d8f4 data_ov15_0218d8f4: ; 0x0218d8f4 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d8f8 data_ov15_0218d8f8: ; 0x0218d8f8 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d8fc data_ov15_0218d8fc: ; 0x0218d8fc .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d900 data_ov15_0218d900: ; 0x0218d900 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d904 data_ov15_0218d904: ; 0x0218d904 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d908 data_ov15_0218d908: ; 0x0218d908 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d90c data_ov15_0218d90c: ; 0x0218d90c .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d910 data_ov15_0218d910: ; 0x0218d910 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218d914 data_ov15_0218d914: ; 0x0218d914 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218d918 data_ov15_0218d918: ; 0x0218d918 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218d91c data_ov15_0218d91c: ; 0x0218d91c .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218d920 data_ov15_0218d920: ; 0x0218d920 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218d924 data_ov15_0218d924: ; 0x0218d924 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218d928 data_ov15_0218d928: ; 0x0218d928 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218d92c data_ov15_0218d92c: ; 0x0218d92c .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218d930 data_ov15_0218d930: ; 0x0218d930 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218d934 data_ov15_0218d934: ; 0x0218d934 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218d938 data_ov15_0218d938: ; 0x0218d938 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218d93c data_ov15_0218d93c: ; 0x0218d93c .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218d940 data_ov15_0218d940: ; 0x0218d940 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d944 data_ov15_0218d944: ; 0x0218d944 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d948 data_ov15_0218d948: ; 0x0218d948 .word func_ov00_020c5d34 .global data_ov15_0218d94c data_ov15_0218d94c: ; 0x0218d94c .word func_ov15_02125384 .global data_ov15_0218d950 data_ov15_0218d950: ; 0x0218d950 .word func_ov00_020c5e58 .global data_ov15_0218d954 data_ov15_0218d954: ; 0x0218d954 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d958 data_ov15_0218d958: ; 0x0218d958 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d95c data_ov15_0218d95c: ; 0x0218d95c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218d960 data_ov15_0218d960: ; 0x0218d960 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218d964 data_ov15_0218d964: ; 0x0218d964 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d968 data_ov15_0218d968: ; 0x0218d968 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d96c data_ov15_0218d96c: ; 0x0218d96c .word func_ov15_02172f28 .global data_ov15_0218d970 data_ov15_0218d970: ; 0x0218d970 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d974 data_ov15_0218d974: ; 0x0218d974 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218d978 data_ov15_0218d978: ; 0x0218d978 .word func_ov15_0216fa98 .global data_ov15_0218d97c data_ov15_0218d97c: ; 0x0218d97c .word func_ov15_0216fb50 ; func_ov28_0216fb50 .global data_ov15_0218d980 data_ov15_0218d980: ; 0x0218d980 .word func_ov15_0216fc10 ; func_ov23_0216fc10 .global data_ov15_0218d984 data_ov15_0218d984: ; 0x0218d984 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218d988 data_ov15_0218d988: ; 0x0218d988 .word func_ov15_02173090 .global data_ov15_0218d98c data_ov15_0218d98c: ; 0x0218d98c .word func_ov15_02170660 ; func_ov21_02170660 .global data_ov15_0218d990 data_ov15_0218d990: ; 0x0218d990 .word func_ov15_021706b4 ; func_ov28_021706b4 .global data_ov15_0218d994 data_ov15_0218d994: ; 0x0218d994 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218d998 data_ov15_0218d998: ; 0x0218d998 .word func_ov15_02173034 .global data_ov15_0218d99c data_ov15_0218d99c: ; 0x0218d99c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218d9a0 data_ov15_0218d9a0: ; 0x0218d9a0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218d9a4 data_ov15_0218d9a4: ; 0x0218d9a4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218d9a8 data_ov15_0218d9a8: ; 0x0218d9a8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218d9ac data_ov15_0218d9ac: ; 0x0218d9ac .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218d9b0 data_ov15_0218d9b0: ; 0x0218d9b0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218d9b4 data_ov15_0218d9b4: ; 0x0218d9b4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218d9b8 data_ov15_0218d9b8: ; 0x0218d9b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d9bc data_ov15_0218d9bc: ; 0x0218d9bc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218d9c0 data_ov15_0218d9c0: ; 0x0218d9c0 .word func_ov15_02173070 .global data_ov15_0218d9c4 data_ov15_0218d9c4: ; 0x0218d9c4 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218d9c8 data_ov15_0218d9c8: ; 0x0218d9c8 .word _ZN5Actor6GetPosEv .global data_ov15_0218d9cc data_ov15_0218d9cc: ; 0x0218d9cc .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218d9d0 data_ov15_0218d9d0: ; 0x0218d9d0 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218d9d4 data_ov15_0218d9d4: ; 0x0218d9d4 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218d9d8 data_ov15_0218d9d8: ; 0x0218d9d8 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218d9dc data_ov15_0218d9dc: ; 0x0218d9dc .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218d9e0 data_ov15_0218d9e0: ; 0x0218d9e0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218d9e4 data_ov15_0218d9e4: ; 0x0218d9e4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218d9e8 data_ov15_0218d9e8: ; 0x0218d9e8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218d9ec data_ov15_0218d9ec: ; 0x0218d9ec .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218d9f0 data_ov15_0218d9f0: ; 0x0218d9f0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218d9f4 data_ov15_0218d9f4: ; 0x0218d9f4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218d9f8 data_ov15_0218d9f8: ; 0x0218d9f8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218d9fc data_ov15_0218d9fc: ; 0x0218d9fc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218da00 data_ov15_0218da00: ; 0x0218da00 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218da04 data_ov15_0218da04: ; 0x0218da04 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218da08 data_ov15_0218da08: ; 0x0218da08 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218da0c data_ov15_0218da0c: ; 0x0218da0c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218da10 data_ov15_0218da10: ; 0x0218da10 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218da14 data_ov15_0218da14: ; 0x0218da14 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218da18 data_ov15_0218da18: ; 0x0218da18 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218da1c data_ov15_0218da1c: ; 0x0218da1c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218da20 data_ov15_0218da20: ; 0x0218da20 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218da24 data_ov15_0218da24: ; 0x0218da24 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218da28 data_ov15_0218da28: ; 0x0218da28 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218da2c data_ov15_0218da2c: ; 0x0218da2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218da30 data_ov15_0218da30: ; 0x0218da30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218da34 data_ov15_0218da34: ; 0x0218da34 .word func_ov00_020c5d34 .global data_ov15_0218da38 data_ov15_0218da38: ; 0x0218da38 .word func_ov15_02125384 .global data_ov15_0218da3c data_ov15_0218da3c: ; 0x0218da3c .word func_ov00_020c5e58 .global data_ov15_0218da40 data_ov15_0218da40: ; 0x0218da40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218da44 data_ov15_0218da44: ; 0x0218da44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218da48 data_ov15_0218da48: ; 0x0218da48 .word func_ov15_0216f8d8 ; func_ov29_0216f8d8 .global data_ov15_0218da4c data_ov15_0218da4c: ; 0x0218da4c .word func_ov15_0217371c .global data_ov15_0218da50 data_ov15_0218da50: ; 0x0218da50 .word func_ov00_020a960c .global data_ov15_0218da54 data_ov15_0218da54: ; 0x0218da54 .word func_ov00_020a9614 .global data_ov15_0218da58 data_ov15_0218da58: ; 0x0218da58 .word func_ov00_020a9650 .global data_ov15_0218da5c data_ov15_0218da5c: ; 0x0218da5c .word func_ov00_020a96d4 .global data_ov15_0218da60 data_ov15_0218da60: ; 0x0218da60 .word func_ov00_020a9740 .global data_ov15_0218da64 data_ov15_0218da64: ; 0x0218da64 .word func_ov00_020a9764 .global data_ov15_0218da68 data_ov15_0218da68: ; 0x0218da68 .word func_ov00_020a97d0 .global data_ov15_0218da6c data_ov15_0218da6c: ; 0x0218da6c .word func_ov00_020a97e0 .global data_ov15_0218da70 data_ov15_0218da70: ; 0x0218da70 .word func_ov00_020a97f8 .global data_ov15_0218da74 data_ov15_0218da74: ; 0x0218da74 .word func_ov00_020a9864 .global data_ov15_0218da78 data_ov15_0218da78: ; 0x0218da78 .word func_ov00_020a98bc .global data_ov15_0218da7c data_ov15_0218da7c: ; 0x0218da7c .word func_ov00_020a9890 .global data_ov15_0218da80 data_ov15_0218da80: ; 0x0218da80 .word func_ov00_020a9968 .global data_ov15_0218da84 data_ov15_0218da84: ; 0x0218da84 .word func_ov15_0216f598 ; func_ov24_0216f598 .global data_ov15_0218da88 data_ov15_0218da88: ; 0x0218da88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218da8c data_ov15_0218da8c: ; 0x0218da8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218da90 data_ov15_0218da90: ; 0x0218da90 .word func_ov00_020a9b6c .global data_ov15_0218da94 data_ov15_0218da94: ; 0x0218da94 .word func_ov00_020a9b78 .global data_ov15_0218da98 data_ov15_0218da98: ; 0x0218da98 .ascii "SBS:/massive_eye.nsbtp" .byte 0x00, 0x00 .global data_ov15_0218dab0 data_ov15_0218dab0: ; 0x0218dab0 .ascii "massive_eye" .byte 0x00 .global data_ov15_0218dabc data_ov15_0218dabc: ; 0x0218dabc .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218dac0 data_ov15_0218dac0: ; 0x0218dac0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218dac4 data_ov15_0218dac4: ; 0x0218dac4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218dac8 data_ov15_0218dac8: ; 0x0218dac8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218dacc data_ov15_0218dacc: ; 0x0218dacc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dad0 data_ov15_0218dad0: ; 0x0218dad0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dad4 data_ov15_0218dad4: ; 0x0218dad4 .word func_ov15_021737d0 .global data_ov15_0218dad8 data_ov15_0218dad8: ; 0x0218dad8 .word func_ov15_02173800 .global data_ov15_0218dadc data_ov15_0218dadc: ; 0x0218dadc .word func_ov15_02173838 .global data_ov15_0218dae0 data_ov15_0218dae0: ; 0x0218dae0 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218dae4 data_ov15_0218dae4: ; 0x0218dae4 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218dae8 data_ov15_0218dae8: ; 0x0218dae8 .word func_ov15_02173984 .global data_ov15_0218daec data_ov15_0218daec: ; 0x0218daec .word func_ov15_021739b8 .global data_ov15_0218daf0 data_ov15_0218daf0: ; 0x0218daf0 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218daf4 data_ov15_0218daf4: ; 0x0218daf4 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218daf8 data_ov15_0218daf8: ; 0x0218daf8 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218dafc data_ov15_0218dafc: ; 0x0218dafc .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218db00 data_ov15_0218db00: ; 0x0218db00 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218db04 data_ov15_0218db04: ; 0x0218db04 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218db08 data_ov15_0218db08: ; 0x0218db08 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218db0c data_ov15_0218db0c: ; 0x0218db0c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218db10 data_ov15_0218db10: ; 0x0218db10 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218db14 data_ov15_0218db14: ; 0x0218db14 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218db18 data_ov15_0218db18: ; 0x0218db18 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218db1c data_ov15_0218db1c: ; 0x0218db1c .word func_ov15_02173be8 .global data_ov15_0218db20 data_ov15_0218db20: ; 0x0218db20 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218db24 data_ov15_0218db24: ; 0x0218db24 .word _ZN5Actor6GetPosEv .global data_ov15_0218db28 data_ov15_0218db28: ; 0x0218db28 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218db2c data_ov15_0218db2c: ; 0x0218db2c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218db30 data_ov15_0218db30: ; 0x0218db30 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218db34 data_ov15_0218db34: ; 0x0218db34 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218db38 data_ov15_0218db38: ; 0x0218db38 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218db3c data_ov15_0218db3c: ; 0x0218db3c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218db40 data_ov15_0218db40: ; 0x0218db40 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218db44 data_ov15_0218db44: ; 0x0218db44 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218db48 data_ov15_0218db48: ; 0x0218db48 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218db4c data_ov15_0218db4c: ; 0x0218db4c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218db50 data_ov15_0218db50: ; 0x0218db50 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218db54 data_ov15_0218db54: ; 0x0218db54 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218db58 data_ov15_0218db58: ; 0x0218db58 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218db5c data_ov15_0218db5c: ; 0x0218db5c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218db60 data_ov15_0218db60: ; 0x0218db60 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218db64 data_ov15_0218db64: ; 0x0218db64 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218db68 data_ov15_0218db68: ; 0x0218db68 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218db6c data_ov15_0218db6c: ; 0x0218db6c .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218db70 data_ov15_0218db70: ; 0x0218db70 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218db74 data_ov15_0218db74: ; 0x0218db74 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218db78 data_ov15_0218db78: ; 0x0218db78 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218db7c data_ov15_0218db7c: ; 0x0218db7c .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218db80 data_ov15_0218db80: ; 0x0218db80 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218db84 data_ov15_0218db84: ; 0x0218db84 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218db88 data_ov15_0218db88: ; 0x0218db88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218db8c data_ov15_0218db8c: ; 0x0218db8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218db90 data_ov15_0218db90: ; 0x0218db90 .word func_ov15_021740d0 .global data_ov15_0218db94 data_ov15_0218db94: ; 0x0218db94 .word func_ov15_021740e4 .global data_ov15_0218db98 data_ov15_0218db98: ; 0x0218db98 .word func_ov15_02174100 ; func_ov25_02174100 .global data_ov15_0218db9c data_ov15_0218db9c: ; 0x0218db9c .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218dba0 data_ov15_0218dba0: ; 0x0218dba0 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218dba4 data_ov15_0218dba4: ; 0x0218dba4 .word func_ov15_02174178 .global data_ov15_0218dba8 data_ov15_0218dba8: ; 0x0218dba8 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218dbac data_ov15_0218dbac: ; 0x0218dbac .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218dbb0 data_ov15_0218dbb0: ; 0x0218dbb0 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218dbb4 data_ov15_0218dbb4: ; 0x0218dbb4 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218dbb8 data_ov15_0218dbb8: ; 0x0218dbb8 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218dbbc data_ov15_0218dbbc: ; 0x0218dbbc .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218dbc0 data_ov15_0218dbc0: ; 0x0218dbc0 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218dbc4 data_ov15_0218dbc4: ; 0x0218dbc4 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218dbc8 data_ov15_0218dbc8: ; 0x0218dbc8 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218dbcc data_ov15_0218dbcc: ; 0x0218dbcc .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218dbd0 data_ov15_0218dbd0: ; 0x0218dbd0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218dbd4 data_ov15_0218dbd4: ; 0x0218dbd4 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218dbd8 data_ov15_0218dbd8: ; 0x0218dbd8 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218dbdc data_ov15_0218dbdc: ; 0x0218dbdc .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218dbe0 data_ov15_0218dbe0: ; 0x0218dbe0 .word _ZN5Actor6GetPosEv .global data_ov15_0218dbe4 data_ov15_0218dbe4: ; 0x0218dbe4 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218dbe8 data_ov15_0218dbe8: ; 0x0218dbe8 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218dbec data_ov15_0218dbec: ; 0x0218dbec .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218dbf0 data_ov15_0218dbf0: ; 0x0218dbf0 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218dbf4 data_ov15_0218dbf4: ; 0x0218dbf4 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218dbf8 data_ov15_0218dbf8: ; 0x0218dbf8 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218dbfc data_ov15_0218dbfc: ; 0x0218dbfc .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218dc00 data_ov15_0218dc00: ; 0x0218dc00 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218dc04 data_ov15_0218dc04: ; 0x0218dc04 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218dc08 data_ov15_0218dc08: ; 0x0218dc08 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218dc0c data_ov15_0218dc0c: ; 0x0218dc0c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218dc10 data_ov15_0218dc10: ; 0x0218dc10 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218dc14 data_ov15_0218dc14: ; 0x0218dc14 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218dc18 data_ov15_0218dc18: ; 0x0218dc18 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218dc1c data_ov15_0218dc1c: ; 0x0218dc1c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218dc20 data_ov15_0218dc20: ; 0x0218dc20 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218dc24 data_ov15_0218dc24: ; 0x0218dc24 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218dc28 data_ov15_0218dc28: ; 0x0218dc28 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218dc2c data_ov15_0218dc2c: ; 0x0218dc2c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218dc30 data_ov15_0218dc30: ; 0x0218dc30 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218dc34 data_ov15_0218dc34: ; 0x0218dc34 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218dc38 data_ov15_0218dc38: ; 0x0218dc38 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218dc3c data_ov15_0218dc3c: ; 0x0218dc3c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218dc40 data_ov15_0218dc40: ; 0x0218dc40 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218dc44 data_ov15_0218dc44: ; 0x0218dc44 .ascii "brg" .byte 0x00 .global data_ov15_0218dc48 data_ov15_0218dc48: ; 0x0218dc48 .ascii "fnl" .byte 0x00 .global data_ov15_0218dc4c data_ov15_0218dc4c: ; 0x0218dc4c .ascii "pdl" .byte 0x00 .global data_ov15_0218dc50 data_ov15_0218dc50: ; 0x0218dc50 .ascii "dco" .byte 0x00 .global data_ov15_0218dc54 data_ov15_0218dc54: ; 0x0218dc54 .ascii "can" .byte 0x00 .global data_ov15_0218dc58 data_ov15_0218dc58: ; 0x0218dc58 .ascii "hul" .byte 0x00 .global data_ov15_0218dc5c data_ov15_0218dc5c: ; 0x0218dc5c .ascii "bow" .byte 0x00 .global data_ov15_0218dc60 data_ov15_0218dc60: ; 0x0218dc60 .ascii "anc" .byte 0x00 .global data_ov15_0218dc64 data_ov15_0218dc64: ; 0x0218dc64 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218dc68 data_ov15_0218dc68: ; 0x0218dc68 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218dc6c data_ov15_0218dc6c: ; 0x0218dc6c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218dc70 data_ov15_0218dc70: ; 0x0218dc70 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218dc74 data_ov15_0218dc74: ; 0x0218dc74 .word data_ov15_0218dc60 ; data_ov40_0218dc60 .global data_ov15_0218dc78 data_ov15_0218dc78: ; 0x0218dc78 .word data_ov15_0218dc5c ; data_ov40_0218dc5c .global data_ov15_0218dc7c data_ov15_0218dc7c: ; 0x0218dc7c .word data_ov15_0218dc58 ; data_ov40_0218dc58 .global data_ov15_0218dc80 data_ov15_0218dc80: ; 0x0218dc80 .word data_ov15_0218dc54 ; data_ov40_0218dc54 .global data_ov15_0218dc84 data_ov15_0218dc84: ; 0x0218dc84 .word data_ov15_0218dc50 ; data_ov40_0218dc50 .global data_ov15_0218dc88 data_ov15_0218dc88: ; 0x0218dc88 .word data_ov15_0218dc4c ; data_ov40_0218dc4c .global data_ov15_0218dc8c data_ov15_0218dc8c: ; 0x0218dc8c .word data_ov15_0218dc48 ; data_ov40_0218dc48 .global data_ov15_0218dc90 data_ov15_0218dc90: ; 0x0218dc90 .word data_ov15_0218dc44 ; data_ov40_0218dc44 .global data_ov15_0218dc94 data_ov15_0218dc94: ; 0x0218dc94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dc98 data_ov15_0218dc98: ; 0x0218dc98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dc9c data_ov15_0218dc9c: ; 0x0218dc9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dca0 data_ov15_0218dca0: ; 0x0218dca0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dca4 data_ov15_0218dca4: ; 0x0218dca4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dca8 data_ov15_0218dca8: ; 0x0218dca8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dcac data_ov15_0218dcac: ; 0x0218dcac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dcb0 data_ov15_0218dcb0: ; 0x0218dcb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dcb4 data_ov15_0218dcb4: ; 0x0218dcb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dcb8 data_ov15_0218dcb8: ; 0x0218dcb8 .word func_ov15_02174304 .global data_ov15_0218dcbc data_ov15_0218dcbc: ; 0x0218dcbc .word func_ov15_02174334 .global data_ov15_0218dcc0 data_ov15_0218dcc0: ; 0x0218dcc0 .word func_ov15_0217436c .global data_ov15_0218dcc4 data_ov15_0218dcc4: ; 0x0218dcc4 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218dcc8 data_ov15_0218dcc8: ; 0x0218dcc8 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218dccc data_ov15_0218dccc: ; 0x0218dccc .word func_ov15_02174428 ; func_ov20_02174428 .global data_ov15_0218dcd0 data_ov15_0218dcd0: ; 0x0218dcd0 .word func_ov15_021744e0 .global data_ov15_0218dcd4 data_ov15_0218dcd4: ; 0x0218dcd4 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218dcd8 data_ov15_0218dcd8: ; 0x0218dcd8 .word func_ov15_021744f4 .global data_ov15_0218dcdc data_ov15_0218dcdc: ; 0x0218dcdc .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218dce0 data_ov15_0218dce0: ; 0x0218dce0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218dce4 data_ov15_0218dce4: ; 0x0218dce4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218dce8 data_ov15_0218dce8: ; 0x0218dce8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218dcec data_ov15_0218dcec: ; 0x0218dcec .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218dcf0 data_ov15_0218dcf0: ; 0x0218dcf0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218dcf4 data_ov15_0218dcf4: ; 0x0218dcf4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218dcf8 data_ov15_0218dcf8: ; 0x0218dcf8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218dcfc data_ov15_0218dcfc: ; 0x0218dcfc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218dd00 data_ov15_0218dd00: ; 0x0218dd00 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218dd04 data_ov15_0218dd04: ; 0x0218dd04 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218dd08 data_ov15_0218dd08: ; 0x0218dd08 .word _ZN5Actor6GetPosEv .global data_ov15_0218dd0c data_ov15_0218dd0c: ; 0x0218dd0c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218dd10 data_ov15_0218dd10: ; 0x0218dd10 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218dd14 data_ov15_0218dd14: ; 0x0218dd14 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218dd18 data_ov15_0218dd18: ; 0x0218dd18 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218dd1c data_ov15_0218dd1c: ; 0x0218dd1c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218dd20 data_ov15_0218dd20: ; 0x0218dd20 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218dd24 data_ov15_0218dd24: ; 0x0218dd24 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218dd28 data_ov15_0218dd28: ; 0x0218dd28 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218dd2c data_ov15_0218dd2c: ; 0x0218dd2c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218dd30 data_ov15_0218dd30: ; 0x0218dd30 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218dd34 data_ov15_0218dd34: ; 0x0218dd34 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218dd38 data_ov15_0218dd38: ; 0x0218dd38 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218dd3c data_ov15_0218dd3c: ; 0x0218dd3c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218dd40 data_ov15_0218dd40: ; 0x0218dd40 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218dd44 data_ov15_0218dd44: ; 0x0218dd44 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218dd48 data_ov15_0218dd48: ; 0x0218dd48 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218dd4c data_ov15_0218dd4c: ; 0x0218dd4c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218dd50 data_ov15_0218dd50: ; 0x0218dd50 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218dd54 data_ov15_0218dd54: ; 0x0218dd54 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218dd58 data_ov15_0218dd58: ; 0x0218dd58 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218dd5c data_ov15_0218dd5c: ; 0x0218dd5c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218dd60 data_ov15_0218dd60: ; 0x0218dd60 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218dd64 data_ov15_0218dd64: ; 0x0218dd64 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218dd68 data_ov15_0218dd68: ; 0x0218dd68 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218dd6c data_ov15_0218dd6c: ; 0x0218dd6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dd70 data_ov15_0218dd70: ; 0x0218dd70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dd74 data_ov15_0218dd74: ; 0x0218dd74 .word func_ov15_0217457c ; func_ov23_0217457c, func_ov26_0217457c .global data_ov15_0218dd78 data_ov15_0218dd78: ; 0x0218dd78 .word func_ov15_021745ac .global data_ov15_0218dd7c data_ov15_0218dd7c: ; 0x0218dd7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dd80 data_ov15_0218dd80: ; 0x0218dd80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dd84 data_ov15_0218dd84: ; 0x0218dd84 .word func_ov15_02174aac .global data_ov15_0218dd88 data_ov15_0218dd88: ; 0x0218dd88 .word func_ov15_02174af8 .global data_ov15_0218dd8c data_ov15_0218dd8c: ; 0x0218dd8c .word func_ov15_02174b10 .global data_ov15_0218dd90 data_ov15_0218dd90: ; 0x0218dd90 .word func_ov15_02174b48 .global data_ov15_0218dd94 data_ov15_0218dd94: ; 0x0218dd94 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov15_0218dd98 data_ov15_0218dd98: ; 0x0218dd98 .byte 0x40, 0x00, 0x00, 0x00 .global data_ov15_0218dd9c data_ov15_0218dd9c: ; 0x0218dd9c .byte 0x20, 0x00, 0x00, 0x00 .global data_ov15_0218dda0 data_ov15_0218dda0: ; 0x0218dda0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dda4 data_ov15_0218dda4: ; 0x0218dda4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dda8 data_ov15_0218dda8: ; 0x0218dda8 .word func_ov00_020c5d34 .global data_ov15_0218ddac data_ov15_0218ddac: ; 0x0218ddac .word func_ov15_02125384 .global data_ov15_0218ddb0 data_ov15_0218ddb0: ; 0x0218ddb0 .word func_ov00_020c5e58 .global data_ov15_0218ddb4 data_ov15_0218ddb4: ; 0x0218ddb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddb8 data_ov15_0218ddb8: ; 0x0218ddb8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddbc data_ov15_0218ddbc: ; 0x0218ddbc .word func_ov00_020a9b6c .global data_ov15_0218ddc0 data_ov15_0218ddc0: ; 0x0218ddc0 .word func_ov00_020a9b78 .global data_ov15_0218ddc4 data_ov15_0218ddc4: ; 0x0218ddc4 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ddc8 data_ov15_0218ddc8: ; 0x0218ddc8 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ddcc data_ov15_0218ddcc: ; 0x0218ddcc .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218ddd0 data_ov15_0218ddd0: ; 0x0218ddd0 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218ddd4 data_ov15_0218ddd4: ; 0x0218ddd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddd8 data_ov15_0218ddd8: ; 0x0218ddd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dddc data_ov15_0218dddc: ; 0x0218dddc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dde0 data_ov15_0218dde0: ; 0x0218dde0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dde4 data_ov15_0218dde4: ; 0x0218dde4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dde8 data_ov15_0218dde8: ; 0x0218dde8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddec data_ov15_0218ddec: ; 0x0218ddec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddf0 data_ov15_0218ddf0: ; 0x0218ddf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddf4 data_ov15_0218ddf4: ; 0x0218ddf4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddf8 data_ov15_0218ddf8: ; 0x0218ddf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ddfc data_ov15_0218ddfc: ; 0x0218ddfc .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_0218de00 data_ov15_0218de00: ; 0x0218de00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218de04 data_ov15_0218de04: ; 0x0218de04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218de08 data_ov15_0218de08: ; 0x0218de08 .word func_ov15_02177f34 .global data_ov15_0218de0c data_ov15_0218de0c: ; 0x0218de0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218de10 data_ov15_0218de10: ; 0x0218de10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218de14 data_ov15_0218de14: ; 0x0218de14 .word func_ov15_021776c4 .global data_ov15_0218de18 data_ov15_0218de18: ; 0x0218de18 .word func_ov15_02177808 .global data_ov15_0218de1c data_ov15_0218de1c: ; 0x0218de1c .word func_ov15_02177964 .global data_ov15_0218de20 data_ov15_0218de20: ; 0x0218de20 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218de24 data_ov15_0218de24: ; 0x0218de24 .word func_ov15_021796b4 ; data_ov20_021796b4, data_ov22_021796b4, data_ov26_021796b4, data_ov27_021796b4, data_ov28_021796b4 .global data_ov15_0218de28 data_ov15_0218de28: ; 0x0218de28 .word func_ov15_021781c0 ; func_ov27_021781c0 .global data_ov15_0218de2c data_ov15_0218de2c: ; 0x0218de2c .word func_ov15_02178258 ; func_ov20_02178258, data_ov28_02178258 .global data_ov15_0218de30 data_ov15_0218de30: ; 0x0218de30 .word func_ov15_02178ff8 ; data_ov20_02178ff8, data_ov22_02178ff8, data_ov27_02178ff8, data_ov28_02178ff8 .global data_ov15_0218de34 data_ov15_0218de34: ; 0x0218de34 .word func_ov15_02178d74 ; data_ov20_02178d74, data_ov27_02178d74, data_ov28_02178d74 .global data_ov15_0218de38 data_ov15_0218de38: ; 0x0218de38 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218de3c data_ov15_0218de3c: ; 0x0218de3c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218de40 data_ov15_0218de40: ; 0x0218de40 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218de44 data_ov15_0218de44: ; 0x0218de44 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218de48 data_ov15_0218de48: ; 0x0218de48 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218de4c data_ov15_0218de4c: ; 0x0218de4c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218de50 data_ov15_0218de50: ; 0x0218de50 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218de54 data_ov15_0218de54: ; 0x0218de54 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218de58 data_ov15_0218de58: ; 0x0218de58 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218de5c data_ov15_0218de5c: ; 0x0218de5c .word func_ov15_0217934c ; data_ov20_0217934c, data_ov22_0217934c, data_ov23_0217934c, data_ov25_0217934c, data_ov26_0217934c, data_ov28_0217934c, data_ov29_0217934c .global data_ov15_0218de60 data_ov15_0218de60: ; 0x0218de60 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218de64 data_ov15_0218de64: ; 0x0218de64 .word _ZN5Actor6GetPosEv .global data_ov15_0218de68 data_ov15_0218de68: ; 0x0218de68 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218de6c data_ov15_0218de6c: ; 0x0218de6c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218de70 data_ov15_0218de70: ; 0x0218de70 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218de74 data_ov15_0218de74: ; 0x0218de74 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218de78 data_ov15_0218de78: ; 0x0218de78 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218de7c data_ov15_0218de7c: ; 0x0218de7c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218de80 data_ov15_0218de80: ; 0x0218de80 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218de84 data_ov15_0218de84: ; 0x0218de84 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218de88 data_ov15_0218de88: ; 0x0218de88 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218de8c data_ov15_0218de8c: ; 0x0218de8c .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218de90 data_ov15_0218de90: ; 0x0218de90 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218de94 data_ov15_0218de94: ; 0x0218de94 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218de98 data_ov15_0218de98: ; 0x0218de98 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218de9c data_ov15_0218de9c: ; 0x0218de9c .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218dea0 data_ov15_0218dea0: ; 0x0218dea0 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218dea4 data_ov15_0218dea4: ; 0x0218dea4 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218dea8 data_ov15_0218dea8: ; 0x0218dea8 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218deac data_ov15_0218deac: ; 0x0218deac .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218deb0 data_ov15_0218deb0: ; 0x0218deb0 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218deb4 data_ov15_0218deb4: ; 0x0218deb4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218deb8 data_ov15_0218deb8: ; 0x0218deb8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218debc data_ov15_0218debc: ; 0x0218debc .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218dec0 data_ov15_0218dec0: ; 0x0218dec0 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218dec4 data_ov15_0218dec4: ; 0x0218dec4 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218dec8 data_ov15_0218dec8: ; 0x0218dec8 .word func_ov15_02178148 ; data_ov28_02178148 .global data_ov15_0218decc data_ov15_0218decc: ; 0x0218decc .word func_ov15_0217ab98 ; data_ov23_0217ab98, data_ov24_0217ab98, data_ov26_0217ab98, data_ov29_0217ab98 .global data_ov15_0218ded0 data_ov15_0218ded0: ; 0x0218ded0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ded4 data_ov15_0218ded4: ; 0x0218ded4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ded8 data_ov15_0218ded8: ; 0x0218ded8 .word func_ov15_021776b0 .global data_ov15_0218dedc data_ov15_0218dedc: ; 0x0218dedc .word func_ov15_0217ab7c ; data_ov23_0217ab7c, data_ov24_0217ab7c, data_ov26_0217ab7c, data_ov29_0217ab7c, data_ov61_0217ab7c .global data_ov15_0218dee0 data_ov15_0218dee0: ; 0x0218dee0 .word func_ov15_021773dc ; data_ov19_021773dc .global data_ov15_0218dee4 data_ov15_0218dee4: ; 0x0218dee4 .word func_ov15_0217740c ; data_ov19_0217740c, func_ov22_0217740c .global data_ov15_0218dee8 data_ov15_0218dee8: ; 0x0218dee8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218deec data_ov15_0218deec: ; 0x0218deec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218def0 data_ov15_0218def0: ; 0x0218def0 .word func_ov00_020c5d34 .global data_ov15_0218def4 data_ov15_0218def4: ; 0x0218def4 .word func_ov15_02125384 .global data_ov15_0218def8 data_ov15_0218def8: ; 0x0218def8 .word func_ov00_020c5e58 .global data_ov15_0218defc data_ov15_0218defc: ; 0x0218defc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df00 data_ov15_0218df00: ; 0x0218df00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df04 data_ov15_0218df04: ; 0x0218df04 .word func_ov00_020a9b0c .global data_ov15_0218df08 data_ov15_0218df08: ; 0x0218df08 .word func_ov00_020a9b18 .global data_ov15_0218df0c data_ov15_0218df0c: ; 0x0218df0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df10 data_ov15_0218df10: ; 0x0218df10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df14 data_ov15_0218df14: ; 0x0218df14 .word func_ov15_02177534 ; data_ov19_02177534 .global data_ov15_0218df18 data_ov15_0218df18: ; 0x0218df18 .word func_ov15_0217ab60 ; data_ov23_0217ab60, data_ov24_0217ab60, data_ov26_0217ab60, data_ov29_0217ab60 .global data_ov15_0218df1c data_ov15_0218df1c: ; 0x0218df1c .word func_ov00_020a960c .global data_ov15_0218df20 data_ov15_0218df20: ; 0x0218df20 .word func_ov00_020a9614 .global data_ov15_0218df24 data_ov15_0218df24: ; 0x0218df24 .word func_ov00_020a9650 .global data_ov15_0218df28 data_ov15_0218df28: ; 0x0218df28 .word func_ov00_020a96d4 .global data_ov15_0218df2c data_ov15_0218df2c: ; 0x0218df2c .word func_ov00_020a9740 .global data_ov15_0218df30 data_ov15_0218df30: ; 0x0218df30 .word func_ov00_020a9764 .global data_ov15_0218df34 data_ov15_0218df34: ; 0x0218df34 .word func_ov00_020a97d0 .global data_ov15_0218df38 data_ov15_0218df38: ; 0x0218df38 .word func_ov00_020a97e0 .global data_ov15_0218df3c data_ov15_0218df3c: ; 0x0218df3c .word func_ov00_020a97f8 .global data_ov15_0218df40 data_ov15_0218df40: ; 0x0218df40 .word func_ov00_020a9864 .global data_ov15_0218df44 data_ov15_0218df44: ; 0x0218df44 .word func_ov00_020a98bc .global data_ov15_0218df48 data_ov15_0218df48: ; 0x0218df48 .word func_ov00_020a9890 .global data_ov15_0218df4c data_ov15_0218df4c: ; 0x0218df4c .word func_ov00_020a9968 .global data_ov15_0218df50 data_ov15_0218df50: ; 0x0218df50 .word func_ov15_02177464 ; data_ov19_02177464 .global data_ov15_0218df54 data_ov15_0218df54: ; 0x0218df54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df58 data_ov15_0218df58: ; 0x0218df58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df5c data_ov15_0218df5c: ; 0x0218df5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df60 data_ov15_0218df60: ; 0x0218df60 .word func_ov00_02081f58 .global data_ov15_0218df64 data_ov15_0218df64: ; 0x0218df64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df68 data_ov15_0218df68: ; 0x0218df68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df6c data_ov15_0218df6c: ; 0x0218df6c .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218df70 data_ov15_0218df70: ; 0x0218df70 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218df74 data_ov15_0218df74: ; 0x0218df74 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218df78 data_ov15_0218df78: ; 0x0218df78 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218df7c data_ov15_0218df7c: ; 0x0218df7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df80 data_ov15_0218df80: ; 0x0218df80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df84 data_ov15_0218df84: ; 0x0218df84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df88 data_ov15_0218df88: ; 0x0218df88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df8c data_ov15_0218df8c: ; 0x0218df8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df90 data_ov15_0218df90: ; 0x0218df90 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df94 data_ov15_0218df94: ; 0x0218df94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df98 data_ov15_0218df98: ; 0x0218df98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218df9c data_ov15_0218df9c: ; 0x0218df9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfa0 data_ov15_0218dfa0: ; 0x0218dfa0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfa4 data_ov15_0218dfa4: ; 0x0218dfa4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfa8 data_ov15_0218dfa8: ; 0x0218dfa8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfac data_ov15_0218dfac: ; 0x0218dfac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfb0 data_ov15_0218dfb0: ; 0x0218dfb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfb4 data_ov15_0218dfb4: ; 0x0218dfb4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfb8 data_ov15_0218dfb8: ; 0x0218dfb8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfbc data_ov15_0218dfbc: ; 0x0218dfbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfc0 data_ov15_0218dfc0: ; 0x0218dfc0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfc4 data_ov15_0218dfc4: ; 0x0218dfc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfc8 data_ov15_0218dfc8: ; 0x0218dfc8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfcc data_ov15_0218dfcc: ; 0x0218dfcc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfd0 data_ov15_0218dfd0: ; 0x0218dfd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfd4 data_ov15_0218dfd4: ; 0x0218dfd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfd8 data_ov15_0218dfd8: ; 0x0218dfd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfdc data_ov15_0218dfdc: ; 0x0218dfdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfe0 data_ov15_0218dfe0: ; 0x0218dfe0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfe4 data_ov15_0218dfe4: ; 0x0218dfe4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfe8 data_ov15_0218dfe8: ; 0x0218dfe8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dfec data_ov15_0218dfec: ; 0x0218dfec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dff0 data_ov15_0218dff0: ; 0x0218dff0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dff4 data_ov15_0218dff4: ; 0x0218dff4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dff8 data_ov15_0218dff8: ; 0x0218dff8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218dffc data_ov15_0218dffc: ; 0x0218dffc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e000 data_ov15_0218e000: ; 0x0218e000 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e004 data_ov15_0218e004: ; 0x0218e004 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e008 data_ov15_0218e008: ; 0x0218e008 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e00c data_ov15_0218e00c: ; 0x0218e00c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e010 data_ov15_0218e010: ; 0x0218e010 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e014 data_ov15_0218e014: ; 0x0218e014 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e018 data_ov15_0218e018: ; 0x0218e018 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e01c data_ov15_0218e01c: ; 0x0218e01c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e020 data_ov15_0218e020: ; 0x0218e020 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e024 data_ov15_0218e024: ; 0x0218e024 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e028 data_ov15_0218e028: ; 0x0218e028 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e02c data_ov15_0218e02c: ; 0x0218e02c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e030 data_ov15_0218e030: ; 0x0218e030 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e034 data_ov15_0218e034: ; 0x0218e034 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e038 data_ov15_0218e038: ; 0x0218e038 .word func_ov15_0217aea4 ; data_ov24_0217aea4, data_ov26_0217aea4, data_ov29_0217aea4 .global data_ov15_0218e03c data_ov15_0218e03c: ; 0x0218e03c .word func_ov15_0217aed4 ; data_ov24_0217aed4, data_ov26_0217aed4, data_ov29_0217aed4 .global data_ov15_0218e040 data_ov15_0218e040: ; 0x0218e040 .word func_ov15_0217af0c ; data_ov24_0217af0c, data_ov26_0217af0c, data_ov29_0217af0c .global data_ov15_0218e044 data_ov15_0218e044: ; 0x0218e044 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218e048 data_ov15_0218e048: ; 0x0218e048 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218e04c data_ov15_0218e04c: ; 0x0218e04c .word func_ov15_0217b7d8 ; data_ov29_0217b7d8, data_ov61_0217b7d8 .global data_ov15_0218e050 data_ov15_0218e050: ; 0x0218e050 .word func_ov15_0217b828 ; data_ov29_0217b828 .global data_ov15_0218e054 data_ov15_0218e054: ; 0x0218e054 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218e058 data_ov15_0218e058: ; 0x0218e058 .word func_ov15_0217b848 ; data_ov29_0217b848 .global data_ov15_0218e05c data_ov15_0218e05c: ; 0x0218e05c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218e060 data_ov15_0218e060: ; 0x0218e060 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218e064 data_ov15_0218e064: ; 0x0218e064 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218e068 data_ov15_0218e068: ; 0x0218e068 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218e06c data_ov15_0218e06c: ; 0x0218e06c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218e070 data_ov15_0218e070: ; 0x0218e070 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218e074 data_ov15_0218e074: ; 0x0218e074 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218e078 data_ov15_0218e078: ; 0x0218e078 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e07c data_ov15_0218e07c: ; 0x0218e07c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218e080 data_ov15_0218e080: ; 0x0218e080 .word func_ov15_0217bacc ; data_ov29_0217bacc, data_ov61_0217bacc .global data_ov15_0218e084 data_ov15_0218e084: ; 0x0218e084 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218e088 data_ov15_0218e088: ; 0x0218e088 .word _ZN5Actor6GetPosEv .global data_ov15_0218e08c data_ov15_0218e08c: ; 0x0218e08c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218e090 data_ov15_0218e090: ; 0x0218e090 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218e094 data_ov15_0218e094: ; 0x0218e094 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218e098 data_ov15_0218e098: ; 0x0218e098 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218e09c data_ov15_0218e09c: ; 0x0218e09c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218e0a0 data_ov15_0218e0a0: ; 0x0218e0a0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218e0a4 data_ov15_0218e0a4: ; 0x0218e0a4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218e0a8 data_ov15_0218e0a8: ; 0x0218e0a8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218e0ac data_ov15_0218e0ac: ; 0x0218e0ac .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218e0b0 data_ov15_0218e0b0: ; 0x0218e0b0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218e0b4 data_ov15_0218e0b4: ; 0x0218e0b4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218e0b8 data_ov15_0218e0b8: ; 0x0218e0b8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218e0bc data_ov15_0218e0bc: ; 0x0218e0bc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218e0c0 data_ov15_0218e0c0: ; 0x0218e0c0 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218e0c4 data_ov15_0218e0c4: ; 0x0218e0c4 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218e0c8 data_ov15_0218e0c8: ; 0x0218e0c8 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218e0cc data_ov15_0218e0cc: ; 0x0218e0cc .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218e0d0 data_ov15_0218e0d0: ; 0x0218e0d0 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218e0d4 data_ov15_0218e0d4: ; 0x0218e0d4 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218e0d8 data_ov15_0218e0d8: ; 0x0218e0d8 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218e0dc data_ov15_0218e0dc: ; 0x0218e0dc .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218e0e0 data_ov15_0218e0e0: ; 0x0218e0e0 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218e0e4 data_ov15_0218e0e4: ; 0x0218e0e4 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218e0e8 data_ov15_0218e0e8: ; 0x0218e0e8 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218e0ec data_ov15_0218e0ec: ; 0x0218e0ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e0f0 data_ov15_0218e0f0: ; 0x0218e0f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e0f4 data_ov15_0218e0f4: ; 0x0218e0f4 .word func_ov00_020c5d34 .global data_ov15_0218e0f8 data_ov15_0218e0f8: ; 0x0218e0f8 .word func_ov15_0217ae54 ; data_ov24_0217ae54, data_ov26_0217ae54, data_ov29_0217ae54 .global data_ov15_0218e0fc data_ov15_0218e0fc: ; 0x0218e0fc .word func_ov00_020c5e58 .global data_ov15_0218e100 data_ov15_0218e100: ; 0x0218e100 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e104 data_ov15_0218e104: ; 0x0218e104 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e108 data_ov15_0218e108: ; 0x0218e108 .word func_ov00_020a9aec .global data_ov15_0218e10c data_ov15_0218e10c: ; 0x0218e10c .word func_ov00_020a9af8 .global data_ov15_0218e110 data_ov15_0218e110: ; 0x0218e110 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e114 data_ov15_0218e114: ; 0x0218e114 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e118 data_ov15_0218e118: ; 0x0218e118 .word func_ov15_0217ad80 ; data_ov24_0217ad80, data_ov26_0217ad80, data_ov29_0217ad80 .global data_ov15_0218e11c data_ov15_0218e11c: ; 0x0218e11c .word func_ov15_0217c010 .global data_ov15_0218e120 data_ov15_0218e120: ; 0x0218e120 .word func_ov00_020a960c .global data_ov15_0218e124 data_ov15_0218e124: ; 0x0218e124 .word func_ov00_020a9614 .global data_ov15_0218e128 data_ov15_0218e128: ; 0x0218e128 .word func_ov00_020a9650 .global data_ov15_0218e12c data_ov15_0218e12c: ; 0x0218e12c .word func_ov00_020a96d4 .global data_ov15_0218e130 data_ov15_0218e130: ; 0x0218e130 .word func_ov00_020a9740 .global data_ov15_0218e134 data_ov15_0218e134: ; 0x0218e134 .word func_ov00_020a9764 .global data_ov15_0218e138 data_ov15_0218e138: ; 0x0218e138 .word func_ov00_020a97d0 .global data_ov15_0218e13c data_ov15_0218e13c: ; 0x0218e13c .word func_ov00_020a97e0 .global data_ov15_0218e140 data_ov15_0218e140: ; 0x0218e140 .word func_ov00_020a97f8 .global data_ov15_0218e144 data_ov15_0218e144: ; 0x0218e144 .word func_ov00_020a9864 .global data_ov15_0218e148 data_ov15_0218e148: ; 0x0218e148 .word func_ov00_020a98bc .global data_ov15_0218e14c data_ov15_0218e14c: ; 0x0218e14c .word func_ov00_020a9890 .global data_ov15_0218e150 data_ov15_0218e150: ; 0x0218e150 .word func_ov00_020a9968 .global data_ov15_0218e154 data_ov15_0218e154: ; 0x0218e154 .word func_ov15_0217ac58 ; data_ov23_0217ac58, data_ov24_0217ac58, data_ov26_0217ac58, data_ov29_0217ac58, data_ov61_0217ac58 .global data_ov15_0218e158 data_ov15_0218e158: ; 0x0218e158 .ascii "MD2:/wait1.nsbta" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e16c data_ov15_0218e16c: ; 0x0218e16c .ascii "MD3:/wait1.nsbta" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e180 data_ov15_0218e180: ; 0x0218e180 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_0218e188 data_ov15_0218e188: ; 0x0218e188 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218e18c data_ov15_0218e18c: ; 0x0218e18c .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218e190 data_ov15_0218e190: ; 0x0218e190 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218e194 data_ov15_0218e194: ; 0x0218e194 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218e198 data_ov15_0218e198: ; 0x0218e198 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e19c data_ov15_0218e19c: ; 0x0218e19c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e1a0 data_ov15_0218e1a0: ; 0x0218e1a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e1a4 data_ov15_0218e1a4: ; 0x0218e1a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e1a8 data_ov15_0218e1a8: ; 0x0218e1a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e1ac data_ov15_0218e1ac: ; 0x0218e1ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e1b0 data_ov15_0218e1b0: ; 0x0218e1b0 .word func_ov15_0217c190 ; func_ov32_0217c190 .global data_ov15_0218e1b4 data_ov15_0218e1b4: ; 0x0218e1b4 .word func_ov15_0217c1d8 .global data_ov15_0218e1b8 data_ov15_0218e1b8: ; 0x0218e1b8 .word func_ov15_0217c228 ; func_ov33_0217c228 .global data_ov15_0218e1bc data_ov15_0218e1bc: ; 0x0218e1bc .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218e1c0 data_ov15_0218e1c0: ; 0x0218e1c0 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218e1c4 data_ov15_0218e1c4: ; 0x0218e1c4 .word func_ov15_0217c67c .global data_ov15_0218e1c8 data_ov15_0218e1c8: ; 0x0218e1c8 .word func_ov15_0217c7f8 .global data_ov15_0218e1cc data_ov15_0218e1cc: ; 0x0218e1cc .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218e1d0 data_ov15_0218e1d0: ; 0x0218e1d0 .word func_ov15_0217d21c .global data_ov15_0218e1d4 data_ov15_0218e1d4: ; 0x0218e1d4 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218e1d8 data_ov15_0218e1d8: ; 0x0218e1d8 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218e1dc data_ov15_0218e1dc: ; 0x0218e1dc .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218e1e0 data_ov15_0218e1e0: ; 0x0218e1e0 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218e1e4 data_ov15_0218e1e4: ; 0x0218e1e4 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218e1e8 data_ov15_0218e1e8: ; 0x0218e1e8 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218e1ec data_ov15_0218e1ec: ; 0x0218e1ec .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218e1f0 data_ov15_0218e1f0: ; 0x0218e1f0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e1f4 data_ov15_0218e1f4: ; 0x0218e1f4 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218e1f8 data_ov15_0218e1f8: ; 0x0218e1f8 .word func_ov15_0217d288 .global data_ov15_0218e1fc data_ov15_0218e1fc: ; 0x0218e1fc .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218e200 data_ov15_0218e200: ; 0x0218e200 .word _ZN5Actor6GetPosEv .global data_ov15_0218e204 data_ov15_0218e204: ; 0x0218e204 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218e208 data_ov15_0218e208: ; 0x0218e208 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218e20c data_ov15_0218e20c: ; 0x0218e20c .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218e210 data_ov15_0218e210: ; 0x0218e210 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218e214 data_ov15_0218e214: ; 0x0218e214 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218e218 data_ov15_0218e218: ; 0x0218e218 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218e21c data_ov15_0218e21c: ; 0x0218e21c .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218e220 data_ov15_0218e220: ; 0x0218e220 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218e224 data_ov15_0218e224: ; 0x0218e224 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218e228 data_ov15_0218e228: ; 0x0218e228 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218e22c data_ov15_0218e22c: ; 0x0218e22c .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218e230 data_ov15_0218e230: ; 0x0218e230 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218e234 data_ov15_0218e234: ; 0x0218e234 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218e238 data_ov15_0218e238: ; 0x0218e238 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218e23c data_ov15_0218e23c: ; 0x0218e23c .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218e240 data_ov15_0218e240: ; 0x0218e240 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218e244 data_ov15_0218e244: ; 0x0218e244 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218e248 data_ov15_0218e248: ; 0x0218e248 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218e24c data_ov15_0218e24c: ; 0x0218e24c .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218e250 data_ov15_0218e250: ; 0x0218e250 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218e254 data_ov15_0218e254: ; 0x0218e254 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218e258 data_ov15_0218e258: ; 0x0218e258 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218e25c data_ov15_0218e25c: ; 0x0218e25c .word _ZN5Actor8vfunc_acEv .global data_ov15_0218e260 data_ov15_0218e260: ; 0x0218e260 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218e264 data_ov15_0218e264: ; 0x0218e264 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e268 data_ov15_0218e268: ; 0x0218e268 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e26c data_ov15_0218e26c: ; 0x0218e26c .word func_ov00_020c5d34 .global data_ov15_0218e270 data_ov15_0218e270: ; 0x0218e270 .word func_ov15_0217c11c ; func_ov34_0217c11c .global data_ov15_0218e274 data_ov15_0218e274: ; 0x0218e274 .word func_ov00_020c5e58 .global data_ov15_0218e278 data_ov15_0218e278: ; 0x0218e278 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e27c data_ov15_0218e27c: ; 0x0218e27c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e280 data_ov15_0218e280: ; 0x0218e280 .word func_ov00_020a9acc .global data_ov15_0218e284 data_ov15_0218e284: ; 0x0218e284 .word func_ov00_020a9ad8 .global data_ov15_0218e288 data_ov15_0218e288: ; 0x0218e288 .ascii "TR1:/wait1.nsbta" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e29c data_ov15_0218e29c: ; 0x0218e29c .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov15_0218e2a4 data_ov15_0218e2a4: ; 0x0218e2a4 .byte 0xf2, 0xff, 0xff, 0xff .global data_ov15_0218e2a8 data_ov15_0218e2a8: ; 0x0218e2a8 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2ac data_ov15_0218e2ac: ; 0x0218e2ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e2b0 data_ov15_0218e2b0: ; 0x0218e2b0 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_0218e2b4 data_ov15_0218e2b4: ; 0x0218e2b4 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov15_0218e2b8 data_ov15_0218e2b8: ; 0x0218e2b8 .byte 0x06, 0x00, 0x00, 0x00 .global data_ov15_0218e2bc data_ov15_0218e2bc: ; 0x0218e2bc .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e2c0 data_ov15_0218e2c0: ; 0x0218e2c0 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e2c4 data_ov15_0218e2c4: ; 0x0218e2c4 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e2c8 data_ov15_0218e2c8: ; 0x0218e2c8 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e2cc data_ov15_0218e2cc: ; 0x0218e2cc .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e2d0 data_ov15_0218e2d0: ; 0x0218e2d0 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e2d4 data_ov15_0218e2d4: ; 0x0218e2d4 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2d8 data_ov15_0218e2d8: ; 0x0218e2d8 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2dc data_ov15_0218e2dc: ; 0x0218e2dc .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2e0 data_ov15_0218e2e0: ; 0x0218e2e0 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2e4 data_ov15_0218e2e4: ; 0x0218e2e4 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2e8 data_ov15_0218e2e8: ; 0x0218e2e8 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2ec data_ov15_0218e2ec: ; 0x0218e2ec .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e2f0 data_ov15_0218e2f0: ; 0x0218e2f0 .byte 0x0f, 0x00, 0x00, 0x00 .global data_ov15_0218e2f4 data_ov15_0218e2f4: ; 0x0218e2f4 .byte 0x10, 0x00, 0x00, 0x00 .global data_ov15_0218e2f8 data_ov15_0218e2f8: ; 0x0218e2f8 .byte 0x11, 0x00, 0x00, 0x00 .global data_ov15_0218e2fc data_ov15_0218e2fc: ; 0x0218e2fc .byte 0x13, 0x00, 0x00, 0x00 .global data_ov15_0218e300 data_ov15_0218e300: ; 0x0218e300 .byte 0x13, 0x00, 0x00, 0x00 .global data_ov15_0218e304 data_ov15_0218e304: ; 0x0218e304 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_0218e308 data_ov15_0218e308: ; 0x0218e308 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_0218e30c data_ov15_0218e30c: ; 0x0218e30c .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_0218e310 data_ov15_0218e310: ; 0x0218e310 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_0218e314 data_ov15_0218e314: ; 0x0218e314 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_0218e318 data_ov15_0218e318: ; 0x0218e318 .byte 0x14, 0x00, 0x00, 0x00 .global data_ov15_0218e31c data_ov15_0218e31c: ; 0x0218e31c .byte 0x13, 0x00, 0x00, 0x00 .global data_ov15_0218e320 data_ov15_0218e320: ; 0x0218e320 .byte 0xf2, 0xff, 0xff, 0xff .global data_ov15_0218e324 data_ov15_0218e324: ; 0x0218e324 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e328 data_ov15_0218e328: ; 0x0218e328 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov15_0218e32c data_ov15_0218e32c: ; 0x0218e32c .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e330 data_ov15_0218e330: ; 0x0218e330 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e334 data_ov15_0218e334: ; 0x0218e334 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e338 data_ov15_0218e338: ; 0x0218e338 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e33c data_ov15_0218e33c: ; 0x0218e33c .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e340 data_ov15_0218e340: ; 0x0218e340 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e344 data_ov15_0218e344: ; 0x0218e344 .byte 0x0e, 0x00, 0x00, 0x00 .global data_ov15_0218e348 data_ov15_0218e348: ; 0x0218e348 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e34c data_ov15_0218e34c: ; 0x0218e34c .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e350 data_ov15_0218e350: ; 0x0218e350 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e354 data_ov15_0218e354: ; 0x0218e354 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e358 data_ov15_0218e358: ; 0x0218e358 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov15_0218e35c data_ov15_0218e35c: ; 0x0218e35c .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e360 data_ov15_0218e360: ; 0x0218e360 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e364 data_ov15_0218e364: ; 0x0218e364 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e368 data_ov15_0218e368: ; 0x0218e368 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e36c data_ov15_0218e36c: ; 0x0218e36c .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e370 data_ov15_0218e370: ; 0x0218e370 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e374 data_ov15_0218e374: ; 0x0218e374 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e378 data_ov15_0218e378: ; 0x0218e378 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e37c data_ov15_0218e37c: ; 0x0218e37c .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e380 data_ov15_0218e380: ; 0x0218e380 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e384 data_ov15_0218e384: ; 0x0218e384 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e388 data_ov15_0218e388: ; 0x0218e388 .byte 0x06, 0x00, 0x00, 0x00 .global data_ov15_0218e38c data_ov15_0218e38c: ; 0x0218e38c .byte 0x05, 0x00, 0x00, 0x00 .global data_ov15_0218e390 data_ov15_0218e390: ; 0x0218e390 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov15_0218e394 data_ov15_0218e394: ; 0x0218e394 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov15_0218e398 data_ov15_0218e398: ; 0x0218e398 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_0218e39c data_ov15_0218e39c: ; 0x0218e39c .byte 0xff, 0xff, 0xff, 0xff .global data_ov15_0218e3a0 data_ov15_0218e3a0: ; 0x0218e3a0 .byte 0x16, 0x00, 0x00, 0x00 .global data_ov15_0218e3a4 data_ov15_0218e3a4: ; 0x0218e3a4 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e3a8 data_ov15_0218e3a8: ; 0x0218e3a8 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e3ac data_ov15_0218e3ac: ; 0x0218e3ac .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e3b0 data_ov15_0218e3b0: ; 0x0218e3b0 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e3b4 data_ov15_0218e3b4: ; 0x0218e3b4 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e3b8 data_ov15_0218e3b8: ; 0x0218e3b8 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e3bc data_ov15_0218e3bc: ; 0x0218e3bc .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e3c0 data_ov15_0218e3c0: ; 0x0218e3c0 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e3c4 data_ov15_0218e3c4: ; 0x0218e3c4 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e3c8 data_ov15_0218e3c8: ; 0x0218e3c8 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e3cc data_ov15_0218e3cc: ; 0x0218e3cc .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e3d0 data_ov15_0218e3d0: ; 0x0218e3d0 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e3d4 data_ov15_0218e3d4: ; 0x0218e3d4 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e3d8 data_ov15_0218e3d8: ; 0x0218e3d8 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e3dc data_ov15_0218e3dc: ; 0x0218e3dc .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e3e0 data_ov15_0218e3e0: ; 0x0218e3e0 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e3e4 data_ov15_0218e3e4: ; 0x0218e3e4 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e3e8 data_ov15_0218e3e8: ; 0x0218e3e8 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e3ec data_ov15_0218e3ec: ; 0x0218e3ec .byte 0x06, 0x00, 0x00, 0x00 .global data_ov15_0218e3f0 data_ov15_0218e3f0: ; 0x0218e3f0 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov15_0218e3f4 data_ov15_0218e3f4: ; 0x0218e3f4 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_0218e3f8 data_ov15_0218e3f8: ; 0x0218e3f8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218e3fc data_ov15_0218e3fc: ; 0x0218e3fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e400 data_ov15_0218e400: ; 0x0218e400 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e404 data_ov15_0218e404: ; 0x0218e404 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e408 data_ov15_0218e408: ; 0x0218e408 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e40c data_ov15_0218e40c: ; 0x0218e40c .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e410 data_ov15_0218e410: ; 0x0218e410 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e414 data_ov15_0218e414: ; 0x0218e414 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e418 data_ov15_0218e418: ; 0x0218e418 .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e41c data_ov15_0218e41c: ; 0x0218e41c .byte 0x07, 0x00, 0x00, 0x00 .global data_ov15_0218e420 data_ov15_0218e420: ; 0x0218e420 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e424 data_ov15_0218e424: ; 0x0218e424 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e428 data_ov15_0218e428: ; 0x0218e428 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e42c data_ov15_0218e42c: ; 0x0218e42c .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e430 data_ov15_0218e430: ; 0x0218e430 .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e434 data_ov15_0218e434: ; 0x0218e434 .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e438 data_ov15_0218e438: ; 0x0218e438 .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e43c data_ov15_0218e43c: ; 0x0218e43c .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e440 data_ov15_0218e440: ; 0x0218e440 .byte 0x0c, 0x00, 0x00, 0x00 .global data_ov15_0218e444 data_ov15_0218e444: ; 0x0218e444 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e448 data_ov15_0218e448: ; 0x0218e448 .byte 0x0b, 0x00, 0x00, 0x00 .global data_ov15_0218e44c data_ov15_0218e44c: ; 0x0218e44c .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e450 data_ov15_0218e450: ; 0x0218e450 .byte 0x0a, 0x00, 0x00, 0x00 .global data_ov15_0218e454 data_ov15_0218e454: ; 0x0218e454 .byte 0x09, 0x00, 0x00, 0x00 .global data_ov15_0218e458 data_ov15_0218e458: ; 0x0218e458 .byte 0x08, 0x00, 0x00, 0x00 .global data_ov15_0218e45c data_ov15_0218e45c: ; 0x0218e45c .byte 0x06, 0x00, 0x00, 0x00 .global data_ov15_0218e460 data_ov15_0218e460: ; 0x0218e460 .byte 0x05, 0x00, 0x00, 0x00 .global data_ov15_0218e464 data_ov15_0218e464: ; 0x0218e464 .word data_ov15_0218e2a4 ; data_ov40_0218e2a4, data_ov45_0218e2a4 .global data_ov15_0218e468 data_ov15_0218e468: ; 0x0218e468 .word data_ov15_0218e320 ; data_ov40_0218e320, data_ov41_0218e320, func_ov44_0218e320, data_ov45_0218e320 .global data_ov15_0218e46c data_ov15_0218e46c: ; 0x0218e46c .word data_ov15_0218e39c ; data_ov40_0218e39c, data_ov41_0218e39c, data_ov45_0218e39c .global data_ov15_0218e470 data_ov15_0218e470: ; 0x0218e470 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e474 data_ov15_0218e474: ; 0x0218e474 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e478 data_ov15_0218e478: ; 0x0218e478 .word func_ov15_0217d6f8 .global data_ov15_0218e47c data_ov15_0218e47c: ; 0x0218e47c .word func_ov15_0217d718 ; data_ov61_0217d718 .global data_ov15_0218e480 data_ov15_0218e480: ; 0x0218e480 .word func_ov15_0217d740 ; data_ov61_0217d740 .global data_ov15_0218e484 data_ov15_0218e484: ; 0x0218e484 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218e488 data_ov15_0218e488: ; 0x0218e488 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218e48c data_ov15_0218e48c: ; 0x0218e48c .word func_ov15_0217d908 .global data_ov15_0218e490 data_ov15_0218e490: ; 0x0218e490 .word func_ov15_0217d980 ; data_ov61_0217d980 .global data_ov15_0218e494 data_ov15_0218e494: ; 0x0218e494 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218e498 data_ov15_0218e498: ; 0x0218e498 .word func_ov15_0217d86c .global data_ov15_0218e49c data_ov15_0218e49c: ; 0x0218e49c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218e4a0 data_ov15_0218e4a0: ; 0x0218e4a0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218e4a4 data_ov15_0218e4a4: ; 0x0218e4a4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218e4a8 data_ov15_0218e4a8: ; 0x0218e4a8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218e4ac data_ov15_0218e4ac: ; 0x0218e4ac .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218e4b0 data_ov15_0218e4b0: ; 0x0218e4b0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218e4b4 data_ov15_0218e4b4: ; 0x0218e4b4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218e4b8 data_ov15_0218e4b8: ; 0x0218e4b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e4bc data_ov15_0218e4bc: ; 0x0218e4bc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218e4c0 data_ov15_0218e4c0: ; 0x0218e4c0 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218e4c4 data_ov15_0218e4c4: ; 0x0218e4c4 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218e4c8 data_ov15_0218e4c8: ; 0x0218e4c8 .word _ZN5Actor6GetPosEv .global data_ov15_0218e4cc data_ov15_0218e4cc: ; 0x0218e4cc .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218e4d0 data_ov15_0218e4d0: ; 0x0218e4d0 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218e4d4 data_ov15_0218e4d4: ; 0x0218e4d4 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218e4d8 data_ov15_0218e4d8: ; 0x0218e4d8 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218e4dc data_ov15_0218e4dc: ; 0x0218e4dc .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218e4e0 data_ov15_0218e4e0: ; 0x0218e4e0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218e4e4 data_ov15_0218e4e4: ; 0x0218e4e4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218e4e8 data_ov15_0218e4e8: ; 0x0218e4e8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218e4ec data_ov15_0218e4ec: ; 0x0218e4ec .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218e4f0 data_ov15_0218e4f0: ; 0x0218e4f0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218e4f4 data_ov15_0218e4f4: ; 0x0218e4f4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218e4f8 data_ov15_0218e4f8: ; 0x0218e4f8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218e4fc data_ov15_0218e4fc: ; 0x0218e4fc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218e500 data_ov15_0218e500: ; 0x0218e500 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218e504 data_ov15_0218e504: ; 0x0218e504 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218e508 data_ov15_0218e508: ; 0x0218e508 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218e50c data_ov15_0218e50c: ; 0x0218e50c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218e510 data_ov15_0218e510: ; 0x0218e510 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218e514 data_ov15_0218e514: ; 0x0218e514 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218e518 data_ov15_0218e518: ; 0x0218e518 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218e51c data_ov15_0218e51c: ; 0x0218e51c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218e520 data_ov15_0218e520: ; 0x0218e520 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218e524 data_ov15_0218e524: ; 0x0218e524 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218e528 data_ov15_0218e528: ; 0x0218e528 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218e52c data_ov15_0218e52c: ; 0x0218e52c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e530 data_ov15_0218e530: ; 0x0218e530 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e534 data_ov15_0218e534: ; 0x0218e534 .word func_ov15_0217dba8 ; data_ov61_0217dba8 .global data_ov15_0218e538 data_ov15_0218e538: ; 0x0218e538 .word func_ov15_0217dbc8 ; func_ov30_0217dbc8 .global data_ov15_0218e53c data_ov15_0218e53c: ; 0x0218e53c .word func_ov15_0217dbf0 .global data_ov15_0218e540 data_ov15_0218e540: ; 0x0218e540 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218e544 data_ov15_0218e544: ; 0x0218e544 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218e548 data_ov15_0218e548: ; 0x0218e548 .word _ZN5Actor8vfunc_14Ej .global data_ov15_0218e54c data_ov15_0218e54c: ; 0x0218e54c .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218e550 data_ov15_0218e550: ; 0x0218e550 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218e554 data_ov15_0218e554: ; 0x0218e554 .word func_ov15_0217dc4c .global data_ov15_0218e558 data_ov15_0218e558: ; 0x0218e558 .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218e55c data_ov15_0218e55c: ; 0x0218e55c .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218e560 data_ov15_0218e560: ; 0x0218e560 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218e564 data_ov15_0218e564: ; 0x0218e564 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218e568 data_ov15_0218e568: ; 0x0218e568 .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218e56c data_ov15_0218e56c: ; 0x0218e56c .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218e570 data_ov15_0218e570: ; 0x0218e570 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218e574 data_ov15_0218e574: ; 0x0218e574 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e578 data_ov15_0218e578: ; 0x0218e578 .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218e57c data_ov15_0218e57c: ; 0x0218e57c .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218e580 data_ov15_0218e580: ; 0x0218e580 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218e584 data_ov15_0218e584: ; 0x0218e584 .word _ZN5Actor6GetPosEv .global data_ov15_0218e588 data_ov15_0218e588: ; 0x0218e588 .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218e58c data_ov15_0218e58c: ; 0x0218e58c .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218e590 data_ov15_0218e590: ; 0x0218e590 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218e594 data_ov15_0218e594: ; 0x0218e594 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218e598 data_ov15_0218e598: ; 0x0218e598 .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218e59c data_ov15_0218e59c: ; 0x0218e59c .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218e5a0 data_ov15_0218e5a0: ; 0x0218e5a0 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218e5a4 data_ov15_0218e5a4: ; 0x0218e5a4 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218e5a8 data_ov15_0218e5a8: ; 0x0218e5a8 .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218e5ac data_ov15_0218e5ac: ; 0x0218e5ac .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218e5b0 data_ov15_0218e5b0: ; 0x0218e5b0 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218e5b4 data_ov15_0218e5b4: ; 0x0218e5b4 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218e5b8 data_ov15_0218e5b8: ; 0x0218e5b8 .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218e5bc data_ov15_0218e5bc: ; 0x0218e5bc .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218e5c0 data_ov15_0218e5c0: ; 0x0218e5c0 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218e5c4 data_ov15_0218e5c4: ; 0x0218e5c4 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218e5c8 data_ov15_0218e5c8: ; 0x0218e5c8 .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218e5cc data_ov15_0218e5cc: ; 0x0218e5cc .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218e5d0 data_ov15_0218e5d0: ; 0x0218e5d0 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218e5d4 data_ov15_0218e5d4: ; 0x0218e5d4 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218e5d8 data_ov15_0218e5d8: ; 0x0218e5d8 .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218e5dc data_ov15_0218e5dc: ; 0x0218e5dc .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218e5e0 data_ov15_0218e5e0: ; 0x0218e5e0 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218e5e4 data_ov15_0218e5e4: ; 0x0218e5e4 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218e5e8 data_ov15_0218e5e8: ; 0x0218e5e8 .ascii "brg" .byte 0x00 .global data_ov15_0218e5ec data_ov15_0218e5ec: ; 0x0218e5ec .ascii "fnl" .byte 0x00 .global data_ov15_0218e5f0 data_ov15_0218e5f0: ; 0x0218e5f0 .ascii "pdl" .byte 0x00 .global data_ov15_0218e5f4 data_ov15_0218e5f4: ; 0x0218e5f4 .ascii "dco" .byte 0x00 .global data_ov15_0218e5f8 data_ov15_0218e5f8: ; 0x0218e5f8 .ascii "can" .byte 0x00 .global data_ov15_0218e5fc data_ov15_0218e5fc: ; 0x0218e5fc .ascii "hul" .byte 0x00 .global data_ov15_0218e600 data_ov15_0218e600: ; 0x0218e600 .ascii "bow" .byte 0x00 .global data_ov15_0218e604 data_ov15_0218e604: ; 0x0218e604 .ascii "anc" .byte 0x00 .global data_ov15_0218e608 data_ov15_0218e608: ; 0x0218e608 .word data_ov15_0218e604 ; data_ov40_0218e604, data_ov41_0218e604, data_ov45_0218e604 .global data_ov15_0218e60c data_ov15_0218e60c: ; 0x0218e60c .word data_ov15_0218e600 ; data_ov40_0218e600, data_ov41_0218e600, data_ov45_0218e600 .global data_ov15_0218e610 data_ov15_0218e610: ; 0x0218e610 .word data_ov15_0218e5fc ; data_ov40_0218e5fc, data_ov41_0218e5fc, data_ov45_0218e5fc .global data_ov15_0218e614 data_ov15_0218e614: ; 0x0218e614 .word data_ov15_0218e5f8 ; data_ov40_0218e5f8, data_ov41_0218e5f8, data_ov45_0218e5f8 .global data_ov15_0218e618 data_ov15_0218e618: ; 0x0218e618 .word data_ov15_0218e5f4 ; data_ov40_0218e5f4, data_ov41_0218e5f4, data_ov45_0218e5f4 .global data_ov15_0218e61c data_ov15_0218e61c: ; 0x0218e61c .word data_ov15_0218e5f0 ; data_ov40_0218e5f0, data_ov41_0218e5f0, data_ov45_0218e5f0 .global data_ov15_0218e620 data_ov15_0218e620: ; 0x0218e620 .word data_ov15_0218e5ec ; data_ov40_0218e5ec, data_ov41_0218e5ec, data_ov45_0218e5ec .global data_ov15_0218e624 data_ov15_0218e624: ; 0x0218e624 .word data_ov15_0218e5e8 ; data_ov40_0218e5e8, data_ov41_0218e5e8, data_ov45_0218e5e8 .global data_ov15_0218e628 data_ov15_0218e628: ; 0x0218e628 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e62c data_ov15_0218e62c: ; 0x0218e62c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e630 data_ov15_0218e630: ; 0x0218e630 .word func_ov15_0217e354 ; data_ov61_0217e354 .global data_ov15_0218e634 data_ov15_0218e634: ; 0x0218e634 .word func_ov15_0217e338 ; func_ov34_0217e338, data_ov61_0217e338 .global data_ov15_0218e638 data_ov15_0218e638: ; 0x0218e638 .word func_ov03_020f2524 .global data_ov15_0218e63c data_ov15_0218e63c: ; 0x0218e63c .word func_ov03_020f2208 .global data_ov15_0218e640 data_ov15_0218e640: ; 0x0218e640 .word func_ov09_0211b994 .global data_ov15_0218e644 data_ov15_0218e644: ; 0x0218e644 .word func_ov03_020f2774 .global data_ov15_0218e648 data_ov15_0218e648: ; 0x0218e648 .word func_ov09_0211bc64 ; func_ov12_0211bc64 .global data_ov15_0218e64c data_ov15_0218e64c: ; 0x0218e64c .word func_ov09_0211bc84 .global data_ov15_0218e650 data_ov15_0218e650: ; 0x0218e650 .word func_ov09_0211bcd8 .global data_ov15_0218e654 data_ov15_0218e654: ; 0x0218e654 .word func_ov09_0211bd14 .global data_ov15_0218e658 data_ov15_0218e658: ; 0x0218e658 .word func_ov09_0211bd58 .global data_ov15_0218e65c data_ov15_0218e65c: ; 0x0218e65c .word func_ov15_0217defc ; func_ov31_0217defc, func_ov33_0217defc .global data_ov15_0218e660 data_ov15_0218e660: ; 0x0218e660 .word func_ov15_0217e004 ; func_ov40_0217e004, data_ov61_0217e004 .global data_ov15_0218e664 data_ov15_0218e664: ; 0x0218e664 .word func_ov15_0217e048 ; data_ov61_0217e048 .global data_ov15_0218e668 data_ov15_0218e668: ; 0x0218e668 .ascii "brg" .byte 0x00 .global data_ov15_0218e66c data_ov15_0218e66c: ; 0x0218e66c .ascii "fnl" .byte 0x00 .global data_ov15_0218e670 data_ov15_0218e670: ; 0x0218e670 .ascii "pdl" .byte 0x00 .global data_ov15_0218e674 data_ov15_0218e674: ; 0x0218e674 .ascii "dco" .byte 0x00 .global data_ov15_0218e678 data_ov15_0218e678: ; 0x0218e678 .ascii "can" .byte 0x00 .global data_ov15_0218e67c data_ov15_0218e67c: ; 0x0218e67c .ascii "hul" .byte 0x00 .global data_ov15_0218e680 data_ov15_0218e680: ; 0x0218e680 .ascii "bow" .byte 0x00 .global data_ov15_0218e684 data_ov15_0218e684: ; 0x0218e684 .ascii "anc" .byte 0x00 .global data_ov15_0218e688 data_ov15_0218e688: ; 0x0218e688 .word data_ov15_0218e684 ; data_ov40_0218e684, data_ov41_0218e684, data_ov45_0218e684 .global data_ov15_0218e68c data_ov15_0218e68c: ; 0x0218e68c .word data_ov15_0218e680 ; data_ov40_0218e680, data_ov41_0218e680, data_ov45_0218e680 .global data_ov15_0218e690 data_ov15_0218e690: ; 0x0218e690 .word data_ov15_0218e67c ; data_ov40_0218e67c, data_ov41_0218e67c, data_ov45_0218e67c .global data_ov15_0218e694 data_ov15_0218e694: ; 0x0218e694 .word data_ov15_0218e678 ; data_ov40_0218e678, data_ov41_0218e678, data_ov45_0218e678 .global data_ov15_0218e698 data_ov15_0218e698: ; 0x0218e698 .word data_ov15_0218e674 ; data_ov40_0218e674, data_ov41_0218e674, data_ov45_0218e674 .global data_ov15_0218e69c data_ov15_0218e69c: ; 0x0218e69c .word data_ov15_0218e670 ; data_ov40_0218e670, data_ov41_0218e670, data_ov45_0218e670 .global data_ov15_0218e6a0 data_ov15_0218e6a0: ; 0x0218e6a0 .word data_ov15_0218e66c ; data_ov40_0218e66c, data_ov41_0218e66c, data_ov45_0218e66c .global data_ov15_0218e6a4 data_ov15_0218e6a4: ; 0x0218e6a4 .word data_ov15_0218e668 ; data_ov40_0218e668, data_ov41_0218e668, data_ov45_0218e668 .global data_ov15_0218e6a8 data_ov15_0218e6a8: ; 0x0218e6a8 .word data_ov15_0218e860 ; data_ov40_0218e860, data_ov41_0218e860, data_ov45_0218e860 .global data_ov15_0218e6ac data_ov15_0218e6ac: ; 0x0218e6ac .word data_ov15_0218e86c ; data_ov40_0218e86c, data_ov41_0218e86c, data_ov45_0218e86c .global data_ov15_0218e6b0 data_ov15_0218e6b0: ; 0x0218e6b0 .word data_ov15_0218e870 ; data_ov40_0218e870, data_ov41_0218e870, data_ov45_0218e870 .global data_ov15_0218e6b4 data_ov15_0218e6b4: ; 0x0218e6b4 .word data_ov15_0218e87c ; data_ov40_0218e87c, data_ov41_0218e87c, data_ov45_0218e87c .global data_ov15_0218e6b8 data_ov15_0218e6b8: ; 0x0218e6b8 .word data_ov15_0218e880 ; data_ov40_0218e880, data_ov41_0218e880, data_ov45_0218e880 .global data_ov15_0218e6bc data_ov15_0218e6bc: ; 0x0218e6bc .word data_ov15_0218e88c ; data_ov40_0218e88c, data_ov41_0218e88c, data_ov45_0218e88c .global data_ov15_0218e6c0 data_ov15_0218e6c0: ; 0x0218e6c0 .word data_ov15_0218e890 ; data_ov40_0218e890, data_ov41_0218e890, data_ov45_0218e890 .global data_ov15_0218e6c4 data_ov15_0218e6c4: ; 0x0218e6c4 .word data_ov15_0218e89c ; data_ov40_0218e89c, data_ov41_0218e89c, data_ov45_0218e89c .global data_ov15_0218e6c8 data_ov15_0218e6c8: ; 0x0218e6c8 .word data_ov15_0218e8a0 ; data_ov40_0218e8a0, data_ov41_0218e8a0, data_ov45_0218e8a0 .global data_ov15_0218e6cc data_ov15_0218e6cc: ; 0x0218e6cc .word data_ov15_0218e8ac ; data_ov40_0218e8ac, data_ov41_0218e8ac, data_ov45_0218e8ac .global data_ov15_0218e6d0 data_ov15_0218e6d0: ; 0x0218e6d0 .word data_ov15_0218e8b8 ; data_ov40_0218e8b8, data_ov41_0218e8b8 .global data_ov15_0218e6d4 data_ov15_0218e6d4: ; 0x0218e6d4 .word data_ov15_0218e8c4 ; data_ov40_0218e8c4, data_ov41_0218e8c4, data_ov45_0218e8c4 .global data_ov15_0218e6d8 data_ov15_0218e6d8: ; 0x0218e6d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e6dc data_ov15_0218e6dc: ; 0x0218e6dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e6e0 data_ov15_0218e6e0: ; 0x0218e6e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e6e4 data_ov15_0218e6e4: ; 0x0218e6e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e6e8 data_ov15_0218e6e8: ; 0x0218e6e8 .byte 0x00, 0x00 .global data_ov15_0218e6ea data_ov15_0218e6ea: ; 0x0218e6ea .byte 0x00 .global data_ov15_0218e6eb data_ov15_0218e6eb: ; 0x0218e6eb .byte 0x00 .global data_ov15_0218e6ec data_ov15_0218e6ec: ; 0x0218e6ec .byte 0x00 .global data_ov15_0218e6ed data_ov15_0218e6ed: ; 0x0218e6ed .byte 0x00 .global data_ov15_0218e6ee data_ov15_0218e6ee: ; 0x0218e6ee .byte 0x00, 0x00 .global data_ov15_0218e6f0 data_ov15_0218e6f0: ; 0x0218e6f0 .byte 0x37, 0x01, 0x00, 0x00 .global data_ov15_0218e6f4 data_ov15_0218e6f4: ; 0x0218e6f4 .word data_ov15_0218e6a8 ; data_ov40_0218e6a8, data_ov41_0218e6a8, data_ov45_0218e6a8 .global data_ov15_0218e6f8 data_ov15_0218e6f8: ; 0x0218e6f8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218e6fc data_ov15_0218e6fc: ; 0x0218e6fc .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov15_0218e700 data_ov15_0218e700: ; 0x0218e700 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e704 data_ov15_0218e704: ; 0x0218e704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e708 data_ov15_0218e708: ; 0x0218e708 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e70c data_ov15_0218e70c: ; 0x0218e70c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e710 data_ov15_0218e710: ; 0x0218e710 .byte 0x00, 0x00 .global data_ov15_0218e712 data_ov15_0218e712: ; 0x0218e712 .byte 0x00 .global data_ov15_0218e713 data_ov15_0218e713: ; 0x0218e713 .byte 0x00 .global data_ov15_0218e714 data_ov15_0218e714: ; 0x0218e714 .byte 0x00 .global data_ov15_0218e715 data_ov15_0218e715: ; 0x0218e715 .byte 0x00 .global data_ov15_0218e716 data_ov15_0218e716: ; 0x0218e716 .byte 0x00, 0x00 .global data_ov15_0218e718 data_ov15_0218e718: ; 0x0218e718 .byte 0x38, 0x01, 0x00, 0x00 .global data_ov15_0218e71c data_ov15_0218e71c: ; 0x0218e71c .word data_ov15_0218e6b0 ; data_ov40_0218e6b0, data_ov41_0218e6b0, data_ov45_0218e6b0 .global data_ov15_0218e720 data_ov15_0218e720: ; 0x0218e720 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218e724 data_ov15_0218e724: ; 0x0218e724 .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov15_0218e728 data_ov15_0218e728: ; 0x0218e728 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e730 data_ov15_0218e730: ; 0x0218e730 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e734 data_ov15_0218e734: ; 0x0218e734 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e738 data_ov15_0218e738: ; 0x0218e738 .byte 0x00, 0x00 .global data_ov15_0218e73a data_ov15_0218e73a: ; 0x0218e73a .byte 0x00 .global data_ov15_0218e73b data_ov15_0218e73b: ; 0x0218e73b .byte 0x00 .global data_ov15_0218e73c data_ov15_0218e73c: ; 0x0218e73c .byte 0x00 .global data_ov15_0218e73d data_ov15_0218e73d: ; 0x0218e73d .byte 0x00 .global data_ov15_0218e73e data_ov15_0218e73e: ; 0x0218e73e .byte 0x00, 0x00 .global data_ov15_0218e740 data_ov15_0218e740: ; 0x0218e740 .byte 0x39, 0x01, 0x00, 0x00 .global data_ov15_0218e744 data_ov15_0218e744: ; 0x0218e744 .word data_ov15_0218e6b8 ; data_ov40_0218e6b8, data_ov41_0218e6b8, data_ov45_0218e6b8 .global data_ov15_0218e748 data_ov15_0218e748: ; 0x0218e748 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218e74c data_ov15_0218e74c: ; 0x0218e74c .byte 0x33, 0x0b, 0x00, 0x00 .global data_ov15_0218e750 data_ov15_0218e750: ; 0x0218e750 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e754 data_ov15_0218e754: ; 0x0218e754 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e758 data_ov15_0218e758: ; 0x0218e758 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e75c data_ov15_0218e75c: ; 0x0218e75c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e760 data_ov15_0218e760: ; 0x0218e760 .byte 0x00, 0x00 .global data_ov15_0218e762 data_ov15_0218e762: ; 0x0218e762 .byte 0x00 .global data_ov15_0218e763 data_ov15_0218e763: ; 0x0218e763 .byte 0x00 .global data_ov15_0218e764 data_ov15_0218e764: ; 0x0218e764 .byte 0x00 .global data_ov15_0218e765 data_ov15_0218e765: ; 0x0218e765 .byte 0x00 .global data_ov15_0218e766 data_ov15_0218e766: ; 0x0218e766 .byte 0x00, 0x00 .global data_ov15_0218e768 data_ov15_0218e768: ; 0x0218e768 .byte 0x3a, 0x01, 0x00, 0x00 .global data_ov15_0218e76c data_ov15_0218e76c: ; 0x0218e76c .word data_ov15_0218e6c0 ; data_ov40_0218e6c0, data_ov41_0218e6c0, data_ov45_0218e6c0 .global data_ov15_0218e770 data_ov15_0218e770: ; 0x0218e770 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218e774 data_ov15_0218e774: ; 0x0218e774 .byte 0xec, 0x09, 0x00, 0x00 .global data_ov15_0218e778 data_ov15_0218e778: ; 0x0218e778 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e77c data_ov15_0218e77c: ; 0x0218e77c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e780 data_ov15_0218e780: ; 0x0218e780 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e784 data_ov15_0218e784: ; 0x0218e784 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e788 data_ov15_0218e788: ; 0x0218e788 .byte 0x00, 0x00 .global data_ov15_0218e78a data_ov15_0218e78a: ; 0x0218e78a .byte 0x00 .global data_ov15_0218e78b data_ov15_0218e78b: ; 0x0218e78b .byte 0x00 .global data_ov15_0218e78c data_ov15_0218e78c: ; 0x0218e78c .byte 0x00 .global data_ov15_0218e78d data_ov15_0218e78d: ; 0x0218e78d .byte 0x00 .global data_ov15_0218e78e data_ov15_0218e78e: ; 0x0218e78e .byte 0x00, 0x00 .global data_ov15_0218e790 data_ov15_0218e790: ; 0x0218e790 .byte 0x3b, 0x01, 0x00, 0x00 .global data_ov15_0218e794 data_ov15_0218e794: ; 0x0218e794 .word data_ov15_0218e6c8 ; data_ov40_0218e6c8, data_ov41_0218e6c8, data_ov45_0218e6c8 .global data_ov15_0218e798 data_ov15_0218e798: ; 0x0218e798 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov15_0218e79c data_ov15_0218e79c: ; 0x0218e79c .byte 0x66, 0x0a, 0x00, 0x00 .global data_ov15_0218e7a0 data_ov15_0218e7a0: ; 0x0218e7a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7a4 data_ov15_0218e7a4: ; 0x0218e7a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7a8 data_ov15_0218e7a8: ; 0x0218e7a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7ac data_ov15_0218e7ac: ; 0x0218e7ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7b0 data_ov15_0218e7b0: ; 0x0218e7b0 .byte 0x00, 0x00 .global data_ov15_0218e7b2 data_ov15_0218e7b2: ; 0x0218e7b2 .byte 0x00 .global data_ov15_0218e7b3 data_ov15_0218e7b3: ; 0x0218e7b3 .byte 0x00 .global data_ov15_0218e7b4 data_ov15_0218e7b4: ; 0x0218e7b4 .byte 0x00 .global data_ov15_0218e7b5 data_ov15_0218e7b5: ; 0x0218e7b5 .byte 0x00 .global data_ov15_0218e7b6 data_ov15_0218e7b6: ; 0x0218e7b6 .byte 0x00, 0x00 .global data_ov15_0218e7b8 data_ov15_0218e7b8: ; 0x0218e7b8 .byte 0x3c, 0x01, 0x00, 0x00 .global data_ov15_0218e7bc data_ov15_0218e7bc: ; 0x0218e7bc .word data_ov15_0218e6d0 ; data_ov40_0218e6d0, data_ov41_0218e6d0, data_ov45_0218e6d0 .global data_ov15_0218e7c0 data_ov15_0218e7c0: ; 0x0218e7c0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218e7c4 data_ov15_0218e7c4: ; 0x0218e7c4 .byte 0xe1, 0x0a, 0x00, 0x00 .global data_ov15_0218e7c8 data_ov15_0218e7c8: ; 0x0218e7c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7cc data_ov15_0218e7cc: ; 0x0218e7cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7d0 data_ov15_0218e7d0: ; 0x0218e7d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7d4 data_ov15_0218e7d4: ; 0x0218e7d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7d8 data_ov15_0218e7d8: ; 0x0218e7d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7dc data_ov15_0218e7dc: ; 0x0218e7dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e7e0 data_ov15_0218e7e0: ; 0x0218e7e0 .word func_ov15_0217e5e4 ; data_ov61_0217e5e4 .global data_ov15_0218e7e4 data_ov15_0218e7e4: ; 0x0218e7e4 .word func_ov15_0217f7a4 ; data_ov61_0217f7a4 .global data_ov15_0218e7e8 data_ov15_0218e7e8: ; 0x0218e7e8 .word func_ov03_020f2d5c .global data_ov15_0218e7ec data_ov15_0218e7ec: ; 0x0218e7ec .word func_ov03_020f2d68 .global data_ov15_0218e7f0 data_ov15_0218e7f0: ; 0x0218e7f0 .word func_ov03_020f2fa8 .global data_ov15_0218e7f4 data_ov15_0218e7f4: ; 0x0218e7f4 .word func_ov03_020f301c .global data_ov15_0218e7f8 data_ov15_0218e7f8: ; 0x0218e7f8 .word func_ov15_0217f6f4 ; data_ov61_0217f6f4 .global data_ov15_0218e7fc data_ov15_0218e7fc: ; 0x0218e7fc .word func_ov15_0217f7d4 ; data_ov61_0217f7d4 .global data_ov15_0218e800 data_ov15_0218e800: ; 0x0218e800 .word func_ov15_0217f6fc ; data_ov61_0217f6fc .global data_ov15_0218e804 data_ov15_0218e804: ; 0x0218e804 .word func_ov15_0217f71c ; data_ov61_0217f71c .global data_ov15_0218e808 data_ov15_0218e808: ; 0x0218e808 .word func_ov15_0217f70c ; func_ov33_0217f70c, data_ov61_0217f70c .global data_ov15_0218e80c data_ov15_0218e80c: ; 0x0218e80c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e810 data_ov15_0218e810: ; 0x0218e810 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e814 data_ov15_0218e814: ; 0x0218e814 .word func_ov15_0217e60c ; data_ov61_0217e60c .global data_ov15_0218e818 data_ov15_0218e818: ; 0x0218e818 .word func_ov15_0217f790 ; data_ov61_0217f790 .global data_ov15_0218e81c data_ov15_0218e81c: ; 0x0218e81c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e820 data_ov15_0218e820: ; 0x0218e820 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e824 data_ov15_0218e824: ; 0x0218e824 .word func_ov15_0217f774 ; data_ov61_0217f774 .global data_ov15_0218e828 data_ov15_0218e828: ; 0x0218e828 .word func_ov15_0217f77c ; func_ov30_0217f77c, data_ov61_0217f77c .global data_ov15_0218e82c data_ov15_0218e82c: ; 0x0218e82c .word func_ov15_0217f778 ; data_ov61_0217f778 .global data_ov15_0218e830 data_ov15_0218e830: ; 0x0218e830 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e834 data_ov15_0218e834: ; 0x0218e834 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e838 data_ov15_0218e838: ; 0x0218e838 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e83c data_ov15_0218e83c: ; 0x0218e83c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e840 data_ov15_0218e840: ; 0x0218e840 .word func_ov15_0217f7d4 ; data_ov61_0217f7d4 .global data_ov15_0218e844 data_ov15_0218e844: ; 0x0218e844 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e848 data_ov15_0218e848: ; 0x0218e848 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e84c data_ov15_0218e84c: ; 0x0218e84c .word func_ov15_0217f748 ; data_ov61_0217f748 .global data_ov15_0218e850 data_ov15_0218e850: ; 0x0218e850 .word func_ov15_0217f760 ; func_ov39_0217f760, data_ov61_0217f760 .global data_ov15_0218e854 data_ov15_0218e854: ; 0x0218e854 .word func_ov15_0217f74c ; data_ov61_0217f74c .global data_ov15_0218e858 data_ov15_0218e858: ; 0x0218e858 .word func_ov15_0217f758 ; func_ov30_0217f758, data_ov61_0217f758 .global data_ov15_0218e85c data_ov15_0218e85c: ; 0x0218e85c .word func_ov15_0217f750 ; data_ov61_0217f750 .global data_ov15_0218e860 data_ov15_0218e860: ; 0x0218e860 .ascii "compass1" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e86c data_ov15_0218e86c: ; 0x0218e86c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e870 data_ov15_0218e870: ; 0x0218e870 .ascii "compass2" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e87c data_ov15_0218e87c: ; 0x0218e87c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e880 data_ov15_0218e880: ; 0x0218e880 .ascii "compass3" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e88c data_ov15_0218e88c: ; 0x0218e88c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e890 data_ov15_0218e890: ; 0x0218e890 .ascii "compass4" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e89c data_ov15_0218e89c: ; 0x0218e89c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8a0 data_ov15_0218e8a0: ; 0x0218e8a0 .ascii "compass5" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8ac data_ov15_0218e8ac: ; 0x0218e8ac .ascii "sitaboko" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8b8 data_ov15_0218e8b8: ; 0x0218e8b8 .ascii "compass6" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8c4 data_ov15_0218e8c4: ; 0x0218e8c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8c8 data_ov15_0218e8c8: ; 0x0218e8c8 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218e8cc data_ov15_0218e8cc: ; 0x0218e8cc .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218e8d0 data_ov15_0218e8d0: ; 0x0218e8d0 .byte 0x00, 0x00, 0x02, 0x00 .global data_ov15_0218e8d4 data_ov15_0218e8d4: ; 0x0218e8d4 .byte 0xd7, 0xff, 0xff, 0xff .global data_ov15_0218e8d8 data_ov15_0218e8d8: ; 0x0218e8d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8dc data_ov15_0218e8dc: ; 0x0218e8dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8e0 data_ov15_0218e8e0: ; 0x0218e8e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8e4 data_ov15_0218e8e4: ; 0x0218e8e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e8e8 data_ov15_0218e8e8: ; 0x0218e8e8 .word func_ov15_0217fc40 ; data_ov61_0217fc40 .global data_ov15_0218e8ec data_ov15_0218e8ec: ; 0x0218e8ec .word func_ov15_0217fd64 ; data_ov61_0217fd64 .global data_ov15_0218e8f0 data_ov15_0218e8f0: ; 0x0218e8f0 .word func_ov15_0217fe90 ; data_ov61_0217fe90 .global data_ov15_0218e8f4 data_ov15_0218e8f4: ; 0x0218e8f4 .word func_ov15_02180354 ; data_ov33_02180354, data_ov61_02180354 .global data_ov15_0218e8f8 data_ov15_0218e8f8: ; 0x0218e8f8 .word func_ov15_02182fa8 ; data_ov31_02182fa8, func_ov35_02182fa8 .global data_ov15_0218e8fc data_ov15_0218e8fc: ; 0x0218e8fc .word func_ov15_02180af0 ; func_ov32_02180af0, data_ov61_02180af0 .global data_ov15_0218e900 data_ov15_0218e900: ; 0x0218e900 .word func_ov15_02180c60 ; data_ov61_02180c60 .global data_ov15_0218e904 data_ov15_0218e904: ; 0x0218e904 .word _ZN5Actor8vfunc_1cEt .global data_ov15_0218e908 data_ov15_0218e908: ; 0x0218e908 .word func_ov15_02182eec ; data_ov31_02182eec .global data_ov15_0218e90c data_ov15_0218e90c: ; 0x0218e90c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218e910 data_ov15_0218e910: ; 0x0218e910 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218e914 data_ov15_0218e914: ; 0x0218e914 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218e918 data_ov15_0218e918: ; 0x0218e918 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218e91c data_ov15_0218e91c: ; 0x0218e91c .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218e920 data_ov15_0218e920: ; 0x0218e920 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218e924 data_ov15_0218e924: ; 0x0218e924 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218e928 data_ov15_0218e928: ; 0x0218e928 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e92c data_ov15_0218e92c: ; 0x0218e92c .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218e930 data_ov15_0218e930: ; 0x0218e930 .word func_ov15_02182fa0 ; data_ov31_02182fa0 .global data_ov15_0218e934 data_ov15_0218e934: ; 0x0218e934 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218e938 data_ov15_0218e938: ; 0x0218e938 .word _ZN5Actor6GetPosEv .global data_ov15_0218e93c data_ov15_0218e93c: ; 0x0218e93c .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218e940 data_ov15_0218e940: ; 0x0218e940 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218e944 data_ov15_0218e944: ; 0x0218e944 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218e948 data_ov15_0218e948: ; 0x0218e948 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218e94c data_ov15_0218e94c: ; 0x0218e94c .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218e950 data_ov15_0218e950: ; 0x0218e950 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218e954 data_ov15_0218e954: ; 0x0218e954 .word func_ov15_02183350 ; data_ov31_02183350 .global data_ov15_0218e958 data_ov15_0218e958: ; 0x0218e958 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218e95c data_ov15_0218e95c: ; 0x0218e95c .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218e960 data_ov15_0218e960: ; 0x0218e960 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218e964 data_ov15_0218e964: ; 0x0218e964 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218e968 data_ov15_0218e968: ; 0x0218e968 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218e96c data_ov15_0218e96c: ; 0x0218e96c .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218e970 data_ov15_0218e970: ; 0x0218e970 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218e974 data_ov15_0218e974: ; 0x0218e974 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218e978 data_ov15_0218e978: ; 0x0218e978 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218e97c data_ov15_0218e97c: ; 0x0218e97c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218e980 data_ov15_0218e980: ; 0x0218e980 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218e984 data_ov15_0218e984: ; 0x0218e984 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218e988 data_ov15_0218e988: ; 0x0218e988 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218e98c data_ov15_0218e98c: ; 0x0218e98c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218e990 data_ov15_0218e990: ; 0x0218e990 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218e994 data_ov15_0218e994: ; 0x0218e994 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218e998 data_ov15_0218e998: ; 0x0218e998 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218e99c data_ov15_0218e99c: ; 0x0218e99c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e9a0 data_ov15_0218e9a0: ; 0x0218e9a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e9a4 data_ov15_0218e9a4: ; 0x0218e9a4 .word func_ov00_020c5d34 .global data_ov15_0218e9a8 data_ov15_0218e9a8: ; 0x0218e9a8 .word func_ov15_0217fa74 ; data_ov61_0217fa74 .global data_ov15_0218e9ac data_ov15_0218e9ac: ; 0x0218e9ac .word func_ov15_0217fa84 ; data_ov61_0217fa84 .global data_ov15_0218e9b0 data_ov15_0218e9b0: ; 0x0218e9b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e9b4 data_ov15_0218e9b4: ; 0x0218e9b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e9b8 data_ov15_0218e9b8: ; 0x0218e9b8 .word func_ov00_020a9aec .global data_ov15_0218e9bc data_ov15_0218e9bc: ; 0x0218e9bc .word func_ov00_020a9af8 .global data_ov15_0218e9c0 data_ov15_0218e9c0: ; 0x0218e9c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e9c4 data_ov15_0218e9c4: ; 0x0218e9c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218e9c8 data_ov15_0218e9c8: ; 0x0218e9c8 .word func_ov15_0217f9dc ; func_ov40_0217f9dc, data_ov61_0217f9dc .global data_ov15_0218e9cc data_ov15_0218e9cc: ; 0x0218e9cc .word func_ov15_021836e8 .global data_ov15_0218e9d0 data_ov15_0218e9d0: ; 0x0218e9d0 .word func_ov00_020a960c .global data_ov15_0218e9d4 data_ov15_0218e9d4: ; 0x0218e9d4 .word func_ov00_020a9614 .global data_ov15_0218e9d8 data_ov15_0218e9d8: ; 0x0218e9d8 .word func_ov00_020a9650 .global data_ov15_0218e9dc data_ov15_0218e9dc: ; 0x0218e9dc .word func_ov00_020a96d4 .global data_ov15_0218e9e0 data_ov15_0218e9e0: ; 0x0218e9e0 .word func_ov00_020a9740 .global data_ov15_0218e9e4 data_ov15_0218e9e4: ; 0x0218e9e4 .word func_ov00_020a9764 .global data_ov15_0218e9e8 data_ov15_0218e9e8: ; 0x0218e9e8 .word func_ov00_020a97d0 .global data_ov15_0218e9ec data_ov15_0218e9ec: ; 0x0218e9ec .word func_ov00_020a97e0 .global data_ov15_0218e9f0 data_ov15_0218e9f0: ; 0x0218e9f0 .word func_ov00_020a97f8 .global data_ov15_0218e9f4 data_ov15_0218e9f4: ; 0x0218e9f4 .word func_ov00_020a9864 .global data_ov15_0218e9f8 data_ov15_0218e9f8: ; 0x0218e9f8 .word func_ov00_020a98bc .global data_ov15_0218e9fc data_ov15_0218e9fc: ; 0x0218e9fc .word func_ov00_020a9890 .global data_ov15_0218ea00 data_ov15_0218ea00: ; 0x0218ea00 .word func_ov00_020a9968 .global data_ov15_0218ea04 data_ov15_0218ea04: ; 0x0218ea04 .word func_ov15_0217f87c ; func_ov40_0217f87c, data_ov61_0217f87c .global data_ov15_0218ea08 data_ov15_0218ea08: ; 0x0218ea08 .ascii "HRC:/ef_hurricane.nsbta" .byte 0x00 .global data_ov15_0218ea20 data_ov15_0218ea20: ; 0x0218ea20 .ascii "ef_hurricane" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ea30 data_ov15_0218ea30: ; 0x0218ea30 .ascii "brg" .byte 0x00 .global data_ov15_0218ea34 data_ov15_0218ea34: ; 0x0218ea34 .ascii "fnl" .byte 0x00 .global data_ov15_0218ea38 data_ov15_0218ea38: ; 0x0218ea38 .ascii "pdl" .byte 0x00 .global data_ov15_0218ea3c data_ov15_0218ea3c: ; 0x0218ea3c .ascii "dco" .byte 0x00 .global data_ov15_0218ea40 data_ov15_0218ea40: ; 0x0218ea40 .ascii "can" .byte 0x00 .global data_ov15_0218ea44 data_ov15_0218ea44: ; 0x0218ea44 .ascii "hul" .byte 0x00 .global data_ov15_0218ea48 data_ov15_0218ea48: ; 0x0218ea48 .ascii "bow" .byte 0x00 .global data_ov15_0218ea4c data_ov15_0218ea4c: ; 0x0218ea4c .ascii "anc" .byte 0x00 .global data_ov15_0218ea50 data_ov15_0218ea50: ; 0x0218ea50 .word data_ov15_0218ea4c ; data_ov40_0218ea4c, data_ov41_0218ea4c, data_ov44_0218ea4c, data_ov45_0218ea4c .global data_ov15_0218ea54 data_ov15_0218ea54: ; 0x0218ea54 .word data_ov15_0218ea48 ; data_ov40_0218ea48, data_ov41_0218ea48, data_ov44_0218ea48, data_ov45_0218ea48 .global data_ov15_0218ea58 data_ov15_0218ea58: ; 0x0218ea58 .word data_ov15_0218ea44 ; data_ov40_0218ea44, data_ov41_0218ea44, data_ov44_0218ea44, data_ov45_0218ea44 .global data_ov15_0218ea5c data_ov15_0218ea5c: ; 0x0218ea5c .word data_ov15_0218ea40 ; data_ov40_0218ea40, data_ov41_0218ea40, data_ov45_0218ea40 .global data_ov15_0218ea60 data_ov15_0218ea60: ; 0x0218ea60 .word data_ov15_0218ea3c ; data_ov40_0218ea3c, data_ov41_0218ea3c, data_ov44_0218ea3c, data_ov45_0218ea3c .global data_ov15_0218ea64 data_ov15_0218ea64: ; 0x0218ea64 .word data_ov15_0218ea38 ; data_ov40_0218ea38, data_ov41_0218ea38, data_ov44_0218ea38, data_ov45_0218ea38 .global data_ov15_0218ea68 data_ov15_0218ea68: ; 0x0218ea68 .word data_ov15_0218ea34 ; data_ov40_0218ea34, data_ov41_0218ea34, data_ov44_0218ea34, data_ov45_0218ea34 .global data_ov15_0218ea6c data_ov15_0218ea6c: ; 0x0218ea6c .word data_ov15_0218ea30 ; data_ov40_0218ea30, data_ov41_0218ea30, data_ov44_0218ea30, data_ov45_0218ea30 .global data_ov15_0218ea70 data_ov15_0218ea70: ; 0x0218ea70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ea74 data_ov15_0218ea74: ; 0x0218ea74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ea78 data_ov15_0218ea78: ; 0x0218ea78 .word func_ov15_02183c6c ; data_ov31_02183c6c .global data_ov15_0218ea7c data_ov15_0218ea7c: ; 0x0218ea7c .word func_ov15_02183c8c ; data_ov31_02183c8c .global data_ov15_0218ea80 data_ov15_0218ea80: ; 0x0218ea80 .word func_ov15_02183cb4 ; data_ov31_02183cb4, func_ov38_02183cb4 .global data_ov15_0218ea84 data_ov15_0218ea84: ; 0x0218ea84 .word _ZN5Actor8vfunc_0cEv .global data_ov15_0218ea88 data_ov15_0218ea88: ; 0x0218ea88 .word _ZN5Actor8vfunc_10Ej .global data_ov15_0218ea8c data_ov15_0218ea8c: ; 0x0218ea8c .word func_ov15_02184108 ; data_ov31_02184108 .global data_ov15_0218ea90 data_ov15_0218ea90: ; 0x0218ea90 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218ea94 data_ov15_0218ea94: ; 0x0218ea94 .word func_ov15_0218427c .global data_ov15_0218ea98 data_ov15_0218ea98: ; 0x0218ea98 .word _ZN5Actor8vfunc_20Ei .global data_ov15_0218ea9c data_ov15_0218ea9c: ; 0x0218ea9c .word _ZN5Actor8vfunc_24Ev .global data_ov15_0218eaa0 data_ov15_0218eaa0: ; 0x0218eaa0 .word _ZN5Actor8vfunc_28Ev .global data_ov15_0218eaa4 data_ov15_0218eaa4: ; 0x0218eaa4 .word _ZN5Actor8vfunc_2cEv .global data_ov15_0218eaa8 data_ov15_0218eaa8: ; 0x0218eaa8 .word _ZN5Actor8vfunc_30Ev .global data_ov15_0218eaac data_ov15_0218eaac: ; 0x0218eaac .word _ZN5Actor12GetOffsetPosEP5Vec3p .global data_ov15_0218eab0 data_ov15_0218eab0: ; 0x0218eab0 .word _ZN5Actor8vfunc_38Ev .global data_ov15_0218eab4 data_ov15_0218eab4: ; 0x0218eab4 .word _ZN5Actor16CollidesWithLinkEv .global data_ov15_0218eab8 data_ov15_0218eab8: ; 0x0218eab8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218eabc data_ov15_0218eabc: ; 0x0218eabc .word _ZN5Actor12CollidesWithEPKS_ .global data_ov15_0218eac0 data_ov15_0218eac0: ; 0x0218eac0 .word _ZN5Actor8vfunc_48Ei .global data_ov15_0218eac4 data_ov15_0218eac4: ; 0x0218eac4 .word _ZN5Actor8vfunc_4cEPi .global data_ov15_0218eac8 data_ov15_0218eac8: ; 0x0218eac8 .word _ZN5Actor6GetPosEv .global data_ov15_0218eacc data_ov15_0218eacc: ; 0x0218eacc .word _ZN5Actor8vfunc_54Ev .global data_ov15_0218ead0 data_ov15_0218ead0: ; 0x0218ead0 .word _ZN5Actor10SetUnk_11bEv .global data_ov15_0218ead4 data_ov15_0218ead4: ; 0x0218ead4 .word _ZN5Actor11SetVelocityEP5Vec3p .global data_ov15_0218ead8 data_ov15_0218ead8: ; 0x0218ead8 .word _ZN5Actor8vfunc_60Ev .global data_ov15_0218eadc data_ov15_0218eadc: ; 0x0218eadc .word _ZN5Actor8vfunc_64Ev .global data_ov15_0218eae0 data_ov15_0218eae0: ; 0x0218eae0 .word _ZN5Actor8vfunc_68Ev .global data_ov15_0218eae4 data_ov15_0218eae4: ; 0x0218eae4 .word _ZN5Actor8vfunc_6cEv .global data_ov15_0218eae8 data_ov15_0218eae8: ; 0x0218eae8 .word _ZN5Actor8vfunc_70Ev .global data_ov15_0218eaec data_ov15_0218eaec: ; 0x0218eaec .word _ZN5Actor8vfunc_74Ev .global data_ov15_0218eaf0 data_ov15_0218eaf0: ; 0x0218eaf0 .word _ZN5Actor8vfunc_78Ev .global data_ov15_0218eaf4 data_ov15_0218eaf4: ; 0x0218eaf4 .word _ZN5Actor8vfunc_7cEv .global data_ov15_0218eaf8 data_ov15_0218eaf8: ; 0x0218eaf8 .word _ZN5Actor8vfunc_80Ev .global data_ov15_0218eafc data_ov15_0218eafc: ; 0x0218eafc .word _ZN5Actor8vfunc_84Ev .global data_ov15_0218eb00 data_ov15_0218eb00: ; 0x0218eb00 .word _ZN5Actor8vfunc_88Ev .global data_ov15_0218eb04 data_ov15_0218eb04: ; 0x0218eb04 .word _ZN5Actor8vfunc_8cEv .global data_ov15_0218eb08 data_ov15_0218eb08: ; 0x0218eb08 .word _ZN5Actor8vfunc_90Ev .global data_ov15_0218eb0c data_ov15_0218eb0c: ; 0x0218eb0c .word _ZN5Actor8vfunc_94Ev .global data_ov15_0218eb10 data_ov15_0218eb10: ; 0x0218eb10 .word _ZN5Actor8vfunc_98Ev .global data_ov15_0218eb14 data_ov15_0218eb14: ; 0x0218eb14 .word _ZN5Actor8vfunc_9cEv .global data_ov15_0218eb18 data_ov15_0218eb18: ; 0x0218eb18 .word _ZN5Actor15TrySetTransformEP9Transform .global data_ov15_0218eb1c data_ov15_0218eb1c: ; 0x0218eb1c .word _ZN5Actor12SetTransformEP9Transform .global data_ov15_0218eb20 data_ov15_0218eb20: ; 0x0218eb20 .word _ZN5Actor8vfunc_a8Ev .global data_ov15_0218eb24 data_ov15_0218eb24: ; 0x0218eb24 .word _ZN5Actor8vfunc_acEv .global data_ov15_0218eb28 data_ov15_0218eb28: ; 0x0218eb28 .word _ZN5Actor8vfunc_b0Ev .global data_ov15_0218eb2c data_ov15_0218eb2c: ; 0x0218eb2c .ascii "UIMSea" .byte 0x00, 0x00 .global data_ov15_0218eb34 data_ov15_0218eb34: ; 0x0218eb34 .ascii "salvageM" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218eb40 data_ov15_0218eb40: ; 0x0218eb40 .ascii "fishingM" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218eb4c data_ov15_0218eb4c: ; 0x0218eb4c .ascii "lastBossS" .byte 0x00, 0x00, 0x00 .global data_ov15_0218eb58 data_ov15_0218eb58: ; 0x0218eb58 .ascii "fishingMU" .byte 0x00, 0x00, 0x00 .global data_ov15_0218eb64 data_ov15_0218eb64: ; 0x0218eb64 .ascii "lastBossS" .byte 0x00, 0x00, 0x00 .global data_ov15_0218eb70 data_ov15_0218eb70: ; 0x0218eb70 .ascii "fishingMD" .byte 0x00, 0x00, 0x00 .global data_ov15_0218eb7c data_ov15_0218eb7c: ; 0x0218eb7c .ascii "salvageM00" .byte 0x00, 0x00 .global data_ov15_0218eb88 data_ov15_0218eb88: ; 0x0218eb88 .ascii "UIMSeaLife" .byte 0x00, 0x00 .global data_ov15_0218eb94 data_ov15_0218eb94: ; 0x0218eb94 .ascii "UIMSeaGear" .byte 0x00, 0x00 .global data_ov15_0218eba0 data_ov15_0218eba0: ; 0x0218eba0 .ascii "UIMSeaMenu" .byte 0x00, 0x00 .global data_ov15_0218ebac data_ov15_0218ebac: ; 0x0218ebac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov15_0218ebb0 data_ov15_0218ebb0: ; 0x0218ebb0 .ascii "LFM" .byte 0x00 .global data_ov15_0218ebb4 data_ov15_0218ebb4: ; 0x0218ebb4 .ascii "zdi_sea_lensf" .byte 0x00, 0x00, 0x00 .global data_ov15_0218ebc4 data_ov15_0218ebc4: ; 0x0218ebc4 .ascii "Environment/Filter/" .byte 0x00 .global data_ov15_0218ebd8 data_ov15_0218ebd8: ; 0x0218ebd8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov15_0218ebdc data_ov15_0218ebdc: ; 0x0218ebdc .byte 0x00, 0x00, 0x00, 0x00 ; 0x0218ebe0 .bss .global data_ov15_0218ebe0 data_ov15_0218ebe0: .space 0x4 .global data_ov15_0218ebe4 data_ov15_0218ebe4: .space 0x4 .global data_ov15_0218ebe8 data_ov15_0218ebe8: .space 0x4 .global data_ov15_0218ebec data_ov15_0218ebec: .space 0x4 .global data_ov15_0218ebf0 data_ov15_0218ebf0: .space 0x4 .global data_ov15_0218ebf4 data_ov15_0218ebf4: .space 0x4 .global data_ov15_0218ebf8 data_ov15_0218ebf8: .space 0x4 .global data_ov15_0218ebfc data_ov15_0218ebfc: .space 0x4 .global data_ov15_0218ec00 data_ov15_0218ec00: .space 0x4 .global data_ov15_0218ec04 data_ov15_0218ec04: .space 0x4 .global data_ov15_0218ec08 data_ov15_0218ec08: .space 0x4 .global data_ov15_0218ec0c data_ov15_0218ec0c: .space 0x4 .global data_ov15_0218ec10 data_ov15_0218ec10: .space 0x4 .global data_ov15_0218ec14 data_ov15_0218ec14: .space 0x4 .global data_ov15_0218ec18 data_ov15_0218ec18: .space 0x4 .global data_ov15_0218ec1c data_ov15_0218ec1c: .space 0x4 .global data_ov15_0218ec20 data_ov15_0218ec20: .space 0x4 .global data_ov15_0218ec24 data_ov15_0218ec24: .space 0x4 .global data_ov15_0218ec28 data_ov15_0218ec28: .space 0x4 .global data_ov15_0218ec2c data_ov15_0218ec2c: .space 0x4 .global data_ov15_0218ec30 data_ov15_0218ec30: .space 0x4 .global data_ov15_0218ec34 data_ov15_0218ec34: .space 0x4 .global data_ov15_0218ec38 data_ov15_0218ec38: .space 0x4 .global data_ov15_0218ec3c data_ov15_0218ec3c: .space 0x4 .global data_ov15_0218ec40 data_ov15_0218ec40: .space 0x4 .global data_ov15_0218ec44 data_ov15_0218ec44: .space 0x4 .global data_ov15_0218ec48 data_ov15_0218ec48: .space 0x4 .global data_ov15_0218ec4c data_ov15_0218ec4c: .space 0x4 .global data_ov15_0218ec50 data_ov15_0218ec50: .space 0x4 .global data_ov15_0218ec54 data_ov15_0218ec54: .space 0x4 .global data_ov15_0218ec58 data_ov15_0218ec58: .space 0x4 .global data_ov15_0218ec5c data_ov15_0218ec5c: .space 0x4 .global data_ov15_0218ec60 data_ov15_0218ec60: .space 0x4 .global data_ov15_0218ec64 data_ov15_0218ec64: .space 0x4 .global data_ov15_0218ec68 data_ov15_0218ec68: .space 0x4 .global data_ov15_0218ec6c data_ov15_0218ec6c: .space 0x4 .global data_ov15_0218ec70 data_ov15_0218ec70: .space 0x4 .global data_ov15_0218ec74 data_ov15_0218ec74: .space 0x4 .global data_ov15_0218ec78 data_ov15_0218ec78: .space 0x4 .global data_ov15_0218ec7c data_ov15_0218ec7c: .space 0x4 .global data_ov15_0218ec80 data_ov15_0218ec80: .space 0x4 .global data_ov15_0218ec84 data_ov15_0218ec84: .space 0x4 .global data_ov15_0218ec88 data_ov15_0218ec88: .space 0x4 .global data_ov15_0218ec8c data_ov15_0218ec8c: .space 0x4 .global data_ov15_0218ec90 data_ov15_0218ec90: .space 0x4 .global data_ov15_0218ec94 data_ov15_0218ec94: .space 0x4 .global data_ov15_0218ec98 data_ov15_0218ec98: .space 0x4 .global data_ov15_0218ec9c data_ov15_0218ec9c: .space 0x4 .global data_ov15_0218eca0 data_ov15_0218eca0: .space 0x4 .global data_ov15_0218eca4 data_ov15_0218eca4: .space 0x4 .global data_ov15_0218eca8 data_ov15_0218eca8: .space 0x4 .global data_ov15_0218ecac data_ov15_0218ecac: .space 0x4 .global data_ov15_0218ecb0 data_ov15_0218ecb0: .space 0x4 .global data_ov15_0218ecb4 data_ov15_0218ecb4: .space 0x4 .global data_ov15_0218ecb8 data_ov15_0218ecb8: .space 0x4 .global data_ov15_0218ecbc data_ov15_0218ecbc: .space 0x4 .global data_ov15_0218ecc0 data_ov15_0218ecc0: .space 0x4 .global data_ov15_0218ecc4 data_ov15_0218ecc4: .space 0x4 .global data_ov15_0218ecc8 data_ov15_0218ecc8: .space 0x4 .global data_ov15_0218eccc data_ov15_0218eccc: .space 0x4 .global data_ov15_0218ecd0 data_ov15_0218ecd0: .space 0x4 .global data_ov15_0218ecd4 data_ov15_0218ecd4: .space 0x4 .global data_ov15_0218ecd8 data_ov15_0218ecd8: .space 0x4 .global data_ov15_0218ecdc data_ov15_0218ecdc: .space 0x4 .global data_ov15_0218ece0 data_ov15_0218ece0: .space 0x4 .global data_ov15_0218ece4 data_ov15_0218ece4: .space 0x4 .global data_ov15_0218ece8 data_ov15_0218ece8: .space 0x4 .global data_ov15_0218ecec data_ov15_0218ecec: .space 0x4 .global data_ov15_0218ecf0 data_ov15_0218ecf0: .space 0x4 .global data_ov15_0218ecf4 data_ov15_0218ecf4: .space 0x4 .global data_ov15_0218ecf8 data_ov15_0218ecf8: .space 0x4 .global data_ov15_0218ecfc data_ov15_0218ecfc: .space 0x4 .global data_ov15_0218ed00 data_ov15_0218ed00: .space 0x4 .global data_ov15_0218ed04 data_ov15_0218ed04: .space 0x4 .global data_ov15_0218ed08 data_ov15_0218ed08: .space 0x4 .global data_ov15_0218ed0c data_ov15_0218ed0c: .space 0x4 .global data_ov15_0218ed10 data_ov15_0218ed10: .space 0x4 .global data_ov15_0218ed14 data_ov15_0218ed14: .space 0x4 .global data_ov15_0218ed18 data_ov15_0218ed18: .space 0x4 .global data_ov15_0218ed1c data_ov15_0218ed1c: .space 0x4 .global data_ov15_0218ed20 data_ov15_0218ed20: .space 0x4 .global data_ov15_0218ed24 data_ov15_0218ed24: .space 0x4 .global data_ov15_0218ed28 data_ov15_0218ed28: .space 0x4 .global data_ov15_0218ed2c data_ov15_0218ed2c: .space 0x4 .global data_ov15_0218ed30 data_ov15_0218ed30: .space 0x4 .global data_ov15_0218ed34 data_ov15_0218ed34: .space 0x4 .global data_ov15_0218ed38 data_ov15_0218ed38: .space 0x4 .global data_ov15_0218ed3c data_ov15_0218ed3c: .space 0x4 .global data_ov15_0218ed40 data_ov15_0218ed40: .space 0x4 .global data_ov15_0218ed44 data_ov15_0218ed44: .space 0x4 .global data_ov15_0218ed48 data_ov15_0218ed48: .space 0x4 .global data_ov15_0218ed4c data_ov15_0218ed4c: .space 0x4 .global data_ov15_0218ed50 data_ov15_0218ed50: .space 0x4 .global data_ov15_0218ed54 data_ov15_0218ed54: .space 0x4 .global data_ov15_0218ed58 data_ov15_0218ed58: .space 0x4 .global data_ov15_0218ed5c data_ov15_0218ed5c: .space 0x4 .global data_ov15_0218ed60 data_ov15_0218ed60: .space 0x4 .global data_ov15_0218ed64 data_ov15_0218ed64: .space 0x4 .global data_ov15_0218ed68 data_ov15_0218ed68: .space 0x4 .global data_ov15_0218ed6c data_ov15_0218ed6c: .space 0x4 .global data_ov15_0218ed70 data_ov15_0218ed70: .space 0x4 .global data_ov15_0218ed74 data_ov15_0218ed74: .space 0x4 .global data_ov15_0218ed78 data_ov15_0218ed78: .space 0x4 .global data_ov15_0218ed7c data_ov15_0218ed7c: .space 0x4 .global data_ov15_0218ed80 data_ov15_0218ed80: .space 0x4 .global data_ov15_0218ed84 data_ov15_0218ed84: .space 0x4 .global data_ov15_0218ed88 data_ov15_0218ed88: .space 0x4 .global data_ov15_0218ed8c data_ov15_0218ed8c: .space 0x4 .global data_ov15_0218ed90 data_ov15_0218ed90: .space 0x4 .global data_ov15_0218ed94 data_ov15_0218ed94: .space 0x4 .global data_ov15_0218ed98 data_ov15_0218ed98: .space 0x4 .global data_ov15_0218ed9c data_ov15_0218ed9c: .space 0x4 .global data_ov15_0218eda0 data_ov15_0218eda0: .space 0x4 .global data_ov15_0218eda4 data_ov15_0218eda4: .space 0x4 .global data_ov15_0218eda8 data_ov15_0218eda8: .space 0x4 .global data_ov15_0218edac data_ov15_0218edac: .space 0x4 .global data_ov15_0218edb0 data_ov15_0218edb0: .space 0x4 .global data_ov15_0218edb4 data_ov15_0218edb4: .space 0x4 .global data_ov15_0218edb8 data_ov15_0218edb8: .space 0x4 .global data_ov15_0218edbc data_ov15_0218edbc: .space 0x4 .global data_ov15_0218edc0 data_ov15_0218edc0: .space 0x4 .global data_ov15_0218edc4 data_ov15_0218edc4: .space 0x4 .global data_ov15_0218edc8 data_ov15_0218edc8: .space 0x4 .global data_ov15_0218edcc data_ov15_0218edcc: .space 0x4 .global data_ov15_0218edd0 data_ov15_0218edd0: .space 0x4 .global data_ov15_0218edd4 data_ov15_0218edd4: .space 0x4 .global data_ov15_0218edd8 data_ov15_0218edd8: .space 0x4 .global data_ov15_0218eddc data_ov15_0218eddc: .space 0x4 .global data_ov15_0218ede0 data_ov15_0218ede0: .space 0x4 .global data_ov15_0218ede4 data_ov15_0218ede4: .space 0x4 .global data_ov15_0218ede8 data_ov15_0218ede8: .space 0x4 .global data_ov15_0218edec data_ov15_0218edec: .space 0x4 .global data_ov15_0218edf0 data_ov15_0218edf0: .space 0x4 .global data_ov15_0218edf4 data_ov15_0218edf4: .space 0x4 .global data_ov15_0218edf8 data_ov15_0218edf8: .space 0x4 .global data_ov15_0218edfc data_ov15_0218edfc: .space 0x4 .global data_ov15_0218ee00 data_ov15_0218ee00: .space 0x4 .global data_ov15_0218ee04 data_ov15_0218ee04: .space 0x4 .global data_ov15_0218ee08 data_ov15_0218ee08: .space 0x4 .global data_ov15_0218ee0c data_ov15_0218ee0c: .space 0x4 .global data_ov15_0218ee10 data_ov15_0218ee10: .space 0x4 .global data_ov15_0218ee14 data_ov15_0218ee14: .space 0x4 .global data_ov15_0218ee18 data_ov15_0218ee18: .space 0x4 .global data_ov15_0218ee1c data_ov15_0218ee1c: .space 0x4 .global data_ov15_0218ee20 data_ov15_0218ee20: .space 0x4 .global data_ov15_0218ee24 data_ov15_0218ee24: .space 0x4 .global data_ov15_0218ee28 data_ov15_0218ee28: .space 0x4 .global data_ov15_0218ee2c data_ov15_0218ee2c: .space 0x4 .global data_ov15_0218ee30 data_ov15_0218ee30: .space 0x4 .global data_ov15_0218ee34 data_ov15_0218ee34: .space 0x4 .global data_ov15_0218ee38 data_ov15_0218ee38: .space 0x4 .global data_ov15_0218ee3c data_ov15_0218ee3c: .space 0x4 .global data_ov15_0218ee40 data_ov15_0218ee40: .space 0x4 .global data_ov15_0218ee44 data_ov15_0218ee44: .space 0x4 .global data_ov15_0218ee48 data_ov15_0218ee48: .space 0x4 .global data_ov15_0218ee4c data_ov15_0218ee4c: .space 0x4 .global data_ov15_0218ee50 data_ov15_0218ee50: .space 0x4 .global data_ov15_0218ee54 data_ov15_0218ee54: .space 0x4 .global data_ov15_0218ee58 data_ov15_0218ee58: .space 0x4 .global data_ov15_0218ee5c data_ov15_0218ee5c: .space 0x4 .global data_ov15_0218ee60 data_ov15_0218ee60: .space 0x4 .global data_ov15_0218ee64 data_ov15_0218ee64: .space 0x4 .global data_ov15_0218ee68 data_ov15_0218ee68: .space 0x4 .global data_ov15_0218ee6c data_ov15_0218ee6c: .space 0x4 .global data_ov15_0218ee70 data_ov15_0218ee70: .space 0x4 .global data_ov15_0218ee74 data_ov15_0218ee74: .space 0x4 .global data_ov15_0218ee78 data_ov15_0218ee78: .space 0x4 .global data_ov15_0218ee7c data_ov15_0218ee7c: .space 0x4 .global data_ov15_0218ee80 data_ov15_0218ee80: .space 0x4 .global data_ov15_0218ee84 data_ov15_0218ee84: .space 0x4 .global data_ov15_0218ee88 data_ov15_0218ee88: .space 0x4 .global data_ov15_0218ee8c data_ov15_0218ee8c: .space 0x4 .global data_ov15_0218ee90 data_ov15_0218ee90: .space 0x4 .global data_ov15_0218ee94 data_ov15_0218ee94: .space 0x4 .global data_ov15_0218ee98 data_ov15_0218ee98: .space 0x4 .global data_ov15_0218ee9c data_ov15_0218ee9c: .space 0x4 .global data_ov15_0218eea0 data_ov15_0218eea0: .space 0x4 .global data_ov15_0218eea4 data_ov15_0218eea4: .space 0x4 .global data_ov15_0218eea8 data_ov15_0218eea8: .space 0x4 .global data_ov15_0218eeac data_ov15_0218eeac: .space 0x4 .global data_ov15_0218eeb0 data_ov15_0218eeb0: .space 0x4 .global data_ov15_0218eeb4 data_ov15_0218eeb4: .space 0x4 .global data_ov15_0218eeb8 data_ov15_0218eeb8: .space 0x4 .global data_ov15_0218eebc data_ov15_0218eebc: .space 0x4 .global data_ov15_0218eec0 data_ov15_0218eec0: .space 0x4 .global data_ov15_0218eec4 data_ov15_0218eec4: .space 0x2 .global data_ov15_0218eec6 data_ov15_0218eec6: .space 0x2 .global data_ov15_0218eec8 data_ov15_0218eec8: .space 0x2 .global data_ov15_0218eeca data_ov15_0218eeca: .space 0x2 .global data_ov15_0218eecc data_ov15_0218eecc: .space 0x2 .global data_ov15_0218eece data_ov15_0218eece: .space 0x2 .global data_ov15_0218eed0 data_ov15_0218eed0: .space 0x2 .global data_ov15_0218eed2 data_ov15_0218eed2: .space 0x2 .global data_ov15_0218eed4 data_ov15_0218eed4: .space 0x2 .global data_ov15_0218eed6 data_ov15_0218eed6: .space 0x2 .global data_ov15_0218eed8 data_ov15_0218eed8: .space 0x2 .global data_ov15_0218eeda data_ov15_0218eeda: .space 0x2 .global data_ov15_0218eedc data_ov15_0218eedc: .space 0x4 .global data_ov15_0218eee0 data_ov15_0218eee0: .space 0x4 .global data_ov15_0218eee4 data_ov15_0218eee4: .space 0x4 .global data_ov15_0218eee8 data_ov15_0218eee8: .space 0x4 .global data_ov15_0218eeec data_ov15_0218eeec: .space 0x4 .global data_ov15_0218eef0 data_ov15_0218eef0: .space 0x4 .global data_ov15_0218eef4 data_ov15_0218eef4: .space 0x4 .global data_ov15_0218eef8 data_ov15_0218eef8: .space 0x4 .global data_ov15_0218eefc data_ov15_0218eefc: .space 0x4 .global data_ov15_0218ef00 data_ov15_0218ef00: .space 0x4 .global data_ov15_0218ef04 data_ov15_0218ef04: .space 0x4 .global data_ov15_0218ef08 data_ov15_0218ef08: .space 0x4 .global data_ov15_0218ef0c data_ov15_0218ef0c: .space 0x4 .global data_ov15_0218ef10 data_ov15_0218ef10: .space 0x4 .global data_ov15_0218ef14 data_ov15_0218ef14: .space 0x4 .global data_ov15_0218ef18 data_ov15_0218ef18: .space 0x4 .global data_ov15_0218ef1c data_ov15_0218ef1c: .space 0x4 .global data_ov15_0218ef20 data_ov15_0218ef20: .space 0x4 .global data_ov15_0218ef24 data_ov15_0218ef24: .space 0x4 .global data_ov15_0218ef28 data_ov15_0218ef28: .space 0x4 .global data_ov15_0218ef2c data_ov15_0218ef2c: .space 0x4 .global data_ov15_0218ef30 data_ov15_0218ef30: .space 0x4 .global data_ov15_0218ef34 data_ov15_0218ef34: .space 0x4 .global data_ov15_0218ef38 data_ov15_0218ef38: .space 0x4 .global data_ov15_0218ef3c data_ov15_0218ef3c: .space 0x4 .global data_ov15_0218ef40 data_ov15_0218ef40: .space 0x4 .global data_ov15_0218ef44 data_ov15_0218ef44: .space 0x4 .global data_ov15_0218ef48 data_ov15_0218ef48: .space 0x4 .global data_ov15_0218ef4c data_ov15_0218ef4c: .space 0x4 .global data_ov15_0218ef50 data_ov15_0218ef50: .space 0x4 .global data_ov15_0218ef54 data_ov15_0218ef54: .space 0x4 .global data_ov15_0218ef58 data_ov15_0218ef58: .space 0x4 .global data_ov15_0218ef5c data_ov15_0218ef5c: .space 0x4 .global data_ov15_0218ef60 data_ov15_0218ef60: .space 0x4 .global data_ov15_0218ef64 data_ov15_0218ef64: .space 0x4 .global data_ov15_0218ef68 data_ov15_0218ef68: .space 0x4 .global data_ov15_0218ef6c data_ov15_0218ef6c: .space 0x4 .global data_ov15_0218ef70 data_ov15_0218ef70: .space 0x4 .global data_ov15_0218ef74 data_ov15_0218ef74: .space 0x4 .global data_ov15_0218ef78 data_ov15_0218ef78: .space 0x4 .global data_ov15_0218ef7c data_ov15_0218ef7c: .space 0x4 .global data_ov15_0218ef80 data_ov15_0218ef80: .space 0x4 .global data_ov15_0218ef84 data_ov15_0218ef84: .space 0x4 .global data_ov15_0218ef88 data_ov15_0218ef88: .space 0x4 .global data_ov15_0218ef8c data_ov15_0218ef8c: .space 0x4 .global data_ov15_0218ef90 data_ov15_0218ef90: .space 0x4 .global data_ov15_0218ef94 data_ov15_0218ef94: .space 0x4 .global data_ov15_0218ef98 data_ov15_0218ef98: .space 0x4 .global data_ov15_0218ef9c data_ov15_0218ef9c: .space 0x2 .global data_ov15_0218ef9e data_ov15_0218ef9e: .space 0x2 .global data_ov15_0218efa0 data_ov15_0218efa0: .space 0x2 .global data_ov15_0218efa2 data_ov15_0218efa2: .space 0x2 .global data_ov15_0218efa4 data_ov15_0218efa4: .space 0x2 .global data_ov15_0218efa6 data_ov15_0218efa6: .space 0x2 .global data_ov15_0218efa8 data_ov15_0218efa8: .space 0x2 .global data_ov15_0218efaa data_ov15_0218efaa: .space 0x2 .global data_ov15_0218efac data_ov15_0218efac: .space 0x2 .global data_ov15_0218efae data_ov15_0218efae: .space 0x2 .global data_ov15_0218efb0 data_ov15_0218efb0: .space 0x2 .global data_ov15_0218efb2 data_ov15_0218efb2: .space 0x2 .global data_ov15_0218efb4 data_ov15_0218efb4: .space 0x2 .global data_ov15_0218efb6 data_ov15_0218efb6: .space 0x2 .global data_ov15_0218efb8 data_ov15_0218efb8: .space 0x2 .global data_ov15_0218efba data_ov15_0218efba: .space 0x2 .global data_ov15_0218efbc data_ov15_0218efbc: .space 0x2 .global data_ov15_0218efbe data_ov15_0218efbe: .space 0x2 .global data_ov15_0218efc0 data_ov15_0218efc0: .space 0x2 .global data_ov15_0218efc2 data_ov15_0218efc2: .space 0x2 .global data_ov15_0218efc4 data_ov15_0218efc4: .space 0x2 .global data_ov15_0218efc6 data_ov15_0218efc6: .space 0x1 .global data_ov15_0218efc7 data_ov15_0218efc7: .space 0x1 .global data_ov15_0218efc8 data_ov15_0218efc8: .space 0x1 .global data_ov15_0218efc9 data_ov15_0218efc9: .space 0x1 .global data_ov15_0218efca data_ov15_0218efca: .space 0x1 .global data_ov15_0218efcb data_ov15_0218efcb: .space 0x1 .global data_ov15_0218efcc data_ov15_0218efcc: .space 0x1 .global data_ov15_0218efcd data_ov15_0218efcd: .space 0x1 .global data_ov15_0218efce data_ov15_0218efce: .space 0x1 .global data_ov15_0218efcf data_ov15_0218efcf: .space 0x1 .global data_ov15_0218efd0 data_ov15_0218efd0: .space 0x1 .global data_ov15_0218efd1 data_ov15_0218efd1: .space 0x1 .global data_ov15_0218efd2 data_ov15_0218efd2: .space 0x1 .global data_ov15_0218efd3 data_ov15_0218efd3: .space 0x1 .global data_ov15_0218efd4 data_ov15_0218efd4: .space 0x1 .global data_ov15_0218efd5 data_ov15_0218efd5: .space 0x1 .global data_ov15_0218efd6 data_ov15_0218efd6: .space 0x1 .global data_ov15_0218efd7 data_ov15_0218efd7: .space 0x1 .global data_ov15_0218efd8 data_ov15_0218efd8: .space 0x4 .global data_ov15_0218efdc data_ov15_0218efdc: .space 0x4 .global data_ov15_0218efe0 data_ov15_0218efe0: .space 0x4 .global data_ov15_0218efe4 data_ov15_0218efe4: .space 0x4 .global data_ov15_0218efe8 data_ov15_0218efe8: .space 0x4 .global data_ov15_0218efec data_ov15_0218efec: .space 0x4 .global data_ov15_0218eff0 data_ov15_0218eff0: .space 0x4 .global data_ov15_0218eff4 data_ov15_0218eff4: .space 0x4 .global data_ov15_0218eff8 data_ov15_0218eff8: .space 0x4 .global data_ov15_0218effc data_ov15_0218effc: .space 0x4 .global data_ov15_0218f000 data_ov15_0218f000: .space 0x4 .global data_ov15_0218f004 data_ov15_0218f004: .space 0x4 .global data_ov15_0218f008 data_ov15_0218f008: .space 0x2 .global data_ov15_0218f00a data_ov15_0218f00a: .space 0x2 .global data_ov15_0218f00c data_ov15_0218f00c: .space 0x2 .global data_ov15_0218f00e data_ov15_0218f00e: .space 0x2 .global data_ov15_0218f010 data_ov15_0218f010: .space 0x2 .global data_ov15_0218f012 data_ov15_0218f012: .space 0x2 .global data_ov15_0218f014 data_ov15_0218f014: .space 0x2 .global data_ov15_0218f016 data_ov15_0218f016: .space 0x2 .global data_ov15_0218f018 data_ov15_0218f018: .space 0x2 .global data_ov15_0218f01a data_ov15_0218f01a: .space 0x2 .global data_ov15_0218f01c data_ov15_0218f01c: .space 0x2 .global data_ov15_0218f01e data_ov15_0218f01e: .space 0x2 .global data_ov15_0218f020 data_ov15_0218f020: .space 0x2 .global data_ov15_0218f022 data_ov15_0218f022: .space 0x2 .global data_ov15_0218f024 data_ov15_0218f024: .space 0x2 .global data_ov15_0218f026 data_ov15_0218f026: .space 0x2 .global data_ov15_0218f028 data_ov15_0218f028: .space 0x2 .global data_ov15_0218f02a data_ov15_0218f02a: .space 0x2 .global data_ov15_0218f02c data_ov15_0218f02c: .space 0x2 .global data_ov15_0218f02e data_ov15_0218f02e: .space 0x2 .global data_ov15_0218f030 data_ov15_0218f030: .space 0x2 .global data_ov15_0218f032 data_ov15_0218f032: .space 0x2 .global data_ov15_0218f034 data_ov15_0218f034: .space 0x2 .global data_ov15_0218f036 data_ov15_0218f036: .space 0x2 .global data_ov15_0218f038 data_ov15_0218f038: .space 0x2 .global data_ov15_0218f03a data_ov15_0218f03a: .space 0x2 .global data_ov15_0218f03c data_ov15_0218f03c: .space 0x2 .global data_ov15_0218f03e data_ov15_0218f03e: .space 0x2 .global data_ov15_0218f040 data_ov15_0218f040: .space 0x2 .global data_ov15_0218f042 data_ov15_0218f042: .space 0x2 .global data_ov15_0218f044 data_ov15_0218f044: .space 0x2 .global data_ov15_0218f046 data_ov15_0218f046: .space 0x2 .global data_ov15_0218f048 data_ov15_0218f048: .space 0x2 .global data_ov15_0218f04a data_ov15_0218f04a: .space 0x2 .global data_ov15_0218f04c data_ov15_0218f04c: .space 0x2 .global data_ov15_0218f04e data_ov15_0218f04e: .space 0x2 .global data_ov15_0218f050 data_ov15_0218f050: .space 0x2 .global data_ov15_0218f052 data_ov15_0218f052: .space 0x2 .global data_ov15_0218f054 data_ov15_0218f054: .space 0x2 .global data_ov15_0218f056 data_ov15_0218f056: .space 0x2 .global data_ov15_0218f058 data_ov15_0218f058: .space 0x2 .global data_ov15_0218f05a data_ov15_0218f05a: .space 0x2 .global data_ov15_0218f05c data_ov15_0218f05c: .space 0x2 .global data_ov15_0218f05e data_ov15_0218f05e: .space 0x2 .global data_ov15_0218f060 data_ov15_0218f060: .space 0x2 .global data_ov15_0218f062 data_ov15_0218f062: .space 0x2 .global data_ov15_0218f064 data_ov15_0218f064: .space 0x2 .global data_ov15_0218f066 data_ov15_0218f066: .space 0x2 .global data_ov15_0218f068 data_ov15_0218f068: .space 0x2 .global data_ov15_0218f06a data_ov15_0218f06a: .space 0x2 .global data_ov15_0218f06c data_ov15_0218f06c: .space 0x2 .global data_ov15_0218f06e data_ov15_0218f06e: .space 0x2 .global data_ov15_0218f070 data_ov15_0218f070: .space 0x2 .global data_ov15_0218f072 data_ov15_0218f072: .space 0x2 .global data_ov15_0218f074 data_ov15_0218f074: .space 0x2 .global data_ov15_0218f076 data_ov15_0218f076: .space 0x2 .global data_ov15_0218f078 data_ov15_0218f078: .space 0x2 .global data_ov15_0218f07a data_ov15_0218f07a: .space 0x2 .global data_ov15_0218f07c data_ov15_0218f07c: .space 0x2 .global data_ov15_0218f07e data_ov15_0218f07e: .space 0x2 .global data_ov15_0218f080 data_ov15_0218f080: .space 0x2 .global data_ov15_0218f082 data_ov15_0218f082: .space 0x2 .global data_ov15_0218f084 data_ov15_0218f084: .space 0x2 .global data_ov15_0218f086 data_ov15_0218f086: .space 0x2 .global data_ov15_0218f088 data_ov15_0218f088: .space 0x2 .global data_ov15_0218f08a data_ov15_0218f08a: .space 0x2 .global data_ov15_0218f08c data_ov15_0218f08c: .space 0x2 .global data_ov15_0218f08e data_ov15_0218f08e: .space 0x2 .global data_ov15_0218f090 data_ov15_0218f090: .space 0x2 .global data_ov15_0218f092 data_ov15_0218f092: .space 0x2 .global data_ov15_0218f094 data_ov15_0218f094: .space 0x2 .global data_ov15_0218f096 data_ov15_0218f096: .space 0x2 .global data_ov15_0218f098 data_ov15_0218f098: .space 0x2 .global data_ov15_0218f09a data_ov15_0218f09a: .space 0x2 .global data_ov15_0218f09c data_ov15_0218f09c: .space 0x2 .global data_ov15_0218f09e data_ov15_0218f09e: .space 0x2 .global data_ov15_0218f0a0 data_ov15_0218f0a0: .space 0x2 .global data_ov15_0218f0a2 data_ov15_0218f0a2: .space 0x2 .global data_ov15_0218f0a4 data_ov15_0218f0a4: .space 0x2 .global data_ov15_0218f0a6 data_ov15_0218f0a6: .space 0x2 .global data_ov15_0218f0a8 data_ov15_0218f0a8: .space 0x2 .global data_ov15_0218f0aa data_ov15_0218f0aa: .space 0x2 .global data_ov15_0218f0ac data_ov15_0218f0ac: .space 0x2 .global data_ov15_0218f0ae data_ov15_0218f0ae: .space 0x2 .global data_ov15_0218f0b0 data_ov15_0218f0b0: .space 0x2 .global data_ov15_0218f0b2 data_ov15_0218f0b2: .space 0x2 .global data_ov15_0218f0b4 data_ov15_0218f0b4: .space 0x2 .global data_ov15_0218f0b6 data_ov15_0218f0b6: .space 0x2 .global data_ov15_0218f0b8 data_ov15_0218f0b8: .space 0x2 .global data_ov15_0218f0ba data_ov15_0218f0ba: .space 0x2 .global data_ov15_0218f0bc data_ov15_0218f0bc: .space 0x2 .global data_ov15_0218f0be data_ov15_0218f0be: .space 0x2 .global data_ov15_0218f0c0 data_ov15_0218f0c0: .space 0x2 .global data_ov15_0218f0c2 data_ov15_0218f0c2: .space 0x2 .global data_ov15_0218f0c4 data_ov15_0218f0c4: .space 0x2 .global data_ov15_0218f0c6 data_ov15_0218f0c6: .space 0x2 .global data_ov15_0218f0c8 data_ov15_0218f0c8: .space 0x2 .global data_ov15_0218f0ca data_ov15_0218f0ca: .space 0x2 .global data_ov15_0218f0cc data_ov15_0218f0cc: .space 0x2 .global data_ov15_0218f0ce data_ov15_0218f0ce: .space 0x2 .global data_ov15_0218f0d0 data_ov15_0218f0d0: .space 0x2 .global data_ov15_0218f0d2 data_ov15_0218f0d2: .space 0x2 .global data_ov15_0218f0d4 data_ov15_0218f0d4: .space 0x2 .global data_ov15_0218f0d6 data_ov15_0218f0d6: .space 0x2 .global data_ov15_0218f0d8 data_ov15_0218f0d8: .space 0x2 .global data_ov15_0218f0da data_ov15_0218f0da: .space 0x2 .global data_ov15_0218f0dc data_ov15_0218f0dc: .space 0x2 .global data_ov15_0218f0de data_ov15_0218f0de: .space 0x2 .global data_ov15_0218f0e0 data_ov15_0218f0e0: .space 0x2 .global data_ov15_0218f0e2 data_ov15_0218f0e2: .space 0x2 .global data_ov15_0218f0e4 data_ov15_0218f0e4: .space 0x2 .global data_ov15_0218f0e6 data_ov15_0218f0e6: .space 0x2 .global data_ov15_0218f0e8 data_ov15_0218f0e8: .space 0x2 .global data_ov15_0218f0ea data_ov15_0218f0ea: .space 0x2 .global data_ov15_0218f0ec data_ov15_0218f0ec: .space 0x2 .global data_ov15_0218f0ee data_ov15_0218f0ee: .space 0x2 .global data_ov15_0218f0f0 data_ov15_0218f0f0: .space 0x2 .global data_ov15_0218f0f2 data_ov15_0218f0f2: .space 0x2 .global data_ov15_0218f0f4 data_ov15_0218f0f4: .space 0x2 .global data_ov15_0218f0f6 data_ov15_0218f0f6: .space 0x2 .global data_ov15_0218f0f8 data_ov15_0218f0f8: .space 0x2 .global data_ov15_0218f0fa data_ov15_0218f0fa: .space 0x2 .global data_ov15_0218f0fc data_ov15_0218f0fc: .space 0x2 .global data_ov15_0218f0fe data_ov15_0218f0fe: .space 0x2 .global data_ov15_0218f100 data_ov15_0218f100: .space 0x2 .global data_ov15_0218f102 data_ov15_0218f102: .space 0x2 .global data_ov15_0218f104 data_ov15_0218f104: .space 0x2 .global data_ov15_0218f106 data_ov15_0218f106: .space 0x2 .global data_ov15_0218f108 data_ov15_0218f108: .space 0x2 .global data_ov15_0218f10a data_ov15_0218f10a: .space 0x2 .global data_ov15_0218f10c data_ov15_0218f10c: .space 0x2 .global data_ov15_0218f10e data_ov15_0218f10e: .space 0x2 .global data_ov15_0218f110 data_ov15_0218f110: .space 0x2 .global data_ov15_0218f112 data_ov15_0218f112: .space 0x2 .global data_ov15_0218f114 data_ov15_0218f114: .space 0x2 .global data_ov15_0218f116 data_ov15_0218f116: .space 0x2 .global data_ov15_0218f118 data_ov15_0218f118: .space 0x2 .global data_ov15_0218f11a data_ov15_0218f11a: .space 0x2 .global data_ov15_0218f11c data_ov15_0218f11c: .space 0x2 .global data_ov15_0218f11e data_ov15_0218f11e: .space 0x2 .global data_ov15_0218f120 data_ov15_0218f120: .space 0x2 .global data_ov15_0218f122 data_ov15_0218f122: .space 0x2 .global data_ov15_0218f124 data_ov15_0218f124: .space 0x2 .global data_ov15_0218f126 data_ov15_0218f126: .space 0x2 .global data_ov15_0218f128 data_ov15_0218f128: .space 0x2 .global data_ov15_0218f12a data_ov15_0218f12a: .space 0x2 .global data_ov15_0218f12c data_ov15_0218f12c: .space 0x2 .global data_ov15_0218f12e data_ov15_0218f12e: .space 0x2 .global data_ov15_0218f130 data_ov15_0218f130: .space 0x2 .global data_ov15_0218f132 data_ov15_0218f132: .space 0x2 .global data_ov15_0218f134 data_ov15_0218f134: .space 0x2 .global data_ov15_0218f136 data_ov15_0218f136: .space 0x2 .global data_ov15_0218f138 data_ov15_0218f138: .space 0x2 .global data_ov15_0218f13a data_ov15_0218f13a: .space 0x2 .global data_ov15_0218f13c data_ov15_0218f13c: .space 0x2 .global data_ov15_0218f13e data_ov15_0218f13e: .space 0x2 .global data_ov15_0218f140 data_ov15_0218f140: .space 0x2 .global data_ov15_0218f142 data_ov15_0218f142: .space 0x2 .global data_ov15_0218f144 data_ov15_0218f144: .space 0x2 .global data_ov15_0218f146 data_ov15_0218f146: .space 0x2 .global data_ov15_0218f148 data_ov15_0218f148: .space 0x2 .global data_ov15_0218f14a data_ov15_0218f14a: .space 0x2 .global data_ov15_0218f14c data_ov15_0218f14c: .space 0x2 .global data_ov15_0218f14e data_ov15_0218f14e: .space 0x2 .global data_ov15_0218f150 data_ov15_0218f150: .space 0x2 .global data_ov15_0218f152 data_ov15_0218f152: .space 0x2 .global data_ov15_0218f154 data_ov15_0218f154: .space 0x2 .global data_ov15_0218f156 data_ov15_0218f156: .space 0x2 .global data_ov15_0218f158 data_ov15_0218f158: .space 0x2 .global data_ov15_0218f15a data_ov15_0218f15a: .space 0x2 .global data_ov15_0218f15c data_ov15_0218f15c: .space 0x2 .global data_ov15_0218f15e data_ov15_0218f15e: .space 0x2 .global data_ov15_0218f160 data_ov15_0218f160: .space 0x2 .global data_ov15_0218f162 data_ov15_0218f162: .space 0x2 .global data_ov15_0218f164 data_ov15_0218f164: .space 0x2 .global data_ov15_0218f166 data_ov15_0218f166: .space 0x2 .global data_ov15_0218f168 data_ov15_0218f168: .space 0x2 .global data_ov15_0218f16a data_ov15_0218f16a: .space 0x2 .global data_ov15_0218f16c data_ov15_0218f16c: .space 0x2 .global data_ov15_0218f16e data_ov15_0218f16e: .space 0x2 .global data_ov15_0218f170 data_ov15_0218f170: .space 0x2 .global data_ov15_0218f172 data_ov15_0218f172: .space 0x2 .global data_ov15_0218f174 data_ov15_0218f174: .space 0x2 .global data_ov15_0218f176 data_ov15_0218f176: .space 0x2 .global data_ov15_0218f178 data_ov15_0218f178: .space 0x2 .global data_ov15_0218f17a data_ov15_0218f17a: .space 0x2 .global data_ov15_0218f17c data_ov15_0218f17c: .space 0x2 .global data_ov15_0218f17e data_ov15_0218f17e: .space 0x2 .global data_ov15_0218f180 data_ov15_0218f180: .space 0x2 .global data_ov15_0218f182 data_ov15_0218f182: .space 0x2 .global data_ov15_0218f184 data_ov15_0218f184: .space 0x2 .global data_ov15_0218f186 data_ov15_0218f186: .space 0x2 .global data_ov15_0218f188 data_ov15_0218f188: .space 0x2 .global data_ov15_0218f18a data_ov15_0218f18a: .space 0x2 .global data_ov15_0218f18c data_ov15_0218f18c: .space 0x2 .global data_ov15_0218f18e data_ov15_0218f18e: .space 0x2 .global data_ov15_0218f190 data_ov15_0218f190: .space 0x2 .global data_ov15_0218f192 data_ov15_0218f192: .space 0x2 .global data_ov15_0218f194 data_ov15_0218f194: .space 0x2 .global data_ov15_0218f196 data_ov15_0218f196: .space 0x2 .global data_ov15_0218f198 data_ov15_0218f198: .space 0x2 .global data_ov15_0218f19a data_ov15_0218f19a: .space 0x2 .global data_ov15_0218f19c data_ov15_0218f19c: .space 0x2 .global data_ov15_0218f19e data_ov15_0218f19e: .space 0x2 .global data_ov15_0218f1a0 data_ov15_0218f1a0: .space 0x2 .global data_ov15_0218f1a2 data_ov15_0218f1a2: .space 0x2 .global data_ov15_0218f1a4 data_ov15_0218f1a4: .space 0x2 .global data_ov15_0218f1a6 data_ov15_0218f1a6: .space 0x2 .global data_ov15_0218f1a8 data_ov15_0218f1a8: .space 0x2 .global data_ov15_0218f1aa data_ov15_0218f1aa: .space 0x2 .global data_ov15_0218f1ac data_ov15_0218f1ac: .space 0x2 .global data_ov15_0218f1ae data_ov15_0218f1ae: .space 0x2 .global data_ov15_0218f1b0 data_ov15_0218f1b0: .space 0x2 .global data_ov15_0218f1b2 data_ov15_0218f1b2: .space 0x2 .global data_ov15_0218f1b4 data_ov15_0218f1b4: .space 0x2 .global data_ov15_0218f1b6 data_ov15_0218f1b6: .space 0x2 .global data_ov15_0218f1b8 data_ov15_0218f1b8: .space 0x2 .global data_ov15_0218f1ba data_ov15_0218f1ba: .space 0x2 .global data_ov15_0218f1bc data_ov15_0218f1bc: .space 0x2 .global data_ov15_0218f1be data_ov15_0218f1be: .space 0x2 .global data_ov15_0218f1c0 data_ov15_0218f1c0: .space 0x2 .global data_ov15_0218f1c2 data_ov15_0218f1c2: .space 0x2 .global data_ov15_0218f1c4 data_ov15_0218f1c4: .space 0x2 .global data_ov15_0218f1c6 data_ov15_0218f1c6: .space 0x2 .global data_ov15_0218f1c8 data_ov15_0218f1c8: .space 0x2 .global data_ov15_0218f1ca data_ov15_0218f1ca: .space 0x2 .global data_ov15_0218f1cc data_ov15_0218f1cc: .space 0x2 .global data_ov15_0218f1ce data_ov15_0218f1ce: .space 0x2 .global data_ov15_0218f1d0 data_ov15_0218f1d0: .space 0x2 .global data_ov15_0218f1d2 data_ov15_0218f1d2: .space 0x2 .global data_ov15_0218f1d4 data_ov15_0218f1d4: .space 0x2 .global data_ov15_0218f1d6 data_ov15_0218f1d6: .space 0x2 .global data_ov15_0218f1d8 data_ov15_0218f1d8: .space 0x2 .global data_ov15_0218f1da data_ov15_0218f1da: .space 0x2 .global data_ov15_0218f1dc data_ov15_0218f1dc: .space 0x2 .global data_ov15_0218f1de data_ov15_0218f1de: .space 0x2 .global data_ov15_0218f1e0 data_ov15_0218f1e0: .space 0x2 .global data_ov15_0218f1e2 data_ov15_0218f1e2: .space 0x2 .global data_ov15_0218f1e4 data_ov15_0218f1e4: .space 0x2 .global data_ov15_0218f1e6 data_ov15_0218f1e6: .space 0x2 .global data_ov15_0218f1e8 data_ov15_0218f1e8: .space 0x2 .global data_ov15_0218f1ea data_ov15_0218f1ea: .space 0x2 .global data_ov15_0218f1ec data_ov15_0218f1ec: .space 0x2 .global data_ov15_0218f1ee data_ov15_0218f1ee: .space 0x2 .global data_ov15_0218f1f0 data_ov15_0218f1f0: .space 0x2 .global data_ov15_0218f1f2 data_ov15_0218f1f2: .space 0x2 .global data_ov15_0218f1f4 data_ov15_0218f1f4: .space 0x2 .global data_ov15_0218f1f6 data_ov15_0218f1f6: .space 0x2 .global data_ov15_0218f1f8 data_ov15_0218f1f8: .space 0x2 .global data_ov15_0218f1fa data_ov15_0218f1fa: .space 0x2 .global data_ov15_0218f1fc data_ov15_0218f1fc: .space 0x2 .global data_ov15_0218f1fe data_ov15_0218f1fe: .space 0x2 .global data_ov15_0218f200 data_ov15_0218f200: .space 0x2 .global data_ov15_0218f202 data_ov15_0218f202: .space 0x2 .global data_ov15_0218f204 data_ov15_0218f204: .space 0x2 .global data_ov15_0218f206 data_ov15_0218f206: .space 0x2 .global data_ov15_0218f208 data_ov15_0218f208: .space 0x2 .global data_ov15_0218f20a data_ov15_0218f20a: .space 0x2 .global data_ov15_0218f20c data_ov15_0218f20c: .space 0x2 .global data_ov15_0218f20e data_ov15_0218f20e: .space 0x2 .global data_ov15_0218f210 data_ov15_0218f210: .space 0x2 .global data_ov15_0218f212 data_ov15_0218f212: .space 0x2 .global data_ov15_0218f214 data_ov15_0218f214: .space 0x2 .global data_ov15_0218f216 data_ov15_0218f216: .space 0x2 .global data_ov15_0218f218 data_ov15_0218f218: .space 0x2 .global data_ov15_0218f21a data_ov15_0218f21a: .space 0x2 .global data_ov15_0218f21c data_ov15_0218f21c: .space 0x2 .global data_ov15_0218f21e data_ov15_0218f21e: .space 0x2 .global data_ov15_0218f220 data_ov15_0218f220: .space 0x2 .global data_ov15_0218f222 data_ov15_0218f222: .space 0x2 .global data_ov15_0218f224 data_ov15_0218f224: .space 0x2 .global data_ov15_0218f226 data_ov15_0218f226: .space 0x2 .global data_ov15_0218f228 data_ov15_0218f228: .space 0x2 .global data_ov15_0218f22a data_ov15_0218f22a: .space 0x2 .global data_ov15_0218f22c data_ov15_0218f22c: .space 0x2 .global data_ov15_0218f22e data_ov15_0218f22e: .space 0x2 .global data_ov15_0218f230 data_ov15_0218f230: .space 0x2 .global data_ov15_0218f232 data_ov15_0218f232: .space 0x2 .global data_ov15_0218f234 data_ov15_0218f234: .space 0x2 .global data_ov15_0218f236 data_ov15_0218f236: .space 0x2 .global data_ov15_0218f238 data_ov15_0218f238: .space 0x2 .global data_ov15_0218f23a data_ov15_0218f23a: .space 0x2 .global data_ov15_0218f23c data_ov15_0218f23c: .space 0x2 .global data_ov15_0218f23e data_ov15_0218f23e: .space 0x2 .global data_ov15_0218f240 data_ov15_0218f240: .space 0x2 .global data_ov15_0218f242 data_ov15_0218f242: .space 0x2 .global data_ov15_0218f244 data_ov15_0218f244: .space 0x2 .global data_ov15_0218f246 data_ov15_0218f246: .space 0x2 .global data_ov15_0218f248 data_ov15_0218f248: .space 0x2 .global data_ov15_0218f24a data_ov15_0218f24a: .space 0x2 .global data_ov15_0218f24c data_ov15_0218f24c: .space 0x2 .global data_ov15_0218f24e data_ov15_0218f24e: .space 0x2 .global data_ov15_0218f250 data_ov15_0218f250: .space 0x2 .global data_ov15_0218f252 data_ov15_0218f252: .space 0x2 .global data_ov15_0218f254 data_ov15_0218f254: .space 0x2 .global data_ov15_0218f256 data_ov15_0218f256: .space 0x2 .global data_ov15_0218f258 data_ov15_0218f258: .space 0x2 .global data_ov15_0218f25a data_ov15_0218f25a: .space 0x2 .global data_ov15_0218f25c data_ov15_0218f25c: .space 0x2 .global data_ov15_0218f25e data_ov15_0218f25e: .space 0x2 .global data_ov15_0218f260 data_ov15_0218f260: .space 0x2 .global data_ov15_0218f262 data_ov15_0218f262: .space 0x2 .global data_ov15_0218f264 data_ov15_0218f264: .space 0x2 .global data_ov15_0218f266 data_ov15_0218f266: .space 0x2 .global data_ov15_0218f268 data_ov15_0218f268: .space 0x2 .global data_ov15_0218f26a data_ov15_0218f26a: .space 0x2 .global data_ov15_0218f26c data_ov15_0218f26c: .space 0x2 .global data_ov15_0218f26e data_ov15_0218f26e: .space 0x2 .global data_ov15_0218f270 data_ov15_0218f270: .space 0x2 .global data_ov15_0218f272 data_ov15_0218f272: .space 0x2 .global data_ov15_0218f274 data_ov15_0218f274: .space 0x2 .global data_ov15_0218f276 data_ov15_0218f276: .space 0x2 .global data_ov15_0218f278 data_ov15_0218f278: .space 0x2 .global data_ov15_0218f27a data_ov15_0218f27a: .space 0x2 .global data_ov15_0218f27c data_ov15_0218f27c: .space 0x2 .global data_ov15_0218f27e data_ov15_0218f27e: .space 0x2 .global data_ov15_0218f280 data_ov15_0218f280: .space 0x2 .global data_ov15_0218f282 data_ov15_0218f282: .space 0x2 .global data_ov15_0218f284 data_ov15_0218f284: .space 0x2 .global data_ov15_0218f286 data_ov15_0218f286: .space 0x2 .global data_ov15_0218f288 data_ov15_0218f288: .space 0x2 .global data_ov15_0218f28a data_ov15_0218f28a: .space 0x2 .global data_ov15_0218f28c data_ov15_0218f28c: .space 0x2 .global data_ov15_0218f28e data_ov15_0218f28e: .space 0x2 .global data_ov15_0218f290 data_ov15_0218f290: .space 0x2 .global data_ov15_0218f292 data_ov15_0218f292: .space 0x2 .global data_ov15_0218f294 data_ov15_0218f294: .space 0x2 .global data_ov15_0218f296 data_ov15_0218f296: .space 0x2 .global data_ov15_0218f298 data_ov15_0218f298: .space 0x2 .global data_ov15_0218f29a data_ov15_0218f29a: .space 0x2 .global data_ov15_0218f29c data_ov15_0218f29c: .space 0x2 .global data_ov15_0218f29e data_ov15_0218f29e: .space 0x2 .global data_ov15_0218f2a0 data_ov15_0218f2a0: .space 0x2 .global data_ov15_0218f2a2 data_ov15_0218f2a2: .space 0x2 .global data_ov15_0218f2a4 data_ov15_0218f2a4: .space 0x2 .global data_ov15_0218f2a6 data_ov15_0218f2a6: .space 0x2 .global data_ov15_0218f2a8 data_ov15_0218f2a8: .space 0x2 .global data_ov15_0218f2aa data_ov15_0218f2aa: .space 0x2 .global data_ov15_0218f2ac data_ov15_0218f2ac: .space 0x2 .global data_ov15_0218f2ae data_ov15_0218f2ae: .space 0x2 .global data_ov15_0218f2b0 data_ov15_0218f2b0: .space 0x2 .global data_ov15_0218f2b2 data_ov15_0218f2b2: .space 0x2 .global data_ov15_0218f2b4 data_ov15_0218f2b4: .space 0x2 .global data_ov15_0218f2b6 data_ov15_0218f2b6: .space 0x2 .global data_ov15_0218f2b8 data_ov15_0218f2b8: .space 0x2 .global data_ov15_0218f2ba data_ov15_0218f2ba: .space 0x2 .global data_ov15_0218f2bc data_ov15_0218f2bc: .space 0x2 .global data_ov15_0218f2be data_ov15_0218f2be: .space 0x2 .global data_ov15_0218f2c0 data_ov15_0218f2c0: .space 0x2 .global data_ov15_0218f2c2 data_ov15_0218f2c2: .space 0x2 .global data_ov15_0218f2c4 data_ov15_0218f2c4: .space 0x2 .global data_ov15_0218f2c6 data_ov15_0218f2c6: .space 0x2 .global data_ov15_0218f2c8 data_ov15_0218f2c8: .space 0x2 .global data_ov15_0218f2ca data_ov15_0218f2ca: .space 0x2 .global data_ov15_0218f2cc data_ov15_0218f2cc: .space 0x2 .global data_ov15_0218f2ce data_ov15_0218f2ce: .space 0x2 .global data_ov15_0218f2d0 data_ov15_0218f2d0: .space 0x2 .global data_ov15_0218f2d2 data_ov15_0218f2d2: .space 0x2 .global data_ov15_0218f2d4 data_ov15_0218f2d4: .space 0x2 .global data_ov15_0218f2d6 data_ov15_0218f2d6: .space 0x2 .global data_ov15_0218f2d8 data_ov15_0218f2d8: .space 0x2 .global data_ov15_0218f2da data_ov15_0218f2da: .space 0x2 .global data_ov15_0218f2dc data_ov15_0218f2dc: .space 0x2 .global data_ov15_0218f2de data_ov15_0218f2de: .space 0x2 .global data_ov15_0218f2e0 data_ov15_0218f2e0: .space 0x2 .global data_ov15_0218f2e2 data_ov15_0218f2e2: .space 0x2 .global data_ov15_0218f2e4 data_ov15_0218f2e4: .space 0x2 .global data_ov15_0218f2e6 data_ov15_0218f2e6: .space 0x2 .global data_ov15_0218f2e8 data_ov15_0218f2e8: .space 0x2 .global data_ov15_0218f2ea data_ov15_0218f2ea: .space 0x2 .global data_ov15_0218f2ec data_ov15_0218f2ec: .space 0x2 .global data_ov15_0218f2ee data_ov15_0218f2ee: .space 0x2 .global data_ov15_0218f2f0 data_ov15_0218f2f0: .space 0x2 .global data_ov15_0218f2f2 data_ov15_0218f2f2: .space 0x2 .global data_ov15_0218f2f4 data_ov15_0218f2f4: .space 0x2 .global data_ov15_0218f2f6 data_ov15_0218f2f6: .space 0x2 .global data_ov15_0218f2f8 data_ov15_0218f2f8: .space 0x2 .global data_ov15_0218f2fa data_ov15_0218f2fa: .space 0x2 .global data_ov15_0218f2fc data_ov15_0218f2fc: .space 0x2 .global data_ov15_0218f2fe data_ov15_0218f2fe: .space 0x2 .global data_ov15_0218f300 data_ov15_0218f300: .space 0x2 .global data_ov15_0218f302 data_ov15_0218f302: .space 0x2 .global data_ov15_0218f304 data_ov15_0218f304: .space 0x2 .global data_ov15_0218f306 data_ov15_0218f306: .space 0x2 .global data_ov15_0218f308 data_ov15_0218f308: .space 0x2 .global data_ov15_0218f30a data_ov15_0218f30a: .space 0x2 .global data_ov15_0218f30c data_ov15_0218f30c: .space 0x2 .global data_ov15_0218f30e data_ov15_0218f30e: .space 0x2 .global data_ov15_0218f310 data_ov15_0218f310: .space 0x2 .global data_ov15_0218f312 data_ov15_0218f312: .space 0x2 .global data_ov15_0218f314 data_ov15_0218f314: .space 0x2 .global data_ov15_0218f316 data_ov15_0218f316: .space 0x2 .global data_ov15_0218f318 data_ov15_0218f318: .space 0x2 .global data_ov15_0218f31a data_ov15_0218f31a: .space 0x2 .global data_ov15_0218f31c data_ov15_0218f31c: .space 0x2 .global data_ov15_0218f31e data_ov15_0218f31e: .space 0x2 .global data_ov15_0218f320 data_ov15_0218f320: .space 0x2 .global data_ov15_0218f322 data_ov15_0218f322: .space 0x2 .global data_ov15_0218f324 data_ov15_0218f324: .space 0x2 .global data_ov15_0218f326 data_ov15_0218f326: .space 0x2 .global data_ov15_0218f328 data_ov15_0218f328: .space 0x2 .global data_ov15_0218f32a data_ov15_0218f32a: .space 0x2 .global data_ov15_0218f32c data_ov15_0218f32c: .space 0x2 .global data_ov15_0218f32e data_ov15_0218f32e: .space 0x2 .global data_ov15_0218f330 data_ov15_0218f330: .space 0x2 .global data_ov15_0218f332 data_ov15_0218f332: .space 0x2 .global data_ov15_0218f334 data_ov15_0218f334: .space 0x2 .global data_ov15_0218f336 data_ov15_0218f336: .space 0x2 .global data_ov15_0218f338 data_ov15_0218f338: .space 0x2 .global data_ov15_0218f33a data_ov15_0218f33a: .space 0x2 .global data_ov15_0218f33c data_ov15_0218f33c: .space 0x2 .global data_ov15_0218f33e data_ov15_0218f33e: .space 0x2 .global data_ov15_0218f340 data_ov15_0218f340: .space 0x2 .global data_ov15_0218f342 data_ov15_0218f342: .space 0x2 .global data_ov15_0218f344 data_ov15_0218f344: .space 0x2 .global data_ov15_0218f346 data_ov15_0218f346: .space 0x2 .global data_ov15_0218f348 data_ov15_0218f348: .space 0x2 .global data_ov15_0218f34a data_ov15_0218f34a: .space 0x2 .global data_ov15_0218f34c data_ov15_0218f34c: .space 0x2 .global data_ov15_0218f34e data_ov15_0218f34e: .space 0x2 .global data_ov15_0218f350 data_ov15_0218f350: .space 0x2 .global data_ov15_0218f352 data_ov15_0218f352: .space 0x2 .global data_ov15_0218f354 data_ov15_0218f354: .space 0x2 .global data_ov15_0218f356 data_ov15_0218f356: .space 0x2 .global data_ov15_0218f358 data_ov15_0218f358: .space 0x2 .global data_ov15_0218f35a data_ov15_0218f35a: .space 0x2 .global data_ov15_0218f35c data_ov15_0218f35c: .space 0x2 .global data_ov15_0218f35e data_ov15_0218f35e: .space 0x2 .global data_ov15_0218f360 data_ov15_0218f360: .space 0x2 .global data_ov15_0218f362 data_ov15_0218f362: .space 0x2 .global data_ov15_0218f364 data_ov15_0218f364: .space 0x2 .global data_ov15_0218f366 data_ov15_0218f366: .space 0x2 .global data_ov15_0218f368 data_ov15_0218f368: .space 0x2 .global data_ov15_0218f36a data_ov15_0218f36a: .space 0x2 .global data_ov15_0218f36c data_ov15_0218f36c: .space 0x2 .global data_ov15_0218f36e data_ov15_0218f36e: .space 0x2 .global data_ov15_0218f370 data_ov15_0218f370: .space 0x2 .global data_ov15_0218f372 data_ov15_0218f372: .space 0x2 .global data_ov15_0218f374 data_ov15_0218f374: .space 0x2 .global data_ov15_0218f376 data_ov15_0218f376: .space 0x2 .global data_ov15_0218f378 data_ov15_0218f378: .space 0x2 .global data_ov15_0218f37a data_ov15_0218f37a: .space 0x2 .global data_ov15_0218f37c data_ov15_0218f37c: .space 0x2 .global data_ov15_0218f37e data_ov15_0218f37e: .space 0x2 .global data_ov15_0218f380 data_ov15_0218f380: .space 0x2 .global data_ov15_0218f382 data_ov15_0218f382: .space 0x2 .global data_ov15_0218f384 data_ov15_0218f384: .space 0x2 .global data_ov15_0218f386 data_ov15_0218f386: .space 0x2 .global data_ov15_0218f388 data_ov15_0218f388: .space 0x2 .global data_ov15_0218f38a data_ov15_0218f38a: .space 0x2 .global data_ov15_0218f38c data_ov15_0218f38c: .space 0x2 .global data_ov15_0218f38e data_ov15_0218f38e: .space 0x2 .global data_ov15_0218f390 data_ov15_0218f390: .space 0x2 .global data_ov15_0218f392 data_ov15_0218f392: .space 0x2 .global data_ov15_0218f394 data_ov15_0218f394: .space 0x2 .global data_ov15_0218f396 data_ov15_0218f396: .space 0x2 .global data_ov15_0218f398 data_ov15_0218f398: .space 0x2 .global data_ov15_0218f39a data_ov15_0218f39a: .space 0x2 .global data_ov15_0218f39c data_ov15_0218f39c: .space 0x2 .global data_ov15_0218f39e data_ov15_0218f39e: .space 0x2 .global data_ov15_0218f3a0 data_ov15_0218f3a0: .space 0x2 .global data_ov15_0218f3a2 data_ov15_0218f3a2: .space 0x2 .global data_ov15_0218f3a4 data_ov15_0218f3a4: .space 0x2 .global data_ov15_0218f3a6 data_ov15_0218f3a6: .space 0x2 .global data_ov15_0218f3a8 data_ov15_0218f3a8: .space 0x2 .global data_ov15_0218f3aa data_ov15_0218f3aa: .space 0x2 .global data_ov15_0218f3ac data_ov15_0218f3ac: .space 0x2 .global data_ov15_0218f3ae data_ov15_0218f3ae: .space 0x2 .global data_ov15_0218f3b0 data_ov15_0218f3b0: .space 0x2 .global data_ov15_0218f3b2 data_ov15_0218f3b2: .space 0x2 .global data_ov15_0218f3b4 data_ov15_0218f3b4: .space 0x2 .global data_ov15_0218f3b6 data_ov15_0218f3b6: .space 0x2 .global data_ov15_0218f3b8 data_ov15_0218f3b8: .space 0x2 .global data_ov15_0218f3ba data_ov15_0218f3ba: .space 0x2 .global data_ov15_0218f3bc data_ov15_0218f3bc: .space 0x2 .global data_ov15_0218f3be data_ov15_0218f3be: .space 0x2 .global data_ov15_0218f3c0 data_ov15_0218f3c0: .space 0x2 .global data_ov15_0218f3c2 data_ov15_0218f3c2: .space 0x2 .global data_ov15_0218f3c4 data_ov15_0218f3c4: .space 0x2 .global data_ov15_0218f3c6 data_ov15_0218f3c6: .space 0x2 .global data_ov15_0218f3c8 data_ov15_0218f3c8: .space 0x2 .global data_ov15_0218f3ca data_ov15_0218f3ca: .space 0x2 .global data_ov15_0218f3cc data_ov15_0218f3cc: .space 0x2 .global data_ov15_0218f3ce data_ov15_0218f3ce: .space 0x2 .global data_ov15_0218f3d0 data_ov15_0218f3d0: .space 0x2 .global data_ov15_0218f3d2 data_ov15_0218f3d2: .space 0x2 .global data_ov15_0218f3d4 data_ov15_0218f3d4: .space 0x2 .global data_ov15_0218f3d6 data_ov15_0218f3d6: .space 0x2 .global data_ov15_0218f3d8 data_ov15_0218f3d8: .space 0x2 .global data_ov15_0218f3da data_ov15_0218f3da: .space 0x2 .global data_ov15_0218f3dc data_ov15_0218f3dc: .space 0x2 .global data_ov15_0218f3de data_ov15_0218f3de: .space 0x2 .global data_ov15_0218f3e0 data_ov15_0218f3e0: .space 0x2 .global data_ov15_0218f3e2 data_ov15_0218f3e2: .space 0x2 .global data_ov15_0218f3e4 data_ov15_0218f3e4: .space 0x2 .global data_ov15_0218f3e6 data_ov15_0218f3e6: .space 0x2 .global data_ov15_0218f3e8 data_ov15_0218f3e8: .space 0x2 .global data_ov15_0218f3ea data_ov15_0218f3ea: .space 0x2 .global data_ov15_0218f3ec data_ov15_0218f3ec: .space 0x2 .global data_ov15_0218f3ee data_ov15_0218f3ee: .space 0x2 .global data_ov15_0218f3f0 data_ov15_0218f3f0: .space 0x2 .global data_ov15_0218f3f2 data_ov15_0218f3f2: .space 0x2 .global data_ov15_0218f3f4 data_ov15_0218f3f4: .space 0x2 .global data_ov15_0218f3f6 data_ov15_0218f3f6: .space 0x2 .global data_ov15_0218f3f8 data_ov15_0218f3f8: .space 0x2 .global data_ov15_0218f3fa data_ov15_0218f3fa: .space 0x2 .global data_ov15_0218f3fc data_ov15_0218f3fc: .space 0x4 .global data_ov15_0218f400 data_ov15_0218f400: .space 0x4 .global data_ov15_0218f404 data_ov15_0218f404: .space 0x4 .global data_ov15_0218f408 data_ov15_0218f408: .space 0x4 .global data_ov15_0218f40c data_ov15_0218f40c: .space 0x4 .global data_ov15_0218f410 data_ov15_0218f410: .space 0x4 .global data_ov15_0218f414 data_ov15_0218f414: .space 0x4 .global data_ov15_0218f418 data_ov15_0218f418: .space 0x2 .global data_ov15_0218f41a data_ov15_0218f41a: .space 0x2 .global data_ov15_0218f41c data_ov15_0218f41c: .space 0x4 .global data_ov15_0218f420 data_ov15_0218f420: .space 0x4 .global data_ov15_0218f424 data_ov15_0218f424: .space 0x4 .global data_ov15_0218f428 data_ov15_0218f428: .space 0x4 .global data_ov15_0218f42c data_ov15_0218f42c: .space 0x2 .global data_ov15_0218f42e data_ov15_0218f42e: .space 0x2 .global data_ov15_0218f430 data_ov15_0218f430: .space 0x4 .global data_ov15_0218f434 data_ov15_0218f434: .space 0x4 .global data_ov15_0218f438 data_ov15_0218f438: .space 0x4 .global data_ov15_0218f43c data_ov15_0218f43c: .space 0x4 .global data_ov15_0218f440 data_ov15_0218f440: .space 0x4 .global data_ov15_0218f444 data_ov15_0218f444: .space 0x4 .global data_ov15_0218f448 data_ov15_0218f448: .space 0x4 .global data_ov15_0218f44c data_ov15_0218f44c: .space 0x4 .global data_ov15_0218f450 data_ov15_0218f450: .space 0x4 .global data_ov15_0218f454 data_ov15_0218f454: .space 0x4 .global data_ov15_0218f458 data_ov15_0218f458: .space 0x4 .global data_ov15_0218f45c data_ov15_0218f45c: .space 0x4 .global data_ov15_0218f460 data_ov15_0218f460: .space 0x4 .global data_ov15_0218f464 data_ov15_0218f464: .space 0x4 .global data_ov15_0218f468 data_ov15_0218f468: .space 0x4 .global data_ov15_0218f46c data_ov15_0218f46c: .space 0x4 .global data_ov15_0218f470 data_ov15_0218f470: .space 0x4 .global data_ov15_0218f474 data_ov15_0218f474: .space 0x4 .global data_ov15_0218f478 data_ov15_0218f478: .space 0x4 .global data_ov15_0218f47c data_ov15_0218f47c: .space 0x4 .global data_ov15_0218f480 data_ov15_0218f480: .space 0x4 .global data_ov15_0218f484 data_ov15_0218f484: .space 0x4 .global data_ov15_0218f488 data_ov15_0218f488: .space 0x4 .global data_ov15_0218f48c data_ov15_0218f48c: .space 0x4 .global data_ov15_0218f490 data_ov15_0218f490: .space 0x4 .global data_ov15_0218f494 data_ov15_0218f494: .space 0x4 .global data_ov15_0218f498 data_ov15_0218f498: .space 0x4 .global data_ov15_0218f49c data_ov15_0218f49c: .space 0x4 .global data_ov15_0218f4a0 data_ov15_0218f4a0: .space 0x4 .global data_ov15_0218f4a4 data_ov15_0218f4a4: .space 0x4 .global data_ov15_0218f4a8 data_ov15_0218f4a8: .space 0x4 .global data_ov15_0218f4ac data_ov15_0218f4ac: .space 0x4 .global data_ov15_0218f4b0 data_ov15_0218f4b0: .space 0x4 .global data_ov15_0218f4b4 data_ov15_0218f4b4: .space 0x4 .global data_ov15_0218f4b8 data_ov15_0218f4b8: .space 0x4 .global data_ov15_0218f4bc data_ov15_0218f4bc: .space 0x4 .global data_ov15_0218f4c0 data_ov15_0218f4c0: .space 0x4 .global data_ov15_0218f4c4 data_ov15_0218f4c4: .space 0x4 .global data_ov15_0218f4c8 data_ov15_0218f4c8: .space 0x4 .global data_ov15_0218f4cc data_ov15_0218f4cc: .space 0x4 .global data_ov15_0218f4d0 data_ov15_0218f4d0: .space 0x4 .global data_ov15_0218f4d4 data_ov15_0218f4d4: .space 0x4 .global data_ov15_0218f4d8 data_ov15_0218f4d8: .space 0x4 .global data_ov15_0218f4dc data_ov15_0218f4dc: .space 0x4 .global data_ov15_0218f4e0 data_ov15_0218f4e0: .space 0x4 .global data_ov15_0218f4e4 data_ov15_0218f4e4: .space 0x4 .global data_ov15_0218f4e8 data_ov15_0218f4e8: .space 0x4 .global data_ov15_0218f4ec data_ov15_0218f4ec: .space 0x4 .global data_ov15_0218f4f0 data_ov15_0218f4f0: .space 0x4 .global data_ov15_0218f4f4 data_ov15_0218f4f4: .space 0x4 .global data_ov15_0218f4f8 data_ov15_0218f4f8: .space 0x4 .global data_ov15_0218f4fc data_ov15_0218f4fc: .space 0x4 .global data_ov15_0218f500 data_ov15_0218f500: .space 0x4 .global data_ov15_0218f504 data_ov15_0218f504: .space 0x4 .global data_ov15_0218f508 data_ov15_0218f508: .space 0x4 .global data_ov15_0218f50c data_ov15_0218f50c: .space 0x4 .global data_ov15_0218f510 data_ov15_0218f510: .space 0x4 .global data_ov15_0218f514 data_ov15_0218f514: .space 0x4 .global data_ov15_0218f518 data_ov15_0218f518: .space 0x4 .global data_ov15_0218f51c data_ov15_0218f51c: .space 0x4 .global data_ov15_0218f520 data_ov15_0218f520: .space 0x4 .global data_ov15_0218f524 data_ov15_0218f524: .space 0x4 .global data_ov15_0218f528 data_ov15_0218f528: .space 0x4 .global data_ov15_0218f52c data_ov15_0218f52c: .space 0x4 .global data_ov15_0218f530 data_ov15_0218f530: .space 0x4 .global data_ov15_0218f534 data_ov15_0218f534: .space 0x4 .global data_ov15_0218f538 data_ov15_0218f538: .space 0x4 .global data_ov15_0218f53c data_ov15_0218f53c: .space 0x4 .global data_ov15_0218f540 data_ov15_0218f540: .space 0x4 .global data_ov15_0218f544 data_ov15_0218f544: .space 0x4 .global data_ov15_0218f548 data_ov15_0218f548: .space 0x4 .global data_ov15_0218f54c data_ov15_0218f54c: .space 0x4 .global data_ov15_0218f550 data_ov15_0218f550: .space 0x4 .global data_ov15_0218f554 data_ov15_0218f554: .space 0x4 .global data_ov15_0218f558 data_ov15_0218f558: .space 0x4 .global data_ov15_0218f55c data_ov15_0218f55c: .space 0x4 .global data_ov15_0218f560 data_ov15_0218f560: .space 0x4 .global data_ov15_0218f564 data_ov15_0218f564: .space 0x4 .global data_ov15_0218f568 data_ov15_0218f568: .space 0x4 .global data_ov15_0218f56c data_ov15_0218f56c: .space 0x4 .global data_ov15_0218f570 data_ov15_0218f570: .space 0x4 .global data_ov15_0218f574 data_ov15_0218f574: .space 0x4 .global data_ov15_0218f578 data_ov15_0218f578: .space 0x4 .global data_ov15_0218f57c data_ov15_0218f57c: .space 0x4 .global data_ov15_0218f580 data_ov15_0218f580: .space 0x4 .global data_ov15_0218f584 data_ov15_0218f584: .space 0x4 .global data_ov15_0218f588 data_ov15_0218f588: .space 0x4 .global data_ov15_0218f58c data_ov15_0218f58c: .space 0x4 .global data_ov15_0218f590 data_ov15_0218f590: .space 0x4 .global data_ov15_0218f594 data_ov15_0218f594: .space 0x4 .global data_ov15_0218f598 data_ov15_0218f598: .space 0x4 .global data_ov15_0218f59c data_ov15_0218f59c: .space 0x4 .global data_ov15_0218f5a0 data_ov15_0218f5a0: .space 0x4 .global data_ov15_0218f5a4 data_ov15_0218f5a4: .space 0x4 .global data_ov15_0218f5a8 data_ov15_0218f5a8: .space 0x4 .global data_ov15_0218f5ac data_ov15_0218f5ac: .space 0x4 .global data_ov15_0218f5b0 data_ov15_0218f5b0: .space 0x4 .global data_ov15_0218f5b4 data_ov15_0218f5b4: .space 0x4 .global data_ov15_0218f5b8 data_ov15_0218f5b8: .space 0x4 .global data_ov15_0218f5bc data_ov15_0218f5bc: .space 0x4 .global data_ov15_0218f5c0 data_ov15_0218f5c0: .space 0x4 .global data_ov15_0218f5c4 data_ov15_0218f5c4: .space 0x4 .global data_ov15_0218f5c8 data_ov15_0218f5c8: .space 0x4 .global data_ov15_0218f5cc data_ov15_0218f5cc: .space 0x4 .global data_ov15_0218f5d0 data_ov15_0218f5d0: .space 0x4 .global data_ov15_0218f5d4 data_ov15_0218f5d4: .space 0x4 .global data_ov15_0218f5d8 data_ov15_0218f5d8: .space 0x4 .global data_ov15_0218f5dc data_ov15_0218f5dc: .space 0x4 .global data_ov15_0218f5e0 data_ov15_0218f5e0: .space 0x4 .global data_ov15_0218f5e4 data_ov15_0218f5e4: .space 0x4 .global data_ov15_0218f5e8 data_ov15_0218f5e8: .space 0x4 .global data_ov15_0218f5ec data_ov15_0218f5ec: .space 0x4 .global data_ov15_0218f5f0 data_ov15_0218f5f0: .space 0x4 .global data_ov15_0218f5f4 data_ov15_0218f5f4: .space 0x4 .global data_ov15_0218f5f8 data_ov15_0218f5f8: .space 0x4 .global data_ov15_0218f5fc data_ov15_0218f5fc: .space 0x4 .global data_ov15_0218f600 data_ov15_0218f600: .space 0x4 .global data_ov15_0218f604 data_ov15_0218f604: .space 0x4 .global data_ov15_0218f608 data_ov15_0218f608: .space 0x4 .global data_ov15_0218f60c data_ov15_0218f60c: .space 0x4 .global data_ov15_0218f610 data_ov15_0218f610: .space 0x4 .global data_ov15_0218f614 data_ov15_0218f614: .space 0x4 .global data_ov15_0218f618 data_ov15_0218f618: .space 0x4 .global data_ov15_0218f61c data_ov15_0218f61c: .space 0x4 .global data_ov15_0218f620 data_ov15_0218f620: .space 0x4 .global data_ov15_0218f624 data_ov15_0218f624: .space 0x4 .global data_ov15_0218f628 data_ov15_0218f628: .space 0x4 .global data_ov15_0218f62c data_ov15_0218f62c: .space 0x4 .global data_ov15_0218f630 data_ov15_0218f630: .space 0x4 .global data_ov15_0218f634 data_ov15_0218f634: .space 0x4 .global data_ov15_0218f638 data_ov15_0218f638: .space 0x4 .global data_ov15_0218f63c data_ov15_0218f63c: .space 0x4 .global data_ov15_0218f640 data_ov15_0218f640: .space 0x4 .global data_ov15_0218f644 data_ov15_0218f644: .space 0x4 .global data_ov15_0218f648 data_ov15_0218f648: .space 0x4 .global data_ov15_0218f64c data_ov15_0218f64c: .space 0x4 .global data_ov15_0218f650 data_ov15_0218f650: .space 0x4 .global data_ov15_0218f654 data_ov15_0218f654: .space 0x4 .global data_ov15_0218f658 data_ov15_0218f658: .space 0x4 .global data_ov15_0218f65c data_ov15_0218f65c: .space 0x4 .global data_ov15_0218f660 data_ov15_0218f660: .space 0x4 .global data_ov15_0218f664 data_ov15_0218f664: .space 0x4 .global data_ov15_0218f668 data_ov15_0218f668: .space 0x4 .global data_ov15_0218f66c data_ov15_0218f66c: .space 0x4 .global data_ov15_0218f670 data_ov15_0218f670: .space 0x4 .global data_ov15_0218f674 data_ov15_0218f674: .space 0x4 .global data_ov15_0218f678 data_ov15_0218f678: .space 0x4 .global data_ov15_0218f67c data_ov15_0218f67c: .space 0x4 .global data_ov15_0218f680 data_ov15_0218f680: .space 0x4 .global data_ov15_0218f684 data_ov15_0218f684: .space 0x4 .global data_ov15_0218f688 data_ov15_0218f688: .space 0x4 .global data_ov15_0218f68c data_ov15_0218f68c: .space 0x4 .global data_ov15_0218f690 data_ov15_0218f690: .space 0x4 .global data_ov15_0218f694 data_ov15_0218f694: .space 0x4 .global data_ov15_0218f698 data_ov15_0218f698: .space 0x4 .global data_ov15_0218f69c data_ov15_0218f69c: .space 0x4 .global data_ov15_0218f6a0 data_ov15_0218f6a0: .space 0x4 .global data_ov15_0218f6a4 data_ov15_0218f6a4: .space 0x4 .global data_ov15_0218f6a8 data_ov15_0218f6a8: .space 0x4 .global data_ov15_0218f6ac data_ov15_0218f6ac: .space 0x4 .global data_ov15_0218f6b0 data_ov15_0218f6b0: .space 0x4 .global data_ov15_0218f6b4 data_ov15_0218f6b4: .space 0x4 .global data_ov15_0218f6b8 data_ov15_0218f6b8: .space 0x4 .global data_ov15_0218f6bc data_ov15_0218f6bc: .space 0x4 .global data_ov15_0218f6c0 data_ov15_0218f6c0: .space 0x4 .global data_ov15_0218f6c4 data_ov15_0218f6c4: .space 0x4 .global data_ov15_0218f6c8 data_ov15_0218f6c8: .space 0x4 .global data_ov15_0218f6cc data_ov15_0218f6cc: .space 0x4 .global data_ov15_0218f6d0 data_ov15_0218f6d0: .space 0x4 .global data_ov15_0218f6d4 data_ov15_0218f6d4: .space 0x4 .global data_ov15_0218f6d8 data_ov15_0218f6d8: .space 0x4 .global data_ov15_0218f6dc data_ov15_0218f6dc: .space 0x4 .global data_ov15_0218f6e0 data_ov15_0218f6e0: .space 0x4 .global data_ov15_0218f6e4 data_ov15_0218f6e4: .space 0x4 .global data_ov15_0218f6e8 data_ov15_0218f6e8: .space 0x4 .global data_ov15_0218f6ec data_ov15_0218f6ec: .space 0x4 .global data_ov15_0218f6f0 data_ov15_0218f6f0: .space 0x4 .global data_ov15_0218f6f4 data_ov15_0218f6f4: .space 0x4 .global data_ov15_0218f6f8 data_ov15_0218f6f8: .space 0x4 .global data_ov15_0218f6fc data_ov15_0218f6fc: .space 0x4 .global data_ov15_0218f700 data_ov15_0218f700: .space 0x4 .global data_ov15_0218f704 data_ov15_0218f704: .space 0x4 .global data_ov15_0218f708 data_ov15_0218f708: .space 0x4 .global data_ov15_0218f70c data_ov15_0218f70c: .space 0x4 .global data_ov15_0218f710 data_ov15_0218f710: .space 0x4 .global data_ov15_0218f714 data_ov15_0218f714: .space 0x4 .global data_ov15_0218f718 data_ov15_0218f718: .space 0x4 .global data_ov15_0218f71c data_ov15_0218f71c: .space 0x4 .global data_ov15_0218f720 data_ov15_0218f720: .space 0x4 .global data_ov15_0218f724 data_ov15_0218f724: .space 0x4 .global data_ov15_0218f728 data_ov15_0218f728: .space 0x4 .global data_ov15_0218f72c data_ov15_0218f72c: .space 0x4 .global data_ov15_0218f730 data_ov15_0218f730: .space 0x4 .global data_ov15_0218f734 data_ov15_0218f734: .space 0x4 .global data_ov15_0218f738 data_ov15_0218f738: .space 0x4 .global data_ov15_0218f73c data_ov15_0218f73c: .space 0x4 .global data_ov15_0218f740 data_ov15_0218f740: .space 0x4 .global data_ov15_0218f744 data_ov15_0218f744: .space 0x4 .global data_ov15_0218f748 data_ov15_0218f748: .space 0x4 .global data_ov15_0218f74c data_ov15_0218f74c: .space 0x4 .global data_ov15_0218f750 data_ov15_0218f750: .space 0x4 .global data_ov15_0218f754 data_ov15_0218f754: .space 0x4 .global data_ov15_0218f758 data_ov15_0218f758: .space 0x4 .global data_ov15_0218f75c data_ov15_0218f75c: .space 0x4 .global data_ov15_0218f760 data_ov15_0218f760: .space 0x4 .global data_ov15_0218f764 data_ov15_0218f764: .space 0x4 .global data_ov15_0218f768 data_ov15_0218f768: .space 0x4 .global data_ov15_0218f76c data_ov15_0218f76c: .space 0x4 .global data_ov15_0218f770 data_ov15_0218f770: .space 0x4 .global data_ov15_0218f774 data_ov15_0218f774: .space 0x4 .global data_ov15_0218f778 data_ov15_0218f778: .space 0x4 .global data_ov15_0218f77c data_ov15_0218f77c: .space 0x4 .global data_ov15_0218f780 data_ov15_0218f780: .space 0x4 .global data_ov15_0218f784 data_ov15_0218f784: .space 0x4 .global data_ov15_0218f788 data_ov15_0218f788: .space 0x4 .global data_ov15_0218f78c data_ov15_0218f78c: .space 0x4 .global data_ov15_0218f790 data_ov15_0218f790: .space 0x4 .global data_ov15_0218f794 data_ov15_0218f794: .space 0x4 .global data_ov15_0218f798 data_ov15_0218f798: .space 0x4 .global data_ov15_0218f79c data_ov15_0218f79c: .space 0x4 .global data_ov15_0218f7a0 data_ov15_0218f7a0: .space 0x4 .global data_ov15_0218f7a4 data_ov15_0218f7a4: .space 0x4 .global data_ov15_0218f7a8 data_ov15_0218f7a8: .space 0x4 .global data_ov15_0218f7ac data_ov15_0218f7ac: .space 0x4 .global data_ov15_0218f7b0 data_ov15_0218f7b0: .space 0x4 .global data_ov15_0218f7b4 data_ov15_0218f7b4: .space 0x4 .global data_ov15_0218f7b8 data_ov15_0218f7b8: .space 0x4 .global data_ov15_0218f7bc data_ov15_0218f7bc: .space 0x4 .global data_ov15_0218f7c0 data_ov15_0218f7c0: .space 0x4 .global data_ov15_0218f7c4 data_ov15_0218f7c4: .space 0x4 .global data_ov15_0218f7c8 data_ov15_0218f7c8: .space 0x4 .global data_ov15_0218f7cc data_ov15_0218f7cc: .space 0x4 .global data_ov15_0218f7d0 data_ov15_0218f7d0: .space 0x4 .global data_ov15_0218f7d4 data_ov15_0218f7d4: .space 0x4 .global data_ov15_0218f7d8 data_ov15_0218f7d8: .space 0x4 .global data_ov15_0218f7dc data_ov15_0218f7dc: .space 0x4 .global data_ov15_0218f7e0 data_ov15_0218f7e0: .space 0x4 .global data_ov15_0218f7e4 data_ov15_0218f7e4: .space 0x4 .global data_ov15_0218f7e8 data_ov15_0218f7e8: .space 0x4 .global data_ov15_0218f7ec data_ov15_0218f7ec: .space 0x4 .global data_ov15_0218f7f0 data_ov15_0218f7f0: .space 0x4 .global data_ov15_0218f7f4 data_ov15_0218f7f4: .space 0x4 .global data_ov15_0218f7f8 data_ov15_0218f7f8: .space 0x4 .global data_ov15_0218f7fc data_ov15_0218f7fc: .space 0x4 .global data_ov15_0218f800 data_ov15_0218f800: .space 0x4 .global data_ov15_0218f804 data_ov15_0218f804: .space 0x4 .global data_ov15_0218f808 data_ov15_0218f808: .space 0x4 .global data_ov15_0218f80c data_ov15_0218f80c: .space 0x4 .global data_ov15_0218f810 data_ov15_0218f810: .space 0x4 .global data_ov15_0218f814 data_ov15_0218f814: .space 0x4 .global data_ov15_0218f818 data_ov15_0218f818: .space 0x4 .global data_ov15_0218f81c data_ov15_0218f81c: .space 0x4 .global data_ov15_0218f820 data_ov15_0218f820: .space 0x4 .global data_ov15_0218f824 data_ov15_0218f824: .space 0x4 .global data_ov15_0218f828 data_ov15_0218f828: .space 0x4 .global data_ov15_0218f82c data_ov15_0218f82c: .space 0x4 .global data_ov15_0218f830 data_ov15_0218f830: .space 0x4 .global data_ov15_0218f834 data_ov15_0218f834: .space 0x4 .global data_ov15_0218f838 data_ov15_0218f838: .space 0x4 .global data_ov15_0218f83c data_ov15_0218f83c: .space 0x4 .global data_ov15_0218f840 data_ov15_0218f840: .space 0x4 .global data_ov15_0218f844 data_ov15_0218f844: .space 0x4 .global data_ov15_0218f848 data_ov15_0218f848: .space 0x4 .global data_ov15_0218f84c data_ov15_0218f84c: .space 0x4 .global data_ov15_0218f850 data_ov15_0218f850: .space 0x4 .global data_ov15_0218f854 data_ov15_0218f854: .space 0x4 .global data_ov15_0218f858 data_ov15_0218f858: .space 0x4 .global data_ov15_0218f85c data_ov15_0218f85c: .space 0x4 .global data_ov15_0218f860 data_ov15_0218f860: .space 0x4 .global data_ov15_0218f864 data_ov15_0218f864: .space 0x4 .global data_ov15_0218f868 data_ov15_0218f868: .space 0x4 .global data_ov15_0218f86c data_ov15_0218f86c: .space 0x4 .global data_ov15_0218f870 data_ov15_0218f870: .space 0x4 .global data_ov15_0218f874 data_ov15_0218f874: .space 0x4 .global data_ov15_0218f878 data_ov15_0218f878: .space 0x4 .global data_ov15_0218f87c data_ov15_0218f87c: .space 0x4 .global data_ov15_0218f880 data_ov15_0218f880: .space 0x4 .global data_ov15_0218f884 data_ov15_0218f884: .space 0x4 .global data_ov15_0218f888 data_ov15_0218f888: .space 0x4 .global data_ov15_0218f88c data_ov15_0218f88c: .space 0x4 .global data_ov15_0218f890 data_ov15_0218f890: .space 0x4 .global data_ov15_0218f894 data_ov15_0218f894: .space 0x4 .global data_ov15_0218f898 data_ov15_0218f898: .space 0x4 .global data_ov15_0218f89c data_ov15_0218f89c: .space 0x4 .global data_ov15_0218f8a0 data_ov15_0218f8a0: .space 0x4 .global data_ov15_0218f8a4 data_ov15_0218f8a4: .space 0x4 .global data_ov15_0218f8a8 data_ov15_0218f8a8: .space 0x4 .global data_ov15_0218f8ac data_ov15_0218f8ac: .space 0x4 .global data_ov15_0218f8b0 data_ov15_0218f8b0: .space 0x4 .global data_ov15_0218f8b4 data_ov15_0218f8b4: .space 0x4 .global data_ov15_0218f8b8 data_ov15_0218f8b8: .space 0x4 .global data_ov15_0218f8bc data_ov15_0218f8bc: .space 0x4 .global data_ov15_0218f8c0 data_ov15_0218f8c0: .space 0x4 .global data_ov15_0218f8c4 data_ov15_0218f8c4: .space 0x4 .global data_ov15_0218f8c8 data_ov15_0218f8c8: .space 0x4 .global data_ov15_0218f8cc data_ov15_0218f8cc: .space 0x4 .global data_ov15_0218f8d0 data_ov15_0218f8d0: .space 0x4 .global data_ov15_0218f8d4 data_ov15_0218f8d4: .space 0x4 .global data_ov15_0218f8d8 data_ov15_0218f8d8: .space 0x4 .global data_ov15_0218f8dc data_ov15_0218f8dc: .space 0x4 .global data_ov15_0218f8e0 data_ov15_0218f8e0: .space 0x4 .global data_ov15_0218f8e4 data_ov15_0218f8e4: .space 0x4 .global data_ov15_0218f8e8 data_ov15_0218f8e8: .space 0x4 .global data_ov15_0218f8ec data_ov15_0218f8ec: .space 0x4 .global data_ov15_0218f8f0 data_ov15_0218f8f0: .space 0x4 .global data_ov15_0218f8f4 data_ov15_0218f8f4: .space 0x4 .global data_ov15_0218f8f8 data_ov15_0218f8f8: .space 0x4 .global data_ov15_0218f8fc data_ov15_0218f8fc: .space 0x4 .global data_ov15_0218f900 data_ov15_0218f900: .space 0x4 .global data_ov15_0218f904 data_ov15_0218f904: .space 0x4 .global data_ov15_0218f908 data_ov15_0218f908: .space 0x4 .global data_ov15_0218f90c data_ov15_0218f90c: .space 0x4 .global data_ov15_0218f910 data_ov15_0218f910: .space 0x4 .global data_ov15_0218f914 data_ov15_0218f914: .space 0x4 .global data_ov15_0218f918 data_ov15_0218f918: .space 0x4 .global data_ov15_0218f91c data_ov15_0218f91c: .space 0x4 .global data_ov15_0218f920 data_ov15_0218f920: .space 0x4 .global data_ov15_0218f924 data_ov15_0218f924: .space 0x4 .global data_ov15_0218f928 data_ov15_0218f928: .space 0x4 .global data_ov15_0218f92c data_ov15_0218f92c: .space 0x4 .global data_ov15_0218f930 data_ov15_0218f930: .space 0x4 .global data_ov15_0218f934 data_ov15_0218f934: .space 0x4 .global data_ov15_0218f938 data_ov15_0218f938: .space 0x4 .global data_ov15_0218f93c data_ov15_0218f93c: .space 0x4 .global data_ov15_0218f940 data_ov15_0218f940: .space 0x4 .global data_ov15_0218f944 data_ov15_0218f944: .space 0x4 .global data_ov15_0218f948 data_ov15_0218f948: .space 0x4 .global data_ov15_0218f94c data_ov15_0218f94c: .space 0x4 .global data_ov15_0218f950 data_ov15_0218f950: .space 0x4 .global data_ov15_0218f954 data_ov15_0218f954: .space 0x4 .global data_ov15_0218f958 data_ov15_0218f958: .space 0x4 .global data_ov15_0218f95c data_ov15_0218f95c: .space 0x4 .global data_ov15_0218f960 data_ov15_0218f960: .space 0x4 .global data_ov15_0218f964 data_ov15_0218f964: .space 0x4 .global data_ov15_0218f968 data_ov15_0218f968: .space 0x4 .global data_ov15_0218f96c data_ov15_0218f96c: .space 0x4 .global data_ov15_0218f970 data_ov15_0218f970: .space 0x4 .global data_ov15_0218f974 data_ov15_0218f974: .space 0x4 .global data_ov15_0218f978 data_ov15_0218f978: .space 0x4 .global data_ov15_0218f97c data_ov15_0218f97c: .space 0x4 .global data_ov15_0218f980 data_ov15_0218f980: .space 0x4 .global data_ov15_0218f984 data_ov15_0218f984: .space 0x4 .global data_ov15_0218f988 data_ov15_0218f988: .space 0x4 .global data_ov15_0218f98c data_ov15_0218f98c: .space 0x4 .global data_ov15_0218f990 data_ov15_0218f990: .space 0x4 .global data_ov15_0218f994 data_ov15_0218f994: .space 0x4 .global data_ov15_0218f998 data_ov15_0218f998: .space 0x4 .global data_ov15_0218f99c data_ov15_0218f99c: .space 0x4 .global data_ov15_0218f9a0 data_ov15_0218f9a0: .space 0x4 .global data_ov15_0218f9a4 data_ov15_0218f9a4: .space 0x4 .global data_ov15_0218f9a8 data_ov15_0218f9a8: .space 0x4 .global data_ov15_0218f9ac data_ov15_0218f9ac: .space 0x4 .global data_ov15_0218f9b0 data_ov15_0218f9b0: .space 0x4 .global data_ov15_0218f9b4 data_ov15_0218f9b4: .space 0x4 .global data_ov15_0218f9b8 data_ov15_0218f9b8: .space 0x4 .global data_ov15_0218f9bc data_ov15_0218f9bc: .space 0x4 .global data_ov15_0218f9c0 data_ov15_0218f9c0: .space 0x4 .global data_ov15_0218f9c4 data_ov15_0218f9c4: .space 0x4 .global data_ov15_0218f9c8 data_ov15_0218f9c8: .space 0x4 .global data_ov15_0218f9cc data_ov15_0218f9cc: .space 0x4 .global data_ov15_0218f9d0 data_ov15_0218f9d0: .space 0x4 .global data_ov15_0218f9d4 data_ov15_0218f9d4: .space 0x4 .global data_ov15_0218f9d8 data_ov15_0218f9d8: .space 0x4 .global data_ov15_0218f9dc data_ov15_0218f9dc: .space 0x4 .global data_ov15_0218f9e0 data_ov15_0218f9e0: .space 0x4 .global data_ov15_0218f9e4 data_ov15_0218f9e4: .space 0x4 .global data_ov15_0218f9e8 data_ov15_0218f9e8: .space 0x4 .global data_ov15_0218f9ec data_ov15_0218f9ec: .space 0x4 .global data_ov15_0218f9f0 data_ov15_0218f9f0: .space 0x4 .global data_ov15_0218f9f4 data_ov15_0218f9f4: .space 0x4 .global data_ov15_0218f9f8 data_ov15_0218f9f8: .space 0x4 .global data_ov15_0218f9fc data_ov15_0218f9fc: .space 0x4 .global data_ov15_0218fa00 data_ov15_0218fa00: .space 0x4 .global data_ov15_0218fa04 data_ov15_0218fa04: .space 0x4 .global data_ov15_0218fa08 data_ov15_0218fa08: .space 0x4 .global data_ov15_0218fa0c data_ov15_0218fa0c: .space 0x4 .global data_ov15_0218fa10 data_ov15_0218fa10: .space 0x4 .global data_ov15_0218fa14 data_ov15_0218fa14: .space 0x4 .global data_ov15_0218fa18 data_ov15_0218fa18: .space 0x4 .global data_ov15_0218fa1c data_ov15_0218fa1c: .space 0x4 .global data_ov15_0218fa20 data_ov15_0218fa20: .space 0x4 .global data_ov15_0218fa24 data_ov15_0218fa24: .space 0x4 .global data_ov15_0218fa28 data_ov15_0218fa28: .space 0x4 .global data_ov15_0218fa2c data_ov15_0218fa2c: .space 0x4 .global data_ov15_0218fa30 data_ov15_0218fa30: .space 0x4 .global data_ov15_0218fa34 data_ov15_0218fa34: .space 0x4 .global data_ov15_0218fa38 data_ov15_0218fa38: .space 0x4 .global data_ov15_0218fa3c data_ov15_0218fa3c: .space 0x4 .global data_ov15_0218fa40 data_ov15_0218fa40: .space 0x4 .global data_ov15_0218fa44 data_ov15_0218fa44: .space 0x4 .global data_ov15_0218fa48 data_ov15_0218fa48: .space 0x4 .global data_ov15_0218fa4c data_ov15_0218fa4c: .space 0x4 .global data_ov15_0218fa50 data_ov15_0218fa50: .space 0x4 .global data_ov15_0218fa54 data_ov15_0218fa54: .space 0x4 .global data_ov15_0218fa58 data_ov15_0218fa58: .space 0x4 .global data_ov15_0218fa5c data_ov15_0218fa5c: .space 0x4 .global data_ov15_0218fa60 data_ov15_0218fa60: .space 0x4 .global data_ov15_0218fa64 data_ov15_0218fa64: .space 0x4 .global data_ov15_0218fa68 data_ov15_0218fa68: .space 0x4 .global data_ov15_0218fa6c data_ov15_0218fa6c: .space 0x4 .global data_ov15_0218fa70 data_ov15_0218fa70: .space 0x4 .global data_ov15_0218fa74 data_ov15_0218fa74: .space 0x4 .global data_ov15_0218fa78 data_ov15_0218fa78: .space 0x4 .global data_ov15_0218fa7c data_ov15_0218fa7c: .space 0x4 .global data_ov15_0218fa80 data_ov15_0218fa80: .space 0x4 .global data_ov15_0218fa84 data_ov15_0218fa84: .space 0x4 .global data_ov15_0218fa88 data_ov15_0218fa88: .space 0x4 .global data_ov15_0218fa8c data_ov15_0218fa8c: .space 0x4 .global data_ov15_0218fa90 data_ov15_0218fa90: .space 0x4 .global data_ov15_0218fa94 data_ov15_0218fa94: .space 0x4 .global data_ov15_0218fa98 data_ov15_0218fa98: .space 0x4 .global data_ov15_0218fa9c data_ov15_0218fa9c: .space 0x4 .global data_ov15_0218faa0 data_ov15_0218faa0: .space 0x4 .global data_ov15_0218faa4 data_ov15_0218faa4: .space 0x4 .global data_ov15_0218faa8 data_ov15_0218faa8: .space 0x4 .global data_ov15_0218faac data_ov15_0218faac: .space 0x4 .global data_ov15_0218fab0 data_ov15_0218fab0: .space 0x4 .global data_ov15_0218fab4 data_ov15_0218fab4: .space 0x4 .global data_ov15_0218fab8 data_ov15_0218fab8: .space 0x4 .global data_ov15_0218fabc data_ov15_0218fabc: .space 0x4 .global data_ov15_0218fac0 data_ov15_0218fac0: .space 0x4 .global data_ov15_0218fac4 data_ov15_0218fac4: .space 0x4 .global data_ov15_0218fac8 data_ov15_0218fac8: .space 0x4 .global data_ov15_0218facc data_ov15_0218facc: .space 0x4 .global data_ov15_0218fad0 data_ov15_0218fad0: .space 0x4 .global data_ov15_0218fad4 data_ov15_0218fad4: .space 0x4 .global data_ov15_0218fad8 data_ov15_0218fad8: .space 0x4 .global data_ov15_0218fadc data_ov15_0218fadc: .space 0x4 .global data_ov15_0218fae0 data_ov15_0218fae0: .space 0x4 .global data_ov15_0218fae4 data_ov15_0218fae4: .space 0x4 .global data_ov15_0218fae8 data_ov15_0218fae8: .space 0x4 .global data_ov15_0218faec data_ov15_0218faec: .space 0x4 .global data_ov15_0218faf0 data_ov15_0218faf0: .space 0x4 .global data_ov15_0218faf4 data_ov15_0218faf4: .space 0x4 .global data_ov15_0218faf8 data_ov15_0218faf8: .space 0x4 .global data_ov15_0218fafc data_ov15_0218fafc: .space 0x4 .global data_ov15_0218fb00 data_ov15_0218fb00: .space 0x4 .global data_ov15_0218fb04 data_ov15_0218fb04: .space 0x4 .global data_ov15_0218fb08 data_ov15_0218fb08: .space 0x4 .global data_ov15_0218fb0c data_ov15_0218fb0c: .space 0x4 .global data_ov15_0218fb10 data_ov15_0218fb10: .space 0x4 .global data_ov15_0218fb14 data_ov15_0218fb14: .space 0x4 .global data_ov15_0218fb18 data_ov15_0218fb18: .space 0x4 .global data_ov15_0218fb1c data_ov15_0218fb1c: .space 0x4 .global data_ov15_0218fb20 data_ov15_0218fb20: .space 0x4 .global data_ov15_0218fb24 data_ov15_0218fb24: .space 0x4 .global data_ov15_0218fb28 data_ov15_0218fb28: .space 0x4 .global data_ov15_0218fb2c data_ov15_0218fb2c: .space 0x4 .global data_ov15_0218fb30 data_ov15_0218fb30: .space 0x4 .global data_ov15_0218fb34 data_ov15_0218fb34: .space 0x4 .global data_ov15_0218fb38 data_ov15_0218fb38: .space 0x4 .global data_ov15_0218fb3c data_ov15_0218fb3c: .space 0x4 .global data_ov15_0218fb40 data_ov15_0218fb40: .space 0x4 .global data_ov15_0218fb44 data_ov15_0218fb44: .space 0x4 .global data_ov15_0218fb48 data_ov15_0218fb48: .space 0x4 .global data_ov15_0218fb4c data_ov15_0218fb4c: .space 0x4 .global data_ov15_0218fb50 data_ov15_0218fb50: .space 0x4 .global data_ov15_0218fb54 data_ov15_0218fb54: .space 0x4 .global data_ov15_0218fb58 data_ov15_0218fb58: .space 0x4 .global data_ov15_0218fb5c data_ov15_0218fb5c: .space 0x4 .global data_ov15_0218fb60 data_ov15_0218fb60: .space 0x4 .global data_ov15_0218fb64 data_ov15_0218fb64: .space 0x4 .global data_ov15_0218fb68 data_ov15_0218fb68: .space 0x4 .global data_ov15_0218fb6c data_ov15_0218fb6c: .space 0x4 .global data_ov15_0218fb70 data_ov15_0218fb70: .space 0x4 .global data_ov15_0218fb74 data_ov15_0218fb74: .space 0x4 .global data_ov15_0218fb78 data_ov15_0218fb78: .space 0x4 .global data_ov15_0218fb7c data_ov15_0218fb7c: .space 0x4 .global data_ov15_0218fb80 data_ov15_0218fb80: .space 0x4 .global data_ov15_0218fb84 data_ov15_0218fb84: .space 0x4 .global data_ov15_0218fb88 data_ov15_0218fb88: .space 0x4 .global data_ov15_0218fb8c data_ov15_0218fb8c: .space 0x4 .global data_ov15_0218fb90 data_ov15_0218fb90: .space 0x4 .global data_ov15_0218fb94 data_ov15_0218fb94: .space 0x4 .global data_ov15_0218fb98 data_ov15_0218fb98: .space 0x4 .global data_ov15_0218fb9c data_ov15_0218fb9c: .space 0x4 .global data_ov15_0218fba0 data_ov15_0218fba0: .space 0x4 .global data_ov15_0218fba4 data_ov15_0218fba4: .space 0x4 .global data_ov15_0218fba8 data_ov15_0218fba8: .space 0x4 .global data_ov15_0218fbac data_ov15_0218fbac: .space 0x4 .global data_ov15_0218fbb0 data_ov15_0218fbb0: .space 0x4 .global data_ov15_0218fbb4 data_ov15_0218fbb4: .space 0x4 .global data_ov15_0218fbb8 data_ov15_0218fbb8: .space 0x4 .global data_ov15_0218fbbc data_ov15_0218fbbc: .space 0x4 .global data_ov15_0218fbc0 data_ov15_0218fbc0: .space 0x4 .global data_ov15_0218fbc4 data_ov15_0218fbc4: .space 0x4 .global data_ov15_0218fbc8 data_ov15_0218fbc8: .space 0x4 .global data_ov15_0218fbcc data_ov15_0218fbcc: .space 0x4 .global data_ov15_0218fbd0 data_ov15_0218fbd0: .space 0x4 .global data_ov15_0218fbd4 data_ov15_0218fbd4: .space 0x4 .global data_ov15_0218fbd8 data_ov15_0218fbd8: .space 0x4 .global data_ov15_0218fbdc data_ov15_0218fbdc: .space 0x4 .global data_ov15_0218fbe0 data_ov15_0218fbe0: .space 0x4 .global data_ov15_0218fbe4 data_ov15_0218fbe4: .space 0x4 .global data_ov15_0218fbe8 data_ov15_0218fbe8: .space 0x4 .global data_ov15_0218fbec data_ov15_0218fbec: .space 0x4 .global data_ov15_0218fbf0 data_ov15_0218fbf0: .space 0x4 .global data_ov15_0218fbf4 data_ov15_0218fbf4: .space 0x4 .global data_ov15_0218fbf8 data_ov15_0218fbf8: .space 0x4 .global data_ov15_0218fbfc data_ov15_0218fbfc: .space 0x4 .global data_ov15_0218fc00 data_ov15_0218fc00: .space 0x4 .global data_ov15_0218fc04 data_ov15_0218fc04: .space 0x4 .global data_ov15_0218fc08 data_ov15_0218fc08: .space 0x4 .global data_ov15_0218fc0c data_ov15_0218fc0c: .space 0x4 .global data_ov15_0218fc10 data_ov15_0218fc10: .space 0x4 .global data_ov15_0218fc14 data_ov15_0218fc14: .space 0x4 .global data_ov15_0218fc18 data_ov15_0218fc18: .space 0x4 .global data_ov15_0218fc1c data_ov15_0218fc1c: .space 0x4 .global data_ov15_0218fc20 data_ov15_0218fc20: .space 0x4 .global data_ov15_0218fc24 data_ov15_0218fc24: .space 0x4 .global data_ov15_0218fc28 data_ov15_0218fc28: .space 0x4 .global data_ov15_0218fc2c data_ov15_0218fc2c: .space 0x4 .global data_ov15_0218fc30 data_ov15_0218fc30: .space 0x4 .global data_ov15_0218fc34 data_ov15_0218fc34: .space 0x4 .global data_ov15_0218fc38 data_ov15_0218fc38: .space 0x4 .global data_ov15_0218fc3c data_ov15_0218fc3c: .space 0x4 .global data_ov15_0218fc40 data_ov15_0218fc40: .space 0x4 .global data_ov15_0218fc44 data_ov15_0218fc44: .space 0x4 .global data_ov15_0218fc48 data_ov15_0218fc48: .space 0x4 .global data_ov15_0218fc4c data_ov15_0218fc4c: .space 0x4 .global data_ov15_0218fc50 data_ov15_0218fc50: .space 0x4 .global data_ov15_0218fc54 data_ov15_0218fc54: .space 0x4 .global data_ov15_0218fc58 data_ov15_0218fc58: .space 0x4 .global data_ov15_0218fc5c data_ov15_0218fc5c: .space 0x4 .global data_ov15_0218fc60 data_ov15_0218fc60: .space 0x4 .global data_ov15_0218fc64 data_ov15_0218fc64: .space 0x4 .global data_ov15_0218fc68 data_ov15_0218fc68: .space 0x4 .global data_ov15_0218fc6c data_ov15_0218fc6c: .space 0x4 .global data_ov15_0218fc70 data_ov15_0218fc70: .space 0x4 .global data_ov15_0218fc74 data_ov15_0218fc74: .space 0x4 .global data_ov15_0218fc78 data_ov15_0218fc78: .space 0x4 .global data_ov15_0218fc7c data_ov15_0218fc7c: .space 0x4 .global data_ov15_0218fc80 data_ov15_0218fc80: .space 0x4 .global data_ov15_0218fc84 data_ov15_0218fc84: .space 0x4 .global data_ov15_0218fc88 data_ov15_0218fc88: .space 0x4 .global data_ov15_0218fc8c data_ov15_0218fc8c: .space 0x4 .global data_ov15_0218fc90 data_ov15_0218fc90: .space 0x4 .global data_ov15_0218fc94 data_ov15_0218fc94: .space 0x4 .global data_ov15_0218fc98 data_ov15_0218fc98: .space 0x4 .global data_ov15_0218fc9c data_ov15_0218fc9c: .space 0x4 .global data_ov15_0218fca0 data_ov15_0218fca0: .space 0x4 .global data_ov15_0218fca4 data_ov15_0218fca4: .space 0x4 .global data_ov15_0218fca8 data_ov15_0218fca8: .space 0x4 .global data_ov15_0218fcac data_ov15_0218fcac: .space 0x4 .global data_ov15_0218fcb0 data_ov15_0218fcb0: .space 0x4 .global data_ov15_0218fcb4 data_ov15_0218fcb4: .space 0x4 .global data_ov15_0218fcb8 data_ov15_0218fcb8: .space 0x4 .global data_ov15_0218fcbc data_ov15_0218fcbc: .space 0x4 .global data_ov15_0218fcc0 data_ov15_0218fcc0: .space 0x4 .global data_ov15_0218fcc4 data_ov15_0218fcc4: .space 0x4 .global data_ov15_0218fcc8 data_ov15_0218fcc8: .space 0x4 .global data_ov15_0218fccc data_ov15_0218fccc: .space 0x4 .global data_ov15_0218fcd0 data_ov15_0218fcd0: .space 0x4 .global data_ov15_0218fcd4 data_ov15_0218fcd4: .space 0x4 .global data_ov15_0218fcd8 data_ov15_0218fcd8: .space 0x4 .global data_ov15_0218fcdc data_ov15_0218fcdc: .space 0x4 .global data_ov15_0218fce0 data_ov15_0218fce0: .space 0x4 .global data_ov15_0218fce4 data_ov15_0218fce4: .space 0x4 .global data_ov15_0218fce8 data_ov15_0218fce8: .space 0x4 .global data_ov15_0218fcec data_ov15_0218fcec: .space 0x4 .global data_ov15_0218fcf0 data_ov15_0218fcf0: .space 0x4 .global data_ov15_0218fcf4 data_ov15_0218fcf4: .space 0x4 .global data_ov15_0218fcf8 data_ov15_0218fcf8: .space 0x4 .global data_ov15_0218fcfc data_ov15_0218fcfc: .space 0x4 .global data_ov15_0218fd00 data_ov15_0218fd00: .space 0x4 .global data_ov15_0218fd04 data_ov15_0218fd04: .space 0x4 .global data_ov15_0218fd08 data_ov15_0218fd08: .space 0x4 .global data_ov15_0218fd0c data_ov15_0218fd0c: .space 0x4 .global data_ov15_0218fd10 data_ov15_0218fd10: .space 0x4 .global data_ov15_0218fd14 data_ov15_0218fd14: .space 0x4 .global data_ov15_0218fd18 data_ov15_0218fd18: .space 0x4 .global data_ov15_0218fd1c data_ov15_0218fd1c: .space 0x4 .global data_ov15_0218fd20 data_ov15_0218fd20: .space 0x4 .global data_ov15_0218fd24 data_ov15_0218fd24: .space 0x4 .global data_ov15_0218fd28 data_ov15_0218fd28: .space 0x4 .global data_ov15_0218fd2c data_ov15_0218fd2c: .space 0x4 .global data_ov15_0218fd30 data_ov15_0218fd30: .space 0x4 .global data_ov15_0218fd34 data_ov15_0218fd34: .space 0x4 .global data_ov15_0218fd38 data_ov15_0218fd38: .space 0x4 .global data_ov15_0218fd3c data_ov15_0218fd3c: .space 0x4 .global data_ov15_0218fd40 data_ov15_0218fd40: .space 0x4 .global data_ov15_0218fd44 data_ov15_0218fd44: .space 0x4 .global data_ov15_0218fd48 data_ov15_0218fd48: .space 0x4 .global data_ov15_0218fd4c data_ov15_0218fd4c: .space 0x4 .global data_ov15_0218fd50 data_ov15_0218fd50: .space 0x4 .global data_ov15_0218fd54 data_ov15_0218fd54: .space 0x4 .global data_ov15_0218fd58 data_ov15_0218fd58: .space 0x4 .global data_ov15_0218fd5c data_ov15_0218fd5c: .space 0x4 .global data_ov15_0218fd60 data_ov15_0218fd60: .space 0x4 .global data_ov15_0218fd64 data_ov15_0218fd64: .space 0x4 .global data_ov15_0218fd68 data_ov15_0218fd68: .space 0x4 .global data_ov15_0218fd6c data_ov15_0218fd6c: .space 0x4 .global data_ov15_0218fd70 data_ov15_0218fd70: .space 0x4 .global data_ov15_0218fd74 data_ov15_0218fd74: .space 0x4 .global data_ov15_0218fd78 data_ov15_0218fd78: .space 0x4 .global data_ov15_0218fd7c data_ov15_0218fd7c: .space 0x4 .global data_ov15_0218fd80 data_ov15_0218fd80: .space 0x4 .global data_ov15_0218fd84 data_ov15_0218fd84: .space 0x4 .global data_ov15_0218fd88 data_ov15_0218fd88: .space 0x4 .global data_ov15_0218fd8c data_ov15_0218fd8c: .space 0x4 .global data_ov15_0218fd90 data_ov15_0218fd90: .space 0x4 .global data_ov15_0218fd94 data_ov15_0218fd94: .space 0x4 .global data_ov15_0218fd98 data_ov15_0218fd98: .space 0x4 .global data_ov15_0218fd9c data_ov15_0218fd9c: .space 0x4 .global data_ov15_0218fda0 data_ov15_0218fda0: .space 0x4 .global data_ov15_0218fda4 data_ov15_0218fda4: .space 0x4 .global data_ov15_0218fda8 data_ov15_0218fda8: .space 0x4 .global data_ov15_0218fdac data_ov15_0218fdac: .space 0x4 .global data_ov15_0218fdb0 data_ov15_0218fdb0: .space 0x4 .global data_ov15_0218fdb4 data_ov15_0218fdb4: .space 0x4 .global data_ov15_0218fdb8 data_ov15_0218fdb8: .space 0x4 .global data_ov15_0218fdbc data_ov15_0218fdbc: .space 0x4 .global data_ov15_0218fdc0 data_ov15_0218fdc0: .space 0x4 .global data_ov15_0218fdc4 data_ov15_0218fdc4: .space 0x4 .global data_ov15_0218fdc8 data_ov15_0218fdc8: .space 0x4 .global data_ov15_0218fdcc data_ov15_0218fdcc: .space 0x4 .global data_ov15_0218fdd0 data_ov15_0218fdd0: .space 0x4 .global data_ov15_0218fdd4 data_ov15_0218fdd4: .space 0x4 .global data_ov15_0218fdd8 data_ov15_0218fdd8: .space 0x4 .global data_ov15_0218fddc data_ov15_0218fddc: .space 0x4 .global data_ov15_0218fde0 data_ov15_0218fde0: .space 0x4 .global data_ov15_0218fde4 data_ov15_0218fde4: .space 0x4 .global data_ov15_0218fde8 data_ov15_0218fde8: .space 0x4 .global data_ov15_0218fdec data_ov15_0218fdec: .space 0x4 .global data_ov15_0218fdf0 data_ov15_0218fdf0: .space 0x4 .global data_ov15_0218fdf4 data_ov15_0218fdf4: .space 0x4 .global data_ov15_0218fdf8 data_ov15_0218fdf8: .space 0x4 .global data_ov15_0218fdfc data_ov15_0218fdfc: .space 0x4 .global data_ov15_0218fe00 data_ov15_0218fe00: .space 0x4 .global data_ov15_0218fe04 data_ov15_0218fe04: .space 0x4 .global data_ov15_0218fe08 data_ov15_0218fe08: .space 0x4 .global data_ov15_0218fe0c data_ov15_0218fe0c: .space 0x4 .global data_ov15_0218fe10 data_ov15_0218fe10: .space 0x4 .global data_ov15_0218fe14 data_ov15_0218fe14: .space 0x4 .global data_ov15_0218fe18 data_ov15_0218fe18: .space 0x4 .global data_ov15_0218fe1c data_ov15_0218fe1c: .space 0x4 .global data_ov15_0218fe20 data_ov15_0218fe20: .space 0x4 .global data_ov15_0218fe24 data_ov15_0218fe24: .space 0x4 .global data_ov15_0218fe28 data_ov15_0218fe28: .space 0x4 .global data_ov15_0218fe2c data_ov15_0218fe2c: .space 0x4 .global data_ov15_0218fe30 data_ov15_0218fe30: .space 0x4 .global data_ov15_0218fe34 data_ov15_0218fe34: .space 0x4 .global data_ov15_0218fe38 data_ov15_0218fe38: .space 0x4 .global data_ov15_0218fe3c data_ov15_0218fe3c: .space 0x4 .global data_ov15_0218fe40 data_ov15_0218fe40: .space 0x4 .global data_ov15_0218fe44 data_ov15_0218fe44: .space 0x4 .global data_ov15_0218fe48 data_ov15_0218fe48: .space 0x4 .global data_ov15_0218fe4c data_ov15_0218fe4c: .space 0x4 .global data_ov15_0218fe50 data_ov15_0218fe50: .space 0x4 .global data_ov15_0218fe54 data_ov15_0218fe54: .space 0x4 .global data_ov15_0218fe58 data_ov15_0218fe58: .space 0x4 .global data_ov15_0218fe5c data_ov15_0218fe5c: .space 0x4 .global data_ov15_0218fe60 data_ov15_0218fe60: .space 0x4 .global data_ov15_0218fe64 data_ov15_0218fe64: .space 0x4 .global data_ov15_0218fe68 data_ov15_0218fe68: .space 0x4 .global data_ov15_0218fe6c data_ov15_0218fe6c: .space 0x4 .global data_ov15_0218fe70 data_ov15_0218fe70: .space 0x4 .global data_ov15_0218fe74 data_ov15_0218fe74: .space 0x4 .global data_ov15_0218fe78 data_ov15_0218fe78: .space 0x4 .global data_ov15_0218fe7c data_ov15_0218fe7c: .space 0x4 .global data_ov15_0218fe80 data_ov15_0218fe80: .space 0x4 .global data_ov15_0218fe84 data_ov15_0218fe84: .space 0x4 .global data_ov15_0218fe88 data_ov15_0218fe88: .space 0x4 .global data_ov15_0218fe8c data_ov15_0218fe8c: .space 0x4 .global data_ov15_0218fe90 data_ov15_0218fe90: .space 0x4 .global data_ov15_0218fe94 data_ov15_0218fe94: .space 0x4 .global data_ov15_0218fe98 data_ov15_0218fe98: .space 0x4 .global data_ov15_0218fe9c data_ov15_0218fe9c: .space 0x4 .global data_ov15_0218fea0 data_ov15_0218fea0: .space 0x4 .global data_ov15_0218fea4 data_ov15_0218fea4: .space 0x4 .global data_ov15_0218fea8 data_ov15_0218fea8: .space 0x4 .global data_ov15_0218feac data_ov15_0218feac: .space 0x4 .global data_ov15_0218feb0 data_ov15_0218feb0: .space 0x4 .global data_ov15_0218feb4 data_ov15_0218feb4: .space 0x4 .global data_ov15_0218feb8 data_ov15_0218feb8: .space 0x4 .global data_ov15_0218febc data_ov15_0218febc: .space 0x4 .global data_ov15_0218fec0 data_ov15_0218fec0: .space 0x4 .global data_ov15_0218fec4 data_ov15_0218fec4: .space 0x4 .global data_ov15_0218fec8 data_ov15_0218fec8: .space 0x4 .global data_ov15_0218fecc data_ov15_0218fecc: .space 0x4 .global data_ov15_0218fed0 data_ov15_0218fed0: .space 0x4 .global data_ov15_0218fed4 data_ov15_0218fed4: .space 0x4 .global data_ov15_0218fed8 data_ov15_0218fed8: .space 0x4 .global data_ov15_0218fedc data_ov15_0218fedc: .space 0x4 .global data_ov15_0218fee0 data_ov15_0218fee0: .space 0x4 .global data_ov15_0218fee4 data_ov15_0218fee4: .space 0x4 .global data_ov15_0218fee8 data_ov15_0218fee8: .space 0x4 .global data_ov15_0218feec data_ov15_0218feec: .space 0x4 .global data_ov15_0218fef0 data_ov15_0218fef0: .space 0x4 .global data_ov15_0218fef4 data_ov15_0218fef4: .space 0x4 .global data_ov15_0218fef8 data_ov15_0218fef8: .space 0x4 .global data_ov15_0218fefc data_ov15_0218fefc: .space 0x4 .global data_ov15_0218ff00 data_ov15_0218ff00: .space 0x4 .global data_ov15_0218ff04 data_ov15_0218ff04: .space 0x4 .global data_ov15_0218ff08 data_ov15_0218ff08: .space 0x4 .global data_ov15_0218ff0c data_ov15_0218ff0c: .space 0x4 .global data_ov15_0218ff10 data_ov15_0218ff10: .space 0x4 .global data_ov15_0218ff14 data_ov15_0218ff14: .space 0x4 .global data_ov15_0218ff18 data_ov15_0218ff18: .space 0x4 .global data_ov15_0218ff1c data_ov15_0218ff1c: .space 0x4 .global data_ov15_0218ff20 data_ov15_0218ff20: .space 0x4 .global data_ov15_0218ff24 data_ov15_0218ff24: .space 0x4 .global data_ov15_0218ff28 data_ov15_0218ff28: .space 0x4 .global data_ov15_0218ff2c data_ov15_0218ff2c: .space 0x4 .global data_ov15_0218ff30 data_ov15_0218ff30: .space 0x4 .global data_ov15_0218ff34 data_ov15_0218ff34: .space 0x4 .global data_ov15_0218ff38 data_ov15_0218ff38: .space 0x4 .global data_ov15_0218ff3c data_ov15_0218ff3c: .space 0x4 .global data_ov15_0218ff40 data_ov15_0218ff40: .space 0x4 .global data_ov15_0218ff44 data_ov15_0218ff44: .space 0x4 .global data_ov15_0218ff48 data_ov15_0218ff48: .space 0x4 .global data_ov15_0218ff4c data_ov15_0218ff4c: .space 0x4 .global data_ov15_0218ff50 data_ov15_0218ff50: .space 0x4 .global data_ov15_0218ff54 data_ov15_0218ff54: .space 0x4 .global data_ov15_0218ff58 data_ov15_0218ff58: .space 0x4 .global data_ov15_0218ff5c data_ov15_0218ff5c: .space 0x4 .global data_ov15_0218ff60 data_ov15_0218ff60: .space 0x4 .global data_ov15_0218ff64 data_ov15_0218ff64: .space 0x4 .global data_ov15_0218ff68 data_ov15_0218ff68: .space 0x4 .global data_ov15_0218ff6c data_ov15_0218ff6c: .space 0x4 .global data_ov15_0218ff70 data_ov15_0218ff70: .space 0x4 .global data_ov15_0218ff74 data_ov15_0218ff74: .space 0x4 .global data_ov15_0218ff78 data_ov15_0218ff78: .space 0x4 .global data_ov15_0218ff7c data_ov15_0218ff7c: .space 0x4 .global data_ov15_0218ff80 data_ov15_0218ff80: .space 0x4 .global data_ov15_0218ff84 data_ov15_0218ff84: .space 0x4 .global data_ov15_0218ff88 data_ov15_0218ff88: .space 0x4 .global data_ov15_0218ff8c data_ov15_0218ff8c: .space 0x4 .global data_ov15_0218ff90 data_ov15_0218ff90: .space 0x4 .global data_ov15_0218ff94 data_ov15_0218ff94: .space 0x4 .global data_ov15_0218ff98 data_ov15_0218ff98: .space 0x4 .global data_ov15_0218ff9c data_ov15_0218ff9c: .space 0x4 .global data_ov15_0218ffa0 data_ov15_0218ffa0: .space 0x4 .global data_ov15_0218ffa4 data_ov15_0218ffa4: .space 0x4 .global data_ov15_0218ffa8 data_ov15_0218ffa8: .space 0x4 .global data_ov15_0218ffac data_ov15_0218ffac: .space 0x4 .global data_ov15_0218ffb0 data_ov15_0218ffb0: .space 0x4 .global data_ov15_0218ffb4 data_ov15_0218ffb4: .space 0x4 .global data_ov15_0218ffb8 data_ov15_0218ffb8: .space 0x4 .global data_ov15_0218ffbc data_ov15_0218ffbc: .space 0x4 .global data_ov15_0218ffc0 data_ov15_0218ffc0: .space 0x4 .global data_ov15_0218ffc4 data_ov15_0218ffc4: .space 0x4 .global data_ov15_0218ffc8 data_ov15_0218ffc8: .space 0x4 .global data_ov15_0218ffcc data_ov15_0218ffcc: .space 0x4 .global data_ov15_0218ffd0 data_ov15_0218ffd0: .space 0x4 .global data_ov15_0218ffd4 data_ov15_0218ffd4: .space 0x4 .global data_ov15_0218ffd8 data_ov15_0218ffd8: .space 0x4 .global data_ov15_0218ffdc data_ov15_0218ffdc: .space 0x4 .global data_ov15_0218ffe0 data_ov15_0218ffe0: .space 0x4 .global data_ov15_0218ffe4 data_ov15_0218ffe4: .space 0x4 .global data_ov15_0218ffe8 data_ov15_0218ffe8: .space 0x4 .global data_ov15_0218ffec data_ov15_0218ffec: .space 0x4 .global data_ov15_0218fff0 data_ov15_0218fff0: .space 0x4 .global data_ov15_0218fff4 data_ov15_0218fff4: .space 0x4 .global data_ov15_0218fff8 data_ov15_0218fff8: .space 0x4 .global data_ov15_0218fffc data_ov15_0218fffc: .space 0x4 .global data_ov15_02190000 data_ov15_02190000: .space 0x4 .global data_ov15_02190004 data_ov15_02190004: .space 0x4 .global data_ov15_02190008 data_ov15_02190008: .space 0x4 .global data_ov15_0219000c data_ov15_0219000c: .space 0x4 .global data_ov15_02190010 data_ov15_02190010: .space 0x4 .global data_ov15_02190014 data_ov15_02190014: .space 0x4 .global data_ov15_02190018 data_ov15_02190018: .space 0x4 .global data_ov15_0219001c data_ov15_0219001c: .space 0x4 .global data_ov15_02190020 data_ov15_02190020: .space 0x4 .global data_ov15_02190024 data_ov15_02190024: .space 0x4 .global data_ov15_02190028 data_ov15_02190028: .space 0x4 .global data_ov15_0219002c data_ov15_0219002c: .space 0x4 .global data_ov15_02190030 data_ov15_02190030: .space 0x4 .global data_ov15_02190034 data_ov15_02190034: .space 0x4 .global data_ov15_02190038 data_ov15_02190038: .space 0x4 .global data_ov15_0219003c data_ov15_0219003c: .space 0x4 .global data_ov15_02190040 data_ov15_02190040: .space 0x4 .global data_ov15_02190044 data_ov15_02190044: .space 0x4 .global data_ov15_02190048 data_ov15_02190048: .space 0x4 .global data_ov15_0219004c data_ov15_0219004c: .space 0x4 .global data_ov15_02190050 data_ov15_02190050: .space 0x4 .global data_ov15_02190054 data_ov15_02190054: .space 0x4 .global data_ov15_02190058 data_ov15_02190058: .space 0x4 .global data_ov15_0219005c data_ov15_0219005c: .space 0x4 .global data_ov15_02190060 data_ov15_02190060: .space 0x4 .global data_ov15_02190064 data_ov15_02190064: .space 0x4 .global data_ov15_02190068 data_ov15_02190068: .space 0x4 .global data_ov15_0219006c data_ov15_0219006c: .space 0x4 .global data_ov15_02190070 data_ov15_02190070: .space 0x4 .global data_ov15_02190074 data_ov15_02190074: .space 0x4 .global data_ov15_02190078 data_ov15_02190078: .space 0x4 .global data_ov15_0219007c data_ov15_0219007c: .space 0x4 .global data_ov15_02190080 data_ov15_02190080: .space 0x4 .global data_ov15_02190084 data_ov15_02190084: .space 0x4 .global data_ov15_02190088 data_ov15_02190088: .space 0x4 .global data_ov15_0219008c data_ov15_0219008c: .space 0x4 .global data_ov15_02190090 data_ov15_02190090: .space 0x4 .global data_ov15_02190094 data_ov15_02190094: .space 0x4 .global data_ov15_02190098 data_ov15_02190098: .space 0x4 .global data_ov15_0219009c data_ov15_0219009c: .space 0x4 .global data_ov15_021900a0 data_ov15_021900a0: .space 0x4 .global data_ov15_021900a4 data_ov15_021900a4: .space 0x4 .global data_ov15_021900a8 data_ov15_021900a8: .space 0x4 .global data_ov15_021900ac data_ov15_021900ac: .space 0x4 .global data_ov15_021900b0 data_ov15_021900b0: .space 0x4 .global data_ov15_021900b4 data_ov15_021900b4: .space 0x4 .global data_ov15_021900b8 data_ov15_021900b8: .space 0x4 .global data_ov15_021900bc data_ov15_021900bc: .space 0x4 .global data_ov15_021900c0 data_ov15_021900c0: .space 0x4 .global data_ov15_021900c4 data_ov15_021900c4: .space 0x4 .global data_ov15_021900c8 data_ov15_021900c8: .space 0x4 .global data_ov15_021900cc data_ov15_021900cc: .space 0x4 .global data_ov15_021900d0 data_ov15_021900d0: .space 0x4 .global data_ov15_021900d4 data_ov15_021900d4: .space 0x4 .global data_ov15_021900d8 data_ov15_021900d8: .space 0x4 .global data_ov15_021900dc data_ov15_021900dc: .space 0x4 .global data_ov15_021900e0 data_ov15_021900e0: .space 0x4 .global data_ov15_021900e4 data_ov15_021900e4: .space 0x4 .global data_ov15_021900e8 data_ov15_021900e8: .space 0x4 .global data_ov15_021900ec data_ov15_021900ec: .space 0x4 .global data_ov15_021900f0 data_ov15_021900f0: .space 0x4 .global data_ov15_021900f4 data_ov15_021900f4: .space 0x4 .global data_ov15_021900f8 data_ov15_021900f8: .space 0x4 .global data_ov15_021900fc data_ov15_021900fc: .space 0x4 .global data_ov15_02190100 data_ov15_02190100: .space 0x4 .global data_ov15_02190104 data_ov15_02190104: .space 0x4 .global data_ov15_02190108 data_ov15_02190108: .space 0x4 .global data_ov15_0219010c data_ov15_0219010c: .space 0x4 .global data_ov15_02190110 data_ov15_02190110: .space 0x4 .global data_ov15_02190114 data_ov15_02190114: .space 0x4 .global data_ov15_02190118 data_ov15_02190118: .space 0x4 .global data_ov15_0219011c data_ov15_0219011c: .space 0x4 .global data_ov15_02190120 data_ov15_02190120: .space 0x4 .global data_ov15_02190124 data_ov15_02190124: .space 0x4 .global data_ov15_02190128 data_ov15_02190128: .space 0x4 .global data_ov15_0219012c data_ov15_0219012c: .space 0x4 .global data_ov15_02190130 data_ov15_02190130: .space 0x4 .global data_ov15_02190134 data_ov15_02190134: .space 0x4 .global data_ov15_02190138 data_ov15_02190138: .space 0x4 .global data_ov15_0219013c data_ov15_0219013c: .space 0x4 .global data_ov15_02190140 data_ov15_02190140: .space 0x4 .global data_ov15_02190144 data_ov15_02190144: .space 0x4 .global data_ov15_02190148 data_ov15_02190148: .space 0x4 .global data_ov15_0219014c data_ov15_0219014c: .space 0x4 .global data_ov15_02190150 data_ov15_02190150: .space 0x4 .global data_ov15_02190154 data_ov15_02190154: .space 0x4 .global data_ov15_02190158 data_ov15_02190158: .space 0x4 .global data_ov15_0219015c data_ov15_0219015c: .space 0x4 .global data_ov15_02190160 data_ov15_02190160: .space 0x4 .global data_ov15_02190164 data_ov15_02190164: .space 0x4 .global data_ov15_02190168 data_ov15_02190168: .space 0x4 .global data_ov15_0219016c data_ov15_0219016c: .space 0x4 .global data_ov15_02190170 data_ov15_02190170: .space 0x4 .global data_ov15_02190174 data_ov15_02190174: .space 0x4 .global data_ov15_02190178 data_ov15_02190178: .space 0x4 .global data_ov15_0219017c data_ov15_0219017c: .space 0x4 .global data_ov15_02190180 data_ov15_02190180: .space 0x4 .global data_ov15_02190184 data_ov15_02190184: .space 0x4 .global data_ov15_02190188 data_ov15_02190188: .space 0x4 .global data_ov15_0219018c data_ov15_0219018c: .space 0x4 .global data_ov15_02190190 data_ov15_02190190: .space 0x4 .global data_ov15_02190194 data_ov15_02190194: .space 0x4 .global data_ov15_02190198 data_ov15_02190198: .space 0x4 .global data_ov15_0219019c data_ov15_0219019c: .space 0x4 .global data_ov15_021901a0 data_ov15_021901a0: .space 0x4 .global data_ov15_021901a4 data_ov15_021901a4: .space 0x4 .global data_ov15_021901a8 data_ov15_021901a8: .space 0x4 .global data_ov15_021901ac data_ov15_021901ac: .space 0x4 .global data_ov15_021901b0 data_ov15_021901b0: .space 0x4 .global data_ov15_021901b4 data_ov15_021901b4: .space 0x4 .global data_ov15_021901b8 data_ov15_021901b8: .space 0x4 .global data_ov15_021901bc data_ov15_021901bc: .space 0x4 .global data_ov15_021901c0 data_ov15_021901c0: .space 0x4 .global data_ov15_021901c4 data_ov15_021901c4: .space 0x4 .global data_ov15_021901c8 data_ov15_021901c8: .space 0x4 .global data_ov15_021901cc data_ov15_021901cc: .space 0x4 .global data_ov15_021901d0 data_ov15_021901d0: .space 0x4 .global data_ov15_021901d4 data_ov15_021901d4: .space 0x4 .global data_ov15_021901d8 data_ov15_021901d8: .space 0x4 .global data_ov15_021901dc data_ov15_021901dc: .space 0x4 .global data_ov15_021901e0 data_ov15_021901e0: .space 0x4 .global data_ov15_021901e4 data_ov15_021901e4: .space 0x4 .global data_ov15_021901e8 data_ov15_021901e8: .space 0x4 .global data_ov15_021901ec data_ov15_021901ec: .space 0x4 .global data_ov15_021901f0 data_ov15_021901f0: .space 0x4 .global data_ov15_021901f4 data_ov15_021901f4: .space 0x4 .global data_ov15_021901f8 data_ov15_021901f8: .space 0x4 .global data_ov15_021901fc data_ov15_021901fc: .space 0x4 .global data_ov15_02190200 data_ov15_02190200: .space 0x4 .global data_ov15_02190204 data_ov15_02190204: .space 0x4 .global data_ov15_02190208 data_ov15_02190208: .space 0x4 .global data_ov15_0219020c data_ov15_0219020c: .space 0x4 .global data_ov15_02190210 data_ov15_02190210: .space 0x4 .global data_ov15_02190214 data_ov15_02190214: .space 0x4 .global data_ov15_02190218 data_ov15_02190218: .space 0x4 .global data_ov15_0219021c data_ov15_0219021c: .space 0x4 .global data_ov15_02190220 data_ov15_02190220: .space 0x4 .global data_ov15_02190224 data_ov15_02190224: .space 0x4 .global data_ov15_02190228 data_ov15_02190228: .space 0x4 .global data_ov15_0219022c data_ov15_0219022c: .space 0x4 .global data_ov15_02190230 data_ov15_02190230: .space 0x4 .global data_ov15_02190234 data_ov15_02190234: .space 0x4 .global data_ov15_02190238 data_ov15_02190238: .space 0x4 .global data_ov15_0219023c data_ov15_0219023c: .space 0x4 .global data_ov15_02190240 data_ov15_02190240: .space 0x4 .global data_ov15_02190244 data_ov15_02190244: .space 0x4 .global data_ov15_02190248 data_ov15_02190248: .space 0x4 .global data_ov15_0219024c data_ov15_0219024c: .space 0x4 .global data_ov15_02190250 data_ov15_02190250: .space 0x4 .global data_ov15_02190254 data_ov15_02190254: .space 0x4 .global data_ov15_02190258 data_ov15_02190258: .space 0x4 .global data_ov15_0219025c data_ov15_0219025c: .space 0x4 .global data_ov15_02190260 data_ov15_02190260: .space 0x4 .global data_ov15_02190264 data_ov15_02190264: .space 0x4 .global data_ov15_02190268 data_ov15_02190268: .space 0x4 .global data_ov15_0219026c data_ov15_0219026c: .space 0x4 .global data_ov15_02190270 data_ov15_02190270: .space 0x4 .global data_ov15_02190274 data_ov15_02190274: .space 0x4 .global data_ov15_02190278 data_ov15_02190278: .space 0x4 .global data_ov15_0219027c data_ov15_0219027c: .space 0x4 .global data_ov15_02190280 data_ov15_02190280: .space 0x4 .global data_ov15_02190284 data_ov15_02190284: .space 0x4 .global data_ov15_02190288 data_ov15_02190288: .space 0x4 .global data_ov15_0219028c data_ov15_0219028c: .space 0x4 .global data_ov15_02190290 data_ov15_02190290: .space 0x4 .global data_ov15_02190294 data_ov15_02190294: .space 0x4 .global data_ov15_02190298 data_ov15_02190298: .space 0x4 .global data_ov15_0219029c data_ov15_0219029c: .space 0x4 .global data_ov15_021902a0 data_ov15_021902a0: .space 0x4 .global data_ov15_021902a4 data_ov15_021902a4: .space 0x4 .global data_ov15_021902a8 data_ov15_021902a8: .space 0x4 .global data_ov15_021902ac data_ov15_021902ac: .space 0x4 .global data_ov15_021902b0 data_ov15_021902b0: .space 0x4 .global data_ov15_021902b4 data_ov15_021902b4: .space 0x4 .global data_ov15_021902b8 data_ov15_021902b8: .space 0x4 .global data_ov15_021902bc data_ov15_021902bc: .space 0x4 .global data_ov15_021902c0 data_ov15_021902c0: .space 0x4 .global data_ov15_021902c4 data_ov15_021902c4: .space 0x4 .global data_ov15_021902c8 data_ov15_021902c8: .space 0x4 .global data_ov15_021902cc data_ov15_021902cc: .space 0x4 .global data_ov15_021902d0 data_ov15_021902d0: .space 0x4 .global data_ov15_021902d4 data_ov15_021902d4: .space 0x4 .global data_ov15_021902d8 data_ov15_021902d8: .space 0x4 .global data_ov15_021902dc data_ov15_021902dc: .space 0x4 .global data_ov15_021902e0 data_ov15_021902e0: .space 0x4 .global data_ov15_021902e4 data_ov15_021902e4: .space 0x4 .global data_ov15_021902e8 data_ov15_021902e8: .space 0x4 .global data_ov15_021902ec data_ov15_021902ec: .space 0x4 .global data_ov15_021902f0 data_ov15_021902f0: .space 0x4 .global data_ov15_021902f4 data_ov15_021902f4: .space 0x4 .global data_ov15_021902f8 data_ov15_021902f8: .space 0x4 .global data_ov15_021902fc data_ov15_021902fc: .space 0x4 .global data_ov15_02190300 data_ov15_02190300: .space 0x4 .global data_ov15_02190304 data_ov15_02190304: .space 0x4 .global data_ov15_02190308 data_ov15_02190308: .space 0x4 .global data_ov15_0219030c data_ov15_0219030c: .space 0x4 .global data_ov15_02190310 data_ov15_02190310: .space 0x4 .global data_ov15_02190314 data_ov15_02190314: .space 0x4 .global data_ov15_02190318 data_ov15_02190318: .space 0x4 .global data_ov15_0219031c data_ov15_0219031c: .space 0x4 .global data_ov15_02190320 data_ov15_02190320: .space 0x4 .global data_ov15_02190324 data_ov15_02190324: .space 0x4 .global data_ov15_02190328 data_ov15_02190328: .space 0x4 .global data_ov15_0219032c data_ov15_0219032c: .space 0x4 .global data_ov15_02190330 data_ov15_02190330: .space 0x4 .global data_ov15_02190334 data_ov15_02190334: .space 0x4 .global data_ov15_02190338 data_ov15_02190338: .space 0x4 .global data_ov15_0219033c data_ov15_0219033c: .space 0x4 .global data_ov15_02190340 data_ov15_02190340: .space 0x4 .global data_ov15_02190344 data_ov15_02190344: .space 0x4 .global data_ov15_02190348 data_ov15_02190348: .space 0x4 .global data_ov15_0219034c data_ov15_0219034c: .space 0x4 .global data_ov15_02190350 data_ov15_02190350: .space 0x4 .global data_ov15_02190354 data_ov15_02190354: .space 0x4 .global data_ov15_02190358 data_ov15_02190358: .space 0x4 .global data_ov15_0219035c data_ov15_0219035c: .space 0x4 .global data_ov15_02190360 data_ov15_02190360: .space 0x4 .global data_ov15_02190364 data_ov15_02190364: .space 0x4 .global data_ov15_02190368 data_ov15_02190368: .space 0x4 .global data_ov15_0219036c data_ov15_0219036c: .space 0x4 .global data_ov15_02190370 data_ov15_02190370: .space 0x4 .global data_ov15_02190374 data_ov15_02190374: .space 0x4 .global data_ov15_02190378 data_ov15_02190378: .space 0x4 .global data_ov15_0219037c data_ov15_0219037c: .space 0x4 .global data_ov15_02190380 data_ov15_02190380: .space 0x4 .global data_ov15_02190384 data_ov15_02190384: .space 0x4 .global data_ov15_02190388 data_ov15_02190388: .space 0x4 .global data_ov15_0219038c data_ov15_0219038c: .space 0x4 .global data_ov15_02190390 data_ov15_02190390: .space 0x4 .global data_ov15_02190394 data_ov15_02190394: .space 0x4 .global data_ov15_02190398 data_ov15_02190398: .space 0x4 .global data_ov15_0219039c data_ov15_0219039c: .space 0x4 .global data_ov15_021903a0 data_ov15_021903a0: .space 0x4 .global data_ov15_021903a4 data_ov15_021903a4: .space 0x4 .global data_ov15_021903a8 data_ov15_021903a8: .space 0x4 .global data_ov15_021903ac data_ov15_021903ac: .space 0x4 .global data_ov15_021903b0 data_ov15_021903b0: .space 0x4 .global data_ov15_021903b4 data_ov15_021903b4: .space 0x4 .global data_ov15_021903b8 data_ov15_021903b8: .space 0x4 .global data_ov15_021903bc data_ov15_021903bc: .space 0x4 .global data_ov15_021903c0 data_ov15_021903c0: .space 0x4 .global data_ov15_021903c4 data_ov15_021903c4: .space 0x4 .global data_ov15_021903c8 data_ov15_021903c8: .space 0x4 .global data_ov15_021903cc data_ov15_021903cc: .space 0x4 .global data_ov15_021903d0 data_ov15_021903d0: .space 0x4 .global data_ov15_021903d4 data_ov15_021903d4: .space 0x4 .global data_ov15_021903d8 data_ov15_021903d8: .space 0x4 .global data_ov15_021903dc data_ov15_021903dc: .space 0x4 .global data_ov15_021903e0 data_ov15_021903e0: .space 0x4 .global data_ov15_021903e4 data_ov15_021903e4: .space 0x4 .global data_ov15_021903e8 data_ov15_021903e8: .space 0x4 .global data_ov15_021903ec data_ov15_021903ec: .space 0x4 .global data_ov15_021903f0 data_ov15_021903f0: .space 0x4 .global data_ov15_021903f4 data_ov15_021903f4: .space 0x4 .global data_ov15_021903f8 data_ov15_021903f8: .space 0x4 .global data_ov15_021903fc data_ov15_021903fc: .space 0x4 .global data_ov15_02190400 data_ov15_02190400: .space 0x4 .global data_ov15_02190404 data_ov15_02190404: .space 0x4 .global data_ov15_02190408 data_ov15_02190408: .space 0x4 .global data_ov15_0219040c data_ov15_0219040c: .space 0x4 .global data_ov15_02190410 data_ov15_02190410: .space 0x4 .global data_ov15_02190414 data_ov15_02190414: .space 0x4 .global data_ov15_02190418 data_ov15_02190418: .space 0x4 .global data_ov15_0219041c data_ov15_0219041c: .space 0x4 .global data_ov15_02190420 data_ov15_02190420: .space 0x4 .global data_ov15_02190424 data_ov15_02190424: .space 0x4 .global data_ov15_02190428 data_ov15_02190428: .space 0x4 .global data_ov15_0219042c data_ov15_0219042c: .space 0x4 .global data_ov15_02190430 data_ov15_02190430: .space 0x4 .global data_ov15_02190434 data_ov15_02190434: .space 0x4 .global data_ov15_02190438 data_ov15_02190438: .space 0x4 .global data_ov15_0219043c data_ov15_0219043c: .space 0x4 .global data_ov15_02190440 data_ov15_02190440: .space 0x4 .global data_ov15_02190444 data_ov15_02190444: .space 0x4 .global data_ov15_02190448 data_ov15_02190448: .space 0x4 .global data_ov15_0219044c data_ov15_0219044c: .space 0x4 .global data_ov15_02190450 data_ov15_02190450: .space 0x4 .global data_ov15_02190454 data_ov15_02190454: .space 0x4 .global data_ov15_02190458 data_ov15_02190458: .space 0x4 .global data_ov15_0219045c data_ov15_0219045c: .space 0x1 .global data_ov15_0219045d data_ov15_0219045d: .space 0x1 .global data_ov15_0219045e data_ov15_0219045e: .space 0x1 .global data_ov15_0219045f data_ov15_0219045f: .space 0x1 .global data_ov15_02190460 data_ov15_02190460: .space 0x1 .global data_ov15_02190461 data_ov15_02190461: .space 0x1 .global data_ov15_02190462 data_ov15_02190462: .space 0x1 .global data_ov15_02190463 data_ov15_02190463: .space 0x1 .global data_ov15_02190464 data_ov15_02190464: .space 0x1 .global data_ov15_02190465 data_ov15_02190465: .space 0x1 .global data_ov15_02190466 data_ov15_02190466: .space 0x1 .global data_ov15_02190467 data_ov15_02190467: .space 0x1 .global data_ov15_02190468 data_ov15_02190468: .space 0x1 .global data_ov15_02190469 data_ov15_02190469: .space 0x1 .global data_ov15_0219046a data_ov15_0219046a: .space 0x1 .global data_ov15_0219046b data_ov15_0219046b: .space 0x1 .global data_ov15_0219046c data_ov15_0219046c: .space 0x1 .global data_ov15_0219046d data_ov15_0219046d: .space 0x1 .global data_ov15_0219046e data_ov15_0219046e: .space 0x1 .global data_ov15_0219046f data_ov15_0219046f: .space 0x1 .global data_ov15_02190470 data_ov15_02190470: .space 0x1 .global data_ov15_02190471 data_ov15_02190471: .space 0x1 .global data_ov15_02190472 data_ov15_02190472: .space 0x1 .global data_ov15_02190473 data_ov15_02190473: .space 0x1 .global data_ov15_02190474 data_ov15_02190474: .space 0x1 .global data_ov15_02190475 data_ov15_02190475: .space 0x1 .global data_ov15_02190476 data_ov15_02190476: .space 0x1 .global data_ov15_02190477 data_ov15_02190477: .space 0x1 .global data_ov15_02190478 data_ov15_02190478: .space 0x1 .global data_ov15_02190479 data_ov15_02190479: .space 0x1 .global data_ov15_0219047a data_ov15_0219047a: .space 0x1 .global data_ov15_0219047b data_ov15_0219047b: .space 0x1 .global data_ov15_0219047c data_ov15_0219047c: .space 0x1 .global data_ov15_0219047d data_ov15_0219047d: .space 0x1 .global data_ov15_0219047e data_ov15_0219047e: .space 0x1 .global data_ov15_0219047f data_ov15_0219047f: .space 0x1 .global data_ov15_02190480 data_ov15_02190480: .space 0x1 .global data_ov15_02190481 data_ov15_02190481: .space 0x1 .global data_ov15_02190482 data_ov15_02190482: .space 0x1 .global data_ov15_02190483 data_ov15_02190483: .space 0x1 .global data_ov15_02190484 data_ov15_02190484: .space 0x1 .global data_ov15_02190485 data_ov15_02190485: .space 0x1 .global data_ov15_02190486 data_ov15_02190486: .space 0x1 .global data_ov15_02190487 data_ov15_02190487: .space 0x1 .global data_ov15_02190488 data_ov15_02190488: .space 0x1 .global data_ov15_02190489 data_ov15_02190489: .space 0x1 .global data_ov15_0219048a data_ov15_0219048a: .space 0x1 .global data_ov15_0219048b data_ov15_0219048b: .space 0x1 .global data_ov15_0219048c data_ov15_0219048c: .space 0x1 .global data_ov15_0219048d data_ov15_0219048d: .space 0x1 .global data_ov15_0219048e data_ov15_0219048e: .space 0x1 .global data_ov15_0219048f data_ov15_0219048f: .space 0x1 .global data_ov15_02190490 data_ov15_02190490: .space 0x1 .global data_ov15_02190491 data_ov15_02190491: .space 0x1 .global data_ov15_02190492 data_ov15_02190492: .space 0x1 .global data_ov15_02190493 data_ov15_02190493: .space 0x1 .global data_ov15_02190494 data_ov15_02190494: .space 0x1 .global data_ov15_02190495 data_ov15_02190495: .space 0x1 .global data_ov15_02190496 data_ov15_02190496: .space 0x1 .global data_ov15_02190497 data_ov15_02190497: .space 0x1 .global data_ov15_02190498 data_ov15_02190498: .space 0x1 .global data_ov15_02190499 data_ov15_02190499: .space 0x1 .global data_ov15_0219049a data_ov15_0219049a: .space 0x1 .global data_ov15_0219049b data_ov15_0219049b: .space 0x1 .global data_ov15_0219049c data_ov15_0219049c: .space 0x1 .global data_ov15_0219049d data_ov15_0219049d: .space 0x1 .global data_ov15_0219049e data_ov15_0219049e: .space 0x2