.include "macros/function.inc" .include "global.inc" .text .global func_ov36_0217bd80 arm_func_start func_ov36_0217bd80 func_ov36_0217bd80: ; 0x0217bd80 stmdb sp!, {r3, lr} ldr r1, _0217bdac ; =data_027e0fe0 ldr r0, _0217bdb0 ; =0x00001b10 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov36_0217ccd8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_0217bd80 _0217bdac: .word data_027e0fe0 _0217bdb0: .word 0x00001b10 .global func_ov36_0217bdb4 arm_func_start func_ov36_0217bdb4 func_ov36_0217bdb4: ; 0x0217bdb4 stmdb sp!, {r4, lr} ldrh r2, [r1] ldr r3, _0217be2c ; =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_ov36_0217bdb4 _0217be2c: .word data_02050f54 .global func_ov36_0217be30 arm_func_start func_ov36_0217be30 func_ov36_0217be30: ; 0x0217be30 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r0 bl func_ov00_020c6114 ldr r3, _0217bf40 ; =data_ov36_02186e6c add r0, r4, #0xfc add r1, r4, #0x120 mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r1, _0217bf44 ; =data_ov36_02186e80 ldr r0, _0217bf48 ; =0x000014cd str r1, [r4, #0xfc] str r0, [r4, #0x17c] mov r1, #0 strb r1, [r4, #0x188] ldr r2, _0217bf4c ; =data_ov36_02186b04 mov r0, r4 mov r1, #0x54 bl func_ov00_020c5c98 ldr r0, [r4, #4] ldr r1, _0217bf50 ; =data_ov36_02186b1c 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, _0217bf54 ; =data_ov36_02186b30 ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 str r0, [r4, #0x184] ldr r0, _0217bf58 ; =data_ov36_02186ea0 blx func_02016fe8 mov r5, r0 ldr r1, _0217bf5c ; =data_ov36_02186eb8 add r0, sp, #0 mov r2, #0x10 bl func_020470ec mov r0, r5 add r1, sp, #0 bl func_0201e544 mov r1, r0 add r0, r4, #0xfc bl func_ov00_020c0c9c add r1, r4, #0x108 mov r0, #0x1000 str r0, [r1, #4] mov r0, #0 strh r0, [r1] 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_ov36_0217be30 _0217bf40: .word data_ov36_02186e6c _0217bf44: .word data_ov36_02186e80 _0217bf48: .word 0x000014cd _0217bf4c: .word data_ov36_02186b04 _0217bf50: .word data_ov36_02186b1c _0217bf54: .word data_ov36_02186b30 _0217bf58: .word data_ov36_02186ea0 _0217bf5c: .word data_ov36_02186eb8 .global func_ov36_0217bf60 arm_func_start func_ov36_0217bf60 func_ov36_0217bf60: ; 0x0217bf60 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldrb r0, [r4, #0x189] cmp r0, #0 beq _0217bfa0 ldr r0, _0217c004 ; =0x000014cd str r0, [r4, #0x17c] ldrb r0, [r4, #0x188] add r1, r0, #8 and r0, r1, #0xff cmp r0, #0x14 strb r1, [r4, #0x188] movhi r0, #0x14 strhib r0, [r4, #0x188] b _0217bfbc _0217bfa0: ldr r2, _0217c008 ; =0x00000385 add r0, r4, #0x17c mov r1, #0 bl func_0202b0f4 cmp r0, #0 movne r0, #0 strneb r0, [r4, #0x188] _0217bfbc: mov r0, #0 strb r0, [r4, #0x189] ldrb r0, [r4, #0x188] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0xfc bl func_ov00_020c0e04 ldr r2, [r4, #0x1c] mov r0, #0 str r0, [sp] ldr r3, [r2, #8] ldr r0, _0217c00c ; =data_027e0ffc ldr r1, _0217c010 ; =0x000002cf add r2, r2, #0x48 bl func_ov00_020cec60 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_0217bf60 _0217c004: .word 0x000014cd _0217c008: .word 0x00000385 _0217c00c: .word data_027e0ffc _0217c010: .word 0x000002cf .global func_ov36_0217c014 arm_func_start func_ov36_0217c014 func_ov36_0217c014: ; 0x0217c014 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, _0217c06c ; =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, _0217c06c ; =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_ov36_0217c014 _0217c06c: .word data_ov00_020e9360 .global func_ov36_0217c070 arm_func_start func_ov36_0217c070 func_ov36_0217c070: ; 0x0217c070 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 ldr r3, _0217c114 ; =0xfffffc39 ldr r2, _0217c118 ; =0x00000ccd mov ip, #0 mov r4, r0 str ip, [sp, #0x24] str r3, [sp, #0x28] str r2, [sp, #0x2c] ldr r0, [r4, #0x1c] mov r5, r1 ldrsh r1, [r0, #0x78] add r0, sp, #0x24 bl func_ov00_020a61ac add r1, sp, #0x24 add r2, sp, #0x30 mov r0, r5 bl func_01ff9bc4 ldr r0, [r4, #0x1c] ldr r3, _0217c11c ; =data_02050f54 ldrh r1, [r0, #0x78] 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 ldr r1, [r4, #0x17c] mov r0, r4 str r1, [sp, #0x3c] str r1, [sp, #0x40] str r1, [sp, #0x44] add r1, sp, #0x3c add r2, sp, #0 add r3, sp, #0x30 bl func_ov00_020c5f80 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217c070 _0217c114: .word 0xfffffc39 _0217c118: .word 0x00000ccd _0217c11c: .word data_02050f54 .global func_ov36_0217c120 arm_func_start func_ov36_0217c120 func_ov36_0217c120: ; 0x0217c120 stmdb sp!, {r4, lr} ldr r3, _0217c144 ; =data_ov36_02186adc mov r2, #0xdc mov r4, r0 bl func_ov00_020c607c ldr r1, _0217c148 ; =data_ov36_02186e58 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217c120 _0217c144: .word data_ov36_02186adc _0217c148: .word data_ov36_02186e58 .global func_ov36_0217c14c arm_func_start func_ov36_0217c14c func_ov36_0217c14c: ; 0x0217c14c ldr r2, _0217c15c ; =data_ov36_02186d0c str r2, [r0] strh r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov36_0217c14c _0217c15c: .word data_ov36_02186d0c .global func_ov36_0217c160 arm_func_start func_ov36_0217c160 func_ov36_0217c160: ; 0x0217c160 ldr r3, [r1, #4] ldr r2, _0217c198 ; =0x47524d47 cmp r3, r2 bne _0217c190 ldrb r2, [r1, #0x11a] cmp r2, #0 beq _0217c190 ldrh r2, [r0, #4] ldrh r0, [r1, #0x22] cmp r2, r0 moveq r0, #1 bxeq lr _0217c190: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov36_0217c160 _0217c198: .word 0x47524d47 .global func_ov36_0217c19c arm_func_start func_ov36_0217c19c func_ov36_0217c19c: ; 0x0217c19c cmp r2, #9 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov36_0217c19c .global func_ov36_0217c1ac arm_func_start func_ov36_0217c1ac func_ov36_0217c1ac: ; 0x0217c1ac mov r0, #0 bx lr arm_func_end func_ov36_0217c1ac .global func_ov36_0217c1b4 arm_func_start func_ov36_0217c1b4 func_ov36_0217c1b4: ; 0x0217c1b4 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r0, _0217c1fc ; =data_ov36_02186e10 mov r1, #0 str r0, [r4] strh r1, [r4, #0xec] sub r0, r1, #1 str r0, [r4, #0x100] strb r1, [r4, #0x104] str r1, [r4, #0x5c] str r1, [r4, #0x60] add r0, r4, #0x8c str r1, [r4, #0x64] bl func_01ff892c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217c1b4 _0217c1fc: .word data_ov36_02186e10 .global func_ov36_0217c200 arm_func_start func_ov36_0217c200 func_ov36_0217c200: ; 0x0217c200 ldr ip, _0217c210 ; =func_ov00_020a9998 mov r1, #6 mov r2, #2 bx ip .align 2, 0 arm_func_end func_ov36_0217c200 _0217c210: .word func_ov00_020a9998 .global func_ov36_0217c214 arm_func_start func_ov36_0217c214 func_ov36_0217c214: ; 0x0217c214 mov r1, r0 ldr r0, [r1, #4] ldr ip, _0217c22c ; =func_ov36_0217c274 ldr r0, [r0, #0x2c] add r0, r0, #0x178 bx ip .align 2, 0 arm_func_end func_ov36_0217c214 _0217c22c: .word func_ov36_0217c274 .global func_ov36_0217c230 arm_func_start func_ov36_0217c230 func_ov36_0217c230: ; 0x0217c230 mov r1, r0 ldr r0, [r1, #4] ldr ip, _0217c248 ; =func_ov36_0217c51c ldr r0, [r0, #0x2c] add r0, r0, #0x178 bx ip .align 2, 0 arm_func_end func_ov36_0217c230 _0217c248: .word func_ov36_0217c51c .global func_ov36_0217c24c arm_func_start func_ov36_0217c24c func_ov36_0217c24c: ; 0x0217c24c ldr r1, _0217c26c ; =func_ov36_0217c214 mov r2, #2 str r1, [r0, #0x24] ldr r1, _0217c270 ; =func_ov36_0217c230 strb r2, [r0, #0x92] str r1, [r0, #0x1c] strb r2, [r0, #0x90] bx lr .align 2, 0 arm_func_end func_ov36_0217c24c _0217c26c: .word func_ov36_0217c214 _0217c270: .word func_ov36_0217c230 .global func_ov36_0217c274 arm_func_start func_ov36_0217c274 func_ov36_0217c274: ; 0x0217c274 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xb4 mov r8, r0 ldrb r0, [r8, #0x104] mov r7, r1 cmp r0, #0 bne _0217c2f8 mov r0, #1 strb r0, [r8, #0x104] ldr r0, [r7, #4] ldr r1, _0217c508 ; =data_ov36_02186b44 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r8, #0xf4] ldr r0, [r7, #4] ldr r1, _0217c50c ; =data_ov36_02186b58 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r8, #0xf8] ldr r0, [r7, #4] ldr r1, _0217c510 ; =data_ov36_02186b6c ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r8, #0xf0] ldr r0, [r7, #4] ldr r1, _0217c514 ; =data_ov36_02186b80 ldr r0, [r0, #4] add r0, r0, #0x40 bl func_0201e388 str r0, [r8, #0xfc] _0217c2f8: ldr r0, [r7, #8] ldr r4, [r7, #4] tst r0, #0x10 ldrneb r6, [r7, #0xae] ldr r0, [r8, #0xf4] mvneq r6, #0 cmp r6, r0 bne _0217c370 ldrb r0, [r4, #0x25] cmp r0, #2 bne _0217c334 mov r0, #3 strb r0, [r7, #0x92] strb r0, [r4, #0x25] b _0217c494 _0217c334: cmp r0, #3 bne _0217c494 add r0, sp, #0x84 mov r1, #0 bl func_0201b1bc ldr r3, [sp, #0xb0] ldr r2, [sp, #0xac] ldr r1, [sp, #0xa8] mov r0, #2 str r1, [r8, #0x5c] str r2, [r8, #0x60] str r3, [r8, #0x64] strb r0, [r7, #0x92] strb r0, [r4, #0x25] b _0217c494 _0217c370: ldr r0, [r8, #0xf0] cmp r6, r0 bne _0217c420 ldrb r0, [r4, #0x25] cmp r0, #2 bne _0217c3e4 ldr r5, [r7, #0xb4] ldr r3, _0217c518 ; =data_02050f54 ldr r1, [r5] add r0, sp, #0x60 bic r1, r1, #2 str r1, [r5] ldrh r1, [r8, #0xec] 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, r5, #0x28 add r0, sp, #0x60 mov r2, r1 bl func_0202e030 mov r0, #3 strb r0, [r7, #0x92] strb r0, [r4, #0x25] b _0217c494 _0217c3e4: cmp r0, #3 bne _0217c494 add r0, sp, #0x30 mov r1, #0 bl func_0201b1bc ldr r3, [sp, #0x5c] ldr r2, [sp, #0x58] ldr r1, [sp, #0x54] mov r0, #2 str r1, [r8, #0x68] str r2, [r8, #0x6c] str r3, [r8, #0x70] strb r0, [r7, #0x92] strb r0, [r4, #0x25] b _0217c494 _0217c420: ldr r0, [r8, #0xfc] cmp r6, r0 bne _0217c494 ldrb r0, [r4, #0x25] cmp r0, #2 bne _0217c448 mov r0, #3 strb r0, [r7, #0x92] strb r0, [r4, #0x25] b _0217c494 _0217c448: cmp r0, #3 bne _0217c494 mov r0, #0 strb r0, [r8, #0x105] bl func_02018450 mov ip, r0 add r5, r8, #0x8c ldmia ip!, {r0, r1, r2, r3} 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 r0, r8, #0xbc mov r1, #0 bl func_0201b1bc mov r0, #2 strb r0, [r7, #0x92] strb r0, [r4, #0x25] _0217c494: ldr r0, [r8, #0xf8] cmp r6, r0 addne sp, sp, #0xb4 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} ldrb r0, [r4, #0x25] cmp r0, #2 bne _0217c4c4 mov r0, #3 strb r0, [r7, #0x92] add sp, sp, #0xb4 strb r0, [r4, #0x25] ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0217c4c4: cmp r0, #3 addne sp, sp, #0xb4 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} add r0, sp, #0 mov r1, #0 bl func_0201b1bc ldr r3, [sp, #0x2c] ldr r2, [sp, #0x28] ldr r1, [sp, #0x24] mov r0, #2 str r1, [r8, #0x74] str r2, [r8, #0x78] str r3, [r8, #0x7c] strb r0, [r7, #0x92] strb r0, [r4, #0x25] add sp, sp, #0xb4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov36_0217c274 _0217c508: .word data_ov36_02186b44 _0217c50c: .word data_ov36_02186b58 _0217c510: .word data_ov36_02186b6c _0217c514: .word data_ov36_02186b80 _0217c518: .word data_02050f54 .global func_ov36_0217c51c arm_func_start func_ov36_0217c51c func_ov36_0217c51c: ; 0x0217c51c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r2, [r5, #0x100] mvn r0, #0 mov r4, r1 cmp r2, r0 bne _0217c558 ldr r0, [r4, #4] ldr r1, _0217c59c ; =data_ov36_02186b94 ldr r2, [r0, #4] ldr r0, [r2, #8] add r0, r2, r0 add r0, r0, #4 bl func_0201e388 str r0, [r5, #0x100] _0217c558: ldr r0, [r4, #8] tst r0, #8 ldrneb r1, [r4, #0xad] ldr r0, [r5, #0x100] mvneq r1, #0 cmp r0, r1 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r4, #4] ldr r0, [r0, #0x2c] bl func_ov36_02185428 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0xb0] ldr r0, [r1, #0xc] bic r0, r0, #0x1f0000 str r0, [r1, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217c51c _0217c59c: .word data_ov36_02186b94 .global func_ov36_0217c5a0 arm_func_start func_ov36_0217c5a0 func_ov36_0217c5a0: ; 0x0217c5a0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 add r0, r1, #0x5c add r2, sp, #0 add r1, r1, #0x8c 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_ov36_0217c5a0 .global func_ov36_0217c5d0 arm_func_start func_ov36_0217c5d0 func_ov36_0217c5d0: ; 0x0217c5d0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 add r0, r1, #0x68 add r2, sp, #0 add r1, r1, #0x8c 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_ov36_0217c5d0 .global func_ov36_0217c600 arm_func_start func_ov36_0217c600 func_ov36_0217c600: ; 0x0217c600 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 add r0, r1, #0x74 add r2, sp, #0 add r1, r1, #0x8c 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_ov36_0217c600 .global func_ov36_0217c630 arm_func_start func_ov36_0217c630 func_ov36_0217c630: ; 0x0217c630 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x60 mov r4, r1 ldrb r1, [r4, #0x105] mov r5, r0 mov r6, r2 cmp r1, #0 bne _0217c6e8 add r2, sp, #0x30 add r0, r4, #0xbc add r1, r4, #0x8c bl func_01ff8e84 add r0, sp, #0x30 add r1, sp, #0xc bl func_020079d8 cmp r6, #0 ldr r2, _0217c6fc ; =0x00000266 mov r0, #0 beq _0217c690 ldr r1, _0217c700 ; =0x000004cd str r2, [sp] str r1, [sp, #4] str r0, [sp, #8] b _0217c6a0 _0217c690: rsb r1, r2, #0xc00 str r2, [sp] str r1, [sp, #4] str r0, [sp, #8] _0217c6a0: add r0, sp, #0 add r1, sp, #0xc mov r2, r0 bl func_01ff88b0 ldr r1, [sp] ldr r0, [sp, #0x54] ldr lr, [sp, #8] ldr ip, [sp, #0x5c] ldr r3, [sp, #4] ldr r2, [sp, #0x58] add r0, r1, r0 str r0, [r4, #0x80] add r0, r3, r2 str r0, [r4, #0x84] add r0, lr, ip str r0, [r4, #0x88] mov r0, #1 strb r0, [r4, #0x105] _0217c6e8: add r0, r4, #0x80 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217c630 _0217c6fc: .word 0x00000266 _0217c700: .word 0x000004cd .global func_ov36_0217c704 arm_func_start func_ov36_0217c704 func_ov36_0217c704: ; 0x0217c704 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 ldr r2, _0217c7d0 ; =data_ov36_02186848 mov r4, r0 mov r1, #0xdb bl func_ov00_020c5c98 add r0, r4, #0x20 bl func_ov36_0217c200 add r0, r4, #0x20 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r4, #0x19c] ldr r1, _0217c7d4 ; =0x00000333 add r0, r4, #0x20 str r1, [r4, #0x210] ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r4, #0x21c] ldr r1, _0217c7d8 ; =data_027e0fec ldr r0, _0217c7dc ; =data_ov36_02186ec8 ldr r1, [r1] add r1, r1, #0x2000 ldr r6, [r1, #0xff0] blx func_02016fe8 mov r5, r0 ldr r1, _0217c7e0 ; =data_ov36_02186edc add r0, sp, #0 mov r2, #0x10 bl func_020470ec mov r0, r5 add r1, sp, #0 bl func_0201e544 mov r1, r0 mov r2, r6 add r0, r4, #0x214 mov r3, #1 bl func_ov00_020c0cc8 add r0, r4, #0x20 ldr r2, [r0] add r1, r4, #0x214 ldr r2, [r2, #0x24] blx r2 mov r0, #0 str r0, [r4, #0x224] ldr r1, _0217c7e4 ; =data_ov36_02186c80 mov r0, r4 bl func_ov36_0217c7e8 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217c704 _0217c7d0: .word data_ov36_02186848 _0217c7d4: .word 0x00000333 _0217c7d8: .word data_027e0fec _0217c7dc: .word data_ov36_02186ec8 _0217c7e0: .word data_ov36_02186edc _0217c7e4: .word data_ov36_02186c80 .global func_ov36_0217c7e8 arm_func_start func_ov36_0217c7e8 func_ov36_0217c7e8: ; 0x0217c7e8 ldr r1, [r1] ldr ip, _0217c7fc ; =func_ov00_020c0e04 str r1, [r0, #0x228] add r0, r0, #0x214 bx ip .align 2, 0 arm_func_end func_ov36_0217c7e8 _0217c7fc: .word func_ov00_020c0e04 .global func_ov36_0217c800 arm_func_start func_ov36_0217c800 func_ov36_0217c800: ; 0x0217c800 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r1, [r4, #0x208] add r2, r4, #0x128 mov r0, #0x6c mla r0, r1, r0, r2 bl func_ov00_020c0e04 mov r0, r4 bl func_ov36_0217cc84 cmp r0, #0 bne _0217c8b8 ldr r1, [r4, #0x20c] ldr r0, [r4, #0x210] add r5, r1, r0 str r5, [r4, #0x20c] cmp r5, #0x1000 ble _0217c850 mov r0, r4 bl func_ov36_0217cc18 b _0217c8c0 _0217c850: ldr r1, [r4, #0x208] add r2, r4, #0x128 mov r0, #0x6c mla r0, r1, r0, r2 bl func_ov00_020c0d4c str r5, [r0, #4] ldr r0, [r4, #0x208] add r1, r4, #0x128 cmp r0, #0 moveq r2, #1 movne r2, #0 mov r0, #0x6c mla r0, r2, r0, r1 bl func_ov00_020c0e04 ldr r0, [r4, #0x208] add r1, r4, #0x128 cmp r0, #0 moveq r2, #1 movne r2, #0 mov r0, #0x6c mla r0, r2, r0, r1 bl func_ov00_020c0d4c ldr r1, [r4, #0x20c] rsb r1, r1, #0x1000 str r1, [r0, #4] b _0217c8c0 _0217c8b8: ldr r0, _0217c918 ; =0x00000333 str r0, [r4, #0x210] _0217c8c0: ldr r1, [r4, #0x208] mov r2, #0 add r0, r4, r1, lsl #2 ldr r0, [r0, #0x200] cmp r0, #0x1e bne _0217c900 mov r0, #0x6c mla r0, r1, r0, r4 ldr r0, [r0, #0x13c] mov r1, r2 cmp r0, #0x10000 blt _0217c8f8 cmp r0, #0x51000 movle r1, #1 _0217c8f8: cmp r1, #0 movne r2, #1 _0217c900: cmp r2, #0 movne r0, #1 strneb r0, [r4, #0x409] add r0, r4, #0x280 bl func_ov00_020c5e20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217c800 _0217c918: .word 0x00000333 .global func_ov36_0217c91c arm_func_start func_ov36_0217c91c func_ov36_0217c91c: ; 0x0217c91c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrb r0, [r4, #0x408] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} add r0, sp, #0 add r1, r4, #0x20 bl func_ov36_0217c5a0 add r1, sp, #0 add r0, r4, #0x280 bl func_ov36_0217c070 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov36_0217c91c .global func_ov36_0217c958 arm_func_start func_ov36_0217c958 func_ov36_0217c958: ; 0x0217c958 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 ldr r0, [r5, #0x208] mov r4, r1 add r0, r5, r0, lsl #2 ldr r0, [r0, #0x200] cmp r4, r0 bne _0217c998 ldr r1, [r5, #0x18] mov r0, #0x14 mla r0, r4, r0, r1 ldr r0, [r0, #0x10] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, pc} _0217c998: mov r1, #0 str r1, [sp, #4] mov r0, r5 ldr ip, [r0] add r2, sp, #4 ldr ip, [ip] add r3, sp, #0 mov r1, r4 blx ip ldr r1, [sp, #4] cmp r1, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r5, #0x208] add r3, r5, #0x128 mov r0, #0x6c mla r0, r2, r0, r3 ldr r3, [sp] mov r2, #0 bl func_ov00_020c0cc8 ldr r0, [r5, #0xc] ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 ldr r0, [r5, #0xc] ldr r3, [r5, #0x208] ldr r2, [r0] add ip, r5, #0x128 mov r1, #0x6c mla r1, r3, r1, ip ldr r2, [r2, #0x24] blx r2 ldr r1, [r5, #0x208] mov r0, #0x1000 add r1, r5, r1, lsl #2 str r4, [r1, #0x200] str r0, [r5, #0x20c] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov36_0217c958 .global func_ov36_0217ca34 arm_func_start func_ov36_0217ca34 func_ov36_0217ca34: ; 0x0217ca34 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 ldr r2, [r5, #0x208] mov r4, r1 add r2, r5, r2, lsl #2 ldr r3, [r2, #0x200] cmp r4, r3 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, pc} mvn r2, #0 cmp r3, r2 bne _0217ca74 bl func_ov36_0217c958 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} _0217ca74: 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!, {r3, r4, r5, pc} ldr r0, [r5, #0x20c] cmp r0, #0x800 ble _0217cafc ldr r0, [r5, #0x208] add ip, r5, #0x128 cmp r0, #0 moveq r2, #1 movne r2, #0 mov r0, #0x6c mla r1, r2, r0, ip str r2, [r5, #0x208] str r1, [r5, #0x10] ldr r1, [r5, #0x208] mov r2, #0 add r1, r5, r1, lsl #2 str r4, [r1, #0x200] str r2, [r5, #0x20c] ldr r3, [r5, #0x208] ldr r1, [sp, #4] mla r0, r3, r0, ip ldr r3, [sp] bl func_ov00_020c0cc8 b _0217cb6c _0217cafc: ldr r1, [r5, #0x208] cmp r1, #0 moveq r2, #1 movne r2, #0 add r0, r5, r2, lsl #2 ldr r0, [r0, #0x200] cmp r4, r0 bne _0217cb40 add r1, r5, #0x128 mov r0, #0x6c mla r0, r2, r0, r1 str r2, [r5, #0x208] str r0, [r5, #0x10] ldr r0, [r5, #0x20c] rsb r0, r0, #0x1000 str r0, [r5, #0x20c] b _0217cb6c _0217cb40: add r0, r5, r1, lsl #2 str r4, [r0, #0x200] mov r2, #0 str r2, [r5, #0x20c] ldr r1, [r5, #0x208] add r3, r5, #0x128 mov r0, #0x6c mla r0, r1, r0, r3 ldr r1, [sp, #4] ldr r3, [sp] bl func_ov00_020c0cc8 _0217cb6c: ldr r0, [r5, #0xc] ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 ldr r0, [r5, #0xc] ldr r3, [r5, #0x208] ldr r2, [r0] add r4, r5, #0x128 mov r1, #0x6c mla r1, r3, r1, r4 ldr r2, [r2, #0x24] blx r2 ldr r0, [r5, #0x208] add r2, r5, #0x128 cmp r0, #0 moveq r3, #1 movne r3, #0 mov r1, #0x6c ldr r0, [r5, #0xc] mla r1, r3, r1, r2 ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 ldr r1, [r5, #0x208] add r2, r5, #0x128 mov r0, #0x6c mla r0, r1, r0, r2 bl func_ov00_020c0d4c ldr r1, [r5, #0x20c] str r1, [r0, #4] ldr r0, [r5, #0x208] add r1, r5, #0x128 cmp r0, #0 moveq r2, #1 movne r2, #0 mov r0, #0x6c mla r0, r2, r0, r1 bl func_ov00_020c0d4c ldr r1, [r5, #0x20c] rsb r1, r1, #0x1000 str r1, [r0, #4] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov36_0217ca34 .global func_ov36_0217cc18 arm_func_start func_ov36_0217cc18 func_ov36_0217cc18: ; 0x0217cc18 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x20c] cmp r0, #0x1000 ldmeqia sp!, {r4, pc} mov r0, #0x1000 str r0, [r4, #0x20c] ldr r0, [r4, #0xc] ldr r1, [r0] ldr r1, [r1, #0x2c] blx r1 ldr r0, [r4, #0xc] ldr r3, [r4, #0x208] ldr r2, [r0] add ip, r4, #0x128 mov r1, #0x6c mla r1, r3, r1, ip ldr r2, [r2, #0x24] blx r2 ldr r1, [r4, #0x208] add r2, r4, #0x128 mov r0, #0x6c mla r0, r1, r0, r2 bl func_ov00_020c0d4c mov r1, #0x1000 str r1, [r0, #4] ldmia sp!, {r4, pc} arm_func_end func_ov36_0217cc18 .global func_ov36_0217cc84 arm_func_start func_ov36_0217cc84 func_ov36_0217cc84: ; 0x0217cc84 ldr r0, [r0, #0x20c] cmp r0, #0x1000 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov36_0217cc84 .global func_ov36_0217cc98 arm_func_start func_ov36_0217cc98 func_ov36_0217cc98: ; 0x0217cc98 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_ov36_0217cc98 .global func_ov36_0217ccd8 arm_func_start func_ov36_0217ccd8 func_ov36_0217ccd8: ; 0x0217ccd8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_ov00_020c1554 ldr r5, _0217cf94 ; =data_ov36_02186d18 mov r1, r4 add r0, r4, #0x158 add r2, r4, #0x178 add r3, r4, #0x280 str r5, [r4] bl func_ov00_020c5c2c ldr r1, _0217cf98 ; =data_ov36_02186dec add r0, r4, #0x178 str r1, [r4, #0x158] bl func_ov36_0217c1b4 ldr r1, _0217cf9c ; =func_ov00_020a9b4c add r0, r4, #0x280 str r1, [sp] mov r1, #2 mov r2, #0x6c ldr r3, _0217cfa0 ; =func_ov36_0217d01c bl func_0204f614 mov r2, #0 str r2, [r4, #0x360] mov r0, #0x1000 str r0, [r4, #0x364] add r0, r4, #0x36c add r1, r4, #0x390 blx func_ov00_020c0c08 ldr r1, _0217cfa4 ; =data_ov36_02186e00 add r0, r4, #0x3d8 str r1, [r4, #0x36c] mov r1, r4 bl func_ov36_0217be30 mov r0, #0 str r0, [r4, #0x564] str r0, [r4, #0x568] str r0, [r4, #0x56c] sub r0, r0, #1 str r0, [r4, #0x358] str r0, [r4, #0x35c] add r0, r4, #0x570 mov r1, r4 bl func_ov36_0217c120 mvn r0, #0 str r0, [r4, #0x66c] ldr r1, _0217cfa8 ; =func_ov36_0217cfec add r0, r4, #0x670 str r1, [sp] mov r1, #4 mov r2, #0xc ldr r3, _0217cfac ; =func_ov36_0217d008 bl func_0204f614 mov r1, #0 str r1, [r4, #0x6a0] sub r0, r1, #1 str r0, [r4, #0x6a4] str r1, [r4, #0x6a8] ldr r1, _0217cfb0 ; =func_ov00_020b7d74 add r0, r4, #0x2ac str r1, [sp] add r0, r0, #0x400 mov r1, #2 mov r2, #4 ldr r3, _0217cfb4 ; =func_ov36_0217d294 bl func_0204f614 mov r1, #0 str r1, [r4, #0x6b4] add r0, r4, #0x6c0 str r1, [r4, #0x6b8] blx func_0202ab78 add r0, r4, #0x3b4 add r0, r0, #0x400 mov r1, #0x1000000 bl func_ov00_020d18f4 mvn r0, #0 str r0, [r4, #0x810] str r0, [r4, #0x814] str r0, [r4, #0x818] add r1, r4, #0x78 str r0, [r4, #0x81c] mov r0, #0 str r0, [r4, #0x85c] str r0, [r4, #0x864] str r0, [r4, #0x868] add r1, r1, #0x800 mov r2, #4 str r0, [r4, #0x870] bl func_020078f4 add lr, r4, #0x800 mov r0, #0 strh r0, [lr, #0x7c] strh r0, [lr, #0x7e] strh r0, [lr, #0x86] strh r0, [lr, #0x88] strh r0, [lr, #0x8a] strh r0, [lr, #0x8c] strh r0, [lr, #0x92] strh r0, [lr, #0x94] strh r0, [lr, #0x96] strh r0, [lr, #0x98] strh r0, [lr, #0xa0] strh r0, [lr, #0xa2] strb r0, [r4, #0x8a4] strb r0, [r4, #0x8a5] strb r0, [r4, #0x8a6] mov r1, #2 strb r1, [r4, #0x8a7] strb r0, [r4, #0x8a8] strb r0, [r4, #0x8a9] mov r1, #1 strb r1, [r4, #0x8ab] ldr r2, _0217cfb8 ; =data_ov00_020e2f04 strb r0, [r4, #0x8ac] str r2, [r4, #0x8b0] strb r1, [r4, #0x8b4] strb r0, [r4, #0x8b5] str r0, [r4, #0x8b8] str r0, [r4, #0x8bc] ldr r2, _0217cfbc ; =data_ov00_020e2e3c str r0, [r4, #0x8c0] str r2, [r4, #0x8b0] str r0, [r4, #0x8d0] str r0, [r4, #0x8c4] str r0, [r4, #0x8c8] str r0, [r4, #0x8cc] ldr r3, _0217cfc0 ; =data_ov36_02186dd4 add r2, r4, #0x108 str r3, [r4, #0x8d8] strb r0, [r4, #0x8dc] str r0, [r4, #0x8e0] str r0, [r4, #0x8e4] str r0, [r4, #0x8e8] add r3, r4, #0x178 str r0, [r4, #0x8ec] add r2, r2, #0x800 str r2, [r4, #0x8f4] add r2, r3, #0x1000 str r2, [r4, #0x8f8] mov r2, #0x870 str r2, [r4, #0x8fc] add r2, r4, #0xa10 str r0, [r4, #0x904] add ip, r4, #0x1000 str r0, [ip, #0x9e8] str r0, [ip, #0x9ec] str r0, [ip, #0x9f0] add r3, r4, #0xa90 str r0, [ip, #0x9f4] add r2, r2, #0x1000 str r2, [ip, #0x9fc] add r2, r3, #0x1000 mov r5, #0x80 str r2, [ip, #0xa00] str r5, [ip, #0xa04] str r0, [ip, #0xa0c] sub r3, r5, #0x81 str r3, [r4, #0x810] str r3, [r4, #0x814] str r3, [r4, #0x818] str r3, [r4, #0x81c] strb r1, [r4, #0x128] rsb r1, r1, #0x10000 strh r1, [r4, #0x7a] strh r0, [lr, #0x80] add r2, r4, #0x78 strh r3, [lr, #0x82] add r1, r2, #0x800 strh r3, [lr, #0x84] mov r2, #4 bl func_020078f4 ldr r1, [r4, #0x878] mov r0, r4 orr r1, r1, #0x2080 str r1, [r4, #0x878] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217ccd8 _0217cf94: .word data_ov36_02186d18 _0217cf98: .word data_ov36_02186dec _0217cf9c: .word func_ov00_020a9b4c + 1 _0217cfa0: .word func_ov36_0217d01c _0217cfa4: .word data_ov36_02186e00 _0217cfa8: .word func_ov36_0217cfec _0217cfac: .word func_ov36_0217d008 _0217cfb0: .word func_ov00_020b7d74 _0217cfb4: .word func_ov36_0217d294 _0217cfb8: .word data_ov00_020e2f04 _0217cfbc: .word data_ov00_020e2e3c _0217cfc0: .word data_ov36_02186dd4 .global func_ov36_0217cfc4 arm_func_start func_ov36_0217cfc4 func_ov36_0217cfc4: ; 0x0217cfc4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov36_0217cfc4 .global func_ov36_0217cfd8 arm_func_start func_ov36_0217cfd8 func_ov36_0217cfd8: ; 0x0217cfd8 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov36_0217cfd8 .global func_ov36_0217cfec arm_func_start func_ov36_0217cfec func_ov36_0217cfec: ; 0x0217cfec 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_ov36_0217cfec .global func_ov36_0217d008 arm_func_start func_ov36_0217d008 func_ov36_0217d008: ; 0x0217d008 mov r2, #0 str r2, [r0] sub r1, r2, #1 stmib r0, {r1, r2} bx lr arm_func_end func_ov36_0217d008 .global func_ov36_0217d01c arm_func_start func_ov36_0217d01c func_ov36_0217d01c: ; 0x0217d01c stmdb sp!, {r4, lr} mov r4, r0 add r1, r4, #0x24 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0217d040 ; =data_ov36_02186e00 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217d01c _0217d040: .word data_ov36_02186e00 .global func_ov36_0217d044 arm_func_start func_ov36_0217d044 func_ov36_0217d044: ; 0x0217d044 stmdb sp!, {r4, lr} ldr r1, _0217d154 ; =data_ov36_02186d18 mov r4, r0 ldr r0, _0217d158 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x8b0 bl func_ov00_02093af0 add r0, r4, #0xd8 add r0, r0, #0x800 bl func_ov00_02081f6c add r0, r4, #0x8b0 bl func_ov00_02094824 add r0, r4, #0x3b4 add r0, r0, #0x400 bl func_ov00_020d1980 add r0, r4, #0x6c0 blx func_0202ab64 add r0, r4, #0x2ac add r0, r0, #0x400 mov r1, #2 mov r2, #4 ldr r3, _0217d15c ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0x6a0 bl func_ov00_020b7e6c add r0, r4, #0x6a0 bl func_ov00_020b7df0 add r0, r4, #0x670 mov r1, #4 mov r2, #0xc ldr r3, _0217d160 ; =func_ov36_0217cfec bl func_0204f754 add r0, r4, #0x1ec add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x590 blx func_ov00_020a95a4 add r0, r4, #0x16c add r0, r0, #0x400 bl func_ov00_020b7d74 add r0, r4, #0x168 add r0, r0, #0x400 bl func_ov00_020b7d74 add r0, r4, #0x164 add r0, r0, #0x400 bl func_ov00_020b7d74 add r0, r4, #0xd4 add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x54 add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x3f8 blx func_ov00_020a95a4 add r0, r4, #0x36c blx func_ov00_020a9b4c add r0, r4, #0x280 mov r1, #2 mov r2, #0x6c ldr r3, _0217d164 ; =func_ov00_020a9b4c bl func_0204f754 add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217d044 _0217d154: .word data_ov36_02186d18 _0217d158: .word data_027e0f6c _0217d15c: .word func_ov00_020b7d74 _0217d160: .word func_ov36_0217cfec _0217d164: .word func_ov00_020a9b4c + 1 .global func_ov36_0217d168 arm_func_start func_ov36_0217d168 func_ov36_0217d168: ; 0x0217d168 stmdb sp!, {r4, lr} ldr r1, _0217d280 ; =data_ov36_02186d18 mov r4, r0 ldr r0, _0217d284 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x8b0 bl func_ov00_02093af0 add r0, r4, #0xd8 add r0, r0, #0x800 bl func_ov00_02081f6c add r0, r4, #0x8b0 bl func_ov00_02094824 add r0, r4, #0x3b4 add r0, r0, #0x400 bl func_ov00_020d1980 add r0, r4, #0x6c0 blx func_0202ab64 add r0, r4, #0x2ac add r0, r0, #0x400 mov r1, #2 mov r2, #4 ldr r3, _0217d288 ; =func_ov00_020b7d74 bl func_0204f754 add r0, r4, #0x6a0 bl func_ov00_020b7e6c add r0, r4, #0x6a0 bl func_ov00_020b7df0 add r0, r4, #0x670 mov r1, #4 mov r2, #0xc ldr r3, _0217d28c ; =func_ov36_0217cfec bl func_0204f754 add r0, r4, #0x1ec add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x590 blx func_ov00_020a95a4 add r0, r4, #0x16c add r0, r0, #0x400 bl func_ov00_020b7d74 add r0, r4, #0x168 add r0, r0, #0x400 bl func_ov00_020b7d74 add r0, r4, #0x164 add r0, r0, #0x400 bl func_ov00_020b7d74 add r0, r4, #0xd4 add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x54 add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x3f8 blx func_ov00_020a95a4 add r0, r4, #0x36c blx func_ov00_020a9b4c add r0, r4, #0x280 mov r1, #2 mov r2, #0x6c ldr r3, _0217d290 ; =func_ov00_020a9b4c bl func_0204f754 add r0, r4, #0x178 blx func_ov00_020a95ec mov r0, r4 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217d168 _0217d280: .word data_ov36_02186d18 _0217d284: .word data_027e0f6c _0217d288: .word func_ov00_020b7d74 _0217d28c: .word func_ov36_0217cfec _0217d290: .word func_ov00_020a9b4c + 1 .global func_ov36_0217d294 arm_func_start func_ov36_0217d294 func_ov36_0217d294: ; 0x0217d294 mov r1, #0 str r1, [r0] bx lr arm_func_end func_ov36_0217d294 .global func_ov36_0217d2a0 arm_func_start func_ov36_0217d2a0 func_ov36_0217d2a0: ; 0x0217d2a0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x70 ldr r1, _0217d680 ; =data_027e0f74 mov r5, r0 ldr r0, [r1] mov r1, #0x7e bl func_ov00_02097760 cmp r0, #0 addne sp, sp, #0x70 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _0217d680 ; =data_027e0f74 mov r1, #0xe ldr r0, [r0] bl func_ov00_02097c18 cmp r0, #0 addne sp, sp, #0x70 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, 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 r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [r5, #8] add r1, sp, #0xc str r0, [sp, #0x60] ldr r2, [r5, #0xc] ldr r0, _0217d684 ; =data_027e0fe8 str r2, [sp, #0x64] str r1, [sp] ldr r0, [r0] ldr r1, _0217d688 ; =0x4c4f4e44 add r3, sp, #0x44 add r2, r5, #0x48 bl func_ov00_020c4048 ldr r1, [sp, #0xc] mvn r0, #0 cmp r1, r0 beq _0217d368 ldr r0, _0217d68c ; =data_027e0fe4 add r1, sp, #0xc ldr r0, [r0] bl func_ov00_020c3674 str r0, [r5, #0x6b8] _0217d368: ldr r7, [r5, #0x6b8] cmp r7, #0 addeq sp, sp, #0x70 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _0217d690 ; =data_027e0d0c mvn r3, #0 ldmia r0, {r4, lr} ldr ip, [r0, #8] mov r2, #0 str r2, [r7, #0x12c] str r4, [r7, #0x7c] str lr, [r7, #0x80] str ip, [r7, #0x84] str r3, [r7, #0x88] ldr r0, [r7, #0x7c] ldr r6, _0217d694 ; =0x00000b33 str r0, [r7, #0xa8] ldr r0, [r7, #0x80] ldr r1, _0217d698 ; =0x0000199a str r0, [r7, #0xac] ldr r0, [r7, #0x84] str r4, [sp, #0x34] str r0, [r7, #0xb0] str r3, [r7, #0xb4] str r2, [r5, #0x7c] str r6, [r5, #0x80] str r2, [r5, #0x84] str r3, [r5, #0x88] str r2, [r5, #0x8c] str r1, [r5, #0x90] str r2, [r5, #0x94] str r1, [r5, #0x98] str r2, [r5, #0xa8] add r0, r1, #0x800 str r0, [r5, #0xac] add r0, r1, #0x1800 str r2, [r5, #0xb0] str r0, [r5, #0xb4] add r1, r6, #0x800 str r1, [r5, #0x860] ldr r0, _0217d680 ; =data_027e0f74 mov r1, #0xeb ldr r0, [r0] str lr, [sp, #0x38] str ip, [sp, #0x3c] str r3, [sp, #0x40] bl func_ov00_0209779c ldr r0, _0217d680 ; =data_027e0f74 mov r1, #0xec ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c ldr r0, _0217d680 ; =data_027e0f74 mov r1, #0xed ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c add r0, r5, #0x158 bl func_ov36_0217c704 ldr r1, _0217d69c ; =func_ov36_0217c24c add r0, r5, #0x17c str r5, [r5, #0x1a8] bl func_02018cb8 add r0, r5, #0x158 mov r1, #1 bl func_ov36_0217c958 add r0, r5, #0x570 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r5, #0x580] mov r4, #0 mov r1, #2 str r4, [r0, #0x10] str r1, [r5, #0x12c] strb r1, [r5, #0x124] mov r0, #3 strb r1, [r5, #0x125] add r1, r5, #0x100 strh r0, [r1, #0x20] ldr r1, [r5, #8] add r2, r5, #0xd8 str r1, [r5, #0x7d4] ldr r3, [r5, #0xc] bic r1, r4, #0x6000 str r3, [r5, #0x7d8] strb r4, [r5, #0x808] strb r4, [r5, #0x11a] ldr r3, [r5, #0x48] bic r1, r1, #0x1f str r3, [r5, #0x82c] ldr r4, [r5, #0x4c] orr r3, r1, #7 str r4, [r5, #0x830] ldr r4, [r5, #0x50] add r1, r5, #0x2c str r4, [r5, #0x834] ldr r4, [r5, #0x82c] add ip, r0, #0xb30 str r4, [r5, #0x838] ldr lr, [r1, #0x804] rsb r4, r0, #0xcd0 str lr, [r5, #0x83c] ldr r0, [r1, #0x808] add r2, r2, #0x800 str r0, [r5, #0x840] ldr r1, [r5, #0x48] add r0, r5, #0x8b0 str r1, [sp, #0x14] ldr lr, [r5, #0x4c] add r1, sp, #0x14 str lr, [sp, #0x18] ldr lr, [r5, #0x50] str r3, [sp, #8] str lr, [sp, #0x1c] str ip, [sp, #0x20] str r4, [sp, #0x24] str r2, [sp] ldr r4, [r0] ldr r2, [r5, #8] ldr r4, [r4, #0x10] blx r4 mov r0, #1 strb r0, [r5, #0x8b4] ldr r2, _0217d6a0 ; =data_ov36_0218683e mov r4, r5 strb r0, [r5, #0x8dc] mov r3, #0 mov r1, #2 _0217d56c: mov r0, r3, lsl #0x1 ldrh r0, [r2, r0] add r3, r3, #1 cmp r3, #4 str r0, [r4, #0x674] str r1, [r4, #0x678] add r4, r4, #0xc blt _0217d56c mov r0, #0xe str r0, [r5, #0x6a4] ldr r0, _0217d6a4 ; =0x00000333 str r1, [r5, #0x6a8] ldr r1, _0217d6a8 ; =0x00001610 str r0, [sp] ldr r0, _0217d6ac ; =data_027e0fec str r1, [sp, #4] ldr r0, [r0] mov r2, #0x800 add r0, r0, #0x2000 ldr r1, [r0, #0xff0] mov r3, r2 add r0, r5, #0x8e0 bl func_ov17_02168660 ldr r1, _0217d6a4 ; =0x00000333 add r0, r5, #0x1e8 mov r2, #0x800 ldr r3, _0217d6a8 ; =0x00001610 str r1, [sp] ldr r1, _0217d6ac ; =data_027e0fec str r3, [sp, #4] ldr r1, [r1] mov r3, r2 add r1, r1, #0x3000 ldr r1, [r1, #0x28] add r0, r0, #0x1800 bl func_ov17_02168660 ldr r0, _0217d6b0 ; =data_027e0e60 mov r1, #3 ldr r0, [r0] mov r2, r1 mov r3, #0 bl func_ov00_02084b38 ldr r0, _0217d6b0 ; =data_027e0e60 mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #0 bl func_ov00_02084b38 ldr r0, _0217d680 ; =data_027e0f74 mov r1, #0xeb ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c ldr r0, _0217d680 ; =data_027e0f74 ldr r1, _0217d6b4 ; =0x0000011e ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c ldr r0, _0217d680 ; =data_027e0f74 ldr r1, _0217d6b8 ; =0x0000011f ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c mov r0, r5 mov r1, #0 bl func_ov36_0217d6bc mov r0, #1 add sp, sp, #0x70 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_0217d2a0 _0217d680: .word data_027e0f74 _0217d684: .word data_027e0fe8 _0217d688: .word 0x4c4f4e44 _0217d68c: .word data_027e0fe4 _0217d690: .word data_027e0d0c _0217d694: .word 0x00000b33 _0217d698: .word 0x0000199a _0217d69c: .word func_ov36_0217c24c _0217d6a0: .word data_ov36_0218683e _0217d6a4: .word 0x00000333 _0217d6a8: .word 0x00001610 _0217d6ac: .word data_027e0fec _0217d6b0: .word data_027e0e60 _0217d6b4: .word 0x0000011e _0217d6b8: .word 0x0000011f .global func_ov36_0217d6bc arm_func_start func_ov36_0217d6bc func_ov36_0217d6bc: ; 0x0217d6bc stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 add r1, sp, #0 mov r0, #0 mov r2, #4 bl func_020078f4 add r0, r5, #0x78 add r1, sp, #0 add r0, r0, #0x800 mov r2, #4 bl func_02007908 ldr r0, [r5, #0x878] bic r2, r0, #0x20 bic r0, r2, #4 bic r1, r0, #1 bic r0, r1, #0x1000 str r0, [r5, #0x878] tst r0, #0x100000 ldrne r0, _0217d7c4 ; =0x00001ccd ldr r1, _0217d7c8 ; =0x0000219a ldreq r0, _0217d7cc ; =0x00001333 str r0, [r5, #0x860] str r1, [r5, #0x88] mov r1, #2 str r1, [r5, #0x12c] strb r1, [r5, #0x125] ldr r0, _0217d7d0 ; =data_ov36_02186698 strb r1, [r5, #0x124] add r1, r0, r4, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r5, r0, asr #1 ldreq r1, [r1] beq _0217d754 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _0217d754: blx r1 cmp r0, #0 bne _0217d7b4 ldr r0, [sp] tst r0, #0x20 ldrne r0, [r5, #0x878] orrne r0, r0, #0x20 strne r0, [r5, #0x878] ldr r0, [sp] tst r0, #4 ldrne r0, [r5, #0x878] orrne r0, r0, #4 strne r0, [r5, #0x878] ldr r0, [sp] tst r0, #1 ldrne r0, [r5, #0x878] orrne r0, r0, #1 strne r0, [r5, #0x878] ldr r0, [sp] tst r0, #0x1000 ldrne r0, [r5, #0x878] orrne r0, r0, #0x1000 strne r0, [r5, #0x878] ldmia sp!, {r3, r4, r5, pc} _0217d7b4: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217d6bc _0217d7c4: .word 0x00001ccd _0217d7c8: .word 0x0000219a _0217d7cc: .word 0x00001333 _0217d7d0: .word data_ov36_02186698 .global func_ov36_0217d7d4 arm_func_start func_ov36_0217d7d4 func_ov36_0217d7d4: ; 0x0217d7d4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _0217d7f4 mov r0, r5 bl func_ov36_0217da6c _0217d7f4: mov r0, r5 bl func_ov36_02185588 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_ov36_0217d7d4 .global func_ov36_0217d810 arm_func_start func_ov36_0217d810 func_ov36_0217d810: ; 0x0217d810 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _0217d9d8 mov r0, r5 bl func_ov36_0217da08 cmp r0, #0 beq _0217d844 mov r0, r5 bl func_ov36_0217da6c _0217d844: ldr r0, [r5, #0x878] tst r0, #0x20 beq _0217d9c8 ldr r0, _0217d9f8 ; =data_027e077c ldr r0, [r0] cmp r0, #0xd bne _0217d9c8 add r0, r5, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r5, #0x78] ldr r2, _0217d9fc ; =data_02050f54 ldr r1, [sp, #0x10] 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 r6, [r2, r3] ldrsh r3, [r2, r0] mov r0, #0x800 mov r2, r6, asr #0x1f mov r7, r2, lsl #0xd mov r2, r3, asr #0x1f mov r2, r2, lsl #0xd str r1, [sp, #4] orr r7, r7, r6, lsr #19 adds r8, r0, r6, lsl #13 adc r7, r7, #0 adds r6, r0, r3, lsl #13 orr r2, r2, r3, lsr #19 mov r3, r8, lsr #0xc adc r0, r2, #0 mov r2, r6, lsr #0xc ldr r6, [sp, #0xc] orr r3, r3, r7, lsl #20 add r6, r6, r3 ldr r3, [sp, #0x14] orr r2, r2, r0, lsl #20 add r0, r3, r2 str r6, [sp, #0xc] str r0, [sp, #0x14] str r0, [sp, #8] str r6, [sp] add r0, r5, #0x8b0 ldr r2, [r0] add r1, sp, #0 ldr r2, [r2, #0x30] blx r2 ldr r0, _0217da00 ; =data_027e0f6c add r1, r5, #0x8b0 ldr r0, [r0] bl func_ov00_02093a5c ldr r0, [r5, #0x48] ldr r6, _0217d9fc ; =data_02050f54 str r0, [sp, #0xc] ldr r1, [r5, #0x4c] ldr r2, _0217da04 ; =0x0000199a str r1, [sp, #0x10] ldr r1, [r5, #0x50] mov r3, #0 str r1, [sp, #0x14] ldrh r7, [r5, #0x78] mov r7, r7, asr #0x4 mov r8, r7, lsl #0x1 mov r7, r8, lsl #0x1 add ip, r8, #1 mov ip, ip, lsl #0x1 ldrsh r7, [r6, r7] ldrsh lr, [r6, ip] umull r8, ip, r7, r2 mla ip, r7, r3, ip mov r6, r7, asr #0x1f adds r7, r8, #0x800 mla ip, r6, r2, ip adc r6, ip, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 add r0, r0, r7 umull r7, r6, lr, r2 mla r6, lr, r3, r6 mov ip, lr, asr #0x1f adds r3, r7, #0x800 mla r6, ip, r2, r6 adc r2, r6, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 add r1, r1, r3 str r0, [sp, #0xc] str r1, [sp, #0x14] str r0, [r5, #0x820] ldr r0, [sp, #0x10] str r0, [r5, #0x824] ldr r0, [sp, #0x14] str r0, [r5, #0x828] b _0217d9d8 _0217d9c8: ldr r0, _0217da00 ; =data_027e0f6c add r1, r5, #0x8b0 ldr r0, [r0] bl func_ov00_02093af0 _0217d9d8: mov r0, r5 bl func_ov36_02185588 mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov36_0217d810 _0217d9f8: .word data_027e077c _0217d9fc: .word data_02050f54 _0217da00: .word data_027e0f6c _0217da04: .word 0x0000199a .global func_ov36_0217da08 arm_func_start func_ov36_0217da08 func_ov36_0217da08: ; 0x0217da08 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x878] tst r0, #0x800 movne r0, #0 ldmneia sp!, {r4, pc} tst r0, #1 bne _0217da58 ldr r0, _0217da68 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 bne _0217da58 mov r0, #0x10000 ldr r1, [r4, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _0217da60 _0217da58: mov r0, #1 ldmia sp!, {r4, pc} _0217da60: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217da08 _0217da68: .word data_027e0f74 .global func_ov36_0217da6c arm_func_start func_ov36_0217da6c func_ov36_0217da6c: ; 0x0217da6c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x60 mov r4, r0 bl func_ov36_02184e10 mov r0, r4 bl func_ov00_020c2bf4 mov r0, r4 bl func_ov36_021852fc ldr r0, [r4, #0x130] cmp r0, #2 blt _0217dafc cmp r0, #0x15 bgt _0217dafc ldr r0, _0217dd64 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #1 beq _0217dac0 ldr r0, [r4, #0x878] tst r0, #0x100000 beq _0217dafc _0217dac0: add r0, sp, #0x1c add r1, r4, #0x178 ldr r5, [r4, #0x840] bl func_ov36_0217c5a0 ldr r2, [r4, #0x838] ldr r1, [sp, #0x20] ldr r0, _0217dd68 ; =data_027e0f64 add r1, r1, #0x4000 str r1, [sp, #0x58] ldr r0, [r0] str r2, [sp, #0x54] str r5, [sp, #0x5c] ldr r0, [r0, #4] add r1, sp, #0x54 bl func_ov00_02088010 _0217dafc: ldr r0, [r4, #0x130] ldr r1, _0217dd6c ; =data_ov36_02186768 add r1, r1, r0, lsl #3 ldr r0, [r1, #4] tst r0, #1 add r0, r4, r0, asr #1 ldreq r1, [r1] beq _0217db28 ldr r2, [r0] ldr r1, [r1] ldr r1, [r2, r1] _0217db28: blx r1 ldr r1, [r4, #0x48] add r0, r4, #0x48 str r1, [r4, #0x54] ldr r2, [r4, #0x4c] add r1, r4, #0x60 str r2, [r4, #0x58] ldr r3, [r4, #0x50] mov r2, r0 str r3, [r4, #0x5c] bl func_01ff9bc4 mov r0, r4 bl func_ov36_0218543c mov r0, r4 mov r1, #0 bl func_01fffd04 mov r0, r4 bl func_ov36_021858f0 add r0, r4, #0x158 bl func_ov36_0217c800 add r0, r4, #0x570 bl func_ov00_020c5e20 ldr r0, [r4, #0x584] cmp r0, #0 bne _0217dbac ldr r0, [r4, #0x580] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217dbac add r0, r4, #0x570 mov r1, #1 bl func_ov00_020c5d74 _0217dbac: ldr r0, [r4, #0x878] tst r0, #4 addeq r0, r4, #0x800 moveq r1, #0 streqh r1, [r0, #0x90] add r0, r4, #0x200 ldrsh r2, [r0, #0x64] add r1, r4, #0x800 add r0, sp, #0xc strh r2, [sp, #0xc] ldrsh r1, [r1, #0x90] mov r2, #0x16c bl func_0202b154 ldrsh r2, [sp, #0xc] add r1, r4, #0x200 mov r0, r4 strh r2, [r1, #0x64] bl func_ov36_021850c8 add r3, r4, #0x38 add r0, r4, #0x2c add r0, r0, #0x800 ldrh r5, [r4, #0x78] add sl, r3, #0x800 ldmia r0, {r0, r1, r2} mov r3, r5, asr #0x4 mov r5, r3, lsl #0x1 add r3, sp, #0x48 stmia r3, {r0, r1, r2} add r0, r5, #1 mov r2, r5, lsl #0x1 ldr r1, _0217dd70 ; =data_02050f54 mov r0, r0, lsl #0x1 ldrsh r7, [r1, r0] mov r0, #4 add sb, sp, #0x3c ldrsh r8, [r1, r2] sub lr, r0, #5 ldmia sl, {r0, r1, r2} stmia sb, {r0, r1, r2} mov r2, sb ldr sb, [r4, #0x864] ldr r1, [r4, #0x860] mov r6, #0 mov r5, #0x5000 str r1, [sp, #0x34] ldr ip, _0217dd74 ; =0x0000099a str r5, [sp, #0x38] umull sl, r5, sb, ip mla r5, sb, r6, r5 mov r0, sb, asr #0x1f str r6, [sp, #0x2c] mla r5, r0, ip, r5 adds r6, sl, #0x800 adc r0, r5, #0 mov r5, r6, lsr #0xc orr r5, r5, r0, lsl #20 smull sb, r6, r8, r5 smull r5, r0, r7, r5 adds r8, sb, #0x800 adc r7, r6, #0 adds r5, r5, #0x800 mov r6, r8, lsr #0xc orr r6, r6, r7, lsl #20 adc r0, r0, #0 mov r5, r5, lsr #0xc orr r5, r5, r0, lsl #20 add fp, sp, #0x28 str r6, [sp, #0x28] str r5, [sp, #0x30] str fp, [sp] mov r0, #4 stmib sp, {r0, lr} ldr r0, _0217dd78 ; =data_027e0ff8 add r1, r4, #8 ldr r0, [r0] bl func_ov05_021082e4 rsb r0, r6, #0 str r0, [sp, #0x28] rsb r0, r5, #0 str r0, [sp, #0x30] mov r0, #0 str r0, [sp, #0x2c] mov r1, fp mov r0, #4 str r1, [sp] str r0, [sp, #4] sub r0, r0, #5 str r0, [sp, #8] ldr r0, _0217dd78 ; =data_027e0ff8 ldr r1, [r4, #0x6b8] ldr r0, [r0] add r1, r1, #8 add r2, sp, #0x3c add r3, sp, #0x48 bl func_ov05_021082e4 mov r0, r4 bl func_ov36_021854e8 ldr r0, [r4, #0x130] cmp r0, #1 addlt sp, sp, #0x60 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r0, #0x16 addge sp, sp, #0x60 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _0217dd64 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_0217da6c _0217dd64: .word data_027e0fc8 _0217dd68: .word data_027e0f64 _0217dd6c: .word data_ov36_02186768 _0217dd70: .word data_02050f54 _0217dd74: .word 0x0000099a _0217dd78: .word data_027e0ff8 .global func_ov36_0217dd7c arm_func_start func_ov36_0217dd7c func_ov36_0217dd7c: ; 0x0217dd7c ldr r2, [r0, #0x878] mvn r1, #0 orr r2, r2, #1 str r2, [r0, #0x878] str r1, [r0, #0x88] mov r0, #1 bx lr arm_func_end func_ov36_0217dd7c .global func_ov36_0217dd98 arm_func_start func_ov36_0217dd98 func_ov36_0217dd98: ; 0x0217dd98 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 bl func_ov00_020c1bfc cmp r0, #0 moveq r0, #0 streq r0, [r4, #0x138] ldmeqia sp!, {r4, pc} ldr r0, _0217ddfc ; =data_027e0e60 ldrh r1, [r4, #0x20] ldr r0, [r0] mov r2, #0 bl func_ov00_020836dc cmp r0, #0 beq _0217ddf0 ldr r0, [r4, #0x138] cmp r0, #0x34 ldmleia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov36_0217d6bc ldmia sp!, {r4, pc} _0217ddf0: mov r0, #0 str r0, [r4, #0x138] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217dd98 _0217ddfc: .word data_027e0e60 .global func_ov36_0217de00 arm_func_start func_ov36_0217de00 func_ov36_0217de00: ; 0x0217de00 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c198c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #0 bl func_ov36_02184a64 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} add r1, r4, #0x3b4 ldr r2, [r4, #0x30] ldr r0, _0217dec0 ; =data_027e0c68 add r1, r1, #0x400 bl func_02036ce4 ldr r1, [r4, #0x50] mov r0, r4 sub r1, r1, #0x8000 str r1, [r4, #0x50] mvn r2, #0 mov r1, #1 str r2, [r4, #0x98] bl func_ov00_020c1908 mov r1, #1 add r0, r4, #0x158 strb r1, [r4, #0x11a] bl func_ov36_0217c958 ldr r1, _0217dec4 ; =data_ov36_02186c84 add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r0, [r4, #0x878] mov r2, #0 orr r0, r0, #1 bic r0, r0, #0x10000 bic r0, r0, #0x20000 bic r0, r0, #0x40000 bic r0, r0, #0x80000 str r0, [r4, #0x878] add r0, r4, #0x800 strh r2, [r0, #0x90] ldr r0, _0217dec8 ; =data_ov00_020eec68 mov r1, #0xca mov r3, #0x7f bl func_ov00_020d70a4 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217de00 _0217dec0: .word data_027e0c68 _0217dec4: .word data_ov36_02186c84 _0217dec8: .word data_ov00_020eec68 .global func_ov36_0217decc arm_func_start func_ov36_0217decc func_ov36_0217decc: ; 0x0217decc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x44 mov r5, r0 ldr r1, [r5, #0x878] tst r1, #0x10000 bne _0217df28 ldr r0, [r5, #0x138] cmp r0, #0x5a addlt sp, sp, #0x44 ldmltia sp!, {r3, r4, r5, r6, pc} add r0, r5, #0x158 mov r1, #0 bl func_ov36_0217ca34 ldr r0, [r5, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] mov r0, #0 str r0, [r5, #0x138] ldr r0, [r5, #0x878] add sp, sp, #0x44 orr r0, r0, #0x10000 str r0, [r5, #0x878] ldmia sp!, {r3, r4, r5, r6, pc} _0217df28: tst r1, #0x20000 bne _0217df94 ldr r0, [r5, #0x138] cmp r0, #0xc bne _0217df50 ldr r0, _0217e3a4 ; =data_027e0fc8 ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] blx r1 _0217df50: ldr r0, [r5, #0x138] cmp r0, #0x3c addlt sp, sp, #0x44 ldmltia sp!, {r3, r4, r5, r6, pc} add r0, r5, #0x158 mov r1, #0 bl func_ov36_0217ca34 ldr r0, [r5, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] mov r0, #0 str r0, [r5, #0x138] ldr r0, [r5, #0x878] add sp, sp, #0x44 orr r0, r0, #0x20000 str r0, [r5, #0x878] ldmia sp!, {r3, r4, r5, r6, pc} _0217df94: tst r1, #0x40000 bne _0217e170 bl func_ov36_02185c84 ldr r1, [r5, #0x1c] ldr r0, _0217e3a8 ; =0xffffe99a ldr r2, [r5, #0x50] add r0, r1, r0 cmp r2, r0 blt _0217e028 add r0, r5, #0x68 mov r1, #0 mov r2, #0x52 bl func_0202b0f4 cmp r0, #0 beq _0217e030 ldr r0, _0217e3ac ; =data_027e103c ldr r1, _0217e3b0 ; =0x000c014f ldr r0, [r0] bl func_ov00_020cfc70 add r0, r5, #0x158 mov r1, #0x20 bl func_ov36_0217ca34 ldr r0, [r5, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] mov r1, #0 ldr r0, _0217e3a4 ; =data_027e0fc8 str r1, [r5, #0x138] ldr r0, [r0] bl func_ov00_020bd0a8 add r0, r5, #0x800 mov r1, #0 strh r1, [r0, #0x7c] ldr r0, [r5, #0x878] orr r0, r0, #0x40000 str r0, [r5, #0x878] b _0217e030 _0217e028: ldr r0, _0217e3b4 ; =0x00000266 str r0, [r5, #0x68] _0217e030: ldr r0, [r5, #0x878] tst r0, #0x40000 addne sp, sp, #0x44 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, [r5, #0x138] rsb r0, r0, #0x1e mov r4, r0, lsl #0xc cmp r4, #0x1000 ldr r0, _0217e3b8 ; =0x0000038e ble _0217e070 ldr r2, [r5, #0x6f0] mov r1, r4 sub r0, r0, r2 bl func_01ff98e0 ldr r1, [r5, #0x6f0] add r0, r1, r0 _0217e070: str r0, [r5, #0x6f0] cmp r4, #0x1000 ldr r0, _0217e3bc ; =0x00000f42 ble _0217e098 ldr r2, [r5, #0x6f4] mov r1, r4 sub r0, r0, r2 bl func_01ff98e0 ldr r1, [r5, #0x6f4] add r0, r1, r0 _0217e098: str r0, [r5, #0x6f4] cmp r4, #0x1000 movle r0, #0x19000 ble _0217e0c0 ldr r0, [r5, #0x6fc] mov r1, r4 rsb r0, r0, #0x19000 bl func_01ff98e0 ldr r1, [r5, #0x6fc] add r0, r1, r0 _0217e0c0: str r0, [r5, #0x6fc] mov r0, r5 add r1, r5, #0x820 bl func_ov00_020c288c cmp r0, #0x800 ldrlt r6, [r5, #0x68] mov r3, #0x1000 add r0, sp, #0x38 mov r4, #0 movge r6, #0x1000 mov r2, r0 add r1, r5, #0x48 str r4, [sp, #0x38] str r3, [sp, #0x3c] str r3, [sp, #0x40] bl func_01ff9bc4 add r1, sp, #0x38 mov r2, r6 add r0, r5, #0x820 bl func_0202b2e8 ldr r0, [r5, #0x820] mov r1, r4 str r0, [sp, #0x20] ldr r0, [r5, #0x824] add r2, r5, #0x2e4 str r0, [sp, #0x24] ldr r3, [r5, #0x828] ldr r0, _0217e3c0 ; =data_027e0f64 str r3, [sp, #0x28] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r3, r2, #0x400 ldr r0, [r0, #4] add r1, sp, #0x20 mov r2, #2 bl func_ov00_02089318 ldr r0, [r5, #0x68] ldr r1, _0217e3c4 ; =0x00000112 bl func_01ff98e0 ldr r1, [r5, #0x168] add sp, sp, #0x44 str r0, [r1, #0x10] ldmia sp!, {r3, r4, r5, r6, pc} _0217e170: tst r1, #0x80000 bne _0217e260 ldr r1, [r5, #0x168] add r0, r5, #0x158 ldr r4, [r1, #0x14] bl func_ov36_0217cc84 cmp r0, #0 beq _0217e1c8 ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217e1c8 add r0, r5, #0x158 mov r1, #1 bl func_ov36_0217c958 mov r0, #0 str r0, [r5, #0x138] ldr r0, [r5, #0x878] orr r0, r0, #0x80000 str r0, [r5, #0x878] b _0217e20c _0217e1c8: cmp r4, #0x2a000 bne _0217e20c ldr r0, _0217e3c8 ; =data_027e0ffc ldr r1, _0217e3cc ; =0x000002c2 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _0217e3c0 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 mov r0, r5 add r1, r5, #0x800 mov r2, #5 strh r2, [r1, #0x7c] bl func_ov36_02185eb8 _0217e20c: cmp r4, #0x2a000 addle sp, sp, #0x44 ldmleia sp!, {r3, r4, r5, r6, pc} cmp r4, #0x77000 addge sp, sp, #0x44 ldmgeia sp!, {r3, r4, r5, r6, pc} add r0, r5, #0x800 ldrsh r0, [r0, #0x7c] cmp r0, #0 addne sp, sp, #0x44 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, _0217e3c0 ; =data_027e0f64 mov r1, #0xd ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 add r0, r5, #0x800 mov r1, #5 strh r1, [r0, #0x7c] add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, pc} _0217e260: mov r0, #0x10000 ldr r1, [r5, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x44 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, _0217e3d0 ; =data_027e0f74 ldr r1, [r5, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _0217e2a4 ldr r0, _0217e3d0 ; =data_027e0f74 ldr r1, [r5, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _0217e2a4: mvn r1, #0 ldr r0, _0217e3a4 ; =data_027e0fc8 str r1, [r5, #0x66c] ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #0 bne _0217e2dc ldr r0, _0217e3a4 ; =data_027e0fc8 mov r1, #1 ldr r0, [r0] mov r2, r1 ldr r3, [r0] ldr r3, [r3, #0x7c] blx r3 _0217e2dc: ldr r1, _0217e3d4 ; =data_027e0fe4 ldr r2, _0217e3d8 ; =0x504c444d ldr r1, [r1] add r0, sp, #0x18 bl func_ov00_020c3894 ldr r1, [sp, #0x18] mvn r0, #0 cmp r1, r0 beq _0217e314 ldr r0, _0217e3d4 ; =data_027e0fe4 add r1, sp, #0x18 ldr r0, [r0] bl func_ov00_020c3674 str r0, [r5, #0x6b4] _0217e314: mvn r3, #0 add r2, sp, #0x10 mov r0, #0 mov r1, #1 str r0, [sp, #0x34] str r3, [sp, #0x10] str r3, [sp, #0x14] str r2, [sp, #0x2c] str r1, [sp, #0x30] ldrh r1, [r5, #0x24] add r0, sp, #8 bl func_ov36_0217c14c ldr r0, _0217e3d4 ; =data_027e0fe4 add r1, sp, #8 ldr r0, [r0] add r2, sp, #0x2c bl func_ov00_020c37ec cmp r0, #0 beq _0217e37c ldr r0, _0217e3d4 ; =data_027e0fe4 ldr r1, [sp, #0x2c] ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x11a] _0217e37c: add r0, r5, #0x800 mov r1, #0x1e ldr r2, _0217e3dc ; =0x0000199a strh r1, [r0, #0x7e] mov r0, r5 mov r1, #2 str r2, [r5, #0x98] bl func_ov36_0217d6bc add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217decc _0217e3a4: .word data_027e0fc8 _0217e3a8: .word 0xffffe99a _0217e3ac: .word data_027e103c _0217e3b0: .word 0x000c014f _0217e3b4: .word 0x00000266 _0217e3b8: .word 0x0000038e _0217e3bc: .word 0x00000f42 _0217e3c0: .word data_027e0f64 _0217e3c4: .word 0x00000112 _0217e3c8: .word data_027e0ffc _0217e3cc: .word 0x000002c2 _0217e3d0: .word data_027e0f74 _0217e3d4: .word data_027e0fe4 _0217e3d8: .word 0x504c444d _0217e3dc: .word 0x0000199a .global func_ov36_0217e3e0 arm_func_start func_ov36_0217e3e0 func_ov36_0217e3e0: ; 0x0217e3e0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r1, [r4, #0x878] add r0, r4, #0x158 orr r2, r1, #4 mov r1, #0 str r2, [r4, #0x878] bl func_ov36_0217ca34 ldr r1, _0217e4e4 ; =data_ov36_02186c88 add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r1, _0217e4e8 ; =data_027e0764 mov r0, #0 ldr r3, [r1] ldmib r1, {r2, r5} umull r7, r6, r5, r3 mla r6, r5, r2, r6 ldr r5, [r1, #0xc] mov r2, r0, lsl #0x4 ldr r0, [r1, #0x10] mla r6, r5, r3, r6 adds r7, r0, r7 ldr ip, [r1, #0x14] add r0, r4, #0x800 adc r3, ip, r6 str r7, [r1] orr r2, r2, r3, lsr #28 str r3, [r1, #4] add r1, r2, #0xf strh r1, [r0, #0x7c] ldrsh r1, [r4, #0x78] mov r0, r4 mov r2, #0x2000 bl func_ov36_02183070 ldrh r0, [r4, #0x78] ldr r1, _0217e4ec ; =data_02050f54 mov r2, #0 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh lr, [r1, r0] add r0, r3, #1 mov r0, r0, lsl #0x1 ldrsh ip, [r1, r0] ldr r1, _0217e4f0 ; =0x00000112 mov r5, lr, asr #0x1f umull r7, r6, lr, r1 mla r6, lr, r2, r6 mla r6, r5, r1, r6 adds r7, r7, #0x800 adc r5, r6, #0 mov r6, r7, lsr #0xc orr r6, r6, r5, lsl #20 umull r5, lr, ip, r1 mla lr, ip, r2, lr mov r3, ip, asr #0x1f adds r2, r5, #0x800 mla lr, r3, r1, lr adc r1, lr, #0 mov r2, r2, lsr #0xc str r6, [r4, #0x60] orr r2, r2, r1, lsl #20 mov r0, #1 str r2, [r4, #0x68] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_0217e3e0 _0217e4e4: .word data_ov36_02186c88 _0217e4e8: .word data_027e0764 _0217e4ec: .word data_02050f54 _0217e4f0: .word 0x00000112 .global func_ov36_0217e4f4 arm_func_start func_ov36_0217e4f4 func_ov36_0217e4f4: ; 0x0217e4f4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 add r1, sp, #0 mov r4, r0 bl func_ov36_02184f44 cmp r0, #0 beq _0217e524 cmp r0, #1 beq _0217e594 cmp r0, #2 beq _0217e59c b _0217e5ac _0217e524: add r0, r4, #0x800 ldrsh r1, [r0, #0x7c] cmp r1, #0 bne _0217e58c ldr r1, _0217e6ac ; =data_027e0764 mov r2, #0 ldr r5, [r1] ldmib r1, {r3, r6} umull lr, ip, r6, r5 mla ip, r6, r3, ip ldr r3, [r1, #0xc] ldr r6, [r1, #0x10] mla ip, r3, r5, ip ldr r3, [r1, #0x14] adds r5, r6, lr adc r3, r3, ip mov r2, r2, lsl #0x4 str r5, [r1] orr r2, r2, r3, lsr #28 str r3, [r1, #4] add r1, r2, #0xf strh r1, [r0, #0x7c] ldrsh r1, [r4, #0x78] mov r0, r4 mov r2, #0x2000 bl func_ov36_02183070 _0217e58c: mov r5, #0x258 b _0217e5ac _0217e594: mov r5, #0x384 b _0217e5ac _0217e59c: ldrb r0, [sp] add sp, sp, #4 strb r0, [r4, #0x8ab] ldmia sp!, {r3, r4, r5, r6, pc} _0217e5ac: add r0, r4, #0x800 ldrsh r1, [r0, #0x8e] mov r2, r5 add r0, r4, #0x78 bl func_0202b154 ldrh r1, [r4, #0x78] ldr r2, _0217e6b0 ; =data_02050f54 ldr r0, _0217e6b4 ; =0x00000112 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 str r1, [r4, #0x68] ldrb r0, [r4, #0x110] cmp r0, #0 ldreqb r0, [r4, #0x112] cmpeq r0, #0 ldreqb r0, [r4, #0x113] cmpeq r0, #0 bne _0217e668 ldrb r1, [r4, #0x8ab] cmp r1, #0 beq _0217e678 ldrb r0, [sp] cmp r0, #0 bne _0217e678 _0217e668: mov r0, r4 mov r1, #6 bl func_ov36_0217d6bc b _0217e694 _0217e678: cmp r1, #0 bne _0217e694 mov r0, r4 add r1, r4, #0x14 bl func_ov00_020c2938 add r1, r4, #0x800 strh r0, [r1, #0x8e] _0217e694: ldrb r1, [sp] mov r0, r4 strb r1, [r4, #0x8ab] bl func_ov36_02183204 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217e4f4 _0217e6ac: .word data_027e0764 _0217e6b0: .word data_02050f54 _0217e6b4: .word 0x00000112 .global func_ov36_0217e6b8 arm_func_start func_ov36_0217e6b8 func_ov36_0217e6b8: ; 0x0217e6b8 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x8a7] cmp r0, #5 blo _0217e6e0 mov r0, #0 strb r0, [r4, #0x8a7] ldr r0, [r4, #0x878] bic r0, r0, #0x80 str r0, [r4, #0x878] _0217e6e0: ldr r0, _0217e73c ; =data_027e0ffc ldr r1, _0217e740 ; =0x000002c2 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r1, [r4, #0x878] add r0, r4, #0x158 orr r2, r1, #0x1000 mov r1, #0x18 str r2, [r4, #0x878] bl func_ov36_0217ca34 ldr r1, _0217e744 ; =data_ov36_02186c8c add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r1, _0217e748 ; =data_027e0d0c mov r0, #1 ldr r2, [r1] str r2, [r4, #0x60] ldr r2, [r1, #4] str r2, [r4, #0x64] ldr r1, [r1, #8] str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217e6b8 _0217e73c: .word data_027e0ffc _0217e740: .word 0x000002c2 _0217e744: .word data_ov36_02186c8c _0217e748: .word data_027e0d0c .global func_ov36_0217e74c arm_func_start func_ov36_0217e74c func_ov36_0217e74c: ; 0x0217e74c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov36_02185050 mov r1, r0 add r0, r4, #0x78 mov r2, #0x384 bl func_0202b154 add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 beq _0217e798 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217e798 mov r0, r4 mov r1, #4 bl func_ov36_0217d6bc _0217e798: mov r0, r4 bl func_ov36_02183204 ldmia sp!, {r4, pc} arm_func_end func_ov36_0217e74c .global func_ov36_0217e7a4 arm_func_start func_ov36_0217e7a4 func_ov36_0217e7a4: ; 0x0217e7a4 stmdb sp!, {r4, lr} mov r4, r0 mov r2, #4 strb r2, [r4, #0x125] add r0, r4, #0x158 mov r1, #0 strb r2, [r4, #0x124] bl func_ov36_0217c958 ldr r1, _0217e80c ; =data_ov36_02186c90 add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r1, _0217e810 ; =data_027e0d0c ldr r2, _0217e814 ; =0x00000b33 ldr r3, [r1] mov r0, #1 str r3, [r4, #0x60] ldr r3, [r1, #4] str r3, [r4, #0x64] ldr r1, [r1, #8] str r1, [r4, #0x68] str r2, [r4, #0x94] ldr r1, [r4, #0x878] bic r1, r1, #0x100 orr r1, r1, #0x1000 str r1, [r4, #0x878] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217e7a4 _0217e80c: .word data_ov36_02186c90 _0217e810: .word data_027e0d0c _0217e814: .word 0x00000b33 .global func_ov36_0217e818 arm_func_start func_ov36_0217e818 func_ov36_0217e818: ; 0x0217e818 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x3c mov r6, r0 bl func_ov36_02185050 add r1, r6, #0x100 ldrsh r1, [r1, #0x20] mov r5, r0 cmp r1, #3 moveq r4, #0 beq _0217e84c cmp r1, #2 moveq r4, #0x1e movne r4, #0x5a _0217e84c: ldr r0, [r6, #0x138] cmp r0, r4 bge _0217e868 mov r1, r5 add r0, r6, #0x78 mov r2, #0x384 bl func_0202b154 _0217e868: ldr r0, _0217eb34 ; =0x00000337 ldr r1, _0217eb38 ; =0x00000112 bl func_01ff98e0 ldr r1, [r6, #0x168] str r0, [r1, #0x10] ldrsh r0, [r6, #0x78] sub r0, r0, r5 strh r0, [sp] ldrsh r0, [sp] cmp r0, #0 rsblt r0, r0, #0 cmp r0, #0x4000 bge _0217e978 mov r3, #0x2000 add r0, sp, #0x18 add r2, sp, #0 mov r1, r6 str r3, [r6, #0x88] bl func_ov36_021851dc ldr r2, [sp, #0x18] ldr r1, [sp, #0x1c] ldr r0, [sp, #0x20] str r2, [sp, #0x30] str r1, [sp, #0x34] str r0, [sp, #0x38] ldr r0, [r6, #0x878] tst r0, #0x100 bne _0217e934 add r2, sp, #0x30 mov r0, r6 mov r1, #9 bl func_ov00_020c1e2c cmp r0, #0 beq _0217e934 ldr r1, [r6, #0x878] ldr r0, _0217eb3c ; =data_027e0fc8 orr r1, r1, #0x100 str r1, [r6, #0x878] str r4, [r6, #0x138] ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #1 bne _0217e934 ldr r0, _0217eb3c ; =data_027e0fc8 mov r1, #1 ldr r0, [r0] bl func_ov00_020bb5f0 ldr r2, [r0] mvn r1, #1 ldr r2, [r2] blx r2 _0217e934: add r0, sp, #4 mov r1, r6 bl func_ov00_020c23c4 ldr r1, [sp, #4] mvn r0, #0 cmp r1, r0 beq _0217e970 ldr r0, _0217eb40 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 ldr r1, [r0, #4] ldr r0, _0217eb44 ; =0x504c444d cmp r1, r0 streq r4, [r6, #0x138] _0217e970: ldr r0, _0217eb48 ; =0x0000219a str r0, [r6, #0x88] _0217e978: ldr r1, [r6, #0x48] ldr r0, _0217eb4c ; =data_027e0e60 str r1, [sp, #0xc] ldr r1, [r6, #0x4c] ldr r0, [r0] str r1, [sp, #0x10] ldr r1, [r6, #0x50] add r2, sp, #0xc str r1, [sp, #0x14] ldrh r1, [r6, #0x22] ldr r4, _0217eb34 ; =0x00000337 bl func_ov00_02083770 ldrh r2, [r6, #0x78] ldr r5, _0217eb50 ; =data_02050f54 mov r1, #0x3800 mov r2, r2, asr #0x4 mov ip, r2, lsl #0x1 add r2, ip, #1 mov r3, r2, lsl #0x1 mov r2, ip, lsl #0x1 ldrsh r3, [r5, r3] ldrsh r2, [r5, r2] ldr r5, [r6, #0x50] smulbb r3, r3, r1 smulbb r1, r2, r1 add r3, r3, #0x800 add lr, r5, r3, asr #12 ldr r2, [r6, #0x48] ldr ip, [r6, #0x4c] add r1, r1, #0x800 add r3, r2, r1, asr #12 ldr r1, _0217eb54 ; =data_027e0e58 mov r5, r0 ldr r0, [r1] add r2, sp, #0x24 str r3, [sp, #0x24] str ip, [sp, #0x28] str lr, [sp, #0x2c] add r1, r6, #0x6a0 bl func_ov00_0207c474 ldrsh r0, [r6, #0x78] ldr r1, [r6, #0x6a0] ldr r3, _0217eb50 ; =data_02050f54 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov ip, r0, lsl #0x1 add r0, ip, #1 mov r2, r0, lsl #0x1 mov r0, ip, lsl #0x1 cmp r1, #0 ldrsh r2, [r3, r2] ldrsh r0, [r3, r0] beq _0217ea64 strh r0, [r1, #0x50] mov r0, #0 strh r0, [r1, #0x52] strh r2, [r1, #0x54] _0217ea64: mov r0, r6 bl func_ov36_02185c84 ldrb r0, [r6, #0x110] cmp r0, #0 ldreqb r0, [r6, #0x112] cmpeq r0, #0 ldreqb r0, [r6, #0x113] cmpeq r0, #0 beq _0217eacc ldr r0, [r6, #0xc4] ldr r1, [r6, #0xcc] bl func_01ffa0f4 ldrsh r1, [r6, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 cmp r0, #0x4000 blt _0217eacc add r0, r6, #0x6a0 bl func_ov00_020b7e6c mov r0, r6 mov r1, #5 bl func_ov36_0217d6bc mov r4, #0 _0217eacc: strb r5, [r6, #0x8ab] ldrh r1, [r6, #0x78] ldr r3, _0217eb50 ; =data_02050f54 mov r0, r6 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 r3, r5, r2, r4 adds ip, r3, #0x800 smull r3, r2, r1, r4 adc r1, r5, #0 adds r3, r3, #0x800 mov r4, ip, lsr #0xc orr r4, r4, r1, lsl #20 adc r1, r2, #0 mov r2, r3, lsr #0xc str r4, [r6, #0x60] orr r2, r2, r1, lsl #20 str r2, [r6, #0x68] bl func_ov36_02183204 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217e818 _0217eb34: .word 0x00000337 _0217eb38: .word 0x00000112 _0217eb3c: .word data_027e0fc8 _0217eb40: .word data_027e0fe4 _0217eb44: .word 0x504c444d _0217eb48: .word 0x0000219a _0217eb4c: .word data_027e0e60 _0217eb50: .word data_02050f54 _0217eb54: .word data_027e0e58 .global func_ov36_0217eb58 arm_func_start func_ov36_0217eb58 func_ov36_0217eb58: ; 0x0217eb58 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r4, r0 ldrsh r0, [r4, #0x78] ldr ip, _0217ecb8 ; =data_02050f54 ldr r3, _0217ecbc ; =0x000024cd strh r0, [sp, #8] ldrh r1, [sp, #8] ldr lr, [r4, #0x4c] ldr r0, [r4, #0x50] mov r2, r1, asr #0x4 mov r6, r2, lsl #0x1 add r2, r6, #1 mov r5, r2, lsl #0x1 ldrsh r5, [ip, r5] mov r2, r6, lsl #0x1 ldrsh ip, [ip, r2] smulbb r5, r5, r3 smulbb r3, ip, r3 add r2, lr, #0x33 add r5, r5, #0x800 add r5, r0, r5, asr #12 ldr ip, [r4, #0x48] add lr, r2, #0xb00 add r3, r3, #0x800 add r2, ip, r3, asr #12 add r1, r1, #0x8000 str r2, [sp, #0xc] strh r1, [sp, #8] add r0, sp, #8 str lr, [sp, #0x10] str r5, [sp, #0x14] str r0, [sp] ldr r1, _0217ecc0 ; =func_ov36_0217bdb4 ldr r0, _0217ecc4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] ldr r1, _0217ecc8 ; =0x00001009 add r2, sp, #0xc mov r3, #2 bl func_ov00_0207c1b0 add r0, sp, #8 str r0, [sp] ldr r1, _0217ecc0 ; =func_ov36_0217bdb4 ldr r0, _0217ecc4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] ldr r1, _0217eccc ; =0x0000100a add r2, sp, #0xc mov r3, #2 bl func_ov00_0207c1b0 add r0, r4, #0x800 mov r2, #0 strh r2, [r0, #0xa0] add r0, r4, #0x158 mov r1, #0x12 str r2, [r4, #0x94] bl func_ov36_0217c958 ldr r1, _0217ecd0 ; =data_ov36_02186c94 add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r2, _0217ecd4 ; =data_027e0d0c ldr r0, _0217ecd8 ; =data_027e0f64 ldr r3, [r2] mov r1, #5 str r3, [r4, #0x60] ldr r3, [r2, #4] str r3, [r4, #0x64] ldr r2, [r2, #8] str r2, [r4, #0x68] ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _0217ecdc ; =data_027e0ffc ldr r1, _0217ece0 ; =0x000002ce add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _0217ece4 ; =data_027e1038 add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020cef10 ldr r1, [r4, #0x878] mov r0, #1 bic r1, r1, #0x100 str r1, [r4, #0x878] add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217eb58 _0217ecb8: .word data_02050f54 _0217ecbc: .word 0x000024cd _0217ecc0: .word func_ov36_0217bdb4 _0217ecc4: .word data_027e0e58 _0217ecc8: .word 0x00001009 _0217eccc: .word 0x0000100a _0217ecd0: .word data_ov36_02186c94 _0217ecd4: .word data_027e0d0c _0217ecd8: .word data_027e0f64 _0217ecdc: .word data_027e0ffc _0217ece0: .word 0x000002ce _0217ece4: .word data_027e1038 .global func_ov36_0217ece8 arm_func_start func_ov36_0217ece8 func_ov36_0217ece8: ; 0x0217ece8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x138] cmp r0, #0x19 bne _0217ed08 ldr r1, _0217ed4c ; =data_ov36_02186c98 add r0, r4, #0x158 bl func_ov36_0217c7e8 _0217ed08: ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217ed40 ldr r1, [r4, #0x878] mov r0, r4 orr r2, r1, #0x200 mov r1, #6 str r2, [r4, #0x878] bl func_ov36_0217d6bc add r0, r4, #0x800 mov r1, #0 strh r1, [r0, #0x7e] _0217ed40: mov r0, r4 bl func_ov36_02183204 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217ece8 _0217ed4c: .word data_ov36_02186c98 .global func_ov36_0217ed50 arm_func_start func_ov36_0217ed50 func_ov36_0217ed50: ; 0x0217ed50 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r4, r0 ldr r1, [r4, #0x878] add r0, r4, #0x158 orr r1, r1, #4 str r1, [r4, #0x878] mov r1, #0x16 bl func_ov36_0217ca34 ldr r2, [r4, #0x168] mov r3, #0x1800 ldr r1, _0217ef04 ; =data_ov36_02186c9c add r0, r4, #0x158 str r3, [r2, #0x10] bl func_ov36_0217c7e8 ldr r0, _0217ef08 ; =data_027e0d0c ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] str r1, [r4, #0x64] ldr r0, [r0, #8] str r0, [r4, #0x68] ldrb r0, [r4, #0x110] cmp r0, #0 ldreqb r0, [r4, #0x112] cmpeq r0, #0 ldreqb r0, [r4, #0x113] cmpeq r0, #0 beq _0217ede8 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] bl func_01ffa0f4 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 mov r2, #0x2000 bl func_ov36_02183070 b _0217eef8 _0217ede8: ldr r1, [r4, #0x48] ldr r0, _0217ef0c ; =data_027e0e60 str r1, [sp] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r1, [r4, #0x50] add r2, sp, #0 str r1, [sp, #8] ldrh r1, [r4, #0x22] bl func_ov00_02083770 cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 beq _0217eee8 ldr r0, _0217ef0c ; =data_027e0e60 ldr r1, [r4, #0x54] ldr r0, [r0] bl func_ov00_020839d4 ldr r1, _0217ef0c ; =data_027e0e60 mov r6, r0 ldr r0, [r1] ldr r1, [r4, #0x5c] bl func_ov00_020839f8 ldr r1, _0217ef0c ; =data_027e0e60 mov r7, r0 ldr r0, [r1] ldr r1, [r4, #0x48] bl func_ov00_020839d4 ldr r1, _0217ef0c ; =data_027e0e60 mov r5, r0 ldr r0, [r1] ldr r1, [r4, #0x50] bl func_ov00_020839f8 cmp r6, r5 mov r2, #0 beq _0217ee8c cmp r6, r5 sublt r2, r2, #0x4000 movge r2, #0x4000 _0217ee8c: cmp r7, r0 beq _0217eec4 bge _0217eeb8 cmp r2, #0 moveq r2, #0x8000 rsbeq r2, r2, #0 beq _0217eec4 sub r0, r2, #0x8000 mov r0, r0, lsl #0xf mov r2, r0, asr #0x10 b _0217eec4 _0217eeb8: cmp r2, #0 moveq r2, #0 movne r2, r2, asr #0x1 _0217eec4: ldr r1, [r4, #0x54] add r0, r4, #0x800 str r1, [r4, #0x48] ldr r1, [r4, #0x58] str r1, [r4, #0x4c] ldr r1, [r4, #0x5c] str r1, [r4, #0x50] strh r2, [r0, #0x8e] b _0217eef8 _0217eee8: mov r0, r4 mov r1, #0 mov r2, #0x8000 bl func_ov36_02183070 _0217eef8: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_0217ed50 _0217ef04: .word data_ov36_02186c9c _0217ef08: .word data_027e0d0c _0217ef0c: .word data_027e0e60 .global func_ov36_0217ef10 arm_func_start func_ov36_0217ef10 func_ov36_0217ef10: ; 0x0217ef10 stmdb sp!, {r3, r4, r5, lr} add r1, sp, #0 mov r5, r0 bl func_ov36_02184f44 cmp r0, #0 beq _0217ef3c cmp r0, #1 beq _0217ef44 cmp r0, #2 ldmeqia sp!, {r3, r4, r5, pc} b _0217ef48 _0217ef3c: mov r4, #0x258 b _0217ef48 _0217ef44: mov r4, #0x384 _0217ef48: add r0, r5, #0x800 ldrsh r1, [r0, #0x8e] mov r2, r4 add r0, r5, #0x78 bl func_0202b154 cmp r0, #0 beq _0217ef70 mov r0, r5 mov r1, #2 bl func_ov36_0217d6bc _0217ef70: mov r0, r5 bl func_ov36_02183204 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov36_0217ef10 .global func_ov36_0217ef7c arm_func_start func_ov36_0217ef7c func_ov36_0217ef7c: ; 0x0217ef7c stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x878] add r0, r4, #0x158 orr r1, r1, #4 str r1, [r4, #0x878] mov r1, #0x16 bl func_ov36_0217ca34 ldr r2, [r4, #0x168] mov r3, #0x2000 ldr r1, _0217efbc ; =data_ov36_02186ca0 add r0, r4, #0x158 str r3, [r2, #0x10] bl func_ov36_0217c7e8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217ef7c _0217efbc: .word data_ov36_02186ca0 .global func_ov36_0217efc0 arm_func_start func_ov36_0217efc0 func_ov36_0217efc0: ; 0x0217efc0 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0217f0b4 ; =data_027e0fc8 mov r6, r0 ldr r0, [r1] bl func_ov00_020bc46c cmp r0, #1 mov r0, r6 bne _0217f0a0 bl func_ov00_020c2974 ldrsh r2, [r6, #0x78] mov r4, r0 ldr r1, _0217f0b8 ; =0x00001555 sub r0, r4, r2 mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 mov r5, r0, asr #0x10 addle r0, r6, #0x800 strleh r1, [r0, #0x90] ble _0217f02c rsb r0, r1, #0 cmp r5, r0 addgt r0, r6, #0x800 strgth r5, [r0, #0x90] bgt _0217f02c rsb r1, r1, #0 add r0, r6, #0x800 strh r1, [r0, #0x90] _0217f02c: ldr r0, [r6, #0x138] cmp r0, #0x78 blt _0217f078 mov r0, r6 bl func_ov00_020c28ec cmp r0, #0x5000 bge _0217f05c ldr r0, _0217f0bc ; =0x00002aab cmp r5, #0 rsblt r5, r5, #0 cmp r5, r0 ble _0217f078 _0217f05c: mov r0, r6 add r2, r6, #0x800 mov r3, #0 mov r1, #8 strh r3, [r2, #0x90] bl func_ov36_0217d6bc b _0217f0a8 _0217f078: mov r1, r4 add r0, r6, #0x78 mov r2, #0x384 bl func_0202b154 cmp r0, #0 beq _0217f0a8 mov r0, r6 mov r1, #2 bl func_ov36_0217d6bc b _0217f0a8 _0217f0a0: mov r1, #2 bl func_ov36_0217d6bc _0217f0a8: mov r0, r6 bl func_ov36_02183204 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217efc0 _0217f0b4: .word data_027e0fc8 _0217f0b8: .word 0x00001555 _0217f0bc: .word 0x00002aab .global func_ov36_0217f0c0 arm_func_start func_ov36_0217f0c0 func_ov36_0217f0c0: ; 0x0217f0c0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x158 mov r1, #0x17 bl func_ov36_0217ca34 ldr r1, _0217f104 ; =data_ov36_02186ca4 add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r1, _0217f108 ; =data_027e0d0c mov r0, #1 ldr r2, [r1] str r2, [r4, #0x60] ldr r2, [r1, #4] str r2, [r4, #0x64] ldr r1, [r1, #8] str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217f0c0 _0217f104: .word data_ov36_02186ca4 _0217f108: .word data_027e0d0c .global func_ov36_0217f10c arm_func_start func_ov36_0217f10c func_ov36_0217f10c: ; 0x0217f10c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r1, sp, #0 mov r4, r0 bl func_ov36_02184f44 cmp r0, #0 cmpne r0, #1 beq _0217f138 cmp r0, #2 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} _0217f138: add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 beq _0217f168 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0217f168 mov r0, r4 mov r1, #2 bl func_ov36_0217d6bc _0217f168: mov r0, r4 bl func_ov36_02183204 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov36_0217f10c .global func_ov36_0217f178 arm_func_start func_ov36_0217f178 func_ov36_0217f178: ; 0x0217f178 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #0x8a7] cmp r0, #5 blo _0217f1a0 mov r0, #0 strb r0, [r4, #0x8a7] ldr r0, [r4, #0x878] bic r0, r0, #0x80 str r0, [r4, #0x878] _0217f1a0: ldr r1, [r4, #0x878] add r0, r4, #0x158 orr r2, r1, #0x1000 mov r1, #0x13 str r2, [r4, #0x878] bl func_ov36_0217ca34 ldr r1, _0217f20c ; =data_027e0d0c mov r0, r4 ldr r2, [r1] str r2, [r4, #0x60] ldr r2, [r1, #4] str r2, [r4, #0x64] ldr r1, [r1, #8] str r1, [r4, #0x68] bl func_ov36_02185050 add r1, r4, #0x800 strh r0, [r1, #0x8e] ldr r1, _0217f210 ; =data_ov36_02186ca8 add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r0, _0217f214 ; =data_027e0ffc add r2, r4, #0x48 ldr r1, _0217f218 ; =0x000002c3 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217f178 _0217f20c: .word data_027e0d0c _0217f210: .word data_ov36_02186ca8 _0217f214: .word data_027e0ffc _0217f218: .word 0x000002c3 .global func_ov36_0217f21c arm_func_start func_ov36_0217f21c func_ov36_0217f21c: ; 0x0217f21c stmdb sp!, {r4, lr} sub sp, sp, #0x48 mov r4, r0 ldr r1, [r4, #0x138] cmp r1, #0x1e bgt _0217f26c ldr r1, [r4, #0x878] tst r1, #0x100000 beq _0217f258 bl func_ov00_020c2974 mov r1, r0 add r0, r4, #0x78 mov r2, #0x4b0 bl func_0202b154 b _0217f26c _0217f258: bl func_ov36_02185050 mov r1, r0 add r0, r4, #0x78 mov r2, #0x4b0 bl func_0202b154 _0217f26c: mov r0, r4 bl func_ov36_02183204 cmp r0, #0 addne sp, sp, #0x48 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x168] ldr r0, [r0, #0x14] cmp r0, #0x1a000 bgt _0217f3a4 addne sp, sp, #0x48 ldmneia sp!, {r4, pc} ldrb r1, [r4, #0x8a7] add r0, sp, #0x1c add r1, r1, #1 strb r1, [r4, #0x8a7] 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, [r4, #8] add r0, sp, #4 str r1, [sp, #0x38] ldr r2, [r4, #0xc] add r1, r4, #0x178 str r2, [sp, #0x3c] ldrsh r3, [r4, #0x78] mov r2, #0 strh r3, [sp, #0x30] strh r2, [sp, #0x1c] bl func_ov36_0217c5a0 add r0, sp, #4 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 str r0, [sp] ldr r0, _0217f3f0 ; =data_027e0fe8 mov r2, r3 ldr r1, _0217f3f4 ; =0x50424652 ldr r0, [r0] add r3, sp, #0x1c bl func_ov00_020c4048 ldrsh r0, [r4, #0x78] mov r2, #0 ldr r1, _0217f3f0 ; =data_027e0fe8 add r0, r0, #0x55 add r0, r0, #0x1500 strh r0, [sp, #0x30] str r2, [sp] ldr r0, [r1] ldr r1, _0217f3f4 ; =0x50424652 add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 ldrsh r2, [r4, #0x78] ldr r0, _0217f3f8 ; =0xffffeaab mov r1, #0 add r0, r2, r0 strh r0, [sp, #0x30] str r1, [sp] ldr r0, _0217f3f0 ; =data_027e0fe8 ldr r1, _0217f3f4 ; =0x50424652 ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 ldr r1, [r4, #0x878] ldr r0, _0217f3fc ; =data_027e0ffc bic r1, r1, #0x1000 str r1, [r4, #0x878] add r2, r4, #0x48 mov r1, #0x2c4 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x48 ldmia sp!, {r4, pc} _0217f3a4: add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, pc} mov r0, r4 add r2, r4, #0x800 mov r3, #0x1e mov r1, #2 strh r3, [r2, #0x7e] bl func_ov36_0217d6bc add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217f21c _0217f3f0: .word data_027e0fe8 _0217f3f4: .word 0x50424652 _0217f3f8: .word 0xffffeaab _0217f3fc: .word data_027e0ffc .global func_ov36_0217f400 arm_func_start func_ov36_0217f400 func_ov36_0217f400: ; 0x0217f400 ldr r2, _0217f410 ; =data_ov36_02186d00 str r2, [r0] str r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov36_0217f400 _0217f410: .word data_ov36_02186d00 .global func_ov36_0217f414 arm_func_start func_ov36_0217f414 func_ov36_0217f414: ; 0x0217f414 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldr r2, [r4, #4] ldr r1, _0217f474 ; =0x424f4d42 mov r5, r0 cmp r2, r1 bne _0217f46c ldr r0, [r5, #4] add r1, r4, #0x48 bl func_ov36_0217f478 cmp r0, #0 beq _0217f46c mov r0, r4 bl func_ov14_02122e7c cmp r0, #0 beq _0217f46c ldr r0, [r5, #4] ldr r1, [r4, #0x4c] ldr r0, [r0, #0x4c] cmp r1, r0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _0217f46c: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217f414 _0217f474: .word 0x424f4d42 .global func_ov36_0217f478 arm_func_start func_ov36_0217f478 func_ov36_0217f478: ; 0x0217f478 stmdb sp!, {r3, lr} str r1, [sp] ldrsh r1, [r0, #0x78] ldr r3, _0217f498 ; =0x00001770 add r0, r0, #0x48 mov r2, #0x5000 bl func_ov00_020c54a0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_0217f478 _0217f498: .word 0x00001770 .global func_ov36_0217f49c arm_func_start func_ov36_0217f49c func_ov36_0217f49c: ; 0x0217f49c stmdb sp!, {r4, lr} ldr r2, _0217f4f0 ; =data_027e0d0c mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 str r1, [r4, #0x60] ldr r3, [r2, #4] mov r1, #0x1e str r3, [r4, #0x64] ldr r2, [r2, #8] str r2, [r4, #0x68] bl func_ov36_0217ca34 mov r2, #0 str r2, [r4, #0x6bc] add r0, r4, #0x800 mov r1, #0xb4 strh r1, [r0, #0xa2] str r2, [r4, #0x874] strb r2, [r4, #0x8a7] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217f49c _0217f4f0: .word data_027e0d0c .global func_ov36_0217f4f4 arm_func_start func_ov36_0217f4f4 func_ov36_0217f4f4: ; 0x0217f4f4 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x7c mov r5, r0 bl func_ov00_020c2974 mov r1, r0 add r0, r5, #0x78 mov r2, #0x3e8 bl func_0202b154 ldrb r0, [r5, #0x560] cmp r0, #0 beq _0217f608 mvn r6, #0 add r4, sp, #0xc mov r3, #1 mov r2, #0 add r0, sp, #4 mov r1, r5 str r6, [sp, #0xc] str r6, [sp, #0x10] str r4, [sp, #0x70] str r3, [sp, #0x74] str r2, [sp, #0x78] bl func_ov36_0217f400 ldr r0, _0217f96c ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] add r2, sp, #0x70 bl func_ov00_020c37ec ldr r1, [sp, #0xc] mov r0, r6 cmp r1, r0 beq _0217f608 ldr r0, _0217f96c ; =data_027e0fe4 mov r1, r4 ldr r0, [r0] bl func_ov00_020c3674 str r0, [r5, #0x6bc] ldrb r0, [r5, #0xa4] cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 beq _0217f5c4 add r0, sp, #0x20 add r1, r5, #0x178 bl func_ov36_0217c5a0 ldr r2, [sp, #0x20] ldr r1, [sp, #0x24] ldr r0, [sp, #0x28] str r2, [sp, #0x64] str r1, [sp, #0x68] str r0, [sp, #0x6c] b _0217f5e8 _0217f5c4: ldr r0, [r5, #0x48] str r0, [sp, #0x64] ldr r0, [r5, #0x4c] str r0, [sp, #0x68] add r0, r0, #0x33 ldr r1, [r5, #0x50] add r0, r0, #0xb00 str r1, [sp, #0x6c] str r0, [sp, #0x68] _0217f5e8: ldr r0, [r5, #0x6bc] add r1, sp, #0x64 bl func_ov14_02122e48 mov r0, r5 mov r1, #0xb bl func_ov36_0217d6bc add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, pc} _0217f608: ldr r0, [r5, #0x168] mov r1, #0x66000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0217f650 ldr r0, _0217f970 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _0217f974 ; =data_027e0ffc ldr r1, _0217f978 ; =0x000002cd add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 bl func_ov36_02185eb8 _0217f650: ldr r0, [r5, #0x168] ldr r4, [r0, #0x14] cmp r4, #0xc000 blt _0217f710 cmp r4, #0x10000 bgt _0217f710 rsb r1, r4, #0x10000 cmp r1, #0x1000 movle r0, #0x1000 ble _0217f68c ldr r0, [r5, #0x868] rsb r0, r0, #0x1000 bl func_01ff98e0 ldr r1, [r5, #0x868] add r0, r1, r0 _0217f68c: str r0, [r5, #0x868] ldrh r1, [r5, #0x78] ldr r2, _0217f97c ; =data_02050f54 ldr r0, _0217f980 ; =0xfffffccd 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 lr, ip, r7, r0 mvn r1, #0 mla ip, r7, r1, ip umull r6, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mov r7, r7, asr #0x1f mla ip, r7, r0, ip adds lr, lr, #0x800 adc r7, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r7, lsl #20 mla r3, r1, r0, r3 adds r6, r6, #0x800 str ip, [r5, #0x60] mov r2, #0 adc r0, r3, #0 mov r1, r6, lsr #0xc str r2, [r5, #0x64] orr r1, r1, r0, lsl #20 str r1, [r5, #0x68] b _0217f7d4 _0217f710: cmp r4, #0x61000 blt _0217f7c4 cmp r4, #0x66000 bgt _0217f7c4 rsb r1, r4, #0x66000 cmp r1, #0x1000 movle r0, #0 ble _0217f744 ldr r0, [r5, #0x868] rsb r0, r0, #0 bl func_01ff98e0 ldr r1, [r5, #0x868] add r0, r1, r0 _0217f744: str r0, [r5, #0x868] ldrh r1, [r5, #0x78] ldr r2, _0217f97c ; =data_02050f54 ldr r0, _0217f984 ; =0x0000028f 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 r1, [r2, r1] umull r7, r6, lr, r0 mov ip, #0 mla r6, lr, ip, r6 umull r3, r2, r1, r0 mla r2, r1, ip, r2 mov lr, lr, asr #0x1f mov r1, r1, asr #0x1f adds r7, r7, #0x800 mla r6, lr, r0, r6 adc r6, r6, #0 mov r7, r7, lsr #0xc orr r7, r7, r6, lsl #20 str r7, [r5, #0x60] mla r2, r1, r0, r2 adds r3, r3, #0x800 adc r0, r2, #0 mov r1, r3, lsr #0xc str ip, [r5, #0x64] orr r1, r1, r0, lsl #20 str r1, [r5, #0x68] b _0217f7d4 _0217f7c4: mov r0, #0 str r0, [r5, #0x60] str r0, [r5, #0x64] str r0, [r5, #0x68] _0217f7d4: cmp r4, #0x70000 blt _0217f940 bne _0217f7fc mov r0, r5 add r1, r5, #0x800 mov r2, #0 strh r2, [r1, #0x90] bl func_ov00_020c2974 add r1, r5, #0x800 strh r0, [r1, #0x8e] _0217f7fc: mov r0, r5 bl func_ov00_020c2974 mov r1, r0 add r0, r5, #0x78 mov r2, #0x190 bl func_0202b154 mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _0217f974 ; =data_027e0ffc ldr r1, _0217f988 ; =0x000002c5 add r2, r5, #0x48 bl func_ov00_020cec60 mov r0, #0x30000 mov r1, #0xb4000 bl func_01ff98e0 ldr r2, [r5, #0x874] ldr r1, _0217f97c ; =data_02050f54 mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [r1, r0] ldr r0, _0217f98c ; =0x009c4000 add r1, r2, #1 str r1, [r5, #0x874] umull r1, r4, r3, r0 adds r1, r1, #0x800 mov ip, r1, lsr #0xc mov r2, r3, asr #0x1f mov r1, #0 mla r4, r3, r1, r4 mla r4, r2, r0, r4 adc r0, r4, #0 orr ip, ip, r0, lsl #20 mov r0, ip, lsl #0x4 mov r4, r0, asr #0x10 ldr r0, [r5, #0x878] add r1, r5, #0x800 orr r0, r0, #4 str r0, [r5, #0x878] strh r4, [r1, #0x90] add r0, r5, #0x200 strh r4, [r0, #0x64] ldrsh r0, [r1, #0x7c] cmp r0, #0 bne _0217f940 mov r2, #6 add r0, sp, #0x38 strh r2, [r1, #0x7c] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x38 str r1, [sp, #0x54] str r1, [sp, #0x58] bl func_ov00_020c3348 ldr r1, [r5, #8] add r0, sp, #0x14 str r1, [sp, #0x54] ldr r2, [r5, #0xc] add r1, r5, #0x178 str r2, [sp, #0x58] ldrsh r3, [r5, #0x78] mov r2, #1 add r3, r3, r4 strh r3, [sp, #0x4c] strh r2, [sp, #0x38] bl func_ov36_0217c5a0 add r0, sp, #0x14 add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 str r0, [sp] ldr r0, _0217f990 ; =data_027e0fe8 mov r2, r3 ldr r1, _0217f994 ; =0x50424652 ldr r0, [r0] add r3, sp, #0x38 bl func_ov00_020c4048 _0217f940: ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x7c ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r5 mov r1, #0xc bl func_ov36_0217d6bc add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_0217f4f4 _0217f96c: .word data_027e0fe4 _0217f970: .word data_027e0f64 _0217f974: .word data_027e0ffc _0217f978: .word 0x000002cd _0217f97c: .word data_02050f54 _0217f980: .word 0xfffffccd _0217f984: .word 0x0000028f _0217f988: .word 0x000002c5 _0217f98c: .word 0x009c4000 _0217f990: .word data_027e0fe8 _0217f994: .word 0x50424652 .global func_ov36_0217f998 arm_func_start func_ov36_0217f998 func_ov36_0217f998: ; 0x0217f998 stmdb sp!, {r4, lr} ldr r2, _0217f9e8 ; =data_027e0d0c mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 str r1, [r4, #0x60] ldr r3, [r2, #4] mov r1, #0x1d str r3, [r4, #0x64] ldr r2, [r2, #8] str r2, [r4, #0x68] bl func_ov36_0217ca34 ldr r1, _0217f9ec ; =data_ov36_02186cac add r0, r4, #0x158 bl func_ov36_0217c7e8 ldr r1, [r4, #0x878] mov r0, #1 bic r1, r1, #0x40 str r1, [r4, #0x878] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217f998 _0217f9e8: .word data_027e0d0c _0217f9ec: .word data_ov36_02186cac .global func_ov36_0217f9f0 arm_func_start func_ov36_0217f9f0 func_ov36_0217f9f0: ; 0x0217f9f0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x38 mov r5, r0 ldr r0, [r5, #0x6bc] cmp r0, #0 beq _0217fb90 ldrb r0, [r5, #0xa4] cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 beq _0217fa44 add r0, sp, #8 add r1, r5, #0x178 bl func_ov36_0217c5a0 ldr r2, [sp, #8] ldr r1, [sp, #0xc] ldr r0, [sp, #0x10] str r2, [sp, #0x2c] str r1, [sp, #0x30] str r0, [sp, #0x34] b _0217fa68 _0217fa44: ldr r0, [r5, #0x48] str r0, [sp, #0x2c] ldr r0, [r5, #0x4c] str r0, [sp, #0x30] add r0, r0, #0x33 ldr r1, [r5, #0x50] add r0, r0, #0xb00 str r1, [sp, #0x34] str r0, [sp, #0x30] _0217fa68: ldr r0, [r5, #0x6bc] add r1, sp, #0x2c bl func_ov14_02122e48 ldr r0, [r5, #0x168] ldr r0, [r0, #0x14] cmp r0, #0x37000 blt _0217fb90 ldr r0, _0217fdb8 ; =data_027e0f64 mov r1, #2 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, [r5, #0x6bc] mov r3, #0 strb r3, [r0, #0x118] add r0, r5, #0x48 add ip, sp, #0x20 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r1, [sp, #0x24] ldr r0, _0217fdbc ; =data_027e0ffc add r4, r1, #0x2800 ldr r1, _0217fdc0 ; =0x000001ad mov r2, ip str r4, [sp, #0x24] bl func_ov00_020ceacc ldr r0, _0217fdc4 ; =data_027e1038 add r1, sp, #0x20 ldr r0, [r0] bl func_ov00_020cef10 ldr r0, _0217fdc8 ; =data_027e0e58 mov r2, #0 ldr r4, [r0] ldr r1, _0217fdcc ; =0x00000203 str r2, [sp] str r2, [sp, #4] mov r0, r4 add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, r4 mov r1, #0x204 add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, _0217fdd0 ; =0x00000205 mov r0, r4 add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, _0217fdd4 ; =0x00000206 mov r0, r4 add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r1, _0217fdd8 ; =0x00000207 mov r0, r4 add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [r5, #0x6bc] _0217fb90: ldr r0, [r5, #0x138] cmp r0, #6 bne _0217fbb0 ldr r0, _0217fdbc ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x2d0 mov r3, #0 bl func_ov00_020ceacc _0217fbb0: ldr r0, [r5, #0x168] mov r1, #0x36000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0217fbd8 ldr r1, _0217fddc ; =data_ov36_02186cb0 add r0, r5, #0x158 bl func_ov36_0217c7e8 b _0217fc04 _0217fbd8: ldr r0, [r5, #0x168] mov r1, #0x3b000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0217fc04 ldr r0, _0217fdbc ; =data_027e0ffc ldr r1, _0217fde0 ; =0x000002cb add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _0217fc04: ldr r0, [r5, #0x168] ldr r4, [r0, #0x14] cmp r4, #0x45000 blt _0217fcb0 cmp r4, #0x4f000 bgt _0217fcb0 rsb r1, r4, #0x4f000 cmp r1, #0x1000 movle r0, #0 ble _0217fc40 ldr r0, [r5, #0x868] rsb r0, r0, #0 bl func_01ff98e0 ldr r1, [r5, #0x868] add r0, r1, r0 _0217fc40: str r0, [r5, #0x868] ldrh r6, [r5, #0x78] ldr r0, _0217fde4 ; =0x00000ccd mov r1, #0xb000 bl func_01ff98e0 mov r1, r6, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 ldr r3, _0217fde8 ; =data_02050f54 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] smull ip, r3, r2, r0 adds ip, ip, #0x800 smull r2, r0, r1, r0 adc r3, r3, #0 adds r1, r2, #0x800 mov r2, ip, lsr #0xc orr r2, r2, r3, lsl #20 str r2, [r5, #0x60] mov r2, #0 adc r0, r0, #0 mov r1, r1, lsr #0xc str r2, [r5, #0x64] orr r1, r1, r0, lsl #20 str r1, [r5, #0x68] b _0217fcc0 _0217fcb0: mov r0, #0 str r0, [r5, #0x60] str r0, [r5, #0x64] str r0, [r5, #0x68] _0217fcc0: cmp r4, #0x40000 blt _0217fd08 cmp r4, #0x68000 bgt _0217fd08 rsb r1, r4, #0x68000 cmp r1, #0x1000 movle r0, #0x4000 strleh r0, [r5, #0x78] ble _0217fd08 ldrsh r0, [r5, #0x78] rsb r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl func_01ff98e0 ldrsh r1, [r5, #0x78] add r0, r0, #0x800 add r0, r1, r0, asr #12 strh r0, [r5, #0x78] _0217fd08: ldr r0, [r5, #0x168] mov r1, #0x6b000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0217fd8c ldr r0, [r5, #0x4c] ldr r2, [r5, #0x50] ldr r1, [r5, #0x48] add r0, r0, #0xcd add r0, r0, #0x400 str r1, [sp, #0x14] str r0, [sp, #0x18] str r2, [sp, #0x1c] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0217fdc8 ; =data_027e0e58 add r2, sp, #0x14 ldr r0, [r0] mov r1, #0x11 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _0217fdb8 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _0217fdbc ; =data_027e0ffc ldr r1, _0217fdec ; =0x000002c7 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc _0217fd8c: ldr r0, [r5, #0x168] 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, #0x13 bl func_ov36_0217d6bc add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0217f9f0 _0217fdb8: .word data_027e0f64 _0217fdbc: .word data_027e0ffc _0217fdc0: .word 0x000001ad _0217fdc4: .word data_027e1038 _0217fdc8: .word data_027e0e58 _0217fdcc: .word 0x00000203 _0217fdd0: .word 0x00000205 _0217fdd4: .word 0x00000206 _0217fdd8: .word 0x00000207 _0217fddc: .word data_ov36_02186cb0 _0217fde0: .word 0x000002cb _0217fde4: .word 0x00000ccd _0217fde8: .word data_02050f54 _0217fdec: .word 0x000002c7 .global func_ov36_0217fdf0 arm_func_start func_ov36_0217fdf0 func_ov36_0217fdf0: ; 0x0217fdf0 stmdb sp!, {r4, lr} ldr r2, _0217fe34 ; =data_027e0d0c mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 str r1, [r4, #0x60] ldr r3, [r2, #4] mov r1, #0x15 str r3, [r4, #0x64] ldr r2, [r2, #8] str r2, [r4, #0x68] bl func_ov36_0217ca34 ldr r1, _0217fe38 ; =data_ov36_02186cb4 add r0, r4, #0x158 bl func_ov36_0217c7e8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217fdf0 _0217fe34: .word data_027e0d0c _0217fe38: .word data_ov36_02186cb4 .global func_ov36_0217fe3c arm_func_start func_ov36_0217fe3c func_ov36_0217fe3c: ; 0x0217fe3c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r5, r0 bl func_ov00_020c2974 mov r1, r0 add r0, r5, #0x78 mov r2, #0x190 bl func_0202b154 mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _0217ffc4 ; =data_027e0ffc ldr r1, _0217ffc8 ; =0x000002c5 add r2, r5, #0x48 bl func_ov00_020cec60 mov r0, #0x30000 mov r1, #0xb4000 bl func_01ff98e0 ldr r2, [r5, #0x874] ldr r1, _0217ffcc ; =data_02050f54 mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [r1, r0] ldr r0, _0217ffd0 ; =0x009c4000 add r1, r2, #1 str r1, [r5, #0x874] umull r1, r4, r3, r0 adds r1, r1, #0x800 mov ip, r1, lsr #0xc mov r2, r3, asr #0x1f mov r1, #0 mla r4, r3, r1, r4 mla r4, r2, r0, r4 adc r0, r4, #0 orr ip, ip, r0, lsl #20 mov r0, ip, lsl #0x4 mov r4, r0, asr #0x10 ldr r0, [r5, #0x878] add r1, r5, #0x800 orr r0, r0, #4 str r0, [r5, #0x878] strh r4, [r1, #0x90] add r0, r5, #0x200 strh r4, [r0, #0x64] ldrsh r0, [r1, #0x7c] cmp r0, #0 bne _0217ff88 mov r2, #6 add r0, sp, #0x1c strh r2, [r1, #0x7c] 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] add r0, sp, #4 str r1, [sp, #0x38] ldr r2, [r5, #0xc] add r1, r5, #0x178 str r2, [sp, #0x3c] ldrsh r3, [r5, #0x78] mov r2, #1 add r3, r3, r4 strh r3, [sp, #0x30] strh r2, [sp, #0x1c] bl func_ov36_0217c5a0 add r0, sp, #4 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #0 str r0, [sp] ldr r0, _0217ffd4 ; =data_027e0fe8 mov r2, r3 ldr r1, _0217ffd8 ; =0x50424652 ldr r0, [r0] add r3, sp, #0x1c bl func_ov00_020c4048 _0217ff88: add r2, r5, #0x800 ldrsh r0, [r2, #0xa2] ldr r1, [r5, #0x138] cmp r1, r0 addlt sp, sp, #0x48 ldmltia sp!, {r3, r4, r5, pc} mov r1, #0 mov r0, r5 strh r1, [r2, #0xa2] mov r3, #0x1e mov r1, #2 strh r3, [r2, #0x7e] bl func_ov36_0217d6bc add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_0217fe3c _0217ffc4: .word data_027e0ffc _0217ffc8: .word 0x000002c5 _0217ffcc: .word data_02050f54 _0217ffd0: .word 0x009c4000 _0217ffd4: .word data_027e0fe8 _0217ffd8: .word 0x50424652 .global func_ov36_0217ffdc arm_func_start func_ov36_0217ffdc func_ov36_0217ffdc: ; 0x0217ffdc stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #0xd bne _02180018 ldrb r1, [r4, #0x8a9] add r2, r1, #1 and r1, r2, #0xff strb r2, [r4, #0x8a9] cmp r1, #5 blo _02180018 mov r1, #9 bl func_ov36_0217d6bc mov r0, #0 ldmia sp!, {r4, pc} _02180018: add r0, r4, #0x800 mov r1, #0 strh r1, [r0, #0x92] strb r1, [r4, #0x8a4] ldr r0, _02180064 ; =0x00000333 mov r1, #0x14 str r0, [r4, #0x858] ldr r0, [r4, #0x130] cmp r0, #0xd add r0, r4, #0x158 bne _0218004c bl func_ov36_0217c958 b _02180050 _0218004c: bl func_ov36_0217ca34 _02180050: ldr r1, _02180068 ; =data_ov36_02186cb8 add r0, r4, #0x158 bl func_ov36_0217c7e8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0217ffdc _02180064: .word 0x00000333 _02180068: .word data_ov36_02186cb8 .global func_ov36_0218006c arm_func_start func_ov36_0218006c func_ov36_0218006c: ; 0x0218006c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r2, [r4, #0x138] add r1, sp, #0 rsb r2, r2, #7 mov r3, r2, lsl #0xc mov r2, #0 str r3, [sp] bl func_ov36_021855ec mov r0, r4 bl func_ov36_02185274 ldr r0, [r4, #0x360] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x358] cmp r0, #0x14 bne _021800d0 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021800d0 add r0, r4, #0x158 mov r1, #1 bl func_ov36_0217c958 _021800d0: ldr r0, [r4, #0x858] cmp r0, #0 bne _021800fc ldr r0, [r4, #0x360] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x358] cmp r0, #0x14 beq _021800fc mov r0, r4 mov r1, #7 bl func_ov36_0217d6bc _021800fc: mov r0, r4 bl func_ov36_02183204 ldr r0, [r4, #0x130] cmp r0, #0xd movne r0, #0 strneb r0, [r4, #0x8a9] add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov36_0218006c .global func_ov36_0218011c arm_func_start func_ov36_0218011c func_ov36_0218011c: ; 0x0218011c stmdb sp!, {r4, lr} ldr r2, _02180160 ; =data_027e0d0c mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 str r1, [r4, #0x60] ldr r3, [r2, #4] mov r1, #0x12 str r3, [r4, #0x64] ldr r2, [r2, #8] str r2, [r4, #0x68] bl func_ov36_0217ca34 ldr r1, _02180164 ; =data_ov36_02186cbc add r0, r4, #0x158 bl func_ov36_0217c7e8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0218011c _02180160: .word data_027e0d0c _02180164: .word data_ov36_02186cbc .global func_ov36_02180168 arm_func_start func_ov36_02180168 func_ov36_02180168: ; 0x02180168 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x138] cmp r0, #0x19 bne _02180188 ldr r1, _021801c4 ; =data_ov36_02186cc0 add r0, r4, #0x158 bl func_ov36_0217c7e8 _02180188: add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 beq _021801b8 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021801b8 mov r0, r4 mov r1, #2 bl func_ov36_0217d6bc _021801b8: mov r0, r4 bl func_ov36_02183204 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02180168 _021801c4: .word data_ov36_02186cc0 .global func_ov36_021801c8 arm_func_start func_ov36_021801c8 func_ov36_021801c8: ; 0x021801c8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r0, r5, #0x800 ldrsh r1, [r5, #0x78] ldrsh r0, [r0, #0x9a] sub r2, r0, r1 mov r2, r2, lsl #0x10 movs r3, r2, asr #0x10 mov r2, #0x4000 rsb r2, r2, #0 bpl _021802d8 sub r2, r2, r3 mov r2, r2, lsl #0x10 movs r4, r2, asr #0x10 ldr r2, _0218048c ; =0x00000dac rsbmi r4, r4, #0 cmp r4, r2 bge _02180220 add r1, r0, #0x4000 add r0, r5, #0x800 strh r1, [r0, #0x9c] b _02180254 _02180220: mov r0, #0x4000 rsb r0, r0, #0 cmp r3, r0 bge _02180244 rsb r0, r2, #0 add r1, r1, r0 add r0, r5, #0x800 strh r1, [r0, #0x9c] b _02180254 _02180244: add r0, r1, #0x1ac add r1, r0, #0xc00 add r0, r5, #0x800 strh r1, [r0, #0x9c] _02180254: add r0, r5, #0x800 ldrsh r2, [r0, #0x9c] ldrsh r0, [r5, #0x78] mov r1, #0x7000 sub r0, r2, r0 mov r0, r0, lsl #0xc bl func_01ff98e0 mov r1, r0, asr #0xc add r0, r5, #0x800 strh r1, [r0, #0x9e] ldr r0, [r5, #0x130] cmp r0, #0xf bne _021802c4 ldr r0, [r5, #0x878] tst r0, #0x40 beq _021802c4 ldr r1, [r5, #0x878] mov r0, r5 bic r1, r1, #0x40 str r1, [r5, #0x878] mov r2, #1 mov r1, #0xf strb r2, [r5, #0x8a4] bl func_ov36_0217d6bc add r1, r5, #0x800 mov r0, #0 strh r0, [r1, #0x92] ldmia sp!, {r3, r4, r5, pc} _021802c4: ldr r0, [r5, #0x878] mov r4, #2 bic r0, r0, #0x40 str r0, [r5, #0x878] b _021803b0 _021802d8: sub r2, r2, r3 mov r2, r2, lsl #0x10 movs r4, r2, asr #0x10 ldr r2, _0218048c ; =0x00000dac rsbmi r4, r4, #0 cmp r4, r2 bge _02180304 sub r1, r0, #0x4000 add r0, r5, #0x800 strh r1, [r0, #0x9c] b _02180330 _02180304: cmp r3, #0x4000 ble _02180320 add r0, r1, #0x1ac add r1, r0, #0xc00 add r0, r5, #0x800 strh r1, [r0, #0x9c] b _02180330 _02180320: rsb r0, r2, #0 add r1, r1, r0 add r0, r5, #0x800 strh r1, [r0, #0x9c] _02180330: add r0, r5, #0x800 ldrsh r2, [r0, #0x9c] ldrsh r0, [r5, #0x78] mov r1, #0x7000 sub r0, r2, r0 mov r0, r0, lsl #0xc bl func_01ff98e0 mov r1, r0, asr #0xc add r0, r5, #0x800 strh r1, [r0, #0x9e] ldr r0, [r5, #0x130] cmp r0, #0xf bne _021803a0 ldr r0, [r5, #0x878] tst r0, #0x40 bne _021803a0 ldr r1, [r5, #0x878] mov r0, r5 orr r1, r1, #0x40 str r1, [r5, #0x878] mov r2, #1 mov r1, #0xf strb r2, [r5, #0x8a4] bl func_ov36_0217d6bc add r1, r5, #0x800 mov r0, #0 strh r0, [r1, #0x92] ldmia sp!, {r3, r4, r5, pc} _021803a0: ldr r0, [r5, #0x878] mov r4, #3 orr r0, r0, #0x40 str r0, [r5, #0x878] _021803b0: ldr r0, _02180490 ; =data_027e0ffc ldr r1, _02180494 ; =0x000002c9 add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02180498 ; =data_027e0f64 mov r1, #0xb ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _0218049c ; =0x00000333 str r0, [r5, #0x858] ldr r0, [r5, #0x130] cmp r0, #0xf ldr r0, [r5, #0x360] beq _02180428 add r0, r5, r0, lsl #2 ldr r0, [r0, #0x358] cmp r4, r0 bne _02180418 add r0, r5, #0x158 bl func_ov36_0217cc18 mov r1, r4 add r0, r5, #0x158 bl func_ov36_0217c958 b _02180458 _02180418: mov r1, r4 add r0, r5, #0x158 bl func_ov36_0217ca34 b _02180458 _02180428: add r0, r5, r0, lsl #2 ldr r0, [r0, #0x358] add r1, r4, #2 cmp r1, r0 add r0, r5, #0x158 bne _02180454 bl func_ov36_0217cc18 add r0, r5, #0x158 add r1, r4, #2 bl func_ov36_0217c958 b _02180458 _02180454: bl func_ov36_0217ca34 _02180458: ldr r2, _021804a0 ; =0x00000e66 ldr r1, _021804a4 ; =data_ov36_02186cc4 add r0, r5, #0x158 str r2, [r5, #0x860] bl func_ov36_0217c7e8 add r0, r5, #0x800 mov r1, #0x3c strh r1, [r0, #0x86] ldr r1, [r5, #0x878] mov r0, #1 bic r1, r1, #0x200000 str r1, [r5, #0x878] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_021801c8 _0218048c: .word 0x00000dac _02180490: .word data_027e0ffc _02180494: .word 0x000002c9 _02180498: .word data_027e0f64 _0218049c: .word 0x00000333 _021804a0: .word 0x00000e66 _021804a4: .word data_ov36_02186cc4 .global func_ov36_021804a8 arm_func_start func_ov36_021804a8 func_ov36_021804a8: ; 0x021804a8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov36_02185274 ldr r1, _0218056c ; =data_ov36_02186cc8 mov r0, r4 mov r2, #1 bl func_ov36_021855ec ldr r0, [r4, #0x878] tst r0, #0x200000 bne _02180544 mov r0, r4 bl func_ov36_02183204 add r0, r4, #0x800 ldrsh r1, [r0, #0x9c] ldrsh r2, [r0, #0x9e] add r0, r4, #0x78 bl func_0202b154 add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x158 beq _0218052c mov r1, #7 bl func_ov36_0217c958 b _02180534 _0218052c: mov r1, #6 bl func_ov36_0217c958 _02180534: ldr r0, [r4, #0x878] orr r0, r0, #0x200000 str r0, [r4, #0x878] ldmia sp!, {r4, pc} _02180544: add r0, r4, #0x800 ldrsh r0, [r0, #0x86] cmp r0, #0 mov r0, r4 bne _02180564 mov r1, #0x10 bl func_ov36_0217d6bc ldmia sp!, {r4, pc} _02180564: bl func_ov36_02183204 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_021804a8 _0218056c: .word data_ov36_02186cc8 .global func_ov36_02180570 arm_func_start func_ov36_02180570 func_ov36_02180570: ; 0x02180570 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x878] orr r0, r0, #0x1000 str r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x158 beq _0218059c mov r1, #9 bl func_ov36_0217ca34 b _021805a4 _0218059c: mov r1, #8 bl func_ov36_0217ca34 _021805a4: mov r3, #0 ldr r1, _021805c8 ; =data_ov36_02186ccc strb r3, [r4, #0x8a4] add r2, r4, #0x800 add r0, r4, #0x158 strh r3, [r2, #0x92] bl func_ov36_0217c7e8 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02180570 _021805c8: .word data_ov36_02186ccc .global func_ov36_021805cc arm_func_start func_ov36_021805cc func_ov36_021805cc: ; 0x021805cc stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 ldr r2, [r4, #0x138] add r1, sp, #0 rsb r2, r2, #7 mov r3, r2, lsl #0xc mov r2, #0 str r3, [sp] bl func_ov36_021855ec mov r0, r4 bl func_ov36_02185274 ldr r0, [r4, #0x138] cmp r0, #0x12 bne _02180614 ldr r1, _02180654 ; =data_ov36_02186cd0 add r0, r4, #0x158 bl func_ov36_0217c7e8 _02180614: add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 beq _02180644 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02180644 mov r0, r4 mov r1, #7 bl func_ov36_0217d6bc _02180644: mov r0, r4 bl func_ov36_02183204 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_021805cc _02180654: .word data_ov36_02186cd0 .global func_ov36_02180658 arm_func_start func_ov36_02180658 func_ov36_02180658: ; 0x02180658 mov r0, #1 bx lr arm_func_end func_ov36_02180658 .global func_ov36_02180660 arm_func_start func_ov36_02180660 func_ov36_02180660: ; 0x02180660 bx lr arm_func_end func_ov36_02180660 .global func_ov36_02180664 arm_func_start func_ov36_02180664 func_ov36_02180664: ; 0x02180664 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xd4 mov r7, r0 ldr r0, [r7, #0x878] mov r2, #0 orr r0, r0, #0x400 str r0, [r7, #0x878] ldr r1, _02180980 ; =data_027e0d0c str r2, [r7, #0x12c] add r0, r7, #0x800 strh r2, [r0, #0x92] ldr r0, [r1] str r0, [r7, #0x60] ldr r0, [r1, #4] str r0, [r7, #0x64] ldr r0, [r1, #8] str r0, [r7, #0x68] ldr r0, [r7, #0x878] tst r0, #0x40 add r0, r7, #0x158 beq _021806c4 mov r1, #0xb bl func_ov36_0217ca34 b _021806cc _021806c4: mov r1, #0xa bl func_ov36_0217ca34 _021806cc: ldr r1, _02180984 ; =data_ov36_02186cd4 add r0, r7, #0x158 bl func_ov36_0217c7e8 add r0, r7, #0x100 ldrsh r2, [r0, #0x20] ldr r1, _02180988 ; =data_ov36_02186838 add r0, r7, #0x800 rsb r2, r2, #3 mov r2, r2, lsl #0x1 ldrsh r1, [r1, r2] mov r4, #0 strh r1, [r0, #0x86] ldr r1, [r7, #0x878] tst r1, #2 bne _02180730 ldr r1, [r7, #0x878] orr r1, r1, #2 str r1, [r7, #0x878] strh r4, [r0, #0x9c] ldrsh r0, [r7, #0x78] cmp r0, #0 rsblt r0, r0, #0 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 b _02180860 _02180730: ldrsh r1, [r7, #0x78] ldr sl, _0218098c ; =data_02050f54 mov sb, #5 strh r1, [r0, #0x9c] add r0, r1, #0x2000 and r0, r0, #0xc000 mov r0, r0, lsl #0x10 ldrsh r1, [r7, #0x78] mov r6, r0, asr #0x10 mov fp, #0 sub r0, r1, r0, asr #16 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 movpl r5, #0x4000 add r0, r7, #0x9c submi r5, r4, #0x4000 add r8, r0, #0x800 _02180774: mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 ldr r2, [r7, #0x48] ldr r3, [r7, #0x4c] ldr r1, [r7, #0x50] mov r0, r0, asr #0x4 str r3, [sp, #0x1c] mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh lr, [sl, r0] add r0, sl, r3, lsl #1 ldrsh ip, [r0, #2] mov r0, lr, asr #0x1f mov r0, r0, lsl #0xe mov r3, #0x800 orr r0, r0, lr, lsr #18 adds lr, r3, lr, lsl #14 adc r0, r0, #0 mov r3, lr, lsr #0xc orr r3, r3, r0, lsl #20 add r0, r2, r3 str r0, [sp, #0x18] mov r0, ip, asr #0x1f mov r2, r0, lsl #0xe mov r0, #0x800 adds r3, r0, ip, lsl #14 orr r2, r2, ip, lsr #18 mov r0, #0 adc r0, r2, r0 mov r2, r3, lsr #0xc orr r2, r2, r0, lsl #20 add r0, r1, r2 str r0, [sp, #0x20] ldr r0, [r7, #0x48] ldr r3, _02180990 ; =0x000004cd str r0, [sp, #0xc] ldr r0, [r7, #0x4c] add r1, sp, #0x18 str r0, [sp, #0x10] ldr r0, [r7, #0x50] add r2, sp, #0xc str r0, [sp, #0x14] ldr r0, [r7, #8] stmia sp, {r0, sb, fp} ldr r0, _02180994 ; =data_027e0e60 ldr r0, [r0] bl func_01ffe1cc cmp r0, #0 beq _02180860 ldrsh r1, [r8] add r0, r6, r5 mov r0, r0, lsl #0x10 add r1, r1, r5 strh r1, [r8] mov r6, r0, asr #0x10 add r0, r4, #0x4000 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 b _02180774 _02180860: mov r0, r4, lsl #0xc mov r1, #0xf000 bl func_01ff98e0 mov r1, r0, asr #0xc add r0, r7, #0x800 strh r1, [r0, #0x9e] ldr r0, [r7, #0x878] tst r0, #8 bne _0218091c mov r0, r7 bl func_ov00_020c198c cmp r0, #0 beq _0218091c add r0, sp, #0x24 bl func_ov00_0209a4f4 ldr r0, _02180998 ; =data_027e0f64 mvn r4, #0 mov r3, #0x32 mov r2, #3 add r1, r7, #0x2e4 ldr r0, [r0] str r4, [sp, #0x28] strb r3, [sp, #0x2d] strb r2, [sp, #0x2f] ldr r0, [r0, #4] add r1, r1, #0x400 bl func_ov00_02087d34 ldr r1, _02180998 ; =data_027e0f64 mov r2, #2 strb r2, [sp, #0x2e] ldr r1, [r1] ldr r0, _0218099c ; =data_027e0f74 ldr r4, [r1, #4] ldr r0, [r0] ldr r1, [r4, #0x26c] mov r2, #1 str r1, [sp, #0x44] ldr r3, [r4, #0x270] add r1, sp, #0x24 str r3, [sp, #0x48] ldr r3, [r4, #0x274] str r3, [sp, #0x4c] strb r2, [sp, #0x3a] bl func_ov00_02097810 str r0, [r7, #0x66c] add r0, sp, #0x24 bl func_ov00_0209a508 _0218091c: add r1, r7, #0x3b4 ldr r0, _021809a0 ; =data_027e0c68 ldr r2, _021809a4 ; =0x0069032e add r1, r1, #0x400 bl func_02036ce4 mov r0, r7 mov r1, #1 bl func_ov00_020c1908 add r1, r7, #0x3b4 ldr r0, _021809a0 ; =data_027e0c68 add r1, r1, #0x400 bl func_020368f4 ldr r1, [r7, #0x878] ldr r0, _021809a8 ; =data_027e0ffc bic r1, r1, #0x200000 str r1, [r7, #0x878] ldr r1, _021809ac ; =0x000002ca add r2, r7, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 strb r0, [r7, #0x8a6] mov r0, #1 add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_02180664 _02180980: .word data_027e0d0c _02180984: .word data_ov36_02186cd4 _02180988: .word data_ov36_02186838 _0218098c: .word data_02050f54 _02180990: .word 0x000004cd _02180994: .word data_027e0e60 _02180998: .word data_027e0f64 _0218099c: .word data_027e0f74 _021809a0: .word data_027e0c68 _021809a4: .word 0x0069032e _021809a8: .word data_027e0ffc _021809ac: .word 0x000002ca .global func_ov36_021809b0 arm_func_start func_ov36_021809b0 func_ov36_021809b0: ; 0x021809b0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x3c mov r4, r0 add r0, r4, #0x800 ldrsh r1, [r0, #0x9c] ldrsh r2, [r0, #0x9e] add r0, r4, #0x78 bl func_0202b154 ldr r0, [r4, #0x878] bic r0, r0, #0x20 str r0, [r4, #0x878] tst r0, #0x200000 bne _02180ba8 ldr r0, [r4, #0x138] add r1, sp, #8 rsb r0, r0, #0x14 mov r2, r0, lsl #0xc str r2, [sp, #8] mov r0, r4 mov r2, #0 bl func_ov36_021855ec ldr r0, [r4, #0x168] ldr r0, [r0, #0x14] cmp r0, #0x2000 bne _02180a80 ldr r0, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] add r0, r0, #0xcd add r0, r0, #0x400 str r1, [sp, #0x30] str r0, [sp, #0x34] str r2, [sp, #0x38] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02180d00 ; =data_027e0e58 add r2, sp, #0x30 ldr r0, [r0] mov r1, #0x11 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02180d04 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02180d08 ; =data_027e0ffc ldr r1, _02180d0c ; =0x000002c7 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _02180a80: add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 beq _02180bd0 ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02180bd0 ldr r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x158 beq _02180ac0 mov r1, #0xd bl func_ov36_0217c958 b _02180ac8 _02180ac0: mov r1, #0xc bl func_ov36_0217c958 _02180ac8: ldr r1, [r4, #0x878] add r0, sp, #0x18 orr r2, r1, #0x200000 add r1, r4, #0x178 str r2, [r4, #0x878] bl func_ov36_0217c5a0 add r0, sp, #0x18 str r0, [sp] mov r2, #2 str r2, [sp, #4] ldr r0, _02180d00 ; =data_027e0e58 add r1, r4, #0x2ac ldr r0, [r0] add r1, r1, #0x400 mov r2, #0x7a mov r3, #0x7b bl func_ov00_0207c2e8 mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02180d08 ; =data_027e0ffc ldr r1, _02180d10 ; =0x000002c1 add r2, r4, #0x48 bl func_ov00_020cec60 ldr r0, [r4, #0x878] orr r0, r0, #0x20 str r0, [r4, #0x878] tst r0, #8 bne _02180bd0 mov r0, #0x18000 str r0, [r4, #0x6fc] add r0, r4, #0x48 add r3, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x2c] ldr r1, [sp, #0x24] add r0, r0, #0x33 add r3, r0, #0x1b00 ldr r0, [sp, #0x28] str r1, [sp, #0xc] str r0, [sp, #0x10] str r3, [sp, #0x2c] str r3, [sp, #0x14] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02180d04 ; =data_027e0f64 add r2, r4, #0x2e4 ldr r0, [r0] add r3, r2, #0x400 ldr r0, [r0, #4] add r1, sp, #0xc mov r2, #3 bl func_ov00_02089318 b _02180bd0 _02180ba8: mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02180d08 ; =data_027e0ffc ldr r1, _02180d10 ; =0x000002c1 add r2, r4, #0x48 bl func_ov00_020cec60 ldr r0, [r4, #0x878] orr r0, r0, #0x20 str r0, [r4, #0x878] _02180bd0: mov r0, #0x10000 ldr r1, [r4, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 beq _02180c90 add r0, r4, #0x3b4 add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 addne sp, sp, #0x3c ldmneia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #0x878] ldr r0, _02180d14 ; =data_027e0fc8 orr r1, r1, #8 bic r1, r1, #1 str r1, [r4, #0x878] ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #1 bne _02180c58 ldr r0, _02180d14 ; =data_027e0fc8 mov r1, #0 ldr r0, [r0] mov r2, #1 ldr r3, [r0] ldr r3, [r3, #0x7c] blx r3 _02180c58: ldr r0, _02180d18 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _02180c80 ldr r0, _02180d18 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _02180c80: mvn r0, #0 add sp, sp, #0x3c str r0, [r4, #0x66c] ldmia sp!, {r3, r4, r5, r6, pc} _02180c90: add r0, r4, #0x800 ldrsh r0, [r0, #0x86] cmp r0, #0 bne _02180ce0 add r0, r4, #0x2ac add r1, r4, #0x2b4 add r6, r0, #0x400 add r5, r1, #0x400 cmp r6, r5 beq _02180ccc _02180cb8: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02180cb8 _02180ccc: mov r0, r4 mov r1, #0x15 bl func_ov36_0217d6bc add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} _02180ce0: ldr r0, [r4, #0x878] tst r0, #0x20 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r4 bl func_ov36_02183504 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_021809b0 _02180d00: .word data_027e0e58 _02180d04: .word data_027e0f64 _02180d08: .word data_027e0ffc _02180d0c: .word 0x000002c7 _02180d10: .word 0x000002c1 _02180d14: .word data_027e0fc8 _02180d18: .word data_027e0f74 .global func_ov36_02180d1c arm_func_start func_ov36_02180d1c func_ov36_02180d1c: ; 0x02180d1c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 mov r2, #0 str r2, [r4, #0x60] str r2, [r4, #0x64] add r0, r4, #0x158 mov r1, #0xc str r2, [r4, #0x68] bl func_ov36_0217ca34 mov r2, #0 add r0, sp, #0x14 add r1, r4, #0x178 strb r2, [r4, #0x8a6] bl func_ov36_0217c5a0 add r0, sp, #0x14 str r0, [sp] mov r2, #2 str r2, [sp, #4] ldr r0, _02180e1c ; =data_027e0e58 add r1, r4, #0x2ac ldr r0, [r0] add r1, r1, #0x400 mov r2, #0x7a mov r3, #0x7b bl func_ov00_0207c2e8 add r0, sp, #8 add r1, r4, #0x178 mov r2, #0 bl func_ov36_0217c630 add r0, sp, #8 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 add r1, r4, #0x48 add r2, sp, #0x2c bl func_01ff9bf8 ldr r1, _02180e20 ; =0x00000ccd mov r0, #2 str r1, [sp, #0x38] ldr ip, [r4, #0x6b8] add r1, r4, #0x800 str r0, [ip, #0x12c] ldr r0, [sp, #0x2c] mov r2, #0xc8 str r0, [ip, #0x7c] ldr r3, [sp, #0x30] mov r0, #1 str r3, [ip, #0x80] ldr r3, [sp, #0x34] str r3, [ip, #0x84] ldr r4, [sp, #0x38] str r4, [ip, #0x88] ldr r3, [ip, #0x7c] str r3, [ip, #0xa8] ldr r3, [ip, #0x80] str r3, [ip, #0xac] ldr r3, [ip, #0x84] str r3, [ip, #0xb0] str r4, [ip, #0xb4] strh r2, [r1, #0x86] add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_02180d1c _02180e1c: .word data_027e0e58 _02180e20: .word 0x00000ccd .global func_ov36_02180e24 arm_func_start func_ov36_02180e24 func_ov36_02180e24: ; 0x02180e24 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 mov r5, r0 add r0, sp, #0x1c add r1, r5, #0x178 mov r2, #0 bl func_ov36_0217c630 ldr ip, [sp, #0x1c] ldr r4, [sp, #0x20] ldr r3, [sp, #0x24] add r0, sp, #0x28 add r2, sp, #0x38 add r1, r5, #0x48 str ip, [sp, #0x28] str r4, [sp, #0x2c] str r3, [sp, #0x30] bl func_01ff9bf8 ldr r1, _02181020 ; =0x00000ccd ldr r0, [sp, #0x28] str r1, [sp, #0x44] str r1, [sp, #0x34] ldr r4, [r5, #0x6b8] mov r3, #0 str r0, [r4, #0x48] ldr r1, [sp, #0x2c] ldr r0, _02181024 ; =data_027e0ffc str r1, [r4, #0x4c] ldr r2, [sp, #0x30] ldr r1, _02181028 ; =0x000002c1 str r2, [r4, #0x50] ldr ip, [r5, #0x6b8] ldr r4, [sp, #0x38] add r2, r5, #0x48 str r4, [ip, #0x7c] ldr r4, [sp, #0x3c] str r4, [ip, #0x80] ldr r4, [sp, #0x40] str r4, [ip, #0x84] ldr r4, [sp, #0x44] str r4, [ip, #0x88] str r3, [sp] ldr r3, [r5, #8] bl func_ov00_020cec60 ldr r0, [r5, #0x360] add r0, r5, r0, lsl #2 ldr r0, [r0, #0x358] cmp r0, #0x1b bne _02180f04 ldr r0, [r5, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02180f04 add r0, r5, #0x158 mov r1, #0xc bl func_ov36_0217ca34 _02180f04: add r0, r5, #0x800 ldrsh r0, [r0, #0x86] cmp r0, #0 addne sp, sp, #0x48 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x2ac add r1, r5, #0x2b4 add r6, r0, #0x400 add r4, r1, #0x400 cmp r6, r4 beq _02180f44 _02180f30: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r4 bne _02180f30 _02180f44: ldr r1, [r5, #0x818] mvn r0, #0 cmp r1, r0 beq _02181000 ldr r0, _0218102c ; =data_027e0fe4 add r1, r5, #0x18 ldr r0, [r0] add r1, r1, #0x800 bl func_ov00_020c3674 movs r4, r0 beq _02181000 ldrh r1, [r4, #0x78] ldr r2, _02181030 ; =data_02050f54 mov r0, #0x800 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 mov r1, ip, lsl #0x1 ldrsh r3, [r2, r1] add r1, ip, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] mov r1, r3, asr #0x1f mov ip, r1, lsl #0xb mov r1, r2, asr #0x1f mov r1, r1, lsl #0xb adds lr, r0, r3, lsl #11 orr ip, ip, r3, lsr #21 adc r3, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r3, lsl #20 adds r0, r0, r2, lsl #11 orr r1, r1, r2, lsr #21 mov r3, r0, lsr #0xc adc r1, r1, #0 orr r3, r3, r1, lsl #20 str ip, [r4, #0x60] mov r2, #0 str r2, [r4, #0x64] add r0, sp, #4 add r1, r5, #0x178 str r3, [r4, #0x68] bl func_ov36_0217c630 add r1, sp, #4 mov r0, r4 bl func_ov14_02120c98 mov r0, #1 strb r0, [r4, #0x1b5] _02181000: mvn r2, #0 str r2, [r5, #0x818] mov r0, r5 mov r1, #0x15 str r2, [r5, #0x81c] bl func_ov36_0217d6bc add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_02180e24 _02181020: .word 0x00000ccd _02181024: .word data_027e0ffc _02181028: .word 0x000002c1 _0218102c: .word data_027e0fe4 _02181030: .word data_02050f54 .global func_ov36_02181034 arm_func_start func_ov36_02181034 func_ov36_02181034: ; 0x02181034 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 add r0, r4, #0x2ac add r1, r4, #0x2b4 add r6, r0, #0x400 add r5, r1, #0x400 cmp r6, r5 beq _02181068 _02181054: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _02181054 _02181068: ldr r1, [r4, #0x878] mov r0, #0 orr r1, r1, #0x8000 bic r1, r1, #0x200000 str r1, [r4, #0x878] str r0, [r4, #0x12c] strb r0, [r4, #0x8a4] mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov36_02181034 .global func_ov36_0218108c arm_func_start func_ov36_0218108c func_ov36_0218108c: ; 0x0218108c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x118 mov r4, r0 ldr r2, [r4, #0x878] tst r2, #0x200000 beq _02181138 ldr r1, [r4, #0x168] ldr r1, [r1, #0x14] cmp r1, #0x4000 bne _021810d0 tst r2, #0x40 beq _021810c8 mov r1, #0 bl func_ov36_02185b7c b _021810d0 _021810c8: mov r1, #1 bl func_ov36_02185b7c _021810d0: ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02181128 ldr r0, _02181540 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _0218110c ldr r0, _02181540 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _0218110c: mvn r2, #0 mov r0, r4 mov r1, #0x15 str r2, [r4, #0x66c] bl func_ov36_0217d6bc add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02181128: mov r0, #0 add sp, sp, #0x118 str r0, [r4, #0x138] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02181138: ldr r1, [r4, #0x138] cmp r1, #0x1e addlt sp, sp, #0x118 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl func_ov00_020c198c cmp r0, #0 beq _0218116c ldr r0, _02181544 ; =data_027e0fb4 ldr r0, [r0] ldr r0, [r0] sub r0, r0, #9 cmp r0, #1 bhi _021811a4 _0218116c: ldr r0, _02181540 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _02181194 ldr r0, _02181540 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _02181194: mvn r0, #0 add sp, sp, #0x118 str r0, [r4, #0x66c] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021811a4: ldr r1, [r4, #0x66c] mvn r0, #0 cmp r1, r0 bne _02181454 add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #1 ble _02181454 add r0, sp, #0x68 bl func_ov00_0209a4f4 mvn r5, #0 mov r3, #0x32 mov r2, #2 mov r1, #3 ldr r0, _02181548 ; =data_027e0f64 str r5, [sp, #0x6c] strb r3, [sp, #0x71] strb r2, [sp, #0x72] strb r1, [sp, #0x73] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0x88] ldr r2, [r4, #0x4c] add r1, sp, #0 str r2, [sp, #0x8c] ldr r2, [r4, #0x50] str r2, [sp, #0x90] ldr r0, [r0, #4] bl func_ov00_02087d34 mov sl, #0 ldr r3, _0218154c ; =0x000004cd ldr r2, _02181550 ; =0x00001e84 ldr r1, _02181554 ; =0x0000038e mov r5, #0x19000 ldr r0, [sp] str r5, [sp, #0x18] str sl, [sp, #0x24] str r3, [sp, #0x20] str sl, [sp, #0x1c] str r2, [sp, #0x10] str sl, [sp, #0x14] str r1, [sp, #0xc] str r0, [r4, #0x6e4] ldr r0, [sp, #4] str r0, [r4, #0x6e8] ldr r0, [sp, #8] str r0, [r4, #0x6ec] ldr r0, [sp, #0xc] str r0, [r4, #0x6f0] ldr r0, [sp, #0x10] str r0, [r4, #0x6f4] ldr r0, [sp, #0x14] str r0, [r4, #0x6f8] ldr r0, [sp, #0x18] str r0, [r4, #0x6fc] ldr r0, [sp, #0x1c] str r0, [r4, #0x700] ldr r0, [sp, #0x20] str r0, [r4, #0x704] ldr r0, [sp, #0x24] str r0, [r4, #0x708] ldr r0, [sp, #0x28] str r0, [r4, #0x70c] ldr r0, [sp, #0x2c] str r0, [r4, #0x710] ldr r0, [sp, #0x30] str r0, [r4, #0x714] ldr r0, [sp, #0x34] str r0, [r4, #0x718] ldr r0, [sp, #0x38] str r0, [r4, #0x71c] ldr r0, [sp, #0x3c] str r0, [r4, #0x720] ldr r0, [sp, #0x40] str r0, [r4, #0x724] ldr r0, [sp, #0x44] str r0, [r4, #0x728] ldr r0, [sp, #0x48] str r0, [r4, #0x72c] ldr r0, [sp, #0x4c] str r0, [r4, #0x730] ldr r0, [sp, #0x50] str r0, [r4, #0x734] ldr r0, [sp, #0x54] str r0, [r4, #0x738] ldr r0, [sp, #0x58] str r0, [r4, #0x73c] ldr r0, [sp, #0x5c] str r0, [r4, #0x740] ldrb r0, [sp, #0x60] strb r0, [r4, #0x744] ldrb r0, [sp, #0x61] strb r0, [r4, #0x745] ldrb r0, [sp, #0x62] strb r0, [r4, #0x746] ldrb r0, [sp, #0x63] strb r0, [r4, #0x747] ldrb r0, [sp, #0x64] strb r0, [r4, #0x748] ldr r2, [sp] ldr r1, [sp, #4] ldr r0, [sp, #8] str r2, [sp, #0x94] str r1, [sp, #0x98] str r0, [sp, #0x9c] ldr r0, [sp, #0x1c] ldr r8, [sp, #0xc] ldr r7, [sp, #0x10] ldr r6, [sp, #0x14] str r0, [sp, #0xb0] ldr r0, [sp, #0x34] ldr r1, [sp, #0x18] ldr sb, [sp, #0x20] str r8, [sp, #0xa0] ldr r8, [sp, #0x24] str r7, [sp, #0xa4] ldr r7, [sp, #0x28] str r6, [sp, #0xa8] ldr r6, [sp, #0x2c] str r0, [sp, #0xc8] ldr r0, [sp, #0x4c] str r1, [sp, #0xac] ldr r1, [sp, #0x30] str sb, [sp, #0xb4] ldr sb, [sp, #0x38] str r8, [sp, #0xb8] ldr r8, [sp, #0x3c] str r7, [sp, #0xbc] ldr r7, [sp, #0x40] str r6, [sp, #0xc0] ldr r6, [sp, #0x44] ldrb r5, [sp, #0x60] ldrb lr, [sp, #0x61] ldrb ip, [sp, #0x62] ldrb r3, [sp, #0x63] ldrb r2, [sp, #0x64] str r0, [sp, #0xe0] ldr r0, _02181540 ; =data_027e0f74 str r1, [sp, #0xc4] ldr r1, [sp, #0x48] str sb, [sp, #0xcc] ldr sb, [sp, #0x50] str r8, [sp, #0xd0] ldr r8, [sp, #0x54] str r7, [sp, #0xd4] ldr r7, [sp, #0x58] str r6, [sp, #0xd8] ldr r6, [sp, #0x5c] mov fp, #1 str r1, [sp, #0xdc] ldr r0, [r0] add r1, sp, #0x68 str sb, [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] strb fp, [sp, #0x7c] strb sl, [sp, #0x7e] bl func_ov00_02097810 str r0, [r4, #0x66c] cmp r0, #0 add r0, sp, #0x68 bge _02181450 bl func_ov00_0209a508 add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02181450: bl func_ov00_0209a508 _02181454: ldr r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x158 beq _02181470 mov r1, #0xf bl func_ov36_0217c958 b _02181478 _02181470: mov r1, #0xe bl func_ov36_0217c958 _02181478: ldr r0, [r4, #0x878] ldr r1, _02181558 ; =data_ov36_02186cd8 orr r2, r0, #0x200000 add r0, r4, #0x158 str r2, [r4, #0x878] bl func_ov36_0217c7e8 mov r2, #0 str r2, [r4, #0x138] add r0, r4, #0x100 ldrsh r1, [r0, #0x20] sub r1, r1, #1 strh r1, [r0, #0x20] ldrsh r0, [r0, #0x20] cmp r0, #2 addeq r0, r4, #0x800 streqh r2, [r0, #0x82] beq _021814c8 cmp r0, #1 addeq r0, r4, #0x800 streqh r2, [r0, #0x84] _021814c8: add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 bgt _021814ec mov r0, r4 mov r1, #0x16 bl func_ov36_0217d6bc add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021814ec: ldr r0, _0218155c ; =data_027e0ffc ldr r1, _02181560 ; =0x000002cb add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _0218155c ; =data_027e0ffc ldr r1, _02181564 ; =0x000001ad add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02181568 ; =data_027e1038 add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020cef10 ldr r0, _02181548 ; =data_027e0f64 mov r1, #2 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_0218108c _02181540: .word data_027e0f74 _02181544: .word data_027e0fb4 _02181548: .word data_027e0f64 _0218154c: .word 0x000004cd _02181550: .word 0x00001e84 _02181554: .word 0x0000038e _02181558: .word data_ov36_02186cd8 _0218155c: .word data_027e0ffc _02181560: .word 0x000002cb _02181564: .word 0x000001ad _02181568: .word data_027e1038 .global func_ov36_0218156c arm_func_start func_ov36_0218156c func_ov36_0218156c: ; 0x0218156c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x118 mov r4, r0 bl func_ov00_020c198c cmp r0, #0 addeq sp, sp, #0x118 mov r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} str r0, [r4, #0x12c] strb r0, [r4, #0x8a7] ldr r0, [r4, #0x878] bic r1, r0, #0x80 bic r0, r1, #0x2000 str r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x158 beq _021815bc mov r1, #0x11 bl func_ov36_0217c958 b _021815c4 _021815bc: mov r1, #0x10 bl func_ov36_0217c958 _021815c4: ldr r1, _02181784 ; =data_ov36_02186cdc add r0, r4, #0x158 bl func_ov36_0217c7e8 mov r1, #0 add r0, sp, #0x68 strb r1, [r4, #0x8a4] bl func_ov00_0209a4f4 mov r1, #3 ldr r0, _02181788 ; =data_027e0f64 mvn r3, #0 mov r2, #0x32 ldr r0, [r0] str r3, [sp, #0x6c] strb r2, [sp, #0x71] strb r1, [sp, #0x72] strb r1, [sp, #0x73] ldr r0, [r0, #4] add r1, sp, #0 bl func_ov00_02087d34 ldr r0, [r4, #0x130] cmp r0, #0x14 bne _0218164c ldr r0, _02181788 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r2, [r0, #4] ldr r0, [r2, #0x26c] str r0, [sp, #0x88] ldr r0, [r2, #0x270] str r0, [sp, #0x8c] ldr r0, [r2, #0x274] str r0, [sp, #0x90] strb r1, [sp, #0x7e] b _0218166c _0218164c: ldr r1, [r4, #0x48] mov r0, #1 str r1, [sp, #0x88] ldr r1, [r4, #0x4c] str r1, [sp, #0x8c] ldr r1, [r4, #0x50] str r1, [sp, #0x90] strb r0, [sp, #0x7e] _0218166c: ldr r0, [sp, #0x10] ldr r8, [sp] ldr r7, [sp, #4] ldr r6, [sp, #8] str r0, [sp, #0xa4] ldr r0, [sp, #0x2c] ldr r1, [sp, #0xc] ldr sl, [sp, #0x14] ldr sb, [sp, #0x18] str r8, [sp, #0x94] ldr r8, [sp, #0x1c] str r7, [sp, #0x98] ldr r7, [sp, #0x20] str r6, [sp, #0x9c] ldr r6, [sp, #0x24] str r0, [sp, #0xc0] ldr r0, [sp, #0x48] str r1, [sp, #0xa0] ldr r1, [sp, #0x28] str sl, [sp, #0xa8] ldr sl, [sp, #0x30] str sb, [sp, #0xac] ldr sb, [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] ldrb r5, [sp, #0x60] ldrb lr, [sp, #0x61] ldrb ip, [sp, #0x62] ldrb r3, [sp, #0x63] ldrb r2, [sp, #0x64] str r0, [sp, #0xdc] ldr r0, _0218178c ; =data_027e0f74 str r1, [sp, #0xbc] ldr r1, [sp, #0x44] str sl, [sp, #0xc4] ldr sl, [sp, #0x4c] str sb, [sp, #0xc8] ldr sb, [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] mov fp, #1 str r1, [sp, #0xd8] ldr r0, [r0] add r1, sp, #0x68 str sl, [sp, #0xe0] str sb, [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] strb fp, [sp, #0x7c] bl func_ov00_02097810 str r0, [r4, #0x66c] add r0, sp, #0x68 bl func_ov00_0209a508 mov r0, fp add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_0218156c _02181784: .word data_ov36_02186cdc _02181788: .word data_027e0f64 _0218178c: .word data_027e0f74 .global func_ov36_02181790 arm_func_start func_ov36_02181790 func_ov36_02181790: ; 0x02181790 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x138] cmp r0, #0x1e bne _021817b0 ldr r1, _021818a0 ; =data_ov36_02186ce0 add r0, r4, #0x158 bl func_ov36_0217c7e8 _021817b0: ldr r0, _021818a4 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _02181848 ldr r0, [r4, #0x168] mov r1, #0x31000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _021817f4 ldr r0, _021818a8 ; =data_027e0ffc ldr r1, _021818ac ; =0x000002c6 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _021817f4: ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _021818a4 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _02181830 ldr r0, _021818a4 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _02181830: mvn r2, #0 add r0, r4, #0x158 mov r1, #1 str r2, [r4, #0x66c] bl func_ov36_0217c958 ldmia sp!, {r4, pc} _02181848: ldr r0, _021818b0 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02089a2c cmp r0, #0 ldmneia sp!, {r4, pc} add r1, r4, #0x800 mov r2, #0x1e strh r2, [r1, #0x7e] mov r0, r4 mov r1, #2 bl func_ov36_0217d6bc ldr r0, [r4, #0x878] tst r0, #0x8000 ldmeqia sp!, {r4, pc} add r0, r4, #0x800 mov r1, #0x3c strh r1, [r0, #0x8c] ldr r0, [r4, #0x878] bic r0, r0, #0x8000 str r0, [r4, #0x878] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02181790 _021818a0: .word data_ov36_02186ce0 _021818a4: .word data_027e0f74 _021818a8: .word data_027e0ffc _021818ac: .word 0x000002c6 _021818b0: .word data_027e0f64 .global func_ov36_021818b4 arm_func_start func_ov36_021818b4 func_ov36_021818b4: ; 0x021818b4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x118 ldr r1, _02181b80 ; =data_027e103c mov r4, r0 ldr r0, [r1] mov r1, #0 bl func_ov00_020cfde4 add r0, r4, #0x2ac add r1, r4, #0x2b4 add r6, r0, #0x400 add r5, r1, #0x400 cmp r6, r5 beq _021818fc _021818e8: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _021818e8 _021818fc: mov r2, #0 ldr r1, _02181b84 ; =data_027e0d0c str r2, [r4, #0x12c] add r0, r4, #0x800 strh r2, [r0, #0x92] ldr r0, [r1] str r0, [r4, #0x60] ldr r0, [r1, #4] str r0, [r4, #0x64] ldr r0, [r1, #8] str r0, [r4, #0x68] ldr r0, [r4, #0x878] bic r0, r0, #0x200000 tst r0, #0x40 movne r1, #0x1a str r0, [r4, #0x878] moveq r1, #0x19 add r0, r4, #0x158 bl func_ov36_0217ca34 ldr r0, _02181b88 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc ldr r0, _02181b8c ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c add r0, sp, #0x68 bl func_ov00_0209a4f4 mov r0, #2 mov r1, #3 mvn r3, #0 mov r2, #0x32 strb r2, [sp, #0x71] str r3, [sp, #0x6c] strb r0, [sp, #0x74] strb r0, [sp, #0x75] strb r1, [sp, #0x72] strb r1, [sp, #0x73] ldr r1, [r4, #0x14] ldr r0, _02181b90 ; =data_027e0f64 str r1, [r4, #0x48] ldr r1, [r4, #0x18] mov r2, #1 str r1, [r4, #0x4c] ldr r3, [r4, #0x1c] add r1, sp, #0 str r3, [r4, #0x50] ldrsh r3, [r4, #0x12] strh r3, [r4, #0x78] ldr r3, [r4, #0x48] ldr r0, [r0] str r3, [sp, #0x88] ldr r3, [r4, #0x4c] str r3, [sp, #0x8c] ldr r3, [r4, #0x50] str r3, [sp, #0x90] strb r2, [sp, #0x7e] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r0, #0 mov r1, #0x1800 sub r6, r1, #0x2800 ldr r5, _02181b94 ; =0x0000038e ldr r3, _02181b98 ; =0x00000dac ldr r2, [sp, #4] str r1, [sp, #0x20] str r1, [sp, #0xb4] mov r1, #0x26000 str r2, [sp, #0x98] ldr r2, [sp, #0x28] str r1, [sp, #0x18] str r1, [sp, #0xac] ldr r1, [sp] str r2, [sp, #0xbc] str r1, [sp, #0x94] ldr r1, [sp, #8] ldr r2, [sp, #0x30] str r1, [sp, #0x9c] ldr r1, [sp, #0x2c] str r2, [sp, #0xc4] str r1, [sp, #0xc0] ldr r1, [sp, #0x34] ldr r2, [sp, #0x38] str r1, [sp, #0xc8] ldr r1, [sp, #0x3c] str r0, [sp, #0x24] str r6, [sp, #0x1c] str r6, [sp, #0xb0] str r2, [sp, #0xcc] str r5, [sp, #0xc] str r3, [sp, #0x10] str r0, [sp, #0x14] str r5, [sp, #0xa0] str r3, [sp, #0xa4] str r0, [sp, #0xa8] str r0, [sp, #0xb8] str r1, [sp, #0xd0] ldr r0, [sp, #0x48] ldr r6, [sp, #0x40] ldrb r5, [sp, #0x60] ldrb lr, [sp, #0x61] ldrb ip, [sp, #0x62] ldrb r3, [sp, #0x63] ldrb r2, [sp, #0x64] str r0, [sp, #0xdc] ldr r0, _02181b88 ; =data_027e0f74 ldr r1, [sp, #0x44] ldr sl, [sp, #0x4c] ldr sb, [sp, #0x50] ldr r8, [sp, #0x54] ldr r7, [sp, #0x58] str r6, [sp, #0xd4] ldr r6, [sp, #0x5c] mov fp, #1 str r1, [sp, #0xd8] ldr r0, [r0] add r1, sp, #0x68 str sl, [sp, #0xe0] str sb, [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] strb fp, [sp, #0x7c] bl func_ov00_02097810 str r0, [r4, #0x66c] ldr r1, [r4, #0x168] mov r2, #0 ldr r0, _02181b9c ; =data_027e0fc8 str r2, [r1, #0x10] ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #1 bne _02181b40 ldr r0, _02181b9c ; =data_027e0fc8 mov r1, #0 ldr r0, [r0] mov r2, fp ldr r3, [r0] ldr r3, [r3, #0x7c] blx r3 _02181b40: ldr r0, _02181ba0 ; =data_027e0f90 mov r1, #0 ldr r0, [r0] bl func_ov00_020a7b10 ldr r1, [r4, #0x6b4] mov r2, #0 strb r2, [r1, #0x11a] ldr r0, _02181ba4 ; =data_027e0e58 mov r1, #1 ldr r0, [r0] bl func_ov00_0207c5d4 add r0, sp, #0x68 bl func_ov00_0209a508 mov r0, #1 add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_021818b4 _02181b80: .word data_027e103c _02181b84: .word data_027e0d0c _02181b88: .word data_027e0f74 _02181b8c: .word data_ov00_020eec68 _02181b90: .word data_027e0f64 _02181b94: .word 0x0000038e _02181b98: .word 0x00000dac _02181b9c: .word data_027e0fc8 _02181ba0: .word data_027e0f90 _02181ba4: .word data_027e0e58 .global func_ov36_02181ba8 arm_func_start func_ov36_02181ba8 func_ov36_02181ba8: ; 0x02181ba8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 ldr r0, [r4, #0x878] tst r0, #0x200000 bne _02181dc8 ldr r1, [r4, #0x168] ldr r0, [r1, #0x10] cmp r0, #0 bne _02181c58 ldr r0, _02181f08 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_0209809c cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} ldr r0, [r4, #0x168] mov r1, #0x1000 str r1, [r0, #0x10] ldr lr, [r4, #0x168] ldr r0, _02181f0c ; =data_027e0ffc ldrh r3, [lr, #0xe] ldr r1, _02181f10 ; =0x000002cb add r2, r4, #0x48 bic ip, r3, #0xc mov r3, #0 strh ip, [lr, #0xe] bl func_ov00_020ceacc ldr r0, _02181f0c ; =data_027e0ffc ldr r1, _02181f14 ; =0x000001ad add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02181f18 ; =data_027e1038 add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020cef10 ldr r0, _02181f1c ; =data_027e0f64 mov r1, #2 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} _02181c58: add r0, r1, #0xc mov r1, #0x4000 bl func_0202e310 cmp r0, #0 beq _02181c94 ldr r0, [r4, #0x878] tst r0, #0x40 mov r0, r4 beq _02181c88 mov r1, #0 bl func_ov36_02185b7c b _02181d40 _02181c88: mov r1, #1 bl func_ov36_02185b7c b _02181d40 _02181c94: ldr r0, [r4, #0x168] mov r1, #0x37000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02181cbc ldr r1, _02181f20 ; =data_ov36_02186ce4 add r0, r4, #0x158 bl func_ov36_0217c7e8 b _02181d40 _02181cbc: ldr r0, [r4, #0x168] mov r1, #0x3f000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02181d40 ldr r0, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] add r0, r0, #0xcd add r0, r0, #0x400 str r1, [sp, #8] str r0, [sp, #0xc] str r2, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02181f24 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x11 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02181f1c ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02181f0c ; =data_027e0ffc ldr r1, _02181f28 ; =0x000002c7 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _02181d40: add r0, r4, #0x158 bl func_ov36_0217cc84 cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} ldr r1, [r4, #0x878] add r0, r4, #0x6c0 orr r1, r1, #0x200000 str r1, [r4, #0x878] blx func_0202ab54 mov r0, #1 mov r1, #0x1e str r0, [r4, #0x6c0] mov r0, #0 str r0, [r4, #0x6c8] mov ip, #2 mov r3, r1 add r0, r4, #0x6c0 mov r2, #0xa str ip, [sp] blx func_0202ac0c ldr r0, _02181f2c ; =data_027e071c add r1, r4, #0x6c0 bl func_0202d77c mov r0, #0 add sp, sp, #0x14 str r0, [r4, #0x138] ldmia sp!, {r3, r4, pc} _02181dc8: ldr r0, _02181f2c ; =data_027e071c bl func_0202d7ac cmp r0, #0 bne _02181e34 ldr r0, _02181f30 ; =data_027e0e60 mov r1, #2 ldr r0, [r0] mov r2, #1 bl func_ov00_02084be0 cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} ldr r0, _02181f24 ; =data_027e0e58 mov r1, #1 ldr r0, [r0] mov r2, r1 bl func_ov00_0207c5d4 mov r0, r4 bl func_ov00_020c198c cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r3, r4, pc} mov r0, r4 mov r1, #0x17 bl func_ov36_0217d6bc add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} _02181e34: ldr r0, _02181f08 ; =data_027e0f74 ldr r1, _02181f34 ; =0x0000011e ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 ldreq r0, [r4, #0x6c0] cmpeq r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} ldr r0, _02181f38 ; =data_027e0f90 mov r1, #1 ldr r0, [r0] bl func_ov00_020a7b10 ldr r0, _02181f24 ; =data_027e0e58 mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_0207c5d4 ldr r0, _02181f08 ; =data_027e0f74 ldr r1, _02181f34 ; =0x0000011e ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c ldr r0, _02181f08 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc mvn r0, #0 str r0, [r4, #0x66c] ldr r0, _02181f34 ; =0x0000011e bl func_ov19_0216e7b0 ldr r0, _02181f30 ; =data_027e0e60 mov r1, #3 ldr r0, [r0] mov r2, r1 bl func_ov00_02084be0 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} ldr r0, _02181f30 ; =data_027e0e60 mov r1, #3 ldr r0, [r0] mov r2, r1 mov r3, #1 bl func_ov00_02084b38 ldr r0, _02181f30 ; =data_027e0e60 mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #1 bl func_ov00_02084b38 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_02181ba8 _02181f08: .word data_027e0f74 _02181f0c: .word data_027e0ffc _02181f10: .word 0x000002cb _02181f14: .word 0x000001ad _02181f18: .word data_027e1038 _02181f1c: .word data_027e0f64 _02181f20: .word data_ov36_02186ce4 _02181f24: .word data_027e0e58 _02181f28: .word 0x000002c7 _02181f2c: .word data_027e071c _02181f30: .word data_027e0e60 _02181f34: .word 0x0000011e _02181f38: .word data_027e0f90 .global func_ov36_02181f3c arm_func_start func_ov36_02181f3c func_ov36_02181f3c: ; 0x02181f3c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x878] mov r1, #3 orr r2, r0, #0x100000 str r2, [r4, #0x878] ldr r0, _02181fc8 ; =data_027e0e60 mov r2, r1 ldr r0, [r0] mov r3, #0 bl func_ov00_02084b38 ldr r0, _02181fc8 ; =data_027e0e60 mov r1, #4 ldr r0, [r0] mov r2, #3 mov r3, #0 bl func_ov00_02084b38 mov r2, #0 ldr r1, _02181fcc ; =data_027e0f64 strb r2, [r4, #0x8aa] ldr r2, [r1] add r0, r4, #0x2e4 add r1, r0, #0x400 ldr r0, [r2, #4] bl func_ov00_02087d34 mov r0, #0 str r0, [r4, #0x700] str r0, [r4, #0x704] str r0, [r4, #0x708] mov r0, #3 strb r0, [r4, #0x8a7] mov r0, #4 strb r0, [r4, #0x8a8] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02181f3c _02181fc8: .word data_027e0e60 _02181fcc: .word data_027e0f64 .global func_ov36_02181fd0 arm_func_start func_ov36_02181fd0 func_ov36_02181fd0: ; 0x02181fd0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x228 mov r4, r0 ldrb r0, [r4, #0x8aa] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02182940 _02181fec: ; jump table b _02181ffc ; case 0 b _021822b4 ; case 1 b _021823d4 ; case 2 b _021825f8 ; case 3 _02181ffc: ldr r0, [r4, #0x138] cmp r0, #1 bne _02182270 add r0, sp, #0x178 bl func_ov00_0209a4f4 mov r0, #2 mvn r2, #0 mov r1, #0x32 str r2, [sp, #0x17c] strb r1, [sp, #0x181] strb r0, [sp, #0x182] strb r0, [sp, #0x183] ldr r2, [r4, #0x50] ldr r1, [r4, #0x4c] ldr r0, [r4, #0x48] add r2, r2, #0x2000 str r0, [r4, #0x844] str r1, [r4, #0x848] str r2, [r4, #0x84c] ldr r0, [r4, #0x844] mov r2, #1 str r0, [sp, #0x198] ldr r0, [r4, #0x848] mov r3, #0x3e8 str r0, [sp, #0x19c] ldr r0, [r4, #0x84c] add r1, r3, #0xfa0 str r0, [sp, #0x1a0] strb r2, [sp, #0x18e] ldr r5, [r4, #0x6e4] mov r0, #0xf000 str r5, [r4, #0x74c] ldr r5, [r4, #0x6e8] str r5, [r4, #0x750] ldr r5, [r4, #0x6ec] str r5, [r4, #0x754] ldr r5, [r4, #0x6f0] str r5, [r4, #0x758] ldr r5, [r4, #0x6f4] str r5, [r4, #0x75c] ldr r5, [r4, #0x6f8] str r5, [r4, #0x760] ldr r5, [r4, #0x6fc] str r5, [r4, #0x764] ldr r5, [r4, #0x700] str r5, [r4, #0x768] ldr r5, [r4, #0x704] str r5, [r4, #0x76c] ldr r5, [r4, #0x708] str r5, [r4, #0x770] ldr r5, [r4, #0x70c] str r5, [r4, #0x774] ldr r5, [r4, #0x710] str r5, [r4, #0x778] ldr r5, [r4, #0x714] str r5, [r4, #0x77c] ldr r5, [r4, #0x718] str r5, [r4, #0x780] ldr r5, [r4, #0x71c] str r5, [r4, #0x784] ldr r5, [r4, #0x720] str r5, [r4, #0x788] ldr r5, [r4, #0x724] str r5, [r4, #0x78c] ldr r5, [r4, #0x728] str r5, [r4, #0x790] ldr r5, [r4, #0x72c] str r5, [r4, #0x794] ldr r5, [r4, #0x730] str r5, [r4, #0x798] ldr r5, [r4, #0x734] str r5, [r4, #0x79c] ldr r5, [r4, #0x738] str r5, [r4, #0x7a0] ldr r5, [r4, #0x73c] str r5, [r4, #0x7a4] ldr r5, [r4, #0x740] str r5, [r4, #0x7a8] ldrb r5, [r4, #0x744] strb r5, [r4, #0x7ac] ldrb r5, [r4, #0x745] strb r5, [r4, #0x7ad] ldrb r5, [r4, #0x746] strb r5, [r4, #0x7ae] ldrb r5, [r4, #0x747] strb r5, [r4, #0x7af] ldrb r5, [r4, #0x748] strb r5, [r4, #0x7b0] str r3, [r4, #0x758] str r1, [r4, #0x75c] str r0, [r4, #0x764] ldr r0, [r4, #0x74c] str r0, [sp, #0x1a4] ldr r0, [r4, #0x750] str r0, [sp, #0x1a8] ldr r0, [r4, #0x754] str r0, [sp, #0x1ac] ldr r0, [r4, #0x758] str r0, [sp, #0x1b0] ldr r1, [r4, #0x75c] ldr r0, _02182948 ; =data_027e0f74 str r1, [sp, #0x1b4] ldr r1, [r4, #0x760] ldr r0, [r0] str r1, [sp, #0x1b8] ldr r3, [r4, #0x764] add r1, sp, #0x178 str r3, [sp, #0x1bc] ldr r3, [r4, #0x768] str r3, [sp, #0x1c0] ldr r3, [r4, #0x76c] str r3, [sp, #0x1c4] ldr r3, [r4, #0x770] str r3, [sp, #0x1c8] ldr r3, [r4, #0x774] str r3, [sp, #0x1cc] ldr r3, [r4, #0x778] str r3, [sp, #0x1d0] ldr r3, [r4, #0x77c] str r3, [sp, #0x1d4] ldr r3, [r4, #0x780] str r3, [sp, #0x1d8] ldr r3, [r4, #0x784] str r3, [sp, #0x1dc] ldr r3, [r4, #0x788] str r3, [sp, #0x1e0] ldr r3, [r4, #0x78c] str r3, [sp, #0x1e4] ldr r3, [r4, #0x790] str r3, [sp, #0x1e8] ldr r3, [r4, #0x794] str r3, [sp, #0x1ec] ldr r3, [r4, #0x798] str r3, [sp, #0x1f0] ldr r3, [r4, #0x79c] str r3, [sp, #0x1f4] ldr r3, [r4, #0x7a0] str r3, [sp, #0x1f8] ldr r3, [r4, #0x7a4] str r3, [sp, #0x1fc] ldr r3, [r4, #0x7a8] str r3, [sp, #0x200] ldrb r3, [r4, #0x7ac] strb r3, [sp, #0x204] ldrb r3, [r4, #0x7ad] strb r3, [sp, #0x205] ldrb r3, [r4, #0x7ae] strb r3, [sp, #0x206] ldrb r3, [r4, #0x7af] strb r3, [sp, #0x207] ldrb r3, [r4, #0x7b0] strb r3, [sp, #0x208] strb r2, [sp, #0x18c] bl func_ov00_02097810 str r0, [r4, #0x66c] add r0, sp, #0x178 bl func_ov00_0209a508 _02182270: ldr r0, _02182948 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 addeq sp, sp, #0x228 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, _0218294c ; =data_027e0f90 mov r1, #0 ldr r0, [r0] bl func_ov00_020a7b10 mov r0, #1 strb r0, [r4, #0x8aa] mov r0, #0 add sp, sp, #0x228 str r0, [r4, #0x138] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021822b4: ldr r0, [r4, #0x138] ldr r1, [r4, #0x50] rsb r0, r0, #0x3c mov r5, r0, lsl #0xc add r0, r4, #0x44 sub r7, r1, #0x800 ldr r6, [r4, #0x4c] ldr r3, [r4, #0x48] add r1, sp, #0x54 mov r2, r5 add r0, r0, #0x800 str r3, [sp, #0x54] str r6, [sp, #0x58] str r7, [sp, #0x5c] bl func_0202b308 cmp r5, #0x1000 movle r0, #0x3e8 ble _02182314 ldr r0, [r4, #0x758] mov r1, r5 rsb r0, r0, #0x3e8 bl func_01ff98e0 ldr r1, [r4, #0x758] add r0, r1, r0 _02182314: str r0, [r4, #0x758] cmp r5, #0x1000 ldr r0, _02182950 ; =0x00000bb8 ble _0218233c ldr r2, [r4, #0x75c] mov r1, r5 sub r0, r0, r2 bl func_01ff98e0 ldr r1, [r4, #0x75c] add r0, r1, r0 _0218233c: str r0, [r4, #0x75c] cmp r5, #0x1000 movle r0, #0xa000 ble _02182364 ldr r0, [r4, #0x764] mov r1, r5 rsb r0, r0, #0xa000 bl func_01ff98e0 ldr r1, [r4, #0x764] add r0, r1, r0 _02182364: str r0, [r4, #0x764] ldr r0, [r4, #0x844] mov r1, #0 str r0, [sp, #0x20] ldr r0, [r4, #0x848] add r2, r4, #0x34c str r0, [sp, #0x24] ldr r3, [r4, #0x84c] ldr r0, _02182954 ; =data_027e0f64 str r3, [sp, #0x28] str r1, [sp] str r1, [sp, #4] ldr r0, [r0] add r3, r2, #0x400 ldr r0, [r0, #4] add r1, sp, #0x20 mov r2, #2 bl func_ov00_02089318 ldr r0, [r4, #0x138] cmp r0, #0x3c addlt sp, sp, #0x228 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, #2 strb r0, [r4, #0x8aa] mov r0, #0 add sp, sp, #0x228 str r0, [r4, #0x138] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021823d4: ldr r0, [r4, #0x138] cmp r0, #0xf bne _021823ec ldr r1, _02182958 ; =data_ov36_02186ce8 add r0, r4, #0x158 bl func_ov36_0217c7e8 _021823ec: ldr r0, [r4, #0x138] cmp r0, #0x1e addlt sp, sp, #0x228 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, _0218295c ; =data_ov00_020eec68 mov r1, #0xca mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 mov r0, #3 strb r0, [r4, #0x8aa] mov r0, #0 str r0, [r4, #0x138] ldr r0, _02182948 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc add r0, sp, #0xc8 bl func_ov00_0209a4f4 mov r1, #2 mvn r3, #0 mov r2, #0x32 add r0, r4, #0x2e4 str r3, [sp, #0xcc] strb r2, [sp, #0xd1] strb r1, [sp, #0xd2] strb r1, [sp, #0xd3] ldr r3, [r4, #0x50] ldr r1, [r4, #0x4c] ldr r2, [r4, #0x48] add r5, r3, #0x800 add r3, r1, #0x1000 mov r1, #1 str r5, [sp, #0xf0] add r6, sp, #0x60 str r2, [sp, #0xe8] str r3, [sp, #0xec] strb r1, [sp, #0xde] add r7, r0, #0x400 mov r5, #6 _0218248c: ldmia r7!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0218248c ldmia r7, {r0, r1} stmia r6, {r0, r1} ldrb r1, [sp, #0xc0] ldr r5, [sp, #0x60] mov lr, #0x3e8 strb r1, [sp, #0x154] ldr r1, [sp, #0x64] str r5, [sp, #0xf4] ldr r5, [sp, #0x68] str r1, [sp, #0xf8] ldr r1, [sp, #0x7c] str r5, [sp, #0xfc] ldr r5, [sp, #0x80] str r1, [sp, #0x110] ldr r1, [sp, #0x84] str r5, [sp, #0x114] ldr r5, [sp, #0x88] str r1, [sp, #0x118] ldr r1, [sp, #0x8c] str r5, [sp, #0x11c] mov ip, #0xfa0 mov r3, #0 mov r2, #0x19000 ldr r5, [sp, #0x90] str r1, [sp, #0x120] ldr r1, [sp, #0x94] str r5, [sp, #0x124] ldr r5, [sp, #0x98] str r1, [sp, #0x128] ldr r1, [sp, #0x9c] str r5, [sp, #0x12c] ldr r5, [sp, #0xa0] str r1, [sp, #0x130] ldr r1, [sp, #0xa4] str r5, [sp, #0x134] ldr r5, [sp, #0xa8] str r1, [sp, #0x138] ldr r1, [sp, #0xac] str r5, [sp, #0x13c] ldr r5, [sp, #0xb0] str r1, [sp, #0x140] ldr r1, [sp, #0xb4] ldrb sb, [sp, #0xc1] ldrb r8, [sp, #0xc2] ldrb r7, [sp, #0xc3] ldrb r6, [sp, #0xc4] ldr r0, _02182948 ; =data_027e0f74 str r5, [sp, #0x144] ldr r5, [sp, #0xb8] str r1, [sp, #0x148] ldr r1, [sp, #0xbc] str r5, [sp, #0x14c] mov r5, #1 str r1, [sp, #0x150] ldr r0, [r0] add r1, sp, #0xc8 strb sb, [sp, #0x155] str lr, [sp, #0x6c] str ip, [sp, #0x70] str r3, [sp, #0x74] str r2, [sp, #0x78] str lr, [sp, #0x100] str ip, [sp, #0x104] str r3, [sp, #0x108] str r2, [sp, #0x10c] strb r8, [sp, #0x156] strb r7, [sp, #0x157] strb r6, [sp, #0x158] strb r5, [sp, #0xdc] bl func_ov00_02097810 str r0, [r4, #0x66c] ldr r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x158 beq _021825d4 mov r1, #0x11 bl func_ov36_0217ca34 b _021825dc _021825d4: mov r1, #0x10 bl func_ov36_0217ca34 _021825dc: ldr r1, [r4, #0x878] add r0, sp, #0xc8 bic r1, r1, #0x200000 str r1, [r4, #0x878] bl func_ov00_0209a508 add sp, sp, #0x228 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021825f8: ldr r0, [r4, #0x878] tst r0, #0x200000 ldr r0, [r4, #0x168] bne _02182654 add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x228 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r0, r4, #0x158 mov r1, #0x1f bl func_ov36_0217c958 ldr r0, [r4, #0x580] mov r1, #0x1000 str r1, [r0, #0x10] ldr r1, [r4, #0x878] add r0, r4, #0x800 orr r1, r1, #0x200000 str r1, [r4, #0x878] mov r1, #5 strh r1, [r0, #0x7c] add sp, sp, #0x228 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02182654: mov r1, #0x6f000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0218278c ldr r0, [r4, #0x878] ldr r2, _02182960 ; =0x00000333 orr r0, r0, #0x400000 str r0, [r4, #0x878] sub r0, r2, #0x800 rsb r1, r2, #0x2000 str r0, [sp, #0x50] str r2, [sp, #0x48] str r1, [sp, #0x4c] ldrsh r1, [r4, #0x78] add r0, sp, #0x48 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x48 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 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182964 ; =data_027e0e58 ldr r1, _02182968 ; =0x00001001 ldr r0, [r0] add r2, sp, #0x48 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02182964 ; =data_027e0e58 ldr r1, _0218296c ; =0x00001002 ldr r0, [r0] add r2, sp, #0x48 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02182970 ; =data_027e0ffc ldr r1, _02182974 ; =0x000002d1 add r2, sp, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 str r0, [sp, #0x48] ldr r0, _02182978 ; =0xfffffb33 ldr r1, _0218297c ; =0x0000199a str r0, [sp, #0x50] str r1, [sp, #0x4c] ldrsh r1, [r4, #0x78] add r0, sp, #0x48 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x48 str r1, [sp, #8] ldr r2, [r4, #0x4c] add r1, sp, #8 str r2, [sp, #0xc] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02182964 ; =data_027e0e58 ldr r1, _02182980 ; =0x00001003 ldr r0, [r0] add r2, sp, #0x48 mov r3, #2 bl func_ov00_0207c1b0 _0218278c: ldr r0, [r4, #0x168] mov r1, #0x70000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _021827bc ldr r0, _02182954 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 b _021827e8 _021827bc: ldr r0, [r4, #0x168] mov r1, #0x92000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _021827e8 ldr r0, _02182970 ; =data_027e0ffc ldr r1, _02182984 ; =0x000002c2 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _021827e8: ldr r0, [r4, #0x168] ldr r0, [r0, #0x14] cmp r0, #0x70000 blt _02182808 cmp r0, #0x93000 ble _02182834 cmp r0, #0xe3000 bge _02182834 _02182808: add r0, r4, #0x800 ldrsh r1, [r0, #0x7c] cmp r1, #0 bne _02182834 mov r2, #5 ldr r1, _02182954 ; =data_027e0f64 strh r2, [r0, #0x7c] ldr r0, [r1] mov r1, #0xd ldr r0, [r0, #4] bl func_ov00_02088000 _02182834: ldr r0, [r4, #0x168] mov r1, #0xe3000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _0218287c ldr r0, _02182954 ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02182970 ; =data_027e0ffc ldr r1, _02182988 ; =0x000002cd add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r4 bl func_ov36_02185eb8 _0218287c: ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 addeq sp, sp, #0x228 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, _02182948 ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc mvn r1, #0 str r1, [r4, #0x66c] ldr r0, _0218294c ; =data_027e0f90 mov r1, #1 ldr r0, [r0] bl func_ov00_020a7b10 mov r3, #0 mov r0, #0xff add r2, sp, #0x2c str r3, [sp, #0x2c] strb r0, [sp, #0x30] strh r3, [sp, #0x40] strh r3, [sp, #0x42] mov r1, r3 _021828dc: add r0, r2, r3, lsl #1 add r3, r3, #1 strh r1, [r0, #0x18] cmp r3, #2 blo _021828dc ldr r0, _0218298c ; =data_027e0e60 add r2, sp, #0x2c ldr r0, [r0] mov r1, #0x5b bl func_ov00_02083918 cmp r0, #0 beq _02182934 ldr r0, _0218298c ; =data_027e0e60 ldrb r1, [sp, #0x30] ldr r0, [r0] mov r2, #0 bl func_ov00_02083948 ldr r0, _02182954 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_0208726c _02182934: mov r0, r4 mov r1, #2 bl func_ov36_0217d6bc _02182940: add sp, sp, #0x228 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov36_02181fd0 _02182948: .word data_027e0f74 _0218294c: .word data_027e0f90 _02182950: .word 0x00000bb8 _02182954: .word data_027e0f64 _02182958: .word data_ov36_02186ce8 _0218295c: .word data_ov00_020eec68 _02182960: .word 0x00000333 _02182964: .word data_027e0e58 _02182968: .word 0x00001001 _0218296c: .word 0x00001002 _02182970: .word data_027e0ffc _02182974: .word 0x000002d1 _02182978: .word 0xfffffb33 _0218297c: .word 0x0000199a _02182980: .word 0x00001003 _02182984: .word 0x000002c2 _02182988: .word 0x000002cd _0218298c: .word data_027e0e60 .global func_ov36_02182990 arm_func_start func_ov36_02182990 func_ov36_02182990: ; 0x02182990 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x124 ldr r1, _02182c64 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] mov r1, #0 bl func_ov00_02083958 ldr r0, _02182c68 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_0208726c add r0, r4, #0x2ac add r1, r4, #0x2b4 add r6, r0, #0x400 add r5, r1, #0x400 cmp r6, r5 beq _021829ec _021829d8: mov r0, r6 bl func_ov00_020b7e6c add r6, r6, #4 cmp r6, r5 bne _021829d8 _021829ec: ldr r0, _02182c6c ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x2cc mov r3, #0 bl func_ov00_020ceacc ldr r0, _02182c70 ; =data_027e0fc8 ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] blx r1 ldr r0, _02182c74 ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c ldr r2, _02182c78 ; =data_027e0d0c add r0, r4, #0x158 ldr r3, [r2] mov r1, #0x1c str r3, [r4, #0x60] ldr r3, [r2, #4] str r3, [r4, #0x64] ldr r2, [r2, #8] str r2, [r4, #0x68] ldr r2, [r4, #0x878] bic r2, r2, #0x200000 str r2, [r4, #0x878] bl func_ov36_0217ca34 ldr r0, _02182c7c ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _02182a7c ldr r0, _02182c7c ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _02182a7c: mvn r1, #0 add r0, sp, #0x74 str r1, [r4, #0x66c] bl func_ov00_0209a4f4 mov r1, #3 mov r0, #2 mvn r3, #0 mov r2, #0x32 str r3, [sp, #0x78] strb r2, [sp, #0x7d] strb r1, [sp, #0x7e] strb r1, [sp, #0x7f] strb r0, [sp, #0x80] strb r0, [sp, #0x81] ldr r0, [r4, #0x14] add r6, sp, #0 str r0, [r4, #0x48] ldr r1, [r4, #0x18] add r0, r4, #0x48 str r1, [r4, #0x4c] ldr r1, [r4, #0x1c] ldr r3, _02182c68 ; =data_027e0f64 str r1, [r4, #0x50] ldrsh r1, [r4, #0x12] mov r5, #1 strh r1, [r4, #0x78] ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r6, [sp] ldr r2, [sp, #4] ldr r1, [sp, #8] ldr r0, [r3] str r1, [sp, #0x9c] str r6, [sp, #0x94] str r2, [sp, #0x98] strb r5, [sp, #0x8a] ldr r0, [r0, #4] add r1, sp, #0xc bl func_ov00_02087d34 mov r5, #0 mov r3, #0x1800 ldr r1, _02182c80 ; =0x0000038e ldr r0, _02182c84 ; =0x00000dac sub r2, r3, #0x2800 mov r6, #0x26000 ldr r7, [sp, #0xc] ldr r8, [sp, #0x10] str r7, [sp, #0xa0] ldr r7, [sp, #0x14] str r8, [sp, #0xa4] ldr r8, [sp, #0x34] str r7, [sp, #0xa8] ldr r7, [sp, #0x38] str r8, [sp, #0xc8] ldr r8, [sp, #0x3c] str r7, [sp, #0xcc] ldr r7, [sp, #0x40] str r8, [sp, #0xd0] ldr r8, [sp, #0x44] str r7, [sp, #0xd4] ldr r7, [sp, #0x48] str r8, [sp, #0xd8] ldr r8, [sp, #0x4c] str r7, [sp, #0xdc] ldr r7, [sp, #0x50] str r8, [sp, #0xe0] ldr r8, [sp, #0x54] str r7, [sp, #0xe4] ldr r7, [sp, #0x58] str r8, [sp, #0xe8] str r6, [sp, #0x24] str r5, [sp, #0x30] str r3, [sp, #0x2c] str r2, [sp, #0x28] str r1, [sp, #0x18] str r0, [sp, #0x1c] str r5, [sp, #0x20] str r1, [sp, #0xac] str r0, [sp, #0xb0] str r5, [sp, #0xb4] str r6, [sp, #0xb8] str r2, [sp, #0xbc] str r3, [sp, #0xc0] str r5, [sp, #0xc4] str r7, [sp, #0xec] ldrb r6, [sp, #0x6c] ldrb r5, [sp, #0x6d] ldrb lr, [sp, #0x6e] ldrb ip, [sp, #0x6f] ldrb r3, [sp, #0x70] ldr r0, _02182c7c ; =data_027e0f74 ldr sl, [sp, #0x5c] ldr sb, [sp, #0x60] ldr r8, [sp, #0x64] ldr r7, [sp, #0x68] mov r2, #1 ldr r0, [r0] add r1, sp, #0x74 str sl, [sp, #0xf0] str sb, [sp, #0xf4] str r8, [sp, #0xf8] str r7, [sp, #0xfc] strb r6, [sp, #0x100] strb r5, [sp, #0x101] strb lr, [sp, #0x102] strb ip, [sp, #0x103] strb r3, [sp, #0x104] strb r2, [sp, #0x88] bl func_ov00_02097810 str r0, [r4, #0x66c] mov r0, r4 bl func_ov00_020c1b18 mvn r1, #0 str r1, [r4, #0x88] add r0, sp, #0x74 add r1, r4, #0x100 mov r2, #0 strh r2, [r1, #0x20] bl func_ov00_0209a508 mov r0, #1 add sp, sp, #0x124 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov36_02182990 _02182c64: .word data_027e0e60 _02182c68: .word data_027e0f64 _02182c6c: .word data_027e0ffc _02182c70: .word data_027e0fc8 _02182c74: .word data_ov00_020eec68 _02182c78: .word data_027e0d0c _02182c7c: .word data_027e0f74 _02182c80: .word 0x0000038e _02182c84: .word 0x00000dac .global func_ov36_02182c88 arm_func_start func_ov36_02182c88 func_ov36_02182c88: ; 0x02182c88 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 ldr r1, _02182df4 ; =data_027e0f90 mov r4, r0 ldr r0, [r1] mov r1, #0 bl func_ov00_020a7b10 ldr r0, [r4, #0x168] ldr r0, [r0, #0x14] cmp r0, #0xa8000 bne _02182d20 ldr r0, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] add r0, r0, #0xcd add r0, r0, #0x400 str r1, [sp, #8] str r0, [sp, #0xc] str r2, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182df8 ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x11 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _02182dfc ; =data_027e0f64 mov r1, #1 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02182e00 ; =data_027e0ffc ldr r1, _02182e04 ; =0x000002c7 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc _02182d20: ldr r0, [r4, #0x168] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02182de4 ldr r0, [r4, #0x580] mov r1, #0 str r1, [r0, #0x10] str r1, [sp] ldr r3, [r4, #8] ldr r0, _02182e00 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x30c bl func_ov00_020cec60 ldr r0, [r4, #0x138] cmp r0, #0x3c bgt _02182d94 mov r0, r0, lsl #0xc rsb r0, r0, #0x3c000 mov r1, #0x3c000 bl func_01ff98e0 rsb r2, r0, #0x1000 mov r0, r4 str r2, [r4, #0x8e4] add r1, r4, #0x1000 str r2, [r1, #0x9ec] bl func_ov36_02185b18 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} _02182d94: cmp r0, #0x78 bgt _02182dbc ldr r2, _02182e08 ; =0x0000019a mov r0, r4 str r2, [r4, #0x8ec] add r1, r4, #0x1000 str r2, [r1, #0x9f4] bl func_ov36_02185b18 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} _02182dbc: ldr r0, _02182e0c ; =data_027e0fc8 ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] blx r1 mov r0, r4 mov r1, #0x19 bl func_ov36_0217d6bc add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} _02182de4: mov r0, #0 str r0, [r4, #0x138] add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_02182c88 _02182df4: .word data_027e0f90 _02182df8: .word data_027e0e58 _02182dfc: .word data_027e0f64 _02182e00: .word data_027e0ffc _02182e04: .word 0x000002c7 _02182e08: .word 0x0000019a _02182e0c: .word data_027e0fc8 .global func_ov36_02182e10 arm_func_start func_ov36_02182e10 func_ov36_02182e10: ; 0x02182e10 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 mov r4, r0 ldr r0, [r4, #0x4c] ldr r2, [r4, #0x50] ldr r1, [r4, #0x48] add r0, r0, #0xcd add r0, r0, #0xc00 str r1, [sp, #8] str r0, [sp, #0xc] str r2, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182f64 ; =data_027e0e58 ldr r1, _02182f68 ; =0x0000100f ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182f64 ; =data_027e0e58 ldr r1, _02182f6c ; =0x00001010 ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02182f64 ; =data_027e0e58 ldr r1, _02182f70 ; =0x0000100e ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02182f64 ; =data_027e0e58 ldr r1, _02182f74 ; =0x00001011 ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02182f64 ; =data_027e0e58 ldr r1, _02182f78 ; =0x00001012 ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02182f64 ; =data_027e0e58 ldr r1, _02182f7c ; =0x00001013 ldr r0, [r0] add r2, sp, #8 mov r3, #2 bl func_ov00_0207c1b0 ldr r5, _02182f64 ; =data_027e0e58 mov r6, #0 add r7, r4, #0x670 _02182f20: ldr r0, [r5] mov r1, r7 bl func_ov00_0207c444 add r6, r6, #1 cmp r6, #3 add r7, r7, #0xc blt _02182f20 ldr r0, _02182f80 ; =data_027e0ffc ldr r1, _02182f84 ; =0x0000030d add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 strb r0, [r4, #0x11a] mov r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_02182e10 _02182f64: .word data_027e0e58 _02182f68: .word 0x0000100f _02182f6c: .word 0x00001010 _02182f70: .word 0x0000100e _02182f74: .word 0x00001011 _02182f78: .word 0x00001012 _02182f7c: .word 0x00001013 _02182f80: .word data_027e0ffc _02182f84: .word 0x0000030d .global func_ov36_02182f88 arm_func_start func_ov36_02182f88 func_ov36_02182f88: ; 0x02182f88 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r2, _02183064 ; =0x0000099a mov r3, #0 sub r1, r2, #0x1000 mov r4, r0 str r3, [sp, #0xc] str r2, [sp, #0x10] str r1, [sp, #0x14] ldrsh r1, [r4, #0x78] add r0, sp, #0xc bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0xc str r1, [sp] ldr r2, [r4, #0x4c] add r1, sp, #0 str r2, [sp, #4] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] bl func_01ff9bc4 ldr r0, _02183068 ; =data_027e0e58 add r1, r4, #0x294 ldr r0, [r0] add r2, sp, #0xc add r1, r1, #0x400 bl func_ov00_0207c474 ldr r0, [r4, #0x138] cmp r0, #0x3c addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} ldr r0, _0218306c ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 beq _02183030 ldr r0, _0218306c ; =data_027e0f74 ldr r1, [r4, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _02183030: mvn r1, #0 ldr r0, _0218306c ; =data_027e0f74 str r1, [r4, #0x66c] ldr r0, [r0] mov r1, #0xe bl func_ov00_02097968 ldr r1, [r4, #0x6b8] mov r2, #0 mov r0, r4 strb r2, [r1, #0x118] bl func_ov00_020c3180 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02182f88 _02183064: .word 0x0000099a _02183068: .word data_027e0e58 _0218306c: .word data_027e0f74 .global func_ov36_02183070 arm_func_start func_ov36_02183070 func_ov36_02183070: ; 0x02183070 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r3, r2, lsl #0x9 cmp r3, #0 movle r6, #0 ble _021830d0 ldr ip, _021830e4 ; =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 r3, #0 beq _021830d0 mov r4, #0 umull lr, ip, r6, r3 mla ip, r6, r4, ip mla ip, r4, r3, ip mov r6, ip _021830d0: rsb r2, r2, r6, asr #8 add r1, r1, r2 add r0, r0, #0x800 strh r1, [r0, #0x8e] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_02183070 _021830e4: .word data_027e0764 .global func_ov36_021830e8 arm_func_start func_ov36_021830e8 func_ov36_021830e8: ; 0x021830e8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x878] tst r0, #0x100000 ldr r0, _021831fc ; =data_027e0fc8 moveq r4, #1 ldr r0, [r0] movne r4, #0 bl func_ov00_020bc46c cmp r4, r0 bne _021831f4 mov r0, r5 bl func_ov00_020c28ec mov r4, r0 cmp r4, #0x14000 bge _021831f4 ldr r0, [r5, #0x878] tst r0, #0x100000 bne _0218314c cmp r4, #0xa000 ble _0218314c add r0, r5, #0x800 ldrsh r1, [r0, #0xa0] add r1, r1, #1 strh r1, [r0, #0xa0] _0218314c: mov r0, r5 bl func_ov00_020c2974 ldrsh r2, [r5, #0x78] ldr r1, _02183200 ; =0x00001555 sub r0, r0, r2 mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 mov r2, r0, asr #0x10 addle r0, r5, #0x800 strleh r1, [r0, #0x90] ble _02183198 rsb r0, r1, #0 cmp r2, r0 addgt r0, r5, #0x800 strgth r2, [r0, #0x90] bgt _02183198 rsb r1, r1, #0 add r0, r5, #0x800 strh r1, [r0, #0x90] _02183198: cmp r2, #0 rsblt r2, r2, #0 cmp r2, #0x1f40 bge _021831dc add r0, r5, #0x800 ldrsh r1, [r0, #0xa0] mov r0, #3 cmp r1, #0x5a movge r0, #2 bge _021831c8 cmp r4, #0xa000 movlt r0, #1 _021831c8: add r1, r5, #0x800 ldrsh r1, [r1, #0x7e] cmp r1, #0 movne r0, #3 ldmia sp!, {r3, r4, r5, pc} _021831dc: cmp r4, #0xa000 movlt r0, #3 ldmltia sp!, {r3, r4, r5, pc} add r0, r5, #0x800 mov r1, #0 strh r1, [r0, #0x90] _021831f4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_021830e8 _021831fc: .word data_027e0fc8 _02183200: .word 0x00001555 .global func_ov36_02183204 arm_func_start func_ov36_02183204 func_ov36_02183204: ; 0x02183204 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r1, [r5, #0x878] tst r1, #0x100000 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} add r1, r5, #0x800 ldrsh r1, [r1, #0x88] cmp r1, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, #8 bl func_ov00_020c1fc8 cmp r0, #0 beq _021834e8 mov r0, r5 bl func_ov00_020c2974 mov r4, r0 add r1, r4, #0x8000 add r0, r5, #0x800 strh r1, [r0, #0x9a] ldrsh r0, [r5, #0x78] ldr r1, [r5, #0x130] sub r0, r4, r0 mov r0, r0, lsl #0x10 cmp r1, #0xf mov r0, r0, asr #0x10 beq _02183360 cmp r0, #0 rsblt r0, r0, #0 cmp r0, #0x1f40 bge _02183360 ldr r0, _021834f0 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bcc78 cmp r0, #0 beq _021832f4 strh r4, [r5, #0x78] ldr r0, [r5, #0x878] tst r0, #0x1000 addeq r0, r5, #0x800 ldreqsh r0, [r0, #0x8c] cmpeq r0, #0 bne _021832c4 mov r0, r5 mov r1, #0xd bl func_ov36_0217d6bc b _021832e0 _021832c4: ldr r0, [r5, #0x85c] cmp r0, #0 bne _021832e0 ldr r0, [r5, #0x130] cmp r0, #4 ldrne r0, _021834f4 ; =0x00000333 strne r0, [r5, #0x85c] _021832e0: mov r0, r5 mov r1, #1 mov r2, #0 bl func_ov36_021856cc b _02183338 _021832f4: ldr r0, [r5, #0x878] tst r0, #0x1000 addeq r0, r5, #0x800 ldreqsh r0, [r0, #0x8c] cmpeq r0, #0 bne _02183328 ldr r0, [r5, #0x130] cmp r0, #0xd beq _02183328 mov r0, r5 mov r1, #0xd strh r4, [r5, #0x78] bl func_ov36_0217d6bc _02183328: mov r1, #0 mov r0, r5 mov r2, r1 bl func_ov36_021856cc _02183338: ldr r0, _021834f8 ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x2c8 mov r3, #0 bl func_ov00_020ceacc add r0, r5, #0x800 mov r1, #0xa strh r1, [r0, #0x88] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02183360: ldr r1, _021834fc ; =data_027e0fa0 ldr r0, [r1] ldr r1, [r1, #8] bl func_01ffa0f4 add r1, r5, #0x800 ldrsh r1, [r1, #0x9a] mov r0, r0, lsl #0x10 sub r0, r1, r0, asr #16 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 ldr r0, _02183500 ; =0x00002aab rsbmi r1, r1, #0 cmp r1, r0 ble _021833c4 mov r1, #0 mov r0, r5 mov r2, r1 bl func_ov36_021856cc ldr r0, _021834f8 ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x2c8 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _021833c4: ldr r0, _021834f0 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bcc78 cmp r0, #0 bne _02183420 ldr r0, [r5, #0x130] cmp r0, #0xf beq _021833f4 ldr r0, [r5, #0x85c] cmp r0, #0 ldreq r0, _021834f4 ; =0x00000333 streq r0, [r5, #0x85c] _021833f4: mov r1, #0 mov r0, r5 mov r2, r1 bl func_ov36_021856cc ldr r0, _021834f8 ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x2c8 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02183420: ldr r0, [r5, #0x878] mov r1, #1 tst r0, #0x1000 addeq r3, r5, #0x800 ldreqsh r0, [r3, #0x8c] cmpeq r0, #0 beq _02183474 ldr r0, [r5, #0x85c] mov r2, #0 cmp r0, #0 ldreq r0, _021834f4 ; =0x00000333 streq r0, [r5, #0x85c] mov r0, r5 bl func_ov36_021856cc ldr r0, _021834f8 ; =data_027e0ffc add r2, r5, #0x48 mov r1, #0x2c8 mov r3, #0 bl func_ov00_020ceacc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02183474: ldrb r2, [r5, #0x8a4] mov r0, r5 mov r4, r2, lsl #0xd mov r2, r4, asr #0x1 add r2, r4, r2, lsr #30 mov r4, r2, asr #0x2 mov r2, r1 strh r4, [r3, #0x92] bl func_ov36_021856cc ldrb r2, [r5, #0x8a4] add r0, r5, #0x800 mov r1, #0 add r2, r2, #1 strb r2, [r5, #0x8a4] strh r1, [r0, #0xa2] ldrb r0, [r5, #0x8a4] cmp r0, #5 mov r0, r5 bhs _021834cc mov r1, #0xf bl func_ov36_0217d6bc b _021834d4 _021834cc: mov r1, #0x12 bl func_ov36_0217d6bc _021834d4: add r0, r5, #0x800 mov r1, #0xa strh r1, [r0, #0x88] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _021834e8: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_02183204 _021834f0: .word data_027e0fc8 _021834f4: .word 0x00000333 _021834f8: .word data_027e0ffc _021834fc: .word data_027e0fa0 _02183500: .word 0x00002aab .global func_ov36_02183504 arm_func_start func_ov36_02183504 func_ov36_02183504: ; 0x02183504 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14c mov r5, r0 ldr r1, [r5, #0x810] mvn r0, #0 cmp r1, r0 bne _0218354c ldr r1, _02183a08 ; =data_027e0fe4 ldr r2, _02183a0c ; =0x424d5459 ldr r1, [r1] add r0, sp, #8 bl func_ov00_020c3894 ldr r0, [sp, #8] str r0, [r5, #0x810] ldr r0, [sp, #0xc] add sp, sp, #0x14c str r0, [r5, #0x814] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0218354c: ldr r0, _02183a08 ; =data_027e0fe4 add r1, r5, #0x810 ldr r0, [r0] bl func_ov00_020c3674 movs r4, r0 beq _021839f4 add r0, r5, #0x48 add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r5, #0x78] ldr r2, _02183a10 ; =data_02050f54 mov r0, #0x800 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 mov r1, r6, lsl #0x1 ldrsh r3, [r2, r1] add r1, r6, #1 mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] mov r1, r3, asr #0x1f mov r6, r1, lsl #0xd mov r1, r2, asr #0x1f mov r1, r1, lsl #0xd orr r6, r6, r3, lsr #19 adds r7, r0, r3, lsl #13 adc r6, r6, #0 adds r3, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 mov r2, r7, lsr #0xc adc r0, r1, #0 mov r1, r3, lsr #0xc orr r2, r2, r6, lsl #20 ldr r3, [sp, #0x28] orr r1, r1, r0, lsl #20 add r3, r3, r2 ldr r2, [sp, #0x30] str r3, [sp, #0x28] add r0, r2, r1 str r0, [sp, #0x30] ldrb r0, [r5, #0x8a6] mov r6, #0 cmp r0, #0 beq _02183614 cmp r0, #1 beq _021838fc cmp r0, #2 beq _0218397c add sp, sp, #0x14c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02183614: mov r0, r4 bl func_ov14_02125038 cmp r0, #0 addeq sp, sp, #0x14c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, sp, #0x28 add r1, r4, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x1000 addge sp, sp, #0x14c ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r5 bl func_ov00_020c198c cmp r0, #0 addeq sp, sp, #0x14c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, sp, #0x9c bl func_ov00_0209a4f4 mvn r6, #0 mov r3, #0x32 mov r2, #2 mov r1, #3 ldr r0, _02183a14 ; =data_027e0f64 str r6, [sp, #0xa0] strb r3, [sp, #0xa5] strb r2, [sp, #0xa6] strb r1, [sp, #0xa7] ldr r1, [r4, #0x48] ldr r0, [r0] str r1, [sp, #0xbc] ldr r2, [r4, #0x4c] add r1, sp, #0x34 str r2, [sp, #0xc0] ldr r2, [r4, #0x50] str r2, [sp, #0xc4] ldr r0, [r0, #4] bl func_ov00_02087d34 mov sl, #0 ldr r3, _02183a18 ; =0x000004cd ldr r2, _02183a1c ; =0x00001e84 ldr r1, _02183a20 ; =0x0000038e mov r6, #0x19000 ldr r0, [sp, #0x34] str r6, [sp, #0x4c] str sl, [sp, #0x58] str r3, [sp, #0x54] str sl, [sp, #0x50] str r2, [sp, #0x44] str sl, [sp, #0x48] str r1, [sp, #0x40] str r0, [r5, #0x6e4] ldr r0, [sp, #0x38] str r0, [r5, #0x6e8] ldr r0, [sp, #0x3c] str r0, [r5, #0x6ec] ldr r0, [sp, #0x40] str r0, [r5, #0x6f0] ldr r0, [sp, #0x44] str r0, [r5, #0x6f4] ldr r0, [sp, #0x48] str r0, [r5, #0x6f8] ldr r0, [sp, #0x4c] str r0, [r5, #0x6fc] ldr r0, [sp, #0x50] str r0, [r5, #0x700] ldr r0, [sp, #0x54] str r0, [r5, #0x704] ldr r0, [sp, #0x58] str r0, [r5, #0x708] ldr r0, [sp, #0x5c] str r0, [r5, #0x70c] ldr r0, [sp, #0x60] str r0, [r5, #0x710] ldr r0, [sp, #0x64] str r0, [r5, #0x714] ldr r0, [sp, #0x68] str r0, [r5, #0x718] ldr r0, [sp, #0x6c] str r0, [r5, #0x71c] ldr r0, [sp, #0x70] str r0, [r5, #0x720] ldr r0, [sp, #0x74] str r0, [r5, #0x724] ldr r0, [sp, #0x78] str r0, [r5, #0x728] ldr r0, [sp, #0x7c] str r0, [r5, #0x72c] ldr r0, [sp, #0x80] str r0, [r5, #0x730] ldr r0, [sp, #0x84] str r0, [r5, #0x734] ldr r0, [sp, #0x88] str r0, [r5, #0x738] ldr r0, [sp, #0x8c] str r0, [r5, #0x73c] ldr r0, [sp, #0x90] str r0, [r5, #0x740] ldrb r0, [sp, #0x94] strb r0, [r5, #0x744] ldrb r0, [sp, #0x95] strb r0, [r5, #0x745] ldrb r0, [sp, #0x96] strb r0, [r5, #0x746] ldrb r0, [sp, #0x97] strb r0, [r5, #0x747] ldrb r0, [sp, #0x98] strb r0, [r5, #0x748] ldr r1, [sp, #0x34] ldr r0, [sp, #0x38] str r1, [sp, #0xc8] str r0, [sp, #0xcc] ldr r0, [sp, #0x48] ldr r8, [sp, #0x3c] ldr r7, [sp, #0x40] str r0, [sp, #0xdc] ldr r0, [sp, #0x5c] ldr r1, [sp, #0x44] ldr sb, [sp, #0x4c] str r8, [sp, #0xd0] ldr r8, [sp, #0x50] str r7, [sp, #0xd4] ldr r7, [sp, #0x54] str r0, [sp, #0xf0] ldr r0, [sp, #0x70] str r1, [sp, #0xd8] ldr r1, [sp, #0x58] str sb, [sp, #0xe0] ldr sb, [sp, #0x60] str r8, [sp, #0xe4] ldr r8, [sp, #0x64] str r7, [sp, #0xe8] ldr r7, [sp, #0x68] str r0, [sp, #0x104] ldr r0, [sp, #0x84] str r1, [sp, #0xec] ldr r1, [sp, #0x6c] str sb, [sp, #0xf4] ldr sb, [sp, #0x74] str r8, [sp, #0xf8] ldr r8, [sp, #0x78] str r7, [sp, #0xfc] ldr r7, [sp, #0x7c] ldrb r6, [sp, #0x94] ldrb lr, [sp, #0x95] ldrb ip, [sp, #0x96] ldrb r3, [sp, #0x97] ldrb r2, [sp, #0x98] str r0, [sp, #0x118] ldr r0, _02183a24 ; =data_027e0f74 str r1, [sp, #0x100] ldr r1, [sp, #0x80] str sb, [sp, #0x108] ldr sb, [sp, #0x88] str r8, [sp, #0x10c] ldr r8, [sp, #0x8c] str r7, [sp, #0x110] ldr r7, [sp, #0x90] mov fp, #1 str r1, [sp, #0x114] ldr r0, [r0] add r1, sp, #0x9c str sb, [sp, #0x11c] str r8, [sp, #0x120] str r7, [sp, #0x124] strb r6, [sp, #0x128] strb lr, [sp, #0x129] strb ip, [sp, #0x12a] strb r3, [sp, #0x12b] strb r2, [sp, #0x12c] strb fp, [sp, #0xb0] strb sl, [sp, #0xb2] bl func_ov00_02097810 str r0, [r5, #0x66c] cmp r0, #0 blt _021838ec add r2, r5, #0x26c mov r3, fp add r1, sp, #0x28 mov r0, r4 add r2, r2, #0x400 strb r3, [r5, #0x8a6] bl func_ov14_0212500c _021838ec: add r0, sp, #0x9c bl func_ov00_0209a508 add sp, sp, #0x14c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021838fc: ldr r1, [r4, #0x48] ldr r2, _02183a14 ; =data_027e0f64 str r1, [sp, #0x1c] ldr r1, [r4, #0x4c] add r0, r5, #0x2e4 str r1, [sp, #0x20] ldr r3, [r4, #0x50] add r1, sp, #0x1c str r3, [sp, #0x24] str r6, [sp] str r6, [sp, #4] ldr r2, [r2] add r3, r0, #0x400 ldr r0, [r2, #4] mov r2, #2 bl func_ov00_02089318 add r0, sp, #0x28 add r1, r4, #0x48 bl func_ov00_020ce2f0 ldr r1, _02183a28 ; =0x00000333 cmp r0, r1 addge sp, sp, #0x14c ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r2, r5, #0x26c mov r0, r4 add r1, r5, #0x48 add r2, r2, #0x400 bl func_ov14_0212500c mov r0, #2 add sp, sp, #0x14c strb r0, [r5, #0x8a6] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0218397c: ldr r1, [r4, #0x48] ldr r2, _02183a14 ; =data_027e0f64 str r1, [sp, #0x10] ldr r1, [r4, #0x4c] add r0, r5, #0x2e4 str r1, [sp, #0x14] ldr r3, [r4, #0x50] add r1, sp, #0x10 str r3, [sp, #0x18] str r6, [sp] str r6, [sp, #4] ldr r2, [r2] add r3, r0, #0x400 ldr r0, [r2, #4] mov r2, #2 bl func_ov00_02089318 add r0, r5, #0x48 add r1, r4, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x1000 addge sp, sp, #0x14c ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r2, r6 strb r2, [r4, #0x118] mov r0, r5 mov r1, #0x14 strb r2, [r5, #0x8a6] bl func_ov36_0217d6bc add sp, sp, #0x14c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021839f4: mvn r0, #0 str r0, [r5, #0x810] str r0, [r5, #0x814] add sp, sp, #0x14c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_02183504 _02183a08: .word data_027e0fe4 _02183a0c: .word 0x424d5459 _02183a10: .word data_02050f54 _02183a14: .word data_027e0f64 _02183a18: .word 0x000004cd _02183a1c: .word 0x00001e84 _02183a20: .word 0x0000038e _02183a24: .word data_027e0f74 _02183a28: .word 0x00000333 .global func_ov36_02183a2c arm_func_start func_ov36_02183a2c func_ov36_02183a2c: ; 0x02183a2c ldrb r3, [r0, #0x8a5] mvn r2, #0 add r3, r3, #1 strb r3, [r0, #0x8a5] ldrh r1, [r1] add r0, r0, r1, lsl #1 add r0, r0, #0x800 strh r2, [r0, #0x80] bx lr arm_func_end func_ov36_02183a2c .global func_ov36_02183a50 arm_func_start func_ov36_02183a50 func_ov36_02183a50: ; 0x02183a50 ldrb r3, [r0, #0x8a5] mov r2, #0xb4 sub r3, r3, #1 strb r3, [r0, #0x8a5] ldrh r1, [r1] add r0, r0, r1, lsl #1 add r0, r0, #0x800 strh r2, [r0, #0x80] bx lr arm_func_end func_ov36_02183a50 .global func_ov36_02183a74 arm_func_start func_ov36_02183a74 func_ov36_02183a74: ; 0x02183a74 stmdb sp!, {r3, r4, r5, lr} ldr r3, [r0, #0x878] ands r4, r3, #0x100000 bne _02183a94 add r3, r0, #0x100 ldrsh r3, [r3, #0x20] cmp r3, #0 ble _02183aa8 _02183a94: cmp r4, #0 beq _02183ab0 ldr r3, [r0, #0x130] cmp r3, #0x16 blt _02183ab0 _02183aa8: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02183ab0: ldrh r3, [r1] cmp r3, #2 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrb r3, [r0, #0x8ac] cmp r3, #0 cmpeq r2, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} cmp r4, #0 addeq r3, r0, #0x100 ldreqsh r3, [r3, #0x20] movne r5, #1 mov r4, #0 rsbeq r5, r3, #4 cmp r5, #0 ble _02183b18 _02183af4: add r3, r0, r4, lsl #1 add r3, r3, #0x800 ldrsh r3, [r3, #0x80] cmp r3, #0 streqh r4, [r1] beq _02183b18 add r4, r4, #1 cmp r4, r5 blt _02183af4 _02183b18: cmp r4, r5 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _02183b78 ; =data_027e0764 ldr ip, [r1] ldmib r1, {r3, lr} umull r5, r4, lr, ip mla r4, lr, r3, r4 ldr r3, [r1, #0xc] ldr lr, [r1, #0x10] mla r4, r3, ip, r4 ldr r3, [r1, #0x14] adds r5, lr, r5 adc r3, r3, r4 str r5, [r1] tst r3, #0x80000000 cmpeq r2, #0 str r3, [r1, #4] moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #1 strb r1, [r0, #0x8ac] mov r0, r1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_02183a74 _02183b78: .word data_027e0764 .global func_ov36_02183b7c arm_func_start func_ov36_02183b7c func_ov36_02183b7c: ; 0x02183b7c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x58 mov r6, r0 ldrb r2, [r6, #0x8ad] mov r5, r1 cmp r2, #0 beq _02183ba4 bl func_ov36_021840c4 add sp, sp, #0x58 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02183ba4: ldrb r0, [r6, #0x8a6] cmp r0, #0 ldrne r0, [r5, #0x14] cmpne r0, #0 beq _02183bd0 ldr r1, [r0, #4] ldr r0, _0218408c ; =0x424d5459 cmp r1, r0 addeq sp, sp, #0x58 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02183bd0: ldr r0, [r6, #0x870] cmp r0, #0 addne sp, sp, #0x58 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r5, #0x14] cmp r0, #0 beq _02183c18 ldr r2, [r0, #0x4c] ldr r1, [r0, #0x50] ldr r0, [r0, #0x48] str r0, [sp, #0x48] str r2, [sp, #0x4c] str r1, [sp, #0x50] ldr r0, [r5, #0x14] ldr r0, [r0, #0x88] str r0, [sp, #0x54] b _02183ce8 _02183c18: ldr r0, [r5, #0x10] cmp r0, #9 addls pc, pc, r0, lsl #2 b _02183cbc _02183c28: ; jump table b _02183c50 ; case 0 b _02183cbc ; case 1 b _02183c98 ; case 2 b _02183c98 ; case 3 b _02183c74 ; case 4 b _02183cbc ; case 5 b _02183cbc ; case 6 b _02183cbc ; case 7 b _02183cbc ; case 8 b _02183cbc ; case 9 _02183c50: ldr r0, _02184090 ; =data_027e0fb4 mov r1, #0 ldr r0, [r0] bl func_ov00_020ad714 ldr r2, [r0] add r1, sp, #0x48 ldr r2, [r2, #0x3c] blx r2 b _02183ce8 _02183c74: ldr r0, _02184090 ; =data_027e0fb4 mov r1, #8 ldr r0, [r0] bl func_ov00_020ad714 ldr r2, [r0] add r1, sp, #0x48 ldr r2, [r2, #0x3c] blx r2 b _02183ce8 _02183c98: ldr r0, _02184090 ; =data_027e0fb4 mov r1, #1 ldr r0, [r0] bl func_ov00_020ad714 ldr r2, [r0] add r1, sp, #0x48 ldr r2, [r2, #0x3c] blx r2 b _02183ce8 _02183cbc: ldr r1, _02184094 ; =data_027e0f94 ldr r0, _02184098 ; =data_027e0fd4 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0x48] str r2, [sp, #0x4c] ldr r1, [r1, #8] ldr r0, [r0] str r1, [sp, #0x50] ldr r0, [r0, #0x2c] str r0, [sp, #0x54] _02183ce8: add r0, r6, #0x38 add r0, r0, #0x800 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r1, sp, #0x48 mov r0, r3 bl func_ov00_020ce2f0 mov sl, r0 add r0, sp, #0x48 add r1, sp, #0x3c add r2, sp, #0x30 bl func_01ff9bf8 ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldr ip, [r6, #0x864] ldrsh r2, [r6, #0x78] mov r4, r0, asr #0x10 mov fp, #0 rsb r0, r2, r0, asr #16 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, _0218409c ; =data_02050f54 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r0] mov r0, r2, lsl #0x1 ldrsh r8, [r1, r0] ldr r1, _021840a0 ; =0x0000219a ldr r0, _021840a0 ; =0x0000219a umull r2, r1, ip, r1 adds r2, r2, #0x800 rsb lr, r0, #0x3800 mla r1, ip, fp, r1 mov sb, ip, asr #0x1f ldr ip, _021840a0 ; =0x0000219a mov r2, r2, lsr #0xc mla r1, sb, ip, r1 adc r1, r1, #0 orr r2, r2, r1, lsl #20 smull r2, r1, r3, r2 adds r2, r2, #0x800 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [sp, #0x2c] umull r2, r1, r8, lr adds r2, r2, #0x800 mla r1, r8, fp, r1 mov r7, r8, asr #0x1f mla r1, r7, lr, r1 adc r1, r1, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r0, sp, #0x24 str fp, [sp, #0x28] str r2, [sp, #0x24] bl func_01ff9cec ldr r1, [sp, #0x54] add r0, r1, r0 cmp r0, sl addlt sp, sp, #0x58 movlt r0, fp ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r5, #0x14] cmp r0, #0 beq _02183f44 ldr r2, [r0, #4] ldr r1, _0218408c ; =0x424d5459 cmp r2, r1 bne _02183f44 bl func_ov14_02125038 cmp r0, #0 beq _02183f44 ldr r1, [r6, #0x130] sub r0, r1, #0xd cmp r0, #0xa addls pc, pc, r0, lsl #2 b _02183ef8 _02183e34: ; jump table b _02183f38 ; case 0 b _02183f38 ; case 1 b _02183e60 ; case 2 b _02183ef8 ; case 3 b _02183ef8 ; case 4 b _02183f38 ; case 5 b _02183f38 ; case 6 b _02183f38 ; case 7 b _02183f38 ; case 8 b _02183f38 ; case 9 b _02183f38 ; case 10 _02183e60: ldrsh r0, [r6, #0x78] sub r0, r4, r0 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 cmp r0, #0x1f40 bge _02183e8c mov r0, r6 mov r1, #0xd bl func_ov36_0217d6bc b _02183ee8 _02183e8c: add r0, r4, #0x8000 add r1, r6, #0x800 strh r0, [r1, #0x9a] ldrb r0, [r6, #0x8a4] mov r2, #0 mov r3, r0, lsl #0xd mov r0, r3, asr #0x1 add r0, r3, r0, lsr #30 mov r0, r0, asr #0x2 strh r0, [r1, #0x92] ldrb r0, [r6, #0x8a4] add r0, r0, #1 strb r0, [r6, #0x8a4] strh r2, [r1, #0xa2] ldrb r0, [r6, #0x8a4] cmp r0, #5 mov r0, r6 bhs _02183ee0 mov r1, #0xf bl func_ov36_0217d6bc b _02183ee8 _02183ee0: mov r1, #0x12 bl func_ov36_0217d6bc _02183ee8: add r0, r6, #0x800 mov r1, #0xa strh r1, [r0, #0x88] b _02183f38 _02183ef8: ldr r0, [r6, #0x878] tst r0, #0x100000 bne _02183f38 cmp r1, #0x16 bge _02183f38 tst r0, #0x1000 addeq r0, r6, #0x800 ldreqsh r0, [r0, #0x8c] cmpeq r0, #0 bne _02183f2c mov r0, r6 mov r1, #0xe bl func_ov36_0217d6bc _02183f2c: add r0, r6, #0x800 mov r1, #0xa strh r1, [r0, #0x88] _02183f38: add sp, sp, #0x58 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02183f44: ldr r0, [r5, #0x10] cmp r0, #8 addls pc, pc, r0, lsl #2 b _02184078 _02183f54: ; jump table b _02184050 ; case 0 b _02183f78 ; case 1 b _02184078 ; case 2 b _02184078 ; case 3 b _02184064 ; case 4 b _02183fb0 ; case 5 b _02184078 ; case 6 b _02183fd0 ; case 7 b _02184018 ; case 8 _02183f78: ldr r0, [r5, #0x14] cmp r0, #0 beq _02184078 ldr r2, [r0, #4] ldr r1, _021840a4 ; =0x5342454d cmp r2, r1 bne _02184078 bl func_ov14_02146634 ldr r0, _021840a8 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc b _02184078 _02183fb0: ldr r0, [r5, #0x14] bl func_ov14_021231d4 ldr r0, _021840a8 ; =data_027e0ffc ldr r1, _021840ac ; =0x0000019d add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc b _02184078 _02183fd0: ldr r0, [r5, #0x14] add r3, sp, #0x18 add r0, r0, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r3, [sp, #0x18] ldr r0, [r6, #0x48] ldr r2, [sp, #0x20] ldr r1, [r6, #0x50] sub r0, r3, r0 sub r1, r2, r1 bl func_01ffa0f4 mov r1, r0, lsl #0x10 ldr r0, [r5, #0x14] mov r1, r1, asr #0x10 mov r2, #1 bl func_ov14_02120ac4 b _02184078 _02184018: ldr r0, [r5, #0x14] cmp r0, #0 beq _02184078 ldr r2, [r0, #4] ldr r1, _021840b0 ; =0x524f5045 cmp r2, r1 bne _02184078 bl func_ov14_02123904 ldr r0, _021840a8 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc b _02184078 _02184050: bl func_ov36_021840b4 mov r1, #0xf6 mov r2, #0 bl func_ov00_020bf008 b _02184078 _02184064: ldr r0, _021840a8 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc _02184078: mov r0, #0xa str r0, [r6, #0x870] mov r0, #1 add sp, sp, #0x58 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_02183b7c _0218408c: .word 0x424d5459 _02184090: .word data_027e0fb4 _02184094: .word data_027e0f94 _02184098: .word data_027e0fd4 _0218409c: .word data_02050f54 _021840a0: .word 0x0000219a _021840a4: .word 0x5342454d _021840a8: .word data_027e0ffc _021840ac: .word 0x0000019d _021840b0: .word 0x524f5045 .global func_ov36_021840b4 arm_func_start func_ov36_021840b4 func_ov36_021840b4: ; 0x021840b4 ldr ip, _021840c0 ; =func_01fffcec mov r0, #0 bx ip .align 2, 0 arm_func_end func_ov36_021840b4 _021840c0: .word func_01fffcec .global func_ov36_021840c4 arm_func_start func_ov36_021840c4 func_ov36_021840c4: ; 0x021840c4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 mov r5, r1 ldr r1, [r5, #0x10] mov r6, r0 cmp r1, #5 beq _021840ec cmp r1, #8 beq _02184114 b _02184160 _021840ec: ldr r0, [r5, #0x14] bl func_ov14_021231d4 ldr r0, _02184408 ; =data_027e0ffc ldr r1, _0218440c ; =0x0000019d add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x30 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184114: ldr r0, [r5, #0x14] cmp r0, #0 beq _02184154 ldr r2, [r0, #4] ldr r1, _02184410 ; =0x524f5045 cmp r2, r1 bne _02184154 bl func_ov14_02123904 ldr r0, _02184408 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0xf6 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x30 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184154: add sp, sp, #0x30 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184160: ldr r0, [r6, #0x870] cmp r0, #0 addne sp, sp, #0x30 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r0, [r5] cmp r0, #0 addeq sp, sp, #0x30 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r6, #0x130] cmp r0, #0x13 cmpne r0, #0x11 addne sp, sp, #0x30 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r3, [r5, #0x14] mov r4, #0 cmp r3, #0 beq _021842d4 ldr r0, [r6, #0x50] ldr r1, [r3, #0x50] add r0, r0, #0x9a add r0, r0, #0x100 cmp r1, r0 addlt sp, sp, #0x30 movlt r0, r4 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [r3, #4] ldr r0, _02184414 ; =0x41525257 cmp r1, r0 bne _0218432c ldr r0, [r3, #8] add r2, sp, #0x24 str r0, [r6, #0x818] ldr r1, [r3, #0xc] add r0, r3, #0x54 str r1, [r6, #0x81c] add r1, r6, #0x48 mov r4, r3 bl func_01ff9bf8 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] 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, _02184418 ; =data_02050f54 mov r0, r0, lsl #0x1 ldrsh r7, [r1, r0] mov r0, r2, lsl #0x1 ldrsh r2, [r1, r0] ldr r0, _0218441c ; =0x00000ccd mov fp, #0 umull sb, r8, r7, r0 mla r8, r7, fp, r8 mov lr, r7, asr #0x1f mla r8, lr, r0, r8 adds sb, sb, #0x800 adc r7, r8, #0 mov r8, sb, lsr #0xc ldr sl, [r6, #0x50] orr r8, r8, r7, lsl #20 ldr r3, [r6, #0x4c] ldr ip, [r6, #0x48] add r7, sl, r8 str r7, [sp, #0x2c] umull r8, r7, r2, r0 str r3, [sp, #0x28] mla r7, r2, fp, r7 mov r1, r2, asr #0x1f mla r7, r1, r0, r7 adds r1, r8, #0x800 adc r0, r7, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, ip, r1 str r0, [sp, #0x24] ldrsh r0, [r4, #0x78] sub r3, sp, #8 str r0, [sp, #4] add r0, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r4 add r1, r6, #8 ldmia r3, {r2, r3} bl func_ov14_02120998 b _0218432c _021842d4: cmp r1, #0 bne _02184320 ldr r0, _02184420 ; =data_027e0fb4 mov r1, r4 ldr r0, [r0] bl func_ov00_020ad714 ldr r2, [r0] add r1, sp, #0x14 ldr r2, [r2, #0x3c] blx r2 ldr r0, [r6, #0x50] ldr r1, [sp, #0x1c] add r0, r0, #0x9a add r0, r0, #0x100 cmp r1, r0 bge _0218432c add sp, sp, #0x30 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184320: add sp, sp, #0x30 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0218432c: ldr r0, [r6, #0x50] ldr r2, [r6, #0x4c] ldr r1, [r6, #0x48] add r0, r0, #0xcd add r3, r0, #0x400 add r0, sp, #8 str r1, [sp, #8] str r2, [sp, #0xc] str r3, [sp, #0x10] bl func_ov00_020c71fc add r0, r6, #0x100 ldrsh r7, [r0, #0x20] ldrb r3, [r5] ldr r2, _02184424 ; =data_027e0f64 mov r1, #0xb add r3, r7, r3 strh r3, [r0, #0x20] ldr r0, [r2] ldr r0, [r0, #4] bl func_ov00_02088000 ldr r0, _02184408 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0x190 mov r3, #0 bl func_ov00_020ceacc ldr r0, _02184408 ; =data_027e0ffc ldr r1, _02184428 ; =0x000002cb add r2, r6, #0x48 mov r3, #0 bl func_ov00_020ceacc add r0, r6, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0x96 blt _021843e8 cmp r4, #0 beq _021843d8 ldrsh r1, [r4, #0x78] mov r0, r4 mov r2, #1 bl func_ov14_02120ac4 mvn r0, #0 str r0, [r6, #0x818] str r0, [r6, #0x81c] _021843d8: mov r0, r6 mov r1, #0x18 bl func_ov36_0217d6bc b _021843fc _021843e8: add r0, r6, #0x158 mov r1, #0x1b bl func_ov36_0217c958 mov r0, #0xf str r0, [r6, #0x870] _021843fc: mov r0, #1 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_021840c4 _02184408: .word data_027e0ffc _0218440c: .word 0x0000019d _02184410: .word 0x524f5045 _02184414: .word 0x41525257 _02184418: .word data_02050f54 _0218441c: .word 0x00000ccd _02184420: .word data_027e0fb4 _02184424: .word data_027e0f64 _02184428: .word 0x000002cb .global func_ov36_0218442c arm_func_start func_ov36_0218442c func_ov36_0218442c: ; 0x0218442c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x54 mov r5, r0 ldrb r0, [r5, #0x129] ldrh r4, [r5, #0x7a] cmp r0, #0 ldr r0, _0218460c ; =0x0000ffff movne r4, #4 cmp r4, r0 addeq sp, sp, #0x54 ldmeqia sp!, {r3, r4, r5, r6, pc} ldrh r0, [r1] tst r0, #4 bne _02184470 tst r0, #8 addeq sp, sp, #0x54 ldmeqia sp!, {r3, r4, r5, r6, pc} _02184470: add r0, r5, #0x48 add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r1, sp, #0x14 str r1, [sp] mov r2, #0 add r0, sp, #0x10 stmib sp, {r0, r2} mov r1, r3 ldr r0, _02184610 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] mov r3, r2 bl func_ov00_02079470 cmp r0, #0 addeq sp, sp, #0x54 ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0x28 bl func_01ffbe34 mov r1, #0 add r0, sp, #0x28 str r1, [sp, #0x2c] str r0, [sp] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r0, _02184614 ; =data_02063e4c mov r3, r4 bl func_020313c8 ldr r0, _02184618 ; =data_027e0c68 ldr r0, [r0, #0x38] cmp r0, #0 beq _02184508 add r0, r0, #0x100 ldrsh r0, [r0, #0x5c] cmp r0, #0 addgt sp, sp, #0x54 ldmgtia sp!, {r3, r4, r5, r6, pc} _02184508: mov r0, #2 str r0, [sp, #0x2c] ldrh r1, [r5, #0x78] ldr r2, _0218461c ; =data_02050f54 add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 add r1, r4, #1 mov r3, r1, lsl #0x1 mov r1, r4, lsl #0x1 ldrsh r4, [r2, r1] ldrsh r5, [r2, r3] mov r1, r4 rsb r2, r5, #0 blx func_01ff8018 mov r0, #0x1800 umull lr, ip, r4, r0 mov r2, #0 mla ip, r4, r2, ip umull r1, r3, r5, r0 mov r4, r4, asr #0x1f adds lr, lr, #0x800 mla ip, r4, r0, ip adc ip, ip, #0 adds r4, r1, #0x800 mov lr, lr, lsr #0xc add r6, sp, #0x18 mla r3, r5, r2, r3 mov r1, r5, asr #0x1f mla r3, r1, r0, r3 adc r0, r3, #0 ldr r1, [sp, #0x48] orr lr, lr, ip, lsl #20 add r5, r1, lr mov r1, r4, lsr #0xc ldr r3, [sp, #0x50] orr r1, r1, r0, lsl #20 add r0, r3, r1 str r0, [sp, #0x50] str r6, [sp, #0x28] str r5, [sp, #0x48] add r1, sp, #0x14 str r1, [sp] add r0, sp, #0x10 stmib sp, {r0, r2} ldr r0, _02184610 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] add r1, sp, #0x48 mov r3, r2 bl func_ov00_02079470 add r1, sp, #0x28 str r1, [sp] ldr r0, _02184614 ; =data_02063e4c ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] mov r3, #0x25 bl func_020313c8 ldr r0, _02184620 ; =data_027e0c38 mov r1, #2 mov r2, #7 mov r3, #1 bl func_02033e70 add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0218442c _0218460c: .word 0x0000ffff _02184610: .word data_027e0d3c _02184614: .word data_02063e4c _02184618: .word data_027e0c68 _0218461c: .word data_02050f54 _02184620: .word data_027e0c38 .global func_ov36_02184624 arm_func_start func_ov36_02184624 func_ov36_02184624: ; 0x02184624 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xcc mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0xcc ldmeqia sp!, {r4, r5, pc} add r0, r4, #0x8e0 bl func_ov17_021687f0 add r0, r4, #0x1e8 add r0, r0, #0x1800 bl func_ov17_021687f0 ldr r0, [r4, #0x878] tst r0, #0x40 add r0, r4, #0x800 ldreqsh r1, [r0, #0x94] ldreqsh r0, [r0, #0x96] addeq r0, r1, r0 beq _02184684 ldrsh r1, [r0, #0x96] ldrsh r0, [r0, #0x94] sub r0, r1, r0 _02184684: mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #0 bne _021846c4 ldrh r1, [r4, #0x78] ldr r3, _021848e4 ; =data_02050f54 add r0, sp, #0xa8 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_01ff8214 b _02184728 _021846c4: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r2, _021848e4 ; =data_02050f54 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r2, [r2, r0] add r0, sp, #0xa8 blx func_01ff8230 ldrh r1, [r4, #0x78] ldr r3, _021848e4 ; =data_02050f54 add r0, sp, #0x84 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_01ff8214 add r0, sp, #0xa8 add r1, sp, #0x84 mov r2, r0 bl func_0202e030 _02184728: ldr r1, [r4, #0x868] mov r0, #0 str r0, [sp, #0x78] str r0, [sp, #0x7c] str r1, [sp, #0x80] ldrsh r1, [r4, #0x78] add r0, sp, #0x78 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x78 str r1, [sp, #0x60] ldr r2, [r4, #0x4c] add r1, sp, #0x60 str r2, [sp, #0x64] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x68] bl func_01ff9bc4 add r1, sp, #0xa8 add r2, sp, #0x78 add r0, r4, #0x158 bl func_ov00_020c5e88 ldr r0, [r4, #0x878] tst r0, #0x400000 beq _021847bc add lr, sp, #0x30 add r5, r4, #0x234 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 add r0, r4, #0x570 bl func_ov00_020c6024 _021847bc: ldr r1, [r4, #0x838] add r0, sp, #0x24 str r1, [r4, #0x82c] ldr r2, [r4, #0x83c] add r1, r4, #0x178 str r2, [r4, #0x830] ldr r2, [r4, #0x840] str r2, [r4, #0x834] bl func_ov36_0217c5d0 ldr r1, [sp, #0x24] add r0, sp, #0x18 str r1, [r4, #0x838] ldr r2, [sp, #0x28] add r1, r4, #0x178 str r2, [r4, #0x83c] ldr r2, [sp, #0x2c] str r2, [r4, #0x840] bl func_ov36_0217c600 add r0, sp, #0x18 add r3, sp, #0x6c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r1, r4, #0x38 ldr r2, [r4, #0x4c] mov r0, r3 add r1, r1, #0x800 str r2, [r4, #0x83c] bl func_ov00_020ce2f0 ldr r2, _021848e8 ; =0x00000333 ldr r1, _021848ec ; =0x0000219a cmp r0, r2 bge _0218484c mov r0, #0 str r0, [r4, #0x864] rsb r1, r1, #0x3800 b _02184898 _0218484c: cmp r0, #0x1800 bgt _02184898 rsb r1, r2, #0 add r0, r0, r1 rsb r1, r2, #0x1800 bl func_01ff98e0 ldr r1, _021848f0 ; =0x00000b34 mov r2, #0 umull ip, r3, r0, r1 mla r3, r0, r2, r3 mov r2, r0, asr #0x1f mla r3, r2, r1, r3 adds ip, ip, #0x800 adc r1, r3, #0 mov r2, ip, lsr #0xc orr r2, r2, r1, lsl #20 add r1, r2, #0x66 str r0, [r4, #0x864] add r1, r1, #0x1600 _02184898: str r1, [sp] ldrsh r2, [r4, #0x78] add r1, r4, #0x38 mov r0, #0x1f str r2, [sp, #4] str r0, [sp, #8] mov ip, #1 str ip, [sp, #0xc] str ip, [sp, #0x10] ldr r0, _021848f4 ; =data_ov00_020e9370 ldr r3, _021848f8 ; =0x00001666 add r2, r1, #0x800 mov r1, #0 str ip, [sp, #0x14] bl func_ov05_02102c2c add r0, r4, #0x158 bl func_ov36_0217c91c add sp, sp, #0xcc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov36_02184624 _021848e4: .word data_02050f54 _021848e8: .word 0x00000333 _021848ec: .word 0x0000219a _021848f0: .word 0x00000b34 _021848f4: .word data_ov00_020e9370 _021848f8: .word 0x00001666 .global func_ov36_021848fc arm_func_start func_ov36_021848fc func_ov36_021848fc: ; 0x021848fc ldr r2, _0218490c ; =data_ov36_02186cf4 str r2, [r0] strb r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov36_021848fc _0218490c: .word data_ov36_02186cf4 .global func_ov36_02184910 arm_func_start func_ov36_02184910 func_ov36_02184910: ; 0x02184910 ldr r3, [r1, #4] ldr r2, _02184934 ; =0x47524d47 cmp r3, r2 ldreqb r2, [r0, #4] ldreqb r0, [r1, #0x2a] cmpeq r2, r0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov36_02184910 _02184934: .word 0x47524d47 .global func_ov36_02184938 arm_func_start func_ov36_02184938 func_ov36_02184938: ; 0x02184938 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 cmp r1, #0 bne _021849c4 ldr r1, _021849dc ; =data_027e0fe4 ldr r2, _021849e0 ; =0x4e415649 ldr r1, [r1] add r0, sp, #8 bl func_ov00_020c3894 ldr r0, [sp, #8] add r3, sp, #8 str r0, [r4, #0x7dc] ldr r1, [sp, #0xc] add r0, sp, #0 str r1, [r4, #0x7e0] mov r1, #1 mov r2, #0 str r3, [sp, #0x10] str r1, [sp, #0x14] str r2, [sp, #0x18] bl func_ov36_021848fc ldr r0, _021849dc ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] add r2, sp, #0x10 bl func_ov00_020c37ec cmp r0, #0 beq _021849d0 ldr r1, [sp, #0x10] ldr r0, [r1] str r0, [r4, #0x7e4] ldr r0, [r1, #4] str r0, [r4, #0x7e8] b _021849d0 _021849c4: add sp, sp, #0x1c mov r0, #0 ldmia sp!, {r3, r4, pc} _021849d0: mov r0, #1 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_02184938 _021849dc: .word data_027e0fe4 _021849e0: .word 0x4e415649 .global func_ov36_021849e4 arm_func_start func_ov36_021849e4 func_ov36_021849e4: ; 0x021849e4 stmdb sp!, {r3, lr} cmp r1, #1 beq _02184a04 cmp r1, #2 beq _02184a30 cmp r1, #3 beq _02184a48 b _02184a5c _02184a04: ldr r1, [r0, #0x878] tst r1, #0x80000 beq _02184a28 ldr r1, [r0, #0x138] cmp r1, #0x1e blt _02184a28 mov r1, #1 bl func_ov36_02184a64 ldmia sp!, {r3, pc} _02184a28: mov r0, #0 ldmia sp!, {r3, pc} _02184a30: mov r1, #2 bl func_ov36_02184a64 cmp r0, #0 bne _02184a5c mov r0, #0 ldmia sp!, {r3, pc} _02184a48: mov r1, #1 bl func_ov36_02184a64 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _02184a5c: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov36_021849e4 .global func_ov36_02184a64 arm_func_start func_ov36_02184a64 func_ov36_02184a64: ; 0x02184a64 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x118 ldr r2, _02184dd8 ; =data_027e0f74 mov r5, r0 mov r6, r1 ldr r0, [r2] ldr r1, [r5, #0x66c] bl func_ov00_02097b9c cmp r0, #0 beq _02184a9c ldr r0, _02184dd8 ; =data_027e0f74 ldr r1, [r5, #0x66c] ldr r0, [r0] bl func_ov00_02097bcc _02184a9c: add r0, sp, #0x68 bl func_ov00_0209a4f4 mov r1, #3 ldr r0, _02184ddc ; =data_027e0f64 mvn r3, #0 mov r2, #0x32 ldr r0, [r0] str r3, [sp, #0x6c] strb r2, [sp, #0x71] strb r1, [sp, #0x72] strb r1, [sp, #0x73] ldr r0, [r0, #4] add r1, sp, #0 bl func_ov00_02087d34 mov r1, #0 ldr r0, _02184de0 ; =data_027e0e60 str r1, [sp, #0x1c] ldr r0, [r0] str r1, [sp, #0x20] str r1, [sp, #0x24] bl func_ov00_02083400 ldr r1, _02184de0 ; =data_027e0e60 mov r4, r0 ldr r0, [r1] bl func_ov00_020833f4 mov r2, #0 mov r1, r2 cmp r6, #0 beq _02184b24 cmp r6, #1 beq _02184c40 cmp r6, #2 beq _02184c68 b _02184c94 _02184b24: mov r1, #0x2000 ldr r7, _02184de4 ; =0x0000038e sub r6, r1, #0x17c mov r3, #0x16800 str r7, [sp, #0xc] str r6, [sp, #0x10] str r2, [sp, #0x14] str r3, [sp, #0x18] str r0, [r5, #0x820] str r1, [r5, #0x824] add r4, r4, #0xa000 str r4, [r5, #0x828] ldr r2, [sp] str r2, [r5, #0x6e4] ldr r2, [sp, #4] str r2, [r5, #0x6e8] ldr r2, [sp, #8] str r2, [r5, #0x6ec] ldr r2, [sp, #0xc] str r2, [r5, #0x6f0] ldr r2, [sp, #0x10] str r2, [r5, #0x6f4] ldr r2, [sp, #0x14] str r2, [r5, #0x6f8] ldr r2, [sp, #0x18] str r2, [r5, #0x6fc] ldr r2, [sp, #0x1c] str r2, [r5, #0x700] ldr r2, [sp, #0x20] str r2, [r5, #0x704] ldr r2, [sp, #0x24] str r2, [r5, #0x708] ldr r2, [sp, #0x28] str r2, [r5, #0x70c] ldr r2, [sp, #0x2c] str r2, [r5, #0x710] ldr r2, [sp, #0x30] str r2, [r5, #0x714] ldr r2, [sp, #0x34] str r2, [r5, #0x718] ldr r2, [sp, #0x38] str r2, [r5, #0x71c] ldr r2, [sp, #0x3c] str r2, [r5, #0x720] ldr r2, [sp, #0x40] str r2, [r5, #0x724] ldr r2, [sp, #0x44] str r2, [r5, #0x728] ldr r2, [sp, #0x48] str r2, [r5, #0x72c] ldr r2, [sp, #0x4c] str r2, [r5, #0x730] ldr r2, [sp, #0x50] str r2, [r5, #0x734] ldr r2, [sp, #0x54] str r2, [r5, #0x738] ldr r2, [sp, #0x58] str r2, [r5, #0x73c] ldr r2, [sp, #0x5c] str r2, [r5, #0x740] ldrb r2, [sp, #0x60] strb r2, [r5, #0x744] ldrb r2, [sp, #0x61] strb r2, [r5, #0x745] ldrb r2, [sp, #0x62] strb r2, [r5, #0x746] ldrb r2, [sp, #0x63] strb r2, [r5, #0x747] ldrb r2, [sp, #0x64] strb r2, [r5, #0x748] b _02184c94 _02184c40: mov r1, #0x2000 ldr r7, _02184de4 ; =0x0000038e sub r6, r1, #0x17c mov r3, #0x16800 str r7, [sp, #0xc] str r6, [sp, #0x10] str r2, [sp, #0x14] str r3, [sp, #0x18] add r4, r4, #0xa000 b _02184c94 _02184c68: ldr r8, _02184de4 ; =0x0000038e ldr r7, _02184de8 ; =0x00001e84 mov r6, #0x1b800 mov r3, #2 str r8, [sp, #0xc] str r7, [sp, #0x10] str r2, [sp, #0x14] str r6, [sp, #0x18] strb r3, [sp, #0x73] add r0, r0, #0x4800 sub r4, r4, #0xa800 _02184c94: str r0, [sp, #0x88] ldr sb, [sp] ldr r8, [sp, #4] ldr r0, [sp, #0x10] str r1, [sp, #0x8c] ldr r1, [sp, #0xc] str r4, [sp, #0x90] str sb, [sp, #0x94] ldr sb, [sp, #0x14] mov r2, #1 str r8, [sp, #0x98] ldr r8, [sp, #0x18] ldr r4, [sp, #0x1c] str r0, [sp, #0xa4] ldr r0, [sp, #0x24] str r1, [sp, #0xa0] ldr r1, [sp, #0x20] str sb, [sp, #0xa8] ldr sb, [sp, #0x28] str r8, [sp, #0xac] ldr r8, [sp, #0x2c] str r4, [sp, #0xb0] ldr r4, [sp, #0x30] str r0, [sp, #0xb8] ldr r0, [sp, #0x38] str r1, [sp, #0xb4] ldr r1, [sp, #0x34] ldr sl, [sp, #8] str sb, [sp, #0xbc] ldr sb, [sp, #0x3c] str r8, [sp, #0xc0] ldr r8, [sp, #0x40] str r4, [sp, #0xc4] ldr r4, [sp, #0x44] str r0, [sp, #0xcc] ldr r0, [sp, #0x4c] ldrb r7, [sp, #0x60] ldrb r6, [sp, #0x61] ldrb lr, [sp, #0x62] ldrb ip, [sp, #0x63] ldrb r3, [sp, #0x64] str r1, [sp, #0xc8] ldr r1, [sp, #0x48] str sl, [sp, #0x9c] str sb, [sp, #0xd0] ldr sl, [sp, #0x50] str r8, [sp, #0xd4] ldr sb, [sp, #0x54] str r4, [sp, #0xd8] ldr r8, [sp, #0x58] ldr r4, [sp, #0x5c] str r1, [sp, #0xdc] ldr fp, _02184dd8 ; =data_027e0f74 str r0, [sp, #0xe0] ldr r0, [fp] add r1, sp, #0x68 str sl, [sp, #0xe4] str sb, [sp, #0xe8] str r8, [sp, #0xec] str r4, [sp, #0xf0] strb r7, [sp, #0xf4] strb r6, [sp, #0xf5] strb lr, [sp, #0xf6] strb ip, [sp, #0xf7] strb r3, [sp, #0xf8] strb r2, [sp, #0x7c] strb r2, [sp, #0x7e] bl func_ov00_02097810 mvn r1, #0 str r0, [r5, #0x66c] cmp r0, r1 add r0, sp, #0x68 bne _02184dc8 bl func_ov00_0209a508 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02184dc8: bl func_ov00_0209a508 mov r0, #1 add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov36_02184a64 _02184dd8: .word data_027e0f74 _02184ddc: .word data_027e0f64 _02184de0: .word data_027e0e60 _02184de4: .word 0x0000038e _02184de8: .word 0x00001e84 .global func_ov36_02184dec arm_func_start func_ov36_02184dec func_ov36_02184dec: ; 0x02184dec ldr r3, [r1] ldr r1, [r0, #0x850] cmp r3, r1 strlt r3, [r0, #0x850] ldr r2, [r2] ldr r1, [r0, #0x854] cmp r2, r1 strlt r2, [r0, #0x854] bx lr arm_func_end func_ov36_02184dec .global func_ov36_02184e10 arm_func_start func_ov36_02184e10 func_ov36_02184e10: ; 0x02184e10 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r0, [r5, #0x8a8] cmp r0, #0 moveq r4, #0x4000 ldr r0, [r5, #0x130] movne r4, #0x6000 cmp r0, #0x18 blt _02184e60 ldr r0, [r5, #0x878] tst r0, #0x10 beq _02184f2c ldr r1, [r5, #0x878] ldr r0, _02184f3c ; =data_027e103c bic r1, r1, #0x10 str r1, [r5, #0x878] ldr r0, [r0] mov r1, #0 bl func_ov00_020cfe10 b _02184f2c _02184e60: ldr r0, _02184f40 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #1 ldr r0, [r5, #0x878] bne _02184ed4 tst r0, #0x10 ldr r0, [r5, #0x850] beq _02184eac cmp r0, r4 blt _02184f2c ldr r0, _02184f3c ; =data_027e103c mov r1, #0 ldr r0, [r0] bl func_ov00_020cfe10 ldr r0, [r5, #0x878] bic r0, r0, #0x10 str r0, [r5, #0x878] b _02184f2c _02184eac: cmp r0, r4 bge _02184f2c ldr r0, _02184f3c ; =data_027e103c mov r1, #1 ldr r0, [r0] bl func_ov00_020cfe10 ldr r0, [r5, #0x878] orr r0, r0, #0x10 str r0, [r5, #0x878] b _02184f2c _02184ed4: tst r0, #0x10 ldr r0, [r5, #0x854] beq _02184f08 cmp r0, r4 blt _02184f2c ldr r0, _02184f3c ; =data_027e103c mov r1, #0 ldr r0, [r0] bl func_ov00_020cfe10 ldr r0, [r5, #0x878] bic r0, r0, #0x10 str r0, [r5, #0x878] b _02184f2c _02184f08: cmp r0, r4 bge _02184f2c ldr r0, _02184f3c ; =data_027e103c mov r1, #1 ldr r0, [r0] bl func_ov00_020cfe10 ldr r0, [r5, #0x878] orr r0, r0, #0x10 str r0, [r5, #0x878] _02184f2c: mvn r0, #0x80000000 str r0, [r5, #0x850] str r0, [r5, #0x854] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov36_02184e10 _02184f3c: .word data_027e103c _02184f40: .word data_027e0fc8 .global func_ov36_02184f44 arm_func_start func_ov36_02184f44 func_ov36_02184f44: ; 0x02184f44 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 ldrb r2, [r6, #0x8ab] mov r5, r1 mov r4, #0 cmp r2, #0 beq _02184f6c bl func_ov36_021830e8 mov r4, r0 _02184f6c: ldr r1, [r6, #0x48] ldr r0, _0218504c ; =data_027e0e60 str r1, [sp] ldr r1, [r6, #0x4c] ldr r0, [r0] str r1, [sp, #4] ldr r1, [r6, #0x50] add r2, sp, #0 str r1, [sp, #8] ldrh r1, [r6, #0x22] bl func_ov00_02083770 strb r0, [r5] cmp r4, #0 beq _02185040 cmp r4, #1 bne _02185008 ldr r0, [r6, #0x878] tst r0, #0x100000 bne _02184fd8 mov r0, r6 bl func_ov36_02185864 cmp r0, #0 bne _02184ffc mov r0, r6 mov r1, #9 bl func_ov36_0217d6bc b _02184ffc _02184fd8: ldrb r0, [r6, #0x8a7] cmp r0, #3 mov r0, r6 bne _02184ff4 mov r1, #0xa bl func_ov36_0217d6bc b _02184ffc _02184ff4: mov r1, #9 bl func_ov36_0217d6bc _02184ffc: add sp, sp, #0xc mov r0, #2 ldmia sp!, {r3, r4, r5, r6, pc} _02185008: cmp r4, #2 mov r0, r6 bne _02185028 mov r1, #3 bl func_ov36_0217d6bc add sp, sp, #0xc mov r0, #2 ldmia sp!, {r3, r4, r5, r6, pc} _02185028: bl func_ov00_020c2974 add r1, r6, #0x800 strh r0, [r1, #0x8e] add sp, sp, #0xc mov r0, #1 ldmia sp!, {r3, r4, r5, r6, pc} _02185040: mov r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_02184f44 _0218504c: .word data_027e0e60 .global func_ov36_02185050 arm_func_start func_ov36_02185050 func_ov36_02185050: ; 0x02185050 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _021850c0 ; =data_027e0fc8 mov r4, r0 ldr r0, [r1] bl func_ov00_020bc46c cmp r0, #1 bne _02185090 ldr r0, _021850c4 ; =data_027e0f94 ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp] str r1, [sp, #4] ldr r0, [r0, #8] str r0, [sp, #8] b _021850ac _02185090: ldr r1, [r4, #0x6b4] ldr r0, [r1, #0x48] str r0, [sp] ldr r0, [r1, #0x4c] str r0, [sp, #4] ldr r0, [r1, #0x50] str r0, [sp, #8] _021850ac: add r1, sp, #0 mov r0, r4 bl func_ov00_020c2938 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_02185050 _021850c0: .word data_027e0fc8 _021850c4: .word data_027e0f94 .global func_ov36_021850c8 arm_func_start func_ov36_021850c8 func_ov36_021850c8: ; 0x021850c8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x360] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x358] cmp r0, #0 beq _021850f0 cmp r0, #0x16 beq _0218515c ldmia sp!, {r4, pc} _021850f0: ldr r0, [r4, #0x168] mov r1, #0x6000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _02185120 ldr r0, [r4, #0x168] mov r1, #0x1d000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} _02185120: ldr r0, _021851d4 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x2c0 mov r3, #0 bl func_ov00_020ceacc ldr r0, [r4, #0x130] cmp r0, #4 cmpne r0, #1 ldmneia sp!, {r4, pc} ldr r0, _021851d8 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 ldmia sp!, {r4, pc} _0218515c: ldr r0, [r4, #0x168] mov r1, #0x7000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _021851bc ldr r0, [r4, #0x168] mov r1, #0xe000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _021851bc ldr r0, [r4, #0x168] mov r1, #0x17000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _021851bc ldr r0, [r4, #0x168] mov r1, #0x1e000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} _021851bc: ldr r0, _021851d4 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x2c0 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_021850c8 _021851d4: .word data_027e0ffc _021851d8: .word data_027e0f64 .global func_ov36_021851dc arm_func_start func_ov36_021851dc func_ov36_021851dc: ; 0x021851dc stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr ip, _02185270 ; =0x00000666 mov lr, #0 mov r3, #0x214 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] mov r5, r0 cmp r2, #0 mov r4, r1 ldrnesh r0, [r2] bne _02185228 mov r0, r4 bl func_ov36_02185050 ldrsh r1, [r4, #0x78] sub r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 _02185228: cmp r0, #0 ldrsh r1, [r4, #0x78] add r0, sp, #0 ble _0218524c sub r1, r1, #0x4000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a61ac b _0218525c _0218524c: add r1, r1, #0x4000 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a61ac _0218525c: add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov36_021851dc _02185270: .word 0x00000666 .global func_ov36_02185274 arm_func_start func_ov36_02185274 func_ov36_02185274: ; 0x02185274 stmdb sp!, {r3, lr} ldr r1, [r0, #0x858] cmp r1, #0 beq _02185294 subs r1, r1, #0x148 str r1, [r0, #0x858] movmi r1, #0 strmi r1, [r0, #0x858] _02185294: add r1, r0, #0x800 ldrh r1, [r1, #0x9a] ldr ip, _021852f8 ; =data_02050f54 ldr r2, [r0, #0x858] mov r1, r1, asr #0x4 mov lr, r1, lsl #0x1 mov r1, lr, lsl #0x1 ldrsh r3, [ip, r1] add r1, lr, #1 mov r1, r1, lsl #0x1 smull lr, r2, r3, r2 adds r3, lr, #0x800 adc r2, r2, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r0, #0x60] ldrsh r2, [ip, r1] ldr r1, [r0, #0x858] 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, [r0, #0x68] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_02185274 _021852f8: .word data_02050f54 .global func_ov36_021852fc arm_func_start func_ov36_021852fc func_ov36_021852fc: ; 0x021852fc stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x870] cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x870] add r0, r4, #0x800 ldrsh r1, [r0, #0x7c] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x7c] add r0, r4, #0x800 ldrsh r1, [r0, #0x7e] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x7e] add r0, r4, #0x800 ldrsh r2, [r0, #0x88] cmp r2, #0 beq _021853a4 ldr r1, [r4, #0x878] tst r1, #0x100000 beq _02185368 cmp r2, #0 subne r1, r2, #1 strneh r1, [r0, #0x88] b _021853a4 _02185368: tst r1, #0x4000 subeq r1, r2, #1 streqh r1, [r0, #0x88] beq _021853a4 ldr r0, _0218540c ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bcc78 cmp r0, #0 bne _021853a4 add r0, r4, #0x800 mov r1, #0 strh r1, [r0, #0x88] ldr r0, [r4, #0x878] bic r0, r0, #0x4000 str r0, [r4, #0x878] _021853a4: ldrb r0, [r4, #0x11c] cmp r0, #0 ldreqb r0, [r4, #0x8a6] cmpeq r0, #0 bne _021853cc add r0, r4, #0x800 ldrsh r1, [r0, #0x86] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x86] _021853cc: mov r2, #0 _021853d0: add r0, r4, r2, lsl #1 add r0, r0, #0x800 ldrsh r1, [r0, #0x80] add r2, r2, #1 cmp r1, #0 subgt r1, r1, #1 strgth r1, [r0, #0x80] cmp r2, #3 blt _021853d0 add r0, r4, #0x800 ldrsh r1, [r0, #0x8c] cmp r1, #0 subne r1, r1, #1 strneh r1, [r0, #0x8c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_021852fc _0218540c: .word data_027e0fc8 .global func_ov36_02185410 arm_func_start func_ov36_02185410 func_ov36_02185410: ; 0x02185410 add r0, r0, #0x800 ldrsh r1, [r0, #0x7e] cmp r1, #0x1e movlt r1, #0x1e strlth r1, [r0, #0x7e] bx lr arm_func_end func_ov36_02185410 .global func_ov36_02185428 arm_func_start func_ov36_02185428 func_ov36_02185428: ; 0x02185428 ldr r0, [r0, #0x878] tst r0, #0x400000 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov36_02185428 .global func_ov36_0218543c arm_func_start func_ov36_0218543c func_ov36_0218543c: ; 0x0218543c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 ldr r0, [r4, #0x85c] cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} add r1, r4, #0x800 ldrh r1, [r1, #0x9a] mov ip, #0 ldr r2, _021854e4 ; =data_02050f54 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r1, r1, lsl #0x1 ldrsh r2, [r2, r1] smull r5, lr, r3, r0 adds r6, r5, #0x800 smull r3, r0, r2, r0 adc r5, lr, #0 adds r2, r3, #0x800 mov r3, r6, lsr #0xc orr r3, r3, r5, lsl #20 adc r0, r0, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 add r0, r4, #0x48 str r2, [sp, #8] add r1, sp, #0 str r3, [sp] str ip, [sp, #4] mov r2, r0 bl func_01ff9bc4 ldr r0, [r4, #0x85c] subs r0, r0, #0x148 str r0, [r4, #0x85c] movmi r0, #0 strmi r0, [r4, #0x85c] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_0218543c _021854e4: .word data_02050f54 .global func_ov36_021854e8 arm_func_start func_ov36_021854e8 func_ov36_021854e8: ; 0x021854e8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x878] tst r0, #0x400 ldmneia sp!, {r4, pc} tst r0, #0x200 ldmeqia sp!, {r4, pc} add r0, r4, #0x800 ldrsh r1, [r0, #0x8a] add r1, r1, #1 strh r1, [r0, #0x8a] ldrsh r0, [r0, #0x8a] cmp r0, #0x384 ldmltia sp!, {r4, pc} mov r0, #0x10000 ldr r1, [r4, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmneia sp!, {r4, pc} ldr r0, _0218557c ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bc46c cmp r0, #1 ldmneia sp!, {r4, pc} add r1, r4, #0x3b4 ldr r0, _02185580 ; =data_027e0c68 ldr r2, _02185584 ; =0x00690332 add r1, r1, #0x400 bl func_02036ce4 mov r0, r4 mov r1, #1 bl func_ov00_020c1908 ldr r0, [r4, #0x878] orr r0, r0, #0xc00 str r0, [r4, #0x878] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_021854e8 _0218557c: .word data_027e0fc8 _02185580: .word data_027e0c68 _02185584: .word 0x00690332 .global func_ov36_02185588 arm_func_start func_ov36_02185588 func_ov36_02185588: ; 0x02185588 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #0x12 ldmeqia sp!, {r4, pc} mov r0, #0x10000 ldr r1, [r4, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldmeqia sp!, {r4, pc} add r0, r4, #0x3b4 add r0, r0, #0x400 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #0x10000 ldr r1, [r4, #0x7cc] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 ldreq r0, [r4, #0x878] biceq r0, r0, #0x800 streq r0, [r4, #0x878] ldmia sp!, {r4, pc} arm_func_end func_ov36_02185588 .global func_ov36_021855ec arm_func_start func_ov36_021855ec func_ov36_021855ec: ; 0x021855ec stmdb sp!, {r4, r5, r6, lr} mov r6, r0 add r0, r6, #0x800 mov r5, r1 mov r4, r2 ldr r1, [r5] ldrsh r2, [r0, #0x92] cmp r1, #0x1000 strleh r2, [r0, #0x94] ble _0218563c ldrsh r0, [r0, #0x94] sub r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl func_01ff98e0 add r1, r6, #0x800 ldrsh r2, [r1, #0x94] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x94] _0218563c: cmp r4, #0 bne _0218568c add r0, r6, #0x800 mov r2, #0 strh r2, [r0, #0x98] ldr r1, [r5] cmp r1, #0x1000 strleh r2, [r0, #0x96] ldmleia sp!, {r4, r5, r6, pc} ldrsh r0, [r0, #0x96] rsb r0, r0, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x4 bl func_01ff98e0 add r1, r6, #0x800 ldrsh r2, [r1, #0x96] add r0, r0, #0x800 add r0, r2, r0, asr #12 strh r0, [r1, #0x96] ldmia sp!, {r4, r5, r6, pc} _0218568c: add r1, r6, #0x800 ldrh r3, [r1, #0x98] ldr r2, _021856c8 ; =data_02050f54 mov r0, #0x1f4 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 ldrsh r2, [r2, r3] smulbb r0, r2, r0 mov r0, r0, asr #0xc strh r0, [r1, #0x96] ldrsh r0, [r1, #0x98] add r0, r0, #0x1ac add r0, r0, #0xc00 strh r0, [r1, #0x98] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov36_021855ec _021856c8: .word data_02050f54 .global func_ov36_021856cc arm_func_start func_ov36_021856cc func_ov36_021856cc: ; 0x021856cc stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 mov r7, r0 mov r6, r2 cmp r1, #0 beq _021857a8 ldr r1, _02185854 ; =data_027e0fa0 ldr r0, _02185858 ; =data_027e0fcc ldmia r1, {r2, r5} str r5, [sp, #0x10] str r2, [sp, #0xc] ldr r2, [r1, #8] ldr r1, _0218585c ; =data_027e0f94 str r2, [sp, #0x14] ldr r0, [r0] ldr r1, [r1, #4] ldr r2, [r0, #8] ldr r3, [r7, #0x4c] mov r0, r5 mov r4, #0 _0218571c: add r1, r1, r0 cmp r1, r3 sub r0, r0, r2 add r4, r4, #0x1000 bgt _0218571c add r0, sp, #0xc mov r2, #0 mov r1, r0 str r2, [sp, #0x10] bl func_01ff9d4c cmp r4, #0x8000 mov r0, #0x2000 blt _02185768 mov r1, r4 bl func_01ff98e0 mov r1, r0 add r0, sp, #0xc bl func_01fffbec b _0218577c _02185768: mov r1, #0x8000 bl func_01ff98e0 mov r1, r0 add r0, sp, #0xc bl func_01fffbec _0218577c: ldr r1, [sp, #0xc] ldr r0, [sp, #0x14] rsb r1, r1, #0 rsb r0, r0, #0 str r5, [sp, #0x10] str r1, [sp, #0xc] str r0, [sp, #0x14] ldr r0, [r7, #0x878] orr r0, r0, #0x4000 str r0, [r7, #0x878] b _0218581c _021857a8: bl func_ov00_020c2974 ldr r1, _02185854 ; =data_027e0fa0 mov r4, r0, lsl #0x10 ldr r0, [r1] ldr r1, [r1, #8] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x8000 mov r2, #0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 rsb r0, r0, r4, lsr #16 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, r4, lsr #16 mov r1, r0, lsl #0x10 mov r3, #0x1000 add r0, sp, #0xc mov r1, r1, asr #0x10 str r2, [sp, #0xc] str r2, [sp, #0x10] str r3, [sp, #0x14] bl func_ov00_020a61ac add r0, sp, #0xc mov r1, #0x400 bl func_01fffbec mov r0, #0 str r0, [sp, #0x10] _0218581c: ldr r0, _02185860 ; =data_027e0fc8 add r1, sp, #0xc ldr r0, [r0] mov r2, r6 ldr r3, [r0] ldr r3, [r3, #0x6c] blx r3 mov r0, r7 bl func_ov00_020c2840 add r0, r7, #0x800 mov r1, #0xa strh r1, [r0, #0x88] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_021856cc _02185854: .word data_027e0fa0 _02185858: .word data_027e0fcc _0218585c: .word data_027e0f94 _02185860: .word data_027e0fc8 .global func_ov36_02185864 arm_func_start func_ov36_02185864 func_ov36_02185864: ; 0x02185864 stmdb sp!, {r4, lr} ldrb r1, [r0, #0x8a7] cmp r1, #5 beq _021858b0 ldr r1, _021858ec ; =data_027e0764 ldr r3, [r1] ldmib r1, {r2, ip} umull r4, lr, ip, r3 mla lr, ip, r2, lr ldr r2, [r1, #0xc] ldr ip, [r1, #0x10] mla lr, r2, r3, lr ldr r2, [r1, #0x14] adds r3, ip, r4 adc r2, r2, lr str r3, [r1] str r2, [r1, #4] tst r2, #0x80000000 beq _021858e4 _021858b0: ldr r1, [r0, #0x878] tst r1, #0x80 bne _021858d4 ldr r2, [r0, #0x878] mov r1, #3 orr r2, r2, #0x80 str r2, [r0, #0x878] bl func_ov36_0217d6bc b _021858dc _021858d4: mov r0, #0 ldmia sp!, {r4, pc} _021858dc: mov r0, #1 ldmia sp!, {r4, pc} _021858e4: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02185864 _021858ec: .word data_027e0764 .global func_ov36_021858f0 arm_func_start func_ov36_021858f0 func_ov36_021858f0: ; 0x021858f0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 mov r4, r0 mov r1, #0 strb r1, [r4, #0x8ad] ldr r1, [r4, #0x878] tst r1, #0x100000 beq _02185af4 add r0, r4, #0x48 ldmia r0, {r0, r1, r2} add lr, sp, #0x28 stmia lr, {r0, r1, r2} add ip, r4, #0x7c add r3, sp, #0x18 ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x88] mov r2, #1 str r0, [sp, #0x24] ldr ip, [r4, #0x6b8] add r0, sp, #0xc ldr r3, [ip, #0x48] add r1, r4, #0x178 str r3, [r4, #0x48] ldr r3, [ip, #0x4c] str r3, [r4, #0x4c] ldr r3, [ip, #0x50] str r3, [r4, #0x50] ldr ip, [r4, #0x6b8] ldr r3, [ip, #0x7c] str r3, [r4, #0x7c] ldr r3, [ip, #0x80] str r3, [r4, #0x80] ldr r3, [ip, #0x84] str r3, [r4, #0x84] ldr r3, [ip, #0x88] str r3, [r4, #0x88] strb r2, [r4, #0x8ad] bl func_ov36_0217c630 ldr r0, [sp, #0xc] mov r1, #0 str r0, [r4, #0x48] ldr r2, [sp, #0x10] mov r0, r4 str r2, [r4, #0x4c] ldr r3, [sp, #0x14] mov r2, #0x1800 str r3, [r4, #0x50] str r1, [r4, #0x7c] str r1, [r4, #0x80] str r1, [r4, #0x84] mov r1, #2 str r2, [r4, #0x88] bl func_ov00_020c1fc8 cmp r0, #0 beq _02185a24 _021859d0: ldr r0, [r4, #0x130] cmp r0, #0x18 beq _021859f4 ldr r0, [sp, #0x28] str r0, [r4, #0x48] ldr r0, [sp, #0x2c] str r0, [r4, #0x4c] ldr r0, [sp, #0x30] str r0, [r4, #0x50] _021859f4: ldr r1, [sp, #0x18] mov r0, #0 str r1, [r4, #0x7c] ldr r1, [sp, #0x1c] str r1, [r4, #0x80] ldr r1, [sp, #0x20] str r1, [r4, #0x84] ldr r1, [sp, #0x24] add sp, sp, #0x34 str r1, [r4, #0x88] strb r0, [r4, #0x8ad] ldmia sp!, {r3, r4, pc} _02185a24: add r0, sp, #0 add r1, r4, #0x178 mov r2, #1 bl func_ov36_0217c630 ldr r0, [sp] mov r1, #0 str r0, [r4, #0x48] ldr r0, [sp, #4] ldr r2, _02185b14 ; =0x00000ccd str r0, [r4, #0x4c] ldr r3, [sp, #8] mov r0, r4 str r3, [r4, #0x50] str r1, [r4, #0x7c] str r1, [r4, #0x80] str r1, [r4, #0x84] mov r1, #0x18 str r2, [r4, #0x88] bl func_ov00_020c1fc8 cmp r0, #0 bne _021859d0 mov r1, #0 mov r0, r4 mov r2, r1 bl func_ov00_020c243c cmp r0, #0 bne _021859d0 ldr r1, [sp, #0x28] mov r0, r4 str r1, [r4, #0x48] ldr r1, [sp, #0x2c] mov r2, #0 str r1, [r4, #0x4c] ldr r3, [sp, #0x30] mov r1, #0x1a str r3, [r4, #0x50] ldr r3, [sp, #0x18] str r3, [r4, #0x7c] ldr r3, [sp, #0x1c] str r3, [r4, #0x80] ldr r3, [sp, #0x20] str r3, [r4, #0x84] ldr r3, [sp, #0x24] str r3, [r4, #0x88] strb r2, [r4, #0x8ad] bl func_ov00_020c1fc8 mov r1, #0 mov r0, r4 mov r2, r1 bl func_ov00_020c243c add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _02185af4: mov r1, #0x10 bl func_ov00_020c1fc8 mov r1, #0 mov r0, r4 mov r2, r1 bl func_ov00_020c243c add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_021858f0 _02185b14: .word 0x00000ccd .global func_ov36_02185b18 arm_func_start func_ov36_02185b18 func_ov36_02185b18: ; 0x02185b18 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r1, [r0, #0x4c] ldr r3, [r0, #0x50] ldr r2, [r0, #0x48] add r1, r1, #0xcd add r1, r1, #0xc00 ldr r4, _02185b78 ; =data_027e0e58 str r2, [sp] str r1, [sp, #4] str r3, [sp, #8] add r7, r0, #0x670 mov r6, #0 add r5, sp, #0 _02185b50: ldr r0, [r4] mov r1, r7 mov r2, r5 bl func_ov00_0207c474 add r6, r6, #1 cmp r6, #3 add r7, r7, #0xc blt _02185b50 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov36_02185b18 _02185b78: .word data_027e0e58 .global func_ov36_02185b7c arm_func_start func_ov36_02185b7c func_ov36_02185b7c: ; 0x02185b7c stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 cmp r1, #0 mov r0, #0x1800 beq _02185bac ldr r2, _02185c74 ; =0xffffe99a str r0, [sp, #0x1c] add r1, r2, #0x2000 str r2, [sp, #0x14] str r1, [sp, #0x18] b _02185bc0 _02185bac: ldr r2, _02185c78 ; =0x00001666 str r0, [sp, #0x1c] rsb r1, r2, #0x2000 str r2, [sp, #0x14] str r1, [sp, #0x18] _02185bc0: ldrsh r1, [r4, #0x78] add r0, sp, #0x14 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x14 str r1, [sp, #8] ldr r2, [r4, #0x4c] add r1, sp, #8 str r2, [sp, #0xc] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] bl func_01ff9bc4 add r0, r4, #0x78 str r0, [sp] ldr r1, _02185c7c ; =func_ov36_0217bdb4 ldr r0, _02185c80 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r2, sp, #0x14 mov r1, #0xb mov r3, #2 bl func_ov00_0207c1b0 add r0, r4, #0x78 str r0, [sp] ldr r1, _02185c7c ; =func_ov36_0217bdb4 ldr r0, _02185c80 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #0xc add r2, sp, #0x14 mov r3, #2 bl func_ov00_0207c1b0 add r0, r4, #0x78 str r0, [sp] ldr r1, _02185c7c ; =func_ov36_0217bdb4 ldr r0, _02185c80 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r1, #0xd add r2, sp, #0x14 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02185b7c _02185c74: .word 0xffffe99a _02185c78: .word 0x00001666 _02185c7c: .word func_ov36_0217bdb4 _02185c80: .word data_027e0e58 .global func_ov36_02185c84 arm_func_start func_ov36_02185c84 func_ov36_02185c84: ; 0x02185c84 stmdb sp!, {r4, lr} sub sp, sp, #0x68 mov r4, r0 ldr r0, [r4, #0x360] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x358] cmp r0, #0 addne sp, sp, #0x68 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x168] mov r1, #0x3000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02185da4 ldr r2, _02185ea4 ; =0x00001333 ldr r3, _02185ea8 ; =0x00000266 ldr ip, _02185eac ; =0xfffff19a sub r0, r2, #0x1800 add r1, r3, #0xc00 str r0, [sp, #0x58] str ip, [sp, #0x5c] str r3, [sp, #0x60] str r2, [sp, #0x64] str r3, [sp, #0x54] str r1, [sp, #0x50] ldrsh r1, [r4, #0x78] add r0, sp, #0x5c bl func_ov00_020a61ac ldrsh r1, [r4, #0x78] add r0, sp, #0x50 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x5c str r1, [sp, #0x2c] ldr r2, [r4, #0x4c] add r1, sp, #0x2c str r2, [sp, #0x30] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x34] bl func_01ff9bc4 ldr r1, [r4, #0x48] add r0, sp, #0x50 str r1, [sp, #0x20] ldr r2, [r4, #0x4c] add r1, sp, #0x20 str r2, [sp, #0x24] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x28] bl func_01ff9bc4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02185eb0 ; =data_027e0e58 mov r1, #0x10 ldr r0, [r0] add r2, sp, #0x5c mov r3, #2 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02185eb0 ; =data_027e0e58 mov r1, #0xf ldr r0, [r0] add r2, sp, #0x50 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x68 ldmia sp!, {r4, pc} _02185da4: ldr r0, [r4, #0x168] mov r1, #0x1b000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 addeq sp, sp, #0x68 ldmeqia sp!, {r4, pc} ldr ip, _02185eb4 ; =0x00000e66 ldr r2, _02185ea4 ; =0x00001333 sub r3, ip, #0xc00 sub r0, r2, #0x1800 rsb r1, ip, #0 str r0, [sp, #0x40] str ip, [sp, #0x44] str r3, [sp, #0x48] str r2, [sp, #0x4c] str r3, [sp, #0x3c] str r1, [sp, #0x38] ldrsh r1, [r4, #0x78] add r0, sp, #0x44 bl func_ov00_020a61ac ldrsh r1, [r4, #0x78] add r0, sp, #0x38 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 r1, [r4, #0x48] add r0, sp, #0x38 str r1, [sp, #8] ldr r2, [r4, #0x4c] add r1, sp, #8 str r2, [sp, #0xc] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02185eb0 ; =data_027e0e58 mov r1, #0x10 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, _02185eb0 ; =data_027e0e58 mov r1, #0xf ldr r0, [r0] add r2, sp, #0x38 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x68 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_02185c84 _02185ea4: .word 0x00001333 _02185ea8: .word 0x00000266 _02185eac: .word 0xfffff19a _02185eb0: .word data_027e0e58 _02185eb4: .word 0x00000e66 .global func_ov36_02185eb8 arm_func_start func_ov36_02185eb8 func_ov36_02185eb8: ; 0x02185eb8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c ldr r3, _02185fac ; =0xfffff19a ldr r2, _02185fb0 ; =0x00000266 ldr r1, _02185fb4 ; =0x00001333 mov r4, r0 str r3, [sp, #0x20] str r2, [sp, #0x24] str r1, [sp, #0x28] ldrsh r1, [r4, #0x78] add r0, sp, #0x20 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x20 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 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02185fb8 ; =data_027e0e58 add r2, sp, #0x20 ldr r0, [r0] mov r1, #0x1000 mov r3, #2 bl func_ov00_0207c1b0 ldr r1, _02185fbc ; =0x00000e66 ldr r0, _02185fb4 ; =0x00001333 str r1, [sp, #0x20] str r0, [sp, #0x28] sub r0, r1, #0xc00 str r0, [sp, #0x24] ldrsh r1, [r4, #0x78] add r0, sp, #0x20 bl func_ov00_020a61ac ldr r1, [r4, #0x48] add r0, sp, #0x20 str r1, [sp, #8] ldr r2, [r4, #0x4c] add r1, sp, #8 str r2, [sp, #0xc] ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] bl func_01ff9bc4 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02185fb8 ; =data_027e0e58 mov r1, #0x1000 ldr r0, [r0] add r2, sp, #0x20 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov36_02185eb8 _02185fac: .word 0xfffff19a _02185fb0: .word 0x00000266 _02185fb4: .word 0x00001333 _02185fb8: .word data_027e0e58 _02185fbc: .word 0x00000e66 .global func_ov36_02185fc0 arm_func_start func_ov36_02185fc0 func_ov36_02185fc0: ; 0x02185fc0 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov36_02185fc0 .global func_ov36_02185fdc arm_func_start func_ov36_02185fdc func_ov36_02185fdc: ; 0x02185fdc bx lr arm_func_end func_ov36_02185fdc .global func_ov36_02185fe0 arm_func_start func_ov36_02185fe0 func_ov36_02185fe0: ; 0x02185fe0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f6c mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov36_02185fe0 .global func_ov36_02185ffc arm_func_start func_ov36_02185ffc func_ov36_02185ffc: ; 0x02185ffc stmdb sp!, {r3, lr} ldr r1, _02186028 ; =data_027e0fe0 mov r0, #0x180 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov36_0218602c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_02185ffc _02186028: .word data_027e0fe0 .global func_ov36_0218602c arm_func_start func_ov36_0218602c func_ov36_0218602c: ; 0x0218602c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r0, _02186074 ; =data_ov36_02186eec mov r1, #0 str r0, [r4] str r1, [r4, #0x158] sub r0, r1, #1 str r0, [r4, #0x15c] str r1, [r4, #0x160] str r1, [r4, #0x164] str r0, [r4, #0x168] str r1, [r4, #0x16c] str r1, [r4, #0x170] str r0, [r4, #0x174] mov r0, r4 str r1, [r4, #0x178] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov36_0218602c _02186074: .word data_ov36_02186eec .global func_ov36_02186078 arm_func_start func_ov36_02186078 func_ov36_02186078: ; 0x02186078 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x170 bl func_ov00_020b7e6c add r0, r4, #0x170 bl func_ov00_020b7df0 add r0, r4, #0x164 bl func_ov00_020b7e6c add r0, r4, #0x164 bl func_ov00_020b7df0 add r0, r4, #0x158 bl func_ov00_020b7e6c add r0, r4, #0x158 bl func_ov00_020b7df0 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov36_02186078 .global func_ov36_021860c0 arm_func_start func_ov36_021860c0 func_ov36_021860c0: ; 0x021860c0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x170 bl func_ov00_020b7e6c add r0, r4, #0x170 bl func_ov00_020b7df0 add r0, r4, #0x164 bl func_ov00_020b7e6c add r0, r4, #0x164 bl func_ov00_020b7df0 add r0, r4, #0x158 bl func_ov00_020b7e6c add r0, r4, #0x158 bl func_ov00_020b7df0 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov36_021860c0 .global func_ov36_02186110 arm_func_start func_ov36_02186110 func_ov36_02186110: ; 0x02186110 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, #0 str r5, [r0, #0x130] str r5, [r0, #0x138] ldrh r1, [r0, #0x20] cmp r1, #0 bne _02186180 ldr r2, _021862a8 ; =0x00001004 mov r3, #2 strb r3, [r0, #0x124] str r2, [r0, #0x15c] str r3, [r0, #0x160] add r1, r2, #1 str r1, [r0, #0x168] str r3, [r0, #0x16c] add r1, r2, #2 str r1, [r0, #0x174] ldr r1, _021862ac ; =data_027e0d0c str r3, [r0, #0x178] ldr r3, [r1] mov r2, #0x800 str r3, [r0, #0x7c] ldr r3, [r1, #4] str r3, [r0, #0x80] ldr r1, [r1, #8] str r1, [r0, #0x84] str r2, [r0, #0x88] b _021861c8 _02186180: mov r1, #4 ldr r3, _021862b0 ; =0x00001007 strb r1, [r0, #0x124] str r3, [r0, #0x15c] mov r4, #2 mov r2, #0x800 str r4, [r0, #0x160] add r3, r3, #1 str r3, [r0, #0x168] str r4, [r0, #0x16c] str r2, [r0, #0x17c] mov r1, r2, lsl #0xb str r5, [r0, #0x7c] add r1, r1, #0x800 str r5, [r0, #0x80] str r5, [r0, #0x84] mov r1, r1, asr #0xc str r1, [r0, #0x88] _021861c8: ldr r1, [r0, #0x7c] mov r2, #2 str r1, [r0, #0x8c] ldr r1, [r0, #0x80] mov r3, #0 str r1, [r0, #0x90] ldr r4, [r0, #0x84] ldr r1, _021862ac ; =data_027e0d0c str r4, [r0, #0x94] ldr r4, [r0, #0x88] mov r5, #7 str r4, [r0, #0x98] ldr r6, [r0, #0x88] ldr r4, [r1] add r7, r6, #0x1000 str r4, [r0, #0xa8] ldr r6, [r1, #4] ldr r4, _021862b4 ; =data_02050f54 str r6, [r0, #0xac] ldr r6, [r1, #8] add r1, r2, #0x264 str r6, [r0, #0xb0] str r7, [r0, #0xb4] strh r5, [r0, #0x9c] strb r2, [r0, #0x125] ldrh r5, [r0, #0x78] add r2, r2, #0x264 sub ip, r3, #0x3d mov r5, r5, asr #0x4 mov r7, r5, lsl #0x1 mov r5, r7, lsl #0x1 ldrsh r6, [r4, r5] add lr, r7, #1 mov lr, lr, lsl #0x1 ldrsh lr, [r4, lr] umull r8, r7, r6, r1 umull r5, r4, lr, r2 adds r8, r8, #0x800 mla r7, r6, r3, r7 mov r6, r6, asr #0x1f mla r7, r6, r1, r7 adc r1, r7, #0 mov r6, r8, lsr #0xc adds r5, r5, #0x800 orr r6, r6, r1, lsl #20 mla r4, lr, r3, r4 mov r1, lr, asr #0x1f mla r4, r1, r2, r4 adc r1, r4, #0 mov r2, r5, lsr #0xc str r6, [r0, #0x60] orr r2, r2, r1, lsl #20 str r2, [r0, #0x68] str ip, [r0, #0x64] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov36_02186110 _021862a8: .word 0x00001004 _021862ac: .word data_027e0d0c _021862b0: .word 0x00001007 _021862b4: .word data_02050f54 .global func_ov36_021862b8 arm_func_start func_ov36_021862b8 func_ov36_021862b8: ; 0x021862b8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _02186620 mov r0, r5 bl func_ov00_020c2bf4 ldr r0, [r5, #0x130] cmp r0, #0 bne _021864cc add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 ldrh r0, [r5, #0x20] cmp r0, #0 beq _0218633c ldr r0, [r5, #0x17c] cmp r0, #0x1000 bge _02186324 add r0, r0, #0x33 str r0, [r5, #0x17c] cmp r0, #0x1000 movgt r0, #0x1000 strgt r0, [r5, #0x17c] _02186324: ldr r0, [r5, #0x17c] mov r0, r0, lsl #0xb add r0, r0, #0x800 mov r0, r0, asr #0xc str r0, [r5, #0x98] str r0, [r5, #0x88] _0218633c: ldrb r0, [r5, #0xa4] cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 beq _02186470 ldrh r0, [r5, #0x20] cmp r0, #0 beq _02186430 add r0, r5, #0x48 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r5, #0x17c] mov r1, #0x800 sub r0, r0, #0x800 bl func_01ff98e0 mov r1, r0, asr #0x1f mov r2, r1, lsl #0xb mov r1, #0x800 adds r3, r1, r0, lsl #11 orr r2, r2, r0, lsr #21 ldr r0, _02186638 ; =data_027e0e58 adc r1, r2, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 ldr r3, [sp, #0xc] ldr r0, [r0] add r3, r3, r2 add r2, sp, #8 add r1, r5, #0x158 str r3, [sp, #0xc] bl func_ov00_0207c474 ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x164 ldr r0, [r0] add r2, sp, #8 bl func_ov00_0207c474 ldr r0, [r5, #0x17c] ldr r1, [r5, #0x158] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r1, #0 strne r0, [r1, #0x70] ldr r0, [r5, #0x17c] ldr r1, [r5, #0x164] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r1, #0 strne r0, [r1, #0x70] ldr r1, [r5, #0x164] ldr r2, [r5, #0x17c] ldr r0, _0218663c ; =0x00000333 cmp r1, #0 mul r0, r2, r0 add r0, r0, #0x800 mov r0, r0, asr #0xc beq _02186488 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r1, #0x6c] b _02186488 _02186430: ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x158 ldr r0, [r0] add r2, r5, #0x48 bl func_ov00_0207c474 ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x164 ldr r0, [r0] add r2, r5, #0x48 bl func_ov00_0207c474 ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x170 ldr r0, [r0] add r2, r5, #0x48 bl func_ov00_0207c474 b _02186488 _02186470: add r0, r5, #0x158 bl func_ov00_020b7e6c add r0, r5, #0x164 bl func_ov00_020b7e6c add r0, r5, #0x170 bl func_ov00_020b7e6c _02186488: mov r0, r5 mov r1, #0 bl func_01fffd04 ldrb r0, [r5, #0x111] cmp r0, #0 ldreqb r0, [r5, #0x110] cmpeq r0, #0 ldreqb r0, [r5, #0x112] cmpeq r0, #0 ldreqb r0, [r5, #0x113] cmpeq r0, #0 beq _021865f4 mov r0, #1 str r0, [r5, #0x130] mov r0, #0 str r0, [r5, #0x138] b _021865f4 _021864cc: ldrb r0, [r5, #0xa4] cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 beq _0218658c ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x158 ldr r0, [r0] add r2, r5, #0x48 bl func_ov00_0207c474 ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x164 ldr r0, [r0] add r2, r5, #0x48 bl func_ov00_0207c474 ldrh r0, [r5, #0x20] cmp r0, #0 beq _02186574 ldr r0, [r5, #0x17c] ldr r1, [r5, #0x158] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r1, #0 strne r0, [r1, #0x70] ldr r0, [r5, #0x17c] ldr r1, [r5, #0x164] mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r1, #0 strne r0, [r1, #0x70] ldr r2, [r5, #0x17c] ldr r0, _0218663c ; =0x00000333 ldr r1, [r5, #0x164] mul r0, r2, r0 add r0, r0, #0x800 cmp r1, #0 mov r0, r0, asr #0xc beq _021865a4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r1, #0x6c] b _021865a4 _02186574: ldr r0, _02186638 ; =data_027e0e58 add r1, r5, #0x170 ldr r0, [r0] add r2, r5, #0x48 bl func_ov00_0207c474 b _021865a4 _0218658c: add r0, r5, #0x158 bl func_ov00_020b7e6c add r0, r5, #0x164 bl func_ov00_020b7e6c add r0, r5, #0x170 bl func_ov00_020b7e6c _021865a4: ldr r0, [r5, #0x138] cmp r0, #0xf ble _021865f4 add r0, r5, #0x158 bl func_ov00_020b7e6c add r0, r5, #0x164 bl func_ov00_020b7e6c add r0, r5, #0x170 bl func_ov00_020b7e6c ldr r0, _02186640 ; =data_027e0fe4 add r1, r5, #0x34 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 beq _021865e4 bl func_ov36_02185410 _021865e4: mov r0, #0 add sp, sp, #0x14 strb r0, [r5, #0x118] ldmia sp!, {r4, r5, pc} _021865f4: mov r0, r5 mov r1, #1 mov r2, #0 bl func_ov00_020c1e2c add r0, sp, #0 mov r1, r5 bl func_ov00_020c23c4 ldr r1, _02186644 ; =data_ov36_02186ba8 mov r0, r5 mov r2, #0 bl func_ov00_020c243c _02186620: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov36_021862b8 _02186638: .word data_027e0e58 _0218663c: .word 0x00000333 _02186640: .word data_027e0fe4 _02186644: .word data_ov36_02186ba8 .global func_ov36_02186648 arm_func_start func_ov36_02186648 func_ov36_02186648: ; 0x02186648 stmdb sp!, {r3, lr} ldr r0, [r1, #0x14] cmp r0, #0 beq _02186688 ldr r2, [r0, #4] ldr r1, _02186690 ; =0x424f4d42 cmp r2, r1 bne _02186670 bl func_ov14_02122e98 b _02186680 _02186670: ldr r1, _02186694 ; =0x424d5459 cmp r2, r1 moveq r1, #1 streqb r1, [r0, #0x180] _02186680: mov r0, #1 ldmia sp!, {r3, pc} _02186688: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_02186648 _02186690: .word 0x424f4d42 _02186694: .word 0x424d5459 .rodata .global data_ov36_02186698 data_ov36_02186698: ; 0x02186698 .byte 0x7c, 0xdd, 0x17, 0x02 .global data_ov36_0218669c data_ov36_0218669c: ; 0x0218669c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866a0 data_ov36_021866a0: ; 0x021866a0 .byte 0x00, 0xde, 0x17, 0x02 .global data_ov36_021866a4 data_ov36_021866a4: ; 0x021866a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866a8 data_ov36_021866a8: ; 0x021866a8 .byte 0xe0, 0xe3, 0x17, 0x02 .global data_ov36_021866ac data_ov36_021866ac: ; 0x021866ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866b0 data_ov36_021866b0: ; 0x021866b0 .byte 0xb8, 0xe6, 0x17, 0x02 .global data_ov36_021866b4 data_ov36_021866b4: ; 0x021866b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866b8 data_ov36_021866b8: ; 0x021866b8 .byte 0xa4, 0xe7, 0x17, 0x02 .global data_ov36_021866bc data_ov36_021866bc: ; 0x021866bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866c0 data_ov36_021866c0: ; 0x021866c0 .byte 0x58, 0xeb, 0x17, 0x02 .global data_ov36_021866c4 data_ov36_021866c4: ; 0x021866c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866c8 data_ov36_021866c8: ; 0x021866c8 .byte 0x50, 0xed, 0x17, 0x02 .global data_ov36_021866cc data_ov36_021866cc: ; 0x021866cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866d0 data_ov36_021866d0: ; 0x021866d0 .byte 0x7c, 0xef, 0x17, 0x02 .global data_ov36_021866d4 data_ov36_021866d4: ; 0x021866d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866d8 data_ov36_021866d8: ; 0x021866d8 .byte 0xc0, 0xf0, 0x17, 0x02 .global data_ov36_021866dc data_ov36_021866dc: ; 0x021866dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866e0 data_ov36_021866e0: ; 0x021866e0 .byte 0x78, 0xf1, 0x17, 0x02 .global data_ov36_021866e4 data_ov36_021866e4: ; 0x021866e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866e8 data_ov36_021866e8: ; 0x021866e8 .byte 0x9c, 0xf4, 0x17, 0x02 .global data_ov36_021866ec data_ov36_021866ec: ; 0x021866ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866f0 data_ov36_021866f0: ; 0x021866f0 .byte 0x98, 0xf9, 0x17, 0x02 .global data_ov36_021866f4 data_ov36_021866f4: ; 0x021866f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021866f8 data_ov36_021866f8: ; 0x021866f8 .byte 0xf0, 0xfd, 0x17, 0x02 .global data_ov36_021866fc data_ov36_021866fc: ; 0x021866fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186700 data_ov36_02186700: ; 0x02186700 .byte 0xdc, 0xff, 0x17, 0x02 .global data_ov36_02186704 data_ov36_02186704: ; 0x02186704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186708 data_ov36_02186708: ; 0x02186708 .byte 0x1c, 0x01, 0x18, 0x02 .global data_ov36_0218670c data_ov36_0218670c: ; 0x0218670c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186710 data_ov36_02186710: ; 0x02186710 .byte 0xc8, 0x01, 0x18, 0x02 .global data_ov36_02186714 data_ov36_02186714: ; 0x02186714 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186718 data_ov36_02186718: ; 0x02186718 .byte 0x70, 0x05, 0x18, 0x02 .global data_ov36_0218671c data_ov36_0218671c: ; 0x0218671c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186720 data_ov36_02186720: ; 0x02186720 .byte 0x58, 0x06, 0x18, 0x02 .global data_ov36_02186724 data_ov36_02186724: ; 0x02186724 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186728 data_ov36_02186728: ; 0x02186728 .byte 0x64, 0x06, 0x18, 0x02 .global data_ov36_0218672c data_ov36_0218672c: ; 0x0218672c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186730 data_ov36_02186730: ; 0x02186730 .byte 0x1c, 0x0d, 0x18, 0x02 .global data_ov36_02186734 data_ov36_02186734: ; 0x02186734 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186738 data_ov36_02186738: ; 0x02186738 .byte 0x34, 0x10, 0x18, 0x02 .global data_ov36_0218673c data_ov36_0218673c: ; 0x0218673c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186740 data_ov36_02186740: ; 0x02186740 .byte 0x6c, 0x15, 0x18, 0x02 .global data_ov36_02186744 data_ov36_02186744: ; 0x02186744 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186748 data_ov36_02186748: ; 0x02186748 .byte 0xb4, 0x18, 0x18, 0x02 .global data_ov36_0218674c data_ov36_0218674c: ; 0x0218674c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186750 data_ov36_02186750: ; 0x02186750 .byte 0x3c, 0x1f, 0x18, 0x02 .global data_ov36_02186754 data_ov36_02186754: ; 0x02186754 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186758 data_ov36_02186758: ; 0x02186758 .byte 0x90, 0x29, 0x18, 0x02 .global data_ov36_0218675c data_ov36_0218675c: ; 0x0218675c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186760 data_ov36_02186760: ; 0x02186760 .byte 0x10, 0x2e, 0x18, 0x02 .global data_ov36_02186764 data_ov36_02186764: ; 0x02186764 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186768 data_ov36_02186768: ; 0x02186768 .byte 0x98, 0xdd, 0x17, 0x02 .global data_ov36_0218676c data_ov36_0218676c: ; 0x0218676c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186770 data_ov36_02186770: ; 0x02186770 .byte 0xcc, 0xde, 0x17, 0x02 .global data_ov36_02186774 data_ov36_02186774: ; 0x02186774 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186778 data_ov36_02186778: ; 0x02186778 .byte 0xf4, 0xe4, 0x17, 0x02 .global data_ov36_0218677c data_ov36_0218677c: ; 0x0218677c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186780 data_ov36_02186780: ; 0x02186780 .byte 0x4c, 0xe7, 0x17, 0x02 .global data_ov36_02186784 data_ov36_02186784: ; 0x02186784 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186788 data_ov36_02186788: ; 0x02186788 .byte 0x18, 0xe8, 0x17, 0x02 .global data_ov36_0218678c data_ov36_0218678c: ; 0x0218678c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186790 data_ov36_02186790: ; 0x02186790 .byte 0xe8, 0xec, 0x17, 0x02 .global data_ov36_02186794 data_ov36_02186794: ; 0x02186794 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186798 data_ov36_02186798: ; 0x02186798 .byte 0x10, 0xef, 0x17, 0x02 .global data_ov36_0218679c data_ov36_0218679c: ; 0x0218679c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867a0 data_ov36_021867a0: ; 0x021867a0 .byte 0xc0, 0xef, 0x17, 0x02 .global data_ov36_021867a4 data_ov36_021867a4: ; 0x021867a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867a8 data_ov36_021867a8: ; 0x021867a8 .byte 0x0c, 0xf1, 0x17, 0x02 .global data_ov36_021867ac data_ov36_021867ac: ; 0x021867ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867b0 data_ov36_021867b0: ; 0x021867b0 .byte 0x1c, 0xf2, 0x17, 0x02 .global data_ov36_021867b4 data_ov36_021867b4: ; 0x021867b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867b8 data_ov36_021867b8: ; 0x021867b8 .byte 0xf4, 0xf4, 0x17, 0x02 .global data_ov36_021867bc data_ov36_021867bc: ; 0x021867bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867c0 data_ov36_021867c0: ; 0x021867c0 .byte 0xf0, 0xf9, 0x17, 0x02 .global data_ov36_021867c4 data_ov36_021867c4: ; 0x021867c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867c8 data_ov36_021867c8: ; 0x021867c8 .byte 0x3c, 0xfe, 0x17, 0x02 .global data_ov36_021867cc data_ov36_021867cc: ; 0x021867cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867d0 data_ov36_021867d0: ; 0x021867d0 .byte 0x6c, 0x00, 0x18, 0x02 .global data_ov36_021867d4 data_ov36_021867d4: ; 0x021867d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867d8 data_ov36_021867d8: ; 0x021867d8 .byte 0x68, 0x01, 0x18, 0x02 .global data_ov36_021867dc data_ov36_021867dc: ; 0x021867dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867e0 data_ov36_021867e0: ; 0x021867e0 .byte 0xa8, 0x04, 0x18, 0x02 .global data_ov36_021867e4 data_ov36_021867e4: ; 0x021867e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867e8 data_ov36_021867e8: ; 0x021867e8 .byte 0xcc, 0x05, 0x18, 0x02 .global data_ov36_021867ec data_ov36_021867ec: ; 0x021867ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867f0 data_ov36_021867f0: ; 0x021867f0 .byte 0x60, 0x06, 0x18, 0x02 .global data_ov36_021867f4 data_ov36_021867f4: ; 0x021867f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021867f8 data_ov36_021867f8: ; 0x021867f8 .byte 0xb0, 0x09, 0x18, 0x02 .global data_ov36_021867fc data_ov36_021867fc: ; 0x021867fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186800 data_ov36_02186800: ; 0x02186800 .byte 0x24, 0x0e, 0x18, 0x02 .global data_ov36_02186804 data_ov36_02186804: ; 0x02186804 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186808 data_ov36_02186808: ; 0x02186808 .byte 0x8c, 0x10, 0x18, 0x02 .global data_ov36_0218680c data_ov36_0218680c: ; 0x0218680c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186810 data_ov36_02186810: ; 0x02186810 .byte 0x90, 0x17, 0x18, 0x02 .global data_ov36_02186814 data_ov36_02186814: ; 0x02186814 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186818 data_ov36_02186818: ; 0x02186818 .byte 0xa8, 0x1b, 0x18, 0x02 .global data_ov36_0218681c data_ov36_0218681c: ; 0x0218681c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186820 data_ov36_02186820: ; 0x02186820 .byte 0xd0, 0x1f, 0x18, 0x02 .global data_ov36_02186824 data_ov36_02186824: ; 0x02186824 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186828 data_ov36_02186828: ; 0x02186828 .byte 0x88, 0x2c, 0x18, 0x02 .global data_ov36_0218682c data_ov36_0218682c: ; 0x0218682c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186830 data_ov36_02186830: ; 0x02186830 .byte 0x88, 0x2f, 0x18, 0x02 .global data_ov36_02186834 data_ov36_02186834: ; 0x02186834 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186838 data_ov36_02186838: ; 0x02186838 .byte 0xa4, 0x01 .global data_ov36_0218683a data_ov36_0218683a: ; 0x0218683a .byte 0x68, 0x01 .global data_ov36_0218683c data_ov36_0218683c: ; 0x0218683c .byte 0x2c, 0x01 .global data_ov36_0218683e data_ov36_0218683e: ; 0x0218683e .byte 0x0b, 0x10 .global data_ov36_02186840 data_ov36_02186840: ; 0x02186840 .byte 0x0c, 0x10 .global data_ov36_02186842 data_ov36_02186842: ; 0x02186842 .byte 0x0d, 0x10 .global data_ov36_02186844 data_ov36_02186844: ; 0x02186844 .byte 0x14, 0x10 .global data_ov36_02186846 data_ov36_02186846: ; 0x02186846 .byte 0x00, 0x00 .global data_ov36_02186848 data_ov36_02186848: ; 0x02186848 .ascii "walk" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186850 data_ov36_02186850: ; 0x02186850 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186854 data_ov36_02186854: ; 0x02186854 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186858 data_ov36_02186858: ; 0x02186858 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218685c data_ov36_0218685c: ; 0x0218685c .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186864 data_ov36_02186864: ; 0x02186864 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186868 data_ov36_02186868: ; 0x02186868 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218686c data_ov36_0218686c: ; 0x0218686c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186870 data_ov36_02186870: ; 0x02186870 .ascii "stagger" .byte 0x00 .global data_ov36_02186878 data_ov36_02186878: ; 0x02186878 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218687c data_ov36_0218687c: ; 0x0218687c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186880 data_ov36_02186880: ; 0x02186880 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186884 data_ov36_02186884: ; 0x02186884 .ascii "stagger_L" .byte 0x00, 0x00, 0x00 .global data_ov36_02186890 data_ov36_02186890: ; 0x02186890 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186894 data_ov36_02186894: ; 0x02186894 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186898 data_ov36_02186898: ; 0x02186898 .ascii "stagger_d" .byte 0x00, 0x00, 0x00 .global data_ov36_021868a4 data_ov36_021868a4: ; 0x021868a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021868a8 data_ov36_021868a8: ; 0x021868a8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021868ac data_ov36_021868ac: ; 0x021868ac .ascii "stagger_d_L" .byte 0x00 .global data_ov36_021868b8 data_ov36_021868b8: ; 0x021868b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021868bc data_ov36_021868bc: ; 0x021868bc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021868c0 data_ov36_021868c0: ; 0x021868c0 .ascii "stagger_wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021868d0 data_ov36_021868d0: ; 0x021868d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021868d4 data_ov36_021868d4: ; 0x021868d4 .ascii "stagger_wait_L" .byte 0x00, 0x00 .global data_ov36_021868e4 data_ov36_021868e4: ; 0x021868e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021868e8 data_ov36_021868e8: ; 0x021868e8 .ascii "stagger_ed" .byte 0x00, 0x00 .global data_ov36_021868f4 data_ov36_021868f4: ; 0x021868f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021868f8 data_ov36_021868f8: ; 0x021868f8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021868fc data_ov36_021868fc: ; 0x021868fc .ascii "stagger_ed_L" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218690c data_ov36_0218690c: ; 0x0218690c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186910 data_ov36_02186910: ; 0x02186910 .ascii "fall" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186918 data_ov36_02186918: ; 0x02186918 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218691c data_ov36_0218691c: ; 0x0218691c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186920 data_ov36_02186920: ; 0x02186920 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186924 data_ov36_02186924: ; 0x02186924 .ascii "fall_L" .byte 0x00, 0x00 .global data_ov36_0218692c data_ov36_0218692c: ; 0x0218692c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186930 data_ov36_02186930: ; 0x02186930 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186934 data_ov36_02186934: ; 0x02186934 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186938 data_ov36_02186938: ; 0x02186938 .ascii "fall_wait" .byte 0x00, 0x00, 0x00 .global data_ov36_02186944 data_ov36_02186944: ; 0x02186944 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186948 data_ov36_02186948: ; 0x02186948 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218694c data_ov36_0218694c: ; 0x0218694c .ascii "fall_wait_L" .byte 0x00 .global data_ov36_02186958 data_ov36_02186958: ; 0x02186958 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218695c data_ov36_0218695c: ; 0x0218695c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186960 data_ov36_02186960: ; 0x02186960 .ascii "damage" .byte 0x00, 0x00 .global data_ov36_02186968 data_ov36_02186968: ; 0x02186968 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_0218696c data_ov36_0218696c: ; 0x0218696c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186970 data_ov36_02186970: ; 0x02186970 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186974 data_ov36_02186974: ; 0x02186974 .ascii "damage_L" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186980 data_ov36_02186980: ; 0x02186980 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186984 data_ov36_02186984: ; 0x02186984 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186988 data_ov36_02186988: ; 0x02186988 .ascii "return" .byte 0x00, 0x00 .global data_ov36_02186990 data_ov36_02186990: ; 0x02186990 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186994 data_ov36_02186994: ; 0x02186994 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186998 data_ov36_02186998: ; 0x02186998 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_0218699c data_ov36_0218699c: ; 0x0218699c .ascii "return_L" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869a8 data_ov36_021869a8: ; 0x021869a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869ac data_ov36_021869ac: ; 0x021869ac .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021869b0 data_ov36_021869b0: ; 0x021869b0 .ascii "return2" .byte 0x00 .global data_ov36_021869b8 data_ov36_021869b8: ; 0x021869b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869bc data_ov36_021869bc: ; 0x021869bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869c0 data_ov36_021869c0: ; 0x021869c0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021869c4 data_ov36_021869c4: ; 0x021869c4 .ascii "fire" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869cc data_ov36_021869cc: ; 0x021869cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869d0 data_ov36_021869d0: ; 0x021869d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869d4 data_ov36_021869d4: ; 0x021869d4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021869d8 data_ov36_021869d8: ; 0x021869d8 .ascii "protect" .byte 0x00 .global data_ov36_021869e0 data_ov36_021869e0: ; 0x021869e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869e4 data_ov36_021869e4: ; 0x021869e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869e8 data_ov36_021869e8: ; 0x021869e8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_021869ec data_ov36_021869ec: ; 0x021869ec .ascii "blazing" .byte 0x00 .global data_ov36_021869f4 data_ov36_021869f4: ; 0x021869f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869f8 data_ov36_021869f8: ; 0x021869f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_021869fc data_ov36_021869fc: ; 0x021869fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a00 data_ov36_02186a00: ; 0x02186a00 .ascii "stepping" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a0c data_ov36_02186a0c: ; 0x02186a0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a10 data_ov36_02186a10: ; 0x02186a10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a14 data_ov36_02186a14: ; 0x02186a14 .ascii "seek" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a1c data_ov36_02186a1c: ; 0x02186a1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a20 data_ov36_02186a20: ; 0x02186a20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a24 data_ov36_02186a24: ; 0x02186a24 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186a28 data_ov36_02186a28: ; 0x02186a28 .ascii "roar" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a30 data_ov36_02186a30: ; 0x02186a30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a34 data_ov36_02186a34: ; 0x02186a34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a38 data_ov36_02186a38: ; 0x02186a38 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186a3c data_ov36_02186a3c: ; 0x02186a3c .ascii "dead" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a44 data_ov36_02186a44: ; 0x02186a44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a48 data_ov36_02186a48: ; 0x02186a48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a4c data_ov36_02186a4c: ; 0x02186a4c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186a50 data_ov36_02186a50: ; 0x02186a50 .ascii "dead_L" .byte 0x00, 0x00 .global data_ov36_02186a58 data_ov36_02186a58: ; 0x02186a58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a5c data_ov36_02186a5c: ; 0x02186a5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a60 data_ov36_02186a60: ; 0x02186a60 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186a64 data_ov36_02186a64: ; 0x02186a64 .ascii "damage2" .byte 0x00 .global data_ov36_02186a6c data_ov36_02186a6c: ; 0x02186a6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a70 data_ov36_02186a70: ; 0x02186a70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a74 data_ov36_02186a74: ; 0x02186a74 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186a78 data_ov36_02186a78: ; 0x02186a78 .ascii "dead2" .byte 0x00, 0x00, 0x00 .global data_ov36_02186a80 data_ov36_02186a80: ; 0x02186a80 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a84 data_ov36_02186a84: ; 0x02186a84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a88 data_ov36_02186a88: ; 0x02186a88 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186a8c data_ov36_02186a8c: ; 0x02186a8c .ascii "down" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a94 data_ov36_02186a94: ; 0x02186a94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a98 data_ov36_02186a98: ; 0x02186a98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186a9c data_ov36_02186a9c: ; 0x02186a9c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186aa0 data_ov36_02186aa0: ; 0x02186aa0 .ascii "inhale" .byte 0x00, 0x00 .global data_ov36_02186aa8 data_ov36_02186aa8: ; 0x02186aa8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186aac data_ov36_02186aac: ; 0x02186aac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ab0 data_ov36_02186ab0: ; 0x02186ab0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186ab4 data_ov36_02186ab4: ; 0x02186ab4 .ascii "revive" .byte 0x00, 0x00 .global data_ov36_02186abc data_ov36_02186abc: ; 0x02186abc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ac0 data_ov36_02186ac0: ; 0x02186ac0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ac4 data_ov36_02186ac4: ; 0x02186ac4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186ac8 data_ov36_02186ac8: ; 0x02186ac8 .ascii "appear" .byte 0x00, 0x00 .global data_ov36_02186ad0 data_ov36_02186ad0: ; 0x02186ad0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ad4 data_ov36_02186ad4: ; 0x02186ad4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ad8 data_ov36_02186ad8: ; 0x02186ad8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186adc data_ov36_02186adc: ; 0x02186adc .ascii "appear" .byte 0x00, 0x00 .global data_ov36_02186ae4 data_ov36_02186ae4: ; 0x02186ae4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ae8 data_ov36_02186ae8: ; 0x02186ae8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186aec data_ov36_02186aec: ; 0x02186aec .byte 0x01, 0x00, 0x00, 0x00 .global data_ov36_02186af0 data_ov36_02186af0: ; 0x02186af0 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186af8 data_ov36_02186af8: ; 0x02186af8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186afc data_ov36_02186afc: ; 0x02186afc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b00 data_ov36_02186b00: ; 0x02186b00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b04 data_ov36_02186b04: ; 0x02186b04 .ascii "inhale_wboss" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b14 data_ov36_02186b14: ; 0x02186b14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b18 data_ov36_02186b18: ; 0x02186b18 .byte 0x00, 0x70, 0x03, 0x00 .global data_ov36_02186b1c data_ov36_02186b1c: ; 0x02186b1c .ascii "inhale_tex01" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b2c data_ov36_02186b2c: ; 0x02186b2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b30 data_ov36_02186b30: ; 0x02186b30 .ascii "inhale_tex02" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b40 data_ov36_02186b40: ; 0x02186b40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b44 data_ov36_02186b44: ; 0x02186b44 .ascii "chin" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b4c data_ov36_02186b4c: ; 0x02186b4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b50 data_ov36_02186b50: ; 0x02186b50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b54 data_ov36_02186b54: ; 0x02186b54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b58 data_ov36_02186b58: ; 0x02186b58 .ascii "tail" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b60 data_ov36_02186b60: ; 0x02186b60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b64 data_ov36_02186b64: ; 0x02186b64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b68 data_ov36_02186b68: ; 0x02186b68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b6c data_ov36_02186b6c: ; 0x02186b6c .ascii "chest" .byte 0x00, 0x00, 0x00 .global data_ov36_02186b74 data_ov36_02186b74: ; 0x02186b74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b78 data_ov36_02186b78: ; 0x02186b78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b7c data_ov36_02186b7c: ; 0x02186b7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b80 data_ov36_02186b80: ; 0x02186b80 .ascii "skl_root" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b8c data_ov36_02186b8c: ; 0x02186b8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b90 data_ov36_02186b90: ; 0x02186b90 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186b94 data_ov36_02186b94: ; 0x02186b94 .ascii "mt_bp_jwl2" .byte 0x00, 0x00 .global data_ov36_02186ba0 data_ov36_02186ba0: ; 0x02186ba0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ba4 data_ov36_02186ba4: ; 0x02186ba4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ba8 data_ov36_02186ba8: ; 0x02186ba8 .ascii "BMOB" .global data_ov36_02186bac data_ov36_02186bac: ; 0x02186bac .ascii "YTMB" .global data_ov36_02186bb0 data_ov36_02186bb0: ; 0x02186bb0 .ascii "LLUN" .section .init, 4, 1, 4 .global func_ov36_02186bb4 arm_func_start func_ov36_02186bb4 func_ov36_02186bb4: ; 0x02186bb4 stmdb sp!, {r3, lr} ldr r0, _02186be0 ; =data_ov36_02186fac ldr r1, _02186be4 ; =0x50574253 ldr r2, _02186be8 ; =func_ov36_0217bd80 mov r3, #0 bl func_0203e784 ldr r0, _02186be0 ; =data_ov36_02186fac ldr r1, _02186bec ; =func_0203e7b4 ldr r2, _02186bf0 ; =data_ov36_02186fa0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_02186bb4 _02186be0: .word data_ov36_02186fac _02186be4: .word 0x50574253 _02186be8: .word func_ov36_0217bd80 _02186bec: .word func_0203e7b4 _02186bf0: .word data_ov36_02186fa0 .global func_ov36_02186bf4 arm_func_start func_ov36_02186bf4 func_ov36_02186bf4: ; 0x02186bf4 stmdb sp!, {r3, lr} ldr r0, _02186c20 ; =data_ov36_02186fcc ldr r1, _02186c24 ; =0x50424652 ldr r2, _02186c28 ; =func_ov36_02185ffc mov r3, #0 bl func_0203e784 ldr r0, _02186c20 ; =data_ov36_02186fcc ldr r1, _02186c2c ; =func_0203e7b4 ldr r2, _02186c30 ; =data_ov36_02186fc0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov36_02186bf4 _02186c20: .word data_ov36_02186fcc _02186c24: .word 0x50424652 _02186c28: .word func_ov36_02185ffc _02186c2c: .word func_0203e7b4 _02186c30: .word data_ov36_02186fc0 .section .sinit, 4, 1, 4 .global data_ov36_02186c34 data_ov36_02186c34: ; 0x02186c34 .byte 0xb4, 0x6b, 0x18, 0x02 .global data_ov36_02186c38 data_ov36_02186c38: ; 0x02186c38 .byte 0xf4, 0x6b, 0x18, 0x02 .data .global data_ov36_02186c40 data_ov36_02186c40: ; 0x02186c40 .ascii "brg" .byte 0x00 .global data_ov36_02186c44 data_ov36_02186c44: ; 0x02186c44 .ascii "fnl" .byte 0x00 .global data_ov36_02186c48 data_ov36_02186c48: ; 0x02186c48 .ascii "pdl" .byte 0x00 .global data_ov36_02186c4c data_ov36_02186c4c: ; 0x02186c4c .ascii "dco" .byte 0x00 .global data_ov36_02186c50 data_ov36_02186c50: ; 0x02186c50 .ascii "can" .byte 0x00 .global data_ov36_02186c54 data_ov36_02186c54: ; 0x02186c54 .ascii "hul" .byte 0x00 .global data_ov36_02186c58 data_ov36_02186c58: ; 0x02186c58 .ascii "bow" .byte 0x00 .global data_ov36_02186c5c data_ov36_02186c5c: ; 0x02186c5c .ascii "anc" .byte 0x00 .global data_ov36_02186c60 data_ov36_02186c60: ; 0x02186c60 .byte 0x5c, 0x6c, 0x18, 0x02 .global data_ov36_02186c64 data_ov36_02186c64: ; 0x02186c64 .byte 0x58, 0x6c, 0x18, 0x02 .global data_ov36_02186c68 data_ov36_02186c68: ; 0x02186c68 .byte 0x54, 0x6c, 0x18, 0x02 .global data_ov36_02186c6c data_ov36_02186c6c: ; 0x02186c6c .byte 0x50, 0x6c, 0x18, 0x02 .global data_ov36_02186c70 data_ov36_02186c70: ; 0x02186c70 .byte 0x4c, 0x6c, 0x18, 0x02 .global data_ov36_02186c74 data_ov36_02186c74: ; 0x02186c74 .byte 0x48, 0x6c, 0x18, 0x02 .global data_ov36_02186c78 data_ov36_02186c78: ; 0x02186c78 .byte 0x44, 0x6c, 0x18, 0x02 .global data_ov36_02186c7c data_ov36_02186c7c: ; 0x02186c7c .byte 0x40, 0x6c, 0x18, 0x02 .global data_ov36_02186c80 data_ov36_02186c80: ; 0x02186c80 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186c84 data_ov36_02186c84: ; 0x02186c84 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186c88 data_ov36_02186c88: ; 0x02186c88 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186c8c data_ov36_02186c8c: ; 0x02186c8c .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186c90 data_ov36_02186c90: ; 0x02186c90 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186c94 data_ov36_02186c94: ; 0x02186c94 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186c98 data_ov36_02186c98: ; 0x02186c98 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186c9c data_ov36_02186c9c: ; 0x02186c9c .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186ca0 data_ov36_02186ca0: ; 0x02186ca0 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186ca4 data_ov36_02186ca4: ; 0x02186ca4 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186ca8 data_ov36_02186ca8: ; 0x02186ca8 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cac data_ov36_02186cac: ; 0x02186cac .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cb0 data_ov36_02186cb0: ; 0x02186cb0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cb4 data_ov36_02186cb4: ; 0x02186cb4 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cb8 data_ov36_02186cb8: ; 0x02186cb8 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cbc data_ov36_02186cbc: ; 0x02186cbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cc0 data_ov36_02186cc0: ; 0x02186cc0 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cc4 data_ov36_02186cc4: ; 0x02186cc4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cc8 data_ov36_02186cc8: ; 0x02186cc8 .byte 0x00, 0x50, 0x00, 0x00 .global data_ov36_02186ccc data_ov36_02186ccc: ; 0x02186ccc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cd0 data_ov36_02186cd0: ; 0x02186cd0 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cd4 data_ov36_02186cd4: ; 0x02186cd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cd8 data_ov36_02186cd8: ; 0x02186cd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cdc data_ov36_02186cdc: ; 0x02186cdc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ce0 data_ov36_02186ce0: ; 0x02186ce0 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186ce4 data_ov36_02186ce4: ; 0x02186ce4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ce8 data_ov36_02186ce8: ; 0x02186ce8 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov36_02186cec data_ov36_02186cec: ; 0x02186cec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cf0 data_ov36_02186cf0: ; 0x02186cf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cf4 data_ov36_02186cf4: ; 0x02186cf4 .byte 0x10, 0x49, 0x18, 0x02 .global data_ov36_02186cf8 data_ov36_02186cf8: ; 0x02186cf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186cfc data_ov36_02186cfc: ; 0x02186cfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186d00 data_ov36_02186d00: ; 0x02186d00 .byte 0x14, 0xf4, 0x17, 0x02 .global data_ov36_02186d04 data_ov36_02186d04: ; 0x02186d04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186d08 data_ov36_02186d08: ; 0x02186d08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186d0c data_ov36_02186d0c: ; 0x02186d0c .byte 0x60, 0xc1, 0x17, 0x02 .global data_ov36_02186d10 data_ov36_02186d10: ; 0x02186d10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186d14 data_ov36_02186d14: ; 0x02186d14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186d18 data_ov36_02186d18: ; 0x02186d18 .byte 0x44, 0xd0, 0x17, 0x02 .global data_ov36_02186d1c data_ov36_02186d1c: ; 0x02186d1c .byte 0x68, 0xd1, 0x17, 0x02 .global data_ov36_02186d20 data_ov36_02186d20: ; 0x02186d20 .byte 0xa0, 0xd2, 0x17, 0x02 .global data_ov36_02186d24 data_ov36_02186d24: ; 0x02186d24 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov36_02186d28 data_ov36_02186d28: ; 0x02186d28 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov36_02186d2c data_ov36_02186d2c: ; 0x02186d2c .byte 0xd4, 0xd7, 0x17, 0x02 .global data_ov36_02186d30 data_ov36_02186d30: ; 0x02186d30 .byte 0x10, 0xd8, 0x17, 0x02 .global data_ov36_02186d34 data_ov36_02186d34: ; 0x02186d34 .byte 0x2c, 0x44, 0x18, 0x02 .global data_ov36_02186d38 data_ov36_02186d38: ; 0x02186d38 .byte 0x24, 0x46, 0x18, 0x02 .global data_ov36_02186d3c data_ov36_02186d3c: ; 0x02186d3c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov36_02186d40 data_ov36_02186d40: ; 0x02186d40 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov36_02186d44 data_ov36_02186d44: ; 0x02186d44 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov36_02186d48 data_ov36_02186d48: ; 0x02186d48 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov36_02186d4c data_ov36_02186d4c: ; 0x02186d4c .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov36_02186d50 data_ov36_02186d50: ; 0x02186d50 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov36_02186d54 data_ov36_02186d54: ; 0x02186d54 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov36_02186d58 data_ov36_02186d58: ; 0x02186d58 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov36_02186d5c data_ov36_02186d5c: ; 0x02186d5c .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov36_02186d60 data_ov36_02186d60: ; 0x02186d60 .byte 0x7c, 0x3b, 0x18, 0x02 .global data_ov36_02186d64 data_ov36_02186d64: ; 0x02186d64 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov36_02186d68 data_ov36_02186d68: ; 0x02186d68 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov36_02186d6c data_ov36_02186d6c: ; 0x02186d6c .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov36_02186d70 data_ov36_02186d70: ; 0x02186d70 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov36_02186d74 data_ov36_02186d74: ; 0x02186d74 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov36_02186d78 data_ov36_02186d78: ; 0x02186d78 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov36_02186d7c data_ov36_02186d7c: ; 0x02186d7c .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov36_02186d80 data_ov36_02186d80: ; 0x02186d80 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov36_02186d84 data_ov36_02186d84: ; 0x02186d84 .byte 0xe4, 0x49, 0x18, 0x02 .global data_ov36_02186d88 data_ov36_02186d88: ; 0x02186d88 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov36_02186d8c data_ov36_02186d8c: ; 0x02186d8c .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov36_02186d90 data_ov36_02186d90: ; 0x02186d90 .byte 0x38, 0x49, 0x18, 0x02 .global data_ov36_02186d94 data_ov36_02186d94: ; 0x02186d94 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov36_02186d98 data_ov36_02186d98: ; 0x02186d98 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov36_02186d9c data_ov36_02186d9c: ; 0x02186d9c .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov36_02186da0 data_ov36_02186da0: ; 0x02186da0 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov36_02186da4 data_ov36_02186da4: ; 0x02186da4 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov36_02186da8 data_ov36_02186da8: ; 0x02186da8 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov36_02186dac data_ov36_02186dac: ; 0x02186dac .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov36_02186db0 data_ov36_02186db0: ; 0x02186db0 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov36_02186db4 data_ov36_02186db4: ; 0x02186db4 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov36_02186db8 data_ov36_02186db8: ; 0x02186db8 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov36_02186dbc data_ov36_02186dbc: ; 0x02186dbc .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov36_02186dc0 data_ov36_02186dc0: ; 0x02186dc0 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov36_02186dc4 data_ov36_02186dc4: ; 0x02186dc4 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov36_02186dc8 data_ov36_02186dc8: ; 0x02186dc8 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov36_02186dcc data_ov36_02186dcc: ; 0x02186dcc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186dd0 data_ov36_02186dd0: ; 0x02186dd0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186dd4 data_ov36_02186dd4: ; 0x02186dd4 .byte 0xc4, 0xcf, 0x17, 0x02 .global data_ov36_02186dd8 data_ov36_02186dd8: ; 0x02186dd8 .byte 0xe0, 0x5f, 0x18, 0x02 .global data_ov36_02186ddc data_ov36_02186ddc: ; 0x02186ddc .byte 0x9c, 0xc1, 0x17, 0x02 .global data_ov36_02186de0 data_ov36_02186de0: ; 0x02186de0 .byte 0xac, 0xc1, 0x17, 0x02 .global data_ov36_02186de4 data_ov36_02186de4: ; 0x02186de4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186de8 data_ov36_02186de8: ; 0x02186de8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186dec data_ov36_02186dec: ; 0x02186dec .byte 0x98, 0xcc, 0x17, 0x02 .global data_ov36_02186df0 data_ov36_02186df0: ; 0x02186df0 .byte 0xdc, 0x5f, 0x18, 0x02 .global data_ov36_02186df4 data_ov36_02186df4: ; 0x02186df4 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov36_02186df8 data_ov36_02186df8: ; 0x02186df8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186dfc data_ov36_02186dfc: ; 0x02186dfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e00 data_ov36_02186e00: ; 0x02186e00 .byte 0x4d, 0x9b, 0x0a, 0x02 .global data_ov36_02186e04 data_ov36_02186e04: ; 0x02186e04 .byte 0x59, 0x9b, 0x0a, 0x02 .global data_ov36_02186e08 data_ov36_02186e08: ; 0x02186e08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e0c data_ov36_02186e0c: ; 0x02186e0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e10 data_ov36_02186e10: ; 0x02186e10 .byte 0xd8, 0xcf, 0x17, 0x02 .global data_ov36_02186e14 data_ov36_02186e14: ; 0x02186e14 .byte 0xc0, 0x5f, 0x18, 0x02 .global data_ov36_02186e18 data_ov36_02186e18: ; 0x02186e18 .byte 0x0c, 0x96, 0x0a, 0x02 .global data_ov36_02186e1c data_ov36_02186e1c: ; 0x02186e1c .byte 0x14, 0x96, 0x0a, 0x02 .global data_ov36_02186e20 data_ov36_02186e20: ; 0x02186e20 .byte 0x50, 0x96, 0x0a, 0x02 .global data_ov36_02186e24 data_ov36_02186e24: ; 0x02186e24 .byte 0xd4, 0x96, 0x0a, 0x02 .global data_ov36_02186e28 data_ov36_02186e28: ; 0x02186e28 .byte 0x40, 0x97, 0x0a, 0x02 .global data_ov36_02186e2c data_ov36_02186e2c: ; 0x02186e2c .byte 0x64, 0x97, 0x0a, 0x02 .global data_ov36_02186e30 data_ov36_02186e30: ; 0x02186e30 .byte 0xd0, 0x97, 0x0a, 0x02 .global data_ov36_02186e34 data_ov36_02186e34: ; 0x02186e34 .byte 0xe0, 0x97, 0x0a, 0x02 .global data_ov36_02186e38 data_ov36_02186e38: ; 0x02186e38 .byte 0xf8, 0x97, 0x0a, 0x02 .global data_ov36_02186e3c data_ov36_02186e3c: ; 0x02186e3c .byte 0x64, 0x98, 0x0a, 0x02 .global data_ov36_02186e40 data_ov36_02186e40: ; 0x02186e40 .byte 0xbc, 0x98, 0x0a, 0x02 .global data_ov36_02186e44 data_ov36_02186e44: ; 0x02186e44 .byte 0x90, 0x98, 0x0a, 0x02 .global data_ov36_02186e48 data_ov36_02186e48: ; 0x02186e48 .byte 0x68, 0x99, 0x0a, 0x02 .global data_ov36_02186e4c data_ov36_02186e4c: ; 0x02186e4c .byte 0x94, 0x99, 0x0a, 0x02 .global data_ov36_02186e50 data_ov36_02186e50: ; 0x02186e50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e54 data_ov36_02186e54: ; 0x02186e54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e58 data_ov36_02186e58: ; 0x02186e58 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov36_02186e5c data_ov36_02186e5c: ; 0x02186e5c .byte 0xdc, 0x5f, 0x18, 0x02 .global data_ov36_02186e60 data_ov36_02186e60: ; 0x02186e60 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov36_02186e64 data_ov36_02186e64: ; 0x02186e64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e68 data_ov36_02186e68: ; 0x02186e68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e6c data_ov36_02186e6c: ; 0x02186e6c .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov36_02186e70 data_ov36_02186e70: ; 0x02186e70 .byte 0x60, 0xbf, 0x17, 0x02 .global data_ov36_02186e74 data_ov36_02186e74: ; 0x02186e74 .byte 0x14, 0xc0, 0x17, 0x02 .global data_ov36_02186e78 data_ov36_02186e78: ; 0x02186e78 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e7c data_ov36_02186e7c: ; 0x02186e7c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e80 data_ov36_02186e80: ; 0x02186e80 .byte 0x6d, 0x9b, 0x0a, 0x02 .global data_ov36_02186e84 data_ov36_02186e84: ; 0x02186e84 .byte 0x79, 0x9b, 0x0a, 0x02 .global data_ov36_02186e88 data_ov36_02186e88: ; 0x02186e88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e8c data_ov36_02186e8c: ; 0x02186e8c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e90 data_ov36_02186e90: ; 0x02186e90 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e94 data_ov36_02186e94: ; 0x02186e94 .byte 0x58, 0x1f, 0x08, 0x02 .global data_ov36_02186e98 data_ov36_02186e98: ; 0x02186e98 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186e9c data_ov36_02186e9c: ; 0x02186e9c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ea0 data_ov36_02186ea0: ; 0x02186ea0 .ascii "WBI:/inhale_wboss.nsbta" .byte 0x00 .global data_ov36_02186eb8 data_ov36_02186eb8: ; 0x02186eb8 .ascii "inhale_wboss" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ec8 data_ov36_02186ec8: ; 0x02186ec8 .ascii "PWB:/boss_p.nsbtp" .byte 0x00, 0x00, 0x00 .global data_ov36_02186edc data_ov36_02186edc: ; 0x02186edc .ascii "boss_p" .byte 0x00, 0x00 .global data_ov36_02186ee4 data_ov36_02186ee4: ; 0x02186ee4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186ee8 data_ov36_02186ee8: ; 0x02186ee8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov36_02186eec data_ov36_02186eec: ; 0x02186eec .byte 0x78, 0x60, 0x18, 0x02 .global data_ov36_02186ef0 data_ov36_02186ef0: ; 0x02186ef0 .byte 0xc0, 0x60, 0x18, 0x02 .global data_ov36_02186ef4 data_ov36_02186ef4: ; 0x02186ef4 .byte 0x10, 0x61, 0x18, 0x02 .global data_ov36_02186ef8 data_ov36_02186ef8: ; 0x02186ef8 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov36_02186efc data_ov36_02186efc: ; 0x02186efc .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov36_02186f00 data_ov36_02186f00: ; 0x02186f00 .byte 0xb8, 0x62, 0x18, 0x02 .global data_ov36_02186f04 data_ov36_02186f04: ; 0x02186f04 .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov36_02186f08 data_ov36_02186f08: ; 0x02186f08 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov36_02186f0c data_ov36_02186f0c: ; 0x02186f0c .byte 0x94, 0x18, 0x0c, 0x02 .global data_ov36_02186f10 data_ov36_02186f10: ; 0x02186f10 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov36_02186f14 data_ov36_02186f14: ; 0x02186f14 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov36_02186f18 data_ov36_02186f18: ; 0x02186f18 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov36_02186f1c data_ov36_02186f1c: ; 0x02186f1c .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov36_02186f20 data_ov36_02186f20: ; 0x02186f20 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov36_02186f24 data_ov36_02186f24: ; 0x02186f24 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov36_02186f28 data_ov36_02186f28: ; 0x02186f28 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov36_02186f2c data_ov36_02186f2c: ; 0x02186f2c .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov36_02186f30 data_ov36_02186f30: ; 0x02186f30 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov36_02186f34 data_ov36_02186f34: ; 0x02186f34 .byte 0x48, 0x66, 0x18, 0x02 .global data_ov36_02186f38 data_ov36_02186f38: ; 0x02186f38 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov36_02186f3c data_ov36_02186f3c: ; 0x02186f3c .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov36_02186f40 data_ov36_02186f40: ; 0x02186f40 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov36_02186f44 data_ov36_02186f44: ; 0x02186f44 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov36_02186f48 data_ov36_02186f48: ; 0x02186f48 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov36_02186f4c data_ov36_02186f4c: ; 0x02186f4c .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov36_02186f50 data_ov36_02186f50: ; 0x02186f50 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov36_02186f54 data_ov36_02186f54: ; 0x02186f54 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov36_02186f58 data_ov36_02186f58: ; 0x02186f58 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov36_02186f5c data_ov36_02186f5c: ; 0x02186f5c .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov36_02186f60 data_ov36_02186f60: ; 0x02186f60 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov36_02186f64 data_ov36_02186f64: ; 0x02186f64 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov36_02186f68 data_ov36_02186f68: ; 0x02186f68 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov36_02186f6c data_ov36_02186f6c: ; 0x02186f6c .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov36_02186f70 data_ov36_02186f70: ; 0x02186f70 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov36_02186f74 data_ov36_02186f74: ; 0x02186f74 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov36_02186f78 data_ov36_02186f78: ; 0x02186f78 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov36_02186f7c data_ov36_02186f7c: ; 0x02186f7c .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov36_02186f80 data_ov36_02186f80: ; 0x02186f80 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov36_02186f84 data_ov36_02186f84: ; 0x02186f84 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov36_02186f88 data_ov36_02186f88: ; 0x02186f88 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov36_02186f8c data_ov36_02186f8c: ; 0x02186f8c .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov36_02186f90 data_ov36_02186f90: ; 0x02186f90 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov36_02186f94 data_ov36_02186f94: ; 0x02186f94 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov36_02186f98 data_ov36_02186f98: ; 0x02186f98 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov36_02186f9c data_ov36_02186f9c: ; 0x02186f9c .byte 0x2c, 0x32, 0x0c, 0x02 ; 0x02186fa0 .bss .global data_ov36_02186fa0 data_ov36_02186fa0: .space 0x4 .global data_ov36_02186fa4 data_ov36_02186fa4: .space 0x4 .global data_ov36_02186fa8 data_ov36_02186fa8: .space 0x4 .global data_ov36_02186fac data_ov36_02186fac: .space 0x4 .global data_ov36_02186fb0 data_ov36_02186fb0: .space 0x4 .global data_ov36_02186fb4 data_ov36_02186fb4: .space 0x4 .global data_ov36_02186fb8 data_ov36_02186fb8: .space 0x4 .global data_ov36_02186fbc data_ov36_02186fbc: .space 0x4 .global data_ov36_02186fc0 data_ov36_02186fc0: .space 0x4 .global data_ov36_02186fc4 data_ov36_02186fc4: .space 0x4 .global data_ov36_02186fc8 data_ov36_02186fc8: .space 0x4 .global data_ov36_02186fcc data_ov36_02186fcc: .space 0x4 .global data_ov36_02186fd0 data_ov36_02186fd0: .space 0x4 .global data_ov36_02186fd4 data_ov36_02186fd4: .space 0x4 .global data_ov36_02186fd8 data_ov36_02186fd8: .space 0x4 .global data_ov36_02186fdc data_ov36_02186fdc: .space 0x4