.include "macros/function.inc" .include "global.inc" .text .global func_ov25_0216d6a0 arm_func_start func_ov25_0216d6a0 func_ov25_0216d6a0: ; 0x0216d6a0 stmdb sp!, {r3, lr} ldr r1, _0216d6d0 ; =data_027e0ce0 ldr r0, _0216d6d4 ; =0x00000948 ldr r1, [r1, #4] mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0216d6c4 bl func_ov25_0216d714 _0216d6c4: ldr r1, _0216d6d8 ; =data_027e10b8 str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0216d6a0 _0216d6d0: .word data_027e0ce0 _0216d6d4: .word 0x00000948 _0216d6d8: .word data_027e10b8 .global func_ov25_0216d6dc arm_func_start func_ov25_0216d6dc func_ov25_0216d6dc: ; 0x0216d6dc stmdb sp!, {r4, lr} ldr r0, _0216d710 ; =data_027e10b8 ldr r4, [r0] cmp r4, #0 beq _0216d700 mov r0, r4 bl func_ov25_0216d7d4 mov r0, r4 bl func_0202ea0c _0216d700: ldr r0, _0216d710 ; =data_027e10b8 mov r1, #0 str r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0216d6dc _0216d710: .word data_027e10b8 .global func_ov25_0216d714 arm_func_start func_ov25_0216d714 func_ov25_0216d714: ; 0x0216d714 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r4, r0 mov r8, #0 mov sl, r4 add r5, r4, #0x900 mov sb, #0xff mvn r7, #0 mov r6, r8 _0216d734: strb sb, [sl] str r8, [sl, #4] strh r8, [sl, #0x24] add r0, sl, #0x28 bl func_ov00_020c1500 str r7, [sl, #0x3c] str r7, [sl, #0x40] str r7, [sl, #0x44] str r6, [sl, #0x18] str r6, [sl, #0x1c] str r6, [sl, #0x20] add sl, sl, #0x48 cmp sl, r5 blo _0216d734 mov r0, #0xff strb r0, [r4, #0x900] add r0, r4, #0x128 str r6, [r4, #0x904] add r1, r4, #0x900 add r0, r0, #0x800 strh r6, [r1, #0x24] bl func_ov00_020c1500 mvn r0, #0 str r0, [r4, #0x93c] str r0, [r4, #0x940] str r0, [r4, #0x944] mov r1, #0 str r1, [r4, #0x918] str r1, [r4, #0x91c] mov r0, r4 str r1, [r4, #0x920] bl func_ov25_0216d7d8 ldr r0, _0216d7d0 ; =data_027e0f74 mov r1, #0x150 ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov25_0216d714 _0216d7d0: .word data_027e0f74 .global func_ov25_0216d7d4 arm_func_start func_ov25_0216d7d4 func_ov25_0216d7d4: ; 0x0216d7d4 bx lr arm_func_end func_ov25_0216d7d4 .global func_ov25_0216d7d8 arm_func_start func_ov25_0216d7d8 func_ov25_0216d7d8: ; 0x0216d7d8 mov r3, r0 mov r1, #0 mov r2, #0xff _0216d7e4: add r1, r1, #1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 cmp r1, #0x20 strb r2, [r3], #0x48 blt _0216d7e4 strb r2, [r0, #0x900] bx lr arm_func_end func_ov25_0216d7d8 .global func_ov25_0216d804 arm_func_start func_ov25_0216d804 func_ov25_0216d804: ; 0x0216d804 stmdb sp!, {r3, lr} mov lr, r0 mov ip, #0 mov r3, #0xff _0216d814: ldrb r2, [lr] cmp r1, r2 add r2, ip, #1 mov r2, r2, lsl #0x10 streqb r3, [lr] mov ip, r2, asr #0x10 cmp ip, #0x20 add lr, lr, #0x48 blt _0216d814 mov r1, #0xff strb r1, [r0, #0x900] ldmia sp!, {r3, pc} arm_func_end func_ov25_0216d804 .global func_ov25_0216d844 arm_func_start func_ov25_0216d844 func_ov25_0216d844: ; 0x0216d844 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xd4 mov r5, r0 add r2, sp, #0x54 mov r4, r1 mvn r3, #0 add r0, sp, #0xd4 _0216d860: str r3, [r2] str r3, [r2, #4] add r2, r2, #8 cmp r2, r0 blo _0216d860 ldr r0, _0216da98 ; =data_027e0fe4 mov sb, #0 ldr lr, _0216da9c ; =data_ov00_020e72f0 add r8, sp, #0x40 ldr ip, _0216daa0 ; =0x43425331 add r7, sp, #0x54 mov r6, #0x10 ldr r0, [r0] add r1, sp, #0xc add r2, sp, #0 str sb, [sp, #8] str lr, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] str r3, [sp, #0x18] str sb, [sp, #0x1c] strb sb, [sp, #0x20] strb sb, [sp, #0x3c] str sb, [r8, #0xc] str sb, [r8] str sb, [r8, #4] str sb, [r8, #8] str r7, [sp] str r6, [sp, #4] bl func_ov00_020c37ec ldr r0, [sp, #8] mov r7, sb cmp r0, #0 mov r6, r7 addle sp, sp, #0xd4 ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc} _0216d8f0: ldr r0, _0216da98 ; =data_027e0fe4 ldr r1, [sp] ldr r0, [r0] add r1, r1, sb bl func_ov00_020c3674 mov r8, r0 bl func_ov25_02173238 cmp r0, #0 beq _0216d9b4 strb r4, [r5, #0x900] ldr r1, [r8, #4] add r0, r5, #0x104 str r1, [r5, #0x904] ldr r1, [r8, #0x48] add r0, r0, #0x800 str r1, [r0, #0x14] ldr r1, [r8, #0x4c] str r1, [r0, #0x18] ldr r1, [r8, #0x50] str r1, [r0, #0x1c] ldrh r2, [r8, #0x20] ldrh r1, [r8, #0x22] strh r2, [r0, #0x24] strh r1, [r0, #0x26] ldrh r2, [r8, #0x24] ldrh r1, [r8, #0x26] strh r2, [r0, #0x28] strh r1, [r0, #0x2a] ldrb r2, [r8, #0x28] ldrb r1, [r8, #0x29] strb r2, [r0, #0x2c] strb r1, [r0, #0x2d] ldrb r2, [r8, #0x2a] ldrb r1, [r8, #0x2b] strb r2, [r0, #0x2e] strb r1, [r0, #0x2f] ldrsb r1, [r8, #0x2c] strb r1, [r0, #0x30] ldrb r1, [r8, #0x2d] strb r1, [r0, #0x31] ldrb r1, [r8, #0x2e] strb r1, [r0, #0x32] ldrsb r1, [r8, #0x2f] strb r1, [r0, #0x33] ldr r1, [r8, #0x30] str r1, [r0, #0x34] ldr r1, [r8, #0x130] str r1, [r0, #0x38] b _0216da7c _0216d9b4: cmp r7, #0x20 bge _0216da7c mov r0, #0x48 mla r0, r7, r0, r5 _0216d9c4: ldrb r1, [r0] cmp r1, #0xff bne _0216da6c strb r4, [r0] ldr r1, [r8, #4] add r7, r7, #1 str r1, [r0, #4] ldr r1, [r8, #0x48] str r1, [r0, #0x18] ldr r1, [r8, #0x4c] str r1, [r0, #0x1c] ldr r1, [r8, #0x50] str r1, [r0, #0x20] ldrh r2, [r8, #0x20] ldrh r1, [r8, #0x22] strh r2, [r0, #0x28] strh r1, [r0, #0x2a] ldrh r2, [r8, #0x24] ldrh r1, [r8, #0x26] strh r2, [r0, #0x2c] strh r1, [r0, #0x2e] ldrb r2, [r8, #0x28] ldrb r1, [r8, #0x29] strb r2, [r0, #0x30] strb r1, [r0, #0x31] ldrb r2, [r8, #0x2a] ldrb r1, [r8, #0x2b] strb r2, [r0, #0x32] strb r1, [r0, #0x33] ldrsb r1, [r8, #0x2c] strb r1, [r0, #0x34] ldrb r1, [r8, #0x2d] strb r1, [r0, #0x35] ldrb r1, [r8, #0x2e] strb r1, [r0, #0x36] ldrsb r1, [r8, #0x2f] strb r1, [r0, #0x37] ldr r1, [r8, #0x30] str r1, [r0, #0x38] ldr r1, [r8, #0x130] str r1, [r0, #0x3c] b _0216da7c _0216da6c: add r7, r7, #1 cmp r7, #0x20 add r0, r0, #0x48 blt _0216d9c4 _0216da7c: ldr r0, [sp, #8] add r6, r6, #1 cmp r6, r0 add sb, sb, #8 blt _0216d8f0 add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov25_0216d844 _0216da98: .word data_027e0fe4 _0216da9c: .word data_ov00_020e72f0 _0216daa0: .word 0x43425331 .global func_ov25_0216daa4 arm_func_start func_ov25_0216daa4 func_ov25_0216daa4: ; 0x0216daa4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x78 mov sl, r0 ldr fp, _0216dcc8 ; =data_027e0fe8 mov sb, r1 mov r8, sl mov r7, #0 mvn r6, #0 add r5, sp, #0x4c add r4, sp, #0xc _0216dacc: ldrb r0, [r8] cmp sb, r0 bne _0216db80 mov r0, r5 str r6, [sp, #0xc] str r6, [sp, #0x10] bl func_ov00_020c1500 mov r0, r5 str r6, [sp, #0x68] str r6, [sp, #0x6c] bl func_ov00_020c3348 ldrh r1, [r8, #0x28] ldrh r0, [r8, #0x2a] add r2, r8, #0x18 mov r3, r5 strh r1, [sp, #0x4c] strh r0, [sp, #0x4e] ldrh r1, [r8, #0x2c] ldrh r0, [r8, #0x2e] strh r1, [sp, #0x50] strh r0, [sp, #0x52] ldrb r1, [r8, #0x30] ldrb r0, [r8, #0x31] strb r1, [sp, #0x54] strb r0, [sp, #0x55] ldrb r1, [r8, #0x32] ldrb r0, [r8, #0x33] strb r1, [sp, #0x56] strb r0, [sp, #0x57] ldrsb r0, [r8, #0x34] strb r0, [sp, #0x58] ldrb r0, [r8, #0x35] strb r0, [sp, #0x59] ldrb r0, [r8, #0x36] strb r0, [sp, #0x5a] ldrsb r0, [r8, #0x37] strb r0, [sp, #0x5b] ldr r0, [r8, #0x38] str r0, [sp, #0x5c] ldr r0, [r8, #0x3c] str r0, [sp, #0x70] str r4, [sp] ldr r0, [fp] ldr r1, [r8, #4] bl func_ov00_020c4048 _0216db80: add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 cmp r7, #0x20 add r8, r8, #0x48 blt _0216dacc ldrb r0, [sl, #0x900] cmp r0, #0xff addeq sp, sp, #0x78 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mvn r2, #0 add r1, sl, #0x104 add r0, sp, #0x20 str r2, [sp, #4] str r2, [sp, #8] add r4, r1, #0x800 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x20 str r1, [sp, #0x3c] str r1, [sp, #0x40] bl func_ov00_020c3348 ldrh r2, [r4, #0x24] ldrh r1, [r4, #0x26] ldr r3, _0216dccc ; =data_027e0f94 ldr r0, _0216dcd0 ; =data_027e0e60 strh r1, [sp, #0x22] strh r2, [sp, #0x20] ldrh r6, [r4, #0x28] ldrh r2, [r4, #0x2a] ldr r5, [r3] add r1, sp, #0x14 strh r2, [sp, #0x26] strh r6, [sp, #0x24] ldrb r7, [r4, #0x2c] ldrb r6, [r4, #0x2d] mov r2, #1 strb r7, [sp, #0x28] strb r6, [sp, #0x29] ldrb r7, [r4, #0x2e] ldrb r6, [r4, #0x2f] strb r7, [sp, #0x2a] strb r6, [sp, #0x2b] ldrsb r6, [r4, #0x30] strb r6, [sp, #0x2c] ldrb r6, [r4, #0x31] strb r6, [sp, #0x2d] ldrb r6, [r4, #0x32] strb r6, [sp, #0x2e] ldrsb r6, [r4, #0x33] strb r6, [sp, #0x2f] ldr r6, [r4, #0x34] str r6, [sp, #0x30] ldr r6, [r4, #0x38] str r6, [sp, #0x44] str r5, [r4, #0x14] ldr r5, [r3, #4] str r5, [r4, #0x18] ldr r3, [r3, #8] str r3, [r4, #0x1c] ldr r3, [r4, #0x14] ldr r0, [r0] str r3, [sp, #0x14] ldr r3, [r4, #0x18] str r3, [sp, #0x18] ldr r3, [r4, #0x1c] str r3, [sp, #0x1c] bl func_ov00_02083f44 str r0, [r4, #0x18] ldr r0, _0216dcd4 ; =data_027e0fac add r2, r4, #0x14 ldrsh r4, [r0] add r1, sp, #4 ldr r0, _0216dcc8 ; =data_027e0fe8 strh r4, [sp, #0x34] str r1, [sp] ldr r0, [r0] ldr r1, [sl, #0x904] add r3, sp, #0x20 bl func_ov00_020c4048 add sp, sp, #0x78 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov25_0216daa4 _0216dcc8: .word data_027e0fe8 _0216dccc: .word data_027e0f94 _0216dcd0: .word data_027e0e60 _0216dcd4: .word data_027e0fac .global func_ov25_0216dcd8 arm_func_start func_ov25_0216dcd8 func_ov25_0216dcd8: ; 0x0216dcd8 stmdb sp!, {r3, lr} ldr r1, _0216dd04 ; =data_027e0fe0 ldr r0, _0216dd08 ; =0x0000074c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_0216dd0c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0216dcd8 _0216dd04: .word data_027e0fe0 _0216dd08: .word 0x0000074c .global func_ov25_0216dd0c arm_func_start func_ov25_0216dd0c func_ov25_0216dd0c: ; 0x0216dd0c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_020ca668 ldr ip, _0216de08 ; =data_ov25_02179c68 mov r1, r4 add r0, r4, #0x21c add r2, r4, #0x23c add r3, r4, #0x2a4 str ip, [r4] bl func_ov00_020c5c2c ldr r1, _0216de0c ; =data_ov25_02179df0 add r0, r4, #0x23c str r1, [r4, #0x21c] bl func_ov25_021717a4 add r0, r4, #0x2a4 add r1, r4, #0x2c8 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0216de10 ; =data_ov25_02179d8c add r0, r4, #0x324 str r1, [r4, #0x2a4] add r1, r4, #0x348 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0216de10 ; =data_ov25_02179d8c add r0, r4, #0x3a4 str r1, [r4, #0x324] mov r1, r4 bl func_ov00_020c6114 ldr r1, _0216de14 ; =data_ov25_02179ddc add r0, r4, #0x4a0 str r1, [r4, #0x3a4] add r1, r0, #0x24 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0216de10 ; =data_ov25_02179d8c add r0, r4, #0x520 str r1, [r4, #0x4a0] mov r1, r4 bl func_ov00_020c6114 ldr r1, _0216de18 ; =data_ov25_02179d78 ldr r0, _0216de1c ; =func_ov00_020b7d74 str r1, [r4, #0x520] str r0, [sp] add r0, r4, #0x264 add r0, r0, #0x400 mov r1, #3 mov r2, #4 ldr r3, _0216de20 ; =func_ov25_0216dff4 bl func_0204f614 mov r0, #0 str r0, [r4, #0x670] sub r0, r0, #1 str r0, [r4, #0x6dc] str r0, [r4, #0x6e0] str r0, [r4, #0x6ec] add r0, r4, #0x6f0 mov r1, #0x1000000 bl func_ov00_020d18f4 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_0216dd0c _0216de08: .word data_ov25_02179c68 _0216de0c: .word data_ov25_02179df0 _0216de10: .word data_ov25_02179d8c _0216de14: .word data_ov25_02179ddc _0216de18: .word data_ov25_02179d78 _0216de1c: .word func_ov00_020b7d74 _0216de20: .word func_ov25_0216dff4 .global func_ov25_0216de24 arm_func_start func_ov25_0216de24 func_ov25_0216de24: ; 0x0216de24 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_0216de24 .global func_ov25_0216de38 arm_func_start func_ov25_0216de38 func_ov25_0216de38: ; 0x0216de38 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r1, _0216dfe8 ; =data_027e0f74 mov r4, r0 ldr r0, [r1] mov r1, #0x35 bl func_ov00_02097760 cmp r0, #0 beq _0216de80 ldrh r0, [r4, #0x20] cmp r0, #0 bne _0216de74 mov r0, r4 add r1, r4, #0x48 bl func_ov25_02171508 _0216de74: add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r4, pc} _0216de80: ldr r1, _0216dfec ; =data_ov25_02179be0 mov r2, #4 mov r0, r4 strh r2, [r4, #0x7a] bl func_ov00_020ca8a4 mov ip, #0 str ip, [r4, #0xa8] mov r0, #0x3000 str r0, [r4, #0xac] str ip, [r4, #0xb0] mov r0, #0x4000 str r0, [r4, #0xb4] strh ip, [r4, #0x9c] str ip, [r4, #0x6c] add r0, r4, #0x100 ldrh r3, [r0, #0xb0] mov r2, #2 mov r1, #0x1f bic r3, r3, #4 strh r3, [r0, #0xb0] strh r2, [r0, #0x20] strh r2, [r0, #0x22] str ip, [r4, #0x674] str r1, [r4, #0x678] ldr r0, _0216dff0 ; =data_027e0e60 add r2, sp, #0 ldr r0, [r0] mov r1, #1 bl func_ov00_020836bc ldr r1, [sp] add r0, r4, #0x3a4 str r1, [r4, #0x620] ldr r1, [sp, #0xc] str r1, [r4, #0x624] ldr r1, [sp, #8] str r1, [r4, #0x628] ldr r1, [sp, #0x14] str r1, [r4, #0x62c] bl func_ov25_02171a08 mov r1, #0 str r1, [r4, #0x658] mov r2, #1 strb r2, [r4, #0x61c] strb r1, [r4, #0x6e5] ldr r0, [r4, #8] str r0, [r4, #0x710] ldr r0, [r4, #0xc] str r0, [r4, #0x714] ldrh r0, [r4, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0216dfd0 _0216df50: ; jump table b _0216df60 ; case 0 b _0216df80 ; case 1 b _0216df9c ; case 2 b _0216dfb8 ; case 3 _0216df60: add r0, r4, #0x21c bl func_ov25_0217187c add r0, r4, #0x520 mov r1, #0 bl func_ov25_021754e4 mov r0, r4 bl func_ov25_02171480 b _0216dfd0 _0216df80: mov r1, r2 add r0, r4, #0x21c bl func_ov25_0217187c add r0, r4, #0x520 mov r1, #1 bl func_ov25_021754e4 b _0216dfd0 _0216df9c: add r0, r4, #0x21c mov r1, #2 bl func_ov25_0217187c add r0, r4, #0x520 mov r1, #2 bl func_ov25_021754e4 b _0216dfd0 _0216dfb8: add r0, r4, #0x21c mov r1, #3 bl func_ov25_0217187c add r0, r4, #0x520 mov r1, #3 bl func_ov25_021754e4 _0216dfd0: mov r0, r4 mov r1, #0 bl func_ov25_0216f898 mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0216de38 _0216dfe8: .word data_027e0f74 _0216dfec: .word data_ov25_02179be0 _0216dff0: .word data_027e0e60 .global func_ov25_0216dff4 arm_func_start func_ov25_0216dff4 func_ov25_0216dff4: ; 0x0216dff4 mov r1, #0 str r1, [r0] bx lr arm_func_end func_ov25_0216dff4 .global func_ov25_0216e000 arm_func_start func_ov25_0216e000 func_ov25_0216e000: ; 0x0216e000 stmdb sp!, {r3, lr} mov r1, #0 str r1, [r0, #0x60] str r1, [r0, #0x68] str r1, [r0, #0x64] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov25_0216e000 .global func_ov25_0216e024 arm_func_start func_ov25_0216e024 func_ov25_0216e024: ; 0x0216e024 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r0, r1 add r2, sp, #0 add r1, r4, #0x48 bl func_01ff9bf8 ldr r0, [sp] ldr r1, [sp, #8] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _0216e088 ; =0x0000071c add r0, r4, #0x78 bl func_0202b154 mov r1, #0 str r1, [r4, #0x60] str r1, [r4, #0x68] mov r0, r4 str r1, [r4, #0x64] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_0216e024 _0216e088: .word 0x0000071c .global func_ov25_0216e08c arm_func_start func_ov25_0216e08c func_ov25_0216e08c: ; 0x0216e08c stmdb sp!, {r4, lr} mov r4, r0 ldr r2, _0216e0c4 ; =0x0000071c add r0, r4, #0x78 bl func_0202b154 mov r1, #0 str r1, [r4, #0x60] str r1, [r4, #0x68] mov r0, r4 str r1, [r4, #0x64] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0216e08c _0216e0c4: .word 0x0000071c .global func_ov25_0216e0c8 arm_func_start func_ov25_0216e0c8 func_ov25_0216e0c8: ; 0x0216e0c8 mov r1, #0 str r1, [r0, #0x60] str r1, [r0, #0x64] str r1, [r0, #0x68] bx lr arm_func_end func_ov25_0216e0c8 .global func_ov25_0216e0dc arm_func_start func_ov25_0216e0dc func_ov25_0216e0dc: ; 0x0216e0dc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r2, _0216e16c ; =0x0000071c add r0, r5, #0x78 mov r1, #0 bl func_0202b154 mov r1, r4 add r0, r5, #0x48 bl func_01ff9ec0 ldr r1, _0216e170 ; =0x0000019a cmp r0, r1 bge _0216e124 mov r0, #0 str r0, [r5, #0x60] str r0, [r5, #0x64] str r0, [r5, #0x68] ldmia sp!, {r3, r4, r5, pc} _0216e124: cmp r0, #0x1000 ble _0216e14c mov ip, #0x7b mov r0, r5 mov r1, r4 add r3, ip, #0x2b8 mov r2, #0 str ip, [sp] bl func_ov25_0216e490 ldmia sp!, {r3, r4, r5, pc} _0216e14c: mov r2, #0xcd mvn ip, #0x7a mov r0, r5 mov r1, r4 rsb r3, r2, #0x400 str ip, [sp] bl func_ov25_0216e490 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_0216e0dc _0216e16c: .word 0x0000071c _0216e170: .word 0x0000019a .global func_ov25_0216e174 arm_func_start func_ov25_0216e174 func_ov25_0216e174: ; 0x0216e174 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 add r1, r4, #0x48 add r2, r4, #0x60 bl func_01ff9bf8 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] bl func_01ffa0f4 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _0216e230 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 ldrsh r1, [r1, r0] str r2, [r4, #0x60] mov r0, #0 str r0, [r4, #0x64] str r1, [r4, #0x68] ldr r3, [r4, #0x60] ldr r1, _0216e234 ; =0x00000333 mov r2, r3, asr #0x1f umull lr, ip, r3, r1 mla ip, r3, r0, ip adds r3, lr, #0x800 mla ip, r2, r1, ip adc r2, ip, #0 mov r3, r3, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r4, #0x60] ldr r2, [r4, #0x68] umull ip, r3, r2, r1 adds ip, ip, #0x800 mla r3, r2, r0, r3 mov r0, r2, asr #0x1f mla r3, r0, r1, r3 adc r0, r3, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0216e174 _0216e230: .word data_02050f54 _0216e234: .word 0x00000333 .global func_ov25_0216e238 arm_func_start func_ov25_0216e238 func_ov25_0216e238: ; 0x0216e238 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 mov r5, r1 ldr r2, _0216e370 ; =0x0000071c add r0, r4, #0x78 mov r1, #0 bl func_0202b154 mov r1, r5 add r0, r4, #0x48 bl func_01ff9ec0 ldr r1, _0216e374 ; =0x0000019a cmp r0, r1 bge _0216e288 mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x64] add sp, sp, #0xc str r0, [r4, #0x68] ldmia sp!, {r4, r5, pc} _0216e288: cmp r0, #0x5000 ble _0216e2a8 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0216e2a8: add r2, sp, #0 mov r0, r5 add r1, r4, #0x48 bl func_01ff9bf8 add r0, sp, #0 mov r1, r0 bl func_01ff9d4c add r0, r4, #0x60 bl func_01ff9cec ldr r1, _0216e378 ; =0x00000fae mov r2, #0 umull ip, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds ip, ip, #0x800 adc r0, r3, #0 mov r1, ip, lsr #0xc orr r1, r1, r0, lsl #20 cmp r1, #0xcd ldr r0, [sp] movlt r1, #0xcd smull r3, r0, r1, r0 adds r3, r3, #0x800 adc r0, r0, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 str r3, [r4, #0x60] ldr r3, [sp, #4] mov r2, #0 smull ip, r3, r1, r3 adds ip, ip, #0x800 adc r3, r3, #0 mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [r4, #0x64] ldr r3, [sp, #8] mov r0, r4 smull ip, r3, r1, r3 adds ip, ip, #0x800 adc r1, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r1, lsl #20 str r3, [r4, #0x68] str r2, [r4, #0x64] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov25_0216e238 _0216e370: .word 0x0000071c _0216e374: .word 0x0000019a _0216e378: .word 0x00000fae .global func_ov25_0216e37c arm_func_start func_ov25_0216e37c func_ov25_0216e37c: ; 0x0216e37c stmdb sp!, {r4, r5, r6, lr} ldr r2, _0216e428 ; =data_027e0764 ldr r1, _0216e42c ; =0x00000801 ldr r4, [r2] ldmib r2, {r3, r5} umull ip, r6, r5, r4 mla r6, r5, r3, r6 ldr r3, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r3, r4, r6 ldr r3, [r2, #0x14] adds r4, r5, ip adc r6, r3, r6 str r4, [r2] umull r4, r5, r6, r1 mov r3, #0 mla r5, r6, r3, r5 mov r4, r3 mla r5, r4, r1, r5 str r6, [r2, #4] add r1, r5, #0x800 str r1, [r0, #0x6b8] ldr ip, [r2] ldmib r2, {r1, lr} umull r5, r4, lr, ip mla r4, lr, r1, r4 ldr r1, [r2, #0xc] ldr r6, [r2, #0x10] mla r4, r1, ip, r4 ldr lr, [r2, #0x14] adds r5, r6, r5 adc r1, lr, r4 str r5, [r2] str r1, [r2, #4] tst r1, #0x80000000 strne r3, [r0, #0x6b0] moveq r1, #1 streq r1, [r0, #0x6b0] mov r1, #0 str r1, [r0, #0x60] str r1, [r0, #0x64] str r1, [r0, #0x68] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_0216e37c _0216e428: .word data_027e0764 _0216e42c: .word 0x00000801 .global func_ov25_0216e430 arm_func_start func_ov25_0216e430 func_ov25_0216e430: ; 0x0216e430 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r4, r2 mov r5, r1 ldr r2, _0216e48c ; =0x0000071c add r0, r6, #0x78 mov r1, #0 bl func_0202b154 mov r0, r5 add r1, r6, #0x48 add r2, r6, #0x60 bl func_01ff9bf8 add r0, r6, #0x60 mov r3, #0 mov r1, r4 mov r2, r0 str r3, [r6, #0x64] bl func_0202da8c mov r0, r6 ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_0216e430 _0216e48c: .word 0x0000071c .global func_ov25_0216e490 arm_func_start func_ov25_0216e490 func_ov25_0216e490: ; 0x0216e490 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r4, r0 mov r6, r2 mov r0, r1 add r2, sp, #0 add r1, r4, #0x48 mov r5, r3 bl func_01ff9bf8 add r0, sp, #0 mov r1, r0 bl func_01ff9d4c add r0, r4, #0x60 bl func_01ff9cec ldr r1, [sp, #0x20] mov r2, #0 add r1, r0, r1 cmp r1, r5 movgt r1, r5 cmp r1, r6 ldr r0, [sp] movlt r1, r6 smull r3, r0, r1, r0 adds r3, r3, #0x800 adc r0, r0, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 str r3, [r4, #0x60] ldr r3, [sp, #4] mov r0, r4 smull ip, r3, r1, r3 adds ip, ip, #0x800 adc r3, r3, #0 mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [r4, #0x64] ldr r3, [sp, #8] smull ip, r3, r1, r3 adds ip, ip, #0x800 adc r1, r3, #0 mov r3, ip, lsr #0xc orr r3, r3, r1, lsl #20 str r3, [r4, #0x68] str r2, [r4, #0x64] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov25_0216e490 .global func_ov25_0216e554 arm_func_start func_ov25_0216e554 func_ov25_0216e554: ; 0x0216e554 stmdb sp!, {r4, lr} ldr ip, [r1] ldr r4, [r0, #0x48] cmp r4, ip bge _0216e580 ldr r4, [r0, #0x60] add r4, r4, r3 str r4, [r0, #0x60] cmp r4, r2 strgt r2, [r0, #0x60] b _0216e59c _0216e580: ble _0216e59c ldr ip, [r0, #0x60] rsb r4, r2, #0 sub ip, ip, r3 str ip, [r0, #0x60] cmp ip, r4 strlt r4, [r0, #0x60] _0216e59c: mov r4, #0 str r4, [r0, #0x64] ldr lr, [r1, #8] ldr ip, [r0, #0x50] mov r1, #0x800 sub lr, lr, ip mov ip, lr, asr #0x1f mov ip, ip, lsl #0xa adds r4, r1, lr, lsl #10 orr ip, ip, lr, lsr #22 adc r1, ip, #0 mov r4, r4, lsr #0xc orr r4, r4, r1, lsl #20 cmp r4, r2 ldr r1, [r0, #0x68] movge r4, r2 sub r2, r4, r1 cmp r2, r3 movgt r2, r3 bgt _0216e5f8 rsb r1, r3, #0 cmp r2, r1 movlt r2, r1 _0216e5f8: ldr r1, [r0, #0x68] add r1, r1, r2 str r1, [r0, #0x68] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 ldmia sp!, {r4, pc} arm_func_end func_ov25_0216e554 .global func_ov25_0216e614 arm_func_start func_ov25_0216e614 func_ov25_0216e614: ; 0x0216e614 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x6b4] add r0, r0, #1 str r0, [r4, #0x6b4] ldr r0, [r4, #0x6b0] cmp r0, #3 addls pc, pc, r0, lsl #2 b _0216e748 _0216e63c: ; jump table b _0216e64c ; case 0 b _0216e6ac ; case 1 b _0216e70c ; case 2 b _0216e734 ; case 3 _0216e64c: add r0, r4, #0x288 add r0, r0, #0x400 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0xc] ldr r1, [r4, #0x6b8] mov r0, r4 sub r2, r2, r1 str r2, [sp, #0xc] mov r1, r3 mov r2, #0x52 bl func_ov25_0216e430 ldr r1, [r4, #0x48] ldr r0, [sp, #0xc] cmp r1, r0 addgt sp, sp, #0x18 ldmgtia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x6b4] mov r0, #2 add sp, sp, #0x18 str r0, [r4, #0x6b0] ldmia sp!, {r4, pc} _0216e6ac: add r0, r4, #0x288 add r0, r0, #0x400 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp] ldr r1, [r4, #0x6b8] mov r0, r4 add r2, r2, r1 str r2, [sp] mov r1, r3 mov r2, #0x52 bl func_ov25_0216e430 ldr r1, [r4, #0x48] ldr r0, [sp] cmp r1, r0 addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x6b4] mov r0, #3 add sp, sp, #0x18 str r0, [r4, #0x6b0] ldmia sp!, {r4, pc} _0216e70c: ldr r0, [r4, #0x6b4] cmp r0, #0x1e addlt sp, sp, #0x18 ldmltia sp!, {r4, pc} mov r0, #0 str r0, [r4, #0x6b4] mov r0, #1 add sp, sp, #0x18 str r0, [r4, #0x6b0] ldmia sp!, {r4, pc} _0216e734: ldr r0, [r4, #0x6b4] cmp r0, #0x1e movge r0, #0 strge r0, [r4, #0x6b4] strge r0, [r4, #0x6b0] _0216e748: add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov25_0216e614 .global func_ov25_0216e750 arm_func_start func_ov25_0216e750 func_ov25_0216e750: ; 0x0216e750 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x6b0] cmp r0, #0 beq _0216e778 cmp r0, #1 beq _0216e7cc add sp, sp, #0x18 ldmia sp!, {r4, pc} _0216e778: add r0, r4, #0x288 add r0, r0, #0x400 add ip, sp, #0xc ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r1, [sp, #0xc] ldr r0, [r4, #0x6b8] ldr r2, _0216e820 ; =0x00000266 sub r3, r1, r0 str r3, [sp, #0xc] mov r0, r4 mov r1, ip mov r3, #0x52 bl func_ov25_0216e554 ldr r0, [sp, #0xc] ldr r1, [r4, #0x48] add sp, sp, #0x18 cmp r1, r0 movle r0, #1 strle r0, [r4, #0x6b0] ldmia sp!, {r4, pc} _0216e7cc: add r0, r4, #0x288 add r0, r0, #0x400 add ip, sp, #0 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r1, [sp] ldr r0, [r4, #0x6b8] ldr r2, _0216e820 ; =0x00000266 add r3, r1, r0 str r3, [sp] mov r0, r4 mov r1, ip mov r3, #0x52 bl func_ov25_0216e554 ldr r1, [r4, #0x48] ldr r0, [sp] cmp r1, r0 movge r0, #0 strge r0, [r4, #0x6b0] add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0216e750 _0216e820: .word 0x00000266 .global func_ov25_0216e824 arm_func_start func_ov25_0216e824 func_ov25_0216e824: ; 0x0216e824 ldrb r1, [r0, #0x6bc] cmp r1, #0 ldr r1, [r0, #0x690] beq _0216e85c add r2, r1, #0xcd str r2, [r0, #0x690] ldr r1, [r0, #0x684] add r1, r1, #0x4000 cmp r2, r1 blt _0216e878 str r1, [r0, #0x690] mov r1, #0 strb r1, [r0, #0x6bc] b _0216e878 _0216e85c: sub r2, r1, #0xcd str r2, [r0, #0x690] ldr r1, [r0, #0x684] cmp r2, r1 strle r1, [r0, #0x690] movle r1, #1 strleb r1, [r0, #0x6bc] _0216e878: ldr ip, _0216e880 ; =func_ov25_0216e750 bx ip .align 2, 0 arm_func_end func_ov25_0216e824 _0216e880: .word func_ov25_0216e750 .global func_ov25_0216e884 arm_func_start func_ov25_0216e884 func_ov25_0216e884: ; 0x0216e884 stmdb sp!, {r4, lr} ldr r1, _0216e91c ; =data_027e0f94 mov r2, #0 ldr r1, [r1] str r1, [r0, #0x6cc] str r2, [r0, #0x6d0] ldr r1, [r0, #0x628] str r1, [r0, #0x6d4] ldr r3, [r0, #0x620] ldr r1, [r0, #0x624] ldr r2, [r0, #0x6cc] add r1, r3, r1 add r1, r1, r1, lsr #31 cmp r2, r1, asr #1 subgt r1, r2, #0x1000 addle r1, r2, #0x1000 str r1, [r0, #0x6cc] ldr r1, _0216e920 ; =data_027e0764 ldr r3, [r1] ldmib r1, {r2, ip} umull r4, lr, ip, r3 mla lr, ip, r2, lr ldr r2, [r1, #0xc] ldr ip, [r1, #0x10] mla lr, r2, r3, lr ldr r2, [r1, #0x14] adds r3, ip, r4 adc r2, r2, lr str r3, [r1] str r2, [r1, #4] tst r2, #0x80000000 movne r1, #1 moveq r1, #0 strb r1, [r0, #0x6d8] add r0, r0, #0x600 mov r1, #0 strh r1, [r0, #0xda] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0216e884 _0216e91c: .word data_027e0f94 _0216e920: .word data_027e0764 .global func_ov25_0216e924 arm_func_start func_ov25_0216e924 func_ov25_0216e924: ; 0x0216e924 stmdb sp!, {r3, r4, r5, lr} ldr r3, [r0, #0x6d4] ldr r2, [r0, #0x50] sub r1, r3, #0x2000 cmp r2, r1 bge _0216eadc ldr r2, [r0, #0x68] ldr r1, _0216eb54 ; =0x0000011f add r2, r2, #0x29 str r2, [r0, #0x68] cmp r2, r1 strgt r1, [r0, #0x68] add r1, r0, #0x600 ldrsh r2, [r1, #0xda] sub r2, r2, #1 strh r2, [r1, #0xda] ldrsh r1, [r1, #0xda] cmp r1, #0 bgt _0216e9d0 ldrb r1, [r0, #0x6d8] cmp r1, #0 moveq r2, #1 movne r2, #0 ldr r1, _0216eb58 ; =data_027e0764 strb r2, [r0, #0x6d8] ldr r3, [r1] ldmib r1, {r2, r4} umull ip, r5, r4, r3 mla r5, r4, r2, r5 ldr r4, [r1, #0xc] mov r2, #0 mla r5, r4, r3, r5 ldr lr, [r1, #0x10] ldr r3, [r1, #0x14] adds r4, lr, ip adc r3, r3, r5 mov r2, r2, lsl #0x4 str r4, [r1] orr r2, r2, r3, lsr #28 str r3, [r1, #4] add r2, r2, #5 add r1, r0, #0x600 strh r2, [r1, #0xda] _0216e9d0: ldr r3, [r0, #0x6cc] ldr r2, [r0, #0x48] sub r1, r3, #0x1000 cmp r2, r1 bge _0216ea3c mov r2, #0 ldr r1, _0216eb58 ; =data_027e0764 strb r2, [r0, #0x6d8] ldr r3, [r1] ldmib r1, {r2, r4} umull ip, r5, r4, r3 mla r5, r4, r2, r5 ldr r4, [r1, #0xc] mov r2, #0 mla r5, r4, r3, r5 ldr lr, [r1, #0x10] ldr r3, [r1, #0x14] adds r4, lr, ip adc r3, r3, r5 mov r2, r2, lsl #0x4 str r4, [r1] orr r2, r2, r3, lsr #28 str r3, [r1, #4] add r2, r2, #5 add r1, r0, #0x600 strh r2, [r1, #0xda] b _0216ea9c _0216ea3c: add r1, r3, #0x1000 cmp r2, r1 ble _0216ea9c mov r2, #1 ldr r1, _0216eb58 ; =data_027e0764 strb r2, [r0, #0x6d8] ldr r3, [r1] ldmib r1, {r2, ip} umull r4, lr, ip, r3 mla lr, ip, r2, lr ldr ip, [r1, #0xc] ldr r5, [r1, #0x10] mla lr, ip, r3, lr mov r2, #0 ldr r3, [r1, #0x14] adds r4, r5, r4 adc r3, r3, lr mov r2, r2, lsl #0x4 str r4, [r1] orr r2, r2, r3, lsr #28 str r3, [r1, #4] add r2, r2, #5 add r1, r0, #0x600 strh r2, [r1, #0xda] _0216ea9c: ldrb r1, [r0, #0x6d8] ldr r2, [r0, #0x60] cmp r1, #0 beq _0216eac4 sub r2, r2, #0x29 ldr r1, _0216eb5c ; =0xfffffe66 str r2, [r0, #0x60] cmp r2, r1 strlt r1, [r0, #0x60] b _0216eb34 _0216eac4: add r2, r2, #0x29 ldr r1, _0216eb60 ; =0x0000019a str r2, [r0, #0x60] cmp r2, r1 strgt r1, [r0, #0x60] b _0216eb34 _0216eadc: cmp r3, r2 bgt _0216eaf4 ldr r1, [r0, #0x68] add r1, r1, r1, lsr #31 mov r1, r1, asr #0x1 str r1, [r0, #0x68] _0216eaf4: ldr r2, [r0, #0x48] ldr r1, [r0, #0x6cc] cmp r2, r1 ldr r2, [r0, #0x60] ble _0216eb20 sub r2, r2, #0x29 ldr r1, _0216eb5c ; =0xfffffe66 str r2, [r0, #0x60] cmp r2, r1 strlt r1, [r0, #0x60] b _0216eb34 _0216eb20: add r2, r2, #0x29 ldr r1, _0216eb60 ; =0x0000019a str r2, [r0, #0x60] cmp r2, r1 strgt r1, [r0, #0x60] _0216eb34: ldrsh r1, [r0, #0x78] add r1, r1, #0x31c add r1, r1, #0x400 strh r1, [r0, #0x78] ldr r1, [r0] ldr r1, [r1, #0x104] blx r1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_0216e924 _0216eb54: .word 0x0000011f _0216eb58: .word data_027e0764 _0216eb5c: .word 0xfffffe66 _0216eb60: .word 0x0000019a .global func_ov25_0216eb64 arm_func_start func_ov25_0216eb64 func_ov25_0216eb64: ; 0x0216eb64 ldr r2, [r0, #0x6d4] ldr r1, [r0, #0x50] cmp r2, r1 bgt _0216eb90 ldr r1, [r0, #0x48] ldr r0, [r0, #0x6cc] subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, #0x800 movlt r0, #1 bxlt lr _0216eb90: mov r0, #0 bx lr arm_func_end func_ov25_0216eb64 .global func_ov25_0216eb98 arm_func_start func_ov25_0216eb98 func_ov25_0216eb98: ; 0x0216eb98 ldr r3, [r0, #0x48] mov r2, #1 str r3, [r0, #0x6c0] ldr r3, [r0, #0x4c] str r3, [r0, #0x6c4] str r1, [r0, #0x6c8] str r2, [r0, #0x6ec] bx lr arm_func_end func_ov25_0216eb98 .global func_ov25_0216ebb8 arm_func_start func_ov25_0216ebb8 func_ov25_0216ebb8: ; 0x0216ebb8 str r2, [r0, #0x6e8] ldr r3, [r1] mov r2, #4 str r3, [r0, #0x67c] ldr r3, [r1, #4] str r3, [r0, #0x680] ldr r1, [r1, #8] str r1, [r0, #0x684] str r2, [r0, #0x6ec] bx lr arm_func_end func_ov25_0216ebb8 .global func_ov25_0216ebe0 arm_func_start func_ov25_0216ebe0 func_ov25_0216ebe0: ; 0x0216ebe0 ldr r3, [r1] mov r2, #5 str r3, [r0, #0x688] ldr r3, [r1, #4] str r3, [r0, #0x68c] ldr r1, [r1, #8] str r1, [r0, #0x690] str r2, [r0, #0x6ec] bx lr arm_func_end func_ov25_0216ebe0 .global func_ov25_0216ec04 arm_func_start func_ov25_0216ec04 func_ov25_0216ec04: ; 0x0216ec04 mov r1, #1 strb r1, [r0, #0x6e4] mov r1, #6 str r1, [r0, #0x6ec] bx lr arm_func_end func_ov25_0216ec04 .global func_ov25_0216ec18 arm_func_start func_ov25_0216ec18 func_ov25_0216ec18: ; 0x0216ec18 mov r1, #0 strb r1, [r0, #0x6e4] mov r1, #6 str r1, [r0, #0x6ec] bx lr arm_func_end func_ov25_0216ec18 .global func_ov25_0216ec2c arm_func_start func_ov25_0216ec2c func_ov25_0216ec2c: ; 0x0216ec2c ldr r3, [r1] mov r2, #0xf str r3, [r0, #0x6a4] ldr r3, [r1, #4] str r3, [r0, #0x6a8] ldr r1, [r1, #8] str r1, [r0, #0x6ac] str r2, [r0, #0x6ec] bx lr arm_func_end func_ov25_0216ec2c .global func_ov25_0216ec50 arm_func_start func_ov25_0216ec50 func_ov25_0216ec50: ; 0x0216ec50 mov r2, #0x11 str r2, [r0, #0x6ec] mov r2, #1 strb r2, [r0, #0x6e5] ldr r2, [r1] mov r3, #3 str r2, [r0, #0x67c] ldr ip, [r1, #4] add r2, r0, #0x100 str ip, [r0, #0x680] ldr ip, [r1, #8] str ip, [r0, #0x684] ldr ip, [r1] str ip, [r0, #0x688] ldr ip, [r1, #4] str ip, [r0, #0x68c] ldr r1, [r1, #8] str r1, [r0, #0x690] strh r3, [r2, #0x20] strh r3, [r2, #0x22] bx lr arm_func_end func_ov25_0216ec50 .global func_ov25_0216eca4 arm_func_start func_ov25_0216eca4 func_ov25_0216eca4: ; 0x0216eca4 add r0, r0, #0x600 strh r1, [r0, #0xa0] bx lr arm_func_end func_ov25_0216eca4 .global func_ov25_0216ecb0 arm_func_start func_ov25_0216ecb0 func_ov25_0216ecb0: ; 0x0216ecb0 ldr r0, [r0, #0x130] cmp r0, #0xd moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov25_0216ecb0 .global func_ov25_0216ecc4 arm_func_start func_ov25_0216ecc4 func_ov25_0216ecc4: ; 0x0216ecc4 ldr r0, [r0, #0x130] cmp r0, #0x10 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov25_0216ecc4 .global func_ov25_0216ecd8 arm_func_start func_ov25_0216ecd8 func_ov25_0216ecd8: ; 0x0216ecd8 ldrb r0, [r0, #0x6e5] bx lr arm_func_end func_ov25_0216ecd8 .global func_ov25_0216ece0 arm_func_start func_ov25_0216ece0 func_ov25_0216ece0: ; 0x0216ece0 ldr r0, [r0, #0x130] cmp r0, #3 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov25_0216ece0 .global func_ov25_0216ecf4 arm_func_start func_ov25_0216ecf4 func_ov25_0216ecf4: ; 0x0216ecf4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0xac mov sb, r1 mvn r3, #0 str r3, [sb] str r3, [sb, #4] mov r5, #0 add r4, sp, #0x98 ldr r7, _0216eed4 ; =data_ov00_020e72f0 ldr r6, _0216eed8 ; =0x43425330 mov r1, #4 add r2, sp, #0x44 str r1, [sp, #0x3c] str r7, [sp, #0x64] str r6, [sp, #0x68] str r3, [sp, #0x6c] str r3, [sp, #0x70] str r5, [sp, #0x74] strb r5, [sp, #0x78] strb r5, [sp, #0x94] str r5, [r4, #0xc] str r5, [r4] str r5, [r4, #4] str r5, [r4, #8] str r3, [sp, #0x44] str r3, [sp, #0x48] str r3, [sp, #0x4c] str r3, [sp, #0x50] str r3, [sp, #0x54] str r3, [sp, #0x58] str r3, [sp, #0x5c] str r3, [sp, #0x60] str r5, [sp, #0x40] str r2, [sp, #0x38] ldr r2, [r0, #8] ldr r1, _0216eedc ; =data_027e0fe4 str r2, [sp, #0x28] ldr r5, [r0, #0xc] ldr r0, [r1] add r4, sp, #0x28 add r1, sp, #0x64 add r2, sp, #0x38 str r5, [sp, #0x2c] str r3, [sp, #0x30] str r3, [sp, #0x34] str r4, [sp, #0x74] bl func_ov00_020c37ec mvn r1, #0 ldr r0, [sp, #0x40] mov r6, #0 mov r7, r6 str r1, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] str r1, [sp, #0x14] str r1, [sp, #0x18] str r1, [sp, #0x1c] str r1, [sp, #0x20] str r1, [sp, #0x24] cmp r0, #0 ble _0216ee54 ldr sl, _0216eedc ; =data_027e0fe4 mov r8, r6 add r4, sp, #8 add r5, sp, #0 _0216edf8: ldr r2, [sp, #0x38] ldr r0, [sl] ldr r1, [r2, r8] add r2, r2, r8 str r1, [sp] ldr r2, [r2, #4] mov r1, r5 str r2, [sp, #4] bl func_ov00_020c3674 bl func_ov25_0216eee4 cmp r0, #0 beq _0216ee40 ldr r0, [sp] ldr r1, [sp, #4] str r0, [r4, r6, lsl #3] add r0, r4, r6, lsl #3 str r1, [r0, #4] add r6, r6, #1 _0216ee40: ldr r0, [sp, #0x40] add r7, r7, #1 cmp r7, r0 add r8, r8, #8 blt _0216edf8 _0216ee54: cmp r6, #0 addeq sp, sp, #0xac ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} movle r3, #0 ble _0216eeb4 ldr r0, _0216eee0 ; =data_027e0764 ldr r2, [r0] ldmib r0, {r1, r3} umull r5, r4, r3, r2 mla r4, r3, r1, r4 ldr r1, [r0, #0xc] ldr r3, [r0, #0x10] mla r4, r1, r2, r4 ldr r1, [r0, #0x14] adds r2, r3, r5 adc r3, r1, r4 stmia r0, {r2, r3} cmp r6, #0 beq _0216eeb4 mov r2, #0 umull r1, r0, r3, r6 mla r0, r3, r2, r0 mla r0, r2, r6, r0 mov r3, r0 _0216eeb4: add r1, sp, #8 ldr r0, [r1, r3, lsl #3] add r1, r1, r3, lsl #3 str r0, [sb] ldr r0, [r1, #4] str r0, [sb, #4] add sp, sp, #0xac ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov25_0216ecf4 _0216eed4: .word data_ov00_020e72f0 _0216eed8: .word 0x43425330 _0216eedc: .word data_027e0fe4 _0216eee0: .word data_027e0764 .global func_ov25_0216eee4 arm_func_start func_ov25_0216eee4 func_ov25_0216eee4: ; 0x0216eee4 mov r0, #1 bx lr arm_func_end func_ov25_0216eee4 .global func_ov25_0216eeec arm_func_start func_ov25_0216eeec func_ov25_0216eeec: ; 0x0216eeec stmdb sp!, {r3, lr} add r1, r0, #0x27c add r1, r1, #0x400 bl func_ov00_020c288c ldr r1, _0216ef10 ; =0x0000019a cmp r0, r1 movlt r0, #1 movge r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0216eeec _0216ef10: .word 0x0000019a .global func_ov25_0216ef14 arm_func_start func_ov25_0216ef14 func_ov25_0216ef14: ; 0x0216ef14 stmdb sp!, {r3, lr} add r1, r0, #0x288 add r1, r1, #0x400 bl func_ov00_020c288c ldr r1, _0216ef38 ; =0x0000019a cmp r0, r1 movlt r0, #1 movge r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0216ef14 _0216ef38: .word 0x0000019a .global func_ov25_0216ef3c arm_func_start func_ov25_0216ef3c func_ov25_0216ef3c: ; 0x0216ef3c mov r1, #1 str r1, [r0, #0x674] bx lr arm_func_end func_ov25_0216ef3c .global func_ov25_0216ef48 arm_func_start func_ov25_0216ef48 func_ov25_0216ef48: ; 0x0216ef48 ldr r1, [r0, #0x674] cmp r1, #0 beq _0216ef60 cmp r1, #1 beq _0216ef7c bx lr _0216ef60: ldr r1, [r0, #0x678] add r1, r1, #3 str r1, [r0, #0x678] cmp r1, #0x1f movgt r1, #0x1f strgt r1, [r0, #0x678] bx lr _0216ef7c: ldr r1, [r0, #0x678] sub r1, r1, #3 str r1, [r0, #0x678] cmp r1, #0 movle r1, #0 strle r1, [r0, #0x678] strle r1, [r0, #0x674] bx lr arm_func_end func_ov25_0216ef48 .global func_ov25_0216ef9c arm_func_start func_ov25_0216ef9c func_ov25_0216ef9c: ; 0x0216ef9c mov r1, #0 str r1, [r0, #0x674] mov r1, #0x1f str r1, [r0, #0x678] bx lr arm_func_end func_ov25_0216ef9c .global func_ov25_0216efb0 arm_func_start func_ov25_0216efb0 func_ov25_0216efb0: ; 0x0216efb0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r4, r0 ldr r3, [r4, #0x6e8] ldr r2, [r4, #0x628] ldr r1, [r4, #0x62c] cmp r3, #3 sub r0, r1, r2 addls pc, pc, r3, lsl #2 b _0216f090 _0216efd8: ; jump table b _0216efe8 ; case 0 b _0216f008 ; case 1 b _0216f034 ; case 2 b _0216f064 ; case 3 _0216efe8: ldr r3, _0216f424 ; =0x66666667 mov r5, r0, lsl #0x1 smull r0, r6, r3, r5 mov r0, r5, lsr #0x1f add r6, r0, r6, asr #1 mov r5, r2 add r6, r2, r6 b _0216f090 _0216f008: ldr ip, _0216f424 ; =0x66666667 add r5, r0, r0, lsl #1 smull r3, r6, ip, r0 mov r0, r0, lsr #0x1f add r6, r0, r6, asr #1 smull r0, r3, ip, r5 mov r0, r5, lsr #0x1f add r3, r0, r3, asr #1 add r5, r2, r6 add r6, r2, r3 b _0216f090 _0216f034: ldr r3, _0216f424 ; =0x66666667 mov r6, r0, lsl #0x1 mov r5, r0, lsl #0x2 smull r0, ip, r3, r6 mov r0, r6, lsr #0x1f add ip, r0, ip, asr #1 smull r0, r6, r3, r5 mov r0, r5, lsr #0x1f add r6, r0, r6, asr #1 add r5, r2, ip add r6, r2, r6 b _0216f090 _0216f064: ldr r3, _0216f424 ; =0x66666667 add r6, r0, r0, lsl #1 add r5, r0, r0, lsl #2 smull r0, ip, r3, r6 mov r0, r6, lsr #0x1f add ip, r0, ip, asr #1 smull r0, r6, r3, r5 mov r0, r5, lsr #0x1f add r6, r0, r6, asr #1 add r5, r2, ip add r6, r2, r6 _0216f090: ldr r0, [r4, #0x50] cmp r5, r2 movlt r5, r2 cmp r6, r1 movgt r6, r1 subs r0, r0, r5 rsbmi r0, r0, #0 str r0, [r4, #0x648] ldr r0, [r4, #0x50] subs r1, r0, r6 rsbmi r1, r1, #0 ldr r0, _0216f428 ; =data_027e0764 str r1, [r4, #0x64c] ldr r2, [r0] ldmib r0, {r1, r3} umull r6, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [r0, #0xc] ldr r3, [r0, #0x10] mla r5, r1, r2, r5 ldr r1, [r0, #0x14] adds r2, r3, r6 adc r1, r1, r5 str r2, [r0] str r1, [r0, #4] tst r1, #0x80000000 movne r0, #1 moveq r0, #0 strb r0, [r4, #0x654] ldr r1, [r4, #0x648] ldr r0, [r4, #0x64c] sub r0, r0, r1 add r0, r0, #1 cmp r0, #0 movle r6, #0 ble _0216f16c ldr r2, _0216f428 ; =data_027e0764 ldr r5, [r2] ldmib r2, {r3, r6} umull lr, ip, r6, r5 mla ip, r6, r3, ip ldr r3, [r2, #0xc] ldr r6, [r2, #0x10] mla ip, r3, r5, ip ldr r3, [r2, #0x14] adds r5, r6, lr adc r6, r3, ip stmia r2, {r5, r6} cmp r0, #0 beq _0216f16c mov r5, #0 umull r3, r2, r6, r0 mla r2, r6, r5, r2 mla r2, r5, r0, r2 mov r6, r2 _0216f16c: add r0, r1, r6 str r0, [r4, #0x650] add r1, r4, #0x600 mov r0, #0 ldr r2, _0216f428 ; =data_027e0764 strh r0, [r1, #0x5c] ldr r3, [r2] ldmib r2, {r1, r5} umull ip, r6, r5, r3 mla r6, r5, r1, r6 ldr r1, [r2, #0xc] ldr lr, [r2, #0x10] mla r6, r1, r3, r6 ldr r5, [r2, #0x14] adds ip, lr, ip adc r1, r5, r6 str ip, [r2] str r1, [r2, #4] tst r1, #0x80000000 movne r0, #1 add r2, r4, #0x600 strb r0, [r4, #0x660] ldrsh r0, [r2, #0xa0] cmp r0, #2 beq _0216f290 cmp r0, #3 beq _0216f238 cmp r0, #4 bne _0216f2e4 ldr r3, _0216f428 ; =data_027e0764 ldr r0, _0216f42c ; =0x0000038f ldr r5, [r3] ldmib r3, {r1, r6} umull lr, ip, r6, r5 mla ip, r6, r1, ip ldr r1, [r3, #0xc] ldr r6, [r3, #0x10] mla ip, r1, r5, ip ldr r1, [r3, #0x14] adds r5, r6, lr adc ip, r1, ip str r5, [r3] mov r1, #0 umull r5, r6, ip, r0 mla r6, ip, r1, r6 mla r6, r1, r0, r6 add r0, r6, #0x8e str ip, [r3, #4] add r0, r0, #0x300 strh r0, [r2, #0x5e] b _0216f2e4 _0216f238: ldr r3, _0216f428 ; =data_027e0764 ldr r0, _0216f430 ; =0x0000071e ldr r5, [r3] ldmib r3, {r1, r6} umull lr, ip, r6, r5 mla ip, r6, r1, ip ldr r1, [r3, #0xc] ldr r6, [r3, #0x10] mla ip, r1, r5, ip ldr r1, [r3, #0x14] adds r5, r6, lr adc ip, r1, ip str r5, [r3] mov r1, #0 umull r5, r6, ip, r0 mla r6, ip, r1, r6 mla r6, r1, r0, r6 add r0, r6, #0x31c str ip, [r3, #4] add r0, r0, #0x400 strh r0, [r2, #0x5e] b _0216f2e4 _0216f290: ldr r3, _0216f428 ; =data_027e0764 ldr r0, _0216f434 ; =0x00000aac ldr r5, [r3] ldmib r3, {r1, ip} umull r6, lr, ip, r5 mla lr, ip, r1, lr ldr r1, [r3, #0xc] ldr ip, [r3, #0x10] mla lr, r1, r5, lr ldr r1, [r3, #0x14] adds r5, ip, r6 adc r6, r1, lr str r5, [r3] mov r1, #0 umull r5, ip, r6, r0 mla ip, r6, r1, ip mla ip, r1, r0, ip add r0, ip, #0xaa str r6, [r3, #4] add r0, r0, #0xa00 strh r0, [r2, #0x5e] _0216f2e4: add r1, sp, #4 mov r0, #0 str r0, [r1] str r0, [r1, #4] str r0, [r1, #8] ldr r1, [r4, #0x650] add r0, r4, #0x600 str r1, [sp, #0xc] ldrh r1, [r0, #0x5c] ldr r0, [r4, #0x48] ldr r2, _0216f438 ; =data_02050f54 str r0, [r4, #0x63c] ldr r0, [r4, #0x4c] mov r1, r1, asr #0x4 str r0, [r4, #0x640] ldr r0, [r4, #0x50] mov r3, r1, lsl #0x1 str r0, [r4, #0x644] mov r0, r3, lsl #0x1 ldrsh r1, [r2, r0] ldr r5, [r4, #0x640] ldr r0, [sp, #8] add r3, r3, #1 add r0, r5, r0 str r0, [r4, #0x640] ldr r0, [sp, #0xc] mov r3, r3, lsl #0x1 smull lr, ip, r0, r1 adds r5, lr, #0x800 ldrsh lr, [r2, r3] adc ip, ip, #0 mov r5, r5, lsr #0xc smull r3, r2, r0, lr ldr r0, [r4, #0x63c] orr r5, r5, ip, lsl #20 add r0, r0, r5 adds r3, r3, #0x800 str r0, [r4, #0x63c] adc r0, r2, #0 mov r2, r3, lsr #0xc ldr r3, [r4, #0x644] orr r2, r2, r0, lsl #20 add r0, r3, r2 str r0, [r4, #0x644] ldr ip, [sp, #4] rsb r0, r1, #0 smull r1, r2, ip, lr adds r3, r1, #0x800 smull r1, r0, ip, r0 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc ldr ip, [r4, #0x63c] orr r3, r3, r2, lsl #20 add r2, ip, r3 str r2, [r4, #0x63c] adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [r4, #0x644] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r4, #0x644] add r0, r4, #0x3a4 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x3b4] mov r1, #0x1000 str r1, [r0, #0x10] mov r1, #2 str r1, [sp] ldr r0, _0216f43c ; =data_027e0e58 add r1, r4, #0x670 ldr r0, [r0] add r3, r4, #0x630 mov r2, #0x4f bl func_ov00_0207c1f8 mov r0, #1 str r0, [r4, #0x658] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_0216efb0 _0216f424: .word 0x66666667 _0216f428: .word data_027e0764 _0216f42c: .word 0x0000038f _0216f430: .word 0x0000071e _0216f434: .word 0x00000aac _0216f438: .word data_02050f54 _0216f43c: .word data_027e0e58 .global func_ov25_0216f440 arm_func_start func_ov25_0216f440 func_ov25_0216f440: ; 0x0216f440 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r4, r0 ldr r0, [r4, #0x658] cmp r0, #0 beq _0216f5b8 cmp r0, #1 beq _0216f46c cmp r0, #2 beq _0216f4dc b _0216f5b8 _0216f46c: ldr r0, [r4, #0x3b4] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _0216f5b8 add r0, r4, #0x3a4 mov r1, #0 bl func_ov00_020c5d74 add r0, r4, #0x23c ldr r2, [r4, #0x3b4] mov r3, #0x1000 add r1, r4, #0x264 str r3, [r2, #0x10] mov r2, #0x4e str r2, [sp] add r0, r0, #0x400 str r0, [sp, #4] mov r2, #2 ldr r0, _0216f7e8 ; =data_027e0e58 str r2, [sp, #8] ldr r0, [r0] add r1, r1, #0x400 mov r2, #0x4c mov r3, #0x4d bl func_ov00_0207c31c mov r0, #2 str r0, [r4, #0x658] b _0216f5b8 _0216f4dc: ldrb r0, [r4, #0x660] add r2, r4, #0x600 ldr r1, _0216f7ec ; =0x88888889 cmp r0, #0 ldrsh r3, [r2, #0x5e] beq _0216f530 smull r0, r5, r1, r3 ldrsh ip, [r2, #0x5c] add r5, r3, r5 mov r0, r3, lsr #0x1f add r5, r0, r5, asr #5 add r0, ip, r5 strh r0, [r2, #0x5c] ldrsh r1, [r2, #0x5e] ldrsh r0, [r2, #0x5c] cmp r0, r1 blt _0216f568 strh r1, [r2, #0x5c] mov r0, #0 strb r0, [r4, #0x660] b _0216f568 _0216f530: smull r0, r5, r1, r3 ldrsh ip, [r2, #0x5c] add r5, r3, r5 mov r0, r3, lsr #0x1f add r5, r0, r5, asr #5 sub r0, ip, r5 strh r0, [r2, #0x5c] ldrsh r1, [r2, #0x5e] ldrsh r0, [r2, #0x5c] rsb r1, r1, #0 cmp r0, r1 strleh r1, [r2, #0x5c] movle r0, #1 strleb r0, [r4, #0x660] _0216f568: ldrb r0, [r4, #0x654] cmp r0, #0 ldr r0, [r4, #0x650] beq _0216f59c add r1, r0, #0x52 str r1, [r4, #0x650] ldr r0, [r4, #0x64c] cmp r1, r0 blt _0216f5b8 str r0, [r4, #0x650] mov r0, #0 strb r0, [r4, #0x654] b _0216f5b8 _0216f59c: sub r1, r0, #0x52 str r1, [r4, #0x650] ldr r0, [r4, #0x648] cmp r1, r0 strle r0, [r4, #0x650] movle r0, #1 strleb r0, [r4, #0x654] _0216f5b8: add r1, sp, #0xc mov r0, #0 str r0, [r1] str r0, [r1, #4] str r0, [r1, #8] ldr r1, [r4, #0x650] add r0, r4, #0x600 str r1, [sp, #0x14] ldrh r1, [r0, #0x5c] ldr r0, [r4, #0x48] ldr r2, _0216f7f0 ; =data_02050f54 str r0, [r4, #0x63c] ldr r0, [r4, #0x4c] mov r1, r1, asr #0x4 str r0, [r4, #0x640] ldr r0, [r4, #0x50] mov r3, r1, lsl #0x1 str r0, [r4, #0x644] mov r0, r3, lsl #0x1 ldrsh r1, [r2, r0] ldr r5, [r4, #0x640] ldr r0, [sp, #0x10] add r3, r3, #1 add r0, r5, r0 str r0, [r4, #0x640] ldr r0, [sp, #0x14] mov r3, r3, lsl #0x1 smull lr, ip, r0, r1 adds r5, lr, #0x800 ldrsh lr, [r2, r3] adc ip, ip, #0 mov r5, r5, lsr #0xc smull r3, r2, r0, lr ldr r0, [r4, #0x63c] orr r5, r5, ip, lsl #20 add r0, r0, r5 adds r3, r3, #0x800 str r0, [r4, #0x63c] adc r0, r2, #0 mov r2, r3, lsr #0xc ldr r3, [r4, #0x644] orr r2, r2, r0, lsl #20 add r0, r3, r2 str r0, [r4, #0x644] ldr ip, [sp, #0xc] rsb r0, r1, #0 smull r1, r2, ip, lr adds r3, r1, #0x800 smull r1, r0, ip, r0 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc ldr ip, [r4, #0x63c] orr r3, r3, r2, lsl #20 add r2, ip, r3 str r2, [r4, #0x63c] adc r0, r0, #0 mov r1, r1, lsr #0xc ldr r2, [r4, #0x644] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r4, #0x644] ldr r0, [r4, #0x670] ldr lr, [r4, #0x630] cmp r0, #0 ldr ip, [r4, #0x634] ldr r1, [r4, #0x638] beq _0216f70c ldr r2, [r0, #0x20] add r1, r1, #0xcd ldr r3, [r2] add r2, r1, #0x400 ldr r1, [r3, #4] add r1, lr, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r1, [r1] ldr r1, [r1, #8] add r1, ip, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r1, [r1] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] _0216f70c: add r0, r4, #0x264 add r2, r0, #0x400 add r1, r4, #0x670 cmp r2, r1 beq _0216f780 _0216f720: ldr r0, [r2] cmp r0, #0 beq _0216f774 ldr r3, [r0, #0x20] ldr ip, [r4, #0x63c] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [r4, #0x640] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [r4, #0x644] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _0216f774: add r2, r2, #4 cmp r2, r1 bne _0216f720 _0216f780: ldr r0, [r4, #0x658] cmp r0, #2 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0216f7f4 ; =data_027e0178 add r2, r4, #0x23c str r0, [sp] ldrb r1, [r4, #0x124] ldr r3, _0216f7f8 ; =0x0000019a mov r0, r4 str r1, [sp, #4] mov ip, #1 add r1, r4, #0x48 add r2, r2, #0x400 str ip, [sp, #8] bl func_ov00_020c1f5c mov r0, #0 str r0, [sp] add r1, r4, #0x23c ldr r3, [r4, #8] ldr r0, _0216f7fc ; =data_027e0ffc add r2, r1, #0x400 mov r1, #0x2d8 bl func_ov00_020cec60 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_0216f440 _0216f7e8: .word data_027e0e58 _0216f7ec: .word 0x88888889 _0216f7f0: .word data_02050f54 _0216f7f4: .word data_027e0178 _0216f7f8: .word 0x0000019a _0216f7fc: .word data_027e0ffc .global func_ov25_0216f800 arm_func_start func_ov25_0216f800 func_ov25_0216f800: ; 0x0216f800 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 add r0, r6, #0x670 bl func_ov00_020b7e6c add r0, r6, #0x264 add r5, r0, #0x400 add r4, r6, #0x670 cmp r5, r4 beq _0216f838 _0216f824: mov r0, r5 bl func_ov00_020b7e6c add r5, r5, #4 cmp r5, r4 bne _0216f824 _0216f838: mov r0, #0 str r0, [r6, #0x658] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov25_0216f800 .global func_ov25_0216f844 arm_func_start func_ov25_0216f844 func_ov25_0216f844: ; 0x0216f844 ldr r0, [r0, #0x658] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov25_0216f844 .global func_ov25_0216f858 arm_func_start func_ov25_0216f858 func_ov25_0216f858: ; 0x0216f858 ldr r0, [r0, #0x658] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov25_0216f858 .global func_ov25_0216f86c arm_func_start func_ov25_0216f86c func_ov25_0216f86c: ; 0x0216f86c stmdb sp!, {r3, lr} mvn r2, #0 cmp r0, r2 ldmeqia sp!, {r3, pc} cmp r0, #0 ldreq r2, _0216f894 ; =data_ov25_0217a880 moveq r3, #1 streqb r3, [r2, #0x2c] bl func_ov05_02102a80 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0216f86c _0216f894: .word data_ov25_0217a880 .global func_ov25_0216f898 arm_func_start func_ov25_0216f898 func_ov25_0216f898: ; 0x0216f898 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x80 mov r4, r0 mov r2, #0 str r2, [r4, #0x138] ldr r3, [r4, #0x130] cmp r1, #0x1a str r3, [r4, #0x134] str r1, [r4, #0x130] addls pc, pc, r1, lsl #2 b _0216fed0 _0216f8c4: ; jump table b _0216f930 ; case 0 b _0216f950 ; case 1 b _0216f9d8 ; case 2 b _0216f9f8 ; case 3 b _0216fa18 ; case 4 b _0216fa40 ; case 5 b _0216fa68 ; case 6 b _0216fa88 ; case 7 b _0216fb14 ; case 8 b _0216fb34 ; case 9 b _0216fed0 ; case 10 b _0216fbac ; case 11 b _0216fbd0 ; case 12 b _0216fc00 ; case 13 b _0216fc34 ; case 14 b _0216fc54 ; case 15 b _0216fc74 ; case 16 b _0216fc94 ; case 17 b _0216fcbc ; case 18 b _0216fd48 ; case 19 b _0216fed0 ; case 20 b _0216fd78 ; case 21 b _0216fd84 ; case 22 b _0216fdb8 ; case 23 b _0216fdf8 ; case 24 b _0216fed0 ; case 25 b _0216feb0 ; case 26 _0216f930: mov r1, r2 add r0, r4, #0x520 bl func_ov00_020c5d74 ldr r0, [r4, #0x530] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216f950: strb r2, [r4, #0x61c] str r2, [sp] str r2, [sp, #4] ldr r0, _0216fed8 ; =data_027e0e58 add r2, r4, #0x48 ldr r0, [r0] mov r1, #0x1000 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0216fed8 ; =data_027e0e58 ldr r1, _0216fedc ; =0x00001001 ldr r0, [r0] add r2, r4, #0x48 mov r3, #2 bl func_ov00_0207c1b0 ldr r0, _0216fee0 ; =data_027e0ffc ldr r1, _0216fee4 ; =0x000002d6 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc add r0, r4, #0x21c mov r1, #0xf bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 str r2, [r1, #0x10] mov r0, r4 add r1, r4, #0x6c0 bl func_ov25_0216e174 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216f9d8: add r0, r4, #0x21c mov r1, #0x10 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216f9f8: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fa18: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_0216e0c8 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fa40: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_0216e0c8 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fa68: add r0, r4, #0x21c mov r1, #3 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fa88: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldr r0, [r4, #0x134] cmp r0, #0xa beq _0216fab4 mov r0, r4 bl func_ov25_0216e37c _0216fab4: ldr r2, _0216fee8 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, r5} umull ip, r6, r5, r3 mla r6, r5, r0, r6 ldr r0, [r2, #0xc] ldr r5, [r2, #0x10] mla r6, r0, r3, r6 ldr r0, [r2, #0x14] adds ip, r5, ip adc r6, r0, r6 mov r0, #0x3d umull r3, r5, r6, r0 mla r5, r6, r1, r5 mla r5, r1, r0, r5 add r0, r5, #0x1e str ip, [r2] mov r0, r0, lsl #0x10 str r6, [r2, #4] mov r0, r0, asr #0x10 add sp, sp, #0x80 str r0, [r4, #0x13c] ldmia sp!, {r4, r5, r6, pc} _0216fb14: add r0, r4, #0x21c mov r1, #4 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fb34: ldr r0, _0216fee8 ; =data_027e0764 ldr r2, [r0] ldmib r0, {r1, r3} umull r6, r5, r3, r2 mla r5, r3, r1, r5 ldr r1, [r0, #0xc] ldr r3, [r0, #0x10] mla r5, r1, r2, r5 ldr r1, [r0, #0x14] adds r2, r3, r6 adc r1, r1, r5 str r2, [r0] str r1, [r0, #4] tst r1, #0x80000000 add r0, r4, #0x21c beq _0216fb90 mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fb90: mov r1, #0xe bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fbac: bl func_ov25_0216f800 add r0, r4, #0x21c mov r1, #0xd bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fbd0: add r0, r4, #0x21c mov r1, #5 bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_0216e37c mov r0, r4 bl func_ov25_0216efb0 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fc00: add r0, r4, #0x21c mov r1, #0xb bl func_ov00_020c5d74 ldr r5, [r4, #0x22c] mov r6, #0x1000 ldr r0, _0216fee0 ; =data_027e0ffc ldr r1, _0216feec ; =0x000002e3 add r2, r4, #0x48 mov r3, #0 str r6, [r5, #0x10] bl func_ov00_020ceacc add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fc34: add r0, r4, #0x21c mov r1, #8 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fc54: add r0, r4, #0x21c mov r1, #0x12 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fc74: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fc94: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_0216e0c8 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fcbc: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldr r0, [r4, #0x134] cmp r0, #0xa beq _0216fce8 mov r0, r4 bl func_ov25_0216e37c _0216fce8: ldr r2, _0216fee8 ; =data_027e0764 mov r1, #0 ldr r3, [r2] ldmib r2, {r0, ip} umull r5, lr, ip, r3 mla lr, ip, r0, lr ldr r0, [r2, #0xc] ldr ip, [r2, #0x10] mla lr, r0, r3, lr ldr r0, [r2, #0x14] adds r6, ip, r5 adc r5, r0, lr mov r0, #0x3d umull r3, ip, r5, r0 mla ip, r5, r1, ip mla ip, r1, r0, ip add r0, ip, #0x1e str r6, [r2] mov r0, r0, lsl #0x10 str r5, [r2, #4] mov r0, r0, asr #0x10 add sp, sp, #0x80 str r0, [r4, #0x13c] ldmia sp!, {r4, r5, r6, pc} _0216fd48: mov r1, r2 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_021713c4 mov r0, r4 bl func_ov25_0216e0c8 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fd78: bl func_ov25_0216e884 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fd84: add r0, r4, #0x21c mov r1, #0x11 bl func_ov00_020c5d74 ldr ip, [r4, #0x22c] mov lr, #0x1000 ldr r0, _0216fee0 ; =data_027e0ffc ldr r1, _0216fef0 ; =0x000002e2 add r2, r4, #0x48 mov r3, #0 str lr, [ip, #0x10] bl func_ov00_020ceacc add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fdb8: ldr r0, _0216fef4 ; =data_ov25_0217a880 mov r4, #0xf strb r2, [r0, #0x2c] str r4, [sp] ldr r0, _0216fef8 ; =data_027e0c54 ldr r1, _0216fefc ; =func_ov25_0216f86c mov r3, r2 str r4, [sp, #4] blx func_02036140 mov r2, #0 ldr r0, _0216ff00 ; =data_027e0db0 mov r3, r2 mov r1, #1 blx func_ov00_0207b2f0 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216fdf8: ldr r0, _0216ff04 ; =data_027e0f64 add r1, sp, #0x18 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 mov r1, #0 ldr r0, _0216ff08 ; =0x00001555 mov r3, #0xa000 mov r2, #0x7d0 str r3, [sp, #0x30] str r2, [sp, #0x24] str r1, [sp, #0x2c] str r0, [sp, #0x28] ldr r0, [r4, #0x48] sub r3, r1, #1 str r0, [sp, #0xc] ldr r2, [r4, #0x4c] ldr r0, _0216ff04 ; =data_027e0f64 str r2, [sp, #0x10] ldr ip, [r4, #0x50] add r2, sp, #0xc str ip, [sp, #0x14] str r3, [sp] str r1, [sp, #4] str r1, [sp, #8] ldr r0, [r0] add r3, sp, #0x18 ldr r0, [r0, #4] bl func_ov00_020888e8 add r0, r4, #0x21c mov r1, #2 bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 str r2, [r1, #0x10] mov r1, #0 strb r1, [r4, #0x744] ldr r0, _0216ff0c ; =data_027e0c68 ldr r2, _0216ff10 ; =0x0071001e add r1, r4, #0x6f0 bl func_02036ce4 mov r0, r4 mov r1, #1 bl func_ov00_020c1908 add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} _0216feb0: mov r0, #2 stmia sp, {r0, r2} ldr r0, _0216ff14 ; =data_027e0f74 mov r1, #0xf ldr r0, [r0] mov r3, r1 mov r2, #0x1e bl func_ov00_02098074 _0216fed0: add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_0216f898 _0216fed8: .word data_027e0e58 _0216fedc: .word 0x00001001 _0216fee0: .word data_027e0ffc _0216fee4: .word 0x000002d6 _0216fee8: .word data_027e0764 _0216feec: .word 0x000002e3 _0216fef0: .word 0x000002e2 _0216fef4: .word data_ov25_0217a880 _0216fef8: .word data_027e0c54 _0216fefc: .word func_ov25_0216f86c _0216ff00: .word data_027e0db0 _0216ff04: .word data_027e0f64 _0216ff08: .word 0x00001555 _0216ff0c: .word data_027e0c68 _0216ff10: .word 0x0071001e _0216ff14: .word data_027e0f74 .global func_ov25_0216ff18 arm_func_start func_ov25_0216ff18 func_ov25_0216ff18: ; 0x0216ff18 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov25_0216ecd8 cmp r0, #0 mov r0, r4 beq _0216ff3c mov r1, #0x14 bl func_ov25_0216f898 ldmia sp!, {r4, pc} _0216ff3c: bl func_ov00_020cc180 ldmia sp!, {r4, pc} arm_func_end func_ov25_0216ff18 .global func_ov25_0216ff44 arm_func_start func_ov25_0216ff44 func_ov25_0216ff44: ; 0x0216ff44 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x40 mov r8, r1 ldr r4, [r8, #0x14] mov r6, r0 cmp r4, #0 beq _02170390 ldr r2, [r4, #4] ldr r1, _021703a4 ; =0x43425332 cmp r2, r1 bne _02170390 ldr r1, [r6, #0x130] cmp r1, #0x13 addls pc, pc, r1, lsl #2 b _0216ffd0 _0216ff80: ; jump table b _0216ffd0 ; case 0 b _0216ffd0 ; case 1 b _0216ffd0 ; case 2 b _0216ffd0 ; case 3 b _0216ffd0 ; case 4 b _0216ffd0 ; case 5 b _0216ffd0 ; case 6 b _0216ffdc ; case 7 b _0216ffdc ; case 8 b _0216ffdc ; case 9 b _0216ffdc ; case 10 b _0216ffdc ; case 11 b _0216ffdc ; case 12 b _0216ffd0 ; case 13 b _0216ffd0 ; case 14 b _0216ffd0 ; case 15 b _0216ffd0 ; case 16 b _0216ffd0 ; case 17 b _0216ffdc ; case 18 b _0216ffdc ; case 19 _0216ffd0: add sp, sp, #0x40 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0216ffdc: bl func_ov25_0216ef9c add r0, r6, #0x600 ldrsh r1, [r0, #0xa0] add r0, r4, #0x100 ldrsh r0, [r0, #0x7c] cmp r1, #4 mov r5, #0 addls pc, pc, r1, lsl #2 b _02170080 _02170000: ; jump table b _02170080 ; case 0 b _02170060 ; case 1 b _0217003c ; case 2 b _02170018 ; case 3 b _02170014 ; case 4 _02170014: b _02170080 _02170018: cmp r0, #1 movle r5, #0x64 ble _02170080 cmp r0, #2 moveq r5, #0x32 beq _02170080 cmp r0, #3 movge r5, #0x19 b _02170080 _0217003c: cmp r0, #1 movle r5, #0x64 ble _02170080 cmp r0, #2 moveq r5, #0x50 beq _02170080 cmp r0, #3 movge r5, #0x32 b _02170080 _02170060: cmp r0, #1 movle r5, #0x64 ble _02170080 cmp r0, #2 moveq r5, #0x5a beq _02170080 cmp r0, #3 movge r5, #0x3c _02170080: mov r7, #0 sub r2, r7, #1 add r1, sp, #8 mov r0, r4 str r2, [sp, #8] str r2, [sp, #0xc] bl func_ov25_02171ed8 cmp r0, #0 beq _021700c0 ldr r1, [sp, #8] ldr r0, [r6, #8] cmp r1, r0 addne sp, sp, #0x40 movne r0, r7 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r7, #1 _021700c0: mov r0, r4 bl func_ov25_02171f00 cmp r0, #0 beq _02170194 ldr r3, _021703a8 ; =data_027e0764 mov r2, #0 ldr r1, [r3] ldmib r3, {r0, ip} umull sb, lr, ip, r1 mla lr, ip, r0, lr ldr r0, [r3, #0xc] ldr ip, [r3, #0x10] mla lr, r0, r1, lr ldr r1, [r3, #0x14] adds r0, ip, sb adc sb, r1, lr str r0, [r3] mov r1, #0x64 umull ip, lr, sb, r1 mla lr, sb, r2, lr mov r0, r2 mla lr, r0, r1, lr cmp lr, r5 str sb, [r3, #4] movlt r7, #1 blt _02170194 mov r0, r6 mov r1, r8 bl func_ov00_020cb60c cmp r0, #0 beq _02170194 mov r0, r6 bl func_ov25_0216ecd8 cmp r0, #0 beq _0217017c add r0, r6, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 bgt _0217017c ldr r0, _021703ac ; =data_027e0fc8 ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] blx r1 ldr r0, _021703b0 ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c _0217017c: mov r0, r6 mov r1, #0xd bl func_ov25_0216f898 add sp, sp, #0x40 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02170194: cmp r7, #0 beq _02170390 ldr r0, [r4, #8] mvn r2, #0 str r0, [r6, #0x6dc] ldr r0, [r4, #0xc] add r1, sp, #0 str r0, [r6, #0x6e0] mov r0, r6 str r2, [sp] str r2, [sp, #4] bl func_ov25_0216ecf4 ldr r1, [sp] mvn r0, #0 cmp r1, r0 beq _021701f4 mov r0, r4 bl func_ov25_02171f14 cmp r0, #0 bne _021701f4 add r1, sp, #0 mov r0, r4 bl func_ov25_02171ea8 b _02170378 _021701f4: mov r0, r6 bl func_ov25_0216ecd8 cmp r0, #0 add r0, r4, #0x60 beq _02170358 bl func_01ff9cec ldr r1, [r6, #0x620] ldr r2, [r6, #0x624] mov r5, r0 sub r0, r2, r1 add r0, r0, #1 cmp r0, #0 movle r8, #0 ble _02170278 ldr r2, _021703a8 ; =data_027e0764 ldr r7, [r2] ldmib r2, {r3, r8} umull lr, ip, r8, r7 mla ip, r8, r3, ip ldr r3, [r2, #0xc] ldr r8, [r2, #0x10] mla ip, r3, r7, ip ldr r3, [r2, #0x14] adds r7, r8, lr adc r8, r3, ip stmia r2, {r7, r8} cmp r0, #0 beq _02170278 mov r7, #0 umull r3, r2, r8, r0 mla r2, r8, r7, r2 mla r2, r7, r0, r2 mov r8, r2 _02170278: add r0, r1, r8 str r0, [sp, #0x28] ldr r3, [r6, #0x62c] add r0, sp, #0x28 add r2, sp, #0x1c add r1, r6, #0x48 str r3, [sp, #0x30] bl func_01ff9bf8 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] bl func_01ffa0f4 mov r0, r0, lsl #0x10 ldr r1, _021703b4 ; =0x00000e39 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movlt r2, r1 blt _021702c8 rsb r0, r1, #0 cmp r2, r0 movlt r2, r0 _021702c8: mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r1, _021703b8 ; =data_02050f54 mov r2, r2, lsl #0x1 ldrsh r7, [r1, r2] mov r0, r0, lsl #0x1 ldrsh ip, [r1, r0] smull r0, r1, r5, r7 adds r3, r0, #0x800 mov lr, #0 smull r0, r2, r5, lr adc r1, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 adds r8, r0, #0x800 smull r1, r0, r5, ip adc r5, r2, #0 adds r1, r1, #0x800 mov r2, r8, lsr #0xc orr r2, r2, r5, lsl #20 mov r5, r1, lsr #0xc adc r0, r0, #0 orr r5, r5, r0, lsl #20 add r1, sp, #0x34 mov r0, r4 str r7, [sp, #0x1c] str lr, [sp, #0x20] str ip, [sp, #0x24] str r3, [sp, #0x34] str r2, [sp, #0x38] str r5, [sp, #0x3c] bl func_ov25_02171e80 b _02170378 _02170358: bl func_01ff9cec mov r2, #0 str r0, [sp, #0x18] add r1, sp, #0x10 mov r0, r4 str r2, [sp, #0x10] str r2, [sp, #0x14] bl func_ov25_02171e80 _02170378: mov r0, r6 mov r1, #0xb bl func_ov25_0216f898 add sp, sp, #0x40 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02170390: mov r0, r6 bl func_ov25_0216ef3c mov r0, #0 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov25_0216ff44 _021703a4: .word 0x43425332 _021703a8: .word data_027e0764 _021703ac: .word data_027e0fc8 _021703b0: .word data_ov00_020eec68 _021703b4: .word 0x00000e39 _021703b8: .word data_02050f54 .global func_ov25_021703bc arm_func_start func_ov25_021703bc func_ov25_021703bc: ; 0x021703bc stmdb sp!, {r4, lr} sub sp, sp, #0xc0 ldr r1, _02170d54 ; =data_027e0fc8 mov r4, r0 ldr r0, [r1] add r1, r4, #0x48 bl func_ov00_020bb6d4 mov r0, r4 bl func_ov00_020cb58c mov r0, r4 bl func_ov25_0216ef48 ldr r0, [r4, #0x130] cmp r0, #0x1a addls pc, pc, r0, lsl #2 b _02170d10 _021703f8: ; jump table b _02170464 ; case 0 b _02170484 ; case 1 b _021704c8 ; case 2 b _021704f8 ; case 3 b _02170520 ; case 4 b _02170550 ; case 5 b _02170580 ; case 6 b _021705bc ; case 7 b _02170620 ; case 8 b _0217064c ; case 9 b _0217070c ; case 10 b _021707b4 ; case 11 b _021707d8 ; case 12 b _02170848 ; case 13 b _02170894 ; case 14 b _021708d4 ; case 15 b _02170908 ; case 16 b _02170944 ; case 17 b _02170974 ; case 18 b _021709a4 ; case 19 b _021709d4 ; case 20 b _02170aa8 ; case 21 b _02170ae4 ; case 22 b _02170b1c ; case 23 b _02170bf0 ; case 24 b _02170c70 ; case 25 b _02170cb8 ; case 26 _02170464: ldr r1, [r4, #0x6ec] cmp r1, #1 bne _02170d10 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170484: mov r0, r4 add r1, r4, #0x6c0 bl func_ov25_0216e238 add r0, r4, #0x48 add r2, r4, #0x6c0 mov r1, #0xa000 bl func_ov00_020ce284 cmp r0, #0 beq _02170d10 ldr r0, [r4, #0x22c] ldr r0, [r0, #0x14] cmp r0, #0 bne _02170d10 mov r0, r4 mov r1, #2 bl func_ov25_0216f898 b _02170d10 _021704c8: mov r0, r4 add r1, r4, #0x6c0 bl func_ov25_0216e238 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #3 bl func_ov25_0216f898 b _02170d10 _021704f8: mov r0, r4 bl func_ov25_0216e000 ldr r1, [r4, #0x6ec] cmp r1, #4 bne _02170d10 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170520: add r1, r4, #0x27c mov r0, r4 add r1, r1, #0x400 bl func_ov25_0216e0dc ldr r1, [r4, #0x6ec] cmp r1, #5 bne _02170d10 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170550: add r1, r4, #0x288 mov r0, r4 add r1, r1, #0x400 bl func_ov25_0216e0dc ldr r1, [r4, #0x6ec] cmp r1, #6 bne _02170d10 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170580: ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 ldrb r0, [r4, #0x6e4] cmp r0, #0 mov r0, r4 beq _021705b0 mov r1, #7 bl func_ov25_0216f898 b _02170d10 _021705b0: mov r1, #0xc bl func_ov25_0216f898 b _02170d10 _021705bc: mov r0, r4 bl func_ov25_0216e750 ldr r1, [r4, #0x6ec] cmp r1, #0xf bne _021705e4 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _021705e4: cmp r1, #4 bne _02170600 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170600: ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _02170d10 mov r0, r4 mov r1, #8 bl func_ov25_0216f898 b _02170d10 _02170620: mov r0, r4 bl func_ov25_0216e000 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #9 bl func_ov25_0216f898 b _02170d10 _0217064c: mov r0, r4 bl func_ov25_0216e000 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021706a4 ldr r0, [r4, #0x230] cmp r0, #1 add r0, r4, #0x21c bne _02170690 mov r1, #0xe bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] b _021706a4 _02170690: mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] _021706a4: ldr r1, [r4, #0x6ec] mov r0, r4 cmp r1, #0xf bne _021706c4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _021706c4: bl func_ov25_0217135c cmp r0, #0 mov r0, r4 beq _021706e0 mov r1, #0xa bl func_ov25_0216f898 b _02170d10 _021706e0: bl func_ov25_0216ecd8 cmp r0, #0 beq _02170d10 mov r0, r4 bl func_ov25_02171388 cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x13 bl func_ov25_0216f898 b _02170d10 _0217070c: mov r0, r4 bl func_ov25_0216e000 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170740 add r0, r4, #0x21c mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] _02170740: ldr r1, [r4, #0x6ec] cmp r1, #0xf bne _02170760 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170760: ldr r0, [r4, #0x138] cmp r0, #0x1e ble _02170d10 mov r0, r4 bl func_ov25_0216ecd8 cmp r0, #0 beq _0217078c mov r0, r4 mov r1, #0x12 bl func_ov25_0216f898 b _02170d10 _0217078c: ldrb r0, [r4, #0x6e4] cmp r0, #0 mov r0, r4 beq _021707a8 mov r1, #7 bl func_ov25_0216f898 b _02170d10 _021707a8: mov r1, #0xc bl func_ov25_0216f898 b _02170d10 _021707b4: ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #9 bl func_ov25_0216f898 b _02170d10 _021707d8: mov r0, r4 bl func_ov25_0216e614 mov r0, r4 bl func_ov25_0216f440 ldr r0, [r4, #0x6ec] cmp r0, #0x1b beq _021707fc mov r0, r4 bl func_ov25_0216f800 _021707fc: mov r0, r4 bl func_ov25_0216f844 cmp r0, #0 beq _02170d10 ldr r1, [r4, #0x6ec] cmp r1, #0xf bne _0217082c mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _0217082c: cmp r1, #4 bne _02170d10 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170848: mov r0, r4 bl func_ov00_020cbee8 mov r0, r4 bl func_ov00_020cc138 cmp r0, #0 beq _02170d10 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 add r0, r4, #0x100 ldrsh r0, [r0, #0x20] cmp r0, #0 ble _02170d10 mov r0, r4 mov r1, #0xe bl func_ov25_0216f898 b _02170d10 _02170894: ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 mov r0, r4 bl func_ov25_0216ecd8 cmp r0, #0 mov r0, r4 beq _021708c8 mov r1, #0x12 bl func_ov25_0216f898 b _02170d10 _021708c8: mov r1, #0x10 bl func_ov25_0216f898 b _02170d10 _021708d4: add r1, r4, #0x2a4 mov r0, r4 add r1, r1, #0x400 bl func_ov25_0216e024 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x10 bl func_ov25_0216f898 b _02170d10 _02170908: ldr r1, [r4, #0x6ec] cmp r1, #4 bne _02170928 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170928: cmp r1, #0x11 bne _02170d10 mov r0, r4 bl func_ov25_0216f898 mov r0, #0x1b str r0, [r4, #0x6ec] b _02170d10 _02170944: add r1, r4, #0x27c mov r0, r4 add r1, r1, #0x400 bl func_ov25_0216e0dc mov r0, r4 bl func_ov25_0216eeec cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x12 bl func_ov25_0216f898 b _02170d10 _02170974: mov r0, r4 bl func_ov25_0216e824 ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 blt _02170d10 mov r2, #1 mov r0, r4 mov r1, #8 strb r2, [r4, #0x6e4] bl func_ov25_0216f898 b _02170d10 _021709a4: add r1, r4, #0x294 mov r0, r4 add r1, r1, #0x400 bl func_ov25_0216e0dc mov r0, r4 bl func_ov25_0217135c cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x12 bl func_ov25_0216f898 b _02170d10 _021709d4: mov r0, r4 bl func_ov00_020cc928 cmp r0, #0 mov r0, r4 bne _02170a8c bl func_ov00_020cc8dc cmp r0, #0 beq _02170d10 add r0, sp, #0x10 bl func_ov00_0209a4f4 mov r3, #0 mvn lr, #0 mov ip, #0x64 mov r2, #1 add r1, sp, #0x10 mov r0, r4 str lr, [sp, #0x14] strb ip, [sp, #0x19] strb r3, [sp, #0x1a] strb r3, [sp, #0x1b] strb r2, [sp, #0x27] bl func_ov00_020cc908 add r0, r4, #0x21c mov r1, #0xc bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_0216ef9c ldr r1, _02170d58 ; =data_027e0fb8 mov r0, r4 ldr r1, [r1] mov r2, #1 strb r2, [r1, #0x78] bl func_ov00_020c2974 ldr r1, _02170d54 ; =data_027e0fc8 sub r3, r0, #0x8000 ldr r2, _02170d5c ; =data_027e0fac ldr r0, [r1] mvn r1, #0 strh r3, [r2] bl func_ov00_020bd070 add r0, sp, #0x10 bl func_ov00_0209a508 b _02170d10 _02170a8c: bl func_ov00_020cc940 cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x15 bl func_ov25_0216f898 b _02170d10 _02170aa8: ldr r0, _02170d54 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 bl func_ov00_020bb810 mov r0, r4 bl func_ov25_0216e924 mov r0, r4 bl func_ov25_0216eb64 cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x16 bl func_ov25_0216f898 b _02170d10 _02170ae4: ldr r0, _02170d54 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 bl func_ov00_020bb810 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 mov r0, r4 mov r1, #0x17 bl func_ov25_0216f898 b _02170d10 _02170b1c: mov r0, r4 mov r1, #0 bl func_ov25_0216e08c ldr r0, _02170d54 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 bl func_ov00_020bb810 ldr r0, _02170d60 ; =data_ov25_0217a880 ldrb r0, [r0, #0x2c] cmp r0, #0 beq _02170d10 ldr r0, _02170d64 ; =data_027e0ff0 mov r3, #1 mov r2, #0 ldr r0, [r0] add r1, sp, #2 strb r3, [sp, #2] strb r2, [sp, #3] bl func_ov00_020c47cc ldr r1, [r0, #4] ldr r2, _02170d64 ; =data_027e0ff0 str r1, [r4, #0x48] ldr r3, [r0, #8] add r1, sp, #0 str r3, [r4, #0x4c] ldr r0, [r0, #0xc] mov r3, #1 str r0, [r4, #0x50] ldr r0, [r2] strb r3, [sp] strb r3, [sp, #1] bl func_ov00_020c47cc add r0, r0, #4 add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r4 mov r1, r3 bl func_ov00_020c2938 sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 ldr r0, _02170d54 ; =data_027e0fc8 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020bcdec mov r0, r4 bl func_ov00_020c1b18 mov r0, r4 mov r1, #0x18 bl func_ov25_0216f898 b _02170d10 _02170bf0: mov r0, r4 mov r1, #0 bl func_ov25_0216e08c ldr r0, _02170d54 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 bl func_ov00_020bb810 ldr r0, [r4, #0x230] cmp r0, #9 bne _02170d10 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02170d10 add r0, r4, #0x48 bl func_ov00_020c6fe0 mov r0, r4 add r1, r4, #0x48 bl func_ov25_02171508 mov r1, #0 ldr r0, _02170d68 ; =data_027e0f74 strb r1, [r4, #0x11a] ldr r0, [r0] mov r1, #0x35 mov r2, #1 bl func_ov00_0209779c mov r0, r4 mov r1, #0x19 bl func_ov25_0216f898 b _02170d10 _02170c70: ldr r0, _02170d54 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 bl func_ov00_020bb810 mov r0, #0x10000 ldr r1, [r4, #0x708] rsb r0, r0, #0 and r0, r1, r0 cmp r0, #0x1000000 bne _02170d10 ldr r0, [r4, #0x138] cmp r0, #0x5a blt _02170d10 mov r0, r4 mov r1, #0x1a bl func_ov25_0216f898 b _02170d10 _02170cb8: ldr r0, _02170d54 ; =data_027e0fc8 add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 bl func_ov00_020bb810 ldr r0, _02170d68 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_020980ac cmp r0, #0 beq _02170d10 ldr r0, _02170d6c ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_020875f8 mov r0, r4 bl func_ov00_020cc960 ldr r0, _02170d54 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bd0a8 mov r0, r4 bl func_ov00_020c3180 _02170d10: ldrb r0, [r4, #0x61c] cmp r0, #0 beq _02170d28 add r0, r4, #0x520 bl func_ov00_020c5e20 b _02170d38 _02170d28: add r0, r4, #0x21c bl func_ov00_020c5e20 add r0, r4, #0x3a4 bl func_ov00_020c5e20 _02170d38: add r0, r4, #0x6f0 ldr r1, [r0] ldr r1, [r1, #0x10] blx r1 mov r0, #1 add sp, sp, #0xc0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021703bc _02170d54: .word data_027e0fc8 _02170d58: .word data_027e0fb8 _02170d5c: .word data_027e0fac _02170d60: .word data_ov25_0217a880 _02170d64: .word data_027e0ff0 _02170d68: .word data_027e0f74 _02170d6c: .word data_027e0f64 .global func_ov25_02170d70 arm_func_start func_ov25_02170d70 func_ov25_02170d70: ; 0x02170d70 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020cacf4 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x130] cmp r0, #0 cmpne r0, #1 cmpne r0, #2 cmpne r0, #3 beq _02170da8 cmp r0, #0x14 blt _02170db0 _02170da8: mov r0, #1 ldmia sp!, {r4, pc} _02170db0: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov25_02170d70 .global func_ov25_02170db8 arm_func_start func_ov25_02170db8 func_ov25_02170db8: ; 0x02170db8 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 beq _02170e0c ldrb r0, [r4, #0x61c] cmp r0, #0 beq _02170df8 add r0, r4, #0x520 bl func_ov00_020c5f1c mov r0, r4 mov r1, #0x1f bl func_ov00_020cc9c4 b _02170e0c _02170df8: mov r0, r4 bl func_ov00_020c31c0 mov r0, r4 mov r1, #0x1f bl func_ov00_020cc9c4 _02170e0c: mov r0, r4 bl func_ov25_0216f858 cmp r0, #0 ldmeqia sp!, {r4, pc} add r2, r4, #0x23c add r0, r4, #0x3a4 add r1, r4, #0x630 add r2, r2, #0x400 bl func_ov25_02171abc ldmia sp!, {r4, pc} arm_func_end func_ov25_02170db8 .global func_ov25_02170e34 arm_func_start func_ov25_02170e34 func_ov25_02170e34: ; 0x02170e34 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x678] ldr r0, [r4, #0x220] and r1, r1, #0xff bl func_020197fc add r0, r4, #0x21c bl func_ov00_020c5f1c add r0, r4, #0x23c add r1, r4, #0x630 bl func_ov25_02171860 ldmia sp!, {r4, pc} arm_func_end func_ov25_02170e34 .global func_ov25_02170e64 arm_func_start func_ov25_02170e64 func_ov25_02170e64: ; 0x02170e64 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x94 mov r8, r0 bl func_ov25_0216ecd8 cmp r0, #0 beq _02171110 add r0, sp, #0x68 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x68 str r1, [sp, #0x84] str r1, [sp, #0x88] bl func_ov00_020c3348 ldr r1, [r8, #8] ldr r0, _02171330 ; =data_ov25_02179340 str r1, [sp, #0x84] ldr r4, [r8, #0xc] add r3, sp, #0x50 str r4, [sp, #0x88] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r8, #0x78] ldr r7, [r8, #0x48] ldr r4, _02171334 ; =data_02050f54 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r4, r0] str r7, [sp, #0x5c] ldrsh r2, [r4, r1] ldr r1, [r8, #0x4c] ldr r0, [sp, #0x54] str r1, [sp, #0x60] add r0, r1, r0 ldr sl, [r8, #0x50] ldr sb, [sp, #0x58] str r0, [sp, #0x60] rsb r0, r2, #0 smull r2, fp, sb, r2 adds r2, r2, #0x800 adc fp, fp, #0 mov r2, r2, lsr #0xc orr r2, r2, fp, lsl #20 add r7, r7, r2 smull fp, r2, sb, r3 adds sb, fp, #0x800 ldr r1, [sp, #0x50] adc r2, r2, #0 mov sb, sb, lsr #0xc orr sb, sb, r2, lsl #20 add r2, sl, sb smull sl, sb, r1, r3 smull r3, r0, r1, r0 adds sl, sl, #0x800 adc r1, sb, #0 mov sb, sl, lsr #0xc orr sb, sb, r1, lsl #20 add r1, r7, sb str r1, [sp, #0x5c] adds r1, r3, #0x800 ldr lr, _02171338 ; =data_027e0764 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [sp, #0x64] mov r0, #3 ldr r2, [lr] ldmib lr, {r1, r7} umull sl, sb, r7, r2 mla sb, r7, r1, sb ldr r3, [lr, #0xc] ldr ip, [lr, #0x10] mla sb, r3, r2, sb ldr fp, [lr, #0x14] sub r0, r0, #4 adds r1, ip, sl adc r2, fp, sb stmia lr, {r1, r2} mov r1, #3 umull r1, r7, r2, r1 mov r5, #0 mla r7, r2, r5, r7 mov r2, r5 mov r1, #3 mla r7, r2, r1, r7 str r0, [sp, #4] str r0, [sp, #8] ldr r0, _0217133c ; =0xffffeaab ldr sb, _02171340 ; =0x00000266 rsb fp, r0, #0 _02170fd8: cmp r7, r5 moveq r0, #0 streq r0, [sp, #0x8c] movne r0, #1 strne r0, [sp, #0x8c] ldr r0, _02171344 ; =data_027e0ffc mov r1, #0x2dc add r2, r8, #0x48 mov r3, #0 bl func_ov00_020ceacc add r0, sp, #4 str r0, [sp] ldr r0, _02171348 ; =data_027e0fe8 ldr r1, _0217134c ; =0x43425332 ldr r0, [r0] add r2, sp, #0x5c add r3, sp, #0x68 bl func_ov00_020c4048 cmp r0, #0 blt _021710ec ldr r0, _02171350 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r5, #0 moveq r6, #0 beq _02171058 cmp r5, #1 moveq r6, fp beq _02171058 cmp r5, #2 ldreq r6, _0217133c ; =0xffffeaab _02171058: mov r1, r6, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 ldrsh ip, [r4, r1] mov r1, #0 add r2, r4, r2, lsl #1 umull sl, lr, ip, sb mla lr, ip, r1, lr mov r3, ip, asr #0x1f mla lr, r3, sb, lr adds r3, sl, #0x800 adc r1, lr, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 str r3, [r0, #0x60] mov r1, #0 str r1, [r0, #0x64] ldrsh ip, [r2, #2] mov r3, #0 umull r2, r1, ip, sb mla r1, ip, r3, r1 mov sl, ip, asr #0x1f adds r3, r2, #0x800 mla r1, sl, sb, r1 adc r1, r1, #0 mov r2, r3, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r0, #0x68] cmp r7, r5 bne _021710f8 ldr r0, [sp, #4] str r0, [r8, #0x6dc] ldr r0, [sp, #8] str r0, [r8, #0x6e0] b _021710f8 _021710ec: add sp, sp, #0x94 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021710f8: add r5, r5, #1 cmp r5, #3 blt _02170fd8 add sp, sp, #0x94 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02171110: add r0, sp, #0x24 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] str r1, [sp, #0x44] bl func_ov00_020c3348 ldr r1, [r8, #8] add r0, r8, #0x600 str r1, [sp, #0x40] ldr r1, [r8, #0xc] str r1, [sp, #0x44] ldrsh r0, [r0, #0xa0] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02171180 _02171150: ; jump table b _02171180 ; case 0 b _0217117c ; case 1 b _02171174 ; case 2 b _0217116c ; case 3 b _02171164 ; case 4 _02171164: mov r4, #0 b _02171180 _0217116c: mov r4, #0x19 b _02171180 _02171174: mov r4, #0x1e b _02171180 _0217117c: mov r4, #0x32 _02171180: ldr r1, _02171338 ; =data_027e0764 mov r3, #0 ldr r2, [r1] ldmib r1, {r0, r5} umull r7, r6, r5, r2 mla r6, r5, r0, r6 ldr r0, [r1, #0xc] ldr r5, [r1, #0x10] mla r6, r0, r2, r6 ldr r0, [r1, #0x14] adds r7, r5, r7 adc r6, r0, r6 mov r0, #0x64 umull r2, r5, r6, r0 str r7, [r1] mla r5, r6, r3, r5 mov r2, r3 mla r5, r2, r0, r5 str r6, [r1, #4] cmp r5, r4 bge _021711f0 mov r4, #1 ldr r0, _02171344 ; =data_027e0ffc rsb r1, r4, #0x2dc add r2, r8, #0x48 str r4, [sp, #0x48] bl func_ov00_020ceacc b _02171200 _021711f0: ldr r0, _02171344 ; =data_027e0ffc ldr r1, _02171354 ; =0x000002da add r2, r8, #0x48 bl func_ov00_020ceacc _02171200: ldr r0, _02171358 ; =data_ov25_0217934c add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r8, #0x78] ldr r4, _02171334 ; =data_02050f54 ldr r1, [r8, #0x48] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 mov r3, r2, lsl #0x1 add r0, r2, #1 mov r2, r0, lsl #0x1 str r1, [sp, #0x18] ldr r7, [r8, #0x4c] ldrsh r3, [r4, r3] ldrsh r6, [r4, r2] ldr r0, [sp, #0x14] str r7, [sp, #0x1c] smull r2, r5, r0, r3 adds fp, r2, #0x800 ldr r2, [sp, #0x10] rsb r4, r3, #0 add sl, r7, r2 ldr r2, [r8, #0x50] adc r7, r5, #0 str sl, [sp, #0x1c] smull r5, sl, r0, r6 mov r0, fp, lsr #0xc orr r0, r0, r7, lsl #20 ldr sb, [sp, #0xc] adds fp, r5, #0x800 add r1, r1, r0 smull r7, r6, sb, r6 smull r5, r4, sb, r4 adc r0, sl, #0 mov sb, fp, lsr #0xc orr sb, sb, r0, lsl #20 adds r7, r7, #0x800 add r0, r2, sb adc r6, r6, #0 adds r2, r5, #0x800 mov r5, r7, lsr #0xc orr r5, r5, r6, lsl #20 add r5, r1, r5 adc r1, r4, #0 mov r2, r2, lsr #0xc orr r2, r2, r1, lsl #20 add r0, r0, r2 add r3, r8, #0x2dc str r0, [sp, #0x20] add r1, r3, #0x400 str r5, [sp, #0x18] str r1, [sp] ldr r0, _02171348 ; =data_027e0fe8 ldr r1, _0217134c ; =0x43425332 ldr r0, [r0] add r2, sp, #0x18 add r3, sp, #0x24 bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x94 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _02171350 ; =data_027e0fe4 add r1, r8, #0x2dc ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020c3674 mov r2, #0 str r2, [r0, #0x60] ldr r1, _02171340 ; =0x00000266 str r2, [r0, #0x64] str r1, [r0, #0x68] mov r0, #1 add sp, sp, #0x94 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov25_02170e64 _02171330: .word data_ov25_02179340 _02171334: .word data_02050f54 _02171338: .word data_027e0764 _0217133c: .word 0xffffeaab _02171340: .word 0x00000266 _02171344: .word data_027e0ffc _02171348: .word data_027e0fe8 _0217134c: .word 0x43425332 _02171350: .word data_027e0fe4 _02171354: .word 0x000002da _02171358: .word data_ov25_0217934c .global func_ov25_0217135c arm_func_start func_ov25_0217135c func_ov25_0217135c: ; 0x0217135c stmdb sp!, {r3, lr} ldr r2, _02171384 ; =data_027e0fe4 add r1, r0, #0x2dc ldr r0, [r2] add r1, r1, #0x400 bl func_ov00_020c3674 cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0217135c _02171384: .word data_027e0fe4 .global func_ov25_02171388 arm_func_start func_ov25_02171388 func_ov25_02171388: ; 0x02171388 stmdb sp!, {r3, lr} ldr r2, _021713c0 ; =data_027e0fe4 add r1, r0, #0x2dc ldr r0, [r2] add r1, r1, #0x400 bl func_ov00_020c3674 cmp r0, #0 beq _021713b8 bl func_ov25_02171f00 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _021713b8: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02171388 _021713c0: .word data_027e0fe4 .global func_ov25_021713c4 arm_func_start func_ov25_021713c4 func_ov25_021713c4: ; 0x021713c4 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _02171474 ; =data_027e0fe4 mov r4, r0 add r1, r4, #0x2dc ldr r0, [r2] add r1, r1, #0x400 bl func_ov00_020c3674 ldr r1, [r0, #0x48] ldr r2, _02171478 ; =data_027e0764 str r1, [r4, #0x694] ldr r3, [r0, #0x4c] ldr r1, _0217147c ; =0x00004001 str r3, [r4, #0x698] ldr r3, [r0, #0x50] mov r0, #0 str r3, [r4, #0x69c] ldr ip, [r2] ldmib r2, {r3, lr} umull r6, r5, lr, ip mla r5, lr, r3, r5 ldr r3, [r2, #0xc] ldr r7, [r2, #0x10] mla r5, r3, ip, r5 ldr lr, [r2, #0x14] adds r6, r7, r6 adc r5, lr, r5 umull r3, ip, r5, r1 mla ip, r5, r0, ip mla ip, r0, r1, ip str r6, [r2] str r5, [r2, #4] ldr r1, [r4, #0x50] sub r0, ip, #0x2000 add r1, r1, r0 str r1, [r4, #0x69c] ldr r0, [r4, #0x684] cmp r1, r0 strlt r0, [r4, #0x69c] ldr r1, [r4, #0x684] ldr r0, [r4, #0x69c] add r1, r1, #0x4000 cmp r0, r1 strgt r1, [r4, #0x69c] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov25_021713c4 _02171474: .word data_027e0fe4 _02171478: .word data_027e0764 _0217147c: .word 0x00004001 .global func_ov25_02171480 arm_func_start func_ov25_02171480 func_ov25_02171480: ; 0x02171480 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x44 mov r4, r0 add r0, sp, #0x18 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] str r1, [sp, #0x38] bl func_ov00_020c3348 ldr r1, [r4, #8] add r0, r4, #0x48 str r1, [sp, #0x34] ldr r1, [r4, #0xc] add r3, sp, #0xc str r1, [sp, #0x38] ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mvn r0, #0 mov r2, r3 str r0, [sp, #4] str r0, [sp, #8] add r1, sp, #4 str r1, [sp] ldr r0, _02171500 ; =data_027e0fe8 ldr r1, _02171504 ; =0x43425333 ldr r0, [r0] add r3, sp, #0x18 bl func_ov00_020c4048 mov r0, #1 add sp, sp, #0x44 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02171480 _02171500: .word data_027e0fe8 _02171504: .word 0x43425333 .global func_ov25_02171508 arm_func_start func_ov25_02171508 func_ov25_02171508: ; 0x02171508 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x38 ldr r2, _021715dc ; =data_027e0e60 mov r5, r0 ldr r0, [r2] mov r4, r1 mov r1, #1 mov r2, #3 bl func_ov00_02084be0 cmp r0, #0 addne sp, sp, #0x38 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} add r0, sp, #0xc bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 ldr r0, [r5, #8] mov r2, #1 str r0, [sp, #0x28] ldr ip, [r5, #0xc] sub r0, r2, #2 mov r3, #3 strb r3, [sp, #0x14] add r1, sp, #4 str ip, [sp, #0x2c] strb r2, [sp, #0x16] str r2, [sp, #0x30] str r0, [sp, #4] str r0, [sp, #8] str r1, [sp] ldr r0, _021715e0 ; =data_027e0fe8 ldr r1, _021715e4 ; =0x4e4b4559 ldr r0, [r0] add r3, sp, #0xc mov r2, r4 bl func_ov00_020c4048 ldr r0, _021715e8 ; =data_027e0fe4 add r1, sp, #4 ldr r0, [r0] bl func_ov00_020c3674 cmp r0, #0 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #1 strb r1, [r0, #0x1c4] mov r0, r1 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02171508 _021715dc: .word data_027e0e60 _021715e0: .word data_027e0fe8 _021715e4: .word 0x4e4b4559 _021715e8: .word data_027e0fe4 .global func_ov25_021715ec arm_func_start func_ov25_021715ec func_ov25_021715ec: ; 0x021715ec stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #1 bne _02171630 add r0, r4, #0x21c mov r1, #9 bl func_ov00_020c5d74 ldr ip, [r4, #0x22c] mov lr, #0x1000 ldr r0, _02171638 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x2e4 mov r3, #0 str lr, [ip, #0x10] bl func_ov00_020ceacc mov r0, #1 ldmia sp!, {r4, pc} _02171630: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021715ec _02171638: .word data_027e0ffc .global func_ov25_0217163c arm_func_start func_ov25_0217163c func_ov25_0217163c: ; 0x0217163c stmdb sp!, {r3, lr} cmp r2, #0 ldmneia sp!, {r3, pc} bl func_ov25_02170e64 ldmia sp!, {r3, pc} arm_func_end func_ov25_0217163c .global func_ov25_02171650 arm_func_start func_ov25_02171650 func_ov25_02171650: ; 0x02171650 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x6f0 bl func_ov00_020d1980 add r0, r4, #0x670 bl func_ov00_020b7d74 add r0, r4, #0x264 ldr r3, _021716f8 ; =func_ov00_020b7d74 add r0, r0, #0x400 mov r1, #3 mov r2, #4 bl func_0204f754 add r0, r4, #0x19c add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x540 blx func_ov00_020a95a4 add r0, r4, #0x4a0 blx func_ov00_020a9b6c add r0, r4, #0x420 blx func_ov00_020a9b6c add r0, r4, #0x3c4 blx func_ov00_020a95a4 add r0, r4, #0x324 blx func_ov00_020a9b6c add r0, r4, #0x2a4 blx func_ov00_020a9b6c add r0, r4, #0x23c blx func_ov00_020a95ec add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _021716f8 ; =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_ov25_02171650 _021716f8: .word func_ov00_020b7d74 .global func_ov25_021716fc arm_func_start func_ov25_021716fc func_ov25_021716fc: ; 0x021716fc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x6f0 bl func_ov00_020d1980 add r0, r4, #0x670 bl func_ov00_020b7d74 add r0, r4, #0x264 ldr r3, _0217179c ; =func_ov00_020b7d74 add r0, r0, #0x400 mov r1, #3 mov r2, #4 bl func_0204f754 add r0, r4, #0x19c add r0, r0, #0x400 blx func_ov00_020a9b6c add r0, r4, #0x540 blx func_ov00_020a95a4 add r0, r4, #0x4a0 blx func_ov00_020a9b6c add r0, r4, #0x420 blx func_ov00_020a9b6c add r0, r4, #0x3c4 blx func_ov00_020a95a4 add r0, r4, #0x324 blx func_ov00_020a9b6c add r0, r4, #0x2a4 blx func_ov00_020a9b6c add r0, r4, #0x23c blx func_ov00_020a95ec add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _0217179c ; =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_ov25_021716fc _0217179c: .word func_ov00_020b7d74 .global func_ov25_021717a0 arm_func_start func_ov25_021717a0 func_ov25_021717a0: ; 0x021717a0 bx lr arm_func_end func_ov25_021717a0 .global func_ov25_021717a4 arm_func_start func_ov25_021717a4 func_ov25_021717a4: ; 0x021717a4 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _021717c4 ; =data_ov25_02179e04 mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021717a4 _021717c4: .word data_ov25_02179e04 .global func_ov25_021717c8 arm_func_start func_ov25_021717c8 func_ov25_021717c8: ; 0x021717c8 ldr ip, _021717d8 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov25_021717c8 _021717d8: .word func_ov00_020a9998 .global func_ov25_021717dc arm_func_start func_ov25_021717dc func_ov25_021717dc: ; 0x021717dc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r5, r1 ldr r2, [r5, #4] ldr r1, _0217185c ; =data_ov25_02179368 ldr r2, [r2, #4] mov r4, r0 add r0, r2, #0x40 bl func_0201e388 ldr r1, [r5, #8] tst r1, #0x10 ldrneb r1, [r5, #0xae] mvneq r1, #0 cmp r1, r0 addne sp, sp, #0x30 ldmneia sp!, {r3, r4, r5, pc} add r0, sp, #0 mov r1, #0 bl func_0201b1bc ldr r2, [sp, #0x2c] ldr r1, [sp, #0x28] ldr r0, [sp, #0x24] str r0, [r4, #0x5c] str r1, [r4, #0x60] str r2, [r4, #0x64] bl func_02018450 mov r1, r0 add r0, r4, #0x5c mov r2, r0 bl func_01ff9158 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_021717dc _0217185c: .word data_ov25_02179368 .global func_ov25_02171860 arm_func_start func_ov25_02171860 func_ov25_02171860: ; 0x02171860 ldr r2, [r0, #0x5c] str r2, [r1] ldr r2, [r0, #0x60] str r2, [r1, #4] ldr r0, [r0, #0x64] str r0, [r1, #8] bx lr arm_func_end func_ov25_02171860 .global func_ov25_0217187c arm_func_start func_ov25_0217187c func_ov25_0217187c: ; 0x0217187c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 ldr r2, _02171974 ; =data_ov25_0217937c mov r4, r1 mov r5, r0 mov r1, #0x7f bl func_ov00_020c5c98 ldr r1, [r5, #4] add r0, r5, #0x20 str r1, [r5, #0x110] bl func_ov25_021717c8 ldr r1, _02171978 ; =data_027e0fec ldr r0, _0217197c ; =data_ov25_02179d94 ldr r1, [r1] add r1, r1, #0x1000 ldr r7, [r1, #0xbd0] blx func_02016fe8 mov r6, r0 ldr r1, _02171980 ; =data_ov25_02179da8 add r0, sp, #0 mov r2, #0x10 bl func_020470ec mov r0, r6 add r1, sp, #0 bl func_0201e544 mov r1, r0 mov r2, r7 add r0, r5, #0x108 mov r3, #1 bl func_ov00_020c0cc8 add r0, r5, #0x20 ldr r2, [r0] add r1, r5, #0x108 ldr r2, [r2, #0x24] blx r2 cmp r4, #3 addls pc, pc, r4, lsl #2 b _0217196c _02171914: ; jump table b _02171924 ; case 0 b _02171938 ; case 1 b _0217194c ; case 2 b _02171960 ; case 3 _02171924: add r0, r5, #0x108 mov r1, #0 bl func_ov00_020c0e24 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171938: add r0, r5, #0x108 mov r1, #0x1000 bl func_ov00_020c0e24 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217194c: add r0, r5, #0x108 mov r1, #0x2000 bl func_ov00_020c0e24 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171960: add r0, r5, #0x108 mov r1, #0x3000 bl func_ov00_020c0e24 _0217196c: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov25_0217187c _02171974: .word data_ov25_0217937c _02171978: .word data_027e0fec _0217197c: .word data_ov25_02179d94 _02171980: .word data_ov25_02179da8 .global func_ov25_02171984 arm_func_start func_ov25_02171984 func_ov25_02171984: ; 0x02171984 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x14] cmp r0, #3 beq _021719d0 cmp r0, #4 ldmneia sp!, {r4, pc} add r0, r4, #0x94 mov r1, #0x15000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x1c] mov r1, r4 ldr r3, [r0] mov r2, #0 ldr r3, [r3, #0xb0] blx r3 ldmia sp!, {r4, pc} _021719d0: add r0, r4, #0x94 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r2, [r4, #0x1c] ldr r0, _02171a00 ; =data_027e0ffc ldr r1, _02171a04 ; =0x000002d7 add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02171984 _02171a00: .word data_027e0ffc _02171a04: .word 0x000002d7 .global func_ov25_02171a08 arm_func_start func_ov25_02171a08 func_ov25_02171a08: ; 0x02171a08 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 ldr r2, _02171aa0 ; =data_ov25_021794f8 mov r5, r0 mov r1, #0x80 bl func_ov00_020c5c98 ldr r1, [r5, #4] ldr r0, _02171aa4 ; =data_ov25_02179db0 str r1, [r5, #0x104] blx func_02016fe8 mov r4, r0 ldr r1, _02171aa8 ; =data_ov25_02179dc8 add r0, sp, #0 mov r2, #0x10 bl func_020470ec mov r0, r4 add r1, sp, #0 bl func_0201e544 mov r2, #0 mov r1, r0 add r0, r5, #0xfc mov r3, r2 bl func_ov00_020c0cc8 mov r0, #0x1000 str r0, [r5, #0x10c] add r0, r5, #0x20 ldr r2, [r0] add r1, r5, #0xfc ldr r2, [r2, #0x24] blx r2 mov r0, r5 mov r1, #0 bl func_ov00_020c5d74 ldr r0, [r5, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02171a08 _02171aa0: .word data_ov25_021794f8 _02171aa4: .word data_ov25_02179db0 _02171aa8: .word data_ov25_02179dc8 .global func_ov25_02171aac arm_func_start func_ov25_02171aac func_ov25_02171aac: ; 0x02171aac ldr ip, _02171ab8 ; =func_ov00_020c0e04 add r0, r0, #0xfc bx ip .align 2, 0 arm_func_end func_ov25_02171aac _02171ab8: .word func_ov00_020c0e04 .global func_ov25_02171abc arm_func_start func_ov25_02171abc func_ov25_02171abc: ; 0x02171abc stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x54 mov r5, r0 mov r0, r2 add r2, sp, #0x24 mov r4, r1 bl func_01ff9bf8 add r0, sp, #0x24 add r1, sp, #0 bl func_01ff9d4c ldr r1, [sp] ldr r6, [sp, #8] rsb r2, r1, #0 add r0, sp, #0x18 mov r3, #0 mov r1, r0 str r6, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x20] bl func_01ff9d4c add r0, sp, #0 add r1, sp, #0x18 add r2, sp, #0xc bl func_01ff9c68 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x18] str r0, [sp, #0x34] ldr r0, [sp, #0xc] str r1, [sp, #0x30] ldr r1, [sp, #0x20] str r0, [sp, #0x3c] ldr r0, [sp, #0x14] str r1, [sp, #0x38] ldr r1, [sp, #0x10] str r0, [sp, #0x44] mov r0, #0x7000 str r1, [sp, #0x40] bl func_01ff992c ldr r6, [sp, #0x24] ldr lr, [sp, #0x28] umull r8, r7, r0, r6 mov r3, r6, asr #0x1f mla r7, r0, r3, r7 mov r2, r4 mla r7, r1, r6, r7 adds r8, r8, #0x80000000 adc r3, r7, #0 umull r7, r6, r0, lr mov ip, lr, asr #0x1f mla r6, r0, ip, r6 ldr r4, [sp, #0x2c] str r3, [sp, #0x48] mla r6, r1, lr, r6 adds r7, r7, #0x80000000 adc r6, r6, #0 umull lr, ip, r0, r4 mov r3, r4, asr #0x1f mla ip, r0, r3, ip mla ip, r1, r4, ip adds lr, lr, #0x80000000 adc r0, ip, #0 str r0, [sp, #0x50] mov r0, r5 add r1, sp, #0x30 str r6, [sp, #0x4c] bl func_ov00_020c5e88 add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov25_02171abc .global func_ov25_02171bcc arm_func_start func_ov25_02171bcc func_ov25_02171bcc: ; 0x02171bcc stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02171bcc .global func_ov25_02171be8 arm_func_start func_ov25_02171be8 func_ov25_02171be8: ; 0x02171be8 ldr ip, _02171bf8 ; =func_020197bc ldr r0, [r0, #4] mov r1, #0 bx ip .align 2, 0 arm_func_end func_ov25_02171be8 _02171bf8: .word func_020197bc .global func_ov25_02171bfc arm_func_start func_ov25_02171bfc func_ov25_02171bfc: ; 0x02171bfc stmdb sp!, {r3, lr} ldr r1, _02171c28 ; =data_027e0fe0 mov r0, #0x180 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02171cb0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02171bfc _02171c28: .word data_027e0fe0 .global func_ov25_02171c2c arm_func_start func_ov25_02171c2c func_ov25_02171c2c: ; 0x02171c2c stmdb sp!, {r4, lr} sub sp, sp, #8 mov r2, #0 str r2, [sp] ldr r1, _02171cac ; =data_027e0e58 mov r4, r0 str r2, [sp, #4] ldr r0, [r1] mov r2, r4 mov r1, #0x50 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _02171cac ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x51 mov r3, #2 bl func_ov00_0207c1b0 mov r1, #0 str r1, [sp] ldr r0, _02171cac ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] mov r2, r4 mov r1, #0x52 mov r3, #2 bl func_ov00_0207c1b0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02171c2c _02171cac: .word data_027e0e58 .global func_ov25_02171cb0 arm_func_start func_ov25_02171cb0 func_ov25_02171cb0: ; 0x02171cb0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_020c1554 ldr r0, _02171d20 ; =data_ov25_02179e4c ldr ip, _02171d24 ; =func_ov00_020b7d74 str r0, [r4] ldr r3, _02171d28 ; =func_ov25_0216dff4 add r0, r4, #0x158 mov r1, #3 mov r2, #4 str ip, [sp] bl func_0204f614 ldr ip, _02171d24 ; =func_ov00_020b7d74 ldr r3, _02171d28 ; =func_ov25_0216dff4 add r0, r4, #0x164 mov r1, #2 mov r2, #4 str ip, [sp] bl func_0204f614 mov r0, #0 str r0, [r4, #0x16c] sub r1, r0, #1 str r1, [r4, #0x174] mov r0, r4 str r1, [r4, #0x178] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02171cb0 _02171d20: .word data_ov25_02179e4c _02171d24: .word func_ov00_020b7d74 _02171d28: .word func_ov25_0216dff4 .global func_ov25_02171d2c arm_func_start func_ov25_02171d2c func_ov25_02171d2c: ; 0x02171d2c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 mov r2, #0 str r2, [r4, #0x7c] str r2, [r4, #0x80] ldr r0, _02171e28 ; =0x000004cd str r2, [r4, #0x84] str r0, [r4, #0x88] str r2, [r4, #0x8c] str r2, [r4, #0x90] str r2, [r4, #0x94] str r0, [r4, #0x98] str r2, [r4, #0xa8] str r2, [r4, #0xac] str r2, [r4, #0xb0] add r0, r0, #0x1000 str r0, [r4, #0xb4] mov r0, #1 strh r0, [r4, #0x9c] mov r1, #2 strb r1, [r4, #0x124] strb r0, [r4, #0x125] add r0, r4, #0x100 strh r2, [r0, #0x7c] ldr r0, [r4, #0x140] cmp r0, #1 bne _02171de4 add r0, r4, #0x48 str r0, [sp] ldr r0, _02171e2c ; =data_027e0e58 str r1, [sp, #4] ldr r0, [r0] add r1, r4, #0x164 mov r2, #0x53 mov r3, #0x56 bl func_ov00_0207c2e8 mov r1, #2 ldr r0, _02171e2c ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r4, #0x16c add r3, r4, #0x48 mov r2, #0x54 bl func_ov00_0207c1f8 b _02171e10 _02171de4: mov r0, #0x5c str r0, [sp] add r0, r4, #0x48 str r0, [sp, #4] ldr r0, _02171e2c ; =data_027e0e58 str r1, [sp, #8] ldr r0, [r0] add r1, r4, #0x158 mov r2, #0x5a mov r3, #0x5b bl func_ov00_0207c31c _02171e10: mov r0, r4 mov r1, #0 bl func_ov25_02171fe8 mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02171d2c _02171e28: .word 0x000004cd _02171e2c: .word data_027e0e58 .global func_ov25_02171e30 arm_func_start func_ov25_02171e30 func_ov25_02171e30: ; 0x02171e30 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r4 mov r1, #0 bl func_01fffd04 ldmia sp!, {r4, pc} arm_func_end func_ov25_02171e30 .global func_ov25_02171e58 arm_func_start func_ov25_02171e58 func_ov25_02171e58: ; 0x02171e58 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r4 mov r1, #0 bl func_01fffd04 ldmia sp!, {r4, pc} arm_func_end func_ov25_02171e58 .global func_ov25_02171e80 arm_func_start func_ov25_02171e80 func_ov25_02171e80: ; 0x02171e80 ldr r2, [r1] ldr ip, _02171ea4 ; =func_ov25_02171fe8 str r2, [r0, #0x60] ldr r2, [r1, #4] str r2, [r0, #0x64] ldr r2, [r1, #8] mov r1, #0 str r2, [r0, #0x68] bx ip .align 2, 0 arm_func_end func_ov25_02171e80 _02171ea4: .word func_ov25_02171fe8 .global func_ov25_02171ea8 arm_func_start func_ov25_02171ea8 func_ov25_02171ea8: ; 0x02171ea8 ldr r3, [r1] add r2, r0, #0x100 str r3, [r0, #0x174] ldr r3, [r1, #4] ldr ip, _02171ed4 ; =func_ov25_02171fe8 str r3, [r0, #0x178] ldrsh r3, [r2, #0x7e] mov r1, #2 sub r3, r3, #1 strh r3, [r2, #0x7e] bx ip .align 2, 0 arm_func_end func_ov25_02171ea8 _02171ed4: .word func_ov25_02171fe8 .global func_ov25_02171ed8 arm_func_start func_ov25_02171ed8 func_ov25_02171ed8: ; 0x02171ed8 ldr r2, [r0, #0x130] cmp r2, #2 movne r0, #0 bxne lr ldr r2, [r0, #0x174] str r2, [r1] ldr r2, [r0, #0x178] mov r0, #1 str r2, [r1, #4] bx lr arm_func_end func_ov25_02171ed8 .global func_ov25_02171f00 arm_func_start func_ov25_02171f00 func_ov25_02171f00: ; 0x02171f00 ldr r0, [r0, #0x130] cmp r0, #1 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov25_02171f00 .global func_ov25_02171f14 arm_func_start func_ov25_02171f14 func_ov25_02171f14: ; 0x02171f14 add r0, r0, #0x100 ldrsh r0, [r0, #0x7e] cmp r0, #0 movlt r0, #1 movge r0, #0 bx lr arm_func_end func_ov25_02171f14 .global func_ov25_02171f2c arm_func_start func_ov25_02171f2c func_ov25_02171f2c: ; 0x02171f2c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 add r5, r6, #0x164 add r4, r6, #0x16c cmp r5, r4 beq _02171f58 _02171f44: mov r0, r5 bl func_ov00_020b7e6c add r5, r5, #4 cmp r5, r4 bne _02171f44 _02171f58: ldr r0, _02171f98 ; =data_027e0e58 add r1, r6, #0x16c ldr r0, [r0] bl func_ov00_0207c444 add r5, r6, #0x158 add r4, r6, #0x164 cmp r5, r4 beq _02171f8c _02171f78: mov r0, r5 bl func_ov00_020b7e6c add r5, r5, #4 cmp r5, r4 bne _02171f78 _02171f8c: mov r0, r6 bl func_ov00_020c3180 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02171f2c _02171f98: .word data_027e0e58 .global func_ov25_02171f9c arm_func_start func_ov25_02171f9c func_ov25_02171f9c: ; 0x02171f9c stmdb sp!, {r4, lr} ldr r1, [r1, #0x10] mov r4, r0 cmp r1, #0 bne _02171fe0 ldr r1, [r4, #0x140] cmp r1, #1 bne _02171fd0 bl func_ov25_021726d4 mov r0, r4 bl func_ov25_02171f2c mov r0, #1 ldmia sp!, {r4, pc} _02171fd0: mov r1, #1 bl func_ov25_02171fe8 mov r0, #1 ldmia sp!, {r4, pc} _02171fe0: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov25_02171f9c .global func_ov25_02171fe8 arm_func_start func_ov25_02171fe8 func_ov25_02171fe8: ; 0x02171fe8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r3, #0 str r3, [r6, #0x138] ldr r0, [r6, #0x130] cmp r1, #0 str r0, [r6, #0x134] str r1, [r6, #0x130] beq _02172020 cmp r1, #1 beq _0217204c cmp r1, #2 beq _0217210c ldmia sp!, {r4, r5, r6, pc} _02172020: ldr r1, [r6, #0x134] sub r0, r3, #1 cmp r1, r0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _021721d0 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0x2e0 bl func_ov00_020ceacc add r0, r6, #0x48 bl func_ov25_02171c2c ldmia sp!, {r4, r5, r6, pc} _0217204c: ldr r0, _021721d0 ; =data_027e0ffc ldr r1, _021721d4 ; =0x000002df add r2, r6, #0x48 bl func_ov00_020ceacc add r0, r6, #0x48 bl func_ov25_02171c2c add r0, r6, #0x60 bl func_01ff9cec ldr r1, _021721d8 ; =0x0000119a mov r2, #0 umull r4, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r4, r4, #0x800 adc r0, r3, #0 mov r1, r4, lsr #0xc orr r1, r1, r0, lsl #20 mov r0, #0 cmp r1, #0x400 movge r1, #0x400 str r0, [r6, #0x60] str r0, [r6, #0x64] rsb r1, r1, #0 ldr r2, _021721dc ; =data_027e0764 str r1, [r6, #0x68] ldr r3, [r2] ldmib r2, {r1, r4} umull ip, r5, r4, r3 mla r5, r4, r1, r5 ldr r1, [r2, #0xc] ldr lr, [r2, #0x10] mla r5, r1, r3, r5 ldr r4, [r2, #0x14] adds ip, lr, ip adc r5, r4, r5 mov r1, #9 umull r3, r4, r5, r1 mla r4, r5, r0, r4 mla r4, r0, r1, r4 str ip, [r2] str r5, [r2, #4] add r0, r6, #0x100 strh r4, [r0, #0x7e] ldrsh r1, [r0, #0x7c] add r1, r1, #1 strh r1, [r0, #0x7c] ldmia sp!, {r4, r5, r6, pc} _0217210c: ldr r0, _021721d0 ; =data_027e0ffc add r2, r6, #0x48 mov r1, #0x2e0 bl func_ov00_020ceacc add r0, r6, #0x48 bl func_ov25_02171c2c ldr r0, _021721e0 ; =data_027e0fe4 add r1, r6, #0x174 ldr r0, [r0] bl func_ov00_020c3674 mov r4, r0 add r0, r6, #0x60 bl func_01ff9cec ldr r1, _021721d8 ; =0x0000119a mov r2, #0 umull r5, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r5, r5, #0x800 adc r0, r3, #0 mov r5, r5, lsr #0xc orr r5, r5, r0, lsl #20 cmp r5, #0x400 add r0, r4, #0x48 add r1, r6, #0x48 add r2, r6, #0x60 movge r5, #0x400 bl func_01ff9bf8 mov r0, #0 str r0, [r6, #0x64] add r0, r6, #0x60 mov r1, r0 bl func_01ff9d4c ldr r0, [r6, #0x60] smull r1, r0, r5, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r6, #0x60] ldr r0, [r6, #0x68] smull r1, r0, r5, r0 adds r1, r1, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 str r1, [r6, #0x68] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02171fe8 _021721d0: .word data_027e0ffc _021721d4: .word 0x000002df _021721d8: .word 0x0000119a _021721dc: .word data_027e0764 _021721e0: .word data_027e0fe4 .global func_ov25_021721e4 arm_func_start func_ov25_021721e4 func_ov25_021721e4: ; 0x021721e4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _02172370 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 _02172240 cmp r0, #1 beq _021722f8 cmp r0, #2 beq _02172354 b _02172370 _02172240: mov r0, r5 bl func_ov25_02171e30 ldr r2, _021724d8 ; =0x0000099a mov r0, r5 mov r1, #2 str r2, [r5, #0x88] bl func_ov00_020c1fc8 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r4, r5, pc} ldr r1, _021724dc ; =0x000004cd mov r0, r5 str r1, [r5, #0x88] add r2, r5, #0x60 mov r1, #4 bl func_ov00_020c1e2c ldr r0, [r5, #0x138] cmp r0, #0x96 ble _0217229c mov r0, r5 bl func_ov25_02171f2c add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} _0217229c: ldrb r0, [r5, #0x110] cmp r0, #0 ldreqb r0, [r5, #0x112] cmpeq r0, #0 ldreqb r0, [r5, #0x113] cmpeq r0, #0 beq _02172370 ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] bl func_01ffa0f4 add r1, r5, #0x100 strh r0, [r1, #0x70] ldr r0, _021724e0 ; =data_027e0ffc ldr r1, _021724e4 ; =0x000002de add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc mov r0, r5 bl func_ov25_021724fc mov r0, r5 bl func_ov25_02171f2c add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} _021722f8: mov r0, r5 bl func_ov25_02171e58 ldr r2, _021724dc ; =0x000004cd add r0, sp, #0xc mov r1, r5 str r2, [r5, #0x88] bl func_ov00_020c23c4 ldr r1, [sp, #0xc] mvn r0, #0 cmp r1, r0 beq _02172338 add r0, r5, #0x48 bl func_ov25_02171c2c mov r0, r5 bl func_ov25_02171f2c b _02172370 _02172338: ldr r0, [r5, #0x138] cmp r0, #0x96 ble _02172370 mov r0, r5 bl func_ov25_02171f2c add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} _02172354: mov r0, r5 bl func_ov25_02171e58 ldr r2, _021724dc ; =0x000004cd add r0, sp, #4 mov r1, r5 str r2, [r5, #0x88] bl func_ov00_020c23c4 _02172370: add r2, r5, #0x158 add r1, r5, #0x164 cmp r2, r1 beq _021723e0 _02172380: ldr r0, [r2] cmp r0, #0 beq _021723d4 ldr r3, [r0, #0x20] ldr ip, [r5, #0x48] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [r5, #0x4c] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [r5, #0x50] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _021723d4: add r2, r2, #4 cmp r2, r1 bne _02172380 _021723e0: add r2, r5, #0x164 add r1, r5, #0x16c cmp r2, r1 beq _02172450 _021723f0: ldr r0, [r2] cmp r0, #0 beq _02172444 ldr r3, [r0, #0x20] ldr ip, [r5, #0x48] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [r5, #0x4c] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [r5, #0x50] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _02172444: add r2, r2, #4 cmp r2, r1 bne _021723f0 _02172450: ldr r0, [r5, #0x16c] cmp r0, #0 beq _021724a4 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] _021724a4: mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _021724e0 ; =data_027e0ffc ldr r1, _021724e8 ; =0x000002dd add r2, r5, #0x48 bl func_ov00_020cec60 mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov25_021721e4 _021724d8: .word 0x0000099a _021724dc: .word 0x000004cd _021724e0: .word data_027e0ffc _021724e4: .word 0x000002de _021724e8: .word 0x000002dd .global func_ov25_021724ec arm_func_start func_ov25_021724ec func_ov25_021724ec: ; 0x021724ec ldr ip, _021724f4 ; =func_ov25_02171f2c bx ip .align 2, 0 arm_func_end func_ov25_021724ec _021724f4: .word func_ov25_02171f2c .global func_ov25_021724f8 arm_func_start func_ov25_021724f8 func_ov25_021724f8: ; 0x021724f8 bx lr arm_func_end func_ov25_021724f8 .global func_ov25_021724fc arm_func_start func_ov25_021724fc func_ov25_021724fc: ; 0x021724fc stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x48 mov r4, r0 add r0, r4, #0x48 bl func_ov25_02171c2c add r0, sp, #0x1c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 ldr r1, [r4, #8] ldr r0, _021726c4 ; =data_ov25_02179524 str r1, [sp, #0x38] ldr r1, [r4, #0xc] add r7, sp, #4 str r1, [sp, #0x3c] ldmia r0, {r0, r1, r2} stmia r7, {r0, r1, r2} add ip, r4, #0x100 ldrh r0, [ip, #0x70] ldr r7, [r4, #0x48] ldr r6, _021726c8 ; =data_02050f54 mov r0, r0, asr #0x4 mov r8, r0, lsl #0x1 str r7, [sp, #0x10] mov r0, r8, lsl #0x1 ldrsh r2, [r6, r0] add r0, r8, #1 ldr sb, [r4, #0x4c] mov r0, r0, lsl #0x1 ldr r1, [sp, #8] ldrsh r6, [r6, r0] add r0, sb, r1 str sb, [sp, #0x14] ldr sb, [r4, #0x50] ldr r8, [sp, #0xc] str r0, [sp, #0x14] rsb r0, r2, #0 smull r2, sl, r8, r2 adds r2, r2, #0x800 adc sl, sl, #0 mov r2, r2, lsr #0xc orr r2, r2, sl, lsl #20 add r7, r7, r2 smull sl, r2, r8, r6 adds r8, sl, #0x800 ldr r1, [sp, #4] adc r2, r2, #0 mov r8, r8, lsr #0xc orr r8, r8, r2, lsl #20 add r2, sb, r8 smull sb, r8, r1, r6 smull r6, r0, r1, r0 adds sb, sb, #0x800 adc r1, r8, #0 mov r8, sb, lsr #0xc orr r8, r8, r1, lsl #20 add r1, r7, r8 str r1, [sp, #0x10] adds r1, r6, #0x800 adc r0, r0, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [sp, #0x18] ldrsh r0, [ip, #0x70] mov r5, #0 ldr lr, _021726cc ; =data_027e0fe8 strh r0, [sp, #0x30] str r5, [sp] ldr r1, _021726d0 ; =0x43425334 ldr r0, [lr] add r3, sp, #0x1c add r2, sp, #0x10 bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x48 movlt r0, r5 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r0, r4, #0x100 ldrsh r2, [r0, #0x70] mov r1, r5 ldr r0, _021726cc ; =data_027e0fe8 add r2, r2, #0x2000 strh r2, [sp, #0x30] str r1, [sp] ldr r0, [r0] ldr r1, _021726d0 ; =0x43425334 add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x48 movlt r0, r5 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r0, r4, #0x100 ldrsh r2, [r0, #0x70] mov r1, r5 ldr r0, _021726cc ; =data_027e0fe8 sub r2, r2, #0x2000 strh r2, [sp, #0x30] str r1, [sp] ldr r0, [r0] ldr r1, _021726d0 ; =0x43425334 add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 cmp r0, #0 movge r0, #1 movlt r0, r5 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov25_021724fc _021726c4: .word data_ov25_02179524 _021726c8: .word data_02050f54 _021726cc: .word data_027e0fe8 _021726d0: .word 0x43425334 .global func_ov25_021726d4 arm_func_start func_ov25_021726d4 func_ov25_021726d4: ; 0x021726d4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 mov r4, r0 add r0, r4, #0x48 bl func_ov25_02171c2c add r0, sp, #0x1c bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 ldr r1, [r4, #8] ldr r0, _021728c8 ; =data_ov25_02179530 str r1, [sp, #0x38] ldr r1, [r4, #0xc] add r7, sp, #4 str r1, [sp, #0x3c] ldmia r0, {r0, r1, r2} stmia r7, {r0, r1, r2} add r6, r4, #0x100 ldrh r0, [r6, #0x70] ldr r6, [r4, #0x48] ldr r5, _021728cc ; =data_02050f54 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 mov r0, r1, lsl #0x1 ldrsh r7, [r5, r0] add r0, r1, #1 mov r0, r0, lsl #0x1 str r6, [sp, #0x10] ldrsh r2, [r5, r0] ldr r0, [r4, #0x4c] ldr r8, [sp, #8] str r0, [sp, #0x14] add r8, r0, r8 ldr r5, [r4, #0x50] ldr r1, [sp, #0xc] str r8, [sp, #0x14] rsb r8, r7, #0 smull r7, r4, r1, r7 adds r7, r7, #0x800 mov lr, #0 adc r4, r4, #0 mov r7, r7, lsr #0xc orr r7, r7, r4, lsl #20 add r4, r6, r7 smull r7, r6, r1, r2 adds r7, r7, #0x800 adc r1, r6, #0 mov r6, r7, lsr #0xc orr r6, r6, r1, lsl #20 ldr r0, [sp, #4] add r1, r5, r6 smull r7, r6, r0, r2 smull r5, r2, r0, r8 adds r7, r7, #0x800 adc r0, r6, #0 mov r6, r7, lsr #0xc orr r6, r6, r0, lsl #20 add r0, r4, r6 adds r4, r5, #0x800 str r0, [sp, #0x10] adc r0, r2, #0 mov r2, r4, lsr #0xc orr r2, r2, r0, lsl #20 add r0, r1, r2 ldr ip, _021728d0 ; =data_027e0fe8 strh lr, [sp, #0x30] str r0, [sp, #0x18] str lr, [sp] ldr r0, [ip] ldr r1, _021728d4 ; =0x43425334 add r3, sp, #0x1c add r2, sp, #0x10 bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x48 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #0x4000 strh r0, [sp, #0x30] mov r1, #0 str r1, [sp] ldr r0, _021728d0 ; =data_027e0fe8 ldr r1, _021728d4 ; =0x43425334 ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x48 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #0x8000 rsb r0, r0, #0 strh r0, [sp, #0x30] mov r1, #0 str r1, [sp] ldr r0, _021728d0 ; =data_027e0fe8 ldr r1, _021728d4 ; =0x43425334 ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x48 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #0x4000 rsb r0, r0, #0 strh r0, [sp, #0x30] mov r1, #0 str r1, [sp] ldr r0, _021728d0 ; =data_027e0fe8 ldr r1, _021728d4 ; =0x43425334 ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0x1c bl func_ov00_020c4048 cmp r0, #0 movge r0, #1 movlt r0, #0 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov25_021726d4 _021728c8: .word data_ov25_02179530 _021728cc: .word data_02050f54 _021728d0: .word data_027e0fe8 _021728d4: .word 0x43425334 .global func_ov25_021728d8 arm_func_start func_ov25_021728d8 func_ov25_021728d8: ; 0x021728d8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x16c bl func_ov00_020b7d74 ldr r3, _02172928 ; =func_ov00_020b7d74 add r0, r4, #0x164 mov r1, #2 mov r2, #4 bl func_0204f754 ldr r3, _02172928 ; =func_ov00_020b7d74 add r0, r4, #0x158 mov r1, #3 mov r2, #4 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_ov25_021728d8 _02172928: .word func_ov00_020b7d74 .global func_ov25_0217292c arm_func_start func_ov25_0217292c func_ov25_0217292c: ; 0x0217292c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x16c bl func_ov00_020b7d74 ldr r3, _02172974 ; =func_ov00_020b7d74 add r0, r4, #0x164 mov r1, #2 mov r2, #4 bl func_0204f754 ldr r3, _02172974 ; =func_ov00_020b7d74 add r0, r4, #0x158 mov r1, #3 mov r2, #4 bl func_0204f754 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0217292c _02172974: .word func_ov00_020b7d74 .global func_ov25_02172978 arm_func_start func_ov25_02172978 func_ov25_02172978: ; 0x02172978 stmdb sp!, {r3, lr} ldr r1, _021729a4 ; =data_027e0fe0 ldr r0, _021729a8 ; =0x00000584 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02172b88 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02172978 _021729a4: .word data_027e0fe0 _021729a8: .word 0x00000584 .global func_ov25_021729ac arm_func_start func_ov25_021729ac func_ov25_021729ac: ; 0x021729ac stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x250] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x248] cmp r0, #1 bne _02172a14 ldr r0, [r4, #0x10] mov r1, #0x1000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _021729f8 ldr r0, [r4, #0x10] mov r1, #0xc000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} _021729f8: ldr r1, [r4, #0x1c] ldr r0, _02172a68 ; =data_027e0ffc add r2, r1, #0x48 mov r1, #0x388 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} _02172a14: cmp r0, #5 ldmneia sp!, {r4, pc} ldr r0, [r4, #0x10] mov r1, #0x1000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 bne _02172a4c ldr r0, [r4, #0x10] mov r1, #0xf000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} _02172a4c: ldr r1, [r4, #0x1c] ldr r0, _02172a68 ; =data_027e0ffc add r2, r1, #0x48 mov r1, #0x388 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021729ac _02172a68: .word data_027e0ffc .global func_ov25_02172a6c arm_func_start func_ov25_02172a6c func_ov25_02172a6c: ; 0x02172a6c ldr r3, _02172a84 ; =data_ov25_0217a004 mov r2, #0 str r3, [r0] str r1, [r0, #4] strh r2, [r0, #8] bx lr .align 2, 0 arm_func_end func_ov25_02172a6c _02172a84: .word data_ov25_0217a004 .global func_ov25_02172a88 arm_func_start func_ov25_02172a88 func_ov25_02172a88: ; 0x02172a88 stmdb sp!, {r3, lr} ldr r0, _02172ad0 ; =data_027e0f6c ldrh r2, [r1] ldr r1, [r0] add r0, sp, #0 bl func_ov00_02093a1c ldr r1, [sp] mov r0, r1, lsr #0x9 and r0, r0, #3 cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r0, r1, lsr #0x7 and r0, r0, #3 cmp r0, #2 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02172a88 _02172ad0: .word data_027e0f6c .global func_ov25_02172ad4 arm_func_start func_ov25_02172ad4 func_ov25_02172ad4: ; 0x02172ad4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r3, _02172b28 ; =data_027e0f6c ldrh r2, [r1] ldr r1, [r3] mov r4, r0 add r0, sp, #0 bl func_ov00_02093a1c ldr r0, [sp] mov r0, r0, lsr #0x5 and r0, r0, #3 cmp r0, #2 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #8] mov r0, #1 orr r1, r1, #2 strh r1, [r4, #8] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02172ad4 _02172b28: .word data_027e0f6c .global func_ov25_02172b2c arm_func_start func_ov25_02172b2c func_ov25_02172b2c: ; 0x02172b2c stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 ldr r1, [r0] ldr r1, [r1, #0x1c] blx r1 cmp r0, #0x14 beq _02172b60 cmp r0, #0x1a beq _02172b78 cmp r0, #0x49 beq _02172b70 b _02172b80 _02172b60: ldrh r0, [r4, #8] orr r0, r0, #1 strh r0, [r4, #8] b _02172b80 _02172b70: mov r0, #0 ldmia sp!, {r4, pc} _02172b78: mov r0, #0 ldmia sp!, {r4, pc} _02172b80: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov25_02172b2c .global func_ov25_02172b88 arm_func_start func_ov25_02172b88 func_ov25_02172b88: ; 0x02172b88 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02144ed8 ldr r2, _02172c3c ; =data_ov25_02179f08 mov r1, r4 add r0, r4, #0x470 str r2, [r4] bl func_ov25_02172a6c mov r1, #0 str r1, [r4, #0x47c] str r1, [r4, #0x480] mov r1, #0x28 add r0, r4, #0x8c str r1, [r4, #0x484] add r1, r0, #0x400 add r0, r4, #0x12c str r1, [r4, #0x488] add r0, r0, #0x400 mov r2, #0 _02172bd4: strh r2, [r1] strh r2, [r1, #2] add r1, r1, #4 cmp r1, r0 blo _02172bd4 mvn r1, #0 str r1, [r4, #0x52c] str r1, [r4, #0x530] str r1, [r4, #0x544] ldr r0, _02172c40 ; =data_ov00_020e2f04 str r1, [r4, #0x548] str r0, [r4, #0x550] mov r0, #1 strb r0, [r4, #0x554] strb r2, [r4, #0x555] str r2, [r4, #0x558] str r2, [r4, #0x55c] ldr r0, _02172c44 ; =data_ov00_020e2dd8 str r2, [r4, #0x560] str r0, [r4, #0x550] strb r2, [r4, #0x57c] ldr r0, _02172c48 ; =data_ov00_020eed2c strb r2, [r4, #0x57d] bl func_ov00_020d8718 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02172b88 _02172c3c: .word data_ov25_02179f08 _02172c40: .word data_ov00_020e2f04 _02172c44: .word data_ov00_020e2dd8 _02172c48: .word data_ov00_020eed2c .global func_ov25_02172c4c arm_func_start func_ov25_02172c4c func_ov25_02172c4c: ; 0x02172c4c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02172c4c .global func_ov25_02172c60 arm_func_start func_ov25_02172c60 func_ov25_02172c60: ; 0x02172c60 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _02172ca8 ; =data_ov25_02179f08 ldr r0, _02172cac ; =data_ov00_020eed2c str r1, [r4] bl func_ov00_020d8728 ldr r0, _02172cb0 ; =data_027e0f6c add r1, r4, #0x550 ldr r0, [r0] bl func_ov00_02093af0 add r0, r4, #0x550 bl func_ov00_02094824 add r0, r4, #0x470 bl func_ov00_02081f4c mov r0, r4 bl func_ov14_021450a8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02172c60 _02172ca8: .word data_ov25_02179f08 _02172cac: .word data_ov00_020eed2c _02172cb0: .word data_027e0f6c .global func_ov25_02172cb4 arm_func_start func_ov25_02172cb4 func_ov25_02172cb4: ; 0x02172cb4 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, _02172d04 ; =data_ov25_02179f08 ldr r0, _02172d08 ; =data_ov00_020eed2c str r1, [r4] bl func_ov00_020d8728 ldr r0, _02172d0c ; =data_027e0f6c add r1, r4, #0x550 ldr r0, [r0] bl func_ov00_02093af0 add r0, r4, #0x550 bl func_ov00_02094824 add r0, r4, #0x470 bl func_ov00_02081f4c mov r0, r4 bl func_ov14_021450a8 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02172cb4 _02172d04: .word data_ov25_02179f08 _02172d08: .word data_ov00_020eed2c _02172d0c: .word data_027e0f6c .global func_ov25_02172d10 arm_func_start func_ov25_02172d10 func_ov25_02172d10: ; 0x02172d10 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc4 mov r5, r0 bl func_ov14_021450f0 add r1, r5, #0x17c add r0, r5, #0x14 add r1, r1, #0x400 bl func_ov00_020c5374 ldr r1, _0217321c ; =data_ov25_021795a0 mov r0, r5 bl func_ov14_021451f0 add r0, r5, #0x470 str r0, [r5, #0xa0] mov r0, #0x9f strh r0, [r5, #0x9c] mov r0, #0 str r0, [sp, #0xac] str r0, [sp, #0xb0] str r0, [sp, #0xb4] str r0, [sp, #0xb8] str r0, [sp, #0xbc] str r0, [sp, #0xc0] str r0, [sp] bic r0, r0, #0x6000 bic r3, r0, #0x1f add r0, r5, #0x550 ldr ip, [r0] ldr r2, [r5, #8] ldr ip, [ip, #0x14] add r1, sp, #0xac str r3, [sp, #0x24] blx ip mov r0, #0 strb r0, [r5, #0x555] ldr r0, _02173220 ; =data_027e0f6c add r1, r5, #0x550 ldr r0, [r0] bl func_ov00_02093a5c mvn r0, #0 str r0, [sp, #0x20] mov r0, #0 str r0, [sp, #0x1c] add r0, r5, #0x7c add r0, r0, #0x400 add r1, sp, #0x1c bl func_ov25_02175578 ldr r0, [r5, #8] mov r1, #0 str r0, [r5, #0x178] ldr r2, [r5, #0xc] sub r0, r1, #1 str r2, [r5, #0x17c] str r1, [r5, #0x54c] str r0, [r5, #0x580] ldrh r0, [r5, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02172e74 _02172df8: ; jump table b _02172e08 ; case 0 b _02172e24 ; case 1 b _02172e40 ; case 2 b _02172e5c ; case 3 _02172e08: add r0, r5, #0x1d8 mov r1, #0x81 mov r2, #0x85 bl func_ov14_02145a74 mov r0, #0x16 strh r0, [r5, #0x7a] b _02172e74 _02172e24: add r0, r5, #0x1d8 mov r1, #0x82 mov r2, #0x85 bl func_ov14_02145a74 mov r0, #0x17 strh r0, [r5, #0x7a] b _02172e74 _02172e40: add r0, r5, #0x1d8 mov r1, #0x83 mov r2, #0x85 bl func_ov14_02145a74 mov r0, #0x18 strh r0, [r5, #0x7a] b _02172e74 _02172e5c: add r0, r5, #0x1d8 mov r1, #0x84 mov r2, #0x85 bl func_ov14_02145a74 mov r0, #0x19 strh r0, [r5, #0x7a] _02172e74: ldr r0, _02173224 ; =data_ov25_0217953c ldr r1, _02173228 ; =func_ov25_021729ac str r0, [r5, #0x408] ldr r0, _0217322c ; =data_027e0f74 str r1, [r5, #0x414] ldr r0, [r0] mov r1, #0x3e bl func_ov00_02097760 cmp r0, #0 beq _02172eb8 mov r0, r5 bl func_ov00_020c3158 mov r0, r5 bl func_ov00_020c3180 add sp, sp, #0xc4 mov r0, #1 ldmia sp!, {r4, r5, pc} _02172eb8: ldr r0, [r5, #0x3c] cmp r0, #0 blt _021730e8 mov r0, r5 bl func_ov00_020c3158 ldrh r0, [r5, #0x20] cmp r0, #0 bne _02173088 ldr r0, _0217322c ; =data_027e0f74 mov r1, #0x23 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 mov r0, r5 beq _02172f2c bl func_ov25_02173370 ldr r0, [r5, #0x534] add r2, r5, #0x500 str r0, [r5, #0x48] ldr r1, [r5, #0x538] mov r0, r5 str r1, [r5, #0x4c] ldr r3, [r5, #0x53c] mov r1, #0x18 str r3, [r5, #0x50] ldrsh r2, [r2, #0x40] strh r2, [r5, #0x78] bl func_ov25_02173ab4 b _02172f34 _02172f2c: mov r1, #2 bl func_ov25_02173ab4 _02172f34: ldr r0, _0217322c ; =data_027e0f74 mov r1, #0x25 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02172fa4 mvn r1, #0 add r0, sp, #0x80 str r1, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x80 str r1, [sp, #0x9c] str r1, [sp, #0xa0] bl func_ov00_020c3348 mov r2, #1 mov r0, #0x18 strh r2, [sp, #0x80] str r0, [sp, #0xa4] add r1, sp, #0x14 str r1, [sp] ldr r0, _02173230 ; =data_027e0fe8 ldr r1, _02173234 ; =0x43425331 ldr r0, [r0] add r3, sp, #0x80 add r2, r5, #0x48 bl func_ov00_020c4048 _02172fa4: ldr r0, _0217322c ; =data_027e0f74 mov r1, #0x26 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02173014 mvn r1, #0 add r0, sp, #0x54 str r1, [sp, #0xc] str r1, [sp, #0x10] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x54 str r1, [sp, #0x70] str r1, [sp, #0x74] bl func_ov00_020c3348 mov r2, #2 mov r0, #0x18 strh r2, [sp, #0x54] str r0, [sp, #0x78] add r1, sp, #0xc str r1, [sp] ldr r0, _02173230 ; =data_027e0fe8 ldr r1, _02173234 ; =0x43425331 ldr r0, [r0] add r3, sp, #0x54 add r2, r5, #0x48 bl func_ov00_020c4048 _02173014: ldr r0, _0217322c ; =data_027e0f74 mov r1, #0x34 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02173210 mvn r1, #0 add r0, sp, #0x28 str r1, [sp, #4] str r1, [sp, #8] bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0x28 str r1, [sp, #0x44] str r1, [sp, #0x48] bl func_ov00_020c3348 mov r2, #3 mov r0, #0x18 strh r2, [sp, #0x28] str r0, [sp, #0x4c] add r1, sp, #4 str r1, [sp] ldr r0, _02173230 ; =data_027e0fe8 ldr r1, _02173234 ; =0x43425331 ldr r0, [r0] add r3, sp, #0x28 add r2, r5, #0x48 bl func_ov00_020c4048 b _02173210 _02173088: cmp r0, #1 beq _021730a4 cmp r0, #2 beq _021730ac cmp r0, #3 moveq r4, #0x34 b _021730b0 _021730a4: mov r4, #0x25 b _021730b0 _021730ac: mov r4, #0x26 _021730b0: ldr r0, _0217322c ; =data_027e0f74 mov r1, r4 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 mov r0, r5 beq _021730dc bl func_ov00_020c3180 add sp, sp, #0xc4 mov r0, #1 ldmia sp!, {r4, r5, pc} _021730dc: mov r1, #0 bl func_ov25_02173ab4 b _02173210 _021730e8: ldr r0, [r5, #0x140] cmp r0, #0x19 addls pc, pc, r0, lsl #2 b _02173210 _021730f8: ; jump table b _02173160 ; case 0 b _02173160 ; case 1 b _02173170 ; case 2 b _02173170 ; case 3 b _02173170 ; case 4 b _02173170 ; case 5 b _02173180 ; case 6 b _021731a8 ; case 7 b _021731b8 ; case 8 b _021731b8 ; case 9 b _021731b8 ; case 10 b _021731b8 ; case 11 b _021731c8 ; case 12 b _021731c8 ; case 13 b _021731c8 ; case 14 b _021731c8 ; case 15 b _021731c8 ; case 16 b _021731c8 ; case 17 b _021731c8 ; case 18 b _021731c8 ; case 19 b _021731d8 ; case 20 b _021731d8 ; case 21 b _021731d8 ; case 22 b _021731d8 ; case 23 b _021731d8 ; case 24 b _021731d8 ; case 25 _02173160: mov r0, r5 mov r1, #0 bl func_ov25_02173ab4 b _02173210 _02173170: mov r0, r5 mov r1, #2 bl func_ov25_02173ab4 b _02173210 _02173180: ldrh r0, [r5, #0x20] cmp r0, #3 mov r0, r5 bne _0217319c mov r1, #0 bl func_ov25_02173ab4 b _02173210 _0217319c: mov r1, #6 bl func_ov25_02173ab4 b _02173210 _021731a8: mov r0, r5 mov r1, #6 bl func_ov25_02173ab4 b _02173210 _021731b8: mov r0, r5 mov r1, #0xa bl func_ov25_02173ab4 b _02173210 _021731c8: mov r0, r5 mov r1, #0xc bl func_ov25_02173ab4 b _02173210 _021731d8: mov r0, r5 bl func_ov25_02173370 ldr r0, [r5, #0x534] add r2, r5, #0x500 str r0, [r5, #0x48] ldr r1, [r5, #0x538] mov r0, r5 str r1, [r5, #0x4c] ldr r3, [r5, #0x53c] mov r1, #0x18 str r3, [r5, #0x50] ldrsh r2, [r2, #0x40] strh r2, [r5, #0x78] bl func_ov25_02173ab4 _02173210: mov r0, #1 add sp, sp, #0xc4 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02172d10 _0217321c: .word data_ov25_021795a0 _02173220: .word data_027e0f6c _02173224: .word data_ov25_0217953c _02173228: .word func_ov25_021729ac _0217322c: .word data_027e0f74 _02173230: .word data_027e0fe8 _02173234: .word 0x43425331 .global func_ov25_02173238 arm_func_start func_ov25_02173238 func_ov25_02173238: ; 0x02173238 ldr r0, [r0, #0x130] sub r0, r0, #8 cmp r0, #3 movls r0, #1 movhi r0, #0 bx lr arm_func_end func_ov25_02173238 .global func_ov25_02173250 arm_func_start func_ov25_02173250 func_ov25_02173250: ; 0x02173250 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r1, #0 str r1, [r5, #0x60] str r1, [r5, #0x68] bl func_ov00_020c2974 ldrsh r1, [r5, #0x78] mov r4, r0 sub r0, r4, r1 bl func_02042f68 ldr r1, _021732b4 ; =0x00001555 cmp r0, r1 ble _02173294 ldr r2, _021732b8 ; =0x0000071c mov r1, r4 add r0, r5, #0x78 bl func_0202b154 _02173294: mov r0, r5 bl func_ov00_020c3070 mov r0, r5 bl func_ov25_02173354 mov r0, r5 mov r1, #0 bl func_01fffd04 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02173250 _021732b4: .word 0x00001555 _021732b8: .word 0x0000071c .global func_ov25_021732bc arm_func_start func_ov25_021732bc func_ov25_021732bc: ; 0x021732bc stmdb sp!, {r4, lr} mov r4, r0 ldr r2, _021732f8 ; =0x0000071c add r0, r4, #0x78 bl func_0202b154 mov r1, #0 str r1, [r4, #0x60] mov r0, r4 str r1, [r4, #0x68] bl func_ov00_020c3070 mov r0, r4 bl func_ov25_02173354 mov r0, r4 bl func_ov00_020c3094 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021732bc _021732f8: .word 0x0000071c .global func_ov25_021732fc arm_func_start func_ov25_021732fc func_ov25_021732fc: ; 0x021732fc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r3, _02173350 ; =0x0000071c mov r4, r0 str r3, [sp] add r0, r4, #0x60 str r0, [sp, #4] add r0, r4, #0x78 str r0, [sp, #8] ldrsh r3, [r4, #0x78] add r0, r4, #0x48 bl func_ov00_020c64d8 mov r0, r4 bl func_ov00_020c3070 mov r0, r4 bl func_ov25_02173354 mov r0, r4 mov r1, #0 bl func_01fffd04 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_021732fc _02173350: .word 0x0000071c .global func_ov25_02173354 arm_func_start func_ov25_02173354 func_ov25_02173354: ; 0x02173354 ldr ip, _0217336c ; =func_01ff9bc4 mov r2, r0 add r0, r2, #0x48 add r1, r2, #0x60 add r2, r2, #0x48 bx ip .align 2, 0 arm_func_end func_ov25_02173354 _0217336c: .word func_01ff9bc4 .global func_ov25_02173370 arm_func_start func_ov25_02173370 func_ov25_02173370: ; 0x02173370 stmdb sp!, {r4, lr} ldr r1, _02173458 ; =data_027e0ff0 mov ip, #0 ldr r1, [r1] ldr lr, [r1, #4] cmp lr, #0 ble _02173430 ldr r4, [r1] _02173390: ldr r2, [r4, ip, lsl #3] add r3, r4, ip, lsl #3 cmp r2, #0 beq _02173420 ldrb r1, [r2, #4] cmp r1, #0xd bne _02173420 ldrh r1, [r0, #0x20] ldrb r2, [r2, #1] mov r1, r1, lsl #0x18 cmp r2, r1, asr #24 mov ip, r1, asr #0x18 ble _021733f8 ldr r2, [r3, #4] mov r1, #0x24 mla r3, ip, r1, r2 ldr r2, [r3, #4] add r1, r0, #0x500 str r2, [r0, #0x534] ldr r2, [r3, #8] str r2, [r0, #0x538] ldr r2, [r3, #0xc] str r2, [r0, #0x53c] ldrsh r0, [r3, #2] strh r0, [r1, #0x40] ldmia sp!, {r4, pc} _021733f8: ldr r2, [r0, #0x48] add r1, r0, #0x500 str r2, [r0, #0x534] ldr r2, [r0, #0x4c] str r2, [r0, #0x538] ldr r2, [r0, #0x50] str r2, [r0, #0x53c] ldrsh r2, [r0, #0x78] strh r2, [r1, #0x40] b _02173430 _02173420: add r1, ip, #1 and ip, r1, #0xff cmp ip, lr blt _02173390 _02173430: ldr r2, [r0, #0x48] add r1, r0, #0x500 str r2, [r0, #0x534] ldr r2, [r0, #0x4c] str r2, [r0, #0x538] ldr r2, [r0, #0x50] str r2, [r0, #0x53c] ldrsh r0, [r0, #0x78] strh r0, [r1, #0x40] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02173370 _02173458: .word data_027e0ff0 .global func_ov25_0217345c arm_func_start func_ov25_0217345c func_ov25_0217345c: ; 0x0217345c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xd4 ldr r7, _02173580 ; =data_ov00_020e72f0 mov r4, #0 add r3, sp, #0xc0 mvn r5, #0 ldr r6, _02173584 ; =0x53504452 add r8, sp, #0xc mov r2, #0x10 mov sl, r0 mov sb, r1 str r7, [sp, #0x8c] str r6, [sp, #0x90] str r5, [sp, #0x94] str r5, [sp, #0x98] str r4, [sp, #0x9c] strb r4, [sp, #0xa0] strb r4, [sp, #0xbc] str r4, [r3, #0xc] str r4, [r3] str r4, [r3, #4] str r4, [r3, #8] str r8, [sp] str r2, [sp, #4] str r4, [sp, #8] add r0, sp, #0x8c _021734c4: str r5, [r8] str r5, [r8, #4] add r8, r8, #8 cmp r8, r0 blo _021734c4 ldr r0, _02173588 ; =data_027e0fe4 add r1, sp, #0x8c ldr r0, [r0] add r2, sp, #0 bl func_ov00_020c37ec mvn r0, #0 str r0, [sl] str r0, [sl, #4] ldr r0, [sp, #8] mov r5, #0x3000 cmp r0, #0 mov r6, #0 addle sp, sp, #0xd4 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr fp, _02173588 ; =data_027e0fe4 mov r8, r6 _02173518: ldr r1, [sp] ldr r0, [fp] add r7, r1, r8 mov r1, r7 bl func_ov00_020c3674 mov r4, r0 bl func_ov25_02178cf0 cmp r0, #0 beq _02173564 mov r0, sb add r1, r4, #0x48 bl func_ov00_020c288c cmp r5, r0 ble _02173564 ldr r1, [r7] mov r5, r0 str r1, [sl] ldr r0, [r7, #4] str r0, [sl, #4] _02173564: ldr r0, [sp, #8] add r6, r6, #1 cmp r6, r0 add r8, r8, #8 blt _02173518 add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov25_0217345c _02173580: .word data_ov00_020e72f0 _02173584: .word 0x53504452 _02173588: .word data_027e0fe4 .global func_ov25_0217358c arm_func_start func_ov25_0217358c func_ov25_0217358c: ; 0x0217358c stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 add r0, sp, #0 mov r1, r4 bl func_ov25_0217345c ldr r1, [sp] mvn r0, #0 cmp r1, r0 ldrne r0, [r4, #0x54c] addne r0, r0, #1 moveq r0, #0 str r0, [r4, #0x54c] ldr r0, [r4, #0x54c] cmp r0, #0xa addle sp, sp, #8 movle r0, #0 ldmleia sp!, {r4, pc} ldr r1, [sp] mov r0, #1 str r1, [r4, #0x544] ldr r1, [sp, #4] str r1, [r4, #0x548] add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov25_0217358c .global func_ov25_021735f0 arm_func_start func_ov25_021735f0 func_ov25_021735f0: ; 0x021735f0 ldr r0, _02173600 ; =data_027e10b4 ldr ip, _02173604 ; =func_ov30_02183f78 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov25_021735f0 _02173600: .word data_027e10b4 _02173604: .word func_ov30_02183f78 .global func_ov25_02173608 arm_func_start func_ov25_02173608 func_ov25_02173608: ; 0x02173608 ldr r1, [r0, #0x130] cmp r1, #0xc bgt _02173638 bge _021736b0 cmp r1, #6 bgt _02173708 cmp r1, #2 blt _02173708 beq _02173668 cmp r1, #6 beq _021736a8 b _02173708 _02173638: cmp r1, #0x14 bgt _02173648 beq _021736f8 b _02173708 _02173648: cmp r1, #0x18 bgt _02173708 cmp r1, #0x15 blt _02173708 beq _02173700 cmp r1, #0x18 beq _021736b8 b _02173708 _02173668: ldrh r0, [r0, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02173708 _02173678: ; jump table b _02173688 ; case 0 b _02173690 ; case 1 b _02173698 ; case 2 b _021736a0 ; case 3 _02173688: ldr r0, _02173710 ; =0x00710002 bx lr _02173690: ldr r0, _02173714 ; =0x00710003 bx lr _02173698: ldr r0, _02173718 ; =0x00710004 bx lr _021736a0: mov r0, #0 bx lr _021736a8: ldr r0, _0217371c ; =0x00710005 bx lr _021736b0: ldr r0, _02173720 ; =0x00710006 bx lr _021736b8: ldrh r0, [r0, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02173708 _021736c8: ; jump table b _021736d8 ; case 0 b _021736e0 ; case 1 b _021736e8 ; case 2 b _021736f0 ; case 3 _021736d8: ldr r0, _02173710 ; =0x00710002 bx lr _021736e0: ldr r0, _02173714 ; =0x00710003 bx lr _021736e8: ldr r0, _02173718 ; =0x00710004 bx lr _021736f0: mov r0, #0 bx lr _021736f8: ldr r0, _02173724 ; =0x00710007 bx lr _02173700: ldr r0, _02173724 ; =0x00710007 bx lr _02173708: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov25_02173608 _02173710: .word 0x00710002 _02173714: .word 0x00710003 _02173718: .word 0x00710004 _0217371c: .word 0x00710005 _02173720: .word 0x00710006 _02173724: .word 0x00710007 .global func_ov25_02173728 arm_func_start func_ov25_02173728 func_ov25_02173728: ; 0x02173728 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x74 ldr r1, _02173a3c ; =data_027e0fe4 mvn r8, #0 mov r4, r0 mov r7, #0 add r6, sp, #0x60 ldr lr, _02173a40 ; =data_ov00_020e72f0 ldr ip, _02173a44 ; =0x43425331 ldr r0, [r1] add r5, sp, #0xc mov r3, #4 add r1, sp, #0x2c add r2, sp, #0 str r8, [sp, #0xc] str r8, [sp, #0x10] str r8, [sp, #0x14] str r8, [sp, #0x18] str r8, [sp, #0x1c] str r8, [sp, #0x20] str r8, [sp, #0x24] str r8, [sp, #0x28] str lr, [sp, #0x2c] str ip, [sp, #0x30] str r8, [sp, #0x34] str r8, [sp, #0x38] str r7, [sp, #0x3c] strb r7, [sp, #0x40] strb r7, [sp, #0x5c] str r7, [r6, #0xc] str r7, [r6] str r7, [r6, #4] str r7, [r6, #8] str r5, [sp] str r3, [sp, #4] str r7, [sp, #8] bl func_ov00_020c37ec cmp r0, #0 ble _02173a30 ldrh r0, [r4, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02173a30 _021737d4: ; jump table b _021737e4 ; case 0 b _02173878 ; case 1 b _0217390c ; case 2 b _021739a0 ; case 3 _021737e4: ldr r0, [sp, #8] mov r5, r7 cmp r0, #0 ble _02173a30 ldr r7, _02173a3c ; =data_027e0fe4 add r6, sp, #0xc _021737fc: ldr r0, [r7] mov r1, r6 bl func_ov00_020c3674 ldrh r1, [r0, #0x20] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02173860 _02173818: ; jump table b _02173860 ; case 0 b _02173828 ; case 1 b _0217383c ; case 2 b _02173850 ; case 3 _02173828: ldr r1, [r0, #8] str r1, [r4, #0x180] ldr r0, [r0, #0xc] str r0, [r4, #0x184] b _02173860 _0217383c: ldr r1, [r0, #8] str r1, [r4, #0x188] ldr r0, [r0, #0xc] str r0, [r4, #0x18c] b _02173860 _02173850: ldr r1, [r0, #8] str r1, [r4, #0x190] ldr r0, [r0, #0xc] str r0, [r4, #0x194] _02173860: ldr r0, [sp, #8] add r5, r5, #1 cmp r5, r0 add r6, r6, #8 blt _021737fc b _02173a30 _02173878: ldr r0, [sp, #8] mov r5, r7 cmp r0, #0 ble _02173a30 ldr r7, _02173a3c ; =data_027e0fe4 add r6, sp, #0xc _02173890: ldr r0, [r7] mov r1, r6 bl func_ov00_020c3674 ldrh r1, [r0, #0x20] cmp r1, #3 addls pc, pc, r1, lsl #2 b _021738f4 _021738ac: ; jump table b _021738bc ; case 0 b _021738f4 ; case 1 b _021738d0 ; case 2 b _021738e4 ; case 3 _021738bc: ldr r1, [r0, #8] str r1, [r4, #0x180] ldr r0, [r0, #0xc] str r0, [r4, #0x184] b _021738f4 _021738d0: ldr r1, [r0, #8] str r1, [r4, #0x188] ldr r0, [r0, #0xc] str r0, [r4, #0x18c] b _021738f4 _021738e4: ldr r1, [r0, #8] str r1, [r4, #0x190] ldr r0, [r0, #0xc] str r0, [r4, #0x194] _021738f4: ldr r0, [sp, #8] add r5, r5, #1 cmp r5, r0 add r6, r6, #8 blt _02173890 b _02173a30 _0217390c: ldr r0, [sp, #8] mov r5, r7 cmp r0, #0 ble _02173a30 ldr r7, _02173a3c ; =data_027e0fe4 add r6, sp, #0xc _02173924: ldr r0, [r7] mov r1, r6 bl func_ov00_020c3674 ldrh r1, [r0, #0x20] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02173988 _02173940: ; jump table b _02173950 ; case 0 b _02173964 ; case 1 b _02173988 ; case 2 b _02173978 ; case 3 _02173950: ldr r1, [r0, #8] str r1, [r4, #0x180] ldr r0, [r0, #0xc] str r0, [r4, #0x184] b _02173988 _02173964: ldr r1, [r0, #8] str r1, [r4, #0x188] ldr r0, [r0, #0xc] str r0, [r4, #0x18c] b _02173988 _02173978: ldr r1, [r0, #8] str r1, [r4, #0x190] ldr r0, [r0, #0xc] str r0, [r4, #0x194] _02173988: ldr r0, [sp, #8] add r5, r5, #1 cmp r5, r0 add r6, r6, #8 blt _02173924 b _02173a30 _021739a0: ldr r0, [sp, #8] mov r5, r7 cmp r0, #0 ble _02173a30 ldr r7, _02173a3c ; =data_027e0fe4 add r6, sp, #0xc _021739b8: ldr r0, [r7] mov r1, r6 bl func_ov00_020c3674 ldrh r1, [r0, #0x20] cmp r1, #3 addls pc, pc, r1, lsl #2 b _02173a1c _021739d4: ; jump table b _021739e4 ; case 0 b _021739f8 ; case 1 b _02173a0c ; case 2 b _02173a1c ; case 3 _021739e4: ldr r1, [r0, #8] str r1, [r4, #0x180] ldr r0, [r0, #0xc] str r0, [r4, #0x184] b _02173a1c _021739f8: ldr r1, [r0, #8] str r1, [r4, #0x188] ldr r0, [r0, #0xc] str r0, [r4, #0x18c] b _02173a1c _02173a0c: ldr r1, [r0, #8] str r1, [r4, #0x190] ldr r0, [r0, #0xc] str r0, [r4, #0x194] _02173a1c: ldr r0, [sp, #8] add r5, r5, #1 cmp r5, r0 add r6, r6, #8 blt _021739b8 _02173a30: mov r0, #1 add sp, sp, #0x74 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov25_02173728 _02173a3c: .word data_027e0fe4 _02173a40: .word data_ov00_020e72f0 _02173a44: .word 0x43425331 .global func_ov25_02173a48 arm_func_start func_ov25_02173a48 func_ov25_02173a48: ; 0x02173a48 stmdb sp!, {r3, lr} cmp r1, #0 beq _02173a60 cmp r1, #1 beq _02173a98 b _02173aa8 _02173a60: ldr r1, _02173ab0 ; =data_ov00_020e8b08 ldr r2, [r0, #8] ldr r3, [r1] ldrb r1, [r3, #0x55] add r1, r3, r1, lsl #3 ldr r1, [r1, #0x20] ldr r3, [r0] cmp r2, r1 moveq r1, #1 ldr r3, [r3, #0xf0] movne r1, #0 mov r2, #0 blx r3 b _02173aa8 _02173a98: ldr r2, [r0] mov r1, #6 ldr r2, [r2, #0xec] blx r2 _02173aa8: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02173a48 _02173ab0: .word data_ov00_020e8b08 .global func_ov25_02173ab4 arm_func_start func_ov25_02173ab4 func_ov25_02173ab4: ; 0x02173ab4 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r2, #0 str r2, [r4, #0x138] ldr r3, [r4, #0x130] cmp r1, #0x19 str r3, [r4, #0x134] str r1, [r4, #0x130] addls pc, pc, r1, lsl #2 ldmia sp!, {r4, r5, r6, pc} _02173adc: ; jump table b _02173b44 ; case 0 b _02173b50 ; case 1 b _02173b5c ; case 2 b _02173bb8 ; case 3 b _02173be4 ; case 4 b _02173c08 ; case 5 b _02173c18 ; case 6 b _02173c48 ; case 7 b _02173c58 ; case 8 b _02173c9c ; case 9 b _02173ccc ; case 10 b _02173d14 ; case 11 b _02173d5c ; case 12 b _02173dbc ; case 13 b _02173de8 ; case 14 b _02173df0 ; case 15 b _02173e00 ; case 16 ldmia sp!, {r4, r5, r6, pc} ; case 17 b _02173f0c ; case 18 b _02173f9c ; case 19 ldmia sp!, {r4, r5, r6, pc} ; case 20 ldmia sp!, {r4, r5, r6, pc} ; case 21 b _02173fa4 ; case 22 b _02173fc8 ; case 23 b _02173fe4 ; case 24 b _0217400c ; case 25 _02173b44: strb r2, [r4, #0x11a] str r2, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173b50: strb r2, [r4, #0x11a] str r2, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173b5c: add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #3 bl func_ov14_02145e48 ldr r1, [r4, #0x1e8] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, #5 str r0, [r4, #0x12c] mov r0, #1 strb r0, [r4, #0x11a] ldrsh r0, [r4, #0x78] cmp r0, #0 mov r0, #0x2000 strgeh r0, [r4, #0x78] rsblt r0, r0, #0 strlth r0, [r4, #0x78] ldmia sp!, {r4, r5, r6, pc} _02173bb8: add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #3 bl func_ov14_02145e48 ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173be4: add r0, r4, #0x1d8 mov r1, #4 bl func_ov14_02145e48 ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173c08: bl func_ov14_0214591c mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173c18: mov r1, r2 add r0, r4, #0x1d8 bl func_ov14_02145f0c mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, #5 str r0, [r4, #0x12c] mov r0, #1 strb r0, [r4, #0x11a] ldmia sp!, {r4, r5, r6, pc} _02173c48: bl func_ov14_0214591c mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173c58: add r0, r4, #0x1d8 mov r1, #5 bl func_ov14_02145e48 add r0, r4, #0x7c ldr r1, [r4, #0x1e8] mov r2, #0x1000 str r2, [r1, #0x10] mov r1, #0 add r0, r0, #0x400 str r1, [r4, #0x12c] bl func_ov25_02175598 ldr r0, _0217401c ; =data_027e0f74 mov r1, #0x150 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173c9c: add r0, r4, #0x1d8 mov r1, #5 bl func_ov14_02145e48 ldr r1, [r4, #0x1e8] mov r2, #0x1000 str r2, [r1, #0x10] ldr r0, _0217401c ; =data_027e0f74 mov r1, #0x150 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173ccc: add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #0 bl func_ov14_02145e48 ldr r1, [r4, #0x1e8] mov r2, #0x1000 str r2, [r1, #0x10] mov r1, #0 mov r0, r4 str r1, [r4, #0x12c] bl func_ov00_020c29d8 ldr r0, _0217401c ; =data_027e0f74 mov r1, #0x150 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173d14: add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #0 bl func_ov14_02145e48 ldr r1, [r4, #0x1e8] mov r2, #0x1000 str r2, [r1, #0x10] mov r1, #0 mov r0, r4 str r1, [r4, #0x12c] bl func_ov00_020c29d8 ldr r0, _0217401c ; =data_027e0f74 mov r1, #0x150 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173d5c: add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #3 bl func_ov14_02145e48 ldr r1, [r4, #0x1e8] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 ldrsh r0, [r4, #0x78] mov r2, #0 mov r1, #0x150 cmp r0, #0 mov r0, #0x2000 rsblt r0, r0, #0 strh r0, [r4, #0x78] ldr r0, _0217401c ; =data_027e0f74 strb r2, [r4, #0x285] ldr r0, [r0] bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173dbc: add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #3 bl func_ov14_02145e48 ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173de8: str r2, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173df0: bl func_ov14_0214591c mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _02173e00: ldr r0, _02174020 ; =data_027e0764 mov r2, r2, lsl #0x2 ldr ip, [r0] ldmib r0, {r3, lr} umull r6, r5, lr, ip mla r5, lr, r3, r5 ldr r3, [r0, #0xc] ldr lr, [r0, #0x10] mla r5, r3, ip, r5 ldr r3, [r0, #0x14] adds r6, lr, r6 adc r3, r3, r5 str r6, [r0] orr r2, r2, r3, lsr #30 str r3, [r0, #4] cmp r2, #3 addls pc, pc, r2, lsl #2 b _02173e74 _02173e48: ; jump table b _02173e58 ; case 0 b _02173e60 ; case 1 b _02173e68 ; case 2 b _02173e70 ; case 3 _02173e58: ldr r1, _02174024 ; =0x000e0059 b _02173e74 _02173e60: ldr r1, _02174028 ; =0x000e005a b _02173e74 _02173e68: ldr r1, _0217402c ; =0x000e005b b _02173e74 _02173e70: ldr r1, _02174030 ; =0x000e005c _02173e74: ldr r0, _02174034 ; =data_027e0c68 add r2, r4, #0x48 mov r3, #0 bl func_02036da8 ldr r0, _02174038 ; =data_027e0ffc ldr r1, _0217403c ; =0x000002e1 add r2, r4, #0x48 mov r3, #0 bl func_ov00_020ceacc add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #7 bl func_ov14_02145e48 add r1, r4, #0x144 ldr r0, [r4, #0x1e8] mov r2, #0x1000 str r2, [r0, #0x10] mov r2, #0 ldr r0, _02174040 ; =data_027e0fe4 str r2, [r4, #0x12c] ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020c3674 add r1, r0, #0x48 mov r0, r4 bl func_ov00_020c2938 cmp r0, #0 mov r0, #0x2000 rsblt r0, r0, #0 strh r0, [r4, #0x78] mov r2, #0 ldr r0, _0217401c ; =data_027e0f74 strb r2, [r4, #0x285] ldr r0, [r0] mov r1, #0x150 bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173f0c: ldr r0, _02174034 ; =data_027e0c68 ldr r1, _02174044 ; =0x0071002d bl func_020370d0 add r0, r4, #0x1d8 bl func_ov14_021460b8 add r0, r4, #0x1d8 mov r1, #7 bl func_ov14_02145e48 ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] mov r3, #0 ldr r0, _02174038 ; =data_027e0ffc ldr r1, _0217403c ; =0x000002e1 add r2, r4, #0x48 str r3, [r4, #0x12c] bl func_ov00_020ceacc ldr r0, _02174040 ; =data_027e0fe4 add r1, r4, #0x144 ldr r0, [r0] add r1, r1, #0x400 bl func_ov00_020c3674 add r1, r0, #0x48 mov r0, r4 bl func_ov00_020c2938 cmp r0, #0 mov r0, #0x2000 rsblt r0, r0, #0 strh r0, [r4, #0x78] mov r2, #0 ldr r0, _0217401c ; =data_027e0f74 strb r2, [r4, #0x285] ldr r0, [r0] mov r1, #0x150 bl func_ov00_0209779c ldmia sp!, {r4, r5, r6, pc} _02173f9c: bl func_ov25_02175464 ldmia sp!, {r4, r5, r6, pc} _02173fa4: add r0, r4, #0x1d8 mov r1, #5 bl func_ov14_02145e48 ldr r1, [r4, #0x1e8] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_02173370 ldmia sp!, {r4, r5, r6, pc} _02173fc8: add r0, r4, #0x1d8 mov r1, #5 bl func_ov14_02145e48 ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, r5, r6, pc} _02173fe4: mov r1, r2 add r0, r4, #0x1d8 bl func_ov14_02145f0c mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, #5 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} _0217400c: bl func_ov14_0214591c mov r0, #0 str r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02173ab4 _0217401c: .word data_027e0f74 _02174020: .word data_027e0764 _02174024: .word 0x000e0059 _02174028: .word 0x000e005a _0217402c: .word 0x000e005b _02174030: .word 0x000e005c _02174034: .word data_027e0c68 _02174038: .word data_027e0ffc _0217403c: .word 0x000002e1 _02174040: .word data_027e0fe4 _02174044: .word 0x0071002d .global func_ov25_02174048 arm_func_start func_ov25_02174048 func_ov25_02174048: ; 0x02174048 stmdb sp!, {r3, lr} ldr r1, [r0, #0x130] cmp r1, #2 bne _02174064 mov r1, #3 bl func_ov25_02173ab4 ldmia sp!, {r3, pc} _02174064: cmp r1, #6 bne _02174078 mov r1, #7 bl func_ov25_02173ab4 ldmia sp!, {r3, pc} _02174078: cmp r1, #0x18 bne _0217408c mov r1, #0x19 bl func_ov25_02173ab4 ldmia sp!, {r3, pc} _0217408c: cmp r1, #0xc ldmneia sp!, {r3, pc} mov r1, #0xd bl func_ov25_02173ab4 ldmia sp!, {r3, pc} arm_func_end func_ov25_02174048 .global func_ov25_021740a0 arm_func_start func_ov25_021740a0 func_ov25_021740a0: ; 0x021740a0 stmdb sp!, {r3, lr} cmp r1, #1 bne _021740f8 ldr r1, [r0, #0x130] cmp r1, #3 bne _021740c8 mov r1, #4 bl func_ov25_02173ab4 mov r0, #0 ldmia sp!, {r3, pc} _021740c8: cmp r1, #5 moveq r0, #1 ldmeqia sp!, {r3, pc} cmp r1, #0xd bne _021740ec mov r1, #0xe bl func_ov25_02173ab4 mov r0, #0 ldmia sp!, {r3, pc} _021740ec: cmp r1, #0xf moveq r0, #1 ldmeqia sp!, {r3, pc} _021740f8: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov25_021740a0 .global func_ov25_02174100 arm_func_start func_ov25_02174100 func_ov25_02174100: ; 0x02174100 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x340 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 r2, #0 add r0, r4, #0x400 strh r2, [r0, #0x78] ldr r1, [r4, #0x4c] sub r0, r2, #0xa000 cmp r1, r0 bge _02174178 add r0, r4, #0x17c add r0, r0, #0x400 add r1, r4, #0x48 bl func_ov00_020c5330 ldr r1, [r4, #0x48] mov r0, r4 str r1, [r4, #0x54] ldr r2, [r4, #0x4c] mov r1, #0xc str r2, [r4, #0x58] ldr r2, [r4, #0x50] str r2, [r4, #0x5c] bl func_ov25_02173ab4 _02174178: ldr r0, [r4, #0x130] sub r0, r0, #8 cmp r0, #3 addls pc, pc, r0, lsl #2 b _021741f4 _0217418c: ; jump table b _0217419c ; case 0 b _0217419c ; case 1 b _0217419c ; case 2 b _0217419c ; case 3 _0217419c: mov r0, r4 bl func_ov25_0217358c cmp r0, #0 beq _021741f4 ldr r0, _02175074 ; =data_027e0f74 ldr r1, _02175078 ; =0x00000152 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 bne _021741e8 ldr r0, _02175074 ; =data_027e0f74 ldr r1, _02175078 ; =0x00000152 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c mov r0, r4 mov r1, #0x11 bl func_ov25_02173ab4 b _021741f4 _021741e8: mov r0, r4 mov r1, #0x10 bl func_ov25_02173ab4 _021741f4: ldr r0, [r4, #0x130] cmp r0, #8 cmpne r0, #9 cmpne r0, #0xa bne _02174248 ldr r1, [r4, #0x48] ldr r0, _0217507c ; =data_027e0e60 str r1, [sp, #0xe8] ldr r1, [r4, #0x4c] ldr r0, [r0] str r1, [sp, #0xec] ldr r3, [r4, #0x50] add r2, sp, #0xe8 mov r1, #0xd str r3, [sp, #0xf0] bl func_ov00_02083770 cmp r0, #0 beq _02174248 mov r0, r4 mov r1, #0x14 bl func_ov25_02173ab4 _02174248: ldr r0, [r4, #0x130] cmp r0, #0x19 addls pc, pc, r0, lsl #2 b _02175114 _02174258: ; jump table b _021742c0 ; case 0 b _02174374 ; case 1 b _021743e4 ; case 2 b _021743f0 ; case 3 b _021743fc ; case 4 b _02174428 ; case 5 b _02174480 ; case 6 b _021744b8 ; case 7 b _02174510 ; case 8 b _021746a8 ; case 9 b _021747b8 ; case 10 b _0217480c ; case 11 b _021748f4 ; case 12 b _02174970 ; case 13 b _0217497c ; case 14 b _021749f4 ; case 15 b _02174a4c ; case 16 b _02174aa4 ; case 17 b _02174cd0 ; case 18 b _02174d14 ; case 19 b _02174d3c ; case 20 b _02174ee8 ; case 21 b _02174f90 ; case 22 b _02174ffc ; case 23 b _0217503c ; case 24 b _021750c0 ; case 25 _021742c0: ldrh r0, [r4, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _021742f4 _021742d0: ; jump table b _021742f4 ; case 0 b _021742e0 ; case 1 b _021742e8 ; case 2 b _021742f0 ; case 3 _021742e0: mov r5, #0x23 b _021742f4 _021742e8: mov r5, #0x25 b _021742f4 _021742f0: mov r5, #0x26 _021742f4: ldr r0, _02175074 ; =data_027e0f74 mov r1, r5 ldr r0, [r0] bl func_ov00_02097760 cmp r0, #0 beq _02175114 ldrh r0, [r4, #0x20] cmp r0, #3 beq _02174328 mov r0, r4 mov r1, #6 bl func_ov25_02173ab4 b _02175114 _02174328: mov r2, #0 add r1, sp, #0x10 add r0, r4, #0x48 strb r2, [sp, #0x10] strb r2, [sp, #0x11] bl func_ov00_020c5374 ldr r0, _0217507c ; =data_027e0e60 add r1, sp, #0x10 ldr r0, [r0] bl func_ov00_020840c4 cmp r0, #0 mov r0, r4 bne _02174368 mov r1, #6 bl func_ov25_02173ab4 b _02175114 _02174368: mov r1, #1 bl func_ov25_02173ab4 b _02175114 _02174374: mov r2, #0 add r1, sp, #0xe add r0, r4, #0x48 strb r2, [sp, #0xe] strb r2, [sp, #0xf] bl func_ov00_020c5374 ldr r0, _0217507c ; =data_027e0e60 add r1, sp, #0xe ldr r0, [r0] bl func_ov00_020840c4 cmp r0, #0 beq _021743d4 ldr r5, [r4, #0x138] ldr r3, _02175080 ; =0xb60b60b7 mov r1, r5, lsr #0x1f smull r2, r6, r3, r5 add r6, r5, r6 add r6, r1, r6, asr #6 mov r3, #0x5a smull r1, r2, r3, r6 subs r6, r5, r1 bne _02175114 bl func_ov25_02177250 b _02175114 _021743d4: mov r0, r4 mov r1, #6 bl func_ov25_02173ab4 b _02175114 _021743e4: mov r0, r4 bl func_ov14_021452b0 b _02175114 _021743f0: mov r0, r4 bl func_ov14_021452b0 b _02175114 _021743fc: mov r0, r4 bl func_ov14_021452b0 ldr r0, [r4, #0x1e8] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #5 bl func_ov25_02173ab4 b _02175114 _02174428: ldr r0, [r4, #0x1f4] add r1, sp, #0x94 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x94 ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov14_02145318 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #0x18 bl func_ov25_02173ab4 b _02175114 _02174480: ldr r0, [r4, #0x1f4] add r1, sp, #0x88 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r4, #0x1f4] add r1, sp, #0x88 ldrsh r3, [r2, #0x78] add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c mov r0, r4 bl func_ov14_021452b0 b _02175114 _021744b8: ldr r0, [r4, #0x1f4] add r1, sp, #0x7c ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x7c ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov14_02145318 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #0xa bl func_ov25_02173ab4 b _02175114 _02174510: ldr r0, [r4, #0x1f4] add r1, sp, #0x70 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x70 ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov00_020c28ec add r1, r4, #0x7c mov r5, r0 add r0, r1, #0x400 bl func_ov25_02175638 add r0, r4, #0x7c add r1, sp, #0x148 add r0, r0, #0x400 bl func_ov25_021759c0 cmp r0, #0 beq _021745e0 add r1, sp, #0x148 mov r0, r4 bl func_ov00_020c288c cmp r0, #0x800 bge _02174588 add r0, r4, #0x7c add r0, r0, #0x400 bl func_ov25_02175a58 _02174588: sub r0, r5, #0x1000 mov r1, #0x2000 bl func_01ff98e0 cmp r0, #0x1000 movgt r0, #0x1000 bgt _021745a8 cmp r0, #0 movlt r0, #0 _021745a8: ldr r1, _02175084 ; =0x00000171 mov r2, #0 umull r6, r3, r0, r1 mla r3, r0, r2, r3 mov r0, r0, asr #0x1f mla r3, r0, r1, r3 adds r2, r6, #0x800 adc r0, r3, #0 mov r2, r2, lsr #0xc orr r2, r2, r0, lsl #20 add r1, sp, #0x148 mov r0, r4 add r2, r2, #0x7b bl func_ov25_021732fc _021745e0: ldr r1, _02175088 ; =data_027e0f94 ldr r0, _0217507c ; =data_027e0e60 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xdc] str r2, [sp, #0xe0] ldr r2, [r1, #8] add r1, sp, #0xdc str r2, [sp, #0xe4] ldr r3, [r4, #0x48] add r2, sp, #0xd0 str r3, [sp, #0xd0] ldr r6, [r4, #0x4c] ldr r3, _0217508c ; =0x00000555 str r6, [sp, #0xd4] ldr r6, [r4, #0x50] str r6, [sp, #0xd8] ldr r6, [r4, #8] str r6, [sp] ldrh r6, [r4, #0x9c] str r6, [sp, #4] ldr r6, [r4, #0xa0] str r6, [sp, #8] ldr r0, [r0] bl func_01ffe1cc mov r6, r0 mov r0, r4 mov r1, #0x3000 bl func_ov00_020c29ec cmp r0, #0 beq _0217466c mov r0, r4 mov r1, #0xb bl func_ov25_02173ab4 b _02175114 _0217466c: cmp r5, #0x5000 ble _02174684 mov r0, r4 mov r1, #0xc bl func_ov25_02173ab4 b _02175114 _02174684: ldr r0, _02175090 ; =0x00001333 cmp r5, r0 bge _02175114 cmp r6, #0 bne _02175114 mov r0, r4 mov r1, #9 bl func_ov25_02173ab4 b _02175114 _021746a8: ldr r0, [r4, #0x1f4] add r1, sp, #0x64 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x64 ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c ldr r1, _02175088 ; =data_027e0f94 mov r0, r4 mov r2, #0x7b bl func_ov25_021732fc ldr r1, _02175088 ; =data_027e0f94 ldr r0, _0217507c ; =data_027e0e60 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xc4] str r2, [sp, #0xc8] ldr r2, [r1, #8] add r1, sp, #0xc4 str r2, [sp, #0xcc] ldr r3, [r4, #0x48] add r2, sp, #0xb8 str r3, [sp, #0xb8] ldr r5, [r4, #0x4c] ldr r3, _0217508c ; =0x00000555 str r5, [sp, #0xbc] ldr r5, [r4, #0x50] str r5, [sp, #0xc0] ldr r5, [r4, #8] str r5, [sp] ldrh r5, [r4, #0x9c] str r5, [sp, #4] ldr r5, [r4, #0xa0] str r5, [sp, #8] ldr r0, [r0] bl func_01ffe1cc mov r6, r0 mov r0, r4 bl func_ov00_020c28ec mov r5, r0 mov r0, r4 mov r1, #0x3000 bl func_ov00_020c29ec cmp r0, #0 beq _02174778 mov r0, r4 mov r1, #0xb bl func_ov25_02173ab4 b _02175114 _02174778: ldr r0, _02175090 ; =0x00001333 cmp r5, r0 bgt _0217478c cmp r6, #0 beq _0217479c _0217478c: mov r0, r4 mov r1, #8 bl func_ov25_02173ab4 b _02175114 _0217479c: rsb r0, r0, #0x2000 cmp r5, r0 bge _02175114 mov r0, r4 mov r1, #0xa bl func_ov25_02173ab4 b _02175114 _021747b8: ldr r0, [r4, #0x1f4] add r1, sp, #0x58 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x58 ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov25_02173250 mov r0, r4 bl func_ov00_020c28ec ldr r1, _02175090 ; =0x00001333 cmp r0, r1 ble _02175114 mov r0, r4 mov r1, #9 bl func_ov25_02173ab4 b _02175114 _0217480c: ldr r0, [r4, #0x1f4] add r1, sp, #0x4c ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x4c ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov25_02173250 ldr r1, _02175088 ; =data_027e0f94 ldr r0, _0217507c ; =data_027e0e60 ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0xac] str r2, [sp, #0xb0] ldr r2, [r1, #8] add r1, sp, #0xac str r2, [sp, #0xb4] ldr r3, [r4, #0x48] add r2, sp, #0xa0 str r3, [sp, #0xa0] ldr r5, [r4, #0x4c] ldr r3, _02175094 ; =0x000002aa str r5, [sp, #0xa4] ldr r5, [r4, #0x50] str r5, [sp, #0xa8] ldr r5, [r4, #8] str r5, [sp] ldrh r5, [r4, #0x9c] str r5, [sp, #4] ldr r5, [r4, #0xa0] str r5, [sp, #8] ldr r0, [r0] bl func_01ffe1cc mov r5, r0 mov r0, r4 bl func_ov00_020c28ec mov r6, r0 mov r0, r4 bl func_ov00_020c28ec ldr r1, _02175090 ; =0x00001333 cmp r0, r1 ble _021748dc cmp r5, #0 bne _021748dc mov r0, r4 mov r1, #9 bl func_ov25_02173ab4 b _02175114 _021748dc: cmp r6, #0x5000 ble _02175114 mov r0, r4 mov r1, #0xc bl func_ov25_02173ab4 b _02175114 _021748f4: mov r0, r4 bl func_ov14_021452b0 mov r0, r4 bl func_ov00_020c28ec mov r5, r0 add r0, sp, #0x14 mov r1, r4 bl func_ov25_0217345c ldr r1, [sp, #0x14] mvn r0, #0 cmp r1, r0 bne _02174964 mov r0, #5 str r0, [r4, #0x12c] cmp r5, #0x5000 bge _02175114 ldr r1, _02175098 ; =data_ov00_020eed2c ldr r0, _0217509c ; =0x00000bb8 ldrh r1, [r1, #2] cmp r1, r0 bls _02175114 mov r0, r4 mov r1, #0 bl func_ov00_020c1908 mov r0, r4 mov r1, #8 bl func_ov25_02173ab4 b _02175114 _02174964: mov r0, #0 str r0, [r4, #0x12c] b _02175114 _02174970: mov r0, r4 bl func_ov14_021452b0 b _02175114 _0217497c: mov r0, r4 bl func_ov14_021452b0 ldr r0, [r4, #0x428] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #3 bne _021749c8 ldr r0, [r4, #0x1e8] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02175114 add r0, r4, #0x1d8 mov r1, #4 bl func_ov14_02145e48 ldr r0, [r4, #0x1e8] mov r1, #0x1000 str r1, [r0, #0x10] b _02175114 _021749c8: cmp r0, #4 bne _02175114 ldr r0, [r4, #0x1e8] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #0xf bl func_ov25_02173ab4 b _02175114 _021749f4: ldr r0, [r4, #0x1f4] add r1, sp, #0x40 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x40 ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov14_02145318 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #8 bl func_ov25_02173ab4 b _02175114 _02174a4c: mov r0, r4 bl func_ov14_021452b0 mov r0, r4 bl func_ov25_021735f0 ldr r0, [r4, #0x1e8] mov r1, #0xe000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02175114 ldr r0, [r4, #0x138] cmp r0, #0x1e ble _02175114 mvn r1, #0 str r1, [r4, #0x544] mov r0, r4 str r1, [r4, #0x548] mov r2, #0 mov r1, #0xc str r2, [r4, #0x54c] bl func_ov25_02173ab4 b _02175114 _02174aa4: mov r0, r4 bl func_ov25_0217542c cmp r0, #0 mov r0, r4 bne _02174cb4 bl func_ov25_021753e0 cmp r0, #0 beq _02175114 add r0, sp, #0x290 bl func_ov00_0209a4f4 ldr r0, _021750a0 ; =data_027e0f64 mvn r2, #0 mov r1, #0x64 strb r1, [sp, #0x299] ldr r0, [r0] str r2, [sp, #0x294] ldr r0, [r0, #4] add r1, sp, #0x228 bl func_ov00_02087d34 ldrb r5, [sp, #0x288] ldrb r2, [sp, #0x289] mov r0, #0x18000 strb r5, [sp, #0x31c] ldr r5, [sp, #0x22c] strb r2, [sp, #0x31d] ldr r2, [sp, #0x230] str r5, [sp, #0x2c0] ldr r5, [sp, #0x234] str r2, [sp, #0x2c4] ldr r2, [sp, #0x23c] str r5, [sp, #0x2c8] ldr r5, [sp, #0x244] str r2, [sp, #0x2d0] ldr r2, [sp, #0x248] str r5, [sp, #0x2d8] ldr r5, [sp, #0x24c] mov r1, #0x2000 str r2, [sp, #0x2dc] ldr r2, [sp, #0x250] str r5, [sp, #0x2e0] ldr r5, [sp, #0x254] str r2, [sp, #0x2e4] ldr r2, [sp, #0x258] str r5, [sp, #0x2e8] ldr r5, [sp, #0x25c] str r2, [sp, #0x2ec] ldr r2, [sp, #0x260] str r5, [sp, #0x2f0] ldr r5, [sp, #0x264] str r2, [sp, #0x2f4] ldr r2, [sp, #0x268] str r5, [sp, #0x2f8] ldr r5, [sp, #0x26c] str r2, [sp, #0x2fc] ldr r2, [sp, #0x270] str r5, [sp, #0x300] ldr r5, [sp, #0x274] ldrb r3, [sp, #0x28a] str r2, [sp, #0x304] ldr r2, [sp, #0x278] str r5, [sp, #0x308] ldr r5, [sp, #0x27c] ldrb r7, [sp, #0x28b] ldrb r6, [sp, #0x28c] ldr r8, [sp, #0x228] str r2, [sp, #0x30c] ldr r2, [sp, #0x280] str r5, [sp, #0x310] ldr r5, [sp, #0x284] strb r3, [sp, #0x31e] str r2, [sp, #0x314] mov r2, #1 str r5, [sp, #0x318] ldr r3, _021750a4 ; =data_027e0fe4 str r8, [sp, #0x2bc] add r5, sp, #0x13c strb r7, [sp, #0x31f] str r0, [sp, #0x240] str r0, [sp, #0x2d4] strb r6, [sp, #0x320] add r0, r4, #0x48 str r1, [sp, #0x238] str r1, [sp, #0x2cc] strb r2, [sp, #0x2a4] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add r1, r4, #0x144 ldr r0, [r3] add r1, r1, #0x400 bl func_ov00_020c3674 add r1, r0, #0x48 add r0, r4, #0x48 mov r2, r5 bl func_01ff9bc4 ldr r2, [sp, #0x13c] mov r1, #0 mov r0, r2, asr #0x1f mov r3, r0, lsl #0xb mov r0, #0x800 orr r3, r3, r2, lsr #21 adds r2, r0, r2, lsl #11 adc r3, r3, #0 mov r2, r2, lsr #0xc orr r2, r2, r3, lsl #20 str r2, [sp, #0x13c] ldr r6, [sp, #0x140] ldr r5, [sp, #0x144] mov r3, r6, asr #0x1f mov r7, r3, lsl #0xb mov r3, r5, asr #0x1f mov r3, r3, lsl #0xb orr r7, r7, r6, lsr #21 adds r8, r0, r6, lsl #11 adc r7, r7, r1 adds r6, r0, r5, lsl #11 orr r3, r3, r5, lsr #21 adc r0, r3, r1 mov r5, r8, lsr #0xc orr r5, r5, r7, lsl #20 mov r3, r6, lsr #0xc orr r3, r3, r0, lsl #20 add r1, sp, #0x290 mov r0, r4 str r5, [sp, #0x140] str r3, [sp, #0x144] str r2, [sp, #0x2b0] str r5, [sp, #0x2b4] str r3, [sp, #0x2b8] bl func_ov25_0217540c add r0, sp, #0x290 bl func_ov00_0209a508 b _02175114 _02174cb4: bl func_ov25_02175444 cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #0x12 bl func_ov25_02173ab4 b _02175114 _02174cd0: mov r0, r4 bl func_ov25_021735f0 ldr r0, _021750a8 ; =data_027e0c68 mov r1, #0 bl func_02036770 cmp r0, #0 beq _02175114 ldr r0, [r4, #0x1e8] mov r1, #0xe000 add r0, r0, #0xc bl func_0202e310 cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #0x13 bl func_ov25_02173ab4 b _02175114 _02174d14: mov r0, r4 bl func_ov25_02175484 cmp r0, #0 beq _02175114 mvn r2, #0 mov r0, r4 mov r1, #0xc str r2, [r4, #0x580] bl func_ov25_02173ab4 b _02175114 _02174d3c: mov r0, r4 bl func_ov14_02145318 mov r2, #0 add r1, sp, #0x214 mvn r3, #0 ldr r6, _021750ac ; =data_ov00_020e72f0 ldr r5, _021750b0 ; =0x43425331 add r7, sp, #0x160 mov r0, #0x10 str r0, [sp, #0x158] str r6, [sp, #0x1e0] str r5, [sp, #0x1e4] str r3, [sp, #0x1e8] str r3, [sp, #0x1ec] str r2, [sp, #0x1f0] strb r2, [sp, #0x1f4] strb r2, [sp, #0x210] str r2, [r1, #0xc] str r2, [r1] str r2, [r1, #4] str r2, [r1, #8] str r7, [sp, #0x154] str r2, [sp, #0x15c] add r0, sp, #0x1e0 _02174d9c: str r3, [r7] str r3, [r7, #4] add r7, r7, #8 cmp r7, r0 blo _02174d9c ldr r0, _021750a4 ; =data_027e0fe4 add r1, sp, #0x1e0 ldr r0, [r0] add r2, sp, #0x154 bl func_ov00_020c37ec ldr r0, [sp, #0x15c] mov r6, #1 cmp r0, #0 mov r7, #0 ble _02174e14 ldr sb, _021750a4 ; =data_027e0fe4 mov r8, r7 mov r5, r7 _02174de4: ldr r1, [sp, #0x154] ldr r0, [sb] add r1, r1, r8 bl func_ov00_020c3674 ldrb r0, [r0, #0x11c] add r7, r7, #1 add r8, r8, #8 cmp r0, #0 ldr r0, [sp, #0x15c] movne r6, r5 cmp r7, r0 blt _02174de4 _02174e14: cmp r6, #0 beq _02175114 mov r0, r4 bl func_ov25_021753e0 cmp r0, #0 beq _02175114 ldrh r0, [r4, #0x20] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02174e90 _02174e3c: ; jump table b _02174e90 ; case 0 b _02174e4c ; case 1 b _02174e64 ; case 2 b _02174e7c ; case 3 _02174e4c: ldr r0, _02175074 ; =data_027e0f74 mov r1, #0x25 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c b _02174e90 _02174e64: ldr r0, _02175074 ; =data_027e0f74 mov r1, #0x26 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c b _02174e90 _02174e7c: ldr r0, _02175074 ; =data_027e0f74 mov r1, #0x34 ldr r0, [r0] mov r2, #1 bl func_ov00_0209779c _02174e90: mov r0, r4 mov r1, #0 mov r2, #1 bl func_ov00_020c1c20 mov r0, r4 bl func_ov14_0214591c mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 mov r0, r4 mov r1, #1 bl func_ov00_020c1908 ldr r0, _02175074 ; =data_027e0f74 mov r1, #0x150 ldr r0, [r0] mov r2, #0 bl func_ov00_0209779c mov r0, r4 mov r1, #0x15 bl func_ov25_02173ab4 b _02175114 _02174ee8: mov r0, r4 bl func_ov14_02145318 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 beq _02175114 ldrh r0, [r4, #0x20] cmp r0, #3 bne _02174f80 ldr r0, _0217507c ; =data_027e0e60 mov r6, #0 sub r3, r6, #2 mov r7, #0x47 str r3, [sp, #0x130] ldr r0, [r0] str r7, [sp, #0x124] str r6, [sp, #0x128] str r6, [sp, #0x12c] add r3, sp, #0x10c strh r6, [r3, #0x28] mov r5, #0xff add r2, sp, #0x124 mov r1, #3 strb r5, [sp, #0x136] strb r6, [sp, #0x137] strb r6, [sp, #0x138] strb r6, [sp, #0x139] bl func_ov00_020838e8 ldr r0, _021750b4 ; =data_027e0d38 mov r3, #0x17 ldr r0, [r0] add r1, sp, #0x124 mov r2, #1 str r3, [sp, #0x128] bl func_ov05_02100ae0 b _02175114 _02174f80: mov r0, r4 mov r1, #0x16 bl func_ov25_02173ab4 b _02175114 _02174f90: ldr r0, [r4, #0x1f4] add r1, sp, #0x34 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r4, #0x1f4] add r1, sp, #0x34 ldrsh r3, [r2, #0x78] add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c add r1, r4, #0x134 mov r0, r4 add r1, r1, #0x400 mov r2, #0x7b bl func_ov25_021732fc add r1, r4, #0x134 mov r0, r4 add r1, r1, #0x400 bl func_ov00_020c288c ldr r1, _021750b8 ; =0x0000019a cmp r0, r1 bge _02175114 mov r0, r4 mov r1, #0x17 bl func_ov25_02173ab4 b _02175114 _02174ffc: add r0, r4, #0x500 ldrsh r1, [r0, #0x40] mov r0, r4 bl func_ov25_021732bc add r0, r4, #0x500 ldrsh r1, [r4, #0x78] ldrsh r0, [r0, #0x40] subs r1, r1, r0 ldr r0, _021750bc ; =0x0000038e rsbmi r1, r1, #0 cmp r1, r0 bge _02175114 mov r0, r4 mov r1, #0x18 bl func_ov25_02173ab4 b _02175114 _0217503c: ldr r0, [r4, #0x1f4] add r1, sp, #0x28 ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r2, [r4, #0x1f4] add r1, sp, #0x28 ldrsh r3, [r2, #0x78] add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c mov r0, r4 bl func_ov14_021452b0 b _02175114 .align 2, 0 arm_func_end func_ov25_02174100 _02175074: .word data_027e0f74 _02175078: .word 0x00000152 _0217507c: .word data_027e0e60 _02175080: .word 0xb60b60b7 _02175084: .word 0x00000171 _02175088: .word data_027e0f94 _0217508c: .word 0x00000555 _02175090: .word 0x00001333 _02175094: .word 0x000002aa _02175098: .word data_ov00_020eed2c _0217509c: .word 0x00000bb8 _021750a0: .word data_027e0f64 _021750a4: .word data_027e0fe4 _021750a8: .word data_027e0c68 _021750ac: .word data_ov00_020e72f0 _021750b0: .word 0x43425331 _021750b4: .word data_027e0d38 _021750b8: .word 0x0000019a _021750bc: .word 0x0000038e _021750c0: ldr r0, [r4, #0x1f4] add r1, sp, #0x1c ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 ldr r0, [r4, #0x1f4] add r1, sp, #0x1c ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c mov r0, r4 bl func_ov14_02145318 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] blx r1 cmp r0, #0 beq _02175114 mov r0, r4 mov r1, #0x18 bl func_ov25_02173ab4 _02175114: add r0, r4, #0x1d8 bl func_ov14_02145cac ldr r0, [r4, #0x428] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x420] cmp r0, #1 cmpne r0, #5 bne _021751bc ldr r2, [r4, #0x68] ldr r5, [r4, #0x60] smull r1, r0, r2, r2 smull r3, r2, r5, r5 adds r3, r3, #0x800 adc r2, r2, #0 adds r1, r1, #0x800 mov r3, r3, lsr #0xc adc r0, r0, #0 mov r1, r1, lsr #0xc orr r3, r3, r2, lsl #20 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 ldr r1, _02175084 ; =0x00000171 sub r0, r0, #0x7b bl func_01ff98e0 cmp r0, #0x1000 movgt r0, #0x1000 bgt _0217518c cmp r0, #0 movlt r0, #0 _0217518c: mov r1, r0, asr #0x1f mov r2, r1, lsl #0xc mov r1, #0x800 adds r1, r1, r0, lsl #12 orr r2, r2, r0, lsr #20 adc r0, r2, #0 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 add r0, r1, #0xcd ldr r1, [r4, #0x1e8] add r0, r0, #0xc00 str r0, [r1, #0x10] _021751bc: ldr r0, [r4, #0x130] cmp r0, #2 cmpne r0, #3 cmpne r0, #4 cmpne r0, #5 cmpne r0, #6 cmpne r0, #7 beq _021751e8 sub r0, r0, #0x18 cmp r0, #1 bhi _02175244 _021751e8: mov r0, r4 bl func_ov14_02145178 ldr r6, [r4, #0x4c] ldr r8, [r4, #0x88] ldr r0, [r4, #0x48] ldr r7, [r4, #0x50] sub r5, r0, r8 add r2, r0, r8 sub r3, r7, r8 add r1, r6, #0x2000 add r0, r7, r8 str r1, [sp, #0x11c] str r0, [sp, #0x120] str r5, [sp, #0x10c] str r6, [sp, #0x110] str r3, [sp, #0x114] add r0, r4, #0x550 str r2, [sp, #0x118] ldr r2, [r0] add r1, sp, #0x10c ldr r2, [r2, #0x20] blx r2 b _02175278 _02175244: mov r1, #0x64000 mov r0, #0x65000 str r1, [sp, #0xf4] str r1, [sp, #0xf8] str r1, [sp, #0xfc] str r0, [sp, #0x100] str r0, [sp, #0x104] str r0, [sp, #0x108] add r0, r4, #0x550 ldr r2, [r0] add r1, sp, #0xf4 ldr r2, [r2, #0x20] blx r2 _02175278: add r0, r4, #0x400 ldrh r0, [r0, #0x78] tst r0, #2 movne r1, #1 moveq r1, #0 cmp r1, #1 addne sp, sp, #0x340 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} tst r0, #1 movne r0, #1 moveq r0, #0 cmp r0, #0 addne sp, sp, #0x340 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r2, #0 add r1, sp, #0xc add r0, r4, #0x48 strb r2, [sp, #0xc] strb r2, [sp, #0xd] bl func_ov00_020c5374 ldr r0, _0217507c ; =data_027e0e60 add r1, sp, #0xc ldr r0, [r0] bl func_ov00_02084164 cmp r0, #0 addeq sp, sp, #0x340 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldrb r0, [sp, #0xc] strb r0, [r4, #0x57c] ldrb r0, [sp, #0xd] strb r0, [r4, #0x57d] add sp, sp, #0x340 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .global func_ov25_021752fc arm_func_start func_ov25_021752fc func_ov25_021752fc: ; 0x021752fc stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #3 cmpne r0, #4 cmpne r0, #5 cmpne r0, #7 cmpne r0, #0xd cmpne r0, #0xe cmpne r0, #0xf cmpne r0, #0x11 cmpne r0, #0x12 cmpne r0, #0x13 cmpne r0, #0x19 cmpne r0, #0x15 beq _0217534c bl func_ov25_0217535c bl func_ov00_020b1e98 cmp r0, #0 beq _02175354 _0217534c: mov r0, #1 ldmia sp!, {r4, pc} _02175354: ldrb r0, [r4, #0x11c] ldmia sp!, {r4, pc} arm_func_end func_ov25_021752fc .global func_ov25_0217535c arm_func_start func_ov25_0217535c func_ov25_0217535c: ; 0x0217535c ldr ip, _02175368 ; =func_01fffcd8 mov r0, #6 bx ip .align 2, 0 arm_func_end func_ov25_0217535c _02175368: .word func_01fffcd8 .global func_ov25_0217536c arm_func_start func_ov25_0217536c func_ov25_0217536c: ; 0x0217536c stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 cmp r1, #0 ldrneb r0, [r4, #0xa5] ldreqb r0, [r4, #0xa4] cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x1dc] mov r1, #0x1f bl func_020197fc add r0, r4, #0x1d8 bl func_ov00_020c5f1c ldr r3, [r4, #0x45c] mov r1, #0 str r3, [sp] str r1, [sp, #4] mov r0, #0x1f str r0, [sp, #8] str r1, [sp, #0xc] str r1, [sp, #0x10] ldr r0, _021753dc ; =data_ov00_020e9370 add r2, r4, #0x48 str r1, [sp, #0x14] bl func_ov05_02102c2c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0217536c _021753dc: .word data_ov00_020e9370 .global func_ov25_021753e0 arm_func_start func_ov25_021753e0 func_ov25_021753e0: ; 0x021753e0 stmdb sp!, {r3, lr} ldr r2, [r0, #0x580] mvn r1, #0 cmp r2, r1 movne r0, #0 ldmneia sp!, {r3, pc} bl func_ov00_020c198c cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov25_021753e0 .global func_ov25_0217540c arm_func_start func_ov25_0217540c func_ov25_0217540c: ; 0x0217540c stmdb sp!, {r4, lr} ldr r2, _02175428 ; =data_027e0f74 mov r4, r0 ldr r0, [r2] bl func_ov00_02097810 str r0, [r4, #0x580] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0217540c _02175428: .word data_027e0f74 .global func_ov25_0217542c arm_func_start func_ov25_0217542c func_ov25_0217542c: ; 0x0217542c ldr r1, [r0, #0x580] mvn r0, #0 cmp r1, r0 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov25_0217542c .global func_ov25_02175444 arm_func_start func_ov25_02175444 func_ov25_02175444: ; 0x02175444 ldr r1, _0217545c ; =data_027e0f74 mov r2, r0 ldr r0, [r1] ldr ip, _02175460 ; =func_ov00_02097b9c ldr r1, [r2, #0x580] bx ip .align 2, 0 arm_func_end func_ov25_02175444 _0217545c: .word data_027e0f74 _02175460: .word func_ov00_02097b9c .global func_ov25_02175464 arm_func_start func_ov25_02175464 func_ov25_02175464: ; 0x02175464 ldr r1, _0217547c ; =data_027e0f74 mov r2, r0 ldr r0, [r1] ldr ip, _02175480 ; =func_ov00_02097bcc ldr r1, [r2, #0x580] bx ip .align 2, 0 arm_func_end func_ov25_02175464 _0217547c: .word data_027e0f74 _02175480: .word func_ov00_02097bcc .global func_ov25_02175484 arm_func_start func_ov25_02175484 func_ov25_02175484: ; 0x02175484 stmdb sp!, {r3, lr} ldr r1, _021754c4 ; =data_027e0f74 mov r2, r0 ldr r0, [r1] ldr r1, [r2, #0x580] bl func_ov00_02097bac cmp r0, #0 beq _021754bc ldr r0, _021754c4 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097738 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} _021754bc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02175484 _021754c4: .word data_027e0f74 .global func_ov25_021754c8 arm_func_start func_ov25_021754c8 func_ov25_021754c8: ; 0x021754c8 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_ov25_021754c8 .global func_ov25_021754e4 arm_func_start func_ov25_021754e4 func_ov25_021754e4: ; 0x021754e4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 cmp r1, #3 addls pc, pc, r1, lsl #2 b _02175534 _021754f8: ; jump table b _02175508 ; case 0 b _02175514 ; case 1 b _02175520 ; case 2 b _0217552c ; case 3 _02175508: mov r2, #0x81 mov r4, #0x85 b _02175534 _02175514: mov r2, #0x82 mov r4, #0x85 b _02175534 _02175520: mov r2, #0x83 mov r4, #0x85 b _02175534 _0217552c: mov r2, #0x84 mov r4, #0x85 _02175534: ldr r1, _02175570 ; =data_027e0fec mov r0, #0x38 ldr r7, [r1] mla r0, r2, r0, r7 bl func_ov00_020c4588 mov r1, #0x38 mov r6, r0 mla r0, r4, r1, r7 bl func_ov00_020c45b0 mov r2, r0 ldr r3, _02175574 ; =data_ov25_021795b8 mov r0, r5 mov r1, r6 bl func_ov00_020c5c64 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov25_021754e4 _02175570: .word data_027e0fec _02175574: .word data_ov25_021795b8 .global func_ov25_02175578 arm_func_start func_ov25_02175578 func_ov25_02175578: ; 0x02175578 ldr r3, [r1] mov r2, #0 str r3, [r0, #0xb0] ldr r1, [r1, #4] str r1, [r0, #0xb4] str r2, [r0] str r2, [r0, #4] bx lr arm_func_end func_ov25_02175578 .global func_ov25_02175598 arm_func_start func_ov25_02175598 func_ov25_02175598: ; 0x02175598 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r0 mov r2, #0 str r2, [r4] add r1, sp, #4 add r0, r4, #0xb0 str r2, [r4, #4] bl func_ov00_020c53e8 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} mov r2, #0 add r0, sp, #0 add r1, sp, #4 strh r2, [sp] strh r2, [sp, #2] bl func_ov30_021872c4 ldr r5, [r4] ldr r1, [r4, #8] add r0, r5, #1 bl func_02002c14 ldr r0, [r4, #4] cmp r0, r1 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} ldrh r1, [sp] ldr ip, [r4, #0xc] ldrh r0, [sp, #2] mov r3, r5, lsl #0x2 add r2, ip, r5, lsl #2 strh r1, [ip, r3] strh r0, [r2, #2] ldr r0, [r4] ldr r1, [r4, #8] add r0, r0, #1 bl func_02002c14 str r1, [r4] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov25_02175598 .global func_ov25_02175638 arm_func_start func_ov25_02175638 func_ov25_02175638: ; 0x02175638 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x38 mov r4, r0 ldr r0, [r4] ldr r1, [r4, #8] add r0, r0, #1 bl func_02002c14 ldr r0, [r4, #4] cmp r0, r1 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r1, sp, #0x2c add r0, r4, #0xb0 bl func_ov00_020c53e8 cmp r0, #0 beq _021759b4 mov r2, #0 add r0, sp, #0x28 add r1, sp, #0x2c strh r2, [sp, #0x28] strh r2, [sp, #0x2a] bl func_ov30_021872c4 ldmia r4, {r5, r6} cmp r6, r5 bne _021756f8 ldr r1, [r4, #8] add r0, r5, #1 bl func_02002c14 cmp r6, r1 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrh r1, [sp, #0x28] ldr r6, [r4, #0xc] ldrh r0, [sp, #0x2a] mov r3, r5, lsl #0x2 add r2, r6, r5, lsl #2 strh r1, [r6, r3] strh r0, [r2, #2] ldr r0, [r4] ldr r1, [r4, #8] add r0, r0, #1 bl func_02002c14 add sp, sp, #0x38 str r1, [r4] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _021756f8: mov r0, #0 strh r0, [sp, #0x24] strh r0, [sp, #0x26] suble r0, r5, r6 ldrgt r0, [r4, #8] addgt r0, r5, r0 subgt r0, r0, r6 cmp r0, #0 ble _02175744 ldr r1, [r4, #8] sub r0, r5, #1 bl func_02002c14 ldr r3, [r4, #0xc] mov r2, r1, lsl #0x2 add r0, r3, r1, lsl #2 ldrh r1, [r3, r2] ldrh r0, [r0, #2] strh r1, [sp, #0x24] strh r0, [sp, #0x26] _02175744: ldrh r6, [sp, #0x24] ldrh r3, [sp, #0x28] ldrh r5, [sp, #0x26] ldrh r2, [sp, #0x2a] strh r6, [sp, #8] strh r3, [sp, #0xc] ldrsh r1, [sp, #0xc] ldrsh r0, [sp, #8] strh r5, [sp, #0xa] strh r2, [sp, #0xe] cmp r1, r0 ldreqsh r1, [sp, #0xe] ldreqsh r0, [sp, #0xa] strh r6, [sp, #0x18] strh r5, [sp, #0x1a] cmpeq r1, r0 strh r3, [sp, #0x1c] strh r2, [sp, #0x1e] addeq sp, sp, #0x38 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r8, #1 mov r7, #0 add r6, sp, #0x20 add r5, sp, #0x28 b _02175934 _021757ac: strh r7, [sp, #0x20] strh r7, [sp, #0x22] ldmia r4, {r1, r2} cmp r2, r1 suble r0, r1, r2 ldrgt r0, [r4, #8] addgt r0, r1, r0 subgt r0, r0, r2 cmp r8, r0 bge _021757fc ldr r1, [r4, #8] add r0, r2, r8 bl func_02002c14 ldr r3, [r4, #0xc] mov r2, r1, lsl #0x2 add r0, r3, r1, lsl #2 ldrh r1, [r3, r2] ldrh r0, [r0, #2] strh r1, [sp, #0x20] strh r0, [sp, #0x22] _021757fc: ldrh sl, [sp, #0x28] ldrh r3, [sp, #0x20] ldrh sb, [sp, #0x2a] ldrh r2, [sp, #0x22] strh sl, [sp] strh r3, [sp, #4] ldrsh r1, [sp, #4] ldrsh r0, [sp] strh sb, [sp, #2] strh r2, [sp, #6] cmp r1, r0 ldreqsh r1, [sp, #6] ldreqsh r0, [sp, #2] strh sl, [sp, #0x10] strh sb, [sp, #0x12] strh r3, [sp, #0x14] strh r2, [sp, #0x16] cmpeq r1, r0 bne _02175888 ldmia r4, {r1, r2} cmp r2, r1 ldrgt r0, [r4, #8] suble r1, r1, r2 addgt r0, r1, r0 subgt r1, r0, r2 add r0, r8, #1 cmp r0, r1 bgt _0217587c ldr r1, [r4, #8] add r0, r2, r0 bl func_02002c14 str r1, [r4] _0217587c: add sp, sp, #0x38 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02175888: mov r0, r6 mov r1, r5 bl func_ov30_02187340 cmp r0, #0 beq _02175930 ldmia r4, {r1, r2} cmp r2, r1 ldrgt r0, [r4, #8] suble r1, r1, r2 addgt r0, r1, r0 subgt r1, r0, r2 add r0, r8, #1 cmp r0, r1 bgt _021758d0 ldr r1, [r4, #8] add r0, r2, r0 bl func_02002c14 str r1, [r4] _021758d0: ldr r6, [r4] ldr r1, [r4, #8] add r0, r6, #1 bl func_02002c14 ldr r0, [r4, #4] cmp r0, r1 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrh r1, [sp, #0x28] ldr r5, [r4, #0xc] ldrh r0, [sp, #0x2a] mov r3, r6, lsl #0x2 add r2, r5, r6, lsl #2 strh r1, [r5, r3] strh r0, [r2, #2] ldr r0, [r4] ldr r1, [r4, #8] add r0, r0, #1 bl func_02002c14 add sp, sp, #0x38 str r1, [r4] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02175930: add r8, r8, #1 _02175934: ldr sl, [r4] ldr sb, [r4, #4] cmp sb, sl suble r0, sl, sb ble _02175954 ldr r0, [r4, #8] add r0, sl, r0 sub r0, r0, sb _02175954: cmp r8, r0 blt _021757ac ldr r1, [r4, #8] add r0, sl, #1 bl func_02002c14 cmp sb, r1 addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrh r1, [sp, #0x28] ldr r5, [r4, #0xc] ldrh r0, [sp, #0x2a] mov r3, sl, lsl #0x2 add r2, r5, sl, lsl #2 strh r1, [r5, r3] strh r0, [r2, #2] ldr r0, [r4] ldr r1, [r4, #8] add r0, r0, #1 bl func_02002c14 add sp, sp, #0x38 str r1, [r4] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _021759b4: mov r0, #0 add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov25_02175638 .global func_ov25_021759c0 arm_func_start func_ov25_021759c0 func_ov25_021759c0: ; 0x021759c0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldmia r5, {r0, r2} mov r4, r1 cmp r2, r0 beq _02175a50 mov r0, #0 strh r0, [sp] strh r0, [sp, #2] ldr r2, [r5] ldr r0, [r5, #4] cmp r0, r2 suble r1, r2, r0 ldrgt r1, [r5, #8] addgt r1, r2, r1 subgt r1, r1, r0 cmp r1, #0 movle r2, #0 ble _02175a34 ldr r1, [r5, #8] bl func_02002c14 ldr r3, [r5, #0xc] mov r2, r1, lsl #0x2 add r0, r3, r1, lsl #2 ldrh r1, [r3, r2] ldrh r0, [r0, #2] mov r2, #1 strh r1, [sp] strh r0, [sp, #2] _02175a34: cmp r2, #0 beq _02175a50 add r0, sp, #0 mov r1, r4 bl func_ov30_02187304 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02175a50: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov25_021759c0 .global func_ov25_02175a58 arm_func_start func_ov25_02175a58 func_ov25_02175a58: ; 0x02175a58 stmdb sp!, {r4, lr} mov r4, r0 ldmia r4, {r0, r2} cmp r2, r0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #8] add r0, r2, #1 bl func_02002c14 str r1, [r4, #4] ldmia sp!, {r4, pc} arm_func_end func_ov25_02175a58 .global func_ov25_02175a80 arm_func_start func_ov25_02175a80 func_ov25_02175a80: ; 0x02175a80 stmdb sp!, {r3, lr} ldr r1, _02175aac ; =data_027e0fe0 mov r0, #0x1d4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02175ab0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02175a80 _02175aac: .word data_027e0fe0 .global func_ov25_02175ab0 arm_func_start func_ov25_02175ab0 func_ov25_02175ab0: ; 0x02175ab0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r0, _02175aec ; =data_ov25_0217a024 add r2, r4, #0x158 str r0, [r4] add r0, r4, #0x178 mvn r1, #0 _02175ad0: str r1, [r2] str r1, [r2, #4] add r2, r2, #8 cmp r2, r0 blo _02175ad0 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02175ab0 _02175aec: .word data_ov25_0217a024 .global func_ov25_02175af0 arm_func_start func_ov25_02175af0 func_ov25_02175af0: ; 0x02175af0 stmdb sp!, {r3, lr} mov r1, #0 str r1, [r0, #0x1cc] bl func_ov25_02176088 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov25_02175af0 .global func_ov25_02175b08 arm_func_start func_ov25_02175b08 func_ov25_02175b08: ; 0x02175b08 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x74 ldr r1, _02175c48 ; =data_027e0fe4 mvn r8, #0 mov r7, #0 add r5, sp, #0x60 mov r6, r0 ldr lr, _02175c4c ; =data_ov00_020e72f0 ldr ip, _02175c50 ; =0x43425330 ldr r0, [r1] add r4, sp, #0xc mov r3, #4 add r1, sp, #0x2c add r2, sp, #0 str r7, [sp, #8] str r8, [sp, #0xc] str r8, [sp, #0x10] str r8, [sp, #0x14] str r8, [sp, #0x18] str r8, [sp, #0x1c] str r8, [sp, #0x20] str r8, [sp, #0x24] str r8, [sp, #0x28] str lr, [sp, #0x2c] str ip, [sp, #0x30] str r8, [sp, #0x34] str r8, [sp, #0x38] str r7, [sp, #0x3c] strb r7, [sp, #0x40] strb r7, [sp, #0x5c] str r7, [r5, #0xc] str r7, [r5] str r7, [r5, #4] str r7, [r5, #8] str r4, [sp] str r3, [sp, #4] bl func_ov00_020c37ec cmp r0, #0 ldrgt r0, [sp, #8] movgt r4, r7 cmpgt r0, #0 ble _02175bfc ldr r7, _02175c48 ; =data_027e0fe4 mov r5, r4 _02175bb8: ldr r1, [sp] ldr r0, [r7] add r1, r1, r5 bl func_ov00_020c3674 ldr r2, [sp] ldrh r1, [r0, #0x20] ldr r0, [r2, r5] add r2, r2, r5 add r1, r6, r1, lsl #3 str r0, [r1, #0x158] ldr r0, [r2, #4] add r4, r4, #1 str r0, [r1, #0x15c] ldr r0, [sp, #8] add r5, r5, #8 cmp r4, r0 blt _02175bb8 _02175bfc: ldr r0, [sp, #8] add r4, r6, #0x100 ldr r5, _02175c48 ; =data_027e0fe4 strh r0, [r4, #0x78] add r6, r6, #0x158 mov r7, #0 _02175c14: ldr r0, [r5] mov r1, r6 bl func_ov00_020c3674 cmp r0, #0 beq _02175c30 ldrsh r1, [r4, #0x78] bl func_ov25_0216eca4 _02175c30: add r7, r7, #1 cmp r7, #4 add r6, r6, #8 blt _02175c14 add sp, sp, #0x74 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov25_02175b08 _02175c48: .word data_027e0fe4 _02175c4c: .word data_ov00_020e72f0 _02175c50: .word 0x43425330 .global func_ov25_02175c54 arm_func_start func_ov25_02175c54 func_ov25_02175c54: ; 0x02175c54 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x28 mov fp, r0 add r0, fp, #0x100 ldrsh r1, [r0, #0x78] add r0, sp, #0x18 bl func_ov00_020c5a5c ldr r0, _02175d18 ; =data_027e0e60 add r2, sp, #0 ldr r0, [r0] mov r1, #1 bl func_ov00_020836bc add r4, fp, #0x100 ldrsh r0, [r4, #0x78] ldr r7, [sp] ldr r1, [sp, #0xc] cmp r0, #0 sub r8, r1, r7 mov r6, #0 addle sp, sp, #0x28 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov sl, fp add sb, fp, #0x17c _02175cb0: mov r0, fp mov r1, r6 mov r2, sb bl func_ov25_02175fac ldrsh r5, [r4, #0x78] mov r0, r8 mov r1, r5 bl func_02002c14 add r1, sp, #0x18 ldr r2, [r1, r6, lsl #2] mov r1, r5 mov r5, r0 mul r0, r8, r2 bl func_02002c14 add r1, r5, r5, lsr #31 add r0, r7, r0 add r0, r0, r1, asr #1 str r0, [sl, #0x17c] ldrsh r0, [r4, #0x78] add r6, r6, #1 add sb, sb, #0xc cmp r6, r0 add sl, sl, #0xc blt _02175cb0 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov25_02175c54 _02175d18: .word data_027e0e60 .global func_ov25_02175d1c arm_func_start func_ov25_02175d1c func_ov25_02175d1c: ; 0x02175d1c stmdb sp!, {r4, r5, r6, lr} ldr r4, _02175d68 ; =data_027e0fe4 add r6, r0, #0x158 mov r5, #0 _02175d2c: ldr r0, [r4] mov r1, r6 bl func_ov00_020c3674 cmp r0, #0 beq _02175d50 bl func_ov25_0216eeec cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02175d50: add r5, r5, #1 cmp r5, #4 add r6, r6, #8 blt _02175d2c mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02175d1c _02175d68: .word data_027e0fe4 .global func_ov25_02175d6c arm_func_start func_ov25_02175d6c func_ov25_02175d6c: ; 0x02175d6c stmdb sp!, {r4, r5, r6, lr} ldr r4, _02175db8 ; =data_027e0fe4 add r6, r0, #0x158 mov r5, #0 _02175d7c: ldr r0, [r4] mov r1, r6 bl func_ov00_020c3674 cmp r0, #0 beq _02175da0 bl func_ov25_0216ef14 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02175da0: add r5, r5, #1 cmp r5, #4 add r6, r6, #8 blt _02175d7c mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02175d6c _02175db8: .word data_027e0fe4 .global func_ov25_02175dbc arm_func_start func_ov25_02175dbc func_ov25_02175dbc: ; 0x02175dbc stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02175e78 ; =data_027e0fe4 mov r5, r0 ldr r1, [r1] ldr r2, _02175e7c ; =0x43425330 add r0, sp, #0 bl func_ov00_020c3894 ldr r1, [sp] mvn r0, #0 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r4, r5, #0x100 ldrsh r0, [r4, #0x78] cmp r0, #4 moveq r0, #0 addeq sp, sp, #8 streqh r0, [r4, #0xac] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r7, r5, #0x158 ldr r6, _02175e80 ; =data_027e0764 ldr r5, _02175e78 ; =data_027e0fe4 mov r8, #0 _02175e1c: ldr r1, [r6] ldmib r6, {r0, r2} umull ip, r3, r2, r1 mla r3, r2, r0, r3 ldr r0, [r6, #0xc] ldr r2, [r6, #0x10] mla r3, r0, r1, r3 ldr r0, [r6, #0x14] adds r1, r2, ip str r1, [r6] adc r1, r0, r3 mov r0, r8, lsl #0x2 str r1, [r6, #4] orr r0, r0, r1, lsr #30 strh r0, [r4, #0xac] ldrsh r1, [r4, #0xac] ldr r0, [r5] add r1, r7, r1, lsl #3 bl func_ov00_020c3674 cmp r0, #0 beq _02175e1c add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov25_02175dbc _02175e78: .word data_027e0fe4 _02175e7c: .word 0x43425330 _02175e80: .word data_027e0764 .global func_ov25_02175e84 arm_func_start func_ov25_02175e84 func_ov25_02175e84: ; 0x02175e84 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 mov sl, r0 add r0, sp, #0x10 mov r1, #4 bl func_ov00_020c5a5c add r0, sl, #0x100 ldrsh r0, [r0, #0x78] mov r2, #0 cmp r0, #4 bne _02175edc ldr r3, [sp, #0x1c] add r1, sp, #0x10 str r2, [sp, #0x1c] _02175ebc: ldr r0, [r1, r2, lsl #2] cmp r0, #0 streq r3, [r1, r2, lsl #2] beq _02175f54 add r2, r2, #1 cmp r2, #3 blt _02175ebc b _02175f54 _02175edc: mvn r1, #0 add r0, sp, #0 _02175ee4: str r1, [r0, r2, lsl #2] add r2, r2, #1 cmp r2, #4 blt _02175ee4 mov r7, #0 ldr fp, _02175fa8 ; =data_027e0fe4 mov sb, r7 add r5, sl, #0x158 add r4, sp, #0 add r6, sp, #0x10 _02175f0c: ldr r8, [r6, sb, lsl #2] ldr r0, [fp] add r1, r5, r8, lsl #3 bl func_ov00_020c3674 cmp r0, #0 strne r8, [r4, r7, lsl #2] add sb, sb, #1 addne r7, r7, #1 cmp sb, #4 blt _02175f0c mov r3, #0 add r2, sp, #0 add r0, sp, #0x10 _02175f40: ldr r1, [r2, r3, lsl #2] str r1, [r0, r3, lsl #2] add r3, r3, #1 cmp r3, #4 blt _02175f40 _02175f54: add r2, sl, #0x100 ldrsh r0, [r2, #0x78] mov r6, #0 cmp r0, #0 addle sp, sp, #0x20 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r5, sp, #0x10 mvn r1, #0 _02175f74: ldr r4, [r5, r6, lsl #2] cmp r4, r1 beq _02175f90 mov r0, r6, lsl #0x10 mov r3, r0, asr #0x10 add r0, sl, r4, lsl #2 str r3, [r0, #0x1bc] _02175f90: ldrsh r0, [r2, #0x78] add r6, r6, #1 cmp r6, r0 blt _02175f74 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov25_02175e84 _02175fa8: .word data_027e0fe4 .global func_ov25_02175fac arm_func_start func_ov25_02175fac func_ov25_02175fac: ; 0x02175fac stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _02175ff4 ; =data_027e0ff0 mov r3, #0 ldr r0, [r0] strb r1, [sp, #1] add r1, sp, #0 strb r3, [sp] mov r4, r2 bl func_ov00_020c47cc ldr r1, [r0, #4] str r1, [r4] ldr r1, [r0, #8] str r1, [r4, #4] ldr r0, [r0, #0xc] str r0, [r4, #8] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02175fac _02175ff4: .word data_027e0ff0 .global func_ov25_02175ff8 arm_func_start func_ov25_02175ff8 func_ov25_02175ff8: ; 0x02175ff8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r6, #0 ldr r4, _02176084 ; =data_027e0fe4 mov r5, r6 add r7, r8, #0x158 _02176010: ldr r0, [r4] mov r1, r7 bl func_ov00_020c3674 cmp r0, #0 add r5, r5, #1 addne r6, r6, #1 cmp r5, #4 add r7, r7, #8 blt _02176010 add r4, r8, #0x100 ldrsh r0, [r4, #0x78] cmp r0, r6 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r5, _02176084 ; =data_027e0fe4 strh r6, [r4, #0x78] add r6, r8, #0x158 mov r7, #0 _02176054: ldr r0, [r5] mov r1, r6 bl func_ov00_020c3674 cmp r0, #0 beq _02176070 ldrsh r1, [r4, #0x78] bl func_ov25_0216eca4 _02176070: add r7, r7, #1 cmp r7, #4 add r6, r6, #8 blt _02176054 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov25_02175ff8 _02176084: .word data_027e0fe4 .global func_ov25_02176088 arm_func_start func_ov25_02176088 func_ov25_02176088: ; 0x02176088 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x13c mov r4, r0 mov r3, #0 str r3, [r4, #0x138] ldr r2, [r4, #0x130] cmp r1, #0xd str r2, [r4, #0x134] str r1, [r4, #0x130] addls pc, pc, r1, lsl #2 b _02176330 _021760b4: ; jump table b _02176330 ; case 0 b _021760ec ; case 1 b _0217613c ; case 2 b _02176330 ; case 3 b _02176178 ; case 4 b _021761b8 ; case 5 b _02176274 ; case 6 b _021762a0 ; case 7 b _021762b8 ; case 8 b _02176330 ; case 9 b _021762c4 ; case 10 b _02176330 ; case 11 b _021762d0 ; case 12 b _02176328 ; case 13 _021760ec: add r0, sp, #0x8c bl func_ov00_0209a4f4 mov r3, #0 ldr r0, _02176338 ; =data_027e0f74 mvn ip, #0 mov r5, #0x64 mov r2, #1 ldr r0, [r0] add r1, sp, #0x8c str ip, [sp, #0x90] strb r5, [sp, #0x95] strb r3, [sp, #0x96] strb r3, [sp, #0x97] strb r2, [sp, #0xa3] bl func_ov00_02097810 str r0, [r4, #0x1d0] add r0, sp, #0x8c bl func_ov00_0209a508 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _0217613c: ldr r0, _0217633c ; =data_027e0fc8 ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] blx r1 ldr r0, _0217633c ; =data_027e0fc8 mvn r1, #0 ldr r0, [r0] bl func_ov00_020bd070 ldr r0, _02176340 ; =data_027e0c68 ldr r1, _02176344 ; =0x00710012 mov r2, #0 bl func_020370d0 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _02176178: mov r0, #1 str r0, [sp] ldr r0, _02176338 ; =data_027e0f74 str r3, [sp, #4] mov r1, #0xf ldr r0, [r0] mov r3, r1 mov r2, #0x1e bl func_ov00_02098074 mov r2, #0 ldr r0, _02176348 ; =data_027e0db0 mov r3, r2 mov r1, #1 blx func_ov00_0207b2f0 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _021761b8: add r2, sp, #0x18 mov r1, #3 bl func_ov25_02175fac ldr r0, _0217634c ; =data_027e0f64 ldr r1, _02176350 ; =0x00000e66 ldr r0, [r0] str r1, [sp, #0x1c] ldr r0, [r0, #8] add r1, sp, #0x24 bl func_ov00_02087d34 mov r1, #0 ldr r5, _02176354 ; =0x00000bb8 ldr r3, [sp, #0x18] ldr r2, [sp, #0x1c] ldr r0, [sp, #0x20] ldr r4, _02176358 ; =0x0000038e str r5, [sp, #0x30] mov r5, #0x4000 str r3, [sp, #0xc] str r2, [sp, #0x10] str r0, [sp, #0x14] str r5, [sp, #0x3c] str r4, [sp, #0x34] str r1, [sp, #0x38] str r1, [sp, #0x48] str r1, [sp, #0x44] str r1, [sp, #0x40] sub r0, r1, #1 stmia sp, {r0, r1} ldr r0, _0217634c ; =data_027e0f64 str r1, [sp, #8] ldr r0, [r0] add r2, sp, #0xc ldr r0, [r0, #8] add r3, sp, #0x24 bl func_ov00_020888e8 ldr r0, _0217635c ; =data_ov00_020eec68 mov r1, #0xc8 mov r2, #0 mov r3, #0x7f bl func_ov00_020d70a4 ldr r0, _02176360 ; =data_027e103c ldr r1, _02176364 ; =0x000e005e ldr r0, [r0] bl func_ov00_020cfc70 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _02176274: mov r0, #1 str r0, [sp] ldr r0, _02176338 ; =data_027e0f74 str r3, [sp, #4] mov r1, #0xf ldr r0, [r0] mov r3, r1 mov r2, #0x1e bl func_ov00_02098074 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _021762a0: ldr r0, _02176338 ; =data_027e0f74 ldr r1, [r4, #0x1d0] ldr r0, [r0] bl func_ov00_02097bcc add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _021762b8: bl func_ov25_02175e84 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _021762c4: bl func_ov25_02175c54 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _021762d0: bl func_ov25_02175dbc add r7, r4, #0x158 ldr r5, _02176368 ; =data_027e0fe4 mov r6, #0 add r4, r4, #0x100 _021762e4: ldr r0, [r5] mov r1, r7 bl func_ov00_020c3674 cmp r0, #0 beq _02176310 ldrsh r1, [r4, #0xac] cmp r6, r1 bne _0217630c bl func_ov25_0216ec04 b _02176310 _0217630c: bl func_ov25_0216ec18 _02176310: add r6, r6, #1 cmp r6, #4 add r7, r7, #8 blt _021762e4 add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _02176328: sub r0, r3, #1 str r0, [r4, #0x1cc] _02176330: add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov25_02176088 _02176338: .word data_027e0f74 _0217633c: .word data_027e0fc8 _02176340: .word data_027e0c68 _02176344: .word 0x00710012 _02176348: .word data_027e0db0 _0217634c: .word data_027e0f64 _02176350: .word 0x00000e66 _02176354: .word 0x00000bb8 _02176358: .word 0x0000038e _0217635c: .word data_ov00_020eec68 _02176360: .word data_027e103c _02176364: .word 0x000e005e _02176368: .word data_027e0fe4 .global func_ov25_0217636c arm_func_start func_ov25_0217636c func_ov25_0217636c: ; 0x0217636c cmp r1, #2 bne _0217637c mov r0, #1 bx lr _0217637c: mov r0, #0 bx lr arm_func_end func_ov25_0217636c .global func_ov25_02176384 arm_func_start func_ov25_02176384 func_ov25_02176384: ; 0x02176384 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c313c cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov25_021763a4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02176384 .global func_ov25_021763a4 arm_func_start func_ov25_021763a4 func_ov25_021763a4: ; 0x021763a4 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x24 mov r4, r0 bl func_ov00_020c2bf4 mov r0, r4 bl func_ov25_02175ff8 ldr r0, [r4, #0x130] sub r0, r0, #8 cmp r0, #4 addls pc, pc, r0, lsl #2 b _0217641c _021763d0: ; jump table b _021763e4 ; case 0 b _021763e4 ; case 1 b _021763e4 ; case 2 b _021763e4 ; case 3 b _021763e4 ; case 4 _021763e4: ldr r1, [r4, #0x1cc] mvn r0, #0 cmp r1, r0 beq _0217641c add r0, r1, #1 str r0, [r4, #0x1cc] cmp r0, #0x384 blt _0217641c ldr r0, _02176954 ; =data_027e0e60 mov r2, #1 ldr r0, [r0] mov r3, r2 mov r1, #5 bl func_ov00_02084b38 _0217641c: ldr r0, [r4, #0x130] cmp r0, #0xd addls pc, pc, r0, lsl #2 b _0217694c _0217642c: ; jump table b _02176464 ; case 0 b _02176480 ; case 1 b _021764b0 ; case 2 b _021764dc ; case 3 b _021765b8 ; case 4 b _021765e4 ; case 5 b _02176608 ; case 6 b _02176648 ; case 7 b _0217669c ; case 8 b _02176720 ; case 9 b _02176744 ; case 10 b _021767b4 ; case 11 b _021767d8 ; case 12 b _02176848 ; case 13 _02176464: mov r0, r4 bl func_ov25_02175b08 mov r0, r4 mov r1, #1 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176480: ldr r0, _02176958 ; =data_027e0f74 ldr r1, [r4, #0x1d0] ldr r0, [r0] bl func_ov00_02097b9c cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #2 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021764b0: ldr r0, _0217695c ; =data_027e0c68 mov r1, #0 bl func_02036770 cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #3 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021764dc: ldr r0, [r4, #0x138] mvn r6, #0 cmp r0, #0xf moveq r6, #0 beq _02176510 cmp r0, #0x1e moveq r6, #1 beq _02176510 cmp r0, #0x3c moveq r6, #2 beq _02176510 cmp r0, #0x2d moveq r6, #3 _02176510: mvn r0, #0 cmp r6, r0 beq _02176554 ldr r0, _02176960 ; =data_027e0fe4 add r1, r4, #0x158 ldr r0, [r0] add r1, r1, r6, lsl #3 bl func_ov00_020c3674 movs r5, r0 beq _02176554 add r2, sp, #0x18 mov r0, r4 mov r1, r6 bl func_ov25_02175fac ldr r1, [sp, #0x20] mov r0, r5 bl func_ov25_0216eb98 _02176554: mov sb, #0 ldr r5, _02176960 ; =data_027e0fe4 add r8, r4, #0x158 mov r7, #1 mov r6, sb _02176568: ldr r0, [r5] mov r1, r8 bl func_ov00_020c3674 cmp r0, #0 beq _02176588 bl func_ov25_0216ece0 cmp r0, #0 moveq r7, r6 _02176588: add sb, sb, #1 cmp sb, #4 add r8, r8, #8 blt _02176568 cmp r7, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #4 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021765b8: ldr r0, _02176958 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_020980ac cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #5 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021765e4: ldr r0, [r4, #0x138] cmp r0, #0x96 addle sp, sp, #0x24 ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #6 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176608: ldr r0, _02176958 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_020980ac cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, _02176964 ; =data_027e0f64 mov r1, #0 ldr r0, [r0] ldr r0, [r0, #8] bl func_ov00_020875f8 mov r0, r4 mov r1, #7 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176648: ldr r0, _02176958 ; =data_027e0f74 ldr r1, [r4, #0x1d0] ldr r0, [r0] bl func_ov00_02097bac cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, _02176958 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097738 cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, _02176968 ; =data_027e0fc8 ldr r0, [r0] bl func_ov00_020bd0a8 mov r0, r4 mov r1, #8 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0217669c: ldr r8, _02176960 ; =data_027e0fe4 add r7, r4, #0x158 mov r6, #0 add sb, sp, #0xc _021766ac: ldr r0, [r8] mov r1, r7 bl func_ov00_020c3674 movs r5, r0 beq _021766e8 add r0, r4, r6, lsl #2 ldr r1, [r0, #0x1bc] mov r0, r4 mov r2, sb bl func_ov25_02175fac add r0, r4, r6, lsl #2 ldr r2, [r0, #0x1bc] mov r0, r5 mov r1, sb bl func_ov25_0216ebb8 _021766e8: add r6, r6, #1 cmp r6, #4 add r7, r7, #8 blt _021766ac mov r0, r4 bl func_ov25_02175d1c cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #9 bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176720: ldr r0, [r4, #0x138] cmp r0, #0x14 addle sp, sp, #0x24 ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #0xa bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176744: ldr sb, _02176960 ; =data_027e0fe4 add r7, r4, #0x158 mov r6, #0 add r5, r4, #0x17c mov r8, #0xc _02176758: ldr r0, [sb] mov r1, r7 bl func_ov00_020c3674 cmp r0, #0 beq _0217677c add r1, r4, r6, lsl #2 ldr r2, [r1, #0x1bc] mla r1, r2, r8, r5 bl func_ov25_0216ebe0 _0217677c: add r6, r6, #1 cmp r6, #4 add r7, r7, #8 blt _02176758 mov r0, r4 bl func_ov25_02175d6c cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #0xb bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021767b4: ldr r0, [r4, #0x138] cmp r0, #0x14 addle sp, sp, #0x24 ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r0, r4 mov r1, #0xc bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021767d8: ldr r5, _02176960 ; =data_027e0fe4 add r8, r4, #0x158 mov r7, #0 _021767e4: ldr r0, [r5] mov r1, r8 bl func_ov00_020c3674 movs r6, r0 beq _02176830 bl func_ov25_0216ecb0 cmp r0, #0 beq _02176830 ldr r1, [r6, #0x48] mov r0, r4 str r1, [r4, #0x1b0] ldr r2, [r6, #0x4c] mov r1, #0xd str r2, [r4, #0x1b4] ldr r2, [r6, #0x50] str r2, [r4, #0x1b8] bl func_ov25_02176088 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176830: add r7, r7, #1 cmp r7, #4 add r8, r8, #8 blt _021767e4 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176848: ldr r5, _02176960 ; =data_027e0fe4 add r7, r4, #0x158 mov r6, #0 _02176854: ldr r0, [r5] mov r1, r7 bl func_ov00_020c3674 cmp r0, #0 beq _02176870 add r1, r4, #0x1b0 bl func_ov25_0216ec2c _02176870: add r6, r6, #1 cmp r6, #4 add r7, r7, #8 blt _02176854 ldr r5, _02176960 ; =data_027e0fe4 add r7, r4, #0x158 mov r6, #1 mov r8, #0 _02176890: ldr r0, [r5] mov r1, r7 bl func_ov00_020c3674 cmp r0, #0 beq _021768b4 bl func_ov25_0216ecc4 cmp r0, #0 moveq r6, #0 beq _021768c4 _021768b4: add r8, r8, #1 cmp r8, #4 add r7, r7, #8 blt _02176890 _021768c4: cmp r6, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} add r0, r4, #0x100 ldrsh r0, [r0, #0x78] cmp r0, #1 bne _02176940 ldr r5, _02176960 ; =data_027e0fe4 add r7, r4, #0x158 mov r8, #0 _021768ec: ldr r0, [r5] mov r1, r7 bl func_ov00_020c3674 movs r6, r0 beq _02176920 add r2, sp, #0 mov r0, r4 mov r1, #0 bl func_ov25_02175fac add r1, sp, #0 mov r0, r6 bl func_ov25_0216ec50 b _02176930 _02176920: add r8, r8, #1 cmp r8, #4 add r7, r7, #8 blt _021768ec _02176930: mov r0, r4 bl func_ov00_020c3180 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176940: mov r0, r4 mov r1, #8 bl func_ov25_02176088 _0217694c: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov25_021763a4 _02176954: .word data_027e0e60 _02176958: .word data_027e0f74 _0217695c: .word data_027e0c68 _02176960: .word data_027e0fe4 _02176964: .word data_027e0f64 _02176968: .word data_027e0fc8 .global func_ov25_0217696c arm_func_start func_ov25_0217696c func_ov25_0217696c: ; 0x0217696c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r2, #0 ldr r0, _021769b4 ; =data_027e0f74 str r2, [r5, #0x154] mov r4, r1 ldr r0, [r0] ldr r1, [r5, #0x1d0] bl func_ov00_02097b9c cmp r0, #0 beq _021769a0 mov r0, r5 bl func_ov25_021763a4 _021769a0: mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_0217696c _021769b4: .word data_027e0f74 .global func_ov25_021769b8 arm_func_start func_ov25_021769b8 func_ov25_021769b8: ; 0x021769b8 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_ov25_021769b8 .global func_ov25_021769d4 arm_func_start func_ov25_021769d4 func_ov25_021769d4: ; 0x021769d4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_021769d4 .global func_ov25_021769e8 arm_func_start func_ov25_021769e8 func_ov25_021769e8: ; 0x021769e8 stmdb sp!, {r3, lr} ldr r1, _02176a14 ; =data_027e0fe0 mov r0, #0x164 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02176a18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_021769e8 _02176a14: .word data_027e0fe0 .global func_ov25_02176a18 arm_func_start func_ov25_02176a18 func_ov25_02176a18: ; 0x02176a18 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov00_020c1554 ldr r0, _02176a58 ; =data_ov25_0217a0e0 ldr ip, _02176a5c ; =func_ov00_020b7d74 str r0, [r4] ldr r3, _02176a60 ; =func_ov25_0216dff4 add r0, r4, #0x158 mov r1, #3 mov r2, #4 str ip, [sp] bl func_0204f614 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02176a18 _02176a58: .word data_ov25_0217a0e0 _02176a5c: .word func_ov00_020b7d74 _02176a60: .word func_ov25_0216dff4 .global func_ov25_02176a64 arm_func_start func_ov25_02176a64 func_ov25_02176a64: ; 0x02176a64 stmdb sp!, {r3, lr} mov r1, #0 str r1, [r0, #0x7c] str r1, [r0, #0x80] ldr r2, _02176ac4 ; =0x000004cd str r1, [r0, #0x84] str r2, [r0, #0x88] str r1, [r0, #0x8c] str r1, [r0, #0x90] str r1, [r0, #0x94] str r2, [r0, #0x98] str r1, [r0, #0xa8] str r1, [r0, #0xac] str r1, [r0, #0xb0] add r2, r2, #0x1000 str r2, [r0, #0xb4] mov r3, #1 strh r3, [r0, #0x9c] mov r2, #2 strb r2, [r0, #0x124] strb r3, [r0, #0x125] bl func_ov25_02176bb0 mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02176a64 _02176ac4: .word 0x000004cd .global func_ov25_02176ac8 arm_func_start func_ov25_02176ac8 func_ov25_02176ac8: ; 0x02176ac8 stmdb sp!, {r4, lr} ldrh r2, [r0, #0x78] ldr r4, _02176b80 ; =data_02050f54 mov r1, #0 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r3, r2, lsl #0x1 add r2, r2, #1 ldrsh r3, [r4, r3] mov r2, r2, lsl #0x1 ldrsh r2, [r4, r2] str r3, [r0, #0x60] str r1, [r0, #0x64] str r2, [r0, #0x68] ldr ip, [r0, #0x60] ldr r2, _02176b84 ; =0x00000266 mov r3, ip, asr #0x1f umull r4, lr, ip, r2 mla lr, ip, r1, lr adds r4, r4, #0x800 mla lr, r3, r2, lr adc r3, lr, #0 mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r0, #0x60] ldr r3, [r0, #0x64] umull lr, ip, r3, r2 adds lr, lr, #0x800 mla ip, r3, r1, ip mov r3, r3, asr #0x1f mla ip, r3, r2, ip adc r3, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [r0, #0x64] ldr r3, [r0, #0x68] umull lr, ip, r3, r2 adds lr, lr, #0x800 mla ip, r3, r1, ip mov r1, r3, asr #0x1f mla ip, r1, r2, ip adc r1, ip, #0 mov r2, lr, lsr #0xc orr r2, r2, r1, lsl #20 str r2, [r0, #0x68] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02176ac8 _02176b80: .word data_02050f54 _02176b84: .word 0x00000266 .global func_ov25_02176b88 arm_func_start func_ov25_02176b88 func_ov25_02176b88: ; 0x02176b88 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 bl func_01ff9bc4 mov r0, r4 mov r1, #0 bl func_01fffd04 ldmia sp!, {r4, pc} arm_func_end func_ov25_02176b88 .global func_ov25_02176bb0 arm_func_start func_ov25_02176bb0 func_ov25_02176bb0: ; 0x02176bb0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc movs r4, r1 mov r5, r0 bne _02176bf8 bl func_ov25_02176ac8 mov r0, #0x59 str r0, [sp] add r0, r5, #0x48 str r0, [sp, #4] mov r1, #2 ldr r0, _02176c0c ; =data_027e0e58 str r1, [sp, #8] ldr r0, [r0] add r1, r5, #0x158 mov r2, #0x57 mov r3, #0x58 bl func_ov00_0207c31c _02176bf8: 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_ov25_02176bb0 _02176c0c: .word data_027e0e58 .global func_ov25_02176c10 arm_func_start func_ov25_02176c10 func_ov25_02176c10: ; 0x02176c10 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _02176cbc 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 _02176cbc mov r0, r5 bl func_ov25_02176b88 ldr r3, _02176d68 ; =0x000004cd mov r0, r5 add r2, r5, #0x60 mov r1, #4 str r3, [r5, #0x88] bl func_ov00_020c1e2c add r0, r5, #0x14 add r1, r5, #0x48 bl func_01ff9ec0 cmp r0, #0x5000 ble _02176c94 mov r0, r5 bl func_ov00_020c3180 ldmia sp!, {r3, r4, r5, pc} _02176c94: ldrb r0, [r5, #0x110] cmp r0, #0 ldreqb r0, [r5, #0x112] cmpeq r0, #0 ldreqb r0, [r5, #0x113] cmpeq r0, #0 beq _02176cbc mov r0, r5 bl func_ov00_020c3180 ldmia sp!, {r3, r4, r5, pc} _02176cbc: ldr r0, [r5, #0x130] cmp r0, #0 bne _02176d38 add r2, r5, #0x158 add r1, r5, #0x164 cmp r2, r1 beq _02176d38 _02176cd8: ldr r0, [r2] cmp r0, #0 beq _02176d2c ldr r3, [r0, #0x20] ldr ip, [r5, #0x48] ldr r3, [r3] ldr r3, [r3, #4] add r3, ip, r3 str r3, [r0, #0x28] ldr r3, [r0, #0x20] ldr ip, [r5, #0x4c] ldr r3, [r3] ldr r3, [r3, #8] add r3, ip, r3 str r3, [r0, #0x2c] ldr r3, [r0, #0x20] ldr ip, [r5, #0x50] ldr r3, [r3] ldr r3, [r3, #0xc] add r3, ip, r3 str r3, [r0, #0x30] _02176d2c: add r2, r2, #4 cmp r2, r1 bne _02176cd8 _02176d38: mov r0, #0 str r0, [sp] ldr r3, [r5, #8] ldr r0, _02176d6c ; =data_027e0ffc ldr r1, _02176d70 ; =0x000002dd add r2, r5, #0x48 bl func_ov00_020cec60 mov r1, r4 add r0, r5, #0xa4 add r2, r5, #0x48 bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02176c10 _02176d68: .word 0x000004cd _02176d6c: .word data_027e0ffc _02176d70: .word 0x000002dd .global func_ov25_02176d74 arm_func_start func_ov25_02176d74 func_ov25_02176d74: ; 0x02176d74 ldr ip, _02176d7c ; =func_ov00_020c3180 bx ip .align 2, 0 arm_func_end func_ov25_02176d74 _02176d7c: .word func_ov00_020c3180 .global func_ov25_02176d80 arm_func_start func_ov25_02176d80 func_ov25_02176d80: ; 0x02176d80 bx lr arm_func_end func_ov25_02176d80 .global func_ov25_02176d84 arm_func_start func_ov25_02176d84 func_ov25_02176d84: ; 0x02176d84 stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02176db8 ; =func_ov00_020b7d74 add r0, r4, #0x158 mov r1, #3 mov r2, #4 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_ov25_02176d84 _02176db8: .word func_ov00_020b7d74 .global func_ov25_02176dbc arm_func_start func_ov25_02176dbc func_ov25_02176dbc: ; 0x02176dbc stmdb sp!, {r4, lr} mov r4, r0 ldr r3, _02176de8 ; =func_ov00_020b7d74 add r0, r4, #0x158 mov r1, #3 mov r2, #4 bl func_0204f754 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02176dbc _02176de8: .word func_ov00_020b7d74 .global func_ov25_02176dec arm_func_start func_ov25_02176dec func_ov25_02176dec: ; 0x02176dec stmdb sp!, {r4, lr} ldr r1, _02176e20 ; =data_027e0f84 mov r4, r0 ldr r1, [r1] mov r0, #0x84 ldr r1, [r1] mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r4, pc} mov r1, r4 bl func_ov25_02176e24 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02176dec _02176e20: .word data_027e0f84 .global func_ov25_02176e24 arm_func_start func_ov25_02176e24 func_ov25_02176e24: ; 0x02176e24 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146c54 ldr r0, _02176e80 ; =data_ov25_0217a1a8 mov r2, #0 str r0, [r4] str r2, [r4, #0x7c] ldr r0, _02176e84 ; =data_027e0f68 str r2, [r4, #0x80] ldr r0, [r0] mov r1, #0x45 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x68 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 ldr r0, _02176e88 ; =0x4452554d ldr r1, _02176e8c ; =0x00000361 str r0, [r4, #0x60] mov r0, r4 strh r1, [r4, #0x64] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02176e24 _02176e80: .word data_ov25_0217a1a8 _02176e84: .word data_027e0f68 _02176e88: .word 0x4452554d _02176e8c: .word 0x00000361 .global func_ov25_02176e90 arm_func_start func_ov25_02176e90 func_ov25_02176e90: ; 0x02176e90 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146d20 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02176e90 .global func_ov25_02176ea4 arm_func_start func_ov25_02176ea4 func_ov25_02176ea4: ; 0x02176ea4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146d20 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02176ea4 .global func_ov25_02176ec0 arm_func_start func_ov25_02176ec0 func_ov25_02176ec0: ; 0x02176ec0 mov r0, #0x67 bx lr arm_func_end func_ov25_02176ec0 .global func_ov25_02176ec8 arm_func_start func_ov25_02176ec8 func_ov25_02176ec8: ; 0x02176ec8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c mov r4, r0 ldr r1, [r4, #0x18] mov r2, #0 str r1, [sp, #8] ldr r1, [r4, #0x1c] bic r2, r2, #0x1f str r1, [sp, #0xc] orr ip, r2, #0x20000009 ldr r3, [r4, #0x20] mov r2, #0x800 mov r1, #0x1000 str ip, [sp, #4] str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] bl func_ov00_0208b9cc mov r1, #0 mov r2, r0 str r1, [sp] add r0, r4, #0x38 ldr ip, [r0] ldr r3, [sp, #4] ldr ip, [ip, #0x10] add r1, sp, #8 blx ip mov r0, r4 bl func_ov14_02146d48 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} arm_func_end func_ov25_02176ec8 .global func_ov25_02176f44 arm_func_start func_ov25_02176f44 func_ov25_02176f44: ; 0x02176f44 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov14_02146e24 mov r0, r5 ldr r2, [r0] mov r1, r4 ldr r2, [r2, #0x84] blx r2 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x7c] cmp r0, #0 ldmleia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov25_02177288 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov25_02176f44 .global func_ov25_02176f88 arm_func_start func_ov25_02176f88 func_ov25_02176f88: ; 0x02176f88 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_02146eb4 mov r0, #0 str r0, [r4, #0x7c] str r0, [r4, #0x80] ldr r0, [r4, #8] cmp r0, #3 bne _02176fb4 mov r0, r4 bl func_ov25_02177064 _02176fb4: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov25_02176f88 .global func_ov25_02176fbc arm_func_start func_ov25_02176fbc func_ov25_02176fbc: ; 0x02176fbc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 cmp r1, #0 bne _02176ff8 ldr r3, [r2] add r1, sp, #0 str r3, [sp] ldr r3, [r2, #4] str r3, [sp, #4] ldr r2, [r2, #8] str r2, [sp, #8] bl func_ov14_02147584 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _02176ff8: cmp r1, #0xb blt _02177050 ldr r0, _0217705c ; =data_027e0fe4 ldr r0, [r0] bl func_ov00_020c35d8 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r3, r4, pc} ldr r1, [r0, #4] ldr r0, _02177060 ; =0x424c5354 cmp r1, r0 bne _02177050 mov r0, r4 ldr r3, [r0] mov r1, #2 ldr r3, [r3, #0x80] mov r2, #0 blx r3 add sp, sp, #0xc mov r0, #0 ldmia sp!, {r3, r4, pc} _02177050: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02176fbc _0217705c: .word data_027e0fe4 _02177060: .word 0x424c5354 .global func_ov25_02177064 arm_func_start func_ov25_02177064 func_ov25_02177064: ; 0x02177064 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r0 ldrh r0, [r4, #0x2a] cmp r0, #1 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r0, _021770e4 ; =data_027e0fe4 ldrb r5, [r4, #0x15] ldrb lr, [r4, #0x14] ldr ip, _021770e8 ; =data_ov25_0217a19c ldr r3, _021770ec ; =0x43425331 ldr r0, [r0] add r1, sp, #0 mov r2, #0 str ip, [sp] str r3, [sp, #4] strb lr, [sp, #8] strb r5, [sp, #9] bl func_ov00_020c37ec cmp r0, #0 addgt sp, sp, #0xc ldmgtia sp!, {r4, r5, pc} ldrh r0, [r4, #0x24] cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, pc} mov r0, r4 mov r1, #0x13 bl func_ov00_0208c4f8 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02177064 _021770e4: .word data_027e0fe4 _021770e8: .word data_ov25_0217a19c _021770ec: .word 0x43425331 .global func_ov25_021770f0 arm_func_start func_ov25_021770f0 func_ov25_021770f0: ; 0x021770f0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 ldr r0, _021771b4 ; =data_027e0ffc add r2, r4, #0x18 mov r1, #0x360 mov r3, #0 bl func_ov00_020ceacc ldr r0, _021771b8 ; =data_027e1038 add r1, r4, #0x18 ldr r0, [r0] bl func_ov00_020cef10 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x74] ldr r3, [r4, #0x20] ldr r0, [r4, #0x18] add r1, r2, r1 str r0, [sp, #8] str r1, [sp, #0xc] str r3, [sp, #0x10] mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021771bc ; =data_027e0e58 add r2, sp, #8 ldr r0, [r0] mov r1, #0x73 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021771bc ; =data_027e0e58 mov r1, #0x74 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021771bc ; =data_027e0e58 ldr r1, _021771c0 ; =0x000001a3 ldr r0, [r0] add r2, sp, #8 mov r3, #4 bl func_ov00_0207c1b0 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_021770f0 _021771b4: .word data_027e0ffc _021771b8: .word data_027e1038 _021771bc: .word data_027e0e58 _021771c0: .word 0x000001a3 .global func_ov25_021771c4 arm_func_start func_ov25_021771c4 func_ov25_021771c4: ; 0x021771c4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 ldr r2, [r0] mov r4, r0 ldr r2, [r2, #0x88] mov r5, r1 blx r2 cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r4, r5, pc} mov r0, #0 str r0, [sp] mov r3, #0x1f ldr r2, _0217724c ; =0x00000733 str r3, [sp, #4] mov r0, r4 mov r1, r5 sub r3, r2, #0x170 bl func_ov00_0208b8e0 ldr r1, [r4, #0x18] ldr r0, [r4, #0x80] ldr r3, [r4, #0x20] ldr r2, [r4, #0x1c] add r0, r1, r0 str r0, [sp, #8] str r3, [sp, #0x10] add r0, r4, #0x68 str r2, [sp, #0xc] ldr r2, [r0] add r1, sp, #8 ldr r2, [r2, #0x18] blx r2 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov25_021771c4 _0217724c: .word 0x00000733 .global func_ov25_02177250 arm_func_start func_ov25_02177250 func_ov25_02177250: ; 0x02177250 stmdb sp!, {r3, lr} mov lr, r0 ldr r0, [lr, #0x7c] cmp r0, #0 ldmgtia sp!, {r3, pc} mov ip, #0x1e ldr r0, _02177284 ; =data_027e0ffc add r1, ip, #0x344 add r2, lr, #0x18 mov r3, #0 str ip, [lr, #0x7c] bl func_ov00_020ceacc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02177250 _02177284: .word data_027e0ffc .global func_ov25_02177288 arm_func_start func_ov25_02177288 func_ov25_02177288: ; 0x02177288 ldr r1, [r0, #0x7c] mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #30 add r1, r2, r1, ror #30 cmp r1, #1 beq _021772b0 cmp r1, #3 mvneq r1, #0x7a streq r1, [r0, #0x80] b _021772b8 _021772b0: mov r1, #0x7b str r1, [r0, #0x80] _021772b8: ldr r1, [r0, #0x7c] sub r1, r1, #1 str r1, [r0, #0x7c] cmp r1, #0 movle r1, #0 strle r1, [r0, #0x7c] strle r1, [r0, #0x80] bx lr arm_func_end func_ov25_02177288 .global func_ov25_021772d8 arm_func_start func_ov25_021772d8 func_ov25_021772d8: ; 0x021772d8 stmdb sp!, {r3, lr} ldr r1, [r0] ldr r1, [r1, #0x28] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov25_021772d8 .global func_ov25_021772ec arm_func_start func_ov25_021772ec func_ov25_021772ec: ; 0x021772ec stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 mov r2, r1 ldr r1, [r4, #4] ldr r0, [r2, #4] cmp r1, r0 addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r4, pc} ldr r1, _02177368 ; =data_027e0e60 add r0, sp, #4 ldr r1, [r1] add r2, r2, #0x48 bl func_ov00_02083a1c ldrb r3, [sp, #4] ldrb r1, [r4, #8] ldrb r2, [sp, #5] ldrb r0, [r4, #9] strb r1, [sp, #2] cmp r1, r3 strb r0, [sp, #3] andeq r1, r0, #0xff andeq r0, r2, #0xff cmpeq r1, r0 moveq r0, #1 strb r3, [sp] strb r2, [sp, #1] movne r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021772ec _02177368: .word data_027e0e60 .global func_ov25_0217736c arm_func_start func_ov25_0217736c func_ov25_0217736c: ; 0x0217736c stmdb sp!, {r3, lr} ldr r1, _02177398 ; =data_027e0fe0 mov r0, #0x344 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02177414 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_0217736c _02177398: .word data_027e0fe0 .global func_ov25_0217739c arm_func_start func_ov25_0217739c func_ov25_0217739c: ; 0x0217739c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c6114 ldr r3, _021773c8 ; =data_ov25_0217a3d0 ldr r2, _021773cc ; =data_ov25_021795cc mov r0, r4 mov r1, #0x7e str r3, [r4] bl func_ov00_020c5c98 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_0217739c _021773c8: .word data_ov25_0217a3d0 _021773cc: .word data_ov25_021795cc .global func_ov25_021773d0 arm_func_start func_ov25_021773d0 func_ov25_021773d0: ; 0x021773d0 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x14] cmp r0, #1 ldmneia sp!, {r4, pc} add r0, r4, #0x88 mov r1, #0x2e000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x1c] mov r1, r4 ldr r3, [r0] mov r2, #0 ldr r3, [r3, #0xb0] blx r3 ldmia sp!, {r4, pc} arm_func_end func_ov25_021773d0 .global func_ov25_02177414 arm_func_start func_ov25_02177414 func_ov25_02177414: ; 0x02177414 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020ca668 ldr r2, _0217745c ; =data_ov25_0217a2c0 mov r1, r4 add r0, r4, #0x21c str r2, [r4] bl func_ov25_0217739c add r0, r4, #0x318 bl func_ov00_020c8ce4 mov r1, #0 str r1, [r4, #0x330] str r1, [r4, #0x334] str r1, [r4, #0x338] str r1, [r4, #0x33c] mov r0, r4 str r1, [r4, #0x340] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02177414 _0217745c: .word data_ov25_0217a2c0 .global func_ov25_02177460 arm_func_start func_ov25_02177460 func_ov25_02177460: ; 0x02177460 stmdb sp!, {r4, lr} ldr r1, _021774d4 ; =data_ov25_0217a238 mov r4, r0 bl func_ov00_020ca8a4 mov r0, r4 mov r1, #0x13 bl func_ov00_020c3200 mov r1, #0 strb r1, [r4, #0x119] mov r0, #1 strh r0, [r4, #0x9c] str r1, [r4, #0x6c] ldr r1, [r4, #0x4c] mov r0, r4 add r1, r1, #0x800 str r1, [r4, #0x4c] ldr r2, [r4, #0x48] add r1, r4, #0x21c str r2, [r4, #0x54] ldr r2, [r4, #0x4c] str r2, [r4, #0x58] ldr r2, [r4, #0x50] str r2, [r4, #0x5c] bl func_ov00_020cb140 mov r0, r4 mov r1, #0 bl func_ov25_021775a4 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02177460 _021774d4: .word data_ov25_0217a238 .global func_ov25_021774d8 arm_func_start func_ov25_021774d8 func_ov25_021774d8: ; 0x021774d8 ldr ip, _021774e8 ; =func_ov00_020cd010 mov r1, r0 add r0, r1, #0x330 bx ip .align 2, 0 arm_func_end func_ov25_021774d8 _021774e8: .word func_ov00_020cd010 .global func_ov25_021774ec arm_func_start func_ov25_021774ec func_ov25_021774ec: ; 0x021774ec ldr ip, _021774f8 ; =func_ov00_020cd028 add r0, r0, #0x330 bx ip .align 2, 0 arm_func_end func_ov25_021774ec _021774f8: .word func_ov00_020cd028 .global func_ov25_021774fc arm_func_start func_ov25_021774fc func_ov25_021774fc: ; 0x021774fc ldr ip, _0217750c ; =func_ov00_020cd080 ldr r1, _02177510 ; =0x0000038e add r0, r0, #0x330 bx ip .align 2, 0 arm_func_end func_ov25_021774fc _0217750c: .word func_ov00_020cd080 _02177510: .word 0x0000038e .global func_ov25_02177514 arm_func_start func_ov25_02177514 func_ov25_02177514: ; 0x02177514 ldr ip, _02177528 ; =func_ov00_020cd0a8 mov r1, r0 add r0, r1, #0x334 add r2, r1, #0x48 bx ip .align 2, 0 arm_func_end func_ov25_02177514 _02177528: .word func_ov00_020cd0a8 .global func_ov25_0217752c arm_func_start func_ov25_0217752c func_ov25_0217752c: ; 0x0217752c ldr ip, _02177540 ; =func_ov00_020cd120 ldr r3, _02177544 ; =0x0000038e add r0, r0, #0x334 mov r2, #0xcd bx ip .align 2, 0 arm_func_end func_ov25_0217752c _02177540: .word func_ov00_020cd120 _02177544: .word 0x0000038e .global func_ov25_02177548 arm_func_start func_ov25_02177548 func_ov25_02177548: ; 0x02177548 ldr ip, _02177560 ; =func_ov00_020c56d8 ldrsh r1, [r0, #0x78] ldr r3, _02177564 ; =0x00004958 add r0, r0, #0x48 mov r2, #0x3000 bx ip .align 2, 0 arm_func_end func_ov25_02177548 _02177560: .word func_ov00_020c56d8 _02177564: .word 0x00004958 .global func_ov25_02177568 arm_func_start func_ov25_02177568 func_ov25_02177568: ; 0x02177568 ldr ip, _02177580 ; =func_ov00_020c56d8 ldrsh r1, [r0, #0x78] ldr r3, _02177584 ; =0x00002ed9 add r0, r0, #0x48 mov r2, #0x6000 bx ip .align 2, 0 arm_func_end func_ov25_02177568 _02177580: .word func_ov00_020c56d8 _02177584: .word 0x00002ed9 .global func_ov25_02177588 arm_func_start func_ov25_02177588 func_ov25_02177588: ; 0x02177588 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020caef8 mov r0, r4 mov r1, #5 bl func_ov25_021775a4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02177588 .global func_ov25_021775a4 arm_func_start func_ov25_021775a4 func_ov25_021775a4: ; 0x021775a4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x3c mov r4, r0 mov r3, #0 str r3, [r4, #0x138] ldr r2, [r4, #0x130] cmp r1, #5 str r2, [r4, #0x134] str r1, [r4, #0x130] addls pc, pc, r1, lsl #2 b _021777c8 _021775d0: ; jump table b _021775e8 ; case 0 b _021776d0 ; case 1 b _02177724 ; case 2 b _0217773c ; case 3 b _02177764 ; case 4 b _0217778c ; case 5 _021775e8: mov r1, r3 strb r3, [r4, #0x32c] add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] mvn r2, #0 mov ip, #1 mov r1, #0 ldr r3, _021777d0 ; =data_ov00_020e8398 ldr r0, _021777d4 ; =data_027e0ff0 strb r2, [sp, #0x20] strb ip, [sp, #0x21] strb r1, [sp, #0x22] strb r1, [sp, #0x23] strb ip, [sp, #0x38] strb r2, [sp, #0xc] strb r2, [sp, #0xd] strb r2, [sp, #0xe] strb r2, [sp, #0xf] str r3, [sp, #0x1c] ldrsb r3, [r4, #0x2c] ldr r0, [r0] add r1, sp, #0x1c add r2, sp, #0xc strb r3, [sp, #0x20] strb ip, [sp, #0x38] bl func_ov00_020c4d5c cmp r0, #0 beq _021776c0 ldr r0, _021777d4 ; =data_027e0ff0 add r1, sp, #0xc ldr r0, [r0] bl func_ov00_020c47cc ldr r1, [r0, #4] ldr r3, _021777d8 ; =data_027e0e60 str r1, [r4, #0x48] ldr r2, [r0, #8] add r1, sp, #0 str r2, [r4, #0x4c] ldr r0, [r0, #0xc] mov r2, #1 str r0, [r4, #0x50] ldr ip, [r4, #0x48] ldr r0, [r3] str ip, [sp] ldr r3, [r4, #0x4c] str r3, [sp, #4] ldr r3, [r4, #0x50] str r3, [sp, #8] bl func_ov00_02083ee0 add r0, r0, #0x800 str r0, [r4, #0x4c] _021776c0: mov r0, r4 bl func_ov25_021774d8 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _021776d0: mov r1, r3 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldr r0, [r4, #0x130] cmp r0, #4 cmpne r0, #2 beq _02177714 ldrsh r2, [r4, #0x78] ldrsb r3, [r4, #0x2c] add r0, r4, #0x318 add r1, r4, #0x48 bl func_ov00_020c8f84 mov r0, r4 bl func_ov00_020c29d8 _02177714: mov r0, r4 bl func_ov25_02177514 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _02177724: ldrsh r2, [r4, #0x78] add r1, r4, #0x300 strh r2, [r1, #0x2e] bl func_ov25_021774d8 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _0217773c: add r0, r4, #0x21c mov r1, #1 bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_021774d8 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _02177764: mov r1, r3 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 mov r0, r4 str r2, [r1, #0x10] bl func_ov25_021774d8 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} _0217778c: add r0, r4, #0x21c mov r1, #2 bl func_ov00_020c5d74 ldr r2, [r4, #0x22c] mov r3, #0x1000 ldr r0, _021777dc ; =data_027e0ffc ldr r1, _021777e0 ; =0x00000251 str r3, [r2, #0x10] mov ip, #0x1e add r2, r4, #0x48 mov r3, #0 strb ip, [r4, #0x32c] bl func_ov00_020ceacc mov r0, r4 bl func_ov25_021774d8 _021777c8: add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_021775a4 _021777d0: .word data_ov00_020e8398 _021777d4: .word data_027e0ff0 _021777d8: .word data_027e0e60 _021777dc: .word data_027e0ffc _021777e0: .word 0x00000251 .global func_ov25_021777e4 arm_func_start func_ov25_021777e4 func_ov25_021777e4: ; 0x021777e4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrb r0, [r4, #0x32c] cmp r0, #0x1e ldr r0, [r4, #0x164] orreq r0, r0, #8 bicne r0, r0, #8 str r0, [r4, #0x164] ldrb r0, [r4, #0x32c] cmp r0, #0x1e bne _02177824 mov r0, r4 mov r1, #1 mov r2, #0 bl func_ov00_020c1e2c _02177824: ldr r0, [r4, #0x130] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02177b48 _02177834: ; jump table b _0217784c ; case 0 b _02177880 ; case 1 b _02177930 ; case 2 b _02177ab4 ; case 3 b _02177ae0 ; case 4 b _02177b04 ; case 5 _0217784c: mov r0, r4 bl func_ov25_021774ec ldrb r0, [r4, #0x32c] cmp r0, #0x1e addlo r0, r0, #1 strlob r0, [r4, #0x32c] ldrb r0, [r4, #0x32c] cmp r0, #0x1e bne _02177b48 mov r0, r4 mov r1, #1 bl func_ov25_021775a4 b _02177b48 _02177880: add r1, sp, #0 add r0, r4, #0x318 bl func_ov00_020c9034 add r1, sp, #0 mov r0, r4 bl func_ov25_0217752c ldr r1, _02177b54 ; =0x0000019a add r2, sp, #0 add r0, r4, #0x48 bl func_ov00_020ce284 cmp r0, #0 beq _021778b8 add r0, r4, #0x318 bl func_ov00_020c9070 _021778b8: mov r0, r4 bl func_ov25_02177548 cmp r0, #0 mov r0, r4 beq _021778d8 mov r1, #5 bl func_ov25_021775a4 b _02177b48 _021778d8: bl func_ov25_02177568 cmp r0, #0 mov r0, r4 beq _021778f4 mov r1, #3 bl func_ov25_021775a4 b _02177b48 _021778f4: mov r1, #0x2000 bl func_ov00_020c29ec cmp r0, #0 beq _02177914 mov r0, r4 mov r1, #5 bl func_ov25_021775a4 b _02177b48 _02177914: ldr r0, [r4, #0x138] cmp r0, #0x96 ble _02177b48 mov r0, r4 mov r1, #2 bl func_ov25_021775a4 b _02177b48 _02177930: mov r0, r4 bl func_ov25_021774ec ldr r0, [r4, #0x138] cmp r0, #0x3c bge _021779a4 add r0, r4, #0x300 ldrsh r0, [r0, #0x2e] ldrsh r2, [r4, #0x78] ldr r1, _02177b58 ; =0xffff8001 add r0, r0, #0x4000 mov r0, r0, lsl #0x10 sub r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _02177984 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _02177984: ldr r0, _02177b5c ; =0x0000038e cmp r2, r0 ble _02177a78 ldrsh r0, [r4, #0x78] add r0, r0, #0x8e add r0, r0, #0x300 strh r0, [r4, #0x78] b _02177a78 _021779a4: cmp r0, #0x96 bge _02177a08 add r0, r4, #0x300 ldrsh r0, [r0, #0x2e] ldrsh r2, [r4, #0x78] ldr r1, _02177b58 ; =0xffff8001 sub r0, r0, #0x4000 mov r0, r0, lsl #0x10 sub r0, r2, r0, asr #16 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _021779ec cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _021779ec: ldr r0, _02177b5c ; =0x0000038e cmp r2, r0 ble _02177a78 ldrsh r1, [r4, #0x78] sub r0, r1, r0 strh r0, [r4, #0x78] b _02177a78 _02177a08: cmp r0, #0xb4 bge _02177a68 add r0, r4, #0x300 ldrsh r2, [r4, #0x78] ldrsh r0, [r0, #0x2e] ldr r1, _02177b58 ; =0xffff8001 sub r0, r2, r0 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 cmp r1, r0, asr #16 movgt r2, r1, lsr #0x11 bgt _02177a48 cmp r2, #0 rsblt r0, r2, #0 movlt r0, r0, lsl #0x10 movlt r2, r0, asr #0x10 _02177a48: ldr r0, _02177b5c ; =0x0000038e cmp r2, r0 ble _02177a78 ldrsh r0, [r4, #0x78] add r0, r0, #0x8e add r0, r0, #0x300 strh r0, [r4, #0x78] b _02177a78 _02177a68: mov r0, r4 mov r1, #1 bl func_ov25_021775a4 b _02177b48 _02177a78: mov r0, r4 bl func_ov25_02177548 cmp r0, #0 mov r0, r4 beq _02177a98 mov r1, #5 bl func_ov25_021775a4 b _02177b48 _02177a98: bl func_ov25_02177568 cmp r0, #0 beq _02177b48 mov r0, r4 mov r1, #3 bl func_ov25_021775a4 b _02177b48 _02177ab4: mov r0, r4 bl func_ov25_021774fc ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02177b48 mov r0, r4 mov r1, #4 bl func_ov25_021775a4 b _02177b48 _02177ae0: mov r0, r4 bl func_ov25_021774fc ldr r0, [r4, #0x138] cmp r0, #0 ble _02177b48 mov r0, r4 mov r1, #5 bl func_ov25_021775a4 b _02177b48 _02177b04: mov r0, r4 bl func_ov25_021774fc ldrb r0, [r4, #0x32c] cmp r0, #0 subne r0, r0, #1 strneb r0, [r4, #0x32c] ldrb r0, [r4, #0x32c] cmp r0, #0 bne _02177b48 ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _02177b48 mov r0, r4 mov r1, #0 bl func_ov25_021775a4 _02177b48: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_021777e4 _02177b54: .word 0x0000019a _02177b58: .word 0xffff8001 _02177b5c: .word 0x0000038e .global func_ov25_02177b60 arm_func_start func_ov25_02177b60 func_ov25_02177b60: ; 0x02177b60 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 bl func_ov00_020c31c0 ldrb r1, [r4, #0x32c] mov r0, r4 bl func_ov00_020cc9c4 mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov25_02177b60 .global func_ov25_02177b84 arm_func_start func_ov25_02177b84 func_ov25_02177b84: ; 0x02177b84 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldrb r1, [r4, #0x32c] ldr r0, [r4, #0x220] bl func_020197fc add r1, sp, #0 mov r0, r4 bl func_ov00_020cc1f8 add r1, sp, #0 add r0, r4, #0x21c bl func_ov00_020c5fc0 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov25_02177b84 .global func_ov25_02177bbc arm_func_start func_ov25_02177bbc func_ov25_02177bbc: ; 0x02177bbc stmdb sp!, {r3, r4, r5, r6, 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 r1, sp, #4 str r0, [sp, #0x2c] ldr r0, [r4, #0xc] mov ip, #0 str r0, [sp, #0x30] ldrb r2, [r4, #0x124] ldr r5, _02177ca4 ; =data_02050f54 ldr r0, _02177ca8 ; =0x000004cd str r2, [sp, #0x34] ldrh lr, [r4, #0x78] add r2, r4, #0x48 mov r3, r1 str ip, [sp, #8] mov ip, lr, asr #0x4 mov r6, ip, lsl #0x1 mov ip, r6, lsl #0x1 ldrsh lr, [r5, ip] add ip, r6, #1 mov ip, ip, lsl #0x1 ldrsh ip, [r5, ip] str lr, [sp, #4] str ip, [sp, #0xc] bl func_01ff9e64 ldr r0, [sp, #8] mov r1, #0 add r0, r0, #0xcd add r0, r0, #0x400 str r0, [sp, #8] str r1, [sp] ldr r0, _02177cac ; =data_027e0fe8 ldr r1, _02177cb0 ; =0x47534642 ldr r0, [r0] add r2, sp, #4 add r3, sp, #0x10 bl func_ov00_020c4048 cmp r0, #0 addlt sp, sp, #0x3c movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, pc} ldr r0, _02177cb4 ; =data_027e0ffc add r2, r4, #0x48 mov r1, #0x250 mov r3, #0 bl func_ov00_020ceacc mov r0, #1 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02177bbc _02177ca4: .word data_02050f54 _02177ca8: .word 0x000004cd _02177cac: .word data_027e0fe8 _02177cb0: .word 0x47534642 _02177cb4: .word data_027e0ffc .global func_ov25_02177cb8 arm_func_start func_ov25_02177cb8 func_ov25_02177cb8: ; 0x02177cb8 stmdb sp!, {r3, lr} cmp r2, #0 ldmneia sp!, {r3, pc} bl func_ov25_02177bbc ldmia sp!, {r3, pc} arm_func_end func_ov25_02177cb8 .global func_ov25_02177ccc arm_func_start func_ov25_02177ccc func_ov25_02177ccc: ; 0x02177ccc stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x298 blx func_ov00_020a9b6c add r0, r4, #0x23c blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _02177d18 ; =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_ov25_02177ccc _02177d18: .word func_ov00_020b7d74 .global func_ov25_02177d1c arm_func_start func_ov25_02177d1c func_ov25_02177d1c: ; 0x02177d1c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x298 blx func_ov00_020a9b6c add r0, r4, #0x23c blx func_ov00_020a95a4 add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _02177d60 ; =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_ov25_02177d1c _02177d60: .word func_ov00_020b7d74 .global func_ov25_02177d64 arm_func_start func_ov25_02177d64 func_ov25_02177d64: ; 0x02177d64 stmdb sp!, {r3, lr} ldr r1, _02177d90 ; =data_027e0fe0 mov r0, #0x17c ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02177d94 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02177d64 _02177d90: .word data_027e0fe0 .global func_ov25_02177d94 arm_func_start func_ov25_02177d94 func_ov25_02177d94: ; 0x02177d94 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r0, _02177dc0 ; =data_ov25_0217a434 mov r1, #0 str r0, [r4] str r1, [r4, #0x170] str r1, [r4, #0x174] mov r0, r4 str r1, [r4, #0x178] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02177d94 _02177dc0: .word data_ov25_0217a434 .global func_ov25_02177dc4 arm_func_start func_ov25_02177dc4 func_ov25_02177dc4: ; 0x02177dc4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 ldr r0, _02177efc ; =data_027e0f94 add r1, r4, #0x48 add r2, r4, #0x60 bl func_01ff9bf8 mov r0, #0 str r0, [r4, #0x64] ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] bl func_01ffa0f4 add r1, r4, #0x100 strh r0, [r1, #0x5c] ldrh r1, [r1, #0x5c] ldr r3, _02177f00 ; =data_02050f54 mov r0, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 add r1, r1, #1 ldrsh r2, [r3, r2] mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] str r2, [r4, #0x60] str r0, [r4, #0x64] str r1, [r4, #0x68] ldr r2, [r4, #0x60] mov r1, #0x148 umull r5, r3, r2, r1 mla r3, r2, r0, r3 mov r2, r2, asr #0x1f mla r3, r2, r1, r3 adds r5, r5, #0x800 adc r2, r3, #0 mov r3, r5, lsr #0xc orr r3, r3, r2, lsl #20 str r3, [r4, #0x60] ldr r3, [r4, #0x64] ldr r2, _02177f04 ; =data_027e0764 umull r6, r5, r3, r1 mla r5, r3, r0, r5 mov r3, r3, asr #0x1f mla r5, r3, r1, r5 adds r6, r6, #0x800 adc r3, r5, #0 mov r5, r6, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [r4, #0x64] ldr r5, [r4, #0x68] umull r7, r6, r5, r1 mla r6, r5, r0, r6 mov r3, r5, asr #0x1f mla r6, r3, r1, r6 adds r3, r7, #0x800 adc r1, r6, #0 mov r3, r3, lsr #0xc orr r3, r3, r1, lsl #20 str r3, [r4, #0x68] ldr r3, [r2] ldmib r2, {r1, lr} umull r6, r5, lr, r3 mla r5, lr, r1, r5 ldr ip, [r2, #0xc] ldr r8, [r2, #0x10] mla r5, ip, r3, r5 ldr r7, [r2, #0x14] adds r3, r8, r6 adc r1, r7, r5 str r3, [r2] tst r1, #0x80000000 str r1, [r2, #4] movne r0, #1 strb r0, [r4, #0x158] add r0, r4, #0x100 mov r1, #0 strh r1, [r0, #0x5a] strh r1, [r0, #0x6c] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov25_02177dc4 _02177efc: .word data_027e0f94 _02177f00: .word data_02050f54 _02177f04: .word data_027e0764 .global func_ov25_02177f08 arm_func_start func_ov25_02177f08 func_ov25_02177f08: ; 0x02177f08 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 add r0, r4, #0x100 ldrsh r1, [r0, #0x5a] sub r1, r1, #1 strh r1, [r0, #0x5a] ldrsh r1, [r0, #0x5a] cmp r1, #0 bgt _02177fe0 ldr r1, _02178090 ; =data_027e0764 mov r2, #0 ldr r5, [r1] ldmib r1, {r3, r6} umull lr, ip, r6, r5 mla ip, r6, r3, ip ldr r3, [r1, #0xc] ldr r6, [r1, #0x10] mla ip, r3, r5, ip ldr r3, [r1, #0x14] adds r5, r6, lr str r5, [r1] adc r3, r3, ip str r3, [r1, #4] add r1, r2, #0x14 strh r1, [r0, #0x5a] ldrb r0, [r4, #0x158] cmp r0, #0 moveq r0, #1 movne r0, r2 strb r0, [r4, #0x158] tst r0, #0xff add r0, r4, #0x100 ldrnesh r0, [r0, #0x5c] ldr r2, _02178094 ; =data_02050f54 addne r0, r0, #0x2000 ldreqsh r0, [r0, #0x5c] subeq r0, r0, #0x2000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r1, r0, lsl #0x1 add r0, r0, #1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 ldrsh r0, [r2, r0] str r1, [r4, #0x160] mov r1, #0 str r1, [r4, #0x164] str r0, [r4, #0x168] str r1, [r4, #0x160] str r1, [r4, #0x168] _02177fe0: ldr r2, [r4, #0x60] ldr r1, [r4, #0x160] add r0, r4, #0x60 add r1, r2, r1 str r1, [r4, #0x60] ldr r3, [r4, #0x68] ldr r1, [r4, #0x168] mov r2, r0 add r3, r3, r1 mov r1, #0x148 str r3, [r4, #0x68] bl func_0202dc38 add r1, r4, #0x100 ldrh r0, [r1, #0x6c] ldr ip, _02178094 ; =data_02050f54 ldr r2, _02178098 ; =0x0000019a add r0, r0, #0x3b8 add r0, r0, #0x800 strh r0, [r1, #0x6c] ldrh r0, [r1, #0x6c] mov r3, #0 ldr r1, [r4, #0x18] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh lr, [ip, r0] ldr ip, [r4, #0x4c] add r0, r4, #0x48 umull r6, r5, lr, r2 mla r5, lr, r3, r5 mov r3, lr, asr #0x1f mla r5, r3, r2, r5 adds r6, r6, #0x800 adc r2, r5, #0 mov r3, r6, lsr #0xc orr r3, r3, r2, lsl #20 add r1, r1, r3 sub r3, r1, ip add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x64] bl func_01ff9bc4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02177f08 _02178090: .word data_027e0764 _02178094: .word data_02050f54 _02178098: .word 0x0000019a .global func_ov25_0217809c arm_func_start func_ov25_0217809c func_ov25_0217809c: ; 0x0217809c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r3, _021781bc ; =data_ov25_0217a970 mov r4, r0 ldr r0, [r3, #0x20] tst r0, #1 bne _021780e0 ldr ip, _021781c0 ; =data_ov00_020e892c ldr r0, _021781c4 ; =data_ov25_0217a9a0 ldr r1, _021781c8 ; =func_ov25_021781d8 ldr r2, _021781cc ; =data_ov25_0217a994 str ip, [r3, #0x30] bl func_0204f8d4 ldr r0, _021781bc ; =data_ov25_0217a970 ldr r1, [r0, #0x20] orr r1, r1, #1 str r1, [r0, #0x20] _021780e0: mov r1, #0x8f ldr r0, _021781c4 ; =data_ov25_0217a9a0 strh r1, [r4, #0x9c] str r0, [r4, #0xa0] mov lr, #0 str lr, [r4, #0x7c] str lr, [r4, #0x80] ldr r1, _021781d0 ; =0x000004cd str lr, [r4, #0x84] str r1, [r4, #0x88] ldr r0, [r4, #0x7c] add r3, r1, #0x1000 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] mov r2, #2 str r0, [r4, #0x90] ldr r1, [r4, #0x84] ldr r0, _021781d4 ; =data_027e0e58 str r1, [r4, #0x94] ldr ip, [r4, #0x88] add r1, r4, #0x170 str ip, [r4, #0x98] str lr, [r4, #0xa8] str lr, [r4, #0xac] str lr, [r4, #0xb0] str r3, [r4, #0xb4] ldr ip, [r4, #0x140] add r3, r4, #0x48 strb ip, [r4, #0x124] str r2, [sp] ldr r0, [r0] mov r2, #0xb9 bl func_ov00_0207c1f8 mov r1, #2 ldr r0, _021781d4 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r4, #0x174 add r3, r4, #0x48 mov r2, #0xba bl func_ov00_0207c1f8 mov r1, #2 ldr r0, _021781d4 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] add r1, r4, #0x178 add r3, r4, #0x48 mov r2, #0xbb bl func_ov00_0207c1f8 mov r0, r4 mov r1, #0 bl func_ov25_021781ec mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_0217809c _021781bc: .word data_ov25_0217a970 _021781c0: .word data_ov00_020e892c _021781c4: .word data_ov25_0217a9a0 _021781c8: .word func_ov25_021781d8 _021781cc: .word data_ov25_0217a994 _021781d0: .word 0x000004cd _021781d4: .word data_027e0e58 .global func_ov25_021781d8 arm_func_start func_ov25_021781d8 func_ov25_021781d8: ; 0x021781d8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_02081f4c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_021781d8 .global func_ov25_021781ec arm_func_start func_ov25_021781ec func_ov25_021781ec: ; 0x021781ec stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 beq _02178204 cmp r4, #1 b _02178208 _02178204: bl func_ov25_02177dc4 _02178208: mov r0, #0 str r0, [r5, #0x138] str r4, [r5, #0x130] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov25_021781ec .global func_ov25_02178218 arm_func_start func_ov25_02178218 func_ov25_02178218: ; 0x02178218 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 mov r5, r0 mov r4, r1 bl func_ov00_020c313c cmp r0, #0 beq _021784e8 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 _0217826c cmp r0, #1 beq _0217846c b _021784e8 _0217826c: mov r0, r5 bl func_ov25_02177f08 ldr r0, [r5, #0x170] cmp r0, #0 beq _021782c8 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] _021782c8: ldr r0, [r5, #0x174] cmp r0, #0 beq _0217831c 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] _0217831c: add r0, r5, #0x48 add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02178500 ; =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, #0x178] cmp r0, #0 beq _021783b0 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] _021783b0: mov r0, r5 mov r1, #4 bl func_ov00_020c1fc8 cmp r0, #0 beq _02178404 ldr r0, _02178504 ; =data_027e0fb4 mov r1, #2 ldr r0, [r0] bl func_ov00_020ad9e8 cmp r0, #1 blt _02178404 bl func_ov25_0217850c add r2, r5, #0x48 mov r1, #0xf9 mov r3, #0 bl func_ov00_020c070c mov r0, r5 mov r1, #1 bl func_ov25_021781ec add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02178404: mov r0, r5 add r2, r5, #0x60 mov r1, #4 bl func_ov00_020c1e2c cmp r0, #0 mov r0, r5 beq _02178430 mov r1, #1 bl func_ov25_021781ec add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02178430: mov r1, #0 bl func_01fffd04 cmp r0, #0 beq _02178450 mov r0, r5 mov r1, #1 bl func_ov25_021781ec b _021784e8 _02178450: ldr r0, [r5, #0x138] cmp r0, #0x96 ble _021784e8 mov r0, r5 mov r1, #1 bl func_ov25_021781ec b _021784e8 _0217846c: ldr r0, [r5, #0x138] ldr r3, [r5, #0x170] rsb r0, r0, #0xa rsb r1, r0, r0, lsl #5 ldr r2, _02178508 ; =0x66666667 mov r0, r1, lsr #0x1f smull r1, ip, r2, r1 add ip, r0, ip, asr #2 cmp r3, #0 and ip, ip, #0xff beq _021784b0 ldr r1, [r3, #0x84] and r0, ip, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r3, #0x84] _021784b0: ldr r2, [r5, #0x178] cmp r2, #0 beq _021784d4 ldr r1, [r2, #0x84] and r0, ip, #0xff bic r1, r1, #0xff00 mov r0, r0, lsl #0x18 orr r0, r1, r0, lsr #16 str r0, [r2, #0x84] _021784d4: ldr r0, [r5, #0x138] cmp r0, #0xa blt _021784e8 mov r0, r5 bl func_ov00_020c3180 _021784e8: 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_ov25_02178218 _02178500: .word data_027e0e60 _02178504: .word data_027e0fb4 _02178508: .word 0x66666667 .global func_ov25_0217850c arm_func_start func_ov25_0217850c func_ov25_0217850c: ; 0x0217850c ldr ip, _02178518 ; =func_01fffcec mov r0, #1 bx ip .align 2, 0 arm_func_end func_ov25_0217850c _02178518: .word func_01fffcec .global func_ov25_0217851c arm_func_start func_ov25_0217851c func_ov25_0217851c: ; 0x0217851c bx lr arm_func_end func_ov25_0217851c .global func_ov25_02178520 arm_func_start func_ov25_02178520 func_ov25_02178520: ; 0x02178520 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x178 bl func_ov00_020b7d74 add r0, r4, #0x174 bl func_ov00_020b7d74 add r0, r4, #0x170 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_ov25_02178520 .global func_ov25_02178558 arm_func_start func_ov25_02178558 func_ov25_02178558: ; 0x02178558 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x178 bl func_ov00_020b7d74 add r0, r4, #0x174 bl func_ov00_020b7d74 add r0, r4, #0x170 bl func_ov00_020b7d74 mov r0, r4 bl func_ov00_020c1730 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02178558 .global func_ov25_02178588 arm_func_start func_ov25_02178588 func_ov25_02178588: ; 0x02178588 stmdb sp!, {r3, lr} ldr r1, _021785b4 ; =data_027e0fe0 mov r0, #0x2cc ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_021785b8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02178588 _021785b4: .word data_027e0fe0 .global func_ov25_021785b8 arm_func_start func_ov25_021785b8 func_ov25_021785b8: ; 0x021785b8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov14_0215133c ldr r3, _0217861c ; =data_ov25_0217a4f0 add r0, r4, #0x1b8 add r1, r4, #0x1dc mov r2, #0 str r3, [r4] blx func_ov00_020c0c08 ldr r3, _02178620 ; =data_ov25_0217a5bc add r0, r4, #0x224 add r1, r4, #0x248 mov r2, #0 str r3, [r4, #0x1b8] blx func_ov00_020c0c08 ldr r3, _02178624 ; =data_ov25_0217a5ac add r0, r4, #0x278 add r1, r4, #0x29c mov r2, #0 str r3, [r4, #0x224] blx func_ov00_020c0c08 ldr r1, _02178624 ; =data_ov25_0217a5ac mov r0, r4 str r1, [r4, #0x278] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021785b8 _0217861c: .word data_ov25_0217a4f0 _02178620: .word data_ov25_0217a5bc _02178624: .word data_ov25_0217a5ac .global func_ov25_02178628 arm_func_start func_ov25_02178628 func_ov25_02178628: ; 0x02178628 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x278 blx func_ov00_020a9aec add r0, r4, #0x224 blx func_ov00_020a9aec add r0, r4, #0x1b8 blx func_ov00_020a9b4c mov r0, r4 bl func_ov14_021513fc mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02178628 .global func_ov25_02178658 arm_func_start func_ov25_02178658 func_ov25_02178658: ; 0x02178658 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x278 blx func_ov00_020a9aec add r0, r4, #0x224 blx func_ov00_020a9aec add r0, r4, #0x1b8 blx func_ov00_020a9b4c mov r0, r4 bl func_ov14_021513fc mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02178658 .global func_ov25_02178690 arm_func_start func_ov25_02178690 func_ov25_02178690: ; 0x02178690 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #1 str r1, [r4, #0x158] bl func_ov14_0215141c ldr r0, _021787b4 ; =data_027e0f68 mov r1, #0x74 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc ldr r1, _021787b4 ; =data_027e0f68 str r0, [r4, #0x1c0] ldr r0, [r1] ldr r3, _021787b8 ; =data_ov25_02179608 mov r1, #0x74 mov r2, #0 bl func_ov00_0208cd0c mov r2, #0 mov r1, r0 add r0, r4, #0x1b8 mov r3, r2 bl func_ov00_020c0cc8 ldr r0, _021787b4 ; =data_027e0f68 mov r1, #0x74 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc str r0, [r4, #0x22c] ldr r0, _021787b4 ; =data_027e0f68 mov r1, #0x74 ldr r0, [r0] mov r2, #2 ldr r3, _021787b8 ; =data_ov25_02179608 bl func_ov00_0208cd0c mov r1, r0 add r0, r4, #0x224 mov r2, #0 mov r3, r2 bl func_ov00_020c0cc8 ldr r0, _021787b4 ; =data_027e0f68 mov r1, #0x74 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc str r0, [r4, #0x280] ldr r0, _021787b4 ; =data_027e0f68 mov r1, #0x74 ldr r0, [r0] mov r2, #1 ldr r3, _021787b8 ; =data_ov25_02179608 bl func_ov00_0208cd0c mov r1, r0 add r0, r4, #0x278 mov r2, #0 mov r3, r2 bl func_ov00_020c0cc8 add r0, r4, #0x15c add r1, r4, #0x1b8 ldr r2, [r0] ldr r2, [r2, #0x24] blx r2 add r0, r4, #0x15c ldr r2, [r0] add r1, r4, #0x224 ldr r2, [r2, #0x24] blx r2 add r0, r4, #0x15c ldr r2, [r0] add r1, r4, #0x278 ldr r2, [r2, #0x24] blx r2 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178690 _021787b4: .word data_027e0f68 _021787b8: .word data_ov25_02179608 .global func_ov25_021787bc arm_func_start func_ov25_021787bc func_ov25_021787bc: ; 0x021787bc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c313c cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x1b8 bl func_ov00_020c0e04 add r0, r4, #0x224 bl func_ov00_020c0e04 add r0, r4, #0x278 bl func_ov00_020c0e04 ldmia sp!, {r4, pc} arm_func_end func_ov25_021787bc .global func_ov25_021787ec arm_func_start func_ov25_021787ec func_ov25_021787ec: ; 0x021787ec stmdb sp!, {r3, lr} ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov25_021787ec .global func_ov25_02178800 arm_func_start func_ov25_02178800 func_ov25_02178800: ; 0x02178800 stmdb sp!, {r3, lr} ldr r1, _0217882c ; =data_027e0fe0 mov r0, #0x1b4 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02178830 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02178800 _0217882c: .word data_027e0fe0 .global func_ov25_02178830 arm_func_start func_ov25_02178830 func_ov25_02178830: ; 0x02178830 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020c1554 ldr r2, _02178858 ; =data_ov25_0217a5cc add r0, r4, #0x158 mov r1, #0 str r2, [r4] blx func_ov00_020a9588 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178830 _02178858: .word data_ov25_0217a5cc .global func_ov25_0217885c arm_func_start func_ov25_0217885c func_ov25_0217885c: ; 0x0217885c stmdb sp!, {r4, lr} mov r4, r0 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_ov25_0217885c .global func_ov25_0217887c arm_func_start func_ov25_0217887c func_ov25_0217887c: ; 0x0217887c stmdb sp!, {r4, lr} mov r4, r0 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_ov25_0217887c .global func_ov25_021788a4 arm_func_start func_ov25_021788a4 func_ov25_021788a4: ; 0x021788a4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r0 mov r0, #0 str r0, [r4, #0x7c] str r0, [r4, #0x80] str r0, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] ldr r0, _021789b8 ; =data_027e0e60 str r1, [r4, #0x8c] ldr r2, [r4, #0x80] add r1, sp, #0xc str r2, [r4, #0x90] ldr r2, [r4, #0x84] str r2, [r4, #0x94] ldr r2, [r4, #0x88] str r2, [r4, #0x98] ldr r0, [r0] bl func_ov00_0208344c ldr r2, [sp, #0x14] ldr r1, [sp, #0x10] ldr r0, [sp, #0xc] str r0, [r4, #0x48] str r1, [r4, #0x4c] str r2, [r4, #0x50] ldrh r0, [r4, #0x20] cmp r0, #0 beq _02178984 cmp r0, #1 beq _0217892c cmp r0, #2 beq _02178958 b _02178984 _0217892c: ldr r0, _021789bc ; =data_027e0f68 mov r1, #0xcd ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _021789ac _02178958: ldr r0, _021789bc ; =data_027e0f68 mov r1, #0xce ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 b _021789ac _02178984: ldr r0, _021789bc ; =data_027e0f68 mov r1, #0xc2 ldr r0, [r0] mov r2, #0 bl func_ov00_0208ccdc mov r1, r0 add r0, r4, #0x158 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 _021789ac: mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021788a4 _021789b8: .word data_027e0e60 _021789bc: .word data_027e0f68 .global func_ov25_021789c0 arm_func_start func_ov25_021789c0 func_ov25_021789c0: ; 0x021789c0 stmdb sp!, {r3, lr} mov r1, r0 add r0, r1, #0x158 ldr r2, [r0] add r1, r1, #0x48 ldr r2, [r2, #0x18] blx r2 ldmia sp!, {r3, pc} arm_func_end func_ov25_021789c0 .global func_ov25_021789e0 arm_func_start func_ov25_021789e0 func_ov25_021789e0: ; 0x021789e0 stmdb sp!, {r3, lr} ldr r1, _02178a0c ; =data_027e0fe0 mov r0, #0x360 ldr r1, [r1] mov r2, #4 ldr r1, [r1] bl func_0202e9dc cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov25_02178c30 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_021789e0 _02178a0c: .word data_027e0fe0 .global func_ov25_02178a10 arm_func_start func_ov25_02178a10 func_ov25_02178a10: ; 0x02178a10 stmdb sp!, {r4, lr} mov r1, #0 mov r4, r0 blx func_ov00_020a956c ldr r1, _02178a30 ; =data_ov25_0217a82c mov r0, r4 str r1, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178a10 _02178a30: .word data_ov25_0217a82c .global func_ov25_02178a34 arm_func_start func_ov25_02178a34 func_ov25_02178a34: ; 0x02178a34 ldr ip, _02178a44 ; =func_ov00_020a9998 mov r1, #6 mov r2, #3 bx ip .align 2, 0 arm_func_end func_ov25_02178a34 _02178a44: .word func_ov00_020a9998 .global func_ov25_02178a48 arm_func_start func_ov25_02178a48 func_ov25_02178a48: ; 0x02178a48 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldr r2, [r4, #4] ldr r1, _02178aa4 ; =data_ov25_02179618 ldr r2, [r2, #4] mov r5, r0 add r0, r2, #0x40 bl func_0201e388 ldr r1, [r4, #8] tst r1, #0x10 ldrneb r1, [r4, #0xae] mvneq r1, #0 cmp r0, r1 ldmneia sp!, {r3, r4, r5, pc} add r0, r5, #0x5c mov r1, #0 bl func_0201b1bc bl func_02018450 mov r1, r0 add r0, r5, #0x5c mov r2, r0 bl func_01ff8e84 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov25_02178a48 _02178aa4: .word data_ov25_02179618 .global func_ov25_02178aa8 arm_func_start func_ov25_02178aa8 func_ov25_02178aa8: ; 0x02178aa8 ldr r3, [r0, #0x88] ldr r2, [r0, #0x84] ldr r0, [r0, #0x80] stmia r1, {r0, r2, r3} bx lr arm_func_end func_ov25_02178aa8 .global func_ov25_02178abc arm_func_start func_ov25_02178abc func_ov25_02178abc: ; 0x02178abc stmdb sp!, {r4, lr} mov r4, r0 add r2, r4, #0x20 add r3, r4, #0xac bl func_ov00_020c5c2c ldr r1, _02178b18 ; =data_ov25_0217a818 add r0, r4, #0x20 str r1, [r4] bl func_ov25_02178a10 add r0, r4, #0xac add r1, r4, #0xd0 mov r2, #0 blx func_ov00_020c0c08 ldr r3, _02178b1c ; =data_ov25_02179d8c ldr r2, _02178b20 ; =data_ov25_0217962c mov r0, r4 mov r1, #0x72 str r3, [r4, #0xac] bl func_ov00_020c5c98 add r0, r4, #0x20 bl func_ov25_02178a34 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178abc _02178b18: .word data_ov25_0217a818 _02178b1c: .word data_ov25_02179d8c _02178b20: .word data_ov25_0217962c .global func_ov25_02178b24 arm_func_start func_ov25_02178b24 func_ov25_02178b24: ; 0x02178b24 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02178b24 .global func_ov25_02178b38 arm_func_start func_ov25_02178b38 func_ov25_02178b38: ; 0x02178b38 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x14] cmp r0, #3 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _02178b50: ; jump table b _02178b60 ; case 0 b _02178b90 ; case 1 b _02178bc0 ; case 2 b _02178bf0 ; case 3 _02178b60: add r0, r4, #0xb8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r2, [r4, #0x1c] ldr r0, _02178c20 ; =data_027e0ffc ldr r1, _02178c24 ; =0x0000041e add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} _02178b90: add r0, r4, #0xb8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r2, [r4, #0x1c] ldr r0, _02178c20 ; =data_027e0ffc ldr r1, _02178c28 ; =0x0000041f add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} _02178bc0: add r0, r4, #0xb8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0x1c] ldr r0, _02178c20 ; =data_027e0ffc add r2, r1, #0x48 mov r1, #0x420 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} _02178bf0: add r0, r4, #0xb8 mov r1, #0x1000 bl func_0202e310 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r2, [r4, #0x1c] ldr r0, _02178c20 ; =data_027e0ffc ldr r1, _02178c2c ; =0x00000421 add r2, r2, #0x48 mov r3, #0 bl func_ov00_020ceacc ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178b38 _02178c20: .word data_027e0ffc _02178c24: .word 0x0000041e _02178c28: .word 0x0000041f _02178c2c: .word 0x00000421 .global func_ov25_02178c30 arm_func_start func_ov25_02178c30 func_ov25_02178c30: ; 0x02178c30 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020ca668 ldr r2, _02178c58 ; =data_ov25_0217a708 mov r1, r4 add r0, r4, #0x21c str r2, [r4] bl func_ov25_02178abc mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178c30 _02178c58: .word data_ov25_0217a708 .global func_ov25_02178c5c arm_func_start func_ov25_02178c5c func_ov25_02178c5c: ; 0x02178c5c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _02178cec ; =data_ov25_0217a680 mov r4, r0 bl func_ov00_020ca8a4 add r2, r4, #0x100 ldrh r3, [r2, #0xb0] mov r0, r4 add r1, r4, #0x21c bic r3, r3, #4 strh r3, [r2, #0xb0] ldr r2, [r4, #0x88] str r2, [r4, #0x358] ldr ip, [r4, #0x4c] ldr r3, [r4, #0x50] ldr r2, [r4, #0x48] str r2, [r4, #0x34c] str ip, [r4, #0x350] str r3, [r4, #0x354] bl func_ov00_020cb140 mov r1, #0 str r1, [r4, #0x35c] ldrh r0, [r4, #0x20] cmp r0, #0 beq _02178cd0 cmp r0, #1 moveq r0, #1 streq r0, [r4, #0x348] b _02178cd4 _02178cd0: str r1, [r4, #0x348] _02178cd4: mov r0, r4 mov r1, #0 bl func_ov25_02178d8c mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02178c5c _02178cec: .word data_ov25_0217a680 .global func_ov25_02178cf0 arm_func_start func_ov25_02178cf0 func_ov25_02178cf0: ; 0x02178cf0 ldr r1, [r0, #0x15c] cmp r1, #0 ldreq r0, [r0, #0x130] cmpeq r0, #3 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov25_02178cf0 .global func_ov25_02178d0c arm_func_start func_ov25_02178d0c func_ov25_02178d0c: ; 0x02178d0c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 bl func_ov00_020c1d58 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldr r0, _02178d84 ; =data_027e0f94 add r2, sp, #0 add r1, r4, #0x34c bl func_01ff9bf8 ldr r0, _02178d88 ; =data_027e0f90 add r1, r4, #0x34c ldr r0, [r0] bl func_ov00_020a7c1c cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldr r0, _02178d88 ; =data_027e0f90 ldrb r1, [r4, #0x124] ldr r0, [r0] add r2, sp, #0 ldr ip, [r0] mov r3, #1 ldr ip, [ip, #0x30] blx ip add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov25_02178d0c _02178d84: .word data_027e0f94 _02178d88: .word data_027e0f90 .global func_ov25_02178d8c arm_func_start func_ov25_02178d8c func_ov25_02178d8c: ; 0x02178d8c stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r0, #0 str r0, [r4, #0x138] ldr r2, [r4, #0x130] cmp r1, #6 str r2, [r4, #0x134] str r1, [r4, #0x130] addls pc, pc, r1, lsl #2 ldmia sp!, {r4, r5, r6, pc} _02178db4: ; jump table b _02178dd0 ; case 0 b _02178e30 ; case 1 b _02178e38 ; case 2 b _02178e54 ; case 3 b _02178e70 ; case 4 b _02178e8c ; case 5 ldmia sp!, {r4, r5, r6, pc} ; case 6 _02178dd0: str r0, [r4, #0x35c] ldr r1, [r4, #0x348] cmp r1, #1 ldmneia sp!, {r4, r5, r6, pc} ldr r2, _02178ea8 ; =data_027e0764 mov r1, #0x1f ldr ip, [r2] ldmib r2, {r3, lr} umull r6, r5, lr, ip mla r5, lr, r3, r5 ldr r3, [r2, #0xc] ldr lr, [r2, #0x10] mla r5, r3, ip, r5 ldr r3, [r2, #0x14] adds r6, lr, r6 adc r5, r3, r5 umull r3, ip, r5, r1 mla ip, r5, r0, ip mla ip, r0, r1, ip str r6, [r2] str r5, [r2, #4] add r0, ip, #0x1e str r0, [r4, #0x13c] ldmia sp!, {r4, r5, r6, pc} _02178e30: str r0, [r4, #0x35c] ldmia sp!, {r4, r5, r6, pc} _02178e38: mov r1, r0 add r0, r4, #0x21c bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, r5, r6, pc} _02178e54: add r0, r4, #0x21c mov r1, #1 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, r5, r6, pc} _02178e70: add r0, r4, #0x21c mov r1, #2 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, r5, r6, pc} _02178e8c: add r0, r4, #0x21c mov r1, #3 bl func_ov00_020c5d74 ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov25_02178d8c _02178ea8: .word data_027e0764 .global func_ov25_02178eac arm_func_start func_ov25_02178eac func_ov25_02178eac: ; 0x02178eac stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020cb60c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov00_020cadb0 mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov25_02178eac .global func_ov25_02178ed8 arm_func_start func_ov25_02178ed8 func_ov25_02178ed8: ; 0x02178ed8 ldr ip, _02178ee4 ; =func_ov25_02178d8c mov r1, #5 bx ip .align 2, 0 arm_func_end func_ov25_02178ed8 _02178ee4: .word func_ov25_02178d8c .global func_ov25_02178ee8 arm_func_start func_ov25_02178ee8 func_ov25_02178ee8: ; 0x02178ee8 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x130] cmp r1, #6 addls pc, pc, r1, lsl #2 b _02178f78 _02178f00: ; jump table b _02178f1c ; case 0 b _02178f1c ; case 1 b _02178f34 ; case 2 b _02178f78 ; case 3 b _02178f1c ; case 4 b _02178f1c ; case 5 b _02178f1c ; case 6 _02178f1c: mov r0, #0 str r0, [r4, #0x12c] ldr r0, [r4, #0x164] bic r0, r0, #8 str r0, [r4, #0x164] b _02178f94 _02178f34: ldr r1, [r4, #0x22c] ldr r1, [r1, #0x14] cmp r1, #0xe000 blt _02178f60 mov r1, #2 str r1, [r4, #0x12c] ldr r1, [r4, #0x164] orr r1, r1, #8 str r1, [r4, #0x164] bl func_ov25_02178d0c b _02178f94 _02178f60: mov r0, #0 str r0, [r4, #0x12c] ldr r0, [r4, #0x164] bic r0, r0, #8 str r0, [r4, #0x164] b _02178f94 _02178f78: mov r0, #2 str r0, [r4, #0x12c] ldr r1, [r4, #0x164] mov r0, r4 orr r1, r1, #8 str r1, [r4, #0x164] bl func_ov25_02178d0c _02178f94: ldr r0, [r4, #0x130] cmp r0, #6 addls pc, pc, r0, lsl #2 b _021791a0 _02178fa4: ; jump table b _02178fc0 ; case 0 b _02179024 ; case 1 b _0217905c ; case 2 b _02179098 ; case 3 b _02179100 ; case 4 b _02179138 ; case 5 b _02179188 ; case 6 _02178fc0: ldr r0, [r4, #0x348] cmp r0, #0 bne _02178fec mov r0, r4 bl func_ov00_020c28ec cmp r0, #0x3000 bgt _021791a0 mov r0, r4 mov r1, #1 bl func_ov25_02178d8c b _021791a0 _02178fec: cmp r0, #1 bne _021791a0 mov r0, r4 bl func_ov00_020c28ec cmp r0, #0x6000 bgt _021791a0 ldr r1, [r4, #0x138] ldr r0, [r4, #0x13c] cmp r1, r0 ble _021791a0 mov r0, r4 mov r1, #1 bl func_ov25_02178d8c b _021791a0 _02179024: ldr r0, [r4, #0x35c] add r0, r0, #0x29 str r0, [r4, #0x35c] cmp r0, #0x800 movgt r0, #0x800 strgt r0, [r4, #0x35c] ldr r1, [r4, #0x35c] ldr r0, _021791a8 ; =0x00000733 cmp r1, r0 ble _021791a0 mov r0, r4 mov r1, #2 bl func_ov25_02178d8c b _021791a0 _0217905c: ldr r0, [r4, #0x35c] add r0, r0, #0x29 str r0, [r4, #0x35c] cmp r0, #0x800 movgt r0, #0x800 strgt r0, [r4, #0x35c] ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021791a0 mov r0, r4 mov r1, #3 bl func_ov25_02178d8c b _021791a0 _02179098: ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021791a0 ldr r0, [r4, #0x138] cmp r0, #0x3c ble _021790c8 mov r0, r4 mov r1, #4 bl func_ov25_02178d8c b _021791a0 _021790c8: cmp r0, #0xf ble _021791a0 mov r0, r4 bl func_ov00_020cca50 cmp r0, #0 beq _021790f0 mov r0, r4 bl func_ov00_020c28ec cmp r0, #0x3800 ble _021791a0 _021790f0: mov r0, r4 mov r1, #4 bl func_ov25_02178d8c b _021791a0 _02179100: ldr r0, [r4, #0x35c] subs r0, r0, #0x52 str r0, [r4, #0x35c] movmi r0, #0 strmi r0, [r4, #0x35c] ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021791a0 mov r0, r4 mov r1, #0 bl func_ov25_02178d8c b _021791a0 _02179138: ldr r0, [r4, #0x22c] add r0, r0, #0xc bl func_0202e58c cmp r0, #0 beq _021791a0 mov r0, r4 bl func_ov00_020cc8bc ldr r0, [r4, #4] add r1, r4, #0x48 bl func_ov00_020c87f8 ldr r1, [r4, #0x34] mvn r0, #0 cmp r1, r0 mov r0, r4 bne _02179180 mov r1, #6 bl func_ov25_02178d8c b _021791a0 _02179180: bl func_ov00_020c3180 b _021791a0 _02179188: ldr r0, [r4, #0x138] cmp r0, #0x384 ble _021791a0 mov r0, r4 mov r1, #0 bl func_ov25_02178d8c _021791a0: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_02178ee8 _021791a8: .word 0x00000733 .global func_ov25_021791ac arm_func_start func_ov25_021791ac func_ov25_021791ac: ; 0x021791ac stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 ldr r0, [r4, #0x130] cmp r0, #0 cmpne r0, #6 addeq sp, sp, #0x30 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r0, #1 beq _021791e0 add r0, r4, #0x21c bl func_ov00_020c5f1c _021791e0: ldr r0, [r4, #0x35c] cmp r0, #0 ble _02179278 add r0, r4, #0x48 add r3, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x130] sub r0, r0, #2 cmp r0, #2 bhi _02179240 mov r1, r3 add r0, r4, #0x23c bl func_ov25_02178aa8 ldr r2, [sp, #0x28] ldr r1, [sp, #0x2c] ldr r0, [sp, #0x24] str r0, [r4, #0x34c] str r2, [r4, #0x350] str r1, [r4, #0x354] ldr r1, [r4, #0x4c] ldr r0, [r4, #0x358] add r0, r1, r0 str r0, [r4, #0x350] _02179240: ldr r3, [r4, #0x35c] mov r0, #0x1f str r3, [sp] ldrsh r2, [r4, #0x78] mov r1, #0 mov r4, #1 str r2, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] str r4, [sp, #0x10] ldr r0, _02179284 ; =data_ov00_020e9370 add r2, sp, #0x24 str r4, [sp, #0x14] bl func_ov05_02102c2c _02179278: mov r0, #1 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov25_021791ac _02179284: .word data_ov00_020e9370 .global func_ov25_02179288 arm_func_start func_ov25_02179288 func_ov25_02179288: ; 0x02179288 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x2c8 blx func_ov00_020a9b6c add r0, r4, #0x23c blx func_ov00_020a95ec add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _021792d4 ; =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_ov25_02179288 _021792d4: .word func_ov00_020b7d74 .global func_ov25_021792d8 arm_func_start func_ov25_021792d8 func_ov25_021792d8: ; 0x021792d8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x2c8 blx func_ov00_020a9b6c add r0, r4, #0x23c blx func_ov00_020a95ec add r0, r4, #0x1d8 bl func_ov00_02081f4c add r0, r4, #0x1c8 mov r1, #2 mov r2, #4 ldr r3, _0217931c ; =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_ov25_021792d8 _0217931c: .word func_ov00_020b7d74 .global func_ov25_02179320 arm_func_start func_ov25_02179320 func_ov25_02179320: ; 0x02179320 stmdb sp!, {r4, lr} mov r4, r0 blx func_ov00_020a95ec mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov25_02179320 .rodata .global data_ov25_0217933c data_ov25_0217933c: ; 0x0217933c .byte 0x04, 0x00, 0x00, 0x00 .global data_ov25_02179340 data_ov25_02179340: ; 0x02179340 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179344 data_ov25_02179344: ; 0x02179344 .byte 0x33, 0x07, 0x00, 0x00 .global data_ov25_02179348 data_ov25_02179348: ; 0x02179348 .byte 0x66, 0x0e, 0x00, 0x00 .global data_ov25_0217934c data_ov25_0217934c: ; 0x0217934c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179350 data_ov25_02179350: ; 0x02179350 .byte 0x33, 0x07, 0x00, 0x00 .global data_ov25_02179354 data_ov25_02179354: ; 0x02179354 .byte 0x66, 0x0e, 0x00, 0x00 .global data_ov25_02179358 data_ov25_02179358: ; 0x02179358 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_0217935c data_ov25_0217935c: ; 0x0217935c .byte 0x03, 0x00, 0x00, 0x00 .global data_ov25_02179360 data_ov25_02179360: ; 0x02179360 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov25_02179364 data_ov25_02179364: ; 0x02179364 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov25_02179368 data_ov25_02179368: ; 0x02179368 .ascii "mouth" .byte 0x00, 0x00, 0x00 .global data_ov25_02179370 data_ov25_02179370: ; 0x02179370 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179374 data_ov25_02179374: ; 0x02179374 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179378 data_ov25_02179378: ; 0x02179378 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217937c data_ov25_0217937c: ; 0x0217937c .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov25_02179384 data_ov25_02179384: ; 0x02179384 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179388 data_ov25_02179388: ; 0x02179388 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217938c data_ov25_0217938c: ; 0x0217938c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179390 data_ov25_02179390: ; 0x02179390 .ascii "wait1" .byte 0x00, 0x00, 0x00 .global data_ov25_02179398 data_ov25_02179398: ; 0x02179398 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217939c data_ov25_0217939c: ; 0x0217939c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793a0 data_ov25_021793a0: ; 0x021793a0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021793a4 data_ov25_021793a4: ; 0x021793a4 .ascii "wait2" .byte 0x00, 0x00, 0x00 .global data_ov25_021793ac data_ov25_021793ac: ; 0x021793ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793b0 data_ov25_021793b0: ; 0x021793b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793b4 data_ov25_021793b4: ; 0x021793b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793b8 data_ov25_021793b8: ; 0x021793b8 .ascii "updown1" .byte 0x00 .global data_ov25_021793c0 data_ov25_021793c0: ; 0x021793c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793c4 data_ov25_021793c4: ; 0x021793c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793c8 data_ov25_021793c8: ; 0x021793c8 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021793cc data_ov25_021793cc: ; 0x021793cc .ascii "attack1" .byte 0x00 .global data_ov25_021793d4 data_ov25_021793d4: ; 0x021793d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793d8 data_ov25_021793d8: ; 0x021793d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793dc data_ov25_021793dc: ; 0x021793dc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021793e0 data_ov25_021793e0: ; 0x021793e0 .ascii "vacuum1" .byte 0x00 .global data_ov25_021793e8 data_ov25_021793e8: ; 0x021793e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793ec data_ov25_021793ec: ; 0x021793ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793f0 data_ov25_021793f0: ; 0x021793f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021793f4 data_ov25_021793f4: ; 0x021793f4 .ascii "vacuum2" .byte 0x00 .global data_ov25_021793fc data_ov25_021793fc: ; 0x021793fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179400 data_ov25_02179400: ; 0x02179400 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179404 data_ov25_02179404: ; 0x02179404 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179408 data_ov25_02179408: ; 0x02179408 .ascii "stiff1" .byte 0x00, 0x00 .global data_ov25_02179410 data_ov25_02179410: ; 0x02179410 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179414 data_ov25_02179414: ; 0x02179414 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179418 data_ov25_02179418: ; 0x02179418 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217941c data_ov25_0217941c: ; 0x0217941c .ascii "stiff2" .byte 0x00, 0x00 .global data_ov25_02179424 data_ov25_02179424: ; 0x02179424 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179428 data_ov25_02179428: ; 0x02179428 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217942c data_ov25_0217942c: ; 0x0217942c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179430 data_ov25_02179430: ; 0x02179430 .ascii "dead1" .byte 0x00, 0x00, 0x00 .global data_ov25_02179438 data_ov25_02179438: ; 0x02179438 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217943c data_ov25_0217943c: ; 0x0217943c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179440 data_ov25_02179440: ; 0x02179440 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179444 data_ov25_02179444: ; 0x02179444 .ascii "hide1" .byte 0x00, 0x00, 0x00 .global data_ov25_0217944c data_ov25_0217944c: ; 0x0217944c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179450 data_ov25_02179450: ; 0x02179450 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179454 data_ov25_02179454: ; 0x02179454 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179458 data_ov25_02179458: ; 0x02179458 .ascii "damage1" .byte 0x00 .global data_ov25_02179460 data_ov25_02179460: ; 0x02179460 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179464 data_ov25_02179464: ; 0x02179464 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179468 data_ov25_02179468: ; 0x02179468 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_0217946c data_ov25_0217946c: ; 0x0217946c .ascii "damage2" .byte 0x00 .global data_ov25_02179474 data_ov25_02179474: ; 0x02179474 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179478 data_ov25_02179478: ; 0x02179478 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217947c data_ov25_0217947c: ; 0x0217947c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179480 data_ov25_02179480: ; 0x02179480 .ascii "rebound1" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217948c data_ov25_0217948c: ; 0x0217948c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179490 data_ov25_02179490: ; 0x02179490 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179494 data_ov25_02179494: ; 0x02179494 .ascii "jeer1" .byte 0x00, 0x00, 0x00 .global data_ov25_0217949c data_ov25_0217949c: ; 0x0217949c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794a0 data_ov25_021794a0: ; 0x021794a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794a4 data_ov25_021794a4: ; 0x021794a4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021794a8 data_ov25_021794a8: ; 0x021794a8 .ascii "appear1" .byte 0x00 .global data_ov25_021794b0 data_ov25_021794b0: ; 0x021794b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794b4 data_ov25_021794b4: ; 0x021794b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794b8 data_ov25_021794b8: ; 0x021794b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794bc data_ov25_021794bc: ; 0x021794bc .ascii "appear2" .byte 0x00 .global data_ov25_021794c4 data_ov25_021794c4: ; 0x021794c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794c8 data_ov25_021794c8: ; 0x021794c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794cc data_ov25_021794cc: ; 0x021794cc .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021794d0 data_ov25_021794d0: ; 0x021794d0 .ascii "land1" .byte 0x00, 0x00, 0x00 .global data_ov25_021794d8 data_ov25_021794d8: ; 0x021794d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794dc data_ov25_021794dc: ; 0x021794dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794e0 data_ov25_021794e0: ; 0x021794e0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021794e4 data_ov25_021794e4: ; 0x021794e4 .ascii "shock1" .byte 0x00, 0x00 .global data_ov25_021794ec data_ov25_021794ec: ; 0x021794ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794f0 data_ov25_021794f0: ; 0x021794f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021794f4 data_ov25_021794f4: ; 0x021794f4 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021794f8 data_ov25_021794f8: ; 0x021794f8 .ascii "cubus_beam" .byte 0x00, 0x00 .global data_ov25_02179504 data_ov25_02179504: ; 0x02179504 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179508 data_ov25_02179508: ; 0x02179508 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217950c data_ov25_0217950c: ; 0x0217950c .ascii "cubus_beam2" .byte 0x00 .global data_ov25_02179518 data_ov25_02179518: ; 0x02179518 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217951c data_ov25_0217951c: ; 0x0217951c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179520 data_ov25_02179520: ; 0x02179520 .byte 0x00, 0x70, 0x00, 0x00 .global data_ov25_02179524 data_ov25_02179524: ; 0x02179524 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179528 data_ov25_02179528: ; 0x02179528 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217952c data_ov25_0217952c: ; 0x0217952c .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov25_02179530 data_ov25_02179530: ; 0x02179530 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179534 data_ov25_02179534: ; 0x02179534 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179538 data_ov25_02179538: ; 0x02179538 .byte 0x9a, 0x01, 0x00, 0x00 .global data_ov25_0217953c data_ov25_0217953c: ; 0x0217953c .ascii "scare" .byte 0x00, 0x00, 0x00 .global data_ov25_02179544 data_ov25_02179544: ; 0x02179544 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179548 data_ov25_02179548: ; 0x02179548 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217954c data_ov25_0217954c: ; 0x0217954c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179550 data_ov25_02179550: ; 0x02179550 .ascii "hokan" .byte 0x00, 0x00, 0x00 .global data_ov25_02179558 data_ov25_02179558: ; 0x02179558 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217955c data_ov25_0217955c: ; 0x0217955c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179560 data_ov25_02179560: ; 0x02179560 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179564 data_ov25_02179564: ; 0x02179564 .ascii "trot" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217956c data_ov25_0217956c: ; 0x0217956c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179570 data_ov25_02179570: ; 0x02179570 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179574 data_ov25_02179574: ; 0x02179574 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179578 data_ov25_02179578: ; 0x02179578 .ascii "talk_a" .byte 0x00, 0x00 .global data_ov25_02179580 data_ov25_02179580: ; 0x02179580 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179584 data_ov25_02179584: ; 0x02179584 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179588 data_ov25_02179588: ; 0x02179588 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217958c data_ov25_0217958c: ; 0x0217958c .ascii "panic" .byte 0x00, 0x00, 0x00 .global data_ov25_02179594 data_ov25_02179594: ; 0x02179594 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179598 data_ov25_02179598: ; 0x02179598 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217959c data_ov25_0217959c: ; 0x0217959c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795a0 data_ov25_021795a0: ; 0x021795a0 .byte 0x55, 0x05, 0x00, 0x00 .global data_ov25_021795a4 data_ov25_021795a4: ; 0x021795a4 .byte 0x1f, 0x05, 0x00, 0x00 .global data_ov25_021795a8 data_ov25_021795a8: ; 0x021795a8 .byte 0xcd, 0x10, 0x00, 0x00 .global data_ov25_021795ac data_ov25_021795ac: ; 0x021795ac .byte 0x04, 0x00, 0x00, 0x00 .global data_ov25_021795b0 data_ov25_021795b0: ; 0x021795b0 .byte 0x0d, 0x00, 0x00, 0x00 .global data_ov25_021795b4 data_ov25_021795b4: ; 0x021795b4 .byte 0x1c, 0x07, 0x00, 0x00 .global data_ov25_021795b8 data_ov25_021795b8: ; 0x021795b8 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795c0 data_ov25_021795c0: ; 0x021795c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795c4 data_ov25_021795c4: ; 0x021795c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795c8 data_ov25_021795c8: ; 0x021795c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795cc data_ov25_021795cc: ; 0x021795cc .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795d4 data_ov25_021795d4: ; 0x021795d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795d8 data_ov25_021795d8: ; 0x021795d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795dc data_ov25_021795dc: ; 0x021795dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795e0 data_ov25_021795e0: ; 0x021795e0 .ascii "attack" .byte 0x00, 0x00 .global data_ov25_021795e8 data_ov25_021795e8: ; 0x021795e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795ec data_ov25_021795ec: ; 0x021795ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_021795f0 data_ov25_021795f0: ; 0x021795f0 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_021795f4 data_ov25_021795f4: ; 0x021795f4 .ascii "disappear" .byte 0x00, 0x00, 0x00 .global data_ov25_02179600 data_ov25_02179600: ; 0x02179600 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179604 data_ov25_02179604: ; 0x02179604 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179608 data_ov25_02179608: ; 0x02179608 .ascii "boss_phantom" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179618 data_ov25_02179618: ; 0x02179618 .ascii "body" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179620 data_ov25_02179620: ; 0x02179620 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179624 data_ov25_02179624: ; 0x02179624 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179628 data_ov25_02179628: ; 0x02179628 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217962c data_ov25_0217962c: ; 0x0217962c .ascii "fall" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179634 data_ov25_02179634: ; 0x02179634 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179638 data_ov25_02179638: ; 0x02179638 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217963c data_ov25_0217963c: ; 0x0217963c .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179640 data_ov25_02179640: ; 0x02179640 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179648 data_ov25_02179648: ; 0x02179648 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217964c data_ov25_0217964c: ; 0x0217964c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179650 data_ov25_02179650: ; 0x02179650 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179654 data_ov25_02179654: ; 0x02179654 .ascii "up" .byte 0x00, 0x00 .global data_ov25_02179658 data_ov25_02179658: ; 0x02179658 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217965c data_ov25_0217965c: ; 0x0217965c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179660 data_ov25_02179660: ; 0x02179660 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179664 data_ov25_02179664: ; 0x02179664 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_02179668 data_ov25_02179668: ; 0x02179668 .ascii "dead" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179670 data_ov25_02179670: ; 0x02179670 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179674 data_ov25_02179674: ; 0x02179674 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179678 data_ov25_02179678: ; 0x02179678 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov25_0217967c data_ov25_0217967c: ; 0x0217967c .byte 0x04, 0x00, 0x00, 0x00 .section .init, 4, 1, 4 .global func_ov25_02179680 arm_func_start func_ov25_02179680 func_ov25_02179680: ; 0x02179680 stmdb sp!, {lr} sub sp, sp, #0x84 ldr r0, _02179760 ; =data_ov25_0217a88c ldr r1, _02179764 ; =0x43425330 ldr r2, _02179768 ; =func_ov25_0216dcd8 mov r3, #0 bl func_0203e784 ldr r0, _02179760 ; =data_ov25_0217a88c ldr r1, _0217976c ; =func_0203e7b4 ldr r2, _02179770 ; =data_ov25_0217a880 bl func_0204f8d4 mov r3, #0 str r3, [sp] mov r1, #1 stmib sp, {r1, r3} str r3, [sp, #0xc] str r3, [sp, #0x10] str r3, [sp, #0x14] str r1, [sp, #0x18] str r3, [sp, #0x1c] str r3, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] str r3, [sp, #0x2c] str r1, [sp, #0x30] str r3, [sp, #0x34] str r1, [sp, #0x38] str r1, [sp, #0x3c] str r3, [sp, #0x40] str r1, [sp, #0x44] str r3, [sp, #0x48] str r3, [sp, #0x4c] ldr r0, _02179774 ; =0x00000b33 str r3, [sp, #0x50] str r0, [sp, #0x54] str r3, [sp, #0x58] str r0, [sp, #0x5c] rsb r0, r0, #0x1000 str r0, [sp, #0x60] str r0, [sp, #0x64] str r3, [sp, #0x68] str r3, [sp, #0x6c] str r3, [sp, #0x70] str r3, [sp, #0x74] str r3, [sp, #0x78] ldr r0, _02179778 ; =data_ov25_02179be0 str r3, [sp, #0x7c] mov r2, #2 str r2, [sp, #0x80] bl func_ov00_020ccdd4 ldr r0, _02179778 ; =data_ov25_02179be0 ldr r1, _0217977c ; =func_ov00_020cceec ldr r2, _02179780 ; =data_ov25_0217a8a0 bl func_0204f8d4 add sp, sp, #0x84 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov25_02179680 _02179760: .word data_ov25_0217a88c _02179764: .word 0x43425330 _02179768: .word func_ov25_0216dcd8 _0217976c: .word func_0203e7b4 _02179770: .word data_ov25_0217a880 _02179774: .word 0x00000b33 _02179778: .word data_ov25_02179be0 _0217977c: .word func_ov00_020cceec _02179780: .word data_ov25_0217a8a0 .global func_ov25_02179784 arm_func_start func_ov25_02179784 func_ov25_02179784: ; 0x02179784 stmdb sp!, {r3, lr} ldr r0, _021797b0 ; =data_ov25_0217a8bc ldr r1, _021797b4 ; =0x43425332 ldr r2, _021797b8 ; =func_ov25_02171bfc mov r3, #0 bl func_0203e784 ldr r0, _021797b0 ; =data_ov25_0217a8bc ldr r1, _021797bc ; =func_0203e7b4 ldr r2, _021797c0 ; =data_ov25_0217a8b0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02179784 _021797b0: .word data_ov25_0217a8bc _021797b4: .word 0x43425332 _021797b8: .word func_ov25_02171bfc _021797bc: .word func_0203e7b4 _021797c0: .word data_ov25_0217a8b0 .global func_ov25_021797c4 arm_func_start func_ov25_021797c4 func_ov25_021797c4: ; 0x021797c4 stmdb sp!, {r3, lr} ldr r0, _021797f0 ; =data_ov25_0217a8dc ldr r1, _021797f4 ; =0x43425331 ldr r2, _021797f8 ; =func_ov25_02172978 mov r3, #0 bl func_0203e784 ldr r0, _021797f0 ; =data_ov25_0217a8dc ldr r1, _021797fc ; =func_0203e7b4 ldr r2, _02179800 ; =data_ov25_0217a8d0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_021797c4 _021797f0: .word data_ov25_0217a8dc _021797f4: .word 0x43425331 _021797f8: .word func_ov25_02172978 _021797fc: .word func_0203e7b4 _02179800: .word data_ov25_0217a8d0 .global func_ov25_02179804 arm_func_start func_ov25_02179804 func_ov25_02179804: ; 0x02179804 stmdb sp!, {r3, lr} ldr r0, _02179830 ; =data_ov25_0217a8fc ldr r1, _02179834 ; =0x43425333 ldr r2, _02179838 ; =func_ov25_02175a80 mov r3, #0 bl func_0203e784 ldr r0, _02179830 ; =data_ov25_0217a8fc ldr r1, _0217983c ; =func_0203e7b4 ldr r2, _02179840 ; =data_ov25_0217a8f0 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02179804 _02179830: .word data_ov25_0217a8fc _02179834: .word 0x43425333 _02179838: .word func_ov25_02175a80 _0217983c: .word func_0203e7b4 _02179840: .word data_ov25_0217a8f0 .global func_ov25_02179844 arm_func_start func_ov25_02179844 func_ov25_02179844: ; 0x02179844 stmdb sp!, {r3, lr} ldr r0, _02179870 ; =data_ov25_0217a91c ldr r1, _02179874 ; =0x43425334 ldr r2, _02179878 ; =func_ov25_021769e8 mov r3, #0 bl func_0203e784 ldr r0, _02179870 ; =data_ov25_0217a91c ldr r1, _0217987c ; =func_0203e7b4 ldr r2, _02179880 ; =data_ov25_0217a910 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02179844 _02179870: .word data_ov25_0217a91c _02179874: .word 0x43425334 _02179878: .word func_ov25_021769e8 _0217987c: .word func_0203e7b4 _02179880: .word data_ov25_0217a910 .global func_ov25_02179884 arm_func_start func_ov25_02179884 func_ov25_02179884: ; 0x02179884 stmdb sp!, {r3, lr} ldr r0, _021798ac ; =data_ov25_0217a930 ldr r2, _021798b0 ; =func_ov25_02176dec mov r1, #0x67 bl func_0203eba8 ldr r0, _021798ac ; =data_ov25_0217a930 ldr r1, _021798b4 ; =func_0203ebc8 ldr r2, _021798b8 ; =data_ov25_0217a938 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02179884 _021798ac: .word data_ov25_0217a930 _021798b0: .word func_ov25_02176dec _021798b4: .word func_0203ebc8 _021798b8: .word data_ov25_0217a938 .global func_ov25_021798bc arm_func_start func_ov25_021798bc func_ov25_021798bc: ; 0x021798bc stmdb sp!, {lr} sub sp, sp, #0x84 ldr r0, _021799a8 ; =data_ov25_0217a950 ldr r1, _021799ac ; =0x45475354 ldr r2, _021799b0 ; =func_ov25_0217736c mov r3, #0 bl func_0203e784 ldr r0, _021799a8 ; =data_ov25_0217a950 ldr r1, _021799b4 ; =func_0203e7b4 ldr r2, _021799b8 ; =data_ov25_0217a944 bl func_0204f8d4 mov r1, #1 str r1, [sp] ldr ip, _021799bc ; =0x00001b33 str r1, [sp, #4] mov r2, #2 str r2, [sp, #8] str ip, [sp, #0xc] mov r0, #0x800 str r0, [sp, #0x10] str ip, [sp, #0x14] str r1, [sp, #0x18] str r1, [sp, #0x1c] str r1, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] str r1, [sp, #0x2c] str r1, [sp, #0x30] str r1, [sp, #0x34] str r1, [sp, #0x38] str r1, [sp, #0x3c] str r1, [sp, #0x40] str r1, [sp, #0x44] mov r0, #0x96 str r0, [sp, #0x48] mov r3, #0 str r3, [sp, #0x4c] str r3, [sp, #0x50] rsb r0, ip, #0x2000 str r0, [sp, #0x54] str r3, [sp, #0x58] str r0, [sp, #0x5c] str r0, [sp, #0x60] str r0, [sp, #0x64] str r0, [sp, #0x68] str r3, [sp, #0x6c] str r3, [sp, #0x70] str r3, [sp, #0x74] str r3, [sp, #0x78] str r3, [sp, #0x7c] ldr r0, _021799c0 ; =data_ov25_0217a238 str r2, [sp, #0x80] bl func_ov00_020ccdd4 ldr r0, _021799c0 ; =data_ov25_0217a238 ldr r1, _021799c4 ; =func_ov00_020cceec ldr r2, _021799c8 ; =data_ov25_0217a964 bl func_0204f8d4 add sp, sp, #0x84 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov25_021798bc _021799a8: .word data_ov25_0217a950 _021799ac: .word 0x45475354 _021799b0: .word func_ov25_0217736c _021799b4: .word func_0203e7b4 _021799b8: .word data_ov25_0217a944 _021799bc: .word 0x00001b33 _021799c0: .word data_ov25_0217a238 _021799c4: .word func_ov00_020cceec _021799c8: .word data_ov25_0217a964 .global func_ov25_021799cc arm_func_start func_ov25_021799cc func_ov25_021799cc: ; 0x021799cc stmdb sp!, {r3, lr} ldr r0, _021799f8 ; =data_ov25_0217a97c ldr r1, _021799fc ; =0x47534642 ldr r2, _02179a00 ; =func_ov25_02177d64 mov r3, #0 bl func_0203e784 ldr r0, _021799f8 ; =data_ov25_0217a97c ldr r1, _02179a04 ; =func_0203e7b4 ldr r2, _02179a08 ; =data_ov25_0217a970 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_021799cc _021799f8: .word data_ov25_0217a97c _021799fc: .word 0x47534642 _02179a00: .word func_ov25_02177d64 _02179a04: .word func_0203e7b4 _02179a08: .word data_ov25_0217a970 .global func_ov25_02179a0c arm_func_start func_ov25_02179a0c func_ov25_02179a0c: ; 0x02179a0c stmdb sp!, {r3, lr} ldr r0, _02179a38 ; =data_ov25_0217a9b0 ldr r1, _02179a3c ; =0x42524d47 ldr r2, _02179a40 ; =func_ov25_02178588 mov r3, #0 bl func_0203e784 ldr r0, _02179a38 ; =data_ov25_0217a9b0 ldr r1, _02179a44 ; =func_0203e7b4 ldr r2, _02179a48 ; =data_ov25_0217a9a4 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02179a0c _02179a38: .word data_ov25_0217a9b0 _02179a3c: .word 0x42524d47 _02179a40: .word func_ov25_02178588 _02179a44: .word func_0203e7b4 _02179a48: .word data_ov25_0217a9a4 .global func_ov25_02179a4c arm_func_start func_ov25_02179a4c func_ov25_02179a4c: ; 0x02179a4c stmdb sp!, {r3, lr} ldr r0, _02179a78 ; =data_ov25_0217a9d0 ldr r1, _02179a7c ; =0x4753574c ldr r2, _02179a80 ; =func_ov25_02178800 mov r3, #0 bl func_0203e784 ldr r0, _02179a78 ; =data_ov25_0217a9d0 ldr r1, _02179a84 ; =func_0203e7b4 ldr r2, _02179a88 ; =data_ov25_0217a9c4 bl func_0204f8d4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov25_02179a4c _02179a78: .word data_ov25_0217a9d0 _02179a7c: .word 0x4753574c _02179a80: .word func_ov25_02178800 _02179a84: .word func_0203e7b4 _02179a88: .word data_ov25_0217a9c4 .global func_ov25_02179a8c arm_func_start func_ov25_02179a8c func_ov25_02179a8c: ; 0x02179a8c stmdb sp!, {lr} sub sp, sp, #0x84 ldr r0, _02179b78 ; =data_ov25_0217a9f0 ldr r1, _02179b7c ; =0x53504452 ldr r2, _02179b80 ; =func_ov25_021789e0 mov r3, #0 bl func_0203e784 ldr r0, _02179b78 ; =data_ov25_0217a9f0 ldr r1, _02179b84 ; =func_0203e7b4 ldr r2, _02179b88 ; =data_ov25_0217a9e4 bl func_0204f8d4 mov r1, #1 str r1, [sp] str r1, [sp, #4] mov r2, #2 str r2, [sp, #8] mov ip, #0x1000 str ip, [sp, #0xc] str ip, [sp, #0x10] str ip, [sp, #0x14] str r1, [sp, #0x18] str r1, [sp, #0x1c] mov r0, #0x96 str r1, [sp, #0x20] mov r3, #0 str r3, [sp, #0x24] str r3, [sp, #0x28] str r1, [sp, #0x2c] str r1, [sp, #0x30] str r1, [sp, #0x34] str r1, [sp, #0x38] str r1, [sp, #0x3c] str r1, [sp, #0x40] str r1, [sp, #0x44] str r0, [sp, #0x48] str r3, [sp, #0x4c] str r3, [sp, #0x50] add r0, r0, #0x5d0 str r0, [sp, #0x54] str r3, [sp, #0x58] str r0, [sp, #0x5c] str r3, [sp, #0x60] str r3, [sp, #0x64] str ip, [sp, #0x68] str r3, [sp, #0x6c] str r3, [sp, #0x70] str r3, [sp, #0x74] str r3, [sp, #0x78] mov r0, #8 str r0, [sp, #0x7c] ldr r0, _02179b8c ; =data_ov25_0217a680 str r3, [sp, #0x80] bl func_ov00_020ccdd4 ldr r0, _02179b8c ; =data_ov25_0217a680 ldr r1, _02179b90 ; =func_ov00_020cceec ldr r2, _02179b94 ; =data_ov25_0217aa04 bl func_0204f8d4 add sp, sp, #0x84 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov25_02179a8c _02179b78: .word data_ov25_0217a9f0 _02179b7c: .word 0x53504452 _02179b80: .word func_ov25_021789e0 _02179b84: .word func_0203e7b4 _02179b88: .word data_ov25_0217a9e4 _02179b8c: .word data_ov25_0217a680 _02179b90: .word func_ov00_020cceec _02179b94: .word data_ov25_0217aa04 .section .sinit, 4, 1, 4 .global data_ov25_02179b98 data_ov25_02179b98: ; 0x02179b98 .byte 0x80, 0x96, 0x17, 0x02 .global data_ov25_02179b9c data_ov25_02179b9c: ; 0x02179b9c .byte 0x84, 0x97, 0x17, 0x02 .global data_ov25_02179ba0 data_ov25_02179ba0: ; 0x02179ba0 .byte 0xc4, 0x97, 0x17, 0x02 .global data_ov25_02179ba4 data_ov25_02179ba4: ; 0x02179ba4 .byte 0x04, 0x98, 0x17, 0x02 .global data_ov25_02179ba8 data_ov25_02179ba8: ; 0x02179ba8 .byte 0x44, 0x98, 0x17, 0x02 .global data_ov25_02179bac data_ov25_02179bac: ; 0x02179bac .byte 0x84, 0x98, 0x17, 0x02 .global data_ov25_02179bb0 data_ov25_02179bb0: ; 0x02179bb0 .byte 0xbc, 0x98, 0x17, 0x02 .global data_ov25_02179bb4 data_ov25_02179bb4: ; 0x02179bb4 .byte 0xcc, 0x99, 0x17, 0x02 .global data_ov25_02179bb8 data_ov25_02179bb8: ; 0x02179bb8 .byte 0x0c, 0x9a, 0x17, 0x02 .global data_ov25_02179bbc data_ov25_02179bbc: ; 0x02179bbc .byte 0x4c, 0x9a, 0x17, 0x02 .global data_ov25_02179bc0 data_ov25_02179bc0: ; 0x02179bc0 .byte 0x8c, 0x9a, 0x17, 0x02 .data .global data_ov25_02179be0 data_ov25_02179be0: ; 0x02179be0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179be4 data_ov25_02179be4: ; 0x02179be4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179be8 data_ov25_02179be8: ; 0x02179be8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179bec data_ov25_02179bec: ; 0x02179bec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179bf0 data_ov25_02179bf0: ; 0x02179bf0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179bf4 data_ov25_02179bf4: ; 0x02179bf4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179bf8 data_ov25_02179bf8: ; 0x02179bf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179bfc data_ov25_02179bfc: ; 0x02179bfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c00 data_ov25_02179c00: ; 0x02179c00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c04 data_ov25_02179c04: ; 0x02179c04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c08 data_ov25_02179c08: ; 0x02179c08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c0c data_ov25_02179c0c: ; 0x02179c0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c10 data_ov25_02179c10: ; 0x02179c10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c14 data_ov25_02179c14: ; 0x02179c14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c18 data_ov25_02179c18: ; 0x02179c18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c1c data_ov25_02179c1c: ; 0x02179c1c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c20 data_ov25_02179c20: ; 0x02179c20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c24 data_ov25_02179c24: ; 0x02179c24 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c28 data_ov25_02179c28: ; 0x02179c28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c2c data_ov25_02179c2c: ; 0x02179c2c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c30 data_ov25_02179c30: ; 0x02179c30 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c34 data_ov25_02179c34: ; 0x02179c34 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c38 data_ov25_02179c38: ; 0x02179c38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c3c data_ov25_02179c3c: ; 0x02179c3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c40 data_ov25_02179c40: ; 0x02179c40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c44 data_ov25_02179c44: ; 0x02179c44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c48 data_ov25_02179c48: ; 0x02179c48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c4c data_ov25_02179c4c: ; 0x02179c4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c50 data_ov25_02179c50: ; 0x02179c50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c54 data_ov25_02179c54: ; 0x02179c54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c58 data_ov25_02179c58: ; 0x02179c58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c5c data_ov25_02179c5c: ; 0x02179c5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c60 data_ov25_02179c60: ; 0x02179c60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c64 data_ov25_02179c64: ; 0x02179c64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179c68 data_ov25_02179c68: ; 0x02179c68 .byte 0xfc, 0x16, 0x17, 0x02 .global data_ov25_02179c6c data_ov25_02179c6c: ; 0x02179c6c .byte 0x50, 0x16, 0x17, 0x02 .global data_ov25_02179c70 data_ov25_02179c70: ; 0x02179c70 .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov25_02179c74 data_ov25_02179c74: ; 0x02179c74 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_02179c78 data_ov25_02179c78: ; 0x02179c78 .byte 0xe8, 0xa7, 0x0c, 0x02 .global data_ov25_02179c7c data_ov25_02179c7c: ; 0x02179c7c .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov25_02179c80 data_ov25_02179c80: ; 0x02179c80 .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov25_02179c84 data_ov25_02179c84: ; 0x02179c84 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_02179c88 data_ov25_02179c88: ; 0x02179c88 .byte 0xb8, 0x0d, 0x17, 0x02 .global data_ov25_02179c8c data_ov25_02179c8c: ; 0x02179c8c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_02179c90 data_ov25_02179c90: ; 0x02179c90 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_02179c94 data_ov25_02179c94: ; 0x02179c94 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_02179c98 data_ov25_02179c98: ; 0x02179c98 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_02179c9c data_ov25_02179c9c: ; 0x02179c9c .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_02179ca0 data_ov25_02179ca0: ; 0x02179ca0 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_02179ca4 data_ov25_02179ca4: ; 0x02179ca4 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_02179ca8 data_ov25_02179ca8: ; 0x02179ca8 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_02179cac data_ov25_02179cac: ; 0x02179cac .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_02179cb0 data_ov25_02179cb0: ; 0x02179cb0 .byte 0x44, 0xff, 0x16, 0x02 .global data_ov25_02179cb4 data_ov25_02179cb4: ; 0x02179cb4 .byte 0x40, 0xa8, 0x0c, 0x02 .global data_ov25_02179cb8 data_ov25_02179cb8: ; 0x02179cb8 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_02179cbc data_ov25_02179cbc: ; 0x02179cbc .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_02179cc0 data_ov25_02179cc0: ; 0x02179cc0 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_02179cc4 data_ov25_02179cc4: ; 0x02179cc4 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_02179cc8 data_ov25_02179cc8: ; 0x02179cc8 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_02179ccc data_ov25_02179ccc: ; 0x02179ccc .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_02179cd0 data_ov25_02179cd0: ; 0x02179cd0 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_02179cd4 data_ov25_02179cd4: ; 0x02179cd4 .byte 0xec, 0x15, 0x17, 0x02 .global data_ov25_02179cd8 data_ov25_02179cd8: ; 0x02179cd8 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_02179cdc data_ov25_02179cdc: ; 0x02179cdc .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_02179ce0 data_ov25_02179ce0: ; 0x02179ce0 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_02179ce4 data_ov25_02179ce4: ; 0x02179ce4 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_02179ce8 data_ov25_02179ce8: ; 0x02179ce8 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_02179cec data_ov25_02179cec: ; 0x02179cec .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_02179cf0 data_ov25_02179cf0: ; 0x02179cf0 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_02179cf4 data_ov25_02179cf4: ; 0x02179cf4 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_02179cf8 data_ov25_02179cf8: ; 0x02179cf8 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_02179cfc data_ov25_02179cfc: ; 0x02179cfc .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_02179d00 data_ov25_02179d00: ; 0x02179d00 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_02179d04 data_ov25_02179d04: ; 0x02179d04 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_02179d08 data_ov25_02179d08: ; 0x02179d08 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_02179d0c data_ov25_02179d0c: ; 0x02179d0c .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_02179d10 data_ov25_02179d10: ; 0x02179d10 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_02179d14 data_ov25_02179d14: ; 0x02179d14 .byte 0x34, 0x0e, 0x17, 0x02 .global data_ov25_02179d18 data_ov25_02179d18: ; 0x02179d18 .byte 0x3c, 0x16, 0x17, 0x02 .global data_ov25_02179d1c data_ov25_02179d1c: ; 0x02179d1c .byte 0x70, 0x0d, 0x17, 0x02 .global data_ov25_02179d20 data_ov25_02179d20: ; 0x02179d20 .byte 0x38, 0xde, 0x16, 0x02 .global data_ov25_02179d24 data_ov25_02179d24: ; 0x02179d24 .byte 0xbc, 0x03, 0x17, 0x02 .global data_ov25_02179d28 data_ov25_02179d28: ; 0x02179d28 .byte 0xa0, 0xae, 0x0c, 0x02 .global data_ov25_02179d2c data_ov25_02179d2c: ; 0x02179d2c .byte 0x18, 0xff, 0x16, 0x02 .global data_ov25_02179d30 data_ov25_02179d30: ; 0x02179d30 .byte 0xf8, 0xae, 0x0c, 0x02 .global data_ov25_02179d34 data_ov25_02179d34: ; 0x02179d34 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov25_02179d38 data_ov25_02179d38: ; 0x02179d38 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov25_02179d3c data_ov25_02179d3c: ; 0x02179d3c .byte 0xbc, 0xaf, 0x0c, 0x02 .global data_ov25_02179d40 data_ov25_02179d40: ; 0x02179d40 .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov25_02179d44 data_ov25_02179d44: ; 0x02179d44 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov25_02179d48 data_ov25_02179d48: ; 0x02179d48 .byte 0x6c, 0xb0, 0x0c, 0x02 .global data_ov25_02179d4c data_ov25_02179d4c: ; 0x02179d4c .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov25_02179d50 data_ov25_02179d50: ; 0x02179d50 .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov25_02179d54 data_ov25_02179d54: ; 0x02179d54 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov25_02179d58 data_ov25_02179d58: ; 0x02179d58 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov25_02179d5c data_ov25_02179d5c: ; 0x02179d5c .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov25_02179d60 data_ov25_02179d60: ; 0x02179d60 .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov25_02179d64 data_ov25_02179d64: ; 0x02179d64 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov25_02179d68 data_ov25_02179d68: ; 0x02179d68 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov25_02179d6c data_ov25_02179d6c: ; 0x02179d6c .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov25_02179d70 data_ov25_02179d70: ; 0x02179d70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179d74 data_ov25_02179d74: ; 0x02179d74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179d78 data_ov25_02179d78: ; 0x02179d78 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov25_02179d7c data_ov25_02179d7c: ; 0x02179d7c .byte 0xa0, 0x17, 0x17, 0x02 .global data_ov25_02179d80 data_ov25_02179d80: ; 0x02179d80 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov25_02179d84 data_ov25_02179d84: ; 0x02179d84 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179d88 data_ov25_02179d88: ; 0x02179d88 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179d8c data_ov25_02179d8c: ; 0x02179d8c .byte 0x6d, 0x9b, 0x0a, 0x02 .global data_ov25_02179d90 data_ov25_02179d90: ; 0x02179d90 .byte 0x79, 0x9b, 0x0a, 0x02 .global data_ov25_02179d94 data_ov25_02179d94: ; 0x02179d94 .ascii "CS0:/cubus.nsbtp" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179da8 data_ov25_02179da8: ; 0x02179da8 .ascii "cubus" .byte 0x00, 0x00, 0x00 .global data_ov25_02179db0 data_ov25_02179db0: ; 0x02179db0 .ascii "CS6:/cubus_beam.nsbta" .byte 0x00, 0x00, 0x00 .global data_ov25_02179dc8 data_ov25_02179dc8: ; 0x02179dc8 .ascii "cubus_beam" .byte 0x00, 0x00 .global data_ov25_02179dd4 data_ov25_02179dd4: ; 0x02179dd4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179dd8 data_ov25_02179dd8: ; 0x02179dd8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179ddc data_ov25_02179ddc: ; 0x02179ddc .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov25_02179de0 data_ov25_02179de0: ; 0x02179de0 .byte 0xac, 0x1a, 0x17, 0x02 .global data_ov25_02179de4 data_ov25_02179de4: ; 0x02179de4 .byte 0xe8, 0x1b, 0x17, 0x02 .global data_ov25_02179de8 data_ov25_02179de8: ; 0x02179de8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179dec data_ov25_02179dec: ; 0x02179dec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179df0 data_ov25_02179df0: ; 0x02179df0 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov25_02179df4 data_ov25_02179df4: ; 0x02179df4 .byte 0x84, 0x19, 0x17, 0x02 .global data_ov25_02179df8 data_ov25_02179df8: ; 0x02179df8 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov25_02179dfc data_ov25_02179dfc: ; 0x02179dfc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179e00 data_ov25_02179e00: ; 0x02179e00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179e04 data_ov25_02179e04: ; 0x02179e04 .byte 0x24, 0xde, 0x16, 0x02 .global data_ov25_02179e08 data_ov25_02179e08: ; 0x02179e08 .byte 0xcc, 0x1b, 0x17, 0x02 .global data_ov25_02179e0c data_ov25_02179e0c: ; 0x02179e0c .byte 0x0c, 0x96, 0x0a, 0x02 .global data_ov25_02179e10 data_ov25_02179e10: ; 0x02179e10 .byte 0x14, 0x96, 0x0a, 0x02 .global data_ov25_02179e14 data_ov25_02179e14: ; 0x02179e14 .byte 0x50, 0x96, 0x0a, 0x02 .global data_ov25_02179e18 data_ov25_02179e18: ; 0x02179e18 .byte 0xd4, 0x96, 0x0a, 0x02 .global data_ov25_02179e1c data_ov25_02179e1c: ; 0x02179e1c .byte 0x40, 0x97, 0x0a, 0x02 .global data_ov25_02179e20 data_ov25_02179e20: ; 0x02179e20 .byte 0x64, 0x97, 0x0a, 0x02 .global data_ov25_02179e24 data_ov25_02179e24: ; 0x02179e24 .byte 0xd0, 0x97, 0x0a, 0x02 .global data_ov25_02179e28 data_ov25_02179e28: ; 0x02179e28 .byte 0xe0, 0x97, 0x0a, 0x02 .global data_ov25_02179e2c data_ov25_02179e2c: ; 0x02179e2c .byte 0xf8, 0x97, 0x0a, 0x02 .global data_ov25_02179e30 data_ov25_02179e30: ; 0x02179e30 .byte 0x64, 0x98, 0x0a, 0x02 .global data_ov25_02179e34 data_ov25_02179e34: ; 0x02179e34 .byte 0xbc, 0x98, 0x0a, 0x02 .global data_ov25_02179e38 data_ov25_02179e38: ; 0x02179e38 .byte 0x90, 0x98, 0x0a, 0x02 .global data_ov25_02179e3c data_ov25_02179e3c: ; 0x02179e3c .byte 0x68, 0x99, 0x0a, 0x02 .global data_ov25_02179e40 data_ov25_02179e40: ; 0x02179e40 .byte 0xdc, 0x17, 0x17, 0x02 .global data_ov25_02179e44 data_ov25_02179e44: ; 0x02179e44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179e48 data_ov25_02179e48: ; 0x02179e48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179e4c data_ov25_02179e4c: ; 0x02179e4c .byte 0x2c, 0x29, 0x17, 0x02 .global data_ov25_02179e50 data_ov25_02179e50: ; 0x02179e50 .byte 0xd8, 0x28, 0x17, 0x02 .global data_ov25_02179e54 data_ov25_02179e54: ; 0x02179e54 .byte 0x2c, 0x1d, 0x17, 0x02 .global data_ov25_02179e58 data_ov25_02179e58: ; 0x02179e58 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_02179e5c data_ov25_02179e5c: ; 0x02179e5c .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_02179e60 data_ov25_02179e60: ; 0x02179e60 .byte 0xe4, 0x21, 0x17, 0x02 .global data_ov25_02179e64 data_ov25_02179e64: ; 0x02179e64 .byte 0xec, 0x24, 0x17, 0x02 .global data_ov25_02179e68 data_ov25_02179e68: ; 0x02179e68 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_02179e6c data_ov25_02179e6c: ; 0x02179e6c .byte 0xf8, 0x24, 0x17, 0x02 .global data_ov25_02179e70 data_ov25_02179e70: ; 0x02179e70 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_02179e74 data_ov25_02179e74: ; 0x02179e74 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_02179e78 data_ov25_02179e78: ; 0x02179e78 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_02179e7c data_ov25_02179e7c: ; 0x02179e7c .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_02179e80 data_ov25_02179e80: ; 0x02179e80 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_02179e84 data_ov25_02179e84: ; 0x02179e84 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_02179e88 data_ov25_02179e88: ; 0x02179e88 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_02179e8c data_ov25_02179e8c: ; 0x02179e8c .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_02179e90 data_ov25_02179e90: ; 0x02179e90 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_02179e94 data_ov25_02179e94: ; 0x02179e94 .byte 0x9c, 0x1f, 0x17, 0x02 .global data_ov25_02179e98 data_ov25_02179e98: ; 0x02179e98 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_02179e9c data_ov25_02179e9c: ; 0x02179e9c .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_02179ea0 data_ov25_02179ea0: ; 0x02179ea0 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_02179ea4 data_ov25_02179ea4: ; 0x02179ea4 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_02179ea8 data_ov25_02179ea8: ; 0x02179ea8 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_02179eac data_ov25_02179eac: ; 0x02179eac .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_02179eb0 data_ov25_02179eb0: ; 0x02179eb0 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_02179eb4 data_ov25_02179eb4: ; 0x02179eb4 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_02179eb8 data_ov25_02179eb8: ; 0x02179eb8 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_02179ebc data_ov25_02179ebc: ; 0x02179ebc .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_02179ec0 data_ov25_02179ec0: ; 0x02179ec0 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_02179ec4 data_ov25_02179ec4: ; 0x02179ec4 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_02179ec8 data_ov25_02179ec8: ; 0x02179ec8 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_02179ecc data_ov25_02179ecc: ; 0x02179ecc .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_02179ed0 data_ov25_02179ed0: ; 0x02179ed0 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_02179ed4 data_ov25_02179ed4: ; 0x02179ed4 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_02179ed8 data_ov25_02179ed8: ; 0x02179ed8 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_02179edc data_ov25_02179edc: ; 0x02179edc .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_02179ee0 data_ov25_02179ee0: ; 0x02179ee0 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_02179ee4 data_ov25_02179ee4: ; 0x02179ee4 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_02179ee8 data_ov25_02179ee8: ; 0x02179ee8 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_02179eec data_ov25_02179eec: ; 0x02179eec .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_02179ef0 data_ov25_02179ef0: ; 0x02179ef0 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_02179ef4 data_ov25_02179ef4: ; 0x02179ef4 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_02179ef8 data_ov25_02179ef8: ; 0x02179ef8 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_02179efc data_ov25_02179efc: ; 0x02179efc .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_02179f00 data_ov25_02179f00: ; 0x02179f00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179f04 data_ov25_02179f04: ; 0x02179f04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_02179f08 data_ov25_02179f08: ; 0x02179f08 .byte 0x60, 0x2c, 0x17, 0x02 .global data_ov25_02179f0c data_ov25_02179f0c: ; 0x02179f0c .byte 0xb4, 0x2c, 0x17, 0x02 .global data_ov25_02179f10 data_ov25_02179f10: ; 0x02179f10 .byte 0x10, 0x2d, 0x17, 0x02 .global data_ov25_02179f14 data_ov25_02179f14: ; 0x02179f14 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_02179f18 data_ov25_02179f18: ; 0x02179f18 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_02179f1c data_ov25_02179f1c: ; 0x02179f1c .byte 0x90, 0x4a, 0x14, 0x02 .global data_ov25_02179f20 data_ov25_02179f20: ; 0x02179f20 .byte 0x64, 0x4b, 0x14, 0x02 .global data_ov25_02179f24 data_ov25_02179f24: ; 0x02179f24 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_02179f28 data_ov25_02179f28: ; 0x02179f28 .byte 0x6c, 0x53, 0x17, 0x02 .global data_ov25_02179f2c data_ov25_02179f2c: ; 0x02179f2c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_02179f30 data_ov25_02179f30: ; 0x02179f30 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_02179f34 data_ov25_02179f34: ; 0x02179f34 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_02179f38 data_ov25_02179f38: ; 0x02179f38 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_02179f3c data_ov25_02179f3c: ; 0x02179f3c .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_02179f40 data_ov25_02179f40: ; 0x02179f40 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_02179f44 data_ov25_02179f44: ; 0x02179f44 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_02179f48 data_ov25_02179f48: ; 0x02179f48 .byte 0x74, 0x59, 0x14, 0x02 .global data_ov25_02179f4c data_ov25_02179f4c: ; 0x02179f4c .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_02179f50 data_ov25_02179f50: ; 0x02179f50 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov25_02179f54 data_ov25_02179f54: ; 0x02179f54 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_02179f58 data_ov25_02179f58: ; 0x02179f58 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_02179f5c data_ov25_02179f5c: ; 0x02179f5c .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_02179f60 data_ov25_02179f60: ; 0x02179f60 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_02179f64 data_ov25_02179f64: ; 0x02179f64 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_02179f68 data_ov25_02179f68: ; 0x02179f68 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_02179f6c data_ov25_02179f6c: ; 0x02179f6c .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_02179f70 data_ov25_02179f70: ; 0x02179f70 .byte 0x48, 0x40, 0x17, 0x02 .global data_ov25_02179f74 data_ov25_02179f74: ; 0x02179f74 .byte 0xa0, 0x40, 0x17, 0x02 .global data_ov25_02179f78 data_ov25_02179f78: ; 0x02179f78 .byte 0x48, 0x3a, 0x17, 0x02 .global data_ov25_02179f7c data_ov25_02179f7c: ; 0x02179f7c .byte 0x98, 0x56, 0x14, 0x02 .global data_ov25_02179f80 data_ov25_02179f80: ; 0x02179f80 .byte 0x28, 0x37, 0x17, 0x02 .global data_ov25_02179f84 data_ov25_02179f84: ; 0x02179f84 .byte 0x3c, 0x57, 0x14, 0x02 .global data_ov25_02179f88 data_ov25_02179f88: ; 0x02179f88 .byte 0x78, 0x55, 0x14, 0x02 .global data_ov25_02179f8c data_ov25_02179f8c: ; 0x02179f8c .byte 0xb0, 0x55, 0x14, 0x02 .global data_ov25_02179f90 data_ov25_02179f90: ; 0x02179f90 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_02179f94 data_ov25_02179f94: ; 0x02179f94 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_02179f98 data_ov25_02179f98: ; 0x02179f98 .byte 0x60, 0x57, 0x14, 0x02 .global data_ov25_02179f9c data_ov25_02179f9c: ; 0x02179f9c .byte 0x14, 0x58, 0x14, 0x02 .global data_ov25_02179fa0 data_ov25_02179fa0: ; 0x02179fa0 .byte 0x74, 0x58, 0x14, 0x02 .global data_ov25_02179fa4 data_ov25_02179fa4: ; 0x02179fa4 .byte 0xb0, 0x58, 0x14, 0x02 .global data_ov25_02179fa8 data_ov25_02179fa8: ; 0x02179fa8 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_02179fac data_ov25_02179fac: ; 0x02179fac .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_02179fb0 data_ov25_02179fb0: ; 0x02179fb0 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_02179fb4 data_ov25_02179fb4: ; 0x02179fb4 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_02179fb8 data_ov25_02179fb8: ; 0x02179fb8 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_02179fbc data_ov25_02179fbc: ; 0x02179fbc .byte 0x08, 0x4d, 0x14, 0x02 .global data_ov25_02179fc0 data_ov25_02179fc0: ; 0x02179fc0 .byte 0x34, 0x4d, 0x14, 0x02 .global data_ov25_02179fc4 data_ov25_02179fc4: ; 0x02179fc4 .byte 0x74, 0x4d, 0x14, 0x02 .global data_ov25_02179fc8 data_ov25_02179fc8: ; 0x02179fc8 .byte 0xfc, 0x52, 0x17, 0x02 .global data_ov25_02179fcc data_ov25_02179fcc: ; 0x02179fcc .byte 0x00, 0x41, 0x17, 0x02 .global data_ov25_02179fd0 data_ov25_02179fd0: ; 0x02179fd0 .byte 0x78, 0x56, 0x14, 0x02 .global data_ov25_02179fd4 data_ov25_02179fd4: ; 0x02179fd4 .byte 0xe4, 0x55, 0x14, 0x02 .global data_ov25_02179fd8 data_ov25_02179fd8: ; 0x02179fd8 .byte 0xa0, 0x58, 0x14, 0x02 .global data_ov25_02179fdc data_ov25_02179fdc: ; 0x02179fdc .byte 0x08, 0x36, 0x17, 0x02 .global data_ov25_02179fe0 data_ov25_02179fe0: ; 0x02179fe0 .byte 0xd4, 0x48, 0x14, 0x02 .global data_ov25_02179fe4 data_ov25_02179fe4: ; 0x02179fe4 .byte 0xdc, 0x48, 0x14, 0x02 .global data_ov25_02179fe8 data_ov25_02179fe8: ; 0x02179fe8 .byte 0xe4, 0x48, 0x14, 0x02 .global data_ov25_02179fec data_ov25_02179fec: ; 0x02179fec .byte 0xec, 0x48, 0x14, 0x02 .global data_ov25_02179ff0 data_ov25_02179ff0: ; 0x02179ff0 .byte 0xf4, 0x48, 0x14, 0x02 .global data_ov25_02179ff4 data_ov25_02179ff4: ; 0x02179ff4 .byte 0xcc, 0x58, 0x14, 0x02 .global data_ov25_02179ff8 data_ov25_02179ff8: ; 0x02179ff8 .byte 0x00, 0x59, 0x14, 0x02 .global data_ov25_02179ffc data_ov25_02179ffc: ; 0x02179ffc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a000 data_ov25_0217a000: ; 0x0217a000 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a004 data_ov25_0217a004: ; 0x0217a004 .byte 0x4c, 0x2c, 0x17, 0x02 .global data_ov25_0217a008 data_ov25_0217a008: ; 0x0217a008 .byte 0xc8, 0x54, 0x17, 0x02 .global data_ov25_0217a00c data_ov25_0217a00c: ; 0x0217a00c .byte 0x88, 0x2a, 0x17, 0x02 .global data_ov25_0217a010 data_ov25_0217a010: ; 0x0217a010 .byte 0xd4, 0x2a, 0x17, 0x02 .global data_ov25_0217a014 data_ov25_0217a014: ; 0x0217a014 .byte 0x2c, 0x2b, 0x17, 0x02 .global data_ov25_0217a018 data_ov25_0217a018: ; 0x0217a018 .byte 0x50, 0x1f, 0x08, 0x02 .global data_ov25_0217a01c data_ov25_0217a01c: ; 0x0217a01c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a020 data_ov25_0217a020: ; 0x0217a020 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a024 data_ov25_0217a024: ; 0x0217a024 .byte 0xd4, 0x69, 0x17, 0x02 .global data_ov25_0217a028 data_ov25_0217a028: ; 0x0217a028 .byte 0xb8, 0x69, 0x17, 0x02 .global data_ov25_0217a02c data_ov25_0217a02c: ; 0x0217a02c .byte 0xf0, 0x5a, 0x17, 0x02 .global data_ov25_0217a030 data_ov25_0217a030: ; 0x0217a030 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a034 data_ov25_0217a034: ; 0x0217a034 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_0217a038 data_ov25_0217a038: ; 0x0217a038 .byte 0x84, 0x63, 0x17, 0x02 .global data_ov25_0217a03c data_ov25_0217a03c: ; 0x0217a03c .byte 0x6c, 0x69, 0x17, 0x02 .global data_ov25_0217a040 data_ov25_0217a040: ; 0x0217a040 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a044 data_ov25_0217a044: ; 0x0217a044 .byte 0x94, 0x18, 0x0c, 0x02 .global data_ov25_0217a048 data_ov25_0217a048: ; 0x0217a048 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a04c data_ov25_0217a04c: ; 0x0217a04c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a050 data_ov25_0217a050: ; 0x0217a050 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a054 data_ov25_0217a054: ; 0x0217a054 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a058 data_ov25_0217a058: ; 0x0217a058 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a05c data_ov25_0217a05c: ; 0x0217a05c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a060 data_ov25_0217a060: ; 0x0217a060 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a064 data_ov25_0217a064: ; 0x0217a064 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a068 data_ov25_0217a068: ; 0x0217a068 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a06c data_ov25_0217a06c: ; 0x0217a06c .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov25_0217a070 data_ov25_0217a070: ; 0x0217a070 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_0217a074 data_ov25_0217a074: ; 0x0217a074 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a078 data_ov25_0217a078: ; 0x0217a078 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a07c data_ov25_0217a07c: ; 0x0217a07c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a080 data_ov25_0217a080: ; 0x0217a080 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a084 data_ov25_0217a084: ; 0x0217a084 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a088 data_ov25_0217a088: ; 0x0217a088 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a08c data_ov25_0217a08c: ; 0x0217a08c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a090 data_ov25_0217a090: ; 0x0217a090 .byte 0x6c, 0x63, 0x17, 0x02 .global data_ov25_0217a094 data_ov25_0217a094: ; 0x0217a094 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a098 data_ov25_0217a098: ; 0x0217a098 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a09c data_ov25_0217a09c: ; 0x0217a09c .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a0a0 data_ov25_0217a0a0: ; 0x0217a0a0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a0a4 data_ov25_0217a0a4: ; 0x0217a0a4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a0a8 data_ov25_0217a0a8: ; 0x0217a0a8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a0ac data_ov25_0217a0ac: ; 0x0217a0ac .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a0b0 data_ov25_0217a0b0: ; 0x0217a0b0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a0b4 data_ov25_0217a0b4: ; 0x0217a0b4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a0b8 data_ov25_0217a0b8: ; 0x0217a0b8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a0bc data_ov25_0217a0bc: ; 0x0217a0bc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a0c0 data_ov25_0217a0c0: ; 0x0217a0c0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a0c4 data_ov25_0217a0c4: ; 0x0217a0c4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a0c8 data_ov25_0217a0c8: ; 0x0217a0c8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a0cc data_ov25_0217a0cc: ; 0x0217a0cc .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a0d0 data_ov25_0217a0d0: ; 0x0217a0d0 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_0217a0d4 data_ov25_0217a0d4: ; 0x0217a0d4 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_0217a0d8 data_ov25_0217a0d8: ; 0x0217a0d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a0dc data_ov25_0217a0dc: ; 0x0217a0dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a0e0 data_ov25_0217a0e0: ; 0x0217a0e0 .byte 0xbc, 0x6d, 0x17, 0x02 .global data_ov25_0217a0e4 data_ov25_0217a0e4: ; 0x0217a0e4 .byte 0x84, 0x6d, 0x17, 0x02 .global data_ov25_0217a0e8 data_ov25_0217a0e8: ; 0x0217a0e8 .byte 0x64, 0x6a, 0x17, 0x02 .global data_ov25_0217a0ec data_ov25_0217a0ec: ; 0x0217a0ec .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a0f0 data_ov25_0217a0f0: ; 0x0217a0f0 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_0217a0f4 data_ov25_0217a0f4: ; 0x0217a0f4 .byte 0x10, 0x6c, 0x17, 0x02 .global data_ov25_0217a0f8 data_ov25_0217a0f8: ; 0x0217a0f8 .byte 0x74, 0x6d, 0x17, 0x02 .global data_ov25_0217a0fc data_ov25_0217a0fc: ; 0x0217a0fc .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a100 data_ov25_0217a100: ; 0x0217a100 .byte 0x80, 0x6d, 0x17, 0x02 .global data_ov25_0217a104 data_ov25_0217a104: ; 0x0217a104 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a108 data_ov25_0217a108: ; 0x0217a108 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a10c data_ov25_0217a10c: ; 0x0217a10c .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a110 data_ov25_0217a110: ; 0x0217a110 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a114 data_ov25_0217a114: ; 0x0217a114 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a118 data_ov25_0217a118: ; 0x0217a118 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a11c data_ov25_0217a11c: ; 0x0217a11c .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a120 data_ov25_0217a120: ; 0x0217a120 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a124 data_ov25_0217a124: ; 0x0217a124 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a128 data_ov25_0217a128: ; 0x0217a128 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov25_0217a12c data_ov25_0217a12c: ; 0x0217a12c .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_0217a130 data_ov25_0217a130: ; 0x0217a130 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a134 data_ov25_0217a134: ; 0x0217a134 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a138 data_ov25_0217a138: ; 0x0217a138 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a13c data_ov25_0217a13c: ; 0x0217a13c .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a140 data_ov25_0217a140: ; 0x0217a140 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a144 data_ov25_0217a144: ; 0x0217a144 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a148 data_ov25_0217a148: ; 0x0217a148 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a14c data_ov25_0217a14c: ; 0x0217a14c .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_0217a150 data_ov25_0217a150: ; 0x0217a150 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a154 data_ov25_0217a154: ; 0x0217a154 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a158 data_ov25_0217a158: ; 0x0217a158 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a15c data_ov25_0217a15c: ; 0x0217a15c .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a160 data_ov25_0217a160: ; 0x0217a160 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a164 data_ov25_0217a164: ; 0x0217a164 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a168 data_ov25_0217a168: ; 0x0217a168 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a16c data_ov25_0217a16c: ; 0x0217a16c .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a170 data_ov25_0217a170: ; 0x0217a170 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a174 data_ov25_0217a174: ; 0x0217a174 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a178 data_ov25_0217a178: ; 0x0217a178 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a17c data_ov25_0217a17c: ; 0x0217a17c .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a180 data_ov25_0217a180: ; 0x0217a180 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a184 data_ov25_0217a184: ; 0x0217a184 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a188 data_ov25_0217a188: ; 0x0217a188 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a18c data_ov25_0217a18c: ; 0x0217a18c .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_0217a190 data_ov25_0217a190: ; 0x0217a190 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_0217a194 data_ov25_0217a194: ; 0x0217a194 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a198 data_ov25_0217a198: ; 0x0217a198 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a19c data_ov25_0217a19c: ; 0x0217a19c .byte 0xec, 0x72, 0x17, 0x02 .global data_ov25_0217a1a0 data_ov25_0217a1a0: ; 0x0217a1a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a1a4 data_ov25_0217a1a4: ; 0x0217a1a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a1a8 data_ov25_0217a1a8: ; 0x0217a1a8 .byte 0x90, 0x6e, 0x17, 0x02 .global data_ov25_0217a1ac data_ov25_0217a1ac: ; 0x0217a1ac .byte 0xa4, 0x6e, 0x17, 0x02 .global data_ov25_0217a1b0 data_ov25_0217a1b0: ; 0x0217a1b0 .byte 0xc8, 0x6e, 0x17, 0x02 .global data_ov25_0217a1b4 data_ov25_0217a1b4: ; 0x0217a1b4 .byte 0x44, 0x6f, 0x17, 0x02 .global data_ov25_0217a1b8 data_ov25_0217a1b8: ; 0x0217a1b8 .byte 0x94, 0xb6, 0x08, 0x02 .global data_ov25_0217a1bc data_ov25_0217a1bc: ; 0x0217a1bc .byte 0x98, 0xb6, 0x08, 0x02 .global data_ov25_0217a1c0 data_ov25_0217a1c0: ; 0x0217a1c0 .byte 0xb8, 0xb6, 0x08, 0x02 .global data_ov25_0217a1c4 data_ov25_0217a1c4: ; 0x0217a1c4 .byte 0xc0, 0x6e, 0x17, 0x02 .global data_ov25_0217a1c8 data_ov25_0217a1c8: ; 0x0217a1c8 .byte 0xd4, 0x71, 0x14, 0x02 .global data_ov25_0217a1cc data_ov25_0217a1cc: ; 0x0217a1cc .byte 0xc4, 0xb6, 0x08, 0x02 .global data_ov25_0217a1d0 data_ov25_0217a1d0: ; 0x0217a1d0 .byte 0xa0, 0x70, 0x14, 0x02 .global data_ov25_0217a1d4 data_ov25_0217a1d4: ; 0x0217a1d4 .byte 0xd0, 0xb6, 0x08, 0x02 .global data_ov25_0217a1d8 data_ov25_0217a1d8: ; 0x0217a1d8 .byte 0xd8, 0x72, 0x17, 0x02 .global data_ov25_0217a1dc data_ov25_0217a1dc: ; 0x0217a1dc .byte 0x04, 0x73, 0x14, 0x02 .global data_ov25_0217a1e0 data_ov25_0217a1e0: ; 0x0217a1e0 .byte 0x50, 0x74, 0x14, 0x02 .global data_ov25_0217a1e4 data_ov25_0217a1e4: ; 0x0217a1e4 .byte 0xf0, 0xb6, 0x08, 0x02 .global data_ov25_0217a1e8 data_ov25_0217a1e8: ; 0x0217a1e8 .byte 0xf8, 0xb6, 0x08, 0x02 .global data_ov25_0217a1ec data_ov25_0217a1ec: ; 0x0217a1ec .byte 0x90, 0x74, 0x14, 0x02 .global data_ov25_0217a1f0 data_ov25_0217a1f0: ; 0x0217a1f0 .byte 0xbc, 0x6f, 0x17, 0x02 .global data_ov25_0217a1f4 data_ov25_0217a1f4: ; 0x0217a1f4 .byte 0x0c, 0xb7, 0x08, 0x02 .global data_ov25_0217a1f8 data_ov25_0217a1f8: ; 0x0217a1f8 .byte 0x10, 0xb7, 0x08, 0x02 .global data_ov25_0217a1fc data_ov25_0217a1fc: ; 0x0217a1fc .byte 0xf8, 0xc9, 0x08, 0x02 .global data_ov25_0217a200 data_ov25_0217a200: ; 0x0217a200 .byte 0x1c, 0xb7, 0x08, 0x02 .global data_ov25_0217a204 data_ov25_0217a204: ; 0x0217a204 .byte 0x44, 0xb8, 0x08, 0x02 .global data_ov25_0217a208 data_ov25_0217a208: ; 0x0217a208 .byte 0x70, 0xb8, 0x08, 0x02 .global data_ov25_0217a20c data_ov25_0217a20c: ; 0x0217a20c .byte 0x9c, 0xb8, 0x08, 0x02 .global data_ov25_0217a210 data_ov25_0217a210: ; 0x0217a210 .byte 0x30, 0xba, 0x08, 0x02 .global data_ov25_0217a214 data_ov25_0217a214: ; 0x0217a214 .byte 0x38, 0xba, 0x08, 0x02 .global data_ov25_0217a218 data_ov25_0217a218: ; 0x0217a218 .byte 0x40, 0xba, 0x08, 0x02 .global data_ov25_0217a21c data_ov25_0217a21c: ; 0x0217a21c .byte 0x48, 0xba, 0x08, 0x02 .global data_ov25_0217a220 data_ov25_0217a220: ; 0x0217a220 .byte 0x50, 0xba, 0x08, 0x02 .global data_ov25_0217a224 data_ov25_0217a224: ; 0x0217a224 .byte 0xc4, 0x71, 0x17, 0x02 .global data_ov25_0217a228 data_ov25_0217a228: ; 0x0217a228 .byte 0x88, 0x6f, 0x17, 0x02 .global data_ov25_0217a22c data_ov25_0217a22c: ; 0x0217a22c .byte 0x8c, 0xc3, 0x08, 0x02 .global data_ov25_0217a230 data_ov25_0217a230: ; 0x0217a230 .byte 0x8c, 0x76, 0x14, 0x02 .global data_ov25_0217a234 data_ov25_0217a234: ; 0x0217a234 .byte 0xf0, 0x70, 0x17, 0x02 .global data_ov25_0217a238 data_ov25_0217a238: ; 0x0217a238 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a23c data_ov25_0217a23c: ; 0x0217a23c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a240 data_ov25_0217a240: ; 0x0217a240 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a244 data_ov25_0217a244: ; 0x0217a244 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a248 data_ov25_0217a248: ; 0x0217a248 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a24c data_ov25_0217a24c: ; 0x0217a24c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a250 data_ov25_0217a250: ; 0x0217a250 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a254 data_ov25_0217a254: ; 0x0217a254 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a258 data_ov25_0217a258: ; 0x0217a258 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a25c data_ov25_0217a25c: ; 0x0217a25c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a260 data_ov25_0217a260: ; 0x0217a260 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a264 data_ov25_0217a264: ; 0x0217a264 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a268 data_ov25_0217a268: ; 0x0217a268 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a26c data_ov25_0217a26c: ; 0x0217a26c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a270 data_ov25_0217a270: ; 0x0217a270 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a274 data_ov25_0217a274: ; 0x0217a274 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a278 data_ov25_0217a278: ; 0x0217a278 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a27c data_ov25_0217a27c: ; 0x0217a27c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a280 data_ov25_0217a280: ; 0x0217a280 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a284 data_ov25_0217a284: ; 0x0217a284 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a288 data_ov25_0217a288: ; 0x0217a288 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a28c data_ov25_0217a28c: ; 0x0217a28c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a290 data_ov25_0217a290: ; 0x0217a290 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a294 data_ov25_0217a294: ; 0x0217a294 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a298 data_ov25_0217a298: ; 0x0217a298 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a29c data_ov25_0217a29c: ; 0x0217a29c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2a0 data_ov25_0217a2a0: ; 0x0217a2a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2a4 data_ov25_0217a2a4: ; 0x0217a2a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2a8 data_ov25_0217a2a8: ; 0x0217a2a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2ac data_ov25_0217a2ac: ; 0x0217a2ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2b0 data_ov25_0217a2b0: ; 0x0217a2b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2b4 data_ov25_0217a2b4: ; 0x0217a2b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2b8 data_ov25_0217a2b8: ; 0x0217a2b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2bc data_ov25_0217a2bc: ; 0x0217a2bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a2c0 data_ov25_0217a2c0: ; 0x0217a2c0 .byte 0x1c, 0x7d, 0x17, 0x02 .global data_ov25_0217a2c4 data_ov25_0217a2c4: ; 0x0217a2c4 .byte 0xcc, 0x7c, 0x17, 0x02 .global data_ov25_0217a2c8 data_ov25_0217a2c8: ; 0x0217a2c8 .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov25_0217a2cc data_ov25_0217a2cc: ; 0x0217a2cc .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a2d0 data_ov25_0217a2d0: ; 0x0217a2d0 .byte 0xe8, 0xa7, 0x0c, 0x02 .global data_ov25_0217a2d4 data_ov25_0217a2d4: ; 0x0217a2d4 .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov25_0217a2d8 data_ov25_0217a2d8: ; 0x0217a2d8 .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov25_0217a2dc data_ov25_0217a2dc: ; 0x0217a2dc .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a2e0 data_ov25_0217a2e0: ; 0x0217a2e0 .byte 0xc0, 0xb1, 0x0c, 0x02 .global data_ov25_0217a2e4 data_ov25_0217a2e4: ; 0x0217a2e4 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a2e8 data_ov25_0217a2e8: ; 0x0217a2e8 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a2ec data_ov25_0217a2ec: ; 0x0217a2ec .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a2f0 data_ov25_0217a2f0: ; 0x0217a2f0 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a2f4 data_ov25_0217a2f4: ; 0x0217a2f4 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a2f8 data_ov25_0217a2f8: ; 0x0217a2f8 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a2fc data_ov25_0217a2fc: ; 0x0217a2fc .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a300 data_ov25_0217a300: ; 0x0217a300 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a304 data_ov25_0217a304: ; 0x0217a304 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a308 data_ov25_0217a308: ; 0x0217a308 .byte 0xb4, 0xae, 0x0c, 0x02 .global data_ov25_0217a30c data_ov25_0217a30c: ; 0x0217a30c .byte 0x40, 0xa8, 0x0c, 0x02 .global data_ov25_0217a310 data_ov25_0217a310: ; 0x0217a310 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a314 data_ov25_0217a314: ; 0x0217a314 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a318 data_ov25_0217a318: ; 0x0217a318 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a31c data_ov25_0217a31c: ; 0x0217a31c .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a320 data_ov25_0217a320: ; 0x0217a320 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a324 data_ov25_0217a324: ; 0x0217a324 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a328 data_ov25_0217a328: ; 0x0217a328 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a32c data_ov25_0217a32c: ; 0x0217a32c .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_0217a330 data_ov25_0217a330: ; 0x0217a330 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a334 data_ov25_0217a334: ; 0x0217a334 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a338 data_ov25_0217a338: ; 0x0217a338 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a33c data_ov25_0217a33c: ; 0x0217a33c .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a340 data_ov25_0217a340: ; 0x0217a340 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a344 data_ov25_0217a344: ; 0x0217a344 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a348 data_ov25_0217a348: ; 0x0217a348 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a34c data_ov25_0217a34c: ; 0x0217a34c .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a350 data_ov25_0217a350: ; 0x0217a350 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a354 data_ov25_0217a354: ; 0x0217a354 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a358 data_ov25_0217a358: ; 0x0217a358 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a35c data_ov25_0217a35c: ; 0x0217a35c .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a360 data_ov25_0217a360: ; 0x0217a360 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a364 data_ov25_0217a364: ; 0x0217a364 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a368 data_ov25_0217a368: ; 0x0217a368 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a36c data_ov25_0217a36c: ; 0x0217a36c .byte 0x84, 0x7b, 0x17, 0x02 .global data_ov25_0217a370 data_ov25_0217a370: ; 0x0217a370 .byte 0xb8, 0x7c, 0x17, 0x02 .global data_ov25_0217a374 data_ov25_0217a374: ; 0x0217a374 .byte 0xf4, 0xac, 0x0c, 0x02 .global data_ov25_0217a378 data_ov25_0217a378: ; 0x0217a378 .byte 0x60, 0x74, 0x17, 0x02 .global data_ov25_0217a37c data_ov25_0217a37c: ; 0x0217a37c .byte 0xe4, 0x77, 0x17, 0x02 .global data_ov25_0217a380 data_ov25_0217a380: ; 0x0217a380 .byte 0x60, 0x7b, 0x17, 0x02 .global data_ov25_0217a384 data_ov25_0217a384: ; 0x0217a384 .byte 0xa8, 0xae, 0x0c, 0x02 .global data_ov25_0217a388 data_ov25_0217a388: ; 0x0217a388 .byte 0x88, 0x75, 0x17, 0x02 .global data_ov25_0217a38c data_ov25_0217a38c: ; 0x0217a38c .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov25_0217a390 data_ov25_0217a390: ; 0x0217a390 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov25_0217a394 data_ov25_0217a394: ; 0x0217a394 .byte 0xbc, 0xaf, 0x0c, 0x02 .global data_ov25_0217a398 data_ov25_0217a398: ; 0x0217a398 .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov25_0217a39c data_ov25_0217a39c: ; 0x0217a39c .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov25_0217a3a0 data_ov25_0217a3a0: ; 0x0217a3a0 .byte 0x6c, 0xb0, 0x0c, 0x02 .global data_ov25_0217a3a4 data_ov25_0217a3a4: ; 0x0217a3a4 .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov25_0217a3a8 data_ov25_0217a3a8: ; 0x0217a3a8 .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov25_0217a3ac data_ov25_0217a3ac: ; 0x0217a3ac .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov25_0217a3b0 data_ov25_0217a3b0: ; 0x0217a3b0 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov25_0217a3b4 data_ov25_0217a3b4: ; 0x0217a3b4 .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov25_0217a3b8 data_ov25_0217a3b8: ; 0x0217a3b8 .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov25_0217a3bc data_ov25_0217a3bc: ; 0x0217a3bc .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov25_0217a3c0 data_ov25_0217a3c0: ; 0x0217a3c0 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov25_0217a3c4 data_ov25_0217a3c4: ; 0x0217a3c4 .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov25_0217a3c8 data_ov25_0217a3c8: ; 0x0217a3c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a3cc data_ov25_0217a3cc: ; 0x0217a3cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a3d0 data_ov25_0217a3d0: ; 0x0217a3d0 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov25_0217a3d4 data_ov25_0217a3d4: ; 0x0217a3d4 .byte 0xd0, 0x73, 0x17, 0x02 .global data_ov25_0217a3d8 data_ov25_0217a3d8: ; 0x0217a3d8 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov25_0217a3dc data_ov25_0217a3dc: ; 0x0217a3dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a3e0 data_ov25_0217a3e0: ; 0x0217a3e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a3e4 data_ov25_0217a3e4: ; 0x0217a3e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a3e8 data_ov25_0217a3e8: ; 0x0217a3e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a3ec data_ov25_0217a3ec: ; 0x0217a3ec .ascii "brg" .byte 0x00 .global data_ov25_0217a3f0 data_ov25_0217a3f0: ; 0x0217a3f0 .ascii "fnl" .byte 0x00 .global data_ov25_0217a3f4 data_ov25_0217a3f4: ; 0x0217a3f4 .ascii "pdl" .byte 0x00 .global data_ov25_0217a3f8 data_ov25_0217a3f8: ; 0x0217a3f8 .ascii "dco" .byte 0x00 .global data_ov25_0217a3fc data_ov25_0217a3fc: ; 0x0217a3fc .ascii "can" .byte 0x00 .global data_ov25_0217a400 data_ov25_0217a400: ; 0x0217a400 .ascii "hul" .byte 0x00 .global data_ov25_0217a404 data_ov25_0217a404: ; 0x0217a404 .ascii "bow" .byte 0x00 .global data_ov25_0217a408 data_ov25_0217a408: ; 0x0217a408 .ascii "anc" .byte 0x00 .global data_ov25_0217a40c data_ov25_0217a40c: ; 0x0217a40c .byte 0x08, 0xa4, 0x17, 0x02 .global data_ov25_0217a410 data_ov25_0217a410: ; 0x0217a410 .byte 0x04, 0xa4, 0x17, 0x02 .global data_ov25_0217a414 data_ov25_0217a414: ; 0x0217a414 .byte 0x00, 0xa4, 0x17, 0x02 .global data_ov25_0217a418 data_ov25_0217a418: ; 0x0217a418 .byte 0xfc, 0xa3, 0x17, 0x02 .global data_ov25_0217a41c data_ov25_0217a41c: ; 0x0217a41c .byte 0xf8, 0xa3, 0x17, 0x02 .global data_ov25_0217a420 data_ov25_0217a420: ; 0x0217a420 .byte 0xf4, 0xa3, 0x17, 0x02 .global data_ov25_0217a424 data_ov25_0217a424: ; 0x0217a424 .byte 0xf0, 0xa3, 0x17, 0x02 .global data_ov25_0217a428 data_ov25_0217a428: ; 0x0217a428 .byte 0xec, 0xa3, 0x17, 0x02 .global data_ov25_0217a42c data_ov25_0217a42c: ; 0x0217a42c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a430 data_ov25_0217a430: ; 0x0217a430 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a434 data_ov25_0217a434: ; 0x0217a434 .byte 0x58, 0x85, 0x17, 0x02 .global data_ov25_0217a438 data_ov25_0217a438: ; 0x0217a438 .byte 0x20, 0x85, 0x17, 0x02 .global data_ov25_0217a43c data_ov25_0217a43c: ; 0x0217a43c .byte 0x9c, 0x80, 0x17, 0x02 .global data_ov25_0217a440 data_ov25_0217a440: ; 0x0217a440 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a444 data_ov25_0217a444: ; 0x0217a444 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_0217a448 data_ov25_0217a448: ; 0x0217a448 .byte 0x18, 0x82, 0x17, 0x02 .global data_ov25_0217a44c data_ov25_0217a44c: ; 0x0217a44c .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov25_0217a450 data_ov25_0217a450: ; 0x0217a450 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a454 data_ov25_0217a454: ; 0x0217a454 .byte 0x1c, 0x85, 0x17, 0x02 .global data_ov25_0217a458 data_ov25_0217a458: ; 0x0217a458 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a45c data_ov25_0217a45c: ; 0x0217a45c .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a460 data_ov25_0217a460: ; 0x0217a460 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a464 data_ov25_0217a464: ; 0x0217a464 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a468 data_ov25_0217a468: ; 0x0217a468 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a46c data_ov25_0217a46c: ; 0x0217a46c .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a470 data_ov25_0217a470: ; 0x0217a470 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a474 data_ov25_0217a474: ; 0x0217a474 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a478 data_ov25_0217a478: ; 0x0217a478 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a47c data_ov25_0217a47c: ; 0x0217a47c .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov25_0217a480 data_ov25_0217a480: ; 0x0217a480 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_0217a484 data_ov25_0217a484: ; 0x0217a484 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a488 data_ov25_0217a488: ; 0x0217a488 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a48c data_ov25_0217a48c: ; 0x0217a48c .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a490 data_ov25_0217a490: ; 0x0217a490 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a494 data_ov25_0217a494: ; 0x0217a494 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a498 data_ov25_0217a498: ; 0x0217a498 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a49c data_ov25_0217a49c: ; 0x0217a49c .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a4a0 data_ov25_0217a4a0: ; 0x0217a4a0 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_0217a4a4 data_ov25_0217a4a4: ; 0x0217a4a4 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a4a8 data_ov25_0217a4a8: ; 0x0217a4a8 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a4ac data_ov25_0217a4ac: ; 0x0217a4ac .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a4b0 data_ov25_0217a4b0: ; 0x0217a4b0 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a4b4 data_ov25_0217a4b4: ; 0x0217a4b4 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a4b8 data_ov25_0217a4b8: ; 0x0217a4b8 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a4bc data_ov25_0217a4bc: ; 0x0217a4bc .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a4c0 data_ov25_0217a4c0: ; 0x0217a4c0 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a4c4 data_ov25_0217a4c4: ; 0x0217a4c4 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a4c8 data_ov25_0217a4c8: ; 0x0217a4c8 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a4cc data_ov25_0217a4cc: ; 0x0217a4cc .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a4d0 data_ov25_0217a4d0: ; 0x0217a4d0 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a4d4 data_ov25_0217a4d4: ; 0x0217a4d4 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a4d8 data_ov25_0217a4d8: ; 0x0217a4d8 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a4dc data_ov25_0217a4dc: ; 0x0217a4dc .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a4e0 data_ov25_0217a4e0: ; 0x0217a4e0 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_0217a4e4 data_ov25_0217a4e4: ; 0x0217a4e4 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_0217a4e8 data_ov25_0217a4e8: ; 0x0217a4e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a4ec data_ov25_0217a4ec: ; 0x0217a4ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a4f0 data_ov25_0217a4f0: ; 0x0217a4f0 .byte 0x28, 0x86, 0x17, 0x02 .global data_ov25_0217a4f4 data_ov25_0217a4f4: ; 0x0217a4f4 .byte 0x58, 0x86, 0x17, 0x02 .global data_ov25_0217a4f8 data_ov25_0217a4f8: ; 0x0217a4f8 .byte 0x90, 0x86, 0x17, 0x02 .global data_ov25_0217a4fc data_ov25_0217a4fc: ; 0x0217a4fc .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a500 data_ov25_0217a500: ; 0x0217a500 .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_0217a504 data_ov25_0217a504: ; 0x0217a504 .byte 0xbc, 0x87, 0x17, 0x02 .global data_ov25_0217a508 data_ov25_0217a508: ; 0x0217a508 .byte 0xec, 0x87, 0x17, 0x02 .global data_ov25_0217a50c data_ov25_0217a50c: ; 0x0217a50c .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a510 data_ov25_0217a510: ; 0x0217a510 .byte 0x2c, 0x15, 0x15, 0x02 .global data_ov25_0217a514 data_ov25_0217a514: ; 0x0217a514 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a518 data_ov25_0217a518: ; 0x0217a518 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a51c data_ov25_0217a51c: ; 0x0217a51c .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a520 data_ov25_0217a520: ; 0x0217a520 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a524 data_ov25_0217a524: ; 0x0217a524 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a528 data_ov25_0217a528: ; 0x0217a528 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a52c data_ov25_0217a52c: ; 0x0217a52c .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a530 data_ov25_0217a530: ; 0x0217a530 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a534 data_ov25_0217a534: ; 0x0217a534 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a538 data_ov25_0217a538: ; 0x0217a538 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov25_0217a53c data_ov25_0217a53c: ; 0x0217a53c .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_0217a540 data_ov25_0217a540: ; 0x0217a540 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a544 data_ov25_0217a544: ; 0x0217a544 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a548 data_ov25_0217a548: ; 0x0217a548 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a54c data_ov25_0217a54c: ; 0x0217a54c .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a550 data_ov25_0217a550: ; 0x0217a550 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a554 data_ov25_0217a554: ; 0x0217a554 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a558 data_ov25_0217a558: ; 0x0217a558 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a55c data_ov25_0217a55c: ; 0x0217a55c .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_0217a560 data_ov25_0217a560: ; 0x0217a560 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a564 data_ov25_0217a564: ; 0x0217a564 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a568 data_ov25_0217a568: ; 0x0217a568 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a56c data_ov25_0217a56c: ; 0x0217a56c .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a570 data_ov25_0217a570: ; 0x0217a570 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a574 data_ov25_0217a574: ; 0x0217a574 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a578 data_ov25_0217a578: ; 0x0217a578 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a57c data_ov25_0217a57c: ; 0x0217a57c .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a580 data_ov25_0217a580: ; 0x0217a580 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a584 data_ov25_0217a584: ; 0x0217a584 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a588 data_ov25_0217a588: ; 0x0217a588 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a58c data_ov25_0217a58c: ; 0x0217a58c .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a590 data_ov25_0217a590: ; 0x0217a590 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a594 data_ov25_0217a594: ; 0x0217a594 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a598 data_ov25_0217a598: ; 0x0217a598 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a59c data_ov25_0217a59c: ; 0x0217a59c .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_0217a5a0 data_ov25_0217a5a0: ; 0x0217a5a0 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_0217a5a4 data_ov25_0217a5a4: ; 0x0217a5a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a5a8 data_ov25_0217a5a8: ; 0x0217a5a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a5ac data_ov25_0217a5ac: ; 0x0217a5ac .byte 0xed, 0x9a, 0x0a, 0x02 .global data_ov25_0217a5b0 data_ov25_0217a5b0: ; 0x0217a5b0 .byte 0xf9, 0x9a, 0x0a, 0x02 .global data_ov25_0217a5b4 data_ov25_0217a5b4: ; 0x0217a5b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a5b8 data_ov25_0217a5b8: ; 0x0217a5b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a5bc data_ov25_0217a5bc: ; 0x0217a5bc .byte 0x4d, 0x9b, 0x0a, 0x02 .global data_ov25_0217a5c0 data_ov25_0217a5c0: ; 0x0217a5c0 .byte 0x59, 0x9b, 0x0a, 0x02 .global data_ov25_0217a5c4 data_ov25_0217a5c4: ; 0x0217a5c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a5c8 data_ov25_0217a5c8: ; 0x0217a5c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a5cc data_ov25_0217a5cc: ; 0x0217a5cc .byte 0x5c, 0x88, 0x17, 0x02 .global data_ov25_0217a5d0 data_ov25_0217a5d0: ; 0x0217a5d0 .byte 0x7c, 0x88, 0x17, 0x02 .global data_ov25_0217a5d4 data_ov25_0217a5d4: ; 0x0217a5d4 .byte 0xa4, 0x88, 0x17, 0x02 .global data_ov25_0217a5d8 data_ov25_0217a5d8: ; 0x0217a5d8 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a5dc data_ov25_0217a5dc: ; 0x0217a5dc .byte 0x40, 0x17, 0x0c, 0x02 .global data_ov25_0217a5e0 data_ov25_0217a5e0: ; 0x0217a5e0 .byte 0xb8, 0x17, 0x0c, 0x02 .global data_ov25_0217a5e4 data_ov25_0217a5e4: ; 0x0217a5e4 .byte 0xbc, 0x17, 0x0c, 0x02 .global data_ov25_0217a5e8 data_ov25_0217a5e8: ; 0x0217a5e8 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a5ec data_ov25_0217a5ec: ; 0x0217a5ec .byte 0xc0, 0x89, 0x17, 0x02 .global data_ov25_0217a5f0 data_ov25_0217a5f0: ; 0x0217a5f0 .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a5f4 data_ov25_0217a5f4: ; 0x0217a5f4 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a5f8 data_ov25_0217a5f8: ; 0x0217a5f8 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a5fc data_ov25_0217a5fc: ; 0x0217a5fc .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a600 data_ov25_0217a600: ; 0x0217a600 .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a604 data_ov25_0217a604: ; 0x0217a604 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a608 data_ov25_0217a608: ; 0x0217a608 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a60c data_ov25_0217a60c: ; 0x0217a60c .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a610 data_ov25_0217a610: ; 0x0217a610 .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a614 data_ov25_0217a614: ; 0x0217a614 .byte 0x48, 0x1c, 0x0c, 0x02 .global data_ov25_0217a618 data_ov25_0217a618: ; 0x0217a618 .byte 0x50, 0x1c, 0x0c, 0x02 .global data_ov25_0217a61c data_ov25_0217a61c: ; 0x0217a61c .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a620 data_ov25_0217a620: ; 0x0217a620 .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a624 data_ov25_0217a624: ; 0x0217a624 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a628 data_ov25_0217a628: ; 0x0217a628 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a62c data_ov25_0217a62c: ; 0x0217a62c .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a630 data_ov25_0217a630: ; 0x0217a630 .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a634 data_ov25_0217a634: ; 0x0217a634 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a638 data_ov25_0217a638: ; 0x0217a638 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_0217a63c data_ov25_0217a63c: ; 0x0217a63c .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a640 data_ov25_0217a640: ; 0x0217a640 .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a644 data_ov25_0217a644: ; 0x0217a644 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a648 data_ov25_0217a648: ; 0x0217a648 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a64c data_ov25_0217a64c: ; 0x0217a64c .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a650 data_ov25_0217a650: ; 0x0217a650 .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a654 data_ov25_0217a654: ; 0x0217a654 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a658 data_ov25_0217a658: ; 0x0217a658 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a65c data_ov25_0217a65c: ; 0x0217a65c .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a660 data_ov25_0217a660: ; 0x0217a660 .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a664 data_ov25_0217a664: ; 0x0217a664 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a668 data_ov25_0217a668: ; 0x0217a668 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a66c data_ov25_0217a66c: ; 0x0217a66c .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a670 data_ov25_0217a670: ; 0x0217a670 .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a674 data_ov25_0217a674: ; 0x0217a674 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a678 data_ov25_0217a678: ; 0x0217a678 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_0217a67c data_ov25_0217a67c: ; 0x0217a67c .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_0217a680 data_ov25_0217a680: ; 0x0217a680 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a684 data_ov25_0217a684: ; 0x0217a684 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a688 data_ov25_0217a688: ; 0x0217a688 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a68c data_ov25_0217a68c: ; 0x0217a68c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a690 data_ov25_0217a690: ; 0x0217a690 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a694 data_ov25_0217a694: ; 0x0217a694 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a698 data_ov25_0217a698: ; 0x0217a698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a69c data_ov25_0217a69c: ; 0x0217a69c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6a0 data_ov25_0217a6a0: ; 0x0217a6a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6a4 data_ov25_0217a6a4: ; 0x0217a6a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6a8 data_ov25_0217a6a8: ; 0x0217a6a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6ac data_ov25_0217a6ac: ; 0x0217a6ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6b0 data_ov25_0217a6b0: ; 0x0217a6b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6b4 data_ov25_0217a6b4: ; 0x0217a6b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6b8 data_ov25_0217a6b8: ; 0x0217a6b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6bc data_ov25_0217a6bc: ; 0x0217a6bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6c0 data_ov25_0217a6c0: ; 0x0217a6c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6c4 data_ov25_0217a6c4: ; 0x0217a6c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6c8 data_ov25_0217a6c8: ; 0x0217a6c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6cc data_ov25_0217a6cc: ; 0x0217a6cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6d0 data_ov25_0217a6d0: ; 0x0217a6d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6d4 data_ov25_0217a6d4: ; 0x0217a6d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6d8 data_ov25_0217a6d8: ; 0x0217a6d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6dc data_ov25_0217a6dc: ; 0x0217a6dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6e0 data_ov25_0217a6e0: ; 0x0217a6e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6e4 data_ov25_0217a6e4: ; 0x0217a6e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6e8 data_ov25_0217a6e8: ; 0x0217a6e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6ec data_ov25_0217a6ec: ; 0x0217a6ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6f0 data_ov25_0217a6f0: ; 0x0217a6f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6f4 data_ov25_0217a6f4: ; 0x0217a6f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6f8 data_ov25_0217a6f8: ; 0x0217a6f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a6fc data_ov25_0217a6fc: ; 0x0217a6fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a700 data_ov25_0217a700: ; 0x0217a700 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a704 data_ov25_0217a704: ; 0x0217a704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a708 data_ov25_0217a708: ; 0x0217a708 .byte 0xd8, 0x92, 0x17, 0x02 .global data_ov25_0217a70c data_ov25_0217a70c: ; 0x0217a70c .byte 0x88, 0x92, 0x17, 0x02 .global data_ov25_0217a710 data_ov25_0217a710: ; 0x0217a710 .byte 0x00, 0xaa, 0x0c, 0x02 .global data_ov25_0217a714 data_ov25_0217a714: ; 0x0217a714 .byte 0x3c, 0x17, 0x0c, 0x02 .global data_ov25_0217a718 data_ov25_0217a718: ; 0x0217a718 .byte 0xe8, 0xa7, 0x0c, 0x02 .global data_ov25_0217a71c data_ov25_0217a71c: ; 0x0217a71c .byte 0x28, 0xaa, 0x0c, 0x02 .global data_ov25_0217a720 data_ov25_0217a720: ; 0x0217a720 .byte 0x30, 0xad, 0x0c, 0x02 .global data_ov25_0217a724 data_ov25_0217a724: ; 0x0217a724 .byte 0xd4, 0x17, 0x0c, 0x02 .global data_ov25_0217a728 data_ov25_0217a728: ; 0x0217a728 .byte 0xc0, 0xb1, 0x0c, 0x02 .global data_ov25_0217a72c data_ov25_0217a72c: ; 0x0217a72c .byte 0x44, 0x17, 0x0c, 0x02 .global data_ov25_0217a730 data_ov25_0217a730: ; 0x0217a730 .byte 0x48, 0x17, 0x0c, 0x02 .global data_ov25_0217a734 data_ov25_0217a734: ; 0x0217a734 .byte 0xa8, 0x17, 0x0c, 0x02 .global data_ov25_0217a738 data_ov25_0217a738: ; 0x0217a738 .byte 0xb0, 0x17, 0x0c, 0x02 .global data_ov25_0217a73c data_ov25_0217a73c: ; 0x0217a73c .byte 0x4c, 0x17, 0x0c, 0x02 .global data_ov25_0217a740 data_ov25_0217a740: ; 0x0217a740 .byte 0x7c, 0x17, 0x0c, 0x02 .global data_ov25_0217a744 data_ov25_0217a744: ; 0x0217a744 .byte 0xe4, 0x27, 0x0c, 0x02 .global data_ov25_0217a748 data_ov25_0217a748: ; 0x0217a748 .byte 0x04, 0x30, 0x0c, 0x02 .global data_ov25_0217a74c data_ov25_0217a74c: ; 0x0217a74c .byte 0x44, 0x27, 0x0c, 0x02 .global data_ov25_0217a750 data_ov25_0217a750: ; 0x0217a750 .byte 0xac, 0x8e, 0x17, 0x02 .global data_ov25_0217a754 data_ov25_0217a754: ; 0x0217a754 .byte 0x40, 0xa8, 0x0c, 0x02 .global data_ov25_0217a758 data_ov25_0217a758: ; 0x0217a758 .byte 0x0c, 0x31, 0x0c, 0x02 .global data_ov25_0217a75c data_ov25_0217a75c: ; 0x0217a75c .byte 0x14, 0x31, 0x0c, 0x02 .global data_ov25_0217a760 data_ov25_0217a760: ; 0x0217a760 .byte 0xa8, 0x18, 0x0c, 0x02 .global data_ov25_0217a764 data_ov25_0217a764: ; 0x0217a764 .byte 0xc4, 0x18, 0x0c, 0x02 .global data_ov25_0217a768 data_ov25_0217a768: ; 0x0217a768 .byte 0xfc, 0x18, 0x0c, 0x02 .global data_ov25_0217a76c data_ov25_0217a76c: ; 0x0217a76c .byte 0x04, 0x19, 0x0c, 0x02 .global data_ov25_0217a770 data_ov25_0217a770: ; 0x0217a770 .byte 0x10, 0x19, 0x0c, 0x02 .global data_ov25_0217a774 data_ov25_0217a774: ; 0x0217a774 .byte 0x14, 0x19, 0x0c, 0x02 .global data_ov25_0217a778 data_ov25_0217a778: ; 0x0217a778 .byte 0x1c, 0x19, 0x0c, 0x02 .global data_ov25_0217a77c data_ov25_0217a77c: ; 0x0217a77c .byte 0x24, 0x19, 0x0c, 0x02 .global data_ov25_0217a780 data_ov25_0217a780: ; 0x0217a780 .byte 0x2c, 0x19, 0x0c, 0x02 .global data_ov25_0217a784 data_ov25_0217a784: ; 0x0217a784 .byte 0x28, 0x19, 0x0c, 0x02 .global data_ov25_0217a788 data_ov25_0217a788: ; 0x0217a788 .byte 0x34, 0x19, 0x0c, 0x02 .global data_ov25_0217a78c data_ov25_0217a78c: ; 0x0217a78c .byte 0x38, 0x19, 0x0c, 0x02 .global data_ov25_0217a790 data_ov25_0217a790: ; 0x0217a790 .byte 0x3c, 0x19, 0x0c, 0x02 .global data_ov25_0217a794 data_ov25_0217a794: ; 0x0217a794 .byte 0x40, 0x19, 0x0c, 0x02 .global data_ov25_0217a798 data_ov25_0217a798: ; 0x0217a798 .byte 0x48, 0x19, 0x0c, 0x02 .global data_ov25_0217a79c data_ov25_0217a79c: ; 0x0217a79c .byte 0x50, 0x19, 0x0c, 0x02 .global data_ov25_0217a7a0 data_ov25_0217a7a0: ; 0x0217a7a0 .byte 0x54, 0x19, 0x0c, 0x02 .global data_ov25_0217a7a4 data_ov25_0217a7a4: ; 0x0217a7a4 .byte 0x58, 0x19, 0x0c, 0x02 .global data_ov25_0217a7a8 data_ov25_0217a7a8: ; 0x0217a7a8 .byte 0x6c, 0x1b, 0x0c, 0x02 .global data_ov25_0217a7ac data_ov25_0217a7ac: ; 0x0217a7ac .byte 0xb4, 0x1b, 0x0c, 0x02 .global data_ov25_0217a7b0 data_ov25_0217a7b0: ; 0x0217a7b0 .byte 0xf8, 0x1b, 0x0c, 0x02 .global data_ov25_0217a7b4 data_ov25_0217a7b4: ; 0x0217a7b4 .byte 0xfc, 0x31, 0x0c, 0x02 .global data_ov25_0217a7b8 data_ov25_0217a7b8: ; 0x0217a7b8 .byte 0x2c, 0x32, 0x0c, 0x02 .global data_ov25_0217a7bc data_ov25_0217a7bc: ; 0x0217a7bc .byte 0xf4, 0xac, 0x0c, 0x02 .global data_ov25_0217a7c0 data_ov25_0217a7c0: ; 0x0217a7c0 .byte 0x5c, 0x8c, 0x17, 0x02 .global data_ov25_0217a7c4 data_ov25_0217a7c4: ; 0x0217a7c4 .byte 0xe8, 0x8e, 0x17, 0x02 .global data_ov25_0217a7c8 data_ov25_0217a7c8: ; 0x0217a7c8 .byte 0xac, 0x91, 0x17, 0x02 .global data_ov25_0217a7cc data_ov25_0217a7cc: ; 0x0217a7cc .byte 0xd8, 0x8e, 0x17, 0x02 .global data_ov25_0217a7d0 data_ov25_0217a7d0: ; 0x0217a7d0 .byte 0xf8, 0xae, 0x0c, 0x02 .global data_ov25_0217a7d4 data_ov25_0217a7d4: ; 0x0217a7d4 .byte 0xfc, 0xae, 0x0c, 0x02 .global data_ov25_0217a7d8 data_ov25_0217a7d8: ; 0x0217a7d8 .byte 0xb8, 0xaf, 0x0c, 0x02 .global data_ov25_0217a7dc data_ov25_0217a7dc: ; 0x0217a7dc .byte 0xbc, 0xaf, 0x0c, 0x02 .global data_ov25_0217a7e0 data_ov25_0217a7e0: ; 0x0217a7e0 .byte 0xd0, 0xaf, 0x0c, 0x02 .global data_ov25_0217a7e4 data_ov25_0217a7e4: ; 0x0217a7e4 .byte 0x58, 0xb0, 0x0c, 0x02 .global data_ov25_0217a7e8 data_ov25_0217a7e8: ; 0x0217a7e8 .byte 0x6c, 0xb0, 0x0c, 0x02 .global data_ov25_0217a7ec data_ov25_0217a7ec: ; 0x0217a7ec .byte 0x80, 0xb0, 0x0c, 0x02 .global data_ov25_0217a7f0 data_ov25_0217a7f0: ; 0x0217a7f0 .byte 0x0c, 0xb1, 0x0c, 0x02 .global data_ov25_0217a7f4 data_ov25_0217a7f4: ; 0x0217a7f4 .byte 0x20, 0xb1, 0x0c, 0x02 .global data_ov25_0217a7f8 data_ov25_0217a7f8: ; 0x0217a7f8 .byte 0x2c, 0xb1, 0x0c, 0x02 .global data_ov25_0217a7fc data_ov25_0217a7fc: ; 0x0217a7fc .byte 0x3c, 0xb1, 0x0c, 0x02 .global data_ov25_0217a800 data_ov25_0217a800: ; 0x0217a800 .byte 0x50, 0xc1, 0x0c, 0x02 .global data_ov25_0217a804 data_ov25_0217a804: ; 0x0217a804 .byte 0x5c, 0xc1, 0x0c, 0x02 .global data_ov25_0217a808 data_ov25_0217a808: ; 0x0217a808 .byte 0x90, 0xc4, 0x0c, 0x02 .global data_ov25_0217a80c data_ov25_0217a80c: ; 0x0217a80c .byte 0x24, 0xc5, 0x0c, 0x02 .global data_ov25_0217a810 data_ov25_0217a810: ; 0x0217a810 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a814 data_ov25_0217a814: ; 0x0217a814 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a818 data_ov25_0217a818: ; 0x0217a818 .byte 0x34, 0x5d, 0x0c, 0x02 .global data_ov25_0217a81c data_ov25_0217a81c: ; 0x0217a81c .byte 0x38, 0x8b, 0x17, 0x02 .global data_ov25_0217a820 data_ov25_0217a820: ; 0x0217a820 .byte 0x58, 0x5e, 0x0c, 0x02 .global data_ov25_0217a824 data_ov25_0217a824: ; 0x0217a824 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a828 data_ov25_0217a828: ; 0x0217a828 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a82c data_ov25_0217a82c: ; 0x0217a82c .byte 0x24, 0x8b, 0x17, 0x02 .global data_ov25_0217a830 data_ov25_0217a830: ; 0x0217a830 .byte 0x20, 0x93, 0x17, 0x02 .global data_ov25_0217a834 data_ov25_0217a834: ; 0x0217a834 .byte 0x0c, 0x96, 0x0a, 0x02 .global data_ov25_0217a838 data_ov25_0217a838: ; 0x0217a838 .byte 0x14, 0x96, 0x0a, 0x02 .global data_ov25_0217a83c data_ov25_0217a83c: ; 0x0217a83c .byte 0x50, 0x96, 0x0a, 0x02 .global data_ov25_0217a840 data_ov25_0217a840: ; 0x0217a840 .byte 0xd4, 0x96, 0x0a, 0x02 .global data_ov25_0217a844 data_ov25_0217a844: ; 0x0217a844 .byte 0x40, 0x97, 0x0a, 0x02 .global data_ov25_0217a848 data_ov25_0217a848: ; 0x0217a848 .byte 0x64, 0x97, 0x0a, 0x02 .global data_ov25_0217a84c data_ov25_0217a84c: ; 0x0217a84c .byte 0xd0, 0x97, 0x0a, 0x02 .global data_ov25_0217a850 data_ov25_0217a850: ; 0x0217a850 .byte 0xe0, 0x97, 0x0a, 0x02 .global data_ov25_0217a854 data_ov25_0217a854: ; 0x0217a854 .byte 0xf8, 0x97, 0x0a, 0x02 .global data_ov25_0217a858 data_ov25_0217a858: ; 0x0217a858 .byte 0x64, 0x98, 0x0a, 0x02 .global data_ov25_0217a85c data_ov25_0217a85c: ; 0x0217a85c .byte 0xbc, 0x98, 0x0a, 0x02 .global data_ov25_0217a860 data_ov25_0217a860: ; 0x0217a860 .byte 0x90, 0x98, 0x0a, 0x02 .global data_ov25_0217a864 data_ov25_0217a864: ; 0x0217a864 .byte 0x68, 0x99, 0x0a, 0x02 .global data_ov25_0217a868 data_ov25_0217a868: ; 0x0217a868 .byte 0x48, 0x8a, 0x17, 0x02 .global data_ov25_0217a86c data_ov25_0217a86c: ; 0x0217a86c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a870 data_ov25_0217a870: ; 0x0217a870 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov25_0217a874 data_ov25_0217a874: ; 0x0217a874 .byte 0x6d, 0x9b, 0x0a, 0x02 .global data_ov25_0217a878 data_ov25_0217a878: ; 0x0217a878 .byte 0x79, 0x9b, 0x0a, 0x02 .global data_ov25_0217a87c data_ov25_0217a87c: ; 0x0217a87c .byte 0x00, 0x00, 0x00, 0x00 ; 0x0217a880 .bss .global data_ov25_0217a880 data_ov25_0217a880: .space 0x4 .global data_ov25_0217a884 data_ov25_0217a884: .space 0x4 .global data_ov25_0217a888 data_ov25_0217a888: .space 0x4 .global data_ov25_0217a88c data_ov25_0217a88c: .space 0x4 .global data_ov25_0217a890 data_ov25_0217a890: .space 0x4 .global data_ov25_0217a894 data_ov25_0217a894: .space 0x4 .global data_ov25_0217a898 data_ov25_0217a898: .space 0x4 .global data_ov25_0217a89c data_ov25_0217a89c: .space 0x4 .global data_ov25_0217a8a0 data_ov25_0217a8a0: .space 0x4 .global data_ov25_0217a8a4 data_ov25_0217a8a4: .space 0x4 .global data_ov25_0217a8a8 data_ov25_0217a8a8: .space 0x4 .global data_ov25_0217a8ac data_ov25_0217a8ac: .space 0x4 .global data_ov25_0217a8b0 data_ov25_0217a8b0: .space 0x4 .global data_ov25_0217a8b4 data_ov25_0217a8b4: .space 0x4 .global data_ov25_0217a8b8 data_ov25_0217a8b8: .space 0x4 .global data_ov25_0217a8bc data_ov25_0217a8bc: .space 0x4 .global data_ov25_0217a8c0 data_ov25_0217a8c0: .space 0x4 .global data_ov25_0217a8c4 data_ov25_0217a8c4: .space 0x4 .global data_ov25_0217a8c8 data_ov25_0217a8c8: .space 0x4 .global data_ov25_0217a8cc data_ov25_0217a8cc: .space 0x4 .global data_ov25_0217a8d0 data_ov25_0217a8d0: .space 0x4 .global data_ov25_0217a8d4 data_ov25_0217a8d4: .space 0x4 .global data_ov25_0217a8d8 data_ov25_0217a8d8: .space 0x4 .global data_ov25_0217a8dc data_ov25_0217a8dc: .space 0x4 .global data_ov25_0217a8e0 data_ov25_0217a8e0: .space 0x4 .global data_ov25_0217a8e4 data_ov25_0217a8e4: .space 0x4 .global data_ov25_0217a8e8 data_ov25_0217a8e8: .space 0x4 .global data_ov25_0217a8ec data_ov25_0217a8ec: .space 0x4 .global data_ov25_0217a8f0 data_ov25_0217a8f0: .space 0x4 .global data_ov25_0217a8f4 data_ov25_0217a8f4: .space 0x4 .global data_ov25_0217a8f8 data_ov25_0217a8f8: .space 0x4 .global data_ov25_0217a8fc data_ov25_0217a8fc: .space 0x4 .global data_ov25_0217a900 data_ov25_0217a900: .space 0x4 .global data_ov25_0217a904 data_ov25_0217a904: .space 0x4 .global data_ov25_0217a908 data_ov25_0217a908: .space 0x4 .global data_ov25_0217a90c data_ov25_0217a90c: .space 0x4 .global data_ov25_0217a910 data_ov25_0217a910: .space 0x4 .global data_ov25_0217a914 data_ov25_0217a914: .space 0x4 .global data_ov25_0217a918 data_ov25_0217a918: .space 0x4 .global data_ov25_0217a91c data_ov25_0217a91c: .space 0x4 .global data_ov25_0217a920 data_ov25_0217a920: .space 0x4 .global data_ov25_0217a924 data_ov25_0217a924: .space 0x4 .global data_ov25_0217a928 data_ov25_0217a928: .space 0x4 .global data_ov25_0217a92c data_ov25_0217a92c: .space 0x4 .global data_ov25_0217a930 data_ov25_0217a930: .space 0x4 .global data_ov25_0217a934 data_ov25_0217a934: .space 0x4 .global data_ov25_0217a938 data_ov25_0217a938: .space 0x4 .global data_ov25_0217a93c data_ov25_0217a93c: .space 0x4 .global data_ov25_0217a940 data_ov25_0217a940: .space 0x4 .global data_ov25_0217a944 data_ov25_0217a944: .space 0x4 .global data_ov25_0217a948 data_ov25_0217a948: .space 0x4 .global data_ov25_0217a94c data_ov25_0217a94c: .space 0x4 .global data_ov25_0217a950 data_ov25_0217a950: .space 0x4 .global data_ov25_0217a954 data_ov25_0217a954: .space 0x4 .global data_ov25_0217a958 data_ov25_0217a958: .space 0x4 .global data_ov25_0217a95c data_ov25_0217a95c: .space 0x4 .global data_ov25_0217a960 data_ov25_0217a960: .space 0x4 .global data_ov25_0217a964 data_ov25_0217a964: .space 0x4 .global data_ov25_0217a968 data_ov25_0217a968: .space 0x4 .global data_ov25_0217a96c data_ov25_0217a96c: .space 0x4 .global data_ov25_0217a970 data_ov25_0217a970: .space 0x4 .global data_ov25_0217a974 data_ov25_0217a974: .space 0x4 .global data_ov25_0217a978 data_ov25_0217a978: .space 0x4 .global data_ov25_0217a97c data_ov25_0217a97c: .space 0x4 .global data_ov25_0217a980 data_ov25_0217a980: .space 0x4 .global data_ov25_0217a984 data_ov25_0217a984: .space 0x4 .global data_ov25_0217a988 data_ov25_0217a988: .space 0x4 .global data_ov25_0217a98c data_ov25_0217a98c: .space 0x4 .global data_ov25_0217a990 data_ov25_0217a990: .space 0x4 .global data_ov25_0217a994 data_ov25_0217a994: .space 0x4 .global data_ov25_0217a998 data_ov25_0217a998: .space 0x4 .global data_ov25_0217a99c data_ov25_0217a99c: .space 0x4 .global data_ov25_0217a9a0 data_ov25_0217a9a0: .space 0x4 .global data_ov25_0217a9a4 data_ov25_0217a9a4: .space 0x4 .global data_ov25_0217a9a8 data_ov25_0217a9a8: .space 0x4 .global data_ov25_0217a9ac data_ov25_0217a9ac: .space 0x4 .global data_ov25_0217a9b0 data_ov25_0217a9b0: .space 0x4 .global data_ov25_0217a9b4 data_ov25_0217a9b4: .space 0x4 .global data_ov25_0217a9b8 data_ov25_0217a9b8: .space 0x4 .global data_ov25_0217a9bc data_ov25_0217a9bc: .space 0x4 .global data_ov25_0217a9c0 data_ov25_0217a9c0: .space 0x4 .global data_ov25_0217a9c4 data_ov25_0217a9c4: .space 0x4 .global data_ov25_0217a9c8 data_ov25_0217a9c8: .space 0x4 .global data_ov25_0217a9cc data_ov25_0217a9cc: .space 0x4 .global data_ov25_0217a9d0 data_ov25_0217a9d0: .space 0x4 .global data_ov25_0217a9d4 data_ov25_0217a9d4: .space 0x4 .global data_ov25_0217a9d8 data_ov25_0217a9d8: .space 0x4 .global data_ov25_0217a9dc data_ov25_0217a9dc: .space 0x4 .global data_ov25_0217a9e0 data_ov25_0217a9e0: .space 0x4 .global data_ov25_0217a9e4 data_ov25_0217a9e4: .space 0x4 .global data_ov25_0217a9e8 data_ov25_0217a9e8: .space 0x4 .global data_ov25_0217a9ec data_ov25_0217a9ec: .space 0x4 .global data_ov25_0217a9f0 data_ov25_0217a9f0: .space 0x4 .global data_ov25_0217a9f4 data_ov25_0217a9f4: .space 0x4 .global data_ov25_0217a9f8 data_ov25_0217a9f8: .space 0x4 .global data_ov25_0217a9fc data_ov25_0217a9fc: .space 0x4 .global data_ov25_0217aa00 data_ov25_0217aa00: .space 0x4 .global data_ov25_0217aa04 data_ov25_0217aa04: .space 0x4 .global data_ov25_0217aa08 data_ov25_0217aa08: .space 0x4 .global data_ov25_0217aa0c data_ov25_0217aa0c: .space 0x4 .global data_ov25_0217aa10 data_ov25_0217aa10: .space 0x4 .global data_ov25_0217aa14 data_ov25_0217aa14: .space 0x4 .global data_ov25_0217aa18 data_ov25_0217aa18: .space 0x4 .global data_ov25_0217aa1c data_ov25_0217aa1c: .space 0x4