.include "macros/function.inc" .include "global.inc" .text .global func_ov51_02195500 arm_func_start func_ov51_02195500 func_ov51_02195500: ; 0x02195500 stmdb sp!, {r3, lr} ldr r1, _0219552c ; =data_027e0fe0 mov r0, #0x158 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov51_02195530 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_02195500 _0219552c: .word data_027e0fe0 .global func_ov51_02195530 arm_func_start func_ov51_02195530 func_ov51_02195530: ; 0x02195530 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r1, _0219554c ; =data_ov51_021984e8 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02195530 _0219554c: .word data_ov51_021984e8 .global func_ov51_02195550 arm_func_start func_ov51_02195550 func_ov51_02195550: ; 0x02195550 stmdb sp!, {r4, lr} mov r4, r0 mov lr, #0 str lr, [r4, #0x7c] mov ip, #0x800 str ip, [r4, #0x80] str lr, [r4, #0x84] str ip, [r4, #0x88] ldr r1, [r4, #0x7c] mov r2, #0x1800 str r1, [r4, #0x8c] ldr r3, [r4, #0x80] mov r1, #1 str r3, [r4, #0x90] ldr r3, [r4, #0x84] str r3, [r4, #0x94] ldr r3, [r4, #0x88] str r3, [r4, #0x98] str lr, [r4, #0xa8] str ip, [r4, #0xac] str lr, [r4, #0xb0] str r2, [r4, #0xb4] strh lr, [r4, #0x9c] bl func_ov00_020c3200 mov r0, r4 mov r1, #0 bl func_ov00_020c1bfc cmp r0, #0 mov r0, r4 beq _021955d4 mov r1, #1 bl func_ov51_021955e4 b _021955dc _021955d4: mov r1, #0 bl func_ov51_021955e4 _021955dc: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov51_02195550 .global func_ov51_021955e4 arm_func_start func_ov51_021955e4 func_ov51_021955e4: ; 0x021955e4 cmp r1, #0 beq _021955f4 cmp r1, #1 b _021955fc _021955f4: mov r2, #0xa str r2, [r0, #0x13c] _021955fc: mov r2, #0 str r2, [r0, #0x138] str r1, [r0, #0x130] bx lr arm_func_end func_ov51_021955e4 .global func_ov51_0219560c arm_func_start func_ov51_0219560c func_ov51_0219560c: ; 0x0219560c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _021957e8 ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl func_ov00_020c2bf4 ldr r0, [r5, #0x130] cmp r0, #0 beq _0219565c cmp r0, #1 beq _021957a0 b _021957e8 _0219565c: mov r0, r5 bl func_ov00_020c28ec cmp r0, #0x7000 bgt _0219574c ldrb r0, [r5, #0xa4] cmp r0, #0 ldreqb r0, [r5, #0xa5] cmpeq r0, #0 beq _0219574c ldr r1, [r5, #0x138] ldr r0, [r5, #0x13c] cmp r1, r0 bne _02195754 mov r0, r5 bl func_ov51_02195804 ldrh r0, [r5, #0x22] mov r1, #0 cmp r0, #0 bne _021956f4 ldr r2, _021957fc ; =data_027e0764 ldr r3, [r2] ldmib r2, {r0, r6} umull ip, r7, r6, r3 mla r7, r6, r0, r7 ldr r0, [r2, #0xc] ldr r6, [r2, #0x10] mla r7, r0, r3, r7 ldr r0, [r2, #0x14] adds ip, r6, ip adc r7, r0, r7 mov r0, #0x1f umull r3, r6, r7, r0 mla r6, r7, r1, r6 mla r6, r1, r0, r6 str ip, [r2] str r7, [r2, #4] add r0, r6, #0x5a b _0219573c _021956f4: ldr r2, _021957fc ; =data_027e0764 ldr r3, [r2] ldmib r2, {r0, ip} umull r6, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds r7, ip, r6 adc r6, r0, lr mov r0, #0x1f umull r3, ip, r6, r0 mla ip, r6, r1, ip mla ip, r1, r0, ip str r7, [r2] str r6, [r2, #4] add r0, ip, #0x78 _0219573c: str r0, [r5, #0x13c] mov r0, #0 str r0, [r5, #0x138] b _02195754 _0219574c: mov r0, #0 str r0, [r5, #0x138] _02195754: ldrh r0, [r5, #0x20] mov r1, #0 cmp r0, #0 mov r0, r5 bne _02195784 bl func_ov00_020c1bfc cmp r0, #0 bne _021957e8 mov r0, r5 mov r1, #1 bl func_ov51_021955e4 b _021957e8 _02195784: bl func_ov00_020c1bfc cmp r0, #0 beq _021957e8 mov r0, r5 mov r1, #1 bl func_ov51_021955e4 b _021957e8 _021957a0: ldrh r0, [r5, #0x20] mov r1, #0 cmp r0, #0 mov r0, r5 bne _021957d0 bl func_ov00_020c1bfc cmp r0, #0 beq _021957e8 mov r0, r5 mov r1, #0 bl func_ov51_021955e4 b _021957e8 _021957d0: bl func_ov00_020c1bfc cmp r0, #0 bne _021957e8 mov r0, r5 mov r1, #0 bl func_ov51_021955e4 _021957e8: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov51_0219560c _021957fc: .word data_027e0764 .global func_ov51_02195800 arm_func_start func_ov51_02195800 func_ov51_02195800: ; 0x02195800 bx lr arm_func_end func_ov51_02195800 .global func_ov51_02195804 arm_func_start func_ov51_02195804 func_ov51_02195804: ; 0x02195804 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] str r1, [sp, #0x30] bl func_ov00_020c3348 ldr r0, [r4, #8] add lr, sp, #4 str r0, [sp, #0x2c] ldr r1, [r4, #0xc] add r0, r4, #0x48 str r1, [sp, #0x30] ldrb r1, [r4, #0x124] mov ip, #0 ldr r3, _021958b0 ; =data_027e0fe8 str r1, [sp, #0x34] ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} ldr r0, [sp, #8] ldr r1, _021958b4 ; =0x46495245 add r0, r0, #0x1000 str r0, [sp, #8] str ip, [sp] ldr r0, [r3] mov r2, lr add r3, sp, #0x10 bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x3c movlt r0, #0 ldmltia sp!, {r3, r4, pc} ldr r0, _021958b8 ; =data_027e0ffc ldr r1, _021958bc ; =0x00000341 add r2, sp, #4 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov51_02195804 _021958b0: .word data_027e0fe8 _021958b4: .word 0x46495245 _021958b8: .word data_027e0ffc _021958bc: .word 0x00000341 .global func_ov51_021958c0 arm_func_start func_ov51_021958c0 func_ov51_021958c0: ; 0x021958c0 ldr r0, [r0, #0x130] cmp r0, #0 bne _021958d4 mov r0, #1 bx lr _021958d4: mov r0, #0 bx lr arm_func_end func_ov51_021958c0 .global func_ov51_021958dc arm_func_start func_ov51_021958dc func_ov51_021958dc: ; 0x021958dc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_021958dc .global func_ov51_021958f8 arm_func_start func_ov51_021958f8 func_ov51_021958f8: ; 0x021958f8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_021958f8 .global func_ov51_0219590c arm_func_start func_ov51_0219590c func_ov51_0219590c: ; 0x0219590c stmdb sp!, {r3, lr} ldr r1, _02195938 ; =data_027e0fe0 mov r0, #0x160 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov51_0219593c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_0219590c _02195938: .word data_027e0fe0 .global func_ov51_0219593c arm_func_start func_ov51_0219593c func_ov51_0219593c: ; 0x0219593c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r0, _02195964 ; =data_ov51_021985e4 mov r1, #0 str r0, [r4] str r1, [r4, #0x158] mov r0, r4 str r1, [r4, #0x15c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_0219593c _02195964: .word data_ov51_021985e4 .global func_ov51_02195968 arm_func_start func_ov51_02195968 func_ov51_02195968: ; 0x02195968 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r2, #0 str r2, [r4, #0x7c] str r2, [r4, #0x80] ldr r0, _02195a68 ; =0x000004cd str r2, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] add r0, r0, #0x1000 str r1, [r4, #0x8c] ldr r1, [r4, #0x80] ldr r3, _02195a6c ; =data_ov51_02198a80 str r1, [r4, #0x90] ldr r1, [r4, #0x84] str r1, [r4, #0x94] ldr r1, [r4, #0x88] str r1, [r4, #0x98] str r2, [r4, #0xa8] str r2, [r4, #0xac] str r2, [r4, #0xb0] str r0, [r4, #0xb4] ldr r0, [r3, #0x20] tst r0, #1 bne _021959f8 ldr ip, _02195a70 ; =data_ov00_020e892c ldr r0, _02195a74 ; =data_ov51_02198ab0 ldr r1, _02195a78 ; =func_ov51_02195a84 ldr r2, _02195a7c ; =data_ov51_02198aa4 str ip, [r3, #0x30] bl func_0204f8d4 ldr r0, _02195a6c ; =data_ov51_02198a80 ldr r1, [r0, #0x20] orr r1, r1, #1 str r1, [r0, #0x20] _021959f8: mov r2, #0x8f ldr r0, _02195a74 ; =data_ov51_02198ab0 strh r2, [r4, #0x9c] str r0, [r4, #0xa0] ldr r0, [r4, #0x140] mov r1, #2 strb r0, [r4, #0x124] ldr r0, _02195a80 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r4, #0x158 rsb r2, r2, #0x2e8 add r3, r4, #0x48 bl func_ov00_0207c1f8 mov r2, #2 ldr r0, _02195a80 ; =data_027e0e58 str r2, [sp] ldr r0, [r0] add r1, r4, #0x15c add r2, r2, #0x258 add r3, r4, #0x48 bl func_ov00_0207c1f8 mov r0, r4 mov r1, #0 bl func_ov51_02195b00 mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov51_02195968 _02195a68: .word 0x000004cd _02195a6c: .word data_ov51_02198a80 _02195a70: .word data_ov00_020e892c _02195a74: .word data_ov51_02198ab0 _02195a78: .word func_ov51_02195a84 _02195a7c: .word data_ov51_02198aa4 _02195a80: .word data_027e0e58 .global func_ov51_02195a84 arm_func_start func_ov51_02195a84 func_ov51_02195a84: ; 0x02195a84 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_02195a84 .global func_ov51_02195a98 arm_func_start func_ov51_02195a98 func_ov51_02195a98: ; 0x02195a98 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02195af8 ; =data_027e0e58 mov r4, r0 ldr r0, [r1] add r1, r4, #0x158 bl func_ov00_0207c444 ldr r0, _02195af8 ; =data_027e0e58 add r1, r4, #0x15c ldr r0, [r0] bl func_ov00_0207c444 mov r1, #0 str r1, [sp] ldr r0, _02195af8 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] ldr r1, _02195afc ; =0x0000018e add r2, r4, #0x48 mov r3, #2 bl func_ov00_0207c1b0 mov r0, r4 bl func_ov00_020c3180 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02195a98 _02195af8: .word data_027e0e58 _02195afc: .word 0x0000018e .global func_ov51_02195b00 arm_func_start func_ov51_02195b00 func_ov51_02195b00: ; 0x02195b00 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc movs r4, r1 mov r5, r0 bne _02195bec ldr r0, _02195c00 ; =data_027e0f94 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 add r1, r5, #0x48 add r2, r5, #0x60 bl func_01ff9bf8 mov r1, #0 str r1, [r5, #0x64] ldr r0, [r5, #0x60] cmp r0, #0 ldreq r0, [r5, #0x68] cmpeq r0, #0 bne _02195b60 mov r0, #0x1000 str r0, [r5, #0x60] str r1, [r5, #0x64] str r1, [r5, #0x68] _02195b60: add r0, r5, #0x60 mov r1, r0 bl func_01ff9d4c ldr r2, [r5, #0x60] ldr r0, _02195c04 ; =0x0000011f mov r1, #0 umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r2, r2, asr #0x1f mla r3, r2, r0, r3 adds ip, ip, #0x800 adc r2, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r5, #0x60] ldr r2, [r5, #0x64] umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r2, r2, asr #0x1f mla r3, r2, r0, r3 adds ip, ip, #0x800 adc r2, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r5, #0x64] ldr r2, [r5, #0x68] umull ip, r3, r2, r0 mla r3, r2, r1, r3 mov r1, r2, asr #0x1f mla r3, r1, r0, r3 adds ip, ip, #0x800 adc r0, r3, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r5, #0x68] _02195bec: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov51_02195b00 _02195c00: .word data_027e0f94 _02195c04: .word 0x0000011f .global func_ov51_02195c08 arm_func_start func_ov51_02195c08 func_ov51_02195c08: ; 0x02195c08 stmdb sp!, {r4, lr} ldr r1, [r1, #0x10] mov r4, r0 cmp r1, #2 beq _02195c30 cmp r1, #3 beq _02195c38 cmp r1, #5 beq _02195c5c b _02195c68 _02195c30: mov r0, #0 ldmia sp!, {r4, pc} _02195c38: bl func_ov51_02195c70 add r2, r4, #0x48 mov r1, #0xf9 mov r3, #0 bl func_ov00_020c070c mov r0, r4 bl func_ov51_02195a98 mov r0, #1 ldmia sp!, {r4, pc} _02195c5c: bl func_ov51_02195a98 mov r0, #1 ldmia sp!, {r4, pc} _02195c68: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov51_02195c08 .global func_ov51_02195c70 arm_func_start func_ov51_02195c70 func_ov51_02195c70: ; 0x02195c70 ldr ip, _02195c7c ; =func_01fffcec mov r0, #1 bx ip .align 2, 0 arm_func_end func_ov51_02195c70 _02195c7c: .word func_01fffcec .global func_ov51_02195c80 arm_func_start func_ov51_02195c80 func_ov51_02195c80: ; 0x02195c80 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _02195e80 ldr r1, [r5, #0x48] mov r0, r5 str r1, [r5, #0x54] ldr r1, [r5, #0x4c] str r1, [r5, #0x58] ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl func_ov00_020c2bf4 ldr r0, [r5, #0x130] cmp r0, #0 bne _02195e80 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 bl func_01ff9bc4 ldr r0, _02195e98 ; =data_027e0fe4 add r1, r5, #0x34 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 bne _02195cfc mov r0, r5 bl func_ov51_02195a98 b _02195e80 _02195cfc: bl func_ov51_021958c0 cmp r0, #0 mov r0, r5 bne _02195d14 bl func_ov51_02195a98 b _02195e80 _02195d14: mov r1, #4 bl func_ov00_020c1fc8 cmp r0, #0 bne _02195e80 mov r1, #0 mov r0, r5 mov r2, r1 bl func_ov00_020c243c cmp r0, #0 bne _02195e80 mov r0, r5 add r2, r5, #0x60 mov r1, #4 bl func_ov00_020c1e2c cmp r0, #0 beq _02195d60 mov r0, r5 bl func_ov51_02195a98 b _02195e80 _02195d60: ldr r0, [r5, #0x158] cmp r0, #0 beq _02195db4 ldr r1, [r0, #0x20] ldr r2, [r5, #0x48] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [r5, #0x4c] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [r5, #0x50] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _02195db4: add r0, r5, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02195e9c ; =data_027e0e60 ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] ldr r3, [sp, #0x14] ldr r0, [r0] add r1, sp, #0 mov r2, #0 str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] bl func_ov00_02083ee0 str r0, [sp, #0x10] ldr r0, [r5, #0x15c] cmp r0, #0 beq _02195e48 ldr r1, [r0, #0x20] ldr r2, [sp, #0xc] ldr r1, [r1] ldr r1, [r1, #4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x10] ldr r1, [r1] ldr r1, [r1, #8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x14] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _02195e48: add r0, r5, #0x14 add r1, r5, #0x48 bl func_ov00_020ce2f0 cmp r0, #0xa000 mov r0, r5 bge _02195e7c mov r1, #0 bl func_01fffd04 cmp r0, #0 beq _02195e80 mov r0, r5 bl func_ov51_02195a98 b _02195e80 _02195e7c: bl func_ov51_02195a98 _02195e80: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov51_02195c80 _02195e98: .word data_027e0fe4 _02195e9c: .word data_027e0e60 .global func_ov51_02195ea0 arm_func_start func_ov51_02195ea0 func_ov51_02195ea0: ; 0x02195ea0 bx lr arm_func_end func_ov51_02195ea0 .global func_ov51_02195ea4 arm_func_start func_ov51_02195ea4 func_ov51_02195ea4: ; 0x02195ea4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c bl func_ov00_020b7d74 add r0, r4, #0x158 bl func_ov00_020b7d74 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_02195ea4 .global func_ov51_02195ed4 arm_func_start func_ov51_02195ed4 func_ov51_02195ed4: ; 0x02195ed4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x15c bl func_ov00_020b7d74 add r0, r4, #0x158 bl func_ov00_020b7d74 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_02195ed4 .global func_ov51_02195efc arm_func_start func_ov51_02195efc func_ov51_02195efc: ; 0x02195efc stmdb sp!, {r3, lr} ldr r1, _02195f28 ; =data_027e0fe0 ldr r0, _02195f2c ; =0x000004c8 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov51_0219603c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_02195efc _02195f28: .word data_027e0fe0 _02195f2c: .word 0x000004c8 .global func_ov51_02195f30 arm_func_start func_ov51_02195f30 func_ov51_02195f30: ; 0x02195f30 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 ldr r1, _02195ff8 ; =data_027e0fec mov r4, r0 ldr r0, [r1] add r0, r0, #0x358 add r0, r0, #0x1800 bl func_ov00_020c4588 mov r1, r0 mov r0, r4 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #8] blx r1 str r0, [r4, #0x64] ldr r1, _02195ff8 ; =data_027e0fec ldr r0, _02195ffc ; =data_ov51_02198838 ldr r1, [r1] add r1, r1, #0x1000 ldr r6, [r1, #0xb60] blx func_02016fe8 mov r5, r0 ldr r1, _02196000 ; =data_ov51_0219884c 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, #0x5c mov r3, #0 bl func_ov00_020c0cc8 mov r0, r4 ldr r2, [r0] add r1, r4, #0x5c ldr r2, [r2, #0x24] blx r2 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #8] blx r1 mov r1, #0x1e bl func_020197fc add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov51_02195f30 _02195ff8: .word data_027e0fec _02195ffc: .word data_ov51_02198838 _02196000: .word data_ov51_0219884c .global func_ov51_02196004 arm_func_start func_ov51_02196004 func_ov51_02196004: ; 0x02196004 ldr ip, _02196010 ; =func_ov00_020c0e04 add r0, r0, #0x5c bx ip .align 2, 0 arm_func_end func_ov51_02196004 _02196010: .word func_ov00_020c0e04 .global func_ov51_02196014 arm_func_start func_ov51_02196014 func_ov51_02196014: ; 0x02196014 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020b421c mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov51_02196014 .global func_ov51_0219603c arm_func_start func_ov51_0219603c func_ov51_0219603c: ; 0x0219603c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_020ca668 ldr r2, _021960bc ; =data_ov51_02198720 add r0, r4, #0x21c mov r1, #0 str r2, [r4] blx func_ov00_020a9588 add r0, r4, #0x278 add r1, r4, #0x29c mov r2, #0 blx func_ov00_020c0c08 ldr r1, _021960c0 ; =data_ov51_02198830 add r0, r4, #0x2f8 str r1, [r4, #0x278] add r1, r4, #0x304 mov r2, #0x1e bl func_ov51_02196688 ldr r1, _021960c4 ; =func_ov51_021960cc add r0, r4, #0x490 str r1, [sp] mov r1, #3 mov r2, #0xc ldr r3, _021960c8 ; =func_ov51_021960e8 bl func_0204f614 mov r0, #0 str r0, [r4, #0x4b4] str r0, [r4, #0x4c0] mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov51_0219603c _021960bc: .word data_ov51_02198720 _021960c0: .word data_ov51_02198830 _021960c4: .word func_ov51_021960cc _021960c8: .word func_ov51_021960e8 .global func_ov51_021960cc arm_func_start func_ov51_021960cc func_ov51_021960cc: ; 0x021960cc 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_ov51_021960cc .global func_ov51_021960e8 arm_func_start func_ov51_021960e8 func_ov51_021960e8: ; 0x021960e8 mov r2, #0 str r2, [r0] sub r1, r2, #1 stmib r0, {r1, r2} bx lr arm_func_end func_ov51_021960e8 .global func_ov51_021960fc arm_func_start func_ov51_021960fc func_ov51_021960fc: ; 0x021960fc stmdb sp!, {r4, lr} ldr r1, _02196204 ; =data_ov51_02198698 mov r4, r0 bl func_ov00_020ca8a4 mov r0, r4 mov r1, #2 bl func_ov00_020c3200 ldr r0, [r4, #0x158] mov r3, #0 ldr r0, [r0, #0x5c] mov ip, r4 add r0, r0, r0, lsl #1 str r3, [r4, #0xa8] str r0, [r4, #0xac] str r3, [r4, #0xb0] add r0, r0, #0x1000 str r0, [r4, #0xb4] ldrh r0, [r4, #0x9c] mov r2, #0x1f0 mov r1, #2 bic r0, r0, #2 strh r0, [r4, #0x9c] _02196154: add r0, r3, #1 mov r0, r0, lsl #0x10 str r2, [ip, #0x494] mov r3, r0, asr #0x10 str r1, [ip, #0x498] cmp r3, #3 add ip, ip, #0xc blt _02196154 add r0, r4, #0x21c bl func_ov51_02195f30 mov r3, #0 str r3, [r4, #0x2f8] ldr r0, [r4, #0x300] cmp r0, #0 ble _021961c8 mov ip, r3 _02196194: ldr r1, [r4, #0x2fc] ldr r0, [r4, #0x48] add r2, r1, ip str r0, [r1, ip] ldr r0, [r4, #0x4c] add r3, r3, #1 str r0, [r2, #4] ldr r0, [r4, #0x50] add ip, ip, #0xc str r0, [r2, #8] ldr r0, [r4, #0x300] cmp r3, r0 blt _02196194 _021961c8: ldrh r0, [r4, #0x20] cmp r0, #0 beq _021961e0 cmp r0, #1 beq _021961f0 b _021961fc _021961e0: mov r0, r4 mov r1, #0 bl func_ov51_02196278 b _021961fc _021961f0: mov r0, r4 mov r1, #1 bl func_ov51_02196278 _021961fc: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_021960fc _02196204: .word data_ov51_02198698 .global func_ov51_02196208 arm_func_start func_ov51_02196208 func_ov51_02196208: ; 0x02196208 ldr ip, _0219621c ; =func_ov00_020cddf8 mov r1, r0 ldrsh r2, [r1, #0x78] add r0, r1, #0x4c0 bx ip .align 2, 0 arm_func_end func_ov51_02196208 _0219621c: .word func_ov00_020cddf8 .global func_ov51_02196220 arm_func_start func_ov51_02196220 func_ov51_02196220: ; 0x02196220 ldr r1, _02196234 ; =0x0000011f ldr ip, _02196238 ; =func_ov00_020cde0c add r0, r0, #0x4c0 add r2, r1, #0x214 bx ip .align 2, 0 arm_func_end func_ov51_02196220 _02196234: .word 0x0000011f _02196238: .word func_ov00_020cde0c .global func_ov51_0219623c arm_func_start func_ov51_0219623c func_ov51_0219623c: ; 0x0219623c mov r1, r0 add r0, r1, #0xb4 ldr ip, _02196250 ; =func_ov00_020cdfcc add r0, r0, #0x400 bx ip .align 2, 0 arm_func_end func_ov51_0219623c _02196250: .word func_ov00_020cdfcc .global func_ov51_02196254 arm_func_start func_ov51_02196254 func_ov51_02196254: ; 0x02196254 ldr ip, _0219626c ; =func_ov00_020ce030 add r0, r0, #0xb4 ldr r1, _02196270 ; =0x0000011f ldr r2, _02196274 ; =0x0000038e add r0, r0, #0x400 bx ip .align 2, 0 arm_func_end func_ov51_02196254 _0219626c: .word func_ov00_020ce030 _02196270: .word 0x0000011f _02196274: .word 0x0000038e .global func_ov51_02196278 arm_func_start func_ov51_02196278 func_ov51_02196278: ; 0x02196278 stmdb sp!, {r3, lr} mov r2, #0 str r2, [r0, #0x138] ldr r2, [r0, #0x130] cmp r1, #0 str r2, [r0, #0x134] str r1, [r0, #0x130] beq _021962a4 cmp r1, #1 beq _021962ac ldmia sp!, {r3, pc} _021962a4: bl func_ov51_02196208 ldmia sp!, {r3, pc} _021962ac: bl func_ov51_0219623c ldmia sp!, {r3, pc} arm_func_end func_ov51_02196278 .global func_ov51_021962b4 arm_func_start func_ov51_021962b4 func_ov51_021962b4: ; 0x021962b4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c mov sl, r0 ldr r0, [sl, #0x2f8] add r0, r0, #1 str r0, [sl, #0x2f8] ldr r1, [sl, #0x300] bl func_02002c14 mov r0, #0xc mul r2, r1, r0 str r1, [sl, #0x2f8] ldr r1, [sl, #0x2fc] ldr r0, [sl, #0x48] add r3, r1, r2 str r0, [r1, r2] ldr r0, [sl, #0x4c] str r0, [r3, #4] ldr r0, [sl, #0x50] str r0, [r3, #8] ldr r0, [sl, #0x154] cmp r0, #1 bgt _02196470 ldr r5, _021964f4 ; =data_027e0e58 mov r8, sl add sb, sl, #0x490 mov r7, #0 add r6, sp, #0x20 mov r4, #0xc _02196324: ldr r1, [sl, #0x300] ldr r2, [sl, #0x2f8] sub r0, r1, #1 mul r0, r7, r0 add r2, r1, r2 add r0, r0, r0, lsr #31 sub r0, r2, r0, asr #1 bl func_02002c14 mul r2, r1, r4 ldr r3, [sl, #0x2fc] add r0, r8, #0x6c ldr r1, [r3, r2] add r2, r3, r2 str r1, [r8, #0x46c] ldr r1, [r2, #4] add r0, r0, #0x400 str r1, [r8, #0x470] ldr r1, [r2, #8] str r1, [r8, #0x474] ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r1, [sp, #0x24] ldr r0, [r5] add r1, r1, #0x85 add r1, r1, #0x300 str r1, [sp, #0x24] mov r1, sb mov r2, r6 bl func_ov00_0207c474 add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 cmp r7, #3 add r8, r8, #0xc add sb, sb, #0xc blt _02196324 add r0, sl, #0x6c ldr fp, _021964f8 ; =0x000004cd ldr r4, _021964fc ; =data_027e0f90 mov r8, sl add sb, r0, #0x400 mov r7, #0 add r6, sp, #0x14 add r5, sp, #4 _021963d4: ldr r1, [r8, #0x46c] ldr r0, _02196500 ; =data_027e0f94 str r1, [sp, #4] ldr r2, [r8, #0x470] mov r1, sb str r2, [sp, #8] ldr r3, [r8, #0x474] mov r2, r6 str r3, [sp, #0xc] str fp, [sp, #0x10] bl func_01ff9bf8 mov r0, #5 str r0, [sp] ldrb r3, [sl, #0x124] mov r0, sl mov r1, r5 mov r2, r6 bl func_ov00_020c1ef8 ldr r0, [r4] mov r1, r5 mov r2, #0 bl func_ov00_020a7ce4 cmp r0, #0 beq _02196450 ldr r0, [r4] ldrb r1, [sl, #0x124] ldr ip, [r0] mov r2, r6 ldr ip, [ip, #0x30] mov r3, #5 blx ip _02196450: add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 cmp r7, #3 add r8, r8, #0xc add sb, sb, #0xc blt _021963d4 b _02196498 _02196470: add r5, sl, #0x490 mov r4, #0 _02196478: mov r0, r5 bl func_ov00_020b7e6c add r0, r4, #1 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 cmp r4, #3 add r5, r5, #0xc blt _02196478 _02196498: mov r0, #0 str r0, [sp] ldr r3, [sl, #8] ldr r0, _02196504 ; =data_027e0ffc ldr r1, _02196508 ; =0x00000262 add r2, sl, #0x48 bl func_ov00_020cec60 ldr r0, [sl, #0x130] cmp r0, #0 beq _021964cc cmp r0, #1 beq _021964d8 b _021964e0 _021964cc: mov r0, sl bl func_ov51_02196220 b _021964e0 _021964d8: mov r0, sl bl func_ov51_02196254 _021964e0: add r0, sl, #0x21c bl func_ov51_02196004 mov r0, #1 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov51_021962b4 _021964f4: .word data_027e0e58 _021964f8: .word 0x000004cd _021964fc: .word data_027e0f90 _02196500: .word data_027e0f94 _02196504: .word data_027e0ffc _02196508: .word 0x00000262 .global func_ov51_0219650c arm_func_start func_ov51_0219650c func_ov51_0219650c: ; 0x0219650c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov sl, r0 add r0, sl, #0x6c add r0, r0, #0x400 ldr r5, _021965b8 ; =0x000004cd add r8, sl, #0x18 add sb, r0, #0x18 mov r7, #2 add r6, sp, #0x18 mov r4, #0x1f mov fp, #1 _0219653c: add r0, r8, #0x6c add r0, r0, #0x400 ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r1, [sp, #0x1c] add r0, sl, #0x21c add r1, r1, #0x85 add r1, r1, #0x300 str r1, [sp, #0x1c] mov r1, r6 bl func_ov51_02196014 str r5, [sp] mov r0, #0 stmib sp, {r0, r4} str r0, [sp, #0xc] str fp, [sp, #0x10] ldr r0, _021965bc ; =data_ov00_020e9370 mov r1, #0 mov r2, sb mov r3, r5 str fp, [sp, #0x14] bl func_ov05_02102c2c sub r0, r7, #1 mov r0, r0, lsl #0x10 sub r8, r8, #0xc sub sb, sb, #0xc movs r7, r0, asr #0x10 bpl _0219653c mov r0, #1 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov51_0219650c _021965b8: .word 0x000004cd _021965bc: .word data_ov00_020e9370 .global func_ov51_021965c0 arm_func_start func_ov51_021965c0 func_ov51_021965c0: ; 0x021965c0 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02196620 ; =func_ov51_021960cc add r0, r4, #0x490 mov r1, #3 mov r2, #0xc bl func_0204f754 add r0, r4, #0x278 blx func_ov00_020a9b6c add r0, r4, #0x21c blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _02196624 ; =func_ov00_020b7d74 bl func_0204f754 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_ov51_021965c0 _02196620: .word func_ov51_021960cc _02196624: .word func_ov00_020b7d74 .global func_ov51_02196628 arm_func_start func_ov51_02196628 func_ov51_02196628: ; 0x02196628 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02196680 ; =func_ov51_021960cc add r0, r4, #0x490 mov r1, #3 mov r2, #0xc bl func_0204f754 add r0, r4, #0x278 blx func_ov00_020a9b6c add r0, r4, #0x21c blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _02196684 ; =func_ov00_020b7d74 bl func_0204f754 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02196628 _02196680: .word func_ov51_021960cc _02196684: .word func_ov00_020b7d74 .global func_ov51_02196688 arm_func_start func_ov51_02196688 func_ov51_02196688: ; 0x02196688 stmib r0, {r1, r2} mov r1, #0 str r1, [r0] bx lr arm_func_end func_ov51_02196688 .global func_ov51_02196698 arm_func_start func_ov51_02196698 func_ov51_02196698: ; 0x02196698 stmdb sp!, {r3, lr} ldr r1, _021966c4 ; =data_027e0fe0 mov r0, #0x1e4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov51_02196c4c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_02196698 _021966c4: .word data_027e0fe0 .global func_ov51_021966c8 arm_func_start func_ov51_021966c8 func_ov51_021966c8: ; 0x021966c8 ldrsh r2, [r1] strh r2, [r0, #0x50] ldrsh r2, [r1, #2] strh r2, [r0, #0x52] ldrsh r1, [r1, #4] strh r1, [r0, #0x54] bx lr arm_func_end func_ov51_021966c8 .global func_ov51_021966e4 arm_func_start func_ov51_021966e4 func_ov51_021966e4: ; 0x021966e4 stmdb sp!, {r4, lr} sub sp, sp, #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 ldr r3, _0219679c ; =data_02050f54 mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] ldrsh r1, [r3, r1] mov r4, r0 add ip, sp, #8 mov r3, #0 strh r3, [ip] strh r3, [ip, #4] strh r3, [ip, #2] strh r2, [sp, #8] strh r1, [sp, #0xc] ldr r1, _021967a0 ; =func_ov51_021966c8 str ip, [sp] str r1, [sp, #4] ldr r0, _021967a4 ; =data_027e0e58 ldr r1, _021967a8 ; =0x000001c3 ldr r0, [r0] mov r2, r4 mov r3, #2 bl func_ov00_0207c1b0 add r0, sp, #8 str r0, [sp] ldr r1, _021967a0 ; =func_ov51_021966c8 ldr r0, _021967a4 ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x1c4 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _021967ac ; =data_027e0ffc ldr r1, _021967b0 ; =0x0000025b mov r2, r4 mov r3, #0 bl func_ov00_020ceacc add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_021966e4 _0219679c: .word data_02050f54 _021967a0: .word func_ov51_021966c8 _021967a4: .word data_027e0e58 _021967a8: .word 0x000001c3 _021967ac: .word data_027e0ffc _021967b0: .word 0x0000025b .global func_ov51_021967b4 arm_func_start func_ov51_021967b4 func_ov51_021967b4: ; 0x021967b4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x100 ldrsh r0, [r0, #0xd8] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r1 mov r1, r2 bl func_ov51_021966e4 add r0, r4, #0x100 mov r1, #0xa strh r1, [r0, #0xd8] ldmia sp!, {r4, pc} arm_func_end func_ov51_021967b4 .global func_ov51_021967e8 arm_func_start func_ov51_021967e8 func_ov51_021967e8: ; 0x021967e8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x24 mov r6, r0 mov r0, r1 add r2, sp, #0x18 add r1, r6, #0x48 bl func_01ff9bf8 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 mov r0, r3, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r7, r0, lsl #0x1 sub r0, r3, #0x8000 ldr r2, _02196908 ; =data_ov51_02198268 add r5, sp, #0 mov r4, r1, lsl #0x1 mov r3, r0, lsl #0x10 ldmia r2, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, _0219690c ; =data_02050f54 ldr r5, [r6, #0x88] mov r2, r3, asr #0x10 str r5, [sp, #8] ldr lr, [r6, #0x48] ldrsh r4, [r0, r4] str lr, [sp, #0xc] ldrsh ip, [r0, r7] ldr r3, [r6, #0x4c] ldr r0, [sp, #4] str r3, [sp, #0x10] add r7, r3, r0 ldr r3, [r6, #0x50] mov r0, r6 str r7, [sp, #0x10] rsb r6, r4, #0 smull r7, r4, r5, r4 adds r7, r7, #0x800 adc r4, r4, #0 mov r7, r7, lsr #0xc orr r7, r7, r4, lsl #20 add lr, lr, r7 smull r7, r4, r5, ip adds r5, r7, #0x800 ldr r1, [sp] adc r4, r4, #0 mov r5, r5, lsr #0xc orr r5, r5, r4, lsl #20 add r3, r3, r5 smull r7, ip, r1, ip smull r5, r4, r1, r6 adds r6, r7, #0x800 adc r1, ip, #0 mov r6, r6, lsr #0xc orr r6, r6, r1, lsl #20 add r1, lr, r6 adds r5, r5, #0x800 str r1, [sp, #0xc] adc r1, r4, #0 mov r4, r5, lsr #0xc orr r4, r4, r1, lsl #20 add r1, r3, r4 str r1, [sp, #0x14] add r1, sp, #0xc bl func_ov51_021967b4 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov51_021967e8 _02196908: .word data_ov51_02198268 _0219690c: .word data_02050f54 .global func_ov51_02196910 arm_func_start func_ov51_02196910 func_ov51_02196910: ; 0x02196910 ldr r2, _02196920 ; =data_ov51_02198918 str r2, [r0] str r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov51_02196910 _02196920: .word data_ov51_02198918 .global func_ov51_02196924 arm_func_start func_ov51_02196924 func_ov51_02196924: ; 0x02196924 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x68 ldr r2, _02196b38 ; =func_ov51_02196b4c ldr r3, _02196b3c ; =func_ov51_02196b50 mov r4, r0 mov r5, r1 str r2, [sp] add r0, sp, #0x34 mov r1, #3 mov r2, #0x10 bl func_0204f614 ldr r1, _02196b40 ; =data_027e0f6c ldrh r2, [r5] mov r0, #0x4c ldr r1, [r1] mul r0, r2, r0 ldr r1, [r1, #0x20] add r2, r1, r0 ldrh r1, [r1, r0] ldrh r0, [r2, #2] strh r1, [sp, #0x1c] strh r0, [sp, #0x1e] ldrh r0, [r2, #4] strh r0, [sp, #0x20] ldrh r0, [r2, #6] strh r0, [sp, #0x22] ldr r0, [r2, #8] str r0, [sp, #0x24] ldr r1, [r2, #0xc] str r1, [sp, #0x28] ldr r1, [r2, #0x10] str r1, [sp, #0x2c] ldr r3, [r2, #0x14] str r3, [sp, #0x30] ldr r3, [r2, #0x18] str r3, [sp, #0x34] ldr r3, [r2, #0x1c] str r3, [sp, #0x38] ldr r3, [r2, #0x20] str r3, [sp, #0x3c] ldr r3, [r2, #0x24] str r3, [sp, #0x40] ldr r3, [r2, #0x28] str r3, [sp, #0x44] ldr r3, [r2, #0x2c] str r3, [sp, #0x48] ldr r3, [r2, #0x30] str r3, [sp, #0x4c] ldr r3, [r2, #0x34] str r3, [sp, #0x50] ldr r3, [r2, #0x38] str r3, [sp, #0x54] ldr r3, [r2, #0x3c] str r3, [sp, #0x58] ldr r3, [r2, #0x40] str r3, [sp, #0x5c] ldr r3, [r2, #0x44] str r3, [sp, #0x60] ldr r2, [r2, #0x48] str r2, [sp, #0x64] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov lr, r0, asr #0x10 mov r0, lr, lsl #0x10 mov r0, r0, lsr #0x10 ldr r1, [r4, #4] mov r0, r0, asr #0x4 mov r7, r0, lsl #0x1 ldr r0, _02196b44 ; =data_ov51_02198274 ldr r3, [r1, #0x4c] ldr ip, [r5, #0xc] ldr fp, [r5, #4] ldr r5, _02196b48 ; =data_02050f54 add r8, sp, #4 ldmia r0, {r0, r1, r2} mov r6, r7, lsl #0x1 stmia r8, {r0, r1, r2} ldrsh r0, [r5, r6] str r3, [sp, #0x14] str ip, [sp, #0x18] str fp, [sp, #0x10] ldr sb, [sp, #0xc] add r1, r7, #1 smull r2, r7, sb, r0 adds r8, r2, #0x800 mov r1, r1, lsl #0x1 ldrsh r6, [r5, r1] ldr sl, [sp, #8] ldr r1, [sp, #4] add r3, r3, sl smull r5, r2, sb, r6 adc r7, r7, #0 adds r5, r5, #0x800 mov r8, r8, lsr #0xc orr r8, r8, r7, lsl #20 smull sl, r6, r1, r6 adc sb, r2, #0 mov r5, r5, lsr #0xc sub r7, lr, #0x8000 rsb r0, r0, #0 adds r2, sl, #0x800 orr r5, r5, sb, lsl #20 smull sl, sb, r1, r0 adc r0, r6, #0 adds r6, sl, #0x800 mov sl, r2, lsr #0xc mov r2, r6, lsr #0xc adc r1, sb, #0 orr sl, sl, r0, lsl #20 add r6, fp, r8 add r6, r6, sl orr r2, r2, r1, lsl #20 add r0, ip, r5 add r0, r0, r2 mov r7, r7, lsl #0x10 str r3, [sp, #0x14] str r6, [sp, #0x10] str r0, [sp, #0x18] ldr r0, [r4, #4] add r1, sp, #0x10 mov r2, r7, asr #0x10 bl func_ov51_021967b4 ldr r3, _02196b38 ; =func_ov51_02196b4c add r0, sp, #0x34 mov r1, #3 mov r2, #0x10 bl func_0204f754 mov r0, #1 add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov51_02196924 _02196b38: .word func_ov51_02196b4c _02196b3c: .word func_ov51_02196b50 _02196b40: .word data_027e0f6c _02196b44: .word data_ov51_02198274 _02196b48: .word data_02050f54 .global func_ov51_02196b4c arm_func_start func_ov51_02196b4c func_ov51_02196b4c: ; 0x02196b4c bx lr arm_func_end func_ov51_02196b4c .global func_ov51_02196b50 arm_func_start func_ov51_02196b50 func_ov51_02196b50: ; 0x02196b50 bx lr arm_func_end func_ov51_02196b50 .global func_ov51_02196b54 arm_func_start func_ov51_02196b54 func_ov51_02196b54: ; 0x02196b54 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r2, _02196b9c ; =data_027e0f6c ldrh r3, [r1] ldr r1, [r2] mov r4, r0 ldr r0, [r1, #0x40] add r1, sp, #0 ldr r0, [r0, r3, lsl #2] ldr r2, [r0] ldr r2, [r2, #0x3c] blx r2 ldr r0, [r4, #4] add r1, sp, #0 bl func_ov51_021967e8 mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov51_02196b54 _02196b9c: .word data_027e0f6c .global func_ov51_02196ba0 arm_func_start func_ov51_02196ba0 func_ov51_02196ba0: ; 0x02196ba0 mov r0, #0 bx lr arm_func_end func_ov51_02196ba0 .global func_ov51_02196ba8 arm_func_start func_ov51_02196ba8 func_ov51_02196ba8: ; 0x02196ba8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r1 mov r5, r0 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x54] blx r1 cmp r0, #0 bne _02196be4 mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] b _02196bf4 _02196be4: ldr r2, [r0] add r1, sp, #0 ldr r2, [r2, #0x3c] blx r2 _02196bf4: mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x1c] blx r1 cmp r0, #3 cmpne r0, #0xe cmpne r0, #0x1c bne _02196c28 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 b _02196c40 _02196c28: ldr r0, [r5, #4] add r1, sp, #0 bl func_ov51_021967e8 add sp, sp, #0xc mov r0, #1 ldmia sp!, {r4, r5, pc} _02196c40: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov51_02196ba8 .global func_ov51_02196c4c arm_func_start func_ov51_02196c4c func_ov51_02196c4c: ; 0x02196c4c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r1, _02196c9c ; =data_ov51_0219885c ldr r0, _02196ca0 ; =data_027e0fec str r1, [r4] ldr r0, [r0] add r0, r0, #0xb20 add r0, r0, #0x1000 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x158 blx func_ov00_020a9588 add r0, r4, #0x1b8 bl func_ov00_020ccef0 mov r1, r4 add r0, r4, #0x1dc bl func_ov51_02196910 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02196c4c _02196c9c: .word data_ov51_0219885c _02196ca0: .word data_027e0fec .global func_ov51_02196ca4 arm_func_start func_ov51_02196ca4 func_ov51_02196ca4: ; 0x02196ca4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_02196ca4 .global func_ov51_02196cb8 arm_func_start func_ov51_02196cb8 func_ov51_02196cb8: ; 0x02196cb8 stmdb sp!, {r3, r4, r5, lr} ldr r5, _02196dc0 ; =0x000007ae mov r4, r0 mov r1, #0 str r1, [r4, #0x7c] str r5, [r4, #0x80] str r1, [r4, #0x84] str r5, [r4, #0x88] ldr r2, [r4, #0x7c] add ip, r5, #0x1000 str r2, [r4, #0x8c] ldr r2, [r4, #0x80] mov r3, #0xd str r2, [r4, #0x90] ldr lr, [r4, #0x84] add r2, r4, #0x1dc str lr, [r4, #0x94] ldr lr, [r4, #0x88] str lr, [r4, #0x98] str r1, [r4, #0xa8] str r5, [r4, #0xac] str r1, [r4, #0xb0] str ip, [r4, #0xb4] strh r3, [r4, #0x9c] str r2, [r4, #0xa0] bl func_ov00_020c3200 ldrh r2, [r4, #0x22] add r0, r4, #0x100 mov r1, #0 str r2, [r4, #0x1cc] strh r1, [r0, #0xd0] strh r1, [r0, #0xd2] mov r2, #1 strb r2, [r4, #0x1d4] strh r1, [r0, #0xd6] strh r1, [r0, #0xd8] ldrh r0, [r4, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02196db8 _02196d58: ; jump table b _02196d68 ; case 0 b _02196d78 ; case 1 b _02196d8c ; case 2 b _02196da4 ; case 3 _02196d68: mov r0, r4 str r1, [r4, #0x1b4] bl func_ov51_02197288 b _02196db8 _02196d78: mov r0, r4 mov r1, #2 str r2, [r4, #0x1b4] bl func_ov51_02197288 b _02196db8 _02196d8c: mov r2, #2 mov r0, r4 mov r1, #4 str r2, [r4, #0x1b4] bl func_ov51_02197288 b _02196db8 _02196da4: mov r2, #3 mov r0, r4 mov r1, #5 str r2, [r4, #0x1b4] bl func_ov51_02197288 _02196db8: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov51_02196cb8 _02196dc0: .word 0x000007ae .global func_ov51_02196dc4 arm_func_start func_ov51_02196dc4 func_ov51_02196dc4: ; 0x02196dc4 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1b8 add r1, r4, #8 bl func_ov00_020ccf0c add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 ldmia sp!, {r4, pc} arm_func_end func_ov51_02196dc4 .global func_ov51_02196dec arm_func_start func_ov51_02196dec func_ov51_02196dec: ; 0x02196dec stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 str r1, [r4, #0x60] str r1, [r4, #0x64] str r1, [r4, #0x68] bl func_ov51_02196dc4 mov r0, r4 mov r1, #0 bl func_01fffd04 ldmia sp!, {r4, pc} arm_func_end func_ov51_02196dec .global func_ov51_02196e18 arm_func_start func_ov51_02196e18 func_ov51_02196e18: ; 0x02196e18 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 ldr r1, _02196f00 ; =data_027e0f94 add r8, sp, #0x24 mov sl, r0 ldmia r1, {r0, r1, r2} mov sb, #0 stmia r8, {r0, r1, r2} ldr r4, _02196f04 ; =data_027e0e60 mov r5, sb mov r7, #0xa000 mov r6, #0x800 mov fp, #0x2000 _02196e4c: mov r1, sb mov r2, r6 add r0, sl, #0x48 mov r3, fp stmia sp, {r7, r8} bl func_ov00_020c57fc cmp r0, #0 beq _02196ee0 ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] str r0, [sp, #0x18] ldr r0, [sp, #0x2c] str r1, [sp, #0x1c] str r0, [sp, #0x20] ldr r0, [sl, #0x48] add r1, sp, #0x18 str r0, [sp, #0xc] ldr r0, [sl, #0x4c] add r2, sp, #0xc str r0, [sp, #0x10] ldr r0, [sl, #0x50] str r0, [sp, #0x14] ldr r0, [sl, #8] str r0, [sp] ldrh r0, [sl, #0x9c] stmib sp, {r0, r5} ldr r0, [r4] ldr r3, [sl, #0x88] bl func_01ffe1cc cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 addne sp, sp, #0x30 strne sb, [sl, #0x74] movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02196ee0: add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, asr #0x10 cmp sb, #4 blt _02196e4c mov r0, #0 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov51_02196e18 _02196f00: .word data_027e0f94 _02196f04: .word data_027e0e60 .global func_ov51_02196f08 arm_func_start func_ov51_02196f08 func_ov51_02196f08: ; 0x02196f08 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x74] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02196f60 _02196f20: ; jump table b _02196f30 ; case 0 b _02196f3c ; case 1 b _02196f4c ; case 2 b _02196f58 ; case 3 _02196f30: mov r2, #0x1000 mov lr, #0 b _02196f60 _02196f3c: mov r2, #0x1000 rsb r2, r2, #0 mov lr, #0 b _02196f60 _02196f4c: mov r2, #0 mov lr, #0x1000 b _02196f60 _02196f58: mov r2, #0 sub lr, r2, #0x1000 _02196f60: ldr r1, [r4, #0x1cc] mov r0, #0 cmp r1, #0 beq _02196f7c cmp r1, #1 ldreq r0, _02197030 ; =0x00000199 b _02196f80 _02196f7c: ldr r0, _02197034 ; =0x00000333 _02196f80: smull r1, r3, r0, r2 adds ip, r1, #0x800 smull r2, r1, r0, lr adc r3, r3, #0 adds r2, r2, #0x800 mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [r4, #0x60] mov r3, #0 adc r1, r1, #0 mov r2, r2, lsr #0xc str r3, [r4, #0x64] orr r2, r2, r1, lsl #20 str r2, [r4, #0x68] ldr r1, [r4, #0x74] cmp r1, #1 bhi _02196ff0 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x50] sub r1, r2, r1 str r1, [r4, #0x68] cmp r1, r0 strgt r0, [r4, #0x68] bgt _02197018 rsb r0, r0, #0 cmp r1, r0 strlt r0, [r4, #0x68] b _02197018 _02196ff0: ldr r2, [r4, #0x14] ldr r1, [r4, #0x48] sub r1, r2, r1 str r1, [r4, #0x60] cmp r1, r0 strgt r0, [r4, #0x60] bgt _02197018 rsb r0, r0, #0 cmp r1, r0 strlt r0, [r4, #0x60] _02197018: mov r0, r4 bl func_ov51_02196dc4 mov r0, r4 mov r1, #0 bl func_01fffd04 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02196f08 _02197030: .word 0x00000199 _02197034: .word 0x00000333 .global func_ov51_02197038 arm_func_start func_ov51_02197038 func_ov51_02197038: ; 0x02197038 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x48 add r1, r4, #0x14 add r3, r4, #0x60 mov r2, #0xcd bl func_ov00_020c6538 mov r0, r4 bl func_ov51_02196dc4 mov r0, r4 mov r1, #0 bl func_01fffd04 ldmia sp!, {r4, pc} arm_func_end func_ov51_02197038 .global func_ov51_0219706c arm_func_start func_ov51_0219706c func_ov51_0219706c: ; 0x0219706c ldr ip, _02197084 ; =func_ov00_020ce284 mov r1, r0 add r0, r1, #0x48 add r2, r1, #0x14 mov r1, #0x29 bx ip .align 2, 0 arm_func_end func_ov51_0219706c _02197084: .word func_ov00_020ce284 .global func_ov51_02197088 arm_func_start func_ov51_02197088 func_ov51_02197088: ; 0x02197088 add r0, r0, #0x100 ldrsh r0, [r0, #0xd6] cmp r0, #0 movle r0, #1 movgt r0, #0 bx lr arm_func_end func_ov51_02197088 .global func_ov51_021970a0 arm_func_start func_ov51_021970a0 func_ov51_021970a0: ; 0x021970a0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 mvn r1, #0 mov r7, r0 str r1, [sp] str r1, [sp, #4] ldr r0, [r7, #0x60] mov r4, #0 cmp r0, #0 ldreq r0, [r7, #0x68] cmpeq r0, #0 beq _02197260 ldr r0, [r7, #0x60] ldr r1, [r7, #0x68] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bbbc bl func_0202bba8 mov r5, r0 ldr r1, _02197274 ; =0x4e545250 add r2, sp, #0 add r0, r7, #0x1b8 bl func_ov00_020ccf7c cmp r0, #0 beq _021971e4 ldr r0, _02197278 ; =data_027e0fe4 add r1, sp, #0 ldr r0, [r0] bl func_ov00_020c3674 movs r6, r0 beq _021971e4 bl func_ov51_02197088 cmp r0, #0 beq _021971e4 add r2, sp, #0x14 add r0, r6, #0x48 add r1, r7, #0x48 bl func_01ff9bf8 ldr r2, [sp, #0x1c] ldr ip, [sp, #0x14] smull r1, r0, r2, r2 smull r3, r2, ip, ip adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 ldr r1, _0219727c ; =0x0000019a cmp r0, r1 ble _021971d8 ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] bl func_01ffa0f4 mov r0, r0, lsl #0x10 sub r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _02197280 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _021971bc cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _021971bc: cmp r2, #0x4000 bge _021971e4 mov r0, r7 add r1, r6, #0x48 bl func_ov51_021967e8 mov r4, #1 b _021971e4 _021971d8: add r0, r7, #0x100 mov r1, #0xa strh r1, [r0, #0xd6] _021971e4: ldrb r0, [r7, #0x110] cmp r0, #0 ldreqb r0, [r7, #0x112] cmpeq r0, #0 ldreqb r0, [r7, #0x113] cmpeq r0, #0 beq _02197260 add r0, r7, #0xc4 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #8] ldr r1, [sp, #0x10] bl func_01ffa0f4 mov r0, r0, lsl #0x10 sub r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 ldr r1, _02197280 ; =0xffff8001 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _0219724c cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _0219724c: ldr r0, _02197284 ; =0x00005555 cmp r2, r0 addgt sp, sp, #0x20 movgt r0, #1 ldmgtia sp!, {r3, r4, r5, r6, r7, pc} _02197260: mov r0, #1 cmp r4, #0 moveq r0, #0 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov51_021970a0 _02197274: .word 0x4e545250 _02197278: .word data_027e0fe4 _0219727c: .word 0x0000019a _02197280: .word 0xffff8001 _02197284: .word 0x00005555 .global func_ov51_02197288 arm_func_start func_ov51_02197288 func_ov51_02197288: ; 0x02197288 cmp r1, #7 addls pc, pc, r1, lsl #2 b _02197304 _02197294: ; jump table b _021972b4 ; case 0 b _021972c0 ; case 1 b _021972cc ; case 2 b _021972d8 ; case 3 b _021972e4 ; case 4 b _021972f0 ; case 5 b _021972fc ; case 6 b _02197304 ; case 7 _021972b4: mov r2, #1 str r2, [r0, #0x74] b _02197304 _021972c0: mov r2, #0 str r2, [r0, #0x74] b _02197304 _021972cc: mov r2, #3 str r2, [r0, #0x74] b _02197304 _021972d8: mov r2, #2 str r2, [r0, #0x74] b _02197304 _021972e4: mov r2, #1 strb r2, [r0, #0x1d4] b _02197304 _021972f0: mov r2, #0 strb r2, [r0, #0x1d4] b _02197304 _021972fc: mov r2, #1 strb r2, [r0, #0x1d4] _02197304: mov r2, #0 str r2, [r0, #0x138] str r1, [r0, #0x130] bx lr arm_func_end func_ov51_02197288 .global func_ov51_02197314 arm_func_start func_ov51_02197314 func_ov51_02197314: ; 0x02197314 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r4, r0 ldr r1, [r4, #0x48] str r1, [r4, #0x54] ldr r1, [r4, #0x4c] str r1, [r4, #0x58] ldr r1, [r4, #0x50] str r1, [r4, #0x5c] bl func_ov00_020c2bf4 add r0, r4, #0x100 ldrsh r1, [r0, #0xd8] cmp r1, #0 subgt r1, r1, #1 strgth r1, [r0, #0xd8] ldr r0, [r4, #0x154] cmp r0, #0 bgt _021973d8 add r0, r4, #0x7c add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x88] ldr r3, _0219762c ; =0x0000099a str r0, [sp, #0x44] mov r0, r4 mov r1, #1 mov r2, #0 str r3, [r4, #0x88] bl func_ov00_020c1e2c add r0, sp, #0x10 mov r1, r4 bl func_ov00_020c23c4 ldr r1, [sp, #0x38] ldr r0, _02197630 ; =data_ov51_02198280 str r1, [r4, #0x7c] ldr r1, [sp, #0x3c] add r3, sp, #0x2c str r1, [r4, #0x80] ldr r1, [sp, #0x40] str r1, [r4, #0x84] ldr r1, [sp, #0x44] str r1, [r4, #0x88] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r1, r3 mov r0, r4 mov r2, #0 bl func_ov00_020c243c _021973d8: add r0, r4, #0x100 ldrsh r1, [r0, #0xd6] cmp r1, #0 subgt r1, r1, #1 strgth r1, [r0, #0xd6] bgt _02197540 ldr r0, [r4, #0x130] cmp r0, #7 addls pc, pc, r0, lsl #2 b _02197540 _02197400: ; jump table b _02197420 ; case 0 b _02197448 ; case 1 b _02197470 ; case 2 b _02197498 ; case 3 b _021974c0 ; case 4 b _021974cc ; case 5 b _021974f4 ; case 6 b _0219751c ; case 7 _02197420: mov r0, r4 bl func_ov51_02196f08 mov r0, r4 bl func_ov51_021970a0 cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #1 bl func_ov51_02197288 b _02197540 _02197448: mov r0, r4 bl func_ov51_02196f08 mov r0, r4 bl func_ov51_021970a0 cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #0 bl func_ov51_02197288 b _02197540 _02197470: mov r0, r4 bl func_ov51_02196f08 mov r0, r4 bl func_ov51_021970a0 cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #3 bl func_ov51_02197288 b _02197540 _02197498: mov r0, r4 bl func_ov51_02196f08 mov r0, r4 bl func_ov51_021970a0 cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #2 bl func_ov51_02197288 b _02197540 _021974c0: mov r0, r4 bl func_ov51_02196dec b _02197540 _021974cc: mov r0, r4 bl func_ov51_02196dec mov r0, r4 bl func_ov51_02196e18 cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #6 bl func_ov51_02197288 b _02197540 _021974f4: mov r0, r4 bl func_ov51_02196f08 mov r0, r4 bl func_ov51_021970a0 cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #7 bl func_ov51_02197288 b _02197540 _0219751c: mov r0, r4 bl func_ov51_02197038 mov r0, r4 bl func_ov51_0219706c cmp r0, #0 beq _02197540 mov r0, r4 mov r1, #5 bl func_ov51_02197288 _02197540: ldrb r0, [r4, #0x1d4] cmp r0, #0 add r0, r4, #0x100 ldrsh r1, [r0, #0xd2] beq _02197570 add r1, r1, #0xc8 strh r1, [r0, #0xd2] ldrsh r1, [r0, #0xd2] cmp r1, #0xfa0 movgt r1, #0xfa0 strgth r1, [r0, #0xd2] b _02197588 _02197570: sub r1, r1, #0xc8 strh r1, [r0, #0xd2] ldrsh r1, [r0, #0xd2] cmp r1, #0 movlt r1, #0 strlth r1, [r0, #0xd2] _02197588: add r1, r4, #0x100 ldrsh ip, [r1, #0xd0] ldrsh r3, [r1, #0xd2] ldr r2, _02197634 ; =data_027e0e60 add r0, sp, #0xc add r3, ip, r3 strh r3, [r1, #0xd0] ldr r5, [r2] add r2, r4, #0x48 mov r1, r5 bl func_ov00_02083a1c add r1, sp, #0xc mov r0, r5 mov r2, #1 bl func_ov00_020826a0 ldr r0, [r4, #0x154] cmp r0, #0 addgt sp, sp, #0x48 ldmgtia sp!, {r3, r4, r5, pc} ldr r3, _02197638 ; =0x000007ae mov ip, #0 mov r2, r3, lsl #0x1 str r2, [sp, #0x28] add r1, sp, #0x18 str ip, [sp, #0x18] str r3, [sp, #0x1c] str r3, [sp, #0x24] str ip, [sp, #0x20] mov r0, #4 str r1, [sp] str r0, [sp, #4] sub r1, r0, #5 str r1, [sp, #8] ldr r0, _0219763c ; =data_027e0ff8 add r1, r4, #8 ldr r0, [r0] add r2, r4, #0x48 add r3, r4, #0x54 bl func_ov05_021082e4 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov51_02197314 _0219762c: .word 0x0000099a _02197630: .word data_ov51_02198280 _02197634: .word data_027e0e60 _02197638: .word 0x000007ae _0219763c: .word data_027e0ff8 .global func_ov51_02197640 arm_func_start func_ov51_02197640 func_ov51_02197640: ; 0x02197640 ldr r0, [r1, #0x10] cmp r0, #6 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov51_02197640 .global func_ov51_02197654 arm_func_start func_ov51_02197654 func_ov51_02197654: ; 0x02197654 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _0219767c mov r0, r5 bl func_ov00_020c1cf8 mov r0, r5 bl func_ov51_02197314 _0219767c: 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_ov51_02197654 .global func_ov51_02197690 arm_func_start func_ov51_02197690 func_ov51_02197690: ; 0x02197690 stmdb sp!, {r4, lr} sub sp, sp, #0x48 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, pc} ldr r0, _0219774c ; =data_ov51_0219828c add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x100 ldrh r1, [r0, #0xd0] ldr r3, _02197750 ; =data_02050f54 add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] blx func_01ff8214 add r0, r4, #0x158 ldr ip, [r0] add r1, sp, #0x3c ldr ip, [ip, #0x10] add r2, sp, #0x18 add r3, r4, #0x48 blx ip ldr r3, _02197754 ; =0x000004cd mov r1, #0 str r3, [sp] str r1, [sp, #4] mov r0, #0x1f str r0, [sp, #8] str r1, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] str r0, [sp, #0x14] ldr r0, _02197758 ; =data_ov00_020e9370 add r2, r4, #0x48 bl func_ov05_02102c2c add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02197690 _0219774c: .word data_ov51_0219828c _02197750: .word data_02050f54 _02197754: .word 0x000004cd _02197758: .word data_ov00_020e9370 .global func_ov51_0219775c arm_func_start func_ov51_0219775c func_ov51_0219775c: ; 0x0219775c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1dc bl func_ov00_02081f4c add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_0219775c .global func_ov51_0219778c arm_func_start func_ov51_0219778c func_ov51_0219778c: ; 0x0219778c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1dc bl func_ov00_02081f4c add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_0219778c .global func_ov51_021977b4 arm_func_start func_ov51_021977b4 func_ov51_021977b4: ; 0x021977b4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov51_021977b4 .global func_ov51_021977d0 arm_func_start func_ov51_021977d0 func_ov51_021977d0: ; 0x021977d0 stmdb sp!, {r3, lr} ldr r1, _021977fc ; =data_027e0fe0 mov r0, #0x1ec ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov51_02197800 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_021977d0 _021977fc: .word data_027e0fe0 .global func_ov51_02197800 arm_func_start func_ov51_02197800 func_ov51_02197800: ; 0x02197800 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r1, _02197870 ; =data_ov51_02198978 ldr r0, _02197874 ; =data_027e0fec str r1, [r4] ldr r0, [r0] add r0, r0, #0x2e8 add r0, r0, #0x1800 bl func_ov00_020c4588 mov r1, r0 add r0, r4, #0x158 blx func_ov00_020a9588 ldr r1, _02197878 ; =data_ov00_020e2f04 mov r0, #1 str r1, [r4, #0x1b4] strb r0, [r4, #0x1b8] mov r1, #0 strb r1, [r4, #0x1b9] str r1, [r4, #0x1bc] str r1, [r4, #0x1c0] ldr r0, _0219787c ; =data_ov00_020e2dd8 str r1, [r4, #0x1c4] ldr r1, _02197880 ; =data_ov00_020e2f98 str r0, [r4, #0x1b4] mov r0, r4 str r1, [r4, #0x1e0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02197800 _02197870: .word data_ov51_02198978 _02197874: .word data_027e0fec _02197878: .word data_ov00_020e2f04 _0219787c: .word data_ov00_020e2dd8 _02197880: .word data_ov00_020e2f98 .global func_ov51_02197884 arm_func_start func_ov51_02197884 func_ov51_02197884: ; 0x02197884 stmdb sp!, {r4, lr} ldr r1, _021978cc ; =data_ov51_02198978 mov r4, r0 ldr r0, _021978d0 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x1b4 bl func_ov00_02093af0 add r0, r4, #0x1e0 bl func_ov00_02081f6c add r0, r4, #0x1b4 bl func_ov00_02094824 add r0, r4, #0x158 blx func_ov00_020a95a4 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov51_02197884 _021978cc: .word data_ov51_02198978 _021978d0: .word data_027e0f6c .global func_ov51_021978d4 arm_func_start func_ov51_021978d4 func_ov51_021978d4: ; 0x021978d4 stmdb sp!, {r4, lr} ldr r1, _02197924 ; =data_ov51_02198978 mov r4, r0 ldr r0, _02197928 ; =data_027e0f6c str r1, [r4] ldr r0, [r0] add r1, r4, #0x1b4 bl func_ov00_02093af0 add r0, r4, #0x1e0 bl func_ov00_02081f6c add r0, r4, #0x1b4 bl func_ov00_02094824 add r0, r4, #0x158 blx func_ov00_020a95a4 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_ov51_021978d4 _02197924: .word data_ov51_02198978 _02197928: .word data_027e0f6c .global func_ov51_0219792c arm_func_start func_ov51_0219792c func_ov51_0219792c: ; 0x0219792c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 mov r7, r0 ldr r2, [r7, #0x4c] mov r1, #4 add r2, r2, #0x800 str r2, [r7, #0x4c] ldr r2, [r7, #0x48] str r2, [r7, #0x54] ldr r2, [r7, #0x4c] str r2, [r7, #0x58] ldr r2, [r7, #0x50] str r2, [r7, #0x5c] bl func_ov00_020c3200 ldrh r1, [r7, #0x20] add r0, r7, #0x100 cmp r1, #1 movls r1, #1 strh r1, [r0, #0xe6] ldrh r1, [r7, #0x22] add r0, r7, #0x100 strh r1, [r0, #0xe8] ldr r0, [r7, #0x74] bl func_0202bba8 mov r1, #0 bic r1, r1, #0x6000 bic r1, r1, #0x1f orr r2, r1, #9 strh r0, [r7, #0x78] add r1, sp, #8 mov r0, r7 str r2, [sp, #4] bl func_ov51_02198024 add r0, r7, #0x1e0 str r0, [sp] add r0, r7, #0x1b4 ldr r4, [r0] ldr r2, [r7, #8] ldr r3, [sp, #4] ldr r4, [r4, #0x14] add r1, sp, #8 blx r4 mov r0, #0 strb r0, [r7, #0x1b9] ldr r0, _02197abc ; =data_027e0f6c add r1, r7, #0x1b4 ldr r0, [r0] bl func_ov00_02093a5c add r0, r7, #0x100 ldrh r1, [r0, #0xe6] ldr r0, [r7, #0x74] mov r1, r1, lsl #0xc add r1, r1, r1, lsr #31 mov r4, r1, asr #0x1 bl func_0202bb98 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02197a54 _02197a14: ; jump table b _02197a24 ; case 0 b _02197a30 ; case 1 b _02197a40 ; case 2 b _02197a4c ; case 3 _02197a24: mov r5, #0x1000 mov r6, #0 b _02197a54 _02197a30: mov r5, #0x1000 rsb r5, r5, #0 mov r6, #0 b _02197a54 _02197a40: mov r5, #0 mov r6, #0x1000 b _02197a54 _02197a4c: mov r5, #0 sub r6, r5, #0x1000 _02197a54: sub r3, r4, #0x800 smull r0, r2, r3, r5 adds r5, r0, #0x800 smull r1, r0, r3, r6 adc r3, r2, #0 adds r2, r1, #0x800 mov r1, r5, lsr #0xc orr r1, r1, r3, lsl #20 str r1, [r7, #0xa8] mov r1, #0 adc r0, r0, #0 mov r2, r2, lsr #0xc str r1, [r7, #0xac] orr r2, r2, r0, lsl #20 str r2, [r7, #0xb0] add r0, r4, #0x1000 str r0, [r7, #0xb4] add r2, r7, #0x100 mov r0, r7 strh r1, [r2, #0xe4] mov r2, #1 strb r2, [r7, #0x1ea] bl func_ov51_02197ac0 mov r0, #1 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov51_0219792c _02197abc: .word data_027e0f6c .global func_ov51_02197ac0 arm_func_start func_ov51_02197ac0 func_ov51_02197ac0: ; 0x02197ac0 mov r2, #0 str r2, [r0, #0x138] str r1, [r0, #0x130] bx lr arm_func_end func_ov51_02197ac0 .global func_ov51_02197ad0 arm_func_start func_ov51_02197ad0 func_ov51_02197ad0: ; 0x02197ad0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r1, [r4, #0x48] str r1, [r4, #0x54] ldr r1, [r4, #0x4c] str r1, [r4, #0x58] ldr r1, [r4, #0x50] str r1, [r4, #0x5c] bl func_ov00_020c2bf4 mov r0, r4 bl func_ov51_02198184 ldrh r0, [r4, #0x24] cmp r0, #1 bne _02197b1c mov r0, r4 mov r1, #0 bl func_ov00_020c1bfc cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02197b1c: ldr r0, [r4, #0x130] cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrb r0, [r4, #0x1ea] mov r1, #0 cmp r0, #1 ldrh r0, [r4, #0x78] bne _02197bc0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r3, r0, lsl #0x1 ldr r2, _02197dc4 ; =data_02050f54 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r6, [r2, r3] ldrsh r2, [r2, r0] mov r0, #0xcd umull ip, r7, r6, r0 mla r7, r6, r1, r7 umull r5, r3, r2, r0 mla r3, r2, r1, r3 mov r6, r6, asr #0x1f mov r1, r2, asr #0x1f mla r7, r6, r0, r7 adds ip, ip, #0x800 adc r6, r7, #0 mov r7, ip, lsr #0xc orr r7, r7, r6, lsl #20 mla r3, r1, r0, r3 adds r5, r5, #0x800 adc r0, r3, #0 mov r1, r5, lsr #0xc str r7, [r4, #0x60] orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] add r1, r4, #0x100 ldrh r0, [r1, #0xe4] add r0, r0, #0x8e add r0, r0, #0x300 strh r0, [r1, #0xe4] b _02197c48 _02197bc0: mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 add r0, r5, #1 ldr r3, _02197dc4 ; =data_02050f54 mov r5, r5, lsl #0x1 ldrsh r5, [r3, r5] mov r0, r0, lsl #0x1 mvn r2, #0 ldrsh r3, [r3, r0] sub r0, r2, #0xcc umull r7, r6, r5, r0 mla r6, r5, r2, r6 mov r5, r5, asr #0x1f sub r1, r1, #0xcd umull lr, ip, r3, r1 mla r6, r5, r0, r6 adds r7, r7, #0x800 adc r0, r6, #0 mov r5, r7, lsr #0xc orr r5, r5, r0, lsl #20 mla ip, r3, r2, ip mov r0, r3, asr #0x1f mla ip, r0, r1, ip adds lr, lr, #0x800 adc r0, ip, #0 mov r1, lr, lsr #0xc orr r1, r1, r0, lsl #20 str r5, [r4, #0x60] add r0, r4, #0x100 str r1, [r4, #0x68] ldrh r1, [r0, #0xe4] sub r1, r1, #0x8e sub r1, r1, #0x300 strh r1, [r0, #0xe4] _02197c48: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, #0 str r0, [sp] ldr r3, [r4, #8] ldr r0, _02197dc8 ; =data_027e0ffc ldr r1, _02197dcc ; =0x00000206 add r2, r4, #0x48 bl func_ov00_020cec60 ldr r1, [r4, #0x74] ldrb r0, [r4, #0x1ea] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02197da0 _02197c88: ; jump table b _02197c98 ; case 0 b _02197cdc ; case 1 b _02197d20 ; case 2 b _02197d64 ; case 3 _02197c98: add r1, r4, #0x100 ldrh r2, [r1, #0xe8] ldr r3, [r4, #0x14] ldr r1, [r4, #0x48] add r2, r3, r2, lsl #12 cmp r1, r3 bgt _02197cc4 str r3, [r4, #0x48] mov r1, #1 strb r1, [r4, #0x1ea] b _02197da0 _02197cc4: cmp r1, r2 blt _02197da0 str r2, [r4, #0x48] mov r1, #0 strb r1, [r4, #0x1ea] b _02197da0 _02197cdc: add r1, r4, #0x100 ldrh r2, [r1, #0xe8] ldr r3, [r4, #0x14] ldr r1, [r4, #0x48] sub r2, r3, r2, lsl #12 cmp r1, r3 blt _02197d08 str r3, [r4, #0x48] mov r1, #1 strb r1, [r4, #0x1ea] b _02197da0 _02197d08: cmp r1, r2 bgt _02197da0 str r2, [r4, #0x48] mov r1, #0 strb r1, [r4, #0x1ea] b _02197da0 _02197d20: add r1, r4, #0x100 ldrh r2, [r1, #0xe8] ldr r3, [r4, #0x1c] ldr r1, [r4, #0x50] add r2, r3, r2, lsl #12 cmp r1, r3 bgt _02197d4c str r3, [r4, #0x50] mov r1, #1 strb r1, [r4, #0x1ea] b _02197da0 _02197d4c: cmp r1, r2 blt _02197da0 str r2, [r4, #0x50] mov r1, #0 strb r1, [r4, #0x1ea] b _02197da0 _02197d64: add r1, r4, #0x100 ldrh r2, [r1, #0xe8] ldr r3, [r4, #0x1c] ldr r1, [r4, #0x50] sub r2, r3, r2, lsl #12 cmp r1, r3 blt _02197d90 str r3, [r4, #0x50] mov r1, #1 strb r1, [r4, #0x1ea] b _02197da0 _02197d90: cmp r1, r2 strle r2, [r4, #0x50] movle r1, #0 strleb r1, [r4, #0x1ea] _02197da0: ldrb r1, [r4, #0x1ea] cmp r0, r1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02197dc8 ; =data_027e0ffc ldr r1, _02197dd0 ; =0x00000207 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov51_02197ad0 _02197dc4: .word data_02050f54 _02197dc8: .word data_027e0ffc _02197dcc: .word 0x00000206 _02197dd0: .word 0x00000207 .global func_ov51_02197dd4 arm_func_start func_ov51_02197dd4 func_ov51_02197dd4: ; 0x02197dd4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _02197df4 mov r0, r5 bl func_ov51_02197ad0 _02197df4: 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_ov51_02197dd4 .global func_ov51_02197e08 arm_func_start func_ov51_02197e08 func_ov51_02197e08: ; 0x02197e08 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x90 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x90 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #0x1000 str r0, [sp, #0x84] str r0, [sp, #0x88] str r0, [sp, #0x8c] ldrh r1, [r4, #0x78] ldr r3, _02198018 ; =data_02050f54 add r0, sp, #0x60 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, r4, #0x100 ldrh r1, [r0, #0xe4] ldr r3, _02198018 ; =data_02050f54 add r0, sp, #0x18 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_01ff81f8 add r1, sp, #0x60 add r0, sp, #0x18 mov r2, r1 bl func_01ff8690 ldr r0, [r4, #0x74] bl func_0202bb98 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02197f1c _02197ebc: ; jump table b _02197ecc ; case 0 b _02197ee0 ; case 1 b _02197ef8 ; case 2 b _02197f0c ; case 3 _02197ecc: mov r1, #0x1000 mov r0, #0 str r1, [sp, #0x54] str r0, [sp, #0x5c] b _02197f1c _02197ee0: mov r1, #0x1000 rsb r1, r1, #0 mov r0, #0 str r1, [sp, #0x54] str r0, [sp, #0x5c] b _02197f1c _02197ef8: mov r1, #0 mov r0, #0x1000 str r1, [sp, #0x54] str r0, [sp, #0x5c] b _02197f1c _02197f0c: mov r1, #0 sub r0, r1, #0x1000 str r1, [sp, #0x54] str r0, [sp, #0x5c] _02197f1c: mov sb, #0 str sb, [sp, #0x58] add r5, r4, #0x100 ldrh r0, [r5, #0xe6] cmp r0, #0 ble _02197f94 mov sl, sb add r8, r4, #0x48 add r7, sp, #0x48 add r6, sp, #0x54 add fp, sp, #0x84 _02197f48: ldmia r8, {r0, r1, r2} stmia r7, {r0, r1, r2} mov r0, sl mov r1, r6 mov r2, r7 mov r3, r7 bl func_01ff9e64 add r0, r4, #0x158 ldr ip, [r0] mov r1, fp ldr ip, [ip, #0x10] add r2, sp, #0x60 mov r3, r7 blx ip ldrh r0, [r5, #0xe6] add sb, sb, #1 add sl, sl, #0x1000 cmp sb, r0 blt _02197f48 _02197f94: add r0, r4, #0x48 add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x100 ldrh r0, [r0, #0xe6] add r1, sp, #0x54 mov r2, r3 sub r0, r0, #1 mov r0, r0, lsl #0xb bl func_01ff9e64 ldr r1, [sp, #0x40] ldr r0, _0219801c ; =0x000004cd sub r1, r1, #0xd7 sub r1, r1, #0x700 str r1, [sp, #0x40] str r0, [sp] ldrsh r2, [r4, #0x78] mov r0, #0x1f mov r1, #1 str r2, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] str r1, [sp, #0x14] add r0, r4, #0x100 ldrh r3, [r0, #0xe6] ldr r0, _02198020 ; =data_ov00_020e9370 add r2, sp, #0x3c mov r3, r3, lsl #0xb bl func_ov05_02102c2c add sp, sp, #0x90 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov51_02197e08 _02198018: .word data_02050f54 _0219801c: .word 0x000004cd _02198020: .word data_ov00_020e9370 .global func_ov51_02198024 arm_func_start func_ov51_02198024 func_ov51_02198024: ; 0x02198024 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sb, r0 ldr r4, [sb, #0x48] ldr r5, [sb, #0x50] ldr r0, [sb, #0x74] mov r8, r1 mov r6, r4 mov r7, r5 ldr sl, [sb, #0x4c] bl func_0202bb98 cmp r0, #3 addls pc, pc, r0, lsl #2 b _02198164 _02198058: ; jump table b _02198068 ; case 0 b _021980a8 ; case 1 b _02198128 ; case 2 b _021980e8 ; case 3 _02198068: add r0, sb, #0x100 ldrh r0, [r0, #0xe6] ldr r1, _02198180 ; =0x000004cd sub r5, r5, #0xcd sub r0, r0, #1 mov r0, r0, lsl #0xc add r0, r0, #0x800 add r2, r6, r0 add r0, r7, #0xcd sub r1, r1, #0x800 sub r6, r2, #0xcd sub r5, r5, #0x400 add r7, r0, #0x400 add r4, r4, r1 sub r6, r6, #0x400 b _02198164 _021980a8: add r0, sb, #0x100 ldrh r1, [r0, #0xe6] ldr r0, _02198180 ; =0x000004cd sub r5, r5, #0xcd sub r1, r1, #1 mov r1, r1, lsl #0xc add r1, r1, #0x800 sub r2, r4, r1 add r1, r7, #0xcd add r2, r2, #0xcd sub r0, r0, #0x800 sub r5, r5, #0x400 add r7, r1, #0x400 add r4, r2, #0x400 sub r6, r6, r0 b _02198164 _021980e8: add r0, sb, #0x100 ldrh r1, [r0, #0xe6] ldr r0, _02198180 ; =0x000004cd sub r4, r4, #0xcd sub r1, r1, #1 mov r1, r1, lsl #0xc add r1, r1, #0x800 sub r2, r5, r1 add r1, r6, #0xcd add r2, r2, #0xcd sub r0, r0, #0x800 sub r4, r4, #0x400 add r6, r1, #0x400 add r5, r2, #0x400 sub r7, r7, r0 b _02198164 _02198128: add r0, sb, #0x100 ldrh r0, [r0, #0xe6] ldr r1, _02198180 ; =0x000004cd sub r4, r4, #0xcd sub r0, r0, #1 mov r0, r0, lsl #0xc add r0, r0, #0x800 add r2, r7, r0 add r0, r6, #0xcd sub r1, r1, #0x800 sub r7, r2, #0xcd sub r4, r4, #0x400 add r6, r0, #0x400 add r5, r5, r1 sub r7, r7, #0x400 _02198164: str r4, [r8] sub r0, sl, #0x800 stmib r8, {r0, r5, r6} add r0, sl, #0x800 str r0, [r8, #0x10] str r7, [r8, #0x14] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov51_02198024 _02198180: .word 0x000004cd .global func_ov51_02198184 arm_func_start func_ov51_02198184 func_ov51_02198184: ; 0x02198184 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x34 add r1, sp, #0x1c mov r4, r0 bl func_ov51_02198024 add r0, r4, #0x1b4 ldr r2, [r0] add r1, sp, #0x1c ldr r2, [r2, #0x20] blx r2 ldr r0, _02198264 ; =data_027e0f90 add r1, sp, #0xc ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x10] blx r2 add r0, sp, #0x1c add r1, sp, #0xc bl func_ov00_0208e82c cmp r0, #0 addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} add r0, sp, #0x1c add r1, sp, #0 bl func_ov00_0208e6b0 add r1, sp, #0 add r0, sp, #0xc mov r2, r1 bl func_01ff9bf8 mov r1, #0 str r1, [sp, #4] ldr r0, [r4, #0x74] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0219824c _02198210: ; jump table b _02198220 ; case 0 b _02198220 ; case 1 b _02198238 ; case 2 b _02198238 ; case 3 _02198220: ldr r0, [sp] str r1, [sp, #8] cmp r0, #0 moveq r0, #0x1000 streq r0, [sp] b _0219824c _02198238: ldr r0, [sp, #8] str r1, [sp] cmp r0, #0 moveq r0, #0x1000 streq r0, [sp, #8] _0219824c: add r2, sp, #0 mov r0, r4 mov r1, #1 bl func_ov00_020c1da0 add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov51_02198184 _02198264: .word data_027e0f90 .rodata .global data_ov51_02198268 data_ov51_02198268: ; 0x02198268 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_0219826c data_ov51_0219826c: ; 0x0219826c .byte 0x00, 0x08, 0x00, 0x00 .global data_ov51_02198270 data_ov51_02198270: ; 0x02198270 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198274 data_ov51_02198274: ; 0x02198274 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198278 data_ov51_02198278: ; 0x02198278 .byte 0xae, 0x07, 0x00, 0x00 .global data_ov51_0219827c data_ov51_0219827c: ; 0x0219827c .byte 0xae, 0x07, 0x00, 0x00 .global data_ov51_02198280 data_ov51_02198280: ; 0x02198280 .ascii "BMOB" .global data_ov51_02198284 data_ov51_02198284: ; 0x02198284 .ascii "YTMB" .global data_ov51_02198288 data_ov51_02198288: ; 0x02198288 .ascii "LLUN" .global data_ov51_0219828c data_ov51_0219828c: ; 0x0219828c .byte 0x00, 0x10, 0x00, 0x00 .global data_ov51_02198290 data_ov51_02198290: ; 0x02198290 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov51_02198294 data_ov51_02198294: ; 0x02198294 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov51_02198298 data_ov51_02198298: ; 0x02198298 .byte 0xcd, 0x04, 0x00, 0x00 .global data_ov51_0219829c data_ov51_0219829c: ; 0x0219829c .byte 0x9a, 0x01, 0x00, 0x00 .section .init, 4, 1, 4 .global func_ov51_021982a0 arm_func_start func_ov51_021982a0 func_ov51_021982a0: ; 0x021982a0 stmdb sp!, {r3, lr} ldr r0, _021982cc ; =data_ov51_02198a6c ldr r1, _021982d0 ; =0x46495247 ldr r2, _021982d4 ; =func_ov51_02195500 mov r3, #0 bl func_0203e784 ldr r0, _021982cc ; =data_ov51_02198a6c ldr r1, _021982d8 ; =func_0203e7b4 ldr r2, _021982dc ; =data_ov51_02198a60 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_021982a0 _021982cc: .word data_ov51_02198a6c _021982d0: .word 0x46495247 _021982d4: .word func_ov51_02195500 _021982d8: .word func_0203e7b4 _021982dc: .word data_ov51_02198a60 .global func_ov51_021982e0 arm_func_start func_ov51_021982e0 func_ov51_021982e0: ; 0x021982e0 stmdb sp!, {r3, lr} ldr r0, _0219830c ; =data_ov51_02198a8c ldr r1, _02198310 ; =0x46495245 ldr r2, _02198314 ; =func_ov51_0219590c mov r3, #0 bl func_0203e784 ldr r0, _0219830c ; =data_ov51_02198a8c ldr r1, _02198318 ; =func_0203e7b4 ldr r2, _0219831c ; =data_ov51_02198a80 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_021982e0 _0219830c: .word data_ov51_02198a8c _02198310: .word 0x46495245 _02198314: .word func_ov51_0219590c _02198318: .word func_0203e7b4 _0219831c: .word data_ov51_02198a80 .global func_ov51_02198320 arm_func_start func_ov51_02198320 func_ov51_02198320: ; 0x02198320 stmdb sp!, {lr} sub sp, sp, #0x84 ldr r0, _0219840c ; =data_ov51_02198ac0 ldr r1, _02198410 ; =0x46495253 ldr r2, _02198414 ; =func_ov51_02195efc mov r3, #0 bl func_0203e784 ldr r0, _0219840c ; =data_ov51_02198ac0 ldr r1, _02198418 ; =func_0203e7b4 ldr r2, _0219841c ; =data_ov51_02198ab4 bl func_0204f8d4 mov r3, #0 str r3, [sp] str r3, [sp, #4] str r3, [sp, #8] mov r0, #0x1000 str r0, [sp, #0xc] str r0, [sp, #0x10] str r0, [sp, #0x14] mov r0, #1 str r0, [sp, #0x18] str r3, [sp, #0x1c] str r3, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] str r3, [sp, #0x2c] str r3, [sp, #0x30] str r3, [sp, #0x34] str r3, [sp, #0x38] str r3, [sp, #0x3c] str r3, [sp, #0x40] str r3, [sp, #0x44] mov r0, #0x96 str r0, [sp, #0x48] str r3, [sp, #0x4c] ldr r0, _02198420 ; =0x000004cd str r3, [sp, #0x50] str r0, [sp, #0x54] str r3, [sp, #0x58] str r0, [sp, #0x5c] str r3, [sp, #0x60] str r3, [sp, #0x64] str r0, [sp, #0x68] str r3, [sp, #0x6c] str r3, [sp, #0x70] str r3, [sp, #0x74] str r3, [sp, #0x78] ldr r0, _02198424 ; =data_ov51_02198698 str r3, [sp, #0x7c] mov r2, #2 mov r1, #0xff str r2, [sp, #0x80] bl func_ov00_020ccdd4 ldr r0, _02198424 ; =data_ov51_02198698 ldr r1, _02198428 ; =func_ov00_020cceec ldr r2, _0219842c ; =data_ov51_02198ad4 bl func_0204f8d4 add sp, sp, #0x84 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov51_02198320 _0219840c: .word data_ov51_02198ac0 _02198410: .word 0x46495253 _02198414: .word func_ov51_02195efc _02198418: .word func_0203e7b4 _0219841c: .word data_ov51_02198ab4 _02198420: .word 0x000004cd _02198424: .word data_ov51_02198698 _02198428: .word func_ov00_020cceec _0219842c: .word data_ov51_02198ad4 .global func_ov51_02198430 arm_func_start func_ov51_02198430 func_ov51_02198430: ; 0x02198430 stmdb sp!, {r3, lr} ldr r0, _0219845c ; =data_ov51_02198aec ldr r1, _02198460 ; =0x4e545250 ldr r2, _02198464 ; =func_ov51_02196698 mov r3, #0 bl func_0203e784 ldr r0, _0219845c ; =data_ov51_02198aec ldr r1, _02198468 ; =func_0203e7b4 ldr r2, _0219846c ; =data_ov51_02198ae0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_02198430 _0219845c: .word data_ov51_02198aec _02198460: .word 0x4e545250 _02198464: .word func_ov51_02196698 _02198468: .word func_0203e7b4 _0219846c: .word data_ov51_02198ae0 .global func_ov51_02198470 arm_func_start func_ov51_02198470 func_ov51_02198470: ; 0x02198470 stmdb sp!, {r3, lr} ldr r0, _0219849c ; =data_ov51_02198b0c ldr r1, _021984a0 ; =0x5350524c ldr r2, _021984a4 ; =func_ov51_021977d0 mov r3, #0 bl func_0203e784 ldr r0, _0219849c ; =data_ov51_02198b0c ldr r1, _021984a8 ; =func_0203e7b4 ldr r2, _021984ac ; =data_ov51_02198b00 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov51_02198470 _0219849c: .word data_ov51_02198b0c _021984a0: .word 0x5350524c _021984a4: .word func_ov51_021977d0 _021984a8: .word func_0203e7b4 _021984ac: .word data_ov51_02198b00 .section .sinit, 4, 1, 4 .global data_ov51_021984b0 data_ov51_021984b0: ; 0x021984b0 .byte 0xa0, 0x82, 0x19, 0x02 .global data_ov51_021984b4 data_ov51_021984b4: ; 0x021984b4 .byte 0xe0, 0x82, 0x19, 0x02 .global data_ov51_021984b8 data_ov51_021984b8: ; 0x021984b8 .byte 0x20, 0x83, 0x19, 0x02 .global data_ov51_021984bc data_ov51_021984bc: ; 0x021984bc .byte 0x30, 0x84, 0x19, 0x02 .global data_ov51_021984c0 data_ov51_021984c0: ; 0x021984c0 .byte 0x70, 0x84, 0x19, 0x02 .data .global data_ov51_021984e0 data_ov51_021984e0: ; 0x021984e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021984e4 data_ov51_021984e4: ; 0x021984e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021984e8 data_ov51_021984e8: ; 0x021984e8 .byte 0xf8, 0x58, 0x19, 0x02 .global data_ov51_021984ec data_ov51_021984ec: ; 0x021984ec .byte 0xdc, 0x58, 0x19, 0x02 .global data_ov51_021984f0 data_ov51_021984f0: ; 0x021984f0 .byte 0x50, 0x55, 0x19, 0x02 .global data_ov51_021984f4 data_ov51_021984f4: ; 0x021984f4 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov51_021984f8 data_ov51_021984f8: ; 0x021984f8 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov51_021984fc data_ov51_021984fc: ; 0x021984fc .byte 0x0c, 0x56, 0x19, 0x02 .global data_ov51_02198500 data_ov51_02198500: ; 0x02198500 .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov51_02198504 data_ov51_02198504: ; 0x02198504 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov51_02198508 data_ov51_02198508: ; 0x02198508 .byte 0x00, 0x58, 0x19, 0x02 .global data_ov51_0219850c data_ov51_0219850c: ; 0x0219850c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov51_02198510 data_ov51_02198510: ; 0x02198510 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov51_02198514 data_ov51_02198514: ; 0x02198514 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov51_02198518 data_ov51_02198518: ; 0x02198518 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov51_0219851c data_ov51_0219851c: ; 0x0219851c .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov51_02198520 data_ov51_02198520: ; 0x02198520 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov51_02198524 data_ov51_02198524: ; 0x02198524 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov51_02198528 data_ov51_02198528: ; 0x02198528 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov51_0219852c data_ov51_0219852c: ; 0x0219852c .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov51_02198530 data_ov51_02198530: ; 0x02198530 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov51_02198534 data_ov51_02198534: ; 0x02198534 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov51_02198538 data_ov51_02198538: ; 0x02198538 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov51_0219853c data_ov51_0219853c: ; 0x0219853c .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov51_02198540 data_ov51_02198540: ; 0x02198540 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov51_02198544 data_ov51_02198544: ; 0x02198544 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov51_02198548 data_ov51_02198548: ; 0x02198548 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov51_0219854c data_ov51_0219854c: ; 0x0219854c .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov51_02198550 data_ov51_02198550: ; 0x02198550 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov51_02198554 data_ov51_02198554: ; 0x02198554 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov51_02198558 data_ov51_02198558: ; 0x02198558 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov51_0219855c data_ov51_0219855c: ; 0x0219855c .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov51_02198560 data_ov51_02198560: ; 0x02198560 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov51_02198564 data_ov51_02198564: ; 0x02198564 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov51_02198568 data_ov51_02198568: ; 0x02198568 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov51_0219856c data_ov51_0219856c: ; 0x0219856c .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov51_02198570 data_ov51_02198570: ; 0x02198570 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov51_02198574 data_ov51_02198574: ; 0x02198574 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov51_02198578 data_ov51_02198578: ; 0x02198578 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov51_0219857c data_ov51_0219857c: ; 0x0219857c .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov51_02198580 data_ov51_02198580: ; 0x02198580 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov51_02198584 data_ov51_02198584: ; 0x02198584 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov51_02198588 data_ov51_02198588: ; 0x02198588 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov51_0219858c data_ov51_0219858c: ; 0x0219858c .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov51_02198590 data_ov51_02198590: ; 0x02198590 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov51_02198594 data_ov51_02198594: ; 0x02198594 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov51_02198598 data_ov51_02198598: ; 0x02198598 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov51_0219859c data_ov51_0219859c: ; 0x0219859c .ascii "brg" .byte 0x00 .global data_ov51_021985a0 data_ov51_021985a0: ; 0x021985a0 .ascii "fnl" .byte 0x00 .global data_ov51_021985a4 data_ov51_021985a4: ; 0x021985a4 .ascii "pdl" .byte 0x00 .global data_ov51_021985a8 data_ov51_021985a8: ; 0x021985a8 .ascii "dco" .byte 0x00 .global data_ov51_021985ac data_ov51_021985ac: ; 0x021985ac .ascii "can" .byte 0x00 .global data_ov51_021985b0 data_ov51_021985b0: ; 0x021985b0 .ascii "hul" .byte 0x00 .global data_ov51_021985b4 data_ov51_021985b4: ; 0x021985b4 .ascii "bow" .byte 0x00 .global data_ov51_021985b8 data_ov51_021985b8: ; 0x021985b8 .ascii "anc" .byte 0x00 .global data_ov51_021985bc data_ov51_021985bc: ; 0x021985bc .byte 0xb8, 0x85, 0x19, 0x02 .global data_ov51_021985c0 data_ov51_021985c0: ; 0x021985c0 .byte 0xb4, 0x85, 0x19, 0x02 .global data_ov51_021985c4 data_ov51_021985c4: ; 0x021985c4 .byte 0xb0, 0x85, 0x19, 0x02 .global data_ov51_021985c8 data_ov51_021985c8: ; 0x021985c8 .byte 0xac, 0x85, 0x19, 0x02 .global data_ov51_021985cc data_ov51_021985cc: ; 0x021985cc .byte 0xa8, 0x85, 0x19, 0x02 .global data_ov51_021985d0 data_ov51_021985d0: ; 0x021985d0 .byte 0xa4, 0x85, 0x19, 0x02 .global data_ov51_021985d4 data_ov51_021985d4: ; 0x021985d4 .byte 0xa0, 0x85, 0x19, 0x02 .global data_ov51_021985d8 data_ov51_021985d8: ; 0x021985d8 .byte 0x9c, 0x85, 0x19, 0x02 .global data_ov51_021985dc data_ov51_021985dc: ; 0x021985dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021985e0 data_ov51_021985e0: ; 0x021985e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021985e4 data_ov51_021985e4: ; 0x021985e4 .byte 0xd4, 0x5e, 0x19, 0x02 .global data_ov51_021985e8 data_ov51_021985e8: ; 0x021985e8 .byte 0xa4, 0x5e, 0x19, 0x02 .global data_ov51_021985ec data_ov51_021985ec: ; 0x021985ec .byte 0x68, 0x59, 0x19, 0x02 .global data_ov51_021985f0 data_ov51_021985f0: ; 0x021985f0 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov51_021985f4 data_ov51_021985f4: ; 0x021985f4 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov51_021985f8 data_ov51_021985f8: ; 0x021985f8 .byte 0x80, 0x5c, 0x19, 0x02 .global data_ov51_021985fc data_ov51_021985fc: ; 0x021985fc .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov51_02198600 data_ov51_02198600: ; 0x02198600 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov51_02198604 data_ov51_02198604: ; 0x02198604 .byte 0xa0, 0x5e, 0x19, 0x02 .global data_ov51_02198608 data_ov51_02198608: ; 0x02198608 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov51_0219860c data_ov51_0219860c: ; 0x0219860c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov51_02198610 data_ov51_02198610: ; 0x02198610 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov51_02198614 data_ov51_02198614: ; 0x02198614 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov51_02198618 data_ov51_02198618: ; 0x02198618 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov51_0219861c data_ov51_0219861c: ; 0x0219861c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov51_02198620 data_ov51_02198620: ; 0x02198620 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov51_02198624 data_ov51_02198624: ; 0x02198624 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov51_02198628 data_ov51_02198628: ; 0x02198628 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov51_0219862c data_ov51_0219862c: ; 0x0219862c .byte 0x08, 0x5c, 0x19, 0x02 .global data_ov51_02198630 data_ov51_02198630: ; 0x02198630 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov51_02198634 data_ov51_02198634: ; 0x02198634 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov51_02198638 data_ov51_02198638: ; 0x02198638 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov51_0219863c data_ov51_0219863c: ; 0x0219863c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov51_02198640 data_ov51_02198640: ; 0x02198640 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov51_02198644 data_ov51_02198644: ; 0x02198644 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov51_02198648 data_ov51_02198648: ; 0x02198648 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov51_0219864c data_ov51_0219864c: ; 0x0219864c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov51_02198650 data_ov51_02198650: ; 0x02198650 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov51_02198654 data_ov51_02198654: ; 0x02198654 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov51_02198658 data_ov51_02198658: ; 0x02198658 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov51_0219865c data_ov51_0219865c: ; 0x0219865c .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov51_02198660 data_ov51_02198660: ; 0x02198660 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov51_02198664 data_ov51_02198664: ; 0x02198664 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov51_02198668 data_ov51_02198668: ; 0x02198668 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov51_0219866c data_ov51_0219866c: ; 0x0219866c .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov51_02198670 data_ov51_02198670: ; 0x02198670 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov51_02198674 data_ov51_02198674: ; 0x02198674 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov51_02198678 data_ov51_02198678: ; 0x02198678 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov51_0219867c data_ov51_0219867c: ; 0x0219867c .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov51_02198680 data_ov51_02198680: ; 0x02198680 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov51_02198684 data_ov51_02198684: ; 0x02198684 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov51_02198688 data_ov51_02198688: ; 0x02198688 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov51_0219868c data_ov51_0219868c: ; 0x0219868c .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov51_02198690 data_ov51_02198690: ; 0x02198690 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov51_02198694 data_ov51_02198694: ; 0x02198694 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov51_02198698 data_ov51_02198698: ; 0x02198698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_0219869c data_ov51_0219869c: ; 0x0219869c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986a0 data_ov51_021986a0: ; 0x021986a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986a4 data_ov51_021986a4: ; 0x021986a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986a8 data_ov51_021986a8: ; 0x021986a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986ac data_ov51_021986ac: ; 0x021986ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986b0 data_ov51_021986b0: ; 0x021986b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986b4 data_ov51_021986b4: ; 0x021986b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986b8 data_ov51_021986b8: ; 0x021986b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986bc data_ov51_021986bc: ; 0x021986bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986c0 data_ov51_021986c0: ; 0x021986c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986c4 data_ov51_021986c4: ; 0x021986c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986c8 data_ov51_021986c8: ; 0x021986c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986cc data_ov51_021986cc: ; 0x021986cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986d0 data_ov51_021986d0: ; 0x021986d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986d4 data_ov51_021986d4: ; 0x021986d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986d8 data_ov51_021986d8: ; 0x021986d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986dc data_ov51_021986dc: ; 0x021986dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986e0 data_ov51_021986e0: ; 0x021986e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986e4 data_ov51_021986e4: ; 0x021986e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986e8 data_ov51_021986e8: ; 0x021986e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986ec data_ov51_021986ec: ; 0x021986ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986f0 data_ov51_021986f0: ; 0x021986f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986f4 data_ov51_021986f4: ; 0x021986f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986f8 data_ov51_021986f8: ; 0x021986f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_021986fc data_ov51_021986fc: ; 0x021986fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198700 data_ov51_02198700: ; 0x02198700 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198704 data_ov51_02198704: ; 0x02198704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198708 data_ov51_02198708: ; 0x02198708 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_0219870c data_ov51_0219870c: ; 0x0219870c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198710 data_ov51_02198710: ; 0x02198710 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198714 data_ov51_02198714: ; 0x02198714 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198718 data_ov51_02198718: ; 0x02198718 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_0219871c data_ov51_0219871c: ; 0x0219871c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198720 data_ov51_02198720: ; 0x02198720 .byte 0x28, 0x66, 0x19, 0x02 .global data_ov51_02198724 data_ov51_02198724: ; 0x02198724 .byte 0xc0, 0x65, 0x19, 0x02 .global data_ov51_02198728 data_ov51_02198728: ; 0x02198728 .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov51_0219872c data_ov51_0219872c: ; 0x0219872c .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov51_02198730 data_ov51_02198730: ; 0x02198730 .byte 0xe8, 0xa7, 0x0c, 0x02 .global data_ov51_02198734 data_ov51_02198734: ; 0x02198734 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov51_02198738 data_ov51_02198738: ; 0x02198738 .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov51_0219873c data_ov51_0219873c: ; 0x0219873c .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov51_02198740 data_ov51_02198740: ; 0x02198740 .byte 0xc0, 0xb1, 0x0c, 0x02 .global data_ov51_02198744 data_ov51_02198744: ; 0x02198744 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov51_02198748 data_ov51_02198748: ; 0x02198748 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov51_0219874c data_ov51_0219874c: ; 0x0219874c .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov51_02198750 data_ov51_02198750: ; 0x02198750 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov51_02198754 data_ov51_02198754: ; 0x02198754 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov51_02198758 data_ov51_02198758: ; 0x02198758 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov51_0219875c data_ov51_0219875c: ; 0x0219875c .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov51_02198760 data_ov51_02198760: ; 0x02198760 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov51_02198764 data_ov51_02198764: ; 0x02198764 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov51_02198768 data_ov51_02198768: ; 0x02198768 .byte 0xb4, 0xae, 0x0c, 0x02 .global data_ov51_0219876c data_ov51_0219876c: ; 0x0219876c .byte 0x40, 0xa8, 0x0c, 0x02 .global data_ov51_02198770 data_ov51_02198770: ; 0x02198770 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov51_02198774 data_ov51_02198774: ; 0x02198774 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov51_02198778 data_ov51_02198778: ; 0x02198778 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov51_0219877c data_ov51_0219877c: ; 0x0219877c .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov51_02198780 data_ov51_02198780: ; 0x02198780 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov51_02198784 data_ov51_02198784: ; 0x02198784 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov51_02198788 data_ov51_02198788: ; 0x02198788 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov51_0219878c data_ov51_0219878c: ; 0x0219878c .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov51_02198790 data_ov51_02198790: ; 0x02198790 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov51_02198794 data_ov51_02198794: ; 0x02198794 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov51_02198798 data_ov51_02198798: ; 0x02198798 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov51_0219879c data_ov51_0219879c: ; 0x0219879c .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov51_021987a0 data_ov51_021987a0: ; 0x021987a0 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov51_021987a4 data_ov51_021987a4: ; 0x021987a4 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov51_021987a8 data_ov51_021987a8: ; 0x021987a8 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov51_021987ac data_ov51_021987ac: ; 0x021987ac .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov51_021987b0 data_ov51_021987b0: ; 0x021987b0 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov51_021987b4 data_ov51_021987b4: ; 0x021987b4 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov51_021987b8 data_ov51_021987b8: ; 0x021987b8 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov51_021987bc data_ov51_021987bc: ; 0x021987bc .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov51_021987c0 data_ov51_021987c0: ; 0x021987c0 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov51_021987c4 data_ov51_021987c4: ; 0x021987c4 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov51_021987c8 data_ov51_021987c8: ; 0x021987c8 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov51_021987cc data_ov51_021987cc: ; 0x021987cc .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov51_021987d0 data_ov51_021987d0: ; 0x021987d0 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov51_021987d4 data_ov51_021987d4: ; 0x021987d4 .byte 0xf4, 0xac, 0x0c, 0x02 .global data_ov51_021987d8 data_ov51_021987d8: ; 0x021987d8 .byte 0xfc, 0x60, 0x19, 0x02 .global data_ov51_021987dc data_ov51_021987dc: ; 0x021987dc .byte 0xb4, 0x62, 0x19, 0x02 .global data_ov51_021987e0 data_ov51_021987e0: ; 0x021987e0 .byte 0x0c, 0x65, 0x19, 0x02 .global data_ov51_021987e4 data_ov51_021987e4: ; 0x021987e4 .byte 0xa8, 0xae, 0x0c, 0x02 .global data_ov51_021987e8 data_ov51_021987e8: ; 0x021987e8 .byte 0xf8, 0xae, 0x0c, 0x02 .global data_ov51_021987ec data_ov51_021987ec: ; 0x021987ec .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov51_021987f0 data_ov51_021987f0: ; 0x021987f0 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov51_021987f4 data_ov51_021987f4: ; 0x021987f4 .byte 0xbc, 0xaf, 0x0c, 0x02 .global data_ov51_021987f8 data_ov51_021987f8: ; 0x021987f8 .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov51_021987fc data_ov51_021987fc: ; 0x021987fc .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov51_02198800 data_ov51_02198800: ; 0x02198800 .byte 0x6c, 0xb0, 0x0c, 0x02 .global data_ov51_02198804 data_ov51_02198804: ; 0x02198804 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov51_02198808 data_ov51_02198808: ; 0x02198808 .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov51_0219880c data_ov51_0219880c: ; 0x0219880c .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov51_02198810 data_ov51_02198810: ; 0x02198810 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov51_02198814 data_ov51_02198814: ; 0x02198814 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov51_02198818 data_ov51_02198818: ; 0x02198818 .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov51_0219881c data_ov51_0219881c: ; 0x0219881c .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov51_02198820 data_ov51_02198820: ; 0x02198820 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov51_02198824 data_ov51_02198824: ; 0x02198824 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov51_02198828 data_ov51_02198828: ; 0x02198828 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_0219882c data_ov51_0219882c: ; 0x0219882c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198830 data_ov51_02198830: ; 0x02198830 .byte 0x6d, 0x9b, 0x0a, 0x02 .global data_ov51_02198834 data_ov51_02198834: ; 0x02198834 .byte 0x79, 0x9b, 0x0a, 0x02 .global data_ov51_02198838 data_ov51_02198838: ; 0x02198838 .ascii "WND:/winder.nsbtp" .byte 0x00, 0x00, 0x00 .global data_ov51_0219884c data_ov51_0219884c: ; 0x0219884c .ascii "winder" .byte 0x00, 0x00 .global data_ov51_02198854 data_ov51_02198854: ; 0x02198854 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198858 data_ov51_02198858: ; 0x02198858 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_0219885c data_ov51_0219885c: ; 0x0219885c .byte 0x8c, 0x77, 0x19, 0x02 .global data_ov51_02198860 data_ov51_02198860: ; 0x02198860 .byte 0x5c, 0x77, 0x19, 0x02 .global data_ov51_02198864 data_ov51_02198864: ; 0x02198864 .byte 0xb8, 0x6c, 0x19, 0x02 .global data_ov51_02198868 data_ov51_02198868: ; 0x02198868 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov51_0219886c data_ov51_0219886c: ; 0x0219886c .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov51_02198870 data_ov51_02198870: ; 0x02198870 .byte 0x54, 0x76, 0x19, 0x02 .global data_ov51_02198874 data_ov51_02198874: ; 0x02198874 .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov51_02198878 data_ov51_02198878: ; 0x02198878 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov51_0219887c data_ov51_0219887c: ; 0x0219887c .byte 0x90, 0x76, 0x19, 0x02 .global data_ov51_02198880 data_ov51_02198880: ; 0x02198880 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov51_02198884 data_ov51_02198884: ; 0x02198884 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov51_02198888 data_ov51_02198888: ; 0x02198888 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov51_0219888c data_ov51_0219888c: ; 0x0219888c .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov51_02198890 data_ov51_02198890: ; 0x02198890 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov51_02198894 data_ov51_02198894: ; 0x02198894 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov51_02198898 data_ov51_02198898: ; 0x02198898 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov51_0219889c data_ov51_0219889c: ; 0x0219889c .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov51_021988a0 data_ov51_021988a0: ; 0x021988a0 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov51_021988a4 data_ov51_021988a4: ; 0x021988a4 .byte 0x40, 0x76, 0x19, 0x02 .global data_ov51_021988a8 data_ov51_021988a8: ; 0x021988a8 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov51_021988ac data_ov51_021988ac: ; 0x021988ac .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov51_021988b0 data_ov51_021988b0: ; 0x021988b0 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov51_021988b4 data_ov51_021988b4: ; 0x021988b4 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov51_021988b8 data_ov51_021988b8: ; 0x021988b8 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov51_021988bc data_ov51_021988bc: ; 0x021988bc .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov51_021988c0 data_ov51_021988c0: ; 0x021988c0 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov51_021988c4 data_ov51_021988c4: ; 0x021988c4 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov51_021988c8 data_ov51_021988c8: ; 0x021988c8 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov51_021988cc data_ov51_021988cc: ; 0x021988cc .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov51_021988d0 data_ov51_021988d0: ; 0x021988d0 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov51_021988d4 data_ov51_021988d4: ; 0x021988d4 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov51_021988d8 data_ov51_021988d8: ; 0x021988d8 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov51_021988dc data_ov51_021988dc: ; 0x021988dc .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov51_021988e0 data_ov51_021988e0: ; 0x021988e0 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov51_021988e4 data_ov51_021988e4: ; 0x021988e4 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov51_021988e8 data_ov51_021988e8: ; 0x021988e8 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov51_021988ec data_ov51_021988ec: ; 0x021988ec .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov51_021988f0 data_ov51_021988f0: ; 0x021988f0 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov51_021988f4 data_ov51_021988f4: ; 0x021988f4 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov51_021988f8 data_ov51_021988f8: ; 0x021988f8 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov51_021988fc data_ov51_021988fc: ; 0x021988fc .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov51_02198900 data_ov51_02198900: ; 0x02198900 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov51_02198904 data_ov51_02198904: ; 0x02198904 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov51_02198908 data_ov51_02198908: ; 0x02198908 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov51_0219890c data_ov51_0219890c: ; 0x0219890c .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov51_02198910 data_ov51_02198910: ; 0x02198910 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198914 data_ov51_02198914: ; 0x02198914 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198918 data_ov51_02198918: ; 0x02198918 .byte 0xa4, 0x6c, 0x19, 0x02 .global data_ov51_0219891c data_ov51_0219891c: ; 0x0219891c .byte 0xb4, 0x77, 0x19, 0x02 .global data_ov51_02198920 data_ov51_02198920: ; 0x02198920 .byte 0x24, 0x69, 0x19, 0x02 .global data_ov51_02198924 data_ov51_02198924: ; 0x02198924 .byte 0xa0, 0x6b, 0x19, 0x02 .global data_ov51_02198928 data_ov51_02198928: ; 0x02198928 .byte 0xa8, 0x6b, 0x19, 0x02 .global data_ov51_0219892c data_ov51_0219892c: ; 0x0219892c .byte 0x54, 0x6b, 0x19, 0x02 .global data_ov51_02198930 data_ov51_02198930: ; 0x02198930 .ascii "brg" .byte 0x00 .global data_ov51_02198934 data_ov51_02198934: ; 0x02198934 .ascii "fnl" .byte 0x00 .global data_ov51_02198938 data_ov51_02198938: ; 0x02198938 .ascii "pdl" .byte 0x00 .global data_ov51_0219893c data_ov51_0219893c: ; 0x0219893c .ascii "dco" .byte 0x00 .global data_ov51_02198940 data_ov51_02198940: ; 0x02198940 .ascii "can" .byte 0x00 .global data_ov51_02198944 data_ov51_02198944: ; 0x02198944 .ascii "hul" .byte 0x00 .global data_ov51_02198948 data_ov51_02198948: ; 0x02198948 .ascii "bow" .byte 0x00 .global data_ov51_0219894c data_ov51_0219894c: ; 0x0219894c .ascii "anc" .byte 0x00 .global data_ov51_02198950 data_ov51_02198950: ; 0x02198950 .byte 0x4c, 0x89, 0x19, 0x02 .global data_ov51_02198954 data_ov51_02198954: ; 0x02198954 .byte 0x48, 0x89, 0x19, 0x02 .global data_ov51_02198958 data_ov51_02198958: ; 0x02198958 .byte 0x44, 0x89, 0x19, 0x02 .global data_ov51_0219895c data_ov51_0219895c: ; 0x0219895c .byte 0x40, 0x89, 0x19, 0x02 .global data_ov51_02198960 data_ov51_02198960: ; 0x02198960 .byte 0x3c, 0x89, 0x19, 0x02 .global data_ov51_02198964 data_ov51_02198964: ; 0x02198964 .byte 0x38, 0x89, 0x19, 0x02 .global data_ov51_02198968 data_ov51_02198968: ; 0x02198968 .byte 0x34, 0x89, 0x19, 0x02 .global data_ov51_0219896c data_ov51_0219896c: ; 0x0219896c .byte 0x30, 0x89, 0x19, 0x02 .global data_ov51_02198970 data_ov51_02198970: ; 0x02198970 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198974 data_ov51_02198974: ; 0x02198974 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198978 data_ov51_02198978: ; 0x02198978 .byte 0x84, 0x78, 0x19, 0x02 .global data_ov51_0219897c data_ov51_0219897c: ; 0x0219897c .byte 0xd4, 0x78, 0x19, 0x02 .global data_ov51_02198980 data_ov51_02198980: ; 0x02198980 .byte 0x2c, 0x79, 0x19, 0x02 .global data_ov51_02198984 data_ov51_02198984: ; 0x02198984 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov51_02198988 data_ov51_02198988: ; 0x02198988 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov51_0219898c data_ov51_0219898c: ; 0x0219898c .byte 0xd4, 0x7d, 0x19, 0x02 .global data_ov51_02198990 data_ov51_02198990: ; 0x02198990 .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov51_02198994 data_ov51_02198994: ; 0x02198994 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov51_02198998 data_ov51_02198998: ; 0x02198998 .byte 0x08, 0x7e, 0x19, 0x02 .global data_ov51_0219899c data_ov51_0219899c: ; 0x0219899c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov51_021989a0 data_ov51_021989a0: ; 0x021989a0 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov51_021989a4 data_ov51_021989a4: ; 0x021989a4 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov51_021989a8 data_ov51_021989a8: ; 0x021989a8 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov51_021989ac data_ov51_021989ac: ; 0x021989ac .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov51_021989b0 data_ov51_021989b0: ; 0x021989b0 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov51_021989b4 data_ov51_021989b4: ; 0x021989b4 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov51_021989b8 data_ov51_021989b8: ; 0x021989b8 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov51_021989bc data_ov51_021989bc: ; 0x021989bc .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov51_021989c0 data_ov51_021989c0: ; 0x021989c0 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov51_021989c4 data_ov51_021989c4: ; 0x021989c4 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov51_021989c8 data_ov51_021989c8: ; 0x021989c8 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov51_021989cc data_ov51_021989cc: ; 0x021989cc .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov51_021989d0 data_ov51_021989d0: ; 0x021989d0 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov51_021989d4 data_ov51_021989d4: ; 0x021989d4 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov51_021989d8 data_ov51_021989d8: ; 0x021989d8 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov51_021989dc data_ov51_021989dc: ; 0x021989dc .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov51_021989e0 data_ov51_021989e0: ; 0x021989e0 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov51_021989e4 data_ov51_021989e4: ; 0x021989e4 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov51_021989e8 data_ov51_021989e8: ; 0x021989e8 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov51_021989ec data_ov51_021989ec: ; 0x021989ec .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov51_021989f0 data_ov51_021989f0: ; 0x021989f0 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov51_021989f4 data_ov51_021989f4: ; 0x021989f4 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov51_021989f8 data_ov51_021989f8: ; 0x021989f8 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov51_021989fc data_ov51_021989fc: ; 0x021989fc .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov51_02198a00 data_ov51_02198a00: ; 0x02198a00 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov51_02198a04 data_ov51_02198a04: ; 0x02198a04 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov51_02198a08 data_ov51_02198a08: ; 0x02198a08 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov51_02198a0c data_ov51_02198a0c: ; 0x02198a0c .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov51_02198a10 data_ov51_02198a10: ; 0x02198a10 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov51_02198a14 data_ov51_02198a14: ; 0x02198a14 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov51_02198a18 data_ov51_02198a18: ; 0x02198a18 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov51_02198a1c data_ov51_02198a1c: ; 0x02198a1c .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov51_02198a20 data_ov51_02198a20: ; 0x02198a20 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov51_02198a24 data_ov51_02198a24: ; 0x02198a24 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov51_02198a28 data_ov51_02198a28: ; 0x02198a28 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov51_02198a2c data_ov51_02198a2c: ; 0x02198a2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a30 data_ov51_02198a30: ; 0x02198a30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a34 data_ov51_02198a34: ; 0x02198a34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a38 data_ov51_02198a38: ; 0x02198a38 .byte 0x58, 0x1f, 0x08, 0x02 .global data_ov51_02198a3c data_ov51_02198a3c: ; 0x02198a3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a40 data_ov51_02198a40: ; 0x02198a40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a44 data_ov51_02198a44: ; 0x02198a44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a48 data_ov51_02198a48: ; 0x02198a48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a4c data_ov51_02198a4c: ; 0x02198a4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a50 data_ov51_02198a50: ; 0x02198a50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a54 data_ov51_02198a54: ; 0x02198a54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a58 data_ov51_02198a58: ; 0x02198a58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov51_02198a5c data_ov51_02198a5c: ; 0x02198a5c .byte 0x00, 0x00, 0x00, 0x00 ; 0x02198a60 .bss .global data_ov51_02198a60 data_ov51_02198a60: .space 0x4 .global data_ov51_02198a64 data_ov51_02198a64: .space 0x4 .global data_ov51_02198a68 data_ov51_02198a68: .space 0x4 .global data_ov51_02198a6c data_ov51_02198a6c: .space 0x4 .global data_ov51_02198a70 data_ov51_02198a70: .space 0x4 .global data_ov51_02198a74 data_ov51_02198a74: .space 0x4 .global data_ov51_02198a78 data_ov51_02198a78: .space 0x4 .global data_ov51_02198a7c data_ov51_02198a7c: .space 0x4 .global data_ov51_02198a80 data_ov51_02198a80: .space 0x4 .global data_ov51_02198a84 data_ov51_02198a84: .space 0x4 .global data_ov51_02198a88 data_ov51_02198a88: .space 0x4 .global data_ov51_02198a8c data_ov51_02198a8c: .space 0x4 .global data_ov51_02198a90 data_ov51_02198a90: .space 0x4 .global data_ov51_02198a94 data_ov51_02198a94: .space 0x4 .global data_ov51_02198a98 data_ov51_02198a98: .space 0x4 .global data_ov51_02198a9c data_ov51_02198a9c: .space 0x4 .global data_ov51_02198aa0 data_ov51_02198aa0: .space 0x4 .global data_ov51_02198aa4 data_ov51_02198aa4: .space 0x4 .global data_ov51_02198aa8 data_ov51_02198aa8: .space 0x4 .global data_ov51_02198aac data_ov51_02198aac: .space 0x4 .global data_ov51_02198ab0 data_ov51_02198ab0: .space 0x4 .global data_ov51_02198ab4 data_ov51_02198ab4: .space 0x4 .global data_ov51_02198ab8 data_ov51_02198ab8: .space 0x4 .global data_ov51_02198abc data_ov51_02198abc: .space 0x4 .global data_ov51_02198ac0 data_ov51_02198ac0: .space 0x4 .global data_ov51_02198ac4 data_ov51_02198ac4: .space 0x4 .global data_ov51_02198ac8 data_ov51_02198ac8: .space 0x4 .global data_ov51_02198acc data_ov51_02198acc: .space 0x4 .global data_ov51_02198ad0 data_ov51_02198ad0: .space 0x4 .global data_ov51_02198ad4 data_ov51_02198ad4: .space 0x4 .global data_ov51_02198ad8 data_ov51_02198ad8: .space 0x4 .global data_ov51_02198adc data_ov51_02198adc: .space 0x4 .global data_ov51_02198ae0 data_ov51_02198ae0: .space 0x4 .global data_ov51_02198ae4 data_ov51_02198ae4: .space 0x4 .global data_ov51_02198ae8 data_ov51_02198ae8: .space 0x4 .global data_ov51_02198aec data_ov51_02198aec: .space 0x4 .global data_ov51_02198af0 data_ov51_02198af0: .space 0x4 .global data_ov51_02198af4 data_ov51_02198af4: .space 0x4 .global data_ov51_02198af8 data_ov51_02198af8: .space 0x4 .global data_ov51_02198afc data_ov51_02198afc: .space 0x4 .global data_ov51_02198b00 data_ov51_02198b00: .space 0x4 .global data_ov51_02198b04 data_ov51_02198b04: .space 0x4 .global data_ov51_02198b08 data_ov51_02198b08: .space 0x4 .global data_ov51_02198b0c data_ov51_02198b0c: .space 0x4 .global data_ov51_02198b10 data_ov51_02198b10: .space 0x4 .global data_ov51_02198b14 data_ov51_02198b14: .space 0x4 .global data_ov51_02198b18 data_ov51_02198b18: .space 0x4 .global data_ov51_02198b1c data_ov51_02198b1c: .space 0x4